// Copyright 2016 The Closure Library Authors. All Rights Reserved.
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
//      http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS-IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.

// NOTE: This is a generated file.  Do not edit.

// clang-format off

/** @fileoverview @nocompile */
var $jscomp={};$jscomp.scope={};$jscomp.defineProperty=typeof Object.defineProperties=="function"?Object.defineProperty:function(target,property,descriptor){descriptor=(descriptor);if(descriptor.get||descriptor.set)throw new TypeError("ES3 does not support getters and setters.");if(target==Array.prototype||target==Object.prototype)return;target[property]=descriptor.value};
$jscomp.getGlobal=function(maybeGlobal){return typeof window!="undefined"&&window===maybeGlobal?maybeGlobal:typeof global!="undefined"&&global!=null?global:maybeGlobal};$jscomp.global=$jscomp.getGlobal(this);
$jscomp.polyfill=function(target,polyfill,fromLang,toLang){if(!polyfill)return;var obj=$jscomp.global;var split=target.split(".");for(var i=0;i<split.length-1;i++){var key=split[i];if(!(key in obj))obj[key]={};obj=obj[key]}var property=split[split.length-1];var orig=obj[property];var impl=polyfill(orig);if(impl==orig||impl==null)return;$jscomp.defineProperty(obj,property,{configurable:true,writable:true,value:impl})};
$jscomp.polyfill("Array.prototype.copyWithin",function(orig){if(orig)return orig;var polyfill=function(target,start,opt_end){var len=this.length;target=Number(target);start=Number(start);opt_end=Number(opt_end!=null?opt_end:len);if(target<start){opt_end=Math.min(opt_end,len);while(start<opt_end)if(start in this)this[target++]=this[start++];else{delete this[target++];start++}}else{opt_end=Math.min(opt_end,len+start-target);target+=opt_end-start;while(opt_end>start)if(--opt_end in this)this[--target]=
this[opt_end];else delete this[target]}return this};return polyfill},"es6-impl","es3");$jscomp.SYMBOL_PREFIX="jscomp_symbol_";$jscomp.initSymbol=function(){$jscomp.initSymbol=function(){};if(!$jscomp.global.Symbol)$jscomp.global.Symbol=$jscomp.Symbol};$jscomp.symbolCounter_=0;$jscomp.Symbol=function(opt_description){return($jscomp.SYMBOL_PREFIX+(opt_description||"")+$jscomp.symbolCounter_++)};
$jscomp.initSymbolIterator=function(){$jscomp.initSymbol();var symbolIterator=$jscomp.global.Symbol.iterator;if(!symbolIterator)symbolIterator=$jscomp.global.Symbol.iterator=$jscomp.global.Symbol("iterator");if(typeof Array.prototype[symbolIterator]!="function")$jscomp.defineProperty(Array.prototype,symbolIterator,{configurable:true,writable:true,value:function(){return $jscomp.arrayIterator(this)}});$jscomp.initSymbolIterator=function(){}};
$jscomp.arrayIterator=function(array){var index=0;return $jscomp.iteratorPrototype(function(){if(index<array.length)return{done:false,value:array[index++]};else return{done:true}})};$jscomp.iteratorPrototype=function(next){$jscomp.initSymbolIterator();var iterator={next:next};iterator[$jscomp.global.Symbol.iterator]=function(){return this};return(iterator)};$jscomp.array=$jscomp.array||{};
$jscomp.iteratorFromArray=function(array,transform){$jscomp.initSymbolIterator();if(array instanceof String)array=array+"";var i=0;var iter={next:function(){if(i<array.length){var index=i++;return{value:transform(index,array[index]),done:false}}iter.next=function(){return{done:true,value:void 0}};return iter.next()}};iter[Symbol.iterator]=function(){return iter};return iter};
$jscomp.polyfill("Array.prototype.entries",function(orig){if(orig)return orig;var polyfill=function(){return $jscomp.iteratorFromArray(this,function(i,v){return[i,v]})};return polyfill},"es6-impl","es3");
$jscomp.polyfill("Array.prototype.fill",function(orig){if(orig)return orig;var polyfill=function(value,opt_start,opt_end){var length=this.length||0;if(opt_start<0)opt_start=Math.max(0,length+(opt_start));if(opt_end==null||opt_end>length)opt_end=length;opt_end=Number(opt_end);if(opt_end<0)opt_end=Math.max(0,length+opt_end);for(var i=Number(opt_start||0);i<opt_end;i++)this[i]=value;return this};return polyfill},"es6-impl","es3");
$jscomp.findInternal=function(array,callback,thisArg){if(array instanceof String)array=(String(array));var len=array.length;for(var i=0;i<len;i++){var value=array[i];if(callback.call(thisArg,value,i,array))return{i:i,v:value}}return{i:-1,v:void 0}};$jscomp.polyfill("Array.prototype.find",function(orig){if(orig)return orig;var polyfill=function(callback,opt_thisArg){return $jscomp.findInternal(this,callback,opt_thisArg).v};return polyfill},"es6-impl","es3");
$jscomp.polyfill("Array.prototype.findIndex",function(orig){if(orig)return orig;var polyfill=function(callback,opt_thisArg){return $jscomp.findInternal(this,callback,opt_thisArg).i};return polyfill},"es6-impl","es3");
$jscomp.polyfill("Array.from",function(orig){if(orig)return orig;var polyfill=function(arrayLike,opt_mapFn,opt_thisArg){$jscomp.initSymbolIterator();opt_mapFn=opt_mapFn!=null?opt_mapFn:function(x){return x};var result=[];var iteratorFunction=(arrayLike)[Symbol.iterator];if(typeof iteratorFunction=="function"){arrayLike=iteratorFunction.call(arrayLike);var next;while(!(next=arrayLike.next()).done)result.push(opt_mapFn.call((opt_thisArg),next.value))}else{var len=arrayLike.length;for(var i=0;i<len;i++)result.push(opt_mapFn.call((opt_thisArg),
arrayLike[i]))}return result};return polyfill},"es6-impl","es3");$jscomp.polyfill("Array.prototype.keys",function(orig){if(orig)return orig;var polyfill=function(){return $jscomp.iteratorFromArray(this,function(i){return i})};return polyfill},"es6-impl","es3");$jscomp.polyfill("Array.of",function(orig){if(orig)return orig;var polyfill=function(var_args){return Array.from(arguments)};return polyfill},"es6-impl","es3");
$jscomp.polyfill("Array.prototype.values",function(orig){if(orig)return orig;var polyfill=function(){return $jscomp.iteratorFromArray(this,function(k,v){return v})};return polyfill},"es6","es3");
$jscomp.executeAsyncGenerator=function(generator){function passValueToGenerator(value){return generator.next(value)}function passErrorToGenerator(error){return generator["throw"](error)}return new Promise(function(resolve,reject){function handleGeneratorRecord(genRec){if(genRec.done)resolve(genRec.value);else Promise.resolve(genRec.value).then(passValueToGenerator,passErrorToGenerator).then(handleGeneratorRecord,reject)}handleGeneratorRecord(generator.next())})};
$jscomp.makeIterator=function(iterable){$jscomp.initSymbolIterator();var iteratorFunction=(iterable)[Symbol.iterator];return iteratorFunction?iteratorFunction.call(iterable):$jscomp.arrayIterator((iterable))};$jscomp.owns=function(obj,prop){return Object.prototype.hasOwnProperty.call(obj,prop)};
$jscomp.polyfill("WeakMap",function(NativeWeakMap){function isConformant(){if(!NativeWeakMap||!Object.seal)return false;try{var x=Object.seal({});var y=Object.seal({});var map=new (NativeWeakMap)([[x,2],[y,3]]);if(map.get(x)!=2||map.get(y)!=3)return false;map["delete"](x);map.set(y,4);return!map.has(x)&&map.get(y)==4}catch(err){return false}}if(isConformant())return NativeWeakMap;var prop="$jscomp_hidden_"+Math.random().toString().substring(2);function insert(target){if(!$jscomp.owns(target,prop)){var obj=
{};$jscomp.defineProperty(target,prop,{value:obj})}}function patch(name){var prev=Object[name];if(prev)Object[name]=function(target){insert(target);return prev(target)}}patch("freeze");patch("preventExtensions");patch("seal");var index=0;var PolyfillWeakMap=function(opt_iterable){this.id_=(index+=Math.random()+1).toString();if(opt_iterable){$jscomp.initSymbol();$jscomp.initSymbolIterator();var iter=$jscomp.makeIterator(opt_iterable);var entry;while(!(entry=iter.next()).done){var item=entry.value;
this.set((item[0]),(item[1]))}}};PolyfillWeakMap.prototype.set=function(key,value){insert(key);if(!$jscomp.owns(key,prop))throw new Error("WeakMap key fail: "+key);key[prop][this.id_]=value;return this};PolyfillWeakMap.prototype.get=function(key){return $jscomp.owns(key,prop)?key[prop][this.id_]:undefined};PolyfillWeakMap.prototype.has=function(key){return $jscomp.owns(key,prop)&&$jscomp.owns(key[prop],this.id_)};PolyfillWeakMap.prototype["delete"]=function(key){if(!$jscomp.owns(key,prop)||!$jscomp.owns(key[prop],
this.id_))return false;return delete key[prop][this.id_]};return PolyfillWeakMap},"es6-impl","es3");$jscomp.ASSUME_NO_NATIVE_MAP=false;
$jscomp.polyfill("Map",function(NativeMap){var isConformant=!$jscomp.ASSUME_NO_NATIVE_MAP&&function(){if(!NativeMap||!NativeMap.prototype.entries||typeof Object.seal!="function")return false;try{NativeMap=(NativeMap);var key=Object.seal({x:4});var map=new NativeMap($jscomp.makeIterator([[key,"s"]]));if(map.get(key)!="s"||map.size!=1||map.get({x:4})||map.set({x:4},"t")!=map||map.size!=2)return false;var iter=map.entries();var item=iter.next();if(item.done||item.value[0]!=key||item.value[1]!="s")return false;
item=iter.next();if(item.done||item.value[0].x!=4||item.value[1]!="t"||!iter.next().done)return false;return true}catch(err){return false}}();if(isConformant)return NativeMap;$jscomp.initSymbol();$jscomp.initSymbolIterator();var idMap=new WeakMap;var MapEntry=function(){};MapEntry.prototype.previous;MapEntry.prototype.next;MapEntry.prototype.head;MapEntry.prototype.key;MapEntry.prototype.value;var PolyfillMap=function(opt_iterable){this.data_={};this.head_=createHead();this.size=0;if(opt_iterable){var iter=
$jscomp.makeIterator(opt_iterable);var entry;while(!(entry=iter.next()).done){var item=(entry).value;this.set((item[0]),(item[1]))}}};PolyfillMap.prototype.set=function(key,value){var r=maybeGetEntry(this,key);if(!r.list)r.list=this.data_[r.id]=[];if(!r.entry){r.entry={next:this.head_,previous:this.head_.previous,head:this.head_,key:key,value:value};r.list.push(r.entry);this.head_.previous.next=r.entry;this.head_.previous=r.entry;this.size++}else r.entry.value=value;return this};PolyfillMap.prototype["delete"]=
function(key){var r=maybeGetEntry(this,key);if(r.entry&&r.list){r.list.splice(r.index,1);if(!r.list.length)delete this.data_[r.id];r.entry.previous.next=r.entry.next;r.entry.next.previous=r.entry.previous;r.entry.head=null;this.size--;return true}return false};PolyfillMap.prototype.clear=function(){this.data_={};this.head_=this.head_.previous=createHead();this.size=0};PolyfillMap.prototype.has=function(key){return!!maybeGetEntry(this,key).entry};PolyfillMap.prototype.get=function(key){var entry=maybeGetEntry(this,
key).entry;return(entry&&(entry.value))};PolyfillMap.prototype.entries=function(){return makeIterator(this,function(entry){return[entry.key,entry.value]})};PolyfillMap.prototype.keys=function(){return makeIterator(this,function(entry){return entry.key})};PolyfillMap.prototype.values=function(){return makeIterator(this,function(entry){return entry.value})};PolyfillMap.prototype.forEach=function(callback,opt_thisArg){var iter=this.entries();var item;while(!(item=iter.next()).done){var entry=item.value;
callback.call((opt_thisArg),(entry[1]),(entry[0]),this)}};(PolyfillMap.prototype)[Symbol.iterator]=PolyfillMap.prototype.entries;var maybeGetEntry=function(map,key){var id=getId(key);var list=map.data_[id];if(list&&$jscomp.owns(map.data_,id))for(var index=0;index<list.length;index++){var entry=list[index];if(key!==key&&entry.key!==entry.key||key===entry.key)return{id:id,list:list,index:index,entry:entry}}return{id:id,list:list,index:-1,entry:undefined}};var makeIterator=function(map,func){var entry=
map.head_;return $jscomp.iteratorPrototype(function(){if(entry){while(entry.head!=map.head_)entry=entry.previous;while(entry.next!=entry.head){entry=entry.next;return{done:false,value:func(entry)}}entry=null}return{done:true,value:void 0}})};var createHead=function(){var head={};head.previous=head.next=head.head=head;return head};var mapIndex=0;var getId=function(obj){var type=obj&&typeof obj;if(type=="object"||type=="function"){obj=(obj);if(!idMap.has(obj)){var id=""+ ++mapIndex;idMap.set(obj,id);
return id}return idMap.get(obj)}return"p_"+obj};return PolyfillMap},"es6-impl","es3");$jscomp.polyfill("Math.acosh",function(orig){if(orig)return orig;var polyfill=function(x){x=Number(x);return Math.log(x+Math.sqrt(x*x-1))};return polyfill},"es6-impl","es3");$jscomp.polyfill("Math.asinh",function(orig){if(orig)return orig;var polyfill=function(x){x=Number(x);if(x===0)return x;var y=Math.log(Math.abs(x)+Math.sqrt(x*x+1));return x<0?-y:y};return polyfill},"es6-impl","es3");
$jscomp.polyfill("Math.log1p",function(orig){if(orig)return orig;var polyfill=function(x){x=Number(x);if(x<.25&&x>-.25){var y=x;var d=1;var z=x;var zPrev=0;var s=1;while(zPrev!=z){y*=x;s*=-1;z=(zPrev=z)+s*y/++d}return z}return Math.log(1+x)};return polyfill},"es6-impl","es3");$jscomp.polyfill("Math.atanh",function(orig){if(orig)return orig;var log1p=Math.log1p;var polyfill=function(x){x=Number(x);return(log1p(x)-log1p(-x))/2};return polyfill},"es6-impl","es3");
$jscomp.polyfill("Math.cbrt",function(orig){if(orig)return orig;var polyfill=function(x){if(x===0)return x;x=Number(x);var y=Math.pow(Math.abs(x),1/3);return x<0?-y:y};return polyfill},"es6-impl","es3");
$jscomp.polyfill("Math.clz32",function(orig){if(orig)return orig;var polyfill=function(x){x=Number(x)>>>0;if(x===0)return 32;var result=0;if((x&4294901760)===0){x<<=16;result+=16}if((x&4278190080)===0){x<<=8;result+=8}if((x&4026531840)===0){x<<=4;result+=4}if((x&3221225472)===0){x<<=2;result+=2}if((x&2147483648)===0)result++;return result};return polyfill},"es6-impl","es3");
$jscomp.polyfill("Math.cosh",function(orig){if(orig)return orig;var exp=Math.exp;var polyfill=function(x){x=Number(x);return(exp(x)+exp(-x))/2};return polyfill},"es6-impl","es3");$jscomp.polyfill("Math.expm1",function(orig){if(orig)return orig;var polyfill=function(x){x=Number(x);if(x<.25&&x>-.25){var y=x;var d=1;var z=x;var zPrev=0;while(zPrev!=z){y*=x/++d;z=(zPrev=z)+y}return z}return Math.exp(x)-1};return polyfill},"es6-impl","es3");
$jscomp.polyfill("Math.hypot",function(orig){if(orig)return orig;var polyfill=function(x,y,var_args){x=Number(x);y=Number(y);var i,z,sum;var max=Math.max(Math.abs(x),Math.abs(y));for(i=2;i<arguments.length;i++)max=Math.max(max,Math.abs(arguments[i]));if(max>1E100||max<1E-100){x=x/max;y=y/max;sum=x*x+y*y;for(i=2;i<arguments.length;i++){z=Number(arguments[i])/max;sum+=z*z}return Math.sqrt(sum)*max}else{sum=x*x+y*y;for(i=2;i<arguments.length;i++){z=Number(arguments[i]);sum+=z*z}return Math.sqrt(sum)}};
return polyfill},"es6-impl","es3");$jscomp.polyfill("Math.imul",function(orig){if(orig)return orig;var polyfill=function(a,b){a=Number(a);b=Number(b);var ah=a>>>16&65535;var al=a&65535;var bh=b>>>16&65535;var bl=b&65535;var lh=ah*bl+al*bh<<16>>>0;return al*bl+lh|0};return polyfill},"es6-impl","es3");$jscomp.polyfill("Math.log10",function(orig){if(orig)return orig;var polyfill=function(x){return Math.log(x)/Math.LN10};return polyfill},"es6-impl","es3");
$jscomp.polyfill("Math.log2",function(orig){if(orig)return orig;var polyfill=function(x){return Math.log(x)/Math.LN2};return polyfill},"es6-impl","es3");$jscomp.polyfill("Math.sign",function(orig){if(orig)return orig;var polyfill=function(x){x=Number(x);return x===0||isNaN(x)?x:x>0?1:-1};return polyfill},"es6-impl","es3");
$jscomp.polyfill("Math.sinh",function(orig){if(orig)return orig;var exp=Math.exp;var polyfill=function(x){x=Number(x);if(x===0)return x;return(exp(x)-exp(-x))/2};return polyfill},"es6-impl","es3");$jscomp.polyfill("Math.tanh",function(orig){if(orig)return orig;var polyfill=function(x){x=Number(x);if(x===0)return x;var y=Math.exp(-2*Math.abs(x));var z=(1-y)/(1+y);return x<0?-z:z};return polyfill},"es6-impl","es3");
$jscomp.polyfill("Math.trunc",function(orig){if(orig)return orig;var polyfill=function(x){x=Number(x);if(isNaN(x)||x===Infinity||x===-Infinity||x===0)return x;var y=Math.floor(Math.abs(x));return x<0?-y:y};return polyfill},"es6-impl","es3");$jscomp.polyfill("Number.EPSILON",function(orig){return Math.pow(2,-52)},"es6-impl","es3");$jscomp.polyfill("Number.MAX_SAFE_INTEGER",function(){return 9007199254740991},"es6-impl","es3");
$jscomp.polyfill("Number.MIN_SAFE_INTEGER",function(){return-9007199254740991},"es6-impl","es3");$jscomp.polyfill("Number.isFinite",function(orig){if(orig)return orig;var polyfill=function(x){if(typeof x!=="number")return false;return!isNaN(x)&&x!==Infinity&&x!==-Infinity};return polyfill},"es6-impl","es3");$jscomp.polyfill("Number.isInteger",function(orig){if(orig)return orig;var polyfill=function(x){if(!Number.isFinite(x))return false;return x===Math.floor(x)};return polyfill},"es6-impl","es3");
$jscomp.polyfill("Number.isNaN",function(orig){if(orig)return orig;var polyfill=function(x){return typeof x==="number"&&isNaN(x)};return polyfill},"es6-impl","es3");$jscomp.polyfill("Number.isSafeInteger",function(orig){if(orig)return orig;var polyfill=function(x){return Number.isInteger(x)&&Math.abs(x)<=Number.MAX_SAFE_INTEGER};return polyfill},"es6-impl","es3");
$jscomp.polyfill("Object.assign",function(orig){if(orig)return orig;var polyfill=function(target,var_args){for(var i=1;i<arguments.length;i++){var source=arguments[i];if(!source)continue;for(var key in source)if($jscomp.owns(source,key))target[key]=source[key]}return target};return polyfill},"es6-impl","es3");$jscomp.polyfill("Object.getOwnPropertySymbols",function(orig){if(orig)return orig;return function(){return[]}},"es6-impl","es5");
$jscomp.polyfill("Object.is",function(orig){if(orig)return orig;var polyfill=function(left,right){if(left===right)return left!==0||1/left===1/(right);else return left!==left&&right!==right};return polyfill},"es6-impl","es3");
$jscomp.polyfill("Object.setPrototypeOf",function(orig){if(orig)return orig;if(typeof"".__proto__!="object")return null;var polyfill=function(target,proto){target.__proto__=proto;if(target.__proto__!==proto)throw new TypeError(target+" is not extensible");return target};return polyfill},"es6","es5");$jscomp.EXPOSE_ASYNC_EXECUTOR=true;$jscomp.FORCE_POLYFILL_PROMISE=false;
$jscomp.polyfill("Promise",function(NativePromise){if(NativePromise&&!$jscomp.FORCE_POLYFILL_PROMISE)return NativePromise;function AsyncExecutor(){this.batch_=null}AsyncExecutor.prototype.asyncExecute=function(f){if(this.batch_==null){this.batch_=[];this.asyncExecuteBatch_()}this.batch_.push(f);return this};AsyncExecutor.prototype.asyncExecuteBatch_=function(){var self=this;this.asyncExecuteFunction(function(){self.executeBatch_()})};var nativeSetTimeout=$jscomp.global["setTimeout"];AsyncExecutor.prototype.asyncExecuteFunction=
function(f){nativeSetTimeout(f,0)};AsyncExecutor.prototype.executeBatch_=function(){while(this.batch_&&this.batch_.length){var executingBatch=this.batch_;this.batch_=[];for(var i=0;i<executingBatch.length;++i){var f=executingBatch[i];delete executingBatch[i];try{f()}catch(error){this.asyncThrow_(error)}}}this.batch_=null};AsyncExecutor.prototype.asyncThrow_=function(exception){this.asyncExecuteFunction(function(){throw exception;})};var PromiseState={PENDING:0,FULFILLED:1,REJECTED:2};var PolyfillPromise=
function(executor){this.state_=PromiseState.PENDING;this.result_=undefined;this.onSettledCallbacks_=[];var resolveAndReject=this.createResolveAndReject_();try{executor(resolveAndReject.resolve,resolveAndReject.reject)}catch(e){resolveAndReject.reject(e)}};PolyfillPromise.prototype.createResolveAndReject_=function(){var thisPromise=this;var alreadyCalled=false;function firstCallWins(method){return function(x){if(!alreadyCalled){alreadyCalled=true;method.call(thisPromise,x)}}}return{resolve:firstCallWins(this.resolveTo_),
reject:firstCallWins(this.reject_)}};PolyfillPromise.prototype.resolveTo_=function(value){if(value===this)this.reject_(new TypeError("A Promise cannot resolve to itself"));else if(value instanceof PolyfillPromise)this.settleSameAsPromise_((value));else if(isObject(value))this.resolveToNonPromiseObj_((value));else this.fulfill_(value)};PolyfillPromise.prototype.resolveToNonPromiseObj_=function(obj){var thenMethod=undefined;try{thenMethod=obj.then}catch(error){this.reject_(error);return}if(typeof thenMethod==
"function")this.settleSameAsThenable_(thenMethod,(obj));else this.fulfill_(obj)};function isObject(value){switch(typeof value){case "object":return value!=null;case "function":return true;default:return false}}PolyfillPromise.prototype.reject_=function(reason){this.settle_(PromiseState.REJECTED,reason)};PolyfillPromise.prototype.fulfill_=function(value){this.settle_(PromiseState.FULFILLED,value)};PolyfillPromise.prototype.settle_=function(settledState,valueOrReason){if(this.state_!=PromiseState.PENDING)throw new Error("Cannot settle("+
settledState+", "+valueOrReason|"): Promise already settled in state"+this.state_);this.state_=settledState;this.result_=valueOrReason;this.executeOnSettledCallbacks_()};PolyfillPromise.prototype.executeOnSettledCallbacks_=function(){if(this.onSettledCallbacks_!=null){var callbacks=this.onSettledCallbacks_;for(var i=0;i<callbacks.length;++i){(callbacks[i]).call();callbacks[i]=null}this.onSettledCallbacks_=null}};var asyncExecutor=new AsyncExecutor;PolyfillPromise.prototype.settleSameAsPromise_=function(promise){var methods=
this.createResolveAndReject_();promise.callWhenSettled_(methods.resolve,methods.reject)};PolyfillPromise.prototype.settleSameAsThenable_=function(thenMethod,thenable){var methods=this.createResolveAndReject_();try{thenMethod.call(thenable,methods.resolve,methods.reject)}catch(error){methods.reject(error)}};PolyfillPromise.prototype.then=function(onFulfilled,onRejected){var resolveChild;var rejectChild;var childPromise=new PolyfillPromise(function(resolve,reject){resolveChild=resolve;rejectChild=reject});
function createCallback(paramF,defaultF){if(typeof paramF=="function")return function(x){try{resolveChild(paramF(x))}catch(error){rejectChild(error)}};else return defaultF}this.callWhenSettled_(createCallback(onFulfilled,resolveChild),createCallback(onRejected,rejectChild));return childPromise};PolyfillPromise.prototype["catch"]=function(onRejected){return this.then(undefined,onRejected)};PolyfillPromise.prototype.callWhenSettled_=function(onFulfilled,onRejected){var thisPromise=this;function callback(){switch(thisPromise.state_){case PromiseState.FULFILLED:onFulfilled(thisPromise.result_);
break;case PromiseState.REJECTED:onRejected(thisPromise.result_);break;default:throw new Error("Unexpected state: "+thisPromise.state_);}}if(this.onSettledCallbacks_==null)asyncExecutor.asyncExecute(callback);else this.onSettledCallbacks_.push(function(){asyncExecutor.asyncExecute(callback)})};PolyfillPromise.resolve=function(opt_value){if(opt_value instanceof PolyfillPromise)return opt_value;else return new PolyfillPromise(function(resolve,reject){resolve(opt_value)})};PolyfillPromise.reject=function(opt_reason){return new PolyfillPromise(function(resolve,
reject){reject(opt_reason)})};PolyfillPromise.race=function(thenablesOrValues){return new PolyfillPromise(function(resolve,reject){var iterator=$jscomp.makeIterator(thenablesOrValues);for(var iterRec=iterator.next();!iterRec.done;iterRec=iterator.next())PolyfillPromise.resolve(iterRec.value).callWhenSettled_(resolve,reject)})};PolyfillPromise.all=function(thenablesOrValues){var iterator=$jscomp.makeIterator(thenablesOrValues);var iterRec=iterator.next();if(iterRec.done)return PolyfillPromise.resolve([]);
else return new PolyfillPromise(function(resolveAll,rejectAll){var resultsArray=[];var unresolvedCount=0;function onFulfilled(i){return function(ithResult){resultsArray[i]=ithResult;unresolvedCount--;if(unresolvedCount==0)resolveAll(resultsArray)}}do{resultsArray.push(undefined);unresolvedCount++;PolyfillPromise.resolve(iterRec.value).callWhenSettled_(onFulfilled(resultsArray.length-1),rejectAll);iterRec=iterator.next()}while(!iterRec.done)})};if($jscomp.EXPOSE_ASYNC_EXECUTOR)PolyfillPromise["$jscomp$new$AsyncExecutor"]=
function(){return new AsyncExecutor};return PolyfillPromise},"es6-impl","es3");$jscomp.polyfill("Reflect.apply",function(orig){if(orig)return orig;var apply=Function.prototype.apply;var polyfill=function(target,thisArg,argList){return apply.call(target,thisArg,argList)};return polyfill},"es6","es3");
$jscomp.polyfill("Reflect.construct",function(orig){if(orig)return orig;var polyfill=function(target,argList,opt_newTarget){if(opt_newTarget===undefined)opt_newTarget=target;var proto=opt_newTarget.prototype||Object.prototype;var obj=Object.create(proto);var out=Reflect.apply(target,obj,argList);return out||obj};return polyfill},"es6","es5");
$jscomp.polyfill("Reflect.defineProperty",function(orig){if(orig)return orig;var polyfill=function(target,propertyKey,attributes){try{Object.defineProperty(target,propertyKey,attributes);var desc=Object.getOwnPropertyDescriptor(target,propertyKey);if(!desc)return false;return desc.configurable===(attributes.configurable||false)&&desc.enumerable===(attributes.enumerable||false)&&("value"in desc?desc.value===attributes.value&&desc.writable===(attributes.writable||false):desc.get===attributes.get&&desc.set===
attributes.set)}catch(err){return false}};return polyfill},"es6","es5");$jscomp.polyfill("Reflect.deleteProperty",function(orig){if(orig)return orig;var polyfill=function(target,propertyKey){if(!$jscomp.owns(target,propertyKey))return true;try{return delete target[propertyKey]}catch(err){return false}};return polyfill},"es6","es3");$jscomp.polyfill("Reflect.getOwnPropertyDescriptor",function(orig){return orig||Object.getOwnPropertyDescriptor},"es6","es5");
$jscomp.polyfill("Reflect.getPrototypeOf",function(orig){return orig||Object.getPrototypeOf},"es6","es5");$jscomp.findDescriptor=function(target,propertyKey){var obj=target;while(obj){var property=Reflect.getOwnPropertyDescriptor(obj,propertyKey);if(property)return property;obj=Reflect.getPrototypeOf(obj)}return undefined};
$jscomp.polyfill("Reflect.get",function(orig){if(orig)return orig;var polyfill=function(target,propertyKey,opt_receiver){if(arguments.length<=2)return target[propertyKey];var property=$jscomp.findDescriptor(target,propertyKey);if(property)return property.get?property.get.call(opt_receiver):property.value;return undefined};return polyfill},"es6","es5");
$jscomp.polyfill("Reflect.has",function(orig){if(orig)return orig;var polyfill=function(target,propertyKey){return propertyKey in target};return polyfill},"es6","es3");$jscomp.polyfill("Reflect.isExtensible",function(orig){if(orig)return orig;if(typeof Object.isExtensible=="function")return Object.isExtensible;return function(){return true}},"es6","es3");
$jscomp.polyfill("Reflect.ownKeys",function(orig){if(orig)return orig;var symbolPrefix="jscomp_symbol_";function isSymbol(key){return key.substring(0,symbolPrefix.length)==symbolPrefix}var polyfill=function(target){var keys=[];var names=Object.getOwnPropertyNames(target);var symbols=Object.getOwnPropertySymbols(target);for(var i=0;i<names.length;i++)(isSymbol(names[i])?symbols:keys).push(names[i]);return keys.concat(symbols)};return polyfill},"es6","es5");
$jscomp.polyfill("Reflect.preventExtensions",function(orig){if(orig)return orig;if(typeof Object.preventExtensions!="function")return function(){return false};var polyfill=function(target){Object.preventExtensions(target);return!Object.isExtensible(target)};return polyfill},"es6","es3");
$jscomp.polyfill("Reflect.set",function(orig){if(orig)return orig;var polyfill=function(target,propertyKey,value,opt_receiver){var property=$jscomp.findDescriptor(target,propertyKey);if(!property){if(Reflect.isExtensible(target)){target[propertyKey]=value;return true}return false}if(property.set){property.set.call(arguments.length>3?opt_receiver:target,value);return true}else if(property.writable&&!Object.isFrozen(target)){target[propertyKey]=value;return true}return false};return polyfill},"es6",
"es5");$jscomp.polyfill("Reflect.setPrototypeOf",function(orig){if(orig)return orig;if(typeof"".__proto__!="object")return null;var polyfill=function(target,proto){try{target.__proto__=proto;return target.__proto__===proto}catch(err){return false}};return polyfill},"es6","es5");$jscomp.ASSUME_NO_NATIVE_SET=false;
$jscomp.polyfill("Set",function(NativeSet){var isConformant=!$jscomp.ASSUME_NO_NATIVE_SET&&function(){if(!NativeSet||!NativeSet.prototype.entries||typeof Object.seal!="function")return false;try{NativeSet=(NativeSet);var value=Object.seal({x:4});var set=new NativeSet($jscomp.makeIterator([value]));if(!set.has(value)||set.size!=1||set.add(value)!=set||set.size!=1||set.add({x:4})!=set||set.size!=2)return false;var iter=set.entries();var item=iter.next();if(item.done||item.value[0]!=value||item.value[1]!=
value)return false;item=iter.next();if(item.done||item.value[0]==value||item.value[0].x!=4||item.value[1]!=item.value[0])return false;return iter.next().done}catch(err){return false}}();if(isConformant)return NativeSet;$jscomp.initSymbol();$jscomp.initSymbolIterator();var PolyfillSet=function(opt_iterable){this.map_=new Map;if(opt_iterable){var iter=$jscomp.makeIterator(opt_iterable);var entry;while(!(entry=iter.next()).done){var item=(entry).value;this.add(item)}}this.size=this.map_.size};PolyfillSet.prototype.add=
function(value){this.map_.set(value,value);this.size=this.map_.size;return this};PolyfillSet.prototype["delete"]=function(value){var result=this.map_["delete"](value);this.size=this.map_.size;return result};PolyfillSet.prototype.clear=function(){this.map_.clear();this.size=0};PolyfillSet.prototype.has=function(value){return this.map_.has(value)};PolyfillSet.prototype.entries=function(){return this.map_.entries()};PolyfillSet.prototype.values=function(){return this.map_.values()};PolyfillSet.prototype.keys=
PolyfillSet.prototype.values;(PolyfillSet.prototype)[Symbol.iterator]=PolyfillSet.prototype.values;PolyfillSet.prototype.forEach=function(callback,opt_thisArg){var set=this;this.map_.forEach(function(value){return callback.call((opt_thisArg),value,value,set)})};return PolyfillSet},"es6-impl","es3");
$jscomp.checkStringArgs=function(thisArg,arg,func){if(thisArg==null)throw new TypeError("The 'this' value for String.prototype."+func+" must not be null or undefined");if(arg instanceof RegExp)throw new TypeError("First argument to String.prototype."+func+" must not be a regular expression");return thisArg+""};
$jscomp.polyfill("String.prototype.codePointAt",function(orig){if(orig)return orig;var polyfill=function(position){var string=$jscomp.checkStringArgs(this,null,"codePointAt");var size=string.length;position=Number(position)||0;if(!(position>=0&&position<size))return void 0;position=position|0;var first=string.charCodeAt(position);if(first<55296||first>56319||position+1===size)return first;var second=string.charCodeAt(position+1);if(second<56320||second>57343)return first;return(first-55296)*1024+
second+9216};return polyfill},"es6-impl","es3");
$jscomp.polyfill("String.prototype.endsWith",function(orig){if(orig)return orig;var polyfill=function(searchString,opt_position){var string=$jscomp.checkStringArgs(this,searchString,"endsWith");searchString=searchString+"";if(opt_position===void 0)opt_position=string.length;var i=Math.max(0,Math.min(opt_position|0,string.length));var j=searchString.length;while(j>0&&i>0)if(string[--i]!=searchString[--j])return false;return j<=0};return polyfill},"es6-impl","es3");
$jscomp.polyfill("String.fromCodePoint",function(orig){if(orig)return orig;var polyfill=function(var_args){var result="";for(var i=0;i<arguments.length;i++){var code=Number(arguments[i]);if(code<0||code>1114111||code!==Math.floor(code))throw new RangeError("invalid_code_point "+code);if(code<=65535)result+=String.fromCharCode(code);else{code-=65536;result+=String.fromCharCode(code>>>10&1023|55296);result+=String.fromCharCode(code&1023|56320)}}return result};return polyfill},"es6-impl","es3");
$jscomp.polyfill("String.prototype.includes",function(orig){if(orig)return orig;var polyfill=function(searchString,opt_position){var string=$jscomp.checkStringArgs(this,searchString,"includes");return string.indexOf(searchString,opt_position||0)!==-1};return polyfill},"es6-impl","es3");
$jscomp.polyfill("String.prototype.repeat",function(orig){if(orig)return orig;var polyfill=function(copies){var string=$jscomp.checkStringArgs(this,null,"repeat");if(copies<0||copies>1342177279)throw new RangeError("Invalid count value");copies=copies|0;var result="";while(copies){if(copies&1)result+=string;if(copies>>>=1)string+=string}return result};return polyfill},"es6-impl","es3");
$jscomp.polyfill("String.prototype.startsWith",function(orig){if(orig)return orig;var polyfill=function(searchString,opt_position){var string=$jscomp.checkStringArgs(this,searchString,"startsWith");searchString=searchString+"";var strLen=string.length;var searchLen=searchString.length;var i=Math.max(0,Math.min((opt_position)|0,string.length));var j=0;while(j<searchLen&&i<strLen)if(string[i++]!=searchString[j++])return false;return j>=searchLen};return polyfill},"es6-impl","es3");
$jscomp.arrayFromIterator=function(iterator){var i;var arr=[];while(!(i=iterator.next()).done)arr.push(i.value);return arr};$jscomp.arrayFromIterable=function(iterable){if(iterable instanceof Array)return iterable;else return $jscomp.arrayFromIterator($jscomp.makeIterator(iterable))};
$jscomp.inherits=function(childCtor,parentCtor){function tempCtor(){}tempCtor.prototype=parentCtor.prototype;childCtor.prototype=new tempCtor;childCtor.prototype.constructor=childCtor;for(var p in parentCtor)if(Object.defineProperties){var descriptor=Object.getOwnPropertyDescriptor(parentCtor,p);if(descriptor)Object.defineProperty(childCtor,p,descriptor)}else childCtor[p]=parentCtor[p]};
$jscomp.polyfill("WeakSet",function(NativeWeakSet){function isConformant(){if(!NativeWeakSet||!Object.seal)return false;try{var x=Object.seal({});var y=Object.seal({});var set=new (NativeWeakSet)([x]);if(!set.has(x)||set.has(y))return false;set["delete"](x);set.add(y);return!set.has(x)&&set.has(y)}catch(err){return false}}if(isConformant())return NativeWeakSet;var PolyfillWeakSet=function(opt_iterable){this.map_=new WeakMap;if(opt_iterable){$jscomp.initSymbol();$jscomp.initSymbolIterator();var iter=
$jscomp.makeIterator(opt_iterable);var entry;while(!(entry=iter.next()).done){var item=entry.value;this.add(item)}}};PolyfillWeakSet.prototype.add=function(elem){this.map_.set(elem,true);return this};PolyfillWeakSet.prototype.has=function(elem){return this.map_.has(elem)};PolyfillWeakSet.prototype["delete"]=function(elem){return this.map_["delete"](elem)};return PolyfillWeakSet},"es6-impl","es3");
(function(global,jscomp){if(global["$jscomp"])for(var key in global["$jscomp"])jscomp[key]=global["$jscomp"][key];global["$jscomp"]=jscomp})(window,$jscomp);(function(){var $wnd={"Error":{}};var $doc={},$moduleName,$moduleBase;function uV(){}function qV(){}function lb(){}function vb(){}function sc(){}function yc(){}function Vd(){}function dg(){}function rs(){}function zs(){}function zB(){}function rB(){}function KB(){}function _B(){}function _w(){}function EA(){}function CC(){}function MC(){}function TC(){}function tX(){}function c_(){}function N_(){}function G1(){}function H3(){}function H9(){}function P9(){}function Y5(){}function W6(){}function i7(){}
function ikb(){}function fkb(){}function Ckb(){}function cab(){}function $db(){}function ofb(){}function sfb(){}function elb(){}function plb(){}function Hlb(){}function Llb(){}function Lnb(){}function Anb(){}function umb(){}function Umb(){}function hob(){}function Mqb(){}function kub(){}function oub(){}function tub(){}function mKb(){}function m0b(){}function e0b(){}function j0b(){}function s0b(){}function vYb(){}function JYb(){}function xZb(){}function V_b(){}function $_b(){}function Ebc(){}function Ppc(){}
function Ypc(){}function eqc(){}function Asc(){}function Zvc(){}function bwc(){}function dwc(){}function bxc(){}function jyc(){}function myc(){}function pyc(){}function syc(){}function Pyc(){}function Vyc(){}function jzc(){}function yfb(a){}function Qnb(a){}function k9b(a){}function f1(a,b){a.i=b}function g1(a,b){a.F=b}function Gp(){this.a=0}function hw(){this.a=8}function jw(){this.a=8}function nc(a){this.a=a}function Fe(a){this.a=a}function tf(a){this.a=a}function Kf(a){this.a=a}function _h(a){this.a=
a}function zk(a){this.a=a}function Dk(a){this.a=a}function Vk(a){this.a=a}function rl(a){this.a=a}function to(a){this.a=a}function jq(a){this.a=a}function Rq(a){this.a=a}function Ds(a){this.a=a}function ws(a){this.b=a}function jv(a){this.b=a}function Uv(a){this.a=a}function hu(a){this.a=a}function hz(a){this.a=a}function fz(a){this.a=a}function Ew(a){this.a=a}function Iw(a){this.a=a}function Iy(a){this.a=a}function My(a){this.a=a}function Zy(a){this.a=a}function dx(a){this.a=a}function mB(a){this.a=
a}function yB(a){this.c=a}function y_(a){this.a=a}function kX(a){this.a=a}function k6(a){this.a=a}function N$(a){this.a=a}function Q1(a){this.a=a}function S1(a){this.a=a}function V1(a){this.a=a}function r4(a){this.a=a}function r6(a){this.a=a}function E6(a){this.a=a}function G6(a){this.a=a}function U5(a){this.a=a}function l7(a){this.a=a}function r7(a){this.a=a}function B7(a){this.a=a}function n8(a){this.a=a}function Ry(a){this.b=a}function p6(a){this.b=a}function LA(a){this.e=a}function LV(a){this.e=
a}function tEb(){this.a=1}function tAb(a,b){a.V=b}function nAb(a,b){a.I=b}function pAb(a,b){a.N=b}function qAb(a,b){a.P=b}function rpb(a,b){a.d=b}function oJb(a,b){a.d=b}function nJb(a,b){a.c=b}function h0b(a,b){a.c=b}function g0b(a,b){a.b=b}function i0b(a,b){a.d=b}function uZb(a,b){a.n=b}function vZb(a,b){a.p=b}function N_b(a,b){a.f=b}function R_b(a,b){a.g=b}function T_b(a,b){a.j=b}function f3b(a,b){a.j=b}function b3b(a,b){a.g=b}function c3b(a,b){a.i=b}function g3b(a,b){a.k=b}function Z2b(a,b){a.k=
b}function $2b(a,b){a.c=b}function Hec(a,b){a.a=b}function Iyc(a,b){a.b=b}function cj(a){a.c=a.d.d}function Ncb(a){this.a=a}function fbb(a){this.a=a}function reb(a){this.a=a}function Eeb(a){this.a=a}function Ohb(a){this.a=a}function lkb(a){this.a=a}function qkb(a){this.a=a}function wkb(a){this.a=a}function zkb(a){this.a=a}function zAb(a){this.a=a}function _Ab(a){this.a=a}function Smb(a){this.a=a}function Hqb(a){this.a=a}function vtb(a){this.a=a}function UBb(a){this.a=a}function qDb(a){this.a=a}function aEb(a){this.a=
a}function pIb(a){this.a=a}function w$b(a){this.a=a}function O3b(a){this.a=a}function R3b(a){this.a=a}function fRb(a){this.d=a}function yVb(a){this.j=a}function W_b(a){this.c=a}function Wec(a){this.b=a}function Hbc(a){this.b=a}function hbc(a){this.d=a}function Jhc(a){this.a=a}function Jlc(a){this.a=a}function klc(a){this.a=a}function aic(a){this.a=a}function Yic(a){this.a=a}function njc(a){this.a=a}function nmc(a){this.a=a}function tmc(a){this.a=a}function xmc(a){this.a=a}function Cmc(a){this.a=a}
function Zmc(a){this.a=a}function mnc(a){this.a=a}function snc(a){this.a=a}function hnc(a){this.b=a}function Ylc(a){this.d=a}function Poc(a){this.c=a}function lqc(a){this.a=a}function vqc(a){this.a=a}function Iqc(a){this.b=a}function Yqc(a){this.b=a}function Crc(a){this.d=a}function fsc(a){this.a=a}function jsc(a){this.a=a}function itc(a){this.a=a}function _tc(a){this.a=a}function nvc(a){this.a=a}function mwc(a){this.a=a}function Jxc(a){this.a=a}function pzc(a){this.a=a}function Xd(a){return!a}function c$(a){a.d=
new Qtc}function b8(a){a.g=new soc}function Xb(a){this.a=he(a)}function Ae(a){this.a=he(a)}function Ke(a){this.a=he(a)}function Vc(a){this.c=he(a)}function ii(a){this.b=he(a)}function Is(a){this.b=he(a)}function jl(a){this.a=he(a)}function Uu(a){this.a=he(a)}function Zu(a){this.a=he(a)}function Xv(a){this.a=he(a)}function vw(a){this.a=he(a)}function by(a){this.a=he(a)}function vV(){xV();Vub()}function Uqb(){Sqb(this)}function Vqb(){Sqb(this)}function ylc(){wlc(this)}function Pnc(){wnc(this)}function soc(){foc(this)}
function aC(){Uz.call(this)}function lA(){lA=qV;kA=mA()}function IZ(a,b){b&&a.rg()}function e$(a,b){DZ(a.c,b)}function k0(a,b){hoc(a.a,b)}function b1(a,b){ooc(a.a,b)}function b2(a,b){hoc(a.d,b)}function c2(a,b){hoc(a.e,b)}function C2(a,b){f4(a.vd,b)}function Pfb(a){a.d=new Qtc}function Vob(a){a.e=new Yuc}function hq(){this.a=new soc}function Wq(){this.a=new soc}function pq(){this.b=new soc}function CA(){this.a=new Yuc}function Am(a){km();this.a=a}function yq(a){km();this.a=a}function Dq(a){km();this.a=
a}function Yq(a){Lm();this.a=a}function rv(a){Lm();this.a=a}function t8(a){s8();this.a=a}function g9(a){Q8();this.a=a}function HC(a){GC();FC.Af(a)}function ejc(a){return a&-a}function _b(a){return a<=127}function MB(a,b){return a[b]}function ngb(a,b){Vtc(a.q,b)}function it(a,b){a.e=b;b.b=a}function L4(){this.a=new Ytc}function M6(){this.a=new Ytc}function cvb(){bvb();new nlb}function cfb(){aC.call(this)}function yYb(){aC.call(this)}function Ohc(){aC.call(this)}function Okc(){aC.call(this)}function Wic(){aC.call(this)}
function Cjc(){aC.call(this)}function Gsc(){aC.call(this)}function gwc(){aC.call(this)}function Thc(){Uz.call(this)}function dzc(a,b){a.length=b}function Dyc(a,b){hoc(a.a,b)}function YA(a){return a.b<a.c}function rc(){rc=qV;qc=new sc}function kc(){kc=qV;jc=new lc}function wc(){wc=qV;vc=new yc}function Cc(){Cc=qV;Bc=new Dc}function $b(){$b=qV;Zb=new ac}function ub(){ub=qV;tb=new vb}function gC(){gC=qV;fC=new lb}function zC(){zC=qV;yC=new CC}function Tl(){Tl=qV;Sl=new Ul}function $w(){$w=qV;Zw=new _w}
function mx(){mx=qV;lx=new nx}function B2(){B2=qV;A2=new H3}function Mkb(){this.a=new Ytc}function Ytc(){this.a=new Qtc}function Uxc(){this.a=new Qtc}function yyc(){this.a=new Qtc}function Gxc(){this.a=new Fwc}function fZb(){this.c=new Ikc}function n0b(){m0b.call(this)}function p0b(){m0b.call(this)}function r0b(){p0b.call(this)}function Qtc(){ylc.call(this)}function huc(){ylc.call(this)}function Ng(a){Ag.call(this,a)}function Gk(a){Ag.call(this,a)}function Qp(a){co.call(this,a)}function rx(a){co.call(this,
a)}function sx(a){eo.call(this,a)}function bq(a){Fo.call(this,a)}function bA(a){Vz.call(this,a)}function cA(a){bA.call(this,a)}function OB(a){bA.call(this,a)}function bC(a){bA.call(this,a)}function _s(a){Us.call(this,a)}function Tw(a){Is.call(this,a)}function iv(a){Zu.call(this,a)}function syb(a){he(a);this.e=a}function Zpb(a){Xpb();this.b=a}function Cnb(a,b){gib(a.a,b,a)}function T2b(a,b){S2b(a.e,a,b)}function k$(a,b){DZ(a.c,C$(b))}function Ylb(a,b){a.s=b;Zlb(a)}function Sqb(a){a.a=XU(kzc())}function Dnb(a){this.a=
a;eab()}function ERb(a){while(DRb(a));}function nkc(a){return Bzc(a),a}function mc(a,b){return b==a.a}function wAb(a,b){return b===a}function Vjc(a,b){return a===b}function Pe(a,b){return a.f-b.f}function Jyc(a,b){!!b&&(a.d=b)}function sdc(a,b,c){a.i[b.f]=c}function rwc(a){a.b=null;a.c=0}function kV(){iV==null&&(iV=[])}function O4(){O4=qV;N4=new Qtc}function Sf(){throw RU(new Okc);}function Hl(){throw RU(new Okc);}function lm(){throw RU(new Okc);}function nm(){throw RU(new Okc);}function om(){throw RU(new Okc);
}function pm(){throw RU(new Okc);}function Cn(){throw RU(new Okc);}function Dn(){throw RU(new Okc);}function lw(a){this.a=cl(a,WAc)}function nw(a){this.a=cl(a,WAc)}function CB(a,b){a.a=b;return a}function XB(a,b){a.a=b;return a}function DB(a,b){a.b=b;return a}function YB(a,b){a.b=b;return a}function EB(a,b){a.c=b;return a}function ZB(a,b){a.c=b;return a}function FB(a,b){a.d=b;return a}function $B(a,b){a.d=b;return a}function GB(a,b){a.e=b;return a}function HB(a,b){a.f=b;return a}function IB(a,b){a.g=
b;return a}function JB(a,b){a.i=b;return a}function K$(a,b){a.j=b;return a}function L$(a,b){a.f=b;return a}function Z0(a,b){Fkb(b,a.n,a.u)}function yZb(a){bC.call(this,a)}function dfb(a){bC.call(this,a)}function ffb(a){dC.call(this,a)}function Nxb(a){bC.call(this,a)}function MYb(a){bC.call(this,a)}function PYb(a){bC.call(this,a)}function QYb(a){bC.call(this,a)}function Nhc(a){bC.call(this,a)}function Phc(a){bC.call(this,a)}function Pkc(a){bC.call(this,a)}function Xic(a){bC.call(this,a)}function Bjc(a){bC.call(this,
a)}function Ejc(a){bC.call(this,a)}function Djc(a){eC.call(this,a)}function Rhc(a){Vz.call(this,a)}function xpc(a){Bzc(a);this.a=a}function Hzc(a){Bzc(a);return a}function Rd(a){a.d=true;return a}function Dnc(a){return a.b==a.c}function Enc(a){return a.a[a.b]}function Fnc(a){return a.a[a.b]}function xwc(a){return!!a&&a.b}function _oc(a){dpc(a,a.length)}function apc(a){epc(a,a.length)}function hzc(a,b){console[a](b)}function VC(a,b){return Cic(a,b)}function lB(a){return RB(),UB(a)}function AV(a){return a==
1||a==2}function qw(a){this.a=a;this.b=2}function sw(a){this.a=a;this.b=2}function ly(a){km();this.a=he(a)}function bt(a){sg(a);it(a.a,a.a)}function jt(a,b){a.lf(b);b.kf(a)}function zxb(a,b){a.b=b;return a}function Fxb(a,b){a.g=b;return a}function I$(a){a.d=true;return a}function J$(a){a.e=true;return a}function oVb(a,b){a.a=b;return a}function qVb(a,b){a.b=b;return a}function rVb(a,b){a.c=b;return a}function sVb(a,b){a.f=b;return a}function tVb(a,b){a.d=b;return a}function uVb(a,b){a.n=b;return a}
function vVb(a,b){a.g=b;return a}function wVb(a,b){a.o=b;return a}function xVb(a,b){a.i=b;return a}function UDb(a,b){ne(!a.f);a.c=b}function BRb(a,b){Kvc(a.b);a.d=b}function dbc(a,b){a.c=b;return a}function cbc(a,b){a.a=b;return a}function ebc(a,b){a.e=b;return a}function gbc(a,b){a.g=b;return a}function zjc(a,b){return a>b?a:b}function Ajc(a,b){return a<b?a:b}function N1(a){return new Tob(a)}function xAb(){throw RU(new Okc);}function yAb(){throw RU(new Okc);}function y4b(a){q3b.call(this,a)}function f9b(a){c8b.call(this,
a)}function Ljc(a){dfb.call(this,a)}function Qhc(a){Phc.call(this,a)}function Mkc(a){Phc.call(this,a)}function Ikc(){Jhc.call(this,"")}function Jkc(){Jhc.call(this,"")}function Xpc(){throw RU(new gwc);}function Xqc(){throw RU(new Okc);}function zqc(){throw RU(new Okc);}function Aqc(){throw RU(new Okc);}function Bqc(){throw RU(new Okc);}function Eqc(){throw RU(new Okc);}function Fqc(){throw RU(new Okc);}function Gqc(){throw RU(new Okc);}function Arc(){throw RU(new Okc);}function Vrc(a){Iqc.call(this,
a)}function _rc(a){Vrc.call(this,a)}function qsc(a){brc.call(this,a)}function qzc(a){pzc.call(this,a)}function sic(a){qic(a);return a.o}function tic(a){qic(a);return a.k}function gq(a,b){Wp(a,b);return a}function ao(a,b){return Ev(a.d,b)}function ky(a,b){return nb(a.a,b)}function Of(a){return Ef(a.a,a.b)}function ric(a){return a.e&&a.e()}function Ms(a,b){return a.a.Kd(b)}function wV(b,a){return b.exec(a)}function skb(a){return a.b[0]<a.a}function zD(a){return a.l|a.m<<22}function ZU(a,b){return TU(a,
b)<0}function uib(a,b){return a==b?a:0}function jmb(a){this.a=a;this.b=1}function zpb(){this.a=(glc(),flc)}function pC(){pC=qV;!!(GC(),FC)}function kr(){kr=qV;jr=($w(),Zw)}function yuc(){yuc=qV;xuc=Auc()}function Cub(){Cub=qV;Bub=new Eub}function dob(){dob=qV;cob=new hob}function FYb(){FYb=qV;EYb=new Qtc}function xC(){mC!=0&&(mC=0);oC=-1}function hKb(a){a.a=a.i-a.f-a.r-1}function K4(a){a.b=false;return a}function bbc(a){a.b=true;return a}function Axb(a){a.c=true;return a}function pVb(a){a.e=true;
return a}function ykc(a,b){a.a+=b;return a}function zkc(a,b){a.a+=b;return a}function x1b(a,b){a.c&&N_b(a.a,b)}function y1b(a,b){a.c&&O_b(a.a,b)}function Uec(a,b){a!=Lec&&(a.a=b)}function ldc(a,b){return a.i[b.f]}function mdc(a,b){return a.i[b.f]}function ndc(a,b){return a.i[b.f]}function $zb(a){return _zb(a,a.G)}function mAb(a){return Zzb(a,a.s)}function Jb(a){return a>=65&&a<=90}function Ztc(a){this.a=new Rtc(a)}function Ixc(a){this.a=new Gwc(a)}function Pf(a,b){this.a=a;this.b=b}function hk(a,
b){this.a=a;this.b=b}function Il(a,b){this.a=a;this.b=b}function _j(a,b){this.a=a;this.c=b}function wi(a,b){this.b=a;this.c=b}function Ch(a,b){this.b=a;this.a=b}function Cp(a,b){this.a=a;this.b=b}function _q(a,b){this.a=a;this.b=b}function Ps(a,b){this.c=a;this.b=b}function Re(a,b){this.e=a;this.f=b}function Xp(a,b){this.g=a;this.i=b}function eu(a,b){this.a=a;this.b=b}function su(a,b){this.a=a;this.f=b}function Vw(a,b){this.e=a;this.c=b}function Ey(a,b){this.a=a;this.b=b}function mz(a,b){this.a=a;
this.b=b}function ef(a,b){Re.call(this,a,b)}function Mv(a,b){Re.call(this,a,b)}function Qo(a,b){return Tsc(a.a,b)}function Gt(a,b){return mlc(a.b,b)}function $A(a){return Qjc(a.a,a.b)}function xz(a,b){return a.g[b%a.d]}function Mp(a,b){return a>b&&b<SAc}function WU(a,b){return TU(a,b)==0}function aV(a,b){return TU(a,b)!=0}function FV(a,b){Re.call(this,a,b)}function YV(a,b){Re.call(this,a,b)}function lY(a,b){Re.call(this,a,b)}function D_(a,b){Re.call(this,a,b)}function f_(a,b){P$.call(this,a,b)}function cC(a,
b){Wz.call(this,a,b)}function uA(a,b){this.b=a;this.a=b}function M1(a,b){this.b=a;this.a=b}function rX(a,b){this.a=a;this.b=b}function i1(a,b){!!a.L&&$lb(a.L,b)}function z0(a,b){return plc(a.t,b)}function X1(a,b){return Vtc(a.d,b)}function D2(a,b){return h4(a.vd,b)}function E2(a,b){return i4(a.vd,b)}function K_(a){return s2b(a,37)!=0}function M_(a){return s2b(a,30)!=0}function R2(a,b){Re.call(this,a,b)}function X2(a,b){Re.call(this,a,b)}function a3(a,b){Re.call(this,a,b)}function g3(a,b){Re.call(this,
a,b)}function o3(a,b){Re.call(this,a,b)}function F3(a,b){Re.call(this,a,b)}function M3(a,b){Re.call(this,a,b)}function U3(a,b){Re.call(this,a,b)}function $3(a,b){Re.call(this,a,b)}function K5(a,b){Re.call(this,a,b)}function K6(a,b){this.a=a;this.b=b}function B6(a,b){this.a=a;this.b=b}function X4(a,b){this.a=a;this.b=b}function E8(a,b){this.a=a;this.c=b}function k8(a,b){this.b=a;this.a=b}function n9(a,b){this.b=a;this.a=b}function V6(a,b){this.e=a;this.a=b}function qeb(a,b){return bo(a.a,b)}function awb(a){return a.c?
a.c:a.e}function aAb(a){return a.K?a.K:a.a}function bAb(a){return a.L?a.L:a._}function hAb(a){return a.T?a.T:a._}function lAb(a){return a.X?a.X:a._}function gAb(a){return a.S?a.S:a.q}function jAb(a){return a.V?a.V:a.G}function kAb(a){return a.W?a.W:a.t}function xlc(a){return a.d.c+a.e.c}function Pec(a,b){return a.b.pe(b)}function Hqc(a,b){return a.b.Nd(b)}function yrc(a,b){return nb(a.d,b)}function czc(a,b,c){a.splice(b,c)}function $kb(a,b,c){hib(a.b,a,b,c)}function TYb(a,b,c){Ckc(a.c,b,0,c)}function AGb(a,
b,c){$2b(a,c.c-b.c)}function Ef(a,b){return Jf(a.c,a,b)}function Ib(a){return a>=97&&a<=122}function Mtc(a){this.c=a;Jtc(this)}function Rtc(a){zlc.call(this,a,0)}function Fwc(){Gwc.call(this,null)}function Ip(){Gk.call(this,new Qtc)}function Kp(){Uj.call(this,new Qtc)}function Ov(){Mv.call(this,"KEY",0)}function Vl(){this.c=(ub(),ub(),tb)}function Jt(){this.b=(zv(),new Qtc)}function kwc(){kwc=qV;jwc=new Qtc}function Wpc(){Wpc=qV;Vpc=new Ypc}function ysc(){ysc=qV;xsc=new Asc}function c8(){b8(this);
this.a=false}function fdb(a,b){this.b=a;this.a=b}function fgb(a,b){this.a=a;this.b=b}function xbb(a,b){this.a=a;this.b=b}function Hkb(a,b){this.b=a;this.a=b}function Vkb(a,b){this.b=a;this.a=b}function _kb(a,b){this.b=a;this.a=b}function clb(a,b){this.b=a;this.a=b}function Klb(a,b){this.j=a;this.i=b}function tkb(a){this.b=a;this.a=_zc}function lmb(a){this.b=a;this.a=a.t}function smb(a,b){this.b=a;this.a=b}function Wmb(a,b){this.a=a;this.b=b}function Ymb(a,b){this.a=a;this.b=b}function _mb(a,b){this.b=
a;this.a=b}function vbb(a,b){Re.call(this,a,b)}function Hbb(a,b){Re.call(this,a,b)}function ynb(a,b){Re.call(this,a,b)}function ipb(a,b){Re.call(this,a,b)}function efb(a,b){cC.call(this,a,b)}function Jpb(a,b){Re.call(this,a,b)}function Spb(a,b){Re.call(this,a,b)}function Upb(){Spb.call(this,gGc,0)}function Jtb(a,b){Re.call(this,a,b)}function _nb(a,b){this.a=a;this.b=b}function Dpb(a,b){this.b=a;this.a=b}function zub(a,b){this.b=a;this.a=b}function Nzb(a,b){this.b=a;this.a=b}function Yzb(a,b){this.b=
a;this.a=b}function Wzb(a,b){Re.call(this,a,b)}function Swb(a,b){Re.call(this,a,b)}function oDb(a,b){Re.call(this,a,b)}function lEb(a,b){Re.call(this,a,b)}function DFb(a,b){Re.call(this,a,b)}function MFb(a,b){Re.call(this,a,b)}function BJb(a,b){Re.call(this,a,b)}function ZJb(a,b){Re.call(this,a,b)}function wJb(a,b){this.a=a;this.b=b}function yKb(a,b){this.c=a;this.b=b}function XMb(a,b){this.c=a;this.b=b}function pUb(a,b){this.p=a;this.o=b}function OUb(a,b){Re.call(this,a,b)}function EVb(a,b){Re.call(this,
a,b)}function TXb(a,b){Re.call(this,a,b)}function sBb(a,b){return ODb(a.a,b)}function Ggb(a,b){return Tuc(a.j,b)}function Zob(a,b){return Uuc(a.e,b)}function G0b(a,b){return m_b(a.a,b)}function gA(a,b){return jA(SU(a,b))}function tB(a,b){return b.b+a.c.i.b}function CYb(a,b){this.b=a;this.a=b}function Z1b(a,b){this.a=a;this.b=b}function L3b(a,b){this.c=a;this.b=b}function A0b(a,b){Re.call(this,a,b)}function G7b(a,b){Re.call(this,a,b)}function rbc(a,b){Re.call(this,a,b)}function Ycc(a,b){Re.call(this,
a,b)}function Pfc(a,b){this.b=a;this.a=b}function sgc(a,b){Re.call(this,a,b)}function ugc(){sgc.call(this,qDc,0)}function ygc(){sgc.call(this,rDc,1)}function Cgc(){sgc.call(this,wGc,2)}function jhc(a){khc.call(this,a,30)}function wC(a){$wnd.clearTimeout(a)}function uw(a,b){a.a.ce().remove(b)}function Shc(a,b){Wz.call(this,a,b)}function Zkc(a,b){Re.call(this,a,b)}function Fhc(a,b){return Qjc(a.a,b)}function Ihc(a,b){return jkc(a.a,b)}function jlc(a,b){return llc(a.a,b)}function jqc(a,b){return mlc(a.a,
b)}function Rsc(a,b){return ztc(a.a,b)}function Fdc(a,b){return ndc(a.e,b)}function X7b(a,b){return ndc(a.u,b)}function Euc(a,b){return a.a.get(b)}function Tuc(a,b){return mlc(a.c,b)}function tvc(a){return a.b!=a.c.a.b}function rZb(a){return a>=48&&a<=57}function Nyc(a){return xyc(zyc(),a)}function Cuc(){yuc();return new xuc}function Inb(a,b){Hnb();return a[b]}function _9b(a,b){ne(!a.Oi());a.n=b}function Nmc(a,b){this.d=a;this.e=b}function stc(a,b){this.b=a;this.a=b}function txc(a,b){Re.call(this,
a,b)}function azc(a,b,c){a.splice(b,0,c)}function Mbc(a,b,c,d){tp(a.a,b,c,d)}function jkc(a,b){return a.substr(b)}function ip(a,b){return a.Ze().ze(b)}function ih(a){return!a?null:a.ye()}function TD(a){return a==null?null:a}function OD(a){return typeof a===Xzc}function PD(a){return typeof a===Yzc}function SD(a){return typeof a===$zc}function YU(a){return typeof a===Yzc}function nA(a){return a<128?kA[a]:-1}function ZA(a){return Qjc(a.a,a.b++)}function cW(a){H2b(a)||mX(EBc+a.j,a)}function m2(a){n2.call(this,
a,false)}function rlb(a){M1.call(this,a,true)}function Vpb(){Spb.call(this,"V3",1)}function okb(a){this.b=a;this.a=true}function qX(){this.d=new Ixc(new tX)}function G_(){throw RU(new Pkc(NCc));}function H_(){throw RU(new Pkc(NCc));}function I_(){throw RU(new Pkc(NCc));}function LLb(){LLb=qV;KLb=Ue(JLb())}function Rzc(){Rzc=qV;Ozc={};Qzc={}}function glc(){glc=qV;ozc();flc=nzc}function $Rb(a){return ZRb(a)&&a!=42}function B2b(a){return!!a.b&&!a.b.d}function sEb(a,b){return b+"#"+a.a++}function Akc(a,
b){return a.a+=""+b,a}function Bkc(a,b){a.a+=""+b;return a}function Dkc(a,b){a.a+=""+b;return a}function Ekc(a,b){a.a+=""+b;return a}function gKb(a,b){a.q[a.r++]=b;--a.b}function BGb(a,b){DGb(a,b.b.b,b.b.a)}function Evc(a,b){Fvc(a,b,a.a,a.a.a)}function Mf(a,b){return Nb(a.a,a.e,b)}function cD(a){return dD(a.l,a.m,a.h)}function Yjc(a,b){return a.indexOf(b)}function h1(a,b){b>1?a.M=1:a.M=b}function Cab(a,b){iqc(a.a,b)&&b.wi(a)}function u5(a,b){tlc(s5,a,b);return b}function ifb(a,b){hfb(a,b);return a.a}
function D3(a){ne(a!=B3);return a!=q3}function Stc(a){wlc(this);$g(this,a)}function Kkc(a){Jhc.call(this,tV(a))}function iKb(a){jKb.call(this,a,0,0)}function z4b(a,b){s3b.call(this,a,b)}function Jfb(){Kfb.call(this,new Qfb)}function Lpb(){Jpb.call(this,"ALL",0)}function Qv(){Mv.call(this,"VALUE",1)}function Hub(){Hub=qV;Gub=new Vc("/")}function fBb(){fBb=qV;eBb=Wyc("\\d+")}function sRb(a,b,c,d){wKb(a.c,b,c,d)}function jRb(a,b){return gOb(a.e.b,b)}function Gzb(a,b){return Cyb(a.a.j,b)}function yBb(a,
b){return TDb(a.a,b.a)}function zBb(a,b){return!!JDb(a.a,b)}function A2b(a){return!!a.b&&!!a.b.d}function l_b(a){return!!a.d&&!!a.d.k}function y3b(a){return a==-1?-1:a&uBc}function t2b(a){return a.b?a.b.f:null}function Vlc(a){return a.b<a.d.size()}function Vsc(a,b,c){return Usc(a,b,c)}function Kzc(a,b){return parseInt(a,b)}function npc(a,b){jpc(a,0,a.length,b)}function V2b(a,b){a.i=E3b(z3b(a.i),b)}function sj(a,b,c){rj.call(this,a,b,c)}function c8b(a){d8b.call(this,a,null)}function Avc(){_tc.call(this,
new Yuc)}function szc(){pzc.call(this,"UTF-8")}function _p(a){co.call(this,new fz(a))}function Ys(a){Us.call(this,new _s(a))}function Pd(a){this.a=a;this.b=he("=")}function xy(a,b){this.c=a;this.b=he(b)}function g6(a){this.a=a;this.b=new Pnc}function n6(a){this.a=a;this.b=new soc}function y6(a){this.b=a;this.a=new Lvc}function R6(a){this.a=a;this.b=new Pnc}function ruc(a){this.a=Cuc();this.b=a}function Huc(a){this.a=Cuc();this.b=a}function q7(a){this.b=new Avc;this.a=a}function D8(a){this.a=a;this.c=
new Mqb}function rmb(a){smb.call(this,a,false)}function kpb(){ipb.call(this,"LINE",0)}function M5(){K5.call(this,"LEGACY",0)}function Di(a){Bi(a);return a.d.size()}function $Nb(a){YNb();return bo(zNb,a)}function Zzb(a,b){return vyb(b,dAb(a))}function Ro(a,b,c){return Vsc(a.a,b,c)}function Vx(a){return es(a.b.Md(),a.a)}function cAb(a){return!a.P?null:a.P.q}function eAb(a){return!a.P?null:a.P.r}function iAb(a){return!a.O?null:a.O.r}function S$b(a){return!a.d?null:a.d.b}function T$b(a){return!a.d?null:
a.d.c}function Y$b(a){return!a.d?null:a.d.g}function Z$b(a){return!a.d?null:a.d.i}function $$b(a){return!a.d?null:a.d.j}function q2b(a){return!a.e?null:a.e.e}function z3b(a){return a==-1?-1:a>>>12}function b8b(a){return ND(a,56)?a:null}function rBb(a){ne(!a.a.f);return a.a}function M8b(a){T7b();c8b.call(this,a)}function g9b(a){T7b();f9b.call(this,a)}function xec(a){T7b();f9b.call(this,a)}function Dec(a){T7b();f9b.call(this,a)}function Qfc(a){T7b();f9b.call(this,a)}function whc(a){T7b();f9b.call(this,
a)}function iec(a){T7b();Wdc.call(this,a)}function qec(a){T7b();iec.call(this,a)}function xxc(){txc.call(this,"Head",1)}function Cxc(){txc.call(this,"Tail",3)}function qdc(a,b){rdc(a,b,b.vi(false))}function Eyc(a,b){Gyc(a,(fyc(),byc),b)}function Kyc(a,b){Gyc(a,(fyc(),dyc),b)}function Lyc(a,b){Gyc(a,(fyc(),eyc),b)}function zA(a,b){var c;c=NB(b);yA(a,c)}function el(){el=qV;dl=Uc(new Vc(oAc))}function Ul(){Il.call(this,(mx(),lx),0)}function nf(){ef.call(this,"IS_NULL",2)}function fr(a,b){Lm();_q.call(this,
a,b)}function Mq(a,b){Lm();this.a=a;this.b=b}function Ag(a){_d(a.size()==0);this.c=a}function kj(a){this.a=a;fj.call(this,a)}function _A(a){this.a=a;this.c=a.length}function RU(a){return a.backingJsObject}function Lsc(a){return a<10?"0"+a:""+a}function iwc(a){return a!=null?rb(a):0}function dD(a,b,c){return{l:a,m:b,h:c}}function Q4(a,b){return a.b.contains(b)}function Uq(a,b){he(b);Vp(a,b);return a}function F4(a){y4();z4(this);D4(this,a)}function b4(a,b){bC.call(this,gZb(a,b))}function hZ(){gZ();
iZ.call(this,new N_)}function Kkb(a){this.b=a;this.a=new Ytc}function ytb(a){this.b=a;this.a=new soc}function UCb(a){this.b=a;this.a=new soc}function Kfb(a){this.a=new Pnc;this.b=a}function rDb(a){this.a=(Lm(),new iy(a))}function RDb(a){return XDb(a.w,dEc,a.u)}function SDb(a,b){return XDb(a.w,b,a.u)}function AOb(a,b){return new CYb(b,a.g)}function Zic(a,b){return a<b?-1:a>b?1:0}function gic(a){return a>=eAc&&a<=56319}function hic(a){return a>=hAc&&a<=57343}function Ktc(a){return a.a<a.c.a.length}
function qoc(a,b){mpc(a.a,a.a.length,b)}function Qjc(a,b){return a.charCodeAt(b)}function Uyc(a,b){return new Tyc(a.a,b)}function ND(a,b){return a!=null&&KD(a,b)}function tkc(a){return a==null?iAc:tV(a)}function $jc(a){return Vjc($zc,typeof a)}function ukc(a){return vkc(a,0,a.length)}function Jzc(a,b){return a==b?0:a<b?-1:1}function CBb(a,b){fBb();return a.a==b.a}function _d(a){if(!a)throw RU(new cfb);}function ne(a){if(!a)throw RU(new Wic);}function co(a){this.d=(Gpc(),new Crc(a))}function foc(a){a.a=
XC(AS,qAc,1,0,5,1)}function wnc(a){a.a=XC(AS,qAc,1,8,5,1)}function Pz(a){a.g=XC(CS,qAc,136,0,0,1)}function zxc(){txc.call(this,"Range",2)}function qf(){ef.call(this,"NOT_NULL",3)}function Lt(a){if(!a)throw RU(new gwc);}function o1(a,b,c,d){a2(new K1(a,b,d,c))}function Sq(a,b){return hoc(a.a,he(b)),a}function fq(a,b){hoc(a.a,he(b));return a}function Tq(a,b){hoc(a.a,he(b));return a}function H2(a,b){ne(b!=(C3(),B3));a.Vb=b}function Dgb(a,b){return a.d.contains(b)}function Tqb(a){return cV(XU(kzc()),
a.a)}function _Nb(a){YNb();return!!bo(zNb,a)}function aOb(a){YNb();return!!bo(yNb,a)}function GQb(a,b){return qRb(a.j,0).c==b}function pRb(a){qRb(a,0);return Hvc(a.b)}function iOb(a){this.b=a;this.a=jOb(a.a)}function qZb(a){this.a=a;this.c=a.length}function $hb(a,b,c){a.f=b;a.n=c;a.d=null}function cBb(a,b,c){Awb.call(this,a,b,c)}function U4(a){O4();T4.call(this,null,a)}function OYb(a){bC.call(this,"Width:"+a)}function lpb(){ipb.call(this,"REGION",1)}function p_b(a){return!!a.d&&c0b(a.d,2)}function q_b(a){return!!a.d&&
c0b(a.d,3)}function r_b(a){return!!a.d&&c0b(a.d,5)}function s_b(a){return!!a.d&&c0b(a.d,4)}function t_b(a){return!!a.d&&c0b(a.d,0)}function u_b(a){return!!a.d&&c0b(a.d,6)}function x_b(a){return!!a.d&&c0b(a.d,1)}function Cqc(a,b){return a.b.contains(b)}function Yrc(a,b){return a.b.contains(b)}function _jc(a,b){return a.lastIndexOf(b)}function Zjc(a,b,c){return a.indexOf(b,c)}function Sc(a,b){return Qc(a,new Ikc,b).a}function Yc(a,b){return b==null?a.b:Tc(b)}function Uic(a){return Vjc(Yzc,typeof a)}
function Jf(a,b,c){return new Nf(b,c,a.a)}function Cf(a,b){he(b);return new Pf(a,b)}function Uc(a){he(iAc);return new Zc(a,a)}function Yoc(a,b){yzc(b);return Xoc(a,b)}function Wuc(a,b){if(a.a){ivc(b);hvc(b)}}function pi(a,b){this.a=a;ii.call(this,b)}function Ns(a,b){this.a=b;Is.call(this,a)}function Hv(a,b){this.a=b;Is.call(this,a)}function dq(a,b){return a.a.getAtIndex(b)}function dj(a){a.b.Gd();--a.d.f.d;Ci(a.d)}function Uy(a){this.a=a;Ry.call(this,a.a)}function kz(a,b){this.a=a;Is.call(this,b)}
function vx(a){ux();Fo.call(this,a);he(a)}function ur(a){pq.call(this);this.a=he(a)}function Uz(){Pz(this);Qz(this);this.sf()}function fw(a){cl(2,WAc);return new sw(a)}function ew(a){cl(2,WAc);return new qw(a)}function w0(a,b){he(a.H);return j4(a.X,b)}function Kjb(a){sib();return Atc(lib,a.j)}function kbb(a){var b;for(b=a.j;b;b=b.j);}function Yr(){Yr=qV;Wr=new rs;Xr=new zs}function Lv(){Lv=qV;Jv=new Ov;Kv=new Qv}function Mc(){Mc=qV;Lc=fjc(31);Kc=new Nc}function zv(){zv=qV;yv=new Pd((el(),dl))}function l2(a,
b){k2.call(this,a,a.Gg(),b)}function O5(){K5.call(this,"MULTILINE",2)}function Eub(){Re.call(this,"RELATIVE",0)}function Npb(){Jpb.call(this,"SYMBOLS",1)}function jUb(a,b){kUb.call(this,a,b,null)}function ZQb(a,b,c){wKb(a.c,iRb(a.j),b,c)}function Dxb(a,b,c){Vuc(a.f,b,c);return a}function Bxb(a,b){ne(!a.d);a.d=b;return a}function Hxb(a,b){ne(!a.j);a.j=b;return a}function Ixb(a,b){ne(!a.k);a.k=b;return a}function nVb(a,b){a.k=b;return new mVb(a)}function lGb(a,b){return XLb(a.a.c.a,b.a)}function kqc(a,
b){return ulc(a.a,b)!=null}function d$b(a){return t$b((F7b(),G6b),a)}function mD(a){return a.l+a.m*sBc+a.h*tBc}function Atc(a,b){return!!b&&a.b[b.f]==b}function Esc(a,b){var c;c=a[NIc];b[NIc]=c}function g2b(a,b){f2b(a,b,a.b?a.b.f:null)}function $wc(a){this.a=a;hnc.call(this,a)}function Hxc(a){Gxc.call(this);_c(this,a)}function brc(a){Iqc.call(this,a);this.a=a}function prc(a){Yqc.call(this,a);this.a=a}function rsc(a){Crc.call(this,a);this.a=a}function usc(a){Vrc.call(this,a);this.a=a}function Lkc(a){Jhc.call(this,
(Bzc(a),a))}function Bvc(a){_tc.call(this,new Zuc(a))}function Tnc(a){if(!a)throw RU(new Gsc);}function zzc(a){if(!a)throw RU(new gwc);}function Fzc(a){if(!a)throw RU(new Wic);}function uzc(a){if(!a)throw RU(new cfb);}function Lzc(b,c,d){try{b[c]=d}catch(a){}}function ikc(a,b,c){return a.substr(b,c-b)}function kkc(a,b,c){return a.substr(b,c-b)}function tg(a,b){return a.c.containsKey(b)}function Nzc(a){return a.$H||(a.$H=++Mzc)}function Qe(a){return a.e!=null?a.e:""+a.f}function Wx(a){return ns(es(a.b.Md(),
a.a))}function Wub(){return(new Date).getTime()}function gGb(a,b){return hGb(a,eGb(a,b.b))}function FQb(a,b,c){return qRb(a.j,b).c==c}function k_b(a){return!!(!a.d?null:a.d.a)}function K2b(a,b){return L2b(a,b,b.length)}function Fx(a){var b;return km(),b=a,xo(b)}function KC(a){GC();return parseInt(a)||-1}function Toc(a,b){return Voc(a,a.length,b)}function Uoc(a,b){return Woc(a,a.length,b)}function Hc(a,b){this.a=he(a);this.b=he(b)}function KA(a,b){this.i=a;this.a=new _A(b)}function bj(a,b,c,d){Si.call(this,
a,b,c,d)}function jvc(a){kvc.call(this,a,null,null)}function s9b(a){c8b.call(this,a);k9b(this)}function nrb(){rlb.call(this,"convertEs6")}function Q5(){K5.call(this,"SOURCELESS",3)}function N5(){K5.call(this,"SINGLELINE",1)}function gf(){ef.call(this,"ALWAYS_TRUE",0)}function rj(a,b,c){Ei.call(this,a,b,c,null)}function gj(a,b){this.d=a;cj(this);this.b=b}function cc(a,b){_d(b>=a);this.b=a;this.a=b}function Uj(a){this.a=he(a);this.b=Sw(this)}function Tjc(a){return ukc(rzc(a,a.length))}function Tn(a,
b){return bl(a,b),new cy(a,b)}function Fp(a){return zv(),new Zuc(Bv(a.a))}function gw(a){return zv(),new Rtc(Bv(a.a))}function XAb(){XAb=qV;WAb=new _Ab(new Qtc)}function Ruc(a){a.b=new jvc(a);a.c=new Qtc}function $1(){this.c=new Ikc;this.d=new Ytc}function I4(a,b){this.a=a;this.c=b;this.b=0}function RAb(a,b){syb.call(this,a);this.a=b}function n2(a,b){l2.call(this,new kfb(a),b)}function j2(a,b){_d(!b||!a.g||a.g==b);a.g=b}function ql(a,b){var c;c=a.a;a.a=b;return c}function vZ(a){if(a)return a.d;return null}
function c0(a){if(a)return a.d;return null}function zsc(a){ysc();return a==xsc?null:a}function YAb(a){XAb();return ZAb(WAb,"_",a)}function VBb(a,b){TBb();return SBb[a.a|b.a]}function WBb(a,b){TBb();return SBb[a.a&b.a]}function pCb(a,b){return xBb(a,b)||xBb(b,a)}function ztc(a,b){return ND(b,14)&&Atc(a,b)}function Btc(a,b){return ND(b,14)&&Ctc(a,b)}function Wtc(a,b){return a.a.containsKey(b)}function Dqc(a,b){return a.b.containsAll(b)}function Xnb(a,b){return Pe(F2(a.a.H),b)>=0}function Onc(a){return a.c-
a.b&a.a.length-1}function cKb(a){return a.g==a.d?a.c+a.a:a.a}function rkc(a){return SD(a)?a.length:a.Ti()}function LD(a){return String.fromCharCode(a)}function Gc(a,b){return a.a.Id(b)||a.b.Id(b)}function RD(a,b){return a&&b&&a instanceof b}function Ig(a){return ND(a,48)?a.Od():a.Md()}function Mm(a,b){return new eq(a,a.size(),b)}function jn(a,b){return a.Se().getAtIndex(b)}function qC(a,b,c){return a.apply(b,c);var d}function HZ(a,b){a.jg();b&&a.rg();a.r=false}function A4b(a,b){q3b.call(this,a);this.a=
b}function _k(){Ng.call(this,new Qtc);this.a=3}function fwc(){bC.call(this,"no key found")}function kf(){ef.call(this,"ALWAYS_FALSE",1)}function kk(a){this.e=a;this.c=a.a.oe().Md()}function Hsc(a){this.a=new $wnd.Date(eV(a))}function kfb(a){this.b=new w$b(a.c);this.d=a}function z_(a,b){this.a=v2b(a);this.b=v2b(b)}function nGb(a,b){return j2b(new q3b(b),a.t)}function tcb(a,b,c){return qzb(a.q,b,null,c)}function GW(a,b){NW((F7b(),w6b),b);bX(a,b.b)}function x0(a){!a.H&&Q0(a,new J2);return a.f}function qic(a){if(a.o!=
null)return;Gic(a)}function Fsc(a){var b;b=a[NIc]|0;a[NIc]=b+1}function QUb(a){pUb.call(this,(SXb(),uWb),a)}function RUb(a){pUb.call(this,(SXb(),vWb),a)}function SUb(a){pUb.call(this,(SXb(),tWb),a)}function $Ub(a){pUb.call(this,(SXb(),DWb),a)}function cVb(a){pUb.call(this,(SXb(),HWb),a)}function UVb(a){pUb.call(this,(SXb(),eXb),a)}function YVb(a){pUb.call(this,(SXb(),jXb),a)}function ZVb(a){pUb.call(this,(SXb(),kXb),a)}function aYb(a){pUb.call(this,(SXb(),xXb),a)}function fYb(a){pUb.call(this,(SXb(),
CXb),a)}function KYb(a){bC.call(this,"codePoint:"+a)}function Kbc(a){Hbc.call(this,a);this.a=null}function Nbc(a){Hbc.call(this,a);this.a=null}function Suc(a){wlc(a.c);a.b.b=a.b;a.b.a=a.b}function O_b(a,b){if(!y_b(a))return;a.b.i=b}function O0b(a,b){a.d=true;return L$b(a.a,b)}function Smc(a,b){var c;c=b;return!!a.fj(c)}function Gmc(a,b){var c;c=a.e;a.e=b;return c}function Xtc(a,b){return a.a.remove(b)!=null}function Fxc(a,b){return a.a.remove(b)!=null}function akc(a,b,c){return a.lastIndexOf(b,c)}
function hgc(a){return a.d.size()-a.e.size()}function hs(a){Yr();return a.Ed()?a.Fd():null}function Av(a,b){zv();return new Hv(a.Md(),b)}function Wc(a,b,c){he(c);return new Kd(c,a,b)}function If(a){he(a);return new Gf(new Kf(a))}function Tc(a){he(a);return ND(a,387)?a:tV(a)}function Zhc(a,b){Xhc();return a==b?0:a?1:-1}function Kd(a,b,c){this.b=a;this.a=b;this.c=c}function Xx(a,b,c){this.b=a;this.a=b;this.c=c}function ez(a,b,c){this.b=a;this.a=b;this.c=c}function Px(a,b,c){this.a=a;this.c=b;this.b=
c}function pB(a,b,c){this.j=a;this.b=b;this.a=c}function l8(a,b,c){this.a=a;this.b=b;this.c=c}function SV(a,b,c){Re.call(this,a,b);this.a=c}function Lw(a,b){Ng.call(this,a);this.a=he(b)}function Nw(a,b){Gk.call(this,a);this.a=he(b)}function jB(a,b){kB(a,"file",false);a.a+=""+b}function WB(a){return new VB(a.d,a.c,a.a,a.b)}function x5(a,b){return ND(b,5)&&Vjc(b.c,a.c)}function kRb(a,b){return b>=0&&b<a.e.a.length}function BIb(a){var b;b=a.o;a.o=null;return b}function dRb(a){this.b=a;this.a=(Lm(),new hq)}
function NYb(a){bC.call(this,"Precision: "+a)}function Ai(a){a.b?Ai(a.b):a.f.c.put(a.e,a.d)}function Xpb(){Xpb=qV;Wpb=Nyc((qic(EM),EM.o))}function hpb(){hpb=qV;fpb=new kpb;gpb=new lpb}function Ipb(){Ipb=qV;Gpb=new Lpb;Hpb=new Npb}function Rpb(){Rpb=qV;Ppb=new Upb;Qpb=new Vpb}function Mec(){Mec=qV;Lec=new Wec((mx(),lx))}function km(){km=qV;new Am((Gpc(),Gpc(),Epc))}function n$b(a){return new q4b((F7b(),h7b),a)}function o$b(a){return new q4b((F7b(),i7b),a)}function l$b(a,b){return DZb((F7b(),d7b),a,
b)}function m$b(a,b){return DZb((F7b(),e7b),a,b)}function q$b(a,b){return DZb((F7b(),k7b),a,b)}function f$b(a,b){return DZb((F7b(),O6b),a,b)}function WZb(a,b){return DZb((F7b(),e6b),a,b)}function YZb(a,b){return DZb((F7b(),s6b),a,b)}function zZb(a,b){return DZb((F7b(),E4b),a,b)}function AZb(a,b){return DZb((F7b(),F4b),a,b)}function JZb(a,b){return DZb((F7b(),n5b),a,b)}function L7b(a){return new z4b((F7b(),K4b),a)}function wrc(a,b){return a.d.containsValue(b)}function A_b(a,b){!a.d&&(a.d=new e0b);
a.d.a=b}function C_b(a,b){!a.d&&(a.d=new e0b);a.d.c=b}function I_b(a,b){!a.d&&(a.d=new e0b);a.d.g=b}function J_b(a,b){!a.d&&(a.d=new e0b);a.d.i=b}function K_b(a,b){!a.d&&(a.d=new e0b);a.d.j=b}function Ayc(a,b){this.a=a;this.b=b;XU(kzc())}function meb(a,b,c){this.a=a;this.c=b;this.b=c}function Qeb(a,b){_d(true);b.g=null;ooc(a.c,b)}function bo(a,b){return b==null?null:Fv(a.d,b)}function Bf(a){return new Hf(a.c,true,a.d,a.a)}function Ox(a){return qs(bs(a.a.Md(),Vx(a.c)))}function WW(a){var b;for(b=a.b;b;b=
b.d)HW(b)}function bX(a,b){while(b){aX(a,b,false);b=b.d}}function ps(a,b){Yr();he(b);return new Ns(a,b)}function gmb(a,b){this.c=a;this.b=b.b;this.a=b}function vJb(a,b,c){this.c=a;this.b=b;this.a=c}function bob(a,b,c){this.b=a;this.c=b;this.a=c}function BKb(a,b,c){this.a=a;this.b=b;this.c=c}function tnb(a,b,c){Re.call(this,a,b);this.a=c}function Ttb(a,b,c){Re.call(this,a,b);this.a=c}function VFb(a,b,c){Re.call(this,a,b);this.a=c}function kUb(a,b,c){Re.call(this,a,b);this.a=c}function HUb(a,b,c){this.c=
a;this.a=b;this.b=c}function m2b(a){ne(!!a.e);O2b(a.e,a);return a}function HDb(a){return!a.d?(km(),ux(),tx):a.d}function vEb(a){return kkc(a,0,Yjc(a,qkc(35)))}function d_b(a){return(KEc&a.a)==SAc?a.i:null}function h_b(a){return(KEc&a.a)==PEc?a.i:null}function ILb(a){GLb();return $e((LLb(),KLb),a)}function E_b(a){!a.d&&(a.d=new e0b);d0b(a.d,2)}function F_b(a){!a.d&&(a.d=new e0b);d0b(a.d,3)}function G_b(a){!a.d&&(a.d=new e0b);d0b(a.d,5)}function H_b(a){!a.d&&(a.d=new e0b);d0b(a.d,4)}function M_b(a){!a.d&&
(a.d=new e0b);d0b(a.d,0)}function P_b(a){!a.d&&(a.d=new e0b);d0b(a.d,6)}function U_b(a){!a.d&&(a.d=new e0b);d0b(a.d,1)}function t9b(a,b){d8b.call(this,a,b);k9b(this)}function Sbc(a,b,c){Re.call(this,a,b);this.a=c}function Dtc(a,b,c){this.a=a;this.b=b;this.c=c}function Nuc(a,b,c){this.a=a;this.b=b;this.c=c}function U1b(a,b,c){this.a=a;this.c=b;this.d=c}function Rvc(a,b,c){this.d=a;this.b=c;this.a=b}function q3b(a){this.j=a;this.e=null;this.i=-1}function k4b(a){this.b=a;this.a=a;this.c=false}function Zc(a,
b){this.a=a;this.b=iAc;this.c=b.c}function fj(a){this.d=a;cj(this);this.b=Ig(a.d)}function Yj(a,b){if(!a)return 0;return ql(a,b)}function Nr(a,b){he(a);he(b);return new Or(a,b)}function vzc(a,b){if(!a)throw RU(new dfb(b));}function bV(a,b){return UU(wD(YU(a)?dV(a):a,b))}function Sic(a){return PD(a)?(Bzc(a),a):a.$i()}function Gnc(a){return a.a[a.c-1&a.a.length-1]}function Yhc(a){Xhc();return Vjc(Xzc,typeof a)}function Gpc(){Gpc=qV;Epc=new Ppc;Fpc=new eqc}function awc(){awc=qV;$vc=new bwc;_vc=new dwc}
function zic(){var a;a=wic(null);a.g=2;return a}function Lu(a){var b;b=new soc;Zr(b,a);return b}function u0(a){var b;b=a.H.G;b=b?b:a.e;return b}function gW(a){var b;b=p2b(a);0!=b&&mX(BBc+b,a)}function hW(a){var b;b=p2b(a);0!=b&&mX(BBc+b,a)}function Tob(a){Oob();this.b=a;this.a=new kX(a)}function JBb(a,b){syb.call(this,a);this.a=he(b)}function VCb(a,b){syb.call(this,a);this.a=he(b)}function V3b(a,b,c){L3b.call(this,a,c);this.a=b}function d4b(a,b,c){L3b.call(this,a,c);this.a=b}function mOb(a,b,c){XMb.call(this,
a,c);this.a=b}function Pq(a,b,c){bl(b,c);vg(a.a,b,c);return a}function fbc(a,b){a.f=idc(a.d,b,null);return a}function hoc(a,b){a.a[a.a.length]=b;return true}function xic(a){var b;b=wic(a);Kic(a,b);return b}function dxc(a,b){return!!b&&exc(a,b.d)?b:null}function Hvc(a){return zzc(a.b!=0),Jvc(a,a.a.a)}function Ivc(a){zzc(a.b!=0);return Jvc(a,a.a.a)}function Kn(a,b){bl(a,b);return zv(),new Xp(a,b)}function Gs(a,b){this.b=a;this.a=b;dg.call(this)}function Or(a,b){this.a=a;this.b=b;Vl.call(this)}function Rr(a,
b){this.a=a;this.b=b;Vl.call(this)}function Ur(a,b){this.a=a;this.b=b;Vl.call(this)}function kvc(a,b,c){this.c=a;Nmc.call(this,b,c)}function bzc(a,b,c){$yc(c,0,a,b,c.length,false)}function O1(){M1.call(this,"sanityCheck",false)}function Dc(){Xb.call(this,"CharMatcher.none()")}function lrb(){rlb.call(this,"es6ConvertSuper")}function Drb(){rlb.call(this,"RewritePolyfills")}function Jq(a){this.b=a;this.a=An(this.b.a).Pe()}function F1(a){return npb(),new Apb((new zpb).a)}function oGb(a,b,c){return j2b(new s3b(b,
c),a.t)}function sGb(a,b,c){return j2b(new q4b(b,c),a.t)}function kGb(a,b){return!!a.b&&a.b.a.a.c<=b.b.c}function jbb(a){return!a.j?a.b:jbb(a.j)+"."+a.b}function RYb(a){throw RU(new LYb(a.b.b,pb(a.a)));}function mgb(a,b){lgb(a,b,new cBb(a.a,v2b(b),b))}function t$b(a,b){ne(ZZb(b));return new s3b(a,b)}function Dqb(a,b){var c;c=v2b(b);return Eqb(a,c)}function xKb(a,b,c,d){var e;e=gZb(c,d);a.Ih(b,e)}function mpc(a,b,c){xzc(b,a.length);jpc(a,0,b,c)}function vac(a,b){!a.i&&(a.i=new soc);hoc(a.i,b)}function Dvc(a,
b){Fvc(a,b,a.c.b,a.c);return true}function ivc(a){a.a.b=a.b;a.b.a=a.a;a.a=a.b=null}function ei(a){this.c=a;this.b=this.c.a.oe().Md()}function At(a){if(a.c.e!=a.a)throw RU(new Gsc);}function mu(a){if(a.e.c!=a.b)throw RU(new Gsc);}function fV(a){if(YU(a))return a|0;return zD(a)}function Tr(a){return ks(new Yqc(a.a.b.Md()),a.b)}function rw(a){return new Nw(gw(a.a),new nw(a.b))}function ZC(a){return Array.isArray(a)&&a.lj===uV}function r$(a,b){var c;c=u2b(b,81);!!c&&a.Cg(c,4)}function H$(a,b){a.c=b;a.e=
b.tc;a.b=b.Xb;return a}function H0(a){!a.R&&(a.R=T0(a,XCc,0));return a.R}function gV(a){if(YU(a))return""+a;return AD(a)}function e_(a){if(a.n>0){xkc(a.i,10);++a.k;a.n=0}}function I2(a,b){a.Wb=b;b==(C3(),q3)&&(a.Ac=true)}function Xhc(){Xhc=qV;Vhc=(Xhc(),false);Whc=true}function oic(){oic=qV;nic=XC(kS,qAc,152,128,0,1)}function yjc(){yjc=qV;xjc=XC(vS,qAc,153,256,0,1)}function mjc(){mjc=qV;ljc=XC(tS,qAc,127,256,0,1)}function Hnb(){Hnb=qV;Gnb=$wnd.JSON.parse(Knb())}function Bfb(a){HV();Cfb.call(this,
a,(hpb(),fpb))}function Efb(a,b){qX.call(this);this.a=a;this.b=b}function vrb(){rlb.call(this,"Es6ExtractClasses")}function rrb(){rlb.call(this,"rewriteGenerators")}function trb(){M1.call(this,"es6SuperCheck",true)}function V1b(a){U1b.call(this,new W_b(a),a,false)}function ac(){Xb.call(this,"CharMatcher.ascii()")}function iy(a){Lm();this.a=(Gpc(),new vqc(he(a)))}function C2b(a){return a.j==(F7b(),c5b)||a.j==_6b}function D2b(a){return a.j==(F7b(),M6b)||a.j==J4b}function o_b(a){return(a.a&512)!=0||
(a.a&NDc)!=0}function Edc(a,b){return b?b:ndc(a.e,(Xcc(),Tcc))}function cdc(a,b,c){return bdc(a,b,hdc(a,true,c))}function adc(a,b,c){return _cc(a,b,hdc(a,true,c))}function Tsc(a,b){return ztc(a.a,b)?a.b[b.f]:null}function xyb(a,b){Rxb();return Eyb(a,1,Pxb,b,Oxb)}function lhc(a,b){T7b();s9b.call(this,a);this.a=b}function Cvc(a){_tc.call(this,new Yuc);_c(this,a)}function otc(a){this.c=a;this.a=new Mtc(this.c.a)}function Gf(a){Hf.call(this,a,false,(Cc(),Bc),_zc)}function Fkc(a,b){a.a+=vkc(b,0,b.length);
return a}function koc(a,b){Azc(b,a.a.length);return a.a[b]}function DC(a,b){!a&&(a=[]);a[a.length]=b;return a}function o1b(a,b){J_b(a.a,b);a.d=true;return true}function dAb(a){if(!a.N)return null;return a.N.r}function lpc(c){c.sort(function(a,b){return a-b})}function Ceb(a){a.j==(F7b(),Z4b)&&(a=a.b);return a}function HIb(a){var b;b=eKb(a.j);a.o=null;return b}function Qj(a,b){var c;c=Fv(a.a,b);return!c?0:c.a}function bpc(a,b){var c;for(c=0;c<b;++c)a[c]=-1}function dpc(a,b){var c;for(c=0;c<b;++c)a[c]=
-1}function f$(a,b){var c;for(c=b;c;c=c.d)a.Cg(c,4)}function Q2b(a){var b;b=a.b;!!b&&O2b(a,b);return b}function CGb(a,b){z3b(a.i)==-1&&DGb(a,b.o.b,b.o.a)}function hRb(a){return a.b.b==0?a.d:qRb(a,0).b.b.c}function Y1b(a){return new Z1b(k2b(a.a,false),a.b)}function pw(a){return new Lw(a.a.mf(),new lw(a.b))}function Tic(a){return PD(a)?UD((Bzc(a),a)):a._i()}function ulc(a,b){return SD(b)?vlc(a,b):quc(a.d,b)}function pec(a,b,c,d){return A8b(a,b,c,d)||!b.ei()}function Duc(a,b){return!(a.a.get(b)===undefined)}
function MD(a){return!Array.isArray(a)&&a.lj===uV}function Rjc(a,b){return Jzc((Bzc(a),a),(Bzc(b),b))}function goc(a,b,c){Dzc(b,a.a.length);azc(a.a,b,c)}function Usc(a,b,c){xtc(a.a,b);return Xsc(a,b.f,c)}function Ff(a,b){he(b);return new Hf(a.c,a.b,b,a.a)}function vh(a){var b;b=a.c;return!b?a.c=a.qe():b}function hg(a){var b;b=a.g;return!b?a.g=a._d():b}function Aic(a){var b;b=wic(a);b.n=a;b.g=1;return b}function mm(a){var b;b=a.c;return!b?a.c=a.Oe():b}function Vec(){Mec();Wec.call(this,(zv(),new Fwc))}
function Rnc(a){Qnc.call(this,a.size());_c(this,a)}function Xdb(a,b){this.c=a;this.b=new Avc;this.a=b}function khc(a,b){this.a=new soc;this.i=a;this.g=b}function lj(a,b){this.a=a;gj.call(this,a,a.d.Pd(b))}function Si(a,b,c,d){this.a=a;Ei.call(this,a,b,c,d)}function Ez(a,b){return fV(VU(SU($U(a.b.a,b),7),8))}function yz(a,b){return _b(($b(),Zb,b))&&a.e[b]!=-1}function hn(a,b){return b!=null&&a.Se().contains(b)}function ls(a,b){Yr();return ms(a,(ye(),new Ae(b)))}function Fo(a){km();he(a);this.b=(Gpc(),
new Vrc(a))}function Vz(a){Pz(this);this.f=a;Qz(this);this.sf()}function An(a){if(a.e)return a.e;return a.e=a.Te()}function Bn(a){if(a.f)return a.f;return a.f=a.Ue()}function BD(a,b){return dD(a.l^b.l,a.m^b.m,a.h^b.h)}function pD(a,b){return dD(a.l&b.l,a.m&b.m,a.h&b.h)}function L_(a){return Vjc("Array.isArray",v2b(a.b))}function ye(){ye=qV;new Vc(String.fromCharCode(44))}function jeb(){jeb=qV;ieb=new meb(null,false,null)}function Dab(a){this.b=a;this.a=Lpc((zv(),new huc))}function klb(a){this.c=new Qtc;
this.b=a;this.a=true}function $3b(a){q3b.call(this,(F7b(),J6b));this.a=a}function Gz(a,b,c){Fz.call(this,new zz(a,lkc(b)),c)}function Oz(a,b,c){Nz.call(this,new zz(a,lkc(b)),c)}function bac(a,b,c){dac.call(this,a,b,c,false,null)}function Yec(a,b){a.c=b;ND(b,56)?a.b=b:a.b=null}function Neb(a,b){hoc(a.c,b);_d(!b.g||b.g==a);b.g=a}function nlc(a,b){return olc(a,b,a.e)||olc(a,b,a.d)}function ojc(a,b){return TU(a,b)<0?-1:TU(a,b)>0?1:0}function byb(a){return(a.Ch()&504)!=0||Kwb(a.Bh())}function K7b(a){return/^[a-zA-Z_$][\w$]*$/.test(a)}
function pZb(a){throw RU(new yZb(kkc(a.a,a.d,a.b)));}function $tc(a){this.a=new Rtc(a.size());_c(this,a)}function Gwc(a){this.b=null;this.a=(ysc(),!a?xsc:a)}function Myc(a){this.c=a;this.e=true;this.a=new soc}function tj(a,b,c){this.a=a;Ei.call(this,a,b,c,null)}function uoc(a){foc(this);bzc(this.a,0,a.toArray())}function ar(a,b){Lm();_q.call(this,a,gn(new xpc(b)))}function Czc(a,b){if(a==null)throw RU(new Ejc(b));}function es(a,b){Yr();he(a);he(b);return new Gs(a,b)}function Sm(a){Lm();he(a);return Rm(Lu(Ef(a.a,
a.b)))}function hkc(a,b){return Vjc(a.substr(0,b.length),b)}function leb(a,b){return b==a.c?a:new meb(a.a,b,a.b)}function Aeb(a,b,c){return c?"{"+Deb(a,c.a)+"} "+b:b}function zib(a,b,c){sib();return $ib(a,new zkb(b),c)}function Ajb(a,b,c){sib();return $ib(a,new wkb(b),c)}function cpc(a,b,c){var d;for(d=0;d<b;++d)a[d]=c}function epc(a,b){var c;for(c=0;c<b;++c)a[c]=null}function q0(a,b,c){var d;d=rKb(b,a.H.mc,c);return d}function GOb(a){var b;b=pRb(a.j);a.g=b.b.a;return b}function Yob(a){var b;b=a;
while(b.c)b=b.c;return b}function P5(a){var b;b=(HV(),new Afb);b.d=a;return b}function tA(a){var b;b=(a&1)==1;a=a>>1;return b?-a:a}function d0b(a,b){var c;c=(ae(b>=0,tIc),1<<b);a.o|=c}function yGb(a,b){a.i&&a.d.hh(ZFc,a.r,b.b.b+1,b.b.a)}function NW(a,b){b.j!=a&&mX(CBc+a+" but was "+b.j,b)}function $wb(a,b){ne(!a.n.isEmpty());return fxb(a,b)}function mlc(a,b){return SD(b)?rlc(a,b):!!ouc(a.d,b)}function pGb(a,b,c,d){return j2b(new u3b(b,c,d),a.t)}function arc(a,b,c){return new brc(a.a.subList(b,c))}
function cgc(a){return a.d.Re(a.e.size(),a.d.size())}function mbc(a){this.b=new q3b((F7b(),Q6b));this.a=a}function Ub(){this.a=lkc("0123456789_.");lpc(this.a)}function $ub(){qX.call(this);this.a=P5((J5(),false))}function atb(a){Vsb();Xsb.call(this,PDc,null,a,null)}function X8b(a,b,c){T7b();Y8b.call(this,a,b,c,false)}function eq(a,b,c){this.a=a;le(c,b);this.c=b;this.b=c}function WA(a,b,c,d,e){RA.call(this,a,b,c,d);this.a=e}function Nz(a,b){Fz.call(this,a,b);_d(a.c.length==64)}function Z9(a,b,c){this.d=
a;this.c=he(b);this.e=he(c)}function Xsc(a,b,c){var d;d=a.b[b];a.b[b]=c;return d}function Lnc(a){var b;b=Hnc(a);zzc(b!=null);return b}function he(a){if(a==null)throw RU(new Cjc);return a}function Jyb(a){if((a&24)!=0)return a|8|16;return a}function Ooc(a){Fzc(a.b!=-1);noc(a.c,a.a=a.b);a.b=-1}function pgb(a,b){var c;ne(!a.r);a.u=(km(),c=b,xo(c))}function tpb(a,b){npb();return new Cpb((new zpb,a),b)}function rGb(a,b){return j2b(new $3b((Bzc(b),b)),a.t)}function iyb(a,b){return dEb(a.Dh(),b)||dEb(a.Bh(),
b)}function ayb(a){return!a.Dh().isEmpty()||Jwb(a.Bh())}function Exc(a,b){return a.a.put(b,(Xhc(),Vhc))==null}function iqc(a,b){return slc(a.a,b,(Xhc(),Whc))==null}function Vtc(a,b){var c;c=a.a.put(b,a);return c==null}function Zyc(a,b){var c;c=a.slice(0,b);return _C(c,a)}function _yc(a,b){var c;c=new Array(b);return _C(c,a)}function Mr(a,b){he(a);ae(b>=0,UAc);return new Ur(a,b)}function xq(a,b){return mm(An(a.a)).getAtIndex(b).xe()}function Us(a){this.b=(Yr(),Yr(),Yr(),Wr);this.a=he(a)}function Nc(){Xb.call(this,
"CharMatcher.whitespace()")}function elc(a){dfb.call(this,a==null?iAc:(Bzc(a),a))}function hlc(a){dfb.call(this,a==null?iAc:(Bzc(a),a))}function Qq(){Rq.call(this,pw(ew((cl(8,TAc),new jw))))}function Qnc(a){wnc(this);dzc(this.a,cjc(8>a?8:a)<<1)}function lbb(a,b){this.b=a;this.j=b;this.p=(ubb(),sbb)}function gfb(a,b,c){dfb.call(this,a);this.b=b;this.a=c}function pfb(a){this.b=new soc;this.c=new soc;this.a=a}function dmb(a){this.d=a;this.b=new soc;this.a=new Ytc}function Lm(){Lm=qV;km();Km=new px((Gpc(),
Gpc(),Epc))}function ux(){ux=qV;km();tx=new vx((Gpc(),Gpc(),Fpc))}function as(a){Yr();he(a);while(a.Ed()){a.Fd();a.Gd()}}function Xjc(a,b,c,d,e){while(b<c)d[e++]=Qjc(a,b++)}function cac(a,b,c,d,e){T7b();dac.call(this,a,b,c,d,e)}function aRb(a,b,c){pOb();bRb.call(this,a,b,c,0,false)}function gRb(a,b,c){return new XMb(b,hOb(a.e.b,c,a.d))}function plc(a,b){return SD(b)?qlc(a,b):ih(ouc(a.d,b))}function wkc(a,b){return a.a+=String.fromCharCode(b),a}function xkc(a,b){a.a+=String.fromCharCode(b);return a}
function Hhc(a,b){Ghc(a,b,b+1,String.fromCharCode(32))}function $lb(a,b){a.e&&(a.d=b.j==(F7b(),Q5b)?b:Ulb(b))}function g2(a){!a.i&&(a.i=dub(a.b.C,a.f.a));return a.i}function Cnc(a){var b;b=a.a[a.b];zzc(b!=null);return b}function n9b(a){var b;b=new Gxc;Nec(a.Ei(),b);return b}function Yu(a,b){var c;c=a.a.size();le(b,c);return c-b}function Rj(a){var b;b=a.a.oe().Md();return new _j(a,b)}function Ex(a){if(ND(a,309))return a;return new by(a)}function Bzc(a){if(a==null)throw RU(new Cjc);return a}function Lvc(){this.a=
new Zvc;this.c=new Zvc;Kvc(this)}function Td(a){this.b=new Vd;this.c=this.b;this.a=he(a)}function Bt(a){this.c=a;this.b=this.c.a;this.a=this.c.e}function d8(a,b){b8(this);this.e=a;this.f=b;this.a=true}function lr(a,b){kr();co.call(this,a);this.a=b;this.c=a}function nx(){Qp.call(this,new rx(new Qtc));this.a=this}function Lz(){Kz.call(this,new zz("base16()",lkc(mAc)))}function xrb(){rlb.call(this,"Es6RewriteDestructuring")}function Brb(){rlb.call(this,"Es6RewriteArrowFunction")}function Ozb(a){if(a.b)return null;
return o2b(a.c,a.a)}function mjb(a){sib();return a.j==(F7b(),P5b)||a.j==O5b}function rjb(a){sib();return a.j==(F7b(),W5b)||a.j==V5b}function Wd(a,b){return TD(a)===TD(b)||a!=null&&nb(a,b)}function yDb(a,b){ne(!a.f);XDb(a.w,dEc,a.u)||Vtc(a.n,b)}function Mcb(a,b){Vtc(a.a.a,b);Vtc(a.a.i,b);return null}function H7(a,b){var c;c=new c8;gib(a.a,b,c);return c.d}function Deb(a,b){var c;c=new Ikc;yeb(a,c,b);return c.a}function ZMb(a,b){XMb.call(this,(hUb(),RSb),a);this.a=b}function rUb(a,b){pUb.call(this,(SXb(),
dWb),a);this.a=b}function sUb(a,b){pUb.call(this,(SXb(),eWb),a);this.a=b}function tUb(a,b){pUb.call(this,(SXb(),fWb),a);this.a=b}function uUb(a,b){pUb.call(this,(SXb(),gWb),a);this.a=b}function vUb(a,b){pUb.call(this,(SXb(),hWb),a);this.a=b}function wUb(a,b){pUb.call(this,(SXb(),iWb),a);this.a=b}function xUb(a,b){pUb.call(this,(SXb(),jWb),a);this.a=b}function zUb(a,b){pUb.call(this,(SXb(),lWb),a);this.a=b}function AUb(a,b){pUb.call(this,(SXb(),mWb),a);this.a=b}function GUb(a,b){pUb.call(this,(SXb(),
sWb),a);this.a=b}function ZUb(a,b){pUb.call(this,(SXb(),CWb),a);this.a=b}function _Ub(a,b){pUb.call(this,(SXb(),EWb),a);this.a=b}function gVb(a,b){pUb.call(this,(SXb(),LWb),a);this.a=b}function hVb(a,b){pUb.call(this,(SXb(),MWb),a);this.a=b}function lVb(a,b){pUb.call(this,(SXb(),NWb),a);this.a=b}function HVb(a,b){pUb.call(this,(SXb(),TWb),a);this.a=b}function JVb(a,b){pUb.call(this,(SXb(),VWb),a);this.a=b}function QVb(a,b){pUb.call(this,(SXb(),aXb),a);this.a=b}function WVb(a,b){pUb.call(this,(SXb(),
hXb),a);this.a=b}function $Vb(a,b){pUb.call(this,(SXb(),lXb),a);this.a=b}function _Vb(a,b){pUb.call(this,(SXb(),mXb),a);this.a=b}function _Xb(a,b){pUb.call(this,(SXb(),wXb),a);this.a=b}function XXb(a,b){pUb.call(this,(SXb(),sXb),a);this.a=b}function YXb(a,b){pUb.call(this,(SXb(),tXb),a);this.a=b}function ZXb(a,b){pUb.call(this,(SXb(),uXb),a);this.a=b}function aWb(a,b){pUb.call(this,(SXb(),nXb),a);this.a=b}function cWb(a,b){pUb.call(this,(SXb(),pXb),a);this.a=b}function dYb(a,b){pUb.call(this,(SXb(),
AXb),a);this.a=b}function eYb(a,b){pUb.call(this,(SXb(),BXb),a);this.a=b}function gYb(a,b){pUb.call(this,(SXb(),DXb),a);this.a=b}function jYb(a,b){pUb.call(this,(SXb(),HXb),a);this.a=b}function kYb(a,b){pUb.call(this,(SXb(),IXb),a);this.a=b}function nYb(a,b){pUb.call(this,(SXb(),KXb),a);this.a=b}function rYb(a,b){pUb.call(this,(SXb(),OXb),a);this.a=b}function Zec(a,b){t9b.call(this,a,null);Yec(this,he(b))}function wvc(a){this.c=a;this.b=a.a.b.a;Esc(a.a.c,this)}function d8b(a,b){this.u=a;this.v=!b?
idc(a,null,null):b}function Hf(a,b,c,d){this.c=a;this.b=b;this.d=c;this.a=d}function R4(a){O4();this.a=null;this.b=(km(),new ly(a))}function ej(a){Bi(a.d);if(a.d.d!=a.c)throw RU(new Gsc);}function Dsc(a,b){if(b[NIc]!=a[NIc])throw RU(new Gsc);}function p1(a,b){!a.H&&Q0(a,new J2);return q1(a,b,true)}function Xu(a,b){var c;c=a.a.size();ge(b,c);return c-1-b}function eic(a){var b;b=a-10;return(b<0?48+a:97+b)&gAc}function Txc(a,b,c){return Qxc(a,b)?Rxc(a,b):Sxc(a,b,c)}function exc(a,b){return vwc(a.c,a.f,
b,a.b,a.a,a.e,a.d)}function pkc(a){return String.fromCharCode.apply(null,a)}function Qsc(a){bd(a.a);a.b=XC(AS,qAc,1,a.b.length,5,1)}function Nv(){Lv();return $C(VC(NG,1),vAc,187,0,[Jv,Kv])}function E_(){C_();return $C(VC(_I,1),vAc,267,0,[A_,B_])}function b3(){_2();return $C(VC(nJ,1),vAc,258,0,[Z2,$2])}function u9(a,b){var c;c=D9(b);ne(!!c);v9(a,c,b);d1(a.a)}function kt(a,b,c,d){Xp.call(this,a,b);this.d=c;this.a=d}function X$(a,b,c,d){P$.call(this,c,d);this.a=a;this.c=b}function VB(a,b,c,d){this.d=
a;this.c=b;this.a=c;this.b=d}function PB(a,b,c,d){this.c=a;this.d=b;this.b=c;this.a=d}function K1(a,b,c,d){this.a=a;this.b=b;this.d=c;this.c=d}function GFb(a,b,c,d){FFb.call(this,a,(LFb(),KFb),b,c,d)}function Gob(a,b,c,d,e){c1(a.a,Dob(a,b,c,d,e,(kY(),hY)))}function Hob(a,b,c,d,e){c1(a.a,Dob(a,b,c,d,e,(kY(),jY)))}function qGb(a,b,c,d,e){return j2b(new v3b(b,c,d,e),a.t)}function tGb(a,b){return j2b(new q4b((F7b(),h7b),b),a.t)}function r$b(a){ne(ZZb(a));return new s3b((F7b(),r7b),a)}function v$b(a){ne(ZZb(a));
return new s3b((F7b(),E7b),a)}function j$b(a){ne(ZZb(a));return new s3b((F7b(),$6b),a)}function Dub(){Cub();return $C(VC(lN,1),vAc,279,0,[Bub])}function K9b(a,b,c,d){return A8b(a,b,c,d)||a.d.ki(b,c,d)}function _cc(a,b,c){return abc(ebc(dbc(new hbc(a),c),b))}function Nec(a,b){var c;c=Lpc((zv(),new huc));Oec(a,b,c)}function fdc(a,b){var c;c=new mbc(a);ibc(c,b);return c.b}function JIb(a,b){a.o=!a.o?dKb(a.j):BIb(a);return a.o==b}function Jxb(a,b){he(b);ne(a.n.isEmpty());a.n=b;return a}function hjc(a,
b){while(b-- >0)a=a<<1|(a<0?1:0);return a}function xrc(a){!a.b&&(a.b=new _rc(a.d.oe()));return a.b}function Ofc(a){this.c=(kr(),new ur(($w(),Zw)));this.d=a}function boc(a){this.d=a;this.a=this.d.b;this.b=this.d.c}function cSb(a,b){this.c=a;this.a=b;this.b=new iOb(this)}function l4(a){k4.call(this,(Lm(),he(a),Tm(new xpc(a))))}function nlb(){M1.call(this,"garbageCollectChecks",true)}function slc(a,b,c){return SD(b)?tlc(a,b,c):puc(a.d,b,c)}function Wsc(a,b){return Btc(a.a,b)?Xsc(a,b.f,null):null}function hwc(a,
b){return TD(a)===TD(b)||a!=null&&nb(a,b)}function iUb(a){return a.a==null?(YNb(),bo(zNb,a)).b:a.a}function Ghc(a,b,c,d){a.a=kkc(a.a,0,b)+(""+d)+jkc(a.a,c)}function nuc(a,b){var c;c=a.a.get(b);return c==null?[]:c}function v5(a,b){var c;c=new S4(a,b);tlc(s5,a,c);return c}function w5(a,b){var c;c=new T4(a,b);tlc(s5,a,c);return c}function wj(a){var b;b=a.d;!b&&(a.d=b=new Dk(a));return b}function vj(a){var b;b=a.c;!b&&(a.c=b=new zk(a));return b}function bd(a){var b;for(b=a.Md();b.Ed();){b.Fd();b.Gd()}}
function i2(a){if(!a.a||!a.a.Lg())return;a.a.Lg().d=true}function iRb(a){return jRb(a,a.b.b==0?a.d:qRb(a,0).b.b.c)}function wKb(a,b,c,d){var e;a.d=true;e=gZb(c,d);a.Hh(b,e)}function AYb(a,b,c,d){this.d=a;this.c=b;this.b=c;this.a=d}function $Lb(a,b,c,d){this.b=a;this.d=b;this.a=c;this.c=d}function Iec(a,b,c,d){this.c=a;this.e=b;this.b=c;this.d=d}function Mjc(a,b,c){this.a=oBc;this.d=a;this.b=b;this.c=c}function UMb(a,b,c,d){Re.call(this,a,b);this.b=c;this.a=d}function ZNb(a,b,c,d){Re.call(this,a,b);
this.b=c;this.a=d}function M$(a){this.c=new J2;this.a=new N$(this);this.g=a}function rgc(){rgc=qV;ogc=new ugc;pgc=new ygc;qgc=new Cgc}function Uzc(){if(Pzc==256){Ozc=Qzc;Qzc={};Pzc=0}++Pzc}function X1b(a){if(!a)return new V1b(true);return W1b(a)}function ie(a,b){if(a==null)throw RU(new Ejc(b));return a}function gZb(a,b){var c;c=new fZb;SYb(c,a,b);return c.c.a}function Byc(a,b,c,d){var e;e=new Ayc(b,c);e.c=d;Cyc(a,e)}function Gyc(a,b,c){b._i()>=(Fyc(a),800)&&Byc(a,b,c,null)}function Leb(a,b,c,d,e,
f){return new Geb(a,null,b,c,e,d,f)}function vlc(a,b){return b==null?quc(a.d,null):Guc(a.e,b)}function G2(a){return a.Wb!=(C3(),B3)&&E3(a.Vb)&&!E3(a.Wb)}function F2(a){if(a.Wb==(C3(),B3))return a.Vb;return a.Wb}function Nlb(a){var b;b=new Llb;d$(new w$(b),a,4);return b}function ct(a){var b;return b=a.g,!b?a.g=new pi(a,a.c):b}function GC(){GC=qV;var a,b;b=!LC();a=new TC;FC=b?new MC:a}function vC(a){pC();$wnd.setTimeout(function(){throw a;},0)}function jrb(){M1.call(this,"rewriteAsyncFunctions",true)}
function Cfb(a,b){LV.call(this,a);yfb(this);he(a);this.a=b}function tfb(a,b,c){this.c=he(a);this.a=he(b);this.b=he(c)}function pnb(a,b,c){var d;tnb.call(this,a,b,(d=c,F7b(),d))}function qnb(a,b,c){var d;tnb.call(this,a,b,(d=c,F7b(),d))}function rnb(a,b,c){var d;tnb.call(this,a,b,(d=c,F7b(),d))}function eub(a,b,c){cub();fub.call(this,a,b,c,(Cub(),Bub))}function IYb(a,b){FYb();var c;c=HYb(a);++c.a;c.b=SU(c.b,b)}function Yhb(a,b){i1(a.c,b);sib();Atc(kib,b.j)&&xnc(a.b,b)}function oAb(a,b){ne(!a.K);he(b);
a.K=b;a.L=is(b.Dh().Md())}function VW(a,b){NW((F7b(),Q6b),b);E3(a.a.v)?XW(a,b):WW(b)}function Rz(a,b){a.backingJsObject=b;b!=null&&Lzc(b,cBc,a)}function NZb(a){oe(ZZb(a),a);return new s3b((F7b(),L5b),a)}function p4b(a,b){if(null==b)throw RU(new dfb(BIc));a.a=b}function Wyc(a){var b;b=new Vyc;b.a=new RegExp(a);return b}function df(){df=qV;af=new gf;_e=new kf;bf=new nf;cf=new qf}function pOb(){pOb=qV;oOb=Wyc("^//#\\s*sourceMappingURL=")}function i2b(a){return!a.b?(Gpc(),Gpc(),Fpc):new k4b(a.b)}function Nx(a){return yo(new Poc(Vq(Vq(new Wq,
a.a),a.b).a))}function hV(a,b){return UU(BD(YU(a)?dV(a):a,YU(b)?dV(b):b))}function GV(){EV();return $C(VC(FI,1),vAc,208,0,[BV,DV,CV])}function ZV(){XV();return $C(VC(JI,1),vAc,219,0,[VV,WV,UV])}function mY(){kY();return $C(VC(OI,1),vAc,215,0,[hY,jY,iY])}function Y2(){W2();return $C(VC(mJ,1),vAc,211,0,[U2,V2,T2])}function h3(){f3();return $C(VC(oJ,1),vAc,212,0,[c3,d3,e3])}function N3(){L3();return $C(VC(sJ,1),vAc,213,0,[I3,K3,J3])}function _3(){Z3();return $C(VC(uJ,1),vAc,214,0,[X3,W3,Y3])}function Lr(a){if(a)return a.isEmpty();
return!a.Md().Ed()}function Ci(a){a.b?Ci(a.b):a.d.isEmpty()&&a.f.c.remove(a.e)}function Kvc(a){a.a.a=a.c;a.c.b=a.a;a.a.b=a.c.a=null;a.b=0}function ru(a){this.b=a;this.c=a;a.e=null;a.c=null;this.a=1}function y5(a,b,c){this.c=a;this.a=b;this.b=c;this.d=this.a}function Zsc(a){this.a=ytc(a.a);this.b=Zyc(a.b,a.b.length)}function $sc(a){this.a=ytc(a.a);this.b=Zyc(a.b,a.b.length)}function qq(a){this.b=(cl(a,"initialArraySize"),new toc(a))}function ks(a,b){Yr();he(a);ae(b>=0,UAc);return new Ps(b,a)}function ajb(a){sib();
_d(a.j==(F7b(),t7b));return p2b(a)==3}function Rjb(a){sib();return a.j==(F7b(),Q5b)&&s2b(a,60)==0}function ODb(a,b){ne(b.g==0);return a==b||!!a.o&&sBb(a.o,b)}function amc(a){zzc(a.b>0);return a.a.getAtIndex(a.c=--a.b)}function Opc(a){Gpc();return ND(a,76)?new qsc(a):new brc(a)}function V7b(a,b){return ND(b,20)&&U7b(a,b,0,new Kbc(true))}function LIb(a,b){return j2b(new r3b(b,a.j.g,cKb(a.j)),a.n)}function rlc(a,b){return b==null?!!ouc(a.d,null):Duc(a.e,b)}function ah(a,b){return b===a?"(this Map)":
b==null?iAc:tV(b)}function Tz(a,b){var c;c=sic(a.jj);return b==null?c:c+": "+b}function sB(a,b){var c,d;d=b.b;c=b.a;return d!=0?c:c+a.c.i.a}function o2b(a,b){var c;c=a.b;while(b>0){c=c.d;--b}return c}function p2b(a){var b,c;b=0;for(c=a.b;c;c=c.d)++b;return b}function kmb(a){var b;b=a.b.i>a.a;a.a=a.b.t;++a.b.t;return b}function Thb(a){var b;b=Onc(a.k)+Onc(a.j);ne(b>0);return b-1}function Gkc(a,b){a.a=kkc(a.a,0,b)+""+jkc(a.a,b+1);return a}function Zlb(a){if(a.e){a.g=k2b(a.f,false);a.k=Sjb(a.f,a.g)}}
function JDb(a,b){if(a.g!=0)return LDb(a,b);return KDb(a,b)}function znb(){xnb();return $C(VC(aM,1),vAc,264,0,[wnb,vnb])}function Tpb(){Rpb();return $C(VC(DM,1),vAc,184,0,[Ppb,Qpb])}function Kpb(){Ipb();return $C(VC(AM,1),vAc,185,0,[Gpb,Hpb])}function jpb(){hpb();return $C(VC(rM,1),vAc,179,0,[fpb,gpb])}function Rec(a){if(!a.a)return Lm(),Lm(),Km;return a.a.Ai()}function Ilc(a,b){if(ND(b,58))return Xg(a.a,b);return false}function htc(a,b){if(ND(b,58))return Xg(a.a,b);return false}function Brc(a){!a.e&&
(a.e=new Iqc(a.d.values()));return a.e}function zrc(a){!a.c&&(a.c=new Vrc(a.d.keySet()));return a.c}function lvc(a,b){if(ND(b,58))return Xg(a.a,b);return false}function rV(a){function b(){}b.prototype=a||{};return new b}function J5(){J5=qV;F5=new M5;H5=new N5;G5=new O5;I5=new Q5}function Ar(){Ar=qV;km();zr=($w(),Zw);yr=new wx(new Ixc(zr))}function $rc(a,b){var c;for(c=0;c<b;++c)a[c]=new jsc(a[c])}function m0(a){var b;if(a.H.vc){b=v0(a);Vjc(b,a.A)||(a.A=b)}}function Gl(a,b){var c;return c=bo(a.a,b),
!c?(Lm(),Lm(),Km):c}function JV(a,b,c){if(!a.d)return b;return c.a+b+(RV(),OV).a}function ae(a,b){if(!a)throw RU(new dfb(b==null?iAc:tV(b)));}function oe(a,b){if(!a)throw RU(new Xic(b==null?iAc:tV(b)));}function ouc(a,b){return muc(a,b,nuc(a,b==null?0:a.b.bj(b)))}function Sjc(a,b){return Rjc(a.toLowerCase(),b.toLowerCase())}function apb(a){return Bib(a.d)&&!!a.c&&a.c.d.j==(F7b(),Q5b)}function UD(a){return Math.max(Math.min(a,_zc),-2147483648)|0}function tuc(a){this.e=a;this.b=this.e.a.entries();this.a=
[]}function fob(a,b){this.a=a;this.b=b;this.c=xo(Nr(b.We(),cob))}function Yfb(a,b,c){Qfb.call(this);this.a=a;this.c=b;this.b=c}function dpb(a){Vob(this);he(a);this.c=null;this.d=a;this.b=0}function Cpb(a,b){npb();spb.call(this,a);this.b=b;this.e=null}function gEb(a){he(a);this.a=(kEb(),iEb);this.b=null;this.c=a}function GYb(){FYb();this.a="Parse Program";this.b=XU(kzc())}function Frb(){rlb.call(this,"Es6SplitVariableDeclarations")}function E4(){y4();var a;z4(this);a=new Ztc(Bv(0));D4(this,a)}function sKb(a){return xo(Cf(Ff(If(new nc(44)),
(Mc(),Kc)),a))}function bdc(a,b,c){return abc(bbc(ebc(dbc(new hbc(a),c),b)))}function qzb(a,b,c,d){return pzb(a,b,d,!c?(Lm(),Lm(),Km):c.p)}function qlc(a,b){return b==null?ih(ouc(a.d,null)):Euc(a.e,b)}function l0(a,b){if(a.H.rd){Ekc(a.d,b);xkc(a.d,10);Eyc(i0,b)}}function w_b(a,b){if(!a.d.s)return false;return Tuc(a.d.s,b)}function _$b(a){if(!a.d||!a.d.n)return 0;return xlc(a.d.n.c)}function Pzb(a){if(a.b)return a.b.Ed();return a.a+1<p2b(a.c)}function tp(a,b,c,d){he(b);he(c);he(d);return sp(a,b).put(c,
d)}function wx(a){Fo.call(this,a);he(a);this.a=(Gpc(),new usc(a))}function Wz(a,b){Pz(this);this.e=b;this.f=a;Qz(this);this.sf()}function zwc(a,b){var c,d;c=b;d=new bxc;Bwc(a,c,d);return d.d}function r9(a,b){var c;c=D9(b);if(c)return B9(a,c,b);return 0}function cib(a,b){var c,d;for(c=b.b;c;){d=c.d;bib(a,c,b);c=d}}function hvc(a){var b;b=a.c.b.b;a.b=b;a.a=a.c.b;b.a=a.c.b.b=a}function hfb(a,b){if(!a.c){jfb(a,b);N2b(a.c,53,a.b)}return a.c}function Yz(b){if(!(dBc in b))try{throw b;}catch(a){}return b}
function oxb(a){if(a.n.isEmpty())return a;return $wb(a,a.a.i)}function Bzb(a,b,c,d){if(!b)return null;return Azb(a,b.a,c,d)}function rzb(a,b,c){Jzb(a,b,c);return ne(b.d==(Rwb(),Qwb)),b.b}function Czb(a,b,c){Kzb(a,b,c);return ne(b.a==(kEb(),jEb)),b.b}function n_b(a){return(a.a&2)!=0||(a.a&512)!=0||(a.a&NDc)!=0}function wBb(a){return!SDb(a.a,_Dc)&&!RDb(a.a)&&!SDb(a.a,kFc)}function tCb(a){return ICb(a.a.t,a,null,null,null,false,a.a.i)}function AIb(a,b){return!b?null:new Z1b(b,!a.g?null:a.g.Ig())}function Oic(a){return Vjc(Yzc,
typeof a)||a instanceof Number}function Jnc(a,b){if(znc(a,b)){aoc(a);return true}return false}function Zrc(a,b){var c;c=a.b.Nd(b);$rc(c,a.b.size());return c}function mq(a,b,c){hoc(a.b,(bl(b,c),zv(),new Xp(b,c)));return a}function tr(a,b,c){hoc(a.b,(bl(b,c),zv(),new Xp(b,c)));return a}function b2b(a,b,c){ae(!b.d,vIc);ae(!b.f,wIc);b.f=b;f2b(a,b,c)}function $9(a,b,c,d){this.b=a;Z9.call(this,a,c,d);this.a=he(b)}function Qfb(){Pfb(this);this.e=true;this.g=new Kp;this.f=this}function RA(a,b,c,d){LA.call(this,
a);this.c=b;this.d=c;this.b=d}function zrb(){rlb.call(this,"Es6RenameVariablesInParamLists")}function wyc(a,b){b.c.length==0&&Dyc(b,new Pyc);tlc(a.a,b.c,b)}function Cic(a,b){var c=a.a=a.a||[];return c[b]||(c[b]=a.Vi(b))}function vab(a,b){var c;gib(a.a,b,a);f1(a.a,(km(),c=a.b,xo(c)))}function Wu(a,b){var c,d;d=Yu(a,b);c=a.a.Pd(d);return new jv(c)}function wu(a){Lt(a.c);a.e=a.a=a.c;a.c=a.c.c;++a.d;return a.a.f}function xu(a){Lt(a.e);a.c=a.a=a.e;a.e=a.e.e;--a.d;return a.a.f}function GZ(a){if(a.r){a.ig(";");
a.yg()}a.kg();a.rg();a.r=false}function oW(a,b){NW((F7b(),C5b),b);HW(b.b);pW(a,b.b?b.b.f:null)}function Hjb(a){return a.j==(F7b(),L5b)&&a.b.j==L4b&&Gjb(a.b.b)}function sCb(a,b){return ICb(a.a,b,null,a,null,a.c,(TBb(),RBb))}function ff(){df();return $C(VC(DE,1),vAc,131,0,[af,_e,bf,cf])}function S2(){Q2();return $C(VC(lJ,1),vAc,180,0,[N2,O2,P2,M2])}function L5(){J5();return $C(VC(KJ,1),vAc,128,0,[F5,H5,G5,I5])}function $Zb(a){if(!_Zb(a))return a.j==(F7b(),$6b);return true}function W$b(a){if(!a.d||!a.d.e)return 0;
return a.d.e.a.length}function c0b(a,b){var c;c=(ae(b>=0,tIc),1<<b);return(c&a.o)!=0}function k3b(a,b,c,d){var e;e=new Ikc;j3b(a,e,b,c,d);return e.a}function Mfc(a,b,c,d){a.b=false;tr(a.c,b,new Pfc(c,d));return a}function Hkc(a,b,c){a.a=kkc(a.a,0,b)+(""+c)+jkc(a.a,b);return a}function Uwb(a,b,c,d){Awb.call(this,a,b,d);he(b);he(c);this.a=c}function Xsb(a,b,c,d){Vsb();this.b=a;this.c=b;this.d=c;this.a=d}function iC(a){gC();eC.call(this,a);this.a="";this.b=a;this.a=""}function Hrb(){rlb.call(this,"es6ConvertSuperConstructorCalls")}
function e1(a,b){ie(b,"the error manager cannot be null");a.f=b}function Dr(a,b){Ar();he(a);return he(a),Er(a,new Yqc(b.b.Md()))}function Rc(a,b,c,d){return Sc(a,(he(d),new Ylc(new Kd(d,b,c))))}function tlc(a,b,c){return b==null?puc(a.d,null,c):Fuc(a.e,b,c)}function _0(a,b,c){!a.t&&(a.t=new Qtc);c.b=a;return slc(a.t,b,c)}function Xf(a){if(a.b>=a.c)throw RU(new gwc);return dq(a,a.b++)}function A8(a,b){if(apb(a.d))return!!Zob(a.d.c,b);return false}function FRb(a){while(VRb(kRb(a,a.d)?Qjc(a.e.a,a.d):
0))lRb(a)}function sW(a){var b;NW((F7b(),K5b),a);for(b=a.b;b;b=b.d)rW(b)}function yW(a){var b;NW((F7b(),c6b),a);for(b=a.b;b;b=b.d)xW(b)}function g4(a,b){var c,d;for(d=b.Md();d.Ed();){c=d.Fd();f4(a,c)}}function o2(a,b){return yo(new Poc(Vq(Vq((km(),new Wq),a),b).a))}function Xyc(a){return a.replace(/[.?*+^$[\]\\(){}|-]/g,"\\$&")}function lob(a){beb();this.b=a;eeb.call(this,a.a);this.a=new Avc}function Ktb(){Itb();return $C(VC(cN,1),vAc,218,0,[Htb,Gtb,Ftb])}function mEb(){kEb();return $C(VC(YN,1),vAc,
248,0,[iEb,hEb,jEb])}function Twb(){Rwb();return $C(VC(uN,1),vAc,249,0,[Pwb,Owb,Qwb])}function pDb(){nDb();return $C(VC(TN,1),vAc,247,0,[kDb,lDb,mDb])}function Xzb(){Vzb();return $C(VC(CN,1),vAc,225,0,[Tzb,Szb,Uzb])}function NFb(){LFb();return $C(VC(bO,1),vAc,221,0,[KFb,IFb,JFb])}function CJb(){AJb();return $C(VC(iO,1),vAc,246,0,[yJb,zJb,xJb])}function sbc(){qbc();return $C(VC(tR,1),vAc,233,0,[pbc,nbc,obc])}function Tbc(){Rbc();return $C(VC(AR,1),vAc,230,0,[Obc,Pbc,Qbc])}function tgc(){rgc();return $C(VC($R,
1),vAc,159,0,[ogc,pgc,qgc])}function C_(){C_=qV;A_=new D_("INHERITS",0);B_=new D_("MIXIN",1)}function _2(){_2=qV;Z2=new a3("BROWSER",0);$2=new a3("CUSTOM",1)}function Ehc(){throw RU(new Pkc("File.getPath not implemented"));}function dA(){throw RU(new Pkc("Files.toString not implemented"));}function WRb(a){return XRb(a)||/\d/.test(String.fromCharCode(a))}function lRb(a){if(!kRb(a,a.d))return 0;return Qjc(a.e.a,a.d++)}function j_b(a){if(!a.d||!a.d.s)return mx(),lx;return Hn(a.d.s)}function KV(a,b){if(!a.d)return b;
return(RV(),MV).a+(""+b)+PV.a}function h2(a){if(!a.a||!a.a.Lg())return false;return a.a.Lg().d}function s2b(a,b){var c;c=I2b(a,b);if(!c)return 0;return c.Sh()}function eV(a){var b;if(YU(a)){b=a;return b==-0?0:b}return yD(a)}function px(a){Lm();this.a=(Gpc(),ND(a,76)?new qsc(a):new brc(a))}function Mnb(a){he(a);this.a=a;this.b=new Pnc;xnc(this.b,new Rnb)}function cy(a,b){Qp.call(this,Npc(he(a),he(b)));this.b=a;this.c=b}function prb(){rlb.call(this,"Es6RewriteBlockScopedDeclaration")}function Uhc(a){Shc.call(this,
a==null?iAc:tV(a),ND(a,40)?a:null)}function gib(a,b,c){Phb();var d;d=new fib(a,c,new D8(a));aib(d,b)}function rKb(a,b,c){var d;tKb();d=pKb;return new FFb(d,b,qKb,a,c)}function XQb(a,b,c,d){!b?wKb(a.c,iRb(a.j),c,d):wKb(a.c,b.b.b,c,d)}function tRb(a,b,c){sRb(a,jRb(a,a.b.b==0?a.d:qRb(a,0).b.b.c),b,c)}function uIb(a,b,c,d){a.b.ih(D4b(b,null),!a.g?null:a.g.Ig(),c,d)}function Ckc(a,b,c,d){a.a+=""+kkc(b==null?iAc:tV(b),c,d);return a}function xOb(a,b){if(qRb(a.j,0).c==b)return tOb(a,b);return null}function ync(a,
b){Bzc(b);a.a[a.c]=b;a.c=a.c+1&a.a.length-1;Bnc(a)}function xnc(a,b){Bzc(b);a.b=a.b-1&a.a.length-1;a.a[a.b]=b;Bnc(a)}function Noc(a){zzc(a.a<a.c.a.length);a.b=a.a++;return a.c.a[a.b]}function Qxc(a,b){if(b==null)throw RU(new Cjc);return mlc(a.a,b)}function Rxc(a,b){if(b==null)throw RU(new Cjc);return plc(a.a,b)}function Hyc(a,b,c){Fyc(a);Byc(a,b,"Failed to parse sourcemap",c)}function ekc(a,b,c){c=skc(c);return a.replace(new RegExp(b,"g"),c)}function wyb(a){Rxb();return Eyb(a.a,2,(km(),new ly(a)),
null,Oxb)}function TV(){RV();return $C(VC(HI,1),vAc,168,0,[NV,QV,OV,MV,PV])}function p3(){n3();return $C(VC(pJ,1),vAc,165,0,[j3,m3,k3,l3,i3])}function V3(){T3();return $C(VC(tJ,1),vAc,164,0,[O3,R3,P3,S3,Q3])}function bDb(a){return a.a==(nDb(),mDb)?a:new cDb(a.c,a.d,a.b,mDb)}function Lib(a){sib();ae(a.j==(F7b(),Q5b),a);return a.b?a.b.f:null}function KIb(a,b,c){a.o=!a.o?dKb(a.j):BIb(a);return a.o==b||a.o==c}function qRb(a,b){while(a.b.b<=b)Dvc(a.b,ARb(a));return Yt(a.b,b)}function iGb(a,b){if(!EGb(b))return null;
return hGb(a,eGb(a,b.o))}function Hzb(a,b,c,d,e){if(!b)return null;return Izb(a,b.a,c,d,e)}function cDb(a,b,c,d){_d(!!b);this.c=a;this.d=b;this.b=c;this.a=d}function BUb(a,b,c){pUb.call(this,(SXb(),nWb),a);this.b=b;this.a=c}function EUb(a,b,c){pUb.call(this,(SXb(),qWb),a);this.b=b;this.a=c}function DUb(a,b,c){pUb.call(this,(SXb(),pWb),a);this.a=b;this.b=c}function TUb(a,b,c){pUb.call(this,(SXb(),wWb),a);this.a=b;this.b=c}function bVb(a,b,c){pUb.call(this,(SXb(),GWb),a);this.a=b;this.b=c}function aVb(a,
b,c){pUb.call(this,(SXb(),FWb),a);this.b=b;this.a=c}function dVb(a,b,c){pUb.call(this,(SXb(),IWb),a);this.b=b;this.a=c}function fVb(a,b,c){pUb.call(this,(SXb(),KWb),a);this.b=b;this.a=c}function MVb(a,b,c){pUb.call(this,(SXb(),YWb),a);this.b=b;this.a=c}function NVb(a,b,c){pUb.call(this,(SXb(),ZWb),a);this.b=b;this.a=c}function GVb(a,b,c){pUb.call(this,(SXb(),SWb),a);this.a=b;this.b=c}function PVb(a,b,c){pUb.call(this,(SXb(),_Wb),a);this.a=b;this.b=c}function RVb(a,b,c){pUb.call(this,(SXb(),bXb),a);
this.b=b;this.a=c}function SVb(a,b,c){pUb.call(this,(SXb(),cXb),a);this.b=b;this.a=c}function VVb(a,b,c){pUb.call(this,(SXb(),gXb),a);this.b=b;this.a=c}function XVb(a,b,c){pUb.call(this,(SXb(),iXb),a);this.b=b;this.a=c}function bWb(a,b,c){pUb.call(this,(SXb(),oXb),a);this.b=b;this.a=c}function VXb(a,b,c){pUb.call(this,(SXb(),qXb),a);this.b=b;this.a=c}function bYb(a,b,c){pUb.call(this,(SXb(),yXb),a);this.b=b;this.a=c}function cYb(a,b,c){pUb.call(this,(SXb(),zXb),a);this.b=b;this.a=c}function iYb(a,
b,c){pUb.call(this,(SXb(),GXb),a);this.a=b;this.b=c}function lYb(a,b,c){pUb.call(this,(SXb(),FXb),a);this.a=b;this.b=c}function WXb(a,b,c){pUb.call(this,(SXb(),rXb),a);this.a=b;this.b=c}function pYb(a,b,c){pUb.call(this,(SXb(),NXb),a);this.a=b;this.b=c}function mYb(a,b,c){pUb.call(this,(SXb(),JXb),a);this.b=b;this.a=c}function sYb(a,b,c){pUb.call(this,(SXb(),PXb),a);this.b=b;this.a=c}function tYb(a,b,c){pUb.call(this,(SXb(),QXb),a);this.b=b;this.a=c}function uYb(a,b,c){pUb.call(this,(SXb(),RXb),a);
this.b=b;this.a=c}function ydc(a,b,c){T7b();Lac.call(this,a,_Dc,b,c,null,true,true)}function Ksb(a,b,c){Ekc(Ekc(Ekc(Ekc((a.a+="@",a),b)," {"),c),"}")}function me(a,b,c){if(a<0||b<a||b>c)throw RU(new Phc($d(a,b,c)));}function ge(a,b){if(a<0||a>=b)throw RU(new Phc(Yd(a,b)));return a}function EZb(a){var b;ne($Zb(a));b=new s3b((F7b(),c5b),a);return b}function Cac(a){se(a.Pi()||a.e==(qbc(),obc),IIc,a);return b8b(a.j)}function g_b(a,b){if(!a.b||!a.b.j)return null;return Uuc(a.b.j,b)}function U$b(a,b){if(!a.b||
!a.b.e)return null;return Uuc(a.b.e,b)}function c_b(a,b){if(!a.d||!a.d.n)return null;return Uuc(a.d.n,b)}function Cfc(a,b,c,d,e){if(a.a)return false;return $9b(a,b,c,d,e)}function Dwc(a,b){var c;c=1-b;a.a[c]=Ewc(a.a[c],c);return Ewc(a,b)}function fOb(a,b){var c;c=Uoc(a.a,b);if(c>=0)return c;return-c-2}function Tec(a,b,c){var d;d=a.b.pe(b);!!d&&Hec(c,d.a);a.b.put(b,c)}function tC(a,b,c){var d;d=rC();try{return qC(a,b,c)}finally{uC(d)}}function z9(a,b,c){return c?wib(b,a.b,a.d):(sib(),xib(b,false,a.a))}
function JZ(a){if(a.r){a.ig(";");a.yg();a.rg();a.r=false}a.s=true}function Xlc(a){Fzc(a.c!=-1);a.d.removeAtIndex(a.c);a.b=a.c;a.c=-1}function hmc(a,b,c){Ezc(b,c,a.size());this.c=a;this.a=b;this.b=c-b}function Afb(){HV();LV.call(this,null);yfb(this);this.a=(hpb(),fpb)}function $nb(a){Vnb();_nb.call(this,a,gob(Jnb("js/polyfills.txt")))}function Qwc(a){Rwc.call(this,a,(sxc(),oxc),null,false,null,false)}function Vwc(a){Wwc.call(this,a,(sxc(),oxc),null,false,null,false)}function iIb(a,b){return!b?sGb(a.a,
(F7b(),y6b),gHc):LHb(a,b,false)}function SIb(a,b){return b==(YJb(),RJb)?LIb(a,(F7b(),V6b)):RIb(a,b)}function ewb(a,b){return new gwb(a.a,a.f,a.d,a.g,a.i,a.c,b,a.j,a.b)}function YQb(a,b,c){!b?wKb(a.c,iRb(a.j),jIc,c):wKb(a.c,b.o.b,jIc,c)}function jlb(a,b,c){var d;d=c.e;ne(!!d);ne(z2b(d,b));hib(a.b,a,b,c)}function gOb(a,b){var c;c=fOb(a,b);return new AYb(a.b,b,c,b-a.a[c])}function u2b(a,b){var c;c=I2b(a,b);if(!c)return null;return c.Uh()}function m_b(a,b){if(!a.d||!a.d.n)return false;return Tuc(a.d.n,
b)}function v_b(a,b){if(!a.d.q)return false;return loc(a.d.q,b,0)!=-1}function iZb(a){if(a.b>=a.c)throw RU(pZb(a));return Qjc(a.a,a.b++)}function DZb(a,b,c){oe(ZZb(b),b);oe(ZZb(c),c);return new u3b(a,b,c)}function zg(a,b,c,d){return ND(c,76)?new bj(a,b,c,d):new Si(a,b,c,d)}function n8b(a,b){T7b();return!a||!b?a==b:U7b(a,b,0,new Kbc(true))}function xj(a,b){var c;return c=ND(b,193)?vj(b):b,vj(a).removeAll(c)}function Nm(a){var b;b=(he(a),new uoc((el(),a)));Mpc(b);return gn(b)}function V4(a){O4();mlc(N4,
a)||slc(N4,a,new R4(a));return plc(N4,a)}function ol(a){dg.call(this);this.a=new Qnc(a.length);Hpc(this.a,a)}function tbc(a,b,c){cac.call(this,a,null,null,c,b.v);he(b);this.a=b}function lW(a,b){var c;NW((F7b(),_6b),b);for(c=b.b;c;c=c.d)$W(a,c)}function BW(a,b){var c;NW((F7b(),k6b),b);for(c=b.b;c;c=c.d)AW(a,c)}function PW(a,b){var c;NW((F7b(),L6b),b);for(c=b.b;c;c=c.d)QW(a,c)}function pW(a,b){var c;NW((F7b(),D5b),b);for(c=b.b;c;c=c.d)RW(a,c)}function LW(a,b){switch(b.j.f){case 29:HW(b);break;case 26:vW(a,
b)}}function nB(a){wkc(a.b,34);wB(new yB(a.j),a);wkc(a.b,59);wkc(a.b,34)}function Elb(a,b,c){xnc(a.f,new Klb(b,c));Vjc(b,$Cc)||(a.d.a=false)}function fHb(a,b,c){if(c){mHb(a,c,(TMb(),uMb));N2b(b,81,FGb(a.a,c))}}function s9(a,b,c,d){if(!b||b==c)return;s9(a,b.d,c,d);t9(a,b.b,c,d)}function hLb(a,b,c,d,e){this.f=a;this.b=b;this.a=c;this.d=d;this.c=e}function z2(a){this.b=new Fwc;this.c=new soc;this.d=new soc;this.a=a}function Ufc(a,b){T7b();Zec.call(this,a,ndc(a,(Xcc(),Tcc)));this.a=b}function Cdc(a,b){var c,
d;c=b.c;d=c.wi(a);if(d!=c)return d;return b}function jZb(a){while(rZb(a.b<a.c?Qjc(a.a,a.b):-1))iZb(a);return-1}function CRb(a){while(aSb(kRb(a,a.d)?Qjc(a.e.a,a.d):0)>=0)lRb(a)}function JRb(a){while(bSb(kRb(a,a.d)?Qjc(a.e.a,a.d):0)>=0)lRb(a)}function g$b(a){ne(a.j==(F7b(),y6b)||a.j==Y6b);return new s3b(Q6b,a)}function Wlc(a){zzc(a.b<a.d.size());return a.d.getAtIndex(a.c=a.b++)}function Qvc(a){zzc(a.b!=a.d.c);a.c=a.b;a.b=a.b.a;++a.a;return a.c.c}function Eic(a){if(a.Zi())return null;var b=a.n;var c=
nV[b];return c}function le(a,b){if(a<0||a>b)throw RU(new Phc(Zd(a,b,tAc)));return a}function gs(a){Yr();var b;while(true){b=a.Fd();if(!a.Ed())return b}}function Tm(a){Lm();var b;if(ND(a,71)){b=a;return b.Ne()}return Rm(a)}function H4(a,b){var c;c=b.b-a.b;if(c!=0)return c;c=a.c-b.c;return c}function T4(a,b){O4();var c;this.a=a;this.b=(km(),c=new xpc(b),xo(c))}function Nf(a,b,c){this.a=c;this.f=a.d;this.d=a.b;this.b=a.a;this.e=b}function bmc(a,b){this.a=a;Ylc.call(this,a);Dzc(b,a.size());this.b=b}function hib(a,
b,c,d){Phb();var e;e=new fib(a,b,new D8(a));eib(e,c,d)}function Iib(a,b){sib();var c;c=a;while(!!c&&!b.Hd(c))c=c.e;return c}function zyb(a,b){Rxb();return 0==a.Ch()||0==b.Ch()||0!=Fyb(a,b).Ch()}function FVb(){DVb();return $C(VC(vP,1),vAc,196,0,[AVb,BVb,CVb,zVb])}function wxc(){sxc();return $C(VC(tU,1),vAc,142,0,[oxc,pxc,qxc,rxc])}function os(a){Yr();return xkc(Qc((el(),dl),xkc(new Ikc,91),a),93).a}function qr(a){kr();return zv(),new Gwc((ND(a,189)?a:new jl(a)).Ie())}function HRb(a){while(cic(kRb(a,
a.d)?Qjc(a.e.a,a.d):0,16)>=0)lRb(a)}function n3b(a,b){var c;m3b(a,b);for(c=a.b;c;c=c.d)n3b(c,b);return a}function p3b(a,b){var c;o3b(a,b);for(c=a.b;c;c=c.d)p3b(c,b);return a}function I2b(a,b){var c;c=a.g;while(!!c&&b!=c.Vh())c=c.Th();return c}function m9b(a,b,c,d){var e;e=a.Mi(b,c,false,d);tdc(a.u,b,a);return e}function y_b(a){if(!a.c)return false;!a.b&&(a.b=new $_b);return true}function e_b(a){if(!a.d||!a.d.q)return Lm(),Lm(),Km;return Tm(a.d.q)}function odc(a,b){var c;c=qlc(a.j,b);if(c)return c;
return qlc(a.g,b)}function ytc(a){var b;b=Zyc(a.b,a.b.length);return new Dtc(a.a,b,a.c)}function Bh(a,b){var c;c=b.xe();return zv(),new Xp(c,yg(a.b,c,b.ye()))}function Jr(a,b){var c;he(a);return fs((c=a.a.oe().Md(),new tmc(c)),b)}function Ht(a,b){var c;c=Opc(Lu(new yu(a,b)));as(new yu(a,b));return c}function o6(a,b){var c;a.a=false;c=new r6(a);gib(a.b.a,b,c);return a.a}function Tyc(a,b){this.d=a;this.c=b;this.e=null;this.b=false;this.a=0}function bpb(a,b){ne(b.d==a);ne(TD(Uuc(a.e,b.b))===TD(b));Xuc(a.e,
b.b)}function kwb(a,b){if(!a)return b;else if(!b)return a;return Cyb(a,b)}function lwb(a,b){if(!a)return b;else if(!b)return a;return Fyb(a,b)}function yzc(a){if(a<0)throw RU(new Bjc("Negative array size: "+a));}function Qzb(a){if(a.b)return a.b.Fd();++a.a;return o2b(a.c,a.a).Lh()}function oBb(a){ne(a.a.f);if(!a.a.o)return null;return uBb(a.a.o,a.b)}function VOb(a){if(FQb(a,0,(hUb(),JTb)))return pQb(a);return UOb(a,1)}function mwb(a){var b;b=new Mxb(a);Hxb(b,a.G);Ixb(b,a.G);return Kxb(b)}function Rxb(){Rxb=
qV;Pxb=(km(),ux(),tx);Oxb=(null,tx);Qxb=new Vc("|")}function xnb(){xnb=qV;wnb=new ynb(ABc,0);vnb=new ynb("ALL_UNQUOTED",1)}function kY(){kY=qV;hY=new lY(yBc,0);jY=new lY(zBc,1);iY=new lY(ABc,2)}function fyc(){fyc=qV;byc=new jyc;cyc=new myc;dyc=new pyc;eyc=new syc}function fzc(){var a=console.groupEnd||function(){};a.call(console)}function f_b(a){if(!a.d||!a.d.r)return Lm(),Lm(),Km;return Opc(a.d.r)}function V$b(a){if(!a.d||!a.d.e)return Lm(),Lm(),Km;return Opc(a.d.e)}function X$b(a){if(!a.d||!a.d.f)return Lm(),
Lm(),Km;return Opc(a.d.f)}function zYb(a){if(!a.d)return"";return Kr(Cf(If(new nc(47)),a.d.c))}function Ujc(a,b){var c;c=b.length;return Vjc(a.substr(a.length-c,c),b)}function xg(a,b){var c,d;c=Gv(a.c,b);if(c){d=c.size();c.clear();a.d-=d}}function Vq(a,b){var c;if(b){c=b;a.a.a.length+c.size()}Wp(a,b);return a}function Ltc(a){zzc(a.a<a.c.a.length);a.b=a.a;Jtc(a);return a.c.b[a.b]}function _ib(a){_d(a.j==(F7b(),c5b)||a.j==_6b);return!!a.b&&a.b.j==j5b}function y9(a,b,c){return b.j==(F7b(),y6b)&&(gjb(b,
a.d)||Wtc(c,b.Lh()))}function kdc(a,b){return Tuc(a.b,b)?Uuc(a.b,b).values():(Lm(),Lm(),Km)}function Z7b(a){return a.ei()||a.ci()||a.di()||ndc(a.u,(Xcc(),kcc))==a}function $xb(a){return a.Ch()==2&&a.Dh().size()==1?is(a.Dh().Md()):null}function E3b(a,b){return a<0||b<0?-1:(b&-4096)!=0?a<<12|uBc:a<<12|b&uBc}function jjc(a,b){if(b==10||b<2||b>36)return""+a;return a.toString(b)}function RZb(a,b){ne(ZZb(a));ne(ZZb(b));return new u3b((F7b(),V5b),a,b)}function s$(a,b){if(u2b(b,78)){DZ(a.c,":");a.c.xg();
a.Cg(u2b(b,78),4)}}function GA(a,b){b.a.length==0?hoc(a.i.c,null):hoc(a.i.c,b);++a.b;a.c=0}function Fvc(a,b,c,d){var e;e=new Zvc;e.c=b;e.b=c;e.a=d;d.b=c.a=e;++a.b}function Yyc(a,b,c,d){Array.prototype.splice.apply(a,[b,c].concat(d))}function yu(a,b){var c;this.f=a;this.b=b;c=plc(a.b,b);this.c=!c?null:c.b}function Juc(a){this.d=a;this.b=this.d.a.entries();this.a=this.b.next()}function Yuc(){Qtc.call(this);Ruc(this);this.b.b=this.b;this.b.a=this.b}function uC(a){a&&BC((zC(),yC));--mC;if(a)if(oC!=-1){wC(oC);
oC=-1}}function kW(a,b,c){var d;NW((F7b(),l5b),b);for(d=b.b;d;d=d.d)jW(a,d,c)}function Acb(a,b,c){var d;Vtc(a.a,b);d=u2b(c,51);!!d&&d.vh()&&Vtc(a.i,b)}function iPb(a){var b;tOb(a,(hUb(),oTb));b=UOb(a,1);tOb(a,tSb);return b}function ns(a){Yr();var b;b=0;while(ag(a)){bg(a);b=SU(b,1)}return jA(b)}function Eb(a){a.i=3;a.g=Lf(a);if(a.i!=2){a.i=0;return true}return false}function Qz(a){if(a.j){a.backingJsObject!==bBc&&a.sf();a.g=null}return a}function oq(a,b){var c,d;for(d=b.Md();d.Ed();){c=d.Fd();a.ff(c)}return a}
function omb(a,b){var c;nmb(a,b);for(c=b.b;c;c=c.d){ne(c.e==b);omb(a,c)}}function f9(a,b){var c;if(!b.b){c=b$b(b.Lh());o3b(c,b);d2b(b,c);d1(a.a)}}function XLb(a,b){return a.b>=b.b&&(a.d||!b.d)&&(a.a||!b.a)&&(a.c||!b.c)}function zjb(a){sib();return!!a&&(a.j==(F7b(),z7b)||a.j==q6b||a.j==p5b)}function PUb(){NUb();return $C(VC(WO,1),vAc,174,0,[IUb,LUb,KUb,MUb,JUb])}function B0b(){z0b();return $C(VC(YQ,1),vAc,170,0,[w0b,v0b,x0b,y0b,u0b])}function Fob(a){a=Xyc(a);return Wyc(ekc(a,"\\{\\d+\\}","\\\\E.*\\\\Q"))}
function lC(){if(Date.now)return Date.now();return(new Date).getTime()}function sC(b){pC();return function(){return tC(b,this,arguments);var a}}function C0b(a,b){if(K$b(a.a,b)){a.d=true;return true}else return false}function E0b(a,b){if(O$b(a.a,b)){a.d=true;return true}else return false}function _0b(a,b){if(A$b(a.a,b)){a.d=true;return true}else return false}function U0b(a,b){if(B_b(a.a,b)){a.d=true;return true}else return false}function f1b(a,b){if(B$b(a.a,b)){a.d=true;return true}else return false}
function b1b(a,b){if(M$b(a.a,b)){a.d=true;return true}else return false}function D1b(a,b){if(P$b(a.a,b)){a.d=true;return true}else return false}function I1b(a,b){if(G$b(a.a,b)){a.d=true;return true}else return false}function Q1b(a,b){if(R$b(a.a,b)){a.d=true;return true}else return false}function H1b(a,b){if(Q_b(a.a,b)){a.d=true;return true}else return false}function j1b(a){if(!p_b(a.a)){E_b(a.a);a.d=true;return true}return false}function k1b(a){if(!q_b(a.a)){F_b(a.a);a.d=true;return true}return false}
function l1b(a){if(!r_b(a.a)){G_b(a.a);a.d=true;return true}return false}function m1b(a){if(!s_b(a.a)){H_b(a.a);a.d=true;return true}return false}function cg(a){a.d=3;a.c=a.Wd();if(a.d!=2){a.d=0;return true}return false}function Xuc(a,b){var c;c=ulc(a.c,b);if(c){ivc(c);return c.e}return null}function moc(a,b,c){for(;c>=0;--c)if(hwc(b,a.a[c]))return c;return-1}function poc(a,b,c){var d;d=(Azc(b,a.a.length),a.a[b]);a.a[b]=c;return d}function Xoc(a,b){var c,d;c=(d=a.slice(0,b),_C(d,a));c.length=b;return c}
function wz(a,b){var c;if(ND(b,254)){c=b;return $oc(a.c,c.c)}return false}function JA(a,b){if(YA(a.a)&&$A(a.a)==b){ZA(a.a);return true}return false}function i4b(a){if(a.c)return i4b(new k4b(a.b));else{a.c=true;return a}}function Wjb(a){sib();return m3b((oe(ZZb(a),a),new s3b((F7b(),L5b),a)),a)}function cs(a,b){Yr();return js(a,(ye(),b==null?(df(),bf):new Fe(b)))!=-1}function XDb(a,b,c){var d;return!!c&&(d=u2b(c,51),!!d&&d.vh())&&Vjc(a,b)}function ig(a,b,c){var d;he(c);d=c;return!d.isEmpty()&&ug(a,
b).addAll(d)}function qBb(a,b){var c;c=GDb(a.a,b);if(!c)return null;return myb(c,a.b)}function SZb(a,b){ne(ZZb(a));ne(b.j==(F7b(),h7b));return new u3b(W5b,a,b)}function kzc(){if(Date.now)return Date.now();return(new Date).getTime()}function _r(a){if(a<0)throw RU(new Phc(VAc+a+") must not be negative"));}function wlc(a){var b;a.d=new ruc(a);a.e=new Huc(a);b=a[NIc]|0;a[NIc]=b+1}function yic(a,b,c){var d;d=wic(a);Kic(a,d);d.g=c?8:0;d.f=b;d.e=c;return d}function sp(a,b){var c;c=Uuc(a.a,b);if(!c){c=Fp(a.b);
Vuc(a.a,b,c)}return c}function Cx(a,b){var c;c=false;while(b.Ed())c=c|a.remove(b.Fd());return c}function eW(a,b){var c;NW((F7b(),f5b),b);FW(b);for(c=b.b;c;c=c.d)tW(a,c)}function MW(a,b){var c;NW((F7b(),E6b),b);FW(b);for(c=b.b;c;c=c.d)tW(a,c)}function dW(a,b){var c;NW((F7b(),c5b),b);for(c=b.b;c;c=c.d)aX(a,c,false)}function _eb(a,b){var c;c=plc(a.a,b);if(!c){c=Oeb(b);slc(a.a,b,c)}return c}function abb(a,b,c,d){var e,f;f=Zab(a,c);ibb(f,new xbb(b,(e=d,++a.a.b,e)))}function xIb(a,b,c,d){a.b.ih(jHc+D4b(b,
null)+kHc,!a.g?null:a.g.Ig(),c,d)}function lIb(a,b,c){return!c||c.isEmpty()?nGb(a.a,(F7b(),B5b)):kIb(a,b,c)}function rJb(a,b,c){return!c?null:j2b(new t3b(b,c,z3b(c.i),y3b(c.i)),a.n)}function Y_b(a,b){if(a)return b?new Z1b(k2b(a.a,false),a.b):a;return null}function Zxb(a){return a.Ch()==2&&a.Dh().size()==1?is(a.Dh().Md()).d:null}function b$b(a){se(Yjc(a,qkc(46))==-1,YBc,a);return new q4b((F7b(),y6b),a)}function Eac(a,b){if(Vjc(fCc,b)){Dac(a);return a.f}else return Sec(a.r,b)}function Uuc(a,b){var c;
c=plc(a.c,b);if(c){Wuc(a,c);return c.e}return null}function noc(a,b){var c;c=(Azc(b,a.a.length),a.a[b]);czc(a.a,b,1);return c}function owc(a,b){!a.a?a.a=new Lkc(a.d):Ekc(a.a,a.b);Bkc(a.a,b);return a}function oX(a,b,c){Exc(a.d,new rX(c,b))&&(b==(kY(),hY)?++a.c:b==jY&&++a.e)}function kB(a,b,c){c||(a.a+=",\n",a);a.a+='"';a.a+=""+b;a.a+='"';a.a+=":"}function Isb(a,b,c){x$.call(this,a,b);he(c);this.b=c;this.a=new Eeb(false)}function C9(a,b,c,d){he(a);he(b);he(c);this.a=a;this.c=b;this.b=c;this.d=d}function Ei(a,
b,c,d){this.f=a;this.e=b;this.d=c;this.b=d;this.c=!d?null:d.d}function pwc(a,b){this.b=oAc;this.d=a;this.e=b;this.c=this.d+(""+this.e)}function h$(a,b){ne(b.j==(F7b(),c5b)||b.j==_6b);a.c.mg();f$(a,b.b);a.c.og()}function K7(a,b,c,d){var e;b.j==c&&d.add(b);for(e=b.b;e;e=e.d)K7(a,e,c,d)}function bD(a){var b,c,d;b=a&pBc;c=a>>22&pBc;d=a<0?qBc:0;return dD(b,c,d)}function IA(a){var b;if(!YA(a.a))return true;b=$A(a.a);return b==59||b==44}function qs(a){Yr();var b;he(a);if(ND(a,107)){b=a;return b}return new Ds(a)}
function b_(a,b,c){if(b)return 2;if(c||F2(a)==(C3(),v3))return 1;return 0}function hA(a){if(a<=0)throw RU(new dfb("x ("+a+") must be > 0"));return a}function ilc(){throw RU(new Pkc("FileSystems.getDefault not implemented"));}function Seb(){this.c=new soc;this.a=new soc;this.d="$singleton$";this.b=-1}function Rnb(){Qnb(this);this.d=(ub(),ub(),tb);this.e=this;this.c=(null,tb)}function Jjb(a){sib();return a.j==(F7b(),b7b)||a.j==c5b||a.j==_6b||a.j==w6b}function BHb(a,b){var c;c=nGb(a.a,(F7b(),L5b));d2b(c,
FGb(a.a,b.a));return c}function P2b(a){var b,c;c=a.b;for(b=a.b;b;b=b.d)b.e=null;a.b=null;return c}function X2b(a){var b;b=R2b(a,a.g,67);b!=a.g&&(a.g=b);a.g=new V3b(67,1,a.g)}function a3b(a){var b;b=R2b(a,a.g,37);b!=a.g&&(a.g=b);a.g=new V3b(37,1,a.g)}function h3b(a){var b;b=R2b(a,a.g,30);b!=a.g&&(a.g=b);a.g=new V3b(30,1,a.g)}function Qec(a){var b;if(!a.a)return null;b=a.a.Bi();return!b?null:b.Ei()}function Wsb(a){if(!a.c)return false;return s2b(a.c,65)!=0||s2b(a.c,43)!=0}function CZb(a,b){oe(H2b(a),
a);oe(ZZb(b),b);return new u3b((F7b(),L4b),a,b)}function KZb(a,b){oe(ZZb(a),a);oe(ZZb(b),b);return new u3b((F7b(),o5b),a,b)}function Rmc(a,b){var c,d;c=b.xe();d=a.fj(c);return!!d&&hwc(d.ye(),b.ye())}function lwc(a,b){var c;c=qeb(a.a,b);if(c==null)throw RU(new fwc);return c}function lbc(a,b){var c;c=new q4b((F7b(),y6b),"");c.k=b;d2b(a.b,c);return c}function j2b(a,b){oe(!a.g,"Node has existing properties.");a.g=b.g;return a}function XC(a,b,c,d,e,f){var g;g=YC(e,d);e!=10&&$C(VC(a,f),b,c,e,g);return g}
function ee(a,b,c){if(!a)throw RU(new dfb(xe(b,$C(VC(AS,1),qAc,1,5,[c]))));}function se(a,b,c){if(!a)throw RU(new Xic(xe(b,$C(VC(AS,1),qAc,1,5,[c]))));}function Dzc(a,b){if(a<0||a>b)throw RU(new Phc("Index: "+a+", Size: "+b));}function Gzc(a,b,c){if(a<0||b>c||b<a)throw RU(new Mkc(WIc+a+XIc+b+VIc+c));}function Vab(a,b,c){this.f=new soc;this.g=new Qtc;this.a=a;this.c=b;this.i=c}function dy(a,b,c){Qp.call(this,Npc(he(a),he(b)));this.b=a;this.c=b;this.a=c}function aab(a,b,c){var d;Z9.call(this,a,b,c);
d=v2b(c);d!=null&&tlc(a.i,d,b)}function UW(a,b){var c;b.j==(F7b(),B5b)?(c=p2b(b),0!=c&&mX(BBc+c,b)):tW(a,b)}function c7(a,b){_6();var c;c=b;while(c.e.j==(F7b(),l6b))c=c.e;c2b(c.e,a,c)}function Xib(a){sib();var b;b=null;while(!b&&!!a){b=u2b(a,51);a=a.e}return b}function Hsb(a,b){if(b.ui())return Kgc(b.ui(),a.b.fh((Xcc(),Wcc)));return b}function Iyb(a,b){Rxb();if(!a)return b;else if(!b)return a;return Cyb(a,b)}function J$b(a,b){if(e_b(a).isEmpty()){S_b(a,b,hBc);return true}return false}function B1b(a,
b,c){if(N$b(a.a,b,c)){a.d=true;return true}else return false}function K1b(a,b,c){if(Q$b(a.a,b,c)){a.d=true;return true}else return false}function N1b(a,b,c){if(I$b(a.a,b,c)){a.d=true;return true}else return false}function R8b(a,b,c,d){if(!U7b(a.b,b.b,c,d))return false;return S8b(a,b,c,d)}function j4b(a){if(!a.a)throw RU(new gwc);try{return a.a}finally{a.a=a.a.d}}function qjb(a){sib();return(a.j==(F7b(),c5b)||a.j==_6b)&&!!a.e&&a.e.j==Q5b}function wbb(){ubb();return $C(VC(DK,1),vAc,157,0,[obb,rbb,pbb,
qbb,tbb,sbb])}function XFb(){UFb();return $C(VC(cO,1),vAc,141,0,[OFb,PFb,QFb,RFb,SFb,TFb])}function ddc(a,b){return jdc(a,$C(VC(ER,1),qAc,20,0,[b,ndc(a,(Xcc(),occ))]))}function Awc(a,b){var c;c=new bxc;c.c=true;c.d=b.ye();return Bwc(a,b.xe(),c)}function _U(a){var b;if(YU(a)){b=0-a;if(!isNaN(b))return b}return UU(tD(a))}function U0(a){a.H.nd!=(T3(),Q3)&&!!a.U&&Elb(a.U,$Cc,true);return new Vqb}function i$b(a,b){ne(a.j==(F7b(),i7b));ne(!a.b);ne(ZZb(b));e2b(a,b);return a}function axc(a,b){Nmc.call(this,
a,b);this.a=XC(oU,MAc,188,2,0,1);this.b=true}function Zuc(a){zlc.call(this,a,0);Ruc(this);this.b.b=this.b;this.b.a=this.b}function Heb(a,b,c,d){Geb.call(this,a,b,b?z3b(b.i):-1,b?y3b(b.i):-1,c,null,d)}function yUb(a,b,c,d){pUb.call(this,(SXb(),kWb),a);this.a=b;this.b=c;this.c=d}function UUb(a,b,c,d){pUb.call(this,(SXb(),xWb),a);this.c=b;this.b=c;this.a=d}function WUb(a,b,c,d){pUb.call(this,(SXb(),zWb),a);this.a=b;this.c=c;this.b=d}function YUb(a,b,c,d){pUb.call(this,(SXb(),BWb),a);this.a=b;this.b=
c;this.c=d}function iVb(a,b,c,d){pUb.call(this,(SXb(),OWb),a);this.c=b;this.b=c;this.a=d}function jVb(a,b,c,d){pUb.call(this,(SXb(),PWb),a);this.c=b;this.b=c;this.a=d}function KVb(a,b,c,d){pUb.call(this,(SXb(),WWb),a);this.a=b;this.c=c;this.b=d}function hYb(a,b,c,d){pUb.call(this,(SXb(),EXb),a);this.a=b;this.b=c;this.c=d}function oYb(a,b,c,d){pUb.call(this,(SXb(),LXb),a);this.b=b;this.c=c;this.a=d}function qYb(a,b,c,d){pUb.call(this,(SXb(),MXb),a);this.c=b;this.a=c;this.b=d}function p$b(a,b){var c;
ne(ZZb(b));c=new q4b((F7b(),i7b),a);e2b(c,b);return c}function DIb(a,b){if(b==(YJb(),DJb)){a.i=(AJb(),yJb);return b}return CIb(a,b)}function s1b(a){if(t_b(a.a))return false;else{M_b(a.a);a.d=true;return true}}function C1b(a){if(u_b(a.a))return false;else{P_b(a.a);a.d=true;return true}}function S1b(a){if(x_b(a.a))return false;else{U_b(a.a);a.d=true;return true}}function z2b(a,b){var c;for(c=a.b;c;c=c.d)if(b==c)return true;return false}function d1(a){var b,c;for(c=new Poc(a.a);c.a<c.c.a.length;){b=
Noc(c);b.gg()}}function Qd(a,b,c){var d,e;d=(e=new Vd,a.c=a.c.b=e,e);d.c=c;d.a=he(b);return a}function ekb(a,b,c){var d;b.qh(a);if(c.Hd(a))for(d=a.b;d;d=d.d)ekb(d,b,c)}function zh(a,b){var c,d;c=Fv(a.a,b);if(!c)return null;d=b;return yg(a.b,d,c)}function uvc(a){Dsc(a.c.a.c,a);zzc(a.b!=a.c.a.b);a.a=a.b;a.b=a.b.a;return a.a}function toc(a){foc(this);vzc(a>=0,"Initial capacity must not be negative")}function wab(a){this.c=new Dab(this);this.a=a;this.b=!a.i?new Avc:new Cvc(a.i)}function WZ(a){return a==
95||a==36||/[A-Z\d]/i.test(String.fromCharCode(a))}function QD(a){return a!=null&&(typeof a===Wzc||typeof a===Zzc)&&!(a.lj===uV)}function H0b(a){return a.d&&((a.a.a&4096)!=0||(a.a.a&YCc)!=0||(a.a.a&ZCc)!=0)}function hbb(a,b){var c;!a.k&&(a.k=new soc);c=new lbb(b,a);hoc(a.k,c);return c}function jIb(a,b){var c;c=sGb(a.a,(F7b(),m6b),b.a);DGb(c,b.b.b,b.b.a);return c}function twb(a){var b;b=new Avc;_c(b,a.B.keySet());_c(b,new nmc(a.C));return b}function _C(a,b){WC(b)!=10&&$C(pb(b),b.kj,b.__elementTypeId$,
WC(b),a);return a}function R0(a,b){a.X=new l4($C(VC(eN,1),qAc,177,0,[new Jqb((t5(),Hn(s5))),b]))}function Lub(){Lub=qV;Kub=new Mub("","",(Lm(),Lm(),Km),(null,Km),(mx(),lx))}function EV(){EV=qV;BV=new FV("NONE",0);DV=new FV("OTI",1);CV=new FV("NTI",2)}function Z3(){Z3=qV;X3=new $3(ABc,0);W3=new $3("CHECK",1);Y3=new $3("STRIP",2)}function sxc(){sxc=qV;oxc=new txc("All",0);pxc=new xxc;qxc=new zxc;rxc=new Cxc}function Sxc(a,b,c){if(b==null||c==null)throw RU(new Cjc);return slc(a.a,b,c)}function Azc(a,
b){if(a<0||a>=b)throw RU(new Phc("Index: "+a+", Size: "+b));}function bg(a){var b;if(!ag(a))throw RU(new gwc);a.d=1;b=a.c;a.c=null;return b}function Db(a){var b;if(!Cb(a))throw RU(new gwc);a.i=1;b=a.g;a.g=null;return b}function Lp(a){var b;a=a>2?a:2;b=cjc(a);if(a>b){b<<=1;return b>0?b:SAc}return b}function xqb(a,b,c){var d,e,f;d=c.Lh();e=Shb(b);f=$ob(e,d);return Wtc(a.a.f,f)}function $7b(a,b,c){var d;d=c?new Kbc(true):new Kbc(false);return U7b(a,b,0,d)}function Dx(a,b){var c;ie(a,"set1");ie(b,"set2");
c=yx(b,a);return new Px(a,c,b)}function Lpc(a){Gpc();vzc(a.d.c+a.e.c==0,"map is not empty");return new lqc(a)}function z_b(a,b){if(b.d){!a.d&&(a.d=new e0b);a.d.o|=(!b.d?null:kjc(b.d.o)).a}}function tIb(a,b,c){a.b.ih("Missing type declaration.",!a.g?null:a.g.Ig(),b,c)}function mJb(a,b,c,d,e){var f,g;if(d){g=a.j.g;f=cKb(a.j);L0b(a.e,d,b,c,g,f,e)}}function HLb(a,b,c,d,e,f){Re.call(this,a,b);this.d=c;this.c=d;this.b=e;this.a=f}function q4b(a,b){q3b.call(this,a);if(null==b)throw RU(new dfb(BIc));this.a=
b}function dC(a){Pz(this);this.f=!a?null:Tz(a,a.rf());this.e=a;Qz(this);this.sf()}function ry(a){this.d=a;this.c=new wvc(new nvc(this.d.a));this.a=(Yr(),Yr(),Xr)}function lqb(a){if(a.length<=100)return a;return kkc(a,mqb(a,0),mqb(a,97))+oCc}function aSb(a){switch(a){case 48:return 0;case 49:return 1;default:return-1}}function R1b(a,b){if(!a.a.j){a.d=true;T_b(a.a,b);return true}else return false}function m3b(a,b){N2b(a,40,u2b(b,40));e3b(a,u2b(b,51));a.i=b.i;a.c=b.c;return a}function a$b(a){var b;ne(a.j==
(F7b(),Q5b));b=new q4b(t6b,SDc);d2b(b,a);return b}function P6(a,b){while(TD(he(a.e))!==TD(b))a=he((sib(),Iib(a.e,rib)));return a}function bBb(a,b){!!b&&(a.a=b.Ch()==2&&b.Dh().size()==1?is(b.Dh().Md()).d:null)}function jpc(a,b,c,d){var e;d=(ysc(),!d?xsc:d);e=a.slice(b,c);kpc(e,a,b,c,-b,d)}function fe(a,b,c,d){if(!a)throw RU(new dfb(xe(b,$C(VC(AS,1),qAc,1,5,[c,d]))));}function ue(a,b,c,d){if(!a)throw RU(new Xic(xe(b,$C(VC(AS,1),qAc,1,5,[c,d]))));}function y0(a){if(!a.f)return $C(VC(TK,1),QBc,68,0,[]);
return pX(a.f,(kY(),hY))}function J0(a){if(!a.f)return $C(VC(TK,1),QBc,68,0,[]);return pX(a.f,(kY(),jY))}function Ibb(){Gbb();return $C(VC(FK,1),vAc,143,0,[Ebb,Fbb,Dbb,zbb,Cbb,Abb,Bbb])}function Utb(){Stb();return $C(VC(dN,1),vAc,140,0,[Ntb,Otb,Ptb,Ltb,Qtb,Rtb,Mtb])}function Phb(){Phb=qV;new y5("JSC_NODE_TRAVERSAL_ERROR",(kY(),hY),new klc(zDc))}function W2(){W2=qV;U2=new X2(ABc,0);V2=new X2("ON",1);T2=new X2("AGGRESSIVE",2)}function GD(){GD=qV;CD=dD(pBc,pBc,524287);DD=dD(0,0,rBc);ED=bD(1);bD(2);FD=
bD(0)}function Qlc(a){var b;Dsc(a.e,a);zzc(a.b);a.c=a.a;b=a.a.Fd();a.b=Plc(a);return b}function rOb(a,b){var c,d;for(d=b.b.Md();d.Ed();){c=d.Fd();!c.b&&EOb(a,b.a,c.c)}}function fkc(a,b){var c;b=skc(b);c=new RegExp("^(-?)0\\.");return a.replace(c,b)}function loc(a,b,c){for(;c<a.a.length;++c)if(hwc(b,a.a[c]))return c;return-1}function lkc(a){var b,c;c=a.length;b=XC(WD,cAc,46,c,15,1);Xjc(a,0,c,b,0);return b}function Cwb(a){ne(a.d!=(Rwb(),Qwb));if(a.d==Owb)return null;a.d=Owb;return a.e}function eEb(a){ne(a.a!=
(kEb(),jEb));if(a.a==hEb)return null;a.a=hEb;return a.c}function jA(a){if(TU(a,_zc)>0)return _zc;if(TU(a,hBc)<0)return hBc;return fV(a)}function yD(a){if(qD(a,(GD(),FD))<0)return-mD(tD(a));return a.l+a.m*sBc+a.h*tBc}function Mu(a){return ND(a,112)?Nm(a):ND(a,167)?a.a:ND(a,76)?new iv(a):new Zu(a)}function mxb(a){return!a?null:a.Ch()==2&&a.Dh().size()==1?is(a.Dh().Md()).d:null}function WC(a){return a.__elementTypeCategory$==null?10:a.__elementTypeCategory$}function o7(a){this.e=a;this.c=new Yuc;this.b=
new dt;this.a=new Ip;this.d=new dt}function Rfb(a,b,c){Pfb(this);this.e=false;this.g=a;b?this.f=this:this.f=c.f}function URb(a,b,c,d){this.b=new Lvc;this.c=a;this.a=b;this.e=c;this.d=d;this.f=0}function Zdb(a,b,c){he(a);_d(a.j==(F7b(),W5b)||Cjb(a));this.a=a;this.c=b;this.b=c}function Apb(a){npb();spb.call(this,Ehc());this.a=(glc(),flc).a;!!a&&(this.a=a.a)}function snb(){tnb.call(this,"REGISTER_BOOLEAN",0,"goog.tweak.registerBoolean")}function mvc(a,b){var c;if(lvc(a,b)){c=b.xe();Xuc(a.a,c);return true}return false}
function xo(a){km();var b;if(ND(a,130)&&!ND(a,253)){b=a;return b}return yo(a.Md())}function Q3b(a){var b;if(!a.a.a)throw RU(new gwc);b=a.a.a;a.a.a=a.a.a.e;return b}function d1b(a){if((a.a.a&8)!=0)return false;else{a.a.a|=8;a.d=true;return true}}function Wp(a,b){var c,d;he(b);for(d=b.Md();d.Ed();){c=d.Fd();a.cf(he(c))}return a}function COb(a){var b;b=null;GQb(a,(hUb(),uSb))&&(b=(tOb(a,uSb),tQb(a)));return b}function wgb(a,b){var c;_d(b.indexOf(".")==-1);c=sgb(a,b,false);return!c?null:c.c}function zgb(a,
b){var c;ne(b.indexOf(".")==-1);c=sgb(a,b,false);return!c?null:c.e}function Kgb(a,b){_d(b.indexOf(".")==-1);return!Cgb(a,b,false)&&!!a.r&&Lgb(a.r,b)}function pzb(a,b,c,d){if(!b)return null;return Bzb(a,(KEc&b.a)==PEc?b.i:null,c,d)}function pe(a,b,c){if(!a)throw RU(new Xic(xe(b,$C(VC(AS,1),qAc,1,5,[kjc(c)]))));}function ce(a,b,c){if(!a)throw RU(new dfb(xe(b,$C(VC(AS,1),qAc,1,5,[kjc(c)]))));}function be(a,b,c){if(!a)throw RU(new dfb(xe(b,$C(VC(AS,1),qAc,1,5,[mic(c)]))));}function wzc(a,b){if(!a)throw RU(new dfb(Izc("Enum constant undefined: %s",
b)));}function K0b(a,b,c,d,e,f){var g;if(a.b){g=new p0b;g.d=b;l0b(g,c,d,e,f);g0b(a.b,g)}}function ZDb(a,b,c,d,e){e==(TBb(),PBb)&&(e=RBb);return new VDb(a,b,c,d,1,e,false)}function $Db(a,b,c,d,e){e==(TBb(),PBb)&&(e=RBb);return new VDb(a,b,c,d,2,e,false)}function EPb(a){var b,c;c=qRb(a.j,0).b.b;b=uOb(a);return new JVb(new CYb(c,a.g),b)}function OPb(a){var b,c;c=qRb(a.j,0).b.b;b=GOb(a);return new QVb(new CYb(c,a.g),b)}function VHb(a,b){var c;c=nGb(a.a,(F7b(),$6b));!!b.a&&d2b(c,FGb(a.a,b.a));return c}
function mZb(a,b){var c,d;c=iZb(a);b.b=c;if(c==116||c==84){d=iZb(a);b.c=d}return b}function r2b(a,b){var c,d;d=a.b;c=0;while(d){if(b==d)return c;d=d.d;++c}return-1}function uB(a,b){var c,d,e,f;e=a.a.b;f=b.e.b;c=a.a.a;d=b.e.a;return e==f&&c>=d||e>f}function l1(a,b,c){var d;d=cV(XU(kzc()),b.a);a.H.nd!=(T3(),Q3)&&!!a.U&&Flb(a.U,c,d)}function Jbc(a,b,c,d){var e;e=plc(a.a,b);!e&&(e=new huc);puc(e.d,c,d);slc(a.a,b,e)}function ehc(a){if(!a.j){a.j=ihc(a);!a.j&&(a.j=new Sgc(a.i,Tm(fhc(a))))}return a.j}function Exb(a){if(a.j);
else a.e.a.length==0?hoc(a.i,a.a.G):hoc(a.e,a.a.G);return a}function Ulb(a){while(a.e){a=a.e;if(a.j==(F7b(),Q5b)||a.j==b7b)return a}return a}function PIb(a,b,c,d,e,f){var g;f?g=jJb(a,b):g=gJb(a,b);mJb(a,c,d,g,e);return g}function fPb(a,b){var c;c=(Lm(),new hq);while(JQb(a))fq(c,ePb(a,b));return Tm(c.a)}function $e(a,b){var c;Bzc(b);c=a[":"+b];wzc(!!c,$C(VC(AS,1),qAc,1,5,[b]));return c}function BC(a){var b,c;if(a.b){c=null;do{b=a.b;a.b=null;c=EC(b,c)}while(a.b);a.b=c}}function AC(a){var b,c;if(a.a){c=
null;do{b=a.a;a.a=null;c=EC(b,c)}while(a.a);a.a=c}}function n2b(a){var b,c;for(b=a.b;b;){c=b.d;b.e=null;b.d=null;b.f=null;b=c}a.b=null}function VZb(a,b){ne(ZZb(a));ne(b.j==(F7b(),c5b)||b.j==_6b);return new u3b($5b,a,b)}function u$b(a,b){ne(b.j==(F7b(),c5b)||b.j==_6b);ne(ZZb(a));return new u3b(C7b,a,b)}function Nfc(a){if(a.b)return ndc(a.d,(Xcc(),Acc));return new Ffc(a.d,sr(a.c),a.a)}function mkc(a,b){return b==(awc(),awc(),_vc)?a.toLocaleLowerCase():a.toLowerCase()}function abc(a){return new Lac(a.d,
null,new Y8b(a.d,a.c,a.e,false),a.g,a.f,a.a,a.b)}function XV(){XV=qV;VV=new YV(ABc,0);WV=new YV("UNMAPPED",1);UV=new YV("MAPPED",2)}function Ztb(){throw RU(new Pkc("JsFileParser.setIncludeGoogBase not implemented"));}function oY(){oY=qV;nY=new y5("JSC_MISSING_RETURN_STATEMENT",(kY(),jY),new klc(UBc))}function T7b(){T7b=qV;S7b=(km(),zo($C(VC(AS,1),qAc,1,5,[dEc,KGc,ZDc])));R7b=new Ebc}function bs(a,b){Yr();he(a);he(b);return new Ys(new ol($C(VC(WT,1),qAc,29,0,[a,b])))}function Keb(a,b,c){var d;return new Heb(!a?
null:(d=u2b(a,51),!d?null:d.Ig()),a,b,c)}function Vhb(a,b,c){var d;return new Heb(!a?null:(d=u2b(a,51),!d?null:d.Ig()),a,b,c)}function xgb(a,b){var c,d;d=(c=rgb(a,new rDb(b),false),!c?null:c.a);ne(!!d);return d}function e2(a,b){var c;c=a.a.Fg(b);if(c){ne(c.j==(F7b(),b7b));he(u2b(c,53))}return c}function Jtc(a){var b;++a.a;for(b=a.c.a.length;a.a<b;++a.a)if(a.c.b[a.a])return}function Q0b(a){if((a.a.a&37)!=0)return false;else{a.a.a|=1;a.d=true;return true}}function c1b(a){if((a.a.a&32)!=0)return false;
else{a.a.a|=32;a.d=true;return true}}function z1b(a){if((a.a.a&64)!=0)return false;else{a.a.a|=64;a.d=true;return true}}function lKb(a){if((a&57296)!=0)return false;return a==10||a==13||a==8232||a==8233}function Qjb(a){sib();switch(a.f){case 63:case 64:return true;default:return false}}function Ctc(a,b){if(!!b&&a.b[b.f]==b){a.b[b.f]=null;--a.c;return true}return false}function $s(a){var b;if(ND(a,319)){b=a;return new _s(b.a)}else return Yr(),new ws(a)}function jV(){kV();var a=iV;for(var b=0;b<arguments.length;b++)a.push(arguments[b])}
function unb(){onb();return $C(VC(_L,1),vAc,101,0,[lnb,mnb,nnb,knb,hnb,gnb,inb,jnb])}function $kc(){Ykc();return $C(VC(IS,1),vAc,134,0,[Xkc,Rkc,Qkc,Skc,Vkc,Tkc,Ukc,Wkc])}function $uc(a){Qtc.call(this);Ruc(this);this.b.b=this.b;this.b.a=this.b;$g(this,a)}function k4(a){this.e=new Qtc;this.b=new r4(this.e);this.c=new Ixc(this.b);g4(this,a)}function Itb(){Itb=qV;Htb=new Jtb(ABc,0);Gtb=new Jtb("LOCAL",1);Ftb=new Jtb("ALL",2)}function Rwb(){Rwb=qV;Pwb=new Swb(mGc,0);Owb=new Swb(nGc,1);Qwb=new Swb("RESOLVED",
2)}function kEb(){kEb=qV;iEb=new lEb(mGc,0);hEb=new lEb(nGc,1);jEb=new lEb("RESOLVED",2)}function L3(){L3=qV;I3=new M3("NONE",0);K3=new M3("SENTINEL",1);J3=new M3("NORMAL",2)}function zV(){zV=qV;yV=new y5("JSC_READ_ERROR",(kY(),hY),new klc("Cannot read: {0}"))}function eab(){throw RU(new Pkc("FunctionInformationMap.newBuilder not implemented"));}function qmb(a){if(a.a)throw RU(new Xic("normalizeNodeType constraints violated"));}function Z0b(a){if((a.a.a&QEc)!=0)return false;else{a.a.a|=QEc;a.d=true;
return true}}function $0b(a){if((a.a.a&MFc)!=0)return false;else{a.a.a|=MFc;a.d=true;return true}}function a1b(a){if((a.a.a&YCc)!=0)return false;else{a.a.a|=YCc;a.d=true;return true}}function e1b(a){if((a.a.a&rBc)!=0)return false;else{a.a.a|=rBc;a.d=true;return true}}function u1b(a){if((a.a.a&_Ec)!=0)return false;else{a.a.a|=_Ec;a.d=true;return true}}function v1b(a){if((a.a.a&ZCc)!=0)return false;else{a.a.a|=ZCc;a.d=true;return true}}function T1b(a){if((a.a.a&dAc)!=0)return false;else{a.a.a|=dAc;
a.d=true;return true}}function T0b(a){if((a.a.a&256)!=0)return false;else{a.a.a|=256;a.d=true;return true}}function t1b(a){if((a.a.a&128)!=0)return false;else{a.a.a|=128;a.d=true;return true}}function Y7b(a){var b;if(a.t)return false;else{a.t=true;b=a.Zh();a.t=false;return b}}function Uhb(a){var b,c;b=Fnc(a.j);if(!b){c=Enc(a.k);return c?c.d:null}else return b}function wic(a){var b;b=new uic;b.o="Class$"+(a?"S"+a:""+b.j);b.b=b.o;b.k=b.o;return b}function W2b(a,b){var c;c=R2b(a,a.g,78);c!=a.g&&(a.g=
c);!!b&&(a.g=new d4b(78,b,a.g))}function e3b(a,b){var c;c=R2b(a,a.g,51);c!=a.g&&(a.g=c);!!b&&(a.g=new d4b(51,b,a.g))}function U2b(a,b){var c;c=R2b(a,a.g,56);c!=a.g&&(a.g=c);b!=0&&(a.g=new V3b(56,b,a.g))}function bkb(a){sib();var b;b=a.j==(F7b(),Q5b)?a.b?a.b.f:null:a;return zib(b,q7b,nib)}function otb(a){if(a.c)return new D8(a.a);else{a.b=new ytb(a);return new E8(a.a,a.b)}}function Af(a){ce(true,"must be greater than zero: %s",2);return new Hf(a.c,a.b,a.d,2)}function vIb(a,b){wIb(a,"msg.bad.fileoverview.visibility.annotation",
b,a.j.g,cKb(a.j))}function wRb(a,b){if((kRb(a,a.d)?Qjc(a.e.a,a.d):0)==46){lRb(a);FRb(a)}return vRb(a,b)}function ORb(a){if((kRb(a,a.d)?Qjc(a.e.a,a.d):0)==92)return KRb(a);lRb(a);return true}function QRb(a){if((kRb(a,a.d)?Qjc(a.e.a,a.d):0)==92)return RRb(a);lRb(a);return true}function H$b(a,b){!a.d&&(a.d=new e0b);!a.d.r&&(a.d.r=new soc);hoc(a.d.r,b);return true}function B_b(a,b){!a.d&&(a.d=new e0b);if(a.d.b!=null)return false;a.d.b=b;return true}function G4(a,b){var c;for(c=0;c<a.length;c++)if(a[c].a==
b)return true;return false}function dgc(a,b){var c;c=bgc(a,b);return c==-1?ndc(a.b,(Xcc(),Tcc)):a.e.getAtIndex(c)}function Jvc(a,b){var c;c=b.c;b.a.b=b.b;b.b.a=b.a;b.a=b.b=null;b.c=null;--a.b;return c}function HYb(a){var b;if(rlc(EYb,a))b=qlc(EYb,a);else{b=new JYb;tlc(EYb,a,b)}return b}function ZAb(a,b,c){var d;d=new Stc(a);SD(b)?tlc(d,b,c):puc(d.d,b,c);return new _Ab(d)}function KW(a,b,c){var d;NW((F7b(),B6b),b);for(d=b.b;d;d=d.d)c?$V(a,d):aX(a,d,false)}function Kic(a,b){var c;if(!a)return;b.n=a;
var d=Eic(b);if(!d){nV[a]=[b];return}d.jj=b}function eRb(a,b){_d(!(a==0&&b));this.c=a==3;this.a=!(a==0||a==1);this.b=b;this.d=a==0}function r4b(a,b,c,d){r3b.call(this,a,c,d);if(null==b)throw RU(new dfb(BIc));this.a=b}function UZb(a,b,c){ne(ZZb(a));ne(ZZb(b));ne(ZZb(c));return new v3b((F7b(),Z5b),a,b,c)}function $Ab(a,b){var c;c=new Stc(a);b==null?quc(c.d,null):Guc(c.e,b);return new _Ab(c)}function VGb(a){var b;while(a.Ed()){b=a.Fd();if(b.b==(NUb(),KUb))return b}return null}function Pgb(a,b){var c;
he(b);a.c=b;c=u2b(a.t,51);!!c&&c.vh()&&g3b(a.t,Zzb(a.a,dwb(b)))}function k1(a,b){ne(!a.c);a.b=b;a.c=(a.H.nd!=(T3(),Q3)&&!!a.U&&Elb(a.U,b,true),new Vqb)}function ryb(a,b){return a.Dh().isEmpty()?a:Eyb(a.e,a.Ch(),SCb(a.Dh(),b),a.Eh(),a.Bh())}function edc(a,b){return jdc(a,$C(VC(ER,1),qAc,20,0,[b,ndc(a,(Xcc(),Wcc)),ndc(a,occ)]))}function G3(){C3();return $C(VC(qJ,1),vAc,103,0,[q3,r3,s3,t3,u3,y3,v3,w3,z3,x3,A3,B3])}function Xub(a){Vub();typeof console!==hEc&&typeof console.log!==hEc&&console.log(a)}function mV(a,
b){typeof window===Wzc&&typeof window["$gwt"]===Wzc&&(window["$gwt"][a]=b)}function cl(a,b){if(a<0)throw RU(new dfb(b+" cannot be negative but was: "+a));return a}function Zr(a,b){Yr();var c;he(a);he(b);c=false;while(b.Ed())c=c|a.add(b.Fd());return c}function Mb(a,b){var c,d;c=0;for(d=0;d<b.length;d++)mc(a,b.charCodeAt(d))&&++c;return c}function agc(a,b){var c;c=ggc(a,b.e,b.d.size());return idc(a.b,_fc(b.d,a.d),_fc(c,a.e))}function vB(a,b,c){var d,e;e=tB(a,c.a);d=sB(a,c.a);(a.b<e||a.b==e&&a.a<d)&&
xB(a,b,c,e,d)}function Pj(a){var b,c;for(c=a.a.values().Md();c.Ed();){b=c.Fd();b.a=0}a.a.clear();a.b=0}function JC(a){var b=/function(?:\s+([\w$]+))?\s*\(/;var c=b.exec(a);return c&&c[1]||mBc}function QU(a){var b;if(ND(a,40))return a;b=a&&a[cBc];if(!b){b=new iC(a);HC(b)}return b}function F0(a,b,c){var d;if(c<1)return null;d=E0(a,b);if(d)return ppb(d,c);return null}function g1b(a){if((a.a.a&8192)!=0)return false;else{a.a.a|=8192;a.d=true;return true}}function Fgb(a){var b;b=a;while(b.r){if(Cgb(a,iFc,
false))return false;b=b.r}return true}function Kmb(a,b,c){var d;d=new Umb;gib(a.c,b,d);if(d.a)return;a.e=c;a.i=c;gib(a.c,b,a)}function jgb(a,b,c,d,e){_d(b.indexOf(".")==-1);d&&Vtc(a.b,b);e?a.e.put(b,c):Vuc(a.o,b,c)}function hwb(a,b,c,d,e,f,g,h,i){!h&&(h=(Lm(),Lm(),Km));return new gwb(a,b,c,d,e,f,g,h,i)}function lPb(a){var b;b=qRb(a.j,0).b.b;tOb(a,(hUb(),GTb));return new cVb(new CYb(b,a.g))}function W7(a){var b;he(a);this.a=a;this.c=new soc;this.b=new soc;this.f=(b=a,new S1(b))}function b7(a){_6();
this.c=new Cp(new Yuc,new Gp);this.b=new Ytc;this.d=new Ytc;this.a=a}function XUb(a,b,c,d,e){pUb.call(this,(SXb(),AWb),a);this.d=b;this.b=c;this.c=d;this.a=e}function kVb(a,b,c,d,e){pUb.call(this,(SXb(),QWb),a);this.d=b;this.b=c;this.c=d;this.a=e}function IVb(a,b,c,d,e){pUb.call(this,(SXb(),UWb),a);this.c=b;this.b=c;this.d=d;this.a=e}function OVb(a,b,c,d,e){pUb.call(this,(SXb(),$Wb),a);this.c=b;this.b=c;this.d=d;this.a=e}function LVb(a,b,c,d,e){pUb.call(this,(SXb(),XWb),a);this.a=b;this.b=c;this.d=
d;this.c=e}function CUb(a,b,c,d,e){pUb.call(this,(SXb(),oWb),a);this.c=b;this.b=c;this.a=d;this.d=e}function VUb(a,b,c,d,e){pUb.call(this,(SXb(),yWb),a);this.d=b;this.c=c;this.a=d;this.b=e}function M9b(a,b,c,d){s9b.call(this,a);this.d=b;this.c=ND(b,56)?b:null;this.b=c;this.a=d}function LYb(a,b){bC.call(this,"ConvertionType = "+String.fromCharCode(a)+" class = "+b)}function X5(a){switch(a.j.f){case 98:case 86:case 87:return true;default:return false}}function G9(a){switch(a.j.f){case 60:case 62:case 61:return true;
default:return false}}function xtc(a,b){var c;Bzc(b);c=b.f;if(!a.b[c]){a.b[c]=b;++a.c;return true}return false}function $g(a,b){var c,d;Bzc(b);for(d=b.oe().Md();d.Ed();){c=d.Fd();a.put(c.xe(),c.ye())}}function N2b(a,b,c){var d;d=R2b(a,a.g,b);d!=a.g&&(a.g=d);c!=null&&(a.g=new d4b(b,c,a.g))}function oZb(a,b,c){var d;b.p=c;d=a.b<a.c?Qjc(a.a,a.b):-1;return d==46?nZb(a,b):mZb(a,b)}function Anc(a,b,c){var d,e,f;f=a.a.length-1;for(e=a.b,d=0;d<c;e=e+1&f,++d)b[d]=a.a[e]}function eGb(a,b){var c;c=null;while(!!a.b&&
a.b.a.a.c<=b.b.c){c=a.b;a.b=VGb(a.k)}return c}function lJb(a,b){var c;if(a.e.c){c=FIb(a,b,a.f?0:2,false);b=c.b}else b=CIb(a,b);return b}function mGb(a,b,c,d){b.p==(SXb(),pXb)&&(c.a&KEc)==PEc&&(d=oGb(a,(F7b(),i5b),d));return d}function je(a,b,c){if(a==null)throw RU(new Ejc(xe(b,$C(VC(AS,1),qAc,1,5,[c]))));return a}function we(a,b,c,d,e,f){if(!a)throw RU(new Xic(xe(b,$C(VC(AS,1),qAc,1,5,[c,d,e,f]))));}function qbc(){qbc=qV;pbc=new rbc("ORDINARY",0);nbc=new rbc(LGc,1);obc=new rbc(QGc,2)}function ozc(){ozc=
qV;nzc=new szc;mzc=new qzc("ISO-LATIN-1");lzc=new qzc("ISO-8859-1")}function Yvb(){Yvb=qV;Xvb=new y5("JSC_USELESS_BLOCK",(kY(),iY),new klc("Useless block."))}function peb(){peb=qV;neb=Wyc("^(\\w+(\\.\\w+)*)\\s*[:= ]");oeb=Wyc("^\\s*(.*?)(\\\\?)$")}function wQb(a){var b,c;b=qRb(a.j,0).b.b;c=vOb(a);return new jYb(new CYb(b,a.g),qOb(a,c))}function HQb(a){switch(qRb(a.j,0).c.f){case 63:case 64:return true;default:return false}}function VQb(a){switch(qRb(a.j,0).c.f){case 68:case 69:return true;default:return false}}
function j1(a){switch(F2(a.H).f){case 0:case 1:case 3:return false;default:return a.H.db}}function Cb(a){ne(a.i!=3);switch(a.i){case 0:return true;case 2:return false}return Eb(a)}function ag(a){ne(a.d!=3);switch(a.d){case 2:return false;case 0:return true}return cg(a)}function aoc(a){Fzc(a.c>=0);if(Knc(a.d,a.c)<0){a.a=a.a-1&a.d.a.length-1;a.b=a.d.c}a.c=-1}function Z1(a){return a.c.a.length>fBc.length&&Vjc(fBc,Ihc(a.c,a.c.a.length-fBc.length))}function D0b(a,b){var c;c=Z$b(a.a);c==null&&(c="");J_b(a.a,
c+(""+b));a.d=true;return true}function F9(a,b){var c,d,e;e=a;for(c=a,d=c.e;d!=b;c=d,d=c.e)G9(d)&&c!=d.b&&(e=d);return e}function $eb(a){var b,c,d;d=new Qtc;for(c=a.b.Md();c.Ed();){b=c.Fd();tlc(d,b.d,b)}return d}function gjc(a){var b,c;if(a==0)return 32;else{c=0;for(b=1;(b&a)==0;b<<=1)++c;return c}}function vxb(a,b){var c;if(!a)return b;if(!b)return a;c=Fyb(a,b);return 0==c.Ch()?null:c}function jGb(a,b){if(b.d!=a.g){a.g=b.d;(a.g.a&YCc)!=0&&(a.c=true);return true}return false}function pmb(a,b,c){if(a.a)omb(a,
c);else{!!b&&gib(a.b,b,new umb);!!c&&gib(a.b,c,new umb)}}function nW(a,b,c){var d;bW(a,c);d=c.b;d.j==(F7b(),y6b)?HW(d):d.j==J4b?aW(a,b,d):TW(a,b,d)}function Vlb(a,b,c){var d;if(a.o){d="AST hashCode after "+b+": "+Tzc(p1(a.a,c));l0(a.a,d)}}function K$b(a,b){if(!y_b(a))return true;!a.b.a&&(a.b.a=new soc);hoc(a.b.a,b);return true}function O$b(a,b){if(!y_b(a))return true;!a.b.g&&(a.b.g=new soc);hoc(a.b.g,b);return true}function L$b(a,b){if(!y_b(a))return true;if(a.b.b!=null)return false;a.b.b=b;return true}
function P$b(a,b){if(!y_b(a))return true;if(a.b.f!=null)return false;a.b.f=b;return true}function R$b(a,b){if(!y_b(a))return true;if(a.b.k!=null)return false;a.b.k=b;return true}function W7b(a,b){var c;if(ND(b,145)){c=b.b;if(!!c&&c.fi())return W7b(a,c)}return b.Gi()}function Npc(a,b){Gpc();var c;c=new Rtc(1);SD(a)?tlc(c,a,b):puc(c.d,a,b);return new Crc(c)}function MIb(a,b,c,d){var e;e=j2b(new r4b((F7b(),h7b),b,c,d),a.n);$2b(e,b.length);return e}function L0b(a,b,c,d,e,f,g){var h;if(a.b){h=new s0b;
h.d=b;h.a=g;l0b(h,c,d,e,f);i0b(a.b,h)}}function k2(a,b,c){this.e=new soc;this.d=new soc;this.a=a;this.f=b;!!a.Lg()&&rpb(a.Lg(),c)}function Tkb(a,b){if(a.a)throw RU(new Xic("Normalize constraints violated:\n"+b));d1(a.b)}function PGb(a){if(a>=48&&a<=49)return a-48;throw RU(new Xic(dHc+String.fromCharCode(a)));}function UGb(a){if(a>=48&&a<=55)return a-48;throw RU(new Xic(dHc+String.fromCharCode(a)));}function fKb(a){var b;b=bKb(a);if(b==47)return true;else{a.q[a.r++]=b;--a.b;return false}}function Qr(a){var b;
b=Ajc(a.a.b.size(),a.b);return new Yqc(arc(a.a,b,a.a.b.size()).b.Md())}function Kxb(a){ne(!a.c);ne(xlc(a.f.c)==0);return hwb(a.a,a.i,a.e,a.j,a.k,a.d,a.g,a.n,a.b)}function W$(a){if(a.n>0){a.e=a.i.a.length;a.f=a.b;xkc(a.i,10);a.n=0;++a.k;a.b=a.i.a.length}}function P$(a,b){this.i=new Jkc;ne(!!b);this.o=a<=0?_zc:a;this.j=false;this.p=b;this.g=null}function fab(){throw RU(new Pkc("FunctionInformationMap.Entry.newBuilder not implemented"));}function IY(){IY=qV;HY=new y5("JSC_UNREACHABLE_CODE",(kY(),jY),
new klc("unreachable code"))}function AY(){AY=qV;zY=new y5("JSC_USELESS_CODE",(kY(),jY),new klc("Suspicious code. {0}"))}function Wvb(){Wvb=qV;Vvb=new y5("JSC_UNUSED_LABEL",(kY(),iY),new klc("Unused label {0}."))}function Vub(){Vub=qV;Uub=new U4($C(VC(FJ,1),qAc,5,0,[new y5(IEc,(kY(),hY),new klc(""))]))}function f3(){f3=qV;c3=new g3(ABc,0);d3=new g3("USE_GLOBAL_TEMP",1);e3=new g3("USE_IIFE",2)}function DQb(a){var b,c;c=qRb(a.j,0).b.b;b=CQb(a,1);yOb(a);return new rYb(new CYb(c,a.g),b)}function Q7(a){var b,
c;c=Q2b(a.d);b=Q2b(a.d);if(yjb(b)){a.d=b;R7(a,c.Lh())}else e2b(a.j,b)}function Sw(a){var b,c,d;d=0;for(c=a.oe().Md();c.Ed();){b=c.Fd();d=SU(d,b.ve())}return jA(d)}function ms(a,b){var c;he(b);c=false;while(a.Ed())if(ze(b,a.Fd())){a.Gd();c=true}return c}function Ewc(a,b){var c,d;c=1-b;d=a.a[c];a.a[c]=d.a[b];d.a[b]=a;a.b=true;d.b=false;return d}function fc(a,b){var c;c=Toc(a.c,b);if(c>=0)return true;else{c=~c-1;return c>=0&&b<=a.b[c]}}function dbb(a,b){var c,d,e;e=u0(a.a.a);d=e.Yf(b);if(d)return true;
c=e._f(b);return c!=null}function q4(a,b,c){var d;d=b.Og()-c.Og();if(d!=0)return d;return plc(a.a,c).a-plc(a.a,b).a}function zeb(a,b,c){var d;d=new Ikc;d.a+="@";d.a+=b;d.a+=" {";yeb(a,d,c);d.a+="}";return d.a}function _jb(a){sib();var b;b=$jb(a);if(b==null)throw RU(new Rhc("Unknown op "+a));return b}function Wxb(a){var b;b=a.Ch()==2&&a.Dh().size()==1?is(a.Dh().Md()):null;return!b?null:b.b}function _7b(a){return!a.li()&&!a.si()&&!a.ri()&&!a.qi()&&a.hi()?"!"+a.vi(true):a.vi(true)}function vqb(a,b){return!!b&&
(b.j==(F7b(),f5b)||b.j==E6b)&&!!b.b&&(Dqb(a,b.b)||Cqb(a,b.b))}function o$(a,b){var c;DZ(a.c,"{");for(c=b.b;c;c=c.d){c!=b.b&&a.c.vg();a.Cg(c,4)}DZ(a.c,"}")}function dLb(a,b){var c;a.a.ih((c=$C(VC(AS,1),qAc,1,5,[b]),jHc+D4b(HHc,c)),a.b.Ig(),a.d,a.c)}function eLb(a,b){var c;a.a.ih((c=$C(VC(AS,1),qAc,1,5,[b]),jHc+D4b(zHc,c)),a.b.Ig(),a.d,a.c)}function fLb(a,b){var c;a.a.ih((c=$C(VC(AS,1),qAc,1,5,[b]),jHc+D4b(CHc,c)),a.b.Ig(),a.d,a.c)}function gLb(a,b){var c;a.a.ih((c=$C(VC(AS,1),qAc,1,5,[b]),jHc+D4b(GHc,
c)),a.b.Ig(),a.d,a.c)}function kgb(a,b,c){_d(b.length!=0);_d(b.indexOf(".")==-1);_d(!Cgb(a,b,false));Vuc(a.j,b,c)}function gg(a,b,c){var d,e;d=(e=a.f,!e?a.f=new Ch(a,a.c):e).pe(b);return!!d&&d.contains(c)}function W1b(a){var b;b=E$b(a,false);b.j==(z0b(),u0b)&&(b.j=null);return new U1b(b,a.c,true)}function DPb(a){var b;b=(Lm(),new hq);while(!GQb(a,(hUb(),ESb)))fq(b,kQb(a));return Tm(b.a)}function Shb(a){var b,c;c=Enc(a.k);b=null;while(b=Inc(a.j)){c=w8(a.i,b,c);xnc(a.k,c)}return c}function Ax(a){var b,
c,d;b=0;for(d=a.Md();d.Ed();){c=d.Fd();b+=c!=null?rb(c):0;b=~~b}return b}function FW(a){var b;b=false;b=!!a.b;b||mX("Expected at least 1 children, but was "+p2b(a),a)}function Jwb(a){var b,c;for(c=a.Md();c.Ed();){b=c.Fd();if(ayb(b.a))return true}return false}function Kwb(a){var b,c;for(c=a.Md();c.Ed();){b=c.Fd();if(byb(b.a))return true}return false}function Byb(a){var b,c;for(c=a.Md();c.Ed();){b=c.Fd();if(b==b.a.M)return false}return true}function Cjb(a){sib();switch(a.j.f){case 91:case 86:case 87:case 98:return true}return false}
function E3(a){ne(a!=B3);switch(a.f){case 0:case 1:case 2:return false;default:return true}}function P0b(a){if((a.a.a&262144)!=0)return false;else{a.a.a|=262144;a.d=true;return true}}function Lgb(a,b){_d(b.indexOf(".")==-1);return Cgb(a,b,false)||Vjc(b,a.p)||!!a.r&&Lgb(a.r,b)}function zzb(a,b,c,d){var e;e=Azb(a,b,c,d);return e.Ch()==34&&e.Dh().size()==1?jyb(e,a.a.j):e}function Zhb(a,b,c,d){var e,f;e=new Heb(!b?null:(f=u2b(b,51),!f?null:f.Ig()),b,c,d);c1(a.c,e)}function Wwc(a,b,c,d,e,f){var g;this.c=
a;g=new soc;uwc(a,g,b,a.b,c,d,e,f);this.a=new bmc(g,0)}function Kpc(a){Gpc();var b,c;c=new soc;for(b=0;b<a;++b)c.a[c.a.length]="";return new qsc(c)}function Vp(a,b){var c,d,e,f;he(b);for(d=b,e=0,f=d.length;e<f;++e){c=d[e];Sq(a,he(c))}return a}function _c(a,b){var c,d,e;Bzc(b);c=false;for(e=b.Md();e.Ed();){d=e.Fd();c=c|a.add(d)}return c}function fgc(a,b){var c,d;for(d=a.d.Md();d.Ed();){c=d.Fd();if(c==b)return true}return false}function dB(a,b){var c,d;c=Uuc(a.g,b);if(c)d=c.a;else{d=xlc(a.g.c);Vuc(a.g,
b,kjc(d))}return d}function Y2b(a,b){var c;c=R2b(a,a.g,29);c!=a.g&&(a.g=c);!!b&&(a.g=new d4b(29,b,a.g));return a}function q1(a,b,c){var d;d=new M$(b);L$(d,a.V);H$(d,a.H);d.i=false;K$(d,c&&j1(a));return G$(d)}function Bab(a,b){var c,d;for(d=Hgc(b).Md();d.Ed();){c=d.Fd();iqc(a.a,c)&&c.wi(a)}return a.b.b}function jwb(a){var b,c,d;d=null;for(c=a.Md();c.Ed();){b=c.Fd();!d?d=b:d=iwb(d,b)}return d}function ke(a,b,c,d){if(a==null)throw RU(new Ejc(xe(b,$C(VC(AS,1),qAc,1,5,[c,d]))));return a}function iA(a){if(!a)throw RU(new Nhc("mode was UNNECESSARY, but rounding was necessary"));
}function A0(a){if(a.s.isEmpty())throw RU(new Xic("No inputs"));return e2(a.s.getAtIndex(0),a)}function b_b(a){var b;if(!a.d||!a.d.n)return km(),ux(),tx;return km(),b=new nmc(a.d.n),xo(b)}function fGb(a,b){var c;c=eGb(a,b);return!!c&&c.c.indexOf("@")==-1?xGb(a,b,wGb(a,c)):hGb(a,c)}function Rzb(a,b){_d(!!a||!!b);if(a){this.c=a;this.b=null}else{this.c=null;this.b=b_b(b).Md()}}function nu(a){this.e=a;this.d=new Ztc(Bv(hg(this.e).size()));this.c=this.e.a;this.b=this.e.c}function r3b(a,b,c){this.j=a;this.e=
null;this.i=b<0||c<0?-1:(c&-4096)!=0?b<<12|uBc:b<<12|c&uBc}function t3b(a,b,c,d){s3b.call(this,a,b);this.i=c<0||d<0?-1:(d&-4096)!=0?c<<12|uBc:c<<12|d&uBc}function qpb(a,b,c){c&&b!=null&&Vjc(b.substr(0,1),"\ufeff")?a.b=b.substr(1):a.b=b;a.e=null}function vvc(a){Fzc(!!a.a);Dsc(a.c.a.c,a);ivc(a.a);ulc(a.c.a.c,a.a.d);Esc(a.c.a.c,a);a.a=null}function D4(a,b){a.f=b;a.d="";a.b=0;a.a=C4(a,w4);a.c=C4(a,x4);npc(a.a,null);npc(a.c,null);A4(a)}function rAb(a,b){ne(!a.S);he(b);a.S=b;a.U=Cyb(a.q,a.S);a.T=is(b.Dh().Md());
!!a.W&&Cyb(a.U,a.Y)}function uAb(a,b){ne(!a.W);he(b);a.W=b;a.Y=Cyb(a.t,a.W);a.X=is(b.Dh().Md());!!a.S&&Cyb(a.U,a.Y)}function ADb(a,b,c,d){ne(!a.f);if(JDb(a,b))return;a.b=ZAb(a.b,b,new cDb(d,c,null,(nDb(),mDb)))}function Nwb(a,b){if(a.isEmpty())return b;if(b.isEmpty()||zx(a,b))return a;return Nx(Dx(a,b))}function tib(a){var b;for(b=a.b.d;b;b=b.d)if(!Cib(b,(ye(),df(),_e)))return false;return true}function Vxb(a){var b,c,d;for(d=a.Dh().Md();d.Ed();){c=d.Fd();b=c.b;if(b)return b}return null}function jjb(a){sib();
switch(a.j.f){case 155:case 108:return true;default:return Atc(lib,a.j)}}function p1b(a){if((a.a.a&33554432)!=0)return false;else{a.a.a|=33554432;a.d=true;return true}}function F1b(a){if((a.a.a&16777216)!=0)return false;else{a.a.a|=16777216;a.d=true;return true}}function uz(a,b){var c;if(b==a.length)return a;else{c=XC(VD,aBc,46,b,15,1);Nkc(a,c,b);return c}}function yx(a,b){var c;ie(a,"set1");ie(b,"set2");c=(ye(),new Ke(new Ae(b)));return new Xx(a,c,b)}function d3b(a,b){var c;c=R2b(a,a.g,58);c!=a.g&&
(a.g=c);(b?1:0)!=0&&(a.g=new V3b(58,b?1:0,a.g))}function i3b(a,b){var c;c=R2b(a,a.g,62);c!=a.g&&(a.g=c);(b?1:0)!=0&&(a.g=new V3b(62,b?1:0,a.g))}function M2b(a,b,c){var d;d=R2b(a,a.g,b);d!=a.g&&(a.g=d);(c?1:0)!=0&&(a.g=new V3b(b,c?1:0,a.g))}function iBb(a,b){var c;if(b==null)return false;ne(ND(b,240));c=b;return a.a==c.a&&hwc(a.b,c.b)}function gDb(a,b){if(a==(nDb(),lDb)||b==lDb)return lDb;if(a==mDb||b==mDb)return mDb;return kDb}function hDb(a,b){if(a==(nDb(),kDb)||b==kDb)return kDb;if(a==mDb||b==mDb)return mDb;
return lDb}function Sgb(a,b){if(Cgb(a,b,false))return;while(a){if(Cgb(a,b,false)){a.d.add(b);return}a=a.r}}function XU(a){if(vBc<a&&a<tBc)return a<0?$wnd.Math.ceil(a):$wnd.Math.floor(a);return UU(rD(a))}function xGb(a,b,c){if(!!c&&(c.a&KEc)!=0){a.i=true;a.e.c&&a.d.hh(ZFc,a.r,b.b.b+1,b.b.a)}return c}function V0b(a,b){if(b!=null&&T$b(a.a)==null){C_b(a.a,b);a.d=true;return true}else return false}function q1b(a,b){if(b!=null&&$$b(a.a)==null){K_b(a.a,b);a.d=true;return true}else return false}function kOb(a){switch(a){case 10:case 13:case 8232:case 8233:return true;
default:return false}}function YRb(a){switch(a){case 10:case 13:case 8232:case 8233:return true;default:return false}}function Mxb(a){this.i=new soc;this.e=new soc;this.f=new Yuc;this.n=(Lm(),Lm(),Km);this.a=he(a)}function zyc(){var a;if(!vyc){vyc=new yyc;a=new Myc("");Iyc(a,(fyc(),cyc));wyc(vyc,a)}return vyc}function jx(a,b){var c,d,e;e=0;for(d=qs(new Yqc(a.b.b.Md()));d.Ed();){c=d.Fd();b[e++]=c}return b}function Ogb(a,b){var c,d;for(d=a.n.values().Md();d.Ed();){c=d.Fd();c.a==(kEb(),jEb)||Kzb(b,c,
a)}}function Wlb(a,b,c){if(a.s){Pob(N1(a.a),b,c);a.e&&!Vjc(a.c.b,iDc)&&!Vjc(a.c.b,jDc)&&dkb(a.k,a.f)}}function FKb(a){return EKb(a)&&ILb(Lb(a)).a==2||EKb(a)&&ILb(Lb(a)).a==3||EKb(a)&&ILb(Lb(a)).a==4}function gdc(a,b){return ND(b,200)||b.$h()?b:jdc(a,$C(VC(ER,1),qAc,20,0,[b,ndc(a,(Xcc(),Wcc))]))}function Vsb(){Vsb=qV;Usb=cq(wtc((F7b(),z7b),$C(VC(lR,1),vAc,10,0,[q6b,p5b,Q5b,k5b,j5b,Q6b])))}function _6(){_6=qV;Z6=wtc((F7b(),C7b),$C(VC(lR,1),vAc,10,0,[N5b,O5b,P5b,z5b,Q5b]));$6=new i7}function Aib(a){sib();
var b;b=$C(VC(XD,1),jBc,46,15,[0]);ekb(a,new qkb(b),new tkb(b));return b[0]}function Fac(a){var b;_d(a.Pi()||a.e==(qbc(),obc));b=Dac(a).Bi();if(!b)return null;return b.zi()}function UU(a){var b;b=a.h;if(b==0)return a.l+a.m*sBc;if(b==qBc)return a.l+a.m*sBc-tBc;return a}function dV(a){var b,c,d,e;e=a;d=0;if(e<0){e+=tBc;d=qBc}c=UD(e/sBc);b=UD(e-c*sBc);return dD(b,c,d)}function W8(a,b){var c;if(!L2b(b,cEc,cEc.length))return false;c=$ob(Shb(a),cEc);return!c||!c.d.c}function xwb(a,b){var c;c=ih(Zg(a.C,
b,false));if(!c)return false;ne(c.a!=(nDb(),lDb));return true}function OQb(a){switch(qRb(a.j,0).c.f){case 65:case 94:case 67:return true;default:return false}}function WQb(a){switch(qRb(a.j,0).c.f){case 25:case 30:case 38:return true;default:return false}}function SQb(a){switch(qRb(a.j,0).c.f){case 70:case 71:case 72:return true;default:return false}}function pJb(a){while(JIb(a,(YJb(),KJb))){!a.o?dKb(a.j):BIb(a);JIb(a,WJb)&&(!a.o?dKb(a.j):BIb(a))}}function aDb(a,b){if(b.isEmpty())return a;return new cDb(a.c,
myb(a.d,b),!a.b?null:myb(a.b,b),a.a)}function wIb(a,b,c,d,e){var f;a.b.ih((f=$C(VC(AS,1),qAc,1,5,[c]),D4b(b,f)),!a.g?null:a.g.Ig(),d,e)}function Sz(a,b){var c,d,e;e=b.length;c=XC(CS,qAc,136,e,0,1);for(d=0;d<e;++d)c[d]=Hzc(b[d]);a.g=c}function J7(a,b,c){var d;d=new soc;K7(a,b,c,d);oe(d.a.length==1,d);return Azc(0,d.a.length),d.a[0]}function ud(a,b){var c,d;for(c=0,d=a.size();c<d;++c)if(hwc(b,a.getAtIndex(c)))return c;return-1}function Iu(a){var b,c,d;b=1;for(d=a.Md();d.Ed();){c=d.Fd();b=31*b+(c==null?
0:rb(c));b=~~b}return b}function rW(a){var b,c;NW((F7b(),J5b),a);c=p2b(a);(c<1||c>2)&&mX(HBc+c,a);for(b=a.b;b;b=b.d)HW(b)}function xW(a){var b,c;NW((F7b(),b6b),a);c=p2b(a);(c<1||c>2)&&mX(HBc+c,a);for(b=a.b;b;b=b.d)HW(b)}function YW(a){var b,c;NW((F7b(),X6b),a);c=p2b(a);(c<1||c>2)&&mX(HBc+c,a);for(b=a.b;b;b=b.d)cX(b)}function _2b(a,b){var c;c=y3b(a.i);c==-1&&(c=0);a.i=b<0||c<0?-1:(c&-4096)!=0?b<<12|uBc:b<<12|c&uBc}function gzc(a,b){var c=!b&&console.groupCollapsed||console.group||console.log;c.call(console,
a)}function ZRb(a){switch(a){case 47:return false;case 92:case 91:return true;default:return!YRb(a)}}function lgc(a,b){var c,d;for(d=new boc(a.d);d.a!=d.b;){c=_nc(d);if(c==b)return true}return false}function jp(a,b){var c;if(ND(b,58)){c=b;return Wd(a.a.xe(),c.xe())&&Wd(a.a.ye(),c.ye())}return false}function fEb(a,b){he(b);if(a.a==(kEb(),jEb))return;se(a.a==hEb,lGc,Qe(a.a));a.a=jEb;a.c=null;a.b=b}function eVb(a,b,c,d,e,f){pUb.call(this,(SXb(),JWb),a);this.d=b;this.e=c;this.a=d;this.b=e;this.c=f}function FUb(a,
b,c,d,e,f){pUb.call(this,(SXb(),rWb),a);this.d=b;this.b=c;this.e=d;this.c=e;this.a=f}function $Xb(a,b,c,d,e,f){pUb.call(this,(SXb(),vXb),a);this.d=b;this.b=c;this.c=d;this.e=e;this.a=f}function TVb(a,b,c,d,e,f){pUb.call(this,(SXb(),dXb),a);this.e=b;this.d=c;this.c=d;this.a=e;this.b=f}function BB(a,b,c,d,e,f,g,h){this.i=a;this.c=b;this.b=c;this.d=d;this.g=e;this.e=f;this.f=g;this.a=h}function uqb(a,b){var c,d;c=b.b;while(c)if(yqb(a,c.Lh())){d=c.d;O2b(b,c);c=d;d1(a.a.a)}else c=c.d}function Dfb(a,b){var c;
c=new Ikc;if(a!=null){c.a+=""+a;if(b>0){c.a+=":";c.a+=b}c.a+=": "}return c.a}function tw(a,b){var c;if(b===a)return true;if(ND(b,114)){c=b;return nb(a.Xd(),c.Xd())}return false}function Pjb(a){sib();switch(a.j.f){case 79:return true;case 29:return Vjc(a.Lh(),hEc)}return false}function Bv(a){zv();if(a<3){cl(a,"expectedSize");return a+1}if(a<SAc)return UD(a/.75+1);return _zc}function MOb(a){if(GQb(a,(hUb(),XSb)))return KPb(a);if(GQb(a,KSb))return qPb(a,true);return KOb(a)}function _Pb(a){var b;if(FQb(a,
0,(hUb(),nTb))){tOb(a,nTb);b=tQb(a);tOb(a,sSb)}else b=hQb(a);return b}function yQb(a){var b,c;b=qRb(a.j,0).b.b;c=wQb(a);if(!GQb(a,(hUb(),lTb)))return c;return vQb(a,b,c)}function FBb(a,b){fBb();if(!a)return b;if(!b)return a;if(xBb(a,b))return a;return xBb(b,a)?b:null}function M$b(a,b){a.a|=4096;if(!y_b(a))return true;if(a.b.c!=null)return false;a.b.c=b;return true}function N7b(a,b){var c;!!b&&(c=R2b(a,a.g,78),c!=a.g&&(a.g=c),!!b&&(a.g=new d4b(78,b,a.g)));return a}function kIb(a,b,c){var d,e,f;d=nGb(a.a,
b);for(f=c.Md();f.Ed();){e=f.Fd();d2b(d,FGb(a.a,e))}return d}function aq(a){var b,c;for(c=he(a).oe().Md();c.Ed();){b=c.Fd();he(b.xe());he(b.ye())}return new _p(a)}function oD(a,b){var c,d,e;c=a.l+b.l;d=a.m+b.m+(c>>22);e=a.h+b.h+(d>>22);return dD(c&pBc,d&pBc,e&qBc)}function xD(a,b){var c,d,e;c=a.l-b.l;d=a.m-b.m+(c>>22);e=a.h-b.h+(d>>22);return dD(c&pBc,d&pBc,e&qBc)}function nub(a,b){var c;c=Zic(b.length,a.length);if(c!=0)return c;return Jzc((Bzc(a),a),(Bzc(b),b))}function rub(a,b){var c;c=Zic(b.length,
a.length);if(c!=0)return c;return Jzc((Bzc(a),a),(Bzc(b),b))}function xCb(a,b,c){if(Zg(a,c,false))return ih(Zg(a,c,false));else if(b)return pBb(b,c);return null}function Pob(a,b,c){lW(a.a,b);lW(a.a,c);Sob(a,b,c);Qob(a,c);AV(a.b.Y)&&ptb(new qtb(a.b),b,c);Rob(a,b)}function JOb(a){var b,c;c=qRb(a.j,0).b.b;tOb(a,(hUb(),zSb));b=KOb(a);return new rUb(new CYb(c,a.g),b)}function Vzb(){Vzb=qV;Tzb=new Wzb("REQUIRED",0);Szb=new Wzb("OPTIONAL",1);Uzb=new Wzb("REST",2)}function nDb(){nDb=qV;kDb=new oDb("CONSTANT",
0);lDb=new oDb("OPTIONAL",1);mDb=new oDb("REQUIRED",2)}function Hvb(){Hvb=qV;Gvb=new y5("JSC_MISSING_SEMICOLON",(kY(),iY),new klc("Missing semicolon"))}function RB(){RB=qV;QB=$C(VC(WD,1),cAc,46,15,[48,49,50,51,52,53,54,55,56,57,97,98,99,100,101,102])}function FOb(a,b){if(b){a.d=YLb(a.d,(TMb(),QMb).a);a.b.d&&xKb(a.c,b.b.b,$Fc,$C(VC(AS,1),qAc,1,5,[]))}}function Ujb(a,b,c){var d,e;b.j==(F7b(),Q5b)&&a.put(b,c);e=b.b;d=c.b;while(e){Ujb(a,e,d);e=e.d;d=d.d}}function L_b(a,b){var c;!a.d&&(a.d=new e0b);if(a.d.k)return false;
a.d.k=(km(),c=b,xo(c));return true}function Q_b(a,b){var c;!a.d&&(a.d=new e0b);if(a.d.p)return false;a.d.p=(km(),c=b,xo(c));return true}function Plc(a){if(a.a.Ed())return true;if(a.a!=a.d)return false;a.a=new tuc(a.e.d);return a.a.Ed()}function znc(a,b){if(b==null)return false;while(a.a!=a.b)if(nb(b,_nc(a)))return true;return false}function r1b(a,b){if(!((a.a.a&hFc)!=0||l_b(a.a))&&L_b(a.a,b)){a.d=true;return true}else return false}function Qyc(a){a.e=wV(a.d,jkc(a.c,a.a));a.b=true;if(a.e){a.a+=a.e[0].length;
return true}return false}function Fyc(a){var b,c;if(a.b)return a.b;c=a.d;while(c){b=c.b;if(b)return b;c=c.d}return fyc(),cyc}function mic(a){var b;if(a<128){b=(oic(),nic)[a];!b&&(b=nic[a]=new aic(a));return b}return new aic(a)}function C$b(a){var b;if(!y_b(a))return null;!a.b.d&&(a.b.d=new soc);b=new j0b;hoc(a.b.d,b);return b}function Guc(a,b){var c;c=a.a.get(b);if(c===undefined)++a.d;else{a.a[XHc](b);--a.c;Fsc(a.b)}return c}function tOb(a,b){var c;c=GOb(a);if(c.c!=b){XQb(a,c,dIc,$C(VC(AS,1),qAc,
1,5,[b]));return null}return c}function Ob(a,b){var c;for(c=b.length-1;c>=0;c--)if(!Gc(a,b.charCodeAt(c)))return false;return true}function ylb(a){var b;ne(a.j==(F7b(),b7b));b=u2b(a,51);if(ND(b,154))return opb(b),b.e.length;return 0}function QZb(a,b,c){ne(a.j==(F7b(),y6b));ne(b.j==Q6b);ne(c.j==c5b||c.j==_6b);return new v3b(Q5b,a,b,c)}function FIb(a,b,c,d){if(b==(YJb(),IJb)||b==KJb||b==JJb)return new wJb("",b);return EIb(a,b,c,true,d)}function Vic(a,b){if(a<b)return-1;if(a>b)return 1;if(a==b)return 0;
return isNaN(a)?isNaN(b)?0:1:-1}function ooc(a,b){var c;c=loc(a,b,0);if(c==-1)return false;Azc(c,a.a.length);czc(a.a,c,1);return true}function Hnc(a){var b;b=a.a[a.b];if(b==null)return null;a.a[a.b]=null;a.b=a.b+1&a.a.length-1;return b}function Yib(a){sib();var b,c;c=null;while(c==null&&!!a){c=(b=u2b(a,51),!b?null:b.Ig());a=a.e}return c}function Ap(a,b,c){var d,e;return b!=null&&c!=null&&(e=Fv((d=a.c,!d?a.c=new My(a):d),b),!!e&&Ev(e,c))}function fB(a,b,c,d){var e,f;ne(b>=0);ne(c>=0);a.f=new uA(b,
c);e=new CA;f=NB(d);yA(e,f);BA(e,new mB(a))}function Rwc(a,b,c,d,e,f){var g;this.c=a;g=new soc;uwc(a,g,b,a.b,c,d,e,f);this.a=new bmc(g,g.a.length)}function Awb(a,b,c){this.B=(mx(),lx);this.D=lx;this.C=(XAb(),XAb(),WAb);this.w=b;this.t=a;this.u=he(c)}function mgc(a,b){this.f=Lpc((zv(),new huc));this.e=a;this.g=false;this.c=b;this.d=new Pnc;this.b=true}function $7(a){var b,c;b=NZb(new $3b(a));c=R2b(b,b.g,66);c!=b.g&&(b.g=c);b.g=new V3b(66,1,b.g);return b}function Y0(a,b){var c,d;d=tpb(VCc+ ++a.T+"] ",
b);Lm();new iy(d);c=new m2(d);_0(a,c.f,c);return e2(c,a)}function Vcb(a,b){if(b.j==(F7b(),y6b)&&Vjc(b.Lh(),iFc)&&Fgb(a.a)){mgb(a.b.k,b);return true}return false}function GDb(a,b){var c;c=JDb(a,b);if(!c)return null;else if(!c.b&&!!a.o)return qBb(a.o,b);return c.b}function cOb(a){YNb();switch(a){case KCc:case JCc:case eDc:case ICc:return true;default:return false}}function Mib(a){sib();while(!!a&&a.j!=(F7b(),b7b))a=a.e;return!!a&&a.j==(F7b(),b7b)?u2b(a,53):null}function DGb(a,b,c){var d,e;if(z3b(a.i)==
-1){e=b.b+1;_2b(a,e);d=b.a;a.i=E3b(z3b(a.i),d);$2b(a,c.c-b.c)}}function pQb(a){var b,c;c=qRb(a.j,0).b.b;tOb(a,(hUb(),JTb));b=UOb(a,1);return new _Xb(new CYb(c,a.g),b)}function kzb(a,b){if(b.b){oe(C2b(b.b),b);Vtc(a.i,Keb(b,czb,$C(VC(FS,1),bAc,2,6,["","0",""+p2b(b.b)])))}}function de(a,b){if(!a)throw RU(new dfb(xe("too many occurrences: %s",$C(VC(AS,1),qAc,1,5,[wjc(b)]))));}function zlc(a,b){vzc(a>=0,"Negative initial capacity");vzc(b>=0,"Non-positive load factor");wlc(this)}function olc(a,b,c){var d,
e;for(e=c.Md();e.Ed();){d=e.Fd();if(a.aj(b,d.ye()))return true}return false}function P4(a,b){var c,d;for(d=b.b.Md();d.Ed();){c=d.Fd();if(!a.b.contains(c))return false}return true}function Ipc(a){Gpc();var b,c,d;d=0;for(c=a.Md();c.Ed();){b=c.Fd();d=d+(b!=null?rb(b):0);d=d|0}return d}function tD(a){var b,c,d;b=~a.l+1&pBc;c=~a.m+(b==0?1:0)&pBc;d=~a.h+(b==0&&c==0?1:0)&qBc;return dD(b,c,d)}function E9(a){var b,c,d;b=D9(a);he(b);c=b;d=c.e;while(d.j==(F7b(),l6b)){c=d;d=c.e}ne(Jjb(c.e));return c}function Df(a,
b){var c,d;he(b);c=Jf(a.c,a,b);d=new soc;while(Cb(c))hoc(d,Db(c));return Gpc(),new qsc(d)}function Xhb(a,b){ne(!!a.e);ne(!!b);xnc(a.j,b);i1(a.c,b);sib();Atc(kib,b.j)&&xnc(a.b,b);!!a.g&&a.g.jh(a)}function vyb(a,b){Rxb();return Eyb(a.a,2,(km(),new ly(ICb(a.a,b,null,a,null,a.c,(TBb(),RBb)))),null,Oxb)}function CDb(a,b){Ekc(b,a.w);a.p.isEmpty()||Ekc(Ekc((b.a+="<",b),Sc(new Vc(","),a.p.Md())),">");return b}function $C(a,b,c,d,e){e.jj=a;e.kj=b;e.lj=uV;e.__elementTypeId$=c;e.__elementTypeCategory$=d;return e}
function _hc(a){if(Vjc(typeof a,$zc))return true;return a!=null&&a.$implements__java_lang_CharSequence}function _vb(a,b){var c;c=a.f.size();return b<c?a.f.getAtIndex(b):b<c+a.d.size()?a.d.getAtIndex(b-c):a.g}function gk(a){var b,c;b=a.b.ye();if(!b||b.a==0){c=a.a.a.a.pe(a.b.xe());if(c)return c.a}return!b?0:b.a}function cjc(a){var b;if(a<0)return hBc;else if(a==0)return 0;else{for(b=SAc;(b&a)==0;b>>=1);return b}}function kD(a){var b,c;c=fjc(a.h);if(c==32){b=fjc(a.m);return b==32?fjc(a.l)+32:b+20-10}else return c-
12}function Jnb(a){Hnb();var b;b=Inb(Gnb,a);if(b!=null)return b;throw RU(new bC("Resource not found: "+a));}function Pmb(a){Jmb();this.d=new Yuc;this.g=new Qtc;this.b=new Ytc;this.k=new Ytc;this.a=new Ytc;this.c=a}function eC(a){Pz(this);Qz(this);this.backingJsObject=a;a!=null&&Lzc(a,cBc,this);this.f=a==null?iAc:tV(a)}function Mzb(a,b){jzb();var c,d;if(!a)return false;d=c_b(a,b);c=!d?null:d.a;return!!c&&c.j==(F7b(),A5b)}function zDb(a,b){ne(!a.f);ne(!a.o);if(ODb(b.a,a))return false;a.o=b;yDb((ne(!b.a.f),
b.a),a);return true}function Bx(a,b){he(b);ND(b,385)&&(b=b.ue());return ND(b,31)&&b.size()>a.size()?ls(a.Md(),b):Cx(a,b.Md())}function rp(a,b,c){var d,e;return!b||c==null?null:(e=Fv((d=a.c,!d?a.c=new My(a):d),b),!e?null:Fv(e,c))}function ze(b,c){try{return b.a.contains(c)}catch(a){a=QU(a);if(ND(a,66))return false;else throw RU(a);}}function p9b(a,b){var c;for(c=a;c;c=c.Bi()){c.ti();if(U7b(c,b,0,new Kbc(true)))return true}return false}function Hgc(a){var b,c;for(b=0;b<a.b.size();b++){c=a.b.getAtIndex(b);
if(c.ui()){Qgc(a);break}}return a.a}function Igc(a){var b,c;for(b=0;b<a.b.size();b++){c=a.b.getAtIndex(b);if(c.ui()){Qgc(a);break}}return a.b}function ywc(a,b,c){var d,e;d=new axc(b,c);e=new bxc;a.b=wwc(a,a.b,d,e);e.b||++a.c;a.b.b=false;return e.d}function VPb(a){var b;b=(Lm(),new hq);while(!GQb(a,(hUb(),rSb))&&!GQb(a,ESb))fq(b,kQb(a));return Tm(b.a)}function Fv(b,c){zv();he(b);try{return b.pe(c)}catch(a){a=QU(a);if(ND(a,66))return null;else throw RU(a);}}function TGb(a){switch(a.j.f){case 72:case 73:case 101:case 70:case 71:return true;
default:return false}}function KQb(a){switch(qRb(a.j,0).c.f){case 59:case 60:case 61:case 62:return true;default:return false}}function Fz(a,b){this.b=he(a);ee(!b||!yz(a,b.a),"Padding character %s was already in alphabet",b);this.c=b}function rdc(a,b,c){ae(c.indexOf("<")==-1,"Type names cannot contain template annotations.");tlc(a.g,c,b)}function T8(a,b){c1(a.a,Keb(b,L8,$C(VC(FS,1),bAc,2,6,["Computed property with non-qualified-name key"])))}function HV(){HV=qV;km();zo($C(VC(AS,1),qAc,1,5,["xterm",
"xterm-color","xterm-256color","screen-bce"]))}function qA(){qA=qV;var a;pA=XC(XD,jBc,46,256,15,1);_oc(pA);for(a=0;a<64;a++)pA[_Ac.charCodeAt(a)]=a}function gD(a,b,c,d,e){var f;f=vD(a,b);c&&jD(f);if(e){a=iD(a,b);d?aD=tD(a):aD=dD(a.l,a.m,a.h)}return f}function sgb(a,b,c){var d;_d(b.indexOf(".")==-1);d=ugb(a,b,c);if(d)return d;return!a.r?null:sgb(a.r,b,c)}function Igb(a,b){if(b.j==(F7b(),y6b))return Jgb(a,b.Lh());if(b.j!=W5b)return false;return Hgb(a,sDb(b))}function a_b(a,b){if(!a.d||!a.d.n)return null;
if(b>=xlc(a.d.n.c))return null;return Jr(new nmc(a.d.n),b)}function xA(a,b){var c;do{if(b==0)return null;--b}while(koc(a.c,b)==null);c=koc(a.c,b);return wA(a,Kr(c))}function Mnc(a,b){var c,d;c=a.a.length-1;a.c=a.c-1&c;while(b!=a.c){d=b+1&c;a.a[b]=a.a[d];b=d}a.a[a.c]=null}function Nnc(a,b){var c,d;c=a.a.length-1;while(b!=a.b){d=b-1&c;a.a[b]=a.a[d];b=d}a.a[a.b]=null;a.b=a.b+1&c}function joc(a,b){var c,d;c=b.toArray();d=c.length;if(d==0)return false;bzc(a.a,a.a.length,c);return true}function Hpc(a,b){Gpc();
var c,d,e,f,g;g=false;for(d=b,e=0,f=d.length;e<f;++e){c=d[e];g=g|a.add(c)}return g}function Jpc(a){Gpc();var b,c,d;d=1;for(c=a.Md();c.Ed();){b=c.Fd();d=31*d+(b!=null?rb(b):0);d=d|0}return d}function cd(a,b){var c,d;Bzc(b);for(d=b.Md();d.Ed();){c=d.Fd();if(!a.contains(c))return false}return true}function Ogc(a){var b,c;for(b=0;b<a.b.size();b++){c=a.b.getAtIndex(b);if(c.li())return true}return false}function _z(a){var b;if(a!=null){b=a[cBc];if(b)return b}return RD(a,$wnd.TypeError)?new Djc(a):new eC(a)}
function u6(a){var b,c;this.b=a;b=new Ytc;this.c=new C9(a,(c=a,new S1(c)),b,new dpb(new q3b((F7b(),b7b))))}function Tcb(a){var b;a.j==(F7b(),L4b)?(b=R2b(a,a.g,76),b!=a.g&&(a.g=b),a.g=new V3b(76,1,a.g)):ne(a.j==L5b)}function Z7(){var a,b;a=new q3b((F7b(),e5b));b=R2b(a,a.g,67);b!=a.g&&(a.g=b);a.g=new V3b(67,1,a.g);return a}function uHb(a,b){var c,d;d=nGb(a.a,(F7b(),e5b));if((!b.a?null:b.a.a)!=null){c=jIb(a,b.a);d2b(d,c)}return d}function xHb(a,b){var c,d;d=nGb(a.a,(F7b(),q5b));if((!b.a?null:b.a.a)!=
null){c=jIb(a,b.a);d2b(d,c)}return d}function bW(a,b){var c,d;d=H7b(b.j);d!=-1&&(c=p2b(b),d!=c&&mX(CBc+d+DBc+c,b));cW(b.b);tW(a,b.b?b.b.f:null)}function g$(a,b){var c,d;c=false;for(d=b;d;d=d.d){d!=b&&a.c.vg();i$(a,d,1,4);c=d.j==(F7b(),B5b)}c&&a.c.vg()}function cHb(a){var b;if(!a)return false;b=a.j;return b==(F7b(),L5b)&&a.b.j==h7b&&ky((bGb(),YFb),a.b.Lh())}function Qhb(a,b,c){if(!c)return"  "+b+": NULL";return"  "+b+"("+k3b(c,false,false,false)+"): "+Rhb(a,c)}function y2b(a){var b,c;b=u2b(a,51);if(!b)return-1;
c=z3b(a.i);if(c==-1)return-1;return b.uh(c)+y3b(a.i)}function Mgc(a){var b,c;for(c=0;c<a.b.size();c++){b=a.b.getAtIndex(c);if(!b.hi())return false}return true}function swc(a,b){var c,d,e;e=a.b;while(e){c=a.a.He(b,e.d);if(c==0)return e;d=c<0?0:1;e=e.a[d]}return null}function Nb(a,b,c){var d,e;e=b.length;le(c,e);for(d=c;d<e;d++)if(mc(a,b.charCodeAt(d)))return d;return-1}function mqb(a,b){if(b>0&&b<a.length)if(gic(a.charCodeAt(b-1))&&hic(a.charCodeAt(b)))return b-1;return b}function V8b(a){var b,c;b=
iwc(a.b);if(a.a){c=a.a.b;while(c){b=b*31+iwc(ND(c.k,20)?c.k:null);c=c.d}}return b}function jD(a){var b,c,d;b=~a.l+1&pBc;c=~a.m+(b==0?1:0)&pBc;d=~a.h+(b==0&&c==0?1:0)&qBc;a.l=b;a.m=c;a.h=d}function qt(a,b,c){var d,e;this.g=a;this.c=b;this.a=this;this.d=this;e=Lp(c);d=XC(sG,MAc,234,e,0,1);this.b=d}function Geb(a,b,c,d,e,f,g){this.g=e;this.e=b;this.c=jlc(e.b,g);this.d=c;this.a=d;this.f=a;this.b=!f?e.d:f}function Rlc(a){var b;this.e=a;this.d=new Juc(this.e.e);this.a=this.d;this.b=Plc(this);b=a[NIc];this[NIc]=
b}function dt(){Gk.call(this,new Zuc(16));cl(2,WAc);this.b=2;this.a=new kt(null,null,0,null);it(this.a,this.a)}function qY(){qY=qV;pY=new y5("JSC_MISSING_PROVIDE",(kY(),jY),new klc("missing goog.provide(''{0}'')"))}function n3(){n3=qV;j3=new o3(qDc,0);m3=new o3(rDc,1);k3=new o3(ABc,2);l3=new o3("ON",3);i3=new o3("AUTO",4)}function I7(a,b){var c,d;for(d=new Poc(a.c);d.a<d.c.a.length;){c=Noc(d);if(Vjc(b,c.c))return c}return null}function E0(a,b){var c;if(b!=null){c=plc(a.t,new w$b(b));if(c)return c.a.Lg();
return Rxc(a.P,b)}return null}function Cv(a,b){zv();var c;if(a===b)return true;else if(ND(b,49)){c=b;return zx(An(a),c.oe())}return false}function Sjb(a,b){sib();var c;ne(E2b(a,b,false,true,false,false));c=new Qtc;puc(c.d,a,b);Ujb(c,a,b);return c}function $Qb(a,b){switch(b.p.f){case 28:case 29:a.g=b.o.b,BRb(a.j,a.g.c);return aQb(a,1);default:return b}}function G2b(a){switch(a.j.f){case 29:return a.Lh().length!=0;case 26:return G2b(a.b);default:return false}}function XRb(a){switch(a){case 36:case 95:return true;
default:return/[A-Z]/i.test(String.fromCharCode(a))}}function Ewb(a,b,c,d,e){var f;Awb.call(this,a,b,c);he(d);this.d=(Rwb(),Pwb);this.e=d;this.c=(km(),f=e,xo(f))}function t9(a,b,c,d){if(!b||b==c)return;ne(!Cjb(b));t9(a,b.d,c,d);if(z9(a,b,d.b)){d.b=true;d.a=x9(a,b,d.a)}}function M7(a){var b,c;if(!a.d.b)return;c=Q2b(a.d);e2b(a.j,c);for(b=Q2b(a.d);b;b=Q2b(a.d)){b2b(a.j,b,c);c=b}}function _V(a,b){var c,d;NW((F7b(),I4b),b);for(c=b.b;c;c=c.d)c.j==B5b?(d=p2b(c),0!=d&&mX(BBc+d,c)):tW(a,c)}function ZW(a,b,
c){var d,e;NW((F7b(),Y6b),c);e=H7b(c.j);e!=-1&&(d=p2b(c),e!=d&&mX(CBc+e+DBc+d,c));CW(a,b,c.b)}function OZb(a,b,c){ne(a.j==(F7b(),z7b)||ZZb(a));ne(ZZb(b));ne(c.j==c5b||c.j==_6b);return new v3b(O5b,a,b,c)}function eob(a,b){return b.j==(F7b(),W5b)?a.c.contains((b.b?b.b.f:null).Lh()):b.j==y6b&&a.c.contains(b.Lh())}function feb(a,b){beb();var c;if(u0(a).eg(b))return true;c=b.b;return c.j==(F7b(),y6b)&&aeb.contains(c.Lh())}function Gjb(a){var b;if(a.j!=(F7b(),W5b))return false;b=a.b;return b.j==W5b&&Vjc((b.b?
b.b.f:null).Lh(),fCc)}function Fjb(a){sib();var b;if(a.j!=(F7b(),Q5b))return false;b=a.e;if(b.j!=L4b)return false;return Hjb(b.e)}function KDb(a,b){var c;ne(a.g==0);c=IDb(a,b);if(c)return c;if(a.o){c=pBb(a.o,b);if(c)return c}return null}function TU(a,b){var c;if(YU(a)&&YU(b)){c=a-b;if(!isNaN(c))return c}return qD(YU(a)?dV(a):a,YU(b)?dV(b):b)}function EW(a){var b;b=false;b=!(!!a.b&&!!a.b.d);b||mX("Expected no more than 1 children, but was "+p2b(a),a)}function QCb(a){var b,c,d;b=(km(),new Wq);for(d=
a.Md();d.Ed();){c=d.Fd();Tq(b,lCb(c))}return yo(new Poc(b.a))}function S0(a){var b,c,d;d=new toc(1);for(c=qs(new Ylc(a.a));c.Ed();){b=c.Fd();hoc(d,new n2(b,true))}return d}function Pc(a,b,c){he(b);if(c.Ed()){Akc(b,a.Ld(c.Fd()));while(c.Ed()){Akc(b,a.c);Akc(b,a.Ld(c.Fd()))}}return b}function a8b(a,b){return b?!a.li()&&!a.si()&&!a.ri()&&!a.qi()&&a.hi()?"!"+a.vi(true):a.vi(true):a.vi(false)}function C7(a,b){return UZb(l$b(a,(se(Yjc(hEc,qkc(46))==-1,YBc,hEc),new q4b((F7b(),y6b),hEc))),b,k2b(a,false))}
function Bp(a,b,c){var d,e;return b==null||c==null?null:(e=Fv((d=a.c,!d?a.c=new My(a):d),b),!e?null:Fv(e,c))}function a2(b){var c;try{return b.Dg()}catch(a){a=QU(a);if(ND(a,41)){c=a;throw RU(new dC(c));}else throw RU(a);}}function Gv(b,c){zv();he(b);try{return b.remove(c)}catch(a){a=QU(a);if(ND(a,66))return null;else throw RU(a);}}function Ifb(a,b){var c,d,e;for(d=new boc(a.a);d.a!=d.b;){c=_nc(d);e=c.oh(b);if(e!=null)return e}return null}function tHb(a,b){var c,d,e;e=nGb(a.a,(F7b(),c5b));for(d=b.a.Md();d.Ed();){c=
d.Fd();d2b(e,FGb(a.a,c))}return e}function c1(a,b){var c,d;c=b.b;if(a.X){d=j4(a.X,b);!!d&&(c=d)}if(c!=(kY(),iY)){!a.H&&Q0(a,new J2);oX(a.f,c,b)}}function U$(a,b){var c;Ekc(a.i,b);a.n+=b.length;c=Mb(new nc(10),b);if(c>0){a.k+=c;a.n=b.length-_jc(b,qkc(10))}}function C4(a,b){var c,d;d=XC(AJ,qAc,307,b.length,0,1);for(c=0;c<b.length;c++)d[c]=plc(a.e,mic(b[c]));return d}function Jdb(a,b,c){var d,e,f;f=sDb(b);d=rgb(a.a,f,false);if(d){e=d.c;if(ND(e,79))return MDb(e,c)}return null}function Feb(a,b,c){switch(b.f){case 0:return zfb(c,
a,false);case 1:return zfb(c,a,true);default:return null}}function yjb(a){sib();switch(a.j.f){case 72:case 73:case 101:case 71:case 70:return true;default:return false}}function az(a,b){var c;if(b===a)return true;else if(ND(b,564)){c=b;return Nh(a.Ee(),c.Ee())}else return false}function TB(b,c){RB();var d;try{SB(c,b)}catch(a){a=QU(a);if(ND(a,91)){d=a;throw RU(new dC(d));}else throw RU(a);}}function gl(b,c){el();he(b);try{return b.remove(c)}catch(a){a=QU(a);if(ND(a,66))return false;else throw RU(a);
}}function hGb(a,b){var c;if(b){c=dGb(a,b);Vtc(a.n,b);if(!jGb(a,c))return xGb(a,b.a,F0b(c.e,false))}return null}function d2b(a,b){var c;_d(!b.e);_d(!b.d);_d(!b.f);if(!a.b){b.f=b;a.b=b}else{c=a.b.f;c.d=b;b.f=c;a.b.f=b}b.e=a}function xtb(a){var b,c;for(c=new Poc(a.a);c.a<c.c.a.length;){b=Noc(c);if(b.e){ne(!!b.e);O2b(b.e,b);d1(a.b.a)}}}function EKb(a){var b,c,d,e;for(c=JLb(),d=0,e=c.length;d<e;++d){b=c[d];if(Vjc(b.d,a))return true}return false}function zOb(a,b){var c;c=uOb(a);if(!c||!Vjc(c.a,b)){XQb(a,
c,dIc,$C(VC(AS,1),qAc,1,5,[b]));return null}return c}function qe(a,b,c){if(!a)throw RU(new Xic(xe("line=%s, lineCount=%s",$C(VC(AS,1),qAc,1,5,[kjc(b),kjc(c)]))));}function Gkb(a){if(a.a)throw RU(new Xic("Normalize constraints violated:\nDuplicate VAR declaration"));d1(a.b)}function wOb(a){var b;b=qRb(a.j,0);switch(b.c.f){case 101:case 100:return GOb(a);case 2:default:return vOb(a)}}function O7b(a){var b,c;c=a.Md();b=b$b(c.Fd());while(c.Ed())b=SZb(b,n$b(c.Fd()));return new z4b((F7b(),z6b),b)}function $0(a,
b,c){var d,e,f;for(e=b.Md();e.Ed();){d=e.Fd();d.b=a;f=e2(d,a);if(!f)continue;Kmb(new Pmb(a),f,c)}}function hhc(a,b,c){var d,e;e=(a.ti(),false);d=(b.ti(),false);return c&&!e&&!d?a.ji(b):a.ki(b,new Nbc(false),0)}function _hb(a,b){var c;c=b.rf();!!a.f&&(c=b.rf()+fBc+Qhb(a,"Node",a.e)+(!a.e?"":Qhb(a,"Parent",a.e.e)));n1(c,b)}function bdb(a,b){var c,d;ne(b.j==(F7b(),y6b)||b.j==W5b);c=(sib(),d=Fib(b),!d?null:u2b(d,29));Xcb(a,b,b,c,false)}function Eob(a,b){var c,d;for(d=An(a.b).Md();d.Ed();){c=d.Fd();if(Syc(Uyc(c.xe(),
b)))return c.ye()}return null}function js(a,b){var c,d;ie(b,"predicate");for(d=0;a.a.Ed();d++){c=a.a.Fd().ye();if(b.Hd(c))return d}return-1}function Wkb(a){oe(a.j==(F7b(),Q5b),a);sib();if(!(a.j==Q5b&&!Kjb(a.e))&&!sjb(a)){Xkb(a);return true}return false}function Cqb(a,b){var c;if(!!b&&b.j==(F7b(),W5b)){c=b.b?b.b.f:null;return yqb(a,c.Lh())||Cqb(a,b.b)}return false}function WHb(a,b){var c;_d(b.c==(hUb(),PTb));c=sGb(a.a,(F7b(),h7b),vGb(a.a,b,false));DGb(c,b.b.b,b.b.a);return c}function o3b(a,b){u2b(a,
40)==null&&N2b(a,40,u2b(b,40));if(!u2b(a,51)){e3b(a,u2b(b,51));a.i=b.i;a.c=b.c}return a}function TRb(a){var b;b=false;while(kRb(a,a.d)&&_Rb(kRb(a,a.d)?Qjc(a.e.a,a.d):0))YRb(lRb(a))&&(b=true);return b}function Jub(a){Hub();var b;b=UCc.length;if(Vjc(a.substr(a.length-b,b),UCc))return kkc(a,0,a.length-3);return a}function jdc(a,b){var c,d,e,f,g;c=new jhc(a);for(e=b,f=0,g=e.length;f<g;++f){d=e[f];dhc(c,d,false)}return ehc(c)}function gpc(a){var b,c,d,e,f;f=1;for(c=a,d=0,e=c.length;d<e;++d){b=c[d];f=31*
f+(b!=null?rb(b):0);f=f|0}return f}function uic(){this.j=pic++;this.o=null;this.k=null;this.i=null;this.d=null;this.b=null;this.n=null;this.a=null}function Wdc(a){T7b();Lac.call(this,a,null,new X8b(a,null,null),null,null,true,true);this.a.b=this;this.j=this}function BBb(a,b){fBb();ne(a.d.d.isEmpty()||a.We().containsAll(b.p)&&b.p.containsAll(a.We()));this.b=a;this.a=b}function jHb(a,b,c){a.a.e=YLb(a.a.e,c.a);lGb(a.a,c)||a.a.d.ih(eHc+WFb(c)+fHc+c,a.a.r,(bGb(),b.o.b.b+1),b.o.b.a)}function qy(a){var b;
if(!a.a.Ed()){a.b=uvc(a.c);a.a=a.b.e.oe().Md()}b=a.a.Fd();return new ez(a.b.d,b.xe(),b.ye())}function aPb(a){var b,c;c=qRb(a.j,0).b.b;tOb(a,(hUb(),mTb));b=oQb(a);tOb(a,rSb);return new zUb(new CYb(c,a.g),b)}function yPb(a){var b,c;c=qRb(a.j,0).b.b;tOb(a,(hUb(),mTb));b=oQb(a);tOb(a,rSb);return new zUb(new CYb(c,a.g),b)}function fl(b,c){el();he(b);try{return b.contains(c)}catch(a){a=QU(a);if(ND(a,66))return false;else throw RU(a);}}function tV(a){if(Array.isArray(a)&&a.lj===uV)return sic(pb(a))+"@"+
(rb(a)>>>0).toString(16);return a.toString()}function vjb(a){sib();var b,c,d;d=a.length;for(c=0;c<d;c++){b=a.charCodeAt(c);if(b>127)return false}return true}function Peb(a){var b,c,d;b=(Lm(),new hq);for(d=new Poc(a.a);d.a<d.c.a.length;){c=Noc(d);fq(b,c.d)}return Tm(b.a)}function Reb(a){var b,c;for(c=new Poc(a.c);c.a<c.c.a.length;){b=Noc(c);_d(true);b.g=null}a.c.a=XC(AS,qAc,1,0,5,1)}function Ue(a){var b,c,d,e,f;b={};for(d=a,e=0,f=d.length;e<f;++e){c=d[e];b[":"+(c.e!=null?c.e:""+c.f)]=c}return b}function nq(a,
b){var c;if(ND(b,81)){he(b.xe());he(b.ye());c=b;hoc(a.b,c)}else hoc(a.b,Kn(b.xe(),b.ye()));return a}function w8(a,b,c){var d;a.b=null;!c?a.d=new dpb(b):a.d=new cpb(c,b);B8(a,b);a.b=null;d=a.d;a.d=null;return d}function tdc(a,b,c){var d;d=qlc(a.k,b);if(!d){d=new khc(a,3E3);tlc(a.k,b,d)}dhc(d,c,false);$cc(a,b,c);vlc(a.d,b)}function v7(a,b,c,d){!!d&&d.j==(F7b(),x5b)&&(d=d.e);switch(c.j.f){case 93:w7(a,b,c,d);break;case 94:z7(a,b,c,d)}}function S0b(a,b){if(!!b&&(a.a.a&37)==0&&(a.a.a&4)==0&&M1b(a,b)){a.a.a|=
4;a.d=true;return true}else return false}function SGb(a){switch(a.j.f){case 72:case 73:case 101:case 70:case 71:case 67:return true;default:return false}}function dEb(a,b){var c,d;if(!a)return false;for(d=a.Md();d.Ed();){c=d.Fd();if(c.Ah(b))return true}return false}function dd(a,b){var c,d,e;Bzc(b);c=false;for(d=a.Md();d.Ed();){e=d.Fd();if(b.contains(e)){d.Gd();c=true}}return c}function muc(a,b,c){var d,e,f,g;for(e=c,f=0,g=e.length;f<g;++f){d=e[f];if(a.b.aj(b,d.xe()))return d}return null}function ed(a,
b){var c,d,e;Bzc(b);c=false;for(d=a.Md();d.Ed();){e=d.Fd();if(!b.contains(e)){d.Gd();c=true}}return c}function U8(a,b){var c,d,e;e=Pib(b);d=(sib(),Iib(b,new lkb((F7b(),Q5b))));if(!d)return;c=new n9(a,e);gib(a.a,d,c)}function tPb(a,b,c){var d,e;tOb(a,(hUb(),VSb));e=HOb(a,1);tOb(a,sSb);d=nQb(a);return new iVb(new CYb(b,a.g),c,e,d)}function CHb(a,b){var c;c=qGb(a.a,(F7b(),N5b),nIb(a,b.d,b),nIb(a,b.b,b),nIb(a,b.c,b));d2b(c,GGb(a.a,b.a));return c}function Ysc(a){var b;this.a=(b=a.e&&a.e(),new Dtc(b,_yc(b,
b.length),0));this.b=XC(AS,qAc,1,this.a.a.length,5,1)}function pb(a){return SD(a)?FS:PD(a)?mS:OD(a)?jS:MD(a)?a.jj:ZC(a)?a.jj:a.jj||Array.isArray(a)&&VC(xI,1)||xI}function sz(b,c){var d;try{return tz(b,c)}catch(a){a=QU(a);if(ND(a,295)){d=a;throw RU(new ffb(d));}else throw RU(a);}}function SU(a,b){var c;if(YU(a)&&YU(b)){c=a+b;if(vBc<c&&c<tBc)return c}return UU(oD(YU(a)?dV(a):a,YU(b)?dV(b):b))}function $U(a,b){var c;if(YU(a)&&YU(b)){c=a*b;if(vBc<c&&c<tBc)return c}return UU(sD(YU(a)?dV(a):a,YU(b)?dV(b):
b))}function cV(a,b){var c;if(YU(a)&&YU(b)){c=a-b;if(vBc<c&&c<tBc)return c}return UU(xD(YU(a)?dV(a):a,YU(b)?dV(b):b))}function gyb(a){if(-1==a.Ch())return a;if(_zc==a.Ch())return a.e.f;return Eyb(a.e,a.Ch()&-9&-3,Pxb,a.Eh(),a.Bh())}function Ejb(a){sib();var b;if(a.j!=(F7b(),W5b))return false;b=a.e;return b.j==L4b&&b.b==a&&Vjc(t2b(b.b).Lh(),fCc)}function Jcb(a){pcb();var b;if(a.j!=(F7b(),W5b))return false;b=a.b;return b.j==W5b&&Vjc((b.b?b.b.f:null).Lh(),fCc)}function sjb(a){sib();var b;if(a.j==(F7b(),
Q5b)&&jjb(a.e)){b=a.e;return b.j==b7b||b.j==w6b||b.e.j==Q5b}return false}function s$b(a,b){var c;ne(a.j==(F7b(),c5b)||a.j==_6b);ne(b.j==j5b);c=o3b(new s3b(c5b,b),b);return new u3b(t7b,a,c)}function nIb(a,b,c){var d;if(!b){d=nGb(a.a,(F7b(),B5b));z3b(d.i)==-1&&DGb(d,c.o.b,c.o.a);return d}return FGb(a.a,b)}function uPb(a,b,c){var d,e;zOb(a,"of");e=HOb(a,1);tOb(a,(hUb(),sSb));d=nQb(a);return new jVb(new CYb(b,a.g),c,e,d)}function CIb(a,b){do{if(b==(YJb(),KJb)||b==IJb||b==JJb){a.i=(AJb(),yJb);return b}b=
!a.o?dKb(a.j):BIb(a)}while(true)}function sA(a,b){var c;b=b<0?(-b<<1)+1:b<<1;do{c=b&31;b>>>=5;b>0&&(c|=32);wkc(a,(qA(),_Ac.charCodeAt(c)))}while(b>0)}function _nc(a){var b;zzc(a.a!=a.b);b=a.d.a[a.a];Tnc(a.b==a.d.c&&b!=null);a.c=a.a;a.a=a.a+1&a.d.a.length-1;return b}function w1b(a){if(!((a.a.a&hFc)!=0||l_b(a.a))&&(a.a.a&hFc)==0){a.a.a|=hFc;a.d=true;return true}else return false}function Ev(b,c){zv();he(b);try{return b.containsKey(c)}catch(a){a=QU(a);if(ND(a,66))return false;else throw RU(a);}}function WYb(a){if(PD(a.a))throw RU(new bC("Double.toHexString is outside the GWT subset"));
else throw RU(RYb(a));}function mX(a,b){throw RU(new Xic(a+". Reference node:\n"+l3b(b)+"\n Parent node:\n"+(b.e?l3b(b.e):" no parent ")));}function gvb(){gvb=qV;fvb=new y5("JSC_DUPLICATE_CASE",(kY(),jY),new klc("Duplicate case in a switch statement."))}function KY(){KY=qV;JY=new y5("JSC_UNUSED_PRIVATE_PROPERTY",(kY(),iY),new klc("Private property {0} is never read"))}function ZX(){ZX=qV;YX=new y5("JSC_USED_GLOBAL_THIS",(kY(),jY),new klc("dangerous use of the global 'this' object"))}function Q2(){Q2=
qV;N2=new R2(ABc,0);O2=new R2("START",1);P2=new R2("START_AND_END",2);M2=new R2("EVERY_PASS",3)}function Rbc(){Rbc=qV;Obc=new Sbc("MATCH",0,true);Pbc=new Sbc("NOT_MATCH",1,false);Qbc=new Sbc("PROCESSING",2,true)}function Y7(a){return e$b($C(VC(jR,1),ZBc,7,0,[i$b(new q4b((F7b(),i7b),sEc),a),i$b(new q4b(i7b,xEc),new q3b(s7b))]))}function Tab(a,b){return a.e||(!!a.c&&gib(a.a,a.c,new fbb(a)),gib(a.a,a.i,new fbb(a)),a.e=true,undefined),qlc(a.g,b)}function Zeb(a,b,c){if(c==b||_eb(a,c).contains(b))return b;
else if(_eb(a,b).contains(c))return c;return Yeb(a,b,c)}function idc(a,b,c){!b&&(b=(Lm(),Lm(),Km));!c&&(c=(Lm(),Lm(),Km));return b.isEmpty()&&c.isEmpty()?a.c:new igc(a,b,c)}function pyb(a){if(a.Dh().isEmpty()){ne(!a.Bh().isEmpty());return a}return Eyb(a.e,a.Ch(),QCb(a.Dh()),a.Eh(),a.Bh())}function pHb(a,b){var c,d,e,f;f=nGb(a.a,(F7b(),I4b));for(e=b.a.Md();e.Ed();){d=e.Fd();c=FGb(a.a,d);d2b(f,c)}return f}function Wtb(a,b){var c,d;if(Wtc(a.a,b))return;Vtc(a.a,b);for(d=ug(a.d,b).Md();d.Ed();){c=d.Fd();
Wtb(a,c)}hoc(a.c,b)}function _Cb(a,b){var c;if(b==null)return false;if(a===b)return true;_d(ND(b,45));c=b;return Txb(a.d,c.d)&&a.a==c.a}function y2(a,b){var c,d;x2(a,b,null);_d(b.j==(F7b(),b7b));c=u2b(b,89);if(c){d=ZLb(c);Vjc(d,fDc)||ywc(a.b,"lang",d)}}function IZb(a,b){var c,d;c=t$b((F7b(),i5b),a);d=R2b(c,c.g,29);d!=c.g&&(c.g=d);!!b&&(c.g=new d4b(29,b,c.g));return c}function llc(a,b){var c,d;for(c=0;c<b.length;c++){d="{"+c+"}";while(a.indexOf(d)!=-1)a=dkc(a,d,tkc(b[c]))}return a}function ioc(a,b,
c){var d,e;Dzc(b,a.a.length);d=c.toArray();e=d.length;if(e==0)return false;bzc(a.a,b,d);return true}function Ah(a,b){var c,d;c=a.a.remove(b);if(!c)return null;d=a.b.he();d.addAll(c);a.b.d-=c.size();c.clear();return d}function Inc(a){var b;b=a.a[a.c-1&a.a.length-1];if(b==null)return null;a.c=a.c-1&a.a.length-1;a.a[a.c]=null;return b}function fpc(a){var b,c,d,e,f;if(a==null)return 0;f=1;for(c=a,d=0,e=c.length;d<e;++d){b=c[d];f=31*f+b;f=f|0}return f}function T8b(a){var b,c;if(a.a)for(b=a.a.b;b;b=b.d){c=
ND(b.k,20)?b.k:null;if(!!c&&Y7b(c))return true}return false}function eB(a,b){var c;if(b!=a.c){a.c=b;c=Uuc(a.k,b);if(c)a.d=c.a;else{a.d=xlc(a.k.c);Vuc(a.k,b,kjc(a.d))}}return a.d}function Pdb(a,b){var c,d;_d(b.j==(F7b(),W5b));udb(a,b);if(odb(a,b))return;d=b.b;c=(b.b?b.b.f:null).Lh();Qdb(a,b,d,c)}function m8(a,b,c){var d,e;while(b.b!=(b.b?b.b.f:null)){d=m2b(b.b?b.b.f:null);e=m3b(MZb(d,b.j),b);b2b(c,e,b);d1(a.a)}}function IW(a,b,c){var d;FW(c);for(d=c.b;d;d=d.d)d.j==(F7b(),y6b)?CW(a,b,d):d.j==x5b?CW(a,
b,d.b):mX(MBc+b+" node",d)}function ipc(a,b,c,d,e,f,g,h){var i;i=c;while(f<g)i>=d||b<c&&h.He(a[b],a[i])<=0?e[f++]=a[b++]:e[f++]=a[i++]}function hpc(a,b,c,d){var e,f,g;for(e=b+1;e<c;++e)for(f=e;f>b&&d.He(a[f-1],a[f])>0;--f){g=a[f];a[f]=a[f-1];a[f-1]=g}}function Ssc(a,b){var c,d;for(d=new Mtc(a.a);d.a<d.c.a.length;){c=Ltc(d);if(hwc(b,a.b[c.f]))return true}return false}function Syc(a){var b;a.e=wV(a.d,a.c);a.b=true;a.a=0;if(a.e){b=a.e[0];if(Vjc(b,a.c))return true;a.e=null}return false}function Qc(b,
c,d){var e;try{Pc(b,c,d)}catch(a){a=QU(a);if(ND(a,91)){e=a;throw RU(new Uhc(e));}else throw RU(a);}return c}function Od(b,c,d){var e;try{Nd(b,c,d)}catch(a){a=QU(a);if(ND(a,91)){e=a;throw RU(new Uhc(e));}else throw RU(a);}return c}function Mgb(a,b){var c;c=a;while(c.r)c=c.r;if(c.u.contains(b))return new Zvb(a.a.G,null,null,null,false);return null}function cq(a){km();switch(a.c){case 0:return ux(),tx;case 1:return new ly(is(new Mtc(a)));default:return new bq(a)}}function Eo(a){km();switch(a.size()){case 0:return ux(),
tx;case 1:return new ly(a.Md().Fd());default:return new vx(a)}}function L9b(a,b){var c;c=a.d.Wh(b);return c.ei()||c.ci()||c.di()||ndc(c.u,(Xcc(),kcc))==c?null:new M9b(a.u,c,a.b,a.a)}function THb(a,b){var c,d,e;e=new y4b((F7b(),W6b));for(d=b.a.Md();d.Ed();){c=d.Fd();d2b(e,FGb(a.a,c))}return cGb(a.a,e)}function mIb(a,b,c){var d;if(!b){d=nGb(a.a,(F7b(),B5b));z3b(d.i)==-1&&DGb(d,c.o.b,c.o.a);return d}return LHb(a,b,false)}function kjc(a){var b,c;if(a>-129&&a<128){b=a+128;c=(mjc(),ljc)[b];!c&&(c=ljc[b]=
new Yic(a));return c}return new Yic(a)}function bgc(a,b){var c,d;d=Ajc(a.d.size(),a.e.size());for(c=d-1;c>=0;c--)if(a.d.getAtIndex(c)==b)return c;return-1}function A$(a,b){var c,d;d=0;c=a.b;for(;!!c&&d<b;c=c.d)c.j==(F7b(),c5b)||c.j==_6b?d+=A$(c,b-d):c.j==B5b||++d;return d}function i8(a,b){var c,d;this.c=a;this.a=b;c=new Ytc;this.b=new C9(b,(d=b,new S1(d)),c,new dpb(new q3b((F7b(),b7b))))}function x$(a,b){c$(this);this.c=a;this.f=b.pc;this.j=b.od;this.g=b.sc;this.i=b.Ac;this.k=false;this.e=new Eeb(this.k)}
function w$(a){c$(this);this.c=a;this.f=false;this.j=true;this.g=false;this.i=false;this.k=false;this.e=new Eeb(false)}function _lb(a,b,c){Slb();this.a=a;this.f=a.u;this.u=b;this.n=new soc;this.q=c;this.e=false;this.b=false;this.t=this.i=0}function Mub(a,b,c,d,e){Lub();this.e=a;this.b=b;this.c=c?Tm(c):(Lm(),Lm(),Km);this.d=d?Tm(d):(Lm(),Lm(),Km);this.a=Hn(e)}function Oqb(a){this.a=new w$b(a);this.c=new spb(a);this.b=new q3b((F7b(),b7b));N2b(this.b,53,this.a);e3b(this.b,this.c)}function Snb(a,b){Qnb(this);
this.d=new tf(he(b));this.e=s2b(b,60)!=0?a.e:this;this.c=s2b(b,61)!=0?new tf(he(this)):a.c}function Epb(a,b){var c;b.length!=0&&u2b(a,40)==null&&(c=R2b(a,a.g,40),c!=a.g&&(a.g=c),b!=null&&(a.g=new d4b(40,b,a.g)))}function e2b(a,b){var c;_d(!b.e);_d(!b.d);_d(!b.f);b.e=a;b.d=a.b;if(!a.b)b.f=b;else{c=a.b.f;b.f=c;b.d=a.b;a.b.f=b}a.b=b}function l2b(a,b,c){var d;c3b(b,a.i);$2b(b,a.c);g3b(b,a.k);b3b(b,a.g);if(c){d=u2b(a,29);!!d&&Y2b(a,E$b(d,true))}return b}function P7b(a,b){var c,d,e;if(Lr(b))return a;c=
new z4b((F7b(),P6b),a);for(e=b.Md();e.Ed();){d=e.Fd();d2b(c,d)}return c}function _fc(a,b){var c;if(a.isEmpty())return b;if(b.isEmpty())return a;c=(Lm(),new hq);Wp(c,a);Wp(c,b);return Tm(c.a)}function xB(a,b,c,d,e){ne(a.b<=d);ne(a.b<d||a.a<e);if(a.b==d&&a.a==e)throw RU(new Wic);b.yf(c,a.b,a.a,d,e);a.b=d;a.a=e}function pwb(a,b,c,d,e){ne(!a.A);!d&&e&&(d=a.t.G);a.C=ZAb(a.C,b,e?new cDb(c,d,d,(nDb(),kDb)):new cDb(c,d,d,(nDb(),mDb)))}function D$b(a){!a.d&&(a.d=new e0b);!a.d.p?a.d.p=(km(),new ly(IDc)):a.d.p=
yo(new Poc(Tq(Vq(new Wq,a.d.p),IDc).a))}function wZb(a){if(a.b==116||a.b==84)throw RU(new yZb(LD(a.b)+""+LD(a.c)));throw RU(new yZb(String.fromCharCode(a.b)));}function xc(a){return String.fromCharCode(a).toLocaleUpperCase().charCodeAt(0)==a&&/[A-Z]/i.test(String.fromCharCode(a))}function $hc(a,b){Xhc();return SD(a)?Rjc(a,b):PD(a)?Vic((Bzc(a),a),(Bzc(b),b)):OD(a)?Zhc((Bzc(a),a),(Bzc(b),b)):a.Rd(b)}function tJb(a){sIb();var b,c;b=new GFb(new Ytc,new Ytc,(UFb(),OFb),1);c=new sJb(new iKb(a),a,0,null,
b,new mKb);return c}function H8(a){var b,c;b=BZb($C(VC(jR,1),ZBc,7,0,[]));for(c=a.b;c;c=c.d)c.j==(F7b(),h7b)&&d2b(b,n$b(u2b(c,71)));return b}function bmb(a){var b,c;for(c=new Poc(a.b);c.a<c.c.a.length;){b=Noc(c);if(hn((Slb(),Plb),b.b))return true}return false}function egc(a){var b,c,d,e;if(a.c!=null)for(c=a.c,d=0,e=c.length;d<e;++d){b=c[d];if(Y7b(b))return true}return false}function nUb(a){var b;b=a;while(b.p==(SXb(),pXb))b=b.a;switch(b.p.f){case 59:case 61:return true;default:return false}}function bSb(a){switch(a){case 48:case 49:case 50:case 51:case 52:case 53:case 54:case 55:return a-
48;default:return-1}}function F0b(a,b){var c;if(a.d||b){ne(!!a.a);c=a.a;a.a=null;!c.j&&T_b(c,(z0b(),u0b));a.d=false;return c}else return null}function ucb(a,b){var c;_d(b.j==(F7b(),Q5b));if(Tuc(a.b,b))return Uuc(a.b,b);c=Pib(b);ne(!!c);ne(c.j==y6b);return c.Lh()}function Agb(a){var b,c;if(a.t.j!=(F7b(),Q5b))return false;b=(sib(),c=Fib(a.t),!c?null:u2b(c,29));return!!b&&(b.a&2)!=0}function pdb(a){var b,c;c=a.e;if(c.j==(F7b(),F5b)||c.j==d7b){b=c.b==a?c.b.d:c.b;return Pjb(b)}return c.j==G6b&&c.e.j==
$5b}function Rgc(a){var b,c,d;c=new jhc(a.u);for(b=0;b<a.b.size();b++){d=a.b.getAtIndex(b);dhc(c,d.ni(),false)}return ehc(c)}function Kr(a){var b;if(ND(a,48)){b=a;if(b.isEmpty())throw RU(new gwc);return b.getAtIndex(b.size()-1)}return gs(a.Md())}function ezc(b,c){function d(a){if(!a||a.length==0)return"";return"\t"+a.join("\n\t")}return c&&(c.stack||d(b[nBc]))}function K9(a,b){var c,d,e;if(p2b(b)!=3)return;d=b.b;c=d.d;e=c.d;if(c.j!=(F7b(),h7b))return;hoc(a.f,new aab(a,c.Lh(),e))}function fCb(a,b){var c;
c=aCb(a,b);return!!c&&(b.a.size()==1||iyb(c.d,(_d(b.a.size()!=1),new qDb(b.a.Re(1,b.a.size())))))}function hOb(a,b,c){var d,e;return new CYb((e=fOb(a,b),new AYb(a.b,b,e,b-a.a[e])),(d=fOb(a,c),new AYb(a.b,c,d,c-a.a[d])))}function fIb(a,b){var c,d,e;e=(Lm(),new hq);for(d=b.a.Md();d.Ed();){c=d.Fd();fq(e,FGb(a.a,c))}return cGb(a.a,Q7b(Tm(e.a)))}function IHb(a,b){var c;c=nGb(a.a,(F7b(),$5b));d2b(c,FGb(a.a,b.a));d2b(c,GGb(a.a,b.c));!!b.b&&d2b(c,GGb(a.a,b.b));return c}function deb(a,b){var c;b.j==(F7b(),
c5b)&&(b=b.e);if(b.j==$5b&&tg(a.f,b)){c=b.e;(c.j==c5b||c.j==b7b)&&ig(a.g,c,ug(a.f,b))}}function DKb(a,b){var c,d;_2b(b,z3b(b.i)+a.d);for(d=(!b.b?(Gpc(),Gpc(),Fpc):new k4b(b.b)).Md();d.Ed();){c=d.Fd();DKb(a,c)}}function Bi(a){var b;if(a.b){Bi(a.b);if(a.b.d!=a.c)throw RU(new Gsc);}else if(a.d.isEmpty()){b=a.f.c.pe(a.e);!!b&&(a.d=b)}}function wy(a){if(!!(!a.a||a.a.isEmpty()&&Tuc(a.c.a,a.b)?a.a=Uuc(a.c.a,a.b):a.a)&&a.a.isEmpty()){Xuc(a.c.a,a.b);a.a=null}}function D_b(a,b){!a.d&&(a.d=new e0b);!a.d.d&&
(a.d.d=new Ytc);if(Wtc(a.d.d,b))return false;else{Vtc(a.d.d,b);return true}}function H2b(a){switch(a.j.f){case 92:case 118:case 29:case 26:case 27:case 93:case 94:return true;default:return false}}function t0(a){switch(a.H.Vb.f){case 0:case 1:case 3:return false;case 2:case 4:case 6:return true;default:return a.H.Rb}}function eeb(a){this.g=rw(fw((cl(8,TAc),new hw)));this.e=new Kp;this.f=pw(ew((cl(8,TAc),new hw)));this.d=new Pnc;this.c=a}function fub(a,b,c,d){he(b);he(c);he(d);this.d=d;this.a=a;this.c=
hub(b);this.b=jub(Nr(Nr(c,bub),d),this.c);mx();gub(this.b)}function adb(a,b){var c,d,e;ne(b.j==(F7b(),y6b)||b.j==W5b);c=(sib(),d=Fib(b),!d?null:u2b(d,29));e=Vib(b);Xcb(a,e,b,c,false)}function $Hb(a,b){var c,d,e;e=oGb(a.a,(F7b(),m7b),FGb(a.a,b.b));for(d=b.a.Md();d.Ed();){c=d.Fd();d2b(e,FGb(a.a,c))}return e}function lOb(a){var b,c;c=XC(XD,jBc,46,a.a.length,15,1);for(b=0;b<c.length;b++)c[b]=(Azc(b,a.a.length),a.a[b]).a;return c}function _Jb(a,b){var c,d;c=a.p;if(c==a.o.length){d=XC(WD,cAc,46,a.o.length*
2,15,1);Nkc(a.o,d,c);a.o=d}a.o[c]=b&gAc;a.p=c+1}function h2b(a,b){var c,d,e;if(!b)return;for(c=b;c;c=c.d){_d(!c.e);c.e=a}e=b.f;if(a.b){d=a.b.f;b.f=d;e.d=a.b;a.b.f=e}a.b=b}function fW(a,b){var c,d;NW((F7b(),j5b),b);d=H7b(b.j);d!=-1&&(c=p2b(b),d!=c&&mX(CBc+d+DBc+c,b));HW(b.b);dW(a,b.b?b.b.f:null)}function YLb(a,b){return a.b>=b.b&&(a.d||!b.d)&&(a.a||!b.a)&&(a.c||!b.c)?a:new $Lb(zjc(a.b,b.b),a.d||b.d,a.a||b.a,a.c||b.c)}function vcb(a,b,c){while(qBb(b,c)){_d(b.a.f);_d(b.a.g==0);if(rp(a.o,b.a,c)!=null)return rp(a.o,
b.a,c);b=oBb(b)}return null}function Fuc(a,b,c){var d;d=a.a.get(b);a.a.set(b,c===undefined?null:c);if(d===undefined){++a.c;Fsc(a.b)}else++a.d;return d}function Kdb(a,b,c){var d;if(!a||!(d=!a.d?null:a.d.p,!d?(Gpc(),Gpc(),Fpc):d).contains(IDc))return false;return!b||Txb(b,c)}function IDb(a,b){var c;c=ih(Zg(a.b,b,false));if(c)return c;c=ih(Zg(a.k,b,false));if(c)return c;return ih(Zg(a.j,b,false))}function FGb(a,b){var c,d;c=iGb(a,b);d=oHb(a.u,b);if(c){d=mGb(a,b,c,d);N2b(d,29,c)}z3b(d.i)==-1&&DGb(d,b.o.b,
b.o.a);return d}function m$(a,b,c,d,e){var f,g;for(g=b;g;g=g.d){f=g==b;if(f)i$(a,g,c?1:0,d);else{FZ(a.c,e,true);i$(a,g,c?1:0,d==3?3:4)}}}function c$b(a,b){var c,d,e,f,g;g=new s3b((F7b(),E6b),a);for(d=b,e=0,f=d.length;e<f;++e){c=d[e];ne(ZZb(c));d2b(g,c)}return g}function u1(a){var b,c;for(c=new Poc(a);c.a<c.c.a.length;){b=Noc(c);b.c.a.length==0&&Neb(b,new m2(tpb(b.d+"$fillFile","")))}}function iic(a){return String.fromCharCode(a).toLocaleUpperCase().charCodeAt(0)==a&&/[A-Z]/i.test(String.fromCharCode(a))}
function spb(a){npb();if(!a)throw RU(new dfb("a source must have a name"));Vjc("/",Dhc)?this.c=a:this.c=dkc(a,Dhc,"/")}function _fb(a,b,c,d,e,f){this.b=new Qtc;this.a=a;this.f=b;_d(c.length!=0);this.d=c;this.e=d;e?this.c=this:this.c=f.nh()}function rqb(a,b,c,d,e){pqb();this.a=a;this.e=new $tc(b);this.c=new $tc(c);this.d=new $tc(d);this.b=new $tc(e);this.f=new Ytc}function z0b(){z0b=qV;w0b=new A0b(SGc,0);v0b=new A0b(RGc,1);x0b=new A0b(TGc,2);y0b=new A0b(UGc,3);u0b=new A0b("INHERITED",4)}function sDb(a){if(!a||
!F2b(a))return null;return a.j==(F7b(),y6b)?new rDb(a.Lh()):new qDb(Sm(Cf(If(new nc(46)),v2b(a))))}function hyb(a){if(-1==a.Ch())return a;if(_zc==a.Ch())return a.e.A;return Eyb(a.e,a.Ch()&-33&-17&-257,a.Dh(),a.Eh(),a.Bh())}function gn(a){Lm();var b;switch(a.size()){case 0:return Km;case 1:return new iy(a.Md().Fd());default:b=a;return new px(b)}}function MRb(a){switch(kRb(a,a.d)?Qjc(a.e.a,a.d):0){case 92:return KRb(a);case 91:return NRb(a);default:lRb(a);return true}}function Ojb(a){sib();switch(a.f){case 24:case 79:case 25:case 21:case 22:case 20:case 19:return true;
default:return false}}function aQb(a,b){a.d=YLb(a.d,(TMb(),nMb).a);switch(qRb(a.j,0).c.f){case 49:return ROb(a,b);case 45:default:return YPb(a,b)}}function B$b(a,b){!a.d&&(a.d=new e0b);!a.d.f&&(a.d.f=new toc(2));if(loc(a.d.f,b,0)!=-1)return false;hoc(a.d.f,b);return true}function A$b(a,b){!a.d&&(a.d=new e0b);!a.d.e&&(a.d.e=new toc(2));if(loc(a.d.e,b,0)!=-1)return false;hoc(a.d.e,b);return true}function Q$b(a,b,c){if(!y_b(a))return true;!a.b.j&&(a.b.j=new Yuc);if(!Tuc(a.b.j,b)){Vuc(a.b.j,b,c);return true}return false}
function Ts(a){he(a.b);if(a.b.Ed())return true;while(a.a.Ed()){he(a.b=a.hf(a.a.Fd()));if(a.b.Ed())return true}return false}function Lgc(a,b,c,d){var e,f,g;f=Igc(a);for(g=0;g<f.size();g++){e=f.getAtIndex(g);if(U7b(e,b,c,d))return true}return false}function U8b(a){var b,c;if(a.a)for(b=a.a.b;b;b=b.d){c=ND(b.k,20)?b.k:null;if(!c||c.li())return true}return!a.b||a.b.li()}function FHb(a,b){var c,d,e;e=oGb(a.a,(F7b(),f5b),FGb(a.a,b.b));for(d=b.a.a.Md();d.Ed();){c=d.Fd();d2b(e,FGb(a.a,c))}return e}function IOb(a){var b,
c,d,e;e=qRb(a.j,0).b.b;b=TPb(a);while(HQb(a)){c=GOb(a);d=TPb(a);b=new yUb(new CYb(e,a.g),b,c,d)}return b}function TPb(a){var b,c,d,e;e=qRb(a.j,0).b.b;b=pPb(a);while(OQb(a)){c=GOb(a);d=zQb(a);b=new yUb(new CYb(e,a.g),b,c,d)}return b}function mQb(a){var b,c,d,e;e=qRb(a.j,0).b.b;b=IOb(a);while(SQb(a)){c=GOb(a);d=IOb(a);b=new yUb(new CYb(e,a.g),b,c,d)}return b}function GZb(a,b){var c,d,e,f,g;g=new s3b((F7b(),f5b),a);for(d=b,e=0,f=d.length;e<f;++e){c=d[e];oe(ZZb(c),c);d2b(g,c)}return g}function d7(a,b,
c){_6();var d,e,f;e=u2b(a,29);if(!e){e=u2b(b,29);f=R2b(b,b.g,29);f!=b.g&&(b.g=f)}d=X1b(e);Y2b(c,F0b(d,false))}function F$b(a,b,c){!a.d&&(a.d=new e0b);!a.d.n&&(a.d.n=new Yuc);if(Tuc(a.d.n,c))return false;else{Vuc(a.d.n,c,b);return true}}function Wob(a,b,c,d){var e;ne(b!=null&&b.length!=0);ne(Uuc(a.e,b)==null);e=new Xsb(b,c,a,(xlc(a.e.c),d));Vuc(a.e,b,e);return e}function tz(a,b){var c,d;b=(!a.c?(Cc(),Bc):new nc(a.c.a)).Jd(b);d=XC(VD,aBc,46,Ez(a,b.length),15,1);c=Mz(a,d,b);return uz(d,c)}function nZb(a,
b){var c;iZb(a);c=a.b<a.c?Qjc(a.a,a.b):-1;if(c>=48&&c<=57){uZb(b,kZb(a));return mZb(a,b)}else throw RU(pZb(a));}function Uxb(a,b){if(_zc==a.Ch())return a.e.G;ne(!a.Dh().isEmpty()||!a.Bh().isEmpty());return Iyb(bEb(a.Dh(),b),bEb(a.Bh(),b))}function kHb(a,b){if(J7b(b.Lh())){a.a.e=YLb(a.a.e,(TMb(),zMb).a);a.a.a.c==(UFb(),OFb)&&a.a.d.ih(YFc,a.a.r,z3b(b.i),y3b(b.i))}}function fD(a,b){if(a.h==rBc&&a.m==0&&a.l==0){b&&(aD=dD(0,0,0));return cD((GD(),ED))}b&&(aD=dD(a.l,a.m,a.h));return dD(0,0,0)}function oQb(a){var b;
b=(Lm(),new hq);while(FQb(a,0,(hUb(),PSb))||TQb(a)||GQb(a,_Sb)||FQb(a,0,pSb))fq(b,nQb(a));return Tm(b.a)}function qQb(a){var b;b=(Lm(),new hq);while(FQb(a,0,(hUb(),PSb))||TQb(a)||GQb(a,_Sb)||FQb(a,0,pSb))fq(b,nQb(a));return Tm(b.a)}function XZb(a,b){var c,d;c=t$b((F7b(),f6b),a);d=R2b(c,c.g,32);d!=c.g&&(c.g=d);(b?1:0)!=0&&(c.g=new V3b(32,b?1:0,c.g));return c}function L1b(a,b){if(!!b&&!((a.a.a&KEc)==PEc||(a.a.a&KEc)==hBc||(a.a.a&KEc)==XEc)){H$b(a.a,b);a.d=true;return true}return false}function oV(){nV=
{};!Array.isArray&&(Array.isArray=function(a){return Object.prototype.toString.call(a)==="[object Array]"})}function DVb(){DVb=qV;AVb=new EVb("DECLARATION",0);BVb=new EVb("EXPRESSION",1);CVb=new EVb("MEMBER",2);zVb=new EVb("ARROW",3)}function TBb(){TBb=qV;RBb=new UBb(0);QBb=new UBb(1);PBb=new UBb(2);OBb=new UBb(3);SBb=$C(VC(ON,1),qAc,199,0,[RBb,QBb,PBb,OBb])}function hB(){this.e=new soc;this.k=new Yuc;this.j=new Yuc;this.g=new Yuc;this.f=new uA(0,0);this.i=new uA(0,0);this.a=new Yuc}function Lzb(a,
b,c,d){jzb();this.i=new Avc;this.g=new Yuc;he(a);this.a=a;this.e=new Nzb(null,mwb(a));this.b=b;this.d=c;this.f=d}function Ytb(a){this.f=new soc;this.c=new soc;this.a=new Ytc;this.e=new Yuc;this.b=new Qtc;this.d=new dt;joc(this.f,a);Xtb(this)}function cpb(a,b){Vob(this);he(a);he(b);fe(b!=a.d,"Root node: %s\nParent's root node: %s",b,a.d);this.c=a;this.d=b;this.b=a.b+1}function ivb(){ivb=qV;hvb=new y5("JSC_USELESS_EMPTY_STATEMENT",(kY(),iY),new klc("Useless empty statement. Remove semicolon."))}function Ezc(a,
b,c){if(a<0||b>c)throw RU(new Phc(WIc+a+XIc+b+", size: "+c));if(a>b)throw RU(new dfb(WIc+a+" > toIndex: "+b));}function Rib(a){sib();switch(a.j.f){case 91:case 86:case 87:case 98:return a.Lh()}throw RU(new Xic("Unexpected node type: "+a));}function UQb(a){switch(qRb(a.j,0).c.f){case 9:case 26:case 24:case 63:case 64:case 77:case 76:return true;default:return false}}function QQb(a,b){var c;c=qRb(a.j,b).c;switch(c.f){case 2:case 101:case 100:return true;default:return YNb(),YNb(),!!bo(zNb,c)}}function K3b(a,
b,c){var d,e;for(e=0;e!=b;++e)c.a+="    ";Akc(c,k3b(a,true,true,true));c.a+=fBc;for(d=a.b;d;d=d.d)K3b(d,b+1,c)}function kdb(a){var b,c,d,e;for(d=(e=(new nmc(a.b.a)).a.oe().Md(),new tmc(e));d.a.Ed();){c=(b=d.a.Fd(),b.xe());Adb(a,c)}a.b=null}function FZb(a){var b,c,d,e,f,g;c=(b=new q3b((F7b(),c5b)),b);for(e=a,f=0,g=e.length;f<g;++f){d=e[f];ne($Zb(d));d2b(c,d)}return c}function cGb(a,b){var c,d;!!b.g||j2b(b,a.t);for(d=(!b.b?(Gpc(),Gpc(),Fpc):new k4b(b.b)).Md();d.Ed();){c=d.Fd();cGb(a,c)}return b}function c9(a,
b){var c,d;for(d=(!b.b?(Gpc(),Gpc(),Fpc):new k4b(b.b)).Md();d.Ed();){c=d.Fd();if(c.j==(F7b(),o5b)){d9(a,b);return}}}function U9(a){var b,c,d;d=Df(If(new nc(46)),a);c=new soc;for(b=0;b<d.b.size();b++)hoc(c,Sc(new Vc("."),Tr(Mr(d,b+1))));return c}function Uab(a,b,c){var d,e,f;e=(d=Yjc(b,qkc(46)),d==-1?b:b.substr(0,d));return f=$ob(c,e),!f&&!!a.d&&(f=$ob(a.d,e)),!!f&&!f.d.c}function $9b(a,b,c,d,e){var f,g;if(!!Pec(a.r,b)&&(g=a.Hi(b),!!g&&!g.b))return false;f=new Iec(b,c,d,e);Tec(a.r,b,f);return true}
function R2b(a,b,c){var d;if(!b)return null;else if(b.Vh()==c)return b.Th();else{d=R2b(a,b.Th(),c);return d!=b.Th()?b.Rh(d):b}}function RCb(a,b,c){var d,e,f;d=(km(),new Wq);for(f=a.Md();f.Ed();){e=f.Fd();Tq(d,mCb(e,b,c,false,false))}return yo(new Poc(d.a))}function ad(a,b,c){var d,e;for(e=a.Md();e.Ed();){d=e.Fd();if(TD(b)===TD(d)||b!=null&&nb(b,d)){c&&e.Gd();return true}}return false}function ygb(a,b){var c;ie(a.s,"Failed to preserve namespaces post-finalization");c=a.s.pe(b);if(ND(c,79))return c.q;
return null}function ghc(a){if(a.e)return ndc(a.i,(Xcc(),Ubc));else if(a.f)return a.b?ndc(a.i,(Xcc(),$bc)):ndc(a.i,(Xcc(),Tcc));return null}function ixb(a){if(a.c)return a;if(a==a.a.v||a==a.a.g)return a.a.g;return new jxb(a.a,a.i,a.e,a.j,a.k,a.d,a.g,a.f,a.n,true,a.b)}function bn(a){Lm();var b,c,d;for(c=0,d=a.length;c<d;c++)if(a[c]==null)throw RU(new Ejc("at index "+c));b=a;return new xpc(b)}function rA(a){var b,c,d,e,f;e=0;f=0;do{b=Qjc(a.a,a.b++);d=(qA(),pA[b]);c=(d&32)!=0;d&=31;e=e+(d<<f);f=f+5}while(c);
return tA(e)}function wtc(a,b){var c,d,e,f,g;c=(d=(e=ric((f=a.jj,g=f.f,g==nS?f:g)),new Dtc(e,_yc(e,e.length),0)),xtc(d,a),d);Hpc(c,b);return c}function vkc(a,b,c){var d,e,f,g;f=b+c;Gzc(b,f,a.length);g="";for(e=b;e<f;){d=e+1E4<f?e+1E4:f;g+=pkc(a.slice(e,d));e=d}return g}function D6(a,b,c){var d,e;for(e=c.Md();e.Ed();){d=e.Fd();d.j==(F7b(),h7b)&&C6(a,b,d);D6(a,b,!d.b?(Gpc(),Gpc(),Fpc):new k4b(d.b))}}function f7(a,b,c,d){_6();var e;if(a.j==(F7b(),p5b)&&!(b.j==O5b&&a==b.b)){d7(a,c,d);e=X1b(u2b(d,29));
Q0b(e);Y2b(d,F0b(e,false))}}function O$(a,b,c,d){var e,f;if(a.j)for(f=new Poc(a.g);f.a<f.c.a.length;){e=Noc(f);e.b=Q$(e.b,b,c,d);!!e.a&&(e.a=Q$(e.a,b,c,d))}}function Aqb(a,b,c){var d,e,f;d=b.b;if(Cqb(a,d)||(f=v2b(d),Eqb(a,f))){if(c.j==(F7b(),L5b)){e=c.e;ckb(e,c)}else ckb(c,b);d1(a.a.a)}}function sdb(a,b,c){var d;ne(c.f||c.g==0);if((c.i.a&1)==0)return true;d=b.e;return(d.j==(F7b(),L4b)&&b==d.b||d.j==L5b)&&Agb(a.a)}function Whb(a,b){var c,d;!b&&!!a.g&&a.g.kh(a);d=Hnc(a.j);!d&&(d=Lnc(a.k).d);sib();Atc(kib,
d.j)&&Lnc(a.b);c=Uhb(a);!!c&&i1(a.c,c)}function nBb(a){var b,c,d;ne(a.a.f);d=(km(),new Wq);for(c=HDb(a.a).Md();c.Ed();){b=c.Fd();Tq(d,uBb(b,a.b))}return yo(new Poc(d.a))}function mBb(a){var b,c,d;d=(km(),new Wq);for(c=HDb(a.a).Md();c.Ed();){b=c.Fd();QDb(b.a)&&Tq(d,uBb(b,a.b))}return yo(new Poc(d.a))}function SCb(a,b){var c,d,e;c=(km(),new Wq);for(e=a.Md();e.Ed();){d=e.Fd();Tq(c,mCb(d,b,null,false,false))}return yo(new Poc(c.a))}function iQb(a,b){var c,d,e,f;f=qRb(a.j,0).b.b;c=mQb(a);while(RQb(a,b)){d=
GOb(a);e=mQb(a);c=new yUb(new CYb(f,a.g),c,d,e)}return c}function TOb(a,b){var c,d;ync(a.e,(Xhc(),Xhc(),false));GQb(a,(hUb(),mTb))?c=yPb(a):c=UOb(a,b);d=Inc(a.e);zzc(d!=null);return c}function BZb(a){var b,c,d,e,f;b=new q3b((F7b(),I4b));for(d=a,e=0,f=d.length;e<f;++e){c=d[e];ne(c.j==B5b||ZZb(c));d2b(b,c)}return b}function Ljb(a){var b,c;b=a.b;if(b.j==(F7b(),W5b)||b.j==V5b){c=b.b?b.b.f:null;return c.j==h7b&&Vjc("toString",c.Lh())}return false}function Lbc(a,b,c){!a.a&&(a.a=new Cp(new Yuc,new Gp));
if(Ap(a.a,b,c))return Bp(a.a,b,c);else{Mbc(a,b,c,(Rbc(),Qbc));return null}}function N$b(a,b,c){if(!y_b(a))return true;!a.b.e&&(a.b.e=new Yuc);if(Tuc(a.b.e,b))return false;else{Vuc(a.b.e,b,c);return true}}function q0b(a,b){if(!a&&!b)return true;if(!a&&!!b||!!a&&!b)return false;return a.d==b.d&&a.f==b.f&&a.e==b.e&&a.c==b.c&&a.b==b.b}function Mg(a){return ND(a,203)?Ex(a):ND(a,122)?(Gpc(),new usc(a)):ND(a,31)?(Gpc(),new Vrc(a)):ND(a,48)?Opc(a):(Gpc(),new Iqc(a))}function LC(){if(Error.stackTraceLimit>
0){$wnd.Error.stackTraceLimit=Error.stackTraceLimit=64;return true}return dBc in new Error}function v$(a,b,c,d,e,f,g,h){var i,j;j=b.b;while(j.j==c)j=j.b;i$(a,j,g,e);i=j;do{i=i.e;FZ(a.c,d,true);i$(a,i.b.d,h,f)}while(i!=b)}function T3(){T3=qV;O3=new U3("ALL",0);R3=new U3("RAW_SIZE",1);P3=new U3("AST_SIZE",2);S3=new U3("TIMING_ONLY",3);Q3=new U3(ABc,4)}function AJb(){AJb=qV;yJb=new BJb("SEARCHING_ANNOTATION",0);zJb=new BJb("SEARCHING_NEWLINE",1);xJb=new BJb("NEXT_IS_ANNOTATION",2)}function sIb(){sIb=
qV;rIb=(km(),zo($C(VC(AS,1),qAc,1,5,[xCc,PDc])));qIb=zo($C(VC(AS,1),qAc,1,5,[hHc,iHc,"stable","mapped","xid"]))}function aZb(a){var b;if(a.a==null)b=iAc;else throw RU(new bC("Integer.toHexString is outside the GWT subset"));return UYb(a,b,0)}function Bac(a){var b,c;c=a.Pi()?Fac(a):null;if(!c)return a.c;b=(Lm(),new hq);gq(b,a.c);while(c){gq(b,c.c);c=Fac(c)}return Tm(b.a)}function kx(a,b){var c,d;c=a.b.b.size();b.length<c&&(b=(d=(yzc(0),Xoc(b,0)),d.length=c,d));jx(a,b);b.length>c&&(b[c]=null);return b}
function qHb(a,b){var c,d,e;jHb(a,b,(TMb(),nMb));e=nGb(a.a,(F7b(),J4b));for(d=b.a.Md();d.Ed();){c=d.Fd();d2b(e,HGb(a.a,c))}return e}function RHb(a,b){var c,d,e;jHb(a,b,(TMb(),nMb));e=nGb(a.a,(F7b(),M6b));for(d=b.a.Md();d.Ed();){c=d.Fd();d2b(e,HGb(a.a,c))}return e}function $r(a,b){var c,d;he(a);ae(b>=0,"numberToAdvance must be nonnegative");for(d=0;d<b&&a.a.Ed();d++){c=a.a.Fd();c.xe()}return d}function nX(a){var b,c,d,e;for(e=(c=(new mnc(a.d.a)).a.oe().b.ej(),new snc(c));e.a.Ed();){d=(b=e.a.Fd(),b.xe());
a.Pf(d.b,d.a)}a.Of()}function sr(a){var b,c,d;b=qr(a.a);for(d=new Poc(a.b);d.a<d.c.a.length;){c=Noc(d);rr(b,c)}return kr(),new lr((Gpc(),new rsc(b)),a.a)}function iB(a,b){var c,d,e,f;e=0;for(d=new wvc(new nvc(b));d.b!=d.c.a.b;){c=uvc(d);f=c.d;e!=0&&(a.a+=",",a);Akc(a,(RB(),UB(f)));++e}}function wGb(a,b){var c,d,e,f;d=b.c;e=b.a.b.b+1;c=b.a.b.a;f=new sJb(new jKb(d.substr(3),e,c+3),d,b.a.b.c,a.q,a.a,a.d);return ZIb(f)}function t7(a,b,c){var d,e,f;d=(sib(),e=Fib(b),!e?null:u2b(e,29));!!d&&a_b(d,c)!=null?
f=a_b(d,c):f=qEc+a.b++;ne(K7b(f));return f}function _zb(a,b){var c,d,e;if(!a.I)return a.G;e=a.I.p;c=a.I.q;if(e.size()==1){d=is(e.Md());c=myb(c,(bl(d,b),new cy(d,b)))}return c}function dIb(a,b){var c,d;d=b.a.Pe();c=sGb(a.a,(F7b(),y6b),d.Fd());while(d.Ed())c=SZb(c,n$b(d.Fd()));return cGb(a.a,new z4b(u7b,c))}function oPb(a,b){var c,d,e,f;f=qRb(a.j,0).b.b;c=iQb(a,b);while(KQb(a)){d=GOb(a);e=iQb(a,b);c=new yUb(new CYb(f,a.g),c,d,e)}return c}function uQb(a){var b,c,d;d=qRb(a.j,0).b.b;tOb(a,(hUb(),$Tb));
b=uOb(a);tOb(a,GSb);c=tQb(a);yOb(a);return new iYb(new CYb(d,a.g),b,c)}function dkb(a,b){sib();var c,d;d=a;c=ih(ouc(d.d,b));s2b(b,56)>s2b(c,56)?ne(!ojb(b,c)):ne(ojb(b,c));ekb(b,new okb(d),(ye(),df(),af))}function U7(a){var b;b=Q2b(a.d);while(b){!!b.b&&d2b(a.e,NZb(CZb(b,Q2b(b))));b2b(a.i.e,MZb(k2b(b,false),(F7b(),z7b)),a.i);b=Q2b(a.d)}}function Rw(a,b,c,d){var e;cl(c,"oldCount");cl(d,"newCount");e=Fv(a.a,b);if((!e?0:e.a)==c){Tj(a,b,d);return true}else return false}function rC(){var a;if(mC!=0){a=lC();
if(a-nC>2E3){nC=a;oC=$wnd.setTimeout(xC,10)}}if(mC++==0){AC((zC(),yC));return true}return false}function ljb(a){sib();var b;if(!(a.j==(F7b(),c5b)||a.j==_6b))return false;for(b=a.b;b;b=b.d)if(b.j!=B5b)return false;return true}function MZb(a,b){oe(a.j==(F7b(),y6b)||a.j==M6b||a.j==J4b||a.j==x5b,a);(a.j==M6b||a.j==J4b)&&(a=new s3b(x5b,a));return new s3b(b,a)}function Xob(a){var b;b=a;while(b){if(b.d.j==(F7b(),Q5b)||Bib(b.d)&&!!b.c&&b.c.d.j==Q5b||!b.c||b.d.j==w6b)return b;b=b.c}return null}function h$b(a){var b,
c,d,e,f;f=new q3b((F7b(),Q6b));for(c=a,d=0,e=c.length;d<e;++d){b=c[d];ne(b.j==y6b||b.j==Y6b);d2b(f,b)}return f}function k$b(a){var b,c,d,e,f;f=new q3b((F7b(),_6b));for(c=a,d=0,e=c.length;d<e;++d){b=c[d];ne(b.j==_6b||b.j==b7b);d2b(f,b)}return f}function S4(a,b){O4();var c,d,e,f,g;g=(km(),new Wq);for(d=b,e=0,f=d.length;e<f;++e){c=d[e];Vq(g,c.b)}this.a=a;this.b=yo(new Poc(g.a))}function FFb(a,b,c,d,e){var f;_d(!(d==(UFb(),OFb)&&e==0));this.a=HFb(a);this.d=b;this.b=0;this.f=(km(),f=c,xo(f));this.c=d;
this.e=e}function $fc(a,b,c,d,e){var f;f=false;if(!a.a&&!b.a){a.a=true;b.a=true;f=jgc(c,a,b,d,e)&&jgc(c,b,a,d,e);a.a=false;b.a=false}return f}function Gac(a,b,c){if(!b)return false;if(a.Pi()&&b==(se(a.Pi()||a.e==(qbc(),obc),IIc,a),b8b(a.j)))return false;return Iac(a,b,c)}function A1b(a,b,c){if(!((a.a.a&KEc)==PEc||(a.a.a&KEc)==hBc||(a.a.a&KEc)==XEc)&&F$b(a.a,c,b)){a.d=true;return true}else return false}function Vuc(a,b,c){var d,e,f;e=plc(a.c,b);if(!e){d=new kvc(a,b,c);slc(a.c,b,d);hvc(d);return null}else{f=
Gmc(e,c);Wuc(a,e);return f}}function a0b(a,b){var c,d,e;e=null;if(a){e=new toc(a.a.length);for(d=new Poc(a);d.a<d.c.a.length;){c=Noc(d);hoc(e,Y_b(c,b))}}return e}function Th(a,b){var c,d,e;if(ND(b,58)){c=b;d=c.xe();e=Fv(a.se(),d);return Wd(e,c.ye())&&(e!=null||a.se().containsKey(d))}return false}function ceb(a,b){var c;if(Qj(a.e,b)>0)return true;c=Enc(a.d);if(!c.c)return false;while(!!c&&!!c.a){vg(a.g,c.a,b);c=c.b}return true}function cxb(a,b){if(!b||b==b.a.s||b==b.a.v||b==b.a.g||Ywb(a,b)||!a.c)return a;
return a==a.a.v||a==a.a.g||a==a.a.s?ixb(b):rxb(a,b)}function qyb(a,b,c){_d(!!c);if(_zc==a.Ch()||0==a.Ch()||a.Dh().isEmpty())return a;return Eyb(a.e,a.Ch(),RCb(a.Dh(),b,c),a.Eh(),a.Bh())}function Rm(a){var b,c;b=a.toArray();switch(b.length){case 0:return Km;case 1:c=new iy(b[0]);return c;default:return new px(bn(b))}}function JQb(a){var b;b=qRb(a.j,0);switch(b.c.f){case 2:case 65:case 43:case 49:case 52:return true;default:return YNb(),!!$Nb(b.c)}}function IV(a,b){switch(b.f){case 0:return JV(a,yBc,
(RV(),NV));case 1:return JV(a,zBc,(RV(),QV));default:return b.e!=null?b.e:""+b.f}}function zW(a){var b,c,d;NW((F7b(),j6b),a);for(b=a.b;b;b=b.d){NW(z6b,b);c=H7b(b.j);c!=-1&&(d=p2b(b),c!=d&&mX(CBc+c+DBc+d,b));HW(b.b)}}function OHb(a,b){var c,d,e;e=oGb(a.a,(F7b(),E6b),FGb(a.a,b.b));if(b.a)for(d=b.a.a.Md();d.Ed();){c=d.Fd();d2b(e,FGb(a.a,c))}return e}function cEb(a,b){var c,d,e,f;if(!a)return null;c=null;for(e=a.Md();e.Ed();){d=e.Fd();if(d.Ah(b)){f=d.zh(b);c=!c?f:Cyb(c,f)}}return c}function twc(a,b,c){var d,
e,f;e=null;f=a.b;while(f){d=a.a.He(b,f.d);if(c&&d==0)return f;if(d>=0)f=f.a[1];else{e=f;f=f.a[0]}}return e}function Voc(a,b,c){var d,e,f,g;e=0;d=b-1;while(e<=d){f=e+(d-e>>1);g=a[f];if(g<c)e=f+1;else if(g>c)d=f-1;else return f}return-e-1}function Woc(a,b,c){var d,e,f,g;e=0;d=b-1;while(e<=d){f=e+(d-e>>1);g=a[f];if(g<c)e=f+1;else if(g>c)d=f-1;else return f}return-e-1}function IIb(a,b){var c,d;d=false;while(true){c=aKb(a.j);if(c==32)continue;else if(c==b){d=true;break}else break}gKb(a.j,c);return d}function Egb(a,
b){var c,d;_d(b.indexOf(".")==-1);ne(a.g);c=sgb(a,b,false);if(!c||!c.a||!c.d)return false;return d=$xb(c.d),!!d&&!!d.e}function Nh(a,b){var c;if(b===a)return true;if(!ND(b,31))return false;c=b;if(c.size()!=a.size())return false;return a.containsAll(c)}function $ib(a,b,c){var d;if(b.Hd(a))return true;if(!c.Hd(a))return false;for(d=a.b;d;d=d.d)if($ib(d,b,c))return true;return false}function x2b(a){var b,c,d,e;b=0;for(e=a.g;e;e=e.Th())++b;c=XC(XD,jBc,46,b,15,1);for(d=a.g;d;d=d.Th()){--b;c[b]=d.Vh()}lpc(c);
return c}function sg(a){var b,c,d,e;for(c=(e=(new xmc(a.c)).a.oe().Md(),new Cmc(e));c.a.Ed();){b=(d=c.a.Fd(),d.ye());b.clear()}a.c.clear();a.d=0}function Jic(a,b){var c=0;while(!b[c]||b[c]=="")c++;var d=b[c++];for(;c<b.length;c++){if(!b[c]||b[c]=="")continue;d+=a+b[c]}return d}function vgb(a,b){var c;c=wgb(a,b.a.getAtIndex(0));return!c||b.a.size()==1?c:wwb(c,(_d(b.a.size()!=1),new qDb(b.a.Re(1,b.a.size()))))}function Gcb(a,b){pcb();var c;c=a.e;return a.j==(F7b(),W5b)&&a.b.j==q7b&&(c.j==L4b&&nb(c.b,
a)||c.j==L5b)&&(Agb(b)||(_d(!!b.t),Fjb(b.t)))}function z$(a){var b,c;for(b=a.b;b;b=b.d)if(b.j==(F7b(),c5b)||b.j==_6b){c=z$(b);if(c)return c}else if(b.j!=B5b)return b;return null}function Wib(a){sib();var b;for(b=a;true;b=b.b){if(b.j==(F7b(),y6b)||b.j==q7b||b.j==l7b)return b;se(b.j==W5b,"Not a getprop node: ",b)}}function Mic(a){var b;b=typeof a;if(Vjc(b,Xzc)||Vjc(b,Yzc)||Vjc(b,$zc))return true;return a!=null&&a.$implements__java_lang_Comparable}function G8(a){var b,c,d;b=BZb($C(VC(jR,1),ZBc,7,0,[]));
for(c=a.b;c;c=c.d)if(c.j==(F7b(),h7b)){d=n$b(F8(u2b(c,71)));d2b(b,d)}return b}function AHb(a,b){var c,d,e;e=LHb(a,b.b,true);f3b(e,(F7b(),y6b));d=oGb(a.a,J5b,e);if(b.a){c=LHb(a,b.a,true);f3b(c,y6b);d2b(d,c)}return d}function bPb(a,b){var c,d,e,f;f=qRb(a.j,0).b.b;b&&tOb(a,(hUb(),fTb));c=DOb(a);d=xPb(a,1);e=COb(a);return new CUb(new CYb(f,a.g),b,c,d,e)}function mPb(a){var b,c,d;d=qRb(a.j,0).b.b;tOb(a,(hUb(),FSb));c=uOb(a);tOb(a,mTb);b=nPb(a);tOb(a,rSb);return new dVb(new CYb(d,a.g),c,b)}function kZb(a){var b;
b=0;while(a.b<a.c&&rZb(Qjc(a.a,a.b))){b=SU($U(10,b),Qjc(a.a,a.b++)-48);if(TU(b,_zc)>0)return jZb(a)}return fV(b)}function wjc(a){var b,c;if(TU(a,-129)>0&&TU(a,128)<0){b=fV(a)+128;c=(yjc(),xjc)[b];!c&&(c=xjc[b]=new njc(a));return c}return new njc(a)}function qtb(a){ntb();this.e=new Ytc;this.a=a;this.d=w0(a,new Geb("",null,0,0,itb,null,$C(VC(FS,1),bAc,2,6,[])))==(kY(),hY);this.c=true}function $Jb(){YJb();return $C(VC(lO,1),vAc,73,0,[JJb,KJb,MJb,SJb,XJb,PJb,VJb,NJb,TJb,OJb,UJb,GJb,FJb,DJb,QJb,WJb,IJb,
RJb,HJb,EJb,LJb])}function beb(){beb=qV;aeb=(km(),zo($C(VC(AS,1),qAc,1,5,[lBc,$Dc])));_db=cq(wtc((F7b(),F4b),$C(VC(lR,1),vAc,10,0,[O6b,Z5b,$5b,c5b,b7b])))}function yIb(a,b,c,d){var e;a.b.ih((e=$C(VC(AS,1),qAc,1,5,[b]),jHc+D4b("msg.jsdoc.type.record.duplicate",e)+kHc),!a.g?null:a.g.Ig(),c,d)}function RQb(a,b){switch(qRb(a.j,0).c.f){case 54:case 55:case 57:case 56:case 17:return true;case 16:return b==1;default:return false}}function F2b(a){switch(a.j.f){case 29:return a.Lh().length!=0;case 33:case 99:return true;
case 26:return F2b(a.b);default:return false}}function R0b(a){if(!((a.a.a&KEc)==PEc||(a.a.a&KEc)==hBc||(a.a.a&KEc)==XEc)&&!n_b(a.a)){a.a.a|=2;a.d=true;return true}else return false}function QDb(a){var b,c;if(XDb(a.w,eFc,a.u))return true;if(a.d)for(c=a.d.Md();c.Ed();){b=c.Fd();if(QDb(b.a))return true}return false}function B$(b){var c;if(E$(b))try{c=Ric(b);if(ZU(c,{l:0,m:0,h:512}))return eV(c)}catch(a){a=QU(a);if(!ND(a,93))throw RU(a);}return NaN}function xzc(a,b){if(0>a)throw RU(new dfb("fromIndex: 0 > toIndex: "+
a));if(a>b)throw RU(new Qhc("fromIndex: 0, toIndex: "+a+VIc+b));}function gwb(a,b,c,d,e,f,g,h,i){_d(!e||0!=e.Ch());he(a);this.a=a;this.f=b;this.d=c;this.g=d;this.i=e;this.c=f;this.e=g;this.j=h;this.b=i}function k0b(a,b){if(!a&&!b)return true;if(!a&&!!b||!!a&&!b)return false;return q0b(a.a,b.a)&&o0b(a.c,b.c)&&q0b(a.b,b.b)&&t0b(a.d,b.d)}function Wjc(a,b){Bzc(a);if(b==null)return false;if(Vjc(a,b))return true;return a.length==b.length&&Vjc(a.toLowerCase(),b.toLowerCase())}function Tzc(a){Rzc();var b,
c,d;c=":"+a;d=Qzc[c];if(!(d===undefined))return d;d=Ozc[c];b=d===undefined?Szc(a):d;Uzc();Qzc[c]=b;return b}function Nhb(a,b){var c,d;d=(c=u2b(b.e,51),!c?null:c.Ig());if(d!=null&&Vjc(d.substr(0,11)," [synthetic")||(Rxb(),false))return;c1(a.a,b)}function qOb(a,b){var c;c=(Lm(),new hq);fq(c,b?b.a:"");while(GQb(a,(hUb(),tTb))){tOb(a,tTb);b=uOb(a);if(!b)break;fq(c,b.a)}return Tm(c.a)}function ozb(a,b,c){var d,e,f;f=c.size();if(f==b)return c;d=(Lm(),new hq);for(e=0;e<b;e++)fq(d,e<f?c.getAtIndex(e):a.a.G);
return Tm(d.a)}function b0b(a,b){var c,d,e,f;e=null;if(a){e=new Yuc;for(d=new wvc(new nvc(a));d.b!=d.c.a.b;){c=uvc(d);f=c.e;Vuc(e,c.d,Y_b(f,b))}}return e}function Knc(a,b){var c,d,e,f;d=a.a.length-1;c=b-a.b&d;f=a.c-b&d;e=a.c-a.b&d;Tnc(c<e);if(c>=f){Mnc(a,b);return-1}else{Nnc(a,b);return 1}}function E$b(a,b){var c;c=new V_b;c.d=!a.d?null:__b(a.d,b);c.b=a.b;c.j=a.j;c.a=a.a;c.i=Y_b(a.i,b);c.g=Y_b(a.g,b);c.c=a.c;c.f=a.f;return c}function Y1(a,b){var c,d;Ekc(a.c,b);c=-1;d=c;while((c=Zjc(b,qkc(10),c+1))>=
0){++a.b;d=c}d==-1?a.a+=b.length:a.a=b.length-(d+1);return a}function bQb(a,b){var c,d,e;e=qRb(a.j,0).b.b;c=cQb(a,b);if(GQb(a,(hUb(),GSb))){tOb(a,GSb);d=UOb(a,1);c=new aVb(new CYb(e,a.g),c,d)}return c}function APb(a,b,c){var d;ync(a.e,(Xhc(),c?true:false));rVb(wVb(qVb(tVb((b.f=c,b),DOb(a)),xPb(a,0)),COb(a)),yPb(a));d=Inc(a.e);zzc(d!=null)}function rwb(a,b,c,d){ne(!a.A);if(!!Zg(a.C,b,false)&&_zc!=ih(Zg(a.C,b,false)).d.Ch())return;a.C=ZAb(a.C,b,new cDb(c,d,null,(nDb(),mDb)))}function Do(a,b,c,d,e,f,
g){km();var h,i;i=g.length+6;h=new toc(i);Hpc(h,$C(VC(AS,1),qAc,1,5,[a,b,c,d,e,f]));Hpc(h,g);return yo(new Poc(h))}function jX(a,b){var c;sib();!!b&&(b.j==(F7b(),z7b)||b.j==q6b||b.j==p5b)?IW(a,b.j,b):b.j==(F7b(),B5b)?(c=p2b(b),0!=c&&mX(BBc+c,b)):tW(a,b)}function wjb(a){var b;b=a.e;if(b.j==(F7b(),M6b)||b.j==J4b||b.j==i7b&&b.e.j==M6b){if(a.j==i7b&&!!a.b)return false;return true}return false}function yg(a,b,c){return ND(c,203)?new sj(a,b,c):ND(c,122)?new rj(a,b,c):ND(c,31)?new tj(a,b,c):ND(c,48)?zg(a,
b,c,null):new Ei(a,b,c,null)}function U1(a){var b,c,d,e;e=U0(a.a);try{b=new $1;if(a.a.u){c=0;for(d=a.a.u.b;d;d=d.d)o1(a.a,b,c++,d)}return b.c.a}finally{l1(a.a,e,$Cc)}}function z4(a){var b,c,d,e,f;a.e=(zv(),new Rtc(Bv(x4.length)));f=0;for(c=x4,d=0,e=c.length;d<e;++d){b=c[d];slc(a.e,mic(b),new I4(b,f));++f}}function HFb(a){var b,c,d;b=new pq;oq(b,An((CFb(),BFb)));for(d=a.Md();d.Ed();){c=d.Fd();c.length!=0&&!ao(BFb,c)&&mq(b,c,aFb)}return Nn(b.b)}function hdc(a,b,c){var d,e,f;d=new mbc(a);f=c.length-
1;for(e=0;e<=f;e++)b&&e==f?kbc(d,c[e]):jbc(d,$C(VC(ER,1),qAc,20,0,[c[e]]));return d.b}function kic(a,b,c){uzc(a>=0&&a<=kBc);if(a>=dAc){b[c++]=eAc+(a-dAc>>10&fAc)&gAc;b[c]=hAc+(a-dAc&fAc)&gAc;return 2}else{b[c]=a&gAc;return 1}}function Yt(b,c){var d;d=b.Pd(c);try{return d.Fd()}catch(a){a=QU(a);if(ND(a,64))throw RU(new Phc("Can't get element "+c));else throw RU(a);}}function Zjb(a,b){sib();var c,d;c=(se(Yjc(a,qkc(46))==-1,YBc,a),new q4b((F7b(),y6b),a));if(b){d2b(c,b);m3b(c,b)}d=m3b(MZb(c,z7b),c);return d}
function Blb(a){var b,c,d;for(d=i2b(a.n).Md();d.Ed();){b=d.Fd();a.k+=1;a.j+=ylb(b)}for(c=i2b(a.u).Md();c.Ed();){b=c.Fd();a.v+=1;a.t+=ylb(b)}}function Lmb(a,b,c,d){if(c.j==(F7b(),a6b)){a.i=true;Nmb(a,b,c,d)}else if(c.j==I5b){a.i=true;Mmb(a,b,c,d)}else if(c.j==b7b){++a.j;Omb(a,b,c)}}function Gxb(a,b){if(a.e.a.length!=0||!!a.j)throw RU(new Nxb("Cannot add required formal after optional or rest args"));hoc(a.i,b);return a}function bOb(a){YNb();switch(a.f){case 36:case 37:case 38:case 39:case 40:case 41:case 42:case 43:case 44:return true;
default:return false}}function VRb(a){switch(a){case 48:case 49:case 50:case 51:case 52:case 53:case 54:case 55:case 56:case 57:return true;default:return false}}function Tjb(a){switch(a){case 5:case 1:case 3:case 2:return false;case 6:case 4:case 0:return true;default:throw RU(new Xic("unexpected"));}}function NQb(a){var b;b=qRb(a.j,0);switch(b.c.f){case 18:case 2:case 49:case 65:case 54:case 47:return true;default:return YNb(),!!$Nb(b.c)}}function eZb(a,b){b.a=b.a.substr(0,0)+"("+b.a.substr(1);
if(a.b.k){vZb(a.b,a.b.p-1);b=UYb(a,b,1);b.a+=")"}else{b.a+=")";b=UYb(a,b,0)}return b}function te(a,b,c){if(!a)throw RU(new Xic(xe('Bad binary operator "%s": expected 2 arguments but got %s',$C(VC(AS,1),qAc,1,5,[b,kjc(c)]))));}function G$(a){if(!a.g)throw RU(new Xic("Cannot build without root node being specified"));return F$(a.g,b_(a.c,a.d,a.e),a.c,a.i,a.j,a.b,a.a)}function wwb(a,b){var c,d;d=b.a.getAtIndex(0);c=a.B.pe(d);return!c||b.a.size()==1?c:wwb(c,(_d(b.a.size()!=1),new qDb(b.a.Re(1,b.a.size()))))}
function fDb(a,b){var c,d,e;d=a.b;e=b.b;!d||!e?c=null:Txb(d,e)?c=d:c=null;return new cDb(a.c==b.c?a.c:null,Cyb(a.d,b.d),c,gDb(a.a,b.a))}function SHb(a,b){var c,d,e,f;e=(Lm(),new hq);for(d=b.a.Md();d.Ed();){c=d.Fd();fq(e,FGb(a.a,c))}f=FGb(a.a,b.b);return cGb(a.a,P7b(f,Tm(e.a)))}function bEb(a,b){var c,d,e,f;if(!a)return null;d=null;for(f=a.Md();f.Ed();){e=f.Fd();if(e.Ah(b)){c=e.yh(b);!!c&&(d=!d?c:Cyb(d,c))}}return d}function eJb(a,b){var c;c=fJb(a,b);if(c)if(JIb(a,(YJb(),QJb))){!a.o?dKb(a.j):BIb(a);
pJb(a);b=!a.o?dKb(a.j):BIb(a);return kJb(a,b,c)}return c}function hQb(a){var b,c;b=qRb(a.j,0).b.b;if(GQb(a,(hUb(),mTb))){tOb(a,mTb);c=new XXb(new CYb(b,a.g),MPb(a));tOb(a,rSb)}else c=xQb(a);return c}function GRb(a){if(cic(kRb(a,a.d)?Qjc(a.e.a,a.d):0,16)<0){tRb(a,"Hex digit expected",$C(VC(AS,1),qAc,1,5,[]));return false}lRb(a);return true}function NUb(){NUb=qV;IUb=new OUb("BLOCK",0);LUb=new OUb("LINE",1);KUb=new OUb("JSDOC",2);MUb=new OUb("SHEBANG",3);JUb=new OUb("IMPORTANT",4)}function J1b(a,b){if(!!b&&
!((a.a.a&KEc)==PEc||(a.a.a&KEc)==hBc||(a.a.a&KEc)==XEc)&&!a.a.g){R_b(a.a,b);a.d=true;return true}else return false}function kjb(a){sib();var b;if(!!a&&(a.j==(F7b(),z7b)||a.j==q6b||a.j==p5b))for(b=a.b;b;b=b.d)if(b.j==(F7b(),x5b))return true;return false}function iX(a,b){var c;sib();if(!!b&&(b.j==(F7b(),z7b)||b.j==q6b||b.j==p5b)){c=p2b(b);1!=c&&mX(FBc+c,b);IW(a,b.j,b)}else H2b(b)||mX(EBc+b.j,b)}function HZb(a,b){var c;ne(ZZb(a));ne(b.j==(F7b(),c5b)||b.j==_6b);c=R2b(b,b.g,39);c!=b.g&&(b.g=c);b.g=new V3b(39,
1,b.g);return new u3b(h5b,a,b)}function aIb(a,b){var c;_d(b.c==(hUb(),iTb)||b.c==STb||b.c==TTb||b.c==UTb);c=tGb(a.a,vGb(a.a,b,true));N2b(c,71,b.a);DGb(c,b.b.b,b.b.a);return c}function aLb(a,b){var c;if(b.j!=(F7b(),y6b)){a.a.ih((c=$C(VC(AS,1),qAc,1,5,["name"]),jHc+D4b(zHc,c)),a.b.Ig(),a.d,a.c);return false}return true}function Gvc(a,b){var c,d;Dzc(b,a.b);if(b>=a.b>>1){d=a.c;for(c=a.b;c>b;--c)d=d.b}else{d=a.a.a;for(c=0;c<b;++c)d=d.a}return new Rvc(a,b,d)}function ggc(a,b,c){var d,e,f;f=c-b.size();if(f>
0){d=(Lm(),new hq);Wp(d,b);for(e=0;e<f;e++)fq(d,ndc(a.b,(Xcc(),Tcc)));return Tm(d.a)}return b}function roc(a,b){var c,d,e;e=a.a.length;b.length<e&&(b=(d=new Array(e),_C(d,b)));for(c=0;c<e;++c)b[c]=a.a[c];b.length>e&&(b[e]=null);return b}function wpc(a,b){var c,d,e;e=a.a.length;b.length<e&&(b=(d=new Array(e),_C(d,b)));for(c=0;c<e;++c)b[c]=a.a[c];b.length>e&&(b[e]=null);return b}function N0(a,b,c,d){var e,f,g,h;g=new Seb;for(f=qs(new Ylc(c.a));f.Ed();){e=f.Fd();Neb(g,new m2(e))}h=new toc(1);h.a[h.a.length]=
g;P0(a,b,h,d)}function yub(a){return Hub(),AFc+dkc(ckc(ckc(ckc(ckc(ckc(dkc(ekc(Jub(a.a),nEc+Xyc("/"),""),"/","$"),92,36),64,36),45,95),58,95),46,95),iEc,"_")}function NDb(a,b){var c,d,e;d=KDb(a,b);e=!d?null:d.d;return!!e&&(c=e.Ch()==2&&e.Dh().size()==1?is(e.Dh().Md()):null,!!(!c?null:c.b))&&Vxb(e).b}function hZb(a,b,c,d,e){if(b==-2&&!e)throw RU(new PYb("<"));if(b>=a.length)throw RU(new PYb(kkc(c.a,c.d,c.b)));if(b==-2)return d;return a[b]}function f4(a,b){var c;if(ND(b,207)){c=b;c.a&&(a.a=c.a);g4(a,
new uoc(new Jxc(c.c.a.dj())))}else{++a.d;slc(a.e,b,kjc(a.d));Fxc(a.c,b);Exc(a.c,b)}}function j9(a,b){Q8();return s0(a,"es6/util/"+mkc("makeIterator",(awc(),$vc)),false),GZb(Yjb(a,"$jscomp.makeIterator"),$C(VC(jR,1),ZBc,7,0,[b]))}function BCb(a,b,c){if(b.a==(nDb(),lDb)){if(!!a&&!cyb(a.d,b.d,c))return false}else if(!a||a.a==lDb||!cyb(a.d,b.d,c))return false;return true}function LKb(a,b){if(!CKb(a,b,(GLb(),lLb)))return false;if(!_Kb(a,(ee(b.j==(F7b(),f5b),yHc,b),o2b(b,1)))){fLb(a,lLb.d);return false}return true}
function SKb(a,b){if(!CKb(a,b,(GLb(),wLb)))return false;if(!_Kb(a,(ee(b.j==(F7b(),f5b),yHc,b),o2b(b,1)))){fLb(a,wLb.d);return false}return true}function CKb(a,b,c){var d;d=(ee(b.j==(F7b(),f5b),yHc,b),p2b(b)-1);if(d<c.c){gLb(a,c.d);return false}if(d>c.b){dLb(a,c.d);return false}return true}function LDb(a,b){var c,d,e;ne(a.g!=0);e=IDb(a,b);if(e)return e;if(a.d)for(d=a.d.Md();d.Ed();){c=d.Fd();e=pBb(c,b);if(e)return e}return null}function Kgc(a,b){var c,d,e;d=new jhc(a.u);for(c=0;c<a.b.size();c++){e=
a.b.getAtIndex(c);(e.li()||e.di()||!e.ji(b))&&dhc(d,e,false)}return ehc(d)}function jQb(a,b){var c;c=cQb(a,b);GQb(a,(hUb(),GSb))&&ZQb(a,"A default value cannot be specified after '...'",$C(VC(AS,1),qAc,1,5,[]));return c}function N0b(a,b){if(!!b&&!((a.a.a&KEc)==PEc||(a.a.a&KEc)==hBc||(a.a.a&KEc)==XEc)&&!k_b(a.a)){A_b(a.a,b);a.d=true;return true}else return false}function KD(a,b){if(SD(a))return!!JD[b];else if(a.kj)return!!a.kj[b];else if(PD(a))return!!ID[b];else if(OD(a))return!!HD[b];return false}
function Rb(a){var b,c;c=$C(VC(WD,1),cAc,46,15,[92,117,0,0,0,0]);for(b=0;b<4;b++){c[5-b]=mAc.charCodeAt(a&15);a=a>>4&gAc}return vkc(c,0,c.length)}function uJb(a){var b,c;c=0;while(c<a.length){b=Qjc(a,a.length-c-1);if(/\s/.test(b))++c;else break}if(c==0)return a;return kkc(a,0,a.length-c)}function vy(a){var b,c;c=!a.a||a.a.isEmpty()&&Tuc(a.c.a,a.b)?a.a=Uuc(a.c.a,a.b):a.a;if(!c)return Yr(),Yr(),Xr;b=c.oe().Md();return new Ey(a,b)}function DW(a){var b,c;NW((F7b(),m6b),a);a.Lh()==null&&mX(KBc,a);a.Lh().length==
0&&mX(LBc,a);c=H7b(a.j);c!=-1&&(b=p2b(a),c!=b&&mX(CBc+c+DBc+b,a))}function HW(a){var b,c;NW((F7b(),y6b),a);a.Lh()==null&&mX(KBc,a);a.Lh().length==0&&mX(LBc,a);c=H7b(a.j);c!=-1&&(b=p2b(a),c!=b&&mX(CBc+c+DBc+b,a))}function Bnc(a){var b,c,d;if(a.b!=a.c)return;d=a.a.length;c=cjc(8>d?8:d)<<1;if(a.b!=0){b=_yc(a.a,c);Anc(a,b,d);a.a=b;a.b=0}else dzc(a.a,c);a.c=d}function Ryc(a,b){if(a.b)if(!a.e)throw RU(new Xic("regex did not match"));else return a.e[b];else throw RU(new Xic("regex not executed yet"));}function tzc(a){switch(typeof a){case $zc:return Tzc(a);
case Yzc:return UD(a);case Xzc:return Xhc(),a?1231:1237;default:return a==null?0:Nzc(a)}}function rb(a){return SD(a)?Tzc(a):PD(a)?UD((Bzc(a),a)):OD(a)?(Bzc(a),a)?1231:1237:MD(a)?a.zd():ZC(a)?Nzc(a):!!a&&!!a.hashCode?a.hashCode():Nzc(a)}function ckc(a,b,c){var d,e,f;d=(b>>>0).toString(16);e="\\u"+jkc("0000",d.length)+d;f=String.fromCharCode(c);return a.replace(new RegExp(e,"g"),f)}function re(a,b,c){if(!a)throw RU(new Xic(xe("Bad GETELEM node: Expected 2 children but got %s. For node: %s",$C(VC(AS,
1),qAc,1,5,[kjc(b),c]))));}function m1(a,b,c,d,e){var f;Eyc(i0,"Strip code");k1(a,"stripCode");f=new rqb(a,b,c,d,e);a.H.pd==(Z3(),Y3)&&Vtc(f.e,"goog.tweak");qqb(f,a.u);r0(a)}function zcb(a,b){var c,d,e;return d=(sib(),e=Fib(b),!e?null:u2b(e,29)),!!d&&(d.a&1)!=0&&(d.a&2)==0||(c=u2b(b,51),!(!!c&&c.vh())&&fjb(a.f,Ccb(b)))}function gjb(a,b){sib();var c;if(s2b(a,43)!=0)return true;if(a.j!=(F7b(),y6b)||!b)return false;c=$ob(b,a.Lh());return!!c&&(Wsb(c)||c.wh()==p5b)}function Xkb(a){var b,c,d,e;c=a.b;b=
c.Jh(false);e=m3b(MZb(b,(F7b(),z7b)),a);c.Qh("");d=a.e;if(d.j==l6b)S2b(d,a,e);else{O2b(d,a);e2b(d,e)}e2b(b,a)}function PRb(a,b){var c,d,e;d=a.d;while(kRb(a,a.d)&&!YRb(kRb(a,a.d)?Qjc(a.e.a,a.d):0))lRb(a);c=hOb(a.e.b,d,a.d);e=kkc(a.e.a,d,a.d);cRb(a.a,b,c,e)}function NGb(a,b){var c;if(b.j==(F7b(),$6b)){c=b;while(c=c.e)if(c.j==Q5b)return;a.d.hh("return must be inside function",a.r,z3b(b.i),y3b(b.i))}}function Q7b(a){var b,c,d;ae(!Lr(a),"union must have at least one option");b=new y4b((F7b(),x7b));for(d=
a.Md();d.Ed();){c=d.Fd();d2b(b,c)}return b}function bl(a,b){if(a==null)throw RU(new Ejc("null key in entry: null="+b));else if(b==null)throw RU(new Ejc("null value in entry: "+a+"=null"));}function RW(a,b){var c,d;NW((F7b(),i7b),b);SW(b);E3(a.a.v)?(d=p2b(b),(d<0||d>1)&&mX(JBc+d,b)):(c=p2b(b),1!=c&&mX(FBc+c,b));!!b.b&&!b.b.d&&tW(a,b.b)}function aib(b,c){var d;try{$hb(b,Mib(c),"");b.e=c;Xhb(b,c);bib(b,c,null);Whb(b,false)}catch(a){a=QU(a);if(ND(a,41)){d=a;_hb(b,d)}else throw RU(a);}}function Flb(a,
b,c){var d;d=Lnc(a.f);ne(Vjc(b,d.j));hoc(a.w,d);d.n=c;d.a=0;d.k=1;a.d.a&&(d.d=1);Vjc(b,aDc)?Dlb(a,d):a.d.a&&a.D!=(T3(),S3)&&Clb(a,d)}function tBb(a,b){var c,d,e;e=a.a.p;ne(b.size()==e.size());d=new Yuc;for(c=0;c<e.size();c++)Vuc(d,e.getAtIndex(c),b.getAtIndex(c));return uBb(a,d)}function JLb(){GLb();return $C(VC(qO,1),vAc,63,0,[iLb,jLb,kLb,mLb,nLb,oLb,pLb,qLb,lLb,sLb,rLb,tLb,uLb,vLb,wLb,zLb,yLb,xLb,ALb,BLb,CLb,DLb,ELb,FLb])}function _Rb(a){switch(a){case 9:case 11:case 12:case 32:case 160:case 65279:case 10:case 13:case 8232:case 8233:return true;
default:return false}}function YYb(a,b){var c,d,e;d=a.b.n;e=tV(a.a);if(e.indexOf(".")!=-1){c=Yjc(e,qkc(46));c+d<e.length&&(e=e.substr(0,c+d+1));b.a+=""+e}else b.a+=""+e}function Efc(a,b,c,d){if(A8b(a,b,c,d))return true;if(ndc(a.u,(Xcc(),Acc)).ki(b,c,d))return true;if(!b.ri())return false;return q9b(a,b.ri(),c,d)}function Mjb(a,b){var c,d;if(a.j==(F7b(),h7b))return true;if(b.Hf().td){d=a.k;if(d){c=b.Jf().fh((Xcc(),Jcc));if(d.Fh(c))return true}}return false}function qCb(a){var b,c,d,e;for(e=(c=(new xmc(a)).a.oe().Md(),
new Cmc(c));e.a.Ed();){d=(b=e.a.Fd(),b.ye());if(0==d.d.Ch())return true}return false}function TIb(a,b){var c,d;switch(b.f){case 4:d=a.j.n;c=j2b(new r4b((F7b(),i7b),d,a.j.g,cKb(a.j)),a.n);$2b(c,d.length);return c;default:return null}}function GIb(a){var b,c,d;hKb(a.j);d=a.j.g;b=cKb(a.j)+1;c=okc(HIb(a));c.length>0&&K0b(a.e,c,d,b,d,b+c.length);return new wJb(c,!a.o?dKb(a.j):BIb(a))}function J_(a){var b,c,d;b=a.b;if((L2b(b,OCc,OCc.length)||L2b(b,PCc,PCc.length))&&p2b(a)==3){c=b.d;d=c.d;return new z_((C_(),
c),d)}else return null}function jic(a){uzc(a>=0&&a<=kBc);return a>=dAc?$C(VC(WD,1),cAc,46,15,[eAc+(a-dAc>>10&fAc)&gAc,hAc+(a-dAc&fAc)&gAc]):$C(VC(WD,1),cAc,46,15,[a&gAc])}function nb(a,b){return SD(a)?Vjc(a,b):PD(a)?(Bzc(a),a===b):OD(a)?(Bzc(a),a===b):MD(a)?a.xd(b):ZC(a)?a===b:!!a&&!!a.equals?a.equals(b):TD(a)===TD(b)}function vz(a,b){if(b>127||a.e[b]==-1)throw RU(new cA("Unrecognized character: "+(fc((kc(),jc),b)?"0x"+(b>>>0).toString(16):mic(b))));return a.e[b]}function l$(a,b){var c,d,e;d=b.Lh();
e=s2b(b,54)!=0;if(e)e$(a,q$(a,b.Lh(),e));else{c=qlc(a.d,d);if(c==null){c=q$(a,b.Lh(),e);tlc(a.d,d,c)}DZ(a.c,c)}}function ZOb(a,b){var c,d,e,f;f=qRb(a.j,0).b.b;c=oPb(a,b);while(GQb(a,(hUb(),dSb))){d=tOb(a,dSb);e=oPb(a,b);c=new yUb(new CYb(f,a.g),c,d,e)}return c}function $Ob(a,b){var c,d,e,f;f=qRb(a.j,0).b.b;c=_Ob(a,b);while(GQb(a,(hUb(),iSb))){d=tOb(a,iSb);e=_Ob(a,b);c=new yUb(new CYb(f,a.g),c,d,e)}return c}function _Ob(a,b){var c,d,e,f;f=qRb(a.j,0).b.b;c=ZOb(a,b);while(GQb(a,(hUb(),lSb))){d=tOb(a,
lSb);e=ZOb(a,b);c=new yUb(new CYb(f,a.g),c,d,e)}return c}function PPb(a,b){var c,d,e,f;f=qRb(a.j,0).b.b;c=$Ob(a,b);while(GQb(a,(hUb(),fSb))){d=tOb(a,fSb);e=$Ob(a,b);c=new yUb(new CYb(f,a.g),c,d,e)}return c}function QPb(a,b){var c,d,e,f;f=qRb(a.j,0).b.b;c=PPb(a,b);while(GQb(a,(hUb(),pTb))){d=tOb(a,pTb);e=PPb(a,b);c=new yUb(new CYb(f,a.g),c,d,e)}return c}function r0(a){oe(!!a.c,"Tracer should not be null at the end of a pass.");l1(a,a.c,a.b);a.b=null;a.c=null;a.H._==(Q2(),M2)&&Pob(new Tob(a),a.n,a.u)}
function Dwb(a,b){he(b);if(a.d==(Rwb(),Qwb))return;se(a.d==Owb,lGc,Qe(a.d));a.d=Qwb;a.e=null;a.a=b;a.b=(Rxb(),Eyb(a.t,4,Pxb,null,(km(),new ly(a))))}function E1b(a,b){if(!!b&&!d_b(a.a)&&!((a.a.a&KEc)==PEc||(a.a.a&KEc)==hBc||(a.a.a&KEc)==XEc)){S_b(a.a,b,SAc);a.d=true;return true}else return false}function h9(a,b){return s0(a,"es6/util/"+mkc("arrayFromIterable",(awc(),$vc)),false),GZb(Yjb(a,"$jscomp.arrayFromIterable"),$C(VC(jR,1),ZBc,7,0,[b]))}function i9(a,b,c){var d,e;d=s2b(a,58)!=0?b:c;d=k2b(d,false);
if(a.j==(F7b(),o5b))return RZb(d,Q2b(a));else{e=a.b.b;return SZb(d,m3b(n$b(a.Lh()),e))}}function fib(a,b,c){Phb();this.k=new Pnc;this.j=new Pnc;this.b=new Pnc;this.a=b;ND(b,889)&&(this.g=b);this.c=a;$hb(this,null,"");this.i=c;this.o=true}function jxb(a,b,c,d,e,f,g,h,i,j,k){he(a);this.a=a;this.i=b;this.e=c;this.j=d;this.k=e;this.d=f;this.g=g;this.f=h;this.n=i;this.c=j;this.b=k;Xwb(this)}function _ob(a,b,c){var d;d=a;while(true){if(Tuc(d.e,b))return true;if(Bib(d.d)&&!!d.c&&d.c.d.j==(F7b(),Q5b)||!!d.c&&
c){d=d.c;continue}return false}}function qqb(a,b){var c,d,e,f;for(f=(d=(new nmc(a.e.a)).a.oe().Md(),new tmc(d));f.a.Ed();){e=(c=f.a.Fd(),c.xe());Vtc(a.d,e+".")}gib(a.a,b,new Hqb(a))}function Ngb(a,b){var c,d,e,f;for(d=(f=(new nmc(a.i.a)).a.oe().Md(),new tmc(f));d.a.Ed();){c=(e=d.a.Fd(),e.xe());c.d==(Rwb(),Qwb)||Jzb(b,c,a)}a.i=null}function cCb(a){var b,c,d,e;for(e=(c=(new nmc(a.g)).a.oe().Md(),new tmc(c));e.a.Ed();){d=(b=e.a.Fd(),b.xe());if(!Vjc(d,fCc))return true}return!!a.e}function gB(a){var b,
c,d,e,f;wB(new yB(a),new zB);c=0;f=0;for(e=new Poc(a.e);e.a<e.c.a.length;){d=Noc(e);if(d.f){++c;b=d.a.b;f=f>b?f:b}}return f+a.i.b}function bvb(){bvb=qV;new y5("JSC_CANNOT_USE_PROTOTYPE_AND_VAR",(kY(),hY),new klc("Rename prototypes and inline variables cannot be used together."))}function Nkc(a,b,c){var d,e;Czc(a,"src");Czc(b,"dest");pb(a);pb(b);e=a.length;d=b.length;if(c<0||c>e||c>d)throw RU(new Ohc);c>0&&$yc(a,0,b,0,c,true)}function C6(a,b,c){var d,e,f;f=c.Lh();d=Shb(b);while(d){e=Bp(a.a,d.d,f);
if(e!=null){c.Qh(e);d1(b.c);return}else if(_ob(d,f,false))return;else d=d.c}}function $Bb(a,b){var c;if(b==null)return false;if(a===b)return true;_d(ND(b,133));c=b;return hwc(a.b,c.b)&&hwc(a.e,c.e)&&hwc(a.d,c.d)&&hwc(a.g,c.g)}function wDb(a,b,c){ne(!a.f);if(!!Zg(a.b,b,false)||!!Zg(a.j,b,false))return;a.i==(TBb(),RBb)&&(a.k=ZAb(a.k,b,new cDb(null,!c?a.t.G:c,c,(nDb(),mDb))))}function dHb(a){var b,c;_d(a.j==(F7b(),b7b));if(!a.b)return false;c=a.b;if(c.j!=L5b)return false;b=c.b;if(b.j!=f5b)return false;
return K2b(b.b,dCc)}function NIb(a,b,c,d){var e,f;if(c!=-1&&d==0){f=cKb(a.j)-c;for(e=0;e<f;e++)b.a+=" "}else b.a.length>0&&(Fhc(b,b.a.length-1)!=10||d==0)&&(b.a+=" ",b)}function Sgc(a,b){T7b();var c,d,e;c8b.call(this,a);this.b=b;e=new jhc(a);for(d=b.Md();d.Ed();){c=d.Fd();dhc(e,c,true)}this.a=fhc(e);this.c=this.b.zd()}function ubb(){ubb=qV;obb=new vbb(aFc,0);rbb=new vbb("OBJECTLIT",1);pbb=new vbb(bFc,2);qbb=new vbb("GET",3);tbb=new vbb("SET",4);sbb=new vbb("OTHER",5)}function $fb(a,b){if(b.length==
0)return b;b.indexOf(VEc)!=-1&&(b=kkc(b,0,b.lastIndexOf(VEc)));a.a.cg(b)&&(b="JSCompiler_"+b);return b+VEc+a.d+a.f.Bd()}function gHb(a,b,c){var d;if(c){xGb(a.a,c.o,u2b(b,29));d=(mHb(a,c,(TMb(),SMb)),FGb(a.a,c));d.j==(F7b(),h7b)&&(d=cGb(a.a,new A4b(h7b,d.Lh())));W2b(b,d)}}function jKb(a,b,c){this.o=XC(WD,cAc,46,128,15,1);this.q=XC(XD,jBc,46,3,15,1);he(a);this.g=b;this.k=a;this.j=a.length;this.i=this.b=0;this.d=b;this.c=c}function ibc(a,b){var c,d,e,f,g;c=t2b(a.b);if(!!c&&s2b(c,30)!=0)return false;
for(e=b,f=0,g=e.length;f<g;++f){d=e[f];a3b(lbc(a,gdc(a.a,d)))}return true}function ihc(a){var b,c;c=ghc(a);if(c)return a.c?null:c;b=a.a.a.length;return b>a.g?ndc(a.i,(Xcc(),Tcc)):b>1?null:b==1?koc(a.a,0):ndc(a.i,(Xcc(),ncc))}function okc(a){var b,c,d;c=a.length;d=0;while(d<c&&a.charCodeAt(d)<=32)++d;b=c;while(b>d&&a.charCodeAt(b-1)<=32)--b;return d>0||b<c?a.substr(d,b-d):a}function Tj(a,b,c){var d,e;cl(c,"count");if(c==0){d=a.a.remove(b);e=Yj(d,c)}else{d=a.a.pe(b);e=Yj(d,c);!d&&a.a.put(b,new rl(c))}a.b=
SU(a.b,c-e);return e}function iD(a,b){var c,d,e;if(b<=22){c=a.l&(1<<b)-1;d=e=0}else if(b<=44){c=a.l;d=a.m&(1<<b-22)-1;e=0}else{c=a.l;d=a.m;e=a.h&(1<<b-44)-1}return dD(c,d,e)}function K0(a,b){var c,d;d=e2(b,a);if(!d)return false;c=u2b(d,29);if(!!c&&(c.a&YCc)!=0){d2b(a.n,d);i2(b);Qeb(b.g,b);hoc(a.j,b);return true}return false}function Eib(a){sib();var b;if(a.j!=(F7b(),Q5b))return false;if(u2b(a.b,29))return true;b=a.b.d.b;while(b){if(u2b(b,29))return true;b=b.d}return false}function tqb(a,b,c){var d;
d=u0(a.a.a).Yf(c);if(d){if(Eqb(a,d.a))return true;Eqb(a,d.b)&&Zhb(b,c,(pqb(),oqb),$C(VC(FS,1),bAc,2,6,[d.a,d.b]))}return false}function X9(a){var b,c,d;_d(a.j==(F7b(),Q5b));for(c=i2b((sib(),_d(a.j==Q5b),a.b.d)).Md();c.Ed();){b=c.Fd();d=R2b(b,b.g,29);d!=b.g&&(b.g=d)}Y2b(a.b,null)}function Ccb(a){if(a.j==(F7b(),W5b))return a.b?a.b.f:null;if(a.j==y6b||a.j==i7b||a.j==X5b||a.j==c7b)return a;throw RU(new bC("Unknown defsite: "+a.j));}function bCb(a,b){var c;c=aCb(a,b);if(b.a.size()==1)return!c?a.a.B:c.d;
else{ne(!!c);return _xb(c.d,(_d(b.a.size()!=1),new qDb(b.a.Re(1,b.a.size()))))}}function BOb(a){if(a.b.c&&Atc(wtc((hUb(),ATb),$C(VC(EO,1),vAc,13,0,[zTb,yTb])),qRb(a.j,0).c)){a.d=YLb(a.d,(WLb(),VLb));return GOb(a).c}else return null}function oUb(a){var b;b=a;while(b.p==(SXb(),pXb))b=b.a;switch(b.p.f){case 26:case 46:case 55:case 59:case 61:case 73:return true;default:return false}}function I$b(a,b,c){!a.d&&(a.d=new e0b);if(v_b(a,b))return false;if(!a.d.s)a.d.s=new Yuc;else if(Tuc(a.d.s,b))return false;
Vuc(a.d.s,b,c);return true}function X0b(a,b){var c,d;for(d=new Yqc(b.b.Md());d.b.Ed();){c=d.b.Fd();if((m_b(a.a,c)||Vjc(c,"*"))&&D_b(a.a,c))a.d=true;else return false}return true}function ds(a,b){Yr();var c,d;while(a.Ed()){if(!b.Ed())return false;c=a.Fd();d=b.Fd();if(!(TD(c)===TD(d)||c!=null&&nb(c,d)))return false}return!b.Ed()}function uwc(a,b,c,d,e,f,g,h){var i,j;if(!d)return;i=d.a[0];!!i&&uwc(a,b,c,i,e,f,g,h);vwc(a,c,d.d,e,f,g,h)&&b.add(d);j=d.a[1];!!j&&uwc(a,b,c,j,e,f,g,h)}function $yc(a,b,c,d,
e,f){var g,h,i;if(a===c){a=a.slice(b,b+e);b=0}for(h=b,i=b+e;h<i;){g=h+1E4<i?h+1E4:i;e=g-h;Yyc(c,d,f?e:0,a.slice(h,g));h=g;d+=e}}function XGb(a){bGb();switch(a.f){case 98:return F7b(),s7b;case 99:return F7b(),M5b;default:throw RU(new Xic(!a?iAc:a.a==null?(YNb(),bo(zNb,a)).b:a.a));}}function $Gb(a){bGb();switch(a.f){case 68:return F7b(),f6b;case 69:return F7b(),s5b;default:throw RU(new Xic(!a?iAc:a.a==null?(YNb(),bo(zNb,a)).b:a.a));}}function PZb(a,b,c,d){ne(a.j==(F7b(),z7b)||a.j==B5b||ZZb(a));ne(b.j==
B5b||ZZb(b));ne(c.j==B5b||ZZb(c));ne(d.j==c5b||d.j==_6b);return new w3b(N5b,a,b,c,d)}function l3b(b){var c,d;try{d=new Ikc;K3b(b,0,d);return d.a}catch(a){a=QU(a);if(ND(a,91)){c=a;throw RU(new bC("Should not happen\n"+c));}else throw RU(a);}}function jbc(a,b){var c,d,e,f,g;c=t2b(a.b);if(!!c&&(s2b(c,37)!=0||s2b(c,30)!=0))return false;for(e=b,f=0,g=e.length;f<g;++f){d=e[f];lbc(a,d)}return true}function YC(a,b){var c=new Array(b);var d;switch(a){case 14:case 15:d=0;break;case 16:d=false;break;default:return c}for(var e=
0;e<b;++e)c[e]=d;return c}function mW(a,b){var c;NW((F7b(),o5b),b);tW(a,b.b);if(s2b(b,75)!=0){c=p2b(b);1!=c&&mX(FBc+c,b)}else{c=p2b(b);2!=c&&mX(GBc+c,b);uW(a,b.b?b.b.f:null,false)}}function E$(a){var b,c,d;d=a.length;if(d==0)return false;for(c=0;c<d;c++){b=a.charCodeAt(c);if(b<48||b>57)return false}return d==1||a.charCodeAt(0)!=48}function zwb(a){var b,c;if(!a.A){he(a.t);for(c=a.B.values().Md();c.Ed();){b=c.Fd();if(a.v)return null;a.v=true;zwb(b);a.v=false}a.A=he(a.xh())}return a.A}function BPb(a){var b,
c,d,e;d=qRb(a.j,0).b.b;e=null;if(MQb(a)){b=xPb(a,0);tOb(a,(hUb(),gSb));c=tQb(a);e=new GVb(new CYb(d,a.g),b,c)}else e=SOb(a);return e}function dac(a,b,c,d,e){t9b.call(this,a,e);this.r=new Vec;Uec(this.r,this);this.k=b;this.o=d;d||!!c?(ne(!this.Oi()),this.n=c):_9b(this,mdc(a,(Xcc(),Acc)))}function skc(a){var b;b=0;while(0<=(b=a.indexOf("\\",b)))a.charCodeAt(b+1)==36?a=a.substr(0,b)+"$"+jkc(a,++b):a=a.substr(0,b)+(""+jkc(a,++b));return a}function Kz(a){var b;Fz.call(this,a,null);this.a=XC(WD,cAc,46,
512,15,1);_d(a.c.length==16);for(b=0;b<256;++b){this.a[b]=a.c[b>>>4];this.a[b|256]=a.c[b&15]}}function J9(a,b){var c,d,e,f;if(p2b(b)!=4)return;e=b.b;d=e.d;c=d.d;f=c.d;if(!F2b(d))return;if(c.j!=(F7b(),h7b))return;hoc(a.f,new $9(a,v2b(d),c.Lh(),f))}function Pvb(){Pvb=qV;Ovb=new y5("JSC_ILLEGAL_PROTOTYPE_MEMBER",(kY(),iY),new klc("Prototype property {0} should be a primitive, not an Array or Object."))}function EDb(a){var b;ne(a.g==0);ne(a.f);if(!a.a){b=(km(),new Wq);!!a.o&&Vq(b,EDb(a.o.a));a.a=yo(new Poc(Vq(Vq(b,
new nmc(a.b)),new nmc(a.j)).a))}return a.a}function LFb(){LFb=qV;KFb=new MFb("TYPES_ONLY",0);IFb=new MFb("INCLUDE_DESCRIPTIONS_NO_WHITESPACE",1);JFb=new MFb("INCLUDE_DESCRIPTIONS_WITH_WHITESPACE",2)}function JGb(a,b){var c,d,e;e=new Pnc;while(b){MGb(a,b);KGb(a,b);NGb(a,b);LGb(a,b);d=b.d;c=b.b;if(c){!!d&&xnc(e,d);b=c}else d?b=d:b=Hnc(e)}ne(e.b==e.c)}function Zt(b,c){var d,e;d=b.Pd(c);try{e=d.Fd();d.Gd();return e}catch(a){a=QU(a);if(ND(a,64))throw RU(new Phc("Can't remove element "+c));else throw RU(a);
}}function Dob(a,b,c,d,e,f){var g;g=Eob(a,b);if(g)return new Geb(c,null,d,e,g,null,$C(VC(FS,1),bAc,2,6,[b]));return Leb(c,d,e,f,xob,$C(VC(FS,1),bAc,2,6,[b]))}function dub(a,b){var c;return new zub(a,iub((Hub(),c=dkc(dkc(dkc(dkc(dkc(ckc(ckc(b,58,45),92,47)," ",iEc),"[",jEc),"]",kEc),"<",lEc),">",mEc),Iub(c)),a.c))}function tKb(){var a;if(pKb)return;a=nwc(xHc);pKb=sKb(lwc(a,"jsdoc.annotations"));qKb=sKb(lwc(a,"jsdoc.suppressions"));sKb(lwc(a,"compiler.reserved.vars"))}function nD(a,b){var c,d,e;e=a.h-
b.h;if(e<0)return false;c=a.l-b.l;d=a.m-b.m+(c>>22);e+=d>>22;if(e<0)return false;a.l=c&pBc;a.m=d&pBc;a.h=e&qBc;return true}function e7(a,b){_6();var c,d;while(!!a.b&&!!a.b.d){c=a.b?a.b.f:null;d=m3b(MZb(m2b(c),(F7b(),z7b)),a);f7(a,b,c,d);b2b(b,d,a)}f7(a,b,a.b,a);f3b(a,(F7b(),z7b))}function Edb(a,b){var c,d;if(!b)return null;if(b.c)return null;if(b.d)return b.d;d=b.a;if(d){c=d.c;if(!c)return null;return Zzb(a.c.d,dwb(c))}return null}function i1b(a){if((a.a.a&KEc)==PEc||(a.a.a&KEc)==hBc||(a.a.a&KEc)==
XEc||(a.a.a&2)!=0||o_b(a.a)||(a.a.a&lFc)!=0)return false;a.a.a|=512;a.d=true;return true}function Y8b(a,b,c,d){T7b();c8b.call(this,a);this.a=!b?hdc(a,true,$C(VC(ER,1),qAc,20,0,[X7b(this,(Xcc(),Tcc))])):b;this.b=!c?X7b(this,(Xcc(),Tcc)):c;this.c=d}function vwc(a,b,c,d,e,f,g){var h,i;if(b.hj()&&(i=a.a.He(c,d),i<0||!e&&i==0))return false;if(b.ij()&&(h=a.a.He(c,f),h>0||!g&&h==0))return false;return true}function ve(a,b,c,d){if(!a)throw RU(new Xic(xe("Trying to update property %s on type %s, but sub-property %s does not exist",
$C(VC(AS,1),qAc,1,5,[b,c,d]))));}function y4(){y4=qV;w4=lkc("abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ$");x4=lkc("abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_0123456789$")}function djb(a){sib();if(a.j==(F7b(),y6b))switch(a.e.j.f){case 100:case 88:case 78:return true;case 96:return a.e.b==a;case 65:return ejb(a.e)}return false}function I0b(a,b,c,d){var e,f;e=C$b(a.a);if(e){f=new r0b;ae(b.charCodeAt(0)!=32&&Qjc(b,b.length-1)!=32,uIc);f.d=b;l0b(f,c,d,c,d+b.length);e.a=f;a.d=true}a.b=
e}function ot(a){var b,c,d,e,f;if(Mp(a.f,a.b.length)){d=XC(sG,MAc,234,a.b.length*2,0,1);a.b=d;e=d.length-1;for(c=a.a;c!=a;c=c.jf()){f=c;b=f.d&e;f.a=d[b];d[b]=f}}}function lZ(a,b,c){var d,e,f;e=null;sib();if(b.j==(F7b(),L5b)&&b.b.j==f5b){d=a.b;if(!!d&&d.j==W5b&&L2b(d,c,c.length)){f=d.d;!!f&&f.j==h7b&&(e=f.Lh())}}return e}function C$(a){var b,c,d;if(vjb(a))return a;d=new Ikc;for(c=0;c<a.length;c++){b=a.charCodeAt(c);b>31&&b<127?(d.a+=String.fromCharCode(b),d):TB(d,b)}return d.a}function Hcb(a){pcb();
var b,c,d;if(a.j!=(F7b(),y6b)&&a.j!=W5b)return false;b=(sib(),c=Fib(a),!c?null:u2b(c,29));d=Vib(a);return!!b&&(b.a&2)!=0&&!!d&&d.j==f5b}function zCb(a,b){var c,d,e,f;for(f=(d=(new nmc(a.g)).a.oe().Md(),new tmc(d));f.a.Ed();){e=(c=f.a.Fd(),c.xe());if(!fCb(b,new rDb(e)))return false}return true}function BDb(a,b,c){ne(!a.f);if(!Zg(a.j,b,false)||!ih(Zg(a.j,b,false)).b){a.j=ZAb(a.j,b,new cDb(c,a.t.G,null,(nDb(),mDb)));!!Zg(a.k,b,false)&&(a.k=$Ab(a.k,b))}}function r9b(a){var b,c,d;if(a.s){b=a.Bi();if(!b||
b.Ji()){a.s=false;for(d=a.Ai().Md();d.Ed();){c=d.Fd();if(c.li()){a.s=true;break}}}else a.s=b.li()}return a.s}function Pw(a,b){var c,d,e;if(b.isEmpty())return false;if(ND(b,193)){e=b;for(d=wj(e).Md();d.Ed();){c=d.Fd();Oj(a,c.b.xe(),gk(c))}}else Zr(a,b.Md());return true}function Dac(a){var b;if(!a.f){b=a.Gi();b==null?Iac(a,mdc(a.u,(Xcc(),Tcc)),null):Gac(a,new cac(a.u,a.Gi()+JEc,mdc(a.u,(Xcc(),Acc)),a.o,null),null)}return a.f.e}function kbc(a,b){var c;c=t2b(a.b);if(!!c&&s2b(c,30)!=0)return false;b.ei()||
b.ci()||b.di()||ndc(b.u,(Xcc(),kcc))==b||(b=gdc(a.a,b));h3b(lbc(a,b));return true}function xdb(a,b){var c,d;c=u2b(b,51);if(!!c&&c.vh())return false;d=Vib(b);if(!d){Nhb(a.c.t,Keb(b,(pcb(),Rbb),$C(VC(FS,1),bAc,2,6,[])));return true}return false}function VU(a,b){var c;if(YU(a)&&YU(b)){c=a/b;if(vBc<c&&c<tBc)return c<0?$wnd.Math.ceil(c):$wnd.Math.floor(c)}return UU(eD(YU(a)?dV(a):a,YU(b)?dV(b):b,false))}function $ob(a,b){var c,d;c=a;while(c){d=Uuc(c.e,b);if(d)return d;if(Vjc(PDc,b)&&Rjb(c.d))return!c.a&&
(c.a=(Vsb(),_d(true),new atb(c))),c.a;c=c.c}return null}function Cxb(a,b){if(a.j)throw RU(new Nxb("Cannot add optional formal after rest args"));if(!b)hoc(a.e,null);else{_d(0!=b.Ch());hoc(a.e,Cyb(b,a.a.B))}return a}function Jqb(a){var b,c;this.a=new Qtc;for(c=An(a).Md();c.Ed();){b=c.Fd();tlc(this.a,b.xe(),new X4(b.ye(),(kY(),iY)))}tlc(this.a,KDc,new X4((t5(),o5),(kY(),iY)))}function gIb(a,b){var c,d,e;e=HGb(a.a,b.c);d=e.j==(F7b(),M6b)||e.j==J4b?oGb(a.a,x5b,e):e;if(b.b){c=FGb(a.a,b.b);d2b(d,c);AGb(d,
b.o.b,b.o.a)}gHb(a,d,b.a);return d}function zPb(a){var b,c,d;d=qRb(a.j,0).b.b;tOb(a,(YNb(),rNb).a);c=!!xOb(a,(hUb(),KTb));b=uVb(new yVb((DVb(),AVb)),uOb(a));APb(a,b,c);return nVb(b,new CYb(d,a.g))}function dkc(a,b,c){var d,e;d=ekc(b,"([/\\\\\\.\\*\\+\\?\\|\\(\\)\\[\\]\\{\\}$^])","\\\\$1");e=ekc(ekc((Bzc(c),c),aAc,"\\\\\\\\"),"\\$","\\\\$");return ekc(a,d,e)}function Xg(a,b){var c,d,e;c=b.xe();e=b.ye();d=a.pe(c);if(!(TD(e)===TD(d)||e!=null&&nb(e,d)))return false;if(d==null&&!a.containsKey(c))return false;
return true}function npb(){npb=qV;mpb=new y5("JSC_DUPLICATE_ZIP_CONTENTS",(kY(),jY),new klc("Two zip entries containing the same relative path.\nEntry 1: {0}\nEntry 2: {1}"))}function v4(){v4=qV;u4=new y5("JSC_CONSTANT_REASSIGNED_VALUE_ERROR",(kY(),jY),new klc("constant {0} assigned a value more than once.\nOriginal definition at {1}"))}function Izb(a,b,c,d,e){var f;if(!b)return null;switch(b.j.f){case 144:c=(Vzb(),Szb);b=b.b;break;case 142:c=(Vzb(),Uzb);b=b.b}f=Azb(a,b,d,e);return new Yzb(f,c)}function _Bb(a,
b){var c;c=aCb(a,b);if(!c)return null;else if(b.a.size()==1)return c.b?c.b:null;return Uxb(c.d,(_d(b.a.size()!=1),new qDb(b.a.Re(1,b.a.size()))))}function Hgb(a,b){var c;if(!b)return false;c=b.a.getAtIndex(0);return Jgb(a,c)&&(b.a.size()==1||!!wwb(wgb(a,c),(_d(b.a.size()!=1),new qDb(b.a.Re(1,b.a.size())))))}function TCb(a,b){var c,d,e;c=false;for(d=0;d<a.a.a.length;d++){e=koc(a.a,d);if(CBb(e.d,b.d)){c=true;a.b==0?poc(a.a,d,DCb(e,b)):poc(a.a,d,LCb(e,b))}}c||hoc(a.a,b)}function ZLb(a){if(a.c)return"ts";
else if(a.b>6)return"es"+a.b;else if(a.d||a.a)return"es6";else if(a.b>5)return VFc;else if(a.b>3)return"es5";return fDc}function h1b(a){if(!((a.a.a&KEc)==PEc||(a.a.a&KEc)==hBc||(a.a.a&KEc)==XEc)&&!o_b(a.a)&&(a.a.a&2)==0){a.a.a|=512;a.a.a|=NDc;a.d=true;return true}else return false}function yo(a){km();var b,c;if(!a.Ed())return ux(),tx;c=a.Fd();if(!a.Ed())return new ly(c);b=new Avc;Vtc(b,he(c));do Vtc(b,he(a.Fd()));while(a.Ed());return Eo(b)}function qD(a,b){var c,d,e,f,g,h,i,j;i=a.h>>19;j=b.h>>19;
if(i!=j)return j-i;e=a.h;h=b.h;if(e!=h)return e-h;d=a.m;g=b.m;if(d!=g)return d-g;c=a.l;f=b.l;return c-f}function V$(a){var b;if(a.n>a.o)if(a.d>a.b&&a.d<a.b+a.n){b=a.d;Hkc(a.i,b,String.fromCharCode(10));a.e=b;O$(a,a.k,b-a.b,true);++a.k;a.n-=b-a.b;a.b=b+1}else W$(a)}function Q0(a,b){var c,d;a.H=b;a.v=b.Vb;!a.f&&e1(a,new Efb((c=a.H.L,d=new Bfb(a),d.d=c,d),i0));a1(a);if(!b.B){b.cb=false;b.f=false;b.Gb=false;b.td=false}R0(a,b.vd)}function h8(a,b){if(b.e.j==(F7b(),L5b))return;if(r9(a.b,b)!=0){u9(a.b,b);
d1(a.a)}else c1(a.a,Keb(b,(Q8(),L8),$C(VC(FS,1),bAc,2,6,["Undecomposable expression"])))}function rPb(a){var b,c,d;d=qRb(a.j,0).b.b;c=vOb(a);b=null;if(FQb(a,0,(hUb(),RSb))&&Vjc(qRb(a.j,0).a,"as")){zOb(a,"as");b=vOb(a)}return new fVb(new CYb(d,a.g),c,b)}function cic(a,b){if(b<2||b>36)return-1;if(a>=48&&a<48+(b<10?b:10))return a-48;if(a>=97&&a<b+97-10)return a-97+10;if(a>=65&&a<b+65-10)return a-65+10;return-1}function p$(a,b){var c,d;d=b.Lh();if(!b.Nh()&&!(a.i&&J7b(d))&&K7b(d)&&vjb(d))DZ(a.c,d);else{c=
B$(d);isNaN(c)?l$(a,b):a.c.hg(c,b)}if(b.b){DZ(a.c,":");i$(a,b.b,1,4)}}function d_(a,b){var c,d;if(a.n==0)for(c=0;c<a.a;c++){Ekc(a.i,"  ");a.n+=2}Ekc(a.i,b);a.n+=b.length;d=Mb(new nc(10),b);if(d>0){a.k+=d;a.n=b.length-_jc(b,qkc(10))}}function D0(a,b){var c,d,e,f;for(d=i2b(a.u).Md();d.Ed();){e=d.Fd();f=u2b(e,51);if((!f?null:f.Ig())!=null&&Ujc((c=u2b(e,51),!c?null:c.Ig()),b))return e}return null}function CCb(a,b,c){var d,e,f,g,h;for(f=a.Md();f.Ed();){e=f.Fd();d=false;for(h=b.Md();h.Ed();){g=h.Fd();if(eCb(e,
g,c)){d=true;break}}if(!d)return false}return true}function uEb(a,b){var c,d;if(a.indexOf("#")!=-1)return b.contains(a)?a:null;for(d=b.Md();d.Ed();){c=d.Fd();if(Vjc(a,kkc(c,0,Yjc(c,qkc(35)))))return c}return null}function PDb(a,b){var c,d;ne(b.g!=0);if(a==b)return true;else if(!a.d)return false;else{for(d=a.d.Md();d.Ed();){c=d.Fd();if(PDb(c.a,b))return true}return false}}function LZb(a,b,c){if(a.j==(F7b(),y6b))ne(!a.b);else{ne(a.j==J4b||a.j==M6b);a=new s3b(x5b,a)}se(ZZb(b),"%s can't be an expression",
b);d2b(a,b);return new s3b(c,a)}function TZb(a,b,c){var d,e,f,g,h;ne(ZZb(a));ne(b.j==(F7b(),h7b));h=new u3b(W5b,a,b);for(e=c,f=0,g=e.length;f<g;++f){d=e[f];ne(d.j==h7b);h=new u3b(W5b,h,d)}return h}function Mpc(a){var d;Gpc();var b,c;for(c=0,b=a.a.length-1;c<b;++c,--b){d=(Azc(c,a.a.length),a.a[c]);poc(a,c,(Azc(b,a.a.length),a.a[b]));Azc(b,a.a.length);a.a[b]=d}}function bjb(a){sib();switch(a.j.f){case 47:case 48:case 49:case 50:case 51:case 52:case 53:case 54:case 55:case 56:case 59:case 57:case 58:return true}return false}
function Njb(a){sib();var b,c;if(a.j==(F7b(),z7b)||a.j==y6b&&a.e.j==z7b||a.j==W5b&&a.e.j==L5b){b=(c=Fib(a),!c?null:u2b(c,29));return!!b&&(b.a&KEc)==hBc}return false}function HGb(a,b){var c,d,e;c=fGb(a,b.o);d=oHb(a.u,b);!!c&&(e=R2b(d,d.g,29),e!=d.g&&(d.g=e),!!c&&(d.g=new d4b(29,c,d.g)),d);z3b(d.i)==-1&&DGb(d,b.o.b,b.o.a);return d}function aHb(a,b){var c,d;if(b.a.p==(SXb(),sWb)){c=b.a.a;d=Kr(c);d.p==tXb&&a.a.d.hh("A rest parameter must be in a parameter list.",a.a.r,(bGb(),d.o.b.b+1),d.o.b.a)}}function W0b(a){if((a.a.a&
KEc)==PEc||(a.a.a&KEc)==hBc||(a.a.a&KEc)==XEc||(a.a.a&MEc)!=0||(a.a.a&sBc)!=0||(a.a.a&LEc)!=0)return false;a.a.a|=MEc;a.d=true;return true}function G1b(a){if((a.a.a&KEc)==PEc||(a.a.a&KEc)==hBc||(a.a.a&KEc)==XEc||(a.a.a&MEc)!=0||(a.a.a&sBc)!=0||(a.a.a&LEc)!=0)return false;a.a.a|=sBc;a.d=true;return true}function gc(a,b){var c;this.a="CharMatcher.invisible()";this.c=a;this.b=b;_d(a.length==b.length);for(c=0;c<a.length;c++){_d(a[c]<=b[c]);c+1<a.length&&_d(b[c]<a[c+1])}}function mr(a,b){kr();var c,d,
e;c=(zv(),new Gwc((ND(b,189)?b:new jl(b)).Ie()));for(e=(new $wc(a)).b.ej();e.Ed();){d=e.Fd();rr(c,d)}return new lr((Gpc(),new rsc(c)),b)}function Ypb(b){var c;if(!b.a)if(!b.a){b.a=new CA;try{zA(b.a,b.b.b)}catch(a){a=QU(a);if(ND(a,91)||ND(a,126)){c=a;Hyc(Wpb,(fyc(),eyc),c)}else throw RU(a);}}return b.a}function Txb(a,b){var c;if(b==null)return false;if(a===b)return true;_d(ND(b,132));c=b;return a.Ch()==c.Ch()&&hwc(a.Dh(),c.Dh())&&hwc(a.Bh(),c.Bh())&&a.Eh()==c.Eh()}function Yxb(a){var b,c,d,e;if((a.Ch()&
2)==0)return null;d=a.e.b;for(c=a.Dh().Md();c.Ed();){b=c.Fd();e=lBb(b.d);if(!e)return null;d=Cyb(d,e)}return 0==d.Ch()?null:d}function k2b(a,b){var c,d,e,f,g;g=a.Jh(b);c=null;d=null;if(a.b){for(e=a.b;e;e=e.d){f=k2b(e,b);f.e=g;if(!c){c=f;d=c}else{d.d=f;f.f=d;d=f}}c.f=d;d.d=null;g.b=c}return g}function _g(a){var b,c,d;d=new pwc("{","}");for(c=a.oe().Md();c.Ed();){b=c.Fd();owc(d,ah(a,b.xe())+"="+ah(a,b.ye()))}return!d.a?d.c:d.e.length==0?d.a.a:d.a.a+(""+d.e)}function wA(a,b){var c;if(b.wf()==-1)return null;
else{c=XB(ZB($B(new _B,a.e[b.wf()]),b.xf()+1),b.vf()+1);b.uf()!=-1&&YB(c,a.d[b.uf()]);return new VB(c.d,c.c,c.a,c.b)}}function x7(a,b){var c,d;d=qEc+a.b++;c=b.d;T2b(b,(se(Yjc(d,qkc(46))==-1,YBc,d),new q4b((F7b(),y6b),d)));e2b(c,LZb(b,(se(Yjc(d,qkc(46))==-1,YBc,d),new q4b(y6b,d)),q6b))}function wac(a,b,c,d){!!c.ui()&&(c=Kgc(c.ui(),ndc(a.u,(Xcc(),Wcc))));Ekc(Ekc(b,d?!c.li()&&!c.si()&&!c.ri()&&!c.qi()&&c.hi()?"!"+c.vi(true):c.vi(true):c.vi(false)),"=")}function fhc(a){var b,c;b=ihc(a);if(b)return Lm(),
new iy(b);c=ghc(a);if(!!c&&a.c)return Lm(),new px(bn($C(VC(AS,1),qAc,1,5,[c,ndc(a.i,(Xcc(),Wcc))])));return Tm(a.a)}function lV(b,c,d,e){kV();var f=iV;$moduleName=c;$moduleBase=d;PU=e;function g(){for(var a=0;a<f.length;a++)f[a]()}if(b)try{Vzc(g)()}catch(a){b(c,a)}else Vzc(g)()}function Xlb(a,b,c){var d,e;a.p=0;a.r=0;if(a.q){a.r=(a.q.b-a.q.a)/a.n.a.length;a.p=a.q.a}for(e=new Poc(a.n);e.a<e.c.a.length;){d=Noc(e);d.Nf(b,c);if(a.a.f.c>0)return}}function Sob(a,b,c){var d,e;d=new cab;k0(a.b,d);pmb(new smb(a.b,
true),null,c);if(AV(a.b.Y)){Fkb(new Hkb(a.b,true),b,c);if(a.b.Y==1){e=new klb(a.b);jlb(e,b,c)}}b1(a.b,d)}function kxb(a,b){he(a);this.a=a;this.i=null;this.e=null;this.j=null;this.k=he(this.a.G);this.d=null;this.g=null;this.f=null;this.n=(Lm(),Lm(),Km);this.c=b;this.b=false}function Zg(a,b,c){var d,e,f;for(e=a.oe().Md();e.Ed();){d=e.Fd();f=d.xe();if(TD(b)===TD(f)||b!=null&&nb(b,f)){if(c){d=new Nmc(d.xe(),d.ye());e.Gd()}return d}}return null}function aW(a,b,c){var d,e;NW((F7b(),J4b),c);for(d=c.b;d;d=
d.d)d==(c.b?c.b.f:null)&&zjb(c.e)?tW(a,d):d.j==Y6b?ZW(a,b,d):d.j==B5b?(e=p2b(d),0!=e&&mX(BBc+e,d)):CW(a,b,d)}function Aab(a,b){var c,d,e,f;if(b.ri())for(f=b.Ci().Md();f.Ed();){e=f.Fd();c=u2b((d=b.Hi(e),!d?null:d.d),51);if(!!c&&c.vh()){Vtc(a.b.b,e);Cab(a,b.Fi(e))}}return a.b.b}function Odb(a,b,c){var d,e,f,g,h;_d(b.j==(F7b(),Q5b));f=ucb(a.c,b);e=xgb(a.a,f);g=(sib(),h=Fib(b),!h?null:u2b(h,29));d=e.c;if(!d){d=idb(a,g,f,b,c,a.a);Pgb(e,d)}return e}function jDb(a,b){var c,d;c=null;if(!!a.b&&!!b.b){c=Lyb(a.b,
b.b);if(!c)return null}d=Lyb(a.d,b.d);if(!d)return null;return new cDb(a.c==b.c?a.c:null,d,c,hDb(a.a,b.a))}function xac(a,b,c,d){!!c.ui()&&(c=Kgc(c.ui(),ndc(a.u,(Xcc(),Wcc))));Ekc((b.a+=oCc,b),d?!c.li()&&!c.si()&&!c.ri()&&!c.qi()&&c.hi()?"!"+c.vi(true):c.vi(true):c.vi(false))}function Ju(a,b){var c,d;d=a.size();if(b==null)for(c=0;c<d;c++){if(a.getAtIndex(c)==null)return c}else for(c=0;c<d;c++)if(nb(b,a.getAtIndex(c)))return c;return-1}function mA(){var a,b,c;c=XC(VD,aBc,46,128,15,1);bpc(c,c.length);
for(b=0;b<=9;b++)c[48+b]=b<<24>>24;for(a=0;a<=26;a++){c[65+a]=10+a<<24>>24;c[97+a]=10+a<<24>>24}return c}function IC(a){var b,c,d,e;b="HC";c="$z";e=Ajc(a.length,5);for(d=e-1;d>=0;d--)if(Vjc(a[d].d,b)||Vjc(a[d].d,c)){a.length>=d+1&&(a.splice(0,d+1),undefined);break}return a}function jPb(a,b){var c,d,e,f;f=qRb(a.j,0).b.b;c=QPb(a,b);if(GQb(a,(hUb(),BTb))){tOb(a,BTb);d=UOb(a,b);tOb(a,uSb);e=UOb(a,b);return new YUb(new CYb(f,a.g),c,d,e)}return c}function G$b(a,b){!a.d&&(a.d=new e0b);if(w_b(a,b)||(a.a&
KEc)==hBc)return false;if(!a.d.q)a.d.q=new soc;else if(loc(a.d.q,b,0)!=-1)return false;hoc(a.d.q,b);return true}function ug(a,b){var c;c=a.c.pe(b);!c&&(c=a.ie(b));return ND(c,203)?new sj(a,b,c):ND(c,122)?new rj(a,b,c):ND(c,31)?new tj(a,b,c):ND(c,48)?zg(a,b,c,null):new Ei(a,b,c,null)}function vib(a){var b,c,d,e;c=a.b;e=new Ikc;for(d=c;d;d=d.d){b=d.j==(F7b(),H6b)||Pjb(d)||d.j==B5b?"":Zib(d);if(b==null)return null;d!=c&&(e.a+=",",e);e.a+=""+b}return e.a}function iub(a,b){cub();var c,d,e;for(d=b.Md();d.Ed();){c=
d.Fd();if(Vjc(a.substr(0,c.length),c)){e=jkc(a,c.length);if(Vjc(e.substr(0,1),"/"))return e.substr(1)}}return a}function Xxb(a){var b,c,d,e,f;if(a.Ch()!=2)return null;e=a.e.u;b=false;for(d=a.Dh().Md();d.Ed();){c=d.Fd();f=kBb(c.d);if(!f)return null;b=true;e=Fyb(e,f)}return b?e:null}function mHb(a,b,c){a.a.a.c!=(UFb(),TFb)&&a.a.d.ih("type syntax is only supported in ES6 typed mode: "+c,a.a.r,(bGb(),b.o.b.b+1),b.o.b.a);a.a.e=YLb(a.a.e,c.a);yGb(a.a,b.o)}function RV(){RV=qV;NV=new SV(yBc,0,"\u001b[31m");
QV=new SV(zBc,1,"\u001b[35m");OV=new SV("NO_COLOR",2,"\u001b[39m");MV=new SV("BOLD",3,"\u001b[1m");PV=new SV("UNBOLD",4,"\u001b[0m")}function b6(a){var b,c,d,e;b=v2b(Pib(a));c=he((sib(),Iib(a,rib)));for(d=c.d;d;d=d.d){e=a6(d,b);if(e!=null)return e}throw RU(new Xic("$jscomp.inherits() call not found."));}function Rob(a,b){var c;c=a.b.i;if(!c)return;vab(new wab(a.b),b);if(!zx(a.b.i,c)){c1(a.b,new Geb(null,null,-1,-1,Mob,null,$C(VC(FS,1),bAc,2,6,[])));throw RU(new Xic(bGc));}}function dxb(a,b){var c,
d,e;if(a.n.isEmpty()||wAb(a.a.i,b))return exb(a,b);c=new pq;for(e=b.oe().Md();e.Ed();){d=e.Fd();a.n.contains(d.xe())||nq(c,d)}return exb(a,Nn(c.b))}function IGb(a,b){var c,d,e,f;f=uGb(a,b);c=tGb(a,""+f);d=hGb(a,eGb(a,b.b));!!d&&(e=R2b(c,c.g,29),e!=c.g&&(c.g=e),!!d&&(c.g=new d4b(29,d,c.g)),c);DGb(c,b.b.b,b.b.a);return c}function OOb(a){var b,c,d;b=CQb(a,0);for(d=b.b.Md();d.Ed();){c=d.Fd();!!c.b&&ZQb(a,"Ambient variable declaration may not have initializer",$C(VC(AS,1),qAc,1,5,[]))}return b}function grb(){grb=
qV;drb=new jrb;crb=new trb;Zqb=new vrb;arb=new xrb;$qb=new zrb;_qb=new Brb;new Drb;brb=new Frb;Yqb=new Hrb;Xqb=new lrb;Wqb=new nrb;erb=new prb;frb=new rrb}function vOb(a){var b;b=GOb(a);if(b.c==(hUb(),RSb))return b;else{YNb();if($Nb(b.c))return new ZMb(b.b,$Nb(b.c).b);else XQb(a,b,dIc,$C(VC(AS,1),qAc,1,5,[RSb]))}return null}function O2b(a,b){var c,d,e;ne(b.e==a);ne(!!b.f);c=a.b.f;e=b.f;d=b.d;if(a.b==b){a.b=d;!!d&&(d.f=c)}else if(b==c){a.b.f=e;e.d=null}else{e.d=d;d.f=e}b.d=null;b.f=null;b.e=null}function Ggc(a,
b,c,d){var e,f,g;g=Igc(b);if(c==0&&Igc(a).size()!=g.size())return false;for(e=0;e<g.size();e++){f=g.getAtIndex(e);if(!Lgc(a,f,c,d))return false}return true}function Pic(a){Nic==null&&(Nic=/^\s*[+-]?(NaN|Infinity|((\d+\.?\d*)|(\.\d+))([eE][+-]?\d+)?[dDfF]?)\s*$/);if(!Nic.test(a))throw RU(new Ljc(LIc+a+'"'));return parseFloat(a)}function Auc(){function b(){try{return(new Map).entries().next().done}catch(a){return false}}if(typeof Map===Zzc&&Map.prototype.entries&&b())return Map;else return Buc()}function Lb(a){var b,
c,d,e;e=a.length;for(d=0;d<e;d++)if(Ib(a.charCodeAt(d))){c=lkc(a);for(;d<e;d++){b=c[d];b>=97&&b<=122&&(c[d]=b&95&gAc)}return vkc(c,0,c.length)}return a}function Kb(a){var b,c,d,e;e=a.length;for(d=0;d<e;d++)if(Jb(a.charCodeAt(d))){c=lkc(a);for(;d<e;d++){b=c[d];b>=65&&b<=90&&(c[d]=(b^32)&gAc)}return vkc(c,0,c.length)}return a}function n1(a,b){var c,d,e;d="INTERNAL COMPILER ERROR.\nPlease report this problem.\n\n"+a;c=new cC(d,b);!!b&&Sz(c,(b.g==null&&(b.g=(GC(),e=FC.Bf(b),IC(e))),b.g));throw RU(c);
}function L9(a,b){var c,d,e,f,g;gib(a.b,b,a);g=new Ixc(new P9);_c(g,a.f);for(f=(d=(new mnc(g.a)).a.oe().b.ej(),new snc(d));f.a.Ed();){e=(c=f.a.Fd(),c.xe());S9(e,e.Qg(),Y9(e))}}function xcb(a,b){switch(b){case Xzc:return a.d.a;case Yzc:return a.d.q;case $zc:return a.d.t;case iAc:return a.d.j;case hEc:case FCc:return a.d.B;default:return ygb(a.k,b)}}function hjb(a){sib();switch(a.j.f){case 72:case 73:case 101:case 71:case 70:case 77:case 66:case 83:case 44:case 78:case 67:case 68:case 69:return true;
default:return false}}function qdb(a,b,c){var d,e;_d(b.j==(F7b(),W5b));if(!F2b(b))return false;e=b.b;if(!Ggb(c,v2b(e)))return false;return d=rgb(a.a,sDb(e),false),!!(!d?null:ND(d.c,79)?d.c:null)}function Zvb(a,b,c,d,e){this.d=a;this.e=b;this.c=c;this.a=d;this.b=e;!!this.d&&ne(!this.e);!!this.e&&ne(!this.d&&!this.c&&!this.a);!!this.c&&ne(!this.e);!!this.a&&ne(!this.e)}function HHb(a,b){var c,d,e,f,g;f=nGb(a.a,(F7b(),U5b));for(e=new wvc(new nvc(b.a));e.b!=e.c.a.b;){d=uvc(e);g=sGb(a.a,T5b,d.d.a);c=d.e;
!!c&&d2b(g,FGb(a.a,c));d2b(f,g)}return f}function zIb(a,b){var c,d;for(d=new Poc(b);d.a<d.c.a.length;){c=Noc(d);o_b(a.e.a)?_0b(a.e,c.c)||uIb(a,"msg.jsdoc.extends.duplicate",c.b,c.a):N0b(a.e,c.c)||xIb(a,lHc,c.b,c.a)}}function f2b(a,b,c){var d,e,f;if(!b)return;_d(!c||c.e==a);ne(!!b.f);if(!c){h2b(a,b);return}for(d=b;d;d=d.d){_d(!d.e);d.e=a}e=b.f;f=c.d;e.d=f;!f?a.b.f=e:f.f=e;c.d=b;b.f=c}function bkc(a,b,c,d,e,f){var g,h;Bzc(d);if(c<0||e<0||f<=0)return false;if(c+f>a.length||e+f>d.length)return false;
g=a.substr(c,f);h=d.substr(e,f);return b?Wjc(g,h):Vjc(g,h)}function SW(b){if(b.Nh())try{b.Lh()}catch(a){a=QU(a);if(ND(a,18))mX("getString failed for"+b.j,b);else throw RU(a);}else{b.Lh()==null&&mX(KBc,b);b.Lh().length==0&&mX(LBc,b)}}function Xjb(a,b){var c,d;c=(se(Yjc(b,qkc(46))==-1,YBc,b),new q4b((F7b(),y6b),b));$2b(c,b.length);u0(a).ag(b)&&(d=R2b(c,c.g,43),d!=c.g&&(c.g=d),c.g=new V3b(43,1,c.g));return c}function zqb(a,b,c,d){var e,f,g;f=c.b;if(Cqb(a,f)||(g=v2b(f),Eqb(a,g)))if(d.j==(F7b(),L5b)){e=
d.e;ckb(e,d);d1(a.a.a)}else Zhb(b,c,(pqb(),nqb),$C(VC(FS,1),bAc,2,6,[v2b(f)]))}function Fqb(a,b,c,d){var e,f,g,h;g=null;for(f=c.b;f;f=g){g=f.d;e=f.Lh();if(yqb(a,e)||vqb(a,f.b)){h=Shb(b);Vtc(a.a.f,$ob(h,e));O2b(c,f);d1(a.a.a)}}if(!c.b){ckb(d,c);d1(a.a.a)}}function Fwb(a,b,c){var d,e,f,g;f=a.Bh();if(!f)return true;g=b.Bh();for(e=f.Md();e.Ed();){d=e.Fd();if(!!g&&g.contains(d))continue;if(!cyb(d.a,b,c))return false}return true}function KRb(a){lRb(a);if(YRb(kRb(a,a.d)?Qjc(a.e.a,a.d):0)){tRb(a,"New line not allowed in regular expression literal",
$C(VC(AS,1),qAc,1,5,[]));return false}lRb(a);return true}function P1b(a){if((a.a.a&KEc)==PEc||(a.a.a&KEc)==hBc||(a.a.a&KEc)==XEc||o_b(a.a)||(a.a.a&MEc)!=0||(a.a.a&sBc)!=0||(a.a.a&LEc)!=0)return false;a.a.a|=LEc;a.d=true;return true}function fd(a){var b,c,d;d=new pwc("[","]");for(c=a.Md();c.Ed();){b=c.Fd();owc(d,b===a?"(this Collection)":b==null?iAc:tV(b))}return!d.a?d.c:d.e.length==0?d.a.a:d.a.a+(""+d.e)}function fs(a,b){Yr();var c,d;_r(b);d=$r(a,b);if(!a.a.Ed())throw RU(new Phc(VAc+b+") must be less than the number of elements that remained ("+
d+")"));return c=a.a.Fd(),c.xe()}function x6(a,b,c,d){var e,f,g;for(f=Gvc(a.a,0);f.b!=f.d.c;){e=Qvc(f);if(c!=e.a&&J2b(c,e.a)){g=$ob(Shb(b),c.Lh());if(!!g&&g.c==e.a){S2b(d,c,m3b(b$b(e.b),c));d1(a.b.b);return}}}}function Jgb(a,b){var c,d,e;_d(b.indexOf(".")==-1);c=sgb(a,b,false);if(!c)return false;e=c.d;return!!c.c||!!e&&(d=e.Ch()==2&&e.Dh().size()==1?is(e.Dh().Md()):null,!!d&&!!d.e)}function kBb(a){var b,c,d,e;if(SDb(a.a,eFc))return bo(a.b,a.a.p.getAtIndex(0));d=a.a.t.b;for(c=mBb(a).Md();c.Ed();){b=
c.Fd();e=kBb(b);!!e&&(d=Cyb(d,e))}return 0==d.Ch()?null:d}function UFb(){UFb=qV;OFb=new VFb(sDc,0,(WLb(),MLb));PFb=new VFb(tDc,1,NLb);QFb=new VFb(uDc,2,QLb);RFb=new VFb(vDc,3,SLb);SFb=new VFb(wDc,4,ULb);TFb=new VFb("TYPESCRIPT",5,VLb)}function sPb(a){var b,c;b=(Lm(),new hq);tOb(a,(hUb(),mTb));while(c=qRb(a.j,0).c,RSb==c||(YNb(),YNb(),!!bo(zNb,c))){fq(b,rPb(a));GQb(a,rSb)||tOb(a,vSb)}tOb(a,rSb);return Tm(b.a)}function IPb(a){var b,c;b=(Lm(),new hq);tOb(a,(hUb(),mTb));while(c=qRb(a.j,0).c,RSb==c||(YNb(),
YNb(),!!bo(zNb,c))){fq(b,HPb(a));GQb(a,rSb)||tOb(a,vSb)}tOb(a,rSb);return Tm(b.a)}function Er(a,b){var c,d;he(a);if(!b.b.Ed())return he(a),zr==a?yr:new wx(new Ixc(a));c=new Ixc(a);while(b.b.Ed()){d=b.b.Fd();he(d);c.a.put(d,(Xhc(),Vhc))==null}return new wx(c)}function Ku(a,b){var c;if(b==null)for(c=a.size()-1;c>=0;c--){if(a.getAtIndex(c)==null)return c}else for(c=a.size()-1;c>=0;c--)if(nb(b,a.getAtIndex(c)))return c;return-1}function hX(a,b){var c,d;a.a.v==(C3(),v3)||mX("Feature 'type alias' is only allowed in ES6 Typed mode.",
b);NW((F7b(),v7b),b);d=H7b(b.j);d!=-1&&(c=p2b(b),d!=c&&mX(CBc+d+DBc+c,b))}function s1(a){var b,c;c=(a.H.nd!=(T3(),Q3)&&!!a.U&&Elb(a.U,cDc,true),new Vqb);try{!a.K&&(a.K=new cvb);Gpc();Wpc()}finally{b=cV(XU(kzc()),c.a);a.H.nd!=Q3&&!!a.U&&Flb(a.U,cDc,b)}}function a7(a){var b,c,d,e;if(a.b.a.size()!=0){for(d=(e=(new nmc(a.b.a)).a.oe().Md(),new tmc(e));d.a.Ed();){c=(b=d.a.Fd(),b.xe());c.j==(F7b(),p5b)&&e7(c,c.e);f3b(c,z7b)}d1(a.a)}}function IQb(a){switch(qRb(a.j,0).c.f){case 82:case 85:case 86:case 95:case 87:case 83:case 84:case 88:case 89:case 90:case 91:case 93:case 92:return true;
default:return false}}function v2b(a){var b,c;switch(a.j.f){case 29:c=a.Lh();return c.length==0?null:c;case 26:b=w2b(a,0);return b?b.a:null;case 33:return xCc;case 99:return yCc;default:return null}}function DA(a,b,c,d){var e,f;while(true){f=((d-c)/2|0)+c;e=(Azc(f,a.a.length),a.a[f]).tf()-b;if(e==0)return f;else if(e<0){c=f+1;if(c>d)return d}else{d=f-1;if(d<c)return d}}}function Glb(a,b,c){this.d=new Anb;this.f=new Pnc;this.w=new soc;ae(c!=(T3(),Q3),"PerformanceTracker can't work without tracer data.");
this.H=XU(kzc());this.n=a;this.u=b;this.D=c}function L0(a){var b,c,d,e,f;f=false;for(d=a.s.Md();d.Ed();){c=d.Fd();e=e2(c,a);if(!e)continue;b=u2b(e,29);if(!!b&&(b.a&ZCc)!=0){Qeb(c.g,c);f=true}}f&&(u1(a.D),a.s=v1(a.D),O0(a))}function mVb(a){pUb.call(this,(SXb(),RWb),a.k);this.k=a.n;this.d=a.d;this.i=a.i;this.f=a.f;this.g=a.g;this.a=a.a;this.j=he(a.j);this.b=he(a.b);this.n=a.o;this.c=he(a.c);this.e=a.e}function Oec(a,b,c){var d,e,f,g;if(!c.add(a))return;b.addAll(a.b.keySet());g=Qec(a);!!g&&Oec(g,b,c);
for(e=qs(new Yqc(Rec(a).a.b.Md()));e.Ed();){d=e.Fd();f=d.Ei();!!f&&Oec(f,b,c)}}function qkc(a){var b,c;if(a>=dAc){b=eAc+(a-dAc>>10&fAc)&gAc;c=hAc+(a-dAc&fAc)&gAc;return String.fromCharCode(b)+(""+String.fromCharCode(c))}else return String.fromCharCode(a&gAc)}function Tib(a){sib();var b;if(a.j!=(F7b(),W5b))return null;if(Vjc((a.b?a.b.f:null).Lh(),fCc))return a.b;b=a.b;if(b.j==W5b&&Vjc((b.b?b.b.f:null).Lh(),fCc))return b.b;return null}function e$b(a){var b,c,d,e,f;b=new q3b((F7b(),L6b));for(d=a,e=0,
f=d.length;e<f;++e){c=d[e];ne(c.j==i7b||c.j==t6b||c.j==X5b||c.j==c7b);c.j==i7b||ne(!!c.b&&!c.b.d);d2b(b,c)}return b}function xyc(a,b){var c,d,e,f;c=qlc(a.a,b);if(!c){d=new Myc(b);e=d.c;f=kkc(e,0,zjc(0,_jc(e,qkc(46))));Jyc(d,xyc(a,f));d.c.length==0&&Dyc(d,new Pyc);tlc(a.a,d.c,d);return d}return c}function Sj(a,b,c){var d,e,f,g;if(c==0)return e=Fv(a.a,b),!e?0:e.a;ce(c>0,IAc,c);d=a.a.pe(b);if(!d)return 0;g=d.a;if(g>c)f=c;else{f=g;a.a.remove(b)}d.a+=-f;a.b=cV(a.b,f);return g}function OW(b){var c,d;NW((F7b(),
J6b),b);d=H7b(b.j);d!=-1&&(c=p2b(b),d!=c&&mX(CBc+d+DBc+c,b));try{b.Kh()}catch(a){a=QU(a);if(ND(a,18))mX("Invalid NUMBER node.",b);else throw RU(a);}}function cX(b){var c,d;NW((F7b(),h7b),b);d=H7b(b.j);d!=-1&&(c=p2b(b),d!=c&&mX(CBc+d+DBc+c,b));try{b.Lh()}catch(a){a=QU(a);if(ND(a,18))mX("Invalid STRING node.",b);else throw RU(a);}}function dX(a,b){var c,d;NW((F7b(),m7b),b);FW(b);tW(a,b.b);d=0;for(c=b.b.d;c;c=c.d){eX(a,b.b?b.b.f:null);c.j==u5b&&++d}d>1&&mX("Expected at most 1 'default' in switch but was "+
d,b)}function i4(a,b){var c,d,e,f;for(f=(d=(new mnc(a.c.a)).a.oe().b.ej(),new snc(d));f.a.Ed();){e=(c=f.a.Fd(),c.xe());if(e.Ng(b))return true;else if(e.Mg(b))return false}return false}function A9(a,b,c){var d;if(b.j==(F7b(),L4b)){d=b.b;switch(d.j.f){case 29:return true;case 26:return!z9(a,d.b,c);case 27:return!z9(a,d.b,c)&&!z9(a,d.b?d.b.f:null,c)}}return false}function $Cb(a,b){switch(a.a.f){case 0:return xkc(nyb(a.d,b),94);case 2:return nyb(a.d,b);case 1:return xkc(nyb(a.d,b),61);default:throw RU(new bC("Unknown Attribute value "+
a.a));}}function SRb(a){while(kRb(a,a.d))switch(kRb(a,a.d)?Qjc(a.e.a,a.d):0){case 96:return;case 92:RRb(a);break;case 36:if((kRb(a,a.d+1)?Qjc(a.e.a,a.d+1):0)==123)return;default:lRb(a)}}function udb(a,b){var c;if(Hcb(b)){idb(a,(sib(),c=Fib(b),!c?null:u2b(c,29)),v2b(b),b.d,null,a.a);return}if(Icb(b)){idb(a,(sib(),c=Fib(b),!c?null:u2b(c,29)),v2b(b),b,null,a.a);return}}function eib(b,c,d){var e,f;try{e=c.e;he(e);$hb(b,Mib(e),"");b.e=e;Xhb(b,e);bib(b,c,e);ne(d.e==e);bib(b,d,e);Whb(b,false)}catch(a){a=
QU(a);if(ND(a,41)){f=a;_hb(b,f)}else throw RU(a);}}function S_b(a,b,c){if((a.a&KEc)!=0)throw RU(new Xic("API tried to add two incompatible type tags. This should have been blocked and emitted a warning."));a.a=a.a&1073741823|c;a.i=b}function M0b(a){if(!((a.a.a&KEc)==PEc||(a.a.a&KEc)==hBc||(a.a.a&KEc)==XEc)&&!o_b(a.a)&&(a.a.a&lFc)==0&&(a.a.a&32)==0&&a.a.j!=(z0b(),w0b)){a.a.a|=lFc;a.d=true;return true}return false}function Nn(a){var b,c,d;d=a.a.length;switch(d){case 0:return mx(),lx;case 1:b=is(new Poc(a));
return Tn(b.xe(),b.ye());default:c=roc(a,XC(gU,MAc,58,a.a.length,0,1));return new sx(c)}}function Dv(a){zv();var b,c;if(a.a.c==0)return mx(),lx;else{for(c=new otc((new itc(a)).a);Ktc(c.a);){b=(c.b=Ltc(c.a),new stc(c.c,c.b));he(b.a);he(b.b.b[b.a.f])}return aq(new $sc(a))}}function zx(b,c){var d;if(b===c)return true;if(ND(c,31)){d=c;try{return b.size()==d.size()&&b.containsAll(d)}catch(a){a=QU(a);if(ND(a,66))return false;else throw RU(a);}}return false}function Hac(a,b,c){if(b.Ii()||a.o||!!b.Di()){if(!!a.f&&
(a.Pi()||a.e==(qbc(),obc))&&V7b(b,(se(a.Pi()||a.e==(qbc(),obc),IIc,a),b8b(a.j))))return;b=new bac(a.u,a.Gi()+JEc,b)}Gac(a,b,c)}function p9(a,b,c,d,e){this.g=a;this.d=e$b($C(VC(jR,1),ZBc,7,0,[]));this.e=e$b($C(VC(jR,1),ZBc,7,0,[]));this.j=new Yuc;this.i=new Yuc;this.b=new Yuc;this.f=b;this.a=c;this.c=d;this.k=e}function fjb(a,b){sib();var c;c=b.e;if(c.j==(F7b(),W5b)&&b==(c.b?c.b.f:null))return a.bg(b.Lh());else if(Cjb(b))return a.bg(b.Lh());else if(b.j==y6b)return a.ag(b.Lh());return false}function Dlb(a,
b){var c,d;Blb(a);if(a.D==(T3(),S3))return;b.c=a.q=a.b=(sib(),Aib(a.u));if(!(a.D==R3||a.D==O3))return;c=Nlb((d=a.u,a.D==O3,d));b.o=a.r=a.e=c.b;a.D==O3&&(b.g=a.s=a.o=0)}function Znb(a,b,c){var d,e,f,g,h;h=b.b;while(!!h&&h!=c){g=h.d;sib();if(h.j==(F7b(),L5b)&&h.b.j==f5b){d=h.b;e=d.b;if(L2b(e,WFc,WFc.length)){f=cMb(e.d.d.d.Lh());Ynb(a,f)&&ckb(b,h)}}h=g}}function FPb(a){var b,c,d,e;e=qRb(a.j,0).b.b;tOb(a,(hUb(),SSb));tOb(a,nTb);b=HOb(a,1);tOb(a,sSb);d=nQb(a);c=null;if(GQb(a,DSb)){tOb(a,DSb);c=nQb(a)}return new KVb(new CYb(e,
a.g),b,d,c)}function M0(a){var b,c,d;d=false;for(c=a.s.Md();c.Ed();){b=c.Fd();if(a.H.$.b)if(!f2(b).Jg().isEmpty()||!f2(b).Kg().isEmpty())continue;K0(a,b)&&(d=true)}d&&(u1(a.D),a.s=v1(a.D),O0(a))}function _xb(a,b){if(0==a.Ch()||_zc==a.Ch()||512==a.Ch())return a.e.G;ue(!a.Dh().isEmpty()||!a.Bh().isEmpty(),"Can't getProp %s of type %s",b,a);return Iyb(cEb(a.Dh(),b),cEb(a.Bh(),b))}function lBb(a){var b,c,d,e,f;if(SDb(a.a,eFc))return bo(a.b,a.a.p.getAtIndex(1));e=a.a.t.u;b=false;for(d=mBb(a).Md();d.Ed();){c=
d.Fd();f=lBb(c);if(f){b=true;e=Fyb(e,f)}}return b?e:null}function DHb(a,b){var c,d,e,f;f=nGb(a.a,(F7b(),Q6b));if(_Gb(a,b.a))for(d=b.a.Md();d.Ed();){c=d.Fd();e=HGb(a.a,c);ne(e.j==y6b||e.j==Y6b||e.j==J4b||e.j==M6b||e.j==v5b);d2b(f,e)}return f}function $cc(a,b,c){var d,e,f,g;if(ND(c,56)&&c.Ii()){g=Uuc(a.b,b);if(!g){g=new Yuc;Vuc(a.b,b,g)}f=c;g.put(f.Gi(),f)}else if(c.ui())for(e=Hgc(c.ui()).Md();e.Ed();){d=e.Fd();$cc(a,b,d)}}function vW(a,b){var c,d,e;NW((F7b(),W5b),b);d=H7b(b.j);d!=-1&&(c=p2b(b),d!=
c&&mX(CBc+d+DBc+c,b));tW(a,b.b);e=b.b?b.b.f:null;NW(h7b,e);e.Lh()==null&&mX(KBc,e);e.Lh().length==0&&mX(LBc,e)}function PX(){PX=qV;OX=new y5("JSC_DEBUGGER_STATEMENT_PRESENT",(kY(),iY),new klc("Using the debugger statement can halt your application if the user has a JavaScript debugger running."))}function C0(a){var b,c,d,e;!a.K&&(a.K=new cvb);e=new Ytc;if(a.u)for(d=i2b(a.u).Md();d.Ed();){c=d.Fd();s2b(c,93)!=0&&Vtc(e,E0(a,(b=u2b(c,51),!b?null:b.Ig())))}return y0(a),J0(a),new Lnb}function Zab(a,b){var c,
d,e,f;d=qlc(a.a.g,b);if(!d){c=_jc(b,qkc(46));if(c>=0){f=b.substr(0,c);e=Zab(a,f);d=hbb(e,b.substr(c+1))}else{d=new lbb(b,null);hoc(a.a.f,d)}tlc(a.a.g,b,d)}return d}function Qgc(a){var b,c,d,e;e=new jhc(a.u);for(d=a.b.Md();d.Ed();){b=d.Fd();dhc(e,b,false)}a.b=fhc(e);e=new jhc(a.u);for(c=a.b.Md();c.Ed();){b=c.Fd();dhc(e,b,true)}a.a=fhc(e);a.c=a.b.zd()}function Cwc(a,b,c,d){var e,f;f=b;e=f.d==null||a.a.He(c.d,f.d)>0?1:0;while(f.a[e]!=c){f=f.a[e];e=a.a.He(c.d,f.d)>0?1:0}f.a[e]=d;d.b=c.b;d.a[0]=c.a[0];
d.a[1]=c.a[1];c.a[0]=null;c.a[1]=null}function jJb(a,b){var c;if(b==(YJb(),NJb)){pJb(a);c=iJb(a,!a.o?dKb(a.j):BIb(a));if(c){pJb(a);JIb(a,TJb)?!a.o?dKb(a.j):BIb(a):(xIb(a,nHc,a.j.g,cKb(a.j)),null)}return c}else return iJb(a,b)}function uKb(a){var b,c,d;c=a.c;b=a.e==0;switch(c.f){case 5:d=3;break;case 0:d=0;break;case 1:d=1;break;case 2:case 3:case 4:d=2;break;default:throw RU(new Xic(WCc+c));}return new eRb(d,b)}function d6(a,b){var c;switch(b){case VDc:case "EvalError":case WDc:case XDc:case YDc:case "TypeError":case "URIError":return c=
$ob(Shb(a),b),!(!!c&&!(!c.a||h2(c.a)));default:return false}}function pjb(a){sib();if(a.j!=(F7b(),W5b))return false;if(a.j==W5b&&L2b(a,_Bc,_Bc.length)||a.j==W5b&&L2b(a,aCc,aCc.length))return true;return a.b.j==Q5b&&Vjc((a.b?a.b.f:null).Lh(),"bind")}function JKb(a,b){var c,d;b.j==(F7b(),G6b)?d=IKb(a,b.b):d=IKb(a,b.b)&&IKb(a,b.b.d);if(!d){a.a.ih((c=$C(VC(AS,1),qAc,1,5,[Xzc]),jHc+D4b(CHc,c)),a.b.Ig(),a.d,a.c);return false}return true}function SPb(a,b,c,d,e,f){var g;g=rVb(wVb(qVb(tVb(oVb(vVb(sVb(xVb(uVb(new yVb((DVb(),
CVb)),c),d),e),false),f),DOb(a)),xPb(a,1)),COb(a)),new cVb(new CYb(b,a.g)));return nVb(g,new CYb(b,a.g))}function bRb(a,b,c,d,e){this.a=new dRb(this);this.e=new Pnc;this.d=(WLb(),MLb);this.b=a;this.c=b;this.i=true;this.j=new URb(b,this.a,c,d);ync(this.e,(Xhc(),e?true:false));this.g=iRb(this.j)}function $oc(a,b){var c;if(TD(a)===TD(b))return true;if(a==null||b==null)return false;if(a.length!=b.length)return false;for(c=0;c<a.length;++c)if(a[c]!==b[c])return false;return true}function Yg(a,b){var c,
d,e;if(b===a)return true;if(!ND(b,49))return false;e=b;if(a.size()!=e.size())return false;for(d=e.oe().Md();d.Ed();){c=d.Fd();if(!a.ne(c))return false}return true}function Psc(){Psc=qV;Nsc=$C(VC(FS,1),bAc,2,6,["Sun","Mon","Tue","Wed","Thu","Fri","Sat"]);Osc=$C(VC(FS,1),bAc,2,6,["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"])}function j4(a,b){var c,d,e,f,g;for(f=(d=(new mnc(a.c.a)).a.oe().b.ej(),new snc(d));f.a.Ed();){e=(c=f.a.Fd(),c.xe());g=e.Pg(b);if(g){if(a.a&&g==(kY(),
hY))return kY(),jY;return g}}return null}function pX(a,b){var c,d,e,f,g;e=new toc(a.d.a.size());for(g=(d=(new mnc(a.d.a)).a.oe().b.ej(),new snc(d));g.a.Ed();){f=(c=g.a.Fd(),c.xe());f.b==b&&hoc(e,f.a)}return roc(e,XC(TK,QBc,68,0,0,1))}function uDb(a,b,c,d,e){ne(!a.f);!d&&e&&(d=a.t.G);a.b=ZAb(a.b,b,e?new cDb(c,d,d,(nDb(),kDb)):new cDb(c,d,d,(nDb(),mDb)));!!Zg(a.j,b,false)&&xDb(a,b,c,d,e);!!Zg(a.k,b,false)&&(a.k=$Ab(a.k,b))}function cMb(a){WLb();switch(a){case fDc:return MLb;case "es5":return NLb;case VFc:return PLb;
case "es6":return OLb;case "ts":return VLb;default:throw RU(new dfb("No such FeatureSet: "+a));}}function MPb(a){var b,c;c=(Lm(),new hq);while(NQb(a)){fq(c,LPb(a));GQb(a,(hUb(),rSb))||(b=qRb(a.j,0).b.b.b>a.g.b,b||FQb(a,0,GTb)||FQb(a,0,rSb)||FQb(a,0,ESb)?yOb(a):tOb(a,vSb))}return Tm(c.a)}function Bib(a){sib();var b;switch(a.j.f){case 82:b=a.e;return!!b&&!(b.j==(F7b(),h5b)||b.j==u5b)&&b.j!=(F7b(),j5b);case 72:case 73:case 101:case 67:case 96:return true;default:return false}}function cyb(a,b,c){var d,
e,f;if(a==b)return true;f=b;return e=a.Dh(),e.size()==1&&is(e.Md()).c||(d=f.Dh(),d.size()==1&&is(d.Md()).c)?a.e.Q?zyb(Sxb(a),Sxb(f)):dyb(Sxb(a),Sxb(f),c):dyb(a,f,c)}function ppc(a){var b,c,d,e,f;if(a==null)return iAc;f=new pwc("[","]");for(c=a,d=0,e=c.length;d<e;++d){b=c[d];owc(f,String.fromCharCode(b))}return!f.a?f.c:f.e.length==0?f.a.a:f.a.a+(""+f.e)}function Pib(a){sib();var b,c,d;ne(a.j==(F7b(),Q5b)||a.j==k5b);d=a.e;switch(d.j.f){case 29:return d;case 47:{b=d.b;return F2b(b)?b:null}default:c=
a.b;return c.j==B5b||c.Lh().length==0?null:c}}function Clb(a,b){var c,d,e;e=(sib(),Aib(a.u));b.b=a.b-e;a.b=b.c=e;if(!(a.D==(T3(),R3)||a.D==O3))return;c=Nlb((d=a.u,a.D==O3,d));e=c.b;b.e=a.e-e;a.e=b.o=e;if(a.D==O3){e=0;b.f=a.o-e;a.o=b.g=e}}function bwb(a,b){var c,d,e;e=uEb(b,a.j);if(e!=null)return e;if(a.e){d=Zxb(a.e);if(!!d&&!d.a.p.isEmpty()&&d.b.d.d.isEmpty()){c=(ne(!d.a.f),d.a);e=uEb(b,c.p);if(e!=null)return e}}return null}function x8(a,b){var c,d,e;for(d=new Poc((sib(),ae(!!b&&(b.j==(F7b(),z7b)||
b.j==q6b||b.j==p5b)||b.j==(F7b(),Q6b)||b.j==(F7b(),j5b),b),e=new soc,Oib(b,e),e));d.a<d.c.a.length;){c=Noc(d);y8(a,c)}}function Kib(a,b){sib();var c,d;ne(a.j==(F7b(),L6b)||a.j==l5b);for(d=(!a.b?(Gpc(),Gpc(),Fpc):new k4b(a.b)).Md();d.Ed();){c=d.Fd();if((c.j==i7b||c.j==t6b)&&Vjc(c.Lh(),b))return c.b}return null}function Ywb(a,b){var c;if(b==null)return false;if(a===b)return true;ee(ND(b,194),"obj is: %s",b);c=b;return hwc(a.i,c.i)&&hwc(a.e,c.e)&&hwc(a.j,c.j)&&hwc(a.k,c.k)&&hwc(a.d,c.d)&&hwc(a.g,c.g)}
function aCb(a,b){var c,d;d=b.a.getAtIndex(0);c=ih(Zg(a.g,d,false));if(c)return c;if(a.e){c=vwb(a.e,d);if(c)return c}if(a.d)return pBb(a.d,d);if(iAb(a.a))return pBb(iAb(a.a),d);return null}function VKb(a,b,c){var d,e;for(e=0;e<c;e++)if(!GKb(a,(ee(b.j==(F7b(),f5b),yHc,b),o2b(b,e+1)))){a.a.ih((d=$C(VC(AS,1),qAc,1,5,[Xzc]),jHc+D4b(CHc,d)),a.b.Ig(),a.d,a.c);return false}return true}function $Kb(a,b,c){var d,e;for(e=0;e<c;e++)if(!_Kb(a,(ee(b.j==(F7b(),f5b),yHc,b),o2b(b,e+1)))){a.a.ih((d=$C(VC(AS,1),qAc,
1,5,[Xzc]),jHc+D4b(CHc,d)),a.b.Ig(),a.d,a.c);return false}return true}function bLb(a,b,c){var d,e;for(e=0;e<c;e++)if(!aLb(a,(ee(b.j==(F7b(),f5b),yHc,b),o2b(b,e+1)))){a.a.ih((d=$C(VC(AS,1),qAc,1,5,[Xzc]),jHc+D4b(CHc,d)),a.b.Ig(),a.d,a.c);return false}return true}function EC(b,c){var d,e,f,g;for(e=0,f=b.length;e<f;e++){g=b[e];try{g[1]?g[0].mj()&&(c=DC(c,g)):g[0].mj()}catch(a){a=QU(a);if(ND(a,40)){d=a;pC();vC(ND(d,263)?d.zf():d)}else throw RU(a);}}return c}function uD(a,b){var c,d,e;b&=63;if(b<22){c=
a.l<<b;d=a.m<<b|a.l>>22-b;e=a.h<<b|a.m>>22-b}else if(b<44){c=0;d=a.l<<b-22;e=a.m<<b-22|a.l>>44-b}else{c=0;d=0;e=a.l<<b-44}return dD(c&pBc,d&pBc,e&qBc)}function TDb(a,b){var c,d;if(a==b||XDb(b.w,dEc,b.u))return true;if(b.g!=0)for(d=(!a.d?(km(),ux(),tx):a.d).Md();d.Ed();){c=d.Fd();if(yBb(c,b.r))return true}return a.g==0&&!!a.o&&yBb(a.o,b.r)}function MHb(a,b){var c,d,e,f;mHb(a,b,(TMb(),EMb));f=NHb(a,b.b);c=nGb(a.a,(F7b(),B6b));z3b(c.i)==-1&&DGb(c,b.o.b,b.o.a);for(e=b.a.Md();e.Ed();){d=e.Fd();d2b(c,FGb(a.a,
d))}return pGb(a.a,A6b,f,c)}function sV(a,b){var c=$wnd;if(a==="")return c;var d=a.split(".");!(d[0]in c)&&c.execScript&&c.execScript("var "+d[0]);for(var e;d.length&&(e=d.shift());)c=c[e]=c[e]||!d.length&&b||{};return c}function Oj(a,b,c){var d,e,f,g;if(c==0)return e=Fv(a.a,b),!e?0:e.a;ce(c>0,IAc,c);d=a.a.pe(b);if(!d){g=0;a.a.put(b,new rl(c))}else{g=d.a;f=SU(g,c);de(TU(f,_zc)<=0,f);d.a+=c}a.b=SU(a.b,c);return g}function oB(a,b,c){var d,e,f,g;sA(a.b,c-a.c);a.c=c;if(b){e=eB(a.j,b.d);sA(a.b,e-a.g);
a.g=e;g=b.c.b;f=b.c.a;sA(a.b,g-a.i);a.i=g;sA(a.b,f-a.f);a.f=f;if(b.b!=null){d=dB(a.j,b.b);sA(a.b,d-a.e);a.e=d}}}function hC(a){var b;if(a.c==null){b=TD(a.b)===TD(fC)?null:a.b;a.d=b==null?iAc:QD(b)?b==null?null:b.name:SD(b)?lBc:sic(pb(b));a.a=a.a+": "+(QD(b)?b==null?null:b.message:b+"");a.c="("+a.d+") "+a.a}}function YDb(a){var b;if(!a)return false;if(a.j==(F7b(),Q5b))return true;b=a.e;if(a.j==f5b)return b.j==y6b||b.j==L4b;if(a.j==y6b)return b.j==z7b&&!a.b;if(a.j==W5b)return b.j==L5b;return false}
function EGb(a){var b;switch(a.p.f){case 6:case 20:case 67:return false;case 49:case 43:case 42:case 46:case 55:case 45:b=QGb(a);if(b.p==(SXb(),pXb))return false;return true;default:return true}}function $Yb(a){var b,c;if(a.a==null)return a.b.k=false,UYb(a,iAc,0);b=null;if(ND(a.a,153))b=new Hsc(a.a.a);else if(ND(a.a,278))b=a.a;else throw RU(RYb(a));c=new Ikc;c.a+=""+b;return UYb(a,c,0)}function jOb(a){var b,c,d;d=new soc;hoc(d,kjc(0));for(c=0;c<a.length;c++){b=a.charCodeAt(c);if(kOb(b)){c+1<a.length&&
b==13&&a.charCodeAt(c+1)==10&&++c;hoc(d,kjc(c+1))}}hoc(d,kjc(_zc));return lOb(d)}function f2(a){!a.c&&(a.c=d2(a));if(a.e.a.length!=0||a.d.a.length!=0){a.c=new Mub(a.f.a,a.f.a,o2(a.c.Jg(),a.d),o2(a.c.Kg(),a.e),a.c.Hg());a.e.a=XC(AS,qAc,1,0,5,1);a.d.a=XC(AS,qAc,1,0,5,1)}return a.c}function UKb(a,b){var c;if(!CKb(a,b,(GLb(),xLb)))return false;for(c=0;c<(ee(b.j==(F7b(),f5b),yHc,b),p2b(b)-1);c++)if(!TKb(a,(ee(b.j==f5b,yHc,b),o2b(b,c+1)))){fLb(a,xLb.d);return false}return true}function PQb(a,b){var c;c=
qRb(a.j,0).c;if(Atc(wtc((hUb(),RSb),$C(VC(EO,1),vAc,13,0,[$Tb,zSb,dTb,eTb])),c)||!a.b.b&&bOb(c)||GQb(a,JTb))return true;if(b!=2)return GQb(a,oTb)||GQb(a,mTb);return false}function vBb(a){var b,c,d;if(a.b.d.d.isEmpty())return true;for(d=a.a.p.Md();d.Ed();){c=d.Fd();ue(ao(a.b,c),JGc,c,a.b.We());b=bo(a.b,c);if(_zc!=b.Ch()&&!Txb(b,xyb(a.a.t,c)))return false}return true}function qwb(a,b,c){var d,e;ne(!ywb(a,b));ne(!a.A);e=b.a.size()==1?a:wwb(a,(_d(b.a.size()!=1),new qDb(b.a.Re(0,b.a.size()-1))));e.D.isEmpty()&&
(e.D=new Yuc);d=b.a.getAtIndex(b.a.size()-1);e.D.put(d,c)}function yHb(a,b){var c,d,e,f;mHb(a,b,(TMb(),oMb));f=LHb(a,b.b,false);c=nGb(a.a,(F7b(),D5b));z3b(c.i)==-1&&DGb(c,b.o.b,b.o.a);for(e=b.a.Md();e.Ed();){d=e.Fd();d2b(c,FGb(a.a,d))}return pGb(a.a,C5b,f,c)}function nRb(a){var b;b=(qRb(a,0),Hvc(a.b));(!kRb(a,a.d)||b.c!=(hUb(),rSb))&&sRb(a,jRb(a,a.d),"Expected '}' after expression in template literal",$C(VC(AS,1),qAc,1,5,[]));return oRb(a,(hUb(),UTb),TTb)}function eo(a){var b,c,d,e,f,g,h;b=(zv(),
new Yuc);for(d=a,e=0,f=d.length;e<f;++e){c=d[e];g=he(c.xe());h=Vuc(b,g,he(c.ye()));if(h!=null)throw RU(new dfb("duplicate key: "+g));}this.d=(Gpc(),new Crc(b))}function zu(a,b,c){var d,e;this.f=a;d=plc(a.b,b);e=!d?0:d.a;le(c,e);if(c>=(e/2|0)){this.e=!d?null:d.c;this.d=e;while(c++<e)xu(this)}else{this.c=!d?null:d.b;while(c-- >0)wu(this)}this.b=b;this.a=null}function wD(a,b){var c,d,e,f;b&=63;c=a.h&qBc;if(b<22){f=c>>>b;e=a.m>>b|c<<22-b;d=a.l>>b|a.m<<22-b}else if(b<44){f=0;e=c>>>b-22;d=a.m>>b-22|a.h<<
44-b}else{f=0;e=0;d=c>>>b-44}return dD(d&pBc,e&pBc,f&qBc)}function W9(a){var b,c,d;d=e$b($C(VC(jR,1),ZBc,7,0,[]));Z2b(d,ND(a.k,20)?a.k:null);Y2b(d,F0b(new V1b(false),true));c=1;for(b=a.b;b;b=b.d)b.j==(F7b(),i7b)&&d2b(d,i$b(o$b(b.Lh()),new $3b(c++)));return d}function Jib(a,b){sib();var c,d;ne(a.j==(F7b(),L6b));for(d=(!a.b?(Gpc(),Gpc(),Fpc):new k4b(a.b)).Md();d.Ed();){c=d.Fd();if(c.j==o5b&&c.b.Mh(b,false,true,false,false))return c.b?c.b.f:null}return null}function Ynb(a,b){switch(ZLb(b)){case "ts":return Xnb(a,
(C3(),v3));case "es6":case VFc:return Xnb(a,(C3(),t3));case "es5":return Xnb(a,(C3(),r3));case fDc:return Xnb(a,(C3(),q3));default:return false}}function axb(a,b){var c,d;ne(a.c||b.c);if(a==a.a.v||a==a.a.g||b==b.a.v||b==b.a.g)return true;d=Ajc(a.i.size(),b.i.size());for(c=0;c<d;c++)if(!zyb(Zwb(a,c),Zwb(b,c)))return false;return zyb(a.k,b.k)}function rHb(a,b){var c,d,e,f;f=nGb(a.a,(F7b(),b7b));for(d=b.b.Md();d.Ed();){c=d.Fd();d2b(f,FGb(a.a,c))}nHb(f);if(dHb(f)){e=nGb(a.a,w6b);z3b(e.i)==-1&&DGb(e,b.o.b,
b.o.a);g2b(e,P2b(f));d2b(f,e)}return f}function uOb(a){var b;b=qRb(a.j,0).c;if(Atc(wtc((hUb(),RSb),$C(VC(EO,1),vAc,13,0,[$Tb,zSb,dTb,eTb])),b)||!a.b.b&&bOb(b))return vOb(a);else{XQb(a,qRb(a.j,0),dIc,$C(VC(AS,1),qAc,1,5,[RSb]));return null}}function dZb(a,b){var c,d;d=a.b.n;d=0==d?1:d;uZb(a.b,d);c=Sic(a.a);if(c==0){--d;uZb(a.b,d);YYb(a,b);return}c=$wnd.Math.abs(c);if(!isNaN(c)&&!isFinite(c)){d=a.b.n;--d;uZb(a.b,d);XYb(a,b);return}YYb(a,b)}function It(a,b){var c;b.d?b.d.b=b.b:a.a=b.b;b.b?b.b.d=b.d:
a.e=b.d;if(!b.e&&!b.c){c=ulc(a.b,b.a);c.a=0;++a.c}else{c=plc(a.b,b.a);--c.a;!b.e?c.b=b.c:b.e.c=b.c;!b.c?c.c=b.e:b.c.e=b.e}--a.d}function yib(a){var b;ee(a.j==(F7b(),E6b),"Expected NEW node, got %s",a.j);if((s2b(a,42)&15)==15)return false;if((s2b(a,42)&15&11)==11&&tib(a))return false;b=a.b;return b.j!=y6b||!jib.contains(b.Lh())}function GBb(a,b){fBb();var c;if(!a||!b)return null;if(xBb(a,b))return b;if(TDb(a.a,b.a))return c=b.a.r,uBb(c,b.a.t.i);if(xBb(b,a))return a;if(TDb(b.a,a.a))return c=a.a.r,uBb(c,
a.a.t.i);return null}function zac(a){var b,c;a.s=true;if(a.i)for(c=new Poc(a.i);c.a<c.c.a.length;){b=Noc(c);zac(b)}if(!a.o){(a.Pi()||a.e==(qbc(),obc))&&(se(a.Pi()||a.e==(qbc(),obc),IIc,a),b8b(a.j)).yi();!!a.f&&a.f.e.yi()}}function Yeb(a,b,c){var d,e,f,g,h,i;g=b.b;h=c.b;for(d=(g<h?g:h)-1;d>=0;d--){i=koc(a.c,d);for(e=i.size()-1;e>=0;e--){f=i.getAtIndex(e);if(_eb(a,b).contains(f)&&_eb(a,c).contains(f))return f}}return null}function _Hb(a,b){var c,d,e,f;jHb(a,b,(TMb(),PMb));f=nGb(a.a,(F7b(),o7b));z3b(f.i)==
-1&&DGb(f,b.o.b,b.o.a);e=!b.b?f:pGb(a.a,n7b,FGb(a.a,b.b),f);for(d=b.a.Md();d.Ed();){c=d.Fd();d2b(f,FGb(a.a,c))}return e}function Ibc(a,b,c){!a.a&&(a.a=new huc);if(mlc(a.a,b)&&mlc(plc(a.a,b),c))return plc(plc(a.a,b),c);else if(mlc(a.a,c)&&mlc(plc(a.a,c),b))return plc(plc(a.a,c),b);else{Jbc(a,b,c,(Rbc(),Qbc));return null}}function $d(a,b,c){if(a<0||a>c)return Zd(a,c,"start index");if(b<0||b>c)return Zd(b,c,"end index");return xe("end index (%s) must not be less than start index (%s)",$C(VC(AS,1),qAc,
1,5,[kjc(b),kjc(a)]))}function vdb(a,b,c,d,e){var f,g,h;f=(sib(),g=Fib(d),!g?null:u2b(g,29));h=GDb(b,c);if(!!IDb(b,c)&&!!h&&!Kdb(f,e,h)){Nhb(a.c.t,Keb(d,(pcb(),icb),$C(VC(FS,1),bAc,2,6,[c,"type "+b])));return true}return false}function puc(a,b,c){var d,e,f,g;g=b==null?0:a.b.bj(b);e=(d=a.a.get(g),d==null?[]:d);if(e.length==0)a.a.set(g,e);else{f=muc(a,b,e);if(f)return f.ze(c)}e[e.length]=new Nmc(b,c);++a.c;Fsc(a.b);return null}function o9b(a,b){var c;c=a.Hi(b);if(!c){if(a.di()||a._h())return X7b(a,
(Xcc(),$bc));else if(a.ei()||a.ci()||a.di()||ndc(a.u,(Xcc(),kcc))==a)return X7b(a,(Xcc(),ncc));return X7b(a,(Xcc(),Tcc))}return c.e}function i$(a,b,c,d){var e;if(d==3&&b.j==(F7b(),e6b)||(sib(),Ojb(b.j)&&(e=b.e,!!e&&e.j==(F7b(),H5b)&&e.b==b)||b.j==(F7b(),L6b)&&s2b(b.e,60)!=0||akb(b.j)<c)){DZ(a.c,"(");a.Cg(b,4);DZ(a.c,")")}else a.Cg(b,d)}function u7(a,b,c,d){var e,f;f=(se(Yjc(d,qkc(46))==-1,YBc,d),new q4b((F7b(),y6b),d));Y2b(f,u2b(c,29));S2b(c.e,c,f);e=LZb(c,(se(Yjc(d,qkc(46))==-1,YBc,d),new q4b(y6b,
d)),z7b);b2b(a.b?a.b.f:null,e,b);return e}function cmb(a){var b,c,d,e,f;d=new soc;for(f=qs(new Yqc((Slb(),Qlb).a.b.Md()));f.Ed();){e=f.Fd();for(c=new Poc(a.b);c.a<c.c.a.length;){b=Noc(c);if(Vjc(b.b,e)){d.a[d.a.length]=b;break}}}dd(a.b,d);joc(a.b,d)}function Jgc(a,b){var c,d,e;if(!b.li()&&!b.ui())for(e=0;e<a.b.size();e++){c=a.b.getAtIndex(e);if(!c.li()&&b.ji(c))return a}return d=U7b(a,b,0,new Kbc(true)),d?a:f8b(jdc(a.u,$C(VC(ER,1),qAc,20,0,[a,b])))}function ujc(a,b){var c,d,e,f,g;g=1<<b;if(TU(hBc,
a)<=0&&TU(a,_zc)<=0)return jjc(fV(a),g);e=g-1;d=(64/b|0)+1;c=XC(WD,cAc,46,d,15,1);f=d;do{c[--f]=eic(fV(a)&e);a=bV(a,b)}while(TU(a,0)!=0);return vkc(c,f,d-f)}function Yd(a,b){if(a<0)return xe(sAc,$C(VC(AS,1),qAc,1,5,[tAc,kjc(a)]));else if(b<0)throw RU(new dfb(uAc+b));else return xe("%s (%s) must be less than size (%s)",$C(VC(AS,1),qAc,1,5,[tAc,kjc(a),kjc(b)]))}function edb(a,b){var c,d;d=ycb(a.b,b,a.a);if(!Cgb(a.a,iFc,false)){jgb(a.a,iFc,d,false,true);return}c=!d?null:d.Ch()==2&&d.Dh().size()==1?is(d.Dh().Md()).d:
null;!!c&&Vjc(c.a.w,gFc)&&jgb(a.a,iFc,d,false,true)}function JPb(a){var b,c,d,e,f;f=qRb(a.j,0).b.b;tOb(a,(hUb(),oTb));d=vOb(a);tOb(a,uSb);c=wQb(a);tOb(a,tSb);tOb(a,uSb);b=tQb(a);e=new TVb(new CYb(f,a.g),d,false,false,null,c);return new NVb(new CYb(f,a.g),e,b)}function Nd(a,b,c){var d,e;he(b);if(c.Ed()){e=c.Fd();Akc(b,Yc(a.a,e.xe()));Akc(b,a.b);Akc(b,Yc(a.a,e.ye()));while(c.Ed()){Akc(b,a.a.c);d=c.Fd();Akc(b,Yc(a.a,d.xe()));Akc(b,a.b);Akc(b,Yc(a.a,d.ye()))}}return b}function D$(a){var b;if(a.j==(F7b(),
l6b)){b=a.b?a.b.f:null;return b.j==c5b||b.j==_6b?A$(a,2)==1&&D$(z$(a)):D$(b)}else switch(a.j.f){case 100:case 88:case 65:case 96:case 71:return true;default:return false}}function T0(a,b,c){var d,e;d=new Oqb(b);if(mlc(a.t,d.a))throw RU(new dfb("Conflicting externs name: "+b));e=new l2(d,true);_0(a,e.f,e);if(c==0){e2b(a.n,d.b);goc(a.j,0,e)}else{d2b(a.n,d.b);hoc(a.j,e)}return e}function Rhb(a,b){var c,d,e,f,g;f=!b?a.n:(d=u2b(b,51),!d?null:d.Ig());if(f==null)return"[source unknown]\n";e=z3b(b.i);c=y3b(b.i);
g=F0(a.c,f,e);g==null&&(g="[source unknown]");return f+":"+e+":"+c+fBc+g+fBc}function rtb(a,b){var c,d;c=(se(Yjc(b,qkc(46))==-1,YBc,b),new q4b((F7b(),y6b),b));u0(a).ag(b)&&(d=R2b(c,c.g,43),d!=c.g&&(c.g=d),c.g=new V3b(43,1,c.g));d2b(e2((!a.R&&(a.R=T0(a,XCc,0)),a.R),a),MZb(c,z7b));d1(a)}function v3b(a,b,c,d){_d(!b.e);_d(!b.d);_d(!b.f);_d(!c.e);_d(!c.d);_d(!c.f);_d(!d.e);_d(!d.d);_d(!d.f);this.j=a;this.e=null;this.b=b;b.d=c;b.f=d;b.e=this;c.d=d;c.f=b;c.e=this;d.d=null;d.f=c;d.e=this;this.i=-1}function Sec(a,
b){var c,d,e,f,g;g=a.b.pe(b);if(g)return g;f=Qec(a);if(f){g=Sec(f,b);if(g)return g}for(d=qs(new Yqc(Rec(a).a.b.Md()));d.Ed();){c=d.Fd();e=c.Ei();if(e){g=Sec(e,b);if(g)return g}}return null}function Ngc(a,b,c,d){var e,f;if(b.li()||Ogc(a))return true;if(b.$h())return true;for(f=0;f<a.b.size();f++){e=a.b.getAtIndex(f);if(d==1&&(e.gi()||e.mi()))continue;if(!e.ki(b,c,d))return false}return true}function TW(a,b,c){var d,e;NW((F7b(),M6b),c);for(d=c.b;d;d=d.d)d==(c.b?c.b.f:null)&&zjb(c.e)?tW(a,d):d.j==i7b?
(NW(i7b,d),SW(d),e=p2b(d),(e<0||e>1)&&mX(JBc+e,d),!!d.b&&!d.b.d&&CW(a,b,d.b),undefined):CW(a,b,d)}function CZ(a,b){BZ();var c,d;oe(b.j==(F7b(),b7b),b);d=u2b(b,48);if(!!d&&d.contains(jCc))Zhb(a,b,zZ,$C(VC(FS,1),bAc,2,6,[]));else if(!d)N2b(b,48,AZ);else{c=Tq(new Wq,jCc);Vq(c,d);N2b(b,48,yo(new Poc(c.a)))}}function OIb(a){var b,c;a.i=(AJb(),yJb);pJb(a);c=!a.o?dKb(a.j):BIb(a);if(a.e.c){b=EIb(a,c,a.f?0:1,false,false);c=b.b;b.a.length==0||O0b(a.e,b.a)}else c!=(YJb(),DJb)&&c!=IJb&&O0b(a.e,"");return XIb(a,
c,new soc)}function Q$(a,b,c,d){var e,f;f=a.b;e=a.a;if(d)return f==b&&e>=c?new uA(f+1,e-c):a;else if(f==b)return new uA(f-1,e+c);else if(f>b)throw RU(new Xic("Cannot undo line cut on a previous line."));else return a}function ogb(a,b,c){var d,e;if(b.j==(F7b(),y6b)){ne(!a.n.containsKey(b.Lh()));a.n.put(b.Lh(),c)}else{ne(!Bgb(a,b));e=sDb(b);d=wgb(a,e.a.getAtIndex(0));qwb(d,(_d(e.a.size()!=1),new qDb(e.a.Re(1,e.a.size()))),c)}}function Rkb(a,b){var c,d,e,f,g;if(b.b.j==(F7b(),y6b)){e=b.b;f3b(b,Sib(b));
f=b.e;d=new q3b(B5b);S2b(f,b,d);c=m3b(CZb(m3b(e.Jh(false),e),b),b);Y2b(c,u2b(b,29));g=R2b(b,b.g,29);g!=b.g&&(b.g=g);S2b(f,d,c);d1(a.b)}}function hub(a){var b,c,d,e;b=(Lm(),new hq);for(e=qs(a.Se().Md());e.Ed();){d=e.Fd();fq(b,(Hub(),c=dkc(dkc(dkc(dkc(dkc(ckc(ckc(d,58,45),92,47)," ",iEc),"[",jEc),"]",kEc),"<",lEc),">",mEc),Iub(c)))}return Tm(b.a)}function bJb(a,b){var c,d;d=LIb(a,(F7b(),o6b));c=VIb(a,b);if(!c)return xIb(a,qHc,a.j.g,cKb(a.j)),null;pJb(a);if(!JIb(a,(YJb(),TJb)))return xIb(a,nHc,a.j.g,
cKb(a.j)),null;!a.o?dKb(a.j):BIb(a);d2b(d,c);return d}function kpc(a,b,c,d,e,f){var g,h,i,j;g=d-c;if(g<7){hpc(b,c,d,f);return}i=c+e;h=d+e;j=i+(h-i>>1);kpc(b,a,i,j,-e,f);kpc(b,a,j,h,-e,f);if(f.He(a[j-1],a[j])<=0){while(c<d)b[c++]=a[i++];return}ipc(a,i,j,h,b,c,d,f)}function Szc(a){var b,c,d,e;b=0;d=a.length;e=d-4;c=0;while(c<e){b=a.charCodeAt(c+3)+31*(a.charCodeAt(c+2)+31*(a.charCodeAt(c+1)+31*(a.charCodeAt(c)+31*b)));b=b|0;c+=4}while(c<d)b=b*31+Qjc(a,c++);b=b|0;return b}function JW(a,b,c){var d,e;
a.a.v==(C3(),v3)||mX("Feature 'namespace' is only allowed in ES6 Typed mode.",b);NW((F7b(),A6b),b);e=H7b(b.j);e!=-1&&(d=p2b(b),e!=d&&mX(CBc+e+DBc+d,b));LW(a,b.b);KW(a,b.b?b.b.f:null,c)}function uCb(a,b){var c,d,e,f;e=(XAb(),XAb(),WAb);for(d=new wvc(new nvc(b));d.b!=d.c.a.b;){c=uvc(d);f=c.e;if(0==f.b.Ch())return a.M;e=ZAb(e,c.d,f)}return new nCb(a,!a.O?null:a.O.r,e,null,null,false,(TBb(),RBb))}function WFb(a){UFb();var b,c,d,e;for(c=$C(VC(cO,1),vAc,141,0,[OFb,PFb,QFb,RFb,SFb,TFb]),d=0,e=c.length;d<
e;++d){b=c[d];if(XLb(b.a,a.a))return b}throw RU(new Xic("No input language mode supports feature: "+a));}function uRb(a,b){xKb(a.c,jRb(a,a.b.b==0?a.d:qRb(a,0).b.b.c),"In some cases, '\x3c!--' and '--\x3e' are treated as a '//' for legacy reasons. Removing this from your code is safe for all browsers currently in use.",b)}function Zd(a,b,c){if(a<0)return xe(sAc,$C(VC(AS,1),qAc,1,5,[c,kjc(a)]));else if(b<0)throw RU(new dfb(uAc+b));else return xe("%s (%s) must not be greater than size (%s)",$C(VC(AS,
1),qAc,1,5,[c,kjc(a),kjc(b)]))}function vwb(a,b){var c,d;if(a.B.containsKey(b)){d=a.B.pe(b);ne(!!d.A);return new cDb(d.u,d.A,d.A,(nDb(),mDb))}if(Zg(a.C,b,false))return ih(Zg(a.C,b,false));if(ND(a,291)){c=a.a;if(c)return pBb(c,b)}return null}function c2b(a,b,c){var d;ae(!!c&&c.e==a,"The existing child node of the parent should not be null.");ae(!b.d,vIc);ae(!b.f,wIc);ae(!b.e,xIc);if(a.b==c){d=a.b.f;b.e=a;b.d=a.b;b.f=d;a.b.f=b;a.b=b}else b2b(a,b,c.f)}function w2b(a,b){var c,d,e,f;f=(a.b?a.b.f:null).Lh();
b+=1+f.length;d=a.b;if(d.j==(F7b(),W5b)){c=w2b(d,b);if(!c)return null}else{e=v2b(d);if(e==null)return null;c=new Jkc;c.a+=""+e}Ekc((c.a+=".",c),f);return c}function yac(a,b,c,d){if(a==b)return true;if(a.e!=b.e)return false;switch(a.e.f){case 1:return false;case 2:return Vjc(a.Gi(),b.Gi());case 0:return U7b(a.j,b.j,c,d)&&R8b(a.a,b.a,c,d);default:throw RU(new Thc);}}function vdc(){new Avc;this.k=new Qtc;this.b=new Yuc;this.d=new Qtc;new dt;new _k;new _k;this.j=new Qtc;this.c=new igc(this,(Lm(),Lm(),
Km),(null,Km));this.i=XC(ER,qAc,20,Zcc().length,0,1);this.g=new Qtc;udc(this)}function opc(a){var b,c,d,e,f;if(a==null)return iAc;f=new pwc("[","]");for(c=a,d=0,e=c.length;d<e;++d){b=c[d];!f.a?f.a=new Lkc(f.d):Ekc(f.a,f.b);Bkc(f.a,""+b)}return!f.a?f.c:f.e.length==0?f.a.a:f.a.a+(""+f.e)}function qpc(a){var b,c,d,e,f;if(a==null)return iAc;f=new pwc("[","]");for(c=a,d=0,e=c.length;d<e;++d){b=c[d];!f.a?f.a=new Lkc(f.d):Ekc(f.a,f.b);Bkc(f.a,""+b)}return!f.a?f.c:f.e.length==0?f.a.a:f.a.a+(""+f.e)}function rpc(a){var b,
c,d,e,f;if(a==null)return iAc;f=new pwc("[","]");for(c=a,d=0,e=c.length;d<e;++d){b=c[d];!f.a?f.a=new Lkc(f.d):Ekc(f.a,f.b);Bkc(f.a,""+b)}return!f.a?f.c:f.e.length==0?f.a.a:f.a.a+(""+f.e)}function spc(a){var b,c,d,e,f;if(a==null)return iAc;f=new pwc("[","]");for(c=a,d=0,e=c.length;d<e;++d){b=c[d];!f.a?f.a=new Lkc(f.d):Ekc(f.a,f.b);Bkc(f.a,""+b)}return!f.a?f.c:f.e.length==0?f.a.a:f.a.a+(""+f.e)}function upc(a){var b,c,d,e,f;if(a==null)return iAc;f=new pwc("[","]");for(c=a,d=0,e=c.length;d<e;++d){b=
c[d];!f.a?f.a=new Lkc(f.d):Ekc(f.a,f.b);Bkc(f.a,""+b)}return!f.a?f.c:f.e.length==0?f.a.a:f.a.a+(""+f.e)}function vpc(a){var b,c,d,e,f;if(a==null)return iAc;f=new pwc("[","]");for(c=a,d=0,e=c.length;d<e;++d){b=c[d];!f.a?f.a=new Lkc(f.d):Ekc(f.a,f.b);Bkc(f.a,""+b)}return!f.a?f.c:f.e.length==0?f.a.a:f.a.a+(""+f.e)}function ydb(a,b,c){var d,e,f;_d(b.j==(F7b(),Q5b));if(c.j==L4b&&c.b.j==V5b){f=c.b.b;if(f.j==W5b&&Vjc((f.b?f.b.f:null).Lh(),fCc)){e=sDb(f.b);if(e)return d=rgb(a.a,e,false),!d?null:ND(d.c,79)?
d.c:null}}return null}function Oeb(a){var b,c,d,e,f,g;b=Lpc((zv(),new huc));_c(b,a.a);g=new Rnc(a.a);while(g.b!=g.c){e=Lnc(g);f=e.a;for(d=0;d<f.a.length;d++){c=(Azc(d,f.a.length),f.a[d]);slc(b.a,c,(Xhc(),Whc))==null&&xnc(g,c)}}return b}function njb(a){sib();var b,c;if(a.j==(F7b(),z7b)||a.j==y6b&&a.e.j==z7b||a.j==W5b&&a.e.j==L4b&&(!a.e?null:a.e.e).j==L5b||a.j==L4b&&a.e.j==L5b){b=(c=Fib(a),!c?null:u2b(c,29));return!!b&&(b.a&KEc)==XEc}return false}function Qib(a){sib();var b,c,d;if(a.j!=(F7b(),Q5b))return null;
b=(c=Pib(a),!c?null:v2b(c));if(b!=null)return b;d=a.e;switch(d.j.f){case 98:case 87:case 86:case 91:return d.Lh();case 30:return Zib(d)}return null}function wqb(a,b,c,d){var e,f,g,h;f=c.b;if(!f||f.j!=(F7b(),W5b))return false;if(!!d&&d.j==(F7b(),y6b)){g=d.e;if(!!g&&g.j==(F7b(),z7b))return false}e=f.b;return Cqb(a,e)||Cqb(a,f)||(h=v2b(f),Eqb(a,h))||tqb(a,b,c)}function LHb(a,b,c){var d,e,f;if(c)e=sGb(a.a,(F7b(),h7b),b.a);else{d=gGb(a.a,b);lHb(a,b);e=sGb(a.a,(F7b(),y6b),b.a);!!d&&(f=R2b(e,e.g,29),f!=
e.g&&(e.g=f),!!d&&(e.g=new d4b(29,d,e.g)),e)}DGb(e,b.b.b,b.b.a);return e}function Oyc(a){var b,c,d;b=window.console?new jzc:null;if(!b)return;fyc();if(hBc>a.a._i())return;c=(d=a.a._i(),d>=1E3?"error":d>=900?"warn":d>=800?"info":"log");hzc(c,a.b);!!a.c&&izc(b,c,a.c,"Exception: ",true)}function mbb(a){var b;if(a.a){b=a.a.e;if(!b)return null;switch(b.j.f){case 65:case 47:case 96:return u2b(b,29);case 76:case 100:case 88:return a.a==b.b?u2b(b,29):u2b(a.a,29);case 43:return u2b(a.a,29)}}return null}function Cdb(a,
b){var c,d;ne(b.j==(F7b(),O6b)||b.j==F4b);c=Fdb(a,b.b);if(!c)return null;d=Fdb(a,b.b.d);if(!d)return null;if(Txb(c,d))return c;if(b.j==F4b)return Cyb(kyb(c,a.c.d.f),d);return Cyb(kyb(c,a.c.d.A),d)}function LGb(a,b){var c,d;if(b.j==(F7b(),l6b)){c=b.b;for(d=b.e;!!d&&d.j!=Q5b;d=d.e)if(d.j==l6b&&Vjc(d.b.Lh(),c.Lh())){a.d.hh(gZb('Duplicate label "%s"',$C(VC(AS,1),qAc,1,5,[c.Lh()])),a.r,z3b(b.i),y3b(b.i));break}}}function b9(a,b,c){var d,e;if(!L2b(c,SEc,SEc.length))return;if(W8(b,c.b)){s0(a.a,yEc,false);
e=(sib(),Iib(c,rib));d=NZb(GZb(Yjb(a.a,"$jscomp.initSymbolIterator"),$C(VC(jR,1),ZBc,7,0,[])));c2b(e.e,n3b(d,e),e);d1(a.a)}}function dib(a,b,c,d){var e,f;he(c);!a.f&&$hb(a,Mib(b),(f=(e=u2b(b,51),!e?null:e.Ig()),f==null?"":f));if(!!d&&Shb(a)!=d){a.e=b;ne(!!a.e);xnc(a.k,d);Yhb(a,d.d);!!a.g&&a.g.jh(a);bib(a,b,c);Whb(a,false)}else bib(a,b,c)}function tjb(a){sib();var b;switch(a.j.f){case 31:case 30:case 32:case 35:case 34:return true;case 92:case 19:case 79:case 22:return tjb(a.b);case 29:b=a.Lh();return Vjc(hEc,
b)||Vjc(JFc,b)||Vjc("NaN",b)}return false}function Wnb(a,b){var c,d,e,f,g,h;h=new lob(a);gib(a.a,b,h);if(h.a.a.size()!=0){d=null;for(f=(g=(new nmc(h.a.a)).a.oe().Md(),new tmc(g));f.a.Ed();){e=(c=f.a.Fd(),c.xe());d=s0(a.a,e,false)}!!d&&Znb(a,d.e,d.d);d1(a.a)}}function hJb(a,b){var c,d,e;d=eJb(a,b);if(!d)return null;e=(c=new q3b((F7b(),c5b)),c);d2b(e,d);while(JIb(a,(YJb(),GJb))){!a.o?dKb(a.j):BIb(a);pJb(a);d=eJb(a,!a.o?dKb(a.j):BIb(a));if(!d)return null;d2b(e,d)}return e}function vQb(a,b,c){var d,e;
tOb(a,(hUb(),lTb));++a.j.f;e=(Lm(),new hq);d=tQb(a);hoc(e.a,he(d));while(GQb(a,vSb)){tOb(a,vSb);d=tQb(a);!!d&&(hoc(e.a,he(d)),e)}tOb(a,qSb);--a.j.f;return new bWb(new CYb(b,a.g),c,Tm(e.a))}function tpc(a){var b,c,d,e,f;if(a==null)return iAc;f=new pwc("[","]");for(c=a,d=0,e=c.length;d<e;++d){b=c[d];!f.a?f.a=new Lkc(f.d):Ekc(f.a,f.b);Bkc(f.a,""+gV(b))}return!f.a?f.c:f.e.length==0?f.a.a:f.a.a+(""+f.e)}function v1(a){var b,c,d,e,f,g,h;f=new soc;d=new Qtc;for(h=new Poc(a);h.a<h.c.a.length;){g=Noc(h);for(c=
new Poc(g.c);c.a<c.c.a.length;){b=Noc(c);e=b.f.a;f.a[f.a.length]=b;e==null?puc(d.d,null,g):Fuc(d.e,e,g)}}return f}function Hib(a){switch(a.j.f){case 66:case 70:return a.b;case 71:return a.b?a.b.f:null;case 72:case 73:return a.j==(F7b(),O5b)?null:a.b.d;case 101:case 68:return null}throw RU(new dfb(a+" does not have a condition."));}function UPb(a,b){var c,d,e,f,g;e=qRb(a.j,0).b.b;!xOb(a,(hUb(),dTb))&&tOb(a,eTb);d=(f=qRb(a.j,0).b.b,g=uOb(a),new WVb(new CYb(f,a.g),qOb(a,g)));tOb(a,mTb);c=b?NOb(a):VPb(a);
tOb(a,rSb);return new VVb(new CYb(e,a.g),d,c)}function S5(a,b,c,d){var e,f,g;he(b);he(c);e=Rc(new Vc(String.fromCharCode(46)),b,fCc,$C(VC(AS,1),qAc,1,5,[c,RDc]));g=Yjb(a.a,e);f=GZb(g,$C(VC(jR,1),ZBc,7,0,[new q3b((F7b(),q7b))]));!!d&&f2b(f,d,f.b?f.b.f:null);return f}function y8(a,b){var c,d,e;se(b.j==(F7b(),y6b)||b.j==i7b,"Invalid node for declareVar: %s",b);d=b.Lh();e=Zob(a.d,d);if(!!e&&e.c==b)return;c=z0(a.a,a.b);!!e||A8(a,d)||!!a.d.c&&Vjc(d,PDc)?a.c.rh(a.d,d,b,c):Wob(a.d,d,b,c)}function jBb(a,b){var c,
d,e,f;f=a.a;if(f==b.a)return a;if(b.a.g!=0)for(d=(!f.d?(km(),ux(),tx):f.d).Md();d.Ed();){c=d.Fd();e=jBb(uBb(c,a.b),b);if(e)return e}if(a.a.g==0&&!!f.o)return jBb(uBb(f.o,a.b),b);return null}function FDb(a){var b,c,d;if(!a.f)return null;if(a.g==0){ne(Vjc(a.w,dEc));return EDb(a)}if(!a.a){b=(km(),new Wq);if(a.d)for(d=a.d.Md();d.Ed();){c=d.Fd();Vq(b,FDb(c.a))}a.a=yo(new Poc(Vq(b,new nmc(a.j)).a))}return a.a}function cJb(a){pJb(a);if(!JIb(a,(YJb(),FJb)))return LIb(a,(F7b(),B5b));!a.o?dKb(a.j):BIb(a);pJb(a);
if(JIb(a,XJb)&&Vjc(FCc,a.j.n)){!a.o?dKb(a.j):BIb(a);return LIb(a,(F7b(),A7b))}else return fJb(a,!a.o?dKb(a.j):BIb(a))}function eKb(a){var b,c,d;for(;;){b=aKb(a);switch(b){case 42:if((d=aKb(a),a.q[a.r++]=d,--a.b,d)!=47){_Jb(a,b);break}case -1:case 10:a.q[a.r++]=b;--a.b;a.n=(c=vkc(a.o,0,a.p),Bzc(c),c);a.p=0;return a.n;default:_Jb(a,b)}}}function WMb(){TMb();return $C(VC(sO,1),vAc,43,0,[pMb,vMb,zMb,LMb,NMb,QMb,eMb,gMb,GMb,iMb,jMb,rMb,sMb,tMb,AMb,BMb,JMb,KMb,MMb,OMb,PMb,lMb,nMb,FMb,IMb,mMb,DMb,qMb,fMb,
dMb,hMb,kMb,oMb,uMb,wMb,xMb,yMb,CMb,EMb,HMb,RMb,SMb])}function NOb(a){var b;b=(Lm(),new hq);while(FQb(a,0,(hUb(),cUb))||FQb(a,0,_Sb)||FQb(a,0,wSb)||FQb(a,0,PSb)||FQb(a,0,pSb)||FQb(a,0,XSb)||FQb(a,0,FSb)||FQb(a,0,dTb)||FQb(a,0,eTb)||FQb(a,0,KSb))fq(b,MOb(a));return Tm(b.a)}function _ac(a,b){T7b();Lac.call(this,a,b,new X8b(a,fdc(a,$C(VC(ER,1),qAc,20,0,[ndc(a,(Xcc(),Ubc)),ndc(a,Ubc),ndc(a,Ubc)])),null),null,null,true,true);this.a.b=(se(this.e==(qbc(),nbc)||this.e==obc,IIc,this),b8b(this.j))}function Ykc(){Ykc=
qV;Xkc=new Zkc("UP",0);Rkc=new Zkc("DOWN",1);Qkc=new Zkc("CEILING",2);Skc=new Zkc("FLOOR",3);Vkc=new Zkc("HALF_UP",4);Tkc=new Zkc("HALF_DOWN",5);Ukc=new Zkc("HALF_EVEN",6);Wkc=new Zkc("UNNECESSARY",7)}function rr(a,b){kr();var c,d,e,f;d=he(b.xe());f=he(b.ye());c=d;if(swc(a,c)){e=(new hnc(new fxc(a,(sxc(),rxc),d))).b.ej().Fd();throw RU(new dfb("Duplicate keys in mappings "+e.xe()+"="+e.ye()+" and "+d+"="+f));}ywc(a,d,f)}function a6(a,b){var c,d,e,f;if(a.j!=(F7b(),L5b))return null;c=a.b;if(c.j!=f5b)return null;
e=c.b;if(!L2b(e,OCc,OCc.length))return null;d=he(e.d);if(b!=null&&L2b(d,b,b.length)){f=he(d.d);return v2b(f)}else return null}function _Zb(a){switch(a.j.f){case 80:case 65:return true;case 82:case 74:case 88:case 75:case 89:case 71:case 84:case 72:case 66:case 83:case 67:case 39:case 44:case 76:case 70:case 77:return true;default:return false}}function wg(a,b){var c,d;c=a.c.remove(b);if(!c)return a.je();d=a.he();d.addAll(c);a.d-=c.size();c.clear();return ND(d,203)?Ex(d):ND(d,122)?(Gpc(),new usc(d)):
ND(d,31)?(Gpc(),new Vrc(d)):ND(d,48)?Opc(d):(Gpc(),new Iqc(d))}function X7(a,b){var c,d,e,f,g;c=G7++;f=NZb(CZb(k2b(a,false),new $3b(c)));g=NZb(CZb((se(Yjc(wEc,qkc(46))==-1,YBc,wEc),new q4b((F7b(),y6b),wEc)),new $3b(b)));e=$7(c);d=FZb($C(VC(jR,1),ZBc,7,0,[f,g,Z7()]));d2b(d,e);return d}function ejb(a){var b;if(!(a.j==(F7b(),Q5b)&&jjb(a.e)))return false;b=a.e;while(b)switch(b.j.f){case 82:return b.e.j!=Q5b;case 65:case 85:case 155:case 108:case 111:return false;default:ne(b.j==l6b);b=b.e}return false}
function Zwb(a,b){var c;_d(!(a==a.a.v||a==a.a.g));c=a.i.size();if(b<c){ne(null!=a.i.getAtIndex(b));return a.i.getAtIndex(b)}else if(b<c+a.e.size()){ne(null!=a.e.getAtIndex(b-c));return a.e.getAtIndex(b-c)}else return a.j}function Ezb(a){var b,c;if(!a||a.j!=(F7b(),R6b))return false;for(c=(!a.b?(Gpc(),Gpc(),Fpc):new k4b(a.b)).Md();c.Ed();){b=c.Fd();if(b.j==(F7b(),A7b)||b.j==h7b&&(Vjc(b.Lh(),FCc)||Vjc(b.Lh(),hEc)))return true}return false}function QGb(a){while(true)switch(a.p.f){case 6:a=a.a;continue;
case 49:a=a.b;continue;case 42:a=a.a;continue;case 43:a=a.a;continue;case 46:a=a.b;continue;case 55:a=a.b;continue;case 45:a=a.a;continue;default:return a}}function ZIb(a){var b,c,d,e,f;pJb(a);e=!a.o?dKb(a.j):BIb(a);c=a.j.g;d=cKb(a.j);f=_Ib(a,e);mJb(a,c,d,f,e==(YJb(),NJb));b=!f?null:new Z1b(f,!a.g?null:a.g.Ig());if(b){M1b(a.e,b);a.e.a.e=true;return F0b(a.e,false)}return null}function is(a){Yr();var b,c,d;b=a.Fd();if(!a.Ed())return b;d=Dkc(Ekc(new Ikc,"expected one element but was: <"),b);for(c=0;c<
4&&a.Ed();c++)Dkc((d.a+=oAc,d),a.Fd());a.Ed()&&(d.a+=", ...",d);d.a+=">";throw RU(new dfb(d.a));}function zGb(a,b){var c,d,e;e=F0b(a.f,false);!!e&&(d=R2b(b,b.g,29),d!=b.g&&(b.g=d),!!e&&(b.g=new d4b(29,e,b.g)),b);if(a.g){if(!!u2b(b,29)&&Z$b(u2b(b,29))!=null){c=W1b(a.g);o1b(c,Z$b(u2b(b,29)));a.g=F0b(c,false)}Y2b(b,a.g)}}function sHb(a,b){var c,d,e,f;f=null;c=null;e=null;while(b){e=c;c=oGb(a.a,WGb(b.b.c),FGb(a.a,b.c));z3b(c.i)==-1&&DGb(c,b.o.b,b.o.a);!!e&&e2b(e,c);if(ND(b.a,105))b=b.a;else{d=FGb(a.a,
b.a);e2b(c,d);b=null}!f&&(f=c)}return f}function UIb(a,b){var c,d,e;c=TIb(a,b);if(!c)return null;pJb(a);if(!JIb(a,(YJb(),FJb)))return c;!a.o?dKb(a.j):BIb(a);pJb(a);e=fJb(a,!a.o?dKb(a.j):BIb(a));if(!e)return null;d=LIb(a,(F7b(),m5b));d2b(d,c);d2b(d,e);return d}function yOb(a){var b;if(FQb(a,0,(hUb(),GTb))&&qRb(a.j,0).b.b.b==a.g.b){tOb(a,GTb);return}b=qRb(a.j,0).b.b.b>a.g.b;if(b||FQb(a,0,GTb)||FQb(a,0,rSb)||FQb(a,0,ESb))return;ZQb(a,"Semi-colon expected",$C(VC(AS,1),qAc,1,5,[]))}function HPb(a){var b,
c,d;d=qRb(a.j,0).b.b;c=vOb(a);b=null;if(FQb(a,0,(hUb(),RSb))&&Vjc(qRb(a.j,0).a,"as")){zOb(a,"as");b=uOb(a)}else aOb(c.a)&&XQb(a,null,dIc,$C(VC(AS,1),qAc,1,5,["as"]));return new MVb(new CYb(d,a.g),c,b)}function vg(a,b,c){var d;d=a.c.pe(b);if(!d){d=a.ie(b);if(d.add(c)){++a.d;a.c.put(b,d);return true}else throw RU(new Uhc("New Collection violated the Collection spec"));}else if(d.add(c)){++a.d;return true}else return false}function ZKb(a,b){var c;if(!CKb(a,b,(GLb(),DLb)))return false;if((ee(b.j==(F7b(),
f5b),yHc,b),o2b(b,1)).j!=h7b){a.a.ih((c=$C(VC(AS,1),qAc,1,5,["name"]),jHc+D4b(zHc,c)),a.b.Ig(),a.d,a.c);fLb(a,DLb.d);return false}return true}function pt(a,b){var c,d,e,f;f=XAc*hjc((b==null?0:rb(b))*YAc,15);c=f&a.b.length-1;e=null;for(d=a.b[c];d;e=d,d=d.a)if(d.d==f&&Wd(d.i,b)){!e?a.b[c]=d.a:e.a=d.a;jt(d.c,d.f);it(d.b,d.e);--a.f;++a.e;return true}return false}function W0(a){var b,c,d,e,f;M0(a);f=false;if(a.H.$.b){for(c=a.s.Md();c.Ed();){b=c.Fd();for(e=f2(b).Jg().Md();e.Ed();){d=e.Fd();Vtc(a.o,d)}}a.s=
afb(!a.B?new bfb(a.D):a.B,a.H.$,a.s);f=true}L0(a);f&&(u1(a.D),a.s=v1(a.D),O0(a))}function owb(a,b,c){var d,e;ne(!ywb(a,b));ne(!a.A);e=b.a.size()==1?a:wwb(a,(_d(b.a.size()!=1),new qDb(b.a.Re(0,b.a.size()-1))));e.B.isEmpty()&&(e.B=new Yuc);d=b.a.getAtIndex(b.a.size()-1);ne(!e.B.containsKey(d));e.B.put(d,c)}function Lxb(a){var b;if(a.i.a.length==0&&a.e.a.length==0&&!!a.j&&_zc==a.j.Ch()&&!!a.k&&_zc==a.k.Ch()&&!a.d&&!a.g&&a.n.isEmpty()&&xlc(a.f.c)==0)return a.a.s;b=uxb(a.a,a.i,a.e,a.j,a.k,a.d,a.g,a.f,
a.n,a.c,a.b);Xwb(b);return b}function DZ(a,b){var c;JZ(a);if(b.length==0)return;c=b.charCodeAt(0);(c==95||c==36||/[A-Z\d]/i.test(String.fromCharCode(c))||c==92)&&WZ(a.ug())?a.ig(" "):c==47&&a.ug()==47?a.ig(" "):(c==34||c==39)&&WZ(a.ug())&&a.xg();a.ig(b)}function s3b(a,b){ae(!b.e,"new child has existing parent");ae(!b.d,"new child has existing next sibling");ae(!b.f,"new child has existing previous sibling");this.j=a;this.e=null;this.b=b;b.d=null;b.f=this.b;b.e=this;this.i=-1}function o0(a,b,c,d){var e,
f;ne(!a.u);try{N0(a,b,c,d);if(a.f.c>0)return C0(a);return a2(new Q1(a))}finally{f=(a.H.nd!=(T3(),Q3)&&!!a.U&&Elb(a.U,SCc,true),new Vqb);nX(a.f);e=cV(XU(kzc()),f.a);a.H.nd!=Q3&&!!a.U&&Flb(a.U,SCc,e)}}function xub(a,b){var c,d;d=UCc.length;Vjc(b.substr(b.length-d,d),UCc)||(b+=UCc);c=wub(a,b);!a.b.b.contains(c)&&!!a.b.a&&c1(a.b.a,(kY(),new Geb(null,null,-1,-1,(cub(),_tb),null,$C(VC(FS,1),bAc,2,6,[b]))));return new zub(a.b,c)}function GGb(a,b){var c,d,e;c=FGb(a,b);if(!(c.j==(F7b(),c5b)||c.j==_6b)){if(c.j==
B5b)f3b(c,c5b);else{d=oGb(a,c5b,c);_2b(d,z3b(c.i));V2b(d,y3b(c.i));$2b(d,c.c);c=d}e=R2b(c,c.g,39);e!=c.g&&(c.g=e);c.g=new V3b(39,1,c.g)}return c}function Rcb(a,b,c){var d,e;e=null;if(!c||c.j!=(F7b(),y6b)||c.e.j==(F7b(),L4b)){e=jFc+B4(a.b.j);Vuc(a.b.b,b,e)}else if(Cgb(a.a,c.Lh(),false)){d=c.Lh();ne(d.indexOf(".")==-1);e=jFc+B4(a.b.j);Vuc(a.b.b,b,e)}else e=c.Lh();return e}function Ucb(a,b){var c,d,e;if(!F2b(b))return false;d=sDb(b);ne(!Hgb(a.a,d));c=rgb(a.a,d,false);if(!(!c?null:c.a))return false;b.j==
(F7b(),W5b)&&Tcb(!b.e?null:b.e.e);b.j==y6b?e=xgb(a.a,b.Lh()).r:e=a.a;igb(e,b);return true}function KOb(a){var b;switch(qRb(a.j,0).c.f){case 14:b=LOb(a);yOb(a);break;case 29:b=dPb(a,false,true);break;case 31:b=mPb(a);break;case 110:case 111:b=UPb(a,true);break;default:case 25:case 38:case 30:b=OOb(a);yOb(a)}return b}function EQb(a,b){var c,d,e,f;f=qRb(a.j,0).b.b;tOb(a,(hUb(),gUb));d=false;c=null;e=qRb(a.j,0).b.b.b>a.g.b;if(!(e||FQb(a,0,GTb)||FQb(a,0,rSb)||FQb(a,0,ESb))){d=!!xOb(a,KTb);LQb(a)&&(c=UOb(a,
b))}return new uYb(new CYb(f,a.g),d,c)}function S2b(a,b,c){var d,e,f;ae(!c.d,vIc);ae(!c.f,wIc);ae(!c.e,xIc);ne(b.e==a);o3b(c,b);c.e=a;e=b.d;f=b.f;d=a.b.f;if(b==f){a.b=c;a.b.f=c}else{b==a.b?a.b=c:f.d=c;b==d?a.b.f=c:e.f=c;c.f=f}c.d=e;b.d=null;b.f=null;b.e=null}function fxc(a,b,c){this.c=a;switch(b.f){case 2:if(a.a.He(null,c)<0)throw RU(new dfb("subMap: null less than "+c));break;case 1:a.a.He(null,null);break;case 3:a.a.He(c,c)}this.f=b;this.b=c;this.a=true;this.e=null;this.d=false}function B4(a){var b,
c,d;do{c=a.d;b=a.b;if(c.length==0){d=b%a.a.length;c=String.fromCharCode(a.a[d].a);b=b/a.a.length|0}while(b>0){--b;d=b%a.c.length;c+=LD(a.c[d].a);b=b/a.c.length|0}++a.b}while(J7b(c)||a.f.contains(c));return c}function pqb(){pqb=qV;oqb=new y5("JSC_STRIP_TYPE_INHERIT_ERROR",(kY(),hY),new klc("Non-strip type {0} cannot inherit from strip type {1}"));nqb=new y5("JSC_STRIP_ASSIGNMENT_ERROR",hY,new klc("Unable to strip assignment to {0}"))}function Stb(){Stb=qV;Ntb=new Ttb("MAX",0,1);Otb=new Ttb("MIN",1,
100);Ptb=new Ttb("STRICT",2,100);Ltb=new Ttb(gGc,3,50);Qtb=new Ttb("SUPPRESS_BY_WHITELIST",4,40);Rtb=new Ttb("SUPPRESS_DOC",5,20);Mtb=new Ttb("FILTER_BY_PATH",6,1)}function ICb(a,b,c,d,e,f,g){he(b);if(!c)c=(XAb(),XAb(),WAb);else if(qCb(c)||!(!d||d!=d.a.c))return a.M;!!d&&!Zg(c,fCc,false)&&(!e||!vwb(e,fCc))&&(c=ZAb(c,fCc,new cDb(null,d.a.G,null,(nDb(),mDb))));return new nCb(a,b,c,d,e,f,g)}function sac(a,b,c,d){var e,f,g,h;for(h=b.r.b.keySet().Md();h.Ed();){g=h.Fd();if(!(a.ei()||a.ci()||a.di()||ldc(a.u,
(Xcc(),kcc))==a||r9b(a)||!!a.Hi(g)))return false;e=a.Fi(g);f=o9b(b,g);if(!e.ki(f,c,d))return false}return true}function V7(a,b,c){var d;d=VZb(m$b((se(Yjc(EEc,qkc(46))==-1,YBc,EEc),new q4b((F7b(),y6b),EEc)),(se(Yjc(hEc,qkc(46))==-1,YBc,hEc),new q4b(y6b,hEc))),EZb(r$b((se(Yjc(EEc,qkc(46))==-1,YBc,EEc),new q4b(y6b,EEc)))));b2b(c,d,b);d1(a.a)}function HCb(a){var b,c,d,e,f;d=a;for(c=new Rlc((new Jlc(a.a)).a);c.b;){b=Qlc(c);f=b.ye().d;e=f.Ch()==2&&f.Dh().size()==1?is(f.Dh().Md()):null;!!e&&!wBb(e.d)&&!e.c&&
(d=ZAb(d,b.xe(),new cDb(null,pyb(f),null,(nDb(),mDb))))}return d}function nHb(a){var b,c,d,e;c=null;while(cHb(a.b)){b=Q2b(a).b.Lh();!c&&(c=new Wq);hoc(c.a,he(b))}if(c){e=yo(new Poc(c.a));e.size()==1&&e.contains(jCc)&&(e=(bGb(),aGb));d=R2b(a,a.g,48);d!=a.g&&(a.g=d);!!e&&(a.g=new d4b(48,e,a.g))}}function fjc(a){var b,c,d;if(a<0)return 0;else if(a==0)return 32;else{d=-(a>>16);b=d>>16&16;c=16-b;a=a>>b;d=a-256;b=d>>16&8;c+=b;a<<=b;d=a-4096;b=d>>16&4;c+=b;a<<=b;d=a-hFc;b=d>>16&2;c+=b;a<<=b;d=a>>14;b=d&
~(d>>1);return c+2-b}}function j$(a,b,c,d,e){var f,g;f=e==2;f&&DZ(a.c,"(");e$(a,s2b(b,61)!=0?LCc:Zzc);if(s2b(b,59)!=0){DZ(a.c,"*");c.Lh().length==0||a.c.xg()}a.Cg(c,4);g=u2b(c,81);!!g&&a.Cg(g,4);a.Cg(c.d,4);s$(a,b);a.Cg(d,4);a.c.qg(e==0);f&&DZ(a.c,")")}function Gbb(){Gbb=qV;Ebb=new Hbb("SET_FROM_GLOBAL",0);Fbb=new Hbb("SET_FROM_LOCAL",1);Dbb=new Hbb("PROTOTYPE_GET",2);zbb=new Hbb("ALIASING_GET",3);Cbb=new Hbb("DIRECT_GET",4);Abb=new Hbb("CALL_GET",5);Bbb=new Hbb("DELETE_PROP",6)}function Skb(a,b){var c,
d,e;_d(b.j==(F7b(),l6b));e=b.b?b.b.f:null;switch(e.j.f){case 83:case 82:case 72:case 73:case 70:case 71:return;default:d=(c=new q3b(c5b),c);o3b(d,e);S2b(b,e,d);e2b(d,e);Tkb(a,"LABEL normalization");return}}function LOb(a){var b,c,d,e;e=qRb(a.j,0).b.b;tOb(a,(YNb(),rNb).a);c=!!xOb(a,(hUb(),KTb));d=uOb(a);return b=rVb(wVb(qVb(tVb(sVb(uVb(new yVb((DVb(),AVb)),d),c),DOb(a)),xPb(a,1)),COb(a)),new cVb(new CYb(e,a.g))),nVb(b,new CYb(e,a.g))}function HOb(a,b){var c,d,e;e=qRb(a.j,0).b.b;d=UOb(a,b);if(GQb(a,
(hUb(),vSb))&&!FQb(a,1,JTb)){c=(Lm(),new hq);hoc(c.a,he(d));while(GQb(a,vSb)&&!FQb(a,1,JTb)){tOb(a,vSb);fq(c,UOb(a,b))}return new GUb(new CYb(e,a.g),Tm(c.a))}return d}function Cyc(a,b){var c,d,e,f,g,h,i;for(d=roc(a.a,XC(yU,TIc,268,a.a.a.length,0,1)),f=0,h=d.length;f<h;++f)Oyc(b);i=a.e?a.d:null;while(i){for(c=roc(i.a,XC(yU,TIc,268,i.a.a.length,0,1)),e=0,g=c.length;e<g;++e)Oyc(b);i=i.e?i.d:null}}function Qw(a,b){var c,d,e;if(b===a)return true;if(ND(b,385)){e=b;if(a.size()!=e.size()||a.oe().size()!=
e.oe().size())return false;for(d=e.oe().Md();d.Ed();){c=d.Fd();if(a.te(c.we())!=c.ve())return false}return true}return false}function q9b(a,b,c,d){var e,f;_d(!a.ui());_d(!b.ui());ee(b.ii(),"isStructuralSubtype should be called with structural supertype. Found %s",b);e=Lbc(c,a,b);if(e)return e.a;f=F9b(a,b,c,d);Mbc(c,a,b,f?(Rbc(),Obc):(Rbc(),Pbc));return f}function td(a,b){var c,d,e,f,g;if(b===a)return true;if(!ND(b,48))return false;g=b;if(a.size()!=g.size())return false;f=g.Md();for(d=a.Md();d.Ed();){c=
d.Fd();e=f.Fd();if(!(TD(c)===TD(e)||c!=null&&nb(c,e)))return false}return true}function $V(a,b){switch(b.j.f){case 76:case 100:case 88:IW(a,b.j,b);break;case 65:uW(a,b,true);break;case 96:iW(a,b,true),HW(b.b);break;case 151:oW(a,b);break;case 159:JW(a,b,true);break;case 154:hX(a,b);break;case 108:qW(a,b,true)}}function Icb(a){pcb();var b,c,d;b=u2b(a,51);if(!(!!b&&b.vh()))return false;c=(sib(),d=Fib(a),!d?null:u2b(d,29));if(!c||(c.a&2)==0)return false;if(a.j==(F7b(),y6b))return a.e.j==z7b&&!a.b;if(a.j==
W5b)return a.e.j==L5b;return false}function xBb(a,b){var c,d,e;e=a.a;if(e==b.a)return hBb(a,b);if(RDb(b.a))return true;if(b.a.g!=0)for(d=(!e.d?(km(),ux(),tx):e.d).Md();d.Ed();){c=d.Fd();if(xBb(uBb(c,a.b),b))return true}return a.a.g==0&&!!e.o&&xBb(uBb(e.o,a.b),b)}function sJb(a,b,c,d,e,f){var h;sIb();var g;this.j=a;this.g=d;g=e.d!=(LFb(),KFb);this.e=new V1b(g);if(b!=null){y1b(this.e,b);x1b(this.e,c)}this.a=e.a;this.k=e.f;this.f=e.d==JFb;this.b=f;this.n=(h=new q3b((F7b(),b7b)),e3b(h,this.g),h)}function fX(a,
b){var c,d,e,f;E3(a.a.v)||mX(IBc,b);NW((F7b(),o7b),b);if(!b.b)return;d=0;for(c=b.b;c;c=c.d,d++)d==0&&c.j!=h7b?tW(a,c):c.j==h7b?cX(c):(NW(p7b,c),e=H7b(c.j),e!=-1&&(f=p2b(c),e!=f&&mX(CBc+e+DBc+f,c)),tW(a,c.b),undefined)}function n0(a){a.L=new _lb(a,a.U,new jmb(a.M));a.H._==(Q2(),M2)&&Ylb(a.L,a.O);a.H.q&&(a.L.o=true);Tlb(a.L,(!a.K&&(a.K=new cvb),new soc));Xlb(a.L,a.n,a.u);if(a.f.c>0)return;a.H.pd==(Z3(),Y3)&&m1(a,a.H.hd,a.H.fd,a.H.gd,a.H.ed);a.L=null}function yCb(a){var b,c,d,e;if((new Jlc(a.g.a)).a.size()!=
1)return null;b=Qlc(new Rlc((new Jlc(a.g.a)).a));c=new rDb(b.xe());d=$xb(b.ye().d);if(!d)return c;e=yCb(d);if(!e)return c;return new qDb(Tm(gq(gq((Lm(),new hq),c.a),e.a).a))}function JHb(a,b){var c,d,e,f,g;mHb(a,b,(TMb(),yMb));f=LHb(a,b.c,false);fHb(a,f,b.b);g=lIb(a,(F7b(),j6b),b.d);c=nGb(a.a,k6b);z3b(c.i)==-1&&DGb(c,b.o.b,b.o.a);for(e=b.a.Md();e.Ed();){d=e.Fd();d2b(c,FGb(a.a,d))}return qGb(a.a,i6b,f,g,c)}function ZHb(a,b){var c,d,e,f,g;f=nGb(a.a,(F7b(),u5b));c=nGb(a.a,c5b);g=R2b(c,c.g,39);g!=c.g&&
(c.g=g);c.g=new V3b(39,1,c.g);z3b(c.i)==-1&&DGb(c,b.o.b,b.o.a);if(b.a)for(e=b.a.Md();e.Ed();){d=e.Fd();d2b(c,FGb(a.a,d))}d2b(f,c);return f}function F$(a,b,c,d,e,f,g){var h,i,j;ne(!!c.ad);j=b==0?new X$(f,c.oc,c.Yb,c.ad):new f_(c.Yb,c.ad);h=b==2?new Isb(j,g.a.c,g.a.f):new x$(j,g.a.c);d&&DZ(h.c,"/** @externs */\n");e&&DZ(h.c,"'use strict';");h.Cg(a,4);j.pg();i=j.i.a;return i}function Vjb(a,b){sib();var c,d,e,f,g,h,i;d=!(a.j==(F7b(),W5b)||a.j==V5b);c=GZb(a,$C(VC(jR,1),ZBc,7,0,[]));i=R2b(c,c.g,50);i!=
c.g&&(c.g=i);(d?1:0)!=0&&(c.g=new V3b(50,d?1:0,c.g));for(f=b,g=0,h=f.length;g<h;++g){e=f[g];d2b(c,e)}return c}function dwb(a){var b,c,d,e;b=new Mxb(a.a);for(e=a.f.Md();e.Ed();){c=e.Fd();Gxb(b,!c?a.a.G:c)}for(d=a.d.Md();d.Ed();){c=d.Fd();Cxb(b,!c?a.a.G:c)}Hxb(b,a.g);Ixb(b,!a.i?a.a.G:a.i);Bxb(b,a.c);Fxb(b,a.e);Jxb(b,a.j);zxb(b,a.b);return Lxb(b)}function gBb(a,b){var c,d,e,f,g;if(a.b.d.d.isEmpty())return CDb(a.a,b);Ekc(b,a.a.w);g=a.a.p;ne(a.b.We().containsAll(g));d=true;b.a+="<";for(f=g.Md();f.Ed();){e=
f.Fd();d?d=false:(b.a+=",",b);c=bo(a.b,e);nyb(he(c),b)}b.a+=">";return b}function quc(a,b){var c,d,e,f,g;f=b==null?0:a.b.bj(b);d=(c=a.a.get(f),c==null?[]:c);for(g=0;g<d.length;g++){e=d[g];if(a.b.aj(b,e.xe())){if(d.length==1){d.length=0;a.a[XHc](f)}else d.splice(g,1);--a.c;Fsc(a.b);return e.ye()}}return null}function cub(){cub=qV;aub=new y5("JSC_MODULE_CONFLICT",(kY(),jY),new klc("File has both goog.module and ES6 modules: {0}"));_tb=new y5("JSC_ES6_MODULE_LOAD_WARNING",jY,new klc(PFc));bub=new kub;
$tb=new eub(null,(Lm(),Lm(),Km),(null,Km))}function XHb(a,b){var c,d,e,f,g,h;g=b.a;d=WHb(a,g);h=d.Lh();if(Yjc(h,qkc(11))!=-1){f=g.b.b.c;c=g.b.a.c;f<a.a.s.length&&kkc(a.a.s,f,Ajc(a.a.s.length,c)).indexOf("\\v")!=-1&&(e=R2b(d,d.g,54),e!=d.g&&(d.g=e),d.g=new V3b(54,1,d.g))}return d}function xQb(a){var b,c,d;c=qRb(a.j,0).b.b;if(GQb(a,(hUb(),_Tb))){tOb(a,_Tb);d=uOb(a);b=(Lm(),new hq);!!d&&fq(b,d.a);while(GQb(a,tTb)){tOb(a,tTb);d=uOb(a);if(!d)break;fq(b,d.a)}return new kYb(new CYb(c,a.g),Tm(b.a))}else return yQb(a)}
function gJb(a,b){var c;if(b==(YJb(),NJb)){pJb(a);c=eJb(a,!a.o?dKb(a.j):BIb(a));if(c){pJb(a);JIb(a,TJb)?!a.o?dKb(a.j):BIb(a):(xIb(a,nHc,a.j.g,cKb(a.j)),null)}return c}else{xIb(a,"msg.jsdoc.missing.braces",a.j.g,cKb(a.j));return fJb(a,b)}}function Hdb(a,b){var c,d,e,f,g;ne(b.j==(F7b(),V5b));f=b.b;d=b.b?b.b.f:null;if(d.j==h7b){e=Idb(a,f,d.Lh());if(e)return e}g=Fdb(a,f);if(g){c=Xxb(g);if(c){e=Fdb(a,d);if(!!e&&cyb(e,c,new aEb((XAb(),XAb(),WAb))))return Yxb(g)}}return null}function jCb(a,b,c,d,e,f){var g,
h,i,j,k;for(i=c.Md();i.Ed();){h=i.Fd();j=new rDb(h);k=aCb(a,j);g=aCb(b,j);if(k.a==(nDb(),lDb)){if(!!g&&!oyb(k.d,g.d,d,e,f))return false}else if(!g||g.a==lDb||!oyb(k.d,g.d,d,e,f))return false}return true}function MGb(a,b){var c,d;if(b.j==(F7b(),Q6b)){c=b.b;for(;c;c=c.d){if(c.j!=y6b)continue;d=c.d;for(;d;d=d.d)d.j==y6b&&Vjc(c.Lh(),d.Lh())&&a.d.ih(gZb('Duplicate parameter name "%s"',$C(VC(AS,1),qAc,1,5,[c.Lh()])),a.r,z3b(b.i),y3b(b.i))}}}function Ddc(a,b){var c,d,e,f,g,h,i,j;h=false;j=new soc;for(f=
Hgc(b).Md();f.Ed();){e=f.Fd();i=e.wi(a);i!=e&&(h=true);j.a[j.a.length]=i}if(h){g=new jhc(a.e);for(d=new Poc(j);d.a<d.c.a.length;){c=Noc(d);dhc(g,c,false)}return ehc(g)}return b}function G0(a,b,c,d){var e,f,g;if(b==null)return null;g=Rxc(a.r,b);if(!g)return null;f=vA(Ypb(g),c,d+1);if(!f)return null;e=ilc().mj().mj().mj().mj().mj();Txc(a.P,e,F1(e));return WB(XB($B(YB(XB(ZB($B(new _B,f.d),f.c),f.a),f.b),e),f.a-1))}function Vnb(){Vnb=qV;Unb=new y5("JSC_INSUFFICIENT_OUTPUT_VERSION",(kY(),iY),new klc("Built-in ''{0}'' not supported in output version {1}: set --language_out to at least {2}"));
Tnb=(km(),zo($C(VC(AS,1),qAc,1,5,["goog.global.","window."])))}function opb(b){var c,d;if(b.e!=null)return;try{d=gkc(b.th(),fBc,-1);b.e=XC(XD,jBc,46,d.length,15,1);for(c=1;c<d.length;++c)b.e[c]=b.e[c-1]+d[c-1].length+1}catch(a){a=QU(a);if(ND(a,91)){b.e=XC(XD,jBc,46,1,15,1);b.e[0]=0}else throw RU(a);}}function _Qb(a,b){var c;switch(b.p.f){case 62:c=b;break;case 26:c=new lVb(b.o,(Lm(),new iy(b)));break;case 48:case 56:a.g=b.o.b;BRb(a.j,a.g.c);c=xPb(a,0);break;default:YQb(a,b,$C(VC(AS,1),qAc,1,5,[]));
c=new lVb(b.o,(Lm(),Lm(),Km))}return c}function o0b(a,b){if(!a&&!b)return true;if(!a&&!!b||!!a&&!b)return false;if(a.d==null&&b.d!=null||a.d!=null&&b.d==null)return false;return(a.d==null&&b.d==null||a.d.Mh(b.d,false,true,false,false))&&a.f==b.f&&a.e==b.e&&a.c==b.c&&a.b==b.b}function fA(a,b){var c,d,e;hA(a);switch(b.f){case 7:iA(a>0&(a&a-1)==0);case 1:case 3:return 31-fjc(a);case 0:case 2:return 32-fjc(a-1);case 5:case 4:case 6:d=fjc(a);c=-1257966797>>>d;e=31-d;return e+(~~(c-a)>>>31);default:throw RU(new Thc);
}}function gX(a,b){var c,d,e;NW((F7b(),t7b),b);d=p2b(b);(d<2||d>3)&&mX(OBc+d,b);dW(a,b.b);e=false;c=b.b.d;NW(c5b,c);EW(c);if(c.b){fW(a,c.b);e=true}if(p2b(b)==3){dW(a,b.b?b.b.f:null);e=true}e||mX("Missing catch or finally for try statement.",b)}function Rgb(a){var b,c,d,e,f,g,h;if(!a.r)return;f=a.r;e=a.q;while(f.t.j==(F7b(),Q5b)){b=false;for(h=(d=(new nmc(e.a)).a.oe().Md(),new tmc(d));h.a.Ed();){g=(c=h.a.Fd(),c.xe());if(!Cgb(f,g,false)){b=true;Vtc(f.q,g)}}if(!b)break;e=f.q;f=f.r}}function vD(a,b){var c,
d,e,f,g;b&=63;c=a.h;d=(c&rBc)!=0;d&&(c|=-1048576);if(b<22){g=c>>b;f=a.m>>b|c<<22-b;e=a.l>>b|a.m<<22-b}else if(b<44){g=d?qBc:0;f=c>>b-22;e=a.m>>b-22|c<<44-b}else{g=d?qBc:0;f=d?pBc:0;e=c>>b-44}return dD(e&pBc,f&pBc,g&qBc)}function Tdb(a,b){var c;Acb(a.c,(b.b?b.b.f:null).Lh(),b);if(Gcb(b,a.a))Mdb(a,b);else if(Jcb(b))Vdb(a,b);else if(Ejb(b)){c=R2b(b,b.g,76);c!=b.g&&(b.g=c);b.g=new V3b(76,1,b.g);Udb(a,b)}else qdb(a,b,a.a)?Ndb(a,b):Igb(a.a,b.b)?Pdb(a,b):Sdb(a,b)}function WOb(a){var b,c;c=qRb(a.j,0).b.b;
a.d=YLb(a.d,(TMb(),fMb).a);zOb(a,nCc);tOb(a,(hUb(),PSb));if(GQb(a,KTb)){ZQb(a,fIc,$C(VC(AS,1),qAc,1,5,[]));tOb(a,KTb)}b=pVb(uVb(new yVb((DVb(),AVb)),uOb(a)));APb(a,b,false);return nVb(b,new CYb(c,a.g))}function YPb(a,b){var c,d;a.d=YLb(a.d,(TMb(),nMb).a);d=qRb(a.j,0).b.b;c=(Lm(),new hq);tOb(a,(hUb(),mTb));while(QQb(a,0)||qRb(a.j,0).c==oTb){fq(c,ZPb(a,b));if(GQb(a,vSb))tOb(a,vSb);else break}tOb(a,rSb);return new _Vb(new CYb(d,a.g),Tm(c.a))}function n1b(a,b){if((a.a.a&2)!=0||o_b(a.a)||(a.a.a&lFc)!=
0||_$b(a.a)>0||(a.a.a&KEc)==SAc||k_b(a.a)||W$b(a.a)>0||Y$b(a.a)!=null||!!a.a.g||(a.a.a&KEc)==PEc||(a.a.a&KEc)==hBc||(a.a.a&KEc)==XEc)return false;else{I_b(a.a,b);a.d=true;return true}}function O1b(a,b){if(!!b&&!((a.a.a&2)!=0||o_b(a.a)||(a.a.a&lFc)!=0||_$b(a.a)>0||(a.a.a&KEc)==SAc||k_b(a.a)||W$b(a.a)>0||Y$b(a.a)!=null||!!a.a.g||(a.a.a&KEc)==PEc||(a.a.a&KEc)==hBc||(a.a.a&KEc)==XEc)&&J$b(a.a,b)){a.d=true;return true}return false}function J2b(a,b){if(!b||b.j!=a.j)return false;switch(a.j.f){case 29:return a.Lh().length!=
0&&Vjc(a.Lh(),b.Lh());case 33:case 99:return true;case 26:return Vjc((a.b?a.b.f:null).Lh(),(b.b?b.b.f:null).Lh())&&J2b(a.b,b.b);default:return false}}function Cgb(a,b,c){he(b);ne(b.indexOf(".")==-1);if(Tuc(a.o,b)||a.f.contains(b)||a.k.containsKey(b)||Tuc(a.j,b)||Vjc(xCc,b)||a.e.containsKey(b)||a.n.containsKey(b))return true;if(c)return a.u.contains(b)||!!a.c&&bwb(a.c,b)!=null;return false}function ptb(a,b,c){var d,e,f,g,h,i,j;f=otb(a);if(!a.c){h=new fib(a.a,new vtb(a),f);aib(h,b)}g=new fib(a.a,a,
f);eib(g,b,c);for(j=(e=(new nmc(a.e.a)).a.oe().Md(),new tmc(e));j.a.Ed();){i=(d=j.a.Fd(),d.xe());rtb(a.a,i);Xtc(a.e,i)}!!a.b&&xtb(a.b)}function SOb(a){var b,c,d;c=qRb(a.j,0).b.b;d=_Pb(a);while(b=qRb(a.j,0).b.b.b>a.g.b,!(b||FQb(a,0,(hUb(),GTb))||FQb(a,0,(hUb(),rSb))||FQb(a,0,(hUb(),ESb)))&&FQb(a,0,(hUb(),oTb))){tOb(a,(hUb(),oTb));tOb(a,tSb);d=new vUb(new CYb(c,a.g),d)}return d}function Vib(a){sib();var b;b=a.e;switch(b.j.f){case 47:case 48:case 49:case 50:case 51:case 52:case 53:case 54:case 55:case 56:case 59:case 57:case 58:return a.d;
case 76:case 100:case 88:case 43:return a.b;case 65:case 96:return b}return null}function vmb(a){var b,c,d;oe(a.j==(F7b(),f5b),a);b=a.b;while(b.j==i5b)b=b.b;sib();b.j==W5b||b.j==V5b||(d=R2b(a,a.g,50),d!=a.g&&(a.g=d),a.g=new V3b(50,1,a.g));b.j==y6b&&Vjc("eval",b.Lh())&&(c=R2b(b,b.g,49),c!=b.g&&(b.g=c),b.g=new V3b(49,1,b.g))}function wHb(a,b){var c,d,e,f,g,h;g=nGb(a.a,(F7b(),n5b));h=b.a.getAtIndex(0).o.b;d=b.a.getAtIndex(1).o.a;DGb(g,h,d);for(f=b.a.Md();f.Ed();){e=f.Fd();c=p2b(g);if(c<2)d2b(g,FGb(a.a,
e));else{d=e.o.a;g=pGb(a.a,n5b,g,FGb(a.a,e));DGb(g,h,d)}}return g}function kKb(a){switch(a){case 64:case 42:case 44:case 60:case 62:case 58:case 40:case 41:case 123:case 125:case 91:case 93:case 63:case 33:case 124:case 61:case -1:case 10:return false;default:return!(a<=127?a==32||a==9||a==12||a==11:a==160)}}function CPb(a,b){var c,d,e,f;zOb(a,"get");if(QQb(a,0)){e=wOb(a);tOb(a,(hUb(),nTb));tOb(a,sSb);f=COb(a);c=yPb(a);return new IVb(AOb(a,b.d),e,b.c,f,c)}else{d=iPb(a);tOb(a,(hUb(),nTb));tOb(a,sSb);
COb(a);c=yPb(a);return new UUb(AOb(a,b.d),d,b.c,c)}}function wZ(a){var b,c,d;c=null;if(a.j==(F7b(),W5b))c=(a.b?a.b.f:null).Lh();else if(a.j==y6b){d=a.Lh();b=_jc(d,qkc(36));b!=-1&&(c=d.substr(b+1))}if(c!=null)if(Vjc(c,"inherits"))return C_(),A_;else if(Vjc(c,"mixin"))return C_(),B_;return null}function qvb(){qvb=qV;ovb=new y5("JSC_INTERFACE_FUNCTION_NOT_EMPTY",(kY(),iY),new klc("interface functions must have an empty body"));pvb=new y5("JSC_INTERFACE_SHOULD_NOT_TAKE_ARGS",iY,new klc("Interface functions should not take any arguments"))}
function zQb(a){var b,c,d,e,f;d=qRb(a.j,0).b.b;if(UQb(a)){c=GOb(a);b=zQb(a);return new mYb(new CYb(d,a.g),c,b)}else return FQb(a,0,(hUb(),RSb))&&Vjc(qRb(a.j,0).a,"await")?(e=qRb(a.j,0).b.b,zOb(a,"await"),f=zQb(a),new xUb(new CYb(e,a.g),f)):AQb(a)}function cRb(a,b,c,d){var e,f,g,h,i;if(a.b.i){g=Uyc((pOb(),oOb),d);if(Qyc(g)){i=jkc(d,Ryc(g,0).length);if(Vjc(i.substr(0,29),"data:application/json;base64,")){e=sz((rz(),rz(),qz),i.substr(29));h=Tjc((f=e,glc(),f));a.b.f=h}}}fq(a.a,new HUb(d,c,b))}function eOb(){YNb();
return $C(VC(vO,1),vAc,39,0,[_Mb,aNb,bNb,eNb,fNb,hNb,iNb,jNb,kNb,pNb,qNb,rNb,sNb,vNb,wNb,DNb,JNb,MNb,NNb,ONb,QNb,SNb,TNb,UNb,VNb,WNb,cNb,dNb,lNb,mNb,nNb,uNb,LNb,tNb,xNb,ANb,FNb,GNb,HNb,INb,KNb,XNb,ENb,PNb,oNb,gNb,RNb,BNb,CNb])}function B0(a,b){switch(b.f){case 0:return UFb(),OFb;case 1:case 2:return UFb(),PFb;case 3:case 4:case 5:return UFb(),QFb;case 6:return UFb(),TFb;case 7:case 8:return UFb(),RFb;case 9:case 10:return UFb(),SFb;default:throw RU(new Xic(WCc+a.H.Vb));}}function I0(a){switch(a.F.f){case 0:return a.H.sd?
(!a.Q&&(a.Q=new Bcb(a,a.o)),a.Q):(!a.V&&(a.V=new vdc),a.V);case 1:return!a.V&&(a.V=new vdc),a.V;case 2:return!a.Q&&(a.Q=new Bcb(a,a.o)),a.Q;default:throw RU(new bC("Unhandled typechecker "+a.F));}}function pBb(a,b){var c,d;if(SDb(a.a,ZDc)&&Syc(Uyc(eBb,b))){if(a.b.d.d.isEmpty())return new cDb(null,a.a.t.G,null,(nDb(),mDb));ne(a.b.d.d.size()==1);c=is(a.b.Xe().Md());return new cDb(null,c,null,(nDb(),mDb))}d=JDb(a.a,b);return!d?null:aDb(d,a.b)}function ppb(b,c){var d,e;opb(b);if(c>b.e.length)return null;
c<1&&(c=1);e=b.e[c-1];d="";try{d=b.th()}catch(a){a=QU(a);if(ND(a,91))return null;else throw RU(a);}return Zjc(d,qkc(10),e)==-1?e>=d.length?null:kkc(d,e,d.length):kkc(d,e,Zjc(d,qkc(10),e))}function bIb(a,b){var c,d,e,f,g;g=oGb(a.a,(F7b(),t7b),GGb(a.a,b.a));c=nGb(a.a,c5b);f=false;d=b.b;if(d){z3b(c.i)==-1&&DGb(c,d.o.b,d.o.a);f=true;d2b(c,FGb(a.a,d))}d2b(g,c);e=b.c;!!e&&d2b(g,GGb(a.a,e));!f&&!!e&&z3b(c.i)==-1&&DGb(c,e.o.b,e.o.a);return g}function ywb(a,b){var c,d;if(b.a.size()==1){c=b.a.getAtIndex(0);
d=a}else{c=b.a.getAtIndex(b.a.size()-1);d=wwb(a,(_d(b.a.size()!=1),new qDb(b.a.Re(0,b.a.size()-1))));if(!d)return false}return d.B.containsKey(c)||d.D.containsKey(c)||!!Zg(d.C,c,false)}function t0b(a,b){if(!a&&!b)return true;if(!a&&!!b||!!a&&!b)return false;if(a.d==null&&b.d!=null||a.d!=null&&b.d==null)return false;return(a.d==null&&b.d==null||a.d.Mh(b.d,false,true,false,false))&&a.f==b.f&&a.e==b.e&&a.c==b.c&&a.b==b.b&&a.a==b.a}function x2(a,b,c){var d,e,f,g;if(b.j==(F7b(),f5b)){e=a.a.Wf(b,c);e&&
ywc(a.b,eDc,XBc);g=a.a.Vf(b,c);g!=null&&hoc(a.d,g);f=a.a.Uf(b,c);f!=null&&hoc(a.c,f);return}else if(!!c&&c.j!=L5b&&(sib(),!(c.j==b7b||c.j==w6b)))return;for(d=b.b;d;d=d.d)x2(a,d,b)}function ueb(){ueb=qV;teb=new y5("JSC_IMPLICITLY_NULLABLE_JSDOC",(kY(),jY),new klc("Name {0} in JSDoc is implicitly nullable, and is discouraged by the style guide.\nPlease add a '!' to make it non-nullable, or a '?' to make it explicitly nullable."))}function Hfb(a,b,c,d){var e,f;if(!c||c.j!=(F7b(),Q5b)||b==c.b){sib();
if(b.j==(F7b(),y6b)&&b.e.j==z7b)d.lh(b.Lh(),true);else if(djb(b)&&c.j!=j5b)d.lh(b.Lh(),false);else if(b.j==Q5b&&jjb(b.e)){f=b.b;d.lh(f.Lh(),true)}for(e=b.b;e;e=e.d)Hfb(a,e,b,d)}}function cjb(a){sib();switch(a.f){case 61:case 62:case 1:case 2:case 3:case 4:case 5:case 36:case 37:case 6:case 8:case 7:case 9:case 41:case 40:case 10:case 11:case 12:case 13:case 14:case 15:case 16:case 17:case 18:return true;default:return false}}function eHb(a,b){var c,d;if(b){switch(b.f){case 42:c=(z0b(),y0b);break;
case 41:c=(z0b(),x0b);break;case 40:c=(z0b(),w0b);break;default:throw RU(new Xic("Unexpected access modifier type"));}d=R2b(a,a.g,84);d!=a.g&&(a.g=d);!!c&&(a.g=new d4b(84,c,a.g))}}function izc(a,b,c,d,e){var f,g,h,i,j;gzc(d+Tz(c,c.rf()),e);hzc(b,ezc(c,c.backingJsObject));f=c.e;!!f&&izc(a,b,f,"Caused by: ",false);for(h=(c.i==null&&(c.i=XC(GS,qAc,40,0,0,1)),c.i),i=0,j=h.length;i<j;++i){g=h[i];izc(a,b,g,"Suppressed: ",false)}fzc()}function pV(a,b,c){var d=nV,h;var e=d[a];var f=e instanceof Array?e[0]:
null;if(e&&!f)_=e;else{_=(h=b&&b.prototype,!h&&(h=nV[b]),rV(h));_.kj=c;_.constructor=_;!b&&(_.lj=uV);d[a]=_}for(var g=3;g<arguments.length;++g)arguments[g].prototype=_;f&&(_.jj=f)}function Gic(a){if(a.Yi()){var b=a.c;b.Zi()?a.o="["+b.n:!b.Yi()?a.o="[L"+b.Ig()+";":a.o="["+b.Ig();a.b=b.Wi()+"[]";a.k=b.Xi()+"[]";return}var c=a.i;var d=a.d;d=d.split("/");a.o=Jic(".",[c,Jic("$",d)]);a.b=Jic(".",[c,Jic(".",d)]);a.k=d[d.length-1]}function XX(){XX=qV;WX=new y5("JSC_UNDEFINED_NAME",(kY(),jY),new klc("{0} is never defined"));
new y5("JSC_NAME_DEFINED_LATE",jY,new klc("{0} defined before its owner. {1} is defined at {2}:{3}"));VX=new y5("JSC_STRICT_MODULE_DEP_QNAME",iY,new klc(TBc))}function s8(){s8=qV;q8=new y5("JSC_INVALID_SUPER_CALL",(kY(),hY),new klc("super() not allowed except in the constructor of a subclass"));r8=new y5("JSC_INVALID_SUPER_CALL_WITH_SUGGESTION",hY,new klc("super() not allowed here. Did you mean super.{0}?"))}function wcb(a,b,c){var d,e,f;_d(b.a.f);_d(b.a.g!=0||RDb(b.a));if(!qBb(b,c))return km(),ux(),
tx;else if(Bp(a.o,b.a,c)!=null)return km(),new ly(Bp(a.o,b.a,c));f=(km(),new Wq);for(e=nBb(b).Md();e.Ed();){d=e.Fd();Vq(f,wcb(a,d,c))}return yo(new Poc(f.a))}function Bgb(a,b){var c,d;_d(F2b(b));if(b.j==(F7b(),y6b))return Cgb(a,b.Lh(),false);else if(b.j==q7b)return true;d=sDb(b);c=d.a.getAtIndex(0);if(Jgb(a,c))return ywb(wgb(a,c),(_d(d.a.size()!=1),new qDb(d.a.Re(1,d.a.size()))));return!!a.r&&Bgb(a.r,b)}function Dzb(a,b,c,d,e,f,g){var h,i,j;i=CDb(d,new Ikc).a;h=iAb(a.a);!e&&!Vjc(b,dEc)&&(e=h);!!e&&
!zDb(d,e)&&Vtc(a.i,Keb(c,bzb,$C(VC(FS,1),bAc,2,6,[i])));(d.i.a&2)!=0&&!f.isEmpty()&&Vtc(a.i,Keb(c,Tyb,$C(VC(FS,1),bAc,2,6,[i])));j=vDb(d,f);ne(j);Bxb(g,d.q)}function KCb(a,b){var c;c=a.Ch()==2&&a.Dh().size()==1?is(a.Dh().Md()):null;if(!c||!c.c||(new Jlc(c.g.a)).a.size()==0||!!c.b||zCb(c,a.e._)||zCb(c,$xb(_zb(b,b.G))))return a;if(zCb(c,b.T?b.T:b._))return a.e.q;if(zCb(c,b.X?b.X:b._))return a.e.t;return a}function NRb(a){lRb(a);while(kRb(a,a.d)&&(kRb(a,a.d)?Qjc(a.e.a,a.d):0)!=93&&!YRb(kRb(a,a.d)?Qjc(a.e.a,
a.d):0))if(!ORb(a))return false;if((kRb(a,a.d)?Qjc(a.e.a,a.d):0)!=93){tRb(a,"']' expected",$C(VC(AS,1),qAc,1,5,[]));return false}lRb(a);return true}function $W(a,b){var c,d,e,f;NW((F7b(),b7b),b);f=(d=u2b(b,51),!d?null:d.Ig());!f&&mX("Missing 'source name' annotation.",b);e=u2b(b,53);!e&&mX("Missing 'input id' annotation.",b);if(!!b.b&&b.b.j==w6b){c=p2b(b);1!=c&&mX(FBc+c,b);GW(a,b.b)}else bX(a,b.b)}function YHb(a,b){var c,d,e,f,g,h;f=b.a;g=oGb(a.a,(F7b(),h5b),FGb(a.a,f));c=nGb(a.a,c5b);h=R2b(c,c.g,
39);h!=c.g&&(c.g=h);c.g=new V3b(39,1,c.g);z3b(c.i)==-1&&DGb(c,b.o.b,b.o.a);if(b.b)for(e=b.b.Md();e.Ed();){d=e.Fd();d2b(c,FGb(a.a,d))}d2b(g,c);return g}function BQb(a,b,c){var d,e,f,g;f=qRb(a.j,0).b.b;g=null;if(FQb(a,0,(hUb(),oTb))||FQb(a,0,mTb))e=aQb(a,0);else{e=EPb(a);GQb(a,uSb)&&(g=(tOb(a,uSb),tQb(a)))}d=null;GQb(a,GSb)?d=(tOb(a,GSb),UOb(a,c)):c!=0&&EOb(a,b,e);return new qYb(new CYb(f,a.g),e,g,d)}function LRb(a){if(!$Rb(kRb(a,a.d)?Qjc(a.e.a,a.d):0)){tRb(a,"Expected regular expression first char",
$C(VC(AS,1),qAc,1,5,[]));return false}if(!MRb(a))return false;while(kRb(a,a.d)&&ZRb(kRb(a,a.d)?Qjc(a.e.a,a.d):0))if(!MRb(a))return false;return true}function XYb(a,b){var c,d,e,f;e=new Ikc;e.a+="0";if(a.b.n>0){e.a+=".";f=XC(WD,cAc,46,a.b.n,15,1);cpc(f,f.length,48);e.a+=vkc(f,0,f.length)}e.a+="E+00";c=tV(a.a);Ekc(b,ckc(c,69,101));if(a.b.i&&a.b.n==0){d=b.a.indexOf("e");b.a=kkc(b.a,0,d)+"."+jkc(b.a,d)}}function rgb(a,b,c){var d,e;if(b.a.size()==1)return sgb(a,b.a.getAtIndex(0),c);e=wgb(a,b.a.getAtIndex(0));
if(!e)return Mgb(a,Sc(new Vc("."),b.a.Md()));d=uwb(e,(_d(b.a.size()!=1),new qDb(b.a.Re(1,b.a.size()))));return d?d:Mgb(a,Sc(new Vc("."),b.a.Md()))}function eyb(a){if(0==a.Ch()||-1==a.Ch()||_zc==a.Ch()||a.Ch()==64||a.Ch()==128||a.Ch()==32||a.Ch()==256||(a.Ch()&-25)==0&&(a.Ch()&24)!=0||a.Ch()==1||a.Ch()==4&&a.Bh().size()==1||512==a.Ch()||QEc==a.Ch())return false;return!(a.Ch()==2&&a.Dh().size()==1)}function Y0b(a,b){if(!!b&&!((a.a.a&2)!=0||o_b(a.a)||(a.a.a&lFc)!=0||_$b(a.a)>0||(a.a.a&KEc)==SAc||k_b(a.a)||
W$b(a.a)>0||Y$b(a.a)!=null||!!a.a.g||(a.a.a&KEc)==PEc||(a.a.a&KEc)==hBc||(a.a.a&KEc)==XEc)){S_b(a.a,b,XEc);a.d=true;return true}else return false}function M1b(a,b){if(!!b&&!((a.a.a&2)!=0||o_b(a.a)||(a.a.a&lFc)!=0||_$b(a.a)>0||(a.a.a&KEc)==SAc||k_b(a.a)||W$b(a.a)>0||Y$b(a.a)!=null||!!a.a.g||(a.a.a&KEc)==PEc||(a.a.a&KEc)==hBc||(a.a.a&KEc)==XEc)){S_b(a.a,b,PEc);a.d=true;return true}else return false}function FZ(a,b,c){var d,e;JZ(a);d=b.charCodeAt(0);e=a.ug();(d==43||d==45)&&e==d?a.ig(" "):/[A-Z]/i.test(String.fromCharCode(d))&&
(e==95||e==36||/[A-Z\d]/i.test(String.fromCharCode(e)))?a.ig(" "):(e==45&&d==62||e==60&&d==33)&&a.ig(" ");a.lg(b,c);c&&a.wg()}function zdb(a,b,c){var d,e,f;if(b.e.j==(F7b(),c7b)){f=c.i;!!f&&_zc!=f.Ch()&&256!=f.Ch()&&Nhb(a.c.t,Keb(b,(pcb(),jcb),$C(VC(FS,1),bAc,2,6,[])))}d=c.f.size()+c.d.size();e=p2b(b.b.d);!c.g&&e!=d&&Nhb(a.c.t,Keb(b,(pcb(),ocb),$C(VC(FS,1),bAc,2,6,[""+d,""+e])))}function MDb(a,b){var c,d,e,f,g,h;if(Zg(a.j,b,false)){h=ih(Zg(a.j,b,false));d=h.c;if(!!d&&d.j==(F7b(),W5b)){e=(sib(),f=
Fib(d),!f?null:u2b(f,29));c=h.b;if(!!c&&(g=c.Ch()==2&&c.Dh().size()==1?is(c.Dh().Md()):null,!(!g?null:g.b)||!!e))return c}}return null}function EOb(a,b,c){if(b==(hUb(),wSb)){a.d=YLb(a.d,(TMb(),lMb).a);ZQb(a,"const variables must have an initializer",$C(VC(AS,1),qAc,1,5,[]))}else if(nUb(c)){a.d=YLb(a.d,(TMb(),nMb).a);ZQb(a,"destructuring must have an initializer",$C(VC(AS,1),qAc,1,5,[]))}}function gZ(){gZ=qV;new y5("JSC_REFLECT_OBJECTLIT_EXPECTED",(kY(),jY),new klc("Object literal expected as second argument"));
TZb((se(Yjc(XBc,qkc(46))==-1,YBc,XBc),new q4b((F7b(),y6b),XBc)),new q4b(h7b,"reflect"),$C(VC(jR,1),ZBc,7,0,[new q4b(h7b,"cache")]))}function ycb(a,b,c){var d,e,f,g;_d(b.e.j==(F7b(),z7b));f=b.e;g=tcb(a,u2b(f,29),c);!!f.b&&!!f.b.d&&!!g&&Nhb(a.t,Keb(f,hcb,$C(VC(FS,1),bAc,2,6,[])));e=b.Lh();d=tcb(a,u2b(b,29),c);if(d){!!g&&Nhb(a.t,Keb(b,Vbb,$C(VC(FS,1),bAc,2,6,[e])));return d}else return g}function iCb(a,b){var c,d,e,f,g,h;if(a==a.a._||b.isEmpty())return a;e=(XAb(),XAb(),WAb);for(h=new Rlc((new Jlc(a.g.a)).a);h.b;){g=
Qlc(h);f=g.xe();d=aDb(g.ye(),b);e=ZAb(e,f,d)}c=!a.b?null:dxb(a.b,b);return ICb(a.a,uBb(a.d,b),e,c,a.e,!!c&&c==c.a.s||a.c,a.f)}function vDb(a,b){var c,d,e;ne(!a.f);ne(!a.d);he(b);if(a.g!=0)for(e=b.Md();e.Ed();){c=e.Fd();if(PDb(c.a,a)){a.d=(km(),ux(),tx);return false}}for(d=b.Md();d.Ed();){c=d.Fd();QDb((ne(!c.a.f),c.a))&&(a.i=(TBb(),RBb));yDb((ne(!c.a.f),c.a),a)}a.d=b;return true}function Fcb(a){var b,c,d;if(!a||!a.c)return false;c=(sib(),d=Fib(a.a),!d?null:u2b(d,29));return!c||(c.a&64)!=0&&(b=(c.a&
KEc)==PEc&&((KEc&c.a)==PEc?c.i:null).a.j==(F7b(),Q5b),!(b||(c.a&KEc)==SAc||!!c.g||_$b(c)>0||(c.a&2)!=0||(c.a&hFc)!=0&&(c.a&KEc)!=PEc))}function Qkb(a,b){var c,d,e;ne(b.e.j==(F7b(),Q5b));d=null;c=b.b;while(!!c&&(sib(),c.j==Q5b&&jjb(c.e))){d=c;c=c.d}while(c){e=c.d;sib();if(c.j==Q5b&&jjb(c.e)){O2b(b,c);d=(!d?e2b(b,c):b2b(b,c,d),c);Tkb(a,"Move function declaration not at top of function")}c=e}}function kyb(a,b){var c,d,e,f,g;g=lyb(a,b);if(0==g.Ch()&&(e=a.Dh(),e.size()==1&&is(e.Md()).c||(f=b.Dh(),f.size()==
1&&is(f.Md()).c))){g=lyb(Sxb(a),Sxb(b));if(0!=g.Ch())return a}d=g.Dh();if(d.size()==1&&is(d.Md()).c){c=KCb(g,a.e);if(g!=c)return c}return g}function eIb(a,b){var c,d;d=ZGb(b.b.c);c=FGb(a.a,b.a);if(d==(F7b(),D6b)&&c.j==J6b){c.Oh(-c.Kh());return c}else{d==w5b&&!(c.j==W5b||c.j==V5b||c.j==y6b)&&a.a.d.hh("Invalid delete operand. Only properties can be deleted.",a.a.r,z3b(c.i),0);return oGb(a.a,d,c)}}function cQb(a,b){var c;if(FQb(a,0,(hUb(),oTb))||FQb(a,0,mTb))c=aQb(a,b);else{c=NPb(a);oUb(c)||ZQb(a,eIc,
$C(VC(AS,1),qAc,1,5,[]));b==0&&c.p!=(SXb(),VWb)&&ZQb(a,"Only an identifier or destructuring pattern is allowed here.",$C(VC(AS,1),qAc,1,5,[]))}return c}function qW(a,b,c){var d;NW((F7b(),I5b),b);if(s2b(b,64)!=0){d=p2b(b);2!=d&&mX(GBc+d,b);NW(B5b,b.b);cX(b.b.d)}else if(s2b(b,63)!=0){d=p2b(b);1!=d&&mX(FBc+d,b);tW(a,b.b)}else{d=p2b(b);(d<1||d>2)&&mX(HBc+d,b);b.b.j==K5b?sW(b.b):aX(a,b.b,c);p2b(b)==2&&cX(b.b.d)}}function q9(a,b){var c,d,e;c=a.b;e=c.d;sib();if(a.j==(F7b(),k5b)&&jjb(a.e))return new p9(a,
c.Lh(),false,c,e);else if(b.j==L4b&&b.e.j==L5b){d=v2b(b.b);if(d==null)return null;return new p9(b.e,d,true,c,e)}else return b.j==y6b?new p9(b.e,b.Lh(),true,c,e):null}function Ldb(a,b){var c,d,e,f,g,h,i;c=a.c.f._f(b);if(c==null)return;h=c.indexOf(".")!=-1?new qDb(Sm(Cf(If(new nc(46)),c))):new rDb(c);i=(d=rgb(a.a,h,false),!d?null:ND(d.c,79)?d.c:null);if(i){g=i.q;e=Lxb(Ixb(new Mxb(a.c.d),g));f=Zzb(a.c.d,e);a.c.f.Sf(i,f,g)}}function Kzb(a,b,c){var d,e;oe(!!b,"getTypedef should only be called when we know that the typedef is defined");
if(b.a==(kEb(),jEb))return;e=eEb(b);if(!e){Vtc(a.i,Keb((ne(b.a==hEb),b.c).a,Pyb,$C(VC(FS,1),bAc,2,6,[])));d=a.a.G}else d=Bzb(a,e,c,null);fEb(b,d)}function w3b(a,b,c,d,e){_d(!b.e);_d(!b.d);_d(!b.f);_d(!c.e);_d(!c.d);_d(!c.f);_d(!d.e);_d(!d.d);_d(!d.f);_d(!e.e);_d(!e.d);_d(!e.f);this.j=a;this.e=null;this.b=b;b.d=c;b.f=e;b.e=this;c.d=d;c.f=b;c.e=this;d.d=e;d.f=c;d.e=this;e.d=null;e.f=d;e.e=this;this.i=-1}function D4b(b,c){var d,e,f;awc();f=(kwc(),nwc(CIc));try{d=lwc(f,b)}catch(a){a=QU(a);if(ND(a,343))throw RU(new bC("no message resource found for message property "+
b));else throw RU(a);}e=new klc(d);return c!=null?llc(e.a,c):llc(e.a,$C(VC(AS,1),qAc,1,5,[c]))}function Hu(a,b){var c,d,e;if(TD(b)===TD(he(a)))return true;if(!ND(b,48))return false;d=b;e=a.size();if(e!=d.size())return false;if(ND(d,76)){for(c=0;c<e;c++)if(!Wd(a.getAtIndex(c),d.getAtIndex(c)))return false;return true}else return ds(a.Md(),d.Md())}function cbb(a,b,c,d){var e,f,g,h,i;if(ebb(a,b,c,d))return;h=Zab(a,d);i=new xbb(b,(g=(Gbb(),Fbb),++a.a.b,g));ibb(h,i);if(c.j==(F7b(),L4b)&&c.e.j!=L5b){e=
new xbb(b,(f=zbb,++a.a.b,f));ibb(h,e);_d((i.b==zbb||e.b==zbb)&&(i.b==Ebb||i.b==Fbb||e.b==Ebb||e.b==Fbb))}}function nwc(a){kwc();var b,c,d;if(Vjc(CIc,a))d="rhino/Messages.properties";else if(Vjc(xHc,a))d="parsing/ParserConfig.properties";else throw RU(new bC("ResourceBundle not available: "+a));b=qlc(jwc,d);if(!b){c=Jnb(d);b=new mwc(seb(c));tlc(jwc,d,b)}return b}function Slb(){Slb=qV;Rlb=Nyc((qic(SL),SL.o));Qlb=(Lm(),new px(bn($C(VC(AS,1),qAc,1,5,[kDc,lDc,"deadAssignmentsElimination",hDc,pDc,oDc,nDc,
"peepholeOptimizations","minimizeExitPoints","removeUnreachableCode"]))));Plb=new px(bn($C(VC(AS,1),qAc,1,5,[iDc,jDc])))}function Kl(a){var b,c,d,e,f,g,h;if(a.d==0)return Tl(),Sl;b=new qq((g=a.f,!g?a.f=new Ch(a,a.c):g).size());h=0;for(d=(f=a.f,vh(!f?a.f=new Ch(a,a.c):f)).Md();d.Ed();){c=d.Fd();e=Tm(c.ye());if(!e.isEmpty()){mq(b,c.xe(),e);h+=e.size()}}return new Il(Nn(b.b),h)}function blc(a){vzc(a!=null,"Null charset name");a=a.toLocaleUpperCase();if(Vjc((ozc(),lzc).a,a))return lzc;else if(Vjc(mzc.a,
a))return mzc;else if(Vjc(nzc.a,a))return nzc;if(/^[A-Za-z0-9][\w-:\.\+]*$/.test(a))throw RU(new hlc(a));else throw RU(new elc(a));}function nPb(a){var b,c,d,e,f;d=AOb(a,qRb(a.j,0).b.b);b=null;e=(Lm(),new hq);while(f=qRb(a.j,0).c,Atc(wtc((hUb(),RSb),$C(VC(EO,1),vAc,13,0,[$Tb,zSb,dTb,eTb])),f)||!a.b.b&&bOb(f)){c=EPb(a).a;b=new WXb(d,c,null);hoc(e.a,he(b));GQb(a,rSb)||tOb(a,vSb)}return Tm(e.a)}function q$(a,b,c){var d,e,f,g,h,i;h=0;d=0;for(f=0;f<b.length;f++)switch(b.charCodeAt(f)){case 34:++d;break;
case 39:++h}if(a.f?h<=d:h<d){g=39;e='"';i="\\'"}else{g=34;e='\\"';i="'"}return String.fromCharCode(g)+u$(a,b,e,i,"`",aAc,c,false)+String.fromCharCode(g)}function Eyb(a,b,c,d,e){Rxb();he(e).isEmpty()?b&=-5:b|=4;he(c).isEmpty()?b&=-3:b|=2;if(c.isEmpty()&&e.isEmpty()&&d==null&&(b&1)==0)return Dyb(a,b);if(!Byb(c))return a.b;if(b==2)return new VCb(a,c);if(b==34)return new JBb(a,c);return new nEb(a,b,c,d,e)}function ggb(a){var b,c;c=(Hub(),AFc+dkc(ckc(ckc(ckc(ckc(ckc(dkc(ekc(Jub((b=dkc(dkc(dkc(dkc(dkc(ckc(ckc(a,
58,45),92,47)," ",iEc),"[",jEc),"]",kEc),"<",lEc),">",mEc),Iub(b))),nEc+Xyc("/"),""),"/","$"),92,36),64,36),45,95),58,95),46,95),iEc,"_"));return new fgb(c,c)}function ojb(a,b){sib();var c,d;if(!a||!b)return!a&&!b;if(!a.Mh(b,false,false,false,false))return false;if(p2b(a)!=p2b(b))return false;d=a.b;c=b.b;while(!!d&&!!c){if(d.j==(F7b(),Q5b)||d.j==b7b)return c.j==d.j;if(!ojb(d,c))return false;d=d.d;c=c.d}return true}function ddb(a,b){var c,d,e,f;ne(F2b(b));e=R2b(b,b.g,76);e!=b.g&&(b.g=e);b.g=new V3b(76,
1,b.g);!!Vib(b)&&Nhb(a.b.t,Keb(b,(pcb(),Obb),$C(VC(FS,1),bAc,2,6,[])));if(Bgb(a.a,b))return;c=(sib(),d=Fib(b),!d?null:u2b(d,29));f=new gEb((KEc&c.a)==hBc?c.i:null);ogb(a.a,b,f)}function nEb(a,b,c,d,e){syb.call(this,a);this.a=he(e);this.c=he(c);d!=null&&(b|=1);this.d=d;this.b=b;if(!fyb(this))throw RU(new Xic(gZb("Cannot create type with bits <<<%x>>>, objs <<<%s>>>, typeVar <<<%s>>>, enums <<<%s>>>",$C(VC(AS,1),qAc,1,5,[kjc(b),c,d,e]))));}function Fkb(a,b,c){var d,e,f,g,h;hib(a.b,new Vkb(a.b,a.a),
b,c);e=new Jfb;hib(a.b,e,b,c);f=new elb;g=new E8(a.b,new Kkb(a));h=new fib(a.b,f,g);eib(h,b,c);$kb(new _kb(a.b,a.a),b,c);d=new Mkb;gib(a.b,c,d);d.a.a.size()==0||gib(a.b,c,new clb(a,d.a));AV(a.b.Y)||(a.b.Y=1)}function Zub(){j0();new Qtc;this.q=new Yuc;this.v=(C3(),q3);this.I=new G1;this.P=new Uxc;this.r=new Uxc;new Qtc;this.d=new Ikc;this.e=new hZ;this.o=new Ytc;this.F=(EV(),BV);this.G=(Cob(),new Iob(this));this.O=new O1;this.N=new Anb;this.a=new soc;mx();k0(this,this.N)}function lHb(a,b){var c,d;
c=b.a;d=false;if(J7b(c)){a.a.e=YLb(a.a.e,(TMb(),pMb).a);d=a.a.a.c==(UFb(),OFb)}if(!!a.a.o&&a.a.o.contains(c)){a.a.e=YLb(a.a.e,(TMb(),zMb).a);d=a.a.a.c==(UFb(),OFb)}d&&a.a.d.hh("identifier is a reserved word",a.a.r,(bGb(),b.b.b.b+1),b.b.b.a)}function Izc(a,b){var c,d,e,f;a=a;c=new Jkc;f=0;d=0;while(d<b.length){e=a.indexOf("%s",f);if(e==-1)break;Ekc(c,a.substr(f,e-f));Dkc(c,b[d++]);f=e+2}Ekc(c,a.substr(f));if(d<b.length){c.a+=" [";Dkc(c,b[d++]);while(d<b.length){c.a+=oAc;Dkc(c,b[d++])}c.a+="]"}return c.a}
function xe(a,b){var c,d,e,f;a=a;c=new Jkc;f=0;d=0;while(d<b.length){e=a.indexOf("%s",f);if(e==-1)break;c.a+=""+a.substr(f,e-f);Dkc(c,b[d++]);f=e+2}Ckc(c,a,f,a.length);if(d<b.length){c.a+=" [";Dkc(c,b[d++]);while(d<b.length){c.a+=oAc;Dkc(c,b[d++])}c.a+="]"}return c.a}function yA(a,b){var c;if(b.i!=3)throw RU(new OB("Unknown version: "+b.i));c=b.b;if(c!=null&&c.length==0)throw RU(new OB("File entry is empty"));if(b.f){AA(a,b,null);return}a.b=b.c;a.e=b.g;a.d=b.e;a.b>=0?a.c=new toc(a.b):a.c=new soc;
$g(a.a,b.a);FA(new KA(a,b.d))}function lD(a){var b,c,d;c=a.l;if((c&c-1)!=0)return-1;d=a.m;if((d&d-1)!=0)return-1;b=a.h;if((b&b-1)!=0)return-1;if(b==0&&d==0&&c==0)return-1;if(b==0&&d==0&&c!=0)return gjc(c);if(b==0&&d!=0&&c==0)return gjc(d)+22;if(b!=0&&d==0&&c==0)return gjc(b)+44;return-1}function _W(a){var b,c,d;NW((F7b(),f7b),a);c=H7b(a.j);c!=-1&&(b=p2b(a),c!=b&&mX(CBc+c+DBc+b,a));d=a.e;switch(d.j.f){case 28:case 23:a==d.b&&mX("SPREAD node is not callable.",a);break;case 42:break;default:mX("SPREAD node should not be the child of a "+
d.j+" node.",a)}}function Scb(a,b){var c,d,e,f;f=Vib(b);if(!f||!F2b(f))return false;d=(sib(),e=Fib(b),!e?null:u2b(e,29));return!d?(c=u2b(b,51),(!!c&&c.vh()||b.j==(F7b(),W5b)&&Igb(a.a,b.b))&&(b.e.j==(F7b(),z7b)||b.j!=y6b)&&Igb(a.a,f)):(d.a&2)!=0||(d.a&512)!=0||(d.a&NDc)!=0||(d.a&1)!=0}function hIb(a,b){var c,d,e,f;switch(b.a.f){case 30:jHb(a,b,(TMb(),lMb));e=(F7b(),p5b);break;case 38:jHb(a,b,(TMb(),AMb));e=(F7b(),q6b);break;case 25:e=(F7b(),z7b);break;default:throw RU(new Wic);}f=nGb(a.a,e);for(d=
b.b.Md();d.Ed();){c=d.Fd();d2b(f,HGb(a.a,c))}return f}function wib(a,b,c){sib();var d;switch(a.j.f){case 102:case 28:case 23:return true;case 29:return!gjb(a,c)&&!b.contains(a.Lh());case 26:case 27:return true;case 65:ne(a.j==(F7b(),Q5b)&&!Kjb(a.e));return false}for(d=a.b;d;d=d.d)if(wib(d,b,c))return true;return false}function Nvb(){Nvb=qV;Lvb=new y5("JSC_PRIMITIVE_OBJECT",(kY(),jY),new klc("Explicit creation of a {0} object."));Mvb=new y5("JSC_PRIMITIVE_OBJECT_DECLARATION",jY,new klc("Declaration of {0} object instead of primitive type."));
km();zo($C(VC(AS,1),qAc,1,5,[$Dc,aEc,lBc]))}function uxb(a,b,c,d,e,f,g,h,i,j,k){var l;!b&&(b=(Lm(),Lm(),Km));!c&&(c=(Lm(),Lm(),Km));!h&&(h=(mx(),lx));!i&&(i=(Lm(),Lm(),Km));if(d)for(l=c.size()-1;l>=0;l--)if(Txb(d,c.getAtIndex(l)))c.removeAtIndex(l);else break;return new jxb(a,Tm(b),Tm(c),d,e,f,g,Hn(h),i,j,k)}function fyb(a){if(_zc==a.b||-1==a.b)return true;if((a.b&2)!=0&&he(a.c).isEmpty())return false;if((a.b&2)==0&&!he(a.c).isEmpty())return false;if((a.b&4)!=0&&he(a.a).isEmpty())return false;if((a.b&
4)==0&&!he(a.a).isEmpty())return false;return(a.b&1)!=0==(a.d!=null)}function GKb(a,b){var c;if(b.j!=(F7b(),y6b)&&b.j!=h7b){a.a.ih((c=$C(VC(AS,1),qAc,1,5,[$zc]),jHc+D4b(zHc,c)),a.b.Ig(),a.d,a.c);return false}if(b.Lh().length==0){a.a.ih((c=$C(VC(AS,1),qAc,1,5,["string parameter"]),jHc+D4b(zHc,c)),a.b.Ig(),a.d,a.c);return false}return true}function l0b(a,b,c,d,e){if(b>d)throw RU(new Xic("Recorded bad position information\nstart-line: "+b+fBc+"end-line: "+d));else if(b==d&&c>=e)throw RU(new Xic("Recorded bad position information\nline: "+
b+fBc+"start-char: "+c+fBc+"end-char: "+e));a.f=b;a.e=c;a.c=d;a.b=e}function V8(a){var b,c,d,e;d=u2b(a,29);if(d){c=a.j==(F7b(),X5b)||s2b(a,73)!=0;if(c&&!!((KEc&d.a)==SAc?d.i:null))return(KEc&d.a)==SAc?d.i:null;else{e=b_b(d);if(e.size()==1)return c_b(d,is(b_b(d).Md()))}}return new Z1b(new q3b((F7b(),V6b)),(b=u2b(a,51),!b?null:b.Ig()))}function Kcb(a){pcb();var b,c;sib();if(a.j==(F7b(),L5b)&&a.b.j==L4b&&Jcb(a.b.b))return true;if(a.j==L6b){c=a.e;if(c.j==L4b&&c.e.j==L5b&&c.b.j==W5b&&Vjc(t2b(c.b).Lh(),
fCc))return true;b=u2b(a,29);return!!b&&(!b.d?null:b.d.g)!=null&&Ujc(!b.d?null:b.d.g,fCc)}return false}function odb(a,b){var c,d,e;d=(sib(),e=Fib(b),!e?null:u2b(e,29));if(!!d&&(d.a&KEc)==PEc&&(c=(d.a&KEc)==PEc&&((KEc&d.a)==PEc?d.i:null).a.j==(F7b(),Q5b),!(c||(d.a&KEc)==SAc||!!d.g||_$b(d)>0||(d.a&2)!=0||(d.a&hFc)!=0&&(d.a&KEc)!=PEc)))return false;return Igb(a.a,b)||Njb(b)}function hrb(a,b,c){grb();var d,e,f,g,h,i,j,k,l;if(E3(a.H.Vb))for(j=(!b.b?(Gpc(),Gpc(),Fpc):new k4b(b.b)).Md();j.Ed();){i=j.Fd();
h=u2b(i,89);if(!!h&&(l=ZLb(h),!Vjc(l,fDc)&&!Vjc(l,"es5")))for(e=c,f=0,g=e.length;f<g;++f){d=e[f];Phb();k=new fib(a,d,new D8(a));aib(k,i)}}}function Mwb(a,b){var c,d,e,f,g;g=false;for(f=a.Md();f.Ed();){d=f.Fd();if(cyb(d.a,b,new aEb((XAb(),XAb(),WAb)))){g=true;break}}if(!g)return a;c=(km(),new Wq);for(e=a.Md();e.Ed();){d=e.Fd();cyb(d.a,b,new aEb((XAb(),XAb(),WAb)))||(hoc(c.a,he(d)),c)}return yo(new Poc(c.a))}function nzb(a,b,c,d,e,f,g,h){var i,j;i=h||c.j!=(F7b(),Q5b)?null:u2b(c.b,29);j=!b?null:(KEc&
b.a)==SAc?b.i:null;if(d.j==(F7b(),c7b)&&!j)Ixb(g,a.a.B);else if(i){Ixb(g,pzb(a,i,f,e));!!j&&Vtc(a.i,Keb(c,gzb,$C(VC(FS,1),bAc,2,6,["the return type"])))}else Ixb(g,Bzb(a,j,f,e))}function $ab(a,b){var c,d,e;if(!b)return ubb(),sbb;switch(b.j.f){case 96:return ubb(),obb;case 43:return ubb(),rbb;case 65:return ubb(),pbb;case 61:return $ab(a,b.b?b.b.f:null);case 60:c=b.b.d;d=$ab(a,c);if(d!=(ubb(),sbb))return d;e=c.d;return $ab(a,e)}return ubb(),sbb}function sAb(a,b){var c;c=b.r;a.O=b;a._=$xb(b.q);a.R=
ICb(a,c,(XAb(),XAb(),WAb),null,null,true,(TBb(),RBb));a.$=wyb(a._);wyb(ICb(a,c,(null,WAb),null,null,false,QBb));a.Z=wyb(ICb(a,c,(null,WAb),null,null,false,PBb));a.M=new nCb(a,!a.O?null:a.O.r,he(a.d),null,null,false,RBb)}function _Ib(a,b){var c,d;c=false;if(b==(YJb(),HJb)){b=!a.o?dKb(a.j):BIb(a);if(b==TJb){a.o=b;return rJb(a,(F7b(),A5b),new q3b(B5b))}c=true}d=eJb(a,b);if(d){pJb(a);if(c)d=rJb(a,(F7b(),A5b),d);else if(JIb(a,LJb)){!a.o?dKb(a.j):BIb(a);pJb(a);d=rJb(a,(F7b(),G5b),d)}}return d}function nmb(a,
b){var c,d,e,f;if(hjb(b)&&b.j!=(F7b(),l6b)&&b.j!=(F7b(),m7b))for(d=b.b;d;d=d.d)if(ijb(b,d)&&!(d.j==(F7b(),c5b)||d.j==_6b)){e=m3b((c=new q3b((F7b(),c5b)),c),b);S2b(b,d,e);f=R2b(e,e.g,39);f!=e.g&&(e.g=f);e.g=new V3b(39,1,e.g);d.j==B5b||h2b(e,d);d=e;qmb(a)}}function cLb(a,b){var c,d,e;if(!CKb(a,b,(GLb(),ELb)))return false;e=(ee(b.j==(F7b(),f5b),yHc,b),p2b(b)-1);for(d=0;d<e;d++)if(!_Kb(a,(ee(b.j==f5b,yHc,b),o2b(b,d+1)))){a.a.ih((c=$C(VC(AS,1),qAc,1,5,["union type"]),jHc+D4b(CHc,c)),a.b.Ig(),a.d,a.c);
return false}return true}function scb(a,b,c){var d,e;_d(b.e.j==(F7b(),f5b));if(b.j==q7b||b.j!=Q5b&&!F2b(b))return null;if(b.j==Q5b)return xgb(c,ucb(a,b)).c;ne(F2b(b));d=rgb(c,sDb(b),false);if(!d)return null;if(d.a)return d.a.c;if(d.d){e=Vxb(d.d);if(!!e&&e.n.isEmpty())return gxb(e)}return null}function wdb(a,b,c){var d;if(b.g!=0&&!!c){d=a.c.f.Xf();c.j==(F7b(),Q5b)&&(sib(),!(c.j==Q5b&&!Kjb(c.e)&&ljb(c.b?c.b.f:null)))?Nhb(a.c.t,Keb(c,(pcb(),_bb),$C(VC(FS,1),bAc,2,6,[]))):c.j!=Q5b&&!(d!=null&&L2b(c,d,
d.length))&&Nhb(a.c.t,Keb(c,(pcb(),bcb),$C(VC(FS,1),bAc,2,6,[])))}}function web(){web=qV;veb=new y5("JSC_J2CL_REFERENCE_EQUALITY",(kY(),jY),new klc("Reference equality may not be used with the specified type: {0}"));new sx($C(VC(gU,1),MAc,58,0,[(bl(pFc,qFc),zv(),new Xp(pFc,qFc)),(bl(rFc,sFc),new Xp(rFc,sFc)),(bl(tFc,uFc),new Xp(tFc,uFc))]))}function Ukb(a,b){var c,d,e,f;for(c=b.b;c;c=f){f=c.d;sib();if(!!c&&(c.j==(F7b(),z7b)||c.j==q6b||c.j==p5b)){if(a.a&&!c.b)throw RU(new Xic("Empty VAR node."));while(c.b!=
(c.b?c.b.f:null)){d=c.b;O2b(c,d);e=m3b(new s3b(c.j,d),b);c2b(b,e,c);Tkb(a,"VAR with multiple children")}}}}function oCb(a,b,c,d,e){var f,g,h;h=d.d;f=a?new cDb(d.c,kyb(d.d,e.d),d.b,hDb(d.a,e.a)):new cDb(d.c==e.c?d.c:null,Fyb(d.d,e.d),null,hDb(d.a,e.a));g=f.d;if(0==g.Ch())return g.e.d;if(_zc!=g.Ch()&&cyb(g,h,new aEb((XAb(),XAb(),WAb)))&&!Txb(g,h))return ZAb(b,c,f);return $Ab(b,c)}function wPb(a,b,c){var d,e,f;!c&&(c=new ZVb(AOb(a,qRb(a.j,0).b.b)));tOb(a,(hUb(),GTb));GQb(a,GTb)?e=new ZVb(AOb(a,qRb(a.j,
0).b.b)):e=HOb(a,1);tOb(a,GTb);GQb(a,sSb)?f=new ZVb(AOb(a,qRb(a.j,0).b.b)):f=HOb(a,1);tOb(a,sSb);d=nQb(a);return new kVb(new CYb(b,a.g),c,e,f,d)}function Lac(a,b,c,d,e,f,g){T7b();cac.call(this,a,b,ndc(a,(Xcc(),gcc)),g,e);this.c=(Lm(),Lm(),Km);this.b=(null,Km);this.q=true;_d(true);he(c);this.g=null;if(f){this.e=(qbc(),nbc);this.j=d?d:new tbc(a,this,g)}else{this.e=(qbc(),pbc);this.j=d?d:ndc(a,Tcc)}this.a=c;this.d=false}function M9(a){var b,c;this.f=new soc;this.b=a;this.c=new Qtc;this.g=(b=new q3b((F7b(),
b7b)),b);this.a=new Ytc;this.i=new Qtc;this.e=new soc;this.d=new soc;c=u0(this.b);hoc(this.e,c.$f());hoc(this.d,c.Zf());hoc(this.e,"google_exportSymbol");hoc(this.d,"google_exportProperty")}function UHb(a,b){var c,d,e,f,g,h,i,j,k;i=b.a;f=tGb(a.a,(j=i.a,k=_jc(j,qkc(47)),j.substr(1,k-1)));DGb(f,i.b.b,i.b.a);g=oGb(a.a,(F7b(),X6b),f);h=i.a;e=_jc(h,qkc(47));c="";e<h.length&&(c=h.substr(e+1));oIb(a,b,c);if(c.length!=0){d=tGb(a.a,c);DGb(d,i.b.b,i.b.a);d2b(g,d)}return g}function HKb(a){var b,c,d,e,f;d=new GFb(new Ytc,
new Ytc,(UFb(),QFb),1);f=vKb(a.b,a.f,d,a.a);c=f.a;if(c.j!=(F7b(),b7b)||c.b.j!=L5b){a.a.ih((b=$C(VC(AS,1),qAc,1,5,[AHc]),jHc+D4b(BHc,b)),a.b.Ig(),a.d,a.c);return false}e=c.b.b;if(!_Kb(a,e))return false;DKb(a,e);a.e=e;return true}function MQb(b){var c;if(b.b.c&&GQb(b,(hUb(),nTb))||GQb(b,(hUb(),lTb))){c=new bRb(b.b,new vYb,b.j.e,hRb(b.j),Hzc(Gnc(b.e)));try{DOb(c);xPb(c,2);GQb(c,(hUb(),uSb))&&(tOb(c,uSb),tQb(c));return GQb(c,gSb)}catch(a){a=QU(a);if(ND(a,381))return false;else throw RU(a);}}return false}
function Alb(a){var b,c,d,e,f;f=new Qtc;for(d=new Poc(a.w);d.a<d.c.a.length;){c=Noc(d);e=c.j;b=e==null?ih(ouc(f.d,null)):Euc(f.e,e);if(!b){b=new Klb(e,c.i);e==null?puc(f.d,null,b):Fuc(f.e,e,b)}b.n=SU(b.n,c.n);b.a=zjc(b.a,c.a);++b.k;b.d+=c.d;b.b+=c.b;b.e+=c.e;b.f+=c.f}a.I=Hn(f)}function ZGb(a){bGb();switch(a.f){case 76:return F7b(),G6b;case 77:return F7b(),_4b;case 63:return F7b(),U6b;case 64:return F7b(),D6b;case 9:return F7b(),w5b;case 24:return F7b(),u7b;case 26:return F7b(),A7b;default:throw RU(new Xic(!a?
iAc:a.a==null?(YNb(),bo(zNb,a)).b:a.a));}}function rD(a){var b,c,d,e,f;if(isNaN(a))return GD(),FD;if(a<-9223372036854775808)return GD(),DD;if(a>=0x7fffffffffffffff)return GD(),CD;e=false;if(a<0){e=true;a=-a}d=0;if(a>=tBc){d=UD(a/tBc);a-=d*tBc}c=0;if(a>=sBc){c=UD(a/sBc);a-=c*sBc}b=UD(a);f=dD(b,c,d);e&&jD(f);return f}function v0(a){var b,c,d,e,f,g,h;f=a.H.pb;if(f.a.a.isEmpty())return a2(new V1(a));else{b=new Ikc;for(e=qs(new Yqc(f.a.b.Md()));e.Ed();){d=e.Fd();g=D0(a,d);h=g?(c=u2b(g,51),"// "+(!c?null:
c.Ig())+fBc+(!a.H&&Q0(a,new J2),q1(a,g,true))):"File '"+d+"' not found";b.a+=h}return b.a}}function t6(a,b,c){var d;d=b.b.j==(F7b(),B5b);sib();if(b.j==k5b&&jjb(b.e)||d&&c.j==y6b||d&&c.j==L4b&&c.e.j==L5b)return false;if(xib(b,false,null)||r9(a.c,b)!=1){c1(a.b,Keb(b,(Q8(),L8),$C(VC(FS,1),bAc,2,6,["class expression that cannot be extracted"])));return false}return true}function ijb(a,b){sib();switch(a.j.f){case 71:return a.b==b;case 44:return a.b==b||(a.b?a.b.f:null)==b;case 72:case 73:case 101:case 70:case 83:case 77:case 78:return(a.b?
a.b.f:null)==b;case 66:case 67:case 68:return a.b!=b;case 69:return true;default:ne(hjb(a));return false}}function tdb(a,b){var c,d,e;d=(sib(),e=Fib(b),!e?null:u2b(e,29));if(!!d&&(c=(d.a&KEc)==PEc&&((KEc&d.a)==PEc?d.i:null).a.j==(F7b(),Q5b),c||(d.a&KEc)==SAc||!!d.g||_$b(d)>0||(d.a&2)!=0||(d.a&hFc)!=0&&(d.a&KEc)!=PEc))return null;if(zcb(a.c,b)&&!xdb(a,b))return ndb(a,b);return null}function Kac(a,b,c){var d,e,f,g,h;e=null;if(S8b(a.a,b.a,0,new Kbc(true)))e=a.a.a;else return null;f=c?a.a.b.Xh(b.a.b):
a.a.b.Wh(b.a.b);h=null;if(n8b(a.j,b.j))h=a.j;else{d=c?a.j.Xh(b.j):a.j.Wh(b.j);h=d}g=a.a.c||b.a.c;return new Lac(a.u,null,new Y8b(a.u,e,f,g),h,null,false,false)}function Zcc(){Xcc();return $C(VC(BR,1),vAc,30,0,[Wbc,Vbc,Zbc,Ybc,Xbc,$bc,acc,_bc,bcc,ccc,dcc,ecc,fcc,gcc,hcc,occ,ucc,rcc,qcc,Acc,wcc,zcc,Bcc,Ccc,Dcc,Ecc,Gcc,Fcc,Icc,Hcc,Jcc,Lcc,Mcc,Pcc,Qcc,Tcc,Ucc,Vcc,Wcc,Ncc,Kcc,vcc,Ubc,ncc,lcc,mcc,icc,Rcc,Scc,kcc,jcc,pcc,xcc,ycc,tcc,scc,Occ])}function bHb(a,b,c,d){var e,f;H2b(d)||a.a.d.hh(gZb("Invalid %s %s operand.",
$C(VC(AS,1),qAc,1,5,[c?"postfix":"prefix",b==(F7b(),f6b)?"increment":"decrement"])),a.a.r,z3b(d.i),y3b(d.i));e=oGb(a.a,b,d);f=R2b(e,e.g,32);f!=e.g&&(e.g=f);(c?1:0)!=0&&(e.g=new V3b(32,c?1:0,e.g));return e}function POb(a){var b,c;c=qRb(a.j,0).b.b;b=(Lm(),new hq);tOb(a,(hUb(),nTb));while(FQb(a,0,JTb)||LQb(a)){fq(b,VOb(a));if(!GQb(a,sSb)){tOb(a,vSb);GQb(a,sSb)&&ZQb(a,"Invalid trailing comma in arguments list",$C(VC(AS,1),qAc,1,5,[]))}}tOb(a,sSb);return new sUb(new CYb(c,a.g),Tm(b.a))}function pPb(a){var b,
c,d,e;e=qRb(a.j,0).b.b;b=zQb(a);if(GQb(a,(hUb(),MTb))){b.p==(SXb(),JXb)&&ZQb(a,"Unary operator '%s' requires parentheses before '**'",$C(VC(AS,1),qAc,1,5,[b.b]));a.d=YLb(a.d,(TMb(),qMb).a);c=GOb(a);d=pPb(a);return new yUb(new CYb(e,a.g),b,c,d)}else return b}function wB(a,b){var c,d,e,f,g,h,i;g=new Pnc;for(d=new Poc(a.c.e);d.a<d.c.a.length;){c=Noc(d);while(g.b!=g.c&&!uB(g.a[g.b],c)){f=Lnc(g);vB(a,b,f)}e=g.a[g.b];h=tB(a,c.e);i=sB(a,c.e);ne(a.b<h||a.a<=i);(a.b<h||a.b==h&&a.a<i)&&xB(a,b,e,h,i);xnc(g,
c)}while(g.b!=g.c){c=Lnc(g);vB(a,b,c)}}function V9(a){var b,c,d,e,f;f=k2b((sib(),_d(a.j==(F7b(),Q5b)),a.b.d),false);e=f.b;while(!!e&&e.j==y6b){d=u2b(e,40);d!=null&&e.Qh(d);e=e.d}c=QZb((se(Yjc("",qkc(46))==-1,YBc,""),new q4b(y6b,"")),f,(b=new q3b(c5b),b));if(ND(a.k,20)?a.k:null){Z2b(c,ND(a.k,20)?a.k:null);X9(c)}return c}function ECb(a,b,c,d){var e,f,g,h,i,j;f=(XAb(),XAb(),WAb);for(h=Ox(Dx(new nmc(a),new nmc(b)));h.Ed();){g=h.Fd();i=xCb(a,c,g);j=xCb(b,d,g);e=null;!i?e=j.a==(nDb(),lDb)?j:new cDb(j.c,
j.d,j.b,lDb):!j?e=i.a==(nDb(),lDb)?i:new cDb(i.c,i.d,i.b,lDb):e=fDb(i,j);f=ZAb(f,g,e)}return f}function Gqb(a,b,c){var d,e,f;e=c;f=b;while(true){if(e.b!=f){S2b(e,f,new q3b((F7b(),H6b)));break}if(e.j==(F7b(),L5b)){d=e.e;ckb(d,e);break}if(e.j==L4b){d=e.e;S2b(d,e,m2b(e.b?e.b.f:null));break}sib();if(!(e.j==W5b||e.j==V5b)&&e.j!=f5b){S2b(e,f,new q3b(H6b));break}f=e;e=e.e}d1(a.a.a)}function SB(a,b){var c;if(a>=dAc&&a<=kBc){c=(uzc(a>=0&&a<=kBc),a>=dAc?$C(VC(WD,1),cAc,46,15,[eAc+(a-dAc>>10&fAc)&gAc,hAc+(a-
dAc&fAc)&gAc]):$C(VC(WD,1),cAc,46,15,[a&gAc]));SB(c[0],b);SB(c[1],b);return}wkc(wkc(wkc(wkc((b.a+="\\u",b),QB[a>>>12&15]),QB[a>>>8&15]),QB[a>>>4&15]),QB[a&15])}function h4(a,b){var c,d,e,f,g,h,i;j:for(i=b.b.Md();i.Ed();){h=i.Fd();g=(O4(),mlc(N4,h)||slc(N4,h,new R4(h)),plc(N4,h));for(f=(d=(new mnc(a.c.a)).a.oe().b.ej(),new snc(d));f.a.Ed();){e=(c=f.a.Fd(),c.xe());if(e.Mg(g))continue j;else if(e.Ng(g))return false}return false}return true}function Rmb(a,b,c){var d,e,f,g;e=(b.b?b.b.f:null).Lh();c.e.j==
(F7b(),p5b)||c1(a.a.c,Keb(c.e,(Jmb(),Hmb),$C(VC(FS,1),bAc,2,6,[])));if(c.j==M6b)for(d=c.b;d;d=d.d)!!d.b||d2b(d,m3b(b$b(d.Lh()),d));f=n3b(Yjb(a.a.c,e),b);S2b(c,b,f);g=c.e;c2b(g.e,n3b((oe(ZZb(b),b),new s3b(L5b,b)),b),g)}function rz(){rz=qV;qz=new Oz("base64()",_Ac,mic(61));new Oz("base64Url()","ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_",mic(61));new Gz("base32()","ABCDEFGHIJKLMNOPQRSTUVWXYZ234567",mic(61));new Gz("base32Hex()","0123456789ABCDEFGHIJKLMNOPQRSTUV",mic(61));new Lz}
function Gib(a){sib();var b,c;c=a.e;b=a.j==(F7b(),Q5b)&&jjb(a.e);if(b)return a.b;else if(c.j==y6b)return c;else if(c.j==L4b)return c.b;else if(Cjb(c))return c;else if(c.j==Z5b&&c.b!=a||c.j==O6b||c.j==F4b||c.j==n5b&&c.b!=a)return Gib(c);else if(c.j==i5b)return Gib(c);return null}function wxb(a,b){var c;if(!a)return null;c=a.Ch()==2&&a.Dh().size()==1?is(a.Dh().Md()).d:null;if(!c)return myb(a,b);if(c.a.p.isEmpty())return!c.a.p.isEmpty()&&!c.b.d.d.isEmpty()?wyb(ICb(c.a.t,c,null,null,null,false,c.a.i)):
c.a.q;if(b.isEmpty())return a;return wyb(tCb(uBb(c,b)))}function xPb(a,b){var c,d,e;d=qRb(a.j,0).b.b;tOb(a,(hUb(),nTb));e=(Lm(),new hq);while(PQb(a,b)){fq(e,$Pb(a,b));if(!GQb(a,sSb)){c=tOb(a,vSb);GQb(a,sSb)&&XQb(a,c,"Invalid trailing comma in formal parameter list",$C(VC(AS,1),qAc,1,5,[]))}}tOb(a,sSb);return new lVb(new CYb(d,a.g),Tm(e.a))}function hHb(a,b){a.a.e=YLb(a.a.e,(TMb(),vMb).a);if(a.a.a.c==(UFb(),OFb)){a.a.d.hh("getters are not supported in older versions of JavaScript. If you are targeting newer versions of JavaScript, set the appropriate language_in option.",
a.a.r,(bGb(),b.o.b.b+1),0);return true}return false}function iHb(a,b){a.a.e=YLb(a.a.e,(TMb(),LMb).a);if(a.a.a.c==(UFb(),OFb)){a.a.d.hh("setters are not supported in older versions of JavaScript. If you are targeting newer versions of JavaScript, set the appropriate language_in option.",a.a.r,(bGb(),b.o.b.b+1),0);return true}return false}function ZBb(a,b,c){var d,e,f,g,h,i,j;f=kBb(b);j=lBb(b);for(e=new Rlc((new Jlc(a.g.a)).a);e.b;){d=Qlc(e);g=d.xe();h=d.ye().d;if(64==f.Ch()&&(i=oA(g),!(!i||aV(i.a,
fV(i.a))?null:kjc(fV(i.a)))))return false;if(64!=f.Ch()&&128!=f.Ch())return false;if(!cyb(h,j,c))return false}return true}function EFb(){CFb();return $C(VC(aO,1),vAc,28,0,[_Eb,wEb,xEb,yEb,zEb,AEb,nFb,BEb,CEb,DEb,EEb,FEb,GEb,JEb,KEb,HEb,IEb,LEb,MEb,NEb,OEb,PEb,QEb,REb,SEb,TEb,UEb,VEb,WEb,XEb,YEb,ZEb,$Eb,bFb,cFb,dFb,eFb,aFb,fFb,gFb,hFb,iFb,jFb,kFb,lFb,mFb,oFb,pFb,qFb,rFb,sFb,tFb,uFb,vFb,wFb,xFb,yFb,zFb,AFb])}function cZb(a){var b,c,d;if(!ND(a.a,210))return null;c=a.a;b=Sic(c);d=null;if(isNaN(b))d="NaN";
else if(b==Infinity)a.b.d?d="+Infinity":a.b.j?d=" Infinity":d=JFc;else if(b==-Infinity)a.b.g?d="(Infinity)":d="-Infinity";else return null;a.b.n=-1;a.b.k=false;return UYb(a,d,0)}function QKb(a,b){var c;if(!CKb(a,b,(GLb(),uLb)))return false;if((ee(b.j==(F7b(),f5b),yHc,b),o2b(b,1)).j!=h7b){a.a.ih((c=$C(VC(AS,1),qAc,1,5,[fEc]),jHc+D4b(zHc,c)),a.b.Ig(),a.d,a.c);fLb(a,uLb.d);return false}if(!_Kb(a,(ee(b.j==f5b,yHc,b),o2b(b,2)))){fLb(a,uLb.d);return false}return true}function fQb(a){var b,c,d,e,f;e=qRb(a.j,
1).c;if(e==(hUb(),PTb)||e==kTb||e==RSb||(YNb(),YNb(),!!bo(zNb,e)))return gPb(a,new fRb(qRb(a.j,0).b.b));else{d=qRb(a.j,0).b.b;tOb(a,KTb);c=iPb(a);b=new yVb((DVb(),BVb));APb(a,b,true);f=nVb(b,new CYb(d,a.g));return new WUb(new CYb(d,a.g),null,c,f)}}function N7(a){var b,c;if(a.d.b){c=I7(a,Q2b(a.d).Lh());if(!c){c1(a.a,Keb(a.d,(Q8(),M8),$C(VC(FS,1),bAc,2,6,["Breaking to a label that is not a loop"])));return}b=c.a}else b=koc(a.c,0).a;d2b(a.e,NZb(CZb((se(Yjc(wEc,qkc(46))==-1,YBc,wEc),new q4b((F7b(),y6b),
wEc)),new $3b(b))));d2b(a.e,Z7())}function Sd(a){var b,c,d,e,f,g,h;f=a.d;d="";c=xkc(Ekc(new Jkc,a.a),123);for(h=a.b.b;h;h=h.b){g=h.c;if(!f||g!=null){c.a+=d;d=oAc;h.a!=null&&xkc(Ekc(c,h.a),61);if(g!=null&&(pb(g).g&4)!=0){e=$C(VC(AS,1),qAc,1,5,[g]);b=Zoc(e,new Ytc);Ckc(c,b,1,b.length-1)}else c.a+=""+g}}return(c.a+="}",c).a}function KPb(a){var b,c,d,e,f,g;e=qRb(a.j,0).b.b;tOb(a,(hUb(),XSb));d=uOb(a);c=DOb(a);f=(Lm(),new hq);if(GQb(a,LSb)){tOb(a,LSb);g=tQb(a);hoc(f.a,he(g));while(GQb(a,vSb)){tOb(a,vSb);
g=tQb(a);!!g&&(hoc(f.a,he(g)),f)}}tOb(a,mTb);b=MPb(a);tOb(a,rSb);return new OVb(new CYb(e,a.g),d,c,Tm(f.a),b)}function zo(a){km();var b,c,d,e,f,g;g=new Avc;Hpc(g,a);for(c=(f=(new nmc(g.a)).a.oe().Md(),new tmc(f));c.a.Ed();){b=(d=c.a.Fd(),d.xe());he(b)}switch(g.a.size()){case 0:return ux(),tx;case 1:return new ly((e=(new nmc(g.a)).a.oe().Md(),d=(new tmc(e)).a.Fd(),d.xe()));default:return new vx(g)}}function wub(a,b){var c,d,e,f;f=(Hub(),c=dkc(dkc(dkc(dkc(dkc(ckc(ckc(b,58,45),92,47)," ",iEc),"[",jEc),
"]",kEc),"<",lEc),">",mEc),Iub(c));cub();if(Vjc(b.substr(0,"./".length),"./")||Vjc(b.substr(0,"../".length),"../")){e=a.a;d=_jc(e,qkc(47));f=Iub(e.substr(0,d+1)+(""+f))}return iub(f,a.b.c)}function PHb(a,b){var c,d;if(!b)return sGb(a.a,(F7b(),y6b),gHc);else if(b.c==(hUb(),RSb))d=LHb(a,b,true);else if(b.c==kTb){d=IGb(a.a,b);c=R2b(d,d.g,36);c!=d.g&&(d.g=c);d.g=new V3b(36,1,d.g)}else{d=WHb(a,b);c=R2b(d,d.g,36);c!=d.g&&(d.g=c);d.g=new V3b(36,1,d.g)}ne(d.j==(F7b(),h7b));return d}function lc(){gc.call(this,
lkc("\x00\u007f\u00ad\u0600\u061c\u06dd\u070f\u1680\u180e\u2000\u2028\u205f\u2066\u2067\u2068\u2069\u206a\u3000\ud800\ufeff\ufff9\ufffa"),lkc(" \u00a0\u00ad\u0604\u061c\u06dd\u070f\u1680\u180e\u200f\u202f\u2064\u2066\u2067\u2068\u2069\u206f\u3000\uf8ff\ufeff\ufff9\ufffb"))}function Ddb(a,b){var c,d,e,f,g,h;e=b.b;if(L2b(e,oFc,oFc.length))return a.c.d.t;f=Gdb(a,e);if(!f)return null;if(!f.n.isEmpty()){d=(Lm(),new hq);for(c=b.b.d;c;c=c.d){h=Fdb(a,c);if(!h)return null;hoc(d.a,he(h))}f=_wb(f,Tm(d.a));if(!f)return null}g=
b.j==(F7b(),E6b)?f.g?f.g:f.d:f.k;return g}function J0b(a,b,c,d,e){var f,g,h,i;if(a.b){h=new r0b;ae(b.charCodeAt(0)!=32&&Qjc(b,b.length-1)!=32,uIc);h.d=b;l0b(h,d,e,d,e+b.length);g=new n0b;f=new r4b((F7b(),y6b),b,d,e);$2b(f,b.length);i=R2b(f,f.g,51);i!=f.g&&(f.g=i);!!c&&(f.g=new d4b(51,c,f.g));g.d=f;l0b(g,d,e,d,e+b.length);h0b(a.b,g)}}function Ijb(a){switch(a.f){case 13:case 3:case 20:case 1:case 2:case 46:case 16:case 4:case 18:case 9:case 27:case 26:case 8:case 41:case 7:case 10:case 6:case 17:case 15:case 5:case 19:case 11:case 36:case 37:case 14:case 25:case 79:case 21:case 22:case 12:return true;
default:return false}}function S8b(a,b,c,d){var e,f,g,h;g=a.a.b;e=b.a.b;while(!!g&&!!e){h=ND(g.k,20)?g.k:null;f=ND(e.k,20)?e.k:null;if(h){if(!!f&&!U7b(h,f,c,d))return false}else if(f)return false;if(s2b(g,37)!=0!=(s2b(e,37)!=0))return false;if(s2b(g,30)!=0!=(s2b(e,30)!=0))return false;g=g.d;e=e.d}return g==e}function Gsb(a,b){var c,d,e;c=(sib(),d=Fib(b),!d?null:u2b(d,29));if(!c&&b.j!=(F7b(),Q5b))return"";e=ND(b.k,20)?b.k:null;return!e?"":e.qi()?Fsb(a,b):(e.pi(),!e.li()&&!(e.ei()||e.ci()||e.di()||
ndc(e.u,(Xcc(),kcc))==e)&&!e.mi()&&!e.bi()?"/** @type {"+(ND(b.k,20)?b.k:null).vi(true)+"} */\n":"")}function Q6(a,b,c){var d,e,f,g;f=R2b(b,b.g,60);f!=b.g&&(b.g=f);e=R2b(b,b.g,85);e!=b.g&&(b.g=e);b.g=new V3b(85,1,b.g);d=b.b?b.b.f:null;if(!(d.j==(F7b(),c5b)||d.j==_6b)){ne(!!d.e);O2b(d.e,d);d=p3b(EZb((ne(ZZb(d)),new s3b($6b,d))),d);d2b(b,d)}g=new W6;gib(a.a,d,g);c.d=c.d||g.b;c.c=c.c||g.a;d1(a.a)}function F9b(a,b,c,d){var e,f,g,h,i,j;for(j=(f=(new mnc(n9b(b).a)).a.oe().b.ej(),new snc(f));j.a.Ed();){i=
(e=j.a.Fd(),e.xe());h=b.Fi(i);if(!(a.ei()||a.ci()||a.di()||ldc(a.u,(Xcc(),kcc))==a||a.li()||!!a.Hi(i))){if(h.ai())continue;return false}g=a.Fi(i);if(!g.ki(h,c,d))return false}return true}function iW(a,b,c){var d,e,f,g,h,i;E3(a.a.v)||mX("Feature 'classes' is only allowed in ES6 mode.",b);NW((F7b(),k5b),b);g=H7b(b.j);g!=-1&&(e=p2b(b),g!=e&&mX(CBc+g+DBc+e,b));h=b.b;h.j==B5b?(f=p2b(h),0!=f&&mX(BBc+f,h)):HW(h);i=h.d;i.j==B5b?(d=p2b(i),0!=d&&mX(BBc+d,i)):tW(a,i);kW(a,b.b?b.b.f:null,c)}function Tlb(a,b){var c,
d,e,f,g;c=new dmb(a);f=false;for(e=new Poc(b);e.a<e.c.a.length;){d=Noc(e);if(d.a){if(f){hoc(a.n,c);c=new dmb(a);f=false}hoc(a.n,new gmb(a,d))}else{g=d.b;ee(!Wtc(c.a,g),"Already a pass with name '%s' in this loop",g);Vtc(c.a,g);hoc(c.b,new gmb(c.d,d));f=true}}f&&hoc(a.n,c)}function ABb(a,b,c,d,e){var f,g,h,i;b=jBb(b,a);if(!b)return false;if(a.a.p.isEmpty())return true;ne(!a.b.d.d.isEmpty());if(b.b.d.d.isEmpty())return true;g=true;for(i=a.a.p.Md();i.Ed();){h=i.Fd();f=bo(b.b,h);ke(f,"Type variable %s not found in map %s",
h,b.b);g=g&&oyb(bo(a.b,h),f,c,d,e)}return g}function XPb(a){var b,c,d;d=qRb(a.j,0).b.b;c=(Lm(),new hq);tOb(a,(hUb(),mTb));b=null;while(QQb(a,0)||qRb(a.j,0).c==oTb||GQb(a,KTb)||Atc(wtc(ATb,$C(VC(EO,1),vAc,13,0,[zTb,yTb])),qRb(a.j,0).c)){b=null;fq(c,eQb(a));b=xOb(a,vSb);if(!b)break}tOb(a,rSb);FOb(a,b);return new $Vb(new CYb(d,a.g),Tm(c.a))}function bKb(a){var b;if(a.r!=0){++a.b;--a.r;a.a==-1&&(a.a=a.i-a.f-a.r-1);return a.q[a.r]}for(;;){if(a.i==a.j){a.a==-1&&(a.a=a.i-a.f-a.r-1);return-1}++a.b;b=Qjc(a.k,
a.i++);if(b<=127){if(b==10||b==13){a.e=b;b=10}}else{if(b>127)continue;if(lKb(b)){a.e=b;b=10}}a.a==-1&&(a.a=a.i-a.f-a.r-1);return b}}function AQb(a){var b,c,d,e,f;f=qRb(a.j,0).b.b;if(VQb(a)){e=GOb(a);d=zQb(a);return new oYb(new CYb(f,a.g),e,0,d)}else{b=NPb(a);if(VQb(a)&&(c=qRb(a.j,0).b.b.b>a.g.b,!(c||FQb(a,0,(hUb(),GTb))||FQb(a,0,(hUb(),rSb))||FQb(a,0,(hUb(),ESb))))){e=GOb(a);return new oYb(new CYb(f,a.g),e,1,b)}else return b}}function gxb(a){var b,c,d,e;if(a==a.a.s)return mwb(a.a);se(!a.c,"Loose function: %s",
a);se(a.n.isEmpty(),"Generic function: %s",a);b=new Mxb(a.a);for(e=a.i.Md();e.Ed();){c=e.Fd();Gxb(b,c)}for(d=a.e.Md();d.Ed();){c=d.Fd();Cxb(b,c)}Hxb(b,a.j);Ixb(b,a.k);Bxb(b,a.d);Fxb(b,a.g);zxb(b,a.b);return Kxb(b)}function zHb(a,b){var c,d,e;jHb(a,b,(TMb(),DMb));c=null;if(b.e)ne(!b.a&&!b.b);else if(b.a){ne(!b.b);c=FGb(a.a,b.a)}else c=kIb(a,(F7b(),K5b),b.b);!c&&(c=nGb(a.a,(F7b(),B5b)));z3b(c.i)==-1&&DGb(c,b.o.b,b.o.a);d=oGb(a.a,(F7b(),I5b),c);if(b.c){e=WHb(a,b.c);d2b(d,e)}M2b(d,64,b.e);M2b(d,63,b.d);
return d}function Eqb(a,b){var c,d,e,f,g,h;if(b!=null){for(h=(e=(new nmc(a.a.e.a)).a.oe().Md(),new tmc(e));h.a.Ed();){f=(c=h.a.Fd(),c.xe());if(Vjc(b,f))return true}for(g=(d=(new nmc(a.a.d.a)).a.oe().Md(),new tmc(d));g.a.Ed();){f=(c=g.a.Fd(),c.xe());if(Vjc(b.substr(0,f.length),f))return true}}return false}function RKb(a,b){var c;if(!CKb(a,b,(GLb(),vLb)))return false;if((ee(b.j==(F7b(),f5b),yHc,b),o2b(b,1)).j!=h7b){a.a.ih((c=$C(VC(AS,1),qAc,1,5,["property name"]),jHc+D4b(zHc,c)),a.b.Ig(),a.d,a.c);fLb(a,
vLb.d);return false}if(!_Kb(a,(ee(b.j==f5b,yHc,b),o2b(b,2)))){fLb(a,vLb.d);return false}return true}function nQb(a){var b;if(FQb(a,0,(hUb(),RSb))&&Vjc(qRb(a.j,0).a,nCc)&&(b=qRb(a.j,1).b.b.b>qRb(a.j,0).b.a.b,!(b||FQb(a,1,GTb)||FQb(a,1,rSb)||FQb(a,1,ESb)))&&FQb(a,1,PSb))return WOb(a);if(FQb(a,0,PSb))return zPb(a);if(FQb(a,0,pSb))return dPb(a,false,false);if(GQb(a,_Sb))return DQb(a);return rQb(a)}function igc(a,b,c){var d,e,f,g,h,i,j;he(b);he(c);_d(c.size()<=b.size());this.b=a;this.d=b;this.e=c;g=new mgc(a,
this);f=this.e.size();e=this.d.size();h=XC(ER,qAc,20,e,0,1);for(d=0;d<e;d++)if(d<f){i=this.d.getAtIndex(d);g.a=i;j=this.e.getAtIndex(d);h[d]=j.wi(g)}else h[d]=ndc(a,(Xcc(),Tcc));this.c=h}function vA(a,b,c){var d,e;--b;--c;if(b<0||b>=a.c.a.length)return null;ne(b>=0);ne(c>=0);if(koc(a.c,b)==null)return xA(a,b);d=koc(a.c,b);ne(d.a.length!=0);if((Azc(0,d.a.length),d.a[0]).tf()>c)return xA(a,b);e=DA(d,c,0,d.a.length-1);pe(e>=0,"unexpected:%s",e);return wA(a,(Azc(e,d.a.length),d.a[e]))}function wwc(a,
b,c,d){var e,f;if(!b)return c;else{e=a.a.He(c.d,b.d);if(e==0){d.d=Gmc(b,c.e);d.b=true;return b}f=e<0?0:1;b.a[f]=wwc(a,b.a[f],c,d);if(xwc(b.a[f]))if(xwc(b.a[1-f])){b.b=true;b.a[0].b=false;b.a[1].b=false}else xwc(b.a[f].a[f])?b=Ewc(b,1-f):xwc(b.a[f].a[1-f])&&(b=Dwc(b,1-f))}return b}function lgb(a,b,c){var d,e,f,g;ND(c,160)&&Vtc(a.i,c);if(b.j==(F7b(),y6b)){g=b.Lh();ne(!a.k.containsKey(g));a.k.put(g,c);d=u2b(b,51);!!d&&d.vh()&&!a.e.containsKey(g)&&a.e.put(b.Lh(),null)}else{ne(!Bgb(a,b));e=sDb(b);f=wgb(a,
e.a.getAtIndex(0));owb(f,(_d(e.a.size()!=1),new qDb(e.a.Re(1,e.a.size()))),c)}}function QOb(a){var b,c,d;c=qRb(a.j,0).b.b;b=(Lm(),new hq);tOb(a,(hUb(),oTb));d=null;while(GQb(a,vSb)||GQb(a,JTb)||LQb(a)){d=null;GQb(a,vSb)?fq(b,new ZVb(AOb(a,qRb(a.j,0).b.b))):GQb(a,JTb)?fq(b,pQb(a)):fq(b,UOb(a,1));GQb(a,tSb)||(d=tOb(a,vSb))}tOb(a,tSb);FOb(a,d);return new tUb(new CYb(c,a.g),Tm(b.a))}function O0(a){var b,c,d,e,f;a.t=new Qtc;for(e=new Poc(a.j);e.a<e.c.a.length;){c=Noc(e);b=c.f;f=_0(a,b,c);!!f&&c1(a,new Geb(null,
null,-1,-1,d0,null,$C(VC(FS,1),bAc,2,6,[c.f.a])))}for(d=a.s.Md();d.Ed();){c=d.Fd();b=c.f;f=_0(a,b,c);!!f&&c1(a,new Geb(null,null,-1,-1,e0,null,$C(VC(FS,1),bAc,2,6,[c.f.a])))}}function jub(a,b){var c,d,e,f,g;g=new Ytc;for(f=ps(a.a.Md(),a.b);f.b.Ed();){e=Ms(f,f.b.Fd());if(!Vtc(g,iub((Hub(),c=dkc(dkc(dkc(dkc(dkc(ckc(ckc(e,58,45),92,47)," ",iEc),"[",jEc),"]",kEc),"<",lEc),">",mEc),Iub(c)),b)))throw RU(new dfb("Duplicate module path after resolving: "+e));}return km(),d=g,xo(d)}function lCb(a){var b,c,
d,e,f,g;if(a==a.a._)return a.a.R;if(a.c||!!a.d&&wBb(a.d)||!!a.e)return a;b=!a.b?null:ixb(a.b);c=(XAb(),XAb(),WAb);for(g=new Rlc((new Jlc(a.g.a)).a);g.b;){f=Qlc(g);d=f.xe();e=f.ye();c=ZAb(c,d,e.a==(nDb(),mDb)?e:new cDb(e.c,e.d,e.b,mDb))}return new nCb(a.a,a.d,c,b,null,true,a.f)}function Qgb(a,b,c,d){var e;this.o=new Yuc;this.b=new Avc;this.d=new Avc;this.q=new Avc;this.j=new Yuc;this.u=(km(),ux(),tx);this.n=new Yuc;this.k=new Yuc;this.i=new Avc;he(d);if(!b){this.p=null;this.e=new Yuc}else{e=a.b.Lh();
this.p=e.length==0?null:e;this.e=(mx(),lx)}this.t=a;this.r=b;this.f=c;this.a=d}function jdb(a,b){var c,d,e,f,g,h,i,j;_d(a.j==(F7b(),Q5b));_d(a.e.j==f5b);he(b);d=Vxb(b);if(!d||(g=mxb(d.d),!!g&&g.a.g==0)||(f=mxb(d.d),!!f&&f.a.g!=0))return null;c=gxb(d);h=p2b(a.b.d);j=c.f.size();i=c.f.size()+c.d.size();e=!!c.g;if(j==i&&!e)return h==j?c:null;if(h==i&&!e||h==i+1&&e)return c;return null}function s_(b){var c,d,e,f,g;if(b.j!=(F7b(),J6b))return null;g=Xib(b);if(!ND(g,154))return null;e=g;try{f=e.th()}catch(a){a=
QU(a);if(ND(a,91))return null;else throw RU(a);}try{d=y2b(b)}catch(a$0){a$0=QU(a$0);if(ND(a$0,37))return null;else throw RU(a$0);}c=d+b.c;if(d<0||c>f.length)return null;return f.substr(d,c-d)}function K2(a){var b,c,d,e,f;d=new pq;for(c=new Rlc((new Jlc(a)).a);c.b;){b=Qlc(c);e=b.xe();f=b.ye();if(OD(f))mq(d,e,(sib(),(Bzc(f),f)?new q3b((F7b(),s7b)):new q3b((F7b(),M5b))));else if(ND(f,127))mq(d,e,new $3b(f.a));else if(PD(f))mq(d,e,new $3b((Bzc(f),f)));else{ne(SD(f));mq(d,e,n$b(f))}}return Nn(d.b)}function Xwb(a){var b,
c,d;if(a==a.a.v||a==a.a.g||a==a.a.s)return;je(a.i,"null required formals for function: %s",a);for(d=a.i.Md();d.Ed();){b=d.Fd();he(b);ne(a.c||0!=b.Ch())}je(a.e,"null optional formals for function: %s",a);for(c=a.e.Md();c.Ed();){b=c.Fd();he(b);ne(0!=b.Ch())}ne(!a.j||0!=a.j.Ch());he(a.k)}function bGb(){bGb=qV;aGb=(km(),new ly(jCc));YFb=aGb;$Fb=Do(tCc,HDc,HCc,pCc,uCc,sCc,$C(VC(FS,1),bAc,2,6,[yCc]));_Fb=Do(tCc,HDc,HCc,pCc,uCc,sCc,$C(VC(FS,1),bAc,2,6,[yCc,vCc,GCc,"let",YGc,ZGc,$Gc,_Gc,aHc,"yield"]));ZFb=
Wyc("(/|(\n[ \t]*))\\*[ \t]*@[a-zA-Z]+[ \t\n{]");new GFb((ux(),tx),(null,tx),(UFb(),TFb),0)}function VIb(a,b){var c,d,e,f,g;d=LIb(a,(F7b(),n6b));f=new Ytc;do{c=UIb(a,b);if(!c)return null;e=c.j==i7b?c.Lh():c.b.Lh();g=f.a.put(e,f);g==null?d2b(d,c):yIb(a,e,a.j.g,cKb(a.j));pJb(a);if(!JIb(a,(YJb(),GJb)))break;!a.o?dKb(a.j):BIb(a);pJb(a);if(JIb(a,TJb))break;b=!a.o?dKb(a.j):BIb(a)}while(true);return d}function OKb(a,b){var c,d,e,f;if(!CKb(a,b,(GLb(),CLb)))return false;f=(ee(b.j==(F7b(),f5b),yHc,b),o2b(b,
1));if(f.j!=h7b){a.a.ih((c=$C(VC(AS,1),qAc,1,5,["native type"]),jHc+D4b(BHc,c)),a.b.Ig(),a.d,a.c);fLb(a,CLb.d);return false}e=(sIb(),d=tJb(f.Lh()),eJb(d,!d.o?dKb(d.j):BIb(d)));m2b(f);d2b(b,e);return true}function WPb(a){var b,c,d,e;if(GQb(a,(hUb(),fTb)))if(FQb(a,1,tTb))return a.d=YLb(a.d,(TMb(),FMb).a),e=qRb(a.j,0).b.b,tOb(a,fTb),tOb(a,tTb),zOb(a,"target"),new YVb(new CYb(e,a.g));else{d=qRb(a.j,0).b.b;tOb(a,fTb);c=WPb(a);b=null;GQb(a,nTb)&&(b=POb(a));return new XVb(new CYb(d,a.g),c,b)}else return RPb(a)}
function TKb(a,b){var c,d,e;if(b.j==(F7b(),L6b))for(e=(!b.b?(Gpc(),Gpc(),Fpc):new k4b(b.b)).Md();e.Ed();){d=e.Fd();if(d.b){if(!_Kb(a,d.b))return false}else{a.a.ih((c=$C(VC(AS,1),qAc,1,5,["property, missing type"]),jHc+D4b(zHc,c)),a.b.Ig(),a.d,a.c);return false}}else if(!_Kb(a,b))return false;return true}function Iac(a,b,c){var d,e,f,g,h;f=!a.f?null:a.f.e;g=!!f;a.f=new Iec(fCc,b,true,!c?a.g:c);b.Ki(a);!!f&&f.Ki(null);if(a.Pi()||a.e==(qbc(),obc)){h=Fac(a);!!h&&(!h.i&&(h.i=new soc),hoc(h.i,a));if(a.e==
(qbc(),obc))for(e=qs(new Yqc(a.b.a.b.Md()));e.Ed();){d=e.Fd();!!d.zi()&&vac(d.zi(),a)}}g&&zac(a);return true}function YBb(a,b,c,d){var e,f,g,h,i,j;for(i=c.Md();i.Ed();){g=i.Fd();j=new rDb(g);if(!BCb(aCb(a,j),aCb(b,j),d))return false}if(b.e)for(h=(f=(new nmc(twb(b.e).a)).a.oe().Md(),new tmc(f));h.a.Ed();){g=(e=h.a.Fd(),e.xe());if(!c.contains(g)){j=new rDb(g);if(!BCb(aCb(a,j),aCb(b,j),d))return false}}return true}function Bdc(a,b){var c,d,e,f,g,h,i,j;if(!a.g||b.fi()||ND(b,145)||!b.ri())return b;if(jqc(a.f,
b))return b;iqc(a.f,b);f=false;e=new Ofc(a.e);for(i=b.Ci().Md();i.Ed();){h=i.Fd();j=(g=b.Hi(h),!g?null:g.d);d=b.Fi(h);c=d.wi(a);d!=c&&(f=true);e.b=false;tr(e.c,h,new Pfc(c,j))}kqc(a.f,b);if(f)return Nfc(e);return b}function xlb(a){var b,c,d;if(a.I)return;a.i=XU(kzc());Alb(a);for(c=An(a.I).Md();c.Ed();){b=c.Fd();d=b.ye();a.F=fV(SU(a.F,d.n));a.C=zjc(a.C,d.a);a.G+=d.k;a.c+=d.d;if(!d.i){a.B+=d.k;a.A+=d.d}a.a+=d.b;a.g+=d.e;a.p+=d.f}ne(a.D==(T3(),S3)||a.q==a.a+a.b);ne(!(a.D==R3||a.D==O3)||a.r==a.g+a.e);
ne(a.D!=O3||a.s==a.p+a.o)}function Qob(a,b){var c,d,e;if(a.b.f.c>0)return null;d=p1(a.b,b);c=Y0(a.b,d);if(a.b.f.c>0){c1(a.b,new Geb(null,null,-1,-1,Lob,null,$C(VC(FS,1),bAc,2,6,[lqb(d)])));throw RU(new Xic(bGc));}e=p1(a.b,c);if(!Vjc(d,e)){c1(a.b,new Geb(null,null,-1,-1,Nob,null,$C(VC(FS,1),bAc,2,6,[d,e])));throw RU(new Xic(bGc));}return c}function qxb(a,b){var c,d,e;if(!a||!b)return null;c=!a?null:a.Ch()==2&&a.Dh().size()==1?is(a.Dh().Md()).d:null;d=!b?null:b.Ch()==2&&b.Dh().size()==1?is(b.Dh().Md()).d:
null;if(!!c&&!!d){e=GBb(c,d);if(e)return!e.a.p.isEmpty()&&!e.b.d.d.isEmpty()?wyb(ICb(e.a.t,e,null,null,null,false,e.a.i)):e.a.q}return Cyb(a,b)}function myb(a,b){var c,d,e,f;if(-1==a.Ch()||_zc==a.Ch()||a.Dh().isEmpty()&&a.Eh()==null||b.isEmpty())return a;c=(km(),new Wq);for(f=a.Dh().Md();f.Ed();){e=f.Fd();Tq(c,iCb(e,b))}d=Eyb(a.e,a.Ch()&-2,yo(new Poc(c.a)),null,a.Bh());(a.Ch()&1)!=0&&(d=Cyb(d,b.containsKey(a.Eh())?b.pe(a.Eh()):xyb(a.e,a.Eh())));return d}function Okb(a,b,c){var d,e,f,g,h;ne(b.j==(F7b(),
y6b)||b.j==h7b||b.j==i7b||b.j==X5b||b.j==c7b);e=Cjb(b);f=e||c.j==W5b&&(c.b?c.b.f:null)==b;if(b.j==y6b||f){d=s2b(b,43)!=0;if(!d&&fjb(u0(a.b),b)){if(a.a){g=b.Lh();throw RU(new Xic(NFc+g+fBc+"  parent:"+l3b(b.e)));}h=R2b(b,b.g,43);h!=b.g&&(b.g=h);b.g=new V3b(43,1,b.g)}}}function I9(a,b,c){var d,e,f,g,h,i,j,k,l,m,n;if(c.j!=(F7b(),W5b)||c.b.j!=q7b)return;f=(l=(m=Fnc(b.b),ND(m,7)?n=m:n=m.nj.nj,n),l.j==Q5b?l:null);d=(sib(),g=Fib(f),!g?null:u2b(g,29));if(!d||(d.a&2)==0)return;e=(h=Pib(f),!h?null:v2b(h));
i=(c.b?c.b.f:null).Lh();k=e+JEc;j=Yjb(a.b,"this."+i);hoc(a.f,new $9(a,k,i,j))}function __b(a,b){var c,d,e;e=new e0b;e.a=Y_b(a.a,b);e.e=a0b(a.e,b);e.f=a0b(a.f,b);e.n=b0b(a.n,b);e.r=a0b(a.r,b);e.q=!a.q?null:new uoc(a.q);e.d=!a.d?null:new $tc(a.d);e.s=!a.s?null:new $uc(a.s);e.c=a.c;e.j=a.j;e.b=a.b;e.i=a.i;e.p=!a.p?null:(km(),d=a.p,xo(d));e.k=!a.k?null:(km(),c=a.k,xo(c));e.g=a.g;e.o=a.o;return e}function D9(a){var b,c,d,e;b=a;for(d=new R3b(new O3b(b.e));d.a.a;){c=Q3b(d);e=c.j;switch(e.f){case 84:case 66:case 67:case 0:case 39:case 76:case 88:case 100:ne(b==
c.b);return c;case 72:if(b==c.b)return c;case 73:case 85:case 82:case 83:case 68:case 69:return null}b=c}throw RU(new Xic("Unexpected AST structure."));}function igb(a,b){var c,d,e,f;if(b.j==(F7b(),y6b)){f=b.Lh();_d(Cgb(a,f,false));ne(!a.k.containsKey(f));e=he(Uuc(a.j,f));a.k.put(f,new Uwb(a.a,f,e,b))}else{_d(!Igb(a,b));d=sDb(b);c=wgb(a,d.a.getAtIndex(0));e=uwb(c,d).a;owb(c,(_d(d.a.size()!=1),new qDb(d.a.Re(1,d.a.size()))),new Uwb(a.a,Sc(new Vc("."),d.a.Md()),e,b))}}function eX(a,b){var c,d,e,f;switch(b.j.f){case 68:NW((F7b(),
h5b),b);c=H7b(b.j);c!=-1&&(d=p2b(b),c!=d&&mX(CBc+c+DBc+d,b));tW(a,b.b);dW(a,b.b?b.b.f:null);return;case 69:NW((F7b(),u5b),b);e=H7b(b.j);e!=-1&&(f=p2b(b),e!=f&&mX(CBc+e+DBc+f,b));dW(a,b.b?b.b.f:null);return;default:mX("Expected switch member but was "+b.j,b)}}function Wcb(a,b,c){var d;switch(b){case _Dc:pAb(a.b.d,c);break;case dEc:{sAb(a.b.d,c);d=new VDb(a.b.d,c.u,kFc,(Lm(),Lm(),Km),0,(TBb(),RBb),false);zDb(d,c.r);qAb(a.b.d,d);break}case aEc:rAb(a.b.d,c.q);break;case lBc:uAb(a.b.d,c.q);break;case $Dc:oAb(a.b.d,
c.q);break;case bEc:tAb(a.b.d,c.q);break;case ZDc:nAb(a.b.d,c)}}function oRb(a,b,c){var d,e;d=a.d;SRb(a);!kRb(a,a.d)&&sRb(a,gOb(a.e.b,d),kIc,$C(VC(AS,1),qAc,1,5,[]));e=kkc(a.e.a,d,a.d);switch(kRb(a,a.d)?Qjc(a.e.a,a.d):0){case 96:lRb(a);return new mOb(b,e,hOb(a.e.b,d-1,a.d));case 36:lRb(a);lRb(a);return new mOb(c,e,hOb(a.e.b,d-1,a.d));default:return new mOb(b,e,hOb(a.e.b,d-1,a.d))}}function vRb(a,b){switch(kRb(a,a.d)?Qjc(a.e.a,a.d):0){case 101:case 69:lRb(a);switch(kRb(a,a.d)?Qjc(a.e.a,a.d):0){case 43:case 45:lRb(a)}VRb(kRb(a,
a.d)?Qjc(a.e.a,a.d):0)||tRb(a,"Exponent part must contain at least one digit",$C(VC(AS,1),qAc,1,5,[]));FRb(a)}return new mOb((hUb(),kTb),kkc(a.e.a,b,a.d),hOb(a.e.b,b,a.d))}function Y9(a){var b,c,d;d=v2b(a.e);if(d==null)return null;c=qlc(a.d.c,d);if(!c)return null;switch(c.j.f){case 47:b=c.b?c.b.f:null;break;case 76:b=t2b(c.b?c.b.f:null);break;case 65:{sib();if(c.j==(F7b(),Q5b)&&jjb(c.e))b=c;else return null}break;default:return null}if(b.j!=(F7b(),Q5b)&&b.j!=L6b)return null;return b}function f8b(a){var b,
c,d,e,f,g,h;if(a.di())return X7b(a,(Xcc(),mcc));else if(a.ui()){h=a.ui();g=false;c=Hgc(h);for(f=0;f<c.size();f++){b=c.getAtIndex(f);if(b.di()){g=true;break}}if(g){d=new jhc(a.u);dhc(d,X7b(a,(Xcc(),mcc)),false);for(e=0;e<c.size();e++){b=c.getAtIndex(e);b.di()||dhc(d,b,false)}return ehc(d)}}return a}function bB(a,b){var c,d,e,f,g,h,i;f=false;i=xlc(a.k.c);c=new toc(i);joc(c,Kpc(i));for(e=new wvc(new nvc(a.j));e.b!=e.c.a.b;){d=uvc(e);h=Uuc(a.k,d.d);if(!!h&&h.a<i){poc(c,h.a,d.e);f=true}}if(!f)return;kB(b,
"sourcesContent",false);b.a+="[";for(g=0;g<i;g++){g!=0&&(b.a+=",",b);Akc(b,lB((Azc(g,c.a.length),c.a[g])))}b.a+="]"}function wzb(a,b,c,d){var e;e=b.Lh();switch(e){case Xzc:kzb(a,b);return a.a.a;case iAc:kzb(a,b);return a.a.j;case Yzc:kzb(a,b);return a.a.q;case $zc:kzb(a,b);return a.a.t;case hEc:case FCc:kzb(a,b);return a.a.B;case _Dc:kzb(a,b);return Gzb(a,mAb(a.a));case dEc:return Gzb(a,b.b?a.a.Z:a.a.$);default:return Fzb(a,e,b,c,d)}}function zuc(){if(!Object.create||!Object.getOwnPropertyNames)return false;
var a="__proto__";var b=Object.create(null);if(b[a]!==undefined)return false;var c=Object.getOwnPropertyNames(b);if(c.length!=0)return false;b[a]=42;if(b[a]!==42)return false;if(Object.getOwnPropertyNames(b).length==0)return false;return true}function z8(a,b){var c,d;d=b.e;c=d.e;switch(d.j.f){case 85:return true;case 82:if(c.j==(F7b(),h5b)||c.j==u5b||c.j==j5b)return a.d.d==c.e;case 72:case 73:case 101:case 111:return d==a.d.d;case 83:while(d.j==(F7b(),l6b)){if(d.e==a.d.d)return true;d=d.e}return false;
default:throw RU(new bC("Unsupported node parent: "+d));}}function Qcb(a,b,c){var d,e,f,g,h,i;_d(b.j==(F7b(),Q5b));f=new soc;i=new soc;h=(sib(),_d(b.j==Q5b),b.b.d).b;while(h){Mzb(c,h.Lh())&&!h.d?hoc(i,h.Lh()):hoc(f,h.Lh());h=h.d}if(c)for(e=b_b(c).Md();e.Ed();){d=e.Fd();if(loc(f,d,0)==-1&&loc(i,d,0)==-1){g=Qib(b);Nhb(a.b.t,Keb(b,(pcb(),$bb),$C(VC(FS,1),bAc,2,6,[d,g])))}}return f}function hdb(a,b,c,d){var e,f,g;if(!Vjc(b.a.getAtIndex(b.a.size()-1),fCc)){Nhb(a.c.t,Keb(d,(pcb(),dcb),$C(VC(FS,1),bAc,2,
6,[c])));return null}g=(_d(b.a.size()!=1),new qDb(b.a.Re(0,b.a.size()-1)));f=(e=rgb(a.a,g,false),!e?null:ND(e.c,79)?e.c:null);(!f||f.g!=0)&&Nhb(a.c.t,Keb(d,(pcb(),dcb),$C(VC(FS,1),bAc,2,6,[c])));return f}function irb(a,b,c){grb();var d,e,f,g,h,i,j,k,l,m;if(G2(a.H))for(k=(!b.b?(Gpc(),Gpc(),Fpc):new k4b(b.b)).Md();k.Ed();){j=k.Fd();h=u2b(j,89);if(!!h&&(m=ZLb(h),!Vjc(m,fDc)&&!Vjc(m,"es5")))for(e=c,f=0,g=e.length;f<g;++f){d=e[f];i=R2b(j,j.g,93);i!=j.g&&(j.g=i);j.g=new V3b(93,1,j.g);Phb();l=new fib(a,
d,new D8(a));aib(l,j)}}}function txb(a,b){var c,d,e;if(!a)return b;if(!b)return a;c=!a?null:a.Ch()==2&&a.Dh().size()==1?is(a.Dh().Md()).d:null;d=!b?null:b.Ch()==2&&b.Dh().size()==1?is(b.Dh().Md()).d:null;if(!!c&&!!d){e=FBb(c,d);return!e?null:!e.a.p.isEmpty()&&!e.b.d.d.isEmpty()?wyb(ICb(e.a.t,e,null,null,null,false,e.a.i)):e.a.q}return Fyb(a,b)}function PKb(a,b){var c,d;d=(ee(b.j==(F7b(),f5b),yHc,b),b.b.Lh());c=ILb(Lb(d));switch(c.f){case 1:return KKb(a,b);case 9:return NKb(a,b);case 10:return MKb(a,
b);case 21:return ZKb(a,b);case 8:return LKb(a,b);case 12:return QKb(a,b);case 13:return RKb(a,b);default:throw RU(new Xic("Invalid type transformation operation"));}}function CQb(a,b){var c,d,e;d=qRb(a.j,0).b.b;e=qRb(a.j,0).c;switch(e.f){case 30:case 38:case 25:tOb(a,e);break;default:XQb(a,qRb(a.j,0),"expected declaration",$C(VC(AS,1),qAc,1,5,[]));return null}c=(Lm(),new hq);fq(c,BQb(a,e,b));while(GQb(a,(hUb(),vSb))){tOb(a,vSb);fq(c,BQb(a,e,b))}return new pYb(new CYb(d,a.g),e,Tm(c.a))}function Vtb(a,
b,c){var d,e,f,g,h,i,j,k,l;_d(cd(a.f,b));f=new Ytc;l=new Rnc(b);while(l.b!=l.c){g=Lnc(l);i=f.a.put(g,f);if(i==null)for(k=g.Kg().Md();k.Ed();){j=k.Fd();e=qlc(a.b,j);!!e&&(ync(l,e),true)}}d=(Lm(),new hq);for(h=new Poc(c?a.c:a.f);h.a<h.c.a.length;){g=Noc(h);f.a.containsKey(g)&&(hoc(d.a,he(g)),d)}return Tm(d.a)}function Pgc(a,b){var c,d,e,f,g,h,i;d=new jhc(a.u);for(f=0;f<a.b.size();f++){c=a.b.getAtIndex(f);c.ji(b)&&dhc(d,c,false)}if(b.ui()){i=b.ui().b;for(e=0;e<i.size();e++){g=i.getAtIndex(e);g.ji(a)&&
dhc(d,g,false)}}else b.ji(a)&&dhc(d,b,false);h=ehc(d);return h.ei()?Mgc(a)&&b.hi()&&!b.ei()?X7b(a,(Xcc(),lcc)):X7b(a,(Xcc(),ncc)):h}function ebb(a,b,c,d){var e,f,g,h,i;i=JEc.length;if(Vjc(d.substr(d.length-i,i),JEc)){g=1;h=kkc(d,0,d.length-10)}else{f=d.indexOf($Ec);if(f==-1)return false;h=d.substr(0,f);g=2;f=Zjc(d,qkc(46),f+11);while(f>=0){++g;f=Zjc(d,qkc(46),f+1)}}if(!!c&&Cjb(b))return true;for(e=0;e<g;e++){c=b;b=b.b}abb(a,b,h,(Gbb(),Dbb));return true}function AD(a){var b,c,d,e,f;if(a.l==0&&a.m==
0&&a.h==0)return"0";if(a.h==rBc&&a.m==0&&a.l==0)return"-9223372036854775808";if(a.h>>19!=0)return"-"+AD(tD(a));c=a;d="";while(!(c.l==0&&c.m==0&&c.h==0)){e=bD(1E9);c=eD(c,e,true);b=""+zD(aD);if(!(c.l==0&&c.m==0&&c.h==0)){f=9-b.length;for(;f>0;f--)b="0"+b}d=b+d}return d}function C3(){C3=qV;q3=new F3(sDc,0);r3=new F3(tDc,1);s3=new F3("ECMASCRIPT5_STRICT",2);t3=new F3(uDc,3);u3=new F3("ECMASCRIPT6_STRICT",4);y3=new F3("ECMASCRIPT_2015",5);v3=new F3("ECMASCRIPT6_TYPED",6);w3=new F3(vDc,7);z3=new F3("ECMASCRIPT_2016",
8);x3=new F3(wDc,9);A3=new F3("ECMASCRIPT_NEXT",10);B3=new F3("NO_TRANSPILE",11)}function l9b(a,b,c,d){var e,f,g,h,i,j,k;a.ti();k=Ibc(d,a,b);if(k)return k.a;i=n9b(a);j=n9b(b);if(!Nh(j,i)){Jbc(d,a,b,(Rbc(),Pbc));return false}for(h=(f=(new mnc(i.a)).a.oe().b.ej(),new snc(f));h.a.Ed();){g=(e=h.a.Fd(),e.xe());if(!U7b(b.Fi(g),a.Fi(g),c,d)){Jbc(d,a,b,(Rbc(),Pbc));return false}}Jbc(d,a,b,(Rbc(),Obc));return true}function J8(a,b){var c,d,e,f,g;g=p2b(b);if(g==0)T2b(b,new q4b((F7b(),h7b),'""'));else{e=Q2b(b);
ne(e.j==(F7b(),h7b));if(g==1)S2b(b.e,b,e);else{c=zZb(e,Q2b(Q2b(b)));for(f=2;f<g;f++){d=Q2b(b);if(d.j==h7b)if(d.Lh().length==0)continue;else f==2&&e.Lh().length==0&&(c=m2b(c.b.d));c=zZb(c,d.j==h7b?d:Q2b(d))}T2b(b,p3b(c,b))}}d1(a.c)}function KHb(a,b){var c,d;switch(b.a.c.f){case 100:return c=uGb(a.a,b.a),d=rGb(a.a,c),z3b(d.i)==-1&&DGb(d,b.o.b,b.o.a),d;case 101:return XHb(a,b);case 99:case 98:return nGb(a.a,XGb(b.a.c));case 97:return nGb(a.a,(F7b(),H6b));case 102:return UHb(a,b);default:throw RU(new Xic("Unexpected literal type: "+
b.a.jj+" type: "+b.a.c));}}function FA(a){var b,c,d,e;e=XC(XD,jBc,46,5,15,1);b=new soc;while(YA(a.a))if(JA(a,59)){GA(a,b);b.a.length==0||(b=new soc)}else{d=0;while(!IA(a)){e[d]=rA(a.a);++d}c=HA(a,e,d);qe(a.i.b<0||a.b<a.i.b,a.b,a.i.b);ne(c.wf()==-1||c.wf()<a.i.e.length);ne(c.uf()==-1||c.uf()<a.i.d.length);b.a[b.a.length]=c;JA(a,44)}b.a.length==0||GA(a,b)}function SYb(a,b,c){var d,e,f,g,h,i,j,k,l,m,n,o,p;f=new qZb(b);e=0;j=null;g=false;k=b.length;h=0;while(h<k){n=h;l=Zjc(b,qkc(37),h);m=l==-1?k:l;m>
n&&Ckc(a.c,b,n,m);h=m;if(h<k){p=(f.d=h+1,f.b=h+1,lZb(f,new xZb));d=null;if(p.b!=37&&p.b!=110){i=p.a==-1?e++:p.a;d=hZb(c,i,f,j,g);j=d;g=true}o=VYb(a,p,d);o!=null&&TYb(a,o,rkc(o));h=f.b}}}function Qic(a){var b,c,d,e,f;if(a==null)throw RU(new Ljc(iAc));d=a.length;e=d>0&&(a.charCodeAt(0)==45||a.charCodeAt(0)==43)?1:0;for(b=e;b<d;b++)if(cic(a.charCodeAt(b),16)==-1)throw RU(new Ljc(LIc+a+'"'));f=parseInt(a,16);c=f<hBc;if(isNaN(f))throw RU(new Ljc(LIc+a+'"'));else if(c||f>_zc)throw RU(new Ljc(LIc+a+'"'));
return f}function NCb(a,b,c){var d,e,f,g,h,i,j;f=new UCb(1);for(j=c.Md();j.Ed();){i=j.Fd();for(h=b.Md();h.Ed();){g=h.Fd();if(pCb(g.d,i.d)){if(a){e=gCb(g,i);if(!e)continue}else e=LCb(g,i);TCb(f,e)}else g.d.a.g==2&&eCb(i,g,new aEb((XAb(),XAb(),WAb)))?TCb(f,i):i.d.a.g==2&&eCb(g,i,new aEb((XAb(),XAb(),WAb)))&&TCb(f,g)}}return km(),d=f.a,xo(d)}function dGb(a,b){var c,d,e,f,g,h,i,j;d=b.c;f=b.a.b.b+1;c=b.a.b.a;g=b.a.b.c;e=new sJb(new jKb(d.substr(3),f,c+3),d,g,a.q,a.a,a.d);nJb(e,a.f);oJb(e,a.g);b.b==(NUb(),
JUb)&&b.c.length>0?(e.i=(AJb(),yJb),pJb(e),h=!e.o?dKb(e.j):BIb(e),i=EIb(e,h,0,false,true),j=" "+i.a,e.c?D0b(e.c,j):e.e.c?O0b(e.e,j):O0b(e.e,""),undefined):OIb(e);return e}function NHb(a,b){var c,d,e,f,g;e=b.a;if(e.size()==1){c=sGb(a.a,(F7b(),y6b),e.getAtIndex(0));z3b(c.i)==-1&&DGb(c,b.o.b,b.o.a);return c}else{f=e.Pe();d=b$b(f.Fd());z3b(d.i)==-1&&DGb(d,b.o.b,b.o.a);while(f.Ed()){g=sGb(a.a,(F7b(),h7b),f.Fd());z3b(g.i)==-1&&DGb(g,b.o.b,b.o.a);d=pGb(a.a,W5b,d,g);z3b(d.i)==-1&&DGb(d,b.o.b,b.o.a)}return d}}
function Jkb(a,b,c,d){var e,f;if(b.b){O2b(c,b);f=b.b;O2b(b,f);e=CZb(b,f);Y2b(e,u2b(c,29));o3b(e,c);S2b(d,c,(sib(),m3b((oe(ZZb(e),e),new s3b((F7b(),L5b),e)),e)))}else{sib();if(d.j==(F7b(),b7b)||d.j==c5b||d.j==_6b||d.j==w6b)O2b(d,c);else if(d.j==O5b){O2b(c,b);S2b(d,c,b)}else{ne(d.j==l6b);throw RU(new Xic("Unexpected LABEL"));}}Gkb(a.b)}function LQb(a){switch(qRb(a.j,0).c.f){case 76:case 29:case 9:case 99:case 14:case 2:case 108:case 109:case 110:case 111:case 64:case 69:case 18:case 97:case 100:case 45:case 47:case 49:case 63:case 68:case 94:case 95:case 101:case 107:case 104:case 35:case 21:case 77:case 98:case 24:case 26:case 44:return true;
default:return false}}function XW(a,b){var c,d;d=false;for(c=b.b;c;c=c.d)if(c.j==(F7b(),Y6b)){!!c.d&&mX("Rest parameters must come after all other parameters.",c);ZW(a,Q6b,c)}else if(c.j==v5b){d=true;nW(a,Q6b,c)}else{d&&mX("Cannot have a parameter without a default value, after one with a default value.",c);c.j==y6b?HW(c):c.j==J4b?aW(a,Q6b,c):TW(a,Q6b,c)}}function F_(a,b,c){var d,e,f,g,h,i;if(a.j!=(F7b(),f5b))return null;d=a.b;if(F2b(d))if(L2b(d,MCc,MCc.length)){e=d.d;if(!e)return null;i=c0(e);c0(i);
return new y_(i)}if(d.j==W5b&&Vjc((d.b?d.b.f:null).Lh(),"bind")){g=d.b;h=ND(g.k,20)?g.k:null;f=null;c&&!!h&&(f=h.ni().qi());if(!!f||b||g.j==Q5b){i=d.d;c0(i);return new y_(i)}}return null}function XOb(a){var b,c,d;c=qRb(a.j,0).b.b;a.d=YLb(a.d,(TMb(),fMb).a);zOb(a,nCc);tOb(a,(hUb(),PSb));if(GQb(a,KTb)){ZQb(a,fIc,$C(VC(AS,1),qAc,1,5,[]));tOb(a,KTb)}b=pVb(uVb(new yVb((DVb(),BVb)),(d=qRb(a.j,0).c,Atc(wtc(RSb,$C(VC(EO,1),vAc,13,0,[$Tb,zSb,dTb,eTb])),d)||!a.b.b&&bOb(d)?vOb(a):null)));APb(a,b,false);return nVb(b,
new CYb(c,a.g))}function stb(a,b){ntb();var c,d,e,f,g,h;oe(a.j==(F7b(),y6b)||a.j==Y6b||a.j==i7b,a);f=a.e;e=!b.c?null:b.c.e;if(a.e.j==z7b&&(c=u2b(a,51),!!c&&c.vh())&&Bjb(a))return true;d=u2b(f,29);if(!!d&&(h=!d.d?null:d.d.p,!h?(Gpc(),Gpc(),Fpc):h).contains(IDc))return true;d=u2b(e,29);return!!d&&(g=!d.d?null:d.d.p,!g?(Gpc(),Gpc(),Fpc):g).contains(IDc)}function YGb(a,b,c,d,e){var j;bGb();var f,g,h,i;h=new OGb(c,b,d,e,a.a);i=oHb(h.u,a);z3b(i.i)==-1&&DGb(i,a.o.b,a.o.a);if(a.a)for(g=a.a.Md();g.Ed();){f=
g.Fd();(f.b==(NUb(),KUb)||f.b==JUb)&&!Wtc(h.n,f)?(j=dGb(h,f),Vtc(h.n,f),jGb(h,j),undefined):f.b==IUb&&Qyc(Uyc(ZFb,f.c))&&h.d.ih(aGc,h.r,f.a.b.b+1,f.a.b.a)}zGb(h,i);JGb(h,i);h.p=i;return h}function WLb(){WLb=qV;MLb=new $Lb(3,false,false,false);NLb=new $Lb(5,false,false,false);PLb=new $Lb(6,false,false,false);OLb=new $Lb(6,true,false,false);QLb=new $Lb(6,true,true,false);RLb=new $Lb(7,true,false,false);SLb=new $Lb(7,true,true,false);TLb=new $Lb(8,true,false,false);ULb=new $Lb(8,true,true,false);VLb=
new $Lb(8,true,true,true)}function uwb(a,b){var c,d,e,f,g;f=b.a.size()==1?a:wwb(a,(_d(b.a.size()!=1),new qDb(b.a.Re(0,b.a.size()-1))));if(!f)return null;c=b.a.getAtIndex(b.a.size()-1);if(!(f.B.containsKey(c)||f.D.containsKey(c)||!!Zg(f.C,c,false)))return null;d=f.B.pe(c);g=ND(d,201)?d.a:null;return new Zvb((e=ih(Zg(f.C,c,false)),!e?null:e.b),f.D.pe(c),d,g,false)}function Djb(a,b){sib();var c,d;d=b.e;switch(d.j.f){case 28:return d.b!=b&&a.Ef().eg(d);case 66:case 70:case 71:case 72:case 73:return Hib(d)==
b;case 41:case 25:case 62:case 61:return true;case 5:case 37:{c=d.b==b?d.b.d:d.b;return Pjb(c)}case 60:return d.b==b;case 19:return d.e.j==(F7b(),O6b)&&d.e.b==d;case 92:return Djb(a,d)}return false}function tZb(a,b){var c;c=false;switch(b){case 43:c=a.d;a.d=true;break;case 44:c=a.e;a.e=true;break;case 45:c=a.f;a.f=true;break;case 40:c=a.g;a.g=true;break;case 35:c=a.i;a.i=true;break;case 32:c=a.j;a.j=true;break;case 48:c=a.k;a.k=true;break;default:return false}if(c)throw RU(new bC(""+b));!a.o&&(a.o=
new Jkc);xkc(a.o,b&gAc);return true}function Ft(a,b,c,d){var e,f,g;g=new su(b,c);if(!a.a){a.a=a.e=g;slc(a.b,b,new ru(g));++a.c}else if(!d){a.e.b=g;g.d=a.e;a.e=g;e=plc(a.b,b);if(!e){slc(a.b,b,e=new ru(g));++a.c}else{++e.a;f=e.c;f.c=g;g.e=f;e.c=g}}else{e=plc(a.b,b);++e.a;g.d=d.d;g.e=d.e;g.b=d;g.c=d;!d.e?plc(a.b,b).b=g:d.e.c=g;!d.d?a.a=g:d.d.b=g;d.d=g;d.e=g}++a.d;return g}function iZ(a){var b;this.b=a;this.a=Do("goog.isDef","goog.isNull","goog.isDefAndNotNull","goog.isString","goog.isNumber","goog.isBoolean",
$C(VC(FS,1),bAc,2,6,["goog.isFunction","goog.isArray","goog.isArrayLike","goog.isObject"]));b=(km(),new Wq);Uq(b,$C(VC(FS,1),bAc,2,6,["superClass_","instance_",$Bc]));Vq(b,(Lm(),Lm(),Km));yo(new Poc(b.a))}function wW(a,b){var c,d,e;E3(a.a.v)||mX("Feature 'import statement' is only allowed in ES6 mode.",b);NW((F7b(),a6b),b);d=H7b(b.j);d!=-1&&(c=p2b(b),d!=c&&mX(CBc+d+DBc+c,b));b.b.j==y6b?HW(b.b):NW(B5b,b.b);e=b.b.d;switch(e.j.f){case 105:yW(e);break;case 107:e.Lh()==null&&mX(KBc,e);e.Lh().length==0&&
mX(LBc,e);break;default:NW(B5b,e)}cX(o2b(b,2))}function Jmb(){Jmb=qV;Hmb=new y5("JSC_LHS_OF_GOOG_REQUIRE_MUST_BE_CONST",(kY(),hY),new klc("The left side of a goog.require() must use ''const'' (not ''let'' or ''var'')"));Imb=new y5("JSC_NAMESPACE_IMPORT_CANNOT_USE_STAR",hY,new klc("Namespace imports ('goog:some.Namespace') cannot use import * as. Did you mean to import {0} from ''{1}'';?"))}function DOb(a){var b,c,d,e,f;if(!GQb(a,(hUb(),lTb)))return null;d=qRb(a.j,0).b.b;tOb(a,lTb);++a.j.f;f=new Yuc;
do{c=uOb(a);b=null;if(GQb(a,LSb)){tOb(a,LSb);b=tQb(a)}Vuc(f,c,b);GQb(a,vSb)&&tOb(a,vSb)}while(e=qRb(a.j,0).c,Atc(wtc(RSb,$C(VC(EO,1),vAc,13,0,[$Tb,zSb,dTb,eTb])),e)||!a.b.b&&bOb(e));tOb(a,qSb);--a.j.f;return new HVb(new CYb(d,a.g),f)}function Ffc(a,b,c){T7b();var d,e,f,g;bac.call(this,a,null,null);this.a=false;this.q=true;for(g=qs(new Yqc((d=b.b,!d?b.b=Dr(b.a,zrc(b.c)):d).b.b.Md()));g.Ed();){f=g.Fd();e=f==null?null:Fv(b.d,f);if(!e)throw RU(new Xic("RecordProperty associated with a property should not be null!"));
c?m9b(this,f,e.b,e.a):Cfc(this,f,e.b,false,e.a)}this.a=true}function p0(a){var b,c;a.M=0;a4(a.H);X0(a);a.M=.15;if(a.f.c>0)return;if(a.H.$c){s1(a);G2(a.H)&&r1(a)}else{n0(a);if(a.f.c>0)return;!a.H.C&&V0(a)}a.H.Bc&&(Eyc(i0,"Recording function information"),k1(a,TCc),b=new Dnb((c=a,!a.K&&(a.K=new cvb),c)),Cnb(b,a.u),null.mj(),r0(a),undefined);a.H._==(Q2(),P2)&&Pob(new Tob(a),a.n,a.u);a.M=1;!!a.U&&zlb(a.U)}function DCb(a,b){var c,d,e,f,g,h,i,j;if(a==a.a._||b==b.a._)return a.a._;if($Bb(a,b))return a;h=
a.d;i=b.d;ne(TDb(h.a,i.a)||TDb(i.a,h.a));c=a.a;e=a.c||b.c;d=pxb(a.b,b.b);if(e){d=!d?null:ixb(d);j=FCb(c,a.g,b.g)}else j=ECb(a.g,b.g,h,i);f=GBb(h,i);RDb(f.a)&&!!d&&(e?f=dAb(a.a):d=null);g=hwc(a.e,b.e)?a.e:null;return ICb(c,f,j,d,g,e,VBb(a.f,b.f))}function LB(a){var b,c;c=a.offset.line;b=a.offset.column;if(a.map!=null&&a.url!=null)throw RU(new OB("Invalid map format: section may not have both 'map' and 'url'"));else if(a.url!=null)return new PB(0,a.url,c,b);else if(a.map!=null)return new PB(1,tkc(a.map),
c,b);throw RU(new OB("Invalid map format: section must have either 'map' or 'url'"));}function dyb(a,b,c){var d,e;if(_zc==a.Ch()||_zc==b.Ch()||-1==b.Ch())return true;if(512==a.Ch())return 0!=hyb(b).Ch();if(QEc==a.Ch())return 0!=gyb(b).Ch();if(!Fwb(a,b,c))return false;d=a.Ch()&-5;if((d|b.Ch())!=b.Ch())return false;if(a.Eh()!=null&&!Vjc(a.Eh(),b.Eh()))return false;if(a.Dh().isEmpty())return true;e=CCb(a.Dh(),b.Dh(),c);return e}function BA(a,b){var c,d,e,f,g,h,i,j,k,l,m,n;j=false;k=null;n=null;l=null;
m=null;i=a.c.a.length;for(f=0;f<i;f++){h=koc(a.c,f);if(h){e=h.a.length;for(g=0;g<e;g++){d=(Azc(g,h.a.length),h.a[g]);if(j){c=new uA(f,d.tf());aB(b.a,k,n,l,m,c);j=false}if(d.wf()!=-1){j=true;k=a.e[d.wf()];n=d.uf()!=-1?a.d[d.uf()]:null;l=new uA(d.xf(),d.vf());m=new uA(f,d.tf())}}}}}function Bdb(a,b,c,d){var e,f,g,h,i,j,k,l;k=(f=rgb(a.a,b,false),!f?null:ND(f.c,79)?f.c:null);if(!!k&&k.g!=0){Nhb(a.c.t,Keb(d,(pcb(),dcb),$C(VC(FS,1),bAc,2,6,[c])));return}e=vgb(a.a,b);for(i=(!d.b?(Gpc(),Gpc(),Fpc):new k4b(d.b)).Md();i.Ed();){h=
i.Fd();g=Rib(h);j=Uuc(a.c.g,h);if(j)pwb(e,g,h,j,false);else{l=Fdb(a,h.b);!l&&(l=a.c.d.G);pwb(e,g,h,l,false)}}}function uzb(a,b,c,d,e){var f,g,h,i,j,k;f=(km(),new Wq);for(k=(e?X$b(b):V$b(b)).Md();k.Ed();){j=k.Fd();g=j.a;h=Azb(a,g,c,d);i=h.Ch()==2&&h.Dh().size()==1?is(h.Dh().Md()).d:null;!!i&&i.a.g!=0?(hoc(f.a,he(i)),f):e?Vtc(a.i,Keb(g,_yb,$C(VC(FS,1),bAc,2,6,[nyb(h,new Ikc).a]))):Vtc(a.i,Keb(g,Xyb,$C(VC(FS,1),bAc,2,6,[nyb(h,new Ikc).a])))}return yo(new Poc(f.a))}function Emb(){Emb=qV;Cmb=new y5("JSC_COMMONJS_MODULE_LOAD_ERROR",
(kY(),hY),new klc(PFc));new y5("JSC_COMMONJS_UNKNOWN_REQUIRE_ENSURE_ERROR",jY,new klc("Unrecognized require.ensure call: {0}"));Dmb=new y5("JSC_COMMONJS_SUSPICIOUS_EXPORTS_ASSIGNMENT",jY,new klc('Suspicious re-assignment of "exports" variable. Did you actually intend to export something?'))}function rxb(a,b){var c,d,e,f,g,h;_d(a.c||b.c);c=new Mxb(a.a);g=Ajc((_d(!(a==a.a.v||a==a.a.g)),a.i.size()),(_d(!(b==b.a.v||b==b.a.g)),b.i.size()));for(e=0;e<g;e++)Gxb(c,Iyb(Zwb(a,e),Zwb(b,e)));f=zjc(a.i.size()+
a.e.size(),b.i.size()+b.e.size());for(d=g;d<f;d++){h=Iyb(Zwb(a,d),Zwb(b,d));if(!!h&&0==h.Ch())break;Cxb(c,h)}return Lxb(Axb(Ixb(c,Iyb(a.k,b.k))))}function zRb(a,b,c){while(kRb(a,a.d)&&(kRb(a,a.d)?Qjc(a.e.a,a.d):0)!=c&&!YRb(kRb(a,a.d)?Qjc(a.e.a,a.d):0))if(!QRb(a))return new mOb((hUb(),PTb),kkc(a.e.a,b,a.d),hOb(a.e.b,b,a.d));(kRb(a,a.d)?Qjc(a.e.a,a.d):0)!=c?sRb(a,gOb(a.e.b,b),"Unterminated string literal",$C(VC(AS,1),qAc,1,5,[])):lRb(a);return new mOb((hUb(),PTb),kkc(a.e.a,b,a.d),hOb(a.e.b,b,a.d))}
function xjb(a,b){var c,d,e;switch(a.j.f){case 92:return xjb(a.b,b);case 42:for(d=a.b;d;d=d.d)if(d.j!=(F7b(),B5b)&&!xjb(d,b))return false;return true;case 38:for(e=a.b;e;e=e.d)if(!xjb(e,b))return false;return true;case 43:for(c=a.b;c;c=c.d)if(!xjb(c.b,b))return false;return true;case 65:return b&&!(a.j==(F7b(),Q5b)&&jjb(a.e));default:return tjb(a)}}function Iub(a){Hub();var b,c,d,e,f,g,h,i,j;i=gkc(a,Xyc("/"),0);d=XC(FS,bAc,2,i.length,6,1);j=0;c=0;b=i.length>1&&i[0].length==0;b&&--c;for(f=i,g=0,h=
f.length;g<h;++g){e=f[g];if(Vjc(e,"."))continue;if(Vjc(e,"..")){if(c>0){--j;--c;d[j]=null}else if(!b){d[j]=e;++j}continue}d[j]=e;++j;++c}if(b&&j==1)return"/";return Sc(Gub,new Ylc(new xpc((yzc(j),Xoc(d,j)))))}function oA(a){lA();var b,c,d,e;if(he(a).length==0)return null;e=a.charCodeAt(0)==45;d=e?1:0;if(d==a.length)return null;c=nA(Qjc(a,d++));if(c<0||c>=10)return null;b=-c;while(d<a.length){c=nA(Qjc(a,d++));if(c<0||c>=10||ZU(b,{l:3355444,m:838860,h:996147}))return null;b=$U(b,10);if(ZU(b,SU(iBc,
c)))return null;b=cV(b,c)}return e?wjc(b):WU(b,iBc)?null:wjc(_U(b))}function kJb(a,b,c){var d,e,f;f=LIb(a,(F7b(),R6b));!!c&&d2b(f,c);d=null;do{if(d){pJb(a);b=!a.o?dKb(a.j):BIb(a);ne(b==(YJb(),QJb));pJb(a);b=!a.o?dKb(a.j):BIb(a)}d=fJb(a,b);if(!d)return null;d2b(f,d)}while(JIb(a,(YJb(),QJb)));if(!c){pJb(a);if(!JIb(a,UJb))return xIb(a,rHc,a.j.g,cKb(a.j)),null;!a.o?dKb(a.j):BIb(a)}if(!!f.b&&!f.b.d){e=f.b;O2b(f,e);return e}return f}function lQb(a,b){var c,d,e,f,g,h;zOb(a,"set");if(QQb(a,0)){f=wOb(a);tOb(a,
(hUb(),nTb));d=uOb(a);h=COb(a);tOb(a,sSb);g=COb(a);!!g&&XQb(a,qRb(a.j,0),"setter should not have any returns",$C(VC(AS,1),qAc,1,5,[]));c=yPb(a);return new $Xb(AOb(a,b.d),f,b.c,d,h,c)}else{e=iPb(a);tOb(a,(hUb(),nTb));d=uOb(a);COb(a);tOb(a,sSb);c=yPb(a);return new XUb(AOb(a,b.d),e,b.c,d,c)}}function Yab(a,b){var c,d,e,f,g,h;h=b.e;ne(h.j==(F7b(),L6b));c=h.e;if(!c)return null;d=c.e;switch(c.j.f){case 29:if(!d||(sib(),!(!!d&&(d.j==z7b||d.j==q6b||d.j==p5b))))return null;g=c.Lh();break;case 47:f=c.b;g=v2b(f);
break;case 91:if(!!d&&d.j==L6b)g=Yab(a,c);else return null;break;default:return null}if(g!=null){e=b.Lh();if(K7b(e))return g+"."+e}return null}function CW(a,b,c){var d,e;if(c.j==(F7b(),y6b)){c.Lh()==null&&mX(KBc,c);c.Lh().length==0&&mX(LBc,c);EW(c);!!c.b&&tW(a,c.b)}else c.j==J4b?aW(a,b,c):c.j==M6b?TW(a,b,c):c.j==v5b?nW(a,b,c):c.j==o5b?(NW(o5b,c),d=H7b(c.j),d!=-1&&(e=p2b(c),d!=e&&mX(CBc+d+DBc+e,c)),tW(a,c.b),(c.b?c.b.f:null).j==v5b?nW(a,b,c.b?c.b.f:null):tW(a,c.b?c.b.f:null),undefined):mX(MBc+b+" node",
c)}function E5(){E5=qV;C5=new y5("JSC_INVALIDATION",(kY(),iY),new klc("Property disambiguator skipping all instances of property {0} because of type {1} node {2}. {3}"));D5=new y5("JSC_INVALIDATION_TYPE",iY,new klc("Property disambiguator skipping instances of property {0} on type {1}. {2}"));new y5("JSC_INVALID_RENAME_FUNCTION",hY,new klc("{0} call is invalid: {1}"))}function aKb(a){var b;if(a.r!=0){++a.b;--a.r;a.a==-1&&(a.a=a.i-a.f-a.r-1);return a.q[a.r]}for(;;){if(a.i==a.j){a.a==-1&&(a.a=a.i-a.f-
a.r-1);return-1}++a.b;b=Qjc(a.k,a.i++);if(a.e>=0){if(a.e==13&&b==10){a.e=10;continue}a.e=-1;a.f=a.i-1;++a.g}if(b<=127){if(b==10||b==13){a.e=b;b=10}}else{if(b>127)continue;if(lKb(b)){a.e=b;b=10}}a.a==-1&&(a.a=a.i-a.f-a.r-1);return b}}function Bcb(a,b){pcb();var c,d;this.p=new soc;this.b=new Yuc;this.n=new Yuc;this.o=new Cp(new Yuc,new Gp);this.c=new Yuc;this.g=new Yuc;this.a=new Avc;this.i=new Avc;d=D2(a.H,(t5(),l5));this.t=new Ohb(a);this.e=a;this.r=b;this.f=u0(a);this.s=new tEb;this.j=new F4((km(),
ux(),tx));this.d=new vAb(d);c=new Ncb(this);this.q=new Lzb(this.d,this.f,this.s,c);Vtc(this.a,fCc)}function fmb(b,c,d){var e,f;Eyc((Slb(),Rlb),b.b);!!b.c.s&&Zlb(b.c);!!b.c.u&&Elb(b.c.u,b.b,b.a.a);b.d=new Uqb;b.a.Eg(b.c.a).Nf(c,d);m0(b.c.a);try{if(!b.c.q)h1(b.c.a,-1);else{b.c.p+=b.c.r;h1(b.c.a,b.c.p)}f=Tqb(b.d);!!b.c.u&&Flb(b.c.u,b.b,f);Vlb(b.c,b.b,d);Wlb(b.c,c,d)}catch(a){a=QU(a);if(ND(a,22)){e=a;throw RU(new cC("Sanity check failed for "+b.b,e));}else throw RU(a);}}function IRb(a){var b,c,d,e;c=
a.d;lRb(a);lRb(a);while(kRb(a,a.d)&&((kRb(a,a.d)?Qjc(a.e.a,a.d):0)!=42||(kRb(a,a.d+1)?Qjc(a.e.a,a.d+1):0)!=47))lRb(a);if(kRb(a,a.d)){lRb(a);lRb(a);d=(NUb(),IUb);a.d-c>4&&(Qjc(a.e.a,c+2)==42?d=KUb:Qjc(a.e.a,c+2)==33&&(d=JUb));b=hOb(a.e.b,c,a.d);e=kkc(a.e.a,c,a.d);cRb(a.a,d,b,e)}else tRb(a,"unterminated comment",$C(VC(AS,1),qAc,1,5,[]))}function oIb(a,b,c){var d,e,f;for(f=Mm(new rv(he(c)),0);f.b<f.c;){e=Xf(f).a;switch(e){case 103:case 105:case 109:break;case 117:case 121:d=e==117?(TMb(),IMb):(TMb(),
JMb);a.a.e=YLb(a.a.e,d.a);lGb(a.a,d)||a.a.d.ih(eHc+WFb(d)+fHc+d,a.a.r,(bGb(),b.o.b.b+1),b.o.b.a);break;default:a.a.d.hh("Invalid RegExp flag '"+String.fromCharCode(e)+"'",a.a.r,(bGb(),b.o.b.b+1),b.o.b.a)}}}function Yub(a,b){Vub();var c,d,e,f,g,h,i;i=Wub();f=new J2;H2(f,(C3(),u3));I2(f,q3);f.$c=true;e=(npb(),new Cpb((new zpb,"externs.js"),"var window;"));h=new Cpb((new zpb,b),a);f.tc=true;f.Ac=true;K4(f.$);C2(f,new X4(Uub,(kY(),iY)));c=new Zub;e1(c,new $ub);o0(c,(Lm(),new iy(e)),new iy(h),f);g=a2(new V1(c));
d=Wub();Xub("Transpiled "+b+" in "+(d-i)/1E3+" seconds");return g}function uBb(a,b){var c,d,e,f,g,h,i;if(b.isEmpty())return a;if(a.a.p.isEmpty())return a.a.r;c=new pq;if(a.b.d.d.isEmpty()){i=a.a.p;for(e=i.Md();e.Ed();){d=e.Fd();b.containsKey(d)&&mq(c,d,b.pe(d))}h=Nn(c.b);if(h.d.d.isEmpty())return a;if(h.d.d.size()<i.size())return a}else{for(g=a.b.We().Md();g.Ed();){f=g.Fd();mq(c,f,myb(bo(a.b,f),b))}h=Nn(c.b)}return new BBb(h,a.a)}function HA(a,b,c){var d;switch(c){case 1:d=new LA(b[0]+a.c);a.c=d.e;
return d;case 4:d=new RA(b[0]+a.c,b[1]+a.f,b[2]+a.g,b[3]+a.e);a.c=d.e;a.f=d.wf();a.g=d.xf();a.e=d.vf();return d;case 5:d=new WA(b[0]+a.c,b[1]+a.f,b[2]+a.g,b[3]+a.e,b[4]+a.d);a.c=d.e;a.f=d.wf();a.g=d.xf();a.e=d.vf();a.d=d.uf();return d;default:throw RU(new Xic("Unexpected number of values for entry:"+c));}}function n$(a,b,c,d){var e,f,g,h;h=b;if(!d&&!(b.j==(F7b(),c5b)||b.j==_6b))throw RU(new Rhc("Missing BLOCK child."));if(b.j==(F7b(),c5b)||b.j==_6b){f=A$(b,2);if(f==0){if(a.c.Ag()){GZ(a.c);HZ(a.c,
a.c.ng(b,c==0))}else a.c.tg(true);return}if(f==1){g=z$(b);e=a.c.Ag();if(e||D$(g)){GZ(a.c);a.Cg(g,0);a.c.yg();HZ(a.c,a.c.ng(b,c==0));return}else h=g}}h.j==B5b?a.c.tg(true):a.Cg(h,c)}function _5(a,b,c){var d,e,f,g,h,i,j,k;ae(c.j==(F7b(),f5b),c);f=k2b(c,false);e=f.b;if(e.j==l7b){i=n3b(SZb(Yjb(a.a,b),new q4b(h7b,RDc)),e);S2b(f,e,i);h=R2b(f,f.g,50);h!=f.g&&(f.g=h);b2b(f,m3b(new q3b(q7b),e),i)}else{oe(e.j==W5b,e);d=he(e.b.d);oe(Vjc(d.Lh(),ODc),d);j=f.b;k=j.b;S2b(j,k,n3b(Yjb(a.a,b),k));g=f.b.d;if(g.j!=q7b){oe(g.j==
H6b,g);S2b(f,g,m3b(new q3b(q7b),g))}}return f}function Oib(a,b){var c;switch(a.j.f){case 76:case 88:case 100:case 94:case 93:case 45:for(c=a.b;c;c=c.d)Oib(c,b);return;case 95:case 118:case 78:case 112:Oib(a.b,b);return;case 114:Oib(a.b?a.b.f:null,b);return;case 91:if(a.b)Oib(a.b?a.b.f:null,b);else{ne(ujb(a));b.add(a)}break;case 29:b.add(a);break;default:se(a.j==(F7b(),B5b),"Invalid node in lhs of declaration: %s",a)}}function fAb(a,b){switch(b.f){case 42:return a.u;case 43:return a.b;case 35:return a.G;
case 38:return a.B;case 15:return a.j;case 2:return a.a;case 30:return a.t;case 16:return a.q;case 54:return Cyb(a.r,a.a);case 26:return a.V?a.V:a.G;case 0:return _zb(a,a.G);case 19:return a.$;case 56:return a.A;default:throw RU(new bC("Native type "+(b.e!=null?b.e:""+b.f)+" not found"));}}function xDb(a,b,c,d,e){var f;ne(!a.f);!d&&e&&(d=a.t.G);!!Zg(a.b,b,false)&&!ih(Zg(a.b,b,false)).b&&(a.b=$Ab(a.b,b));!!Zg(a.k,b,false)&&(a.k=$Ab(a.k,b));!c&&!!Zg(a.j,b,false)&&(c=ih(Zg(a.j,b,false)).c);e?f=new cDb(c,
d,d,(nDb(),kDb)):a.g==2&&!!d&&_zc!=d.Ch()&&cyb(a.t.B,d,new aEb((XAb(),XAb(),WAb)))?f=new cDb(c,d,d,(nDb(),lDb)):f=new cDb(c,d,d,(nDb(),mDb));a.j=ZAb(a.j,b,f)}function vHb(a,b){var c,d,e,f,g,h,i,j;jHb(a,b,(TMb(),iMb));h=mIb(a,b.d,b);fHb(a,h,b.b);j=nIb(a,b.e,b);g=lIb(a,(F7b(),_5b),b.c);c=nGb(a.a,l5b);z3b(c.i)==-1&&DGb(c,b.o.b,b.o.a);for(e=b.a.Md();e.Ed();){d=e.Fd();(d.p==(SXb(),dXb)||d.p==yWb)&&mHb(a,d,CMb);d2b(c,FGb(a.a,d))}f=qGb(a.a,k5b,h,j,c);if(g.j!=B5b){mHb(a,b,wMb);i=R2b(f,f.g,82);i!=f.g&&(f.g=
i);f.g=new d4b(82,g,f.g)}return f}function Zib(a){var b,c;switch(a.j.f){case 31:case 91:return a.Lh();case 29:c=a.Lh();if(Vjc(hEc,c)||Vjc(JFc,c)||Vjc("NaN",c))return c;break;case 30:return""+a.Kh();case 34:return ACc;case 35:return BCc;case 32:return iAc;case 79:return hEc;case 19:b=Uib(a.b);if(b!=(rgc(),qgc))return b.Si(true)?ACc:BCc;break;case 42:return vib(a);case 43:return"[object Object]"}return null}function ZYb(a){var b,c;if(a.a==null)return UYb(a,iAc,0);if(ND(a.a,152))return UYb(a,tkc(a.a),
0);else if(ND(a.a,127)){b=Tic(a.a);if(!(b>=0&&b<=kBc))throw RU(new KYb(b));c=b<dAc?String.fromCharCode(b&gAc):ukc((uzc(b>=0&&b<=kBc),b>=dAc?$C(VC(WD,1),cAc,46,15,[eAc+(b-dAc>>10&fAc)&gAc,hAc+(b-dAc&fAc)&gAc]):$C(VC(WD,1),cAc,46,15,[b&gAc])));return UYb(a,c,0)}else throw RU(RYb(a));}function L2b(a,b,c){var d,e,f;f=akc(b,qkc(46),c-1)+1;switch(a.j.f){case 29:case 98:d=a.Lh();return f==0&&d.length!=0&&d.length==c&&Vjc(b.substr(0,d.length),d);case 33:return f==0&&4==c&&Vjc(b.substr(0,4),xCc);case 99:return f==
0&&5==c&&Vjc(b.substr(0,5),yCc);case 26:e=(a.b?a.b.f:null).Lh();return f>1&&e.length==c-f&&bkc(e,false,0,b,f,c-f)&&L2b(a.b,b,f-1);default:return false}}function sQb(a,b){var c,d,e,f,g;e=!b?qRb(a.j,0).b.b:b.o.b;f=GOb(a);c=(Lm(),new hq);fq(c,new dYb(f.b,f));if(f.c==(hUb(),iTb))return new cYb(new CYb(e,a.g),b,Tm(c.a));d=HOb(a,1);fq(c,new eYb(d.o,d));while(!a.c.d){f=(g=nRb(a.j),a.g=g.b.a,g);if(f.c==JSb||f.c==ESb)break;fq(c,new dYb(f.b,f));if(f.c==UTb)break;d=HOb(a,1);fq(c,new eYb(d.o,d))}return new cYb(new CYb(e,
a.g),b,Tm(c.a))}function Sib(a){sib();switch(a.j.f){case 48:return F7b(),a5b;case 49:return F7b(),b5b;case 50:return F7b(),$4b;case 51:return F7b(),r6b;case 52:return F7b(),a7b;case 53:return F7b(),y7b;case 54:return F7b(),E4b;case 55:return F7b(),k7b;case 56:return F7b(),x6b;case 59:return F7b(),H5b;case 57:return F7b(),y5b;case 58:return F7b(),v6b}throw RU(new dfb("Not an assignment op:"+a));}function Mz(a,b,c){var d,e,f;he(b);c=(!a.c?(Cc(),Bc):new nc(a.c.a)).Jd(c);if(!xz(a.b,c.length))throw RU(new cA("Invalid input length "+
c.length));d=0;for(f=0;f<c.length;){e=vz(a.b,Qjc(c,f++))<<18;e|=vz(a.b,Qjc(c,f++))<<12;b[d++]=e>>>16<<24>>24;if(f<c.length){e|=vz(a.b,Qjc(c,f++))<<6;b[d++]=(e>>>8&255)<<24>>24;if(f<c.length){e|=vz(a.b,Qjc(c,f++));b[d++]=(e&255)<<24>>24}}}return d}function AW(a,b){var c,d,e,f,g,h,i;switch(b.j.f){case 98:h=H7b(b.j);h!=-1&&(d=p2b(b),h!=d&&mX(CBc+h+DBc+d,b));uW(a,b.b,true);break;case 156:e=p2b(b);0!=e&&mX(BBc+e,b);break;case 157:i=H7b(b.j);i!=-1&&(f=p2b(b),i!=f&&mX(CBc+i+DBc+f,b));gW(b.b);break;case 158:g=
H7b(b.j);g!=-1&&(c=p2b(b),g!=c&&mX(CBc+g+DBc+c,b));break;default:mX("Interface contained member of invalid type "+b.j,b)}}function eA(a,b,c){var d,e,f,g,h,i;he(c);if(b==0)throw RU(new Nhc("/ by zero"));f=a/b|0;h=a-b*f;if(h==0)return f;i=1|(a^b)>>31;switch(c.f){case 7:iA(h==0);case 1:g=false;break;case 0:g=true;break;case 2:g=i>0;break;case 3:g=i<0;break;case 6:case 5:case 4:d=h<0?-h:h;e=d-((b<0?-b:b)-d);e==0?g=c==(Ykc(),Vkc)||c==Ukc&(f&1)!=0:g=e>0;break;default:throw RU(new Thc);}return g?f+i:f}function hD(a,
b,c,d,e,f){var g,h,i,j,k,l,m;j=kD(b)-kD(a);g=uD(b,j);i=dD(0,0,0);while(j>=0){h=nD(a,g);if(h){j<22?(i.l|=1<<j,undefined):j<44?(i.m|=1<<j-22,undefined):(i.h|=1<<j-44,undefined);if(a.l==0&&a.m==0&&a.h==0)break}k=g.m;l=g.h;m=g.l;g.h=l>>>1;g.m=k>>>1|(l&1)<<21;g.l=m>>>1|(k&1)<<21;--j}c&&jD(i);if(f)if(d){aD=tD(a);e&&(aD=xD(aD,(GD(),ED)))}else aD=dD(a.l,a.m,a.h);return i}function Lf(a){var b,c,d,e;c=a.c;while(a.c!=-1){e=c;d=Mf(a,a.c);if(d==-1){b=a.e.length;a.c=-1}else{b=d;a.c=d+1}if(a.c==c){++a.c;a.c>a.e.length&&
(a.c=-1);continue}while(e<b&&a.f.Id(Qjc(a.e,e)))++e;while(b>e&&a.f.Id(Qjc(a.e,b-1)))--b;if(a.d&&e==b){c=a.c;continue}if(a.b==1){b=a.e.length;a.c=-1;while(b>e&&a.f.Id(Qjc(a.e,b-1)))--b}else--a.b;return nkc(ikc(a.e,e,b))}return a.i=2,null}function qgb(a){var b,c,d,e,f,g,h,i;je(a.c,"No declared type for scope: %s",a.t);a.u=(km(),ux(),tx);for(c=a.k.oe().Md();c.Ed();){b=c.Fd();d=b.xe();e=b.ye();if(ND(e,291)){Vtc(a.b,d);f=e;bBb(f,a.e.pe(d));g=zwb(f)}else g=zwb(e);a.e.containsKey(d)?a.e.put(d,g):Vuc(a.o,
d,g)}for(i=a.n.keySet().Md();i.Ed();){h=i.Fd();Vuc(a.o,h,a.a.B)}Rgb(a);a.s=a.k;a.k=(mx(),lx);a.n=lx;a.d=(null,tx);a.g=true}function tgb(a,b){var c,d,e;_d(b.indexOf(".")==-1);if(Vjc(xCc,b)){d=a.c;if(!(!!d&&!!(d.c?d.c:d.e)))return null;return awb(a.c)}c=ugb(a,b,false);if(c){if(c.d){se(0!=c.d.Ch(),"%s was bottom",b);return c.d}e=c.a;if(e){ke(e.c,"decl=%s, funScope=%s",c,e);return Zzb(a.a,dwb(e.c))}ne(!c.c);return null}if(Vjc(b,a.p)&&!Egb(a.r,b))return Zzb(a.a,dwb(a.c));if(a.r)return tgb(a.r,b);return null}
function xzb(a,b,c,d,e){var f,g,h,i,j,k,l,m;m=b.r;if(b.p.isEmpty()&&!c.b)return b.s;j=(Lm(),new hq);if(c.b){oe(C2b(c.b),c);for(g=i2b(c.b).Md();g.Ed();){f=g.Fd();fq(j,Azb(a,f,d,e))}}i=Tm(j.a);k=b.p;h=i.size();l=k.size();if(h!=l){h>l&&Vtc(a.i,Keb(c,czb,$C(VC(FS,1),bAc,2,6,[" for type "+m.a.w,""+l,""+h])));return Gzb(a,wyb(tCb(tBb(m,ozb(a,k.size(),i)))))}return Gzb(a,wyb(tCb(tBb(m,i))))}function FCb(a,b,c){var d,e,f,g,h,i;d=(XAb(),XAb(),WAb);for(i=new Rlc((new Jlc(b.a)).a);i.b;){g=Qlc(i);e=g.xe();!!Zg(c,
e,false)||(d=ZAb(d,e,bDb(g.ye())));if(d==a.d)return a.d}for(h=new Rlc((new Jlc(c.a)).a);h.b;){g=Qlc(h);e=g.xe();f=g.ye();Zg(b,e,false)?d=ZAb(d,e,bDb(fDb(ih(Zg(b,e,false)),f))):d=ZAb(d,e,f.a==(nDb(),mDb)?f:new cDb(f.c,f.d,f.b,mDb));if(d==a.d)return a.d}return d}function Jac(a,b,c){var d,e,f,g,h,i;he(b);if(U7b(a,b,0,new Kbc(true)))return a;if(a.e==(qbc(),pbc)&&b.e==pbc&&!U8b(a.a)&&!U8b(b.a)){f=a.ji(b);g=b.ji(a);if(f&&!g)return c?b:a;else if(g&&!f)return c?a:b;i=Kac(a,b,c);if(i)return i}d=ndc(a.u,(Xcc(),
gcc));if(U7b(d,b,0,new Kbc(true)))return c?b:a;else if(U7b(d,a,0,new Kbc(true)))return c?a:b;e=ndc(a.u,Rcc);h=ndc(a.u,kcc);return c?e:h}function ibb(a,b){var c,d,e;!a.n&&(a.n=new soc);hoc(a.n,b);switch(b.b.f){case 0:if(!a.d){a.d=b;mbb(b)}++a.f;break;case 1:++a.g;c=!b.a?null:(sib(),d=Fib(b.a),!d?null:u2b(d,29));!!c&&(c.a&_Ec)!=0&&++a.i;break;case 2:case 4:e=b.a;!!e&&e.j==(F7b(),W5b)&&e.e.j==(F7b(),L5b)&&u2b(e,29);++a.o;break;case 3:++a.a;++a.o;break;case 5:++a.c;++a.o;break;case 6:++a.e;break;default:throw RU(new Wic);
}}function Vdb(a,b){var c,d,e,f,g,h,i;_d(b.j==(F7b(),W5b));g=b.e;f=g.j==L4b?g.b?g.b.f:null:null;c=Tib(b);d=sDb(c);h=(e=rgb(a.a,d,false),!e?null:ND(e.c,79)?e.c:null);if(!h){!!f&&f.j==Q5b&&Odb(a,f,null);return}!!f&&f.j==Q5b&&(i=R2b(g,g.g,76),i!=g.g&&(g.g=i),g.g=new V3b(76,1,g.g));Bgb(a.a,c)||Nhb(a.c.t,Keb(b,(pcb(),Tbb),$C(VC(FS,1),bAc,2,6,[])));wdb(a,h,f);rdb(a,h,(b.b?b.b.f:null).Lh(),b,f)}function T9(a,b,c,d){var e,f,g;if(b.indexOf(".")!=-1){f=Yjb(a.d.b,b);c.j==(F7b(),B5b)?e=(sib(),m3b((oe(ZZb(f),
f),new s3b(L5b,f)),f)):e=Wjb(CZb(f,c))}else c.j==(F7b(),B5b)?e=MZb((se(Yjc(b,qkc(46))==-1,YBc,b),new q4b(y6b,b)),z7b):e=Zjb(b,c);if(d)if(e.j==(F7b(),L5b))Y2b(e.b,d);else{ne(e.j==z7b);g=R2b(e,e.g,29);g!=e.g&&(e.g=g);!!d&&(e.g=new d4b(29,d,e.g))}d2b(a.d.g,e);Vtc(a.d.a,b)}function idb(a,b,c,d,e,f){var g,h,i,j,k,l;_d(d.j==(F7b(),Q5b)||F2b(d)||d.j==f5b);if(!b&&!Eib(d)){l=ldb(a,c,d,f);if(l)return l}g=Uuc(a.c.n,d);k=tzb(a.c.q,b,c,d,g,e,f);F2b(d)?j=d:d.j==Q5b?j=Pib(d):j=Gib(d);!!k.b&&!!j&&j.j==y6b&&jgb(f,
j.Lh(),k.b,false,(h=u2b(j,51),!!h&&h.vh()));if(g){i=dwb(k.a);ne(!g.f);g.c=i;XDb(g.w,dEc,g.u)&&UDb(rBb(eAb(a.c.d)),i)}d.j==Q5b&&zdb(a,d,k.a);return k.a}function hCb(a,b){var c,d,e,f,g;he(a.e);if(a==b||!!b.e||!iBb(b.d,iAb(a.a)))return a;f=yCb(b);if(!f)return a;d=bCb(b,f);g=(e=aCb(a,f),!!e&&(f.a.size()==1||iyb(e.d,(_d(f.a.size()!=1),new qDb(f.a.Re(1,f.a.size())))))?bCb(a,f):null);c=!g?null:kyb(g,d);if(!!g&&eyb(g)&&0!=c.Ch()&&cyb(c,g,new aEb((XAb(),XAb(),WAb)))&&!cyb(g,c,new aEb((XAb(),XAb(),WAb))))return mCb(a,
f,c,false,false);return a}function LCb(a,b){var c,d,e,f,g,h,i;ne(pCb(a.d,b.d));if(a==a.a._||b==b.a.M)return b;else if(b==b.a._||a==a.a.M)return a;c=a.a;h=FBb(a.d,b.d);d=sxb(a.b,b.b);if(!(!d||d!=d.a.c))return c.M;e=a.c&&b.c||!!d&&d.c;if(SDb(h.a,_Dc)&&!d){d=!a.b?b.b:a.b;e=d.c}e?g=FCb(c,a.g,b.g):g=MCb(c,false,h,a.g,b.g);if(g==c.d)return c.M;f=WBb(a.f,b.f);i=hwc(a.e,b.e)?a.e:null;return new nCb(c,h,g,d,i,e,f)}function ndb(a,b){var c,d,e,f;c=u2b(b,51);if(!!c&&c.vh()){Nhb(a.c.t,Keb(b,(pcb(),Sbb),$C(VC(FS,
1),bAc,2,6,[(ae(F2b(b)||b.j==(F7b(),i7b),b),F2b(b)?v2b(b):b.Lh())])));return null}e=Vib(b);f=Fdb(a,e);d=b.j==(F7b(),y6b)&&b.e.j==z7b&&!Dgb(a.a,b.Lh());if((!f||_zc==f.Ch())&&!d){Nhb(a.c.t,Keb(b,(pcb(),Sbb),$C(VC(FS,1),bAc,2,6,[(ae(F2b(b)||b.j==i7b,b),F2b(b)?v2b(b):b.Lh())])));return null}return f}function ujb(a){var b;switch(a.j.f){case 29:case 26:case 27:case 91:break;default:return false}b=a.e;if(!b)return false;switch(b.j.f){case 106:return(b.b?b.b.f:null)==a;case 76:case 100:case 88:case 112:case 45:case 104:case 63:case 64:case 78:return true;
case 96:case 65:case 118:case 72:case 73:case 101:return b.b==a;case 94:case 93:case 91:return wjb(a);default:return bjb(b)&&b.b==a}}function yzb(a,b,c,d){var e,f,g,h,i,j,k,l;l=new Yuc;for(j=b.b.b;j;j=j.d){f=j.j==(F7b(),m5b);i=f?j.b:j;h=i.Lh();(Vjc(h.substr(0,1),"'")||Vjc(h.substr(0,1),'"'))&&(h=kkc(h,1,h.length-1));e=u2b(b,51);!!e&&e.vh()&&Mcb(a.f,h);k=f?Azb(a,j.b?j.b.f:null,c,d):a.a.G;Txb(k,a.a.B)||Ezb(j.b?j.b.f:null)?g=new cDb(null,k,k,(nDb(),lDb)):g=new cDb(null,k,k,(nDb(),mDb));Vuc(l,h,g)}return wyb(uCb(a.a,
l))}function RIb(a,b){var c;if(b==(YJb(),WJb))return LIb(a,(F7b(),g7b));else if(b==NJb){pJb(a);return bJb(a,!a.o?dKb(a.j):BIb(a))}else if(b==OJb){pJb(a);return kJb(a,!a.o?dKb(a.j):BIb(a),null)}else if(b==XJb){c=a.j.n;switch(c){case Zzc:pJb(a);return WIb(a,!a.o?dKb(a.j):BIb(a));case iAc:case hEc:return MIb(a,c,a.j.g,cKb(a.j));default:return iJb(a,b)}}a.o=b;return xIb(a,qHc,a.j.g,cKb(a.j)),null}function lZb(a,b){var c,d,e;e=a.b;c=a.b<a.c?Qjc(a.a,a.b):-1;if(c>=48&&c<=57){d=kZb(a);if((a.b<a.c?Qjc(a.a,
a.b):-1)==36){iZb(a);if(d==-1)throw RU(new PYb(kkc(a.a,a.d,a.b)));b.a=0>d-1?0:d-1}else if(c==48)a.b=e;else return oZb(a,b,d)}else if(c==60){b.a=-2;iZb(a)}while(tZb(b,a.b<a.c?Qjc(a.a,a.b):-1))iZb(a);c=a.b<a.c?Qjc(a.a,a.b):-1;return c>=48&&c<=57?oZb(a,b,kZb(a)):c==46?nZb(a,b):mZb(a,b)}function gkc(a,b,c){var d,e,f,g,h,i,j;d=new RegExp(b,"g");i=XC(FS,bAc,2,0,6,1);e=0;j=a;g=null;while(true){h=d.exec(j);if(h==null||j==""||e==c-1&&c>0){i[e]=j;break}else{i[e]=kkc(j,0,h.index);j=kkc(j,h.index+h[0].length,
j.length);d.lastIndex=0;if(g==j){i[e]=j.substr(0,1);j=j.substr(1)}g=j;++e}}if(c==0&&a.length>0){f=i.length;while(f>0&&i[f-1]=="")--f;f<i.length&&(i.length=f,undefined)}return i}function YKb(a,b){var c,d;d=(ee(b.j==(F7b(),f5b),yHc,b),b.b.Lh());c=ILb(Lb(d));switch(c.f){case 19:return WKb(a,b);case 22:return cLb(a,b);case 11:return CKb(a,b,(GLb(),tLb));case 0:return CKb(a,b,(GLb(),iLb));case 23:return CKb(a,b,(GLb(),FLb));case 14:return SKb(a,b);case 18:return XKb(a,b);case 17:return UKb(a,b);case 20:return OKb(a,
b);default:throw RU(new Xic("Invalid type expression"));}}function zab(a,b){var c,d,e,f,g,h,i,j;for(i=(g=b.a.a,g?!g.b?(Gpc(),Gpc(),Fpc):new k4b(g.b):(Gpc(),Gpc(),Fpc)).Md();i.Ed();){h=i.Fd();Cab(a,ND(h.k,20)?h.k:null)}Cab(a,b.a.b);if(b.e==(qbc(),obc))for(d=qs(new Yqc(b.b.a.b.Md()));d.Ed();){c=d.Fd();iqc(a.a,c)&&c.wi(a)}if(b.Pi()){for(f=qs(new Yqc(b.c.a.b.Md()));f.Ed();){e=f.Fd();iqc(a.a,e)&&e.wi(a)}j=Dac(b).Bi();!!j&&iqc(a.a,j)&&j.wi(a)}return a.b.b}function Kvb(){Kvb=qV;Ivb=new y5("JSC_NULLABLE_RETURN",
(kY(),jY),new klc("This function''s return type is nullable, but it always returns a non-null value. Consider making the return type non-nullable."));Jvb=new y5("JSC_NULLABLE_RETURN_WITH_NAME",jY,new klc('The return type of the function "{0}" is nullable, but it always returns a non-null value. Consider making the return type non-nullable.'))}function Adb(a,b){var c,d,e,f,g,h,i,j;c=u2b(b,29);d=!c.d?null:c.d.g;he(d);e=d.indexOf(".")!=-1?new qDb(Sm(Cf(If(new nc(46)),d))):new rDb(d);if(Hgb(a.a,e))Bdb(a,
e,d,b);else{j=hdb(a,e,d,b);if(j)for(h=(!b.b?(Gpc(),Gpc(),Fpc):new k4b(b.b)).Md();h.Ed();){g=h.Fd();f=Rib(g);rdb(a,j,f,g,g.b)}else for(h=(!b.b?(Gpc(),Gpc(),Fpc):new k4b(b.b)).Md();h.Ed();){g=h.Fd();i=g.b;i.j==(F7b(),Q5b)&&Odb(a,i,null)}}}function jgc(a,b,c,d,e){var f,g,h,i,j,k,l,m,n,o,p,q;o=b.d;l=c.d;for(f=0;f<o.size();f++){n=o.getAtIndex(f);q=(h=bgc(b,n),h==-1?ndc(b.b,(Xcc(),Tcc)):b.c[h]);p=0;for(i=0;i<l.size();i++){k=l.getAtIndex(i);m=(g=bgc(c,k),g==-1?ndc(c.b,(Xcc(),Tcc)):c.c[g]);if(n==k){j=1;(U7b(q,
m,a,d)||e==1&&q.ki(m,new Nbc(true),e)&&m.ki(m,new Nbc(true),e))&&(j=2);p!=2&&(p=j)}}if(p==1||p==0&&a!=2)return false}return true}function RGb(a){switch(a){case 48:return 0;case 49:return 1;case 50:return 2;case 51:return 3;case 52:return 4;case 53:return 5;case 54:return 6;case 55:return 7;case 56:return 8;case 57:return 9;case 97:case 65:return 10;case 98:case 66:return 11;case 99:case 67:return 12;case 100:case 68:return 13;case 101:case 69:return 14;case 102:case 70:return 15}throw RU(new Xic(dHc+
String.fromCharCode(a)));}function GHb(a,b){var c,d,e,f,g,h,i,j;f=new Yuc;c=new Yuc;g=null;h=null;if(_Gb(a,b.a.a))for(e=b.a.a.Md();e.Ed();){d=e.Fd();i=null;if(d.p==(SXb(),FXb)){j=d;i=FGb(a.a,j.b);d=j.a}switch(d.p.f){case 26:Vuc(f,d.a.a,i);break;case 80:mHb(a,d,(TMb(),HMb));Vuc(c,d.a.a.a,i);break;case 65:g=d.a.a.a;h=i;break;default:throw RU(new Xic("Illegal parameter type: "+d.p));}}return cGb(a.a,M7b(FGb(a.a,b.b),f,c,g,h))}function A4(a){var b,c,d;if("".length>0){if(!G4(a.a,"".charCodeAt(0))){b=XC(WD,
cAc,46,a.a.length,15,1);for(c=0;c<b.length;c++)b[c]=a.a[c].a;throw RU(new dfb("prefix must start with one of: "+ppc(b)));}for(d=1;d<"".length;++d){b=XC(WD,cAc,46,a.c.length,15,1);for(c=0;c<b.length;c++)b[c]=a.c[c].a;if(!G4(a.c,"".charCodeAt(d)))throw RU(new dfb("prefix has invalid characters, must be one of: "+ppc(b)));}}}function nvb(){nvb=qV;kvb=new y5("JSC_DUPLICATE_ENUM_VALUE",(kY(),iY),new klc("The value {0} is duplicated in this enum."));jvb=new y5("JSC_COMPUTED_PROP_NAME_IN_ENUM",iY,new klc("Computed property name used in enum."));
mvb=new y5("JSC_SHORTHAND_ASSIGNMENT_IN_ENUM",iY,new klc("Shorthand assignment used in enum."));lvb=new y5("JSC_ENUM_PROP_NOT_CONSTANT",iY,new klc("enum key {0} must be in ALL_CAPS."))}function QHb(a,b){var c,d,e,f,g;g=nGb(a.a,(F7b(),L6b));f=false;for(d=b.a.Md();d.Ed();){c=d.Fd();if(c.p==(SXb(),FWb)){a.a.d.hh("Default value cannot appear at top level of an object literal.",a.a.r,(bGb(),c.o.b.b+1),0);continue}else if(c.p==UWb&&hHb(a,c))continue;else if(c.p==vXb&&iHb(a,c))continue;e=FGb(a.a,c);e.j!=
o5b&&!e.Nh()&&!a.a.c&&kHb(a,e);!e.b&&(f=true);d2b(g,e)}f&&jHb(a,b,(TMb(),rMb));return g}function cPb(a){var b,c,d,e,f;c=false;d=(Lm(),new hq);while(true){e=qRb(a.j,0).b.b;switch(qRb(a.j,0).c.f){case 4:tOb(a,(hUb(),nSb));b=HOb(a,1);tOb(a,uSb);f=qQb(a);fq(d,new DUb(new CYb(e,a.g),b,f));break;case 8:c?ZQb(a,"Switch statements may have at most one default clause",$C(VC(AS,1),qAc,1,5,[])):c=true;tOb(a,(hUb(),ASb));tOb(a,uSb);fq(d,new _Ub(new CYb(e,a.g),qQb(a)));break;default:return Tm(d.a)}}}function vzb(a,
b,c,d,e,f){var g,h,i;if(!(!b.d?null:b.d.a))return null;if((b.a&2)==0){Vtc(a.i,Keb(d,Zyb,$C(VC(FS,1),bAc,2,6,[c])));return null}g=(!b.d?null:b.d.a).a;h=Azb(a,g,f,e);i=h.Ch()==2&&h.Dh().size()==1?is(h.Dh().Md()).d:null;if(!!i&&i.a.g==0)return i;if(!i)Vtc(a.i,Keb(d,Yyb,$C(VC(FS,1),bAc,2,6,[c,nyb(h,new Ikc).a])));else{ne(i.a.g!=0);Vtc(a.i,Keb(d,Ryb,$C(VC(FS,1),bAc,2,6,[SDc,c])))}return null}function a1(a){E2(a.H,(t5(),c5))?a.H.B=true:D2(a.H,c5)?a.H.B=false:a.H.B||C2(a.H,new X4(V4((Cob(),Bob)),(kY(),iY)));
if(a.H.sd){a.H.B=true;C2(a.H,new X4(a5,(kY(),iY)));C2(a.H,new X4(m5,iY));C2(a.H,new X4(n5,iY));C2(a.H,new X4((uab(),gab),iY));C2(a.H,new X4(V4((Cob(),Bob)),jY))}a.H.t!=(kY(),iY)&&!D2(a.H,i5)&&C2(a.H,new X4(i5,a.H.t));t0(a)&&C2(a.H,new X4(f5,hY));!a.H.A&&!E2(a.H,d5)&&C2(a.H,new X4(d5,iY))}function kCb(a,b,c,d,e){var f,g,h;if(a.b)if(!b.b||!hxb(a.b,b.b,c,d,e))return false;g=a.d;f=b.d;if(!RDb(g.a)&&!RDb(f.a)){if(ABb(g,f,c,d,e))return true;if(g.a.g==0)return false;if(g.a.g==2){if(iBb(g,ih(Zg(e.a,f,false))))return true;
e=(_d(g.a.g!=0),new aEb(ZAb(e.a,f,g)))}}if(!RDb(g.a)&&g.a.g!=2&&RDb(f.a))return false;h=!RDb(g.a)&&g.a.g==2?FDb(g.a):new nmc(a.g);if(!h)return true;return jCb(a,b,h,c,d,e)}function OGb(a,b,c,d,e){var f,g;this.n=new Ytc;this.e=(WLb(),MLb);this.s=a;this.k=e.Pe();this.b=VGb(this.k);this.j=new soc;this.q=b;this.f=new V1b(c.d!=(LFb(),KFb));for(f=0;true;f++){f=Zjc(a,qkc(10),f);if(f==-1)break;hoc(this.j,kjc(f))}this.r=!b?null:b.Ig();this.a=c;this.d=d;this.u=new pIb(this);this.t=(g=new q3b((F7b(),b7b)),e3b(g,
this.q),g);c.e==0?this.o=_Fb:c.c==(UFb(),OFb)?this.o=null:this.o=$Fb}function wlb(){wlb=qV;new y5("JSC_INVALID_GETELEM_INDEX_ERROR",(kY(),jY),new klc("Array index not integer: {0}"));ulb=new y5("JSC_INDEX_OUT_OF_BOUNDS_ERROR",jY,new klc("Array index out of bounds: {0}"));vlb=new y5("JSC_NEGATING_A_NON_NUMBER_ERROR",jY,new klc("Can''t negate non-numeric value: {0}"));tlb=new y5("JSC_FRACTIONAL_BITWISE_OPERAND",jY,new klc("Fractional bitwise operand: {0}"));$wnd.Math.pow(2,53)}function yqb(a,b){var c,
d,e,f,g,h,i;if(Wtc(a.a.c,b)||Wtc(a.a.b,b))return true;if(b.length==0||iic(b.charCodeAt(0)))return false;d=b.toLowerCase();for(i=(f=(new nmc(a.a.b.a)).a.oe().Md(),new tmc(f));i.a.Ed();){g=(c=i.a.Fd(),c.xe());if(hkc(d,g.toLowerCase()))return true}for(h=(e=(new nmc(a.a.c.a)).a.oe().Md(),new tmc(e));h.a.Ed();){g=(c=h.a.Fd(),c.xe());if(Ujc(d,g.toLowerCase()))return true}return false}function swb(a,b){var c,d,e,f,g;_d(Vjc(b.w,gFc));ie(a.B,"The built-in types are missing from window. Perhaps you forgot to run DeclaredGlobalExternsOnWindow?");
for(e=a.B.oe().Md();e.Ed();){c=e.Fd();f=c.ye();if(ND(f,79)){g=f;if(!g.f){se(Vjc(g.w,gFc),"Unexpected unfinalized type %s",g.w);continue}}xDb(b,c.xe(),null,zwb(f),true)}for(d=new Rlc((new Jlc(a.C.a)).a);d.b;){c=Qlc(d);xDb(b,c.xe(),null,c.ye().d,true)}}function Fyb(a,b){Rxb();var c,d,e,f,g;g=Hyb(a,b);if(0==g.Ch()&&(d=a.Dh(),d.size()==1&&is(d.Md()).c||(e=b.Dh(),e.size()==1&&is(e.Md()).c))){g=Hyb(Sxb(a),Sxb(b));if(0!=g.Ch()){f=a.Dh();if(f.size()==1&&is(f.Md()).c){ue((c=b.Dh(),!(c.size()==1&&is(c.Md()).c)),
"Two loose types %s and %s that meet to bottom, meet to non-bottom after autoboxing.",nyb(a,new Ikc).a,nyb(b,new Ikc).a);return b}else return a}}return g}function Fzb(a,b,c,d,e){var f,g;g=uEb(b,e);if(g!=null){kzb(a,c);return xyb(a.a,g)}f=rgb(d,b.indexOf(".")!=-1?new qDb(Sm(Cf(If(new nc(46)),b))):new rDb(b),true);if(!f){Vuc(a.g,c,b);return a.a.G}if(f.e){kzb(a,c);return Czb(a,f.e,d)}if(ND(f.c,160)?f.c:null){kzb(a,c);return rzb(a,ND(f.c,160)?f.c:null,d)}if(f.b){kzb(a,c);++a.c;return f.d}if(ND(f.c,79)?
f.c:null)return xzb(a,ND(f.c,79)?f.c:null,c,d,e);return a.a.G}function Fib(a){sib();var b,c;if(a.j==(F7b(),L5b))return Fib(a.b);b=u2b(a,29);if(!b){c=a.e;if(!c||a.j==L5b)return null;if(c.j==y6b)return Fib(c);else if(c.j==L4b)return Fib(c);else if(Cjb(c))return c;else if((c.j==Q5b||c.j==k5b)&&a==c.b)return Fib(c);else if(!!c&&(c.j==z7b||c.j==q6b||c.j==p5b)&&!!c.b&&!c.b.d)return c;else if(c.j==Z5b&&c.b!=a||c.j==O6b||c.j==F4b||c.j==n5b&&c.b!=a)return Fib(c)}return a}function fxb(a,b){var c,d,e,f,g,h,
i,j;if(b.isEmpty())return a;c=new Mxb(a.a);for(h=a.i.Md();h.Ed();){g=h.Fd();Gxb(c,myb(g,b))}for(e=a.e.Md();e.Ed();){d=e.Fd();Cxb(c,myb(d,b))}!!a.j&&Hxb(c,myb(a.j,b));Ixb(c,myb(a.k,b));a.c&&(c.c=true,c);Bxb(c,wxb(a.d,b));if(a.g){f=mxb(a.g);!!f&&!f.a.p.isEmpty()&&f.b.d.d.isEmpty()?Fxb(c,a.g):Fxb(c,wxb(a.g,b))}for(j=a.f.We().Md();j.Ed();){i=j.Fd();Dxb(c,i,a.f.pe(i))}return Lxb(c)}function aB(a,b,c,d,e,f){var g,h,i,j,k,l,m,n,o,p;if(b==null||d.b<0)return;h=e;g=f;if(a.f.b!=0||a.f.a!=0){o=a.f.b;p=a.f.a;
i=a.f.a;e.b>0&&(p=0);f.b>0&&(i=0);h=new uA(e.b+o,e.a+p);g=new uA(f.b+o,f.a+i)}l=new rB;l.d=b;l.c=d;l.b=c;l.e=h;l.a=g;if(a.b){k=a.b.e.b;j=a.b.e.a;n=l.e.b;m=l.e.a;we(n>k||n==k&&m>=j,"Incorrect source mappings order, previous : (%s,%s)\nnew : (%s,%s)",kjc(k),kjc(j),kjc(n),kjc(m))}a.b=l;hoc(a.e,l)}function gQb(a){var b,c,d,e,f,g;f=qRb(a.j,0).b.b;e=wOb(a);b=xOb(a,(hUb(),uSb));if(!b)if(e.c!=RSb)XQb(a,qRb(a.j,0),dIc,$C(VC(AS,1),qAc,1,5,[uSb]));else if(aOb(e.a)&&!cOb(e.a))XQb(a,e,"Cannot use keyword in short object literal",
$C(VC(AS,1),qAc,1,5,[]));else if(FQb(a,0,GSb)){d=new JVb(new CYb(f,a.g),e);tOb(a,GSb);c=UOb(a,1);return new aVb(new CYb(f,a.g),d,c)}g=!b?null:UOb(a,1);return new WXb(new CYb(f,a.g),e,g)}function Yjb(a,b){sib();var c,d,e,f,g,h,i,j;c=Yjc(b,qkc(46));if(c==-1)return Xjb(a,b);f=b.substr(0,c);Vjc(xCc,f)?e=new q3b((F7b(),q7b)):Vjc(yCc,f)?e=new q3b((F7b(),l7b)):e=Xjb(a,f);do{j=c+1;c=Zjc(b,qkc(46),j);g=c==-1?b.substr(j):b.substr(j,c-j);h=new q4b((F7b(),h7b),g);$2b(h,g.length);u0(a).bg(g)&&(i=R2b(h,h.g,43),
i!=h.g&&(h.g=i),h.g=new V3b(43,1,h.g));d=e.c+1+g.length;e=SZb(e,h);e.c=d}while(c!=-1);return e}function $8(a,b,c){var d,e,f,g,h,i,j,k;j=i9(b,Yjb(a.a,c.f),Yjb(a.a,c.f+JEc));h=m2b(b.b?b.b.f:null);d=CZb(j,h);p3b(d,b);f=u2b(b,29);if(s2b(b,58)!=0&&bkb(d.b?d.b.f:null)){g=X1b(f);J1b(g,new Z1b(new s3b((F7b(),Z4b),new q3b(V6b)),(e=u2b(b,51),!e?null:e.Ig())));f=F0b(g,false)}!!f&&(k=R2b(d,d.g,29),k!=d.g&&(d.g=k),!!f&&(d.g=new d4b(29,f,d.g)),d);i=(sib(),m3b((oe(ZZb(d),d),new s3b((F7b(),L5b),d)),d));b2b(c.g.e,
i,c.g);c.g=i}function r1(a){var b,c,d,e,f;e=(a.H.nd!=(T3(),Q3)&&!!a.U&&Elb(a.U,bDc,true),new Vqb);try{for(c=(!a.K&&(a.K=new cvb),new Poc((f=new soc,grb(),hoc(f,drb),hoc(f,crb),hoc(f,Xqb),hoc(f,_qb),hoc(f,$qb),hoc(f,brb),hoc(f,arb),undefined,grb(),hoc(f,Zqb),hoc(f,Wqb),hoc(f,erb),hoc(f,frb),undefined,grb(),hoc(f,Yqb),f)));c.a<c.c.a.length;){b=Noc(c);b.Eg(a).Nf(a.n,a.u)}}finally{d=cV(XU(kzc()),e.a);a.H.nd!=Q3&&!!a.U&&Flb(a.U,bDc,d)}}function qJb(a,b){switch(b.f){case 13:return"@"+a.j.n;case 19:return"!";
case 11:return",";case 12:return":";case 3:return">";case 5:return"[";case 7:return"{";case 9:return"(";case 2:return"<";case 17:return"?";case 14:return"|";case 6:return"]";case 8:return"}";case 10:return")";case 15:return"*";case 18:return oCc;case 20:return"=";case 4:return a.j.n;default:throw RU(new Xic(b.e!=null?b.e:""+b.f));}}function u3b(a,b,c){ae(!b.e,"first new child has existing parent");ae(!b.d,"first new child has existing next sibling");ae(!b.f,"first new child has existing previous sibling");
ae(!c.e,"second new child has existing parent");ae(!c.d,"second new child has existing next sibling");ae(!c.f,"second new child has existing previous sibling");this.j=a;this.e=null;this.b=b;b.d=c;b.f=c;b.e=this;c.d=null;c.f=b;c.e=this;this.i=-1}function iJb(a,b){var c,d,e,f,g;if(b!=(YJb(),XJb))return xIb(a,qHc,a.j.g,cKb(a.j)),null;f=a.j.n;d=a.j.g;c=cKb(a.j);while(JIb(a,KJb)&&Qjc(f,f.length-1)==46){pJb(a);if(JIb(a,XJb)){!a.o?dKb(a.j):BIb(a);f+=a.j.n}}g=MIb(a,f,d,c);if(JIb(a,MJb)){!a.o?dKb(a.j):BIb(a);
pJb(a);e=hJb(a,!a.o?dKb(a.j):BIb(a));if(e){e2b(g,e);pJb(a);if(!JIb(a,SJb))return xIb(a,"msg.jsdoc.missing.gt",a.j.g,cKb(a.j)),null;!a.o?dKb(a.j):BIb(a)}}return g}function _wb(a,b){var c,d,e,f,g,h,i;ne(!a.n.isEmpty());if(b.size()<(_d(!(a==a.a.v||a==a.a.g)),a.i.size())||b.size()>(_d(!(a==a.a.v||a==a.a.g)),a.j?_zc:a.i.size()+a.e.size()))return null;f=new dt;for(d=0,e=b.size();d<e;d++)if(!oyb(Zwb(a,d),b.getAtIndex(d),a.n,f,new aEb((XAb(),XAb(),WAb))))return null;c=new pq;for(h=a.n.Md();h.Ed();){g=h.Fd();
i=ug(f,g);if(i.size()!=1)return null;mq(c,g,is(i.Md()))}return fxb(a,Nn(c.b))}function Hn(a){var b,c,d,e,f,g,h,i,j;if(ND(a,119)&&!ND(a,277)){g=a;return g}else if(ND(a,228)){f=a;for(e=new otc((new itc(f)).a);Ktc(e.a);){d=(e.b=Ltc(e.a),new stc(e.c,e.b));he(d.a);he(d.b.b[d.a.f])}i=aq(new Zsc(f));return i}j=a.size();switch(j){case 0:return mx(),lx;case 1:d=is(a.oe().Md());return Tn(d.xe(),d.ye());default:h=(zv(),new Yuc);for(c=a.oe().Md();c.Ed();){b=c.Fd();Vuc(h,he(b.xe()),he(b.ye()))}return new rx(h)}}
function vKb(a,b,c,d){var e,f,g,h,i,j,k,l,m,n,o,p,q;i=new cSb(a.Ig(),b);j=c.b==1;e=new yKb(d,j);f=uKb(c);k=new aRb(f,e,i);n=(o=new GYb,p=qRb(k.j,0).b.b,q=DPb(k),tOb(k,(hUb(),ESb)),IYb(o.a,cV(XU(kzc()),o.b)),new VXb(new CYb(p,k.g),q,Tm(k.a.a.a)));m=null;Lm();h=k.d;if(!e.d||j){g=YGb(n,a,b,c,d);m=g.p;h=YLb(h,g.e);l=R2b(m,m.g,89);l!=m.g&&(m.g=l);!!h&&(m.g=new d4b(89,h,m.g));c.d!=(LFb(),KFb)&&Tm(k.a.a.a)}return new BKb(m,h,k.f)}function gub(a){var b,c,d,e,f,g,h,i,j,k,l,m,n,o;n=new Gwc(new oub);for(k=a.Md();k.Ed();){j=
k.Fd();l=gkc(j,"/node_modules/",0);m="";for(e=0;e<l.length-1;e++){e+1<l.length&&(m+=l[e]+"/");o=jkc(j,m.length+13);i=m;!!swc(n,i)||ywc(n,m,new Ytc);(h=m,ih(swc(n,h))).add(o);m+="node_modules/"}}f=new Gwc(new tub);for(d=(new $wc(n)).b.ej();d.Ed();){c=d.Fd();ywc(f,c.xe(),(km(),g=c.ye(),xo(g)))}return kr(),b=!zsc(f.a)?jr:zsc(f.a),mr(f,b)}function B9(a,b,c){var d,e,f,g,h,i,j,k;j=false;k=(sib(),xib(c,false,a.a));d=c;for(i=new R3b(new O3b(d.e));i.a.a;){h=Q3b(i);if(h==b)return j?2:1;if(G9(h))d!=h.b&&(j=
true);else if(A9(a,h,k));else{for(g=(!h.b?(Gpc(),Gpc(),Fpc):new k4b(h.b)).Md();g.Ed();){f=g.Fd();if(f==d)break;if(k?wib(f,a.b,a.d):xib(f,false,a.a)){k=true;j=true}}e=h.b;if(j&&h.j==(F7b(),f5b)&&(e.j==(F7b(),W5b)||e.j==V5b))return 0}d=h}throw RU(new Xic(WEc));}function Hyb(a,b){var c,d;if(-1==a.Ch())return b;if(-1==b.Ch())return a;if(_zc==a.Ch())return b;if(_zc==b.Ch())return a;if(0==a.Ch()||0==b.Ch())return a.e.b;if(512==a.Ch())return hyb(b);if(QEc==a.Ch())return gyb(b);if(512==b.Ch())return hyb(a);
if(QEc==b.Ch())return gyb(a);c=a.Ch()&b.Ch();if(a.Eh()==b.Eh())d=a.Eh();else{d=null;c=c&-2}return Gyb(a.e,c,a.Ch()|b.Ch(),NCb(false,a.Dh(),b.Dh()),d,a.Dh(),b.Dh(),a.Bh(),b.Bh())}function UXb(){SXb();return $C(VC(WP,1),vAc,17,0,[qXb,RWb,lWb,OXb,MXb,HWb,LWb,WWb,GWb,PXb,OWb,QWb,NXb,CWb,mWb,uXb,QXb,pWb,EWb,yXb,_Wb,DXb,qWb,EXb,DWb,CXb,VWb,aXb,fWb,lXb,tWb,vWb,uWb,UWb,vXb,rXb,wWb,xWb,zWb,AWb,eXb,sWb,kWb,BWb,JXb,LXb,bXb,iXb,eWb,nWb,rWb,$Wb,gXb,hXb,IWb,cXb,pXb,MWb,xXb,gWb,iWb,mXb,NWb,wXb,kXb,tXb,fXb,JWb,KWb,
XWb,YWb,PWb,RXb,FWb,zXb,AXb,BXb,HXb,IXb,FXb,nXb,oXb,hWb,sXb,KXb,SWb,TWb,dXb,yWb,GXb,dWb,ZWb,oWb,jXb,jWb])}function bbb(a,b,c,d,e){var f,g,h,i,j,k,l,m;if(ebb(a,b,c,d))return;i=Zab(a,d);i.p=e;j=new xbb(b,(h=(Gbb(),Ebb),++a.a.b,h));ibb(i,j);if(c.j==(F7b(),L4b)&&c.e.j!=L5b){f=new xbb(b,(g=zbb,++a.a.b,g));ibb(i,f);_d((j.b==zbb||f.b==zbb)&&(j.b==Ebb||j.b==Fbb||f.b==Ebb||f.b==Fbb))}else(k=Vib(b),l=(sib(),m=Fib(b),!m?null:u2b(m,29)),!!l&&!!k&&((l.a&2)!=0&&k.j==Q5b||((l.a&512)!=0||(l.a&NDc)!=0)&&k.j==Q5b||
(l.a&KEc)==XEc&&k.j==L6b))&&kbb(i)}function cdb(a,b){var c,d,e,f;b.j==(F7b(),W5b)&&Tcb(b.e);if(Bgb(a.a,b)){b.j==W5b&&Vib(b).j!=O6b&&Nhb(a.b.t,Keb(b,(pcb(),icb),$C(VC(FS,1),bAc,2,6,[(b.b?b.b.f:null).Lh(),v2b(b.b)])));return}mgb(a.a,b);d=Vib(b);d.j==O6b&&(d=d.b?d.b.f:null);se(d.j==L6b,"Expected object literal, found %s",d);for(f=(!d.b?(Gpc(),Gpc(),Fpc):new k4b(d.b)).Md();f.Ed();){e=f.Fd();if(Scb(a,e)){c=SZb(k2b(b,false),n$b(e.Lh()));CZb(c,k2b(e.b,false));Zcb(a,c)}}}function t$(a,b,c){switch(b.j.f){case 96:case 148:case 151:case 159:IZ(a.c,
c==0);break;case 65:(b.b?b.b.f:null).j==(F7b(),B5b)?a.c.tg(true):a.c.qg(c==0);break;case 155:b.e.j!=(F7b(),B6b)&&t$(a,b.b,c);break;case 108:b.e.j!=(F7b(),B6b)&&b.b.j!=t5b&&t$(a,b.b,c);break;case 114:!!b.b&&!b.b.d&&a.c.tg(true);break;case 98:case 86:case 87:t2b(b.b).j==(F7b(),B5b)&&a.c.tg(true);break;case 156:a.c.tg(true);break;default:c==0&&a.c.tg(false)}}function Kjc(){Kjc=qV;var a;Gjc=$C(VC(XD,1),jBc,46,15,[-1,-1,30,19,15,13,11,11,10,9,9,8,8,8,8,7,7,7,7,7,7,7,6,6,6,6,6,6,6,6,6,6,6,6,6,6,5]);Hjc=
XC(XD,jBc,46,37,15,1);Ijc=$C(VC(XD,1),jBc,46,15,[-1,-1,63,40,32,28,25,23,21,20,19,19,18,18,17,17,16,16,16,15,15,15,15,14,14,14,14,14,14,13,13,13,13,13,13,13,13]);Jjc=XC(YD,{3:1,562:1},46,37,14,1);for(a=2;a<=36;a++){Hjc[a]=UD($wnd.Math.pow(a,Gjc[a]));Jjc[a]=VU({l:pBc,m:pBc,h:524287},Hjc[a])}}function Sxb(a){var b,c,d,e,f;if(-1==a.Ch()||_zc==a.Ch())return a;e=a.Ch();if((e&220)==0)return a;switch(e){case 64:return gAb(a.e);case 24:case 8:case 16:return aAb(a.e);case 128:return kAb(a.e)}b=(km(),new Wq);
Vq(b,a.Dh());(e&64)!=0&&Tq(b,hAb(a.e));(e&128)!=0&&Tq(b,lAb(a.e));(e&24)!=0&&Tq(b,bAb(a.e));f=Eyb(a.e,e&-217,yo(new Poc(b.a)),a.Eh(),Oxb);for(d=a.Bh().Md();d.Ed();){c=d.Fd();f=Cyb(f,Sxb((ne(c.d==(Rwb(),Qwb)),c.a)))}return f}function EZ(a,b){var c,d,e,f,g,h;f=a.ug();e=b==0&&1/b<0;(b<0||e)&&f==45&&DZ(a," ");if(e)DZ(a,"-0");else if(eV(XU(b))==b){g=XU(b);d=g;c=0;if($wnd.Math.abs(b)>=100)while(WU($U(VU(d,10),XU($wnd.Math.pow(10,c+1))),g)){d=VU(d,10);++c}if(c>2)DZ(a,gV(d)+"E"+c);else{h=TU(g,0)<0?_U(g):
g;TU(h,1E12)>0&&ujc(h,4).length+2<(""+gV(h)).length?DZ(a,(TU(g,0)<0?"-":"")+"0x"+ujc(h,4)):DZ(a,""+gV(g))}}else DZ(a,fkc(dkc(""+b,".0E","E"),"$1."))}function bfb(a){var b,c,d,e,f,g;this.a=new huc;oe(a.a.length==(new $tc(a)).a.size(),"Found duplicate modules");this.b=Tm(a);this.c=new soc;for(g=new Poc(a);g.a<g.c.a.length;){f=Noc(g);e=0;for(c=new Poc(f.a);c.a<c.c.a.length;){b=Noc(c);d=b.b;if(d<0)throw RU(new gfb(gZb("Modules not in dependency order: %s preceded %s",$C(VC(AS,1),qAc,1,5,[f.d,b.d])),f,
b));e=e>d+1?e:d+1}f.b=e;e==this.c.a.length&&hoc(this.c,new soc);koc(this.c,e).add(f)}}function W8b(a,b,c,d){var e,f,g,h,i,j,k,l,m,n;if(!ND(b,83))return false;f=b;if(!a.b.ki(f.b,c,d))return false;m=a.a.b;i=f.a.b;while(!!m&&!!i){n=ND(m.k,20)?m.k:null;j=ND(i.k,20)?i.k:null;if(n)if(!j||!j.ki(n,c,d))return false;l=s2b(m,30)!=0;h=s2b(i,30)!=0;k=l||s2b(m,37)!=0;g=h||s2b(i,37)!=0;if(!k&&g){e=h&&(!j||j.li()||j.ei());if(!e)return false}l||(m=m.d);h||(i=i.d);if(l&&h){m=null;i=null}}return!m||s2b(m,37)!=0||s2b(m,
30)!=0||!!i}function XKb(a,b){var c,d;if(!CKb(a,b,(GLb(),ALb)))return false;if(!_Kb(a,(ee(b.j==(F7b(),f5b),yHc,b),o2b(b,1)))){fLb(a,ALb.d);return false}if((ee(b.j==f5b,yHc,b),o2b(b,2)).j!=J6b){a.a.ih((c=$C(VC(AS,1),qAc,1,5,[tAc]),jHc+D4b(zHc,c)),a.b.Ig(),a.d,a.c);fLb(a,ALb.d);return false}d=(ee(b.j==f5b,yHc,b),o2b(b,2)).Kh();if(d<0||d%1!=0){a.a.ih((c=$C(VC(AS,1),qAc,1,5,[tAc]),jHc+D4b(zHc,c)),a.b.Ig(),a.d,a.c);fLb(a,ALb.d);return false}return true}function mRb(a){var b;a.d=a.b.b==0?a.d:qRb(a,0).b.b.c;
Kvc(a.b);b=a.d;lRb(a);if(!LRb(a))return new mOb((hUb(),CTb),kkc(a.e.a,b,a.d),hOb(a.e.b,b,a.d));if((kRb(a,a.d)?Qjc(a.e.a,a.d):0)!=47){tRb(a,"Expected '/' in regular expression literal",$C(VC(AS,1),qAc,1,5,[]));return new mOb((hUb(),CTb),kkc(a.e.a,b,a.d),hOb(a.e.b,b,a.d))}lRb(a);while(WRb(kRb(a,a.d)?Qjc(a.e.a,a.d):0))lRb(a);return new mOb((hUb(),CTb),kkc(a.e.a,b,a.d),hOb(a.e.b,b,a.d))}function tY(){tY=qV;sY=new y5("JSC_REGEXP_REFERENCE",(kY(),jY),new klc("References to the global RegExp object prevents optimization of regular expressions."));
rY=new y5("JSC_MALFORMED_REGEXP",jY,new klc("Malformed Regular Expression: {0}"));Do("$1","$2","$3","$4","$5","$6",$C(VC(FS,1),bAc,2,6,["$7","$8","$9","$_","$input","input","lastMatch","lastParen","leftContext","rightContext","global","ignoreCase","lastIndex","multiline","source"]))}function $Ib(a,b){var c,d;if(b==(YJb(),NJb)){c=new Ytc;while(true){if(JIb(a,XJb)){d=a.j.n;!rIb.contains(d)&&!G0b(a.e,d)&&wIb(a,"msg.jsdoc.modifies.unknown",d,a.j.g,cKb(a.j));Vtc(c,a.j.n);b=!a.o?dKb(a.j):BIb(a)}else{uIb(a,
uHc,a.j.g,cKb(a.j));return b}if(JIb(a,QJb))b=!a.o?dKb(a.j):BIb(a);else break}if(JIb(a,TJb)){b=!a.o?dKb(a.j):BIb(a);r1b(a.e,c)||uIb(a,"msg.jsdoc.modifies.duplicate",a.j.g,cKb(a.j))}else uIb(a,uHc,a.j.g,cKb(a.j))}return b}function fJb(a,b){var c;if(b==(YJb(),RJb)){b=!a.o?dKb(a.j):BIb(a);if(b==GJb||b==LJb||b==VJb||b==TJb||b==UJb||b==QJb||b==SJb||b==IJb||b==JJb){a.o=b;return LIb(a,(F7b(),V6b))}return rJb(a,(F7b(),V6b),RIb(a,b))}else if(b==EJb)return rJb(a,(F7b(),Z4b),RIb(a,!a.o?dKb(a.j):BIb(a)));else{c=
RIb(a,b);if(c)if(JIb(a,RJb)){!a.o?dKb(a.j):BIb(a);return rJb(a,(F7b(),V6b),c)}else if(JIb(a,EJb)){!a.o?dKb(a.j):BIb(a);return rJb(a,(F7b(),Z4b),c)}return c}}function cB(a,b,c){var d,e,f,g,h,i,j;g=gB(a)+1;b.a+="{\n";kB(b,"version",true);b.a+="3";jB(b,(RB(),UB(c)));kB(b,"lineCount",false);b.a+=""+g;kB(b,"mappings",false);nB(new pB(a,b,g));kB(b,"sources",false);b.a+="[";iB(b,a.k);b.a+="]";bB(a,b);kB(b,"names",false);b.a+="[";iB(b,a.g);b.a+="]";for(f=(i=(new nmc(a.a)).a.oe().Md(),new tmc(i));f.a.Ed();){e=
(d=f.a.Fd(),d.xe());h=Uuc(a.a,e);SD(h)?j=UB(h):j=tV(h);kB(b,e,false);b.a+=""+j}b.a+="\n}\n"}function Udb(a,b){var c,d,e,f,g,h,i,j,k,l;_d(b.j==(F7b(),W5b));j=t2b(b.e);if(j.j!=L6b)return;c=Tib(b);d=sDb(c);k=(e=rgb(a.a,d,false),!e?null:ND(e.c,79)?e.c:null);if(!k){for(i=(!j.b?(Gpc(),Gpc(),Fpc):new k4b(j.b)).Md();i.Ed();){g=i.Fd();f=g.b?g.b.f:null;!!f&&f.j==Q5b&&Odb(a,f,null)}return}l=R2b(b,b.g,76);l!=b.g&&(b.g=l);b.g=new V3b(76,1,b.g);for(h=(!j.b?(Gpc(),Gpc(),Fpc):new k4b(j.b)).Md();h.Ed();){g=h.Fd();
rdb(a,k,g.Lh(),g,g.b?g.b.f:null)}}function TQb(a){switch(qRb(a.j,0).c.f){case 45:case 25:case 30:case 52:case 15:case 10:case 27:case 13:case 6:case 3:case 19:case 28:case 20:case 22:case 23:case 7:case 44:case 2:case 108:case 109:case 110:case 111:case 21:case 29:case 35:case 100:case 101:case 107:case 104:case 97:case 98:case 94:case 95:case 99:case 49:case 47:case 18:case 9:case 26:case 24:case 68:case 69:case 63:case 64:case 77:case 76:return true;default:return false}}function _cb(a,b){var c,
d,e,f,g,h,i;d=(sib(),h=Fib(b),!h?null:u2b(h,29));i=Pib(b);f=Rcb(a,b,i);if(!i||!F2b(i))g=false;else if(i.j==(F7b(),y6b))g=Cgb(a.a,i.Lh(),false);else{se(i.j==W5b,"Expected getprop, found %s",i.j);g=Bgb(a.a,i);if(g&&!!d){M2b(i.e,76,true);Nhb(a.b.t,Keb(i,(pcb(),icb),$C(VC(FS,1),bAc,2,6,[(i.b?i.b.f:null).Lh(),v2b(i.b)])))}}e=new Qgb(b,a.a,Qcb(a,b,d),a.b.d);c=u2b(b,51);!!c&&c.vh()||hoc(a.b.p,e);kgb(a.a,f,e);Xcb(a,b,i,d,g)}function UYb(a,b,c){var d,e,f,g,h,i,j,k,l;j=c;k=a.b.p;h=a.b.n;d=rkc(b);if(h>=0){d=
d<h?d:h;ND(b,24)?(l=b.a.length,d<l?b.a=kkc(b.a,0,d):d>l&&(b.a+=ukc(XC(WD,cAc,46,d-l,15,1))),undefined):b=SD(b)?b.substr(0,d-0):b.Ui(0,d)}k>0&&(k=zjc(rkc(b),k));if(d>=k)return b;e=32;a.b.k?a.b.b==100?e=48:e=48:j=0;f=XC(WD,cAc,46,k-d,15,1);cpc(f,f.length,e);g=a.b.f;i=ND(b,24)?b:new Kkc(b);g?(i.a+=vkc(f,0,f.length),i):Hkc(i,j,vkc(f,0,f.length));return i}function yY(){yY=qV;If(new nc(46));new Vc(String.fromCharCode(46));xY=new y5("JSC_MISSING_REQUIRE_WARNING",(kY(),iY),new klc(VBc));vY=new y5("JSC_MISSING_REQUIRE_FOR_GOOG_SCOPE",
iY,new klc(VBc));wY=new y5("JSC_MISSING_REQUIRE_STRICT_WARNING",iY,new klc(VBc));uY=new y5("JSC_EXTRA_REQUIRE_WARNING",iY,new klc("extra require: ''{0}''"));km();zo($C(VC(AS,1),qAc,1,5,["goog.testing.asserts","goog.testing.jsunit","goog.testing.JsTdTestCaseAdapter"]))}function Dyb(a,b){switch(b){case 0:return a.b;case 8:return a.w;case 16:return a.e;case 32:return a.j;case 64:return a.q;case 128:return a.t;case 256:return a.B;case 512:return a.A;case QEc:return a.f;case _zc:return a.G;case -1:return a.u;
case 24:return a.a;case 192:return a.r;case 280:return a.C;case 320:return a.D;case 384:return a.F;case 288:return a.p;case 56:return a.k;case 96:return a.n;case 160:return a.o;default:return new RAb(a,b)}}function Bqb(a,b,c,d){var e,f,g;switch(d.j.f){case 76:break;case 26:case 27:d.b==c&&xqb(a,b,c)&&Gqb(a,d,d.e);break;case 47:case 48:case 49:case 50:case 51:case 52:case 53:case 54:case 55:case 56:case 57:case 58:if(xqb(a,b,c))if(d.b==c){e=d.e;if(e.j==(F7b(),L5b)){f=e.e;ckb(f,e);d1(a.a.a)}else{g=
c.d;O2b(d,g);S2b(e,d,g);d1(a.a.a)}}else{S2b(d,c,new q3b((F7b(),H6b)));d1(a.a.a)}break;default:if(xqb(a,b,c)){S2b(d,c,new q3b((F7b(),H6b)));d1(a.a.a)}}}function O6(a,b){var c,d,e,f,g;f=b.e;if(b.c){e=(se(Yjc(oEc,qkc(46))==-1,YBc,oEc),new q4b((F7b(),y6b),oEc));c=LZb(e,(se(Yjc(PDc,qkc(46))==-1,YBc,PDc),new q4b(y6b,PDc)),p5b);d=new V1b(false);M1b(d,new Z1b(new s3b(Z4b,new q4b(h7b,"Arguments")),"<Es6RewriteArrowFunction>"));Y2b(c,F0b(d,false));p3b(c,f);e2b(f,c)}if(b.d){e=(se(Yjc(pEc,qkc(46))==-1,YBc,pEc),
new q4b((F7b(),y6b),pEc));g=LZb(e,new q3b(q7b),p5b);p3b(g,f);!b.b?e2b(f,g):b2b(f,g,b.b)}d1(a.a)}function Gdb(a,b){var c,d,e,f,g,h,i;if(F2b(b)){c=rgb(a.a,sDb(b),false);if(!c){i=Fdb(a,b);if(i)return g=i.Ch()==2&&i.Dh().size()==1?is(i.Dh().Md()):null,!g?null:g.b}else if(ND(c.c,79)?c.c:null)return(ND(c.c,79)?c.c:null).c;else if(c.a){d=c.a.c;if(d)return dwb(d)}else if(c.c){e=c.c;if(ND(e,201)){d=e.a.c;return dwb(he(d))}}else if(c.d)return Wxb(c.d)}h=Fdb(a,b);return!h?null:(f=h.Ch()==2&&h.Dh().size()==1?
is(h.Dh().Md()):null,!f?null:f.b)}function M7b(a,b,c,d,e){var f,g,h,i,j,k,l;g=new z4b((F7b(),R5b),a);he(b);he(c);for(j=new wvc(new nvc(b));j.b!=j.c.a.b;){h=uvc(j);f=b$b(h.d);d2b(g,N7b(f,h.e))}for(i=new wvc(new nvc(c));i.b!=i.c.a.b;){h=uvc(i);f=b$b(h.d);l=R2b(f,f.g,80);l!=f.g&&(f.g=l);f.g=new V3b(80,1,f.g);d2b(g,N7b(f,h.e))}if(d!=null){k=new s3b(Y6b,(se(Yjc(d,qkc(46))==-1,YBc,d),new q4b(y6b,d)));d2b(g,(!!e&&(l=R2b(k,k.g,78),l!=k.g&&(k.g=l),!!e&&(k.g=new d4b(78,e,k.g))),k))}return g}function sX(a,b){var c,
d,e,f,g,h,i;if(!b)return!a?0:1;if(a.b!=b.b)return Pe(b.b,a.b);g=a.a.f;h=b.a.f;if(g!=null&&h!=null){i=Jzc((Bzc(g),g),(Bzc(h),h));if(i!=0)return i}else if(g==null&&h!=null)return-1;else if(g!=null&&h==null)return 1;e=a.a.d;f=b.a.d;if(e!=f)return e-f;else if(e<0&&0<=f)return-1;else if(0<=e&&f<0)return 1;c=a.a.a;d=b.a.a;if(c!=d)return c-d;else if(c<0&&0<=d)return-1;else if(0<=c&&d<0)return 1;return Rjc(a.a.c,b.a.c)}function cIb(a,b){var c,d;if(b.a.size()==1){c=b.a.getAtIndex(0);switch(c){case "any":d=
cGb(a.a,new y4b((F7b(),H4b)));break;case Yzc:d=cGb(a.a,new y4b((F7b(),K6b)));break;case Xzc:d=cGb(a.a,new y4b((F7b(),d5b)));break;case $zc:d=cGb(a.a,new y4b((F7b(),j7b)));break;case FCc:d=cGb(a.a,new y4b((F7b(),B7b)));break;case hEc:d=cGb(a.a,new y4b((F7b(),w7b)));break;default:d=cGb(a.a,O7b(b.a))}}else d=cGb(a.a,O7b(b.a));z3b(d.i)==-1&&DGb(d,b.o.b,b.o.a);return d}function jW(a,b,c){var d,e,f,g,h,i,j,k;switch(b.j.f){case 98:case 86:case 87:i=H7b(b.j);i!=-1&&(e=p2b(b),i!=e&&mX(CBc+i+DBc+e,b));k=b.b;
c?uW(a,k,true):uW(a,k,false);break;case 156:f=p2b(b);0!=f&&mX(BBc+f,b);break;case 114:mW(a,b);break;case 157:j=H7b(b.j);j!=-1&&(g=p2b(b),j!=g&&mX(CBc+j+DBc+g,b));hW(b.b);break;case 158:h=H7b(b.j);h!=-1&&(d=p2b(b),h!=d&&mX(CBc+h+DBc+d,b));break;case 80:break;default:mX("Class contained member of invalid type "+b.j,b)}}function ROb(a,b){var c,d,e,f,g,h;a.d=YLb(a.d,(TMb(),nMb).a);f=qRb(a.j,0).b.b;d=(Lm(),new hq);tOb(a,(hUb(),oTb));while(GQb(a,vSb)||LQb(a)||FQb(a,0,JTb))if(GQb(a,vSb)){tOb(a,vSb);fq(d,
new ZVb(AOb(a,qRb(a.j,0).b.b)))}else{c=(GQb(a,JTb)?e=(g=qRb(a.j,0).b.b,tOb(a,JTb),h=jQb(a,b),new wUb(new CYb(g,a.g),h)):e=bQb(a,b),e);hoc(d.a,he(c));if(c.p==(SXb(),iWb))break;else if(GQb(a,vSb))tOb(a,vSb);else break}tOb(a,tSb);return new uUb(new CYb(f,a.g),Tm(d.a))}function i_b(a){var b,c,d,e,f,g,h,i,j;e=new soc;!!a.i&&hoc(e,a.i.a);!!a.g&&hoc(e,a.g.a);if(a.d){!!a.d.a&&hoc(e,a.d.a.a);if(a.d.e)for(d=new Poc(a.d.e);d.a<d.c.a.length;){c=Noc(d);hoc(e,c.a)}if(a.d.f)for(d=new Poc(a.d.f);d.a<d.c.a.length;){c=
Noc(d);hoc(e,c.a)}if(a.d.n)for(h=(f=(new xmc(a.d.n)).a.oe().Md(),new Cmc(f));h.a.Ed();){g=(b=h.a.Fd(),b.ye());!!g&&hoc(e,g.a)}if(a.d.r)for(j=new Poc(a.d.r);j.a<j.c.a.length;){i=Noc(j);!!i&&hoc(e,i.a)}}return e}function dPb(a,b,c){var d,e,f,g,h,i,j,k;h=qRb(a.j,0).b.b;tOb(a,(hUb(),pSb));g=null;(!b||(k=qRb(a.j,0).c,Atc(wtc(RSb,$C(VC(EO,1),vAc,13,0,[$Tb,zSb,dTb,eTb])),k)||!a.b.b&&bOb(k)))&&(g=uOb(a));e=DOb(a);i=null;if(GQb(a,LSb)){tOb(a,LSb);i=HOb(a,1)}f=(Lm(),new hq);if(a.b.c&&GQb(a,TSb)){tOb(a,TSb);
j=tQb(a);hoc(f.a,he(j));while(GQb(a,vSb)){tOb(a,vSb);j=tQb(a);!!j&&(hoc(f.a,he(j)),f)}}tOb(a,mTb);d=fPb(a,c);tOb(a,rSb);return new FUb(new CYb(h,a.g),g,e,i,Tm(f.a),d)}function P7(a){var b,c,d,e,f,g,h,i,j,k;b=Q2b(a.d);h=Q2b(a.d);g=!!a.d.b;i=G7++;j=VZb(t$b((F7b(),G6b),b),FZb($C(VC(jR,1),ZBc,7,0,[NZb(CZb((se(Yjc(wEc,qkc(46))==-1,YBc,wEc),new q4b(y6b,wEc)),new $3b(i))),Z7()])));k=R2b(j,j.g,67);k!=j.g&&(j.g=k);j.g=new V3b(67,1,j.g);f=$7(i);e2b(a.j,j);b2b(a.j,h,j);b2b(a.j,f,h);if(g){c=Q2b(a.d);d=G7++;e=
$7(d);d2b(h,NZb(CZb((se(Yjc(wEc,qkc(46))==-1,YBc,wEc),new q4b(y6b,wEc)),new $3b(d))));d2b(h,Z7());b2b(a.j,c,f);b2b(a.j,e,c)}}function _Kb(a,b){var c,d,e;if(!(b.j==(F7b(),y6b)||b.j==h7b||b.j==f5b)){a.a.ih((c=$C(VC(AS,1),qAc,1,5,[AHc]),jHc+D4b(BHc,c)),a.b.Ig(),a.d,a.c);return false}if(b.j==y6b||b.j==h7b)return true;e=(ee(b.j==f5b,yHc,b),b.b.Lh());if(!EKb(e)){a.a.ih((c=$C(VC(AS,1),qAc,1,5,[AHc]),jHc+D4b(BHc,c)),a.b.Ig(),a.d,a.c);return false}d=ILb(Lb(e));switch(d.a){case 0:return YKb(a,b);case 1:return PKb(a,
b);default:throw RU(new Xic("Invalid type transformation expression"));}}function KKb(a,b){var c;if(!CKb(a,b,(GLb(),jLb)))return false;if(!IKb(a,(ee(b.j==(F7b(),f5b),yHc,b),o2b(b,1)))){a.a.ih((c=$C(VC(AS,1),qAc,1,5,[DHc]),jHc+D4b(CHc,c)),a.b.Ig(),a.d,a.c);return false}if(!_Kb(a,(ee(b.j==f5b,yHc,b),o2b(b,2)))){a.a.ih((c=$C(VC(AS,1),qAc,1,5,[DHc]),jHc+D4b(CHc,c)),a.b.Ig(),a.d,a.c);return false}if(!_Kb(a,(ee(b.j==f5b,yHc,b),o2b(b,3)))){a.a.ih((c=$C(VC(AS,1),qAc,1,5,[DHc]),jHc+D4b(CHc,c)),a.b.Ig(),a.d,
a.c);return false}return true}function Xab(a,b){var c,d,e;e=a;for(d=new R3b(new O3b(a.e));d.a.a;){c=Q3b(d);switch(c.j.f){case 41:case 84:case 76:case 100:case 88:case 66:case 70:case 72:case 73:case 25:case 79:case 19:case 20:case 21:case 22:return Gbb(),Cbb;case 60:if(c.b==e)return Gbb(),Cbb;break;case 47:if(!Vjc(b,v2b(c.b)))return Gbb(),zbb;break;case 29:if(!Vjc(b,c.Lh()))return Gbb(),zbb;break;case 28:if(c.b!=e)return Gbb(),zbb;break;case 24:return Gbb(),Bbb}e=c}return Gbb(),zbb}function ePb(a,
b){var c,d;if(GQb(a,(hUb(),GTb)))return lPb(a);else{d=new fRb(qRb(a.j,0).b.b);d.b=b;d.a=BOb(a);d.c=!!xOb(a,OTb);return FQb(a,0,RSb)&&Vjc(qRb(a.j,0).a,"get")&&(QQb(a,1)||qRb(a.j,1).c==oTb)?CPb(a,d):FQb(a,0,RSb)&&Vjc(qRb(a.j,0).a,"set")&&(QQb(a,1)||qRb(a.j,1).c==oTb)?lQb(a,d):FQb(a,0,RSb)&&Vjc(qRb(a.j,0).a,nCc)&&(c=qRb(a.j,1).b.b.b>qRb(a.j,0).b.a.b,!(c||FQb(a,1,GTb)||FQb(a,1,rSb)||FQb(a,1,ESb)))&&(QQb(a,1)||qRb(a.j,1).c==oTb)?YOb(a,d):gPb(a,d)}}function Idb(a,b,c){var d,e,f,g,h,i;if(b.j==(F7b(),W5b)&&
Vjc((b.b?b.b.f:null).Lh(),fCc))return Jdb(a,b.b,c);g=new rDb(c);if(F2b(b)){h=sDb(b);d=rgb(a.a,h,false);if(d){e=ND(d.c,160)?d.c:null;if(!!e&&e.c.contains(c))return ne(e.d==(Rwb(),Qwb)),e.a;f=d.c;if(f)return Edb(a,uwb(f,g))}}i=Fdb(a,b);!!i&&(i.Ch()==64||i.Ch()==128||i.Ch()==32||i.Ch()==256||(i.Ch()&-25)==0&&(i.Ch()&24)!=0)&&(i=Sxb(i));if(!!i&&(dEb(i.Dh(),g)||dEb(i.Bh(),g)))return _xb(i,g);return null}function _ab(a,b,c,d){var e,f,g;if(ebb(a,b,c,d))return;switch(c.j.f){case 84:case 66:case 41:case 25:case 79:case 19:case 20:case 21:case 22:g=
(Gbb(),Cbb);break;case 28:b==c.b?g=(Gbb(),Abb):dbb(a,c)?g=(Gbb(),Cbb):g=(Gbb(),zbb);break;case 23:g=b==c.b?(Gbb(),Cbb):(Gbb(),zbb);break;case 61:case 62:g=Xab(c,d);break;case 60:b!=c.b?g=Xab(c,d):g=(Gbb(),Cbb);break;case 24:g=(Gbb(),Bbb);break;default:g=(Gbb(),zbb)}f=Zab(a,d);ibb(f,new xbb(b,(e=g,++a.a.b,e)))}function Oob(){Oob=qV;Lob=new y5("JSC_CANNOT_PARSE_GENERATED_CODE",(kY(),hY),new klc("Internal compiler error. Cannot parse generated code: {0}"));Nob=new y5("JSC_GENERATED_BAD_CODE",hY,new klc("Internal compiler error. Generated bad code.----------------------------------------\nExpected:\n{0}\n----------------------------------------\nActual:\n{1}"));
Mob=new y5("JSC_EXTERN_PROPERTIES_CHANGED",hY,new klc("Internal compiler error. Extern properties modified."))}function V0(a){var b,c,d;b=(!a.K&&(a.K=new cvb),new soc);if(b.a.length==0)return;Eyc(i0,"Normalizing");k1(a,"normalize");Z0(a,new Hkb(a,false));r0(a);a.H.kb&&(Eyc(i0,"Creating extern file for exports"),k1(a,_Cc),c=new M9(a),L9(c,a.u),d=L$(I$(J$(new M$(c.g))),I0(c.b)),"/**\n * @fileoverview Generated externs.\n * @externs\n */\n"+G$(d),r0(a),undefined);a.L=new _lb(a,a.U,null);a.H._==(Q2(),
M2)&&Ylb(a.L,a.O);a.H.q&&(a.L.o=true);Tlb(a.L,b);Xlb(a.L,a.n,a.u);a.L=null}function gCb(a,b){var c,d,e,f,g,h;ne(pCb(a.d,b.d));if(a==a.a._&&b.f.a==0)return b;if(a.e)return hCb(a,b);g=FBb(a.d,b.d);if(!SDb(g.a,_Dc)&&!RDb(g.a)&&!SDb(g.a,kFc)){ne(!a.b&&!b.b);f=MCb(a.a,true,g,a.g,b.g);if(f==a.a.d)return a.a.M;return new nCb(a.a,g,f,null,a.e,false,a.f)}h=a.b;c=a.c;if(SDb(g.a,_Dc)&&!a.b){h=b.b;c=b.b.c}e=MCb(a.a,true,g,a.g,b.g);if(e==a.a.d)return a.a.M;d=!h?null:cxb(h,b.b);if(!(!d||d!=d.a.c))return a.a.M;
return new nCb(a.a,g,e,d,a.e,c,a.f)}function Pkb(a,b,c,d){var e,f,g,h,i,j,k,l,m;for(e=b.b;e;e=m){m=e.d;i=!c?e:c;j=!c?b:d;switch(e.j.f){case 83:Pkb(a,e,i,j);break;case 73:g=e.b;if(g.j==(F7b(),z7b)){l=g;k=l.b.Jh(false);S2b(g.e,g,k);c2b(j,l,i);Tkb(a,"FOR-IN var declaration")}break;case 72:if(e.b.j!=(F7b(),B5b)){h=e.b;if(h.j==q6b||h.j==p5b||h.j==k5b||h.j==Q5b)return;f=new q3b(B5b);o3b(f,e);S2b(e,h,f);h.j==z7b?l=h:l=(sib(),m3b((oe(ZZb(h),h),new s3b(L5b,h)),h));c2b(j,l,i);Tkb(a,"FOR initializer")}}}}function sib(){sib=
qV;jib=Do(ZDc,"Date",VDc,dEc,bEc,"XMLHttpRequest",$C(VC(FS,1),bAc,2,6,[]));iib=Do(dEc,ZDc,lBc,aEc,$Dc,bEc,$C(VC(FS,1),bAc,2,6,[VDc]));oib=(km(),zo($C(VC(AS,1),qAc,1,5,["toString","valueOf"])));pib=zo($C(VC(AS,1),qAc,1,5,["test","exec"]));qib=zo($C(VC(AS,1),qAc,1,5,["match","replace","search","split"]));kib=wtc((F7b(),Q5b),$C(VC(lR,1),vAc,10,0,[b7b,w6b,_6b]));rib=new fkb;lib=wtc(b7b,$C(VC(lR,1),vAc,10,0,[w6b,c5b,l6b,B6b]));mib=new Ckb;nib=new ikb}function seb(a){peb();var b,c,d,e,f,g,h,i,j;i=gkc(a,
"\r?\n",0);b=new pq;for(d=0;d<i.length;++d){g=i[d];if(g.length==0||Vjc(g.substr(0,1),"#")||Vjc(g.substr(0,1),"!"))continue;j=Uyc(neb,g);if(!Qyc(j))continue;f=Ryc(j,1);c="";g=jkc(g,Ryc(j,0).length);for(;;){h=Uyc(oeb,g);if(!Syc(h))throw RU(new bC("Properties parser failed on line: "+g));c+=Ryc(h,1);e=Ryc(h,2).length==0;if(e||d+1==i.length)break;g=i[++d]}hoc(b.b,(bl(f,c),zv(),new Xp(f,c)))}return new reb(Nn(b.b))}function cwb(a,b){var c,d,e,f,g,h,i,j,k,l,m,n,o;if(b.a.p.isEmpty())return a;m=b.b;ne(!m.d.d.isEmpty());
j=m;g=false;for(o=a.j.Md();o.Ed();){n=o.Fd();if(Ev(m.d,n)){g=true;break}}if(g){d=new pq;for(f=An(m).Md();f.Ed();){e=f.Fd();a.j.contains(e.xe())||nq(d,e)}j=Nn(d.b)}c=new Mxb(a.a);for(l=a.f.Md();l.Ed();){k=l.Fd();Gxb(c,!k?null:myb(k,j))}for(i=a.d.Md();i.Ed();){h=i.Fd();Cxb(c,!h?null:myb(h,j))}!!a.g&&Hxb(c,myb(a.g,j));!!a.i&&Ixb(c,myb(a.i,j));Jxb(c,a.j);return Kxb(c)}function lzb(a,b,c,d,e,f,g){var h,i,j,k,l,m,n,o,p,q;i=c.j!=(F7b(),Q5b);o=i?null:c.b.d;k=new Rzb(o,b);while(Pzb(k)){p=Qzb(k);n=Ozb(k);m=
(Vzb(),Tzb);!!n&&a.b.dg(n)?m=Szb:!!n&&a.b.fg(n)&&(m=Uzb);j=g||i||!u2b(n,29)?null:Hzb(a,h_b(u2b(n,29)),m,e,d);h=j;l=!b?null:c_b(b,p);!!l&&(!j?h=Hzb(a,l,m,e,d):Vtc(a.i,Keb(n,gzb,$C(VC(FS,1),bAc,2,6,["formal parameter "+p]))));q=null;if(h){m=h.a;q=h.b}switch(m.f){case 0:Gxb(f,q);break;case 1:Cxb(f,q);break;case 2:Hxb(f,q?q:a.a.G)}}}function AA(b,c,d){var e,f,g,h,i,j,k;!d&&(d=new EA);try{if(c.c>=0||c.d!=null||c.g!=null||c.e!=null)throw RU(new OB("Invalid map format"));g=new hB;for(k=c.f.Md();k.Ed();){j=
k.Fd();h=j.d;j.c==0&&(h=null);if(h==null)throw RU(new OB("Unable to retrieve: "+j.d));fB(g,j.b,j.a,h)}i=new Ikc;try{cB(g,i,c.b)}catch(a){a=QU(a);if(ND(a,91)){e=a;throw RU(new dC(e));}else throw RU(a);}zA(b,i.a)}catch(a$1){a$1=QU(a$1);if(ND(a$1,91)){f=a$1;throw RU(new OB("IO exception: "+f));}else throw RU(a$1);}}function F8(a){var b,c,d,e,f;e=new Ikc;for(d=0;d<a.length;){b=Qjc(a,d++);if(b==92){c=Qjc(a,d++);switch(c){case 116:e.a+="\t";break;case 110:e.a+=fBc;break;case 114:e.a+="\r";break;case 102:e.a+=
"\f";break;case 98:e.a+="\b";break;case 117:f=Qic(a.substr(d,d+4-d));xkc(e,f&gAc);d+=4;break;case 10:case 8232:case 8233:break;case 13:a.charCodeAt(d+1)==10&&++d;break;default:e.a+=String.fromCharCode(b);e.a+=String.fromCharCode(c)}}else e.a+=String.fromCharCode(b)}return e.a}function R8(a,b){var c,d,e,f,g,h,i;g=s2b(b,58)!=0?a.d:a.e;h=b.j==(F7b(),o5b)?Jib(g,b.b):Kib(g,b.Lh());if(!h){h=e$b($C(VC(jR,1),ZBc,7,0,[p$b("configurable",new q3b(s7b)),p$b("enumerable",new q3b(s7b))]));b.j==o5b?d2b(g,KZb(k2b(b.b,
false),h)):d2b(g,p$b(b.Lh(),h))}d=b.b?b.b.f:null;e=X1b((sib(),f=Fib(d),!f?null:u2b(f,29)));J1b(e,new Z1b(new s3b(Z4b,n$b(a.f)),(c=u2b(b,51),!c?null:c.Ig())));i=p$b(b.j==X5b||s2b(b,73)!=0?"get":"set",m2b(d));Y2b(i,F0b(e,false));d2b(h,i);p3b(h,b)}function Jzb(a,b,c){var d,e,f;oe(!!b,"getEnum should only be called when we know that the enum is defined");if(b.d==(Rwb(),Qwb))return;f=Cwb(b);if(!f){Vtc(a.i,Keb((ne(b.d==Owb),b.e).a,Pyb,$C(VC(FS,1),bAc,2,6,[])));d=a.a.G}else{e=a.c;d=Bzb(a,f,c,null);if(a.c>
e){Vtc(a.i,Keb(f.a,Wyb,$C(VC(FS,1),bAc,2,6,[])));d=a.a.G;a.c=e}else if(-1==d.Ch()){Vtc(a.i,Keb(f.a,Uyb,$C(VC(FS,1),bAc,2,6,[])));d=a.a.G}else if(eyb(d)){Vtc(a.i,Keb(f.a,Vyb,$C(VC(FS,1),bAc,2,6,[])));d=a.a.G}}Dwb(b,d)}function xeb(a,b,c){var d,e,f,g,h,i,j;f=false;b.a+="function(";d=c.b;if(d.j==(F7b(),E6b)){b.a+="new:";yeb(a,b,d.b);f=true}else if(d.j==q7b){b.a+="this:";yeb(a,b,d.b);f=true}else if(d.j==B5b){b.a+=")";return}else if(d.j!=Q6b){b.a+="):";yeb(a,b,d);return}i=null;d.j==Q6b?i=d:d.d.j==Q6b&&
(i=d.d);if(i){e=true;for(h=(!i.b?(Gpc(),Gpc(),Fpc):new k4b(i.b)).Md();h.Ed();){g=h.Fd();(!e||f)&&(b.a+=",",b);yeb(a,b,g);e=false}}b.a+=")";j=c.b?c.b.f:null;if(j.j!=B5b){b.a+=":";yeb(a,b,j)}}function j3b(a,b,c,d,e){var f,g,h,i,j,k;Dkc(b,a.j);if(ND(a,8)){b.a+=" ";Ekc(b,a.Lh())}else if(a.j==(F7b(),Q5b)){b.a+=" ";!a.b||a.b.j!=y6b?(b.a+="<invalid>",b):Ekc(b,a.b.Lh())}else if(a.j==J6b){b.a+=" ";ykc(b,a.Kh())}if(c){h=z3b(a.i);if(h!=-1){b.a+=" ";b.a+=h}if(a.c!=0){b.a+=" [length: ";zkc(b,a.c);b.a+="]"}}if(d){g=
x2b(a);for(f=0;f<g.length;f++){i=g[f];k=I2b(a,i);b.a+=" [";Ekc(b,F3b(i));b.a+=": ";b.a+=""+k;b.a+="]"}}if(e&&!!a.k){j=tV(a.k);if(j!=null){b.a+=" : ";b.a+=""+j}}}function IBb(a,b){fBb();var c,d,e,f,g,h,i,j,k;if(a.a!=b.a)return null;f=a.b;g=b.b;if(f.d.d.isEmpty()&&g.d.d.isEmpty())return a;else if(f.d.d.isEmpty()||g.d.d.isEmpty())return null;c=new pq;for(e=An(f).Md();e.Ed();){d=e.Fd();k=d.xe();i=d.ye();j=k==null?null:Fv(g.d,k);if(_zc==i.Ch())hoc(c.b,(bl(k,j),zv(),new Xp(k,j)));else if(_zc==j.Ch())hoc(c.b,
(bl(k,i),zv(),new Xp(k,i)));else{h=Lyb(i,j);if(!h)return null;hoc(c.b,(bl(k,h),zv(),new Xp(k,h)))}}return new BBb(Nn(c.b),a.a)}function aJb(a,b){var c,d,e;e=LIb(a,(F7b(),Q6b));c=false;d=null;if(b!=(YJb(),UJb)){do{if(d){!a.o?dKb(a.j):BIb(a);pJb(a);b=!a.o?dKb(a.j):BIb(a)}if(b==HJb){pJb(a);if(JIb(a,UJb))d=LIb(a,A5b);else{pJb(a);d=rJb(a,A5b,fJb(a,!a.o?dKb(a.j):BIb(a)));pJb(a)}c=true}else{d=fJb(a,b);if(JIb(a,LJb)){pJb(a);!a.o?dKb(a.j):BIb(a);d=rJb(a,G5b,d)}}if(!d)return null;d2b(e,d);if(c)break}while(JIb(a,
GJb))}if(c&&JIb(a,GJb))return xIb(a,"msg.jsdoc.function.varargs",a.j.g,cKb(a.j)),null;return e}function B8(a,b){var c,d,e,f,g;if(b.j==(F7b(),Q5b)){!a.b&&(a.b=Mib(b));f=b.b;c=f.d;e=f.Lh();e.length!=0&&(sib(),b.j==Q5b&&!Kjb(b.e))&&y8(a,f);ne(c.j==Q6b);x8(a,c)}else if(b.j==k5b){!!a.d.c&&(a.b=Mib(b));d=b.b;d.j==B5b||(sib(),b.j==k5b&&!Kjb(b.e)&&y8(a,d))}else if(b.j==c5b||b.j==_6b||(sib(),b.j==N5b||b.j==O5b||b.j==P5b)||b.j==m7b||b.j==w6b){!!a.d.c&&(a.b=Mib(b));g=b.j==_6b||(sib(),(b.j==c5b||b.j==_6b)&&!!b.e&&
b.e.j==Q5b)||b.j==w6b;C8(a,b,g,true)}else{ne(!a.d.c);C8(a,b,true,true)}}function NPb(a){var b,c,d,e,f;f=qRb(a.j,0).b.b;e=WPb(a);if(!ND(e,366)||!!e.a)while(FQb(a,0,(hUb(),nTb))||FQb(a,0,oTb)||FQb(a,0,tTb)||FQb(a,0,iTb)||FQb(a,0,STb))switch(qRb(a.j,0).c.f){case 47:b=POb(a);e=new BUb(new CYb(f,a.g),e,b);break;case 49:tOb(a,oTb);d=HOb(a,1);tOb(a,tSb);e=new SVb(new CYb(f,a.g),e,d);break;case 51:tOb(a,tTb);c=vOb(a);e=new RVb(new CYb(f,a.g),e,c);break;case 107:case 104:e=sQb(a,e);break;default:throw RU(new Uhc("unexpected case: "+
qRb(a.j,0).c));}return e}function hPb(a,b,c){var d,e,f,g,h,i;f=qRb(a.j,0).b.b;tOb(a,b);d=(Lm(),new hq);while(GQb(a,(hUb(),OSb))||GQb(a,SSb))GQb(a,OSb)?fq(d,(g=qRb(a.j,0).b.b,tOb(a,OSb),tOb(a,nTb),h=qRb(a.j,0).c,Atc(wtc(RSb,$C(VC(EO,1),vAc,13,0,[$Tb,zSb,dTb,eTb])),h)||!a.b.b&&bOb(h)?EPb(a):aQb(a,1),zOb(a,"of"),UOb(a,1),tOb(a,sSb),new QUb(new CYb(g,a.g)))):fq(d,(i=qRb(a.j,0).b.b,tOb(a,SSb),tOb(a,nTb),UOb(a,1),tOb(a,sSb),new RUb(new CYb(i,a.g))));UOb(a,1);tOb(a,c);return new SUb((e=new CYb(f,a.g),Tm(d.a),
e))}function onb(){onb=qV;var a,b;lnb=(F7b(),new snb);mnb=new rnb("REGISTER_NUMBER",1,(b="goog.tweak.registerNumber",b));nnb=new rnb("REGISTER_STRING",2,(a="goog.tweak.registerString",a));knb=new pnb("OVERRIDE_DEFAULT_VALUE",3,"goog.tweak.overrideDefaultValue");hnb=new pnb("GET_COMPILER_OVERRIDES",4,"goog.tweak.getCompilerOverrides_");gnb=new qnb("GET_BOOLEAN",5,"goog.tweak.getBoolean");inb=new qnb("GET_NUMBER",6,"goog.tweak.getNumber");jnb=new qnb("GET_STRING",7,"goog.tweak.getString")}function Uvb(){Uvb=
qV;Tvb=new y5("JSC_REQUIRES_NOT_SORTED",(kY(),jY),new klc("goog.require() statements are not sorted. The correct order is:\n\n{0}\n"));Svb=new y5("JSC_PROVIDES_NOT_SORTED",jY,new klc("goog.provide() statements are not sorted. The correct order is:\n\n{0}\n"));Rvb=new y5("JSC_PROVIDES_AFTER_REQUIRES",jY,new klc("goog.provide() statements should be before goog.require() statements."));Qvb=new y5("JSC_DUPLICATE_REQUIRE",jY,new klc("''{0}'' required more than once."))}function Cyb(a,b){Rxb();var c,d,
e,f,g,h;he(a);he(b);c=a.e;if(-1==a.Ch()||-1==b.Ch())return c.u;if(_zc==a.Ch()||_zc==b.Ch())return c.G;if(0==a.Ch())return b;if(0==b.Ch())return a;if(512==a.Ch()||QEc==a.Ch()||512==b.Ch()||QEc==b.Ch())return c.G;if(a.Eh()!=null&&b.Eh()!=null&&!Vjc(a.Eh(),b.Eh()))return c.G;e=a.Ch()|b.Ch();f=GCb(a.Dh(),b.Dh());g=a.Eh()!=null?a.Eh():b.Eh();d=Nwb(a.Bh(),b.Bh());if(d.isEmpty())return Eyb(c,e,f,g,Oxb);h=Eyb(c,e&-5,f,g,Oxb);return Eyb(c,e,f,g,Mwb(d,h))}function aac(a,b){var c,d,e,f,g,h,i,j,k;if(a.Ii())return a.Gi();
else if(a.q){a.q=false;i=new Gxc;for(c=a;!!c&&!c.Ji()&&i.a.size()<=10;c=c.Bi())_c(i,c.Ci());j=new Ikc;j.a+="{";k=!b&&i.a.size()>2;f=0;for(h=(e=(new mnc(i.a)).a.oe().b.ej(),new snc(e));h.a.Ed();){g=(d=h.a.Fd(),d.xe());f>0&&(j.a+=",",j);k?(j.a+="\n  ",j):f>0&&(j.a+=" ",j);j.a+=""+g;j.a+=": ";Ekc(j,a8b(a.Fi(g),b));++f;if(!b&&f==10){j.a+=", ...";break}}k&&(j.a+=fBc,j);j.a+="}";a.q=true;return j.a}else return b?"?":"{...}"}function jfb(b,c){var d,e,f,g,h,i,j;e=c.Gf();j=e.c;f=new pfb(c.Ff());try{g=vKb(b.d,
b.d.th(),c.If(b.d.d?1:0),f);b.c=g.a;b.a=g.b;c.Hf();if(g.c!=null){i=b.d.c+".inline.map";h=new Zpb(tpb(i,g.c));c.Df(b.d.c,h)}}catch(a){a=QU(a);if(ND(a,91))c.Mf(new Geb(null,null,-1,-1,(zV(),yV),null,$C(VC(FS,1),bAc,2,6,[b.d.c])));else throw RU(a);}!b.c||e.c>j&&(c.Hf(),true)?b.c=(d=new q3b((F7b(),b7b)),d):c.Lf(b.c);if(f.b.a.length!=0||f.c.a.length!=0){g=(Tm(f.b),Tm(f.c),new ofb);N2b(b.c,86,g)}e3b(b.c,b.d)}function rRb(b){var c,d,e,f;while(b.indexOf("\\")!=-1){e=Yjc(b,qkc(92));try{if(b.charCodeAt(e+1)!=
117)return null;if(b.charCodeAt(e+2)!=123){d=e+6;f=b.substr(e+2,d-(e+2))}else{d=e+3;while(cic(b.charCodeAt(d),16)>=0)++d;if(b.charCodeAt(d)!=125)return null;f=b.substr(e+3,d-(e+3));++d}c=Qic(f)&gAc;if(!(XRb(c)||/\d/.test(String.fromCharCode(c))))return null;b=b.substr(0,e)+String.fromCharCode(c)+b.substr(d)}catch(a){a=QU(a);if(ND(a,93)||ND(a,306))return null;else throw RU(a);}}return b}function d2(b){var c,d,e;je(b.b,"Expected setCompiler to be called first: %s",b);je(x0(b.b),"Expected compiler to call an error manager: %s",
b);if(ND(b.a,327))try{d=(x0(b.b),Ztb().mj(b.a.Lg().th()));return new tfb(d,b.a,b.b)}catch(a){a=QU(a);if(ND(a,91)){oX(x0(b.b),(kY(),hY),new Geb(null,null,-1,-1,(zV(),yV),null,$C(VC(FS,1),bAc,2,6,[b.f.a])));return Lub(),Kub}else throw RU(a);}else{c=new z2(u0(b.b));e=e2(b,b.b);if(!e)return Lub(),Kub;y2(c,e2(b,b.b));return new Mub("","",c.c,c.d,c.b)}}function ldb(a,b,c,d){var e,f,g,h,i,j,k,l,m,n,o;m=c.e;k=m.j==(F7b(),f5b)?m.b:m;if(pjb(k)&&(sib(),!(k.j==W5b&&L2b(k,aCc,aCc.length)))){g=k.e;f=a.c.f.Tf(g,
true,false);n=!f.a?null:Fdb(a,f.a);if(!n)return null;e=tzb(a.c.q,null,b,c,null,null,d).a;return new gwb(e.a,e.f,e.d,e.g,e.i,e.c,n,e.j,e.b)}if(m.j==f5b&&c!=m.b){h=scb(a.c,m.b,d);if(!!h&&h.j.isEmpty()){j=r2b(m,c)-1;i=(l=h.f.size(),j<l?h.f.getAtIndex(j):j<l+h.d.size()?h.d.getAtIndex(j-l):h.g);if(i){o=jdb(c,i);if(o)return o}}}return null}function Bjb(a){sib();var b,c,d,e,f,g,h;e=(f=Fib(a),!f?null:u2b(f,29));if(!!e&&i_b(e).a.length!=0)return false;c=u2b(a,51);if(!(!!c&&c.vh())&&(!e||(e.a&37)==0))return false;
if(a.e.j==(F7b(),z7b)){h=a;d=a.b}else if(a.j==L5b){b=a.b;if(b.j!=L4b||b.b.j!=W5b)return false;h=b.b;d=b.b?b.b.f:null}else if(a.j==W5b){g=a.e;if(g.j!=L4b||g.e.j!=L5b)return false;h=a;d=g.b?g.b.f:null}else return false;if(!d||!h)return false;if(d.j==L6b)return true;return d.j==O6b&&J2b(h,d.b)&&(d.b?d.b.f:null).j==L6b}function Wwb(a,b){var c,d;if(a==a.a.g)return b.a+=oGc,b;else if(a==a.a.v)return b.a+=pGc,b;else if(a==a.a.s)return b.a+=_Dc,b;b.a+="function(";if(a.d){b.a+="new:";Dkc(b,a.d);b.a+=","}else if(a.g){b.a+=
"this:";Dkc(b,a.g);b.a+=","}for(d=0;d<a.i.size();++d){nyb(a.i.getAtIndex(d),b);b.a+=","}for(c=0;c<a.e.size();++c){nyb(a.e.getAtIndex(c),b);b.a+="=,"}if(a.j){b.a+=oCc;nyb(a.j,b)}Fhc(b,b.a.length-1)==44&&Gkc(b,b.a.length-1);b.a+=")";if(a.k){b.a+=":";nyb(a.k,b)}a.c&&(b.a+=" (loose)",b);return b}function udc(a){wlc(a.k);Suc(a.b);pdc(a);wlc(a.g);qdc(a,ndc(a,(Xcc(),Wbc)));qdc(a,ndc(a,Ybc));qdc(a,ndc(a,Zbc));qdc(a,ndc(a,acc));qdc(a,ndc(a,occ));rdc(a,ndc(a,occ),"Null");qdc(a,ndc(a,rcc));qdc(a,ndc(a,ucc));
qdc(a,ndc(a,Acc));qdc(a,ndc(a,ccc));qdc(a,ndc(a,Vcc));qdc(a,ndc(a,ecc));qdc(a,ndc(a,Qcc));qdc(a,ndc(a,Ccc));qdc(a,ndc(a,Ecc));qdc(a,ndc(a,Mcc));qdc(a,ndc(a,Gcc));qdc(a,ndc(a,Icc));qdc(a,ndc(a,Jcc));qdc(a,ndc(a,Wcc));rdc(a,ndc(a,Wcc),"Undefined");rdc(a,ndc(a,Wcc),FCc);rdc(a,ndc(a,gcc),_Dc)}function dJb(a,b){var c,d;if(b!=(YJb(),NJb)){uIb(a,vHc,a.j.g,cKb(a.j));return b}else{d=new Ytc;while(true){if(JIb(a,XJb)){c=a.j.n;a.k.contains(c)||wIb(a,"msg.jsdoc.suppress.unknown",c,a.j.g,cKb(a.j));Vtc(d,a.j.n);
b=!a.o?dKb(a.j):BIb(a)}else{uIb(a,vHc,a.j.g,cKb(a.j));return b}if(KIb(a,QJb,GJb))b=!a.o?dKb(a.j):BIb(a);else break}if(JIb(a,TJb)){b=!a.o?dKb(a.j):BIb(a);H1b(a.e,d)||uIb(a,"msg.jsdoc.suppress.duplicate",a.j.g,cKb(a.j))}else uIb(a,vHc,a.j.g,cKb(a.j));return DIb(a,!a.o?dKb(a.j):BIb(a))}}function mUb(){hUb();return $C(VC(EO,1),vAc,13,0,[ESb,JSb,RSb,kSb,nSb,oSb,xSb,ySb,ASb,BSb,CSb,DSb,NSb,OSb,PSb,SSb,VSb,WSb,fTb,DTb,RTb,VTb,WTb,ZTb,_Tb,cUb,dUb,eUb,fUb,pSb,wSb,FSb,KSb,LSb,USb,QTb,TSb,XSb,_Sb,qTb,yTb,zTb,
ATb,OTb,gUb,mTb,rSb,nTb,sSb,oTb,tSb,tTb,GTb,vSb,lTb,qSb,$Sb,QSb,gSb,HSb,gTb,ISb,hTb,uTb,aTb,KTb,MTb,rTb,wTb,cTb,YSb,ETb,aUb,dSb,iSb,lSb,hSb,XTb,fSb,pTb,BTb,uSb,GSb,vTb,bTb,LTb,NTb,sTb,ZSb,FTb,bUb,eSb,jSb,mSb,HTb,ITb,xTb,jTb,YTb,MSb,kTb,PTb,CTb,JTb,STb,TTb,UTb,iTb,$Tb,zSb,dTb,eTb])}function tQb(a){var b,c,d,e;b=qRb(a.j,0).b.b;c=qRb(a.j,0).c;if(!(Atc(wtc((hUb(),RSb),$C(VC(EO,1),vAc,13,0,[$Tb,zSb,dTb,eTb])),c)||!a.b.b&&bOb(c))&&!Atc(wtc(dUb,$C(VC(EO,1),vAc,13,0,[nTb,mTb,_Tb])),qRb(a.j,0).c)){ZQb(a,"Unexpected token '%s' in type expression",
$C(VC(AS,1),qAc,1,5,[qRb(a.j,0).c]));return new jYb(new CYb(b,a.g),(Lm(),new iy("error")))}d=BPb(a);if(!GQb(a,iSb))return d;e=(Lm(),new hq);hoc(e.a,he(d));do{tOb(a,iSb);fq(e,SOb(a))}while(GQb(a,iSb));return new nYb(new CYb(b,a.g),Tm(e.a))}function y7(a,b){var c,d,e,f,g,h,i,j;_d(b.j==(F7b(),M6b)||b.j==J4b);j=qEc+a.b++;if(mjb(b.e)){i=b.e;c=i.b?i.b.f:null;d=MZb((se(Yjc(j,qkc(46))==-1,YBc,j),new q4b(y6b,j)),z7b);p3b(d,b);S2b(i,b,d);h=NZb(CZb(b,(se(Yjc(j,qkc(46))==-1,YBc,j),new q4b(y6b,j))));p3b(h,b);
e2b(c,h)}else{g=b.e;ne(g.j==x5b);e=g.e;i=e.e;ne((sib(),i.j==P5b||i.j==O5b));c=i.b?i.b.f:null;S2b(e,g,m3b((se(Yjc(j,qkc(46))==-1,YBc,j),new q4b(y6b,j)),b));f=e.j;d=LZb(m2b(b),(se(Yjc(j,qkc(46))==-1,YBc,j),new q4b(y6b,j)),f);p3b(d,b);e2b(c,d)}}function Wdb(a,b,c){var d,e,f,g,h,i,j;j=b.Lh();h=Cgb(a.a,j,false);if(Hcb(b)){idb(a,(sib(),i=Fib(b),!i?null:u2b(i,29)),j,b.b,null,a.a);return}if(Icb(b)){idb(a,(sib(),i=Fib(b),!i?null:u2b(i,29)),j,b,null,a.a);return}if(h&&Jgb(a.a,j))return;if(Njb(b)||njb(b)){h||
jgb(a.a,j,a.c.d.G,false,(e=u2b(b,51),!!e&&e.vh()));return}f=b.b;if(!!f&&f.j==(F7b(),Q5b))return;if(c.j==(F7b(),j5b))jgb(a.a,j,a.c.d.G,false,false);else{g=zcb(a.c,b);d=ycb(a.c,b,a.a);!d&&(d=tdb(a,b));jgb(a.a,j,d,g,(e=u2b(b,51),!!e&&e.vh()))}}function WKb(a,b){var c,d,e,f,g;if(!CKb(a,b,(GLb(),BLb)))return false;g=(ee(b.j==(F7b(),f5b),yHc,b),p2b(b)-1);e=(ee(b.j==f5b,yHc,b),o2b(b,1));if(e.j!=y6b&&e.j!=h7b){a.a.ih((d=$C(VC(AS,1),qAc,1,5,["type name or type variable"]),jHc+D4b(zHc,d)),a.b.Ig(),a.d,a.c);
a.a.ih((c=$C(VC(AS,1),qAc,1,5,[JHc]),jHc+D4b(CHc,c)),a.b.Ig(),a.d,a.c);return false}for(f=1;f<g;f++)if(!_Kb(a,(ee(b.j==f5b,yHc,b),o2b(b,f+1)))){a.a.ih((c=$C(VC(AS,1),qAc,1,5,[JHc]),jHc+D4b(CHc,c)),a.b.Ig(),a.d,a.c);return false}return true}function bZb(a){var b,c,d,e;d=0;c=new Ikc;b=a.b.b;if(ND(a.a,153))e=a.a.a;else if(ND(a.a,127))e=a.a.a;else throw RU(RYb(a));if(a.b.i)if(b==111){c.a+="0";d+=1}else{c.a+="0x";d+=2}if(100==b){a.b.e?Dkc(c,a.a):(c.a+=gV(e),c);if(TU(e,0)<0)if(a.b.g)return eZb(a,c);else a.b.k&&
++d;else if(a.b.d){Hkc(c,0,String.fromCharCode(43));d+=1}else if(a.b.j){Hkc(c,0,String.fromCharCode(32));d+=1}}else{ND(a.a,127)&&(e=UU(pD(YU(e)?dV(e):e,YU(sIc)?dV(sIc):sIc)));111==b?Ekc(c,ujc(e,3)):Ekc(c,ujc(e,4))}return UYb(a,c,d)}function hBb(a,b){var c,d,e,f,g;ne(a.a==b.a);if(a.b.d.d.isEmpty())return vBb(b);if(b.b.d.d.isEmpty())return vBb(a);for(g=a.a.p.Md();g.Ed();){f=g.Fd();ue(ao(a.b,f),JGc,f,a.b.We());we(ao(b.b,f),"Other (%s) doesn't contain mapping (%s->%s) from this (%s)",b,f,bo(a.b,f),a);
e=bo(a.b,f);d=bo(b.b,f);c=a.a.t;if(c.J&&SDb(a.a,ZDc)){e=jyb(e,c.p);d=jyb(d,c.p);if(!cyb(e,d,new aEb((XAb(),XAb(),WAb)))&&!cyb(d,e,new aEb((null,WAb))))return false}else if(!cyb(e,d,new aEb((XAb(),XAb(),WAb))))return false}return true}function Zcb(a,b){var c,d,e,f,g,h,i;if(Bgb(a.a,b))return;h=Vib(b);i=sDb(h);d=(sib(),e=Fib(b),!e?null:u2b(e,29));if(!!d&&((d.a&2)!=0||(d.a&512)!=0||(d.a&NDc)!=0)){g=(c=rgb(a.a,i,false),!c?null:ND(c.c,79)?c.c:null);if((d.a&2)!=0&&(!g||g.g!=0)){Nhb(a.b.t,Keb(h,(pcb(),Xbb),
$C(VC(FS,1),bAc,2,6,[Sc(new Vc("."),i.a.Md())])));return}if(((d.a&512)!=0||(d.a&NDc)!=0)&&(!g||g.g==0)){Nhb(a.b.t,Keb(h,(pcb(),Ybb),$C(VC(FS,1),bAc,2,6,[Sc(new Vc("."),i.a.Md())])));return}}f=vgb(a.a,i);if(f){M2b(b.e,76,true);lgb(a.a,b,f)}}function nCb(a,b,c,d,e,f,g){var h;he(a);he(b);fe(!d||d==d.a.s||d.c==f,"isLoose: %s, fn: %s",(Xhc(),f?true:false),d);_d(!d||d!=d.a.c);if(e){h=b.a.w;ee(Vjc(h,kFc)||Vjc(h,_Dc)||Vjc(h,gFc),"Can't create namespace with nominal type %s",h)}ee(!(!SDb(b.a,_Dc)&&!RDb(b.a)&&
!SDb(b.a,kFc))||!f,"Cannot create loose objectType with nominal type %s",b);fe(!d||SDb(b.a,_Dc),"Cannot create objectType of nominal type %s with function (%s)",b,d);this.a=a;this.d=b;this.g=f?HCb(c):c;this.b=d;this.e=e;this.c=f;this.f=f?(TBb(),RBb):g}function X8(a,b){var c,d,e,f,g,h,i,j,k;(b.a.a&LEc)==0&&(b.a.a&MEc)==0&&(b.a.a&sBc)==0&&G1b(b);if(a){(f=!a.d?null:a.d.p,!f?(Gpc(),Gpc(),Fpc):f).isEmpty()||H1b(b,(e=!a.d?null:a.d.p,!e?(Gpc(),Gpc(),Fpc):e));for(d=b_b(a).Md();d.Ed();){c=d.Fd();A1b(b,c,c_b(a,
c));B1b(b,c,U$b(a,c))}for(j=f_b(a).Md();j.Ed();){i=j.Fd();L1b(b,i);K1b(b,i,g_b(a,i))}k=a.j;!!k&&k!=(z0b(),u0b)&&R1b(b,k);(a.a&256)!=0&&T0b(b);(!a.d?null:a.d.b)!=null&&S$b(b.a)==null&&U0b(b,!a.d?null:a.d.b);z_b(b.a,a);for(h=e_b(a).Md();h.Ed();){g=h.Fd();I1b(b,g)}}}function uW(a,b,c){var d,e,f,g,h,i,j,k;NW((F7b(),Q5b),b);f=H7b(b.j);f!=-1&&(e=p2b(b),f!=e&&mX(CBc+f+DBc+e,b));VW(a,b.b.d);g=b.b;d=b.b?b.b.f:null;if(s2b(b,60)!=0){E3(a.a.v)||mX("Feature 'arrow functions' is only allowed in ES6 mode.",b);NW(y6b,
g);g.Lh()==null&&mX(KBc,g);g.Lh().length==0||mX("Expected empty string.",g);h=H7b(g.j);h!=-1&&(i=p2b(g),h!=i&&mX(CBc+h+DBc+i,g));d.j==c5b||d.j==_6b?dW(a,d):tW(a,d)}else{NW(y6b,g);g.Lh()==null&&mX(KBc,g);j=H7b(g.j);j!=-1&&(k=p2b(g),j!=k&&mX(CBc+j+DBc+k,g));c?NW(B5b,d):dW(a,d)}}function Rdb(a,b,c){var d,e,f,g,h,i;e=u2b(b,29);!!e&&(!e.d?null:e.d.g)!=null&&Vtc(a.b,b);g=c.j==(F7b(),L4b)?c.b:c;if(Bjb(g)&&Igb(a.a,g))for(i=(!b.b?(Gpc(),Gpc(),Fpc):new k4b(b.b)).Md();i.Ed();){h=i.Fd();Acb(a.c,h.Lh(),h);Qdb(a,
h,g,h.Lh())}else if(!njb(g)&&!Ejb(g))for(i=(!b.b?(Gpc(),Gpc(),Fpc):new k4b(b.b)).Md();i.Ed();){h=i.Fd();Acb(a.c,h.Lh(),h);!!u2b(h,29)&&Vuc(a.c.g,h,tcb(a.c,u2b(h,29),a.a));pcb();d=(sib(),f=Fib(h),!f?null:u2b(f,29));!!d&&(d.a&1)!=0&&(d.a&2)==0&&Nhb(a.c.t,Keb(h,fcb,$C(VC(FS,1),bAc,2,6,[])))}}function gob(a){dob();var b,c,d,e,f,g,h;d=new Qq;f=new pq;for(c=Of(Cf(Bf(If(new nc(10))),a));Cb(c);){b=Db(c);h=Df(Bf(If(new nc(32))),okc(b));if(h.b.size()==1&&h.a.getAtIndex(0).length==0)continue;else if(h.b.size()<
3)throw RU(new dfb("Invalid table: too few tokens on line: "+b));g=h.a.getAtIndex(0);e=new bob(cMb(h.a.getAtIndex(1)),cMb(h.a.getAtIndex(2)),h.b.size()>3?h.a.getAtIndex(3):"");g.indexOf($Ec)!=-1?Pq(d,ekc(g,".*\\.prototype\\.",""),e):(hoc(f.b,(bl(g,e),zv(),new Xp(g,e))),f)}return new fob(Kl(d.a),Nn(f.b))}function YOb(a,b){var c,d,e,f,g,h;a.d=YLb(a.d,(TMb(),fMb).a);zOb(a,nCc);h=qRb(a.j,0).c;if((hUb(),RSb)==h||(YNb(),!!bo(zNb,h))){f=vOb(a);c=oVb(uVb(xVb(pVb(new yVb((DVb(),CVb))),b.c),f),b.a);if(b.b){rVb(wVb(qVb(tVb(c,
DOb(a)),xPb(a,1)),COb(a)),new cVb(AOb(a,b.d)));yOb(a)}else APb(a,c,false);return nVb(c,AOb(a,f.b.b))}else if(a.b.c&&FQb(a,0,oTb)&&FQb(a,1,RSb)&&FQb(a,2,uSb)){e=JPb(a);yOb(a);return e}else{g=iPb(a);c=xVb(pVb(new yVb((DVb(),BVb))),b.c);APb(a,c,false);d=nVb(c,AOb(a,g.o.b));return new WUb(AOb(a,g.o.b),b.a,g,d)}}function MCb(a,b,c,d,e){var f,g,h,i,j,k,l,m,n;he(c);g=d;for(n=new Rlc((new Jlc(d.a)).a);n.b;){l=Qlc(n);i=l.xe();h=pBb(c,i);if(h){g=oCb(b,g,i,h,l.ye());if(g==a.d)return a.d}}for(m=new Rlc((new Jlc(e.a)).a);m.b;){l=
Qlc(m);i=l.xe();k=l.ye();if(Zg(d,i,false)){j=ih(Zg(d,i,false));if(_Cb(j,k))continue;f=b?new cDb(j.c,kyb(j.d,k.d),j.b,hDb(j.a,k.a)):new cDb(j.c==k.c?j.c:null,Fyb(j.d,k.d),null,hDb(j.a,k.a))}else f=k;h=pBb(c,i);if(h){g=oCb(b,g,i,h,f);if(g==a.d)return a.d}else{if(0==f.d.Ch())return a.d;g=ZAb(g,i,f)}}return g}function GCb(a,b){var c,d,e,f,g,h,i,j,k,l,m,n,o,p,q;if(a.isEmpty())return b;else if(b.isEmpty())return a;q=a.Nd(XC(PN,{966:1,3:1,4:1},133,0,0,1));f=Yoc(q,q.length);g=new UCb(0);for(p=b.Md();p.Ed();){o=
p.Fd();c=false;for(d=0;d<q.length;d++){n=q[d];h=n.d;i=o.d;if(xBb(h,i)||xBb(i,h)){if(RDb(i.a)&&!!h&&!eCb(n,o,new aEb((XAb(),XAb(),WAb)))||RDb(h.a)&&!!i&&!eCb(o,n,new aEb((XAb(),XAb(),WAb))))break;f[d]=null;c=true;TCb(g,DCb(n,o));break}}c||TCb(g,o)}for(k=f,l=0,m=k.length;l<m;++l){j=k[l];!!j&&TCb(g,j)}return km(),e=g.a,xo(e)}function e6(a,b){var c;switch(b){case ZDc:case "ArrayBuffer":case $Dc:case "DataView":case "Date":case "Float32Array":case _Dc:case "Generator":case "GeneratorFunction":case "Int16Array":case "Int32Array":case "Int8Array":case "InternalError":case "Map":case aEc:case "Promise":case "Proxy":case bEc:case "Set":case lBc:case cEc:case "TypedArray":case "Uint16Array":case "Uint32Array":case "Uint8Array":case "Uint8ClampedArray":case "WeakMap":case "WeakSet":return c=
$ob(Shb(a),b),!(!!c&&!(!c.a||h2(c.a)));default:return false}}function VDb(a,b,c,d,e,f,g){var h,i,j,k;Awb.call(this,a,c,b);this.b=(XAb(),XAb(),WAb);this.j=(null,WAb);this.k=(null,WAb);this.n=new Avc;he(f);se(YDb(b),"Invalid defsite %s",b);!d&&(d=(Lm(),Lm(),Km));this.p=d;this.g=!!b&&(i=u2b(b,51),!!i&&i.vh())&&Vjc(c,eFc)?2:e;this.i=!!b&&(j=u2b(b,51),!!j&&j.vh())&&Vjc(c,eFc)?(TBb(),RBb):f;this.e=g;this.r=new BBb((mx(),lx),this);!!b&&(h=u2b(b,51),!!h&&h.vh())&&Vjc(c,_Dc)?k=sCb(this.t.v,this.r):k=tCb(this.r);
this.q=(Rxb(),Eyb(k.a,2,(km(),new ly(k)),null,Oxb));this.s=Cyb(this.t.j,this.q)}function keb(a,b,c,d){var e;e=d==c.b;switch(c.j.f){case 92:return a;case 46:return d==(c.b?c.b.f:null)?a:a.c?a:new meb(a.a,true,a.b);case 60:case 62:return e?new meb(c,true,a.a?a:null):a;case 61:return e?new meb(c,false,a.a?a:null):a;case 66:return e?new meb(c,true,a.a?a:null):ieb;case 41:case 47:return e==a.c?a:new meb(a.a,e,a.b);case 25:case 19:case 4:case 5:case 36:case 37:return a.c?a:new meb(a.a,true,a.b);case 28:return leb(a,
!e&&feb(b,c));case 81:return ieb;default:return sib(),Kjb(c.e)?ieb:a.c?new meb(a.a,false,a.b):a}}function Myb(a,b,c){var d,e,f,g,h,i,j,k,l,m;he(c);l=new Avc;for(h=a.ae(b).Md();h.Ed();){g=h.Fd();if(_zc==c.Ch()){l.a.put(g,l);continue}if(_zc==g.Ch()){c=null;break}f=c.Dh();if(f.size()==1&&is(f.Md()).c){c=null;break}else{e=g.Dh();if(e.size()==1&&is(e.Md()).c){l.a.put(g,l);continue}}m=Lyb(c,g);if(m){l.a.put(g,l);c=m}else if(cyb(g,c,new aEb((XAb(),XAb(),WAb))))l.a.put(g,l);else if(cyb(c,g,new aEb((null,
WAb)))){c=null;break}}for(k=(i=(new nmc(l.a)).a.oe().Md(),new tmc(i));k.a.Ed();){j=(d=k.a.Fd(),d.xe());a.ee(b,j)}!!c&&a.de(b,c)}function ZPb(a,b){var c,d,e,f,g,h,i,j,k;h=qRb(a.j,0).b.b;if(qRb(a.j,0).c==(hUb(),oTb)){f=iPb(a);tOb(a,uSb);k=bQb(a,b);return new TUb(new CYb(h,a.g),f,k)}i=qRb(a.j,0).c;if(RSb==i||(YNb(),YNb(),!!bo(zNb,i))){g=vOb(a);if(!GQb(a,uSb)){d=g;aOb(d.a)&&!cOb(d.a)&&ZQb(a,"cannot use keyword '"+g+"' here.",$C(VC(AS,1),qAc,1,5,[]));if(GQb(a,GSb)){e=new JVb(new CYb(h,a.g),d);tOb(a,GSb);
c=UOb(a,1);return new aVb(new CYb(h,a.g),e,c)}return new WXb(new CYb(h,a.g),g,null)}}else g=OPb(a).a;tOb(a,uSb);j=bQb(a,b);return new WXb(new CYb(h,a.g),g,j)}function sOb(a,b,c){var d,e,f,g,h,i,j,k;e=b.b;d=b.a;if(e.o.a.b<d.o.b.b){a.g=e.o.a;BRb(a.j,a.g.c);f=e}else if(e.p==(SXb(),VWb)&&Vjc(e.a.a,nCc)){a.g=e.o.b;BRb(a.j,a.g.c);f=(g=qRb(a.j,0).b.b,a.d=YLb(YLb(a.d,(TMb(),eMb).a),fMb.a),zOb(a,nCc),h=xPb(a,0),i=qRb(a.j,0).b.b.b>a.g.b,(i||FQb(a,0,(hUb(),GTb))||FQb(a,0,(hUb(),rSb))||FQb(a,0,(hUb(),ESb)))&&
ZQb(a,cIc,$C(VC(AS,1),qAc,1,5,[])),tOb(a,(hUb(),gSb)),j=TOb(a,c),k=rVb(qVb(pVb(new yVb((DVb(),zVb))),h),j),nVb(k,new CYb(g,a.g)))}else{ZQb(a,"'=>' unexpected",$C(VC(AS,1),qAc,1,5,[]));f=b}return f}function GPb(a){var b,c,d,e,f,g,h,i,j,k;j=qRb(a.j,0).b.b;tOb(a,(hUb(),USb));if(GQb(a,PTb)){f=tOb(a,PTb);yOb(a);return new LVb(new CYb(j,a.g),null,null,null,f)}b=null;h=null;c=null;i=true;k=qRb(a.j,0).c;if(Atc(wtc(RSb,$C(VC(EO,1),vAc,13,0,[$Tb,zSb,dTb,eTb])),k)||!a.b.b&&bOb(k)){b=uOb(a);GQb(a,vSb)?tOb(a,
vSb):i=false}else if(_Nb(qRb(a.j,0).c)){d=GOb(a);XQb(a,d,hIc,$C(VC(AS,1),qAc,1,5,[d]))}if(i)if(GQb(a,KTb)){tOb(a,KTb);zOb(a,"as");h=uOb(a)}else c=IPb(a);zOb(a,rCc);g=tOb(a,PTb);e=!g?null:g;yOb(a);return new LVb(new CYb(j,a.g),b,c,h,e)}function J1(a){var b,c,d,e,f,g,h,i,j,k;if(a.a.H.uc){a.b.c.a.length>0&&!Z1(a.b)&&Y1(a.b,fBc);ne(a.d.j==(F7b(),b7b));c=a.a.H.Jb;f=u2b(a.d,53).a;k=(d=u2b(a.d,51),!d?null:d.Ig());ne(k!=null);ne(k.length!=0);c=ekc(ekc(c,"%name%",(f+"").replace(/([.?*+^$[\]\\(){}|-])/g,"\\$1")),
"%num%",""+a.c);Y1(Y1(a.b,c),fBc)}if(u2b(a.d,29)){i=Z$b(u2b(a.d,29));i!=null&&X1(a.b,i)&&Y1(Y1(Y1(a.b,"/*\n"),i),"*/\n")}b=q1(a.a,a.d,a.c==0);if(b.length!=0){Y1(a.b,b);h=b.length;g=b.charCodeAt(h-1);j=h>=2?b.charCodeAt(h-2):0;e=g==59||g==10&&j==59;e||Y1(a.b,";")}return null}function YJb(){YJb=qV;JJb=new ZJb("EOF",0);KJb=new ZJb("EOL",1);MJb=new ZJb("LEFT_ANGLE",2);SJb=new ZJb("RIGHT_ANGLE",3);XJb=new ZJb(tGc,4);PJb=new ZJb("LEFT_SQUARE",5);VJb=new ZJb("RIGHT_SQUARE",6);NJb=new ZJb("LEFT_CURLY",7);
TJb=new ZJb("RIGHT_CURLY",8);OJb=new ZJb("LEFT_PAREN",9);UJb=new ZJb("RIGHT_PAREN",10);GJb=new ZJb("COMMA",11);FJb=new ZJb("COLON",12);DJb=new ZJb(wHc,13);QJb=new ZJb("PIPE",14);WJb=new ZJb("STAR",15);IJb=new ZJb("EOC",16);RJb=new ZJb("QMARK",17);HJb=new ZJb("ELLIPSIS",18);EJb=new ZJb("BANG",19);LJb=new ZJb("EQUALS",20)}function S8(a,b,c){var d,e,f,g,h,i;for(h=new wvc(new nvc(b.j));h.b!=h.c.a.b;){f=uvc(h);e=f.d;d=SZb(Yjb(a.a,b.f+JEc),new q4b((F7b(),h7b),e));Y2b(d,f.e);d=p3b((oe(ZZb(d),d),new s3b(L5b,
d)),b.c);b2b(c.e,d,c);c=d}for(i=new wvc(new nvc(b.b));i.b!=i.c.a.b;){f=uvc(i);e=f.d;d=SZb(Yjb(a.a,b.f),new q4b((F7b(),h7b),e));Y2b(d,f.e);d=p3b((oe(ZZb(d),d),new s3b(L5b,d)),b.c);b2b(c.e,d,c);c=d}for(g=new wvc(new nvc(b.i));g.b!=g.c.a.b;){f=uvc(g);e=f.d;d=RZb(Yjb(a.a,b.f+JEc),Yjb(a.a,e));Y2b(d,f.e);d=p3b((oe(ZZb(d),d),new s3b((F7b(),L5b),d)),b.c);b2b(c.e,d,c);c=d}}function XIb(a,b,c){var d,e;while(true)switch(b.f){case 13:if(a.i==(AJb(),yJb)){a.i=zJb;b=QIb(a,b,c)}else b=!a.o?dKb(a.j):BIb(a);break;
case 16:d=true;zIb(a,c);if(H0b(a.e)){a.d=F0b(a.e,false);e=a.d.j;switch(e.f){case 0:case 2:vIb(a,Kb(e.e!=null?e.e:""+e.f));d=false}}return d;case 0:F0b(a.e,false);uIb(a,"msg.unexpected.eof",a.j.g,cKb(a.j));zIb(a,c);return false;case 1:a.i==(AJb(),zJb)&&(a.i=yJb);b=!a.o?dKb(a.j):BIb(a);break;default:if(b==(YJb(),WJb)&&a.i==(AJb(),yJb))b=!a.o?dKb(a.j):BIb(a);else{a.i=(AJb(),zJb);b=CIb(a,!a.o?dKb(a.j):BIb(a))}}}function _8(a,b,c){var d,e,f,g,h,i;if(b.j==(F7b(),o5b)&&s2b(b,58)!=0){c1(a.a,Keb(b,M8,$C(VC(FS,
1),bAc,2,6,["Static computed property"])));return}if(b.j==o5b&&!F2b(b.b)){T8(a,b.b);return}i=Y1b(V8(b));R8(c,b);if(b.j==o5b){ne(s2b(b,58)==0);h=c.i;g=v2b(b.b)}else{h=s2b(b,58)!=0?c.b:c.j;g=b.Lh()}d=Uuc(h,g);e=!d?null:(KEc&d.a)==PEc?d.i:null;if(!!e&&!i.a.Mh(e.a,false,true,false,false))c1(a.a,Keb(b,O8,$C(VC(FS,1),bAc,2,6,[g])));else{f=new V1b(false);M1b(f,i);!!u2b(b,29)&&(u2b(b,29).a&QEc)!=0&&Z0b(f);s2b(b,58)!=0&&b.j!=o5b&&u1b(f);Vuc(h,g,F0b(f,false))}}function lyb(a,b){var c,d,e,f;if(-1==b.Ch()||_zc==
b.Ch()||a==b)return a;if(512==b.Ch())return hyb(a);if(512==a.Ch()){f=hyb(b);return!f.Dh().isEmpty()||Jwb(f.Bh())?pyb(f):f}if(QEc==b.Ch())return gyb(a);if(QEc==a.Ch())return gyb(b);if(-1==a.Ch())return b;if(_zc==a.Ch()){e=b.Ch()==2&&b.Dh().size()==1?is(b.Dh().Md()).d:null;return!!e&&RDb(e.a)?pyb(b):b}c=a.Ch()&b.Ch();if(a.Eh()==b.Eh())d=a.Eh();else if(a.Eh()!=null&&b.Eh()==null)return b;else{d=null;c&=-2}return Gyb(a.e,c,a.Ch()|b.Ch(),NCb(true,a.Dh(),b.Dh()),d,a.Dh(),b.Dh(),a.Bh(),b.Bh())}function LPb(a){var b,
c,d,e,f,g,h,i;h=qRb(a.j,0).b.b;e=!!xOb(a,(hUb(),KTb));g=null;i=qRb(a.j,0).c;if(i==fTb)return bPb(a,true);else if(i==RSb||(YNb(),YNb(),!!bo(zNb,i)))g=vOb(a);else if(i==oTb)return JPb(a);else if(i==lTb||i==nTb)return bPb(a,false);f=false;if(GQb(a,BTb)){tOb(a,BTb);f=true}if(GQb(a,nTb)||GQb(a,lTb)){d=(b=rVb(wVb(qVb(tVb(oVb(vVb(sVb(xVb(uVb(new yVb((DVb(),CVb)),g),false),e),f),null),DOb(a)),xPb(a,1)),COb(a)),new cVb(new CYb(h,a.g))),nVb(b,new CYb(h,a.g)));return d}else{c=COb(a);return new TVb(new CYb(h,
a.g),g,false,f,null,c)}}function tzb(b,c,d,e,f,g,h){var i,j,k,l,m,n,o;i=new Mxb(b.a);!!g&&Fxb(i,g.q);try{if(!!c&&!!((KEc&c.a)==PEc?c.i:null)){n=pzb(b,c,h,!g?(Lm(),Lm(),Km):g.p);if(_zc==n.Ch()||-1==n.Ch())return b.e;l=Vxb(n);if(l){o=(m=n.Ch()==2&&n.Dh().size()==1?is(n.Dh().Md()):null,(!m?null:m.b)?null:n);k=gxb(l);!!g&&!(l.g?l.g:l.d)&&(k=ewb(k,g.q));return new Nzb(o,k)}else{Vtc(b.i,Keb(e,$yb,$C(VC(FS,1),bAc,2,6,[])));c=null}}j=szb(b,c,d,e,f,g,h,i);return new Nzb(null,j)}catch(a){a=QU(a);if(ND(a,241)){Vtc(b.i,
Keb(e,izb,$C(VC(FS,1),bAc,2,6,[])));return b.e}else throw RU(a);}}function Uib(a){var b;switch(a.j.f){case 116:if(!!a.b&&!a.b.d)return rgc(),a.b.Lh().length!=0?pgc:ogc;break;case 31:return rgc(),a.Lh().length>0?pgc:ogc;case 30:return rgc(),a.Kh()!=0?pgc:ogc;case 19:return Uib(a.b?a.b.f:null).Ri();case 32:case 34:return rgc(),ogc;case 79:if(!xib(a.b,false,null))return rgc(),ogc;break;case 29:b=a.Lh();if(Vjc(hEc,b)||Vjc("NaN",b))return rgc(),ogc;else if(Vjc(JFc,b))return rgc(),pgc;break;case 35:case 38:return rgc(),
pgc;case 65:case 96:case 23:case 42:case 43:if(!xib(a,false,null))return rgc(),pgc}return rgc(),qgc}function sD(a,b){var c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,A,B,C,D,F,G;c=a.l&8191;d=a.l>>13|(a.m&15)<<9;e=a.m>>4&8191;f=a.m>>17|(a.h&255)<<5;g=(a.h&1048320)>>8;h=b.l&8191;i=b.l>>13|(b.m&15)<<9;j=b.m>>4&8191;k=b.m>>17|(b.h&255)<<5;l=(b.h&1048320)>>8;B=c*h;C=d*h;D=e*h;F=f*h;G=g*h;if(i!=0){C+=c*i;D+=d*i;F+=e*i;G+=f*i}if(j!=0){D+=c*j;F+=d*j;G+=e*j}if(k!=0){F+=c*k;G+=d*k}l!=0&&(G+=c*l);n=B&pBc;o=(C&
511)<<13;m=n+o;q=B>>22;r=C>>9;s=(D&262143)<<4;t=(F&31)<<17;p=q+r+s+t;v=D>>18;w=F>>5;A=(G&uBc)<<8;u=v+w+A;p+=m>>22;m&=pBc;u+=p>>22;p&=pBc;u&=qBc;return dD(m,p,u)}function XBb(a,b){var c,d,e,f,g;if(!cCb(a))if(a.b)return Wwb(a.b,b);else if(a.d)return gBb(a.d,b);!Vjc(a.d.a.w,_Dc)&&!Vjc(a.d.a.w,dEc)&&!Vjc(a.d.a.w,kFc)?gBb(a.d,b):(a.f.a&1)!=0?(b.a+="struct",b):(a.f.a&2)!=0?(b.a+="dict",b):!!a.e&&Ekc(b,a.e.Ad());if(a.b){b.a+="<|";Wwb(a.b,b);b.a+="|>"}if(!a.e||(new Jlc(a.g.a)).a.size()!=0){b.a+="{";e=true;
for(g=(d=(new mnc((new Hxc(new nmc(a.g))).a)).a.oe().b.ej(),new snc(d));g.a.Ed();){f=(c=g.a.Fd(),c.xe());e?e=false:(b.a+=oAc,b);b.a+=""+f;b.a+=":";$Cb(ih(Zg(a.g,f,false)),b)}b.a+="}"}a.c&&(b.a+=" (loose)",b);return b}function YIb(a,b){var c,d;c=hHc;if(b==(YJb(),NJb)){if(JIb(a,XJb)){d=a.j.n;!qIb.contains(d)&&!G0b(a.e,d)&&wIb(a,"msg.jsdoc.idgen.unknown",d,a.j.g,cKb(a.j));c=d;b=!a.o?dKb(a.j):BIb(a)}else{uIb(a,sHc,a.j.g,cKb(a.j));return b}JIb(a,TJb)?b=!a.o?dKb(a.j):BIb(a):uIb(a,sHc,a.j.g,cKb(a.j))}switch(c){case hHc:e1b(a.e)||
uIb(a,tHc,a.j.g,cKb(a.j));break;case iHc:P0b(a.e)||uIb(a,tHc,a.j.g,cKb(a.j));break;case "stable":F1b(a.e)||uIb(a,tHc,a.j.g,cKb(a.j));break;case "xid":T1b(a.e)||uIb(a,tHc,a.j.g,cKb(a.j));break;case "mapped":p1b(a.e)||uIb(a,tHc,a.j.g,cKb(a.j))}return b}function UOb(a,b){var c,d,e,f,g,h,i,j;if(GQb(a,(hUb(),gUb))&&Hzc(Gnc(a.e)))return EQb(a,b);f=qRb(a.j,0).b.b;c=jPb(a,b);if(GQb(a,gSb))return c.p==(SXb(),nWb)?sOb(a,c,b):(a.d=YLb(a.d,(TMb(),eMb).a),g=_Qb(a,c),h=qRb(a.j,0).b.b.b>a.g.b,(h||FQb(a,0,GTb)||
FQb(a,0,rSb)||FQb(a,0,ESb))&&ZQb(a,cIc,$C(VC(AS,1),qAc,1,5,[])),tOb(a,gSb),i=TOb(a,b),j=rVb(qVb(new yVb((DVb(),zVb)),g),i),nVb(j,AOb(a,g.o.b)));if(IQb(a)){c=$Qb(a,c);oUb(c)||ZQb(a,eIc,$C(VC(AS,1),qAc,1,5,[]));d=GOb(a);NTb==d.c&&(a.d=YLb(a.d,(TMb(),qMb).a));e=UOb(a,b);return new yUb(new CYb(f,a.g),c,d,e)}return c}function Aac(a,b){var c,d,e,f,g,h,i,j,k;g=!b;d=fbc(ebc(new hbc(a.u),b?a.a.b:(c=fbc(ebc(new hbc(a.u),a.a.b),a.v.d),new Lac(c.d,null,new Y8b(c.d,c.c,c.e,false),c.g,c.f,c.a,c.b))),a.v.d);h=a.a.a;
if(h){i=k2b(h,false);k=new q4b((F7b(),y6b),"thisType");Z2b(k,edc(a.u,Z7b(a.j)?ndc(a.u,(Xcc(),Tcc)):a.j));e2b(i,k);if(g)for(e=k.d;e;e=e.d){j=R2b(e,e.g,37);j!=e.g&&(e.g=j);e.g=new V3b(37,1,e.g)}else if(b){f=k.d;(!f||s2b(f,37)!=0||s2b(f,30)!=0)&&(j=R2b(k,k.g,37),j!=k.g&&(k.g=j),k.g=new V3b(37,1,k.g))}d.c=i}return new Lac(d.d,null,new Y8b(d.d,d.c,d.e,false),d.g,d.f,d.a,d.b)}function _Gb(a,b){var c,d,e,f,g,h;f=false;c=true;for(d=0;d<b.size();d++){e=b.getAtIndex(d);g=null;if(e.p==(SXb(),FXb)){h=e;g=FGb(a.a,
h.b);e=h.a}switch(e.p.f){case 26:if(f){a.a.d.hh("A required parameter cannot follow an optional parameter.",a.a.r,(bGb(),e.o.b.b+1),e.o.b.a);c=false}break;case 80:f=true;break;case 65:if(d!=b.size()-1){a.a.d.hh("A rest parameter must be last in a parameter list.",a.a.r,(bGb(),e.o.b.b+1),e.o.b.a);c=false}if(!!g&&g.j!=(F7b(),K4b)){a.a.d.hh("A rest parameter must be of an array type.",a.a.r,(bGb(),e.o.b.b+1),e.o.b.a);c=false}}}return c}function exb(a,b){var c,d,e,f,g,h,i,j,k,l,m,n,o,p;if(b.isEmpty()||
a==a.a.v||a==a.a.g)return a;j=b;if(!wAb(a.a.i,b)){g=false;for(n=a.n.Md();n.Ed();){m=n.Fd();if(b.containsKey(m)){g=true;break}}if(g){d=new pq;for(f=b.oe().Md();f.Ed();){e=f.Fd();a.n.contains(e.xe())||nq(d,e)}j=Nn(d.b)}}c=new Mxb(a.a);for(l=a.i.Md();l.Ed();){k=l.Fd();Gxb(c,myb(k,j))}for(i=a.e.Md();i.Ed();){h=i.Fd();Cxb(c,myb(h,j))}!!a.j&&Hxb(c,myb(a.j,j));Ixb(c,myb(a.k,j));a.c&&(c.c=true,c);Bxb(c,wxb(a.d,b));Fxb(c,wxb(a.g,b));for(p=a.f.We().Md();p.Ed();){o=p.Fd();Dxb(c,o,a.f.pe(o))}Jxb(c,a.n);return Lxb(c)}
function c6(a,b){var c,d,e,f,g,h,i,j,k;i=Tab(a.c,b);if(!i)return false;d=i.d;if(!d)for(k=(!i.n?(Lm(),Lm(),Km):i.n).Md();k.Ed();){j=k.Fd();(j.b==(Gbb(),Ebb)||j.b==Fbb)&&(d=j)}if(!d)return false;f=d.a;g=u2b(f,51);if(!!g&&g.vh())return false;c=f.e;e=null;if(c.j==(F7b(),Q5b))e=c;else if(c.j==z7b&&f.j==y6b)if(f.b)e=he(f.b);else return false;else if(c.j==L4b&&c.b==f)e=he(c.b.d);else if(c.j==L6b&&!!f.b&&!f.b.d)e=he(f.b);else throw RU(new Xic("Unexpected declaration format: "+l3b(c)));if(e.j==Q5b){h=he(o2b(e,
2));return!o6(new p6(a),h)}else return F2b(e)&&c6(a,v2b(e))}function Gmb(){Gmb=qV;km();new ly("COMPILED");Fmb=new y5("JSC_UNKNOWN_DEFINE_WARNING",(kY(),jY),new klc("unknown @define variable {0}"));new y5("JSC_INVALID_DEFINE_TYPE_ERROR",hY,new klc("@define tag only permits literal types"));new y5("JSC_INVALID_DEFINE_INIT_ERROR",hY,new klc("illegal initialization of @define variable {0}"));new y5("JSC_NON_GLOBAL_DEFINE_INIT_ERROR",hY,new klc("@define variable {0} assignment must be global"));new y5("JSC_DEFINE_NOT_ASSIGNABLE_ERROR",
hY,new klc("@define variable {0} cannot be reassigned due to code at {1}."));new klc("line {0} of {1}")}function h8b(a,b){var c;if(!!a.qi()&&!!b.qi())return Jac(a.qi(),b.qi(),false);else if(U7b(a,b,0,new Kbc(true)))return a;else if(a.li()||b.li())return U7b(a,b,0,new Kbc(true))?a:X7b(a,(Xcc(),Tcc));else if(a.ui())return Pgc(a.ui(),b);else if(b.ui())return Pgc(b.ui(),a);else{a.ti();b.ti();if(a.ji(b))return f8b(a);else if(b.ji(a))return f8b(b);else if(a.ri())return Dfc(a.ri(),b);else if(b.ri())return Dfc(b.ri(),
a)}if(a.oi()){c=L9b(a.oi(),b);if(c)return c}else if(b.oi()){c=L9b(b.oi(),a);if(c)return c}if(a.hi()&&b.hi())return X7b(a,(Xcc(),lcc));return X7b(a,(Xcc(),ncc))}function Ycb(a,b){var c,d,e,f,g,h,i,j,k;_d(b.j==(F7b(),W5b));_d(F2b(b));c=b.b;if(!Igb(a.a,c)&&!Ucb(a,c)&&!Vcb(a,c))return;Bjb(b)?cdb(a,b):Njb(b)?ddb(a,b):njb(b)?$cb(a,b):Scb(a,b)?Zcb(a,b):(_d(b.j==W5b),_d(F2b(b)),d=b.e,e=(sib(),f=Fib(b),!f?null:u2b(f,29)),d.j==L4b&&d.e.j==L5b&&(d.b?d.b.f:null).j==Q5b&&(!e||(g=(e.a&KEc)==PEc&&((KEc&e.a)==PEc?
e.i:null).a.j==Q5b,g||(e.a&KEc)==SAc||!!e.g||_$b(e)>0||(e.a&2)!=0||(e.a&hFc)!=0&&(e.a&KEc)!=PEc)))&&(h=vgb(a.a,sDb(b.b)),i=ucb(a.b,t2b(b.e)),j=xgb(a.a,i),k=new rDb((b.b?b.b.f:null).Lh()),ywb(h,k)||owb(h,k,new Uwb(a.b.d,v2b(b),j,b)),undefined)}function ugb(a,b,c){var d,e,f,g,h,i;_d(b.indexOf(".")==-1);if(!Cgb(a,b,c))return null;i=null;f=false;if(Vjc(xCc,b))i=tgb(a,xCc);else if(Tuc(a.o,b))i=Uuc(a.o,b);else if(a.f.contains(b)){d=a.f.indexOf(b);if(!!a.c&&d!=-1){e=_vb(a.c,d);!!e&&0!=e.Ch()&&(i=e)}}else if(Tuc(a.j,
b))a.g&&a.e.containsKey(b)&&(i=a.e.pe(b));else if(a.n.containsKey(b)||a.k.containsKey(b));else if(!!a.c&&bwb(a.c,b)!=null){f=true;i=xyb(a.a,bwb(a.c,b))}else a.e.containsKey(b)&&(i=a.e.pe(b));h=null;a.k.containsKey(b)?h=a.k.pe(b):!!a.s&&(h=a.s.pe(b));return new Zvb(i,a.n.pe(b),h,Uuc(a.j,b),(g=f,Wtc(a.b,b),g))}function U7b(a,b,c,d){var e,f;if(a==b)return true;f=a.li();e=b.li();if(f||e)if(c==2)return true;else if(c==1)return f&&e;else if(f&&e&&a.fi()^b.fi())return false;if(!!a.ui()&&!!b.ui())return Ggc(a.ui(),
b.ui(),c,d);if(!!a.qi()&&!!b.qi())return yac(a.qi(),b.qi(),c,d);if(!$fc(a.Yh(),b.Yh(),c,d,0))return false;if(d.b&&a.ii()&&b.ii())return l9b(ND(a,56)?a:null,ND(b,56)?b:null,c,d);if(a.fi()&&b.fi())return Vjc(W7b(a,ND(a,56)?a:null),W7b(a,ND(b,56)?b:null));if(!!a.si()&&!!b.si())return false;if(ND(a,145))return U7b(a.c,b,c,d);if(ND(b,145))return U7b(a,b.c,c,d);return false}function x9(a,b,c){var d,e,f,g,h,i,j,k,l,m,n,o,p,q;k=b.e;g=bjb(k)&&k.j!=(F7b(),L4b)&&k.b==b;e=null;if(g&&(sib(),b.j==(F7b(),W5b)||
b.j==V5b))for(i=(!b.b?(Gpc(),Gpc(),Fpc):new k4b(b.b)).Md();i.Ed();){h=i.Fd();if(h.j!=(F7b(),h7b)&&!y9(a,h,a.b)){d=x9(a,h,c);!e&&(e=d)}}n=(q=a.e+"_const"+VEc+(""+a.c.a.W++),Vtc(a.b,q),q);l=m3b((se(Yjc(n,qkc(46))==-1,YBc,n),new q4b((F7b(),y6b),n)),b);if(g){ne(b.j==y6b||(sib(),b.j==W5b||b.j==V5b));j=o3b(new q3b(Sib(k)),k);m=k.b?k.b.f:null;f3b(k,L4b);S2b(k,m,j);e2b(j,l);d2b(j,m);o=k2b(b,false)}else{S2b(k,b,l);o=b}p=Zjb(n,o);f=c.e;c2b(f,p,c);!e&&(e=p);return e}function eD(a,b,c){var d,e,f,g,h,i;if(b.l==
0&&b.m==0&&b.h==0)throw RU(new Nhc("divide by zero"));if(a.l==0&&a.m==0&&a.h==0){c&&(aD=dD(0,0,0));return dD(0,0,0)}if(b.h==rBc&&b.m==0&&b.l==0)return fD(a,c);i=false;if(b.h>>19!=0){b=tD(b);i=!i}g=lD(b);f=false;e=false;d=false;if(a.h==rBc&&a.m==0&&a.l==0){e=true;f=true;if(g==-1){a=cD((GD(),CD));d=true;i=!i}else{h=vD(a,g);i&&jD(h);c&&(aD=dD(0,0,0));return h}}else if(a.h>>19!=0){f=true;a=tD(a);d=true;i=!i}if(g!=-1)return gD(a,g,i,f,c);if(qD(a,b)<0){c&&(f?aD=tD(a):aD=dD(a.l,a.m,a.h));return dD(0,0,0)}return hD(d?
a:dD(a.l,a.m,a.h),b,i,f,e,c)}function bib(a,b,c){var d,e,f,g,h,i,j,k,l,m,n;f=b.j;f==(F7b(),b7b)&&$hb(a,u2b(b,53),(e=(d=u2b(b,51),!d?null:d.Ig()),e==null?"":e));a.e=b;if(!a.a.Qf(a,b,c))return;f==Q5b?(g=b.b,h=!!c&&(sib(),b.j==Q5b&&!Kjb(b.e)),h||bib(a,g,b),a.e=b,Xhb(a,b),h&&bib(a,g,b),i=g.d,j=i.d,bib(a,i,b),bib(a,j,b),Whb(a,false),undefined):f==k5b?(k=b.b,l=(sib(),b.j==k5b&&!Kjb(b.e)),l||bib(a,k,b),a.e=b,Xhb(a,b),l&&bib(a,k,b),m=b.b.d,n=m.d,bib(a,m,b),bib(a,n,b),Whb(a,false),undefined):f==w6b?(Xhb(a,
b),cib(a,b),Whb(a,false),undefined):a.o&&Bib(b)?(Xhb(a,b),cib(a,b),Whb(a,false),undefined):cib(a,b);a.e=b;a.a.Rf(a,b,c)}function PC(a,b){var c,d,e,f,g,h,i,j,k;j="";if(b.length==0)return a.Cf(oBc,mBc,-1,-1);k=okc(b);Vjc(k.substr(0,3),"at ")&&(k=k.substr(3));k=k.replace(/\[.*?\]/g,"");g=k.indexOf("(");if(g==-1){g=k.indexOf("@");if(g==-1){j=k;k=""}else{j=okc(k.substr(g+1));k=okc(k.substr(0,g))}}else{c=k.indexOf(")",g);j=k.substr(g+1,c-(g+1));k=okc(k.substr(0,g))}g=Yjc(k,qkc(46));g!=-1&&(k=k.substr(g+
1));(k.length==0||Vjc(k,"Anonymous function"))&&(k=mBc);h=_jc(j,qkc(58));e=akc(j,qkc(58),h-1);i=-1;d=-1;f=oBc;if(h!=-1&&e!=-1){f=j.substr(0,e);i=KC(j.substr(e+1,h-(e+1)));d=KC(j.substr(h+1))}return a.Cf(f,k,i,d)}function kPb(a){var b,c,d;if(qRb(a.j,1).c==(hUb(),OSb))return hPb(a,nTb,sSb);d=qRb(a.j,0).b.b;tOb(a,nTb);if(GQb(a,sSb)){tOb(a,sSb);if(GQb(a,gSb))return new lVb(new CYb(d,a.g),(Lm(),Lm(),Km));else{ZQb(a,gIc,$C(VC(AS,1),qAc,1,5,[]));return new UVb(new CYb(d,a.g))}}if(GQb(a,JTb)){b=(Lm(),new iy($Pb(a,
0)));tOb(a,sSb);if(GQb(a,gSb))return new lVb(new CYb(d,a.g),b);else{ZQb(a,gIc,$C(VC(AS,1),qAc,1,5,[]));return new UVb(new CYb(d,a.g))}}c=HOb(a,1);if(GQb(a,vSb)){tOb(a,vSb);c=new GUb(new CYb(d,a.g),(Lm(),new px(bn($C(VC(AS,1),qAc,1,5,[c,$Pb(a,0)])))))}tOb(a,sSb);return new cWb(new CYb(d,a.g),c)}function UX(){UX=qV;QX=new y5("JSC_EVENTFUL_OBJECT_NOT_DISPOSED",(kY(),hY),new klc("eventful object created should be\n  * registered as disposable, or\n  * explicitly disposed of"));RX=new y5("JSC_EVENTFUL_OBJECT_PURELY_LOCAL",
hY,new klc("a purely local eventful object cannot be disposed of later"));SX=new y5("JSC_OVERWRITE_PRIVATE_EVENTFUL_OBJECT",hY,new klc("private eventful object overwritten in subclass cannot be properly disposed of"));TX=new y5("JSC_UNLISTEN_WITH_ANONBOUND",hY,new klc("an unlisten call with an anonymous or bound function does not result in the event being unlisted to"))}function P0(b,c,d,e){var f;Q0(b,e);d.a.length==0?c1(b,new Geb(null,null,-1,-1,f0,null,$C(VC(FS,1),bAc,2,6,[]))):(Azc(0,d.a.length),
d.a[0]).c.a.length==0&&d.a.length>1&&c1(b,new Geb(null,null,-1,-1,g0,null,$C(VC(FS,1),bAc,2,6,[(Azc(0,d.a.length),d.a[0]).d])));u1(d);b.j=S0(c);b.D=d;if(d.a.length>1)try{b.B=new bfb(d)}catch(a){a=QU(a);if(ND(a,297)){f=a;c1(b,new Geb(null,null,-1,-1,h0,null,$C(VC(FS,1),bAc,2,6,[f.b.d,f.a.d])));return}else throw RU(a);}else b.B=null;b.s=v1(d);$g(b.r,b.H.Lb);O0(b);b.u=k$b($C(VC(jR,1),ZBc,7,0,[]));b.n=k$b($C(VC(jR,1),ZBc,7,0,[]));b.g=k$b($C(VC(jR,1),ZBc,7,0,[b.n,b.u]))}function GY(){GY=qV;FY=new y5("JSC_SUSPICIOUS_SEMICOLON",
(kY(),jY),new klc("If this if/for/while really shouldn''t have a body, use '{}'"));BY=new y5("JSC_SUSPICIOUS_NAN",jY,new klc("Comparison against NaN is always false. Did you mean isNaN()?"));DY=new y5("JSC_SUSPICIOUS_IN",jY,new klc('Use of the "in" keyword on non-object types throws an exception.'));CY=new y5("JSC_SUSPICIOUS_INSTANCEOF_LEFT",jY,new klc('"instanceof" with left non-object operand is always false.'));EY=new y5("JSC_SUSPICIOUS_NEGATED_LEFT_OPERAND_OF_IN_OPERATOR",jY,new klc("Suspicious negated left operand of 'in' operator."))}
function PCb(a,b){var c,d,e,f,g,h,i,j,k,l;if(a.c)return $Bb(a,b)?a:null;if(b.c)return null;if(!hwc(a.e,b.e))return null;if(a==a.a._)return b==b.a._?a:null;else if(b==b.a._)return null;else if(a==a.a.M)return b==b.a.M?a:null;else if(b==b.a.M)return null;f=IBb(a.d,b.d);if(!f)return null;d=null;if(!!a.b||!!b.b){d=yxb(a.b,b.b);if(!d)return null}e=(XAb(),XAb(),WAb);for(l=(g=(new nmc(a.g)).a.oe().Md(),new tmc(g));l.a.Ed();){k=(c=l.a.Fd(),c.xe());i=ih(Zg(a.g,k,false));j=ih(Zg(b.g,k,false));if(!j)return null;
h=jDb(i,j);if(!h)return null;e=ZAb(e,k,h)}return ICb(a.a,f,e,d,a.e,false,VBb(a.f,b.f))}function I8(a,b){var c,d,e,f,g,h,i,j,k,l,m,n,o,p;o=b.b?b.b.f:null;k=H8(o);f=G8(o);i=new Z1b((sIb(),j=tJb("!ITemplateArray"),eJb(j,!j.o?dKb(j.j):BIb(j))),"<Es6TemplateLiterals.java>");h=new V1b(false);M1b(h,i);n=IZb(f,F0b(h,false));d=b$b("$jscomp$templatelit$"+(""+(m=a.c,new S1(m)).a.W++));p=p3b(LZb(d,n,(F7b(),z7b)),b);l=(sib(),Iib(b,new lkb(b7b)));e2b(l,p);g=p3b(NZb(CZb(SZb(l2b(d,new q4b(d.j,d.a),false),new q4b(h7b,
"raw")),k)),b);b2b(l,g,p);c=GZb(Q2b(b),$C(VC(jR,1),ZBc,7,0,[l2b(d,new q4b(d.j,d.a),false)]));for(e=o.b;e;e=e.d)e.j==h7b||d2b(c,Q2b(e));p3b(c,o);M2b(c,50,c.b.j!=W5b);S2b(b.e,b,c);d1(a.c)}function C8(a,b,c,d){var e,f,g,h,i;switch(b.j.f){case 76:Xob(a.d)==a.d&&x8(a,b);return;case 100:case 88:if(!z8(a,b))return;x8(a,b);return;case 65:{sib();if(b.j==(F7b(),Q5b)&&!Kjb(b.e)||!z8(a,b))return}h=b.b.Lh();if(h.length==0)return;y8(a,b.b);return;case 96:{sib();if(b.j==(F7b(),k5b)&&!Kjb(b.e)||!z8(a,b))return}g=
b.b.Lh();if(g.length==0)return;y8(a,b.b);return;case 78:oe(p2b(b)==2,b);z8(a,b)&&x8(a,b);e=b.b.d;C8(a,e,c,false);return;case 85:a.b=u2b(b,53);he(a.b)}if(!c&&!d&&Bib(b))return;if(hjb(b)||(sib(),b.j==(F7b(),b7b)||b.j==c5b||b.j==_6b||b.j==w6b))for(f=b.b;f;){i=f.d;C8(a,f,c,false);f=i}}function _Yb(a){var b,c,d,e,f;if(a.a==null)return a.b.k=false,UYb(a,iAc,0);if(!PD(a.a))throw RU(RYb(a));e=cZb(a);if(e!=null)return e;b=a.b.b;b!=97&&b!=65&&a.b.n==-1&&(a.b.n=6,undefined);d=new Ikc;switch(b){case 97:case 65:WYb(a);
break;case 101:case 69:XYb(a,d);break;case 102:YYb(a,d);break;case 103:case 71:dZb(a,d);break;default:throw RU(wZb(a.b));}a.b.n=-1;f=0;if(45==d.a.charCodeAt(0)){if(a.b.g)return eZb(a,d)}else{if(a.b.j){Hkc(d,0,String.fromCharCode(32));++f}if(a.b.d){Hkc(d,0,String.fromCharCode(43));++f}}c=d.a.charCodeAt(0);a.b.k&&(c==43||c==45)&&(f=1);(b==97||b==65)&&(f+=2);return UYb(a,d,f)}function zfb(a,b,c){var d,e,f,g,h,i,j,k,l,m,n,o,p;n=a.e;p=b.f;k=b.d;g=b.a;d=new Ikc;e=new Ikc;m=Dfb(p,k);if(a.c){l=!n?null:G0(n,
b.f,b.d,b.a);if(!l)e.a+=""+m;else{p=l.d;k=l.c;g=l.a;d.a+=""+m;d.a+="\nOriginally at:\n";Ekc(e,Dfb(p,k))}}o=!n?null:F0(n,p,k);if(a.b){Ekc(e,IV(a,c?(kY(),jY):(kY(),hY)));e.a+=" - "}Ekc(e,b.c);Ekc(d,KV(a,e.a));d.a+=fBc;if(o!=null){d.a+=""+o;d.a+=fBc;if(a.a==(hpb(),fpb)&&0<=g&&g<=o.length){for(i=0;i<g;i++){f=o.charCodeAt(i);/\s/.test(f)?(d.a+=String.fromCharCode(f),d):(d.a+=" ",d)}if(!b.e)d.a+="^";else{j=zjc(1,Ajc(b.e.c,o.length-g));for(h=0;h<j;h++)d.a+="^"}d.a+=fBc}}return d.a}function $mb(a,b,c){var d,
e,f,g,h,i,j,k,l,m,n,o,p;if(c.j==(F7b(),h7b)){k=c.Lh();cub();if(k.indexOf("/")!=-1){h=_jc(k,qkc(47));f=Zjc(k,qkc(46),h);i=null;f==-1?f=k.length:i=k.substr(f);j=k.substr(0,f);g=yub(xub(g2((!b.d&&(b.d=z0(b.c,b.f)),b.d)),j));c.Qh(i==null?g:g+i)}else{o=Df(Af(If(new nc(46))),k);d=o.a.getAtIndex(0);m="";o.b.size()==2&&(m="."+o.a.getAtIndex(1));p=$ob(Shb(b),d);if(!!p&&!p.d.c)c.Qh(d+"$$"+a.a+m);else if(!p&&rlc(a.b.g,d)){l=qlc(a.b.g,d);l.b.length==0?c.Qh(l.a+m):c.Qh(d+"$$"+l.a+m)}n=R2b(c,c.g,40);n!=c.g&&(c.g=
n);k!=null&&(c.g=new d4b(40,k,c.g))}}for(e=c.b;e;e=e.d)$mb(a,b,e);d1(a.b.c)}function Ndb(a,b){var c,d,e,f,g,h,i,j,k,l,m,n,o;_d(b.j==(F7b(),W5b));udb(a,b);if(odb(a,b))return;d=v2b(b.b);e=sDb(b.b);ne(Ggb(a.a,d));c=(f=rgb(a.a,e,false),!f?null:ND(f.c,79)?f.c:null);k=(b.b?b.b.f:null).Lh();h=(sib(),i=Fib(b),!i?null:u2b(i,29));m=tcb(a.c,h,a.a);g=zcb(a.c,b);if(!!m||g){l=(j=ih(Zg(c.C,k,false)),!j?null:j.b);if(xwb(c,k)&&!!l&&!Kdb(h,m,l)){Nhb(a.c.t,Keb(b,(pcb(),icb),$C(VC(FS,1),bAc,2,6,[k,"type "+c])));return}!m&&
(m=tdb(a,b));ne(!c.f);pwb(c,k,b,m,g);o=R2b(b,b.g,76);o!=b.g&&(b.g=o);b.g=new V3b(76,1,b.g);g&&(n=R2b(b,b.g,77),n!=b.g&&(b.g=n),b.g=new V3b(77,1,b.g))}else{ne(!c.f);rwb(c,k,b,c.t.G)}}function tyb(a){Rxb();var b;b=new Yuc;Vuc(b,"BOOLEAN",new RAb(a,24));Vuc(b,"BOTTOM",new RAb(a,0));Vuc(b,qGc,new RAb(a,16));Vuc(b,"FALSY",new RAb(a,QEc));Vuc(b,rGc,new RAb(a,32));Vuc(b,sGc,new RAb(a,64));Vuc(b,tGc,new RAb(a,128));Vuc(b,"TOP",new RAb(a,-1));Vuc(b,uGc,new RAb(a,504));Vuc(b,"TRUE_TYPE",new RAb(a,8));Vuc(b,
vGc,new RAb(a,512));Vuc(b,"UNDEFINED",new RAb(a,256));Vuc(b,wGc,new RAb(a,_zc));Vuc(b,xGc,new RAb(a,280));Vuc(b,yGc,new RAb(a,320));Vuc(b,zGc,new RAb(a,384));Vuc(b,AGc,new RAb(a,56));Vuc(b,BGc,new RAb(a,96));Vuc(b,CGc,new RAb(a,160));Vuc(b,DGc,new RAb(a,288));Vuc(b,EGc,new RAb(a,192));return b}function Adc(a,b){var c,d,e,f,g,h,i,j,k,l,m,n;if(b.o)return b;if(b.e!=(qbc(),pbc)&&!b.Pi())return b;j=false;h=Z7b(b.j)?ndc(b.u,(Xcc(),Tcc)):b.j;e=Edc(a,h.wi(a));h!=e&&(j=true);g=b.a.b;d=g.wi(a);g!=d&&(j=true);
l=new mbc(a.e);for(n=(k=b.a.a,k?!k.b?(Gpc(),Gpc(),Fpc):new k4b(k.b):(Gpc(),Gpc(),Fpc)).Md();n.Ed();){m=n.Fd();f=ND(m.k,20)?m.k:null;c=f.wi(a);f!=c&&(j=true);s2b(m,37)!=0?ibc(l,$C(VC(ER,1),qAc,20,0,[c])):s2b(m,30)!=0?kbc(l,c):jbc(l,$C(VC(ER,1),qAc,20,0,[c]))}if(j){i=fbc(gbc(ebc(dbc(cbc(new hbc(a.e),b.Pi()),l.b),d),e),cgc(b.v));return new Lac(i.d,null,new Y8b(i.d,i.c,i.e,false),i.g,i.f,i.a,i.b)}return b}function NB(b){var c,d,e,f,g,h,i,j,k,l,m,n,o,p,q;c=new KB;f=null;try{f=$wnd.JSON.parse(b)}catch(a){a=
QU(a);if(ND(a,41)){d=a;throw RU(new OB("JSON parse exception: "+d));}else throw RU(a);}q=f;JB(c,q.version);DB(c,q.file);EB(c,q.getLineCount()!=null?q.lineCount:-1);FB(c,q.mappings);if(q.sections!=null){l=(Lm(),new hq);for(n=q.sections,o=0,p=n.length;o<p;++o){m=n[o];fq(l,LB(m))}HB(c,Tm(l.a))}else c.f=null;IB(c,q.sources);GB(c,q.names);e=new Yuc;k=$wnd.Object.keys(q);for(h=k,i=0,j=h.length;i<j;++i){g=h[i];Vjc(g.substr(0,2),"x_")&&Vuc(e,g,q[g])}CB(c,(Gpc(),new Crc(e)));return new BB(c.i,c.c,c.b,c.d,
c.g,c.e,c.f,c.a)}function IKb(a,b){var c,d;if(b.j==(F7b(),F4b)||b.j==O6b||b.j==G6b)return JKb(a,b);if(b.j!=f5b){a.a.ih((c=$C(VC(AS,1),qAc,1,5,[Xzc]),jHc+D4b(BHc,c)),a.b.Ig(),a.d,a.c);return false}if(!FKb((ee(b.j==f5b,yHc,b),b.b.Lh()))){a.a.ih((c=$C(VC(AS,1),qAc,1,5,["boolean predicate"]),jHc+D4b(zHc,c)),a.b.Ig(),a.d,a.c);return false}d=ILb(Lb((ee(b.j==f5b,yHc,b),b.b.Lh())));if(!CKb(a,b,d))return false;switch(d.a){case 3:return $Kb(a,b,(ee(b.j==f5b,yHc,b),p2b(b)-1));case 2:return VKb(a,b,(ee(b.j==
f5b,yHc,b),p2b(b)-1));case 4:return bLb(a,b,(ee(b.j==f5b,yHc,b),p2b(b)-1));default:throw RU(new Xic("Invalid boolean expression"));}}function S7(a){var b,c,d,e,f,g,h,i,j,k;f=b$b("$jscomp$generator$switch$entered"+(""+a.f.a.W++));g=LZb(k2b(f,false),new q3b((F7b(),M5b)),z7b);j=b$b("$jscomp$generator$switch$val"+(""+a.f.a.W++));k=LZb(k2b(j,false),Q2b(a.d),z7b);e2b(a.j,g);b2b(a.j,k,g);i=k;while(a.d.b){e=Q2b(a.d);e2b(e.b?e.b.f:null,NZb(CZb(k2b(f,false),new q3b(s7b))));if(e.j==u5b){!!a.d.b&&c1(a.a,Keb(a.d,
(Q8(),M8),$C(VC(FS,1),bAc,2,6,["Default case as intermediate case"])));h=EZb(Q2b(e))}else h=VZb(f$b(k2b(f,false),l$b(k2b(j,false),Q2b(e))),Q2b(e));b2b(a.j,h,i);i=h}c=G7++;d=a.c.a.length==0?-1:koc(a.c,0).b;goc(a.c,0,new l8(c,d,null));b=$7(c);b2b(a.j,b,i)}function eCb(a,b,c){var d,e,f,g,h;if(b==b.a._)return true;if(a.c||b.c)return dCb(a,b,c);h=a.d;f=b.d;e=true;if(f.a.g==2){if(iBb(f,ih(Zg(c.a,h,false))))return true;c=(_d(f.a.g!=0),new aEb(ZAb(c.a,h,f)));xBb(h,f)||(e=false);if(SDb(f.a,eFc)){if(QDb(h.a)&&
!xBb(h,f))return false;if(RDb(h.a)||SDb(h.a,kFc))return ZBb(a,f,c)}else if(SDb(f.a,KGc))if(QDb(h.a)&&(!cyb(kBb(h),a.a.q,c)||!cyb(lBb(h),lBb(f),c)))return false}else if(!xBb(h,f))return false;if(e)g=new nmc(b.g);else{g=FDb(f.a);if(!g)return false}if(!YBb(a,b,g,c))return false;if(!b.b)return true;else if(!a.b)return false;d=bxb(a.b,b.b,true,c,null);return d}function evb(){evb=qV;Do("goog.object.forEach","goog.object.filter","goog.object.map","goog.object.some","goog.object.every","goog.object.getCount",
$C(VC(FS,1),bAc,2,6,["goog.object.getAnyKey","goog.object.getAnyValue","goog.object.contains","goog.object.getValues","goog.object.getKeys","goog.object.findKey","goog.object.findValue","goog.object.isEmpty","goog.object.clear","goog.object.remove","goog.object.equals","goog.object.clone","goog.object.unsafeClone","goog.object.transpose"]));dvb=new y5("JSC_ARRAY_PASSED_TO_GOOG_OBJECT",(kY(),jY),new klc("{0} expects an object, not an array. Did you mean to use goog.array?"))}function iwb(a,b){var c,
d,e,f,g,h,i,j,k;if(a==b)return a;d=a.a;c=new Mxb(a.a);h=Ajc(a.f.size(),b.f.size());for(f=0;f<h;f++)Gxb(c,kwb((j=a.f.size(),f<j?a.f.getAtIndex(f):f<j+a.d.size()?a.d.getAtIndex(f-j):a.g),(i=b.f.size(),f<i?b.f.getAtIndex(f):f<i+b.d.size()?b.d.getAtIndex(f-i):b.g)));g=zjc(a.f.size()+a.d.size(),b.f.size()+b.d.size());for(e=h;e<g;e++)Cxb(c,kwb((j=a.f.size(),e<j?a.f.getAtIndex(e):e<j+a.d.size()?a.d.getAtIndex(e-j):a.g),(i=b.f.size(),e<i?b.f.getAtIndex(e):e<i+b.d.size()?b.d.getAtIndex(e-i):b.g)));(!!a.g||
!!b.g)&&Hxb(c,kwb(a.g,b.g));k=lwb(a.i,b.i);if(Txb(d.b,k))return null;ne(!c.k);c.k=k;return Kxb(c)}function S9(a,b,c){var d,e,f,g,h,i,j,k,l,m,n,o;k=U9(b);for(e=0;e<k.a.length;++e){j=(Azc(e,k.a.length),k.a[e]);g=e==k.a.length-1;m=(n=JEc.length,Vjc(j.substr(j.length-n,n),JEc)||Wtc(a.d.a,j)&&!g);d=false;if(c){h=(sib(),i=Fib(c),!i?null:u2b(i,29));!!h&&((h.a&2)!=0||(h.a&512)!=0||(h.a&NDc)!=0||(h.a&KEc)==XEc||(h.a&KEc)==hBc)&&(d=true)}if(!m){h=null;if(g&&!!c)if(c.j==(F7b(),Q5b))f=V9(c);else{ne(c.j==L6b);
f=W9(c)}else if(!g&&d){h=(o=new V1b(false),Q0b(o),H1b(o,(km(),zo($C(VC(AS,1),qAc,1,5,[HDc,IDc])))),F0b(o,false));f=W9(e$b($C(VC(jR,1),ZBc,7,0,[])));l=R2b(f,f.g,29);l!=f.g&&(f.g=l)}else f=new q3b((F7b(),B5b));T9(a,j,f,h)}}}function afb(a,b,c){var d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v;t=new Ytb(c);f=(v=new Avc,$eb(a),_c(v,c),v);d=Vtb(t,c,b.b);g=new Jt;for(j=(q=(new nmc(f.a)).a.oe().Md(),new tmc(q));j.a.Ed();){h=(e=j.a.Fd(),e.xe());l=h.g;he(l);Ft(g,l,h,null)}for(n=a.b.Md();n.Ed();){l=n.Fd();Reb(l)}for(o=
(s=g.g,!s?g.g=new hu(g):s).Md();o.Ed();){l=o.Fd();u=Vtb(t,new eu(g,l),b.b);for(k=u.Md();k.Ed();){h=k.Fd();p=h.g;if(!p){_d(!l||!h.g||h.g==l);h.g=l}else{_d(true);h.g=null;j2(h,Zeb(a,p,l))}}}for(i=d.Md();i.Ed();){h=i.Fd();l=h.g;!!l&&(hoc(l.c,h),_d(!l||!h.g||h.g==l),h.g=l)}r=(Lm(),new hq);for(m=a.b.Md();m.Ed();){l=m.Fd();gq(r,l.c)}return Tm(r.a)}function kob(a,b,c){var d,e,f,g,h,i,j,k;if(F2b(c)&&eob(a.b.b,c)){h=v2b(c);f=false;for(e=(Vnb(),Tnb).Md();e.Ed();){d=e.Fd();if(Vjc(h.substr(0,d.length),d)){h=
jkc(h,d.length);f=true;break}}i=bo(a.b.b.b,h);!!i&&!f&&(k=Wib(c),k.j!=(F7b(),y6b)||!!$ob(Shb(b),k.Lh()))&&(i=null);if(!!i&&!ceb(a,h)){Ynb(a.b,i.c)||Zhb(b,c,Unb,$C(VC(FS,1),bAc,2,6,[h,Qe(F2(a.b.a.H)),"ECMASCRIPT"+i.c.b]));!Ynb(a.b,i.b)&&i.a.length!=0&&Vtc(a.a,i.a);return}}if(c.j==(F7b(),W5b)&&(c.b?c.b.f:null).j==h7b){h=(c.b?c.b.f:null).Lh();g=Gl(a.b.b.a,h);if(!g.isEmpty()&&!ceb(a,"."+h))for(j=g.Md();j.Ed();){i=j.Fd();!Ynb(a.b,i.b)&&i.a.length!=0&&Vtc(a.a,i.a)}}return}function $cb(a,b){var c,d,e,f,
g,h,i,j,k,l,m;ne(F2b(b));m=R2b(b,b.g,76);m!=b.g&&(b.g=m);b.g=new V3b(76,1,b.g);if(Bgb(a.a,b))return;e=Vib(b);if(!!e&&F2b(e)){d=(c=rgb(a.a,sDb(e),false),!c?null:ND(c.c,160)?c.c:null);if(d){lgb(a.a,b,d);return}}if(!e||e.j!=(F7b(),L6b)||!e.b){Nhb(a.b.t,Keb(b,(pcb(),ecb),$C(VC(FS,1),bAc,2,6,[])));return}g=(sib(),h=Fib(b),!h?null:u2b(h,29));l=new Avc;for(k=(!e.b?(Gpc(),Gpc(),Fpc):new k4b(e.b)).Md();k.Ed();){j=k.Fd();i=Rib(j);l.a.containsKey(i)&&Nhb(a.b.t,Keb(b,(pcb(),Wbb),$C(VC(FS,1),bAc,2,6,[i])));Acb(a.b,
i,b);l.a.put(i,l)}lgb(a.a,b,new Ewb(a.b.d,v2b(b),b,(KEc&g.a)==XEc?g.i:null,(km(),f=l,xo(f))))}function UB(a){RB();var b,c,d;d=new Jkc;d.a+='"';for(c=0;c<a.length;c++){b=a.charCodeAt(c);switch(b){case 10:d.a+="\\n";break;case 13:d.a+="\\r";break;case 9:d.a+="\\t";break;case 92:d.a+=aAc;break;case 34:d.a+='\\"';break;case 39:d.a+="'";break;case 62:c>=2&&(a.charCodeAt(c-1)==45&&a.charCodeAt(c-2)==45||a.charCodeAt(c-1)==93&&a.charCodeAt(c-2)==93)?(d.a+="\\u003e",d):(d.a+=String.fromCharCode(b),d);break;
case 60:bkc(a,true,c+1,"/script",0,7)?(d.a+="\\u003c",d):bkc(a,false,c+1,"!--",0,3)?(d.a+="\\u003c",d):(d.a+=String.fromCharCode(b),d);break;default:b>31&&b<=127?(d.a+=String.fromCharCode(b),d):TB(d,b)}}d.a+='"';return d.a}function rzc(a,b){var c,d,e,f,g,h,i,j;e=0;for(i=0;i<b;){++e;d=a[i];if((d&192)==128)throw RU(new dfb(UIc));else if((d&128)==0)++i;else if((d&224)==192)i+=2;else if((d&240)==224)i+=3;else if((d&248)==240)i+=4;else throw RU(new dfb(UIc));if(i>b)throw RU(new Phc(UIc));}f=XC(WD,cAc,
46,e,15,1);j=0;g=0;for(h=0;h<b;){d=a[h++];if((d&128)==0){g=1;d&=127}else if((d&224)==192){g=2;d&=31}else if((d&240)==224){g=3;d&=15}else if((d&248)==240){g=4;d&=7}else if((d&252)==248){g=5;d&=3}while(--g>0){c=a[h++];if((c&192)!=128)throw RU(new dfb("Invalid UTF8 sequence at "+(h-1)+", byte="+(c>>>0).toString(16)));d=d<<6|c&63}j+=kic(d,f,j)}return f}function Xtb(a){var b,c,d,e,f,g,h,i,j,k,l,m;for(l=new Poc(a.f);l.a<l.c.a.length;){j=Noc(l);g=j.Jg();c=hs(g.Md());(c==null||g.size()==1&&Vjc(c.substr(0,
7),AFc))&&Vuc(a.e,(Hub(),AFc+dkc(ckc(ckc(ckc(ckc(ckc(dkc(ekc(Jub((b=dkc(dkc(dkc(dkc(dkc(ckc(ckc(j.Ig(),58,45),92,47)," ",iEc),"[",jEc),"]",kEc),"<",lEc),">",mEc),Iub(b))),nEc+Xyc("/"),""),"/","$"),92,36),64,36),45,95),58,95),46,95),iEc,"_")),j);for(f=j.Jg().Md();f.Ed();){e=f.Fd();tlc(a.b,e,j)}}for(m=new Poc(a.f);m.a<m.c.a.length;){j=Noc(m);for(i=j.Kg().Md();i.Ed();){h=i.Fd();d=qlc(a.b,h);!!d&&vg(a.d,j,d)}}for(k=new Poc(a.f);k.a<k.c.a.length;){j=Noc(k);Wtb(a,j)}a.a.a.clear();bt(a.d)}function ckb(a,
b){sib();var c,d;if(a.j==(F7b(),t7b)&&p2b(a)==3&&b==(a.b?a.b.f:null))_ib((_d(a.j==t7b),a.b.d))?O2b(a,b):n2b(b);else if(b.j==j5b){d=!b.e?null:b.e.e;ne((_d(d.j==t7b),p2b(d)==3));m2b(b)}else{c=b.e;if(c.j==t7b&&c.b.d==b){d=b.e;ne((_d(d.j==t7b),p2b(d)==3));n2b(b)}else if(b.j==c5b||b.j==_6b)n2b(b);else if(a.j==b7b||a.j==c5b||a.j==_6b||a.j==w6b||b.j==h5b||b.j==u5b)O2b(a,b);else if(a.j==z7b||a.j==L5b)if(!!a.b&&!!a.b.d)O2b(a,b);else{O2b(a,b);ckb(a.e,a)}else if(a.j==l6b&&b==(a.b?a.b.f:null)){O2b(a,b);ckb(a.e,
a)}else if(a.j==N5b)S2b(a,b,new q3b(B5b));else throw RU(new Xic("Invalid attempt to remove node: "+b+" of "+a));}}function mdb(a,b,c,d){var e,f,g,h,i,j;i=Vib(c);j=new $db;e=null;!!i&&i.j==(F7b(),Q5b)&&(e=Odb(a,i,d).c);if(!!b&&(b.a&KEc)==PEc)j.a=tcb(a.c,b,a.a);else if(!!b&&(h=(b.a&KEc)==PEc&&((KEc&b.a)==PEc?b.i:null).a.j==(F7b(),Q5b),h||(b.a&KEc)==SAc||!!b.g||_$b(b)>0||(b.a&2)!=0||(b.a&hFc)!=0&&(b.a&KEc)!=PEc)&&(!i||i.j!=(F7b(),Q5b))){ne(c.j==(F7b(),W5b));e=idb(a,b,(c.b?c.b.f:null).Lh(),c,null,a.a);
j.a=Zzb(a.c.d,dwb(e))}else if(!!i&&i.j==(F7b(),Q5b)){f=Zzb(a.c.d,dwb(e));!!b&&(g=(b.a&KEc)==PEc&&((KEc&b.a)==PEc?b.i:null).a.j==(F7b(),Q5b),g||(b.a&KEc)==SAc||!!b.g||_$b(b)>0||(b.a&2)!=0||(b.a&hFc)!=0&&(b.a&KEc)!=PEc)||Eib(i)?j.a=f:j.b=f}return j}function ZZb(a){switch(a.j.f){case 65:case 96:return true;case 13:case 62:case 42:case 47:case 48:case 49:case 50:case 51:case 52:case 53:case 54:case 55:case 56:case 59:case 57:case 58:case 103:case 3:case 1:case 20:case 2:case 28:case 92:case 46:case 64:case 24:case 16:case 4:case 18:case 34:case 9:case 26:case 27:case 8:case 60:case 40:case 63:case 41:case 7:case 10:case 6:case 17:case 15:case 29:case 5:case 22:case 23:case 19:case 30:case 32:case 43:case 61:case 21:case 38:case 11:case 36:case 37:case 113:case 31:case 14:case 99:case 116:case 115:case 33:case 25:case 35:case 12:case 79:case 102:return true;
default:return false}}function A7(a,b,c){var d,e,f,g,h,i,j,k,l,m,n,o,p,q,r;g=null;d=c.b?c.b.f:null;f=0;n=null;for(o=b.b;o;o=n,f++){n=o.d;if(o.j==(F7b(),v5b)){i=u2b(o,29);k=Q2b(o);e=Q2b(o);h=false;k.j==y6b&&(e.j==y6b?h=Vjc(hEc,e.Lh()):e.j==A7b&&(h=tjb(e.b)));if(h)l=k2b(k,false);else{l=k.j==y6b?k:b$b(t7(a,c,f));j=k2b(k,false);r=C7(k2b(l,false),e);m=k.j==y6b?NZb(CZb(j,r)):LZb(j,r,z7b);p3b(m,o);b2b(d,m,g);g=m}S2b(b,o,l);q=R2b(l,l.g,37);q!=l.g&&(l.g=q);l.g=new V3b(37,1,l.g);p=R2b(l,l.g,29);p!=l.g&&(l.g=
p);!!i&&(l.g=new d4b(29,i,l.g));d1(a.a)}else if(o.j==M6b||o.j==J4b){g=u7(c,g,o,t7(a,c,f));d1(a.a)}else if(o.j==Y6b&&D2b(o.b)){g=u7(c,g,o.b,t7(a,c,f));d1(a.a)}}}function mzb(b,c,d,e,f){var g,h,i,j,k,l;h=c.b;if(h.j==(F7b(),q7b)){Fxb(f,zzb(b,h.b,d,e));h=h.d}else if(h.j==E6b){i=h.b;l=(k=Azb(b,i,d,e),k.Ch()==34&&k.Dh().size()==1?jyb(k,b.a.j):k);!cyb(l,b.a.$,new aEb((XAb(),XAb(),WAb)))&&((l.Ch()&1)==0||(l.Ch()&504)!=0||Kwb(l.Bh()))&&Vtc(b.i,Keb(i,ezb,$C(VC(FS,1),bAc,2,6,[nyb(l,new Ikc).a])));ne(!f.d);f.d=
l;h=h.d}if(h.j==Q6b){for(g=h.b;g;g=g.d)try{switch(g.j.f){case 144:Cxb(f,Azb(b,g.b,d,e));break;case 142:j=g.b;Hxb(f,!j?b.a.G:Azb(b,j,d,e));break;default:Gxb(f,Azb(b,g,d,e))}}catch(a){a=QU(a);if(ND(a,241)){Vtc(b.i,Keb(c,izb,$C(VC(FS,1),bAc,2,6,[])));Exb(f)}else throw RU(a);}h=h.d}Ixb(f,Azb(b,h,d,e))}function Mdb(a,b){var c,d,e,f,g,h,i,j,k,l,m,n,o,p;_d(b.j==(F7b(),W5b));o=awb(a.a.c);p=!o?null:o.Ch()==2&&o.Dh().size()==1?is(o.Dh().Md()).d:null;g=b.e;c=g.j==L4b?g.b?g.b.f:null:null;if(!p){!!c&&c.j==Q5b&&
Odb(a,c,null);return}l=(ne(!p.a.f),p.a);h=(b.b?b.b.f:null).Lh();e=(sib(),f=Fib(b),!f?null:u2b(f,29));k=mdb(a,e,b,l);i=k.a;j=k.b;d=zcb(a.c,b);!!c&&c.j==Q5b&&(n=R2b(g,g.g,76),n!=g.g&&(g.g=n),g.g=new V3b(76,1,g.g));if(!!i||d){vdb(a,l,h,b,i);!i&&(i=tdb(a,b));sdb(a,b,l)&&uDb(l,h,b,i,d);d&&(m=R2b(b,b.g,77),m!=b.g&&(b.g=m),b.g=new V3b(77,1,b.g))}else sdb(a,b,l)&&(j?ADb(l,h,j,b):ADb(l,h,a.c.d.G,b));Ap(a.c.o,l,h)||tp(a.c.o,l,h,new Zdb(b,null,null))}function Q8(){Q8=qV;L8=new y5(IEc,(kY(),hY),new klc("This code cannot be converted from ES6. {0}"));
M8=new y5("JSC_CANNOT_CONVERT_YET",hY,new klc("ES6 transpilation of ''{0}'' is not yet implemented."));P8=new y5("JSC_DYNAMIC_EXTENDS_TYPE",hY,new klc("The class in an extends clause must be a qualified name."));N8=new y5("CLASS_REASSIGNMENT",hY,new klc("Class names defined inside a function cannot be reassigned."));O8=new y5("CONFLICTING_GETTER_SETTER_TYPE",hY,new klc("The types of the getter and setter for property ''{0}'' do not match."));K8=new y5("BAD_REST_PARAMETER_ANNOTATION",jY,new klc('Missing "..." in type annotation for rest parameter.'))}
function zz(b,c){var d,e,f,g,h,i,j;this.f=he(b);this.c=he(c);try{this.a=fA(c.length,(Ykc(),Wkc))}catch(a){a=QU(a);if(ND(a,186)){f=a;throw RU(new efb("Illegal alphabet length "+c.length,f));}else throw RU(a);}g=Ajc(8,ejc(this.a));try{this.d=8/g|0;this.b=this.a/g|0}catch(a$2){a$2=QU(a$2);if(ND(a$2,186)){f=a$2;throw RU(new efb("Illegal alphabet "+vkc(c,0,c.length),f));}else throw RU(a$2);}e=XC(VD,aBc,46,128,15,1);bpc(e,e.length);for(i=0;i<c.length;i++){d=c[i];be(($b(),d)<=127,"Non-ASCII character: %s",
d);be(e[d]==-1,"Duplicate character: %s",d);e[d]=i<<24>>24}this.e=e;j=XC(OU,{954:1,3:1},46,this.d,16,1);for(h=0;h<this.b;h++)j[eA(h*8,this.a,(Ykc(),Qkc))]=true;this.g=j}function DRb(a){var b;b=TRb(a);if(kRb(a,a.d))switch(kRb(a,a.d)?Qjc(a.e.a,a.d):0){case 47:switch(kRb(a,a.d+1)?Qjc(a.e.a,a.d+1):0){case 47:PRb(a,(NUb(),LUb));return true;case 42:IRb(a);return true}break;case 60:if((kRb(a,a.d+1)?Qjc(a.e.a,a.d+1):0)==33&&(kRb(a,a.d+2)?Qjc(a.e.a,a.d+2):0)==45&&(kRb(a,a.d+3)?Qjc(a.e.a,a.d+3):0)==45){uRb(a,
$C(VC(AS,1),qAc,1,5,[]));PRb(a,(NUb(),LUb));return true}break;case 45:if(b&&(kRb(a,a.d+1)?Qjc(a.e.a,a.d+1):0)==45&&(kRb(a,a.d+2)?Qjc(a.e.a,a.d+2):0)==62){uRb(a,$C(VC(AS,1),qAc,1,5,[]));PRb(a,(NUb(),LUb));return true}break;case 35:if(a.d==0&&(kRb(a,a.d+1)?Qjc(a.e.a,a.d+1):0)==33){PRb(a,(NUb(),MUb));return true}}return false}function DDb(a){var b,c,d,e,f,g,h,i,j,k,l;se(!a.f,"Raw type not finalized: %s",a.u);je(a.c,"Null constructor function for raw type: %s",a.u);!a.d&&(a.d=(km(),ux(),tx));if(a.g!=
0)for(d=new Rlc((new Jlc(a.j.a)).a);d.b;){c=Qlc(d);j=c.ye();!!j.b||(a.j=ZAb(a.j,c.xe(),new cDb(j.c,a.t.G,a.t.G,(nDb(),mDb))))}for(i=(g=(new nmc(a.k)).a.oe().Md(),new tmc(g));i.a.Ed();){h=(c=i.a.Fd(),c.xe());if(!!a.o&&zBb(a.o,h)){a.k=$Ab(a.k,h);continue}for(f=a.d.Md();f.Ed();){e=f.Fd();!!JDb(e.a,h)&&(a.k=$Ab(a.k,h))}}k=a.o;if(!k){b=ie(iAb(a.t),"Missing externs for the builtin Object type");k=b}l=wyb(ICb(a.t,k,a.j,null,null,false,(TBb(),RBb)));ne(!a.f);pwb(a,fCc,null,l,false);a.f=true}function KGb(a,
b){var c,d;if(b.j==(F7b(),e5b)||b.j==q5b){c=b.b;if(c){d=b.e;while(d.j!=l6b||!Vjc(d.b.Lh(),c.Lh())){if(d.j==Q5b||d.j==b7b){a.d.hh(gZb('undefined label "%s"',$C(VC(AS,1),qAc,1,5,[c.Lh()])),a.r,z3b(b.i),y3b(b.i));break}d=d.e}d.j==l6b&&Vjc(d.b.Lh(),c.Lh())&&b.j==q5b&&!TGb(d.b?d.b.f:null)&&a.d.hh("continue can only use labeles of iteration statements",a.r,z3b(b.i),y3b(b.i))}else if(b.j==q5b){d=b.e;while(!TGb(d)){if(d.j==Q5b||d.j==b7b){a.d.hh("continue must be inside loop",a.r,z3b(b.i),y3b(b.i));break}d=
d.e}}else{d=b.e;while(!SGb(d)){if(d.j==Q5b||d.j==b7b){a.d.hh("unlabelled break must be inside loop or switch",a.r,z3b(b.i),y3b(b.i));break}d=d.e}}}}function A8b(a,b,c,d){var e,f,g,h,i,j,k,l,m,n,o,p,q;he(a);if(b.li())return true;if(b.$h())return true;if($7b(a,b,c.b))return true;if(b.ui()){q=b.ui();e=q.b;for(g=0;g<e.size();g++){f=e.getAtIndex(g);if(a.ki(f,c,d))return true}return false}if(d==1&&(a.gi()||a.mi()))return true;p=a.Yh();n=b.Yh();l=true;k=ND(b,56)?b:null;if(!k||S7b.contains(k.Gi())){j=a.u.e;
o=(i=bgc(p,j),i==-1?ndc(p.b,(Xcc(),Tcc)):p.c[i]);m=(h=bgc(n,j),h==-1?ndc(n.b,(Xcc(),Tcc)):n.c[h]);l=o.ki(m,c,d)||m.ki(o,c,d)}else l=$fc(p,n,2,new Kbc(true),d);if(!l)return false;if(c.b&&a.hi()&&b.ii())return q9b(ND(a,56)?a:null,ND(b,56)?b:null,c,d);a.ti();if(ND(b,145))return a.ki(b.c,c,d);return false}function g8(a,b){var c,d,e,f,g,h,i;e=(sib(),Iib(b,new lkb((F7b(),Q5b))));if(!e||s2b(e,59)==0||b.j==O5b)return;d=Iib(b,new lkb(c5b));g=null;i=null;switch(b.j.f){case 72:g=b.b.d;i=g.d;break;case 70:g=
b.b;i=new q3b(B5b);break;case 71:g=b.b?b.b.f:null;if(g.j!=B5b){f=(se(Yjc(BEc,qkc(46))==-1,YBc,BEc),new q4b(y6b,BEc));e2b(d,LZb(k2b(f,false),new q3b(s7b),z7b));g=f$b(f,m2b(b.b?b.b.f:null));d2b(b,g)}i=new q3b(B5b)}if(!H7(a.c,g)&&!H7(a.c,i))return;h=b$b("$jscomp$generator$loop$guard"+(""+a.c.f.a.W++));if(g.j!=B5b){c=new q3b(c5b);S2b(b,g,c);e2b(c,EZb(NZb(CZb(k2b(h,false),k2b(g,false)))));d2b(c,k2b(h,false))}i.j==B5b||c2b(b,EZb(NZb(m2b(i))),b.b?b.b.f:null);e2b(d,MZb(h,z7b));d1(a.a)}function jyb(a,b){var c,
d,e,f,g,h,i,j,k,l;k=b.Ch();se(-1!=b.Ch()&&_zc!=b.Ch()&&(k&1)==0&&(k&4)==0,"Requested invalid type to remove: %s",b);if(_zc==a.Ch())return a;if(-1==a.Ch()){c=Eyb(a.e,506,(km(),new ly(a.e._)),null,Oxb);return jyb(c,b)}g=a.Ch()&~k;if((k&2)==0)return g==a.Ch()?a:Eyb(a.e,g,a.Dh(),a.Eh(),a.Bh());se(b.Dh().size()==1,"Invalid type to remove: %s",b);l=is(b.Dh().Md());j=(km(),new Wq);for(i=a.Dh().Md();i.Ed();){h=i.Fd();(h.c||!eCb(h,l,new aEb((XAb(),XAb(),WAb))))&&(hoc(j.a,he(h)),j)}f=new Wq;for(e=a.Bh().Md();e.Ed();){d=
e.Fd();cyb((ne(d.d==(Rwb(),Qwb)),d.a),b,new aEb((XAb(),XAb(),WAb)))||(hoc(f.a,he(d)),f)}return Eyb(a.e,g,yo(new Poc(j.a)),a.Eh(),yo(new Poc(f.a)))}function Gyb(a,b,c,d,e,f,g,h,i){var j,k,l,m,n,o,p,q,r,s,t;if(h==i||!!h&&zx(h,i))return Eyb(a,b,d,e,h);m=(km(),new Wq);j=Nwb(h,i);for(l=j.Md();l.Ed();){k=l.Fd();if(!!h&&h.contains(k)&&!!i&&i.contains(k)){hoc(m.a,he(k));continue}o=(ne(k.d==(Rwb(),Qwb)),k.a);if(_zc==o.Ch()){hoc(m.a,he(k));continue}if(o.Ch()!=2){if((o.Ch()&c)!=0){hoc(m.a,he(k));b&=~o.Ch()}}else if(!f.isEmpty()||
!g.isEmpty()){t=new Avc;n=is(o.Dh().Md());for(q=f.Md();q.Ed();){p=q.Fd();if(eCb(n,p,new aEb((XAb(),XAb(),WAb)))){hoc(m.a,he(k));t.a.put(p,t)}}for(s=g.Md();s.Ed();){r=s.Fd();if(eCb(n,r,new aEb((XAb(),XAb(),WAb)))){hoc(m.a,he(k));t.a.put(r,t)}}t.a.size()==0||(d=Fx(yx(d,t)))}}return Eyb(a,b,d,e,yo(new Poc(m.a)))}function RRb(a){var b,c;lRb(a);if(!kRb(a,a.d)){tRb(a,"Unterminated string literal escape sequence",$C(VC(AS,1),qAc,1,5,[]));return false}if(YRb(kRb(a,a.d)?Qjc(a.e.a,a.d):0)){c=lRb(a);c==13&&
(kRb(a,a.d)?Qjc(a.e.a,a.d):0)==10&&lRb(a);return true}switch(lRb(a)){case 39:case 34:case 96:case 92:case 98:case 102:case 110:case 114:case 116:case 118:default:case 48:return true;case 120:return GRb(a)&&GRb(a);case 117:if((kRb(a,a.d)?Qjc(a.e.a,a.d):0)==123){lRb(a);if((kRb(a,a.d)?Qjc(a.e.a,a.d):0)==125){tRb(a,"Empty unicode escape",$C(VC(AS,1),qAc,1,5,[]));return false}b=true;while((kRb(a,a.d)?Qjc(a.e.a,a.d):0)!=125&&b)b=b&&GRb(a);lRb(a);return b}else return GRb(a)&&GRb(a)&&GRb(a)&&GRb(a)}}function Zoc(a,
b){var c,d,e,f,g,h,i,j,k,l;if(a==null)return iAc;i=b.a.put(a,b);if(i!=null)return"[...]";c=new pwc("[","]");for(e=a,f=0,g=e.length;f<g;++f){d=e[f];if(d!=null&&(pb(d).g&4)!=0)if(Array.isArray(d)&&(k=WC(d),!(k>=14&&k<=16)))if(b.a.containsKey(d)){!c.a?c.a=new Lkc(c.d):Ekc(c.a,c.b);Bkc(c.a,"[...]")}else{h=(d==null||Array.isArray(d)&&(l=WC(d),!(l>=14&&l<=16)),d);j=new $tc(b);owc(c,Zoc(h,j))}else ND(d,954)?owc(c,vpc(d)):ND(d,384)?owc(c,opc(d)):ND(d,85)?owc(c,ppc(d)):ND(d,961)?owc(c,upc(d)):ND(d,135)?owc(c,
spc(d)):ND(d,562)?owc(c,tpc(d)):ND(d,962)?owc(c,rpc(d)):ND(d,963)&&owc(c,qpc(d));else owc(c,d==null?iAc:tV(d))}return!c.a?c.c:c.e.length==0?c.a.a:c.a.a+(""+c.e)}function Bwc(a,b,c){var d,e,f,g,h,i,j,k,l,m,n;if(!a.b)return false;g=null;m=null;i=new axc(null,null);e=1;i.a[1]=a.b;l=i;while(l.a[e]){j=e;h=m;m=l;l=l.a[e];d=a.a.He(b,l.d);e=d<0?0:1;d==0&&(!c.c||hwc(l.e,c.d))&&(g=l);if(!(!!l&&l.b)&&!xwc(l.a[e]))if(xwc(l.a[1-e]))m=m.a[j]=Ewc(l,e);else if(!xwc(l.a[1-e])){n=m.a[1-j];if(n)if(!xwc(n.a[1-j])&&!xwc(n.a[j])){m.b=
false;n.b=true;l.b=true}else{f=h.a[1]==m?1:0;xwc(n.a[j])?h.a[f]=Dwc(m,j):xwc(n.a[1-j])&&(h.a[f]=Ewc(m,j));l.b=h.a[f].b=true;h.a[f].a[0].b=false;h.a[f].a[1].b=false}}}if(g){c.b=true;c.d=g.e;if(l!=g){k=new axc(l.d,l.e);Cwc(a,i,g,k);m==g&&(m=k)}m.a[m.a[1]==l?1:0]=l.a[!l.a[0]?1:0];--a.c}a.b=i.a[1];!!a.b&&(a.b.b=false);return c.b}function yxb(a,b){var c,d,e,f,g,h,i,j,k;ne(!!a||!!b);if(!a||!b)return null;a.n.isEmpty()||(a=oxb(a));b.n.isEmpty()||(b=oxb(b));ne(!a.c&&!b.c);if(Ywb(a,b))return a;d=a.i;e=b.i;
if(d.size()!=e.size())return null;c=new Mxb(a.a);i=d.size();for(g=0;g<i;g++){k=Lyb(d.getAtIndex(g),e.getAtIndex(g));if(!k)return null;Gxb(c,k)}d=a.e;e=b.e;if(d.size()!=e.size())return null;h=d.size();for(f=0;f<h;f++){k=Lyb(d.getAtIndex(f),e.getAtIndex(f));if(!k)return null;Cxb(c,k)}if(!a.j&&!!b.j||!!a.j&&!b.j)return null;if(a.j){k=Lyb(a.j,b.j);if(!k)return null;Hxb(c,k)}j=Lyb(a.k,b.k);if(!j)return null;Ixb(c,j);if(!hwc(a.d,b.d))return null;Bxb(c,a.d);if(!hwc(a.g,b.g))return null;Fxb(c,a.g);return Lxb(c)}
function VYb(a,b,c){var d,e,f;a.b=b;a.a=c;if(!b.d&&!b.e&&!b.f&&!b.g&&!b.i&&!b.j&&!b.k&&b.p==-1&&b.n==-1)switch(b.b){case 115:if(a.a==null)return iAc;case 100:if(ND(a.a,127)||ND(a.a,153)){e=tV(a.a);return e}}sZb(a.b,a.a);switch(b.b){case 66:case 98:f=(OD(a.a)?e=tV(a.a):a.a==null?e=ACc:e=BCc,UYb(a,e,0));break;case 72:case 104:f=aZb(a);break;case 83:case 115:f=(d=tkc(a.a),UYb(a,d,0));break;case 67:case 99:f=ZYb(a);break;case 100:case 111:case 120:case 88:f=bZb(a);break;case 65:case 97:case 69:case 101:case 102:case 71:case 103:f=
_Yb(a);break;case 37:f=UYb(a,"%",0);break;case 110:f=fBc;break;case 116:case 84:f=$Yb(a);break;default:throw RU(wZb(b));}iic(b.b)&&f!=null&&(f=Lb(tV(f)));return f}function I7b(){F7b();return $C(VC(lR,1),vAc,10,0,[$6b,a5b,b5b,$4b,F5b,C6b,s6b,p6b,Y5b,S5b,r6b,a7b,y7b,E4b,k7b,x6b,y5b,v6b,H5b,G6b,_4b,U6b,D6b,E6b,w5b,u7b,W5b,V5b,f5b,y6b,J6b,h7b,H6b,q7b,M5b,s7b,d7b,e7b,X6b,r7b,e6b,h6b,I4b,L6b,t7b,Q6b,n5b,L4b,O4b,P4b,N4b,S4b,V4b,X4b,M4b,W4b,U4b,Q4b,T4b,R4b,Z5b,O6b,F4b,f6b,s5b,Q5b,$5b,m7b,h5b,u5b,C7b,z5b,
N5b,O5b,e5b,q5b,z7b,D7b,j5b,A7b,B5b,_6b,c5b,l6b,L5b,b7b,X5b,c7b,p5b,r5b,m6b,i7b,i5b,J4b,M6b,x5b,k5b,l5b,t6b,l7b,q6b,P5b,E7b,Y4b,a6b,c6b,b6b,d6b,I5b,K5b,J5b,w6b,Y6b,f7b,o5b,n7b,o7b,p7b,v5b,F6b,j7b,d5b,K6b,R5b,P6b,x7b,H4b,I6b,B7b,Z6b,z6b,N6b,W6b,w7b,K4b,T5b,U5b,G4b,R6b,g7b,E5b,V6b,A5b,Z4b,G5b,n6b,o6b,m5b,i6b,j6b,k6b,C5b,D5b,_5b,v7b,t5b,u6b,g6b,g5b,A6b,B6b,S6b,T6b])}function kQb(a){var b,c,d;if(FQb(a,0,(hUb(),USb)))return GPb(a);if(FQb(a,0,KSb))return qPb(a,false);if(FQb(a,0,XSb))return KPb(a);if(FQb(a,
0,FSb))return mPb(a);if(FQb(a,0,$Tb)&&(c=qRb(a.j,1).b.b.b>qRb(a.j,0).b.a.b,!(c||FQb(a,1,GTb)||FQb(a,1,rSb)||FQb(a,1,ESb)))&&FQb(a,1,RSb)&&FQb(a,2,GSb))return uQb(a);if(FQb(a,0,zSb)&&(d=qRb(a.j,1).b.b.b>qRb(a.j,0).b.a.b,!(d||FQb(a,1,GTb)||FQb(a,1,rSb)||FQb(a,1,ESb)))&&(FQb(a,1,cUb)||FQb(a,1,_Sb)||FQb(a,1,wSb)||FQb(a,1,PSb)||FQb(a,1,pSb)||FQb(a,1,FSb)||FQb(a,1,dTb)||FQb(a,1,eTb)))return JOb(a);if((FQb(a,0,dTb)||FQb(a,0,eTb))&&(b=qRb(a.j,1).b.b.b>qRb(a.j,0).b.a.b,!(b||FQb(a,1,GTb)||FQb(a,1,rSb)||FQb(a,
1,ESb)))&&FQb(a,1,RSb))return UPb(a,false);return nQb(a)}function WIb(a,b){var c,d,e,f,g,h,i,j;if(b!=(YJb(),OJb)){a.o=b;return xIb(a,"msg.jsdoc.missing.lp",a.j.g,cKb(a.j)),null}d=LIb(a,(F7b(),Q5b));h=null;pJb(a);if(!JIb(a,UJb)){b=!a.o?dKb(a.j):BIb(a);e=true;if(b==XJb){j=a.j.n;g=Vjc(xCc,j);f=Vjc("new",j);if(g||f){if(JIb(a,FJb)){!a.o?dKb(a.j):BIb(a);pJb(a);c=rJb(a,g?q7b:E6b,SIb(a,!a.o?dKb(a.j):BIb(a)));if(!c)return null;e2b(d,c)}else return xIb(a,"msg.jsdoc.missing.colon",a.j.g,cKb(a.j)),null;if(JIb(a,
GJb)){!a.o?dKb(a.j):BIb(a);pJb(a);b=!a.o?dKb(a.j):BIb(a)}else e=false}}if(e){h=aJb(a,b);if(!h)return null}}!!h&&d2b(d,h);pJb(a);if(!JIb(a,UJb))return xIb(a,rHc,a.j.g,cKb(a.j)),null;pJb(a);!a.o?dKb(a.j):BIb(a);i=cJb(a);if(!i)return null;else d2b(d,i);return d}function Cib(a,b){switch(a.j.f){case 92:return Cib(a.b,b);case 47:return tjb(a.b?a.b.f:null)||b.Hd(a)&&Cib(a.b?a.b.f:null,b);case 46:return Cib(a.b?a.b.f:null,b);case 62:case 61:return Cib(a.b,b)&&Cib(a.b?a.b.f:null,b);case 60:return Cib(a.b.d,
b)&&Cib(a.b?a.b.f:null,b);case 63:case 64:return true;case 33:return b.Hd(a);case 29:return tjb(a)||b.Hd(a);case 27:case 26:return b.Hd(a);case 28:return oe(a.j==(F7b(),f5b),a),(s2b(a,42)&16)>0||Ljb(a)||b.Hd(a);case 23:return oe(a.j==(F7b(),E6b),a),(s2b(a,42)&15&13)==13||b.Hd(a);case 65:case 38:case 42:case 43:return true;case 24:case 40:return true;default:if(bjb(a)||Ijb(a.j)||tjb(a))return true;throw RU(new Xic("Unexpected expression node"+a+"\n parent:"+a.e));}}function dQb(a){var b,c,d,e,f,g;
switch(qRb(a.j,0).c.f){case 29:return dPb(a,true,false);case 35:return b=qRb(a.j,0).b.b,tOb(a,(hUb(),QTb)),new aYb(new CYb(b,a.g));case 21:return c=qRb(a.j,0).b.b,tOb(a,(hUb(),VTb)),new fYb(new CYb(c,a.g));case 2:case 108:case 109:case 110:case 111:return EPb(a);case 100:case 101:case 98:case 99:case 97:return OPb(a);case 107:case 104:return sQb(a,null);case 49:return qRb(a.j,1).c==(hUb(),OSb)?hPb(a,oTb,tSb):QOb(a);case 45:return XPb(a);case 47:return kPb(a);case 94:case 95:return d=qRb(a.j,0).b.b,
e=(g=mRb(a.j),a.g=g.b.a,g),new QVb(new CYb(d,a.g),e);default:return f=qRb(a.j,0).b.b,GOb(a),ZQb(a,"primary expression expected",$C(VC(AS,1),qAc,1,5,[])),new UVb(new CYb(f,a.g))}}function R5(a){var b,c,d,e,f,g,h,i,j,k,l;l=a.b.d;e=a.b?a.b.f:null;if(l.j==(F7b(),B5b))k=a$b(QZb((se(Yjc("",qkc(46))==-1,YBc,""),new q4b(y6b,"")),new q3b(Q6b),(b=new q3b(c5b),b)));else{if(!F2b(l))return;c=(b=new q3b(c5b),b);h=u2b(a,51);if(!(!!h&&h.vh())&&(d=(sib(),j=Fib(a),!j?null:u2b(j,29)),!(!!d&&((d.a&512)!=0||(d.a&NDc)!=
0)))){g=NZb(GZb(SZb(new q3b(l7b),new q4b(h7b,ODc)),$C(VC(jR,1),ZBc,7,0,[new q3b(q7b),(se(Yjc(PDc,qkc(46))==-1,YBc,PDc),new q4b(y6b,PDc))])));e2b(c,g)}f=QZb((se(Yjc("",qkc(46))==-1,YBc,""),new q4b(y6b,"")),g$b((se(Yjc(QDc,qkc(46))==-1,YBc,QDc),new q4b(y6b,QDc))),c);k=a$b(f);i=new V1b(false);A1b(i,QDc,new Z1b(new s3b(A5b,new q3b(V6b)),"<Es6ConvertSuper>"));Y2b(k,F0b(i,false))}p3b(k,a);e2b(e,k)}function Lyb(a,b){Rxb();var c,d,e,f,g,h,i,j,k,l,m,n,o,p,q;he(a);he(b);if(_zc==a.Ch()||(k=a.Dh(),k.size()==
1&&is(k.Md()).c))return b;else if(_zc==b.Ch()||(j=b.Dh(),j.size()==1&&is(j.Md()).c))return a;else if(-1==a.Ch()&&-1==b.Ch())return a.e.u;else if(-1==a.Ch()||-1==b.Ch())return null;if(!zx(a.Bh(),b.Bh()))return null;e=a.Bh();l=Jyb(a.Ch());m=Jyb(b.Ch());if(l!=m||a.Eh()!=b.Eh())return null;if((l&2)==0)return a;if(a.Dh().size()!=b.Dh().size())return null;q=new Cvc(b.Dh());p=new Avc;for(g=a.Dh().Md();g.Ed();){f=g.Fd();o=f;c=false;for(i=b.Dh().Md();i.Ed();){h=i.Fd();n=PCb(o,h);if(n){c=true;q.a.remove(h)!=
null;o=n}}if(!c)return null;p.a.put(o,p)}if(q.a.size()!=0)return null;return Eyb(a.e,l,(km(),d=p,xo(d)),a.Eh(),e)}function $Pb(a,b){var c,d,e,f,g,h,i;e=qRb(a.j,0).b.b;d=null;if(GQb(a,(hUb(),JTb)))d=(a.d=YLb(a.d,(TMb(),KMb).a),i=qRb(a.j,0).b.b,tOb(a,JTb),new YXb(new CYb(i,a.g),jQb(a,0)));else{f=qRb(a.j,0).c;if(Atc(wtc(RSb,$C(VC(EO,1),vAc,13,0,[$Tb,zSb,dTb,eTb])),f)||!a.b.b&&bOb(f)){d=EPb(a);if(GQb(a,BTb)){tOb(a,BTb);d=new aWb(new CYb(e,a.g),d)}}else if(b!=2&&(FQb(a,0,oTb)||FQb(a,0,mTb)))d=aQb(a,0);
else throw RU(new Xic("parseParameterCalled() without confirming a parameter exists."));}g=null;h=null;if(GQb(a,uSb)){if(FQb(a,1,PTb)){tOb(a,uSb);g=OPb(a)}else g=(tOb(a,uSb),tQb(a));h=AOb(a,qRb(a.j,0).b.b)}if(b==0&&d.p!=(SXb(),tXb)&&GQb(a,GSb)){a.d=YLb(a.d,(TMb(),mMb).a);tOb(a,GSb);c=UOb(a,1);d=new aVb(new CYb(e,a.g),d,c)}!!g&&(d=new lYb(h,d,g));return d}function EIb(a,b,c,d,e){var f,g,h,i,j,k,l,m,n,o;f=new Ikc;o=-1;n=-1;if(d){hKb(a.j);o=a.j.g;n=cKb(a.j)+1;k=HIb(a);c!=0&&(k=okc(k));f.a+=""+k;a.i=
(AJb(),yJb);b=!a.o?dKb(a.j):BIb(a)}i=false;l=-1;do switch(b.f){case 15:if(i){l=cKb(a.j)+1;i=false}else{NIb(a,f,l,c);l=-1;f.a+="*"}b=!a.o?dKb(a.j):BIb(a);while(b==(YJb(),WJb)){if(l!=-1){NIb(a,f,l,c);l=-1}f.a+="*";b=!a.o?dKb(a.j):BIb(a)}continue;case 1:c!=2&&(f.a+=fBc,f);i=true;l=0;b=!a.o?dKb(a.j):BIb(a);continue;default:i=false;a.i=(AJb(),yJb);j=b==(YJb(),IJb);if(!j){NIb(a,f,l,c);l=-1}if(b==IJb||b==JJb||b==DJb&&!e){m=f.a;c!=0&&(m=okc(m));if(d&&m.length!=0){h=a.j.g;g=cKb(a.j);K0b(a.e,m,o,n,h,g)}return new wJb(m,
b)}Ekc(f,qJb(a,b));k=HIb(a);c!=0&&(k=uJb(k));f.a+=""+k;b=!a.o?dKb(a.j):BIb(a)}while(true)}function hxb(a,b,c,d,e){var f,g,h,i,j;se(a.n.isEmpty(),"Non-empty type parameters %s",a.n);ne(a==a.a.g||a.f.isEmpty());ne(a!=a.a.v);if(a==a.a.g||b==b.a.v||b==b.a.g||b.c)return true;!b.n.isEmpty()&&(b=oxb(b));if(!(a.i.isEmpty()&&a.e.isEmpty()&&!!a.j&&_zc==a.j.Ch())){if(b.i.size()>a.i.size())return false;g=a.i.size()+a.e.size();for(f=0;f<g;f++){j=Zwb(a,f);h=Zwb(b,f);if(!!h&&!oyb(j,h,c,d,e)&&!cyb(j,h,new aEb((XAb(),
XAb(),WAb))))return false}if(a.j){i=Zwb(b,g);if(!!i&&!oyb(a.j,i,c,d,e)&&!cyb(a.j,i,new aEb((XAb(),XAb(),WAb))))return false}}if(!a.d&&!!b.d||!!a.d&&!b.d)return false;if(!!a.d&&!oyb(a.d,b.d,c,d,e))return false;if(!!a.g&&!!b.g&&!oyb(a.g,b.g,c,d,e)&&!cyb(a.g,b.g,new aEb((XAb(),XAb(),WAb))))return false;return oyb(a.k,b.k,c,d,e)}function xRb(a,b,c){var d,e,f,g,h,i;i=new Ikc;i.a+=String.fromCharCode(c);e=c==92;d=false;g=e?1:0;c=kRb(a,a.d)?Qjc(a.e.a,a.d):0;while(XRb(c)||/\d/.test(String.fromCharCode(c))||
c==92||c==123&&g==2||c==125&&d){c==92&&(e=true);(c==92||g>0)&&++g;c==123&&(d=true);if(c==125||g>=6&&!d){d=false;g=0}xkc(i,lRb(a));c=kRb(a,a.d)?Qjc(a.e.a,a.d):0}h=i.a;if(e){h=rRb(h);if(h==null){sRb(a,jRb(a,a.d),"Invalid escape sequence",$C(VC(AS,1),qAc,1,5,[]));return gRb(a,(hUb(),JSb),b)}}f=h.charCodeAt(0);if(!XRb(f)){sRb(a,gOb(a.e.b,b),"Character '%c' (U+%04X) is not a valid identifier start char",$C(VC(AS,1),qAc,1,5,[mic(f),kjc(f)]));return gRb(a,(hUb(),JSb),b)}YNb();if(bo(yNb,h))return new XMb(bo(yNb,
h).a,hOb(a.e.b,b,a.d));return new ZMb(hOb(a.e.b,b,a.d),(Bzc(h),h))}function Ric(a){var b,c,d,e,f,g,h,i,j,k,l;if(a==null)throw RU(new Ljc(iAc));j=a;f=a.length;i=false;if(f>0){b=a.charCodeAt(0);if(b==45||b==43){a=a.substr(1);--f;i=b==45}}if(f==0)throw RU(new Ljc(LIc+j+'"'));while(a.length>0&&a.charCodeAt(0)==48){a=a.substr(1);--f}if(f>(Kjc(),Ijc)[10])throw RU(new Ljc(LIc+j+'"'));for(e=0;e<f;e++)if(cic(a.charCodeAt(e),10)==-1)throw RU(new Ljc(LIc+j+'"'));l=0;g=Gjc[10];k=Hjc[10];h=_U(Jjc[10]);c=true;
d=f%g;if(d>0){l=-Kzc(a.substr(0,d),10);a=a.substr(d);f-=d;c=false}while(f>=g){d=Kzc(a.substr(0,g),10);a=a.substr(g);f-=g;if(c)c=false;else{if(TU(l,h)<0)throw RU(new Ljc(LIc+j+'"'));l=$U(l,k)}l=cV(l,d)}if(TU(l,0)>0)throw RU(new Ljc(LIc+j+'"'));if(!i){l=_U(l);if(TU(l,0)<0)throw RU(new Ljc(LIc+j+'"'));}return l}function RPb(a){var b,c,d,e,f,g,h,i,j;f=qRb(a.j,0).b.b;FQb(a,0,(hUb(),RSb))&&Vjc(qRb(a.j,0).a,nCc)&&(c=qRb(a.j,1).b.b.b>qRb(a.j,0).b.a.b,!(c||FQb(a,1,GTb)||FQb(a,1,rSb)||FQb(a,1,ESb)))&&FQb(a,
1,PSb)?e=XOb(a):FQb(a,0,PSb)?e=(g=qRb(a.j,0).b.b,tOb(a,(YNb(),rNb).a),h=!!xOb(a,KTb),i=uVb(new yVb((DVb(),BVb)),(j=qRb(a.j,0).c,Atc(wtc(RSb,$C(VC(EO,1),vAc,13,0,[$Tb,zSb,dTb,eTb])),j)||!a.b.b&&bOb(j)?vOb(a):null)),APb(a,i,h),nVb(i,new CYb(g,a.g))):e=dQb(a);while(FQb(a,0,oTb)||FQb(a,0,tTb)||FQb(a,0,iTb)||FQb(a,0,STb))switch(qRb(a.j,0).c.f){case 49:tOb(a,oTb);d=HOb(a,1);tOb(a,tSb);e=new SVb(new CYb(f,a.g),e,d);break;case 51:tOb(a,tTb);b=vOb(a);e=new RVb(new CYb(f,a.g),e,b);break;case 107:case 104:e=
sQb(a,e);break;default:throw RU(new bC(iIc));}return e}function dhc(a,b,c){var d,e,f,g,h,i,j,k,l,m,n,o;if(b.ei())return a;a.e=a.e||b.$h();a.c=a.c||b.mi();i=ND(b,200);a.f=a.f||i;i&&(a.b=a.b&&b._h());if(!a.e&&!a.f)if(b.ui()){n=b.ui();d=Igc(n);for(h=0;h<d.size();h++){o=d.getAtIndex(h);dhc(a,o,false)}}else{if(a.a.a.length>a.g)return a;if(!!b.qi()&&a.d!=-1){k=koc(a.a,a.d).qi();m=Jac(b.qi(),k,true);poc(a.a,a.d,m);a.j=null;return a}f=0;j=new Poc(a.a);while(j.a<j.c.a.length){l=false;e=Noc(j);if(b.li()||e.li()||
b.di()||e.di()||Y7b(b)||Y7b(e)){g=c?new Kbc(true):new Kbc(false);if(U7b(b,e,0,g))return a}else{b.ti();e.ti();if(hhc(b,e,c))return a;else hhc(e,b,c)&&(l=true)}if(l){Ooc(j);if(f==a.d)a.d=-1;else if(f<a.d){--a.d;--f}}++f}if(b.qi()){ne(a.d==-1);a.d=a.a.a.length}hoc(a.a,b);a.j=null}else a.j=null;return a}function Azb(a,b,c,d){var e,f,g,h,i,j;he(b);!d&&(d=(Lm(),Lm(),Km));switch(b.j.f){case 146:return yzb(a,b,c,d);case 80:return a.a.G;case 79:return a.a.B;case 145:Vtc(a.i,Keb(b,Nyb,$C(VC(FS,1),bAc,2,6,[])));
return a.a.G;case 31:return wzb(a,b,c,d);case 138:{i=a.a.b;for(e=b.b;e;e=e.d){f=Azb(a,e,c,d);if(_zc==f.Ch())return a.a.G;g=Cyb(i,f);if(0==g.Ch()){Vtc(a.i,Keb(b,hzb,$C(VC(FS,1),bAc,2,6,[nyb(f,new Ikc).a,nyb(i,new Ikc).a])));return a.a.G}i=g}return i}case 143:{h=Azb(a,b.b,c,d);h.Ch()==1&&Vtc(a.i,Keb(b,Oyb,$C(VC(FS,1),bAc,2,6,[])));return jyb(h,a.a.j)}case 141:{e=b.b;return!e?a.a.G:Cyb(a.a.j,Azb(a,e,c,d))}case 139:return a.a.u;case 65:return j=new Mxb(a.a),mzb(a,b,c,d,j),Zzb(a.a,Lxb(j));default:throw RU(new dfb("Unsupported type exp: "+
b.j+" "+l3b(b)));}}function R7(a,b){var c,d,e,f,g,h,i,j,k,l,m,n,o,p;if(a.d.j==(F7b(),C7b)){k=Q2b(a.d);e=Q2b(a.d);m=new q3b(B5b);l=new q3b(B5b)}else if(a.d.j==N5b){m=Q2b(a.d);m.j==L4b&&(m=(oe(ZZb(m),m),new s3b(L5b,m)));k=Q2b(a.d);l=Q2b(a.d);e=Q2b(a.d)}else{ne(a.d.j==z5b);m=new q3b(B5b);l=CZb((se(Yjc(BEc,qkc(46))==-1,YBc,BEc),new q4b(y6b,BEc)),new q3b(M5b));e=Q2b(a.d);k=Q2b(a.d)}if(k.j==c5b||k.j==_6b){o=Q2b(k);g=Q2b(k)}else{o=(d=new q3b(c5b),d);g=k}n=G7++;j=n;if(l.j!=B5b){j=G7++;i=$7(j);d2b(e,i);d2b(e,
l.j==c5b||l.j==_6b?l:(oe(ZZb(l),l),new s3b(L5b,l)))}goc(a.c,0,new l8(G7,j,b));c=$7(n);h=VZb(g.j==B5b?new q3b(s7b):g,e);p=NZb(CZb((se(Yjc(wEc,qkc(46))==-1,YBc,wEc),new q4b(y6b,wEc)),new $3b(n)));f=Z7();e2b(a.j,h);o.j==B5b||e2b(a.j,o);e2b(a.j,c);m.j==B5b||e2b(a.j,m);d2b(e,p);d2b(e,f)}function Sdb(a,b){var c,d,e,f,g,h,i,j,k,l,m,n,o;_d(b.j==(F7b(),W5b));_d(F2b(b));if(Icb(b)){idb(a,(sib(),g=Fib(b),!g?null:u2b(g,29)),v2b(b),b,null,a.a);return}pcb();e=(sib(),h=Fib(b),!h?null:u2b(h,29));!!e&&(e.a&1)!=0&&
(e.a&2)==0&&Nhb(a.c.t,Keb(b,fcb,$C(VC(FS,1),bAc,2,6,[])));m=b.b;n=sDb(m);c=rgb(a.a,n,false);if(!!c&&!!c.e){Nhb(a.c.t,Keb(b,Nbb,$C(VC(FS,1),bAc,2,6,[])));M2b(b.e,76,true);return}o=Fdb(a,m);if(!o)return;o=jyb(o,a.c.d.j);i=o.Ch()==2&&o.Dh().size()==1?is(o.Dh().Md()).d:null;if(!i||iBb(i,iAb(a.c.d)))return;l=(ne(!i.a.f),i.a);j=(b.b?b.b.f:null).Lh();d=tcb(a.c,(f=Fib(b),!f?null:u2b(f,29)),a.a);if(d){d=myb(d,d.e.i);k=GDb(l,j);if(SDb(i.a,_Dc)&&!!k){d=Cyb(d,k);0==d.Ch()&&(d=a.c.d.G)}else if(vdb(a,l,j,b,d))return;
wDb(l,j,d)}else!!JDb(l,j)||wDb(l,j,null)}function yeb(a,b,c){var d,e,f,g,h,i,j;if(a.a&&u2b(c,40)!=null){Ekc(b,u2b(c,40));return}if(c.j==(F7b(),Z4b)){b.a+="!";yeb(a,b,c.b)}else if(c.j==G5b){yeb(a,b,c.b);b.a+="="}else if(c.j==R6b){b.a+="(";g=c.b?c.b.f:null;for(d=c.b;d;d=d.d){yeb(a,b,d);d!=g&&(b.a+="|",b)}b.a+=")"}else if(c.j==A5b){b.a+=oCc;!!c.b&&c.b.j!=B5b&&yeb(a,b,c.b)}else if(c.j==g7b)b.a+="*";else if(c.j==V6b){b.a+="?";!!c.b&&yeb(a,b,c.b)}else if(c.j==Q5b)xeb(a,b,c);else if(c.j==o6b){b.a+="{";i=
c.b;h=i.b?i.b.f:null;for(e=i.b;e;e=e.d){if(e.b){Ekc(Ekc(b,e.b.Lh()),":");yeb(a,b,e.b?e.b.f:null)}else Ekc(b,e.Lh());e!=h&&(b.a+=",",b)}b.a+="}"}else if(c.j==A7b)b.a+=FCc;else if(c.b){Ekc(Ekc(b,c.Lh()),"<");d=c.b;f=d.b?d.b.f:null;for(j=d.b;j;j=j.d){yeb(a,b,j);j!=f&&(b.a+=",",b)}b.a+=">"}else Ekc(b,c.Lh())}function E2b(a,b,c,d,e,f){var g,h,i,j,k,l,m,n,o,p;if(a.j!=b.j||p2b(a)!=p2b(b)||a.jj!=b.jj)return false;if(c&&!n8b(ND(a.k,20)?a.k:null,ND(b.k,20)?b.k:null))return false;if(e&&!X_b(u2b(a,29),u2b(b,
29)))return false;p=u2b(a,78);o=u2b(b,78);if((!!p||!!o)&&(!p||!o||!E2b(p,o,c,d,e,false)))return false;if(a.j==(F7b(),f6b)||a.j==s5b){i=s2b(a,32);j=s2b(b,32);if(i!=j)return false}else if(a.j==h7b||a.j==i7b){if(a.j==i7b){k=s2b(a,36);l=s2b(b,36);if(k!=l)return false}m=s2b(a,54);n=s2b(b,54);if(m!=n)return false}else if(a.j==f5b){if(s2b(a,50)!=0!=(s2b(b,50)!=0))return false}else if(a.j==Q5b)if(s2b(a,60)!=0!=(s2b(b,60)!=0))return false;if(f)if(s2b(a,42)!=s2b(b,42))return false;if(d)for(g=a.b,h=b.b;g;g=
g.d,h=h.d)if(!g.Mh(h,c,d,e,f))return false;return true}function sxb(a,b){var c,d,e,f,g,h,i,j,k;if(!a||!b)return null;else if(b==b.a.v||b==b.a.g||Ywb(a,b))return a;else if(a==a.a.v||a==a.a.g)return b;if(a.c||b.c)return rxb(a,b);if(!a.n.isEmpty()&&bxb(a,b,true,new aEb((XAb(),XAb(),WAb)),null))return a;else if(!b.n.isEmpty()&&bxb(b,a,true,new aEb((XAb(),XAb(),WAb)),null))return b;!a.n.isEmpty()&&(a=oxb(a));!b.n.isEmpty()&&(b=oxb(b));d=a.a;c=new Mxb(d);h=Ajc(a.i.size(),b.i.size());for(f=0;f<h;f++)Gxb(c,
Iyb(Zwb(a,f),Zwb(b,f)));g=zjc(a.i.size()+a.e.size(),b.i.size()+b.e.size());for(e=h;e<g;e++){i=Iyb(Zwb(a,e),Zwb(b,e));if(0==i.Ch())return d.c;Cxb(c,i)}if(!!a.j||!!b.j){j=Iyb(a.j,b.j);if(0==j.Ch())return d.c;Hxb(c,j)}k=Fyb(a.k,b.k);if(0==k.Ch())return d.c;Ixb(c,k);Bxb(c,txb(a.d,b.d));Fxb(c,qxb(a.g,b.g));return Lxb(c)}function Dfc(a,b){var c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s;if(b.ri()){q=b.ri();f=new Ofc(a.u);f.a=false;h=mdc(a.u,(Xcc(),ncc));for(o=a.r.b.keySet().Md();o.Ed();){m=o.Fd();s=o9b(a,m);l=null;
if(ldc(q.u,kcc)==q||r9b(q)||!!Sec(q.r,m)){p=o9b(q,m);l=s.Wh(p);if(U7b(l,h,0,new Kbc(true)))return h}else l=s;Mfc(f,m,l,(i=Sec(a.r,m),!i?null:i.d))}for(n=q.r.b.keySet().Md();n.Ed();){m=n.Fd();ldc(a.u,kcc)==a||r9b(a)||!!Sec(a.r,m)||Mfc(f,m,o9b(q,m),(i=Sec(q.r,m),!i?null:i.d))}return Nfc(f)}g=ndc(a.u,(Xcc(),lcc));r=ndc(a.u,Acc).Wh(b);if(!(r.ei()||r.ci()||r.di()||ndc(r.u,kcc)==r))for(k=a.r.b.keySet().Md();k.Ed();){j=k.Fd();l=o9b(a,j);f=new jhc(a.u);for(d=kdc(a.u,j).Md();d.Ed();){c=d.Fd();e=c.Fi(j);!!e&&
!U7b(c,a,0,new Kbc(true))&&c.ji(b)&&e.ji(l)&&dhc(f,c,false)}g=g.Xh(ehc(f))}return g}function gPb(a,b){var c,d,e,f,g,h,i,j,k,l;h=!!xOb(a,(hUb(),KTb));l=qRb(a.j,0).c;if(RSb==l||(YNb(),YNb(),!!bo(zNb,l))){k=null;j=vOb(a)}else{if(a.b.c&&FQb(a,0,oTb)&&FQb(a,1,RSb)&&FQb(a,2,uSb)){g=JPb(a);yOb(a);return g}k=iPb(a);j=null}if(!a.b.c||GQb(a,nTb)||GQb(a,lTb)){if(!k){i=(DVb(),CVb);c=b.a}else{i=(DVb(),BVb);c=null}if(b.b){f=SPb(a,b.d,j,b.c,h,b.a);yOb(a)}else{d=oVb(xVb(uVb(new yVb(i),j),b.c),c);APb(a,d,h);f=nVb(d,
AOb(a,b.d))}return i==(DVb(),CVb)?f:new WUb(AOb(a,b.d),b.a,k,f)}else{h&&ZQb(a,"Member variable cannot be prefixed by '*' (generator function)",$C(VC(AS,1),qAc,1,5,[]));e=COb(a);GQb(a,GSb)&&ZQb(a,"Member variable initializers ('=') are not supported",$C(VC(AS,1),qAc,1,5,[]));yOb(a);return!k?new TVb(AOb(a,b.d),j,b.c,false,b.a,e):new VUb(AOb(a,b.d),k,b.c,b.a,e)}}function QW(a,b){var c,d,e,f,g,h,i,j,k,l;switch(b.j.f){case 86:NW((F7b(),X5b),b);c=H7b(b.j);c!=-1&&(d=p2b(b),c!=d&&mX(CBc+c+DBc+d,b));SW(b);
e=b.b;uW(a,e,false);e.b.Lh().length==0||mX(NBc,b);f=e.b.d;!!f.b&&mX("get methods must not have parameters.",b);return;case 87:NW((F7b(),c7b),b);g=H7b(b.j);g!=-1&&(h=p2b(b),g!=h&&mX(CBc+g+DBc+h,b));SW(b);i=b.b;uW(a,i,false);i.b.Lh().length==0||mX(NBc,b);j=i.b.d;!!j.b&&!j.b.d||mX("set methods must have exactly one parameter.",b);return;case 91:RW(a,b);return;case 98:jW(a,b,false);s2b(b,58)!=0&&mX("Keys in an object literal should not be static.",b);return;case 114:NW((F7b(),o5b),b);k=H7b(b.j);k!=-1&&
(l=p2b(b),k!=l&&mX(CBc+k+DBc+l,b));tW(a,b.b);tW(a,b.b?b.b.f:null);return;default:mX("Expected object literal key expression but was "+b.j,b)}}function T5(a,b,c){var d,e,f,g,h,i,j,k,l,m,n,o,p;i=c;n=b;if(c.j!=(F7b(),f5b)){i=c.e;n=c}if(i.j!=f5b||i.b!=n||i.b.j==V5b){c1(a.a,Keb(b,(Q8(),M8),$C(VC(FS,1),bAc,2,6,["Only calls to super or to a method of super are supported."])));return}h=(sib(),Iib(b,new lkb(k5b)));p=h.b.d;if(!F2b(p))return;j=Iib(b,new Y5);if(Vjc(j.Lh(),SDc)&&c.j==f5b&&c.b==b){k=u2b(b,51);
if(!!k&&k.vh()||(g=(l=Fib(h),!l?null:u2b(l,29)),!!g&&((g.a&512)!=0||(g.a&NDc)!=0))){m2b(Iib(b,rib));d1(a.a)}return}if(s2b(j,58)!=0){m2b(n);if(n==b){n=SZb(k2b(p,false),n$b(j.Lh()));o=R2b(i,i.g,50);o!=i.g&&(i.g=o)}else S2b(n,b,k2b(p,false));f=SZb(n,new q4b(h7b,RDc));e2b(i,f);b2b(i,new q3b(q7b),f);p3b(i,i);d1(a.a);return}e=Q2b(i);e.j==l7b?m=j.Lh():m=(e.b?e.b.f:null).Lh();d=S5(a,v2b(p),m,P2b(i));p3b(d,i);S2b(i.e,i,d);d1(a.a)}function pxb(a,b){var c,d,e,f,g,h,i,j,k;if(!a)return b;else if(!b||Ywb(a,b))return a;
else if(a==a.a.s||b==b.a.s)return a.a.s;else if(a==a.a.v||a==a.a.g||b==b.a.v||b==b.a.g)return a.a.v;if(a.c||b.c)return rxb(a,b);if(!a.n.isEmpty()&&bxb(b,a,true,new aEb((XAb(),XAb(),WAb)),null))return a;else if(!b.n.isEmpty()&&bxb(a,b,true,new aEb((XAb(),XAb(),WAb)),null))return b;!a.n.isEmpty()&&(a=oxb(a));!b.n.isEmpty()&&(b=oxb(b));d=a.a;c=new Mxb(d);g=zjc(a.i.size(),b.i.size());for(f=0;f<g;f++){k=vxb(Zwb(a,f),Zwb(b,f));if(!k)return d.c;Gxb(c,k)}h=zjc(a.i.size()+a.e.size(),b.i.size()+b.e.size());
for(e=g;e<h;e++){j=vxb(Zwb(a,e),Zwb(b,e));if(!j)return d.c;Cxb(c,j)}if(!!a.j&&!!b.j){i=vxb(a.j,b.j);if(!i)return d.c;Hxb(c,i)}Ixb(c,Cyb(a.k,b.k));Bxb(c,qxb(a.d,b.d));Fxb(c,txb(a.g,b.g));return Lxb(c)}function dCb(a,b,c){var d,e,f,g,h,i;ne(a.c||b.c);if(b==b.a._)return true;if(a.c)for(h=(e=(new nmc(a.g)).a.oe().Md(),new tmc(e));h.a.Ed();){g=(d=h.a.Fd(),d.xe());i=new rDb(g);f=aCb(b,i);if(!!f&&(i.a.size()==1||iyb(f.d,(_d(i.a.size()!=1),new qDb(i.a.Re(1,i.a.size())))))&&!cyb(bCb(a,i),bCb(b,i),c))return false}else for(h=
(e=(new nmc(b.g)).a.oe().Md(),new tmc(e));h.a.Ed();){g=(d=h.a.Fd(),d.xe());i=new rDb(g);if((a.f.a&1)!=0){f=aCb(a,i);if(!(!!f&&(i.a.size()==1||iyb(f.d,(_d(i.a.size()!=1),new qDb(i.a.Re(1,i.a.size()))))))||!cyb(bCb(a,i),bCb(b,i),c))return false}else{f=aCb(a,i);if(!!f&&(i.a.size()==1||iyb(f.d,(_d(i.a.size()!=1),new qDb(i.a.Re(1,i.a.size())))))&&!cyb(bCb(a,i),bCb(b,i),c))return false}}if(!b.b)return!a.b||RDb(b.d.a)||b.c;else if(!a.b)return a.c;return axb(a.b,b.b)}function fwb(a,b,c){var d,e,f,g,h,i,j,
k;if(c&&a.f.size()+a.d.size()+(!a.g?0:1)==b.f.size()+b.d.size()+(!b.g?0:1)){i=!b.c?null:Zxb(b.c);k=!a.e?null:Zxb(a.e);return new gwb(a.a,b.f,b.d,b.g,b.i,!i?null:!i.a.p.isEmpty()&&!i.b.d.d.isEmpty()?wyb(ICb(i.a.t,i,null,null,null,false,i.a.i)):i.a.q,!k?null:!k.a.p.isEmpty()&&!k.b.d.d.isEmpty()?wyb(ICb(k.a.t,k,null,null,null,false,k.a.i)):k.a.q,b.j,false)}d=new Mxb(a.a);h=0;for(g=a.f.Md();g.Ed();){e=g.Fd();Gxb(d,e?e:(j=b.f.size(),h<j?b.f.getAtIndex(h):h<j+b.d.size()?b.d.getAtIndex(h-j):b.g));++h}for(f=
a.d.Md();f.Ed();){e=f.Fd();Cxb(d,e?e:(j=b.f.size(),h<j?b.f.getAtIndex(h):h<j+b.d.size()?b.d.getAtIndex(h-j):b.g));++h}a.g?Hxb(d,a.g):!!b.g&&Hxb(d,b.g);Ixb(d,a.i?a.i:b.i);Bxb(d,a.c);Fxb(d,a.e);a.j.isEmpty()?b.j.isEmpty()||Jxb(d,b.j):Jxb(d,a.j);zxb(d,a.b);return Kxb(d)}function MKb(a,b){var c,d,e,f,g,h;if(!CKb(a,b,(GLb(),rLb)))return false;if(!_Kb(a,(ee(b.j==(F7b(),f5b),yHc,b),o2b(b,1)))){fLb(a,(d=rLb.d,ee(b.j==f5b,yHc,b),o2b(b,1),d));return false}if((ee(b.j==f5b,yHc,b),o2b(b,2)).j!=Q5b){eLb(a,(e=EHc,
ee(b.j==f5b,yHc,b),o2b(b,2),e));fLb(a,(d=rLb.d,ee(b.j==f5b,yHc,b),o2b(b,2),d));return false}f=(ee(b.j==f5b,yHc,b),o2b(b,2));h=(ee(f.j==Q5b,FHc,f),p2b(f.b.d));if(h<2){a.a.ih((c=$C(VC(AS,1),qAc,1,5,[EHc]),jHc+D4b(GHc,c)),a.b.Ig(),a.d,a.c);fLb(a,(d=rLb.d,ee(b.j==f5b,yHc,b),o2b(b,2),d));return false}if(h>2){a.a.ih((c=$C(VC(AS,1),qAc,1,5,[EHc]),jHc+D4b(HHc,c)),a.b.Ig(),a.d,a.c);fLb(a,(d=rLb.d,ee(b.j==f5b,yHc,b),o2b(b,2),d));return false}g=(ee(f.j==Q5b,FHc,f),o2b(f,2));if(!_Kb(a,g)){a.a.ih((c=$C(VC(AS,
1),qAc,1,5,[IHc]),jHc+D4b(CHc,c)),a.b.Ig(),a.d,a.c);return false}return true}function NKb(a,b){var c,d,e,f,g,h;if(!CKb(a,b,(GLb(),sLb)))return false;if(!_Kb(a,(ee(b.j==(F7b(),f5b),yHc,b),o2b(b,1)))){fLb(a,(d=sLb.d,ee(b.j==f5b,yHc,b),o2b(b,1),d));return false}if((ee(b.j==f5b,yHc,b),o2b(b,2)).j!=Q5b){eLb(a,(e=EHc,ee(b.j==f5b,yHc,b),o2b(b,2),e));fLb(a,(d=sLb.d,ee(b.j==f5b,yHc,b),o2b(b,2),d));return false}f=(ee(b.j==f5b,yHc,b),o2b(b,2));h=(ee(f.j==Q5b,FHc,f),p2b(f.b.d));if(h<1){a.a.ih((c=$C(VC(AS,1),
qAc,1,5,[EHc]),jHc+D4b(GHc,c)),a.b.Ig(),a.d,a.c);fLb(a,(d=sLb.d,ee(b.j==f5b,yHc,b),o2b(b,2),d));return false}if(h>1){a.a.ih((c=$C(VC(AS,1),qAc,1,5,[EHc]),jHc+D4b(HHc,c)),a.b.Ig(),a.d,a.c);fLb(a,(d=sLb.d,ee(b.j==f5b,yHc,b),o2b(b,2),d));return false}g=(ee(f.j==Q5b,FHc,f),o2b(f,2));if(!_Kb(a,g)){a.a.ih((c=$C(VC(AS,1),qAc,1,5,[IHc]),jHc+D4b(CHc,c)),a.b.Ig(),a.d,a.c);return false}return true}function Xcb(a,b,c,d,e){var f,g,h,i,j,k,l,m;ne(!c||F2b(c));if(!d)return;if((d.a&2)!=0||(d.a&512)!=0||(d.a&NDc)!=
0){if(!c){Nhb(a.b.t,Keb(b,(pcb(),Mbb),$C(VC(FS,1),bAc,2,6,[])));c=b$b(jFc+B4(a.b.j));m3b(c,b)}i=v2b(c);f=(Lm(),new hq);for(l=e_b(d).Md();l.Ed();){k=l.Fd();fq(f,sEb(a.b.s,k))}m=Tm(f.a);h=(d.a&sBc)!=0?(TBb(),QBb):(d.a&MEc)!=0?(TBb(),PBb):(TBb(),RBb);if((d.a&2)!=0)j=new VDb(a.b.d,b,i,m,0,h,(d.a&lFc)!=0);else if((d.a&NDc)!=0)j=$Db(a.b.d,b,i,m,h);else{ne((d.a&512)!=0||(d.a&NDc)!=0);j=ZDb(a.b.d,b,i,m,h)}Vuc(a.b.n,b,j);if(e)return;g=c.b;if(c.j==(F7b(),y6b)||Igb(a.a,g)||Ucb(a,g)||Vcb(a,g)){c.j==W5b?M2b(b.e.b,
76,true):!a.a.r&&Wcb(a,i,j);lgb(a.a,c,j)}}else(d.a&sBc)!=0&&Nhb(a.b.t,Keb(b,(pcb(),kcb),$C(VC(FS,1),bAc,2,6,[])));(d.a&MEc)!=0&&(d.a&2)==0&&Nhb(a.b.t,Keb(b,(pcb(),Ubb),$C(VC(FS,1),bAc,2,6,[])))}function bxb(a,b,c,d,e){var f,g,h,i,j,k,l;if(b==b.a.v||b==b.a.g||b==b.a.s||a==a.a.s)return true;if(a==a.a.v||a==a.a.g)return false;ne(!a.c&&!b.c);if(!a.n.isEmpty()){if(Ywb(a,b))return true;return bxb(oxb(a),b,c,d,e)}if(!(b.i.isEmpty()&&b.e.isEmpty()&&!!b.j&&_zc==b.j.Ch())){if(a.i.size()>b.i.size())return false;
j=b.i.size()+b.e.size();for(h=0;h<j;h++){k=Zwb(a,h);i=Zwb(b,h);if(!!k&&_zc!=k.Ch()&&_zc!=i.Ch()&&!cyb(i,k,d))return false}if(b.j){l=a.i.size()+a.e.size();!!a.j&&++l;for(g=j;g<l;g++){k=Zwb(a,g);i=Zwb(b,g);if(!!k&&_zc!=k.Ch()&&_zc!=i.Ch()&&!cyb(i,k,d))return false}}}if(!a.d&&!!b.d||!!a.d&&!b.d||!!a.d&&!!b.d&&!cyb(a.d,b.d,d))return false;if(c){if(!a.a.H&&!!a.g&&!b.g)return false;if(!!a.g&&!!b.g&&!cyb(b.g,a.g,d)&&!cyb(a.g,b.g,d))return false}f=_zc==a.k.Ch()||_zc==b.k.Ch()||cyb(a.k,b.k,d);return f}function Iob(a){Cob();
this.a=a;this.b=mq(new pq,Wyc($Fc),Aob).ef(Fob('Duplicate parameter name "{0}"'),nob).ef(Wyc("^invalid param name.*"),sob).ef(Fob(D4b(_Fc,null)),mob).ef(Wyc("^"+Xyc(aGc)),tob).ef(Wyc("^Keywords and reserved words are not allowed as unquoted property.*"),qob).ef(Wyc("^Too many template parameters"),zob).ef(Wyc("^Bad type annotation\\. Type annotations should have curly braces.*"),uob).ef(Wyc("Missing type declaration\\."),vob).ef(Wyc("^Bad type annotation.*(?!Type annotations should have curly braces\\.)"),
Bob).ef(Wyc("Too deep recursion while parsing"),yob).ef(Wyc("^Octal .*literal.*"),rob).ef(Wyc("^this language feature is only supported for ECMASCRIPT6 mode.*"),oob).ef(Wyc("^type syntax is only supported in ES6 typed mode.*"),pob).ef(Wyc("^Can only have JSDoc or inline type.*"),wob).df()}function v9(a,b,c){var d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,A,B;k=F9(c,b);h=(sib(),xib(k,false,a.a));e=E9(k);p=new H9;p.b=h;p.a=e;for(g=null,d=k,m=d.e;m!=b;g=d,d=m,m=d.e){n=m.j;ne(!G9(m)||d==m.b);if(n==(F7b(),
L4b))if(A9(a,m,p.b));else{i=m.b;q=i.j;if(i!=d){ne(i.j==W5b||i.j==V5b);q==V5b&&t9(a,i.b?i.b.f:null,null,p);t9(a,i.b,null,p)}}else if(n==f5b&&rjb(m.b)){f=m.b;t9(a,f.d,d,p);if(z9(a,f,p.b)&&f.b!=g){oe(false,"Object method calls can not be decomposed.");p.b=true;o=(_d(m.j==f5b),r=m.b,_d(r.j==W5b||r.j==V5b),s=x9(a,r,p.a),p.a=s,t=s.b.b,_d(t.j==W5b||t.j==V5b),u=x9(a,t.b,p.a),p.a=u,v=u.b,w=s.b,A=m3b(GZb(SZb(w.Jh(false),new q4b(h7b,RDc)),$C(VC(jR,1),ZBc,7,0,[v.Jh(false)])),m),Q2b(m),!!m.b&&g2b(A,P2b(m)),B=
m.e,S2b(B,m,A),A);m=o}}else n==L6b?s9(a,m.b,d,p):t9(a,m.b,d,p)}if(k==c);else{l=k.e;j=l.j!=(F7b(),L5b);w9(a,k,e,j)}}function mCb(a,b,c,d,e){var f,g,h,i,j,k,l,m,n,o,p,q,r;k=a.g;if(b.a.size()==1){p=b.a.getAtIndex(0);f=_Bb(a,b);!c&&(c=f);if(f){d=true;(_d(b.a.size()==1),q=aCb(a,b),!!q&&q.a==(nDb(),kDb))&&(e=true);!!c&&!cyb(c,f,new aEb((XAb(),XAb(),WAb)))&&(c=f)}if(!c&&!f)k=$Ab(k,p);else if(!Txb(c,f)){d&&!f&&(f=c);h=null;(_d(b.a.size()==1),r=aCb(a,b),!!r)&&(h=aCb(a,b).c);k=ZAb(k,p,e?new cDb(h,c,f,(nDb(),
kDb)):new cDb(h,c,d?f:null,(nDb(),mDb)))}}else{l=b.a.getAtIndex(0);n=new rDb(l);o=aCb(a,n);if(!(!!o&&(n.a.size()==1||iyb(o.d,(_d(n.a.size()!=1),new qDb(n.a.Re(1,n.a.size()))))))){ve(!c,b,a,l);return a}j=(_d(b.a.size()!=1),new qDb(b.a.Re(1,b.a.size())));m=aCb(a,n);i=!c?ryb(m.d,j):qyb(m.d,j,c);g=m.b;Txb(i,g)||(k=ZAb(k,l,m.a==(nDb(),lDb)?new cDb(null,i,g,lDb):new cDb(null,i,g,mDb)))}if(k==a.g)return a;return ICb(a.a,a.d,k,a.b,a.e,a.c,a.f)}function eQb(a){var b,c,d,e,f,g;f=qRb(a.j,0).c;if(f==(hUb(),KTb))return fQb(a);
else if(f==PTb||f==kTb||f==RSb||(YNb(),!!bo(zNb,f)))return FQb(a,0,RSb)&&Vjc(qRb(a.j,0).a,"get")&&(QQb(a,1)||qRb(a.j,1).c==oTb)?CPb(a,new fRb(qRb(a.j,0).b.b)):FQb(a,0,RSb)&&Vjc(qRb(a.j,0).a,"set")&&(QQb(a,1)||qRb(a.j,1).c==oTb)?lQb(a,new fRb(qRb(a.j,0).b.b)):FQb(a,0,RSb)&&Vjc(qRb(a.j,0).a,nCc)&&(c=qRb(a.j,1).b.b.b>qRb(a.j,0).b.a.b,!(c||FQb(a,1,GTb)||FQb(a,1,rSb)||FQb(a,1,ESb)))&&(QQb(a,1)||qRb(a.j,1).c==oTb)?YOb(a,new fRb(qRb(a.j,0).b.b)):qRb(a.j,1).c==nTb?gPb(a,new fRb(qRb(a.j,0).b.b)):gQb(a);else if(f==
oTb){e=qRb(a.j,0).b.b;d=iPb(a);if(GQb(a,uSb)){tOb(a,uSb);g=UOb(a,1);return new TUb(new CYb(e,a.g),d,g)}else{b=new yVb((DVb(),BVb));APb(a,b,false);g=nVb(b,new CYb(e,a.g));return new WUb(new CYb(e,a.g),null,d,g)}}else throw RU(new bC(iIc));}function s0(a,b,c){var d,e,f,g,h,i,j,k,l,m,n,o,p;f=!c&&a.H.$c;if(Tuc(a.q,b)||f)return a.w;k=Jnb("js/"+b+UCc);d=(!a.H&&Q0(a,new J2),p=new m2((npb(),new Cpb((new zpb,VCc+b+"] "),k))),_0(a,p.f,p),e2(p,a));for(j=d.b;!!j&&j.j==(F7b(),L5b)&&j.b.j==(F7b(),h7b);j=d.b){e=
j.b.Lh();o=Df(Af(If(new nc(32))),e);switch(o.a.getAtIndex(0)){case "use":break;case "require":s0(a,o.a.getAtIndex(1),c);break;case KCc:n=MZb(b$b(o.a.getAtIndex(1)),(F7b(),z7b));h=new V1b(false);D$b(h.a);h.d=true;Y2b(n,F0b(h,false));d2b(e2((!a.S&&(a.S=T0(a,"{SyntheticVarsAtEnd}",1)),a.S),a),n);break;default:throw RU(new bC("Bad directive: "+e));}O2b(d,j)}AV(a.Y)&&(gib(a,d,new Vkb(a,false)),gib(a,d,new Kfb(new Yfb(u0(a),(m=a,new S1(m)),"jscomp_"+b+"_"))));i=d.b?d.b.f:null;g=P2b(d);if(!g)return a.w;
l=A0(a);!a.w?h2b(l,g):f2b(l,g,a.w);a.w=i;Vuc(a.q,b,i);d1(a);return i}function Qdb(a,b,c,d){var e,f,g,h,i,j,k,l,m,n,o,p,q,r,s;ae(b.j==(F7b(),W5b)||b.j==i7b||b.j==X5b||b.j==c7b,b);_d(Igb(a.a,c));b.j==X5b?d=(Rxb(),mFc+d):b.j==c7b&&(d=(Rxb(),nFc+d));if(b.j==i7b&&Igb(a.a,b.b))return;f=(e=rgb(a.a,sDb(c),false),!e?null:ND(e.c,160)?e.c:null);if(!!f&&f.c.contains(d))return;k=vgb(a.a,sDb(c));i=(sib(),j=Fib(b),!j?null:u2b(j,29));p=mdb(a,i,b,null);n=p.a;o=p.b;h=zcb(a.c,b);if(!!n||h){m=(l=ih(Zg(k.C,d,false)),
!l?null:l.b);if(!!wwb(k,new rDb(d))||xwb(k,d)&&!!m&&!Kdb(i,n,m)){Nhb(a.c.t,Keb(b,(pcb(),icb),$C(VC(FS,1),bAc,2,6,[d,"namespace "+k])));M2b(b.e,76,true);return}!n&&(n=tdb(a,b));pwb(k,d,b,n,h);r=R2b(b,b.g,76);r!=b.g&&(b.g=r);b.g=new V3b(76,1,b.g);b.j==W5b&&h&&(q=R2b(b,b.g,77),q!=b.g&&(b.g=q),b.g=new V3b(77,1,b.g))}else if(o)rwb(k,d,b,o);else{g=Vib(b);s=!g?null:Fdb(a,g);!s&&(s=a.c.d.G);rwb(k,d,b,s)}}function oyb(a,b,c,d,e){var f,g,h,i,j,k,l,m,n,o,p,q,r,s,t;he(b);if(_zc==a.Ch()||-1==a.Ch())return true;
else if(a.Ch()==1&&c.contains(a.Eh())){Myb(d,a.Eh(),b);return true}else if(_zc==b.Ch()||512==b.Ch()||8==b.Ch())return true;else if(-1==b.Ch())return false;s=(km(),ux(),tx);if(!b.Bh().isEmpty()){s=new Avc;for(g=b.Bh().Md();g.Ed();){f=g.Fd();cyb(Eyb(f.t,4,Pxb,null,new ly(f)),a,new aEb((XAb(),XAb(),WAb)))||s.add(f)}}t=new Cvc(b.Dh());for(n=a.Dh().Md();n.Ed();){m=n.Fd();for(l=b.Dh().Md();l.Ed();){k=l.Fd();kCb(m,k,c,d,e)&&t.a.remove(k)!=null}}r=a.Eh();j=b.Eh();if(r==null||!c.contains(r))return t.a.size()==
0&&s.isEmpty()&&(j==null||Vjc(j,r))&&a.Ch()==(a.Ch()|b.Ch()&-5);else{q=a.Ch()&-3&-2;o=b.Ch()&~q;t.a.size()==0&&(o&=-3);if(o==0)return t.a.size()==0&&s.isEmpty();p=Eyb(a.e,Jyb(o),(i=t,xo(i)),j,(h=s,xo(h)));Myb(d,a.Eh(),p);return true}}function Nmb(a,b,c,d){var e,f,g,h,i,j,k,l,m,n,o;i=(c.b?c.b.f:null).Lh();j=Vjc(i.substr(0,5),"goog:");j?k=i.substr(5):k=yub(xub(g2((!b.d&&(b.d=z0(b.c,b.f)),b.d)),i));for(f=(!c.b?(Gpc(),Gpc(),Fpc):new k4b(c.b)).Md();f.Ed();){e=f.Fd();if(e.j==(F7b(),B5b)||e.j==h7b)continue;
else if(e.j==y6b){l=j?"":qCc;tlc(a.g,e.Lh(),new Wmb(k,l))}else if(e.j==c6b)for(h=(!e.b?(Gpc(),Gpc(),Fpc):new k4b(e.b)).Md();h.Ed();){g=h.Fd();m=g.b.Lh();p2b(g)==2?tlc(a.g,(g.b?g.b.f:null).Lh(),new Wmb(k,m)):tlc(a.g,m,new Wmb(k,m))}else{se(e.j==d6b,"Expected an IMPORT_STAR node, but was: %s",e);j&&c1(a.c,Vhb(c,Imb,$C(VC(FS,1),bAc,2,6,[e.Lh(),k])));tlc(a.g,e.Lh(),new Wmb(k,""))}}o=(sib(),Iib(d,new lkb((F7b(),b7b))));if(Vtc(a.a,k)){n=NZb(GZb(Yjb(a.c,eCc),$C(VC(jR,1),ZBc,7,0,[new q4b(h7b,k)])));p3b(n,
c);b2b(o,n,a.f);a.f=n;c2((!b.d&&(b.d=z0(b.c,b.f)),b.d),k)}O2b(d,c);d1(a.c)}function Tsb(){Tsb=qV;Nsb=(T7b(),"(Proxy)");Rsb=new y5("JSC_MALFORMED_TYPEDEF",(kY(),jY),new klc("Typedef for {0} does not have any type information"));Osb=new y5("JSC_ENUM_INITIALIZER_NOT_ENUM",jY,new klc("enum initializer must be an object literal or an enum"));Msb=new y5("JSC_CTOR_INITIALIZER_NOT_CTOR",jY,new klc("Constructor {0} must be initialized at declaration"));Psb=new y5("JSC_IFACE_INITIALIZER_NOT_IFACE",jY,new klc("Interface {0} must be initialized at declaration"));
Lsb=new y5("JSC_REFLECT_CONSTRUCTOR_EXPECTED",jY,new klc("Constructor expected as first argument"));Ssb=new y5("JSC_UNKNOWN_LENDS",jY,new klc("Variable {0} not declared before @lends annotation."));Qsb=new y5("JSC_LENDS_ON_NON_OBJECT",jY,new klc("May only lend properties to object types. {0} has type {1}."));new T4(Nsb,$C(VC(FJ,1),qAc,5,0,[Rsb,Osb,Msb,Psb,Lsb,Ssb,Qsb]))}function Etb(){Etb=qV;Btb=new y5("JSC_REFERENCE_BEFORE_DECLARE",(kY(),jY),new klc("Variable referenced before declaration: {0}"));
Ctb=new y5("JSC_REDECLARED_VARIABLE",jY,new klc("Redeclared variable: {0}"));Atb=new y5("AMBIGUOUS_FUNCTION_DECL",hY,new klc("Ambiguous use of a named function: {0}."));new y5("JSC_REFERENCE_BEFORE_DECLARE_ERROR",hY,new klc("Illegal variable reference before declaration: {0}"));new y5("JSC_REASSIGNED_CONSTANT",hY,new klc("Constant reassigned: {0}"));new y5("JSC_REDECLARED_VARIABLE_ERROR",hY,new klc("Illegal redeclared variable: {0}"));new y5("JSC_DECLARATION_NOT_DIRECTLY_IN_BLOCK",hY,new klc("Block-scoped declaration not directly within block: {0}"));
Dtb=new y5("JSC_UNUSED_LOCAL_ASSIGNMENT",iY,new klc("Value assigned to local variable {0} is never read"));cq(wtc((F7b(),$5b),$C(VC(lR,1),vAc,10,0,[N5b,O5b,P5b,C7b])))}function Buc(){function e(){this.obj=this.createObject()}e.prototype.createObject=function(a){return Object.create(null)};e.prototype.get=function(a){return this.obj[a]};e.prototype.set=function(a,b){this.obj[a]=b};e.prototype[XHc]=function(a){delete this.obj[a]};e.prototype.keys=function(){return Object.getOwnPropertyNames(this.obj)};
e.prototype.entries=function(){var b=this.keys();var c=this;var d=0;return{next:function(){if(d>=b.length)return{done:true};var a=b[d++];return{value:[a,c.get(a)],done:false}}}};if(!zuc()){e.prototype.createObject=function(){return{}};e.prototype.get=function(a){return this.obj[":"+a]};e.prototype.set=function(a,b){this.obj[":"+a]=b};e.prototype[XHc]=function(a){delete this.obj[":"+a]};e.prototype.keys=function(){var a=[];for(var b in this.obj)b.charCodeAt(0)==58&&a.push(b.substring(1));return a}}return e}
function rcb(a,b,c,d,e,f){var g,h,i,j,k,l,m,n,o,p,q;j=qBb(c,d);if(!j)return;c.a.g!=0?i=wcb(a,c,d):i=(km(),new ly(vcb(a,c,d)));if(c.a.g!=0&&b.g==0&&!JDb(b,d)){Nhb(a.t,Keb(i.Md().Fd().a,acb,$C(VC(FS,1),bAc,2,6,[d,gBb(c,new Ikc).a,CDb(b,new Ikc).a])));return}k=Bp(a.o,b,d);l=!k?null:GDb(b,d);if(!!k&&c.a.g==0&&!!l&&!!Vxb(l)&&(m=JDb(c.a,d),!!m&&m.a==(nDb(),kDb))){Nhb(a.t,Keb(k.a,Pbb,$C(VC(FS,1),bAc,2,6,[d])));return}if(!l&&c.a.g!=0)vg(f,d,j);else if(!!l&&!Fcb(k)&&!(n=(o=l.Ch()==2&&l.Dh().size()==1?is(l.Dh().Md()):
null,!o?null:o.b),p=(q=j.Ch()==2&&j.Dh().size()==1?is(j.Dh().Md()):null,!q?null:q.b),!n?cyb(l,j,new aEb((XAb(),XAb(),WAb))):!!p&&bxb(n,p,false,new aEb((XAb(),XAb(),WAb)),null)))Nhb(a.t,Keb(k.a,ccb,$C(VC(FS,1),bAc,2,6,[d,nyb(j,new Ikc).a,nyb(l,new Ikc).a])));else if(!!l&&!!k.c)for(h=i.Md();h.Ed();){g=h.Fd();!!g.c&&vg(e,d,cwb(g.c,c))}}function $jb(a){sib();switch(a.f){case 1:return"|";case 61:return"||";case 2:return"^";case 62:return"&&";case 3:return"&";case 36:return"===";case 4:return"==";case 19:return"!";
case 5:return"!=";case 37:return"!==";case 10:return"<<";case 40:return"in";case 7:return"<=";case 6:return"<";case 12:return">>>";case 11:return">>";case 9:return">=";case 8:return">";case 15:return"*";case 16:return"/";case 17:return"%";case 18:return"**";case 20:return"~";case 13:case 21:return"+";case 14:case 22:return"-";case 47:return"=";case 48:return"|=";case 49:return"^=";case 50:return"&=";case 51:return"<<=";case 52:return">>=";case 53:return">>>=";case 54:return"+=";case 55:return"-=";
case 56:return"*=";case 59:return"**=";case 57:return"/=";case 58:return"%=";case 79:return FCc;case 25:return KFc;case 41:return LFc;default:return null}}function qPb(a,b){var c,d,e,f,g,h,i,j,k,l,m,n,o,p;l=qRb(a.j,0).b.b;f=false;g=false;h=false;k=true;tOb(a,(hUb(),KSb));c=null;d=null;switch(qRb(a.j,0).c.f){case 65:g=true;n=pRb(a.j);a.g=n.b.a;break;case 14:c=b?LOb(a):zPb(a);k=b;break;case 29:c=dPb(a,false,b);k=false;break;case 37:c=KPb(a);k=false;break;case 31:c=mPb(a);k=false;break;case 110:case 111:c=
UPb(a,b);k=false;break;case 109:c=JOb(a);k=false;break;case 8:f=true;m=pRb(a.j);a.g=m.b.a;c=HOb(a,1);k=false;break;case 45:h=true;d=sPb(a);break;case 108:c=uQb(a);break;default:case 25:case 38:case 30:c=b?OOb(a):CQb(a,1)}j=null;if(g||h&&FQb(a,0,RSb)&&Vjc(qRb(a.j,0).a,rCc)){zOb(a,rCc);j=tOb(a,PTb)}else if(h)for(p=d.Md();p.Ed();){o=p.Fd();e=o.b;aOb(e.a)&&XQb(a,e,hIc,$C(VC(AS,1),qAc,1,5,[e.a]))}(k||(i=qRb(a.j,0).b.b.b>a.g.b,i||FQb(a,0,GTb)||FQb(a,0,rSb)||FQb(a,0,ESb)))&&yOb(a);return new eVb(new CYb(l,
a.g),f,g,c,d,j)}function j0(){j0=qV;zV();h0=new y5("JSC_MODULE_DEPENDENCY_ERROR",(kY(),hY),new klc("Bad dependency: {0} -> {1}. Modules must be listed in dependency order."));new y5(QCc,hY,new klc('required entry point "{0}" never provided'));new y5(QCc,hY,new klc('unknown module "{0}" specified in entry point spec'));new y5(RCc,hY,new klc("Exceeded max number of optimization iterations: {0}"));new y5(RCc,hY,new klc("Exceeded max number of code motion iterations: {0}"));i0=xyc(zyc(),"com.google.javascript.jscomp");
new Vc(Dhc);f0=new y5("JSC_EMPTY_MODULE_LIST_ERROR",hY,new klc("At least one module must be provided"));g0=new y5("JSC_EMPTY_ROOT_MODULE_ERROR",hY,new klc("Root module ''{0}'' must contain at least one source code input"));e0=new y5("JSC_DUPLICATE_INPUT",hY,new klc("Duplicate input: {0}"));d0=new y5("JSC_DUPLICATE_EXTERN_INPUT",hY,new klc("Duplicate extern input: {0}"))}function d9(a,b){var c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r;_d(b.j==(F7b(),L6b));k=new soc;d=b.b;while(d)if(s2b(d,73)!=0||s2b(d,74)!=0){c1(a.a,
Keb(d,M8,$C(VC(FS,1),bAc,2,6,["computed getter/setter in an object literal"])));return}else if(d.j==X5b||d.j==c7b)d=d.d;else{f=d.d;O2b(b,d);k.add(d);d=f}g="$jscomp$compprop"+(""+(m=a.a,new S1(m)).a.W++);k=ND(k,112)?Nm(k):ND(k,167)?k.a:ND(k,76)?new iv(k):new Zu(k);l=(se(Yjc(g,qkc(46))==-1,YBc,g),new q4b(y6b,g));for(i=k.Md();i.Ed();){h=i.Fd();if(h.j==o5b){j=Q2b(h);q=Q2b(h);l=JZb(CZb(RZb((se(Yjc(g,qkc(46))==-1,YBc,g),new q4b(y6b,g)),j),q),l)}else{if(!h.b){e=o3b(b$b(h.Lh()),h);d2b(h,e)}p=Q2b(h);f3b(h,
h7b);o=h.Nh()?V5b:W5b;c=new u3b(o,(se(Yjc(g,qkc(46))==-1,YBc,g),new q4b(y6b,g)),h);l=JZb(CZb(c,p),l)}}n=b;while(sib(),!Kjb(n.e))n=n.e;p3b(l,b);S2b(b.e,b,l);r=LZb((se(Yjc(g,qkc(46))==-1,YBc,g),new q4b(y6b,g)),b,z7b);p3b(r,n);c2b(n.e,r,n);d1(a.a)}function Fdb(a,b){var c,d,e,f,g,h,i,j;switch(b.j.f){case 38:return jAb(a.c.d);case 92:return Uuc(a.c.c,b);case 42:{if(!b.b)return $zb(a.c.d);d=b.b;c=Fdb(a,d);if(!c)return null;while(d=d.d)if(!Txb(c,Fdb(a,d)))return null;return _zb(a.c.d,c)}case 35:return a.c.d.w;
case 34:return a.c.d.e;case 33:return tgb(a.a,xCc);case 29:return Edb(a,sgb(a.a,b.Lh(),false));case 43:{f=cAb(a.c.d);for(h=(!b.b?(Gpc(),Gpc(),Fpc):new k4b(b.b)).Md();h.Ed();){g=h.Fd();i=Fdb(a,g.b);if(!i)return null;f=qyb(f,new rDb(Rib(g)),i)}return f}case 26:return Idb(a,b.b,(b.b?b.b.f:null).Lh());case 27:return Hdb(a,b);case 46:case 47:return Fdb(a,b.b?b.b.f:null);case 28:case 23:return Ddb(a,b);case 62:case 61:return Cdb(a,b);case 60:{e=Fdb(a,b.b.d);j=Fdb(a,b.b?b.b.f:null);return!e||!j?null:Cyb(e,
j)}default:switch(Nib(b)){case 1:return a.c.d.j;case 2:return a.c.d.B;case 3:return a.c.d.q;case 4:return a.c.d.t;case 5:return a.c.d.a;default:return null}}}function nyb(a,b){var c,d,e,f,g,h,i,j,k;switch(a.Ch()){case 0:return b.a+="bottom",b;case -1:return b.a+="*",b;case _zc:return b.a+="?",b;default:k=a.Ch();f=true;for(j=1;j!=512;j<<=1)if((k&j)!=0){f||(b.a+="|",b);f=false;switch(j){case 8:case 16:b.a+=Xzc;k&=-25;continue;case 32:b.a+=iAc;k&=-33;continue;case 64:b.a+=Yzc;k&=-65;continue;case 128:b.a+=
$zc;k&=-129;continue;case 256:b.a+=hEc;k&=-257;continue;case 1:Ekc(b,vEb(a.Eh()));k&=-2;continue;case 2:{if(a.Dh().size()==1)XBb(is(a.Dh().Md()),b);else{i=new Gxc;for(h=a.Dh().Md();h.Ed();){g=h.Fd();Exc(i,XBb(g,new Ikc).a)}Qc(Qxb,b,(e=(new mnc(i.a)).a.oe().b.ej(),new snc(e)))}k&=-3;continue}case 4:{if(a.Bh().size()==1)Dkc(b,is(a.Bh().Md()));else{i=new Gxc;for(d=a.Bh().Md();d.Ed();){c=d.Fd();Exc(i,c.w)}Qc(Qxb,b,(e=(new mnc(i.a)).a.oe().b.ej(),new snc(e)))}k&=-5;continue}}}return k==0?b:k==512?(b.a+=
"truthy",b):k==QEc?(b.a+="falsy",b):zkc((b.a+="Unrecognized type: ",b),k)}}function vAb(a){var b,c,d;c=tyb(this);this.a=he(Uuc(c,"BOOLEAN"));this.b=he(Uuc(c,"BOTTOM"));this.e=he(Uuc(c,qGc));this.f=he(Uuc(c,"FALSY"));this.j=he(Uuc(c,rGc));this.q=he(Uuc(c,sGc));this.t=he(Uuc(c,tGc));this.u=he(Uuc(c,"TOP"));he(Uuc(c,uGc));this.w=he(Uuc(c,"TRUE_TYPE"));this.A=he(Uuc(c,vGc));this.B=he(Uuc(c,"UNDEFINED"));this.G=he(Uuc(c,wGc));this.C=he(Uuc(c,xGc));this.D=he(Uuc(c,yGc));this.F=he(Uuc(c,zGc));this.k=he(Uuc(c,
AGc));this.n=he(Uuc(c,BGc));this.o=he(Uuc(c,CGc));this.p=he(Uuc(c,DGc));this.r=he(Uuc(c,EGc));b=(d=new Yuc,Vuc(d,GGc,uxb(this,null,null,this.G,this.G,null,null,null,null,true,false)),Vuc(d,HGc,uxb(this,null,null,null,this.b,null,null,null,null,false,false)),Vuc(d,pGc,new kxb(this,false)),Vuc(d,oGc,new kxb(this,true)),d);this.s=he(Uuc(b,GGc));this.c=he(Uuc(b,HGc));this.v=he(Uuc(b,pGc));this.g=he(Uuc(b,oGc));this.d=YAb(new cDb(null,this.b,this.b,(nDb(),mDb)));this.H=a;this.Q=a;this.J=a;this.i=new zAb(this)}
function a9(a,b,c){var d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t;s=Q2b(b);n=Q2b(b);d=Q2b(b);l=b$b("$jscomp$iter$"+(""+(r=a.a,new S1(r)).a.W++));q=R2b(l,l.g,85);q!=l.g&&(l.g=q);l.g=new V3b(85,1,l.g);h=GZb(SZb(k2b(l,false),new q4b((F7b(),h7b),rEc)),$C(VC(jR,1),ZBc,7,0,[]));if(s.j==y6b){f=y6b;t=v2b(s)}else{se((sib(),!!s&&(s.j==z7b||s.j==q6b||s.j==p5b)),"Expected var, let, or const. Got %s",s);f=s.j;t=v2b(s.b)}m=(se(Yjc(REc+t,qkc(46))==-1,YBc,REc+t),new q4b(y6b,REc+t));p=R2b(m,m.g,85);p!=m.g&&(m.g=p);m.g=new V3b(85,
1,m.g);j=LZb(k2b(l,false),j9(a.a,n),z7b);k=k2b(m,false);e2b(k,k2b(h,false));d2b(j,k);e=d$b(SZb(k2b(m,false),new q4b(h7b,xEc)));i=CZb(k2b(m,false),k2b(h,false));if(f==y6b)g=NZb(CZb(m3b((se(Yjc(t,qkc(46))==-1,YBc,t),new q4b(y6b,t)),s),SZb(k2b(m,false),new q4b(h7b,sEc))));else{g=new s3b(f,m3b((se(Yjc(t,qkc(46))==-1,YBc,t),new q4b(y6b,t)),s.b));d2b(g.b,SZb(k2b(m,false),new q4b(h7b,sEc)))}e2b(d,g);o=PZb(j,e,i,d);p3b(o,b);S2b(c,b,o);d1(a.a)}function gY(){gY=qV;fY=new y5("JSC_MISPLACED_MSG_ANNOTATION",(kY(),
iY),new klc("Misplaced message annotation. @desc, @hidden, and @meaning annotations should onlybe on message nodes."));eY=new y5("JSC_MISPLACED_ANNOTATION",jY,new klc("Misplaced {0} annotation. {1}"));$X=new y5("JSC_ANNOTATION_DEPRECATED",jY,new klc("The {0} annotation is deprecated. {1}"));bY=new y5("JSC_DISALLOWED_MEMBER_JSDOC",jY,new klc("Class level JSDocs (@interface, @extends, etc.) are not allowed on class members"));_X=new y5("JSC_ARROW_FUNCTION_AS_CONSTRUCTOR",hY,new klc("Arrow functions cannot be used as constructors"));
aY=new y5("JSC_DEFAULT_PARAM_MUST_BE_MARKED_OPTIONAL",hY,new klc("Inline JSDoc on default parameters must be marked as optional"));dY=new y5("JSC_INVALID_NO_SIDE_EFFECT_ANNOTATION",hY,new klc("@nosideeffects may only appear in externs files."));cY=new y5("JSC_INVALID_MODIFIES_ANNOTATION",hY,new klc("@modifies may only appear in externs files."))}function xV(){var a,b,c;b=$doc.compatMode;a=$C(VC(FS,1),bAc,2,6,[wBc]);for(c=0;c<a.length;c++)if(Vjc(a[c],b))return;a.length==1&&Vjc(wBc,a[0])&&Vjc("BackCompat",
b)?"GWT no longer supports Quirks Mode (document.compatMode=' BackCompat').<br>Make sure your application's host HTML page has a Standards Mode (document.compatMode=' CSS1Compat') doctype,<br>e.g. by using &lt;!doctype html&gt; at the start of your application's HTML page.<br><br>To continue using this unsupported rendering mode and risk layout problems, suppress this message by adding<br>the following line to your*.gwt.xml module file:<br>&nbsp;&nbsp;&lt;extend-configuration-property name=\"document.compatMode\" value=\""+
b+'"/&gt;':"Your *.gwt.xml module configuration prohibits the use of the current document rendering mode (document.compatMode=' "+b+"').<br>Modify your application's host HTML page doctype, or update your custom "+"'document.compatMode' configuration property settings."}function rdb(a,b,c,d,e){var f,g,h,i,j,k,l,m,n,o,p;k=null;l=null;n=null;i=(sib(),j=Fib(d),!j?null:u2b(j,29));if(!!e&&e.j==(F7b(),Q5b)){k=Odb(a,e,b);l=k.c;d.j==(F7b(),X5b)?c=(Rxb(),mFc+c):d.j==c7b&&(c=(Rxb(),nFc+c))}else!!i&&(g=(i.a&
KEc)==PEc&&((KEc&i.a)==PEc?i.i:null).a.j==(F7b(),Q5b),g||(i.a&KEc)==SAc||!!i.g||_$b(i)>0||(i.a&2)!=0||(i.a&hFc)!=0&&(i.a&KEc)!=PEc)&&d.j!=(F7b(),i7b)&&(l=idb(a,i,c,d,b,a.a));!!i&&(i.a&KEc)==PEc?n=qzb(a.c.q,i,b,a.a):!!l&&(n=Zzb(a.c.d,dwb(l)));if(d.j==(F7b(),X5b)){f=(m=n.Ch()==2&&n.Dh().size()==1?is(n.Dh().Md()):null,!m?null:m.b);!!f&&(n=f.k)}tp(a.c.o,b,c,new Zdb(d,l,k));!!l&&l.b&&!b.e&&(b.g==0?Nhb(a.c.t,Keb(d,(pcb(),Jbb),$C(VC(FS,1),bAc,2,6,[b.w]))):b.g!=0&&Nhb(a.c.t,Keb(d,(pcb(),Kbb),$C(VC(FS,1),
bAc,2,6,[]))));h=zcb(a.c,d);if(!!n||h){if(vdb(a,b,c,d,n))return;!n&&(n=tdb(a,d));xDb(b,c,d,n,h);if(d.j==W5b){p=R2b(d,d.g,76);p!=d.g&&(d.g=p);d.g=new V3b(76,1,d.g);h&&(o=R2b(d,d.g,77),o!=d.g&&(d.g=o),d.g=new V3b(77,1,d.g))}}else BDb(b,c,d)}function w9(a,b,c,d){var e,f,g,h,i,j,k,l,m,n,o,p,q,r,s;n=b.e;q=a.e+VEc+(""+a.c.a.W++);i=b.b;p=i.d;m=b.b?b.b.f:null;n2b(b);g=null;s=m3b((f=new q3b((F7b(),c5b)),f),b);h=m3b((e=new q3b(c5b),e),b);switch(b.j.f){case 60:g=i;e2b(s,Wjb(d?n3b(CZb((se(Yjc(q,qkc(46))==-1,
YBc,q),new q4b(y6b,q)),p),p):p));e2b(h,Wjb(d?n3b(CZb((se(Yjc(q,qkc(46))==-1,YBc,q),new q4b(y6b,q)),m),m):m));break;case 62:g=d?n3b(CZb((se(Yjc(q,qkc(46))==-1,YBc,q),new q4b(y6b,q)),i),i):i;e2b(s,Wjb(d?n3b(CZb((se(Yjc(q,qkc(46))==-1,YBc,q),new q4b(y6b,q)),m),m):m));break;case 61:g=d?n3b(CZb((se(Yjc(q,qkc(46))==-1,YBc,q),new q4b(y6b,q)),i),i):i;e2b(h,Wjb(d?n3b(CZb((se(Yjc(q,qkc(46))==-1,YBc,q),new q4b(y6b,q)),m),m):m));break;default:throw RU(new Xic(WEc));}h.b?k=(ne(ZZb(g)),ne(s.j==c5b||s.j==_6b),ne(h.j==
c5b||h.j==_6b),new v3b($5b,g,s,h)):k=VZb(g,s);o3b(k,b);if(d){r=p3b(Zjb(q,null),b);l=c.e;c2b(l,r,c);b2b(l,k,r);o=(se(Yjc(q,qkc(46))==-1,YBc,q),new q4b(y6b,q));S2b(n,b,o)}else{_d(n.j==L5b);j=n.e;S2b(j,n,k)}return k}function szb(a,b,c,d,e,f,g,h){var i,j,k,l,m,n,o,p,q,r,s,t;r=(Lm(),new hq);q=(null,Km);k=d.e;i=false;if(b){if(e)gq(r,e.p);else for(p=e_b(b).Md();p.Ed();){n=p.Fd();fq(r,sEb(a.d,n))}for(o=j_b(b).We().Md();o.Ed();){n=o.Fd();fq(r,sEb(a.d,n))}q=Tm(r.a);if(!q.isEmpty())if(k.j==(F7b(),c7b)||k.j==
X5b){i=true;b=null;Vtc(a.i,Keb(d,fzb,$C(VC(FS,1),bAc,2,6,[])))}else Jxb(h,q)}if(f){gq(r,f.p);q=Tm(r.a)}lzb(a,b,d,q,g,h,i);nzb(a,b,d,k,q,g,h,i);if(!b)return Kxb(h);l=vzb(a,b,c,d,q,g);j=uzb(a,b,g,q,true);if(!e&&((b.a&2)!=0||(b.a&512)!=0||(b.a&NDc)!=0))return Kxb(h);else(b.a&2)!=0?Dzb(a,c,d,e,l,j,h):(b.a&512)!=0||(b.a&NDc)!=0?(j.isEmpty()||Vtc(a.i,Keb(d,Syb,$C(VC(FS,1),bAc,2,6,[c]))),s=uzb(a,b,g,q,false),t=vDb(e,s.isEmpty()?new ly(iAb(a.a)):s),t||Vtc(a.i,Keb(d,bzb,$C(VC(FS,1),bAc,2,6,[CDb(e,new Ikc).a]))),
Bxb(h,e.q),undefined):j.isEmpty()||Vtc(a.i,Keb(d,azb,$C(VC(FS,1),bAc,2,6,[c])));if(b.g){m=b.g.a;ne(m.j==(F7b(),Z4b));Fxb(h,zzb(a,m.b,g,q))}(b.a&2)!=0||zxb(h,(b.a&lFc)!=0);return Kxb(h)}function Nib(a){sib();var b,c,d;switch(a.j.f){case 92:return Nib(a.b);case 47:case 46:return Nib(a.b?a.b.f:null);case 62:case 61:return uib(Nib(a.b),Nib(a.b?a.b.f:null));case 60:return uib(Nib(a.b.d),Nib(a.b?a.b.f:null));case 13:{c=Nib(a.b?a.b.f:null);if(c==4)return 4;b=Nib(a.b);if(b==4)return 4;if(b==6||c==6)return 0;
if(!Tjb(b)&&!Tjb(c))return 3;return 0}case 54:{c=Nib(a.b?a.b.f:null);if(c==4)return 4;return 0}case 29:d=a.Lh();if(Vjc(d,hEc))return 2;if(Vjc(d,"NaN"))return 3;if(Vjc(d,JFc))return 3;return 0;case 48:case 49:case 50:case 51:case 52:case 53:case 55:case 56:case 59:case 57:case 58:case 20:case 1:case 2:case 3:case 10:case 11:case 12:case 14:case 15:case 17:case 16:case 18:case 63:case 64:case 21:case 22:case 30:return 3;case 35:case 34:case 4:case 5:case 36:case 37:case 6:case 8:case 7:case 9:case 40:case 41:case 19:case 24:return 5;
case 25:case 31:return 4;case 32:return 1;case 79:return 2;case 65:case 23:case 42:case 43:case 38:return 6;default:return 0}}function GLb(){GLb=qV;iLb=new HLb("ALL",0,"all",0,0,0);jLb=new HLb("COND",1,"cond",3,3,1);kLb=new HLb("EQ",2,"eq",2,2,3);mLb=new HLb("ISCTOR",3,"isCtor",1,1,3);nLb=new HLb("ISDEFINED",4,"isDefined",1,1,4);oLb=new HLb("ISRECORD",5,"isRecord",1,1,3);pLb=new HLb("ISTEMPLATIZED",6,"isTemplatized",1,1,3);qLb=new HLb("ISUNKNOWN",7,"isUnknown",1,1,3);lLb=new HLb(KHc,8,"instanceOf",
1,1,1);sLb=new HLb("MAPUNION",9,"mapunion",2,2,1);rLb=new HLb("MAPRECORD",10,"maprecord",2,2,1);tLb=new HLb("NONE",11,"none",0,0,0);uLb=new HLb("PRINTTYPE",12,"printType",2,2,1);vLb=new HLb("PROPTYPE",13,"propType",2,2,1);wLb=new HLb("RAWTYPEOF",14,"rawTypeOf",1,1,0);zLb=new HLb("SUB",15,"sub",2,2,3);yLb=new HLb("STREQ",16,"streq",2,2,2);xLb=new HLb("RECORD",17,"record",1,_zc,0);ALb=new HLb("TEMPLATETYPEOF",18,"templateTypeOf",2,2,0);BLb=new HLb(XGc,19,JCc,2,_zc,0);CLb=new HLb("TYPEEXPR",20,"typeExpr",
1,1,0);DLb=new HLb("TYPEOFVAR",21,"typeOfVar",1,1,1);ELb=new HLb("UNION",22,"union",2,_zc,0);FLb=new HLb(wGc,23,LHc,0,0,0)}function u$(a,b,c,d,e,f,g,h){var i,j,k;k=new Jkc;for(j=0;j<b.length;j++){i=b.charCodeAt(j);switch(i){case 0:k.a+="\\x00";break;case 11:g?(k.a+="\\v",k):(k.a+="\\x0B",k);break;case 8:k.a+="\\b";break;case 12:k.a+="\\f";break;case 10:k.a+="\\n";break;case 13:k.a+="\\r";break;case 9:k.a+="\\t";break;case 92:k.a+=f;break;case 34:k.a+=c;break;case 39:k.a+=d;break;case 96:k.a+=e;break;
case 8232:k.a+="\\u2028";break;case 8233:k.a+="\\u2029";break;case 61:a.j||h?(k.a+=String.fromCharCode(i),k):(k.a+="\\x3d",k);break;case 38:a.j||h?(k.a+=String.fromCharCode(i),k):(k.a+="\\x26",k);break;case 62:if(!a.j&&!h){k.a+="\\x3e";break}j>=2&&(b.charCodeAt(j-1)==45&&b.charCodeAt(j-2)==45||b.charCodeAt(j-1)==93&&b.charCodeAt(j-2)==93)?(k.a+="\\x3e",k):(k.a+=String.fromCharCode(i),k);break;case 60:if(!a.j&&!h){k.a+="\\x3c";break}bkc(b,true,j+1,"/script",0,7)?(k.a+="\\x3c",k):bkc(b,false,j+1,"!--",
0,3)?(k.a+="\\x3c",k):(k.a+=String.fromCharCode(i),k);break;default:i>31&&i<127?(k.a+=String.fromCharCode(i),k):TB(k,i)}}return k.a}function ntb(){ntb=qV;jtb=new y5("JSC_UNDEFINED_VARIABLE",(kY(),hY),new klc("variable {0} is undeclared"));mtb=new y5("JSC_VIOLATED_MODULE_DEPENDENCY",hY,new klc("module {0} cannot reference {2}, defined in module {1}, since {1} loads after {0}"));ftb=new y5("JSC_MISSING_MODULE_DEPENDENCY",jY,new klc("missing module dependency; module {0} should depend on module {1} because it references {2}"));
htb=new y5("JSC_STRICT_MODULE_DEPENDENCY",iY,new klc(TBc));gtb=new y5("JSC_NAME_REFERENCE_IN_EXTERNS",jY,new klc("accessing name {0} in externs has no effect. Perhaps you forgot to add a var keyword?"));itb=new y5("JSC_UNDEFINED_EXTERN_VAR_ERROR",jY,new klc("name {0} is not defined in the externs."));ltb=new y5("JSC_VAR_MULTIPLY_DECLARED_ERROR",hY,new klc("Variable {0} first declared in {1}"));ktb=new y5("JSC_VAR_ARGUMENTS_SHADOWED_ERROR",hY,new klc('Shadowing "arguments" is not allowed'));etb=new y5("JSC_LET_CONST_CLASS_MULTIPLY_DECLARED_ERROR",
hY,new klc("Duplicate let / const / class declaration in the same scope is not allowed."))}function WGb(a){bGb();switch(a.f){case 74:return F7b(),a5b;case 75:return F7b(),b5b;case 73:return F7b(),$4b;case 59:return F7b(),F5b;case 60:return F7b(),C6b;case 54:return F7b(),s6b;case 56:return F7b(),p6b;case 55:return F7b(),Y5b;case 57:return F7b(),S5b;case 70:return F7b(),r6b;case 71:return F7b(),a7b;case 72:return F7b(),y7b;case 63:return F7b(),E4b;case 64:return F7b(),k7b;case 65:return F7b(),x6b;case 94:return F7b(),
y5b;case 67:return F7b(),v6b;case 66:return F7b(),H5b;case 61:return F7b(),d7b;case 62:return F7b(),e7b;case 16:return F7b(),e6b;case 17:return F7b(),h6b;case 53:return F7b(),n5b;case 82:return F7b(),L4b;case 92:return F7b(),O4b;case 93:return F7b(),P4b;case 91:return F7b(),N4b;case 88:return F7b(),S4b;case 89:return F7b(),V4b;case 90:return F7b(),X4b;case 83:return F7b(),M4b;case 84:return F7b(),W4b;case 85:return F7b(),U4b;case 86:return F7b(),R4b;case 95:return F7b(),Q4b;case 87:return F7b(),T4b;
case 79:return F7b(),O6b;case 78:return F7b(),F4b;default:throw RU(new Xic(!a?iAc:a.a==null?(YNb(),bo(zNb,a)).b:a.a));}}function vPb(a){var b,c,d,e;d=qRb(a.j,0).b.b;tOb(a,(hUb(),OSb));tOb(a,nTb);if(WQb(a)){e=CQb(a,0);if(GQb(a,VSb)){e.b.size()>1&&ZQb(a,"for-in statement may not have more than one variable declaration",$C(VC(AS,1),qAc,1,5,[]));b=e.b.getAtIndex(0);!!b.b&&(a.b.a?ZQb(a,"for-in statement may not have initializer",$C(VC(AS,1),qAc,1,5,[])):xKb(a.c,b.o.b,"for-in statement should not have initializer",
$C(VC(AS,1),qAc,1,5,[])));return tPb(a,d,e)}else if(FQb(a,0,RSb)&&Vjc(qRb(a.j,0).a,"of")){e.b.size()>1&&ZQb(a,"for-of statement may not have more than one variable declaration",$C(VC(AS,1),qAc,1,5,[]));b=e.b.getAtIndex(0);!!b.b&&ZQb(a,"for-of statement may not have initializer",$C(VC(AS,1),qAc,1,5,[]));return uPb(a,d,e)}else{rOb(a,e);return wPb(a,d,e)}}if(GQb(a,GTb))return wPb(a,d,null);c=HOb(a,0);if(GQb(a,VSb)||GQb(a,GSb)||FQb(a,0,RSb)&&Vjc(qRb(a.j,0).a,"of")){c=$Qb(a,c);oUb(c)||ZQb(a,eIc,$C(VC(AS,
1),qAc,1,5,[]))}if(GQb(a,VSb)||FQb(a,0,RSb)&&Vjc(qRb(a.j,0).a,"of"))if(c.p!=(SXb(),kWb)&&c.p!=sWb)return GQb(a,VSb)?tPb(a,d,c):uPb(a,d,c);return wPb(a,d,c)}function akb(a){sib();switch(a.f){case 46:return 0;case 48:case 49:case 50:case 51:case 52:case 53:case 54:case 55:case 56:case 59:case 57:case 58:case 47:return 1;case 102:return 2;case 60:return 3;case 61:return 4;case 62:return 5;case 1:return 6;case 2:return 7;case 3:return 8;case 4:case 5:case 36:case 37:return 9;case 6:case 8:case 7:case 9:case 41:case 40:return 10;
case 10:case 11:case 12:return 11;case 14:case 13:return 12;case 15:case 17:case 16:return 13;case 18:return 14;case 103:case 23:case 24:case 25:case 79:case 19:case 20:case 21:case 22:return 15;case 63:case 64:return 16;case 28:case 27:case 26:case 42:case 93:case 118:case 95:case 80:case 34:case 65:case 96:case 148:case 29:case 32:case 30:case 43:case 94:case 38:case 112:case 113:case 31:case 91:case 156:case 157:case 158:case 33:case 99:case 35:case 115:case 116:case 125:return 17;case 123:return 18;
case 134:case 124:return 19;case 120:case 122:case 121:case 126:case 132:case 127:case 130:case 133:case 135:return 20;case 92:return 21;default:throw RU(new Xic("Unknown precedence for "+a));}}function Wab(a,b,c){var d,e,f,g,h,i,j,k,l;g=c.e;e=false;i=(ubb(),sbb);switch(c.j.f){case 86:case 87:case 91:case 98:f=null;!!g&&g.j==(F7b(),L6b)?f=Yab(a,c):!!g&&g.j==(F7b(),l5b)&&(f=(j=c.e,ne(j.j==(F7b(),l5b)),k=(sib(),l=Pib(j.e),!l?null:v2b(l)),k==null?null:k+"."+c.Lh()));if(f==null)return;e=true;switch(c.j.f){case 98:case 91:i=
$ab(a,c.b);break;case 86:i=qbb;break;case 87:i=tbb;break;default:throw RU(new Xic("unexpected:"+c));}break;case 29:if(g)switch(g.j.f){case 76:case 100:case 88:e=true;h=c.b;i=!h?sbb:$ab(a,h);break;case 47:if(g.b==c){e=true;i=$ab(a,c.d)}break;case 26:return;case 65:d=g.e;if(!d||(sib(),g.j==(F7b(),Q5b)&&!Kjb(g.e)))return;e=true;i=pbb;break;case 78:case 63:case 64:e=true;i=sbb;break;case 96:e=true;i=obb;break;default:if(bjb(g)&&g.b==c){e=true;i=sbb}}f=c.Lh();break;case 26:if(g)switch(g.j.f){case 47:if(g.b==
c){e=true;i=$ab(a,c.d)}break;case 63:case 64:e=true;i=sbb;break;case 26:return;default:if(bjb(g)&&g.b==c){e=true;i=sbb}}f=v2b(c);if(f==null)return;break;default:return}if(!Uab(a.a,f,b))return;b=Xob(b);e?!b.c?bbb(a,c,g,f,i):cbb(a,c,g,f):_ab(a,c,g,f)}function X0(a){var b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q;b=a.H._!=(Q2(),N2);n2b(a.n);n2b(a.u);if(a.H.nd!=(T3(),Q3)){a.U=new Glb(a.n,a.u,a.H.nd);k0(a,a.U.d)}q=(a.H.nd!=Q3&&!!a.U&&Elb(a.U,aDc,true),new Vqb);try{for(e=new Poc(a.j);e.a<e.c.a.length;){c=Noc(e);k=
e2(c,a);if(a.f.c>0)return null;d2b(a.n,k)}if(G2(a.H)){a.C=new eub(a,a.H.bc,a.s);G2(a.H)&&$0(a,a.s,false);h=new Qtc;for(f=a.s.Md();f.Ed();){c=f.Fd();if(o2(c.c?c.c.Jg():(Lm(),Lm(),Km),c.d).isEmpty()){j=ggb(c.a.Lg().c);tlc(h,j.a,c)}}i=new Qtc;for(g=a.s.Md();g.Ed();){c=g.Fd();for(m=o2(c.c?c.c.Kg():(Lm(),Lm(),Km),c.e).Md();m.Ed();){l=m.Fd();(l==null?!!ouc(h.d,null):Duc(h.e,l))&&!(l==null?!!ouc(i.d,null):Duc(i.e,l))&&tlc(i,l,l==null?ih(ouc(h.d,null)):Euc(h.e,l))}}i.d.c+i.e.c==0||$0(a,new uoc(new xmc(i)),
true)}else a.C=(cub(),$tb);W0(a);if(a.f.c>0)return null;for(d=a.s.Md();d.Ed();){c=d.Fd();k=e2(c,a);if(!k)continue;if(b){Pob(new Tob(a),a.n,a.u);if(a.f.c>0)return null}if(a.H.kb){o=new Dpb(c.f.a,a.H._!=N2);Phb();p=new fib(a,o,new D8(a));aib(p,k)}d2b(a.u,k)}if(a.f.c>0)return null;return a.g}finally{m0(a);n=cV(XU(kzc()),q.a);a.H.nd!=Q3&&!!a.U&&Flb(a.U,aDc,n)}}function Y8(a,b,c){var d,e,f,g,h,i,j,k,l,m,n,o,p;_d(b.j==(F7b(),f5b)||b.j==I4b||b.j==E6b);k=new soc;h=null;e=b.j==I4b?null:Q2b(b);g=Q2b(b);while(g){if(g.j==
f7b){if(h){k.a[k.a.length]=h;h=null}hoc(k,h9(a.a,Q2b(g)))}else{!h&&(h=BZb($C(VC(jR,1),ZBc,7,0,[])));d2b(h,g)}g=Q2b(b)}!!h&&(k.a[k.a.length]=h,true);n=null;i=b.j==E6b?BZb($C(VC(jR,1),ZBc,7,0,[new q3b(H6b)])):BZb($C(VC(jR,1),ZBc,7,0,[]));l=GZb(SZb(i,new q4b(h7b,"concat")),roc(k,XC(jR,ZBc,7,0,0,1)));if(b.j==I4b)n=l;else if(b.j==f5b){sib();if(xib(e,false,null)&&e.j==W5b){p=b;while(!Kjb(p.e))p=p.e;j=b$b("$jscomp$spread$args"+(""+(o=a.a,new S1(o)).a.W++));m=MZb(k2b(j,false),z7b);p3b(m,p);c2b(p.e,m,p);e2b(e,
CZb(k2b(j,false),Q2b(e)));n=GZb(SZb(e,new q4b(h7b,ODc)),$C(VC(jR,1),ZBc,7,0,[j,l]))}else{f=e.j==W5b?k2b(e.b,false):new q3b(H6b);n=GZb(SZb(e,new q4b(h7b,ODc)),$C(VC(jR,1),ZBc,7,0,[f,l]))}}else{F2(a.a.H)==(C3(),q3)&&c1(a.a,Keb(b,L8,$C(VC(FS,1),bAc,2,6,['"..." passed to a constructor (consider using --language_out=ES5)'])));d=Yjb(a.a,"Function.prototype.bind.apply");n=c$b(GZb(d,$C(VC(jR,1),ZBc,7,0,[e,l])),$C(VC(jR,1),ZBc,7,0,[]))}p3b(n,b);S2b(c,b,n);d1(a.a)}function EHb(a,b){var c,d,e,f,g,h,i,j,k,l,
m,n,o,p,q,r,s,t,u;g=b.j==(DVb(),AVb);i=b.j==CVb;e=b.j==zVb;f=b.e;h=b.f;j=b.c.p==(SXb(),HWb);h&&jHb(a,b,(TMb(),tMb));i&&jHb(a,b,(TMb(),BMb));e&&jHb(a,b,(TMb(),eMb));f&&jHb(a,b,(TMb(),fMb));l=b.k;if(l)m=(s=fGb(a.a,l.b),lHb(a,l),t=sGb(a.a,(F7b(),y6b),l.a),!!s&&(u=R2b(t,t.g,29),u!=t.g&&(t.g=u),!!s&&(t.g=new d4b(29,s,t.g)),t),DGb(t,l.b.b,l.b.a),t);else{if(g||i){a.a.d.hh("unnamed function statement",a.a.r,(bGb(),b.o.b.b+1),b.o.b.a);m=sGb(a.a,(F7b(),y6b),"__missing_name__")}else m=sGb(a.a,(F7b(),y6b),"");
z3b(m.i)==-1&&DGb(m,b.o.b,b.o.a)}n=nGb(a.a,(F7b(),Q5b));i&&m.Qh("");d2b(n,m);fHb(a,n.b,b.d);d2b(n,FGb(a.a,b.b));gHb(a,n,b.n);d=FGb(a.a,b.c);if(!e&&!j&&!(d.j==c5b||d.j==_6b)){ne(a.a.a.b==1);d=(c=new q3b(c5b),c)}nHb(d);d2b(n,d);p=R2b(n,n.g,59);p!=n.g&&(n.g=p);(h?1:0)!=0&&(n.g=new V3b(59,h?1:0,n.g));q=R2b(n,n.g,60);q!=n.g&&(n.g=q);(e?1:0)!=0&&(n.g=new V3b(60,e?1:0,n.g));r=R2b(n,n.g,61);r!=n.g&&(n.g=r);(f?1:0)!=0&&(n.g=new V3b(61,f?1:0,n.g));M2b(n,80,b.g);if(b.j==CVb){z3b(n.i)==-1&&DGb(n,b.o.b,b.o.a);
k=sGb(a.a,t6b,l.a);d2b(k,n);d3b(k,b.i);eHb(k,b.a);W2b(n,u2b(n,78));o=k}else o=n;return o}function yRb(a,b){switch(kRb(a,a.d)?Qjc(a.e.a,a.d):0){case 98:case 66:lRb(a);aSb(kRb(a,a.d)?Qjc(a.e.a,a.d):0)>=0||tRb(a,"Binary Integer Literal must contain at least one digit",$C(VC(AS,1),qAc,1,5,[]));CRb(a);return new mOb((hUb(),kTb),kkc(a.e.a,b,a.d),hOb(a.e.b,b,a.d));case 111:case 79:lRb(a);bSb(kRb(a,a.d)?Qjc(a.e.a,a.d):0)>=0||tRb(a,"Octal Integer Literal must contain at least one digit",$C(VC(AS,1),qAc,1,
5,[]));JRb(a);((kRb(a,a.d)?Qjc(a.e.a,a.d):0)==56||(kRb(a,a.d)?Qjc(a.e.a,a.d):0)==57)&&tRb(a,cHc,$C(VC(AS,1),qAc,1,5,[]));return new mOb((hUb(),kTb),kkc(a.e.a,b,a.d),hOb(a.e.b,b,a.d));case 120:case 88:lRb(a);cic(kRb(a,a.d)?Qjc(a.e.a,a.d):0,16)>=0||tRb(a,"Hex Integer Literal must contain at least one digit",$C(VC(AS,1),qAc,1,5,[]));HRb(a);return new mOb((hUb(),kTb),kkc(a.e.a,b,a.d),hOb(a.e.b,b,a.d));case 101:case 69:return vRb(a,b);case 46:return wRb(a,b);case 48:case 49:case 50:case 51:case 52:case 53:case 54:case 55:case 56:case 57:FRb(a);
if((kRb(a,a.d)?Qjc(a.e.a,a.d):0)==46){lRb(a);FRb(a)}return new mOb((hUb(),kTb),kkc(a.e.a,b,a.d),hOb(a.e.b,b,a.d));default:return new mOb((hUb(),kTb),kkc(a.e.a,b,a.d),hOb(a.e.b,b,a.d))}}function H7b(a){F7b();switch(a.f){case 137:case 42:case 143:case 82:case 81:case 74:case 28:case 147:case 88:case 75:case 89:case 142:case 140:case 144:case 72:case 66:case 145:case 146:case 23:case 43:case 45:case 138:case 141:case 38:case 0:case 85:case 139:case 91:case 67:case 116:case 44:case 76:case 102:return-1;
case 80:case 34:case 107:case 90:case 156:case 29:case 32:case 30:case 31:case 33:case 35:return 0;case 20:case 158:case 92:case 64:case 69:case 24:case 84:case 86:case 63:case 157:case 98:case 130:case 22:case 19:case 21:case 112:case 87:case 113:case 117:case 39:case 25:case 154:case 79:return 1;case 13:case 62:case 47:case 54:case 50:case 48:case 49:case 57:case 51:case 58:case 56:case 59:case 52:case 55:case 53:case 3:case 1:case 2:case 68:case 78:case 46:case 114:case 118:case 16:case 71:case 151:case 4:case 18:case 9:case 27:case 26:case 8:case 40:case 41:case 83:case 7:case 10:case 6:case 17:case 15:case 159:case 5:case 61:case 11:case 36:case 37:case 14:case 115:case 12:case 70:case 77:return 2;
case 96:case 101:case 65:case 60:case 104:case 148:return 3;default:throw RU(new Xic("No arity defined for "+a));}}function xib(a,b,c){sib();var d,e,f,g,h,i;switch(a.j.f){case 39:case 102:return true;case 43:if(b)return true;for(h=a.b;h;h=h.d)for(f=h.b;f;f=f.d)if(xib(f,b,c))return true;return false;case 42:case 38:if(b)return true;break;case 76:case 29:if(a.b)return true;break;case 65:return b||!(a.j==(F7b(),Q5b)&&!Kjb(a.e));case 96:return b||a.j==(F7b(),k5b)&&jjb(a.e)||xib(a.b.d,b,c)||xib(a.b?a.b.f:
null,b,c);case 97:for(i=a.b;i;i=i.d)if(i.j==(F7b(),o5b)&&xib(i.b,b,c))return true;return false;case 23:if(b)return true;if(!yib(a))break;return true;case 28:if(!Dib(a,c))break;return true;case 115:return Dib(a,c);case 92:case 62:case 82:case 81:case 84:case 60:case 66:case 40:case 45:case 30:case 61:case 33:case 35:case 34:case 32:case 31:case 91:case 67:case 117:case 44:case 80:case 116:break;default:if(Ijb(a.j))break;if(bjb(a)){d=a.b;if(d.j==(F7b(),y6b))return true;if(xib(a.b,b,c)||xib(a.b?a.b.f:
null,b,c))return true;if(d.j==W5b||d.j==V5b){g=d.b;if(Cib(g,(ye(),df(),_e)))return false;while(g.j==W5b||g.j==V5b)g=g.b;return!xjb(g,true)}else return!xjb(d,true)}return true}for(e=a.b;e;e=e.d)if(xib(e,b,c))return true;return false}function Mmb(a,b,c,d){var e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v;if(s2b(c,63)!=0){e=c.b;p=null;(e.j==(F7b(),Q5b)||e.j==k5b)&&(p=(sib(),r=Pib(e),!r?null:v2b(r)));if(p!=null){f=k2b(e,false);Y2b(f,u2b(e,29));S2b(d,c,f);Vuc(a.d,qCc,new Ymb(p,e))}else{v=LZb((se(Yjc(QFc,qkc(46))==
-1,YBc,QFc),new q4b(y6b,QFc)),Q2b(c),z7b);Y2b(v,u2b(e,29));t=R2b(e,e.g,29);t!=e.g&&(e.g=t);p3b(v,c);S2b(d,c,v);Vuc(a.d,qCc,new Ymb(QFc,e))}}else if(s2b(c,64)!=0)c1(a.c,Keb(c,(Q8(),M8),$C(VC(FS,1),bAc,2,6,["Wildcard export"])));else if(p2b(c)==2){n=c.b?c.b.f:null;l=new s3b((F7b(),a6b),n.Jh(false));m3b(l,c);c2b(d,l,c);Lmb(a,b,l,d);o=yub(xub(g2((!b.d&&(b.d=z0(b.c,b.f)),b.d)),n.Lh()));for(i=i2b(c.b).Md();i.Ed();){h=i.Fd();q=h.b.Lh();j=(h.b?h.b.f:null).Lh();Vuc(a.d,j,new Ymb(o+"."+q,h))}O2b(d,c)}else{if(c.b.j==
(F7b(),K5b)){for(i=i2b(c.b).Md();i.Ed();){h=i.Fd();s=h.b;Vuc(a.d,p2b(h)==2?(h.b?h.b.f:null).Lh():s.Lh(),new Ymb(s.Lh(),h))}O2b(d,c)}else{g=c.b;k=g.b;for(m=k;m;m=m.d){if(m.j!=y6b)break;if(g.j==k5b&&m!=k)break;p=m.Lh();u=$ob(Shb(b),p);(!u||!u.d.c)&&Vuc(a.d,p,new Ymb(p,m));g.j==k5b&&Vtc(a.b,p);!!u2b(g,29)&&(u2b(g,29).a&KEc)==hBc&&Vtc(a.k,p)}S2b(d,c,m2b(g))}d1(a.c)}}function Dib(a,b){var c,d,e,f;oe(a.j==(F7b(),f5b)||a.j==n7b,a);if((s2b(a,42)&15)==15)return false;if((s2b(a,42)&15&11)==11&&tib(a))return false;
c=a.b;if(c.j==y6b){e=c.Lh();if(iib.contains(e))return false}else if(c.j==W5b){if(!!a.b&&!a.b.d&&oib.contains((c.b?c.b.f:null).Lh()))return false;if((s2b(a,42)&15&13)==13&&Cib(c.b,(ye(),df(),_e)))return false;if(c.b.j==y6b&&F2b(c)&&Vjc(c.b.Lh(),"Math"))switch((c.b?c.b.f:null).Lh()){case "abs":case "acos":case "acosh":case "asin":case "asinh":case "atan":case "atanh":case "atan2":case "cbrt":case "ceil":case "cos":case "cosh":case "exp":case "expm1":case "floor":case "hypot":case "log":case "log10":case "log1p":case "log2":case "max":case "min":case "pow":case "round":case "sign":case "sin":case "sinh":case "sqrt":case "tan":case "tanh":case "trunc":return false;
case "random":return!(!!a.b&&!a.b.d)}if(!!b&&!b.Kf())if(c.b.j==X6b&&pib.contains((c.b?c.b.f:null).Lh()))return false;else if(Mjb(c.b,b)){d=(c.b?c.b.f:null).Lh();f=c.d;if(f)if(f.j==h7b){if(qib.contains(d))return false}else if(f.j==X6b)if(Vjc("replace",d))return f.d.j!=h7b;else if(qib.contains(d))return false}}return true}function Omb(a,b,c){var d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s;if(!a.i)return;CZ(b,c);ae(a.j==1,"ProcessEs6Modules supports only one invocation per CompilerInput / script node");gib(a.c,
c,new Smb(a));o=yub(g2((!b.d&&(b.d=z0(b.c,b.f)),b.d)));for(g=new wvc(new nvc(a.d));g.b!=g.c.a.b;){f=uvc(g);h=f.d;s=f.e.a;p=f.e.b;k=SZb((se(Yjc(o,qkc(46))==-1,YBc,o),new q4b((F7b(),y6b),o)),new q4b(h7b,h));if(Wtc(a.k,h)){e=new V1b(true);r=new Z1b(new q4b(h7b,h),(j=u2b(c,51),!j?null:j.Ig()));O1b(e,r);m=F0b(e,false);q=R2b(k,k.g,29);q!=k.g&&(k.g=q);!!m&&(k.g=new d4b(29,m,k.g));i=p3b((oe(ZZb(k),k),new s3b(L5b,k)),p);d2b(c,i)}else{d=CZb(k,Yjb(a.c,s));i=p3b((oe(ZZb(d),d),new s3b(L5b,d)),p);if(Wtc(a.b,h)){e=
new V1b(true);Q0b(e);m=F0b(e,false);q=R2b(d,d.g,29);q!=d.g&&(d.g=q);!!m&&(d.g=new d4b(29,m,d.g))}d2b(c,i)}}gib(a.c,c,new _mb(a,o));if(xlc(a.d.c)!=0||a.e){l=NZb(GZb(Yjb(a.c,cCc),$C(VC(jR,1),ZBc,7,0,[new q4b((F7b(),h7b),o)])));e2b(c,p3b(l,c));b2((!b.d&&(b.d=z0(b.c,b.f)),b.d),o)}n=!u2b(c,29)?new V1b(false):W1b(u2b(c,29));n.d&&((n.a.a&4096)!=0||(n.a.a&YCc)!=0||(n.a.a&ZCc)!=0)||b1b(n,"");H1b(n,(km(),zo($C(VC(AS,1),qAc,1,5,[JDc,KDc]))));Y2b(c,F0b(n,false));Suc(a.d);d1(a.c)}function fnb(){fnb=qV;var a,b,
c,d;new Hc(new Hc(new cc(97,122),new cc(65,90)),new Ub);enb=new y5("JSC_UNKNOWN_TWEAK_WARNING",(kY(),jY),new klc("no tweak registered with ID {0}"));new y5("JSC_TWEAK_MULTIPLY_REGISTERED_ERROR",hY,new klc("Tweak {0} has already been registered."));new y5("JSC_NON_LITERAL_TWEAK_ID_ERROR",hY,new klc("tweak ID must be a string literal"));bnb=new y5("JSC_INVALID_TWEAK_DEFAULT_VALUE_WARNING",jY,new klc("tweak {0} registered with {1} must have a default value that is a literal of type {2}"));new y5("JSC_NON_GLOBAL_TWEAK_INIT_ERROR",
hY,new klc("tweak declaration {0} must occur in the global scope"));new y5("JSC_TWEAK_OVERRIDE_AFTER_REGISTERED_ERROR",hY,new klc("Cannot override the default value of tweak {0} after it has been registered"));dnb=new y5("JSC_TWEAK_WRONG_GETTER_TYPE_WARNING",jY,new klc("tweak getter function {0} used for tweak registered using {1}"));new y5("JSC_INVALID_TWEAK_ID_ERROR",hY,new klc("tweak ID contains illegal characters. Only letters, numbers, _ and . are allowed"));cnb=new Qtc;for(b=(onb(),$C(VC(_L,
1),vAc,101,0,[lnb,mnb,nnb,knb,hnb,gnb,inb,jnb])),c=0,d=b.length;c<d;++c){a=b[c];tlc(cnb,a.a,a)}}function Esb(){Esb=qV;Asb=new y5("JSC_INVALID_CAST",(kY(),jY),new klc("invalid cast - must be a subtype or supertype\nfrom: {0}\nto  : {1}"));new y5("JSC_UNNECESSARY_CAST",iY,new klc("unnecessary cast\nfrom: {0}\nto  : {1}"));Csb=new y5("JSC_TYPE_MISMATCH",jY,new klc(zDc));Bsb=new y5("JSC_MISSING_EXTENDS_TAG",jY,new klc("Missing @extends tag on type {0}"));vsb=new y5("JSC_DUP_VAR_DECLARATION",jY,new klc("variable {0} redefined, original definition at {1}:{2}"));
wsb=new y5("JSC_DUP_VAR_DECLARATION_TYPE_MISMATCH",jY,new klc("variable {0} redefined with type {1}, original definition at {2}:{3} with type {4}"));zsb=new y5("JSC_INTERFACE_METHOD_NOT_IMPLEMENTED",jY,new klc(cFc));xsb=new y5("JSC_HIDDEN_INTERFACE_PROPERTY_MISMATCH",jY,new klc("mismatch of the {0} property type and the type of the property it overrides from interface {1}\noriginal: {2}\noverride: {3}"));tsb=new y5("JSC_ABSTRACT_METHOD_NOT_IMPLEMENTED",jY,new klc("property {0} on abstract class {1} is not implemented by type {2}"));
Dsb=new y5("JSC_UNKNOWN_TYPEOF_VALUE",jY,new klc(HFc));ysb=new y5("JSC_ILLEGAL_PROPERTY_ACCESS",jY,new klc(GFc));usb=new U4($C(VC(FJ,1),qAc,5,0,[tsb,Asb,Csb,Bsb,vsb,wsb,zsb,xsb,Dsb,ysb]))}function uGb(a,b){var c,d,e,f,g,h;h=b.a;f=b.b;e=h.length;ne(e>0);ne(h.charCodeAt(0)!=45&&h.charCodeAt(0)!=43);if(h.charCodeAt(0)==46)return Hzc(Pic("0"+h));else if(h.charCodeAt(0)==48&&e>1)switch(h.charCodeAt(1)){case 46:case 101:case 69:return Hzc(Pic(h));case 98:case 66:{a.e=YLb(a.e,(TMb(),gMb).a);lGb(a,gMb)||
a.d.ih("Binary integer literals are not supported in this language mode.",a.r,b.b.b.b+1,b.b.b.a);g=0;c=1;while(++c<e)g=g*2+PGb(h.charCodeAt(c));return g}case 111:case 79:{a.e=YLb(a.e,(TMb(),GMb).a);lGb(a,GMb)||a.d.ih("Octal integer literals are not supported in this language mode.",a.r,b.b.b.b+1,b.b.b.a);g=0;c=1;while(++c<e)g=g*8+UGb(h.charCodeAt(c));return g}case 120:case 88:{g=0;c=1;while(++c<e)g=g*16+RGb(h.charCodeAt(c));return g}case 48:case 49:case 50:case 51:case 52:case 53:case 54:case 55:if(a.a.e==
0){a.d.ih(bHc,a.r,f.b.b+1,f.b.a);return Hzc(Pic(h))}else{g=0;c=0;while(++c<e){d=h.charCodeAt(c);if(d>=48&&d<=55)g=g*8+UGb(d);else{a.d.hh(cHc,a.r,f.b.b+1,f.b.a);return 0}}a.d.ih(bHc,a.r,f.b.b+1,f.b.a);return g}case 56:case 57:a.d.hh(cHc,a.r,f.b.b+1,f.b.a);return 0;default:throw RU(new Xic("Unexpected character in number literal: "+LD(h.charCodeAt(1))));}else return Hzc(Pic(h))}function sZb(a,b){var c,d,e,f,g,h,i,j,k,l,m;c=false;e=false;f=true;g=false;i=false;j=false;l=false;h=true;k=true;d=true;switch(a.b){case 99:case 67:case 116:case 84:h=
false;break;case 103:case 71:c=e=g=j=l=true;break;case 102:c=e=g=i=j=true;l=true;break;case 101:case 69:c=g=i=j=l=true;break;case 97:case 65:c=i=j=l=true;break;case 100:c=e=g=j=l=true;h=false;break;case 111:case 120:case 88:i=l=true;b==null&&(c=g=j=true);h=false;break;case 110:f=false;d=h=k=false;break;case 37:d=false;h=false;break;case 115:case 83:case 98:case 66:case 104:case 72:break;default:throw RU(new bC("unknownFormatConversionException"));}m=null;!c&&a.d?m="+":!e&&a.e?m=",":!f&&a.f?m="-":
!g&&a.g?m="(":!i&&a.i?m="#":!j&&a.j?m=" ":!l&&a.k&&(m="0");if(m!=null)if(a.b==110)throw RU(new bC("IllegalFormatFlagsException:"+m));else throw RU(new bC("FormatFlagsConversionMismatchException:"+m+","+LD(a.b)));if((a.f||a.k)&&a.p==-1)throw RU(new QYb("-"+LD(a.b)));if(!d&&a.a!=-1)throw RU(new MYb(a.o?a.o.a:""));if(!h&&a.n!=-1)throw RU(new NYb(a.n));if(!k&&a.p!=-1)throw RU(new OYb(a.p));if(a.d&&a.j)throw RU(new MYb("the '+' and ' ' flags are incompatible"));if(a.f&&a.k)throw RU(new MYb("the '-' and '0' flags are incompatible"));
}function dKb(a){var b,c,d,e;a.p=0;for(;;){for(;;){a.a=-1;b=aKb(a);if(b==-1)return YJb(),JJb;else if(b==10)return YJb(),KJb;else if(!(b<=127?b==32||b==9||b==12||b==11:b==160))break}switch(b){case 64:do{b=aKb(a);if(b<=90?65<=b:97<=b&&b<=122)_Jb(a,b);else{a.q[a.r++]=b;--a.b;a.n=(e=vkc(a.o,0,a.p),Bzc(e),e);a.p=0;return YJb(),DJb}}while(true);case 42:return fKb(a)?(YJb(),IJb):(YJb(),WJb);case 44:return YJb(),GJb;case 62:return YJb(),SJb;case 40:return YJb(),OJb;case 41:return YJb(),UJb;case 123:return YJb(),
NJb;case 125:return YJb(),TJb;case 91:return YJb(),PJb;case 93:return YJb(),VJb;case 63:return YJb(),RJb;case 33:return YJb(),EJb;case 58:return YJb(),FJb;case 61:return YJb(),LJb;case 124:return YJb(),QJb;case 60:return YJb(),MJb;case 46:b=aKb(a);if(b==60)return YJb(),MJb;else{if(b==46){b=aKb(a);if(b==46)return YJb(),HJb;else _Jb(a,46)}a.q[a.r++]=b;b=46}default:{c=b;_Jb(a,b);d=aKb(a);if(kKb(d)){do{c=d;d=aKb(a);if(c==46&&d==60){a.q[a.r++]=d;--a.b;a.q[a.r++]=c;--a.b;a.n=(e=vkc(a.o,0,a.p),Bzc(e),e);
a.p=0;return YJb(),XJb}else if(kKb(d))_Jb(a,c);else{a.q[a.r++]=d;--a.b;_Jb(a,c);a.n=(e=vkc(a.o,0,a.p),Bzc(e),e);a.p=0;return YJb(),XJb}}while(true)}else{a.q[a.r++]=d;--a.b;a.n=(e=vkc(a.o,0,a.p),Bzc(e),e);a.p=0;return YJb(),XJb}}}}}function Cob(){Cob=qV;xob=new y5("JSC_PARSE_ERROR",(kY(),hY),new klc(XFc));Bob=new y5("JSC_TYPE_PARSE_ERROR",jY,new klc(zDc));uob=new y5("JSC_JSDOC_MISSING_BRACES_WARNING",iY,new klc(zDc));vob=new y5("JSC_JSDOC_MISSING_TYPE_WARNING",iY,new klc(zDc));zob=new y5("JSC_TOO_MANY_TEMPLATE_PARAMS",
iY,new klc(zDc));Aob=new y5("JSC_TRAILING_COMMA",hY,new klc("Parse error. IE8 (and below) will parse trailing commas in array and object literals incorrectly. If you are targeting newer versions of JS, set the appropriate language_in option."));nob=new y5("JSC_DUPLICATE_PARAM",hY,new klc(XFc));sob=new y5("JSC_INVALID_PARAM",jY,new klc(XFc));mob=new y5("JSC_BAD_JSDOC_ANNOTATION",jY,new klc(XFc));tob=new y5("JSC_JSDOC_IN_BLOCK_COMMENT",jY,new klc(XFc));qob=new y5("JSC_INVALID_ES3_PROP_NAME",jY,new klc(YFc));
yob=new y5("PARSE_TREE_TOO_DEEP",hY,new klc("Parse tree too deep."));rob=new y5("INVALID_OCTAL_LITERAL",jY,new klc("This style of octal literal is not supported in strict mode."));oob=new y5("ES6_FEATURE",hY,new klc("{0}. Use --language_in=ECMASCRIPT6 or ECMASCRIPT6_STRICT or higher to enable ES6 features."));pob=new y5("ES6_TYPED",hY,new klc("{0}. Use --language_in=ECMASCRIPT6_TYPED to enable ES6 typed features."));wob=new y5("MISPLACED_TYPE_SYNTAX",hY,new klc(ZFc))}function uab(){uab=qV;jab=new y5("JSC_EXTENDS_WITHOUT_TYPEDEF",
(kY(),jY),new klc("@extends used without @constructor or @interface for {0}"));iab=new y5("JSC_EXTENDS_NON_OBJECT",jY,new klc("{0} @extends non-object type {1}"));nab=new y5("JSC_RESOLVED_TAG_EMPTY",jY,new klc("Could not resolve type in {0} tag of {1}"));kab=new y5("JSC_IMPLEMENTS_WITHOUT_CONSTRUCTOR",jY,new klc(YEc));hab=new y5("JSC_CONSTRUCTOR_REQUIRED",jY,new klc("{0} used without @constructor for {1}"));tab=new y5("JSC_VAR_ARGS_MUST_BE_LAST",jY,new klc("variable length argument must be last"));
mab=new y5("JSC_OPTIONAL_ARG_AT_END",jY,new klc("optional arguments must be at the end"));lab=new y5("JSC_INEXISTENT_PARAM",jY,new klc(ZEc));sab=new y5("JSC_TYPE_REDEFINITION",jY,new klc("attempted re-definition of type {0}\nfound   : {1}\nexpected: {2}"));pab=new y5("JSC_TEMPLATE_TYPE_DUPLICATED",jY,new klc("Only one parameter type must be the template type"));qab=new y5("JSC_TEMPLATE_TYPE_EXPECTED",jY,new klc("The template type must be a parameter type"));rab=new y5("JSC_THIS_TYPE_NON_OBJECT",jY,
new klc("@this type of a function must be an object\nActual type: {0}"));oab=new y5("JSC_SAME_INTERFACE_MULTIPLE_IMPLEMENTS",jY,new klc("Cannot @implement the same interface more than once\nRepeated interface: {0}"));gab=new U4($C(VC(FJ,1),qAc,5,0,[jab,iab,nab,kab,hab,tab,mab,lab,sab,pab,qab,rab,oab]))}function zlb(b){var c,d,e,f,g,h;xlb(b);f=new soc;joc(f,An(b.I));Gpc();qoc(f,new Hlb);Rc(new Vc(fBc),"\nTOTAL:","Start time(ms): "+gV(b.H),$C(VC(AS,1),qAc,1,5,["End time(ms): "+gV(b.i),"Wall time(ms): "+
gV(cV(b.i,b.H)),"Passes runtime(ms): "+b.F,"Max mem usage (measured after each pass)(MB): "+b.C,"#Runs: "+b.G,"#Changing runs: "+b.c,"#Loopable runs: "+b.B,"#Changing loopable runs: "+b.A,"Estimated AST reduction(#nodes): "+b.a,"Estimated Reduction(bytes): "+b.g,"Estimated GzReduction(bytes): "+b.p,"Estimated AST size(#nodes): "+b.b,"Estimated Size(bytes): "+b.e,"Estimated GzSize(bytes): "+b.o]));Rc(new Vc(fBc),"\n\nInputs:","JS lines:   "+b.t,$C(VC(AS,1),qAc,1,5,["JS sources: "+b.v,"Extern lines:   "+
b.j,"Extern sources: "+b.k+"\n\n"]));for(d=new Poc(f);d.a<d.c.a.length;){c=Noc(d);e=c.xe();g=c.ye();gZb("%s,%d,%d,%d,%d,%d,%d,%d\n",$C(VC(AS,1),qAc,1,5,[e,wjc(g.n),kjc(g.a),kjc(g.k),kjc(g.d),kjc(g.b),kjc(g.e),kjc(g.f)]))}Rc(new Vc(fBc),"Log:","pass,runtime,allocMem,codeChanged,astReduction,reduction,gzReduction,astSize,size,gzSize\n",$C(VC(AS,1),qAc,1,5,[]));for(h=new Poc(b.w);h.a<h.c.a.length;){g=Noc(h);gZb("%s,%d,%d,%b,%d,%d,%d,%d,%d,%d\n",$C(VC(AS,1),qAc,1,5,[g.j,wjc(g.n),kjc(g.a),(Xhc(),g.d==
1?true:false),kjc(g.b),kjc(g.e),kjc(g.f),kjc(g.c),kjc(g.o),kjc(g.g)]))}try{null.mj()}catch(a){a=QU(a);if(ND(a,91))throw RU(new bC("Unreachable."));else throw RU(a);}}function a4(a){if(a.v!=(kY(),iY)&&!a.u)throw RU(new b4("Cannot check use of goog.getCssName because of empty blacklist.",$C(VC(AS,1),qAc,1,5,[])));if(a.Kc&&!a.Jc)throw RU(new b4("remove_unused_prototype_props_in_externs requires remove_unused_prototype_props to be turned on.",$C(VC(AS,1),qAc,1,5,[])));if(E3(F2(a))&&!a.$c)throw RU(new b4("ES6 is only supported for transpilation to a lower ECMAScript version. Set --language_out to ES3, ES5, or ES5_STRICT.",
$C(VC(AS,1),qAc,1,5,[])));if(!a.Cb&&a.ac!=-1)throw RU(new b4("max_function_size_after_inlining has no effect if inlining is disabled.",$C(VC(AS,1),qAc,1,5,[])));if(a.sd){a.t=iY;if(a.r!=(W2(),U2))throw RU(new b4("check_eventful_object_disposal is not supported with the new type inference.",$C(VC(AS,1),qAc,1,5,[])));}if(a.Tb&&a.D)throw RU(new b4("The jQuery pass and the Closure pass cannot both be enabled.",$C(VC(AS,1),qAc,1,5,[])));if(a.V){if(!D3(F2(a)))throw RU(new b4("Dart requires --language_out=ES5 or higher.",
$C(VC(AS,1),qAc,1,5,[])));a.f=false;a.cb=false}if(a.Kc&&a.ib)throw RU(new b4("remove_unused_prototype_props_in_externs and export_local_property_definitions cannot be used together.",$C(VC(AS,1),qAc,1,5,[])));if((C3(),v3)==a.Vb){Hnb();if(Inb(Gnb,"/javascript/tools/jscompiler/allow-type-syntax.txt")==null)throw RU(new b4("type syntax is not yet generally available, please contact jscomp-team@",$C(VC(AS,1),qAc,1,5,[])));}}function X_b(a,b){var c,d,e,f,g,h,i,j;if(!a&&!b)return true;if(!a||!b)return false;
if(!hwc(b_b(a),b_b(b)))return false;for(h=b_b(a).Md();h.Ed();){g=h.Fd();if(!hwc(c_b(a,g),c_b(b,g)))return false}if((!a.b||!a.b.d?(Lm(),Lm(),Km):a.b.d).size()!=(!b.b||!b.b.d?(Lm(),Lm(),Km):b.b.d).size())return false;c=(!a.b||!a.b.d?(Lm(),Lm(),Km):a.b.d).Md();d=(!b.b||!b.b.d?(Lm(),Lm(),Km):b.b.d).Md();while(c.Ed())if(!k0b(c.Fd(),d.Fd()))return false;return hwc(!a.b?null:a.b.a,!b.b?null:b.b.a)&&hwc(!a.d?null:a.d.a,!b.d?null:b.d.a)&&(!a.b?null:a.b.b)==(!b.b?null:b.b.b)&&(!a.b?null:a.b.c)==(!b.b?null:
b.b.c)&&hwc(X$b(a),X$b(b))&&hwc((KEc&a.a)==XEc?a.i:null,(KEc&b.a)==XEc?b.i:null)&&hwc(V$b(a),V$b(b))&&(!a.d?null:a.d.g)==(!b.d?null:b.d.g)&&(!a.d?null:a.d.i)==(!b.d?null:b.d.i)&&(!a.d?null:a.d.j)==(!b.d?null:b.d.j)&&hwc((f=!a.d?null:a.d.k,!f?(Gpc(),Gpc(),Fpc):f),(e=!b.d?null:b.d.k,!e?(Gpc(),Gpc(),Fpc):e))&&(!a.b?null:a.b.i)==(!b.b?null:b.b.i)&&hwc(!a.d?null:kjc(a.d.o),!b.d?null:kjc(b.d.o))&&hwc(!a.b?null:a.b.g,!b.b?null:b.b.g)&&(!a.b?null:a.b.f)==(!b.b?null:b.b.f)&&hwc((KEc&a.a)==SAc?a.i:null,(KEc&
b.a)==SAc?b.i:null)&&hwc((j=!a.d?null:a.d.p,!j?(Gpc(),Gpc(),Fpc):j),(i=!b.d?null:b.d.p,!i?(Gpc(),Gpc(),Fpc):i))&&hwc(e_b(a),e_b(b))&&hwc(a.g,b.g)&&hwc(f_b(a),f_b(b))&&hwc((KEc&a.a)==hBc?a.i:null,(KEc&b.a)==hBc?b.i:null)&&hwc((KEc&a.a)==PEc?a.i:null,(KEc&b.a)==PEc?b.i:null)&&(!a.b?null:a.b.k)==(!b.b?null:b.b.k)&&hwc(a.j,b.j)&&a.a==b.a}function w7(a,b,c,d){var e,f,g,h,i,j,k,l,m,n,o,p,q,r;sib();if(!!d&&(d.j==(F7b(),z7b)||d.j==q6b||d.j==p5b)&&!mjb(d.e)){o=c.d;n=d}else if(d.j==(F7b(),L4b)){o=c.d;n=d.e;
ne(n.j==L5b)}else if(d.j==J4b||d.j==Y6b||d.j==v5b||d.j==i7b)return;else if(d.j==P5b||d.j==O5b||mjb(d.e)){y7(a,c);return}else if(d.j==j5b){x7(a,c);return}else throw RU(new Xic("Unexpected ARRAY_PATTERN parent: "+d));q=qEc+a.b++;p=LZb((se(Yjc(q,qkc(46))==-1,YBc,q),new q4b((F7b(),y6b),q)),j9(a.a,m2b(o)),z7b);p3b(p,c);c2b(n.e,p,n);g=false;for(f=c.b;f;f=k){k=f.d;if(f.j==B5b){l=NZb(GZb(SZb((se(Yjc(q,qkc(46))==-1,YBc,q),new q4b(y6b,q)),new q4b(h7b,rEc)),$C(VC(jR,1),ZBc,7,0,[])));p3b(l,f);c2b(n.e,l,n);continue}if(f.j==
v5b){m=qEc+a.b++;r=LZb((se(Yjc(m,qkc(46))==-1,YBc,m),new q4b(y6b,m)),SZb(GZb(SZb((se(Yjc(q,qkc(46))==-1,YBc,q),new q4b(y6b,q)),new q4b(h7b,rEc)),$C(VC(jR,1),ZBc,7,0,[])),new q4b(h7b,sEc)),z7b);p3b(r,f);c2b(n.e,r,n);h=m2b(f.b);j=C7((se(Yjc(m,qkc(46))==-1,YBc,m),new q4b(y6b,m)),m2b(f.b?f.b.f:null))}else if(f.j==Y6b){h=m2b(f.b);j=GZb(Yjb(a.a,"$jscomp.arrayFromIterator"),$C(VC(jR,1),ZBc,7,0,[(se(Yjc(q,qkc(46))==-1,YBc,q),new q4b(y6b,q))]));g=true}else{h=m2b(f);j=SZb(GZb(SZb((se(Yjc(q,qkc(46))==-1,YBc,
q),new q4b(y6b,q)),new q4b(h7b,rEc)),$C(VC(jR,1),ZBc,7,0,[])),new q4b(h7b,sEc))}if(d.j==L4b){e=CZb(h,j);i=(oe(ZZb(e),e),new s3b(L5b,e))}else i=LZb(h,j,d.j);p3b(i,c);c2b(n.e,i,n);v7(a,b,h,h.e)}m2b(n);g&&s0(a.a,"es6/util/arrayfromiterator",false);d1(a.a)}function T7(a){var b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t;t=a.d.b;d=t.d;if(d.b){j=Q2b(d.b);e=Q2b(d.b)}else{j=(se(Yjc(CEc,qkc(46))==-1,YBc,CEc),new q4b((F7b(),y6b),CEc));e=EZb(r$b(k2b(j,false)));X2b(e.b)}l=d.d;i=G7++;h=$7(i);k=b$b("$jscomp$generator$"+
j.Lh());e2b(a.j,h);b2b(a.j,e,h);b=CZb((se(Yjc(DEc,qkc(46))==-1,YBc,DEc),new q4b((F7b(),y6b),DEc)),k2b(k,false));s=FZb($C(VC(jR,1),ZBc,7,0,[(oe(ZZb(b),b),new s3b(L5b,b)),NZb(CZb((se(Yjc(wEc,qkc(46))==-1,YBc,wEc),new q4b(y6b,wEc)),new $3b(i))),Z7()]));r=(ne(k.j==y6b),ne(s.j==c5b||s.j==_6b),new u3b(j5b,k,s));goc(a.b,0,new k8(i,r));if(l){o=b$b("$jscomp$generator$finally"+(""+a.f.a.W++));q=G7++;p=$7(q);n=G7++;m=$7(n);gib(a.a,t,new d8(o,q));gib(a.a,e,new d8(o,q));e2b(a.j,m2b(t));b2b(a.j,p,e);b2b(a.j,m2b(l),
p);b2b(a.j,m,l);e2b(a.j,MZb(k2b(o,false),z7b));d2b(l,NZb(CZb((se(Yjc(wEc,qkc(46))==-1,YBc,wEc),new q4b(y6b,wEc)),k2b(o,false))));d2b(l,Z7());d2b(t,NZb(CZb(k2b(o,false),new $3b(n))));d2b(t,NZb(CZb((se(Yjc(wEc,qkc(46))==-1,YBc,wEc),new q4b(y6b,wEc)),new $3b(q))));d2b(t,Z7());d2b(e,NZb(CZb(k2b(o,false),new $3b(n))))}else{g=G7++;f=$7(g);b2b(a.j,f,e);d2b(t,NZb(CZb((se(Yjc(wEc,qkc(46))==-1,YBc,wEc),new q4b(y6b,wEc)),new $3b(g))));d2b(t,Z7());e2b(a.j,m2b(t))}e2b(e,LZb(j,(se(Yjc(DEc,qkc(46))==-1,YBc,DEc),
new q4b(y6b,DEc)),z7b));a.e.e.j==t7b&&(a.e=q2b(a.e));d2b(a.e,s$b((c=new q3b(c5b),c),r));a.e=t2b(a.e).b;if(!a.g){a.g=true;b2b(a.i.e,MZb((se(Yjc(DEc,qkc(46))==-1,YBc,DEc),new q4b(y6b,DEc)),z7b),a.i)}}function Fsb(a,b){var c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w;u=ND(b.k,20)?b.k:null;ne(b.j==(F7b(),Q5b)||!!u.qi());if(!u||u.li())return"";e=u.qi();if(n8b(u,a.b.fh((Xcc(),gcc))))return"/** @type {!Function} */\n";r=new Lkc("/**\n");p=null;!!b&&b.j==Q5b&&(p=(sib(),_d(b.j==Q5b),b.b.d).b);f=0;for(n=(o=e.a.a,
o?!o.b?(Gpc(),Gpc(),Fpc):new k4b(o.b):(Gpc(),Gpc(),Fpc)).Md();n.Ed();){m=n.Fd();r.a+=" * ";Ksb(r,"param",(v=ND(m.k,20)?m.k:null,s2b(m,37)!=0?w=_7b(Hsb(a,v))+"=":s2b(m,30)!=0?w=oCc+_7b(Hsb(a,v)):w=!v.li()&&!v.si()&&!v.ri()&&!v.qi()&&v.hi()?"!"+v.vi(true):v.vi(true),w));Ekc(Ekc((r.a+=" ",r),!p?"p"+f:p.Lh()),fBc);p?p=p.d:++f}q=e.a.b;if(!!q&&!(q.ei()||q.ci()||q.di()||ndc(q.u,kcc)==q)&&e.e!=(qbc(),obc)&&!(e.Pi()&&q.mi())){r.a+=" * ";Ksb(r,lCc,!q.li()&&!q.si()&&!q.ri()&&!q.qi()&&q.hi()?"!"+q.vi(true):q.vi(true));
r.a+=fBc}if(e.Pi()||e.e==(qbc(),obc)){s=Fac(e);if(s){t=Cac(Fac(e));if(!Vjc(t.vi(false),dEc)){r.a+=" * ";Ksb(r,uCc,t.vi(true));r.a+=fBc}}if(e.e==(qbc(),obc))for(h=qs(new Yqc(e.b.a.b.Md()));h.Ed();){g=h.Fd();r.a+=" * ";Ksb(r,uCc,g.vi(true));r.a+=fBc}i=new Gxc;for(l=Bac(e).Md();l.Ed();){j=l.Fd();Exc(i,j.vi(true))}for(k=(d=(new mnc(i.a)).a.oe().b.ej(),new snc(d));k.a.Ed();){j=(c=k.a.Fd(),c.xe());r.a+=" * ";Ekc(Ekc(Ekc(Ekc((r.a+="@",r),vCc)," {"),j),"}");r.a+=fBc}e.Pi()?(r.a+=" * @constructor\n",r):e.e==
obc&&e.d?(r.a+=" * @record\n",r):e.e==obc&&(r.a+=" * @interface\n",r)}if(!e.v.d.isEmpty()){r.a+=" * @template ";Qc(new Vc(","),r,e.v.d.Md());r.a+=fBc}r.a+=" */\n";return r.a}function kqb(){kqb=qV;jqb=new y5("JSC_USE_OF_WITH",(kY(),jY),new klc("The 'with' statement cannot be used in ES5 strict mode."));gqb=new y5("JSC_EVAL_DECLARATION",jY,new klc('"eval" cannot be redeclared in ES5 strict mode'));fqb=new y5("JSC_EVAL_ASSIGNMENT",jY,new klc('the "eval" object cannot be reassigned in ES5 strict mode'));
bqb=new y5("JSC_ARGUMENTS_DECLARATION",jY,new klc('"arguments" cannot be redeclared in ES5 strict mode'));$pb=new y5("JSC_ARGUMENTS_ASSIGNMENT",jY,new klc('the "arguments" object cannot be reassigned in ES5 strict mode'));_pb=new y5("JSC_ARGUMENTS_CALLEE_FORBIDDEN",jY,new klc('"arguments.callee" cannot be used in ES5 strict mode'));aqb=new y5("JSC_ARGUMENTS_CALLER_FORBIDDEN",jY,new klc('"arguments.caller" cannot be used in ES5 strict mode'));iqb=new y5("JSC_FUNCTION_CALLER_FORBIDDEN",jY,new klc("A function''s \"caller\" property cannot be used in ES5 strict mode"));
hqb=new y5("JSC_FUNCTION_ARGUMENTS_PROP_FORBIDDEN",jY,new klc("A function''s \"arguments\" property cannot be used in ES5 strict mode"));dqb=new y5("JSC_DELETE_VARIABLE",jY,new klc("variables, functions, and arguments cannot be deleted in ES5 strict mode"));eqb=new y5("JSC_DUPLICATE_OBJECT_KEY",hY,new klc('Object literal contains illegal duplicate key "{0}", disallowed in ES5 strict mode'));new y5("JSC_DUPLICATE_CLASS_METHODS",hY,new klc('Class contain duplicate method name "{0}"'));cqb=new y5("JSC_BAD_FUNCTION_DECLARATION",
hY,new klc("functions can only be declared at top level or immediately within another function in ES5 strict mode"))}function e9(a,b,c){var d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,A,B,C,D,F;l=c.d;B=r2b(c,b);A=b.b.Lh();u=(se(Yjc(A,qkc(46))==-1,YBc,A),new q4b((F7b(),y6b),A));C=R2b(u,u.g,30);C!=u.g&&(u.g=C);u.g=new V3b(30,1,u.g);Y2b(u,u2b(b,29));S2b(c,b,u);D=null;o=u2b(b,29);if(o)D=(KEc&o.a)==PEc?o.i:null;else{m=(sib(),q=Fib(c.e),!q?null:u2b(q,29));!!m&&(D=c_b(m,A))}!!D&&D.a.j!=A5b&&c1(a.a,Keb(b,K8,
$C(VC(FS,1),bAc,2,6,[])));if(!l.b){d1(a.a);return}w=m3b((e=new q3b(c5b),e),l);t=(se(Yjc(A,qkc(46))==-1,YBc,A),new q4b(y6b,A));r=p3b(LZb(t,(se(Yjc(TEc,qkc(46))==-1,YBc,TEc),new q4b(y6b,TEc)),q6b),l);e2b(w,r);for(i=(!l.b?(Gpc(),Gpc(),Fpc):new k4b(l.b)).Md();i.Ed();){h=i.Fd();d2b(w,m2b(h))}if(D){d=new q4b(h7b,ZDc);F=D.a;s=F.j==A5b?k2b(F.b,false):k2b(F,false);e2b(d,o3b(new s3b(c5b,s),F));g=new V1b(false);M1b(g,new Z1b(new s3b(Z4b,d),(k=u2b(b,51),!k?null:k.Ig())));Y2b(t,F0b(g,false))}v=LZb((se(Yjc(TEc,
qkc(46))==-1,YBc,TEc),new q4b(y6b,TEc)),BZb($C(VC(jR,1),ZBc,7,0,[])),z7b);e2b(l,p3b(v,b));p=LZb((se(Yjc(UEc,qkc(46))==-1,YBc,UEc),new q4b(y6b,UEc)),new $3b(B),z7b);j=YZb((se(Yjc(UEc,qkc(46))==-1,YBc,UEc),new q4b(y6b,UEc)),SZb((se(Yjc(PDc,qkc(46))==-1,YBc,PDc),new q4b(y6b,PDc)),new q4b(h7b,"length")));n=XZb((se(Yjc(UEc,qkc(46))==-1,YBc,UEc),new q4b(y6b,UEc)),false);f=EZb(NZb(CZb(RZb((se(Yjc(TEc,qkc(46))==-1,YBc,TEc),new q4b(y6b,TEc)),q$b((se(Yjc(UEc,qkc(46))==-1,YBc,UEc),new q4b(y6b,UEc)),new $3b(B))),
RZb((se(Yjc(PDc,qkc(46))==-1,YBc,PDc),new q4b(y6b,PDc)),(se(Yjc(UEc,qkc(46))==-1,YBc,UEc),new q4b(y6b,UEc))))));b2b(l,p3b(PZb(p,j,n,f),b),v);d2b(l,w);d1(a.a)}function vGb(a,b,c){var d,e,f,g,h,i,j,k,l;l=b.a;c&&(l=ekc(l,"\r\n?",fBc));k=c?0:1;e=Yjc(l,qkc(92));if(e==-1)return c?l:kkc(l,1,l.length-1);j=new Ikc;while(e!=-1){e-k>0&&(j.a+=""+kkc(l==null?iAc:(Bzc(l),l),k,e),j);e+=1;d=l.charCodeAt(e);switch(d){case 39:case 34:case 92:j.a+=String.fromCharCode(d);break;case 98:j.a+="\b";break;case 102:j.a+="\f";
break;case 110:j.a+=fBc;break;case 114:j.a+="\r";break;case 116:j.a+="\t";break;case 118:j.a+="\x0B";break;case 10:a.e=YLb(a.e,(TMb(),NMb).a);XLb(a.a.c.a,(WLb(),NLb))?a.d.ih("String continuations are not recommended. See https://google.github.io/styleguide/javascriptguide.xml?showone=Multiline_string_literals#Multiline_string_literals",a.r,b.b.b.b+1,b.b.b.a):a.d.hh("String continuations are not supported in this language mode.",a.r,b.b.b.b+1,b.b.b.a);break;case 48:case 49:case 50:case 51:case 52:case 53:case 54:case 55:h=
l.charCodeAt(e+1);if(a.a.e==0)if(d==48&&!(h>=48&&h<=55));else a.d.ih("Octal literals in strings are not supported in this language mode.",a.r,b.b.b.b+1,b.b.b.a);if(h>=48&&h<=55){i=l.charCodeAt(e+2);if(i>=48&&i<=55){xkc(j,64*UGb(d)+8*UGb(h)+UGb(i)&gAc);e+=2}else{xkc(j,8*UGb(d)+UGb(h)&gAc);e+=1}}else xkc(j,UGb(d)&gAc);break;case 120:xkc(j,RGb(l.charCodeAt(e+1))*16+RGb(l.charCodeAt(e+2))&gAc);e+=2;break;case 117:if(l.charCodeAt(e+1)!=123){f=e+5;g=l.substr(e+1,f-(e+1))}else{f=e+2;while(cic(l.charCodeAt(f),
16)>=0)++f;g=l.substr(e+2,f-(e+2));++f}Fkc(j,jic(Qic(g)));e=f-1;break;default:j.a+=String.fromCharCode(d)}k=e+1;e=Zjc(l,qkc(92),k)}Ckc(j,l,k,c?l.length:l.length-1);return j.a}function YNb(){YNb=qV;var a,b,c,d,e,f;_Mb=new ZNb("BREAK",0,"break",(hUb(),kSb));aNb=new ZNb("CASE",1,"case",nSb);bNb=new ZNb(UHc,2,"catch",oSb);eNb=new ZNb(VHc,3,CCc,xSb);fNb=new ZNb(WHc,4,ECc,ySb);hNb=new ZNb(gGc,5,qCc,ASb);iNb=new ZNb("DELETE",6,XHc,BSb);jNb=new ZNb("DO",7,"do",CSb);kNb=new ZNb("ELSE",8,"else",DSb);pNb=new ZNb(YHc,
9,kCc,NSb);qNb=new ZNb("FOR",10,"for",OSb);rNb=new ZNb(bFc,11,Zzc,PSb);sNb=new ZNb("IF",12,"if",SSb);vNb=new ZNb("IN",13,"in",VSb);wNb=new ZNb(KHc,14,LFc,WSb);DNb=new ZNb("NEW",15,"new",fTb);JNb=new ZNb(VGc,16,lCc,DTb);MNb=new ZNb(ZHc,17,"switch",RTb);NNb=new ZNb(WGc,18,xCc,VTb);ONb=new ZNb("THROW",19,"throw",WTb);QNb=new ZNb("TRY",20,"try",ZTb);SNb=new ZNb($Hc,21,KFc,_Tb);TNb=new ZNb("VAR",22,"var",cUb);UNb=new ZNb("VOID",23,FCc,dUb);VNb=new ZNb("WHILE",24,wCc,eUb);WNb=new ZNb("WITH",25,"with",fUb);
cNb=new ZNb(aFc,26,tCc,pSb);dNb=new ZNb("CONST",27,HDc,wSb);lNb=new ZNb(MGc,28,HCc,FSb);mNb=new ZNb(OGc,29,pCc,KSb);nNb=new ZNb(NGc,30,uCc,LSb);uNb=new ZNb(_Hc,31,sCc,USb);LNb=new ZNb(MHc,32,yCc,QTb);tNb=new ZNb(PGc,33,vCc,TSb);xNb=new ZNb(QGc,34,GCc,XSb);ANb=new ZNb("LET",35,"let",_Sb);FNb=new ZNb(RGc,36,YGc,qTb);GNb=new ZNb(SGc,37,ZGc,yTb);HNb=new ZNb(TGc,38,$Gc,zTb);INb=new ZNb(UGc,39,_Gc,ATb);KNb=new ZNb("STATIC",40,aHc,OTb);XNb=new ZNb("YIELD",41,"yield",gUb);ENb=new ZNb(rGc,42,iAc,jTb);PNb=
new ZNb(rDc,43,BCc,YTb);oNb=new ZNb(qDc,44,ACc,MSb);gNb=new ZNb(aIc,45,KCc,zSb);RNb=new ZNb(XGc,46,JCc,$Tb);BNb=new ZNb("MODULE",47,eDc,dTb);CNb=new ZNb(bIc,48,ICc,eTb);a=new pq;b=new Ysc(EO);for(d=eOb(),e=0,f=d.length;e<f;++e){c=d[e];mq(a,c.b,c);Usc(b,c.a,c)}yNb=Nn(a.b);zNb=Dv(b)}function Fvb(){Fvb=qV;wvb=new y5("JSC_INVALID_SUPPRESS",(kY(),iY),new klc("@suppress annotation not allowed here. See https://github.com/google/closure-compiler/wiki/@suppress-annotations"));tvb=new y5("JSC_CONSTRUCTOR_DISALLOWED_JSDOC",
iY,new klc("Visibility annotations on constructors are not supported.\nPlease mark the visibility on the class instead."));svb=new y5("JSC_CLASS_DISALLOWED_JSDOC",iY,new klc("@constructor annotations are redundant on classes."));xvb=new y5("JSC_MISSING_JSDOC",iY,new klc("Function must have JSDoc."));yvb=new y5("JSC_MISSING_PARAMETER_JSDOC",iY,new klc("Parameter must have JSDoc."));Avb=new y5("JSC_MIXED_PARAM_JSDOC_STYLES",iY,new klc("Functions may not use both @param annotations and inline JSDoc"));
zvb=new y5("JSC_MISSING_RETURN_JSDOC",iY,new klc("Function with non-trivial return must have @return JSDoc or inline return JSDoc."));Bvb=new y5("JSC_MUST_BE_PRIVATE",iY,new klc("Property {0} must be marked @private"));Cvb=new y5("JSC_MUST_HAVE_TRAILING_UNDERSCORE",iY,new klc("Private property {0} should end with ''_''"));Dvb=new y5("JSC_OPTIONAL_PARAM_NOT_MARKED_OPTIONAL",iY,new klc("Parameter {0} is optional so its type must end with ="));Evb=new y5("JSC_WRONG_NUMBER_OF_PARAMS",iY,new klc("Wrong number of @param annotations"));
vvb=new y5("JSC_INCORRECT_PARAM_NAME",iY,new klc("Incorrect param name. Are your @param annotations in the wrong order?"));uvb=new y5("JSC_EXTERNS_FILES_SHOULD_BE_ANNOTATED",iY,new klc("Externs files should be annotated with @externs in the @fileoverview block."));rvb=new U4($C(VC(FJ,1),qAc,5,0,[wvb,svb,tvb,xvb,yvb,Avb,zvb,Bvb,Cvb,Dvb,Evb,vvb,uvb]))}function z7(a,b,c,d){var e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u;sib();if(!!d&&(d.j==(F7b(),z7b)||d.j==q6b||d.j==p5b)&&!mjb(d.e)){r=c.d;q=d}else if(d.j==(F7b(),
L4b)&&d.e.j==L5b){r=d.b?d.b.f:null;q=d.e}else if(d.j==Y6b||d.j==i7b||d.j==J4b||d.j==v5b)return;else if(d.j==P5b||d.j==O5b||mjb(d.e)){y7(a,c);return}else if(d.j==j5b){x7(a,c);return}else throw RU(new Xic("Unexpected OBJECT_PATTERN parent: "+d));t=qEc+a.b++;s=p3b(LZb((se(Yjc(t,qkc(46))==-1,YBc,t),new q4b((F7b(),y6b),t)),m2b(r),z7b),c);if(d.j==p5b){k=new V1b(false);Q0b(k);Y2b(s,F0b(k,false))}c2b(q.e,s,q);for(e=c.b;e;e=p){p=e.d;if(e.j==i7b){if(!e.b){l=b$b(e.Lh());o3b(l,e);d2b(e,l)}h=new u3b(e.Nh()?V5b:
W5b,(se(Yjc(t,qkc(46))==-1,YBc,t),new q4b(y6b,t)),n$b(e.Lh()));u=Q2b(e);if(u.j==v5b){m=Q2b(u);f=Q2b(u);o=UZb(l$b(h,(se(Yjc(hEc,qkc(46))==-1,YBc,hEc),new q4b(y6b,hEc))),f,k2b(h,false))}else{m=u;o=h}}else if(e.j==o5b)if((e.b?e.b.f:null).j==v5b){m=Q2b(e.b?e.b.f:null);g=RZb((se(Yjc(t,qkc(46))==-1,YBc,t),new q4b(y6b,t)),Q2b(e));j=qEc+a.b++;i=LZb((se(Yjc(j,qkc(46))==-1,YBc,j),new q4b(y6b,j)),g,z7b);p3b(i,e);c2b(q.e,i,q);o=C7((se(Yjc(j,qkc(46))==-1,YBc,j),new q4b(y6b,j)),Q2b(e.b?e.b.f:null))}else{o=RZb((se(Yjc(t,
qkc(46))==-1,YBc,t),new q4b(y6b,t)),Q2b(e));m=Q2b(e)}else if(e.j==v5b){m=Q2b(e);f=Q2b(e);h=SZb((se(Yjc(t,qkc(46))==-1,YBc,t),new q4b(y6b,t)),n$b(m.Lh()));o=UZb(l$b(h,(se(Yjc(hEc,qkc(46))==-1,YBc,hEc),new q4b(y6b,hEc))),f,k2b(h,false))}else throw RU(new Xic("Unexpected OBJECT_PATTERN child: "+e));if(!!d&&(d.j==z7b||d.j==q6b||d.j==p5b))n=LZb(m,o,d.j);else if(d.j==L4b)n=NZb(CZb(m,o));else throw RU(new Xic("not reached"));p3b(n,e);c2b(q.e,n,q);v7(a,b,m,m.e)}m2b(q);d1(a.a)}function tW(a,b){var c,d,e,f,
g,h,i,j,k,l,m,n;switch(b.j.f){case 34:case 119:case 32:case 99:case 33:case 35:d=p2b(b);0!=d&&mX(BBc+d,b);return;case 24:case 21:case 22:case 19:case 63:case 64:case 25:case 79:case 20:case 92:e=H7b(b.j);e!=-1&&(c=p2b(b),e!=c&&mX(CBc+e+DBc+c,b));tW(a,b.b);return;case 47:case 48:case 49:case 50:case 51:case 52:case 53:case 54:case 55:case 56:case 57:case 58:case 59:bW(a,b);return;case 60:f=H7b(b.j);f!=-1&&(g=p2b(b),f!=g&&mX(CBc+f+DBc+g,b));h=b.b;tW(a,h);tW(a,h.d);tW(a,b.b?b.b.f:null);return;case 31:cX(b);
return;case 30:OW(b);return;case 29:HW(b);return;case 27:case 46:case 61:case 62:case 1:case 2:case 3:case 4:case 5:case 36:case 37:case 6:case 8:case 7:case 9:case 41:case 40:case 10:case 11:case 12:case 14:case 13:case 15:case 17:case 16:case 18:i=H7b(b.j);i!=-1&&(j=p2b(b),i!=j&&mX(CBc+i+DBc+j,b));tW(a,b.b);tW(a,b.b?b.b.f:null);return;case 26:vW(a,b);return;case 42:_V(a,b);return;case 43:PW(a,b);return;case 38:YW(b);return;case 28:eW(a,b);return;case 113:_W(b);return;case 23:MW(a,b);return;case 65:uW(a,
b,false);return;case 96:iW(a,b,false);return;case 116:fX(a,b);return;case 115:E3(a.a.v)||mX(IBc,b);NW((F7b(),n7b),b);k=H7b(b.j);k!=-1&&(l=p2b(b),k!=l&&mX(CBc+k+DBc+l,b));tW(a,b.b);fX(a,b.b?b.b.f:null);return;case 102:E3(a.a.v)||mX("Feature 'yield' is only allowed in ES6 mode.",b);NW((F7b(),E7b),b);m=p2b(b);(m<0||m>1)&&mX(JBc+m,b);!!b.b&&tW(a,b.b);return;case 103:E3(a.a.v)||mX("Feature 'async function' is only allowed in ES6 mode.",b);NW((F7b(),Y4b),b);n=(sib(),Iib(b,new lkb(Q5b)));(!n||s2b(n,61)==
0)&&mX("'await' expression is not within an async function",b);return;default:mX("Expected expression but was "+b.j,b)}}function F3b(a){switch(a){case 30:return"var_args_name";case 29:return"jsdoc_info";case 32:return"incrdecr";case 36:return"quoted";case 37:return"opt_arg";case 38:return"synthetic";case 39:return"added_block";case 40:return"originalname";case 42:return"side_effect_flags";case 43:return"is_constant_name";case 46:return"is_namespace";case 48:return"directives";case 49:return"direct_eval";
case 50:return"free_call";case 51:return"source_file";case 53:return"input_id";case 54:return"slash_v";case 55:return"inferred";case 56:return"change_time";case 57:return"reflected_object";case 58:return"static_member";case 59:return"generator_fn";case 60:return"arrow_fn";case 61:return"async_fn";case 62:return"yield_for";case 63:return"export_default";case 64:return"export_all_from";case 65:return"is_constant_var";case 66:return"is_generator_marker";case 67:return"is_generator_safe";case 71:return"raw_string_value";
case 72:return"computed_prop_method";case 73:return"computed_prop_getter";case 74:return"computed_prop_setter";case 75:return"computed_prop_variable";case 76:return"analyzed_during_gti";case 77:return"constant_property_def";case 78:return"declared_type_expr";case 79:return"type_before_cast";case 80:return"opt_es6_typed";case 81:return"generic_type";case 82:return vCc;case 83:return"construct_signature";case 84:return"access_modifier";case 85:return"non_indexable";case 86:return"parse_results";case 87:return"goog_module";
case 88:return"goog_module_require";case 89:return"feature_set";case 90:return"is_module_name";case 91:return"was_previously_provided";case 92:return"is_es6_class";case 93:return"transpiled";default:throw RU(new Xic("unexpected prop id "+a));}}function n7(a){var b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,A,B,C,D,F,G,H,I,J,K,L,M,N;if(xlc(a.c.c)==0)return;for(o=(B=(new nmc(a.c)).a.oe().Md(),new tmc(B));o.a.Ed();){n=(f=o.a.Fd(),f.xe());q=Uuc(a.c,n);t=e$b($C(VC(jR,1),ZBc,7,0,[]));for(N=(C=(new nmc(q.b.a)).a.oe().Md(),
new tmc(C));N.a.Ed();){L=(e=N.a.Fd(),e.xe());d2b(t,p$b(L.b,SZb(b$b(q.a),n$b(L.b))))}K=CZb(b$b(q.a),t);s=n3b(LZb(b$b(q.a),e$b($C(VC(jR,1),ZBc,7,0,[])),(F7b(),z7b)),n);c7(s,n);if(n.j==N5b){m=n.b;S2b(n,m,new q3b(B5b));if(m.j!=B5b){sib();!!m&&(m.j==z7b||m.j==q6b||m.j==p5b)||(m=m3b((oe(ZZb(m),m),new s3b(L5b,m)),m));c7(m,n)}l=o2b(n,2);if(l.j==B5b)S2b(n,l,p3b(K,n));else{D=new q3b(B5b);S2b(n,l,D);S2b(n,D,p3b(DZb(n5b,K,l),n))}}else n.j==z5b?d2b(n.b,p3b((oe(ZZb(K),K),new s3b(L5b,K)),n)):d2b(n.b?n.b.f:null,
p3b((oe(ZZb(K),K),new s3b(L5b,K)),n));for(M=(A=(new nmc(q.b.a)).a.oe().Md(),new tmc(A));M.a.Ed();){L=(e=M.a.Fd(),e.xe());for(G=ug(a.d,L).Md();G.Ed();){F=G.Fd();sib();if((n.j==P5b||n.j==O5b)&&n.b==F.e)e2b(n.b?n.b.f:null,p3b(NZb(CZb(SZb(b$b(q.a),n$b(L.b)),L.c.Jh(false))),F));else{if(zjb(F.e)){d=F.e;i=d.e;e7(d,i);d=F.e;if(F.b){p=F.Jh(false);b=CZb(p,Q2b(F));d7(d,F,d);f7(d,i,F,d);Y2b(b,u2b(d,29));H=p3b((oe(ZZb(b),b),new s3b(L5b,b)),d);S2b(i,d,H);F=p}else O2b(i,d);Xtc(a.e.b,d);d1(a.e.a)}F.e.j==f5b&&F.e.b==
F&&M2b(F.e,50,false);T2b(F,p3b(SZb(b$b(q.a),n$b(L.b)),F))}}}}for(h=ct(a.b).Md();h.Ed();){g=h.Fd();J=new q3b((F7b(),$6b));w=ug(a.b,g);u=XC(jR,ZBc,7,w.size(),0,1);v=XC(jR,ZBc,7,w.size(),0,1);j=0;for(r=w.Md();r.Ed();){q=r.Fd();u[j]=b$b(q.a);v[j]=b$b(q.a);++j}k=QZb((se(Yjc("",qkc(46))==-1,YBc,""),new q4b(y6b,"")),h$b(u),EZb(J));c=GZb(k,v);I=R2b(c,c.g,50);I!=c.g&&(c.g=I);c.g=new V3b(50,1,c.g);sib();g.j==Q5b&&jjb(g.e)?H=p3b(LZb(b$b(g.b.Lh()),c,z7b),g):H=p3b(c,g);S2b(g.e,g,H);e2b(J,g)}}function qcb(a,b){var c,
d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,A,B,C,D,F,G,H,I,J,K,M;if(b.f)return;D=b.o;m=(M=new Avc,_c(M,new nmc(b.b)),_c(M,new nmc(b.j)),M);!!D&&!D.a.f&&qcb(a,(ne(!D.a.f),D.a));for(H=(!b.d?(km(),ux(),tx):b.d).Md();H.Ed();){F=H.Fd();F.a.f||qcb(a,(ne(!F.a.f),F.a))}v=new dt;w=new dt;if(D){ne(D.a.f);for(q=EDb(D.a).Md();q.Ed();){o=q.Fd();D.a.e&&NDb(D.a,o)&&!b.e&&!IDb(b,o)&&Nhb(a.t,Keb(b.u,Lbb,$C(VC(FS,1),bAc,2,6,[o,D.a.w])));m.a.remove(o)!=null;rcb(a,b,D,o,v,w)}}for(G=(!b.d?(km(),ux(),tx):b.d).Md();G.Ed();){F=
G.Fd();ne(F.a.f);for(q=FDb(F.a).Md();q.Ed();){o=q.Fd();m.a.remove(o)!=null;rcb(a,b,F,o,v,w)}}for(r=(B=v.g,!B?v.g=new pi(v,v.c):B).Md();r.Ed();){o=r.Fd();l=ug(v,o);ne(!l.isEmpty());k=Bp(a.o,b,o);I=jwb(l);j=k.c;e=Fcb(k);if(!I){I=l.Md().Fd();Nhb(a.t,Keb(k.a,lcb,$C(VC(FS,1),bAc,2,6,[b.w,o,tV(l)])))}else e&&(j.g?_zc:j.f.size()+j.d.size())>(I.g?_zc:I.f.size()+I.d.size())&&Nhb(a.t,Keb(k.a,ccb,$C(VC(FS,1),bAc,2,6,[o,Wwb(dwb(I),new Ikc).a,Wwb(dwb(j),new Ikc).a])));J=fwb(j,I,e);k.c=J;!!k.b&&Pgb(k.b,J);vg(w,
o,Zzb(a.d,dwb(J)))}L:for(s=(A=w.g,!A?w.g=new pi(w,w.c):A).Md();s.Ed();){o=s.Fd();c=ug(w,o);ne(!c.isEmpty());C=a.d.u;for(g=c.Md();g.Ed();){f=g.Fd();C=Fyb(C,f);if(0==C.Ch()){Nhb(a.t,Keb(b.u,lcb,$C(VC(FS,1),bAc,2,6,[b.w,o,tV(c)])));continue L}else C=f}xDb(b,o,null,C,false)}if(!XDb(b.w,eFc,b.u)&&QDb(b)){K=b.q;!Xxb(K)?Nhb(a.t,Keb(b.u,lcb,$C(VC(FS,1),bAc,2,6,[b.w,fFc,"the keys K have types that can't be joined."]))):!Yxb(K)&&Nhb(a.t,Keb(b.u,lcb,$C(VC(FS,1),bAc,2,6,[b.w,fFc,"the values V should have a common subtype."])))}for(p=
(n=(new nmc(m.a)).a.oe().Md(),new tmc(n));p.a.Ed();){o=(d=p.a.Fd(),d.xe());t=Bp(a.o,b,o);ne(!!t||Vjc(b.w,gFc));if(t){u=t.a;h=(sib(),i=Fib(u),!i?null:u2b(i,29));!!h&&(h.a&64)!=0&&Nhb(a.t,Keb(u,mcb,$C(VC(FS,1),bAc,2,6,[o,b.w])))}}DDb(b)}function MX(){MX=qV;FX=new y5("JSC_DEPRECATED_VAR",(kY(),iY),new klc("Variable {0} has been deprecated."));GX=new y5("JSC_DEPRECATED_VAR_REASON",iY,new klc("Variable {0} has been deprecated: {1}"));HX=new y5("JSC_DEPRECATED_PROP",iY,new klc("Property {0} of type {1} has been deprecated."));
IX=new y5("JSC_DEPRECATED_PROP_REASON",iY,new klc("Property {0} of type {1} has been deprecated: {2}"));DX=new y5("JSC_DEPRECATED_CLASS",iY,new klc("Class {0} has been deprecated."));EX=new y5("JSC_DEPRECATED_CLASS_REASON",iY,new klc("Class {0} has been deprecated: {1}"));wX=new y5("JSC_BAD_PACKAGE_PROPERTY_ACCESS",hY,new klc("Access to package-private property {0} of {1} not allowed here."));xX=new y5("JSC_BAD_PRIVATE_GLOBAL_ACCESS",hY,new klc("Access to private variable {0} not allowed outside file {1}."));
yX=new y5("JSC_BAD_PRIVATE_PROPERTY_ACCESS",jY,new klc("Access to private property {0} of {1} not allowed here."));zX=new y5("JSC_BAD_PROTECTED_PROPERTY_ACCESS",jY,new klc("Access to protected property {0} of {1} not allowed here."));new y5("JSC_BAD_PROPERTY_OVERRIDE_IN_FILE_WITH_FILEOVERVIEW_VISIBILITY",hY,new klc("Overridden property {0} in file with fileoverview visibility {1} must explicitly redeclare superclass visibility"));KX=new y5("JSC_PRIVATE_OVERRIDE",jY,new klc("Overriding private property of {0}."));
JX=new y5("JSC_EXTEND_FINAL_CLASS",hY,new klc("{0} is not allowed to extend final class {1}."));LX=new y5("JSC_VISIBILITY_MISMATCH",jY,new klc("Overriding {0} property of {1} with {2} property."));BX=new y5("JSC_CONSTANT_PROPERTY_REASSIGNED_VALUE",jY,new klc("constant property {0} assigned a value more than once"));AX=new y5("JSC_CONSTANT_PROPERTY_DELETED",jY,new klc("constant property {0} cannot be deleted"));CX=new y5("JSC_CONVENTION_MISMATCH",jY,new klc("Declared access conflicts with access convention."))}
function f6(a,b,c){var d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w;d=c.a;o=c.b;if(o.a.length==0)return;f=u2b(d,51);if(!!f&&f.vh()){for(m=new Poc(o);m.a<m.c.a.length;){l=Noc(m);m2b((sib(),Iib(l,rib)))}d1(a.a)}else{p=b6(d);if(Vjc(p,dEc)&&(j=$ob(Shb(b),p),!(!!j&&!(!j.a||h2(j.a))))){for(m=new Poc(o);m.a<m.c.a.length;){l=Noc(m);T2b(l,m3b(new q3b((F7b(),q7b)),l))}d1(a.a)}else if(e6(b,p))c1(a.a,Keb(d,(Q8(),L8),$C(VC(FS,1),bAc,2,6,["extending native class: "+p])));else if(d6(b,p))for(m=new Poc(o);m.a<m.c.a.length;){l=
Noc(m);i=_5(a,p,l);q=(sib(),Iib(l,rib));r=q.e;oe(r.j==(F7b(),c5b)||r.j==_6b,r);s=p3b(MZb((se(Yjc(eEc,qkc(46))==-1,YBc,eEc),new q4b(y6b,eEc)),z7b),l);c2b(r,s,q);t=CZb((se(Yjc(eEc,qkc(46))==-1,YBc,eEc),new q4b(y6b,eEc)),i);u=CZb(SZb(new q3b(q7b),new q4b(h7b,fEc)),SZb((se(Yjc(eEc,qkc(46))==-1,YBc,eEc),new q4b(y6b,eEc)),new q4b(h7b,fEc)));v=AZb(WZb(new q4b(h7b,dBc),(se(Yjc(eEc,qkc(46))==-1,YBc,eEc),new q4b(y6b,eEc))),CZb(SZb(new q3b(q7b),new q4b(h7b,dBc)),SZb((se(Yjc(eEc,qkc(46))==-1,YBc,eEc),new q4b(y6b,
eEc)),new q4b(h7b,dBc))));w=p3b(JZb(JZb(DZb(n5b,t,u),v),new q3b(q7b)),l);S2b(l.e,l,w)}else if(c6(a,p))for(m=new Poc(o);m.a<m.c.a.length;){l=Noc(m);i=_5(a,p,l);n=l.e;!!n.b&&!n.b.d&&(sib(),Kjb(n.e))?S2b(n,l,i):S2b(n,l,m3b(JZb(i,m3b(new q3b((F7b(),q7b)),l)),l))}else{e=he(o2b(d,2));g=e.b;h=(Azc(0,o.a.length),o.a[0]);if(!!e.b&&!e.b.d&&g.j==(F7b(),L5b)&&!!g.b&&!g.b.d&&g.b==h){oe(o.a.length==1,d);S2b(e,g,p3b(j$b(f$b(_5(a,p,(Azc(0,o.a.length),o.a[0])),new q3b((F7b(),q7b)))),g))}else{k=new k6(o);gib(a.a,e,
k);e2b(e,n3b(MZb((se(Yjc(gEc,qkc(46))==-1,YBc,gEc),new q4b((F7b(),y6b),gEc)),z7b),e));d2b(e,n3b(j$b((se(Yjc(gEc,qkc(46))==-1,YBc,gEc),new q4b(y6b,gEc))),e));for(m=new Poc(o);m.a<m.c.a.length;){l=Noc(m);i=_5(a,p,l);T2b(l,p3b(CZb((se(Yjc(gEc,qkc(46))==-1,YBc,gEc),new q4b(y6b,gEc)),f$b(i,new q3b(q7b))),l))}}d1(a.a)}}}function O7(a,b,c){var d,e,f,g,h,i,j,k,l,m,n,o;s0(a.a,yEc,false);a.g=false;i=m2b(t2b(Y0(a.a,Rc(new Vc(String.fromCharCode(10)),"function generatorBody() {","  var $jscomp$generator$state = "+
G7+";",$C(VC(AS,1),qAc,1,5,["  function $jscomp$generator$impl($jscomp$generator$next$arg, ","      $jscomp$generator$throw$arg) {","    while (1) switch ($jscomp$generator$state) {","      case "+G7+":","      default:","        return {value: undefined, done: true};","    }","  }","  var iterator = /** @type {!Generator<?>} */ ({","    next: function(arg) { return $jscomp$generator$impl(arg, undefined); },","    throw: function(arg) { return $jscomp$generator$impl(undefined, arg); },","    return: function(arg) { throw Error('Not yet implemented'); },",
"  });","  $jscomp.initSymbolIterator();","  /** @this {!Generator<?>} */","  iterator[Symbol.iterator] = function() { return this; };","  return iterator;","}"]))).b));++G7;a.j=b.b?b.b.f:null;S2b(b,a.j,i);o=R2b(b,b.g,59);o!=b.g&&(b.g=o);g=X1b(u2b(b,29));H1b(g,(km(),new ly(GDc)));j=F0b(g,false);n=R2b(b,b.g,29);n!=b.g&&(b.g=n);!!j&&(b.g=new d4b(29,j,b.g));d2b(a.j,NZb(CZb((se(Yjc(wEc,qkc(46))==-1,YBc,wEc),new q4b((F7b(),y6b),wEc)),new $3b(-1))));a.e=t2b(J7(a,i,h5b));a.i=i.b;sib();Ajb(a.j,zEc,(ye(),
df(),af))&&b2b(a.i.e,LZb((se(Yjc(zEc,qkc(46))==-1,YBc,zEc),new q4b(y6b,zEc)),(se(Yjc(PDc,qkc(46))==-1,YBc,PDc),new q4b(y6b,PDc)),z7b),a.i);Ajb(a.j,AEc,(null,af))&&b2b(a.i.e,LZb((se(Yjc(AEc,qkc(46))==-1,YBc,AEc),new q4b(y6b,AEc)),new q3b(q7b),z7b),a.i);while(a.j.b){a.d=Q2b(a.j);d=L7(a);if(d){if(s2b(a.d,66)!=0)h=UD(a.d.b.Kh());else{h=G7;++G7}m=a.e.e;k=HZb(new $3b(h),(f=new q3b(c5b),f));a.e=k.b?k.b.f:null;if(m.j==t7b){m=!m.e?null:m.e.e;if(a.b.a.length!=0){l=s$b((e=new q3b(c5b),e),k2b(koc(a.b,0).a,false));
d2b(k.b?k.b.f:null,l);a.e=t2b(k.b?k.b.f:null).b}}b2b(m.e,k,m)}}p3b(c,c);d1(a.a)}function Z8(a,b,c){var d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v;U8(a,b);r=q9(b,c);if(!r||r.f==null)throw RU(new Xic("Can only convert classes that are declarations or the right hand side of a simple assignment: "+b));if(r.k.j!=(F7b(),B5b)&&!F2b(r.k)){c1(a.a,Keb(r.k,P8,$C(VC(FS,1),bAc,2,6,[])));return}se((sib(),Kjb(r.g.e)),"insertion point must be a statement: %s",r.g);f=null;g=null;e=b.b?b.b.f:null;for(q=(!e.b?(Gpc(),Gpc(),
Fpc):new k4b(e.b)).Md();q.Ed();){p=q.Fd();if(p.j==o5b&&(s2b(p,73)!=0||s2b(p,74)!=0)||p.j==X5b||p.j==c7b)_8(a,p,r);else if(p.j==t6b&&Vjc(p.Lh(),SDc)){g=u2b(p,29);f=m2b(p.b);r.a||S2b(f,f.b,r.c.Jh(false))}else if(p.j==B5b);else{se(p.j==t6b||p.j==o5b,"Unexpected class member:",p);se(s2b(p,75)==0,"Member variables should have been transpiled earlier:",p);$8(a,p,r)}}if(r.e.b){s0(a.a,NEc,false);i=NZb(GZb(Yjb(a.a,OEc),$C(VC(jR,1),ZBc,7,0,[Yjb(a.a,r.f+JEc),r.e])));p3b(i,b);b2b(r.g.e,i,r.g);r.g=i;c9(a,r.e)}if(r.d.b){s0(a.a,
NEc,false);i=NZb(GZb(Yjb(a.a,OEc),$C(VC(jR,1),ZBc,7,0,[Yjb(a.a,r.f),r.d])));p3b(i,b);b2b(r.g.e,i,r.g);r.g=i;c9(a,r.d)}he(f);d=(o=Fib(b),!o?null:u2b(o,29));s=X1b(d);R0b(s);j=Iib(b,rib);if(r.k.j!=B5b){u=v2b(r.k);if(o_b(s.a))_0b(s,new Z1b(new s3b(Z4b,new q4b(h7b,u)),(k=u2b(r.k,51),!k?null:k.Ig())));else{l=u2b(b,51);if(!(!!l&&l.vh())){m=GZb(Yjb(a.a,OCc),$C(VC(jR,1),ZBc,7,0,[Yjb(a.a,r.f),Yjb(a.a,u)]));n=(oe(ZZb(m),m),new s3b(L5b,m));s0(a.a,"es6/util/inherits",false);p3b(n,b);b2b(j.e,n,j)}N0b(s,new Z1b(new s3b(Z4b,
new q4b(h7b,u)),(k=u2b(r.k,51),!k?null:k.Ig())))}}S8(a,r,j);X8(g,s);if(Kjb(b.e)){f.b.Qh("");h=LZb(r.c.Jh(false),f,q6b);p3b(h,b);S2b(c,b,h)}else S2b(c,b,f);if(Kjb(f.e))Y2b(f,F0b(s,false));else if(c.j==y6b){v=c.e;Y2b(v,F0b(s,false))}else if(f.e.j==y6b){v=!f.e?null:f.e.e;Y2b(v,F0b(s,false))}else if(c.j==L4b)Y2b(c,F0b(s,false));else throw RU(new Xic("Unexpected parent node "+c));t=R2b(f,f.g,92);t!=f.g&&(f.g=t);f.g=new V3b(92,1,f.g);d1(a.a)}function Xcc(){Xcc=qV;Wbc=new Ycc(nIc,0);Vbc=new Ycc("ARRAY_FUNCTION_TYPE",
1);Zbc=new Ycc(EIc,2);Ybc=new Ycc("BOOLEAN_OBJECT_TYPE",3);Xbc=new Ycc("BOOLEAN_OBJECT_FUNCTION_TYPE",4);$bc=new Ycc("CHECKED_UNKNOWN_TYPE",5);acc=new Ycc("DATE_TYPE",6);_bc=new Ycc("DATE_FUNCTION_TYPE",7);bcc=new Ycc("ERROR_FUNCTION_TYPE",8);ccc=new Ycc("ERROR_TYPE",9);dcc=new Ycc("EVAL_ERROR_FUNCTION_TYPE",10);ecc=new Ycc("EVAL_ERROR_TYPE",11);fcc=new Ycc("FUNCTION_FUNCTION_TYPE",12);gcc=new Ycc("FUNCTION_INSTANCE_TYPE",13);hcc=new Ycc("FUNCTION_PROTOTYPE",14);occ=new Ycc("NULL_TYPE",15);ucc=new Ycc(FIc,
16);rcc=new Ycc("NUMBER_OBJECT_TYPE",17);qcc=new Ycc("NUMBER_OBJECT_FUNCTION_TYPE",18);Acc=new Ycc("OBJECT_TYPE",19);wcc=new Ycc("OBJECT_FUNCTION_TYPE",20);zcc=new Ycc("OBJECT_PROTOTYPE",21);Bcc=new Ycc("RANGE_ERROR_FUNCTION_TYPE",22);Ccc=new Ycc("RANGE_ERROR_TYPE",23);Dcc=new Ycc("REFERENCE_ERROR_FUNCTION_TYPE",24);Ecc=new Ycc("REFERENCE_ERROR_TYPE",25);Gcc=new Ycc("REGEXP_TYPE",26);Fcc=new Ycc("REGEXP_FUNCTION_TYPE",27);Icc=new Ycc("STRING_OBJECT_TYPE",28);Hcc=new Ycc("STRING_OBJECT_FUNCTION_TYPE",
29);Jcc=new Ycc(DIc,30);Lcc=new Ycc("SYNTAX_ERROR_FUNCTION_TYPE",31);Mcc=new Ycc("SYNTAX_ERROR_TYPE",32);Pcc=new Ycc("TYPE_ERROR_FUNCTION_TYPE",33);Qcc=new Ycc("TYPE_ERROR_TYPE",34);Tcc=new Ycc("UNKNOWN_TYPE",35);Ucc=new Ycc("URI_ERROR_FUNCTION_TYPE",36);Vcc=new Ycc("URI_ERROR_TYPE",37);Wcc=new Ycc("VOID_TYPE",38);Ncc=new Ycc("TOP_LEVEL_PROTOTYPE",39);Kcc=new Ycc("STRING_VALUE_OR_OBJECT_TYPE",40);vcc=new Ycc("NUMBER_VALUE_OR_OBJECT_TYPE",41);Ubc=new Ycc("ALL_TYPE",42);ncc=new Ycc("NO_TYPE",43);lcc=
new Ycc("NO_OBJECT_TYPE",44);mcc=new Ycc("NO_RESOLVED_TYPE",45);icc=new Ycc("GLOBAL_THIS",46);Rcc=new Ycc("U2U_CONSTRUCTOR_TYPE",47);Scc=new Ycc("U2U_FUNCTION_TYPE",48);kcc=new Ycc("LEAST_FUNCTION_TYPE",49);jcc=new Ycc("GREATEST_FUNCTION_TYPE",50);pcc=new Ycc("NULL_VOID",51);xcc=new Ycc("OBJECT_NUMBER_STRING",52);ycc=new Ycc("OBJECT_NUMBER_STRING_BOOLEAN",53);tcc=new Ycc("NUMBER_STRING_BOOLEAN",54);scc=new Ycc("NUMBER_STRING",55);Occ=new Ycc(vGc,56)}function J2(){B2();this.mc=(LFb(),KFb);this.$=new L4;
this.bc=(Lm(),new iy("./"));this.sb=(null,Km);this.pb=(null,Km);this.vd=new l4($C(VC(eN,1),qAc,177,0,[]));this.ad=(Ipb(),Gpb);this.bd=(Rpb(),Ppb);this.cd=(Gpc(),Gpc(),Epc);this.N=(null,Km);this.Vb=(C3(),q3);this.Wb=B3;this.fb=(_2(),Z2);this.$c=false;this._=(Q2(),N2);this.q=false;this.A=false;this.w=false;this.B=false;this.s=(kY(),iY);this.o=hY;this.t=iY;this.v=iY;this.u=null;this.M=false;this.p=false;this.mb=null;this.r=(W2(),U2);this.rb=false;this.F=false;this.W=false;this.Bb=false;this.Cb=false;
this.ac=-1;this.Eb=false;this.n=false;this.k=false;this.Gb=false;this.P=false;this.lc=false;this.R=false;this.Db=false;this.Hb=false;this.Fb=false;this._c=false;this.nb=false;this.Ec=false;this.ob=(f3(),c3);this.Jc=false;this.Kc=false;this.Gc=false;this.Hc=false;this.Lc=false;this.Ic=false;this.K=false;this.H=false;this.e=(null,Fpc);this.d="";this.b=false;this.kc=false;this.O=false;this.Wc=false;this.gc=false;this.hc=false;this.ud=(Itb(),Htb);this.yc=(xnb(),wnb);this.Ub=false;this.wb=false;this.Zc=
false;this.qc=false;this.Mc=null;this.J=false;this.I=false;this.ab=false;this.cb=false;this.f=false;this.i=(XV(),VV);this.jb=false;this.Y=true;this.dc=new E4;this.Xc=false;this.Yc=null;this.ld=null;this.kd=null;this.Zb=null;this.$b=false;this.D=false;this.rc=false;this.Tb=false;this.g=false;this.nc=false;this.V=false;this.Sb=(n3(),k3);this.Cc=false;this.Fc=false;this.Dc=false;this.hd=(null,Fpc);this.fd=(null,Fpc);this.ed=(null,Fpc);this.gd=(null,Fpc);this.U=null;this._b=false;this.Z=new Qtc;this.pd=
(Z3(),X3);this.qd=new Qtc;this.cc=false;this.j="";this.Bc=false;this.C=false;this.jc=(L3(),J3);this.ub=false;this.vb=true;this.ib=false;this.S=null;this.T=null;this.wc=false;this.xb=(mx(),lx);this.Qc=(null,Epc);this.Sc="";this.Tc=(null,Fpc);this.xc=new Qtc;this.Lb=lx;this.Pb=null;this.Ob=false;this.Nb=false;this.Qb="";this.sc=false;this.uc=false;this.tc=false;this.Xb=false;this.oc=false;this.Uc=null;this.nd=(T3(),Q3);this.L=false;this.gb=(J5(),H5);this.X=null;this.kb=false;this.c=A2;this.hb=null;
this.vc=false;this.rd=false}function TMb(){TMb=qV;pMb=new UMb("ES3_KEYWORDS_AS_IDENTIFIERS",0,"ES3 keywords as identifiers",(WLb(),NLb));vMb=new UMb("GETTER",1,"getters",NLb);zMb=new UMb("KEYWORDS_AS_PROPERTIES",2,"reserved words as properties",NLb);LMb=new UMb("SETTER",3,"setters",NLb);NMb=new UMb("STRING_CONTINUATION",4,"string continuation",NLb);QMb=new UMb("TRAILING_COMMA",5,"trailing comma",NLb);eMb=new UMb("ARROW_FUNCTIONS",6,"arrow function",PLb);gMb=new UMb("BINARY_LITERALS",7,"binary literal",
PLb);GMb=new UMb("OCTAL_LITERALS",8,"octal literal",PLb);iMb=new UMb("CLASSES",9,tCc,PLb);jMb=new UMb("COMPUTED_PROPERTIES",10,"computed property",PLb);rMb=new UMb("EXTENDED_OBJECT_LITERALS",11,"extended object literal",PLb);sMb=new UMb("FOR_OF",12,"for-of loop",PLb);tMb=new UMb("GENERATORS",13,"generator",PLb);AMb=new UMb("LET_DECLARATIONS",14,"let declaration",PLb);BMb=new UMb("MEMBER_DECLARATIONS",15,"member declaration",PLb);JMb=new UMb("REGEXP_FLAG_Y",16,"RegExp flag 'y'",PLb);KMb=new UMb("REST_PARAMETERS",
17,"rest parameter",PLb);MMb=new UMb("SPREAD_EXPRESSIONS",18,"spread expression",PLb);OMb=new UMb(MHc,19,yCc,PLb);PMb=new UMb("TEMPLATE_LITERALS",20,"template literal",PLb);lMb=new UMb("CONST_DECLARATIONS",21,"const declaration",OLb);nMb=new UMb("DESTRUCTURING",22,"destructuring",OLb);FMb=new UMb(NHc,23,zCc,OLb);IMb=new UMb("REGEXP_FLAG_U",24,"RegExp flag 'u'",OLb);mMb=new UMb("DEFAULT_PARAMETERS",25,"default parameter",OLb);DMb=new UMb("MODULES",26,"modules",QLb);qMb=new UMb("EXPONENT_OP",27,"exponent operator (**)",
RLb);fMb=new UMb("ASYNC_FUNCTIONS",28,LCc,TLb);dMb=new UMb(OHc,29,"ambient declaration",VLb);hMb=new UMb(PHc,30,"call signature",VLb);kMb=new UMb("CONSTRUCTOR_SIGNATURE",31,"constructor signature",VLb);oMb=new UMb(MGc,32,HCc,VLb);uMb=new UMb("GENERICS",33,"generics",VLb);wMb=new UMb(PGc,34,vCc,VLb);xMb=new UMb(QHc,35,"index signature",VLb);yMb=new UMb(QGc,36,GCc,VLb);CMb=new UMb("MEMBER_VARIABLE_IN_CLASS",37,"member variable in class",VLb);EMb=new UMb(RHc,38,"namespace declaration",VLb);HMb=new UMb(SHc,
39,"optional parameter",VLb);RMb=new UMb(THc,40,"type alias",VLb);SMb=new UMb("TYPE_ANNOTATION",41,"type annotation",VLb)}function BZ(){BZ=qV;new y5("JSC_GOOG_MODULE_INVALID_MODULE_NAMESPACE",(kY(),hY),new klc("goog.module parameter must be string literals"));new y5("JSC_GOOG_MODULE_INVALID_PROVIDE_NAMESPACE",hY,new klc("goog.provide parameter must be a string literal."));new y5("JSC_GOOG_MODULE_INVALID_REQUIRE_NAMESPACE",hY,new klc("goog.require parameter must be a string literal."));new y5("JSC_GOOG_MODULE_INVALID_FORWARD_DECLARE_NAMESPACE",
hY,new klc("goog.forwardDeclare parameter must be a string literal."));new y5("JSC_GOOG_MODULE_INVALID_GET_NAMESPACE",hY,new klc("goog.module.get parameter must be a string literal."));new y5("JSC_GOOG_MODULE_INVALID_PROVIDE_CALL",hY,new klc("goog.provide can not be called in goog.module."));new y5("JSC_GOOG_MODULE_INVALID_GET_CALL_SCOPE",hY,new klc("goog.module.get can not be called in global scope."));new y5("JSC_GOOG_MODULE_INVALID_GET_ALIAS",hY,new klc("goog.module.get should not be aliased."));
new y5("JSC_GOOG_MODULE_INVALID_EXPORT_COMPUTED_PROPERTY",hY,new klc("Computed properties are not yet supported in goog.module exports."));zZ=new y5("JSC_USELESS_USE_STRICT_DIRECTIVE",iY,new klc("'use strict' is unnecessary in goog.module files."));new y5("JSC_DUPLICATE_MODULE",hY,new klc("Duplicate module: {0}"));new y5("JSC_DUPLICATE_NAMESPACE",hY,new klc("Duplicate namespace: {0}"));yZ=new y5("JSC_MISSING_MODULE_OR_PROVIDE",hY,new klc('Required namespace "{0}" never defined.'));xZ=new y5(iCc,hY,
new klc('Required namespace "{0}" not provided yet.'));new y5("JSC_IMPORT_INLINING_SHADOWS_VAR",hY,new klc('Inlining of reference to import "{1}" shadows var "{0}".'));new y5("JSC_QUALIFIED_REFERENCE_TO_GOOG_MODULE",hY,new klc("Fully qualified reference to name ''{0}'' provided by a goog.module.\nEither use short import syntax or convert module to use goog.module.declareLegacyNamespace."));new y5("JSC_ILLEGAL_DESTRUCTURING_DEFAULT_EXPORT",hY,new klc("Destructuring import cannot refer to a module with default export. Please use standard (non-destructuring) import instead."));
new y5("JSC_ILLEGAL_DESTRUCTURING_NOT_EXPORTED",hY,new klc('Destructuring import reference to name "{0}" was not exported in module {1}'));AZ=(km(),new ly(jCc))}function Beb(a,b){var c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t;g=false;k=new soc;k.a[k.a.length]="/**";(b.a&QEc)!=0?(k.a[k.a.length]="@export",true):!!b.j&&b.j!=(z0b(),u0b)&&hoc(k,"@"+Qe(b.j).toLowerCase());(b.a&lFc)!=0&&(k.a[k.a.length]="@abstract",true);(!b.d?null:b.d.g)!=null&&hoc(k,"@lends {"+(!b.d?null:b.d.g)+"}");(b.a&37)!=0&&(b.a&4)==0&&
(b.a&32)==0&&(k.a[k.a.length]="@const",true);(b.a&32)!=0&&(k.a[k.a.length]="@final",true);d=!b.d?null:b.d.c;d!=null&&(k.a[k.a.length]="@desc "+d+fBc,true);(b.a&MEc)!=0&&(k.a[k.a.length]="@dict",true);(b.a&sBc)!=0&&(k.a[k.a.length]="@struct",true);(b.a&LEc)!=0&&(k.a[k.a.length]="@unrestricted ",true);(b.a&2)!=0&&(k.a[k.a.length]="@constructor",true);((b.a&512)!=0||(b.a&NDc)!=0)&&(b.a&NDc)==0&&(k.a[k.a.length]="@interface",true);((b.a&512)!=0||(b.a&NDc)!=0)&&(b.a&NDc)!=0&&(k.a[k.a.length]="@record",
true);if(!b.d?null:b.d.a){g=true;s=Ceb((!b.d?null:b.d.a).a);hoc(k,zeb(a,uCc,s))}for(r=V$b(b).Md();r.Ed();){p=r.Fd();g=true;s=Ceb(p.a);hoc(k,zeb(a,uCc,s))}for(q=X$b(b).Md();q.Ed();){p=q.Fd();g=true;s=Ceb(p.a);hoc(k,zeb(a,vCc,s))}if(b.g){g=true;s=Ceb(b.g.a);hoc(k,zeb(a,xCc,s))}if(_$b(b)>0){g=true;for(i=b_b(b).Md();i.Ed();){h=i.Fd();hoc(k,"@param "+Aeb(a,h,c_b(b,h)))}}if((b.a&KEc)==SAc){g=true;hoc(k,zeb(a,lCc,((KEc&b.a)==SAc?b.i:null).a))}f_b(b).isEmpty()||hoc(k,zeb(a,vFc,f_b(b).getAtIndex(0).a));j=
e_b(b);if(!j.isEmpty()){hoc(k,wFc+Sc(new Vc(String.fromCharCode(44)),j.Md()));g=true}t=j_b(b);if(!t.isEmpty()){g=true;for(f=An(t).Md();f.Ed();){e=f.Fd();h=e.xe();o=G$(new M$(e.ye()));k.a[k.a.length]=wFc+h+" := "+o+" =:"}}(b.a&64)!=0&&(k.a[k.a.length]="@override",true);(b.a&KEc)==PEc&&(b.a&4)==0&&(b.e?hoc(k,Deb(a,((KEc&b.a)==PEc?b.i:null).a)):hoc(k,zeb(a,JCc,((KEc&b.a)==PEc?b.i:null).a)));(b.a&4)!=0&&hoc(k,zeb(a,"define",((KEc&b.a)==PEc?b.i:null).a));(b.a&KEc)==hBc&&hoc(k,zeb(a,xFc,((KEc&b.a)==hBc?
b.i:null).a));(b.a&KEc)==XEc&&hoc(k,zeb(a,HCc,((KEc&b.a)==XEc?b.i:null).a));n=(m=!b.d?null:b.d.p,!m?(Gpc(),Gpc(),Fpc):m);if(!n.isEmpty()){c=n.Nd(XC(FS,bAc,2,0,6,1));npc(c,($w(),Zw));hoc(k,"@suppress {"+Sc(new Vc(String.fromCharCode(44)),new Ylc(new xpc(c)))+"}");g=true}if((b.a&256)!=0){hoc(k,"@deprecated "+(!b.d?null:b.d.b));g=true}k.a[k.a.length]="*/";l=new Ikc;g?Qc(new Vc("\n "),l,new Poc(k)):Qc(new Vc(" "),l,new Poc(k));l.a+=g?fBc:" ";return l.a}function L7(a){var b,c,d,e,f,g,h,i,j,k,l,m,n,o;if(a.d.j==
(F7b(),z7b)){U7(a);return false}else if(s2b(a.d,66)!=0){a.c.a.length!=0&&koc(a.c,0).a==a.d.b.Kh()&&noc(a.c,0);a.b.a.length!=0&&koc(a.b,0).b==a.d.b.Kh()&&noc(a.b,0);return true}else if(a.d.j==Q5b){b2b(a.i.e,a.d,a.i);return false}else if(C2b(a.d)){M7(a);return false}else if(H7(a,a.d))switch(a.d.j.f){case 70:case 71:case 72:R7(a,null);return false;case 73:b=Q2b(a.d);c=Q2b(a.d);d=Q2b(a.d);e=""+a.f.a.W++;f=(se(Yjc(tEc+e,qkc(46))==-1,YBc,tEc+e),new q4b(y6b,tEc+e));g=(se(Yjc(uEc+e,qkc(46))==-1,YBc,uEc+e),
new q4b(y6b,uEc+e));h=(se(Yjc(vEc+e,qkc(46))==-1,YBc,vEc+e),new q4b(y6b,vEc+e));b.j==z7b&&(b=Q2b(b));e2b(d,VZb(d$b(WZb(k2b(b,false),k2b(h,false))),EZb(new q3b(q5b))));e2b(d,LZb(k2b(b,false),RZb(k2b(f,false),k2b(g,false)),z7b));b2b(a.i.e,MZb(k2b(f,false),z7b),a.i);b2b(a.i.e,MZb(k2b(g,false),z7b),a.i);b2b(a.i.e,MZb(k2b(h,false),z7b),a.i);i=NZb(CZb(k2b(f,false),BZb($C(VC(jR,1),ZBc,7,0,[]))));j=NZb(CZb(k2b(h,false),c));k=OZb(k2b(b,false),h,EZb(NZb(GZb(SZb(k2b(f,false),new q4b(h7b,"push")),$C(VC(jR,1),
ZBc,7,0,[b])))));l=PZb(CZb(k2b(g,false),new $3b(0)),YZb(k2b(g,false),SZb(f,new q4b(h7b,"length"))),XZb(g,true),d);d2b(a.e,i);d2b(a.e,j);d2b(a.e,k);e2b(a.j,l);return false;case 83:Q7(a);return false;case 67:S7(a);return false;case 66:if(s2b(a.d,67)==0){P7(a);return false}break;case 44:T7(a);return false;case 84:if(a.d.b.j==E7b){d2b(a.e,NZb(CZb((se(Yjc(wEc,qkc(46))==-1,YBc,wEc),new q4b(y6b,wEc)),new $3b(G7))));m=a.d.b;n=m.b?Q2b(m):(se(Yjc(hEc,qkc(46))==-1,YBc,hEc),new q4b(y6b,hEc));d2b(a.e,j$b(e$b($C(VC(jR,
1),ZBc,7,0,[i$b(new q4b(i7b,sEc),n),i$b(new q4b(i7b,xEc),new q3b(M5b))]))));return true}break;case 0:d2b(a.e,NZb(CZb((se(Yjc(wEc,qkc(46))==-1,YBc,wEc),new q4b(y6b,wEc)),new $3b(-1))));d2b(a.e,j$b(Y7(a.d.b?Q2b(a.d):(se(Yjc(hEc,qkc(46))==-1,YBc,hEc),new q4b(y6b,hEc)))));return false;case 75:ne(koc(a.c,0).b!=-1);a.d.b?o=I7(a,Q2b(a.d).Lh()).b:o=koc(a.c,0).b;d2b(a.e,NZb(CZb((se(Yjc(wEc,qkc(46))==-1,YBc,wEc),new q4b(y6b,wEc)),new $3b(o))));d2b(a.e,Z7());return false;case 74:if(s2b(a.d,67)==0){N7(a);return false}break;
case 39:d2b(a.e,NZb(CZb((se(Yjc(wEc,qkc(46))==-1,YBc,wEc),new q4b(y6b,wEc)),new $3b(-1))));d2b(a.e,a.d);return false;default:throw RU(new bC("Untranslatable control-exiting statement in generator function: "+a.d.j));}d2b(a.e,a.d);return false}function aX(a,b,c){var d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,A,B,C,D,F;switch(b.j.f){case 83:NW((F7b(),l6b),b);e=H7b(b.j);e!=-1&&(f=p2b(b),e!=f&&mX(CBc+e+DBc+f,b));DW(b.b);aX(a,b.b?b.b.f:null,false);return;case 82:dW(a,b);return;case 65:c?uW(a,b,true):(NW((F7b(),
Q5b),b),g=H7b(b.j),g!=-1&&(h=p2b(b),g!=h&&mX(CBc+g+DBc+h,b)),HW(b.b),VW(a,b.b.d),dW(a,b.b?b.b.f:null),undefined);return;case 77:NW((F7b(),D7b),b);i=H7b(b.j);i!=-1&&(j=p2b(b),i!=j&&mX(CBc+i+DBc+j,b));tW(a,b.b);dW(a,b.b?b.b.f:null);return;case 72:NW((F7b(),N5b),b);k=p2b(b);4!=k&&mX("Expected 4 children, but was "+k,b);jX(a,b.b);UW(a,b.b.d);UW(a,o2b(b,2));dW(a,b.b?b.b.f:null);return;case 73:NW((F7b(),O5b),b);l=p2b(b);3!=l&&mX("Expected 3 children, but was "+l,b);iX(a,b.b);tW(a,b.b.d);dW(a,b.b?b.b.f:
null);return;case 101:NW((F7b(),P5b),b);m=H7b(b.j);m!=-1&&(n=p2b(b),m!=n&&mX(CBc+m+DBc+n,b));iX(a,b.b);tW(a,b.b.d);dW(a,b.b?b.b.f:null);return;case 70:NW((F7b(),C7b),b);o=H7b(b.j);o!=-1&&(p=p2b(b),o!=p&&mX(CBc+o+DBc+p,b));tW(a,b.b);dW(a,b.b?b.b.f:null);return;case 71:NW((F7b(),z5b),b);q=H7b(b.j);q!=-1&&(r=p2b(b),q!=r&&mX(CBc+q+DBc+r,b));dW(a,b.b);tW(a,b.b?b.b.f:null);return;case 67:dX(a,b);return;case 66:NW((F7b(),$5b),b);s=p2b(b);(s<2||s>3)&&mX(OBc+s,b);tW(a,b.b);dW(a,b.b.d);p2b(b)==3&&dW(a,b.b?
b.b.f:null);return;case 76:case 100:case 88:IW(a,b.j,b);return;case 84:NW((F7b(),L5b),b);t=H7b(b.j);t!=-1&&(u=p2b(b),t!=u&&mX(CBc+t+DBc+u,b));tW(a,b.b);return;case 0:NW((F7b(),$6b),b);EW(b);!!b.b&&tW(a,b.b);return;case 39:NW((F7b(),r7b),b);v=H7b(b.j);v!=-1&&(w=p2b(b),v!=w&&mX(CBc+v+DBc+w,b));tW(a,b.b);return;case 44:gX(a,b);return;case 74:NW((F7b(),e5b),b);EW(b);!!b.b&&DW(b.b);return;case 75:NW((F7b(),q5b),b);EW(b);!!b.b&&DW(b.b);return;case 80:case 89:d=p2b(b);0!=d&&mX(BBc+d,b);return;case 96:iW(a,
b,c);HW(b.b);return;case 104:wW(a,b);return;case 108:qW(a,b,c);return;case 148:a.a.v==(C3(),v3)||mX("Feature 'interface' is only allowed in ES6 Typed mode.",b);NW((F7b(),i6b),b);A=H7b(b.j);A!=-1&&(B=p2b(b),A!=B&&mX(CBc+A+DBc+B,b));C=b.b;HW(C);D=C.d;D.j==B5b?(F=p2b(D),0!=F&&mX(BBc+F,D)):zW(D);BW(a,b.b?b.b.f:null);return;case 151:oW(a,b);return;case 154:hX(a,b);return;case 155:a.a.v==(C3(),v3)||mX("Feature 'ambient declaration' is only allowed in ES6 Typed mode.",b);NW((F7b(),t5b),b);$V(a,b.b);return;
case 159:JW(a,b,c);return;default:mX("Expected statement but was "+b.j+".",b)}}function RY(){RY=qV;new y5(WBc,(kY(),hY),new klc("@export has no effect here"));LY=new y5(WBc,hY,new klc("@export is not allowed here in a non-legacy goog.module. Consider using goog.exportSymbol instead."));new y5("JSC_GOOG_MODULE_REFERENCES_THIS",hY,new klc("The body of a goog.module cannot reference 'this'."));new y5("JSC_GOOG_MODULE_USES_THROW",hY,new klc("The body of a goog.module cannot use 'throw'."));new y5("JSC_GOOG_MODULE_USES_GOOG_MODULE_GET",
hY,new klc("It's illegal to use a 'goog.module.get' at the module top-level. Did you mean to use goog.require instead?"));new y5("JSC_INVALID_DESTRUCTURING_REQUIRE",hY,new klc("Destructuring goog.require must be a simple object pattern."));OY=new y5("JSC_LET_GOOG_REQUIRE",iY,new klc("Module imports must be constant. Please use 'const' instead of 'let'."));new y5("JSC_MULTIPLE_MODULES_IN_FILE",hY,new klc("There should only be a single goog.module() statement per file."));new y5("JSC_MODULE_AND_PROVIDES",
hY,new klc("A file using goog.module() may not also use goog.provide() statements."));new y5("JSC_ONE_REQUIRE_PER_DECLARATION",hY,new klc("There may only be one goog.require() per var/let/const declaration."));new y5("JSC_EXPORT_NOT_A_MODULE_LEVEL_STATEMENT",hY,new klc("Exports must be a statement at the top-level of a module"));new y5("JSC_EXPORT_REPEATED_ERROR",hY,new klc("Name cannot be exported multiple times. Previous export on line {0}."));new y5("JSC_REFERENCE_TO_MODULE_GLOBAL_NAME",hY,new klc("References to the global name of a module are not allowed. Perhaps you meant exports?"));
PY=new y5("JSC_REFERENCE_TO_FULLY_QUALIFIED_IMPORT_NAME",iY,new klc("Reference to fully qualified import name ''{0}''. Imports in goog.module should use the return value of goog.require instead."));QY=new y5("JSC_REFERENCE_TO_SHORT_IMPORT_BY_LONG_NAME_INCLUDING_SHORT_NAME",iY,new klc("Reference to fully qualified import name ''{0}''. Please use the short name ''{1}'' instead."));MY=new y5("JSC_JSDOC_REFERENCE_TO_FULLY_QUALIFIED_IMPORT_NAME",iY,new klc("Reference to fully qualified import name ''{0}'' in JSDoc. Imports in goog.module should use the return value of goog.require instead."));
NY=new y5("JSC_JSDOC_REFERENCE_TO_SHORT_IMPORT_BY_LONG_NAME_INCLUDING_SHORT_NAME",iY,new klc("Reference to fully qualified import name ''{0}'' in JSDoc. Please use the short name ''{1}'' instead."));new y5("JSC_REQUIRE_NOT_AT_TOP_LEVEL",hY,new klc("goog.require() must be called at file scope."))}function rQb(a){var b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,A,B,C,D,F,G,H,I,J,K,L,M,N,O,P,Q,R,S,T;switch(qRb(a.j,0).c.f){case 45:return aPb(a);case 30:case 25:return DQb(a);case 52:return lPb(a);case 15:return FPb(a);
case 10:return c=qRb(a.j,0).b.b,tOb(a,(hUb(),CSb)),d=nQb(a),tOb(a,eUb),tOb(a,nTb),e=HOb(a,1),tOb(a,sSb),GQb(a,GTb)&&tOb(a,GTb),new bVb(new CYb(c,a.g),d,e);case 27:return f=qRb(a.j,0).b.b,tOb(a,(hUb(),eUb)),tOb(a,nTb),g=HOb(a,1),tOb(a,sSb),h=nQb(a),new sYb(new CYb(f,a.g),g,h);case 13:return vPb(a);case 6:return i=qRb(a.j,0).b.b,tOb(a,(hUb(),xSb)),j=null,k=qRb(a.j,0).b.b.b>a.g.b,k||FQb(a,0,GTb)||FQb(a,0,rSb)||FQb(a,0,ESb)||(j=(l=qRb(a.j,0).c,Atc(wtc(RSb,$C(VC(EO,1),vAc,13,0,[$Tb,zSb,dTb,eTb])),l)||
!a.b.b&&bOb(l)?vOb(a):null)),yOb(a),new ZUb(new CYb(i,a.g),j);case 3:return m=qRb(a.j,0).b.b,tOb(a,(hUb(),kSb)),n=null,o=qRb(a.j,0).b.b.b>a.g.b,o||FQb(a,0,GTb)||FQb(a,0,rSb)||FQb(a,0,ESb)||(n=(p=qRb(a.j,0).c,Atc(wtc(RSb,$C(VC(EO,1),vAc,13,0,[$Tb,zSb,dTb,eTb])),p)||!a.b.b&&bOb(p)?vOb(a):null)),yOb(a),new AUb(new CYb(m,a.g),n);case 19:return q=qRb(a.j,0).b.b,tOb(a,(hUb(),DTb)),r=null,s=qRb(a.j,0).b.b.b>a.g.b,s||FQb(a,0,GTb)||FQb(a,0,rSb)||FQb(a,0,ESb)||(r=HOb(a,1)),yOb(a),new ZXb(new CYb(q,a.g),r);
case 28:return t=qRb(a.j,0).b.b,tOb(a,(hUb(),fUb)),tOb(a,nTb),u=HOb(a,1),tOb(a,sSb),v=nQb(a),new tYb(new CYb(t,a.g),u,v);case 20:return w=qRb(a.j,0).b.b,tOb(a,(hUb(),RTb)),tOb(a,nTb),A=HOb(a,1),tOb(a,sSb),tOb(a,mTb),B=cPb(a),tOb(a,rSb),new bYb(new CYb(w,a.g),A,B);case 22:return C=qRb(a.j,0).b.b,tOb(a,(hUb(),WTb)),D=null,F=qRb(a.j,0).b.b.b>a.g.b,F||FQb(a,0,GTb)||FQb(a,0,rSb)||FQb(a,0,ESb)?ZQb(a,"semicolon/newline not allowed after 'throw'",$C(VC(AS,1),qAc,1,5,[])):D=HOb(a,1),yOb(a),new gYb(new CYb(C,
a.g),D);case 23:return G=qRb(a.j,0).b.b,tOb(a,(hUb(),ZTb)),H=aPb(a),I=null,GQb(a,oSb)&&(I=(P=qRb(a.j,0).b.b,tOb(a,oSb),tOb(a,nTb),FQb(a,0,oTb)||FQb(a,0,mTb)?Q=aQb(a,0):Q=EPb(a),tOb(a,sSb),R=aPb(a),new EUb(new CYb(P,a.g),Q,R))),J=null,GQb(a,NSb)&&(J=(S=qRb(a.j,0).b.b,tOb(a,NSb),T=aPb(a),new hVb(new CYb(S,a.g),T))),!I&&!J&&ZQb(a,"'catch' or 'finally' expected.",$C(VC(AS,1),qAc,1,5,[])),new hYb(new CYb(G,a.g),H,I,J);case 7:return K=qRb(a.j,0).b.b,tOb(a,(hUb(),ySb)),yOb(a),new $Ub(new CYb(K,a.g));default:{b=
qRb(a.j,0).c;if((Atc(wtc((hUb(),RSb),$C(VC(EO,1),vAc,13,0,[$Tb,zSb,dTb,eTb])),b)||!a.b.b&&bOb(b))&&FQb(a,1,uSb))return L=qRb(a.j,0).b.b,M=uOb(a),tOb(a,uSb),new PVb(new CYb(L,a.g),M,nQb(a))}return N=qRb(a.j,0).b.b,O=HOb(a,1),yOb(a),new gVb(new CYb(N,a.g),O)}}function jzb(){jzb=qV;czb=new y5("JSC_NTI_INVALID_GENERICS_INSTANTIATION",(kY(),jY),new klc("Invalid generics instantiation{0}.\nExpected {1} type argument(s), but found {2}"));Yyb=new y5("JSC_NTI_EXTENDS_NON_OBJECT",jY,new klc("{0} extends non-object type {1}.\n"));
Zyb=new y5("JSC_NTI_EXTENDS_NOT_ON_CTOR_OR_INTERF",jY,new klc("@extends used without @constructor or @interface for {0}.\n"));bzb=new y5("JSC_NTI_INHERITANCE_CYCLE",jY,new klc("Cycle detected in inheritance chain of type {0}"));Tyb=new y5("JSC_NTI_DICT_IMPLEMENTS_INTERF",jY,new klc("Class {0} is a dict. Dicts can't implement interfaces"));azb=new y5("JSC_NTI_IMPLEMENTS_WITHOUT_CONSTRUCTOR",jY,new klc(YEc));Ryb=new y5("JSC_NTI_CONFLICTING_EXTENDED_TYPE",jY,new klc(iGc));Syb=new y5("JSC_NTI_CONFLICTING_IMPLEMENTED_TYPE",
jY,new klc(jGc));hzb=new y5("JSC_NTI_UNION_IS_UNINHABITABLE",jY,new klc("Union of {0} with {1} would create an impossible type"));ezb=new y5("JSC_NTI_NEW_EXPECTS_OBJECT_OR_TYPEVAR",jY,new klc('The "new:" annotation only accepts object types and type variables; found {0}'));Nyb=new y5("JSC_NTI_BAD_ARRAY_TYPE_SYNTAX",jY,new klc("The [] type syntax is not supported. Please use Array<T> instead"));Oyb=new y5("JSC_NTI_CANNOT_MAKE_TYPEVAR_NON_NULL",jY,new klc("Cannot use ! to restrict type variable type.\nPrefer to make type argument non-nullable and add null explicitly where needed (e.g. through ?T or T|null)"));
Pyb=new y5("JSC_NTI_CIRCULAR_TYPEDEF_ENUM",jY,new klc("Circular typedefs/enums are not allowed"));Wyb=new y5("JSC_NTI_ENUM_WITH_TYPEVARS",jY,new klc("An enum type cannot include type variables"));Uyb=new y5("JSC_NTI_ENUM_IS_TOP",jY,new klc("An enum type cannot be *. Use ? if you do not want the elements checked"));Vyb=new y5("JSC_NTI_ENUM_IS_UNION",jY,new klc("An enum type cannot be a union type"));izb=new y5("JSC_NTI_WRONG_PARAMETER_ORDER",jY,new klc("Wrong parameter order: required parameters are first, then optional, then varargs"));
_yb=new y5("JSC_NTI_IMPLEMENTS_NON_INTERFACE",jY,new klc("Cannot implement non-interface {0}"));Xyb=new y5("JSC_NTI_EXTENDS_NON_INTERFACE",jY,new klc("Cannot extend non-interface {0}"));$yb=new y5("JSC_NTI_FUNCTION_WITH_NONFUNC_JSDOC",jY,new klc("The function is annotated with a non-function jsdoc. Ignoring jsdoc"));fzb=new y5("JSC_NTI_TEMPLATED_GETTER_SETTER",jY,new klc("@template can't be used with getters/setters"));gzb=new y5("JSC_NTI_TWO_JSDOCS",jY,new klc("Found two JsDoc comments for {0}"));
Qyb=new U4($C(VC(FJ,1),qAc,5,0,[Nyb,Pyb,Ryb,Syb,Xyb,Yyb,Zyb,_yb,azb,bzb,ezb,fzb,gzb,izb]));dzb=new U4($C(VC(FJ,1),qAc,5,0,[Oyb,Tyb,Uyb,Vyb,Wyb,$yb,czb,hzb]))}function CFb(){CFb=qV;_Eb=new DFb("NG_INJECT",0);wEb=new DFb("ABSTRACT",1);xEb=new DFb("AUTHOR",2);yEb=new DFb("CONSISTENTIDGENERATOR",3);zEb=new DFb("CONSTANT",4);AEb=new DFb(LGc,5);nFb=new DFb("RECORD",6);BEb=new DFb("DEFINE",7);CEb=new DFb("DEPRECATED",8);DEb=new DFb("DESC",9);EEb=new DFb("DICT",10);FEb=new DFb("DISPOSES",11);GEb=new DFb(MGc,
12);JEb=new DFb(NGc,13);KEb=new DFb("EXTERNS",14);HEb=new DFb(OGc,15);IEb=new DFb("EXPOSE",16);LEb=new DFb("FILE_OVERVIEW",17);MEb=new DFb("FINAL",18);NEb=new DFb("HIDDEN",19);OEb=new DFb("IDGENERATOR",20);PEb=new DFb(PGc,21);QEb=new DFb("IMPLICIT_CAST",22);REb=new DFb("INHERIT_DOC",23);SEb=new DFb(QGc,24);TEb=new DFb("JAGGER_INJECT",25);UEb=new DFb("JAGGER_MODULE",26);VEb=new DFb("JAGGER_PROVIDE",27);WEb=new DFb("JAGGER_PROVIDE_PROMISE",28);XEb=new DFb("LENDS",29);YEb=new DFb("LICENSE",30);ZEb=new DFb("MEANING",
31);$Eb=new DFb("MODIFIES",32);bFb=new DFb("NO_ALIAS",33);cFb=new DFb("NO_COLLAPSE",34);dFb=new DFb("NO_COMPILE",35);eFb=new DFb("NO_SIDE_EFFECTS",36);aFb=new DFb("NOT_IMPLEMENTED",37);fFb=new DFb("OVERRIDE",38);gFb=new DFb(RGc,39);hFb=new DFb("PARAM",40);iFb=new DFb("POLYMER_BEHAVIOR",41);jFb=new DFb("PRESERVE",42);kFb=new DFb(SGc,43);lFb=new DFb(TGc,44);mFb=new DFb(UGc,45);oFb=new DFb(VGc,46);pFb=new DFb("SEE",47);qFb=new DFb("STABLEIDGENERATOR",48);rFb=new DFb("STRUCT",49);sFb=new DFb("SUPPRESS",
50);tFb=new DFb("TEMPLATE",51);uFb=new DFb(WGc,52);vFb=new DFb("THROWS",53);wFb=new DFb(XGc,54);xFb=new DFb("TYPEDEF",55);yFb=new DFb("UNRESTRICTED",56);zFb=new DFb("VERSION",57);AFb=new DFb("WIZACTION",58);BFb=mq(new pq,"ngInject",_Eb).ef("abstract",wEb).ef("argument",hFb).ef("author",xEb).ef("consistentIdGenerator",yEb).ef(HDc,zEb).ef("constant",zEb).ef(SDc,AEb).ef("copyright",YEb).ef("define",BEb).ef(DDc,CEb).ef("desc",DEb).ef("dict",EEb).ef("disposes",FEb).ef(HCc,GEb).ef(pCc,HEb).ef("expose",
IEb).ef(uCc,JEb).ef("externs",KEb).ef("fileoverview",LEb).ef("final",MEb).ef("hidden",NEb).ef("idGenerator",OEb).ef(vCc,PEb).ef("implicitCast",QEb).ef("inheritDoc",REb).ef(GCc,SEb).ef("record",nFb).ef("jaggerInject",TEb).ef("jaggerModule",UEb).ef("jaggerProvidePromise",WEb).ef("jaggerProvide",VEb).ef("lends",XEb).ef("license",YEb).ef("meaning",ZEb).ef("modifies",$Eb).ef("noalias",bFb).ef("nocollapse",cFb).ef("nocompile",dFb).ef("nosideeffects",eFb).ef("override",fFb).ef("owner",xEb).ef(YGc,gFb).ef("param",
hFb).ef("polymerBehavior",iFb).ef("preserve",jFb).ef(ZGc,kFb).ef($Gc,lFb).ef(_Gc,mFb).ef(lCc,oFb).ef("returns",oFb).ef("see",pFb).ef("stableIdGenerator",qFb).ef("struct",rFb).ef("suppress",sFb).ef("template",tFb).ef(xCc,uFb).ef(vFc,vFb).ef(JCc,wFb).ef(xFc,xFb).ef("unrestricted",yFb).ef("version",zFb).ef("wizaction",AFb).df()}function Bmb(){Bmb=qV;new y5("JSC_NULL_ARGUMENT_ERROR",(kY(),hY),new klc('method "{0}" called without an argument'));new y5("JSC_EXPECTED_OBJECTLIT_ERROR",hY,new klc('method "{0}" expected an object literal argument'));
new y5("JSC_EXPECTED_STRING_ERROR",hY,new klc('method "{0}" expected an object string argument'));new y5("JSC_INVALID_ARGUMENT_ERROR",hY,new klc('method "{0}" called with invalid argument'));new y5("JSC_INVALID_CSS_NAME_MAP_STYLE_ERROR",hY,new klc("Invalid CSS name map style {0}"));new y5("JSC_TOO_MANY_ARGUMENTS_ERROR",hY,new klc('method "{0}" called with more than one argument'));new y5("JSC_DUPLICATE_NAMESPACE_ERROR",hY,new klc('namespace "{0}" cannot be provided twice'));new y5("JSC_WEAK_NAMESPACE_TYPE",
jY,new klc("Provided symbol declared with type Object. This is rarely useful. For more information see https://github.com/google/closure-compiler/wiki/A-word-about-the-type-Object"));new y5("JSC_CLASS_NAMESPACE_ERROR",hY,new klc("\"{0}\" cannot be both provided and declared as a class. Try var {0} = class '{'...'}'"));new y5("JSC_FUNCTION_NAMESPACE_ERROR",hY,new klc('"{0}" cannot be both provided and declared as a function'));new y5("JSC_MISSING_PROVIDE_ERROR",hY,new klc('required "{0}" namespace never provided'));
zmb=new y5(iCc,hY,new klc('required "{0}" namespace not provided yet'));ymb=new y5("JSC_INVALID_PROVIDE_ERROR",hY,new klc('"{0}" is not a valid {1} qualified name'));new y5("JSC_INVALID_DEFINE_NAME_ERROR",hY,new klc('"{0}" is not a valid JS identifier name'));new y5("JSC_INVALID_MISSING_DEFINE_ANNOTATION",hY,new klc("Missing @define annotation"));new y5("JSC_XMODULE_REQUIRE_ERROR",jY,new klc('namespace "{0}" is required in module {2} but provided in module {1}. Is module {2} missing a dependency on module {1}?'));
xmb=new y5("JSC_INVALID_CLOSURE_CALL_ERROR",hY,new klc("Closure dependency methods(goog.provide, goog.require, etc) must be called at file scope."));new y5("JSC_NON_STRING_PASSED_TO_SET_CSS_NAME_MAPPING_ERROR",hY,new klc("goog.setCssNameMapping only takes an object literal with string values"));new y5("INVALID_CSS_RENAMING_MAP",jY,new klc("Invalid entries in css renaming map: {0}"));new y5(OFc,hY,new klc("incorrect use of goog.base: {0}"));new y5(OFc,hY,new klc("incorrect use of {0}.base: {1}"));
new y5("JSC_CLOSURE_DEFINES_ERROR",hY,new klc("Invalid CLOSURE_DEFINES definition"));new y5("JSC_INVALID_FORWARD_DECLARE",hY,new klc("Malformed goog.forwardDeclaration"));Amb=new y5("JSC_USE_OF_GOOG_BASE",iY,new klc("goog.base is not compatible with ES5 strict mode.\nPlease use an alternative.\nFor EcmaScript classes use the super keyword, for traditional Closure classes\nuse the class specific base method instead. For example, for the constructor MyClass:\n   MyClass.base(this, 'constructor')"))}
function J7b(a){var b,c,d,e;d=false;e=a;f:{b=null;g:switch(e.length){case 2:c=e.charCodeAt(1);if(c==102){if(e.charCodeAt(0)==105){d=true;break f}}else if(c==110){if(e.charCodeAt(0)==105){d=true;break f}}else if(c==111)if(e.charCodeAt(0)==100){d=true;break f}break g;case 3:switch(e.charCodeAt(0)){case 102:if(e.charCodeAt(2)==114&&e.charCodeAt(1)==111){d=true;break f}break g;case 105:if(e.charCodeAt(2)==116&&e.charCodeAt(1)==110){d=true;break f}break g;case 110:if(e.charCodeAt(2)==119&&e.charCodeAt(1)==
101){d=true;break f}break g;case 116:if(e.charCodeAt(2)==121&&e.charCodeAt(1)==114){d=true;break f}break g;case 118:if(e.charCodeAt(2)==114&&e.charCodeAt(1)==97){d=true;break f}break g}break g;case 4:switch(e.charCodeAt(0)){case 98:b="byte";d=true;break g;case 99:c=e.charCodeAt(3);if(c==101){if(e.charCodeAt(2)==115&&e.charCodeAt(1)==97){d=true;break f}}else if(c==114)if(e.charCodeAt(2)==97&&e.charCodeAt(1)==104){d=true;break f}break g;case 101:c=e.charCodeAt(3);if(c==101){if(e.charCodeAt(2)==115&&
e.charCodeAt(1)==108){d=true;break f}}else if(c==109)if(e.charCodeAt(2)==117&&e.charCodeAt(1)==110){d=true;break f}break g;case 103:b="goto";d=true;break g;case 108:b="long";d=true;break g;case 110:b=iAc;d=true;break g;case 116:c=e.charCodeAt(3);if(c==101){if(e.charCodeAt(2)==117&&e.charCodeAt(1)==114){d=true;break f}}else if(c==115)if(e.charCodeAt(2)==105&&e.charCodeAt(1)==104){d=true;break f}break g;case 118:b=FCc;d=true;break g;case 119:b="with";d=true;break g}break g;case 5:switch(e.charCodeAt(2)){case 97:b=
tCc;d=true;break g;case 101:b="break";d=true;break g;case 105:b=wCc;d=true;break g;case 108:b=ACc;d=true;break g;case 110:c=e.charCodeAt(0);if(c==99){b=HDc;d=true}else if(c==102){b="final";d=true}break g;case 111:c=e.charCodeAt(0);if(c==102){b="float";d=true}else if(c==115){b="short";d=true}break g;case 112:b=yCc;d=true;break g;case 114:b="throw";d=true;break g;case 116:b="catch";d=true;break g}break g;case 6:switch(e.charCodeAt(1)){case 97:b="native";d=true;break g;case 101:c=e.charCodeAt(0);if(c==
100){b=XHc;d=true}else if(c==114){b=lCc;d=true}break g;case 104:b=vFc;d=true;break g;case 109:b=sCc;d=true;break g;case 111:b="double";d=true;break g;case 116:b=aHc;d=true;break g;case 117:b=_Gc;d=true;break g;case 119:b="switch";d=true;break g;case 120:b=pCc;d=true;break g;case 121:b=KFc;d=true;break g}break g;case 7:switch(e.charCodeAt(1)){case 97:b=YGc;d=true;break g;case 101:b=qCc;d=true;break g;case 105:b=kCc;d=true;break g;case 111:b=Xzc;d=true;break g;case 114:b=ZGc;d=true;break g;case 120:b=
uCc;d=true;break g}break g;case 8:switch(e.charCodeAt(0)){case 97:b="abstract";d=true;break g;case 99:b=CCc;d=true;break g;case 100:b=ECc;d=true;break g;case 102:b=Zzc;d=true;break g;case 118:b="volatile";d=true;break g}break g;case 9:c=e.charCodeAt(0);if(c==105){b=GCc;d=true}else if(c==112){b=$Gc;d=true}else if(c==116){b="transient";d=true}break g;case 10:c=e.charCodeAt(1);if(c==109){b=vCc;d=true}else if(c==110){b=LFc;d=true}break g;case 12:b="synchronized";d=true;break g}if(b!=null&&b!=e&&!Vjc(b,
e))return false}return d}function SXb(){SXb=qV;qXb=new TXb("PROGRAM",0);RWb=new TXb("FUNCTION_DECLARATION",1);lWb=new TXb("BLOCK",2);OXb=new TXb("VARIABLE_STATEMENT",3);MXb=new TXb("VARIABLE_DECLARATION",4);HWb=new TXb("EMPTY_STATEMENT",5);LWb=new TXb("EXPRESSION_STATEMENT",6);WWb=new TXb("IF_STATEMENT",7);GWb=new TXb("DO_WHILE_STATEMENT",8);PXb=new TXb("WHILE_STATEMENT",9);OWb=new TXb("FOR_IN_STATEMENT",10);QWb=new TXb("FOR_STATEMENT",11);NXb=new TXb("VARIABLE_DECLARATION_LIST",12);CWb=new TXb("CONTINUE_STATEMENT",
13);mWb=new TXb("BREAK_STATEMENT",14);uXb=new TXb("RETURN_STATEMENT",15);QXb=new TXb("WITH_STATEMENT",16);pWb=new TXb("CASE_CLAUSE",17);EWb=new TXb("DEFAULT_CLAUSE",18);yXb=new TXb("SWITCH_STATEMENT",19);_Wb=new TXb("LABELLED_STATEMENT",20);DXb=new TXb("THROW_STATEMENT",21);qWb=new TXb(UHc,22);EXb=new TXb("TRY_STATEMENT",23);DWb=new TXb("DEBUGGER_STATEMENT",24);CXb=new TXb("THIS_EXPRESSION",25);VWb=new TXb("IDENTIFIER_EXPRESSION",26);aXb=new TXb("LITERAL_EXPRESSION",27);fWb=new TXb("ARRAY_LITERAL_EXPRESSION",
28);lXb=new TXb("OBJECT_LITERAL_EXPRESSION",29);tWb=new TXb("COMPREHENSION",30);vWb=new TXb("COMPREHENSION_IF",31);uWb=new TXb("COMPREHENSION_FOR",32);UWb=new TXb("GET_ACCESSOR",33);vXb=new TXb("SET_ACCESSOR",34);rXb=new TXb("PROPERTY_NAME_ASSIGNMENT",35);wWb=new TXb("COMPUTED_PROPERTY_DEFINITION",36);xWb=new TXb("COMPUTED_PROPERTY_GETTER",37);zWb=new TXb("COMPUTED_PROPERTY_METHOD",38);AWb=new TXb("COMPUTED_PROPERTY_SETTER",39);eXb=new TXb("MISSING_PRIMARY_EXPRESSION",40);sWb=new TXb("COMMA_EXPRESSION",
41);kWb=new TXb("BINARY_OPERATOR",42);BWb=new TXb("CONDITIONAL_EXPRESSION",43);JXb=new TXb("UNARY_EXPRESSION",44);LXb=new TXb("UPDATE_EXPRESSION",45);bXb=new TXb("MEMBER_EXPRESSION",46);iXb=new TXb("NEW_EXPRESSION",47);eWb=new TXb("ARGUMENT_LIST",48);nWb=new TXb("CALL_EXPRESSION",49);rWb=new TXb("CLASS_DECLARATION",50);$Wb=new TXb("INTERFACE_DECLARATION",51);gXb=new TXb(RHc,52);hXb=new TXb("NAMESPACE_NAME",53);IWb=new TXb("ENUM_DECLARATION",54);cXb=new TXb("MEMBER_LOOKUP_EXPRESSION",55);pXb=new TXb("PAREN_EXPRESSION",
56);MWb=new TXb(YHc,57);xXb=new TXb("SUPER_EXPRESSION",58);gWb=new TXb(lIc,59);iWb=new TXb("ASSIGNMENT_REST_ELEMENT",60);mXb=new TXb(mIc,61);NWb=new TXb("FORMAL_PARAMETER_LIST",62);wXb=new TXb("SPREAD_EXPRESSION",63);kXb=new TXb(rGc,64);tXb=new TXb("REST_PARAMETER",65);fXb=new TXb("MODULE_IMPORT",66);JWb=new TXb("EXPORT_DECLARATION",67);KWb=new TXb("EXPORT_SPECIFIER",68);XWb=new TXb("IMPORT_DECLARATION",69);YWb=new TXb("IMPORT_SPECIFIER",70);PWb=new TXb("FOR_OF_STATEMENT",71);RXb=new TXb("YIELD_EXPRESSION",
72);FWb=new TXb("DEFAULT_PARAMETER",73);zXb=new TXb("TEMPLATE_LITERAL_EXPRESSION",74);AXb=new TXb("TEMPLATE_LITERAL_PORTION",75);BXb=new TXb("TEMPLATE_SUBSTITUTION",76);HXb=new TXb("TYPE_NAME",77);IXb=new TXb("TYPE_QUERY",78);FXb=new TXb("TYPED_PARAMETER",79);nXb=new TXb(SHc,80);oXb=new TXb("PARAMETERIZED_TYPE_TREE",81);hWb=new TXb(nIc,82);sXb=new TXb(oIc,83);KXb=new TXb(pIc,84);SWb=new TXb(qIc,85);TWb=new TXb(rIc,86);dXb=new TXb("MEMBER_VARIABLE",87);yWb=new TXb("COMPUTED_PROPERTY_MEMBER_VARIABLE",
88);GXb=new TXb(THc,89);dWb=new TXb(OHc,90);ZWb=new TXb(QHc,91);oWb=new TXb(PHc,92);jXb=new TXb("NEW_TARGET_EXPRESSION",93);jWb=new TXb("AWAIT_EXPRESSION",94)}function hUb(){hUb=qV;ESb=new kUb("END_OF_FILE",0,"End of File");JSb=new kUb(yBc,1,"error");RSb=new kUb("IDENTIFIER",2,"identifier");kSb=new jUb("BREAK",3);nSb=new jUb("CASE",4);oSb=new jUb(UHc,5);xSb=new jUb(VHc,6);ySb=new jUb(WHc,7);ASb=new jUb(gGc,8);BSb=new jUb("DELETE",9);CSb=new jUb("DO",10);DSb=new jUb("ELSE",11);NSb=new jUb(YHc,12);
OSb=new jUb("FOR",13);PSb=new jUb(bFc,14);SSb=new jUb("IF",15);VSb=new jUb("IN",16);WSb=new jUb(KHc,17);fTb=new jUb("NEW",18);DTb=new jUb(VGc,19);RTb=new jUb(ZHc,20);VTb=new jUb(WGc,21);WTb=new jUb("THROW",22);ZTb=new jUb("TRY",23);_Tb=new jUb($Hc,24);cUb=new jUb("VAR",25);dUb=new jUb("VOID",26);eUb=new jUb("WHILE",27);fUb=new jUb("WITH",28);pSb=new jUb(aFc,29);wSb=new jUb("CONST",30);FSb=new jUb(MGc,31);KSb=new jUb(OGc,32);LSb=new jUb(NGc,33);USb=new jUb(_Hc,34);QTb=new jUb(MHc,35);TSb=new jUb(PGc,
36);XSb=new jUb(QGc,37);_Sb=new jUb("LET",38);qTb=new jUb(RGc,39);yTb=new jUb(SGc,40);zTb=new jUb(TGc,41);ATb=new jUb(UGc,42);OTb=new jUb("STATIC",43);gUb=new jUb("YIELD",44);mTb=new kUb("OPEN_CURLY",45,"{");rSb=new kUb("CLOSE_CURLY",46,"}");nTb=new kUb("OPEN_PAREN",47,"(");sSb=new kUb("CLOSE_PAREN",48,")");oTb=new kUb("OPEN_SQUARE",49,"[");tSb=new kUb("CLOSE_SQUARE",50,"]");tTb=new kUb("PERIOD",51,".");GTb=new kUb("SEMI_COLON",52,";");vSb=new kUb("COMMA",53,",");lTb=new kUb("OPEN_ANGLE",54,"<");
qSb=new kUb("CLOSE_ANGLE",55,">");$Sb=new kUb("LESS_EQUAL",56,"<=");QSb=new kUb("GREATER_EQUAL",57,">=");gSb=new kUb("ARROW",58,"=>");HSb=new kUb("EQUAL_EQUAL",59,"==");gTb=new kUb("NOT_EQUAL",60,"!=");ISb=new kUb("EQUAL_EQUAL_EQUAL",61,"===");hTb=new kUb("NOT_EQUAL_EQUAL",62,"!==");uTb=new kUb("PLUS",63,"+");aTb=new kUb("MINUS",64,"-");KTb=new kUb("STAR",65,"*");MTb=new kUb("STAR_STAR",66,"**");rTb=new kUb("PERCENT",67,"%");wTb=new kUb("PLUS_PLUS",68,"++");cTb=new kUb("MINUS_MINUS",69,"--");YSb=
new kUb("LEFT_SHIFT",70,"<<");ETb=new kUb("RIGHT_SHIFT",71,">>");aUb=new kUb("UNSIGNED_RIGHT_SHIFT",72,">>>");dSb=new kUb("AMPERSAND",73,"&");iSb=new kUb("BAR",74,"|");lSb=new kUb("CARET",75,"^");hSb=new kUb("BANG",76,"!");XTb=new kUb("TILDE",77,"~");fSb=new kUb("AND",78,"&&");pTb=new kUb("OR",79,"||");BTb=new kUb("QUESTION",80,"?");uSb=new kUb("COLON",81,":");GSb=new kUb("EQUAL",82,"=");vTb=new kUb("PLUS_EQUAL",83,"+=");bTb=new kUb("MINUS_EQUAL",84,"-=");LTb=new kUb("STAR_EQUAL",85,"*=");NTb=new kUb("STAR_STAR_EQUAL",
86,"**=");sTb=new kUb("PERCENT_EQUAL",87,"%=");ZSb=new kUb("LEFT_SHIFT_EQUAL",88,"<<=");FTb=new kUb("RIGHT_SHIFT_EQUAL",89,">>=");bUb=new kUb("UNSIGNED_RIGHT_SHIFT_EQUAL",90,">>>=");eSb=new kUb("AMPERSAND_EQUAL",91,"&=");jSb=new kUb("BAR_EQUAL",92,"|=");mSb=new kUb("CARET_EQUAL",93,"^=");HTb=new kUb("SLASH",94,"/");ITb=new kUb("SLASH_EQUAL",95,"/=");xTb=new kUb("POUND",96,"#");jTb=new jUb(rGc,97);YTb=new jUb(rDc,98);MSb=new jUb(qDc,99);kTb=new kUb(sGc,100,"number literal");PTb=new kUb(tGc,101,"string literal");
CTb=new kUb("REGULAR_EXPRESSION",102,"regular expression literal");JTb=new kUb("SPREAD",103,oCc);STb=new kUb("TEMPLATE_HEAD",104,"template head");TTb=new kUb("TEMPLATE_MIDDLE",105,"template middle");UTb=new kUb("TEMPLATE_TAIL",106,"template tail");iTb=new kUb("NO_SUBSTITUTION_TEMPLATE",107,"no substitution template");$Tb=new jUb(XGc,108);zSb=new jUb(aIc,109);dTb=new jUb("MODULE",110);eTb=new jUb(bIc,111)}function ARb(a){var b,c;ERb(a);b=a.d;if(!kRb(a,a.d))return gRb(a,(hUb(),ESb),b);c=lRb(a);switch(c){case 123:return gRb(a,
(hUb(),mTb),b);case 125:return gRb(a,(hUb(),rSb),b);case 40:return gRb(a,(hUb(),nTb),b);case 41:return gRb(a,(hUb(),sSb),b);case 91:return gRb(a,(hUb(),oTb),b);case 93:return gRb(a,(hUb(),tSb),b);case 46:if(VRb(kRb(a,a.d)?Qjc(a.e.a,a.d):0))return FRb(a),vRb(a,b);if((kRb(a,a.d)?Qjc(a.e.a,a.d):0)==46&&(kRb(a,a.d+1)?Qjc(a.e.a,a.d+1):0)==46){lRb(a);lRb(a);return gRb(a,(hUb(),JTb),b)}return gRb(a,(hUb(),tTb),b);case 59:return gRb(a,(hUb(),GTb),b);case 44:return gRb(a,(hUb(),vSb),b);case 126:return gRb(a,
(hUb(),XTb),b);case 63:return gRb(a,(hUb(),BTb),b);case 58:return gRb(a,(hUb(),uSb),b);case 60:switch(kRb(a,a.d)?Qjc(a.e.a,a.d):0){case 60:lRb(a);if((kRb(a,a.d)?Qjc(a.e.a,a.d):0)==61){lRb(a);return gRb(a,(hUb(),ZSb),b)}return gRb(a,(hUb(),YSb),b);case 61:lRb(a);return gRb(a,(hUb(),$Sb),b);default:return gRb(a,(hUb(),lTb),b)}case 62:if(a.f>0)return gRb(a,(hUb(),qSb),b);switch(kRb(a,a.d)?Qjc(a.e.a,a.d):0){case 62:lRb(a);switch(kRb(a,a.d)?Qjc(a.e.a,a.d):0){case 61:lRb(a);return gRb(a,(hUb(),FTb),b);
case 62:lRb(a);if((kRb(a,a.d)?Qjc(a.e.a,a.d):0)==61){lRb(a);return gRb(a,(hUb(),bUb),b)}return gRb(a,(hUb(),aUb),b);default:return gRb(a,(hUb(),ETb),b)}case 61:lRb(a);return gRb(a,(hUb(),QSb),b);default:return gRb(a,(hUb(),qSb),b)}case 61:switch(kRb(a,a.d)?Qjc(a.e.a,a.d):0){case 61:lRb(a);if((kRb(a,a.d)?Qjc(a.e.a,a.d):0)==61){lRb(a);return gRb(a,(hUb(),ISb),b)}return gRb(a,(hUb(),HSb),b);case 62:lRb(a);return gRb(a,(hUb(),gSb),b);default:return gRb(a,(hUb(),GSb),b)}case 33:if((kRb(a,a.d)?Qjc(a.e.a,
a.d):0)==61){lRb(a);if((kRb(a,a.d)?Qjc(a.e.a,a.d):0)==61){lRb(a);return gRb(a,(hUb(),hTb),b)}return gRb(a,(hUb(),gTb),b)}return gRb(a,(hUb(),hSb),b);case 42:if((kRb(a,a.d)?Qjc(a.e.a,a.d):0)==61){lRb(a);return gRb(a,(hUb(),LTb),b)}else if((kRb(a,a.d)?Qjc(a.e.a,a.d):0)==42){lRb(a);if((kRb(a,a.d)?Qjc(a.e.a,a.d):0)==61){lRb(a);return gRb(a,(hUb(),NTb),b)}else return gRb(a,(hUb(),MTb),b)}return gRb(a,(hUb(),KTb),b);case 37:if((kRb(a,a.d)?Qjc(a.e.a,a.d):0)==61){lRb(a);return gRb(a,(hUb(),sTb),b)}return gRb(a,
(hUb(),rTb),b);case 94:if((kRb(a,a.d)?Qjc(a.e.a,a.d):0)==61){lRb(a);return gRb(a,(hUb(),mSb),b)}return gRb(a,(hUb(),lSb),b);case 47:if((kRb(a,a.d)?Qjc(a.e.a,a.d):0)==61){lRb(a);return gRb(a,(hUb(),ITb),b)}return gRb(a,(hUb(),HTb),b);case 43:switch(kRb(a,a.d)?Qjc(a.e.a,a.d):0){case 43:lRb(a);return gRb(a,(hUb(),wTb),b);case 61:lRb(a);return gRb(a,(hUb(),vTb),b);default:return gRb(a,(hUb(),uTb),b)}case 45:switch(kRb(a,a.d)?Qjc(a.e.a,a.d):0){case 45:lRb(a);return gRb(a,(hUb(),cTb),b);case 61:lRb(a);
return gRb(a,(hUb(),bTb),b);default:return gRb(a,(hUb(),aTb),b)}case 38:switch(kRb(a,a.d)?Qjc(a.e.a,a.d):0){case 38:lRb(a);return gRb(a,(hUb(),fSb),b);case 61:lRb(a);return gRb(a,(hUb(),eSb),b);default:return gRb(a,(hUb(),dSb),b)}case 124:switch(kRb(a,a.d)?Qjc(a.e.a,a.d):0){case 124:lRb(a);return gRb(a,(hUb(),pTb),b);case 61:lRb(a);return gRb(a,(hUb(),jSb),b);default:return gRb(a,(hUb(),iSb),b)}case 35:return gRb(a,(hUb(),xTb),b);case 48:return yRb(a,b);case 49:case 50:case 51:case 52:case 53:case 54:case 55:case 56:case 57:return FRb(a),
wRb(a,b);case 34:case 39:return zRb(a,b,c);case 96:return!kRb(a,a.d)&&sRb(a,gOb(a.e.b,b),kIc,$C(VC(AS,1),qAc,1,5,[])),oRb(a,(hUb(),iTb),STb);default:return xRb(a,b,c)}}function pdc(a){var b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,A,B,C,D,F,G,H,I,J,K,L,M,N,O,P,Q,R,S,T,U,V,W,X,Y,Z,$,ab,bb,cb,db,eb,fb,gb,hb;g=new g9b(a);sdc(a,(Xcc(),Zbc),g);w=new xec(a);sdc(a,occ,w);G=new Dec(a);sdc(a,ucc,G);V=new Qfc(a);sdc(a,Jcc,V);db=new lhc(a,false);sdc(a,Tcc,db);hb=new lhc(a,true);sdc(a,$bc,hb);gb=new whc(a);
sdc(a,Wcc,gb);b=new M8b(a);sdc(a,Ubc,b);a.f=new Ufc(a,"IObject#KEY1");a.e=new Ufc(a,"IObject#VALUE");a.a=new Ufc(a,"T");Z=new cac(a,null,null,true,null);sdc(a,Ncc,Z);I=new Lac(a,dEc,new X8b(a,fdc(a,$C(VC(ER,1),qAc,20,0,[b])),null),null,idc(a,(Lm(),new px(bn($C(VC(AS,1),qAc,1,5,[a.f,a.e])))),null),true,true);I.a.b=(se(I.e==(qbc(),nbc)||I.e==obc,IIc,I),b8b(I.j));Gac(I,Z,null);sdc(a,wcc,I);M=(se(I.e==nbc||I.e==obc,IIc,I),b8b(I.j));sdc(a,Acc,M);L=Dac(I);sdc(a,zcc,L);n=new Lac(a,_Dc,new X8b(a,hdc(a,true,
$C(VC(ER,1),qAc,20,0,[b])),db),null,null,true,true);Hac(n,M,null);sdc(a,fcc,n);o=Dac(n);sdc(a,hcc,o);v=new iec(a);sdc(a,ncc,v);t=new Wdc(a);sdc(a,lcc,t);u=new qec(a);sdc(a,mcc,u);c=new Lac(a,ZDc,new X8b(a,hdc(a,true,$C(VC(ER,1),qAc,20,0,[b])),null),null,agc(idc(a,new iy(a.a),null),idc(a,new iy(a.e),new iy(a.a))),true,true);c.a.b=(se(c.e==nbc||c.e==obc,IIc,c),b8b(c.j));Dac(c);sdc(a,Vbc,c);d=(se(c.e==nbc||c.e==obc,IIc,c),b8b(c.j));sdc(a,Wbc,d);e=new Lac(a,$Dc,new X8b(a,fdc(a,$C(VC(ER,1),qAc,20,0,[b])),
g),null,null,true,true);Dac(e);sdc(a,Xbc,e);f=(se(e.e==nbc||e.e==obc,IIc,e),b8b(e.j));sdc(a,Ybc,f);h=new Lac(a,"Date",new X8b(a,fdc(a,$C(VC(ER,1),qAc,20,0,[db,db,db,db,db,db,db])),V),null,null,true,true);Dac(h);sdc(a,_bc,h);i=(se(h.e==nbc||h.e==obc,IIc,h),b8b(h.j));sdc(a,acc,i);j=new _ac(a,VDc);sdc(a,bcc,j);k=(se(j.e==nbc||j.e==obc,IIc,j),b8b(j.j));sdc(a,ccc,k);l=new _ac(a,"EvalError");Hac(l,k,null);sdc(a,dcc,l);m=(se(l.e==nbc||l.e==obc,IIc,l),b8b(l.j));sdc(a,ecc,m);N=new _ac(a,WDc);Hac(N,k,null);
sdc(a,Bcc,N);O=(se(N.e==nbc||N.e==obc,IIc,N),b8b(N.j));sdc(a,Ccc,O);P=new _ac(a,XDc);Hac(P,k,null);sdc(a,Dcc,P);Q=(se(P.e==nbc||P.e==obc,IIc,P),b8b(P.j));sdc(a,Ecc,Q);X=new _ac(a,YDc);Hac(X,k,null);sdc(a,Lcc,X);Y=(se(X.e==nbc||X.e==obc,IIc,X),b8b(X.j));sdc(a,Mcc,Y);$=new _ac(a,"TypeError");Hac($,k,null);sdc(a,Pcc,$);ab=(se($.e==nbc||$.e==obc,IIc,$),b8b($.j));sdc(a,Qcc,ab);eb=new _ac(a,"URIError");Hac(eb,k,null);sdc(a,Ucc,eb);fb=(se(eb.e==nbc||eb.e==obc,IIc,eb),b8b(eb.j));sdc(a,Vcc,fb);B=new Lac(a,
aEc,new X8b(a,fdc(a,$C(VC(ER,1),qAc,20,0,[b])),G),null,null,true,true);Dac(B);sdc(a,qcc,B);C=(se(B.e==nbc||B.e==obc,IIc,B),b8b(B.j));sdc(a,rcc,C);R=new Lac(a,bEc,new X8b(a,fdc(a,$C(VC(ER,1),qAc,20,0,[b,b])),null),null,null,true,true);R.a.b=(se(R.e==nbc||R.e==obc,IIc,R),b8b(R.j));Dac(R);sdc(a,Fcc,R);S=(se(R.e==nbc||R.e==obc,IIc,R),b8b(R.j));sdc(a,Gcc,S);T=new Lac(a,lBc,new X8b(a,fdc(a,$C(VC(ER,1),qAc,20,0,[b])),V),null,null,true,true);Dac(T);sdc(a,Hcc,T);U=(se(T.e==nbc||T.e==obc,IIc,T),b8b(T.j));sdc(a,
Icc,U);A=jdc(a,$C(VC(ER,1),qAc,20,0,[w,gb]));sdc(a,pcc,A);J=jdc(a,$C(VC(ER,1),qAc,20,0,[M,G,V]));sdc(a,xcc,J);K=jdc(a,$C(VC(ER,1),qAc,20,0,[M,G,V,g]));sdc(a,ycc,K);F=jdc(a,$C(VC(ER,1),qAc,20,0,[G,V,g]));sdc(a,tcc,F);D=jdc(a,$C(VC(ER,1),qAc,20,0,[G,V]));sdc(a,scc,D);W=jdc(a,$C(VC(ER,1),qAc,20,0,[U,V]));sdc(a,Kcc,W);H=jdc(a,$C(VC(ER,1),qAc,20,0,[C,G]));sdc(a,vcc,H);cb=adc(a,db,$C(VC(ER,1),qAc,20,0,[db]));sdc(a,Scc,cb);bb=new ydc(a,new X8b(a,hdc(a,true,$C(VC(ER,1),qAc,20,0,[db])),db),db);sdc(a,Rcc,bb);
sdc(a,gcc,bb);n.j=bb;ne(!(!!bb.f||!bb.s));bb.n=o;s=cdc(a,v,$C(VC(ER,1),qAc,20,0,[b]));sdc(a,kcc,s);q=new Lac(a,"global this",new X8b(a,hdc(a,false,$C(VC(ER,1),qAc,20,0,[b])),G),null,null,true,true);p=(se(q.e==nbc||q.e==obc,IIc,q),b8b(q.j));sdc(a,icc,p);r=cdc(a,b,$C(VC(ER,1),qAc,20,0,[v]));sdc(a,jcc,r);tdc(a,fCc,I)}function ssb(){ssb=qV;new y5("JSC_INTERNAL_ERROR_UNEXPECTED_TOKEN",(kY(),hY),new klc("Internal Error: TypeCheck doesn''t know how to handle {0}"));Rrb=new y5("JSC_DETERMINISTIC_TEST",jY,
new klc("condition always evaluates to {2}\nleft : {0}\nright: {1}"));bsb=new y5("JSC_INEXISTENT_ENUM_ELEMENT",jY,new klc("element {0} does not exist on this enum"));csb=new y5(hGc,jY,new klc(EFc));nsb=new y5("JSC_POSSIBLE_INEXISTENT_PROPERTY",iY,new klc(EFc));dsb=new y5(hGc,iY,new klc("Property {0} never defined on {1}. Did you mean {2}?"));lsb=new y5("JSC_NOT_A_CONSTRUCTOR",jY,new klc("cannot instantiate non-constructor"));esb=new y5("JSC_INSTANTIATE_ABSTRACT_CLASS",jY,new klc("cannot instantiate abstract class"));
Nrb=new y5("JSC_BAD_TYPE_FOR_BIT_OPERATION",jY,new klc("operator {0} cannot be applied to {1}"));msb=new y5("JSC_NOT_FUNCTION_TYPE",jY,new klc("{0} expressions are not callable"));Qrb=new y5("JSC_CONSTRUCTOR_NOT_CALLABLE",jY,new klc(BFc));Krb=new y5("JSC_ABSTRACT_METHOD_NOT_CALLABLE",jY,new klc(IFc));Vrb=new y5("JSC_FUNCTION_MASKS_VARIABLE",jY,new klc("function {0} masks variable (IE bug)"));jsb=new y5("JSC_MULTIPLE_VAR_DEF",jY,new klc("declaration of multiple variables with shared type information"));
Srb=new y5("JSC_ENUM_DUP",hY,new klc("enum element {0} already defined"));hsb=new y5("JSC_INVALID_INTERFACE_MEMBER_DECLARATION",jY,new klc("interface members can only be empty property declarations, empty functions{0}"));fsb=new y5("JSC_INTERFACE_METHOD_NOT_EMPTY",jY,new klc(dFc));Orb=new y5("JSC_CONFLICTING_EXTENDED_TYPE",jY,new klc(iGc));Trb=new y5("JSC_ES5_CLASS_EXTENDING_ES6_CLASS",jY,new klc("ES5 class {0} cannot extend ES6 class {1}"));new y5("JSC_INTERFACE_EXTENDS_LOOP",jY,new klc("extends loop involving {0}, loop: {1}"));
Prb=new y5("JSC_CONFLICTING_IMPLEMENTED_TYPE",jY,new klc(jGc));Mrb=new y5("JSC_IMPLEMENTS_NON_INTERFACE",jY,new klc("can only implement interfaces"));Xrb=new y5("JSC_HIDDEN_SUPERCLASS_PROPERTY",iY,new klc("property {0} already defined on superclass {1}; use @override to override it"));Wrb=new y5("JSC_HIDDEN_INTERFACE_PROPERTY",iY,new klc("property {0} already defined on interface {1}; use @override to override it"));Yrb=new y5("JSC_HIDDEN_SUPERCLASS_PROPERTY_MISMATCH",jY,new klc("mismatch of the {0} property type and the type of the property it overrides from superclass {1}\noriginal: {2}\noverride: {3}"));
psb=new y5("JSC_UNKNOWN_OVERRIDE",jY,new klc("property {0} not defined on any superclass of {1}"));gsb=new y5("JSC_INTERFACE_METHOD_OVERRIDE",jY,new klc("property {0} is already defined by the {1} extended interface"));osb=new y5("JSC_UNKNOWN_EXPR_TYPE",iY,new klc("could not determine the type of this expression"));qsb=new y5("JSC_UNRESOLVED_TYPE",jY,new klc("could not resolve the name {0} to a type"));rsb=new y5("JSC_WRONG_ARGUMENT_COUNT",jY,new klc(FFc));Zrb=new y5("JSC_ILLEGAL_IMPLICIT_CAST",jY,
new klc("Illegal annotation on {0}. @implicitCast may only be used in externs."));asb=new y5("JSC_INCOMPATIBLE_EXTENDED_PROPERTY_TYPE",jY,new klc("Interface {0} has a property {1} with incompatible types in its super interfaces {2} and {3}"));Urb=new y5("JSC_EXPECTED_THIS_TYPE",jY,new klc('"{0}" must be called with a "this" type'));isb=new y5("JSC_IN_USED_WITH_STRUCT",jY,new klc(DFc));_rb=new y5("JSC_ILLEGAL_PROPERTY_CREATION",jY,new klc("Cannot add a property to a struct instance after it is constructed. (If you already declared the property, make sure to give it a type.)"));
$rb=new y5("JSC_ILLEGAL_OBJLIT_KEY",jY,new klc(CFc));ksb=new y5("JSC_NON_STRINGIFIABLE_OBJECT_KEY",jY,new klc('Object type "{0}" contains non-stringifiable key and it may lead to an error. Please use ES6 Map instead or implement your own Map structure.'));Jrb=new y5("JSC_ABSTRACT_METHOD_IN_CONCRETE_CLASS",jY,new klc("Abstract methods can only appear in abstract classes. Please declare the class as @abstract"));Lrb=new U4($C(VC(FJ,1),qAc,5,0,[Rrb,bsb,csb,nsb,dsb,lsb,esb,Nrb,msb,Qrb,Vrb,jsb,Srb,hsb,
fsb,Orb,Prb,Mrb,Yrb,psb,gsb,qsb,rsb,Zrb,asb,Urb,isb,_rb,$rb,ksb,Jrb,Krb,Trb,(Cob(),Bob),(Tsb(),Ssb),Qsb,Msb,Psb,(uab(),rab)]))}function F7b(){F7b=qV;$6b=new G7b(VGc,0);a5b=new G7b("BITOR",1);b5b=new G7b("BITXOR",2);$4b=new G7b("BITAND",3);F5b=new G7b("EQ",4);C6b=new G7b("NE",5);s6b=new G7b("LT",6);p6b=new G7b("LE",7);Y5b=new G7b("GT",8);S5b=new G7b("GE",9);r6b=new G7b("LSH",10);a7b=new G7b("RSH",11);y7b=new G7b("URSH",12);E4b=new G7b("ADD",13);k7b=new G7b("SUB",14);x6b=new G7b("MUL",15);y5b=new G7b("DIV",
16);v6b=new G7b("MOD",17);H5b=new G7b("EXPONENT",18);G6b=new G7b("NOT",19);_4b=new G7b("BITNOT",20);U6b=new G7b("POS",21);D6b=new G7b("NEG",22);E6b=new G7b("NEW",23);w5b=new G7b("DELPROP",24);u7b=new G7b($Hc,25);W5b=new G7b("GETPROP",26);V5b=new G7b("GETELEM",27);f5b=new G7b("CALL",28);y6b=new G7b("NAME",29);J6b=new G7b(sGc,30);h7b=new G7b(tGc,31);H6b=new G7b(rGc,32);q7b=new G7b(WGc,33);M5b=new G7b(qDc,34);s7b=new G7b(rDc,35);d7b=new G7b("SHEQ",36);e7b=new G7b("SHNE",37);X6b=new G7b("REGEXP",38);
r7b=new G7b("THROW",39);e6b=new G7b("IN",40);h6b=new G7b(KHc,41);I4b=new G7b("ARRAYLIT",42);L6b=new G7b("OBJECTLIT",43);t7b=new G7b("TRY",44);Q6b=new G7b("PARAM_LIST",45);n5b=new G7b("COMMA",46);L4b=new G7b("ASSIGN",47);O4b=new G7b("ASSIGN_BITOR",48);P4b=new G7b("ASSIGN_BITXOR",49);N4b=new G7b("ASSIGN_BITAND",50);S4b=new G7b("ASSIGN_LSH",51);V4b=new G7b("ASSIGN_RSH",52);X4b=new G7b("ASSIGN_URSH",53);M4b=new G7b("ASSIGN_ADD",54);W4b=new G7b("ASSIGN_SUB",55);U4b=new G7b("ASSIGN_MUL",56);Q4b=new G7b("ASSIGN_DIV",
57);T4b=new G7b("ASSIGN_MOD",58);R4b=new G7b("ASSIGN_EXPONENT",59);Z5b=new G7b("HOOK",60);O6b=new G7b("OR",61);F4b=new G7b("AND",62);f6b=new G7b("INC",63);s5b=new G7b("DEC",64);Q5b=new G7b(bFc,65);$5b=new G7b("IF",66);m7b=new G7b(ZHc,67);h5b=new G7b("CASE",68);u5b=new G7b("DEFAULT_CASE",69);C7b=new G7b("WHILE",70);z5b=new G7b("DO",71);N5b=new G7b("FOR",72);O5b=new G7b("FOR_IN",73);e5b=new G7b("BREAK",74);q5b=new G7b(VHc,75);z7b=new G7b("VAR",76);D7b=new G7b("WITH",77);j5b=new G7b(UHc,78);A7b=new G7b("VOID",
79);B5b=new G7b("EMPTY",80);_6b=new G7b("ROOT",81);c5b=new G7b("BLOCK",82);l6b=new G7b("LABEL",83);L5b=new G7b("EXPR_RESULT",84);b7b=new G7b("SCRIPT",85);X5b=new G7b("GETTER_DEF",86);c7b=new G7b("SETTER_DEF",87);p5b=new G7b("CONST",88);r5b=new G7b(WHc,89);m6b=new G7b("LABEL_NAME",90);i7b=new G7b("STRING_KEY",91);i5b=new G7b("CAST",92);J4b=new G7b(lIc,93);M6b=new G7b(mIc,94);x5b=new G7b("DESTRUCTURING_LHS",95);k5b=new G7b(aFc,96);l5b=new G7b("CLASS_MEMBERS",97);t6b=new G7b("MEMBER_FUNCTION_DEF",98);
l7b=new G7b(MHc,99);q6b=new G7b("LET",100);P5b=new G7b("FOR_OF",101);E7b=new G7b("YIELD",102);Y4b=new G7b("AWAIT",103);a6b=new G7b(_Hc,104);c6b=new G7b("IMPORT_SPECS",105);b6b=new G7b("IMPORT_SPEC",106);d6b=new G7b("IMPORT_STAR",107);I5b=new G7b(OGc,108);K5b=new G7b("EXPORT_SPECS",109);J5b=new G7b("EXPORT_SPEC",110);w6b=new G7b("MODULE_BODY",111);Y6b=new G7b("REST",112);f7b=new G7b("SPREAD",113);o5b=new G7b("COMPUTED_PROP",114);n7b=new G7b("TAGGED_TEMPLATELIT",115);o7b=new G7b("TEMPLATELIT",116);
p7b=new G7b("TEMPLATELIT_SUB",117);v5b=new G7b("DEFAULT_VALUE",118);F6b=new G7b(NHc,119);j7b=new G7b(DIc,120);d5b=new G7b(EIc,121);K6b=new G7b(FIc,122);R5b=new G7b(qIc,123);P6b=new G7b("PARAMETERIZED_TYPE",124);x7b=new G7b(pIc,125);H4b=new G7b("ANY_TYPE",126);I6b=new G7b("NULLABLE_TYPE",127);B7b=new G7b("VOID_TYPE",128);Z6b=new G7b("REST_PARAMETER_TYPE",129);z6b=new G7b("NAMED_TYPE",130);N6b=new G7b(SHc,131);W6b=new G7b(oIc,132);w7b=new G7b("UNDEFINED_TYPE",133);K4b=new G7b(nIc,134);T5b=new G7b("GENERIC_TYPE",
135);U5b=new G7b(rIc,136);G4b=new G7b(wHc,137);R6b=new G7b("PIPE",138);g7b=new G7b("STAR",139);E5b=new G7b("EOC",140);V6b=new G7b("QMARK",141);A5b=new G7b("ELLIPSIS",142);Z4b=new G7b("BANG",143);G5b=new G7b("EQUALS",144);n6b=new G7b("LB",145);o6b=new G7b("LC",146);m5b=new G7b("COLON",147);i6b=new G7b(QGc,148);j6b=new G7b("INTERFACE_EXTENDS",149);k6b=new G7b("INTERFACE_MEMBERS",150);C5b=new G7b(MGc,151);D5b=new G7b("ENUM_MEMBERS",152);_5b=new G7b(PGc,153);v7b=new G7b(THc,154);t5b=new G7b(aIc,155);
u6b=new G7b("MEMBER_VARIABLE_DEF",156);g6b=new G7b(QHc,157);g5b=new G7b(PHc,158);A6b=new G7b(bIc,159);B6b=new G7b("NAMESPACE_ELEMENTS",160);S6b=new G7b("PLACEHOLDER1",161);T6b=new G7b("PLACEHOLDER2",162)}function pcb(){pcb=qV;Vbb=new y5("JSC_NTI_DUPLICATE_JSDOC",(kY(),jY),new klc("Found two JsDoc comments for variable: {0}.\n"));icb=new y5("JSC_NTI_REDECLARED_PROPERTY",jY,new klc("Found two declarations for property {0} on {1}.\n"));ccb=new y5("JSC_NTI_INVALID_PROP_OVERRIDE",jY,new klc("Invalid redeclaration of property {0}.\ninherited type  : {1}\noverriding type : {2}\n"));
Tbb=new y5("JSC_NTI_CTOR_IN_DIFFERENT_SCOPE",jY,new klc("Modifying the prototype is only allowed if the constructor is in the same scope\n"));ncb=new y5("JSC_NTI_UNRECOGNIZED_TYPE_NAME",jY,new klc("Type annotation references non-existent type {0}."));kcb=new y5("JSC_NTI_STRUCT_WITHOUT_CTOR_OR_INTERF",jY,new klc("@struct used without @constructor, @interface, or @record."));Ubb=new y5("JSC_NTI_DICT_WITHOUT_CTOR",jY,new klc("@dict used without @constructor."));Xbb=new y5("JSC_NTI_EXPECTED_CONSTRUCTOR",
jY,new klc("Expected constructor name but found {0}."));Ybb=new y5("JSC_NTI_EXPECTED_INTERFACE",jY,new klc("Expected interface name but found {0}."));$bb=new y5("JSC_NTI_INEXISTENT_PARAM",jY,new klc(ZEc));Rbb=new y5("JSC_NTI_CONST_WITHOUT_INITIALIZER",jY,new klc("Constants must be initialized when they are defined."));Sbb=new y5("JSC_NTI_COULD_NOT_INFER_CONST_TYPE",jY,new klc("All constants must be typed. The compiler could not infer the type of constant {0}. Please use an explicit type annotation. For more information, see:\nhttps://github.com/google/closure-compiler/wiki/Using-NTI-(new-type-inference)#warnings-about-uninferred-constants"));
fcb=new y5("JSC_NTI_MISPLACED_CONST_ANNOTATION",jY,new klc("This property cannot be @const. The @const annotation is only allowed for properties of namespaces, prototype properties, static properties of constructors, and properties of the form this.prop declared inside constructors and prototype methods."));Pbb=new y5("JSC_NTI_CANNOT_OVERRIDE_FINAL_METHOD",jY,new klc("Final method {0} cannot be overriden."));Obb=new y5("JSC_NTI_CANNOT_INIT_TYPEDEF",jY,new klc("A typedef variable represents a type name; it cannot be assigned a value."));
Mbb=new y5("JSC_NTI_ANONYMOUS_NOMINAL_TYPE",jY,new klc("Must specify a name when defining a class or interface."));ecb=new y5("JSC_NTI_MALFORMED_ENUM",jY,new klc("An enum must be initialized to a non-empty object literal."));Wbb=new y5("JSC_NTI_DUPLICATE_PROP_IN_ENUM",jY,new klc("Property {0} appears twice in the enum declaration."));dcb=new y5("JSC_NTI_LENDS_ON_BAD_TYPE",jY,new klc("May only lend properties to namespaces, constructors and their prototypes. Found {0}."));Zbb=new y5("JSC_NTI_FUNCTION_CONSTRUCTOR_NOT_DEFINED",
hY,new klc("You must provide externs that define the built-in Function constructor."));bcb=new y5("JSC_NTI_INVALID_INTERFACE_PROP_INITIALIZER",jY,new klc("Invalid initialization of interface property."));jcb=new y5("JSC_NTI_SETTER_WITH_RETURN",jY,new klc("Cannot declare a return type on a setter."));ocb=new y5("JSC_NTI_WRONG_PARAMETER_COUNT",jY,new klc("Function definition does not have the declared number of parameters.\nExpected: {0}\nFound: {1}"));Nbb=new y5("JSC_NTI_CANNOT_ADD_PROPERTIES_TO_TYPEDEF",
jY,new klc("A typedef should only be used in type annotations, not as a value. Adding properties to typedefs is not allowed."));lcb=new y5("JSC_NTI_SUPER_INTERFACES_HAVE_INCOMPATIBLE_PROPERTIES",jY,new klc("Interface {0} has a property {1} with incompatible types in its super interfaces: {2}"));hcb=new y5("JSC_NTI_ONE_TYPE_FOR_MANY_VARS",jY,new klc("Having one type annotation for multiple variables is not allowed."));mcb=new y5("JSC_NTI_UNKNOWN_OVERRIDE",jY,new klc("property {0} not defined on any supertype of {1}"));
acb=new y5("JSC_NTI_INTERFACE_METHOD_NOT_IMPLEMENTED",jY,new klc(cFc));_bb=new y5("JSC_NTI_INTERFACE_METHOD_NOT_EMPTY",jY,new klc(dFc));Jbb=new y5("JSC_NTI_ABSTRACT_METHOD_IN_CONCRETE_CLASS",jY,new klc("Abstract methods can only appear in abstract classes. Please declare class {0} as @abstract"));Kbb=new y5("JSC_NTI_ABSTRACT_METHOD_IN_INTERFACE",jY,new klc("Abstract methods cannot appear in interfaces"));Lbb=new y5("JSC_NTI_ABSTRACT_METHOD_NOT_IMPLEMENTED_IN_CONCRETE_CLASS",jY,new klc("Abstract method {0} from superclass {1} not implemented"));
Qbb=new U4($C(VC(FJ,1),qAc,5,0,[Jbb,Pbb,Ubb,Wbb,Xbb,Ybb,Zbb,$bb,acb,_bb,bcb,ccb,dcb,hcb,icb,kcb,lcb,mcb,ncb,ocb]));gcb=new U4($C(VC(FJ,1),qAc,5,0,[Kbb,Lbb,Mbb,Nbb,Obb,Rbb,Sbb,Tbb,Vbb,ecb,fcb,jcb]))}function t5(){t5=qV;p5=new y5("JSC_UNUSED",(kY(),jY),new klc(zDc));km();zo($C(VC(AS,1),qAc,1,5,[ADc,BDc,CDc]));s5=new Qtc;w5("commonJsModuleLoad",$C(VC(FJ,1),qAc,5,0,[(Emb(),Cmb)]));i5=w5("globalThis",$C(VC(FJ,1),qAc,5,0,[(ZX(),YX)]));e5=w5(DDc,$C(VC(FJ,1),qAc,5,0,[(MX(),FX),GX,HX,IX,DX,EX]));w5("underscore",
$C(VC(FJ,1),qAc,5,0,[(Fvb(),Bvb),Cvb]));r5=w5("visibility",$C(VC(FJ,1),qAc,5,0,[xX,yX,wX,zX,JX,KX,LX,CX]));v5("accessControls",$C(VC(EJ,1),qAc,54,0,[e5,r5]));w5("nonStandardJsDocs",$C(VC(FJ,1),qAc,5,0,[(Cob(),mob),sob,tob]));w5("invalidCasts",$C(VC(FJ,1),qAc,5,0,[(Esb(),Asb)]));u5(EDc,new T4(EDc,$C(VC(FJ,1),qAc,5,0,[p5])));u5(FDc,new T4(FDc,$C(VC(FJ,1),qAc,5,0,[p5])));w5("strictModuleDepCheck",$C(VC(FJ,1),qAc,5,0,[(ntb(),htb),(XX(),VX)]));w5("violatedModuleDep",$C(VC(FJ,1),qAc,5,0,[mtb]));w5("externsValidation",
$C(VC(FJ,1),qAc,5,0,[gtb,itb]));w5("ambiguousFunctionDecl",$C(VC(FJ,1),qAc,5,0,[(Etb(),Atb),(kqb(),cqb)]));w5("unknownDefines",$C(VC(FJ,1),qAc,5,0,[(Gmb(),Fmb)]));w5("tweakValidation",$C(VC(FJ,1),qAc,5,0,[(fnb(),bnb),dnb,enb]));w5("missingOverride",$C(VC(FJ,1),qAc,5,0,[(ssb(),Wrb),Xrb]));w5("missingProperties",$C(VC(FJ,1),qAc,5,0,[csb,dsb,nsb]));w5("j2clChecks",$C(VC(FJ,1),qAc,5,0,[(web(),veb)]));w5("missingReturn",$C(VC(FJ,1),qAc,5,0,[(oY(),nY)]));w5("internetExplorerChecks",$C(VC(FJ,1),qAc,5,0,
[Aob]));w5("undefinedVars",$C(VC(FJ,1),qAc,5,0,[jtb]));w5("undefinedNames",$C(VC(FJ,1),qAc,5,0,[WX]));w5("checkDebuggerStatement",$C(VC(FJ,1),qAc,5,0,[(PX(),OX)]));w5("checkRegExp",$C(VC(FJ,1),qAc,5,0,[(tY(),sY),rY]));m5=v5("oldCheckTypes",$C(VC(EJ,1),qAc,54,0,[usb,Lrb]));k5=v5("newCheckTypesCompatibility",$C(VC(EJ,1),qAc,54,0,[(jzb(),Qyb),(pcb(),Qbb),(Mhb(),_gb)]));l5=v5("newCheckTypesExtraChecks",$C(VC(EJ,1),qAc,54,0,[dzb,gcb,zhb]));j5=v5("newCheckTypes",$C(VC(EJ,1),qAc,54,0,[k5,l5]));c5=v5(gDc,
$C(VC(EJ,1),qAc,54,0,[m5,j5]));w5("newCheckTypesAllChecks",$C(VC(FJ,1),qAc,5,0,[Dhb]));w5("newCheckTypesClosureClean",$C(VC(FJ,1),qAc,5,0,[Ryb,Syb,Tyb,Yyb,Zyb,azb,bzb,hzb,Jbb,Mbb,Obb,Pbb,Rbb,Tbb,Ubb,Vbb,Wbb,Xbb,Ybb,$bb,acb,dcb,ecb,fcb,hcb,kcb,lcb,mcb,ncb,Ugb,Wgb,Zgb,dhb,ahb,ehb,hhb,khb,whb,rhb,shb,thb,vhb,xhb,Hhb,Khb]));w5("checkEventfulObjectDisposal",$C(VC(FJ,1),qAc,5,0,[(UX(),QX),RX,SX,TX]));n5=w5(CDc,$C(VC(FJ,1),qAc,5,0,[osb]));w5(ADc,$C(VC(FJ,1),qAc,5,0,[osb,Ihb]));d5=w5("checkVars",$C(VC(FJ,
1),qAc,5,0,[jtb,ltb,Btb,Ctb]));w5(GDc,$C(VC(FJ,1),qAc,5,0,[(AY(),zY),(IY(),HY)]));w5(HDc,$C(VC(FJ,1),qAc,5,0,[AX,BX,(v4(),u4),dhb,chb,bhb]));a5=w5("accessControlsConst",$C(VC(FJ,1),qAc,5,0,[AX,BX]));w5("constantProperty",$C(VC(FJ,1),qAc,5,0,[AX,BX,chb,bhb]));w5("typeInvalidation",$C(VC(FJ,1),qAc,5,0,[(E5(),C5),D5]));w5(IDc,$C(VC(FJ,1),qAc,5,0,[ltb,vsb,wsb,Ctb,icb]));w5(fDc,$C(VC(FJ,1),qAc,5,0,[qob,Aob]));h5=w5("es5StrictUncommon",$C(VC(FJ,1),qAc,5,0,[rob,nob,jqb,gqb,fqb,bqb,$pb,dqb,eqb,cqb]));g5=
w5("es5StrictReflection",$C(VC(FJ,1),qAc,5,0,[_pb,aqb,iqb,hqb]));f5=v5("es5Strict",$C(VC(EJ,1),qAc,54,0,[h5,g5]));w5(JDc,$C(VC(FJ,1),qAc,5,0,[(qY(),pY),(BZ(),yZ)]));w5(KDc,$C(VC(FJ,1),qAc,5,0,[(yY(),xY)]));o5=w5("strictMissingRequire",$C(VC(FJ,1),qAc,5,0,[xY,vY,wY]));w5("legacyGoogScopeRequire",$C(VC(FJ,1),qAc,5,0,[vY,uY]));w5("extraRequire",$C(VC(FJ,1),qAc,5,0,[uY]));w5("misplacedTypeAnnotation",$C(VC(FJ,1),qAc,5,0,[(gY(),_X),aY,bY,dY,cY,eY,fY]));w5("suspiciousCode",$C(VC(FJ,1),qAc,5,0,[(gvb(),fvb),
(GY(),FY),BY,DY,CY,EY,Rrb,Dmb]));w5("functionParams",$C(VC(FJ,1),qAc,5,0,[(uab(),lab),mab]));w5("deprecatedAnnotations",$C(VC(FJ,1),qAc,5,0,[$X]));q5=w5("unusedPrivateMembers",$C(VC(FJ,1),qAc,5,0,[(KY(),JY)]));w5("unusedLocalVariables",$C(VC(FJ,1),qAc,5,0,[Dtb]));v5("lintChecks",$C(VC(EJ,1),qAc,54,0,[rvb,new U4($C(VC(FJ,1),qAc,5,0,[(ivb(),hvb),(nvb(),jvb),kvb,lvb,mvb,(qvb(),ovb),pvb,(Hvb(),Gvb),(Nvb(),Lvb),Mvb,(Pvb(),Ovb),(Uvb(),Qvb),Tvb,Svb,Rvb,(Wvb(),Vvb),(Yvb(),Xvb),(RY(),OY),MY,NY,PY,QY,zZ,uob,
vob,zob]))]));w5("strictModuleChecks",$C(VC(FJ,1),qAc,5,0,[LY,OY,MY,NY,PY,QY]));b5=w5("analyzerChecksInternal",$C(VC(FJ,1),qAc,5,0,[(evb(),dvb),(Kvb(),Ivb),Jvb,(ueb(),teb)]));v5(BDc,$C(VC(EJ,1),qAc,54,0,[b5,q5]));w5("useOfGoogBase",$C(VC(FJ,1),qAc,5,0,[(Bmb(),Amb)]));w5("closureDepMethodUsageChecks",$C(VC(FJ,1),qAc,5,0,[xmb]));w5("transitionalSuspiciousCodeWarnings",$C(VC(FJ,1),qAc,5,0,[(wlb(),ulb),vlb,tlb]));w5("lateProvide",$C(VC(FJ,1),qAc,5,0,[zmb,xZ]));w5("missingPolyfill",$C(VC(FJ,1),qAc,5,0,
[(Vnb(),Unb)]));w5("invalidProvide",$C(VC(FJ,1),qAc,5,0,[ymb]));w5("es6Typed",$C(VC(FJ,1),qAc,5,0,[wob]));w5("duplicateZipContents",$C(VC(FJ,1),qAc,5,0,[(npb(),mpb)]));u5(LDc,new T4(LDc,$C(VC(FJ,1),qAc,5,0,[p5])))}function Mhb(){Mhb=qV;yhb=new y5("JSC_NTI_MISTYPED_ASSIGN_RHS",(kY(),jY),new klc("The right side in the assignment is not a subtype of the left side.\n{0}"));uhb=new y5("JSC_NTI_INVALID_OPERAND_TYPE",jY,new klc("Invalid type(s) for operator {0}.\n{1}"));Ghb=new y5("JSC_NTI_RETURN_NONDECLARED_TYPE",
jY,new klc("Returned type does not match declared return type.\n{0}"));shb=new y5("JSC_NTI_INVALID_INFERRED_RETURN_TYPE",jY,new klc("Function called in context that expects incompatible type.\n{0}"));phb=new y5("JSC_NTI_INVALID_ARGUMENT_TYPE",jY,new klc("Invalid type for parameter {0} of function {1}.\n{2}"));ehb=new y5("JSC_NTI_CROSS_SCOPE_GOTCHA",jY,new klc("Variable {0} typed inconsistently across scopes.\nIn outer scope : {1}\nIn inner scope : {2}\n"));Ehb=new y5("JSC_NTI_POSSIBLY_INEXISTENT_PROPERTY",
jY,new klc("Property {0} may not be present on {1}."));Fhb=new y5("JSC_NTI_PROPERTY_ACCESS_ON_NONOBJECT",jY,new klc("Cannot access property {0} of non-object type {1}."));Chb=new y5("JSC_NTI_NOT_UNIQUE_INSTANTIATION",jY,new klc("When instantiating a polymorphic function, you can only specify one type for each type variable.\n Found {0} types for type variable {1}: {2},\n when instantiating type: {3}"));fhb=new y5("JSC_NTI_FAILED_TO_UNIFY",jY,new klc("Could not instantiate type {0} with {1}."));rhb=
new y5("JSC_NTI_INVALID_INDEX_TYPE",jY,new klc("Invalid type for index.\n{0}"));Xgb=new y5("JSC_NTI_BOTTOM_INDEX_TYPE",jY,new klc("This IObject {0} cannot be accessed with a valid type.\n Usually the result of a bad union type.\n"));thb=new y5("JSC_NTI_INVALID_OBJLIT_PROPERTY_TYPE",jY,new klc("Invalid type for object-literal property.\n{0}"));ghb=new y5("JSC_NTI_FORIN_EXPECTS_OBJECT",jY,new klc("For/in expects an object, found type {0}."));hhb=new y5("JSC_NTI_FORIN_EXPECTS_STRING_KEY",jY,new klc("For/in creates string keys, but variable has declared type {1}."));
dhb=new y5("JSC_NTI_CONST_REASSIGNED",jY,new klc("Cannot change the value of a constant."));chb=new y5("JSC_NTI_CONST_PROPERTY_REASSIGNED",jY,new klc("Cannot change the value of a constant property."));bhb=new y5("JSC_NTI_CONSTANT_PROPERTY_DELETED",jY,new klc("Constant property {0} cannot be deleted"));Ahb=new y5("JSC_NTI_NOT_A_CONSTRUCTOR",jY,new klc("Expected a constructor but found type {0}."));$gb=new y5("JSC_NTI_CANNOT_INSTANTIATE_ABSTRACT_CLASS",jY,new klc("Cannot instantiate abstract class {0}."));
new y5("JSC_UNDEFINED_SUPER_CLASS",jY,new klc("Undefined super class for {0}."));Wgb=new y5("JSC_NTI_ASSERT_FALSE",jY,new klc("Assertion is always false. Please use a throw or fail() instead."));Hhb=new y5("JSC_NTI_UNKNOWN_ASSERTION_TYPE",jY,new klc("Assert with unknown asserted type."));vhb=new y5("JSC_NTI_INVALID_THIS_TYPE_IN_BIND",jY,new klc("Invalid type for the first argument to bind.\n{0}"));Zgb=new y5("JSC_NTI_CANNOT_BIND_CTOR",jY,new klc("We do not support using .bind on constructor functions."));
jhb=new y5("JSC_NTI_GOOG_BIND_EXPECTS_FUNCTION",jY,new klc("The first argument to goog.bind/goog.partial must be a function, found: {0}"));Ygb=new y5("JSC_NTI_BOTTOM_PROP",jY,new klc("Property {0} of {1} cannot have a valid type.Maybe the result of a union of incompatible types?"));qhb=new y5("JSC_NTI_INVALID_CAST",jY,new klc("invalid cast - the types do not have a common subtype\nfrom: {0}\nto  : {1}"));ihb=new y5("JSC_NTI_USED_GLOBAL_THIS",jY,new klc("Dangerous use of the global THIS object"));
xhb=new y5("JSC_NTI_MISSING_RETURN_STATEMENT",jY,new klc(UBc));ahb=new y5("JSC_NTI_CONSTRUCTOR_NOT_CALLABLE",jY,new klc(BFc));khb=new y5("JSC_NTI_ILLEGAL_OBJLIT_KEY",jY,new klc(CFc));mhb=new y5("JSC_NTI_ILLEGAL_PROPERTY_CREATION",jY,new klc("Cannot add property {0} to a struct instance after it is constructed."));whb=new y5("JSC_NTI_IN_USED_WITH_STRUCT",jY,new klc(DFc));Vgb=new y5("JSC_NTI_ADDING_PROPERTY_TO_NON_OBJECT",jY,new klc("Cannot create property {0} on non-object type {1}."));ohb=new y5("JSC_NTI_INEXISTENT_PROPERTY",
jY,new klc(EFc));Bhb=new y5("JSC_NTI_NOT_FUNCTION_TYPE",jY,new klc("Cannot call non-function type {0}"));Lhb=new y5("JSC_NTI_WRONG_ARGUMENT_COUNT",jY,new klc(FFc));lhb=new y5("JSC_NTI_ILLEGAL_PROPERTY_ACCESS",jY,new klc(GFc));Khb=new y5("JSC_NTI_UNKNOWN_TYPEOF_VALUE",jY,new klc(HFc));Jhb=new y5("JSC_NTI_UNKNOWN_NAMESPACE_PROPERTY",jY,new klc("Cannot determine the type of namespace property {0}. Maybe a prefix of the property name has been redefined?"));nhb=new y5("JSC_INCOMPATIBLE_STRICT_COMPARISON",
jY,new klc("Cannot perform strict equality / inequality comparisons on incompatible types:\nleft : {0}\nright: {1}"));Ugb=new y5("JSC_NTI_ABSTRACT_METHOD_NOT_CALLABLE",jY,new klc(IFc));Dhb=new y5("JSC_NTI_NULLABLE_DEREFERENCE",iY,new klc("Attempt to use nullable type {0}."));Ihb=new y5("JSC_NTI_UNKNOWN_EXPR_TYPE",iY,new klc("This {0} expression has the unknown type."));_gb=new U4($C(VC(FJ,1),qAc,5,0,[Ugb,Wgb,Zgb,$gb,bhb,chb,dhb,ahb,fhb,hhb,ihb,jhb,khb,lhb,mhb,whb,ohb,phb,qhb,rhb,thb,xhb,yhb,Ahb,Bhb,
Ehb,Ghb,Hhb,Khb,Lhb]));zhb=new U4($C(VC(FJ,1),qAc,5,0,[Vgb,Xgb,Ygb,ehb,ghb,nhb,shb,uhb,vhb,Chb,Fhb,Jhb]))}function oHb(a,b){var c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,A,B,C,D,F,G,H,I,J,K,L,M,N,O,P,Q,R,S,T,U,V,W,X,Y,Z,$,ab,bb,cb,db,eb,fb,gb,hb,ib,jb,kb;switch(b.p.f){case 42:return(b.b.c==(hUb(),MTb)||b.b.c==NTb)&&jHb(a,b,(TMb(),qMb)),kGb(a.a,b.c.o)?pGb(a.a,WGb(b.b.c),FGb(a.a,b.a),FGb(a.a,b.c)):sHb(a,b);case 28:return pHb(a,b);case 74:return _Hb(a,b);case 75:return aIb(a,b.a);case 76:return oGb(a.a,
(F7b(),p7b),FGb(a.a,b.a));case 44:return eIb(a,b);case 2:return tHb(a,b);case 14:return uHb(a,b);case 49:return FHb(a,b);case 17:return YHb(a,b);case 18:return ZHb(a,b);case 22:return pGb(a.a,(F7b(),j5b),FGb(a.a,b.b),GGb(a.a,b.a));case 13:return xHb(a,b);case 8:return pGb(a.a,(F7b(),z5b),GGb(a.a,b.a),FGb(a.a,b.b));case 5:return nGb((d=a,b,d).a,(F7b(),B5b));case 6:return BHb(a,b);case 24:return nGb((e=a,b,e).a,(F7b(),r5b));case 25:return nGb((f=a,b,f).a,(F7b(),q7b));case 11:return CHb(a,b);case 10:return h=
FGb(a.a,b.c),i=(km(),zo($C(VC(AS,1),qAc,1,5,[(F7b(),I4b),L6b]))),i.contains(h.j)&&a.a.d.hh("Invalid LHS for a for-in loop",a.a.r,(bGb(),b.c.o.b.b+1),b.c.o.b.a),qGb(a.a,O5b,h,FGb(a.a,b.b),GGb(a.a,b.a));case 1:return EHb(a,b);case 55:return pGb(a.a,(F7b(),V5b),FGb(a.a,b.b),FGb(a.a,b.a));case 46:return j=FGb(a.a,b.b),k=b.a,l=PHb(a,k),!l.Nh()&&!a.a.c&&kHb(a,l),pGb(a.a,(F7b(),W5b),j,l);case 43:return qGb(a.a,(F7b(),Z5b),FGb(a.a,b.a),FGb(a.a,b.b),FGb(a.a,b.c));case 7:return IHb(a,b);case 20:return pGb(a.a,
(F7b(),l6b),jIb(a,b.a),FGb(a.a,b.b));case 56:return aHb(a,b),FGb(a.a,b.a);case 26:return LHb(a,b.a,false);case 47:return OHb(a,b);case 29:return QHb(a,b);case 36:return jHb(a,b,(TMb(),jMb)),pGb(a.a,(F7b(),o5b),FGb(a.a,b.a),FGb(a.a,b.b));case 37:return jHb(a,b,(TMb(),jMb)),m=FGb(a.a,b.c),n=FGb(a.a,b.a),o=QZb((se(Yjc("",qkc(46))==-1,YBc,""),new q4b((F7b(),y6b),"")),new q3b(Q6b),n),p3b(o,n),p=pGb(a.a,o5b,m,o),q=R2b(p,p.g,73),q!=p.g&&(p.g=q),p.g=new V3b(73,1,p.g),M2b(p,58,b.b),p;case 88:return jHb(a,
b,(TMb(),jMb)),mHb(a,b,jMb),r=oGb(a.a,(F7b(),o5b),FGb(a.a,b.d)),gHb(a,r,b.b),s=R2b(r,r.g,75),s!=r.g&&(r.g=s),r.g=new V3b(75,1,r.g),N2b(r,84,b.a),d3b(r,b.c),eHb(r,b.a),r;case 38:return jHb(a,b,(TMb(),jMb)),t=pGb(a.a,(F7b(),o5b),FGb(a.a,b.c),FGb(a.a,b.b)),u=R2b(t,t.g,72),u!=t.g&&(t.g=u),t.g=new V3b(72,1,t.g),b.b.i&&(v=R2b(t,t.g,58),v!=t.g&&(t.g=v),t.g=new V3b(58,1,t.g)),eHb(t,b.a),t;case 39:return jHb(a,b,(TMb(),jMb)),w=FGb(a.a,b.d),A=FGb(a.a,b.a),B=g$b(iIb(a,b.c)),C=QZb((se(Yjc("",qkc(46))==-1,YBc,
""),new q4b((F7b(),y6b),"")),B,A),p3b(C,A),D=pGb(a.a,o5b,w,C),F=R2b(D,D.g,74),F!=D.g&&(D.g=F),D.g=new V3b(74,1,D.g),M2b(D,58,b.b),D;case 15:return VHb(a,b);case 45:return G=$Gb(b.b.c),H=FGb(a.a,b.a),bHb(a,G,b.c==1,H);case 0:return rHb(a,b);case 27:return KHb(a,b);case 19:return $Hb(a,b);case 21:return oGb(a.a,(F7b(),r7b),FGb(a.a,b.a));case 23:return bIb(a,b);case 3:return oHb(a.a.u,b.a);case 12:return hIb(a,b);case 4:return gIb(a,b);case 9:return pGb(a.a,(F7b(),C7b),FGb(a.a,b.b),GGb(a.a,b.a));case 16:return pGb(a.a,
(F7b(),D7b),FGb(a.a,b.b),GGb(a.a,b.a));case 41:return wHb(a,b);case 64:return nGb((g=a,b,g).a,(F7b(),B5b));case 57:return GGb(a.a,b.a);case 40:return sGb((c=a,b,c).a,(F7b(),y6b),gHc);case 35:return I=PHb(a,b.a),f3b(I,(F7b(),i7b)),!!b.b&&e2b(I,FGb(a.a,b.b)),I;case 33:return J=PHb(a,b.c),f3b(J,(F7b(),X5b)),K=FGb(a.a,b.a),L=(se(Yjc("",qkc(46))==-1,YBc,""),new q4b(y6b,"")),CGb(L,b.a),M=new q3b(Q6b),CGb(M,b.a),N=qGb(a.a,Q5b,L,M,K),CGb(N,b.a),e2b(J,N),gHb(a,N,b.d),d3b(J,b.b),J;case 34:return O=PHb(a,b.d),
f3b(O,(F7b(),c7b)),P=FGb(a.a,b.a),Q=(se(Yjc("",qkc(46))==-1,YBc,""),new q4b(y6b,"")),BGb(Q,b.d),R=g$b(iIb(a,b.c)),BGb(R,b.c),gHb(a,R.b,b.e),S=qGb(a.a,Q5b,Q,R,P),CGb(S,b.a),e2b(O,S),d3b(O,b.b),O;case 62:return DHb(a,b);case 50:return vHb(a,b);case 58:return jHb(a,b,(TMb(),OMb)),nGb(a.a,(F7b(),l7b));case 93:return jHb(a,b,(TMb(),FMb)),nGb(a.a,(F7b(),F6b));case 72:return T=nGb(a.a,(F7b(),E7b)),!!b.a&&d2b(T,FGb(a.a,b.a)),i3b(T,b.b),T;case 94:return jHb(a,b,(TMb(),fMb)),U=nGb(a.a,(F7b(),Y4b)),d2b(U,FGb(a.a,
b.a)),U;case 71:return jHb(a,b,(TMb(),sMb)),V=FGb(a.a,b.c),W=(km(),zo($C(VC(AS,1),qAc,1,5,[(F7b(),I4b),L6b]))),W.contains(V.j)&&a.a.d.hh("Invalid LHS for a for-of loop",a.a.r,(bGb(),b.c.o.b.b+1),b.c.o.b.a),qGb(a.a,P5b,V,FGb(a.a,b.b),GGb(a.a,b.a));case 67:return zHb(a,b);case 68:return AHb(a,b);case 69:return jHb(a,b,(TMb(),DMb)),X=mIb(a,b.a,b),Y=b.d?sGb(a.a,(F7b(),d6b),b.d.a):lIb(a,(F7b(),c6b),b.b),z3b(Y.i)==-1&&DGb(Y,b.o.b,b.o.a),Z=WHb(a,b.c),qGb(a.a,(F7b(),a6b),X,Y,Z);case 70:return $=LHb(a,b.b,
true),f3b($,(F7b(),y6b)),ab=oGb(a.a,b6b,$),!!b.a&&d2b(ab,LHb(a,b.a,false)),ab;case 59:return qHb(a,b);case 61:return RHb(a,b);case 60:return oGb(a.a,(F7b(),Y6b),HGb(a.a,b.a));case 32:case 31:case 30:return a.a.d.hh("unsupported language feature: array/generator comprehensions",a.a.r,(bGb(),b.o.b.b+1),b.o.b.a),sGb(a.a,(F7b(),y6b),gHc);case 73:return jHb(a,b,(TMb(),mMb)),pGb(a.a,(F7b(),v5b),FGb(a.a,b.b),FGb(a.a,b.a));case 65:return jHb(a,b,(TMb(),KMb)),bb=HGb(a.a,b.a),(bb.j==(F7b(),M6b)||bb.j==J4b)&&
jHb(a,b.a,nMb),oGb(a.a,Y6b,bb);case 63:return jHb(a,b,(TMb(),MMb)),oGb(a.a,(F7b(),f7b),FGb(a.a,b.a));case 77:return cIb(a,b);case 79:return cb=FGb(a.a,b.a),gHb(a,cb,b.b),cb;case 80:return mHb(a,b,(TMb(),HMb)),db=FGb(a.a,b.a),eb=R2b(db,db.g,80),eb!=db.g&&(db.g=eb),db.g=new V3b(80,1,db.g),db;case 81:return SHb(a,b);case 82:return cGb(a.a,L7b(FGb(a.a,b.a)));case 83:return THb(a,b);case 84:return fIb(a,b);case 85:return GHb(a,b);case 78:return dIb(a,b);case 86:return HHb(a,b);case 87:return fb=sGb(a.a,
(F7b(),u6b),b.e.a),gHb(a,fb,b.b),d3b(fb,b.d),M2b(fb,80,b.c),eHb(fb,b.a),fb;case 51:return JHb(a,b);case 54:return yHb(a,b);case 89:return mHb(a,b,(TMb(),RMb)),gb=sGb(a.a,(F7b(),v7b),b.a.a),e2b(gb,FGb(a.a,b.b)),gb;case 90:return mHb(a,b,(TMb(),dMb)),oGb(a.a,(F7b(),t5b),FGb(a.a,b.a));case 52:return MHb(a,b);case 91:return mHb(a,b,(TMb(),xMb)),hb=FGb(a.a,b.b),ib=u2b(hb,78),ib.j!=(F7b(),K6b)&&ib.j!=j7b&&a.a.d.hh("Index signature parameter type must be 'string' or 'number'",a.a.r,(bGb(),b.b.o.b.b+1),b.b.o.b.a),
jb=oGb(a.a,g6b,hb),gHb(a,jb,b.a),jb;case 92:return mHb(a,b,b.c?(TMb(),kMb):(TMb(),hMb)),kb=oGb(a.a,(F7b(),g5b),FGb(a.a,b.a)),gHb(a,kb,b.d),fHb(a,kb,b.b),M2b(kb,83,b.c),kb}return a.a.d.hh("Unsupported syntax: "+b.p,a.a.r,(bGb(),b.o.b.b+1),0),nGb(a.a,(F7b(),B5b))}function d$(a,b,c){var d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,A,B,C,D,F,G,H,I,J,K,L,M,N,O,P,Q,R,S,T,U,V,W,X,Y,Z,$,ab,bb,cb,db,eb,fb;if(a.g&&!!u2b(b,29)){G=Beb(a.e,u2b(b,29));Vjc(G,"/** */ ")||DZ(a.c,G)}bb=b.j;N=$jb(bb);p=p2b(b);t=b.b;H=b.b?
b.b.f:null;if(N!=null&&t!=H){te(p==2,N,p);O=akb(bb);X=c==3?3:4;K=c==2&&t.j==(F7b(),M6b);b.j==(F7b(),L4b)&&K&&DZ(a.c,"(");if(bjb(b)||bb==H5b){i$(a,t,O+1,c);FZ(a.c,N,true);i$(a,H,O,X)}else v$(a,b,bb,N,c,X,O,O+1);b.j==L4b&&K&&DZ(a.c,")");return}a.c.Bg(b);switch(bb.f){case 44:{ne(C2b(t.d)&&!A2b(t.d));ne(p>=2&&p<=3);DZ(a.c,"try");a.Cg(t,4);n=t.d.b;!!n&&a.Cg(n,4);if(p==3){a.c.xg();DZ(a.c,kCc);a.Cg(H,4)}break}case 78:ne(p==2);a.c.xg();DZ(a.c,"catch");a.c.xg();DZ(a.c,"(");a.Cg(t,4);DZ(a.c,")");a.Cg(H,4);
break;case 39:ne(p==1);DZ(a.c,"throw");a.c.xg();a.Cg(t,4);a.c.tg(true);break;case 0:DZ(a.c,lCc);if(p==1){a.c.xg();a.Cg(t,4)}else ne(p==0);a.c.tg(false);break;case 76:DZ(a.c,"var ");m$(a,t,false,c==3?3:4,",");(!b.e||(sib(),Kjb(b.e)))&&a.c.tg(false);break;case 88:DZ(a.c,"const ");m$(a,t,false,c==3?3:4,",");(!b.e||(sib(),Kjb(b.e)))&&a.c.tg(false);break;case 100:DZ(a.c,"let ");m$(a,t,false,c==3?3:4,",");(!b.e||(sib(),Kjb(b.e)))&&a.c.tg(false);break;case 90:ne(b.Lh().length!=0);k$(a,b.Lh());break;case 95:a.Cg(t,
4);if(t!=H){ne(p==2);FZ(a.c,"=",true);a.Cg(H,4)}break;case 29:a.k&&u2b(b,40)!=null?k$(a,u2b(b,40)):k$(a,b.Lh());s2b(b,80)!=0&&DZ(a.c,"?");s$(a,b);if(!!t&&t.j!=(F7b(),B5b)){ne(p==1);FZ(a.c,"=",true);t.j==(F7b(),n5b)?i$(a,t,akb(L4b),4):i$(a,t,0,c==3?3:4)}break;case 42:DZ(a.c,"[");g$(a,t);DZ(a.c,"]");break;case 93:DZ(a.c,"[");g$(a,t);DZ(a.c,"]");s$(a,b);break;case 45:DZ(a.c,"(");m$(a,t,true,4,",");DZ(a.c,")");break;case 118:a.Cg(t,4);s$(a,b);FZ(a.c,"=",true);a.Cg(t.d,4);break;case 46:ne(p==2);v$(a,b,
(F7b(),n5b),",",c,c==3?3:4,0,0);break;case 30:ne(p==0);a.c.hg(b.Kh(),b);break;case 25:case 79:case 19:case 20:case 21:{ne(p==1);FZ(a.c,_jb(bb),false);i$(a,t,akb(bb),4);break}case 22:{ne(p==1);if(b.b.j==(F7b(),J6b))a.c.hg(-b.b.Kh(),b.b);else{FZ(a.c,_jb(bb),false);i$(a,t,akb(bb),4)}break}case 60:{ne(p==3);O=akb(bb);X=c==3?3:4;i$(a,t,O+1,c);FZ(a.c,"?",true);i$(a,t.d,1,X);FZ(a.c,":",true);i$(a,H,1,X);break}case 38:if(t.j!=(F7b(),h7b)||H.j!=h7b)throw RU(new Rhc("Expected children to be strings"));V="/"+
u$(a,t.Lh(),'"',"'","`","\\",false,true)+"/";if(p==2)e$(a,V+H.Lh());else{ne(p==1);DZ(a.c,V)}break;case 65:{if(b.jj!=jR)throw RU(new Rhc(mCc));ne(p==3);s2b(b,60)!=0?(ne(t.Lh().length==0),cb=(db=b.e,!!db&&(sib(),cjb(db.j)||Ojb(db.j)||Qjb(db.j)||db.j==(F7b(),n7b)||db.j==(F7b(),W5b)||(db.j==(F7b(),V5b)||db.j==f5b||db.j==Z5b)&&(eb=b.e,!!eb&&b==eb.b))),cb&&DZ(a.c,"("),fb=u2b(t,81),!!fb&&a.Cg(fb,4),s2b(b,61)!=0&&DZ(a.c,nCc),a.Cg(t.d,4),s$(a,b),FZ(a.c,"=>",true),H.j==(F7b(),c5b)||H.j==_6b?a.Cg(H,4):i$(a,
H,akb(n5b)+1,c),a.c.qg(c==0),cb&&DZ(a.c,")"),undefined):j$(a,b,t,H,c);break}case 112:DZ(a.c,oCc);a.Cg(t,4);s$(a,b);break;case 113:DZ(a.c,oCc);a.Cg(b.b,4);break;case 108:DZ(a.c,pCc);s2b(b,63)!=0&&DZ(a.c,qCc);if(s2b(b,64)!=0){DZ(a.c,"*");ne(!!t&&t.j==(F7b(),B5b))}else a.Cg(t,4);if(p==2){DZ(a.c,rCc);a.Cg(H,4)}t$(a,t,c);break;case 104:DZ(a.c,sCc);Y=t.d;if(t.j!=(F7b(),B5b)){a.Cg(t,4);Y.j==B5b||a.c.vg()}Y.j==B5b||a.Cg(Y,4);(t.j!=B5b||Y.j!=B5b)&&DZ(a.c,rCc);a.Cg(H,4);a.c.tg(false);break;case 109:case 105:DZ(a.c,
"{");for(j=t;j;j=j.d){j!=t&&a.c.vg();a.Cg(j,4)}DZ(a.c,"}");break;case 110:case 106:a.Cg(t,4);if(t!=H){DZ(a.c,"as");a.Cg(H,4)}break;case 107:DZ(a.c,"*");DZ(a.c,"as");e$(a,b.Lh());break;case 96:{ne(p==3);q=c==2;q&&DZ(a.c,"(");J=t;Z=t.d;I=H;DZ(a.c,tCc);J.j==(F7b(),B5b)||a.Cg(J,4);A=u2b(t,81);!!A&&a.Cg(A,4);if(Z.j!=B5b){DZ(a.c,uCc);a.Cg(Z,4)}D=u2b(b,82);if(D){DZ(a.c,vCc);o=D.b;a.Cg(o,4);while(o=o.d){DZ(a.c,",");a.c.xg();a.Cg(o,4)}}a.Cg(I,4);IZ(a.c,c==0);q&&DZ(a.c,")")}break;case 97:case 150:case 160:GZ(a.c);
for(k=t;k;k=k.d){a.Cg(k,4);t$(a,k,c);a.c.rg()}HZ(a.c,false);break;case 152:GZ(a.c);for(l=t;l;l=l.d){a.Cg(l,4);!!l.d&&DZ(a.c,",");a.c.rg()}HZ(a.c,false);break;case 86:case 87:case 98:case 156:{l3b(b.e);ne(b.e.j==(F7b(),L6b)||b.e.j==l5b||b.e.j==k6b||b.e.j==W6b||b.e.j==g6b);e=u2b(b,84);!!e&&e$(a,(e.e!=null?e.e:""+e.f).toLowerCase()+" ");s2b(b,58)!=0&&DZ(a.c,"static ");if(b.j!=u6b&&s2b(b.b,59)!=0){ne(bb==t6b);DZ(a.c,"*")}b.j==t6b&&s2b(b.b,61)!=0&&DZ(a.c,"async ");switch(bb.f){case 86:ne(!t.b.d.b);DZ(a.c,
"get ");break;case 87:ne(B2b(t.b.d));DZ(a.c,"set ")}J=b.Lh();if(b.j==u6b){e$(a,b.Lh());s2b(b,80)!=0&&DZ(a.c,"?");s$(a,b)}else{ne(p==1);ne(t.j==Q5b);ne(t.b.Lh().length==0);u=t;P=u.b.d;h=u.b?u.b.f:null;if(!b.Nh()&&K7b(J)&&vjb(J)){DZ(a.c,J);r$(a,u.b)}else{r=B$(J);isNaN(r)?l$(a,b):a.c.hg(r,b)}s2b(u,80)!=0&&DZ(a.c,"?");a.Cg(P,4);s$(a,u);a.Cg(h,4)}break}case 85:case 111:case 82:case 81:{if(b.jj!=jR)throw RU(new Rhc(mCc));U=b.j==(F7b(),c5b)&&s2b(b,38)==0;U&&GZ(a.c);T=bb==b7b||bb==c5b&&!U&&!!b.e&&b.e.j==
b7b;for(m=t;m;m=m.d){a.Cg(m,0);(m.j==Q5b||m.j==k5b)&&a.c.yg();T&&a.c.zg()}U&&HZ(a.c,a.c.ng(b,c==0));break}case 72:ne(p==4);DZ(a.c,"for");a.c.xg();DZ(a.c,"(");sib();!!t&&(t.j==(F7b(),z7b)||t.j==q6b||t.j==p5b)?a.Cg(t,3):i$(a,t,0,3);DZ(a.c,";");a.Cg(t.d,4);DZ(a.c,";");a.Cg(t.d.d,4);DZ(a.c,")");n$(a,H,c==1?1:4,false);break;case 73:ne(p==3);DZ(a.c,"for");a.c.xg();DZ(a.c,"(");a.Cg(t,4);DZ(a.c,"in");a.Cg(t.d,4);DZ(a.c,")");n$(a,H,c==1?1:4,false);break;case 101:ne(p==3);DZ(a.c,"for");a.c.xg();DZ(a.c,"(");
a.Cg(t,4);DZ(a.c,"of");a.Cg(t.d,4);DZ(a.c,")");n$(a,H,c==1?1:4,false);break;case 71:ne(p==2);DZ(a.c,"do");n$(a,t,4,false);a.c.xg();DZ(a.c,wCc);a.c.xg();DZ(a.c,"(");a.Cg(H,4);DZ(a.c,")");a.c.tg(false);break;case 70:ne(p==2);DZ(a.c,wCc);a.c.xg();DZ(a.c,"(");a.Cg(t,4);DZ(a.c,")");n$(a,H,c==1?1:4,false);break;case 80:ne(p==0);break;case 26:{if(a.k&&u2b(b,40)!=null){K2b(b.b,"$jscomp.scope")&&b.e.j==(F7b(),L4b)&&DZ(a.c,"var ");k$(a,u2b(b,40));break}pe(p==2,"Bad GETPROP: expected 2 children, but got %s",
p);oe(H.j==(F7b(),h7b),"Bad GETPROP: RHS should be STRING");K=t.j==J6b;K&&DZ(a.c,"(");i$(a,t,akb(bb),c);K&&DZ(a.c,")");if(a.i&&J7b(H.Lh())){DZ(a.c,"[");a.Cg(H,4);DZ(a.c,"]")}else{DZ(a.c,".");k$(a,H.Lh())}break}case 27:re(p==2,p,b);i$(a,t,akb(bb),c);DZ(a.c,"[");a.Cg(t.d,4);DZ(a.c,"]");break;case 77:ne(p==2);DZ(a.c,"with(");a.Cg(t,4);DZ(a.c,")");n$(a,H,c==1?1:4,false);break;case 63:case 64:{ne(p==1);M=bb==(F7b(),f6b)?"++":"--";R=s2b(b,32)!=0;if(R){i$(a,t,akb(bb),c);FZ(a.c,M,false)}else{FZ(a.c,M,false);
a.Cg(t,4)}break}case 28:if(t.j==(F7b(),y6b)&&Vjc("eval",t.Lh())&&s2b(t,49)==0||s2b(b,50)!=0&&(sib(),t.j==W5b||t.j==V5b)){DZ(a.c,"(0,");i$(a,t,akb(n5b),4);DZ(a.c,")")}else i$(a,t,akb(bb),c);g=t.d;DZ(a.c,"(");m$(a,g,true,4,",");DZ(a.c,")");break;case 66:ne(p==2||p==3);B=p==3;f=c==1&&!B;f&&GZ(a.c);DZ(a.c,"if");a.c.xg();DZ(a.c,"(");a.Cg(t,4);DZ(a.c,")");if(B){n$(a,t.d,1,false);a.c.xg();DZ(a.c,"else");n$(a,H,c==1?1:4,false)}else n$(a,t.d,4,false);f&&HZ(a.c,false);break;case 32:ne(p==0);DZ(a.c,iAc);break;
case 33:ne(p==0);DZ(a.c,xCc);break;case 99:ne(p==0);DZ(a.c,yCc);break;case 119:ne(p==0);DZ(a.c,zCc);break;case 102:DZ(a.c,"yield");if(s2b(b,62)!=0){he(t);DZ(a.c,"*")}if(t){a.c.xg();i$(a,t,akb(bb),4)}break;case 103:DZ(a.c,"await ");i$(a,t,akb(bb),4);break;case 34:ne(p==0);DZ(a.c,ACc);break;case 35:ne(p==0);DZ(a.c,BCc);break;case 75:ne(p<=1);DZ(a.c,CCc);if(p==1){if(t.j!=(F7b(),m6b))throw RU(new Rhc(DCc));DZ(a.c," ");a.Cg(t,4)}a.c.tg(false);break;case 89:ne(p==0);DZ(a.c,ECc);a.c.tg(false);break;case 74:ne(p<=
1);DZ(a.c,"break");if(p==1){if(t.j!=(F7b(),m6b))throw RU(new Rhc(DCc));DZ(a.c," ");a.Cg(t,4)}a.c.tg(false);break;case 84:ne(p==1);a.Cg(t,2);a.c.tg(false);break;case 23:DZ(a.c,"new ");S=akb(bb);zib(t,(F7b(),f5b),(sib(),mib))&&(S=akb(t.j)+1);i$(a,t,S,4);L=t.d;if(L){DZ(a.c,"(");m$(a,L,true,4,",");DZ(a.c,")")}break;case 91:p$(a,b);break;case 31:oe(p==0,"A string may not have children");l$(a,b);break;case 24:ne(p==1);DZ(a.c,"delete ");a.Cg(t,4);break;case 43:{K=c==2;K&&DZ(a.c,"(");DZ(a.c,"{");for(m=t;m;m=
m.d){m!=t&&a.c.vg();ne(m.j==(F7b(),o5b)||m.j==X5b||m.j==c7b||m.j==i7b||m.j==t6b);a.Cg(m,4)}DZ(a.c,"}");K&&DZ(a.c,")");break}case 114:d=u2b(b,84);!!d&&e$(a,(d.e!=null?d.e:""+d.f).toLowerCase()+" ");s2b(b,58)!=0&&DZ(a.c,"static ");s2b(b,73)!=0?DZ(a.c,"get "):s2b(b,74)!=0?DZ(a.c,"set "):s2b(H,59)!=0?DZ(a.c,"*"):s2b(H,61)!=0&&DZ(a.c,nCc);DZ(a.c,"[");a.Cg(t,4);DZ(a.c,"]");s$(a,b);if(s2b(b,72)!=0||s2b(b,73)!=0||s2b(b,74)!=0){v=t.d;Q=v.b.d;h=v.b?v.b.f:null;a.Cg(Q,4);a.Cg(h,4)}else{F=b.e.j==(F7b(),l5b);C=
t.d;if(C){oe(!F,"initializers should only exist in object literals, not classes");FZ(a.c,":",false);a.Cg(C,4)}else oe(s2b(b,75)!=0,b)}break;case 94:o$(a,b);s$(a,b);break;case 67:DZ(a.c,"switch(");a.Cg(t,4);DZ(a.c,")");GZ(a.c);f$(a,t.d);HZ(a.c,c==0);break;case 68:ne(p==2);DZ(a.c,"case ");a.Cg(t,4);h$(a,H);break;case 69:ne(p==1);DZ(a.c,qCc);h$(a,t);break;case 83:ne(p==2);if(t.j!=(F7b(),m6b))throw RU(new Rhc(DCc));a.Cg(t,4);DZ(a.c,":");H.j==c5b||H.j==_6b||a.c.xg();n$(a,H,c==1?1:4,true);break;case 92:DZ(a.c,
"(");a.Cg(t,4);DZ(a.c,")");break;case 115:a.Cg(t,2);a.Cg(t.d,4);break;case 116:DZ(a.c,"`");for(i=t;i;i=i.d)if(i.j==(F7b(),h7b))e$(a,u$(a,i.Lh(),'"',"'","\\`",aAc,false,false));else{a.c.ig("${");a.Cg(i.b,2);DZ(a.c,"}")}DZ(a.c,"`");break;case 120:DZ(a.c,$zc);break;case 121:DZ(a.c,Xzc);break;case 122:DZ(a.c,Yzc);break;case 126:DZ(a.c,"any");break;case 128:DZ(a.c,FCc);break;case 130:a.Cg(t,4);break;case 134:i$(a,t,akb((F7b(),K4b)),c);DZ(a.c,"[]");break;case 123:W=t;DZ(a.c,"(");m$(a,t.d,true,4,",");DZ(a.c,
")");FZ(a.c,"=>",true);a.Cg(W,4);break;case 125:m$(a,t,true,4,"|");break;case 132:DZ(a.c,"{");m$(a,t,false,4,",");DZ(a.c,"}");break;case 124:a.Cg(t,4);DZ(a.c,"<");m$(a,t.d,true,4,",");DZ(a.c,">");break;case 136:DZ(a.c,"<");m$(a,t,false,0,",");DZ(a.c,">");break;case 135:k$(a,b.Lh());if(b.b){DZ(a.c,uCc);a.c.xg();a.Cg(b.b,4)}break;case 148:{ne(p==3);J=t;ab=t.d;I=H;DZ(a.c,GCc);a.Cg(J,4);A=u2b(J,81);!!A&&a.Cg(A,4);if(ab.j!=(F7b(),B5b)){DZ(a.c,uCc);$=ab.b;a.Cg($,4);while($=$.d){DZ(a.c,",");a.c.xg();a.Cg($,
4)}}a.Cg(I,4)}break;case 151:{ne(p==2);J=t;I=H;DZ(a.c,HCc);a.Cg(J,4);a.Cg(I,4);break}case 159:{ne(p==2);J=t;s=H;DZ(a.c,ICc);a.Cg(J,4);a.Cg(s,4);break}case 154:DZ(a.c,JCc);e$(a,b.Lh());FZ(a.c,"=",true);a.Cg(H,4);a.c.tg(true);break;case 155:DZ(a.c,KCc);a.Cg(t,4);t$(a,b,c);break;case 157:DZ(a.c,"[");a.Cg(t,4);DZ(a.c,"]");s$(a,b);a.c.tg(true);break;case 158:s2b(b,83)!=0&&DZ(a.c,"new ");w=u2b(b,81);!!w&&a.Cg(w,4);a.Cg(t,4);s$(a,b);a.c.tg(true);break;default:throw RU(new bC("Unknown type "+bb+fBc+l3b(b)));
}a.c.sg(b)}function QIb(a,b,c){var d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,A,B,C,D,F,G,H,I,J,K,L,M,N,O,P,Q,R,S,T,U,V,W,X,Y,Z,$,ab,bb,cb,db,eb,fb,gb,hb,ib,jb;w=a.j.g;k=cKb(a.j);e=a.j.n;d=bo(a.a,e);if(!d||e.length==0)wIb(a,_Fc,e,a.j.g,cKb(a.j));else{I0b(a.e,e,w,k);switch(d.f){case 0:t_b(a.e.a)?uIb(a,"msg.jsdoc.nginject.extra",a.j.g,cKb(a.j)):s1b(a.e);return DIb(a,!a.o?dKb(a.j):BIb(a));case 25:p_b(a.e.a)?uIb(a,"msg.jsdoc.jaggerInject.extra",a.j.g,cKb(a.j)):j1b(a.e);return DIb(a,!a.o?dKb(a.j):BIb(a));
case 26:q_b(a.e.a)?uIb(a,"msg.jsdoc.jaggerModule.extra",a.j.g,cKb(a.j)):k1b(a.e);return DIb(a,!a.o?dKb(a.j):BIb(a));case 27:r_b(a.e.a)?uIb(a,"msg.jsdoc.jaggerProvide.extra",a.j.g,cKb(a.j)):l1b(a.e);return DIb(a,!a.o?dKb(a.j):BIb(a));case 28:s_b(a.e.a)?uIb(a,"msg.jsdoc.jaggerProvidePromise.extra",a.j.g,cKb(a.j)):m1b(a.e);return DIb(a,!a.o?dKb(a.j):BIb(a));case 1:M0b(a.e)||xIb(a,lHc,a.j.g,cKb(a.j));return DIb(a,!a.o?dKb(a.j):BIb(a));case 2:if(a.e.c){i=GIb(a);h=i.a;h.length==0?uIb(a,"msg.jsdoc.authormissing",
a.j.g,cKb(a.j)):C0b(a.e,h);b=i.b}else b=DIb(a,!a.o?dKb(a.j):BIb(a));return b;case 3:P0b(a.e)||uIb(a,"msg.jsdoc.consistidgen",a.j.g,cKb(a.j));return DIb(a,!a.o?dKb(a.j):BIb(a));case 56:P1b(a.e)||xIb(a,lHc,a.j.g,cKb(a.j));return DIb(a,!a.o?dKb(a.j):BIb(a));case 49:G1b(a.e)||xIb(a,lHc,a.j.g,cKb(a.j));return DIb(a,!a.o?dKb(a.j):BIb(a));case 10:W0b(a.e)||xIb(a,lHc,a.j.g,cKb(a.j));return DIb(a,!a.o?dKb(a.j):BIb(a));case 5:R0b(a.e)||(o_b(a.e.a)?xIb(a,mHc,a.j.g,cKb(a.j)):xIb(a,lHc,a.j.g,cKb(a.j)));return DIb(a,
!a.o?dKb(a.j):BIb(a));case 6:h1b(a.e)||xIb(a,"msg.jsdoc.record",a.j.g,cKb(a.j));return DIb(a,!a.o?dKb(a.j):BIb(a));case 8:T0b(a.e)||uIb(a,"msg.jsdoc.deprecated",a.j.g,cKb(a.j));L=FIb(a,b,a.f?0:2,false);K=L.a;K.length>0&&U0b(a.e,K);b=L.b;return b;case 24:i1b(a.e)||((a.e.a.a&2)!=0?xIb(a,mHc,a.j.g,cKb(a.j)):xIb(a,lHc,a.j.g,cKb(a.j)));return DIb(a,!a.o?dKb(a.j):BIb(a));case 9:if(T$b(a.e.a)!=null){uIb(a,"msg.jsdoc.desc.extra",a.j.g,cKb(a.j));return DIb(a,!a.o?dKb(a.j):BIb(a))}else{m=FIb(a,b,a.f?0:2,false);
l=m.a;V0b(a.e,l);b=m.b;return b}case 17:n="";if(a.e.c&&!IIb(a,64)){o=FIb(a,b,a.f?0:1,false);n=o.a;b=o.b}else b=DIb(a,!a.o?dKb(a.j):BIb(a));b1b(a.e,n)||uIb(a,"msg.jsdoc.fileoverview.extra",a.j.g,cKb(a.j));return b;case 30:case 42:J=FIb(a,b,0,true);I=J.a;I.length>0&&!!a.c&&D0b(a.c,I);b=J.b;return b;case 12:b=!a.o?dKb(a.j):BIb(a);w=a.j.g;k=cKb(a.j);Y=null;if(b!=(YJb(),KJb)&&b!=IJb){bb=PIb(a,b,a.j.g,cKb(a.j),b==NJb,false);if(!!bb&&bb.j==(F7b(),h7b)){Z=bb.Lh();!Vjc(Z,Yzc)&&!Vjc(Z,$zc)&&!Vjc(Z,Xzc)&&(bb=
rJb(a,(F7b(),Z4b),bb))}Y=!bb?null:new Z1b(bb,!a.g?null:a.g.Ig())}else a.o=b;!Y&&(Y=AIb(a,MIb(a,Yzc,a.j.g,cKb(a.j))));Y0b(a.e,Y)||a.b.ih(jHc+D4b(lHc,null)+kHc,!a.g?null:a.g.Ig(),w,k);return DIb(a,!a.o?dKb(a.j):BIb(a));case 16:$0b(a.e)||uIb(a,"msg.jsdoc.expose",a.j.g,cKb(a.j));return DIb(a,!a.o?dKb(a.j):BIb(a));case 14:a1b(a.e)||uIb(a,"msg.jsdoc.externs",a.j.g,cKb(a.j));return DIb(a,!a.o?dKb(a.j):BIb(a));case 13:case 21:pJb(a);b=!a.o?dKb(a.j):BIb(a);w=a.j.g;k=cKb(a.j);A=false;if(b==(YJb(),NJb)){b=!a.o?
dKb(a.j):BIb(a);A=true}if(b==XJb){bb=PIb(a,b,w,k,A,true);w=a.j.g;k=cKb(a.j);bb=rJb(a,(F7b(),Z4b),bb);Y=!bb?null:new Z1b(bb,!a.g?null:a.g.Ig());if(d==(CFb(),JEb))hoc(c,new vJb(Y,a.j.g,cKb(a.j)));else{ne(d==PEb);f1b(a.e,Y)||a.b.ih(jHc+D4b("msg.jsdoc.implements.duplicate",null)+kHc,!a.g?null:a.g.Ig(),w,k)}b=!a.o?dKb(a.j):BIb(a);A?b!=TJb?xIb(a,nHc,a.j.g,cKb(a.j)):b=!a.o?dKb(a.j):BIb(a):b!=KJb&&b!=JJb&&b!=IJb&&xIb(a,"msg.end.annotation.expected",a.j.g,cKb(a.j))}else a.b.ih(jHc+D4b("msg.no.type.name",null)+
kHc,!a.g?null:a.g.Ig(),w,k);b=DIb(a,b);return b;case 19:d1b(a.e)||uIb(a,"msg.jsdoc.hidden",a.j.g,cKb(a.j));return DIb(a,!a.o?dKb(a.j):BIb(a));case 29:pJb(a);A=false;if(JIb(a,(YJb(),NJb))){b=!a.o?dKb(a.j):BIb(a);A=true}if(JIb(a,XJb)){b=!a.o?dKb(a.j):BIb(a);n1b(a.e,a.j.n)||xIb(a,"msg.jsdoc.lends.incompatible",a.j.g,cKb(a.j))}else xIb(a,"msg.jsdoc.lends.missing",a.j.g,cKb(a.j));A&&!JIb(a,TJb)&&xIb(a,nHc,a.j.g,cKb(a.j));return DIb(a,!a.o?dKb(a.j):BIb(a));case 31:C=FIb(a,b,a.f?0:2,false);B=C.a;b=C.b;q1b(a.e,
B)||uIb(a,"msg.jsdoc.meaning.extra",a.j.g,cKb(a.j));return b;case 33:t1b(a.e)||uIb(a,"msg.jsdoc.noalias",a.j.g,cKb(a.j));return DIb(a,!a.o?dKb(a.j):BIb(a));case 35:v1b(a.e)||uIb(a,"msg.jsdoc.nocompile",a.j.g,cKb(a.j));return DIb(a,!a.o?dKb(a.j):BIb(a));case 34:u1b(a.e)||uIb(a,"msg.jsdoc.nocollapse",a.j.g,cKb(a.j));return DIb(a,!a.o?dKb(a.j):BIb(a));case 37:return DIb(a,!a.o?dKb(a.j):BIb(a));case 23:case 38:z1b(a.e)||xIb(a,"msg.jsdoc.override",a.j.g,cKb(a.j));return DIb(a,!a.o?dKb(a.j):BIb(a));case 41:u_b(a.e.a)?
uIb(a,"msg.jsdoc.polymerBehavior.extra",a.j.g,cKb(a.j)):C1b(a.e);return DIb(a,!a.o?dKb(a.j):BIb(a));case 53:{pJb(a);b=!a.o?dKb(a.j):BIb(a);w=a.j.g;k=cKb(a.j);Y=null;if(b==(YJb(),NJb)){Y=AIb(a,PIb(a,b,a.j.g,cKb(a.j),b==NJb,false));if(!Y)return DIb(a,!a.o?dKb(a.j):BIb(a))}b=BIb(a);L1b(a.e,Y);t=IIb(a,64);if(a.e.c&&!t){m=FIb(a,b,a.f?0:2,false);l=m.a;l.length>0&&K1b(a.e,Y,l);b=m.b}else b=DIb(a,!a.o?dKb(a.j):BIb(a));return b}case 40:pJb(a);b=!a.o?dKb(a.j):BIb(a);w=a.j.g;k=cKb(a.j);Y=null;q=false;if(b==
(YJb(),NJb)){Y=AIb(a,(_d(b==NJb),gb=a.j.g,hb=cKb(a.j),ib=(_d(b==NJb),pJb(a),jb=_Ib(a,!a.o?dKb(a.j):BIb(a)),!!jb&&(JIb(a,TJb)?!a.o?dKb(a.j):BIb(a):(xIb(a,nHc,a.j.g,cKb(a.j)),null)),jb),mJb(a,gb,hb,ib,true),ib));if(!Y)return DIb(a,!a.o?dKb(a.j):BIb(a));pJb(a);b=!a.o?dKb(a.j):BIb(a);w=a.j.g;k=cKb(a.j);q=true}D=null;u=PJb==b;u&&(b=!a.o?dKb(a.j):BIb(a));if(XJb!=b)a.b.ih(jHc+D4b("msg.missing.variable.name",null)+kHc,!a.g?null:a.g.Ig(),w,k);else{q||tIb(a,a.j.g,cKb(a.j));D=a.j.n;if(u){b=!a.o?dKb(a.j):BIb(a);
if(LJb==b){b=!a.o?dKb(a.j):BIb(a);XJb==b&&(b=!a.o?dKb(a.j):BIb(a))}VJb!=b?(xIb(a,"msg.jsdoc.missing.rb",a.j.g,cKb(a.j)),null):!!Y&&(Y=Y.a.j==(F7b(),G5b)||Y.a.j==A5b?Y:new Z1b(new s3b(G5b,Y.a),Y.b))}if(K7b(D))A1b(a.e,D,Y)||(G0b(a.e,D)?a.b.ih((g=$C(VC(AS,1),qAc,1,5,[D]),jHc+D4b("msg.dup.variable.name",g)+kHc),!a.g?null:a.g.Ig(),w,k):a.b.ih((f=$C(VC(AS,1),qAc,1,5,[D]),jHc+D4b(lHc,f)+kHc),!a.g?null:a.g.Ig(),w,k));else{a.b.ih((f=$C(VC(AS,1),qAc,1,5,[D]),D4b("msg.invalid.variable.name",f)),!a.g?null:a.g.Ig(),
w,k);D=null}}if(D==null){b=DIb(a,b);return b}J0b(a.e,D,a.g,w,k);if(a.e.c&&b!=DJb){H=FIb(a,b,a.f?0:2,false);G=H.a;G.length>0&&B1b(a.e,D,G);b=H.b}else b!=IJb&&b!=JJb&&(b=DIb(a,!a.o?dKb(a.j):BIb(a)));return b;case 36:w1b(a.e)||uIb(a,"msg.jsdoc.nosideeffects",a.j.g,cKb(a.j));return DIb(a,!a.o?dKb(a.j):BIb(a));case 32:b=$Ib(a,!a.o?dKb(a.j):BIb(a));return b;case 22:g1b(a.e)||xIb(a,"msg.jsdoc.implicitcast",a.j.g,cKb(a.j));return DIb(a,!a.o?dKb(a.j):BIb(a));case 47:if(a.e.c){N=GIb(a);M=N.a;M.length==0?uIb(a,
"msg.jsdoc.seemissing",a.j.g,cKb(a.j)):E0b(a.e,M);b=N.b}else b=DIb(a,!a.o?dKb(a.j):BIb(a));return b;case 48:F1b(a.e)||uIb(a,"msg.jsdoc.stableidgen",a.j.g,cKb(a.j));return DIb(a,!a.o?dKb(a.j):BIb(a));case 50:b=dJb(a,!a.o?dKb(a.j):BIb(a));return b;case 51:{S=a.j.g;Q=cKb(a.j);R=FIb(a,b,1,false);U=R.a;cb="";v=false;db=true;if(U.indexOf(":=")!=-1){X=U.indexOf(":=");T=U.substr(0,X);if(U.indexOf("=:")!=-1){v=true;V=U.indexOf("=:");cb=okc(U.substr(X+2,V-(X+2)))}else{db=false;a.b.ih(jHc+D4b("msg.jsdoc.typetransformation.missing.delimiter",
null)+kHc,!a.g?null:a.g.Ig(),S,Q)}}else U.indexOf(fBc)!=-1?T=kkc(U,0,Yjc(U,qkc(10))):T=U;F=Df(Ff(If(new nc(44)),(Mc(),Kc)),T);if(F.b.size()==1&&F.a.getAtIndex(0).length==0)a.b.ih(jHc+D4b("msg.jsdoc.templatemissing",null)+kHc,!a.g?null:a.g.Ig(),S,Q);else for($=new Yqc(F.b.Md());$.b.Ed();){Z=$.b.Fd();Z.length!=0&&xc((wc(),vc,Z.charCodeAt(0)))&&Ob(new Hc((rc(),qc),new nc(95)),Z)?v||I1b(a.e,Z)||a.b.ih(jHc+D4b(oHc,null)+kHc,!a.g?null:a.g.Ig(),S,Q):a.b.ih(jHc+D4b("msg.jsdoc.template.invalid.type.name",
null)+kHc,!a.g?null:a.g.Ig(),S,Q)}if(v){F.b.size()>1&&a.b.ih(jHc+D4b("msg.jsdoc.typetransformation.with.multiple.names",null)+kHc,!a.g?null:a.g.Ig(),S,Q);if(cb.length==0){db=false;a.b.ih(jHc+D4b("msg.jsdoc.typetransformation.expression.missing",null)+kHc,!a.g?null:a.g.Ig(),S,Q)}if(db){W=new hLb(cb,a.g,a.b,S,Q);HKb(W)&&!N1b(a.e,F.a.getAtIndex(0),W.e)&&a.b.ih(jHc+D4b(oHc,null)+kHc,!a.g?null:a.g.Ig(),S,Q)}}b=R.b;return b}case 20:b=YIb(a,!a.o?dKb(a.j):BIb(a));return b;case 58:S1b(a.e)||uIb(a,"msg.jsdoc.wizaction",
a.j.g,cKb(a.j));return DIb(a,!a.o?dKb(a.j):BIb(a));case 11:{R=GIb(a);F=Df(Ff(If(new nc(44)),(Mc(),Kc)),R.a);F.a.isEmpty()||F.a.getAtIndex(0).length==0?xIb(a,"msg.jsdoc.disposeparameter.missing",a.j.g,cKb(a.j)):X0b(a.e,F)||xIb(a,"msg.jsdoc.disposeparameter.error",a.j.g,cKb(a.j));b=R.b;return b}case 57:fb=GIb(a);eb=fb.a;eb.length==0?uIb(a,"msg.jsdoc.versionmissing",a.j.g,cKb(a.j)):Q1b(a.e,eb)||uIb(a,"msg.jsdoc.extraversion",a.j.g,cKb(a.j));b=fb.b;return b;case 4:case 18:case 7:case 15:case 46:case 39:case 43:case 44:case 45:case 52:case 54:case 55:w=
a.j.g;k=cKb(a.j);ab=null;r=IIb(a,123);s=d==(CFb(),gFb)||d==kFb||d==lFb||d==mFb||d==zEb||d==MEb||d==HEb;j=s||d==oFb;Y=null;d==oFb&&!r&&tIb(a,a.j.g,cKb(a.j));if(r||!j){pJb(a);b=!a.o?dKb(a.j):BIb(a);ab=PIb(a,b,a.j.g,cKb(a.j),b==(YJb(),NJb),false);d==uFb&&(ab=rJb(a,(F7b(),Z4b),ab));Y=!ab?null:new Z1b(ab,!a.g?null:a.g.Ig())}p=!Y&&!j;if(!p){(!!Y&&s||d==wFb)&&!M1b(a.e,Y)&&a.b.ih(jHc+D4b(lHc,null)+kHc,!a.g?null:a.g.Ig(),w,k);t=IIb(a,64);switch(d.f){case 4:Q0b(a.e)||uIb(a,"msg.jsdoc.const",a.j.g,cKb(a.j));
break;case 18:c1b(a.e)||xIb(a,"msg.jsdoc.final",a.j.g,cKb(a.j));break;case 7:S0b(a.e,Y)||a.b.ih(D4b("msg.jsdoc.define",null),!a.g?null:a.g.Ig(),w,k);if(!t)return lJb(a,b);break;case 15:Z0b(a.e)?R1b(a.e,(z0b(),y0b))||a.b.ih(D4b(pHc,null),!a.g?null:a.g.Ig(),w,k):a.b.ih(D4b("msg.jsdoc.export",null),!a.g?null:a.g.Ig(),w,k);if(!t)return lJb(a,b);break;case 43:R1b(a.e,(z0b(),w0b))||a.b.ih(D4b(pHc,null),!a.g?null:a.g.Ig(),w,k);if(!t)return lJb(a,b);break;case 39:R1b(a.e,(z0b(),v0b))||a.b.ih(D4b(pHc,null),
!a.g?null:a.g.Ig(),w,k);if(!t)return lJb(a,b);break;case 44:R1b(a.e,(z0b(),x0b))||a.b.ih(D4b(pHc,null),!a.g?null:a.g.Ig(),w,k);if(!t)return lJb(a,b);break;case 45:R1b(a.e,(z0b(),y0b))||a.b.ih(D4b(pHc,null),!a.g?null:a.g.Ig(),w,k);if(!t)return lJb(a,b);break;case 46:!Y&&(Y=AIb(a,LIb(a,(F7b(),V6b))));if(!E1b(a.e,Y)){a.b.ih(jHc+D4b(lHc,null)+kHc,!a.g?null:a.g.Ig(),w,k);break}if(a.e.c&&!t){P=FIb(a,b,a.f?0:2,false);O=P.a;O.length>0&&D1b(a.e,O);b=P.b}else b=DIb(a,!a.o?dKb(a.j):BIb(a));return b;case 52:J1b(a.e,
Y)||a.b.ih(jHc+D4b(lHc,null)+kHc,!a.g?null:a.g.Ig(),w,k);break;case 55:O1b(a.e,Y)||a.b.ih(jHc+D4b(lHc,null)+kHc,!a.g?null:a.g.Ig(),w,k)}}return DIb(a,!a.o?dKb(a.j):BIb(a))}}return!a.o?dKb(a.j):BIb(a)}function Knb(){var a;a=new Ikc;a.a+='{"externs/es3.js":"/*\\n * Copyright 2008 The Closure Compiler Authors\\n *\\n * Licensed under the Apache License, Version 2.0 (the \\"License\\");\\n * you may not use this file except in compliance with the License.\\n * You may obtain a copy of the License at\\n *\\n *     http://www.apache.org/licenses/LICENSE-2.0\\n *\\n * Unless required by applicable law or agreed to in writing, software\\n * distributed under the License is distributed on an \\"AS IS\\" BASIS,\\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\\n * See the License for the specific language governing permissions and\\n * limitations under the License.\\n */\\n\\n/**\\n * @fileoverview ECMAScript 3 Built-Ins. This include common extensions so this\\n * is actually ES3+Reality.\\n * @externs\\n * @author acleung@google.com (Alan Leung)\\n * @author stevey@google.com (Steve Yegge)\\n * @author nicksantos@google.com (Nick Santos)\\n * @author arv@google.com (Erik Arvidsson)\\n * @author johnlenz@google.com (John Lenz)\\n */\\n\\n\\n// START ES6 RETROFIT CODE\\n// symbol, Symbol and Symbol.iterator are actually ES6 types but some\\n// Some types require them to be part of their definition (such as Array).\\n\\n\\n// TODO(johnlenz): symbol should be a primitive type.\\n/** @typedef {?} */\\nvar symbol;\\n\\n/**\\n * @param {string=} opt_description\\n * @return {symbol}\\n */\\nfunction Symbol(opt_description) {}\\n\\n\\n/**\\n * @param {string} sym\\n * @return {symbol|undefined}\\n * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Symbol/for\\n */\\nSymbol.for;\\n\\n\\n/**\\n * @param {symbol} sym\\n * @return {string|undefined}\\n * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Symbol/keyFor\\n */\\nSymbol.keyFor;\\n\\n\\n// Well known symbols\\n\\n/** @const {symbol} */\\nSymbol.iterator;\\n\\n/** @const {symbol} */\\nSymbol.toStringTag;\\n\\n/** @const {symbol} */\\nSymbol.unscopables;\\n\\n\\n/**\\n * @record\\n * @template VALUE\\n */\\nfunction IIterableResult() {};\\n\\n/** @type {boolean} */\\nIIterableResult.prototype.done;\\n\\n/** @type {VALUE} */\\nIIterableResult.prototype.value;\\n\\n\\n\\n/**\\n * @interface\\n * @template VALUE\\n */\\nfunction Iterable() {}\\n\\n// TODO(johnlenz): remove this when the compiler understands \\"symbol\\" natively\\n/**\\n * @return {Iterator<VALUE>}\\n * @suppress {externsValidation}\\n */\\nIterable.prototype[Symbol.iterator] = function() {};\\n\\n\\n\\n/**\\n * @interface\\n * @template VALUE\\n * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Guide/The_Iterator_protocol\\n */\\nfunction Iterator() {}\\n\\n/**\\n * @param {VALUE=} value\\n * @return {!IIterableResult<VALUE>}\\n */\\nIterator.prototype.next;\\n\\n\\n/**\\n * Use this to indicate a type is both an Iterator and an Iterable.\\n * @interface\\n * @extends {Iterator<T>}\\n * @extends {Iterable<T>}\\n * @template T\\n */\\nfunction IteratorIterable() {}\\n\\n// END ES6 RETROFIT CODE\\n\\n\\n/**\\n * @interface\\n * @template KEY1, VALUE1\\n */\\nfunction IObject() {}\\n\\n/**\\n * @record\\n * @extends {IObject<number, VALUE2>}\\n * @template VALUE2\\n */\\nfunction IArrayLike() {}\\n\\n/** @type {number} */\\nIArrayLike.prototype.length;\\n\\n/**\\n * @constructor\\n * @implements {IArrayLike<T>}\\n * @template T\\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Functions_and_function_scope/arguments\\n */\\nfunction Arguments() {}\\n\\n/**\\n * @type {Function}\\n * @see http://developer.mozilla.org/En/Core_JavaScript_1.5_Reference/Functions_and_function_scope/arguments/callee\\n */\\nArguments.prototype.callee;\\n\\n/**\\n * Use the non-standard {@see Function.prototype.caller} property of a function\\n * object instead.\\n * @type {Function}\\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Functions/arguments/caller\\n * @deprecated\\n */\\nArguments.prototype.caller;\\n\\n/**\\n * @type {number}\\n * @see http://developer.mozilla.org/En/Core_JavaScript_1.5_Reference/Functions_and_function_scope/arguments/length\\n */\\nArguments.prototype.length;\\n\\n/**\\n * Not actually a global variable, but we need it in order for the current type\\n * checker to typecheck the \\"arguments\\" variable in a function correctly.\\n * TODO(tbreisacher): When the old type checker is gone, delete this and add\\n * an \'arguments\' variable of type Array<string> in the d8 externs.\\n *\\n * @type {!Arguments}\\n * @see http://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Functions_and_function_scope/arguments\\n */\\nvar arguments;\\n\\n/**\\n * @type {number}\\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Infinity\\n * @const\\n */\\nvar Infinity;\\n\\n/**\\n * @type {number}\\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/NaN\\n * @const\\n */\\nvar NaN;\\n\\n/**\\n * @type {undefined}\\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/undefined\\n * @const\\n */\\nvar undefined;\\n\\n/**\\n * @param {string} uri\\n * @return {string}\\n * @nosideeffects\\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/decodeURI\\n */\\nfunction decodeURI(uri) {}\\n\\n/**\\n * @param {string} uri\\n * @return {string}\\n * @nosideeffects\\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/decodeURIComponent\\n */\\nfunction decodeURIComponent(uri) {}\\n\\n/**\\n * @param {string} uri\\n * @return {string}\\n * @nosideeffects\\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/encodeURI\\n */\\nfunction encodeURI(uri) {}\\n\\n/**\\n * @param {string} uri\\n * @return {string}\\n * @nosideeffects\\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/encodeURIComponent\\n */\\nfunction encodeURIComponent(uri) {}\\n\\n/**\\n * Should only be used in browsers where encode/decodeURIComponent\\n * are not present, as the latter handle fancy Unicode characters.\\n * @param {string} str\\n * @return {string}\\n * @nosideeffects\\n * @see https://developer.mozilla.org/en/Core_JavaScript_1.5_Guide/Predefined_Functions/escape_and_unescape_Functions\\n */\\nfunction escape(str) {}\\n\\n/**\\n * Should only be used in browsers where encode/decodeURIComponent\\n * are not present, as the latter handle fancy Unicode characters.\\n * @param {string} str\\n * @return {string}\\n * @nosideeffects\\n * @see https://developer.mozilla.org/en/Core_JavaScript_1.5_Guide/Predefined_Functions/escape_and_unescape_Functions\\n */\\nfunction unescape(str) {}\\n\\n/**\\n * @param {*} num\\n * @return {boolean}\\n * @nosideeffects\\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/isFinite\\n */\\nfunction isFinite(num) {}\\n\\n/**\\n * @param {*} num\\n * @return {boolean}\\n * @nosideeffects\\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/isNaN\\n */\\nfunction isNaN(num) {}\\n\\n/**\\n * @param {*} num\\n * @return {number}\\n * @nosideeffects\\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/parseFloat\\n */\\nfunction parseFloat(num) {}\\n\\n/**\\n * Parse an integer. Use of {@code parseInt} without {@code base} is strictly\\n * banned in Google. If you really want to parse octal or hex based on the\\n * leader, then pass {@code undefined} as the base.\\n *\\n * @param {*} num\\n * @param {number|undefined} base\\n * @return {number}\\n * @nosideeffects\\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/parseInt\\n */\\nfunction parseInt(num, base) {}\\n\\n/**\\n * @param {string} code\\n * @return {*}\\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/eval\\n */\\nfunction eval(code) {}\\n\\n\\n\\n/**\\n * @constructor\\n * @param {*=} opt_value\\n * @return {!Object}\\n * @nosideeffects\\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object\\n */\\nfunction Object(opt_value) {}\\n\\n/**\\n * The constructor of the current object.\\n * @type {Function}\\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/constructor\\n */\\nObject.prototype.constructor = function() {};\\n\\n/**\\n * Binds an object\'s property to a function to be called when that property is\\n * looked up.\\n * Mozilla-only.\\n *\\n * @param {string} sprop\\n * @param {Function} fun\\n * @modifies {this}\\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/defineGetter\\n * @return {undefined}\\n */\\nObject.prototype.__defineGetter__ = function(sprop, fun) {};\\n\\n/**\\n * Binds an object\'s property to a function to be called when an attempt is made\\n * to set that property.\\n * Mozilla-only.\\n *\\n * @param {string} sprop\\n * @param {Function} fun\\n * @modifies {this}\\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/defineSetter\\n * @return {undefined}\\n */\\nObject.prototype.__defineSetter__ = function(sprop, fun) {};\\n\\n/**\\n * Returns whether the object has a property with the specified name.\\n *\\n * @param {*} propertyName Implicitly cast to a string.\\n * @return {boolean}\\n * @nosideeffects\\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/hasOwnProperty\\n */\\nObject.prototype.hasOwnProperty = function(propertyName) {};\\n\\n/**\\n * Returns whether an object exists in another object\'s prototype chain.\\n *\\n * @param {Object} other\\n * @return {boolean}\\n * @nosideeffects\\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/isPrototypeOf\\n */\\nObject.prototype.isPrototypeOf = function(other) {};\\n\\n/**\\n * Return the function bound as a getter to the specified property.\\n * Mozilla-only.\\n *\\n * @param {string} sprop a string containing the name of the property whose\\n * getter should be returned\\n * @return {Function}\\n * @nosideeffects\\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/lookupGetter\\n */\\nObject.prototype.__lookupGetter__ = function(sprop) {};\\n\\n/**\\n * Return the function bound as a setter to the specified property.\\n * Mozilla-only.\\n *\\n * @param {string} sprop a string containing the name of the property whose\\n *     setter should be returned.\\n * @return {Function}\\n * @nosideeffects\\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/lookupSetter\\n */\\nObject.prototype.__lookupSetter__ = function(sprop) {};\\n\\n/**\\n * Executes a function when a non-existent method is called on an object.\\n * Mozilla-only.\\n *\\n * @param {Function} fun\\n * @return {*}\\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/noSuchMethod\\n */\\nObject.prototype.__noSuchMethod__ = function(fun) {};\\n\\n/**\\n * Points to an object\'s context.  For top-level objects, this is the e.g. window.\\n * Mozilla-only.\\n *\\n * @type {Object}\\n * @deprecated\\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/parent\\n */\\nObject.prototype.__parent__;\\n\\n/**\\n * Points to the object which was used as prototype when the object was instantiated.\\n * Mozilla-only.\\n *\\n * Will be null on Object.prototype.\\n *\\n * @type {Object}\\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/proto\\n */\\nObject.prototype.__proto__;\\n\\n/**\\n * Determine whether the specified property in an object can be enumerated by a\\n * for..in loop, with the exception of properties inherited through the\\n * prototype chain.\\n *\\n * @param {string} propertyName\\n * @return {boolean}\\n * @nosideeffects\\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/propertyIsEnumerable\\n */\\nObject.prototype.propertyIsEnumerable = function(propertyName) {};\\n\\n/**\\n * Returns a localized string representing the object.\\n * @return {string}\\n * @nosideeffects\\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/toLocaleString\\n */\\nObject.prototype.toLocaleString = function() {};\\n\\n/**\\n * Returns a string representing the source code of the object.\\n * Mozilla-only.\\n * @return {string}\\n * @nosideeffects\\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/toSource\\n */\\nObject.prototype.toSource = function() {};\\n\\n/**\\n * Returns a string representing the object.\\n * @this {*}\\n * @return {string}\\n * @nosideeffects\\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/toString\\n */\\nObject.prototype.toString = function() {};\\n\\n/**\\n * Removes a watchpoint set with the {@see Object.prototype.watch} method.\\n * Mozilla-only.\\n * @param {string} prop The name of a property of the object.\\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/unwatch\\n * @return {undefined}\\n */\\nObject.prototype.unwatch = function(prop) {};\\n\\n/**\\n * Returns the object\'s {@code this} value.\\n * @return {*}\\n * @nosideeffects\\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/valueOf\\n */\\nObject.prototype.valueOf = function() {};\\n\\n/**\\n * Sets a watchpoint method.\\n * Mozilla-only.\\n * @param {string} prop The name of a property of the object.\\n * @param {Function} handler A function to call.\\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/watch\\n * @return {undefined}\\n */\\nObject.prototype.watch = function(prop, handler) {};\\n\\n\\n/**\\n * @constructor\\n * @param {...*} var_args\\n * @throws {Error}\\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Function\\n */\\nfunction Function(var_args) {}\\n\\n/**\\n * @param {...*} var_args\\n * @return {*}\\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Function/call\\n */\\nFunction.prototype.call = function(var_args) {};\\n\\n/**\\n * @param {...*} var_args\\n * @return {*}\\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Function/apply\\n */\\nFunction.prototype.apply = function(var_args) {};\\n\\nFunction.prototype.arguments;\\n\\n/**\\n * @type {number}\\n * @deprecated\\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Function/arity\\n */\\nFunction.prototype.arity;\\n\\n/**\\n * Nonstandard; Mozilla and JScript only.\\n * @type {Function}\\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Function/caller\\n */\\nFunction.prototype.caller;\\n\\n/**\\n * Nonstandard.\\n * @type {?}\\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Function/displayName\\n */\\nFunction.prototype.displayName;\\n\\n/**\\n * Expected number of arguments.\\n * @type {number}\\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Function/length\\n */\\nFunction.prototype.length;\\n\\n/**\\n * @type {string}\\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Function/name\\n */\\nFunction.prototype.name;\\n\\n/**\\n * @this {Function}\\n * @return {string}\\n * @nosideeffects\\n * @override\\n */\\nFunction.prototype.toString = function() {};\\n\\n\\n/**\\n * @constructor\\n * @implements {IArrayLike<T>}\\n * @implements {Iterable<T>}\\n * @param {...*} var_args\\n * @return {!Array<?>}\\n * @nosideeffects\\n * @template T\\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array\\n */\\nfunction Array(var_args) {}\\n\\n/**\\n * @return {Iterator<T>}\\n * @suppress {externsValidation}\\n */\\nArray.prototype[Symbol.iterator] = function() {};\\n\\n// Functions:\\n\\n/**\\n * Returns a new array comprised of this array joined with other array(s)\\n * and/or value(s).\\n *\\n * @param {...*} var_args\\n * @return {!Array<?>}\\n * @this {*}\\n * @nosideeffects\\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/concat\\n */\\nArray.prototype.concat = function(var_args) {};\\n\\n/**\\n * Joins all elements of an array into a string.\\n *\\n * @param {*=} opt_separator Specifies a string to separate each element of the\\n *     array. The separator is converted to a string if necessary. If omitted,\\n *     the array elements are separated with a co';
a.a+="mma.\\n * @return {string}\\n * @this {IArrayLike<?>|string}\\n * @nosideeffects\\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/join\\n */\\nArray.prototype.join = function(opt_separator) {};\\n\\n/**\\n * Removes the last element from an array and returns that element.\\n *\\n * @return {T}\\n * @this {IArrayLike<T>}\\n * @modifies {this}\\n * @template T\\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/pop\\n */\\nArray.prototype.pop = function() {};\\n\\n/**\\n * Mutates an array by appending the given elements and returning the new\\n * length of the array.\\n *\\n * @param {...T} var_args\\n * @return {number} The new length of the array.\\n * @this {IArrayLike<T>}\\n * @template T\\n * @modifies {this}\\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/push\\n */\\nArray.prototype.push = function(var_args) {};\\n\\n/**\\n * Transposes the elements of an array in place: the first array element becomes the\\n * last and the last becomes the first. The mutated array is also returned.\\n *\\n * @return {THIS} A reference to the original modified array.\\n * @this {THIS}\\n * @template THIS\\n * @modifies {this}\\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/reverse\\n */\\nArray.prototype.reverse = function() {};\\n\\n/**\\n * Removes the first element from an array and returns that element. This\\n * method changes the length of the array.\\n *\\n * @this {IArrayLike<T>}\\n * @modifies {this}\\n * @return {T}\\n * @template T\\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/shift\\n */\\nArray.prototype.shift = function() {};\\n\\n/**\\n * Extracts a section of an array and returns a new array.\\n *\\n * @param {*=} opt_begin Zero-based index at which to begin extraction.  A\\n *     non-number type will be auto-cast by the browser to a number.\\n * @param {*=} opt_end Zero-based index at which to end extraction.  slice\\n *     extracts up to but not including end.\\n * @return {!Array<T>}\\n * @this {IArrayLike<T>|string}\\n * @template T\\n * @nosideeffects\\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/slice\\n */\\nArray.prototype.slice = function(opt_begin, opt_end) {};\\n\\n/**\\n * Sorts the elements of an array in place.\\n *\\n * @param {function(T,T):number=} opt_compareFunction Specifies a function that\\n *     defines the sort order.\\n * @this {IArrayLike<T>}\\n * @template T\\n * @modifies {this}\\n * @return {!Array<T>}\\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/sort\\n */\\nArray.prototype.sort = function(opt_compareFunction) {};\\n\\n/**\\n * Changes the content of an array, adding new elements while removing old\\n * elements.\\n *\\n * @param {*=} opt_index Index at which to start changing the array. If negative,\\n *     will begin that many elements from the end.  A non-number type will be\\n *     auto-cast by the browser to a number.\\n * @param {*=} opt_howMany An integer indicating the number of old array elements\\n *     to remove.\\n * @param {...T} var_args\\n * @return {!Array<T>}\\n * @this {IArrayLike<T>}\\n * @modifies {this}\\n * @template T\\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/splice\\n */\\nArray.prototype.splice = function(opt_index, opt_howMany, var_args) {};\\n\\n/**\\n * @return {string}\\n * @this {Object}\\n * @nosideeffects\\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/toSource\\n */\\nArray.prototype.toSource;\\n\\n/**\\n * @this {Array<?>}\\n * @return {string}\\n * @nosideeffects\\n * @override\\n */\\nArray.prototype.toString = function() {};\\n\\n/**\\n * Adds one or more elements to the beginning of an array and returns the new\\n * length of the array.\\n *\\n * @param {...*} var_args\\n * @return {number} The new length of the array\\n * @this {IArrayLike<?>}\\n * @modifies {this}\\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/unshift\\n */\\nArray.prototype.unshift = function(var_args) {};\\n\\n/**\\n * Apply a function simultaneously against two values of the array (from\\n * left-to-right) as to reduce it to a single value.\\n *\\n * @param {?function(?, T, number, !Array<T>) : R} callback\\n * @param {*=} opt_initialValue\\n * @return {R}\\n * @this {IArrayLike<T>|string}\\n * @template T,R\\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/reduce\\n */\\nArray.prototype.reduce = function(callback, opt_initialValue) {};\\n\\n/**\\n * Apply a function simultaneously against two values of the array (from\\n * right-to-left) as to reduce it to a single value.\\n *\\n * @param {?function(?, T, number, !Array<T>) : R} callback\\n * @param {*=} opt_initialValue\\n * @return {R}\\n * @this {IArrayLike<T>|string}\\n * @template T,R\\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/reduceRight\\n */\\nArray.prototype.reduceRight = function(callback, opt_initialValue) {};\\n\\n/**\\n * Available in ECMAScript 5, Mozilla 1.6+.\\n * @param {?function(this:S, T, number, !Array<T>): ?} callback\\n * @param {S=} opt_thisobj\\n * @return {boolean}\\n * @this {IArrayLike<T>|string}\\n * @template T,S\\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/every\\n */\\nArray.prototype.every = function(callback, opt_thisobj) {};\\n\\n/**\\n * Available in ECMAScript 5, Mozilla 1.6+.\\n * @param {?function(this:S, T, number, !Array<T>): ?} callback\\n * @param {S=} opt_thisobj\\n * @return {!Array<T>}\\n * @this {IArrayLike<T>|string}\\n * @template T,S\\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/filter\\n */\\nArray.prototype.filter = function(callback, opt_thisobj) {};\\n\\n/**\\n * Available in ECMAScript 5, Mozilla 1.6+.\\n * @param {?function(this:S, T, number, !Array<T>): ?} callback\\n * @param {S=} opt_thisobj\\n * @this {IArrayLike<T>|string}\\n * @template T,S\\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/forEach\\n * @return {undefined}\\n */\\nArray.prototype.forEach = function(callback, opt_thisobj) {};\\n\\n/**\\n * Available in ECMAScript 5, Mozilla 1.6+.\\n * @param {T} obj\\n * @param {number=} opt_fromIndex\\n * @return {number}\\n * @this {IArrayLike<T>|string}\\n * @nosideeffects\\n * @template T\\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/indexOf\\n */\\nArray.prototype.indexOf = function(obj, opt_fromIndex) {};\\n\\n/**\\n * Available in ECMAScript 5, Mozilla 1.6+.\\n * @param {T} obj\\n * @param {number=} opt_fromIndex\\n * @return {number}\\n * @this {IArrayLike<T>|string}\\n * @nosideeffects\\n * @template T\\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/lastIndexOf\\n */\\nArray.prototype.lastIndexOf = function(obj, opt_fromIndex) {};\\n\\n/**\\n * Available in ECMAScript 5, Mozilla 1.6+.\\n * @param {?function(this:S, T, number, !Array<T>): R} callback\\n * @param {S=} opt_thisobj\\n * @return {!Array<R>}\\n * @this {IArrayLike<T>|string}\\n * @template T,S,R\\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/map\\n */\\nArray.prototype.map = function(callback, opt_thisobj) {};\\n\\n/**\\n * Available in ECMAScript 5, Mozilla 1.6+.\\n * @param {?function(this:S, T, number, !Array<T>): ?} callback\\n * @param {S=} opt_thisobj\\n * @return {boolean}\\n * @this {IArrayLike<T>|string}\\n * @template T,S\\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/some\\n */\\nArray.prototype.some = function(callback, opt_thisobj) {};\\n\\n/**\\n * @type {number}\\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/index\\n */\\nArray.prototype.index;\\n\\n/**\\n * @type {?string}\\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/input\\n */\\nArray.prototype.input;\\n\\n/**\\n * @type {number}\\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/length\\n */\\nArray.prototype.length;\\n\\n/**\\n * @param {IArrayLike<T>} arr\\n * @param {?function(this:S, T, number, ?) : ?} callback\\n * @param {S=} opt_context\\n * @return {boolean}\\n * @template T,S\\n */\\nArray.every = function(arr, callback, opt_context) {};\\n\\n/**\\n * @param {IArrayLike<T>} arr\\n * @param {?function(this:S, T, number, ?) : ?} callback\\n * @param {S=} opt_context\\n * @return {!Array<T>}\\n * @template T,S\\n */\\nArray.filter = function(arr, callback, opt_context) {};\\n\\n/**\\n * @param {IArrayLike<T>} arr\\n * @param {?function(this:S, T, number, ?) : ?} callback\\n * @param {S=} opt_context\\n * @template T,S\\n * @return {undefined}\\n */\\nArray.forEach = function(arr, callback, opt_context) {};\\n\\n/**\\n * Mozilla 1.6+ only.\\n * @param {IArrayLike<T>} arr\\n * @param {T} obj\\n * @param {number=} opt_fromIndex\\n * @return {number}\\n * @template T\\n * @nosideeffects\\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/indexOf\\n */\\nArray.indexOf = function(arr, obj, opt_fromIndex) {};\\n\\n/**\\n * Mozilla 1.6+ only.\\n * @param {IArrayLike<T>} arr\\n * @param {T} obj\\n * @param {number=} opt_fromIndex\\n * @return {number}\\n * @template T\\n * @nosideeffects\\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/lastIndexOf\\n */\\nArray.lastIndexOf = function(arr, obj, opt_fromIndex) {};\\n\\n/**\\n * @param {IArrayLike<T>} arr\\n * @param {?function(this:S, T, number, !Array<T>): R} callback\\n * @param {S=} opt_context\\n * @return {!Array<R>}\\n * @template T,S,R\\n */\\nArray.map = function(arr, callback, opt_context) {};\\n\\n/**\\n * @param {IArrayLike<T>} arr\\n * @param {?function(this:S, T, number, ?) : ?} callback\\n * @param {S=} opt_context\\n * @return {boolean}\\n * @template T,S\\n */\\nArray.some = function(arr, callback, opt_context) {};\\n\\n/**\\n * Introduced in 1.8.5.\\n * @param {*} arr\\n * @return {boolean}\\n * @nosideeffects\\n * @see http://developer.mozilla.org/en/JavaScript/Reference/Global_Objects/Array/isArray\\n */\\nArray.isArray = function(arr) {};\\n\\n/**\\n * @constructor\\n * @param {*=} opt_value\\n * @return {boolean}\\n * @nosideeffects\\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Boolean\\n */\\nfunction Boolean(opt_value) {}\\n\\n/**\\n * @return {string}\\n * @nosideeffects\\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Boolean/toSource\\n * @override\\n */\\nBoolean.prototype.toSource = function() {};\\n\\n/**\\n * @this {boolean|Boolean}\\n * @return {string}\\n * @nosideeffects\\n * @override\\n */\\nBoolean.prototype.toString = function() {};\\n\\n/**\\n * @return {boolean}\\n * @nosideeffects\\n * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Boolean/valueOf\\n * @override\\n */\\nBoolean.prototype.valueOf = function() {};\\n\\n/**\\n * @constructor\\n * @param {*=} opt_value\\n * @return {number}\\n * @nosideeffects\\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Number\\n */\\nfunction Number(opt_value) {}\\n\\n/**\\n * @this {Number|number}\\n * @param {number=} opt_fractionDigits\\n * @return {string}\\n * @nosideeffects\\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Number/toExponential\\n */\\nNumber.prototype.toExponential = function(opt_fractionDigits) {};\\n\\n/**\\n * @this {Number|number}\\n * @param {*=} opt_digits\\n * @return {string}\\n * @nosideeffects\\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Number/toFixed\\n */\\nNumber.prototype.toFixed = function(opt_digits) {};\\n\\n/**\\n * @this {Number|number}\\n * @param {number=} opt_precision\\n * @return {string}\\n * @nosideeffects\\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Number/toPrecision\\n */\\nNumber.prototype.toPrecision = function(opt_precision) {};\\n\\n/**\\n * Returns a string representing the number.\\n * @this {Number|number}\\n * @param {(number|Number)=} opt_radix An optional radix.\\n * @return {string}\\n * @nosideeffects\\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Number/toString\\n * @override\\n */\\nNumber.prototype.toString = function(opt_radix) {};\\n\\n// Properties.\\n/**\\n * @type {number}\\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Number/MAX_VALUE\\n */\\nNumber.MAX_VALUE;\\n\\n/**\\n * @type {number}\\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Number/MIN_VALUE\\n */\\nNumber.MIN_VALUE;\\n\\n/**\\n * @type {number}\\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Number/NaN\\n */\\nNumber.NaN;\\n\\n/**\\n * @type {number}\\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Number/NEGATIVE_INFINITY\\n */\\nNumber.NEGATIVE_INFINITY;\\n\\n/**\\n * @type {number}\\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Number/POSITIVE_INFINITY\\n */\\nNumber.POSITIVE_INFINITY;\\n\\n\\n/**\\n * @const\\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Math\\n */\\nvar Math = {};\\n\\n/**\\n * @param {?} x\\n * @return {number}\\n * @nosideeffects\\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Math/abs\\n */\\nMath.abs = function(x) {};\\n\\n/**\\n * @param {?} x\\n * @return {number}\\n * @nosideeffects\\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Math/acos\\n */\\nMath.acos = function(x) {};\\n\\n/**\\n * @param {?} x\\n * @return {number}\\n * @nosideeffects\\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Math/asin\\n */\\nMath.asin = function(x) {};\\n\\n/**\\n * @param {?} x\\n * @return {number}\\n * @nosideeffects\\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Math/atan\\n */\\nMath.atan = function(x) {};\\n\\n/**\\n * @param {?} y\\n * @param {?} x\\n * @return {number}\\n * @nosideeffects\\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Math/atan2\\n */\\nMath.atan2 = function(y, x) {};\\n\\n/**\\n * @param {?} x\\n * @return {number}\\n * @nosideeffects\\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Math/ceil\\n */\\nMath.ceil = function(x) {};\\n\\n/**\\n * @param {?} x\\n * @return {number}\\n * @nosideeffects\\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Math/cos\\n */\\nMath.cos = function(x) {};\\n\\n/**\\n * @param {?} x\\n * @return {number}\\n * @nosideeffects\\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Math/exp\\n */\\nMath.exp = function(x) {};\\n\\n/**\\n * @param {?} x\\n * @return {number}\\n * @nosideeffects\\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Math/floor\\n */\\nMath.floor = function(x) {};\\n\\n/**\\n * @param {?} x\\n * @return {number}\\n * @nosideeffects\\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Math/log\\n */\\nMath.log = function(x) {};\\n\\n/**\\n * @param {...?} var_args\\n * @return {number}\\n * @nosideeffects\\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Math/max\\n */\\nMath.max = function(var_args) {};\\n\\n/**\\n * @param {...?} var_args\\n * @return {number}\\n * @nosideeffects\\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Math/min\\n */\\nMath.min = function(var_args) {};\\n\\n/**\\n * @param {?} x\\n * @param {?} y\\n * @return {number}\\n * @nosideeffects\\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Math/pow\\n */\\nMath.pow = function(x, y) {};\\n\\n/**\\n * @return {number}\\n * @nosideeffects\\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Math/random\\n */\\nMath.random = function() {};\\n\\n/**\\n * @param {?} x\\n * @return {number}\\n * @nosideeffects\\n * @see http://developer.m";
a.a+="ozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Math/round\\n */\\nMath.round = function(x) {};\\n\\n/**\\n * @param {?} x\\n * @return {number}\\n * @nosideeffects\\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Math/sin\\n */\\nMath.sin = function(x) {};\\n\\n/**\\n * @param {?} x\\n * @return {number}\\n * @nosideeffects\\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Math/sqrt\\n */\\nMath.sqrt = function(x) {};\\n\\n/**\\n * @param {?} x\\n * @return {number}\\n * @nosideeffects\\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Math/tan\\n */\\nMath.tan = function(x) {};\\n\\n/**\\n * @return {string}\\n * @nosideeffects\\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Math/toSource\\n */\\nMath.toSource = function() {};\\n\\n// Properties:\\n\\n/**\\n * @type {number}\\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Math/E\\n */\\nMath.E;\\n\\n/**\\n * @type {number}\\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Math/LN2\\n */\\nMath.LN2;\\n\\n/**\\n * @type {number}\\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Math/LN10\\n */\\nMath.LN10;\\n\\n/**\\n * @type {number}\\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Math/LOG2E\\n */\\nMath.LOG2E;\\n\\n/**\\n * @type {number}\\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Math/LOG10E\\n */\\nMath.LOG10E;\\n\\n/**\\n * @type {number}\\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Math/PI\\n */\\nMath.PI;\\n\\n/**\\n * @type {number}\\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Math/SQRT1_2\\n */\\nMath.SQRT1_2;\\n\\n/**\\n * @type {number}\\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Math/SQRT2\\n */\\nMath.SQRT2;\\n\\n\\n/**\\n * @param {?=} opt_yr_num\\n * @param {?=} opt_mo_num\\n * @param {?=} opt_day_num\\n * @param {?=} opt_hr_num\\n * @param {?=} opt_min_num\\n * @param {?=} opt_sec_num\\n * @param {?=} opt_ms_num\\n * @constructor\\n * @return {string}\\n * @nosideeffects\\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date\\n */\\nfunction Date(opt_yr_num, opt_mo_num, opt_day_num, opt_hr_num, opt_min_num,\\n    opt_sec_num, opt_ms_num) {}\\n\\n/**\\n * @return {number}\\n * @nosideeffects\\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/now\\n */\\nDate.now = function() {};\\n\\n/**\\n * Parses a string representation of a date, and returns the number\\n * of milliseconds since January 1, 1970, 00:00:00, local time.\\n * @param {*} date\\n * @return {number}\\n * @nosideeffects\\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/parse\\n */\\nDate.parse = function(date) {};\\n\\n/**\\n * @param {number} year\\n * @param {number} month\\n * @param {number=} opt_date\\n * @param {number=} opt_hours\\n * @param {number=} opt_minute\\n * @param {number=} opt_second\\n * @param {number=} opt_ms\\n * @return {number}\\n * @nosideeffects\\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/UTC\\n */\\nDate.UTC = function(year, month,\\n                    opt_date, opt_hours, opt_minute, opt_second, opt_ms) {};\\n\\n/**\\n * @return {number}\\n * @nosideeffects\\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/getDate\\n */\\nDate.prototype.getDate = function() {};\\n\\n/**\\n * @return {number}\\n * @nosideeffects\\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/getDay\\n */\\nDate.prototype.getDay = function() {};\\n\\n/**\\n * @return {number}\\n * @nosideeffects\\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/getMonth\\n */\\nDate.prototype.getMonth = function() {};\\n\\n/**\\n * @return {number}\\n * @nosideeffects\\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/getFullYear\\n */\\nDate.prototype.getFullYear = function() {};\\n\\n/**\\n * @return {number}\\n * @nosideeffects\\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/getYear\\n */\\nDate.prototype.getYear = function() {};\\n\\n/**\\n * @return {number}\\n * @nosideeffects\\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/getHours\\n */\\nDate.prototype.getHours = function() {};\\n\\n/**\\n * @return {number}\\n * @nosideeffects\\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/getMinutes\\n */\\nDate.prototype.getMinutes = function() {};\\n\\n/**\\n * @return {number}\\n * @nosideeffects\\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/getSeconds\\n */\\nDate.prototype.getSeconds = function() {};\\n\\n/**\\n * @return {number}\\n * @nosideeffects\\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/getMilliseconds\\n */\\nDate.prototype.getMilliseconds = function() {};\\n\\n/**\\n * @return {number}\\n * @nosideeffects\\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/getTime\\n */\\nDate.prototype.getTime = function() {};\\n\\n/**\\n * @return {number}\\n * @nosideeffects\\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/getTimezoneOffset\\n */\\nDate.prototype.getTimezoneOffset = function() {};\\n\\n/**\\n * @return {number}\\n * @nosideeffects\\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/getUTCDate\\n */\\nDate.prototype.getUTCDate = function() {};\\n\\n/**\\n * @return {number}\\n * @nosideeffects\\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/getUTCDay\\n */\\nDate.prototype.getUTCDay = function() {};\\n\\n/**\\n * @return {number}\\n * @nosideeffects\\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/getUTCMonth\\n */\\nDate.prototype.getUTCMonth = function() {};\\n\\n/**\\n * @return {number}\\n * @nosideeffects\\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/getUTCFullYear\\n */\\nDate.prototype.getUTCFullYear = function() {};\\n\\n/**\\n * @return {number}\\n * @nosideeffects\\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/getUTCHours\\n */\\nDate.prototype.getUTCHours = function() {};\\n\\n/**\\n * @return {number}\\n * @nosideeffects\\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/getUTCMinutes\\n */\\nDate.prototype.getUTCMinutes = function() {};\\n\\n/**\\n * @return {number}\\n * @nosideeffects\\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/getUTCSeconds\\n */\\nDate.prototype.getUTCSeconds = function() {};\\n\\n/**\\n * @return {number}\\n * @nosideeffects\\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/getUTCMilliseconds\\n */\\nDate.prototype.getUTCMilliseconds = function() {};\\n\\n/**\\n * Sets the day of the month for a specified date according to local time.\\n *\\n * @param {number} dayValue\\n * @modifies {this}\\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/setDate\\n * @return {number}\\n */\\nDate.prototype.setDate = function(dayValue) {};\\n\\n/**\\n * Set the month for a specified date according to local time.\\n *\\n * @param {number} monthValue\\n * @param {number=} opt_dayValue\\n * @modifies {this}\\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/setMonth\\n * @return {number}\\n */\\nDate.prototype.setMonth = function(monthValue, opt_dayValue) {};\\n\\n/**\\n * Sets the full year for a specified date according to local time.\\n *\\n * @param {number} yearValue\\n * @param {number=} opt_monthValue\\n * @param {number=} opt_dayValue\\n * @modifies {this}\\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/setFullYear\\n * @return {number}\\n */\\nDate.prototype.setFullYear =\\n    function(yearValue, opt_monthValue, opt_dayValue) {};\\n\\n/**\\n * Sets the year for a specified date according to local time.\\n *\\n * @param {number} yearValue\\n * @deprecated\\n * @modifies {this}\\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/setYear\\n * @return {number}\\n */\\nDate.prototype.setYear = function(yearValue) {};\\n\\n/**\\n * Sets the hours for a specified date according to local time.\\n *\\n * @param {number} hoursValue\\n * @param {number=} opt_minutesValue\\n * @param {number=} opt_secondsValue\\n * @param {number=} opt_msValue\\n * @modifies {this}\\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/setHours\\n * @return {number}\\n */\\nDate.prototype.setHours = function(hoursValue, opt_minutesValue,\\n                                   opt_secondsValue, opt_msValue) {};\\n\\n/**\\n * Sets the minutes for a specified date according to local time.\\n *\\n * @param {number} minutesValue\\n * @param {number=} opt_secondsValue\\n * @param {number=} opt_msValue\\n * @modifies {this}\\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/setMinutes\\n * @return {number}\\n */\\nDate.prototype.setMinutes =\\n    function(minutesValue, opt_secondsValue, opt_msValue) {};\\n\\n/**\\n * Sets the seconds for a specified date according to local time.\\n *\\n * @param {number} secondsValue\\n * @param {number=} opt_msValue\\n * @modifies {this}\\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/setSeconds\\n * @return {number}\\n */\\nDate.prototype.setSeconds = function(secondsValue, opt_msValue) {};\\n\\n/**\\n * Sets the milliseconds for a specified date according to local time.\\n *\\n * @param {number} millisecondsValue\\n * @modifies {this}\\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/setMilliseconds\\n * @return {number}\\n */\\nDate.prototype.setMilliseconds = function(millisecondsValue) {};\\n\\n/**\\n * Sets the Date object to the time represented by a number of milliseconds\\n * since January 1, 1970, 00:00:00 UTC.\\n *\\n * @param {number} timeValue\\n * @modifies {this}\\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/setTime\\n * @return {number}\\n */\\nDate.prototype.setTime = function(timeValue) {};\\n\\n/**\\n * Sets the day of the month for a specified date according to universal time.\\n *\\n * @param {number} dayValue\\n * @modifies {this}\\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/setUTCDate\\n * @return {number}\\n */\\nDate.prototype.setUTCDate = function(dayValue) {};\\n\\n/**\\n * Sets the month for a specified date according to universal time.\\n *\\n * @param {number} monthValue\\n * @param {number=} opt_dayValue\\n * @modifies {this}\\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/setUTCMonth\\n * @return {number}\\n */\\nDate.prototype.setUTCMonth = function(monthValue, opt_dayValue) {};\\n\\n/**\\n * Sets the full year for a specified date according to universal time.\\n *\\n * @param {number} yearValue\\n * @param {number=} opt_monthValue\\n * @param {number=} opt_dayValue\\n * @modifies {this}\\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/setUTCFullYear\\n * @return {number}\\n */\\nDate.prototype.setUTCFullYear = function(yearValue, opt_monthValue,\\n                                         opt_dayValue) {};\\n\\n/**\\n * Sets the hour for a specified date according to universal time.\\n *\\n * @param {number} hoursValue\\n * @param {number=} opt_minutesValue\\n * @param {number=} opt_secondsValue\\n * @param {number=} opt_msValue\\n * @modifies {this}\\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/setUTCHours\\n * @return {number}\\n */\\nDate.prototype.setUTCHours = function(hoursValue, opt_minutesValue,\\n                                      opt_secondsValue, opt_msValue) {};\\n\\n/**\\n * Sets the minutes for a specified date according to universal time.\\n *\\n * @param {number} minutesValue\\n * @param {number=} opt_secondsValue\\n * @param {number=} opt_msValue\\n * @modifies {this}\\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/setUTCMinutes\\n * @return {number}\\n */\\nDate.prototype.setUTCMinutes = function(minutesValue, opt_secondsValue,\\n                                        opt_msValue) {};\\n\\n\\n/**\\n * Sets the seconds for a specified date according to universal time.\\n *\\n * @param {number} secondsValue\\n * @param {number=} opt_msValue\\n * @modifies {this}\\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/setUTCSeconds\\n * @return {number}\\n */\\nDate.prototype.setUTCSeconds = function(secondsValue, opt_msValue) {};\\n\\n/**\\n * Sets the milliseconds for a specified date according to universal time.\\n *\\n * @param {number} millisecondsValue\\n * @modifies {this}\\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/setUTCMilliseconds\\n * @return {number}\\n */\\nDate.prototype.setUTCMilliseconds = function(millisecondsValue) {};\\n\\n/**\\n * @return {string}\\n * @nosideeffects\\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/toSource\\n * @override\\n */\\nDate.prototype.toSource = function() {};\\n\\n/**\\n * @return {string}\\n * @nosideeffects\\n * @see http://developer.mozilla.org/en/JavaScript/Reference/Global_Objects/Date/toDateString\\n */\\nDate.prototype.toDateString = function() {};\\n\\n/**\\n * @return {string}\\n * @nosideeffects\\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/toGMTString\\n */\\nDate.prototype.toGMTString = function() {};\\n\\n/**\\n * @return {string}\\n * @nosideeffects\\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/toTimeString\\n */\\nDate.prototype.toTimeString = function() {};\\n\\n/**\\n * @return {string}\\n * @nosideeffects\\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/toUTCString\\n */\\nDate.prototype.toUTCString = function() {};\\n\\n/**\\n * @param {(string|Array<string>)=} opt_locales\\n * @param {Object=} opt_options\\n * @return {string}\\n * @nosideeffects\\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/toLocaleDateString\\n */\\nDate.prototype.toLocaleDateString = function(opt_locales, opt_options) {};\\n\\n/**\\n * @param {string} formatString\\n * @return {string}\\n * @nosideeffects\\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/toLocaleFormat\\n */\\nDate.prototype.toLocaleFormat = function(formatString) {};\\n\\n/**\\n * @param {string|Array<string>=} opt_locales\\n * @param {Object=} opt_options\\n * @return {string}\\n * @nosideeffects\\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/toLocaleString\\n * @see http://www.ecma-international.org/ecma-402/1.0/#sec-13.3.1\\n * @override\\n */\\nDate.prototype.toLocaleString = function(opt_locales, opt_options) {};\\n\\n/**\\n * @param {(string|Array<string>)=} opt_locales\\n * @param {Object=} opt_options\\n * @return {string}\\n * @nosideeffects\\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/toLocaleTimeString\\n */\\nDate.prototype.toLocaleTimeString = function(opt_locales, opt_options) {};\\n\\n/**\\n * @this {Date}\\n * @return {string}\\n * @nosideeffects\\n * @override\\n */\\nDate.prototype.toString = function() {};\\n\\n/**\\n * @return {number}\\n * @nosideeffects\\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/valueOf\\n */\\nDate.prototype.valueOf;\\n\\n/**\\n * @constructor\\n * @param {*=} opt_str\\n * @return {string}\\n * @nosideeffects\\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaSc";
a.a+="ript/Reference/Global_Objects/String\\n */\\nfunction String(opt_str) {}\\n\\n/**\\n * @param {...number} var_args\\n * @return {string}\\n * @nosideeffects\\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/fromCharCode\\n */\\nString.fromCharCode = function(var_args) {};\\n\\n/**\\n * @this {String|string}\\n * @return {string}\\n * @nosideeffects\\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/anchor\\n */\\nString.prototype.anchor = function() {};\\n\\n/**\\n * @this {String|string}\\n * @return {string}\\n * @nosideeffects\\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/big\\n */\\nString.prototype.big = function() {};\\n\\n/**\\n * @this {String|string}\\n * @return {string}\\n * @nosideeffects\\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/blink\\n */\\nString.prototype.blink = function() {};\\n\\n/**\\n * @this {String|string}\\n * @return {string}\\n * @nosideeffects\\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/bold\\n */\\nString.prototype.bold = function() {};\\n\\n/**\\n * Returns the specified character from a string.\\n *\\n * @this {String|string}\\n * @param {number} index\\n * @return {string}\\n * @nosideeffects\\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/charAt\\n */\\nString.prototype.charAt = function(index) {};\\n\\n/**\\n * Returns a number indicating the Unicode value of the character at the given\\n * index.\\n *\\n * @this {String|string}\\n * @param {number=} opt_index\\n * @return {number}\\n * @nosideeffects\\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/charCodeAt\\n */\\nString.prototype.charCodeAt = function(opt_index) {};\\n\\n/**\\n * Combines the text of two or more strings and returns a new string.\\n *\\n * @this {String|string}\\n * @param {...*} var_args\\n * @return {string}\\n * @nosideeffects\\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/concat\\n */\\nString.prototype.concat = function(var_args) {};\\n\\n/**\\n * @this {String|string}\\n * @return {string}\\n * @nosideeffects\\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/fixed\\n */\\nString.prototype.fixed = function() {};\\n\\n/**\\n * @this {String|string}\\n * @param {string} color\\n * @return {string}\\n * @nosideeffects\\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/fontcolor\\n */\\nString.prototype.fontcolor = function(color) {};\\n\\n/**\\n * @this {String|string}\\n * @param {number} size\\n * @return {string}\\n * @nosideeffects\\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/fontsize\\n */\\nString.prototype.fontsize = function(size) {};\\n\\n/**\\n * Returns the index within the calling String object of the first occurrence\\n * of the specified value, starting the search at fromIndex, returns -1 if the\\n * value is not found.\\n *\\n * @this {String|string}\\n * @param {string|null} searchValue\\n * @param {(number|null)=} opt_fromIndex\\n * @return {number}\\n * @nosideeffects\\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/indexOf\\n */\\nString.prototype.indexOf = function(searchValue, opt_fromIndex) {};\\n\\n/**\\n * @this {String|string}\\n * @return {string}\\n * @nosideeffects\\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/italics\\n */\\nString.prototype.italics = function() {};\\n\\n/**\\n * Returns the index within the calling String object of the last occurrence of\\n * the specified value, or -1 if not found. The calling string is searched\\n * backward, starting at fromIndex.\\n *\\n * @this {String|string}\\n * @param {string|null} searchValue\\n * @param {(number|null)=} opt_fromIndex\\n * @return {number}\\n * @nosideeffects\\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/lastIndexOf\\n */\\nString.prototype.lastIndexOf = function(searchValue, opt_fromIndex) {};\\n\\n/**\\n * @this {String|string}\\n * @param {string} hrefAttribute\\n * @return {string}\\n * @nosideeffects\\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/link\\n */\\nString.prototype.link = function(hrefAttribute) {};\\n\\n/**\\n * Returns a number indicating whether a reference string comes before or after\\n * or is the same as the given string in sort order.\\n *\\n * @this {*}\\n * @param {?string} compareString\\n * @param {string|Array<string>=} locales\\n * @param {Object=} options\\n * @return {number}\\n * @nosideeffects\\n * @see http://developer.mozilla.org/En/Core_JavaScript_1.5_Reference/Objects/String/localeCompare\\n * @see http://www.ecma-international.org/ecma-402/1.0/#sec-13.1.1\\n */\\nString.prototype.localeCompare = function(compareString, locales, options) {};\\n\\n/**\\n * Used to retrieve the matches when matching a string against a regular\\n * expression.\\n *\\n * @this {String|string}\\n * @param {*} regexp\\n * @return {Array<string>} This should really return an Array with a few\\n *     special properties, but we do not have a good way to model this in\\n *     our type system. Also see Regexp.prototype.exec.\\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/match\\n */\\nString.prototype.match = function(regexp) {};\\n\\n/**\\n * @this {String|string}\\n * @return {string}\\n * @nosideeffects\\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/quote\\n */\\nString.prototype.quote = function() {};\\n\\n/**\\n * Finds a match between a regular expression and a string, and replaces the\\n * matched substring with a new substring.\\n *\\n * This may have side-effects if the replacement function has side-effects.\\n *\\n * @this {String|string}\\n * @param {RegExp|string} regex\\n * @param {string|Function} str\\n * @param {string=} opt_flags\\n * @return {string}\\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/replace\\n */\\nString.prototype.replace = function(regex, str, opt_flags) {};\\n\\n/**\\n * Executes the search for a match between a regular expression and this String\\n * object.\\n *\\n * @this {String|string}\\n * @param {RegExp|string} regexp\\n * @return {number}\\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/search\\n */\\nString.prototype.search = function(regexp) {};\\n\\n/**\\n * @this {String|string}\\n * @param {number} begin\\n * @param {number=} opt_end\\n * @return {string}\\n * @nosideeffects\\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/slice\\n */\\nString.prototype.slice = function(begin, opt_end) {};\\n\\n/**\\n * @this {String|string}\\n * @return {string}\\n * @nosideeffects\\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/small\\n */\\nString.prototype.small = function() {};\\n\\n/**\\n * @this {String|string}\\n * @param {*=} opt_separator\\n * @param {number=} opt_limit\\n * @return {!Array<string>}\\n * @nosideeffects\\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/split\\n */\\nString.prototype.split = function(opt_separator, opt_limit) {};\\n\\n/**\\n * @return {string}\\n * @nosideeffects\\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/strike\\n */\\nString.prototype.strike = function() {};\\n\\n/**\\n * @this {String|string}\\n * @return {string}\\n * @nosideeffects\\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/sub\\n */\\nString.prototype.sub = function() {};\\n\\n/**\\n * @this {String|string}\\n * @param {number} start\\n * @param {number=} opt_length\\n * @return {string} The specified substring.\\n * @nosideeffects\\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/substr\\n */\\nString.prototype.substr = function(start, opt_length) {};\\n\\n/**\\n * @this {String|string}\\n * @param {number} start\\n * @param {number=} opt_end\\n * @return {string} The specified substring.\\n * @nosideeffects\\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/substring\\n */\\nString.prototype.substring = function(start, opt_end) {};\\n\\n/**\\n * @this {String|string}\\n * @return {string}\\n * @nosideeffects\\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/sup\\n */\\nString.prototype.sup = function() {};\\n\\n/**\\n * @this {String|string}\\n * @return {string}\\n * @nosideeffects\\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/toLocaleUpperCase\\n */\\nString.prototype.toLocaleUpperCase = function() {};\\n\\n/**\\n * @this {String|string}\\n * @return {string}\\n * @nosideeffects\\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/toLocaleLowerCase\\n */\\nString.prototype.toLocaleLowerCase = function() {};\\n\\n/**\\n * @this {String|string}\\n * @return {string}\\n * @nosideeffects\\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/toLowerCase\\n */\\nString.prototype.toLowerCase = function() {};\\n\\n/**\\n * @this {String|string}\\n * @return {string}\\n * @nosideeffects\\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/toUpperCase\\n */\\nString.prototype.toUpperCase = function() {};\\n\\n/**\\n * @return {string}\\n * @nosideeffects\\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/toSource\\n * @override\\n */\\nString.prototype.toSource = function() {};\\n\\n/**\\n * @this {string|String}\\n * @return {string}\\n * @nosideeffects\\n * @override\\n */\\nString.prototype.toString = function() {};\\n\\n/**\\n * @return {string}\\n * @nosideeffects\\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/valueOf\\n */\\nString.prototype.valueOf;\\n\\n/**\\n * @type {number}\\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/length\\n */\\nString.prototype.length;\\n\\n/**\\n * @constructor\\n * @param {*=} opt_pattern\\n * @param {*=} opt_flags\\n * @return {!RegExp}\\n * @nosideeffects\\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/RegExp\\n */\\nfunction RegExp(opt_pattern, opt_flags) {}\\n\\n/**\\n * @param {*} pattern\\n * @param {*=} opt_flags\\n * @return {void}\\n * @modifies {this}\\n * @deprecated\\n * @see http://msdn.microsoft.com/en-us/library/x9cswe0z(v=VS.85).aspx\\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/RegExp/compile\\n */\\nRegExp.prototype.compile = function(pattern, opt_flags) {};\\n\\n/**\\n * @param {*} str The string to search.\\n * @return {Array<string>} This should really return an Array with a few\\n *     special properties, but we do not have a good way to model this in\\n *     our type system. Also see String.prototype.match.\\n * @see http://msdn.microsoft.com/en-us/library/z908hy33(VS.85).aspx\\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/RegExp/exec\\n */\\nRegExp.prototype.exec = function(str) {};\\n\\n/**\\n * @param {*} str The string to search.\\n * @return {boolean} Whether the string was matched.\\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/RegExp/test\\n */\\nRegExp.prototype.test = function(str) {};\\n\\n/**\\n * @this {RegExp}\\n * @return {string}\\n * @nosideeffects\\n * @override\\n */\\nRegExp.prototype.toString = function() {};\\n\\n// Constructor properties:\\n\\n/**\\n * The string against which the last regexp was matched.\\n * @type {string}\\n * @see http://www.devguru.com/Technologies/Ecmascript/Quickref/regexp_input.html\\n */\\nRegExp.input;\\n\\n/**\\n * The last matched characters.\\n * @type {string}\\n * @see http://www.devguru.com/Technologies/Ecmascript/Quickref/regexp_lastMatch.html\\n */\\nRegExp.lastMatch;\\n\\n/**\\n * The last matched parenthesized substring, if any.\\n * @type {string}\\n * @see http://www.devguru.com/Technologies/Ecmascript/Quickref/regexp_lastParen.html\\n */\\nRegExp.lastParen;\\n\\n/**\\n * The substring of the input up to the characters most recently matched.\\n * @type {string}\\n * @see http://www.devguru.com/Technologies/Ecmascript/Quickref/regexp_leftContext.html\\n */\\nRegExp.leftContext;\\n\\n/**\\n * The substring of the input after the characters most recently matched.\\n * @type {string}\\n * @see http://www.devguru.com/Technologies/Ecmascript/Quickref/regexp_rightContext.html\\n */\\nRegExp.rightContext;\\n\\n/**\\n * @type {string}\\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/RegExp\\n */\\nRegExp.$1;\\n/**\\n * @type {string}\\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/RegExp\\n */\\nRegExp.$2;\\n/**\\n * @type {string}\\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/RegExp\\n */\\nRegExp.$3;\\n/**\\n * @type {string}\\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/RegExp\\n */\\nRegExp.$4;\\n/**\\n * @type {string}\\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/RegExp\\n */\\nRegExp.$5;\\n/**\\n * @type {string}\\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/RegExp\\n */\\nRegExp.$6;\\n/**\\n * @type {string}\\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/RegExp\\n */\\nRegExp.$7;\\n/**\\n * @type {string}\\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/RegExp\\n */\\nRegExp.$8;\\n/**\\n * @type {string}\\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/RegExp\\n */\\nRegExp.$9;\\n\\n// Prototype properties:\\n\\n/**\\n * Whether to test the regular expression against all possible matches\\n * in a string, or only against the first.\\n * @type {boolean}\\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/RegExp/global\\n */\\nRegExp.prototype.global;\\n\\n/**\\n * Whether to ignore case while attempting a match in a string.\\n * @type {boolean}\\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/RegExp/ignoreCase\\n */\\nRegExp.prototype.ignoreCase;\\n\\n/**\\n * The index at which to start the next match.\\n * @type {number}\\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/RegExp/lastIndex\\n */\\nRegExp.prototype.lastIndex;\\n\\n/**\\n * Whether or not to search in strings across multiple lines.\\n * @type {boolean}\\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/RegExp/multiline\\n */\\nRegExp.prototype.multiline;\\n\\n/**\\n * The text of the pattern.\\n * @type {string}\\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/RegExp/source\\n */\\nRegExp.prototype.source;\\n\\n\\n/**\\n * @constructor\\n * @param {*=} opt_message\\n * @param {*=} opt_file\\n * @param {*=} opt_line\\n * @return {!Error}\\n * @nosideeffects\\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Error\\n */\\nfunction Error(opt_message, opt_file, opt_line) {}\\n\\n\\n/**\\n * Chrome/v8 specific, altering the maximum depth of the stack trace\\n * (10 by default).\\n * @type {number}\\n * @see http://code.google.com/p/v8/wiki/JavaScriptStackTraceApi\\n */\\nError.stackTraceLimit;\\n\\n\\n/**\\n * Chrome/v8 specific, adds a stack trace to the error object. The optional\\n * constructorOpt parameter allows you to pass in a function value. When\\n * collecting the stack trace all frames above the topmost call to this\\n * function, including that call, will be left out of the stack trace.\\n * @param {Object} error The object to add the stack trace to.\\n * @param {Function=} opt_constructor A function in the stack trace\\n * @see http://code.google.com/p/v8/wiki/JavaScriptStackTraceApi\\n * @return {undefined}\\n */\\nError.captureStackTrace = function(error, opt_construct";
a.a+='or){};\\n\\n\\n/**\\n * IE-only.\\n * @type {string}\\n * @see http://msdn.microsoft.com/en-us/library/2w6a45b5.aspx\\n */\\nError.prototype.description;\\n\\n\\n/**\\n * Mozilla-only.\\n * @type {number}\\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Error/lineNumber\\n */\\nError.prototype.lineNumber;\\n\\n/**\\n * Mozilla-only\\n * @type {string}\\n * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Error/fileName\\n */\\nError.prototype.fileName;\\n\\n/**\\n * @type {string}\\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Error/name\\n */\\nError.prototype.name;\\n\\n/**\\n * @type {string}\\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Error/message\\n */\\nError.prototype.message;\\n\\n/**\\n * Doesn\'t seem to exist, but closure/debug.js references it.\\n */\\nError.prototype.sourceURL;\\n\\n/** @type {string} */\\nError.prototype.stack;\\n\\n\\n/**\\n * @constructor\\n * @extends {Error}\\n * @param {*=} opt_message\\n * @param {*=} opt_file\\n * @param {*=} opt_line\\n * @return {!EvalError}\\n * @nosideeffects\\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/EvalError\\n */\\nfunction EvalError(opt_message, opt_file, opt_line) {}\\n\\n/**\\n * @constructor\\n * @extends {Error}\\n * @param {*=} opt_message\\n * @param {*=} opt_file\\n * @param {*=} opt_line\\n * @return {!RangeError}\\n * @nosideeffects\\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/RangeError\\n */\\nfunction RangeError(opt_message, opt_file, opt_line) {}\\n\\n/**\\n * @constructor\\n * @extends {Error}\\n * @param {*=} opt_message\\n * @param {*=} opt_file\\n * @param {*=} opt_line\\n * @return {!ReferenceError}\\n * @nosideeffects\\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/ReferenceError\\n */\\nfunction ReferenceError(opt_message, opt_file, opt_line) {}\\n\\n/**\\n * @constructor\\n * @extends {Error}\\n * @param {*=} opt_message\\n * @param {*=} opt_file\\n * @param {*=} opt_line\\n * @return {!SyntaxError}\\n * @nosideeffects\\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/SyntaxError\\n */\\nfunction SyntaxError(opt_message, opt_file, opt_line) {}\\n\\n/**\\n * @constructor\\n * @extends {Error}\\n * @param {*=} opt_message\\n * @param {*=} opt_file\\n * @param {*=} opt_line\\n * @return {!TypeError}\\n * @nosideeffects\\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypeError\\n */\\nfunction TypeError(opt_message, opt_file, opt_line) {}\\n\\n/**\\n * @constructor\\n * @extends {Error}\\n * @param {*=} opt_message\\n * @param {*=} opt_file\\n * @param {*=} opt_line\\n * @return {!URIError}\\n * @nosideeffects\\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/URIError\\n */\\nfunction URIError(opt_message, opt_file, opt_line) {}\\n\\n\\n// JScript extensions.\\n// @see http://msdn.microsoft.com/en-us/library/894hfyb4(VS.80).aspx\\n\\n/**\\n * @see http://msdn.microsoft.com/en-us/library/7sw4ddf8.aspx\\n * @type {function(new:?, string, string=)}\\n */\\nfunction ActiveXObject(progId, opt_location) {}\\n\\n/**\\n * @return {string}\\n * @nosideeffects\\n * @see http://msdn.microsoft.com/en-us/library/9k34bww2(VS.80).aspx\\n */\\nfunction ScriptEngine() {}\\n\\n/**\\n * @return {number}\\n * @nosideeffects\\n * @see http://msdn.microsoft.com/en-us/library/yf25ky07(VS.80).aspx\\n */\\nfunction ScriptEngineMajorVersion() {}\\n\\n/**\\n * @return {number}\\n * @nosideeffects\\n * @see http://msdn.microsoft.com/en-us/library/wx3812cz(VS.80).aspx\\n */\\nfunction ScriptEngineMinorVersion() {}\\n\\n/**\\n * @return {number}\\n * @nosideeffects\\n * @see http://msdn.microsoft.com/en-us/library/e98hsk2f(VS.80).aspx\\n */\\nfunction ScriptEngineBuildVersion() {}\\n","externs/es5.js":"/*\\n * Copyright 2009 The Closure Compiler Authors\\n *\\n * Licensed under the Apache License, Version 2.0 (the \\"License\\");\\n * you may not use this file except in compliance with the License.\\n * You may obtain a copy of the License at\\n *\\n *     http://www.apache.org/licenses/LICENSE-2.0\\n *\\n * Unless required by applicable law or agreed to in writing, software\\n * distributed under the License is distributed on an \\"AS IS\\" BASIS,\\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\\n * See the License for the specific language governing permissions and\\n * limitations under the License.\\n */\\n\\n/**\\n * @fileoverview Definitions for ECMAScript 5.\\n * @see https://es5.github.io/\\n * @externs\\n * @author djlee@google.com (DJ Lee)\\n */\\n\\n\\n/**\\n * @param {Object|undefined} selfObj Specifies the object to which |this| should\\n *     point when the function is run. If the value is null or undefined, it\\n *     will default to the global object.\\n * @param {...*} var_args Additional arguments that are partially\\n *     applied to fn.\\n * @return {!Function} A partially-applied form of the Function on which\\n *     bind() was invoked as a method.\\n * @nosideeffects\\n * @see https://developer.mozilla.org/en/JavaScript/Reference/Global_Objects/Function/bind\\n */\\nFunction.prototype.bind = function(selfObj, var_args) {};\\n\\n\\n/**\\n * @this {String|string}\\n * @return {string}\\n * @nosideeffects\\n * @see http://developer.mozilla.org/en/JavaScript/Reference/Global_Objects/String/Trim\\n */\\nString.prototype.trim = function() {};\\n\\n\\n/**\\n * @this {String|string}\\n * @return {string}\\n * @nosideeffects\\n * @see http://developer.mozilla.org/en/JavaScript/Reference/Global_Objects/String/TrimLeft\\n */\\nString.prototype.trimLeft = function() {};\\n\\n\\n/**\\n * @this {String|string}\\n * @return {string}\\n * @nosideeffects\\n * @see http://developer.mozilla.org/en/JavaScript/Reference/Global_Objects/String/TrimRight\\n */\\nString.prototype.trimRight = function() {};\\n\\n\\n/**\\n * A object property descriptor used by Object.create, Object.defineProperty,\\n * Object.defineProperties, Object.getOwnPropertyDescriptor.\\n *\\n * Note: not a real constructor.\\n * @constructor\\n * @template THIS\\n */\\nfunction ObjectPropertyDescriptor() {}\\n\\n/** @type {*} */\\nObjectPropertyDescriptor.prototype.value;\\n\\n/** @type {(function(this: THIS):?)|undefined} */\\nObjectPropertyDescriptor.prototype.get;\\n\\n/** @type {(function(this: THIS, ?):void)|undefined} */\\nObjectPropertyDescriptor.prototype.set;\\n\\n/** @type {boolean|undefined} */\\nObjectPropertyDescriptor.prototype.writable;\\n\\n/** @type {boolean|undefined} */\\nObjectPropertyDescriptor.prototype.enumerable;\\n\\n/** @type {boolean|undefined} */\\nObjectPropertyDescriptor.prototype.configurable;\\n\\n\\n/**\\n * @param {Object} proto\\n * @param {Object=} opt_properties  A map of ObjectPropertyDescriptors.\\n * @return {!Object}\\n * @nosideeffects\\n * @see https://developer.mozilla.org/en/JavaScript/Reference/Global_Objects/Object/create\\n */\\nObject.create = function(proto, opt_properties) {};\\n\\n\\n/**\\n * @param {!Object} obj\\n * @param {string} prop\\n * @param {!Object} descriptor A ObjectPropertyDescriptor.\\n * @return {!Object}\\n * @see https://developer.mozilla.org/en/JavaScript/Reference/Global_Objects/Object/defineProperty\\n */\\nObject.defineProperty = function(obj, prop, descriptor) {};\\n\\n\\n/**\\n * @param {!Object} obj\\n * @param {!Object} props A map of ObjectPropertyDescriptors.\\n * @return {!Object}\\n * @see https://developer.mozilla.org/en/JavaScript/Reference/Global_Objects/Object/defineProperties\\n */\\nObject.defineProperties = function(obj, props) {};\\n\\n\\n/**\\n * @param {!Object} obj\\n * @param {string} prop\\n * @return {!ObjectPropertyDescriptor|undefined}\\n * @nosideeffects\\n * @see https://developer.mozilla.org/en/JavaScript/Reference/Global_Objects/Object/getOwnPropertyDescriptor\\n */\\nObject.getOwnPropertyDescriptor = function(obj, prop) {};\\n\\n\\n/**\\n * @param {!Object} obj\\n * @return {!Array<string>}\\n * @nosideeffects\\n * @see https://developer.mozilla.org/en/JavaScript/Reference/Global_Objects/Object/keys\\n */\\nObject.keys = function(obj) {};\\n\\n\\n/**\\n * @param {!Object} obj\\n * @return {!Array<string>}\\n * @nosideeffects\\n * @see https://developer.mozilla.org/en/JavaScript/Reference/Global_Objects/Object/getOwnPropertyNames\\n */\\nObject.getOwnPropertyNames = function(obj) {};\\n\\n\\n/**\\n * @param {!Object} obj\\n * @return {Object}\\n * @nosideeffects\\n * @see https://developer.mozilla.org/en/JavaScript/Reference/Global_Objects/Object/GetPrototypeOf\\n */\\nObject.getPrototypeOf = function(obj) {};\\n\\n\\n/**\\n * @param {T} obj\\n * @return {T}\\n * @template T\\n * @see https://developer.mozilla.org/en/JavaScript/Reference/Global_Objects/Object/preventExtensions\\n */\\nObject.preventExtensions = function(obj) {};\\n\\n\\n/**\\n * @param {T} obj\\n * @return {T}\\n * @template T\\n * @see https://developer.mozilla.org/en/JavaScript/Reference/Global_Objects/Object/seal\\n */\\nObject.seal = function(obj) {};\\n\\n\\n/**\\n * @param {T} obj\\n * @return {T}\\n * @template T\\n * @see https://developer.mozilla.org/en/JavaScript/Reference/Global_Objects/Object/freeze\\n */\\nObject.freeze = function(obj) {};\\n\\n\\n/**\\n * @param {!Object} obj\\n * @return {boolean}\\n * @nosideeffects\\n * @see https://developer.mozilla.org/en/JavaScript/Reference/Global_Objects/Object/isExtensible\\n */\\nObject.isExtensible = function(obj) {};\\n\\n\\n/**\\n * @param {!Object} obj\\n * @return {boolean}\\n * @nosideeffects\\n * @see https://developer.mozilla.org/en/JavaScript/Reference/Global_Objects/Object/isSealed\\n */\\nObject.isSealed = function(obj) {};\\n\\n\\n/**\\n * @param {!Object} obj\\n * @return {boolean}\\n * @nosideeffects\\n * @see https://developer.mozilla.org/en/JavaScript/Reference/Global_Objects/Object/isFrozen\\n */\\nObject.isFrozen = function(obj) {};\\n\\n\\n/**\\n * @param {string=} opt_key The JSON key for this object.\\n * @return {*} The serializable representation of this object. Note that this\\n *     need not be a string. See http://goo.gl/PEUvs.\\n * @see https://es5.github.io/#x15.12.3\\n */\\nObject.prototype.toJSON = function(opt_key) {};\\n\\n\\n/**\\n * @see https://developer.mozilla.org/en/JavaScript/Reference/Global_Objects/Date/toISOString\\n * @return {string}\\n */\\nDate.prototype.toISOString = function() {};\\n\\n\\n/**\\n * @param {*=} opt_ignoredKey\\n * @return {string}\\n * @override\\n */\\nDate.prototype.toJSON = function(opt_ignoredKey) {};\\n\\n\\n/**\\n * A fake type to model the JSON object.\\n * @constructor\\n */\\nfunction JSONType() {}\\n\\n\\n/**\\n * @param {string} jsonStr The string to parse.\\n * @param {(function(string, *) : *)=} opt_reviver\\n * @return {*} The JSON object.\\n * @throws {Error}\\n */\\nJSONType.prototype.parse = function(jsonStr, opt_reviver) {};\\n\\n\\n/**\\n * @param {*} jsonObj Input object.\\n * @param {(Array<string>|(function(string, *) : *)|null)=} opt_replacer\\n * @param {(number|string)=} opt_space\\n * @return {string} JSON string which represents jsonObj.\\n * @throws {Error}\\n */\\nJSONType.prototype.stringify = function(jsonObj, opt_replacer, opt_space) {};\\n\\n\\n/**\\n * @type {!JSONType}\\n * @suppress {duplicate}\\n */\\nvar JSON;\\n","externs/es6.js":"/*\\n * Copyright 2014 The Closure Compiler Authors\\n *\\n * Licensed under the Apache License, Version 2.0 (the \\"License\\");\\n * you may not use this file except in compliance with the License.\\n * You may obtain a copy of the License at\\n *\\n *     http://www.apache.org/licenses/LICENSE-2.0\\n *\\n * Unless required by applicable law or agreed to in writing, software\\n * distributed under the License is distributed on an \\"AS IS\\" BASIS,\\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\\n * See the License for the specific language governing permissions and\\n * limitations under the License.\\n */\\n\\n/**\\n * @fileoverview Definitions for ECMAScript 6 and later.\\n * @see https://tc39.github.io/ecma262/\\n * @see https://www.khronos.org/registry/typedarray/specs/latest/\\n * @externs\\n */\\n\\n\\n\\n/**\\n * @constructor\\n * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Generator\\n * @implements {IteratorIterable<VALUE>}\\n * @template VALUE\\n */\\nfunction Generator() {}\\n\\n/**\\n * @param {?=} opt_value\\n * @return {!IIterableResult<VALUE>}\\n * @override\\n */\\nGenerator.prototype.next = function(opt_value) {};\\n\\n/**\\n * @param {VALUE} value\\n * @return {!IIterableResult<VALUE>}\\n */\\nGenerator.prototype.return = function(value) {};\\n\\n/**\\n * @param {?} exception\\n * @return {!IIterableResult<VALUE>}\\n */\\nGenerator.prototype.throw = function(exception) {};\\n\\n\\n// TODO(johnlenz): Array and Arguments should be Iterable.\\n\\n\\n\\n/**\\n * @param {number} value\\n * @return {number}\\n * @nosideeffects\\n */\\nMath.log10 = function(value) {};\\n\\n/**\\n * @param {number} value\\n * @return {number}\\n * @nosideeffects\\n */\\nMath.log2 = function(value) {};\\n\\n/**\\n * @param {number} value\\n * @return {number}\\n * @nosideeffects\\n */\\nMath.log1p = function(value) {};\\n\\n/**\\n * @param {number} value\\n * @return {number}\\n * @nosideeffects\\n */\\nMath.expm1 = function(value) {};\\n\\n/**\\n * @param {number} value\\n * @return {number}\\n * @nosideeffects\\n */\\nMath.cosh = function(value) {};\\n\\n/**\\n * @param {number} value\\n * @return {number}\\n * @nosideeffects\\n */\\nMath.sinh = function(value) {};\\n\\n/**\\n * @param {number} value\\n * @return {number}\\n * @nosideeffects\\n */\\nMath.tanh = function(value) {};\\n\\n/**\\n * @param {number} value\\n * @return {number}\\n * @nosideeffects\\n */\\nMath.acosh = function(value) {};\\n\\n/**\\n * @param {number} value\\n * @return {number}\\n * @nosideeffects\\n */\\nMath.asinh = function(value) {};\\n\\n/**\\n * @param {number} value\\n * @return {number}\\n * @nosideeffects\\n */\\nMath.atanh = function(value) {};\\n\\n/**\\n * @param {number} value\\n * @return {number}\\n * @nosideeffects\\n */\\nMath.trunc = function(value) {};\\n\\n/**\\n * @param {number} value\\n * @return {number}\\n * @nosideeffects\\n */\\nMath.sign = function(value) {};\\n\\n/**\\n * @param {number} value\\n * @return {number}\\n * @nosideeffects\\n */\\nMath.cbrt = function(value) {};\\n\\n/**\\n * @param {number} value1\\n * @param {...number} var_args\\n * @return {number}\\n * @nosideeffects\\n * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Math/hypot\\n */\\nMath.hypot = function(value1, var_args) {};\\n\\n/**\\n * @param {number} value1\\n * @param {number} value2\\n * @return {number}\\n * @nosideeffects\\n * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Math/imul\\n */\\nMath.imul = function(value1, value2) {};\\n\\n/**\\n * @param {number} value\\n * @return {number}\\n * @nosideeffects\\n * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Math/clz32\\n */\\nMath.clz32 = function(value) {};\\n\\n\\n/**\\n * @param {*} a\\n * @param {*} b\\n * @return {boolean}\\n * @nosideeffects\\n * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/is\\n */\\nObject.is;\\n\\n\\n/**\\n * Returns a language-sensitive string representation of this number.\\n * @param {(string|!Array<string>)=} opt_locales\\n * @param {Object=} opt_options\\n * @return {string}\\n * @nosideeffects\\n * @see https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Number/toLocaleString\\n * @see http://www.ecma-international.org/ecma-402/1.0/#sec-13.2.1\\n * @override\\n */\\nNumber.prototype.toLocaleString = function(opt_locales, opt_options) {};\\n\\n\\n/**\\n * Repeats the string the given number of times.\\n *\\n * @param {number} count The number of times the string is repeated.\\n * @this {String|string}\\n * @return {string}\\n * @nosideeffects\\n * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/repeat\\n */\\nString.prototype.repeat = function(count) {};\\n\\n/**\\n * @constructor\\n * @extends {Array<string>}\\n * @see http://www.ecma-international.org/ecma-262/6.0/#sec-gettemplateobject\\n */\\nvar ITemplateArray = function() {};\\n\\n/**\\n * @type {!Array<string>}\\n */\\nITemplateArray.prototype.raw;\\n\\n/**\\n * @param {!ITemplateArray} template\\n * @param {...*} var_args Substitution values.\\n * @return {string}\\n * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/raw\\n */\\nString.raw = function(template, var_args) {};\\n\\n\\n/**\\n * @param {number} codePoint\\n * @param {...nu';
a.a+="mber} var_args Additional codepoints\\n * @return {string}\\n */\\nString.fromCodePoint = function(codePoint, var_args) {};\\n\\n\\n/**\\n * @param {number} index\\n * @return {number}\\n * @nosideeffects\\n */\\nString.prototype.codePointAt = function(index) {};\\n\\n\\n/**\\n * @param {string=} opt_form\\n * @return {string}\\n * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/normalize\\n */\\nString.prototype.normalize = function(opt_form) {};\\n\\n\\n/**\\n * @param {string} searchString\\n * @param {number=} opt_position\\n * @return {boolean}\\n * @nosideeffects\\n * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/startsWith\\n */\\nString.prototype.startsWith = function(searchString, opt_position) {};\\n\\n/**\\n * @param {string} searchString\\n * @param {number=} opt_position\\n * @return {boolean}\\n * @nosideeffects\\n * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/endsWith\\n */\\nString.prototype.endsWith = function(searchString, opt_position) {};\\n\\n/**\\n * @param {string} searchString\\n * @param {number=} opt_position\\n * @return {boolean}\\n * @nosideeffects\\n * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/includes\\n */\\nString.prototype.includes = function(searchString, opt_position) {};\\n\\n\\n/**\\n * @see http://dev.w3.org/html5/postmsg/\\n * @interface\\n */\\nfunction Transferable() {}\\n\\n/**\\n * @param {number} length The length in bytes\\n * @constructor\\n * @noalias\\n * @throws {Error}\\n * @implements {Transferable}\\n */\\nfunction ArrayBuffer(length) {}\\n\\n/** @type {number} */\\nArrayBuffer.prototype.byteLength;\\n\\n/**\\n * @param {number} begin\\n * @param {number=} opt_end\\n * @return {!ArrayBuffer}\\n * @nosideeffects\\n */\\nArrayBuffer.prototype.slice = function(begin, opt_end) {};\\n\\n/**\\n * @param {*} arg\\n * @return {boolean}\\n * @nosideeffects\\n * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/ArrayBuffer/isView\\n */\\nArrayBuffer.isView = function(arg) {};\\n\\n\\n/**\\n * @constructor\\n * @noalias\\n */\\nfunction ArrayBufferView() {}\\n\\n/** @type {!ArrayBuffer} */\\nArrayBufferView.prototype.buffer;\\n\\n/** @type {number} */\\nArrayBufferView.prototype.byteOffset;\\n\\n/** @type {number} */\\nArrayBufferView.prototype.byteLength;\\n\\n\\n/**\\n * @typedef {!ArrayBuffer|!ArrayBufferView}\\n */\\nvar BufferSource;\\n\\n\\n/**\\n * @constructor\\n * @implements {IArrayLike<number>}\\n * @extends {ArrayBufferView}\\n */\\nfunction TypedArray() {};\\n\\n/** @const {number} */\\nTypedArray.prototype.BYTES_PER_ELEMENT;\\n\\n/**\\n * @param {number} target\\n * @param {number} start\\n * @param {number=} opt_end\\n * @return {THIS}\\n * @this {THIS}\\n * @template THIS\\n * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypedArray/copyWithin\\n */\\nTypedArray.prototype.copyWithin = function(target, start, opt_end) {};\\n\\n/**\\n * @return {!IteratorIterable<!Array<number>>}\\n * @nosideeffects\\n * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypedArray/entries\\n */\\nTypedArray.prototype.entries = function() {};\\n\\n/**\\n * @param {function(this:S, number, number, !TypedArray) : ?} callback\\n * @param {S=} opt_thisArg\\n * @return {boolean}\\n * @template S\\n * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypedArray/every\\n */\\nTypedArray.prototype.every = function(callback, opt_thisArg) {};\\n\\n/**\\n * @param {number} value\\n * @param {number=} opt_begin\\n * @param {number=} opt_end\\n * @return {THIS}\\n * @this {THIS}\\n * @template THIS\\n * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypedArray/fill\\n */\\nTypedArray.prototype.fill = function(value, opt_begin, opt_end) {};\\n\\n/**\\n * @param {function(this:S, number, number, !TypedArray) : boolean} callback\\n * @param {S=} opt_thisArg\\n * @return {THIS}\\n * @this {THIS}\\n * @template THIS,S\\n * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypedArray/filter\\n */\\nTypedArray.prototype.filter = function(callback, opt_thisArg) {};\\n\\n/**\\n * @param {function(this:S, number, number, !TypedArray) : boolean} callback\\n * @param {S=} opt_thisArg\\n * @return {(number|undefined)}\\n * @template S\\n * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypedArray/find\\n */\\nTypedArray.prototype.find = function(callback, opt_thisArg) {};\\n\\n/**\\n * @param {function(this:S, number, number, !TypedArray) : boolean} callback\\n * @param {S=} opt_thisArg\\n * @return {number}\\n * @template S\\n * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypedArray/findIndex\\n */\\nTypedArray.prototype.findIndex = function(callback, opt_thisArg) {};\\n\\n/**\\n * @param {function(this:S, number, number, !TypedArray) : ?} callback\\n * @param {S=} opt_thisArg\\n * @return {undefined}\\n * @template S\\n * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypedArray/forEach\\n */\\nTypedArray.prototype.forEach = function(callback, opt_thisArg) {};\\n\\n/**\\n * @param {number} searchElement\\n * @param {number=} opt_fromIndex\\n * @return {boolean}\\n * @nosideeffects\\n * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypedArray/includes\\n */\\nTypedArray.prototype.includes = function(searchElement, opt_fromIndex) {};\\n\\n/**\\n * @param {number} searchElement\\n * @param {number=} opt_fromIndex\\n * @return {number}\\n * @nosideeffects\\n * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypedArray/indexOf\\n */\\nTypedArray.prototype.indexOf = function(searchElement, opt_fromIndex) {};\\n\\n/**\\n * @param {string=} opt_separator\\n * @return {string}\\n * @nosideeffects\\n * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypedArray/join\\n */\\nTypedArray.prototype.join = function(opt_separator) {};\\n\\n/**\\n * @return {!IteratorIterable<number>}\\n * @nosideeffects\\n * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypedArray/keys\\n */\\nTypedArray.prototype.keys = function() {};\\n\\n/**\\n * @param {number} searchElement\\n * @param {number=} opt_fromIndex\\n * @return {number}\\n * @nosideeffects\\n * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypedArray/lastIndexOf\\n */\\nTypedArray.prototype.lastIndexOf = function(searchElement, opt_fromIndex) {};\\n\\n/** @type {number} */\\nTypedArray.prototype.length;\\n\\n/**\\n * @param {function(this:S, number, number, !TypedArray) : number} callback\\n * @param {S=} opt_thisArg\\n * @return {THIS}\\n * @this {THIS}\\n * @template THIS,S\\n * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypedArray/map\\n */\\nTypedArray.prototype.map = function(callback, opt_thisArg) {};\\n\\n/**\\n * @param {function((number|INIT|RET), number, number, !TypedArray) : RET} callback\\n * @param {INIT=} opt_initialValue\\n * @return {RET}\\n * @template INIT,RET\\n * @nosideeffects\\n * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypedArray/reduce\\n */\\nTypedArray.prototype.reduce = function(callback, opt_initialValue) {};\\n\\n/**\\n * @param {function((number|INIT|RET), number, number, !TypedArray) : RET} callback\\n * @param {INIT=} opt_initialValue\\n * @return {RET}\\n * @template INIT,RET\\n * @nosideeffects\\n * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypedArray/reduceRight\\n */\\nTypedArray.prototype.reduceRight = function(callback, opt_initialValue) {};\\n\\n/**\\n * @return {THIS}\\n * @this {THIS}\\n * @template THIS\\n * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypedArray/reverse\\n */\\nTypedArray.prototype.reverse = function() {};\\n\\n/**\\n * @param {!ArrayBufferView|!Array<number>} array\\n * @param {number=} opt_offset\\n * @return {undefined}\\n * @throws {!RangeError}\\n * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypedArray/set\\n */\\nTypedArray.prototype.set = function(array, opt_offset) {};\\n\\n/**\\n * @param {number=} opt_begin\\n * @param {number=} opt_end\\n * @return {THIS}\\n * @this {THIS}\\n * @template THIS\\n * @nosideeffects\\n * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypedArray/slice\\n */\\nTypedArray.prototype.slice = function(opt_begin, opt_end) {};\\n\\n/**\\n * @param {function(this:S, number, number, !TypedArray) : boolean} callback\\n * @param {S=} opt_thisArg\\n * @return {boolean}\\n * @template S\\n * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypedArray/some\\n */\\nTypedArray.prototype.some = function(callback, opt_thisArg) {};\\n\\n/**\\n * @param {(function(number, number) : number)=} opt_compareFunction\\n * @return {THIS}\\n * @this {THIS}\\n * @template THIS\\n * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypedArray/sort\\n */\\nTypedArray.prototype.sort = function(opt_compareFunction) {};\\n\\n/**\\n * @param {number} begin\\n * @param {number=} opt_end\\n * @return {THIS}\\n * @this {THIS}\\n * @template THIS\\n * @nosideeffects\\n * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypedArray/subarray\\n */\\nTypedArray.prototype.subarray = function(begin, opt_end) {};\\n\\n/**\\n * @return {!IteratorIterable<number>}\\n * @nosideeffects\\n * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypedArray/values\\n */\\nTypedArray.prototype.values = function() {};\\n\\n/**\\n * @return {string}\\n * @nosideeffects\\n * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypedArray/toLocaleString\\n * @override\\n */\\nTypedArray.prototype.toLocaleString = function() {};\\n\\n/**\\n * @return {string}\\n * @nosideeffects\\n * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypedArray/toString\\n * @override\\n */\\nTypedArray.prototype.toString = function() {};\\n\\n\\n/**\\n * @param {number|ArrayBufferView|Array<number>|ArrayBuffer} length or array\\n *     or buffer\\n * @param {number=} opt_byteOffset\\n * @param {number=} opt_length\\n * @constructor\\n * @extends {TypedArray}\\n * @noalias\\n * @throws {Error}\\n * @modifies {arguments} If the user passes a backing array, then indexed\\n *     accesses will modify the backing array. JSCompiler does not model\\n *     this well. In other words, if you have:\\n *     <code>\\n *     var x = new ArrayBuffer(1);\\n *     var y = new Int8Array(x);\\n *     y[0] = 2;\\n *     </code>\\n *     JSCompiler will not recognize that the last assignment modifies x.\\n *     We workaround this by marking all these arrays as @modifies {arguments},\\n *     to introduce the possibility that x aliases y.\\n */\\nfunction Int8Array(length, opt_byteOffset, opt_length) {}\\n\\n/** @const {number} */\\nInt8Array.BYTES_PER_ELEMENT;\\n\\n/**\\n * @param {!Array<number>} source\\n * @param {function(this:S, number): number=} opt_mapFn\\n * @param {S=} opt_this\\n * @template S\\n * @return {!Int8Array}\\n * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypedArray/from\\n */\\nInt8Array.from = function(source, opt_mapFn, opt_this) {};\\n\\n/**\\n * @param {...number} var_args\\n * @return {!Int8Array}\\n * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypedArray/of\\n */\\nInt8Array.of = function(var_args) {};\\n\\n\\n/**\\n * @param {number|ArrayBufferView|Array<number>|ArrayBuffer} length or array\\n *     or buffer\\n * @param {number=} opt_byteOffset\\n * @param {number=} opt_length\\n * @constructor\\n * @extends {TypedArray}\\n * @noalias\\n * @throws {Error}\\n * @modifies {arguments}\\n */\\nfunction Uint8Array(length, opt_byteOffset, opt_length) {}\\n\\n/** @const {number} */\\nUint8Array.BYTES_PER_ELEMENT;\\n\\n/**\\n * @param {!Array<number>} source\\n * @param {function(this:S, number): number=} opt_mapFn\\n * @param {S=} opt_this\\n * @template S\\n * @return {!Uint8Array}\\n * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypedArray/from\\n */\\nUint8Array.from = function(source, opt_mapFn, opt_this) {};\\n\\n/**\\n * @param {...number} var_args\\n * @return {!Uint8Array}\\n * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypedArray/of\\n */\\nUint8Array.of = function(var_args) {};\\n\\n\\n/**\\n * @param {number|ArrayBufferView|Array<number>|ArrayBuffer} length or array\\n *     or buffer\\n * @param {number=} opt_byteOffset\\n * @param {number=} opt_length\\n * @constructor\\n * @extends {TypedArray}\\n * @noalias\\n * @throws {Error}\\n * @modifies {arguments}\\n */\\nfunction Uint8ClampedArray(length, opt_byteOffset, opt_length) {}\\n\\n/** @const {number} */\\nUint8ClampedArray.BYTES_PER_ELEMENT;\\n\\n/**\\n * @param {!Array<number>} source\\n * @param {function(this:S, number): number=} opt_mapFn\\n * @param {S=} opt_this\\n * @template S\\n * @return {!Uint8ClampedArray}\\n * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypedArray/from\\n */\\nUint8ClampedArray.from = function(source, opt_mapFn, opt_this) {};\\n\\n/**\\n * @param {...number} var_args\\n * @return {!Uint8ClampedArray}\\n * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypedArray/of\\n */\\nUint8ClampedArray.of = function(var_args) {};\\n\\n\\n/**\\n * @typedef {Uint8ClampedArray}\\n * @deprecated CanvasPixelArray has been replaced by Uint8ClampedArray\\n *     in the latest spec.\\n * @see http://www.w3.org/TR/2dcontext/#imagedata\\n */\\nvar CanvasPixelArray;\\n\\n\\n/**\\n * @param {number|ArrayBufferView|Array<number>|ArrayBuffer} length or array\\n *     or buffer\\n * @param {number=} opt_byteOffset\\n * @param {number=} opt_length\\n * @constructor\\n * @extends {TypedArray}\\n * @noalias\\n * @throws {Error}\\n * @modifies {arguments}\\n */\\nfunction Int16Array(length, opt_byteOffset, opt_length) {}\\n\\n/** @const {number} */\\nInt16Array.BYTES_PER_ELEMENT;\\n\\n/**\\n * @param {!Array<number>} source\\n * @param {function(this:S, number): number=} opt_mapFn\\n * @param {S=} opt_this\\n * @template S\\n * @return {!Int16Array}\\n * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypedArray/from\\n */\\nInt16Array.from = function(source, opt_mapFn, opt_this) {};\\n\\n/**\\n * @param {...number} var_args\\n * @return {!Int16Array}\\n * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypedArray/of\\n */\\nInt16Array.of = function(var_args) {};\\n\\n\\n/**\\n * @param {number|ArrayBufferView|Array<number>|ArrayBuffer} length or array\\n *     or buffer\\n * @param {number=} opt_byteOffset\\n * @param {number=} opt_length\\n * @constructor\\n * @extends {TypedArray}\\n * @noalias\\n * @throws {Error}\\n * @modifies {arguments}\\n */\\nfunction Uint16Array(length, opt_byteOffset, opt_length) {}\\n\\n/** @const {number} */\\nUint16Array.BYTES_PER_ELEMENT;\\n\\n/**\\n * @param {!Array<number>} source\\n * @param {function(this:S, number): number=} opt_mapFn\\n * @param {S=} opt_this\\n * @template S\\n * @return {!Uint16Array}\\n * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypedArray/from\\n */\\nUint16Array.from = function(source, opt_mapFn, opt_this) {};\\n\\n/**\\n * @param {...number} var_args\\n * @return {!Uint16Array}\\n * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypedArray/of\\n */\\nUint16Array.of = function(var_args) {};\\n\\n\\n/**\\n * @param {number|ArrayBufferView|Array<number>|ArrayBuffer} length or array\\n *     or buffer\\n * @param {number=} opt_byteOffset\\n * @param {number=} opt_length\\n * @constructor\\n * @extends {TypedArray}\\n * @noalias\\n * @throws {Error}\\n * @modifies {arguments}\\n */\\nfunction Int32Array(length, opt_byteOffset, opt_length) {}\\n\\n/** @const {number} */\\nInt32Array.BYTES_PER_ELEMENT;\\n\\n/**\\n * @param {!Array<number>} source\\n * @param {function(this:S, number): number=} opt_mapFn\\n * @param {S=} opt_this\\n * @template S\\n * @return {!Int32Array}\\n * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Refer";
a.a+="ence/Global_Objects/TypedArray/from\\n */\\nInt32Array.from = function(source, opt_mapFn, opt_this) {};\\n\\n/**\\n * @param {...number} var_args\\n * @return {!Int32Array}\\n * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypedArray/of\\n */\\nInt32Array.of = function(var_args) {};\\n\\n\\n/**\\n * @param {number|ArrayBufferView|Array<number>|ArrayBuffer} length or array\\n *     or buffer\\n * @param {number=} opt_byteOffset\\n * @param {number=} opt_length\\n * @constructor\\n * @extends {TypedArray}\\n * @noalias\\n * @throws {Error}\\n * @modifies {arguments}\\n */\\nfunction Uint32Array(length, opt_byteOffset, opt_length) {}\\n\\n/** @const {number} */\\nUint32Array.BYTES_PER_ELEMENT;\\n\\n/**\\n * @param {!Array<number>} source\\n * @param {function(this:S, number): number=} opt_mapFn\\n * @param {S=} opt_this\\n * @template S\\n * @return {!Uint32Array}\\n * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypedArray/from\\n */\\nUint32Array.from = function(source, opt_mapFn, opt_this) {};\\n\\n/**\\n * @param {...number} var_args\\n * @return {!Uint32Array}\\n * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypedArray/of\\n */\\nUint32Array.of = function(var_args) {};\\n\\n\\n/**\\n * @param {number|ArrayBufferView|Array<number>|ArrayBuffer} length or array\\n *     or buffer\\n * @param {number=} opt_byteOffset\\n * @param {number=} opt_length\\n * @constructor\\n * @extends {TypedArray}\\n * @noalias\\n * @throws {Error}\\n * @modifies {arguments}\\n */\\nfunction Float32Array(length, opt_byteOffset, opt_length) {}\\n\\n/** @const {number} */\\nFloat32Array.BYTES_PER_ELEMENT;\\n\\n/**\\n * @param {!Array<number>} source\\n * @param {function(this:S, number): number=} opt_mapFn\\n * @param {S=} opt_this\\n * @template S\\n * @return {!Float32Array}\\n * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypedArray/from\\n */\\nFloat32Array.from = function(source, opt_mapFn, opt_this) {};\\n\\n/**\\n * @param {...number} var_args\\n * @return {!Float32Array}\\n * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypedArray/of\\n */\\nFloat32Array.of = function(var_args) {};\\n\\n\\n/**\\n * @param {number|ArrayBufferView|Array<number>|ArrayBuffer} length or array\\n *     or buffer\\n * @param {number=} opt_byteOffset\\n * @param {number=} opt_length\\n * @constructor\\n * @extends {TypedArray}\\n * @noalias\\n * @throws {Error}\\n * @modifies {arguments}\\n */\\nfunction Float64Array(length, opt_byteOffset, opt_length) {}\\n\\n/** @const {number} */\\nFloat64Array.BYTES_PER_ELEMENT;\\n\\n/**\\n * @param {!Array<number>} source\\n * @param {function(this:S, number): number=} opt_mapFn\\n * @param {S=} opt_this\\n * @template S\\n * @return {!Float64Array}\\n * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypedArray/from\\n */\\nFloat64Array.from = function(source, opt_mapFn, opt_this) {};\\n\\n/**\\n * @param {...number} var_args\\n * @return {!Float64Array}\\n * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypedArray/of\\n */\\nFloat64Array.of = function(var_args) {};\\n\\n\\n/**\\n * @param {ArrayBuffer} buffer\\n * @param {number=} opt_byteOffset\\n * @param {number=} opt_byteLength\\n * @constructor\\n * @extends {ArrayBufferView}\\n * @noalias\\n * @throws {Error}\\n * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Typed_arrays/DataView\\n */\\nfunction DataView(buffer, opt_byteOffset, opt_byteLength) {}\\n\\n/**\\n * @param {number} byteOffset\\n * @return {number}\\n * @throws {Error}\\n */\\nDataView.prototype.getInt8 = function(byteOffset) {};\\n\\n/**\\n * @param {number} byteOffset\\n * @return {number}\\n * @throws {Error}\\n */\\nDataView.prototype.getUint8 = function(byteOffset) {};\\n\\n/**\\n * @param {number} byteOffset\\n * @param {boolean=} opt_littleEndian\\n * @return {number}\\n * @throws {Error}\\n */\\nDataView.prototype.getInt16 = function(byteOffset, opt_littleEndian) {};\\n\\n/**\\n * @param {number} byteOffset\\n * @param {boolean=} opt_littleEndian\\n * @return {number}\\n * @throws {Error}\\n */\\nDataView.prototype.getUint16 = function(byteOffset, opt_littleEndian) {};\\n\\n/**\\n * @param {number} byteOffset\\n * @param {boolean=} opt_littleEndian\\n * @return {number}\\n * @throws {Error}\\n */\\nDataView.prototype.getInt32 = function(byteOffset, opt_littleEndian) {};\\n\\n/**\\n * @param {number} byteOffset\\n * @param {boolean=} opt_littleEndian\\n * @return {number}\\n * @throws {Error}\\n */\\nDataView.prototype.getUint32 = function(byteOffset, opt_littleEndian) {};\\n\\n/**\\n * @param {number} byteOffset\\n * @param {boolean=} opt_littleEndian\\n * @return {number}\\n * @throws {Error}\\n */\\nDataView.prototype.getFloat32 = function(byteOffset, opt_littleEndian) {};\\n\\n/**\\n * @param {number} byteOffset\\n * @param {boolean=} opt_littleEndian\\n * @return {number}\\n * @throws {Error}\\n */\\nDataView.prototype.getFloat64 = function(byteOffset, opt_littleEndian) {};\\n\\n/**\\n * @param {number} byteOffset\\n * @param {number} value\\n * @throws {Error}\\n * @return {undefined}\\n */\\nDataView.prototype.setInt8 = function(byteOffset, value) {};\\n\\n/**\\n * @param {number} byteOffset\\n * @param {number} value\\n * @throws {Error}\\n * @return {undefined}\\n */\\nDataView.prototype.setUint8 = function(byteOffset, value) {};\\n\\n/**\\n * @param {number} byteOffset\\n * @param {number} value\\n * @param {boolean=} opt_littleEndian\\n * @throws {Error}\\n * @return {undefined}\\n */\\nDataView.prototype.setInt16 = function(byteOffset, value, opt_littleEndian) {};\\n\\n/**\\n * @param {number} byteOffset\\n * @param {number} value\\n * @param {boolean=} opt_littleEndian\\n * @throws {Error}\\n * @return {undefined}\\n */\\nDataView.prototype.setUint16 = function(byteOffset, value, opt_littleEndian) {};\\n\\n/**\\n * @param {number} byteOffset\\n * @param {number} value\\n * @param {boolean=} opt_littleEndian\\n * @throws {Error}\\n * @return {undefined}\\n */\\nDataView.prototype.setInt32 = function(byteOffset, value, opt_littleEndian) {};\\n\\n/**\\n * @param {number} byteOffset\\n * @param {number} value\\n * @param {boolean=} opt_littleEndian\\n * @throws {Error}\\n * @return {undefined}\\n */\\nDataView.prototype.setUint32 = function(byteOffset, value, opt_littleEndian) {};\\n\\n/**\\n * @param {number} byteOffset\\n * @param {number} value\\n * @param {boolean=} opt_littleEndian\\n * @throws {Error}\\n * @return {undefined}\\n */\\nDataView.prototype.setFloat32 = function(\\n    byteOffset, value, opt_littleEndian) {};\\n\\n/**\\n * @param {number} byteOffset\\n * @param {number} value\\n * @param {boolean=} opt_littleEndian\\n * @throws {Error}\\n * @return {undefined}\\n */\\nDataView.prototype.setFloat64 = function(\\n    byteOffset, value, opt_littleEndian) {};\\n\\n\\n/**\\n * @see https://github.com/promises-aplus/promises-spec\\n * @typedef {{then: ?}}\\n */\\nvar Thenable;\\n\\n\\n/**\\n * This is not an official DOM interface. It is used to add generic typing\\n * and respective type inference where available.\\n * {@see goog.Thenable} inherits from this making all promises\\n * interoperate.\\n * @interface\\n * @template TYPE\\n */\\nfunction IThenable() {}\\n\\n\\n/**\\n * @param {?(function(TYPE):VALUE)=} opt_onFulfilled\\n * @param {?(function(*): *)=} opt_onRejected\\n * @return {RESULT}\\n * @template VALUE\\n *\\n * When a Promise (or thenable) is returned from the fulfilled callback,\\n * the result is the payload of that promise, not the promise itself.\\n *\\n * @template RESULT := type('IThenable',\\n *     cond(isUnknown(VALUE), unknown(),\\n *       mapunion(VALUE, (V) =>\\n *         cond(isTemplatized(V) && sub(rawTypeOf(V), 'IThenable'),\\n *           templateTypeOf(V, 0),\\n *           cond(sub(V, 'Thenable'),\\n *              unknown(),\\n *              V)))))\\n * =:\\n */\\nIThenable.prototype.then = function(opt_onFulfilled, opt_onRejected) {};\\n\\n\\n/**\\n * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Promise\\n * @param {function(\\n *             function((TYPE|IThenable<TYPE>|Thenable|null)=),\\n *             function(*=))} resolver\\n * @constructor\\n * @implements {IThenable<TYPE>}\\n * @template TYPE\\n */\\nfunction Promise(resolver) {}\\n\\n\\n/**\\n * @param {VALUE=} opt_value\\n * @return {RESULT}\\n * @template VALUE\\n * @template RESULT := type('Promise',\\n *     cond(isUnknown(VALUE), unknown(),\\n *       mapunion(VALUE, (V) =>\\n *         cond(isTemplatized(V) && sub(rawTypeOf(V), 'IThenable'),\\n *           templateTypeOf(V, 0),\\n *           cond(sub(V, 'Thenable'),\\n *              unknown(),\\n *              V)))))\\n * =:\\n */\\nPromise.resolve = function(opt_value) {};\\n\\n\\n/**\\n * @param {*=} opt_error\\n * @return {!Promise<?>}\\n */\\nPromise.reject = function(opt_error) {};\\n\\n\\n/**\\n * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Promise\\n * @param {!Iterable<VALUE>} iterable\\n * @return {!Promise<!Array<RESULT>>}\\n * @template VALUE\\n * @template RESULT := mapunion(VALUE, (V) =>\\n *     cond(isUnknown(V),\\n *         unknown(),\\n *         cond(isTemplatized(V) && sub(rawTypeOf(V), 'IThenable'),\\n *             templateTypeOf(V, 0),\\n *             cond(sub(V, 'Thenable'), unknown(), V))))\\n * =:\\n */\\nPromise.all = function(iterable) {};\\n\\n\\n/**\\n * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Promise\\n * @param {!Iterable<VALUE>} iterable\\n * @return {!Promise<RESULT>}\\n * @template VALUE\\n * @template RESULT := mapunion(VALUE, (V) =>\\n *     cond(isUnknown(V),\\n *         unknown(),\\n *         cond(isTemplatized(V) && sub(rawTypeOf(V), 'IThenable'),\\n *             templateTypeOf(V, 0),\\n *             cond(sub(V, 'Thenable'), unknown(), V))))\\n * =:\\n */\\nPromise.race = function(iterable) {};\\n\\n\\n/**\\n * @param {?(function(this:void, TYPE):VALUE)=} opt_onFulfilled\\n * @param {?(function(this:void, *): *)=} opt_onRejected\\n * @return {RESULT}\\n * @template VALUE\\n *\\n * When a Promise (or thenable) is returned from the fulfilled callback,\\n * the result is the payload of that promise, not the promise itself.\\n *\\n * @template RESULT := type('Promise',\\n *     cond(isUnknown(VALUE), unknown(),\\n *       mapunion(VALUE, (V) =>\\n *         cond(isTemplatized(V) && sub(rawTypeOf(V), 'IThenable'),\\n *           templateTypeOf(V, 0),\\n *           cond(sub(V, 'Thenable'),\\n *              unknown(),\\n *              V)))))\\n * =:\\n * @override\\n */\\nPromise.prototype.then = function(opt_onFulfilled, opt_onRejected) {};\\n\\n\\n/**\\n * @param {function(*): RESULT} onRejected\\n * @return {!Promise<RESULT>}\\n * @template RESULT\\n */\\nPromise.prototype.catch = function(onRejected) {};\\n\\n\\n/**\\n * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/of\\n * @param {...T} var_args\\n * @return {!Array<T>}\\n * @template T\\n */\\nArray.of = function(var_args) {};\\n\\n\\n/**\\n * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/from\\n * @param {string|!IArrayLike<T>|!Iterable<T>} arrayLike\\n * @param {function(this:S, (string|T), number): R=} opt_mapFn\\n * @param {S=} opt_this\\n * @return {!Array<R>}\\n * @template T,S,R\\n */\\nArray.from = function(arrayLike, opt_mapFn, opt_this) {};\\n\\n\\n/** @return {!IteratorIterable<number>} */\\nArray.prototype.keys;\\n\\n\\n/**\\n * @return {!IteratorIterable<!Array<number|T>>} Iterator of [key, value] pairs.\\n */\\nArray.prototype.entries;\\n\\n\\n/**\\n * @param {!function(this:S, T, number, !Array<T>): boolean} predicate\\n * @param {S=} opt_this\\n * @return {T|undefined}\\n * @this {IArrayLike<T>|string}\\n * @template T,S\\n * @see http://www.ecma-international.org/ecma-262/6.0/#sec-array.prototype.find\\n */\\nArray.prototype.find = function(predicate, opt_this) {};\\n\\n\\n/**\\n * @param {!function(this:S, T, number, !Array<T>): boolean} predicate\\n * @param {S=} opt_this\\n * @return {number}\\n * @this {IArrayLike<T>|string}\\n * @template T,S\\n * @see http://www.ecma-international.org/ecma-262/6.0/#sec-array.prototype.findindex\\n */\\nArray.prototype.findIndex = function(predicate, opt_this) {};\\n\\n\\n/**\\n * @param {T} value\\n * @param {number=} opt_begin\\n * @param {number=} opt_end\\n * @return {!IArrayLike<T>}\\n * @this {!IArrayLike<T>|string}\\n * @template T\\n * @see http://www.ecma-international.org/ecma-262/6.0/#sec-array.prototype.fill\\n */\\nArray.prototype.fill = function(value, opt_begin, opt_end) {};\\n\\n\\n/**\\n * @param {number} target\\n * @param {number} start\\n * @param {number=} opt_end\\n * @see http://www.ecma-international.org/ecma-262/6.0/#sec-array.prototype.copywithin\\n * @template T\\n * @return {!IArrayLike<T>}\\n */\\nArray.prototype.copyWithin = function(target, start, opt_end) {};\\n\\n\\n/**\\n * @param {T} searchElement\\n * @param {number=} opt_fromIndex\\n * @return {boolean}\\n * @this {!IArrayLike<T>|string}\\n * @template T\\n * @see https://tc39.github.io/ecma262/#sec-array.prototype.includes\\n */\\nArray.prototype.includes = function(searchElement, opt_fromIndex) {};\\n\\n\\n/**\\n * @param {!Object} obj\\n * @return {!Array<symbol>}\\n * @see http://www.ecma-international.org/ecma-262/6.0/#sec-object.getownpropertysymbols\\n */\\nObject.getOwnPropertySymbols = function(obj) {};\\n\\n\\n/**\\n * @param {!Object} obj\\n * @param {?} proto\\n * @return {!Object}\\n * @see http://www.ecma-international.org/ecma-262/6.0/#sec-object.setprototypeof\\n */\\nObject.setPrototypeOf = function(obj, proto) {};\\n\\n\\n/**\\n * @const {number}\\n * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Number/EPSILON\\n */\\nNumber.EPSILON;\\n\\n/**\\n * @const {number}\\n * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Number/MIN_SAFE_INTEGER\\n */\\nNumber.MIN_SAFE_INTEGER;\\n\\n/**\\n * @const {number}\\n * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Number/MAX_SAFE_INTEGER\\n */\\nNumber.MAX_SAFE_INTEGER;\\n\\n\\n\\n/**\\n * Parse an integer. Use of {@code parseInt} without {@code base} is strictly\\n * banned in Google. If you really want to parse octal or hex based on the\\n * leader, then pass {@code undefined} as the base.\\n *\\n * @param {string} string\\n * @param {number|undefined} radix\\n * @return {number}\\n * @nosideeffects\\n * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Number/parseInt\\n */\\nNumber.parseInt = function(string, radix) {};\\n\\n/**\\n * @param {string} string\\n * @return {number}\\n * @nosideeffects\\n * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Number/parseFloat\\n */\\nNumber.parseFloat = function(string) {};\\n\\n/**\\n * @param {number} value\\n * @return {boolean}\\n * @nosideeffects\\n * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Number/isNaN\\n */\\nNumber.isNaN = function(value) {};\\n\\n/**\\n * @param {number} value\\n * @return {boolean}\\n * @nosideeffects\\n * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Number/isFinite\\n */\\nNumber.isFinite = function(value) {};\\n\\n/**\\n * @param {number} value\\n * @return {boolean}\\n * @nosideeffects\\n * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Number/isInteger\\n */\\nNumber.isInteger = function(value) {};\\n\\n/**\\n * @param {number} value\\n * @return {boolean}\\n * @nosideeffects\\n * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Number/isSafeInteger\\n */\\nNumber.isSafeInteger = function(value) {};\\n\\n\\n\\n/**\\n * @param {!Object} target\\n * @param {...Object} var_args\\n * @return {!Object}\\n * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/assign\\n */\\nObject.assign = function(target, var_args) {};\\n\\n/**\\n * TODO(dbeam): find a better place for ES2017 externs like this one.\\n * @param {!Object<T>} obj\\n * @return {!Array<T>} values\\n * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/values\\n * @throws {Error}\\n * @template T\\n */\\nObject.values = function(obj) {};\\n\\n/**\\n * @param {!Object<T>} obj\\n * @return {!Array<!Array<(string|T)>>} entries\\n * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/entries\\n * @throws {Error}\\n * @template T\\n */\\nObject.entries = ";
a.a+='function(obj) {};\\n\\n\\n\\n/**\\n * @const\\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Reflect\\n */\\nvar Reflect = {};\\n\\n/**\\n * @param {function(this: THIS, ...?): RESULT} target\\n * @param {THIS} thisArg\\n * @param {!Array} argList\\n * @return {RESULT}\\n * @template THIS, RESULT\\n * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Reflect/apply\\n */\\nReflect.apply = function(target, thisArg, argList) {};\\n\\n/**\\n * @param {function(new: ?, ...?)} target\\n * @param {!Array} argList\\n * @param {function(new: TARGET, ...?)=} opt_newTarget\\n * @return {TARGET}\\n * @template TARGET\\n * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Reflect/construct\\n */\\nReflect.construct = function(target, argList, opt_newTarget) {};\\n\\n/**\\n * @param {!Object} target\\n * @param {string} propertyKey\\n * @param {!Object} attributes\\n * @return {boolean}\\n * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Reflect/defineProperty\\n */\\nReflect.defineProperty = function(target, propertyKey, attributes) {};\\n\\n/**\\n * @param {!Object} target\\n * @param {string} propertyKey\\n * @return {boolean}\\n * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Reflect/deleteProperty\\n */\\nReflect.deleteProperty = function(target, propertyKey) {};\\n\\n/**\\n * @param {!Object} target\\n * @param {string} propertyKey\\n * @param {!Object=} opt_receiver\\n * @return {*}\\n * @nosideeffects\\n * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Reflect/get\\n */\\nReflect.get = function(target, propertyKey, opt_receiver) {};\\n\\n/**\\n * @param {!Object} target\\n * @param {string} propertyKey\\n * @return {?ObjectPropertyDescriptor}\\n * @nosideeffects\\n * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Reflect/getOwnPropertyDescriptor\\n */\\nReflect.getOwnPropertyDescriptor = function(target, propertyKey) {};\\n\\n/**\\n * @param {!Object} target\\n * @return {?Object}\\n * @nosideeffects\\n * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Reflect/getPrototypeOf\\n */\\nReflect.getPrototypeOf = function(target) {};\\n\\n/**\\n * @param {!Object} target\\n * @param {string} propertyKey\\n * @return {boolean}\\n * @nosideeffects\\n * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Reflect/has\\n */\\nReflect.has = function(target, propertyKey) {};\\n\\n/**\\n * @param {!Object} target\\n * @return {boolean}\\n * @nosideeffects\\n * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Reflect/isExtensible\\n */\\nReflect.isExtensible = function(target) {};\\n\\n/**\\n * @param {!Object} target\\n * @return {!Array<(string|symbol)>}\\n * @nosideeffects\\n * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Reflect/ownKeys\\n */\\nReflect.ownKeys = function(target) {};\\n\\n/**\\n * @param {!Object} target\\n * @return {boolean}\\n * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Reflect/preventExtensions\\n */\\nReflect.preventExtensions = function(target) {};\\n\\n/**\\n * @param {!Object} target\\n * @param {string} propertyKey\\n * @param {*} value\\n * @param {!Object=} opt_receiver\\n * @return {boolean}\\n * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Reflect/set\\n */\\nReflect.set = function(target, propertyKey, value, opt_receiver) {};\\n\\n/**\\n * @param {!Object} target\\n * @param {?Object} proto\\n * @return {boolean}\\n * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Reflect/setPrototypeOf\\n */\\nReflect.setPrototypeOf = function(target, proto) {};\\n","externs/es6_collections.js":"/*\\n * Copyright 2014 The Closure Compiler Authors\\n *\\n * Licensed under the Apache License, Version 2.0 (the \\"License\\");\\n * you may not use this file except in compliance with the License.\\n * You may obtain a copy of the License at\\n *\\n *     http://www.apache.org/licenses/LICENSE-2.0\\n *\\n * Unless required by applicable law or agreed to in writing, software\\n * distributed under the License is distributed on an \\"AS IS\\" BASIS,\\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\\n * See the License for the specific language governing permissions and\\n * limitations under the License.\\n */\\n\\n/**\\n * @fileoverview Definitions for ECMAScript 6.\\n * @see http://wiki.ecmascript.org/doku.php?id=harmony:specification_drafts\\n * @externs\\n */\\n\\n// TODO(johnlenz): Use Tuples for the Map and Set iterators where appropriate.\\n\\n/**\\n * @constructor @struct\\n * @param {Iterable<!Array<KEY|VALUE>>|!Array<!Array<KEY|VALUE>>=} opt_iterable\\n * @implements {Iterable<!Array<KEY|VALUE>>}\\n * @template KEY, VALUE\\n * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Map\\n */\\nfunction Map(opt_iterable) {}\\n\\n/** @return {void} */\\nMap.prototype.clear;\\n\\n/**\\n * @param {KEY} key\\n * @return {boolean}\\n */\\nMap.prototype.delete;\\n\\n/**\\n * @return {!IteratorIterable<!Array<KEY|VALUE>>}\\n * @nosideeffects\\n */\\nMap.prototype.entries;\\n\\n/**\\n * @param {function(this:THIS, VALUE, KEY, MAP)} callback\\n * @param {THIS=} opt_thisArg\\n * @this {MAP}\\n * @template MAP,THIS\\n */\\nMap.prototype.forEach;\\n\\n/**\\n * @param {KEY} key\\n * @return {VALUE}\\n * @nosideeffects\\n */\\nMap.prototype.get;\\n\\n/**\\n * @param {KEY} key\\n * @return {boolean}\\n * @nosideeffects\\n */\\nMap.prototype.has;\\n\\n/**\\n * @return {!IteratorIterable<KEY>}\\n */\\nMap.prototype.keys;\\n\\n/**\\n * @param {KEY} key\\n * @param {VALUE} value\\n * @return {THIS}\\n * @this {THIS}\\n * @template THIS\\n */\\nMap.prototype.set;\\n\\n/**\\n * @type {number}\\n * (readonly)\\n */\\nMap.prototype.size;\\n\\n/**\\n * @return {!IteratorIterable<VALUE>}\\n * @nosideeffects\\n */\\nMap.prototype.values;\\n\\n/**\\n * @return {!Iterator<!Array<KEY|VALUE>>}\\n */\\nMap.prototype[Symbol.iterator] = function() {};\\n\\n\\n/**\\n * @constructor @struct\\n * @param {Iterable<!Array<KEY|VALUE>>|!Array<!Array<KEY|VALUE>>=} opt_iterable\\n * @template KEY, VALUE\\n * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/WeakMap\\n */\\nfunction WeakMap(opt_iterable) {}\\n\\n/** @return {void} */\\nWeakMap.prototype.clear;\\n\\n/**\\n * @param {KEY} key\\n * @return {boolean}\\n */\\nWeakMap.prototype.delete;\\n\\n/**\\n * @param {KEY} key\\n * @return {VALUE}\\n * @nosideeffects\\n */\\nWeakMap.prototype.get;\\n\\n/**\\n * @param {KEY} key\\n * @return {boolean}\\n * @nosideeffects\\n */\\nWeakMap.prototype.has;\\n\\n/**\\n * @param {KEY} key\\n * @param {VALUE} value\\n * @return {THIS}\\n * @this {THIS}\\n * @template THIS\\n */\\nWeakMap.prototype.set;\\n\\n\\n\\n/**\\n * @constructor @struct\\n * @param {Iterable<VALUE>|Array<VALUE>=} opt_iterable\\n * @implements {Iterable<VALUE>}\\n * @template VALUE\\n * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Set\\n */\\nfunction Set(opt_iterable) {}\\n\\n/**\\n * @param {VALUE} value\\n * @return {THIS}\\n * @this {THIS}\\n * @template THIS\\n */\\nSet.prototype.add;\\n\\n/**\\n * @return {void}\\n */\\nSet.prototype.clear;\\n\\n/**\\n * @param {VALUE} value\\n * @return {boolean}\\n */\\nSet.prototype.delete;\\n\\n/**\\n * @return {!IteratorIterable<!Array<VALUE>>} Where each array has two entries:\\n *     [value, value]\\n * @nosideeffects\\n */\\nSet.prototype.entries;\\n\\n/**\\n * @param {function(this: THIS, VALUE, VALUE, SET)} callback\\n * @param {THIS=} opt_thisArg\\n * @this {SET}\\n * @template SET,THIS\\n */\\nSet.prototype.forEach;\\n\\n/**\\n * @param {VALUE} value\\n * @return {boolean}\\n * @nosideeffects\\n */\\nSet.prototype.has;\\n\\n/**\\n * @type {number} (readonly)\\n */\\nSet.prototype.size;\\n\\n/**\\n * @return {!IteratorIterable<VALUE>}\\n * @nosideeffects\\n */\\nSet.prototype.keys;\\n\\n/**\\n * @return {!IteratorIterable<VALUE>}\\n * @nosideeffects\\n */\\nSet.prototype.values;\\n\\n/**\\n * @return {!Iterator<VALUE>}\\n */\\nSet.prototype[Symbol.iterator] = function() {};\\n\\n\\n\\n/**\\n * @constructor @struct\\n * @param {Iterable<VALUE>|Array<VALUE>=} opt_iterable\\n * @template VALUE\\n * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Set\\n */\\nfunction WeakSet(opt_iterable) {}\\n\\n/**\\n * @param {VALUE} value\\n * @return {THIS}\\n * @this {THIS}\\n * @template THIS\\n */\\nWeakSet.prototype.add;\\n\\n/**\\n * @return {void}\\n */\\nWeakSet.prototype.clear;\\n\\n/**\\n * @param {VALUE} value\\n * @return {boolean}\\n */\\nWeakSet.prototype.delete;\\n\\n/**\\n * @param {VALUE} value\\n * @return {boolean}\\n * @nosideeffects\\n */\\nWeakSet.prototype.has;\\n","externs/intl.js":"/*\\n * Copyright 2013 The Closure Compiler Authors\\n *\\n * Licensed under the Apache License, Version 2.0 (the \\"License\\");\\n * you may not use this file except in compliance with the License.\\n * You may obtain a copy of the License at\\n *\\n *     http://www.apache.org/licenses/LICENSE-2.0\\n *\\n * Unless required by applicable law or agreed to in writing, software\\n * distributed under the License is distributed on an \\"AS IS\\" BASIS,\\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\\n * See the License for the specific language governing permissions and\\n * limitations under the License.\\n */\\n\\n/**\\n * @fileoverview Definitions for the JS Internationalization API as defined in\\n * http://www.ecma-international.org/ecma-402/1.0/\\n *\\n * @externs\\n */\\n\\n/** @const */\\nvar Intl = {};\\n\\n/**\\n * NOTE: this API is not from ecma402 and is subject to change.\\n * @param {string|Array<string>=} opt_locales\\n * @param {{type: (string|undefined)}=}\\n *         opt_options\\n * @constructor\\n */\\nIntl.v8BreakIterator = function(opt_locales, opt_options) {};\\n\\n/**\\n * @param {string} text\\n * @return {undefined}\\n */\\nIntl.v8BreakIterator.prototype.adoptText = function(text) {};\\n\\n/**\\n * @return {string}\\n */\\nIntl.v8BreakIterator.prototype.breakType = function() {};\\n\\n/**\\n * @return {number}\\n */\\nIntl.v8BreakIterator.prototype.current = function() {};\\n\\n/**\\n * @return {number}\\n */\\nIntl.v8BreakIterator.prototype.first = function() {};\\n\\n/**\\n * @return {number}\\n */\\nIntl.v8BreakIterator.prototype.next = function() {};\\n\\n/**\\n * @constructor\\n * @param {string|Array<string>=} opt_locales\\n * @param {{usage: (string|undefined), localeMatcher: (string|undefined),\\n *     sensitivity: (string|undefined), ignorePunctuation: (boolean|undefined),\\n *     numeric: (boolean|undefined), caseFirst: (string|undefined)}=}\\n *         opt_options\\n */\\nIntl.Collator = function(opt_locales, opt_options) {};\\n\\n/**\\n * @param {Array<string>} locales\\n * @param {{localeMatcher: (string|undefined)}=} opt_options\\n * @return {Array<string>}\\n */\\nIntl.Collator.supportedLocalesOf = function(locales, opt_options) {};\\n\\n/**\\n * @param {string} arg1\\n * @param {string} arg2\\n * @return {number}\\n */\\nIntl.Collator.prototype.compare = function(arg1, arg2) {};\\n\\n/**\\n * @return {{locale: string, usage: string, sensitivity: string,\\n *     ignorePunctuation: boolean, collation: string, numeric: boolean,\\n *     caseFirst: string}}\\n */\\nIntl.Collator.prototype.resolvedOptions = function() {};\\n\\n/**\\n * @constructor\\n * @param {string|Array<string>=} opt_locales\\n * @param {{localeMatcher: (string|undefined), useGrouping: (boolean|undefined),\\n *     numberingSystem: (string|undefined), style: (string|undefined),\\n *     currency: (string|undefined), currencyDisplay: (string|undefined),\\n *     minimumIntegerDigits: (number|undefined),\\n *     minimumFractionDigits: (number|undefined),\\n *     maximumFractionDigits: (number|undefined),\\n *     minimumSignificantDigits: (number|undefined),\\n *     maximumSignificantDigits: (number|undefined)}=}\\n *         opt_options\\n */\\nIntl.NumberFormat = function(opt_locales, opt_options) {};\\n\\n/**\\n * @param {Array<string>} locales\\n * @param {{localeMatcher: (string|undefined)}=} opt_options\\n * @return {Array<string>}\\n */\\nIntl.NumberFormat.supportedLocalesOf = function(locales, opt_options) {};\\n\\n/**\\n * @param {number} num\\n * @return {string}\\n */\\nIntl.NumberFormat.prototype.format = function(num) {};\\n\\n/**\\n * @return {{locale: string, numberingSystem: string, style: string,\\n *     currency: (string|undefined), currencyDisplay: (string|undefined),\\n *     minimumIntegerDigits: number, minimumFractionDigits: number,\\n *     maximumFractionDigits: number, minimumSignificantDigits: number,\\n *     maximumSignificantDigits: number, useGrouping: boolean}}\\n */\\nIntl.NumberFormat.prototype.resolvedOptions = function() {};\\n\\n/**\\n * @constructor\\n * @param {string|Array<string>=} opt_locales\\n * @param {{localeMatcher: (string|undefined),\\n *    formatMatcher: (string|undefined), calendar: (string|undefined),\\n *    numberingSystem: (string|undefined), tz: (string|undefined),\\n *    weekday: (string|undefined), era: (string|undefined),\\n *    year: (string|undefined), month: (string|undefined),\\n *    day: (string|undefined), hour: (string|undefined),\\n *    minute: (string|undefined), second: (string|undefined),\\n *    timeZoneName: (string|undefined), hour12: (boolean|undefined)}=}\\n *        opt_options\\n */\\nIntl.DateTimeFormat = function(opt_locales, opt_options) {};\\n\\n/**\\n * @param {Array<string>} locales\\n * @param {{localeMatcher: string}=} opt_options\\n * @return {Array<string>}\\n */\\nIntl.DateTimeFormat.supportedLocalesOf = function(locales, opt_options) {};\\n\\n/**\\n * @param {(!Date|number)=} date\\n * @return {string}\\n */\\nIntl.DateTimeFormat.prototype.format = function(date) {};\\n\\n/**\\n * @return {{locale: string, calendar: string, numberingSystem: string,\\n *    timeZone: (string|undefined), weekday: (string|undefined),\\n *    era: (string|undefined), year: (string|undefined),\\n *    month: (string|undefined), day: (string|undefined),\\n *    hour: (string|undefined), minute: (string|undefined),\\n *    second: (string|undefined), timeZoneName: (string|undefined),\\n *    hour12: (boolean|undefined)}}\\n */\\nIntl.DateTimeFormat.prototype.resolvedOptions = function() {};\\n","externs/w3c_event.js":"/*\\n * Copyright 2008 The Closure Compiler Authors\\n *\\n * Licensed under the Apache License, Version 2.0 (the \\"License\\");\\n * you may not use this file except in compliance with the License.\\n * You may obtain a copy of the License at\\n *\\n *     http://www.apache.org/licenses/LICENSE-2.0\\n *\\n * Unless required by applicable law or agreed to in writing, software\\n * distributed under the License is distributed on an \\"AS IS\\" BASIS,\\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\\n * See the License for the specific language governing permissions and\\n * limitations under the License.\\n */\\n\\n/**\\n * @fileoverview Definitions for W3C\'s event specification.\\n *  The whole file has been fully type annotated.\\n *  Created from\\n *   http://www.w3.org/TR/DOM-Level-2-Events/ecma-script-binding.html\\n *\\n * @externs\\n * @author acleung@google.com (Alan Leung)\\n */\\n\\n\\n/**\\n * @interface\\n */\\nfunction EventTarget() {}\\n\\n/**\\n * TODO(tbreisacher): Change the type of useCapture to be\\n * {boolean|!EventListenerOptions}, here and in removeEventListener.\\n *\\n * @param {string} type\\n * @param {EventListener|function(!Event):(boolean|undefined)} listener\\n * @param {boolean} useCapture\\n * @return {undefined}\\n */\\nEventTarget.prototype.addEventListener = function(type, listener, useCapture)\\n    {};\\n\\n/**\\n * @param {string} type\\n * @param {EventListener|function(!Event):(boolean|undefined)} listener\\n * @param {boolean} useCapture\\n * @return {undefined}\\n */\\nEventTarget.prototype.removeEventListener = function(type, listener, useCapture)\\n    {};\\n\\n/**\\n * @param {!Event} evt\\n * @return {boolean}\\n */\\nEventTarget.prototype.dispatchEvent = function(evt) {};\\n\\n/**\\n * @interface\\n */\\nfunction EventListener() {}\\n\\n/**\\n * @param {!Event} evt\\n * @return {undefined}\\n */\\nEventListener.prototype.handleEvent = function(evt) {};\\n\\n// The EventInit interface and the parameters to the Event constructor are part\\n// of DOM Level 3 (suggested) and the DOM \\"Living Standard\\" (mandated). They are\\n// included here as externs cannot be redefined. The same applies to other\\n// *EventInit interfac';
a.a+='es and *Event constructors throughout this file. See:\\n// http://www.w3.org/TR/DOM-Level-3-Events/#event-initializers\\n// http://dom.spec.whatwg.org/#constructing-events\\n// https://dvcs.w3.org/hg/d4e/raw-file/tip/source_respec.htm#event-constructors\\n\\n/**\\n * @typedef {{\\n *   bubbles: (boolean|undefined),\\n *   cancelable: (boolean|undefined)\\n * }}\\n */\\nvar EventInit;\\n\\n/**\\n * @constructor\\n * @param {string} type\\n * @param {EventInit=} opt_eventInitDict\\n */\\nfunction Event(type, opt_eventInitDict) {}\\n\\n/**\\n * @type {number}\\n * @see http://www.w3.org/TR/DOM-Level-2-Events/ecma-script-binding.html\\n */\\nEvent.AT_TARGET;\\n\\n/**\\n * @type {number}\\n * @see http://www.w3.org/TR/DOM-Level-2-Events/ecma-script-binding.html\\n */\\nEvent.BUBBLING_PHASE;\\n\\n/**\\n * @type {number}\\n * @see http://www.w3.org/TR/DOM-Level-2-Events/ecma-script-binding.html\\n */\\nEvent.CAPTURING_PHASE;\\n\\n\\n/** @type {string} */\\nEvent.prototype.type;\\n\\n/** @type {EventTarget} */\\nEvent.prototype.target;\\n\\n/** @type {EventTarget} */\\nEvent.prototype.currentTarget;\\n\\n/** @type {number} */\\nEvent.prototype.eventPhase;\\n\\n/** @type {boolean} */\\nEvent.prototype.bubbles;\\n\\n/** @type {boolean} */\\nEvent.prototype.cancelable;\\n\\n/** @type {number} */\\nEvent.prototype.timeStamp;\\n\\n/**\\n * Present for events spawned in browsers that support shadow dom.\\n * @type {Array<!Element>|undefined}\\n */\\nEvent.prototype.path;\\n\\n/**\\n * Present for events spawned in browsers that support shadow dom.\\n * @type {function():Array<!EventTarget>|undefined}\\n * @see https://www.w3.org/TR/shadow-dom/#widl-Event-deepPath\\n */\\nEvent.prototype.deepPath;\\n\\n/**\\n * @return {undefined}\\n */\\nEvent.prototype.stopPropagation = function() {};\\n\\n/**\\n * @return {undefined}\\n */\\nEvent.prototype.preventDefault = function() {};\\n\\n/**\\n * @param {string} eventTypeArg\\n * @param {boolean} canBubbleArg\\n * @param {boolean} cancelableArg\\n * @return {undefined}\\n */\\nEvent.prototype.initEvent = function(eventTypeArg, canBubbleArg, cancelableArg) {};\\n\\n/**\\n * @typedef {{\\n *   bubbles: (boolean|undefined),\\n *   cancelable: (boolean|undefined),\\n *   detail: *\\n * }}\\n */\\nvar CustomEventInit;\\n\\n/**\\n * @constructor\\n * @extends {Event}\\n * @param {string} type\\n * @param {CustomEventInit=} opt_eventInitDict\\n * @see http://www.w3.org/TR/DOM-Level-3-Events/#interface-CustomEvent\\n */\\nfunction CustomEvent(type, opt_eventInitDict) {}\\n\\n/**\\n * @param {string} eventType\\n * @param {boolean} bubbles\\n * @param {boolean} cancelable\\n * @param {*} detail\\n * @return {undefined}\\n */\\nCustomEvent.prototype.initCustomEvent = function(\\n    eventType, bubbles, cancelable, detail) {};\\n\\n/**\\n * @type {*}\\n */\\nCustomEvent.prototype.detail;\\n\\n/**\\n * @interface\\n */\\nfunction DocumentEvent() {}\\n\\n/**\\n * @param {string} eventType\\n * @return {!Event}\\n */\\nDocumentEvent.prototype.createEvent = function(eventType) {};\\n\\n/**\\n * @typedef {{\\n *   bubbles: (boolean|undefined),\\n *   cancelable: (boolean|undefined),\\n *   view: (Window|undefined),\\n *   detail: (number|undefined)\\n * }}\\n */\\nvar UIEventInit;\\n\\n/**\\n * @constructor\\n * @extends {Event}\\n * @param {string} type\\n * @param {UIEventInit=} opt_eventInitDict\\n */\\nfunction UIEvent(type, opt_eventInitDict) {}\\n\\n/** @type {number} */\\nUIEvent.prototype.detail;\\n\\n/**\\n * @param {string} typeArg\\n * @param {boolean} canBubbleArg\\n * @param {boolean} cancelableArg\\n * @param {Window} viewArg\\n * @param {number} detailArg\\n * @return {undefined}\\n */\\nUIEvent.prototype.initUIEvent = function(typeArg, canBubbleArg, cancelableArg,\\n    viewArg, detailArg) {};\\n\\n/**\\n * @typedef {{\\n *   bubbles: (boolean|undefined),\\n *   cancelable: (boolean|undefined),\\n *   view: (Window|undefined),\\n *   detail: (number|undefined),\\n *   screenX: (number|undefined),\\n *   screenY: (number|undefined),\\n *   clientX: (number|undefined),\\n *   clientY: (number|undefined),\\n *   ctrlKey: (boolean|undefined),\\n *   shiftKey: (boolean|undefined),\\n *   altKey: (boolean|undefined),\\n *   metaKey: (boolean|undefined),\\n *   button: (number|undefined),\\n *   buttons: (number|undefined),\\n *   relatedTarget: (EventTarget|undefined)\\n * }}\\n */\\nvar MouseEventInit;\\n\\n/**\\n * @constructor\\n * @extends {UIEvent}\\n * @param {string} type\\n * @param {MouseEventInit=} opt_eventInitDict\\n */\\nfunction MouseEvent(type, opt_eventInitDict) {}\\n\\n/** @type {number} */\\nMouseEvent.prototype.screenX;\\n\\n/** @type {number} */\\nMouseEvent.prototype.screenY;\\n\\n/** @type {number} */\\nMouseEvent.prototype.clientX;\\n\\n/** @type {number} */\\nMouseEvent.prototype.clientY;\\n\\n/** @type {boolean} */\\nMouseEvent.prototype.ctrlKey;\\n\\n/** @type {boolean} */\\nMouseEvent.prototype.shiftKey;\\n\\n/** @type {boolean} */\\nMouseEvent.prototype.altKey;\\n\\n/** @type {boolean} */\\nMouseEvent.prototype.metaKey;\\n\\n/** @type {number} */\\nMouseEvent.prototype.button;\\n\\n/** @type {EventTarget} */\\nMouseEvent.prototype.relatedTarget;\\n\\n\\n/**\\n * @constructor\\n * @extends {Event}\\n */\\nfunction MutationEvent() {}\\n\\n/** @type {Node} */\\nMutationEvent.prototype.relatedNode;\\n\\n/** @type {string} */\\nMutationEvent.prototype.prevValue;\\n\\n/** @type {string} */\\nMutationEvent.prototype.newValue;\\n\\n/** @type {string} */\\nMutationEvent.prototype.attrName;\\n\\n/** @type {number} */\\nMutationEvent.prototype.attrChange;\\n\\n/**\\n * @param {string} typeArg\\n * @param {boolean} canBubbleArg\\n * @param {boolean} cancelableArg\\n * @param {Node} relatedNodeArg\\n * @param {string} prevValueArg\\n * @param {string} newValueArg\\n * @param {string} attrNameArg\\n * @param {number} attrChangeArg\\n * @return {undefined}\\n */\\nMutationEvent.prototype.initMutationEvent = function(typeArg, canBubbleArg, cancelableArg, relatedNodeArg, prevValueArg, newValueArg, attrNameArg, attrChangeArg) {};\\n\\n\\n// DOM3\\n/**\\n * @typedef {{\\n *   bubbles: (boolean|undefined),\\n *   cancelable: (boolean|undefined),\\n *   view: (Window|undefined),\\n *   detail: (number|undefined),\\n *   char: (string|undefined),\\n *   key: (string|undefined),\\n *   code: (string|undefined),\\n *   location: (number|undefined),\\n *   ctrlKey: (boolean|undefined),\\n *   shiftKey: (boolean|undefined),\\n *   altKey: (boolean|undefined),\\n *   metaKey: (boolean|undefined),\\n *   repeat: (boolean|undefined),\\n *   locale: (string|undefined)\\n * }}\\n */\\nvar KeyboardEventInit;\\n\\n/**\\n * @constructor\\n * @extends {UIEvent}\\n * @param {string} type\\n * @param {KeyboardEventInit=} opt_eventInitDict\\n */\\nfunction KeyboardEvent(type, opt_eventInitDict) {}\\n\\n/** @type {string} */\\nKeyboardEvent.prototype.keyIdentifier;\\n\\n/** @type {boolean} */\\nKeyboardEvent.prototype.ctrlKey;\\n\\n/** @type {boolean} */\\nKeyboardEvent.prototype.shiftKey;\\n\\n/** @type {boolean} */\\nKeyboardEvent.prototype.altKey;\\n\\n/** @type {boolean} */\\nKeyboardEvent.prototype.metaKey;\\n\\n/**\\n * @param {string} keyIdentifierArg\\n * @return {boolean}\\n */\\nKeyboardEvent.prototype.getModifierState = function(keyIdentifierArg) {};\\n\\n/**\\n * @typedef {{\\n *   bubbles: (boolean|undefined),\\n *   cancelable: (boolean|undefined),\\n *   view: (Window|undefined),\\n *   detail: (number|undefined),\\n *   relatedTarget: (EventTarget|undefined)\\n * }}\\n */\\nvar FocusEventInit;\\n\\n\\n/**\\n * The FocusEvent interface provides specific contextual information associated\\n * with Focus events.\\n * http://www.w3.org/TR/DOM-Level-3-Events/#events-focusevent\\n *\\n * @constructor\\n * @extends {UIEvent}\\n * @param {string} type\\n * @param {FocusEventInit=} opt_eventInitDict\\n */\\nfunction FocusEvent(type, opt_eventInitDict) {}\\n\\n/** @type {EventTarget} */\\nFocusEvent.prototype.relatedTarget;\\n\\n\\n/**\\n * See https://dom.spec.whatwg.org/#dictdef-eventlisteneroptions\\n * @record\\n */\\nvar EventListenerOptions = function() {};\\n\\n/** @type {boolean|undefined} */\\nEventListenerOptions.prototype.capture;\\n\\n/**\\n * See https://dom.spec.whatwg.org/#dictdef-addeventlisteneroptions\\n * @record\\n * @extends {EventListenerOptions}\\n */\\nvar AddEventListenerOptions = function() {};\\n\\n/** @type {boolean|undefined} */\\nAddEventListenerOptions.prototype.passive;\\n\\n/** @type {boolean|undefined} */\\nAddEventListenerOptions.prototype.once;\\n","externs/w3c_event3.js":"/*\\n * Copyright 2010 The Closure Compiler Authors\\n *\\n * Licensed under the Apache License, Version 2.0 (the \\"License\\");\\n * you may not use this file except in compliance with the License.\\n * You may obtain a copy of the License at\\n *\\n *     http://www.apache.org/licenses/LICENSE-2.0\\n *\\n * Unless required by applicable law or agreed to in writing, software\\n * distributed under the License is distributed on an \\"AS IS\\" BASIS,\\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\\n * See the License for the specific language governing permissions and\\n * limitations under the License.\\n */\\n\\n/**\\n * @fileoverview Definitions for W3C\'s event Level 3 specification.\\n *  This file depends on w3c_event.js.\\n *  The whole file has been partially type annotated.\\n *  Created from\\n *   http://www.w3.org/TR/DOM-Level-3-Events/#ecma-script-binding-ecma-binding\\n *\\n * @externs\\n * @author ericdingle@google.com (Eric Dingle)\\n */\\n\\n/**\\n * @param {string} typeArg\\n * @param {boolean} canBubbleArg\\n * @param {boolean} cancelableArg\\n * @param {Window} viewArg\\n * @param {string} keyIdentifierArg\\n * @param {number} keyLocationArg\\n * @param {string} modifiersList\\n * @return {undefined}\\n */\\nKeyboardEvent.prototype.initKeyboardEvent = function(typeArg, canBubbleArg, cancelableArg, viewArg, keyIdentifierArg, keyLocationArg, modifiersList) {};\\n\\n/** @type {string} */\\nKeyboardEvent.prototype.char;\\n\\n/** @type {string} */\\nKeyboardEvent.prototype.code;\\n\\n/** @type {string} */\\nKeyboardEvent.prototype.key;\\n\\n/** @type {number} */\\nKeyboardEvent.prototype.location;\\n\\n/** @type {boolean} */\\nKeyboardEvent.prototype.repeat;\\n\\n/** @type {string} */\\nKeyboardEvent.prototype.locale;\\n\\n/** @type {number} */\\nMouseEvent.prototype.buttons;\\n\\n/**\\n * @param {string} keyIdentifierArg\\n * @return {boolean}\\n */\\nMouseEvent.prototype.getModifierState = function(keyIdentifierArg) {};\\n\\n/** @type {boolean} */\\nEvent.prototype.defaultPrevented;\\n\\n/** @type {string} */\\nEvent.prototype.namespaceURI;\\n\\n/** @return {undefined} */\\nEvent.prototype.stopImmediatePropagation = function() {};\\n","externs/gecko_event.js":"/*\\n * Copyright 2008 The Closure Compiler Authors\\n *\\n * Licensed under the Apache License, Version 2.0 (the \\"License\\");\\n * you may not use this file except in compliance with the License.\\n * You may obtain a copy of the License at\\n *\\n *     http://www.apache.org/licenses/LICENSE-2.0\\n *\\n * Unless required by applicable law or agreed to in writing, software\\n * distributed under the License is distributed on an \\"AS IS\\" BASIS,\\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\\n * See the License for the specific language governing permissions and\\n * limitations under the License.\\n */\\n\\n/**\\n * @fileoverview Definitions for all the extensions over\\n *  W3C\'s event specification by Gecko. This file depends on\\n *  w3c_event.js.\\n *\\n * @externs\\n * @author acleung@google.com (Alan Leung)\\n */\\n\\n// TODO: Almost all of it has not been annotated with types.\\n\\n/** @type {number} */ Event.prototype.HORIZONTAL_AXIS;\\n/** @type {number} */ Event.prototype.VERTICAL_AXIS;\\n/** @type {boolean} */ Event.prototype.altKey;\\n/** @type {number} */ Event.prototype.axis;\\n/** @type {number} */ Event.prototype.button;\\n/** @type {boolean} */ Event.prototype.cancelBubble;\\n/** @type {number} */ Event.prototype.charCode;\\n/** @type {number} */ Event.prototype.clientX;\\n/** @type {number} */ Event.prototype.clientY;\\n/** @type {boolean} */ Event.prototype.ctrlKey;\\n/** @type {EventTarget} */ Event.prototype.explicitOriginalTarget;\\n/** @type {boolean} */ Event.prototype.isChar;\\n/** @type {boolean} */ Event.prototype.isTrusted;\\n/** @type {number} */ Event.prototype.keyCode;\\n/** @type {number} */ Event.prototype.layerX;\\n/** @type {number} */ Event.prototype.layerY;\\n/** @type {boolean} */ Event.prototype.metaKey;\\n/** @type {EventTarget} */ Event.prototype.originalTarget;\\n/** @type {number} */ Event.prototype.pageX;\\n/** @type {number} */ Event.prototype.pageY;\\n/** @type {EventTarget|undefined} */ Event.prototype.relatedTarget;\\n/** @type {number} */ Event.prototype.screenX;\\n/** @type {number} */ Event.prototype.screenY;\\n/** @type {boolean} */ Event.prototype.shiftKey;\\n/** @type {Window} */ Event.prototype.view;\\n/** @type {number} */ Event.prototype.which;\\n\\n/** @constructor */ function nsIDOMPageTransitionEvent() {}\\n/** @type {boolean} */ nsIDOMPageTransitionEvent.prototype.persisted;\\n\\n//Methods\\nEvent.prototype.initKeyEvent;\\nEvent.prototype.initMouseEvent;\\nEvent.prototype.initUIEvent;\\nEvent.prototype.initMessageEvent;\\nEvent.prototype.preventBubble;\\nEvent.prototype.preventCapture;\\n","externs/ie_event.js":"/*\\n * Copyright 2008 The Closure Compiler Authors\\n *\\n * Licensed under the Apache License, Version 2.0 (the \\"License\\");\\n * you may not use this file except in compliance with the License.\\n * You may obtain a copy of the License at\\n *\\n *     http://www.apache.org/licenses/LICENSE-2.0\\n *\\n * Unless required by applicable law or agreed to in writing, software\\n * distributed under the License is distributed on an \\"AS IS\\" BASIS,\\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\\n * See the License for the specific language governing permissions and\\n * limitations under the License.\\n */\\n\\n/**\\n * @fileoverview Definitions for all the extensions over the\\n *  W3C\'s event specification by IE in JScript. This file depends on\\n *  w3c_event.js.\\n *\\n * @see http://msdn.microsoft.com/en-us/library/ms535863.aspx\\n * @externs\\n * @author acleung@google.com (Alan Leung)\\n */\\n\\n/** @type {string} */\\nEvent.prototype.Abstract;\\n\\n/** @type {boolean} */\\nEvent.prototype.altLeft;\\n\\n/** @type {string} */\\nEvent.prototype.Banner;\\n\\n/**\\n * A ClipboardData on IE, but a DataTransfer on WebKit.\\n * @see http://msdn.microsoft.com/en-us/library/ms535220.aspx\\n * @type {(ClipboardData|undefined)}\\n */\\nEvent.prototype.clipboardData;\\n\\n/** @type {boolean} */\\nEvent.prototype.contentOverflow;\\n\\n/** @type {boolean} */\\nEvent.prototype.ctrlLeft;\\n\\n/** @type {string} */\\nEvent.prototype.dataFld;\\n\\nEvent.prototype.domain;\\n\\n/** @type {Element} */\\nEvent.prototype.fromElement;\\n\\n/** @type {string} */\\nEvent.prototype.MoreInfo;\\n\\n/** @type {string} */\\nEvent.prototype.nextPage;\\n\\n/** @type {number} */\\nEvent.prototype.offsetX;\\n\\n/** @type {number} */\\nEvent.prototype.offsetY;\\n\\n/** @type {string} */\\nEvent.prototype.propertyName;\\n\\n/** @type {string} */\\nEvent.prototype.qualifier;\\n\\n/** @type {number} */\\nEvent.prototype.reason;\\n\\n/** @type {Object<*>} */\\nEvent.prototype.recordset;\\n\\n/** @type {boolean} */\\nEvent.prototype.repeat;\\n\\n/** @type {(boolean|string|undefined)} */\\nEvent.prototype.returnValue;\\n\\n/** @type {string} */\\nEvent.prototype.saveType;\\n\\nEvent.prototype.scheme;\\n\\n/** @type {boolean} */\\nEvent.prototype.shiftLeft;\\n\\n/** @type {Window} */\\nEvent.prototype.source;\\n\\n/** @type {Element} */\\nEvent.prototype.srcElement;\\n\\nEvent.prototype.srcFilter;\\n\\n/** @type {string} */\\nEvent.prototype.srcUrn;\\n\\n/** @type {Element} */\\nEvent.prototype.toElement;\\n\\nEvent.prototype.userName;\\n\\n/** @type {number} */\\nEvent.prototype.wheelDelta;\\n\\n/** @type {number} */\\nEvent.prototype.x;\\n\\n/** @type {number} */\\nEvent.prototype.y;\\n\\n/**\\n * @constructor\\n * @see http://msdn.microsoft.com/en-us/library/windows/apps/hh441257.aspx\\n */\\nfunction MSPointerPoint() {}\\n\\n/** @type {number} */\\nMSPointerPoint.prototype.pointerId;\\n\\n/** @type {number} */\\nMSPointerPoint.prototype.pointerType;\\n\\n/**\\n * @constructor\\n * @extends {Event}\\n * @see http://msdn.microsoft.com/en-us/library/windows/apps/hh441233.aspx\\n */\\nfunction MSPointerEvent() {}\\n\\n/** @type {number} */\\nMSPointerEvent.MSPOINTER_TYPE_MOUSE;\\n\\n/** @type {number} */\\nMSPointerEvent.MSPOINTER_TYPE_PEN;\\n\\n/** @type {number} */\\nMSPointerEvent.MSPOINTER_TYPE_TOUCH;\\n\\n/** @type {number} */\\nMSPointerEvent.prototype.height;\\n\\n/** @type {number} */\\nMSPointerEvent.prototype.hwTimestamp;\\n\\n/** @type {boolean} */\\nMSPointerEvent.prototype.isPrima';
a.a+='ry;\\n\\n/** @type {number} */\\nMSPointerEvent.prototype.pointerId;\\n\\n/** @type {number} */\\nMSPointerEvent.prototype.pointerType;\\n\\n/** @type {number} */\\nMSPointerEvent.prototype.pressure;\\n\\n/** @type {number} */\\nMSPointerEvent.prototype.rotation;\\n\\n/** @type {number} */\\nMSPointerEvent.prototype.tiltX;\\n\\n/** @type {number} */\\nMSPointerEvent.prototype.tiltY;\\n\\n/** @type {number} */\\nMSPointerEvent.prototype.timeStamp;\\n\\n/** @type {number} */\\nMSPointerEvent.prototype.width;\\n\\n/**\\n * @param {number} pointerId\\n * @return {undefined}\\n */\\nMSPointerEvent.prototype.msReleasePointerCapture;\\n\\n/**\\n * @param {number} pointerId\\n * @return {undefined}\\n */\\nMSPointerEvent.prototype.msSetPointerCapture;\\n\\n/**\\n * @param {string} typeArg\\n * @param {boolean} canBubbleArg\\n * @param {boolean} cancelableArg\\n * @param {Window} viewArg\\n * @param {number} detailArg\\n * @param {number} screenXArg\\n * @param {number} screenYArg\\n * @param {number} clientXArg\\n * @param {number} clientYArg\\n * @param {boolean} ctrlKeyArg\\n * @param {boolean} altKeyArg\\n * @param {boolean} shiftKeyArg\\n * @param {boolean} metaKeyArg\\n * @param {number} buttonArg\\n * @param {Element} relatedTargetArg\\n * @param {number} offsetXArg\\n * @param {number} offsetYArg\\n * @param {number} widthArg\\n * @param {number} heightArg\\n * @param {number} pressure\\n * @param {number} rotation\\n * @param {number} tiltX\\n * @param {number} tiltY\\n * @param {number} pointerIdArg\\n * @param {number} pointerType\\n * @param {number} hwTimestampArg\\n * @param {boolean} isPrimary\\n * @return {undefined}\\n * @see http://msdn.microsoft.com/en-us/library/windows/apps/hh441246.aspx\\n */\\nMSPointerEvent.prototype.initPointerEvent;\\n\\n/**\\n * @constructor\\n * @see http://msdn.microsoft.com/en-us/library/ie/hh968249(v=vs.85).aspx\\n */\\nfunction MSGesture() {}\\n\\n/**\\n * @type {Element}\\n */\\nMSGesture.prototype.target;\\n\\n/**\\n * @param {number} pointerId\\n * @return {undefined}\\n */\\nMSGesture.prototype.addPointer = function(pointerId) {};\\n\\nMSGesture.prototype.stop = function() {};\\n\\n/**\\n * @constructor\\n * @extends {Event}\\n * @see http://msdn.microsoft.com/en-us/library/ie/hh772076(v=vs.85).aspx\\n */\\nfunction MSGestureEvent() {}\\n\\n/** @type {number} */\\nMSGestureEvent.prototype.expansion;\\n\\n/** @type {!MSGesture} */\\nMSGestureEvent.prototype.gestureObject;\\n\\n/** @type {number} */\\nMSGestureEvent.prototype.hwTimestamp;\\n\\n/** @type {number} */\\nMSGestureEvent.prototype.rotation;\\n\\n/** @type {number} */\\nMSGestureEvent.prototype.scale;\\n\\n/** @type {number} */\\nMSGestureEvent.prototype.translationX;\\n\\n/** @type {number} */\\nMSGestureEvent.prototype.translationY;\\n\\n/** @type {number} */\\nMSGestureEvent.prototype.velocityAngular;\\n\\n/** @type {number} */\\nMSGestureEvent.prototype.velocityExpansion;\\n\\n/** @type {number} */\\nMSGestureEvent.prototype.velocityX;\\n\\n/** @type {number} */\\nMSGestureEvent.prototype.velocityY;\\n\\n/**\\n * @param {string} typeArg\\n * @param {boolean} canBubbleArg\\n * @param {boolean} cancelableArg\\n * @param {Window} viewArg\\n * @param {number} detailArg\\n * @param {number} screenXArg\\n * @param {number} screenYArg\\n * @param {number} clientXArg\\n * @param {number} clientYArg\\n * @param {number} offsetXArg\\n * @param {number} offsetYArg\\n * @param {number} translationXArg\\n * @param {number} translationYArg\\n * @param {number} scaleArg\\n * @param {number} expansionArg\\n * @param {number} rotationArg\\n * @param {number} velocityXArg\\n * @param {number} velocityYArg\\n * @param {number} velocityExpansionArg\\n * @param {number} velocityAngularArg\\n * @param {number} hwTimestampArg\\n * @param {EventTarget} relatedTargetArg\\n * @return {undefined}\\n * @see http://msdn.microsoft.com/en-us/library/windows/apps/hh441187.aspx\\n */\\nMSGestureEvent.prototype.initGestureEvent;\\n","externs/webkit_event.js":"/*\\n * Copyright 2009 The Closure Compiler Authors\\n *\\n * Licensed under the Apache License, Version 2.0 (the \\"License\\");\\n * you may not use this file except in compliance with the License.\\n * You may obtain a copy of the License at\\n *\\n *     http://www.apache.org/licenses/LICENSE-2.0\\n *\\n * Unless required by applicable law or agreed to in writing, software\\n * distributed under the License is distributed on an \\"AS IS\\" BASIS,\\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\\n * See the License for the specific language governing permissions and\\n * limitations under the License.\\n */\\n\\n/**\\n * @fileoverview Definitions for all the extensions over W3C\'s\\n *  event specification by WebKit. This file depends on w3c_event.js.\\n *  All the provided definitions have been type annotated\\n *\\n * @externs\\n * @author djlee@google.com (DJ Lee)\\n */\\n\\n/** @type {number} */\\nEvent.prototype.wheelDeltaX;\\n\\n/** @type {number} */\\nEvent.prototype.wheelDeltaY;\\n\\n/**\\n * @constructor\\n * @extends {Event}\\n * @see http://developer.apple.com/library/safari/documentation/AudioVideo/Reference/WebKitAnimationEventClassReference/WebKitAnimationEvent/WebKitAnimationEvent.html\\n */\\nfunction WebKitAnimationEvent() {}\\n\\n/**\\n * @type {string}\\n * @const\\n */\\nWebKitAnimationEvent.prototype.animationName;\\n\\n/**\\n * @type {number}\\n * @const\\n */\\nWebKitAnimationEvent.prototype.elapsedTime;","externs/w3c_device_sensor_event.js":"/*\\n * Copyright 2013 The Closure Compiler Authors\\n *\\n * Licensed under the Apache License, Version 2.0 (the \\"License\\");\\n * you may not use this file except in compliance with the License.\\n * You may obtain a copy of the License at\\n *\\n *     http://www.apache.org/licenses/LICENSE-2.0\\n *\\n * Unless required by applicable law or agreed to in writing, software\\n * distributed under the License is distributed on an \\"AS IS\\" BASIS,\\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\\n * See the License for the specific language governing permissions and\\n * limitations under the License.\\n */\\n\\n/**\\n * @fileoverview Definitions for W3C\'s device orientation and device motion\\n *  events specification.\\n *  This file depends on w3c_event.js.\\n *  The whole file has been partially type annotated.\\n *  Created from http://dev.w3.org/geo/api/spec-source-orientation.\\n *\\n * @externs\\n * @author lukaszbk@google.com (Lukasz Bieniasz-Krzywiec)\\n */\\n\\n/**\\n * @constructor\\n * @extends {Event}\\n */\\nfunction DeviceOrientationEvent() {}\\n\\n/** @type {?number} */\\nDeviceOrientationEvent.prototype.alpha;\\n\\n/** @type {?number} */\\nDeviceOrientationEvent.prototype.beta;\\n\\n/** @type {?number} */\\nDeviceOrientationEvent.prototype.gamma;\\n\\n/** @type {boolean} */\\nDeviceOrientationEvent.prototype.absolute;\\n\\n/**\\n * @type {?number}\\n * @see https://developer.apple.com/library/safari/documentation/SafariDOMAdditions/Reference/DeviceOrientationEventClassRef/DeviceOrientationEvent/DeviceOrientationEvent.html#//apple_ref/javascript/instp/DeviceOrientationEvent/webkitCompassAccuracy\\n */\\nDeviceOrientationEvent.prototype.webkitCompassAccuracy;\\n\\n/**\\n * @type {?number}\\n * @see https://developer.apple.com/library/safari/documentation/SafariDOMAdditions/Reference/DeviceOrientationEventClassRef/DeviceOrientationEvent/DeviceOrientationEvent.html#//apple_ref/javascript/instp/DeviceOrientationEvent/webkitCompassHeading\\n */\\nDeviceOrientationEvent.prototype.webkitCompassHeading;\\n\\n/**\\n * @constructor\\n */\\nfunction DeviceAcceleration() {}\\n\\n/** @type {?number} */\\nDeviceAcceleration.prototype.x;\\n\\n/** @type {?number} */\\nDeviceAcceleration.prototype.y;\\n\\n/** @type {?number} */\\nDeviceAcceleration.prototype.z;\\n\\n/**\\n * @constructor\\n */\\nfunction DeviceRotationRate() {}\\n\\n/** @type {?number} */\\nDeviceRotationRate.prototype.alpha;\\n\\n/** @type {?number} */\\nDeviceRotationRate.prototype.beta;\\n\\n/** @type {?number} */\\nDeviceRotationRate.prototype.gamma;\\n\\n/**\\n * @constructor\\n * @extends {Event}\\n */\\nfunction DeviceMotionEvent() {}\\n\\n/** @type {?DeviceAcceleration} */\\nDeviceMotionEvent.prototype.acceleration;\\n\\n/** @type {?DeviceAcceleration} */\\nDeviceMotionEvent.prototype.accelerationIncludingGravity;\\n\\n/** @type {?DeviceRotationRate} */\\nDeviceMotionEvent.prototype.rotationRate;\\n\\n/** @type {?number} */\\nDeviceMotionEvent.prototype.interval;\\n","externs/w3c_dom1.js":"/*\\n * Copyright 2008 The Closure Compiler Authors\\n *\\n * Licensed under the Apache License, Version 2.0 (the \\"License\\");\\n * you may not use this file except in compliance with the License.\\n * You may obtain a copy of the License at\\n *\\n *     http://www.apache.org/licenses/LICENSE-2.0\\n *\\n * Unless required by applicable law or agreed to in writing, software\\n * distributed under the License is distributed on an \\"AS IS\\" BASIS,\\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\\n * See the License for the specific language governing permissions and\\n * limitations under the License.\\n */\\n\\n/**\\n * @fileoverview Definitions for W3C\'s DOM Level 1 specification.\\n *  The whole file has been fully type annotated. Created from\\n *  http://www.w3.org/TR/REC-DOM-Level-1/ecma-script-language-binding.html\\n *\\n * @externs\\n * @author acleung@google.com (Alan Leung)\\n * @author stevey@google.com (Steve Yegge)\\n */\\n\\n/**\\n * @constructor\\n * @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core.html#ID-17189187\\n */\\nfunction DOMException() {}\\n\\n/**\\n * @type {number}\\n * @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core.html#ID-258A00AF\\n */\\nDOMException.INDEX_SIZE_ERR = 1;\\n\\n/**\\n * @type {number}\\n * @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core.html#ID-258A00AF\\n */\\nDOMException.DOMSTRING_SIZE_ERR = 2;\\n\\n/**\\n * @type {number}\\n * @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core.html#ID-258A00AF\\n */\\nDOMException.HIERARCHY_REQUEST_ERR = 3;\\n\\n/**\\n * @type {number}\\n * @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core.html#ID-258A00AF\\n */\\nDOMException.WRONG_DOCUMENT_ERR = 4;\\n\\n/**\\n * @type {number}\\n * @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core.html#ID-258A00AF\\n */\\nDOMException.INVALID_CHARACTER_ERR = 5;\\n\\n/**\\n * @type {number}\\n * @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core.html#ID-258A00AF\\n */\\nDOMException.NO_DATA_ALLOWED_ERR = 6;\\n\\n/**\\n * @type {number}\\n * @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core.html#ID-258A00AF\\n */\\nDOMException.NO_MODIFICATION_ALLOWED_ERR = 7;\\n\\n/**\\n * @type {number}\\n * @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core.html#ID-258A00AF\\n */\\nDOMException.NOT_FOUND_ERR = 8;\\n\\n/**\\n * @type {number}\\n * @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core.html#ID-258A00AF\\n */\\nDOMException.NOT_SUPPORTED_ERR = 9;\\n\\n/**\\n * @type {number}\\n * @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core.html#ID-258A00AF\\n */\\nDOMException.INUSE_ATTRIBUTE_ERR = 10;\\n\\n/**\\n * @constructor\\n * @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core.html#ID-258A00AF\\n */\\nfunction ExceptionCode() {}\\n\\n/**\\n * @constructor\\n * @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core.html#ID-102161490\\n */\\nfunction DOMImplementation() {}\\n\\n/**\\n * @param {string} feature\\n * @param {string} version\\n * @return {boolean}\\n * @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core.html#ID-5CED94D7\\n * @nosideeffects\\n */\\nDOMImplementation.prototype.hasFeature = function(feature, version) {};\\n\\n/**\\n * @constructor\\n * @implements {EventTarget}\\n * @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core.html#ID-1950641247\\n */\\nfunction Node() {}\\n\\n/**\\n * @param {boolean=} opt_useCapture\\n * @override\\n * @return {undefined}\\n */\\nNode.prototype.addEventListener = function(type, listener, opt_useCapture) {};\\n\\n/**\\n * @param {boolean=} opt_useCapture\\n * @override\\n * @return {undefined}\\n */\\nNode.prototype.removeEventListener = function(type, listener, opt_useCapture) {};\\n\\n/**\\n * @override\\n * @return {boolean}\\n */\\nNode.prototype.dispatchEvent = function(evt) {};\\n\\n/**\\n * @type {NamedNodeMap<!Attr>}\\n * @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core.html#attribute-attributes\\n */\\nNode.prototype.attributes;\\n\\n/**\\n * @type {!NodeList<!Node>}\\n * @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core.html#attribute-childNodes\\n */\\nNode.prototype.childNodes;\\n\\n/**\\n * @type {Node}\\n * @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core.html#attribute-firstChild\\n */\\nNode.prototype.firstChild;\\n\\n/**\\n * @type {Node}\\n * @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core.html#attribute-lastChild\\n */\\nNode.prototype.lastChild;\\n\\n/**\\n * @type {Node}\\n * @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core.html#attribute-nextSibling\\n */\\nNode.prototype.nextSibling;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core.html#attribute-nodeName\\n */\\nNode.prototype.nodeName;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core.html#attribute-nodeValue\\n */\\nNode.prototype.nodeValue;\\n\\n/**\\n * @type {number}\\n * @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core.html#attribute-nodeType\\n */\\nNode.prototype.nodeType;\\n\\n/**\\n * @type {Document}\\n * @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core.html#attribute-ownerDocument\\n */\\nNode.prototype.ownerDocument;\\n\\n/**\\n * @type {Node}\\n * @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core.html#attribute-parentNode\\n */\\nNode.prototype.parentNode;\\n\\n/**\\n * @type {Node}\\n * @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core.html#attribute-previousSibling\\n */\\nNode.prototype.previousSibling;\\n\\n/**\\n * @param {Node} newChild\\n * @return {Node}\\n * @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core.html#method-appendChild\\n */\\nNode.prototype.appendChild = function(newChild) {};\\n\\n/**\\n * @param {boolean} deep\\n * @return {!Node}\\n * @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core.html#method-cloneNode\\n * @nosideeffects\\n */\\nNode.prototype.cloneNode = function(deep) {};\\n\\n/**\\n * @return {boolean}\\n * @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core.html#method-hasChildNodes\\n * @nosideeffects\\n */\\nNode.prototype.hasChildNodes = function() {};\\n\\n/**\\n * @param {Node} newChild\\n * @param {Node} refChild\\n * @return {!Node}\\n * @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core.html#method-insertBefore\\n */\\nNode.prototype.insertBefore = function(newChild, refChild) {};\\n\\n/**\\n * @param {Node} oldChild\\n * @return {!Node}\\n * @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core.html#method-removeChild\\n */\\nNode.prototype.removeChild = function(oldChild) {};\\n\\n/**\\n * @param {Node} newChild\\n * @param {Node} oldChild\\n * @return {!Node}\\n * @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core.html#method-replaceChild\\n */\\nNode.prototype.replaceChild = function(newChild, oldChild) {};\\n\\n/**\\n * @type {number}\\n * @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core.html#ID-1950641247\\n */\\nNode.ATTRIBUTE_NODE;\\n\\n/**\\n * @type {number}\\n * @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core.html#ID-1950641247\\n */\\nNode.CDATA_SECTION_NODE;\\n\\n/**\\n * @type {number}\\n * @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core.html#ID-1950641247\\n */\\nNode.COMMENT_NODE;\\n\\n/**\\n * @type {number}\\n * @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core.html#ID-1950641247\\n */\\nNode.DOCUMENT_FRAGMENT_NODE;\\n\\n/**\\n * @type {number}\\n * @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core.html#ID-1950641247\\n */\\nNode.DOCUMENT_NODE;\\n\\n/**\\n * @type {number}\\n * @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core.html#ID-1950641247\\n */\\nNode.DOCUMENT_TYPE_NODE;\\n\\n/**\\n * @type {number}\\n * @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core.html#ID-1950641247\\n */\\nNode.ELEMENT_NODE;\\n\\n/**\\n * @type {number}\\n * @see http://www.w';
a.a+="3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core.html#ID-1950641247\\n */\\nNode.ENTITY_NODE;\\n\\n/**\\n * @type {number}\\n * @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core.html#ID-1950641247\\n */\\nNode.ENTITY_REFERENCE_NODE;\\n\\n/**\\n * @type {number}\\n * @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core.html#ID-1950641247\\n */\\nNode.PROCESSING_INSTRUCTION_NODE;\\n\\n/**\\n * @type {number}\\n * @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core.html#ID-1950641247\\n */\\nNode.TEXT_NODE;\\n\\n/**\\n * @type {number}\\n * @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core.html#ID-1950641247\\n */\\nNode.XPATH_NAMESPACE_NODE;\\n\\n/**\\n * @type {number}\\n * @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core.html#ID-1950641247\\n */\\nNode.NOTATION_NODE;\\n\\n/**\\n * @constructor\\n * @extends {Node}\\n * @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core.html#ID-B63ED1A3\\n */\\nfunction DocumentFragment() {}\\n\\n/**\\n * @constructor\\n * @extends {Node}\\n * @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core.html#i-Document\\n */\\nfunction Document() {}\\n\\n/**\\n * @type {DocumentType}\\n * @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core.html#attribute-doctype\\n */\\nDocument.prototype.doctype;\\n\\n/**\\n * @type {!Element}\\n * @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core.html#attribute-documentElement\\n */\\nDocument.prototype.documentElement;\\n\\n/**\\n * @type {DOMImplementation}\\n * @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core.html#attribute-implementation\\n */\\nDocument.prototype.implementation;\\n\\n/**\\n * @param {string} name\\n * @return {!Attr}\\n * @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core.html#method-createAttribute\\n * @nosideeffects\\n */\\nDocument.prototype.createAttribute = function(name) {};\\n\\n/**\\n * @param {string} data\\n * @return {!Comment}\\n * @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core.html#method-createComment\\n * @nosideeffects\\n */\\nDocument.prototype.createComment = function(data) {};\\n\\n/**\\n * @param {string} data\\n * @return {!CDATASection}\\n * @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core.html#method-createCDATASection\\n * @nosideeffects\\n */\\nDocument.prototype.createCDATASection = function(data) {};\\n\\n/**\\n * @return {!DocumentFragment}\\n * @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core.html#method-createDocumentFragment\\n * @nosideeffects\\n */\\nDocument.prototype.createDocumentFragment = function() {};\\n\\n/**\\n * Create a DOM element.\\n *\\n * Web components introduced the second parameter as a way of extending existing\\n * tags (e.g. document.createElement('button', 'fancy-button')).\\n *\\n * @param {string} tagName\\n * @param {string=} opt_typeExtension\\n * @return {!Element}\\n * @nosideeffects\\n * @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core.html#method-createElement\\n * @see http://w3c.github.io/webcomponents/spec/custom/#extensions-to-document-interface-to-instantiate\\n */\\nDocument.prototype.createElement = function(tagName, opt_typeExtension) {};\\n\\n/**\\n * @param {string} name\\n * @return {!EntityReference}\\n * @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core.html#method-createEntityReference\\n * @nosideeffects\\n */\\nDocument.prototype.createEntityReference = function(name) {};\\n\\n/**\\n * @param {string} target\\n * @param {string} data\\n * @return {!ProcessingInstruction}\\n * @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core.html#method-createProcessingInstruction\\n * @nosideeffects\\n */\\nDocument.prototype.createProcessingInstruction = function(target, data) {};\\n\\n/**\\n * @param {number|string} data\\n * @return {!Text}\\n * @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core.html#method-createTextNode\\n * @nosideeffects\\n */\\nDocument.prototype.createTextNode = function(data) {};\\n\\n/**\\n * @param {string} tagname\\n * @return {!NodeList<!Element>}\\n * @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core.html#ID-A6C9094\\n * @nosideeffects\\n */\\nDocument.prototype.getElementsByTagName = function(tagname) {};\\n\\n/**\\n * @constructor\\n * @implements {IArrayLike<T>}\\n * @implements {Iterable<T>}\\n * @template T\\n * @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core.html#ID-536297177\\n */\\nfunction NodeList() {}\\n\\n/**\\n * @type {number}\\n * @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core.html#ID-203510337\\n */\\nNodeList.prototype.length;\\n\\n/**\\n * @param {number} index\\n * @return {T|null}\\n * @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core.html#ID-844377136\\n */\\nNodeList.prototype.item = function(index) {};\\n\\n/**\\n * @constructor\\n * @implements {IObject<(string|number), T>}\\n * @implements {IArrayLike<T>}\\n * @implements {Iterable<T>}\\n * @template T\\n * @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core.html#ID-1780488922\\n */\\nfunction NamedNodeMap() {}\\n\\n/**\\n * @type {number}\\n * @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core.html#ID-6D0FB19E\\n */\\nNamedNodeMap.prototype.length;\\n\\n/**\\n * @param {string} name\\n * @return {Node}\\n * @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core.html#ID-1074577549\\n * @nosideeffects\\n */\\nNamedNodeMap.prototype.getNamedItem = function(name) {};\\n\\n/**\\n * @param {number} index\\n * @return {Node}\\n * @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core.html#ID-349467F9\\n * @nosideeffects\\n */\\nNamedNodeMap.prototype.item = function(index) {};\\n\\n/**\\n * @param {string} name\\n * @return {Node}\\n * @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core.html#ID-D58B193\\n */\\nNamedNodeMap.prototype.removeNamedItem = function(name) {};\\n\\n/**\\n * @param {Node} arg\\n * @return {Node}\\n * @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core.html#ID-1025163788\\n */\\nNamedNodeMap.prototype.setNamedItem = function(arg) {};\\n\\n/**\\n * @constructor\\n * @extends {Node}\\n * @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core.html#ID-FF21A306\\n */\\nfunction CharacterData() {}\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core.html#ID-72AB8359\\n */\\nCharacterData.prototype.data;\\n\\n/**\\n * @type {number}\\n * @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core.html#ID-7D61178C\\n */\\nCharacterData.prototype.length;\\n\\n/**\\n * @param {string} arg\\n * @return {undefined}\\n * @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core.html#ID-32791A2F\\n */\\nCharacterData.prototype.appendData = function(arg) {};\\n\\n/**\\n * @param {number} offset\\n * @param {number} count\\n * @return {undefined}\\n * @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core.html#ID-7C603781\\n */\\nCharacterData.prototype.deleteData = function(offset, count) {};\\n\\n/**\\n * @param {number} offset\\n * @param {string} arg\\n * @return {undefined}\\n * @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core.html#ID-3EDB695F\\n */\\nCharacterData.prototype.insertData = function(offset, arg) {};\\n\\n/**\\n * @param {number} offset\\n * @param {number} count\\n * @param {string} arg\\n * @return {undefined}\\n * @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core.html#ID-E5CBA7FB\\n */\\nCharacterData.prototype.replaceData = function(offset, count, arg) {};\\n\\n/**\\n * @param {number} offset\\n * @param {number} count\\n * @return {string}\\n * @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core.html#ID-6531BCCF\\n * @nosideeffects\\n */\\nCharacterData.prototype.substringData = function(offset, count) {};\\n\\n/**\\n * @constructor\\n * @extends {Node}\\n * @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core.html#ID-637646024\\n */\\nfunction Attr() {}\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core.html#ID-1112119403\\n */\\nAttr.prototype.name;\\n\\n/**\\n * @type {boolean}\\n * @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core.html#ID-862529273\\n */\\nAttr.prototype.specified;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core.html#ID-221662474\\n */\\nAttr.prototype.value;\\n\\n/**\\n * @constructor\\n * @extends {Node}\\n * @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core.html#ID-745549614\\n */\\nfunction Element() {}\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core.html#attribute-tagName\\n */\\nElement.prototype.tagName;\\n\\n/**\\n * @implicitCast\\n * @type {?}\\n * @see https://developer.mozilla.org/en-US/docs/Web/API/Element/className\\n *    We type it as ? even though it is a string, because some SVG elements have\\n *    className that is an object, which isn't a subtype of string.\\n *    Alternative: TypeScript types this as string and types className on\\n *    SVGElement as ?.\\n */\\nElement.prototype.className;\\n\\n/**\\n * @param {string} name\\n * @param {number?=} opt_flags\\n * @return {string}\\n * @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core.html#method-getAttribute\\n * @see http://msdn.microsoft.com/en-us/library/ms536429(VS.85).aspx\\n * @nosideeffects\\n */\\nElement.prototype.getAttribute = function(name, opt_flags) {};\\n\\n/**\\n * @param {string} name\\n * @return {Attr}\\n * @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core.html#method-getAttributeNode\\n * @nosideeffects\\n */\\nElement.prototype.getAttributeNode = function(name) {};\\n\\n/**\\n * @param {string} tagname\\n * @return {!NodeList<!Element>}\\n * @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core.html#ID-1938918D\\n * @nosideeffects\\n */\\nElement.prototype.getElementsByTagName = function(tagname) {};\\n\\n/**\\n * @param {string} name\\n * @return {undefined}\\n * @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core.html#method-removeAttribute\\n */\\nElement.prototype.removeAttribute = function(name) {};\\n\\n/**\\n * @param {Attr} oldAttr\\n * @return {?Attr}\\n * @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core.html#method-removeAttributeNode\\n */\\nElement.prototype.removeAttributeNode = function(oldAttr) {};\\n\\n/**\\n * @param {string} name\\n * @param {string|number|boolean} value Values are converted to strings with\\n *     ToString, so we accept number and boolean since both convert easily to\\n *     strings.\\n * @return {undefined}\\n * @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core.html#method-setAttribute\\n */\\nElement.prototype.setAttribute = function(name, value) {};\\n\\n/**\\n * @param {Attr} newAttr\\n * @return {?Attr}\\n * @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core.html#method-setAttributeNode\\n */\\nElement.prototype.setAttributeNode = function(newAttr) {};\\n\\n// Event handlers\\n// The DOM level 3 spec has a good index of these\\n// http://www.w3.org/TR/DOM-Level-3-Events/#event-types\\n\\n/** @type {?function (Event)} */ Element.prototype.onabort;\\n/** @type {?function (Event)} */ Element.prototype.onbeforeinput;\\n/** @type {?function (Event)} */ Element.prototype.onbeforeunload;\\n/** @type {?function (Event)} */ Element.prototype.onblur;\\n/** @type {?function (Event)} */ Element.prototype.onchange;\\n/** @type {?function (Event)} */ Element.prototype.onclick;\\n/** @type {?function (Event)} */ Element.prototype.oncompositionstart;\\n/** @type {?function (Event)} */ Element.prototype.oncompositionupdate;\\n/** @type {?function (Event)} */ Element.prototype.oncompositionend;\\n/** @type {?function (Event)} */ Element.prototype.oncontextmenu;\\n/** @type {?function (Event)} */ Element.prototype.oncopy;\\n/** @type {?function (Event)} */ Element.prototype.oncut;\\n/** @type {?function (Event)} */ Element.prototype.ondblclick;\\n/** @type {?function (Event)} */ Element.prototype.onerror;\\n/** @type {?function (Event)} */ Element.prototype.onfocus;\\n/** @type {?function (Event)} */ Element.prototype.onfocusin;\\n/** @type {?function (Event)} */ Element.prototype.onfocusout;\\n/** @type {?function (Event)} */ Element.prototype.oninput;\\n/** @type {?function (Event)} */ Element.prototype.onkeydown;\\n/** @type {?function (Event)} */ Element.prototype.onkeypress;\\n/** @type {?function (Event)} */ Element.prototype.onkeyup;\\n/** @type {?function (Event)} */ Element.prototype.onload;\\n/** @type {?function (Event)} */ Element.prototype.onunload;\\n/** @type {?function (Event)} */ Element.prototype.onmousedown;\\n/** @type {?function (Event)} */ Element.prototype.onmousemove;\\n/** @type {?function (Event)} */ Element.prototype.onmouseout;\\n/** @type {?function (Event)} */ Element.prototype.onmouseover;\\n/** @type {?function (Event)} */ Element.prototype.onmouseup;\\n/** @type {?function (Event)} */ Element.prototype.onmousewheel;\\n/** @type {?function (Event)} */ Element.prototype.onpaste;\\n/** @type {?function (Event)} */ Element.prototype.onreset;\\n/** @type {?function (Event)} */ Element.prototype.onresize;\\n/** @type {?function (Event)} */ Element.prototype.onscroll;\\n/** @type {?function (Event)} */ Element.prototype.onselect;\\n/** @type {?function (Event=)} */ Element.prototype.onsubmit;\\n/** @type {?function (Event)} */ Element.prototype.ontextinput;\\n/** @type {?function (Event)} */ Element.prototype.onwheel;\\n\\n/**\\n * @constructor\\n * @extends {CharacterData}\\n * @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core.html#ID-1312295772\\n */\\nfunction Text() {}\\n\\n/**\\n * @param {number} offset\\n * @return {Text}\\n * @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core.html#ID-38853C1D\\n */\\nText.prototype.splitText = function(offset) {};\\n\\n/**\\n * @constructor\\n * @extends {CharacterData}\\n * @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core.html#ID-1728279322\\n */\\nfunction Comment() {}\\n\\n/**\\n * @constructor\\n * @extends {Text}\\n * @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core.html#ID-667469212\\n */\\nfunction CDATASection() {}\\n\\n/**\\n * @constructor\\n * @extends {Node}\\n * @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core.html#ID-412266927\\n */\\nfunction DocumentType() {}\\n\\n/**\\n * @type {NamedNodeMap<!Entity>}\\n * @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core.html#ID-1788794630\\n */\\nDocumentType.prototype.entities;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core.html#ID-1844763134\\n */\\nDocumentType.prototype.name;\\n\\n/**\\n * @type {NamedNodeMap<!Notation>}\\n * @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core.html#ID-D46829EF\\n */\\nDocumentType.prototype.notations;\\n\\n/**\\n * @constructor\\n * @extends {Node}\\n * @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core.html#ID-5431D1B9\\n */\\nfunction Notation() {}\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core.html#ID-54F2B4D0\\n */\\nNotation.prototype.publicId;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core.html#ID-E8AAB1D0\\n */\\nNotation.prototype.systemId;\\n\\n/**\\n * @constructor\\n * @extends {Node}\\n * @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core.html#ID-527DCFF2\\n */\\nfunction Entity() {}\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core.html#ID-D7303025\\n */\\nEntity.prototype.publicId;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core.html#ID-D7C29F3E\\n */\\nEntity.prototype.systemId;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core.html#ID-6ABAEB38\\n */\\nEntity.prototype.notationName;\\n\\n/**\\n * @constructor\\n * @extends {Node}\\n * @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core.html#ID-11C98490\\n */\\nfunction EntityReference() {}\\n\\n/**\\n * @constructor\\n * @extends {Node}\\n * @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core.html#ID-100";
a.a+='4215813\\n */\\nfunction ProcessingInstruction() {}\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core.html#ID-837822393\\n */\\nProcessingInstruction.prototype.data;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core.html#ID-1478689192\\n */\\nProcessingInstruction.prototype.target;\\n\\n\\n/**\\n * @constructor\\n * @implements {EventTarget}\\n */\\nfunction Window() {}\\nWindow.prototype.Window;\\n\\n/**\\n * @param {boolean=} opt_useCapture\\n * @override\\n * @return {undefined}\\n */\\nWindow.prototype.addEventListener = function(type, listener, opt_useCapture) {};\\n\\n/**\\n * @param {boolean=} opt_useCapture\\n * @override\\n * @return {undefined}\\n */\\nWindow.prototype.removeEventListener = function(type, listener, opt_useCapture)\\n    {};\\n\\n/**\\n * @override\\n * @return {boolean}\\n */\\nWindow.prototype.dispatchEvent = function(evt) {};\\n\\n/** @type {?function (Event)} */ Window.prototype.onabort;\\n/** @type {?function (Event)} */ Window.prototype.onbeforeunload;\\n/** @type {?function (Event)} */ Window.prototype.onblur;\\n/** @type {?function (Event)} */ Window.prototype.onchange;\\n/** @type {?function (Event)} */ Window.prototype.onclick;\\n/** @type {?function (Event)} */ Window.prototype.onclose;\\n/** @type {?function (Event)} */ Window.prototype.oncontextmenu;\\n/** @type {?function (Event)} */ Window.prototype.ondblclick;\\n/** @type {?function (Event)} */ Window.prototype.ondragdrop;\\n// onerror has a special signature.\\n// See https://developer.mozilla.org/en/DOM/window.onerror\\n// and http://msdn.microsoft.com/en-us/library/cc197053(VS.85).aspx\\n/** @type {?function (string, string, number)} */\\nWindow.prototype.onerror;\\n/** @type {?function (Event)} */ Window.prototype.onfocus;\\n/** @type {?function (Event)} */ Window.prototype.onhashchange;\\n/** @type {?function (Event)} */ Window.prototype.onkeydown;\\n/** @type {?function (Event)} */ Window.prototype.onkeypress;\\n/** @type {?function (Event)} */ Window.prototype.onkeyup;\\n/** @type {?function (Event)} */ Window.prototype.onload;\\n/** @type {?function (Event)} */ Window.prototype.onmousedown;\\n/** @type {?function (Event)} */ Window.prototype.onmousemove;\\n/** @type {?function (Event)} */ Window.prototype.onmouseout;\\n/** @type {?function (Event)} */ Window.prototype.onmouseover;\\n/** @type {?function (Event)} */ Window.prototype.onmouseup;\\n/** @type {?function (Event)} */ Window.prototype.onmousewheel;\\n/** @type {?function (Event)} */ Window.prototype.onpaint;\\n/** @type {?function (Event)} */ Window.prototype.onpopstate;\\n/** @type {?function (Event)} */ Window.prototype.onreset;\\n/** @type {?function (Event)} */ Window.prototype.onresize;\\n/** @type {?function (Event)} */ Window.prototype.onscroll;\\n/** @type {?function (Event)} */ Window.prototype.onselect;\\n/** @type {?function (Event=)} */ Window.prototype.onsubmit;\\n/** @type {?function (Event)} */ Window.prototype.onunload;\\n/** @type {?function (Event)} */ Window.prototype.onwheel;\\n","externs/w3c_dom2.js":"/*\\n * Copyright 2008 The Closure Compiler Authors\\n *\\n * Licensed under the Apache License, Version 2.0 (the \\"License\\");\\n * you may not use this file except in compliance with the License.\\n * You may obtain a copy of the License at\\n *\\n *     http://www.apache.org/licenses/LICENSE-2.0\\n *\\n * Unless required by applicable law or agreed to in writing, software\\n * distributed under the License is distributed on an \\"AS IS\\" BASIS,\\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\\n * See the License for the specific language governing permissions and\\n * limitations under the License.\\n */\\n\\n/**\\n * @fileoverview Definitions for W3C\'s DOM Level 2 specification.\\n *  This file depends on w3c_dom1.js.\\n *  The whole file has been fully type annotated.\\n *  Created from\\n *  http://www.w3.org/TR/REC-DOM-Level-1/ecma-script-language-binding.html\\n *\\n * @externs\\n */\\n\\n/**\\n * @param {string} s id.\\n * @return {Element}\\n * @nosideeffects\\n * @see https://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/core.html#ID-getElBId\\n */\\nDocument.prototype.getElementById = function(s) {};\\n\\n/**\\n * @param {?string} namespaceURI\\n * @param {string} qualifiedName\\n * @param {string=} opt_typeExtension\\n * @return {!Element}\\n * @see https://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/core.html#ID-DocCrElNS\\n */\\nDocument.prototype.createElementNS =\\n    function(namespaceURI, qualifiedName, opt_typeExtension) {};\\n\\n/**\\n * @param {?string} namespaceURI\\n * @param {string} qualifiedName\\n * @return {!Attr}\\n * @see https://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/core.html#ID-DocCrElNS\\n */\\nDocument.prototype.createAttributeNS =\\n    function(namespaceURI, qualifiedName) {};\\n\\n/**\\n * @param {string} namespace\\n * @param {string} name\\n * @return {!NodeList<!Element>}\\n * @nosideeffects\\n * @see https://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/core.html#ID-getElBTNNS\\n */\\nDocument.prototype.getElementsByTagNameNS = function(namespace, name) {};\\n\\n/**\\n * @param {Node} externalNode\\n * @param {boolean} deep\\n * @return {Node}\\n * @see https://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/core.html#Core-Document-importNode\\n */\\nDocument.prototype.importNode = function(externalNode, deep) {};\\n\\n/**\\n * @constructor\\n * @implements {IObject<(string|number),T>}\\n * @implements {IArrayLike<T>}\\n * @template T\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-75708506\\n */\\nfunction HTMLCollection() {}\\n\\n/**\\n * @type {number}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-40057551\\n */\\nHTMLCollection.prototype.length;\\n\\n/**\\n * @param {number} index\\n * @return {T|null}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-33262535\\n * @nosideeffects\\n */\\nHTMLCollection.prototype.item = function(index) {};\\n\\n/**\\n * @param {string} name\\n * @return {T|null}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-21069976\\n * @nosideeffects\\n */\\nHTMLCollection.prototype.namedItem = function(name) {};\\n\\n/**\\n * @constructor\\n * @implements {IObject<(string|number),HTMLOptionElement>}\\n * @implements {IArrayLike<!HTMLOptionElement>}\\n * @see http://www.w3.org/TR/DOM-Level-2-HTML/html.html#HTMLOptionsCollection\\n */\\nfunction HTMLOptionsCollection() {}\\n\\n/**\\n * @type {number}\\n * @see http://www.w3.org/TR/DOM-Level-2-HTML/html.html#HTMLOptionsCollection-length\\n */\\nHTMLOptionsCollection.prototype.length;\\n\\n/**\\n * @param {number} index\\n * @return {Node}\\n * @see http://www.w3.org/TR/DOM-Level-2-HTML/html.html#HTMLOptionsCollection-item\\n * @nosideeffects\\n */\\nHTMLOptionsCollection.prototype.item = function(index) {};\\n\\n/**\\n * @constructor\\n * @extends {Document}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-26809268\\n */\\nfunction HTMLDocument() {}\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-18446827\\n */\\nHTMLDocument.prototype.title;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-95229140\\n */\\nHTMLDocument.prototype.referrer;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-2250147\\n */\\nHTMLDocument.prototype.domain;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-46183437\\n */\\nHTMLDocument.prototype.URL;\\n\\n/**\\n * @type {HTMLBodyElement}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-56360201\\n */\\nHTMLDocument.prototype.body;\\n\\n/**\\n * @type {HTMLCollection<!HTMLImageElement>}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-90379117\\n */\\nHTMLDocument.prototype.images;\\n\\n/**\\n * @type {HTMLCollection<!HTMLAppletElement>}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-85113862\\n */\\nHTMLDocument.prototype.applets;\\n\\n/**\\n * @type {HTMLCollection<(!HTMLAnchorElement|!HTMLAreaElement)>}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-7068919\\n */\\nHTMLDocument.prototype.links;\\n\\n/**\\n * @type {HTMLCollection<!HTMLFormElement>}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-1689064\\n */\\nHTMLDocument.prototype.forms;\\n\\n/**\\n * @type {HTMLCollection<!HTMLAnchorElement>}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-7577272\\n */\\nHTMLDocument.prototype.anchors;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-8747038\\n */\\nHTMLDocument.prototype.cookie;\\n\\n/**\\n * @return {undefined}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-72161170\\n * @override\\n */\\nHTMLDocument.prototype.open = function() {};\\n\\n/**\\n * @return {undefined}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-98948567\\n * @override\\n */\\nHTMLDocument.prototype.close = function() {};\\n\\n/**\\n * @param {string} text\\n * @return {undefined}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-75233634\\n * @override\\n */\\nHTMLDocument.prototype.write = function(text) {};\\n\\n/**\\n * @param {string} text\\n * @return {undefined}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-35318390\\n * @override\\n */\\nHTMLDocument.prototype.writeln = function(text) {};\\n\\n/**\\n * @param {string} elementName\\n * @return {!NodeList<!Element>}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-71555259\\n * @nosideeffects\\n */\\nHTMLDocument.prototype.getElementsByName = function(elementName) {};\\n\\n/**\\n * @param {Node} root\\n * @param {number=} whatToShow\\n * @param {NodeFilter=} filter\\n * @param {boolean=} entityReferenceExpansion\\n * @return {!NodeIterator}\\n * @see http://www.w3.org/TR/DOM-Level-2-Traversal-Range/traversal.html#Traversal-Document\\n * @nosideeffects\\n */\\nHTMLDocument.prototype.createNodeIterator = function(\\n    root, whatToShow, filter, entityReferenceExpansion) {};\\n\\n/**\\n * @param {Node} root\\n * @param {number=} whatToShow\\n * @param {NodeFilter=} filter\\n * @param {boolean=} entityReferenceExpansion\\n * @return {!TreeWalker}\\n * @see http://www.w3.org/TR/DOM-Level-2-Traversal-Range/traversal.html#Traversal-Document\\n * @nosideeffects\\n */\\nHTMLDocument.prototype.createTreeWalker = function(\\n    root, whatToShow, filter, entityReferenceExpansion) {};\\n\\n\\n/** @typedef {{\\n  createNodeIterator: function(Node, number=, NodeFilter=, boolean=) : NodeIterator,\\n  createTreeWalker: function(Node, number=, NodeFilter=, boolean=) : TreeWalker\\n}} */\\nvar TraversalDocument;\\n\\n/**\\n * @interface\\n * @see http://www.w3.org/TR/DOM-Level-2-Traversal-Range/traversal.html#Traversal-NodeFilter\\n*/\\nfunction NodeFilter() {}\\n\\n/* Constants for whatToShow */\\n/** @const {number} */ NodeFilter.SHOW_ALL;\\n/** @const {number} */ NodeFilter.SHOW_ATTRIBUTE;\\n/** @const {number} */ NodeFilter.SHOW_CDATA_SECTION;\\n/** @const {number} */ NodeFilter.SHOW_COMMENT;\\n/** @const {number} */ NodeFilter.SHOW_DOCUMENT;\\n/** @const {number} */ NodeFilter.SHOW_DOCUMENT_FRAGMENT;\\n/** @const {number} */ NodeFilter.SHOW_DOCUMENT_TYPE;\\n/** @const {number} */ NodeFilter.SHOW_ELEMENT;\\n/** @const {number} */ NodeFilter.SHOW_ENTITY;\\n/** @const {number} */ NodeFilter.SHOW_ENTITY_REFERENCE;\\n/** @const {number} */ NodeFilter.SHOW_NOTATION;\\n/** @const {number} */ NodeFilter.SHOW_PROCESSING_INSTRUCTION;\\n/** @const {number} */ NodeFilter.SHOW_TEXT;\\n\\n/* Consants for acceptNode */\\n/** @const {number} */ NodeFilter.FILTER_ACCEPT;\\n/** @const {number} */ NodeFilter.FILTER_REJECT;\\n/** @const {number} */ NodeFilter.FILTER_SKIP;\\n\\n/**\\n * @param {Node} n\\n * @return {number} Any of NodeFilter.FILTER_* constants.\\n * @see http://www.w3.org/TR/DOM-Level-2-Traversal-Range/traversal.html#Traversal-NodeFilter-acceptNode\\n*/\\nNodeFilter.prototype.acceptNode = function(n) {};\\n\\n/**\\n * @interface\\n * @see http://www.w3.org/TR/DOM-Level-2-Traversal-Range/traversal.html#Traversal-NodeIterator\\n*/\\nfunction NodeIterator() {}\\n\\n/**\\n * Detach and invalidate the NodeIterator.\\n * @see http://www.w3.org/TR/DOM-Level-2-Traversal-Range/traversal.html#Traversal-NodeIterator-detach\\n * @return {undefined}\\n */\\nNodeIterator.prototype.detach = function() {};\\n\\n/**\\n * @return {Node} Next node in the set.\\n * @see http://www.w3.org/TR/DOM-Level-2-Traversal-Range/traversal.html#Traversal-NodeIterator-nextNode\\n */\\nNodeIterator.prototype.nextNode = function() {};\\n\\n/**\\n * @return {Node} Previous node in the set.\\n * @see http://www.w3.org/TR/DOM-Level-2-Traversal-Range/traversal.html#Traversal-NodeIterator-previousNode\\n */\\nNodeIterator.prototype.previousNode = function() {};\\n\\n/**\\n * @interface\\n * @see http://www.w3.org/TR/DOM-Level-2-Traversal-Range/traversal.html#Traversal-TreeWalker\\n*/\\nfunction TreeWalker() {}\\n\\n/**\\n * @return {?Node} The new Node or null.\\n * @see http://www.w3.org/TR/DOM-Level-2-Traversal-Range/traversal.html#Traversal-TreeWalker-firstChild\\n */\\nTreeWalker.prototype.firstChild = function() {};\\n\\n/**\\n * @return {?Node} The new Node or null..\\n * @see http://www.w3.org/TR/DOM-Level-2-Traversal-Range/traversal.html#Traversal-TreeWalker-lastChild\\n */\\nTreeWalker.prototype.lastChild = function() {};\\n\\n/**\\n * @return {?Node} The new Node or null.\\n * @see http://www.w3.org/TR/DOM-Level-2-Traversal-Range/traversal.html#Traversal-TreeWalker-nextNode\\n */\\nTreeWalker.prototype.nextNode = function() {};\\n\\n/**\\n * @return {?Node} The new Node or null.\\n * @see http://www.w3.org/TR/DOM-Level-2-Traversal-Range/traversal.html#Traversal-TreeWalker-nextSibling\\n */\\nTreeWalker.prototype.nextSibling = function() {};\\n\\n/**\\n * @return {?Node} The new Node or null.\\n * @see http://www.w3.org/TR/DOM-Level-2-Traversal-Range/traversal.html#Traversal-TreeWalker-parentNode\\n */\\nTreeWalker.prototype.parentNode = function() {};\\n\\n/**\\n * @return {?Node} The new Node or null.\\n * @see http://www.w3.org/TR/DOM-Level-2-Traversal-Range/traversal.html#Traversal-TreeWalker-previousNode\\n */\\nTreeWalker.prototype.previousNode = function() {};\\n\\n/**\\n * @return {?Node} The new Node or null.\\n * @see http://www.w3.org/TR/DOM-Level-2-Traversal-Range/traversal.html#Traversal-TreeWalker-previousSibling\\n */\\nTreeWalker.prototype.previousSibling = function() {};\\n\\n/**\\n * @type {Node}\\n */\\nTreeWalker.prototype.root;\\n\\n/**\\n * @type {number}\\n */\\nTreeWalker.prototype.whatToShow;\\n\\n/**\\n * @type {NodeFilter}\\n */\\nTreeWalker.prototype.filter;\\n\\n/**\\n * @type {boolean}\\n */\\nTreeWalker.prototype.expandEntityReference;\\n\\n/**\\n * @type {Node}\\n */\\nTreeWalker.prototype.currentNode;\\n\\n/**\\n * @constructor\\n * @extends {Element}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-58190037\\n */\\nfunction HTMLElement() {}\\n\\n/**\\n * @implicitCast\\n * @type {string}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-63534901\\n */\\nHTMLElement.prototype.id;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-78276800\\n */\\nHTMLElement.prototype.title;\\n\\n/**\\n * @type {!CSSStyleDeclaration}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-ElementCSSInlineStyle\\n */\\nHTMLElement.prototype.style;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-59132807\\n */\\nHTMLElement.prototype.lang;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-52460740\\n */\\nHTMLElement.prototype.dir;\\n\\n/**\\n * @implicitCast\\n * @type {string}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-95362176\\n */\\nHTMLElement.prototype.className;\\n\\n/**\\n * @type {number}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-40676705\\n */\\nHTMLElement.prototype.tabIndex;\\n\\n/**\\n * @constructor\\n * @extends {HTMLElement}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-33759296\\n */\\nfunction HTMLHtmlElement() {}\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-9383775\\n */\\nHTMLHtmlElement.prototype.version;\\n\\n/**\\n * @constructor\\n * @extends {HTMLElement}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-77';
a.a+="253168\\n */\\nfunction HTMLHeadElement() {}\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-96921909\\n */\\nHTMLHeadElement.prototype.profile;\\n\\n/**\\n * @constructor\\n * @extends {HTMLElement}\\n * @implements {LinkStyle}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-35143001\\n */\\nfunction HTMLLinkElement() {}\\n\\n/**\\n * @type {boolean}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-87355129\\n */\\nHTMLLinkElement.prototype.disabled;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-63954491\\n */\\nHTMLLinkElement.prototype.charset;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-33532588\\n */\\nHTMLLinkElement.prototype.href;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-85145682\\n */\\nHTMLLinkElement.prototype.hreflang;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-75813125\\n */\\nHTMLLinkElement.prototype.media;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-41369587\\n */\\nHTMLLinkElement.prototype.rel;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-40715461\\n */\\nHTMLLinkElement.prototype.rev;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-84183095\\n */\\nHTMLLinkElement.prototype.target;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-32498296\\n */\\nHTMLLinkElement.prototype.type;\\n\\n/** @type {StyleSheet} */\\nHTMLLinkElement.prototype.sheet;\\n\\n/**\\n * @constructor\\n * @extends {HTMLElement}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-79243169\\n */\\nfunction HTMLTitleElement() {}\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-77500413\\n */\\nHTMLTitleElement.prototype.text;\\n\\n/**\\n * @constructor\\n * @extends {HTMLElement}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-37041454\\n */\\nfunction HTMLMetaElement() {}\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-87670826\\n */\\nHTMLMetaElement.prototype.content;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-77289449\\n */\\nHTMLMetaElement.prototype.httpEquiv;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-31037081\\n */\\nHTMLMetaElement.prototype.name;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-35993789\\n */\\nHTMLMetaElement.prototype.scheme;\\n\\n/**\\n * @constructor\\n * @extends {HTMLElement}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-73629039\\n */\\nfunction HTMLBaseElement() {}\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-65382887\\n */\\nHTMLBaseElement.prototype.href;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-73844298\\n */\\nHTMLBaseElement.prototype.target;\\n\\n/**\\n * @constructor\\n * @extends {HTMLElement}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-85283003\\n */\\nfunction HTMLIsIndexElement() {}\\n\\n/**\\n * @type {HTMLFormElement}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-87069980\\n */\\nHTMLIsIndexElement.prototype.form;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-33589862\\n */\\nHTMLIsIndexElement.prototype.prompt;\\n\\n/**\\n * @constructor\\n * @extends {HTMLElement}\\n * @implements {LinkStyle}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-16428977\\n */\\nfunction HTMLStyleElement() {}\\n\\n/**\\n * @type {boolean}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-51162010\\n */\\nHTMLStyleElement.prototype.disabled;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-76412738\\n */\\nHTMLStyleElement.prototype.media;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-22472002\\n */\\nHTMLStyleElement.prototype.type;\\n\\n/** @type {StyleSheet} */\\nHTMLStyleElement.prototype.sheet;\\n\\n/**\\n * @constructor\\n * @extends {HTMLElement}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-62018039\\n */\\nfunction HTMLBodyElement() {}\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-59424581\\n */\\nHTMLBodyElement.prototype.aLink;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-37574810\\n */\\nHTMLBodyElement.prototype.background;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-24940084\\n */\\nHTMLBodyElement.prototype.bgColor;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-7662206\\n */\\nHTMLBodyElement.prototype.link;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-73714763\\n */\\nHTMLBodyElement.prototype.text;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-83224305\\n */\\nHTMLBodyElement.prototype.vLink;\\n\\n/**\\n * @constructor\\n * @extends {HTMLCollection<T>}\\n * @implements {IObject<string, (T|RadioNodeList<T>)>}\\n * @implements {IArrayLike<T>}\\n * @template T\\n * @see https://html.spec.whatwg.org/multipage/infrastructure.html#the-htmlformcontrolscollection-interface\\n */\\nfunction HTMLFormControlsCollection() {}\\n\\n/**\\n * @param {string} name\\n * @return {T|RadioNodeList<T>|null}\\n * @see https://html.spec.whatwg.org/multipage/infrastructure.html#dom-htmlformcontrolscollection-nameditem\\n * @nosideeffects\\n * @override\\n * @suppress {newCheckTypes}\\n */\\nHTMLFormControlsCollection.prototype.namedItem = function(name) {};\\n\\n/**\\n * @constructor\\n * @extends {HTMLElement}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-40002357\\n */\\nfunction HTMLFormElement() {}\\n\\n/**\\n * @type {HTMLFormControlsCollection<!HTMLElement>}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-76728479\\n */\\nHTMLFormElement.prototype.elements;\\n\\n/**\\n * @type {number}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#HTML-HTMLFormElement-length\\n */\\nHTMLFormElement.prototype.length;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-22051454\\n */\\nHTMLFormElement.prototype.name;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-19661795\\n */\\nHTMLFormElement.prototype.acceptCharset;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-74049184\\n */\\nHTMLFormElement.prototype.action;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-84227810\\n */\\nHTMLFormElement.prototype.enctype;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-82545539\\n */\\nHTMLFormElement.prototype.method;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-6512890\\n */\\nHTMLFormElement.prototype.target;\\n\\n/**\\n * @return {undefined}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-76767676\\n */\\nHTMLFormElement.prototype.submit = function() {};\\n\\n/**\\n * @return {undefined}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-76767677\\n */\\nHTMLFormElement.prototype.reset = function() {};\\n\\n/**\\n * @constructor\\n * @extends {HTMLElement}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-94282980\\n */\\nfunction HTMLSelectElement() {}\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-58783172\\n */\\nHTMLSelectElement.prototype.type;\\n\\n/**\\n * @type {number}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-85676760\\n */\\nHTMLSelectElement.prototype.selectedIndex;\\n\\n/**\\n * @type {string}\\n * @implicitCast\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-59351919\\n */\\nHTMLSelectElement.prototype.value;\\n\\n/**\\n * @type {number}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-5933486\\n */\\nHTMLSelectElement.prototype.length;\\n\\n/**\\n * @type {HTMLFormElement}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-20489458\\n */\\nHTMLSelectElement.prototype.form;\\n\\n/**\\n * @type {!HTMLOptionsCollection}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-30606413\\n */\\nHTMLSelectElement.prototype.options;\\n\\n/**\\n * @type {boolean}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-79102918\\n */\\nHTMLSelectElement.prototype.disabled;\\n\\n/**\\n * @type {boolean}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-13246613\\n */\\nHTMLSelectElement.prototype.multiple;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-41636323\\n */\\nHTMLSelectElement.prototype.name;\\n\\n/**\\n * @type {number}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-18293826\\n */\\nHTMLSelectElement.prototype.size;\\n\\n/**\\n * @param {HTMLElement} element\\n * @param {HTMLElement=} opt_before\\n * @return {undefined}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-14493106\\n */\\nHTMLSelectElement.prototype.add = function(element, opt_before) {};\\n\\n/**\\n * @return {undefined}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-28216144\\n * @override\\n */\\nHTMLSelectElement.prototype.blur = function() {};\\n\\n/**\\n * @return {undefined}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-32130014\\n * @override\\n */\\nHTMLSelectElement.prototype.focus = function() {};\\n\\n/**\\n * @param {number=} opt_index\\n * @return {undefined}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-33404570\\n * @override\\n */\\nHTMLSelectElement.prototype.remove = function(opt_index) {};\\n\\n/**\\n * @constructor\\n * @extends {HTMLElement}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-38450247\\n */\\nfunction HTMLOptGroupElement() {}\\n\\n/**\\n * @type {boolean}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-15518803\\n */\\nHTMLOptGroupElement.prototype.disabled;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-95806054\\n */\\nHTMLOptGroupElement.prototype.label;\\n\\n/**\\n * @constructor\\n * @extends {HTMLElement}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-70901257\\n */\\nfunction HTMLOptionElement() {}\\n\\n/**\\n * @type {boolean}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-37770574\\n */\\nHTMLOptionElement.prototype.defaultSelected;\\n\\n/**\\n * @type {boolean}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-23482473\\n */\\nHTMLOptionElement.prototype.disabled;\\n\\n/**\\n * @type {HTMLFormElement}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-17116503\\n */\\nHTMLOptionElement.prototype.form;\\n\\n/**\\n * @type {number}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-14038413\\n */\\nHTMLOptionElement.prototype.index;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-40736115\\n */\\nHTMLOptionElement.prototype.label;\\n\\n/**\\n * @type {boolean}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-70874476\\n */\\nHTMLOptionElement.prototype.selected;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-48154426\\n */\\nHTMLOptionElement.prototype.text;\\n\\n/**\\n * @type {string}\\n * @implicitCast\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-6185554\\n */\\nHTMLOptionElement.prototype.value;\\n\\n/**\\n * @constructor\\n * @extends {HTMLElement}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-6043025\\n */\\nfunction HTMLInputElement() {}\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-15328520\\n */\\nHTMLInputElement.prototype.accept;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-59914154\\n */\\nHTMLInputElement.prototype.accessKey;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-96991182\\n */\\nHTMLInputElement.prototype.align;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-92701314\\n */\\nHTMLInputElement.prototype.alt;\\n\\n/**\\n * @type {boolean}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-30233917\\n */\\nHTMLInputElement.prototype.checked;\\n\\n/**\\n * @type {boolean}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-20509171\\n */\\nHTMLInputElement.prototype.defaultChecked;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-26091157\\n */\\nHTMLInputElement.prototype.defaultValue;\\n\\n/**\\n * @type {boolean}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-50886781\\n */\\nHTMLInputElement.prototype.disabled;\\n\\n/**\\n * @type {HTMLFormElement}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-63239895\\n */\\nHTMLInputElement.prototype.form;\\n\\n/**\\n * @type {number}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-54719353\\n */\\nHTMLInputElement.prototype.maxLength;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-89658498\\n */\\nHTMLInputElement.prototype.name;\\n\\n/**\\n * @type {boolean}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-88461592\\n */\\nHTMLInputElement.prototype.readOnly;\\n\\n/**\\n * @type {number}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-79659438\\n */\\nHTMLInputElement.prototype.size;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-97320704\\n */\\nHTMLInputElement.prototype.src;\\n\\n/**\\n * @type {number}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-62176355\\n */\\nHTMLInputElement.prototype.tabIndex;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-62883744\\n */\\nHTMLInputElement.prototype.type;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-32463706\\n */\\nHTMLInputElement.prototype.useMap;\\n\\n/**\\n * @type {string}\\n * @implicitCast\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-49531485\\n */\\nHTMLInputElement.prototype.value;\\n\\n/**\\n * @return {undefined}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-26838235\\n * @override\\n */\\nHTMLInputElement.prototype.blur = function() {};\\n\\n/**\\n * @return {undefined}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-2651361\\n * @override\\n */\\nHTMLInputElement.prototype.click = function() {};\\n\\n/**\\n * @return {undefined}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-65996295\\n * @override\\n */\\nHTMLInputElement.prototype.focus = function() {};\\n\\n/**\\n * @return {undefined}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-34677168\\n */\\nHTMLInputElement.prototype.select = function() {};\\n\\n/**\\n * @constructor\\n * @extends {HTMLElement}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-24874179\\n */\\nfunction HTMLTextAreaElement() {}\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-93102991\\n */\\nHTMLTextAreaElement.prototype.accessKey;\\n\\n/**\\n * @type {number}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-51387225\\n */\\nHTMLTextAreaElement.prototype.c";
a.a+="ols;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-36152213\\n */\\nHTMLTextAreaElement.prototype.defaultValue;\\n\\n/**\\n * @type {boolean}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-98725443\\n */\\nHTMLTextAreaElement.prototype.disabled;\\n\\n/**\\n * @type {HTMLFormElement}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-18911464\\n */\\nHTMLTextAreaElement.prototype.form;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-70715578\\n */\\nHTMLTextAreaElement.prototype.name;\\n\\n/**\\n * @type {boolean}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-39131423\\n */\\nHTMLTextAreaElement.prototype.readOnly;\\n\\n/**\\n * @type {number}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-46975887\\n */\\nHTMLTextAreaElement.prototype.rows;\\n\\n/**\\n * @type {number}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-60363303\\n */\\nHTMLTextAreaElement.prototype.tabIndex;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#HTML-HTMLTextAreaElement-type\\n */\\nHTMLTextAreaElement.prototype.type;\\n\\n/**\\n * @type {string}\\n * @implicitCast\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-70715579\\n */\\nHTMLTextAreaElement.prototype.value;\\n\\n/**\\n * @return {undefined}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-6750689\\n * @override\\n */\\nHTMLTextAreaElement.prototype.blur = function() {};\\n\\n/**\\n * @return {undefined}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-39055426\\n * @override\\n */\\nHTMLTextAreaElement.prototype.focus = function() {};\\n\\n/**\\n * @return {undefined}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-48880622\\n */\\nHTMLTextAreaElement.prototype.select = function() {};\\n\\n/**\\n * @constructor\\n * @extends {HTMLElement}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-34812697\\n */\\nfunction HTMLButtonElement() {}\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-73169431\\n */\\nHTMLButtonElement.prototype.accessKey;\\n\\n/**\\n * @type {boolean}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-92757155\\n */\\nHTMLButtonElement.prototype.disabled;\\n\\n/**\\n * @type {HTMLFormElement}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-71254493\\n */\\nHTMLButtonElement.prototype.form;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-11029910\\n */\\nHTMLButtonElement.prototype.name;\\n\\n/**\\n * @type {number}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-39190908\\n */\\nHTMLButtonElement.prototype.tabIndex;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-27430092\\n */\\nHTMLButtonElement.prototype.type;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-72856782\\n */\\nHTMLButtonElement.prototype.value;\\n\\n/**\\n * @constructor\\n * @extends {HTMLElement}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-13691394\\n */\\nfunction HTMLLabelElement() {}\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-43589892\\n */\\nHTMLLabelElement.prototype.accessKey;\\n\\n/**\\n * @type {HTMLFormElement}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-32480901\\n */\\nHTMLLabelElement.prototype.form;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-96509813\\n */\\nHTMLLabelElement.prototype.htmlFor;\\n\\n/**\\n * @constructor\\n * @extends {HTMLElement}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-7365882\\n */\\nfunction HTMLFieldSetElement() {}\\n\\n/**\\n * @type {HTMLFormElement}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-75392630\\n */\\nHTMLFieldSetElement.prototype.form;\\n\\n/**\\n * @type {boolean}\\n * @see https://www.w3.org/TR/html5/forms.html#attr-fieldset-disabled\\n */\\nHTMLFieldSetElement.prototype.disabled;\\n\\n/**\\n * @constructor\\n * @extends {HTMLElement}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-21482039\\n */\\nfunction HTMLLegendElement() {}\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-11297832\\n */\\nHTMLLegendElement.prototype.accessKey;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-79538067\\n */\\nHTMLLegendElement.prototype.align;\\n\\n/**\\n * @type {HTMLFormElement}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-29594519\\n */\\nHTMLLegendElement.prototype.form;\\n\\n/**\\n * @constructor\\n * @extends {HTMLElement}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-86834457\\n */\\nfunction HTMLUListElement() {}\\n\\n/**\\n * @type {boolean}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-39864178\\n */\\nHTMLUListElement.prototype.compact;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-96874670\\n */\\nHTMLUListElement.prototype.type;\\n\\n/**\\n * @constructor\\n * @extends {HTMLElement}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-58056027\\n */\\nfunction HTMLOListElement() {}\\n\\n/**\\n * @type {boolean}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-76448506\\n */\\nHTMLOListElement.prototype.compact;\\n\\n/**\\n * @type {number}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-14793325\\n */\\nHTMLOListElement.prototype.start;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-40971103\\n */\\nHTMLOListElement.prototype.type;\\n\\n/**\\n * @constructor\\n * @extends {HTMLElement}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-52368974\\n */\\nfunction HTMLDListElement() {}\\n\\n/**\\n * @type {boolean}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-21738539\\n */\\nHTMLDListElement.prototype.compact;\\n\\n/**\\n * @constructor\\n * @extends {HTMLElement}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-71600284\\n */\\nfunction HTMLDirectoryElement() {}\\n\\n/**\\n * @type {boolean}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-75317739\\n */\\nHTMLDirectoryElement.prototype.compact;\\n\\n/**\\n * @constructor\\n * @extends {HTMLElement}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-72509186\\n * @see http://www.w3.org/html/wg/drafts/html/master/interactive-elements.html#the-menu-element\\n */\\nfunction HTMLMenuElement() {}\\n\\n/**\\n * @type {boolean}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-68436464\\n */\\nHTMLMenuElement.prototype.compact;\\n\\n/**\\n * @constructor\\n * @extends {HTMLElement}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-74680021\\n */\\nfunction HTMLLIElement() {}\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-52387668\\n */\\nHTMLLIElement.prototype.type;\\n\\n/**\\n * @type {number}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-45496263\\n */\\nHTMLLIElement.prototype.value;\\n\\n/**\\n * @constructor\\n * @extends {HTMLElement}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-22445964\\n */\\nfunction HTMLDivElement() {}\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-70908791\\n */\\nHTMLDivElement.prototype.align;\\n\\n/**\\n * @constructor\\n * @extends {HTMLElement}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-84675076\\n */\\nfunction HTMLParagraphElement() {}\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-53465507\\n */\\nHTMLParagraphElement.prototype.align;\\n\\n/**\\n * @constructor\\n * @extends {HTMLElement}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-43345119\\n */\\nfunction HTMLHeadingElement() {}\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-6796462\\n */\\nHTMLHeadingElement.prototype.align;\\n\\n/**\\n * @constructor\\n * @extends {HTMLElement}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-70319763\\n */\\nfunction HTMLQuoteElement() {}\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-53895598\\n */\\nHTMLQuoteElement.prototype.cite;\\n\\n/**\\n * @constructor\\n * @extends {HTMLElement}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-11383425\\n */\\nfunction HTMLPreElement() {}\\n\\n/**\\n * @type {number}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-13894083\\n */\\nHTMLPreElement.prototype.width;\\n\\n/**\\n * @constructor\\n * @extends {HTMLElement}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-56836063\\n */\\nfunction HTMLBRElement() {}\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-82703081\\n */\\nHTMLBRElement.prototype.clear;\\n\\n/**\\n * @constructor\\n * @extends {HTMLElement}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-32774408\\n */\\nfunction HTMLBaseFontElement() {}\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-87502302\\n */\\nHTMLBaseFontElement.prototype.color;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-88128969\\n */\\nHTMLBaseFontElement.prototype.face;\\n\\n/**\\n * @type {number}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-38930424\\n */\\nHTMLBaseFontElement.prototype.size;\\n\\n/**\\n * @constructor\\n * @extends {HTMLElement}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-43943847\\n */\\nfunction HTMLFontElement() {}\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-53532975\\n */\\nHTMLFontElement.prototype.color;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-55715655\\n */\\nHTMLFontElement.prototype.face;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-90127284\\n */\\nHTMLFontElement.prototype.size;\\n\\n/**\\n * @constructor\\n * @extends {HTMLElement}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-68228811\\n */\\nfunction HTMLHRElement() {}\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-15235012\\n */\\nHTMLHRElement.prototype.align;\\n\\n/**\\n * @type {boolean}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-79813978\\n */\\nHTMLHRElement.prototype.noShade;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-77612587\\n */\\nHTMLHRElement.prototype.size;\\n\\n/**\\n * @type {string}\\n * @implicitCast\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-87744198\\n */\\nHTMLHRElement.prototype.width;\\n\\n/**\\n * @constructor\\n * @extends {HTMLElement}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-79359609\\n */\\nfunction HTMLModElement() {}\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-75101708\\n */\\nHTMLModElement.prototype.cite;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-88432678\\n */\\nHTMLModElement.prototype.dateTime;\\n\\n/**\\n * @constructor\\n * @extends {HTMLElement}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-48250443\\n */\\nfunction HTMLAnchorElement() {}\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-89647724\\n */\\nHTMLAnchorElement.prototype.accessKey;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-67619266\\n */\\nHTMLAnchorElement.prototype.charset;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-92079539\\n */\\nHTMLAnchorElement.prototype.coords;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-88517319\\n */\\nHTMLAnchorElement.prototype.href;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-87358513\\n */\\nHTMLAnchorElement.prototype.hreflang;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-32783304\\n */\\nHTMLAnchorElement.prototype.name;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-3815891\\n */\\nHTMLAnchorElement.prototype.rel;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-58259771\\n */\\nHTMLAnchorElement.prototype.rev;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-49899808\\n */\\nHTMLAnchorElement.prototype.shape;\\n\\n/**\\n * @type {number}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-41586466\\n */\\nHTMLAnchorElement.prototype.tabIndex;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-6414197\\n */\\nHTMLAnchorElement.prototype.target;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-63938221\\n */\\nHTMLAnchorElement.prototype.type;\\n\\n/**\\n * @return {undefined}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-65068939\\n * @override\\n */\\nHTMLAnchorElement.prototype.blur = function() {};\\n\\n/**\\n * @return {undefined}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-47150313\\n * @override\\n */\\nHTMLAnchorElement.prototype.focus = function() {};\\n\\n/**\\n * @constructor\\n * @extends {HTMLElement}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-17701901\\n */\\nfunction HTMLImageElement() {}\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-3211094\\n */\\nHTMLImageElement.prototype.align;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-95636861\\n */\\nHTMLImageElement.prototype.alt;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-136671\\n */\\nHTMLImageElement.prototype.border;\\n\\n/**\\n * @type {number}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-91561496\\n */\\nHTMLImageElement.prototype.height;\\n\\n/**\\n * @type {number}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-53675471\\n */\\nHTMLImageElement.prototype.hspace;\\n\\n/**\\n * @type {boolean}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-58983880\\n */\\nHTMLImageElement.prototype.isMap;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-77376969\\n */\\nHTMLImageElement.prototype.longDesc;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-91256910\\n */\\nHTMLImageElement.prototype.lowSrc;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-47534097\\n */\\nHTMLImageElement.prototype.name;\\n\\n/**\\n * @type {string}\\n * @implicitCast\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-87762984\\n */\\nHTMLImageElement.prototype.src;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-35981181\\n */\\nHTMLImageElement.prototype.useMap;\\n\\n/**\\n * @type {number}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-85374897\\n */\\nHTMLImageElement.prototype.vspace;\\n\\n/**\\n * @type {number}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-13839076\\n */\\nHTMLImageElement.prototype.width;\\n\\n/**\\n * @constructor\\n * @extends {HTMLElement}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-9893177\\n */\\nfun";
a.a+="ction HTMLObjectElement() {}\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-16962097\\n */\\nHTMLObjectElement.prototype.align;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-47783837\\n */\\nHTMLObjectElement.prototype.archive;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-82818419\\n */\\nHTMLObjectElement.prototype.border;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-75241146\\n */\\nHTMLObjectElement.prototype.code;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-25709136\\n */\\nHTMLObjectElement.prototype.codeBase;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-19945008\\n */\\nHTMLObjectElement.prototype.codeType;\\n\\n/**\\n * @type {Document}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-38538621\\n */\\nHTMLObjectElement.prototype.contentDocument;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-81766986\\n */\\nHTMLObjectElement.prototype.data;\\n\\n/**\\n * @type {boolean}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-942770\\n */\\nHTMLObjectElement.prototype.declare;\\n\\n/**\\n * @type {HTMLFormElement}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-46094773\\n */\\nHTMLObjectElement.prototype.form;\\n\\n/**\\n * @type {string}\\n * @implicitCast\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-88925838\\n */\\nHTMLObjectElement.prototype.height;\\n\\n/**\\n * @type {number}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-17085376\\n */\\nHTMLObjectElement.prototype.hspace;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-20110362\\n */\\nHTMLObjectElement.prototype.name;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-25039673\\n */\\nHTMLObjectElement.prototype.standby;\\n\\n/**\\n * @type {number}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-27083787\\n */\\nHTMLObjectElement.prototype.tabIndex;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-91665621\\n */\\nHTMLObjectElement.prototype.type;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-6649772\\n */\\nHTMLObjectElement.prototype.useMap;\\n\\n/**\\n * @type {number}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-8682483\\n */\\nHTMLObjectElement.prototype.vspace;\\n\\n/**\\n * @type {string}\\n * @implicitCast\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-38538620\\n */\\nHTMLObjectElement.prototype.width;\\n\\n/**\\n * @constructor\\n * @extends {HTMLElement}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-64077273\\n */\\nfunction HTMLParamElement() {}\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-59871447\\n */\\nHTMLParamElement.prototype.name;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-18179888\\n */\\nHTMLParamElement.prototype.type;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-77971357\\n */\\nHTMLParamElement.prototype.value;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-23931872\\n */\\nHTMLParamElement.prototype.valueType;\\n\\n/**\\n * @constructor\\n * @extends {HTMLElement}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-31006348\\n */\\nfunction HTMLAppletElement() {}\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-8049912\\n */\\nHTMLAppletElement.prototype.align;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-58610064\\n */\\nHTMLAppletElement.prototype.alt;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-14476360\\n */\\nHTMLAppletElement.prototype.archive;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-61509645\\n */\\nHTMLAppletElement.prototype.code;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-6581160\\n */\\nHTMLAppletElement.prototype.codeBase;\\n\\n/**\\n * @type {string}\\n * @implicitCast\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-90184867\\n */\\nHTMLAppletElement.prototype.height;\\n\\n/**\\n * @type {number}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-1567197\\n */\\nHTMLAppletElement.prototype.hspace;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-39843695\\n */\\nHTMLAppletElement.prototype.name;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-93681523\\n */\\nHTMLAppletElement.prototype.object;\\n\\n/**\\n * @type {number}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-22637173\\n */\\nHTMLAppletElement.prototype.vspace;\\n\\n/**\\n * @type {string}\\n * @implicitCast\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-16526327\\n */\\nHTMLAppletElement.prototype.width;\\n\\n/**\\n * @constructor\\n * @extends {HTMLElement}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-94109203\\n */\\nfunction HTMLMapElement() {}\\n\\n/**\\n * @type {HTMLCollection<!HTMLAreaElement>}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-71838730\\n */\\nHTMLMapElement.prototype.areas;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-52696514\\n */\\nHTMLMapElement.prototype.name;\\n\\n/**\\n * @constructor\\n * @extends {HTMLElement}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-26019118\\n */\\nfunction HTMLAreaElement() {}\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-57944457\\n */\\nHTMLAreaElement.prototype.accessKey;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-39775416\\n */\\nHTMLAreaElement.prototype.alt;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-66021476\\n */\\nHTMLAreaElement.prototype.coords;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-34672936\\n */\\nHTMLAreaElement.prototype.href;\\n\\n/**\\n * @type {boolean}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-61826871\\n */\\nHTMLAreaElement.prototype.noHref;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-85683271\\n */\\nHTMLAreaElement.prototype.shape;\\n\\n/**\\n * @type {number}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-8722121\\n */\\nHTMLAreaElement.prototype.tabIndex;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-46054682\\n */\\nHTMLAreaElement.prototype.target;\\n\\n/**\\n * @constructor\\n * @extends {HTMLElement}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-81598695\\n */\\nfunction HTMLScriptElement() {}\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-35305677\\n */\\nHTMLScriptElement.prototype.charset;\\n\\n/**\\n * @type {boolean}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-93788534\\n */\\nHTMLScriptElement.prototype.defer;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-56700403\\n */\\nHTMLScriptElement.prototype.event;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-66979266\\n */\\nHTMLScriptElement.prototype.htmlFor;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-75147231\\n */\\nHTMLScriptElement.prototype.src;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-46872999\\n */\\nHTMLScriptElement.prototype.text;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-30534818\\n */\\nHTMLScriptElement.prototype.type;\\n\\n/**\\n * @constructor\\n * @extends {HTMLElement}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-64060425\\n */\\nfunction HTMLTableElement() {}\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-23180977\\n */\\nHTMLTableElement.prototype.align;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-83532985\\n */\\nHTMLTableElement.prototype.bgColor;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-50969400\\n */\\nHTMLTableElement.prototype.border;\\n\\n/**\\n * @type {HTMLTableCaptionElement}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-14594520\\n */\\nHTMLTableElement.prototype.caption;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-59162158\\n */\\nHTMLTableElement.prototype.cellPadding;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-68907883\\n */\\nHTMLTableElement.prototype.cellSpacing;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-64808476\\n */\\nHTMLTableElement.prototype.frame;\\n\\n/**\\n * @type {HTMLCollection<!HTMLTableRowElement>}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-6156016\\n */\\nHTMLTableElement.prototype.rows;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-26347553\\n */\\nHTMLTableElement.prototype.rules;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-44998528\\n */\\nHTMLTableElement.prototype.summary;\\n\\n/**\\n * @type {HTMLCollection<!HTMLTableSectionElement>}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-63206416\\n */\\nHTMLTableElement.prototype.tBodies;\\n\\n/**\\n * @type {HTMLTableSectionElement}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-64197097\\n */\\nHTMLTableElement.prototype.tFoot;\\n\\n/**\\n * @type {HTMLTableSectionElement}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-9530944\\n */\\nHTMLTableElement.prototype.tHead;\\n\\n/**\\n * @type {string}\\n * @implicitCast\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-77447361\\n */\\nHTMLTableElement.prototype.width;\\n\\n/**\\n * @return {HTMLElement}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-96920263\\n */\\nHTMLTableElement.prototype.createCaption = function() {};\\n\\n/**\\n * @return {HTMLElement}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-8453710\\n */\\nHTMLTableElement.prototype.createTFoot = function() {};\\n\\n/**\\n * @return {HTMLElement}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-70313345\\n */\\nHTMLTableElement.prototype.createTHead = function() {};\\n\\n/**\\n * @return {undefined}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-22930071\\n */\\nHTMLTableElement.prototype.deleteCaption = function() {};\\n\\n/**\\n * @param {number} index\\n * @return {HTMLElement}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-13114938\\n */\\nHTMLTableElement.prototype.deleteRow = function(index) {};\\n\\n/**\\n * @return {undefined}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-78363258\\n */\\nHTMLTableElement.prototype.deleteTFoot = function() {};\\n\\n/**\\n * @return {undefined}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-38310198\\n */\\nHTMLTableElement.prototype.deleteTHead = function() {};\\n\\n/**\\n * @param {number=} opt_index\\n * @return {HTMLElement}\\n * @see https://www.w3.org/TR/html5/tabular-data.html#htmltableelement\\n */\\nHTMLTableElement.prototype.insertRow = function(opt_index) {};\\n\\n/**\\n * @constructor\\n * @extends {HTMLElement}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-12035137\\n */\\nfunction HTMLTableCaptionElement() {}\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-79875068\\n */\\nHTMLTableCaptionElement.prototype.align;\\n\\n/**\\n * @constructor\\n * @extends {HTMLElement}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-84150186\\n */\\nfunction HTMLTableColElement() {}\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-31128447\\n */\\nHTMLTableColElement.prototype.align;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-9447412\\n */\\nHTMLTableColElement.prototype.ch;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-57779225\\n */\\nHTMLTableColElement.prototype.chOff;\\n\\n/**\\n * @type {number}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-96511335\\n */\\nHTMLTableColElement.prototype.span;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-83291710\\n */\\nHTMLTableColElement.prototype.vAlign;\\n\\n/**\\n * @type {string}\\n * @implicitCast\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-25196799\\n */\\nHTMLTableColElement.prototype.width;\\n\\n/**\\n * @constructor\\n * @extends {HTMLElement}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-67417573\\n */\\nfunction HTMLTableSectionElement() {}\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-40530119\\n */\\nHTMLTableSectionElement.prototype.align;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-83470012\\n */\\nHTMLTableSectionElement.prototype.ch;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-53459732\\n */\\nHTMLTableSectionElement.prototype.chOff;\\n\\n/**\\n * @type {HTMLCollection<!HTMLTableRowElement>}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-52092650\\n */\\nHTMLTableSectionElement.prototype.rows;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-4379116\\n */\\nHTMLTableSectionElement.prototype.vAlign;\\n\\n/**\\n * @param {number} index\\n * @return {HTMLElement}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-5625626\\n */\\nHTMLTableSectionElement.prototype.deleteRow = function(index) {};\\n\\n/**\\n * @param {number=} opt_index\\n * @return {HTMLElement}\\n * @see https://www.w3.org/TR/html5/tabular-data.html#htmltablesectionelement\\n */\\nHTMLTableSectionElement.prototype.insertRow = function(opt_index) {};\\n\\n/**\\n * @constructor\\n * @extends {HTMLElement}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-6986576\\n */\\nfunction HTMLTableRowElement() {}\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-74098257\\n */\\nHTMLTableRowElement.prototype.align;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-18161327\\n */\\nHTMLTableRowElement.prototype.bgColor;\\n\\n/**\\n * @type {HTMLCollection<!HTMLTableCellElement>}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-67349879\\n */\\nHTMLTableRowElement.prototype.cells;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-16230502\\n */\\nHTMLTableRowElement.prototype.ch;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-68207461\\n */\\nHTMLTableRowElement.prototype.chOff;\\n\\n/**\\n * @type {number}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-67347567\\n */\\nHTMLTableRowElement.prototype.rowIndex;\\n\\n/**\\n * @type {number}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-2000051";
a.a+='0/html.html#ID-79105901\\n */\\nHTMLTableRowElement.prototype.sectionRowIndex;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-90000058\\n */\\nHTMLTableRowElement.prototype.vAlign;\\n\\n/**\\n * @param {number} index\\n * @return {undefined}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-11738598\\n */\\nHTMLTableRowElement.prototype.deleteCell = function(index) {};\\n\\n/**\\n * @param {number} index\\n * @return {HTMLElement}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-68927016\\n */\\nHTMLTableRowElement.prototype.insertCell = function(index) {};\\n\\n/**\\n * @constructor\\n * @extends {HTMLElement}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-82915075\\n */\\nfunction HTMLTableCellElement() {}\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-74444037\\n */\\nHTMLTableCellElement.prototype.abbr;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-98433879\\n */\\nHTMLTableCellElement.prototype.align;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-76554418\\n */\\nHTMLTableCellElement.prototype.axis;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-88135431\\n */\\nHTMLTableCellElement.prototype.bgColor;\\n\\n/**\\n * @type {number}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-80748363\\n */\\nHTMLTableCellElement.prototype.cellIndex;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-30914780\\n */\\nHTMLTableCellElement.prototype.ch;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-20144310\\n */\\nHTMLTableCellElement.prototype.chOff;\\n\\n/**\\n * @type {number}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-84645244\\n */\\nHTMLTableCellElement.prototype.colSpan;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-89104817\\n */\\nHTMLTableCellElement.prototype.headers;\\n\\n/**\\n * @type {string}\\n * @implicitCast\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-83679212\\n */\\nHTMLTableCellElement.prototype.height;\\n\\n/**\\n * @type {boolean}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-62922045\\n */\\nHTMLTableCellElement.prototype.noWrap;\\n\\n/**\\n * @type {number}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-48237625\\n */\\nHTMLTableCellElement.prototype.rowSpan;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-36139952\\n */\\nHTMLTableCellElement.prototype.scope;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-58284221\\n */\\nHTMLTableCellElement.prototype.vAlign;\\n\\n/**\\n * @type {string}\\n * @implicitCast\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-27480795\\n */\\nHTMLTableCellElement.prototype.width;\\n\\n/**\\n * @constructor\\n * @extends {HTMLElement}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-43829095\\n */\\nfunction HTMLFrameSetElement() {}\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-98869594\\n */\\nHTMLFrameSetElement.prototype.cols;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-19739247\\n */\\nHTMLFrameSetElement.prototype.rows;\\n\\n/**\\n * @constructor\\n * @extends {HTMLElement}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-97790553\\n */\\nfunction HTMLFrameElement() {}\\n\\n/**\\n * @type {Document}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-78799536\\n */\\nHTMLFrameElement.prototype.contentDocument;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-11858633\\n */\\nHTMLFrameElement.prototype.frameBorder;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-7836998\\n */\\nHTMLFrameElement.prototype.longDesc;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-55569778\\n */\\nHTMLFrameElement.prototype.marginHeight;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-8369969\\n */\\nHTMLFrameElement.prototype.marginWidth;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-91128709\\n */\\nHTMLFrameElement.prototype.name;\\n\\n/**\\n * @type {boolean}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-80766578\\n */\\nHTMLFrameElement.prototype.noResize;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-45411424\\n */\\nHTMLFrameElement.prototype.scrolling;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-78799535\\n */\\nHTMLFrameElement.prototype.src;\\n\\n/**\\n * @constructor\\n * @extends {HTMLElement}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-50708718\\n */\\nfunction HTMLIFrameElement() {}\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-11309947\\n */\\nHTMLIFrameElement.prototype.align;\\n\\n/**\\n * @type {Document}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-67133006\\n */\\nHTMLIFrameElement.prototype.contentDocument;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-22463410\\n */\\nHTMLIFrameElement.prototype.frameBorder;\\n\\n/**\\n * @type {string}\\n * @implicitCast\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-1678118\\n */\\nHTMLIFrameElement.prototype.height;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-70472105\\n */\\nHTMLIFrameElement.prototype.longDesc;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-91371294\\n */\\nHTMLIFrameElement.prototype.marginHeight;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-66486595\\n */\\nHTMLIFrameElement.prototype.marginWidth;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-96819659\\n */\\nHTMLIFrameElement.prototype.name;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-36369822\\n */\\nHTMLIFrameElement.prototype.scrolling;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-43933957\\n */\\nHTMLIFrameElement.prototype.src;\\n\\n/**\\n * @type {string}\\n * @implicitCast\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-67133005\\n */\\nHTMLIFrameElement.prototype.width;\\n\\n/**\\n * @type {number}\\n * @see http://www.w3.org/TR/DOM-Level-2-Core/core.html#ID-258A00AF\\n */\\nDOMException.INVALID_STATE_ERR = 11;\\n\\n/**\\n * @type {number}\\n * @see http://www.w3.org/TR/DOM-Level-2-Core/core.html#ID-258A00AF\\n */\\nDOMException.SYNTAX_ERR = 12;\\n\\n/**\\n * @type {number}\\n * @see http://www.w3.org/TR/DOM-Level-2-Core/core.html#ID-258A00AF\\n */\\nDOMException.INVALID_MODIFICATION_ERR = 13;\\n\\n/**\\n * @type {number}\\n * @see http://www.w3.org/TR/DOM-Level-2-Core/core.html#ID-258A00AF\\n */\\nDOMException.NAMESPACE_ERR = 14;\\n\\n/**\\n * @type {number}\\n * @see http://www.w3.org/TR/DOM-Level-2-Core/core.html#ID-258A00AF\\n */\\nDOMException.INVALID_ACCESS_ERR = 15;\\n","externs/w3c_dom3.js":"/*\\n * Copyright 2008 The Closure Compiler Authors\\n *\\n * Licensed under the Apache License, Version 2.0 (the \\"License\\");\\n * you may not use this file except in compliance with the License.\\n * You may obtain a copy of the License at\\n *\\n *     http://www.apache.org/licenses/LICENSE-2.0\\n *\\n * Unless required by applicable law or agreed to in writing, software\\n * distributed under the License is distributed on an \\"AS IS\\" BASIS,\\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\\n * See the License for the specific language governing permissions and\\n * limitations under the License.\\n */\\n\\n/**\\n * @fileoverview Definitions for W3C\'s DOM Level 3 specification.\\n *  This file depends on w3c_dom2.js.\\n *  The whole file has been fully type annotated.\\n *  Created from\\n *   http://www.w3.org/TR/DOM-Level-3-Core/ecma-script-binding.html\\n *\\n * @externs\\n * @author acleung@google.com (Alan Leung)\\n * @author stevey@google.com (Steve Yegge)\\n */\\n\\n/**\\n * @type {number}\\n * @see http://www.w3.org/TR/DOM-Level-3-Core/core.html#ID-258A00AF\\n */\\nDOMException.prototype.code;\\n\\n/**\\n * @type {number}\\n * @see http://www.w3.org/TR/DOM-Level-3-Core/core.html#ID-258A00AF\\n */\\nDOMException.VALIDATION_ERR = 16;\\n\\n/**\\n * @type {number}\\n * @see http://www.w3.org/TR/DOM-Level-3-Core/core.html#ID-258A00AF\\n */\\nDOMException.TYPE_MISMATCH_ERR = 17;\\n\\n/**\\n * @constructor\\n * @implements {IArrayLike<string>}\\n * @see http://www.w3.org/TR/DOM-Level-3-Core/core.html#DOMStringList\\n */\\nfunction DOMStringList() {}\\n\\n/**\\n * @type {number}\\n * @see http://www.w3.org/TR/DOM-Level-3-Core/core.html#DOMStringList-length\\n */\\nDOMStringList.prototype.length;\\n\\n/**\\n * @param {string} str\\n * @return {boolean}\\n * @see http://www.w3.org/TR/DOM-Level-3-Core/core.html#DOMStringList-contains\\n * @nosideeffects\\n */\\nDOMStringList.prototype.contains = function(str) {};\\n\\n/**\\n * @param {number} index\\n * @return {string}\\n * @see http://www.w3.org/TR/DOM-Level-3-Core/core.html#DOMStringList-item\\n * @nosideeffects\\n */\\nDOMStringList.prototype.item = function(index) {};\\n\\n/**\\n * @constructor\\n * @implements {IArrayLike<string>}\\n * @see http://www.w3.org/TR/DOM-Level-3-Core/core.html#NameList\\n */\\nfunction NameList() {}\\n\\n/**\\n * @type {number}\\n * @see http://www.w3.org/TR/DOM-Level-3-Core/core.html#NameList-length\\n */\\nNameList.prototype.length;\\n\\n/**\\n * @param {string} str\\n * @return {boolean}\\n * @see http://www.w3.org/TR/DOM-Level-3-Core/core.html#NameList-contains\\n * @nosideeffects\\n */\\nNameList.prototype.contains = function(str) {};\\n\\n/**\\n * @param {?string} namespaceURI\\n * @param {string} name\\n * @return {boolean}\\n * @see http://www.w3.org/TR/DOM-Level-3-Core/core.html#NameList-containsNS\\n * @nosideeffects\\n */\\nNameList.prototype.containsNS = function(namespaceURI, name) {};\\n\\n/**\\n * @param {number} index\\n * @return {string}\\n * @see http://www.w3.org/TR/DOM-Level-3-Core/core.html#NameList-getName\\n * @nosideeffects\\n */\\nNameList.prototype.getName = function(index) {};\\n\\n/**\\n * @param {number} index\\n * @return {string}\\n * @see http://www.w3.org/TR/DOM-Level-3-Core/core.html#NameList-getNamespaceURI\\n * @nosideeffects\\n */\\nNameList.prototype.getNamespaceURI = function(index) {};\\n\\n/**\\n * @constructor\\n * @implements {IArrayLike<!DOMImplementation>}\\n * @see http://www.w3.org/TR/DOM-Level-3-Core/core.html#DOMImplementationList\\n */\\nfunction DOMImplementationList() {}\\n\\n/**\\n * @type {number}\\n * @see http://www.w3.org/TR/DOM-Level-3-Core/core.html#DOMImplementationList-length\\n */\\nDOMImplementationList.prototype.length;\\n\\n/**\\n * @param {number} index\\n * @return {DOMImplementation}\\n * @see http://www.w3.org/TR/DOM-Level-3-Core/core.html#DOMImplementationList-item\\n * @nosideeffects\\n */\\nDOMImplementationList.prototype.item = function(index) {};\\n\\n/**\\n * @constructor\\n * @see http://www.w3.org/TR/DOM-Level-3-Core/core.html#DOMImplementationSource\\n */\\nfunction DOMImplementationSource() {}\\n\\n/**\\n * @param {?string} namespaceURI\\n * @param {string} publicId\\n * @param {DocumentType} doctype\\n * @return {Document}\\n * @see http://www.w3.org/TR/DOM-Level-3-Core/core.html#Level-2-Core-DOM-createDocument\\n * @nosideeffects\\n */\\nDOMImplementation.prototype.createDocument = function(namespaceURI, publicId, doctype) {};\\n\\n/**\\n * @param {string} qualifiedName\\n * @param {string} publicId\\n * @param {string} systemId\\n * @return {DocumentType}\\n * @see http://www.w3.org/TR/DOM-Level-3-Core/core.html#Level-2-Core-DOM-createDocType\\n * @nosideeffects\\n */\\nDOMImplementation.prototype.createDocumentType = function(qualifiedName, publicId, systemId) {};\\n\\n/**\\n * @param {string} features\\n * @return {DOMImplementation}\\n * @see http://www.w3.org/TR/DOM-Level-3-Core/core.html#ID-getDOMImpl\\n * @nosideeffects\\n */\\nDOMImplementationSource.prototype.getDOMImplementation = function(features) {};\\n\\n/**\\n * @param {string} features\\n * @return {DOMImplementationList}\\n * @see http://www.w3.org/TR/DOM-Level-3-Core/core.html#ID-getDOMImpls\\n * @nosideeffects\\n */\\nDOMImplementationSource.prototype.getDOMImplementationList = function(features) {};\\n\\n/**\\n * @param {string} feature\\n * @param {string} version\\n * @return {Object}\\n * @see http://www.w3.org/TR/DOM-Level-3-Core/core.html#DOMImplementation3-getFeature\\n * @nosideeffects\\n */\\nDOMImplementation.prototype.getFeature = function(feature, version) {};\\n\\n/**\\n * @param {Node} externalNode\\n * @return {Node}\\n * @see http://www.w3.org/TR/DOM-Level-3-Core/core.html#Document3-adoptNode\\n */\\nDocument.prototype.adoptNode = function(externalNode) {};\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/DOM-Level-3-Core/core.html#Document3-documentURI\\n */\\nDocument.prototype.documentURI;\\n\\n/**\\n * @type {DOMConfiguration}\\n * @see http://www.w3.org/TR/DOM-Level-3-Core/core.html#Document3-domConfig\\n */\\nDocument.prototype.domConfig;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/DOM-Level-3-Core/core.html#Document3-inputEncoding\\n */\\nDocument.prototype.inputEncoding;\\n\\n/**\\n * @type {boolean}\\n * @see http://www.w3.org/TR/DOM-Level-3-Core/core.html#Document3-strictErrorChecking\\n */\\nDocument.prototype.strictErrorChecking;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/DOM-Level-3-Core/core.html#Document3-encoding\\n */\\nDocument.prototype.xmlEncoding;\\n\\n/**\\n * @type {boolean}\\n * @see http://www.w3.org/TR/DOM-Level-3-Core/core.html#Document3-standalone\\n */\\nDocument.prototype.xmlStandalone;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/DOM-Level-3-Core/core.html#Document3-version\\n */\\nDocument.prototype.xmlVersion;\\n\\n/**\\n * @return {undefined}\\n * @see http://www.w3.org/TR/DOM-Level-3-Core/core.html#Document3-normalizeDocument\\n */\\nDocument.prototype.normalizeDocument = function() {};\\n\\n/**\\n * @param {Node} n\\n * @param {?string} namespaceURI\\n * @param {string} qualifiedName\\n * @return {Node}\\n * @see http://www.w3.org/TR/DOM-Level-3-Core/core.html#Document3-renameNode\\n */\\nDocument.prototype.renameNode = function(n, namespaceURI, qualifiedName) {};\\n\\n/**\\n * @type {?string}\\n * @see http://www.w3.org/TR/DOM-Level-3-Core/core.html#Node3-baseURI\\n */\\nNode.prototype.baseURI;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/DOM-Level-3-Core/core.html#ID-NodeNSLocalN\\n */\\nNode.prototype.localName;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/DOM-Level-3-Core/core.html#ID-NodeNSname\\n */\\nNode.prototype.namespaceURI;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/DOM-Level-3-Core/core.html#ID-NodeNSPrefix\\n */\\nNode.prototype.prefix;\\n\\n/**\\n * @type {string}\\n * @implicitCast\\n * @see http://www.w3.org/TR/DOM-Level-3-Core/core.html#Node3-textContent\\n */\\nNode.prototype.textContent;\\n\\n/**\\n * @type {number}\\n * @see http://www.w3.org/TR/DOM-Level-3-Core/core.html#Node-DOCUMENT_POSITION_DISCONNECTED\\n */\\nNode.DOCUMENT_POSITION_DISCONNECTED = 0x01;\\n\\n/**\\n * @type {number}\\n * @see http://www.w3.org/TR/DOM-Level-3-Core/core.html#Node-DOCUMENT_POSITION_PRECEDING\\n */\\nNode.DOCUMENT_POSITION_PRECEDING    = 0x02;\\n\\n/**\\n * @type {number}\\n * @see http://www.w3.org/TR/DOM-Level-3-Core/core.html#Node-DOCUMENT_POSITION_FOLLOWING\\n */\\nNode.DOCUMENT_POSITION_FOLLOWING    = 0x04;\\n\\n/**\\n * @type {number}\\n * @see http://www.w3.org/TR/DOM-Level-3-Core/core.html#Node-DOCUMENT_POSITION_CONTAINS\\n */\\nNode.DOCUMENT_POSITION_CONTAINS     = 0x08;\\n\\n/**\\n * @type {number}\\n * @see http://www.w3.org/TR/DOM-Level-3-Core/core.html#Node-DOCUMENT_POSITION_CONTAINED_BY\\n */\\nNode.DOCUMENT_POSITION_CONTAINED_BY = 0x10;\\n\\n/**\\n * @type {number}\\n * @see http://www';
a.a+='.w3.org/TR/DOM-Level-3-Core/core.html#Node-DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC\\n */\\nNode.DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC = 0x20;\\n\\n/**\\n * @param {Node} other\\n * @return {number}\\n * @see http://www.w3.org/TR/DOM-Level-3-Core/core.html#Node3-compareDocumentPosition\\n * @nosideeffects\\n */\\nNode.prototype.compareDocumentPosition = function(other) {};\\n\\n/**\\n * @param {string} feature\\n * @param {string} version\\n * @return {Object}\\n * @see http://www.w3.org/TR/DOM-Level-3-Core/core.html#Node3-getFeature\\n * @nosideeffects\\n */\\nNode.prototype.getFeature = function(feature, version) {};\\n\\n/**\\n * @param {string} key\\n * @return {Object}\\n * @see http://www.w3.org/TR/DOM-Level-3-Core/core.html#Node3-getUserData\\n * @nosideeffects\\n */\\nNode.prototype.getUserData = function(key) {};\\n\\n/**\\n * @return {boolean}\\n * @see http://www.w3.org/TR/DOM-Level-3-Core/core.html#ID-NodeHasAttrs\\n * @nosideeffects\\n */\\nNode.prototype.hasAttributes = function() {};\\n\\n/**\\n * @param {?string} namespaceURI\\n * @return {boolean}\\n * @see http://www.w3.org/TR/DOM-Level-3-Core/core.html#Node3-isDefaultNamespace\\n * @nosideeffects\\n */\\nNode.prototype.isDefaultNamespace = function(namespaceURI) {};\\n\\n/**\\n * @param {Node} arg\\n * @return {boolean}\\n * @see http://www.w3.org/TR/DOM-Level-3-Core/core.html#Node3-isEqualNode\\n * @nosideeffects\\n */\\nNode.prototype.isEqualNode = function(arg) {};\\n\\n/**\\n * @param {Node} other\\n * @return {boolean}\\n * @see http://www.w3.org/TR/DOM-Level-3-Core/core.html#Node3-isSameNode\\n * @nosideeffects\\n */\\nNode.prototype.isSameNode = function(other) {};\\n\\n/**\\n * @param {string} feature\\n * @param {string} version\\n * @return {boolean}\\n * @see http://www.w3.org/TR/DOM-Level-3-Core/core.html#Level-2-Core-Node-supports\\n * @nosideeffects\\n */\\nNode.prototype.isSupported = function(feature, version) {};\\n\\n/**\\n * @param {string} prefix\\n * @return {string}\\n * @see http://www.w3.org/TR/DOM-Level-3-Core/core.html#Node3-lookupNamespaceURI\\n * @nosideeffects\\n */\\nNode.prototype.lookupNamespaceURI = function(prefix) {};\\n\\n/**\\n * @param {?string} namespaceURI\\n * @return {string}\\n * @see http://www.w3.org/TR/DOM-Level-3-Core/core.html#Node3-lookupNamespacePrefix\\n * @nosideeffects\\n */\\nNode.prototype.lookupPrefix = function(namespaceURI) {};\\n\\n/**\\n * @return {undefined}\\n * @see http://www.w3.org/TR/DOM-Level-3-Core/core.html#ID-normalize\\n */\\nNode.prototype.normalize = function() {};\\n\\n/**\\n * @param {Object} key\\n * @param {Object} data\\n * @param {UserDataHandler} handler\\n * @return {Object}\\n * @see http://www.w3.org/TR/DOM-Level-3-Core/core.html#Node3-setUserData\'\\n */\\nNode.prototype.setUserData = function(key, data, handler) {};\\n\\n/**\\n * @param {string} query\\n * @return {?Element}\\n * @see http://www.w3.org/TR/selectors-api/#queryselector\\n * @nosideeffects\\n */\\nNode.prototype.querySelector = function(query) {};\\n\\n/**\\n * @param {string} query\\n * @return {!NodeList<!Element>}\\n * @see http://www.w3.org/TR/selectors-api/#queryselectorall\\n * @nosideeffects\\n */\\nNode.prototype.querySelectorAll = function(query) {};\\n\\n/**\\n * @type {Element}\\n * @see http://www.w3.org/TR/DOM-Level-3-Core/core.html#Attr-ownerElement\\n */\\nAttr.prototype.ownerElement;\\n\\n/**\\n * @type {boolean}\\n * @see http://www.w3.org/TR/DOM-Level-3-Core/core.html#Attr-isId\\n */\\nAttr.prototype.isId;\\n\\n/**\\n * @type {TypeInfo}\\n * @see http://www.w3.org/TR/DOM-Level-3-Core/core.html#Attr-schemaTypeInfo\\n */\\nAttr.prototype.schemaTypeInfo;\\n\\n/**\\n * @type {TypeInfo}\\n * @see http://www.w3.org/TR/DOM-Level-3-Core/core.html#Element-schemaTypeInfo\\n */\\nElement.prototype.schemaTypeInfo;\\n\\n/**\\n * @param {?string} namespaceURI\\n * @param {string} localName\\n * @return {Attr}\\n * @see http://www.w3.org/TR/DOM-Level-3-Core/core.html#ID-ElGetAtNodeNS\\n * @nosideeffects\\n */\\nElement.prototype.getAttributeNodeNS = function(namespaceURI, localName) {};\\n\\n/**\\n * @param {?string} namespaceURI\\n * @param {string} localName\\n * @return {string}\\n * @see http://www.w3.org/TR/DOM-Level-3-Core/core.html#ID-ElGetAttrNS\\n * @nosideeffects\\n */\\nElement.prototype.getAttributeNS = function(namespaceURI, localName) {};\\n\\n/**\\n * @param {?string} namespaceURI\\n * @param {string} localName\\n * @return {!NodeList<!Element>}\\n * @see http://www.w3.org/TR/DOM-Level-3-Core/core.html#ID-A6C90942\\n * @nosideeffects\\n */\\nElement.prototype.getElementsByTagNameNS = function(namespaceURI, localName) {};\\n\\n/**\\n * @param {string} name\\n * @return {boolean}\\n * @see http://www.w3.org/TR/DOM-Level-3-Core/core.html#ID-ElHasAttr\\n * @nosideeffects\\n */\\nElement.prototype.hasAttribute = function(name) {};\\n\\n/**\\n * @param {?string} namespaceURI\\n * @param {string} localName\\n * @return {boolean}\\n * @see http://www.w3.org/TR/DOM-Level-3-Core/core.html#ID-ElHasAttrNS\\n * @nosideeffects\\n */\\nElement.prototype.hasAttributeNS = function(namespaceURI, localName) {};\\n\\n/**\\n * @param {?string} namespaceURI\\n * @param {string} localName\\n * @return {undefined}\\n * @see http://www.w3.org/TR/DOM-Level-3-Core/core.html#ID-ElRemAtNS\\n */\\nElement.prototype.removeAttributeNS = function(namespaceURI, localName) {};\\n\\n/**\\n * @param {Attr} newAttr\\n * @return {Attr}\\n * @see http://www.w3.org/TR/DOM-Level-3-Core/core.html#ID-ElSetAtNodeNS\\n */\\nElement.prototype.setAttributeNodeNS = function(newAttr) {};\\n\\n/**\\n * @param {?string} namespaceURI\\n * @param {string} qualifiedName\\n * @param {string|number|boolean} value Values are converted to strings with\\n *     ToString, so we accept number and boolean since both convert easily to\\n *     strings.\\n * @return {undefined}\\n * @see http://www.w3.org/TR/DOM-Level-3-Core/core.html#ID-ElSetAttrNS\\n */\\nElement.prototype.setAttributeNS = function(namespaceURI, qualifiedName, value) {};\\n\\n/**\\n * @param {string} name\\n * @param {boolean} isId\\n * @return {undefined}\\n * @see http://www.w3.org/TR/DOM-Level-3-Core/core.html#ID-ElSetIdAttr\\n */\\nElement.prototype.setIdAttribute = function(name, isId) {};\\n\\n/**\\n * @param {Attr} idAttr\\n * @param {boolean} isId\\n * @return {undefined}\\n * @see http://www.w3.org/TR/DOM-Level-3-Core/core.html#ID-ElSetIdAttrNode\\n */\\nElement.prototype.setIdAttributeNode = function(idAttr, isId) {};\\n\\n/**\\n * @param {?string} namespaceURI\\n * @param {string} localName\\n * @param {boolean} isId\\n * @return {undefined}\\n * @see http://www.w3.org/TR/DOM-Level-3-Core/core.html#ID-ElSetIdAttrNS\\n */\\nElement.prototype.setIdAttributeNS = function(namespaceURI, localName, isId) {};\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/DOM-Level-3-Core/core.html#Text3-wholeText\\n */\\nText.prototype.wholeText;\\n\\n/**\\n * @param {string} newText\\n * @return {Text}\\n * @see http://www.w3.org/TR/DOM-Level-3-Core/core.html#Text3-replaceWholeText\\n */\\nText.prototype.replaceWholeText = function(newText) {};\\n\\n/**\\n * @constructor\\n * @see http://www.w3.org/TR/DOM-Level-3-Core/core.html#TypeInfo\\n */\\nfunction TypeInfo() {}\\n\\n/**\\n * @type {number}\\n * @see http://www.w3.org/TR/DOM-Level-3-Core/core.html#TypeInfo-DERIVATION_EXTENSION\\n */\\nTypeInfo.prototype.DERIVATION_EXTENSION;\\n\\n/**\\n * @type {number}\\n * @see http://www.w3.org/TR/DOM-Level-3-Core/core.html#TypeInfo-DERIVATION_LIST\\n */\\nTypeInfo.prototype.DERIVATION_LIST;\\n\\n/**\\n * @type {number}\\n * @see http://www.w3.org/TR/DOM-Level-3-Core/core.html#TypeInfo-DERIVATION_RESTRICTION\\n */\\nTypeInfo.prototype.DERIVATION_RESTRICTION;\\n\\n/**\\n * @type {number}\\n * @see http://www.w3.org/TR/DOM-Level-3-Core/core.html#TypeInfo-DERIVATION_UNION\\n */\\nTypeInfo.prototype.DERIVATION_UNION;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/DOM-Level-3-Core/core.html#TypeInfo-typeName\\n */\\nTypeInfo.prototype.typeName;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/DOM-Level-3-Core/core.html#TypeInfo-typeNamespace\\n */\\nTypeInfo.prototype.typeNamespace;\\n\\n/**\\n * @param {string} typeNamespaceArg\\n * @param {string} typeNameArg\\n * @param {number} derivationMethod\\n * @return {boolean}\\n * @see http://www.w3.org/TR/DOM-Level-3-Core/core.html#TypeInfo-isDerivedFrom\\n * @nosideeffects\\n */\\nTypeInfo.prototype.isDerivedFrom = function(typeNamespaceArg, typeNameArg, derivationMethod) {};\\n\\n/**\\n * @constructor\\n * @see http://www.w3.org/TR/DOM-Level-3-Core/core.html#UserDataHandler\\n */\\nfunction UserDataHandler() {}\\n\\n/**\\n * @type {number}\\n * @see http://www.w3.org/TR/DOM-Level-3-Core/core.html#UserDataHandler-CLONED\\n */\\nUserDataHandler.prototype.NODE_CLONED = 1;\\n\\n/**\\n * @type {number}\\n * @see http://www.w3.org/TR/DOM-Level-3-Core/core.html#UserDataHandler-IMPORTED\\n */\\nUserDataHandler.prototype.NODE_IMPORTED = 2;\\n\\n/**\\n * @type {number}\\n * @see http://www.w3.org/TR/DOM-Level-3-Core/core.html#UserDataHandler-DELETED\\n */\\nUserDataHandler.prototype.NODE_DELETED = 3;\\n\\n/**\\n * @type {number}\\n * @see http://www.w3.org/TR/DOM-Level-3-Core/core.html#UserDataHandler-RENAMED\\n */\\nUserDataHandler.prototype.NODE_RENAMED = 4;\\n\\n/**\\n * @type {number}\\n * @see http://www.w3.org/TR/DOM-Level-3-Core/core.html#UserDataHandler-ADOPTED\\n */\\nUserDataHandler.prototype.NODE_ADOPTED = 5;\\n\\n/**\\n * @param {number} operation\\n * @param {string} key\\n * @param {*=} opt_data\\n * @param {?Node=} opt_src\\n * @param {?Node=} opt_dst\\n * @return {undefined}\\n * @see http://www.w3.org/TR/DOM-Level-3-Core/core.html#ID-handleUserDataEvent\\n */\\nUserDataHandler.prototype.handle = function(operation, key, opt_data,\\n  opt_src, opt_dst) {};\\n\\n/**\\n * @constructor\\n * @see http://www.w3.org/TR/DOM-Level-3-Core/core.html#ERROR-Interfaces-DOMError\\n */\\nfunction DOMError() {}\\n\\n/**\\n * @type {DOMLocator}\\n * @see http://www.w3.org/TR/DOM-Level-3-Core/core.html#ERROR-DOMError-location\\n */\\nDOMError.prototype.location;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/DOM-Level-3-Core/core.html#ERROR-DOMError-message\\n */\\nDOMError.prototype.message;\\n\\n/**\\n * @type {Object}\\n * @see http://www.w3.org/TR/DOM-Level-3-Core/core.html#ERROR-DOMError-relatedData\\n */\\nDOMError.prototype.relatedData;\\n\\n/**\\n * @type {Object}\\n * @see http://www.w3.org/TR/DOM-Level-3-Core/core.html#ERROR-DOMError-relatedException\\n */\\nDOMError.prototype.relatedException;\\n\\n/**\\n * @type {number}\\n * @see http://www.w3.org/TR/DOM-Level-3-Core/core.html#ERROR-DOMError-severity-warning\\n */\\nDOMError.SEVERITY_WARNING = 1;\\n\\n/**\\n * @type {number}\\n * @see http://www.w3.org/TR/DOM-Level-3-Core/core.html#ERROR-DOMError-severity-error\\n */\\nDOMError.SEVERITY_ERROR = 2;\\n\\n/**\\n * @type {number}\\n * @see http://www.w3.org/TR/DOM-Level-3-Core/core.html#ERROR-DOMError-severity-fatal-error\\n */\\nDOMError.SEVERITY_FATAL_ERROR = 3;\\n\\n/**\\n * @type {number}\\n * @see http://www.w3.org/TR/DOM-Level-3-Core/core.html#ERROR-DOMError-severity\\n */\\nDOMError.prototype.severity;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/DOM-Level-3-Core/core.html#ERROR-DOMError-type\\n */\\nDOMError.prototype.type;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/dom/#domerror\\n */\\nDOMError.prototype.name;\\n\\n/**\\n * @constructor\\n * @see http://www.w3.org/TR/DOM-Level-3-Core/core.html#ERROR-Interfaces-DOMErrorHandler\\n */\\nfunction DOMErrorHandler() {}\\n\\n/**\\n * @param {DOMError} error\\n * @return {boolean}\\n * @see http://www.w3.org/TR/DOM-Level-3-Core/core.html#ID-ERRORS-DOMErrorHandler-handleError\\n */\\nDOMErrorHandler.prototype.handleError = function(error) {};\\n\\n/**\\n * @constructor\\n * @see http://www.w3.org/TR/DOM-Level-3-Core/core.html#Interfaces-DOMLocator\\n */\\nfunction DOMLocator() {}\\n\\n/**\\n * @type {number}\\n * @see http://www.w3.org/TR/DOM-Level-3-Core/core.html#DOMLocator-byteOffset\\n */\\nDOMLocator.prototype.byteOffset;\\n\\n/**\\n * @type {number}\\n * @see http://www.w3.org/TR/DOM-Level-3-Core/core.html#DOMLocator-column-number\\n */\\nDOMLocator.prototype.columnNumber;\\n\\n/**\\n * @type {number}\\n * @see http://www.w3.org/TR/DOM-Level-3-Core/core.html#DOMLocator-line-number\\n */\\nDOMLocator.prototype.lineNumber;\\n\\n/**\\n * @type {Node}\\n * @see http://www.w3.org/TR/DOM-Level-3-Core/core.html#DOMLocator-node\\n */\\nDOMLocator.prototype.relatedNode;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/DOM-Level-3-Core/core.html#DOMLocator-uri\\n */\\nDOMLocator.prototype.uri;\\n\\n/**\\n * @type {number}\\n * @see http://www.w3.org/TR/DOM-Level-3-Core/core.html#DOMLocator-utf16Offset\\n */\\nDOMLocator.prototype.utf16Offset;\\n\\n/**\\n * @constructor\\n * @see http://www.w3.org/TR/DOM-Level-3-Core/core.html#DOMConfiguration\\n */\\nfunction DOMConfiguration() {}\\n\\n/**\\n * @type {DOMStringList}\\n * @see http://www.w3.org/TR/DOM-Level-3-Core/core.html#DOMConfiguration-parameterNames\\n */\\nDOMConfiguration.prototype.parameterNames;\\n\\n/**\\n * @param {string} name\\n * @return {boolean}\\n * @see http://www.w3.org/TR/DOM-Level-3-Core/core.html#DOMConfiguration-canSetParameter\\n * @nosideeffects\\n */\\nDOMConfiguration.prototype.canSetParameter = function(name) {};\\n\\n/**\\n * @param {string} name\\n * @return {*}\\n * @see http://www.w3.org/TR/DOM-Level-3-Core/core.html#DOMConfiguration-getParameter\\n * @nosideeffects\\n */\\nDOMConfiguration.prototype.getParameter = function(name) {};\\n\\n/**\\n * @param {string} name\\n * @param {*} value\\n * @return {*}\\n * @see http://www.w3.org/TR/DOM-Level-3-Core/core.html#DOMConfiguration-property\\n */\\nDOMConfiguration.prototype.setParameter = function(name, value) {};\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/DOM-Level-3-Core/core.html#ID-Core-DocType-internalSubset\\n */\\nDocumentType.prototype.internalSubset;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/DOM-Level-3-Core/core.html#ID-Core-DocType-publicId\\n */\\nDocumentType.prototype.publicId;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/DOM-Level-3-Core/core.html#ID-Core-DocType-systemId\\n */\\nDocumentType.prototype.systemId;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/DOM-Level-3-Core/core.html#Entity3-inputEncoding\\n */\\nEntity.prototype.inputEncoding;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/DOM-Level-3-Core/core.html#Entity3-encoding\\n */\\nEntity.prototype.xmlEncoding;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/DOM-Level-3-Core/core.html#Entity3-version\\n */\\nEntity.prototype.xmlVersion;\\n","externs/w3c_dom4.js":"/*\\n * Copyright 2016 The Closure Compiler Authors\\n *\\n * Licensed under the Apache License, Version 2.0 (the \\"License\\");\\n * you may not use this file except in compliance with the License.\\n * You may obtain a copy of the License at\\n *\\n *     http://www.apache.org/licenses/LICENSE-2.0\\n *\\n * Unless required by applicable law or agreed to in writing, software\\n * distributed under the License is distributed on an \\"AS IS\\" BASIS,\\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\\n * See the License for the specific language governing permissions and\\n * limitations under the License.\\n */\\n\\n/**\\n * @fileoverview Definitions for W3C\'s DOM4 specification. This file depends on\\n * w3c_dom3.js. The whole file has been fully type annotated. Created from\\n * https://www.w3.org/TR/domcore/.\\n *\\n * @externs\\n * @author zhoumotongxue008@gmail.com (Michael Zhou)\\n */\\n\\n/**\\n * @typedef {?(DocumentType|Element|CharacterData)}\\n * @see https://www.w3.org/TR/domcore/#interface-childnode\\n */\\nvar ChildNode;\\n\\n/**\\n * @return {undefined}\\n * @see https://www.w3.org/TR/domcore/#dom-childnode-remove\\n */\\nDocumentType.prototype.remove = function() {};\\n\\n/**\\n * @return {undefined}\\n * @see https://www.w3.org/TR/domcore/#dom-childnode-remove\\n */\\nElement.prototype.remove = function() {};\\n\\n/**\\n * @return {undefined}\\n * @see https://www.w3.org/TR/domcore/#dom-childnode-remove\\n */\\nCharacterData.prototype.remove = function() {};\\n","externs/gecko_dom.js":"/*\\n * Copyright 2008 The Closure Compiler Authors\\n *\\n * Licensed under the Apache License, Version 2.0 (the \\"License\\");\\n * you may not use this file except in compliance with the License.\\n * You may obtain a copy of the License at\\n *\\n *     http://www.apache.org/licenses/LICENSE-2.0\\n *\\n * Unless required by applicable law or agreed to in writing, software\\n * distributed under the License is distributed on an \\"AS IS\\" BASIS,\\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\\n * See the License for the specific language governing p';
a.a+="ermissions and\\n * limitations under the License.\\n */\\n\\n/**\\n * @fileoverview Definitions for all the extensions over\\n *  W3C's DOM specification by Gecko. This file depends on\\n *  w3c_dom2.js.\\n *\\n * When a non-standard extension appears in both Gecko and IE, we put\\n * it in gecko_dom.js\\n *\\n * @externs\\n * @author acleung@google.com (Alan Leung)\\n */\\n\\n// TODO: Almost all of it has not been annotated with types.\\n\\n// Gecko DOM;\\n\\n/**\\n * Mozilla only???\\n * @constructor\\n * @extends {HTMLElement}\\n */\\nfunction HTMLSpanElement() {}\\n\\n/**\\n * @see https://developer.mozilla.org/en/Components_object\\n */\\nWindow.prototype.Components;\\n\\n/**\\n * @type {Window}\\n * @see https://developer.mozilla.org/en/DOM/window.content\\n */\\nWindow.prototype.content;\\n\\n/**\\n * @type {boolean}\\n * @see https://developer.mozilla.org/en/DOM/window.closed\\n */\\nWindow.prototype.closed;\\n\\n/** @see https://developer.mozilla.org/en/DOM/window.controllers */\\nWindow.prototype.controllers;\\n\\n/** @see https://developer.mozilla.org/en/DOM/window.crypto */\\nWindow.prototype.crypto;\\n\\n/**\\n * Gets/sets the status bar text for the given window.\\n * @type {string}\\n * @see https://developer.mozilla.org/en/DOM/window.defaultStatus\\n */\\nWindow.prototype.defaultStatus;\\n\\n/** @see https://developer.mozilla.org/en/DOM/window.dialogArguments */\\nWindow.prototype.dialogArguments;\\n\\n/** @see https://developer.mozilla.org/en/DOM/window.directories */\\nWindow.prototype.directories;\\n\\n/**\\n * @type {HTMLObjectElement|HTMLIFrameElement|null}\\n * @see https://developer.mozilla.org/en/DOM/window.frameElement\\n */\\nWindow.prototype.frameElement;\\n\\n/**\\n * Allows lookup of frames by index or by name.\\n * @type {?Object}\\n * @see https://developer.mozilla.org/en/DOM/window.frames\\n */\\nWindow.prototype.frames;\\n\\n/**\\n * @type {boolean}\\n * @see https://developer.mozilla.org/en/DOM/window.fullScreen\\n */\\nWindow.prototype.fullScreen;\\n\\n/**\\n * @return {!Promise<!BatteryManager>}\\n * @see http://www.w3.org/TR/battery-status/\\n */\\nNavigator.prototype.getBattery = function() {};\\n\\n/**\\n * @see https://developer.mozilla.org/en/DOM/Storage#globalStorage\\n */\\nWindow.prototype.globalStorage;\\n\\n/**\\n * @type {!History}\\n * @suppress {duplicate}\\n * @see https://developer.mozilla.org/en/DOM/window.history\\n */\\nvar history;\\n\\n/**\\n * Returns the number of frames (either frame or iframe elements) in the\\n * window.\\n *\\n * @type {number}\\n * @see https://developer.mozilla.org/en/DOM/window.length\\n */\\nWindow.prototype.length;\\n\\n/**\\n * Location has an exception in the DeclaredGlobalExternsOnWindow pass\\n * so we have to manually include it:\\n * https://github.com/google/closure-compiler/blob/master/src/com/google/javascript/jscomp/DeclaredGlobalExternsOnWindow.java#L116\\n *\\n * @type {!Location}\\n * @implicitCast\\n * @see https://developer.mozilla.org/en/DOM/window.location\\n */\\nWindow.prototype.location;\\n\\n/**\\n * @see https://developer.mozilla.org/en/DOM/window.locationbar\\n */\\nWindow.prototype.locationbar;\\n\\n/**\\n * @see https://developer.mozilla.org/en/DOM/window.menubar\\n */\\nWindow.prototype.menubar;\\n\\n/**\\n * @type {string}\\n * @see https://developer.mozilla.org/en/DOM/window.name\\n */\\nWindow.prototype.name;\\n\\n/**\\n * @type {Navigator}\\n * @see https://developer.mozilla.org/en/DOM/window.navigator\\n */\\nWindow.prototype.navigator;\\n\\n/**\\n * @type {?Window}\\n * @see https://developer.mozilla.org/en/DOM/window.opener\\n */\\nWindow.prototype.opener;\\n\\n/**\\n * @type {!Window}\\n * @see https://developer.mozilla.org/en/DOM/window.parent\\n */\\nWindow.prototype.parent;\\n\\n/** @see https://developer.mozilla.org/en/DOM/window.personalbar */\\nWindow.prototype.personalbar;\\n\\n/** @see https://developer.mozilla.org/en/DOM/window.pkcs11 */\\nWindow.prototype.pkcs11;\\n\\n/** @see https://developer.mozilla.org/en/DOM/window */\\nWindow.prototype.returnValue;\\n\\n/** @see https://developer.mozilla.org/en/DOM/window.scrollbars */\\nWindow.prototype.scrollbars;\\n\\n/**\\n * @type {number}\\n * @see https://developer.mozilla.org/En/DOM/window.scrollMaxX\\n */\\nWindow.prototype.scrollMaxX;\\n\\n/**\\n * @type {number}\\n * @see https://developer.mozilla.org/En/DOM/window.scrollMaxY\\n */\\nWindow.prototype.scrollMaxY;\\n\\n/**\\n * @type {!Window}\\n * @see https://developer.mozilla.org/en/DOM/window.self\\n */\\nWindow.prototype.self;\\n\\n/** @see https://developer.mozilla.org/en/DOM/Storage#sessionStorage */\\nWindow.prototype.sessionStorage;\\n\\n/** @see https://developer.mozilla.org/en/DOM/window.sidebar */\\nWindow.prototype.sidebar;\\n\\n/**\\n * @type {?string}\\n * @see https://developer.mozilla.org/en/DOM/window.status\\n */\\nWindow.prototype.status;\\n\\n/** @see https://developer.mozilla.org/en/DOM/window.statusbar */\\nWindow.prototype.statusbar;\\n\\n/** @see https://developer.mozilla.org/en/DOM/window.toolbar */\\nWindow.prototype.toolbar;\\n\\n/**\\n * @type {!Window}\\n * @see https://developer.mozilla.org/en/DOM/window.self\\n */\\nWindow.prototype.top;\\n\\n/**\\n * @type {!Window}\\n * @see https://developer.mozilla.org/en/DOM/window.self\\n */\\nWindow.prototype.window;\\n\\n/**\\n * @param {*} message\\n * @see https://developer.mozilla.org/en/DOM/window.alert\\n * @return {undefined}\\n */\\nWindow.prototype.alert = function(message) {};\\n\\n/**\\n * Decodes a string of data which has been encoded using base-64 encoding.\\n *\\n * @param {string} encodedData\\n * @return {string}\\n * @see https://developer.mozilla.org/en/DOM/window.atob\\n * @nosideeffects\\n */\\nfunction atob(encodedData) {}\\n\\n/**\\n * @see https://developer.mozilla.org/en/DOM/window.back\\n * @return {undefined}\\n */\\nWindow.prototype.back = function() {};\\n\\n/**\\n * @see https://developer.mozilla.org/en/DOM/window.blur\\n * @return {undefined}\\n */\\nWindow.prototype.blur = function() {};\\n\\n/**\\n * @param {string} stringToEncode\\n * @return {string}\\n * @see https://developer.mozilla.org/en/DOM/window.btoa\\n * @nosideeffects\\n */\\nfunction btoa(stringToEncode) {}\\n\\n/** @deprecated */\\nWindow.prototype.captureEvents;\\n\\n/**\\n * @see https://developer.mozilla.org/en/DOM/window.close\\n * @return {undefined}\\n */\\nWindow.prototype.close = function() {};\\n\\n/**@see https://developer.mozilla.org/en/DOM/window.find */\\nWindow.prototype.find;\\n\\n/**\\n * @see https://developer.mozilla.org/en/DOM/window.focus\\n * @return {undefined}\\n */\\nWindow.prototype.focus = function() {};\\n\\n/**\\n * @see https://developer.mozilla.org/en/DOM/window.forward\\n * @return {undefined}\\n */\\nWindow.prototype.forward = function() {};\\n\\n/**\\n * @see https://developer.mozilla.org/en/DOM/window.getAttention\\n * @return {undefined}\\n */\\nWindow.prototype.getAttention = function() {};\\n\\n/**\\n * @return {Selection}\\n * @see https://developer.mozilla.org/en/DOM/window.getSelection\\n * @nosideeffects\\n */\\nWindow.prototype.getSelection = function() {};\\n\\n/**\\n * @see https://developer.mozilla.org/en/DOM/window.home\\n * @return {undefined}\\n */\\nWindow.prototype.home = function() {};\\n\\nWindow.prototype.openDialog;\\nWindow.prototype.releaseEvents;\\nWindow.prototype.scrollByLines;\\nWindow.prototype.scrollByPages;\\n\\n/**\\n * @param {string} uri\\n * @param {?=} opt_arguments\\n * @param {string=} opt_options\\n * @see https://developer.mozilla.org/en/DOM/window.showModalDialog\\n */\\nWindow.prototype.showModalDialog;\\n\\nWindow.prototype.sizeToContent;\\n\\n/**\\n * @see http://msdn.microsoft.com/en-us/library/ms536769(VS.85).aspx\\n * @return {undefined}\\n */\\nWindow.prototype.stop = function() {};\\n\\nWindow.prototype.updateCommands;\\n\\n// properties of Document\\n\\n/**\\n * @see https://developer.mozilla.org/en/DOM/document.alinkColor\\n * @type {string}\\n */\\nDocument.prototype.alinkColor;\\n\\n/**\\n * @see https://developer.mozilla.org/en/DOM/document.anchors\\n * @type {HTMLCollection<!HTMLAnchorElement>}\\n */\\nDocument.prototype.anchors;\\n\\n/**\\n * @see https://developer.mozilla.org/en/DOM/document.applets\\n * @type {HTMLCollection<!HTMLAppletElement>}\\n */\\nDocument.prototype.applets;\\n/** @type {boolean} */ Document.prototype.async;\\n/** @type {string?} */ Document.prototype.baseURI;\\n\\n/**\\n * @see https://developer.mozilla.org/en/DOM/document.bgColor\\n * @type {string}\\n */\\nDocument.prototype.bgColor;\\n\\n/** @type {HTMLBodyElement} */ Document.prototype.body;\\nDocument.prototype.characterSet;\\n\\n/**\\n * @see https://developer.mozilla.org/en/DOM/document.compatMode\\n * @type {string}\\n */\\nDocument.prototype.compatMode;\\n\\nDocument.prototype.contentType;\\n/** @type {string} */ Document.prototype.cookie;\\nDocument.prototype.defaultView;\\n\\n/**\\n * @see https://developer.mozilla.org/en/DOM/document.designMode\\n * @type {string}\\n */\\nDocument.prototype.designMode;\\n\\nDocument.prototype.documentURIObject;\\n\\n/**\\n * @see https://developer.mozilla.org/en/DOM/document.domain\\n * @type {string}\\n */\\nDocument.prototype.domain;\\n\\n/**\\n * @see https://developer.mozilla.org/en/DOM/document.embeds\\n * @type {HTMLCollection<!HTMLEmbedElement>}\\n */\\nDocument.prototype.embeds;\\n\\n/**\\n * @see https://developer.mozilla.org/en/DOM/document.fgColor\\n * @type {string}\\n */\\nDocument.prototype.fgColor;\\n\\n/** @type {Element} */ Document.prototype.firstChild;\\n\\n/**\\n * @see https://developer.mozilla.org/en/DOM/document.forms\\n * @type {HTMLCollection<!HTMLFormElement>}\\n */\\nDocument.prototype.forms;\\n\\n/** @type {number} */\\nDocument.prototype.height;\\n\\n/** @type {HTMLCollection<!HTMLImageElement>} */\\nDocument.prototype.images;\\n\\n/**\\n * @type {string}\\n * @see https://developer.mozilla.org/en/DOM/document.lastModified\\n */\\nDocument.prototype.lastModified;\\n\\n/**\\n * @type {string}\\n * @see https://developer.mozilla.org/en/DOM/document.linkColor\\n */\\nDocument.prototype.linkColor;\\n\\n/**\\n * @see https://developer.mozilla.org/en/DOM/document.links\\n * @type {HTMLCollection<(!HTMLAreaElement|!HTMLAnchorElement)>}\\n */\\nDocument.prototype.links;\\n\\n/**\\n * @type {!Location}\\n * @implicitCast\\n */\\nDocument.prototype.location;\\n\\nDocument.prototype.namespaceURI;\\nDocument.prototype.nodePrincipal;\\nDocument.prototype.plugins;\\nDocument.prototype.popupNode;\\n\\n/**\\n * @type {string}\\n * @see https://developer.mozilla.org/en/DOM/document.referrer\\n */\\nDocument.prototype.referrer;\\n\\n/**\\n * @type {StyleSheetList}\\n * @see https://developer.mozilla.org/en/DOM/document.styleSheets\\n */\\nDocument.prototype.styleSheets;\\n\\n/** @type {?string} */ Document.prototype.title;\\nDocument.prototype.tooltipNode;\\n/** @type {string} */ Document.prototype.URL;\\n\\n/**\\n * @type {string}\\n * @see https://developer.mozilla.org/en/DOM/document.vlinkColor\\n */\\nDocument.prototype.vlinkColor;\\n\\n/** @type {number} */ Document.prototype.width;\\n\\n// Methods of Document\\n/**\\n * @see https://developer.mozilla.org/en/DOM/document.clear\\n * @return {undefined}\\n */\\nDocument.prototype.clear = function() {};\\n\\n/**\\n * @see https://developer.mozilla.org/en/DOM/document.close\\n */\\nDocument.prototype.close;\\n\\n/**\\n * @param {string} type\\n * @return {Event}\\n */\\nDocument.prototype.createEvent = function(type) {};\\nDocument.prototype.createNSResolver;\\n/** @return {Range} */ Document.prototype.createRange = function() {};\\nDocument.prototype.createTreeWalker;\\n\\nDocument.prototype.evaluate;\\n\\n/**\\n * @param {string} commandName\\n * @param {?boolean=} opt_showUi\\n * @param {*=} opt_value\\n * @see https://developer.mozilla.org/en/Rich-Text_Editing_in_Mozilla#Executing_Commands\\n */\\nDocument.prototype.execCommand;\\n\\n/**\\n * @param {string} name\\n * @return {!NodeList<!Element>}\\n * @nosideeffects\\n * @see https://developer.mozilla.org/en/DOM/document.getElementsByClassName\\n */\\nDocument.prototype.getElementsByClassName = function(name) {};\\n\\n/**\\n * @param {string} uri\\n * @return {undefined}\\n */\\nDocument.prototype.load = function(uri) {};\\nDocument.prototype.loadOverlay;\\n\\n/**\\n * @see https://developer.mozilla.org/en/DOM/document.open\\n */\\nDocument.prototype.open;\\n\\n/**\\n * @see https://developer.mozilla.org/en/Midas\\n * @see http://msdn.microsoft.com/en-us/library/ms536676(VS.85).aspx\\n */\\nDocument.prototype.queryCommandEnabled;\\n\\n/**\\n * @see https://developer.mozilla.org/en/Midas\\n * @see http://msdn.microsoft.com/en-us/library/ms536678(VS.85).aspx\\n */\\nDocument.prototype.queryCommandIndeterm;\\n\\n/**\\n * @see https://developer.mozilla.org/en/Midas\\n * @see http://msdn.microsoft.com/en-us/library/ms536679(VS.85).aspx\\n */\\nDocument.prototype.queryCommandState;\\n\\n/**\\n * @see https://developer.mozilla.org/en/DOM/document.queryCommandSupported\\n * @see http://msdn.microsoft.com/en-us/library/ms536681(VS.85).aspx\\n * @param {string} command\\n * @return {?} Implementation-specific.\\n */\\nDocument.prototype.queryCommandSupported;\\n\\n/**\\n * @see https://developer.mozilla.org/en/Midas\\n * @see http://msdn.microsoft.com/en-us/library/ms536683(VS.85).aspx\\n */\\nDocument.prototype.queryCommandValue;\\n\\n/**\\n * @see https://developer.mozilla.org/en/DOM/document.write\\n * @param {string} text\\n * @return {undefined}\\n */\\nDocument.prototype.write = function(text) {};\\n\\n/**\\n * @see https://developer.mozilla.org/en/DOM/document.writeln\\n * @param {string} text\\n * @return {undefined}\\n */\\nDocument.prototype.writeln = function(text) {};\\n\\nDocument.prototype.ononline;\\nDocument.prototype.onoffline;\\n\\n// XUL\\n/**\\n * @see http://developer.mozilla.org/en/DOM/document.getBoxObjectFor\\n * @return {BoxObject}\\n * @nosideeffects\\n */\\nDocument.prototype.getBoxObjectFor = function(element) {};\\n\\n// From:\\n// http://lxr.mozilla.org/mozilla1.8/source/dom/public/idl/range/nsIDOMNSRange.idl\\n\\n/**\\n * @param {string} tag\\n * @return {DocumentFragment}\\n */\\nRange.prototype.createContextualFragment;\\n\\n/**\\n * @param {Node} parent\\n * @param {number} offset\\n * @return {boolean}\\n * @nosideeffects\\n */\\nRange.prototype.isPointInRange;\\n\\n/**\\n * @param {Node} parent\\n * @param {number} offset\\n * @return {number}\\n * @nosideeffects\\n */\\nRange.prototype.comparePoint;\\n\\n/**\\n * @param {Node} n\\n * @return {boolean}\\n * @nosideeffects\\n */\\nRange.prototype.intersectsNode;\\n\\n/**\\n * @param {Node} n\\n * @return {number}\\n * @nosideeffects\\n */\\nRange.prototype.compareNode;\\n\\n\\n/** @constructor */\\nfunction Selection() {}\\n\\n/**\\n * @type {Node}\\n * @see https://developer.mozilla.org/en/DOM/Selection/anchorNode\\n */\\nSelection.prototype.anchorNode;\\n\\n/**\\n * @type {number}\\n * @see https://developer.mozilla.org/en/DOM/Selection/anchorOffset\\n */\\nSelection.prototype.anchorOffset;\\n\\n/**\\n * @type {Node}\\n * @see https://developer.mozilla.org/en/DOM/Selection/focusNode\\n */\\nSelection.prototype.focusNode;\\n\\n/**\\n * @type {number}\\n * @see https://developer.mozilla.org/en/DOM/Selection/focusOffset\\n */\\nSelection.prototype.focusOffset;\\n\\n/**\\n * @type {boolean}\\n * @see https://developer.mozilla.org/en/DOM/Selection/isCollapsed\\n */\\nSelection.prototype.isCollapsed;\\n\\n/**\\n * @type {number}\\n * @see https://developer.mozilla.org/en/DOM/Selection/rangeCount\\n */\\nSelection.prototype.rangeCount;\\n\\n/**\\n * @param {Range} range\\n * @return {undefined}\\n * @see https://developer.mozilla.org/en/DOM/Selection/addRange\\n */\\nSelection.prototype.addRange = function(range) {};\\n\\n/**\\n * @param {number} index\\n * @return {Range}\\n * @see https://developer.mozilla.org/en/DOM/Selection/getRangeAt\\n * @nosideeffects\\n */\\nSelection.prototype.getRangeAt = function(index) {};\\n\\n/**\\n * @param {Node} node\\n * @param {number} index\\n * @return {undefined}\\n * @see https://developer.mozilla.org/en/DOM/Selection/collapse\\n */\\nSelection.prototype.collapse = function(node, index) {};\\n\\n/**\\n * @return {undefined}\\n * @see https://developer.mozilla.org/en/DOM/Selection/collapseToEnd\\n */\\nSelection.prototype.collapseToEnd = function() {};\\n\\n/**\\n * @return {undefined}\\n * @see https://developer.mozilla.org/en/DOM/Selection/collapseToStart\\n */\\nSelection.prototype.collapseToStart = function() {};\\n\\n/**\\n * @param {Node} node\\n * @param {boolean} partlyContained\\n * @return {boolean}\\n * @see https://developer.mozilla.org/en/DOM/Selection/containsNode\\n * @nosideeffects\\n */\\nSelection.prototype.containsNode = function(node, partlyContained) {};\\n\\n/**\\n * @see https://developer.mozilla.org/en/DOM/Selection/deleteFromDocument\\n * @return {undefined}\\n */\\nSelection.prototype.deleteFromDocument = function() {};\\n\\n/**\\n * @param {Node} parentNode\\n * @param {number} offset\\n * @se";
a.a+="e https://developer.mozilla.org/en/DOM/Selection/extend\\n * @return {undefined}\\n */\\nSelection.prototype.extend = function(parentNode, offset) {};\\n\\n/**\\n * @see https://developer.mozilla.org/en/DOM/Selection/removeAllRanges\\n * @return {undefined}\\n */\\nSelection.prototype.removeAllRanges = function() {};\\n\\n/**\\n * @param {Range} range\\n * @see https://developer.mozilla.org/en/DOM/Selection/removeRange\\n * @return {undefined}\\n */\\nSelection.prototype.removeRange = function(range) {};\\n\\n/**\\n * @param {Node} parentNode\\n * @see https://developer.mozilla.org/en/DOM/Selection/selectAllChildren\\n */\\nSelection.prototype.selectAllChildren;\\n\\n/**\\n * @see https://developer.mozilla.org/en/DOM/Selection/selectionLanguageChange\\n */\\nSelection.prototype.selectionLanguageChange;\\n\\n/**\\n * @type {!NodeList<!Element>}\\n * @see https://developer.mozilla.org/en/DOM/element.children\\n */\\nElement.prototype.children;\\n\\n/**\\n * Firebug sets this property on elements it is inserting into the DOM.\\n * @type {boolean}\\n */\\nElement.prototype.firebugIgnore;\\n\\n/**\\n * Note: According to the spec, id is actually defined on HTMLElement and\\n * SVGElement, rather than Element. Deliberately ignore this so that saying\\n * Element.id is allowed.\\n * @type {string}\\n * @implicitCast\\n */\\nElement.prototype.id;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/DOM-Parsing/#widl-Element-innerHTML\\n * @implicitCast\\n */\\nElement.prototype.innerHTML;\\n\\n/**\\n * Note: According to the spec, name is defined on specific types of\\n * HTMLElements, rather than on Node, Element, or HTMLElement directly.\\n * Ignore this.\\n * @type {string}\\n */\\nElement.prototype.name;\\n\\nElement.prototype.nodePrincipal;\\n\\n/**\\n * @type {!CSSStyleDeclaration}\\n * This belongs on HTMLElement rather than Element, but that\\n * breaks a lot.\\n * TODO(rdcronin): Remove this declaration once the breakage is fixed.\\n */\\nElement.prototype.style;\\n\\n/**\\n * @override\\n * @return {!Element}\\n */\\nElement.prototype.cloneNode = function(deep) {};\\n\\n/** @return {undefined} */\\nElement.prototype.blur = function() {};\\n\\n/** @return {undefined} */\\nElement.prototype.click = function() {};\\n\\n/** @return {undefined} */\\nElement.prototype.focus = function() {};\\n\\n/** @type {number} */\\nHTMLInputElement.prototype.selectionStart;\\n\\n/** @type {number} */\\nHTMLInputElement.prototype.selectionEnd;\\n\\n/**\\n * @param {number} selectionStart\\n * @param {number} selectionEnd\\n * @see http://www.whatwg.org/specs/web-apps/current-work/multipage/editing.html#dom-textarea/input-setselectionrange\\n * @return {undefined}\\n */\\nHTMLInputElement.prototype.setSelectionRange =\\n    function(selectionStart, selectionEnd) {};\\n\\n/** @type {number} */\\nHTMLTextAreaElement.prototype.selectionStart;\\n\\n/** @type {number} */\\nHTMLTextAreaElement.prototype.selectionEnd;\\n\\n/**\\n * @param {number} selectionStart\\n * @param {number} selectionEnd\\n * @see http://www.whatwg.org/specs/web-apps/current-work/multipage/editing.html#dom-textarea/input-setselectionrange\\n * @return {undefined}\\n */\\nHTMLTextAreaElement.prototype.setSelectionRange =\\n    function(selectionStart, selectionEnd) {};\\n\\n/**\\n * @type {string}\\n * @see https://developer.mozilla.org/en/Navigator.buildID\\n */\\nNavigator.prototype.buildID;\\n\\n/**\\n * @type {!Array<string>|undefined}\\n * @see https://developer.mozilla.org/en/Navigator.languages\\n */\\nNavigator.prototype.languages;\\n\\n/**\\n * @type {string}\\n * @see https://developer.mozilla.org/en/Navigator.oscpu\\n */\\nNavigator.prototype.oscpu;\\n\\n/**\\n * @type {string}\\n * @see https://developer.mozilla.org/en/Navigator.productSub\\n */\\nNavigator.prototype.productSub;\\n\\n/**\\n * @type {string}\\n * @see https://developer.mozilla.org/en/Navigator.securityPolicy\\n */\\nNavigator.prototype.securityPolicy;\\n\\n/**\\n * @param {string} url\\n * @param {ArrayBufferView|Blob|string|FormData=} opt_data\\n * @return {boolean}\\n * @see https://developer.mozilla.org/en-US/docs/Web/API/navigator.sendBeacon\\n */\\nNavigator.prototype.sendBeacon = function(url, opt_data) {};\\n\\n/**\\n * @type {string}\\n * @see https://developer.mozilla.org/en/Navigator.vendor\\n */\\nNavigator.prototype.vendor;\\n\\n/**\\n * @type {string}\\n * @see https://developer.mozilla.org/en/Navigator.vendorSub\\n */\\nNavigator.prototype.vendorSub;\\n\\n\\n/** @constructor */\\nfunction BoxObject() {}\\n\\n/** @type {Element} */\\nBoxObject.prototype.element;\\n\\n/** @type {number} */\\nBoxObject.prototype.screenX;\\n\\n/** @type {number} */\\nBoxObject.prototype.screenY;\\n\\n/** @type {number} */\\nBoxObject.prototype.x;\\n\\n/** @type {number} */\\nBoxObject.prototype.y;\\n\\n/** @type {number} */\\nBoxObject.prototype.width;\\n\\n\\n/**\\n * @param {Element} element\\n * @param {?string=} pseudoElt\\n * @return {CSSStyleDeclaration}\\n * @nosideeffects\\n */\\nfunction getComputedStyle(element, pseudoElt) {}\\n\",\"externs/ie_dom.js\":\"/*\\n * Copyright 2008 The Closure Compiler Authors\\n *\\n * Licensed under the Apache License, Version 2.0 (the \\\"License\\\");\\n * you may not use this file except in compliance with the License.\\n * You may obtain a copy of the License at\\n *\\n *     http://www.apache.org/licenses/LICENSE-2.0\\n *\\n * Unless required by applicable law or agreed to in writing, software\\n * distributed under the License is distributed on an \\\"AS IS\\\" BASIS,\\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\\n * See the License for the specific language governing permissions and\\n * limitations under the License.\\n */\\n\\n/**\\n * @fileoverview Definitions for all the extensions over the\\n *  W3C's DOM specification by IE in JScript. This file depends on\\n *  w3c_dom2.js. The whole file has NOT been fully type annotated.\\n *\\n * When a non-standard extension appears in both Gecko and IE, we put\\n * it in gecko_dom.js\\n *\\n * @externs\\n * @author acleung@google.com (Alan Leung)\\n * @author stevey@google.com (Steve Yegge)\\n */\\n\\n// TODO(nicksantos): Rewrite all the DOM interfaces as interfaces, instead\\n// of kludging them as an inheritance hierarchy.\\n\\n/**\\n * @constructor\\n * @extends {Document}\\n * @see http://msdn.microsoft.com/en-us/library/ms757878(VS.85).aspx\\n */\\nfunction XMLDOMDocument() {}\\n\\n/**\\n * @type {boolean}\\n * @see http://msdn.microsoft.com/en-us/library/ms761398(VS.85).aspx\\n */\\nXMLDOMDocument.prototype.async;\\n\\n/**\\n * @type {!Function}\\n * @see http://msdn.microsoft.com/en-us/library/ms762647(VS.85).aspx\\n */\\nXMLDOMDocument.prototype.ondataavailable;\\n\\n/**\\n * @type {!Function}\\n * @see http://msdn.microsoft.com/en-us/library/ms764640(VS.85).aspx\\n */\\nXMLDOMDocument.prototype.onreadystatechange;\\n\\n/**\\n * @type {!Function}\\n * @see http://msdn.microsoft.com/en-us/library/ms753795(VS.85).aspx\\n */\\nXMLDOMDocument.prototype.ontransformnode;\\n\\n/**\\n * @type {Object}\\n * @see http://msdn.microsoft.com/en-us/library/ms756041(VS.85).aspx\\n */\\nXMLDOMDocument.prototype.parseError;\\n\\n/**\\n * @type {boolean}\\n * @see http://msdn.microsoft.com/en-us/library/ms761353(VS.85).aspx\\n */\\nXMLDOMDocument.prototype.preserveWhiteSpace;\\n\\n/**\\n * @type {number}\\n * @see http://msdn.microsoft.com/en-us/library/ms753702(VS.85).aspx\\n */\\nXMLDOMDocument.prototype.readyState;\\n\\n/**\\n * @see http://msdn.microsoft.com/en-us/library/ms762283(VS.85).aspx\\n * @type {boolean}\\n */\\nXMLDOMDocument.prototype.resolveExternals;\\n\\n/**\\n * @see http://msdn.microsoft.com/en-us/library/ms760290(v=vs.85).aspx\\n * @param {string} name\\n * @param {*} value\\n * @return {undefined}\\n */\\nXMLDOMDocument.prototype.setProperty = function(name, value) {};\\n\\n/**\\n * @type {string}\\n * @see http://msdn.microsoft.com/en-us/library/ms767669(VS.85).aspx\\n */\\nXMLDOMDocument.prototype.url;\\n\\n/**\\n * @type {boolean}\\n * @see http://msdn.microsoft.com/en-us/library/ms762791(VS.85).aspx\\n */\\nXMLDOMDocument.prototype.validateOnParse;\\n\\n/**\\n * @see http://msdn.microsoft.com/en-us/library/ms763830(VS.85).aspx\\n * @return {undefined}\\n */\\nXMLDOMDocument.prototype.abort = function() {};\\n\\n/**\\n * @param {*} type\\n * @param {string} name\\n * @param {string} namespaceURI\\n * @return {Node}\\n * @see http://msdn.microsoft.com/en-us/library/ms757901(VS.85).aspx\\n * @nosideeffects\\n */\\nXMLDOMDocument.prototype.createNode = function(type, name, namespaceURI) {};\\n\\n/**\\n * @param {string} xmlSource\\n * @return {undefined}\\n * @see http://msdn.microsoft.com/en-us/library/ms762722(VS.85).aspx\\n * @override\\n */\\nXMLDOMDocument.prototype.load = function(xmlSource) {};\\n\\n/**\\n * @param {string} xmlString\\n * @return {boolean}\\n * @see http://msdn.microsoft.com/en-us/library/ms754585(VS.85).aspx\\n * @override\\n */\\nXMLDOMDocument.prototype.loadXML = function(xmlString) {};\\n\\n/**\\n * @param {string} id\\n * @return {Node}\\n * @see http://msdn.microsoft.com/en-us/library/ms766397(VS.85).aspx\\n */\\nXMLDOMDocument.prototype.nodeFromID = function(id) {};\\n\\n//==============================================================================\\n// XMLNode methods and properties\\n// In a real DOM hierarchy, XMLDOMDocument inherits from XMLNode and Document.\\n// Since we can't express that in our type system, we put XMLNode properties\\n// on Node.\\n\\n/**\\n * @type {string}\\n * @see http://msdn.microsoft.com/en-us/library/ms767570(VS.85).aspx\\n */\\nNode.prototype.baseName;\\n\\n/**\\n * @type {?string}\\n * @see http://msdn.microsoft.com/en-us/library/ms762763(VS.85).aspx\\n */\\nNode.prototype.dataType;\\n\\n/**\\n * @type {Node}\\n * @see http://msdn.microsoft.com/en-us/library/ms764733(VS.85).aspx\\n */\\nNode.prototype.definition;\\n\\n/**\\n * IE5 used document instead of ownerDocument.\\n * Old versions of WebKit used document instead of contentDocument.\\n * @type {Document}\\n */\\nNode.prototype.document;\\n\\n\\n/**\\n * Inserts the given HTML text into the element at the location.\\n * @param {string} sWhere Where to insert the HTML text, one of 'beforeBegin',\\n *     'afterBegin', 'beforeEnd', 'afterEnd'.\\n * @param {string} sText HTML text to insert.\\n * @see http://msdn.microsoft.com/en-us/library/ms536452(VS.85).aspx\\n * @return {undefined}\\n */\\nNode.prototype.insertAdjacentHTML = function(sWhere, sText) {};\\n\\n\\n/**\\n * @type {*}\\n * @see http://msdn.microsoft.com/en-us/library/ms762308(VS.85).aspx\\n */\\nNode.prototype.nodeTypedValue;\\n\\n/**\\n * @type {string}\\n * @see http://msdn.microsoft.com/en-us/library/ms757895(VS.85).aspx\\n */\\nNode.prototype.nodeTypeString;\\n\\n/**\\n * @type {boolean}\\n * @see http://msdn.microsoft.com/en-us/library/ms762237(VS.85).aspx\\n */\\nNode.prototype.parsed;\\n\\n/**\\n * @type {Element}\\n * @see http://msdn.microsoft.com/en-us/library/ms534327(VS.85).aspx\\n */\\nNode.prototype.parentElement;\\n\\n/**\\n * @type {boolean}\\n * @see http://msdn.microsoft.com/en-us/library/ms753816(VS.85).aspx\\n */\\nNode.prototype.specified;\\n\\n/**\\n * @type {string}\\n * @see http://msdn.microsoft.com/en-us/library/ms762687(VS.85).aspx\\n */\\nNode.prototype.text;\\n\\n/**\\n * @type {string}\\n * @see http://msdn.microsoft.com/en-us/library/ms755989(VS.85).aspx\\n */\\nNode.prototype.xml;\\n\\n/**\\n * @param {string} expression An XPath expression.\\n * @return {!NodeList<!Node>}\\n * @see http://msdn.microsoft.com/en-us/library/ms754523(VS.85).aspx\\n * @nosideeffects\\n */\\nNode.prototype.selectNodes = function(expression) {};\\n\\n/**\\n * @param {string} expression An XPath expression.\\n * @return {Node}\\n * @see http://msdn.microsoft.com/en-us/library/ms757846(VS.85).aspx\\n * @nosideeffects\\n */\\nNode.prototype.selectSingleNode = function(expression) {};\\n\\n/**\\n * @param {Node} stylesheet XSLT stylesheet.\\n * @return {string}\\n * @see http://msdn.microsoft.com/en-us/library/ms761399(VS.85).aspx\\n * @nosideeffects\\n */\\nNode.prototype.transformNode = function(stylesheet) {};\\n\\n/**\\n * @param {Node} stylesheet XSLT stylesheet.\\n * @param {Object} outputObject\\n * @see http://msdn.microsoft.com/en-us/library/ms766561(VS.85).aspx\\n * @return {Object}\\n */\\nNode.prototype.transformNodeToObject =\\n    function(stylesheet, outputObject) {};\\n\\n//==============================================================================\\n// Node methods\\n\\n/**\\n * @param {boolean=} opt_bRemoveChildren Whether to remove the entire sub-tree.\\n *    Defaults to false.\\n * @return {Node} The object that was removed.\\n * @see http://msdn.microsoft.com/en-us/library/ms536708(VS.85).aspx\\n */\\nNode.prototype.removeNode = function(opt_bRemoveChildren) {};\\n\\n/**\\n * @constructor\\n */\\nfunction ClipboardData() {}\\n\\n/**\\n * @see http://msdn.microsoft.com/en-us/library/ms535220(VS.85).aspx\\n * @param {string=} opt_type Type of clipboard data to clear. 'Text' or\\n *     'URL' or 'File' or 'HTML' or 'Image'.\\n * @return {undefined}\\n */\\nClipboardData.prototype.clearData = function(opt_type) {};\\n\\n/**\\n * @see http://msdn.microsoft.com/en-us/library/ms535220(VS.85).aspx\\n * @param {string} type Type of clipboard data to set ('Text' or 'URL').\\n * @param {string} data Data to set\\n * @return {boolean} Whether the data were set correctly.\\n */\\nClipboardData.prototype.setData = function(type, data) {};\\n\\n/**\\n * @see http://msdn.microsoft.com/en-us/library/ms535220(VS.85).aspx\\n * @param {string} type Type of clipboard data to get ('Text' or 'URL').\\n * @return {string} The current data\\n */\\nClipboardData.prototype.getData = function(type) { };\\n\\n/**\\n * @type {!Window}\\n * @see https://developer.mozilla.org/en/DOM/window\\n */\\nvar window;\\n\\n/**\\n * @see http://msdn.microsoft.com/en-us/library/ms535220(VS.85).aspx\\n * @type {ClipboardData}\\n */\\nWindow.prototype.clipboardData;\\n\\n/**\\n * @see http://msdn.microsoft.com/en-us/library/ms533724(VS.85).aspx\\n */\\nWindow.prototype.dialogHeight;\\n\\n/**\\n * @see http://msdn.microsoft.com/en-us/library/ms533725(VS.85).aspx\\n */\\nWindow.prototype.dialogLeft;\\n\\n/**\\n * @see http://msdn.microsoft.com/en-us/library/ms533726(VS.85).aspx\\n */\\nWindow.prototype.dialogTop;\\n\\n/**\\n * @see http://msdn.microsoft.com/en-us/library/ms533727(VS.85).aspx\\n */\\nWindow.prototype.dialogWidth;\\n\\n/**\\n * @see http://msdn.microsoft.com/en-us/library/ms535863(VS.85).aspx\\n */\\nWindow.prototype.event;\\n\\n/**\\n * @see http://msdn.microsoft.com/en-us/library/cc197012(VS.85).aspx\\n */\\nWindow.prototype.maxConnectionsPer1_0Server;\\n\\n/**\\n * @see http://msdn.microsoft.com/en-us/library/cc197013(VS.85).aspx\\n */\\nWindow.prototype.maxConnectionsPerServer;\\n\\n/**\\n * @see http://msdn.microsoft.com/en-us/library/ms534198(VS.85).aspx\\n */\\nWindow.prototype.offscreenBuffering;\\n\\n/**\\n * @see http://msdn.microsoft.com/en-us/library/ms534389(VS.85).aspx\\n */\\nWindow.prototype.screenLeft;\\n\\n/**\\n * @see http://msdn.microsoft.com/en-us/library/ms534389(VS.85).aspx\\n */\\nWindow.prototype.screenTop;\\n\\n// Functions\\n\\n/**\\n * @param {string} event\\n * @param {Function} handler\\n * @see http://msdn.microsoft.com/en-us/library/ms536343(VS.85).aspx\\n */\\nWindow.prototype.attachEvent;\\n\\n/**\\n * @see http://msdn.microsoft.com/en-us/library/ms536392(VS.85).aspx\\n */\\nWindow.prototype.createPopup;\\n\\n/**\\n * @param {string} event\\n * @param {Function} handler\\n * @see http://msdn.microsoft.com/en-us/library/ms536411(VS.85).aspx\\n */\\nWindow.prototype.detachEvent;\\n\\n/**\\n * @see http://msdn.microsoft.com/en-us/library/ms536420(VS.85).aspx\\n */\\nWindow.prototype.execScript;\\n\\n/**\\n * @see http://msdn.microsoft.com/en-us/library/ms536425(VS.85).aspx\\n */\\nWindow.prototype.focus;\\n\\n/**\\n * @param {number} x\\n * @param {number} y\\n * @see http://msdn.microsoft.com/en-us/library/ms536618(VS.85).aspx\\n * @return {undefined}\\n */\\nWindow.prototype.moveBy = function(x, y) {};\\n\\n/**\\n * @param {number} x\\n * @param {number} y\\n * @see http://msdn.microsoft.com/en-us/library/ms536626(VS.85).aspx\\n * @return {undefined}\\n */\\nWindow.prototype.moveTo = function(x, y) {};\\n\\n/**\\n * @see http://msdn.microsoft.com/en-us/library/ms536638(VS.85).aspx\\n */\\nWindow.prototype.navigate;\\n\\n/**\\n * @param {*=} opt_url\\n * @param {string=} opt_windowName\\n * @param {string=} opt_windowFeatures\\n * @param {boolean=} opt_replace\\n * @return {Window}\\n * @see http://msdn.microsoft.com/en-us/library/ms536651(VS.85).aspx\\n */\\nWindow.prototype.open = function(opt_url, opt_windowName, opt_windowFeatures,\\n                                 opt_replace) {};\\n\\n/**\\n * @see http://msdn.microsoft.com/en-us/library/ms536672(VS.85).aspx\\n * @return {undefined}\\n */\\nWindow.prototype.print = f";
a.a+="unction() {};\\n\\n/**\\n * @param {number} width\\n * @param {number} height\\n * @see http://msdn.microsoft.com/en-us/library/ms536722(VS.85).aspx\\n * @return {undefined}\\n */\\nWindow.prototype.resizeBy = function(width, height) {};\\n\\n/**\\n * @param {number} width\\n * @param {number} height\\n * @see http://msdn.microsoft.com/en-us/library/ms536723(VS.85).aspx\\n * @return {undefined}\\n */\\nWindow.prototype.resizeTo = function(width, height) {};\\n\\n/**\\n * @see http://msdn.microsoft.com/en-us/library/ms536738(VS.85).aspx\\n */\\nWindow.prototype.setActive;\\n\\n/**\\n * @see http://msdn.microsoft.com/en-us/library/ms536758(VS.85).aspx\\n */\\nWindow.prototype.showHelp;\\n\\n/**\\n * @see http://msdn.microsoft.com/en-us/library/ms536761(VS.85).aspx\\n */\\nWindow.prototype.showModelessDialog;\\n\\n/**\\n * @see http://msdn.microsoft.com/en-us/library/ms535246%28v=vs.85%29.aspx\\n * @const {!Object}\\n */\\nWindow.prototype.external;\\n\\n/**\\n * @see http://msdn.microsoft.com/en-us/library/ms535864(VS.85).aspx\\n * @param {number|string} delta The number of entries to go back, or\\n *     the URL to which to go back. (URL form is supported only in IE)\\n * @return {undefined}\\n */\\nHistory.prototype.go = function(delta) {};\\n\\n/**\\n * @see http://msdn.microsoft.com/en-us/library/ms535864(VS.85).aspx\\n * @param {number=} opt_distance The number of entries to go back\\n *     (Mozilla doesn't support distance -- use #go instead)\\n * @return {undefined}\\n */\\nHistory.prototype.back = function(opt_distance) {};\\n\\n/**\\n * @see http://msdn.microsoft.com/en-us/library/ms535864(VS.85).aspx\\n * @type {number}\\n */\\nHistory.prototype.length;\\n\\n/**\\n * @see http://msdn.microsoft.com/en-us/library/ms535864(VS.85).aspx\\n * @return {undefined}\\n */\\nHistory.prototype.forward = function() {};\\n\\n/**\\n * @type {boolean}\\n * @implicitCast\\n * @see http://msdn.microsoft.com/en-us/library/ie/ms533072(v=vs.85).aspx\\n */\\nHTMLFrameElement.prototype.allowTransparency;\\n\\n/**\\n * @type {Window}\\n * @see http://msdn.microsoft.com/en-us/library/ms533692(VS.85).aspx\\n */\\nHTMLFrameElement.prototype.contentWindow;\\n\\n/**\\n * @type {boolean}\\n * @implicitCast\\n * @see http://msdn.microsoft.com/en-us/library/ie/ms533072(v=vs.85).aspx\\n */\\nHTMLIFrameElement.prototype.allowTransparency;\\n\\n/**\\n * @type {Window}\\n * @see http://msdn.microsoft.com/en-us/library/ms533692(VS.85).aspx\\n */\\nHTMLIFrameElement.prototype.contentWindow;\\n\\n/**\\n * @see http://msdn.microsoft.com/en-us/library/ms536385(VS.85).aspx\\n */\\nHTMLBodyElement.prototype.createControlRange;\\n\\n/**\\n * @type {string}\\n * @see http://msdn.microsoft.com/en-us/library/ms534359(VS.85).aspx\\n */\\nHTMLScriptElement.prototype.readyState;\\n\\n/**\\n * @type {string}\\n * @see http://msdn.microsoft.com/en-us/library/ms534359(VS.85).aspx\\n */\\nHTMLIFrameElement.prototype.readyState;\\n\\n/**\\n * @type {string}\\n * @see http://msdn.microsoft.com/en-us/library/ms534359(VS.85).aspx\\n */\\nHTMLImageElement.prototype.readyState;\\n\\n/**\\n * @type {string}\\n * @see http://msdn.microsoft.com/en-us/library/ms534359(VS.85).aspx\\n */\\nHTMLObjectElement.prototype.readyState;\\n\\n\\n/**\\n * @constructor\\n */\\nfunction ControlRange() {}\\n\\nControlRange.prototype.add;\\nControlRange.prototype.addElement;\\nControlRange.prototype.execCommand;\\nControlRange.prototype.item;\\nControlRange.prototype.queryCommandEnabled;\\nControlRange.prototype.queryCommandIndeterm;\\nControlRange.prototype.queryCommandState;\\nControlRange.prototype.queryCommandSupported;\\nControlRange.prototype.queryCommandValue;\\nControlRange.prototype.remove;\\nControlRange.prototype.scrollIntoView;\\nControlRange.prototype.select;\\n\\n/**\\n * @constructor\\n * @see http://msdn.microsoft.com/en-us/library/ms535872.aspx\\n */\\nfunction TextRange() {}\\n\\n/**\\n * @see http://msdn.microsoft.com/en-us/library/ms533538(VS.85).aspx\\n */\\nTextRange.prototype.boundingHeight;\\n\\n/**\\n * @see http://msdn.microsoft.com/en-us/library/ms533539(VS.85).aspx\\n */\\nTextRange.prototype.boundingLeft;\\n\\n/**\\n * @see http://msdn.microsoft.com/en-us/library/ms533540(VS.85).aspx\\n */\\nTextRange.prototype.boundingTop;\\n\\n/**\\n * @see http://msdn.microsoft.com/en-us/library/ms533541(VS.85).aspx\\n */\\nTextRange.prototype.boundingWidth;\\n\\n/**\\n * @see http://msdn.microsoft.com/en-us/library/ms533874(VS.85).aspx\\n */\\nTextRange.prototype.htmlText;\\n\\n/**\\n * @see http://msdn.microsoft.com/en-us/library/ms534200(VS.85).aspx\\n */\\nTextRange.prototype.offsetLeft;\\n\\n/**\\n * @see http://msdn.microsoft.com/en-us/library/ms534303(VS.85).aspx\\n */\\nTextRange.prototype.offsetTop;\\n\\n/**\\n * @type {string}\\n * @see http://msdn.microsoft.com/en-us/library/ms534676(VS.85).aspx\\n */\\nTextRange.prototype.text;\\n\\n/**\\n * @param {boolean=} opt_toStart\\n * @see http://msdn.microsoft.com/en-us/library/ms536371(VS.85).aspx\\n */\\nTextRange.prototype.collapse;\\n\\n/**\\n * @see http://msdn.microsoft.com/en-us/library/ms536373(VS.85).aspx\\n */\\nTextRange.prototype.compareEndPoints;\\n\\n/**\\n * @see http://msdn.microsoft.com/en-us/library/ms536416(VS.85).aspx\\n */\\nTextRange.prototype.duplicate;\\n\\n/**\\n * @see http://msdn.microsoft.com/en-us/library/ms536419(VS.85).aspx\\n */\\nTextRange.prototype.execCommand;\\n\\n/**\\n * @see http://msdn.microsoft.com/en-us/library/ms536421(VS.85).aspx\\n */\\nTextRange.prototype.expand;\\n\\n/**\\n * @see http://msdn.microsoft.com/en-us/library/ms536422(VS.85).aspx\\n */\\nTextRange.prototype.findText;\\n\\n/**\\n * @see http://msdn.microsoft.com/en-us/library/ms536432(VS.85).aspx\\n */\\nTextRange.prototype.getBookmark;\\n\\n/**\\n * @see http://msdn.microsoft.com/en-us/library/ms536433(VS.85).aspx\\n */\\nTextRange.prototype.getBoundingClientRect;\\n\\n/**\\n * @see http://msdn.microsoft.com/en-us/library/ms536435(VS.85).aspx\\n */\\nTextRange.prototype.getClientRects;\\n\\n/**\\n * @param {TextRange|ControlRange} range\\n * @return {boolean}\\n * @see http://msdn.microsoft.com/en-us/library/ms536450(VS.85).aspx\\n */\\nTextRange.prototype.inRange;\\n\\n/**\\n * @see http://msdn.microsoft.com/en-us/library/ms536458(VS.85).aspx\\n */\\nTextRange.prototype.isEqual;\\n\\n/**\\n * @see http://msdn.microsoft.com/en-us/library/ms536616(VS.85).aspx\\n */\\nTextRange.prototype.move;\\n\\n/**\\n * @see http://msdn.microsoft.com/en-us/library/ms536620(VS.85).aspx\\n */\\nTextRange.prototype.moveEnd;\\n\\n/**\\n * @param {string} unit\\n * @param {number=} opt_count\\n * @see http://msdn.microsoft.com/en-us/library/ms536623(VS.85).aspx\\n */\\nTextRange.prototype.moveStart;\\n\\n/**\\n * @see http://msdn.microsoft.com/en-us/library/ms536628(VS.85).aspx\\n */\\nTextRange.prototype.moveToBookmark;\\n\\n/**\\n * @see http://msdn.microsoft.com/en-us/library/ms536630(VS.85).aspx\\n */\\nTextRange.prototype.moveToElementText;\\n\\n/**\\n * @see http://msdn.microsoft.com/en-us/library/ms536632(VS.85).aspx\\n */\\nTextRange.prototype.moveToPoint;\\n\\n/**\\n * @see http://msdn.microsoft.com/en-us/library/ms536654(VS.85).aspx\\n */\\nTextRange.prototype.parentElement;\\n\\n/**\\n * @see http://msdn.microsoft.com/en-us/library/ms536656(VS.85).aspx\\n */\\nTextRange.prototype.pasteHTML;\\n\\n/**\\n * @see http://msdn.microsoft.com/en-us/library/ms536676(VS.85).aspx\\n */\\nTextRange.prototype.queryCommandEnabled;\\n\\n/**\\n * @see http://msdn.microsoft.com/en-us/library/ms536678(VS.85).aspx\\n */\\nTextRange.prototype.queryCommandIndeterm;\\n\\n/**\\n * @see http://msdn.microsoft.com/en-us/library/ms536679(VS.85).aspx\\n */\\nTextRange.prototype.queryCommandState;\\n\\n/**\\n * @see http://msdn.microsoft.com/en-us/library/ms536681(VS.85).aspx\\n */\\nTextRange.prototype.queryCommandSupported;\\n\\n/**\\n * @see http://msdn.microsoft.com/en-us/library/ms536683(VS.85).aspx\\n */\\nTextRange.prototype.queryCommandValue;\\n\\n/**\\n * @see http://msdn.microsoft.com/en-us/library/ms536730(VS.85).aspx\\n */\\nTextRange.prototype.scrollIntoView;\\n\\n/**\\n * @return {undefined}\\n * @see http://msdn.microsoft.com/en-us/library/ms536735(VS.85).aspx\\n */\\nTextRange.prototype.select = function() {};\\n\\n/**\\n * @param {string} how\\n * @param {TextRange|ControlRange} sourceRange\\n * @see http://msdn.microsoft.com/en-us/library/ms536745(VS.85).aspx\\n */\\nTextRange.prototype.setEndPoint;\\n\\n/**\\n * @return {undefined}\\n * @see http://msdn.microsoft.com/en-us/library/ms536418(VS.85).aspx\\n */\\nSelection.prototype.clear = function() {};\\n\\n/**\\n * @return {TextRange|ControlRange}\\n * @see http://msdn.microsoft.com/en-us/library/ms536394(VS.85).aspx\\n */\\nSelection.prototype.createRange = function() {};\\n\\n/**\\n * @return {Array<TextRange>}\\n * @see http://msdn.microsoft.com/en-us/library/ms536396(VS.85).aspx\\n */\\nSelection.prototype.createRangeCollection = function() {};\\n\\n/**\\n * @constructor\\n * @see http://msdn.microsoft.com/en-us/library/ms537447(VS.85).aspx\\n */\\nfunction controlRange() {}\\n\\n\\nDocument.prototype.loadXML;\\n\\n\\n// http://msdn.microsoft.com/en-us/library/ms531073(VS.85).aspx\\n\\n/**\\n * @see http://msdn.microsoft.com/en-us/library/ms533065(VS.85).aspx\\n */\\nDocument.prototype.activeElement;\\n\\n/**\\n * @see http://msdn.microsoft.com/en-us/library/ms533553(VS.85).aspx\\n */\\nDocument.prototype.charset;\\n\\n/**\\n * @see http://msdn.microsoft.com/en-us/library/ms533693(VS.85).aspx\\n */\\nDocument.prototype.cookie;\\n\\n/**\\n * @see http://msdn.microsoft.com/en-us/library/ms533714(VS.85).aspx\\n */\\nDocument.prototype.defaultCharset;\\n\\n/**\\n * @see http://msdn.microsoft.com/en-us/library/ms533731(VS.85).aspx\\n */\\nDocument.prototype.dir;\\n\\n/**\\n * @see http://msdn.microsoft.com/en-us/library/cc196988(VS.85).aspx\\n */\\nDocument.prototype.documentMode;\\n\\n/**\\n * @see http://msdn.microsoft.com/en-us/library/ms533747(VS.85).aspx\\n */\\nDocument.prototype.expando;\\n\\n/**\\n * @see http://msdn.microsoft.com/en-us/library/ms533750(VS.85).aspx\\n */\\nDocument.prototype.fileCreatedDate;\\n\\n/**\\n * @see http://msdn.microsoft.com/en-us/library/ms533751(VS.85).aspx\\n */\\nDocument.prototype.fileModifiedDate;\\n\\n/**\\n * @see http://msdn.microsoft.com/en-us/library/ms533752(VS.85).aspx\\n */\\nDocument.prototype.fileSize;\\n\\n/**\\n * @see http://msdn.microsoft.com/en-us/library/ms534331(VS.85).aspx\\n */\\nDocument.prototype.parentWindow;\\n\\n/**\\n * @see http://msdn.microsoft.com/en-us/library/ms534353(VS.85).aspx\\n */\\nDocument.prototype.protocol;\\n\\n/**\\n * @type {string}\\n * @see http://msdn.microsoft.com/en-us/library/ms534359(VS.85).aspx\\n */\\nHTMLDocument.prototype.readyState;\\n\\n/**\\n * @type {Selection}\\n * @see http://msdn.microsoft.com/en-us/library/ms535869(VS.85).aspx\\n */\\nDocument.prototype.selection;\\n\\n/**\\n * @see http://msdn.microsoft.com/en-us/library/ms534704(VS.85).aspx\\n */\\nDocument.prototype.uniqueID;\\n\\n/**\\n * @see http://msdn.microsoft.com/en-us/library/ms534709(VS.85).aspx\\n */\\nDocument.prototype.URLUnencoded;\\n\\n/**\\n * @see http://msdn.microsoft.com/en-us/library/ms535155(VS.85).aspx\\n */\\nDocument.prototype.XMLDocument;\\n\\n/**\\n * @see http://msdn.microsoft.com/en-us/library/ms535163(VS.85).aspx\\n */\\nDocument.prototype.XSLDocument;\\n\\n// functions\\n\\n/**\\n * @param {string} event\\n * @param {Function} handler\\n * @see http://msdn.microsoft.com/en-us/library/ms536343(VS.85).aspx\\n */\\nDocument.prototype.attachEvent;\\n\\n/**\\n * @see http://msdn.microsoft.com/en-us/library/ms536390(VS.85).aspx\\n */\\nDocument.prototype.createEventObject;\\n\\n/**\\n * @see http://msdn.microsoft.com/en-us/library/ms531194(VS.85).aspx\\n */\\nDocument.prototype.createStyleSheet;\\n\\n/**\\n * @param {string} event\\n * @param {Function} handler\\n * @see http://msdn.microsoft.com/en-us/library/ms536411(VS.85).aspx\\n */\\nDocument.prototype.detachEvent;\\n\\n/**\\n * @see http://msdn.microsoft.com/en-us/library/ms536425(VS.85).aspx\\n */\\nDocument.prototype.focus;\\n\\n/**\\n * @see http://msdn.microsoft.com/en-us/library/ms536447(VS.85).aspx\\n * @return {boolean}\\n */\\nDocument.prototype.hasFocus = function() {};\\n\\n/**\\n * @see http://msdn.microsoft.com/en-us/library/ms536614(VS.85).aspx\\n */\\nDocument.prototype.mergeAttributes;\\n\\n/**\\n * @see http://msdn.microsoft.com/en-us/library/ms536685(VS.85).aspx\\n */\\nDocument.prototype.recalc;\\n\\n/**\\n * @see http://msdn.microsoft.com/en-us/library/ms536689(VS.85).aspx\\n */\\nDocument.prototype.releaseCapture;\\n\\n/**\\n * @see http://msdn.microsoft.com/en-us/library/ms536738(VS.85).aspx\\n */\\nDocument.prototype.setActive;\\n\\n\\n// collections\\n\\n/**\\n * @see http://msdn.microsoft.com/en-us/library/ms537434(VS.85).aspx\\n */\\nDocument.prototype.all;\\n\\n/**\\n * @see http://msdn.microsoft.com/en-us/library/ms537445(VS.85).aspx\\n */\\nDocument.prototype.childNodes;\\n\\n/**\\n * @see http://msdn.microsoft.com/en-us/library/ms537459(VS.85).aspx\\n */\\nDocument.prototype.frames;\\n\\n/**\\n * @see http://msdn.microsoft.com/en-us/library/ms537470(VS.85).aspx\\n */\\nDocument.prototype.namespaces;\\n\\n/**\\n * @see http://msdn.microsoft.com/en-us/library/ms537487(VS.85).aspx\\n */\\nDocument.prototype.scripts;\\n\\n/**\\n * @param {string} sUrl\\n * @return {number}\\n * @see http://msdn.microsoft.com/en-us/library/ms535922(VS.85).aspx\\n */\\nElement.prototype.addBehavior = function(sUrl) {};\\n\\n/**\\n * @param {string} event\\n * @param {Function} handler\\n * @see http://msdn.microsoft.com/en-us/library/mm536343(v=vs.85).aspx\\n */\\nElement.prototype.attachEvent;\\n\\n/**\\n * @type {boolean}\\n * @see http://msdn.microsoft.com/en-us/library/ms533546(VS.85).aspx\\n */\\nElement.prototype.canHaveChildren;\\n\\n/**\\n * @type {string}\\n * @see http://msdn.microsoft.com/en-us/library/ms533559(v=vs.85).aspx\\n */\\nElement.prototype.classid;\\n\\n/**\\n * @param {number} iCoordX Integer that specifies the client window coordinate\\n *     of x.\\n * @param {number} iCoordY Integer that specifies the client window coordinate\\n *     of y.\\n * @return {string} The component of an element located at the specified\\n *     coordinates.\\n * @see http://msdn.microsoft.com/en-us/library/ms536375(VS.85).aspx\\n * @nosideeffects\\n */\\nElement.prototype.componentFromPoint = function(iCoordX, iCoordY) {};\\n\\n\\n/**\\n * @type {boolean}\\n * @see http://msdn.microsoft.com/en-us/library/ms533690(VS.85).aspx\\n */\\nElement.prototype.contentEditable;\\n\\n/**\\n * @return {TextRange}\\n * @see http://msdn.microsoft.com/en-us/library/ms536401(VS.85).aspx\\n */\\nElement.prototype.createTextRange;\\n\\n/**\\n * @see http://msdn.microsoft.com/en-us/library/ms535231(VS.85).aspx\\n */\\nElement.prototype.currentStyle;\\n\\n/**\\n * @param {string} event\\n * @param {Function} handler\\n * @see http://msdn.microsoft.com/en-us/library/ie/ms536411(v=vs.85).aspx\\n */\\nElement.prototype.detachEvent;\\n\\n/**\\n * @param {string=} opt_action\\n * @see http://msdn.microsoft.com/en-us/library/ms536414%28VS.85%29.aspx\\n * @return {undefined}\\n */\\nElement.prototype.doScroll = function(opt_action) {};\\n\\n/**\\n * @see http://msdn.microsoft.com/en-us/library/ms536423(VS.85).aspx\\n */\\nElement.prototype.fireEvent;\\n\\n/**\\n * @type {boolean}\\n * @see http://msdn.microsoft.com/en-us/library/ms533783(VS.85).aspx\\n */\\nElement.prototype.hideFocus;\\n\\n/**\\n * @see http://msdn.microsoft.com/en-us/library/ms533899.aspx\\n */\\nElement.prototype.innerText;\\n\\n/**\\n * @see http://msdn.microsoft.com/en-us/library/ms537838(VS.85).aspx\\n */\\nElement.prototype.isContentEditable;\\n\\n/**\\n * @see http://msdn.microsoft.com/en-us/library/ms531395(v=vs.85).aspx\\n * NOTE: Left untyped to avoid conflict with subclasses.\\n */\\nElement.prototype.load;\\n\\n/**\\n * @param {number} pointerId Id of the pointer that is assign to the element.\\n * @see http://msdn.microsoft.com/en-us/library/ie/hh771882(v=vs.85).aspx\\n * @return {undefined}\\n */\\nElement.prototype.msSetPointerCapture = function(pointerId) {};\\n\\n/**\\n * @param {number} pointerId\\n * @see http://msdn.microsoft.com/en-us/library/ie/hh771880.aspx\\n * @return {undefined}\\n */\\nElement.prototype.msReleasePointerCapture = function(pointerId) {};\\n\\n/**\\n * @type {?function(Event)}\\n * @see http://msdn.microsoft.com/en-us/library/ms536903(v=vs.85).aspx\\n */\\nElement.prototype.onbeforedeactivate;\\n\\n/**\\n * @type {?function(Event)}\\n * @see http://msdn.microsoft.com/en-us/library/ms536945(VS.85).aspx\\n */\\nElement.prototype.onmouseenter;\\n\\n/**\\n * @type {?function(Event)}\\n * @see http://msdn.microsoft.com/en-us/library/ms536946(VS.85).aspx\\n */\\nElement.prototype.onmouseleave;\\n\\n/**\\n * @type {?function(Event)}\\n * @see http://msdn.microsoft.com/en-us/library/ms536969(VS.85).aspx\\n */\\nElement.prototype.onselectstart;\\n\\n/**\\n * @type {string}\\n *";
a.a+=' @see http://msdn.microsoft.com/en-us/library/aa752326(VS.85).aspx\\n */\\nElement.prototype.outerHTML;\\n\\n/**\\n * @see http://msdn.microsoft.com/en-us/library/ms536689(VS.85).aspx\\n * @return {undefined}\\n */\\nElement.prototype.releaseCapture = function() {};\\n\\n/**\\n * @param {number} iID\\n * @return {boolean}\\n * @see http://msdn.microsoft.com/en-us/library/ms536700(VS.85).aspx\\n */\\nElement.prototype.removeBehavior = function(iID) {};\\n\\n/**\\n * @see http://msdn.microsoft.com/en-us/library/aa703996(VS.85).aspx\\n */\\nElement.prototype.runtimeStyle;\\n\\n/**\\n * @param {string} sStoreName The arbitrary name assigned to a persistent object\\n *     in a UserData store.\\n * @see http://msdn.microsoft.com/en-us/library/ms531403(v=vs.85).aspx\\n * @return {undefined}\\n */\\nElement.prototype.save = function(sStoreName) {};\\n\\n/**\\n * @param {boolean=} opt_bContainerCapture Events originating in a container are\\n *     captured by the container. Defaults to true.\\n * @see http://msdn.microsoft.com/en-us/library/ms536742(VS.85).aspx\\n * @return {undefined}\\n */\\nElement.prototype.setCapture = function(opt_bContainerCapture) {};\\n\\n/**\\n * @see http://msdn.microsoft.com/en-us/library/ms534635(VS.85).aspx\\n */\\nElement.prototype.sourceIndex;\\n\\n/**\\n * @type {string}\\n * @see http://msdn.microsoft.com/en-us/library/ms537840.aspx\\n */\\nElement.prototype.unselectable;\\n\\n/**\\n * @constructor\\n * @see http://msdn.microsoft.com/en-us/library/aa752462(v=vs.85).aspx\\n */\\nfunction HTMLFiltersCollection() {}\\n\\n/**\\n * @see http://msdn.microsoft.com/en-us/library/aa752463(v=vs.85).aspx\\n * @type {number}\\n */\\nHTMLFiltersCollection.prototype.length;\\n\\n/**\\n * @see http://msdn.microsoft.com/en-us/library/ms537452(v=vs.85).aspx\\n * @type {HTMLFiltersCollection}\\n */\\nElement.prototype.filters;\\n\\n/**\\n * @constructor\\n * @see http://msdn.microsoft.com/en-us/library/ms532853(v=vs.85).aspx\\n */\\nfunction HTMLFilter() {}\\n\\n/**\\n * @see http://msdn.microsoft.com/en-us/library/ms532954(v=vs.85).aspx\\n * @return {undefined}\\n */\\nHTMLFilter.prototype.apply = function() {};\\n\\n/**\\n * @constructor\\n * @extends {HTMLFilter}\\n * @see http://msdn.microsoft.com/en-us/library/ms532967(v=vs.85).aspx\\n */\\nfunction AlphaFilter() {}\\n\\n/**\\n * @see http://msdn.microsoft.com/en-us/library/ms532910(v=vs.85).aspx\\n * @type {number}\\n */\\nAlphaFilter.prototype.Opacity;\\n\\n/**\\n * @constructor\\n * @extends {HTMLFilter}\\n * @see http://msdn.microsoft.com/en-us/library/ms532969(v=vs.85).aspx\\n */\\nfunction AlphaImageLoaderFilter() {}\\n\\n/**\\n * @see http://msdn.microsoft.com/en-us/library/ms532920(v=vs.85).aspx\\n * @type {string}\\n */\\nAlphaImageLoaderFilter.prototype.sizingMethod;\\n\\n/**\\n * @constructor\\n * @see http://msdn.microsoft.com/en-us/library/ms535866(VS.85).aspx\\n */\\nfunction Location() {}\\n\\n/**\\n * @see http://trac.webkit.org/changeset/113945\\n * @type {DOMStringList}\\n */\\nLocation.prototype.ancestorOrigins;\\n\\n/**\\n * @see http://msdn.microsoft.com/en-us/library/ms533775(VS.85).aspx\\n * @type {string}\\n */\\nLocation.prototype.hash;\\n\\n/**\\n * @see http://msdn.microsoft.com/en-us/library/ms533784(VS.85).aspx\\n * @type {string}\\n */\\nLocation.prototype.host;\\n\\n/**\\n * @see http://msdn.microsoft.com/en-us/library/ms533785(VS.85).aspx\\n * @type {string}\\n */\\nLocation.prototype.hostname;\\n\\n/**\\n * @see http://msdn.microsoft.com/en-us/library/ms533867(VS.85).aspx\\n * @type {string}\\n */\\nLocation.prototype.href;\\n\\n/**\\n * @see https://docs.google.com/document/view?id=1r_VTFKApVOaNIkocrg0z-t7lZgzisTuGTXkdzAk4gLU&hl=en\\n * @type {string}\\n */\\nLocation.prototype.origin;\\n\\n/**\\n * @see http://msdn.microsoft.com/en-us/library/ms534332(VS.85).aspx\\n * @type {string}\\n */\\nLocation.prototype.pathname;\\n\\n/**\\n * @see http://msdn.microsoft.com/en-us/library/ms534342(VS.85).aspx\\n */\\nLocation.prototype.port;\\n\\n/**\\n * @see http://msdn.microsoft.com/en-us/library/ms534353(VS.85).aspx\\n * @type {string}\\n */\\nLocation.prototype.protocol;\\n\\n/**\\n * @see http://msdn.microsoft.com/en-us/library/ms534620(VS.85).aspx\\n * @type {string}\\n */\\nLocation.prototype.search;\\n\\n/**\\n * @see http://msdn.microsoft.com/en-us/library/ms536342(VS.85).aspx\\n * @param {string} url\\n * @return {undefined}\\n */\\nLocation.prototype.assign = function(url) {};\\n\\n/**\\n * @param {boolean=} opt_forceReload If true, reloads the page from\\n *     the server. Defaults to false.\\n * @see http://msdn.microsoft.com/en-us/library/ms536691(VS.85).aspx\\n * @return {undefined}\\n */\\nLocation.prototype.reload = function(opt_forceReload) {};\\n\\n/**\\n * @param {string} url\\n * @see http://msdn.microsoft.com/en-us/library/ms536712(VS.85).aspx\\n * @return {undefined}\\n */\\nLocation.prototype.replace = function(url) {};\\n\\n\\n// For IE, returns an object representing key-value pairs for all the global\\n// variables prefixed with str, e.g. test*\\n\\n/** @param {*=} opt_str\\n */\\nfunction RuntimeObject(opt_str) {}\\n\\n\\n/**\\n * @type {StyleSheet}\\n * @see http://msdn.microsoft.com/en-us/library/dd347030(VS.85).aspx\\n */\\nHTMLStyleElement.prototype.styleSheet;\\n\\n\\n/**\\n * IE implements Cross Origin Resource Sharing (cross-domain XMLHttpRequests)\\n * via the XDomainRequest object.\\n *\\n * @constructor\\n * @see http://msdn.microsoft.com/en-us/library/cc288060(v=vs.85).aspx\\n * @see http://www.w3.org/TR/cors/\\n */\\nfunction XDomainRequest() {}\\n\\n/**\\n * Aborts the request.\\n * @see http://msdn.microsoft.com/en-us/library/cc288129(v=vs.85).aspx\\n * @return {undefined}\\n */\\nXDomainRequest.prototype.abort = function() {};\\n\\n/**\\n * Sets the method and URL for the request.\\n * @param {string} bstrMethod Either \\"GET\\" or \\"POST\\"\\n * @param {string} bstrUrl The target URL\\n * @see http://msdn.microsoft.com/en-us/library/cc288168(v=vs.85).aspx\\n * @return {undefined}\\n */\\nXDomainRequest.prototype.open = function(bstrMethod, bstrUrl) {};\\n\\n/**\\n * Sends the request.\\n * @param {string=} varBody The POST body to send to the server. If omitted,\\n *     the behavior is identical to sending an empty string.\\n * @see http://msdn.microsoft.com/en-us/library/cc288207(v=vs.85).aspx\\n * @return {undefined}\\n */\\nXDomainRequest.prototype.send = function(varBody) {};\\n\\n/**\\n * Called if the request could not be completed. Note that error information is\\n * not available.\\n * @see http://msdn.microsoft.com/en-us/library/ms536930%28v=VS.85%29.aspx\\n * @type {?function()}\\n */\\nXDomainRequest.prototype.onerror;\\n\\n/**\\n * Called when the response has finished.\\n * @see http://msdn.microsoft.com/en-us/library/ms536942%28v=VS.85%29.aspx\\n * @type {?function()}\\n */\\nXDomainRequest.prototype.onload;\\n\\n/**\\n * Called every time part of the response has been received.\\n * @see http://msdn.microsoft.com/en-us/library/cc197058%28v=VS.85%29.aspx\\n * @type {?function()}\\n */\\nXDomainRequest.prototype.onprogress;\\n\\n/**\\n * Called if the timeout period has elapsed.\\n * @see http://msdn.microsoft.com/en-us/library/cc197061%28v=VS.85%29.aspx\\n * @type {?function()}\\n */\\nXDomainRequest.prototype.ontimeout;\\n\\n/**\\n * The current response body.\\n * @see http://msdn.microsoft.com/en-us/library/cc287956%28v=VS.85%29.aspx\\n * @type {string}\\n */\\nXDomainRequest.prototype.responseText;\\n\\n/**\\n * The timeout (in milliseconds) for the request.\\n * @type {number}\\n */\\nXDomainRequest.prototype.timeout;\\n\\n/**\\n * The Content-Type of the response, or an empty string.\\n * @type {string}\\n */\\nXDomainRequest.prototype.contentType;\\n\\n/**\\n * @type {string}\\n * @see http://msdn.microsoft.com/en-us/library/ms533542(v=vs.85).aspx\\n */\\nNavigator.prototype.browserLanguage;\\n\\n/**\\n * @type {number}\\n * @see https://msdn.microsoft.com/en-us/library/ie/hh772144(v=vs.85).aspx\\n */\\nNavigator.prototype.msMaxTouchPoints;\\n\\n/**\\n * @type {boolean}\\n * @see http://blogs.msdn.com/b/ie/archive/2011/09/20/touch-input-for-ie10-and-metro-style-apps.aspx\\n */\\nNavigator.prototype.msPointerEnabled;\\n\\n/**\\n * @param {(!File|!Blob)} blob\\n * @param {string=} opt_defaultName\\n * @return {boolean}\\n * @see https://msdn.microsoft.com/en-us/library/hh772331(v=vs.85).aspx\\n */\\nNavigator.prototype.msSaveBlob = function(blob, opt_defaultName) {};\\n\\n/**\\n * @param {(!File|!Blob)} blob\\n * @param {string=} opt_defaultName\\n * @return {boolean}\\n * @see https://msdn.microsoft.com/en-us/library/hh772332(v=vs.85).aspx\\n */\\nNavigator.prototype.msSaveOrOpenBlob = function(blob, opt_defaultName) {};\\n\\n/**\\n * @type {number}\\n * @see http://msdn.microsoft.com/en-us/library/ms533721(v=vs.85).aspx\\n */\\nScreen.prototype.deviceXDPI;\\n\\n/**\\n * @type {number}\\n * @see http://msdn.microsoft.com/en-us/library/ms534128%28v=vs.85%29.aspx\\n */\\nScreen.prototype.logicalXDPI;\\n\\n/**\\n * @type {number}\\n * @see http://msdn.microsoft.com/en-us/library/ms534130%28v=vs.85%29.aspx\\n */\\nScreen.prototype.logicalYDPI;\\n","externs/webkit_dom.js":"/*\\n * Copyright 2008 The Closure Compiler Authors\\n *\\n * Licensed under the Apache License, Version 2.0 (the \\"License\\");\\n * you may not use this file except in compliance with the License.\\n * You may obtain a copy of the License at\\n *\\n *     http://www.apache.org/licenses/LICENSE-2.0\\n *\\n * Unless required by applicable law or agreed to in writing, software\\n * distributed under the License is distributed on an \\"AS IS\\" BASIS,\\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\\n * See the License for the specific language governing permissions and\\n * limitations under the License.\\n */\\n\\n/**\\n * @fileoverview Definitions for all the extensions over W3C\'s DOM\\n *  specification by WebKit. This file depends on w3c_dom2.js.\\n *  All the provided definitions has been type annotated\\n *\\n * @externs\\n * @author acleung@google.com (Alan Leung)\\n */\\n\\n\\n/**\\n * @param {boolean=} opt_center\\n * @see https://bugzilla.mozilla.org/show_bug.cgi?id=403510\\n * @return {undefined}\\n */\\nElement.prototype.scrollIntoViewIfNeeded = function(opt_center) {};\\n\\n/**\\n * @constructor\\n * @see http://trac.webkit.org/browser/trunk/Source/WebCore/page/MemoryInfo.idl\\n * @see http://trac.webkit.org/browser/trunk/Source/WebCore/page/MemoryInfo.cpp\\n */\\nfunction MemoryInfo() {};\\n\\n/** @type {number} */\\nMemoryInfo.prototype.totalJSHeapSize;\\n\\n/** @type {number} */\\nMemoryInfo.prototype.usedJSHeapSize;\\n\\n/** @type {number} */\\nMemoryInfo.prototype.jsHeapSizeLimit;\\n\\n/**\\n * @constructor\\n * @see http://trac.webkit.org/browser/trunk/Source/WebCore/inspector/ScriptProfileNode.idl\\n */\\nfunction ScriptProfileNode() {};\\n\\n/** @type {string} */\\nScriptProfileNode.prototype.functionName;\\n\\n/** @type {string} */\\nScriptProfileNode.prototype.url;\\n\\n/** @type {number} */\\nScriptProfileNode.prototype.lineNumber;\\n\\n/** @type {number} */\\nScriptProfileNode.prototype.totalTime;\\n\\n/** @type {number} */\\nScriptProfileNode.prototype.selfTime;\\n\\n/** @type {number} */\\nScriptProfileNode.prototype.numberOfCalls;\\n\\n/** @type {Array<ScriptProfileNode>} */\\nScriptProfileNode.prototype.children;\\n\\n/** @type {boolean} */\\nScriptProfileNode.prototype.visible;\\n\\n/** @type {number} */\\nScriptProfileNode.prototype.callUID;\\n\\n/**\\n * @constructor\\n * @see http://trac.webkit.org/browser/trunk/Source/WebCore/inspector/ScriptProfile.idl\\n */\\nfunction ScriptProfile() {};\\n\\n/** @type {string} */\\nScriptProfile.prototype.title;\\n\\n/** @type {number} */\\nScriptProfile.prototype.uid;\\n\\n/** @type {ScriptProfileNode} */\\nScriptProfile.prototype.head;\\n\\n/**\\n * @constructor\\n * @see http://trac.webkit.org/browser/trunk/Source/WebCore/page/Console.idl\\n * @see http://trac.webkit.org/browser/trunk/Source/WebCore/page/Console.cpp\\n */\\nfunction Console() {};\\n\\n/**\\n * @param {*} condition\\n * @param {...*} var_args\\n * @return {undefined}\\n */\\nConsole.prototype.assert = function(condition, var_args) {};\\n\\n/**\\n * @param {...*} var_args\\n * @return {undefined}\\n */\\nConsole.prototype.error = function(var_args) {};\\n\\n/**\\n * @param {...*} var_args\\n * @return {undefined}\\n */\\nConsole.prototype.info = function(var_args) {};\\n\\n/**\\n * @param {...*} var_args\\n * @return {undefined}\\n */\\nConsole.prototype.log = function(var_args) {};\\n\\n/**\\n * @param {...*} var_args\\n * @return {undefined}\\n */\\nConsole.prototype.warn = function(var_args) {};\\n\\n/**\\n * @param {...*} var_args\\n * @return {undefined}\\n */\\nConsole.prototype.debug = function(var_args) {};\\n\\n/**\\n * @param {*} value\\n * @return {undefined}\\n */\\nConsole.prototype.dir = function(value) {};\\n\\n/**\\n * @param {...*} var_args\\n * @return {undefined}\\n */\\nConsole.prototype.dirxml = function(var_args) {};\\n\\n/**\\n * @param {!Object} data\\n * @param {*=} opt_columns\\n * @return {undefined}\\n */\\nConsole.prototype.table = function(data, opt_columns) {};\\n\\n/**\\n * @param {...*} var_args\\n * @return {undefined}\\n */\\nConsole.prototype.trace = function(var_args) {};\\n\\n/**\\n * @param {*} value\\n * @return {undefined}\\n */\\nConsole.prototype.count = function(value) {};\\n\\n/**\\n * @param {*} value\\n * @return {undefined}\\n */\\nConsole.prototype.markTimeline = function(value) {};\\n\\n/**\\n * @param {string=} opt_title\\n * @return {undefined}\\n */\\nConsole.prototype.profile = function(opt_title) {};\\n\\n/** @type {Array<ScriptProfile>} */\\nConsole.prototype.profiles;\\n\\n/**\\n * @param {string=} opt_title\\n * @return {undefined}\\n */\\nConsole.prototype.profileEnd = function(opt_title) {};\\n\\n/**\\n * @param {string} name\\n * @return {undefined}\\n */\\nConsole.prototype.time = function(name) {};\\n\\n/**\\n * @param {string} name\\n * @return {undefined}\\n */\\nConsole.prototype.timeEnd = function(name) {};\\n\\n/**\\n * @param {*} value\\n * @return {undefined}\\n */\\nConsole.prototype.timeStamp = function(value) {};\\n\\n/**\\n * @param {...*} var_args\\n * @return {undefined}\\n */\\nConsole.prototype.group = function(var_args) {};\\n\\n/**\\n * @param {...*} var_args\\n * @return {undefined}\\n */\\nConsole.prototype.groupCollapsed = function(var_args) {};\\n\\nConsole.prototype.groupEnd = function() {};\\n\\nConsole.prototype.clear = function() {};\\n\\n/** @type {MemoryInfo} */\\nConsole.prototype.memory;\\n\\n/** @type {!Console} */\\nWindow.prototype.console;\\n\\n/**\\n * @type {!Console}\\n * @suppress {duplicate}\\n */\\nvar console;\\n\\n/**\\n * @type {number}\\n * @see http://developer.android.com/reference/android/webkit/WebView.html\\n */\\nWindow.prototype.devicePixelRatio;\\n\\n/** @type {Node} */\\nSelection.prototype.baseNode;\\n\\n/** @type {number} */\\nSelection.prototype.baseOffset;\\n\\n/** @type {Node} */\\nSelection.prototype.extentNode;\\n\\n/** @type {number} */\\nSelection.prototype.extentOffset;\\n\\n/** @type {string} */\\nSelection.prototype.type;\\n\\n/**\\n * @return {undefined}\\n */\\nSelection.prototype.empty = function() {};\\n\\n/**\\n * @param {Node} baseNode\\n * @param {number} baseOffset\\n * @param {Node} extentNode\\n * @param {number} extentOffset\\n * @return {undefined}\\n */\\nSelection.prototype.setBaseAndExtent =\\n function(baseNode, baseOffset, extentNode, extentOffset) {};\\n\\n/**\\n * @param {string} alter\\n * @param {string} direction\\n * @param {string} granularity\\n * @return {undefined}\\n */\\nSelection.prototype.modify = function(alter, direction, granularity) {};\\n\\n/**\\n * @param {Element} element\\n * @param {string} pseudoElement\\n * @param {boolean=} opt_authorOnly\\n * @return {CSSRuleList}\\n * @nosideeffects\\n */\\nViewCSS.prototype.getMatchedCSSRules =\\n    function(element, pseudoElement, opt_authorOnly) {};\\n\\n/**\\n * @param {string} contextId\\n * @param {string} name\\n * @param {number} width\\n * @param {number} height\\n * @nosideeffects\\n * @return {undefined}\\n */\\nDocument.prototype.getCSSCanvasContext =\\n    function(contextId, name, width, height) {};\\n\\n/**\\n * @param {number} x\\n * @param {number} y\\n * @return {?Range}\\n * @nosideeffects\\n * @see https://developer.mozilla.org/en-US/docs/Web/API/Document/caretRangeFromPoint\\n */\\nDocument.prototype.caretRangeFromPoint = function(x, y) {};\\n","externs/w3c_css.js":"/*\\n * Copyright 2008 The Closure Compiler Authors\\n *\\n * Licensed under the Apache License, Version 2.0 (the \\"License\\");\\n * you may not use this file except in compliance with the License.\\n * You may obtain a copy of the License at\\n *\\n *     http://www.apache.org/licenses/LICENSE-2.0\\n *\\n * Unless required by applicable law or agreed to in writing, software\\n * distributed under the License is distributed on an \\"AS IS\\" BASIS,\\n * WITHO';
a.a+="UT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\\n * See the License for the specific language governing permissions and\\n * limitations under the License.\\n */\\n\\n/**\\n * @fileoverview Definitions for W3C's CSS specification\\n *  The whole file has been fully type annotated.\\n *  http://www.w3.org/TR/DOM-Level-2-Style/css.html\\n * @externs\\n * @author acleung@google.com (Alan Leung)\\n * @author stevey@google.com (Steve Yegge)\\n *\\n * TODO(nicksantos): When there are no more occurrences of w3c_range.js and\\n * gecko_dom.js being included directly in BUILD files, bug dbeam to split the\\n * bottom part of this file into a separate externs.\\n */\\n\\n/**\\n * @constructor\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/stylesheets.html#StyleSheets-StyleSheet\\n */\\nfunction StyleSheet() {}\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/stylesheets.html#StyleSheets-StyleSheet-type\\n */\\nStyleSheet.prototype.type;\\n\\n/**\\n * @type {boolean}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/stylesheets.html#StyleSheets-StyleSheet-disabled\\n */\\nStyleSheet.prototype.disabled;\\n\\n/**\\n * @type {Node}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/stylesheets.html#StyleSheets-StyleSheet-owner\\n */\\nStyleSheet.prototype.ownerNode;\\n\\n/**\\n * @type {StyleSheet}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/stylesheets.html#StyleSheets-StyleSheet-parentStyleSheet\\n */\\nStyleSheet.prototype.parentStyleSheet;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/stylesheets.html#StyleSheets-StyleSheet-href\\n */\\nStyleSheet.prototype.href;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/stylesheets.html#StyleSheets-StyleSheet-title\\n */\\nStyleSheet.prototype.title;\\n\\n/**\\n * @type {MediaList}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/stylesheets.html#StyleSheets-StyleSheet-media\\n */\\nStyleSheet.prototype.media;\\n\\n/**\\n * @constructor\\n * @implements {IArrayLike<!StyleSheet>}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/stylesheets.html#StyleSheets-StyleSheetList\\n */\\nfunction StyleSheetList() {}\\n\\n/**\\n * @type {number}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/stylesheets.html#StyleSheets-StyleSheetList-length\\n */\\nStyleSheetList.prototype.length;\\n\\n/**\\n * @param {number} index\\n * @return {StyleSheet}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/stylesheets.html#StyleSheets-StyleSheetList-item\\n */\\nStyleSheetList.prototype.item = function(index) {};\\n\\n/**\\n * @constructor\\n * @implements {IArrayLike<!MediaList>}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/stylesheets.html#StyleSheets-MediaList\\n */\\nfunction MediaList() {}\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/stylesheets.html#StyleSheets-MediaList-mediaText\\n */\\nMediaList.prototype.mediaText;\\n\\n/**\\n * @type {number}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/stylesheets.html#StyleSheets-MediaList-length\\n */\\nMediaList.prototype.length;\\n\\n/**\\n * @param {number} index\\n * @return {string}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/stylesheets.html#StyleSheets-MediaList-item\\n */\\nMediaList.prototype.item = function(index) {};\\n\\n/**\\n * @interface\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/stylesheets.html#StyleSheets-LinkStyle\\n */\\nfunction LinkStyle() {}\\n\\n/**\\n * @type {StyleSheet}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/stylesheets.html#StyleSheets-LinkStyle-sheet\\n */\\nLinkStyle.prototype.sheet;\\n\\n/**\\n * @constructor\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/stylesheets.html#StyleSheets-StyleSheet-DocumentStyle\\n */\\nfunction DocumentStyle() {}\\n\\n/**\\n * @type {StyleSheetList}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/stylesheets.html#StyleSheets-StyleSheet-DocumentStyle-styleSheets\\n */\\nDocumentStyle.prototype.styleSheets;\\n\\n/**\\n * @constructor\\n * @extends {StyleSheet}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSStyleSheet\\n */\\nfunction CSSStyleSheet() {}\\n\\n/**\\n * @type {CSSRule}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSStyleSheet-ownerRule\\n */\\nCSSStyleSheet.prototype.ownerRule;\\n\\n/**\\n * @type {CSSRuleList}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSStyleSheet-cssRules\\n */\\nCSSStyleSheet.prototype.cssRules;\\n\\n/**\\n * @param {string} rule\\n * @param {number} index\\n * @return {number}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSStyleSheet-insertRule\\n */\\nCSSStyleSheet.prototype.insertRule = function(rule, index) {};\\n\\n/**\\n * @param {number} index\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSStyleSheet-deleteRule\\n * @return {undefined}\\n */\\nCSSStyleSheet.prototype.deleteRule = function(index) {};\\n\\n/**\\n * @constructor\\n * @implements {IArrayLike<!CSSRule>}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSRuleList\\n */\\nfunction CSSRuleList() {}\\n\\n/**\\n * @type {number}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSRuleList-length\\n */\\nCSSRuleList.prototype.length;\\n\\n/**\\n * @param {number} index\\n * @return {CSSRule}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSRuleList-item\\n */\\nCSSRuleList.prototype.item = function(index) {};\\n\\n/**\\n * @constructor\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSRule\\n */\\nfunction CSSRule() {}\\n\\n/**\\n * @type {number}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSRule-ruleType\\n */\\nCSSRule.prototype.type;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSRule-cssText\\n */\\nCSSRule.prototype.cssText;\\n\\n/**\\n * @type {CSSStyleSheet}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSRule-sheet\\n */\\nCSSRule.prototype.parentStyleSheet;\\n\\n/**\\n * @type {CSSRule}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSRule-parentRule\\n */\\nCSSRule.prototype.parentRule;\\n\\n/**\\n * @type {CSSStyleDeclaration}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSStyleRule\\n */\\nCSSRule.prototype.style;\\n\\n/**\\n * Indicates that the rule is a {@see CSSUnknownRule}.\\n * @type {number}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSRule-ruleType\\n */\\nCSSRule.UNKNOWN_RULE = 0;\\n\\n/**\\n * Indicates that the rule is a {@see CSSStyleRule}.\\n * @type {number}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSRule-ruleType\\n */\\nCSSRule.STYLE_RULE = 1;\\n\\n/**\\n * Indicates that the rule is a {@see CSSCharsetRule}.\\n * @type {number}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSRule-ruleType\\n */\\nCSSRule.CHARSET_RULE = 2;\\n\\n/**\\n * Indicates that the rule is a {@see CSSImportRule}.\\n * @type {number}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSRule-ruleType\\n */\\nCSSRule.IMPORT_RULE = 3;\\n\\n/**\\n * Indicates that the rule is a {@see CSSMediaRule}.\\n * @type {number}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSRule-ruleType\\n */\\nCSSRule.MEDIA_RULE = 4;\\n\\n/**\\n * Indicates that the rule is a {@see CSSFontFaceRule}.\\n * @type {number}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSRule-ruleType\\n */\\nCSSRule.FONT_FACE_RULE = 5;\\n\\n/**\\n * Indicates that the rule is a {@see CSSPageRule}.\\n * @type {number}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSRule-ruleType\\n */\\nCSSRule.PAGE_RULE = 6;\\n\\n/**\\n * @constructor\\n * @extends {CSSRule}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSStyleRule\\n */\\nfunction CSSStyleRule() {}\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSStyleRule-selectorText\\n */\\nCSSStyleRule.prototype.selectorText;\\n\\n/**\\n * @type {CSSStyleDeclaration}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSStyleRule-style\\n */\\nCSSStyleRule.prototype.style;\\n\\n/**\\n * @constructor\\n * @extends {CSSRule}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSMediaRule\\n */\\nfunction CSSMediaRule() {}\\n\\n/**\\n * @type {MediaList}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSMediaRule-mediaTypes\\n */\\nCSSMediaRule.prototype.media;\\n\\n/**\\n * @type {CSSRuleList}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSMediaRule-cssRules\\n */\\nCSSMediaRule.prototype.cssRules;\\n\\n/**\\n * @param {string} rule\\n * @param {number} index\\n * @return {number}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSMediaRule-insertRule\\n */\\nCSSMediaRule.prototype.insertRule = function(rule, index) {};\\n\\n/**\\n * @param {number} index\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSMediaRule-deleteRule\\n * @return {undefined}\\n */\\nCSSMediaRule.prototype.deleteRule = function(index) {};\\n\\n/**\\n * @constructor\\n * @extends {CSSRule}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSFontFaceRule\\n */\\nfunction CSSFontFaceRule() {}\\n\\n/**\\n * @type {CSSStyleDeclaration}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSFontFaceRule-style\\n */\\nCSSFontFaceRule.prototype.style;\\n\\n/**\\n * @constructor\\n * @extends {CSSRule}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSPageRule\\n */\\nfunction CSSPageRule() {}\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSPageRule-name\\n */\\nCSSPageRule.prototype.selectorText;\\n\\n/**\\n * @type {CSSStyleDeclaration}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSPageRule-style\\n */\\nCSSPageRule.prototype.style;\\n\\n/**\\n * @constructor\\n * @extends {CSSRule}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSImportRule\\n */\\nfunction CSSImportRule() {}\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSImportRule-href\\n */\\nCSSImportRule.prototype.href;\\n\\n/**\\n * @type {MediaList}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSImportRule-media\\n */\\nCSSImportRule.prototype.media;\\n\\n/**\\n * @type {CSSStyleSheet}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSImportRule-styleSheet\\n */\\nCSSImportRule.prototype.styleSheet;\\n\\n/**\\n * @constructor\\n * @extends {CSSRule}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSCharsetRule\\n */\\nfunction CSSCharsetRule() {}\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSCharsetRule-encoding\\n */\\nCSSCharsetRule.prototype.encoding;\\n\\n/**\\n * @constructor\\n * @extends {CSSRule}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSUnknownRule\\n */\\nfunction CSSUnknownRule() {}\\n\\n/**\\n * @constructor\\n * @extends {CSSProperties}\\n * @implements {IObject<(string|number), string>}\\n * @implements {IArrayLike<string>}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSStyleDeclaration\\n */\\nfunction CSSStyleDeclaration() {}\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSStyleDeclaration-cssText\\n */\\nCSSStyleDeclaration.prototype.cssText;\\n\\n/**\\n * @type {number}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSStyleDeclaration-length\\n */\\nCSSStyleDeclaration.prototype.length;\\n\\n/**\\n * @type {CSSRule}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSStyleDeclaration-parentRule\\n */\\nCSSStyleDeclaration.prototype.parentRule;\\n\\n/**\\n * @param {string} propertyName\\n * @return {CSSValue}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSStyleDeclaration-getPropertyCSSValue\\n */\\nCSSStyleDeclaration.prototype.getPropertyCSSValue = function(propertyName) {};\\n\\n/**\\n * @param {string} propertyName\\n * @return {string}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSStyleDeclaration-getPropertyPriority\\n */\\nCSSStyleDeclaration.prototype.getPropertyPriority = function(propertyName) {};\\n\\n/**\\n * @param {string} propertyName\\n * @return {string}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSStyleDeclaration-getPropertyValue\\n */\\nCSSStyleDeclaration.prototype.getPropertyValue = function(propertyName) {};\\n\\n/**\\n * @param {number} index\\n * @return {string}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSStyleDeclaration-item\\n */\\nCSSStyleDeclaration.prototype.item = function(index) {};\\n\\n/**\\n * @param {string} propertyName\\n * @return {string}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSStyleDeclaration-removeProperty\\n */\\nCSSStyleDeclaration.prototype.removeProperty = function(propertyName) {};\\n\\n/**\\n * @param {string} propertyName\\n * @param {string} value\\n * @param {string=} opt_priority\\n * @return {undefined}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSStyleDeclaration-setProperty\\n */\\nCSSStyleDeclaration.prototype.setProperty = function(propertyName, value, opt_priority) {};\\n\\n// IE-specific\\n\\n/**\\n * @param {string} name\\n * @param {number=} opt_flags\\n * @return {string|number|boolean|null}\\n * @see http://msdn.microsoft.com/en-us/library/ms536429(VS.85).aspx\\n */\\nCSSStyleDeclaration.prototype.getAttribute = function(name, opt_flags) {};\\n\\n/**\\n * @param {string} name\\n * @return {string|number|boolean|null}\\n * @see http://msdn.microsoft.com/en-us/library/aa358797(VS.85).aspx\\n */\\nCSSStyleDeclaration.prototype.getExpression = function(name) {};\\n\\n/**\\n * @param {string} name\\n * @param {number=} opt_flags\\n * @return {boolean}\\n * @see http://msdn.microsoft.com/en-us/library/ms536696(VS.85).aspx\\n */\\nCSSStyleDeclaration.prototype.removeAttribute =\\n    function(name, opt_flags) {};\\n\\n/**\\n * @param {string} name\\n * @return {boolean}\\n * @see http://msdn.microsoft.com/en-us/library/aa358798(VS.85).aspx\\n */\\nCSSStyleDeclaration.prototype.removeExpression = function(name) {};\\n\\n/**\\n * @param {string} name\\n * @param {*} value\\n * @param {number=} opt_flags\\n * @see http://msdn.microsoft.com/en-us/library/ms536739(VS.85).aspx\\n * @return {undefined}\\n */\\nCSSStyleDeclaration.prototype.setAttribute = function(name, value, opt_flags) {};\\n\\n/**\\n * @param {string} name\\n * @param {string} expr\\n * @param {string=} opt_language\\n * @return {undefined}\\n * @see http://msdn.microsoft.com/en-us/library/ms531196(VS.85).aspx\\n */\\nCSSStyleDeclaration.prototype.setExpression =\\n    function(name, expr, opt_language) {};\\n\\n\\n/**\\n * @constructor\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSValue\\n */\\nfunction CSSValue() {}\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSValue-cssText\\n */\\nCSSValue.prototype.cssText;\\n\\n/**\\n * @type {number}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSValue-cssValueType\\n */\\nCSSValue.prototype.cssValueType;\\n\\n/**\\n * @type {number}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSValue-types\\n */\\nCSSValue.CSS_INHERIT = 0;\\n\\n/**\\n * @type {number}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSValue-types\\n */\\nCSSValue.CSS_PRIMITIVE_VALUE = 1;\\n\\n/**\\n * @type {number}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSValue-types\\n */\\nCSSValue.CSS_VALUE_LIST = 2;\\n\\n/**\\n * @type {number}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSValue-types\\n */\\nCSSValue.CSS_CUSTOM = 3;\\n\\n/**\\n * @constructor\\n * @extends {CSSValue}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSPrimitiveValue\\n */\\nfunction CSSPrimitiveValue() {}\\n\\n/**\\n * @type {number}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSPrimitiveValue\\n */\\nCSSPrimitiveValue.prototype.primitiveType;\\n\\n/**\\n * @type {number}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSPrimitiveValue\\n */\\nCSSPrimitiveValue.CSS_UNKNOWN = 0;\\n\\n/**\\n * @type {number}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSPrimitiveValue\\n */\\nCSSPrimitiveValue.CSS_NUMBER = 1;\\n\\n/**\\n * @type {number}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSPrimitiveValue\\n */\\nCSSPrimitiveValue.CSS_PERCENTAGE = 2;\\n\\n/**\\n * @type {number}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSPrimitiveValue\\n */\\nCSSPrimitiveValue.CSS_EMS = 3;\\n\\n/**\\n * @type {number}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSPrimitiveValue\\n */\\nCSSPrimitiveValue.CSS_EXS = 4;\\n\\n/**\\n * @type {number}\\n * @see http://www.w3.org/TR/DOM-Leve";
a.a+="l-2-Style/css.html#CSS-CSSPrimitiveValue\\n */\\nCSSPrimitiveValue.CSS_PX = 5;\\n\\n/**\\n * @type {number}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSPrimitiveValue\\n */\\nCSSPrimitiveValue.CSS_CM = 6;\\n\\n/**\\n * @type {number}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSPrimitiveValue\\n */\\nCSSPrimitiveValue.CSS_MM = 7;\\n\\n/**\\n * @type {number}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSPrimitiveValue\\n */\\nCSSPrimitiveValue.CSS_IN = 8;\\n\\n/**\\n * @type {number}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSPrimitiveValue\\n */\\nCSSPrimitiveValue.CSS_PT = 9;\\n\\n/**\\n * @type {number}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSPrimitiveValue\\n */\\nCSSPrimitiveValue.CSS_PC = 10;\\n\\n/**\\n * @type {number}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSPrimitiveValue\\n */\\nCSSPrimitiveValue.CSS_DEG = 11;\\n\\n/**\\n * @type {number}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSPrimitiveValue\\n */\\nCSSPrimitiveValue.CSS_RAD = 12;\\n\\n/**\\n * @type {number}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSPrimitiveValue\\n */\\nCSSPrimitiveValue.CSS_GRAD = 13;\\n\\n/**\\n * @type {number}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSPrimitiveValue\\n */\\nCSSPrimitiveValue.CSS_MS = 14;\\n\\n/**\\n * @type {number}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSPrimitiveValue\\n */\\nCSSPrimitiveValue.CSS_S = 15;\\n\\n/**\\n * @type {number}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSPrimitiveValue\\n */\\nCSSPrimitiveValue.CSS_HZ = 16;\\n\\n/**\\n * @type {number}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSPrimitiveValue\\n */\\nCSSPrimitiveValue.CSS_KHZ = 17;\\n\\n/**\\n * @type {number}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSPrimitiveValue\\n */\\nCSSPrimitiveValue.CSS_DIMENSION = 18;\\n\\n/**\\n * @type {number}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSPrimitiveValue\\n */\\nCSSPrimitiveValue.CSS_STRING = 19;\\n\\n/**\\n * @type {number}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSPrimitiveValue\\n */\\nCSSPrimitiveValue.CSS_URI = 20;\\n\\n/**\\n * @type {number}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSPrimitiveValue\\n */\\nCSSPrimitiveValue.CSS_IDENT = 21;\\n\\n/**\\n * @type {number}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSPrimitiveValue\\n */\\nCSSPrimitiveValue.CSS_ATTR = 22;\\n\\n/**\\n * @type {number}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSPrimitiveValue\\n */\\nCSSPrimitiveValue.CSS_COUNTER = 23;\\n\\n/**\\n * @type {number}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSPrimitiveValue\\n */\\nCSSPrimitiveValue.CSS_RECT = 24;\\n\\n/**\\n * @type {number}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSPrimitiveValue\\n */\\nCSSPrimitiveValue.CSS_RGBCOLOR = 25;\\n\\n/**\\n * @return {Counter}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSPrimitiveValue-getCounterValue\\n * @throws DOMException {@see DomException.INVALID_ACCESS_ERR}\\n */\\nCSSPrimitiveValue.prototype.getCounterValue = function() {};\\n\\n/**\\n * @param {number} unitType\\n * @return {number}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSPrimitiveValue-getFloatValue\\n * @throws DOMException {@see DomException.INVALID_ACCESS_ERR}\\n */\\nCSSPrimitiveValue.prototype.getFloatValue = function(unitType) {};\\n\\n/**\\n * @return {RGBColor}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSPrimitiveValue-getRGBColorValue\\n * @throws DOMException {@see DomException.INVALID_ACCESS_ERR}\\n */\\nCSSPrimitiveValue.prototype.getRGBColorValue = function() {};\\n\\n/**\\n * @return {Rect}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSPrimitiveValue-getRectValue\\n * @throws DOMException {@see DomException.INVALID_ACCESS_ERR}\\n */\\nCSSPrimitiveValue.prototype.getRectValue = function() {};\\n\\n/**\\n * @return {string}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSPrimitiveValue-getStringValue\\n * @throws DOMException {@see DomException.INVALID_ACCESS_ERR}\\n */\\nCSSPrimitiveValue.prototype.getStringValue = function() {};\\n\\n/**\\n * @param {number} unitType\\n * @param {number} floatValue\\n * @return {undefined}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSPrimitiveValue-setFloatValue\\n * @throws DOMException {@see DomException.INVALID_ACCESS_ERR},\\n *                      {@see DomException.NO_MODIFICATION_ALLOWED_ERR}\\n */\\nCSSPrimitiveValue.prototype.setFloatValue = function(unitType, floatValue) {};\\n\\n/**\\n * @param {number} stringType\\n * @param {string} stringValue\\n * @return {undefined}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSPrimitiveValue-setStringValue\\n * @throws DOMException {@see DomException.INVALID_ACCESS_ERR},\\n *                      {@see DomException.NO_MODIFICATION_ALLOWED_ERR}\\n */\\nCSSPrimitiveValue.prototype.setStringValue = function(stringType, stringValue) {};\\n\\n/**\\n * @constructor\\n * @extends {CSSValue}\\n * @implements {IArrayLike<!CSSValue>}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSValueList\\n */\\nfunction CSSValueList() {}\\n\\n/**\\n * @type {number}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSValueList-length\\n */\\nCSSValueList.prototype.length;\\n\\n/**\\n * @param {number} index\\n * @return {CSSValue}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSValueList-item\\n */\\nCSSValueList.prototype.item = function(index) {};\\n\\n/**\\n * @constructor\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-RGBColor\\n */\\nfunction RGBColor() {}\\n\\n/**\\n * @type {CSSPrimitiveValue}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-RGBColor-red\\n */\\nRGBColor.prototype.red;\\n\\n/**\\n * @type {CSSPrimitiveValue}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-RGBColor-green\\n */\\nRGBColor.prototype.green;\\n\\n/**\\n * @type {CSSPrimitiveValue}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-RGBColor-blue\\n */\\nRGBColor.prototype.blue;\\n\\n/**\\n * @constructor\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-Rect\\n */\\nfunction Rect() {}\\n\\n/**\\n * @type {CSSPrimitiveValue}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-Rect-top\\n */\\nRect.prototype.top;\\n\\n/**\\n * @type {CSSPrimitiveValue}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-Rect-right\\n */\\nRect.prototype.right;\\n\\n/**\\n * @type {CSSPrimitiveValue}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-Rect-bottom\\n */\\nRect.prototype.bottom;\\n\\n/**\\n * @type {CSSPrimitiveValue}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-Rect-left\\n */\\nRect.prototype.left;\\n\\n/**\\n * @constructor\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-Counter\\n */\\nfunction Counter() {}\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-Counter-identifier\\n */\\nCounter.prototype.identifier;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-Counter-listStyle\\n */\\nCounter.prototype.listStyle;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-Counter-separator\\n */\\nCounter.prototype.separator;\\n\\n/**\\n * @constructor\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-ViewCSS\\n */\\nfunction ViewCSS() {}\\n\\n/**\\n * @param {Element} elt\\n * @param {?string=} opt_pseudoElt This argument is required according to the\\n *     CSS2 specification, but optional in all major browsers. See the note at\\n *     https://developer.mozilla.org/en-US/docs/Web/API/Window.getComputedStyle\\n * @return {CSSStyleDeclaration}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSview-getComputedStyle\\n */\\nViewCSS.prototype.getComputedStyle = function(elt, opt_pseudoElt) {};\\n\\n/**\\n * @constructor\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-DocumentCSS\\n */\\nfunction DocumentCSS() {}\\n\\n/**\\n * @param {Element} elt\\n * @param {string} pseudoElt\\n * @return {CSSStyleDeclaration}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-DocumentCSS-getOverrideStyle\\n */\\nDocumentCSS.prototype.getOverrideStyle = function(elt, pseudoElt) {};\\n\\n/**\\n * @constructor\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-DOMImplementationCSS\\n */\\nfunction DOMImplementationCSS() {}\\n\\n/**\\n * @param {string} title\\n * @param {string} media\\n * @return {CSSStyleSheet}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-DOMImplementationCSS-createCSSStyleSheet\\n * @throws DOMException {@see DomException.SYNTAX_ERR}\\n */\\nDOMImplementationCSS.prototype.createCSSStyleSheet = function(title, media) {};\\n\\n/**\\n * @constructor\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-ElementCSSInlineStyle\\n */\\nfunction ElementCSSInlineStyle() {}\\n\\n/**\\n * @type {CSSStyleDeclaration}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-ElementCSSInlineStyle-style\\n */\\nElementCSSInlineStyle.prototype.style;\\n\\n/**\\n * @constructor\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSProperties\\n */\\nfunction CSSProperties() {}\\n\\n// CSS 2 properties\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSProperties-azimuth\\n */\\nCSSProperties.prototype.azimuth;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSProperties-background\\n */\\nCSSProperties.prototype.background;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSProperties-backgroundAttachment\\n */\\nCSSProperties.prototype.backgroundAttachment;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSProperties-backgroundColor\\n */\\nCSSProperties.prototype.backgroundColor;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSProperties-backgroundImage\\n */\\nCSSProperties.prototype.backgroundImage;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSProperties-backgroundPosition\\n */\\nCSSProperties.prototype.backgroundPosition;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSProperties-backgroundRepeat\\n */\\nCSSProperties.prototype.backgroundRepeat;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/css3-background/#the-background-size\\n */\\nCSSProperties.prototype.backgroundSize;\\n\\n/**\\n * @implicitCast\\n * @type {string}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSProperties-border\\n */\\nCSSProperties.prototype.border;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSProperties-borderCollapse\\n */\\nCSSProperties.prototype.borderCollapse;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSProperties-borderColor\\n */\\nCSSProperties.prototype.borderColor;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSProperties-borderSpacing\\n */\\nCSSProperties.prototype.borderSpacing;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSPrimitiveValue-borderStyle\\n */\\nCSSProperties.prototype.borderStyle;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSProperties-borderTop\\n */\\nCSSProperties.prototype.borderTop;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSProperties-borderRight\\n */\\nCSSProperties.prototype.borderRight;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSProperties-borderBottom\\n */\\nCSSProperties.prototype.borderBottom;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSProperties-borderLeft\\n */\\nCSSProperties.prototype.borderLeft;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSProperties-borderTopColor\\n */\\nCSSProperties.prototype.borderTopColor;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSProperties-borderRightColor\\n */\\nCSSProperties.prototype.borderRightColor;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSProperties-borderBottomColor\\n */\\nCSSProperties.prototype.borderBottomColor;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSProperties-borderLeftColor\\n */\\nCSSProperties.prototype.borderLeftColor;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSProperties-borderTopStyle\\n */\\nCSSProperties.prototype.borderTopStyle;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSProperties-borderRightStyle\\n */\\nCSSProperties.prototype.borderRightStyle;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSProperties-borderBottomStyle\\n */\\nCSSProperties.prototype.borderBottomStyle;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSProperties-borderLeftStyle\\n */\\nCSSProperties.prototype.borderLeftStyle;\\n\\n/**\\n * @type {string|number}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSProperties-borderTopWidth\\n */\\nCSSProperties.prototype.borderTopWidth;\\n\\n/**\\n * @type {string|number}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSProperties-borderRightWidth\\n */\\nCSSProperties.prototype.borderRightWidth;\\n\\n/**\\n * @type {string|number}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSProperties-borderBottomWidth\\n */\\nCSSProperties.prototype.borderBottomWidth;\\n\\n/**\\n * @type {string|number}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSProperties-borderLeftWidth\\n */\\nCSSProperties.prototype.borderLeftWidth;\\n\\n/**\\n * @type {string|number}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSProperties-borderWidth\\n */\\nCSSProperties.prototype.borderWidth;\\n\\n/**\\n * @type {string|number}\\n * @see http://www.w3.org/TR/css3-background/#the-border-radius\\n */\\nCSSProperties.prototype.borderRadius;\\n\\n/**\\n * @type {string|number}\\n * @see http://www.w3.org/TR/css3-background/#the-border-radius\\n */\\nCSSProperties.prototype.borderBottomLeftRadius;\\n\\n/**\\n * @type {string|number}\\n * @see http://www.w3.org/TR/css3-background/#the-border-radius\\n */\\nCSSProperties.prototype.borderBottomRightRadius;\\n\\n/**\\n * @type {string|number}\\n * @see http://www.w3.org/TR/css3-background/#the-border-radius\\n */\\nCSSProperties.prototype.borderTopLeftRadius;\\n\\n/**\\n * @type {string|number}\\n * @see http://www.w3.org/TR/css3-background/#the-border-radius\\n */\\nCSSProperties.prototype.borderTopRightRadius;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/css3-background/#the-border-image-source\\n */\\nCSSProperties.prototype.borderImageSource;\\n\\n/**\\n * @type {string|number}\\n * @see http://www.w3.org/TR/css3-background/#the-border-image-slice\\n */\\nCSSProperties.prototype.borderImageSlice;\\n\\n/**\\n * @type {string|number}\\n * @see http://www.w3.org/TR/css3-background/#the-border-image-width\\n */\\nCSSProperties.prototype.borderImageWidth;\\n\\n/**\\n * @type {string|number}\\n * @see http://www.w3.org/TR/css3-background/#the-border-image-outset\\n */\\nCSSProperties.prototype.borderImageOutset;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/css3-background/#the-border-image-repeat\\n */\\nCSSProperties.prototype.borderImageRepeat;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/css3-background/#the-border-image\\n */\\nCSSProperties.prototype.borderImage;\\n\\n/**\\n * @type {string}\\n * @see https://www.w3.org/TR/1998/REC-CSS2-19980512/visuren.html#propdef-bottom\\n */\\nCSSProperties.prototype.bottom;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSProperties-captionSide\\n */\\nCSSProperties.prototype.captionSide;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSProperties-clear\\n */\\nCSSProperties.prototype.clear;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSProperties-clip\\n */\\nCSSProperties.prototype.clip;\\n\\n/**\\n *";
a.a+=" @type {string}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSProperties-color\\n */\\nCSSProperties.prototype.color;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSProperties-content\\n */\\nCSSProperties.prototype.content;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSProperties-counterIncrement\\n */\\nCSSProperties.prototype.counterIncrement;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSProperties-counterReset\\n */\\nCSSProperties.prototype.counterReset;\\n\\n/**\\n * This is not an official part of the W3C spec. In practice, this is a settable\\n * property that works cross-browser. It is used in goog.dom.setProperties() and\\n * needs to be extern'd so the --disambiguate_properties JS compiler pass works.\\n * @type {string}\\n */\\nCSSProperties.prototype.cssText;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSProperties-cue\\n */\\nCSSProperties.prototype.cue;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSProperties-cueAfter\\n */\\nCSSProperties.prototype.cueAfter;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSProperties-cueBefore\\n */\\nCSSProperties.prototype.cueBefore;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSProperties-cursor\\n */\\nCSSProperties.prototype.cursor;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSProperties-direction\\n */\\nCSSProperties.prototype.direction;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSProperties-display\\n */\\nCSSProperties.prototype.display;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSProperties-elevation\\n */\\nCSSProperties.prototype.elevation;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSProperties-emptyCells\\n */\\nCSSProperties.prototype.emptyCells;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSProperties-cssFloat\\n */\\nCSSProperties.prototype.cssFloat;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSProperties-font\\n */\\nCSSProperties.prototype.font;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSProperties-fontFamily\\n */\\nCSSProperties.prototype.fontFamily;\\n\\n/**\\n * @type {string|number}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSProperties-fontSize\\n */\\nCSSProperties.prototype.fontSize;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSProperties-fontSizeAdjust\\n */\\nCSSProperties.prototype.fontSizeAdjust;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSProperties-fontStretch\\n */\\nCSSProperties.prototype.fontStretch;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSProperties-fontStyle\\n */\\nCSSProperties.prototype.fontStyle;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSProperties-fontVariant\\n */\\nCSSProperties.prototype.fontVariant;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSProperties-fontWeight\\n */\\nCSSProperties.prototype.fontWeight;\\n\\n/**\\n * @type {string|number}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSProperties-height\\n */\\nCSSProperties.prototype.height;\\n\\n/**\\n * @type {string}\\n * @see https://www.w3.org/TR/1998/REC-CSS2-19980512/visuren.html#propdef-left\\n */\\nCSSProperties.prototype.left;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSProperties-letterSpacing\\n */\\nCSSProperties.prototype.letterSpacing;\\n\\n/**\\n * @type {string|number}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSProperties-lineHeight\\n */\\nCSSProperties.prototype.lineHeight;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSProperties-listStyle\\n */\\nCSSProperties.prototype.listStyle;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSProperties-listStyleImage\\n */\\nCSSProperties.prototype.listStyleImage;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSProperties-listStylePosition\\n */\\nCSSProperties.prototype.listStylePosition;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSProperties-listStyleType\\n */\\nCSSProperties.prototype.listStyleType;\\n\\n/**\\n * @type {string|number}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSProperties-margin\\n */\\nCSSProperties.prototype.margin;\\n\\n/**\\n * @type {string|number}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSProperties-marginTop\\n */\\nCSSProperties.prototype.marginTop;\\n\\n/**\\n * @type {string|number}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSProperties-marginRight\\n */\\nCSSProperties.prototype.marginRight;\\n\\n/**\\n * @type {string|number}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSProperties-marginBottom\\n */\\nCSSProperties.prototype.marginBottom;\\n\\n/**\\n * @type {string|number}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSProperties-marginLeft\\n */\\nCSSProperties.prototype.marginLeft;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSProperties-markerOffset\\n */\\nCSSProperties.prototype.markerOffset;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSProperties-marks\\n */\\nCSSProperties.prototype.marks;\\n\\n/**\\n * @type {string|number}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSProperties-maxHeight\\n */\\nCSSProperties.prototype.maxHeight;\\n\\n/**\\n * @type {string|number}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSProperties-maxWidth\\n */\\nCSSProperties.prototype.maxWidth;\\n\\n/**\\n * @type {string|number}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSProperties-minHeight\\n */\\nCSSProperties.prototype.minHeight;\\n\\n/**\\n * @type {string|number}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSProperties-minWidth\\n */\\nCSSProperties.prototype.minWidth;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSProperties-orphans\\n */\\nCSSProperties.prototype.orphans;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSProperties-outline\\n */\\nCSSProperties.prototype.outline;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSProperties-outlineColor\\n */\\nCSSProperties.prototype.outlineColor;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSProperties-outlineStyle\\n */\\nCSSProperties.prototype.outlineStyle;\\n\\n/**\\n * @type {string|number}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSProperties-outlineWidth\\n */\\nCSSProperties.prototype.outlineWidth;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSProperties-overflow\\n */\\nCSSProperties.prototype.overflow;\\n\\n/**\\n * @type {string|number}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSProperties-padding\\n */\\nCSSProperties.prototype.padding;\\n\\n/**\\n * @type {string|number}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSProperties-paddingTop\\n */\\nCSSProperties.prototype.paddingTop;\\n\\n/**\\n * @type {string|number}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSProperties-paddingRight\\n */\\nCSSProperties.prototype.paddingRight;\\n\\n/**\\n * @type {string|number}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSProperties-paddingBottom\\n */\\nCSSProperties.prototype.paddingBottom;\\n\\n/**\\n * @type {string|number}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSProperties-paddingLeft\\n */\\nCSSProperties.prototype.paddingLeft;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSProperties-page\\n */\\nCSSProperties.prototype.page;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSProperties-pageBreakAfter\\n */\\nCSSProperties.prototype.pageBreakAfter;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSProperties-pageBreakBefore\\n */\\nCSSProperties.prototype.pageBreakBefore;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSProperties-pageBreakInside\\n */\\nCSSProperties.prototype.pageBreakInside;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSProperties-pause\\n */\\nCSSProperties.prototype.pause;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSProperties-pauseAfter\\n */\\nCSSProperties.prototype.pauseAfter;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSProperties-pauseBefore\\n */\\nCSSProperties.prototype.pauseBefore;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSProperties-pitch\\n */\\nCSSProperties.prototype.pitch;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSProperties-pitchRange\\n */\\nCSSProperties.prototype.pitchRange;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSProperties-playDuring\\n */\\nCSSProperties.prototype.playDuring;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSProperties-position\\n */\\nCSSProperties.prototype.position;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSProperties-quotes\\n */\\nCSSProperties.prototype.quotes;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/css3-ui/#resize\\n */\\nCSSProperties.prototype.resize;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSProperties-richness\\n */\\nCSSProperties.prototype.richness;\\n\\n/**\\n * @type {string}\\n * @see https://www.w3.org/TR/1998/REC-CSS2-19980512/visuren.html#propdef-right\\n */\\nCSSProperties.prototype.right;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSProperties-size\\n */\\nCSSProperties.prototype.size;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSProperties-speak\\n */\\nCSSProperties.prototype.speak;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSProperties-speakHeader\\n */\\nCSSProperties.prototype.speakHeader;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSProperties-speakNumeral\\n */\\nCSSProperties.prototype.speakNumeral;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSProperties-speakPunctuation\\n */\\nCSSProperties.prototype.speakPunctuation;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSProperties-speechRate\\n */\\nCSSProperties.prototype.speechRate;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSProperties-stress\\n */\\nCSSProperties.prototype.stress;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSProperties-tableLayout\\n */\\nCSSProperties.prototype.tableLayout;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSProperties-textAlign\\n */\\nCSSProperties.prototype.textAlign;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSProperties-textDecoration\\n */\\nCSSProperties.prototype.textDecoration;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSProperties-textIndent\\n */\\nCSSProperties.prototype.textIndent;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSProperties-textShadow\\n */\\nCSSProperties.prototype.textShadow;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSProperties-textTransform\\n */\\nCSSProperties.prototype.textTransform;\\n\\n/**\\n * @type {string}\\n * @see https://www.w3.org/TR/1998/REC-CSS2-19980512/visuren.html#propdef-top\\n */\\nCSSProperties.prototype.top;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSProperties-unicodeBidi\\n */\\nCSSProperties.prototype.unicodeBidi;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSProperties-verticalAlign\\n */\\nCSSProperties.prototype.verticalAlign;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSProperties-visibility\\n */\\nCSSProperties.prototype.visibility;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSProperties-voiceFamily\\n */\\nCSSProperties.prototype.voiceFamily;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSProperties-volume\\n */\\nCSSProperties.prototype.volume;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSProperties-whiteSpace\\n */\\nCSSProperties.prototype.whiteSpace;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSProperties-widows\\n */\\nCSSProperties.prototype.widows;\\n\\n/**\\n * @type {string|number}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSProperties-width\\n */\\nCSSProperties.prototype.width;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSProperties-wordSpacing\\n */\\nCSSProperties.prototype.wordSpacing;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSProperties-wordWrap\\n */\\nCSSProperties.prototype.wordWrap;\\n\\n/**\\n * @type {string|number}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSProperties-zIndex\\n */\\nCSSProperties.prototype.zIndex;\\n\\n// CSS 3 properties\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/css3-background/#box-shadow\\n */\\nCSSProperties.prototype.boxShadow;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/css3-ui/#box-sizing\\n */\\nCSSProperties.prototype.boxSizing;\\n\\n/**\\n * @type {string|number}\\n * @see http://www.w3.org/TR/css3-color/#transparency\\n */\\nCSSProperties.prototype.opacity;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/css3-ui/#text-overflow\\n */\\nCSSProperties.prototype.textOverflow;\\n\\n// CSS 3 transforms\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/css3-2d-transforms/#backface-visibility-property\\n */\\nCSSProperties.prototype.backfaceVisibility;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/css3-2d-transforms/#perspective\\n */\\nCSSProperties.prototype.perspective;\\n\\n/**\\n * @type {string|number}\\n * @see http://www.w3.org/TR/css3-2d-transforms/#perspective-origin\\n */\\nCSSProperties.prototype.perspectiveOrigin;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/css3-2d-transforms/#effects\\n */\\nCSSProperties.prototype.transform;\\n\\n/**\\n * @type {string|number}\\n * @see http://www.w3.org/TR/css3-2d-transforms/#transform-origin\\n */\\nCSSProperties.prototype.transformOrigin;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/css3-2d-transforms/#transform-style\\n */\\nCSSProperties.prototype.transformStyle;\\n\\n// CSS 3 transitions\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/css3-transitions/#transition\\n */\\nCSSProperties.prototype.transition;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/css3-transitions/#transition-delay\\n */\\nCSSProperties.prototype.transitionDelay;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/css3-transitions/#transition-duration\\n */\\nCSSProperties.prototype.transitionDuration;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/css3-transitions/#transition-property-property\\n */\\nCSSProperties.prototype.transitionProperty;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/css3-transitions/#transition-timing-function\\n */\\nCSSProperties.pr";
a.a+="ototype.transitionTimingFunction;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/SVG11/interact.html#PointerEventsProperty\\n */\\nCSSProperties.prototype.pointerEvents;\\n\\n\\n// CSS Flexbox 1\\n\\n\\n/**\\n * @type {string}\\n * @see https://www.w3.org/TR/css-flexbox-1/#align-content-property\\n */\\nCSSProperties.prototype.alignContent;\\n\\n/**\\n * @type {string}\\n * @see https://www.w3.org/TR/css-flexbox-1/#align-items-property\\n */\\nCSSProperties.prototype.alignItems;\\n\\n/**\\n * @type {string}\\n * @see https://www.w3.org/TR/css-flexbox-1/#align-items-property\\n */\\nCSSProperties.prototype.alignSelf;\\n\\n/**\\n * @type {string}\\n * @see https://www.w3.org/TR/css-flexbox-1/#flex-property\\n */\\nCSSProperties.prototype.flex;\\n\\n/**\\n * @type {string}\\n * @see https://www.w3.org/TR/css-flexbox-1/#flex-basis-property\\n */\\nCSSProperties.prototype.flexBasis;\\n\\n/**\\n * @type {string}\\n * @see https://www.w3.org/TR/css-flexbox-1/#flex-direction-property\\n */\\nCSSProperties.prototype.flexDirection;\\n\\n/**\\n * @type {string}\\n * @see https://www.w3.org/TR/css-flexbox-1/#flex-flow-property\\n */\\nCSSProperties.prototype.flexFlow;\\n\\n/**\\n * @type {number}\\n * @see https://www.w3.org/TR/css-flexbox-1/#flex-grow-property\\n */\\nCSSProperties.prototype.flexGrow;\\n\\n/**\\n * @type {number}\\n * @see https://www.w3.org/TR/css-flexbox-1/#flex-shrink-property\\n */\\nCSSProperties.prototype.flexShrink;\\n\\n/**\\n * @type {string}\\n * @see https://www.w3.org/TR/css-flexbox-1/#flex-wrap-property\\n */\\nCSSProperties.prototype.flexWrap;\\n\\n/**\\n * @type {string}\\n * @see https://www.w3.org/TR/css-flexbox-1/#justify-content-property\\n */\\nCSSProperties.prototype.justifyContent;\\n\\n/**\\n * @type {number}\\n * @see https://www.w3.org/TR/css-flexbox-1/#order-property\\n */\\nCSSProperties.prototype.order;\\n\\n// Externs for CSS Will Change Module Level 1\\n// http://www.w3.org/TR/css-will-change/\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/css-will-change-1/#will-change\\n */\\nCSSProperties.prototype.willChange;\\n\\n\\n/**\\n * TODO(dbeam): Put this in separate file named w3c_cssom.js.\\n * Externs for the CSSOM View Module.\\n * @see http://www.w3.org/TR/cssom-view/\\n */\\n\\n// http://www.w3.org/TR/cssom-view/#extensions-to-the-window-interface\\n\\n/**\\n * @param {string} media_query_list\\n * @return {MediaQueryList}\\n * @see http://www.w3.org/TR/cssom-view/#dom-window-matchmedia\\n */\\nWindow.prototype.matchMedia = function(media_query_list) {};\\n\\n/**\\n * @type {number}\\n * @see http://www.w3.org/TR/cssom-view/#dom-window-innerwidth\\n */\\nWindow.prototype.innerWidth;\\n\\n/**\\n * @type {number}\\n * @see http://www.w3.org/TR/cssom-view/#dom-window-innerheight\\n */\\nWindow.prototype.innerHeight;\\n\\n/**\\n * @type {number}\\n * @see http://www.w3.org/TR/cssom-view/#dom-window-scrollx\\n */\\nWindow.prototype.scrollX;\\n\\n/**\\n * @type {number}\\n * @see http://www.w3.org/TR/cssom-view/#dom-window-pagexoffset\\n */\\nWindow.prototype.pageXOffset;\\n\\n/**\\n * @type {number}\\n * @see http://www.w3.org/TR/cssom-view/#dom-window-scrolly\\n */\\nWindow.prototype.scrollY;\\n\\n/**\\n * @type {number}\\n * @see http://www.w3.org/TR/cssom-view/#dom-window-pageyoffset\\n */\\nWindow.prototype.pageYOffset;\\n\\n/**\\n * @param {number} x\\n * @param {number} y\\n * @see http://www.w3.org/TR/cssom-view/#dom-window-scroll\\n * @return {undefined}\\n */\\nWindow.prototype.scroll = function(x, y) {};\\n\\n/**\\n * @param {number} x\\n * @param {number} y\\n * @see http://www.w3.org/TR/cssom-view/#dom-window-scrollto\\n * @return {undefined}\\n */\\nWindow.prototype.scrollTo = function(x, y) {};\\n\\n/**\\n * @param {number} x\\n * @param {number} y\\n * @see http://www.w3.org/TR/cssom-view/#dom-window-scrollby\\n * @return {undefined}\\n */\\nWindow.prototype.scrollBy = function(x, y) {};\\n\\n/**\\n * @type {number}\\n * @see http://www.w3.org/TR/cssom-view/#dom-window-screenx\\n */\\nWindow.prototype.screenX;\\n\\n/**\\n * @type {number}\\n * @see http://www.w3.org/TR/cssom-view/#dom-window-screeny\\n */\\nWindow.prototype.screenY;\\n\\n/**\\n * @type {number}\\n * @see http://www.w3.org/TR/cssom-view/#dom-window-outerwidth\\n */\\nWindow.prototype.outerWidth;\\n\\n/**\\n * @type {number}\\n * @see http://www.w3.org/TR/cssom-view/#dom-window-outerheight\\n */\\nWindow.prototype.outerHeight;\\n\\n/**\\n * @constructor\\n * @see http://www.w3.org/TR/cssom-view/#mediaquerylist\\n */\\nfunction MediaQueryList() {}\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/cssom-view/#dom-mediaquerylist-media\\n */\\nMediaQueryList.prototype.media;\\n\\n/**\\n * @type {boolean}\\n * @see http://www.w3.org/TR/cssom-view/#dom-mediaquerylist-matches\\n */\\nMediaQueryList.prototype.matches;\\n\\n/**\\n * @param {MediaQueryListListener} listener\\n * @see http://www.w3.org/TR/cssom-view/#dom-mediaquerylist-addlistener\\n * @return {undefined}\\n */\\nMediaQueryList.prototype.addListener = function(listener) {};\\n\\n/**\\n * @param {MediaQueryListListener} listener\\n * @see http://www.w3.org/TR/cssom-view/#dom-mediaquerylist-removelistener\\n * @return {undefined}\\n */\\nMediaQueryList.prototype.removeListener = function(listener) {};\\n\\n/**\\n * @typedef {(function(!MediaQueryList) : void)}\\n * @see http://www.w3.org/TR/cssom-view/#mediaquerylistlistener\\n */\\nvar MediaQueryListListener;\\n\\n/**\\n * @constructor\\n * @see http://www.w3.org/TR/cssom-view/#screen\\n */\\nfunction Screen() {}\\n\\n/**\\n * @type {number}\\n * @see http://www.w3.org/TR/cssom-view/#dom-screen-availwidth\\n */\\nScreen.prototype.availWidth;\\n\\n/**\\n * @type {number}\\n * @see http://www.w3.org/TR/cssom-view/#dom-screen-availheight\\n */\\nScreen.prototype.availHeight;\\n\\n/**\\n * @type {number}\\n * @see http://www.w3.org/TR/cssom-view/#dom-screen-width\\n */\\nScreen.prototype.width;\\n\\n/**\\n * @type {number}\\n * @see http://www.w3.org/TR/cssom-view/#dom-screen-height\\n */\\nScreen.prototype.height;\\n\\n/**\\n * @type {number}\\n * @see http://www.w3.org/TR/cssom-view/#dom-screen-colordepth\\n */\\nScreen.prototype.colorDepth;\\n\\n/**\\n * @type {number}\\n * @see http://www.w3.org/TR/cssom-view/#dom-screen-pixeldepth\\n */\\nScreen.prototype.pixelDepth;\\n\\n\\n// http://www.w3.org/TR/cssom-view/#extensions-to-the-document-interface\\n\\n/**\\n * @param {number} x\\n * @param {number} y\\n * @return {?Element}\\n * @see http://www.w3.org/TR/cssom-view/#dom-document-elementfrompoint\\n */\\nDocument.prototype.elementFromPoint = function(x, y) {};\\n\\n/**\\n * @param {number} x\\n * @param {number} y\\n * @return {CaretPosition}\\n * @see http://www.w3.org/TR/cssom-view/#dom-document-caretpositionfrompoint\\n */\\nDocument.prototype.caretPositionFromPoint = function(x, y) {};\\n\\n/**\\n * @type {Element}\\n * @see http://dev.w3.org/csswg/cssom-view/#dom-document-scrollingelement\\n */\\nDocument.prototype.scrollingElement;\\n\\n/**\\n * @constructor\\n * @see http://www.w3.org/TR/cssom-view/#caretposition\\n */\\nfunction CaretPosition() {}\\n\\n/**\\n * @type {Node}\\n * @see http://www.w3.org/TR/cssom-view/#dom-caretposition-offsetnode\\n */\\nCaretPosition.prototype.offsetNode;\\n\\n/**\\n * @type {number}\\n * @see http://www.w3.org/TR/cssom-view/#dom-caretposition-offset\\n */\\nCaretPosition.prototype.offset;\\n\\n\\n// http://www.w3.org/TR/cssom-view/#extensions-to-the-element-interface\\n\\n/**\\n * @return {!ClientRectList}\\n * @see http://www.w3.org/TR/cssom-view/#dom-element-getclientrects\\n */\\nElement.prototype.getClientRects = function() {};\\n\\n/**\\n * @return {!ClientRect}\\n * @see http://www.w3.org/TR/cssom-view/#dom-element-getboundingclientrect\\n */\\nElement.prototype.getBoundingClientRect = function() {};\\n\\n/**\\n * @param {(boolean|{behavior: string, block: string})=} opt_top\\n * @see http://www.w3.org/TR/cssom-view/#dom-element-scrollintoview\\n * @return {undefined}\\n */\\nElement.prototype.scrollIntoView = function(opt_top) {};\\n\\n/**\\n * @type {number}\\n * @see http://www.w3.org/TR/cssom-view/#dom-element-scrolltop\\n */\\nElement.prototype.scrollTop;\\n\\n/**\\n * @type {number}\\n * @see http://www.w3.org/TR/cssom-view/#dom-element-scrollleft\\n */\\nElement.prototype.scrollLeft;\\n\\n/**\\n * @type {number}\\n * @see http://www.w3.org/TR/cssom-view/#dom-element-scrollwidth\\n */\\nElement.prototype.scrollWidth;\\n\\n/**\\n * @type {number}\\n * @see http://www.w3.org/TR/cssom-view/#dom-element-scrollheight\\n */\\nElement.prototype.scrollHeight;\\n\\n/**\\n * @type {number}\\n * @see http://www.w3.org/TR/cssom-view/#dom-element-clienttop\\n */\\nElement.prototype.clientTop;\\n\\n/**\\n * @type {number}\\n * @see http://www.w3.org/TR/cssom-view/#dom-element-clientleft\\n */\\nElement.prototype.clientLeft;\\n\\n/**\\n * @type {number}\\n * @see http://www.w3.org/TR/cssom-view/#dom-element-clientwidth\\n */\\nElement.prototype.clientWidth;\\n\\n/**\\n * @type {number}\\n * @see http://www.w3.org/TR/cssom-view/#dom-element-clientheight\\n */\\nElement.prototype.clientHeight;\\n\\n// http://www.w3.org/TR/cssom-view/#extensions-to-the-htmlelement-interface\\n\\n/**\\n * @type {Element}\\n * @see http://www.w3.org/TR/cssom-view/#dom-htmlelement-offsetparent\\n */\\nHTMLElement.prototype.offsetParent;\\n\\n/**\\n * @type {number}\\n * @see http://www.w3.org/TR/cssom-view/#dom-htmlelement-offsettop\\n */\\nHTMLElement.prototype.offsetTop;\\n\\n/**\\n * @type {number}\\n * @see http://www.w3.org/TR/cssom-view/#dom-htmlelement-offsetleft\\n */\\nHTMLElement.prototype.offsetLeft;\\n\\n/**\\n * @type {number}\\n * @see http://www.w3.org/TR/cssom-view/#dom-htmlelement-offsetwidth\\n */\\nHTMLElement.prototype.offsetWidth;\\n\\n/**\\n * @type {number}\\n * @see http://www.w3.org/TR/cssom-view/#dom-htmlelement-offsetheight\\n */\\nHTMLElement.prototype.offsetHeight;\\n\\n\\n// http://www.w3.org/TR/cssom-view/#extensions-to-the-range-interface\\n\\n/**\\n * @return {!ClientRectList}\\n * @see http://www.w3.org/TR/cssom-view/#dom-range-getclientrects\\n */\\nRange.prototype.getClientRects = function() {};\\n\\n/**\\n * @return {!ClientRect}\\n * @see http://www.w3.org/TR/cssom-view/#dom-range-getboundingclientrect\\n */\\nRange.prototype.getBoundingClientRect = function() {};\\n\\n\\n// http://www.w3.org/TR/cssom-view/#extensions-to-the-mouseevent-interface\\n\\n// MouseEvent: screen{X,Y} and client{X,Y} are in DOM Level 2/3 Event as well,\\n// so it seems like a specification issue. I've emailed www-style@w3.org in\\n// hopes of resolving the conflict, but in the mean time they can live here\\n// (http://lists.w3.org/Archives/Public/www-style/2012May/0039.html).\\n\\n/**\\n * @type {number}\\n * @see http://www.w3.org/TR/cssom-view/#dom-mouseevent-screenx\\n */\\n//MouseEvent.prototype.screenX;\\n\\n/**\\n * @type {number}\\n * @see http://www.w3.org/TR/cssom-view/#dom-mouseevent-screeny\\n */\\n//MouseEvent.prototype.screenY;\\n\\n/**\\n * @type {number}\\n * @see http://www.w3.org/TR/cssom-view/#dom-mouseevent-pagex\\n */\\nMouseEvent.prototype.pageX;\\n\\n/**\\n * @type {number}\\n * @see http://www.w3.org/TR/cssom-view/#dom-mouseevent-pagey\\n */\\nMouseEvent.prototype.pageY;\\n\\n/**\\n * @type {number}\\n * @see http://www.w3.org/TR/cssom-view/#dom-mouseevent-clientx\\n */\\n//MouseEvent.prototype.clientX;\\n\\n/**\\n * @type {number}\\n * @see http://www.w3.org/TR/cssom-view/#dom-mouseevent-clienty\\n */\\n//MouseEvent.prototype.clientY;\\n\\n/**\\n * @type {number}\\n * @see http://www.w3.org/TR/cssom-view/#dom-mouseevent-x\\n */\\nMouseEvent.prototype.x;\\n\\n/**\\n * @type {number}\\n * @see http://www.w3.org/TR/cssom-view/#dom-mouseevent-y\\n */\\nMouseEvent.prototype.y;\\n\\n/**\\n * @type {number}\\n * @see http://www.w3.org/TR/cssom-view/#dom-mouseevent-offsetx\\n */\\nMouseEvent.prototype.offsetX;\\n\\n/**\\n * @type {number}\\n * @see http://www.w3.org/TR/cssom-view/#dom-mouseevent-offsety\\n */\\nMouseEvent.prototype.offsetY;\\n\\n\\n// http://www.w3.org/TR/cssom-view/#rectangles\\n\\n/**\\n * @constructor\\n * @see http://www.w3.org/TR/cssom-view/#the-clientrectlist-interface\\n * @implements {IArrayLike<!ClientRect>}\\n */\\nfunction ClientRectList() {}\\n\\n/**\\n * @type {number}\\n * @see http://www.w3.org/TR/cssom-view/#dom-clientrectlist-length\\n */\\nClientRectList.prototype.length;\\n\\n/**\\n * @param {number} index\\n * @return {ClientRect}\\n * @see http://www.w3.org/TR/cssom-view/#dom-clientrectlist-item\\n */\\nClientRectList.prototype.item = function(index) {};\\n\\n/**\\n * @constructor\\n * @see http://www.w3.org/TR/cssom-view/#the-clientrect-interface\\n */\\nfunction ClientRect() {}\\n\\n/**\\n * @type {number}\\n * @see http://www.w3.org/TR/cssom-view/#dom-clientrect-top\\n */\\nClientRect.prototype.top;\\n\\n/**\\n * @type {number}\\n * @see http://www.w3.org/TR/cssom-view/#dom-clientrect-right\\n */\\nClientRect.prototype.right;\\n\\n/**\\n * @type {number}\\n * @see http://www.w3.org/TR/cssom-view/#dom-clientrect-bottom\\n */\\nClientRect.prototype.bottom;\\n\\n/**\\n * @type {number}\\n * @see http://www.w3.org/TR/cssom-view/#dom-clientrect-left\\n */\\nClientRect.prototype.left;\\n\\n/**\\n * @type {number}\\n * @see http://www.w3.org/TR/cssom-view/#dom-clientrect-width\\n */\\nClientRect.prototype.width;\\n\\n/**\\n * @type {number}\\n * @see http://www.w3.org/TR/cssom-view/#dom-clientrect-height\\n */\\nClientRect.prototype.height;\\n\\n/**\\n * @constructor\\n * http://www.w3.org/TR/css3-conditional/#CSS-interface\\n */\\nfunction CSSInterface() {}\\n\\n/**\\n * @param {string} ident\\n * @return {string}\\n * @see http://www.w3.org/TR/cssom/#the-css.escape()-method\\n * @throws DOMException {@see DOMException.INVALID_CHARACTER_ERR}\\n */\\nCSSInterface.prototype.escape = function(ident) {};\\n\\n/**\\n * @param {string} property\\n * @param {string=} opt_value\\n * @return {boolean}\\n */\\nCSSInterface.prototype.supports = function(property, opt_value) {};\\n\\n/**\\n * TODO(nicksantos): This suppress tag probably isn't needed, and\\n * should be removed.\\n * @suppress {duplicate}\\n * @type {CSSInterface}\\n */\\nvar CSS;\\n\\n/** @type {CSSInterface} */\\nWindow.prototype.CSS;\\n\\n// http://dev.w3.org/csswg/css-font-loading/\\n\\n/**\\n * Set of possible string values: 'error', 'loaded', 'loading', 'unloaded'.\\n * @typedef {string}\\n * @see http://dev.w3.org/csswg/css-font-loading/#enumdef-fontfaceloadstatus\\n */\\nvar FontFaceLoadStatus;\\n\\n/**\\n * @typedef {{\\n *   style: (string|undefined),\\n *   weight: (string|undefined),\\n *   stretch: (string|undefined),\\n *   unicodeRange: (string|undefined),\\n *   variant: (string|undefined),\\n *   featureSettings: (string|undefined)\\n * }}\\n * @see http://dev.w3.org/csswg/css-font-loading/#dictdef-fontfacedescriptors\\n */\\nvar FontFaceDescriptors;\\n\\n/**\\n * @constructor\\n * @param {string} fontFamily\\n * @param {(string|ArrayBuffer|ArrayBufferView)} source\\n * @param {!FontFaceDescriptors=} opt_descriptors\\n * @see http://dev.w3.org/csswg/css-font-loading/#font-face-constructor\\n */\\nfunction FontFace(fontFamily, source, opt_descriptors) {}\\n\\n/**\\n * @type {string}\\n * @see http://dev.w3.org/csswg/css-font-loading/#dom-fontface-family\\n */\\nFontFace.prototype.family;\\n\\n/**\\n * @type {string}\\n * @see http://dev.w3.org/csswg/css-font-loading/#dom-fontface-style\\n */\\nFontFace.prototype.style;\\n\\n/**\\n * @type {string}\\n * @see http://dev.w3.org/csswg/css-font-loading/#dom-fontface-weight\\n */\\nFontFace.prototype.weight;\\n\\n/**\\n * @type {string}\\n * @see http://dev.w3.org/csswg/css-font-loading/#dom-fontface-stretch\\n */\\nFontFace.prototype.stretch;\\n\\n/**\\n * @type {string}\\n * @see http://dev.w3.org/csswg/css-font-loading/#dom-fontface-unicoderange\\n */\\nFontFace.prototype.unicodeRange;\\n\\n/**\\n * @type {string}\\n * @see http://dev.w3.org/csswg/css-font-loading/#dom-fontface-variant\\n */\\nFontFace.prototype.variant;\\n\\n/**\\n * @type {string}\\n * @see http://dev.w3.org/csswg/css-font-loading/#dom-fontface-featuresettings\\n */\\nFontFace.prototype.featureSettings;\\n\\n/**\\n * @type {FontFaceLoadStatus}\\n * @see http://dev.w3.org/csswg/css-font-loading/#dom-fontface-status\\n */\\nFontFace.prototype.status;\\n\\n/**\\n * @return {!Promise<!FontFace>}\\n * @see http://dev.w3.org/csswg/css-font-loading/#font-face-load\\n */\\nFontFace.prototype.load = function() {};\\n\\n/**\\n * Set of possible string values: 'loaded', 'loading'.\\n * @typedef {string}\\n * @see http://dev.w3.org/csswg/css-font-loading/#enumdef-fontfacesetloadstatus\\n */\\nvar FontFaceSetLoadStatus;\\n\\n/**\\n * @interface\\n * @extends {EventTarget}\\n * @see http://dev.w3.org/csswg/css-font-loading/#FontFaceSet-interface\\n */\\nfunction FontFaceSet() {}\\n\\n// Event handlers\\n// http://dev.w3.org/csswg/css-font-loading/#FontFaceSet-events\\n\\n/** @type {?function (Event)} */ FontFaceSet.prototype.onloading;\\n/** @type {?fu";
a.a+='nction (Event)} */ FontFaceSet.prototype.onloadingdone;\\n/** @type {?function (Event)} */ FontFaceSet.prototype.onloadingerror;\\n\\n/**\\n * @param {!FontFace} value\\n * @see http://dev.w3.org/csswg/css-font-loading/#dom-fontfaceset-add\\n * @return {undefined}\\n */\\nFontFaceSet.prototype.add = function(value) {};\\n\\n/**\\n * @see http://dev.w3.org/csswg/css-font-loading/#dom-fontfaceset-clear\\n * @return {undefined}\\n */\\nFontFaceSet.prototype.clear = function() {};\\n\\n/**\\n * @param {!FontFace} value\\n * @see http://dev.w3.org/csswg/css-font-loading/#dom-fontfaceset-delete\\n * @return {undefined}\\n */\\nFontFaceSet.prototype.delete = function(value) {};\\n\\n/**\\n * @param {!FontFace} font\\n * @return {boolean}\\n * @see http://dev.w3.org/csswg/css-font-loading/#dom-fontfaceset-has\\n */\\nFontFaceSet.prototype.has = function(font) {};\\n\\n/**\\n * @param {function(!FontFace, number, !FontFaceSet)} cb\\n * @param {Object|undefined=} opt_selfObj\\n * see http://dev.w3.org/csswg/css-font-loading/#dom-fontfaceset-foreach\\n * @return {undefined}\\n */\\nFontFaceSet.prototype.forEach = function(cb, opt_selfObj) {};\\n\\n/**\\n * @param {string} font\\n * @param {string=} opt_text\\n * @return {!Promise<!Array<!FontFace>>}\\n * @see http://dev.w3.org/csswg/css-font-loading/#dom-fontfaceset-load\\n */\\nFontFaceSet.prototype.load = function(font, opt_text) {};\\n\\n/**\\n * @param {string} font\\n * @param {string=} opt_text\\n * @return {boolean}\\n * @see http://dev.w3.org/csswg/css-font-loading/#dom-fontfaceset-check\\n */\\nFontFaceSet.prototype.check = function(font, opt_text) {};\\n\\n/**\\n * @type {!Promise<!FontFaceSet>}\\n * @see http://dev.w3.org/csswg/css-font-loading/#dom-fontfaceset-ready\\n */\\nFontFaceSet.prototype.ready;\\n\\n/**\\n * @type {FontFaceSetLoadStatus}\\n * @see http://dev.w3.org/csswg/css-font-loading/#dom-fontfaceset-status\\n */\\nFontFaceSet.prototype.status;\\n","externs/gecko_css.js":"/*\\n * Copyright 2008 The Closure Compiler Authors\\n *\\n * Licensed under the Apache License, Version 2.0 (the \\"License\\");\\n * you may not use this file except in compliance with the License.\\n * You may obtain a copy of the License at\\n *\\n *     http://www.apache.org/licenses/LICENSE-2.0\\n *\\n * Unless required by applicable law or agreed to in writing, software\\n * distributed under the License is distributed on an \\"AS IS\\" BASIS,\\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\\n * See the License for the specific language governing permissions and\\n * limitations under the License.\\n */\\n\\n/**\\n * @fileoverview Definitions for Gecko\'s custom CSS properties. Copied from:\\n * http://mxr.mozilla.org/mozilla2.0/source/dom/interfaces/css/nsIDOMCSS2Properties.idl\\n *\\n * @externs\\n * @author nicksantos@google.com (Nick Santos)\\n */\\n\\n\\n/** @type {string} */ CSSProperties.prototype.MozAppearance;\\n/** @type {string} */ CSSProperties.prototype.MozBackfaceVisibility;\\n/** @type {string} */ CSSProperties.prototype.MozBackgroundClip;\\n/** @type {string} */ CSSProperties.prototype.MozBackgroundInlinePolicy;\\n/** @type {string} */ CSSProperties.prototype.MozBackgroundOrigin;\\n/** @type {string} */ CSSProperties.prototype.MozBinding;\\n/** @type {string} */ CSSProperties.prototype.MozBorderBottomColors;\\n/** @type {string} */ CSSProperties.prototype.MozBorderEnd;\\n/** @type {string} */ CSSProperties.prototype.MozBorderEndColor;\\n/** @type {string} */ CSSProperties.prototype.MozBorderEndStyle;\\n/** @type {string} */ CSSProperties.prototype.MozBorderEndWidth;\\n/** @type {string} */ CSSProperties.prototype.MozBorderImage;\\n/** @type {string} */ CSSProperties.prototype.MozBorderLeftColors;\\n/** @type {string} */ CSSProperties.prototype.MozBorderRadius;\\n/** @type {string} */ CSSProperties.prototype.MozBorderRadiusTopleft;\\n/** @type {string} */ CSSProperties.prototype.MozBorderRadiusTopright;\\n/** @type {string} */ CSSProperties.prototype.MozBorderRadiusBottomleft;\\n/** @type {string} */ CSSProperties.prototype.MozBorderRadiusBottomright;\\n/** @type {string} */ CSSProperties.prototype.MozBorderRightColors;\\n/** @type {string} */ CSSProperties.prototype.MozBorderStart;\\n/** @type {string} */ CSSProperties.prototype.MozBorderStartColor;\\n/** @type {string} */ CSSProperties.prototype.MozBorderStartStyle;\\n/** @type {string} */ CSSProperties.prototype.MozBorderStartWidth;\\n/** @type {string} */ CSSProperties.prototype.MozBorderTopColors;\\n/** @type {string} */ CSSProperties.prototype.MozBoxAlign;\\n/** @type {string} */ CSSProperties.prototype.MozBoxDirection;\\n/** @type {string} */ CSSProperties.prototype.MozBoxFlex;\\n/** @type {string} */ CSSProperties.prototype.MozBoxOrdinalGroup;\\n/** @type {string} */ CSSProperties.prototype.MozBoxOrient;\\n/** @type {string} */ CSSProperties.prototype.MozBoxPack;\\n/** @type {string} */ CSSProperties.prototype.MozBoxSizing;\\n/** @type {string} */ CSSProperties.prototype.MozBoxShadow;\\n/** @type {string} */ CSSProperties.prototype.MozColumnCount;\\n/** @type {string} */ CSSProperties.prototype.MozColumnGap;\\n/** @type {string} */ CSSProperties.prototype.MozColumnRule;\\n/** @type {string} */ CSSProperties.prototype.MozColumnRuleColor;\\n/** @type {string} */ CSSProperties.prototype.MozColumnRuleStyle;\\n/** @type {string} */ CSSProperties.prototype.MozColumnRuleWidth;\\n/** @type {string} */ CSSProperties.prototype.MozColumnWidth;\\n/** @type {string} */ CSSProperties.prototype.MozFloatEdge;\\n/** @type {string} */ CSSProperties.prototype.MozFontFeatureSettings;\\n/** @type {string} */ CSSProperties.prototype.MozFontLanguageOverride;\\n/** @type {string} */ CSSProperties.prototype.MozForceBrokenImageIcon;\\n/** @type {string} */ CSSProperties.prototype.MozImageRegion;\\n/** @type {string} */ CSSProperties.prototype.MozMarginEnd;\\n/** @type {string} */ CSSProperties.prototype.MozMarginStart;\\n/** @type {number|string} */ CSSProperties.prototype.MozOpacity;\\n/** @type {string} */ CSSProperties.prototype.MozOutline;\\n/** @type {string} */ CSSProperties.prototype.MozOutlineColor;\\n/** @type {string} */ CSSProperties.prototype.MozOutlineOffset;\\n/** @type {string} */ CSSProperties.prototype.MozOutlineRadius;\\n/** @type {string} */ CSSProperties.prototype.MozOutlineRadiusBottomleft;\\n/** @type {string} */ CSSProperties.prototype.MozOutlineRadiusBottomright;\\n/** @type {string} */ CSSProperties.prototype.MozOutlineRadiusTopleft;\\n/** @type {string} */ CSSProperties.prototype.MozOutlineRadiusTopright;\\n/** @type {string} */ CSSProperties.prototype.MozOutlineStyle;\\n/** @type {string} */ CSSProperties.prototype.MozOutlineWidth;\\n/** @type {string} */ CSSProperties.prototype.MozPaddingEnd;\\n/** @type {string} */ CSSProperties.prototype.MozPaddingStart;\\n/** @type {string} */ CSSProperties.prototype.MozPerspective;\\n/** @type {string} */ CSSProperties.prototype.MozStackSizing;\\n/** @type {string} */ CSSProperties.prototype.MozTabSize;\\n/** @type {string} */ CSSProperties.prototype.MozTransform;\\n/** @type {string} */ CSSProperties.prototype.MozTransformOrigin;\\n/** @type {string} */ CSSProperties.prototype.MozTransition;\\n/** @type {string} */ CSSProperties.prototype.MozTransitionDelay;\\n/** @type {string} */ CSSProperties.prototype.MozTransitionDuration;\\n/** @type {string} */ CSSProperties.prototype.MozTransitionProperty;\\n/** @type {string} */ CSSProperties.prototype.MozTransitionTimingFunction;\\n/** @type {string} */ CSSProperties.prototype.MozUserFocus;\\n/** @type {string} */ CSSProperties.prototype.MozUserInput;\\n/** @type {string} */ CSSProperties.prototype.MozUserModify;\\n/** @type {string} */ CSSProperties.prototype.MozUserSelect;\\n/** @type {string} */ CSSProperties.prototype.MozWindowShadow;\\n\\n\\n// These are non-standard Gecko CSSOM properties on Window.prototype.screen.\\n\\n/**\\n * @type {number}\\n * @see https://developer.mozilla.org/En/DOM/window.screen.availTop\\n */\\nScreen.prototype.availTop;\\n\\n/**\\n * @type {number}\\n * @see https://developer.mozilla.org/En/DOM/window.screen.availLeft\\n */\\nScreen.prototype.availLeft;\\n\\n/**\\n * @type {number}\\n * @see https://developer.mozilla.org/En/DOM/window.screen.left\\n */\\nScreen.prototype.left;\\n\\n/**\\n * @type {number}\\n * @see https://developer.mozilla.org/En/DOM/window.screen.top\\n */\\nScreen.prototype.top;\\n","externs/ie_css.js":"/*\\n * Copyright 2008 The Closure Compiler Authors\\n *\\n * Licensed under the Apache License, Version 2.0 (the \\"License\\");\\n * you may not use this file except in compliance with the License.\\n * You may obtain a copy of the License at\\n *\\n *     http://www.apache.org/licenses/LICENSE-2.0\\n *\\n * Unless required by applicable law or agreed to in writing, software\\n * distributed under the License is distributed on an \\"AS IS\\" BASIS,\\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\\n * See the License for the specific language governing permissions and\\n * limitations under the License.\\n */\\n\\n/**\\n * @fileoverview Definitions for IE\'s custom CSS properties, as defined here:\\n * http://msdn.microsoft.com/en-us/library/aa768661(VS.85).aspx\\n *\\n * This page is also useful for the IDL definitions:\\n * http://source.winehq.org/source/include/mshtml.idl\\n *\\n * @externs\\n * @author nicksantos@google.com\\n */\\n\\n/** @type {Element} */\\nStyleSheet.prototype.owningElement;\\n\\n/** @type {boolean} */\\nStyleSheet.prototype.readOnly;\\n\\n/** @type {StyleSheetList} */\\nStyleSheet.prototype.imports;\\n\\n/** @type {string} */\\nStyleSheet.prototype.id;\\n\\n/**\\n * @param {string} bstrURL\\n * @param {number} lIndex\\n * @return {number}\\n */\\nStyleSheet.prototype.addImport;\\n\\n/**\\n * @param {string} bstrSelector\\n * @param {string} bstrStyle\\n * @param {number=} opt_iIndex\\n * @return {number}\\n * @see http://msdn.microsoft.com/en-us/library/aa358796%28v=vs.85%29.aspx\\n */\\nStyleSheet.prototype.addRule;\\n\\n/**\\n * @param {number} lIndex\\n */\\nStyleSheet.prototype.removeImport;\\n\\n/**\\n * @param {number} lIndex\\n */\\nStyleSheet.prototype.removeRule;\\n\\n/** @type {string} */\\nStyleSheet.prototype.cssText;\\n\\n/** @type {CSSRuleList} */\\nStyleSheet.prototype.rules;\\n\\n// StyleSheet methods\\n\\n/**\\n * @param {string} propName\\n * @return {string}\\n * @see http://msdn.microsoft.com/en-us/library/aa358797(VS.85).aspx\\n */\\nStyleSheet.prototype.getExpression;\\n\\n/**\\n * @param {string} name\\n * @param {string} expression\\n * @return {undefined}\\n * @see http://msdn.microsoft.com/en-us/library/ms531196(VS.85).aspx\\n */\\nStyleSheet.prototype.setExpression;\\n\\n/**\\n * @param {string} expression\\n * @return {undefined}\\n * @see http://msdn.microsoft.com/en-us/library/aa358798(VS.85).aspx\\n */\\nStyleSheet.prototype.removeExpression;\\n\\n// IE-only CSS style names.\\n\\n/** @type {string} */ CSSProperties.prototype.backgroundPositionX;\\n\\n/** @type {string} */ CSSProperties.prototype.backgroundPositionY;\\n\\n/**\\n * @see http://msdn.microsoft.com/en-us/library/ie/ms531081(v=vs.85).aspx\\n * NOTE: Left untyped to avoid conflict with caller.\\n */\\nCSSProperties.prototype.behavior;\\n\\n/**\\n * @type {string}\\n * @see http://msdn.microsoft.com/en-us/library/ms533883.aspx\\n */\\nCSSProperties.prototype.imeMode;\\n\\n/**\\n * @type {string}\\n * @see http://msdn.microsoft.com/en-us/library/ms534176(VS.85).aspx\\n */\\nCSSProperties.prototype.msInterpolationMode;\\n\\n/** @type {string} */ CSSProperties.prototype.overflowX;\\n\\n/** @type {string} */ CSSProperties.prototype.overflowY;\\n\\n/** @type {number} */ CSSProperties.prototype.pixelWidth;\\n\\n/** @type {number} */ CSSProperties.prototype.pixelHeight;\\n\\n/** @type {number} */ CSSProperties.prototype.pixelLeft;\\n\\n/** @type {number} */ CSSProperties.prototype.pixelTop;\\n\\n/** @type {string} */ CSSProperties.prototype.styleFloat;\\n\\n/**\\n * @type {string|number}\\n * @see http://msdn.microsoft.com/en-us/library/ms535169(VS.85).aspx\\n */\\nCSSProperties.prototype.zoom;\\n\\n/**\\n * @type {string}\\n * @see http://msdn.microsoft.com/en-us/library/ms535153(VS.85).aspx\\n */\\nCSSProperties.prototype.writingMode;\\n\\n/**\\n * IE-specific extensions.\\n * @see http://blogs.msdn.com/b/ie/archive/2008/09/08/microsoft-css-vendor-extensions.aspx\\n */\\n\\n/** @type {string} */\\nCSSProperties.prototype.MsAccelerator;\\n\\n/** @type {string} */\\nCSSProperties.prototype.MsBackgroundPositionX;\\n\\n/** @type {string} */\\nCSSProperties.prototype.MsBackgroundPositionY;\\n\\n/** @type {string} */\\nCSSProperties.prototype.MsBehavior;\\n\\n/** @type {string} */\\nCSSProperties.prototype.MsBlockProgression;\\n\\n/** @type {string} */\\nCSSProperties.prototype.MsFilter;\\n\\n/** @type {string} */\\nCSSProperties.prototype.MsImeMode;\\n\\n/** @type {string} */\\nCSSProperties.prototype.MsLayoutGrid;\\n\\n/** @type {string} */\\nCSSProperties.prototype.MsLayoutGridChar;\\n\\n/** @type {string} */\\nCSSProperties.prototype.MsLayoutGridLine;\\n\\n/** @type {string} */\\nCSSProperties.prototype.MsLayoutGridMode;\\n\\n/** @type {string} */\\nCSSProperties.prototype.MsLayoutGridType;\\n\\n/** @type {string} */\\nCSSProperties.prototype.MsLineBreak;\\n\\n/** @type {string} */\\nCSSProperties.prototype.MsLineGridMode;\\n\\n/** @type {string} */\\nCSSProperties.prototype.MsInterpolationMode;\\n\\n/** @type {string} */\\nCSSProperties.prototype.MsOverflowX;\\n\\n/** @type {string} */\\nCSSProperties.prototype.MsOverflowY;\\n\\n/** @type {string} */\\nCSSProperties.prototype.MsScrollbar3dlightColor;\\n\\n/** @type {string} */\\nCSSProperties.prototype.MsScrollbarArrowColor;\\n\\n/** @type {string} */\\nCSSProperties.prototype.MsScrollbarBaseColor;\\n\\n/** @type {string} */\\nCSSProperties.prototype.MsScrollbarDarkshadowColor;\\n\\n/** @type {string} */\\nCSSProperties.prototype.MsScrollbarFaceColor;\\n\\nCSSProperties.prototype.MsScrollbarHighlightColor;\\n\\n/** @type {string} */\\nCSSProperties.prototype.MsScrollbarShadowColor;\\n\\n/** @type {string} */\\nCSSProperties.prototype.MsScrollbarTrackColor;\\n\\n/** @type {string} */\\nCSSProperties.prototype.MsTextAlignLast;\\n\\n/** @type {string} */\\nCSSProperties.prototype.MsTextAutospace;\\n\\n/** @type {string} */\\nCSSProperties.prototype.MsTextJustify;\\n\\n/** @type {string} */\\nCSSProperties.prototype.MsTextKashidaSpace;\\n\\n/** @type {string} */\\nCSSProperties.prototype.MsTextOverflow;\\n\\n/** @type {string} */\\nCSSProperties.prototype.MsTextUnderlinePosition;\\n\\n/** @type {string} */\\nCSSProperties.prototype.MsWordBreak;\\n\\n/** @type {string} */\\nCSSProperties.prototype.MsWordWrap;\\n\\n/** @type {string} */\\nCSSProperties.prototype.MsWritingMode;\\n\\n/** @type {string} */\\nCSSProperties.prototype.MsZoom;\\n\\n// See: http://msdn.microsoft.com/en-us/library/windows/apps/Hh702466.aspx\\n\\n/** @type {string} */\\nCSSProperties.prototype.msContentZooming;\\n\\n/** @type {string} */\\nCSSProperties.prototype.msTouchAction;\\n\\n/** @type {string} */\\nCSSProperties.prototype.msTransform;\\n\\n/** @type {string} */\\nCSSProperties.prototype.msTransition;\\n","externs/webkit_css.js":"/*\\n * Copyright 2008 The Closure Compiler Authors\\n *\\n * Licensed under the Apache License, Version 2.0 (the \\"License\\");\\n * you may not use this file except in compliance with the License.\\n * You may obtain a copy of the License at\\n *\\n *     http://www.apache.org/licenses/LICENSE-2.0\\n *\\n * Unless required by applicable law or agreed to in writing, software\\n * distributed under the License is distributed on an \\"AS IS\\" BASIS,\\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\\n * See the License for the specific language governing permissions and\\n * limitations under the License.\\n */\\n\\n/**\\n * @fileoverview Definitions for WebKit\'s custom CSS properties. Copied from:\\n * {@link\\n * http://trac.webkit.org/browser/trunk/Source/WebCore/css/CSSPropertyNames.in}\\n *\\n * If you make changes to this file, notice that every property appears\\n * twice: once as an uppercase name and once as a lowercase name.\\n * WebKit allows both. The uppercase version is preferred.\\n *\\n * @externs\\n * @author nicksantos@google.com (Nick Santos)\\n * @author mastepien@google.com (Marek Stepien)\\n */\\n\\n/** @type {string} */ CSSProperties.prototype.WebkitAlignContent;\\n/** @type {string} */ CSSProperties.prototype.WebkitAlignItems;\\n/** @type {string} */ CSSProperties.prototype.WebkitAlignSelf;\\n/** @type {string} */ CSSProperties.prototype.WebkitAnimation;\\n/** @type {string} */ CSSProperties.prototype.WebkitAnimationDelay;\\n/** @type {string} */ CSSProperties.prototype.WebkitAnimationDirection;\\n/** @type {string} */ CSSProperties.prototype.Webkit';
a.a+="AnimationDuration;\\n/** @type {string} */ CSSProperties.prototype.WebkitAnimationFillMode;\\n/** @type {string} */ CSSProperties.prototype.WebkitAnimationIterationCount;\\n/** @type {string} */ CSSProperties.prototype.WebkitAnimationName;\\n/** @type {string} */ CSSProperties.prototype.WebkitAnimationPlayState;\\n/** @type {string} */ CSSProperties.prototype.WebkitAnimationTimingFunction;\\n/** @type {string} */ CSSProperties.prototype.WebkitAppearance;\\n/** @type {string} */ CSSProperties.prototype.WebkitAppRegion;\\n/** @type {string} */ CSSProperties.prototype.WebkitAspectRatio;\\n/** @type {string} */ CSSProperties.prototype.WebkitBackfaceVisibility;\\n/** @type {string} */ CSSProperties.prototype.WebkitBackgroundClip;\\n/** @type {string} */ CSSProperties.prototype.WebkitBackgroundComposite;\\n/** @type {string} */ CSSProperties.prototype.WebkitBackgroundOrigin;\\n/** @type {string} */ CSSProperties.prototype.WebkitBackgroundSize;\\n/** @type {string} */ CSSProperties.prototype.WebkitBinding;\\n/** @type {string} */ CSSProperties.prototype.WebkitBlendMode;\\n/** @type {string} */ CSSProperties.prototype.WebkitBorderAfter;\\n/** @type {string} */ CSSProperties.prototype.WebkitBorderAfterColor;\\n/** @type {string} */ CSSProperties.prototype.WebkitBorderAfterStyle;\\n/** @type {string} */ CSSProperties.prototype.WebkitBorderAfterWidth;\\n/** @type {string} */ CSSProperties.prototype.WebkitBorderBefore;\\n/** @type {string} */ CSSProperties.prototype.WebkitBorderBeforeColor;\\n/** @type {string} */ CSSProperties.prototype.WebkitBorderBeforeStyle;\\n/** @type {string} */ CSSProperties.prototype.WebkitBorderBeforeWidth;\\n/** @type {string} */ CSSProperties.prototype.WebkitBorderBottomLeftRadius;\\n/** @type {string} */ CSSProperties.prototype.WebkitBorderBottomRightRadius;\\n/** @type {string} */ CSSProperties.prototype.WebkitBorderEnd;\\n/** @type {string} */ CSSProperties.prototype.WebkitBorderEndColor;\\n/** @type {string} */ CSSProperties.prototype.WebkitBorderEndStyle;\\n/** @type {string} */ CSSProperties.prototype.WebkitBorderEndWidth;\\n/** @type {string} */ CSSProperties.prototype.WebkitBorderFit;\\n/** @type {string} */ CSSProperties.prototype.WebkitBorderHorizontalSpacing;\\n/** @type {string} */ CSSProperties.prototype.WebkitBorderImage;\\n/** @type {string} */ CSSProperties.prototype.WebkitBorderRadius;\\n/** @type {string} */ CSSProperties.prototype.WebkitBorderStart;\\n/** @type {string} */ CSSProperties.prototype.WebkitBorderStartColor;\\n/** @type {string} */ CSSProperties.prototype.WebkitBorderStartStyle;\\n/** @type {string} */ CSSProperties.prototype.WebkitBorderStartWidth;\\n/** @type {string} */ CSSProperties.prototype.WebkitBorderTopLeftRadius;\\n/** @type {string} */ CSSProperties.prototype.WebkitBorderTopRightRadius;\\n/** @type {string} */ CSSProperties.prototype.WebkitBorderVerticalSpacing;\\n/** @type {string} */ CSSProperties.prototype.WebkitBoxAlign;\\n/** @type {string} */ CSSProperties.prototype.WebkitBoxDecorationBreak;\\n/** @type {string} */ CSSProperties.prototype.WebkitBoxDirection;\\n/** @type {string} */ CSSProperties.prototype.WebkitBoxFlex;\\n/** @type {string} */ CSSProperties.prototype.WebkitBoxFlexGroup;\\n/** @type {string} */ CSSProperties.prototype.WebkitBoxLines;\\n/** @type {string} */ CSSProperties.prototype.WebkitBoxOrdinalGroup;\\n/** @type {string} */ CSSProperties.prototype.WebkitBoxOrient;\\n/** @type {string} */ CSSProperties.prototype.WebkitBoxPack;\\n/** @type {string} */ CSSProperties.prototype.WebkitBoxReflect;\\n/** @type {string} */ CSSProperties.prototype.WebkitBoxShadow;\\n/** @type {string} */ CSSProperties.prototype.WebkitBoxSizing;\\n/** @type {string} */ CSSProperties.prototype.WebkitColorCorrection;\\n/** @type {string} */ CSSProperties.prototype.WebkitColumnAxis;\\n/** @type {string} */ CSSProperties.prototype.WebkitColumnBreakAfter;\\n/** @type {string} */ CSSProperties.prototype.WebkitColumnBreakBefore;\\n/** @type {string} */ CSSProperties.prototype.WebkitColumnBreakInside;\\n/** @type {string} */ CSSProperties.prototype.WebkitColumnCount;\\n/** @type {string} */ CSSProperties.prototype.WebkitColumnGap;\\n/** @type {string} */ CSSProperties.prototype.WebkitColumnProgression;\\n/** @type {string} */ CSSProperties.prototype.WebkitColumnRule;\\n/** @type {string} */ CSSProperties.prototype.WebkitColumnRuleColor;\\n/** @type {string} */ CSSProperties.prototype.WebkitColumnRuleStyle;\\n/** @type {string} */ CSSProperties.prototype.WebkitColumnRuleWidth;\\n/** @type {string} */ CSSProperties.prototype.WebkitColumns;\\n/** @type {string} */ CSSProperties.prototype.WebkitColumnSpan;\\n/** @type {string} */ CSSProperties.prototype.WebkitColumnWidth;\\n/** @type {string} */ CSSProperties.prototype.WebkitDashboardRegion;\\n/** @type {string} */ CSSProperties.prototype.WebkitFilter;\\n/** @type {string} */ CSSProperties.prototype.WebkitFlex;\\n/** @type {string} */ CSSProperties.prototype.WebkitFlexBasis;\\n/** @type {string} */ CSSProperties.prototype.WebkitFlexDirection;\\n/** @type {string} */ CSSProperties.prototype.WebkitFlexFlow;\\n/** @type {string} */ CSSProperties.prototype.WebkitFlexGrow;\\n/** @type {string} */ CSSProperties.prototype.WebkitFlexShrink;\\n/** @type {string} */ CSSProperties.prototype.WebkitFlexWrap;\\n/** @type {string} */ CSSProperties.prototype.WebkitFlowFrom;\\n/** @type {string} */ CSSProperties.prototype.WebkitFlowInto;\\n/** @type {string} */ CSSProperties.prototype.WebkitFontSizeDelta;\\n/** @type {string} */ CSSProperties.prototype.WebkitFontSmoothing;\\n/** @type {string} */ CSSProperties.prototype.WebkitGridColumn;\\n/** @type {string} */ CSSProperties.prototype.WebkitGridColumns;\\n/** @type {string} */ CSSProperties.prototype.WebkitGridRow;\\n/** @type {string} */ CSSProperties.prototype.WebkitGridRows;\\n/** @type {string} */ CSSProperties.prototype.WebkitHighlight;\\n/** @type {string} */ CSSProperties.prototype.WebkitHyphenateCharacter;\\n/** @type {string} */ CSSProperties.prototype.WebkitHyphenateLimitAfter;\\n/** @type {string} */ CSSProperties.prototype.WebkitHyphenateLimitBefore;\\n/** @type {string} */ CSSProperties.prototype.WebkitHyphenateLimitLines;\\n/** @type {string} */ CSSProperties.prototype.WebkitHyphens;\\n/** @type {string} */ CSSProperties.prototype.WebkitJustifyContent;\\n/** @type {string} */ CSSProperties.prototype.WebkitLineAlign;\\n/** @type {string} */ CSSProperties.prototype.WebkitLineBoxContain;\\n/** @type {string} */ CSSProperties.prototype.WebkitLineBreak;\\n/** @type {string} */ CSSProperties.prototype.WebkitLineClamp;\\n/** @type {string} */ CSSProperties.prototype.WebkitLineGrid;\\n/** @type {string} */ CSSProperties.prototype.WebkitLineSnap;\\n/** @type {string} */ CSSProperties.prototype.WebkitLocale;\\n/** @type {string} */ CSSProperties.prototype.WebkitLogicalHeight;\\n/** @type {string} */ CSSProperties.prototype.WebkitLogicalWidth;\\n/** @type {string} */ CSSProperties.prototype.WebkitMarginAfter;\\n/** @type {string} */ CSSProperties.prototype.WebkitMarginAfterCollapse;\\n/** @type {string} */ CSSProperties.prototype.WebkitMarginBefore;\\n/** @type {string} */ CSSProperties.prototype.WebkitMarginBeforeCollapse;\\n/** @type {string} */ CSSProperties.prototype.WebkitMarginBottomCollapse;\\n/** @type {string} */ CSSProperties.prototype.WebkitMarginCollapse;\\n/** @type {string} */ CSSProperties.prototype.WebkitMarginEnd;\\n/** @type {string} */ CSSProperties.prototype.WebkitMarginStart;\\n/** @type {string} */ CSSProperties.prototype.WebkitMarginTopCollapse;\\n/** @type {string} */ CSSProperties.prototype.WebkitMarquee;\\n/** @type {string} */ CSSProperties.prototype.WebkitMarqueeDirection;\\n/** @type {string} */ CSSProperties.prototype.WebkitMarqueeIncrement;\\n/** @type {string} */ CSSProperties.prototype.WebkitMarqueeRepetition;\\n/** @type {string} */ CSSProperties.prototype.WebkitMarqueeSpeed;\\n/** @type {string} */ CSSProperties.prototype.WebkitMarqueeStyle;\\n/** @type {string} */ CSSProperties.prototype.WebkitMask;\\n/** @type {string} */ CSSProperties.prototype.WebkitMaskAttachment;\\n/** @type {string} */ CSSProperties.prototype.WebkitMaskBoxImage;\\n/** @type {string} */ CSSProperties.prototype.WebkitMaskBoxImageOutset;\\n/** @type {string} */ CSSProperties.prototype.WebkitMaskBoxImageRepeat;\\n/** @type {string} */ CSSProperties.prototype.WebkitMaskBoxImageSlice;\\n/** @type {string} */ CSSProperties.prototype.WebkitMaskBoxImageSource;\\n/** @type {string} */ CSSProperties.prototype.WebkitMaskBoxImageWidth;\\n/** @type {string} */ CSSProperties.prototype.WebkitMaskClip;\\n/** @type {string} */ CSSProperties.prototype.WebkitMaskComposite;\\n/** @type {string} */ CSSProperties.prototype.WebkitMaskImage;\\n/** @type {string} */ CSSProperties.prototype.WebkitMaskOrigin;\\n/** @type {string} */ CSSProperties.prototype.WebkitMaskPosition;\\n/** @type {string} */ CSSProperties.prototype.WebkitMaskPositionX;\\n/** @type {string} */ CSSProperties.prototype.WebkitMaskPositionY;\\n/** @type {string} */ CSSProperties.prototype.WebkitMaskRepeat;\\n/** @type {string} */ CSSProperties.prototype.WebkitMaskRepeatX;\\n/** @type {string} */ CSSProperties.prototype.WebkitMaskRepeatY;\\n/** @type {string} */ CSSProperties.prototype.WebkitMaskSize;\\n/** @type {string} */\\nCSSProperties.prototype.WebkitMatchNearestMailBlockquoteColor;\\n/** @type {string} */ CSSProperties.prototype.WebkitMaxLogicalHeight;\\n/** @type {string} */ CSSProperties.prototype.WebkitMaxLogicalWidth;\\n/** @type {string} */ CSSProperties.prototype.WebkitMinLogicalHeight;\\n/** @type {string} */ CSSProperties.prototype.WebkitMinLogicalWidth;\\n/** @type {string} */ CSSProperties.prototype.WebkitNbspMode;\\n/** @type {string} */ CSSProperties.prototype.WebkitOrder;\\n/** @type {string} */ CSSProperties.prototype.WebkitOverflowScrolling;\\n/** @type {string} */ CSSProperties.prototype.WebkitPaddingAfter;\\n/** @type {string} */ CSSProperties.prototype.WebkitPaddingBefore;\\n/** @type {string} */ CSSProperties.prototype.WebkitPaddingEnd;\\n/** @type {string} */ CSSProperties.prototype.WebkitPaddingStart;\\n/** @type {string} */ CSSProperties.prototype.WebkitPerspective;\\n/** @type {string} */ CSSProperties.prototype.WebkitPerspectiveOrigin;\\n/** @type {string} */ CSSProperties.prototype.WebkitPerspectiveOriginX;\\n/** @type {string} */ CSSProperties.prototype.WebkitPerspectiveOriginY;\\n/** @type {string} */ CSSProperties.prototype.WebkitPrintColorAdjust;\\n/** @type {string} */ CSSProperties.prototype.WebkitRegionBreakAfter;\\n/** @type {string} */ CSSProperties.prototype.WebkitRegionBreakBefore;\\n/** @type {string} */ CSSProperties.prototype.WebkitRegionBreakInside;\\n/** @type {string} */ CSSProperties.prototype.WebkitRegionOverflow;\\n/** @type {string} */ CSSProperties.prototype.WebkitRtlOrdering;\\n/** @type {string} */ CSSProperties.prototype.WebkitRubyPosition;\\n/** @type {string} */ CSSProperties.prototype.WebkitShapeInside;\\n/** @type {string} */ CSSProperties.prototype.WebkitShapeMargin;\\n/** @type {string} */ CSSProperties.prototype.WebkitShapeOutside;\\n/** @type {string} */ CSSProperties.prototype.WebkitShapePadding;\\n/** @type {string} */ CSSProperties.prototype.WebkitTapHighlightColor;\\n/** @type {string} */ CSSProperties.prototype.WebkitTextAlignLast;\\n/** @type {string} */ CSSProperties.prototype.WebkitTextCombine;\\n/** @type {string} */ CSSProperties.prototype.WebkitTextDecorationLine;\\n/** @type {string} */ CSSProperties.prototype.WebkitTextDecorationsInEffect;\\n/** @type {string} */ CSSProperties.prototype.WebkitTextDecorationStyle;\\n/** @type {string} */ CSSProperties.prototype.WebkitTextEmphasis;\\n/** @type {string} */ CSSProperties.prototype.WebkitTextEmphasisColor;\\n/** @type {string} */ CSSProperties.prototype.WebkitTextEmphasisPosition;\\n/** @type {string} */ CSSProperties.prototype.WebkitTextEmphasisStyle;\\n/** @type {string} */ CSSProperties.prototype.WebkitTextFillColor;\\n/** @type {string} */ CSSProperties.prototype.WebkitTextOrientation;\\n/** @type {string} */ CSSProperties.prototype.WebkitTextSecurity;\\n/** @type {string} */ CSSProperties.prototype.WebkitTextSizeAdjust;\\n/** @type {string} */ CSSProperties.prototype.WebkitTextStroke;\\n/** @type {string} */ CSSProperties.prototype.WebkitTextStrokeColor;\\n/** @type {string} */ CSSProperties.prototype.WebkitTextStrokeWidth;\\n/** @type {string} */ CSSProperties.prototype.WebkitTransform;\\n/** @type {string} */ CSSProperties.prototype.WebkitTransformOrigin;\\n/** @type {string} */ CSSProperties.prototype.WebkitTransformOriginX;\\n/** @type {string} */ CSSProperties.prototype.WebkitTransformOriginY;\\n/** @type {string} */ CSSProperties.prototype.WebkitTransformOriginZ;\\n/** @type {string} */ CSSProperties.prototype.WebkitTransformStyle;\\n/** @type {string} */ CSSProperties.prototype.WebkitTransition;\\n/** @type {string} */ CSSProperties.prototype.WebkitTransitionDelay;\\n/** @type {string} */ CSSProperties.prototype.WebkitTransitionDuration;\\n/** @type {string} */ CSSProperties.prototype.WebkitTransitionProperty;\\n/** @type {string} */ CSSProperties.prototype.WebkitTransitionRepeatCount;\\n/** @type {string} */ CSSProperties.prototype.WebkitTransitionTimingFunction;\\n/** @type {string} */ CSSProperties.prototype.WebkitUserDrag;\\n/** @type {string} */ CSSProperties.prototype.WebkitUserModify;\\n/** @type {string} */ CSSProperties.prototype.WebkitUserSelect;\\n/** @type {string} */ CSSProperties.prototype.WebkitWrap;\\n/** @type {string} */ CSSProperties.prototype.WebkitWrapFlow;\\n/** @type {string} */ CSSProperties.prototype.WebkitWrapThrough;\\n/** @type {string} */ CSSProperties.prototype.WebkitWritingMode;\\n\\n// WebKit also adds bindings for the lowercase versions of these properties.\\n// The uppercase version is preferred.\\n\\n/** @type {string} */ CSSProperties.prototype.webkitAlignContent;\\n/** @type {string} */ CSSProperties.prototype.webkitAlignItems;\\n/** @type {string} */ CSSProperties.prototype.webkitAlignSelf;\\n/** @type {string} */ CSSProperties.prototype.webkitAnimation;\\n/** @type {string} */ CSSProperties.prototype.webkitAnimationDelay;\\n/** @type {string} */ CSSProperties.prototype.webkitAnimationDirection;\\n/** @type {string} */ CSSProperties.prototype.webkitAnimationDuration;\\n/** @type {string} */ CSSProperties.prototype.webkitAnimationFillMode;\\n/** @type {string} */ CSSProperties.prototype.webkitAnimationIterationCount;\\n/** @type {string} */ CSSProperties.prototype.webkitAnimationName;\\n/** @type {string} */ CSSProperties.prototype.webkitAnimationPlayState;\\n/** @type {string} */ CSSProperties.prototype.webkitAnimationTimingFunction;\\n/** @type {string} */ CSSProperties.prototype.webkitAppearance;\\n/** @type {string} */ CSSProperties.prototype.webkitAppRegion;\\n/** @type {string} */ CSSProperties.prototype.webkitAspectRatio;\\n/** @type {string} */ CSSProperties.prototype.webkitBackfaceVisibility;\\n/** @type {string} */ CSSProperties.prototype.webkitBackgroundClip;\\n/** @type {string} */ CSSProperties.prototype.webkitBackgroundComposite;\\n/** @type {string} */ CSSProperties.prototype.webkitBackgroundOrigin;\\n/** @type {string} */ CSSProperties.prototype.webkitBackgroundSize;\\n/** @type {string} */ CSSProperties.prototype.webkitBinding;\\n/** @type {string} */ CSSProperties.prototype.webkitBlendMode;\\n/** @type {string} */ CSSProperties.prototype.webkitBorderAfter;\\n/** @type {string} */ CSSProperties.prototype.webkitBorderAfterColor;\\n/** @type {string} */ CSSProperties.prototype.webkitBorderAfterStyle;\\n/** @type {string} */ CSSProperties.prototype.webkitBorderAfterWidth;\\n/** @type {string} */ CSSProperties.prototype.webkitBorderBefore;\\n/** @type {string} */ CSSProperties.prototype.webkitBorderBeforeColor;\\n/** @type {string} */ CSSProperties.prototype.webkitBorderBeforeStyle;\\n/** @type {string} */ CSSProperties.prototype.webkitBorderBeforeWidth;\\n/** @type {string} */ CSSProperties.prototype.webkitBorderBottomLeftRadius;\\n/** @type {string} */ CSSProperties.prototype.webkitBorderBottomRightRadius;\\n/** @type {string} */ CSSProperties.prototype.webkitBorderEnd;\\n/** @type {string} */ CSSProperties.prototype.webkitBorderEndColor;\\n/** @type {string} */ CSSProperties.prototype.webkitBorderEndStyle;\\n/** @type {string} */ CSSProperties.prototype.webkitBorderEndWidth;\\n/** @type {string} */ CSSProperties.prototype.webkitBorderFit;\\n/** @type {string} */ CSSProperties.prototype.webkitBorderHorizontalSpacing;\\n/** @type {string} */ CSSProperties.prototype.webkitBorderImage;\\n/** @type {string} */ CSSProperties.prototype.webkitBorde";
a.a+='rRadius;\\n/** @type {string} */ CSSProperties.prototype.webkitBorderStart;\\n/** @type {string} */ CSSProperties.prototype.webkitBorderStartColor;\\n/** @type {string} */ CSSProperties.prototype.webkitBorderStartStyle;\\n/** @type {string} */ CSSProperties.prototype.webkitBorderStartWidth;\\n/** @type {string} */ CSSProperties.prototype.webkitBorderTopLeftRadius;\\n/** @type {string} */ CSSProperties.prototype.webkitBorderTopRightRadius;\\n/** @type {string} */ CSSProperties.prototype.webkitBorderVerticalSpacing;\\n/** @type {string} */ CSSProperties.prototype.webkitBoxAlign;\\n/** @type {string} */ CSSProperties.prototype.webkitBoxDecorationBreak;\\n/** @type {string} */ CSSProperties.prototype.webkitBoxDirection;\\n/** @type {string} */ CSSProperties.prototype.webkitBoxFlex;\\n/** @type {string} */ CSSProperties.prototype.webkitBoxFlexGroup;\\n/** @type {string} */ CSSProperties.prototype.webkitBoxLines;\\n/** @type {string} */ CSSProperties.prototype.webkitBoxOrdinalGroup;\\n/** @type {string} */ CSSProperties.prototype.webkitBoxOrient;\\n/** @type {string} */ CSSProperties.prototype.webkitBoxPack;\\n/** @type {string} */ CSSProperties.prototype.webkitBoxReflect;\\n/** @type {string} */ CSSProperties.prototype.webkitBoxShadow;\\n/** @type {string} */ CSSProperties.prototype.webkitBoxSizing;\\n/** @type {string} */ CSSProperties.prototype.webkitColorCorrection;\\n/** @type {string} */ CSSProperties.prototype.webkitColumnAxis;\\n/** @type {string} */ CSSProperties.prototype.webkitColumnBreakAfter;\\n/** @type {string} */ CSSProperties.prototype.webkitColumnBreakBefore;\\n/** @type {string} */ CSSProperties.prototype.webkitColumnBreakInside;\\n/** @type {string} */ CSSProperties.prototype.webkitColumnCount;\\n/** @type {string} */ CSSProperties.prototype.webkitColumnGap;\\n/** @type {string} */ CSSProperties.prototype.webkitColumnProgression;\\n/** @type {string} */ CSSProperties.prototype.webkitColumnRule;\\n/** @type {string} */ CSSProperties.prototype.webkitColumnRuleColor;\\n/** @type {string} */ CSSProperties.prototype.webkitColumnRuleStyle;\\n/** @type {string} */ CSSProperties.prototype.webkitColumnRuleWidth;\\n/** @type {string} */ CSSProperties.prototype.webkitColumns;\\n/** @type {string} */ CSSProperties.prototype.webkitColumnSpan;\\n/** @type {string} */ CSSProperties.prototype.webkitColumnWidth;\\n/** @type {string} */ CSSProperties.prototype.webkitDashboardRegion;\\n/** @type {string} */ CSSProperties.prototype.webkitFilter;\\n/** @type {string} */ CSSProperties.prototype.webkitFlex;\\n/** @type {string} */ CSSProperties.prototype.webkitFlexBasis;\\n/** @type {string} */ CSSProperties.prototype.webkitFlexDirection;\\n/** @type {string} */ CSSProperties.prototype.webkitFlexFlow;\\n/** @type {string} */ CSSProperties.prototype.webkitFlexGrow;\\n/** @type {string} */ CSSProperties.prototype.webkitFlexShrink;\\n/** @type {string} */ CSSProperties.prototype.webkitFlexWrap;\\n/** @type {string} */ CSSProperties.prototype.webkitFlowFrom;\\n/** @type {string} */ CSSProperties.prototype.webkitFlowInto;\\n/** @type {string} */ CSSProperties.prototype.webkitFontSizeDelta;\\n/** @type {string} */ CSSProperties.prototype.webkitFontSmoothing;\\n/** @type {string} */ CSSProperties.prototype.webkitGridColumn;\\n/** @type {string} */ CSSProperties.prototype.webkitGridColumns;\\n/** @type {string} */ CSSProperties.prototype.webkitGridRow;\\n/** @type {string} */ CSSProperties.prototype.webkitGridRows;\\n/** @type {string} */ CSSProperties.prototype.webkitHighlight;\\n/** @type {string} */ CSSProperties.prototype.webkitHyphenateCharacter;\\n/** @type {string} */ CSSProperties.prototype.webkitHyphenateLimitAfter;\\n/** @type {string} */ CSSProperties.prototype.webkitHyphenateLimitBefore;\\n/** @type {string} */ CSSProperties.prototype.webkitHyphenateLimitLines;\\n/** @type {string} */ CSSProperties.prototype.webkitHyphens;\\n/** @type {string} */ CSSProperties.prototype.webkitJustifyContent;\\n/** @type {string} */ CSSProperties.prototype.webkitLineAlign;\\n/** @type {string} */ CSSProperties.prototype.webkitLineBoxContain;\\n/** @type {string} */ CSSProperties.prototype.webkitLineBreak;\\n/** @type {string} */ CSSProperties.prototype.webkitLineClamp;\\n/** @type {string} */ CSSProperties.prototype.webkitLineGrid;\\n/** @type {string} */ CSSProperties.prototype.webkitLineSnap;\\n/** @type {string} */ CSSProperties.prototype.webkitLocale;\\n/** @type {string} */ CSSProperties.prototype.webkitLogicalHeight;\\n/** @type {string} */ CSSProperties.prototype.webkitLogicalWidth;\\n/** @type {string} */ CSSProperties.prototype.webkitMarginAfter;\\n/** @type {string} */ CSSProperties.prototype.webkitMarginAfterCollapse;\\n/** @type {string} */ CSSProperties.prototype.webkitMarginBefore;\\n/** @type {string} */ CSSProperties.prototype.webkitMarginBeforeCollapse;\\n/** @type {string} */ CSSProperties.prototype.webkitMarginBottomCollapse;\\n/** @type {string} */ CSSProperties.prototype.webkitMarginCollapse;\\n/** @type {string} */ CSSProperties.prototype.webkitMarginEnd;\\n/** @type {string} */ CSSProperties.prototype.webkitMarginStart;\\n/** @type {string} */ CSSProperties.prototype.webkitMarginTopCollapse;\\n/** @type {string} */ CSSProperties.prototype.webkitMarquee;\\n/** @type {string} */ CSSProperties.prototype.webkitMarqueeDirection;\\n/** @type {string} */ CSSProperties.prototype.webkitMarqueeIncrement;\\n/** @type {string} */ CSSProperties.prototype.webkitMarqueeRepetition;\\n/** @type {string} */ CSSProperties.prototype.webkitMarqueeSpeed;\\n/** @type {string} */ CSSProperties.prototype.webkitMarqueeStyle;\\n/** @type {string} */ CSSProperties.prototype.webkitMask;\\n/** @type {string} */ CSSProperties.prototype.webkitMaskAttachment;\\n/** @type {string} */ CSSProperties.prototype.webkitMaskBoxImage;\\n/** @type {string} */ CSSProperties.prototype.webkitMaskBoxImageOutset;\\n/** @type {string} */ CSSProperties.prototype.webkitMaskBoxImageRepeat;\\n/** @type {string} */ CSSProperties.prototype.webkitMaskBoxImageSlice;\\n/** @type {string} */ CSSProperties.prototype.webkitMaskBoxImageSource;\\n/** @type {string} */ CSSProperties.prototype.webkitMaskBoxImageWidth;\\n/** @type {string} */ CSSProperties.prototype.webkitMaskClip;\\n/** @type {string} */ CSSProperties.prototype.webkitMaskComposite;\\n/** @type {string} */ CSSProperties.prototype.webkitMaskImage;\\n/** @type {string} */ CSSProperties.prototype.webkitMaskOrigin;\\n/** @type {string} */ CSSProperties.prototype.webkitMaskPosition;\\n/** @type {string} */ CSSProperties.prototype.webkitMaskPositionX;\\n/** @type {string} */ CSSProperties.prototype.webkitMaskPositionY;\\n/** @type {string} */ CSSProperties.prototype.webkitMaskRepeat;\\n/** @type {string} */ CSSProperties.prototype.webkitMaskRepeatX;\\n/** @type {string} */ CSSProperties.prototype.webkitMaskRepeatY;\\n/** @type {string} */ CSSProperties.prototype.webkitMaskSize;\\n/** @type {string} */\\nCSSProperties.prototype.webkitMatchNearestMailBlockquoteColor;\\n/** @type {string} */ CSSProperties.prototype.webkitMaxLogicalHeight;\\n/** @type {string} */ CSSProperties.prototype.webkitMaxLogicalWidth;\\n/** @type {string} */ CSSProperties.prototype.webkitMinLogicalHeight;\\n/** @type {string} */ CSSProperties.prototype.webkitMinLogicalWidth;\\n/** @type {string} */ CSSProperties.prototype.webkitNbspMode;\\n/** @type {string} */ CSSProperties.prototype.webkitOrder;\\n/** @type {string} */ CSSProperties.prototype.webkitOverflowScrolling;\\n/** @type {string} */ CSSProperties.prototype.webkitPaddingAfter;\\n/** @type {string} */ CSSProperties.prototype.webkitPaddingBefore;\\n/** @type {string} */ CSSProperties.prototype.webkitPaddingEnd;\\n/** @type {string} */ CSSProperties.prototype.webkitPaddingStart;\\n/** @type {string} */ CSSProperties.prototype.webkitPerspective;\\n/** @type {string} */ CSSProperties.prototype.webkitPerspectiveOrigin;\\n/** @type {string} */ CSSProperties.prototype.webkitPerspectiveOriginX;\\n/** @type {string} */ CSSProperties.prototype.webkitPerspectiveOriginY;\\n/** @type {string} */ CSSProperties.prototype.webkitPrintColorAdjust;\\n/** @type {string} */ CSSProperties.prototype.webkitRegionBreakAfter;\\n/** @type {string} */ CSSProperties.prototype.webkitRegionBreakBefore;\\n/** @type {string} */ CSSProperties.prototype.webkitRegionBreakInside;\\n/** @type {string} */ CSSProperties.prototype.webkitRegionOverflow;\\n/** @type {string} */ CSSProperties.prototype.webkitRtlOrdering;\\n/** @type {string} */ CSSProperties.prototype.webkitRubyPosition;\\n/** @type {string} */ CSSProperties.prototype.webkitShapeInside;\\n/** @type {string} */ CSSProperties.prototype.webkitShapeMargin;\\n/** @type {string} */ CSSProperties.prototype.webkitShapeOutside;\\n/** @type {string} */ CSSProperties.prototype.webkitShapePadding;\\n/** @type {string} */ CSSProperties.prototype.webkitTapHighlightColor;\\n/** @type {string} */ CSSProperties.prototype.webkitTextAlignLast;\\n/** @type {string} */ CSSProperties.prototype.webkitTextCombine;\\n/** @type {string} */ CSSProperties.prototype.webkitTextDecorationLine;\\n/** @type {string} */ CSSProperties.prototype.webkitTextDecorationsInEffect;\\n/** @type {string} */ CSSProperties.prototype.webkitTextDecorationStyle;\\n/** @type {string} */ CSSProperties.prototype.webkitTextEmphasis;\\n/** @type {string} */ CSSProperties.prototype.webkitTextEmphasisColor;\\n/** @type {string} */ CSSProperties.prototype.webkitTextEmphasisPosition;\\n/** @type {string} */ CSSProperties.prototype.webkitTextEmphasisStyle;\\n/** @type {string} */ CSSProperties.prototype.webkitTextFillColor;\\n/** @type {string} */ CSSProperties.prototype.webkitTextOrientation;\\n/** @type {string} */ CSSProperties.prototype.webkitTextSecurity;\\n/** @type {string} */ CSSProperties.prototype.webkitTextSizeAdjust;\\n/** @type {string} */ CSSProperties.prototype.webkitTextStroke;\\n/** @type {string} */ CSSProperties.prototype.webkitTextStrokeColor;\\n/** @type {string} */ CSSProperties.prototype.webkitTextStrokeWidth;\\n/** @type {string} */ CSSProperties.prototype.webkitTransform;\\n/** @type {string} */ CSSProperties.prototype.webkitTransformOrigin;\\n/** @type {string} */ CSSProperties.prototype.webkitTransformOriginX;\\n/** @type {string} */ CSSProperties.prototype.webkitTransformOriginY;\\n/** @type {string} */ CSSProperties.prototype.webkitTransformOriginZ;\\n/** @type {string} */ CSSProperties.prototype.webkitTransformStyle;\\n/** @type {string} */ CSSProperties.prototype.webkitTransition;\\n/** @type {string} */ CSSProperties.prototype.webkitTransitionDelay;\\n/** @type {string} */ CSSProperties.prototype.webkitTransitionDuration;\\n/** @type {string} */ CSSProperties.prototype.webkitTransitionProperty;\\n/** @type {string} */ CSSProperties.prototype.webkitTransitionRepeatCount;\\n/** @type {string} */ CSSProperties.prototype.webkitTransitionTimingFunction;\\n/** @type {string} */ CSSProperties.prototype.webkitUserDrag;\\n/** @type {string} */ CSSProperties.prototype.webkitUserModify;\\n/** @type {string} */ CSSProperties.prototype.webkitUserSelect;\\n/** @type {string} */ CSSProperties.prototype.webkitWrap;\\n/** @type {string} */ CSSProperties.prototype.webkitWrapFlow;\\n/** @type {string} */ CSSProperties.prototype.webkitWrapThrough;\\n/** @type {string} */ CSSProperties.prototype.webkitWritingMode;\\n\\n/**\\n * @constructor\\n * @param {number} x\\n * @param {number} y\\n */\\nfunction WebKitPoint(x, y) {}\\n\\n/** @type {number} */\\nWebKitPoint.prototype.x;\\n\\n/** @type {number} */\\nWebKitPoint.prototype.y;\\n","externs/google.js":"/*\\n * Copyright 2010 The Closure Compiler Authors\\n *\\n * Licensed under the Apache License, Version 2.0 (the \\"License\\");\\n * you may not use this file except in compliance with the License.\\n * You may obtain a copy of the License at\\n *\\n *     http://www.apache.org/licenses/LICENSE-2.0\\n *\\n * Unless required by applicable law or agreed to in writing, software\\n * distributed under the License is distributed on an \\"AS IS\\" BASIS,\\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\\n * See the License for the specific language governing permissions and\\n * limitations under the License.\\n */\\n\\n/**\\n * @fileoverview Declaration of the type level google namespace.\\n * @externs\\n * @author nicksantos@google.com (Nick Santos)\\n */\\n\\n/**\\n * Suppresses the compiler warning when multiple externs files declare the\\n * google namespace.\\n * @suppress {duplicate}\\n * @noalias\\n */\\n// TODO(nicksantos): Consolidate to one google namespace declaration.\\nvar google = {};\\n","externs/deprecated.js":"/*\\n * Copyright 2008 The Closure Compiler Authors\\n *\\n * Licensed under the Apache License, Version 2.0 (the \\"License\\");\\n * you may not use this file except in compliance with the License.\\n * You may obtain a copy of the License at\\n *\\n *     http://www.apache.org/licenses/LICENSE-2.0\\n *\\n * Unless required by applicable law or agreed to in writing, software\\n * distributed under the License is distributed on an \\"AS IS\\" BASIS,\\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\\n * See the License for the specific language governing permissions and\\n * limitations under the License.\\n */\\n\\n/**\\n * @fileoverview JavaScript Built-Ins that are not part of any specifications\\n * but are still needed in some project\'s build.\\n * @externs\\n */\\n\\nvar opera = {};\\n\\nopera.postError;\\n\\n/** @nosideeffects */\\nopera.version = function() {};\\n\\n/** @constructor */\\nfunction XSLTProcessor() {}\\n\\n/**\\n * @constructor\\n * @extends {HTMLOptionElement}\\n * @param {*=} opt_text\\n * @param {*=} opt_value\\n * @param {*=} opt_defaultSelected\\n * @param {*=} opt_selected\\n */\\nfunction Option(opt_text, opt_value, opt_defaultSelected, opt_selected) {}\\n\\n\\n// The \\"methods\\" object is a place to hang arbitrary external\\n// properties. It is a throwback to pre-typed days, and should\\n// not be used for any new definitions; it exists only to bridge\\n// the gap between the old way and the new way.\\nvar methods = {};\\n","externs/fileapi.js":"/*\\n * Copyright 2010 The Closure Compiler Authors\\n *\\n * Licensed under the Apache License, Version 2.0 (the \\"License\\");\\n * you may not use this file except in compliance with the License.\\n * You may obtain a copy of the License at\\n *\\n *     http://www.apache.org/licenses/LICENSE-2.0\\n *\\n * Unless required by applicable law or agreed to in writing, software\\n * distributed under the License is distributed on an \\"AS IS\\" BASIS,\\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\\n * See the License for the specific language governing permissions and\\n * limitations under the License.\\n */\\n/**\\n * @fileoverview Definitions for objects in the File API, File Writer API, and\\n * File System API. Details of the API are at:\\n * http://www.w3.org/TR/FileAPI/\\n * http://www.w3.org/TR/file-writer-api/\\n * http://www.w3.org/TR/file-system-api/\\n *\\n * @externs\\n * @author dbk@google.com (David Barrett-Kahn)\\n * @author mpd@google.com (Michael Davidson)\\n */\\n\\n\\n/**\\n * @see http://dev.w3.org/2006/webapi/FileAPI/#dfn-Blob\\n * @param {Array<ArrayBuffer|ArrayBufferView|Blob|string>=} opt_blobParts\\n * @param {Object=} opt_options\\n * @constructor\\n * @nosideeffects\\n */\\nfunction Blob(opt_blobParts, opt_options) {}\\n\\n/**\\n * @see http://www.w3.org/TR/FileAPI/#dfn-size\\n * @type {number}\\n */\\nBlob.prototype.size;\\n\\n/**\\n * @see http://www.w3.org/TR/FileAPI/#dfn-type\\n * @type {string}\\n */\\nBlob.prototype.type;\\n\\n/**\\n * @see http://www.w3.org/TR/FileAPI/#dfn-slice\\n * @param {number} start\\n * @param {number} length\\n * @param {string=} opt_contentType\\n * @return {!Blob}\\n * @nosideeffects\\n */\\nBlob.prototype.slice = function(start, length, opt_contentType) {};\\n\\n/**\\n * This replaces Blob.slice in Chrome since WebKit revision 84005.\\n * @see http://lists.w3.org/Archives/Public/public-webapps/2011AprJun/0222.html\\n * @param {number} start\\n * @param {number} end\\n * @param {string=} opt_contentType\\n * @return {!Blob}\\n * @nosideeffects\\n */\\nBlob.prototype.webkitSlice = function(start, end, opt_contentType) {};\\n\\n/**\\n * This replaces Blob.slice in Firefox.\\n * @see http://lists.w3.org/Archives/Public/public-webapps/2011AprJun/0222.html\\n * @param {number} start\\n * @param {number} end\\n * @param {string=} opt_contentType\\n * @return {!Blob}\\n * @nosideeffects\\n */\\nBlob.prototype.mozSlice = function(start, end, opt_contentType) {};\\n\\n/**\\n * @see http://www.w3.org/TR/file-writer-api/#the-blobbui';
a.a+="lder-interface\\n * @constructor\\n */\\nfunction BlobBuilder() {}\\n\\n/**\\n * @see http://www.w3.org/TR/file-writer-api/#widl-BlobBuilder-append0\\n * @see http://www.w3.org/TR/file-writer-api/#widl-BlobBuilder-append1\\n * @see http://www.w3.org/TR/file-writer-api/#widl-BlobBuilder-append2\\n * @param {string|Blob|ArrayBuffer} data\\n * @param {string=} endings\\n * @return {undefined}\\n */\\nBlobBuilder.prototype.append = function(data, endings) {};\\n\\n/**\\n * @see http://www.w3.org/TR/file-writer-api/#widl-BlobBuilder-getBlob\\n * @param {string=} contentType\\n * @return {!Blob}\\n */\\nBlobBuilder.prototype.getBlob = function(contentType) {};\\n\\n/**\\n * This has replaced BlobBuilder in Chrome since WebKit revision 84008.\\n * @see http://lists.w3.org/Archives/Public/public-webapps/2011AprJun/0222.html\\n * @constructor\\n */\\nfunction WebKitBlobBuilder() {}\\n\\n/**\\n * @see http://www.w3.org/TR/file-writer-api/#widl-BlobBuilder-append0\\n * @see http://www.w3.org/TR/file-writer-api/#widl-BlobBuilder-append1\\n * @see http://www.w3.org/TR/file-writer-api/#widl-BlobBuilder-append2\\n * @param {string|Blob|ArrayBuffer} data\\n * @param {string=} endings\\n * @return {undefined}\\n */\\nWebKitBlobBuilder.prototype.append = function(data, endings) {};\\n\\n/**\\n * @see http://www.w3.org/TR/file-writer-api/#widl-BlobBuilder-getBlob\\n * @param {string=} contentType\\n * @return {!Blob}\\n */\\nWebKitBlobBuilder.prototype.getBlob = function(contentType) {};\\n\\n\\n/**\\n * @record\\n * @see https://dev.w3.org/2009/dap/file-system/file-dir-sys.html#the-flags-dictionary\\n */\\nfunction FileSystemFlags() {};\\n\\n/** @type {(undefined|boolean)} */\\nFileSystemFlags.prototype.create;\\n\\n/** @type {(undefined|boolean)} */\\nFileSystemFlags.prototype.exclusive;\\n\\n\\n/**\\n * @see http://www.w3.org/TR/file-system-api/#the-directoryentry-interface\\n * @constructor\\n * @extends {Entry}\\n */\\nfunction DirectoryEntry() {};\\n\\n/**\\n * @see http://www.w3.org/TR/file-system-api/#widl-DirectoryEntry-createReader\\n * @return {!DirectoryReader}\\n */\\nDirectoryEntry.prototype.createReader = function() {};\\n\\n/**\\n * @see http://www.w3.org/TR/file-system-api/#widl-DirectoryEntry-getFile\\n * @param {string} path\\n * @param {!FileSystemFlags=} options\\n * @param {function(!FileEntry)=} successCallback\\n * @param {function(!FileError)=} errorCallback\\n * @return {undefined}\\n */\\nDirectoryEntry.prototype.getFile = function(path, options, successCallback,\\n    errorCallback) {};\\n\\n/**\\n * @see http://www.w3.org/TR/file-system-api/#widl-DirectoryEntry-getDirectory\\n * @param {string} path\\n * @param {!FileSystemFlags=} options\\n * @param {function(!DirectoryEntry)=} successCallback\\n * @param {function(!FileError)=} errorCallback\\n * @return {undefined}\\n */\\nDirectoryEntry.prototype.getDirectory = function(path, options, successCallback,\\n    errorCallback) {};\\n\\n/**\\n * @see http://www.w3.org/TR/file-system-api/#widl-DirectoryEntry-removeRecursively\\n * @param {function()} successCallback\\n * @param {function(!FileError)=} errorCallback\\n * @return {undefined}\\n */\\nDirectoryEntry.prototype.removeRecursively = function(successCallback,\\n    errorCallback) {};\\n\\n/**\\n * @see http://www.w3.org/TR/file-system-api/#the-directoryreader-interface\\n * @constructor\\n */\\nfunction DirectoryReader() {};\\n\\n/**\\n * @see http://www.w3.org/TR/file-system-api/#widl-DirectoryReader-readEntries\\n * @param {function(!Array<!Entry>)} successCallback\\n * @param {function(!FileError)=} errorCallback\\n * @return {undefined}\\n */\\nDirectoryReader.prototype.readEntries = function(successCallback,\\n    errorCallback) {};\\n\\n/**\\n * @see http://www.w3.org/TR/file-system-api/#the-entry-interface\\n * @constructor\\n */\\nfunction Entry() {};\\n\\n/**\\n * @see http://www.w3.org/TR/file-system-api/#widl-Entry-isFile\\n * @type {boolean}\\n */\\nEntry.prototype.isFile;\\n\\n/**\\n * @see http://www.w3.org/TR/file-system-api/#widl-Entry-isDirectory\\n * @type {boolean}\\n */\\nEntry.prototype.isDirectory;\\n\\n/**\\n * @see http://www.w3.org/TR/file-system-api/#widl-Entry-name\\n * @type {string}\\n */\\nEntry.prototype.name;\\n\\n/**\\n * @see http://www.w3.org/TR/file-system-api/#widl-Entry-fullPath\\n * @type {string}\\n */\\nEntry.prototype.fullPath;\\n\\n/**\\n * @see http://www.w3.org/TR/file-system-api/#widl-Entry-filesystem\\n * @type {!FileSystem}\\n */\\nEntry.prototype.filesystem;\\n\\n/**\\n * @see http://www.w3.org/TR/file-system-api/#widl-Entry-moveTo\\n * @param {!DirectoryEntry} parent\\n * @param {string=} newName\\n * @param {function(!Entry)=} successCallback\\n * @param {function(!FileError)=} errorCallback\\n * @return {undefined}\\n */\\nEntry.prototype.moveTo = function(parent, newName, successCallback,\\n    errorCallback) {};\\n\\n/**\\n * @see http://www.w3.org/TR/file-system-api/#widl-Entry-copyTo\\n * @param {!DirectoryEntry} parent\\n * @param {string=} newName\\n * @param {function(!Entry)=} successCallback\\n * @param {function(!FileError)=} errorCallback\\n * @return {undefined}\\n */\\nEntry.prototype.copyTo = function(parent, newName, successCallback,\\n    errorCallback) {};\\n\\n/**\\n * @see http://www.w3.org/TR/file-system-api/#widl-Entry-toURL\\n * @param {string=} mimeType\\n * @return {string}\\n */\\nEntry.prototype.toURL = function(mimeType) {};\\n\\n/**\\n * @see http://www.w3.org/TR/file-system-api/#widl-Entry-remove\\n * @param {function()} successCallback\\n * @param {function(!FileError)=} errorCallback\\n * @return {undefined}\\n */\\nEntry.prototype.remove = function(successCallback, errorCallback) {};\\n\\n/**\\n * @see http://www.w3.org/TR/file-system-api/#widl-Entry-getMetadata\\n * @param {function(!Metadata)} successCallback\\n * @param {function(!FileError)=} errorCallback\\n * @return {undefined}\\n */\\nEntry.prototype.getMetadata = function(successCallback, errorCallback) {};\\n\\n/**\\n * @see http://www.w3.org/TR/file-system-api/#widl-Entry-getParent\\n * @param {function(!Entry)} successCallback\\n * @param {function(!FileError)=} errorCallback\\n * @return {undefined}\\n */\\nEntry.prototype.getParent = function(successCallback, errorCallback) {};\\n\\n/**\\n * @see http://www.w3.org/TR/FileAPI/#dfn-file\\n * @param {!Array<string|!Blob|!ArrayBuffer>=} opt_contents\\n * @param {string=} opt_name\\n * @param {{type: (string|undefined), lastModified: (number|undefined)}=}\\n *     opt_properties\\n * @constructor\\n * @extends {Blob}\\n */\\nfunction File(opt_contents, opt_name, opt_properties) {}\\n\\n/**\\n * Chrome uses this instead of name.\\n * @deprecated Use name instead.\\n * @type {string}\\n */\\nFile.prototype.fileName;\\n\\n/**\\n * Chrome uses this instead of size.\\n * @deprecated Use size instead.\\n * @type {string}\\n */\\nFile.prototype.fileSize;\\n\\n/**\\n * @see http://www.w3.org/TR/FileAPI/#dfn-name\\n * @type {string}\\n */\\nFile.prototype.name;\\n\\n/**\\n * @see http://www.w3.org/TR/FileAPI/#dfn-lastModifiedDate\\n * @type {Date}\\n */\\nFile.prototype.lastModifiedDate;\\n\\n/**\\n * @see http://www.w3.org/TR/FileAPI/#dfn-lastModified\\n * @type {number}\\n */\\nFile.prototype.lastModified;\\n\\n/**\\n * @see http://www.w3.org/TR/file-system-api/#the-fileentry-interface\\n * @constructor\\n * @extends {Entry}\\n */\\nfunction FileEntry() {};\\n\\n/**\\n * @see http://www.w3.org/TR/file-system-api/#widl-FileEntry-createWriter\\n * @param {function(!FileWriter)} successCallback\\n * @param {function(!FileError)=} errorCallback\\n * @return {undefined}\\n */\\nFileEntry.prototype.createWriter = function(successCallback, errorCallback) {};\\n\\n/**\\n * @see http://www.w3.org/TR/file-system-api/#widl-FileEntry-file\\n * @param {function(!File)} successCallback\\n * @param {function(!FileError)=} errorCallback\\n * @return {undefined}\\n */\\nFileEntry.prototype.file = function(successCallback, errorCallback) {};\\n\\n/**\\n * @see http://www.w3.org/TR/FileAPI/#FileErrorInterface\\n * @constructor\\n * @extends {DOMError}\\n */\\nfunction FileError() {}\\n\\n/**\\n * @see http://www.w3.org/TR/FileAPI/#dfn-NOT_FOUND_ERR\\n * @type {number}\\n */\\nFileError.prototype.NOT_FOUND_ERR = 1;\\n\\n/** @type {number} */\\nFileError.NOT_FOUND_ERR = 1;\\n\\n/**\\n * @see http://www.w3.org/TR/FileAPI/#dfn-SECURITY_ERR\\n * @type {number}\\n */\\nFileError.prototype.SECURITY_ERR = 2;\\n\\n/** @type {number} */\\nFileError.SECURITY_ERR = 2;\\n\\n/**\\n * @see http://www.w3.org/TR/FileAPI/#dfn-ABORT_ERR\\n * @type {number}\\n */\\nFileError.prototype.ABORT_ERR = 3;\\n\\n/** @type {number} */\\nFileError.ABORT_ERR = 3;\\n\\n/**\\n * @see http://www.w3.org/TR/FileAPI/#dfn-NOT_READABLE_ERR\\n * @type {number}\\n */\\nFileError.prototype.NOT_READABLE_ERR = 4;\\n\\n/** @type {number} */\\nFileError.NOT_READABLE_ERR = 4;\\n\\n/**\\n * @see http://www.w3.org/TR/FileAPI/#dfn-ENCODING_ERR\\n * @type {number}\\n */\\nFileError.prototype.ENCODING_ERR = 5;\\n\\n/** @type {number} */\\nFileError.ENCODING_ERR = 5;\\n\\n/**\\n * @see http://www.w3.org/TR/file-writer-api/#widl-FileError-NO_MODIFICATION_ALLOWED_ERR\\n * @type {number}\\n */\\nFileError.prototype.NO_MODIFICATION_ALLOWED_ERR = 6;\\n\\n/** @type {number} */\\nFileError.NO_MODIFICATION_ALLOWED_ERR = 6;\\n\\n/**\\n * @see http://www.w3.org/TR/file-writer-api/#widl-FileException-INVALID_STATE_ERR\\n * @type {number}\\n */\\nFileError.prototype.INVALID_STATE_ERR = 7;\\n\\n/** @type {number} */\\nFileError.INVALID_STATE_ERR = 7;\\n\\n/**\\n * @see http://www.w3.org/TR/file-writer-api/#widl-FileException-SYNTAX_ERR\\n * @type {number}\\n */\\nFileError.prototype.SYNTAX_ERR = 8;\\n\\n/** @type {number} */\\nFileError.SYNTAX_ERR = 8;\\n\\n/**\\n * @see http://www.w3.org/TR/file-system-api/#widl-FileError-INVALID_MODIFICATION_ERR\\n * @type {number}\\n */\\nFileError.prototype.INVALID_MODIFICATION_ERR = 9;\\n\\n/** @type {number} */\\nFileError.INVALID_MODIFICATION_ERR = 9;\\n\\n/**\\n * @see http://www.w3.org/TR/file-system-api/#widl-FileError-QUOTA_EXCEEDED_ERR\\n * @type {number}\\n */\\nFileError.prototype.QUOTA_EXCEEDED_ERR = 10;\\n\\n/** @type {number} */\\nFileError.QUOTA_EXCEEDED_ERR = 10;\\n\\n/**\\n * @see http://www.w3.org/TR/file-system-api/#widl-FileException-TYPE_MISMATCH_ERR\\n * @type {number}\\n */\\nFileError.prototype.TYPE_MISMATCH_ERR = 11;\\n\\n/** @type {number} */\\nFileError.TYPE_MISMATCH_ERR = 11;\\n\\n/**\\n * @see http://www.w3.org/TR/file-system-api/#widl-FileException-PATH_EXISTS_ERR\\n * @type {number}\\n */\\nFileError.prototype.PATH_EXISTS_ERR = 12;\\n\\n/** @type {number} */\\nFileError.PATH_EXISTS_ERR = 12;\\n\\n/**\\n * @see http://www.w3.org/TR/FileAPI/#dfn-code-exception\\n * @type {number}\\n * @deprecated Use the 'name' or 'message' attributes of DOMError rather than\\n * 'code'\\n */\\nFileError.prototype.code;\\n\\n/**\\n * @see http://www.w3.org/TR/FileAPI/#dfn-filereader\\n * @constructor\\n * @implements {EventTarget}\\n */\\nfunction FileReader() {}\\n\\n/**\\n * @param {boolean=} opt_useCapture\\n * @override\\n * @return {undefined}\\n */\\nFileReader.prototype.addEventListener = function(type, listener, opt_useCapture)\\n    {};\\n\\n/**\\n * @param {boolean=} opt_useCapture\\n * @override\\n * @return {undefined}\\n */\\nFileReader.prototype.removeEventListener = function(type, listener,\\n    opt_useCapture) {};\\n\\n/**\\n * @override\\n * @return {boolean}\\n */\\nFileReader.prototype.dispatchEvent = function(evt) {};\\n\\n/**\\n * @see http://www.w3.org/TR/FileAPI/#dfn-readAsArrayBuffer\\n * @param {!Blob} blob\\n * @return {undefined}\\n */\\nFileReader.prototype.readAsArrayBuffer = function(blob) {};\\n\\n/**\\n * @see http://www.w3.org/TR/FileAPI/#dfn-readAsBinaryStringAsync\\n * @param {!Blob} blob\\n * @return {undefined}\\n */\\nFileReader.prototype.readAsBinaryString = function(blob) {};\\n\\n/**\\n * @see http://www.w3.org/TR/FileAPI/#dfn-readAsText\\n * @param {!Blob} blob\\n * @param {string=} encoding\\n * @return {undefined}\\n */\\nFileReader.prototype.readAsText = function(blob, encoding) {};\\n\\n/**\\n * @see http://www.w3.org/TR/FileAPI/#dfn-readAsDataURL\\n * @param {!Blob} blob\\n * @return {undefined}\\n */\\nFileReader.prototype.readAsDataURL = function(blob) {};\\n\\n/**\\n * @see http://www.w3.org/TR/FileAPI/#dfn-abort\\n * @return {undefined}\\n */\\nFileReader.prototype.abort = function() {};\\n\\n/**\\n * @see http://www.w3.org/TR/FileAPI/#dfn-empty\\n * @type {number}\\n */\\nFileReader.prototype.EMPTY = 0;\\n\\n/** @type {number} */\\nFileReader.EMPTY = 0;\\n\\n/**\\n * @see http://www.w3.org/TR/FileAPI/#dfn-loading\\n * @type {number}\\n */\\nFileReader.prototype.LOADING = 1;\\n\\n/** @type {number} */\\nFileReader.LOADING = 1;\\n\\n/**\\n * @see http://www.w3.org/TR/FileAPI/#dfn-done\\n * @type {number}\\n */\\nFileReader.prototype.DONE = 2;\\n\\n/** @type {number} */\\nFileReader.DONE = 2;\\n\\n/**\\n * @see http://www.w3.org/TR/FileAPI/#dfn-readystate\\n * @type {number}\\n */\\nFileReader.prototype.readyState;\\n\\n/**\\n * @see http://www.w3.org/TR/FileAPI/#dfn-result\\n * @type {string|Blob|ArrayBuffer}\\n */\\nFileReader.prototype.result;\\n\\n/**\\n * @see http://www.w3.org/TR/FileAPI/#dfn-error\\n * @type {FileError}\\n */\\nFileReader.prototype.error;\\n\\n/**\\n * @see http://www.w3.org/TR/FileAPI/#dfn-onloadstart\\n * @type {?function(!ProgressEvent)}\\n */\\nFileReader.prototype.onloadstart;\\n\\n/**\\n * @see http://www.w3.org/TR/FileAPI/#dfn-onprogress\\n * @type {?function(!ProgressEvent)}\\n */\\nFileReader.prototype.onprogress;\\n\\n/**\\n * @see http://www.w3.org/TR/FileAPI/#dfn-onload\\n * @type {?function(!ProgressEvent)}\\n */\\nFileReader.prototype.onload;\\n\\n/**\\n * @see http://www.w3.org/TR/FileAPI/#dfn-onabort\\n * @type {?function(!ProgressEvent)}\\n */\\nFileReader.prototype.onabort;\\n\\n/**\\n * @see http://www.w3.org/TR/FileAPI/#dfn-onerror\\n * @type {?function(!ProgressEvent)}\\n */\\nFileReader.prototype.onerror;\\n\\n/**\\n * @see http://www.w3.org/TR/FileAPI/#dfn-onloadend\\n * @type {?function(!ProgressEvent)}\\n */\\nFileReader.prototype.onloadend;\\n\\n/**\\n * @see http://www.w3.org/TR/file-writer-api/#idl-def-FileSaver\\n * @constructor\\n */\\nfunction FileSaver() {};\\n\\n/**\\n * @see http://www.w3.org/TR/file-writer-api/#widl-FileSaver-abort\\n * @return {undefined}\\n */\\nFileSaver.prototype.abort = function() {};\\n\\n/**\\n * @see http://www.w3.org/TR/file-writer-api/#widl-FileSaver-INIT\\n * @type {number}\\n */\\nFileSaver.prototype.INIT = 0;\\n\\n/**\\n * @see http://www.w3.org/TR/file-writer-api/#widl-FileSaver-WRITING\\n * @type {number}\\n */\\nFileSaver.prototype.WRITING = 1;\\n\\n/**\\n * @see http://www.w3.org/TR/file-writer-api/#widl-FileSaver-DONE\\n * @type {number}\\n */\\nFileSaver.prototype.DONE = 2;\\n\\n/**\\n * @see http://www.w3.org/TR/file-writer-api/#widl-FileSaver-readyState\\n * @type {number}\\n */\\nFileSaver.prototype.readyState;\\n\\n/**\\n * @see http://www.w3.org/TR/file-writer-api/#widl-FileSaver-error\\n * @type {FileError}\\n */\\nFileSaver.prototype.error;\\n\\n/**\\n * @see http://www.w3.org/TR/file-writer-api/#widl-FileSaver-onwritestart\\n * @type {?function(!ProgressEvent)}\\n */\\nFileSaver.prototype.onwritestart;\\n\\n/**\\n * @see http://www.w3.org/TR/file-writer-api/#widl-FileSaver-onprogress\\n * @type {?function(!ProgressEvent)}\\n */\\nFileSaver.prototype.onprogress;\\n\\n/**\\n * @see http://www.w3.org/TR/file-writer-api/#widl-FileSaver-onwrite\\n * @type {?function(!ProgressEvent)}\\n */\\nFileSaver.prototype.onwrite;\\n\\n/**\\n * @see http://www.w3.org/TR/file-writer-api/#widl-FileSaver-onabort\\n * @type {?function(!ProgressEvent)}\\n */\\nFileSaver.prototype.onabort;\\n\\n/**\\n * @see http://www.w3.org/TR/file-writer-api/#widl-FileSaver-onerror\\n * @type {?function(!ProgressEvent)}\\n */\\nFileSaver.prototype.onerror;\\n\\n/**\\n * @see http://www.w3.org/TR/file-writer-api/#widl-FileSaver-onwriteend\\n * @type {?function(!ProgressEvent)}\\n */\\nFileSaver.prototype.onwriteend;\\n\\n/**\\n * @see http://www.w3.org/TR/file-system-api/#the-filesystem-interface\\n * @constructor\\n */\\nfunction FileSystem() {}\\n\\n/**\\n * @see http://www.w3.org/TR/file-system-api/#widl-FileSystem-name\\n * @type {string}\\n */\\nFileSystem.prototype.name;\\n\\n/**\\n * @see http://www.w3.org/TR/file-system-api/#widl-FileSystem-root\\n * @type {!DirectoryEntry}\\n */\\nFileSystem.prototype.root;\\n\\n/**\\n * @see http://www.w3.org/TR/file-writer-api/#idl-def-FileWriter\\n * @constructor\\n * @extends {FileSaver}\\n */\\nfunction FileWriter() {}\\n\\n/**\\n * @see http://www.w3.org/TR/file-writer-api/#widl-FileWriter-position\\n * @type {number}\\n */\\nFileWriter.prototype.position;\\n\\n/**\\n * @see http://www.w3.org/TR/file-writer-api/#widl-FileWriter-length\\n * @type {number}\\n */\\nFileWriter.prototype.length;\\n\\n/**\\n * @see http://www.w3.org/TR/file-writer-api/#widl-FileWriter-write\\n * @param {!Blob} ";
a.a+='blob\\n * @return {undefined}\\n */\\nFileWriter.prototype.write = function(blob) {};\\n\\n/**\\n * @see http://www.w3.org/TR/file-writer-api/#widl-FileWriter-seek\\n * @param {number} offset\\n * @return {undefined}\\n */\\nFileWriter.prototype.seek = function(offset) {};\\n\\n/**\\n * @see http://www.w3.org/TR/file-writer-api/#widl-FileWriter-truncate\\n * @param {number} size\\n * @return {undefined}\\n */\\nFileWriter.prototype.truncate = function(size) {};\\n\\n/**\\n * LocalFileSystem interface, implemented by Window and WorkerGlobalScope.\\n * @see http://www.w3.org/TR/file-system-api/#idl-def-LocalFileSystem\\n * @constructor\\n */\\nfunction LocalFileSystem() {}\\n\\n/**\\n * Metadata interface.\\n * @see http://www.w3.org/TR/file-system-api/#idl-def-Metadata\\n * @constructor\\n */\\nfunction Metadata() {}\\n\\n/**\\n * @see http://www.w3.org/TR/file-system-api/#widl-Metadata-modificationTime\\n * @type {!Date}\\n */\\nMetadata.prototype.modificationTime;\\n\\n/**\\n * @see http://www.w3.org/TR/file-system-api/#widl-Metadata-size\\n * @type {number}\\n */\\nMetadata.prototype.size;\\n\\n/**\\n * @see http://www.w3.org/TR/file-system-api/#widl-LocalFileSystem-TEMPORARY\\n * @type {number}\\n*/\\nWindow.prototype.TEMPORARY = 0;\\n\\n/**\\n * @see http://www.w3.org/TR/file-system-api/#widl-LocalFileSystem-PERSISTENT\\n * @type {number}\\n*/\\nWindow.prototype.PERSISTENT = 1;\\n\\n/**\\n * @see http://www.w3.org/TR/file-system-api/#widl-LocalFileSystem-requestFileSystem\\n * @param {number} type\\n * @param {number} size\\n * @param {function(!FileSystem)} successCallback\\n * @param {function(!FileError)=} errorCallback\\n * @return {undefined}\\n */\\nfunction requestFileSystem(type, size, successCallback, errorCallback) {}\\n\\n/**\\n * @see http://www.w3.org/TR/file-system-api/#widl-LocalFileSystem-requestFileSystem\\n * @param {number} type\\n * @param {number} size\\n * @param {function(!FileSystem)} successCallback\\n * @param {function(!FileError)=} errorCallback\\n * @return {undefined}\\n */\\nWindow.prototype.requestFileSystem = function(type, size, successCallback,\\n    errorCallback) {};\\n\\n/**\\n * @see http://www.w3.org/TR/file-system-api/#widl-LocalFileSystem-resolveLocalFileSystemURI\\n * @param {string} uri\\n * @param {function(!Entry)} successCallback\\n * @param {function(!FileError)=} errorCallback\\n * @return {undefined}\\n */\\nfunction resolveLocalFileSystemURI(uri, successCallback, errorCallback) {}\\n\\n/**\\n * @see http://www.w3.org/TR/file-system-api/#widl-LocalFileSystem-resolveLocalFileSystemURI\\n * @param {string} uri\\n * @param {function(!Entry)} successCallback\\n * @param {function(!FileError)=} errorCallback\\n * @return {undefined}\\n */\\nWindow.prototype.resolveLocalFileSystemURI = function(uri, successCallback,\\n    errorCallback) {}\\n\\n/**\\n * This has replaced requestFileSystem in Chrome since WebKit revision 84224.\\n * @see http://www.w3.org/TR/file-system-api/#widl-LocalFileSystem-requestFileSystem\\n * @param {number} type\\n * @param {number} size\\n * @param {function(!FileSystem)} successCallback\\n * @param {function(!FileError)=} errorCallback\\n * @return {undefined}\\n */\\nfunction webkitRequestFileSystem(type, size, successCallback, errorCallback) {}\\n\\n/**\\n * This has replaced requestFileSystem in Chrome since WebKit revision 84224.\\n * @see http://www.w3.org/TR/file-system-api/#widl-LocalFileSystem-requestFileSystem\\n * @param {number} type\\n * @param {number} size\\n * @param {function(!FileSystem)} successCallback\\n * @param {function(!FileError)=} errorCallback\\n * @return {undefined}\\n */\\nWindow.prototype.webkitRequestFileSystem = function(type, size, successCallback,\\n    errorCallback) {};\\n\\n/**\\n * This has replaced resolveLocalFileSystemURI in Chrome since WebKit revision\\n * 84224.\\n * @see http://www.w3.org/TR/file-system-api/#widl-LocalFileSystem-resolveLocalFileSystemURI\\n * @param {string} uri\\n * @param {function(!Entry)} successCallback\\n * @param {function(!FileError)=} errorCallback\\n * @return {undefined}\\n */\\nfunction webkitResolveLocalFileSystemURI(uri, successCallback, errorCallback) {}\\n\\n/**\\n * This has replaced resolveLocalFileSystemURI in Chrome since WebKit revision\\n * 84224.\\n * @see http://www.w3.org/TR/file-system-api/#widl-LocalFileSystem-resolveLocalFileSystemURI\\n * @param {string} uri\\n * @param {function(!Entry)} successCallback\\n * @param {function(!FileError)=} errorCallback\\n * @return {undefined}\\n */\\nWindow.prototype.webkitResolveLocalFileSystemURI = function(uri, successCallback,\\n    errorCallback) {}\\n\\n// WindowBlobURIMethods interface, implemented by Window and WorkerGlobalScope.\\n// There are three APIs for this: the old specced API, the new specced API, and\\n// the webkit-prefixed API.\\n// @see http://www.w3.org/TR/FileAPI/#creating-revoking\\n\\n/**\\n * @see http://www.w3.org/TR/FileAPI/#dfn-createObjectURL\\n * @param {!Object} obj\\n * @return {string}\\n */\\nfunction createObjectURL(obj) {};\\n\\n/**\\n * @see http://www.w3.org/TR/FileAPI/#dfn-createObjectURL\\n * @param {!Object} obj\\n * @return {string}\\n */\\nWindow.prototype.createObjectURL = function(obj) {};\\n\\n/**\\n * @see http://www.w3.org/TR/FileAPI/#dfn-revokeObjectURL\\n * @param {string} url\\n * @return {undefined}\\n */\\nfunction revokeObjectURL(url) {};\\n\\n/**\\n * @see http://www.w3.org/TR/FileAPI/#dfn-revokeObjectURL\\n * @param {string} url\\n * @return {undefined}\\n */\\nWindow.prototype.revokeObjectURL = function(url) {};\\n\\n/**\\n * This has been replaced by URL in Chrome since WebKit revision 75739.\\n * @constructor\\n * @param {string} urlString\\n * @param {string=} opt_base\\n */\\nfunction webkitURL(urlString, opt_base) {}\\n\\n/**\\n * @see http://www.w3.org/TR/FileAPI/#dfn-createObjectURL\\n * @param {!Object} obj\\n * @return {string}\\n */\\nwebkitURL.createObjectURL = function(obj) {};\\n\\n/**\\n * @see http://www.w3.org/TR/FileAPI/#dfn-revokeObjectURL\\n * @param {string} url\\n * @return {undefined}\\n */\\nwebkitURL.revokeObjectURL = function(url) {};\\n\\n/**\\n * @see https://developers.google.com/chrome/whitepapers/storage\\n * @constructor\\n */\\nfunction StorageInfo() {}\\n\\n/**\\n * @see https://developers.google.com/chrome/whitepapers/storage\\n * @type {number}\\n * */\\nStorageInfo.prototype.TEMPORARY = 0;\\n\\n/**\\n * @see https://developers.google.com/chrome/whitepapers/storage\\n * @type {number}\\n */\\nStorageInfo.prototype.PERSISTENT = 1;\\n\\n/**\\n * @see https://developers.google.com/chrome/whitepapers/storage#requestQuota\\n * @param {number} type\\n * @param {number} size\\n * @param {function(number)} successCallback\\n * @param {function(!DOMException)=} errorCallback\\n * @return {undefined}\\n */\\nStorageInfo.prototype.requestQuota = function(type, size, successCallback,\\n    errorCallback) {};\\n\\n/**\\n * @see https://developers.google.com/chrome/whitepapers/storage#queryUsageAndQuota\\n * @param {number} type\\n * @param {function(number, number)} successCallback\\n * @param {function(!DOMException)=} errorCallback\\n * @return {undefined}\\n */\\nStorageInfo.prototype.queryUsageAndQuota = function(type, successCallback,\\n    errorCallback) {};\\n\\n/**\\n * @see https://developers.google.com/chrome/whitepapers/storage\\n * @type {!StorageInfo}\\n */\\nWindow.prototype.webkitStorageInfo;\\n\\n/**\\n * @see https://dvcs.w3.org/hg/quota/raw-file/tip/Overview.html#storagequota-interface.\\n * @constructor\\n */\\nfunction StorageQuota() {}\\n\\n/**\\n * @param {number} size\\n * @param {function(number)=} opt_successCallback\\n * @param {function(!DOMException)=} opt_errorCallback\\n * @return {undefined}\\n */\\nStorageQuota.prototype.requestQuota = function(size, opt_successCallback,\\n    opt_errorCallback) {};\\n\\n/**\\n * @param {function(number, number)} successCallback\\n * @param {function(!DOMException)=} opt_errorCallback\\n * @return {undefined}\\n */\\nStorageQuota.prototype.queryUsageAndQuota = function(successCallback,\\n    opt_errorCallback) {};\\n","externs/flash.js":"/*\\n * Copyright 2008 The Closure Compiler Authors\\n *\\n * Licensed under the Apache License, Version 2.0 (the \\"License\\");\\n * you may not use this file except in compliance with the License.\\n * You may obtain a copy of the License at\\n *\\n *     http://www.apache.org/licenses/LICENSE-2.0\\n *\\n * Unless required by applicable law or agreed to in writing, software\\n * distributed under the License is distributed on an \\"AS IS\\" BASIS,\\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\\n * See the License for the specific language governing permissions and\\n * limitations under the License.\\n */\\n/**\\n * @fileoverview Definitions for all the Flash Object JavaScript methods. This\\n * file depends on w3c_dom2.js.\\n * Created from\\n * http://www.adobe.com/support/flash/publishexport/scriptingwithflash/scriptingwithflash_03.html\\n *\\n * @externs\\n * @author ajp@google.com (Andy Perelson)\\n */\\n\\n\\n// Standard Methods.\\n\\n/**\\n * Call a Flash function exported by ExternalInterface.\\n * @param {string} xmlString The XML string passed to Flash. The outer element\\n *     should be {@code <invoke>}. A sample invocation string:\\n *     {@code <invoke name=\\"function_name\\" returntype=\\"javascript\\">\\n *     <string>test</string></invoke>}\\n * @return {string} The serialized return value from Flash that you can eval.\\n */\\nHTMLObjectElement.prototype.CallFunction = function(xmlString) {};\\n\\n/**\\n * Returns the value of the Flash variable specified by varName or null if the\\n * variable does not exist.\\n * @param {string} varName The variable name.\\n * @return {string?} The variable value.\\n */\\nHTMLObjectElement.prototype.GetVariable = function(varName) {};\\n\\n/**\\n * Activates the frame number specified by {@code frameNumber} in the current\\n * movie.\\n * @param {number} frameNumber A non-negative integer frame number.\\n * @return {undefined}\\n */\\nHTMLObjectElement.prototype.GotoFrame = function(frameNumber) {};\\n\\n/**\\n * @return {boolean} Whether the movie is currently playing.\\n */\\nHTMLObjectElement.prototype.IsPlaying = function() {};\\n\\n/**\\n * Loads the movie identified by {@code url} to the layer specified by {@code\\n * layerNumber}.\\n * @param {number} layerNumber The layer number.\\n * @param {string} url The movie URL.\\n * @return {undefined}\\n */\\nHTMLObjectElement.prototype.LoadMovie = function(layerNumber, url) {};\\n\\n/**\\n * Pans a zoomed-in movie to the coordinates specified by x and y. Use mode to\\n * specify whether the values for x and y are pixels or a percent of the window.\\n * When mode is 0, the coordinates are pixels; when mode is 1, the coordinates\\n * are percent of the window.\\n * @param {number} x The x-coordinate.\\n * @param {number} y The y-coordinate.\\n * @param {number} mode The mode.\\n * @return {undefined}\\n */\\nHTMLObjectElement.prototype.Pan = function(x, y, mode) {};\\n\\n/**\\n * @return {number} The percent of the Flash Player movie that has streamed\\n *     into the browser so far; Possible values are from 0 to 100.\\n */\\nHTMLObjectElement.prototype.PercentLoaded = function() {};\\n\\n/**\\n * Starts playing the movie.\\n * @return {undefined}\\n */\\nHTMLObjectElement.prototype.Play = function() {};\\n\\n/**\\n * Goes to the first frame.\\n * @return {undefined}\\n */\\nHTMLObjectElement.prototype.Rewind = function() {};\\n\\n/**\\n * Sets the value of the flash variable.\\n * @param {string} variableName The variable name.\\n * @param {string} value The value.\\n * @return {undefined}\\n */\\nHTMLObjectElement.prototype.SetVariable = function(variableName, value) {};\\n\\n/**\\n * Zooms in on a rectangular area of the movie. The units of the coordinates\\n * are in twips (1440 units per inch).\\n * @param {number} left The left coordinate.\\n * @param {number} top The top coordinate.\\n * @param {number} right The right coordinate.\\n * @param {number} bottom The bottom coordinate.\\n * @return {undefined}\\n */\\nHTMLObjectElement.prototype.SetZoomRect = function(left, top, right, bottom) {};\\n\\n/**\\n * Stops playing the movie.\\n * @return {undefined}\\n */\\nHTMLObjectElement.prototype.StopPlay = function() {};\\n\\n/**\\n * @return {number} The total number of frames in the movie.\\n */\\nHTMLObjectElement.prototype.TotalFrames = function() {};\\n\\n/**\\n * Zooms the view by a relative scale factor.\\n * @param {number} percent The percentage scale factor, should be an integer.\\n * @return {undefined}\\n */\\nHTMLObjectElement.prototype.Zoom = function(percent) {};\\n\\n\\n// TellTarget Methods.\\n\\n/**\\n * Executes the action in the timeline specified by {@code target} in the\\n * specified frame.\\n * @param {string} target The timeline.\\n * @param {number} frameNumber The frame number.\\n * @return {undefined}\\n */\\nHTMLObjectElement.prototype.TCallFrame = function(target, frameNumber) {};\\n\\n/**\\n * Executes the action in the timeline specified by {@code target} in the\\n * specified frame.\\n * @param {string} target The timeline.\\n * @param {string} label The frame label.\\n * @return {undefined}\\n */\\nHTMLObjectElement.prototype.TCallLabel = function(target, label) {};\\n\\n/**\\n * Returns the number of the current frame for the specified timeline.\\n * @param {string} target The timeline.\\n * @return {number} The number of the current frame.\\n */\\nHTMLObjectElement.prototype.TCurentFrame = function(target) {};\\n\\n/**\\n * Returns the label of the current frame for the specified timeline.\\n * @param {string} target The timeline.\\n * @return {string} The label of the current frame, empty string if no\\n *     current frame.\\n */\\nHTMLObjectElement.prototype.TCurrentLabel = function(target) {};\\n\\n/**\\n * Returns a string indicating the value of the property in the\\n * specified timeline.\\n * @param {string} target The timeline.\\n * @param {number} property The integer corresponding to the desired property.\\n * @return {string} The value of the property.\\n */\\nHTMLObjectElement.prototype.TGetProperty = function(target, property) {};\\n\\n/**\\n * Returns a number indicating the value of the property in the specified\\n * timeline.\\n * @param {string} target The timeline.\\n * @param {number} property The integer corresponding to the desired property.\\n * @return {number} A number indicating the value of the property.\\n */\\nHTMLObjectElement.prototype.TGetPropertyAsNumber = function(target, property) {};\\n\\n/**\\n * Goes to the specified frame number in the specified timeline.\\n * @param {string} target The timeline.\\n * @param {number} frameNumber The frame number.\\n * @return {undefined}\\n */\\nHTMLObjectElement.prototype.TGotoFrame = function(target, frameNumber) {};\\n\\n/**\\n * Goes to the specified frame label in the specified timeline.\\n * @param {string} target The timeline.\\n * @param {string} label The framelabel.\\n * @return {undefined}\\n */\\nHTMLObjectElement.prototype.TGotoLabel = function(target, label) {};\\n\\n/**\\n * Plays the specified timeline.\\n * @param {number} target The timeline.\\n * @return {undefined}\\n */\\nHTMLObjectElement.prototype.TPlay = function(target) {};\\n\\n/**\\n * Sets the value of the property in the specified timeline.\\n * @param {number} target The timeline.\\n * @param {number} property The integer corresponding to the desired property.\\n * @param {string|number} value The value.\\n * @return {undefined}\\n */\\nHTMLObjectElement.prototype.TSetProperty = function(target, property, value) {};\\n\\n/**\\n * Stops the specified timeline.\\n * @param {number} target The timeline.\\n * @return {undefined}\\n */\\nHTMLObjectElement.prototype.TStopPlay = function(target) {};\\n","externs/gecko_xml.js":"/*\\n * Copyright 2008 The Closure Compiler Authors\\n *\\n * Licensed under the Apache License, Version 2.0 (the \\"License\\");\\n * you may not use this file except in compliance with the License.\\n * You may obtain a copy of the License at\\n *\\n *     http://www.apache.org/licenses/LICENSE-2.0\\n *\\n * Unless required by applicable law or agreed to in writing, software\\n * distributed under the License is distributed on an \\"AS IS\\" BASIS,\\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\\n * See the License for the specific language governing permissions and\\n * limitations under the License.\\n */\\n\\n/**\\n * @fileoverview Definitions for all the extensions over some of the\\n *  W3C\'s XML specifications by Gecko. This file depends on\\n *  w3c_xml.js. The whole file has been fully type annotated.\\n *\\n * @externs\\n * @author acleung@google.com (Alan Leung)\\n */\\n\\n/**\\n * XMLSerializer can be used to convert DOM s';
a.a+='ubtree or DOM document into text.\\n * XMLSerializer is available to unprivileged scripts.\\n *\\n * XMLSerializer is mainly useful for applications and extensions based on\\n * Mozilla platform. While it\'s available to web pages, it\'s not part of any\\n * standard and level of support in other browsers is unknown.\\n *\\n * @constructor\\n */\\nfunction XMLSerializer() {}\\n\\n/**\\n * Returns the serialized subtree in the form of a string\\n * @param {Node} subtree\\n * @return {string}\\n */\\nXMLSerializer.prototype.serializeToString = function(subtree) {};\\n\\n/**\\n * The subtree rooted by the specified element is serialized to a byte stream\\n * using the character set specified.\\n *\\n * @param {Node} subtree\\n * @return {Object}\\n */\\nXMLSerializer.prototype.serializeToStream = function(subtree) {};\\n\\n/**\\n * DOMParser is mainly useful for applications and extensions based on Mozilla\\n * platform. While it\'s available to web pages, it\'s not part of any standard and\\n * level of support in other browsers is unknown.\\n *\\n * @constructor\\n */\\nfunction DOMParser() {}\\n\\n/**\\n * The string passed in is parsed into a DOM document.\\n *\\n * Example:\\n *  var parser = new DOMParser();\\n *  var doc = parser.parseFromString(aStr, \\"text/xml\\");\\n *\\n * @param {string} src The UTF16 string to be parsed.\\n * @param {string} type The content type of the string.\\n * @return {Document}\\n */\\nDOMParser.prototype.parseFromString = function(src, type) {};\\n","externs/html5.js":"/*\\n * Copyright 2008 The Closure Compiler Authors\\n *\\n * Licensed under the Apache License, Version 2.0 (the \\"License\\");\\n * you may not use this file except in compliance with the License.\\n * You may obtain a copy of the License at\\n *\\n *     http://www.apache.org/licenses/LICENSE-2.0\\n *\\n * Unless required by applicable law or agreed to in writing, software\\n * distributed under the License is distributed on an \\"AS IS\\" BASIS,\\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\\n * See the License for the specific language governing permissions and\\n * limitations under the License.\\n */\\n/**\\n * @fileoverview Definitions for all the extensions over the\\n *  W3C\'s DOM3 specification in HTML5. This file depends on\\n *  w3c_dom3.js. The whole file has been fully type annotated.\\n *\\n *  @see http://www.whatwg.org/specs/web-apps/current-work/multipage/index.html\\n *  @see http://dev.w3.org/html5/spec/Overview.html\\n *\\n *  This also includes Typed Array definitions from\\n *  http://www.khronos.org/registry/typedarray/specs/latest/\\n *\\n *  This relies on w3c_event.js being included first.\\n *\\n * @externs\\n * @author acleung@google.com (Alan Leung)\\n */\\n\\n\\n/**\\n * Note: In IE, the contains() method only exists on Elements, not Nodes.\\n * Therefore, it is recommended that you use the Conformance framework to\\n * prevent calling this on Nodes which are not Elements.\\n * @see https://connect.microsoft.com/IE/feedback/details/780874/node-contains-is-incorrect\\n *\\n * @param {Node} n The node to check\\n * @return {boolean} If \'n\' is this Node, or is contained within this Node.\\n * @see https://developer.mozilla.org/en-US/docs/Web/API/Node.contains\\n * @nosideeffects\\n */\\nNode.prototype.contains = function(n) {};\\n\\n\\n/**\\n * @constructor\\n * @see http://www.whatwg.org/specs/web-apps/current-work/multipage/the-canvas-element.html#the-canvas-element\\n * @extends {HTMLElement}\\n */\\nfunction HTMLCanvasElement() {}\\n\\n/** @type {number} */\\nHTMLCanvasElement.prototype.width;\\n\\n/** @type {number} */\\nHTMLCanvasElement.prototype.height;\\n\\n/**\\n * @see https://www.w3.org/TR/html5/scripting-1.html#dom-canvas-toblob\\n * @param {function(!Blob)} callback\\n * @param {string=} opt_type\\n * @param {...*} var_args\\n * @throws {Error}\\n */\\nHTMLCanvasElement.prototype.toBlob = function(callback, opt_type, var_args) {};\\n\\n/**\\n * @param {string=} opt_type\\n * @param {...*} var_args\\n * @return {string}\\n * @throws {Error}\\n */\\nHTMLCanvasElement.prototype.toDataURL = function(opt_type, var_args) {};\\n\\n/**\\n * @param {string} contextId\\n * @param {Object=} opt_args\\n * @return {Object}\\n */\\nHTMLCanvasElement.prototype.getContext = function(contextId, opt_args) {};\\n\\n\\n/**\\n * @interface\\n * @see https://www.w3.org/TR/2dcontext/#canvaspathmethods\\n */\\nfunction CanvasPathMethods() {};\\n\\n/**\\n * @return {undefined}\\n */\\nCanvasPathMethods.prototype.closePath = function() {};\\n\\n/**\\n * @param {number} x\\n * @param {number} y\\n * @return {undefined}\\n */\\nCanvasPathMethods.prototype.moveTo = function(x, y) {};\\n\\n/**\\n * @param {number} x\\n * @param {number} y\\n * @return {undefined}\\n */\\nCanvasPathMethods.prototype.lineTo = function(x, y) {};\\n\\n/**\\n * @param {number} cpx\\n * @param {number} cpy\\n * @param {number} x\\n * @param {number} y\\n * @return {undefined}\\n */\\nCanvasPathMethods.prototype.quadraticCurveTo = function(cpx, cpy, x, y) {};\\n\\n/**\\n * @param {number} cp1x\\n * @param {number} cp1y\\n * @param {number} cp2x\\n * @param {number} cp2y\\n * @param {number} x\\n * @param {number} y\\n * @return {undefined}\\n */\\nCanvasPathMethods.prototype.bezierCurveTo = function(\\n    cp1x, cp1y, cp2x, cp2y, x, y) {};\\n\\n/**\\n * @param {number} x1\\n * @param {number} y1\\n * @param {number} x2\\n * @param {number} y2\\n * @param {number} radius\\n * @return {undefined}\\n */\\nCanvasPathMethods.prototype.arcTo = function(x1, y1, x2, y2, radius) {};\\n\\n/**\\n * @param {number} x\\n * @param {number} y\\n * @param {number} w\\n * @param {number} h\\n * @return {undefined}\\n */\\nCanvasPathMethods.prototype.rect = function(x, y, w, h) {};\\n\\n/**\\n * @param {number} x\\n * @param {number} y\\n * @param {number} radius\\n * @param {number} startAngle\\n * @param {number} endAngle\\n * @param {boolean=} opt_anticlockwise\\n * @return {undefined}\\n */\\nCanvasPathMethods.prototype.arc = function(\\n    x, y, radius, startAngle, endAngle, opt_anticlockwise) {};\\n\\n\\n/**\\n * @constructor\\n * @implements {CanvasPathMethods}\\n * @see http://www.w3.org/TR/2dcontext/#canvasrenderingcontext2d\\n */\\nfunction CanvasRenderingContext2D() {}\\n\\n/** @type {!HTMLCanvasElement} */\\nCanvasRenderingContext2D.prototype.canvas;\\n\\n/**\\n * @return {undefined}\\n */\\nCanvasRenderingContext2D.prototype.save = function() {};\\n\\n/**\\n * @return {undefined}\\n */\\nCanvasRenderingContext2D.prototype.restore = function() {};\\n\\n/**\\n * @param {number} x\\n * @param {number} y\\n * @return {undefined}\\n */\\nCanvasRenderingContext2D.prototype.scale = function(x, y) {};\\n\\n/**\\n * @param {number} angle\\n * @return {undefined}\\n */\\nCanvasRenderingContext2D.prototype.rotate = function(angle) {};\\n\\n/**\\n * @param {number} x\\n * @param {number} y\\n * @return {undefined}\\n */\\nCanvasRenderingContext2D.prototype.translate = function(x, y) {};\\n\\n/**\\n * @param {number} m11\\n * @param {number} m12\\n * @param {number} m21\\n * @param {number} m22\\n * @param {number} dx\\n * @param {number} dy\\n * @return {undefined}\\n */\\nCanvasRenderingContext2D.prototype.transform = function(\\n    m11, m12, m21, m22, dx, dy) {};\\n\\n/**\\n * @param {number} m11\\n * @param {number} m12\\n * @param {number} m21\\n * @param {number} m22\\n * @param {number} dx\\n * @param {number} dy\\n * @return {undefined}\\n */\\nCanvasRenderingContext2D.prototype.setTransform = function(\\n    m11, m12, m21, m22, dx, dy) {};\\n\\n/**\\n * @param {number} x0\\n * @param {number} y0\\n * @param {number} x1\\n * @param {number} y1\\n * @return {CanvasGradient}\\n * @throws {Error}\\n */\\nCanvasRenderingContext2D.prototype.createLinearGradient = function(\\n    x0, y0, x1, y1) {};\\n\\n/**\\n * @param {number} x0\\n * @param {number} y0\\n * @param {number} r0\\n * @param {number} x1\\n * @param {number} y1\\n * @param {number} r1\\n * @return {CanvasGradient}\\n * @throws {Error}\\n */\\nCanvasRenderingContext2D.prototype.createRadialGradient = function(\\n    x0, y0, r0, x1, y1, r1) {};\\n\\n/**\\n * @param {HTMLImageElement|HTMLCanvasElement} image\\n * @param {string} repetition\\n * @return {CanvasPattern}\\n * @throws {Error}\\n */\\nCanvasRenderingContext2D.prototype.createPattern = function(\\n    image, repetition) {};\\n\\n/**\\n * @param {number} x\\n * @param {number} y\\n * @param {number} w\\n * @param {number} h\\n * @return {undefined}\\n */\\nCanvasRenderingContext2D.prototype.clearRect = function(x, y, w, h) {};\\n\\n/**\\n * @param {number} x\\n * @param {number} y\\n * @param {number} w\\n * @param {number} h\\n * @return {undefined}\\n */\\nCanvasRenderingContext2D.prototype.fillRect = function(x, y, w, h) {};\\n\\n/**\\n * @param {number} x\\n * @param {number} y\\n * @param {number} w\\n * @param {number} h\\n * @return {undefined}\\n */\\nCanvasRenderingContext2D.prototype.strokeRect = function(x, y, w, h) {};\\n\\n/**\\n * @return {undefined}\\n */\\nCanvasRenderingContext2D.prototype.beginPath = function() {};\\n\\n/**\\n * @return {undefined}\\n * @override\\n */\\nCanvasRenderingContext2D.prototype.closePath = function() {};\\n\\n/**\\n * @param {number} x\\n * @param {number} y\\n * @return {undefined}\\n * @override\\n */\\nCanvasRenderingContext2D.prototype.moveTo = function(x, y) {};\\n\\n/**\\n * @param {number} x\\n * @param {number} y\\n * @return {undefined}\\n * @override\\n */\\nCanvasRenderingContext2D.prototype.lineTo = function(x, y) {};\\n\\n/**\\n * @param {number} cpx\\n * @param {number} cpy\\n * @param {number} x\\n * @param {number} y\\n * @return {undefined}\\n * @override\\n */\\nCanvasRenderingContext2D.prototype.quadraticCurveTo = function(\\n    cpx, cpy, x, y) {};\\n\\n/**\\n * @param {number} cp1x\\n * @param {number} cp1y\\n * @param {number} cp2x\\n * @param {number} cp2y\\n * @param {number} x\\n * @param {number} y\\n * @return {undefined}\\n * @override\\n */\\nCanvasRenderingContext2D.prototype.bezierCurveTo = function(\\n    cp1x, cp1y, cp2x, cp2y, x, y) {};\\n\\n/**\\n * @param {number} x1\\n * @param {number} y1\\n * @param {number} x2\\n * @param {number} y2\\n * @param {number} radius\\n * @return {undefined}\\n * @override\\n */\\nCanvasRenderingContext2D.prototype.arcTo = function(x1, y1, x2, y2, radius) {};\\n\\n/**\\n * @param {number} x\\n * @param {number} y\\n * @param {number} w\\n * @param {number} h\\n * @return {undefined}\\n * @override\\n */\\nCanvasRenderingContext2D.prototype.rect = function(x, y, w, h) {};\\n\\n/**\\n * @param {number} x\\n * @param {number} y\\n * @param {number} radius\\n * @param {number} startAngle\\n * @param {number} endAngle\\n * @param {boolean=} opt_anticlockwise\\n * @return {undefined}\\n * @override\\n */\\nCanvasRenderingContext2D.prototype.arc = function(\\n    x, y, radius, startAngle, endAngle, opt_anticlockwise) {};\\n\\n/**\\n * @param {number} x\\n * @param {number} y\\n * @param {number} radiusX\\n * @param {number} radiusY\\n * @param {number} rotation\\n * @param {number} startAngle\\n * @param {number} endAngle\\n * @param {boolean=} opt_anticlockwise\\n * @return {undefined}\\n * @see http://developer.mozilla.org/en/docs/Web/API/CanvasRenderingContext2D/ellipse\\n */\\nCanvasRenderingContext2D.prototype.ellipse = function(\\n    x, y, radiusX, radiusY, rotation, startAngle, endAngle, opt_anticlockwise) {\\n};\\n\\n/**\\n * @param {string=} opt_fillRule\\n * @return {undefined}\\n */\\nCanvasRenderingContext2D.prototype.fill = function(opt_fillRule) {};\\n\\n/**\\n * @return {undefined}\\n */\\nCanvasRenderingContext2D.prototype.stroke = function() {};\\n\\n/**\\n * @param {string=} opt_fillRule\\n * @return {undefined}\\n */\\nCanvasRenderingContext2D.prototype.clip = function(opt_fillRule) {};\\n\\n/**\\n * @param {number} x\\n * @param {number} y\\n * @return {boolean}\\n * @nosideeffects\\n * @see http://developer.mozilla.org/en-US/docs/Web/API/CanvasRenderingContext2D/isPointInStroke\\n */\\nCanvasRenderingContext2D.prototype.isPointInStroke = function(x, y) {};\\n\\n/**\\n * @param {number} x\\n * @param {number} y\\n * @param {string=} opt_fillRule\\n * @return {boolean}\\n * @nosideeffects\\n */\\nCanvasRenderingContext2D.prototype.isPointInPath = function(\\n    x, y, opt_fillRule) {};\\n\\n/**\\n * @param {string} text\\n * @param {number} x\\n * @param {number} y\\n * @param {number=} opt_maxWidth\\n * @return {undefined}\\n */\\nCanvasRenderingContext2D.prototype.fillText = function(\\n    text, x, y, opt_maxWidth) {};\\n\\n/**\\n * @param {string} text\\n * @param {number} x\\n * @param {number} y\\n * @param {number=} opt_maxWidth\\n * @return {undefined}\\n */\\nCanvasRenderingContext2D.prototype.strokeText = function(\\n    text, x, y, opt_maxWidth) {};\\n\\n/**\\n * @param {string} text\\n * @return {TextMetrics}\\n * @nosideeffects\\n */\\nCanvasRenderingContext2D.prototype.measureText = function(text) {};\\n\\n/**\\n * @param {HTMLImageElement|HTMLCanvasElement|Image|HTMLVideoElement} image\\n * @param {number} dx Destination x coordinate.\\n * @param {number} dy Destination y coordinate.\\n * @param {number=} opt_dw Destination box width.  Defaults to the image width.\\n * @param {number=} opt_dh Destination box height.\\n *     Defaults to the image height.\\n * @param {number=} opt_sx Source box x coordinate.  Used to select a portion of\\n *     the source image to draw.  Defaults to 0.\\n * @param {number=} opt_sy Source box y coordinate.  Used to select a portion of\\n *     the source image to draw.  Defaults to 0.\\n * @param {number=} opt_sw Source box width.  Used to select a portion of\\n *     the source image to draw.  Defaults to the full image width.\\n * @param {number=} opt_sh Source box height.  Used to select a portion of\\n *     the source image to draw.  Defaults to the full image height.\\n * @return {undefined}\\n */\\nCanvasRenderingContext2D.prototype.drawImage = function(\\n    image, dx, dy, opt_dw, opt_dh, opt_sx, opt_sy, opt_sw, opt_sh) {};\\n\\n/**\\n * @param {number} sw\\n * @param {number} sh\\n * @return {ImageData}\\n * @nosideeffects\\n */\\nCanvasRenderingContext2D.prototype.createImageData = function(sw, sh) {};\\n\\n/**\\n * @param {number} sx\\n * @param {number} sy\\n * @param {number} sw\\n * @param {number} sh\\n * @return {ImageData}\\n * @throws {Error}\\n */\\nCanvasRenderingContext2D.prototype.getImageData = function(sx, sy, sw, sh) {};\\n\\n/**\\n * @param {ImageData} imagedata\\n * @param {number} dx\\n * @param {number} dy\\n * @param {number=} opt_dirtyX\\n * @param {number=} opt_dirtyY\\n * @param {number=} opt_dirtyWidth\\n * @param {number=} opt_dirtyHeight\\n * @return {undefined}\\n */\\nCanvasRenderingContext2D.prototype.putImageData = function(imagedata, dx, dy,\\n    opt_dirtyX, opt_dirtyY, opt_dirtyWidth, opt_dirtyHeight) {};\\n\\n/**\\n * Note: WebKit only\\n * @param {number|string=} opt_a\\n * @param {number=} opt_b\\n * @param {number=} opt_c\\n * @param {number=} opt_d\\n * @param {number=} opt_e\\n * @see http://developer.apple.com/library/safari/#documentation/appleapplications/reference/WebKitDOMRef/CanvasRenderingContext2D_idl/Classes/CanvasRenderingContext2D/index.html\\n * @return {undefined}\\n */\\nCanvasRenderingContext2D.prototype.setFillColor;\\n\\n/**\\n * Note: WebKit only\\n * @param {number|string=} opt_a\\n * @param {number=} opt_b\\n * @param {number=} opt_c\\n * @param {number=} opt_d\\n * @param {number=} opt_e\\n * @see http://developer.apple.com/library/safari/#documentation/appleapplications/reference/WebKitDOMRef/CanvasRenderingContext2D_idl/Classes/CanvasRenderingContext2D/index.html\\n * @return {undefined}\\n */\\nCanvasRenderingContext2D.prototype.setStrokeColor;\\n\\n/**\\n * @return {Array<number>}\\n */\\nCanvasRenderingContext2D.prototype.getLineDash;\\n\\n/**\\n * @param {Array<number>} segments\\n * @return {undefined}\\n */\\nCanvasRenderingContext2D.prototype.setLineDash;\\n\\n/** @type {string} */\\nCanvasRenderingContext2D.prototype.fillColor;\\n\\n/**\\n * @type {string|!CanvasGradient|!CanvasPattern}\\n * @see https://html.spec.whatwg.org/multipage/scripting.html#fill-and-stroke-styles:dom-context-2d-fillstyle\\n * @implicitCast\\n */\\nCanvasRenderingContext2D.prototype.fillStyle;\\n\\n/** @type {string} */\\nCanvasRenderingContext2D.prototype.font;\\n\\n/** @type {number} */\\nCanvasRenderingContext2D.prototype.globalAlpha;\\n\\n/** @type {string} */\\nCanvasRenderingContext2D.prototype.globalCompositeOperation;\\n\\n/** @type {number} */\\nCanvasRenderingContext2D.prototype.lineWidth;\\n\\n/** @type {string} */\\nCanvasRenderingContext2D.prototype.lineCap;\\n\\n/** @type {string} */\\nCanvasRenderingContext2D.prototype.lineJoin;\\n\\n/** @type {number} */\\nCanvasRenderingContext2D.prototype.miterLimit;\\n\\n/** @type {number} */\\nCanvasRenderingContext2D.prototype.shadowBlur;\\n\\n/** @type {string} */\\nCanvasRe';
a.a+="nderingContext2D.prototype.shadowColor;\\n\\n/** @type {number} */\\nCanvasRenderingContext2D.prototype.shadowOffsetX;\\n\\n/** @type {number} */\\nCanvasRenderingContext2D.prototype.shadowOffsetY;\\n\\n/**\\n * @type {string|!CanvasGradient|!CanvasPattern}\\n * @see https://html.spec.whatwg.org/multipage/scripting.html#fill-and-stroke-styles:dom-context-2d-strokestyle\\n * @implicitCast\\n */\\nCanvasRenderingContext2D.prototype.strokeStyle;\\n\\n/** @type {string} */\\nCanvasRenderingContext2D.prototype.strokeColor;\\n\\n/** @type {string} */\\nCanvasRenderingContext2D.prototype.textAlign;\\n\\n/** @type {string} */\\nCanvasRenderingContext2D.prototype.textBaseline;\\n\\n/** @type {number} */\\nCanvasRenderingContext2D.prototype.lineDashOffset;\\n\\n/**\\n * @constructor\\n */\\nfunction CanvasGradient() {}\\n\\n/**\\n * @param {number} offset\\n * @param {string} color\\n * @return {undefined}\\n */\\nCanvasGradient.prototype.addColorStop = function(offset, color) {};\\n\\n/**\\n * @constructor\\n */\\nfunction CanvasPattern() {}\\n\\n/**\\n * @constructor\\n */\\nfunction TextMetrics() {}\\n\\n/** @type {number} */\\nTextMetrics.prototype.width;\\n\\n/**\\n * @param {Uint8ClampedArray|number} dataOrWidth In the first form, this is the\\n *     array of pixel data.  In the second form, this is the image width.\\n * @param {number} widthOrHeight In the first form, this is the image width.  In\\n *     the second form, this is the image height.\\n * @param {number=} opt_height In the first form, this is the optional image\\n *     height.  The second form omits this argument.\\n * @see https://html.spec.whatwg.org/multipage/scripting.html#imagedata\\n * @constructor\\n */\\nfunction ImageData(dataOrWidth, widthOrHeight, opt_height) {}\\n\\n/** @type {Uint8ClampedArray} */\\nImageData.prototype.data;\\n\\n/** @type {number} */\\nImageData.prototype.width;\\n\\n/** @type {number} */\\nImageData.prototype.height;\\n\\n/**\\n * @constructor\\n */\\nfunction ClientInformation() {}\\n\\n/** @type {boolean} */\\nClientInformation.prototype.onLine;\\n\\n/**\\n * @param {string} protocol\\n * @param {string} uri\\n * @param {string} title\\n * @return {undefined}\\n */\\nClientInformation.prototype.registerProtocolHandler = function(\\n    protocol, uri, title) {};\\n\\n/**\\n * @param {string} mimeType\\n * @param {string} uri\\n * @param {string} title\\n * @return {undefined}\\n */\\nClientInformation.prototype.registerContentHandler = function(\\n    mimeType, uri, title) {};\\n\\n// HTML5 Database objects\\n/**\\n * @constructor\\n */\\nfunction Database() {}\\n\\n/**\\n * @type {string}\\n */\\nDatabase.prototype.version;\\n\\n/**\\n * @param {function(!SQLTransaction) : void} callback\\n * @param {(function(!SQLError) : void)=} opt_errorCallback\\n * @param {Function=} opt_Callback\\n * @return {undefined}\\n */\\nDatabase.prototype.transaction = function(\\n    callback, opt_errorCallback, opt_Callback) {};\\n\\n/**\\n * @param {function(!SQLTransaction) : void} callback\\n * @param {(function(!SQLError) : void)=} opt_errorCallback\\n * @param {Function=} opt_Callback\\n * @return {undefined}\\n */\\nDatabase.prototype.readTransaction = function(\\n    callback, opt_errorCallback, opt_Callback) {};\\n\\n/**\\n * @param {string} oldVersion\\n * @param {string} newVersion\\n * @param {function(!SQLTransaction) : void} callback\\n * @param {function(!SQLError) : void} errorCallback\\n * @param {Function} successCallback\\n * @return {undefined}\\n */\\nDatabase.prototype.changeVersion = function(\\n    oldVersion, newVersion, callback, errorCallback, successCallback) {};\\n\\n/**\\n * @interface\\n */\\nfunction DatabaseCallback() {}\\n\\n/**\\n * @param {!Database} db\\n * @return {undefined}\\n */\\nDatabaseCallback.prototype.handleEvent = function(db) {};\\n\\n/**\\n * @constructor\\n */\\nfunction SQLError() {}\\n\\n/**\\n * @type {number}\\n */\\nSQLError.prototype.code;\\n\\n/**\\n * @type {string}\\n */\\nSQLError.prototype.message;\\n\\n/**\\n * @constructor\\n */\\nfunction SQLTransaction() {}\\n\\n/**\\n * @param {string} sqlStatement\\n * @param {Array<*>=} opt_queryArgs\\n * @param {SQLStatementCallback=} opt_callback\\n * @param {(function(!SQLTransaction, !SQLError) : (boolean|void))=}\\n *     opt_errorCallback\\n * @return {undefined}\\n */\\nSQLTransaction.prototype.executeSql = function(\\n    sqlStatement, opt_queryArgs, opt_callback, opt_errorCallback) {};\\n\\n/**\\n * @typedef {(function(!SQLTransaction, !SQLResultSet) : void)}\\n */\\nvar SQLStatementCallback;\\n\\n/**\\n * @constructor\\n */\\nfunction SQLResultSet() {}\\n\\n/**\\n * @type {number}\\n */\\nSQLResultSet.prototype.insertId;\\n\\n/**\\n * @type {number}\\n */\\nSQLResultSet.prototype.rowsAffected;\\n\\n/**\\n * @type {SQLResultSetRowList}\\n */\\nSQLResultSet.prototype.rows;\\n\\n/**\\n * @constructor\\n * @implements {IArrayLike<!Object>}\\n * @see http://www.w3.org/TR/webdatabase/#sqlresultsetrowlist\\n */\\nfunction SQLResultSetRowList() {}\\n\\n/**\\n * @type {number}\\n */\\nSQLResultSetRowList.prototype.length;\\n\\n/**\\n * @param {number} index\\n * @return {Object}\\n * @nosideeffects\\n */\\nSQLResultSetRowList.prototype.item = function(index) {};\\n\\n/**\\n * @param {string} name\\n * @param {string} version\\n * @param {string} description\\n * @param {number} size\\n * @param {(DatabaseCallback|function(Database))=} opt_callback\\n * @return {Database}\\n */\\nfunction openDatabase(name, version, description, size, opt_callback) {}\\n\\n/**\\n * @param {string} name\\n * @param {string} version\\n * @param {string} description\\n * @param {number} size\\n * @param {(DatabaseCallback|function(Database))=} opt_callback\\n * @return {Database}\\n */\\nWindow.prototype.openDatabase =\\n    function(name, version, description, size, opt_callback) {};\\n\\n/**\\n * @type {boolean}\\n * @see https://www.w3.org/TR/html5/embedded-content-0.html#dom-img-complete\\n */\\nHTMLImageElement.prototype.complete;\\n\\n/**\\n * @type {number}\\n * @see https://www.w3.org/TR/html5/embedded-content-0.html#dom-img-naturalwidth\\n */\\nHTMLImageElement.prototype.naturalWidth;\\n\\n/**\\n * @type {number}\\n * @see https://www.w3.org/TR/html5/embedded-content-0.html#dom-img-naturalheight\\n */\\nHTMLImageElement.prototype.naturalHeight;\\n\\n/**\\n * @type {string}\\n * @see http://www.whatwg.org/specs/web-apps/current-work/multipage/embedded-content-1.html#attr-img-crossorigin\\n */\\nHTMLImageElement.prototype.crossOrigin;\\n\\n/**\\n * This is a superposition of the Window and Worker postMessage methods.\\n * @param {*} message\\n * @param {(string|!Array<!Transferable>)=} opt_targetOriginOrTransfer\\n * @param {(string|!Array<!MessagePort>|!Array<!Transferable>)=}\\n *     opt_targetOriginOrPortsOrTransfer\\n * @return {void}\\n */\\nfunction postMessage(message, opt_targetOriginOrTransfer,\\n    opt_targetOriginOrPortsOrTransfer) {}\\n\\n/**\\n * The postMessage method (as implemented in Opera).\\n * @param {string} message\\n */\\nDocument.prototype.postMessage = function(message) {};\\n\\n/**\\n * Document head accessor.\\n * @see http://www.whatwg.org/specs/web-apps/current-work/multipage/dom.html#the-head-element-0\\n * @type {HTMLHeadElement}\\n */\\nDocument.prototype.head;\\n\\n/**\\n * @see https://developer.apple.com/webapps/docs/documentation/AppleApplications/Reference/SafariJSRef/DOMApplicationCache/DOMApplicationCache.html\\n * @constructor\\n * @implements {EventTarget}\\n */\\nfunction DOMApplicationCache() {}\\n\\n/**\\n * @param {boolean=} opt_useCapture\\n * @override\\n * @return {undefined}\\n */\\nDOMApplicationCache.prototype.addEventListener = function(\\n    type, listener, opt_useCapture) {};\\n\\n/**\\n * @param {boolean=} opt_useCapture\\n * @override\\n * @return {undefined}\\n */\\nDOMApplicationCache.prototype.removeEventListener = function(\\n    type, listener, opt_useCapture) {};\\n\\n/**\\n * @override\\n * @return {boolean}\\n */\\nDOMApplicationCache.prototype.dispatchEvent = function(evt) {};\\n\\n/**\\n * The object isn't associated with an application cache. This can occur if the\\n * update process fails and there is no previous cache to revert to, or if there\\n * is no manifest file.\\n * @type {number}\\n */\\nDOMApplicationCache.prototype.UNCACHED = 0;\\n\\n/**\\n * The cache is idle.\\n * @type {number}\\n */\\nDOMApplicationCache.prototype.IDLE = 1;\\n\\n/**\\n * The update has started but the resources are not downloaded yet - for\\n * example, this can happen when the manifest file is fetched.\\n * @type {number}\\n */\\nDOMApplicationCache.prototype.CHECKING = 2;\\n\\n/**\\n * The resources are being downloaded into the cache.\\n * @type {number}\\n */\\nDOMApplicationCache.prototype.DOWNLOADING = 3;\\n\\n/**\\n * Resources have finished downloading and the new cache is ready to be used.\\n * @type {number}\\n */\\nDOMApplicationCache.prototype.UPDATEREADY = 4;\\n\\n/**\\n * The cache is obsolete.\\n * @type {number}\\n */\\nDOMApplicationCache.prototype.OBSOLETE = 5;\\n\\n/**\\n * The current status of the application cache.\\n * @type {number}\\n */\\nDOMApplicationCache.prototype.status;\\n\\n/**\\n * Sent when the update process finishes for the first time; that is, the first\\n * time an application cache is saved.\\n * @type {?function(!Event)}\\n */\\nDOMApplicationCache.prototype.oncached;\\n\\n/**\\n * Sent when the cache update process begins.\\n * @type {?function(!Event)}\\n */\\nDOMApplicationCache.prototype.onchecking;\\n\\n/**\\n * Sent when the update process begins downloading resources in the manifest\\n * file.\\n * @type {?function(!Event)}\\n */\\nDOMApplicationCache.prototype.ondownloading;\\n\\n/**\\n * Sent when an error occurs.\\n * @type {?function(!Event)}\\n */\\nDOMApplicationCache.prototype.onerror;\\n\\n/**\\n * Sent when the update process finishes but the manifest file does not change.\\n * @type {?function(!Event)}\\n */\\nDOMApplicationCache.prototype.onnoupdate;\\n\\n/**\\n * Sent when each resource in the manifest file begins to download.\\n * @type {?function(!Event)}\\n */\\nDOMApplicationCache.prototype.onprogress;\\n\\n/**\\n * Sent when there is an existing application cache, the update process\\n * finishes, and there is a new application cache ready for use.\\n * @type {?function(!Event)}\\n */\\nDOMApplicationCache.prototype.onupdateready;\\n\\n/**\\n * Replaces the active cache with the latest version.\\n * @throws {DOMException}\\n * @return {undefined}\\n */\\nDOMApplicationCache.prototype.swapCache = function() {};\\n\\n/**\\n * Manually triggers the update process.\\n * @throws {DOMException}\\n * @return {undefined}\\n */\\nDOMApplicationCache.prototype.update = function() {};\\n\\n/** @type {DOMApplicationCache} */\\nvar applicationCache;\\n\\n/** @type {DOMApplicationCache} */\\nWindow.prototype.applicationCache;\\n\\n/**\\n * @see https://developer.mozilla.org/En/DOM/Worker/Functions_available_to_workers\\n * @param {...string} var_args\\n * @return {undefined}\\n */\\nWindow.prototype.importScripts = function(var_args) {};\\n\\n/**\\n * @see https://developer.mozilla.org/En/DOM/Worker/Functions_available_to_workers\\n * @param {...string} var_args\\n * @return {undefined}\\n */\\nfunction importScripts(var_args) {}\\n\\n/**\\n * @see http://dev.w3.org/html5/workers/\\n * @constructor\\n * @implements {EventTarget}\\n */\\nfunction WebWorker() {}\\n\\n/**\\n * @param {boolean=} opt_useCapture\\n * @override\\n * @return {undefined}\\n */\\nWebWorker.prototype.addEventListener = function(\\n    type, listener, opt_useCapture) {};\\n\\n/**\\n * @param {boolean=} opt_useCapture\\n * @override\\n * @return {undefined}\\n */\\nWebWorker.prototype.removeEventListener = function(\\n    type, listener, opt_useCapture) {};\\n\\n/**\\n * @override\\n * @return {boolean}\\n */\\nWebWorker.prototype.dispatchEvent = function(evt) {};\\n\\n/**\\n * Stops the worker process\\n * @return {undefined}\\n */\\nWebWorker.prototype.terminate = function() {};\\n\\n/**\\n * Posts a message to the worker thread.\\n * @param {string} message\\n * @return {undefined}\\n */\\nWebWorker.prototype.postMessage = function(message) {};\\n\\n/**\\n * Sent when the worker thread posts a message to its creator.\\n * @type {?function(!MessageEvent<*>)}\\n */\\nWebWorker.prototype.onmessage;\\n\\n/**\\n * Sent when the worker thread encounters an error.\\n * TODO(tbreisacher): Should this change to function(!ErrorEvent)?\\n * @type {?function(!Event)}\\n */\\nWebWorker.prototype.onerror;\\n\\n/**\\n * @see http://dev.w3.org/html5/workers/\\n * @constructor\\n * @implements {EventTarget}\\n */\\nfunction Worker(opt_arg0) {}\\n\\n/**\\n * @param {boolean=} opt_useCapture\\n * @override\\n * @return {undefined}\\n */\\nWorker.prototype.addEventListener = function(\\n    type, listener, opt_useCapture) {};\\n\\n/**\\n * @param {boolean=} opt_useCapture\\n * @override\\n * @return {undefined}\\n */\\nWorker.prototype.removeEventListener = function(\\n    type, listener, opt_useCapture) {};\\n\\n/**\\n * @override\\n * @return {boolean}\\n */\\nWorker.prototype.dispatchEvent = function(evt) {};\\n\\n/**\\n * Stops the worker process\\n * @return {undefined}\\n */\\nWorker.prototype.terminate = function() {};\\n\\n/**\\n * Posts a message to the worker thread.\\n * @param {*} message\\n * @param {Array<!Transferable>=} opt_transfer\\n * @return {undefined}\\n */\\nWorker.prototype.postMessage = function(message, opt_transfer) {};\\n\\n/**\\n * Posts a message to the worker thread.\\n * @param {*} message\\n * @param {Array<!Transferable>=} opt_transfer\\n * @return {undefined}\\n */\\nWorker.prototype.webkitPostMessage = function(message, opt_transfer) {};\\n\\n/**\\n * Sent when the worker thread posts a message to its creator.\\n * @type {?function(!MessageEvent<*>)}\\n */\\nWorker.prototype.onmessage;\\n\\n/**\\n * Sent when the worker thread encounters an error.\\n * TODO(tbreisacher): Should this change to function(!ErrorEvent)?\\n * @type {?function(!Event)}\\n */\\nWorker.prototype.onerror;\\n\\n/**\\n * @see http://dev.w3.org/html5/workers/\\n * @param {string} scriptURL The URL of the script to run in the SharedWorker.\\n * @param {string=} opt_name A name that can later be used to obtain a\\n *     reference to the same SharedWorker.\\n * @constructor\\n * @implements {EventTarget}\\n */\\nfunction SharedWorker(scriptURL, opt_name) {}\\n\\n/**\\n * @param {boolean=} opt_useCapture\\n * @override\\n * @return {undefined}\\n */\\nSharedWorker.prototype.addEventListener = function(\\n    type, listener, opt_useCapture) {};\\n\\n/**\\n * @param {boolean=} opt_useCapture\\n * @override\\n * @return {undefined}\\n */\\nSharedWorker.prototype.removeEventListener = function(\\n    type, listener, opt_useCapture) {};\\n\\n/**\\n * @override\\n * @return {boolean}\\n */\\nSharedWorker.prototype.dispatchEvent = function(evt) {};\\n\\n/**\\n * @type {!MessagePort}\\n */\\nSharedWorker.prototype.port;\\n\\n/**\\n * Called on network errors for loading the initial script.\\n * TODO(tbreisacher): Should this change to function(!ErrorEvent)?\\n * @type {?function(!Event)}\\n */\\nSharedWorker.prototype.onerror;\\n\\n/**\\n * @see http://dev.w3.org/html5/workers/\\n * @see http://www.w3.org/TR/url-1/#dom-urlutilsreadonly\\n * @interface\\n */\\nfunction WorkerLocation() {}\\n\\n/** @type {string} */\\nWorkerLocation.prototype.href;\\n\\n/** @type {string} */\\nWorkerLocation.prototype.origin;\\n\\n/** @type {string} */\\nWorkerLocation.prototype.protocol;\\n\\n/** @type {string} */\\nWorkerLocation.prototype.host;\\n\\n/** @type {string} */\\nWorkerLocation.prototype.hostname;\\n\\n/** @type {string} */\\nWorkerLocation.prototype.port;\\n\\n/** @type {string} */\\nWorkerLocation.prototype.pathname;\\n\\n/** @type {string} */\\nWorkerLocation.prototype.search;\\n\\n/** @type {string} */\\nWorkerLocation.prototype.hash;\\n\\n/**\\n * @see http://dev.w3.org/html5/workers/\\n * @interface\\n * @extends {EventTarget}\\n */\\nfunction WorkerGlobalScope() {}\\n\\n/** @type {WorkerGlobalScope} */\\nWorkerGlobalScope.prototype.self;\\n\\n/** @type {WorkerLocation} */\\nWorkerGlobalScope.prototype.location;\\n\\n/**\\n * Closes the worker represented by this WorkerGlobalScope.\\n * @return {undefined}\\n */\\nWorkerGlobalScope.prototype.close = function() {};\\n\\n/**\\n * Sent when the worker encounters an error.\\n * @type {?function(!Event)}\\n */\\nWorkerGlobalScope.prototype.onerror;\\n\\n/**\\n * Sent when the worker goes offline.\\n * @type {?function(!Event)}\\n */\\nWorkerGlobalScope.prototype.onoffline;\\n\\n/**\\n * Sent when the worker goes online.\\n * @type {?function(!Event)}\\n */\\nWorkerGlobalScope.prototype.ononline;\\n\\n/**\\n * @see http://dev.w3.org/html5/workers/\\n * @interface\\n * @extends {WorkerGlobalScope}\\n */\\nfunction DedicatedWorkerGlobalScope() {}\\n\\n/**\\n * Posts a message to creator of this worker.\\n * @param {*} message\\n * @param {Array<!Transferable>=} opt_transfer\\n * @return";
a.a+=" {undefined}\\n */\\nDedicatedWorkerGlobalScope.prototype.postMessage =\\n    function(message, opt_transfer) {};\\n\\n/**\\n * Posts a message to creator of this worker.\\n * @param {*} message\\n * @param {Array<!Transferable>=} opt_transfer\\n * @return {undefined}\\n */\\nDedicatedWorkerGlobalScope.prototype.webkitPostMessage =\\n    function(message, opt_transfer) {};\\n\\n/**\\n * Sent when the creator posts a message to this worker.\\n * @type {?function(!MessageEvent<*>)}\\n */\\nDedicatedWorkerGlobalScope.prototype.onmessage;\\n\\n/**\\n * @see http://dev.w3.org/html5/workers/\\n * @interface\\n * @extends {WorkerGlobalScope}\\n */\\nfunction SharedWorkerGlobalScope() {}\\n\\n/** @type {string} */\\nSharedWorkerGlobalScope.prototype.name;\\n\\n/**\\n * Sent when a connection to this worker is opened.\\n * @type {?function(!Event)}\\n */\\nSharedWorkerGlobalScope.prototype.onconnect;\\n\\n/** @type {Element} */\\nHTMLElement.prototype.contextMenu;\\n\\n/** @type {boolean} */\\nHTMLElement.prototype.draggable;\\n\\n/**\\n * This is actually a DOMSettableTokenList property. However since that\\n * interface isn't currently defined and no known browsers implement this\\n * feature, just define the property for now.\\n *\\n * @const\\n * @type {Object}\\n */\\nHTMLElement.prototype.dropzone;\\n\\n/**\\n * @see http://www.w3.org/TR/html5/dom.html#dom-getelementsbyclassname\\n * @param {string} classNames\\n * @return {!NodeList<!Element>}\\n * @nosideeffects\\n */\\nHTMLElement.prototype.getElementsByClassName = function(classNames) {};\\n// NOTE: Document.prototype.getElementsByClassName is in gecko_dom.js\\n\\n/** @type {boolean} */\\nHTMLElement.prototype.hidden;\\n\\n/** @type {boolean} */\\nHTMLElement.prototype.spellcheck;\\n\\n/**\\n * @see https://dom.spec.whatwg.org/#dictdef-getrootnodeoptions\\n * @typedef {{\\n *   composed: boolean\\n * }}\\n */\\nvar GetRootNodeOptions;\\n\\n/**\\n * @see https://dom.spec.whatwg.org/#dom-node-getrootnode\\n * @param {GetRootNodeOptions=} opt_options\\n * @return {?Node}\\n */\\nNode.prototype.getRootNode = function(opt_options) {};\\n\\n/**\\n * @see http://www.w3.org/TR/components-intro/\\n * @return {!ShadowRoot}\\n */\\nHTMLElement.prototype.createShadowRoot;\\n\\n/**\\n * @see http://www.w3.org/TR/components-intro/\\n * @return {!ShadowRoot}\\n */\\nHTMLElement.prototype.webkitCreateShadowRoot;\\n\\n/**\\n * @see http://www.w3.org/TR/shadow-dom/\\n * @type {ShadowRoot}\\n */\\nHTMLElement.prototype.shadowRoot;\\n\\n/**\\n * @see http://www.w3.org/TR/shadow-dom/\\n * @return {!NodeList<!Node>}\\n */\\nHTMLElement.prototype.getDestinationInsertionPoints = function() {};\\n\\n/**\\n * @see http://www.w3.org/TR/components-intro/\\n * @type {function()}\\n */\\nHTMLElement.prototype.createdCallback;\\n\\n/**\\n * @see http://w3c.github.io/webcomponents/explainer/#lifecycle-callbacks\\n * @type {function()}\\n */\\nHTMLElement.prototype.attachedCallback;\\n\\n/**\\n * @see http://w3c.github.io/webcomponents/explainer/#lifecycle-callbacks\\n * @type {function()}\\n */\\nHTMLElement.prototype.detachedCallback;\\n\\n/** @type {string} */\\nHTMLAnchorElement.prototype.download;\\n\\n/** @type {string} */\\nHTMLAnchorElement.prototype.hash;\\n\\n/** @type {string} */\\nHTMLAnchorElement.prototype.host;\\n\\n/** @type {string} */\\nHTMLAnchorElement.prototype.hostname;\\n\\n/** @type {string} */\\nHTMLAnchorElement.prototype.pathname;\\n\\n/**\\n * The 'ping' attribute is known to be supported in recent versions (as of\\n * mid-2014) of Chrome, Safari, and Firefox, and is not supported in any\\n * current version of Internet Explorer.\\n *\\n * @type {string}\\n * @see http://www.whatwg.org/specs/web-apps/current-work/multipage/semantics.html#hyperlink-auditing\\n */\\nHTMLAnchorElement.prototype.ping;\\n\\n/** @type {string} */\\nHTMLAnchorElement.prototype.port;\\n\\n/** @type {string} */\\nHTMLAnchorElement.prototype.protocol;\\n\\n/** @type {string} */\\nHTMLAnchorElement.prototype.search;\\n\\n/** @type {string} */\\nHTMLAreaElement.prototype.download;\\n\\n/**\\n * @type {string}\\n * @see http://www.whatwg.org/specs/web-apps/current-work/multipage/semantics.html#hyperlink-auditing\\n */\\nHTMLAreaElement.prototype.ping;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/html-markup/iframe.html#iframe.attrs.srcdoc\\n */\\nHTMLIFrameElement.prototype.srcdoc;\\n\\n/**\\n * @type {?string}\\n * @see http://www.w3.org/TR/2012/WD-html5-20121025/the-iframe-element.html#attr-iframe-sandbox\\n */\\nHTMLIFrameElement.prototype.sandbox;\\n\\n/** @type {string} */\\nHTMLInputElement.prototype.autocomplete;\\n\\n/** @type {string} */\\nHTMLInputElement.prototype.dirname;\\n\\n/** @type {FileList} */\\nHTMLInputElement.prototype.files;\\n\\n/**\\n * @type {boolean}\\n * @see https://www.w3.org/TR/html5/forms.html#dom-input-indeterminate\\n */\\nHTMLInputElement.prototype.indeterminate;\\n\\n/** @type {string} */\\nHTMLInputElement.prototype.list;\\n\\n/** @implicitCast @type {string} */\\nHTMLInputElement.prototype.max;\\n\\n/** @implicitCast @type {string} */\\nHTMLInputElement.prototype.min;\\n\\n/** @type {string} */\\nHTMLInputElement.prototype.pattern;\\n\\n/** @type {boolean} */\\nHTMLInputElement.prototype.multiple;\\n\\n/** @type {string} */\\nHTMLInputElement.prototype.placeholder;\\n\\n/** @type {boolean} */\\nHTMLInputElement.prototype.required;\\n\\n/** @implicitCast @type {string} */\\nHTMLInputElement.prototype.step;\\n\\n/** @type {Date} */\\nHTMLInputElement.prototype.valueAsDate;\\n\\n/** @type {number} */\\nHTMLInputElement.prototype.valueAsNumber;\\n\\n/**\\n * Changes the form control's value by the value given in the step attribute\\n * multiplied by opt_n.\\n * @param {number=} opt_n step multiplier.  Defaults to 1.\\n * @return {undefined}\\n */\\nHTMLInputElement.prototype.stepDown = function(opt_n) {};\\n\\n/**\\n * Changes the form control's value by the value given in the step attribute\\n * multiplied by opt_n.\\n * @param {number=} opt_n step multiplier.  Defaults to 1.\\n * @return {undefined}\\n */\\nHTMLInputElement.prototype.stepUp = function(opt_n) {};\\n\\n\\n\\n/**\\n * @constructor\\n * @extends {HTMLElement}\\n * @see https://developer.mozilla.org/en-US/docs/Web/API/HTMLMediaElement\\n */\\nfunction HTMLMediaElement() {}\\n\\n/**\\n * @type {number}\\n * @const\\n */\\nHTMLMediaElement.HAVE_NOTHING;  // = 0\\n\\n/**\\n * @type {number}\\n * @const\\n */\\nHTMLMediaElement.HAVE_METADATA;  // = 1\\n\\n/**\\n * @type {number}\\n * @const\\n */\\nHTMLMediaElement.HAVE_CURRENT_DATA;  // = 2\\n\\n/**\\n * @type {number}\\n * @const\\n */\\nHTMLMediaElement.HAVE_FUTURE_DATA;  // = 3\\n\\n/**\\n * @type {number}\\n * @const\\n */\\nHTMLMediaElement.HAVE_ENOUGH_DATA;  // = 4\\n\\n/** @type {MediaError} */\\nHTMLMediaElement.prototype.error;\\n\\n/** @type {string} */\\nHTMLMediaElement.prototype.src;\\n\\n/** @type {string} */\\nHTMLMediaElement.prototype.currentSrc;\\n\\n/** @type {number} */\\nHTMLMediaElement.prototype.networkState;\\n\\n/** @type {boolean} */\\nHTMLMediaElement.prototype.autobuffer;\\n\\n/** @type {TimeRanges} */\\nHTMLMediaElement.prototype.buffered;\\n\\n/**\\n * Loads the media element.\\n * @return {undefined}\\n */\\nHTMLMediaElement.prototype.load = function() {};\\n\\n/**\\n * @param {string} type Type of the element in question in question.\\n * @return {string} Whether it can play the type.\\n * @nosideeffects\\n */\\nHTMLMediaElement.prototype.canPlayType = function(type) {};\\n\\n/** Event handlers */\\n\\n/** @type {?function(Event)} */\\nHTMLMediaElement.prototype.onabort;\\n\\n/** @type {?function(!Event)} */\\nHTMLMediaElement.prototype.oncanplay;\\n\\n/** @type {?function(!Event)} */\\nHTMLMediaElement.prototype.oncanplaythrough;\\n\\n/** @type {?function(!Event)} */\\nHTMLMediaElement.prototype.ondurationchange;\\n\\n/** @type {?function(!Event)} */\\nHTMLMediaElement.prototype.onemptied;\\n\\n/** @type {?function(!Event)} */\\nHTMLMediaElement.prototype.onended;\\n\\n/** @type {?function(Event)} */\\nHTMLMediaElement.prototype.onerror;\\n\\n/** @type {?function(!Event)} */\\nHTMLMediaElement.prototype.onloadeddata;\\n\\n/** @type {?function(!Event)} */\\nHTMLMediaElement.prototype.onloadedmetadata;\\n\\n/** @type {?function(!Event)} */\\nHTMLMediaElement.prototype.onloadstart;\\n\\n/** @type {?function(!Event)} */\\nHTMLMediaElement.prototype.onpause;\\n\\n/** @type {?function(!Event)} */\\nHTMLMediaElement.prototype.onplay;\\n\\n/** @type {?function(!Event)} */\\nHTMLMediaElement.prototype.onplaying;\\n\\n/** @type {?function(!Event)} */\\nHTMLMediaElement.prototype.onprogress;\\n\\n/** @type {?function(!Event)} */\\nHTMLMediaElement.prototype.onratechange;\\n\\n/** @type {?function(!Event)} */\\nHTMLMediaElement.prototype.onseeked;\\n\\n/** @type {?function(!Event)} */\\nHTMLMediaElement.prototype.onseeking;\\n\\n/** @type {?function(!Event)} */\\nHTMLMediaElement.prototype.onstalled;\\n\\n/** @type {?function(!Event)} */\\nHTMLMediaElement.prototype.onsuspend;\\n\\n/** @type {?function(!Event)} */\\nHTMLMediaElement.prototype.ontimeupdate;\\n\\n/** @type {?function(!Event)} */\\nHTMLMediaElement.prototype.onvolumechange;\\n\\n/** @type {?function(!Event)} */\\nHTMLMediaElement.prototype.onwaiting;\\n\\n/** @type {?function(Event)} */\\nHTMLImageElement.prototype.onload;\\n\\n/** @type {?function(Event)} */\\nHTMLImageElement.prototype.onerror;\\n\\n/** @type {number} */\\nHTMLMediaElement.prototype.readyState;\\n\\n/** @type {boolean} */\\nHTMLMediaElement.prototype.seeking;\\n\\n/**\\n * The current time, in seconds.\\n * @type {number}\\n */\\nHTMLMediaElement.prototype.currentTime;\\n\\n/**\\n * The absolute timeline offset.\\n * @return {!Date}\\n */\\nHTMLMediaElement.prototype.getStartDate = function() {};\\n\\n/**\\n * The length of the media in seconds.\\n * @type {number}\\n */\\nHTMLMediaElement.prototype.duration;\\n\\n/** @type {boolean} */\\nHTMLMediaElement.prototype.paused;\\n\\n/** @type {number} */\\nHTMLMediaElement.prototype.defaultPlaybackRate;\\n\\n/** @type {number} */\\nHTMLMediaElement.prototype.playbackRate;\\n\\n/** @type {TimeRanges} */\\nHTMLMediaElement.prototype.played;\\n\\n/** @type {TimeRanges} */\\nHTMLMediaElement.prototype.seekable;\\n\\n/** @type {boolean} */\\nHTMLMediaElement.prototype.ended;\\n\\n/** @type {boolean} */\\nHTMLMediaElement.prototype.autoplay;\\n\\n/** @type {boolean} */\\nHTMLMediaElement.prototype.loop;\\n\\n/**\\n * Starts playing the media.\\n * @return {undefined}\\n */\\nHTMLMediaElement.prototype.play = function() {};\\n\\n/**\\n * Pauses the media.\\n * @return {undefined}\\n */\\nHTMLMediaElement.prototype.pause = function() {};\\n\\n/** @type {boolean} */\\nHTMLMediaElement.prototype.controls;\\n\\n/**\\n * The audio volume, from 0.0 (silent) to 1.0 (loudest).\\n * @type {number}\\n */\\nHTMLMediaElement.prototype.volume;\\n\\n/** @type {boolean} */\\nHTMLMediaElement.prototype.muted;\\n\\n/**\\n * @see http://www.whatwg.org/specs/web-apps/current-work/multipage/the-video-element.html#dom-media-addtexttrack\\n * @param {string} kind Kind of the text track.\\n * @param {string=} opt_label Label of the text track.\\n * @param {string=} opt_language Language of the text track.\\n * @return {TextTrack} TextTrack object added to the media element.\\n */\\nHTMLMediaElement.prototype.addTextTrack =\\n    function(kind, opt_label, opt_language) {};\\n\\n/** @type {TextTrackList} */\\nHTMLMediaElement.prototype.textTracks;\\n\\n\\n/**\\n * @see http://www.w3.org/TR/shadow-dom/\\n * @return {!NodeList<!Node>}\\n */\\nText.prototype.getDestinationInsertionPoints = function() {};\\n\\n\\n/**\\n * @see http://www.whatwg.org/specs/web-apps/current-work/multipage/the-video-element.html#texttracklist\\n * @constructor\\n * @implements {IArrayLike<!TextTrack>}\\n */\\nfunction TextTrackList() {}\\n\\n/** @type {number} */\\nTextTrackList.prototype.length;\\n\\n/**\\n * @param {string} id\\n * @return {TextTrack}\\n */\\nTextTrackList.prototype.getTrackById = function(id) {};\\n\\n\\n/**\\n * @see http://www.whatwg.org/specs/web-apps/current-work/multipage/the-video-element.html#texttrack\\n * @constructor\\n * @implements {EventTarget}\\n */\\nfunction TextTrack() {}\\n\\n/**\\n * @param {TextTrackCue} cue\\n * @return {undefined}\\n */\\nTextTrack.prototype.addCue = function(cue) {};\\n\\n/**\\n * @param {TextTrackCue} cue\\n * @return {undefined}\\n */\\nTextTrack.prototype.removeCue = function(cue) {};\\n\\n/**\\n * @const {TextTrackCueList}\\n */\\nTextTrack.prototype.activeCues;\\n\\n/**\\n * @const {TextTrackCueList}\\n */\\nTextTrack.prototype.cues;\\n\\n/**\\n * @type {string}\\n */\\nTextTrack.prototype.mode;\\n\\n/**\\n * @override\\n * @return {undefined}\\n */\\nTextTrack.prototype.addEventListener = function(type, listener, useCapture) {};\\n\\n/**\\n * @override\\n * @return {boolean}\\n */\\nTextTrack.prototype.dispatchEvent = function(evt) {};\\n\\n/**\\n * @override\\n * @return {undefined}\\n */\\nTextTrack.prototype.removeEventListener = function(type, listener, useCapture)\\n    {};\\n\\n\\n\\n/**\\n * @see http://www.whatwg.org/specs/web-apps/current-work/multipage/the-video-element.html#texttrackcuelist\\n * @constructor\\n * @implements {IArrayLike<!TextTrackCue>}\\n */\\nfunction TextTrackCueList() {}\\n\\n/** @const {number} */\\nTextTrackCueList.prototype.length;\\n\\n/**\\n * @param {string} id\\n * @return {TextTrackCue}\\n */\\nTextTrackCueList.prototype.getCueById = function(id) {};\\n\\n\\n\\n/**\\n * @see http://www.whatwg.org/specs/web-apps/current-work/multipage/the-video-element.html#texttrackcue\\n * @constructor\\n * @param {number} startTime\\n * @param {number} endTime\\n * @param {string} text\\n */\\nfunction TextTrackCue(startTime, endTime, text) {}\\n\\n/** @type {string} */\\nTextTrackCue.prototype.id;\\n\\n/** @type {number} */\\nTextTrackCue.prototype.startTime;\\n\\n/** @type {number} */\\nTextTrackCue.prototype.endTime;\\n\\n/** @type {string} */\\nTextTrackCue.prototype.text;\\n\\n\\n/**\\n * @see http://dev.w3.org/html5/webvtt/#the-vttcue-interface\\n * @constructor\\n * @extends {TextTrackCue}\\n */\\nfunction VTTCue(startTime, endTime, text) {}\\n\\n\\n/**\\n * @constructor\\n * @extends {HTMLMediaElement}\\n */\\nfunction HTMLAudioElement() {}\\n\\n/**\\n * @constructor\\n * @extends {HTMLMediaElement}\\n * The webkit-prefixed attributes are defined in\\n * https://code.google.com/p/chromium/codesearch#chromium/src/third_party/WebKit/Source/core/html/HTMLVideoElement.idl\\n */\\nfunction HTMLVideoElement() {}\\n\\n/**\\n * Starts displaying the video in full screen mode.\\n * @return {undefined}\\n */\\nHTMLVideoElement.prototype.webkitEnterFullscreen = function() {};\\n\\n/**\\n * Starts displaying the video in full screen mode.\\n * @return {undefined}\\n */\\nHTMLVideoElement.prototype.webkitEnterFullScreen = function() {};\\n\\n/**\\n * Stops displaying the video in full screen mode.\\n * @return {undefined}\\n */\\nHTMLVideoElement.prototype.webkitExitFullscreen = function() {};\\n\\n/**\\n * Stops displaying the video in full screen mode.\\n * @return {undefined}\\n */\\nHTMLVideoElement.prototype.webkitExitFullScreen = function() {};\\n\\n/** @type {number} */\\nHTMLVideoElement.prototype.width;\\n\\n/** @type {number} */\\nHTMLVideoElement.prototype.height;\\n\\n/** @type {number} */\\nHTMLVideoElement.prototype.videoWidth;\\n\\n/** @type {number} */\\nHTMLVideoElement.prototype.videoHeight;\\n\\n/** @type {string} */\\nHTMLVideoElement.prototype.poster;\\n\\n/** @type {boolean} */\\nHTMLVideoElement.prototype.webkitSupportsFullscreen;\\n\\n/** @type {boolean} */\\nHTMLVideoElement.prototype.webkitDisplayingFullscreen;\\n\\n/** @type {number} */\\nHTMLVideoElement.prototype.webkitDecodedFrameCount;\\n\\n/** @type {number} */\\nHTMLVideoElement.prototype.webkitDroppedFrameCount;\\n\\n/**\\n * @typedef {{\\n *    creationTime: number,\\n *    totalVideoFrames: number,\\n *    droppedVideoFrames: number,\\n *    corruptedVideoFrames: number,\\n *    totalFrameDelay: number\\n * }}\\n */\\nvar VideoPlaybackQuality;\\n\\n/**\\n * @see https://w3c.github.io/media-source/#htmlvideoelement-extensions\\n * @return {!VideoPlaybackQuality} Stats about the current playback.\\n */\\nHTMLVideoElement.prototype.getVideoPlaybackQuality = function() {};\\n\\n\\n/**\\n * @constructor\\n */\\nfunction MediaError() {}\\n\\n/** @type {number} */\\nMediaError.prototype.code;\\n\\n// HTML5 MessageChannel\\n/**\\n * @see http://dev.w3.org/html5/spec/comms.html#messagechannel\\n * @constructor\\n */\\nfunction MessageChannel() {}\\n\\n/**\\n * Returns the first port.\\n * @type {!MessagePort}\\n */\\nMessageChannel.prototype.port1;\\n\\n/**\\n * Returns the second port.\\n * @type {!MessagePort}\\n */\\nMessageChannel.prototype.port2;\\n\\n// HTML5 MessagePort\\n/**\\n * @see http://dev.w3.org/html5/spec/comms.html#messageport\\n * @constructor\\n * @implements {EventTarget}\\n * @implements {Transferable}\\n */\\nfunction MessagePort() {}\\n\\n/**\\n * @param {boolean=} opt_";
a.a+="useCapture\\n * @override\\n * @return {undefined}\\n */\\nMessagePort.prototype.addEventListener = function(\\n    type, listener, opt_useCapture) {};\\n\\n/**\\n * @param {boolean=} opt_useCapture\\n * @override\\n * @return {undefined}\\n */\\nMessagePort.prototype.removeEventListener = function(\\n    type, listener, opt_useCapture) {};\\n\\n/**\\n * @override\\n * @return {boolean}\\n */\\nMessagePort.prototype.dispatchEvent = function(evt) {};\\n\\n\\n/**\\n * Posts a message through the channel, optionally with the given\\n * Array of Transferables.\\n * @param {*} message\\n * @param {Array<!Transferable>=} opt_transfer\\n * @return {undefined}\\n */\\nMessagePort.prototype.postMessage = function(message, opt_transfer) {\\n};\\n\\n/**\\n * Begins dispatching messages received on the port.\\n * @return {undefined}\\n */\\nMessagePort.prototype.start = function() {};\\n\\n/**\\n * Disconnects the port, so that it is no longer active.\\n * @return {undefined}\\n */\\nMessagePort.prototype.close = function() {};\\n\\n/**\\n * TODO(blickly): Change this to MessageEvent<*> and add casts as needed\\n * @type {?function(!MessageEvent<?>)}\\n */\\nMessagePort.prototype.onmessage;\\n\\n// HTML5 MessageEvent class\\n/**\\n * @see http://dev.w3.org/html5/spec/comms.html#messageevent\\n * @constructor\\n * @extends {Event}\\n * @template T\\n */\\nfunction MessageEvent() {}\\n\\n/**\\n * The data payload of the message.\\n * @type {T}\\n */\\nMessageEvent.prototype.data;\\n\\n/**\\n * The origin of the message, for server-sent events and cross-document\\n * messaging.\\n * @type {string}\\n */\\nMessageEvent.prototype.origin;\\n\\n/**\\n * The last event ID, for server-sent events.\\n * @type {string}\\n */\\nMessageEvent.prototype.lastEventId;\\n\\n/**\\n * The window that dispatched the event.\\n * @type {Window}\\n */\\nMessageEvent.prototype.source;\\n\\n/**\\n * The Array of MessagePorts sent with the message, for cross-document\\n * messaging and channel messaging.\\n * @type {Array<MessagePort>}\\n */\\nMessageEvent.prototype.ports;\\n\\n/**\\n * Initializes the event in a manner analogous to the similarly-named methods in\\n * the DOM Events interfaces.\\n * @param {string} typeArg\\n * @param {boolean} canBubbleArg\\n * @param {boolean} cancelableArg\\n * @param {T} dataArg\\n * @param {string} originArg\\n * @param {string} lastEventIdArg\\n * @param {Window} sourceArg\\n * @param {Array<MessagePort>} portsArg\\n * @return {undefined}\\n */\\nMessageEvent.prototype.initMessageEvent = function(typeArg, canBubbleArg,\\n    cancelableArg, dataArg, originArg, lastEventIdArg, sourceArg, portsArg) {};\\n\\n/**\\n * Initializes the event in a manner analogous to the similarly-named methods in\\n * the DOM Events interfaces.\\n * @param {string} namespaceURI\\n * @param {string} typeArg\\n * @param {boolean} canBubbleArg\\n * @param {boolean} cancelableArg\\n * @param {T} dataArg\\n * @param {string} originArg\\n * @param {string} lastEventIdArg\\n * @param {Window} sourceArg\\n * @param {Array<MessagePort>} portsArg\\n * @return {undefined}\\n */\\nMessageEvent.prototype.initMessageEventNS = function(namespaceURI, typeArg,\\n    canBubbleArg, cancelableArg, dataArg, originArg, lastEventIdArg, sourceArg,\\n    portsArg) {};\\n\\n/**\\n * HTML5 BroadcastChannel class.\\n * @param {string} channelName\\n * @see https://developer.mozilla.org/en-US/docs/Web/API/BroadcastChannel\\n * @see https://html.spec.whatwg.org/multipage/comms.html#dom-broadcastchannel\\n * @implements {EventTarget}\\n * @constructor\\n */\\nfunction BroadcastChannel(channelName) {}\\n\\n/**\\n * Sends the message, of any type of object, to each BroadcastChannel object\\n * listening to the same channel.\\n * @param {*} message\\n */\\nBroadcastChannel.prototype.postMessage;\\n\\n/**\\n * Closes the channel object, indicating it won't get any new messages, and\\n * allowing it to be, eventually, garbage collected.\\n * @return {void}\\n */\\nBroadcastChannel.prototype.close;\\n\\n/** @override */\\nBroadcastChannel.prototype.addEventListener = function(\\n    type, listener, useCapture) {};\\n\\n/** @override */\\nBroadcastChannel.prototype.dispatchEvent = function(evt) {};\\n\\n/** @override */\\nBroadcastChannel.prototype.removeEventListener = function(\\n    type, listener, useCapture) {};\\n\\n/**\\n * An EventHandler property that specifies the function to execute when a\\n * message event is fired on this object.\\n * @type {?function(!MessageEvent<*>)}\\n */\\nBroadcastChannel.prototype.onmessage;\\n\\n/**\\n * The name of the channel.\\n * @type {string}\\n */\\nBroadcastChannel.prototype.name;\\n\\n/**\\n * HTML5 DataTransfer class.\\n *\\n * We say that this extends ClipboardData, because Event.prototype.clipboardData\\n * is a DataTransfer on WebKit but a ClipboardData on IE. The interfaces are so\\n * similar that it's easier to merge them.\\n *\\n * @see http://www.w3.org/TR/2011/WD-html5-20110113/dnd.html\\n * @see http://www.whatwg.org/specs/web-apps/current-work/multipage/dnd.html\\n * @see http://developers.whatwg.org/dnd.html#datatransferitem\\n * @constructor\\n * @extends {ClipboardData}\\n */\\nfunction DataTransfer() {}\\n\\n/** @type {string} */\\nDataTransfer.prototype.dropEffect;\\n\\n/** @type {string} */\\nDataTransfer.prototype.effectAllowed;\\n\\n/** @type {Array<string>} */\\nDataTransfer.prototype.types;\\n\\n/** @type {FileList} */\\nDataTransfer.prototype.files;\\n\\n/**\\n * @param {string=} opt_format Format for which to remove data.\\n * @override\\n * @return {undefined}\\n */\\nDataTransfer.prototype.clearData = function(opt_format) {};\\n\\n/**\\n * @param {string} format Format for which to set data.\\n * @param {string} data Data to add.\\n * @override\\n * @return {boolean}\\n */\\nDataTransfer.prototype.setData = function(format, data) {};\\n\\n/**\\n * @param {string} format Format for which to set data.\\n * @return {string} Data for the given format.\\n * @override\\n */\\nDataTransfer.prototype.getData = function(format) { return ''; };\\n\\n/**\\n * @param {HTMLElement} img The image to use when dragging.\\n * @param {number} x Horizontal position of the cursor.\\n * @param {number} y Vertical position of the cursor.\\n * @return {undefined}\\n */\\nDataTransfer.prototype.setDragImage = function(img, x, y) {};\\n\\n/**\\n * @param {HTMLElement} elem Element to receive drag result events.\\n * @return {undefined}\\n */\\nDataTransfer.prototype.addElement = function(elem) {};\\n\\n/**\\n * Addition for accessing clipboard file data that are part of the proposed\\n * HTML5 spec.\\n * @type {DataTransfer}\\n */\\nMouseEvent.prototype.dataTransfer;\\n\\n/**\\n * @typedef {{\\n *   bubbles: (boolean|undefined),\\n *   cancelable: (boolean|undefined),\\n *   view: (Window|undefined),\\n *   detail: (number|undefined),\\n *   screenX: (number|undefined),\\n *   screenY: (number|undefined),\\n *   clientX: (number|undefined),\\n *   clientY: (number|undefined),\\n *   ctrlKey: (boolean|undefined),\\n *   shiftKey: (boolean|undefined),\\n *   altKey: (boolean|undefined),\\n *   metaKey: (boolean|undefined),\\n *   button: (number|undefined),\\n *   buttons: (number|undefined),\\n *   relatedTarget: (EventTarget|undefined),\\n *   deltaX: (number|undefined),\\n *   deltaY: (number|undefined),\\n *   deltaZ: (number|undefined),\\n *   deltaMode: (number|undefined)\\n * }}\\n */\\nvar WheelEventInit;\\n\\n/**\\n * @param {string} type\\n * @param {WheelEventInit=} opt_eventInitDict\\n * @see http://www.w3.org/TR/DOM-Level-3-Events/#interface-WheelEvent\\n * @constructor\\n * @extends {MouseEvent}\\n */\\nfunction WheelEvent(type, opt_eventInitDict) {}\\n\\n/** @type {number} */\\nWheelEvent.DOM_DELTA_PIXEL;\\n\\n/** @type {number} */\\nWheelEvent.DOM_DELTA_LINE;\\n\\n/** @type {number} */\\nWheelEvent.DOM_DELTA_PAGE;\\n\\n/** @const {number} */\\nWheelEvent.prototype.deltaX;\\n\\n/** @const {number} */\\nWheelEvent.prototype.deltaY;\\n\\n/** @const {number} */\\nWheelEvent.prototype.deltaZ;\\n\\n/** @const {number} */\\nWheelEvent.prototype.deltaMode;\\n\\n/**\\n * HTML5 DataTransferItem class.\\n *\\n * @see http://www.w3.org/TR/2011/WD-html5-20110113/dnd.html\\n * @see http://www.whatwg.org/specs/web-apps/current-work/multipage/dnd.html\\n * @see http://developers.whatwg.org/dnd.html#datatransferitem\\n * @constructor\\n */\\nfunction DataTransferItem() {}\\n\\n/** @type {string} */\\nDataTransferItem.prototype.kind;\\n\\n/** @type {string} */\\nDataTransferItem.prototype.type;\\n\\n/**\\n * @param {function(string)} callback\\n * @return {undefined}\\n */\\nDataTransferItem.prototype.getAsString = function(callback) {};\\n\\n/**\\n * @return {?File} The file corresponding to this item, or null.\\n * @nosideeffects\\n */\\nDataTransferItem.prototype.getAsFile = function() { return null; };\\n\\n/**\\n * @return {?Entry} The Entry corresponding to this item, or null. Note that\\n * despite its name,this method only works in Chrome, and will eventually\\n * be renamed to {@code getAsEntry}.\\n * @nosideeffects\\n */\\nDataTransferItem.prototype.webkitGetAsEntry = function() { return null; };\\n\\n/**\\n * HTML5 DataTransferItemList class. There are some discrepancies in the docs\\n * on the whatwg.org site. When in doubt, these prototypes match what is\\n * implemented as of Chrome 30.\\n *\\n * @see http://www.w3.org/TR/2011/WD-html5-20110113/dnd.html\\n * @see http://www.whatwg.org/specs/web-apps/current-work/multipage/dnd.html\\n * @see http://developers.whatwg.org/dnd.html#datatransferitem\\n * @constructor\\n * @implements {IArrayLike<!DataTransferItem>}\\n */\\nfunction DataTransferItemList() {}\\n\\n/** @type {number} */\\nDataTransferItemList.prototype.length;\\n\\n/**\\n * @param {number} i File to return from the list.\\n * @return {DataTransferItem} The ith DataTransferItem in the list, or null.\\n * @nosideeffects\\n */\\nDataTransferItemList.prototype.item = function(i) { return null; };\\n\\n/**\\n * Adds an item to the list.\\n * @param {string|!File} data Data for the item being added.\\n * @param {string=} opt_type Mime type of the item being added. MUST be present\\n *     if the {@code data} parameter is a string.\\n * @return {DataTransferItem}\\n */\\nDataTransferItemList.prototype.add = function(data, opt_type) {};\\n\\n/**\\n * Removes an item from the list.\\n * @param {number} i File to remove from the list.\\n * @return {undefined}\\n */\\nDataTransferItemList.prototype.remove = function(i) {};\\n\\n/**\\n * Removes all items from the list.\\n * @return {undefined}\\n */\\nDataTransferItemList.prototype.clear = function() {};\\n\\n/** @type {!DataTransferItemList} */\\nDataTransfer.prototype.items;\\n\\n/**\\n * @typedef {{\\n *   bubbles: (boolean|undefined),\\n *   cancelable: (boolean|undefined),\\n *   view: (Window|undefined),\\n *   detail: (number|undefined),\\n *   screenX: (number|undefined),\\n *   screenY: (number|undefined),\\n *   clientX: (number|undefined),\\n *   clientY: (number|undefined),\\n *   ctrlKey: (boolean|undefined),\\n *   shiftKey: (boolean|undefined),\\n *   altKey: (boolean|undefined),\\n *   metaKey: (boolean|undefined),\\n *   button: (number|undefined),\\n *   buttons: (number|undefined),\\n *   relatedTarget: (EventTarget|undefined),\\n *   dataTransfer: (DataTransfer|undefined)\\n * }}\\n */\\nvar DragEventInit;\\n\\n\\n/**\\n * @see http://www.whatwg.org/specs/web-apps/current-work/multipage/dnd.html#the-dragevent-interface\\n * @constructor\\n * @extends {MouseEvent}\\n * @param {string} type\\n * @param {DragEventInit=} opt_eventInitDict\\n */\\nfunction DragEvent(type, opt_eventInitDict) {}\\n\\n/** @type {DataTransfer} */\\nDragEvent.prototype.dataTransfer;\\n\\n\\n/**\\n * @typedef {{\\n *   lengthComputable: (boolean|undefined),\\n *   loaded: (number|undefined),\\n *   total: (number|undefined)\\n * }}\\n */\\nvar ProgressEventInit;\\n\\n/**\\n * @constructor\\n * @param {string} type\\n * @param {ProgressEventInit=} opt_progressEventInitDict\\n * @extends {Event}\\n * @see https://developer.mozilla.org/en-US/docs/Web/API/ProgressEvent\\n */\\nfunction ProgressEvent(type, opt_progressEventInitDict) {}\\n\\n/** @type {number} */\\nProgressEvent.prototype.total;\\n\\n/** @type {number} */\\nProgressEvent.prototype.loaded;\\n\\n/** @type {boolean} */\\nProgressEvent.prototype.lengthComputable;\\n\\n\\n/**\\n * @constructor\\n */\\nfunction TimeRanges() {}\\n\\n/** @type {number} */\\nTimeRanges.prototype.length;\\n\\n/**\\n * @param {number} index The index.\\n * @return {number} The start time of the range at index.\\n * @throws {DOMException}\\n */\\nTimeRanges.prototype.start = function(index) { return 0; };\\n\\n/**\\n * @param {number} index The index.\\n * @return {number} The end time of the range at index.\\n * @throws {DOMException}\\n */\\nTimeRanges.prototype.end = function(index) { return 0; };\\n\\n\\n// HTML5 Web Socket class\\n/**\\n * @see http://dev.w3.org/html5/websockets/\\n * @constructor\\n * @param {string} url\\n * @param {string=} opt_protocol\\n * @implements {EventTarget}\\n */\\nfunction WebSocket(url, opt_protocol) {}\\n\\n/**\\n * The connection has not yet been established.\\n * @type {number}\\n */\\nWebSocket.CONNECTING = 0;\\n\\n/**\\n * The WebSocket connection is established and communication is possible.\\n * @type {number}\\n */\\nWebSocket.OPEN = 1;\\n\\n/**\\n * The connection is going through the closing handshake, or the close() method has been invoked.\\n * @type {number}\\n */\\nWebSocket.CLOSING = 2;\\n\\n/**\\n * The connection has been closed or could not be opened.\\n * @type {number}\\n */\\nWebSocket.CLOSED = 3;\\n\\n/**\\n * @param {boolean=} opt_useCapture\\n * @override\\n * @return {undefined}\\n */\\nWebSocket.prototype.addEventListener = function(\\n    type, listener, opt_useCapture) {};\\n\\n/**\\n * @param {boolean=} opt_useCapture\\n * @override\\n * @return {undefined}\\n */\\nWebSocket.prototype.removeEventListener = function(\\n    type, listener, opt_useCapture) {};\\n\\n/**\\n * @override\\n * @return {boolean}\\n */\\nWebSocket.prototype.dispatchEvent = function(evt) {};\\n\\n/**\\n * Returns the URL value that was passed to the constructor.\\n * @type {string}\\n */\\nWebSocket.prototype.url;\\n\\n/**\\n * Represents the state of the connection.\\n * @type {number}\\n */\\nWebSocket.prototype.readyState;\\n\\n/**\\n * Returns the number of bytes that have been queued but not yet sent.\\n * @type {number}\\n */\\nWebSocket.prototype.bufferedAmount;\\n\\n/**\\n * An event handler called on open event.\\n * @type {?function(!Event)}\\n */\\nWebSocket.prototype.onopen;\\n\\n/**\\n * An event handler called on message event.\\n * TODO(blickly): Change this to MessageEvent<*> and add casts as needed\\n * @type {?function(!MessageEvent<?>)}\\n */\\nWebSocket.prototype.onmessage;\\n\\n/**\\n * An event handler called on close event.\\n * @type {?function(!Event)}\\n */\\nWebSocket.prototype.onclose;\\n\\n/**\\n * Transmits data using the connection.\\n * @param {string|ArrayBuffer|ArrayBufferView} data\\n * @return {boolean}\\n */\\nWebSocket.prototype.send = function(data) {};\\n\\n/**\\n * Closes the Web Socket connection or connection attempt, if any.\\n * @param {number=} opt_code\\n * @param {string=} opt_reason\\n * @return {undefined}\\n */\\nWebSocket.prototype.close = function(opt_code, opt_reason) {};\\n\\n/**\\n * @type {string} Sets the type of data (blob or arraybuffer) for binary data.\\n */\\nWebSocket.prototype.binaryType;\\n\\n// HTML5 History\\n/**\\n * @constructor\\n */\\nfunction History() {};\\n\\n/**\\n * Pushes a new state into the session history.\\n * @see http://www.w3.org/TR/html5/history.html#the-history-interface\\n * @param {*} data New state.\\n * @param {string} title The title for a new session history entry.\\n * @param {string=} opt_url The URL for a new session history entry.\\n * @return {undefined}\\n */\\nHistory.prototype.pushState = function(data, title, opt_url) {};\\n\\n/**\\n * Replaces the current state in the session history.\\n * @see http://www.w3.org/TR/html5/history.html#the-history-interface\\n * @param {*} data New state.\\n * @param {string} title The title for a session history entry.\\n * @param {string=} opt_url The URL for a new session history entry.\\n * @return {undefined}\\n */\\nHistory.prototype.replaceState = function(data, title, opt_url) {};\\n\\n/**\\n * Pending state object.\\n * @see https://developer.mozilla.org/en-US/docs/Web/Guide/API/DOM/Manipulating_the_browser_history#Reading_the_current_state\\n * @type {*}\\n */\\nHistory.prototype.state;\\n\\n/**\\n * Allows web applications to explicitly set default scroll restoration behavior\\n * on history navigation. This property can be either auto or manual.\\n *\\n * Non-standard. Only supported in Chrome 46+.\\n *\\n * @see https://developer.mozilla.org/en-US/docs/Web/API/History\\n * @see https://majido.github.io/scroll-restoration-pr";
a.a+="oposal/history-based-api.html\\n * @type {string}\\n */\\nHistory.prototype.scrollRestoration;\\n\\n/**\\n * @see http://www.whatwg.org/specs/web-apps/current-work/#popstateevent\\n * @constructor\\n * @extends {Event}\\n *\\n * @param {string} type\\n * @param {{state: *}=} opt_eventInitDict\\n */\\nfunction PopStateEvent(type, opt_eventInitDict) {}\\n\\n/**\\n * @type {*}\\n */\\nPopStateEvent.prototype.state;\\n\\n/**\\n * Initializes the event after it has been created with document.createEvent\\n * @param {string} typeArg\\n * @param {boolean} canBubbleArg\\n * @param {boolean} cancelableArg\\n * @param {*} stateArg\\n * @return {undefined}\\n */\\nPopStateEvent.prototype.initPopStateEvent = function(typeArg, canBubbleArg,\\n    cancelableArg, stateArg) {};\\n\\n/**\\n * @see http://www.whatwg.org/specs/web-apps/current-work/#hashchangeevent\\n * @constructor\\n * @extends {Event}\\n *\\n * @param {string} type\\n * @param {{oldURL: string, newURL: string}=} opt_eventInitDict\\n */\\nfunction HashChangeEvent(type, opt_eventInitDict) {}\\n\\n/** @type {string} */\\nHashChangeEvent.prototype.oldURL;\\n\\n/** @type {string} */\\nHashChangeEvent.prototype.newURL;\\n\\n/**\\n * Initializes the event after it has been created with document.createEvent\\n * @param {string} typeArg\\n * @param {boolean} canBubbleArg\\n * @param {boolean} cancelableArg\\n * @param {string} oldURLArg\\n * @param {string} newURLArg\\n * @return {undefined}\\n */\\nHashChangeEvent.prototype.initHashChangeEvent = function(typeArg, canBubbleArg,\\n    cancelableArg, oldURLArg, newURLArg) {};\\n\\n/**\\n * @see http://www.whatwg.org/specs/web-apps/current-work/#pagetransitionevent\\n * @constructor\\n * @extends {Event}\\n *\\n * @param {string} type\\n * @param {{persisted: boolean}=} opt_eventInitDict\\n */\\nfunction PageTransitionEvent(type, opt_eventInitDict) {}\\n\\n/** @type {boolean} */\\nPageTransitionEvent.prototype.persisted;\\n\\n/**\\n * Initializes the event after it has been created with document.createEvent\\n * @param {string} typeArg\\n * @param {boolean} canBubbleArg\\n * @param {boolean} cancelableArg\\n * @param {*} persistedArg\\n * @return {undefined}\\n */\\nPageTransitionEvent.prototype.initPageTransitionEvent = function(typeArg,\\n    canBubbleArg, cancelableArg, persistedArg) {};\\n\\n/**\\n * @constructor\\n * @implements {IArrayLike<!File>}\\n */\\nfunction FileList() {}\\n\\n/** @type {number} */\\nFileList.prototype.length;\\n\\n/**\\n * @param {number} i File to return from the list.\\n * @return {File} The ith file in the list.\\n * @nosideeffects\\n */\\nFileList.prototype.item = function(i) { return null; };\\n\\n/**\\n * @type {boolean}\\n * @see http://dev.w3.org/2006/webapi/XMLHttpRequest-2/#withcredentials\\n */\\nXMLHttpRequest.prototype.withCredentials;\\n\\n/**\\n * @type {?function(!ProgressEvent): void}\\n * @see https://xhr.spec.whatwg.org/#handler-xhr-onloadstart\\n */\\nXMLHttpRequest.prototype.onloadstart;\\n\\n/**\\n * @type {?function(!ProgressEvent): void}\\n * @see https://dvcs.w3.org/hg/xhr/raw-file/tip/Overview.html#handler-xhr-onprogress\\n */\\nXMLHttpRequest.prototype.onprogress;\\n\\n/**\\n * @type {?function(!ProgressEvent): void}\\n * @see https://xhr.spec.whatwg.org/#handler-xhr-onabort\\n */\\nXMLHttpRequest.prototype.onabort;\\n\\n/**\\n * @type {?function(!ProgressEvent): void}\\n * @see https://xhr.spec.whatwg.org/#handler-xhr-onload\\n */\\nXMLHttpRequest.prototype.onload;\\n\\n/**\\n * @type {?function(!ProgressEvent): void}\\n * @see https://xhr.spec.whatwg.org/#handler-xhr-ontimeout\\n */\\nXMLHttpRequest.prototype.ontimeout;\\n\\n/**\\n * @type {?function(!ProgressEvent): void}\\n * @see https://xhr.spec.whatwg.org/#handler-xhr-onloadend\\n */\\nXMLHttpRequest.prototype.onloadend;\\n\\n/**\\n * @type {XMLHttpRequestUpload}\\n * @see http://dev.w3.org/2006/webapi/XMLHttpRequest-2/#the-upload-attribute\\n */\\nXMLHttpRequest.prototype.upload;\\n\\n/**\\n * @param {string} mimeType The mime type to override with.\\n * @return {undefined}\\n */\\nXMLHttpRequest.prototype.overrideMimeType = function(mimeType) {};\\n\\n/**\\n * @type {string}\\n * @see http://dev.w3.org/2006/webapi/XMLHttpRequest-2/#the-responsetype-attribute\\n */\\nXMLHttpRequest.prototype.responseType;\\n\\n/**\\n * @type {?(ArrayBuffer|Blob|Document|Object|string)}\\n * @see http://dev.w3.org/2006/webapi/XMLHttpRequest-2/#the-response-attribute\\n */\\nXMLHttpRequest.prototype.response;\\n\\n\\n/**\\n * @type {ArrayBuffer}\\n * Implemented as a draft spec in Firefox 4 as the way to get a requested array\\n * buffer from an XMLHttpRequest.\\n * @see https://developer.mozilla.org/En/Using_XMLHttpRequest#Receiving_binary_data_using_JavaScript_typed_arrays\\n *\\n * This property is not used anymore and should be removed.\\n * @see https://github.com/google/closure-compiler/pull/1389\\n */\\nXMLHttpRequest.prototype.mozResponseArrayBuffer;\\n\\n/**\\n * XMLHttpRequestEventTarget defines events for checking the status of a data\\n * transfer between a client and a server. This should be a common base class\\n * for XMLHttpRequest and XMLHttpRequestUpload.\\n *\\n * @constructor\\n * @implements {EventTarget}\\n */\\nfunction XMLHttpRequestEventTarget() {}\\n\\n/**\\n * @param {boolean=} opt_useCapture\\n * @override\\n * @return {undefined}\\n */\\nXMLHttpRequestEventTarget.prototype.addEventListener = function(\\n    type, listener, opt_useCapture) {};\\n\\n/**\\n * @param {boolean=} opt_useCapture\\n * @override\\n * @return {undefined}\\n */\\nXMLHttpRequestEventTarget.prototype.removeEventListener = function(\\n    type, listener, opt_useCapture) {};\\n\\n/**\\n * @override\\n * @return {boolean}\\n */\\nXMLHttpRequestEventTarget.prototype.dispatchEvent = function(evt) {};\\n\\n/**\\n * An event target to track the status of an upload.\\n *\\n * @constructor\\n * @extends {XMLHttpRequestEventTarget}\\n */\\nfunction XMLHttpRequestUpload() {}\\n\\n/**\\n * @type {?function(!ProgressEvent): void}\\n * @see https://dvcs.w3.org/hg/xhr/raw-file/tip/Overview.html#handler-xhr-onprogress\\n */\\nXMLHttpRequestUpload.prototype.onprogress;\\n\\n/**\\n * @param {number=} opt_width\\n * @param {number=} opt_height\\n * @constructor\\n * @extends {HTMLImageElement}\\n */\\nfunction Image(opt_width, opt_height) {}\\n\\n\\n/**\\n * Dataset collection.\\n * This is really a DOMStringMap but it behaves close enough to an object to\\n * pass as an object.\\n * @type {Object}\\n * @const\\n */\\nHTMLElement.prototype.dataset;\\n\\n\\n/**\\n * @constructor\\n * @implements {IArrayLike<string>}\\n * @see https://dom.spec.whatwg.org/#interface-domtokenlist\\n */\\nfunction DOMTokenList() {}\\n\\n/**\\n * Returns the number of CSS classes applied to this Element.\\n * @type {number}\\n */\\nDOMTokenList.prototype.length;\\n\\n/**\\n * @param {number} index The index of the item to return.\\n * @return {string} The CSS class at the specified index.\\n * @nosideeffects\\n */\\nDOMTokenList.prototype.item = function(index) {};\\n\\n/**\\n * @param {string} token The CSS class to check for.\\n * @return {boolean} Whether the CSS class has been applied to the Element.\\n * @nosideeffects\\n */\\nDOMTokenList.prototype.contains = function(token) {};\\n\\n/**\\n * @param {...string} var_args The CSS class(es) to add to this element.\\n * @return {undefined}\\n */\\nDOMTokenList.prototype.add = function(var_args) {};\\n\\n/**\\n * @param {...string} var_args The CSS class(es) to remove from this element.\\n * @return {undefined}\\n */\\nDOMTokenList.prototype.remove = function(var_args) {};\\n\\n/**\\n * @param {string} token The CSS class to toggle from this element.\\n * @param {boolean=} opt_force True to add the class whether it exists\\n *     or not. False to remove the class whether it exists or not.\\n *     This argument is not supported on IE 10 and below, according to\\n *     the MDN page linked below.\\n * @return {boolean} False if the token was removed; True otherwise.\\n * @see https://developer.mozilla.org/en-US/docs/Web/API/Element.classList\\n */\\nDOMTokenList.prototype.toggle = function(token, opt_force) {};\\n\\n/**\\n * @return {string} A stringified representation of CSS classes.\\n * @nosideeffects\\n * @override\\n */\\nDOMTokenList.prototype.toString = function() {};\\n\\n/**\\n * A better interface to CSS classes than className.\\n * @type {!DOMTokenList}\\n * @see https://developer.mozilla.org/en-US/docs/Web/API/Element/classList\\n * @const\\n */\\nElement.prototype.classList;\\n\\n/**\\n * Constraint Validation API properties and methods\\n * @see http://www.w3.org/TR/2009/WD-html5-20090423/forms.html#the-constraint-validation-api\\n */\\n\\n/** @return {boolean} */\\nHTMLFormElement.prototype.checkValidity = function() {};\\n\\n/** @return {boolean} */\\nHTMLFormElement.prototype.reportValidity = function() {};\\n\\n/** @type {boolean} */\\nHTMLFormElement.prototype.noValidate;\\n\\n/** @constructor */\\nfunction ValidityState() {}\\n\\n/** @type {boolean} */\\nValidityState.prototype.badInput;\\n\\n/** @type {boolean} */\\nValidityState.prototype.customError;\\n\\n/** @type {boolean} */\\nValidityState.prototype.patternMismatch;\\n\\n/** @type {boolean} */\\nValidityState.prototype.rangeOverflow;\\n\\n/** @type {boolean} */\\nValidityState.prototype.rangeUnderflow;\\n\\n/** @type {boolean} */\\nValidityState.prototype.stepMismatch;\\n\\n/** @type {boolean} */\\nValidityState.prototype.typeMismatch;\\n\\n/** @type {boolean} */\\nValidityState.prototype.tooLong;\\n\\n/** @type {boolean} */\\nValidityState.prototype.tooShort;\\n\\n/** @type {boolean} */\\nValidityState.prototype.valid;\\n\\n/** @type {boolean} */\\nValidityState.prototype.valueMissing;\\n\\n\\n/** @type {boolean} */\\nHTMLButtonElement.prototype.autofocus;\\n\\n/**\\n * @const\\n * @type {NodeList<!HTMLLabelElement>}\\n */\\nHTMLButtonElement.prototype.labels;\\n\\n/** @type {string} */\\nHTMLButtonElement.prototype.validationMessage;\\n\\n/**\\n * @const\\n * @type {ValidityState}\\n */\\nHTMLButtonElement.prototype.validity;\\n\\n/** @type {boolean} */\\nHTMLButtonElement.prototype.willValidate;\\n\\n/** @return {boolean} */\\nHTMLButtonElement.prototype.checkValidity = function() {};\\n\\n/** @return {boolean} */\\nHTMLButtonElement.prototype.reportValidity = function() {};\\n\\n/**\\n * @param {string} message\\n * @return {undefined}\\n */\\nHTMLButtonElement.prototype.setCustomValidity = function(message) {};\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/html5/forms.html#attr-fs-formaction\\n */\\nHTMLButtonElement.prototype.formAction;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/html5/forms.html#attr-fs-formenctype\\n */\\nHTMLButtonElement.prototype.formEnctype;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/html5/forms.html#attr-fs-formmethod\\n */\\nHTMLButtonElement.prototype.formMethod;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/html5/forms.html#attr-fs-formtarget\\n */\\nHTMLButtonElement.prototype.formTarget;\\n\\n/** @type {boolean} */\\nHTMLInputElement.prototype.autofocus;\\n\\n/** @type {boolean} */\\nHTMLInputElement.prototype.formNoValidate;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/html5/forms.html#attr-fs-formaction\\n */\\nHTMLInputElement.prototype.formAction;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/html5/forms.html#attr-fs-formenctype\\n */\\nHTMLInputElement.prototype.formEnctype;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/html5/forms.html#attr-fs-formmethod\\n */\\nHTMLInputElement.prototype.formMethod;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/html5/forms.html#attr-fs-formtarget\\n */\\nHTMLInputElement.prototype.formTarget;\\n\\n/**\\n * @const\\n * @type {NodeList<!HTMLLabelElement>}\\n */\\nHTMLInputElement.prototype.labels;\\n\\n/** @type {string} */\\nHTMLInputElement.prototype.validationMessage;\\n\\n/**\\n * @const\\n * @type {ValidityState}\\n */\\nHTMLInputElement.prototype.validity;\\n\\n/** @type {boolean} */\\nHTMLInputElement.prototype.willValidate;\\n\\n/** @return {boolean} */\\nHTMLInputElement.prototype.checkValidity = function() {};\\n\\n/** @return {boolean} */\\nHTMLInputElement.prototype.reportValidity = function() {};\\n\\n/**\\n * @param {string} message\\n * @return {undefined}\\n */\\nHTMLInputElement.prototype.setCustomValidity = function(message) {};\\n\\n/** @type {Element} */\\nHTMLLabelElement.prototype.control;\\n\\n/** @type {boolean} */\\nHTMLSelectElement.prototype.autofocus;\\n\\n/**\\n * @const\\n * @type {NodeList<!HTMLLabelElement>}\\n */\\nHTMLSelectElement.prototype.labels;\\n\\n/** @type {HTMLCollection<!HTMLOptionElement>} */\\nHTMLSelectElement.prototype.selectedOptions;\\n\\n/** @type {string} */\\nHTMLSelectElement.prototype.validationMessage;\\n\\n/**\\n * @const\\n * @type {ValidityState}\\n */\\nHTMLSelectElement.prototype.validity;\\n\\n/** @type {boolean} */\\nHTMLSelectElement.prototype.willValidate;\\n\\n/** @return {boolean} */\\nHTMLSelectElement.prototype.checkValidity = function() {};\\n\\n/** @return {boolean} */\\nHTMLSelectElement.prototype.reportValidity = function() {};\\n\\n/**\\n * @param {string} message\\n * @return {undefined}\\n */\\nHTMLSelectElement.prototype.setCustomValidity = function(message) {};\\n\\n/** @type {boolean} */\\nHTMLTextAreaElement.prototype.autofocus;\\n\\n/**\\n * @const\\n * @type {NodeList<!HTMLLabelElement>}\\n */\\nHTMLTextAreaElement.prototype.labels;\\n\\n/** @type {string} */\\nHTMLTextAreaElement.prototype.validationMessage;\\n\\n/**\\n * @const\\n * @type {ValidityState}\\n */\\nHTMLTextAreaElement.prototype.validity;\\n\\n/** @type {boolean} */\\nHTMLTextAreaElement.prototype.willValidate;\\n\\n/** @return {boolean} */\\nHTMLTextAreaElement.prototype.checkValidity = function() {};\\n\\n/** @return {boolean} */\\nHTMLTextAreaElement.prototype.reportValidity = function() {};\\n\\n/**\\n * @param {string} message\\n * @return {undefined}\\n */\\nHTMLTextAreaElement.prototype.setCustomValidity = function(message) {};\\n\\n/**\\n * @constructor\\n * @extends {HTMLElement}\\n * @see http://www.w3.org/TR/html5/the-embed-element.html#htmlembedelement\\n */\\nfunction HTMLEmbedElement() {}\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/html5/dimension-attributes.html#dom-dim-width\\n */\\nHTMLEmbedElement.prototype.width;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/html5/dimension-attributes.html#dom-dim-height\\n */\\nHTMLEmbedElement.prototype.height;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/html5/the-embed-element.html#dom-embed-src\\n */\\nHTMLEmbedElement.prototype.src;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/html5/the-embed-element.html#dom-embed-type\\n */\\nHTMLEmbedElement.prototype.type;\\n\\n// Fullscreen APIs.\\n\\n/**\\n * @see http://www.w3.org/TR/2012/WD-fullscreen-20120703/#dom-element-requestfullscreen\\n * @return {undefined}\\n */\\nElement.prototype.requestFullscreen = function() {};\\n\\n/**\\n * @type {boolean}\\n * @see http://www.w3.org/TR/2012/WD-fullscreen-20120703/#dom-document-fullscreenenabled\\n */\\nDocument.prototype.fullscreenEnabled;\\n\\n/**\\n * @type {Element}\\n * @see http://www.w3.org/TR/2012/WD-fullscreen-20120703/#dom-document-fullscreenelement\\n */\\nDocument.prototype.fullscreenElement;\\n\\n/**\\n * @see http://www.w3.org/TR/2012/WD-fullscreen-20120703/#dom-document-exitfullscreen\\n * @return {undefined}\\n */\\nDocument.prototype.exitFullscreen = function() {};\\n\\n// Externs definitions of browser current implementations.\\n// Firefox 10 implementation.\\nElement.prototype.mozRequestFullScreen = function() {};\\n\\nElement.prototype.mozRequestFullScreenWithKeys = function() {};\\n\\n/** @type {boolean} */\\nDocument.prototype.mozFullScreen;\\n\\nDocument.prototype.mozCancelFullScreen = function() {};\\n\\n/** @type {Element} */\\nDocument.prototype.mozFullScreenElement;\\n\\n/** @type {boolean} */\\nDocument.prototype.mozFullScreenEnabled;\\n\\n// Chrome 21 implementation.\\n/**\\n * The current fullscreen element for the document is set to this element.\\n * Valid only for Webkit browsers.\\n * @param {number=} opt_allowKeyboardInput Whether keyboard input is desired.\\n *     Should use ALLOW_KEYBOARD_INPUT constant.\\n * @return {undefined}\\n */\\nElement.prototype.webkitRequestFullScreen = function(opt_allowKeyboardInput) {};\\n\\n/**\\n * The current fullscreen element for the document is set to this element.\\n * Valid only for Webkit browsers.\\n * @param {number=} opt_allowKeyboardInput Whether keyboard input is desired.\\n *     Should use ALLOW_KEYBOARD_INPUT constant.\\n * @return {undefined}\\n */\\nElement.prototype.webkitRequestFullscreen = function(opt_allowKeyboardInput) {};\\n\\n/** @type {boolean} */\\nDocument.prototype.webkitIsFullScreen;\\n\\nDocument.prototype.webkitCancelFullScreen = function() {};\\n\\n/** @type {Element} */\\nDocument.protot";
a.a+="ype.webkitCurrentFullScreenElement;\\n\\n/** @type {Element} */\\nDocument.prototype.webkitFullscreenElement;\\n\\n/** @type {boolean} */\\nDocument.prototype.webkitFullScreenKeyboardInputAllowed;\\n\\n// IE 11 implementation.\\n// http://msdn.microsoft.com/en-us/library/ie/dn265028(v=vs.85).aspx\\n/** @return {void} */\\nElement.prototype.msRequestFullscreen = function() {};\\n\\n/** @return {void} */\\nElement.prototype.msExitFullscreen = function() {};\\n\\n/** @type {boolean} */\\nDocument.prototype.msFullscreenEnabled;\\n\\n/** @type {Element} */\\nDocument.prototype.msFullscreenElement;\\n\\n/** @type {number} */\\nElement.ALLOW_KEYBOARD_INPUT = 1;\\n\\n/** @type {number} */\\nElement.prototype.ALLOW_KEYBOARD_INPUT = 1;\\n\\n\\n/**\\n * @typedef {{\\n *   childList: (boolean|undefined),\\n *   attributes: (boolean|undefined),\\n *   characterData: (boolean|undefined),\\n *   subtree: (boolean|undefined),\\n *   attributeOldValue: (boolean|undefined),\\n *   characterDataOldValue: (boolean|undefined),\\n *   attributeFilter: (!Array<string>|undefined)\\n * }}\\n */\\nvar MutationObserverInit;\\n\\n\\n/** @constructor */\\nfunction MutationRecord() {}\\n\\n/** @type {string} */\\nMutationRecord.prototype.type;\\n\\n/** @type {Node} */\\nMutationRecord.prototype.target;\\n\\n/** @type {NodeList<!Node>} */\\nMutationRecord.prototype.addedNodes;\\n\\n/** @type {NodeList<!Node>} */\\nMutationRecord.prototype.removedNodes;\\n\\n/** @type {Node} */\\nMutationRecord.prototype.previousSibling;\\n\\n/** @type {Node} */\\nMutationRecord.prototype.nextSibling;\\n\\n/** @type {?string} */\\nMutationRecord.prototype.attributeName;\\n\\n/** @type {?string} */\\nMutationRecord.prototype.attributeNamespace;\\n\\n/** @type {?string} */\\nMutationRecord.prototype.oldValue;\\n\\n\\n/**\\n * @see http://www.w3.org/TR/domcore/#mutation-observers\\n * @param {function(Array<MutationRecord>, MutationObserver)} callback\\n * @constructor\\n */\\nfunction MutationObserver(callback) {}\\n\\n/**\\n * @param {Node} target\\n * @param {MutationObserverInit=} options\\n * @return {undefined}\\n */\\nMutationObserver.prototype.observe = function(target, options) {};\\n\\nMutationObserver.prototype.disconnect = function() {};\\n\\n/**\\n * @return {!Array<!MutationRecord>}\\n */\\nMutationObserver.prototype.takeRecords = function() {};\\n\\n/**\\n * @type {function(new:MutationObserver, function(Array<MutationRecord>))}\\n */\\nWindow.prototype.WebKitMutationObserver;\\n\\n/**\\n * @type {function(new:MutationObserver, function(Array<MutationRecord>))}\\n */\\nWindow.prototype.MozMutationObserver;\\n\\n\\n/**\\n * @see http://www.w3.org/TR/page-visibility/\\n * @type {VisibilityState}\\n */\\nDocument.prototype.visibilityState;\\n\\n/**\\n * @type {string}\\n */\\nDocument.prototype.mozVisibilityState;\\n\\n/**\\n * @type {string}\\n */\\nDocument.prototype.webkitVisibilityState;\\n\\n/**\\n * @type {string}\\n */\\nDocument.prototype.msVisibilityState;\\n\\n/**\\n * @see http://www.w3.org/TR/page-visibility/\\n * @type {boolean}\\n */\\nDocument.prototype.hidden;\\n\\n/**\\n * @type {boolean}\\n */\\nDocument.prototype.mozHidden;\\n\\n/**\\n * @type {boolean}\\n */\\nDocument.prototype.webkitHidden;\\n\\n/**\\n * @type {boolean}\\n */\\nDocument.prototype.msHidden;\\n\\n/**\\n * @see http://www.w3.org/TR/components-intro/\\n * @see http://w3c.github.io/webcomponents/spec/custom/#extensions-to-document-interface-to-register\\n * @param {string} type\\n * @param {{extends: (string|undefined), prototype: (Object|undefined)}=} options\\n * @return {!Function} a constructor for the new tag. A generic function is the best we\\n *     can do here as it allows the return value to be annotated properly\\n *     at the call site.\\n */\\nDocument.prototype.registerElement = function(type, options) {};\\n\\n/**\\n * This method is deprecated and should be removed by the end of 2014.\\n * @see http://www.w3.org/TR/components-intro/\\n * @see http://w3c.github.io/webcomponents/spec/custom/#extensions-to-document-interface-to-register\\n * @param {string} type\\n * @param {{extends: (string|undefined), prototype: (Object|undefined)}} options\\n */\\nDocument.prototype.register = function(type, options) {};\\n\\n/**\\n * @type {!FontFaceSet}\\n * @see http://dev.w3.org/csswg/css-font-loading/#dom-fontfacesource-fonts\\n */\\nDocument.prototype.fonts;\\n\\n\\n/**\\n * @see https://developer.mozilla.org/en-US/docs/Web/API/Document/currentScript\\n */\\nDocument.prototype.currentScript;\\n\\n/**\\n * Definition of ShadowRoot interface,\\n * @see http://www.w3.org/TR/shadow-dom/#api-shadow-root\\n * @constructor\\n * @extends {DocumentFragment}\\n */\\nfunction ShadowRoot() {}\\n\\n/**\\n * The host element that a ShadowRoot is attached to.\\n * Note: this is not yet W3C standard but is undergoing development.\\n * W3C feature tracking bug:\\n * https://www.w3.org/Bugs/Public/show_bug.cgi?id=22399\\n * Draft specification:\\n * https://dvcs.w3.org/hg/webcomponents/raw-file/6743f1ace623/spec/shadow/index.html#shadow-root-object\\n * @type {!Element}\\n */\\nShadowRoot.prototype.host;\\n\\n/**\\n * @param {string} id id.\\n * @return {HTMLElement}\\n * @nosideeffects\\n */\\nShadowRoot.prototype.getElementById = function(id) {};\\n\\n\\n/**\\n * @param {string} className\\n * @return {!NodeList<!Element>}\\n * @nosideeffects\\n */\\nShadowRoot.prototype.getElementsByClassName = function(className) {};\\n\\n\\n/**\\n * @param {string} tagName\\n * @return {!NodeList<!Element>}\\n * @nosideeffects\\n */\\nShadowRoot.prototype.getElementsByTagName = function(tagName) {};\\n\\n\\n/**\\n * @param {string} namespace\\n * @param {string} localName\\n * @return {!NodeList<!Element>}\\n * @nosideeffects\\n */\\nShadowRoot.prototype.getElementsByTagNameNS = function(namespace, localName) {};\\n\\n\\n/**\\n * @return {Selection}\\n * @nosideeffects\\n */\\nShadowRoot.prototype.getSelection = function() {};\\n\\n\\n/**\\n * @param {number} x\\n * @param {number} y\\n * @return {Element}\\n * @nosideeffects\\n */\\nShadowRoot.prototype.elementFromPoint = function(x, y) {};\\n\\n\\n/**\\n * @type {boolean}\\n */\\nShadowRoot.prototype.applyAuthorStyles;\\n\\n\\n/**\\n * @type {boolean}\\n */\\nShadowRoot.prototype.resetStyleInheritance;\\n\\n\\n/**\\n * @type {Element}\\n */\\nShadowRoot.prototype.activeElement;\\n\\n\\n/**\\n * @type {?ShadowRoot}\\n */\\nShadowRoot.prototype.olderShadowRoot;\\n\\n\\n/**\\n * @type {string}\\n */\\nShadowRoot.prototype.innerHTML;\\n\\n\\n/**\\n * @type {!StyleSheetList}\\n */\\nShadowRoot.prototype.styleSheets;\\n\\n\\n\\n/**\\n * @see http://www.w3.org/TR/shadow-dom/#the-content-element\\n * @constructor\\n * @extends {HTMLElement}\\n */\\nfunction HTMLContentElement() {}\\n\\n/**\\n * @type {!string}\\n */\\nHTMLContentElement.prototype.select;\\n\\n/**\\n * @return {!NodeList<!Node>}\\n */\\nHTMLContentElement.prototype.getDistributedNodes = function() {};\\n\\n\\n/**\\n * @see http://www.w3.org/TR/shadow-dom/#the-shadow-element\\n * @constructor\\n * @extends {HTMLElement}\\n */\\nfunction HTMLShadowElement() {}\\n\\n/**\\n * @return {!NodeList<!Node>}\\n */\\nHTMLShadowElement.prototype.getDistributedNodes = function() {};\\n\\n\\n/**\\n * @see http://www.w3.org/TR/html5/webappapis.html#the-errorevent-interface\\n *\\n * @constructor\\n * @extends {Event}\\n *\\n * @param {string} type\\n * @param {ErrorEventInit=} opt_eventInitDict\\n */\\nfunction ErrorEvent(type, opt_eventInitDict) {}\\n\\n/** @const {string} */\\nErrorEvent.prototype.message;\\n\\n/** @const {string} */\\nErrorEvent.prototype.filename;\\n\\n/** @const {number} */\\nErrorEvent.prototype.lineno;\\n\\n/** @const {number} */\\nErrorEvent.prototype.colno;\\n\\n/** @const {*} */\\nErrorEvent.prototype.error;\\n\\n\\n/**\\n * @see http://www.w3.org/TR/html5/webappapis.html#the-errorevent-interface\\n *\\n * @typedef {{\\n *   bubbles: (boolean|undefined),\\n *   cancelable: (boolean|undefined),\\n *   message: string,\\n *   filename: string,\\n *   lineno: number,\\n *   colno: number,\\n *   error: *\\n * }}\\n */\\n var ErrorEventInit;\\n\\n\\n/**\\n * @see http://dom.spec.whatwg.org/#dom-domimplementation-createhtmldocument\\n * @param {string=} opt_title A title to give the new HTML document\\n * @return {!HTMLDocument}\\n */\\nDOMImplementation.prototype.createHTMLDocument = function(opt_title) {};\\n\\n\\n\\n/**\\n * @constructor\\n * @see https://html.spec.whatwg.org/multipage/embedded-content.html#the-picture-element\\n * @extends {HTMLElement}\\n */\\nfunction HTMLPictureElement() {}\\n\\n/**\\n * @constructor\\n * @see https://html.spec.whatwg.org/multipage/embedded-content.html#the-picture-element\\n * @extends {HTMLElement}\\n */\\nfunction HTMLSourceElement() {}\\n\\n/** @type {string} */\\nHTMLSourceElement.prototype.media;\\n\\n/** @type {string} */\\nHTMLSourceElement.prototype.sizes;\\n\\n/** @type {string} */\\nHTMLSourceElement.prototype.src;\\n\\n/** @type {string} */\\nHTMLSourceElement.prototype.srcset;\\n\\n/** @type {string} */\\nHTMLSourceElement.prototype.type;\\n\\n/** @type {string} */\\nHTMLImageElement.prototype.sizes;\\n\\n/** @type {string} */\\nHTMLImageElement.prototype.srcset;\\n\\n\\n/**\\n * 4.11 Interactive elements\\n * @see http://www.w3.org/html/wg/drafts/html/master/interactive-elements.html\\n */\\n\\n/**\\n * @see http://www.w3.org/html/wg/drafts/html/master/interactive-elements.html#the-details-element\\n * @constructor\\n * @extends {HTMLElement}\\n */\\nfunction HTMLDetailsElement() {}\\n\\n/**\\n * @see http://www.w3.org/html/wg/drafts/html/master/interactive-elements.html#dom-details-open\\n * @type {boolean}\\n */\\nHTMLDetailsElement.prototype.open;\\n\\n\\n// As of 2/20/2015, <summary> has no special web IDL interface nor global\\n// constructor (i.e. HTMLSummaryElement).\\n\\n\\n/**\\n * @see http://www.w3.org/html/wg/drafts/html/master/interactive-elements.html#dom-menu-type\\n * @type {string}\\n */\\nHTMLMenuElement.prototype.type;\\n\\n/**\\n * @see http://www.w3.org/html/wg/drafts/html/master/interactive-elements.html#dom-menu-label\\n * @type {string}\\n */\\nHTMLMenuElement.prototype.label;\\n\\n\\n/**\\n * @see http://www.w3.org/html/wg/drafts/html/master/interactive-elements.html#the-menuitem-element\\n * @constructor\\n * @extends {HTMLElement}\\n */\\nfunction HTMLMenuItemElement() {}\\n\\n/**\\n * @see http://www.w3.org/html/wg/drafts/html/master/interactive-elements.html#dom-menuitem-type\\n * @type {string}\\n */\\nHTMLMenuItemElement.prototype.type;\\n\\n/**\\n * @see http://www.w3.org/html/wg/drafts/html/master/interactive-elements.html#dom-menuitem-label\\n * @type {string}\\n */\\nHTMLMenuItemElement.prototype.label;\\n\\n/**\\n * @see http://www.w3.org/html/wg/drafts/html/master/interactive-elements.html#dom-menuitem-icon\\n * @type {string}\\n */\\nHTMLMenuItemElement.prototype.icon;\\n\\n/**\\n * @see http://www.w3.org/html/wg/drafts/html/master/interactive-elements.html#dom-menuitem-disabled\\n * @type {boolean}\\n */\\nHTMLMenuItemElement.prototype.disabled;\\n\\n/**\\n * @see http://www.w3.org/html/wg/drafts/html/master/interactive-elements.html#dom-menuitem-checked\\n * @type {boolean}\\n */\\nHTMLMenuItemElement.prototype.checked;\\n\\n/**\\n * @see http://www.w3.org/html/wg/drafts/html/master/interactive-elements.html#dom-menuitem-radiogroup\\n * @type {string}\\n */\\nHTMLMenuItemElement.prototype.radiogroup;\\n\\n/**\\n * @see http://www.w3.org/html/wg/drafts/html/master/interactive-elements.html#dom-menuitem-default\\n * @type {boolean}\\n */\\nHTMLMenuItemElement.prototype.default;\\n\\n// TODO(dbeam): add HTMLMenuItemElement.prototype.command if it's implemented.\\n\\n\\n/**\\n * @see http://www.w3.org/html/wg/drafts/html/master/interactive-elements.html#relatedevent\\n * @param {string} type\\n * @param {{relatedTarget: (EventTarget|undefined)}=} opt_eventInitDict\\n * @constructor\\n * @extends {Event}\\n */\\nfunction RelatedEvent(type, opt_eventInitDict) {}\\n\\n/**\\n * @see http://www.w3.org/html/wg/drafts/html/master/interactive-elements.html#dom-relatedevent-relatedtarget\\n * @type {EventTarget|undefined}\\n */\\nRelatedEvent.prototype.relatedTarget;\\n\\n\\n/**\\n * @see http://www.w3.org/html/wg/drafts/html/master/interactive-elements.html#the-dialog-element\\n * @constructor\\n * @extends {HTMLElement}\\n */\\nfunction HTMLDialogElement() {}\\n\\n/**\\n * @see http://www.w3.org/html/wg/drafts/html/master/interactive-elements.html#dom-dialog-open\\n * @type {boolean}\\n */\\nHTMLDialogElement.prototype.open;\\n\\n/**\\n * @see http://www.w3.org/html/wg/drafts/html/master/interactive-elements.html#dom-dialog-returnvalue\\n * @type {string}\\n */\\nHTMLDialogElement.prototype.returnValue;\\n\\n/**\\n * @see http://www.w3.org/html/wg/drafts/html/master/interactive-elements.html#dom-dialog-show\\n * @param {(MouseEvent|Element)=} opt_anchor\\n * @return {undefined}\\n */\\nHTMLDialogElement.prototype.show = function(opt_anchor) {};\\n\\n/**\\n * @see http://www.w3.org/html/wg/drafts/html/master/interactive-elements.html#dom-dialog-showmodal\\n * @param {(MouseEvent|Element)=} opt_anchor\\n * @return {undefined}\\n */\\nHTMLDialogElement.prototype.showModal = function(opt_anchor) {};\\n\\n/**\\n * @see http://www.w3.org/html/wg/drafts/html/master/interactive-elements.html#dom-dialog-close\\n * @param {string=} opt_returnValue\\n * @return {undefined}\\n */\\nHTMLDialogElement.prototype.close = function(opt_returnValue) {};\\n\\n\\n/**\\n * @see https://html.spec.whatwg.org/multipage/scripting.html#the-template-element\\n * @constructor\\n * @extends {HTMLElement}\\n */\\nfunction HTMLTemplateElement() {}\\n\\n/**\\n * @see https://html.spec.whatwg.org/multipage/scripting.html#the-template-element\\n * @type {!DocumentFragment}\\n */\\nHTMLTemplateElement.prototype.content;\\n\\n\\n/**\\n * @type {?Document}\\n * @see w3c_dom2.js\\n * @see http://www.w3.org/TR/html-imports/#interface-import\\n */\\nHTMLLinkElement.prototype.import;\\n\\n\\n/**\\n * @return {boolean}\\n * @see https://www.w3.org/TR/html5/forms.html#dom-fieldset-elements\\n */\\nHTMLFieldSetElement.prototype.checkValidity = function() {};\\n\\n/**\\n * @type {HTMLCollection}\\n * @see https://www.w3.org/TR/html5/forms.html#dom-fieldset-elements\\n */\\nHTMLFieldSetElement.prototype.elements;\\n\\n/**\\n * @type {string}\\n * @see https://www.w3.org/TR/html5/forms.html#the-fieldset-element\\n */\\nHTMLFieldSetElement.prototype.name;\\n\\n/**\\n * @param {string} message\\n * @see https://www.w3.org/TR/html5/forms.html#dom-fieldset-elements\\n * @return {undefined}\\n */\\nHTMLFieldSetElement.prototype.setCustomValidity = function(message) {};\\n\\n/**\\n * @type {string}\\n * @see https://www.w3.org/TR/html5/forms.html#dom-fieldset-type\\n */\\nHTMLFieldSetElement.prototype.type;\\n\\n/**\\n * @type {string}\\n * @see https://www.w3.org/TR/html5/forms.html#the-fieldset-element\\n */\\nHTMLFieldSetElement.prototype.validationMessage;\\n\\n/**\\n * @type {ValidityState}\\n * @see https://www.w3.org/TR/html5/forms.html#the-fieldset-element\\n */\\nHTMLFieldSetElement.prototype.validity;\\n\\n/**\\n * @type {boolean}\\n * @see https://www.w3.org/TR/html5/forms.html#the-fieldset-element\\n */\\nHTMLFieldSetElement.prototype.willValidate;\\n\\n/**\\n * @constructor\\n * @extends {NodeList<T>}\\n * @template T\\n * @see https://html.spec.whatwg.org/multipage/infrastructure.html#radionodelist\\n */\\nfunction RadioNodeList() {}\\n\\n\\n\\n/**\\n * @see https://html.spec.whatwg.org/multipage/forms.html#the-datalist-element\\n * @constructor\\n * @extends {HTMLElement}\\n */\\nfunction HTMLDataListElement() {}\\n\\n\\n/** @type {HTMLCollection<!HTMLOptionElement>} */\\nHTMLDataListElement.prototype.options;\\n\\n\\n\\n/**\\n * @see https://html.spec.whatwg.org/multipage/forms.html#the-output-element\\n * @constructor\\n * @extends {HTMLElement}\\n */\\nfunction HTMLOutputElement() {}\\n\\n/**\\n * @const {!DOMTokenList}\\n */\\nHTMLOutputElement.prototype.htmlFor;\\n\\n/**\\n * @type {HTMLFormElement}\\n */\\nHTMLOutputElement.prototype.form;\\n\\n/**\\n * @type {string}\\n */\\nHTMLOutputElement.prototype.name;\\n\\n/**\\n * @const {string}\\n */\\nHTMLOutputElement.prototype.type;\\n\\n/**\\n * @type {string}\\n */\\nHTMLOutputElement.prototype.defaultValue;\\n\\n/**\\n * @type {string}\\n */\\nHTMLOutputElement.prototype.value;\\n\\n/**\\n * @const {NodeList<!HTMLLabelElement>}\\n */\\nHTMLOutputElement.prototype.labels;\\n\\n/** @type {string} */\\nHTMLOutputElement.prototype.validationMessage;\\n\\n/**\\n * @const {ValidityState}\\n */\\nHTMLOutputElement.prototype.validity;\\n\\n/** @type {boolean} */\\nHTMLOutputElement.prototype.willValidate;\\n\\n/** @return {boolean} */\\nHTMLOutputElement.prototype.checkValidity = function() {};\\n\\n/** @return {boolean} */\\nHTMLOutputElement.prototype.reportValidity = function() {};\\n\\n/** @param {string} message */\\nHTMLOutputElement.prototype.setCustomValidity = function(message) {};\\n\\n\\n\\n/**\\n * @see https://html.sp";
a.a+='ec.whatwg.org/multipage/forms.html#the-progress-element\\n * @constructor\\n * @extends {HTMLElement}\\n */\\nfunction HTMLProgressElement() {}\\n\\n\\n/** @type {number} */\\nHTMLProgressElement.prototype.value;\\n\\n\\n/** @type {number} */\\nHTMLProgressElement.prototype.max;\\n\\n\\n/** @type {number} */\\nHTMLProgressElement.prototype.position;\\n\\n\\n/** @type {NodeList<!Node>} */\\nHTMLProgressElement.prototype.labels;\\n\\n\\n\\n/**\\n * @see https://html.spec.whatwg.org/multipage/embedded-content.html#the-track-element\\n * @constructor\\n * @extends {HTMLElement}\\n */\\nfunction HTMLTrackElement() {}\\n\\n\\n/** @type {string} */\\nHTMLTrackElement.prototype.kind;\\n\\n\\n/** @type {string} */\\nHTMLTrackElement.prototype.src;\\n\\n\\n/** @type {string} */\\nHTMLTrackElement.prototype.srclang;\\n\\n\\n/** @type {string} */\\nHTMLTrackElement.prototype.label;\\n\\n\\n/** @type {boolean} */\\nHTMLTrackElement.prototype.default;\\n\\n\\n/** @const {number} */\\nHTMLTrackElement.prototype.readyState;\\n\\n\\n/** @const {TextTrack} */\\nHTMLTrackElement.prototype.track;\\n\\n\\n\\n/**\\n * @see https://html.spec.whatwg.org/multipage/forms.html#the-meter-element\\n * @constructor\\n * @extends {HTMLElement}\\n */\\nfunction HTMLMeterElement() {}\\n\\n\\n/** @type {number} */\\nHTMLMeterElement.prototype.value;\\n\\n\\n/** @type {number} */\\nHTMLMeterElement.prototype.min;\\n\\n\\n/** @type {number} */\\nHTMLMeterElement.prototype.max;\\n\\n\\n/** @type {number} */\\nHTMLMeterElement.prototype.low;\\n\\n\\n/** @type {number} */\\nHTMLMeterElement.prototype.high;\\n\\n\\n/** @type {number} */\\nHTMLMeterElement.prototype.optimum;\\n\\n\\n/** @type {NodeList<!Node>} */\\nHTMLMeterElement.prototype.labels;\\n\\n\\n/**\\n * @constructor\\n * @see https://www.w3.org/TR/html5/webappapis.html#navigator\\n */\\nfunction Navigator() {}\\n/**\\n * @type {string}\\n * @see https://www.w3.org/TR/html5/webappapis.html#dom-navigator-appcodename\\n */\\nNavigator.prototype.appCodeName;\\n\\n/**\\n * @type {string}\\n * @see https://www.w3.org/TR/html5/webappapis.html#dom-navigator-appname\\n */\\nNavigator.prototype.appName;\\n\\n/**\\n * @type {string}\\n * @see https://www.w3.org/TR/html5/webappapis.html#dom-navigator-appversion\\n */\\nNavigator.prototype.appVersion;\\n\\n/**\\n * @type {string}\\n * @see https://www.w3.org/TR/html5/webappapis.html#dom-navigator-platform\\n */\\nNavigator.prototype.platform;\\n\\n/**\\n * @type {string}\\n * @see https://www.w3.org/TR/html5/webappapis.html#dom-navigator-product\\n */\\nNavigator.prototype.product;\\n\\n/**\\n * @type {string}\\n * @see https://www.w3.org/TR/html5/webappapis.html#dom-navigator-useragent\\n */\\nNavigator.prototype.userAgent;\\n\\n/**\\n * @return {boolean}\\n * @see https://www.w3.org/TR/html5/webappapis.html#dom-navigator-taintenabled\\n */\\nNavigator.prototype.taintEnabled = function() {};\\n\\n/**\\n * @type {string}\\n * @see https://www.w3.org/TR/html5/webappapis.html#dom-navigator-language\\n */\\nNavigator.prototype.language;\\n\\n/**\\n * @type {boolean}\\n * @see https://www.w3.org/TR/html5/browsers.html#navigatoronline\\n */\\nNavigator.prototype.onLine;\\n\\n/**\\n * @type {boolean}\\n * @see https://www.w3.org/TR/html5/webappapis.html#dom-navigator-cookieenabled\\n */\\nNavigator.prototype.cookieEnabled;\\n\\n/**\\n * @param {string} scheme\\n * @param {string} url\\n * @param {string} title\\n * @return {undefined}\\n */\\nNavigator.prototype.registerProtocolHandler = function(scheme, url, title) {}\\n\\n/**\\n * @param {string} mimeType\\n * @param {string} url\\n * @param {string} title\\n * @return {undefined}\\n */\\nNavigator.prototype.registerContentHandler = function(mimeType, url, title) {}\\n\\n/**\\n * @param {string} scheme\\n * @param {string} url\\n * @return {undefined}\\n */\\nNavigator.prototype.unregisterProtocolHandler = function(scheme, url) {}\\n\\n/**\\n * @param {string} mimeType\\n * @param {string} url\\n * @return {undefined}\\n */\\nNavigator.prototype.unregisterContentHandler = function(mimeType, url) {}\\n\\n/**\\n * @type {MimeTypeArray}\\n * @see https://www.w3.org/TR/html5/webappapis.html#dom-navigator-mimetypes\\n */\\nNavigator.prototype.mimeTypes;\\n\\n/**\\n * @type {PluginArray}\\n * @see https://www.w3.org/TR/html5/webappapis.html#dom-navigator-plugins\\n */\\nNavigator.prototype.plugins;\\n\\n/**\\n * @return {boolean}\\n * @see https://www.w3.org/TR/html5/webappapis.html#dom-navigator-javaenabled\\n * @nosideeffects\\n */\\nNavigator.prototype.javaEnabled = function() {};\\n\\n/**\\n * @constructor\\n * @implements {IObject<(string|number),!Plugin>}\\n * @implements {IArrayLike<!Plugin>}\\n * @see https://www.w3.org/TR/html5/webappapis.html#pluginarray\\n */\\nfunction PluginArray() {}\\n\\n/** @type {number} */\\nPluginArray.prototype.length;\\n\\n/**\\n * @param {number} index\\n * @return {Plugin}\\n */\\nPluginArray.prototype.item = function(index) {};\\n\\n/**\\n * @param {string} name\\n * @return {Plugin}\\n */\\nPluginArray.prototype.namedItem = function(name) {};\\n\\n/**\\n * @param {boolean=} reloadDocuments\\n * @return {undefined}\\n */\\nPluginArray.prototype.refresh = function(reloadDocuments) {};\\n\\n/**\\n * @constructor\\n * @implements {IObject<(string|number),!MimeType>}\\n * @implements {IArrayLike<!MimeType>}\\n * @see https://www.w3.org/TR/html5/webappapis.html#mimetypearray\\n */\\nfunction MimeTypeArray() {}\\n\\n/**\\n * @param {number} index\\n * @return {MimeType}\\n */\\nMimeTypeArray.prototype.item = function(index) {};\\n\\n/**\\n * @type {number}\\n * @see https://developer.mozilla.org/en/DOM/window.navigator.mimeTypes\\n */\\nMimeTypeArray.prototype.length;\\n\\n/**\\n * @param {string} name\\n * @return {MimeType}\\n */\\nMimeTypeArray.prototype.namedItem = function(name) {};\\n\\n/**\\n * @constructor\\n * @see https://www.w3.org/TR/html5/webappapis.html#mimetype\\n */\\nfunction MimeType() {}\\n\\n/** @type {string} */\\nMimeType.prototype.description;\\n\\n/** @type {Plugin} */\\nMimeType.prototype.enabledPlugin;\\n\\n/** @type {string} */\\nMimeType.prototype.suffixes;\\n\\n/** @type {string} */\\nMimeType.prototype.type;\\n\\n/**\\n * @constructor\\n * @see https://www.w3.org/TR/html5/webappapis.html#dom-plugin\\n */\\nfunction Plugin() {}\\n\\n/** @type {string} */\\nPlugin.prototype.description;\\n\\n/** @type {string} */\\nPlugin.prototype.filename;\\n\\n/** @type {number} */\\nPlugin.prototype.length;\\n\\n/** @type {string} */\\nPlugin.prototype.name;\\n","externs/ie_vml.js":"/*\\n * Copyright 2009 The Closure Compiler Authors\\n *\\n * Licensed under the Apache License, Version 2.0 (the \\"License\\");\\n * you may not use this file except in compliance with the License.\\n * You may obtain a copy of the License at\\n *\\n *     http://www.apache.org/licenses/LICENSE-2.0\\n *\\n * Unless required by applicable law or agreed to in writing, software\\n * distributed under the License is distributed on an \\"AS IS\\" BASIS,\\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\\n * See the License for the specific language governing permissions and\\n * limitations under the License.\\n */\\n\\n/**\\n * @fileoverview Definitions for IE\'s vector markup language, or VML.\\n *\\n * @externs\\n * @author robbyw@google.com (Robby Walker)\\n */\\n\\n\\n/**\\n * @type {Object|string}\\n * @see http://msdn.microsoft.com/en-us/library/bb263836(VS.85).aspx\\n */\\nElement.prototype.coordorigin;\\n\\n/**\\n * @type {Object|string}\\n * @see http://msdn.microsoft.com/en-us/library/bb263837(VS.85).aspx\\n */\\nElement.prototype.coordsize;\\n\\n/**\\n * @type {string}\\n * @see http://msdn.microsoft.com/en-us/library/bb263839(VS.85).aspx\\n */\\nElement.prototype.fillcolor;\\n\\n/**\\n * @type {boolean}\\n * @see http://msdn.microsoft.com/en-us/library/bb263840(VS.85).aspx\\n */\\nElement.prototype.filled;\\n\\n/**\\n * @type {string}\\n * @see http://msdn.microsoft.com/en-us/library/bb263871(VS.85).aspx\\n */\\nElement.prototype.path;\\n\\n/**\\n * @type {number|string}\\n * @see http://msdn.microsoft.com/en-us/library/bb263877(VS.85).aspx\\n */\\nElement.prototype.rotation;\\n\\n/**\\n * @type {string}\\n * @see http://msdn.microsoft.com/en-us/library/bb263881(VS.85).aspx\\n */\\nElement.prototype.strokecolor;\\n\\n/**\\n * @type {boolean}\\n * @see http://msdn.microsoft.com/en-us/library/bb263882(VS.85).aspx\\n */\\nElement.prototype.stroked;\\n\\n/**\\n * @type {number|string}\\n * @see http://msdn.microsoft.com/en-us/library/bb263883(VS.85).aspx\\n */\\nElement.prototype.strokeweight;\\n","externs/iphone.js":"/*\\n * Copyright 2009 The Closure Compiler Authors\\n *\\n * Licensed under the Apache License, Version 2.0 (the \\"License\\");\\n * you may not use this file except in compliance with the License.\\n * You may obtain a copy of the License at\\n *\\n *     http://www.apache.org/licenses/LICENSE-2.0\\n *\\n * Unless required by applicable law or agreed to in writing, software\\n * distributed under the License is distributed on an \\"AS IS\\" BASIS,\\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\\n * See the License for the specific language governing permissions and\\n * limitations under the License.\\n */\\n/**\\n * @fileoverview Definitions for all iPhone extensions. Created from:\\n * http://developer.apple.com/library/safari/navigation/\\n *\\n * @externs\\n * @author agrieve@google.com (Andrew Grieve)\\n */\\n\\n\\n/**\\n * @type {number}\\n */\\nTouch.prototype.webkitForce;\\n\\n/**\\n * @type {number}\\n */\\nTouch.prototype.webkitRadiusX;\\n\\n/**\\n * @type {number}\\n */\\nTouch.prototype.webkitRadiusY;\\n\\n/**\\n * The distance between two fingers since the start of an event as a multiplier\\n * of the initial distance. The initial value is 1.0. If less than 1.0, the\\n * gesture is pinch close (to zoom out). If greater than 1.0, the gesture is\\n * pinch open (to zoom in).\\n * @type {number}\\n */\\nTouchEvent.prototype.scale;\\n\\n/**\\n * The delta rotation since the start of an event, in degrees, where clockwise\\n * is positive and counter-clockwise is negative. The initial value is 0.0.\\n * @type {number}\\n */\\nTouchEvent.prototype.rotation;\\n\\n/**\\n * Initializes a newly created TouchEvent object.\\n * @param {string} type\\n * @param {boolean} canBubble\\n * @param {boolean} cancelable\\n * @param {Window} view\\n * @param {number} detail\\n * @param {number} screenX\\n * @param {number} screenY\\n * @param {number} clientX\\n * @param {number} clientY\\n * @param {boolean} ctrlKey\\n * @param {boolean} altKey\\n * @param {boolean} shiftKey\\n * @param {boolean} metaKey\\n * @param {TouchList} touches\\n * @param {TouchList} targetTouches\\n * @param {TouchList} changedTouches\\n * @param {number} scale\\n * @param {number} rotation\\n * @return {undefined}\\n */\\nTouchEvent.prototype.initTouchEvent = function(type, canBubble, cancelable,\\n    view, detail, screenX, screenY, clientX, clientY, ctrlKey, altKey, shiftKey,\\n    metaKey, touches, targetTouches, changedTouches, scale, rotation) {};\\n\\n/**\\n * The GestureEvent class encapsulates information about a multi-touch gesture.\\n *\\n * GestureEvent objects are high-level events that encapsulate the low-level\\n * TouchEvent objects. Both GestureEvent and TouchEvent events are sent during\\n * a multi-touch sequence. Gesture events contain scaling and rotation\\n * information allowing gestures to be combined, if supported by the platform.\\n * If not supported, one gesture ends before another starts. Listen for\\n * GestureEvent events if you want to respond to gestures only, not process\\n * the low-level TouchEvent objects.\\n *\\n * @see http://developer.apple.com/library/safari/#documentation/UserExperience/Reference/GestureEventClassReference/GestureEvent/GestureEvent.html\\n * @extends {UIEvent}\\n * @constructor\\n */\\nfunction GestureEvent() {}\\n\\n/**\\n * The distance between two fingers since the start of an event as a multiplier\\n * of the initial distance. The initial value is 1.0. If less than 1.0, the\\n * gesture is pinch close (to zoom out). If greater than 1.0, the gesture is\\n * pinch open (to zoom in).\\n * @type {number}\\n */\\nGestureEvent.prototype.scale;\\n\\n/**\\n * The delta rotation since the start of an event, in degrees, where clockwise\\n * is positive and counter-clockwise is negative. The initial value is 0.0.\\n * @type {number}\\n */\\nGestureEvent.prototype.rotation;\\n\\n/**\\n * The target of this gesture.\\n * @type {EventTarget}\\n */\\nGestureEvent.prototype.target;\\n\\n/**\\n * Initializes a newly created GestureEvent object.\\n * @param {string} type\\n * @param {boolean} canBubble\\n * @param {boolean} cancelable\\n * @param {Window} view\\n * @param {number} detail\\n * @param {number} screenX\\n * @param {number} screenY\\n * @param {number} clientX\\n * @param {number} clientY\\n * @param {boolean} ctrlKey\\n * @param {boolean} altKey\\n * @param {boolean} shiftKey\\n * @param {boolean} metaKey\\n * @param {EventTarget} target\\n * @param {number} scale\\n * @param {number} rotation\\n * @return {undefined}\\n */\\nGestureEvent.prototype.initGestureEvent = function(type, canBubble, cancelable,\\n    view, detail, screenX, screenY, clientX, clientY, ctrlKey, altKey, shiftKey,\\n    metaKey, target, scale, rotation) {};\\n\\n\\n/**\\n * Specifies the JavaScript method to invoke when a gesture is started by\\n * two or more fingers touching the surface.\\n * @type {?function(!GestureEvent)}\\n */\\nElement.prototype.ongesturestart;\\n\\n/**\\n * Specifies the JavaScript method to invoke when fingers are moved during a\\n * gesture.\\n * @type {?function(!GestureEvent)}\\n */\\nElement.prototype.ongesturechange;\\n\\n/**\\n * Specifies the JavaScript method to invoke when a gesture ends (when there are\\n * 0 or 1 fingers touching the surface).\\n * @type {?function(!GestureEvent)}\\n */\\nElement.prototype.ongestureend;\\n\\n/**\\n * Specifies the JavaScript method to invoke when the browser device\'s\\n * orientation changes, i.e.the device is rotated.\\n * @type {?function(!Event)}\\n * @see http://developer.apple.com/library/IOS/#documentation/AppleApplications/Reference/SafariWebContent/HandlingEvents/HandlingEvents.html\\n */\\nWindow.prototype.onorientationchange;\\n\\n/**\\n * Returns the orientation of the browser\'s device, one of [-90, 0, 90, 180].\\n * @type {number}\\n * @see http://developer.apple.com/library/IOS/#documentation/AppleApplications/Reference/SafariWebContent/HandlingEvents/HandlingEvents.html\\n */\\nWindow.prototype.orientation;\\n\\n/**\\n * @implicitCast\\n * @type {boolean}\\n */\\nHTMLInputElement.prototype.autocorrect;\\n\\n/**\\n * @implicitCast\\n * @type {boolean}\\n */\\nHTMLInputElement.prototype.autocapitalize;\\n\\n/**\\n * @implicitCast\\n * @type {boolean}\\n */\\nHTMLTextAreaElement.prototype.autocorrect;\\n\\n/**\\n * @implicitCast\\n * @type {boolean}\\n */\\nHTMLTextAreaElement.prototype.autocapitalize;\\n","externs/mediasource.js":"/*\\n * Copyright 2012 The Closure Compiler Authors\\n *\\n * Licensed under the Apache License, Version 2.0 (the \\"License\\");\\n * you may not use this file except in compliance with the License.\\n * You may obtain a copy of the License at\\n *\\n *     http://www.apache.org/licenses/LICENSE-2.0\\n *\\n * Unless required by applicable law or agreed to in writing, software\\n * distributed under the License is distributed on an \\"AS IS\\" BASIS,\\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\\n * See the License for the specific language governing permissions and\\n * limitations under the License.\\n */\\n/**\\n * @fileoverview Definitions for the Media Source Extensions. Note that the\\n * properties available here are the union of several versions of the spec.\\n * @see http://dvcs.w3.org/hg/html-media/raw-file/tip/media-source/media-source.html\\n *\\n * @externs\\n * @author mattward@google.com (Matt Ward)\\n */\\n\\n/**\\n * @constructor\\n * @implements {EventTarget}\\n */\\nfunction MediaSource() {}\\n\\n/**\\n * @param {boolean=} opt_useCapture\\n * @override\\n * @return {undefined}\\n */\\nMediaSource.prototype.addEventListener = function(\\n    type, listener, opt_useCapture) {};\\n\\n/**\\n * @param {boolean=} opt_useCapture\\n * @override\\n * @return {undefined}\\n */\\nMediaSource.prototype.removeEventListener = function(\\n    type, listener, opt_useCapture) {};\\n\\n/**\\n * @override\\n * @return {boolean}\\n */\\nMediaSource.prototype.dispatchEvent = function(evt) {};\\n\\n/** @type {Array<SourceBuffer>} */\\nMediaSource.prototype.sourceBuffers;\\n\\n/** @type {Array<SourceBuffer>} */\\nMediaSource.prototype.activeSourceBuffers;\\n\\n/** @type {number} */\\nMediaSource.prototype.duration;\\n\\n/**\\n * @param {string} type\\n * @return {SourceBuffer}\\n */\\nMediaSource.prototype.addSourceBuffer = function(type) {};\\n\\n/**\\n * @param {SourceBuff';
a.a+='er} sourceBuffer\\n * @return {undefined}\\n */\\nMediaSource.prototype.removeSourceBuffer = function(sourceBuffer) {};\\n\\n/**\\n * Updates the live seekable range.\\n * @param {number} start\\n * @param {number} end\\n */\\nMediaSource.prototype.setLiveSeekableRange = function(start, end) {};\\n\\n/**\\n * Clears the live seekable range.\\n * @return {void}\\n */\\nMediaSource.prototype.clearLiveSeekableRange = function() {};\\n\\n/** @type {string} */\\nMediaSource.prototype.readyState;\\n\\n/**\\n * @param {string=} opt_error\\n * @return {undefined}\\n */\\nMediaSource.prototype.endOfStream = function(opt_error) {};\\n\\n/**\\n * @param {string} type\\n * @return {boolean}\\n */\\nMediaSource.isTypeSupported = function(type) {};\\n\\n\\n/**\\n * @constructor\\n * @implements {EventTarget}\\n */\\nfunction SourceBuffer() {}\\n\\n/**\\n * @param {boolean=} opt_useCapture\\n * @override\\n * @return {undefined}\\n */\\nSourceBuffer.prototype.addEventListener = function(\\n    type, listener, opt_useCapture) {};\\n\\n/**\\n * @param {boolean=} opt_useCapture\\n * @override\\n * @return {undefined}\\n */\\nSourceBuffer.prototype.removeEventListener = function(\\n    type, listener, opt_useCapture) {};\\n\\n/**\\n * @override\\n * @return {boolean}\\n */\\nSourceBuffer.prototype.dispatchEvent = function(evt) {};\\n\\n/** @type {string} */\\nSourceBuffer.prototype.appendMode;\\n\\n/** @type {boolean} */\\nSourceBuffer.prototype.updating;\\n\\n/** @type {TimeRanges} */\\nSourceBuffer.prototype.buffered;\\n\\n/** @type {number} */\\nSourceBuffer.prototype.timestampOffset;\\n\\n/** @type {number} */\\nSourceBuffer.prototype.appendWindowStart;\\n\\n/** @type {number} */\\nSourceBuffer.prototype.appendWindowEnd;\\n\\n/**\\n * @param {Uint8Array} data\\n * @return {undefined}\\n */\\nSourceBuffer.prototype.append = function(data) {};\\n\\n/**\\n * @param {ArrayBuffer|ArrayBufferView} data\\n * @return {undefined}\\n */\\nSourceBuffer.prototype.appendBuffer = function(data) {};\\n\\n/**\\n * Abort the current segment append sequence.\\n * @return {undefined}\\n */\\nSourceBuffer.prototype.abort = function() {};\\n\\n/**\\n * @param {number} start\\n * @param {number} end\\n * @return {undefined}\\n */\\nSourceBuffer.prototype.remove = function(start, end) {};\\n","externs/page_visibility.js":"/*\\n * Copyright 2015 The Closure Compiler Authors\\n *\\n * Licensed under the Apache License, Version 2.0 (the \\"License\\");\\n * you may not use this file except in compliance with the License.\\n * You may obtain a copy of the License at\\n *\\n *     http://www.apache.org/licenses/LICENSE-2.0\\n *\\n * Unless required by applicable law or agreed to in writing, software\\n * distributed under the License is distributed on an \\"AS IS\\" BASIS,\\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\\n * See the License for the specific language governing permissions and\\n * limitations under the License.\\n */\\n/**\\n * @fileoverview Externs for Page Visibility.\\n *\\n * @see http://www.w3.org/TR/page-visibility\\n * @externs\\n */\\n\\n/**\\n * Set of possible values: \'hidden\', \'visible\', \'prerender\', \'unloaded\'.\\n * @typedef {string}\\n * @see http://www.w3.org/TR/page-visibility/#VisibilityState\\n */\\nvar VisibilityState;\\n","externs/url.js":"/*\\n * Copyright 2015 The Closure Compiler Authors\\n *\\n * Licensed under the Apache License, Version 2.0 (the \\"License\\");\\n * you may not use this file except in compliance with the License.\\n * You may obtain a copy of the License at\\n *\\n *     http://www.apache.org/licenses/LICENSE-2.0\\n *\\n * Unless required by applicable law or agreed to in writing, software\\n * distributed under the License is distributed on an \\"AS IS\\" BASIS,\\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\\n * See the License for the specific language governing permissions and\\n * limitations under the License.\\n */\\n\\n/**\\n * @fileoverview Definitions for URL and URLSearchParams from the spec at\\n * https://url.spec.whatwg.org.\\n *\\n * @externs\\n * @author rdcronin@google.com (Devlin Cronin)\\n */\\n\\n/**\\n * @constructor\\n * @param {(string|!URLSearchParams)=} init\\n */\\nfunction URLSearchParams(init) {}\\n\\n/**\\n * @param {string} name\\n * @param {string} value\\n * @return {undefined}\\n */\\nURLSearchParams.prototype.append = function(name, value) {};\\n\\n/**\\n * @param {string} name\\n * @return {undefined}\\n */\\nURLSearchParams.prototype.delete = function(name) {};\\n\\n/**\\n * @param {string} name\\n * @return {?string}\\n */\\nURLSearchParams.prototype.get = function(name) {};\\n\\n/**\\n * @param {string} name\\n * @return {!Array<string>}\\n */\\nURLSearchParams.prototype.getAll = function(name) {};\\n\\n/**\\n * @param {string} name\\n * @return {boolean}\\n */\\nURLSearchParams.prototype.has = function(name) {};\\n\\n/**\\n * @param {string} name\\n * @param {string} value\\n * @return {undefined}\\n */\\nURLSearchParams.prototype.set = function(name, value) {};\\n\\n/**\\n * @see https://url.spec.whatwg.org\\n * @constructor\\n * @param {string} url\\n * @param {(string|!URL)=} base\\n */\\nfunction URL(url, base) {}\\n\\n/** @type {string} */\\nURL.prototype.href;\\n\\n/**\\n * @const\\n * @type {string}\\n */\\nURL.prototype.origin;\\n\\n/** @type {string} */\\nURL.prototype.protocol;\\n\\n/** @type {string} */\\nURL.prototype.username;\\n\\n/** @type {string} */\\nURL.prototype.password;\\n\\n/** @type {string} */\\nURL.prototype.host;\\n\\n/** @type {string} */\\nURL.prototype.hostname;\\n\\n/** @type {string} */\\nURL.prototype.port;\\n\\n/** @type {string} */\\nURL.prototype.pathname;\\n\\n/** @type {string} */\\nURL.prototype.search;\\n\\n/**\\n * @const\\n * @type {URLSearchParams}\\n */\\nURL.prototype.searchParams;\\n\\n/** @type {string} */\\nURL.prototype.hash;\\n\\n/**\\n * @param {string} domain\\n * @return {string}\\n */\\nURL.domainToASCII = function(domain) {};\\n\\n/**\\n * @param {string} domain\\n * @return {string}\\n */\\nURL.domainToUnicode = function(domain) {};\\n\\n/**\\n * @see http://www.w3.org/TR/FileAPI/#dfn-createObjectURL\\n * @param {!File|!Blob|!MediaSource|!MediaStream} obj\\n * @return {string}\\n */\\nURL.createObjectURL = function(obj) {};\\n\\n/**\\n * @see http://www.w3.org/TR/FileAPI/#dfn-revokeObjectURL\\n * @param {string} url\\n * @return {undefined}\\n */\\nURL.revokeObjectURL = function(url) {};\\n","externs/v8.js":"/*\\n * Copyright 2013 The Closure Compiler Authors\\n *\\n * Licensed under the Apache License, Version 2.0 (the \\"License\\");\\n * you may not use this file except in compliance with the License.\\n * You may obtain a copy of the License at\\n *\\n *     http://www.apache.org/licenses/LICENSE-2.0\\n *\\n * Unless required by applicable law or agreed to in writing, software\\n * distributed under the License is distributed on an \\"AS IS\\" BASIS,\\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\\n * See the License for the specific language governing permissions and\\n * limitations under the License.\\n */\\n\\n/**\\n * @fileoverview This file describes the externs API for V8-specific objects.\\n * @externs\\n */\\n\\n\\n\\n/**\\n * Stack frame elements in V8.\\n * @constructor\\n */\\nfunction CallSite() {}\\n\\n\\n/**\\n * Returns the value of this.\\n * @return {Object|undefined}\\n */\\nCallSite.prototype.getThis = function() {};\\n\\n\\n/**\\n * Returns the type of this as a string. This is the name of the function stored\\n * in the constructor field of this, if available, otherwise the object\'s\\n * [[Class]] internal property.\\n * @return {string|undefined}\\n */\\nCallSite.prototype.getTypeName = function() {};\\n\\n\\n/**\\n * Returns the current function.\\n * @return {!Function|undefined}\\n */\\nCallSite.prototype.getFunction = function() {};\\n\\n\\n/**\\n * Returns the name of the current function, typically its name property. If a\\n * name property is not available an attempt will be made to try to infer a name\\n * from the function\'s context.\\n * @return {string|undefined}\\n */\\nCallSite.prototype.getFunctionName = function() {};\\n\\n\\n/**\\n * Returns the name of the property of this or one of its prototypes that holds\\n * the current function.\\n * @return {string|undefined}\\n */\\nCallSite.prototype.getMethodName = function() {};\\n\\n\\n/**\\n * If this function was defined in a script returns the name of the script\\n * @return {string|undefined}\\n */\\nCallSite.prototype.getFileName = function() {};\\n\\n\\n/**\\n * If this function was defined in a script returns the current line number.\\n * @return {number|undefined}\\n */\\nCallSite.prototype.getLineNumber = function() {};\\n\\n\\n/**\\n * If this function was defined in a script returns the current column number.\\n * @return {number|undefined}\\n */\\nCallSite.prototype.getColumnNumber = function() {};\\n\\n\\n/**\\n * If this function was created using a call to eval, returns a CallSite object\\n * representing the location where eval was called\\n * @return {CallSite|undefined}\\n */\\nCallSite.prototype.getEvalOrigin = function() {};\\n\\n\\n/**\\n * Is this a toplevel invocation, that is, is this the global object?\\n * @return {boolean}\\n */\\nCallSite.prototype.isToplevel = function() {};\\n\\n\\n/**\\n * Does this call take place in code defined by a call to eval?\\n * @return {boolean}\\n */\\nCallSite.prototype.isEval = function() {};\\n\\n\\n/**\\n * Is this call in native V8 code?\\n * @return {boolean}\\n */\\nCallSite.prototype.isNative = function() {};\\n\\n\\n/**\\n * Is this a constructor call?\\n * @return {boolean}\\n */\\nCallSite.prototype.isConstructor = function() {};\\n","externs/webstorage.js":"/*\\n * Copyright 2009 The Closure Compiler Authors\\n *\\n * Licensed under the Apache License, Version 2.0 (the \\"License\\");\\n * you may not use this file except in compliance with the License.\\n * You may obtain a copy of the License at\\n *\\n *     http://www.apache.org/licenses/LICENSE-2.0\\n *\\n * Unless required by applicable law or agreed to in writing, software\\n * distributed under the License is distributed on an \\"AS IS\\" BASIS,\\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\\n * See the License for the specific language governing permissions and\\n * limitations under the License.\\n */\\n/**\\n * @fileoverview Definitions for W3C\'s WebStorage specification.\\n * This file depends on html5.js.\\n * @externs\\n * @author jeffbailey@google.com (Jeff Bailey)\\n */\\n\\n/**\\n * @interface\\n * @see http://www.w3.org/TR/2011/CR-webstorage-20111208/#the-storage-interface\\n */\\nfunction Storage() {}\\n\\n/**\\n * @type {number}\\n * @const\\n */\\nStorage.prototype.length;\\n\\n/**\\n * @param {number} index\\n * @return {?string}\\n */\\nStorage.prototype.key = function(index) {};\\n\\n/**\\n * @param {string} key\\n * @return {?string}\\n */\\nStorage.prototype.getItem = function(key) {};\\n\\n/**\\n * @param {string} key\\n * @param {string} data\\n * @return {void}\\n */\\nStorage.prototype.setItem = function(key, data) {};\\n\\n/**\\n * @param {string} key\\n * @return {void}\\n */\\nStorage.prototype.removeItem = function(key) {};\\n\\n/**\\n * @return {void}\\n */\\nStorage.prototype.clear = function() {};\\n\\n/**\\n * @interface\\n * @see http://www.w3.org/TR/2011/CR-webstorage-20111208/#the-sessionstorage-attribute\\n */\\nfunction WindowSessionStorage() {}\\n\\n/**\\n * @type {Storage}\\n */\\nWindowSessionStorage.prototype.sessionStorage;\\n\\n/**\\n * Window implements WindowSessionStorage\\n *\\n * @type {Storage}\\n */\\nWindow.prototype.sessionStorage;\\n\\n/**\\n * @interface\\n * @see http://www.w3.org/TR/2011/CR-webstorage-20111208/#the-localstorage-attribute\\n */\\nfunction WindowLocalStorage() {}\\n\\n/**\\n * @type {Storage}\\n */\\nWindowLocalStorage.prototype.localStorage;\\n\\n/**\\n * Window implements WindowLocalStorage\\n *\\n * @type {Storage}\\n */\\nWindow.prototype.localStorage;\\n\\n/**\\n * This is the storage event interface.\\n * @see http://www.w3.org/TR/2011/CR-webstorage-20111208/#the-storage-event\\n * @extends {Event}\\n * @constructor\\n */\\nfunction StorageEvent() {}\\n\\n/**\\n * @type {string}\\n */\\nStorageEvent.prototype.key;\\n\\n/**\\n * @type {?string}\\n */\\nStorageEvent.prototype.oldValue;\\n\\n/**\\n * @type {?string}\\n */\\nStorageEvent.prototype.newValue;\\n\\n/**\\n * @type {string}\\n */\\nStorageEvent.prototype.url;\\n\\n/**\\n * @type {?Storage}\\n */\\nStorageEvent.prototype.storageArea;\\n\\n/**\\n * @param {string} typeArg\\n * @param {boolean} canBubbleArg\\n * @param {boolean} cancelableArg\\n * @param {string} keyArg\\n * @param {?string} oldValueArg\\n * @param {?string} newValueArg\\n * @param {string} urlArg\\n * @param {?Storage} storageAreaArg\\n * @return {void}\\n */\\nStorageEvent.prototype.initStorageEvent = function(typeArg, canBubbleArg,\\n                                                   cancelableArg, keyArg,\\n                                                   oldValueArg, newValueArg,\\n                                                   urlArg, storageAreaArg) {};\\n\\n","externs/whatwg_encoding.js":"/*\\n * Copyright 2015 The Closure Compiler Authors\\n *\\n * Licensed under the Apache License, Version 2.0 (the \\"License\\");\\n * you may not use this file except in compliance with the License.\\n * You may obtain a copy of the License at\\n *\\n *     http://www.apache.org/licenses/LICENSE-2.0\\n *\\n * Unless required by applicable law or agreed to in writing, software\\n * distributed under the License is distributed on an \\"AS IS\\" BASIS,\\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\\n * See the License for the specific language governing permissions and\\n * limitations under the License.\\n */\\n\\n/**\\n * @fileoverview Definitions for WHATWG\'s Encoding specification\\n *     https://encoding.spec.whatwg.org\\n * @externs\\n */\\n\\n/**\\n * @constructor\\n * @param {string=} encoding\\n * @param {Object=} options\\n */\\nfunction TextDecoder(encoding, options) {}\\n\\n/** @type {string} **/ TextDecoder.prototype.encoding;\\n/** @type {boolean} **/ TextDecoder.prototype.fatal;\\n/** @type {boolean} **/ TextDecoder.prototype.ignoreBOM;\\n\\n/**\\n * @param {!BufferSource=} input\\n * @param {?Object=} options\\n * @return {!string}\\n * @see https://encoding.spec.whatwg.org/#textdecoder\\n */\\nTextDecoder.prototype.decode = function decode(input, options) {};\\n\\n/**\\n * @constructor\\n * @param {string=} utfLabel\\n */\\nfunction TextEncoder(utfLabel) {}\\n\\n/** @type {string} **/ TextEncoder.prototype.encoding;\\n\\n/**\\n * @param {string=} input\\n * @return {!Uint8Array}\\n */\\nTextEncoder.prototype.encode = function(input) {};\\n","externs/w3c_anim_timing.js":"/*\\n * Copyright 2011 The Closure Compiler Authors\\n *\\n * Licensed under the Apache License, Version 2.0 (the \\"License\\");\\n * you may not use this file except in compliance with the License.\\n * You may obtain a copy of the License at\\n *\\n *     http://www.apache.org/licenses/LICENSE-2.0\\n *\\n * Unless required by applicable law or agreed to in writing, software\\n * distributed under the License is distributed on an \\"AS IS\\" BASIS,\\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\\n * See the License for the specific language governing permissions and\\n * limitations under the License.\\n */\\n/**\\n * @fileoverview Definitions for timing control for script base animations. The\\n *  whole file has been fully type annotated.\\n *\\n * @see http://www.w3.org/TR/animation-timing/\\n * @see http://webstuff.nfshost.com/anim-timing/Overview.html\\n * @externs\\n * @author bcornell@google.com (Brian Cornell)\\n */\\n\\n/**\\n * @param {function(number)} callback\\n * @param {Element=} opt_element In early versions of this API, the callback\\n *     was invoked only if the element was visible.\\n * @return {number}\\n */\\nfunction requestAnimationFrame(callback, opt_element) {};\\n\\n/**\\n * @param {number} handle\\n * @return {undefined}\\n */\\nfunction cancelRequestAnimationFrame(handle) {};\\n\\n/**\\n * @param {number} handle\\n * @return {undefined}\\n */\\nfunction cancelAnimationFrame(handle) {};\\n\\n/**\\n * @param {function(number)} callback\\n * @param {Element=} opt_element\\n * @return {number}\\n */\\nfunction webkitRequestAnimationFrame(callback, opt_element) {};\\n\\n/**\\n * @param {number} handle\\n * @return {undefined}\\n */\\nfunction webkitCancelRequestAnimationFrame(handle) {};\\n\\n/**\\n * @param {number} handle\\n * @return {undefined}\\n */\\nfunction webkitCancelAnimationFrame(handle) {};\\n\\n/**\\n * @param {?function(number)} callback It\'s legitimate to pass a null\\n *     callback and listen on the MozBeforePaint event instead.\\n * @param {Element=} opt_element\\n * @return {number}\\n */\\nfunction mozRequestAnimationFra';
a.a+="me(callback, opt_element) {};\\n\\n/**\\n * @param {number} handle\\n * @return {undefined}\\n */\\nfunction mozCancelRequestAnimationFrame(handle) {};\\n\\n/**\\n * @param {number} handle\\n * @return {undefined}\\n */\\nfunction mozCancelAnimationFrame(handle) {};\\n\\n/**\\n * @param {function(number)} callback\\n * @param {Element=} opt_element\\n * @return {number}\\n */\\nfunction msRequestAnimationFrame(callback, opt_element) {};\\n\\n/**\\n * @param {number} handle\\n * @return {undefined}\\n */\\nfunction msCancelRequestAnimationFrame(handle) {};\\n\\n/**\\n * @param {number} handle\\n * @return {undefined}\\n */\\nfunction msCancelAnimationFrame(handle) {};\\n\\n/**\\n * @param {function(number)} callback\\n * @param {Element=} opt_element\\n * @return {number}\\n */\\nfunction oRequestAnimationFrame(callback, opt_element) {};\\n\\n/**\\n * @param {number} handle\\n * @return {undefined}\\n */\\nfunction oCancelRequestAnimationFrame(handle) {};\\n\\n/**\\n * @param {number} handle\\n * @return {undefined}\\n */\\nfunction oCancelAnimationFrame(handle) {};\\n\",\"externs/w3c_audio.js\":\"/*\\n * Copyright 2012 The Closure Compiler Authors.\\n *\\n * Licensed under the Apache License, Version 2.0 (the \\\"License\\\");\\n * you may not use this file except in compliance with the License.\\n * You may obtain a copy of the License at\\n *\\n *     http://www.apache.org/licenses/LICENSE-2.0\\n *\\n * Unless required by applicable law or agreed to in writing, software\\n * distributed under the License is distributed on an \\\"AS IS\\\" BASIS,\\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\\n * See the License for the specific language governing permissions and\\n * limitations under the License.\\n */\\n\\n/**\\n * @fileoverview Definitions for the API related to audio.\\n * Definitions for the Web Audio API.\\n * This file is based on the W3C Working Draft 15 March 2012.\\n * @see http://www.w3.org/TR/webaudio/\\n *\\n * @externs\\n */\\n\\n/**\\n * @constructor\\n */\\nfunction AudioContext() {}\\n\\n/** @type {!AudioDestinationNode} */\\nAudioContext.prototype.destination;\\n\\n/** @type {number} */\\nAudioContext.prototype.sampleRate;\\n\\n/** @type {number} */\\nAudioContext.prototype.currentTime;\\n\\n/** @type {!AudioListener} */\\nAudioContext.prototype.listener;\\n\\n/**\\n * @type {string}\\n * @see https://developer.mozilla.org/en-US/docs/Web/API/AudioContext/state\\n */\\nAudioContext.prototype.state;\\n\\n/**\\n * @param {number} numberOfChannels\\n * @param {number} length\\n * @param {number} sampleRate\\n * @return {!AudioBuffer}\\n */\\nAudioContext.prototype.createBuffer =\\n    function(numberOfChannels, length, sampleRate) {};\\n\\n/**\\n * @param {ArrayBuffer} audioData\\n * @param {function(AudioBuffer)=} successCallback\\n * @param {function(?)=} errorCallback\\n * @return {!Promise<AudioBuffer>}\\n */\\nAudioContext.prototype.decodeAudioData =\\n    function(audioData, successCallback, errorCallback) {};\\n\\n/**\\n * @return {!AudioBufferSourceNode}\\n */\\nAudioContext.prototype.createBufferSource = function() {};\\n\\n/**\\n * @param {HTMLMediaElement} mediaElement\\n * @return {!MediaElementAudioSourceNode}\\n */\\nAudioContext.prototype.createMediaElementSource = function(mediaElement) {};\\n\\n/**\\n * @param {MediaStream} mediaStream\\n * @return {!MediaStreamAudioSourceNode}\\n */\\nAudioContext.prototype.createMediaStreamSource = function(mediaStream) {};\\n\\n/**\\n * @return {!MediaStreamAudioDestinationNode}\\n */\\nAudioContext.prototype.createMediaStreamDestination = function() {};\\n\\n/**\\n * To be deprecated. Use createScriptProcessor instead.\\n * @param {number} bufferSize\\n * @param {number} numberOfInputs\\n * @param {number} numberOfOuputs\\n * @return {!ScriptProcessorNode}\\n */\\nAudioContext.prototype.createJavaScriptNode = function(bufferSize,\\n    numberOfInputs, numberOfOuputs) {};\\n\\n/**\\n * @param {number} bufferSize\\n * @param {number=} numberOfInputChannels_opt\\n * @param {number=} numberOfOutputChannels_opt\\n * @return {!ScriptProcessorNode}\\n */\\nAudioContext.prototype.createScriptProcessor = function(bufferSize,\\n    numberOfInputChannels_opt, numberOfOutputChannels_opt) {};\\n\\n/**\\n * @return {!RealtimeAnalyserNode}\\n */\\nAudioContext.prototype.createAnalyser = function() {};\\n\\n/**\\n * @deprecated Use createGain instead.\\n * @return {!GainNode}\\n */\\nAudioContext.prototype.createGainNode = function() {};\\n\\n/**\\n * @return {!GainNode}\\n */\\nAudioContext.prototype.createGain = function() {};\\n\\n/**\\n * To be deprecated. Use createDelay instead.\\n * @param {number=} maxDelayTime\\n * @return {!DelayNode}\\n */\\nAudioContext.prototype.createDelayNode = function(maxDelayTime) {};\\n\\n/**\\n * @param {number=} maxDelayTime\\n * @return {!DelayNode}\\n */\\nAudioContext.prototype.createDelay = function(maxDelayTime) {};\\n\\n/**\\n * @return {!BiquadFilterNode}\\n */\\nAudioContext.prototype.createBiquadFilter = function() {};\\n\\n/**\\n * @return {!WaveShaperNode}\\n */\\nAudioContext.prototype.createWaveShaper = function() {};\\n\\n/**\\n * @return {!AudioPannerNode}\\n */\\nAudioContext.prototype.createPanner = function() {};\\n\\n/**\\n * @return {!StereoPannerNode}\\n */\\nAudioContext.prototype.createStereoPanner = function() {};\\n\\n/**\\n * @return {!ConvolverNode}\\n */\\nAudioContext.prototype.createConvolver = function() {};\\n\\n/**\\n * @param {number=} numberOfOutputs\\n * @return {!AudioChannelSplitter}\\n */\\nAudioContext.prototype.createChannelSplitter = function(numberOfOutputs) {};\\n\\n/**\\n * @param {number=} numberOfInputs\\n * @return {!AudioChannelMerger}\\n */\\nAudioContext.prototype.createChannelMerger = function(numberOfInputs) {};\\n\\n/**\\n * @return {!DynamicsCompressorNode}\\n */\\nAudioContext.prototype.createDynamicsCompressor = function() {};\\n\\n/**\\n * @return {!OscillatorNode}\\n */\\nAudioContext.prototype.createOscillator = function() {};\\n\\n/**\\n * @param {Float32Array} real\\n * @param {Float32Array} imag\\n * @return {!PeriodicWave}\\n */\\nAudioContext.prototype.createPeriodicWave = function(real, imag) {};\\n\\n/**\\n * @return {!Promise<void>}\\n * @see https://developer.mozilla.org/en-US/docs/Web/API/AudioContext/resume\\n */\\nAudioContext.prototype.resume = function() {};\\n\\n/**\\n * @return {!Promise<void>}\\n * @see https://developer.mozilla.org/en-US/docs/Web/API/AudioContext/suspend\\n */\\nAudioContext.prototype.suspend = function() {};\\n\\n/**\\n * @return {!Promise<void>}\\n * @see https://developer.mozilla.org/en-US/docs/Web/API/AudioContext/close\\n */\\nAudioContext.prototype.close = function() {};\\n\\n/**\\n * @param {number} numberOfChannels\\n * @param {number} length\\n * @param {number} sampleRate\\n * @constructor\\n * @extends {AudioContext}\\n */\\nfunction OfflineAudioContext(numberOfChannels, length, sampleRate) {}\\n\\nOfflineAudioContext.prototype.startRendering = function() {};\\n\\n/** @type {function(OfflineAudioCompletionEvent)} */\\nOfflineAudioContext.prototype.oncomplete;\\n\\n/**\\n * @constructor\\n * @extends {Event}\\n */\\nfunction OfflineAudioCompletionEvent() {}\\n\\n/** @type {AudioBuffer} */\\nOfflineAudioCompletionEvent.prototype.renderedBuffer;\\n\\n/**\\n * @constructor\\n */\\nfunction AudioNode() {}\\n\\n/**\\n * @param {AudioNode|AudioParam} destination\\n * @param {number=} output\\n * @param {number=} input\\n * @return {undefined}\\n */\\nAudioNode.prototype.connect = function(destination, output, input) {};\\n\\n/**\\n * @param {number=} output\\n * @return {undefined}\\n */\\nAudioNode.prototype.disconnect = function(output) {};\\n\\n/** @type {!AudioContext} */\\nAudioNode.prototype.context;\\n\\n/** @type {number} */\\nAudioNode.prototype.numberOfInputs;\\n\\n/** @type {number} */\\nAudioNode.prototype.numberOfOutputs;\\n\\n/** @type {number} */\\nAudioNode.prototype.channelCount;\\n\\n/** @type {string} */\\nAudioNode.prototype.channelCountMode;\\n\\n/** @type {string} */\\nAudioNode.prototype.channelInterpretation;\\n\\n/**\\n * @constructor\\n * @extends {AudioNode}\\n */\\nfunction AudioSourceNode() {}\\n\\n/**\\n * @constructor\\n * @extends {AudioNode}\\n */\\nfunction AudioDestinationNode() {}\\n\\n/**\\n * To be deprecated. Use maxChannelCount instead.\\n * @type {number}\\n */\\nAudioDestinationNode.prototype.numberOfChannels;\\n\\n/** @type {number} */\\nAudioDestinationNode.prototype.maxChannelCount;\\n\\n/**\\n * @constructor\\n */\\nfunction AudioParam() {}\\n\\n/** @type {number} */\\nAudioParam.prototype.value;\\n\\n/**\\n * To be deprecated.\\n * @type {number}\\n */\\nAudioParam.prototype.maxValue;\\n\\n/**\\n * To be deprecated.\\n * @type {number}\\n */\\nAudioParam.prototype.minValue;\\n\\n/** @type {number} */\\nAudioParam.prototype.defaultValue;\\n\\n/**\\n * To be deprecated.\\n * @type {number}\\n */\\nAudioParam.prototype.units;\\n\\n/**\\n * @param {number} value\\n * @param {number} startTime\\n * @return {AudioParam}\\n */\\nAudioParam.prototype.setValueAtTime = function(value, startTime) {};\\n\\n/**\\n * @param {number} value\\n * @param {number} endTime\\n * @return {AudioParam}\\n */\\nAudioParam.prototype.linearRampToValueAtTime = function(value, endTime) {};\\n\\n/**\\n * @param {number} value\\n * @param {number} endTime\\n * @return {AudioParam}\\n */\\nAudioParam.prototype.exponentialRampToValueAtTime = function(value, endTime) {};\\n\\n/**\\n * @param {number} target\\n * @param {number} startTime\\n * @param {number} timeConstant\\n * @return {AudioParam}\\n */\\nAudioParam.prototype.setTargetAtTime = function(target, startTime,\\n    timeConstant) {};\\n\\n/**\\n * @deprecated Use setTargetAtTime instead.\\n * @param {number} target\\n * @param {number} startTime\\n * @param {number} timeConstant\\n * @return {AudioParam}\\n */\\nAudioParam.prototype.setTargetValueAtTime = function(target, startTime,\\n    timeConstant) {};\\n\\n/**\\n * @param {Float32Array} values\\n * @param {number} startTime\\n * @param {number} duration\\n * @return {AudioParam}\\n */\\nAudioParam.prototype.setValueCurveAtTime = function(values, startTime,\\n    duration) {};\\n\\n/**\\n * @param {number} startTime\\n * @return {AudioParam}\\n */\\nAudioParam.prototype.cancelScheduledValues = function(startTime) {};\\n\\n/**\\n * @constructor\\n * @extends {AudioParam}\\n */\\nfunction AudioGain() {}\\n\\n/**\\n * @constructor\\n * @extends {AudioNode}\\n */\\nfunction GainNode() {}\\n\\n/** @type {AudioGain} */\\nGainNode.prototype.gain;\\n\\n/**\\n * @constructor\\n * @extends {AudioNode}\\n */\\nfunction DelayNode() {}\\n\\n/** @type {AudioParam} */\\nDelayNode.prototype.delayTime;\\n\\n/**\\n * @constructor\\n */\\nfunction AudioBuffer() {}\\n\\n/**\\n * To be deprecated.\\n * @type {AudioGain}\\n */\\nAudioBuffer.prototype.gain;\\n\\n/** @type {number} */\\nAudioBuffer.prototype.sampleRate;\\n\\n/** @type {number} */\\nAudioBuffer.prototype.length;\\n\\n/** @type {number} */\\nAudioBuffer.prototype.duration;\\n\\n/** @type {number} */\\nAudioBuffer.prototype.numberOfChannels;\\n\\n/**\\n * @param {number} channel\\n * @return {Float32Array}\\n */\\nAudioBuffer.prototype.getChannelData = function(channel) {};\\n\\n/**\\n * @constructor\\n * @extends {AudioSourceNode}\\n */\\nfunction AudioBufferSourceNode() {}\\n\\n/**\\n * To be deprecated.\\n * @const\\n * @type {number}\\n */\\nAudioBufferSourceNode.prototype.UNSCHEDULED_STATE; /* = 0 */\\n\\n/**\\n * To be deprecated.\\n * @const\\n * @type {number}\\n */\\nAudioBufferSourceNode.prototype.SCHEDULED_STATE; /* = 1 */\\n\\n/**\\n * To be deprecated.\\n * @const\\n * @type {number}\\n */\\nAudioBufferSourceNode.prototype.PLAYING_STATE; /* = 2 */\\n\\n/**\\n * To be deprecated.\\n * @const\\n * @type {number}\\n */\\nAudioBufferSourceNode.prototype.FINISHED_STATE; /* = 3 */\\n\\n/**\\n * To be deprecated.\\n * @type {number}\\n */\\nAudioBufferSourceNode.prototype.playbackState;\\n\\n/** @type {AudioBuffer} */\\nAudioBufferSourceNode.prototype.buffer;\\n\\n/**\\n * To be deprecated.\\n * @type {number}\\n */\\nAudioBufferSourceNode.prototype.gain;\\n\\n/** @type {!AudioParam} */\\nAudioBufferSourceNode.prototype.playbackRate;\\n\\n/** @type {boolean} */\\nAudioBufferSourceNode.prototype.loop;\\n\\n/** @type {number} */\\nAudioBufferSourceNode.prototype.loopStart;\\n\\n/** @type {number} */\\nAudioBufferSourceNode.prototype.loopEnd;\\n\\n/**\\n * @param {number} when\\n * @param {number=} opt_offset\\n * @param {number=} opt_duration\\n * @return {undefined}\\n */\\nAudioBufferSourceNode.prototype.start = function(when, opt_offset,\\n    opt_duration) {};\\n\\n/**\\n * @param {number} when\\n * @return {undefined}\\n */\\nAudioBufferSourceNode.prototype.stop = function(when) {};\\n\\n/**\\n * To be deprecated.\\n * @param {number} when\\n * @return {undefined}\\n */\\nAudioBufferSourceNode.prototype.noteOn = function(when) {};\\n\\n/**\\n * To be deprecated.\\n * @param {number} when\\n * @param {number} grainOffset\\n * @param {number} grainDuration\\n * @return {undefined}\\n */\\nAudioBufferSourceNode.prototype.noteGrainOn = function(when, grainOffset,\\n    grainDuration) {};\\n\\n/**\\n * To be deprecated.\\n * @param {number} when\\n * @return {undefined}\\n */\\nAudioBufferSourceNode.prototype.noteOff = function(when) {};\\n\\n/**\\n * @constructor\\n * @extends {AudioSourceNode}\\n */\\nfunction MediaElementAudioSourceNode() {}\\n\\n/**\\n * To be deprecated. Use ScriptProcessorNode instead.\\n * @constructor\\n * @extends {AudioNode}\\n */\\nfunction JavaScriptAudioNode() {}\\n\\n/**\\n * @type {EventListener|(function(!AudioProcessingEvent):(boolean|undefined))}\\n */\\nJavaScriptAudioNode.prototype.onaudioprocess;\\n\\n/**\\n * @const\\n * @type {number}\\n */\\nJavaScriptAudioNode.prototype.bufferSize;\\n\\n/**\\n * @constructor\\n * @extends {AudioNode}\\n */\\nfunction ScriptProcessorNode() {}\\n\\n/**\\n * @type {EventListener|(function(!AudioProcessingEvent):(boolean|undefined))}\\n */\\nScriptProcessorNode.prototype.onaudioprocess;\\n\\n/**\\n * @const\\n * @type {number}\\n */\\nScriptProcessorNode.prototype.bufferSize;\\n\\n/**\\n * @constructor\\n * @extends {Event}\\n */\\nfunction AudioProcessingEvent() {}\\n\\n/** @type {ScriptProcessorNode} */\\nAudioProcessingEvent.prototype.node;\\n\\n/** @type {number} */\\nAudioProcessingEvent.prototype.playbackTime;\\n\\n/** @type {AudioBuffer} */\\nAudioProcessingEvent.prototype.inputBuffer;\\n\\n/** @type {AudioBuffer} */\\nAudioProcessingEvent.prototype.outputBuffer;\\n\\n/**\\n * @constructor\\n * @extends {AudioNode}\\n */\\nfunction AudioPannerNode() {}\\n\\n/**\\n * To be deprecated. Use 'equalpower' instead.\\n * @const\\n * @type {number}\\n */\\nAudioPannerNode.prototype.EQUALPOWER = 0;\\n\\n/**\\n * To be deprecated. Use 'HRTF' instead.\\n * @const\\n * @type {number}\\n */\\nAudioPannerNode.prototype.HRTF = 1;\\n\\n/**\\n * To be deprecated.\\n * @const\\n * @type {number}\\n */\\nAudioPannerNode.prototype.SOUNDFIELD = 2;\\n\\n/**\\n * To be deprecated. Use 'linear' instead.\\n * @const\\n * @type {number}\\n */\\nAudioPannerNode.prototype.LINEAR_DISTANCE = 0;\\n\\n/**\\n * To be deprecated. Use 'inverse' instead.\\n * @const\\n * @type {number}\\n */\\nAudioPannerNode.prototype.INVERSE_DISTANCE = 1;\\n\\n/**\\n * To be deprecated. Use 'exponential' instead.\\n * @const\\n * @type {number}\\n */\\nAudioPannerNode.prototype.EXPONENTIAL_DISTANCE = 2;\\n\\n/** @type {number|string} */\\nAudioPannerNode.prototype.panningModel;\\n\\n/**\\n * @param {number} x\\n * @param {number} y\\n * @param {number} z\\n * @return {undefined}\\n */\\nAudioPannerNode.prototype.setPosition = function(x, y, z) {};\\n\\n/**\\n * @param {number} x\\n * @param {number} y\\n * @param {number} z\\n * @return {undefined}\\n */\\nAudioPannerNode.prototype.setOrientation = function(x, y, z) {};\\n\\n/**\\n * @param {number} x\\n * @param {number} y\\n * @param {number} z\\n * @return {undefined}\\n */\\nAudioPannerNode.prototype.setVelocity = function(x, y, z) {};\\n\\n/** @type {number|string} */\\nAudioPannerNode.prototype.distanceModel;\\n\\n/** @type {number} */\\nAudioPannerNode.prototype.refDistance;\\n\\n/** @type {number} */\\nAudioPannerNode.prototype.maxDistance;\\n\\n/** @type {number} */\\nAudioPannerNode.prototype.rolloffFactor;\\n\\n/** @type {number} */\\nAudioPannerNode.prototype.coneInnerAngle;\\n\\n/** @type {number} */\\nAudioPannerNode.prototype.coneOuterAngle;\\n\\n/** @type {number} */\\nAudioPannerNode.prototype.coneOuterGain;\\n\\n/**\\n * To be deprecated.\\n * @type {AudioGain}\\n */\\nAudioPannerNode.prototype.coneGain;\\n\\n/**\\n * To be deprecated.\\n * @type {AudioGain}\\n */\\nAudioPannerNode.prototype.distanceGain;\\n\\n/**\\n * @constructor\\n * @extends {AudioNode}\\n * @see http://webaudio.github.io/web-audio-api/#the-stereopannernode-interface\\n */\\nfunction StereoPannerNode() {}\\n\\n/** @type {!AudioParam} */\\nStereoPannerNode.prototype.pan;\\n\\n/**\\n * @constructor\\n */\\nfunction AudioListener() {}\\n\\n/**\\n * To be deprecated.\\n * ";
a.a+='@type {number}\\n */\\nAudioListener.prototype.gain;\\n\\n/** @type {number} */\\nAudioListener.prototype.dopplerFactor;\\n\\n/** @type {number} */\\nAudioListener.prototype.speedOfSound;\\n\\n/**\\n * @param {number} x\\n * @param {number} y\\n * @param {number} z\\n * @return {undefined}\\n */\\nAudioListener.prototype.setPosition = function(x, y, z) {};\\n\\n/**\\n * @param {number} x\\n * @param {number} y\\n * @param {number} z\\n * @param {number} xUp\\n * @param {number} yUp\\n * @param {number} zUp\\n * @return {undefined}\\n */\\nAudioListener.prototype.setOrientation = function(x, y, z, xUp, yUp, zUp) {};\\n\\n/**\\n * @param {number} x\\n * @param {number} y\\n * @param {number} z\\n * @return {undefined}\\n */\\nAudioListener.prototype.setVelocity = function(x, y, z) {};\\n\\n/**\\n * @constructor\\n * @extends {AudioNode}\\n */\\nfunction ConvolverNode() {}\\n\\n/** @type {AudioBuffer} */\\nConvolverNode.prototype.buffer;\\n\\n/** @type {boolean} */\\nConvolverNode.prototype.normalize;\\n\\n/**\\n * @constructor\\n * @extends {AudioNode}\\n */\\nvar AnalyserNode = function() {};\\n\\n/**\\n * @param {Float32Array} array\\n * @return {undefined}\\n */\\nAnalyserNode.prototype.getFloatFrequencyData = function(array) {};\\n\\n/**\\n * @param {Uint8Array} array\\n * @return {undefined}\\n */\\nAnalyserNode.prototype.getByteFrequencyData = function(array) {};\\n\\n/**\\n * @param {Uint8Array} array\\n * @return {undefined}\\n */\\nAnalyserNode.prototype.getByteTimeDomainData = function(array) {};\\n\\n/** @type {number} */\\nAnalyserNode.prototype.fftSize;\\n\\n/** @type {number} */\\nAnalyserNode.prototype.frequencyBinCount;\\n\\n/** @type {number} */\\nAnalyserNode.prototype.minDecibels;\\n\\n/** @type {number} */\\nAnalyserNode.prototype.maxDecibels;\\n\\n/** @type {number} */\\nAnalyserNode.prototype.smoothingTimeConstant;\\n\\n/**\\n * @constructor\\n * @extends {AnalyserNode}\\n * @deprecated Use AnalyserNode\\n *\\n * This constructor has been added for backwards compatibility.\\n */\\nvar RealtimeAnalyserNode = function() {};\\n\\n/**\\n * @constructor\\n * @extends {AudioNode}\\n */\\nfunction AudioChannelSplitter() {}\\n\\n/**\\n * @constructor\\n * @extends {AudioNode}\\n */\\nfunction AudioChannelMerger() {}\\n\\n/**\\n * @constructor\\n * @extends {AudioNode}\\n */\\nfunction DynamicsCompressorNode() {}\\n\\n/** @type {!AudioParam} */\\nDynamicsCompressorNode.prototype.threshold;\\n\\n/** @type {!AudioParam} */\\nDynamicsCompressorNode.prototype.knee;\\n\\n/** @type {!AudioParam} */\\nDynamicsCompressorNode.prototype.ratio;\\n\\n/** @type {!AudioParam} */\\nDynamicsCompressorNode.prototype.reduction;\\n\\n/** @type {!AudioParam} */\\nDynamicsCompressorNode.prototype.attack;\\n\\n/** @type {!AudioParam} */\\nDynamicsCompressorNode.prototype.release;\\n\\n/**\\n * @constructor\\n * @extends {AudioNode}\\n */\\nfunction BiquadFilterNode() {}\\n\\n/**\\n * A read-able and write-able string that specifies the type of the filter.\\n * See http://webaudio.github.io/web-audio-api/#the-biquadfilternode-interface\\n * for valid values.\\n * @type {string}\\n */\\nBiquadFilterNode.prototype.type;\\n\\n/** @type {!AudioParam} */\\nBiquadFilterNode.prototype.frequency;\\n\\n/** @type {!AudioParam} */\\nBiquadFilterNode.prototype.detune;\\n\\n/** @type {!AudioParam} */\\nBiquadFilterNode.prototype.Q;\\n\\n/** @type {!AudioParam} */\\nBiquadFilterNode.prototype.gain;\\n\\n/**\\n * @param {Float32Array} frequencyHz\\n * @param {Float32Array} magResponse\\n * @param {Float32Array} phaseResponse\\n * @return {undefined}\\n */\\nBiquadFilterNode.prototype.getFrequencyResponse = function(frequencyHz,\\n    magResponse, phaseResponse) {};\\n\\n/**\\n * @constructor\\n * @extends {AudioNode}\\n */\\nfunction WaveShaperNode() {}\\n\\n/** @type {Float32Array} */\\nWaveShaperNode.prototype.curve;\\n\\n/** @type {string} */\\nWaveShaperNode.prototype.oversample;\\n\\n/**\\n * @constructor\\n */\\nfunction WaveTable() {}\\n\\n/**\\n * @constructor\\n */\\nfunction PeriodicWave() {}\\n\\n/**\\n * @constructor\\n * @extends {AudioNode}\\n */\\nfunction OscillatorNode() {}\\n\\n/** @type {string} */\\nOscillatorNode.prototype.type;\\n\\n/**\\n * To be deprecated.\\n * @type {number}\\n */\\nOscillatorNode.prototype.playbackState;\\n\\n/** @type {!AudioParam} */\\nOscillatorNode.prototype.frequency;\\n\\n/** @type {!AudioParam} */\\nOscillatorNode.prototype.detune;\\n\\n/** @type {function(number)} */\\nOscillatorNode.prototype.start;\\n\\n/** @type {function(number)} */\\nOscillatorNode.prototype.stop;\\n\\n/**\\n * To be deprecated.\\n * @type {function(WaveTable)}\\n */\\nOscillatorNode.prototype.setWaveTable;\\n\\n/** @type {function(PeriodicWave)} */\\nOscillatorNode.prototype.setPeriodicWave;\\n\\n/** @type {EventListener} */\\nOscillatorNode.prototype.onended;\\n\\n/**\\n * @constructor\\n * @extends {AudioSourceNode}\\n */\\nfunction MediaStreamAudioSourceNode() {}\\n\\n/**\\n * @constructor\\n * @extends {AudioDestinationNode}\\n */\\nfunction MediaStreamAudioDestinationNode() {}\\n\\n/**\\n * @type {!MediaStream}\\n * @const\\n */\\nMediaStreamAudioDestinationNode.prototype.stream;\\n\\n/**\\n * Definitions for the Web Audio API with webkit prefix.\\n */\\n\\n/**\\n * @constructor\\n * @extends {AudioContext}\\n */\\nfunction webkitAudioContext() {}\\n\\n/**\\n * @param {number} numberOfChannels\\n * @param {number} length\\n * @param {number} sampleRate\\n * @constructor\\n * @extends {OfflineAudioContext}\\n */\\nfunction webkitOfflineAudioContext(numberOfChannels, length, sampleRate) {}\\n\\n/**\\n * @constructor\\n * @extends {AudioPannerNode}\\n */\\nfunction webkitAudioPannerNode() {}\\n\\n/**\\n * Definitions for the Audio API as implemented in Firefox.\\n *   Please note that this document describes a non-standard experimental API.\\n *   This API is considered deprecated.\\n * @see https://developer.mozilla.org/en/DOM/HTMLAudioElement\\n */\\n\\n/**\\n * @param {string=} src\\n * @constructor\\n * @extends {HTMLAudioElement}\\n */\\nfunction Audio(src) {}\\n\\n/**\\n * @param {number} channels\\n * @param {number} rate\\n * @return {undefined}\\n */\\nAudio.prototype.mozSetup = function(channels, rate) {};\\n\\n/**\\n * @param {Array|Float32Array} buffer\\n * @return {undefined}\\n */\\nAudio.prototype.mozWriteAudio = function(buffer) {};\\n\\n/**\\n * @return {number}\\n */\\nAudio.prototype.mozCurrentSampleOffset = function() {};\\n","externs/w3c_batterystatus.js":"/*\\n * Copyright 2015 The Closure Compiler Authors\\n *\\n * Licensed under the Apache License, Version 2.0 (the \\"License\\");\\n * you may not use this file except in compliance with the License.\\n * You may obtain a copy of the License at\\n *\\n *     http://www.apache.org/licenses/LICENSE-2.0\\n *\\n * Unless required by applicable law or agreed to in writing, software\\n * distributed under the License is distributed on an \\"AS IS\\" BASIS,\\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\\n * See the License for the specific language governing permissions and\\n * limitations under the License.\\n */\\n\\n/**\\n * @fileoverview Definitions for W3C\'s Battery Status API.\\n *  The whole file has been fully type annotated. Created from\\n *  http://www.w3.org/TR/2014/CR-battery-status-20141209/\\n *\\n * @externs\\n */\\n\\n\\n\\n/**\\n * @interface\\n * @extends {EventTarget}\\n */\\nfunction BatteryManager() {}\\n\\n\\n/**\\n * @type {boolean}\\n */\\nBatteryManager.prototype.charging;\\n\\n\\n/**\\n * @type {number}\\n */\\nBatteryManager.prototype.chargingTime;\\n\\n\\n/**\\n * @type {number}\\n */\\nBatteryManager.prototype.dischargingTime;\\n\\n\\n/**\\n * @type {number}\\n */\\nBatteryManager.prototype.level;\\n\\n\\n/**\\n * @type {?function(!Event)}\\n */\\nBatteryManager.prototype.onchargingchange;\\n\\n\\n/**\\n * @type {?function(!Event)}\\n */\\nBatteryManager.prototype.onchargingtimechange;\\n\\n\\n/**\\n * @type {?function(!Event)}\\n */\\nBatteryManager.prototype.ondischargingtimechange;\\n\\n\\n/**\\n * @type {?function(!Event)}\\n */\\nBatteryManager.prototype.onlevelchange;\\n","externs/w3c_css3d.js":"/*\\n * Copyright 2010 The Closure Compiler Authors\\n *\\n * Licensed under the Apache License, Version 2.0 (the \\"License\\");\\n * you may not use this file except in compliance with the License.\\n * You may obtain a copy of the License at\\n *\\n *     http://www.apache.org/licenses/LICENSE-2.0\\n *\\n * Unless required by applicable law or agreed to in writing, software\\n * distributed under the License is distributed on an \\"AS IS\\" BASIS,\\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\\n * See the License for the specific language governing permissions and\\n * limitations under the License.\\n */\\n\\n/**\\n * @fileoverview Definitions for W3C\'s CSS 3D Transforms specification.\\n *  The whole file has been fully type annotated. Created from\\n *  https://dvcs.w3.org/hg/FXTF/raw-file/tip/matrix/index.html\\n *\\n * @externs\\n * @author rjfioravanti@google.com (Ryan Fioravanti)\\n */\\n\\n/**\\n * @constructor\\n * @param {string=} opt_matrix\\n * @see https://dvcs.w3.org/hg/FXTF/raw-file/tip/matrix/index.html#the-cssmatrix-interface\\n */\\nfunction CSSMatrix(opt_matrix) {}\\n\\n/**\\n * @type {number}\\n * @see https://dvcs.w3.org/hg/FXTF/raw-file/tip/matrix/index.html#three-dimensional-attributes\\n */\\nCSSMatrix.prototype.m11;\\n\\n/**\\n * @type {number}\\n * @see https://dvcs.w3.org/hg/FXTF/raw-file/tip/matrix/index.html#three-dimensional-attributes\\n */\\nCSSMatrix.prototype.m12;\\n\\n/**\\n * @type {number}\\n * @see https://dvcs.w3.org/hg/FXTF/raw-file/tip/matrix/index.html#three-dimensional-attributes\\n */\\nCSSMatrix.prototype.m13;\\n\\n/**\\n * @type {number}\\n * @see https://dvcs.w3.org/hg/FXTF/raw-file/tip/matrix/index.html#three-dimensional-attributes\\n */\\nCSSMatrix.prototype.m14;\\n\\n/**\\n * @type {number}\\n * @see https://dvcs.w3.org/hg/FXTF/raw-file/tip/matrix/index.html#three-dimensional-attributes\\n */\\nCSSMatrix.prototype.m21;\\n\\n/**\\n * @type {number}\\n * @see https://dvcs.w3.org/hg/FXTF/raw-file/tip/matrix/index.html#three-dimensional-attributes\\n */\\nCSSMatrix.prototype.m22;\\n\\n/**\\n * @type {number}\\n * @see https://dvcs.w3.org/hg/FXTF/raw-file/tip/matrix/index.html#three-dimensional-attributes\\n */\\nCSSMatrix.prototype.m23;\\n\\n/**\\n * @type {number}\\n * @see https://dvcs.w3.org/hg/FXTF/raw-file/tip/matrix/index.html#three-dimensional-attributes\\n */\\nCSSMatrix.prototype.m24;\\n\\n/**\\n * @type {number}\\n * @see https://dvcs.w3.org/hg/FXTF/raw-file/tip/matrix/index.html#three-dimensional-attributes\\n */\\nCSSMatrix.prototype.m31;\\n\\n/**\\n * @type {number}\\n * @see https://dvcs.w3.org/hg/FXTF/raw-file/tip/matrix/index.html#three-dimensional-attributes\\n */\\nCSSMatrix.prototype.m32;\\n\\n/**\\n * @type {number}\\n * @see https://dvcs.w3.org/hg/FXTF/raw-file/tip/matrix/index.html#three-dimensional-attributes\\n */\\nCSSMatrix.prototype.m33;\\n\\n/**\\n * @type {number}\\n * @see https://dvcs.w3.org/hg/FXTF/raw-file/tip/matrix/index.html#three-dimensional-attributes\\n */\\nCSSMatrix.prototype.m34;\\n\\n/**\\n * @type {number}\\n * @see https://dvcs.w3.org/hg/FXTF/raw-file/tip/matrix/index.html#three-dimensional-attributes\\n */\\nCSSMatrix.prototype.m41;\\n\\n/**\\n * @type {number}\\n * @see https://dvcs.w3.org/hg/FXTF/raw-file/tip/matrix/index.html#three-dimensional-attributes\\n */\\nCSSMatrix.prototype.m42;\\n\\n/**\\n * @type {number}\\n * @see https://dvcs.w3.org/hg/FXTF/raw-file/tip/matrix/index.html#three-dimensional-attributes\\n */\\nCSSMatrix.prototype.m43;\\n\\n/**\\n * @type {number}\\n * @see https://dvcs.w3.org/hg/FXTF/raw-file/tip/matrix/index.html#three-dimensional-attributes\\n */\\nCSSMatrix.prototype.m44;\\n\\n/**\\n * @param {string} string\\n * @return {void}\\n */\\nCSSMatrix.prototype.setMatrixValue = function(string) {};\\n\\n/**\\n * @param {!CSSMatrix} secondMatrix\\n * @return {!CSSMatrix}\\n * @see https://dvcs.w3.org/hg/FXTF/raw-file/tip/matrix/index.html#widl-CSSMatrix-multiply-CSSMatrix-CSSMatrix-other\\n */\\nCSSMatrix.prototype.multiply = function(secondMatrix) {};\\n\\n/**\\n * @return {CSSMatrix} Returns void if the matrix is non-invertable.\\n * @see https://dvcs.w3.org/hg/FXTF/raw-file/tip/matrix/index.html#widl-CSSMatrix-inverse-CSSMatrix\\n */\\nCSSMatrix.prototype.inverse = function() {};\\n\\n/**\\n * @param {number=} opt_x Defaults to 0.\\n * @param {number=} opt_y Defaults to 0.\\n * @param {number=} opt_z Defaults to 0.\\n * @return {!CSSMatrix}\\n * @see https://dvcs.w3.org/hg/FXTF/raw-file/tip/matrix/index.html#widl-CSSMatrix-translate-CSSMatrix-unrestricted-double-tx-unrestricted-double-ty-unrestricted-double-tz\\n */\\nCSSMatrix.prototype.translate = function(opt_x, opt_y, opt_z) {};\\n\\n/**\\n * @param {number=} opt_scaleX Defaults to 1.\\n * @param {number=} opt_scaleY Defaults to scaleX.\\n * @param {number=} opt_scaleZ Defaults to 1.\\n * @return {!CSSMatrix}\\n * @see https://dvcs.w3.org/hg/FXTF/raw-file/tip/matrix/index.html#widl-CSSMatrix-scale-CSSMatrix-unrestricted-double-scale-unrestricted-double-originX-unrestricted-double-originY\\n */\\nCSSMatrix.prototype.scale = function(opt_scaleX, opt_scaleY, opt_scaleZ) {};\\n\\n/**\\n * @param {number=} opt_rotX Defaults to 0.\\n * @param {number=} opt_rotY Defaults to 0.\\n * @param {number=} opt_rotZ Defaults to rotX if rotY is not defined, else 0.\\n * @return {!CSSMatrix}\\n * @see https://dvcs.w3.org/hg/FXTF/raw-file/tip/matrix/index.html#widl-CSSMatrix-rotate-CSSMatrix-unrestricted-double-angle-unrestricted-double-originX-unrestricted-double-originY\\n */\\nCSSMatrix.prototype.rotate = function(opt_rotX, opt_rotY, opt_rotZ) {};\\n\\n/**\\n * @param {number=} opt_x Defaults to 0.\\n * @param {number=} opt_y Defaults to 0.\\n * @param {number=} opt_z Defaults to 0.\\n * @param {number=} opt_angle Defaults to 0.\\n * @return {!CSSMatrix}\\n * @see https://dvcs.w3.org/hg/FXTF/raw-file/tip/matrix/index.html#widl-CSSMatrix-rotateAxisAngle-CSSMatrix-unrestricted-double-x-unrestricted-double-y-unrestricted-double-z-unrestricted-double-angle\\n */\\nCSSMatrix.prototype.rotateAxisAngle =\\n    function(opt_x, opt_y, opt_z, opt_angle) {};\\n\\n/**\\n * @constructor\\n * @param {string=} opt_matrix\\n * @extends {CSSMatrix}\\n * @see http://developer.apple.com/safari/library/documentation/AudioVideo/Reference/WebKitCSSMatrixClassReference/WebKitCSSMatrix/WebKitCSSMatrix.html#//apple_ref/javascript/instm/WebKitCSSMatrix/setMatrixValue\\n */\\nfunction WebKitCSSMatrix(opt_matrix) {}\\n\\n/**\\n * @constructor\\n * @param {string=} opt_matrix\\n * @extends {CSSMatrix}\\n * @see http://msdn.microsoft.com/en-us/library/windows/apps/hh453593.aspx\\n */\\nfunction MSCSSMatrix(opt_matrix) {}\\n","externs/w3c_elementtraversal.js":"/*\\n * Copyright 2009 The Closure Compiler Authors\\n *\\n * Licensed under the Apache License, Version 2.0 (the \\"License\\");\\n * you may not use this file except in compliance with the License.\\n * You may obtain a copy of the License at\\n *\\n *     http://www.apache.org/licenses/LICENSE-2.0\\n *\\n * Unless required by applicable law or agreed to in writing, software\\n * distributed under the License is distributed on an \\"AS IS\\" BASIS,\\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\\n * See the License for the specific language governing permissions and\\n * limitations under the License.\\n */\\n\\n/**\\n * @fileoverview Definitions for DOM Element Traversal interface.\\n *  This file depends on w3c_dom1.js.\\n *  The whole file has been fully type annotated.\\n *  Created from:\\n *    http://www.w3.org/TR/ElementTraversal/#ecmascript-bindings\\n *\\n * @externs\\n * @author arv@google.com (Erik Arvidsson)\\n */\\n\\n/**\\n * @typedef {?(Document|DocumentFragment|Element)}\\n * @see https://dom.spec.whatwg.org/#parentnode\\n */\\nvar ParentNode;\\n\\n/**\\n * @typedef {?(Element|CharacterData)}\\n * @see https://dom.spec.whatwg.org/#nondocumenttypechildnode\\n */\\nvar NonDocumentTypeChildNode;\\n\\n/**\\n * @type {Element}\\n * @see https://developer.mozilla.org/En/DOM/Element.firstElementChild\\n */\\nElement.prototype.firstElementChild;\\n\\n/**\\n * @type {Element}\\n * @see https://developer.mozilla.org/En/DOM/Element.lastElementChild\\n */\\nElement.prototype.lastElementChild;\\n\\n/**\\n * @type {Element}\\n * @see https://developer.mozilla.org/En/DOM/Element.previousElementSibling\\n */\\nElement.prototype.previousElementSibling;\\n\\n/**\\n * @type {Element}\\n * @see https://developer.mozilla.org/En/DOM/Element.nextElementSibling\\n */\\nElement.prototype.nextElementSibling;\\n\\n/**\\n * @type {number}\\n * @see https://developer.mozilla.org/En/DOM/Element.childElementCount\\n */\\nElement.prototype.childElementCount;\\n\\n/**\\n * @type {?Element}\\n * @see https://dom.spec.whatwg.org/#dom-parentnode-firstelementchild\\n ';
a.a+='*/\\nDocument.prototype.firstElementChild;\\n\\n/**\\n * @type {?Element}\\n * @see https://dom.spec.whatwg.org/#dom-parentnode-lastelementchild\\n */\\nDocument.prototype.lastElementChild;\\n\\n/**\\n * @type {number}\\n * @see https://dom.spec.whatwg.org/#dom-parentnode-childelementcount\\n */\\nDocument.prototype.childElementCount;\\n\\n/**\\n * @type {?Element}\\n * @see https://dom.spec.whatwg.org/#dom-parentnode-firstelementchild\\n */\\nDocumentFragment.prototype.firstElementChild;\\n\\n/**\\n * @type {?Element}\\n * @see https://dom.spec.whatwg.org/#dom-parentnode-lastelementchild\\n */\\nDocumentFragment.prototype.lastElementChild;\\n\\n/**\\n * @type {number}\\n * @see https://dom.spec.whatwg.org/#dom-parentnode-childelementcount\\n */\\nDocumentFragment.prototype.childElementCount;\\n\\n/**\\n * @type {?Element}\\n * @see https://dom.spec.whatwg.org/#dom-nondocumenttypechildnode-previouselementsibling\\n */\\nCharacterData.prototype.previousElementSibling;\\n\\n/**\\n * @type {?Element}\\n * @see https://dom.spec.whatwg.org/#dom-nondocumenttypechildnode-nextelementsibling\\n */\\nCharacterData.prototype.nextElementSibling;\\n","externs/w3c_gamepad.js":"/*\\n * Copyright 2013 The Closure Compiler Authors.\\n *\\n * Licensed under the Apache License, Version 2.0 (the \\"License\\");\\n * you may not use this file except in compliance with the License.\\n * You may obtain a copy of the License at\\n *\\n *     http://www.apache.org/licenses/LICENSE-2.0\\n *\\n * Unless required by applicable law or agreed to in writing, software\\n * distributed under the License is distributed on an \\"AS IS\\" BASIS,\\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\\n * See the License for the specific language governing permissions and\\n * limitations under the License.\\n */\\n\\n/**\\n * @fileoverview Definitions for W3C\'s Gamepad specification.\\n * @see http://www.w3.org/TR/gamepad/\\n * @externs\\n */\\n\\n/**\\n * @return {!Array.<!Gamepad>}\\n */\\nnavigator.getGamepads = function() {};\\n\\n/**\\n * @return {!Array.<!Gamepad>}\\n */\\nnavigator.webkitGetGamepads = function() {};\\n\\n\\n/**\\n * @interface\\n */\\nvar Gamepad = function() {};\\n\\n/**\\n * @type {string}\\n */\\nGamepad.prototype.id;  // read-only\\n\\n/**\\n * @type {number}\\n */\\nGamepad.prototype.index;  // read-only\\n\\n/**\\n * @type {boolean}\\n */\\nGamepad.prototype.connected;  // read-only\\n\\n/**\\n * @type {number}\\n */\\nGamepad.prototype.timestamp;  // read-only\\n\\n/**\\n * @type {string}\\n */\\nGamepad.prototype.mapping;  // read-only\\n\\n/**\\n * @type {!Array.<number>}\\n */\\nGamepad.prototype.axes;  // read-only\\n\\n/**\\n * Note: The W3C spec changed, this property now returns an array of\\n * GamepadButton objects.\\n *\\n * @type {(!Array.<!GamepadButton>|!Array.<number>)}\\n */\\nGamepad.prototype.buttons;\\n\\n\\n/**\\n * @interface\\n */\\nvar GamepadButton = function() {};\\n\\n/**\\n * @type {boolean}\\n */\\nGamepadButton.prototype.pressed;  // read-only\\n\\n/**\\n * @type {number}\\n */\\nGamepadButton.prototype.value;  // read-only\\n","externs/w3c_geolocation.js":"/*\\n * Copyright 2009 The Closure Compiler Authors\\n *\\n * Licensed under the Apache License, Version 2.0 (the \\"License\\");\\n * you may not use this file except in compliance with the License.\\n * You may obtain a copy of the License at\\n *\\n *     http://www.apache.org/licenses/LICENSE-2.0\\n *\\n * Unless required by applicable law or agreed to in writing, software\\n * distributed under the License is distributed on an \\"AS IS\\" BASIS,\\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\\n * See the License for the specific language governing permissions and\\n * limitations under the License.\\n */\\n\\n/**\\n * @fileoverview Definitions for W3C\'s Geolocation specification\\n *     http://www.w3.org/TR/geolocation-API/\\n * @externs\\n * @author ngd@google.com (Neil Dunn)\\n */\\n\\n/**\\n * @constructor\\n * @see http://www.w3.org/TR/geolocation-API/#geolocation\\n */\\nfunction Geolocation() {}\\n\\n/**\\n * @param {function(!GeolocationPosition)} successCallback\\n * @param {(function(!GeolocationPositionError)|null)=} opt_errorCallback\\n * @param {GeolocationPositionOptions=} opt_options\\n * @return {undefined}\\n */\\nGeolocation.prototype.getCurrentPosition = function(successCallback,\\n                                                       opt_errorCallback,\\n                                                       opt_options) {};\\n\\n/**\\n * @param {function(!GeolocationPosition)} successCallback\\n * @param {(function(!GeolocationPositionError)|null)=} opt_errorCallback\\n * @param {GeolocationPositionOptions=} opt_options\\n * @return {number}\\n */\\nGeolocation.prototype.watchPosition = function(successCallback,\\n                                                  opt_errorCallback,\\n                                                  opt_options) {};\\n\\n/**\\n * @param {number} watchId\\n * @return {undefined}\\n */\\nGeolocation.prototype.clearWatch = function(watchId) {};\\n\\n\\n/**\\n * @constructor\\n * @see http://www.w3.org/TR/geolocation-API/#coordinates\\n */\\nfunction GeolocationCoordinates() {}\\n/** @type {number} */\\nGeolocationCoordinates.prototype.latitude;\\n/** @type {number} */\\nGeolocationCoordinates.prototype.longitude;\\n/** @type {number} */\\nGeolocationCoordinates.prototype.accuracy;\\n/** @type {number} */\\nGeolocationCoordinates.prototype.altitude;\\n/** @type {number} */\\nGeolocationCoordinates.prototype.altitudeAccuracy;\\n/** @type {number} */\\nGeolocationCoordinates.prototype.heading;\\n/** @type {number} */\\nGeolocationCoordinates.prototype.speed;\\n\\n\\n/**\\n * @constructor\\n * @see http://www.w3.org/TR/geolocation-API/#position\\n */\\nfunction GeolocationPosition() {}\\n/** @type {GeolocationCoordinates} */\\nGeolocationPosition.prototype.coords;\\n/** @type {Date} */\\nGeolocationPosition.prototype.timestamp;\\n\\n\\n/**\\n * @record\\n * @see http://www.w3.org/TR/geolocation-API/#position-options\\n */\\nfunction GeolocationPositionOptions() {}\\n/** @type {boolean|undefined} */\\nGeolocationPositionOptions.prototype.enableHighAccuracy;\\n/** @type {number|undefined} */\\nGeolocationPositionOptions.prototype.maximumAge;\\n/** @type {number|undefined} */\\nGeolocationPositionOptions.prototype.timeout;\\n\\n\\n/**\\n * @constructor\\n * @see http://www.w3.org/TR/geolocation-API/#position-error\\n */\\nfunction GeolocationPositionError() {}\\n/** @type {number} */\\nGeolocationPositionError.prototype.code;\\n/** @type {string} */\\nGeolocationPositionError.prototype.message;\\n/** @type {number} */\\nGeolocationPositionError.prototype.UNKNOWN_ERROR;\\n/** @type {number} */\\nGeolocationPositionError.prototype.PERMISSION_DENIED;\\n/** @type {number} */\\nGeolocationPositionError.prototype.POSITION_UNAVAILABLE;\\n/** @type {number} */\\nGeolocationPositionError.prototype.TIMEOUT;\\n\\n/** @type {Geolocation} */\\nNavigator.prototype.geolocation;\\n","externs/w3c_indexeddb.js":"/*\\n * Copyright 2011 The Closure Compiler Authors.\\n *\\n * Licensed under the Apache License, Version 2.0 (the \\"License\\");\\n * you may not use this file except in compliance with the License.\\n * You may obtain a copy of the License at\\n *\\n *     http://www.apache.org/licenses/LICENSE-2.0\\n *\\n * Unless required by applicable law or agreed to in writing, software\\n * distributed under the License is distributed on an \\"AS IS\\" BASIS,\\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\\n * See the License for the specific language governing permissions and\\n * limitations under the License.\\n */\\n\\n/**\\n * @fileoverview Definitions for W3C\'s IndexedDB API. In Chrome all the\\n * IndexedDB classes are prefixed with \'webkit\'. In order to access constants\\n * and static methods of these classes they must be duplicated with the\\n * prefix here.\\n * @see http://www.w3.org/TR/IndexedDB/\\n *\\n * @externs\\n * @author guido.tapia@picnet.com.au (Guido Tapia)\\n */\\n\\n/** @type {!IDBFactory|undefined} */\\nWindow.prototype.moz_indexedDB;\\n\\n/** @type {!IDBFactory|undefined} */\\nWindow.prototype.mozIndexedDB;\\n\\n/** @type {!IDBFactory|undefined} */\\nWindow.prototype.webkitIndexedDB;\\n\\n/** @type {!IDBFactory|undefined} */\\nWindow.prototype.msIndexedDB;\\n\\n/** @type {!IDBFactory|undefined} */\\nWindow.prototype.indexedDB;\\n\\n/**\\n * @constructor\\n * @see http://www.w3.org/TR/IndexedDB/#idl-def-IDBFactory\\n */\\nfunction IDBFactory() {}\\n\\n/**\\n * @param {string} name The name of the database to open.\\n * @param {number=} opt_version The version at which to open the database.\\n * @return {!IDBOpenDBRequest} The IDBRequest object.\\n */\\nIDBFactory.prototype.open = function(name, opt_version) {};\\n\\n/**\\n * @param {string} name The name of the database to delete.\\n * @return {!IDBOpenDBRequest} The IDBRequest object.\\n */\\nIDBFactory.prototype.deleteDatabase = function(name) {};\\n\\n/**\\n * @constructor\\n * @see http://www.w3.org/TR/IndexedDB/#idl-def-IDBDatabaseException\\n */\\nfunction IDBDatabaseException() {}\\n\\n/**\\n * @constructor\\n * @extends {IDBDatabaseException}\\n * @see http://www.w3.org/TR/IndexedDB/#idl-def-IDBDatabaseException\\n */\\nfunction webkitIDBDatabaseException() {}\\n\\n/**\\n * @const\\n * @type {number}\\n */\\nIDBDatabaseException.UNKNOWN_ERR;\\n\\n/**\\n * @const\\n * @type {number}\\n */\\nwebkitIDBDatabaseException.UNKNOWN_ERR;\\n\\n/**\\n * @const\\n * @type {number}\\n */\\nIDBDatabaseException.NON_TRANSIENT_ERR;\\n\\n/**\\n * @const\\n * @type {number}\\n */\\nwebkitIDBDatabaseException.NON_TRANSIENT_ERR;\\n\\n/**\\n * @const\\n * @type {number}\\n */\\nIDBDatabaseException.NOT_FOUND_ERR;\\n\\n/**\\n * @const\\n * @type {number}\\n */\\nwebkitIDBDatabaseException.NOT_FOUND_ERR;\\n\\n/**\\n * @const\\n * @type {number}\\n */\\nIDBDatabaseException.CONSTRAINT_ERR;\\n\\n/**\\n * @const\\n * @type {number}\\n */\\nwebkitIDBDatabaseException.CONSTRAINT_ERR;\\n\\n/**\\n * @const\\n * @type {number}\\n */\\nIDBDatabaseException.DATA_ERR;\\n\\n/**\\n * @const\\n * @type {number}\\n */\\nwebkitIDBDatabaseException.DATA_ERR;\\n\\n/**\\n * @const\\n * @type {number}\\n */\\nIDBDatabaseException.NOT_ALLOWED_ERR;\\n\\n/**\\n * @const\\n * @type {number}\\n */\\nwebkitIDBDatabaseException.NOT_ALLOWED_ERR;\\n\\n/**\\n * @const\\n * @type {number}\\n */\\nIDBDatabaseException.TRANSACTION_INACTIVE_ERR;\\n\\n/**\\n * @const\\n * @type {number}\\n */\\nwebkitIDBDatabaseException.TRANSACTION_INACTIVE_ERR;\\n\\n/**\\n * @const\\n * @type {number}\\n */\\nIDBDatabaseException.ABORT_ERR;\\n\\n/**\\n * @const\\n * @type {number}\\n */\\nwebkitIDBDatabaseException.ABORT_ERR;\\n\\n/**\\n * @const\\n * @type {number}\\n */\\nIDBDatabaseException.READ_ONLY_ERR;\\n\\n/**\\n * @const\\n * @type {number}\\n */\\nwebkitIDBDatabaseException.READ_ONLY_ERR;\\n\\n/**\\n * @const\\n * @type {number}\\n */\\nIDBDatabaseException.TIMEOUT_ERR;\\n\\n/**\\n * @const\\n * @type {number}\\n */\\nwebkitIDBDatabaseException.TIMEOUT_ERR;\\n\\n/**\\n * @const\\n * @type {number}\\n */\\nIDBDatabaseException.QUOTA_ERR;\\n\\n/**\\n * @const\\n * @type {number}\\n */\\nwebkitIDBDatabaseException.QUOTA_ERR;\\n\\n/**\\n * @const\\n * @type {number}\\n */\\nIDBDatabaseException.prototype.code;\\n\\n/**\\n * @const\\n * @type {number}\\n */\\nwebkitIDBDatabaseException.prototype.code;\\n\\n/**\\n * @const\\n * @type {string}\\n */\\nIDBDatabaseException.prototype.message;\\n\\n/**\\n * @const\\n * @type {string}\\n */\\nwebkitIDBDatabaseException.prototype.message;\\n\\n/**\\n * @constructor\\n * @implements {EventTarget}\\n * @see http://www.w3.org/TR/IndexedDB/#idl-def-IDBRequest\\n */\\nfunction IDBRequest() {}\\n\\n/**\\n * @param {boolean=} opt_useCapture\\n * @override\\n * @return {undefined}\\n */\\nIDBRequest.prototype.addEventListener =\\n    function(type, listener, opt_useCapture) {};\\n\\n/**\\n * @param {boolean=} opt_useCapture\\n * @override\\n * @return {undefined}\\n */\\nIDBRequest.prototype.removeEventListener =\\n    function(type, listener, opt_useCapture) {};\\n\\n/**\\n * @override\\n * @return {boolean}\\n */\\nIDBRequest.prototype.dispatchEvent = function(evt) {};\\n\\n/**\\n * @constructor\\n * @extends {IDBRequest}\\n * @see http://www.w3.org/TR/IndexedDB/#idl-def-IDBRequest\\n */\\nfunction webkitIDBRequest() {}\\n\\n/**\\n * @type {number}\\n * @const\\n */\\nIDBRequest.LOADING;\\n\\n/**\\n * @type {number}\\n * @const\\n */\\nwebkitIDBRequest.LOADING;\\n\\n/**\\n * @type {number}\\n * @const\\n */\\nIDBRequest.DONE;\\n\\n/**\\n * @type {number}\\n * @const\\n */\\nwebkitIDBRequest.DONE;\\n\\n/**\\n * @type {number}\\n */\\nIDBRequest.prototype.readyState; // readonly\\n\\n/**\\n * @type {function(!Event)}\\n */\\nIDBRequest.prototype.onsuccess = function(e) {};\\n\\n/**\\n * @type {function(!Event)}\\n */\\nIDBRequest.prototype.onerror = function(e) {};\\n\\n/** @type {*} */\\nIDBRequest.prototype.result;  // readonly\\n\\n/**\\n * @type {number}\\n * @deprecated Use \\"error\\"\\n */\\nIDBRequest.prototype.errorCode;  // readonly\\n\\n\\n/** @type {!DOMError} */\\nIDBRequest.prototype.error; // readonly\\n\\n/** @type {Object} */\\nIDBRequest.prototype.source; // readonly\\n\\n/** @type {IDBTransaction} */\\nIDBRequest.prototype.transaction; // readonly\\n\\n/**\\n * @constructor\\n * @extends {IDBRequest}\\n * @see http://www.w3.org/TR/IndexedDB/#idl-def-IDBOpenDBRequest\\n */\\nfunction IDBOpenDBRequest() {}\\n\\n/**\\n * @type {function(!IDBVersionChangeEvent)}\\n */\\nIDBOpenDBRequest.prototype.onblocked = function(e) {};\\n\\n/**\\n * @type {function(!IDBVersionChangeEvent)}\\n */\\nIDBOpenDBRequest.prototype.onupgradeneeded = function(e) {};\\n\\n/**\\n * @constructor\\n * @implements {EventTarget}\\n * @see http://www.w3.org/TR/IndexedDB/#idl-def-IDBDatabase\\n */\\nfunction IDBDatabase() {}\\n\\n/**\\n * @type {string}\\n * @const\\n */\\nIDBDatabase.prototype.name;\\n\\n/**\\n * @type {string}\\n * @const\\n */\\nIDBDatabase.prototype.description;\\n\\n/**\\n * @type {string}\\n * @const\\n */\\nIDBDatabase.prototype.version;\\n\\n/**\\n * @type {DOMStringList}\\n * @const\\n */\\nIDBDatabase.prototype.objectStoreNames;\\n\\n/**\\n * @param {string} name The name of the object store.\\n * @param {Object=} opt_parameters Parameters to be passed\\n *     creating the object store.\\n * @return {!IDBObjectStore} The created/open object store.\\n */\\nIDBDatabase.prototype.createObjectStore =\\n    function(name, opt_parameters)  {};\\n\\n/**\\n * @param {string} name The name of the object store to remove.\\n * @return {undefined}\\n */\\nIDBDatabase.prototype.deleteObjectStore = function(name) {};\\n\\n/**\\n * @param {string} version The new version of the database.\\n * @return {!IDBRequest} The IDBRequest object.\\n */\\nIDBDatabase.prototype.setVersion = function(version) {};\\n\\n/**\\n * @param {string|Array<string>} storeNames The stores to open in this\\n *     transaction.\\n * @param {(number|string)=} mode The mode for opening the object stores.\\n * @return {!IDBTransaction} The IDBRequest object.\\n */\\nIDBDatabase.prototype.transaction = function(storeNames, mode) {};\\n\\n/**\\n * Closes the database connection.\\n * @return {undefined}\\n */\\nIDBDatabase.prototype.close = function() {};\\n\\n/**\\n * @type {Function}\\n */\\nIDBDatabase.prototype.onabort = function() {};\\n\\n/**\\n * @type {Function}\\n */\\nIDBDatabase.prototype.onerror = function() {};\\n\\n/**\\n * @type {Function}\\n */\\nIDBDatabase.prototype.onversionchange = function() {};\\n\\n/**\\n * @param {boolean=} opt_useCapture\\n * @override\\n * @return {undefined}\\n */\\nIDBDatabase.prototype.addEventListener =\\n    function(type, listener, opt_useCapture) {};\\n\\n/**\\n * @param {boolean=} opt_useCapture\\n * @override\\n * @return {undefined}\\n */\\nIDBDatabase.prototype.removeEventListener =\\n    function(type, listener, opt_useCapture) {};\\n\\n/**\\n * @override\\n * @return {boolean}\\n */\\nIDBDatabase.prototype.dispatchEvent = function(evt) {};\\n\\n/**\\n * Typedef for valid key types according to the w3 specification. Note that this\\n * is slightly wider than what is actually allowed, as all Array elements must\\n * have a valid key type.\\n * @see http://www.w3.org/TR/IndexedDB/#key-construct\\n * @typedef {number|string|!Date|!Array<?>}\\n */\\nvar IDBKeyType;\\n\\n/**\\n * @constructor\\n * @see http://www.w3.org/TR/IndexedDB/#idl-def-IDBObjectStore\\n */\\nfunction IDBObjectStore() {}\\n\\n/**\\n * @type {string}\\n */\\nIDBObjectStore.prototype.name;\\n\\n/**\\n * @type {string}\\n */\\nIDBObjectStore.prototype.keyPath;\\n\\n/**\\n * @type {DOMStringList}\\n */\\nIDBObjectStore.prototype.indexNames;\\n\\n/** @type {IDBTransaction} */\\nIDBObjectStore.prototype.transaction;\\n\\n/** @type {boolean} */\\nIDBObjectStore.prototype.autoIncrement;\\n\\n/**\\n * @param {*} value The value to put into the object store.\\n * @param {IDBKeyType';
a.a+='=} key The key of this value.\\n * @return {!IDBRequest} The IDBRequest object.\\n */\\nIDBObjectStore.prototype.put = function(value, key) {};\\n\\n/**\\n * @param {*} value The value to add into the object store.\\n * @param {IDBKeyType=} key The key of this value.\\n * @return {!IDBRequest} The IDBRequest object.\\n */\\nIDBObjectStore.prototype.add = function(value, key) {};\\n\\n/**\\n * @param {IDBKeyType} key The key of this value.\\n * @return {!IDBRequest} The IDBRequest object.\\n */\\nIDBObjectStore.prototype.delete = function(key) {};\\n\\n/**\\n * @param {IDBKeyType|!IDBKeyRange} key The key of the document to retrieve.\\n * @return {!IDBRequest} The IDBRequest object.\\n */\\nIDBObjectStore.prototype.get = function(key) {};\\n\\n/**\\n * @return {!IDBRequest} The IDBRequest object.\\n */\\nIDBObjectStore.prototype.clear = function() {};\\n\\n/**\\n * @param {IDBKeyRange=} range The range of the cursor.\\n * @param {(number|string)=} direction The direction of cursor enumeration.\\n * @return {!IDBRequest} The IDBRequest object.\\n */\\nIDBObjectStore.prototype.openCursor = function(range, direction) {};\\n\\n/**\\n * @param {string} name The name of the index.\\n * @param {string|!Array<string>} keyPath The path to the index key.\\n * @param {Object=} opt_paramters Optional parameters\\n *     for the created index.\\n * @return {!IDBIndex} The IDBIndex object.\\n */\\nIDBObjectStore.prototype.createIndex = function(name, keyPath, opt_paramters) {};\\n\\n/**\\n * @param {string} name The name of the index to retrieve.\\n * @return {!IDBIndex} The IDBIndex object.\\n */\\nIDBObjectStore.prototype.index = function(name) {};\\n\\n/**\\n * @param {string} indexName The name of the index to remove.\\n * @return {undefined}\\n */\\nIDBObjectStore.prototype.deleteIndex = function(indexName) {};\\n\\n/**\\n * @param {(IDBKeyType|IDBKeyRange)=} key The key of this value.\\n * @return {!IDBRequest} The IDBRequest object.\\n * @see http://www.w3.org/TR/IndexedDB/#widl-IDBObjectStore-count\\n */\\nIDBObjectStore.prototype.count = function(key) {};\\n\\n/**\\n * @constructor\\n * @see http://www.w3.org/TR/IndexedDB/#idl-def-IDBIndex\\n */\\nfunction IDBIndex() {}\\n\\n/**\\n * @type {string}\\n * @const\\n */\\nIDBIndex.prototype.name;\\n\\n/**\\n * @type {!IDBObjectStore}\\n * @const\\n */\\nIDBIndex.prototype.objectStore;\\n\\n/**\\n * @type {string}\\n * @const\\n */\\nIDBIndex.prototype.keyPath;\\n\\n/**\\n * @type {boolean}\\n * @const\\n */\\nIDBIndex.prototype.unique;\\n\\n/**\\n * @param {IDBKeyRange=} range The range of the cursor.\\n * @param {(number|string)=} direction The direction of cursor enumeration.\\n * @return {!IDBRequest} The IDBRequest object.\\n */\\nIDBIndex.prototype.openCursor = function(range, direction) {};\\n\\n/**\\n * @param {IDBKeyRange=} range The range of the cursor.\\n * @param {(number|string)=} direction The direction of cursor enumeration.\\n * @return {!IDBRequest} The IDBRequest object.\\n */\\nIDBIndex.prototype.openKeyCursor = function(range, direction) {};\\n\\n/**\\n * @param {IDBKeyType|!IDBKeyRange} key The id of the object to retrieve.\\n * @return {!IDBRequest} The IDBRequest object.\\n */\\nIDBIndex.prototype.get = function(key) {};\\n\\n/**\\n * @param {IDBKeyType|!IDBKeyRange} key The id of the object to retrieve.\\n * @return {!IDBRequest} The IDBRequest object.\\n */\\nIDBIndex.prototype.getKey = function(key) {};\\n\\n/**\\n * @constructor\\n * @see http://www.w3.org/TR/IndexedDB/#idl-def-IDBCursor\\n */\\nfunction IDBCursor() {}\\n\\n/**\\n * @constructor\\n * @extends {IDBCursor}\\n * @see http://www.w3.org/TR/IndexedDB/#idl-def-IDBCursor\\n */\\nfunction webkitIDBCursor() {}\\n\\n/**\\n * @const\\n * @type {number}\\n */\\nIDBCursor.NEXT;\\n\\n/**\\n * @const\\n * @type {number}\\n */\\nwebkitIDBCursor.NEXT;\\n\\n/**\\n * @const\\n * @type {number}\\n */\\nIDBCursor.NEXT_NO_DUPLICATE;\\n\\n/**\\n * @const\\n * @type {number}\\n */\\nwebkitIDBCursor.NEXT_NO_DUPLICATE;\\n\\n/**\\n * @const\\n * @type {number}\\n */\\nIDBCursor.PREV;\\n\\n/**\\n * @const\\n * @type {number}\\n */\\nwebkitIDBCursor.PREV;\\n\\n/**\\n * @const\\n * @type {number}\\n */\\nIDBCursor.PREV_NO_DUPLICATE;\\n\\n/**\\n * @const\\n * @type {number}\\n */\\nwebkitIDBCursor.PREV_NO_DUPLICATE;\\n\\n/**\\n * @type {*}\\n * @const\\n */\\nIDBCursor.prototype.source;\\n\\n/**\\n * @type {number}\\n * @const\\n */\\nIDBCursor.prototype.direction;\\n\\n/**\\n * @type {IDBKeyType}\\n * @const\\n */\\nIDBCursor.prototype.key;\\n\\n/**\\n * @type {number}\\n * @const\\n */\\nIDBCursor.prototype.primaryKey;\\n\\n/**\\n * @param {*} value The new value for the current object in the cursor.\\n * @return {!IDBRequest} The IDBRequest object.\\n */\\nIDBCursor.prototype.update = function(value) {};\\n\\n/**\\n * Note: Must be quoted to avoid parse error.\\n * @param {IDBKeyType=} key Continue enumerating the cursor from the specified\\n *     key (or next).\\n * @return {undefined}\\n */\\nIDBCursor.prototype.continue = function(key) {};\\n\\n/**\\n * @param {number} count Number of times to iterate the cursor.\\n * @return {undefined}\\n */\\nIDBCursor.prototype.advance = function(count) {};\\n\\n/**\\n * Note: Must be quoted to avoid parse error.\\n * @return {!IDBRequest} The IDBRequest object.\\n */\\nIDBCursor.prototype.delete = function() {};\\n\\n/**\\n * @constructor\\n * @extends {IDBCursor}\\n * @see http://www.w3.org/TR/IndexedDB/#idl-def-IDBCursorWithValue\\n */\\nfunction IDBCursorWithValue() {}\\n\\n/** @type {*} */\\nIDBCursorWithValue.prototype.value; // readonly\\n\\n/**\\n * @constructor\\n * @see http://www.w3.org/TR/IndexedDB/#idl-def-IDBTransaction\\n */\\nfunction IDBTransaction() {}\\n\\n/**\\n * @constructor\\n * @extends {IDBTransaction}\\n * @see http://www.w3.org/TR/IndexedDB/#idl-def-IDBTransaction\\n */\\nfunction webkitIDBTransaction() {}\\n\\n/**\\n * @const\\n * @type {number}\\n */\\nIDBTransaction.READ_WRITE;\\n\\n/**\\n * @const\\n * @type {number}\\n */\\nwebkitIDBTransaction.READ_WRITE;\\n\\n/**\\n * @const\\n * @type {number}\\n */\\nIDBTransaction.READ_ONLY;\\n\\n/**\\n * @const\\n * @type {number}\\n */\\nwebkitIDBTransaction.READ_ONLY;\\n\\n/**\\n * @const\\n * @type {number}\\n */\\nIDBTransaction.VERSION_CHANGE;\\n\\n/**\\n * @const\\n * @type {number}\\n */\\nwebkitIDBTransaction.VERSION_CHANGE;\\n\\n/**\\n * @type {number|string}\\n * @const\\n */\\nIDBTransaction.prototype.mode;\\n\\n/**\\n * @type {IDBDatabase}\\n * @const\\n */\\nIDBTransaction.prototype.db;\\n\\n/**\\n * @param {string} name The name of the object store to retrieve.\\n * @return {!IDBObjectStore} The object store.\\n */\\nIDBTransaction.prototype.objectStore = function(name) {};\\n\\n/**\\n * Aborts the transaction.\\n * @return {undefined}\\n */\\nIDBTransaction.prototype.abort = function() {};\\n\\n/**\\n * @type {Function}\\n */\\nIDBTransaction.prototype.onabort = function() {};\\n\\n/**\\n * @type {Function}\\n */\\nIDBTransaction.prototype.oncomplete = function() {};\\n\\n/**\\n * @type {Function}\\n */\\nIDBTransaction.prototype.onerror = function() {};\\n\\n/**\\n * @constructor\\n * @see http://www.w3.org/TR/IndexedDB/#idl-def-IDBKeyRange\\n */\\nfunction IDBKeyRange() {}\\n\\n/**\\n * @constructor\\n * @extends {IDBKeyRange}\\n * @see http://www.w3.org/TR/IndexedDB/#idl-def-IDBKeyRange\\n */\\nfunction webkitIDBKeyRange() {}\\n\\n/**\\n * @type {*}\\n * @const\\n */\\nIDBKeyRange.prototype.lower;\\n\\n/**\\n * @type {*}\\n * @const\\n */\\nIDBKeyRange.prototype.upper;\\n\\n/**\\n * @type {*}\\n * @const\\n */\\nIDBKeyRange.prototype.lowerOpen;\\n\\n/**\\n * @type {*}\\n * @const\\n */\\nIDBKeyRange.prototype.upperOpen;\\n\\n/**\\n * @param {IDBKeyType} value The single key value of this range.\\n * @return {!IDBKeyRange} The key range.\\n */\\nIDBKeyRange.only = function(value) {};\\n\\n/**\\n * @param {IDBKeyType} value The single key value of this range.\\n * @return {!IDBKeyRange} The key range.\\n */\\nwebkitIDBKeyRange.only = function(value) {};\\n\\n/**\\n * @param {IDBKeyType} bound Creates a lower bound key range.\\n * @param {boolean=} open Open the key range.\\n * @return {!IDBKeyRange} The key range.\\n */\\nIDBKeyRange.lowerBound = function(bound, open) {};\\n\\n/**\\n * @param {IDBKeyType} bound Creates a lower bound key range.\\n * @param {boolean=} open Open the key range.\\n * @return {!IDBKeyRange} The key range.\\n */\\nwebkitIDBKeyRange.lowerBound = function(bound, open) {};\\n\\n/**\\n * @param {IDBKeyType} bound Creates an upper bound key range.\\n * @param {boolean=} open Open the key range.\\n * @return {!IDBKeyRange} The key range.\\n */\\nIDBKeyRange.upperBound = function(bound, open) {};\\n\\n/**\\n * @param {IDBKeyType} bound Creates an upper bound key range.\\n * @param {boolean=} open Open the key range.\\n * @return {!IDBKeyRange} The key range.\\n */\\nwebkitIDBKeyRange.upperBound = function(bound, open) {};\\n\\n/**\\n * @param {IDBKeyType} left The left bound value.\\n * @param {IDBKeyType} right The right bound value.\\n * @param {boolean=} openLeft Whether the left bound value should be excluded.\\n * @param {boolean=} openRight Whether the right bound value should be excluded.\\n * @return {!IDBKeyRange} The key range.\\n */\\nIDBKeyRange.bound = function(left, right, openLeft, openRight) {};\\n\\n/**\\n * @param {IDBKeyType} left The left bound value.\\n * @param {IDBKeyType} right The right bound value.\\n * @param {boolean=} openLeft Whether the left bound value should be excluded.\\n * @param {boolean=} openRight Whether the right bound value should be excluded.\\n * @return {!IDBKeyRange} The key range.\\n */\\nwebkitIDBKeyRange.bound = function(left, right, openLeft, openRight) {};\\n\\n/**\\n * @constructor\\n * @extends {Event}\\n * @see http://www.w3.org/TR/IndexedDB/#idl-def-IDBVersionChangeEvent\\n */\\nfunction IDBVersionChangeEvent() {}\\n\\n/**\\n * @type {number}\\n * @const\\n */\\nIDBVersionChangeEvent.prototype.oldVersion;\\n\\n/**\\n * @type {?number}\\n * @const\\n */\\nIDBVersionChangeEvent.prototype.newVersion;\\n\\n/**\\n * @constructor\\n * @extends {IDBVersionChangeEvent}\\n * @see http://www.w3.org/TR/IndexedDB/#idl-def-IDBVersionChangeEvent\\n */\\nfunction webkitIDBVersionChangeEvent() {}\\n\\n/**\\n * @type {string}\\n * @const\\n */\\nwebkitIDBVersionChangeEvent.prototype.version;\\n","externs/w3c_midi.js":"/*\\n * Copyright 2014 The Closure Compiler Authors.\\n *\\n * Licensed under the Apache License, Version 2.0 (the \\"License\\");\\n * you may not use this file except in compliance with the License.\\n * You may obtain a copy of the License at\\n *\\n *     http://www.apache.org/licenses/LICENSE-2.0\\n *\\n * Unless required by applicable law or agreed to in writing, software\\n * distributed under the License is distributed on an \\"AS IS\\" BASIS,\\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\\n * See the License for the specific language governing permissions and\\n * limitations under the License.\\n */\\n\\n/**\\n * @fileoverview W3C Web MIDI specification.\\n * @see http://www.w3.org/TR/webmidi/\\n *\\n * @externs\\n */\\n\\n\\n/**\\n * @param {!MIDIOptions=} opt_options\\n * @return {!Promise.<!MIDIAccess>}\\n */\\nnavigator.requestMIDIAccess = function(opt_options) {};\\n\\n\\n/**\\n * @typedef {{\\n *   sysex: boolean\\n * }}\\n */\\nvar MIDIOptions;\\n\\n\\n\\n/**\\n * @interface\\n */\\nvar MIDIInputMap = function() {};\\n\\n\\n/**\\n * @const {number}\\n */\\nMIDIInputMap.prototype.size;\\n\\n\\n/**\\n * @param {function(string)} iterator\\n */\\nMIDIInputMap.prototype.keys = function(iterator) {};\\n\\n\\n/**\\n * @param {function(!Array.<*>)} iterator\\n */\\nMIDIInputMap.prototype.entries = function(iterator) {};\\n\\n\\n/**\\n * @param {function(!MIDIInput)} iterator\\n */\\nMIDIInputMap.prototype.values = function(iterator) {};\\n\\n\\n/**\\n * @param {string} key\\n * @return {!MIDIInput}\\n */\\nMIDIInputMap.prototype.get = function(key) {};\\n\\n\\n/**\\n * @param {string} key\\n * @return {boolean}\\n */\\nMIDIInputMap.prototype.has = function(key) {};\\n\\n\\n\\n/**\\n * @interface\\n */\\nvar MIDIOutputMap = function() {};\\n\\n\\n/**\\n * @const {number}\\n */\\nMIDIOutputMap.prototype.size;\\n\\n\\n/**\\n * @param {function(string)} iterator\\n */\\nMIDIOutputMap.prototype.keys = function(iterator) {};\\n\\n\\n/**\\n * @param {function(!Array.<*>)} iterator\\n */\\nMIDIOutputMap.prototype.entries = function(iterator) {};\\n\\n\\n/**\\n * @param {function(!MIDIOutput)} iterator\\n */\\nMIDIOutputMap.prototype.values = function(iterator) {};\\n\\n\\n/**\\n * @param {string} key\\n * @return {!MIDIOutput}\\n */\\nMIDIOutputMap.prototype.get = function(key) {};\\n\\n\\n/**\\n * @param {string} key\\n * @return {boolean}\\n */\\nMIDIOutputMap.prototype.has = function(key) {};\\n\\n\\n\\n/**\\n * @interface\\n * @extends {EventTarget}\\n */\\nvar MIDIAccess = function() {};\\n\\n\\n/**\\n * @const {!MIDIInputMap}\\n */\\nMIDIAccess.prototype.inputs;\\n\\n\\n/**\\n * @const {!MIDIOutputMap}\\n */\\nMIDIAccess.prototype.outputs;\\n\\n\\n/**\\n * @const {function(!MIDIConnectionEvent)}\\n */\\nMIDIAccess.prototype.onconnect;\\n\\n\\n/**\\n * @type {function(!MIDIConnectionEvent)}\\n */\\nMIDIAccess.prototype.ondisconnect;\\n\\n\\n/**\\n * @const {boolean}\\n */\\nMIDIAccess.prototype.sysexEnabled;\\n\\n\\n\\n/**\\n * @interface\\n * @extends {EventTarget}\\n */\\nvar MIDIPort = function() {};\\n\\n\\n/**\\n * @const {string}\\n */\\nMIDIPort.prototype.id;\\n\\n\\n/**\\n * @const {string}\\n */\\nMIDIPort.prototype.manufacturer;\\n\\n\\n/**\\n * @const {string}\\n */\\nMIDIPort.prototype.name;\\n\\n\\n/**\\n * @const {string}\\n */\\nMIDIPort.prototype.type;\\n\\n\\n/**\\n * @const {string}\\n */\\nMIDIPort.prototype.version;\\n\\n\\n/**\\n * @type {function(!MIDIConnectionEvent)}\\n */\\nMIDIPort.prototype.ondisconnect;\\n\\n\\n\\n/**\\n * @interface\\n * @extends {MIDIPort}\\n */\\nvar MIDIInput = function() {};\\n\\n\\n/**\\n * @type {function(!MIDIMessageEvent)}\\n */\\nMIDIInput.prototype.onmidimessage;\\n\\n\\n\\n/**\\n * @interface\\n * @extends {MIDIPort}\\n */\\nvar MIDIOutput = function() {};\\n\\n\\n/**\\n * @param {!Uint8Array} data\\n * @param {number=} opt_timestamp\\n */\\nMIDIOutput.prototype.send = function(data, opt_timestamp) {};\\n\\n\\n\\n/**\\n * @constructor\\n * @extends {Event}\\n * @param {string} type\\n * @param {!MIDIMessageEventInit=} opt_init\\n */\\nvar MIDIMessageEvent = function(type, opt_init) {};\\n\\n\\n/**\\n * @const {number}\\n */\\nMIDIMessageEvent.prototype.receivedTime;\\n\\n\\n/**\\n * @const {!Uint8Array}\\n */\\nMIDIMessageEvent.prototype.data;\\n\\n\\n/**\\n * @typedef {{\\n *   receivedTime: number,\\n *   data: !Uint8Array\\n * }}\\n */\\nvar MIDIMessageEventInit;\\n\\n\\n\\n/**\\n * @constructor\\n * @extends {Event}\\n * @param {string} type\\n * @param {!MIDIConnectionEventInit=} opt_init\\n */\\nvar MIDIConnectionEvent = function(type, opt_init) {};\\n\\n\\n/**\\n * @const {MIDIPort}\\n */\\nMIDIConnectionEvent.prototype.port;\\n\\n\\n/**\\n * @typedef {{\\n *   port: !MIDIPort\\n * }}\\n */\\nvar MIDIConnectionEventInit;\\n","externs/w3c_navigation_timing.js":"/*\\n * Copyright 2011 The Closure Compiler Authors\\n *\\n * Licensed under the Apache License, Version 2.0 (the \\"License\\");\\n * you may not use this file except in compliance with the License.\\n * You may obtain a copy of the License at\\n *\\n *     http://www.apache.org/licenses/LICENSE-2.0\\n *\\n * Unless required by applicable law or agreed to in writing, software\\n * distributed under the License is distributed on an \\"AS IS\\" BASIS,\\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\\n * See the License for the specific language governing permissions and\\n * limitations under the License.\\n */\\n\\n/**\\n * @fileoverview Definitions for W3C\'s Navigation Timing specification.\\n *\\n * Created from\\n * @see http://dvcs.w3.org/hg/webperf/raw-file/tip/specs/NavigationTiming/Overview.html\\n * @see http://w3c-test.org/webperf/specs/ResourceTiming\\n * @see http://www.w3.org/TR/performance-timeline\\n * @see http://www.w3.org/TR/user-timing/\\n *\\n * @externs\\n * @author rky@google.com (Ren\u00e9 Kyllingstad)\\n */\\n\\n/** @constructor */\\nfunction PerformanceTiming() {}\\n/** @type {number} */ PerformanceTiming.prototype.navigationStart;\\n/** @type {number} */ PerformanceTiming.prototype.unloadEventStart;\\n/** @type {number} */ PerformanceTiming.prototype.unloadEventEnd;\\n/** @type {number} */ PerformanceTiming.prototype.redirectStart;\\n/** @type {number} */ PerformanceTiming.prototype.redirectEnd;\\n/** @type {number} */ PerformanceTiming.prototype.fetchStart;\\n/** @type {number} */ PerformanceTiming.prototype.domainLookupStart;\\n/** @type {number} */ PerformanceTiming.prototype.domainLookupEnd;\\n/** @type {number} */ PerformanceTiming.prototype.connectStart;\\n/** @type {number} */ PerformanceTiming.prototype.connectEnd;\\n/** @type {number} */ PerformanceTiming.prototype.secureConnectionStart;\\n/** @type {number} */ PerformanceTiming.pro';
a.a+='totype.requestStart;\\n/** @type {number} */ PerformanceTiming.prototype.responseStart;\\n/** @type {number} */ PerformanceTiming.prototype.responseEnd;\\n/** @type {number} */ PerformanceTiming.prototype.domLoading;\\n/** @type {number} */ PerformanceTiming.prototype.domInteractive;\\n/** @type {number} */ PerformanceTiming.prototype.domContentLoadedEventStart;\\n/** @type {number} */ PerformanceTiming.prototype.domContentLoadedEventEnd;\\n/** @type {number} */ PerformanceTiming.prototype.domComplete;\\n/** @type {number} */ PerformanceTiming.prototype.loadEventStart;\\n/** @type {number} */ PerformanceTiming.prototype.loadEventEnd;\\n\\n/** @constructor */\\nfunction PerformanceEntry() {}\\n/** @type {string} */ PerformanceEntry.prototype.name;\\n/** @type {string} */ PerformanceEntry.prototype.entryType;\\n/** @type {number} */ PerformanceEntry.prototype.startTime;\\n/** @type {number} */ PerformanceEntry.prototype.duration;\\n\\n/**\\n * @constructor\\n * @extends {PerformanceEntry}\\n */\\nfunction PerformanceResourceTiming() {}\\n/** @type {number} */ PerformanceResourceTiming.prototype.redirectStart;\\n/** @type {number} */ PerformanceResourceTiming.prototype.redirectEnd;\\n/** @type {number} */ PerformanceResourceTiming.prototype.fetchStart;\\n/** @type {number} */ PerformanceResourceTiming.prototype.domainLookupStart;\\n/** @type {number} */ PerformanceResourceTiming.prototype.domainLookupEnd;\\n/** @type {number} */ PerformanceResourceTiming.prototype.connectStart;\\n/** @type {number} */ PerformanceResourceTiming.prototype.connectEnd;\\n/** @type {number} */\\nPerformanceResourceTiming.prototype.secureConnectionStart;\\n/** @type {number} */ PerformanceResourceTiming.prototype.requestStart;\\n/** @type {number} */ PerformanceResourceTiming.prototype.responseStart;\\n/** @type {number} */ PerformanceResourceTiming.prototype.responseEnd;\\n/** @type {string} */ PerformanceResourceTiming.prototype.initiatorType;\\n\\n/** @constructor */\\nfunction PerformanceNavigation() {}\\n/** @type {number} */ PerformanceNavigation.prototype.TYPE_NAVIGATE = 0;\\n/** @type {number} */ PerformanceNavigation.prototype.TYPE_RELOAD = 1;\\n/** @type {number} */ PerformanceNavigation.prototype.TYPE_BACK_FORWARD = 2;\\n/** @type {number} */ PerformanceNavigation.prototype.TYPE_RESERVED = 255;\\n/** @type {number} */ PerformanceNavigation.prototype.type;\\n/** @type {number} */ PerformanceNavigation.prototype.redirectCount;\\n\\n// Only available in WebKit, and only with the --enable-memory-info flag.\\n/** @constructor */\\nfunction PerformanceMemory() {}\\n/** @type {number} */ PerformanceMemory.prototype.jsHeapSizeLimit;\\n/** @type {number} */ PerformanceMemory.prototype.totalJSHeapSize;\\n/** @type {number} */ PerformanceMemory.prototype.usedJSHeapSize;\\n\\n/** @constructor */\\nfunction Performance() {}\\n/** @type {PerformanceTiming} */ Performance.prototype.timing;\\n/** @type {PerformanceNavigation} */ Performance.prototype.navigation;\\n\\n/**\\n * Clears the buffer used to store the current list of\\n * PerformanceResourceTiming resources.\\n * @return {undefined}\\n */\\nPerformance.prototype.clearResourceTimings = function() {};\\n\\n/**\\n * Clear out the buffer of performance timing events for webkit browsers.\\n * @return {undefined}\\n */\\nPerformance.prototype.webkitClearResourceTimings = function() {};\\n\\n/**\\n * Set the maximum number of PerformanceResourceTiming resources that may be\\n * stored in the buffer.\\n * @param {number} maxSize\\n * @return {undefined}\\n */\\nPerformance.prototype.setResourceTimingBufferSize = function(maxSize) {};\\n\\n/**\\n * @return {Array<PerformanceEntry>} A copy of the PerformanceEntry list,\\n *     in chronological order with respect to startTime.\\n * @nosideeffects\\n */\\nPerformance.prototype.getEntries = function() {};\\n\\n/**\\n * @param {string} entryType Only return {@code PerformanceEntry}s with this\\n *     entryType.\\n * @return {Array<PerformanceEntry>} A copy of the PerformanceEntry list,\\n *     in chronological order with respect to startTime.\\n * @nosideeffects\\n */\\nPerformance.prototype.getEntriesByType = function(entryType) {};\\n\\n/**\\n * @param {string} name Only return {@code PerformanceEntry}s with this name.\\n * @param {string=} opt_entryType Only return {@code PerformanceEntry}s with\\n *     this entryType.\\n * @return {Array<PerformanceEntry>} PerformanceEntry list in chronological\\n *     order with respect to startTime.\\n * @nosideeffects\\n */\\nPerformance.prototype.getEntriesByName = function(name, opt_entryType) {};\\n\\n// Only available in WebKit, and only with the --enable-memory-info flag.\\n/** @type {PerformanceMemory} */ Performance.prototype.memory;\\n\\n/**\\n * @return {number}\\n * @nosideeffects\\n */\\nPerformance.prototype.now = function() {};\\n\\n/**\\n * @return {number}\\n * @nosideeffects\\n */\\nPerformance.prototype.webkitNow = function() {};\\n\\n/**\\n * @param {string} markName\\n * @return {undefined}\\n */\\nPerformance.prototype.mark = function(markName) {};\\n\\n/**\\n * @param {string=} opt_markName\\n * @return {undefined}\\n */\\nPerformance.prototype.clearMarks = function(opt_markName) {};\\n\\n/**\\n * @param {string} measureName\\n * @param {string=} opt_startMark\\n * @param {string=} opt_endMark\\n * @return {undefined}\\n */\\nPerformance.prototype.measure =\\n    function(measureName, opt_startMark, opt_endMark) {};\\n\\n/**\\n * @param {string=} opt_measureName\\n * @return {undefined}\\n */\\nPerformance.prototype.clearMeasures = function(opt_measureName) {};\\n\\n/** @type {Performance} */\\nWindow.prototype.performance;\\n\\n/**\\n * @type {!Performance}\\n * @suppress {duplicate}\\n */\\nvar performance;\\n","externs/w3c_permissions.js":"/*\\n * Copyright 2015 The Closure Compiler Authors\\n *\\n * Licensed under the Apache License, Version 2.0 (the \\"License\\");\\n * you may not use this file except in compliance with the License.\\n * You may obtain a copy of the License at\\n *\\n *     http://www.apache.org/licenses/LICENSE-2.0\\n *\\n * Unless required by applicable law or agreed to in writing, software\\n * distributed under the License is distributed on an \\"AS IS\\" BASIS,\\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\\n * See the License for the specific language governing permissions and\\n * limitations under the License.\\n */\\n\\n/**\\n * @fileoverview Definitions for W3C\'s Permissions API.\\n * @see https://w3c.github.io/permissions/\\n *\\n * @externs\\n */\\n\\n\\n/**\\n * @typedef {{name: PermissionName}}\\n * @see https://w3c.github.io/permissions/#permission-descriptor\\n */\\nvar PermissionDescriptor;\\n\\n\\n/**\\n * @typedef {{name: PermissionName, userVisibleOnly: boolean}}\\n * @see https://w3c.github.io/permissions/#push\\n */\\nvar PushPermissionDescriptor;\\n\\n\\n/**\\n * @typedef {{name: PermissionName, sysex: boolean}}\\n * @see https://w3c.github.io/permissions/#midi\\n */\\nvar MidiPermissionDescriptor;\\n\\n\\n/**\\n * Set of possible values: \'geolocation\', \'notifications\', \'push\', \'midi\'.\\n * @typedef {string}\\n * @see https://w3c.github.io/permissions/#idl-def-PermissionName\\n */\\nvar PermissionName;\\n\\n\\n/**\\n * Set of possible values: \'granted\', \'denied\', \'prompt\'.\\n * @typedef {string}\\n * @see https://w3c.github.io/permissions/#idl-def-PermissionState\\n */\\nvar PermissionState;\\n\\n\\n/**\\n * @constructor\\n * @implements {EventTarget}\\n * @see https://w3c.github.io/permissions/#status-of-a-permission\\n */\\nfunction PermissionStatus() {}\\n\\n/** @type {PermissionState} */\\nPermissionStatus.prototype.state;\\n\\n/**\\n * @type {PermissionState}\\n * @deprecated, use PermissionStatus.state for newer clients\\n */\\nPermissionStatus.prototype.status;\\n\\n/** @type {?function(!Event)} */\\nPermissionStatus.prototype.onchange;\\n\\n/**\\n * @param {boolean=} opt_useCapture\\n * @override\\n * @return {undefined}\\n */\\nPermissionStatus.prototype.addEventListener = function(type,\\n                                                       listener,\\n                                                       opt_useCapture) {};\\n\\n/**\\n * @param {boolean=} opt_useCapture\\n * @override\\n * @return {undefined}\\n */\\nPermissionStatus.prototype.removeEventListener = function(type,\\n                                                          listener,\\n                                                          opt_useCapture) {};\\n/**\\n * @override\\n * @return {boolean}\\n */\\nPermissionStatus.prototype.dispatchEvent = function(evt) {};\\n\\n\\n/**\\n * @constructor\\n * @see https://w3c.github.io/permissions/#idl-def-permissions\\n */\\nfunction Permissions() {}\\n\\n/**\\n * @param {PermissionDescriptor} permission The permission to look up\\n * @return {!Promise<!PermissionStatus>}\\n * @see https://w3c.github.io/permissions/#dom-permissions-query\\n */\\nPermissions.prototype.query = function(permission) {};\\n\\n\\n/** @type {Permissions} */\\nNavigator.prototype.permissions;\\n","externs/w3c_pointer_events.js":"/*\\n * Copyright 2014 The Closure Compiler Authors\\n *\\n * Licensed under the Apache License, Version 2.0 (the \\"License\\");\\n * you may not use this file except in compliance with the License.\\n * You may obtain a copy of the License at\\n *\\n *     http://www.apache.org/licenses/LICENSE-2.0\\n *\\n * Unless required by applicable law or agreed to in writing, software\\n * distributed under the License is distributed on an \\"AS IS\\" BASIS,\\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\\n * See the License for the specific language governing permissions and\\n * limitations under the License.\\n */\\n\\n/**\\n * @fileoverview Definitions for W3C\'s Pointer Events specification.\\n *  Created from\\n *   http://www.w3.org/TR/pointerevents/\\n *\\n * @externs\\n */\\n\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/pointerevents/#the-touch-action-css-property\\n */\\nCSSProperties.prototype.touchAction;\\n\\n/**\\n * @type {boolean}\\n * @see http://www.w3.org/TR/pointerevents/#widl-Navigator-pointerEnabled\\n */\\nNavigator.prototype.pointerEnabled;\\n\\n/**\\n * @type {number}\\n * @see http://www.w3.org/TR/pointerevents/#widl-Navigator-maxTouchPoints\\n */\\nNavigator.prototype.maxTouchPoints;\\n\\n\\n/**\\n * @typedef {{\\n *   bubbles: (boolean|undefined),\\n *   cancelable: (boolean|undefined),\\n *   view: (Window|undefined),\\n *   detail: (number|undefined),\\n *   screenX: (number|undefined),\\n *   screenY: (number|undefined),\\n *   clientX: (number|undefined),\\n *   clientY: (number|undefined),\\n *   ctrlKey: (boolean|undefined),\\n *   shiftKey: (boolean|undefined),\\n *   altKey: (boolean|undefined),\\n *   metaKey: (boolean|undefined),\\n *   button: (number|undefined),\\n *   buttons: (number|undefined),\\n *   relatedTarget: (EventTarget|undefined),\\n *   pointerId: (number|undefined),\\n *   width: (number|undefined),\\n *   height: (number|undefined),\\n *   pressure: (number|undefined),\\n *   tiltX: (number|undefined),\\n *   tiltY: (number|undefined),\\n *   pointerType: (string|undefined),\\n *   isPrimary: (boolean|undefined)\\n * }}\\n */\\nvar PointerEventInit;\\n\\n/**\\n * @constructor\\n * @extends {MouseEvent}\\n * @param {string} type\\n * @param {PointerEventInit=} opt_eventInitDict\\n * @see http://www.w3.org/TR/pointerevents/#pointerevent-interface\\n */\\nfunction PointerEvent(type, opt_eventInitDict) {}\\n\\n/** @type {number} */\\nPointerEvent.prototype.pointerId;\\n\\n/** @type {number} */\\nPointerEvent.prototype.width;\\n\\n/** @type {number} */\\nPointerEvent.prototype.height;\\n\\n/** @type {number} */\\nPointerEvent.prototype.pressure;\\n\\n/** @type {number} */\\nPointerEvent.prototype.tiltX;\\n\\n/** @type {number} */\\nPointerEvent.prototype.tiltY;\\n\\n/** @type {string} */\\nPointerEvent.prototype.pointerType;\\n\\n/** @type {boolean} */\\nPointerEvent.prototype.isPrimary;\\n\\n// Microsoft pointerType values\\n/** @type {string} */\\nPointerEvent.prototype.MSPOINTER_TYPE_TOUCH;\\n\\n/** @type {string} */\\nPointerEvent.prototype.MSPOINTER_TYPE_PEN;\\n\\n/** @type {string} */\\nPointerEvent.prototype.MSPOINTER_TYPE_MOUSE;\\n","externs/w3c_range.js":"/*\\n * Copyright 2008 The Closure Compiler Authors\\n *\\n * Licensed under the Apache License, Version 2.0 (the \\"License\\");\\n * you may not use this file except in compliance with the License.\\n * You may obtain a copy of the License at\\n *\\n *     http://www.apache.org/licenses/LICENSE-2.0\\n *\\n * Unless required by applicable law or agreed to in writing, software\\n * distributed under the License is distributed on an \\"AS IS\\" BASIS,\\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\\n * See the License for the specific language governing permissions and\\n * limitations under the License.\\n */\\n\\n/**\\n * @fileoverview Definitions for W3C\'s range specification.\\n *  This file depends on w3c_dom2.js.\\n *  The whole file has been fully type annotated.\\n *  Created from\\n *   http://www.w3.org/TR/DOM-Level-2-Traversal-Range/ranges.html\\n *\\n * @externs\\n * @author acleung@google.com (Alan Leung)\\n * @author stevey@google.com (Steve Yegge)\\n */\\n\\n\\n/**\\n * @constructor\\n * @see http://www.w3.org/TR/DOM-Level-2-Traversal-Range/ranges.html#Level-2-Range-Interface\\n */\\nfunction Range() {}\\n\\n/**\\n * @type {Node}\\n * @see http://www.w3.org/TR/DOM-Level-2-Traversal-Range/ranges.html#Level-2-Range-attr-startParent\\n */\\nRange.prototype.startContainer;\\n\\n/**\\n * @type {number}\\n * @see http://www.w3.org/TR/DOM-Level-2-Traversal-Range/ranges.html#Level-2-Range-attr-startOffset\\n */\\nRange.prototype.startOffset;\\n\\n/**\\n * @type {Node}\\n * @see http://www.w3.org/TR/DOM-Level-2-Traversal-Range/ranges.html#Level-2-Range-attr-endParent\\n */\\nRange.prototype.endContainer;\\n\\n/**\\n * @type {number}\\n * @see http://www.w3.org/TR/DOM-Level-2-Traversal-Range/ranges.html#Level-2-Range-attr-endOffset\\n */\\nRange.prototype.endOffset;\\n\\n/**\\n * @type {boolean}\\n * @see http://www.w3.org/TR/DOM-Level-2-Traversal-Range/ranges.html#Level-2-Range-attr-collapsed\\n */\\nRange.prototype.collapsed;\\n\\n/**\\n * @type {Node}\\n * @see http://www.w3.org/TR/DOM-Level-2-Traversal-Range/ranges.html#Level-2-Range-attr-commonParent\\n */\\nRange.prototype.commonAncestorContainer;\\n\\n/**\\n * @param {Node} refNode\\n * @param {number} offset\\n * @return {undefined}\\n * @see http://www.w3.org/TR/DOM-Level-2-Traversal-Range/ranges.html#Level2-Range-method-setStart\\n */\\nRange.prototype.setStart = function(refNode, offset) {};\\n\\n/**\\n * @param {Node} refNode\\n * @param {number} offset\\n * @return {undefined}\\n * @see http://www.w3.org/TR/DOM-Level-2-Traversal-Range/ranges.html#Level2-Range-method-setEnd\\n */\\nRange.prototype.setEnd = function(refNode, offset) {};\\n\\n/**\\n * @param {Node} refNode\\n * @return {undefined}\\n * @see http://www.w3.org/TR/DOM-Level-2-Traversal-Range/ranges.html#Level2-Range-setStartBefore\\n */\\nRange.prototype.setStartBefore = function(refNode) {};\\n\\n/**\\n * @param {Node} refNode\\n * @return {undefined}\\n * @see http://www.w3.org/TR/DOM-Level-2-Traversal-Range/ranges.html#Level2-Range-method-setStartAfter\\n */\\nRange.prototype.setStartAfter = function(refNode) {};\\n\\n/**\\n * @param {Node} refNode\\n * @return {undefined}\\n * @see http://www.w3.org/TR/DOM-Level-2-Traversal-Range/ranges.html#Level2-Range-method-setEndBefore\\n */\\nRange.prototype.setEndBefore = function(refNode) {};\\n\\n/**\\n * @param {Node} refNode\\n * @return {undefined}\\n * @see http://www.w3.org/TR/DOM-Level-2-Traversal-Range/ranges.html#Level2-Range-method-setEndAfter\\n */\\nRange.prototype.setEndAfter = function(refNode) {};\\n\\n/**\\n * @param {boolean} toStart\\n * @return {undefined}\\n * @see http://www.w3.org/TR/DOM-Level-2-Traversal-Range/ranges.html#Level2-Range-method-collapse\\n */\\nRange.prototype.collapse = function(toStart) {};\\n\\n/**\\n * @param {Node} refNode\\n * @return {undefined}\\n * @see http://www.w3.org/TR/DOM-Level-2-Traversal-Range/ranges.html#Level2-Range-method-selectNode\\n */\\nRange.prototype.selectNode = function(refNode) {};\\n\\n/**\\n * @param {Node} refNode\\n * @return {undefined}\\n * @see http://www.w3.org/TR/DOM-Level-2-Traversal-Range/ranges.html#Level2-Range-method-selectNodeContents\\n */\\nRange.prototype.selectNodeContents = function(refNode) {};\\n\\n/**\\n * @type {number}\\n * @see http://www.w3.org/TR/DOM-Level-2-Traversal-Range/ranges.html#Level2-Range-compareHow\\n */\\nRange.prototype.START_TO_START = 0;\\n\\n/**\\n * @type {number}\\n * @see http://www.w3.org/TR/DOM-Level-2-Traversal-Range/ranges.html#Level2-Range-compareHow\\n */\\nRange.prototype.START_TO_END = 1;\\n\\n/**\\n * @';
a.a+="type {number}\\n * @see http://www.w3.org/TR/DOM-Level-2-Traversal-Range/ranges.html#Level2-Range-compareHow\\n */\\nRange.prototype.END_TO_END = 2;\\n\\n/**\\n * @type {number}\\n * @see http://www.w3.org/TR/DOM-Level-2-Traversal-Range/ranges.html#Level2-Range-compareHow\\n */\\nRange.prototype.END_TO_START = 3;\\n\\n/**\\n * @param {number} how\\n * @param {Range} sourceRange\\n * @return {number}\\n * @see http://www.w3.org/TR/DOM-Level-2-Traversal-Range/ranges.html#Level2-Range-method-compareBoundaryPoints\\n */\\nRange.prototype.compareBoundaryPoints = function(how, sourceRange) {};\\n\\n/**\\n * @return {number}\\n * @see http://www.w3.org/TR/DOM-Level-2-Traversal-Range/ranges.html#Level2-Range-method-deleteContents\\n */\\nRange.prototype.deleteContents = function() {};\\n\\n/**\\n * @return {DocumentFragment}\\n * @see http://www.w3.org/TR/DOM-Level-2-Traversal-Range/ranges.html#Level2-Range-method-extractContents\\n */\\nRange.prototype.extractContents = function() {};\\n\\n/**\\n * @return {DocumentFragment}\\n * @see http://www.w3.org/TR/DOM-Level-2-Traversal-Range/ranges.html#Level2-Range-method-cloneContents\\n */\\nRange.prototype.cloneContents = function() {};\\n\\n/**\\n * @param {Node} newNode\\n * @return {DocumentFragment}\\n * @see http://www.w3.org/TR/DOM-Level-2-Traversal-Range/ranges.html#Level2-Range-method-insertNode\\n */\\nRange.prototype.insertNode = function(newNode) {};\\n\\n/**\\n * @param {Node} newParent\\n * @return {undefined}\\n * @see http://www.w3.org/TR/DOM-Level-2-Traversal-Range/ranges.html#Level2-Range-method-surroundContents\\n */\\nRange.prototype.surroundContents = function(newParent) {};\\n\\n/**\\n * @return {Range}\\n * @see http://www.w3.org/TR/DOM-Level-2-Traversal-Range/ranges.html#Level2-Range-method-clone\\n */\\nRange.prototype.cloneRange = function() {};\\n\\n/**\\n * @return {undefined}\\n * @see http://www.w3.org/TR/DOM-Level-2-Traversal-Range/ranges.html#Level2-Range-method-detach\\n */\\nRange.prototype.detach = function() {};\\n\\n// Introduced in DOM Level 2:\\n/**\\n * @constructor\\n * @see http://www.w3.org/TR/DOM-Level-2-Traversal-Range/ranges.html#Level-2-DocumentRange-idl\\n */\\nfunction DocumentRange() {}\\n\\n/**\\n * @return {Range}\\n * @see http://www.w3.org/TR/DOM-Level-2-Traversal-Range/ranges.html#Level2-DocumentRange-method-createRange\\n */\\nDocumentRange.prototype.createRange = function() {};\\n\\n// Introduced in DOM Level 2:\\n/**\\n * @constructor\\n * @see http://www.w3.org/TR/DOM-Level-2-Traversal-Range/ranges.html#RangeException\\n */\\nfunction RangeException() {}\\n\\n/**\\n * @type {number}\\n * @see http://www.w3.org/TR/DOM-Level-2-Traversal-Range/ranges.html#RangeExceptionCode\\n */\\nRangeException.prototype.code;\\n\\n/**\\n * @type {number}\\n * @see http://www.w3.org/TR/DOM-Level-2-Traversal-Range/ranges.html#RangeExceptionCode\\n */\\nRangeException.prototype.BAD_BOUNDARYPOINTS_ERR = 1;\\n\\n/**\\n * @type {number}\\n * @see http://www.w3.org/TR/DOM-Level-2-Traversal-Range/ranges.html#RangeExceptionCode\\n */\\nRangeException.prototype.INVALID_NODE_TYPE_ERR = 2;\\n\",\"externs/w3c_rtc.js\":\"/*\\n * Copyright 2012 The Closure Compiler Authors\\n *\\n * Licensed under the Apache License, Version 2.0 (the \\\"License\\\");\\n * you may not use this file except in compliance with the License.\\n * You may obtain a copy of the License at\\n *\\n *     http://www.apache.org/licenses/LICENSE-2.0\\n *\\n * Unless required by applicable law or agreed to in writing, software\\n * distributed under the License is distributed on an \\\"AS IS\\\" BASIS,\\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\\n * See the License for the specific language governing permissions and\\n * limitations under the License.\\n */\\n\\n/**\\n * @fileoverview Definitions for components of the WebRTC browser API.\\n * @see http://dev.w3.org/2011/webrtc/editor/webrtc.html\\n * @see http://tools.ietf.org/html/draft-ietf-rtcweb-jsep-01\\n * @see https://developer.mozilla.org/en-US/docs/Web/API/WebRTC_API\\n * @see http://www.w3.org/TR/mediacapture-streams/\\n *\\n * @externs\\n * @author bemasc@google.com (Benjamin M. Schwartz)\\n */\\n\\n/**\\n * @typedef {string}\\n * @see {http://dev.w3.org/2011/webrtc/editor/getusermedia.html\\n *     #idl-def-MediaStreamTrackState}\\n * In WebIDL this is an enum with values 'live', 'mute', and 'ended',\\n * but there is no mechanism in Closure for describing a specialization of\\n * the string type.\\n */\\nvar MediaStreamTrackState;\\n\\n/**\\n * @interface\\n */\\nfunction SourceInfo() {}\\n\\n/** @const {string} */\\nSourceInfo.prototype.kind;\\n\\n/** @const {string} */\\nSourceInfo.prototype.id;\\n\\n/** @const {?string} */\\nSourceInfo.prototype.label;\\n\\n/** @const {boolean} */\\nSourceInfo.prototype.facing;\\n\\n/**\\n * @interface\\n * @extends {EventTarget}\\n * @see http://www.w3.org/TR/mediacapture-streams/#mediastreamtrack\\n */\\nfunction MediaStreamTrack() {}\\n\\n/**\\n * @param {!function(!Array<!SourceInfo>)} callback\\n * @return {undefined}\\n * @deprecated Use MediaDevices.enumerateDevices().\\n */\\nMediaStreamTrack.getSources = function(callback) {};\\n\\n/**\\n * @type {string}\\n * @const\\n */\\nMediaStreamTrack.prototype.kind;\\n\\n/**\\n * @type {string}\\n * @const\\n */\\nMediaStreamTrack.prototype.id;\\n\\n/**\\n * @type {string}\\n * @const\\n */\\nMediaStreamTrack.prototype.label;\\n\\n/**\\n * @type {boolean}\\n */\\nMediaStreamTrack.prototype.enabled;\\n\\n/**\\n * @type {boolean}\\n * @const\\n */\\nMediaStreamTrack.prototype.muted;\\n\\n/**\\n * @type {string}\\n * @see https://crbug.com/653531\\n * @see https://wicg.github.io/mst-content-hint/\\n */\\nMediaStreamTrack.prototype.contentHint;\\n\\n/**\\n * @type {boolean}\\n * @const\\n */\\nMediaStreamTrack.prototype.remote;\\n\\n/**\\n * @type {MediaStreamTrackState}\\n * Read only.\\n */\\nMediaStreamTrack.prototype.readyState;\\n\\n/**\\n * @type {?function(!Event)}\\n */\\nMediaStreamTrack.prototype.onmute;\\n\\n/**\\n * @type {?function(!Event)}\\n */\\nMediaStreamTrack.prototype.onunmute;\\n\\n/**\\n * @type {?function(!Event)}\\n */\\nMediaStreamTrack.prototype.onended;\\n\\n/**\\n * @return {!MediaStreamTrack}\\n */\\nMediaStreamTrack.prototype.clone = function() {};\\n\\n/** @return {void} */\\nMediaStreamTrack.prototype.stop = function() {};\\n\\n/**\\n * @constructor\\n * @extends {Event}\\n * @private\\n * @see http://dev.w3.org/2011/webrtc/editor/\\n * webrtc-20120720.html#mediastreamtrackevent\\n * TODO(bemasc): Update this link to the final definition once one exists\\n * (https://www.w3.org/Bugs/Public/show_bug.cgi?id=19568)\\n */\\nfunction MediaStreamTrackEvent() {}\\n\\n/**\\n * @type {!MediaStreamTrack}\\n * @const\\n */\\nMediaStreamTrackEvent.prototype.track;\\n\\n/**\\n * @param {!MediaStream|!Array<!MediaStreamTrack>=} streamOrTracks\\n * @constructor\\n * @implements {EventTarget}\\n * @see http://www.w3.org/TR/mediacapture-streams/#mediastream\\n */\\nfunction MediaStream(streamOrTracks) {}\\n\\n/**\\n * @param {boolean=} opt_useCapture\\n * @override\\n * @return {undefined}\\n */\\nMediaStream.prototype.addEventListener = function(type, listener,\\n    opt_useCapture) {};\\n\\n/**\\n * @param {boolean=} opt_useCapture\\n * @override\\n * @return {undefined}\\n */\\nMediaStream.prototype.removeEventListener = function(type, listener,\\n    opt_useCapture) {};\\n\\n/**\\n * @override\\n * @return {boolean}\\n */\\nMediaStream.prototype.dispatchEvent = function(evt) {};\\n\\n/**\\n * TODO(bemasc): Remove this property.\\n * @deprecated\\n * @type {string}\\n * @const\\n */\\nMediaStream.prototype.label;\\n\\n/**\\n * @type {string}\\n * @const\\n */\\nMediaStream.prototype.id;\\n\\n/**\\n * @return {!Array<!MediaStreamTrack>}\\n */\\nMediaStream.prototype.getAudioTracks = function() {};\\n\\n/**\\n * @return {!Array<!MediaStreamTrack>}\\n */\\nMediaStream.prototype.getVideoTracks = function() {};\\n\\n/**\\n * @return {!Array<!MediaStreamTrack>}\\n */\\nMediaStream.prototype.getTracks = function() {};\\n\\n/**\\n * @param {string} trackId\\n * @return {MediaStreamTrack}\\n */\\nMediaStream.prototype.getTrackById = function(trackId) {};\\n\\n/**\\n * @param {!MediaStreamTrack} track\\n * @return {undefined}\\n */\\nMediaStream.prototype.addTrack = function(track) {};\\n\\n/**\\n * @param {!MediaStreamTrack} track\\n * @return {undefined}\\n */\\nMediaStream.prototype.removeTrack = function(track) {};\\n\\n/**\\n * @return {!MediaStream}\\n */\\nMediaStream.prototype.clone = function() {};\\n\\n/**\\n * @deprecated\\n * @type {boolean}\\n */\\nMediaStream.prototype.ended;\\n\\n/**\\n * @deprecated\\n * @type {?function(!Event)}\\n */\\nMediaStream.prototype.onended;\\n\\n/**\\n * @type {boolean}\\n */\\nMediaStream.prototype.active;\\n\\n/**\\n * @type {?function(!Event)}\\n */\\nMediaStream.prototype.onactive;\\n\\n/**\\n * @type {?function(!Event)}\\n */\\nMediaStream.prototype.oninactive;\\n\\n/**\\n * @type {?function(!MediaStreamTrackEvent)}\\n */\\nMediaStream.prototype.onaddtrack;\\n\\n/**\\n * @type {?function(!MediaStreamTrackEvent)}\\n */\\nMediaStream.prototype.onremovetrack;\\n\\n/**\\n * @deprecated\\n * TODO(bemasc): Remove this method once browsers have updated to\\n * MediaStreamTrack.stop().\\n * @return {undefined}\\n */\\nMediaStream.prototype.stop = function() {};\\n\\n/**\\n * @type {function(new: MediaStream,\\n *                 (!MediaStream|!Array<!MediaStreamTrack>)=)}\\n */\\nvar webkitMediaStream;\\n\\n\\n/**\\n * @interface\\n * @see http://w3c.github.io/webrtc-pc/#rtcrtpsender-interface\\n */\\nfunction RTCRtpSender() {}\\n\\n/**\\n * @const {!MediaStreamTrack}\\n */\\nRTCRtpSender.prototype.track;\\n\\n\\n/**\\n * @interface\\n * @see http://w3c.github.io/webrtc-pc/#rtcrtpreceiver-interface\\n */\\nfunction RTCRtpReceiver() {}\\n\\n/**\\n * @const {!MediaStreamTrack}\\n */\\nRTCRtpReceiver.prototype.track;\\n\\n\\n/**\\n * This interface defines the available constraint attributes.  These are the\\n * attributes defined in\\n * {@see http://tools.ietf.org/html/draft-alvestrand-constraints-resolution-01}.\\n * Note that although that draft refers to \\\"Media Constraints\\\", the W3C uses\\n * the terms \\\"Media[Stream|Track]Constraints\\\" for this type, and\\n * defines a different type (for RTCPeerConnection) called \\\"MediaConstraints\\\".\\n *\\n * This interface type is not part of any standard, so it is marked as private.\\n * It is defined here in order to reserve the property names, which would\\n * otherwise be rewritten when the compiler processes an object literal.\\n * Several subsequent interfaces are defined in the same pattern.\\n *\\n * Note that although this list includes all the properties supported by\\n * libjingle (and hence by Chromium), browsers are permitted to offer other\\n * properties as well ({\\n * @see http://tools.ietf.org/html/draft-burnett-rtcweb-constraints-registry-02\\n * }), and browsers are expected to silently ignore unknown properties.  This\\n * creates the potential for a very confusing situation in which properties\\n * not listed here are renamed by the compiler and then ignored by the browser.\\n *\\n * @interface\\n * @private\\n */\\nfunction MediaTrackConstraintSetInterface_() {}\\n\\n/**\\n * @type {?string}\\n */\\nMediaTrackConstraintSetInterface_.prototype.chromeMediaSource;\\n\\n/**\\n * @type {?boolean}\\n */\\nMediaTrackConstraintSetInterface_.prototype.echoCancellation;\\n\\n/**\\n * @type {?number}\\n */\\nMediaTrackConstraintSetInterface_.prototype.minWidth;\\n\\n/**\\n * @type {?number}\\n */\\nMediaTrackConstraintSetInterface_.prototype.maxWidth;\\n\\n/**\\n * @type {?number}\\n */\\nMediaTrackConstraintSetInterface_.prototype.minHeight;\\n\\n/**\\n * @type {?number}\\n */\\nMediaTrackConstraintSetInterface_.prototype.maxHeight;\\n\\n/**\\n * @type {?number}\\n */\\nMediaTrackConstraintSetInterface_.prototype.minAspectRatio;\\n\\n/**\\n * @type {?number}\\n */\\nMediaTrackConstraintSetInterface_.prototype.maxAspectRatio;\\n\\n/**\\n * Due to a typo, this is called \\\"minFramerate\\\" in the -01 draft.\\n * @type {?number}\\n */\\nMediaTrackConstraintSetInterface_.prototype.minFrameRate;\\n\\n/**\\n * @type {?number}\\n */\\nMediaTrackConstraintSetInterface_.prototype.maxFrameRate;\\n\\n/**\\n * @type {?string}\\n */\\nMediaTrackConstraintSetInterface_.prototype.sourceId;\\n\\n/**\\n * This type and two more below are defined as unions with Object because they\\n * are normally used as record types by constructing an Object literal, but all\\n * of their properties are optional.\\n * @typedef {Object|MediaTrackConstraintSetInterface_}\\n */\\nvar MediaTrackConstraintSet;\\n\\n/**\\n * @interface\\n * @private\\n */\\nfunction MediaTrackConstraintsInterface_() {}\\n\\n/**\\n * @type {?MediaTrackConstraintSet}\\n */\\nMediaTrackConstraintsInterface_.prototype.mandatory;\\n\\n/**\\n * @type {?Array<!MediaTrackConstraintSet>}\\n */\\nMediaTrackConstraintsInterface_.prototype.optional;\\n\\n/**\\n * @typedef {Object|MediaTrackConstraintsInterface_}\\n */\\nvar MediaTrackConstraints;\\n\\n/**\\n * @interface\\n * @private\\n */\\nfunction MediaStreamConstraintsInterface_() {}\\n\\n/**\\n * @type {boolean|MediaTrackConstraints}\\n */\\nMediaStreamConstraintsInterface_.prototype.audio;\\n\\n/**\\n * @type {boolean|MediaTrackConstraints}\\n */\\nMediaStreamConstraintsInterface_.prototype.video;\\n\\n/**\\n * @typedef {Object|MediaStreamConstraintsInterface_}\\n */\\nvar MediaStreamConstraints;\\n\\n/**\\n * @see {http://dev.w3.org/2011/webrtc/editor/getusermedia.html#\\n *     navigatorusermediaerror-and-navigatorusermediaerrorcallback}\\n * @interface\\n */\\nfunction NavigatorUserMediaError() {}\\n\\n/**\\n * @type {number}\\n * @deprecated Removed from the standard and some browsers.\\n * @const\\n */\\nNavigatorUserMediaError.prototype.PERMISSION_DENIED;  /** 1 */\\n\\n/**\\n * @type {number}\\n * @deprecated Removed from the standard and some browsers.\\n * Read only.\\n */\\nNavigatorUserMediaError.prototype.code;\\n\\n/**\\n * @type {string}\\n * Read only.\\n */\\nNavigatorUserMediaError.prototype.name;\\n\\n/**\\n * @type {?string}\\n * Read only.\\n */\\nNavigatorUserMediaError.prototype.message;\\n\\n/**\\n * @type {?string}\\n * Read only.\\n */\\nNavigatorUserMediaError.prototype.constraintName;\\n\\n/**\\n * @param {MediaStreamConstraints} constraints A MediaStreamConstraints object.\\n * @param {function(!MediaStream)} successCallback\\n *     A NavigatorUserMediaSuccessCallback function.\\n * @param {function(!NavigatorUserMediaError)=} errorCallback A\\n *     NavigatorUserMediaErrorCallback function.\\n * @see http://dev.w3.org/2011/webrtc/editor/getusermedia.html\\n * @see http://www.w3.org/TR/mediacapture-streams/\\n * @return {undefined}\\n */\\nNavigator.prototype.webkitGetUserMedia =\\n  function(constraints, successCallback, errorCallback) {};\\n\\n/**\\n * @param {string} type\\n * @param {!Object} eventInitDict\\n * @constructor\\n */\\nfunction MediaStreamEvent(type, eventInitDict) {}\\n\\n/**\\n * @type {?MediaStream}\\n * @const\\n */\\nMediaStreamEvent.prototype.stream;\\n\\n/**\\n * @typedef {string}\\n * @see https://www.w3.org/TR/mediacapture-streams/#idl-def-MediaDeviceKind\\n * In WebIDL this is an enum with values 'audioinput', 'audiooutput', and\\n * 'videoinput', but there is no mechanism in Closure for describing a\\n * specialization of the string type.\\n */\\nvar MediaDeviceKind;\\n\\n/**\\n * @interface\\n */\\nfunction MediaDeviceInfo() {}\\n\\n/** @const {string} */\\nMediaDeviceInfo.prototype.deviceId;\\n\\n/** @const {!MediaDeviceKind} */\\nMediaDeviceInfo.prototype.kind;\\n\\n/** @const {string} */\\nMediaDeviceInfo.prototype.label;\\n\\n/** @const {string} */\\nMediaDeviceInfo.prototype.groupId;\\n\\n/**\\n * @interface\\n * @extends {EventTarget}\\n * @see https://www.w3.org/TR/mediacapture-streams/#mediadevices\\n */\\nfunction MediaDevices() {}\\n\\n/**\\n * @return {!Promise<!Array<!MediaDeviceInfo>>}\\n */\\nMediaDevices.prototype.enumerateDevices = function() {};\\n\\n/**\\n * @see https://developer.mozilla.org/en-US/docs/Web/API/MediaDevices/getUserMedia\\n * @param {!MediaStreamConstraints} constraints\\n * @return {!Promise<!MediaStream>}\\n */\\nMediaDevices.prototype.getUserMedia = function(constraints) {}\\n\\n/** @const {!MediaDevices} */\\nNavigator.prototype.mediaDevices;\\n\\n/**\\n * @typedef {string}\\n * @see http://www.w3.org/TR/webrtc/#rtcsdptype\\n * In WebIDL this is an enum with values 'offer', 'pranswer', and 'answer',\\n * but there is no mechanism in Closure for describing a specialization of\\n * the string type.\\n */\\nvar RTCSdpType;\\n\\n/**\\n * @param {!Object=} descriptionInitDict The RTCSessionDescriptionInit\\n * dictionary.  This optional argument may have type\\n * {type:RTCSdpType, sdp:string}, but neither of these keys are required to be\\n * present, and other keys are ignored, so the closest Closure type is Object.\\n * @constructor\\n * @see";
a.a+=' http://dev.w3.org/2011/webrtc/editor/webrtc.html#rtcsessiondescription-class\\n */\\nfunction RTCSessionDescription(descriptionInitDict) {}\\n\\n/**\\n * @type {?RTCSdpType}\\n * @see http://www.w3.org/TR/webrtc/#widl-RTCSessionDescription-type\\n */\\nRTCSessionDescription.prototype.type;\\n\\n/**\\n * @type {?string}\\n * @see http://www.w3.org/TR/webrtc/#widl-RTCSessionDescription-sdp\\n */\\nRTCSessionDescription.prototype.sdp;\\n\\n/**\\n * TODO(bemasc): Remove this definition once it is removed from the browser.\\n * @param {string} label The label index (audio/video/data -> 0,1,2)\\n * @param {string} sdp The ICE candidate in SDP text form\\n * @constructor\\n */\\nfunction IceCandidate(label, sdp) {}\\n\\n/**\\n * @return {string}\\n */\\nIceCandidate.prototype.toSdp = function() {};\\n\\n/**\\n * @type {?string}\\n */\\nIceCandidate.prototype.label;\\n\\n/**\\n * @param {!Object=} candidateInitDict  The RTCIceCandidateInit dictionary.\\n * This optional argument may have type\\n * {candidate: string, sdpMid: string, sdpMLineIndex:number}, but none of\\n * these keys are required to be present, and other keys are ignored, so the\\n * closest Closure type is Object.\\n * @constructor\\n * @see http://www.w3.org/TR/webrtc/#rtcicecandidate-type\\n */\\nfunction RTCIceCandidate(candidateInitDict) {}\\n\\n/**\\n * @type {?string}\\n */\\nRTCIceCandidate.prototype.candidate;\\n\\n/**\\n * @type {?string}\\n */\\nRTCIceCandidate.prototype.sdpMid;\\n\\n/**\\n * @type {?number}\\n */\\nRTCIceCandidate.prototype.sdpMLineIndex;\\n\\n/**\\n * @typedef {{url: string}}\\n * @private\\n * @see http://www.w3.org/TR/webrtc/#rtciceserver-type\\n * This dictionary type also has an optional key {credential: ?string}.\\n */\\nvar RTCIceServerRecord_;\\n\\n/**\\n * @interface\\n * @private\\n */\\nfunction RTCIceServerInterface_() {}\\n\\n/**\\n * @type {string}\\n */\\nRTCIceServerInterface_.prototype.url;\\n\\n/**\\n * @type {?string}\\n */\\nRTCIceServerInterface_.prototype.credential;\\n\\n/**\\n * This type, and several below it, are constructed as unions between records\\n *\\n * @typedef {RTCIceServerRecord_|RTCIceServerInterface_}\\n * @private\\n */\\nvar RTCIceServer;\\n\\n/**\\n * @typedef {{iceServers: !Array<!RTCIceServer>}}\\n * @private\\n */\\nvar RTCConfigurationRecord_;\\n\\n/**\\n * @interface\\n * @private\\n */\\nfunction RTCConfigurationInterface_() {}\\n\\n/**\\n * @type {!Array<!RTCIceServer>}\\n */\\nRTCConfigurationInterface_.prototype.iceServers;\\n\\n/**\\n * @typedef {RTCConfigurationRecord_|RTCConfigurationInterface_}\\n */\\nvar RTCConfiguration;\\n\\n/**\\n * @typedef {function(!RTCSessionDescription)}\\n */\\nvar RTCSessionDescriptionCallback;\\n\\n/**\\n * @typedef {function(string)}\\n */\\nvar RTCPeerConnectionErrorCallback;\\n\\n/**\\n * @typedef {function()}\\n */\\nvar RTCVoidCallback;\\n\\n/**\\n * @typedef {string}\\n */\\nvar RTCSignalingState;\\n\\n/**\\n * @typedef {string}\\n */\\nvar RTCIceConnectionState;\\n\\n/**\\n * @typedef {string}\\n */\\nvar RTCIceGatheringState;\\n\\n/**\\n * @param {string} type\\n * @param {!Object} eventInitDict\\n * @constructor\\n */\\nfunction RTCPeerConnectionIceEvent(type, eventInitDict) {}\\n\\n/**\\n * @type {RTCIceCandidate}\\n * @const\\n */\\nRTCPeerConnectionIceEvent.prototype.candidate;\\n\\n// Note: The specification of RTCStats types is still under development.\\n// Declarations here will be updated and removed to follow the development of\\n// modern browsers, breaking compatibility with older versions as they become\\n// obsolete.\\n/**\\n * @interface\\n */\\nfunction RTCStatsReport() {}\\n\\n/**\\n * @type {Date}\\n * @const\\n */\\nRTCStatsReport.prototype.timestamp;\\n\\n/**\\n * @return {!Array<!string>}\\n */\\nRTCStatsReport.prototype.names = function() {};\\n\\n/**\\n * @param {string} name\\n * @return {string}\\n */\\nRTCStatsReport.prototype.stat = function(name) {};\\n\\n/**\\n * @deprecated\\n * @type {RTCStatsReport}\\n * @const\\n */\\nRTCStatsReport.prototype.local;\\n\\n/**\\n * @deprecated\\n * @type {RTCStatsReport}\\n * @const\\n */\\nRTCStatsReport.prototype.remote;\\n\\n/**\\n * @type {string}\\n * @const\\n */\\nRTCStatsReport.prototype.type;\\n\\n/**\\n * @type {string}\\n * @const\\n */\\nRTCStatsReport.prototype.id;\\n\\n/**\\n * TODO(bemasc): Remove this type once it is no longer in use.  It has already\\n * been removed from the specification.\\n * @typedef {RTCStatsReport}\\n * @deprecated\\n */\\nvar RTCStatsElement;\\n\\n/**\\n * @interface\\n */\\nfunction RTCStatsResponse() {}\\n\\n/**\\n * @return {!Array<!RTCStatsReport>}\\n */\\nRTCStatsResponse.prototype.result = function() {};\\n\\n/**\\n * @typedef {function(!RTCStatsResponse, MediaStreamTrack=)}\\n */\\nvar RTCStatsCallback;\\n\\n/**\\n * This type is not yet standardized, so the properties here only represent\\n * the current capabilities of libjingle (and hence Chromium).\\n * TODO(bemasc): Add a link to the relevant standard once MediaConstraint has a\\n * standard definition.\\n *\\n * @interface\\n * @private\\n */\\nfunction MediaConstraintSetInterface_() {}\\n\\n/**\\n * @type {?boolean}\\n */\\nMediaConstraintSetInterface_.prototype.OfferToReceiveAudio;\\n\\n/**\\n * @type {?boolean}\\n */\\nMediaConstraintSetInterface_.prototype.OfferToReceiveVideo;\\n\\n/**\\n * @type {?boolean}\\n */\\nMediaConstraintSetInterface_.prototype.DtlsSrtpKeyAgreement;\\n\\n/**\\n * @type {?boolean}\\n */\\nMediaConstraintSetInterface_.prototype.RtpDataChannels;\\n\\n/**\\n * TODO(bemasc): Make this type public once it is defined in a standard.\\n *\\n * @typedef {Object|MediaConstraintSetInterface_}\\n * @private\\n */\\nvar MediaConstraintSet_;\\n\\n/**\\n * @interface\\n * @private\\n */\\nfunction MediaConstraintsInterface_() {}\\n\\n/**\\n * @type {?MediaConstraintSet_}\\n */\\nMediaConstraintsInterface_.prototype.mandatory;\\n\\n/**\\n * @type {?Array<!MediaConstraintSet_>}\\n */\\nMediaConstraintsInterface_.prototype.optional;\\n\\n/**\\n * This type is used extensively in\\n * {@see http://dev.w3.org/2011/webrtc/editor/webrtc.html} but is not yet\\n * defined.\\n *\\n * @typedef {Object|MediaConstraintsInterface_}\\n */\\nvar MediaConstraints;\\n\\n/**\\n * @interface\\n */\\nfunction RTCDataChannel() {}\\n\\n/**\\n * @type {string}\\n * @const\\n */\\nRTCDataChannel.prototype.label;\\n\\n/**\\n * @type {boolean}\\n * @const\\n */\\nRTCDataChannel.prototype.reliable;\\n\\n/**\\n * An enumerated string type (RTCDataChannelState) with values:\\n * \\"connecting\\", \\"open\\", \\"closing\\", and \\"closed\\".\\n * @type {string}\\n * Read only.\\n */\\nRTCDataChannel.prototype.readyState;\\n\\n/**\\n * @type {number}\\n * Read only.\\n */\\nRTCDataChannel.prototype.bufferedAmount;\\n\\n/**\\n * @type {?function(!Event)}\\n */\\nRTCDataChannel.prototype.onopen;\\n\\n/**\\n * @type {?function(!Event)}\\n */\\nRTCDataChannel.prototype.onerror;\\n\\n/**\\n * @type {?function(!Event)}\\n */\\nRTCDataChannel.prototype.onclose;\\n\\nRTCDataChannel.prototype.close = function() {};\\n\\n/**\\n * @type {?function(!MessageEvent<*>)}\\n */\\nRTCDataChannel.prototype.onmessage;\\n\\n/**\\n * @type {string}\\n */\\nRTCDataChannel.prototype.binaryType;\\n\\n/**\\n * @param {string|!Blob|!ArrayBuffer|!ArrayBufferView} data\\n * @return {undefined}\\n */\\nRTCDataChannel.prototype.send = function(data) {};\\n\\n/**\\n * @constructor\\n * @extends {Event}\\n * @private\\n */\\nfunction RTCDataChannelEvent() {}\\n\\n/**\\n * @type {!RTCDataChannel}\\n * Read only.\\n */\\nRTCDataChannelEvent.prototype.channel;\\n\\n/**\\n * @typedef {{reliable: boolean}}\\n */\\nvar RTCDataChannelInitRecord_;\\n\\n/**\\n * @interface\\n * @private\\n */\\nfunction RTCDataChannelInitInterface_() {}\\n\\n/**\\n * @type {boolean}\\n */\\nRTCDataChannelInitInterface_.prototype.reliable;\\n\\n/**\\n * @typedef {RTCDataChannelInitInterface_|RTCDataChannelInitRecord_}\\n */\\nvar RTCDataChannelInit;\\n\\n/**\\n * @param {RTCConfiguration} configuration\\n * @param {!MediaConstraints=} constraints\\n * @constructor\\n * @implements {EventTarget}\\n */\\nfunction RTCPeerConnection(configuration, constraints) {}\\n\\n/**\\n * @param {boolean=} opt_useCapture\\n * @override\\n * @return {undefined}\\n */\\nRTCPeerConnection.prototype.addEventListener = function(\\n    type, listener, opt_useCapture) {};\\n\\n/**\\n * @param {boolean=} opt_useCapture\\n * @override\\n * @return {undefined}\\n */\\nRTCPeerConnection.prototype.removeEventListener = function(\\n    type, listener, opt_useCapture) {};\\n\\n/**\\n * @override\\n * @return {boolean}\\n */\\nRTCPeerConnection.prototype.dispatchEvent = function(evt) {};\\n\\n\\n// NB: Until closure annotations support overloading, many of the following\\n// functions take odd unions of parameter types.  This is to support the various\\n// api differences between browsers.  Generally, returning a promise means you\\n// don\'t take callback function parameters and draw any further parameters\\n// forward, and vice versa.\\n\\n/**\\n * @param {(!RTCSessionDescriptionCallback|!MediaConstraints)=}\\n *    successCallbackOrConstraints\\n * @param {!RTCPeerConnectionErrorCallback=} failureCallback\\n * @param {!MediaConstraints=} constraints\\n * @return {!Promise<!RTCSessionDescription>|undefined}\\n */\\nRTCPeerConnection.prototype.createOffer = function(successCallbackOrConstraints,\\n    failureCallback, constraints) {};\\n\\n/**\\n * @param {(!RTCSessionDescriptionCallback|!MediaConstraints)=}\\n *    successCallbackOrConstraints\\n * @param {!RTCPeerConnectionErrorCallback=} failureCallback\\n * @param {!MediaConstraints=} constraints\\n * @return {!Promise<!RTCSessionDescription>|undefined}\\n */\\nRTCPeerConnection.prototype.createAnswer =\\n    function(successCallbackOrConstraints, failureCallback, constraints) {};\\n\\n/**\\n * @param {!RTCSessionDescription} description\\n * @param {!RTCVoidCallback=} successCallback\\n * @param {!RTCPeerConnectionErrorCallback=} failureCallback\\n * @return {!Promise<!RTCSessionDescription>|undefined}\\n */\\nRTCPeerConnection.prototype.setLocalDescription = function(description,\\n    successCallback, failureCallback) {};\\n\\n/**\\n * @param {!RTCSessionDescription} description\\n * @param {!RTCVoidCallback=} successCallback\\n * @param {!RTCPeerConnectionErrorCallback=} failureCallback\\n * @return {!Promise<!RTCSessionDescription>|undefined}\\n */\\nRTCPeerConnection.prototype.setRemoteDescription = function(description,\\n    successCallback, failureCallback) {};\\n\\n/**\\n * @type {?RTCSessionDescription}\\n * Read only.\\n */\\nRTCPeerConnection.prototype.localDescription;\\n\\n/**\\n * @type {?RTCSessionDescription}\\n * Read only.\\n */\\nRTCPeerConnection.prototype.remoteDescription;\\n\\n/**\\n * @type {RTCSignalingState}\\n * Read only.\\n */\\nRTCPeerConnection.prototype.signalingState;\\n\\n/**\\n * @param {?RTCConfiguration=} configuration\\n * @param {?MediaConstraints=} constraints\\n * @return {undefined}\\n */\\nRTCPeerConnection.prototype.updateIce = function(configuration, constraints) {};\\n\\n/**\\n * Void in Chrome for now, a promise that you can then/catch in Firefox.\\n * @param {!RTCIceCandidate} candidate\\n * @param {!RTCVoidCallback=} successCallback\\n * @param {!function(DOMException)=} failureCallback\\n * @return {!Promise|undefined}\\n */\\nRTCPeerConnection.prototype.addIceCandidate = function(candidate, successCallback, failureCallback) {};\\n\\n/**\\n * @type {!RTCIceGatheringState}\\n * Read only.\\n */\\nRTCPeerConnection.prototype.iceGatheringState;\\n\\n/**\\n * @type {!RTCIceConnectionState}\\n * Read only.\\n */\\nRTCPeerConnection.prototype.iceConnectionState;\\n\\n/**\\n * @return {!Array<!MediaStream>}\\n */\\nRTCPeerConnection.prototype.getLocalStreams = function() {};\\n\\n/**\\n * @return {!Array<!MediaStream>}\\n */\\nRTCPeerConnection.prototype.getRemoteStreams = function() {};\\n\\n/**\\n * @param {string} streamId\\n * @return {MediaStream}\\n */\\nRTCPeerConnection.prototype.getStreamById = function(streamId) {};\\n\\n/**\\n * @return {!Array<!RTCRtpSender>}\\n */\\nRTCPeerConnection.prototype.getSenders = function() {};\\n\\n/**\\n * @param {?string} label\\n * @param {RTCDataChannelInit=} dataChannelDict\\n * @return {!RTCDataChannel}\\n */\\nRTCPeerConnection.prototype.createDataChannel =\\n    function(label, dataChannelDict) {};\\n/**\\n * @param {!MediaStream} stream\\n * @param {!MediaConstraints=} constraints\\n * @return {undefined}\\n */\\nRTCPeerConnection.prototype.addStream = function(stream, constraints) {};\\n\\n/**\\n * @param {!MediaStream} stream\\n * @return {undefined}\\n */\\nRTCPeerConnection.prototype.removeStream = function(stream) {};\\n\\n/**\\n * @param {!MediaStreamTrack} track\\n * @param {!MediaStream} stream\\n * @param {...MediaStream} var_args Additional streams.\\n * @return {!RTCRtpSender}\\n */\\nRTCPeerConnection.prototype.addTrack = function(track, stream, var_args) {};\\n\\n\\n/**\\n * @param {!RTCRtpSender} sender\\n * @return {undefined}\\n */\\nRTCPeerConnection.prototype.removeTrack = function(sender) {};\\n\\n// TODO(bemasc): Add identity provider stuff once implementations exist\\n\\n/**\\n * Firefox\' getstats is synchronous and returns a much simpler\\n * {!Object<string, !Object>} dictionary.\\n * @param {!RTCStatsCallback=} successCallback\\n * @param {MediaStreamTrack=} selector\\n * @return {undefined|!Object<string, !Object>}\\n */\\nRTCPeerConnection.prototype.getStats = function(successCallback, selector) {};\\n\\nRTCPeerConnection.prototype.close = function() {};\\n\\n/**\\n * @type {?function(!Event)}\\n */\\nRTCPeerConnection.prototype.onnegotiationneeded;\\n\\n/**\\n * @type {?function(!RTCPeerConnectionIceEvent)}\\n */\\nRTCPeerConnection.prototype.onicecandidate;\\n\\n/**\\n * @type {?function(!Event)}\\n */\\nRTCPeerConnection.prototype.onsignalingstatechange;\\n\\n/**\\n * @type {?function(!MediaStreamEvent)}\\n */\\nRTCPeerConnection.prototype.onaddstream;\\n\\n/**\\n * @type {?function(!MediaStreamEvent)}\\n */\\nRTCPeerConnection.prototype.onremovestream;\\n\\n/**\\n * @type {?function(!Event)}\\n */\\nRTCPeerConnection.prototype.oniceconnectionstatechange;\\n\\n/**\\n * @type {?function(!RTCDataChannelEvent)}\\n */\\nRTCPeerConnection.prototype.ondatachannel;\\n\\n/**\\n * @const\\n */\\nvar webkitRTCPeerConnection = RTCPeerConnection;\\n","externs/w3c_screen_orientation.js":"/*\\n * Copyright 2016 The Closure Compiler Authors\\n *\\n * Licensed under the Apache License, Version 2.0 (the \\"License\\");\\n * you may not use this file except in compliance with the License.\\n * You may obtain a copy of the License at\\n *\\n *     http://www.apache.org/licenses/LICENSE-2.0\\n *\\n * Unless required by applicable law or agreed to in writing, software\\n * distributed under the License is distributed on an \\"AS IS\\" BASIS,\\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\\n * See the License for the specific language governing permissions and\\n * limitations under the License.\\n */\\n\\n/**\\n * @fileoverview Definitions for W3C\'s Screen Orientation API.\\n * @see https://w3c.github.io/screen-orientation/\\n *\\n * @externs\\n */\\n\\n/**\\n * @interface\\n * @extends {EventTarget}\\n * @see https://w3c.github.io/screen-orientation/#screenorientation-interface\\n */\\nvar ScreenOrientation = function() {};\\n\\n/**\\n * @param {string} orientation\\n * @return {!Promise<void>}\\n */\\nScreenOrientation.prototype.lock = function(orientation) {};\\n\\n/** @return {void} */\\nScreenOrientation.prototype.unlock = function() {};\\n\\n/** @const {string} */\\nScreenOrientation.prototype.type;\\n\\n/** @const {number} */\\nScreenOrientation.prototype.angle;\\n\\n/** @type {?function(!Event)} */\\nScreenOrientation.prototype.onchange;\\n\\n/**\\n * @type {?ScreenOrientation}\\n * @see https://w3c.github.io/screen-orientation/#extensions-to-the-screen-interface\\n */\\nScreen.prototype.orientation;\\n","externs/w3c_selectors.js":"/*\\n * Copyright 2008 The Closure Compiler Authors\\n *\\n * Licensed under the Apache License, Version 2.0 (the \\"License\\");\\n * you may not use this file except in compliance with the License.\\n * You may obtain a copy of the License at\\n *\\n *     http://www.apache.org/licenses/LICENSE-2.0\\n *\\n * Unless required by applicable law or agreed to in writing, software\\n * distributed under the License is distributed on an \\"AS IS\\" BASIS,\\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\\n * See the License for the specific language governing permissions and\\n * limitations under the License.\\n */\\n\\n/**\\n * @fileoverview Definitions for W3C\'s Selectors API.\\n *  This file depends on w3c_dom1.js.\\n *  @see http://www.w3.org/TR/selectors-api2/\\n *\\n * @externs\\n * @author mihaip@google.com (Mihai Parparita)\\n */\\n\\n/**\\n * @param {string} selectors\\n * @return {?Element}\\n * @override\\n * @nosideeffects\\n */\\nDocument.prototype.querySelector = function(selector';
a.a+="s) {};\\n\\n/**\\n * @param {string} selectors\\n * @return {!NodeList<!Element>}\\n * @override\\n * @nosideeffects\\n */\\nDocument.prototype.querySelectorAll = function(selectors) {};\\n\\n/**\\n * @param {string} selectors\\n * @return {?Element}\\n * @override\\n * @nosideeffects\\n */\\nElement.prototype.querySelector = function(selectors) {};\\n\\n/**\\n * @param {string} selectors\\n * @return {!NodeList<!Element>}\\n * @override\\n * @nosideeffects\\n */\\nElement.prototype.querySelectorAll = function(selectors) {};\\n\\n/**\\n * https://dom.spec.whatwg.org/#dom-element-closest\\n * https://developer.mozilla.org/en-US/docs/Web/API/Element.closest\\n * @param {string} selectors\\n * @return {?Element}\\n * @nosideeffects\\n */\\nElement.prototype.closest = function(selectors) {};\\n\\n/**\\n * https://dom.spec.whatwg.org/#dom-element-matches\\n * https://developer.mozilla.org/en-US/docs/Web/API/Element.matches\\n * @param {string} selectors\\n * @return {boolean}\\n * @nosideeffects\\n */\\nElement.prototype.matches = function(selectors) {};\\n\\n/**\\n * @param {string} selectors\\n * @param {(Node|NodeList<?>)=} refNodes\\n * @return {boolean}\\n * @nosideeffects\\n */\\nElement.prototype.matchesSelector = function(selectors, refNodes) {};\\n\\n/**\\n * @see https://developer.mozilla.org/en/DOM/Node.mozMatchesSelector\\n * @param {string} selectors\\n * @return {boolean}\\n * @nosideeffects\\n */\\nElement.prototype.mozMatchesSelector = function(selectors) {};\\n\\n/**\\n * @see http://developer.apple.com/library/safari/documentation/WebKit/Reference/ElementClassRef/Element/Element.html\\n * @param {string} selectors\\n * @return {boolean}\\n * @nosideeffects\\n */\\nElement.prototype.webkitMatchesSelector = function(selectors) {};\\n\\n/**\\n * @see http://msdn.microsoft.com/en-us/library/ff975201.aspx\\n * @param {string} selectors\\n * @return {boolean}\\n * @nosideeffects\\n */\\nElement.prototype.msMatchesSelector = function(selectors) {};\\n\\n/**\\n * @see http://www.opera.com/docs/changelogs/windows/1150/\\n * @param {string} selectors\\n * @return {boolean}\\n * @nosideeffects\\n */\\nElement.prototype.oMatchesSelector = function(selectors) {};\\n\",\"externs/w3c_serviceworker.js\":\"/*\\n * Copyright 2014 The Closure Compiler Authors\\n *\\n * Licensed under the Apache License, Version 2.0 (the \\\"License\\\");\\n * you may not use this file except in compliance with the License.\\n * You may obtain a copy of the License at\\n *\\n *     http://www.apache.org/licenses/LICENSE-2.0\\n *\\n * Unless required by applicable law or agreed to in writing, software\\n * distributed under the License is distributed on an \\\"AS IS\\\" BASIS,\\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\\n * See the License for the specific language governing permissions and\\n * limitations under the License.\\n */\\n/**\\n * @fileoverview Externs for service worker.\\n *\\n * @see http://www.w3.org/TR/service-workers/\\n * @externs\\n */\\n\\n/**\\n * @see http://www.w3.org/TR/service-workers/#service-worker-interface\\n * @constructor\\n * @extends {Worker}\\n */\\nfunction ServiceWorker() {}\\n\\n/** @type {string} */\\nServiceWorker.prototype.scriptURL;\\n\\n/** @type {ServiceWorkerState} */\\nServiceWorker.prototype.state;\\n\\n/** @type {?function(!Event)} */\\nServiceWorker.prototype.onstatechange;\\n\\n/**\\n *  Set of possible string values: 'installing', 'installed', 'activating',\\n * 'activated', 'redundant'.\\n *  @typedef {string}\\n */\\nvar ServiceWorkerState ;\\n\\n/**\\n * @see https://w3c.github.io/push-api/\\n * @constructor\\n */\\nfunction PushSubscription() {}\\n\\n/** @type {string} */\\nPushSubscription.prototype.endpoint;\\n\\n/**\\n * Please note there is an intent to deprecate this field in Chrome 43 or 44.\\n * See https://www.chromestatus.com/feature/5283829761703936.\\n * @type {string}\\n */\\nPushSubscription.prototype.subscriptionId;\\n\\n/** @return {!Promise<boolean>} */\\nPushSubscription.prototype.unsubscribe = function() {};\\n\\n/** @enum {string} */\\n// This is commented out since it has not been implemented yet in Chrome beta.\\n// Uncomment once it is available.\\n// var PushPermissionStatus  = {\\n//  GRANTED: 'granted',\\n//  DENIED: 'denied',\\n//  DEFAULT: 'default'\\n//};\\n\\n/**\\n * @see https://w3c.github.io/push-api/#idl-def-PushManager\\n * @constructor\\n */\\nfunction PushManager() {}\\n\\n/**\\n * @param {PushSubscriptionOptions=} opt_options\\n * @return {!Promise<PushSubscription>}\\n */\\nPushManager.prototype.subscribe = function(opt_options) {};\\n\\n/** @return {!Promise<PushSubscription>} */\\nPushManager.prototype.getSubscription = function() {};\\n\\n/** @return {!Promise<PushPermissionStatus>} */\\n// This is commented out since it has not been implemented yet in Chrome beta.\\n// Uncomment once it is available.\\n// PushManager.prototype.hasPermission = function() {};\\n\\n/**\\n * @typedef {{userVisibleOnly: (boolean|undefined)}}\\n * @see https://w3c.github.io/push-api/#idl-def-PushSubscriptionOptions\\n */\\nvar PushSubscriptionOptions;\\n\\n/**\\n * @see http://www.w3.org/TR/push-api/#idl-def-PushMessageData\\n * @constructor\\n */\\nfunction PushMessageData() {}\\n\\n/** @return {!ArrayBuffer} */\\nPushMessageData.prototype.arrayBuffer = function() {};\\n\\n/** @return {!Blob} */\\nPushMessageData.prototype.blob = function() {};\\n\\n/** @return {*} */\\nPushMessageData.prototype.json = function() {};\\n\\n/** @return {string} */\\nPushMessageData.prototype.text = function() {};\\n\\n\\n/**\\n * @see http://www.w3.org/TR/push-api/#idl-def-PushEvent\\n * @constructor\\n * @param {string} type\\n * @param {!ExtendableEventInit=} opt_eventInitDict\\n * @extends {ExtendableEvent}\\n */\\nfunction PushEvent(type, opt_eventInitDict) {}\\n\\n/** @type {?PushMessageData} */\\nPushEvent.prototype.data;\\n\\n\\n/**\\n * @see http://www.w3.org/TR/service-workers/#service-worker-registration-interface\\n * @interface\\n * @extends {EventTarget}\\n */\\nfunction ServiceWorkerRegistration() {}\\n\\n/** @type {ServiceWorker} */\\nServiceWorkerRegistration.prototype.installing;\\n\\n/** @type {ServiceWorker} */\\nServiceWorkerRegistration.prototype.waiting;\\n\\n/** @type {ServiceWorker} */\\nServiceWorkerRegistration.prototype.active;\\n\\n/** @type {string} */\\nServiceWorkerRegistration.prototype.scope;\\n\\n/** @return {!Promise<boolean>} */\\nServiceWorkerRegistration.prototype.unregister = function() {};\\n\\n/** @type {?function(!Event)} */\\nServiceWorkerRegistration.prototype.onupdatefound;\\n\\n/** @return {!Promise<void>} */\\nServiceWorkerRegistration.prototype.update = function() {};\\n\\n/**\\n * @see https://w3c.github.io/push-api/\\n * @type {!PushManager}\\n */\\nServiceWorkerRegistration.prototype.pushManager;\\n\\n/**\\n * @see https://notifications.spec.whatwg.org/#service-worker-api\\n * @param {string} title\\n * @param {NotificationOptions=} opt_options\\n * @return {!Promise<void>}\\n */\\nServiceWorkerRegistration.prototype.showNotification =\\n    function(title, opt_options) {};\\n\\n/**\\n * @see https://notifications.spec.whatwg.org/#service-worker-api\\n * @param {!GetNotificationOptions=} opt_filter\\n * @return {!Promise<?Array<?Notification>>}\\n */\\nServiceWorkerRegistration.prototype.getNotifications = function(opt_filter) {};\\n\\n/**\\n * @see http://www.w3.org/TR/service-workers/#service-worker-container-interface\\n * @interface\\n * @extends {EventTarget}\\n */\\nfunction ServiceWorkerContainer() {}\\n\\n/** @type {?ServiceWorker} */\\nServiceWorkerContainer.prototype.controller;\\n\\n/** @type {!Promise<!ServiceWorkerRegistration>} */\\nServiceWorkerContainer.prototype.ready;\\n\\n/**\\n * @param {string} scriptURL\\n * @param {RegistrationOptions=} opt_options\\n * @return {!Promise<!ServiceWorkerRegistration>}\\n */\\nServiceWorkerContainer.prototype.register = function(scriptURL, opt_options) {};\\n\\n/**\\n * @param {string=} opt_documentURL\\n * @return {!Promise<!ServiceWorkerRegistration|undefined>}\\n */\\nServiceWorkerContainer.prototype.getRegistration = function(opt_documentURL) {};\\n\\n/**\\n * @return {!Promise<Array<!ServiceWorkerRegistration>>}\\n */\\nServiceWorkerContainer.prototype.getRegistrations = function() {};\\n\\n/** @type {?function(!Event)} */\\nServiceWorkerContainer.prototype.oncontrollerchange;\\n\\n/** @type {?function(!ErrorEvent)} */\\nServiceWorkerContainer.prototype.onerror;\\n\\n/**\\n * @typedef {{scope: (string|undefined), useCache: (boolean|undefined)}}\\n */\\nvar RegistrationOptions;\\n\\n/** @type {!ServiceWorkerContainer} */\\nNavigator.prototype.serviceWorker;\\n\\n/**\\n * @see http://www.w3.org/TR/service-workers/#service-worker-global-scope-interface\\n * @interface\\n * @extends {WorkerGlobalScope}\\n */\\nfunction ServiceWorkerGlobalScope() {}\\n\\n/** @type {!Cache} */\\nServiceWorkerGlobalScope.prototype.scriptCache;\\n\\n/** @type {!CacheStorage} */\\nServiceWorkerGlobalScope.prototype.caches;\\n\\n/** @type {!ServiceWorkerClients} */\\nServiceWorkerGlobalScope.prototype.clients;\\n\\n/** @type {string} */\\nServiceWorkerGlobalScope.prototype.scope;\\n\\n/** @type {!ServiceWorkerRegistration} */\\nServiceWorkerGlobalScope.prototype.registration;\\n\\n/** @return {!Promise<void>} */\\nServiceWorkerGlobalScope.prototype.skipWaiting = function() {};\\n\\n/** @type {!Console} */\\nServiceWorkerGlobalScope.prototype.console;\\n\\n/** @type {?function(!InstallEvent)} */\\nServiceWorkerGlobalScope.prototype.oninstall;\\n\\n/** @type {?function(!ExtendableEvent)} */\\nServiceWorkerGlobalScope.prototype.onactivate;\\n\\n/** @type {?function(!FetchEvent)} */\\nServiceWorkerGlobalScope.prototype.onfetch;\\n\\n/**\\n * TODO(mtragut): This handler should get a custom event in the future.\\n * @type {?function(!Event)}\\n */\\nServiceWorkerGlobalScope.prototype.onbeforeevicted;\\n\\n/**\\n * TODO(mtragut): This handler should get a custom event in the future.\\n * @type {?function(!Event)}\\n */\\nServiceWorkerGlobalScope.prototype.onevicted;\\n\\n/** @type {?function(!MessageEvent)} */\\nServiceWorkerGlobalScope.prototype.onmessage;\\n\\n/** @type {!IDBFactory|undefined} */\\nServiceWorkerGlobalScope.prototype.indexedDB;\\n\\n/**\\n * @see http://www.w3.org/TR/service-workers/#service-worker-client-interface\\n * @constructor\\n */\\nfunction ServiceWorkerClient() {}\\n\\n/** @type {!Promise<void>} */\\nServiceWorkerClient.prototype.ready;\\n\\n/** @type {boolean} */\\nServiceWorkerClient.prototype.hidden;\\n\\n/** @type {boolean} */\\nServiceWorkerClient.prototype.focused;\\n\\n/** @type {VisibilityState} */\\nServiceWorkerClient.prototype.visibilityState;\\n\\n/** @type {string} */\\nServiceWorkerClient.prototype.url;\\n\\n/**\\n * // TODO(mtragut): Possibly replace the type with enum ContextFrameType once\\n * the enum is defined.\\n * @type {string}\\n */\\nServiceWorkerClient.prototype.frameType;\\n\\n/**\\n * @param {*} message\\n * @param {(!Array<!Transferable>|undefined)=} opt_transfer\\n * @return {undefined}\\n */\\nServiceWorkerClient.prototype.postMessage = function(message, opt_transfer) {};\\n\\n/** @return {!Promise} */\\nServiceWorkerClient.prototype.focus = function() {};\\n\\n/**\\n * @see http://www.w3.org/TR/service-workers/#service-worker-clients-interface\\n * @interface\\n */\\nfunction ServiceWorkerClients() {}\\n\\n/**\\n * Deprecated in Chrome M43+, use matchAll instead. Reference:\\n * https://github.com/slightlyoff/ServiceWorker/issues/610.\\n * TODO(joeltine): Remove when getAll is fully deprecated.\\n * @param {ServiceWorkerClientQueryOptions=} opt_options\\n * @return {!Promise<!Array<!ServiceWorkerClient>>}\\n */\\nServiceWorkerClients.prototype.getAll = function(opt_options) {};\\n\\n/**\\n * @param {ServiceWorkerClientQueryOptions=} opt_options\\n * @return {!Promise<!Array<!ServiceWorkerClient>>}\\n */\\nServiceWorkerClients.prototype.matchAll = function(opt_options) {};\\n\\n/**\\n * @return {!Promise<void>}\\n */\\nServiceWorkerClients.prototype.claim = function() {};\\n\\n/**\\n * @param {string} url\\n * @return {!Promise<!ServiceWorkerClient>}\\n */\\nServiceWorkerClients.prototype.openWindow = function(url) {};\\n\\n/** @typedef {{includeUncontrolled: (boolean|undefined)}} */\\nvar ServiceWorkerClientQueryOptions;\\n\\n/**\\n * @see http://www.w3.org/TR/service-workers/#cache-interface\\n * @interface\\n */\\nfunction Cache() {}\\n\\n/**\\n * @param {!RequestInfo} request\\n * @param {CacheQueryOptions=} opt_options\\n * @return {!Promise<!Response|undefined>}\\n */\\nCache.prototype.match = function(request, opt_options) {};\\n\\n/**\\n * @param {RequestInfo=} opt_request\\n * @param {CacheQueryOptions=} opt_options\\n * @return {!Promise<!Array<!Response>>}\\n */\\nCache.prototype.matchAll = function(opt_request, opt_options) {};\\n\\n/**\\n * @param {!RequestInfo} request\\n * @return {!Promise<void>}\\n */\\nCache.prototype.add = function(request) {};\\n\\n/**\\n * @param {!Array<!RequestInfo>} requests\\n * @return {!Promise<void>}\\n */\\nCache.prototype.addAll = function(requests) {};\\n\\n/**\\n * @param {!RequestInfo} request\\n * @param {!Response} response\\n * @return {!Promise<void>}\\n */\\nCache.prototype.put = function(request, response) {};\\n\\n/**\\n * @param {!RequestInfo} request\\n * @param {CacheQueryOptions=} opt_options\\n * @return {!Promise<boolean>}\\n */\\nCache.prototype.delete = function(request, opt_options) {};\\n\\n/**\\n * @param {RequestInfo=} opt_request\\n * @param {CacheQueryOptions=} opt_options\\n * @return {!Promise<!Array<!Request>>}\\n */\\nCache.prototype.keys = function(opt_request, opt_options) {};\\n\\n/**\\n * @typedef {{\\n *   ignoreSearch: (boolean|undefined),\\n *   ignoreMethod: (boolean|undefined),\\n *   ignoreVary: (boolean|undefined),\\n *   prefixMatch: (boolean|undefined),\\n *   cacheName: (string|undefined)\\n * }}\\n */\\nvar CacheQueryOptions;\\n\\n/**\\n * @see http://www.w3.org/TR/service-workers/#cache-storage-interface\\n * @interface\\n */\\nfunction CacheStorage() {}\\n\\n/**\\n * Window instances have a property called caches which implements CacheStorage\\n * @see https://www.w3.org/TR/service-workers/#cache-objects\\n * @type {!CacheStorage}\\n */\\nWindow.prototype.caches;\\n\\n/**\\n * @param {!RequestInfo} request\\n * @param {CacheQueryOptions=} opt_options\\n * @return {!Promise<!Response|undefined>}\\n */\\nCacheStorage.prototype.match = function(request, opt_options) {};\\n\\n/**\\n * @param {string} cacheName\\n * @return {!Promise<boolean>}\\n */\\nCacheStorage.prototype.has = function(cacheName) {};\\n\\n/**\\n * @param {string} cacheName\\n * @return {!Promise<!Cache>}\\n */\\nCacheStorage.prototype.open = function(cacheName) {};\\n\\n/**\\n * @param {string} cacheName\\n * @return {!Promise<boolean>}\\n */\\nCacheStorage.prototype.delete = function(cacheName) {};\\n\\n/** @return {!Promise<!Array<string>>} */\\nCacheStorage.prototype.keys = function() {};\\n\\n/**\\n * @see http://www.w3.org/TR/service-workers/#extendable-event-interface\\n * @constructor\\n * @param {string} type\\n * @param {ExtendableEventInit=} opt_eventInitDict\\n * @extends {Event}\\n */\\nfunction ExtendableEvent(type, opt_eventInitDict) {}\\n\\n/**\\n * @param {IThenable} f\\n * @return {undefined}\\n */\\nExtendableEvent.prototype.waitUntil = function(f) {};\\n\\n/**\\n * @typedef {{\\n *   bubbles: (boolean|undefined),\\n *   cancelable: (boolean|undefined)\\n * }}\\n */\\nvar ExtendableEventInit;\\n\\n/**\\n * @see http://www.w3.org/TR/service-workers/#install-event-interface\\n * @constructor\\n * @param {string} type\\n * @param {InstallEventInit=} opt_eventInitDict\\n * @extends {ExtendableEvent}\\n */\\nfunction InstallEvent(type, opt_eventInitDict) {}\\n\\n/** @type {ServiceWorker} */\\nExtendableEvent.prototype.activeWorker;\\n\\n/**\\n * @typedef {{\\n *   bubbles: (boolean|undefined),\\n *   cancelable: (boolean|undefined),\\n *   activeWorker: (!ServiceWorker|undefined)\\n * }}\\n */\\nvar InstallEventInit;\\n\\n/**\\n * @see http://www.w3.org/TR/service-workers/#fetch-event-interface\\n * @constructor\\n * @param {string} type\\n * @param {FetchEventInit=} opt_eventInitDict\\n * @extends {Event}\\n */\\nfunction FetchEvent(type, opt_eventInitDict) {}\\n\\n/** @type {!Request} */\\nFetchEvent.prototype.request;\\n\\n/** @type {!ServiceWorkerClient} */\\nFetchEvent.prototype.client;\\n\\n/** @type {!boolean} */\\nFetchEvent.prototype.isReload;\\n\\n/**\\n * @param {(Response|Promise<Response>)} r\\n * @return {undefined}\\n */\\nFetchEvent.prototype.respondWith = function(r) {};\\n\\n/**\\n * @param {string} url\\n * @return {!Promise<!Response>}\\n */\\nFetchEvent.prototype.forwardTo = function(url) {};\\n\\n/**\\n * @return {!Promise<!Response>}\\n */\\nFetchEvent.prototype.default = function() {};\\n\\n/**\\n * @typedef {{\\n *   bubbles: (boolean|undefined),\\n *   cancelable: (boolean|undefined),\\n *   request: ";
a.a+='(!Request|undefined),\\n *   client: (!ServiceWorkerClient|undefined),\\n *   isReload: (!boolean|undefined)\\n * }}\\n */\\nvar FetchEventInit;\\n","externs/w3c_touch_event.js":"/*\\n * Copyright 2015 The Closure Compiler Authors\\n *\\n * Licensed under the Apache License, Version 2.0 (the \\"License\\");\\n * you may not use this file except in compliance with the License.\\n * You may obtain a copy of the License at\\n *\\n *     http://www.apache.org/licenses/LICENSE-2.0\\n *\\n * Unless required by applicable law or agreed to in writing, software\\n * distributed under the License is distributed on an \\"AS IS\\" BASIS,\\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\\n * See the License for the specific language governing permissions and\\n * limitations under the License.\\n */\\n\\n/**\\n * @fileoverview Definitions for W3C\'s Touch Events specification.\\n * @see http://www.w3.org/TR/touch-events/\\n * @externs\\n */\\n\\n/**\\n * @typedef {{\\n *   identifier: number,\\n *   target: !EventTarget,\\n *   clientX: (number|undefined),\\n *   clientY: (number|undefined),\\n *   screenX: (number|undefined),\\n *   screenY: (number|undefined),\\n *   pageX: (number|undefined),\\n *   pageY: (number|undefined),\\n *   radiusX: (number|undefined),\\n *   radiusY: (number|undefined),\\n *   rotationAngle: (number|undefined),\\n *   force: (number|undefined)\\n * }}\\n */\\nvar TouchInitDict;\\n\\n/**\\n * The Touch class represents a single touch on the surface. A touch is the\\n * presence or movement of a finger that is part of a unique multi-touch\\n * sequence.\\n * @see http://www.w3.org/TR/touch-events/#touch-interface\\n * @param {!TouchInitDict} touchInitDict\\n * @constructor\\n */\\nfunction Touch(touchInitDict) {}\\n\\n/**\\n * The x-coordinate of the touch\'s location relative to the window\'s viewport.\\n * @type {number}\\n */\\nTouch.prototype.clientX;\\n\\n/**\\n * The y-coordinate of the touch\'s location relative to the window\'s viewport.\\n * @type {number}\\n */\\nTouch.prototype.clientY;\\n\\n/**\\n * The unique identifier for this touch object.\\n * @type {number}\\n */\\nTouch.prototype.identifier;\\n\\n/**\\n * The x-coordinate of the touch\'s location in page coordinates.\\n * @type {number}\\n */\\nTouch.prototype.pageX;\\n\\n/**\\n * The y-coordinate of the touch\'s location in page coordinates.\\n * @type {number}\\n */\\nTouch.prototype.pageY;\\n\\n/**\\n * The x-coordinate of the touch\'s location in screen coordinates.\\n * @type {number}\\n */\\nTouch.prototype.screenX;\\n\\n/**\\n * The y-coordinate of the touch\'s location in screen coordinates.\\n * @type {number}\\n */\\nTouch.prototype.screenY;\\n\\n/**\\n * The target of this touch.\\n * @type {EventTarget}\\n */\\nTouch.prototype.target;\\n\\n/**\\n * @type {number}\\n * @see http://www.w3.org/TR/touch-events-extensions/#widl-Touch-force\\n */\\nTouch.prototype.force;\\n\\n/**\\n * @type {number}\\n * @see http://www.w3.org/TR/touch-events-extensions/#widl-Touch-radiusX\\n */\\nTouch.prototype.radiusX;\\n\\n/**\\n * @type {number}\\n * @see http://www.w3.org/TR/touch-events-extensions/#widl-Touch-radiusY\\n */\\nTouch.prototype.radiusY;\\n\\n\\n/**\\n * @type {number}\\n * @see http://www.w3.org/TR/2011/WD-touch-events-20110505/#widl-Touch-rotationAngle\\n */\\nTouch.prototype.rotationAngle;\\n\\n\\n/**\\n * Creates a new Touch object.\\n * @see http://www.w3.org/TR/touch-events/#widl-Document-createTouch-Touch-WindowProxy-view-EventTarget-target-long-identifier-long-pageX-long-pageY-long-screenX-long-screenY\\n * @param {Window} view\\n * @param {EventTarget} target\\n * @param {number} identifier\\n * @param {number} pageX\\n * @param {number} pageY\\n * @param {number} screenX\\n * @param {number} screenY\\n * @return {Touch}\\n */\\nDocument.prototype.createTouch = function(view, target, identifier, pageX,\\n    pageY, screenX, screenY) {};\\n\\n\\n/**\\n * The TouchList class is used to represent a collection of Touch objects.\\n * @see http://www.w3.org/TR/touch-events/#touchlist-interface\\n * @constructor\\n * @implements {IArrayLike<!Touch>}\\n */\\nfunction TouchList() {}\\n\\n/**\\n * The number of Touch objects in this TouchList object.\\n * @type {number}\\n */\\nTouchList.prototype.length;\\n\\n/**\\n * Returns the Touch object at the given index.\\n * @param {number} index\\n * @return {?Touch}\\n */\\nTouchList.prototype.item = function(index) {};\\n\\n/**\\n * @param {number} identifier\\n * @return {?Touch}\\n * @see http://www.w3.org/TR/touch-events-extensions/#widl-TouchList-identifiedTouch-Touch-long-identifier\\n */\\nTouchList.prototype.identifiedTouch = function(identifier) {};\\n\\n/**\\n * Creates a new TouchList object.\\n * @see http://www.w3.org/TR/touch-events/#widl-Document-createTouchList-TouchList-Touch-touches\\n * @param {Array<Touch>} touches\\n * @return {TouchList}\\n */\\nDocument.prototype.createTouchList = function(touches) {};\\n\\n/**\\n * @typedef {{\\n *   bubbles: (boolean|undefined),\\n *   cancelable: (boolean|undefined),\\n *   view: (Window|undefined),\\n *   detail: (number|undefined),\\n *   relatedTarget: (EventTarget|undefined),\\n *   touches: (!Array<Touch>|undefined),\\n *   targetTouches: (!Array<Touch>|undefined),\\n *   changedTouches: (!Array<Touch>|undefined)\\n * }}\\n */\\nvar TouchEventInit;\\n\\n/**\\n * The TouchEvent class encapsulates information about a touch event.\\n *\\n * <p>The system continually sends TouchEvent objects to an application as\\n * fingers touch and move across a surface. A touch event provides a snapshot of\\n * all touches during a multi-touch sequence, most importantly the touches that\\n * are new or have changed for a particular target. A multi-touch sequence\\n * begins when a finger first touches the surface. Other fingers may\\n * subsequently touch the surface, and all fingers may move across the surface.\\n * The sequence ends when the last of these fingers is lifted from the surface.\\n * An application receives touch event objects during each phase of any touch.\\n * </p>\\n *\\n * <p>The different types of TouchEvent objects that can occur are:\\n * <ul>\\n *   <li>touchstart - Sent when a finger for a given event touches the surface.\\n *   <li>touchmove - Sent when a given event moves on the surface.\\n *   <li>touchend - Sent when a given event lifts from the surface.\\n *   <li>touchcancel - Sent when the system cancels tracking for the touch.\\n * </ul>\\n * TouchEvent objects are combined together to form high-level GestureEvent\\n * objects that are also sent during a multi-touch sequence.</p>\\n *\\n * @see http://www.w3.org/TR/touch-events/#touchevent-interface\\n * @param {string} type\\n * @param {!TouchEventInit=} opt_eventInitDict\\n * @extends {UIEvent}\\n * @constructor\\n */\\nfunction TouchEvent(type, opt_eventInitDict) {}\\n\\n/**\\n * A collection of Touch objects representing all touches associated with this\\n * target.\\n * @type {TouchList}\\n */\\nTouchEvent.prototype.touches;\\n\\n/**\\n * A collection of Touch objects representing all touches associated with this\\n * target.\\n * @type {TouchList}\\n */\\nTouchEvent.prototype.targetTouches;\\n\\n/**\\n * A collection of Touch objects representing all touches that changed in this event.\\n * @type {TouchList}\\n */\\nTouchEvent.prototype.changedTouches;\\n\\n/**\\n * @type {boolean}\\n */\\nTouchEvent.prototype.altKey;\\n\\n/**\\n * @type {boolean}\\n */\\nTouchEvent.prototype.metaKey;\\n\\n/**\\n * @type {boolean}\\n */\\nTouchEvent.prototype.ctrlKey;\\n\\n/**\\n * @type {boolean}\\n */\\nTouchEvent.prototype.shiftKey;\\n\\n\\n/**\\n * Specifies the JavaScript method to invoke when the system cancels tracking\\n * for the touch.\\n * @type {?function(!TouchEvent)}\\n */\\nElement.prototype.ontouchcancel;\\n\\n/**\\n * Specifies the JavaScript method to invoke when a given event lifts from the\\n * surface.\\n * @type {?function(!TouchEvent)}\\n */\\nElement.prototype.ontouchend;\\n\\n/**\\n * Specifies the JavaScript method to invoke when a finger for a given event\\n * moves on the surface.\\n * @type {?function(!TouchEvent)}\\n */\\nElement.prototype.ontouchmove;\\n\\n/**\\n * Specifies the JavaScript method to invoke when a finger for a given event\\n * touches the surface.\\n * @type {?function(!TouchEvent)}\\n */\\nElement.prototype.ontouchstart;\\n","externs/w3c_webcrypto.js":"/*\\n * Copyright 2015 The Closure Compiler Authors\\n *\\n * Licensed under the Apache License, Version 2.0 (the \\"License\\");\\n * you may not use this file except in compliance with the License.\\n * You may obtain a copy of the License at\\n *\\n *     http://www.apache.org/licenses/LICENSE-2.0\\n *\\n * Unless required by applicable law or agreed to in writing, software\\n * distributed under the License is distributed on an \\"AS IS\\" BASIS,\\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\\n * See the License for the specific language governing permissions and\\n * limitations under the License.\\n */\\n\\n\\n/**\\n * @fileoverview Definitions for W3C\'s Web Cryptography specification\\n * http://www.w3.org/TR/webCryptoAPI\\n * @externs\\n * @author chrismoon@google.com (Chris Moon)\\n * This file was created using the best practices as described in:\\n *     chrome_extensions.js\\n */\\n\\n\\n/**\\n * @const\\n * @see http://www.w3.org/TR/webCryptoAPI\\n */\\nvar webCrypto = {};\\n\\n\\n/**\\n * @typedef {?{\\n *   name: string\\n * }}\\n * @see http://www.w3.org/TR/WebCryptoAPI/#algorithm-dictionary\\n */\\nwebCrypto.Algorithm;\\n\\n\\n/**\\n * @typedef {string|!webCrypto.Algorithm}\\n * @see http://www.w3.org/TR/WebCryptoAPI/#dfn-AlgorithmIdentifier\\n */\\nwebCrypto.AlgorithmIdentifier;\\n\\n\\n/**\\n * @constructor\\n * @see http://www.w3.org/TR/webCryptoAPI/#dfn-CryptoKey\\n */\\nwebCrypto.CryptoKey = function() {};\\n\\n\\n/**\\n * @type {string} An enumerated value representing the type of the key, a secret\\n *    key (for symmetric algorithm), a public or a private key\\n *    (for an asymmetric algorithm).\\n */\\nwebCrypto.CryptoKey.prototype.type;\\n\\n\\n/**\\n * @type {boolean} Determines whether or not the raw keying material may be\\n *     exported by the application.\\n */\\nwebCrypto.CryptoKey.prototype.extractable;\\n\\n\\n/**\\n * @type {!Object} An opaque object representing a particular cipher the key\\n *     has to be used with.\\n */\\nwebCrypto.CryptoKey.prototype.algorithm;\\n\\n\\n/**\\n * @type {!Object} Returns the cached ECMAScript object associated with the\\n *   usages internal slot, which indicates which cryptographic operations are\\n *   permissible to be used with this key.\\n */\\nwebCrypto.CryptoKey.prototype.usages;\\n\\n\\n/**\\n * @typedef {?{\\n *   name: string\\n * }}\\n * @see http://www.w3.org/TR/WebCryptoAPI/#key-algorithm-dictionary-members\\n */\\nwebCrypto.KeyAlgorithm;\\n\\n\\n/**\\n * @constructor\\n * @see http://www.w3.org/TR/WebCryptoAPI/#dfn-JsonWebKey\\n * @see Section 3.1:\\n *     https://tools.ietf.org/html/draft-ietf-jose-json-web-key-41\\n */\\nwebCrypto.JsonWebKey = function() {};\\n\\n\\n/**\\n * @type {string} Identifies the cryptographic algorithm family used with\\n *     the key, such as \\"RSA\\" or \\"EC\\".\\n */\\nwebCrypto.JsonWebKey.prototype.kty;\\n\\n\\n/**\\n * @type {string} Identifies the intended use of the public key.\\n */\\nwebCrypto.JsonWebKey.prototype.use;\\n\\n\\n/**\\n * @type {!Array<string>} Identifies the operation(s) that the key is\\n *     intended to be used for.\\n */\\nwebCrypto.JsonWebKey.prototype.key_ops;\\n\\n\\n/**\\n * @type {string} Identifies the algorithm intended for use with the key.\\n */\\nwebCrypto.JsonWebKey.prototype.alg;\\n\\n\\n/**\\n * @type {boolean} Boolean to be used with kty values.\\n */\\nwebCrypto.JsonWebKey.prototype.ext;\\n\\n\\n/**\\n * @type {string} Identifies the cryptographic curve used with the key.\\n */\\nwebCrypto.JsonWebKey.prototype.crv;\\n\\n\\n/**\\n * @type {string} Contains the x coordinate for the elliptic curve point.\\n */\\nwebCrypto.JsonWebKey.prototype.x;\\n\\n\\n/**\\n * @type {string} Contains the y coordinate for the elliptic curve point.\\n */\\nwebCrypto.JsonWebKey.prototype.y;\\n\\n\\n/**\\n * @type {string} Contains the Elliptic Curve private key value.\\n */\\nwebCrypto.JsonWebKey.prototype.d;\\n\\n\\n/**\\n * @type {string} Contains the modulus value for the RSA public key.\\n */\\nwebCrypto.JsonWebKey.prototype.n;\\n\\n\\n/**\\n * @type {string} Contains the exponent value for the RSA public key.\\n */\\nwebCrypto.JsonWebKey.prototype.e;\\n\\n\\n/**\\n * @type {string} Contains the first prime factor.\\n */\\nwebCrypto.JsonWebKey.prototype.p;\\n\\n\\n/**\\n * @type {string} Contains the second prime factor.\\n */\\nwebCrypto.JsonWebKey.prototype.q;\\n\\n\\n/**\\n * @type {string} Contains the Chinese Remainder Theorem (CRT) exponent of\\n *     the first factor.\\n */\\nwebCrypto.JsonWebKey.prototype.dp;\\n\\n\\n/**\\n * @type {string} Contains the Chinese Remainder Theorem (CRT) exponent of\\n *     the second factor.\\n */\\nwebCrypto.JsonWebKey.prototype.dq;\\n\\n\\n/**\\n * @type {string} Contains the Chinese Remainder Theorem (CRT) coefficient\\n *     of the second factor.\\n */\\nwebCrypto.JsonWebKey.prototype.qi;\\n\\n\\n/**\\n * @type {!Array<!webCrypto.RsaOtherPrimesInfo>} Contains an array of\\n *     information about any third and subsequent primes, should they exist.\\n */\\nwebCrypto.JsonWebKey.prototype.oth;\\n\\n\\n/**\\n * @type {string} Contains the value of the symmetric (or other\\n *     single-valued) key.\\n */\\nwebCrypto.JsonWebKey.prototype.k;\\n\\n\\n/**\\n * @constructor\\n * @see http://www.w3.org/TR/WebCryptoAPI/#dfn-RsaOtherPrimesInfo\\n * @see Section-6.3.2.7:\\n *     https://tools.ietf.org/html/draft-ietf-jose-json-web-algorithms-40\\n */\\nwebCrypto.RsaOtherPrimesInfo = function() {};\\n\\n\\n/**\\n * @type {string} Parameter within an \\"oth\\" array member represents the value\\n *     of a subsequent prime factor.\\n */\\nwebCrypto.RsaOtherPrimesInfo.prototype.r;\\n\\n\\n/**\\n * @type {string} Parameter within an \\"oth\\" array member represents the CRT\\n *     exponent of the corresponding prime factor.\\n */\\nwebCrypto.RsaOtherPrimesInfo.prototype.d;\\n\\n\\n/**\\n * @type {string} Parameter within an \\"oth\\" array member represents the CRT\\n *     coefficient of the corresponding prime factor.\\n */\\nwebCrypto.RsaOtherPrimesInfo.prototype.t;\\n\\n\\n/**\\n * @constructor\\n * @see http://www.w3.org/TR/WebCryptoAPI/#subtlecrypto-interface\\n */\\nwebCrypto.SubtleCrypto = function() {};\\n\\n\\n/**\\n * @param {!webCrypto.AlgorithmIdentifier} algorithm Supported\\n *     values are: AES-CBC, AES-CTR, AES-GCM, and RSA-OAEP.\\n * @param {!webCrypto.CryptoKey} key Key to be used for signing.\\n * @param {!BufferSource} data Data to be encrypted (cleartext).\\n * @return {!Promise<*>} Ciphertext generated by the encryption of the\\n *     cleartext.\\n */\\nwebCrypto.SubtleCrypto.prototype.encrypt = function(algorithm, key,\\n    data) {};\\n\\n\\n/**\\n * @param {!webCrypto.AlgorithmIdentifier} algorithm Supported\\n *     values are: AES-CBC, AES-CTR, AES-GCM, and RSA-OAEP.\\n * @param {!webCrypto.CryptoKey} key Key to be used for signing.\\n * @param {!BufferSource} data Data to be decrypted (ciphertext).\\n * @return {!Promise<*>} Cleartext generated by the decryption of the\\n *     ciphertext.\\n */\\nwebCrypto.SubtleCrypto.prototype.decrypt = function(algorithm, key,\\n    data) {};\\n\\n\\n/**\\n * @param {!webCrypto.AlgorithmIdentifier} algorithm Supported\\n *     values are: HMAC, RSASSA-PKCS1-v1_5, and ECDSA.\\n * @param {!webCrypto.CryptoKey} key Private key to be used for signing.\\n * @param {!BufferSource} data Data to be signed.\\n * @return {!Promise<*>} Returns the signature on success.\\n */\\nwebCrypto.SubtleCrypto.prototype.sign = function(algorithm, key,\\n    data) {};\\n\\n\\n/**\\n * @param {!webCrypto.AlgorithmIdentifier} algorithm Supported\\n *     values are: HMAC, RSASSA-PKCS1-v1_5, and ECDSA.\\n * @param {!webCrypto.CryptoKey} key Private key to be used for signing.\\n * @param {!BufferSource} signature Signature to verify.\\n * @param {!BufferSource} data Data whose signature needs to be verified.\\n * @return {!Promise<*>} Returns a boolean indicating if the signature operating\\n *     has been successful.\\n */\\nwebCrypto.SubtleCrypto.prototype.verify = function(algorithm, key,\\n    signature, data) {};\\n\\n\\n/**\\n * @param {!webCrypto.AlgorithmIdentifier} algorithm Supported\\n *     values are: SHA-1, SHA-256, SHA-384, and SHA-512.\\n * @param {!BufferSource} data Data to be hashed using the hashing algorithm.\\n * @return {!Promise<*>} returns the hash on success.\\n */\\nwebCrypto.SubtleCrypto.prototype.digest = function(algorithm, data) {};\\n\\n\\n/**\\n * @param {!webCrypto.AlgorithmIdentifier} algorithm Supported\\n *     values a';
a.a+='re: SHA-1, SHA-256, SHA-384, and SHA-512.\\n * @param {boolean} extractable If the key can be extracted from the CryptoKey\\n *     object at a later stage.\\n * @param {!Array<string>} keyUsages Indication of new key options i.e.\\n *     encrypt, decrypt, sign, verify, deriveKey, deriveBits, wrapKey,\\n *     unwrapKey.\\n * @return {!Promise<*>} returns the generated key as a CryptoKey or a\\n *     CryptoKeyPair.\\n */\\nwebCrypto.SubtleCrypto.prototype.generateKey = function(algorithm,\\n    extractable, keyUsages) {};\\n\\n\\n/**\\n * @param {!webCrypto.AlgorithmIdentifier} algorithm The key derivation\\n *     algorithm to use. Supported values are:  ECDH, DH, PBKDF2, and HKDF-CTR.\\n * @param {!webCrypto.CryptoKey} baseKey Key to be used by the key\\n *     derivation algorithm.\\n * @param {!webCrypto.AlgorithmIdentifier} derivedKeyAlgo Defines the key\\n *     derivation algorithm to use.\\n * @param {boolean} extractable Indicates if the key can be extracted from the\\n *     CryptoKey object at a later stage.\\n * @param {!Array<string>} keyUsages Indicates what can be done with the\\n *     derivated key.\\n * @return {!Promise<*>} returns the generated key as a CryptoKey or a\\n *     CryptoKeyPair.\\n */\\nwebCrypto.SubtleCrypto.prototype.deriveKey = function(algorithm,\\n   baseKey, derivedKeyAlgo, extractable, keyUsages) {};\\n\\n\\n/**\\n * @param {!webCrypto.AlgorithmIdentifier} algorithm The key derivation\\n *     algorithm to use.\\n * @param {!webCrypto.CryptoKey} baseKey Key to be used by the key\\n *     derivation algorithm.\\n * @param {number} length\\n * @return {!Promise<*>} returns the generated key as a CryptoKey or a\\n *     CryptoKeyPair.\\n */\\nwebCrypto.SubtleCrypto.prototype.deriveBits = function(algorithm,\\n   baseKey, length) {};\\n\\n\\n/**\\n * @param {string} format Enumerated value describing the data\\n *     format of the key to imported.\\n * @param {!BufferSource|!webCrypto.JsonWebKey} keyData The key\\n *     in the given format.\\n * @param {!webCrypto.AlgorithmIdentifier} algorithm Supported values\\n *     are: AES-CTR, AES-CBC, AES-GCM, RSA-OAEP, AES-KW, HMAC,\\n *     RSASSA-PKCS1-v1_5, ECDSA, ECDH, DH.\\n * @param {boolean} extractable If the key can be extracted from the CryptoKey\\n *     object at a later stage.\\n * @param {!Array<string>} keyUsages Indication of new key options i.e.\\n *     encrypt, decrypt, sign, verify, deriveKey, deriveBits, wrapKey,\\n *     unwrapKey.\\n * @return {!Promise<*>} returns the generated key as a CryptoKey.\\n */\\nwebCrypto.SubtleCrypto.prototype.importKey = function(format, keyData,\\n    algorithm, extractable, keyUsages) {};\\n\\n\\n/**\\n * @param {string} format Enumerated value describing the data\\n *     format of the key to imported.\\n * @param {!webCrypto.CryptoKey} key CryptoKey to export.\\n * @return {!Promise<*>} returns the key in the requested format.\\n */\\nwebCrypto.SubtleCrypto.prototype.exportKey = function(format, key) {};\\n\\n\\n/**\\n * @param {string} format Value describing the data format in which the key must\\n *     be wrapped. It can be one of the following: raw, pkcs8, spki, jwk.\\n * @param {!webCrypto.CryptoKey} key CryptoKey to wrap.\\n * @param {!webCrypto.CryptoKey} wrappingKey CryptoKey used to perform\\n *     the wrapping.\\n * @param {!webCrypto.AlgorithmIdentifier} wrapAlgorithm algorithm used\\n *     to perform the wrapping. It is one of the following: AES-CBC, AES-CTR,\\n *     AES-GCM, RSA-OAEP, and AES-KW.\\n * @return {!Promise<*>} returns the wrapped key in the requested format.\\n */\\nwebCrypto.SubtleCrypto.prototype.wrapKey = function(format,\\n   key, wrappingKey, wrapAlgorithm) {};\\n\\n\\n/**\\n * @param {string} format Value describing the data format in which the key must\\n *     be wrapped. It can be one of the following: raw, pkcs8, spki, jwk.\\n * @param {!BufferSource} wrappedKey Contains the wrapped key in the given\\n *     format.\\n * @param {!webCrypto.CryptoKey} unwrappingKey CryptoKey used to perform\\n *     the unwrapping.\\n * @param {!webCrypto.AlgorithmIdentifier} unwrapAlgorithm Algorithm\\n *    used to perform the unwrapping. It is one of the following: AES-CBC,\\n *    AES-CTR, AES-GCM, RSA-OAEP, and AES-KW.\\n * @param {!webCrypto.AlgorithmIdentifier} unwrappedKeyAlgorithm\\n *     Represents the algorithm of the wrapped key.\\n * @param {boolean} extractable Indicates if the key can be extracted from the\\n *     CryptoKey object at a later stage.\\n * @param {!Array<string>} keyUsages Indicates what can be done with the\\n *     derivated key.\\n * @return {!Promise<*>} returns the unwrapped key as a CryptoKey.\\n */\\nwebCrypto.SubtleCrypto.prototype.unwrapKey = function(format, wrappedKey,\\n    unwrappingKey, unwrapAlgorithm, unwrappedKeyAlgorithm, extractable,\\n    keyUsages) {};\\n\\n\\n/**\\n * Web Cryptography API\\n * @see http://www.w3.org/TR/WebCryptoAPI/\\n */\\n\\n/** @see https://developer.mozilla.org/en/DOM/window.crypto */\\nWindow.prototype.crypto;\\n\\n\\n/**\\n * @see https://developer.mozilla.org/en/DOM/window.crypto.getRandomValues\\n * @param {!ArrayBufferView} typedArray\\n * @return {!ArrayBufferView}\\n * @throws {Error}\\n */\\nWindow.prototype.crypto.getRandomValues = function(typedArray) {};\\n\\n\\n/**\\n * @type {webCrypto.SubtleCrypto}\\n * @see http://www.w3.org/TR/WebCryptoAPI/#Crypto-attribute-subtle\\n */\\nWindow.prototype.crypto.subtle;\\n","externs/w3c_xml.js":"/*\\n * Copyright 2008 The Closure Compiler Authors\\n *\\n * Licensed under the Apache License, Version 2.0 (the \\"License\\");\\n * you may not use this file except in compliance with the License.\\n * You may obtain a copy of the License at\\n *\\n *     http://www.apache.org/licenses/LICENSE-2.0\\n *\\n * Unless required by applicable law or agreed to in writing, software\\n * distributed under the License is distributed on an \\"AS IS\\" BASIS,\\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\\n * See the License for the specific language governing permissions and\\n * limitations under the License.\\n */\\n\\n/**\\n * @fileoverview Definitions for W3C\'s XML related specifications.\\n *  This file depends on w3c_dom2.js.\\n *  The whole file has been fully type annotated.\\n *\\n *  Provides the XML standards from W3C.\\n *   Includes:\\n *    XPath          - Fully type annotated\\n *    XMLHttpRequest - Fully type annotated\\n *\\n * @see http://www.w3.org/TR/DOM-Level-3-XPath/xpath.html\\n * @see http://www.w3.org/TR/XMLHttpRequest/\\n * @see http://www.w3.org/TR/XMLHttpRequest2/\\n *\\n * @externs\\n * @author acleung@google.com (Alan Leung)\\n * @author stevey@google.com (Steve Yegge)\\n */\\n\\n\\n/**\\n * @constructor\\n * @see http://www.w3.org/TR/DOM-Level-3-XPath/xpath.html#XPathException\\n */\\nfunction XPathException() {}\\n\\n/**\\n * @type {number}\\n * @see http://www.w3.org/TR/DOM-Level-3-XPath/xpath.html#INVALID_EXPRESSION_ERR\\n */\\nXPathException.INVALID_EXPRESSION_ERR = 52;\\n\\n/**\\n * @type {number}\\n * @see http://www.w3.org/TR/DOM-Level-3-XPath/xpath.html#TYPE_ERR\\n */\\nXPathException.TYPE_ERR = 52;\\n\\n/**\\n * @type {number}\\n * @see http://www.w3.org/TR/DOM-Level-3-XPath/xpath.html#\\n */\\nXPathException.prototype.code;\\n\\n/**\\n * @constructor\\n * @see http://www.w3.org/TR/DOM-Level-3-XPath/xpath.html#XPathEvaluator\\n */\\nfunction XPathEvaluator() {}\\n\\n/**\\n * @param {string} expr\\n * @param {?XPathNSResolver=} opt_resolver\\n * @see http://www.w3.org/TR/DOM-Level-3-XPath/xpath.html#XPathEvaluator-createExpression\\n * @throws XPathException\\n * @throws DOMException\\n * @return {undefined}\\n */\\nXPathEvaluator.prototype.createExpression = function(expr, opt_resolver) {};\\n\\n/**\\n * @param {Node} nodeResolver\\n * @see http://www.w3.org/TR/DOM-Level-3-XPath/xpath.html#XPathEvaluator-createNSResolver\\n * @return {undefined}\\n */\\nXPathEvaluator.prototype.createNSResolver = function(nodeResolver) {};\\n\\n/**\\n * @param {string} expr\\n * @param {Node} contextNode\\n * @param {?XPathNSResolver=} opt_resolver\\n * @param {?number=} opt_type\\n * @param {*=} opt_result\\n * @return {XPathResult}\\n * @throws XPathException\\n * @throws DOMException\\n * @see http://www.w3.org/TR/DOM-Level-3-XPath/xpath.html#XPathEvaluator-evaluate\\n */\\nXPathEvaluator.prototype.evaluate = function(expr, contextNode, opt_resolver,\\n    opt_type, opt_result) {};\\n\\n\\n/**\\n * @constructor\\n * @see http://www.w3.org/TR/DOM-Level-3-XPath/xpath.html#XPathExpression\\n */\\nfunction XPathExpression() {}\\n\\n/**\\n * @param {Node} contextNode\\n * @param {number=} opt_type\\n * @param {*=} opt_result\\n * @return {*}\\n * @throws XPathException\\n * @throws DOMException\\n * @see http://www.w3.org/TR/DOM-Level-3-XPath/xpath.html#XPathExpression-evaluate\\n */\\nXPathExpression.prototype.evaluate = function(contextNode, opt_type,\\n    opt_result) {};\\n\\n\\n/**\\n * @constructor\\n * @see http://www.w3.org/TR/DOM-Level-3-XPath/xpath.html#XPathNSResolver\\n */\\nfunction XPathNSResolver() {}\\n\\n/**\\n * @param {string} prefix\\n * @return {?string}\\n * @see http://www.w3.org/TR/DOM-Level-3-XPath/xpath.html#XPathNSResolver-lookupNamespaceURI\\n */\\nXPathNSResolver.prototype.lookupNamespaceURI = function(prefix) {};\\n\\n/**\\n * From http://www.w3.org/TR/xpath\\n *\\n * XPath is a language for addressing parts of an XML document, designed to be\\n * used by both XSLT and XPointer.\\n *\\n * @noalias\\n * @constructor\\n * @see http://www.w3.org/TR/DOM-Level-3-XPath/xpath.html#XPathResult\\n */\\nfunction XPathResult() {}\\n\\n/**\\n * @type {boolean} {@see XPathException.TYPE_ERR}\\n * @see http://www.w3.org/TR/DOM-Level-3-XPath/xpath.html#XPathResult-booleanValue\\n */\\nXPathResult.prototype.booleanValue;\\n\\n/**\\n * @type {boolean} {@see XPathException.TYPE_ERR}\\n * @see http://www.w3.org/TR/DOM-Level-3-XPath/xpath.html#XPathResult-invalid-iterator-state\\n */\\nXPathResult.prototype.invalidInteratorState;\\n\\n/**\\n * @type {number}\\n * @throws XPathException {@see XPathException.TYPE_ERR}\\n * @see http://www.w3.org/TR/DOM-Level-3-XPath/xpath.html#XPathResult-numberValue\\n */\\nXPathResult.prototype.numberValue;\\n\\n/**\\n * @type {number}\\n * @throws XPathException {@see XPathException.TYPE_ERR}\\n * @see http://www.w3.org/TR/DOM-Level-3-XPath/xpath.html#XPathResult-resultType\\n */\\nXPathResult.prototype.resultType;\\n\\n/**\\n * @type {Node}\\n * @throws XPathException {@see XPathException.TYPE_ERR}\\n * @see http://www.w3.org/TR/DOM-Level-3-XPath/xpath.html#XPathResult-singleNodeValue\\n */\\nXPathResult.prototype.singleNodeValue;\\n\\n/**\\n * @type {number}\\n * @throws XPathException {@see XPathException.TYPE_ERR}\\n * @see http://www.w3.org/TR/DOM-Level-3-XPath/xpath.html#XPathResult-snapshot-length\\n */\\nXPathResult.prototype.snapshotLength;\\n\\n/**\\n * @type {string}\\n * @throws XPathException {@see XPathException.TYPE_ERR}\\n * @see http://www.w3.org/TR/DOM-Level-3-XPath/xpath.html#XPathResult-stringValue\\n */\\nXPathResult.prototype.stringValue;\\n\\n/**\\n * @return {Node}\\n * @throws XPathException {@see XPathException.TYPE_ERR}\\n * @throws DOMException {@see DOMException.INVALID_STATE_ERR}\\n * @see http://www.w3.org/TR/DOM-Level-3-XPath/xpath.html#XPathResult-iterateNext\\n */\\nXPathResult.prototype.iterateNext = function() {};\\n\\n/**\\n * @param {number} index\\n * @return {Node}\\n * @throws XPathException\\n * @see http://www.w3.org/TR/DOM-Level-3-XPath/xpath.html#XPathResult-snapshotItem\\n */\\nXPathResult.prototype.snapshotItem = function(index) {};\\n\\n/**\\n * @type {number}\\n * @see http://www.w3.org/TR/DOM-Level-3-XPath/xpath.html#XPathResult-ANY-TYPE\\n */\\nXPathResult.ANY_TYPE = 0;\\n\\n/**\\n * @type {number}\\n * @see http://www.w3.org/TR/DOM-Level-3-XPath/xpath.html#XPathResult-NUMBER-TYPE\\n */\\nXPathResult.NUMBER_TYPE = 1;\\n\\n/**\\n * @type {number}\\n * @see http://www.w3.org/TR/DOM-Level-3-XPath/xpath.html#XPathResult-STRING-TYPE\\n */\\nXPathResult.STRING_TYPE = 2;\\n\\n/**\\n * @type {number}\\n * @see http://www.w3.org/TR/DOM-Level-3-XPath/xpath.html#XPathResult-BOOLEAN-TYPE\\n */\\nXPathResult.BOOLEAN_TYPE = 3;\\n\\n/**\\n * @type {number}\\n * @see http://www.w3.org/TR/DOM-Level-3-XPath/xpath.html#XPathResult-UNORDERED-NODE-ITERATOR-TYPE\\n */\\nXPathResult.UNORDERED_NODE_ITERATOR_TYPE = 4;\\n\\n/**\\n * @type {number}\\n * @see http://www.w3.org/TR/DOM-Level-3-XPath/xpath.html#XPathResult-ORDERED-NODE-ITERATOR-TYPE\\n */\\nXPathResult.ORDERED_NODE_ITERATOR_TYPE = 5;\\n\\n/**\\n * @type {number}\\n * @see http://www.w3.org/TR/DOM-Level-3-XPath/xpath.html#XPathResult-UNORDERED-NODE-SNAPSHOT-TYPE\\n */\\nXPathResult.UNORDERED_NODE_SNAPSHOT_TYPE = 6;\\n\\n/**\\n * @type {number}\\n * @see http://www.w3.org/TR/DOM-Level-3-XPath/xpath.html#XPathResult-ORDERED-NODE-SNAPSHOT-TYPE\\n */\\nXPathResult.ORDERED_NODE_SNAPSHOT_TYPE = 7;\\n\\n/**\\n * @type {number}\\n * @see http://www.w3.org/TR/DOM-Level-3-XPath/xpath.html#XPathResult-ANY-UNORDERED-NODE-TYPE\\n */\\nXPathResult.ANY_UNORDERED_NODE_TYPE = 8;\\n\\n/**\\n * @type {number}\\n * @see http://www.w3.org/TR/DOM-Level-3-XPath/xpath.html#XPathResult-FIRST-ORDERED-NODE-TYPE\\n */\\nXPathResult.FIRST_ORDERED_NODE_TYPE = 9;\\n\\n/**\\n * @constructor\\n * @extends {Node}\\n * @see http://www.w3.org/TR/DOM-Level-3-XPath/xpath.html#XPathNamespace\\n */\\nfunction XPathNamespace() {}\\n\\n/**\\n * @type {Element}\\n * @see http://www.w3.org/TR/DOM-Level-3-XPath/xpath.html#XPathNamespace-ownerElement\\n */\\nXPathNamespace.prototype.ownerElement;\\n\\n/**\\n * @type {number}\\n * @see http://www.w3.org/TR/DOM-Level-3-XPath/xpath.html#XPATH_NAMESPACE_NODE\\n */\\nXPathNamespace.XPATH_NAMESPACE_NODE = 13;\\n\\n/**\\n * From http://www.w3.org/TR/XMLHttpRequest/\\n *\\n * (Draft)\\n *\\n * The XMLHttpRequest Object specification defines an API that provides\\n * scripted client functionality for transferring data between a client and a\\n * server.\\n *\\n * @constructor\\n * @implements {EventTarget}\\n * @see http://www.w3.org/TR/XMLHttpRequest/#xmlhttprequest-object\\n */\\nfunction XMLHttpRequest() {}\\n\\n/**\\n * @param {boolean=} opt_useCapture\\n * @override\\n * @return {undefined}\\n */\\nXMLHttpRequest.prototype.addEventListener =\\n    function(type, listener, opt_useCapture) {};\\n\\n/**\\n * @param {boolean=} opt_useCapture\\n * @override\\n * @return {undefined}\\n */\\nXMLHttpRequest.prototype.removeEventListener =\\n    function(type, listener, opt_useCapture) {};\\n\\n/**\\n * @override\\n * @return {boolean}\\n */\\nXMLHttpRequest.prototype.dispatchEvent = function(evt) {};\\n\\n/**\\n * @param {string} method\\n * @param {string} url\\n * @param {?boolean=} opt_async\\n * @param {?string=} opt_user\\n * @param {?string=} opt_password\\n * @return {undefined}\\n * @see http://www.w3.org/TR/XMLHttpRequest/#the-open()-method\\n */\\nXMLHttpRequest.prototype.open = function(method, url, opt_async, opt_user,\\n    opt_password) {};\\n\\n/**\\n * @param {string} header\\n * @param {string} value\\n * @return {undefined}\\n * @see http://www.w3.org/TR/XMLHttpRequest/#the-setrequestheader()-method\\n */\\nXMLHttpRequest.prototype.setRequestHeader = function(header, value) {};\\n\\n/**\\n * @param {ArrayBuffer|ArrayBufferView|Blob|Document|FormData|string=} opt_data\\n * @return {undefined}\\n * @see http://www.w3.org/TR/XMLHttpRequest/#the-send()-method\\n */\\nXMLHttpRequest.prototype.send = function(opt_data) {};\\n\\n/**\\n * @return {undefined}\\n * @see http://www.w3.org/TR/XMLHttpRequest/#the-abort()-method\\n */\\nXMLHttpRequest.prototype.abort = function() {};\\n\\n/**\\n * @return {string}\\n * @see http://www.w3.org/TR/XMLHttpRequest/#the-getallresponseheaders()-method\\n */\\nXMLHttpRequest.prototype.getAllResponseHeaders = function() {};\\n\\n/**\\n * @param {string} header\\n * @return {string}\\n * @see http://www.w3.org/TR/XMLHttpRequest/#the-getresponseheader()-method\\n */\\nXMLHttpRequest.prototype.getResponseHeader = function(header) {};\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/XMLHttpRequest/#the-responsetext-attribute\\n */\\nXMLHttpRequest.prototype.responseText;\\n\\n/**\\n * This is not supported in any IE browser (as of August 2016).\\n * @type {string}\\n * @see https://developer.mozilla.org/en-US/docs/Web/API/XMLHttpRequest/responseURL\\n */\\nXMLHttpRequest.prototype.responseURL;\\n\\n/**\\n * @type {Document}\\n * @see http://www.w3.org/TR/XMLHttpRequest/#the-responsexml-attribute\\n */\\nXMLHttpRequest.prototype.responseXML;\\n\\n/**\\n * @type {number}\\n * @see http://www.w3.org/TR/XMLHttpRequest/#the-readystate-attribute\\n */\\nXMLHttpRequest.prototype.readyState;\\n\\n/**\\n * @type {number}\\n * @see http://www.w3.org/TR/XMLHttpRequest/#the-status-attribute\\n */\\nXMLHttpReq';
a.a+='uest.prototype.status;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/XMLHttpRequest/#the-statustext-attribute\\n */\\nXMLHttpRequest.prototype.statusText;\\n\\n/**\\n * @type {Function}\\n * @see http://www.w3.org/TR/XMLHttpRequest/#handler-xhr-onreadystatechange\\n */\\nXMLHttpRequest.prototype.onreadystatechange;\\n\\n/**\\n * @type {Function}\\n * @see http://www.w3.org/TR/XMLHttpRequest/#handler-xhr-onerror\\n */\\nXMLHttpRequest.prototype.onerror;\\n\\n/**\\n * @type {number}\\n * @see https://www.w3.org/TR/XMLHttpRequest/#states\\n */\\nXMLHttpRequest.UNSENT;\\n\\n/**\\n * @type {number}\\n * @see https://www.w3.org/TR/XMLHttpRequest/#states\\n */\\nXMLHttpRequest.OPENED;\\n\\n/**\\n * @type {number}\\n * @see https://www.w3.org/TR/XMLHttpRequest/#states\\n */\\nXMLHttpRequest.HEADERS_RECEIVED;\\n\\n/**\\n * @type {number}\\n * @see https://www.w3.org/TR/XMLHttpRequest/#states\\n */\\nXMLHttpRequest.LOADING;\\n\\n/**\\n * @type {number}\\n * @see https://www.w3.org/TR/XMLHttpRequest/#states\\n */\\nXMLHttpRequest.DONE;\\n\\n/**\\n * The FormData object represents an ordered collection of entries. Each entry\\n * has a name and value.\\n *\\n * @param {?Element=} opt_form An optional form to use for constructing the form\\n *     data set.\\n * @constructor\\n * @see http://www.w3.org/TR/XMLHttpRequest2/#the-formdata-interface\\n */\\nfunction FormData(opt_form) {}\\n\\n/**\\n * @param {string} name\\n * @param {Blob|string} value\\n * @param {string=} opt_filename\\n * @return {undefined}\\n */\\nFormData.prototype.append = function(name, value, opt_filename) {};\\n","externs/window.js":"/*\\n * Copyright 2008 The Closure Compiler Authors\\n *\\n * Licensed under the Apache License, Version 2.0 (the \\"License\\");\\n * you may not use this file except in compliance with the License.\\n * You may obtain a copy of the License at\\n *\\n *     http://www.apache.org/licenses/LICENSE-2.0\\n *\\n * Unless required by applicable law or agreed to in writing, software\\n * distributed under the License is distributed on an \\"AS IS\\" BASIS,\\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\\n * See the License for the specific language governing permissions and\\n * limitations under the License.\\n */\\n\\n/**\\n * @fileoverview JavaScript Built-Ins for windows properties.\\n *\\n * @externs\\n * @author acleung@google.com (Alan Leung)\\n * @author stevey@google.com (Steve Yegge)\\n */\\n\\n// Window properties\\n// Only common properties are here.  Others such as open()\\n// should be used with an explicit Window object.\\n\\n/**\\n * @type {!Window}\\n * @see https://developer.mozilla.org/en/DOM/window.top\\n * @const\\n */\\nvar top;\\n\\n/**\\n * @type {!Navigator}\\n * @see https://developer.mozilla.org/en/DOM/window.navigator\\n * @const\\n */\\nvar navigator;\\n\\n/**\\n * @type {!HTMLDocument}\\n * @see https://developer.mozilla.org/en/DOM/window.document\\n * @const\\n */\\nvar document;\\n\\n/**\\n * @type {!Location}\\n * @see https://developer.mozilla.org/en/DOM/window.location\\n * @const\\n * @suppress {duplicate}\\n * @implicitCast\\n */\\nvar location;\\n\\n/**\\n * @type {!Screen}\\n * @see https://developer.mozilla.org/En/DOM/window.screen\\n * @const\\n */\\nvar screen;\\n\\n/**\\n * @type {!Window}\\n * @see https://developer.mozilla.org/En/DOM/Window.self\\n * @const\\n */\\nvar self;\\n\\n// Magic functions for Firefox\'s LiveConnect.\\n// We\'ll probably never use these in practice. But redefining them\\n// will fire up the JVM, so we want to reserve the symbol names.\\n\\n/**\\n * @see https://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Global_Objects/JavaArray\\n */\\nvar JavaArray;\\n\\n/**\\n * @see https://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Global_Objects/JavaClass\\n */\\nvar JavaClass;\\n\\n// We just ripped this from the FF source; it doesn\'t appear to be\\n// publicly documented.\\nvar JavaMember;\\n\\n/**\\n * @see https://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Global_Objects/JavaObject\\n */\\nvar JavaObject;\\n\\n/**\\n * @see https://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Global_Objects/JavaPackage\\n */\\nvar JavaPackage;\\n\\n/**\\n * @see https://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Global_Objects/Packages\\n */\\nvar Packages;\\n\\n/**\\n * @see https://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Global_Objects/java\\n */\\nvar java;\\n\\n/**\\n * @see https://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Global_Objects/netscape\\n */\\nvar netscape;\\n\\n/**\\n * @see https://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Global_Objects/sun\\n */\\nvar sun;\\n\\n/**\\n * @see https://developer.mozilla.org/en/DOM/window.alert\\n * @return {undefined}\\n */\\nfunction alert(x) {}\\n\\n/**\\n * @param {number|undefined|null} immediateID\\n * @see https://developer.mozilla.org/en-US/docs/DOM/window.clearImmediate\\n * @see http://msdn.microsoft.com/en-us/library/ie/hh924825(v=vs.85).aspx\\n * @return {undefined}\\n */\\nfunction clearImmediate(immediateID) {}\\n\\n/**\\n * @param {number|undefined?} intervalID\\n * @see https://developer.mozilla.org/en/DOM/window.clearInterval\\n * @suppress {duplicate}\\n * @return {undefined}\\n */\\nfunction clearInterval(intervalID) {}\\n\\n/**\\n * @param {number|undefined?} timeoutID\\n * @see https://developer.mozilla.org/en/DOM/window.clearTimeout\\n * @suppress {duplicate}\\n * @return {undefined}\\n */\\nfunction clearTimeout(timeoutID) {}\\n\\n/**\\n * @param {*} message\\n * @return {boolean}\\n * @see https://developer.mozilla.org/en/DOM/window.confirm\\n */\\nfunction confirm(message) {}\\n\\n/**\\n * @see https://developer.mozilla.org/en/DOM/window.dump\\n * @param {*} x\\n * @return {undefined}\\n */\\nfunction dump(x) {}\\n\\n/**\\n * @param {string} message\\n * @param {string=} opt_value\\n * @return {?string}\\n * @see https://developer.mozilla.org/en/DOM/window.prompt\\n */\\nfunction prompt(message, opt_value) {}\\n\\n/**\\n * @param {function()} callback\\n * @return {number}\\n * @see https://developer.mozilla.org/en-US/docs/DOM/window.setImmediate\\n * @see http://msdn.microsoft.com/en-us/library/ie/hh773176(v=vs.85).aspx\\n */\\nfunction setImmediate(callback) {}\\n\\n/**\\n * @param {Function|string} callback\\n * @param {number=} opt_delay\\n * @return {number}\\n * @see https://developer.mozilla.org/en/DOM/window.setInterval\\n * @see https://html.spec.whatwg.org/multipage/webappapis.html#timers\\n */\\nfunction setInterval(callback, opt_delay) {}\\n\\n/**\\n * @param {Function|string} callback\\n * @param {number=} opt_delay\\n * @param {...*} var_args\\n * @return {number}\\n * @see https://developer.mozilla.org/en/DOM/window.setTimeout\\n * @see https://html.spec.whatwg.org/multipage/webappapis.html#timers\\n */\\nfunction setTimeout(callback, opt_delay, var_args) {}\\n\\n/**\\n * Returns whether the object has a property with the specified name.\\n *\\n * @param {*} propertyName Implicitly cast to a string.\\n * @return {boolean}\\n * @nosideeffects\\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/hasOwnProperty\\n */\\nfunction hasOwnProperty (propertyName) {}\\n","externs/webkit_notifications.js":"/*\\n * Copyright 2010 The Closure Compiler Authors\\n *\\n * Licensed under the Apache License, Version 2.0 (the \\"License\\");\\n * you may not use this file except in compliance with the License.\\n * You may obtain a copy of the License at\\n *\\n *     http://www.apache.org/licenses/LICENSE-2.0\\n *\\n * Unless required by applicable law or agreed to in writing, software\\n * distributed under the License is distributed on an \\"AS IS\\" BASIS,\\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\\n * See the License for the specific language governing permissions and\\n * limitations under the License.\\n */\\n/**\\n * @fileoverview Definitions for W3C\'s Notifications specification.\\n * @externs\\n * @author atwilson@google.com (Drew Wilson)\\n */\\n\\n/**\\n * @typedef {{dir: (string|undefined), lang: (string|undefined),\\n *            body: (string|undefined), tag: (string|undefined),\\n *            icon: (string|undefined),\\n *            requireInteraction: (boolean|undefined)}}\\n * @see http://notifications.spec.whatwg.org/#notificationoptions\\n */\\nvar NotificationOptions;\\n\\n/**\\n * @typedef {{tag: (string|undefined)}}\\n * @see https://notifications.spec.whatwg.org/#dictdef-getnotificationoptions\\n */\\nvar GetNotificationOptions;\\n\\n/** @interface */\\nvar NotificationOptionsInterface_ = function() {}\\n/** @type {string} */ NotificationOptionsInterface_.prototype.dir;\\n/** @type {string} */ NotificationOptionsInterface_.prototype.lang;\\n/** @type {string} */ NotificationOptionsInterface_.prototype.body;\\n/** @type {string} */ NotificationOptionsInterface_.prototype.tag;\\n/** @type {string} */ NotificationOptionsInterface_.prototype.icon;\\n/** @type {boolean} */\\n  NotificationOptionsInterface_.prototype.requireInteraction;\\n\\n/**\\n * @param {string} title\\n * @param {NotificationOptions=} opt_options\\n * @constructor\\n * @implements {EventTarget}\\n * @see http://notifications.spec.whatwg.org/#notification\\n */\\nfunction Notification(title, opt_options) {}\\n\\n/**\\n * @type {string}\\n */\\nNotification.permission;\\n\\n/**\\n * @param {NotificationPermissionCallback=} opt_callback\\n * @return {!Promise<string>}\\n */\\nNotification.requestPermission = function(opt_callback) {};\\n\\n/**\\n * @param {boolean=} opt_useCapture\\n * @override\\n * @return {undefined}\\n */\\nNotification.prototype.addEventListener =\\n    function(type, listener, opt_useCapture) {};\\n\\n/**\\n * @param {boolean=} opt_useCapture\\n * @override\\n * @return {undefined}\\n */\\nNotification.prototype.removeEventListener =\\n    function(type, listener, opt_useCapture) {};\\n\\n/**\\n * @override\\n * @return {boolean}\\n */\\nNotification.prototype.dispatchEvent = function(evt) {};\\n\\n/**\\n * @type {string}\\n */\\nNotification.prototype.title;\\n\\n/**\\n * @type {string}\\n */\\nNotification.prototype.body;\\n\\n/**\\n * @type {string}\\n */\\nNotification.prototype.icon;\\n\\n/**\\n * The string used by clients to identify the notification.\\n * @type {string}\\n */\\nNotification.prototype.tag;\\n\\n/**\\n * The ID used by clients to uniquely identify notifications to eliminate\\n * duplicate notifications.\\n * @type {string}\\n * @deprecated Use NotificationOptions.tag instead.\\n */\\nNotification.prototype.replaceId;\\n\\n/**\\n * The string used by clients to specify the directionality (rtl/ltr) of the\\n * notification.\\n * @type {string}\\n * @deprecated Use NotificationOptions.titleDir and bodyDir instead.\\n */\\nNotification.prototype.dir;\\n\\n/**\\n * Displays the notification.\\n * @return {undefined}\\n */\\nNotification.prototype.show = function() {};\\n\\n/**\\n * Prevents the notification from being displayed, or closes it if it is already\\n * displayed.\\n * @return {undefined}\\n */\\nNotification.prototype.cancel = function() {};\\n\\n/**\\n * Prevents the notification from being displayed, or closes it if it is already\\n * displayed.\\n * @return {undefined}\\n */\\nNotification.prototype.close = function() {};\\n\\n/**\\n * An event handler called when notification is closed.\\n * @type {?function(Event)}\\n */\\nNotification.prototype.onclose;\\n\\n/**\\n * An event handler called if the notification could not be displayed due to\\n * an error (i.e. resource could not be loaded).\\n * @type {?function(Event)}\\n */\\nNotification.prototype.onerror;\\n\\n/**\\n * An event handler called when the notification has become visible.\\n * @type {?function(Event)}\\n * @deprecated Use onshow instead.\\n */\\nNotification.prototype.ondisplay;\\n\\n/**\\n * An event handler called when the notification has become visible.\\n * @type {?function(Event)}\\n */\\nNotification.prototype.onshow;\\n\\n/**\\n * An event handler called when the notification has been clicked on.\\n * @type {?function(Event)}\\n */\\nNotification.prototype.onclick;\\n\\n\\n\\n/**\\n * @typedef {function(string)}\\n * @see http://notifications.spec.whatwg.org/#notificationpermissioncallback\\n */\\nvar NotificationPermissionCallback;\\n\\n/**\\n * @constructor\\n * @see http://dev.w3.org/2006/webapi/WebNotifications/publish/#dialog-if\\n * @deprecated Use Notification instead.\\n */\\nfunction NotificationCenter() {}\\n\\n/**\\n * Creates a text+icon notification and displays it to the user.\\n * @param {string} iconUrl\\n * @param {string} title\\n * @param {string} body\\n * @return {Notification}\\n */\\nNotificationCenter.prototype.createNotification =\\n    function(iconUrl, title, body) {};\\n\\n/**\\n * Creates an HTML notification and displays it to the user.\\n * @param {string} url\\n * @return {Notification}\\n */\\nNotificationCenter.prototype.createHTMLNotification = function(url) {};\\n\\n/**\\n * Checks if the user has permission to display notifications.\\n * @return {number}\\n */\\nNotificationCenter.prototype.checkPermission = function() {};\\n\\n/**\\n * Requests permission from the user to display notifications.\\n * @param {Function=} opt_callback\\n * @return {void}\\n */\\nNotificationCenter.prototype.requestPermission = function(opt_callback) {};\\n\\n/**\\n * WebKit browsers expose the NotificationCenter API through\\n * window.webkitNotifications.\\n * @type {NotificationCenter}\\n */\\nWindow.prototype.webkitNotifications;\\n\\n\\n/**\\n * @see https://notifications.spec.whatwg.org/#notificationevent\\n * @constructor\\n * @param {string} type\\n * @param {!ExtendableEventInit=} opt_eventInitDict\\n * @extends {ExtendableEvent}\\n */\\nfunction NotificationEvent(type, opt_eventInitDict) {}\\n\\n/** @type {?Notification} */\\nNotificationEvent.prototype.notification;\\n","externs/webkit_usercontent.js":"/*\\n * Copyright 2016 The Closure Compiler Authors\\n *\\n * Licensed under the Apache License, Version 2.0 (the \\"License\\");\\n * you may not use this file except in compliance with the License.\\n * You may obtain a copy of the License at\\n *\\n *     http://www.apache.org/licenses/LICENSE-2.0\\n *\\n * Unless required by applicable law or agreed to in writing, software\\n * distributed under the License is distributed on an \\"AS IS\\" BASIS,\\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\\n * See the License for the specific language governing permissions and\\n * limitations under the License.\\n */\\n/**\\n * @fileoverview Definitions for WKWebView\'s User Content interface.\\n *   https://developer.apple.com/library/prerelease/ios/documentation/WebKit/Reference/WKUserContentController_Ref/\\n *   https://trac.webkit.org/browser/trunk/Source/WebCore/page/WebKitNamespace.h\\n *\\n * @externs\\n */\\n\\n/** @constructor */\\nfunction WebKitNamespace() {}\\n\\n\\n/**\\n * @type {!UserMessageHandlersNamespace}\\n */\\nWebKitNamespace.prototype.messageHandlers;\\n\\n\\n/**\\n * @constructor\\n * @implements {IObject<string, UserMessageHandler>}\\n */\\nfunction UserMessageHandlersNamespace() {}\\n\\n\\n/** @constructor */\\nfunction UserMessageHandler() {}\\n\\n\\n/**\\n * @param {*} message\\n * @return {undefined}\\n */\\nUserMessageHandler.prototype.postMessage = function(message) {};\\n\\n\\n/**\\n * @type {!WebKitNamespace}\\n * @const\\n */\\nvar webkit;\\n","externs/webgl.js":"/*\\n * Copyright 2010 The Closure Compiler Authors\\n *\\n * Licensed under the Apache License, Version 2.0 (the \\"License\\");\\n * you may not use this file except in compliance with the License.\\n * You may obtain a copy of the License at\\n *\\n *     http://www.apache.org/licenses/LICENSE-2.0\\n *\\n * Unless required by applicable law or agreed to in writing, software\\n * distributed under the License is distributed on an \\"AS IS\\" BASIS,\\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\\n * See the License for the specific language governing permissions and\\n * limitations under the License.\\n */\\n\\n/**\\n * @fileoverview Definitions for WebGL functions as described at\\n * http://www.khronos.org/registry/webgl/specs/latest/\\n *\\n * This file is current up to the WebGL 1.0.1 spec, including extensions.\\n *\\n * This relies on html5.js being included for Canvas and Typed Array support.\\n *\\n * This includes some extensions defined at\\n * http://www.khronos.org/registry/webgl/extensions/\\n *\\n * @externs\\n */\\n\\n\\n/**\\n * @constructor\\n * @noalias\\n */\\nfunction WebGLRenderingContext() {}\\n\\n\\n/** @type {number} */\\nWebGLRenderingContext.DEPTH_BUFFER_BIT;\\n\\n/** @type {number} */\\nWebGLRenderingContext.STENCIL_BUFFER_BIT;\\n\\n/** @type {number} */\\nWebGLRenderingContext.COLOR_BUFFER_BIT;\\n\\n/** @type {number} */\\nWebGLRenderingContext.POINTS;\\n\\n/';
a.a+="** @type {number} */\\nWebGLRenderingContext.LINES;\\n\\n/** @type {number} */\\nWebGLRenderingContext.LINE_LOOP;\\n\\n/** @type {number} */\\nWebGLRenderingContext.LINE_STRIP;\\n\\n/** @type {number} */\\nWebGLRenderingContext.TRIANGLES;\\n\\n/** @type {number} */\\nWebGLRenderingContext.TRIANGLE_STRIP;\\n\\n/** @type {number} */\\nWebGLRenderingContext.TRIANGLE_FAN;\\n\\n/** @type {number} */\\nWebGLRenderingContext.ZERO;\\n\\n/** @type {number} */\\nWebGLRenderingContext.ONE;\\n\\n/** @type {number} */\\nWebGLRenderingContext.SRC_COLOR;\\n\\n/** @type {number} */\\nWebGLRenderingContext.ONE_MINUS_SRC_COLOR;\\n\\n/** @type {number} */\\nWebGLRenderingContext.SRC_ALPHA;\\n\\n/** @type {number} */\\nWebGLRenderingContext.ONE_MINUS_SRC_ALPHA;\\n\\n/** @type {number} */\\nWebGLRenderingContext.DST_ALPHA;\\n\\n/** @type {number} */\\nWebGLRenderingContext.ONE_MINUS_DST_ALPHA;\\n\\n/** @type {number} */\\nWebGLRenderingContext.DST_COLOR;\\n\\n/** @type {number} */\\nWebGLRenderingContext.ONE_MINUS_DST_COLOR;\\n\\n/** @type {number} */\\nWebGLRenderingContext.SRC_ALPHA_SATURATE;\\n\\n/** @type {number} */\\nWebGLRenderingContext.FUNC_ADD;\\n\\n/** @type {number} */\\nWebGLRenderingContext.BLEND_EQUATION;\\n\\n/** @type {number} */\\nWebGLRenderingContext.BLEND_EQUATION_RGB;\\n\\n/** @type {number} */\\nWebGLRenderingContext.BLEND_EQUATION_ALPHA;\\n\\n/** @type {number} */\\nWebGLRenderingContext.FUNC_SUBTRACT;\\n\\n/** @type {number} */\\nWebGLRenderingContext.FUNC_REVERSE_SUBTRACT;\\n\\n/** @type {number} */\\nWebGLRenderingContext.BLEND_DST_RGB;\\n\\n/** @type {number} */\\nWebGLRenderingContext.BLEND_SRC_RGB;\\n\\n/** @type {number} */\\nWebGLRenderingContext.BLEND_DST_ALPHA;\\n\\n/** @type {number} */\\nWebGLRenderingContext.BLEND_SRC_ALPHA;\\n\\n/** @type {number} */\\nWebGLRenderingContext.CONSTANT_COLOR;\\n\\n/** @type {number} */\\nWebGLRenderingContext.ONE_MINUS_CONSTANT_COLOR;\\n\\n/** @type {number} */\\nWebGLRenderingContext.CONSTANT_ALPHA;\\n\\n/** @type {number} */\\nWebGLRenderingContext.ONE_MINUS_CONSTANT_ALPHA;\\n\\n/** @type {number} */\\nWebGLRenderingContext.BLEND_COLOR;\\n\\n/** @type {number} */\\nWebGLRenderingContext.ARRAY_BUFFER;\\n\\n/** @type {number} */\\nWebGLRenderingContext.ELEMENT_ARRAY_BUFFER;\\n\\n/** @type {number} */\\nWebGLRenderingContext.ARRAY_BUFFER_BINDING;\\n\\n/** @type {number} */\\nWebGLRenderingContext.ELEMENT_ARRAY_BUFFER_BINDING;\\n\\n/** @type {number} */\\nWebGLRenderingContext.STREAM_DRAW;\\n\\n/** @type {number} */\\nWebGLRenderingContext.STATIC_DRAW;\\n\\n/** @type {number} */\\nWebGLRenderingContext.DYNAMIC_DRAW;\\n\\n/** @type {number} */\\nWebGLRenderingContext.BUFFER_SIZE;\\n\\n/** @type {number} */\\nWebGLRenderingContext.BUFFER_USAGE;\\n\\n/** @type {number} */\\nWebGLRenderingContext.CURRENT_VERTEX_ATTRIB;\\n\\n/** @type {number} */\\nWebGLRenderingContext.FRONT;\\n\\n/** @type {number} */\\nWebGLRenderingContext.BACK;\\n\\n/** @type {number} */\\nWebGLRenderingContext.FRONT_AND_BACK;\\n\\n/** @type {number} */\\nWebGLRenderingContext.CULL_FACE;\\n\\n/** @type {number} */\\nWebGLRenderingContext.BLEND;\\n\\n/** @type {number} */\\nWebGLRenderingContext.DITHER;\\n\\n/** @type {number} */\\nWebGLRenderingContext.STENCIL_TEST;\\n\\n/** @type {number} */\\nWebGLRenderingContext.DEPTH_TEST;\\n\\n/** @type {number} */\\nWebGLRenderingContext.SCISSOR_TEST;\\n\\n/** @type {number} */\\nWebGLRenderingContext.POLYGON_OFFSET_FILL;\\n\\n/** @type {number} */\\nWebGLRenderingContext.SAMPLE_ALPHA_TO_COVERAGE;\\n\\n/** @type {number} */\\nWebGLRenderingContext.SAMPLE_COVERAGE;\\n\\n/** @type {number} */\\nWebGLRenderingContext.NO_ERROR;\\n\\n/** @type {number} */\\nWebGLRenderingContext.INVALID_ENUM;\\n\\n/** @type {number} */\\nWebGLRenderingContext.INVALID_VALUE;\\n\\n/** @type {number} */\\nWebGLRenderingContext.INVALID_OPERATION;\\n\\n/** @type {number} */\\nWebGLRenderingContext.OUT_OF_MEMORY;\\n\\n/** @type {number} */\\nWebGLRenderingContext.CW;\\n\\n/** @type {number} */\\nWebGLRenderingContext.CCW;\\n\\n/** @type {number} */\\nWebGLRenderingContext.LINE_WIDTH;\\n\\n/** @type {number} */\\nWebGLRenderingContext.ALIASED_POINT_SIZE_RANGE;\\n\\n/** @type {number} */\\nWebGLRenderingContext.ALIASED_LINE_WIDTH_RANGE;\\n\\n/** @type {number} */\\nWebGLRenderingContext.CULL_FACE_MODE;\\n\\n/** @type {number} */\\nWebGLRenderingContext.FRONT_FACE;\\n\\n/** @type {number} */\\nWebGLRenderingContext.DEPTH_RANGE;\\n\\n/** @type {number} */\\nWebGLRenderingContext.DEPTH_WRITEMASK;\\n\\n/** @type {number} */\\nWebGLRenderingContext.DEPTH_CLEAR_VALUE;\\n\\n/** @type {number} */\\nWebGLRenderingContext.DEPTH_FUNC;\\n\\n/** @type {number} */\\nWebGLRenderingContext.STENCIL_CLEAR_VALUE;\\n\\n/** @type {number} */\\nWebGLRenderingContext.STENCIL_FUNC;\\n\\n/** @type {number} */\\nWebGLRenderingContext.STENCIL_FAIL;\\n\\n/** @type {number} */\\nWebGLRenderingContext.STENCIL_PASS_DEPTH_FAIL;\\n\\n/** @type {number} */\\nWebGLRenderingContext.STENCIL_PASS_DEPTH_PASS;\\n\\n/** @type {number} */\\nWebGLRenderingContext.STENCIL_REF;\\n\\n/** @type {number} */\\nWebGLRenderingContext.STENCIL_VALUE_MASK;\\n\\n/** @type {number} */\\nWebGLRenderingContext.STENCIL_WRITEMASK;\\n\\n/** @type {number} */\\nWebGLRenderingContext.STENCIL_BACK_FUNC;\\n\\n/** @type {number} */\\nWebGLRenderingContext.STENCIL_BACK_FAIL;\\n\\n/** @type {number} */\\nWebGLRenderingContext.STENCIL_BACK_PASS_DEPTH_FAIL;\\n\\n/** @type {number} */\\nWebGLRenderingContext.STENCIL_BACK_PASS_DEPTH_PASS;\\n\\n/** @type {number} */\\nWebGLRenderingContext.STENCIL_BACK_REF;\\n\\n/** @type {number} */\\nWebGLRenderingContext.STENCIL_BACK_VALUE_MASK;\\n\\n/** @type {number} */\\nWebGLRenderingContext.STENCIL_BACK_WRITEMASK;\\n\\n/** @type {number} */\\nWebGLRenderingContext.VIEWPORT;\\n\\n/** @type {number} */\\nWebGLRenderingContext.SCISSOR_BOX;\\n\\n/** @type {number} */\\nWebGLRenderingContext.COLOR_CLEAR_VALUE;\\n\\n/** @type {number} */\\nWebGLRenderingContext.COLOR_WRITEMASK;\\n\\n/** @type {number} */\\nWebGLRenderingContext.UNPACK_ALIGNMENT;\\n\\n/** @type {number} */\\nWebGLRenderingContext.PACK_ALIGNMENT;\\n\\n/** @type {number} */\\nWebGLRenderingContext.MAX_TEXTURE_SIZE;\\n\\n/** @type {number} */\\nWebGLRenderingContext.MAX_VIEWPORT_DIMS;\\n\\n/** @type {number} */\\nWebGLRenderingContext.SUBPIXEL_BITS;\\n\\n/** @type {number} */\\nWebGLRenderingContext.RED_BITS;\\n\\n/** @type {number} */\\nWebGLRenderingContext.GREEN_BITS;\\n\\n/** @type {number} */\\nWebGLRenderingContext.BLUE_BITS;\\n\\n/** @type {number} */\\nWebGLRenderingContext.ALPHA_BITS;\\n\\n/** @type {number} */\\nWebGLRenderingContext.DEPTH_BITS;\\n\\n/** @type {number} */\\nWebGLRenderingContext.STENCIL_BITS;\\n\\n/** @type {number} */\\nWebGLRenderingContext.POLYGON_OFFSET_UNITS;\\n\\n/** @type {number} */\\nWebGLRenderingContext.POLYGON_OFFSET_FACTOR;\\n\\n/** @type {number} */\\nWebGLRenderingContext.TEXTURE_BINDING_2D;\\n\\n/** @type {number} */\\nWebGLRenderingContext.SAMPLE_BUFFERS;\\n\\n/** @type {number} */\\nWebGLRenderingContext.SAMPLES;\\n\\n/** @type {number} */\\nWebGLRenderingContext.SAMPLE_COVERAGE_VALUE;\\n\\n/** @type {number} */\\nWebGLRenderingContext.SAMPLE_COVERAGE_INVERT;\\n\\n/** @type {number} */\\nWebGLRenderingContext.COMPRESSED_TEXTURE_FORMATS;\\n\\n/** @type {number} */\\nWebGLRenderingContext.DONT_CARE;\\n\\n/** @type {number} */\\nWebGLRenderingContext.FASTEST;\\n\\n/** @type {number} */\\nWebGLRenderingContext.NICEST;\\n\\n/** @type {number} */\\nWebGLRenderingContext.GENERATE_MIPMAP_HINT;\\n\\n/** @type {number} */\\nWebGLRenderingContext.BYTE;\\n\\n/** @type {number} */\\nWebGLRenderingContext.UNSIGNED_BYTE;\\n\\n/** @type {number} */\\nWebGLRenderingContext.SHORT;\\n\\n/** @type {number} */\\nWebGLRenderingContext.UNSIGNED_SHORT;\\n\\n/** @type {number} */\\nWebGLRenderingContext.INT;\\n\\n/** @type {number} */\\nWebGLRenderingContext.UNSIGNED_INT;\\n\\n/** @type {number} */\\nWebGLRenderingContext.FLOAT;\\n\\n/** @type {number} */\\nWebGLRenderingContext.DEPTH_COMPONENT;\\n\\n/** @type {number} */\\nWebGLRenderingContext.ALPHA;\\n\\n/** @type {number} */\\nWebGLRenderingContext.RGB;\\n\\n/** @type {number} */\\nWebGLRenderingContext.RGBA;\\n\\n/** @type {number} */\\nWebGLRenderingContext.LUMINANCE;\\n\\n/** @type {number} */\\nWebGLRenderingContext.LUMINANCE_ALPHA;\\n\\n/** @type {number} */\\nWebGLRenderingContext.UNSIGNED_SHORT_4_4_4_4;\\n\\n/** @type {number} */\\nWebGLRenderingContext.UNSIGNED_SHORT_5_5_5_1;\\n\\n/** @type {number} */\\nWebGLRenderingContext.UNSIGNED_SHORT_5_6_5;\\n\\n/** @type {number} */\\nWebGLRenderingContext.FRAGMENT_SHADER;\\n\\n/** @type {number} */\\nWebGLRenderingContext.VERTEX_SHADER;\\n\\n/** @type {number} */\\nWebGLRenderingContext.MAX_VERTEX_ATTRIBS;\\n\\n/** @type {number} */\\nWebGLRenderingContext.MAX_VERTEX_UNIFORM_VECTORS;\\n\\n/** @type {number} */\\nWebGLRenderingContext.MAX_VARYING_VECTORS;\\n\\n/** @type {number} */\\nWebGLRenderingContext.MAX_COMBINED_TEXTURE_IMAGE_UNITS;\\n\\n/** @type {number} */\\nWebGLRenderingContext.MAX_VERTEX_TEXTURE_IMAGE_UNITS;\\n\\n/** @type {number} */\\nWebGLRenderingContext.MAX_TEXTURE_IMAGE_UNITS;\\n\\n/** @type {number} */\\nWebGLRenderingContext.MAX_FRAGMENT_UNIFORM_VECTORS;\\n\\n/** @type {number} */\\nWebGLRenderingContext.SHADER_TYPE;\\n\\n/** @type {number} */\\nWebGLRenderingContext.DELETE_STATUS;\\n\\n/** @type {number} */\\nWebGLRenderingContext.LINK_STATUS;\\n\\n/** @type {number} */\\nWebGLRenderingContext.VALIDATE_STATUS;\\n\\n/** @type {number} */\\nWebGLRenderingContext.ATTACHED_SHADERS;\\n\\n/** @type {number} */\\nWebGLRenderingContext.ACTIVE_UNIFORMS;\\n\\n/** @type {number} */\\nWebGLRenderingContext.ACTIVE_ATTRIBUTES;\\n\\n/** @type {number} */\\nWebGLRenderingContext.SHADING_LANGUAGE_VERSION;\\n\\n/** @type {number} */\\nWebGLRenderingContext.CURRENT_PROGRAM;\\n\\n/** @type {number} */\\nWebGLRenderingContext.NEVER;\\n\\n/** @type {number} */\\nWebGLRenderingContext.LESS;\\n\\n/** @type {number} */\\nWebGLRenderingContext.EQUAL;\\n\\n/** @type {number} */\\nWebGLRenderingContext.LEQUAL;\\n\\n/** @type {number} */\\nWebGLRenderingContext.GREATER;\\n\\n/** @type {number} */\\nWebGLRenderingContext.NOTEQUAL;\\n\\n/** @type {number} */\\nWebGLRenderingContext.GEQUAL;\\n\\n/** @type {number} */\\nWebGLRenderingContext.ALWAYS;\\n\\n/** @type {number} */\\nWebGLRenderingContext.KEEP;\\n\\n/** @type {number} */\\nWebGLRenderingContext.REPLACE;\\n\\n/** @type {number} */\\nWebGLRenderingContext.INCR;\\n\\n/** @type {number} */\\nWebGLRenderingContext.DECR;\\n\\n/** @type {number} */\\nWebGLRenderingContext.INVERT;\\n\\n/** @type {number} */\\nWebGLRenderingContext.INCR_WRAP;\\n\\n/** @type {number} */\\nWebGLRenderingContext.DECR_WRAP;\\n\\n/** @type {number} */\\nWebGLRenderingContext.VENDOR;\\n\\n/** @type {number} */\\nWebGLRenderingContext.RENDERER;\\n\\n/** @type {number} */\\nWebGLRenderingContext.VERSION;\\n\\n/** @type {number} */\\nWebGLRenderingContext.NEAREST;\\n\\n/** @type {number} */\\nWebGLRenderingContext.LINEAR;\\n\\n/** @type {number} */\\nWebGLRenderingContext.NEAREST_MIPMAP_NEAREST;\\n\\n/** @type {number} */\\nWebGLRenderingContext.LINEAR_MIPMAP_NEAREST;\\n\\n/** @type {number} */\\nWebGLRenderingContext.NEAREST_MIPMAP_LINEAR;\\n\\n/** @type {number} */\\nWebGLRenderingContext.LINEAR_MIPMAP_LINEAR;\\n\\n/** @type {number} */\\nWebGLRenderingContext.TEXTURE_MAG_FILTER;\\n\\n/** @type {number} */\\nWebGLRenderingContext.TEXTURE_MIN_FILTER;\\n\\n/** @type {number} */\\nWebGLRenderingContext.TEXTURE_WRAP_S;\\n\\n/** @type {number} */\\nWebGLRenderingContext.TEXTURE_WRAP_T;\\n\\n/** @type {number} */\\nWebGLRenderingContext.TEXTURE_2D;\\n\\n/** @type {number} */\\nWebGLRenderingContext.TEXTURE;\\n\\n/** @type {number} */\\nWebGLRenderingContext.TEXTURE_CUBE_MAP;\\n\\n/** @type {number} */\\nWebGLRenderingContext.TEXTURE_BINDING_CUBE_MAP;\\n\\n/** @type {number} */\\nWebGLRenderingContext.TEXTURE_CUBE_MAP_POSITIVE_X;\\n\\n/** @type {number} */\\nWebGLRenderingContext.TEXTURE_CUBE_MAP_NEGATIVE_X;\\n\\n/** @type {number} */\\nWebGLRenderingContext.TEXTURE_CUBE_MAP_POSITIVE_Y;\\n\\n/** @type {number} */\\nWebGLRenderingContext.TEXTURE_CUBE_MAP_NEGATIVE_Y;\\n\\n/** @type {number} */\\nWebGLRenderingContext.TEXTURE_CUBE_MAP_POSITIVE_Z;\\n\\n/** @type {number} */\\nWebGLRenderingContext.TEXTURE_CUBE_MAP_NEGATIVE_Z;\\n\\n/** @type {number} */\\nWebGLRenderingContext.MAX_CUBE_MAP_TEXTURE_SIZE;\\n\\n/** @type {number} */\\nWebGLRenderingContext.TEXTURE0;\\n\\n/** @type {number} */\\nWebGLRenderingContext.TEXTURE1;\\n\\n/** @type {number} */\\nWebGLRenderingContext.TEXTURE2;\\n\\n/** @type {number} */\\nWebGLRenderingContext.TEXTURE3;\\n\\n/** @type {number} */\\nWebGLRenderingContext.TEXTURE4;\\n\\n/** @type {number} */\\nWebGLRenderingContext.TEXTURE5;\\n\\n/** @type {number} */\\nWebGLRenderingContext.TEXTURE6;\\n\\n/** @type {number} */\\nWebGLRenderingContext.TEXTURE7;\\n\\n/** @type {number} */\\nWebGLRenderingContext.TEXTURE8;\\n\\n/** @type {number} */\\nWebGLRenderingContext.TEXTURE9;\\n\\n/** @type {number} */\\nWebGLRenderingContext.TEXTURE10;\\n\\n/** @type {number} */\\nWebGLRenderingContext.TEXTURE11;\\n\\n/** @type {number} */\\nWebGLRenderingContext.TEXTURE12;\\n\\n/** @type {number} */\\nWebGLRenderingContext.TEXTURE13;\\n\\n/** @type {number} */\\nWebGLRenderingContext.TEXTURE14;\\n\\n/** @type {number} */\\nWebGLRenderingContext.TEXTURE15;\\n\\n/** @type {number} */\\nWebGLRenderingContext.TEXTURE16;\\n\\n/** @type {number} */\\nWebGLRenderingContext.TEXTURE17;\\n\\n/** @type {number} */\\nWebGLRenderingContext.TEXTURE18;\\n\\n/** @type {number} */\\nWebGLRenderingContext.TEXTURE19;\\n\\n/** @type {number} */\\nWebGLRenderingContext.TEXTURE20;\\n\\n/** @type {number} */\\nWebGLRenderingContext.TEXTURE21;\\n\\n/** @type {number} */\\nWebGLRenderingContext.TEXTURE22;\\n\\n/** @type {number} */\\nWebGLRenderingContext.TEXTURE23;\\n\\n/** @type {number} */\\nWebGLRenderingContext.TEXTURE24;\\n\\n/** @type {number} */\\nWebGLRenderingContext.TEXTURE25;\\n\\n/** @type {number} */\\nWebGLRenderingContext.TEXTURE26;\\n\\n/** @type {number} */\\nWebGLRenderingContext.TEXTURE27;\\n\\n/** @type {number} */\\nWebGLRenderingContext.TEXTURE28;\\n\\n/** @type {number} */\\nWebGLRenderingContext.TEXTURE29;\\n\\n/** @type {number} */\\nWebGLRenderingContext.TEXTURE30;\\n\\n/** @type {number} */\\nWebGLRenderingContext.TEXTURE31;\\n\\n/** @type {number} */\\nWebGLRenderingContext.ACTIVE_TEXTURE;\\n\\n/** @type {number} */\\nWebGLRenderingContext.REPEAT;\\n\\n/** @type {number} */\\nWebGLRenderingContext.CLAMP_TO_EDGE;\\n\\n/** @type {number} */\\nWebGLRenderingContext.MIRRORED_REPEAT;\\n\\n/** @type {number} */\\nWebGLRenderingContext.FLOAT_VEC2;\\n\\n/** @type {number} */\\nWebGLRenderingContext.FLOAT_VEC3;\\n\\n/** @type {number} */\\nWebGLRenderingContext.FLOAT_VEC4;\\n\\n/** @type {number} */\\nWebGLRenderingContext.INT_VEC2;\\n\\n/** @type {number} */\\nWebGLRenderingContext.INT_VEC3;\\n\\n/** @type {number} */\\nWebGLRenderingContext.INT_VEC4;\\n\\n/** @type {number} */\\nWebGLRenderingContext.BOOL;\\n\\n/** @type {number} */\\nWebGLRenderingContext.BOOL_VEC2;\\n\\n/** @type {number} */\\nWebGLRenderingContext.BOOL_VEC3;\\n\\n/** @type {number} */\\nWebGLRenderingContext.BOOL_VEC4;\\n\\n/** @type {number} */\\nWebGLRenderingContext.FLOAT_MAT2;\\n\\n/** @type {number} */\\nWebGLRenderingContext.FLOAT_MAT3;\\n\\n/** @type {number} */\\nWebGLRenderingContext.FLOAT_MAT4;\\n\\n/** @type {number} */\\nWebGLRenderingContext.SAMPLER_2D;\\n\\n/** @type {number} */\\nWebGLRenderingContext.SAMPLER_CUBE;\\n\\n/** @type {number} */\\nWebGLRenderingContext.VERTEX_ATTRIB_ARRAY_ENABLED;\\n\\n/** @type {number} */\\nWebGLRenderingContext.VERTEX_ATTRIB_ARRAY_SIZE;\\n\\n/** @type {number} */\\nWebGLRenderingContext.VERTEX_ATTRIB_ARRAY_STRIDE;\\n\\n/** @type {number} */\\nWebGLRenderingContext.VERTEX_ATTRIB_ARRAY_TYPE;\\n\\n/** @type {number} */\\nWebGLRenderingContext.VERTEX_ATTRIB_ARRAY_NORMALIZED;\\n\\n/** @type {number} */\\nWebGLRenderingContext.VERTEX_ATTRIB_ARRAY_POINTER;\\n\\n/** @type {number} */\\nWebGLRenderingContext.VERTEX_ATTRIB_ARRAY_BUFFER_BINDING;\\n\\n/** @type {number} */\\nWebGLRenderingContext.IMPLEMENTATION_COLOR_READ_FORMAT;\\n\\n/** @type {number} */\\nWebGLRenderingContext.IMPLEMENTATION_COLOR_READ_TYPE;\\n\\n/** @type {number} */\\nWebGLRenderingContext.COMPILE_STATUS;\\n\\n/** @type {number} */\\nWebGLRenderingContext.LOW_FLOAT;\\n\\n/** @type {number} */\\nWebGLRenderingContext.MEDIUM_FLOAT;\\n\\n/** @type {number} */\\nWebGLRenderingContext.HIGH_FLOAT;\\n\\n/** @type {number} */\\nWebGLRenderingContext.LOW_INT;\\n\\n/** @type {number} */\\nWebGLRenderingContext.MEDIUM_INT;\\n\\n/** @type {number} */\\nWebGLRenderingContext.HIGH_INT;\\n\\n/** @type {number} */\\nWebGLRenderingContext.FRAMEBUFFER;\\n\\n/** @type {number} */\\nWebGLRenderingContext.RENDERBUFFER;\\n\\n/** @type {number} */\\nWebGLRenderingContext.RGBA4;\\n\\n/** @type {number} */\\nWebGLRenderingContext.RGB5_A1;\\n\\n/** @type {number} */\\nWebGLRenderingContext.RGB565;\\n\\n/** @type {number} */\\nWebGLRenderingContext.DEPTH_COMPONENT16;\\n\\n/** @type {number} ";
a.a+="*/\\nWebGLRenderingContext.STENCIL_INDEX;\\n\\n/** @type {number} */\\nWebGLRenderingContext.STENCIL_INDEX8;\\n\\n/** @type {number} */\\nWebGLRenderingContext.DEPTH_STENCIL;\\n\\n/** @type {number} */\\nWebGLRenderingContext.RENDERBUFFER_WIDTH;\\n\\n/** @type {number} */\\nWebGLRenderingContext.RENDERBUFFER_HEIGHT;\\n\\n/** @type {number} */\\nWebGLRenderingContext.RENDERBUFFER_INTERNAL_FORMAT;\\n\\n/** @type {number} */\\nWebGLRenderingContext.RENDERBUFFER_RED_SIZE;\\n\\n/** @type {number} */\\nWebGLRenderingContext.RENDERBUFFER_GREEN_SIZE;\\n\\n/** @type {number} */\\nWebGLRenderingContext.RENDERBUFFER_BLUE_SIZE;\\n\\n/** @type {number} */\\nWebGLRenderingContext.RENDERBUFFER_ALPHA_SIZE;\\n\\n/** @type {number} */\\nWebGLRenderingContext.RENDERBUFFER_DEPTH_SIZE;\\n\\n/** @type {number} */\\nWebGLRenderingContext.RENDERBUFFER_STENCIL_SIZE;\\n\\n/** @type {number} */\\nWebGLRenderingContext.FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE;\\n\\n/** @type {number} */\\nWebGLRenderingContext.FRAMEBUFFER_ATTACHMENT_OBJECT_NAME;\\n\\n/** @type {number} */\\nWebGLRenderingContext.FRAMEBUFFER_ATTACHMENT_TEXTURE_LEVEL;\\n\\n/** @type {number} */\\nWebGLRenderingContext.FRAMEBUFFER_ATTACHMENT_TEXTURE_CUBE_MAP_FACE;\\n\\n/** @type {number} */\\nWebGLRenderingContext.COLOR_ATTACHMENT0;\\n\\n/** @type {number} */\\nWebGLRenderingContext.DEPTH_ATTACHMENT;\\n\\n/** @type {number} */\\nWebGLRenderingContext.STENCIL_ATTACHMENT;\\n\\n/** @type {number} */\\nWebGLRenderingContext.DEPTH_STENCIL_ATTACHMENT;\\n\\n/** @type {number} */\\nWebGLRenderingContext.NONE;\\n\\n/** @type {number} */\\nWebGLRenderingContext.FRAMEBUFFER_COMPLETE;\\n\\n/** @type {number} */\\nWebGLRenderingContext.FRAMEBUFFER_INCOMPLETE_ATTACHMENT;\\n\\n/** @type {number} */\\nWebGLRenderingContext.FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT;\\n\\n/** @type {number} */\\nWebGLRenderingContext.FRAMEBUFFER_INCOMPLETE_DIMENSIONS;\\n\\n/** @type {number} */\\nWebGLRenderingContext.FRAMEBUFFER_UNSUPPORTED;\\n\\n/** @type {number} */\\nWebGLRenderingContext.FRAMEBUFFER_BINDING;\\n\\n/** @type {number} */\\nWebGLRenderingContext.RENDERBUFFER_BINDING;\\n\\n/** @type {number} */\\nWebGLRenderingContext.MAX_RENDERBUFFER_SIZE;\\n\\n/** @type {number} */\\nWebGLRenderingContext.INVALID_FRAMEBUFFER_OPERATION;\\n\\n/** @type {number} */\\nWebGLRenderingContext.UNPACK_FLIP_Y_WEBGL;\\n\\n/** @type {number} */\\nWebGLRenderingContext.UNPACK_PREMULTIPLY_ALPHA_WEBGL;\\n\\n/** @type {number} */\\nWebGLRenderingContext.CONTEXT_LOST_WEBGL;\\n\\n/** @type {number} */\\nWebGLRenderingContext.UNPACK_COLORSPACE_CONVERSION_WEBGL;\\n\\n/** @type {number} */\\nWebGLRenderingContext.BROWSER_DEFAULT_WEBGL;\\n\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.DEPTH_BUFFER_BIT;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.STENCIL_BUFFER_BIT;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.COLOR_BUFFER_BIT;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.POINTS;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.LINES;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.LINE_LOOP;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.LINE_STRIP;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.TRIANGLES;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.TRIANGLE_STRIP;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.TRIANGLE_FAN;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.ZERO;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.ONE;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.SRC_COLOR;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.ONE_MINUS_SRC_COLOR;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.SRC_ALPHA;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.ONE_MINUS_SRC_ALPHA;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.DST_ALPHA;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.ONE_MINUS_DST_ALPHA;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.DST_COLOR;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.ONE_MINUS_DST_COLOR;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.SRC_ALPHA_SATURATE;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.FUNC_ADD;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.BLEND_EQUATION;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.BLEND_EQUATION_RGB;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.BLEND_EQUATION_ALPHA;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.FUNC_SUBTRACT;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.FUNC_REVERSE_SUBTRACT;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.BLEND_DST_RGB;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.BLEND_SRC_RGB;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.BLEND_DST_ALPHA;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.BLEND_SRC_ALPHA;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.CONSTANT_COLOR;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.ONE_MINUS_CONSTANT_COLOR;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.CONSTANT_ALPHA;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.ONE_MINUS_CONSTANT_ALPHA;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.BLEND_COLOR;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.ARRAY_BUFFER;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.ELEMENT_ARRAY_BUFFER;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.ARRAY_BUFFER_BINDING;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.ELEMENT_ARRAY_BUFFER_BINDING;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.STREAM_DRAW;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.STATIC_DRAW;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.DYNAMIC_DRAW;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.BUFFER_SIZE;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.BUFFER_USAGE;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.CURRENT_VERTEX_ATTRIB;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.FRONT;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.BACK;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.FRONT_AND_BACK;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.CULL_FACE;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.BLEND;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.DITHER;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.STENCIL_TEST;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.DEPTH_TEST;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.SCISSOR_TEST;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.POLYGON_OFFSET_FILL;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.SAMPLE_ALPHA_TO_COVERAGE;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.SAMPLE_COVERAGE;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.NO_ERROR;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.INVALID_ENUM;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.INVALID_VALUE;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.INVALID_OPERATION;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.OUT_OF_MEMORY;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.CW;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.CCW;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.LINE_WIDTH;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.ALIASED_POINT_SIZE_RANGE;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.ALIASED_LINE_WIDTH_RANGE;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.CULL_FACE_MODE;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.FRONT_FACE;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.DEPTH_RANGE;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.DEPTH_WRITEMASK;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.DEPTH_CLEAR_VALUE;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.DEPTH_FUNC;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.STENCIL_CLEAR_VALUE;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.STENCIL_FUNC;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.STENCIL_FAIL;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.STENCIL_PASS_DEPTH_FAIL;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.STENCIL_PASS_DEPTH_PASS;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.STENCIL_REF;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.STENCIL_VALUE_MASK;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.STENCIL_WRITEMASK;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.STENCIL_BACK_FUNC;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.STENCIL_BACK_FAIL;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.STENCIL_BACK_PASS_DEPTH_FAIL;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.STENCIL_BACK_PASS_DEPTH_PASS;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.STENCIL_BACK_REF;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.STENCIL_BACK_VALUE_MASK;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.STENCIL_BACK_WRITEMASK;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.VIEWPORT;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.SCISSOR_BOX;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.COLOR_CLEAR_VALUE;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.COLOR_WRITEMASK;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.UNPACK_ALIGNMENT;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.PACK_ALIGNMENT;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.MAX_TEXTURE_SIZE;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.MAX_VIEWPORT_DIMS;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.SUBPIXEL_BITS;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.RED_BITS;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.GREEN_BITS;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.BLUE_BITS;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.ALPHA_BITS;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.DEPTH_BITS;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.STENCIL_BITS;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.POLYGON_OFFSET_UNITS;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.POLYGON_OFFSET_FACTOR;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.TEXTURE_BINDING_2D;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.SAMPLE_BUFFERS;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.SAMPLES;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.SAMPLE_COVERAGE_VALUE;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.SAMPLE_COVERAGE_INVERT;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.COMPRESSED_TEXTURE_FORMATS;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.DONT_CARE;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.FASTEST;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.NICEST;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.GENERATE_MIPMAP_HINT;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.BYTE;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.UNSIGNED_BYTE;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.SHORT;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.UNSIGNED_SHORT;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.INT;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.UNSIGNED_INT;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.FLOAT;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.DEPTH_COMPONENT;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.ALPHA;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.RGB;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.RGBA;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.LUMINANCE;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.LUMINANCE_ALPHA;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.UNSIGNED_SHORT_4_4_4_4;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.UNSIGNED_SHORT_5_5_5_1;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.UNSIGNED_SHORT_5_6_5;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.FRAGMENT_SHADER;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.VERTEX_SHADER;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.MAX_VERTEX_ATTRIBS;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.MAX_VERTEX_UNIFORM_VECTORS;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.MAX_VARYING_VECTORS;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.MAX_COMBINED_TEXTURE_IMAGE_UNITS;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.MAX_VERTEX_TEXTURE_IMAGE_UNITS;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.MAX_TEXTURE_IMAGE_UNITS;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.MAX_FRAGMENT_UNIFORM_VECTORS;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.SHADER_TYPE;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.DELETE_STATUS;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.LINK_STATUS;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.VALIDATE_STATUS;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.ATTACHED_SHADERS;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.ACTIVE_UNIFORMS;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.ACTIVE_ATTRIBUTES;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.SHADING_LANGUAGE_VERSION;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.CURRENT_PROGRAM;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.NEVER;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.LESS;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.EQUAL;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.LEQUAL;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.GREATER;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.NOTEQUAL;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.GEQUAL;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.ALWAYS;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.KEEP;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.REPLACE;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.INCR;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.DECR;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.INVERT;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.INCR_WRAP;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.DECR_WRAP;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.VENDOR;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.RENDERER;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.VERSION;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.NEAREST;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.LINEAR;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.NEAREST_MIPMAP_NEAREST;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.LINEAR_MIPMAP_NEAREST;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.NEAREST_MIPMAP_LINEAR;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.LINEAR_MIPMAP_LINEAR;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.TEXTURE_MAG_FILTER;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.TEXTURE_MIN_FILTER;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.TEXTURE_WRAP_S;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.TEXTURE_WRAP_T;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.TEXTURE_2D;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.TEXTURE;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.TEXTURE_CUBE_MAP;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.TEXTURE_BINDING_CUBE_MAP;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.TEXTURE_CUBE_MAP_POSITIVE_X;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.TEXTURE_CUBE_MAP_NEGATIVE_X;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.TEXTURE_CUBE_MAP_POSITIVE_Y;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.TEXTURE_CUBE_MAP_NEGATIVE_Y;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.TEXTURE_";
a.a+="CUBE_MAP_POSITIVE_Z;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.TEXTURE_CUBE_MAP_NEGATIVE_Z;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.MAX_CUBE_MAP_TEXTURE_SIZE;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.TEXTURE0;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.TEXTURE1;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.TEXTURE2;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.TEXTURE3;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.TEXTURE4;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.TEXTURE5;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.TEXTURE6;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.TEXTURE7;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.TEXTURE8;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.TEXTURE9;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.TEXTURE10;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.TEXTURE11;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.TEXTURE12;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.TEXTURE13;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.TEXTURE14;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.TEXTURE15;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.TEXTURE16;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.TEXTURE17;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.TEXTURE18;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.TEXTURE19;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.TEXTURE20;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.TEXTURE21;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.TEXTURE22;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.TEXTURE23;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.TEXTURE24;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.TEXTURE25;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.TEXTURE26;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.TEXTURE27;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.TEXTURE28;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.TEXTURE29;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.TEXTURE30;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.TEXTURE31;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.ACTIVE_TEXTURE;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.REPEAT;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.CLAMP_TO_EDGE;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.MIRRORED_REPEAT;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.FLOAT_VEC2;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.FLOAT_VEC3;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.FLOAT_VEC4;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.INT_VEC2;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.INT_VEC3;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.INT_VEC4;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.BOOL;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.BOOL_VEC2;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.BOOL_VEC3;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.BOOL_VEC4;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.FLOAT_MAT2;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.FLOAT_MAT3;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.FLOAT_MAT4;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.SAMPLER_2D;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.SAMPLER_CUBE;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.VERTEX_ATTRIB_ARRAY_ENABLED;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.VERTEX_ATTRIB_ARRAY_SIZE;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.VERTEX_ATTRIB_ARRAY_STRIDE;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.VERTEX_ATTRIB_ARRAY_TYPE;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.VERTEX_ATTRIB_ARRAY_NORMALIZED;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.VERTEX_ATTRIB_ARRAY_POINTER;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.VERTEX_ATTRIB_ARRAY_BUFFER_BINDING;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.COMPILE_STATUS;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.LOW_FLOAT;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.MEDIUM_FLOAT;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.HIGH_FLOAT;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.LOW_INT;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.MEDIUM_INT;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.HIGH_INT;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.FRAMEBUFFER;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.RENDERBUFFER;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.RGBA4;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.RGB5_A1;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.RGB565;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.DEPTH_COMPONENT16;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.STENCIL_INDEX;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.STENCIL_INDEX8;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.DEPTH_STENCIL;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.RENDERBUFFER_WIDTH;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.RENDERBUFFER_HEIGHT;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.RENDERBUFFER_INTERNAL_FORMAT;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.RENDERBUFFER_RED_SIZE;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.RENDERBUFFER_GREEN_SIZE;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.RENDERBUFFER_BLUE_SIZE;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.RENDERBUFFER_ALPHA_SIZE;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.RENDERBUFFER_DEPTH_SIZE;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.RENDERBUFFER_STENCIL_SIZE;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.FRAMEBUFFER_ATTACHMENT_OBJECT_NAME;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.FRAMEBUFFER_ATTACHMENT_TEXTURE_LEVEL;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.FRAMEBUFFER_ATTACHMENT_TEXTURE_CUBE_MAP_FACE;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.COLOR_ATTACHMENT0;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.DEPTH_ATTACHMENT;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.STENCIL_ATTACHMENT;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.DEPTH_STENCIL_ATTACHMENT;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.NONE;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.FRAMEBUFFER_COMPLETE;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.FRAMEBUFFER_INCOMPLETE_ATTACHMENT;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.FRAMEBUFFER_INCOMPLETE_DIMENSIONS;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.FRAMEBUFFER_UNSUPPORTED;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.FRAMEBUFFER_BINDING;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.RENDERBUFFER_BINDING;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.MAX_RENDERBUFFER_SIZE;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.INVALID_FRAMEBUFFER_OPERATION;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.UNPACK_FLIP_Y_WEBGL;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.UNPACK_PREMULTIPLY_ALPHA_WEBGL;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.CONTEXT_LOST_WEBGL;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.UNPACK_COLORSPACE_CONVERSION_WEBGL;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.BROWSER_DEFAULT_WEBGL;\\n\\n\\n/**\\n * @type {!HTMLCanvasElement}\\n */\\nWebGLRenderingContext.prototype.canvas;\\n\\n/**\\n * @type {number}\\n */\\nWebGLRenderingContext.prototype.drawingBufferWidth;\\n\\n/**\\n * @type {number}\\n */\\nWebGLRenderingContext.prototype.drawingBufferHeight;\\n\\n/**\\n * @return {!WebGLContextAttributes}\\n * @nosideeffects\\n */\\nWebGLRenderingContext.prototype.getContextAttributes = function() {};\\n\\n/**\\n * @return {boolean}\\n * @nosideeffects\\n */\\nWebGLRenderingContext.prototype.isContextLost = function() {};\\n\\n/**\\n * @return {!Array<string>}\\n * @nosideeffects\\n */\\nWebGLRenderingContext.prototype.getSupportedExtensions = function() {};\\n\\n/**\\n * Note that this has side effects by enabling the extension even if the\\n * result is not used.\\n * @param {string} name\\n * @return {Object}\\n */\\nWebGLRenderingContext.prototype.getExtension = function(name) {};\\n\\n/**\\n * @param {number} texture\\n * @return {undefined}\\n */\\nWebGLRenderingContext.prototype.activeTexture = function(texture) {};\\n\\n/**\\n * @param {WebGLProgram} program\\n * @param {WebGLShader} shader\\n * @return {undefined}\\n */\\nWebGLRenderingContext.prototype.attachShader = function(program, shader) {};\\n\\n/**\\n * @param {WebGLProgram} program\\n * @param {number} index\\n * @param {string} name\\n * @return {undefined}\\n */\\nWebGLRenderingContext.prototype.bindAttribLocation = function(\\n    program, index, name) {};\\n\\n/**\\n * @param {number} target\\n * @param {WebGLBuffer} buffer\\n * @return {undefined}\\n */\\nWebGLRenderingContext.prototype.bindBuffer = function(target, buffer) {};\\n\\n/**\\n * @param {number} target\\n * @param {WebGLFramebuffer} buffer\\n * @return {undefined}\\n */\\nWebGLRenderingContext.prototype.bindFramebuffer = function(target, buffer) {};\\n\\n/**\\n * @param {number} target\\n * @param {WebGLRenderbuffer} buffer\\n * @return {undefined}\\n */\\nWebGLRenderingContext.prototype.bindRenderbuffer = function(target, buffer) {};\\n\\n/**\\n * @param {number} target\\n * @param {WebGLTexture} texture\\n * @return {undefined}\\n */\\nWebGLRenderingContext.prototype.bindTexture = function(target, texture) {};\\n\\n/**\\n * @param {number} red\\n * @param {number} green\\n * @param {number} blue\\n * @param {number} alpha\\n * @return {undefined}\\n */\\nWebGLRenderingContext.prototype.blendColor = function(\\n    red, green, blue, alpha) {};\\n\\n/**\\n * @param {number} mode\\n * @return {undefined}\\n */\\nWebGLRenderingContext.prototype.blendEquation = function(mode) {};\\n\\n/**\\n * @param {number} modeRGB\\n * @param {number} modeAlpha\\n * @return {undefined}\\n */\\nWebGLRenderingContext.prototype.blendEquationSeparate = function(\\n    modeRGB, modeAlpha) {};\\n\\n/**\\n * @param {number} sfactor\\n * @param {number} dfactor\\n * @return {undefined}\\n */\\nWebGLRenderingContext.prototype.blendFunc = function(sfactor, dfactor) {};\\n\\n/**\\n * @param {number} srcRGB\\n * @param {number} dstRGB\\n * @param {number} srcAlpha\\n * @param {number} dstAlpha\\n * @return {undefined}\\n */\\nWebGLRenderingContext.prototype.blendFuncSeparate = function(\\n    srcRGB, dstRGB, srcAlpha, dstAlpha) {};\\n\\n/**\\n * @param {number} target\\n * @param {ArrayBufferView|ArrayBuffer|number} data\\n * @param {number} usage\\n * @return {undefined}\\n */\\nWebGLRenderingContext.prototype.bufferData = function(target, data, usage) {};\\n\\n/**\\n * @param {number} target\\n * @param {number} offset\\n * @param {ArrayBufferView|ArrayBuffer} data\\n * @return {undefined}\\n */\\nWebGLRenderingContext.prototype.bufferSubData = function(\\n    target, offset, data) {};\\n\\n/**\\n * @param {number} target\\n * @return {number}\\n */\\nWebGLRenderingContext.prototype.checkFramebufferStatus = function(target) {};\\n\\n/**\\n * @param {number} mask\\n * @return {undefined}\\n */\\nWebGLRenderingContext.prototype.clear = function(mask) {};\\n\\n/**\\n * @param {number} red\\n * @param {number} green\\n * @param {number} blue\\n * @param {number} alpha\\n * @return {undefined}\\n */\\nWebGLRenderingContext.prototype.clearColor = function(\\n    red, green, blue, alpha) {};\\n\\n/**\\n * @param {number} depth\\n * @return {undefined}\\n */\\nWebGLRenderingContext.prototype.clearDepth = function(depth) {};\\n\\n/**\\n * @param {number} s\\n * @return {undefined}\\n */\\nWebGLRenderingContext.prototype.clearStencil = function(s) {};\\n\\n/**\\n * @param {boolean} red\\n * @param {boolean} green\\n * @param {boolean} blue\\n * @param {boolean} alpha\\n * @return {undefined}\\n */\\nWebGLRenderingContext.prototype.colorMask = function(\\n    red, green, blue, alpha) {};\\n\\n/**\\n * @param {WebGLShader} shader\\n * @return {undefined}\\n */\\nWebGLRenderingContext.prototype.compileShader = function(shader) {};\\n\\n/**\\n * @param {number} target\\n * @param {number} level\\n * @param {number} internalformat\\n * @param {number} width\\n * @param {number} height\\n * @param {number} border\\n * @param {ArrayBufferView} data\\n * @return {undefined}\\n */\\nWebGLRenderingContext.prototype.compressedTexImage2D = function(\\n    target, level, internalformat, width, height, border, data) {};\\n\\n/**\\n * @param {number} target\\n * @param {number} level\\n * @param {number} xoffset\\n * @param {number} yoffset\\n * @param {number} width\\n * @param {number} height\\n * @param {number} format\\n * @param {ArrayBufferView} data\\n * @return {undefined}\\n */\\nWebGLRenderingContext.prototype.compressedTexSubImage2D = function(\\n    target, level, xoffset, yoffset, width, height, format, data) {};\\n\\n/**\\n * @param {number} target\\n * @param {number} level\\n * @param {number} format\\n * @param {number} x\\n * @param {number} y\\n * @param {number} width\\n * @param {number} height\\n * @param {number} border\\n * @return {undefined}\\n */\\nWebGLRenderingContext.prototype.copyTexImage2D = function(\\n    target, level, format, x, y, width, height, border) {};\\n\\n/**\\n * @param {number} target\\n * @param {number} level\\n * @param {number} xoffset\\n * @param {number} yoffset\\n * @param {number} x\\n * @param {number} y\\n * @param {number} width\\n * @param {number} height\\n * @return {undefined}\\n */\\nWebGLRenderingContext.prototype.copyTexSubImage2D = function(\\n    target, level, xoffset, yoffset, x, y, width, height) {};\\n\\n/**\\n * @return {!WebGLBuffer}\\n * @nosideeffects\\n */\\nWebGLRenderingContext.prototype.createBuffer = function() {};\\n\\n/**\\n * @return {!WebGLFramebuffer}\\n * @nosideeffects\\n */\\nWebGLRenderingContext.prototype.createFramebuffer = function() {};\\n\\n/**\\n * @return {!WebGLProgram}\\n * @nosideeffects\\n */\\nWebGLRenderingContext.prototype.createProgram = function() {};\\n\\n/**\\n * @return {!WebGLRenderbuffer}\\n * @nosideeffects\\n */\\nWebGLRenderingContext.prototype.createRenderbuffer = function() {};\\n\\n/**\\n * @param {number} type\\n * @return {!WebGLShader}\\n * @nosideeffects\\n */\\nWebGLRenderingContext.prototype.createShader = function(type) {};\\n\\n/**\\n * @return {!WebGLTexture}\\n * @nosideeffects\\n */\\nWebGLRenderingContext.prototype.createTexture = function() {};\\n\\n/**\\n * @param {number} mode\\n * @return {undefined}\\n */\\nWebGLRenderingContext.prototype.cullFace = function(mode) {};\\n\\n/**\\n * @param {WebGLBuffer} buffer\\n * @return {undefined}\\n */\\nWebGLRenderingContext.prototype.deleteBuffer = function(buffer) {};\\n\\n/**\\n * @param {WebGLFramebuffer} buffer\\n * @return {undefined}\\n */\\nWebGLRenderingContext.prototype.deleteFramebuffer = function(buffer) {};\\n\\n/**\\n * @param {WebGLProgram} program\\n * @return {undefined}\\n */\\nWebGLRenderingContext.prototype.deleteProgram = function(program) {};\\n\\n/**\\n * @param {WebGLRenderbuffer} buffer\\n * @return {undefined}\\n */\\nWebGLRenderingContext.prototype.deleteRenderbuffer = function(buffer) {};\\n\\n/**\\n * @param {WebGLShader} shader\\n * @return {undefined}\\n */\\nWebGLRenderingContext.prototype.deleteShader = function(shader) {};\\n\\n/**\\n * @param {WebGLTexture} texture\\n * @return {undefined}\\n */\\nWebGLRenderingContext.prototype.deleteTexture = function(texture) {};\\n\\n/**\\n * @param {number} func\\n * @return {undefined}\\n */\\nWebGLRenderingContext.prototype.depthFunc = function(func) {};\\n\\n/**\\n * @param {boolean} flag\\n * @return {undefined}\\n */\\nWebGLRenderingContext.prototype.depthMask = function(flag) {};\\n\\n/**\\n * @param {number} nearVal\\n * @param {number} farVal\\n * @return {undef";
a.a+="ined}\\n */\\nWebGLRenderingContext.prototype.depthRange = function(nearVal, farVal) {};\\n\\n/**\\n * @param {WebGLProgram} program\\n * @param {WebGLShader} shader\\n * @return {undefined}\\n */\\nWebGLRenderingContext.prototype.detachShader = function(program, shader) {};\\n\\n/**\\n * @param {number} flags\\n * @return {undefined}\\n */\\nWebGLRenderingContext.prototype.disable = function(flags) {};\\n\\n/**\\n * @param {number} index\\n * @return {undefined}\\n */\\nWebGLRenderingContext.prototype.disableVertexAttribArray = function(\\n    index) {};\\n\\n/**\\n * @param {number} mode\\n * @param {number} first\\n * @param {number} count\\n * @return {undefined}\\n */\\nWebGLRenderingContext.prototype.drawArrays = function(mode, first, count) {};\\n\\n/**\\n * @param {number} mode\\n * @param {number} count\\n * @param {number} type\\n * @param {number} offset\\n * @return {undefined}\\n */\\nWebGLRenderingContext.prototype.drawElements = function(\\n    mode, count, type, offset) {};\\n\\n/**\\n * @param {number} cap\\n * @return {undefined}\\n */\\nWebGLRenderingContext.prototype.enable = function(cap) {};\\n\\n/**\\n * @param {number} index\\n * @return {undefined}\\n */\\nWebGLRenderingContext.prototype.enableVertexAttribArray = function(\\n    index) {};\\n\\nWebGLRenderingContext.prototype.finish = function() {};\\n\\nWebGLRenderingContext.prototype.flush = function() {};\\n\\n/**\\n * @param {number} target\\n * @param {number} attachment\\n * @param {number} renderbuffertarget\\n * @param {WebGLRenderbuffer} renderbuffer\\n * @return {undefined}\\n */\\nWebGLRenderingContext.prototype.framebufferRenderbuffer = function(\\n    target, attachment, renderbuffertarget, renderbuffer) {};\\n\\n/**\\n * @param {number} target\\n * @param {number} attachment\\n * @param {number} textarget\\n * @param {WebGLTexture} texture\\n * @param {number} level\\n * @return {undefined}\\n */\\nWebGLRenderingContext.prototype.framebufferTexture2D = function(\\n    target, attachment, textarget, texture, level) {};\\n\\n/**\\n * @param {number} mode\\n * @return {undefined}\\n */\\nWebGLRenderingContext.prototype.frontFace = function(mode) {};\\n\\n/**\\n * @param {number} target\\n * @return {undefined}\\n */\\nWebGLRenderingContext.prototype.generateMipmap = function(target) {};\\n\\n/**\\n * @param {WebGLProgram} program\\n * @param {number} index\\n * @return {WebGLActiveInfo}\\n * @nosideeffects\\n */\\nWebGLRenderingContext.prototype.getActiveAttrib = function(program, index) {};\\n\\n/**\\n * @param {WebGLProgram} program\\n * @param {number} index\\n * @return {WebGLActiveInfo}\\n * @nosideeffects\\n */\\nWebGLRenderingContext.prototype.getActiveUniform = function(program, index) {};\\n\\n/**\\n * @param {WebGLProgram} program\\n * @return {!Array<WebGLShader>}\\n * @nosideeffects\\n */\\nWebGLRenderingContext.prototype.getAttachedShaders = function(program) {};\\n\\n/**\\n * @param {WebGLProgram} program\\n * @param {string} name\\n * @return {number}\\n * @nosideeffects\\n */\\nWebGLRenderingContext.prototype.getAttribLocation = function(program, name) {};\\n\\n/**\\n * @param {number} target\\n * @param {number} pname\\n * @return {*}\\n * @nosideeffects\\n */\\nWebGLRenderingContext.prototype.getBufferParameter = function(target, pname) {};\\n\\n/**\\n * @param {number} pname\\n * @return {*}\\n * @nosideeffects\\n */\\nWebGLRenderingContext.prototype.getParameter = function(pname) {};\\n\\n/**\\n * @return {number}\\n * @nosideeffects\\n */\\nWebGLRenderingContext.prototype.getError = function() {};\\n\\n/**\\n * @param {number} target\\n * @param {number} attachment\\n * @param {number} pname\\n * @return {*}\\n * @nosideeffects\\n */\\nWebGLRenderingContext.prototype.getFramebufferAttachmentParameter = function(\\n    target, attachment, pname) {};\\n\\n/**\\n * @param {WebGLProgram} program\\n * @param {number} pname\\n * @return {*}\\n * @nosideeffects\\n */\\nWebGLRenderingContext.prototype.getProgramParameter = function(\\n    program, pname) {};\\n\\n/**\\n * @param {WebGLProgram} program\\n * @return {string}\\n * @nosideeffects\\n */\\nWebGLRenderingContext.prototype.getProgramInfoLog = function(program) {};\\n\\n/**\\n * @param {number} target\\n * @param {number} pname\\n * @return {*}\\n * @nosideeffects\\n */\\nWebGLRenderingContext.prototype.getRenderbufferParameter = function(\\n    target, pname) {};\\n\\n/**\\n * @param {WebGLShader} shader\\n * @param {number} pname\\n * @return {*}\\n * @nosideeffects\\n */\\nWebGLRenderingContext.prototype.getShaderParameter = function(shader, pname) {};\\n\\n/**\\n * @param {number} shadertype\\n * @param {number} precisiontype\\n * @return {WebGLShaderPrecisionFormat}\\n * @nosideeffects\\n */\\nWebGLRenderingContext.prototype.getShaderPrecisionFormat = function(shadertype,\\n    precisiontype) {};\\n\\n/**\\n * @param {WebGLShader} shader\\n * @return {string}\\n * @nosideeffects\\n */\\nWebGLRenderingContext.prototype.getShaderInfoLog = function(shader) {};\\n\\n/**\\n * @param {WebGLShader} shader\\n * @return {string}\\n * @nosideeffects\\n */\\nWebGLRenderingContext.prototype.getShaderSource = function(shader) {};\\n\\n/**\\n * @param {number} target\\n * @param {number} pname\\n * @return {*}\\n * @nosideeffects\\n */\\nWebGLRenderingContext.prototype.getTexParameter = function(target, pname) {};\\n\\n/**\\n * @param {WebGLProgram} program\\n * @param {WebGLUniformLocation} location\\n * @return {*}\\n * @nosideeffects\\n */\\nWebGLRenderingContext.prototype.getUniform = function(program, location) {};\\n\\n/**\\n * @param {WebGLProgram} program\\n * @param {string} name\\n * @return {WebGLUniformLocation}\\n * @nosideeffects\\n */\\nWebGLRenderingContext.prototype.getUniformLocation = function(program, name) {};\\n\\n/**\\n * @param {number} index\\n * @param {number} pname\\n * @return {*}\\n * @nosideeffects\\n */\\nWebGLRenderingContext.prototype.getVertexAttrib = function(index, pname) {};\\n\\n/**\\n * @param {number} index\\n * @param {number} pname\\n * @return {number}\\n * @nosideeffects\\n */\\nWebGLRenderingContext.prototype.getVertexAttribOffset = function(\\n    index, pname) {};\\n\\n/**\\n * @param {number} target\\n * @param {number} mode\\n * @return {undefined}\\n */\\nWebGLRenderingContext.prototype.hint = function(target, mode) {};\\n\\n/**\\n * @param {WebGLObject} buffer\\n * @return {boolean}\\n * @nosideeffects\\n */\\nWebGLRenderingContext.prototype.isBuffer = function(buffer) {};\\n\\n/**\\n * @param {number} cap\\n * @return {boolean}\\n * @nosideeffects\\n */\\nWebGLRenderingContext.prototype.isEnabled = function(cap) {};\\n\\n/**\\n * @param {WebGLObject} framebuffer\\n * @return {boolean}\\n * @nosideeffects\\n */\\nWebGLRenderingContext.prototype.isFramebuffer = function(framebuffer) {};\\n\\n/**\\n * @param {WebGLObject} program\\n * @return {boolean}\\n * @nosideeffects\\n */\\nWebGLRenderingContext.prototype.isProgram = function(program) {};\\n\\n/**\\n * @param {WebGLObject} renderbuffer\\n * @return {boolean}\\n * @nosideeffects\\n */\\nWebGLRenderingContext.prototype.isRenderbuffer = function(renderbuffer) {};\\n\\n/**\\n * @param {WebGLObject} shader\\n * @return {boolean}\\n * @nosideeffects\\n */\\nWebGLRenderingContext.prototype.isShader = function(shader) {};\\n\\n/**\\n * @param {WebGLObject} texture\\n * @return {boolean}\\n * @nosideeffects\\n */\\nWebGLRenderingContext.prototype.isTexture = function(texture) {};\\n\\n/**\\n * @param {number} width\\n * @return {undefined}\\n */\\nWebGLRenderingContext.prototype.lineWidth = function(width) {};\\n\\n/**\\n * @param {WebGLProgram} program\\n * @return {undefined}\\n */\\nWebGLRenderingContext.prototype.linkProgram = function(program) {};\\n\\n/**\\n * @param {number} pname\\n * @param {number} param\\n * @return {undefined}\\n */\\nWebGLRenderingContext.prototype.pixelStorei = function(pname, param) {};\\n\\n/**\\n * @param {number} factor\\n * @param {number} units\\n * @return {undefined}\\n */\\nWebGLRenderingContext.prototype.polygonOffset = function(factor, units) {};\\n\\n/**\\n * @param {number} x\\n * @param {number} y\\n * @param {number} width\\n * @param {number} height\\n * @param {number} format\\n * @param {number} type\\n * @param {ArrayBufferView} pixels\\n * @return {undefined}\\n */\\nWebGLRenderingContext.prototype.readPixels = function(\\n    x, y, width, height, format, type, pixels) {};\\n\\n/**\\n * @param {number} target\\n * @param {number} internalformat\\n * @param {number} width\\n * @param {number} height\\n * @return {undefined}\\n */\\nWebGLRenderingContext.prototype.renderbufferStorage = function(\\n    target, internalformat, width, height) {};\\n\\n/**\\n * @param {number} coverage\\n * @param {boolean} invert\\n * @return {undefined}\\n */\\nWebGLRenderingContext.prototype.sampleCoverage = function(coverage, invert) {};\\n\\n/**\\n * @param {number} x\\n * @param {number} y\\n * @param {number} width\\n * @param {number} height\\n * @return {undefined}\\n */\\nWebGLRenderingContext.prototype.scissor = function(x, y, width, height) {};\\n\\n/**\\n * @param {WebGLShader} shader\\n * @param {string} source\\n * @return {undefined}\\n */\\nWebGLRenderingContext.prototype.shaderSource = function(shader, source) {};\\n\\n/**\\n * @param {number} func\\n * @param {number} ref\\n * @param {number} mask\\n * @return {undefined}\\n */\\nWebGLRenderingContext.prototype.stencilFunc = function(func, ref, mask) {};\\n\\n/**\\n * @param {number} face\\n * @param {number} func\\n * @param {number} ref\\n * @param {number} mask\\n * @return {undefined}\\n */\\nWebGLRenderingContext.prototype.stencilFuncSeparate = function(\\n    face, func, ref, mask) {};\\n\\n/**\\n * @param {number} mask\\n * @return {undefined}\\n */\\nWebGLRenderingContext.prototype.stencilMask = function(mask) {};\\n\\n/**\\n * @param {number} face\\n * @param {number} mask\\n * @return {undefined}\\n */\\nWebGLRenderingContext.prototype.stencilMaskSeparate = function(face, mask) {};\\n\\n/**\\n * @param {number} fail\\n * @param {number} zfail\\n * @param {number} zpass\\n * @return {undefined}\\n */\\nWebGLRenderingContext.prototype.stencilOp = function(fail, zfail, zpass) {};\\n\\n/**\\n * @param {number} face\\n * @param {number} fail\\n * @param {number} zfail\\n * @param {number} zpass\\n * @return {undefined}\\n */\\nWebGLRenderingContext.prototype.stencilOpSeparate = function(\\n    face, fail, zfail, zpass) {};\\n\\n/**\\n * @param {number} target\\n * @param {number} level\\n * @param {number} internalformat\\n * @param {number} format or width\\n * @param {number} type or height\\n * @param {ImageData|HTMLImageElement|HTMLCanvasElement|HTMLVideoElement|\\n *     number} img or border\\n * @param {number=} opt_format\\n * @param {number=} opt_type\\n * @param {ArrayBufferView=} opt_pixels\\n * @return {undefined}\\n */\\nWebGLRenderingContext.prototype.texImage2D = function(\\n    target, level, internalformat, format, type, img, opt_format, opt_type,\\n    opt_pixels) {};\\n\\n/**\\n * @param {number} target\\n * @param {number} pname\\n * @param {number} param\\n * @return {undefined}\\n */\\nWebGLRenderingContext.prototype.texParameterf = function(\\n    target, pname, param) {};\\n\\n/**\\n * @param {number} target\\n * @param {number} pname\\n * @param {number} param\\n * @return {undefined}\\n */\\nWebGLRenderingContext.prototype.texParameteri = function(\\n    target, pname, param) {};\\n\\n/**\\n * @param {number} target\\n * @param {number} level\\n * @param {number} xoffset\\n * @param {number} yoffset\\n * @param {number} format or width\\n * @param {number} type or height\\n * @param {ImageData|HTMLImageElement|HTMLCanvasElement|HTMLVideoElement|\\n *     number} data or format\\n * @param {number=} opt_type\\n * @param {ArrayBufferView=} opt_pixels\\n * @return {undefined}\\n */\\nWebGLRenderingContext.prototype.texSubImage2D = function(\\n    target, level, xoffset, yoffset, format, type, data, opt_type,\\n    opt_pixels) {};\\n\\n/**\\n * @param {WebGLUniformLocation} location\\n * @param {number} value\\n * @return {undefined}\\n */\\nWebGLRenderingContext.prototype.uniform1f = function(location, value) {};\\n\\n/**\\n * @param {WebGLUniformLocation} location\\n * @param {Float32Array|Array<number>} value\\n * @return {undefined}\\n */\\nWebGLRenderingContext.prototype.uniform1fv = function(location, value) {};\\n\\n/**\\n * @param {WebGLUniformLocation} location\\n * @param {number|boolean} value\\n * @return {undefined}\\n */\\nWebGLRenderingContext.prototype.uniform1i = function(location, value) {};\\n\\n/**\\n * @param {WebGLUniformLocation} location\\n * @param {Int32Array|Array<number>|Array<boolean>} value\\n * @return {undefined}\\n */\\nWebGLRenderingContext.prototype.uniform1iv = function(location, value) {};\\n\\n/**\\n * @param {WebGLUniformLocation} location\\n * @param {number} value1\\n * @param {number} value2\\n * @return {undefined}\\n */\\nWebGLRenderingContext.prototype.uniform2f = function(\\n    location, value1, value2) {};\\n\\n/**\\n * @param {WebGLUniformLocation} location\\n * @param {Float32Array|Array<number>} value\\n * @return {undefined}\\n */\\nWebGLRenderingContext.prototype.uniform2fv = function(location, value) {};\\n\\n/**\\n * @param {WebGLUniformLocation} location\\n * @param {number|boolean} value1\\n * @param {number|boolean} value2\\n * @return {undefined}\\n */\\nWebGLRenderingContext.prototype.uniform2i = function(\\n    location, value1, value2) {};\\n\\n/**\\n * @param {WebGLUniformLocation} location\\n * @param {Int32Array|Array<number>|Array<boolean>} value\\n * @return {undefined}\\n */\\nWebGLRenderingContext.prototype.uniform2iv = function(location, value) {};\\n\\n/**\\n * @param {WebGLUniformLocation} location\\n * @param {number} value1\\n * @param {number} value2\\n * @param {number} value3\\n * @return {undefined}\\n */\\nWebGLRenderingContext.prototype.uniform3f = function(\\n    location, value1, value2, value3) {};\\n\\n/**\\n * @param {WebGLUniformLocation} location\\n * @param {Float32Array|Array<number>} value\\n * @return {undefined}\\n */\\nWebGLRenderingContext.prototype.uniform3fv = function(location, value) {};\\n\\n/**\\n * @param {WebGLUniformLocation} location\\n * @param {number|boolean} value1\\n * @param {number|boolean} value2\\n * @param {number|boolean} value3\\n * @return {undefined}\\n */\\nWebGLRenderingContext.prototype.uniform3i = function(\\n    location, value1, value2, value3) {};\\n\\n/**\\n * @param {WebGLUniformLocation} location\\n * @param {Int32Array|Array<number>|Array<boolean>} value\\n * @return {undefined}\\n */\\nWebGLRenderingContext.prototype.uniform3iv = function(location, value) {};\\n\\n/**\\n * @param {WebGLUniformLocation} location\\n * @param {number} value1\\n * @param {number} value2\\n * @param {number} value3\\n * @param {number} value4\\n * @return {undefined}\\n */\\nWebGLRenderingContext.prototype.uniform4f = function(\\n    location, value1, value2, value3, value4) {};\\n\\n/**\\n * @param {WebGLUniformLocation} location\\n * @param {Float32Array|Array<number>} value\\n * @return {undefined}\\n */\\nWebGLRenderingContext.prototype.uniform4fv = function(location, value) {};\\n\\n/**\\n * @param {WebGLUniformLocation} location\\n * @param {number|boolean} value1\\n * @param {number|boolean} value2\\n * @param {number|boolean} value3\\n * @param {number|boolean} value4\\n * @return {undefined}\\n */\\nWebGLRenderingContext.prototype.uniform4i = function(\\n    location, value1, value2, value3, value4) {};\\n\\n/**\\n * @param {WebGLUniformLocation} location\\n * @param {Int32Array|Array<number>|Array<boolean>} value\\n * @return {undefined}\\n */\\nWebGLRenderingContext.prototype.uniform4iv = function(location, value) {};\\n\\n/**\\n * @param {WebGLUniformLocation} location\\n * @param {boolean} transpose\\n * @param {Float32Array|Array<number>} data\\n * @return {undefined}\\n */\\nWebGLRenderingContext.prototype.uniformMatrix2fv = function(\\n    location, transpose, data) {};\\n\\n/**\\n * @param {WebGLUniformLocation} location\\n * @param {boolean} transpose\\n * @param {Float32Array|Array<number>} data\\n * @return {undefined}\\n */\\nWebGLRenderingContext.prototype.uniformMatrix3fv = function(\\n    location, transpose, data) {};\\n\\n/**\\n * @param {WebGLUniformLocation} location\\n * @param {boolean} transpose\\n * @param {Float32Array|Array<number>} data\\n * @return {undefined}\\n */\\nWebGLRenderingContext.prototype.uniformMatrix4fv = function(\\n    location, transpose, data) {};\\n\\n/**\\n * @param {WebGLProgram} program\\n * @return {undefined}\\n */\\nWebGLRenderingContext.prototype.useProgram = function(program) {};\\n\\n/**\\n * @param {WebGLProgram} program\\n * @return {undefined}\\n */\\nWebGLRenderingContext.prototype.validateProgram = function(program) {};\\n\\n/**\\n * @param {number} indx\\n * @param {number} x\\n * @return {undefined}\\n */\\nWebGLRenderingContext.prototype.vertexAttrib1f = function(ind";
a.a+="x, x) {};\\n\\n/**\\n * @param {number} indx\\n * @param {Float32Array|Array<number>} values\\n * @return {undefined}\\n */\\nWebGLRenderingContext.prototype.vertexAttrib1fv = function(indx, values) {};\\n\\n/**\\n * @param {number} indx\\n * @param {number} x\\n * @param {number} y\\n * @return {undefined}\\n */\\nWebGLRenderingContext.prototype.vertexAttrib2f = function(\\n    indx, x, y) {};\\n\\n/**\\n * @param {number} indx\\n * @param {Float32Array|Array<number>} values\\n * @return {undefined}\\n */\\nWebGLRenderingContext.prototype.vertexAttrib2fv = function(\\n    indx, values) {};\\n\\n/**\\n * @param {number} indx\\n * @param {number} x\\n * @param {number} y\\n * @param {number} z\\n * @return {undefined}\\n */\\nWebGLRenderingContext.prototype.vertexAttrib3f = function(\\n    indx, x, y, z) {};\\n\\n/**\\n * @param {number} indx\\n * @param {Float32Array|Array<number>} values\\n * @return {undefined}\\n */\\nWebGLRenderingContext.prototype.vertexAttrib3fv = function(indx, values) {};\\n\\n/**\\n * @param {number} indx\\n * @param {number} x\\n * @param {number} y\\n * @param {number} z\\n * @param {number} w\\n * @return {undefined}\\n */\\nWebGLRenderingContext.prototype.vertexAttrib4f = function(\\n    indx, x, y, z, w) {};\\n\\n/**\\n * @param {number} indx\\n * @param {Float32Array|Array<number>} values\\n * @return {undefined}\\n */\\nWebGLRenderingContext.prototype.vertexAttrib4fv = function(indx, values) {};\\n\\n/**\\n * @param {number} indx\\n * @param {number} size\\n * @param {number} type\\n * @param {boolean} normalized\\n * @param {number} stride\\n * @param {number} offset\\n * @return {undefined}\\n */\\nWebGLRenderingContext.prototype.vertexAttribPointer = function(\\n    indx, size, type, normalized, stride, offset) {};\\n\\n/**\\n * @param {number} x\\n * @param {number} y\\n * @param {number} width\\n * @param {number} height\\n * @return {undefined}\\n */\\nWebGLRenderingContext.prototype.viewport = function(x, y, width, height) {};\\n\\n\\n/**\\n * @constructor\\n * @noalias\\n */\\nfunction WebGLContextAttributes() {}\\n\\n/**\\n * @type {boolean}\\n */\\nWebGLContextAttributes.prototype.alpha;\\n\\n/**\\n * @type {boolean}\\n */\\nWebGLContextAttributes.prototype.depth;\\n\\n/**\\n * @type {boolean}\\n */\\nWebGLContextAttributes.prototype.stencil;\\n\\n/**\\n * @type {boolean}\\n */\\nWebGLContextAttributes.prototype.antialias;\\n\\n/**\\n * @type {boolean}\\n */\\nWebGLContextAttributes.prototype.premultipliedAlpha;\\n\\n/**\\n * @type {boolean}\\n */\\nWebGLContextAttributes.prototype.preserveDrawingBuffer;\\n\\n/**\\n * @type {boolean}\\n */\\nWebGLContextAttributes.prototype.preferLowPowerToHighPerformance;\\n\\n/**\\n * @type {boolean}\\n */\\nWebGLContextAttributes.prototype.failIfMajorPerformanceCaveat;\\n\\n/**\\n * @param {string} eventType\\n * @constructor\\n * @noalias\\n * @extends {Event}\\n */\\nfunction WebGLContextEvent(eventType) {}\\n\\n/**\\n * @type {string}\\n */\\nWebGLContextEvent.prototype.statusMessage;\\n\\n\\n/**\\n * @constructor\\n * @noalias\\n */\\nfunction WebGLShaderPrecisionFormat() {}\\n\\n/**\\n * @type {number}\\n */\\nWebGLShaderPrecisionFormat.prototype.rangeMin;\\n\\n/**\\n * @type {number}\\n */\\nWebGLShaderPrecisionFormat.prototype.rangeMax;\\n\\n/**\\n * @type {number}\\n */\\nWebGLShaderPrecisionFormat.prototype.precision;\\n\\n\\n/**\\n * @constructor\\n * @noalias\\n */\\nfunction WebGLObject() {}\\n\\n\\n/**\\n * @constructor\\n * @noalias\\n * @extends {WebGLObject}\\n */\\nfunction WebGLBuffer() {}\\n\\n\\n/**\\n * @constructor\\n * @noalias\\n * @extends {WebGLObject}\\n */\\nfunction WebGLFramebuffer() {}\\n\\n\\n/**\\n * @constructor\\n * @noalias\\n * @extends {WebGLObject}\\n */\\nfunction WebGLProgram() {}\\n\\n\\n/**\\n * @constructor\\n * @noalias\\n * @extends {WebGLObject}\\n */\\nfunction WebGLRenderbuffer() {}\\n\\n\\n/**\\n * @constructor\\n * @noalias\\n * @extends {WebGLObject}\\n */\\nfunction WebGLShader() {}\\n\\n\\n/**\\n * @constructor\\n * @noalias\\n * @extends {WebGLObject}\\n */\\nfunction WebGLTexture() {}\\n\\n\\n/**\\n * @constructor\\n * @noalias\\n */\\nfunction WebGLActiveInfo() {}\\n\\n/** @type {number} */\\nWebGLActiveInfo.prototype.size;\\n\\n/** @type {number} */\\nWebGLActiveInfo.prototype.type;\\n\\n/** @type {string} */\\nWebGLActiveInfo.prototype.name;\\n\\n\\n/**\\n * @constructor\\n * @noalias\\n */\\nfunction WebGLUniformLocation() {}\\n\\n\\n/**\\n * @see http://www.khronos.org/registry/webgl/extensions/OES_texture_float/\\n * @constructor\\n * @noalias\\n */\\nfunction OES_texture_float() {}\\n\\n\\n/**\\n * @see http://www.khronos.org/registry/webgl/extensions/OES_texture_half_float/\\n * @constructor\\n * @noalias\\n */\\nfunction OES_texture_half_float() {}\\n\\n/** @type {number} */\\nOES_texture_half_float.prototype.HALF_FLOAT_OES;\\n\\n\\n/**\\n * @see http://www.khronos.org/registry/webgl/extensions/WEBGL_lose_context/\\n * @constructor\\n * @noalias\\n */\\nfunction WEBGL_lose_context() {}\\n\\nWEBGL_lose_context.prototype.loseContext = function() {};\\n\\nWEBGL_lose_context.prototype.restoreContext = function() {};\\n\\n\\n/**\\n * @see http://www.khronos.org/registry/webgl/extensions/OES_standard_derivatives/\\n * @constructor\\n * @noalias\\n */\\nfunction OES_standard_derivatives() {}\\n\\n/** @type {number} */\\nOES_standard_derivatives.prototype.FRAGMENT_SHADER_DERIVATIVE_HINT_OES;\\n\\n\\n/**\\n * @see http://www.khronos.org/registry/webgl/extensions/OES_vertex_array_object/\\n * @constructor\\n * @noalias\\n * @extends {WebGLObject}\\n */\\nfunction WebGLVertexArrayObjectOES() {}\\n\\n\\n/**\\n * @see http://www.khronos.org/registry/webgl/extensions/OES_vertex_array_object/\\n * @constructor\\n * @noalias\\n */\\nfunction OES_vertex_array_object() {}\\n\\n/** @type {number} */\\nOES_vertex_array_object.prototype.VERTEX_ARRAY_BINDING_OES;\\n\\n/**\\n * @return {WebGLVertexArrayObjectOES}\\n * @nosideeffects\\n */\\nOES_vertex_array_object.prototype.createVertexArrayOES = function() {};\\n\\n/**\\n * @param {WebGLVertexArrayObjectOES} arrayObject\\n * @return {undefined}\\n */\\nOES_vertex_array_object.prototype.deleteVertexArrayOES =\\n    function(arrayObject) {};\\n\\n/**\\n * @param {WebGLVertexArrayObjectOES} arrayObject\\n * @return {boolean}\\n * @nosideeffects\\n */\\nOES_vertex_array_object.prototype.isVertexArrayOES = function(arrayObject) {};\\n\\n/**\\n * @param {WebGLVertexArrayObjectOES} arrayObject\\n * @return {undefined}\\n */\\nOES_vertex_array_object.prototype.bindVertexArrayOES = function(arrayObject) {};\\n\\n\\n/**\\n * @see http://www.khronos.org/registry/webgl/extensions/WEBGL_debug_renderer_info/\\n * @constructor\\n * @noalias\\n */\\nfunction WEBGL_debug_renderer_info() {}\\n\\n/** @type {number} */\\nWEBGL_debug_renderer_info.prototype.UNMASKED_VENDOR_WEBGL;\\n\\n/** @type {number} */\\nWEBGL_debug_renderer_info.prototype.UNMASKED_RENDERER_WEBGL;\\n\\n\\n/**\\n * @see http://www.khronos.org/registry/webgl/extensions/WEBGL_debug_shaders/\\n * @constructor\\n * @noalias\\n */\\nfunction WEBGL_debug_shaders() {}\\n\\n/**\\n * @param {WebGLShader} shader\\n * @return {string}\\n * @nosideeffects\\n */\\nWEBGL_debug_shaders.prototype.getTranslatedShaderSource = function(shader) {};\\n\\n\\n/**\\n * @see http://www.khronos.org/registry/webgl/extensions/WEBGL_compressed_texture_s3tc/\\n * @constructor\\n * @noalias\\n */\\nfunction WEBGL_compressed_texture_s3tc() {}\\n\\n/** @type {number} */\\nWEBGL_compressed_texture_s3tc.prototype.COMPRESSED_RGB_S3TC_DXT1_EXT;\\n\\n/** @type {number} */\\nWEBGL_compressed_texture_s3tc.prototype.COMPRESSED_RGBA_S3TC_DXT1_EXT;\\n\\n/** @type {number} */\\nWEBGL_compressed_texture_s3tc.prototype.COMPRESSED_RGBA_S3TC_DXT3_EXT;\\n\\n/** @type {number} */\\nWEBGL_compressed_texture_s3tc.prototype.COMPRESSED_RGBA_S3TC_DXT5_EXT;\\n\\n\\n/**\\n * @see http://www.khronos.org/registry/webgl/extensions/OES_depth_texture/\\n * @constructor\\n * @noalias\\n */\\nfunction OES_depth_texture() {}\\n\\n\\n/**\\n * @see http://www.khronos.org/registry/webgl/extensions/OES_element_index_uint/\\n * @constructor\\n * @noalias\\n */\\nfunction OES_element_index_uint() {}\\n\\n\\n/**\\n * @see http://www.khronos.org/registry/webgl/extensions/EXT_texture_filter_anisotropic/\\n * @constructor\\n * @noalias\\n */\\nfunction EXT_texture_filter_anisotropic() {}\\n\\n/** @type {number} */\\nEXT_texture_filter_anisotropic.prototype.TEXTURE_MAX_ANISOTROPY_EXT;\\n\\n/** @type {number} */\\nEXT_texture_filter_anisotropic.prototype.MAX_TEXTURE_MAX_ANISOTROPY_EXT;\\n\\n\\n/**\\n * @see https://www.khronos.org/registry/webgl/extensions/WEBGL_draw_buffers/\\n * @constructor\\n * @noalias\\n */\\nfunction WEBGL_draw_buffers() {}\\n\\n/** @type {number} */\\nWEBGL_draw_buffers.prototype.COLOR_ATTACHMENT0_WEBGL;\\n\\n/** @type {number} */\\nWEBGL_draw_buffers.prototype.COLOR_ATTACHMENT1_WEBGL;\\n\\n/** @type {number} */\\nWEBGL_draw_buffers.prototype.COLOR_ATTACHMENT2_WEBGL;\\n\\n/** @type {number} */\\nWEBGL_draw_buffers.prototype.COLOR_ATTACHMENT3_WEBGL;\\n\\n/** @type {number} */\\nWEBGL_draw_buffers.prototype.COLOR_ATTACHMENT4_WEBGL;\\n\\n/** @type {number} */\\nWEBGL_draw_buffers.prototype.COLOR_ATTACHMENT5_WEBGL;\\n\\n/** @type {number} */\\nWEBGL_draw_buffers.prototype.COLOR_ATTACHMENT6_WEBGL;\\n\\n/** @type {number} */\\nWEBGL_draw_buffers.prototype.COLOR_ATTACHMENT7_WEBGL;\\n\\n/** @type {number} */\\nWEBGL_draw_buffers.prototype.COLOR_ATTACHMENT8_WEBGL;\\n\\n/** @type {number} */\\nWEBGL_draw_buffers.prototype.COLOR_ATTACHMENT9_WEBGL;\\n\\n/** @type {number} */\\nWEBGL_draw_buffers.prototype.COLOR_ATTACHMENT10_WEBGL;\\n\\n/** @type {number} */\\nWEBGL_draw_buffers.prototype.COLOR_ATTACHMENT11_WEBGL;\\n\\n/** @type {number} */\\nWEBGL_draw_buffers.prototype.COLOR_ATTACHMENT12_WEBGL;\\n\\n/** @type {number} */\\nWEBGL_draw_buffers.prototype.COLOR_ATTACHMENT13_WEBGL;\\n\\n/** @type {number} */\\nWEBGL_draw_buffers.prototype.COLOR_ATTACHMENT14_WEBGL;\\n\\n/** @type {number} */\\nWEBGL_draw_buffers.prototype.COLOR_ATTACHMENT15_WEBGL;\\n\\n/** @type {number} */\\nWEBGL_draw_buffers.prototype.DRAW_BUFFER0_WEBGL;\\n\\n/** @type {number} */\\nWEBGL_draw_buffers.prototype.DRAW_BUFFER1_WEBGL;\\n\\n/** @type {number} */\\nWEBGL_draw_buffers.prototype.DRAW_BUFFER2_WEBGL;\\n\\n/** @type {number} */\\nWEBGL_draw_buffers.prototype.DRAW_BUFFER3_WEBGL;\\n\\n/** @type {number} */\\nWEBGL_draw_buffers.prototype.DRAW_BUFFER4_WEBGL;\\n\\n/** @type {number} */\\nWEBGL_draw_buffers.prototype.DRAW_BUFFER5_WEBGL;\\n\\n/** @type {number} */\\nWEBGL_draw_buffers.prototype.DRAW_BUFFER6_WEBGL;\\n\\n/** @type {number} */\\nWEBGL_draw_buffers.prototype.DRAW_BUFFER7_WEBGL;\\n\\n/** @type {number} */\\nWEBGL_draw_buffers.prototype.DRAW_BUFFER8_WEBGL;\\n\\n/** @type {number} */\\nWEBGL_draw_buffers.prototype.DRAW_BUFFER9_WEBGL;\\n\\n/** @type {number} */\\nWEBGL_draw_buffers.prototype.DRAW_BUFFER10_WEBGL;\\n\\n/** @type {number} */\\nWEBGL_draw_buffers.prototype.DRAW_BUFFER11_WEBGL;\\n\\n/** @type {number} */\\nWEBGL_draw_buffers.prototype.DRAW_BUFFER12_WEBGL;\\n\\n/** @type {number} */\\nWEBGL_draw_buffers.prototype.DRAW_BUFFER13_WEBGL;\\n\\n/** @type {number} */\\nWEBGL_draw_buffers.prototype.DRAW_BUFFER14_WEBGL;\\n\\n/** @type {number} */\\nWEBGL_draw_buffers.prototype.DRAW_BUFFER15_WEBGL;\\n\\n/** @type {number} */\\nWEBGL_draw_buffers.prototype.MAX_COLOR_ATTACHMENTS_WEBGL;\\n\\n/** @type {number} */\\nWEBGL_draw_buffers.prototype.MAX_DRAW_BUFFERS_WEBGL;\\n\\n/**\\n * @param {Array<number>} buffers Draw buffers.\\n * @return {undefined}\\n */\\nWEBGL_draw_buffers.prototype.drawBuffersWEBGL = function(buffers) {};\\n\\n\\n/**\\n * @see http://www.khronos.org/registry/webgl/extensions/ANGLE_instanced_arrays/\\n * @constructor\\n * @noalias\\n */\\nfunction ANGLE_instanced_arrays() {}\\n\\n\\n/** @type {number} */\\nANGLE_instanced_arrays.prototype.VERTEX_ATTRIB_ARRAY_DIVISOR_ANGLE;\\n\\n\\n/**\\n * @param {number} mode Primitive type.\\n * @param {number} first First vertex.\\n * @param {number} count Number of vertices per instance.\\n * @param {number} primcount Number of instances.\\n * @return {undefined}\\n */\\nANGLE_instanced_arrays.prototype.drawArraysInstancedANGLE = function(\\n    mode, first, count, primcount) {};\\n\\n\\n/**\\n * @param {number} mode Primitive type.\\n * @param {number} count Number of vertex indices per instance.\\n * @param {number} type Type of a vertex index.\\n * @param {number} offset Offset to the first vertex index.\\n * @param {number} primcount Number of instances.\\n * @return {undefined}\\n */\\nANGLE_instanced_arrays.prototype.drawElementsInstancedANGLE = function(\\n    mode, count, type, offset, primcount) {};\\n\\n\\n/**\\n * @param {number} index Attribute index.\\n * @param {number} divisor Instance divisor.\\n * @return {undefined}\\n */\\nANGLE_instanced_arrays.prototype.vertexAttribDivisorANGLE = function(\\n    index, divisor) {};\\n\\n\",\"externs/fetchapi.js\":\"/*\\n * Copyright 2014 The Closure Compiler Authors\\n *\\n * Licensed under the Apache License, Version 2.0 (the \\\"License\\\");\\n * you may not use this file except in compliance with the License.\\n * You may obtain a copy of the License at\\n *\\n *     http://www.apache.org/licenses/LICENSE-2.0\\n *\\n * Unless required by applicable law or agreed to in writing, software\\n * distributed under the License is distributed on an \\\"AS IS\\\" BASIS,\\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\\n * See the License for the specific language governing permissions and\\n * limitations under the License.\\n */\\n/**\\n * @fileoverview Definitions of the fetch api.\\n *\\n * This api is still in development and not yet stable. Use at your\\n * own risk.\\n *\\n * Based on Living Standard \u2014 Last Updated 17 August 2016\\n *\\n * @see https://fetch.spec.whatwg.org/\\n * @externs\\n */\\n\\n\\n/**\\n * @enum {string}\\n * @see https://w3c.github.io/webappsec-referrer-policy/#enumdef-referrerpolicy\\n */\\nvar ReferrerPolicy = {\\n  NONE: '',\\n  NO_REFERRER: 'no-referrer',\\n  NO_REFERRER_WHEN_DOWNGRADE: 'no-referrer-when-downgrade',\\n  SAMEO_RIGIN: 'same-origin',\\n  ORIGIN: 'origin',\\n  STRICT_ORIGIN: 'strict-origin',\\n  ORIGIN_WHEN_CROSS_ORIGIN: 'origin-when-cross-origin',\\n  STRICT_ORIGIN_WHEN_CROSS_ORIGIN: 'strict-origin-when-cross-origin',\\n  UNSAFE_URL: 'unsafe-url'\\n};\\n\\n\\n/**\\n * @typedef {!Headers|!Array<!Array<string>>|!IObject<string,string>}\\n * @see https://fetch.spec.whatwg.org/#headersinit\\n */\\nvar HeadersInit;\\n\\n\\n/**\\n * @param {!HeadersInit=} opt_headersInit\\n * @constructor\\n * @implements {Iterable<!Array<string>>}\\n * @see https://fetch.spec.whatwg.org/#headers\\n */\\nfunction Headers(opt_headersInit) {}\\n\\n/**\\n * @param {string} name\\n * @param {string} value\\n * @return {undefined}\\n */\\nHeaders.prototype.append = function(name, value) {};\\n\\n/**\\n * @param {string} name\\n * @return {undefined}\\n */\\nHeaders.prototype.delete = function(name) {};\\n\\n/** @return {!Iterator<!Array<string>>} */\\nHeaders.prototype.entries = function() {};\\n\\n/**\\n * @param {string} name\\n * @return {?string}\\n */\\nHeaders.prototype.get = function(name) {};\\n\\n/**\\n * @param {string} name\\n * @return {!Array<string>}\\n */\\nHeaders.prototype.getAll = function(name) {};\\n\\n/**\\n * @param {string} name\\n * @return {boolean}\\n */\\nHeaders.prototype.has = function(name) {};\\n\\n/** @return {!Iterator<string>} */\\nHeaders.prototype.keys = function() {};\\n\\n/**\\n * @param {string} name\\n * @param {string} value\\n * @return {undefined}\\n */\\nHeaders.prototype.set = function(name, value) {};\\n\\n/** @return {!Iterator<string>} */\\nHeaders.prototype.values = function() {};\\n\\n/** @return {!Iterator<!Array<string>>} */\\nHeaders.prototype[Symbol.iterator] = function() {};\\n\\n\\n/**\\n * @typedef {!Blob|!BufferSource|!FormData|string}\\n * @see https://fetch.spec.whatwg.org/#bodyinit\\n */\\nvar BodyInit;\\n\\n\\n/**\\n * @typedef {!BodyInit|!ReadableStream}\\n * @see https://fetch.spec.whatwg.org/#responsebodyinit\\n */\\nvar ResponseBodyInit;\\n\\n\\n/**\\n * @interface\\n * @see https://fetch.spec.whatwg.org/#body\\n */\\nfunction Body() {};\\n\\n/** @type {boolean} */\\nBody.prototype.bodyUsed;\\n\\n/** @return {!Promise<!ArrayBuffer>} */\\nBody.prototype.arrayBuffer = function() {};\\n\\n/** @return {!Promise<!Blob>} */\\nBody.prototype.blob = function() {};\\n\\n/** @return {!Promise<!FormData>} */\\nBody.prototype.formData = function() {};\\n\\n/** @return {!Promise<*>} */\\nBody.prototype.json = function() {};\\n\\n/** @return {!Promise<string>} */\\nBody.prototype.text = function() {};\\n\\n\\n/**\\n * @typedef {!Request|string}\\n * @see https://fetch.spec.whatwg.org/#requestinfo\\n */\\nvar RequestInfo;\\n\\n\\n/**\\n * @param {!RequestInfo} input\\n * @param {!RequestInit=} opt_init\\n * @constructor\\n * @implements {Body}\\n * @see https://fetch.spec.whatwg.org/#request\\n */\\nfunction Request(input, opt_init) {}\\n\\n/** @override */\\nRequest.p";
a.a+="rototype.bodyUsed;\\n\\n/** @override */\\nRequest.prototype.arrayBuffer = function() {};\\n\\n/** @override */\\nRequest.prototype.blob = function() {};\\n\\n/** @override */\\nRequest.prototype.formData = function() {};\\n\\n/** @override */\\nRequest.prototype.json = function() {};\\n\\n/** @override */\\nRequest.prototype.text = function() {};\\n\\n/** @type {string} */\\nRequest.prototype.method;\\n\\n/** @type {string} */\\nRequest.prototype.url;\\n\\n/** @type {!Headers} */\\nRequest.prototype.headers;\\n\\n/** @type {!FetchRequestType} */\\nRequest.prototype.type;\\n\\n/** @type {!RequestDestination} */\\nRequest.prototype.destination;\\n\\n/** @type {string} */\\nRequest.prototype.referrer;\\n\\n/** @type {!RequestMode} */\\nRequest.prototype.mode;\\n\\n/** @type {!RequestCredentials} */\\nRequest.prototype.credentials;\\n\\n/** @type {!RequestCache} */\\nRequest.prototype.cache;\\n\\n/** @type {!RequestRedirect} */\\nRequest.prototype.redirect;\\n\\n/** @type {string} */\\nRequest.prototype.integrity;\\n\\n/** @return {!Request} */\\nRequest.prototype.clone = function() {};\\n\\n\\n/**\\n * @record\\n * @see https://fetch.spec.whatwg.org/#requestinit\\n */\\nfunction RequestInit() {};\\n\\n/** @type {(undefined|string)} */\\nRequestInit.prototype.method;\\n\\n/** @type {(undefined|!HeadersInit)} */\\nRequestInit.prototype.headers;\\n\\n/** @type {(undefined|?BodyInit)} */\\nRequestInit.prototype.body;\\n\\n/** @type {(undefined|string)} */\\nRequestInit.prototype.referrer;\\n\\n/** @type {(undefined|!ReferrerPolicy)} */\\nRequestInit.prototype.referrerPolicy;\\n\\n/** @type {(undefined|!RequestMode)} */\\nRequestInit.prototype.mode;\\n\\n/** @type {(undefined|!RequestCredentials)} */\\nRequestInit.prototype.credentials;\\n\\n/** @type {(undefined|!RequestCache)} */\\nRequestInit.prototype.cache;\\n\\n/** @type {(undefined|!RequestRedirect)} */\\nRequestInit.prototype.redirect;\\n\\n/** @type {(undefined|string)} */\\nRequestInit.prototype.intergrity;\\n\\n/** @type {(undefined|null)} */\\nRequestInit.prototype.window;\\n\\n\\n/**\\n * @enum {string}\\n * @see https://fetch.spec.whatwg.org/#requesttype\\n */\\nvar FetchRequestType = {\\n  NONE: '',\\n  AUDIO: 'audio',\\n  FONT: 'font',\\n  IMAGE: 'image',\\n  SCRIPT: 'script',\\n  STYLE: 'style',\\n  TRACK: 'track',\\n  VIDEO: 'video'\\n};\\n\\n\\n/**\\n * @enum {string}\\n * @see https://fetch.spec.whatwg.org/#requestdestination\\n */\\nvar RequestDestination = {\\n  NONE: '',\\n  DOCUMENT: 'document',\\n  EMBED: 'embed',\\n  FONT: 'font',\\n  IMAGE: 'image',\\n  MANIFEST: 'manifest',\\n  MEDIA: 'media',\\n  OBJECT: 'object',\\n  REPORT: 'report',\\n  SCRIPT: 'script',\\n  SERVICEWORKER: 'serviceworker',\\n  SHAREDWORKER: 'sharedworker',\\n  STYLE: 'style',\\n  WORKER: 'worker',\\n  XSLT: 'xslt'\\n};\\n\\n\\n/**\\n * @enum {string}\\n * @see https://fetch.spec.whatwg.org/#requestmode\\n */\\nvar RequestMode = {\\n  NAVIGATE: 'navigate',\\n  SAME_ORIGIN: 'same-origin',\\n  NO_CORS: 'no-cors',\\n  CORS: 'cors'\\n};\\n\\n\\n/**\\n * @enum {string}\\n * @see https://fetch.spec.whatwg.org/#requestcredentials\\n */\\nvar RequestCredentials = {\\n  OMIT: 'omit',\\n  SAME_ORIGIN: 'same-origin',\\n  INCLUDE: 'include'\\n};\\n\\n\\n/**\\n * @enum {string}\\n * @see https://fetch.spec.whatwg.org/#requestcache\\n */\\nvar RequestCache = {\\n  DEFAULT: 'default',\\n  NO_STORE: 'no-store',\\n  RELOAD: 'reload',\\n  NO_CACHE: 'no-cache',\\n  FORCE_CACHE: 'force-cache',\\n  ONLY_IF_CACHED: 'only-if-cached'\\n};\\n\\n\\n/**\\n * @enum {string}\\n * @see https://fetch.spec.whatwg.org/#requestredirect\\n */\\nvar RequestRedirect = {\\n  FOLLOW: 'follow',\\n  ERROR: 'error',\\n  MANUAL: 'manual'\\n};\\n\\n\\n/**\\n * @param {?ResponseBodyInit=} opt_body\\n * @param {!ResponseInit=} opt_init\\n * @constructor\\n * @implements {Body}\\n * @see https://fetch.spec.whatwg.org/#response\\n */\\nfunction Response(opt_body, opt_init) {}\\n\\n/** @return {!Response} */\\nResponse.error = function() {};\\n\\n/**\\n * @param {string} url\\n * @param {number=} opt_status\\n * @return {!Response}\\n */\\nResponse.redirect = function(url, opt_status) {};\\n\\n/** @override */\\nResponse.prototype.bodyUsed;\\n\\n/** @override */\\nResponse.prototype.arrayBuffer = function() {};\\n\\n/** @override */\\nResponse.prototype.blob = function() {};\\n\\n/** @override */\\nResponse.prototype.formData = function() {};\\n\\n/** @override */\\nResponse.prototype.json = function() {};\\n\\n/** @override */\\nResponse.prototype.text = function() {};\\n\\n/** @type {!ResponseType} */\\nResponse.prototype.type;\\n\\n/** @type {string} */\\nResponse.prototype.url;\\n\\n/** @type {boolean} */\\nResponse.prototype.redirected;\\n\\n/** @type {number} */\\nResponse.prototype.status;\\n\\n/** @type {boolean} */\\nResponse.prototype.ok;\\n\\n/** @type {string} */\\nResponse.prototype.statusText;\\n\\n/** @type {!Headers} */\\nResponse.prototype.headers;\\n\\n/** @type {?ReadableStream} */\\nResponse.prototype.body;\\n\\n/** @type {!Promise<!Headers>} */\\nResponse.prototype.trailer;\\n\\n/** @return {!Response} */\\nResponse.prototype.clone = function() {};\\n\\n\\n/**\\n * @record\\n * @see https://fetch.spec.whatwg.org/#responseinit\\n */\\nfunction ResponseInit() {};\\n\\n/** @type {(undefined|number)} */\\nResponseInit.prototype.status;\\n\\n/** @type {(undefined|string)} */\\nResponseInit.prototype.statusText;\\n\\n/** @type {(undefined|!HeadersInit)} */\\nResponseInit.prototype.headers;\\n\\n\\n/**\\n * @enum {string}\\n * @see https://fetch.spec.whatwg.org/#responsetype\\n */\\nvar ResponseType = {\\n  BASIC: 'basic',\\n  CORS: 'cors',\\n  DEFAULT: 'default',\\n  ERROR: 'error',\\n  OPAQUE: 'opaque',\\n  OPAQUEREDIRECT: 'opaqueredirect'\\n};\\n\\n\\n/**\\n * @param {!RequestInfo} input\\n * @param {!RequestInit=} opt_init\\n * @return {!Promise<!Response>}\\n * @see https://fetch.spec.whatwg.org/#fetch-method\\n */\\nfunction fetch(input, opt_init) {}\\n\\n/**\\n * @param {!RequestInfo} input\\n * @param {!RequestInit=} opt_init\\n * @return {!Promise<!Response>}\\n * @see https://fetch.spec.whatwg.org/#fetch-method\\n */\\nWindow.prototype.fetch = function(input, opt_init) {};\\n\\n/**\\n * @param {!RequestInfo} input\\n * @param {!RequestInit=} opt_init\\n * @return {!Promise<!Response>}\\n * @see https://fetch.spec.whatwg.org/#fetch-method\\n */\\nWorkerGlobalScope.prototype.fetch = function(input, opt_init) {};\\n\",\"externs/streamsapi.js\":\"/*\\n * Copyright 2015 The Closure Compiler Authors\\n *\\n * Licensed under the Apache License, Version 2.0 (the \\\"License\\\");\\n * you may not use this file except in compliance with the License.\\n * You may obtain a copy of the License at\\n *\\n *     http://www.apache.org/licenses/LICENSE-2.0\\n *\\n * Unless required by applicable law or agreed to in writing, software\\n * distributed under the License is distributed on an \\\"AS IS\\\" BASIS,\\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\\n * See the License for the specific language governing permissions and\\n * limitations under the License.\\n */\\n/**\\n * @fileoverview Streams API definitions\\n *\\n * Based on Living Standard \u2014 Last Updated 5 August 2016\\n * https://streams.spec.whatwg.org/commit-snapshots/34ecaadbcce8df9943d7a2cdb7fca4dc25914df4/\\n *\\n * @see https://streams.spec.whatwg.org/\\n * @externs\\n */\\n\\n\\n/** @typedef {{ value:*, done:boolean }} */\\nvar IteratorResult;\\n\\n\\n/**\\n * @typedef {!CountQueuingStrategy|!ByteLengthQueuingStrategy|{\\n *     size: (undefined|function(*): number),\\n *     highWaterMark: number\\n * }}\\n */\\nvar QueuingStrategy;\\n\\n\\n/**\\n * @record\\n */\\nfunction TransformStream() {};\\n\\n/** @type {!WritableStream} */\\nTransformStream.prototype.writable;\\n\\n/** @type {!ReadableStream} */\\nTransformStream.prototype.readable;\\n\\n\\n/**\\n * @record\\n */\\nfunction PipeOptions() {};\\n\\n/** @type {boolean} */\\nPipeOptions.prototype.preventClose;\\n\\n/** @type {boolean} */\\nPipeOptions.prototype.preventAbort;\\n\\n/** @type {boolean} */\\nPipeOptions.prototype.preventCancel;\\n\\n\\n/**\\n * @record\\n */\\nfunction ReadableStreamSource() {};\\n\\n/**\\n * @type {(undefined|\\n *     function((!ReadableByteStreamController|!ReadableStreamDefaultController)):(!IThenable<*>|undefined))}\\n */\\nReadableStreamSource.prototype.start;\\n\\n/**\\n * @type {(undefined|\\n *     function((!ReadableByteStreamController|!ReadableStreamDefaultController)):(!IThenable<*>|undefined))}\\n */\\nReadableStreamSource.prototype.pull;\\n\\n/** @type {(undefined|function(*):(!Promise<*>|undefined))} */\\nReadableStreamSource.prototype.cancel;\\n\\n/** @type {(undefined|string)} */\\nReadableStreamSource.prototype.type;\\n\\n/** @type {(undefined|number)} */\\nReadableStreamSource.prototype.autoAllocateChunkSize;\\n\\n\\n/**\\n * @param {!ReadableStreamSource=} opt_underlyingSource\\n * @param {!QueuingStrategy=} opt_queuingStrategy\\n * @constructor\\n * @see https://streams.spec.whatwg.org/#rs-class\\n */\\nfunction ReadableStream(opt_underlyingSource, opt_queuingStrategy) {};\\n\\n/**\\n * @type {boolean}\\n * @see https://streams.spec.whatwg.org/#rs-locked\\n */\\nReadableStream.prototype.locked;\\n\\n/**\\n * @param {*} reason\\n * @return {!Promise<void>}\\n * @see https://streams.spec.whatwg.org/#rs-cancel\\n */\\nReadableStream.prototype.cancel = function(reason) {};\\n\\n/**\\n * @param {{ mode:(undefined|string) }=} opt_options\\n * @return {(!ReadableStreamDefaultReader|!ReadableStreamBYOBReader)}\\n * @see https://streams.spec.whatwg.org/#rs-get-reader\\n */\\nReadableStream.prototype.getReader = function(opt_options) {};\\n\\n/**\\n * @param {!TransformStream} transform\\n * @param {!PipeOptions=} opt_options\\n * @return {!ReadableStream}\\n * @see https://streams.spec.whatwg.org/#rs-pipe-through\\n */\\nReadableStream.prototype.pipeThrough = function(transform, opt_options) {};\\n\\n/**\\n * @param {!WritableStream} dest\\n * @param {!PipeOptions=} opt_options\\n * @return {!Promise<void>}\\n * @see https://streams.spec.whatwg.org/#rs-pipe-to\\n */\\nReadableStream.prototype.pipeTo = function(dest, opt_options) {};\\n\\n/**\\n * @return {!Array<!ReadableStream>}\\n * @see https://streams.spec.whatwg.org/#rs-tee\\n */\\nReadableStream.prototype.tee = function() {};\\n\\n\\n/**\\n * The ReadableStreamDefaultReader constructor is generally not meant to be used directly;\\n * instead, a stream\u2019s getReader() method should be used.\\n *\\n * @interface\\n * @see https://streams.spec.whatwg.org/#default-reader-class\\n */\\nfunction ReadableStreamDefaultReader() {};\\n\\n/**\\n * @type {!Promise<void>}\\n * @see https://streams.spec.whatwg.org/#default-reader-closed\\n */\\nReadableStreamDefaultReader.prototype.closed;\\n\\n/**\\n * @param {*} reason\\n * @return {!Promise<*>}\\n * @see https://streams.spec.whatwg.org/#default-reader-cancel\\n */\\nReadableStreamDefaultReader.prototype.cancel = function(reason) {};\\n\\n/**\\n * @return {!Promise<!IteratorResult>}\\n * @see https://streams.spec.whatwg.org/#default-reader-read\\n */\\nReadableStreamDefaultReader.prototype.read = function() {};\\n\\n/**\\n * @return {undefined}\\n * @see https://streams.spec.whatwg.org/#default-reader-release-lock\\n */\\nReadableStreamDefaultReader.prototype.releaseLock = function() {};\\n\\n\\n/**\\n * The ReadableStreamBYOBReader constructor is generally not meant to be used\\n * directly; instead, a stream\u2019s getReader() method should be used.\\n *\\n * @interface\\n * @see https://streams.spec.whatwg.org/#byob-reader-class\\n */\\nfunction ReadableStreamBYOBReader() {};\\n\\n/**\\n * @type {!Promise<void>}\\n * @see https://streams.spec.whatwg.org/#byob-reader-closed\\n */\\nReadableStreamBYOBReader.prototype.closed;\\n\\n/**\\n * @param {*} reason\\n * @return {!Promise<*>}\\n * @see https://streams.spec.whatwg.org/#byob-reader-cancel\\n */\\nReadableStreamBYOBReader.prototype.cancel = function(reason) {};\\n\\n/**\\n * @param {!ArrayBufferView} view\\n * @return {!Promise<!IteratorResult>}\\n * @see https://streams.spec.whatwg.org/#byob-reader-read\\n */\\nReadableStreamBYOBReader.prototype.read = function(view) {};\\n\\n/**\\n * @return {undefined}\\n * @see https://streams.spec.whatwg.org/#byob-reader-release-lock\\n */\\nReadableStreamBYOBReader.prototype.releaseLock = function() {};\\n\\n\\n/**\\n * The ReadableStreamDefaultController constructor cannot be used directly;\\n * it only works on a ReadableStream that is in the middle of being constructed.\\n *\\n * @interface\\n * @see https://streams.spec.whatwg.org/#rs-default-controller-class\\n */\\nfunction ReadableStreamDefaultController() {};\\n\\n/**\\n * @type {number}\\n * @see https://streams.spec.whatwg.org/#rs-default-controller-desired-size\\n */\\nReadableStreamDefaultController.prototype.desiredSize;\\n\\n/**\\n * @return {undefined}\\n * @see https://streams.spec.whatwg.org/#rs-default-controller-close\\n */\\nReadableStreamDefaultController.prototype.close = function() {};\\n\\n/**\\n * @param {*} chunk\\n * @return {undefined}\\n * @see https://streams.spec.whatwg.org/#rs-default-controller-enqueue\\n */\\nReadableStreamDefaultController.prototype.enqueue = function(chunk) {};\\n\\n/**\\n * @param {*} err\\n * @return {undefined}\\n * @see https://streams.spec.whatwg.org/#rs-default-controller-error\\n */\\nReadableStreamDefaultController.prototype.error = function(err) {};\\n\\n\\n/**\\n * The ReadableByteStreamController constructor cannot be used directly;\\n * it only works on a ReadableStream that is in the middle of being constructed.\\n *\\n * @interface\\n * @see https://streams.spec.whatwg.org/#rbs-controller-class\\n */\\nfunction ReadableByteStreamController() {};\\n\\n/**\\n * @type {!ReadableStreamBYOBRequest}\\n * @see https://streams.spec.whatwg.org/#rbs-controller-byob-request\\n */\\nReadableByteStreamController.prototype.byobRequest;\\n\\n/**\\n * @type {number}\\n * @see https://streams.spec.whatwg.org/#rbs-controller-desired-size\\n */\\nReadableByteStreamController.prototype.desiredSize;\\n\\n/**\\n * @return {undefined}\\n * @see https://streams.spec.whatwg.org/#rbs-controller-close\\n */\\nReadableByteStreamController.prototype.close = function() {};\\n\\n/**\\n * @param {!ArrayBufferView} chunk\\n * @return {undefined}\\n * @see https://streams.spec.whatwg.org/#rbs-controller-enqueue\\n */\\nReadableByteStreamController.prototype.enqueue = function(chunk) {};\\n\\n/**\\n * @param {*} err\\n * @return {undefined}\\n * @see https://streams.spec.whatwg.org/#rbs-controller-error\\n */\\nReadableByteStreamController.prototype.error = function(err) {};\\n\\n\\n/**\\n * @interface\\n * @see https://streams.spec.whatwg.org/#rs-byob-request-class\\n */\\nfunction ReadableStreamBYOBRequest() {};\\n\\n/**\\n * @type {!ArrayBufferView}\\n * @see https://streams.spec.whatwg.org/#rs-byob-request-view\\n */\\nReadableStreamBYOBRequest.prototype.view;\\n\\n/**\\n * @param {number} bytesWritten\\n * @return {undefined}\\n * @see https://streams.spec.whatwg.org/#rs-byob-request-respond\\n */\\nReadableStreamBYOBRequest.prototype.respond = function(bytesWritten) {};\\n\\n/**\\n * @param {!ArrayBufferView} view\\n * @return {undefined}\\n * @see https://streams.spec.whatwg.org/#rs-byob-request-respond-with-new-view\\n */\\nReadableStreamBYOBRequest.prototype.respondWithNewView = function(view) {};\\n\\n\\n/**\\n * @record\\n */\\nfunction WritableStreamSink() {};\\n\\n/** @type {(undefined|function(!WritableStreamDefaultController):(!IThenable<*>|undefined))}*/\\nWritableStreamSink.prototype.start;\\n\\n/** @type {(undefined|function(!WritableStreamDefaultController):(!IThenable<*>|undefined))}*/\\nWritableStreamSink.prototype.write;\\n\\n/** @type {(undefined|function():(!IThenable<*>|undefined))} */\\nWritableStreamSink.prototype.close;\\n\\n/** @type {(undefined|function(*):(!IThenable<*>|undefined))} */\\nWritableStreamSink.prototype.abort;\\n\\n\\n/**\\n * @param {!WritableStreamSink=} opt_underlyingSink\\n * @param {!QueuingStrategy=} opt_queuingStrategy\\n * @constructor\\n * @see https://streams.spec.whatwg.org/#ws-class\\n */\\nfunction WritableStream(opt_underlyingSink, opt_queuingStrategy) {};\\n\\n/**\\n * @type {boolean}\\n * @see https://streams.spec.whatwg.org/#ws-locked\\n */\\nWritableStream.prototype.locked;\\n\\n/**\\n * @param {*} reason\\n * @return {!Promise<undefined>}\\n * @see https://streams.spec.whatwg.org/#ws-abort\\n */\\nWritableStream.prototype.abort = function(reason) {};\\n\\n/**\\n * @return {!WritableStreamDefaultWriter}\\n * @see https://streams.spec.whatwg.org/#ws-get-writer\\n */\\nWritableStream.prototype.getWriter = function() {};\\n\\n\\n/**\\n * @interface\\n * @see https://streams.spec.whatwg.org/#default-writer-class\\n */\\nfunction WritableStreamDefaultWriter() {};\\n\\n/**\\n * @type {!Promise<undefined>}\\n * @see https://streams.spec.whatwg.org/#default-writer-closed\\n */\\nWritableStreamDefaultWriter.prototype.closed;\\n\\n/**\\n";
a.a+=" * @type {number}\\n * @see https://streams.spec.whatwg.org/#default-writer-desiredSize\\n */\\nWritableStreamDefaultWriter.prototype.desiredSize;\\n\\n/**\\n * @type {!Promise<number>}\\n * @see https://streams.spec.whatwg.org/#default-writer-ready\\n */\\nWritableStreamDefaultWriter.prototype.ready;\\n\\n/**\\n * @param {*} reason\\n * @return {!Promise<undefined>}\\n * @see https://streams.spec.whatwg.org/#default-writer-abort\\n */\\nWritableStreamDefaultWriter.prototype.abort = function(reason) {};\\n\\n/**\\n * @return {!Promise<undefined>}\\n * @see https://streams.spec.whatwg.org/#default-writer-close\\n */\\nWritableStreamDefaultWriter.prototype.close = function() {};\\n\\n/**\\n * @return {undefined}\\n * @see https://streams.spec.whatwg.org/#default-writer-release-lock\\n */\\nWritableStreamDefaultWriter.prototype.releaseLock = function() {};\\n\\n/**\\n * @param {*} chunk\\n * @return {!Promise<undefined>}\\n * @see https://streams.spec.whatwg.org/#default-writer-write\\n */\\nWritableStreamDefaultWriter.prototype.write = function(chunk) {};\\n\\n\\n/**\\n * The WritableStreamDefaultController constructor cannot be used directly;\\n * it only works on a WritableStream that is in the middle of being constructed.\\n *\\n * @interface\\n * @see https://streams.spec.whatwg.org/#ws-default-controller-class\\n */\\nfunction WritableStreamDefaultController() {};\\n\\n/**\\n * @param {*} err\\n * @return {!Promise<undefined>}\\n * @see https://streams.spec.whatwg.org/#ws-default-controller-error\\n */\\nWritableStreamDefaultController.prototype.error = function(err) {};\\n\\n\\n/**\\n * @param {{ highWaterMark:number }} config\\n * @constructor\\n * @see https://streams.spec.whatwg.org/#blqs-class\\n */\\nfunction ByteLengthQueuingStrategy(config) {}\\n\\n/**\\n * If we don't want to be strict we can define chunk as {*}\\n * and return as {number|undefined}\\n *\\n * @param {{ byteLength:number }} chunk\\n * @return {number}\\n * @see https://streams.spec.whatwg.org/#blqs-size\\n */\\nByteLengthQueuingStrategy.prototype.size = function(chunk) {};\\n\\n\\n/**\\n * @param {{ highWaterMark:number }} config\\n * @constructor\\n * @see https://streams.spec.whatwg.org/#cqs-class\\n */\\nfunction CountQueuingStrategy(config) {}\\n\\n/**\\n * @param {*} chunk\\n * @return {number}\\n * @see https://streams.spec.whatwg.org/#cqs-size\\n */\\nCountQueuingStrategy.prototype.size = function(chunk) {};\\n\",\"js/build_polyfill_table.js\":\"#!/usr/bin/env node\\n\\n/*\\n * Copyright 2016 The Closure Compiler Authors.\\n *\\n * Licensed under the Apache License, Version 2.0 (the \\\"License\\\");\\n * you may not use this file except in compliance with the License.\\n * You may obtain a copy of the License at\\n *\\n *     http://www.apache.org/licenses/LICENSE-2.0\\n *\\n * Unless required by applicable law or agreed to in writing, software\\n * distributed under the License is distributed on an \\\"AS IS\\\" BASIS,\\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\\n * See the License for the specific language governing permissions and\\n * limitations under the License.\\n */\\n\\n'use strict';\\n\\nconst fs = require('fs');\\n\\n/**\\n * Provides an ordering to ensure lower-versioned polyfills don't\\n * depend on higher versions.\\n */\\nconst ORDER = ['es3', 'es5', 'es6-impl', 'es6'];\\n\\n/**\\n * Prints to stderr and exits.\\n * @param {string} message\\n */\\nfunction fail(message) {\\n  console.error(message);\\n  process.exit(1);\\n}\\n\\n/**\\n * Builds up a table of polyfills.\\n */\\nclass PolyfillTable {\\n  constructor() {\\n    /** @const {!Map<string, !Array<string>>} */\\n    this.symbolToFile = new Map();\\n    /** @const {!Map<string, !Set<string>>} */\\n    this.deps = new Map();\\n    /** @const {!Map<string, string>} */\\n    this.versions = new Map();\\n    /** @const {!Array<!Array<string>>} */\\n    this.rows = [];\\n  }\\n\\n  /**\\n   * Returns a shim for $jscomp.polyfill.\\n   * @param {string} lib Library currently being scanned.\\n   * @return {function(string, ?Function, string, string)}\\n   */\\n  polyfill(lib) {\\n    return (polyfill, impl, fromLang, toLang) => {\\n      this.symbolToFile.set(polyfill, this.symbolToFile.get(polyfill) || []);\\n      this.symbolToFile.get(polyfill).push(lib);\\n      const row = [polyfill, fromLang, toLang];\\n      if (impl) {\\n        row.push(lib);\\n        this.versions.set(lib, maxVersion(this.versions.get(lib), toLang));\\n      }\\n      this.rows.push(row);\\n    };\\n  }\\n\\n  /**\\n   * Reads a JS file and adds it to the table.\\n   * @param {string} lib Name of the library.\\n   * @param {string} data Contents of the file.\\n   */\\n  readFile(lib, data) {\\n    // Look for 'require' directives and add it to the dependency map.\\n    const deps = new Set();\\n    this.deps.set(lib, deps);\\n    const re = /'require ([^']+)'/g;\\n    let match;\\n    while (match = re.exec(data)) {\\n      match[1].split(' ').forEach(dep => deps.add(dep));\\n    }\\n    // Now run the file.\\n    try {\\n      new Function('$jscomp', data)({\\n        global: global,\\n        polyfill: this.polyfill(lib, table),\\n      });\\n    } catch (err) {\\n      throw new Error('Failed to parse file: ' + lib + ': ' + err);\\n    }\\n  }\\n\\n  /**\\n   * Concatenates the table into a string.  Throws an error if\\n   * there are any symbols provided by multiple files.\\n   * @return {string}\\n   */\\n  build() {\\n    const errors = new Set();\\n    try {\\n      // First check for duplicate provided symbols.\\n      for (const entry of this.symbolToFile.entries()) {\\n        if (entry[1].length != 1) {\\n          errors.add(\\n              `ERROR - ${entry[0]} provided by multiple files:${\\n                  entry[1].map(f => '\\\\n    ' + f).join('')}`);\\n        }\\n      }\\n      // Next ensure all deps have nonincreasing versions.\\n      checkDeps(errors, this.deps, this.versions);\\n      // If there are any errors, we should fail; otherwise concatenate.\\n    } catch (err) {\\n      errors.add('ERROR - uncaught exception: ' + err.stack);\\n    }\\n    if (errors.size) {\\n      fail(Array.from(errors).join('\\\\n\\\\n'));\\n    }\\n    return this.rows.sort().map(row => row.join(' ')).join('\\\\n');\\n  }\\n}\\n\\n/**\\n * Checks dependencies for the following issues:\\n *   (1) cyclic dependencies\\n *   (2) missing dependencies\\n *   (3) version mismatches\\n * @param {!Set<string>} errors\\n * @param {!Map<string, !Set<string>>} deps\\n * @param {!Map<string, string>} versions\\n */\\nfunction checkDeps(errors, deps, versions) {\\n  for (const file of deps.keys()) {\\n    const seen = new Set([file]);\\n    const queue = [file];\\n    const version = versions.get(file);\\n    while (queue.length) {\\n      const next = queue.shift();\\n      for (const dep of deps.get(next) || []) {\\n        if (dep == file) errors.add('ERROR - Cyclic dependency:\\\\n    ' + dep);\\n        if (seen.has(dep)) continue;\\n        seen.add(dep);\\n        queue.push(dep);\\n        if (!deps.has(dep)) {\\n          errors.add(\\n              'ERROR - missing dependency:\\\\n    ' + dep +\\n              ' required from\\\\n    ' + file);\\n        }\\n        const depVersion = versions.get(dep);\\n        if (version && maxVersion(depVersion, version) != version) {\\n          errors.add(\\n              'ERROR - lower version depends on higher version:\\\\n    ' +\\n              version + ': ' + file + '\\\\n    ' + depVersion + ': ' + dep);\\n        }\\n      }\\n    }\\n  }\\n}\\n\\n/**\\n * Returns the higher order of the given versions.\\n * @param {string} version1\\n * @param {string} version2\\n * @return {string} The max version.\\n */\\nfunction maxVersion(version1, version2) {\\n  return ORDER[Math.max(ORDER.indexOf(version1), ORDER.indexOf(version2))];\\n}\\n\\nconst table = new PolyfillTable();\\n\\nconst reads = process.argv.slice(2).map(filename =>\\n  new Promise((fulfill, reject) =>\\n    fs.readFile(filename, 'utf8', (err, data) => {\\n      try {\\n        if (err) {\\n          reject(err);\\n        } else {\\n          const lib = filename.replace(/^.*?\\\\/js\\\\/|\\\\.js$/g, '');\\n          table.readFile(lib, data);\\n          fulfill('');\\n        }\\n      } catch (err) {\\n        reject(err);\\n      }\\n    })));\\n\\nPromise.all(reads).then(\\n    success => console.log(table.build()),\\n    failure => fail(failure.stack));\\n\",\"js/polyfills.txt\":\"Array.from es6-impl es3 es6/array/from\\nArray.of es6-impl es3 es6/array/of\\nArray.prototype.copyWithin es6-impl es3 es6/array/copywithin\\nArray.prototype.entries es6-impl es3 es6/array/entries\\nArray.prototype.fill es6-impl es3 es6/array/fill\\nArray.prototype.find es6-impl es3 es6/array/find\\nArray.prototype.findIndex es6-impl es3 es6/array/findindex\\nArray.prototype.keys es6-impl es3 es6/array/keys\\nArray.prototype.values es6 es3 es6/array/values\\nMap es6-impl es3 es6/map\\nMath.acosh es6-impl es3 es6/math/acosh\\nMath.asinh es6-impl es3 es6/math/asinh\\nMath.atanh es6-impl es3 es6/math/atanh\\nMath.cbrt es6-impl es3 es6/math/cbrt\\nMath.clz32 es6-impl es3 es6/math/clz32\\nMath.cosh es6-impl es3 es6/math/cosh\\nMath.expm1 es6-impl es3 es6/math/exp1m\\nMath.hypot es6-impl es3 es6/math/hypot\\nMath.imul es6-impl es3 es6/math/imul\\nMath.log10 es6-impl es3 es6/math/log10\\nMath.log1p es6-impl es3 es6/math/log1p\\nMath.log2 es6-impl es3 es6/math/log2\\nMath.sign es6-impl es3 es6/math/sign\\nMath.sinh es6-impl es3 es6/math/sinh\\nMath.tanh es6-impl es3 es6/math/tanh\\nMath.trunc es6-impl es3 es6/math/trunc\\nNumber.EPSILON es6-impl es3 es6/number/constants\\nNumber.MAX_SAFE_INTEGER es6-impl es3 es6/number/constants\\nNumber.MIN_SAFE_INTEGER es6-impl es3 es6/number/constants\\nNumber.isFinite es6-impl es3 es6/number/isfinite\\nNumber.isInteger es6-impl es3 es6/number/isinteger\\nNumber.isNaN es6-impl es3 es6/number/isnan\\nNumber.isSafeInteger es6-impl es3 es6/number/issafeinteger\\nObject.assign es6-impl es3 es6/object/assign\\nObject.getOwnPropertySymbols es6-impl es5 es6/object/getownpropertysymbols\\nObject.is es6-impl es3 es6/object/is\\nObject.setPrototypeOf es6 es5 es6/object/setprototypeof\\nPromise es6-impl es3 es6/promise\\nProxy es6 es6\\nReflect.apply es6 es3 es6/reflect/apply\\nReflect.construct es6 es5 es6/reflect/construct\\nReflect.defineProperty es6 es5 es6/reflect/defineproperty\\nReflect.deleteProperty es6 es3 es6/reflect/deleteproperty\\nReflect.get es6 es5 es6/reflect/get\\nReflect.getOwnPropertyDescriptor es6 es5 es6/reflect/getownpropertydescriptor\\nReflect.getPrototypeOf es6 es5 es6/reflect/getprototypeof\\nReflect.has es6 es3 es6/reflect/has\\nReflect.isExtensible es6 es3 es6/reflect/isextensible\\nReflect.ownKeys es6 es5 es6/reflect/ownkeys\\nReflect.preventExtensions es6 es3 es6/reflect/preventextensions\\nReflect.set es6 es5 es6/reflect/set\\nReflect.setPrototypeOf es6 es5 es6/reflect/setprototypeof\\nSet es6-impl es3 es6/set\\nString.fromCodePoint es6-impl es3 es6/string/fromcodepoint\\nString.prototype.codePointAt es6-impl es3 es6/string/codepointat\\nString.prototype.endsWith es6-impl es3 es6/string/endswith\\nString.prototype.includes es6-impl es3 es6/string/includes\\nString.prototype.normalize es6-impl es6-impl\\nString.prototype.repeat es6-impl es3 es6/string/repeat\\nString.prototype.startsWith es6-impl es3 es6/string/startswith\\nString.raw es6-impl es6-impl\\nWeakMap es6-impl es3 es6/weakmap\\nWeakSet es6-impl es3 es6/weakset\\n\",\"js/base.js\":\"/*\\n * Copyright 2012 The Closure Compiler Authors.\\n *\\n * Licensed under the Apache License, Version 2.0 (the \\\"License\\\");\\n * you may not use this file except in compliance with the License.\\n * You may obtain a copy of the License at\\n *\\n *     http://www.apache.org/licenses/LICENSE-2.0\\n *\\n * Unless required by applicable law or agreed to in writing, software\\n * distributed under the License is distributed on an \\\"AS IS\\\" BASIS,\\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\\n * See the License for the specific language governing permissions and\\n * limitations under the License.\\n */\\n\\n\\n/**\\n * @fileoverview The base namespace for code injected by the compiler\\n * at compile-time.\\n *\\n * @author nicksantos@google.com (Nick Santos)\\n */\\n\\n/** @const */\\nvar $jscomp = {};\\n\\n/** @const Locals for goog.scope */\\n$jscomp.scope = {};\\n\",\"js/es6/array.js\":\"/*\\n * Copyright 2016 The Closure Compiler Authors.\\n *\\n * Licensed under the Apache License, Version 2.0 (the \\\"License\\\");\\n * you may not use this file except in compliance with the License.\\n * You may obtain a copy of the License at\\n *\\n *     http://www.apache.org/licenses/LICENSE-2.0\\n *\\n * Unless required by applicable law or agreed to in writing, software\\n * distributed under the License is distributed on an \\\"AS IS\\\" BASIS,\\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\\n * See the License for the specific language governing permissions and\\n * limitations under the License.\\n */\\n\\n/**\\n * @fileoverview Brings in all ES6 Array polyfills.\\n */\\n'require es6/array/copywithin';\\n'require es6/array/entries';\\n'require es6/array/fill';\\n'require es6/array/find';\\n'require es6/array/findindex';\\n'require es6/array/from';\\n'require es6/array/keys';\\n'require es6/array/of';\\n'require es6/array/values';\\n\",\"js/es6/array/copywithin.js\":\"/*\\n * Copyright 2016 The Closure Compiler Authors.\\n *\\n * Licensed under the Apache License, Version 2.0 (the \\\"License\\\");\\n * you may not use this file except in compliance with the License.\\n * You may obtain a copy of the License at\\n *\\n *     http://www.apache.org/licenses/LICENSE-2.0\\n *\\n * Unless required by applicable law or agreed to in writing, software\\n * distributed under the License is distributed on an \\\"AS IS\\\" BASIS,\\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\\n * See the License for the specific language governing permissions and\\n * limitations under the License.\\n */\\n\\n'require util/polyfill';\\n\\n$jscomp.polyfill('Array.prototype.copyWithin', function(orig) {\\n  if (orig) return orig;\\n\\n  /**\\n   * Copies elements from one part of the array to another.\\n   *\\n   * @this {!IArrayLike<VALUE>}\\n   * @param {number} target Start index to copy elements to.\\n   * @param {number} start Start index to copy elements from.\\n   * @param {number=} opt_end Index from which to end copying.\\n   * @return {!IArrayLike<VALUE>} The array, with the copy performed in-place.\\n   * @template VALUE\\n   */\\n  var polyfill = function(target, start, opt_end) {\\n    var len = this.length;\\n    target = Number(target);\\n    start = Number(start);\\n    opt_end = Number(opt_end != null ? opt_end : len);\\n    if (target < start) {\\n      opt_end = Math.min(opt_end, len);\\n      while (start < opt_end) {\\n        if (start in this) {\\n          this[target++] = this[start++];\\n        } else {\\n          delete this[target++];\\n          start++;\\n        }\\n      }\\n    } else {\\n      opt_end = Math.min(opt_end, len + start - target);\\n      target += opt_end - start;\\n      while (opt_end > start) {\\n        if (--opt_end in this) {\\n          this[--target] = this[opt_end];\\n        } else {\\n          delete this[target];\\n        }\\n      }\\n    }\\n    return this;\\n  };\\n\\n  return polyfill;\\n}, 'es6-impl', 'es3');\\n\",\"js/es6/array/entries.js\":\"/*\\n * Copyright 2016 The Closure Compiler Authors.\\n *\\n * Licensed under the Apache License, Version 2.0 (the \\\"License\\\");\\n * you may not use this file except in compliance with the License.\\n * You may obtain a copy of the License at\\n *\\n *     http://www.apache.org/licenses/LICENSE-2.0\\n *\\n * Unless required by applicable law or agreed to in writing, software\\n * distributed under the License is distributed on an \\\"AS IS\\\" BASIS,\\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\\n * See the License for the specific language governing permissions and\\n * limitations under the License.\\n */\\n\\n'require util/polyfill';\\n'require es6/util/iteratorfromarray';\\n\\n$jscomp.polyfill('Array.prototype.entries', function(orig) {\\n  if (orig) return orig;\\n\\n  /**\\n   * Returns an iterator of [key, value] arrays, one for each entry\\n   * in the given array.\\n   *\\n   * @this {!IArrayLike<VALUE>}\\n   * @return {!IteratorIterable<!Array<number|VALUE>>}\\n   * @template VALUE\\n   */\\n  var polyfill = function() {\\n    return $jscomp.iteratorFromArray(\\n        this, function(i, v) { return [i, v]; });\\n  };\\n\\n  return polyfill;\\n}, 'es6-impl', 'es3');\\n\",\"js/es6/array/fill.js\":\"/*\\n * Copyright 2016 The Closure Compiler Authors.\\n *\\n * Licensed under th";
a.a+="e Apache License, Version 2.0 (the \\\"License\\\");\\n * you may not use this file except in compliance with the License.\\n * You may obtain a copy of the License at\\n *\\n *     http://www.apache.org/licenses/LICENSE-2.0\\n *\\n * Unless required by applicable law or agreed to in writing, software\\n * distributed under the License is distributed on an \\\"AS IS\\\" BASIS,\\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\\n * See the License for the specific language governing permissions and\\n * limitations under the License.\\n */\\n\\n'require util/polyfill';\\n\\n$jscomp.polyfill('Array.prototype.fill', function(orig) {\\n  if (orig) return orig;\\n\\n  /**\\n   * Fills elements of an array with a constant value.\\n   *\\n   * @this {!IArrayLike<VALUE>}\\n   * @param {VALUE} value Value to fill.\\n   * @param {number=} opt_start Start index, or zero if omitted.\\n   * @param {number=} opt_end End index, or length if omitted.\\n   * @return {!IArrayLike<VALUE>} The array, with the fill performed in-place.\\n   * @template VALUE\\n   */\\n  var polyfill = function(value, opt_start, opt_end) {\\n    var length = this.length || 0;\\n    if (opt_start < 0) {\\n      opt_start = Math.max(0, length + /** @type {number} */ (opt_start));\\n    }\\n    if (opt_end == null || opt_end > length) opt_end = length;\\n    opt_end = Number(opt_end);\\n    if (opt_end < 0) opt_end = Math.max(0, length + opt_end);\\n    for (var i = Number(opt_start || 0); i < opt_end; i++) {\\n      this[i] = value;\\n    }\\n    return this;\\n  };\\n\\n  return polyfill;\\n}, 'es6-impl', 'es3');\\n\",\"js/es6/array/find.js\":\"/*\\n * Copyright 2016 The Closure Compiler Authors.\\n *\\n * Licensed under the Apache License, Version 2.0 (the \\\"License\\\");\\n * you may not use this file except in compliance with the License.\\n * You may obtain a copy of the License at\\n *\\n *     http://www.apache.org/licenses/LICENSE-2.0\\n *\\n * Unless required by applicable law or agreed to in writing, software\\n * distributed under the License is distributed on an \\\"AS IS\\\" BASIS,\\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\\n * See the License for the specific language governing permissions and\\n * limitations under the License.\\n */\\n\\n'require util/findinternal';\\n'require util/polyfill';\\n\\n$jscomp.polyfill('Array.prototype.find', function(orig) {\\n  if (orig) return orig;\\n\\n  /**\\n   * Finds and returns an element that satisfies the given predicate.\\n   *\\n   * @this {!IArrayLike<VALUE>}\\n   * @param {function(this: THIS, VALUE, number, !IArrayLike<VALUE>): *}\\n   *     callback\\n   * @param {THIS=} opt_thisArg\\n   * @return {VALUE|undefined} The found value, or undefined.\\n   * @template VALUE, THIS\\n   */\\n  var polyfill = function(callback, opt_thisArg) {\\n    return $jscomp.findInternal(this, callback, opt_thisArg).v;\\n  };\\n\\n  return polyfill;\\n}, 'es6-impl', 'es3');\\n\",\"js/es6/array/findindex.js\":\"/*\\n * Copyright 2016 The Closure Compiler Authors.\\n *\\n * Licensed under the Apache License, Version 2.0 (the \\\"License\\\");\\n * you may not use this file except in compliance with the License.\\n * You may obtain a copy of the License at\\n *\\n *     http://www.apache.org/licenses/LICENSE-2.0\\n *\\n * Unless required by applicable law or agreed to in writing, software\\n * distributed under the License is distributed on an \\\"AS IS\\\" BASIS,\\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\\n * See the License for the specific language governing permissions and\\n * limitations under the License.\\n */\\n\\n'require util/findinternal';\\n'require util/polyfill';\\n\\n$jscomp.polyfill('Array.prototype.findIndex', function(orig) {\\n  if (orig) return orig;\\n\\n  /**\\n   * Finds an element that satisfies the given predicate, returning its index.\\n   *\\n   * @this {!IArrayLike<VALUE>}\\n   * @param {function(this: THIS, VALUE, number, !IArrayLike<VALUE>): *}\\n   *     callback\\n   * @param {THIS=} opt_thisArg\\n   * @return {number} The found value, or undefined.\\n   * @template VALUE, THIS\\n   */\\n  var polyfill = function(callback, opt_thisArg) {\\n    return $jscomp.findInternal(this, callback, opt_thisArg).i;\\n  };\\n\\n  return polyfill;\\n}, 'es6-impl', 'es3');\\n\",\"js/es6/array/from.js\":\"/*\\n * Copyright 2016 The Closure Compiler Authors.\\n *\\n * Licensed under the Apache License, Version 2.0 (the \\\"License\\\");\\n * you may not use this file except in compliance with the License.\\n * You may obtain a copy of the License at\\n *\\n *     http://www.apache.org/licenses/LICENSE-2.0\\n *\\n * Unless required by applicable law or agreed to in writing, software\\n * distributed under the License is distributed on an \\\"AS IS\\\" BASIS,\\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\\n * See the License for the specific language governing permissions and\\n * limitations under the License.\\n */\\n\\n'require es6/symbol';\\n'require util/polyfill';\\n\\n$jscomp.polyfill('Array.from', function(orig) {\\n  if (orig) return orig;\\n\\n  /**\\n   * Creates a new Array from an array-like or iterable object.\\n   *\\n   * <p>Polyfills the static function Array.from().  Does not support\\n   * constructor inheritance (i.e. (subclass of Array).from), and\\n   * relies on the compiler to check the validity of inputs rather\\n   * than producing spec-compliant TypeErrors.\\n   *\\n   * @param {!IArrayLike<INPUT>|!Iterable<INPUT>} arrayLike\\n   *     An array-like or iterable.\\n   * @param {(function(this: THIS, INPUT): OUTPUT)=} opt_mapFn\\n   *     Function to call on each argument.\\n   * @param {THIS=} opt_thisArg\\n   *     Object to use as 'this' when calling mapFn.\\n   * @return {!Array<OUTPUT>}\\n   * @template INPUT, OUTPUT, THIS\\n   */\\n  var polyfill = function(arrayLike, opt_mapFn, opt_thisArg) {\\n    $jscomp.initSymbolIterator();\\n    opt_mapFn = opt_mapFn != null ? opt_mapFn : function(x) { return x; };\\n    var result = [];\\n    // NOTE: this is cast to ? because [] on @struct is an error\\n    var iteratorFunction = /** @type {?} */ (arrayLike)[Symbol.iterator];\\n    if (typeof iteratorFunction == 'function') {\\n      arrayLike = iteratorFunction.call(arrayLike);\\n      var next;\\n      while (!(next = arrayLike.next()).done) {\\n        result.push(\\n            opt_mapFn.call(/** @type {?} */ (opt_thisArg), next.value));\\n      }\\n    } else {\\n      var len = arrayLike.length;  // need to support non-iterables\\n      for (var i = 0; i < len; i++) {\\n        result.push(\\n            opt_mapFn.call(/** @type {?} */ (opt_thisArg), arrayLike[i]));\\n      }\\n    }\\n    return result;\\n  };\\n\\n  return polyfill;\\n}, 'es6-impl', 'es3');\\n\",\"js/es6/array/keys.js\":\"/*\\n * Copyright 2016 The Closure Compiler Authors.\\n *\\n * Licensed under the Apache License, Version 2.0 (the \\\"License\\\");\\n * you may not use this file except in compliance with the License.\\n * You may obtain a copy of the License at\\n *\\n *     http://www.apache.org/licenses/LICENSE-2.0\\n *\\n * Unless required by applicable law or agreed to in writing, software\\n * distributed under the License is distributed on an \\\"AS IS\\\" BASIS,\\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\\n * See the License for the specific language governing permissions and\\n * limitations under the License.\\n */\\n\\n'require es6/util/iteratorfromarray';\\n'require util/polyfill';\\n\\n$jscomp.polyfill('Array.prototype.keys', function(orig) {\\n  if (orig) return orig;\\n\\n  /**\\n   * Returns an iterator of keys of the given array.\\n   *\\n   * @this {!IArrayLike}\\n   * @return {!IteratorIterable<number>}\\n   */\\n  var polyfill = function() {\\n    return $jscomp.iteratorFromArray(this, function(i) { return i; });\\n  };\\n\\n  return polyfill;\\n}, 'es6-impl', 'es3');\\n\",\"js/es6/array/of.js\":\"/*\\n * Copyright 2016 The Closure Compiler Authors.\\n *\\n * Licensed under the Apache License, Version 2.0 (the \\\"License\\\");\\n * you may not use this file except in compliance with the License.\\n * You may obtain a copy of the License at\\n *\\n *     http://www.apache.org/licenses/LICENSE-2.0\\n *\\n * Unless required by applicable law or agreed to in writing, software\\n * distributed under the License is distributed on an \\\"AS IS\\\" BASIS,\\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\\n * See the License for the specific language governing permissions and\\n * limitations under the License.\\n */\\n\\n'require es6/array/from';\\n'require util/polyfill';\\n\\n$jscomp.polyfill('Array.of', function(orig) {\\n  if (orig) return orig;\\n\\n  /**\\n   * Creates an array from a fixed set of arguments.\\n   *\\n   * <p>Polyfills the static function Array.of().  Does not support\\n   * constructor inheritance (i.e. (subclass of Array).of).\\n   *\\n   * @param {...T} var_args Elements to include in the array.\\n   * @return {!Array<T>}\\n   * @template T\\n   */\\n  var polyfill = function(var_args) {\\n    return Array.from(arguments);\\n  };\\n\\n  return polyfill;\\n}, 'es6-impl', 'es3');\\n\",\"js/es6/array/values.js\":\"/*\\n * Copyright 2016 The Closure Compiler Authors.\\n *\\n * Licensed under the Apache License, Version 2.0 (the \\\"License\\\");\\n * you may not use this file except in compliance with the License.\\n * You may obtain a copy of the License at\\n *\\n *     http://www.apache.org/licenses/LICENSE-2.0\\n *\\n * Unless required by applicable law or agreed to in writing, software\\n * distributed under the License is distributed on an \\\"AS IS\\\" BASIS,\\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\\n * See the License for the specific language governing permissions and\\n * limitations under the License.\\n */\\n\\n'require es6/util/iteratorfromarray';\\n'require util/polyfill';\\n\\n$jscomp.polyfill('Array.prototype.values', function(orig) {\\n  if (orig) return orig;\\n\\n  /**\\n   * Returns an iterator of values of the given array.\\n   *\\n   * @this {!IArrayLike<VALUE>}\\n   * @return {!IteratorIterable<VALUE>}\\n   * @template VALUE\\n   */\\n  var polyfill = function() {\\n    return $jscomp.iteratorFromArray(this, function(k, v) { return v; });\\n  };\\n\\n  return polyfill;\\n}, 'es6', 'es3');\\n\",\"js/es6/execute_async_generator.js\":\"/*\\n * Copyright 2016 The Closure Compiler Authors.\\n *\\n * Licensed under the Apache License, Version 2.0 (the \\\"License\\\");\\n * you may not use this file except in compliance with the License.\\n * You may obtain a copy of the License at\\n *\\n *     http://www.apache.org/licenses/LICENSE-2.0\\n *\\n * Unless required by applicable law or agreed to in writing, software\\n * distributed under the License is distributed on an \\\"AS IS\\\" BASIS,\\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\\n * See the License for the specific language governing permissions and\\n * limitations under the License.\\n */\\n\\n'require base';\\n\\n/**\\n * Handle the execution of an async function.\\n *\\n * An async function, foo(a, b), will be rewritten as:\\n *\\n * ```\\n * function foo(a, b) {\\n *   let $jscomp$async$arguments = arguments;\\n *   let $jscomp$async$this = this;\\n *   function* $jscomp$async$generator() {\\n *     // original body of foo() with:\\n *     // - await (x) replaced with yield (x)\\n *     // - arguments replaced with $jscomp$async$arguments\\n *     // - this replaced with $jscomp$async$this\\n *   }\\n *   return $jscomp.executeAsyncGenerator($jscomp$async$generator());\\n * }\\n * ```\\n * @param {!Generator<?>} generator\\n * @return {!Promise<?>}\\n */\\n$jscomp.executeAsyncGenerator = function(generator) {\\n  function passValueToGenerator(value) {\\n    return generator.next(value);\\n  }\\n\\n  function passErrorToGenerator(error) {\\n    return generator.throw(error);\\n  }\\n\\n  return new Promise(function(resolve, reject) {\\n    function handleGeneratorRecord(/** !IIterableResult<*> */ genRec) {\\n      if (genRec.done) {\\n        resolve(genRec.value);\\n      } else {\\n        // One can await a non-promise, so genRec.value\\n        // might not already be a promise.\\n        Promise.resolve(genRec.value)\\n            .then(passValueToGenerator, passErrorToGenerator)\\n            .then(handleGeneratorRecord, reject);\\n      }\\n    }\\n\\n    handleGeneratorRecord(generator.next());\\n  });\\n};\\n\",\"js/es6/map.js\":\"/*\\n * Copyright 2016 The Closure Compiler Authors.\\n *\\n * Licensed under the Apache License, Version 2.0 (the \\\"License\\\");\\n * you may not use this file except in compliance with the License.\\n * You may obtain a copy of the License at\\n *\\n *     http://www.apache.org/licenses/LICENSE-2.0\\n *\\n * Unless required by applicable law or agreed to in writing, software\\n * distributed under the License is distributed on an \\\"AS IS\\\" BASIS,\\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\\n * See the License for the specific language governing permissions and\\n * limitations under the License.\\n */\\n\\n'require es6/symbol';\\n'require es6/util/makeiterator';\\n'require es6/weakmap';\\n'require util/owns';\\n'require util/polyfill';\\n\\n/**\\n * Whether to skip the conformance check and simply use the polyfill always.\\n * @define {boolean}\\n */\\n$jscomp.ASSUME_NO_NATIVE_MAP = false;\\n\\n$jscomp.polyfill('Map', function(NativeMap) {\\n\\n  // Perform a conformance check to ensure correct native implementation.\\n  var isConformant = !$jscomp.ASSUME_NO_NATIVE_MAP && (function() {\\n    if (!NativeMap ||\\n        !NativeMap.prototype.entries ||\\n        typeof Object.seal != 'function') {\\n      return false;\\n    }\\n    // Some implementations don't support constructor arguments.\\n    try {\\n      NativeMap = /** @type {function(new: Map, !Iterator=)} */ (NativeMap);\\n      var key = Object.seal({x: 4});\\n      var map = new NativeMap($jscomp.makeIterator([[key, 's']]));\\n      if (map.get(key) != 's' || map.size != 1 || map.get({x: 4}) ||\\n          map.set({x: 4}, 't') != map || map.size != 2) {\\n        return false;\\n      }\\n      var /** !Iterator<!Array> */ iter = map.entries();\\n      var item = iter.next();\\n      if (item.done || item.value[0] != key || item.value[1] != 's') {\\n        return false;\\n      }\\n      item = iter.next();\\n      if (item.done || item.value[0].x != 4 ||\\n          item.value[1] != 't' || !iter.next().done) {\\n        return false;\\n      }\\n      return true;\\n    } catch (err) { // This should hopefully never happen, but let's be safe.\\n      return false;\\n    }\\n  })();\\n  if (isConformant) return NativeMap;\\n\\n  // We depend on Symbol.iterator, so ensure it's loaded.\\n  $jscomp.initSymbol();\\n  $jscomp.initSymbolIterator();\\n\\n\\n  /** @const {!WeakMap<!Object, string>} */\\n  var idMap = new WeakMap();\\n\\n\\n  /**\\n   * Internal record type for entries.\\n   * @record\\n   * @template KEY, VALUE\\n   */\\n  var MapEntry = function() {};\\n\\n\\n  /** @type {!MapEntry<KEY, VALUE>} */\\n  MapEntry.prototype.previous;\\n\\n\\n  /** @type {!MapEntry<KEY, VALUE>} */\\n  MapEntry.prototype.next;\\n\\n\\n  /** @type {?Object} */\\n  MapEntry.prototype.head;\\n\\n\\n  /** @type {KEY} */\\n  MapEntry.prototype.key;\\n\\n\\n  /** @type {VALUE} */\\n  MapEntry.prototype.value;\\n\\n\\n  /**\\n   * Polyfill for the global Map data type.\\n   * @constructor\\n   * @struct\\n   * @extends {Map<KEY, VALUE>}\\n   * @implements {Iterable<!Array<KEY|VALUE>>}\\n   * @template KEY, VALUE\\n   * @param {!Iterable<!Array<KEY|VALUE>>|!Array<!Array<KEY|VALUE>>|null=}\\n   *     opt_iterable Optional data to populate the map.\\n   */\\n  // TODO(sdh): fix param type if heterogeneous arrays ever supported.\\n  var PolyfillMap = function(opt_iterable) {\\n    /** @private {!Object<!Array<!MapEntry<KEY, VALUE>>>} */\\n    this.data_ = {};\\n\\n    /** @private {!MapEntry<KEY, VALUE>} */\\n    this.head_ = createHead();\\n\\n    // Note: this property should not be changed.  If we're willing to give up\\n    // ES3 support, we could define it as a property directly.  It should be\\n    // marked readonly if such an annotation ever comes into existence.\\n    /** @type {number} */\\n    this.size = 0;\\n\\n    if (opt_iterable) {\\n      var iter = $jscomp.makeIterator(opt_iterable);\\n      var entry;\\n      while (!(entry = iter.next()).done) {\\n        var item =\\n            /** @type {!IIterableResult<!Array<KEY|VALUE>>} */ (entry).value;\\n        this.set(/** @type {KEY} */ (item[0]), /** @type {VALUE} */ (item[1]));\\n      }\\n    }\\n  };\\n\\n\\n  /** @override */\\n  PolyfillMap.prototype.set = function(key, value) {\\n";
a.a+="    var r = maybeGetEntry(this, key);\\n    if (!r.list) {\\n      r.list = (this.data_[r.id] = []);\\n    }\\n    if (!r.entry) {\\n      r.entry = {\\n        next: this.head_,\\n        previous: this.head_.previous,\\n        head: this.head_,\\n        key: key,\\n        value: value,\\n      };\\n      r.list.push(r.entry);\\n      this.head_.previous.next = r.entry;\\n      this.head_.previous = r.entry;\\n      this.size++;\\n    } else {\\n      r.entry.value = value;\\n    }\\n    return this;\\n  };\\n\\n\\n  /** @override */\\n  PolyfillMap.prototype.delete = function(key) {\\n    var r = maybeGetEntry(this, key);\\n    if (r.entry && r.list) {\\n      r.list.splice(r.index, 1);\\n      if (!r.list.length) delete this.data_[r.id];\\n      r.entry.previous.next = r.entry.next;\\n      r.entry.next.previous = r.entry.previous;\\n      r.entry.head = null;\\n      this.size--;\\n      return true;\\n    }\\n    return false;\\n  };\\n\\n\\n  /** @override */\\n  PolyfillMap.prototype.clear = function() {\\n    this.data_ = {};\\n    this.head_ = this.head_.previous = createHead();\\n    this.size = 0;\\n  };\\n\\n\\n  /** @override */\\n  PolyfillMap.prototype.has = function(key) {\\n    return !!(maybeGetEntry(this, key).entry);\\n  };\\n\\n\\n  /** @override */\\n  PolyfillMap.prototype.get = function(key) {\\n    var entry = maybeGetEntry(this, key).entry;\\n    // NOTE: this cast is a lie, but so is the extern.\\n    return /** @type {VALUE} */ (entry &&\\n      /** @type {VALUE} */ (entry.value));\\n  };\\n\\n\\n  /** @override */\\n  PolyfillMap.prototype.entries = function() {\\n    return makeIterator(\\n        this, function(entry) { return [entry.key, entry.value]; });\\n  };\\n\\n\\n  /** @override */\\n  PolyfillMap.prototype.keys = function() {\\n    return makeIterator(this, function(entry) { return entry.key; });\\n  };\\n\\n\\n  /** @override */\\n  PolyfillMap.prototype.values = function() {\\n    return makeIterator(this, function(entry) { return entry.value; });\\n  };\\n\\n\\n  /** @override */\\n  PolyfillMap.prototype.forEach = function(callback, opt_thisArg) {\\n    var iter = this.entries();\\n    var item;\\n    while (!(item = iter.next()).done) {\\n      var entry = item.value;\\n      callback.call(\\n          /** @type {?} */ (opt_thisArg),\\n          /** @type {VALUE} */ (entry[1]),\\n          /** @type {KEY} */ (entry[0]),\\n          this);\\n    }\\n  };\\n\\n\\n  /** @type {?} */ (PolyfillMap.prototype)[Symbol.iterator] =\\n      PolyfillMap.prototype.entries;\\n\\n\\n  /**\\n   * Returns an entry or undefined.\\n   * @param {!PolyfillMap<KEY, VALUE>} map\\n   * @param {KEY} key\\n   * @return {{id: string,\\n   *           list: (!Array<!MapEntry<KEY, VALUE>>|undefined),\\n   *           index: number,\\n   *           entry: (!MapEntry<KEY, VALUE>|undefined)}}\\n   * @template KEY, VALUE\\n   */\\n  var maybeGetEntry = function(map, key) {\\n    var id = getId(key);\\n    var list = map.data_[id];\\n    if (list && $jscomp.owns(map.data_, id)) {\\n      for (var index = 0; index < list.length; index++) {\\n        var entry = list[index];\\n        if ((key !== key && entry.key !== entry.key) || key === entry.key) {\\n          return {id: id, list: list, index: index, entry: entry};\\n        }\\n      }\\n    }\\n    return {id: id, list: list, index: -1, entry: undefined};\\n  };\\n\\n\\n  /**\\n   * Maps over the entries with the given function.\\n   * @param {!PolyfillMap<KEY, VALUE>} map\\n   * @param {function(!MapEntry<KEY, VALUE>): T} func\\n   * @return {!IteratorIterable<T>}\\n   * @template KEY, VALUE, T\\n   * @private\\n   */\\n  var makeIterator = function(map, func) {\\n    var entry = map.head_;\\n    return $jscomp.iteratorPrototype(function() {\\n      if (entry) {\\n        while (entry.head != map.head_) {\\n          entry = entry.previous;\\n        }\\n        while (entry.next != entry.head) {\\n          entry = entry.next;\\n          return {done: false, value: func(entry)};\\n        }\\n        entry = null; // make sure depletion is permanent\\n      }\\n      return {done: true, value: void 0};\\n    });\\n  };\\n\\n\\n  /**\\n   * Makes a new \\\"head\\\" element.\\n   * @return {!MapEntry<KEY, VALUE>}\\n   * @template KEY, VALUE\\n   * @suppress {checkTypes} ignore missing key/value for head only\\n   */\\n  var createHead = function() {\\n    var head = /** type {!MapEntry<KEY, VALUE>} */ ({});\\n    head.previous = head.next = head.head = head;\\n    return head;\\n  };\\n\\n\\n  /**\\n   * Counter for generating IDs.\\n   * @private {number}\\n   */\\n  var mapIndex = 0;\\n\\n\\n  /**\\n   * @param {*} obj An extensible object.\\n   * @return {string} A unique ID.\\n   */\\n  var getId = function(obj) {\\n    var type = obj && typeof obj;\\n    if (type == 'object' || type == 'function') {\\n      obj = /** @type {!Object} */ (obj);\\n      if (!idMap.has(obj)) {\\n        var id = '' + (++mapIndex);\\n        idMap.set(obj, id);\\n        return id;\\n      }\\n      return idMap.get(obj);\\n    }\\n    // Add a prefix since obj could be '__proto__';\\n    return 'p_' + obj;\\n  };\\n\\n\\n  return PolyfillMap;\\n}, 'es6-impl', 'es3');\\n\",\"js/es6/math.js\":\"/*\\n * Copyright 2016 The Closure Compiler Authors.\\n *\\n * Licensed under the Apache License, Version 2.0 (the \\\"License\\\");\\n * you may not use this file except in compliance with the License.\\n * You may obtain a copy of the License at\\n *\\n *     http://www.apache.org/licenses/LICENSE-2.0\\n *\\n * Unless required by applicable law or agreed to in writing, software\\n * distributed under the License is distributed on an \\\"AS IS\\\" BASIS,\\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\\n * See the License for the specific language governing permissions and\\n * limitations under the License.\\n */\\n\\n/**\\n * @fileoverview Brings in all ES6 Math polyfills.\\n */\\n'require es6/math/acosh';\\n'require es6/math/asinh';\\n'require es6/math/atanh';\\n'require es6/math/cbrt';\\n'require es6/math/clz32';\\n'require es6/math/cosh';\\n'require es6/math/exp1m';\\n'require es6/math/hypot';\\n'require es6/math/imul';\\n'require es6/math/log10';\\n'require es6/math/log1p';\\n'require es6/math/log2';\\n'require es6/math/sign';\\n'require es6/math/sinh';\\n'require es6/math/tanh';\\n'require es6/math/trunc';\\n\",\"js/es6/math/acosh.js\":\"/*\\n * Copyright 2016 The Closure Compiler Authors.\\n *\\n * Licensed under the Apache License, Version 2.0 (the \\\"License\\\");\\n * you may not use this file except in compliance with the License.\\n * You may obtain a copy of the License at\\n *\\n *     http://www.apache.org/licenses/LICENSE-2.0\\n *\\n * Unless required by applicable law or agreed to in writing, software\\n * distributed under the License is distributed on an \\\"AS IS\\\" BASIS,\\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\\n * See the License for the specific language governing permissions and\\n * limitations under the License.\\n */\\n\\n'require util/polyfill';\\n\\n$jscomp.polyfill('Math.acosh', function(orig) {\\n  if (orig) return orig;\\n\\n  /**\\n   * Computes the inverse hyperbolic cosine.\\n   *\\n   * <p>Polyfills the static function Math.acosh().\\n   *\\n   * @param {number} x Any number, or value that can be coerced to a number.\\n   * @return {number} The inverse hyperbolic cosine of x.\\n   */\\n  var polyfill = function(x) {\\n    x = Number(x);\\n    return Math.log(x + Math.sqrt(x * x - 1));\\n  };\\n\\n  return polyfill;\\n}, 'es6-impl', 'es3');\\n\",\"js/es6/math/asinh.js\":\"/*\\n * Copyright 2016 The Closure Compiler Authors.\\n *\\n * Licensed under the Apache License, Version 2.0 (the \\\"License\\\");\\n * you may not use this file except in compliance with the License.\\n * You may obtain a copy of the License at\\n *\\n *     http://www.apache.org/licenses/LICENSE-2.0\\n *\\n * Unless required by applicable law or agreed to in writing, software\\n * distributed under the License is distributed on an \\\"AS IS\\\" BASIS,\\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\\n * See the License for the specific language governing permissions and\\n * limitations under the License.\\n */\\n\\n'require util/polyfill';\\n\\n$jscomp.polyfill('Math.asinh', function(orig) {\\n  if (orig) return orig;\\n\\n  /**\\n   * Computes the inverse hyperbolic sine.\\n   *\\n   * <p>Polyfills the static function Math.asinh().\\n   *\\n   * @param {number} x Any number, or value that can be coerced to a number.\\n   * @return {number} The inverse hyperbolic sine of x.\\n   */\\n  var polyfill = function(x) {\\n    x = Number(x);\\n    if (x === 0) return x;\\n    var y = Math.log(Math.abs(x) + Math.sqrt(x * x + 1));\\n    return x < 0 ? -y : y;\\n  };\\n\\n  return polyfill;\\n}, 'es6-impl', 'es3');\\n\",\"js/es6/math/atanh.js\":\"/*\\n * Copyright 2016 The Closure Compiler Authors.\\n *\\n * Licensed under the Apache License, Version 2.0 (the \\\"License\\\");\\n * you may not use this file except in compliance with the License.\\n * You may obtain a copy of the License at\\n *\\n *     http://www.apache.org/licenses/LICENSE-2.0\\n *\\n * Unless required by applicable law or agreed to in writing, software\\n * distributed under the License is distributed on an \\\"AS IS\\\" BASIS,\\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\\n * See the License for the specific language governing permissions and\\n * limitations under the License.\\n */\\n\\n'require util/polyfill';\\n'require es6/math/log1p';\\n\\n$jscomp.polyfill('Math.atanh', function(orig) {\\n  if (orig) return orig;\\n  var log1p = Math.log1p;\\n\\n  /**\\n   * Computes the inverse hyperbolic tangent.\\n   *\\n   * <p>Polyfills the static function Math.atanh().\\n   *\\n   * @param {number} x Any number, or value that can be coerced to a number.\\n   * @return {number} The inverse hyperbolic tangent +x.\\n   */\\n  var polyfill = function(x) {\\n    x = Number(x);\\n    return (log1p(x) - log1p(-x)) / 2;\\n  };\\n\\n  return polyfill;\\n}, 'es6-impl', 'es3');\\n\",\"js/es6/math/cbrt.js\":\"/*\\n * Copyright 2016 The Closure Compiler Authors.\\n *\\n * Licensed under the Apache License, Version 2.0 (the \\\"License\\\");\\n * you may not use this file except in compliance with the License.\\n * You may obtain a copy of the License at\\n *\\n *     http://www.apache.org/licenses/LICENSE-2.0\\n *\\n * Unless required by applicable law or agreed to in writing, software\\n * distributed under the License is distributed on an \\\"AS IS\\\" BASIS,\\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\\n * See the License for the specific language governing permissions and\\n * limitations under the License.\\n */\\n\\n'require util/polyfill';\\n\\n$jscomp.polyfill('Math.cbrt', function(orig) {\\n  if (orig) return orig;\\n\\n  /**\\n   * Returns the cube root of the number, handling negatives safely.\\n   *\\n   * <p>Polyfills the static function Math.cbrt().\\n   *\\n   * @param {number} x Any number, or value that can be coerced into a number.\\n   * @return {number} The cube root of x.\\n   */\\n  var polyfill = function(x) {\\n    if (x === 0) return x;\\n    x = Number(x);\\n    var y = Math.pow(Math.abs(x), 1 / 3);\\n    return x < 0 ? -y : y;\\n  };\\n\\n  return polyfill;\\n}, 'es6-impl', 'es3');\\n\",\"js/es6/math/clz32.js\":\"/*\\n * Copyright 2016 The Closure Compiler Authors.\\n *\\n * Licensed under the Apache License, Version 2.0 (the \\\"License\\\");\\n * you may not use this file except in compliance with the License.\\n * You may obtain a copy of the License at\\n *\\n *     http://www.apache.org/licenses/LICENSE-2.0\\n *\\n * Unless required by applicable law or agreed to in writing, software\\n * distributed under the License is distributed on an \\\"AS IS\\\" BASIS,\\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\\n * See the License for the specific language governing permissions and\\n * limitations under the License.\\n */\\n\\n'require util/polyfill';\\n\\n$jscomp.polyfill('Math.clz32', function(orig) {\\n  if (orig) return orig;\\n\\n  /**\\n   * Counts the leading zeros in the 32-bit binary representation.\\n   *\\n   * <p>Polyfills the static function Math.clz32().\\n   *\\n   * @param {number} x Any number, or value that can be coerced to a number.\\n   * @return {number} The number of leading zero bits.\\n   */\\n  var polyfill = function(x) {\\n    // This binary search algorithm is taken from v8.\\n    x = Number(x) >>> 0;  // first ensure we have a 32-bit unsigned integer.\\n    if (x === 0) return 32;\\n    var result = 0;\\n    if ((x & 0xFFFF0000) === 0) {\\n      x <<= 16;\\n      result += 16;\\n    }\\n    if ((x & 0xFF000000) === 0) {\\n      x <<= 8;\\n      result += 8;\\n    }\\n    if ((x & 0xF0000000) === 0) {\\n      x <<= 4;\\n      result += 4;\\n    }\\n    if ((x & 0xC0000000) === 0) {\\n      x <<= 2;\\n      result += 2;\\n    }\\n    if ((x & 0x80000000) === 0) result++;\\n    return result;\\n  };\\n\\n  return polyfill;\\n}, 'es6-impl', 'es3');\\n\",\"js/es6/math/cosh.js\":\"/*\\n * Copyright 2016 The Closure Compiler Authors.\\n *\\n * Licensed under the Apache License, Version 2.0 (the \\\"License\\\");\\n * you may not use this file except in compliance with the License.\\n * You may obtain a copy of the License at\\n *\\n *     http://www.apache.org/licenses/LICENSE-2.0\\n *\\n * Unless required by applicable law or agreed to in writing, software\\n * distributed under the License is distributed on an \\\"AS IS\\\" BASIS,\\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\\n * See the License for the specific language governing permissions and\\n * limitations under the License.\\n */\\n\\n'require util/polyfill';\\n\\n$jscomp.polyfill('Math.cosh', function(orig) {\\n  if (orig) return orig;\\n  var exp = Math.exp;\\n\\n  /**\\n   * Computes the hyperbolic cosine.\\n   *\\n   * <p>Polyfills the static function Math.cosh().\\n   *\\n   * @param {number} x Any number, or value that can be coerced to a number.\\n   * @return {number} The hyperbolic cosine of x.\\n   */\\n  var polyfill = function(x) {\\n    x = Number(x);\\n    return (exp(x) + exp(-x)) / 2;\\n  };\\n\\n  return polyfill;\\n}, 'es6-impl', 'es3');\\n\",\"js/es6/math/exp1m.js\":\"/*\\n * Copyright 2016 The Closure Compiler Authors.\\n *\\n * Licensed under the Apache License, Version 2.0 (the \\\"License\\\");\\n * you may not use this file except in compliance with the License.\\n * You may obtain a copy of the License at\\n *\\n *     http://www.apache.org/licenses/LICENSE-2.0\\n *\\n * Unless required by applicable law or agreed to in writing, software\\n * distributed under the License is distributed on an \\\"AS IS\\\" BASIS,\\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\\n * See the License for the specific language governing permissions and\\n * limitations under the License.\\n */\\n\\n'require util/polyfill';\\n\\n$jscomp.polyfill('Math.expm1', function(orig) {\\n  if (orig) return orig;\\n\\n  /**\\n   * Exponentiates x and then subtracts one.  This is implemented in a\\n   * way that is accurate for numbers close to zero.\\n   *\\n   * <p>Polyfills the static function Math.expm1().\\n   *\\n   * @param {number} x Any number, or value that can be coerced to a number.\\n   * @return {number} The exponential of x, less 1.\\n   */\\n  var polyfill = function(x) {\\n    // This implementation is based on the Taylor expansion\\n    //   exp(x) ~ 1 + x + x^2/2 + x^3/6 + x^4/24 + ...\\n    x = Number(x);\\n    if (x < .25 && x > -.25) {\\n      var y = x;\\n      var d = 1;\\n      var z = x;\\n      var zPrev = 0;\\n      while (zPrev != z) {\\n        y *= x / (++d);\\n        z = (zPrev = z) + y;\\n      }\\n      return z;\\n    }\\n    return Math.exp(x) - 1;\\n  };\\n\\n  return polyfill;\\n}, 'es6-impl', 'es3');\\n\",\"js/es6/math/hypot.js\":\"/*\\n * Copyright 2016 The Closure Compiler Authors.\\n *\\n * Licensed under the Apache License, Version 2.0 (the \\\"License\\\");\\n * you may not use this file except in compliance with the License.\\n * You may obtain a copy of the License at\\n *\\n *     http://www.apache.org/licenses/LICENSE-2.0\\n *\\n * Unless required by applicable law or agreed to in writing, software\\n * distributed under the License is distributed on an \\\"AS IS\\\" BASIS,\\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\\n * See the License for the specific language governing permissions and\\n * limitations under the License.\\n */\\n\\n'require util/polyfill';\\n\\n$jscomp.polyfill('Math.hypot', function(orig) {\\n  if (orig) return orig;\\n\\n  /**\\n   * Returns the sum of its arguments in quadrature.\\n   *\\n   * <p>Polyfills the static function Math.hypot().\\n   *\\n   * @p";
a.a+="aram {number} x Any number, or value that can be coerced to a number.\\n   * @param {number} y Any number, or value that can be coerced to a number.\\n   * @param {...*} var_args More numbers.\\n   * @return {number} The square root of the sum of the squares.\\n   */\\n  var polyfill = function(x, y, var_args) {\\n    // Make the type checker happy.\\n    x = Number(x);\\n    y = Number(y);\\n    var i, z, sum;\\n    // Note: we need to normalize the numbers in case of over/underflow.\\n    var max = Math.max(Math.abs(x), Math.abs(y));\\n    for (i = 2; i < arguments.length; i++) {\\n      max = Math.max(max, Math.abs(arguments[i]));\\n    }\\n    if (max > 1e100 || max < 1e-100) {\\n      x = x / max;\\n      y = y / max;\\n      sum = x * x + y * y;\\n      for (i = 2; i < arguments.length; i++) {\\n        z = Number(arguments[i]) / max;\\n        sum += z * z;\\n      }\\n      return Math.sqrt(sum) * max;\\n    } else {\\n      sum = x * x + y * y;\\n      for (i = 2; i < arguments.length; i++) {\\n        z = Number(arguments[i]);\\n        sum += z * z;\\n      }\\n      return Math.sqrt(sum);\\n    }\\n  };\\n\\n  return polyfill;\\n}, 'es6-impl', 'es3');\\n\",\"js/es6/math/imul.js\":\"/*\\n * Copyright 2016 The Closure Compiler Authors.\\n *\\n * Licensed under the Apache License, Version 2.0 (the \\\"License\\\");\\n * you may not use this file except in compliance with the License.\\n * You may obtain a copy of the License at\\n *\\n *     http://www.apache.org/licenses/LICENSE-2.0\\n *\\n * Unless required by applicable law or agreed to in writing, software\\n * distributed under the License is distributed on an \\\"AS IS\\\" BASIS,\\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\\n * See the License for the specific language governing permissions and\\n * limitations under the License.\\n */\\n\\n'require util/polyfill';\\n\\n$jscomp.polyfill('Math.imul', function(orig) {\\n  if (orig) return orig;\\n\\n  /**\\n   * Performs C-like 32-bit signed integer multiplication.\\n   *\\n   * <p>Polyfills the static function Math.imul().\\n   *\\n   * @param {number} a Any number, or value that can be coerced to a number.\\n   * @param {number} b Any number, or value that can be coerced to a number.\\n   * @return {number} The 32-bit integer product of a and b.\\n   */\\n  var polyfill = function(a, b) {\\n    // This algorithm is taken from v8.\\n    // Note: If multiplication overflows 32 bits, then we risk losing\\n    // precision.  We must therefore break the inputs into 16-bit\\n    // words and multiply separately.\\n    a = Number(a);\\n    b = Number(b);\\n    var ah = (a >>> 16) & 0xFFFF;  // Treat individual words as unsigned\\n    var al = a & 0xFFFF;\\n    var bh = (b >>> 16) & 0xFFFF;\\n    var bl = b & 0xFFFF;\\n    var lh = ((ah * bl + al * bh) << 16) >>> 0;  // >>> 0 casts to uint\\n    return (al * bl + lh) | 0;  // | 0 casts back to signed\\n  };\\n\\n  return polyfill;\\n}, 'es6-impl', 'es3');\\n\",\"js/es6/math/log10.js\":\"/*\\n * Copyright 2016 The Closure Compiler Authors.\\n *\\n * Licensed under the Apache License, Version 2.0 (the \\\"License\\\");\\n * you may not use this file except in compliance with the License.\\n * You may obtain a copy of the License at\\n *\\n *     http://www.apache.org/licenses/LICENSE-2.0\\n *\\n * Unless required by applicable law or agreed to in writing, software\\n * distributed under the License is distributed on an \\\"AS IS\\\" BASIS,\\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\\n * See the License for the specific language governing permissions and\\n * limitations under the License.\\n */\\n\\n'require util/polyfill';\\n\\n$jscomp.polyfill('Math.log10', function(orig) {\\n  if (orig) return orig;\\n\\n  /**\\n   * Returns the base-10 logarithm.\\n   *\\n   * <p>Polyfills the static function Math.log10().\\n   *\\n   * @param {number} x Any number, or value that can be coerced to a number.\\n   * @return {number} The common log of x.\\n   */\\n  var polyfill = function(x) {\\n    return Math.log(x) / Math.LN10;\\n  };\\n\\n  return polyfill;\\n}, 'es6-impl', 'es3');\\n\",\"js/es6/math/log1p.js\":\"/*\\n * Copyright 2016 The Closure Compiler Authors.\\n *\\n * Licensed under the Apache License, Version 2.0 (the \\\"License\\\");\\n * you may not use this file except in compliance with the License.\\n * You may obtain a copy of the License at\\n *\\n *     http://www.apache.org/licenses/LICENSE-2.0\\n *\\n * Unless required by applicable law or agreed to in writing, software\\n * distributed under the License is distributed on an \\\"AS IS\\\" BASIS,\\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\\n * See the License for the specific language governing permissions and\\n * limitations under the License.\\n */\\n\\n'require util/polyfill';\\n\\n$jscomp.polyfill('Math.log1p', function(orig) {\\n  if (orig) return orig;\\n\\n  /**\\n   * Returns the natural logarithm of 1+x, implemented in a way that is\\n   * accurate for numbers close to zero.\\n   *\\n   * <p>Polyfills the static function Math.log1p().\\n   *\\n   * @param {number} x Any number, or value that can be coerced to a number.\\n   * @return {number} The natural log of 1+x.\\n   */\\n  var polyfill = function(x) {\\n    // This implementation is based on the Taylor expansion\\n    //   log(1 + x) ~ x - x^2/2 + x^3/3 - x^4/4 + x^5/5 - ...\\n    x = Number(x);\\n    if (x < 0.25 && x > -0.25) {\\n      var y = x;\\n      var d = 1;\\n      var z = x;\\n      var zPrev = 0;\\n      var s = 1;\\n      while (zPrev != z) {\\n        y *= x;\\n        s *= -1;\\n        z = (zPrev = z) + s * y / (++d);\\n      }\\n      return z;\\n    }\\n    return Math.log(1 + x);\\n  };\\n\\n  return polyfill;\\n}, 'es6-impl', 'es3');\\n\",\"js/es6/math/log2.js\":\"/*\\n * Copyright 2016 The Closure Compiler Authors.\\n *\\n * Licensed under the Apache License, Version 2.0 (the \\\"License\\\");\\n * you may not use this file except in compliance with the License.\\n * You may obtain a copy of the License at\\n *\\n *     http://www.apache.org/licenses/LICENSE-2.0\\n *\\n * Unless required by applicable law or agreed to in writing, software\\n * distributed under the License is distributed on an \\\"AS IS\\\" BASIS,\\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\\n * See the License for the specific language governing permissions and\\n * limitations under the License.\\n */\\n\\n'require util/polyfill';\\n\\n$jscomp.polyfill('Math.log2', function(orig) {\\n  if (orig) return orig;\\n\\n  /**\\n   * Returns the base-2 logarithm.\\n   *\\n   * <p>Polyfills the static function Math.log2().\\n   *\\n   * @param {number} x Any number, or value that can be coerced to a number.\\n   * @return {number} The base-2 log of x.\\n   */\\n  var polyfill = function(x) {\\n    return Math.log(x) / Math.LN2;\\n  };\\n\\n  return polyfill;\\n}, 'es6-impl', 'es3');\\n\",\"js/es6/math/sign.js\":\"/*\\n * Copyright 2016 The Closure Compiler Authors.\\n *\\n * Licensed under the Apache License, Version 2.0 (the \\\"License\\\");\\n * you may not use this file except in compliance with the License.\\n * You may obtain a copy of the License at\\n *\\n *     http://www.apache.org/licenses/LICENSE-2.0\\n *\\n * Unless required by applicable law or agreed to in writing, software\\n * distributed under the License is distributed on an \\\"AS IS\\\" BASIS,\\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\\n * See the License for the specific language governing permissions and\\n * limitations under the License.\\n */\\n\\n'require util/polyfill';\\n\\n$jscomp.polyfill('Math.sign', function(orig) {\\n  if (orig) return orig;\\n\\n  /**\\n   * Returns the sign of the number, indicating whether it is\\n   * positive, negative, or zero.\\n   *\\n   * <p>Polyfills the static function Math.sign().\\n   *\\n   * @param {number} x Any number, or value that can be coerced to a number.\\n   * @return {number} The sign, +1 if x is positive, -1 if x is\\n   *     negative, or 0 if x is zero.\\n   */\\n  var polyfill = function(x) {\\n    x = Number(x);\\n    return x === 0 || isNaN(x) ? x : x > 0 ? 1 : -1;\\n  };\\n\\n  return polyfill;\\n}, 'es6-impl', 'es3');\\n\",\"js/es6/math/sinh.js\":\"/*\\n * Copyright 2016 The Closure Compiler Authors.\\n *\\n * Licensed under the Apache License, Version 2.0 (the \\\"License\\\");\\n * you may not use this file except in compliance with the License.\\n * You may obtain a copy of the License at\\n *\\n *     http://www.apache.org/licenses/LICENSE-2.0\\n *\\n * Unless required by applicable law or agreed to in writing, software\\n * distributed under the License is distributed on an \\\"AS IS\\\" BASIS,\\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\\n * See the License for the specific language governing permissions and\\n * limitations under the License.\\n */\\n\\n'require util/polyfill';\\n\\n$jscomp.polyfill('Math.sinh', function(orig) {\\n  if (orig) return orig;\\n  var exp = Math.exp;\\n\\n  /**\\n   * Computes the hyperbolic sine.\\n   *\\n   * <p>Polyfills the static function Math.sinh().\\n   *\\n   * @param {number} x Any number, or value that can be coerced to a number.\\n   * @return {number} The hyperbolic sine of x.\\n   */\\n  var polyfill = function(x) {\\n    x = Number(x);\\n    if (x === 0) return x;\\n    return (exp(x) - exp(-x)) / 2;\\n  };\\n\\n  return polyfill;\\n}, 'es6-impl', 'es3');\\n\",\"js/es6/math/tanh.js\":\"/*\\n * Copyright 2016 The Closure Compiler Authors.\\n *\\n * Licensed under the Apache License, Version 2.0 (the \\\"License\\\");\\n * you may not use this file except in compliance with the License.\\n * You may obtain a copy of the License at\\n *\\n *     http://www.apache.org/licenses/LICENSE-2.0\\n *\\n * Unless required by applicable law or agreed to in writing, software\\n * distributed under the License is distributed on an \\\"AS IS\\\" BASIS,\\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\\n * See the License for the specific language governing permissions and\\n * limitations under the License.\\n */\\n\\n'require util/polyfill';\\n\\n$jscomp.polyfill('Math.tanh', function(orig) {\\n  if (orig) return orig;\\n\\n  /**\\n   * Computes the hyperbolic tangent.\\n   *\\n   * <p>Polyfills the static function Math.tanh().\\n   *\\n   * @param {number} x Any number, or value that can be coerced to a number.\\n   * @return {number} The hyperbolic tangent of x.\\n   */\\n  var polyfill = function(x) {\\n    x = Number(x);\\n    if (x === 0) return x;\\n    // Ensure exponent is negative to prevent overflow.\\n    var y = Math.exp(-2 * Math.abs(x));\\n    var z = (1 - y) / (1 + y);\\n    return x < 0 ? -z : z;\\n  };\\n\\n  return polyfill;\\n}, 'es6-impl', 'es3');\\n\",\"js/es6/math/trunc.js\":\"/*\\n * Copyright 2016 The Closure Compiler Authors.\\n *\\n * Licensed under the Apache License, Version 2.0 (the \\\"License\\\");\\n * you may not use this file except in compliance with the License.\\n * You may obtain a copy of the License at\\n *\\n *     http://www.apache.org/licenses/LICENSE-2.0\\n *\\n * Unless required by applicable law or agreed to in writing, software\\n * distributed under the License is distributed on an \\\"AS IS\\\" BASIS,\\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\\n * See the License for the specific language governing permissions and\\n * limitations under the License.\\n */\\n\\n'require util/polyfill';\\n\\n$jscomp.polyfill('Math.trunc', function(orig) {\\n  if (orig) return orig;\\n\\n  /**\\n   * Truncates any fractional digits from its argument (towards zero).\\n   *\\n   * <p>Polyfills the static function Math.trunc().\\n   *\\n   * @param {number} x Any number, or value that can be coerced to a number.\\n   * @return {number}\\n   */\\n  var polyfill = function(x) {\\n    x = Number(x);\\n    if (isNaN(x) || x === Infinity || x === -Infinity || x === 0) return x;\\n    var y = Math.floor(Math.abs(x));\\n    return x < 0 ? -y : y;\\n  };\\n\\n  return polyfill;\\n}, 'es6-impl', 'es3');\\n\",\"js/es6/nopolyfill.js\":\"/*\\n * Copyright 2016 The Closure Compiler Authors.\\n *\\n * Licensed under the Apache License, Version 2.0 (the \\\"License\\\");\\n * you may not use this file except in compliance with the License.\\n * You may obtain a copy of the License at\\n *\\n *     http://www.apache.org/licenses/LICENSE-2.0\\n *\\n * Unless required by applicable law or agreed to in writing, software\\n * distributed under the License is distributed on an \\\"AS IS\\\" BASIS,\\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\\n * See the License for the specific language governing permissions and\\n * limitations under the License.\\n */\\n\\n\\n/**\\n * @fileoverview Specifies objects that the compiler does NOT polyfill.\\n * NOTE: this file should never be injected, since all the implementations\\n * are null.\\n */\\n\\n'require util/polyfill';\\n\\n$jscomp.polyfill('Proxy', null, 'es6', 'es6');\\n\\n$jscomp.polyfill('String.raw', null, 'es6-impl', 'es6-impl');\\n$jscomp.polyfill('String.prototype.normalize', null, 'es6-impl', 'es6-impl');\\n\",\"js/es6/number.js\":\"/*\\n * Copyright 2016 The Closure Compiler Authors.\\n *\\n * Licensed under the Apache License, Version 2.0 (the \\\"License\\\");\\n * you may not use this file except in compliance with the License.\\n * You may obtain a copy of the License at\\n *\\n *     http://www.apache.org/licenses/LICENSE-2.0\\n *\\n * Unless required by applicable law or agreed to in writing, software\\n * distributed under the License is distributed on an \\\"AS IS\\\" BASIS,\\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\\n * See the License for the specific language governing permissions and\\n * limitations under the License.\\n */\\n\\n/**\\n * @fileoverview Brings in all ES6 Number polyfills.\\n */\\n'require es6/number/constants';\\n'require es6/number/isfinite';\\n'require es6/number/isinteger';\\n'require es6/number/isnan';\\n'require es6/number/issafeinteger';\\n\",\"js/es6/number/constants.js\":\"/*\\n * Copyright 2016 The Closure Compiler Authors.\\n *\\n * Licensed under the Apache License, Version 2.0 (the \\\"License\\\");\\n * you may not use this file except in compliance with the License.\\n * You may obtain a copy of the License at\\n *\\n *     http://www.apache.org/licenses/LICENSE-2.0\\n *\\n * Unless required by applicable law or agreed to in writing, software\\n * distributed under the License is distributed on an \\\"AS IS\\\" BASIS,\\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\\n * See the License for the specific language governing permissions and\\n * limitations under the License.\\n */\\n\\n'require util/polyfill';\\n\\n\\n$jscomp.polyfill('Number.EPSILON', function(orig) {\\n  /**\\n   * The difference 1 and the smallest number greater than 1.\\n   *\\n   * <p>Polyfills the static field Number.EPSILON.\\n   */\\n  return Math.pow(2, -52);\\n}, 'es6-impl', 'es3');\\n\\n\\n$jscomp.polyfill('Number.MAX_SAFE_INTEGER', function() {\\n  /**\\n   * The maximum safe integer, 2^53 - 1.\\n   *\\n   * <p>Polyfills the static field Number.MAX_SAFE_INTEGER.\\n   */\\n  return 0x1fffffffffffff;\\n}, 'es6-impl', 'es3');\\n\\n\\n$jscomp.polyfill('Number.MIN_SAFE_INTEGER', function() {\\n  /**\\n   * The minimum safe integer, -(2^53 - 1).\\n   *\\n   * <p>Polyfills the static field Number.MIN_SAFE_INTEGER.\\n   */\\n  return -0x1fffffffffffff;\\n}, 'es6-impl', 'es3');\\n\",\"js/es6/number/isfinite.js\":\"/*\\n * Copyright 2016 The Closure Compiler Authors.\\n *\\n * Licensed under the Apache License, Version 2.0 (the \\\"License\\\");\\n * you may not use this file except in compliance with the License.\\n * You may obtain a copy of the License at\\n *\\n *     http://www.apache.org/licenses/LICENSE-2.0\\n *\\n * Unless required by applicable law or agreed to in writing, software\\n * distributed under the License is distributed on an \\\"AS IS\\\" BASIS,\\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\\n * See the License for the specific language governing permissions and\\n * limitations under the License.\\n */\\n\\n'require util/polyfill';\\n\\n$jscomp.polyfill('Number.isFinite', function(orig) {\\n  if (orig) return orig;\\n\\n  /**\\n   * Returns whether the given argument is a finite number.\\n   *\\n   * <p>Polyfills the static function Number.isFinite().\\n   *\\n   * @param {number} x Any value.\\n   * @return {boolean} True if x is a number and not NaN or infinite.\\n   */\\n  var polyfill = function(x) {\\n    if (typeof x !== 'number') return false;\\n    return !isNaN(x) && x !== Infinity && x !== -Infinity;\\n  };\\n\\n  return polyfill;\\n}, 'es6-impl', 'es3');\\n\",\"js/es6/number/";
a.a+="isinteger.js\":\"/*\\n * Copyright 2016 The Closure Compiler Authors.\\n *\\n * Licensed under the Apache License, Version 2.0 (the \\\"License\\\");\\n * you may not use this file except in compliance with the License.\\n * You may obtain a copy of the License at\\n *\\n *     http://www.apache.org/licenses/LICENSE-2.0\\n *\\n * Unless required by applicable law or agreed to in writing, software\\n * distributed under the License is distributed on an \\\"AS IS\\\" BASIS,\\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\\n * See the License for the specific language governing permissions and\\n * limitations under the License.\\n */\\n\\n'require es6/number/isfinite';\\n'require util/polyfill';\\n\\n$jscomp.polyfill('Number.isInteger', function(orig) {\\n  if (orig) return orig;\\n\\n  /**\\n   * Returns whether the given argument is an integer.\\n   *\\n   * <p>Polyfills the static function Number.isInteger().\\n   *\\n   * @param {number} x Any value.\\n   * @return {boolean} True if x is an integer.\\n   */\\n  var polyfill = function(x) {\\n    if (!Number.isFinite(x)) return false;\\n    return x === Math.floor(x);\\n  };\\n\\n  return polyfill;\\n}, 'es6-impl', 'es3');\\n\",\"js/es6/number/isnan.js\":\"/*\\n * Copyright 2016 The Closure Compiler Authors.\\n *\\n * Licensed under the Apache License, Version 2.0 (the \\\"License\\\");\\n * you may not use this file except in compliance with the License.\\n * You may obtain a copy of the License at\\n *\\n *     http://www.apache.org/licenses/LICENSE-2.0\\n *\\n * Unless required by applicable law or agreed to in writing, software\\n * distributed under the License is distributed on an \\\"AS IS\\\" BASIS,\\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\\n * See the License for the specific language governing permissions and\\n * limitations under the License.\\n */\\n\\n'require util/polyfill';\\n\\n$jscomp.polyfill('Number.isNaN', function(orig) {\\n  if (orig) return orig;\\n\\n  /**\\n   * Returns whether the given argument is the value NaN,\\n   * guaranteeing not to coerce to a number first.\\n   *\\n   * <p>Polyfills the static function Number.isNaN().\\n   *\\n   * @param {number} x Any value.\\n   * @return {boolean} True if x is exactly NaN.\\n   */\\n  var polyfill = function(x) {\\n    return typeof x === 'number' && isNaN(x);\\n  };\\n\\n  return polyfill;\\n}, 'es6-impl', 'es3');\\n\",\"js/es6/number/issafeinteger.js\":\"/*\\n * Copyright 2016 The Closure Compiler Authors.\\n *\\n * Licensed under the Apache License, Version 2.0 (the \\\"License\\\");\\n * you may not use this file except in compliance with the License.\\n * You may obtain a copy of the License at\\n *\\n *     http://www.apache.org/licenses/LICENSE-2.0\\n *\\n * Unless required by applicable law or agreed to in writing, software\\n * distributed under the License is distributed on an \\\"AS IS\\\" BASIS,\\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\\n * See the License for the specific language governing permissions and\\n * limitations under the License.\\n */\\n\\n'require es6/number/constants';\\n'require es6/number/isinteger';\\n'require util/polyfill';\\n\\n$jscomp.polyfill('Number.isSafeInteger', function(orig) {\\n  if (orig) return orig;\\n\\n  /**\\n   * Returns whether the given argument is a \\\"safe\\\" integer,\\n   * that is, its magnitude is less than 2^53.\\n   *\\n   * <p>Polyfills the static function Number.isSafeInteger().\\n   *\\n   * @param {number} x Any value.\\n   * @return {boolean} True if x is a safe integer.\\n   */\\n  var polyfill = function(x) {\\n    return Number.isInteger(x) && Math.abs(x) <= Number.MAX_SAFE_INTEGER;\\n  };\\n\\n  return polyfill;\\n}, 'es6-impl', 'es3');\\n\",\"js/es6/object.js\":\"/*\\n * Copyright 2016 The Closure Compiler Authors.\\n *\\n * Licensed under the Apache License, Version 2.0 (the \\\"License\\\");\\n * you may not use this file except in compliance with the License.\\n * You may obtain a copy of the License at\\n *\\n *     http://www.apache.org/licenses/LICENSE-2.0\\n *\\n * Unless required by applicable law or agreed to in writing, software\\n * distributed under the License is distributed on an \\\"AS IS\\\" BASIS,\\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\\n * See the License for the specific language governing permissions and\\n * limitations under the License.\\n */\\n\\n/**\\n * @fileoverview Brings in all ES6 Object polyfills.\\n */\\n'require es6/object/assign';\\n'require es6/object/getownpropertysymbols';\\n'require es6/object/is';\\n'require es6/object/setprototypeof';\\n\",\"js/es6/object/assign.js\":\"/*\\n * Copyright 2016 The Closure Compiler Authors.\\n *\\n * Licensed under the Apache License, Version 2.0 (the \\\"License\\\");\\n * you may not use this file except in compliance with the License.\\n * You may obtain a copy of the License at\\n *\\n *     http://www.apache.org/licenses/LICENSE-2.0\\n *\\n * Unless required by applicable law or agreed to in writing, software\\n * distributed under the License is distributed on an \\\"AS IS\\\" BASIS,\\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\\n * See the License for the specific language governing permissions and\\n * limitations under the License.\\n */\\n\\n'require util/owns';\\n'require util/polyfill';\\n\\n$jscomp.polyfill('Object.assign', function(orig) {\\n  if (orig) return orig;\\n\\n  /**\\n   * Polyfill for Object.assign() method:\\n   * https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/assign\\n   *\\n   * Copies values of all enumerable own properties from one or more\\n   * sources to the given target object, and returns the target.\\n   * @param {!Object} target The target object onto which to copy.\\n   * @param {...?Object} var_args The source objects.\\n   * @return {!Object} The target object is returned.\\n   */\\n  var polyfill = function(target, var_args) {\\n    for (var i = 1; i < arguments.length; i++) {\\n      var source = arguments[i];\\n      if (!source) continue;\\n      for (var key in source) {\\n        if ($jscomp.owns(source, key)) target[key] = source[key];\\n      }\\n    }\\n    return target;\\n  };\\n\\n  return polyfill;\\n}, 'es6-impl', 'es3');\\n\",\"js/es6/object/getownpropertysymbols.js\":\"/*\\n * Copyright 2016 The Closure Compiler Authors.\\n *\\n * Licensed under the Apache License, Version 2.0 (the \\\"License\\\");\\n * you may not use this file except in compliance with the License.\\n * You may obtain a copy of the License at\\n *\\n *     http://www.apache.org/licenses/LICENSE-2.0\\n *\\n * Unless required by applicable law or agreed to in writing, software\\n * distributed under the License is distributed on an \\\"AS IS\\\" BASIS,\\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\\n * See the License for the specific language governing permissions and\\n * limitations under the License.\\n */\\n\\n'require util/polyfill';\\n\\n$jscomp.polyfill('Object.getOwnPropertySymbols', function(orig) {\\n  if (orig) return orig;\\n\\n  // NOTE: The symbol polyfill is a string, so symbols show up in\\n  // Object.getOwnProperytyNames instead.  It's been decided that\\n  // the trade-off of \\\"fixing\\\" this behavior is not worth the costs\\n  // in (a) code size, (b) brittleness, and (c) complexity.\\n  return function() { return []; };\\n}, 'es6-impl', 'es5'); // Same as Object.getOwnPropertyNames\\n\",\"js/es6/object/is.js\":\"/*\\n * Copyright 2016 The Closure Compiler Authors.\\n *\\n * Licensed under the Apache License, Version 2.0 (the \\\"License\\\");\\n * you may not use this file except in compliance with the License.\\n * You may obtain a copy of the License at\\n *\\n *     http://www.apache.org/licenses/LICENSE-2.0\\n *\\n * Unless required by applicable law or agreed to in writing, software\\n * distributed under the License is distributed on an \\\"AS IS\\\" BASIS,\\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\\n * See the License for the specific language governing permissions and\\n * limitations under the License.\\n */\\n\\n'require util/polyfill';\\n\\n$jscomp.polyfill('Object.is', function(orig) {\\n  if (orig) return orig;\\n\\n  /**\\n   * Polyfill for Object.is() method:\\n   * https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/is\\n   *\\n   * Determines whether two values are the same value (that is,\\n   * functionally equivalent).  This is the same as ===-equality,\\n   * except for two cases: 0 is not the same as -0, and NaN is\\n   * the same as NaN.\\n   *\\n   * @param {*} left\\n   * @param {*} right\\n   * @return {boolean}\\n   */\\n  var polyfill = function(left, right) {\\n    if (left === right) {\\n      // Handle the 0 === -0 exception\\n      return (left !== 0) || (1 / left === 1 / /** @type {number} */ (right));\\n    } else {\\n      // Handle the NaN !== NaN exception\\n      return (left !== left) && (right !== right);\\n    }\\n  };\\n\\n  return polyfill;\\n}, 'es6-impl', 'es3');\\n\",\"js/es6/object/setprototypeof.js\":\"/*\\n * Copyright 2016 The Closure Compiler Authors.\\n *\\n * Licensed under the Apache License, Version 2.0 (the \\\"License\\\");\\n * you may not use this file except in compliance with the License.\\n * You may obtain a copy of the License at\\n *\\n *     http://www.apache.org/licenses/LICENSE-2.0\\n *\\n * Unless required by applicable law or agreed to in writing, software\\n * distributed under the License is distributed on an \\\"AS IS\\\" BASIS,\\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\\n * See the License for the specific language governing permissions and\\n * limitations under the License.\\n */\\n\\n'require util/polyfill';\\n\\n\\n$jscomp.polyfill('Object.setPrototypeOf', function(orig) {\\n  if (orig) return orig;\\n\\n  // IE<11 has no way to polyfill this, so don't even try.\\n  if (typeof ''.__proto__ != 'object') return null;\\n\\n  /**\\n   * Polyfill for Object.setPrototypeOf() method:\\n   * https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/setPrototypeOf\\n   *\\n   * Sets the prototype in a \\\"standard\\\" way.\\n   *\\n   * @param {!Object} target Target on which to get the property.\\n   * @param {?Object} proto The new prototype.\\n   * @return {!Object}\\n   */\\n  var polyfill = function(target, proto) {\\n    target.__proto__ = proto;\\n    if (target.__proto__ !== proto) {\\n      throw new TypeError(target + ' is not extensible');\\n    }\\n    return target;\\n  };\\n  return polyfill;\\n}, 'es6', 'es5');\\n\",\"js/es6/promise.js\":\"/*\\n * Copyright 2016 The Closure Compiler Authors.\\n *\\n * Licensed under the Apache License, Version 2.0 (the \\\"License\\\");\\n * you may not use this file except in compliance with the License.\\n * You may obtain a copy of the License at\\n *\\n *     http://www.apache.org/licenses/LICENSE-2.0\\n *\\n * Unless required by applicable law or agreed to in writing, software\\n * distributed under the License is distributed on an \\\"AS IS\\\" BASIS,\\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\\n * See the License for the specific language governing permissions and\\n * limitations under the License.\\n */\\n\\n'require base';\\n'require es6/util/makeiterator';\\n'require util/global';\\n'require util/polyfill';\\n\\n/**\\n * Should we expose AsyncExecutor for testing?\\n * TODO(bradfordcsmith): Set this false here & arrange for it to be set to true\\n * only for tests.\\n * @define {boolean}\\n */\\n$jscomp.EXPOSE_ASYNC_EXECUTOR = true;\\n\\n/**\\n * Should we unconditionally override a native Promise implementation with our\\n * own?\\n * @define {boolean}\\n */\\n$jscomp.FORCE_POLYFILL_PROMISE = false;\\n\\n\\n$jscomp.polyfill('Promise', function(NativePromise) {\\n  // TODO(bradfordcsmith): Do we need to add checks for standards conformance?\\n  //     e.g. The version of FireFox we currently use for testing has a Promise\\n  //     that fails to reject attempts to fulfill it with itself, but that\\n  //     isn't reasonably testable here.\\n  if (NativePromise && !$jscomp.FORCE_POLYFILL_PROMISE) {\\n    return NativePromise;\\n  }\\n\\n  /**\\n    * Schedules code to be executed asynchronously.\\n    * @constructor\\n    * @struct\\n    */\\n  function AsyncExecutor() {\\n    /**\\n     * Batch of functions to execute.\\n     *\\n     * Will be {@code null} initially and immediately after a batch finishes\\n     * executing.\\n     * @private {?Array<function():?>}\\n     */\\n    this.batch_ = null;\\n  }\\n\\n  /**\\n   * Schedule a function to execute asynchronously.\\n   *\\n   * -   The function will execute:\\n   *     -   After the current call stack has completed executing.\\n   *     -   After any functions previously scheduled using this object.\\n   * -   The return value will be ignored.\\n   * -   An exception thrown by the method will be caught and asynchronously\\n   *     rethrown when it cannot interrupt any other code. This class provides\\n   *     no way to catch such exceptions.\\n   * @param {function():?} f\\n   * @return {!AsyncExecutor} this object\\n   */\\n  AsyncExecutor.prototype.asyncExecute = function(f) {\\n    if (this.batch_ == null) {\\n      // no batch created yet, or last batch was fully executed\\n      this.batch_ = [];\\n      this.asyncExecuteBatch_();\\n    }\\n    this.batch_.push(f);\\n    return this;\\n  };\\n\\n  /**\\n   * Schedule execution of the jobs in {@code this.batch_}.\\n   * @private\\n   */\\n  AsyncExecutor.prototype.asyncExecuteBatch_ = function() {\\n    var self = this;\\n    this.asyncExecuteFunction(function() { self.executeBatch_(); });\\n  };\\n\\n  // NOTE: We want to make sure AsyncExecutor will work as expected even if\\n  // testing code should override setTimeout()\\n  /** @const */ var nativeSetTimeout = $jscomp.global['setTimeout'];\\n\\n  /**\\n   * Schedule a function to execute asynchronously as soon as possible.\\n   *\\n   * NOTE: May be overridden for testing.\\n   * @package\\n   * @param {!Function} f\\n   */\\n  AsyncExecutor.prototype.asyncExecuteFunction = function(f) {\\n    nativeSetTimeout(f, 0);\\n  };\\n\\n  /**\\n   * Execute scheduled jobs in a batch until all are executed or the batch\\n   * execution time limit has been reached.\\n   * @private\\n   */\\n  AsyncExecutor.prototype.executeBatch_ = function() {\\n    while (this.batch_ && this.batch_.length) {\\n      var executingBatch = this.batch_;\\n      // Executions scheduled while executing this batch go into a new one to\\n      // avoid the batch array getting too big.\\n      this.batch_ = [];\\n      for (var i = 0; i < executingBatch.length; ++i) {\\n        var f = executingBatch[i];\\n        delete executingBatch[i];  // free memory\\n        try {\\n          f();\\n        } catch (error) {\\n          this.asyncThrow_(error);\\n        }\\n      }\\n    }\\n    // All jobs finished executing, so force scheduling a new batch next\\n    // time asyncExecute() is called.\\n    this.batch_ = null;\\n  };\\n\\n  /**\\n   * @private\\n   * @param {*} exception\\n   */\\n  AsyncExecutor.prototype.asyncThrow_ = function(exception) {\\n    this.asyncExecuteFunction(function() { throw exception; });\\n  };\\n\\n  /**\\n   * @enum {number}\\n   */\\n  var PromiseState = {\\n    /** The Promise is waiting for resolution. */\\n    PENDING: 0,\\n\\n    /** The Promise has been resolved with a fulfillment value. */\\n    FULFILLED: 1,\\n\\n    /** The Promise has been resolved with a rejection reason. */\\n    REJECTED: 2\\n  };\\n\\n\\n  /**\\n   * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Promise\\n   * @param {function(\\n   *             function((TYPE|IThenable<TYPE>|Thenable|null)=),\\n   *             function(*=))} executor\\n   * @constructor\\n   * @extends {Promise<TYPE>}\\n   * @template TYPE\\n   */\\n  var PolyfillPromise = function(executor) {\\n    /** @private {PromiseState} */\\n    this.state_ = PromiseState.PENDING;\\n\\n    /**\\n     * The settled result of the Promise. Immutable once set with either a\\n     * fulfillment value or rejection reason.\\n     * @private {*}\\n     */\\n    this.result_ = undefined;\\n\\n    /**\\n     * These functions must be executed when this promise settles.\\n     * @private {Array<function()>}\\n     */\\n    this.onSettledCallbacks_ = [];\\n\\n    var resolveAndReject = this.createResolveAndReject_();\\n    try {\\n      executor(resolveAndReject.resolve, resolveAndReject.reject);\\n    } catch (e) {\\n      resolveAndReject.reject(e);\\n    }\\n  };\\n\\n\\n  /**\\n   * Create a pair of functions for resolving or rejecting this Promise.\\n   *\\n   * <p>After the reso";
a.a+="lve or reject function has been called once, later calls\\n   * do nothing.\\n   * @private\\n   * @return {{\\n   *     resolve: function((TYPE|IThenable<TYPE>|Thenable|null)=),\\n   *     reject:  function(*=)\\n   * }}\\n   */\\n  PolyfillPromise.prototype.createResolveAndReject_ = function() {\\n    var thisPromise = this;\\n    var alreadyCalled = false;\\n    /**\\n     * @param {function(this:PolyfillPromise<TYPE>, T)} method\\n     * @return {function(T)}\\n     * @template T\\n     */\\n    function firstCallWins(method) {\\n      return function(x) {\\n        if (!alreadyCalled) {\\n          alreadyCalled = true;\\n          method.call(thisPromise, x);\\n        }\\n      };\\n    }\\n    return {\\n      resolve: firstCallWins(this.resolveTo_),\\n      reject: firstCallWins(this.reject_)\\n    };\\n  };\\n\\n\\n  /**\\n   * @private\\n   * @param {*} value\\n   */\\n  PolyfillPromise.prototype.resolveTo_ = function(value) {\\n    if (value === this) {\\n      this.reject_(new TypeError('A Promise cannot resolve to itself'));\\n    } else if (value instanceof PolyfillPromise) {\\n      this.settleSameAsPromise_(/** @type {!PolyfillPromise} */ (value));\\n    } else if (isObject(value)) {\\n      this.resolveToNonPromiseObj_(/** @type {!Object} */ (value));\\n    } else {\\n      this.fulfill_(value);\\n    }\\n  };\\n\\n\\n  /**\\n   * @private\\n   * @param {!Object} obj\\n   */\\n  PolyfillPromise.prototype.resolveToNonPromiseObj_ = function(obj) {\\n    var thenMethod = undefined;\\n\\n    try {\\n      thenMethod = obj.then;\\n    } catch (error) {\\n      this.reject_(error);\\n      return;\\n    }\\n    if (typeof thenMethod == 'function') {\\n      this.settleSameAsThenable_(thenMethod, /** @type {!Thenable} */ (obj));\\n    } else {\\n      this.fulfill_(obj);\\n    }\\n  };\\n\\n\\n  /**\\n   * @param {*} value anything\\n   * @return {boolean}\\n   */\\n  function isObject(value) {\\n    switch (typeof value) {\\n      case 'object':\\n        return value != null;\\n      case 'function':\\n        return true;\\n      default:\\n        return false;\\n    }\\n  }\\n\\n  /**\\n   * Reject this promise for the given reason.\\n   * @private\\n   * @param {*} reason\\n   * @throws {!Error} if this promise is already fulfilled or rejected.\\n   */\\n  PolyfillPromise.prototype.reject_ = function(reason) {\\n    this.settle_(PromiseState.REJECTED, reason);\\n  };\\n\\n  /**\\n   * Fulfill this promise with the given value.\\n   * @private\\n   * @param {!TYPE} value\\n   * @throws {!Error} when this promise is already fulfilled or rejected.\\n   */\\n  PolyfillPromise.prototype.fulfill_ = function(value) {\\n    this.settle_(PromiseState.FULFILLED, value);\\n  };\\n\\n  /**\\n   * Fulfill or reject this promise with the given value/reason.\\n   * @private\\n   * @param {!PromiseState} settledState (FULFILLED or REJECTED)\\n   * @param {*} valueOrReason\\n   * @throws {!Error} when this promise is already fulfilled or rejected.\\n   */\\n  PolyfillPromise.prototype.settle_ = function(settledState, valueOrReason) {\\n    if (this.state_ != PromiseState.PENDING) {\\n      throw new Error(\\n          'Cannot settle(' + settledState + ', ' + valueOrReason |\\n          '): Promise already settled in state' + this.state_);\\n    }\\n    this.state_ = settledState;\\n    this.result_ = valueOrReason;\\n    this.executeOnSettledCallbacks_();\\n  };\\n\\n  PolyfillPromise.prototype.executeOnSettledCallbacks_ = function() {\\n    if (this.onSettledCallbacks_ != null) {\\n      // Allow nulls in callbacks so we can free memory\\n      var /** !Array<?function()> */ callbacks = this.onSettledCallbacks_;\\n\\n      for (var i = 0; i < callbacks.length; ++i) {\\n        (/** @type {function()} */ (callbacks[i])).call();\\n        callbacks[i] = null;  // free memory\\n      }\\n      this.onSettledCallbacks_ = null;  // free memory\\n    }\\n  };\\n\\n  /**\\n   * All promise async execution is managed by a single executor for the\\n   * sake of efficiency.\\n   * @const {!AsyncExecutor}\\n   */\\n  var asyncExecutor = new AsyncExecutor();\\n\\n  /**\\n   * Arrange to settle this promise in the same way as the given thenable.\\n   * @private\\n   * @param {!PolyfillPromise} promise\\n   */\\n  PolyfillPromise.prototype.settleSameAsPromise_ = function(promise) {\\n    var methods = this.createResolveAndReject_();\\n\\n    // Calling then() would create an unnecessary extra promise.\\n    promise.callWhenSettled_(methods.resolve, methods.reject);\\n  };\\n\\n  /**\\n   * Arrange to settle this promise in the same way as the given thenable.\\n   * @private\\n   * @param {!function(\\n   *     function((TYPE|IThenable<TYPE>|Thenable|null)=),\\n   *     function(*=))\\n   * } thenMethod\\n   * @param {!Thenable} thenable\\n   */\\n  PolyfillPromise.prototype.settleSameAsThenable_ = function(\\n      thenMethod, thenable) {\\n    var methods = this.createResolveAndReject_();\\n\\n    // Don't trust an unknown thenable implementation not to throw exceptions.\\n    try {\\n      thenMethod.call(thenable, methods.resolve, methods.reject);\\n    } catch (error) {\\n      methods.reject(error);\\n    }\\n  };\\n\\n  /** @override */\\n  PolyfillPromise.prototype.then = function(onFulfilled, onRejected) {\\n    var resolveChild;\\n    var rejectChild;\\n    var childPromise = new PolyfillPromise(function(resolve, reject) {\\n      resolveChild = resolve;\\n      rejectChild = reject;\\n    });\\n    function createCallback(paramF, defaultF) {\\n      // The spec says to ignore non-function values for onFulfilled and\\n      // onRejected\\n      if (typeof paramF == 'function') {\\n        return function(x) {\\n          try {\\n            resolveChild(paramF(x));\\n          } catch (error) {\\n            rejectChild(error);\\n          }\\n        };\\n      } else {\\n        return defaultF;\\n      }\\n    }\\n\\n    this.callWhenSettled_(\\n        createCallback(onFulfilled, resolveChild),\\n        createCallback(onRejected, rejectChild));\\n    return childPromise;\\n  };\\n\\n  /** @override */\\n  PolyfillPromise.prototype.catch = function(onRejected) {\\n    return this.then(undefined, onRejected);\\n  };\\n\\n\\n  PolyfillPromise.prototype.callWhenSettled_ = function(\\n      onFulfilled, onRejected) {\\n    var thisPromise = this;\\n    function callback() {\\n      switch (thisPromise.state_) {\\n        case PromiseState.FULFILLED:\\n          onFulfilled(thisPromise.result_);\\n          break;\\n        case PromiseState.REJECTED:\\n          onRejected(thisPromise.result_);\\n          break;\\n        default:\\n          throw new Error('Unexpected state: ' + thisPromise.state_);\\n      }\\n    }\\n    if (this.onSettledCallbacks_ == null) {\\n      // we've already settled\\n      asyncExecutor.asyncExecute(callback);\\n    } else {\\n      this.onSettledCallbacks_.push(function() {\\n        asyncExecutor.asyncExecute(callback);\\n      });\\n    }\\n  };\\n\\n  /**\\n   * Returns a PolyfillPromise that resolves to the given value.\\n   *\\n   * <p>If the type of {@code opt_value} (VALUE) is a {@code Thenable<T>},\\n   * the RESULT type will be {@code T}.\\n   * Otherwise, the RESULT type will be the same as VALUE.\\n   *\\n   * <p>NOTE: The RESULT template expression is the same as the one used for\\n   * {@code goog.IThenable.prototype.then()}.\\n   *\\n   * <p>TODO(bradfordcsmith): The spec actually requires {@code resolve} to\\n   * use its {@code this} value as the constructor for building the promise to\\n   * return. Right now we're always using the {@link PolyfillPromise}\\n   * constructor.\\n   * @param {VALUE=} opt_value\\n   * @return {RESULT}\\n   * @template VALUE\\n   * @template RESULT := type('PolyfillPromise',\\n   *     cond(isUnknown(VALUE), unknown(),\\n   *       mapunion(VALUE, (V) =>\\n   *         cond(isTemplatized(V) && sub(rawTypeOf(V), 'IThenable'),\\n   *           templateTypeOf(V, 0),\\n   *           cond(sub(V, 'Thenable'),\\n   *              unknown(),\\n   *              V)))))\\n   * =:\\n   */\\n  PolyfillPromise.resolve = function(opt_value) {\\n    if (opt_value instanceof PolyfillPromise) {\\n      return opt_value;\\n    } else {\\n      return new PolyfillPromise(function(resolve, reject) {\\n        resolve(opt_value);\\n      });\\n    }\\n  };\\n\\n\\n  /**\\n   * @param {*=} opt_reason\\n   * @return {!Promise<?>}\\n   */\\n  PolyfillPromise.reject = function(opt_reason) {\\n    return new PolyfillPromise(function(resolve, reject) {\\n      reject(opt_reason);\\n    });\\n  };\\n\\n\\n  /**\\n   * @param {!Array<(TYPE|!IThenable<TYPE>)>} thenablesOrValues\\n   * @return {!Promise<TYPE>} A Promise that receives the result of the\\n   *     first Promise (or Promise-like) input to settle immediately after it\\n   *     settles.\\n   * @template TYPE\\n   */\\n  PolyfillPromise.race = function(thenablesOrValues) {\\n    return new PolyfillPromise(function(resolve, reject) {\\n      var iterator =\\n          $jscomp.makeIterator(thenablesOrValues);\\n      for (var /** !IIterableResult<*> */ iterRec = iterator.next();\\n           !iterRec.done;\\n           iterRec = iterator.next()) {\\n        // Using Promise.resolve() allows us to treat all elements the same way.\\n        // NOTE: Promise.resolve(promise) always returns the argument unchanged.\\n        // Using .callWhenSettled_() instead of .then() avoids creating an\\n        // unnecessary extra promise.\\n        PolyfillPromise.resolve(iterRec.value)\\n            .callWhenSettled_(resolve, reject);\\n      }\\n    });\\n  };\\n\\n\\n  /**\\n   * @template T\\n   * @param {!Array<T|!Promise<T>>|!Iterable<T|!Promise<T>>} thenablesOrValues\\n   * @return {!Promise<!Array<T>>}\\n   */\\n  PolyfillPromise.all = function(thenablesOrValues) {\\n    var iterator = $jscomp.makeIterator(thenablesOrValues);\\n    var /** !IIterableResult<*> */ iterRec = iterator.next();\\n\\n    if (iterRec.done) {\\n      return PolyfillPromise.resolve([]);\\n    } else {\\n      return new PolyfillPromise(function(resolveAll, rejectAll) {\\n        var resultsArray = [];\\n        var unresolvedCount = 0;\\n\\n        function onFulfilled(i) {\\n          return function(ithResult) {\\n            resultsArray[i] = ithResult;\\n            unresolvedCount--;\\n            if (unresolvedCount == 0) {\\n              resolveAll(resultsArray);\\n            }\\n          };\\n        }\\n\\n        do {\\n          resultsArray.push(undefined);\\n          unresolvedCount++;\\n          // Using Promise.resolve() allows us to treat all elements the same\\n          // way.\\n          // NOTE: Promise.resolve(promise) always returns the argument\\n          // unchanged. Using .callWhenSettled_() instead of .then() avoids\\n          // creating an unnecessary extra promise.\\n          PolyfillPromise.resolve(iterRec.value)\\n              .callWhenSettled_(\\n                  onFulfilled(resultsArray.length - 1), rejectAll);\\n          iterRec = iterator.next();\\n        } while (!iterRec.done);\\n      });\\n    }\\n  };\\n\\n  if ($jscomp.EXPOSE_ASYNC_EXECUTOR) {\\n    // expose AsyncExecutor so it can be tested independently.\\n    PolyfillPromise['$jscomp$new$AsyncExecutor'] = function() {\\n      return new AsyncExecutor();\\n    };\\n  }\\n\\n  return PolyfillPromise;\\n}, 'es6-impl', 'es3');\\n\",\"js/es6/reflect.js\":\"/*\\n * Copyright 2016 The Closure Compiler Authors.\\n *\\n * Licensed under the Apache License, Version 2.0 (the \\\"License\\\");\\n * you may not use this file except in compliance with the License.\\n * You may obtain a copy of the License at\\n *\\n *     http://www.apache.org/licenses/LICENSE-2.0\\n *\\n * Unless required by applicable law or agreed to in writing, software\\n * distributed under the License is distributed on an \\\"AS IS\\\" BASIS,\\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\\n * See the License for the specific language governing permissions and\\n * limitations under the License.\\n */\\n\\n/**\\n * @fileoverview Rolls together all ES6 Reflect polyfills.\\n */\\n'require es6/reflect/apply';\\n'require es6/reflect/construct';\\n'require es6/reflect/defineproperty';\\n'require es6/reflect/deleteproperty';\\n'require es6/reflect/get';\\n'require es6/reflect/getownpropertydescriptor';\\n'require es6/reflect/getprototypeof';\\n'require es6/reflect/has';\\n'require es6/reflect/isextensible';\\n'require es6/reflect/ownkeys';\\n'require es6/reflect/preventextensions';\\n'require es6/reflect/set';\\n'require es6/reflect/setprototypeof';\\n\",\"js/es6/reflect/apply.js\":\"/*\\n * Copyright 2016 The Closure Compiler Authors.\\n *\\n * Licensed under the Apache License, Version 2.0 (the \\\"License\\\");\\n * you may not use this file except in compliance with the License.\\n * You may obtain a copy of the License at\\n *\\n *     http://www.apache.org/licenses/LICENSE-2.0\\n *\\n * Unless required by applicable law or agreed to in writing, software\\n * distributed under the License is distributed on an \\\"AS IS\\\" BASIS,\\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\\n * See the License for the specific language governing permissions and\\n * limitations under the License.\\n */\\n\\n'require util/polyfill';\\n\\n\\n$jscomp.polyfill('Reflect.apply', function(orig) {\\n  if (orig) return orig;\\n  var apply = Function.prototype.apply;\\n\\n  /**\\n   * Polyfill for Reflect.apply() method:\\n   * https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Reflect/apply\\n   *\\n   * Calls a target function with arguments as specified, just\\n   * as Function.prototype.apply.\\n   *\\n   * @param {function(this: THIS, ...*): RESULT} target The function to call.\\n   * @param {THIS} thisArg The 'this' argument.\\n   * @param {!Array} argList The arguments as a list.\\n   * @return {RESULT} The result of the function call.\\n   * @template THIS, RESULT\\n   */\\n  var polyfill = function(target, thisArg, argList) {\\n    return apply.call(target, thisArg, argList);\\n  };\\n  return polyfill;\\n}, 'es6', 'es3');\\n\",\"js/es6/reflect/construct.js\":\"/*\\n * Copyright 2016 The Closure Compiler Authors.\\n *\\n * Licensed under the Apache License, Version 2.0 (the \\\"License\\\");\\n * you may not use this file except in compliance with the License.\\n * You may obtain a copy of the License at\\n *\\n *     http://www.apache.org/licenses/LICENSE-2.0\\n *\\n * Unless required by applicable law or agreed to in writing, software\\n * distributed under the License is distributed on an \\\"AS IS\\\" BASIS,\\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\\n * See the License for the specific language governing permissions and\\n * limitations under the License.\\n */\\n\\n'require es6/reflect/apply';\\n'require util/polyfill';\\n\\n\\n$jscomp.polyfill('Reflect.construct', function(orig) {\\n  if (orig) return orig;\\n\\n  /**\\n   * Polyfill for Reflect.construct() method:\\n   * https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Reflect/construct\\n   *\\n   * Calls a constructor as with the 'new' operator.\\n   * TODO(sdh): how to type 'target' with (new: TARGET) if opt_newTarget missing?\\n   *\\n   * @param {function(new: ?, ...?)} target The constructor to call.\\n   * @param {!Array} argList The arguments as a list.\\n   * @param {function(new: TARGET, ...?)=} opt_newTarget The constructor to instantiate.\\n   * @return {TARGET} The result of the function call.\\n   * @template TARGET\\n   */\\n  var polyfill = function(target, argList, opt_newTarget) {\\n    // if (arguments.length < 3 || opt_newTarget == target) {\\n    //   return new target(...argList);\\n    // }\\n    if (opt_newTarget === undefined) opt_newTarget = target;\\n    var proto = opt_newTarget.prototype || Object.prototype;\\n    var obj = Object.create(proto);\\n    var out = Reflect.apply(target, obj, argList);\\n    return out || obj;\\n  };\\n  return polyfill;\\n}, 'es6', 'es5'); // ES5: Requires Object.create\\n\",\"js/es6/reflect/defineproperty.js\":\"/*\\n * Copyright 2016 The Closure Compiler Authors.\\n *\\n * Licensed under the Apache License, Version 2.0 (the \\\"License\\\");\\n * you may not use this file except in compliance with the License.\\n * You may obtain a copy of the License at\\n *\\n *     http://www.apache.org/licenses/LICENSE-2.0\\n *\\n * Unless required by applicable law or agreed to in writing, software\\n * distributed under the License is distributed on an \\\"AS IS\\\" BASIS,\\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\\n * See the License for the specific language governing permissions and\\n * limitations under the License.\\n */\\n\\n'require util/polyfill';\\n\\n\\n$jscomp.polyfill(";
a.a+="'Reflect.defineProperty', function(orig) {\\n  if (orig) return orig;\\n\\n  /**\\n   * Polyfill for Reflect.defineProperty() method:\\n   * https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Reflect/defineProperty\\n   *\\n   * Version of Object.defineProperty that returns a boolean.\\n   *\\n   * @param {!Object} target Target on which to define the property.\\n   * @param {string} propertyKey Name of the property to define.\\n   * @param {!ObjectPropertyDescriptor} attributes Property attributes.\\n   * @return {boolean} Whether the property was defined.\\n   */\\n  var polyfill = function(target, propertyKey, attributes) {\\n    try {\\n      Object.defineProperty(target, propertyKey, attributes);\\n      var desc = Object.getOwnPropertyDescriptor(target, propertyKey);\\n      if (!desc) return false;\\n      return desc.configurable === (attributes.configurable || false) &&\\n          desc.enumerable === (attributes.enumerable || false) &&\\n          ('value' in desc ?\\n              desc.value === attributes.value &&\\n                  desc.writable === (attributes.writable || false) :\\n              desc.get === attributes.get &&\\n                  desc.set === attributes.set);\\n    } catch (err) {\\n      return false;\\n    }\\n  };\\n  return polyfill;\\n}, 'es6', 'es5'); // ES5: Requires Object.defineProperty\\n\",\"js/es6/reflect/deleteproperty.js\":\"/*\\n * Copyright 2016 The Closure Compiler Authors.\\n *\\n * Licensed under the Apache License, Version 2.0 (the \\\"License\\\");\\n * you may not use this file except in compliance with the License.\\n * You may obtain a copy of the License at\\n *\\n *     http://www.apache.org/licenses/LICENSE-2.0\\n *\\n * Unless required by applicable law or agreed to in writing, software\\n * distributed under the License is distributed on an \\\"AS IS\\\" BASIS,\\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\\n * See the License for the specific language governing permissions and\\n * limitations under the License.\\n */\\n\\n'require util/owns';\\n'require util/polyfill';\\n\\n\\n$jscomp.polyfill('Reflect.deleteProperty', function(orig) {\\n  if (orig) return orig;\\n\\n  /**\\n   * Polyfill for Reflect.deleteProperty() method:\\n   * https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Reflect/deleteProperty\\n   *\\n   * Applies the 'delete' operator as a function.\\n   *\\n   * @param {!Object} target Target on which to delete the property.\\n   * @param {string} propertyKey Name of the property to delete.\\n   * @return {boolean} Whether the property was deleted.\\n   */\\n  var polyfill = function(target, propertyKey) {\\n    if (!$jscomp.owns(target, propertyKey)) {\\n      return true;\\n    }\\n    try {\\n      return delete target[propertyKey];\\n    } catch (err) {\\n      return false;\\n    }\\n  };\\n  return polyfill;\\n}, 'es6', 'es3');\\n\",\"js/es6/reflect/get.js\":\"/*\\n * Copyright 2016 The Closure Compiler Authors.\\n *\\n * Licensed under the Apache License, Version 2.0 (the \\\"License\\\");\\n * you may not use this file except in compliance with the License.\\n * You may obtain a copy of the License at\\n *\\n *     http://www.apache.org/licenses/LICENSE-2.0\\n *\\n * Unless required by applicable law or agreed to in writing, software\\n * distributed under the License is distributed on an \\\"AS IS\\\" BASIS,\\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\\n * See the License for the specific language governing permissions and\\n * limitations under the License.\\n */\\n\\n'require util/finddescriptor';\\n'require util/polyfill';\\n\\n\\n$jscomp.polyfill('Reflect.get', function(orig) {\\n  if (orig) return orig;\\n\\n  /**\\n   * Polyfill for Reflect.get() method:\\n   * https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Reflect/get\\n   *\\n   * Applies the 'getprop' operator as a function.\\n   *\\n   * @param {!Object} target Target on which to get the property.\\n   * @param {string} propertyKey Name of the property to get.\\n   * @param {!Object=} opt_receiver An optional 'this' to use for a getter.\\n   * @return {*} The value of the property.\\n   */\\n  var polyfill = function(target, propertyKey, opt_receiver) {\\n    if (arguments.length <= 2) {\\n      return target[propertyKey];\\n    }\\n    var property = $jscomp.findDescriptor(target, propertyKey);\\n    if (property) {\\n      return property.get ? property.get.call(opt_receiver) : property.value;\\n    }\\n    return undefined;\\n  };\\n  return polyfill;\\n}, 'es6', 'es5'); // ES5: findDescriptor requires getPrototypeOf\\n\",\"js/es6/reflect/getownpropertydescriptor.js\":\"/*\\n * Copyright 2016 The Closure Compiler Authors.\\n *\\n * Licensed under the Apache License, Version 2.0 (the \\\"License\\\");\\n * you may not use this file except in compliance with the License.\\n * You may obtain a copy of the License at\\n *\\n *     http://www.apache.org/licenses/LICENSE-2.0\\n *\\n * Unless required by applicable law or agreed to in writing, software\\n * distributed under the License is distributed on an \\\"AS IS\\\" BASIS,\\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\\n * See the License for the specific language governing permissions and\\n * limitations under the License.\\n */\\n\\n'require util/polyfill';\\n\\n\\n$jscomp.polyfill('Reflect.getOwnPropertyDescriptor', function(orig) {\\n  // NOTE: We don't make guarantees about correct throwing behavior.\\n  // Non-object arguments should be prevented by the type checker.\\n  return orig || Object.getOwnPropertyDescriptor;\\n}, 'es6', 'es5'); // ES5: Requires Object.getOwnPropertyDescriptor\\n\",\"js/es6/reflect/getprototypeof.js\":\"/*\\n * Copyright 2016 The Closure Compiler Authors.\\n *\\n * Licensed under the Apache License, Version 2.0 (the \\\"License\\\");\\n * you may not use this file except in compliance with the License.\\n * You may obtain a copy of the License at\\n *\\n *     http://www.apache.org/licenses/LICENSE-2.0\\n *\\n * Unless required by applicable law or agreed to in writing, software\\n * distributed under the License is distributed on an \\\"AS IS\\\" BASIS,\\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\\n * See the License for the specific language governing permissions and\\n * limitations under the License.\\n */\\n\\n'require util/polyfill';\\n\\n\\n$jscomp.polyfill('Reflect.getPrototypeOf', function(orig) {\\n  // NOTE: We don't make guarantees about correct throwing behavior.\\n  // Non-object arguments should be prevented by the type checker.\\n  return orig || Object.getPrototypeOf;\\n}, 'es6', 'es5'); // ES5: Requires Object.getPrototypeOf\\n\",\"js/es6/reflect/has.js\":\"/*\\n * Copyright 2016 The Closure Compiler Authors.\\n *\\n * Licensed under the Apache License, Version 2.0 (the \\\"License\\\");\\n * you may not use this file except in compliance with the License.\\n * You may obtain a copy of the License at\\n *\\n *     http://www.apache.org/licenses/LICENSE-2.0\\n *\\n * Unless required by applicable law or agreed to in writing, software\\n * distributed under the License is distributed on an \\\"AS IS\\\" BASIS,\\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\\n * See the License for the specific language governing permissions and\\n * limitations under the License.\\n */\\n\\n'require util/polyfill';\\n\\n\\n$jscomp.polyfill('Reflect.has', function(orig) {\\n  if (orig) return orig;\\n\\n  /**\\n   * Polyfill for Reflect.has() method:\\n   * https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Reflect/has\\n   *\\n   * Applies the 'in' operator as a function.\\n   *\\n   * @param {!Object} target\\n   * @param {*} propertyKey\\n   * @return {boolean}\\n   */\\n  var polyfill = function(target, propertyKey) {\\n    return propertyKey in target;\\n  };\\n  return polyfill;\\n}, 'es6', 'es3');\\n\",\"js/es6/reflect/isextensible.js\":\"/*\\n * Copyright 2016 The Closure Compiler Authors.\\n *\\n * Licensed under the Apache License, Version 2.0 (the \\\"License\\\");\\n * you may not use this file except in compliance with the License.\\n * You may obtain a copy of the License at\\n *\\n *     http://www.apache.org/licenses/LICENSE-2.0\\n *\\n * Unless required by applicable law or agreed to in writing, software\\n * distributed under the License is distributed on an \\\"AS IS\\\" BASIS,\\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\\n * See the License for the specific language governing permissions and\\n * limitations under the License.\\n */\\n\\n'require util/polyfill';\\n\\n\\n$jscomp.polyfill('Reflect.isExtensible', function(orig) {\\n  if (orig) return orig;\\n  if (typeof Object.isExtensible == 'function') {\\n    return Object.isExtensible;\\n  }\\n  return function() { return true; };\\n}, 'es6', 'es3');\\n\",\"js/es6/reflect/ownkeys.js\":\"/*\\n * Copyright 2016 The Closure Compiler Authors.\\n *\\n * Licensed under the Apache License, Version 2.0 (the \\\"License\\\");\\n * you may not use this file except in compliance with the License.\\n * You may obtain a copy of the License at\\n *\\n *     http://www.apache.org/licenses/LICENSE-2.0\\n *\\n * Unless required by applicable law or agreed to in writing, software\\n * distributed under the License is distributed on an \\\"AS IS\\\" BASIS,\\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\\n * See the License for the specific language governing permissions and\\n * limitations under the License.\\n */\\n\\n'require util/polyfill';\\n'require es6/object/getownpropertysymbols';\\n\\n\\n$jscomp.polyfill('Reflect.ownKeys', function(orig) {\\n  if (orig) return orig;\\n\\n  var symbolPrefix = 'jscomp_symbol_';\\n  function isSymbol(key) {\\n    return key.substring(0, symbolPrefix.length) == symbolPrefix;\\n  }\\n\\n  /**\\n   * Polyfill for Reflect.ownKeys() method:\\n   * https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Reflect/ownKeys\\n   *\\n   * Returns an array of the object's own property keys.\\n   *\\n   * @param {!Object} target\\n   * @return {!Array<(string|symbol)>}\\n   */\\n  var polyfill = function(target) {\\n    var keys = [];\\n    var names = Object.getOwnPropertyNames(target);\\n    var symbols = Object.getOwnPropertySymbols(target);\\n    for (var i = 0; i < names.length; i++) {\\n      (isSymbol(names[i]) ? symbols : keys).push(names[i]);\\n    }\\n    return keys.concat(symbols);\\n  };\\n  return polyfill;\\n}, 'es6', 'es5'); // ES5: Requires Object.getOwnPropertyNames\\n\",\"js/es6/reflect/preventextensions.js\":\"/*\\n * Copyright 2016 The Closure Compiler Authors.\\n *\\n * Licensed under the Apache License, Version 2.0 (the \\\"License\\\");\\n * you may not use this file except in compliance with the License.\\n * You may obtain a copy of the License at\\n *\\n *     http://www.apache.org/licenses/LICENSE-2.0\\n *\\n * Unless required by applicable law or agreed to in writing, software\\n * distributed under the License is distributed on an \\\"AS IS\\\" BASIS,\\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\\n * See the License for the specific language governing permissions and\\n * limitations under the License.\\n */\\n\\n'require util/polyfill';\\n\\n\\n$jscomp.polyfill('Reflect.preventExtensions', function(orig) {\\n  if (orig) return orig;\\n\\n  if (typeof Object.preventExtensions != 'function') {\\n    return function() { return false; };\\n  }\\n\\n  /**\\n   * Polyfill for Reflect.preventExtensions() method:\\n   * https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Reflect/preventExtensions\\n   *\\n   * Same function as Object.preventExtensions (the spec says\\n   * to throw if the input is not an object, but jscompiler will\\n   * fail to typecheck, so there's no reason to distinguish here).\\n   *\\n   * @param {!Object} target\\n   * @return {boolean}\\n   */\\n  var polyfill = function(target) {\\n    Object.preventExtensions(target);\\n    return !Object.isExtensible(target);\\n  };\\n  return polyfill;\\n}, 'es6', 'es3');\\n\",\"js/es6/reflect/set.js\":\"/*\\n * Copyright 2016 The Closure Compiler Authors.\\n *\\n * Licensed under the Apache License, Version 2.0 (the \\\"License\\\");\\n * you may not use this file except in compliance with the License.\\n * You may obtain a copy of the License at\\n *\\n *     http://www.apache.org/licenses/LICENSE-2.0\\n *\\n * Unless required by applicable law or agreed to in writing, software\\n * distributed under the License is distributed on an \\\"AS IS\\\" BASIS,\\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\\n * See the License for the specific language governing permissions and\\n * limitations under the License.\\n */\\n\\n'require es6/reflect/isextensible';\\n'require util/finddescriptor';\\n'require util/polyfill';\\n\\n\\n$jscomp.polyfill('Reflect.set', function(orig) {\\n  if (orig) return orig;\\n\\n  /**\\n   * Polyfill for Reflect.set() method:\\n   * https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Reflect/set\\n   *\\n   * Applies the 'setprop' operator as a function.\\n   *\\n   * @param {!Object} target Target on which to get the property.\\n   * @param {string} propertyKey Name of the property to get.\\n   * @param {*} value Value to set.\\n   * @param {!Object=} opt_receiver An optional 'this' to use for a setter.\\n   * @return {boolean} Whether setting was successful.\\n   */\\n  var polyfill = function(target, propertyKey, value, opt_receiver) {\\n    var property = $jscomp.findDescriptor(target, propertyKey);\\n    if (!property) {\\n      if (Reflect.isExtensible(target)) {\\n        target[propertyKey] = value;\\n        return true;\\n      }\\n      return false;\\n    }\\n    if (property.set) {\\n      property.set.call(arguments.length > 3 ? opt_receiver : target, value);\\n      return true;\\n    } else if (property.writable && !Object.isFrozen(target)) {\\n      target[propertyKey] = value;\\n      return true;\\n    }\\n    return false;\\n  };\\n  return polyfill;\\n}, 'es6', 'es5'); // ES5: findDescriptor requires getPrototypeOf\\n\",\"js/es6/reflect/setprototypeof.js\":\"/*\\n * Copyright 2016 The Closure Compiler Authors.\\n *\\n * Licensed under the Apache License, Version 2.0 (the \\\"License\\\");\\n * you may not use this file except in compliance with the License.\\n * You may obtain a copy of the License at\\n *\\n *     http://www.apache.org/licenses/LICENSE-2.0\\n *\\n * Unless required by applicable law or agreed to in writing, software\\n * distributed under the License is distributed on an \\\"AS IS\\\" BASIS,\\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\\n * See the License for the specific language governing permissions and\\n * limitations under the License.\\n */\\n\\n'require util/polyfill';\\n\\n\\n$jscomp.polyfill('Reflect.setPrototypeOf', function(orig) {\\n  if (orig) return orig;\\n\\n  // IE<11 has no way to polyfill this, so don't even try.\\n  if (typeof ''.__proto__ != 'object') return null;\\n\\n  /**\\n   * Polyfill for Reflect.setPrototypeOf() method:\\n   * https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Reflect/setPrototypeOf\\n   *\\n   * Sets the prototype in a \\\"standard\\\" way.\\n   *\\n   * @param {!Object} target Target on which to get the property.\\n   * @param {?Object} proto The new prototype.\\n   * @return {boolean} Whether the prototype was successfully set.\\n   */\\n  var polyfill = function(target, proto) {\\n    try {\\n      target.__proto__ = proto;\\n      return target.__proto__ === proto;\\n    } catch (err) {\\n      return false;\\n    }\\n  };\\n  return polyfill;\\n}, 'es6', 'es5');\\n\",\"js/es6/set.js\":\"/*\\n * Copyright 2016 The Closure Compiler Authors.\\n *\\n * Licensed under the Apache License, Version 2.0 (the \\\"License\\\");\\n * you may not use this file except in compliance with the License.\\n * You may obtain a copy of the License at\\n *\\n *     http://www.apache.org/licenses/LICENSE-2.0\\n *\\n * Unless required by applicable law or agreed to in writing, software\\n * distributed under the License is distributed on an \\\"AS IS\\\" BASIS,\\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\\n * See the License for the specific language governing permissions and\\n * limitations under the License.\\n */\\n\\n'require es6/symbol';\\n'require es6/map';\\n'require util/polyfill';\\n\\n/**\\n * Whether to skip the conformance check and simply use the polyfill always.\\n * @define {boolean}\\n */\\n$jscomp.ASSUME_NO_NATIVE_SET = false;\\n\\n$jscomp.polyfill('Set', functio";
a.a+="n(NativeSet) {\\n\\n  // Perform a conformance check to ensure correct native implementation.\\n  var isConformant = !$jscomp.ASSUME_NO_NATIVE_SET && (function() {\\n    if (!NativeSet ||\\n        !NativeSet.prototype.entries ||\\n        typeof Object.seal != 'function') {\\n      return false;\\n    }\\n    // Some implementations don't support constructor arguments.\\n    try {\\n      NativeSet = /** @type {function(new: Set, !Iterator=)} */ (NativeSet);\\n      var value = Object.seal({x: 4});\\n      var set = new NativeSet($jscomp.makeIterator([value]));\\n      if (!set.has(value) || set.size != 1 || set.add(value) != set ||\\n          set.size != 1 || set.add({x: 4}) != set || set.size != 2) {\\n        return false;\\n      }\\n      var iter = set.entries();\\n      var item = iter.next();\\n      if (item.done || item.value[0] != value || item.value[1] != value) {\\n        return false;\\n      }\\n      item = iter.next();\\n      if (item.done || item.value[0] == value || item.value[0].x != 4 ||\\n          item.value[1] != item.value[0]) {\\n        return false;\\n      }\\n      return iter.next().done;\\n    } catch (err) { // This should hopefully never happen, but let's be safe.\\n      return false;\\n    }\\n  })();\\n  if (isConformant) return NativeSet;\\n\\n  // We depend on Symbol.iterator, so ensure it's loaded.\\n  $jscomp.initSymbol();\\n  $jscomp.initSymbolIterator();\\n\\n\\n\\n  /**\\n   * Polyfill for the global Map data type.\\n   * @constructor\\n   * @struct\\n   * @extends {Set<VALUE>}\\n   * @implements {Iterable<VALUE>}\\n   * @template KEY, VALUE\\n   * @param {!Iterable<VALUE>|!Array<VALUE>|null=} opt_iterable\\n   *     Optional data to populate the set.\\n   */\\n  // TODO(sdh): fix param type if heterogeneous arrays ever supported.\\n  var PolyfillSet = function(opt_iterable) {\\n    /** @private @const {!Map<VALUE, VALUE>} */\\n    this.map_ = new Map();\\n    if (opt_iterable) {\\n      var iter = $jscomp.makeIterator(opt_iterable);\\n      var entry;\\n      while (!(entry = iter.next()).done) {\\n        var item = /** @type {!IIterableResult<VALUE>} */ (entry).value;\\n        this.add(item);\\n      }\\n    }\\n    // Note: this property should not be changed.  If we're willing to give up\\n    // ES3 support, we could define it as a property directly.  It should be\\n    // marked readonly if such an annotation ever comes into existence.\\n    this.size = this.map_.size;\\n  };\\n\\n\\n  /** @override */\\n  PolyfillSet.prototype.add = function(value) {\\n    this.map_.set(value, value);\\n    this.size = this.map_.size;\\n    return this;\\n  };\\n\\n\\n  /** @override */\\n  PolyfillSet.prototype.delete = function(value) {\\n    var result = this.map_.delete(value);\\n    this.size = this.map_.size;\\n    return result;\\n  };\\n\\n\\n  /** @override */\\n  PolyfillSet.prototype.clear = function() {\\n    this.map_.clear();\\n    this.size = 0;\\n  };\\n\\n\\n  /** @override */\\n  PolyfillSet.prototype.has = function(value) {\\n    return this.map_.has(value);\\n  };\\n\\n\\n  /** @override */\\n  PolyfillSet.prototype.entries = function() {\\n    return this.map_.entries();\\n  };\\n\\n\\n  /** @override */\\n  PolyfillSet.prototype.values = function() {\\n    return this.map_.values();\\n  };\\n\\n\\n  /** @override */\\n  PolyfillSet.prototype.keys = PolyfillSet.prototype.values;\\n\\n\\n  /** @type {?} */ (PolyfillSet.prototype)[Symbol.iterator] =\\n      PolyfillSet.prototype.values;\\n\\n\\n  /** @override */\\n  PolyfillSet.prototype.forEach = function(callback, opt_thisArg) {\\n    var set = this;\\n    this.map_.forEach(function(value) {\\n      return callback.call(/** @type {?} */ (opt_thisArg), value, value, set);\\n    });\\n  };\\n\\n\\n  return PolyfillSet;\\n}, 'es6-impl', 'es3');\\n\",\"js/es6/string.js\":\"/*\\n * Copyright 2016 The Closure Compiler Authors.\\n *\\n * Licensed under the Apache License, Version 2.0 (the \\\"License\\\");\\n * you may not use this file except in compliance with the License.\\n * You may obtain a copy of the License at\\n *\\n *     http://www.apache.org/licenses/LICENSE-2.0\\n *\\n * Unless required by applicable law or agreed to in writing, software\\n * distributed under the License is distributed on an \\\"AS IS\\\" BASIS,\\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\\n * See the License for the specific language governing permissions and\\n * limitations under the License.\\n */\\n\\n/**\\n * @fileoverview Brings in all ES6 String polyfills.\\n */\\n'require es6/string/codepointat';\\n'require es6/string/endswith';\\n'require es6/string/fromcodepoint';\\n'require es6/string/includes';\\n'require es6/string/repeat';\\n'require es6/string/startswith';\\n\",\"js/es6/string/codepointat.js\":\"/*\\n * Copyright 2016 The Closure Compiler Authors.\\n *\\n * Licensed under the Apache License, Version 2.0 (the \\\"License\\\");\\n * you may not use this file except in compliance with the License.\\n * You may obtain a copy of the License at\\n *\\n *     http://www.apache.org/licenses/LICENSE-2.0\\n *\\n * Unless required by applicable law or agreed to in writing, software\\n * distributed under the License is distributed on an \\\"AS IS\\\" BASIS,\\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\\n * See the License for the specific language governing permissions and\\n * limitations under the License.\\n */\\n\\n'require util/checkstringargs';\\n'require util/polyfill';\\n\\n$jscomp.polyfill('String.prototype.codePointAt', function(orig) {\\n  if (orig) return orig;\\n\\n  /**\\n   * Returns the UTF-16 codepoint at the given index.\\n   *\\n   * <p>Polyfills the instance method String.prototype.codePointAt().\\n   *\\n   * @this {string}\\n   * @param {number} position\\n   * @return {number|undefined} The codepoint.\\n   */\\n  var polyfill = function(position) {\\n    // NOTE: this is taken from v8's harmony-string.js StringCodePointAt\\n    'use strict';\\n    var string = $jscomp.checkStringArgs(this, null, 'codePointAt');\\n    var size = string.length;\\n    // Make 'position' a number (non-number coerced to NaN and then or to zero).\\n    position = Number(position) || 0;\\n    if (!(position >= 0 && position < size)) {\\n      return void 0;\\n    }\\n    // Truncate 'position' to an integer.\\n    position = position | 0;\\n    var first = string.charCodeAt(position);\\n    if (first < 0xD800 || first > 0xDBFF || position + 1 === size) {\\n      return first;\\n    }\\n    var second = string.charCodeAt(position + 1);\\n    if (second < 0xDC00 || second > 0xDFFF) {\\n      return first;\\n    }\\n    return (first - 0xD800) * 0x400 + second + 0x2400;\\n  };\\n\\n  return polyfill;\\n}, 'es6-impl', 'es3');\\n\",\"js/es6/string/endswith.js\":\"/*\\n * Copyright 2016 The Closure Compiler Authors.\\n *\\n * Licensed under the Apache License, Version 2.0 (the \\\"License\\\");\\n * you may not use this file except in compliance with the License.\\n * You may obtain a copy of the License at\\n *\\n *     http://www.apache.org/licenses/LICENSE-2.0\\n *\\n * Unless required by applicable law or agreed to in writing, software\\n * distributed under the License is distributed on an \\\"AS IS\\\" BASIS,\\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\\n * See the License for the specific language governing permissions and\\n * limitations under the License.\\n */\\n\\n'require util/checkstringargs';\\n'require util/polyfill';\\n\\n$jscomp.polyfill('String.prototype.endsWith', function(orig) {\\n  if (orig) return orig;\\n\\n  /**\\n   * Tests whether the string ends with a given substring.\\n   *\\n   * <p>Polyfills the instance method String.prototype.endsWith().\\n   *\\n   * @this {string}\\n   * @param {string} searchString\\n   * @param {number=} opt_position\\n   * @return {boolean}\\n   */\\n  var polyfill = function(searchString, opt_position) {\\n    'use strict';\\n    var string = $jscomp.checkStringArgs(this, searchString, 'endsWith');\\n    searchString = searchString + '';\\n    if (opt_position === void 0) opt_position = string.length;\\n    var i = Math.max(0, Math.min(opt_position | 0, string.length));\\n    var j = searchString.length;\\n    while (j > 0 && i > 0) {\\n      if (string[--i] != searchString[--j]) return false;\\n    }\\n    return j <= 0;\\n  };\\nreturn polyfill;\\n}, 'es6-impl', 'es3');\\n\",\"js/es6/string/fromcodepoint.js\":\"/*\\n * Copyright 2016 The Closure Compiler Authors.\\n *\\n * Licensed under the Apache License, Version 2.0 (the \\\"License\\\");\\n * you may not use this file except in compliance with the License.\\n * You may obtain a copy of the License at\\n *\\n *     http://www.apache.org/licenses/LICENSE-2.0\\n *\\n * Unless required by applicable law or agreed to in writing, software\\n * distributed under the License is distributed on an \\\"AS IS\\\" BASIS,\\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\\n * See the License for the specific language governing permissions and\\n * limitations under the License.\\n */\\n\\n'require util/polyfill';\\n\\n$jscomp.polyfill('String.fromCodePoint', function(orig) {\\n  if (orig) return orig;\\n\\n  /**\\n   * Creates a new string from the given codepoints.\\n   *\\n   * <p>Polyfills the static function String.fromCodePoint().\\n   *\\n   * @param {...number} var_args\\n   * @return {string}\\n   */\\n  var polyfill = function(var_args) {\\n    // Note: this is taken from v8's harmony-string.js StringFromCodePoint.\\n    var result = '';\\n    for (var i = 0; i < arguments.length; i++) {\\n      var code = Number(arguments[i]);\\n      if (code < 0 || code > 0x10FFFF || code !== Math.floor(code)) {\\n        throw new RangeError('invalid_code_point ' + code);\\n      }\\n      if (code <= 0xFFFF) {\\n        result += String.fromCharCode(code);\\n      } else {\\n        code -= 0x10000;\\n        result += String.fromCharCode((code >>> 10) & 0x3FF | 0xD800);\\n        result += String.fromCharCode(code & 0x3FF | 0xDC00);\\n      }\\n    }\\n    return result;\\n  };\\n\\n  return polyfill;\\n}, 'es6-impl', 'es3');\\n\",\"js/es6/string/includes.js\":\"/*\\n * Copyright 2016 The Closure Compiler Authors.\\n *\\n * Licensed under the Apache License, Version 2.0 (the \\\"License\\\");\\n * you may not use this file except in compliance with the License.\\n * You may obtain a copy of the License at\\n *\\n *     http://www.apache.org/licenses/LICENSE-2.0\\n *\\n * Unless required by applicable law or agreed to in writing, software\\n * distributed under the License is distributed on an \\\"AS IS\\\" BASIS,\\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\\n * See the License for the specific language governing permissions and\\n * limitations under the License.\\n */\\n\\n'require util/checkstringargs';\\n'require util/polyfill';\\n\\n$jscomp.polyfill('String.prototype.includes', function(orig) {\\n  if (orig) return orig;\\n\\n  /**\\n   * Searches for a substring, starting at the given position.\\n   *\\n   * <p>Polyfills the instance method String.prototype.includes().\\n   *\\n   * @this {string}\\n   * @param {string} searchString\\n   * @param {number=} opt_position\\n   * @return {boolean}\\n   */\\n  var polyfill = function(searchString, opt_position) {\\n    'use strict';\\n    var string = $jscomp.checkStringArgs(this, searchString, 'includes');\\n    return string.indexOf(searchString, opt_position || 0) !== -1;\\n  };\\n\\n  return polyfill;\\n}, 'es6-impl', 'es3');\\n\",\"js/es6/string/repeat.js\":\"/*\\n * Copyright 2016 The Closure Compiler Authors.\\n *\\n * Licensed under the Apache License, Version 2.0 (the \\\"License\\\");\\n * you may not use this file except in compliance with the License.\\n * You may obtain a copy of the License at\\n *\\n *     http://www.apache.org/licenses/LICENSE-2.0\\n *\\n * Unless required by applicable law or agreed to in writing, software\\n * distributed under the License is distributed on an \\\"AS IS\\\" BASIS,\\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\\n * See the License for the specific language governing permissions and\\n * limitations under the License.\\n */\\n\\n'require util/checkstringargs';\\n'require util/polyfill';\\n\\n$jscomp.polyfill('String.prototype.repeat', function(orig) {\\n  if (orig) return orig;\\n\\n  /**\\n   * Returns a new string repeated the given number of times.\\n   *\\n   * <p>Polyfills the instance method String.prototype.repeat().\\n   *\\n   * @this {string}\\n   * @param {number} copies\\n   * @return {string}\\n   */\\n  var polyfill = function(copies) {\\n    'use strict';\\n    var string = $jscomp.checkStringArgs(this, null, 'repeat');\\n    if (copies < 0 || copies > 0x4FFFFFFF) { // impose a 1GB limit\\n      throw new RangeError('Invalid count value');\\n    }\\n    copies = copies | 0; // cast to a signed integer.\\n    var result = '';\\n    while (copies) {\\n      if (copies & 1) result += string;\\n      if ((copies >>>= 1)) string += string;\\n    }\\n    return result;\\n  };\\n\\n  return polyfill;\\n}, 'es6-impl', 'es3');\\n\",\"js/es6/string/startswith.js\":\"/*\\n * Copyright 2016 The Closure Compiler Authors.\\n *\\n * Licensed under the Apache License, Version 2.0 (the \\\"License\\\");\\n * you may not use this file except in compliance with the License.\\n * You may obtain a copy of the License at\\n *\\n *     http://www.apache.org/licenses/LICENSE-2.0\\n *\\n * Unless required by applicable law or agreed to in writing, software\\n * distributed under the License is distributed on an \\\"AS IS\\\" BASIS,\\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\\n * See the License for the specific language governing permissions and\\n * limitations under the License.\\n */\\n\\n'require util/checkstringargs';\\n'require util/polyfill';\\n\\n$jscomp.polyfill('String.prototype.startsWith', function(orig) {\\n  if (orig) return orig;\\n\\n  /**\\n   * Tests whether the string starts with a given substring.\\n   *\\n   * <p>Polyfills the instance method String.prototype.startsWith().\\n   *\\n   * @this {string}\\n   * @param {string} searchString\\n   * @param {number=} opt_position\\n   * @return {boolean}\\n   */\\n  var polyfill = function(searchString, opt_position) {\\n    'use strict';\\n    var string = $jscomp.checkStringArgs(this, searchString, 'startsWith');\\n    searchString = searchString + '';\\n    var strLen = string.length;\\n    var searchLen = searchString.length;\\n    var i = Math.max(\\n        0,\\n        Math.min(/** @type {number} */ (opt_position) | 0, string.length));\\n    var j = 0;\\n    while (j < searchLen && i < strLen) {\\n      if (string[i++] != searchString[j++]) return false;\\n    }\\n    return j >= searchLen;\\n  };\\n\\n  return polyfill;\\n}, 'es6-impl', 'es3');\\n\",\"js/es6/symbol.js\":\"/*\\n * Copyright 2016 The Closure Compiler Authors.\\n *\\n * Licensed under the Apache License, Version 2.0 (the \\\"License\\\");\\n * you may not use this file except in compliance with the License.\\n * You may obtain a copy of the License at\\n *\\n *     http://www.apache.org/licenses/LICENSE-2.0\\n *\\n * Unless required by applicable law or agreed to in writing, software\\n * distributed under the License is distributed on an \\\"AS IS\\\" BASIS,\\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\\n * See the License for the specific language governing permissions and\\n * limitations under the License.\\n */\\n\\n'require util/defineproperty';\\n'require util/global';\\n\\n/** @const {string} */\\n$jscomp.SYMBOL_PREFIX = 'jscomp_symbol_';\\n\\n\\n/**\\n * Initializes the Symbol function.\\n * @suppress {reportUnknownTypes}\\n */\\n$jscomp.initSymbol = function() {\\n  // Only need to do this once. All future calls are no-ops.\\n  $jscomp.initSymbol = function() {};\\n\\n  if (!$jscomp.global.Symbol) {\\n    $jscomp.global.Symbol = $jscomp.Symbol;\\n  }\\n};\\n\\n\\n/** @private {number} */\\n$jscomp.symbolCounter_ = 0;\\n\\n\\n/**\\n * Produces \\\"symbols\\\" (actually just unique strings).\\n * @param {string=} opt_description\\n * @return {symbol}\\n * @suppress {reportUnknownTypes}\\n */\\n$jscomp.Symbol = function(opt_description) {\\n  return /** @type {symbol} */ (\\n      $jscomp.SYMBOL_PREFIX + (opt_description || '') + ($jscomp.symbolCounter_++));\\n};\\n\\n\\n/**\\n * Initializes Symbol.iterator (if it's not already defined) and adds a\\n * Symbol.iterator property to the Array prototype.\\n * @suppress {reportUnknownTypes}\\n */\\n$jscomp.initSymbolIterator = function() {\\n  $jscomp.initSymbol();\\n  var symbolIterator = $jscomp.global.Symbol.iterator;\\n  if (!symbolIterator) {\\n    symbolIterator = $jscomp.global.Symbol.iterator =\\n        $jscomp.global.Symbol('iterator');\\n";
a.a+="  }\\n\\n  if (typeof Array.prototype[symbolIterator] != 'function') {\\n    $jscomp.defineProperty(\\n        Array.prototype, symbolIterator, {\\n          configurable: true,\\n          writable: true,\\n          /**\\n           * @this {Array}\\n           * @return {!IteratorIterable}\\n           */\\n          value: function() {\\n            return $jscomp.arrayIterator(this);\\n          }\\n        });\\n  }\\n\\n  // Only need to do this once. All future calls are no-ops.\\n  $jscomp.initSymbolIterator = function() {};\\n};\\n\\n\\n/**\\n * Returns an iterator from the given array.\\n * @param {!Array<T>} array\\n * @return {!IteratorIterable<T>}\\n * @template T\\n */\\n$jscomp.arrayIterator = function(array) {\\n  var index = 0;\\n  return $jscomp.iteratorPrototype(function() {\\n    if (index < array.length) {\\n      return {\\n        done: false,\\n        value: array[index++],\\n      };\\n    } else {\\n      return {done: true};\\n    }\\n  });\\n};\\n\\n\\n/**\\n * Returns an iterator with the given `next` method.  Passing\\n * all iterators through this function allows easily extending\\n * the definition of `%IteratorPrototype%` if methods are ever\\n * added to it in the future.\\n *\\n * @param {function(this: Iterator<T>): T} next\\n * @return {!IteratorIterable<T>}\\n * @template T\\n * @suppress {reportUnknownTypes}\\n */\\n$jscomp.iteratorPrototype = function(next) {\\n  $jscomp.initSymbolIterator();\\n\\n  var iterator = {next: next};\\n  /**\\n   * @this {IteratorIterable}\\n   * @return {!IteratorIterable}\\n   */\\n  iterator[$jscomp.global.Symbol.iterator] = function() { return this; };\\n  return /** @type {!IteratorIterable} */ (iterator);\\n};\\n\",\"js/es6/util/arrayfromiterable.js\":\"/*\\n * Copyright 2016 The Closure Compiler Authors.\\n *\\n * Licensed under the Apache License, Version 2.0 (the \\\"License\\\");\\n * you may not use this file except in compliance with the License.\\n * You may obtain a copy of the License at\\n *\\n *     http://www.apache.org/licenses/LICENSE-2.0\\n *\\n * Unless required by applicable law or agreed to in writing, software\\n * distributed under the License is distributed on an \\\"AS IS\\\" BASIS,\\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\\n * See the License for the specific language governing permissions and\\n * limitations under the License.\\n */\\n\\n/**\\n * @fileoverview Polyfill for array destructuring.\\n */\\n'require es6/util/makeiterator';\\n'require es6/util/arrayfromiterator';\\n\\n\\n/**\\n * Copies the values from an Iterable into an Array.\\n * @param {string|!Array<T>|!Iterable<T>|!Arguments<T>} iterable\\n * @return {!Array<T>}\\n * @template T\\n */\\n$jscomp.arrayFromIterable = function(iterable) {\\n  if (iterable instanceof Array) {\\n    return iterable;\\n  } else {\\n    return $jscomp.arrayFromIterator($jscomp.makeIterator(iterable));\\n  }\\n};\\n\",\"js/es6/util/arrayfromiterator.js\":\"/*\\n * Copyright 2016 The Closure Compiler Authors.\\n *\\n * Licensed under the Apache License, Version 2.0 (the \\\"License\\\");\\n * you may not use this file except in compliance with the License.\\n * You may obtain a copy of the License at\\n *\\n *     http://www.apache.org/licenses/LICENSE-2.0\\n *\\n * Unless required by applicable law or agreed to in writing, software\\n * distributed under the License is distributed on an \\\"AS IS\\\" BASIS,\\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\\n * See the License for the specific language governing permissions and\\n * limitations under the License.\\n */\\n\\n/**\\n * @fileoverview Polyfill for array destructuring.\\n */\\n'require base';\\n\\n\\n/**\\n * Copies the values from an Iterator into an Array. The important difference\\n * between this and $jscomp.arrayFromIterable is that if the iterator's\\n * next() method has already been called one or more times, this method returns\\n * only the values that haven't been yielded yet.\\n * @param {!Iterator<T>} iterator\\n * @return {!Array<T>}\\n * @template T\\n */\\n$jscomp.arrayFromIterator = function(iterator) {\\n  var i;\\n  var arr = [];\\n  while (!(i = iterator.next()).done) {\\n    arr.push(i.value);\\n  }\\n  return arr;\\n};\\n\",\"js/es6/util/inherits.js\":\"/*\\n * Copyright 2016 The Closure Compiler Authors.\\n *\\n * Licensed under the Apache License, Version 2.0 (the \\\"License\\\");\\n * you may not use this file except in compliance with the License.\\n * You may obtain a copy of the License at\\n *\\n *     http://www.apache.org/licenses/LICENSE-2.0\\n *\\n * Unless required by applicable law or agreed to in writing, software\\n * distributed under the License is distributed on an \\\"AS IS\\\" BASIS,\\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\\n * See the License for the specific language governing permissions and\\n * limitations under the License.\\n */\\n\\n/**\\n * @fileoverview Polyfill for ES6 extends keyword.\\n */\\n'require base';\\n\\n\\n/**\\n * Inherit the prototype methods and static methods from one constructor\\n * into another.\\n *\\n * This wires up the prototype chain (like goog.inherits) and copies static\\n * properties, for ES6-to-ES{3,5} transpilation.\\n *\\n * Usage:\\n * <pre>\\n *   function ParentClass() {}\\n *\\n *   // Regular method.\\n *   ParentClass.prototype.foo = function(a) {};\\n *\\n *   // Static method.\\n *   ParentClass.bar = function() {};\\n *\\n *   function ChildClass() {\\n *     ParentClass.call(this);\\n *   }\\n *   $jscomp.inherits(ChildClass, ParentClass);\\n *\\n *   var child = new ChildClass();\\n *   child.foo();\\n *   ChildClass.bar();  // Static inheritance.\\n * </pre>\\n *\\n * @param {!Function} childCtor Child class.\\n * @param {!Function} parentCtor Parent class.\\n */\\n$jscomp.inherits = function(childCtor, parentCtor) {\\n  /** @constructor */\\n  function tempCtor() {}\\n  tempCtor.prototype = parentCtor.prototype;\\n  childCtor.prototype = new tempCtor();\\n  /** @override */\\n    childCtor.prototype.constructor = childCtor;\\n\\n  for (var p in parentCtor) {\\n    if (Object.defineProperties) {\\n      var descriptor = Object.getOwnPropertyDescriptor(parentCtor, p);\\n      if (descriptor) {\\n        Object.defineProperty(childCtor, p, descriptor);\\n      }\\n    } else {\\n      // Pre-ES5 browser. Just copy with an assignment.\\n      childCtor[p] = parentCtor[p];\\n    }\\n  }\\n};\\n\",\"js/es6/util/iteratorfromarray.js\":\"/*\\n * Copyright 2016 The Closure Compiler Authors.\\n *\\n * Licensed under the Apache License, Version 2.0 (the \\\"License\\\");\\n * you may not use this file except in compliance with the License.\\n * You may obtain a copy of the License at\\n *\\n *     http://www.apache.org/licenses/LICENSE-2.0\\n *\\n * Unless required by applicable law or agreed to in writing, software\\n * distributed under the License is distributed on an \\\"AS IS\\\" BASIS,\\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\\n * See the License for the specific language governing permissions and\\n * limitations under the License.\\n */\\n\\n/**\\n * @fileoverview Utilities for iterator-returning methods.\\n */\\n'require es6/symbol';\\n\\n\\n$jscomp.array = $jscomp.array || {};\\n\\n\\n/**\\n * Creates an iterator from an array-like, with a transformation function.\\n * @param {!IArrayLike<INPUT>} array\\n * @param {function(number, INPUT): OUTPUT} transform\\n * @return {!IteratorIterable<OUTPUT>}\\n * @template INPUT, OUTPUT\\n * @suppress {checkTypes}\\n */\\n$jscomp.iteratorFromArray = function(array, transform) {\\n  $jscomp.initSymbolIterator();\\n  // NOTE: IE8 doesn't support indexing from boxed Strings.\\n  if (array instanceof String) array = array + '';\\n  var i = 0;\\n  var iter = {\\n    next: function() {\\n      if (i < array.length) {\\n        var index = i++;\\n        return {value: transform(index, array[index]), done: false};\\n      }\\n      iter.next = function() { return {done: true, value: void 0}; };\\n      return iter.next();\\n    }\\n  };\\n  iter[Symbol.iterator] = function() { return iter; };\\n  return iter;\\n};\\n\",\"js/es6/util/makeiterator.js\":\"/*\\n * Copyright 2016 The Closure Compiler Authors.\\n *\\n * Licensed under the Apache License, Version 2.0 (the \\\"License\\\");\\n * you may not use this file except in compliance with the License.\\n * You may obtain a copy of the License at\\n *\\n *     http://www.apache.org/licenses/LICENSE-2.0\\n *\\n * Unless required by applicable law or agreed to in writing, software\\n * distributed under the License is distributed on an \\\"AS IS\\\" BASIS,\\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\\n * See the License for the specific language governing permissions and\\n * limitations under the License.\\n */\\n\\n/**\\n * @fileoverview Polyfill for for-of loops.\\n */\\n'require es6/symbol';\\n\\n\\n/**\\n * Creates an iterator for the given iterable.\\n *\\n * @param {string|!Array<T>|!Iterable<T>|!Iterator<T>|!Arguments<T>} iterable\\n * @return {!Iterator<T>}\\n * @template T\\n * @suppress {reportUnknownTypes}\\n */\\n$jscomp.makeIterator = function(iterable) {\\n  $jscomp.initSymbolIterator();\\n\\n  // NOTE: Disabling typechecking because [] not allowed on @struct.\\n  var iteratorFunction = /** @type {?} */ (iterable)[Symbol.iterator];\\n  return iteratorFunction ? iteratorFunction.call(iterable) :\\n      $jscomp.arrayIterator(/** @type {!Array} */ (iterable));\\n};\\n\",\"js/es6/weakmap.js\":\"/*\\n * Copyright 2016 The Closure Compiler Authors.\\n *\\n * Licensed under the Apache License, Version 2.0 (the \\\"License\\\");\\n * you may not use this file except in compliance with the License.\\n * You may obtain a copy of the License at\\n *\\n *     http://www.apache.org/licenses/LICENSE-2.0\\n *\\n * Unless required by applicable law or agreed to in writing, software\\n * distributed under the License is distributed on an \\\"AS IS\\\" BASIS,\\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\\n * See the License for the specific language governing permissions and\\n * limitations under the License.\\n */\\n\\n'require es6/symbol';\\n'require es6/util/makeiterator';\\n'require util/defineproperty';\\n'require util/owns';\\n'require util/polyfill';\\n\\n$jscomp.polyfill('WeakMap', function(NativeWeakMap) {\\n  /**\\n   * Checks conformance of the existing WeakMap.\\n   * @return {boolean} True if the browser's implementation conforms.\\n   */\\n  function isConformant() {\\n    if (!NativeWeakMap || !Object.seal) return false;\\n    try {\\n      var x = Object.seal({});\\n      var y = Object.seal({});\\n      var map = new /** @type {function(new: WeakMap, !Array)} */ (\\n          NativeWeakMap)([[x, 2], [y, 3]]);\\n      if (map.get(x) != 2 || map.get(y) != 3) return false;\\n      map.delete(x);\\n      map.set(y, 4);\\n      return !map.has(x) && map.get(y) == 4;\\n    } catch (err) { // This should hopefully never happen, but let's be safe.\\n      return false;\\n    }\\n  }\\n  if (isConformant()) return NativeWeakMap;\\n\\n  var prop = '$jscomp_hidden_' + Math.random().toString().substring(2);\\n\\n  /**\\n   * Inserts the hidden property into the target.\\n   * @param {!Object} target\\n   */\\n  function insert(target) {\\n    if (!$jscomp.owns(target, prop)) {\\n      var obj = {};\\n      // TODO(sdh): This property will be enumerated in IE8.  If this becomes\\n      // a problem, we could avoid it by copying an infrequently-used non-enum\\n      // method (like toLocaleString) onto the object itself and encoding the\\n      // property on the copy instead.  This codepath must be easily removable\\n      // if IE8 support is not needed.\\n      $jscomp.defineProperty(target, prop, {value: obj});\\n    }\\n  }\\n\\n  /**\\n   * Monkey-patches the freezing methods to ensure that the hidden\\n   * property is added before any freezing happens.\\n   * @param {string} name\\n   */\\n  function patch(name) {\\n    var prev = Object[name];\\n    if (prev) {\\n      Object[name] = function(target) {\\n        insert(target);\\n        return prev(target);\\n      };\\n    }\\n  }\\n  patch('freeze');\\n  patch('preventExtensions');\\n  patch('seal');\\n  // Note: no need to patch Reflect.preventExtensions since the polyfill\\n  // just calls Object.preventExtensions anyway (and if it's not polyfilled\\n  // then neither is WeakMap).\\n\\n  var index = 0;\\n\\n  /**\\n   * Polyfill for WeakMap:\\n   * https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/WeakMap\\n   *\\n   * This implementation is as non-leaky as possible, due to patching\\n   * the freezing and sealing operations.  It does not include any logic\\n   * to handle cases where a key was somehow made non-extensible without\\n   * the special hidden property being added.  It takes some care to ensure\\n   * the hidden property is not enumerated over nor discoverable, though\\n   * it's not completely secure (particularly in IE8).\\n   *\\n   * @constructor\\n   * @extends {WeakMap<KEY, VALUE>}\\n   * @template KEY, VALUE\\n   * @param {!Iterator<!Array<KEY|VALUE>>|!Array<!Array<KEY|VALUE>>|null=}\\n   *     opt_iterable Optional initial data.\\n   */\\n  var PolyfillWeakMap = function(opt_iterable) {\\n    /** @private @const {string} */\\n    this.id_ = (index += (Math.random() + 1)).toString();\\n\\n    if (opt_iterable) {\\n      $jscomp.initSymbol();\\n      $jscomp.initSymbolIterator();\\n      var iter = $jscomp.makeIterator(opt_iterable);\\n      var entry;\\n      while (!(entry = iter.next()).done) {\\n        var item = entry.value;\\n        this.set(/** @type {KEY} */ (item[0]), /** @type {VALUE} */ (item[1]));\\n      }\\n    }\\n  };\\n\\n  /** @override */\\n  PolyfillWeakMap.prototype.set = function(key, value) {\\n    insert(key);\\n    if (!$jscomp.owns(key, prop)) {\\n      // NOTE: If the insert() call fails on the key, but the property\\n      // has previously successfully been added higher up the prototype\\n      // chain, then we'll silently misbehave.  Instead, throw immediately\\n      // before doing something bad.  If this becomes a problem (e.g. due\\n      // to some rogue frozen objects) then we may need to add a slow and\\n      // leaky fallback array to each WeakMap instance, as well as extra\\n      // logic in each accessor to use it (*only*) when necessary.\\n      throw new Error('WeakMap key fail: ' + key);\\n    }\\n    key[prop][this.id_] = value;\\n    return this;\\n  };\\n\\n  /** @override */\\n  PolyfillWeakMap.prototype.get = function(key) {\\n    return $jscomp.owns(key, prop) ? key[prop][this.id_] : undefined;\\n  };\\n\\n  /** @override */\\n  PolyfillWeakMap.prototype.has = function(key) {\\n    return $jscomp.owns(key, prop) && $jscomp.owns(key[prop], this.id_);\\n  };\\n\\n  /** @override */\\n  PolyfillWeakMap.prototype.delete = function(key) {\\n    if (!$jscomp.owns(key, prop) ||\\n        !$jscomp.owns(key[prop], this.id_)) {\\n      return false;\\n    }\\n    return delete key[prop][this.id_];\\n  };\\n\\n  return PolyfillWeakMap;\\n}, 'es6-impl', 'es3');\\n\",\"js/es6/weakset.js\":\"/*\\n * Copyright 2016 The Closure Compiler Authors.\\n *\\n * Licensed under the Apache License, Version 2.0 (the \\\"License\\\");\\n * you may not use this file except in compliance with the License.\\n * You may obtain a copy of the License at\\n *\\n *     http://www.apache.org/licenses/LICENSE-2.0\\n *\\n * Unless required by applicable law or agreed to in writing, software\\n * distributed under the License is distributed on an \\\"AS IS\\\" BASIS,\\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\\n * See the License for the specific language governing permissions and\\n * limitations under the License.\\n */\\n\\n'require es6/symbol';\\n'require es6/util/makeiterator';\\n'require util/polyfill';\\n'require es6/weakmap';\\n\\n$jscomp.polyfill('WeakSet', function(NativeWeakSet) {\\n  /**\\n   * Checks conformance of the existing WeakSet.\\n   * @return {boolean} True if the browser's implementation conforms.\\n   */\\n  function isConformant() {\\n    if (!NativeWeakSet || !Object.seal) return false;\\n    try {\\n      var x = Object.seal({});\\n      var y = Object.seal({});\\n      var set = new /** @type {function(new: WeakSet, !Array)} */ (\\n          NativeWeakSet)([x]);\\n      if (!set.has(x) || set.has(y)) return false;\\n      set.delete(x);\\n      set.add(y);\\n      return !set.has(x) && set.has(y);\\n    } catch (err) { // This should hopefully never happen, but let's be safe.\\n      return false;\\n    }\\n  }\\n  if (isConformant()) return NativeWeakSet;\\n\\n  /**\\n   * @constructor\\n   * @extends {WeakSet<TYPE>}\\n   * @template TYPE\\n   * @param {!Iterator<TYPE>|!Array";
a.a+="<TYPE>|null=} opt_iterable\\n   */\\n  var PolyfillWeakSet = function(opt_iterable) {\\n    /** @private @const {!WeakMap<TYPE, boolean>} */\\n    this.map_ = new WeakMap();\\n\\n    if (opt_iterable) {\\n      $jscomp.initSymbol();\\n      $jscomp.initSymbolIterator();\\n      var iter = $jscomp.makeIterator(opt_iterable);\\n      var entry;\\n      while (!(entry = iter.next()).done) {\\n        var item = entry.value;\\n        this.add(item);\\n      }\\n    }\\n  };\\n\\n  /** @override */\\n  PolyfillWeakSet.prototype.add = function(elem) {\\n    this.map_.set(elem, true);\\n    return this;\\n  };\\n\\n  /** @override */\\n  PolyfillWeakSet.prototype.has = function(elem) {\\n    return this.map_.has(elem);\\n  };\\n\\n  /** @override */\\n  PolyfillWeakSet.prototype.delete = function(elem) {\\n    return this.map_.delete(elem);\\n  };\\n\\n  return PolyfillWeakSet;\\n}, 'es6-impl', 'es3');\\n\",\"js/es6_dart_runtime.js\":\"/*\\n * Copyright 2014 The Closure Compiler Authors.\\n *\\n * Licensed under the Apache License, Version 2.0 (the \\\"License\\\");\\n * you may not use this file except in compliance with the License.\\n * You may obtain a copy of the License at\\n *\\n *     http://www.apache.org/licenses/LICENSE-2.0\\n *\\n * Unless required by applicable law or agreed to in writing, software\\n * distributed under the License is distributed on an \\\"AS IS\\\" BASIS,\\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\\n * See the License for the specific language governing permissions and\\n * limitations under the License.\\n */\\n\\n/**\\n * @fileoverview  Additional runtime functions required for transpilation from\\n * ES6 to ES5 of code generated by the Dart Dev Compiler.\\n *\\n * Note that DDC's output cannot currently be lowered to ES3 (heavy use of\\n * getters or setters, including in the runtime), so these helpers make no\\n * attempt of fallback behaviour when methods like Object.getPrototypeOf or\\n * Object.getOwnPropertyDescriptor are undefined (unlike helpers in es6/*.js).\\n *\\n * @author ochafik@google.com (Olivier Chafik)\\n */\\n'require base';\\n\\n/**\\n * Gets a property descriptor for a target instance, skipping its class\\n * and walking up the super-classes hierarchy.\\n *\\n * @private\\n * @param {!Object} target\\n * @param {!string} name\\n * @return {?}\\n */\\n$jscomp.getSuperPropertyDescriptor_ = function(target, name) {\\n  var getPrototypeOf = Object.getPrototypeOf;\\n  var getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;\\n  var cls = getPrototypeOf(target);\\n  while (cls != null) {\\n    cls = getPrototypeOf(cls);\\n    if (cls != null) {\\n      var desc = getOwnPropertyDescriptor(cls, name);\\n      if (desc != null) {\\n        return desc;\\n      }\\n    }\\n  }\\n  return undefined;\\n};\\n\\n/**\\n * Gets a property of a target instance using its super class getter or value,\\n * or returns undefined if that property is not defined on any ancestor.\\n *\\n * @param {!Object} target\\n * @param {!string} propertyName\\n * @return {*}\\n */\\n$jscomp.superGet = function(target, propertyName) {\\n  var desc = $jscomp.getSuperPropertyDescriptor_(target, propertyName);\\n  return desc && (desc.get ? desc.get.call(target) : desc.value);\\n};\\n\\n/**\\n * Sets a property on a target instance using its super setter if is defined\\n * on any ancestor, or setting it as a simple property on the target otherwise.\\n *\\n * @template T\\n * @param {!Object} target\\n * @param {!string} propertyName\\n * @param {T} value\\n * @return {T}\\n */\\n$jscomp.superSet = function(target, propertyName, value) {\\n  var desc = $jscomp.getSuperPropertyDescriptor_(target, propertyName);\\n  if (desc) {\\n    if (!desc.set) {\\n      throw new TypeError('No setter for super.' + propertyName);\\n    }\\n    desc.set.call(target, value);\\n  } else {\\n    target[propertyName] = value;\\n  }\\n  return value;\\n};\\n\",\"js/es6_runtime.js\":\"/*\\n * Copyright 2016 The Closure Compiler Authors.\\n *\\n * Licensed under the Apache License, Version 2.0 (the \\\"License\\\");\\n * you may not use this file except in compliance with the License.\\n * You may obtain a copy of the License at\\n *\\n *     http://www.apache.org/licenses/LICENSE-2.0\\n *\\n * Unless required by applicable law or agreed to in writing, software\\n * distributed under the License is distributed on an \\\"AS IS\\\" BASIS,\\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\\n * See the License for the specific language governing permissions and\\n * limitations under the License.\\n */\\n\\n'require es6/array';\\n'require es6/execute_async_generator';\\n'require es6/map';\\n'require es6/math';\\n'require es6/number';\\n'require es6/object';\\n'require es6/promise';\\n'require es6/reflect';\\n'require es6/set';\\n'require es6/string';\\n'require es6/symbol';\\n'require es6/util/arrayfromiterable';\\n'require es6/util/arrayfromiterator';\\n'require es6/util/inherits';\\n'require es6/util/iteratorfromarray';\\n'require es6/util/makeiterator';\\n'require es6/weakmap';\\n'require es6/weakset';\\n\",\"js/license.js\":\"/*\\n * Copyright 2015 The Closure Compiler Authors.\\n *\\n * Licensed under the Apache License, Version 2.0 (the \\\"License\\\");\\n * you may not use this file except in compliance with the License.\\n * You may obtain a copy of the License at\\n *\\n *     http://www.apache.org/licenses/LICENSE-2.0\\n *\\n * Unless required by applicable law or agreed to in writing, software\\n * distributed under the License is distributed on an \\\"AS IS\\\" BASIS,\\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\\n * See the License for the specific language governing permissions and\\n * limitations under the License.\\n */\\n\",\"js/runtime_type_check.js\":\"/*\\n * Copyright 2010 The Closure Compiler Authors.\\n *\\n * Licensed under the Apache License, Version 2.0 (the \\\"License\\\");\\n * you may not use this file except in compliance with the License.\\n * You may obtain a copy of the License at\\n *\\n *     http://www.apache.org/licenses/LICENSE-2.0\\n *\\n * Unless required by applicable law or agreed to in writing, software\\n * distributed under the License is distributed on an \\\"AS IS\\\" BASIS,\\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\\n * See the License for the specific language governing permissions and\\n * limitations under the License.\\n */\\n\\n\\n/**\\n * @fileoverview Provides the boilerplate code for run-time type checking.\\n *\\n * @author moedinger@google.com (Andrew Moedinger)\\n * @author nadaa@google.com (Nada Amin)\\n */\\n'require base';\\n\\n/** @const */\\n$jscomp.typecheck = {};\\n\\n/**\\n * A state variable to suspend checking, to avoid infinite calls\\n * caused by calling checked code from the checking functions.\\n *\\n * @type {boolean}\\n */\\n$jscomp.typecheck.suspendChecking = false;\\n\\n\\n/**\\n * Log and possibly format the run-time type check warning. This\\n * function is customized at compile-time.\\n *\\n * @param {string} warning the warning to log.\\n * @param {*} expr the faulty expression.\\n */\\n$jscomp.typecheck.log = function(warning, expr) {};\\n\\n/**\\n * Checks that the given expression matches one of the given checkers,\\n * logging if not, and returning the expression regardless.\\n *\\n * @param {*} expr the expression to check.\\n * @param {!Array.<!$jscomp.typecheck.Checker>} checkers the checkers to\\n *     use in checking, one of these has to match for checking to succeed.\\n * @return {*} the given expression back.\\n */\\n$jscomp.typecheck.checkType = function(expr, checkers) {\\n  if ($jscomp.typecheck.suspendChecking) {\\n    return expr;\\n  }\\n  $jscomp.typecheck.suspendChecking = true;\\n\\n  for (var i = 0; i < checkers.length; i++) {\\n    var checker = checkers[i];\\n    var ok = checker.check(expr);\\n    if (ok) {\\n      $jscomp.typecheck.suspendChecking = false;\\n      return expr;\\n    }\\n  }\\n\\n  var warning = $jscomp.typecheck.prettify_(expr) + ' not in ' +\\n      checkers.join(' ');\\n\\n  $jscomp.typecheck.log(warning, expr);\\n\\n  $jscomp.typecheck.suspendChecking = false;\\n  return expr;\\n};\\n\\n\\n/**\\n * Prettify the given expression for printing.\\n *\\n * @param {*} expr the expression.\\n * @return {string} a string representation of the given expression.\\n * @private\\n */\\n$jscomp.typecheck.prettify_ = function(expr) {\\n  var className = $jscomp.typecheck.getClassName_(expr);\\n  if (className) {\\n    return className;\\n  }\\n  try {\\n    return String(expr);\\n  }\\n  catch (e) {}\\n  return '<unknown>';\\n};\\n\\n/**\\n * Gets the class name if the given expression is an object.\\n *\\n * @param {*} expr the expression.\\n * @return {string|undefined} the class name or undefined if the\\n *     expression is not an object.\\n * @private\\n */\\n$jscomp.typecheck.getClassName_ = function(expr) {\\n  var className = void 0;\\n  if (typeof expr == 'object' && expr && expr.constructor) {\\n    className = expr.constructor.name;\\n    if (!className) {\\n      var funNameRe = /function (.{1,})\\\\(/;\\n      var m = (funNameRe).exec(expr.constructor.toString());\\n      className = m && m.length > 1 ? m[1] : void 0;\\n    }\\n  }\\n  return className;\\n};\\n\\n/**\\n * Interface for all checkers.\\n *\\n * @interface\\n */\\n$jscomp.typecheck.Checker = function() {};\\n\\n\\n/**\\n * Checks the given expression.\\n *\\n * @param {*} expr the expression to check.\\n * @return {boolean} whether the given expression matches this checker.\\n */\\n$jscomp.typecheck.Checker.prototype.check = function(expr) {};\\n\\n\\n\\n/**\\n * A class for all value checkers, except the null checker.\\n *\\n * @param {string} type the value type (e.g. 'number') of this checker.\\n * @constructor\\n * @implements {$jscomp.typecheck.Checker}\\n * @private\\n */\\n$jscomp.typecheck.ValueChecker_ = function(type) {\\n  /**\\n   * The value type of this checker.\\n   * @type {string}\\n   * @private\\n   */\\n  this.type_ = type;\\n};\\n\\n\\n/** @inheritDoc */\\n$jscomp.typecheck.ValueChecker_.prototype.check = function(expr) {\\n  return typeof(expr) == this.type_;\\n};\\n\\n\\n/** @inheritDoc */\\n$jscomp.typecheck.ValueChecker_.prototype.toString = function() {\\n  return 'value(' + this.type_ + ')';\\n};\\n\\n\\n\\n/**\\n * A checker class for null values.\\n *\\n * @constructor\\n * @implements {$jscomp.typecheck.Checker}\\n * @private\\n */\\n$jscomp.typecheck.NullChecker_ = function() {};\\n\\n\\n/** @inheritDoc */\\n$jscomp.typecheck.NullChecker_.prototype.check = function(expr) {\\n  return expr === null;\\n};\\n\\n\\n/** @inheritDoc */\\n$jscomp.typecheck.NullChecker_.prototype.toString = function() {\\n  return 'value(null)';\\n};\\n\\n\\n/**\\n * A checker class for a class defined in externs, including built-in\\n * JS types.\\n *\\n * <p>If the class type is undefined, then checking is suspended to\\n * avoid spurious warnings. This is necessary because some externs\\n * types are not defined in all browsers. For example, Window is not\\n * defined Chrome, as window has the type DOMWindow.\\n *\\n * <p>Another subtlety is that a built-in type may be referenced in a\\n * different frame than the one in which it was created. This causes\\n * instanceOf to return false even though the object is of the correct\\n * type. We work around this by checking as many windows as possible,\\n * redefining open on top and window to keep track of them.\\n *\\n * @param {string} className the name of the extern class to check.\\n * @constructor\\n * @implements {$jscomp.typecheck.Checker}\\n * @private\\n */\\n$jscomp.typecheck.ExternClassChecker_ = function(className) {\\n  /**\\n   * The name of the extern class to check.\\n   * @type {string}\\n   * @private\\n   */\\n  this.className_ = className;\\n};\\n\\n\\n/**\\n * A list of (hopefully all) open windows.\\n *\\n * @type {!Array.<!Window>}\\n */\\n$jscomp.typecheck.ExternClassChecker_.windows = [];\\n\\n\\n/**\\n * A list of the original open methods that have been redefined.\\n *\\n * @type {!Array.<!Function>}\\n */\\n$jscomp.typecheck.ExternClassChecker_.oldOpenFuns = [];\\n\\n\\n/**\\n * Redefines the open method on the given window, adding tracking.\\n *\\n * @param {!Window} win the window to track.\\n */\\n$jscomp.typecheck.ExternClassChecker_.trackOpenOnWindow = function(win) {\\n  if (win.tracked) {\\n    return;\\n  }\\n  win.tracked = true;\\n\\n  var key = $jscomp.typecheck.ExternClassChecker_.oldOpenFuns.length;\\n\\n  $jscomp.typecheck.ExternClassChecker_.oldOpenFuns.push(win.open);\\n  $jscomp.typecheck.ExternClassChecker_.windows.push(win);\\n\\n  win.open = function() {\\n    var w = $jscomp.typecheck.ExternClassChecker_.oldOpenFuns[key].apply(\\n        this, arguments);\\n    $jscomp.typecheck.ExternClassChecker_.trackOpenOnWindow(w);\\n    return w;\\n  };\\n};\\n\\n\\n/**\\n * Returns the global 'this' object. This will normally be the same as 'window'\\n * but when running in a worker thread, the DOM is not available.\\n * @return {!Window}\\n * @private\\n */\\n$jscomp.typecheck.ExternClassChecker_.getGlobalThis_ = function() {\\n  return (function() { return this; }).call(null);\\n};\\n\\n\\n// Install listeners on the global 'this' object.\\n(function() {\\n  var globalThis = $jscomp.typecheck.ExternClassChecker_.getGlobalThis_();\\n  $jscomp.typecheck.ExternClassChecker_.trackOpenOnWindow(globalThis);\\n\\n  var theTop = globalThis['top'];\\n  if (theTop) {\\n    $jscomp.typecheck.ExternClassChecker_.trackOpenOnWindow(theTop);\\n  }\\n})();\\n\\n\\n/** @inheritDoc */\\n$jscomp.typecheck.ExternClassChecker_.prototype.check = function(expr) {\\n  var classTypeDefined = [ false ];\\n  for (var i = 0; i < $jscomp.typecheck.ExternClassChecker_.windows.length;\\n      i++) {\\n    var w = $jscomp.typecheck.ExternClassChecker_.windows[i];\\n    if (this.checkWindow_(w, expr, classTypeDefined)) {\\n      return true;\\n    }\\n  }\\n  return !classTypeDefined[0];\\n};\\n\\n\\n/** @inheritDoc */\\n$jscomp.typecheck.ExternClassChecker_.prototype.toString = function() {\\n  return 'ext_class(' + this.className_ + ')';\\n};\\n\\n\\n/**\\n * Checks whether the given expression is an instance of this extern\\n * class in this window or any of its frames and subframes.\\n *\\n * @param {!Window} w the window to start checking from.\\n * @param {*} expr the expression to check.\\n * @param {!Array.<boolean>} classTypeDefined a wrapped boolean\\n *     updated to indicate whether the class type was seen in any frame.\\n * @return true if the given expression is an instance of this class.\\n * @private\\n */\\n$jscomp.typecheck.ExternClassChecker_.prototype.checkWindow_ =\\n    function(w, expr, classTypeDefined) {\\n  var classType = /** @type {function(new: ?)} */ (w[this.className_]);\\n  classTypeDefined[0] = classTypeDefined[0] || !!classType;\\n  if (classType && expr instanceof classType) {\\n    return true;\\n  }\\n  for (var i = 0; i < w.length; i++) {\\n    if (this.checkWindow_(w.frames[i], expr, classTypeDefined)) {\\n      return true;\\n    }\\n  }\\n  return false;\\n};\\n\\n\\n\\n/**\\n * A class for all checkers of user-defined classes.\\n *\\n * @param {string} className name of the class to check.\\n * @constructor\\n * @implements {$jscomp.typecheck.Checker}\\n * @private\\n */\\n$jscomp.typecheck.ClassChecker_ = function(className) {\\n\\n  /**\\n   * The name of the class to check.\\n   * @type {string}\\n   * @private\\n   */\\n  this.className_ = className;\\n};\\n\\n\\n/** @inheritDoc */\\n$jscomp.typecheck.ClassChecker_.prototype.check = function(expr) {\\n  return !!(expr && expr['instance_of__' + this.className_]);\\n};\\n\\n\\n/** @inheritDoc */\\n$jscomp.typecheck.ClassChecker_.prototype.toString = function() {\\n  return 'class(' + this.className_ + ')';\\n};\\n\\n\\n\\n/**\\n * A class for all checkers of user-defined interfaces.\\n *\\n * @param {string} interfaceName name of the interface to check.\\n * @constructor\\n * @implements {$jscomp.typecheck.Checker}\\n * @private\\n */\\n$jscomp.typecheck.InterfaceChecker_ = function(interfaceName) {\\n\\n  /**\\n   * The name of the interface to check.\\n   * @type {string}\\n   * @private\\n   */\\n  this.interfaceName_ = interfaceName;\\n};\\n\\n\\n/** @inheritDoc */\\n$jscomp.typecheck.InterfaceChecker_.prototype.check = function(expr) {\\n  return !!(expr && expr['implements__' + this.interfaceName_]);\\n};\\n\\n\\n/** @inheritDoc */\\n$jscomp.typecheck.InterfaceChecker_.prototype.toString = function() {\\n  return 'interface(' + this.interfaceName_ + ')';\\n};\\n\\n\\n\\n/**\\n * A checker for object types (possibly with non-standard prototype: might not\\n * inherit from Object).\\n *\\n * @constructor\\n * @implements {$jscomp.typecheck.Checker}\\n * @private\\n */\\n$jscomp.typecheck.ObjectChecker_ = function";
a.a+='() {};\\n\\n\\n/** @inheritDoc */\\n$jscomp.typecheck.ObjectChecker_.prototype.check = function(expr) {\\n  return (typeof(expr) == \'object\' || typeof(expr) == \'function\') && !!expr;\\n};\\n\\n\\n/** @inheritDoc */\\n$jscomp.typecheck.ObjectChecker_.prototype.toString = function() {\\n  return \'value(object)\';\\n};\\n\\n\\n\\n/**\\n * A checker for null values.\\n *\\n * @type {!$jscomp.typecheck.Checker} a checker.\\n */\\n$jscomp.typecheck.nullChecker = new $jscomp.typecheck.NullChecker_();\\n\\n\\n/**\\n * Creates a checker for the given value type (excluding the null type).\\n *\\n * @param {string} type the value type.\\n * @return {!$jscomp.typecheck.Checker} a checker.\\n */\\n$jscomp.typecheck.valueChecker = function(type) {\\n  return new $jscomp.typecheck.ValueChecker_(type);\\n};\\n\\n\\n/**\\n * Creates a checker for the given extern class name.\\n *\\n * @param {string} className the class name.\\n * @return {!$jscomp.typecheck.Checker} a checker.\\n */\\n$jscomp.typecheck.externClassChecker = function(className) {\\n  return new $jscomp.typecheck.ExternClassChecker_(className);\\n};\\n\\n\\n/**\\n * Creates a checker for the given user-defined class.\\n *\\n * @param {string} className the class name.\\n * @return {!$jscomp.typecheck.Checker} a checker.\\n */\\n$jscomp.typecheck.classChecker = function(className) {\\n  return new $jscomp.typecheck.ClassChecker_(className);\\n};\\n\\n\\n/**\\n * Creates a checker for the given user-defined interface.\\n *\\n * @param {string} interfaceName the interface name.\\n * @return {!$jscomp.typecheck.Checker} a checker.\\n */\\n$jscomp.typecheck.interfaceChecker = function(interfaceName) {\\n  return new $jscomp.typecheck.InterfaceChecker_(interfaceName);\\n};\\n\\n\\n/**\\n * A checker for objects.\\n *\\n * @type {!$jscomp.typecheck.Checker} a checker.\\n */\\n$jscomp.typecheck.objectChecker = new $jscomp.typecheck.ObjectChecker_();\\n","js/util/checkstringargs.js":"/*\\n * Copyright 2016 The Closure Compiler Authors.\\n *\\n * Licensed under the Apache License, Version 2.0 (the \\"License\\");\\n * you may not use this file except in compliance with the License.\\n * You may obtain a copy of the License at\\n *\\n *     http://www.apache.org/licenses/LICENSE-2.0\\n *\\n * Unless required by applicable law or agreed to in writing, software\\n * distributed under the License is distributed on an \\"AS IS\\" BASIS,\\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\\n * See the License for the specific language governing permissions and\\n * limitations under the License.\\n */\\n\\n\'require base\';\\n\\n\\n/**\\n * Throws if the argument is a RegExp, or if thisArg is undefined.\\n * @param {?} thisArg The \'this\' arg, which must be defined.\\n * @param {*} arg The first argument of the function, which mustn\'t be a RegExp.\\n * @param {string} func Name of the function, for reporting.\\n * @return {string} The thisArg, coerced to a string.\\n */\\n$jscomp.checkStringArgs = function(thisArg, arg, func) {\\n  if (thisArg == null) {\\n    throw new TypeError(\\n        \\"The \'this\' value for String.prototype.\\" + func +\\n        \' must not be null or undefined\');\\n  }\\n  if (arg instanceof RegExp) {\\n    throw new TypeError(\\n        \'First argument to String.prototype.\' + func +\\n        \' must not be a regular expression\');\\n  }\\n  return thisArg + \'\';\\n};\\n","js/util/defineproperty.js":"/*\\n * Copyright 2016 The Closure Compiler Authors.\\n *\\n * Licensed under the Apache License, Version 2.0 (the \\"License\\");\\n * you may not use this file except in compliance with the License.\\n * You may obtain a copy of the License at\\n *\\n *     http://www.apache.org/licenses/LICENSE-2.0\\n *\\n * Unless required by applicable law or agreed to in writing, software\\n * distributed under the License is distributed on an \\"AS IS\\" BASIS,\\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\\n * See the License for the specific language governing permissions and\\n * limitations under the License.\\n */\\n\\n/**\\n * @fileoverview Provides methods to polyfill native objects.\\n */\\n\'require base\';\\n\\n\\n/**\\n * Polyfill for Object.defineProperty() method:\\n * https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/defineProperty\\n *\\n * Obviously we can\'t support getters and setters in ES3, so we\\n * throw a TypeError in that case.  We also refuse to define\\n * properties on Array.prototype and Object.prototype, since we\\n * can\'t make them non-enumerable and this messes up peoples\' for\\n * loops.  Beyond this, we simply assign values and not worry\\n * about enumerability or writeability.\\n * @param {?} target\\n * @param {string} property\\n * @param {?} descriptor\\n */\\n$jscomp.defineProperty =\\n    typeof Object.defineProperties == \'function\' ?\\n    Object.defineProperty :\\n    function(target, property, descriptor) {\\n      descriptor = /** @type {!ObjectPropertyDescriptor} */ (descriptor);\\n      if (descriptor.get || descriptor.set) {\\n        throw new TypeError(\'ES3 does not support getters and setters.\');\\n      }\\n      if (target == Array.prototype || target == Object.prototype) return;\\n      target[property] = descriptor.value;\\n    };\\n","js/util/finddescriptor.js":"/*\\n * Copyright 2016 The Closure Compiler Authors.\\n *\\n * Licensed under the Apache License, Version 2.0 (the \\"License\\");\\n * you may not use this file except in compliance with the License.\\n * You may obtain a copy of the License at\\n *\\n *     http://www.apache.org/licenses/LICENSE-2.0\\n *\\n * Unless required by applicable law or agreed to in writing, software\\n * distributed under the License is distributed on an \\"AS IS\\" BASIS,\\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\\n * See the License for the specific language governing permissions and\\n * limitations under the License.\\n */\\n\\n\'require es6/reflect/getownpropertydescriptor\';\\n\'require es6/reflect/getprototypeof\';\\n\\n\\n/**\\n * Helper function to find a descriptor.\\n * @param {!Object} target\\n * @param {string} propertyKey\\n * @return {!Object|undefined} Property descriptor, or undefined.\\n */\\n$jscomp.findDescriptor = function(target, propertyKey) {\\n  var /** ?Object */ obj = target;\\n  while (obj) {\\n    var property = Reflect.getOwnPropertyDescriptor(obj, propertyKey);\\n    if (property) {\\n      return property;\\n    }\\n    obj = Reflect.getPrototypeOf(obj);\\n  }\\n  return undefined;\\n};\\n","js/util/findinternal.js":"/*\\n * Copyright 2016 The Closure Compiler Authors.\\n *\\n * Licensed under the Apache License, Version 2.0 (the \\"License\\");\\n * you may not use this file except in compliance with the License.\\n * You may obtain a copy of the License at\\n *\\n *     http://www.apache.org/licenses/LICENSE-2.0\\n *\\n * Unless required by applicable law or agreed to in writing, software\\n * distributed under the License is distributed on an \\"AS IS\\" BASIS,\\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\\n * See the License for the specific language governing permissions and\\n * limitations under the License.\\n */\\n\\n/**\\n * @fileoverview Utility for Array methods that find elements.\\n */\\n\'require base\';\\n\\n// TODO(sdh): would be nice to template on the ARRAY type as well,\\n// so that the third arg type of callback can be refined to be\\n// exactly the same as the array type, but then there\'s no way to\\n// enforce that it must, in fact, be an array.\\n/**\\n * Internal implementation of find.\\n * @param {!IArrayLike<VALUE>} array\\n * @param {function(this: THIS, VALUE, number, !IArrayLike<VALUE>): *} callback\\n * @param {THIS} thisArg\\n * @return {{i: number, v: (VALUE|undefined)}}\\n * @template THIS, VALUE\\n */\\n$jscomp.findInternal = function(array, callback, thisArg) {\\n  if (array instanceof String) {\\n    array = /** @type {!IArrayLike} */ (String(array));\\n  }\\n  var len = array.length;\\n  for (var i = 0; i < len; i++) {\\n    var value = array[i];\\n    if (callback.call(thisArg, value, i, array)) return {i: i, v: value};\\n  }\\n  return {i: -1, v: void 0};\\n};\\n","js/util/global.js":"/*\\n * Copyright 2016 The Closure Compiler Authors.\\n *\\n * Licensed under the Apache License, Version 2.0 (the \\"License\\");\\n * you may not use this file except in compliance with the License.\\n * You may obtain a copy of the License at\\n *\\n *     http://www.apache.org/licenses/LICENSE-2.0\\n *\\n * Unless required by applicable law or agreed to in writing, software\\n * distributed under the License is distributed on an \\"AS IS\\" BASIS,\\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\\n * See the License for the specific language governing permissions and\\n * limitations under the License.\\n */\\n\\n/**\\n * @fileoverview Runtime code to store the global object.\\n */\\n\'require base\';\\n\'declare global\';\\n\'declare window\';\\n\\n\\n/**\\n * @param {!Object} maybeGlobal\\n * @return {!Object} The global object.\\n * @suppress {undefinedVars}\\n */\\n$jscomp.getGlobal = function(maybeGlobal) {\\n  return (typeof window != \'undefined\' && window === maybeGlobal) ?\\n      maybeGlobal :\\n      (typeof global != \'undefined\' && global != null) ? global : maybeGlobal;\\n};\\n\\n\\n// TODO(sdh): This should be typed as \\"the global object\\", but there\'s not\\n// currently any way to do this in the existing type system.\\n/**\\n * The global object. For browsers we could just use `this` but in Node that\\n * doesn\'t work.\\n * @const {?}\\n */\\n$jscomp.global = $jscomp.getGlobal(this);\\n","js/util/owns.js":"/*\\n * Copyright 2016 The Closure Compiler Authors.\\n *\\n * Licensed under the Apache License, Version 2.0 (the \\"License\\");\\n * you may not use this file except in compliance with the License.\\n * You may obtain a copy of the License at\\n *\\n *     http://www.apache.org/licenses/LICENSE-2.0\\n *\\n * Unless required by applicable law or agreed to in writing, software\\n * distributed under the License is distributed on an \\"AS IS\\" BASIS,\\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\\n * See the License for the specific language governing permissions and\\n * limitations under the License.\\n */\\n\\n\'require base\';\\n\\n/**\\n * Synonym for Object.prototype.hasOwnProperty.call(obj, prop).\\n * @param {!Object} obj\\n * @param {string} prop\\n * @return {boolean}\\n */\\n$jscomp.owns = function(obj, prop) {\\n  return Object.prototype.hasOwnProperty.call(obj, prop);\\n};\\n","js/util/polyfill.js":"/*\\n * Copyright 2016 The Closure Compiler Authors.\\n *\\n * Licensed under the Apache License, Version 2.0 (the \\"License\\");\\n * you may not use this file except in compliance with the License.\\n * You may obtain a copy of the License at\\n *\\n *     http://www.apache.org/licenses/LICENSE-2.0\\n *\\n * Unless required by applicable law or agreed to in writing, software\\n * distributed under the License is distributed on an \\"AS IS\\" BASIS,\\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\\n * See the License for the specific language governing permissions and\\n * limitations under the License.\\n */\\n\\n/**\\n * @fileoverview Provides methods to polyfill native objects.\\n */\\n\'require util/defineproperty\';\\n\'require util/global\';\\n\\n\\n/**\\n * @param {string} target\\n * @param {?function(*): *} polyfill\\n * @param {string} fromLang\\n * @param {string} toLang\\n */\\n$jscomp.polyfill = function(target, polyfill, fromLang, toLang) {\\n  if (!polyfill) return;\\n  var obj = $jscomp.global;\\n  var split = target.split(\'.\');\\n  for (var i = 0; i < split.length - 1; i++) {\\n    var key = split[i];\\n    if (!(key in obj)) obj[key] = {};  // Might want to be defineProperty.\\n    obj = obj[key];\\n  }\\n  var property = split[split.length - 1];\\n  var orig = obj[property];\\n  var impl = polyfill(orig);\\n  if (impl == orig || impl == null) return;\\n  $jscomp.defineProperty(\\n      obj, property, {configurable: true, writable: true, value: impl});\\n};\\n","parsing/ParserConfig.properties":"# Copyright 2009 The Closure Compiler Authors.\\n#\\n# Licensed under the Apache License, Version 2.0 (the \\"License\\");\\n# you may not use this file except in compliance with the License.\\n# You may obtain a copy of the License at\\n#\\n#     http://www.apache.org/licenses/LICENSE-2.0\\n#\\n# Unless required by applicable law or agreed to in writing, software\\n# distributed under the License is distributed on an \\"AS IS\\" BASIS,\\n# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\\n# See the License for the specific language governing permissions and\\n# limitations under the License.\\n\\n# Configuration options for the Parser.\\n#\\n# Allows us to update the allowed JSDoc annotations independently of the\\n# Compiler binary, so we can add new JSDoc annotations to old binaries.\\n\\n# The version of the compiler that we\'re currently building.\\n# Should be formatted as:\\n# Version# (Revision XXX)\\ncompiler.version = ${compiler.version}\\n\\n# The datestamp of the compiler that we\'re currently building.\\ncompiler.date = ${compiler.date}\\n\\n# A comma-delimited list.\\n# Some of these are not used by JSCompiler, but appear in third-party JS code.\\n# http://usejsdoc.org/\\n# It\'s not strictly necessary for the natively-supported annotations to be\\n# listed here, but it\'s nice to have them all in one place.\\njsdoc.annotations =\\\\\\n    addon,\\\\\\n    alias,\\\\\\n    animations,\\\\\\n    augments,\\\\\\n    author,\\\\\\n    base,\\\\\\n    borrows,\\\\\\n    bug,\\\\\\n    channel, \\\\\\n    class,\\\\\\n    classdesc,\\\\\\n    codepen,\\\\\\n    config,\\\\\\n    consistentIdGenerator,\\\\\\n    constructor,\\\\\\n    constructs,\\\\\\n    copyright,\\\\\\n    default,\\\\\\n    delegate,\\\\\\n    demo,\\\\\\n    deprecated,\\\\\\n    desc,\\\\\\n    description,\\\\\\n    dict,\\\\\\n    element,\\\\\\n    enhance,\\\\\\n    enhanceable,\\\\\\n    enum,\\\\\\n    event,\\\\\\n    eventOf,\\\\\\n    eventType,\\\\\\n    example,\\\\\\n    exception,\\\\\\n    exec,\\\\\\n    export,\\\\\\n    expose,\\\\\\n    externs,\\\\\\n    field,\\\\\\n    file,\\\\\\n    fires,\\\\\\n    function,\\\\\\n    global,\\\\\\n    hassoydelcall,\\\\\\n    hassoydeltemplate,\\\\\\n    id,\\\\\\n    idGenerator,\\\\\\n    ignore,\\\\\\n    inner,\\\\\\n    instance,\\\\\\n    kind,\\\\\\n    lends,\\\\\\n    link,\\\\\\n    meaning,\\\\\\n    member,\\\\\\n    memberOf,\\\\\\n    memberof,\\\\\\n    method,\\\\\\n    methodOf,\\\\\\n    mixes,\\\\\\n    mixin,\\\\\\n    modName,\\\\\\n    model,\\\\\\n    modifies,\\\\\\n    mods,\\\\\\n    module,\\\\\\n    multiElement,\\\\\\n    name,\\\\\\n    namespace,\\\\\\n    ngInject,\\\\\\n    ngdoc,\\\\\\n    nocompile,\\\\\\n    package,\\\\\\n    param,\\\\\\n    parent,\\\\\\n    pintomodule,\\\\\\n    preserveTry,\\\\\\n    priority,\\\\\\n    private,\\\\\\n    property,\\\\\\n    propertyOf,\\\\\\n    protected,\\\\\\n    provideGoog,\\\\\\n    public,\\\\\\n    readonly,\\\\\\n    requirecss,\\\\\\n    requires,\\\\\\n    restrict,\\\\\\n    returns,\\\\\\n    scope,\\\\\\n    see,\\\\\\n    since,\\\\\\n    stableIdGenerator,\\\\\\n    static,\\\\\\n    struct,\\\\\\n    summary,\\\\\\n    supported,\\\\\\n    this,\\\\\\n    throws,\\\\\\n    todo,\\\\\\n    tutorial,\\\\\\n    type,\\\\\\n    typedef,\\\\\\n    url,\\\\\\n    usage,\\\\\\n    version,\\\\\\n    virtual,\\\\\\n    visibility,\\\\\\n    wizSupportsSymbolicLookup,\\\\\\n    wizaction,\\\\\\n    wizmodule\\n\\n# Comma-delimited list of valid suppressions.\\n# This should be a subset of the list of DiagnosticGroups.\\njsdoc.suppressions =\\\\\\n    accessControls,\\\\\\n    ambiguousFunctionDecl,\\\\\\n    checkDebuggerStatement,\\\\\\n    checkRegExp,\\\\\\n    checkTypes,\\\\\\n    checkVars,\\\\\\n    closureDepMethodUsageChecks,\\\\\\n    const,\\\\\\n    constantProperty,\\\\\\n    deprecated,\\\\\\n    duplicate,\\\\\\n    es5Strict,\\\\\\n    externsValidation,\\\\\\n    extraProvide,\\\\\\n    extraRequire,\\\\\\n    fileoverviewTags,\\\\\\n    globalThis,\\\\\\n    invalidCasts,\\\\\\n    legacyGoogScopeRequire,\\\\\\n    lateProvide,\\\\\\n    lintChecks,\\\\\\n    messageConventions,\\\\\\n    misplacedTypeAnnotation,\\\\\\n    missingOverride, \\\\\\n    missingPolyfill, \\\\\\n    missingProperties,\\\\\\n    missingProvide,\\\\\\n    missingRequire,\\\\\\n    missingReturn,\\\\\\n    newCheckTypes,\\\\\\n    newCheckTypesAllChecks,\\\\\\n    nonStandardJsDocs,\\\\\\n    reportUnknownTypes,\\\\\\n    strictModuleDepCheck,\\\\\\n    suspiciousCode,\\\\\\n    transitionalSuspiciousCodeWarnings,\\\\\\n    undefinedNames,\\\\\\n    undefinedVars,\\\\\\n    underscore,\\\\\\n    unknownDefines,\\\\\\n    unnecessaryCasts,\\\\\\n    unusedLocalVariables,\\\\\\n    unusedPrivateMembers,\\\\\\n    uselessCode,\\\\\\n    visibility,\\\\\\n    with\\n\\n# A comma-delimited list of reserved words that we should not rename variables\\n# to. Used wh';
a.a+='en an extension is released that steps on globals.\\n# This prevents the compiler from renaming variables to these names, but not\\n# from allowing externs for these names.\\n#\\n# i,j - common loop variables often overwritten by browser extensions\\n# s \u2013 commonly defined by browser extensions when injecting scripts.\\n# $j,$ - common jquery aliases often overwritten by browser extensions\\n# o - overwritten by Norton Identity Protection\'s Chrome extension.\\ncompiler.reserved.vars = i,j,s,$,$j,o\\n","rhino/Messages.properties":"#\\n# Default JavaScript messages file.\\n#\\n# ***** BEGIN LICENSE BLOCK *****\\n# Version: MPL 1.1/GPL 2.0\\n#\\n# The contents of this file are subject to the Mozilla Public License Version\\n# 1.1 (the \\"License\\"); you may not use this file except in compliance with\\n# the License. You may obtain a copy of the License at\\n# http://www.mozilla.org/MPL/\\n#\\n# Software distributed under the License is distributed on an \\"AS IS\\" basis,\\n# WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License\\n# for the specific language governing rights and limitations under the\\n# License.\\n#\\n# The Original Code is Rhino code, released\\n# May 6, 1999.\\n#\\n# The Initial Developer of the Original Code is\\n# Netscape Communications Corporation.\\n# Portions created by the Initial Developer are Copyright (C) 1997-1999\\n# the Initial Developer. All Rights Reserved.\\n#\\n# Contributor(s):\\n#   Norris Boyd\\n#   Bob Jervis\\n#   Pascal-Louis Perez\\n#\\n# Alternatively, the contents of this file may be used under the terms of\\n# the GNU General Public License Version 2 or later (the \\"GPL\\"), in which\\n# case the provisions of the GPL are applicable instead of those above. If\\n# you wish to allow use of your version of this file only under the terms of\\n# the GPL and not to allow others to use your version of this file under the\\n# MPL, indicate your decision by deleting the provisions above and replacing\\n# them with the notice and other provisions required by the GPL. If you do\\n# not delete the provisions above, a recipient may use your version of this\\n# file under either the MPL or the GPL.\\n#\\n# ***** END LICENSE BLOCK *****\\n\\n# This is replaced during jar assembly from property string\\n# and should not be translated\\nimplementation.version = @IMPLEMENTATION.VERSION@\\n\\n#\\n# To add JavaScript error messages for a particular locale, create a\\n# new Messages_[locale].properties file, where [locale] is the Java\\n# string abbreviation for that locale.  For example, JavaScript\\n# messages for the Polish locale should be located in\\n# Messages_pl.properties, and messages for the Italian Swiss locale\\n# should be located in Messages_it_CH.properties.  Message properties\\n# files should be accessible through the classpath under\\n# org.mozilla.javascript.resources\\n#\\n# See:\\n# java.util.ResourceBundle\\n# java.text.MessageFormat\\n#\\n\\n# SomeJavaClassWhereUsed\\n\\n# Codegen\\nmsg.dup.parms =\\\\\\n    Duplicate parameter name \\"{0}\\".\\n\\nmsg.unexpected.eof =\\\\\\n    Unexpected end of file\\n\\nmsg.extra.trailing.comma =\\\\\\n    Trailing comma is not legal in an ECMA-262 object initializer\\n\\nmsg.end.annotation.expected =\\\\\\n    expected end of line or comment.\\n\\nmsg.bad.jsdoc.tag =\\\\\\n    illegal use of unknown JSDoc tag \\"{0}\\"; ignoring it\\n\\nmsg.bad.fileoverview.visibility.annotation =\\\\\\n    {0} visibility not allowed in @fileoverview block\\n\\nmsg.missing.variable.name =\\\\\\n    expecting a variable name in a @param tag.\\n\\nmsg.dup.variable.name =\\\\\\n    duplicate variable name \\"{0}\\"\\n\\nmsg.invalid.variable.name =\\\\\\n    invalid param name \\"{0}\\"\\n\\nmsg.jsdoc.incompat.type =\\\\\\n    type annotation incompatible with other annotations.\\n\\nmsg.jsdoc.type.syntax =\\\\\\n    type not recognized due to syntax error.\\n\\nmsg.jsdoc.override =\\\\\\n    extra @override/@inheritDoc tag.\\n\\nmsg.jsdoc.final =\\\\\\n    extra @final tag.\\n\\nmsg.jsdoc.extra.visibility=\\\\\\n    extra visibility tag\\n\\nmsg.jsdoc.idgen.duplicate =\\\\\\n    extra @idGenerator tag\\n\\nmsg.jsdoc.idgen.bad =\\\\\\n    malformed @idGenerator tag\\n\\nmsg.jsdoc.wizaction =\\\\\\n    extra @wizaction tag\\n\\nmsg.jsdoc.idgen.unknown =\\\\\\n    unknown @idGenerator parameter: {0}\\n\\nmsg.jsdoc.hidden =\\\\\\n    extra @hidden tag\\n\\nmsg.jsdoc.consistidgen =\\\\\\n    extra @consistentIdGenerator tag\\n\\nmsg.jsdoc.const =\\\\\\n    conflicting @const tag\\n\\nmsg.jsdoc.desc.extra =\\\\\\n    extra @desc tag\\n\\nmsg.jsdoc.meaning.extra =\\\\\\n    extra @meaning tag\\n\\nmsg.jsdoc.fileoverview.extra =\\\\\\n    extra @fileoverview tag\\n\\nmsg.jsdoc.lends.incompatible =\\\\\\n    @lends tag incompatible with other annotations.\\n\\nmsg.jsdoc.lends.missing =\\\\\\n    missing object name in @lends tag.\\n\\nmsg.jsdoc.preserve.nobuilder =\\\\\\n    @preserve or @license annotation without file to associate it with\\n\\nmsg.jsdoc.missing.lp =\\\\\\n    missing opening (\\n\\nmsg.jsdoc.missing.braces =\\\\\\n    Type annotations should have curly braces.\\n\\nmsg.jsdoc.missing.rc =\\\\\\n    expected closing }\\n\\nmsg.jsdoc.missing.rp =\\\\\\n    missing closing )\\n\\nmsg.jsdoc.missing.gt =\\\\\\n    missing closing >\\n\\nmsg.jsdoc.missing.rb =\\\\\\n    missing closing ]\\n\\nmsg.jsdoc.missing.colon =\\\\\\n    expecting colon after this\\n\\nmsg.jsdoc.function.this =\\\\\\n    expecting this but {0} found\\n\\nmsg.jsdoc.function.newnotobject =\\\\\\n    constructed type must be an object type\\n\\nmsg.jsdoc.function.varargs =\\\\\\n    variable length argument must be last.\\n\\nmsg.jsdoc.type.union =\\\\\\n    union type element with bad syntax\\n\\nmsg.jsdoc.type.record.duplicate =\\\\\\n    Duplicate record field {0}.\\n\\nmsg.jsdoc.enum =\\\\\\n    conflicting @enum tag\\n\\nmsg.jsdoc.constructor =\\\\\\n    conflicting @constructor tag\\n\\nmsg.jsdoc.deprecated =\\\\\\n    extra @deprecated tag\\n\\nmsg.jsdoc.interface =\\\\\\n    extra @interface tag\\n\\nmsg.jsdoc.interface.constructor =\\\\\\n  cannot be both an interface and a constructor.\\n\\nmsg.jsdoc.record =\\\\\\n  conflicting @record tag.\\n\\nmsg.jsdoc.implements.duplicate =\\\\\\n    duplicate @implements tag.\\n\\nmsg.jsdoc.noalias =\\\\\\n    extra @noalias tag\\n\\nmsg.jsdoc.nosideeffects =\\\\\\n    conflicting @nosideeffects tag\\n\\nmsg.jsdoc.implicitcast =\\\\\\n    extra @implicitCast tag.\\n\\nmsg.jsdoc.this =\\\\\\n    conflicting @this tag\\n\\nmsg.jsdoc.this.object =\\\\\\n    @this must specify an object type\\n\\nmsg.jsdoc.type =\\\\\\n    conflicting @type tag\\n\\nmsg.jsdoc.define =\\\\\\n    conflicting @define tag\\n\\nmsg.jsdoc.define.badtype =\\\\\\n    @define tag only permits literal types\\n\\nmsg.jsdoc.extends =\\\\\\n    conflicting @extends tag\\n\\nmsg.jsdoc.extends.duplicate =\\\\\\n    duplicate @extends tag\\n\\nmsg.jsdoc.export =\\\\\\n    extra @export tag\\n\\nmsg.jsdoc.expose =\\\\\\n    extra @expose tag\\n\\nmsg.jsdoc.externs =\\\\\\n    extra @externs tag\\n\\nmsg.jsdoc.nocompile =\\\\\\n    extra @nocompile tag\\n\\nmsg.jsdoc.nocollapse =\\\\\\n    extra @nocollapse tag\\n\\nmsg.jsdoc.seemissing =\\\\\\n    @see tag missing description\\n\\nmsg.jsdoc.authormissing =\\\\\\n    @author tag missing author\\n\\nmsg.jsdoc.versionmissing =\\\\\\n    @version tag missing version information\\n\\nmsg.jsdoc.extraversion =\\\\\\n    conflicting @version tag\\n\\nmsg.jsdoc.suppress =\\\\\\n    malformed @suppress tag\\n\\nmsg.jsdoc.suppress.duplicate =\\\\\\n    duplicate @suppress tag\\n\\nmsg.jsdoc.suppress.unknown =\\\\\\n    unknown @suppress parameter: {0}\\n\\nmsg.jsdoc.modifies =\\\\\\n    malformed @modifies tag\\n\\nmsg.jsdoc.modifies.duplicate =\\\\\\n    conflicting @modifies tag\\n\\nmsg.jsdoc.modifies.unknown =\\\\\\n    unknown @modifies parameter: {0}\\n\\nmsg.jsdoc.polymerBehavior.extra =\\\\\\n    extra @polymerBehavior tag\\n\\nmsg.jsdoc.stableidgen =\\\\\\n    extra @stableIdGenerator tag\\n\\nmsg.jsdoc.templatemissing =\\\\\\n    @template tag missing type name.\\n\\nmsg.jsdoc.template.name.declared.twice =\\\\\\n    Type name(s) for @template annotation declared twice.\\n\\nmsg.jsdoc.template.invalid.type.name =\\\\\\n    Invalid type name(s) for @template annotation.\\n\\nmsg.jsdoc.disposeparameter.missing =\\\\\\n    @disposes tag missing parameter name.\\n\\nmsg.jsdoc.disposeparameter.error =\\\\\\n    @disposes parameter unknown or parameter specified multiple times.\\n\\nmsg.jsdoc.jaggerInject.extra =\\\\\\n    extra @jaggerInject tag\\n\\nmsg.jsdoc.jaggerModule.extra =\\\\\\n    extra @jaggerModule tag\\n\\nmsg.jsdoc.jaggerProvidePromise.extra =\\\\\\n    extra @jaggerProvidePromise tag\\n\\nmsg.jsdoc.jaggerProvide.extra =\\\\\\n    extra @jaggerProvide tag\\n\\nmsg.jsdoc.nginject.extra =\\\\\\n    extra @ngInject tag\\n\\nmsg.no.type.name =\\\\\\n    expecting a type name.\\n\\nmsg.jsdoc.typetransformation.missing.delimiter =\\\\\\n    Expected end delimiter for a type transformation.\\n\\nmsg.jsdoc.typetransformation.with.multiple.names =\\\\\\n    Type transformation must be associated to a single type name.\\n\\nmsg.jsdoc.typetransformation.expression.missing =\\\\\\n    Missing type transformation expression.\\n\\nmsg.jsdoc.typetransformation.invalid =\\\\\\n    Invalid {0}\\n\\nmsg.jsdoc.typetransformation.invalid.expression =\\\\\\n    Invalid {0} expression\\n\\nmsg.jsdoc.typetransformation.missing.param =\\\\\\n    Missing parameter in {0}\\n\\nmsg.jsdoc.typetransformation.extra.param =\\\\\\n    Found extra parameter in {0}\\n\\nmsg.jsdoc.typetransformation.invalid.inside =\\\\\\n    Invalid expression inside {0}\\n"}\n';
return a.a}var Wzc="object",Xzc="boolean",Yzc="number",Zzc="function",$zc="string",_zc=2147483647,aAc="\\\\",bAc={3:1,4:1,11:1},cAc={85:1,3:1},dAc=65536,eAc=55296,fAc=1023,gAc=65535,hAc=56320,iAc="null",jAc={3:1},kAc="use Optional.orNull() instead of Optional.or(null)",lAc={29:1},mAc="0123456789ABCDEF",nAc={97:1,50:1,51:1},oAc=", ",pAc={16:1,19:1},qAc={3:1,4:1},rAc={16:1,19:1,48:1},sAc="%s (%s) must not be negative",tAc="index",uAc="negative size: ",vAc={3:1,15:1,4:1},wAc={50:1,131:1,3:1,23:1,14:1,
51:1},xAc={16:1},yAc={107:1,29:1},zAc={107:1,29:1,148:1},AAc={114:1,3:1},BAc={49:1},CAc={16:1,19:1,31:1},DAc="no calls to next() since the last call to remove()",EAc={16:1,19:1,48:1,76:1},FAc={29:1,148:1},GAc={16:1,19:1,31:1,122:1},HAc={16:1,19:1,203:1,31:1,122:1},IAc="occurrences cannot be negative: %s",JAc={223:1,58:1},KAc={71:1,3:1,16:1,19:1},LAc={71:1,112:1,3:1,16:1,19:1,48:1,76:1},MAc={3:1,4:1,149:1},NAc={119:1,3:1,49:1},OAc={71:1,130:1,3:1,16:1,19:1,31:1},PAc={58:1},QAc={564:1,3:1},RAc={404:1,
3:1},SAc=1073741824,TAc="expectedKeys",UAc="limit is negative",VAc="position (",WAc="expectedValuesPerKey",XAc=461845907,YAc=-862048943,ZAc={138:1,187:1,3:1,23:1,14:1,139:1},$Ac={138:1,139:1},_Ac="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",aBc={384:1,3:1},bBc="__noinit__",cBc="__java$exception",dBc="stack",eBc={3:1,40:1},fBc="\n",gBc={3:1,41:1,40:1},hBc=-2147483648,iBc={l:0,m:0,h:524288},jBc={135:1,3:1},kBc=1114111,lBc="String",mBc="anonymous",nBc="fnStack",oBc="Unknown",pBc=
4194303,qBc=1048575,rBc=524288,sBc=4194304,tBc=17592186044416,uBc=4095,vBc=-17592186044416,wBc="CSS1Compat",xBc={206:1},yBc="ERROR",zBc="WARNING",ABc="OFF",BBc="Expected 0 children, but was ",CBc="Expected ",DBc=" children, but was ",EBc="Expected assignment target expression but was ",FBc="Expected 1 children, but was ",GBc="Expected 2 children, but was ",HBc="Expected child count in [1, 2], but was ",IBc="Feature 'template literal' is only allowed in ES6 mode.",JBc="Expected child count in [0, 1], but was ",
KBc="Expected non-null string.",LBc="Expected non-empty string.",MBc="Invalid child for ",NBc="Expected unnamed function expression.",OBc="Expected child count in [2, 3], but was ",PBc={59:1},QBc={573:1,3:1,4:1},RBc={123:1},SBc={26:1},TBc="cannot reference {2} because of a missing module dependency\ndefined in module {1}, referenced from module {0}",UBc="Missing return statement. Function expected to return {0}.",VBc="missing require: ''{0}''",WBc="JSC_AT_EXPORT_IN_GOOG_MODULE",XBc="goog",YBc="Invalid name '%s'. Did you mean to use NodeUtil.newQName?",
ZBc={35:1,3:1,4:1},$Bc="getInstance",_Bc="goog.bind",aCc="goog.partial",bCc="goog$partial",cCc="goog.provide",dCc="goog.module",eCc="goog.require",fCc="prototype",gCc="goog.addSingletonGetter",hCc="goog$addSingletonGetter",iCc="JSC_LATE_PROVIDE_ERROR",jCc="use strict",kCc="finally",lCc="return",mCc="Unexpected Node subclass.",nCc="async",oCc="...",pCc="export",qCc="default",rCc="from",sCc="import",tCc="class",uCc="extends",vCc="implements",wCc="while",xCc="this",yCc="super",zCc="new.target",ACc="false",
BCc="true",CCc="continue",DCc="Unexpected token type. Should be LABEL_NAME.",ECc="debugger",FCc="void",GCc="interface",HCc="enum",ICc="namespace",JCc="type",KCc="declare",LCc="async function",MCc="Function.prototype.bind.call",NCc="only implemented in ClosureCodingConvention",OCc="$jscomp.inherits",PCc="$jscomp$inherits",QCc="JSC_MISSING_ENTRY_ERROR",RCc="JSC_OPTIMIZE_LOOP_ERROR",SCc="generateReport",TCc="recordFunctionInformation",UCc=".js",VCc=" [synthetic:",WCc="unexpected language mode: ",XCc=
"{SyntheticVarsDeclar}",YCc=32768,ZCc=131072,$Cc="toSource",_Cc="externExports",aDc="parseInputs",bDc="runTranspileOnlyPasses",cDc="runWhitespaceOnlyPasses",dDc={74:1},eDc="module",fDc="es3",gDc="checkTypes",hDc="collapseObjectLiterals",iDc="crossModuleCodeMotion",jDc="crossModuleMethodMotion",kDc="inlineFunctions",lDc="inlineVariables",mDc="locale",nDc="removeUnusedClassProperties",oDc="removeUnusedPrototypeProperties",pDc="removeUnusedVars",qDc="FALSE",rDc="TRUE",sDc="ECMASCRIPT3",tDc="ECMASCRIPT5",
uDc="ECMASCRIPT6",vDc="ECMASCRIPT7",wDc="ECMASCRIPT8",xDc={177:1,3:1},yDc={3:1,123:1},zDc="{0}",ADc="reportUnknownTypes",BDc="analyzerChecks",CDc="oldReportUnknownTypes",DDc="deprecated",EDc="inferredConstCheck",FDc="fileoverviewTags",GDc="uselessCode",HDc="const",IDc="duplicate",JDc="missingProvide",KDc="missingRequire",LDc="unnecessaryCasts",MDc={128:1,3:1,23:1,14:1},NDc=134217728,ODc="apply",PDc="arguments",QDc="var_args",RDc="call",SDc="constructor",TDc={59:1,26:1},UDc={50:1,51:1},VDc="Error",
WDc="RangeError",XDc="ReferenceError",YDc="SyntaxError",ZDc="Array",$Dc="Boolean",_Dc="Function",aEc="Number",bEc="RegExp",cEc="Symbol",dEc="Object",eEc="$jscomp$tmp$error",fEc="message",gEc="$jscomp$super$this",hEc="undefined",iEc="%20",jEc="%5B",kEc="%5D",lEc="%3C",mEc="%3E",nEc="^\\.",oEc="$jscomp$arguments",pEc="$jscomp$this",qEc="$jscomp$destructuring$var",rEc="next",sEc="value",tEc="$jscomp$generator$forin$array",uEc="$jscomp$generator$forin$var",vEc="$jscomp$generator$forin$iter",wEc="$jscomp$generator$state",
xEc="done",yEc="es6/symbol",zEc="$jscomp$generator$arguments",AEc="$jscomp$generator$this",BEc="$jscomp$generator$first$do",CEc="$jscomp$generator$global$errortemp",DEc="$jscomp$generator$global$error",EEc="$jscomp$generator$throw$arg",FEc="$jscomp$generator$yield$all",GEc="$jscomp$generator$yield$entry",HEc="$jscomp$generator$next$arg",IEc="JSC_CANNOT_CONVERT",JEc=".prototype",KEc=-536870912,LEc=2097152,MEc=8388608,NEc="util/global",OEc="$jscomp.global.Object.defineProperties",PEc=536870912,QEc=
1024,REc="$jscomp$key$",SEc="Symbol.iterator",TEc="$jscomp$restParams",UEc="$jscomp$restIndex",VEc="$jscomp$",WEc="Unexpected.",XEc=1610612736,YEc="@implements used without @constructor or @interface for {0}",ZEc="parameter {0} does not appear in {1}''s parameter list",$Ec=".prototype.",_Ec=67108864,aFc="CLASS",bFc="FUNCTION",cFc="property {0} on interface {1} is not implemented by type {2}",dFc="interface member functions must have an empty body",eFc="IObject",fFc="IObject<K,V>#index",gFc="Window",
hFc=16384,iFc="window",jFc="%anon_fun",kFc="Object{}",lFc=268435456,mFc="%getter_fun",nFc="%setter_fun",oFc="goog.getMsg",pFc="java.lang.Integer",qFc="java/lang/Integer.impl.java.js",rFc="java.lang.Float",sFc="java/lang/Float.impl.java.js",tFc="goog.math.Long",uFc="closure/goog/math/long.js",vFc="throws",wFc="@template ",xFc="typedef",yFc={3:1,41:1,37:1,40:1},zFc={26:1,889:1},AFc="module$",BFc='Constructor {0} should be called with the "new" keyword',CFc="Illegal key, the object literal is a {0}",
DFc="Cannot use the IN operator with structs",EFc="Property {0} never defined on {1}",FFc="Function {0}: called with {1} argument(s). Function requires at least {2} argument(s){3}.",GFc="Cannot do {0} access on a {1}",HFc="unknown type: {0}",IFc="Abstract method {0} cannot be called",JFc="Infinity",KFc="typeof",LFc="instanceof",MFc=1048576,NFc="Unexpected const change.\n  name: ",OFc="JSC_BASE_CLASS_ERROR",PFc='Failed to load module "{0}"',QFc="$jscompDefaultExport",RFc="$jscomp$async$this",SFc="$jscomp$async$arguments",
TFc="$jscomp$async$generator",UFc="$jscomp",VFc="es6-impl",WFc="$jscomp.polyfill",XFc="Parse error. {0}",YFc="Keywords and reserved words are not allowed as unquoted property names in older versions of JavaScript. If you are targeting newer versions of JavaScript, set the appropriate language_in option.",ZFc="Can only have JSDoc or inline type annotations, not both",$Fc="Trailing comma is not legal in an ECMA-262 object initializer",_Fc="msg.bad.jsdoc.tag",aGc="Non-JSDoc comment has annotations. Did you mean to start it with '/**'?",
bGc="Sanity Check failed",cGc={179:1,3:1,23:1,14:1},dGc={154:1,887:1,3:1},eGc={50:1,185:1,3:1,23:1,14:1,51:1},fGc={184:1,3:1,23:1,14:1},gGc="DEFAULT",hGc="JSC_INEXISTENT_PROPERTY",iGc="{1} cannot extend this type; {0}s can only extend {0}s",jGc="{0} cannot implement this type; an interface can only extend, but not implement interfaces",kGc={138:1,279:1,3:1,23:1,14:1,139:1},lGc="Expected state DURING_RESOLUTION but found %s",mGc="NOT_RESOLVED",nGc="DURING_RESOLUTION",oGc="LOOSE_TOP_FUNCTION",pGc="TOP_FUNCTION",
qGc="FALSE_TYPE",rGc="NULL",sGc="NUMBER",tGc="STRING",uGc="TOP_SCALAR",vGc="TRUTHY",wGc="UNKNOWN",xGc="UNDEFINED_OR_BOOLEAN",yGc="UNDEFINED_OR_NUMBER",zGc="UNDEFINED_OR_STRING",AGc="NULL_OR_BOOLEAN",BGc="NULL_OR_NUMBER",CGc="NULL_OR_STRING",DGc="NULL_OR_UNDEFINED",EGc="NUMBER_OR_STRING",FGc={132:1,62:1},GGc="QMARK_FUNCTION",HGc="BOTTOM_FUNCTION",IGc={557:1,49:1},JGc="Type variable %s not in the domain: %s",KGc="IArrayLike",LGc="CONSTRUCTOR",MGc="ENUM",NGc="EXTENDS",OGc="EXPORT",PGc="IMPLEMENTS",QGc=
"INTERFACE",RGc="PACKAGE",SGc="PRIVATE",TGc="PROTECTED",UGc="PUBLIC",VGc="RETURN",WGc="THIS",XGc="TYPE",YGc="package",ZGc="private",$Gc="protected",_Gc="public",aHc="static",bHc="Octal integer literals are not supported in Ecmascript 5 strict mode.",cHc="Invalid octal digit in octal literal.",dHc="unexpected: ",eHc="this language feature is only supported for ",fHc=" mode or better: ",gHc="__missing_expression__",hHc="unique",iHc="consistent",jHc="Bad type annotation. ",kHc=" See https://github.com/google/closure-compiler/wiki/Bad-Type-Annotation for more information.",
lHc="msg.jsdoc.incompat.type",mHc="msg.jsdoc.interface.constructor",nHc="msg.jsdoc.missing.rc",oHc="msg.jsdoc.template.name.declared.twice",pHc="msg.jsdoc.extra.visibility",qHc="msg.jsdoc.type.syntax",rHc="msg.jsdoc.missing.rp",sHc="msg.jsdoc.idgen.bad",tHc="msg.jsdoc.idgen.duplicate",uHc="msg.jsdoc.modifies",vHc="msg.jsdoc.suppress",wHc="ANNOTATION",xHc="com.google.javascript.jscomp.parsing.ParserConfig",yHc="Expected a call node, found %s",zHc="msg.jsdoc.typetransformation.invalid",AHc="type transformation",
BHc="msg.jsdoc.typetransformation.invalid.expression",CHc="msg.jsdoc.typetransformation.invalid.inside",DHc="conditional",EHc="map function",FHc="Expected a function node, found %s",GHc="msg.jsdoc.typetransformation.missing.param",HHc="msg.jsdoc.typetransformation.extra.param",IHc="map function body",JHc="template type operation",KHc="INSTANCEOF",LHc="unknown",MHc="SUPER",NHc="NEW_TARGET",OHc="AMBIENT_DECLARATION",PHc="CALL_SIGNATURE",QHc="INDEX_SIGNATURE",RHc="NAMESPACE_DECLARATION",SHc="OPTIONAL_PARAMETER",
THc="TYPE_ALIAS",UHc="CATCH",VHc="CONTINUE",WHc="DEBUGGER",XHc="delete",YHc="FINALLY",ZHc="SWITCH",$Hc="TYPEOF",_Hc="IMPORT",aIc="DECLARE",bIc="NAMESPACE",cIc="No newline allowed before '=>'",dIc="'%s' expected",eIc="invalid assignment target",fIc="async functions cannot be generators",gIc="invalid parenthesized expression",hIc="cannot use keyword '%s' here.",iIc="unreachable",jIc="invalid arrow function parameters",kIc="Unterminated template literal",lIc="ARRAY_PATTERN",mIc="OBJECT_PATTERN",nIc=
"ARRAY_TYPE",oIc="RECORD_TYPE",pIc="UNION_TYPE",qIc="FUNCTION_TYPE",rIc="GENERIC_TYPE_LIST",sIc=4294967295,tIc="Bit index should be non-negative integer",uIc="String has leading or trailing whitespace",vIc="The new child node has next siblings.",wIc="The new child node has previous siblings.",xIc="The new child node already has a parent.",yIc="Number node not created with Node.newNumber",zIc="String node not created with Node.newString",AIc=" is not a string node",BIc="StringNode: str is null",CIc=
"com.google.javascript.rhino.Messages",DIc="STRING_TYPE",EIc="BOOLEAN_TYPE",FIc="NUMBER_TYPE",GIc={62:1,20:1,3:1},HIc={62:1,20:1,56:1,3:1},IIc="Expected a constructor; got %s",JIc={62:1,72:1,20:1,56:1,3:1},KIc={159:1,3:1,23:1,14:1},LIc='For input string: "',MIc={23:1,176:1},NIc="_gwt_modCount",OIc={3:1,16:1,19:1,48:1,76:1},PIc={3:1,16:1,19:1,31:1},QIc={3:1,16:1,19:1,48:1},RIc={3:1,49:1},SIc={3:1,23:1,14:1,142:1},TIc={3:1,4:1,955:1},UIc="Invalid UTF8 sequence",VIc=", length: ",WIc="fromIndex: ",XIc=
", toIndex: ",YIc="user.agent";var _,nV,iV,PU=-1;oV();pV(1,null,{},lb);_.xd=function mb(a){return this===a};_.yd=function ob(){return this.jj};_.zd=function qb(){return Nzc(this)};_.Ad=function sb(){return sic(pb(this))+"@"+(rb(this)>>>0).toString(16)};_.equals=function(a){return this.xd(a)};_.hashCode=function(){return this.zd()};_.toString=function(){return this.Ad()};var HD,ID,JD;pV(386,1,{},uic);_.Vi=function vic(a){var b;b=new uic;b.g=4;a>1?b.c=Cic(this,a-1):b.c=this;return b};_.Wi=function Bic(){qic(this);
return this.b};_.Ig=function Dic(){return sic(this)};_.Xi=function Fic(){return tic(this)};_.Yi=function Hic(){return(this.g&4)!=0};_.Zi=function Iic(){return(this.g&1)!=0};_.Ad=function Lic(){return((this.g&2)!=0?"interface ":(this.g&1)!=0?"":"class ")+(qic(this),this.o)};_.g=0;_.j=0;var pic=1;JD={3:1,387:1,23:1,2:1};var AS=xic(1);var lS=xic(386);var FS=xic(2);pV(898,1,jAc);var tE=xic(898);pV(629,898,jAc,vb);_.xd=function wb(a){return a===this};_.Bd=function xb(){throw RU(new Xic("Optional.get() cannot be called on an absent value"));
};_.zd=function yb(){return 2040732332};_.Cd=function zb(){return false};_.Dd=function Ab(a){return ie(a,kAc)};_.Ad=function Bb(){return"Optional.absent()"};var tb;var ZD=xic(629);var WT=zic();pV(605,1,lAc);_.Ed=function Fb(){return Cb(this)};_.Fd=function Gb(){return Db(this)};_.Gd=function Hb(){throw RU(new Okc);};_.i=1;var $D=xic(605);var vE=zic();pV(97,1,nAc);_.Hd=function Pb(a){return this.Id(a.a)};_.xd=function Qb(a){return this===a};_.Ad=function Sb(){return sic(this.jj)+"@"+(rb(this)>>>0).toString(16)};
_.Jd=function Tb(a){var b,c;c=a.length;for(b=c-1;b>=0;b--)if(!this.Id(a.charCodeAt(b)))return nkc(a.substr(0,b+1));return""};var mE=xic(97);pV(604,97,nAc,Ub);_.Id=function Vb(a){return Toc(this.a,a)>=0};_.Ad=function Wb(){var a,b,c,d,e;e=new Lkc('CharMatcher.anyOf("');for(b=this.a,c=0,d=b.length;c<d;++c){a=b[c];Ekc(e,Rb(a))}e.a+='")';return e.a};var _D=xic(604);pV(897,97,nAc);var bE=xic(897);pV(302,897,nAc);_.Ad=function Yb(){return this.a};var hE=xic(302);pV(599,302,nAc,ac);_.Id=function bc(a){return _b(a)};
var Zb;var aE=xic(599);pV(405,897,nAc,cc);_.Id=function dc(a){return this.b<=a&&a<=this.a};_.Ad=function ec(){return"CharMatcher.inRange('"+Rb(this.b)+"', '"+Rb(this.a)+"')"};_.a=0;_.b=0;var cE=xic(405);pV(600,97,nAc);_.Id=function hc(a){return fc(this,a)};_.Ad=function ic(){return this.a};var kE=xic(600);pV(603,600,nAc,lc);var jc;var dE=xic(603);pV(80,897,nAc,nc);_.Id=function oc(a){return mc(this,a)};_.Ad=function pc(){return"CharMatcher.is('"+Rb(this.a)+"')"};_.a=0;var eE=xic(80);pV(601,97,nAc,
sc);_.Id=function tc(a){return/[A-Z\d]/i.test(String.fromCharCode(a))};_.Ad=function uc(){return"CharMatcher.javaLetterOrDigit()"};var qc;var fE=xic(601);pV(602,97,nAc,yc);_.Id=function zc(a){return xc(a)};_.Ad=function Ac(){return"CharMatcher.javaUpperCase()"};var vc;var gE=xic(602);pV(597,302,nAc,Dc);_.Id=function Ec(a){return false};_.Jd=function Fc(a){return Bzc(a),a};var Bc;var iE=xic(597);pV(303,97,nAc,Hc);_.Id=function Ic(a){return Gc(this,a)};_.Ad=function Jc(){return"CharMatcher.or("+this.a+
oAc+this.b+")"};var jE=xic(303);pV(598,302,nAc,Nc);_.Id=function Oc(a){return Qjc("\u2002\u3000\r\u0085\u200a\u2005\u2000\u3000\u2029\x0B\u3000\u2008\u2003\u205f\u3000\u1680\t \u2006\u2001\u202f\u00a0\f\u2009\u3000\u2004\u3000\u3000\u2028\n\u2007\u3000",1682554634*a>>>Lc)==a};var Kc,Lc=0;var lE=xic(598);pV(55,1,{},Vc);_.Ld=function Xc(a){return Tc(a)};var qE=xic(55);pV(639,55,{},Zc);_.Ld=function $c(a){return Yc(this,a)};var nE=xic(639);pV(914,1,pAc);_.add=function gd(a){throw RU(new Pkc("Add not supported on this collection"));
};_.addAll=function hd(a){return _c(this,a)};_.clear=function jd(){bd(this)};_.contains=function kd(a){return ad(this,a,false)};_.containsAll=function ld(a){return cd(this,a)};_.isEmpty=function md(){return this.size()==0};_.remove=function nd(a){return ad(this,a,true)};_.removeAll=function od(a){return dd(this,a)};_.retainAll=function pd(a){return ed(this,a)};_.toArray=function qd(){return this.Nd(XC(AS,qAc,1,this.size(),5,1))};_.Nd=function rd(a){var b,c,d,e,f;f=this.size();a.length<f&&(a=(e=new Array(f),
_C(e,a)));d=a;c=this.Md();for(b=0;b<f;++b)d[b]=c.Fd();a.length>f&&(a[f]=null);return a};_.Ad=function sd(){return fd(this)};var NS=xic(914);pV(916,914,rAc);_.addAtIndex=function vd(a,b){throw RU(new Pkc("Add not supported on this list"));};_.add=function wd(a){this.addAtIndex(this.size(),a);return true};_.addAllAtIndex=function xd(a,b){var c,d,e;Bzc(b);c=false;for(e=b.Md();e.Ed();){d=e.Fd();this.addAtIndex(a++,d);c=true}return c};_.clear=function yd(){this.Qd(0,this.size())};_.xd=function zd(a){return td(this,
a)};_.zd=function Ad(){return Jpc(this)};_.indexOf=function Bd(a){return ud(this,a)};_.Md=function Cd(){return new Ylc(this)};_.lastIndexOf=function Dd(a){var b;for(b=this.size()-1;b>-1;--b)if(hwc(a,this.getAtIndex(b)))return b;return-1};_.Od=function Ed(){return this.Pd(0)};_.Pd=function Fd(a){return new bmc(this,a)};_.removeAtIndex=function Gd(a){throw RU(new Pkc("Remove not supported on this list"));};_.Qd=function Hd(a,b){var c,d;d=this.Pd(a);for(c=a;c<b;++c){d.Fd();d.Gd()}};_.setAtIndex=function Id(a,
b){throw RU(new Pkc("Set not supported on this list"));};_.subList=function Jd(a,b){return new hmc(this,a,b)};var US=xic(916);pV(417,916,rAc,Kd);_.getAtIndex=function Ld(a){switch(a){case 0:return this.a;case 1:return this.c;default:return this.b[a-2]}};_.size=function Md(){return this.b.length+2};var oE=xic(417);pV(638,1,{},Pd);var pE=xic(638);pV(222,1,{},Td);_.Ad=function Ud(){return Sd(this)};_.d=false;var sE=xic(222);pV(415,1,{},Vd);var rE=xic(415);pV(896,1,{});var uE=xic(896);pV(281,1,{50:1,
281:1,3:1,51:1},Ae);_.Hd=function Be(a){return ze(this,a)};_.xd=function Ce(a){var b;if(ND(a,281)){b=a;return nb(this.a,b.a)}return false};_.zd=function De(){return rb(this.a)};_.Ad=function Ee(){return"Predicates.in("+this.a+")"};var wE=xic(281);pV(349,1,{50:1,349:1,3:1,51:1},Fe);_.Hd=function Ge(a){return nb(this.a,a)};_.xd=function He(a){var b;if(ND(a,349)){b=a;return nb(this.a,b.a)}return false};_.zd=function Ie(){return rb(this.a)};_.Ad=function Je(){return"Predicates.equalTo("+this.a+")"};var xE=
xic(349);pV(348,1,{50:1,348:1,3:1,51:1},Ke);_.Hd=function Le(a){return!this.a.Hd(a)};_.xd=function Me(a){var b;if(ND(a,348)){b=a;return this.a.xd(b.a)}return false};_.zd=function Ne(){return~rb(this.a)};_.Ad=function Oe(){return"Predicates.not("+this.a+")"};var yE=xic(348);pV(14,1,{3:1,23:1,14:1});_.Rd=function Te(a){return this.f-a.f};_.compareTo=function Se(a){return this.f-a.f};_.equals=function Ve(a){return this===a};_.xd=function(a){return this.equals(a)};_.hashCode=function We(){return Nzc(this)};
_.zd=function(){return this.hashCode()};_.name=function Xe(){return this.e!=null?this.e:""+this.f};_.ordinal=function Ye(){return this.f};_.toString=function Ze(){return Qe(this)};_.Ad=function(){return this.toString()};_.f=0;var nS=xic(14);pV(131,14,wAc);var _e,af,bf,cf;var DE=yic(131,nS,ff);pV(794,131,wAc,gf);_.Hd=function hf(a){return true};_.toString=function jf(){return"Predicates.alwaysTrue()"};var zE=yic(794,DE,null);pV(795,131,wAc,kf);_.Hd=function lf(a){return false};_.toString=function mf(){return"Predicates.alwaysFalse()"};
var AE=yic(795,DE,null);pV(796,131,wAc,nf);_.Hd=function of(a){return a==null};_.toString=function pf(){return"Predicates.isNull()"};var BE=yic(796,DE,null);pV(797,131,wAc,qf);_.Hd=function rf(a){return a!=null};_.toString=function sf(){return"Predicates.notNull()"};var CE=yic(797,DE,null);pV(265,898,{265:1,3:1},tf);_.xd=function uf(a){var b;if(ND(a,265)){b=a;return nb(this.a,b.a)}return false};_.Bd=function vf(){return this.a};_.zd=function wf(){return 1502476572+rb(this.a)};_.Cd=function xf(){return true};
_.Dd=function yf(a){ie(a,kAc);return this.a};_.Ad=function zf(){return"Optional.of("+this.a+")"};var EE=xic(265);pV(227,1,{},Gf,Hf);_.a=0;_.b=false;var JE=xic(227);pV(721,1,{},Kf);var GE=xic(721);pV(722,605,lAc);_.b=0;_.c=0;_.d=false;var IE=xic(722);pV(723,722,lAc,Nf);var FE=xic(723);pV(724,1,xAc,Pf);_.Md=function Qf(){return Of(this)};_.Ad=function Rf(){return xkc(Qc(new Vc(oAc),xkc(new Ikc,91),Ef(this.a,this.b)),93).a};var HE=xic(724);pV(107,1,yAc);_.Gd=function Tf(){Sf()};var QH=xic(107);pV(912,
107,zAc);_.Gd=function Vf(){Sf()};_.Sd=function Uf(a){throw RU(new Okc);};_.Vd=function Wf(a){throw RU(new Okc);};var RH=xic(912);pV(615,912,zAc);_.Ed=function Yf(){return this.b<this.c};_.Td=function Zf(){return this.b>0};_.Fd=function $f(){return Xf(this)};_.Ud=function _f(){if(this.b<=0)throw RU(new gwc);return dq(this,--this.b)};_.b=0;_.c=0;var KE=xic(615);pV(425,107,yAc);_.Ed=function eg(){return ag(this)};_.Fd=function fg(){return bg(this)};_.d=1;var LE=xic(425);pV(937,1,{114:1});_.Xd=function jg(){var a;
return a=this.f,!a?this.f=this.$d():a};_._d=function kg(){return new ii(this.Xd())};_.xd=function lg(a){return tw(this,a)};_.zd=function mg(){return rb(this.Xd())};_.be=function ng(){return this.ge()==0};_.ce=function og(){return hg(this)};_.de=function pg(a,b){return this.ae(a).add(b)};_.ee=function qg(a,b){var c;return c=this.Xd().pe(a),!!c&&c.remove(b)};_.Ad=function rg(){return tV(this.Xd())};var eF=xic(937);pV(454,937,AAc);_.Yd=function Bg(){sg(this)};_.Zd=function Cg(a){return tg(this,a)};_.$d=
function Dg(){return new Ch(this,this.c)};_.ie=function Eg(a){return this.he()};_._d=function Fg(){return new pi(this,this.c)};_.je=function Gg(){return Mg(this.he())};_.ae=function Hg(a){return ug(this,a)};_.de=function Jg(a,b){return vg(this,a,b)};_.fe=function Kg(a){return wg(this,a)};_.ge=function Lg(){return this.d};_.d=0;var $E=xic(454);pV(461,454,AAc);_.he=function Pg(){return this.ke()};_.je=function Qg(){return Lm(),Lm(),Km};_.ae=function Sg(a){return ug(this,a)};_.fe=function Vg(a){return wg(this,
a)};_.Xd=function Og(){var a;return a=this.f,!a?this.f=new Ch(this,this.c):a};_.xd=function Rg(a){return tw(this,a)};_.le=function Tg(a){return ug(this,a)};_.de=function Ug(a,b){return vg(this,a,b)};_.me=function Wg(a){return wg(this,a)};var ME=xic(461);pV(913,1,BAc);_.getOrDefault=function jh(a,b){var c;return c=this.pe(a),c==null&&!this.containsKey(a)?b:c};_.putIfAbsent=function ph(a,b){var c;return c=this.pe(a),c!=null?c:this.put(a,b)};_.replace=function rh(a,b){return this.containsKey(a)?this.put(a,
b):null};_.clear=function bh(){this.oe().clear()};_.ne=function dh(a){return Xg(this,a)};_.containsKey=function eh(a){return!!Zg(this,a,false)};_.containsValue=function fh(a){var b,c,d;for(c=this.oe().Md();c.Ed();){b=c.Fd();d=b.ye();if(TD(a)===TD(d)||a!=null&&nb(a,d))return true}return false};_.xd=function gh(a){return Yg(this,a)};_.pe=function hh(a){return ih(Zg(this,a,false))};_.zd=function kh(){return Ipc(this.oe())};_.isEmpty=function lh(){return this.size()==0};_.keySet=function mh(){return new nmc(this)};
_.put=function nh(a,b){throw RU(new Pkc("Put not supported on this map"));};_.putAll=function oh(a){$g(this,a)};_.remove=function qh(a){return ih(Zg(this,a,true))};_.size=function sh(){return this.oe().size()};_.Ad=function th(){return _g(this)};_.values=function uh(){return new xmc(this)};var aT=xic(913);pV(938,913,BAc);_.oe=function wh(){return vh(this)};_.keySet=function xh(){var a;a=this.d;return!a?this.d=new ii(this):a};_.values=function yh(){var a;a=this.e;return!a?this.e=new Xv(this):a};var TG=
xic(938);pV(191,938,BAc,Ch);_.pe=function Hh(a){return zh(this,a)};_.remove=function Kh(a){return Ah(this,a)};_.clear=function Dh(){this.a==this.b.c?this.b.Yd():as(new ei(this))};_.containsKey=function Eh(a){return Ev(this.a,a)};_.re=function Fh(){return new _h(this)};_.qe=function(){return this.re()};_.xd=function Gh(a){return this===a||Yg(this.a,a)};_.zd=function Ih(){return Ipc(this.a.oe())};_.keySet=function Jh(){return this.b.ce()};_.size=function Lh(){return this.a.size()};_.Ad=function Mh(){return _g(this.a)};
var PE=xic(191);pV(915,914,CAc);_.xd=function Oh(a){return Nh(this,a)};_.zd=function Ph(){return Ipc(this)};_.removeAll=function Qh(a){var b,c,d,e;Bzc(a);e=this.size();if(e<a.size())for(b=this.Md();b.Ed();){c=b.Fd();a.contains(c)&&b.Gd()}else for(d=a.Md();d.Ed();){c=d.Fd();this.remove(c)}return e!=this.size()};var hT=xic(915);pV(926,915,CAc);_.removeAll=function Rh(a){return Bx(this,a)};_.retainAll=function Sh(a){return ed(this,he(a))};var yH=xic(926);pV(927,926,CAc);_.clear=function Uh(){this.se().clear()};
_.contains=function Vh(a){return Th(this,a)};_.isEmpty=function Wh(){return this.se().isEmpty()};_.remove=function Xh(a){var b;if(this.contains(a)){b=a;return this.se().keySet().remove(b.xe())}return false};_.removeAll=function Yh(b){try{return Bx(this,he(b))}catch(a){a=QU(a);if(ND(a,18))return Cx(this,b.Md());else throw RU(a);}};_.retainAll=function Zh(b){var c,d,e,f;try{return ed(this,he(he(b)))}catch(a){a=QU(a);if(ND(a,18)){d=new Ztc(Bv(b.size()));for(f=b.Md();f.Ed();){e=f.Fd();if(this.contains(e)){c=
e;Vtc(d,c.xe())}}return this.se().keySet().retainAll(d)}else throw RU(a);}};_.size=function $h(){return this.se().size()};var OG=xic(927);pV(783,927,CAc,_h);_.contains=function ai(a){return fl(this.a.a.oe(),a)};_.Md=function bi(){return new ei(this.a)};_.se=function ci(){return this.a};_.remove=function di(a){var b;if(!fl(this.a.a.oe(),a))return false;b=a;xg(this.a.b,b.xe());return true};var NE=xic(783);pV(459,1,lAc,ei);_.Fd=function gi(){var a;return a=this.b.Fd(),this.a=a.ye(),Bh(this.c,a)};_.Ed=
function fi(){return this.b.Ed()};_.Gd=function hi(){this.b.Gd();this.c.b.d-=this.a.size();this.a.clear()};var OE=xic(459);pV(313,926,CAc,ii);_.clear=function ji(){this.b.clear()};_.contains=function ki(a){return this.b.containsKey(a)};_.isEmpty=function li(){return this.b.isEmpty()};_.Md=function mi(){return zv(),ps(this.b.oe().Md(),(Lv(),Jv))};_.remove=function ni(a){if(this.b.containsKey(a)){this.b.remove(a);return true}return false};_.size=function oi(){return this.b.size()};var RG=xic(313);pV(280,
313,CAc,pi);_.clear=function qi(){var a;as((a=this.b.oe().Md(),new wi(this,a)))};_.containsAll=function ri(a){return this.b.keySet().containsAll(a)};_.xd=function si(a){return this===a||nb(this.b.keySet(),a)};_.zd=function ti(){return rb(this.b.keySet())};_.Md=function ui(){var a;return a=this.b.oe().Md(),new wi(this,a)};_.remove=function vi(a){var b,c;c=0;b=this.b.remove(a);if(b){c=b.size();b.clear();this.a.d-=c}return c>0};var RE=xic(280);pV(460,1,lAc,wi);_.Ed=function xi(){return this.c.Ed()};
_.Fd=function yi(){this.a=this.c.Fd();return this.a.xe()};_.Gd=function zi(){var a;oe(!!this.a,DAc);a=this.a.ye();this.c.Gd();this.b.a.d-=a.size();a.clear()};var QE=xic(460);pV(235,914,pAc,Ei);_.add=function Fi(a){var b,c;Bi(this);c=this.d.isEmpty();b=this.d.add(a);if(b){++this.f.d;c&&Ai(this)}return b};_.addAll=function Gi(a){var b,c,d;if(a.isEmpty())return false;d=(Bi(this),this.d.size());b=this.d.addAll(a);if(b){c=this.d.size();this.f.d+=c-d;d==0&&Ai(this)}return b};_.clear=function Hi(){var a;
a=(Bi(this),this.d.size());if(a==0)return;this.d.clear();this.f.d-=a;Ci(this)};_.contains=function Ii(a){Bi(this);return this.d.contains(a)};_.containsAll=function Ji(a){Bi(this);return this.d.containsAll(a)};_.xd=function Ki(a){if(a===this)return true;Bi(this);return nb(this.d,a)};_.zd=function Li(){Bi(this);return rb(this.d)};_.Md=function Mi(){Bi(this);return new fj(this)};_.remove=function Ni(a){var b;Bi(this);b=this.d.remove(a);if(b){--this.f.d;Ci(this)}return b};_.removeAll=function Oi(a){var b,
c,d;if(a.isEmpty())return false;d=(Bi(this),this.d.size());b=this.d.removeAll(a);if(b){c=this.d.size();this.f.d+=c-d;Ci(this)}return b};_.retainAll=function Pi(a){var b,c,d;he(a);d=(Bi(this),this.d.size());b=this.d.retainAll(a);if(b){c=this.d.size();this.f.d+=c-d;Ci(this)}return b};_.size=function Qi(){return Di(this)};_.Ad=function Ri(){Bi(this);return tV(this.d)};var UE=xic(235);pV(457,235,rAc,Si);_.addAtIndex=function Ti(a,b){var c;Bi(this);c=this.d.isEmpty();this.d.addAtIndex(a,b);++this.a.d;
c&&Ai(this)};_.addAllAtIndex=function Ui(a,b){var c,d,e;if(b.isEmpty())return false;e=(Bi(this),this.d.size());c=this.d.addAllAtIndex(a,b);if(c){d=this.d.size();this.a.d+=d-e;e==0&&Ai(this)}return c};_.getAtIndex=function Vi(a){Bi(this);return this.d.getAtIndex(a)};_.indexOf=function Wi(a){Bi(this);return this.d.indexOf(a)};_.lastIndexOf=function Xi(a){Bi(this);return this.d.lastIndexOf(a)};_.Od=function Yi(){Bi(this);return new kj(this)};_.Pd=function Zi(a){Bi(this);return new lj(this,a)};_.removeAtIndex=
function $i(a){var b;Bi(this);b=this.d.removeAtIndex(a);--this.a.d;Ci(this);return b};_.setAtIndex=function _i(a,b){Bi(this);return this.d.setAtIndex(a,b)};_.subList=function aj(a,b){Bi(this);return zg(this.a,this.e,this.d.subList(a,b),!this.b?this:this.b)};var WE=xic(457);pV(782,457,EAc,bj);var SE=xic(782);pV(345,1,lAc,fj);_.Ed=function hj(){ej(this);return this.b.Ed()};_.Fd=function ij(){ej(this);return this.b.Fd()};_.Gd=function jj(){dj(this)};var TE=xic(345);pV(458,345,FAc,kj,lj);_.Gd=function pj(){dj(this)};
_.Sd=function mj(a){var b;b=Di(this.a)==0;(ej(this),this.b).Sd(a);++this.a.a.d;b&&Ai(this.a)};_.Td=function nj(){return(ej(this),this.b).Td()};_.Ud=function oj(){return(ej(this),this.b).Ud()};_.Vd=function qj(a){(ej(this),this.b).Vd(a)};var VE=xic(458);pV(346,235,GAc,rj);var ZE=xic(346);pV(456,346,HAc,sj);var XE=xic(456);pV(455,235,CAc,tj);_.removeAll=function uj(a){var b,c,d;if(a.isEmpty())return false;d=(Bi(this),this.d.size());b=Bx(this.d,a);if(b){c=this.d.size();this.a.d+=c-d;Ci(this)}return b};
var YE=xic(455);pV(939,914,{385:1,16:1,19:1});_.add=function yj(a){return Oj(this,a,1),true};_.addAll=function zj(a){return Pw(this,a)};_.clear=function Aj(){var a;as((a=this.a.oe().Md(),new _j(this,a)))};_.contains=function Bj(a){var b;return b=Fv(this.a,a),(!b?0:b.a)>0};_.te=function Cj(a){var b,c;for(c=wj(this).Md();c.Ed();){b=c.Fd();if(Wd(b.b.xe(),a))return gk(b)}return 0};_.ue=function Dj(){return vj(this)};_.oe=function Ej(){return wj(this)};_.xd=function Fj(a){return Qw(this,a)};_.zd=function Gj(){return rb(this.oe())};
_.isEmpty=function Hj(){return wj(this).isEmpty()};_.Md=function Ij(){return new Vw(this,wj(this).Md())};_.remove=function Jj(a){return Sj(this,a,1)>0};_.removeAll=function Kj(a){return xj(this,a)};_.retainAll=function Lj(a){var b;return he(a),b=ND(a,193)?vj(a):a,vj(this).retainAll(b)};_.size=function Mj(){return Sw(this)};_.Ad=function Nj(){return tV(this.oe())};var hF=xic(939);pV(821,939,{385:1,3:1,16:1,19:1});_.clear=function Vj(){Pj(this)};_.te=function Wj(a){return Qj(this,a)};_.oe=function Xj(){return wj(this)};
_.Md=function Zj(){return new kk(this)};_.size=function $j(){return jA(this.b)};_.b=0;var cF=xic(821);pV(469,1,lAc,_j);_.Fd=function bk(){var a;return a=this.c.Fd(),this.b=a,new hk(this,a)};_.Ed=function ak(){return this.c.Ed()};_.Gd=function ck(){oe(!!this.b,DAc);this.a.b=cV(this.a.b,ql(this.b.ye(),0));this.c.Gd();this.b=null};var aF=xic(469);pV(941,1,{892:1});_.xd=function dk(a){var b;if(ND(a,892)){b=a;return this.ve()==b.ve()&&Wd(this.we(),b.we())}return false};_.zd=function ek(){var a;a=this.we();
return(a==null?0:rb(a))^this.ve()};_.Ad=function fk(){var a,b;b=tkc(this.we());a=this.ve();return a==1?b:b+" x "+a};var hH=xic(941);pV(284,941,{284:1,892:1},hk);_.ve=function ik(){return gk(this)};_.we=function jk(){return this.b.xe()};var _E=xic(284);pV(822,1,lAc,kk);_.Ed=function lk(){return this.d>0||this.c.Ed()};_.Fd=function mk(){if(this.d==0){this.b=this.c.Fd();this.d=this.b.ye().a}--this.d;this.a=true;return this.b.xe()};_.Gd=function nk(){var a;oe(this.a,DAc);a=this.b.ye().a;if(a<=0)throw RU(new Gsc);
(this.b.ye().a+=-1)==0&&this.c.Gd();this.e.b=cV(this.e.b,1);this.a=false};_.a=false;_.d=0;var bF=xic(822);var gU=zic();pV(223,1,JAc);_.xd=function ok(a){var b;if(ND(a,58)){b=a;return Wd(this.xe(),b.xe())&&Wd(this.ye(),b.ye())}return false};_.zd=function pk(){var a,b;a=this.xe();b=this.ye();return(a==null?0:rb(a))^(b==null?0:rb(b))};_.ze=function qk(a){throw RU(new Okc);};_.Ad=function rk(){return this.xe()+"="+this.ye()};var dF=xic(223);pV(942,926,CAc);_.clear=function sk(){Pj(this.a)};_.contains=
function tk(a){return Qj(this.a,a)>0};_.containsAll=function uk(a){return cd(this.a,a)};_.isEmpty=function vk(){return wj(this.a).isEmpty()};_.Md=function wk(){return new Tw(wj(this.a).Md())};_.remove=function xk(a){return Sj(this.a,a,_zc)>0};_.size=function yk(){return wj(this.a).size()};var jH=xic(942);pV(788,942,CAc,zk);var fF=xic(788);pV(940,926,CAc);_.clear=function Ak(){Pj(this.a)};_.contains=function Bk(a){var b,c;if(ND(a,284)){c=a;if(gk(c)<=0)return false;b=Qj(this.a,c.b.xe());return b==gk(c)}return false};
_.remove=function Ck(a){var b,c,d,e;if(ND(a,284)){c=a;b=c.b.xe();d=gk(c);if(d!=0){e=this.a;return Rw(e,b,d,0)}}return false};var kH=xic(940);pV(789,940,CAc,Dk);_.Md=function Ek(){return Rj(this.a)};_.size=function Fk(){return this.a.a.size()};var gF=xic(789);pV(344,454,AAc);_.he=function Ik(){return this.Ae()};_.je=function Jk(){return km(),ux(),tx};_.ae=function Lk(a){return ug(this,a)};_.fe=function Ok(a){return wg(this,a)};_.Xd=function Hk(){var a;return a=this.f,!a?this.f=new Ch(this,this.c):
a};_.xd=function Kk(a){return tw(this,a)};_.Be=function Mk(a){return ug(this,a)};_.de=function Nk(a,b){return vg(this,a,b)};_.Ce=function Pk(a){return wg(this,a)};var iF=xic(344);pV(945,1,{564:1});_.Ee=function Qk(){var a;return a=this.d,!a?this.d=new Vk(this):a};_.Yd=function Rk(){as(this.Ee().a.De())};_.xd=function Sk(a){return az(this,a)};_.zd=function Tk(){return Ipc(this.Ee())};_.Ad=function Uk(){return _g(this.Fe())};var kF=xic(945);pV(479,915,CAc,Vk);_.clear=function Wk(){this.a.Yd()};_.contains=
function Xk(a){var b,c;if(ND(a,252)){b=a;c=Fv(this.a.Fe(),b.b);return!!c&&fl(c.oe(),(zv(),new Xp(b.a,b.c)))}return false};_.Md=function Yk(){return this.a.De()};_.remove=function Zk(a){var b,c;if(ND(a,252)){b=a;c=Fv(this.a.Fe(),b.b);return!!c&&gl(c.oe(),(zv(),new Xp(b.a,b.c)))}return false};_.size=function $k(){return this.a.ge()};var jF=xic(479);pV(464,461,AAc,_k);_.ke=function al(){return new toc(this.a)};_.a=0;var lF=xic(464);var dl;pV(189,1,{189:1,123:1});_.xd=function hl(a){return this===a};
_.Ie=function il(){return new dx(this)};var pH=xic(189);pV(276,189,{276:1,189:1,3:1,123:1},jl);_.He=function kl(a,b){return this.a.He(a,b)};_.xd=function ll(a){var b;if(a===this)return true;if(ND(a,276)){b=a;return this.a.xd(b.a)}return false};_.zd=function ml(){return rb(this.a)};_.Ad=function nl(){return tV(this.a)};var mF=xic(276);pV(879,425,yAc,ol);_.Wd=function pl(){return Dnc(this.a)?(this.d=2,null):Lnc(this.a)};var nF=xic(879);pV(292,1,{292:1,3:1},rl);_.xd=function sl(a){return ND(a,292)&&
a.a==this.a};_.zd=function tl(){return this.a};_.Ad=function ul(){return""+this.a};_.a=0;var oF=xic(292);pV(882,937,AAc);_.Xd=function vl(){return this.a};_.ae=function zl(a){return this.Je(a)};_.ce=function Al(){return this.a.We()};_.fe=function El(a){return this.Ke(a)};_.Yd=function wl(){throw RU(new Okc);};_.Zd=function xl(a){return ao(this.a,a)};_.$d=function yl(){throw RU(new Uhc("should never be called"));};_.de=function Bl(a,b){throw RU(new Okc);};_.ee=function Cl(a,b){throw RU(new Okc);};
_.Ke=function Dl(a){throw RU(new Okc);};_.ge=function Fl(){return this.b};_.b=0;var ZF=xic(882);pV(559,882,AAc,Il);_.Xd=function Jl(){return this.a};_.xd=function Ll(a){return tw(this,a)};_.Je=function Ml(a){return Gl(this,a)};_.ae=function Nl(a){var b;return b=bo(this.a,a),!b?(Lm(),Lm(),Km):b};_.le=function Ol(a){var b;return b=bo(this.a,a),!b?(Lm(),Lm(),Km):b};_.Ke=function Pl(a){return Hl()};_.fe=function Ql(a){return Hl()};_.me=function Rl(a){return Hl()};var PF=xic(559);pV(884,559,AAc,Ul);var Sl;
var pF=xic(884);pV(326,1,xAc);_.Ad=function Wl(){return os(this.c.Dd(this).Md())};var qF=xic(326);pV(919,1,{});_.Ad=function Xl(){return tV(this.Le())};var zF=xic(919);pV(920,919,pAc);_.Le=function bm(){return this.Me()};_.add=function Yl(a){return this.Me(),zqc()};_.addAll=function Zl(a){return this.Me(),Aqc()};_.clear=function $l(){this.Me(),Bqc()};_.contains=function _l(a){return this.Me().contains(a)};_.containsAll=function am(a){return this.Me().containsAll(a)};_.isEmpty=function cm(){return this.Me().b.isEmpty()};
_.Md=function dm(){return this.Me().Md()};_.remove=function em(a){return this.Me(),Eqc()};_.removeAll=function fm(a){return this.Me(),Fqc()};_.retainAll=function gm(a){return this.Me(),Gqc()};_.size=function hm(){return this.Me().b.size()};_.toArray=function im(){return this.Me().toArray()};_.Nd=function jm(a){return this.Me().Nd(a)};var rF=xic(920);pV(71,914,KAc);_.Md=function wm(){return this.Pe()};_.add=function qm(a){return lm()};_.addAll=function rm(a){throw RU(new Okc);};_.Ne=function sm(){return mm(this)};
_.clear=function tm(){throw RU(new Okc);};_.contains=function um(a){return a!=null&&ad(this,a,false)};_.Oe=function vm(){switch(this.size()){case 0:return Lm(),Lm(),Km;case 1:return Lm(),new iy(this.Pe().Fd());default:return new ar(this,this.toArray())}};_.remove=function xm(a){return nm()};_.removeAll=function ym(a){return om()};_.retainAll=function zm(a){return pm()};var JF=xic(71);pV(414,71,KAc,Am);_.Md=function Fm(){return qs(this.a.Md())};_.contains=function Bm(a){return a!=null&&this.a.contains(a)};
_.containsAll=function Cm(a){return this.a.containsAll(a)};_.isEmpty=function Dm(){return this.a.isEmpty()};_.Pe=function Em(){return qs(this.a.Md())};_.size=function Gm(){return this.a.size()};_.toArray=function Hm(){return this.a.toArray()};_.Nd=function Im(a){return this.a.Nd(a)};_.Ad=function Jm(){return tV(this.a)};var sF=xic(414);pV(112,71,LAc);_.Md=function Ym(){return this.Pe()};_.Od=function $m(){return this.Qe(0)};_.Pd=function an(a){return this.Qe(a)};_.subList=function fn(a,b){return this.Re(a,
b)};_.addAtIndex=function Om(a,b){throw RU(new Okc);};_.addAllAtIndex=function Pm(a,b){throw RU(new Okc);};_.Ne=function Qm(){return this};_.xd=function Um(a){return Hu(this,a)};_.zd=function Vm(){return Iu(this)};_.indexOf=function Wm(a){return a==null?-1:Ju(this,a)};_.Pe=function Xm(){return this.Qe(0)};_.lastIndexOf=function Zm(a){return a==null?-1:Ku(this,a)};_.Qe=function _m(a){return Mm(this,a)};_.removeAtIndex=function cn(a){throw RU(new Okc);};_.setAtIndex=function dn(a,b){throw RU(new Okc);
};_.Re=function en(a,b){var c;return gn((c=new Uu(this),new hmc(c,a,b)))};var Km;var QF=xic(112);pV(918,112,LAc);_.Md=function sn(){return qs(this.Se().Md())};_.subList=function wn(a,b){return gn(this.Se().subList(a,b))};_.contains=function kn(a){return hn(this,a)};_.containsAll=function ln(a){return this.Se().containsAll(a)};_.xd=function mn(a){return nb(this.Se(),a)};_.getAtIndex=function nn(a){return jn(this,a)};_.zd=function on(){return rb(this.Se())};_.indexOf=function pn(a){return this.Se().indexOf(a)};
_.isEmpty=function qn(){return this.Se().isEmpty()};_.Pe=function rn(){return qs(this.Se().Md())};_.lastIndexOf=function tn(a){return this.Se().lastIndexOf(a)};_.size=function un(){return this.Se().size()};_.Re=function vn(a,b){return gn(this.Se().subList(a,b))};_.toArray=function xn(){return this.Se().Nd(XC(AS,qAc,1,this.Se().size(),5,1))};_.Nd=function yn(a){return this.Se().Nd(a)};_.Ad=function zn(){return tV(this.Se())};var tF=xic(918);pV(119,1,NAc);_.oe=function Ln(){return An(this)};_.getOrDefault=
function On(a,b){var c;return c=this.pe(a),c==null&&!this.containsKey(a)?b:c};_.keySet=function Sn(){return this.We()};_.putIfAbsent=function Wn(a,b){var c;return c=this.pe(a),c!=null?c:this.put(a,b)};_.replace=function Yn(a,b){return this.containsKey(a)?this.put(a,b):null};_.values=function _n(){return this.Xe()};_.clear=function En(){throw RU(new Okc);};_.containsKey=function Fn(a){return this.pe(a)!=null};_.containsValue=function Gn(a){return this.Xe().contains(a)};_.Ue=function In(){return new yq(this)};
_.Ve=function Jn(){return new Dq(this)};_.xd=function Mn(a){return Cv(this,a)};_.zd=function Pn(){return An(this).zd()};_.isEmpty=function Qn(){return this.size()==0};_.We=function Rn(){return Bn(this)};_.put=function Un(a,b){return Cn()};_.putAll=function Vn(a){Dn()};_.remove=function Xn(a){throw RU(new Okc);};_.Ad=function Zn(){var a;return zv(),a=xkc((el(),cl(this.size(),"size"),new Jkc),123),Od(yv,a,An(this).Md()),(a.a+="}",a).a};_.Xe=function $n(){if(this.g)return this.g;return this.g=this.Ve()};
_.e=null;_.f=null;_.g=null;var XF=xic(119);pV(224,119,NAc);_.containsKey=function fo(a){return ao(this,a)};_.containsValue=function go(a){return wrc(this.d,a)};_.Te=function ho(){return Eo(new to(this))};_.Ue=function io(){return Eo(zrc(this.d))};_.Ve=function jo(){return km(),new Am(Brc(this.d))};_.xd=function ko(a){return yrc(this.d,a)};_.pe=function lo(a){return bo(this,a)};_.zd=function mo(){return rb(this.d.d)};_.isEmpty=function no(){return this.d.d.isEmpty()};_.size=function oo(){return this.d.d.size()};
_.Ad=function po(){return tV(this.d.d)};var vF=xic(224);pV(921,920,CAc);_.Me=function qo(){return this.Ye()};_.xd=function ro(a){return a===this||this.Ye().xd(a)};_.zd=function so(){return this.Ye().zd()};var AF=xic(921);pV(637,921,CAc,to);_.contains=function uo(a){if(ND(a,58)&&a.xe()==null)return false;return Yrc(xrc(this.a.d),a)};_.Ye=function vo(){return xrc(this.a.d)};_.Nd=function wo(a){var b;b=Zrc(xrc(this.a.d),a);xrc(this.a.d).b.size()<b.length&&(b[xrc(this.a.d).b.size()]=null);return b};var uF=
xic(637);pV(130,71,OAc);_.Md=function Co(){return this.Pe()};_.xd=function Ao(a){return zx(this,a)};_.zd=function Bo(){return Ax(this)};var bG=xic(130);pV(324,130,OAc);_.Md=function Lo(){return this.Pe()};_.contains=function Go(a){return a!=null&&Cqc(this.b,a)};_.containsAll=function Ho(a){he(this.b);return Dqc(this.b,a)};_.zd=function Io(){return rb(this.b.b)};_.isEmpty=function Jo(){return this.b.b.isEmpty()};_.Pe=function Ko(){return qs(new Yqc(this.b.b.Md()))};_.size=function Mo(){return this.b.b.size()};
_.toArray=function No(){return this.b.b.toArray()};_.Nd=function Oo(a){return Hqc(this.b,a)};_.Ad=function Po(){return tV(this.b.b)};var wF=xic(324);pV(936,919,BAc);_.Le=function Vo(){return this.a};_.getOrDefault=function Zo(a,b){var c;return c=Tsc(this.a,a),c==null&&!Rsc(this.a,a)?b:c};_.putIfAbsent=function dp(a,b){var c;return c=Tsc(this.a,a),c!=null?c:Vsc(this.a,a,b)};_.replace=function fp(a,b){return Rsc(this.a,a)?Vsc(this.a,a,b):null};_.clear=function So(){Qsc(this.a)};_.containsKey=function To(a){return Rsc(this.a,
a)};_.containsValue=function Uo(a){return Ssc(this.a,a)};_.oe=function Wo(){return new itc(this.a)};_.xd=function Xo(a){return a===this||Yg(this.a,a)};_.pe=function Yo(a){return Qo(this,a)};_.zd=function $o(){return Ipc(new itc(this.a))};_.isEmpty=function _o(){return this.a.a.c==0};_.keySet=function ap(){return new nmc(this.a)};_.put=function bp(a,b){return Ro(this,a,b)};_.putAll=function cp(a){$g(this.a,a)};_.remove=function ep(a){return Wsc(this.a,a)};_.size=function gp(){return this.a.a.c};_.values=
function hp(){return new xmc(this.a)};var yF=xic(936);pV(944,919,PAc);_.Le=function kp(){return this.Ze()};_.xd=function lp(a){return this.Ze().xd(a)};_.xe=function mp(){return this.Ze().xe()};_.ye=function np(){return this.Ze().ye()};_.zd=function op(){return this.Ze().zd()};_.ze=function pp(a){return ip(this,a)};var xF=xic(944);pV(922,921,GAc);_.Ye=function qp(){return Gpc(),new usc(this.a)};var BF=xic(922);pV(853,945,QAc);_.De=function up(){return new ry(this)};_.Ee=function vp(){var a;return a=
this.d,!a?this.d=new Vk(this):a};_.Yd=function wp(){Suc(this.a)};_.$e=function xp(a){return a!=null&&Ev(this.a,a)};_.Fe=function yp(){var a;return a=this.c,!a?this.c=new My(this):a};_.ge=function zp(){var a,b,c,d,e;e=0;for(c=(d=(new xmc(this.a)).a.oe().Md(),new Cmc(d));c.a.Ed();){b=(a=c.a.Fd(),a.ye());e+=b.size()}return e};var MH=xic(853);pV(285,853,QAc,Cp);_.$e=function Dp(a){return a!=null&&Ev(this.a,a)};_.xd=function Ep(a){return az(this,a)};var DF=xic(285);pV(286,1,RAc,Gp);_.Bd=function Hp(){return Fp(this)};
_.a=0;var CF=xic(286);pV(808,344,AAc,Ip);_.Ae=function Jp(){return new Ztc(Bv(this.a))};_.a=2;var EF=xic(808);pV(193,821,{193:1,385:1,3:1,16:1,19:1},Kp);var FF=xic(193);pV(917,112,LAc);_.contains=function Np(a){return this._e().contains(a)};_.isEmpty=function Op(){return this._e().isEmpty()};_.size=function Pp(){return this._e().size()};var GF=xic(917);pV(314,224,NAc);_.Xe=function Rp(){return this.bf()};_.values=function Tp(){return this.bf()};_.Ge=function Up(){return this.bf()};_.bf=function Sp(){return Bn(this.af())};
var HF=xic(314);pV(911,1,{});var IF=xic(911);pV(81,223,{223:1,81:1,3:1,58:1},Xp);_.xe=function Yp(){return this.g};_.ye=function Zp(){return this.i};_.ze=function $p(a){throw RU(new Okc);};var KF=xic(81);pV(726,224,NAc,_p);var LF=xic(726);pV(731,324,OAc,bq);var MF=xic(731);pV(616,615,zAc,eq);var NF=xic(616);pV(42,911,{},hq);_.cf=function iq(a){return hoc(this.a,he(a)),this};var OF=xic(42);pV(308,107,yAc,jq);_.Ed=function kq(){return this.a.Ed()};_.Fd=function lq(){return this.a.Fd().xe()};var RF=
xic(308);pV(100,1,{},pq,qq);_.df=function rq(){return Nn(this.b)};_.ef=function sq(a,b){return mq(this,a,b)};_.ff=function tq(a){return nq(this,a)};var SF=xic(100);pV(935,130,OAc);_.Md=function wq(){var a;return a=An(this.a).Pe(),new jq(a)};_.Oe=function uq(){return new Yq(this)};_.Pe=function vq(){var a;return(a=this.c,!a?this.c=new Yq(this):a).Pe()};var aG=xic(935);pV(720,935,OAc,yq);_.Md=function Bq(){var a;return a=An(this.a).Pe(),new jq(a)};_.contains=function zq(a){return this.a.containsKey(a)};
_.Pe=function Aq(){var a;return a=An(this.a).Pe(),new jq(a)};_.size=function Cq(){return this.a.size()};var TF=xic(720);pV(718,71,KAc,Dq);_.Md=function Hq(){return new Jq(this)};_.Ne=function Eq(){var a;a=mm(An(this.a));return new Mq(this,a)};_.contains=function Fq(a){return a!=null&&cs(new Jq(this),a)};_.Pe=function Gq(){return new Jq(this)};_.size=function Iq(){return this.a.size()};var WF=xic(718);pV(332,107,yAc,Jq);_.Ed=function Kq(){return this.a.Ed()};_.Fd=function Lq(){return this.a.Fd().ye()};
var UF=xic(332);pV(719,917,LAc,Mq);_._e=function Nq(){return this.a};_.getAtIndex=function Oq(a){return this.b.getAtIndex(a).ye()};var VF=xic(719);pV(556,1,{},Qq);var YF=xic(556);pV(70,911,{},Wq);_.cf=function Xq(a){return Sq(this,a)};var $F=xic(70);pV(413,917,LAc,Yq);_._e=function Zq(){return this.a};_.getAtIndex=function $q(a){return xq(this.a,a)};var _F=xic(413);pV(321,917,LAc,ar);_.Pd=function er(a){return Mm(this.b,a)};_._e=function br(){return this.a};_.getAtIndex=function cr(a){return jn(this.b,
a)};_.Qe=function dr(a){return Mm(this.b,a)};var qH=xic(321);pV(886,321,LAc,fr);_._e=function hr(){return this.a};_.Md=function ir(){return Mm(this.b,0)};_.contains=function gr(a){return(a==null?-1:Ju(this,a))>=0};var cG=xic(886);pV(277,224,{119:1,277:1,3:1,49:1},lr);_.Ue=function nr(){return Dr(this.a,zrc(this.c))};_.We=function or(){var a;return a=this.b,!a?this.b=Dr(this.a,zrc(this.c)):a};_.keySet=function pr(){var a;return a=this.b,!a?this.b=Dr(this.a,zrc(this.c)):a};var jr;var eG=xic(277);pV(725,
100,{},ur);_.df=function vr(){return sr(this)};_.ef=function wr(a,b){return hoc(this.b,(bl(a,b),zv(),new Xp(a,b))),this};_.ff=function xr(a){return nq(this,a),this};var dG=xic(725);pV(382,324,{71:1,130:1,382:1,3:1,16:1,19:1,31:1,122:1});_.Md=function Gr(){return qs(new Yqc(this.b.b.Md()))};_.contains=function Br(a){return a!=null&&Cqc(this.a,a)};_.containsAll=function Cr(a){var b,c;for(c=a.Md();c.Ed();){b=c.Fd();if(b==null)return false}return Dqc(this.a,a)};_.Pe=function Fr(){return qs(new Yqc(this.b.b.Md()))};
_.toArray=function Hr(){return jx(this,XC(AS,qAc,1,this.b.b.size(),5,1))};_.Nd=function Ir(a){return kx(this,a)};var yr,zr;var fG=xic(382);pV(689,326,xAc,Or);_.Md=function Pr(){return ps(this.a.Md(),this.b)};var gG=xic(689);pV(690,326,xAc,Rr);_.Md=function Sr(){return Qr(this)};_.b=0;var hG=xic(690);pV(691,326,xAc,Ur);_.Md=function Vr(){return Tr(this)};_.b=0;var iG=xic(691);var Wr,Xr;pV(674,912,zAc,rs);_.Ed=function ss(){return false};_.Td=function ts(){return false};_.Fd=function us(){throw RU(new gwc);
};_.Ud=function vs(){throw RU(new gwc);};var kG=xic(674);pV(320,107,yAc,ws);_.Ed=function xs(){return!this.a};_.Fd=function ys(){if(this.a)throw RU(new gwc);this.a=true;return this.b};_.a=false;var jG=xic(320);pV(675,1,lAc,zs);_.Ed=function As(){return false};_.Fd=function Bs(){throw RU(new gwc);};_.Gd=function Cs(){oe(false,DAc)};var lG=xic(675);pV(676,107,yAc,Ds);_.Ed=function Es(){return this.a.Ed()};_.Fd=function Fs(){return this.a.Fd()};var mG=xic(676);pV(677,425,yAc,Gs);_.Wd=function Hs(){var a;
while(this.b.Ed()){a=this.b.Fd();if(this.a.Hd(a))return a}return this.d=2,null};var nG=xic(677);pV(270,1,lAc);_.Ed=function Js(){return this.b.Ed()};_.Fd=function Ks(){return this.gf(this.b.Fd())};_.Gd=function Ls(){this.b.Gd()};var PH=xic(270);pV(678,270,lAc,Ns);_.gf=function Os(a){return Ms(this,a)};var oG=xic(678);pV(679,1,lAc,Ps);_.Ed=function Qs(){return this.a<this.c&&this.b.b.Ed()};_.Fd=function Rs(){if(!(this.a<this.c&&this.b.b.Ed()))throw RU(new gwc);++this.a;return this.b.b.Fd()};_.Gd=function Ss(){Xqc()};
_.a=0;_.c=0;var pG=xic(679);pV(423,1,lAc);_.Ed=function Vs(){return Ts(this)};_.Fd=function Ws(){if(!Ts(this))throw RU(new gwc);this.c=this.b;return this.b.Fd()};_.Gd=function Xs(){oe(!!this.c,DAc);this.c.Gd();this.c=null};var mH=xic(423);pV(319,423,{319:1,29:1},Ys);_.hf=function Zs(a){return a};var rG=xic(319);pV(424,423,lAc,_s);_.hf=function at(a){return $s(a)};var qG=xic(424);pV(172,344,AAc,dt);_.Yd=function et(){bt(this)};_.Ae=function ft(){return new Bvc(this.b)};_.ie=function gt(a){return new qt(this,
a,this.b)};_.ce=function ht(){return ct(this)};_.b=2;var vG=xic(172);pV(234,81,{223:1,81:1,234:1,956:1,3:1,58:1},kt);_.jf=function lt(){return this.f};_.kf=function mt(a){this.c=a};_.lf=function nt(a){this.f=a};_.d=0;var sG=xic(234);pV(780,926,{956:1,16:1,19:1,31:1},qt);_.add=function rt(a){var b,c,d,e,f;f=XAc*hjc((a==null?0:rb(a))*YAc,15);b=f&this.b.length-1;e=this.b[b];for(c=e;c;c=c.a)if(c.d==f&&Wd(c.i,a))return false;d=new kt(this.c,a,f,e);jt(this.d,d);d.f=this;this.d=d;it(this.g.a.b,d);it(d,this.g.a);
this.b[b]=d;++this.f;++this.e;ot(this);return true};_.clear=function st(){var a,b;apc(this.b);this.f=0;for(a=this.a;a!=this;a=a.jf()){b=a;it(b.b,b.e)}this.a=this;this.d=this;++this.e};_.contains=function tt(a){var b,c;c=XAc*hjc((a==null?0:rb(a))*YAc,15);for(b=this.b[c&this.b.length-1];b;b=b.a)if(b.d==c&&Wd(b.i,a))return true;return false};_.jf=function ut(){return this.a};_.Md=function vt(){return new Bt(this)};_.remove=function wt(a){return pt(this,a)};_.kf=function xt(a){this.d=a};_.lf=function yt(a){this.a=
a};_.size=function zt(){return this.f};_.e=0;_.f=0;var uG=xic(780);pV(781,1,lAc,Bt);_.Ed=function Ct(){return At(this),this.b!=this.c};_.Fd=function Dt(){var a,b;At(this);if(this.b==this.c)throw RU(new gwc);a=this.b;b=a.i;this.d=a;this.b=a.f;return b};_.Gd=function Et(){At(this);oe(!!this.d,DAc);pt(this.c,this.d.i);this.a=this.c.e;this.d=null};_.a=0;var tG=xic(781);pV(805,937,AAc,Jt);_.Xd=function Kt(){var a;return a=this.f,!a?this.f=new vw(this):a};_.xd=function Qt(a){return tw(this,a)};_.ae=function Rt(a){return new eu(this,
a)};_.fe=function Vt(a){return Ht(this,a)};_.Yd=function Mt(){this.a=null;this.e=null;wlc(this.b);this.d=0;++this.c};_.Zd=function Nt(a){return Gt(this,a)};_.$d=function Ot(){return new vw(this)};_._d=function Pt(){return new hu(this)};_.le=function St(a){return new eu(this,a)};_.be=function Tt(){return!this.a};_.de=function Ut(a,b){return Ft(this,a,b,null),true};_.me=function Wt(a){return Ht(this,a)};_.ge=function Xt(){return this.d};_.c=0;_.d=0;var CG=xic(805);pV(924,916,rAc);_.addAtIndex=function $t(a,
b){var c;c=this.Pd(a);c.Sd(b)};_.addAllAtIndex=function _t(a,b){var c,d,e,f;Bzc(b);f=false;e=this.Pd(a);for(d=b.Md();d.Ed();){c=d.Fd();e.Sd(c);f=true}return f};_.getAtIndex=function au(a){return Yt(this,a)};_.Md=function bu(){return this.Pd(0)};_.removeAtIndex=function cu(a){return Zt(this,a)};_.setAtIndex=function du(b,c){var d,e;d=this.Pd(b);try{e=d.Fd();d.Vd(c);return e}catch(a){a=QU(a);if(ND(a,64))throw RU(new Phc("Can't set element "+b));else throw RU(a);}};var gT=xic(924);pV(351,924,rAc,eu);
_.Pd=function fu(a){return new zu(this.a,this.b,a)};_.size=function gu(){var a;a=plc(this.a.b,this.b);return!a?0:a.a};var xG=xic(351);pV(465,926,CAc,hu);_.contains=function iu(a){return Gt(this.a,a)};_.Md=function ju(){return new nu(this.a)};_.remove=function ku(a){return!Ht(this.a,a).a.isEmpty()};_.size=function lu(){return xlc(this.a.b)};var wG=xic(465);pV(807,1,lAc,nu);_.Ed=function ou(){mu(this);return!!this.c};_.Fd=function pu(){mu(this);Lt(this.c);this.a=this.c;Vtc(this.d,this.a.a);do this.c=
this.c.b;while(!!this.c&&!Vtc(this.d,this.c.a));return this.a.a};_.Gd=function qu(){mu(this);oe(!!this.a,DAc);as(new yu(this.e,this.a.a));this.a=null;this.b=this.e.c};_.b=0;var yG=xic(807);pV(350,1,{350:1},ru);_.a=0;var zG=xic(350);pV(806,223,JAc,su);_.xe=function tu(){return this.a};_.ye=function uu(){return this.f};_.ze=function vu(a){var b;b=this.f;this.f=a;return b};var AG=xic(806);pV(282,1,FAc,yu,zu);_.Sd=function Au(a){this.e=Ft(this.f,this.b,a,this.c);++this.d;this.a=null};_.Ed=function Bu(){return!!this.c};
_.Td=function Cu(){return!!this.e};_.Fd=function Du(){return wu(this)};_.Ud=function Eu(){return xu(this)};_.Gd=function Fu(){oe(!!this.a,DAc);if(this.a!=this.c){this.e=this.a.e;--this.d}else this.c=this.a.c;It(this.f,this.a);this.a=null};_.Vd=function Gu(a){ne(!!this.a);this.a.f=a};_.d=0;var BG=xic(282);pV(640,916,rAc);_.addAtIndex=function Nu(a,b){this.a.addAtIndex(a,b)};_.addAllAtIndex=function Ou(a,b){return this.a.addAllAtIndex(a,b)};_.contains=function Pu(a){return this.a.contains(a)};_.getAtIndex=
function Qu(a){return this.a.getAtIndex(a)};_.removeAtIndex=function Ru(a){return this.a.removeAtIndex(a)};_.setAtIndex=function Su(a,b){return this.a.setAtIndex(a,b)};_.size=function Tu(){return this.a.size()};var EG=xic(640);pV(641,640,EAc);var FG=xic(641);pV(643,641,EAc,Uu);_.Pd=function Vu(a){return this.a.Pd(a)};var DG=xic(643);pV(167,916,{167:1,16:1,19:1,48:1},Zu);_.addAtIndex=function $u(a,b){this.a.addAtIndex(Yu(this,a),b)};_.clear=function _u(){this.a.clear()};_.getAtIndex=function av(a){return this.a.getAtIndex(Xu(this,
a))};_.Md=function bv(){return Wu(this,0)};_.Pd=function cv(a){return Wu(this,a)};_.removeAtIndex=function dv(a){return this.a.removeAtIndex(Xu(this,a))};_.Qd=function ev(a,b){(me(a,b,this.a.size()),Mu(this.a.subList(Yu(this,b),Yu(this,a)))).clear()};_.setAtIndex=function fv(a,b){return this.a.setAtIndex(Xu(this,a),b)};_.size=function gv(){return this.a.size()};_.subList=function hv(a,b){return me(a,b,this.a.size()),Mu(this.a.subList(Yu(this,b),Yu(this,a)))};var IG=xic(167);pV(419,167,{167:1,16:1,
19:1,48:1,76:1},iv);var GG=xic(419);pV(642,1,FAc,jv);_.Sd=function kv(a){this.b.Sd(a);this.b.Ud();this.a=false};_.Ed=function lv(){return this.b.Td()};_.Td=function mv(){return this.b.Ed()};_.Fd=function nv(){if(!this.b.Td())throw RU(new gwc);this.a=true;return this.b.Ud()};_.Ud=function ov(){if(!this.b.Ed())throw RU(new gwc);this.a=true;return this.b.Fd()};_.Gd=function pv(){oe(this.a,DAc);this.b.Gd();this.a=false};_.Vd=function qv(a){ne(this.a);this.b.Vd(a)};_.a=false;var HG=xic(642);pV(312,112,
LAc,rv);_.getAtIndex=function sv(a){return ge(a,this.a.length),mic(Qjc(this.a,a))};_.subList=function xv(a,b){return me(a,b,this.a.length),new rv(he(kkc(this.a,a,b)))};_.indexOf=function tv(a){return ND(a,152)?Yjc(this.a,qkc(a.a)):-1};_.lastIndexOf=function uv(a){return ND(a,152)?_jc(this.a,qkc(a.a)):-1};_.size=function vv(){return this.a.length};_.Re=function wv(a,b){return me(a,b,this.a.length),new rv(he(kkc(this.a,a,b)))};var JG=xic(312);var yv;pV(651,270,lAc,Hv);_.gf=function Iv(a){return zv(),
new Xp(a,this.a.Kd(a))};var KG=xic(651);pV(187,14,ZAc);var Jv,Kv;var NG=yic(187,nS,Nv);pV(648,187,ZAc,Ov);_.Kd=function Pv(a){return a.xe()};var LG=yic(648,NG,null);pV(649,187,ZAc,Qv);_.Kd=function Rv(a){return a.ye()};var MG=yic(649,NG,null);pV(946,913,BAc);_.clear=function Sv(){as(vy(this))};_.oe=function Tv(){return new Uv(this)};var QG=xic(946);pV(650,927,CAc,Uv);_.Md=function Vv(){return vy(this.a)};_.se=function Wv(){return this.a};var PG=xic(650);pV(647,914,pAc,Xv);_.clear=function Yv(){this.a.clear()};
_.contains=function Zv(a){return this.a.containsValue(a)};_.isEmpty=function $v(){return this.a.isEmpty()};_.Md=function _v(){return zv(),ps(this.a.oe().Md(),(Lv(),Kv))};_.remove=function aw(b){var c,d;try{return ad(this,b,true)}catch(a){a=QU(a);if(ND(a,18)){for(d=this.a.oe().Md();d.Ed();){c=d.Fd();if(Wd(b,c.ye())){this.a.remove(c.xe());return true}}return false}else throw RU(a);}};_.removeAll=function bw(b){var c,d,e;try{return dd(this,he(b))}catch(a){a=QU(a);if(ND(a,18)){e=new Ytc;for(d=this.a.oe().Md();d.Ed();){c=
d.Fd();b.contains(c.ye())&&Vtc(e,c.xe())}return this.a.keySet().removeAll(e)}else throw RU(a);}};_.retainAll=function cw(b){var c,d,e;try{return ed(this,he(b))}catch(a){a=QU(a);if(ND(a,18)){e=new Ytc;for(d=this.a.oe().Md();d.Ed();){c=d.Fd();b.contains(c.ye())&&Vtc(e,c.xe())}return this.a.keySet().retainAll(e)}else throw RU(a);}};_.size=function dw(){return this.a.size()};var SG=xic(647);pV(947,1,{});var bH=xic(947);pV(950,1,{});var _G=xic(950);pV(554,950,{},hw);_.mf=function iw(){return gw(this)};
_.a=0;var UG=xic(554);pV(874,950,{},jw);_.mf=function kw(){return zv(),new Zuc(Bv(this.a))};_.a=0;var VG=xic(874);pV(870,1,RAc,lw);_.Bd=function mw(){return new toc(this.a)};_.a=0;var WG=xic(870);pV(871,1,RAc,nw);_.Bd=function ow(){return new Ztc(Bv(this.a))};_.a=0;var XG=xic(871);pV(948,947,{});var YG=xic(948);pV(872,948,{},qw);_.b=0;var ZG=xic(872);pV(949,947,{});var aH=xic(949);pV(873,949,{},sw);_.b=0;var $G=xic(873);pV(462,938,BAc,vw);_.pe=function zw(a){return this.a.Zd(a)?this.a.ae(a):null};
_.remove=function Cw(a){return this.a.Zd(a)?this.a.fe(a):null};_.clear=function ww(){this.a.Yd()};_.containsKey=function xw(a){return this.a.Zd(a)};_.re=function yw(){return new Ew(this)};_.qe=function(){return this.re()};_.isEmpty=function Aw(){return this.a.be()};_.keySet=function Bw(){return this.a.ce()};_.size=function Dw(){return this.a.ce().size()};var eH=xic(462);pV(786,927,CAc,Ew);_.Md=function Fw(){return Av(this.a.a.ce(),new Iw(this))};_.se=function Gw(){return this.a};_.remove=function Hw(a){var b;
if(!Th(this,a))return false;b=a;uw(this.a,b.xe());return true};var dH=xic(786);pV(787,1,$Ac,Iw);_.Kd=function Jw(a){return this.a.a.a.ae(a)};_.xd=function Kw(a){return this===a};var cH=xic(787);pV(784,461,AAc,Lw);_.nf=function Mw(){return this.a.Bd()};_.ke=function(){return this.nf()};var fH=xic(784);pV(785,344,AAc,Nw);_.pf=function Ow(){return this.a.Bd()};_.Ae=function(){return this.pf()};var gH=xic(785);pV(791,270,lAc,Tw);_.gf=function Uw(a){return a.b.xe()};var iH=xic(791);pV(790,1,lAc,Vw);_.Ed=
function Ww(){return this.d>0||this.c.Ed()};_.Fd=function Xw(){if(!(this.d>0||this.c.Ed()))throw RU(new gwc);if(this.d==0){this.b=this.c.Fd();this.f=this.d=gk(this.b)}--this.d;this.a=true;return this.b.b.xe()};_.Gd=function Yw(){oe(this.a,DAc);this.f==1?this.c.Gd():Sj(this.e,this.b.b.xe(),1)>0;--this.f;this.a=false};_.a=false;_.d=0;_.f=0;var lH=xic(790);pV(793,189,{189:1,3:1,123:1},_w);_.He=function ax(a,b){return he(a),he(b),$hc(a,b)};_.Ie=function bx(){var a;a=this.a;!a&&(a=this.a=new dx(this));
return a};_.Ad=function cx(){return"Ordering.natural()"};var Zw;var nH=xic(793);pV(294,189,{294:1,189:1,3:1,123:1},dx);_.He=function ex(a,b){if(TD(a)===TD(b))return 0;if(a==null)return-1;if(b==null)return 1;return this.a.He(a,b)};_.xd=function fx(a){var b;if(a===this)return true;if(ND(a,294)){b=a;return this.a.xd(b.a)}return false};_.zd=function gx(){return rb(this.a)^957692532};_.Ie=function hx(){return this};_.Ad=function ix(){return this.a+".nullsFirst()"};var oH=xic(294);pV(652,314,NAc,nx);_.af=
function ox(){return this.a};var lx;var rH=xic(652);pV(155,918,LAc,px);_.Se=function qx(){return this.a};var sH=xic(155);pV(274,224,NAc,rx,sx);var tH=xic(274);pV(325,324,OAc,vx);var tx;var uH=xic(325);pV(253,382,{71:1,130:1,382:1,253:1,3:1,16:1,19:1,31:1,122:1},wx);_.Oe=function xx(){return new fr(this,(Lm(),gn(new xpc(jx(this,XC(AS,qAc,1,this.b.b.size(),5,1))))))};var vH=xic(253);pV(923,915,CAc);_.Md=function Jx(){return this.Pe()};_.add=function Gx(a){throw RU(new Okc);};_.addAll=function Hx(a){throw RU(new Okc);
};_.clear=function Ix(){throw RU(new Okc);};_.remove=function Kx(a){throw RU(new Okc);};_.removeAll=function Lx(a){throw RU(new Okc);};_.retainAll=function Mx(a){throw RU(new Okc);};var zH=xic(923);pV(635,923,CAc,Px);_.Md=function Tx(){return Ox(this)};_.contains=function Qx(a){return this.a.contains(a)||this.b.contains(a)};_.isEmpty=function Rx(){return this.a.isEmpty()&&this.b.isEmpty()};_.Pe=function Sx(){return qs(bs(this.a.Md(),Vx(this.c)))};_.size=function Ux(){return gA(this.a.size(),Wx(this.c))};
var wH=xic(635);pV(636,923,CAc,Xx);_.Md=function _x(){return Vx(this)};_.contains=function Yx(a){return this.b.contains(a)&&!this.c.contains(a)};_.isEmpty=function Zx(){return this.c.containsAll(this.b)};_.Pe=function $x(){return es(this.b.Md(),this.a)};_.size=function ay(){return Wx(this)};var xH=xic(636);pV(309,922,{309:1,3:1,16:1,19:1,203:1,31:1,122:1},by);var AH=xic(309);pV(333,314,NAc,cy,dy);_.values=function gy(){return km(),new ly(this.c)};_.Ge=function hy(){return km(),new ly(this.c)};_.af=
function ey(){var a;return a=this.a,!a?this.a=new dy(this.c,this.b,this):a};_.bf=function fy(){return km(),new ly(this.c)};var BH=xic(333);pV(92,918,LAc,iy);_.Se=function jy(){return this.a};var CH=xic(92);pV(69,130,OAc,ly);_.Md=function oy(){return Yr(),new ws(this.a)};_.contains=function my(a){return ky(this,a)};_.Pe=function ny(){return Yr(),new ws(this.a)};_.size=function py(){return 1};var DH=xic(69);pV(854,1,lAc,ry);_.Fd=function ty(){return qy(this)};_.Ed=function sy(){return tvc(this.c)||
this.a.Ed()};_.Gd=function uy(){this.a.Gd();this.b.e.isEmpty()&&vvc(this.c)};var EH=xic(854);pV(478,946,BAc,xy);_.clear=function yy(){var a;a=!this.a||this.a.isEmpty()&&Tuc(this.c.a,this.b)?this.a=Uuc(this.c.a,this.b):this.a;!!a&&a.clear();wy(this)};_.containsKey=function zy(a){var b;b=!this.a||this.a.isEmpty()&&Tuc(this.c.a,this.b)?this.a=Uuc(this.c.a,this.b):this.a;return a!=null&&!!b&&Ev(b,a)};_.pe=function Ay(a){var b;b=!this.a||this.a.isEmpty()&&Tuc(this.c.a,this.b)?this.a=Uuc(this.c.a,this.b):
this.a;return a!=null&&!!b?Fv(b,a):null};_.put=function By(a,b){he(a);he(b);if(!!this.a&&!this.a.isEmpty())return this.a.put(a,b);return tp(this.c,this.b,a,b)};_.remove=function Cy(a){var b,c;b=!this.a||this.a.isEmpty()&&Tuc(this.c.a,this.b)?this.a=Uuc(this.c.a,this.b):this.a;if(!b)return null;c=Gv(b,a);wy(this);return c};_.size=function Dy(){var a;a=!this.a||this.a.isEmpty()&&Tuc(this.c.a,this.b)?this.a=Uuc(this.c.a,this.b):this.a;return!a?0:a.size()};var KH=xic(478);pV(857,1,lAc,Ey);_.Fd=function Gy(){return new Iy(this.b.Fd())};
_.Ed=function Fy(){return this.b.Ed()};_.Gd=function Hy(){this.b.Gd();wy(this.a)};var FH=xic(857);pV(858,944,PAc,Iy);_.Ze=function Jy(){return this.a};_.xd=function Ky(a){return jp(this,a)};_.ze=function Ly(a){return ip(this,he(a))};var GH=xic(858);pV(287,938,BAc,My);_.pe=function Py(a){return this.a.$e(a)?new xy(this.a,a):null};_.remove=function Qy(a){return a==null?null:Xuc(this.a.a,a)};_.containsKey=function Ny(a){return this.a.$e(a)};_.re=function Oy(){return new Uy(this)};_.qe=function(){return this.re()};
var JH=xic(287);pV(855,926,CAc);_.clear=function Sy(){Suc(this.b.a)};_.isEmpty=function Ty(){return xlc(this.b.a.c)==0};var LH=xic(855);pV(856,855,CAc,Uy);_.contains=function Vy(a){var b;if(ND(a,58)){b=a;return b.xe()!=null&&ND(b.ye(),49)&&fl(new nvc(this.a.a.a),b)}return false};_.Md=function Wy(){return Av(new nmc(this.a.a.a),new Zy(this))};_.remove=function Xy(a){var b;if(ND(a,58)){b=a;return b.xe()!=null&&ND(b.ye(),49)&&mvc(new nvc(this.a.a.a),b)}return false};_.size=function Yy(){return xlc(this.a.a.a.c)};
var IH=xic(856);pV(859,1,$Ac,Zy);_.Kd=function $y(a){return new xy(this.a.a.a,a)};_.xd=function _y(a){return this===a};var HH=xic(859);pV(952,1,{957:1});_.xd=function bz(a){var b;if(a===this)return true;if(ND(a,252)){b=a;return Wd(this.b,b.b)&&Wd(this.a,b.a)&&Wd(this.c,b.c)}return false};_.zd=function cz(){return gpc($C(VC(AS,1),qAc,1,5,[this.b,this.a,this.c]))};_.Ad=function dz(){return"("+this.b+","+this.a+")="+this.c};var NH=xic(952);pV(252,952,{957:1,252:1,3:1},ez);var OH=xic(252);pV(772,936,
BAc,fz);_.oe=function gz(){var a;a=this.b;if(a)return a;return this.b=new hz(this)};var VH=xic(772);pV(773,927,CAc,hz);_.Md=function iz(){var a;return new kz(this,(a=(new nmc(this.a.a)).a.oe().Md(),new tmc(a)))};_.se=function jz(){return this.a};var UH=xic(773);pV(774,270,lAc,kz);_.gf=function lz(a){return new mz(this,a)};var TH=xic(774);pV(775,223,JAc,mz);_.xe=function nz(){return this.b};_.ye=function oz(){return Qo(this.a.a.a,this.b)};_.ze=function pz(a){return Ro(this.a.a.a,this.b,a)};var SH=
xic(775);pV(953,1,{});var qz;var aI=xic(953);pV(254,97,{97:1,50:1,254:1,51:1},zz);_.xd=function Az(a){return wz(this,a)};_.zd=function Bz(){return fpc(this.c)};_.Id=function Cz(a){return yz(this,a)};_.Ad=function Dz(){return this.f};_.a=0;_.b=0;_.d=0;var WH=xic(254);pV(147,953,{147:1},Gz);_.xd=function Hz(a){var b;if(ND(a,147)){b=a;return wz(this.b,b.b)&&Wd(this.c,b.c)}return false};_.zd=function Iz(){return fpc(this.b.c)^gpc($C(VC(AS,1),qAc,1,5,[this.c]))};_.Ad=function Jz(){var a;a=new Lkc("BaseEncoding.");
Ekc(a,this.b.f);8%this.b.a!=0&&(!this.c?(a.a+=".omitPadding()",a):Ekc(Dkc((a.a+=".withPadChar('",a),this.c),"')"));return a.a};var _H=xic(147);pV(561,147,{147:1},Lz);var XH=xic(561);pV(383,147,{147:1},Oz);var YH=xic(383);pV(40,1,eBc);_.qf=function Xz(a){return new $wnd.Error(a)};_.rf=function Zz(){return this.f};_.sf=function $z(){var a,b,c;c=this.f==null?null:this.f.replace(new RegExp(fBc,"g")," ");b=(a=sic(this.jj),c==null?a:a+": "+c);Rz(this,Yz(this.qf(b)));HC(this)};_.Ad=function aA(){return Tz(this,
this.rf())};_.backingJsObject=bBc;_.j=true;var GS=xic(40);pV(41,40,gBc);var pS=xic(41);pV(91,41,{91:1,3:1,41:1,40:1});var eS=xic(91);pV(295,91,{295:1,91:1,3:1,41:1,40:1},cA);var ZH=xic(295);var kA;var pA;pV(113,1,{},uA);_.a=0;_.b=0;var bI=xic(113);pV(436,1,{},CA);_.b=0;_.c=null;var iI=xic(436);pV(712,1,{},EA);var cI=xic(712);pV(713,1,{},KA);_.b=0;_.c=0;_.d=0;_.e=0;_.f=0;_.g=0;var dI=xic(713);pV(437,1,{890:1},LA);_.tf=function MA(){return this.e};_.uf=function NA(){return-1};_.vf=function OA(){return-1};
_.wf=function PA(){return-1};_.xf=function QA(){return-1};_.e=0;var gI=xic(437);pV(438,437,{890:1},RA);_.uf=function SA(){return-1};_.vf=function TA(){return this.b};_.wf=function UA(){return this.c};_.xf=function VA(){return this.d};_.b=0;_.c=0;_.d=0;var hI=xic(438);pV(715,438,{890:1},WA);_.uf=function XA(){return this.a};_.a=0;var eI=xic(715);pV(714,1,{},_A);_.b=0;_.c=0;var fI=xic(714);pV(708,1,{},hB);_.c=null;_.d=-1;var oI=xic(708);pV(709,1,{},mB);var jI=xic(709);pV(711,1,{},pB);_.yf=function qB(a,
b,c,d,e){var f;this.d!=b&&(this.c=0);if(b!=d||c!=e)if(b<this.a){this.d==b&&wkc(this.b,44);oB(this,a,c);this.d=b;this.c=c}else ne(!a);for(f=b;f<=d&&f<this.a;f++){if(f==d)break;wkc(this.b,59)}};_.a=0;_.c=0;_.d=-1;_.e=0;_.f=0;_.g=0;_.i=0;var kI=xic(711);pV(434,1,{434:1},rB);_.f=false;var mI=xic(434);pV(435,1,{},yB);_.a=0;_.b=0;var lI=xic(435);pV(710,1,{},zB);_.yf=function AB(a,b,c,d,e){!!a&&(a.f=true)};var nI=xic(710);pV(607,1,{},BB);_.c=0;_.i=0;var rI=xic(607);pV(606,1,{},KB);_.c=0;_.i=0;var pI=xic(606);
pV(899,1,{});var qI=xic(899);pV(126,41,{126:1,3:1,41:1,40:1},OB);var sI=xic(126);pV(304,1,{304:1},PB);_.a=0;_.b=0;_.c=0;var tI=xic(304);var QB;pV(441,1,{},VB);_.a=0;_.c=0;var vI=xic(441);pV(402,1,{},_B);_.a=0;_.b=null;_.c=0;_.d=null;var uI=xic(402);pV(32,41,gBc,bC,cC,dC);var BS=xic(32);pV(204,32,gBc,eC);var uS=xic(204);pV(624,204,gBc);var zI=xic(624);pV(263,624,{263:1,3:1,41:1,40:1},iC);_.rf=function jC(){hC(this);return this.c};_.zf=function kC(){return TD(this.b)===TD(fC)?null:this.b};var fC;var wI=
xic(263);var xI=xic(0);pV(893,1,{});var yI=xic(893);var mC=0,nC=0,oC=-1;pV(655,893,{},CC);var yC;var AI=xic(655);var FC;pV(909,1,{});var EI=xic(909);pV(611,909,{},MC);_.Af=function NC(a){var b={},j;var c=[];a[nBc]=c;var d=arguments.callee.caller;while(d){var e=(GC(),d.name||(d.name=JC(d.toString())));c.push(e);var f=":"+e;var g=b[f];if(g){var h,i;for(h=0,i=g.length;h<i;h++)if(g[h]===d)return}(g||(b[f]=[])).push(d);d=d.caller}};_.Bf=function OC(a){var b,c,d,e;d=(GC(),a&&a[nBc]?a[nBc]:[]);c=d.length;
e=XC(CS,qAc,136,c,0,1);for(b=0;b<c;b++)e[b]=new Mjc(d[b],null,-1);return e};var BI=xic(611);pV(910,909,{});_.Af=function QC(a){};_.Cf=function RC(a,b,c,d){return new Mjc(b,a+"@"+d,c<0?-1:c)};_.Bf=function SC(a){var b,c,d,e,f,g,h;e=(GC(),h=a.backingJsObject,h&&h.stack?h.stack.split(fBc):[]);f=XC(CS,qAc,136,0,0,1);b=0;d=e.length;if(d==0)return f;g=PC(this,e[0]);Vjc(g.d,mBc)||(f[b++]=g);for(c=1;c<d;c++)f[b++]=PC(this,e[c]);return f};var DI=xic(910);pV(612,910,{},TC);_.Cf=function UC(a,b,c,d){return new Mjc(b,
a,-1)};var CI=xic(612);var aD;var CD,DD,ED,FD;pV(206,1,xBc);_.Y=0;var yV;var GI=xic(206);pV(208,14,{208:1,3:1,23:1,14:1},FV);var BV,CV,DV;var FI=yic(208,nS,GV);pV(422,1,{});_.d=false;var II=xic(422);pV(168,14,{168:1,3:1,23:1,14:1},SV);var MV,NV,OV,PV,QV;var HI=yic(168,nS,TV);pV(219,14,{219:1,3:1,23:1,14:1},YV);var UV,VV,WV;var JI=yic(219,nS,ZV);pV(449,1,PBc,kX);_.Nf=function lX(a,b){!!a&&lW(this,a);!!b&&lW(this,b)};var KI=xic(449);pV(389,1,{});_.c=0;_.e=0;var NI=xic(389);pV(390,1,{390:1},rX);var LI=
xic(390);pV(572,1,RBc,tX);_.He=function uX(a,b){return sX(a,b)};_.xd=function vX(a){return this===a};var MI=xic(572);var wX,xX,yX,zX,AX,BX,CX,DX,EX,FX,GX,HX,IX,JX,KX,LX;var mL=zic();pV(931,1,SBc);_.Qf=function NX(a,b,c){return true};var jL=xic(931);var OX;var QX,RX,SX,TX;var VX,WX;var YX;var $X,_X,aY,bY,cY,dY,eY,fY;pV(215,14,{215:1,3:1,23:1,14:1},lY);var hY,iY,jY;var OI=yic(215,nS,mY);var nY;var pY;var rY,sY;var uY,vY,wY,xY;var zY;var BY,CY,DY,EY,FY;var HY;var JY;var LY,MY,NY,OY,PY,QY;pV(680,1,jAc);
_.Sf=function SY(a,b,c){};_.Tf=function TY(a,b,c){return F_(a,b,c)};_.Uf=function UY(a,b){return G_()};_.Vf=function VY(a,b){return H_()};_.Wf=function WY(a,b){return I_()};_.Xf=function XY(){return null};_.Yf=function YY(a){return J_(a)};_.Zf=function ZY(){return null};_.$f=function $Y(){return null};_._f=function _Y(a){return null};_.ag=function aZ(a){return false};_.bg=function bZ(a){return false};_.cg=function cZ(a){return Vjc(a.substr(0,6),"$super")};_.dg=function dZ(a){return K_(a)};_.eg=function eZ(a){return L_(a)};
_.fg=function fZ(a){return M_(a)};var bJ=xic(680);pV(393,680,jAc,hZ);_.Sf=function jZ(a,b,c){ne(!a.f);pwb(a,$Bc,null,b,true);ne(!a.f);pwb(a,"instance_",null,c,true)};_.Tf=function kZ(a,b,c){var d,e,f;if(a.j!=(F7b(),f5b))return null;d=a.b;if(F2b(d)){if(L2b(d,_Bc,_Bc.length)||L2b(d,"goog$bind","goog$bind".length)){e=d.d;if(!e)return null;f=vZ(e);vZ(f);return new y_(f)}if(L2b(d,aCc,aCc.length)||L2b(d,bCc,bCc.length)){e=d.d;if(!e)return null;vZ(e);return new y_(null)}}return F_(a,b,c)};_.Uf=function mZ(a,
b){var c;c=lZ(a,b,cCc);c==null&&(c=lZ(a,b,dCc));return c};_.Vf=function nZ(a,b){return lZ(a,b,eCc)};_.Wf=function oZ(a,b){var c;c=lZ(a,b,dCc);return c!=null};_.Xf=function pZ(){return"goog.abstractMethod"};_.Yf=function qZ(a){var b,c,d,e,f,g;d=J_(a);if(d)return d;b=a.b;g=wZ(b);if(g){e=null;f=a.b?a.b.f:null;c=p2b(a)==2&&b.j==(F7b(),W5b);if(c)e=b.b;else if(p2b(a)==3)e=b.d;else return null;if(g==(C_(),B_)){if(!(f.j==(F7b(),W5b)&&Vjc((f.b?f.b.f:null).Lh(),fCc)))return null;if(!c){if(!(e.j==W5b&&Vjc((e.b?
e.b.f:null).Lh(),fCc)))return null;e=e.b}f=f.b}if(!!e&&G2b(e)&&G2b(f))return new z_(e,f)}return null};_.Zf=function rZ(){return"goog.exportProperty"};_.$f=function sZ(){return"goog.exportSymbol"};_._f=function tZ(a){var b;b=a.b;if(p2b(a)==2&&(L2b(b,gCc,gCc.length)||L2b(b,hCc,hCc.length)))return v2b(b.d);return null};_.eg=function uZ(a){_d(a.j==(F7b(),f5b));return this.a.contains(v2b(a.b))||L_(a)};var QI=xic(393);var xZ,yZ,zZ,AZ;pV(428,1,{});_.hg=function KZ(a,b){EZ(this,a)};_.jg=function LZ(){this.ig("}")};
_.kg=function MZ(){this.ig("{")};_.lg=function NZ(a,b){this.ig(a)};_.mg=function OZ(){this.ig(":")};_.ng=function PZ(a,b){return b};_.og=function QZ(){};_.pg=function RZ(){};_.qg=function SZ(a){this.q=true;a&&this.rg()};_.rg=function TZ(){};_.sg=function UZ(a){};_.tg=function VZ(a){if(a){this.ig(";");this.yg();this.r=false}else this.s&&(this.r=true)};_.vg=function XZ(){DZ(this,",");this.yg()};_.wg=function YZ(){};_.xg=function ZZ(){};_.yg=function $Z(){this.wg()};_.zg=function _Z(){};_.Ag=function a$(){return false};
_.Bg=function b$(a){};_.q=false;_.r=false;_.s=false;var RI=xic(428);pV(328,1,{},w$,x$);_.Cg=function y$(a,b){d$(this,a,b)};_.f=false;_.g=false;_.i=false;_.j=false;_.k=false;var SI=xic(328);pV(298,1,{},M$);_.b=false;_.d=false;_.e=false;_.i=false;_.j=false;var UI=xic(298);pV(771,1,{},N$);var TI=xic(771);pV(452,428,{});_.sg=function R$(a){var b,c;if(this.j&&!null.mj()&&null.mj().nj==a){null.mj();c=this.k;b=this.n;ne(c>=0);new uA(c,b)}};_.ug=function S$(){return this.i.a.length>0?Fhc(this.i,this.i.a.length-
1):0};_.Bg=function T$(a){var b,c,d,e;ne(!!this.p);ne(!!a);if(this.j&&(b=u2b(a,51),(!b?null:b.Ig())!=null)&&z3b(a.i)>0&&true){d=this.k;c=this.n;ne(d>=0);e=new c_;e.b=new uA(d,c);null.mj();null.mj()}};_.j=false;_.k=0;_.n=0;_.o=0;var XI=xic(452);pV(770,452,{},X$);_.ig=function Y$(a){U$(this,a)};_.pg=function Z$(){if(!this.c)return;if(this.n>(this.o/2|0)){U$(this,";");W$(this)}else if(this.e>0){Hhc(this.i,this.e);this.b=this.f;this.n=this.i.a.length-this.b;O$(this,this.k,this.e+1,false);--this.k;this.e=
0;this.f=0;U$(this,";");W$(this)}};_.wg=function $$(){V$(this)};_.yg=function _$(){var a,b;if(this.a)if(this.q){W$(this);this.q=false}b=this.i.a.length;if(this.d==b-1){a=Fhc(this.i,b-1);a==59&&(this.d=b)}V$(this)};_.zg=function a_(){this.d=this.i.a.length};_.a=false;_.b=0;_.c=false;_.d=0;_.e=0;_.f=0;var VI=xic(770);pV(451,1,{451:1},c_);var WI=xic(451);pV(769,452,{},f_);_.hg=function g_(b,c){var d,e;if(b==0&&1/b<0){EZ(this,b);return}e=s_(c);if(e==null){EZ(this,b);return}b<0&&(e="-"+e);try{d=Pic(e)}catch(a){a=
QU(a);if(ND(a,93)){EZ(this,b);return}else throw RU(a);}if(b!=d){EZ(this,b);return}DZ(this,e)};_.ig=function h_(a){d_(this,a)};_.jg=function i_(){JZ(this);e_(this);--this.a;d_(this,"}")};_.kg=function j_(){(this.i.a.length>0?Fhc(this.i,this.i.a.length-1):0)!=32&&(this.i.a.length>0?Fhc(this.i,this.i.a.length-1):0)!=10&&DZ(this," ");d_(this,"{");++this.a};_.lg=function k_(a,b){(this.i.a.length>0?Fhc(this.i,this.i.a.length-1):0)!=32&&b&&a.charCodeAt(0)!=44&&d_(this," ");d_(this,a);b&&d_(this," ")};_.mg=
function l_(){d_(this,":");++this.a;e_(this)};_.ng=function m_(a,b){var c,d;oe(a.j==(F7b(),c5b)||a.j==_6b,a);c=a.e;if(c){d=c.j;switch(d.f){case 65:case 71:return false;case 44:return a!=c.b;case 78:return!ajb(!c.e?null:c.e.e);case 66:return a==(c.b?c.b.f:null)}}return true};_.og=function n_(){--this.a};_.pg=function o_(){JZ(this)};_.qg=function p_(a){this.q=true;a&&e_(this);a&&e_(this)};_.rg=function q_(){e_(this)};_.tg=function r_(a){d_(this,";");e_(this);this.r=false};_.vg=function t_(){DZ(this,
oAc);this.n>this.o&&e_(this)};_.wg=function u_(){this.n>this.o&&e_(this)};_.xg=function v_(){(this.i.a.length>0?Fhc(this.i,this.i.a.length-1):0)!=32&&(this.i.a.length>0?Fhc(this.i,this.i.a.length-1):0)!=10&&DZ(this," ")};_.yg=function w_(){this.n>this.o&&e_(this)};_.Ag=function x_(){return true};_.a=0;var YI=xic(769);pV(266,1,{},y_);var ZI=xic(266);pV(416,1,{},z_);var $I=xic(416);pV(267,14,{267:1,3:1,23:1,14:1},D_);var A_,B_;var _I=yic(267,nS,E_);pV(681,1,jAc,N_);_.Sf=function O_(a,b,c){};_.Tf=function P_(a,
b,c){return F_(a,b,c)};_.Uf=function Q_(a,b){return G_()};_.Vf=function R_(a,b){return H_()};_.Wf=function S_(a,b){return I_()};_.Xf=function T_(){return null};_.Yf=function U_(a){return J_(a)};_.Zf=function V_(){return null};_.$f=function W_(){return null};_._f=function X_(a){return null};_.ag=function Y_(a){return false};_.bg=function Z_(a){return false};_.cg=function $_(a){return Vjc(a.substr(0,6),"$super")};_.dg=function __(a){return K_(a)};_.eg=function a0(a){return L_(a)};_.fg=function b0(a){return M_(a)};
var aJ=xic(681);pV(391,206,xBc);_.Df=function t1(a,b){Sxc(this.r,a,b)};_.Ef=function w1(){return u0(this)};_.Ff=function x1(){return this.G};_.Gf=function y1(){return x0(this)};_.Hf=function z1(){return this.H};_.If=function A1(a){var b,c,d;if(!this.J){c=B0(this,this.H.Vb);d=t0(this)?0:1;this.J=(b=rKb(c,this.H.mc,d),b);this.k=c==(UFb(),OFb)?q0(this,PFb,d):this.J}switch(a){case 1:return this.k;default:return this.J}};_.Jf=function B1(){return I0(this)};_.Kf=function C1(){return this.p};_.Lf=function D1(a){var b;
b=new rmb(this);pmb(b,null,a)};_.Mf=function E1(a){c1(this,a)};_.b=null;_.c=null;_.i=null;_.k=null;_.p=true;_.A=null;_.H=null;_.J=null;_.K=null;_.L=null;_.M=0;_.R=null;_.S=null;_.T=0;_.W=0;var d0,e0,f0,g0,h0,i0;var xJ=xic(391);pV(574,1,$Ac,G1);_.Kd=function H1(a){return F1(a)};_.xd=function I1(a){return this===a};var dJ=xic(574);pV(587,1,{},K1);_.Dg=function L1(){return J1(this)};_.c=0;var cJ=xic(587);pV(74,1,dDc);_.a=false;var JL=xic(74);pV(576,74,dDc,O1);_.Eg=function P1(a){return N1(a)};var eJ=
xic(576);pV(579,1,{},Q1);_.Dg=function R1(){return p0(this.a),C0(this.a)};var fJ=xic(579);pV(116,1,{404:1},S1);_.Bd=function T1(){return""+this.a.W++};var gJ=xic(116);pV(388,1,{},V1);_.Dg=function W1(){return U1(this)};var hJ=xic(388);pV(590,1,{},$1);_.Ad=function _1(){return this.c.a};_.a=0;_.b=0;var iJ=xic(590);pV(124,1,{124:1,563:1,3:1},l2,m2,n2);_.Fg=function p2(a){return e2(this,a)};_.Gg=function q2(){return this.f};_.Hg=function r2(){return f2(this).Hg()};_.Ig=function s2(){return this.f.a};
_.Jg=function t2(){return f2(this).Jg()};_.Kg=function u2(){return f2(this).Kg()};_.Lg=function v2(){return this.a.Lg()};_.Ad=function w2(){return this.f.a};var kJ=xic(124);pV(673,1,{},z2);var jJ=xic(673);pV(161,1,{},J2);_.Ad=function L2(){return Sd(Qd(Qd(Qd(Qd(Qd(Qd(Qd(Qd(Qd(Qd(Qd(Qd(Qd(Qd(Qd(Qd(Qd(Qd(Qd(Qd(Qd(Qd(Qd(Qd(Qd(Qd(Qd(Qd(Qd(Qd(Qd(Qd(Qd(Qd(Qd(Qd(Qd(Qd(Qd(Qd(Qd(Qd(Qd(Qd(Qd(Qd(Qd(Qd(Qd(Qd(Qd(Qd(Qd(Qd(Qd(Qd(Qd(Qd(Qd(Qd(Qd(Qd(Qd(Qd(Qd(Qd(Qd(Qd(Qd(Qd(Qd(Qd(Qd(Qd(Qd(Qd(Qd(Qd(Qd(Qd(Qd(Qd(Qd(Qd(Qd(Qd(Qd(Qd(Qd(Qd(Qd(Qd(Qd(Qd(Qd(Qd(Qd(Qd(Qd(Qd(Qd(Qd(Qd(Qd(Qd(Qd(Qd(Qd(Qd(Qd(Qd(Qd(Qd(Qd(Qd(Qd(Qd(Qd(Qd(Qd(Qd(Qd(Qd(Qd(Qd(Qd(Qd(Qd(Qd(Qd(Qd(Qd(Qd(Qd(Qd(Qd(Qd(Qd(Qd(Qd(Qd(Qd(Qd(Qd(Qd(Qd(Qd(Qd(Qd(Qd(Qd(Qd(Qd(Qd(Qd(Qd(Qd(Qd(Qd(Qd(Qd(Qd(Qd(Qd(Qd(Qd(Qd(Qd(Qd(Qd(Qd(Qd(Qd(Qd(Qd(Qd(Qd(Qd(Qd(Qd(Qd(Qd(Qd(Qd(Qd(Qd(Qd(Qd(Qd(Rd(new Td((qic(wJ),
wJ.k))),"aggressiveFusion",""+this.a),"aliasableStrings",this.e),"aliasAllStrings",""+this.b),"aliasHandler",this.c),"aliasStringsBlacklist",this.d),"allowHotswapReplaceScript",ACc),"ambiguateProperties",""+this.f),"angularPass",""+this.g),"anonymousFunctionNaming",this.i),"appNameStr",this.j),"assumeClosuresOnlyCaptureReferences",""+this.k),"assumeStrictThis",""+this.n),"brokenClosureRequiresLevel",this.o),"chainCalls",""+this.p),"checkDeterminism",""+this.q),"checkEventfulObjectDisposalPolicy",
this.r),"checkGlobalNamesLevel",this.s),"checkGlobalThisLevel",this.t),"checkMissingGetCssNameBlacklist",this.u),"checkMissingGetCssNameLevel",this.v),"checksOnly",""+this.C),"checkSuspiciousCode",""+this.w),"checkSymbols",""+this.A),gDc,""+this.B),"closurePass",""+this.D),"coalesceVariableNames",""+this.F),"codingConvention",this.G),"collapseAnonymousFunctions",""+this.H),hDc,""+this.I),"collapseProperties",""+this.J),"collapseVariableDeclarations",""+this.K),"colorizeErrorOutput",""+this.L),"computeFunctionSideEffects",
""+this.M),"conformanceConfigs",this.N),"continueAfterErrors",ACc),"convertToDottedProperties",""+this.O),iDc,""+this.P),"crossModuleCodeMotionNoStubMethods",""+this.Q),jDc,""+this.R),"cssRenamingMap",this.S),"cssRenamingWhitelist",this.T),"customPasses",this.U),"dartPass",""+this.V),"deadAssignmentElimination",""+this.W),"debugFunctionSideEffectsPath",this.X),"declaredGlobalExternsOnWindow",""+this.Y),"defineReplacements",K2(this.Z)),"dependencyOptions",this.$),"devirtualizePrototypeMethods",""+
this.ab),"devMode",this._),"disambiguatePrivateProperties",""+this.bb),"disambiguateProperties",""+this.cb),"enforceAccessControlCodingConventions",""+this.eb),"environment",this.fb),"errorFormat",this.gb),"errorHandler",this.hb),"exportLocalPropertyDefinitions",""+this.ib),"exportTestFunctions",""+this.jb),_Cc,""+this.kb),"externExportsPath",this.lb),"extraAnnotationNames",this.mb),"extractPrototypeMemberDeclarations",this.ob),"extraSmartNameRemoval",""+this.nb),"flowSensitiveInlineVariables",""+
this.qb),"foldConstants",""+this.rb),"forceLibraryInjection",this.sb),"gatherCssNames",""+this.tb),"generateExportsAfterTypeChecking",""+this.vb),"generateExports",""+this.ub),"generatePseudoNames",""+this.wb),"generateTypedExterns",ACc),"idGenerators",this.xb),"idGeneratorsMapSerialized",this.yb),"inferConsts",""+this.zb),"inferTypes",""+this.Ab),"inlineConstantVars",""+this.Bb),kDc,""+this.Cb),"inlineGetters",""+this.Db),"inlineLocalFunctions",""+this.Eb),"inlineLocalVariables",""+this.Fb),"inlineProperties",
""+this.Gb),lDc,""+this.Hb),"inputAnonymousFunctionNamingMap",this.Ib),"inputDelimiter",this.Jb),"inputPropertyMap",this.Kb),"inputSourceMaps",this.Lb),"inputVariableMap",this.Mb),"instrumentationTemplateFile",this.Qb),"instrumentationTemplate",this.Pb),"instrumentForCoverage",""+this.Ob),"instrumentBranchCoverage",""+this.Nb),"j2clPassMode",this.Sb),"jqueryPass",""+this.Tb),"labelRenaming",""+this.Ub),"languageIn",this.Vb),"languageOut",F2(this)),"legacyCodeCompile",ACc),"lineBreak",""+this.Xb),
"lineLengthThreshold",""+this.Yb),mDc,this.Zb),"markAsCompiled",""+this.$b),"markNoSideEffectCalls",""+this._b),"maxFunctionSizeAfterInlining",""+this.ac),"messageBundle",null),"moduleRoots",this.bc),"moveFunctionDeclarations",""+this.cc),"nameGenerator",this.dc),"optimizeArgumentsArray",""+this.ec),"optimizeCalls",""+this.fc),"optimizeParameters",""+this.gc),"optimizeReturns",""+this.hc),"outputCharset",this.ic),"outputJs",this.jc),"outputJsStringUsage",""+this.kc),"parentModuleCanSeeSymbolsDeclaredInChildren",
""+this.lc),"parseJsDocDocumentation",this.mc),"polymerPass",""+this.nc),"preferLineBreakAtEndOfFile",""+this.oc),"preferSingleQuotes",""+this.pc),"preferStableNames",""+this.qc),"preserveDetailedSourceInfo",ACc),"preserveGoogProvidesAndRequires",""+this.rc),"preserveTypeAnnotations",""+this.sc),"prettyPrint",""+this.tc),"preventLibraryInjection",ACc),"printConfig",ACc),"printInputDelimiter",""+this.uc),"printSourceAfterEachPass",""+this.vc),"processCommonJSModules",ACc),"processObjectPropertyString",
""+this.wc),"propertyInvalidationErrors",this.xc),"propertyRenaming",this.yc),"protectHiddenSideEffects",""+this.zc),"quoteKeywordProperties",""+this.Ac),TCc,""+this.Bc),"removeAbstractMethods",""+this.Cc),"removeSuperMethods",""+this.Fc),"removeClosureAsserts",""+this.Dc),"removeDeadCode",""+this.Ec),nDc,""+this.Gc),"removeUnusedConstructorProperties",""+this.Hc),"removeUnusedLocalVars",""+this.Ic),"removeUnusedPrototypePropertiesInExterns",""+this.Kc),oDc,""+this.Jc),pDc,""+this.Lc),"renamePrefixNamespaceAssumeCrossModuleNames",
ACc),"renamePrefixNamespace",this.Nc),"renamePrefix",this.Mc),"replaceIdGenerators",""+this.Oc),"replaceMessagesWithChromeI18n",""+this.Pc),"replaceStringsFunctionDescriptions",this.Qc),"replaceStringsInputMap",this.Rc),"replaceStringsPlaceholderToken",this.Sc),"replaceStringsReservedStrings",this.Tc),"reportOTIErrorsUnderNTI",ACc),"reportPath",this.Uc),"reserveRawExports",""+this.Vc),"rewriteFunctionExpressions",""+this.Wc),"rewritePolyfills",ACc),"runtimeTypeCheckLogFunction",this.Yc),"runtimeTypeCheck",
""+this.Xc),"shadowVariables",""+this.Zc),"skipNonTranspilationPasses",""+this.$c),"skipTranspilationAndCrash",ACc),"smartNameRemoval",""+this._c),"sourceMapDetailLevel",this.ad),"sourceMapFormat",this.bd),"sourceMapLocationMappings",this.cd),"sourceMapOutputPath",this.dd),"stripNamePrefixes",this.ed),"stripNameSuffixes",this.fd),"stripTypePrefixes",this.gd),"stripTypes",this.hd),"summaryDetailLevel",""+this.jd),"syntheticBlockEndMarker",this.kd),"syntheticBlockStartMarker",this.ld),"tcProjectId",
this.md),"tracer",this.nd),"transformAMDToCJSModules",ACc),"trustedStrings",""+this.od),"tweakProcessing",this.pd),"tweakReplacements",K2(this.qd)),"useDebugLog",""+this.rd),"useNewTypeInference",""+this.sd),"emitUseStrict",""+this.db),"useTypesForLocalOptimization",""+this.td),"variableRenaming",this.ud),"warningsGuard",this.vd),"wrapGoogModulesForWhitespaceOnly",""+this.wd))};_.a=false;_.b=false;_.f=false;_.g=false;_.k=false;_.n=false;_.p=false;_.q=false;_.w=false;_.A=false;_.B=false;_.C=false;
_.D=false;_.F=false;_.H=false;_.I=false;_.J=false;_.K=false;_.L=false;_.M=false;_.O=false;_.P=false;_.Q=false;_.R=false;_.V=false;_.W=false;_.Y=false;_.ab=false;_.bb=false;_.cb=false;_.db=true;_.eb=false;_.ib=false;_.jb=false;_.kb=false;_.nb=false;_.qb=false;_.rb=false;_.tb=false;_.ub=false;_.vb=false;_.wb=false;_.zb=true;_.Ab=false;_.Bb=false;_.Cb=false;_.Db=false;_.Eb=false;_.Fb=false;_.Gb=false;_.Hb=false;_.Jb="// Input %num%";_.Nb=false;_.Ob=false;_.Rb=true;_.Tb=false;_.Ub=false;_.Xb=false;_.Yb=
500;_.$b=false;_._b=false;_.ac=0;_.cc=false;_.ec=false;_.fc=false;_.gc=false;_.hc=false;_.kc=false;_.lc=false;_.nc=false;_.oc=false;_.pc=false;_.qc=false;_.rc=false;_.sc=false;_.tc=false;_.uc=false;_.vc=false;_.wc=false;_.zc=false;_.Ac=false;_.Bc=false;_.Cc=false;_.Dc=false;_.Ec=false;_.Fc=false;_.Gc=false;_.Hc=false;_.Ic=false;_.Jc=false;_.Kc=false;_.Lc=false;_.Oc=true;_.Pc=false;_.Vc=false;_.Wc=false;_.Xc=false;_.Zc=false;_.$c=false;_._c=false;_.jd=1;_.od=false;_.rd=false;_.sd=false;_.td=false;
_.wd=true;var A2;var wJ=xic(161);pV(180,14,{180:1,3:1,23:1,14:1},R2);var M2,N2,O2,P2;var lJ=yic(180,nS,S2);pV(211,14,{211:1,3:1,23:1,14:1},X2);var T2,U2,V2;var mJ=yic(211,nS,Y2);pV(258,14,{258:1,3:1,23:1,14:1},a3);var Z2,$2;var nJ=yic(258,nS,b3);pV(212,14,{212:1,3:1,23:1,14:1},g3);var c3,d3,e3;var oJ=yic(212,nS,h3);pV(165,14,{165:1,3:1,23:1,14:1},o3);var i3,j3,k3,l3,m3;var pJ=yic(165,nS,p3);pV(103,14,{103:1,3:1,23:1,14:1},F3);var q3,r3,s3,t3,u3,v3,w3,x3,y3,z3,A3,B3;var qJ=yic(103,nS,G3);pV(613,1,
{},H3);var rJ=xic(613);pV(213,14,{213:1,3:1,23:1,14:1},M3);var I3,J3,K3;var sJ=yic(213,nS,N3);pV(164,14,{164:1,3:1,23:1,14:1},U3);var O3,P3,Q3,R3,S3;var tJ=yic(164,nS,V3);pV(214,14,{214:1,3:1,23:1,14:1},$3);var W3,X3,Y3;var uJ=yic(214,nS,_3);pV(144,32,gBc,b4);var vJ=xic(144);pV(177,1,xDc);_.Mg=function c4(a){return false};_.Ng=function d4(a){return false};_.Og=function e4(){return(Stb(),Ltb).a};var eN=xic(177);pV(207,177,{207:1,177:1,3:1},l4);_.Mg=function m4(a){return h4(this,a)};_.Ng=function n4(a){return i4(this,
a)};_.Pg=function o4(a){return j4(this,a)};_.Ad=function p4(){var a;return Sc(new Vc(oAc),(a=(new mnc(this.c.a)).a.oe().b.ej(),new snc(a)))};_.a=false;_.d=0;var zJ=xic(207);pV(630,1,yDc,r4);_.He=function s4(a,b){return q4(this,a,b)};_.xd=function t4(a){return this===a};var yJ=xic(630);var u4;pV(412,1,{},E4,F4);_.b=0;var w4,x4;var BJ=xic(412);pV(307,1,{307:1,23:1},I4);_.Rd=function J4(a){return H4(this,a)};_.a=0;_.b=0;_.c=0;var AJ=xic(307);pV(614,1,jAc,L4);_.Ad=function M4(){return Sd(Qd(Qd(Qd(Qd(new Td((qic(CJ),
CJ.k)),"sortDependencies",""+this.b),"pruneDependencies",ACc),"dropMoochers",ACc),"entryPoints",this.a))};_.b=false;var CJ=xic(614);pV(54,1,{54:1,3:1},R4,S4,T4,U4);_.Ad=function W4(){return this.a==null?(qic(EJ),EJ.o+"@"+(rb(this)>>>0).toString(16)):"DiagnosticGroup<"+this.a+">"};var N4;var EJ=xic(54);pV(111,177,xDc,X4);_.Mg=function Y4(a){return this.b==(kY(),iY)&&P4(this.a,a)};_.Ng=function Z4(a){var b,c;if(this.b!=(kY(),iY))for(c=a.b.Md();c.Ed();){b=c.Fd();if(Q4(this.a,b))return true}return false};
_.Pg=function $4(a){return Q4(this.a,a.g)?this.b:null};_.Ad=function _4(){return this.a+"("+this.b+")"};var DJ=xic(111);var a5,b5,c5,d5,e5,f5,g5,h5,i5,j5,k5,l5,m5,n5,o5,p5,q5,r5,s5;pV(5,1,{5:1,3:1,23:1},y5);_.Rd=function z5(a){return Rjc(this.c,a.c)};_.xd=function A5(a){return x5(this,a)};_.zd=function B5(){return Tzc(this.c)};var FJ=xic(5);var C5,D5;pV(128,14,MDc);var F5,G5,H5,I5;var KJ=yic(128,nS,L5);pV(625,128,MDc,M5);var GJ=yic(625,KJ,null);pV(626,128,MDc,N5);var HJ=yic(626,KJ,null);pV(627,128,
MDc,O5);var IJ=yic(627,KJ,null);pV(628,128,MDc,Q5);var JJ=yic(628,KJ,null);pV(840,931,TDc,U5);_.Nf=function V5(a,b){irb(this.a,a,$C(VC(mL,1),qAc,26,0,[this]));irb(this.a,b,$C(VC(mL,1),qAc,26,0,[this]))};_.Rf=function W5(a,b,c){var d,e;if(b.j==(F7b(),k5b)){d=false;for(e=(b.b?b.b.f:null).b;e;e=e.d)if(e.j==t6b&&Vjc(e.Lh(),SDc)){d=true;break}d||R5(b)}else b.j==l7b&&T5(this,b,c)};var RJ=xic(840);pV(841,1,UDc,Y5);_.Hd=function Z5(a){return X5(a)};_.xd=function $5(a){return this===a};var LJ=xic(841);pV(836,
1,TDc,g6);_.Nf=function h6(a,b){this.c=new Vab(this.a,a,b);irb(this.a,a,$C(VC(mL,1),qAc,26,0,[this]));irb(this.a,b,$C(VC(mL,1),qAc,26,0,[this]))};_.Qf=function i6(a,b,c){var d,e;if(b.j==(F7b(),Q5b))xnc(this.b,new n6(b));else if(b.j==l7b){e=c.j==f5b?c:c.e;oe(e.j==f5b,e);d=he(Enc(this.b));hoc(d.b,e)}return true};_.Rf=function j6(a,b,c){var d;d=Enc(this.b);if(!!d&&b==d.a){Lnc(this.b);f6(this,a,d)}};var QJ=xic(836);pV(839,1,SBc,k6);_.Qf=function l6(a,b,c){return loc(this.a,b,0)==-1&&!(b.j==(F7b(),Q5b)&&
s2b(b,60)==0)};_.Rf=function m6(a,b,c){var d;if(b.j==(F7b(),q7b)){d=m3b((se(Yjc(gEc,qkc(46))==-1,YBc,gEc),new q4b(y6b,gEc)),b);S2b(c,b,d)}else b.j==$6b&&!b.b&&e2b(b,m3b((se(Yjc(gEc,qkc(46))==-1,YBc,gEc),new q4b(y6b,gEc)),b))};var MJ=xic(839);pV(472,1,{472:1},n6);var NJ=xic(472);pV(837,1,{},p6);_.a=false;var PJ=xic(837);pV(934,1,SBc);_.Qf=function q6(a,b,c){return!c||c.j!=(F7b(),Q5b)||b==c.b};var lL=xic(934);pV(838,934,SBc,r6);_.Rf=function s6(a,b,c){this.a.a||b.j==(F7b(),$6b)&&!!b.b&&!K2b(b.b,hEc)&&
(this.a.a=true)};var OJ=xic(838);pV(827,931,TDc,u6);_.Nf=function v6(a,b){irb(this.b,b,$C(VC(mL,1),qAc,26,0,[this,new y6(this)]))};_.Rf=function w6(a,b,c){var d,e,f,g,h,i;b.j==(F7b(),k5b)&&t6(this,b,c)&&(d=(Hub(),dkc(ckc(ckc(ckc(ckc(ckc(dkc(ekc(Jub((e=dkc(dkc(dkc(dkc(dkc(ckc(ckc(u2b(b,51).Ig(),58,45),92,47)," ",iEc),"[",jEc),"]",kEc),"<",lEc),">",mEc),Iub(e))),nEc+Xyc("/"),""),"/","$"),92,36),64,36),45,95),58,95),46,95),iEc,"_")+"$classdecl$var"+this.a++),f=(sib(),g=Fib(b),!g?null:u2b(g,29)),h=Iib(c,
rib),S2b(c,b,(se(Yjc(d,qkc(46))==-1,YBc,d),new q4b(y6b,d))),i=p3b(LZb((se(Yjc(d,qkc(46))==-1,YBc,d),new q4b(y6b,d)),b,p5b),b),Y2b(i,F0b(X1b(f),false)),c2b(h.e,i,h),d1(this.b),undefined)};_.a=0;var UJ=xic(827);pV(828,1,SBc,y6);_.Qf=function z6(a,b,c){b.j==(F7b(),k5b)&&(_d(b.j==k5b),b.b.j==y6b&&c.j==y6b)&&Evc(this.a,new B6(b.b,c.Lh()));return true};_.Rf=function A6(a,b,c){switch(b.j.f){case 96:{_d(b.j==(F7b(),k5b));if(b.b.j==y6b&&c.j==y6b){Ivc(this.a);S2b(b,b.b,m3b(new q3b(B5b),b.b));d1(this.b.b)}}break;
case 29:x6(this,a,b,c)}};var TJ=xic(828);pV(471,1,{471:1},B6);var SJ=xic(471);pV(555,931,SBc,E6);_.Rf=function F6(a,b,c){var d;sib();b.j==(F7b(),y6b)&&b.Lh().length!=0&&C6(this,a,b);d=u2b(b,29);!!d&&D6(this,a,i_b(d))};var VJ=xic(555);pV(830,931,TDc,G6);_.Nf=function H6(a,b){irb(this.a,b,$C(VC(mL,1),qAc,26,0,[this]))};_.Rf=function I6(a,b,c){var d,e,f,g,h,i,j,k,l,m,n,o,p;if(b.j!=(F7b(),Q5b)||!C2b(b.b?b.b.f:null))return;l=b.b.d;e=new M6;gib(this.a,l,new K6(this,e));d=l.d;f=new D8(this.a);i=w8(f,b,Shb(a));
h=w8(f,d,i);m=new Cp(new Yuc,new Gp);for(p=(k=(new xmc(h.e)).a.oe().Md(),new Cmc(k));p.a.Ed();){o=(g=p.a.Fd(),g.ye());j=o.b;Wtc(e.a,j)&&!Ap(m,h.d,j)&&tp(m,h.d,j,j+"$"+(""+(n=this.a,new S1(n)).a.W++))}dib(new fib(this.a,new E6(m),new D8(this.a)),d,d.e,i)};var YJ=xic(830);pV(932,1,SBc);_.Rf=function J6(a,b,c){};var kL=xic(932);pV(832,932,SBc,K6);_.Qf=function L6(a,b,c){if(!c)return true;if(c.j==(F7b(),v5b)&&b==(c.b?c.b.f:null)||c.j==o5b&&b==c.b){gib(this.a.a,b,this.b);return false}return true};var WJ=
xic(832);pV(831,931,SBc,M6);_.Rf=function N6(a,b,c){sib();if(!(b.j==(F7b(),y6b)&&b.Lh().length!=0))return;Vtc(this.a,b.Lh())};var XJ=xic(831);pV(833,1,TDc,R6);_.Nf=function S6(a,b){irb(this.a,a,$C(VC(mL,1),qAc,26,0,[this]));irb(this.a,b,$C(VC(mL,1),qAc,26,0,[this]))};_.Qf=function T6(a,b,c){var d,e,f;switch(b.j.f){case 85:xnc(this.b,new V6(b,false));break;case 65:s2b(b,60)!=0||xnc(this.b,(e=b.b?b.b.f:null,f=c.j==(F7b(),t6b)&&Vjc(c.Lh(),SDc),new V6(e,f)));break;case 99:d=he(Enc(this.b));d.a&&c.j==
(F7b(),f5b)&&c.b==b&&(d.b=P6(c,d.e))}return true};_.Rf=function U6(a,b,c){var d,e;e=Enc(this.b);if(s2b(b,60)!=0)Q6(this,b,he(e));else if(!!e&&e.e==b){d=Hnc(this.b);zzc(d!=null);O6(this,e)}};var _J=xic(833);pV(355,1,{355:1},V6);_.a=false;_.b=null;_.c=false;_.d=false;var ZJ=xic(355);pV(834,1,SBc,W6);_.Qf=function X6(a,b,c){return b.j!=(F7b(),Q5b)||s2b(b,60)!=0};_.Rf=function Y6(a,b,c){var d;if(b.j==(F7b(),q7b)){d=m3b((se(Yjc(pEc,qkc(46))==-1,YBc,pEc),new q4b(y6b,pEc)),b);S2b(c,b,d);this.b=true}else if(b.j==
y6b&&Vjc(b.Lh(),PDc)){d=m3b((se(Yjc(oEc,qkc(46))==-1,YBc,oEc),new q4b(y6b,oEc)),b);S2b(c,b,d);this.a=true}};_.a=false;_.b=false;var $J=xic(834);pV(844,931,TDc,b7);_.Nf=function g7(a,b){var c;gib(this.a,b,new l7(this));gib(this.a,b,this);irb(this.a,a,$C(VC(mL,1),qAc,26,0,[this]));gib(this.a,b,new E6(this.c));c=new o7(this);gib(this.a,b,c);n7(c);a7(this);irb(this.a,a,$C(VC(mL,1),qAc,26,0,[new r7(this)]));gib(this.a,b,new r7(this))};_.Rf=function h7(a,b,c){var d,e,f,g,h,i,j,k,l,m,n,o,p;if(!b.b||!djb(b.b))return;
m=Shb(a);i=b.b;if(b.j!=(F7b(),k5b)&&b.j!=Q5b&&!i.b&&(!c||(sib(),!(c.j==P5b||c.j==O5b)))&&b.j!=j5b&&(e=Iib(b,$6),!!e&&e.j!=Q5b)){p=(se(Yjc(hEc,qkc(46))==-1,YBc,hEc),new q4b(y6b,hEc));if(!!u2b(i,29)||!!u2b(b,29)){h=new V1b(false);M1b(h,new Z1b(new q3b(V6b),(f=u2b(b,51),!f?null:f.Ig())));p=IZb(p,F0b(h,false))}n3b(p,i);e2b(i,p)}k=i.Lh();(b.j==q6b||b.j==p5b)&&Vtc(this.b,b);g=Xob(m);d=false;if(m!=g){d=_ob(g,k,true)||Wtc(this.d,k);j=d?k+"$"+(""+(o=this.a,new S1(o)).a.W++):k;l=$ob(m,k);bpb(m,l);Wob(g,j,i,
l.a);if(d){i.Qh(j);n=m.d;tp(this.c,n,k,j)}}d&&d1(this.a)};var Z6,$6;var fK=xic(844);pV(847,1,UDc,i7);_.Hd=function j7(a){return Atc((_6(),Z6),a.j)};_.xd=function k7(a){return this===a};var aK=xic(847);pV(845,931,SBc,l7);_.Rf=function m7(a,b,c){b.j==(F7b(),y6b)&&!_ob(Shb(a),b.Lh(),true)&&Vtc(this.a.d,b.Lh())};var bK=xic(845);pV(846,931,SBc,o7);_.Rf=function p7(a,b,c){var d,e,f,g,h,i,j,k,l,m,n,o;sib();if(!(b.j==(F7b(),y6b)&&b.Lh().length!=0))return;g=b.Lh();j=Shb(a);o=$ob(j,g);if(!o)return;if(o.wh()!=
q6b&&o.wh()!=p5b)return;(b.e.j==q6b||b.e.j==p5b)&&Vtc(this.e.b,b.e);d=o.d;f=null;for(l=d;;l=l.c){m=l.d;if(yjb(l.d)){f=m;break}else if(!!m.e&&yjb(m.e)){f=m.e;break}else if(Bib(l.d)&&!!l.c&&l.c.d.j==Q5b||!l.c)return}vg(this.d,o,b);i=null;for(k=j;k!=d&&k.d!=f;k=k.c)k.d.j==Q5b&&(i=k);if(i){e=i.d;if(gg(this.a,e,g))return;vg(this.a,e,g);Tuc(this.c,f)||Vuc(this.c,f,new q7("$jscomp$loop$"+(""+(n=this.e.a,new S1(n)).a.W++)));h=Uuc(this.c,f);Vtc(h.b,o);vg(this.b,e,h)}};var dK=xic(846);pV(474,1,{474:1},q7);
var cK=xic(474);pV(473,931,SBc,r7);_.Rf=function s7(a,b,c){b.j==(F7b(),Q5b)&&Wkb(b)&&d1(this.a.a)};var eK=xic(473);pV(829,1,TDc,B7);_.Nf=function D7(a,b){irb(this.a,a,$C(VC(mL,1),qAc,26,0,[this]));irb(this.a,b,$C(VC(mL,1),qAc,26,0,[this]))};_.Qf=function E7(a,b,c){var d;switch(b.j.f){case 45:A7(this,b,c);break;case 101:d=b.b;d.j==(F7b(),x5b)&&y7(this,d.b)}return true};_.Rf=function F7(a,b,c){v7(this,a,b,c)};_.b=0;var gK=xic(829);pV(848,931,TDc,W7);_.Nf=function _7(a,b){irb(this.a,b,$C(VC(mL,1),qAc,
26,0,[new i8(this,this.a),this]))};_.Rf=function a8(a,b,c){var d,e,f,g,h,i,j,k,l,m,n,o,p;switch(b.j.f){case 65:if(s2b(b,59)!=0){G7=0;O7(this,b,c)}break;case 29:d=(sib(),Iib(b,new lkb((F7b(),Q5b))));!!d&&s2b(d,59)!=0&&L2b(b,PDc,PDc.length)&&b.Qh(zEc);break;case 33:d=(sib(),Iib(b,new lkb((F7b(),Q5b))));!!d&&s2b(d,59)!=0&&T2b(b,(se(Yjc(AEc,qkc(46))==-1,YBc,AEc),new q4b(y6b,AEc)));break;case 102:s2b(b,62)!=0?(e=(sib(),Iib(b,rib)),f=LZb((se(Yjc(FEc,qkc(46))==-1,YBc,FEc),new q4b((F7b(),y6b),FEc)),j9(this.a,
Q2b(b)),z7b),g=MZb((se(Yjc(GEc,qkc(46))==-1,YBc,GEc),new q4b(y6b,GEc)),z7b),h=CZb((se(Yjc(GEc,qkc(46))==-1,YBc,GEc),new q4b(y6b,GEc)),GZb(SZb((se(Yjc(FEc,qkc(46))==-1,YBc,FEc),new q4b(y6b,FEc)),new q4b(h7b,rEc)),$C(VC(jR,1),ZBc,7,0,[(se(Yjc(HEc,qkc(46))==-1,YBc,HEc),new q4b(y6b,HEc))]))),i=d$b(SZb(h,new q4b(h7b,xEc))),j=SZb((se(Yjc(GEc,qkc(46))==-1,YBc,GEc),new q4b(y6b,GEc)),new q4b(h7b,sEc)),k=NZb(v$b(k2b(j,false))),l=u$b(i,EZb(k)),c2b(e.e,f,e),c2b(e.e,g,e),c2b(e.e,l,e),c.j==L5b?m2b(c):S2b(c,b,j),
V7(this,k,k.e),d1(this.a),undefined):c.j==(F7b(),L5b)?V7(this,c,c.e):(m=(sib(),Iib(b,rib)),n=NZb(b.b?v$b(Q2b(b)):new q3b(E7b)),o=b$b(HEc+(""+this.f.a.W++)),p=LZb(k2b(o,false),(se(Yjc(HEc,qkc(46))==-1,YBc,HEc),new q4b(y6b,HEc)),z7b),S2b(c,b,o),c2b(m.e,n,m),c2b(m.e,p,m),V7(this,n,n.e),d1(this.a),undefined)}};_.g=false;var G7=0;var lK=xic(848);pV(357,1,SBc,c8,d8);_.Qf=function e8(a,b,c){switch(b.j.f){case 65:return false;case 83:goc(this.g,0,b.b.Lh());break;case 71:case 70:case 72:case 73:++this.c;++this.b;
break;case 67:++this.b;break;case 82:c=b.e;!!c&&c.j==(F7b(),t7b)&&c.b==b&&!!b.d.b&&++this.i;break;case 74:if(s2b(b,67)==0&&(this.b==0&&!b.b||!!b.b&&loc(this.g,b.b.Lh(),0)==-1)){this.d=true;this.a&&c2b(c,X7(this.e,this.f),b)}break;case 75:if(this.c==0||!!b.b&&loc(this.g,b.b.Lh(),0)==-1){this.d=true;this.a&&c2b(c,X7(this.e,this.f),b)}break;case 39:if(this.i==0){this.d=true;this.a&&s2b(b,67)==0&&c2b(c,X7(this.e,this.f),b)}break;case 0:this.d=true;this.a&&c2b(c,X7(this.e,this.f),b);break;case 102:this.d=
true}return true};_.Rf=function f8(a,b,c){switch(b.j.f){case 83:noc(this.g,0);break;case 71:case 70:case 72:case 73:--this.c;--this.b;break;case 67:--this.b;break;case 82:c=b.e;!!c&&c.j==(F7b(),t7b)&&c.b==b&&!!b.d.b&&--this.i}};_.a=false;_.b=0;_.c=0;_.d=false;_.f=0;_.i=0;var hK=xic(357);pV(849,932,SBc,i8);_.Qf=function j8(a,b,c){switch(b.j.f){case 102:h8(this,b);break;case 71:case 72:case 70:g8(this,b);break;case 68:if(H7(this.c,b.b)){c1(this.a,Keb(b,(Q8(),M8),$C(VC(FS,1),bAc,2,6,["Case statements that contain yields"])));
return false}}return true};var iK=xic(849);pV(475,1,{475:1},k8);_.b=0;var jK=xic(475);pV(358,1,{358:1},l8);_.a=0;_.b=0;var kK=xic(358);pV(835,931,TDc,n8);_.Nf=function o8(a,b){irb(this.a,b,$C(VC(mL,1),qAc,26,0,[this]))};_.Rf=function p8(a,b,c){kjb(b)&&m8(this,b,c)};var mK=xic(835);pV(826,931,TDc,t8);_.Nf=function u8(a,b){hrb(this.a,b,$C(VC(mL,1),qAc,26,0,[this]))};_.Rf=function v8(a,b,c){var d,e,f;if(b.j!=(F7b(),l7b))return;d=(sib(),Iib(b,new lkb(k5b)));if(!d||d.b.d.j==B5b){Zhb(a,b,q8,$C(VC(FS,1),
bAc,2,6,[]));return}if(c.j==f5b){e=Iib(c,new lkb(Q5b));if(!e){Zhb(a,b,q8,$C(VC(FS,1),bAc,2,6,[]));return}f=e.e;if(f.j==t6b)if(L2b(f,SDc,SDc.length));else Zhb(a,b,r8,$C(VC(FS,1),bAc,2,6,[f.Lh()]));else Zhb(a,b,q8,$C(VC(FS,1),bAc,2,6,[]))}};var q8,r8;var nK=xic(826);pV(125,1,{},D8,E8);var oK=xic(125);pV(842,1,TDc,g9);_.Nf=function k9(a,b){irb(this.a,a,$C(VC(mL,1),qAc,26,0,[this]));irb(this.a,b,$C(VC(mL,1),qAc,26,0,[this]))};_.Qf=function l9(a,b,c){switch(b.j.f){case 112:e9(this,b,c);break;case 86:case 87:if(F2(this.a.H)==
(C3(),q3)){c1(this.a,Keb(b,L8,$C(VC(FS,1),bAc,2,6,["ES5 getters/setters (consider using --language_out=ES5)"])));return false}break;case 119:c1(this.a,Keb(b,M8,$C(VC(FS,1),bAc,2,6,[zCc])));break;case 65:s2b(b,61)!=0&&c1(this.a,Keb(b,M8,$C(VC(FS,1),bAc,2,6,[LCc])))}return true};_.Rf=function m9(a,b,c){var d,e,f,g,h,i,j,k,l,m,n,o,p,q,r;switch(b.j.f){case 29:g=u2b(b,51);!(!!g&&g.vh())&&W8(a,b)&&(s0(this.a,yEc,false),h=(sib(),Iib(b,rib)),i=NZb(GZb(Yjb(this.a,"$jscomp.initSymbol"),$C(VC(jR,1),ZBc,7,0,
[]))),c2b(h.e,n3b(i,h),h),d1(this.a),undefined);break;case 26:f=u2b(b,51);!!f&&f.vh()||b9(this,a,b);break;case 43:c9(this,b);break;case 98:c.j==(F7b(),L6b)&&(j=b.Lh(),k=p$b(j,m2b(b.b)),Y2b(k,u2b(b,29)),S2b(c,b,k),d1(this.a),undefined);break;case 101:a9(this,b,c);break;case 91:f9(this,b);break;case 96:Z8(this,b,c);break;case 42:case 23:case 28:for(e=(!b.b?(Gpc(),Gpc(),Fpc):new k4b(b.b)).Md();e.Ed();){d=e.Fd();if(d.j==(F7b(),f7b)){Y8(this,b,c);break}}break;case 115:I8(a,b);break;case 116:c.j==(F7b(),
n7b)||J8(a,b);break;case 18:l=Q2b(b);m=Q2b(b);n=p3b(GZb(Yjb(this.a,"Math.pow"),$C(VC(jR,1),ZBc,7,0,[l,m])),b);S2b(c,b,n);d1(this.a);break;case 59:o=Q2b(b);p=Q2b(b);q=GZb(Yjb(this.a,"Math.pow"),$C(VC(jR,1),ZBc,7,0,[k2b(o,false),p]));r=p3b(CZb(o,q),b);S2b(c,b,r);d1(this.a)}};var K8,L8,M8,N8,O8,P8;var rK=xic(842);pV(843,931,SBc,n9);_.Rf=function o9(a,b,c){if(b.j!=(F7b(),L4b)||b.b==this.a)return;J2b(this.a,b.b)&&c1(this.b.a,Keb(b,(Q8(),N8),$C(VC(FS,1),bAc,2,6,[])))};var pK=xic(843);pV(356,1,{},p9);_.a=
false;var qK=xic(356);pV(481,1,{},C9);_.e="JSCompiler_temp";var tK=xic(481);pV(861,1,{},H9);_.b=false;var sK=xic(861);pV(581,931,TDc,M9);_.Nf=function N9(a,b){L9(this,b)};_.Rf=function O9(a,b,c){var d,e,f;switch(b.j.f){case 29:case 26:f=v2b(b);if(f==null)return;(c.j==(F7b(),L4b)||c.j==z7b||c.j==Q5b)&&tlc(this.c,f,c);d=(sib(),e=Fib(b),!e?null:u2b(e,29));!!d&&(d.a&QEc)!=0&&I9(this,a,b);if(c.j!=f5b)return;loc(this.d,f,0)!=-1&&J9(this,c);loc(this.e,f,0)!=-1&&K9(this,c)}};var yK=xic(581);pV(768,1,RBc,
P9);_.He=function Q9(a,b){return Rjc(a.Qg(),b.Qg())};_.xd=function R9(a){return this===a};var uK=xic(768);pV(231,1,{231:1});var vK=xic(231);pV(450,231,{231:1},$9);_.Qg=function _9(){var a,b,c,d,e;d=Df(If(new nc(46)),this.a);for(b=d.b.size();b>0;b--){a=Sc(new Vc("."),Tr(Mr(d,b)));if(rlc(this.b.i,a)){c=qlc(this.b.i,a);b<d.b.size()&&(c+="."+Sc(new Vc("."),Qr((he(d),ae(b>=0,"number to skip cannot be negative"),e=d,new Rr(e,b)))));return c+"."+this.c}}return this.a+"."+this.c};var wK=xic(450);pV(767,231,
{231:1},aab);_.Qg=function bab(){return this.c};var xK=xic(767);pV(820,1,{888:1},cab);_.gg=function dab(){throw RU(new Xic("Code changes forbidden"));};var zK=xic(820);var gab,hab,iab,jab,kab,lab,mab,nab,oab,pab,qab,rab,sab,tab;pV(744,931,TDc,wab);_.Nf=function xab(a,b){vab(this,a)};_.Rf=function yab(a,b,c){var d,e,f,g,h,i;switch(b.j.f){case 26:e=b.b.d;e.j==(F7b(),h7b)&&Vtc(this.b,e.Lh());break;case 43:for(d=b.b;d;d=d.d)Vtc(this.b,d.Lh())}h=ND(b.k,20)?b.k:null;!!h&&Cab(this.c,h);if(F2b(b)){f=(sib(),
g=Fib(b),!g?null:u2b(g,29));if(!!f&&(f.a&KEc)==hBc){i=I0(this.a).gh(v2b(b));!!i&&Cab(this.c,i)}}};var BK=xic(744);pV(745,1,{},Dab);_.Rg=function Eab(){return this.b.b};_.Sg=function Fab(){return this.b.b};_.Tg=function Gab(a){return Cab(this,a.d),this.b.b};_.Ug=function Hab(a){return zab(this,a)};_.Vg=function Iab(){return this.b.b};_.Wg=function Jab(a){return this.b.b};_.Xg=function Kab(){return this.b.b};_.Yg=function Lab(){return this.b.b};_.Zg=function Mab(a){return Aab(this,a)};_.$g=function Nab(a){return a.c.wi(this),
this.b.b};_._g=function Oab(){return this.b.b};_.ah=function Pab(a){return this.b.b};_.bh=function Qab(a){return Bab(this,a)};_.dh=function Rab(){return this.b.b};_.eh=function Sab(){return this.b.b};var AK=xic(745);pV(717,1,{},Vab);_.b=0;_.e=false;var HK=xic(717);pV(439,932,SBc,fbb);_.Qf=function gbb(a,b,c){!!this.a.c&&b==this.a.c&&(this.a.d=Shb(a));Wab(this,(!a.d&&(a.d=z0(a.c,a.f)),Shb(a)),b);return true};var CK=xic(439);pV(331,1,{331:1},lbb);_.Ad=function nbb(){return jbb(this)+" ("+this.p+"): "+
Sc(new Vc(oAc),new Ylc(Wc("globalSets="+this.f,"localSets="+this.g,$C(VC(AS,1),qAc,1,5,["totalGets="+this.o,"aliasingGets="+this.a,"callGets="+this.c]))))};_.a=0;_.c=0;_.e=0;_.f=0;_.g=0;_.i=0;_.o=0;var EK=xic(331);pV(157,14,{157:1,3:1,23:1,14:1},vbb);var obb,pbb,qbb,rbb,sbb,tbb;var DK=yic(157,nS,wbb);pV(169,1,{169:1},xbb);_.Ad=function ybb(){return k3b(this.a,true,true,true)};var GK=xic(169);pV(143,14,{143:1,3:1,23:1,14:1},Hbb);var zbb,Abb,Bbb,Cbb,Dbb,Ebb,Fbb;var FK=yic(143,nS,Ibb);pV(399,1,PBc,Bcb);
_.fh=function Dcb(a){return fAb(this.d,a)};_.gh=function Ecb(a){return xcb(this,a)};_.Nf=function Lcb(a,b){var c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,A;ie(this.t,"Cannot rerun GlobalTypeInfo.process");_d(!a||a.j==(F7b(),_6b));_d(b.j==(F7b(),_6b));g1(this.e,(EV(),CV));this.k=new Qgb(b,null,(Lm(),Lm(),Km),this.d);pgb(this.k,this.r);hoc(this.p,this.k);n=new fdb(this,this.k);!!a&&gib(this.e,a,n);gib(this.e,b,n);Ogb(this.k,this.q);Ngb(this.k,this.q);for(i=1;i<this.p.a.length;i++){p=koc(this.p,i);c=
new fdb(this,p);gib(this.e,(_d(p.t.j==Q5b),Lib(p.t)),c);Ogb(p,this.q);Ngb(p,this.q);Mhb()}if(!dAb(this.d)){Nhb(this.t,Keb(b,Zbb,$C(VC(FS,1),bAc,2,6,[])));return}o=new Xdb(this,this.k);!!a&&gib(this.e,a,o);gib(this.e,b,o);kdb(o);for(h=1;h<this.p.a.length;h++){p=koc(this.p,h);l=new Xdb(this,p);gib(this.e,(_d(p.t.j==Q5b),Lib(p.t)),l);kdb(l);Mhb()}w=null;for(e=new wvc(new nvc(this.n));e.b!=e.c.a.b;){d=uvc(e);m=d.e;if(Vjc(m.w,gFc)&&(f=u2b(d.d,51),!!f&&f.vh())){w=m;continue}qcb(this,m);XDb(m.w,dEc,m.u)&&
DDb(rBb(eAb(this.d)))}if(w){A=wgb(this.k,iFc);!!A&&swb(A,w);qcb(this,w);g=w.q}else g=pyb(this.d.$);Pgb(this.k,Kxb(Fxb(new Mxb(this.d),g)));this.n=null;this.o=null;for(q=new Poc(this.p);q.a<q.c.a.length;){p=Noc(q);qgb(p)}t=this.q.g;for(s=new wvc(new nvc(t));s.b!=s.c.a.b;){r=uvc(s);Nhb(this.t,Keb(r.d,ncb,$C(VC(FS,1),bAc,2,6,[r.e])))}for(v=(k=(new nmc(this.q.i.a)).a.oe().Md(),new tmc(k));v.a.Ed();){u=(d=v.a.Fd(),d.xe());Nhb(this.t,u)}this.t=null;this.s=null;this.j=null;Mpc(this.p);f1(this.e,(j=this.i,
xo(j)))};var Jbb,Kbb,Lbb,Mbb,Nbb,Obb,Pbb,Qbb,Rbb,Sbb,Tbb,Ubb,Vbb,Wbb,Xbb,Ybb,Zbb,$bb,_bb,acb,bcb,ccb,dcb,ecb,fcb,gcb,hcb,icb,jcb,kcb,lcb,mcb,ncb,ocb;var NK=xic(399);pV(702,1,$Ac,Ncb);_.Kd=function Ocb(a){return Mcb(this,a)};_.xd=function Pcb(a){return this===a};var IK=xic(702);pV(430,934,SBc,fdb);_.Rf=function gdb(a,b,c){var d,e,f,g,h,i,j;switch(b.j.f){case 65:{_cb(this,b);break}case 76:{h=b.b;j=h.Lh();Bjb(h)?cdb(this,h):Njb(h)?ddb(this,h):njb(h)?$cb(this,h):Scb(this,h)?Zcb(this,h):Vjc(j,iFc)&&(f=
u2b(h,51),!!f&&f.vh())?edb(this,h):Hcb(h)?adb(this,h):Icb(h)&&bdb(this,h);e=u2b(b,51);!(!!e&&e.vh())&&!Cgb(this.a,j,false)&&jgb(this.a,j,this.b.d.G,false,false);break}case 29:{this.a.t.j==(F7b(),Q5b)&&Sgb(this.a,b.Lh());break}case 84:{d=b.b;switch(d.j.f){case 47:g=d.b;if(Hcb(g)){adb(this,g);return}if(g.j!=(F7b(),W5b))return;d=g;case 26:if(Icb(d)){bdb(this,d);return}if(Jcb(d)||(sib(),i=d.j==(F7b(),Q5b)?d.b?d.b.f:null:d,zib(i,q7b,nib))||!F2b(d))return;Ycb(this,d)}break}}};var JK=xic(430);pV(431,934,
SBc,Xdb);_.Rf=function Ydb(a,b,c){var d,e,f,g;switch(b.j.f){case 65:d=c.e;if(!d||!Kcb(d)&&!Gcb(c.b,this.a)){g=ydb(this,b,c);Odb(this,b,g)}break;case 29:{f=b.Lh();if(f==null||c.j==(F7b(),Q5b))return;c.j==(F7b(),z7b)||c.j==j5b?Wdb(this,b,c):Kgb(this.a,f)?ngb(this.a,f):!!zgb(this.a,f)||!Vjc(f,this.a.p)&&!Cgb(this.a,f,false);break}case 26:(Djb(this.c.e,b)||pdb(b))&&Acb(this.c,(b.b?b.b.f:null).Lh(),b);b.b.j==(F7b(),y6b)&&hkc(b.b.Lh(),"$jscomp$destructuring$")&&Acb(this.c,(b.b?b.b.f:null).Lh(),b);c.j==
L5b&&F2b(b)&&Tdb(this,b);break;case 47:{e=b.b;e.j==(F7b(),W5b)&&F2b(e)&&Tdb(this,e);break}case 92:Vuc(this.c.c,b,tcb(this.c,u2b(b,29),this.a));break;case 43:Rdb(this,b,c);break;case 28:Ldb(this,b)}};var KK=xic(431);pV(330,1,{330:1},Zdb);var LK=xic(330);pV(701,1,{},$db);_.a=null;_.b=null;var MK=xic(701);pV(705,1,SBc);_.Qf=function geb(a,b,c){var d,e;if(!c)xnc(this.d,(jeb(),ieb));else{xnc(this.d,keb(Enc(this.d),this.c,c,b));if(!!c&&_db.contains(c.j)&&tg(this.g,c))for(e=wg(this.g,c).Md();e.Ed();){d=
e.Fd();Oj(this.e,d,1);vg(this.f,c,d)}}return true};_.Rf=function heb(a,b,c){var d;!!c&&_db.contains(b.j)&&tg(this.f,b)&&xj(this.e,wg(this.f,b));(b.j==(F7b(),$6b)||b.j==r7b)&&deb(this,c);kob(this,a,b);d=Hnc(this.d);zzc(d!=null)};var _db,aeb;var PK=xic(705);pV(121,1,{121:1},meb);_.c=false;var ieb;var OK=xic(121);pV(571,391,xBc);var QK=xic(571);pV(798,1,{},reb);var neb,oeb;var RK=xic(798);var teb;var veb;pV(340,1,{},Eeb);_.a=false;var SK=xic(340);pV(68,1,{68:1},Geb,Heb);_.xd=function Ieb(a){var b;if(this===
a)return true;if(a==null||TK!=pb(a))return false;b=a;if(this.a!=b.a)return false;if(this.d!=b.d)return false;if(!Vjc(this.c,b.c))return false;if(this.b!=b.b)return false;if(this.f!=null?!Vjc(this.f,b.f):b.f!=null)return false;return x5(this.g,b.g)};_.zd=function Jeb(){var a;a=Tzc(this.g.c);a=31*a+Tzc(this.c);a=31*a+(this.f!=null?Tzc(this.f):0);a=31*a+this.d;a=31*a+Nzc(this.b);a=31*a+this.a;return a};_.Ad=function Meb(){return this.g.c+". "+this.c+" at "+(this.f!=null&&this.f.length>0?this.f:"(unknown source)")+
" line "+(this.d!=-1?""+this.d:"(unknown line)")+" : "+(this.a!=-1?""+this.a:"(unknown column)")};_.a=0;_.d=0;var TK=xic(68);pV(395,1,{395:1,563:1,3:1},Seb);_.Jg=function Veb(){return Lm(),new iy(this.d)};_.Kg=function Web(){return Peb(this)};_.Hg=function Teb(){throw RU(new Okc);};_.Ig=function Ueb(){return this.d};_.Ad=function Xeb(){return this.d};_.b=0;var WK=xic(395);pV(396,1,{},bfb);var VK=xic(396);pV(37,32,yFc,cfb,dfb,efb,ffb);var qS=xic(37);pV(297,37,{297:1,3:1,41:1,37:1,40:1},gfb);var UK=
xic(297);pV(327,1,{327:1,3:1},kfb);_.Fg=function lfb(a){return hfb(this,a)};_.Gg=function mfb(){return this.b};_.Lg=function nfb(){return this.d};var $K=xic(327);pV(692,1,{},ofb);var XK=xic(692);pV(693,1,{},pfb);_.hh=function qfb(a,b,c,d){hoc(this.b,new sfb);Gob(this.a,a,b,c,d)};_.ih=function rfb(a,b,c,d){hoc(this.c,new sfb);Hob(this.a,a,b,c,d)};var YK=xic(693);pV(429,1,{},sfb);var ZK=xic(429);pV(852,1,{563:1},tfb);_.Hg=function ufb(){var a,b,c,d,e;if(!this.d){c=new Fwc;$g(c,this.c.Hg());a=ifb(this.a,
this.b);if(a.a){d=(b=eDc,ih(swc(c,b)));d!=null&&!Vjc(d,"es6")&&this.b.Mf(new Geb(null,null,-1,-1,(cub(),aub),null,$C(VC(FS,1),bAc,2,6,[this.c.Ig()])));ywc(c,eDc,"es6")}e=ZLb(a);Vjc(e,fDc)||ywc(c,"lang",e);this.d=Hn(c)}return this.d};_.Ig=function vfb(){return this.c.Ig()};_.Jg=function wfb(){return this.c.Jg()};_.Kg=function xfb(){return this.c.Kg()};var _K=xic(852);pV(316,422,{},Afb,Bfb);_.b=true;_.c=true;var aL=xic(316);pV(577,389,{},Efb);_.Of=function Ffb(){var a;a=this.c+this.e==0?(fyc(),cyc):
(fyc(),eyc);this.c+this.e>0&&Gyc(this.b,a,gZb("%d error(s), %d warning(s)",$C(VC(AS,1),qAc,1,5,[kjc(this.c),kjc(this.e)])))};_.Pf=function Gfb(a,b){switch(a.f){case 0:Kyc(this.b,Feb(b,a,this.a));break;case 1:Lyc(this.b,Feb(b,a,this.a))}};var bL=xic(577);pV(301,1,zFc,Jfb,Kfb);_.jh=function Lfb(a){var b,c;b=Uhb(a);sib();if((b.j==(F7b(),c5b)||b.j==_6b)&&!!b.e&&b.e.j==Q5b)return;if(Dnc(this.a)){ne(b.j!=Q5b||!this.b);ne(Thb(a)==0);c=this.b}else c=Enc(this.a).mh(!Bib(b));b.j==Q5b||Hfb(this,b,null,c);xnc(this.a,
c)};_.kh=function Mfb(a){if(qjb(Uhb(a)))return;Thb(a)==0||Lnc(this.a)};_.Qf=function Nfb(a,b,c){var d,e,f,g;switch(b.j.f){case 65:{g=Enc(this.a).mh(false);f=b.b.Lh();f!=null&&f.length!=0&&!!c&&(sib(),!(b.j==(F7b(),Q5b)&&jjb(b.e)))&&g.lh(f,false);xnc(this.a,g);break}case 45:{g=Enc(this.a).mh(true);for(d=b.b;d;d=d.d){f=d.Lh();g.lh(f,true)}e=b.d;Hfb(this,e,null,g);xnc(this.a,g);break}case 78:{g=Enc(this.a).mh(false);f=b.b.Lh();g.lh(f,false);xnc(this.a,g);break}}return true};_.Rf=function Ofb(a,b,c){var d,
e,f;switch(b.j.f){case 29:d=Ifb(this,b.Lh());if(d!=null){e=Enc(this.a);e.ph()&&(f=R2b(b,b.g,43),f!=b.g&&(b.g=f));b.Qh(d);d1(a.c)}break;case 65:Lnc(this.a);Lnc(this.a);break;case 78:Lnc(this.a)}};var fL=xic(301);pV(342,1,{891:1},Qfb,Rfb);_.lh=function Sfb(a,b){var c,d;if(b&&this.f!=this)this.f.lh(a,true);else if(!Vjc(a,PDc))if(this.e)Rw(this.g,a,0,1);else if(!rlc(this.d,a)){c=Oj(this.g,a,1);d=null;c!=0&&(d=a+VEc+c);tlc(this.d,a,d)}};_.mh=function Tfb(a){return new Rfb(this.g,a,this)};_.nh=function Ufb(){return this.f};
_.oh=function Vfb(a){return qlc(this.d,a)};_.ph=function Wfb(){return false};_.Ad=function Xfb(){return Sd(Qd(Qd(Qd(new Td(tic(this.jj)),"nameUsage",this.g),"declarations",this.d),"global",""+this.e))};_.e=false;var dL=xic(342);pV(589,342,{891:1},Yfb);_.mh=function Zfb(a){return new _fb(this.a,this.c,this.b,false,a,this)};var cL=xic(589);pV(448,1,{891:1},_fb);_.lh=function agb(a,b){ne(!Vjc(a,PDc));b&&this.c!=this?this.c.lh(a,b):rlc(this.b,a)||tlc(this.b,a,$fb(this,a))};_.mh=function bgb(a){return new _fb(this.a,
this.f,this.d,this.e,a,this)};_.nh=function cgb(){return this.c};_.oh=function dgb(a){return qlc(this.b,a)};_.ph=function egb(){return this.e};_.e=false;var eL=xic(448);pV(739,1,{},fgb);_.Ad=function hgb(){if(Vjc(this.a,this.b))return this.a;return this.b+":"+this.a};var gL=xic(739);pV(353,1,{353:1,965:1},Qgb);_.Ad=function Tgb(){var a,b;b=new Ikc;if(!this.r)b.a+="<TOP SCOPE>";else{Ekc(b,!this.r?null:(sib(),a=Pib(this.t),!a?null:v2b(a)));b.a+="(";Qc(new Vc(String.fromCharCode(44)),b,this.f.Md());
b.a+=")"}b.a+=" with root: ";Dkc(b,this.t);return b.a};_.g=false;var hL=xic(353);var Ugb,Vgb,Wgb,Xgb,Ygb,Zgb,$gb,_gb,ahb,bhb,chb,dhb,ehb,fhb,ghb,hhb,ihb,jhb,khb,lhb,mhb,nhb,ohb,phb,qhb,rhb,shb,thb,uhb,vhb,whb,xhb,yhb,zhb,Ahb,Bhb,Chb,Dhb,Ehb,Fhb,Ghb,Hhb,Ihb,Jhb,Khb,Lhb;pV(703,1,{},Ohb);var iL=xic(703);pV(137,1,{},fib);_.o=false;var nL=xic(137);var iib,jib,kib,lib,mib,nib,oib,pib,qib,rib;pV(659,1,UDc,fkb);_.Hd=function gkb(a){return sib(),Kjb(a.e)};_.xd=function hkb(a){return this===a};var oL=xic(659);
pV(660,1,UDc,ikb);_.Hd=function jkb(a){return sib(),!(a.j==(F7b(),Q5b)&&s2b(a,60)==0)};_.xd=function kkb(a){return this===a};var pL=xic(660);pV(120,1,UDc,lkb);_.Hd=function mkb(a){return a.j==this.a};_.xd=function nkb(a){return this===a};var qL=xic(120);pV(661,1,{},okb);_.qh=function pkb(a){var b;if(a.j==(F7b(),Q5b)&&mlc(this.b,a)){b=plc(this.b,a);s2b(a,56)>s2b(b,56)?ne(!ojb(a,b)):this.a&&ne(ojb(a,b))}};_.a=false;var rL=xic(661);pV(662,1,{},qkb);_.qh=function rkb(a){++this.a[0]};var sL=xic(662);pV(663,
1,UDc,tkb);_.Hd=function ukb(a){var b;return skb((b=this,a,b))};_.xd=function vkb(a){return this===a};_.a=0;var tL=xic(663);pV(656,1,UDc,wkb);_.Hd=function xkb(a){return a.j==(F7b(),y6b)&&Vjc(a.Lh(),this.a)};_.xd=function ykb(a){return this===a};var uL=xic(656);pV(657,1,UDc,zkb);_.Hd=function Akb(a){return a.j==this.a};_.xd=function Bkb(a){return this===a};var vL=xic(657);pV(658,1,UDc,Ckb);_.Hd=function Dkb(a){return a.j!=(F7b(),Q5b)};_.xd=function Ekb(a){return this===a};var wL=xic(658);pV(401,1,
PBc,Hkb);_.Nf=function Ikb(a,b){Fkb(this,a,b)};_.a=false;var EL=xic(401);pV(765,1,{},Kkb);_.rh=function Lkb(a,b,c,d){var e,f;ne(c.j==(F7b(),y6b));e=c.e;f=$ob(a,b);if(!a.c)if((!f.a||h2(f.a))&&!h2(d))if(Vtc(this.a,f))return;if(e.j==Q5b){if((!f.c?null:f.c.e).j==z7b){bpb(a,f);Wob(a,b,c,f.a);Jkb(this,f.c,!f.c?null:f.c.e,(!f.c?null:f.c.e).e)}}else if(e.j==z7b){ne(!!e.b&&!e.b.d);Jkb(this,c,e,e.e)}};var xL=xic(765);pV(761,931,SBc,Mkb);_.Rf=function Nkb(a,b,c){var d,e,f,g,h;sib();if(b.j==(F7b(),L5b)&&b.b.j==
L4b){d=b.b;h=d.b;h.j==W5b&&(f=u2b(d,29),!!f&&(f.a&MFc)!=0)&&Vtc(this.a,(h.b?h.b.f:null).Lh())}else b.j==i7b&&(g=u2b(b,29),!!g&&(g.a&MFc)!=0)?Vtc(this.a,b.Lh()):b.j==W5b&&b.e.j==L5b&&(e=u2b(b,29),!!e&&(e.a&MFc)!=0)&&Vtc(this.a,(b.b?b.b.f:null).Lh())};var yL=xic(761);pV(403,1,SBc,Vkb);_.Qf=function Ykb(a,b,c){b.j==(F7b(),l6b)&&Skb(this,b);sib();(b.j==b7b||b.j==c5b||b.j==_6b||b.j==w6b||b.j==l6b)&&Pkb(this,b,null,null);(b.j==b7b||b.j==c5b||b.j==_6b||b.j==w6b)&&Ukb(this,b);b.j==Q5b&&Qkb(this,b.b?b.b.f:
null);bjb(b)&&b.j!=L4b&&Rkb(this,b);return true};_.Rf=function Zkb(a,b,c){var d,e;switch(b.j.f){case 70:{e=b.b;f3b(b,(F7b(),N5b));d=new q3b(B5b);o3b(d,b);c2b(b,d,e);b2b(b,l2b(d,new q3b(d.j),false),e);Tkb(this,"WHILE node")}break;case 65:Wkb(b)&&Tkb(this,"Function declaration");break;case 29:case 31:case 91:case 86:case 87:this.b.Y==2||Okb(this,b,c);break;case 92:S2b(c,b,Q2b(b))}};_.a=false;var zL=xic(403);pV(763,931,TDc,_kb);_.Nf=function alb(a,b){$kb(this,a,b)};_.Rf=function blb(a,b,c){var d,e,f,
g,h,i,j;if(b.j==(F7b(),y6b)){if(b.Lh().length==0)return;d=null;j=$ob(Shb(a),b.Lh());!!j&&(d=!j.c?null:(sib(),f=Fib(j.c),!f?null:u2b(f,29)));i=!!d&&(d.a&37)!=0||fjb(u0(this.b),b);e=s2b(b,43)!=0;if(i&&!e){if(this.a){g=b.Lh();throw RU(new Xic(NFc+g+fBc+"  parent:"+l3b(b.e)));}h=R2b(b,b.g,43);h!=b.g&&(b.g=h);b.g=new V3b(43,1,b.g)}}};_.a=false;var AL=xic(763);pV(762,931,SBc,clb);_.Rf=function dlb(a,b,c){var d,e,f;if(b.j==(F7b(),W5b)){f=(b.b?b.b.f:null).Lh();if(Wtc(this.a,f)){d=Q2b(b);e=Q2b(b);T2b(b,RZb(d,
e));d1(this.b.b)}}else if(b.j==i7b){f=b.Lh();if(Wtc(this.a,f)){b.Ph();d1(this.b.b)}}};var BL=xic(762);pV(766,1,zFc,elb);_.jh=function flb(a){Shb(a)};_.kh=function glb(a){};_.Qf=function hlb(a,b,c){return true};_.Rf=function ilb(a,b,c){};var CL=xic(766);pV(764,931,TDc,klb);_.Nf=function llb(a,b){jlb(this,a,b)};_.Rf=function mlb(a,b,c){var d,e,f,g,h,i,j,k;if(b.j==(F7b(),y6b)){i=b.Lh();if(b.Lh().length==0)return;g=s2b(b,43)!=0;if(this.a){e=false;d=u0(this.b);sib();if(s2b(b,43)!=0||fjb(d,b))e=true;else{e=
false;f=null;k=$ob(Shb(a),b.Lh());!!k&&(f=!k.c?null:(h=Fib(k.c),!h?null:u2b(h,29)));!!f&&(f.a&37)!=0?e=true:e=false}e?se(e==g,"The name %s is not annotated as constant.",i):se(e==g,"The name %s should not be annotated as constant.",i)}j=qlc(this.c,i);j==null?tlc(this.c,i,(Xhc(),g?true:false)):se((Bzc(j),j)==g,"The name %s is not consistently annotated as constant.",i)}};_.a=false;var DL=xic(764);pV(933,1,{});var FL=xic(933);pV(596,74,dDc,nlb);_.Eg=function olb(a){return new plb};var HL=xic(596);pV(595,
1,PBc,plb);_.Nf=function qlb(a,b){};var GL=xic(595);pV(117,74,dDc);_.Eg=function slb(a){return this.sh(a)};var IL=xic(117);var tlb,ulb,vlb;pV(584,1,{},Glb);_.a=0;_.b=-1;_.c=0;_.e=-1;_.g=0;_.i=0;_.j=0;_.k=0;_.o=-1;_.p=0;_.q=-1;_.r=-1;_.s=-1;_.t=0;_.v=0;_.A=0;_.B=0;_.C=0;_.F=0;_.G=0;_.H=0;var NL=xic(584);pV(654,1,RBc,Hlb);_.He=function Ilb(a,b){return ojc(a.ye().n,b.ye().n)};_.xd=function Jlb(a){return this===a};var KL=xic(654);pV(315,1,{315:1},Klb);_.a=0;_.b=0;_.c=0;_.d=0;_.e=0;_.f=0;_.g=0;_.i=false;
_.k=0;_.n=0;_.o=0;var LL=xic(315);pV(688,428,{},Llb);_.ig=function Mlb(a){var b;b=a.length;if(b>0){this.b+=b;this.a=a.charCodeAt(b-1)}};_.ug=function Olb(){return this.a};_.a=0;_.b=0;var ML=xic(688);pV(397,1,PBc,_lb);_.Nf=function amb(a,b){Xlb(this,a,b)};_.b=false;_.e=false;_.i=0;_.o=false;_.p=0;_.r=0;_.t=0;var Plb,Qlb,Rlb;var SL=xic(397);pV(426,1,PBc,dmb);_.Nf=function emb(a,b){var c,d,e,f,g,h,i,j,k,l,m,n;oe(!this.d.e,"Nested loops are forbidden");this.d.e=true;cmb(this);e=bmb(this);this.c=new lmb(this.d);
k0(this.d.a,this.c);$lb(this.d,b);this.d.j=new Qtc;for(j=new Poc(this.b);j.a<j.c.a.length;){h=Noc(j);slc(this.d.j,h,kjc(0))}g=new Ytc;m=new Ytc;n=0;d=0;c=(sib(),Aib(b));l=c;try{while(true){d++>100&&n1("Fixed point loop exceeded the maximum number of iterations.",null);f=false;for(i=new Poc(this.b);i.a<i.c.a.length;){h=Noc(i);if(n==0&&!m.a.containsKey(h)||n==1&&g.a.containsKey(h)){++this.d.t;this.d.c=h;fmb(h,a,b);m.a.put(h,m);slc(this.d.j,h,kjc(this.d.t));if(this.d.a.f.c>0)return;else if(kmb(this.c)){g.a.put(h,
g);f=true}else g.a.remove(h)!=null}else m.a.remove(h)!=null}if(n==0)if(f)n=1;else return;else if(!f){l=c;c=Aib(b);k=(c-l<0?-(c-l):c-l)/l;if(!e&&k<.001)return;n=0}}}finally{this.d.e=false;b1(this.d.a,this.c)}};var OL=xic(426);pV(323,1,{59:1,323:1},gmb);_.Nf=function hmb(a,b){fmb(this,a,b)};_.Ad=function imb(){return"pass: "+this.b};var PL=xic(323);pV(580,1,{},jmb);_.a=0;_.b=0;var QL=xic(580);pV(682,1,{888:1},lmb);_.gg=function mmb(){if(this.b.b)return;this.b.i=this.b.t;U2b(this.b.d,this.b.t);++this.b.t};
_.a=0;var RL=xic(682);pV(300,1,PBc,rmb,smb);_.Nf=function tmb(a,b){pmb(this,a,b)};_.a=false;var UL=xic(300);pV(468,931,SBc,umb);_.Rf=function wmb(a,b,c){b.j.f==28&&vmb(b)};var TL=xic(468);var xmb,ymb,zmb,Amb;var Cmb,Dmb;var Fmb;pV(586,931,SBc,Pmb);_.Rf=function Qmb(a,b,c){Lmb(this,a,b,c)};_.e=false;_.i=false;_.j=0;var Hmb,Imb;var $L=xic(586);pV(778,934,SBc,Smb);_.Rf=function Tmb(a,b,c){b.j==(F7b(),f5b)&&K2b(b.b,eCc)&&zjb(c.e)&&Rmb(this,b,c)};var VL=xic(778);pV(776,932,SBc,Umb);_.Qf=function Vmb(a,
b,c){var d;if(this.a)return false;if(!c||hjb(c)||(sib(),c.j==(F7b(),b7b)||c.j==c5b||c.j==_6b||c.j==w6b)){if(b.j==(F7b(),L5b)){d=b.b.b;if(!!d&&(L2b(d,cCc,cCc.length)||L2b(d,dCc,dCc.length))){this.a=true;return false}}return true}return false};_.a=false;var WL=xic(776);pV(232,1,{232:1},Wmb);_.Ad=function Xmb(){return"("+this.a+oAc+this.b+")"};var XL=xic(232);pV(190,1,{190:1},Ymb);_.Ad=function Zmb(){return"("+this.a+oAc+this.b+")"};var YL=xic(190);pV(777,931,SBc,_mb);_.Rf=function anb(a,b,c){var d,
e,f,g,h,i,j,k,l,m;d=u2b(b,29);if(d)for(l=new Poc(i_b(d));l.a<l.c.a.length;){k=Noc(l);$mb(this,a,k)}e=b.j==(F7b(),i7b)&&!b.b;if(b.j==y6b||e){g=b.Lh();if(Vjc(this.a,g))return;m=$ob(Shb(a),g);if(!!m&&!m.d.c){h=g+"$$"+this.a;if(e)d2b(b,o3b((se(Yjc(h,qkc(46))==-1,YBc,h),new q4b(y6b,h)),b));else{b.Qh(h);j=R2b(b,b.g,40);j!=b.g&&(b.g=j);g!=null&&(b.g=new d4b(40,g,b.g))}}else if(!m&&rlc(this.b.g,g)){c.j==f5b&&c.b==b&&(j=R2b(c,c.g,50),j!=c.g&&(c.g=j),false);i=qlc(this.b.g,g);f=Yjb(this.b.c,i.a);i.b.length==
0?T2b(b,p3b(f,b)):T2b(b,p3b(SZb(f,n$b(i.b)),b))}}};var ZL=xic(777);var bnb,cnb,dnb,enb;pV(101,14,{101:1,3:1,23:1,14:1},pnb,qnb,rnb,snb);var gnb,hnb,inb,jnb,knb,lnb,mnb,nnb;var _L=yic(101,nS,unb);pV(264,14,{264:1,3:1,23:1,14:1},ynb);var vnb,wnb;var aM=yic(264,nS,znb);pV(394,1,{888:1},Anb);_.gg=function Bnb(){this.a=true};_.a=false;var bM=xic(394);pV(588,931,TDc,Dnb);_.Nf=function Enb(a,b){Cnb(this,b)};_.Rf=function Fnb(a,b,c){var d,e;if(b.j!=(F7b(),Q5b))return;e=null.mj();if(e<0)return;d=p1(this.a,
b);!a.d&&(a.d=z0(a.c,a.f));null.mj(fab().mj().mj(Yib(b)).mj(z3b(b.i)).mj().mj(d.length).mj(null.mj()).mj().mj())};var cM=xic(588);pV(1030,1,{});var Gnb;pV(398,1,{398:1},Lnb);var dM=xic(398);pV(825,1,TDc,Mnb);_.Nf=function Nnb(a,b){irb(this.a,b,$C(VC(mL,1),qAc,26,0,[this]))};_.Qf=function Onb(a,b,c){if(b.j==(F7b(),Q5b)){xnc(this.b,new Snb(Cnc(this.b),b));s2b(b,61)!=0&&s0(this.a,"es6/execute_async_generator",false)}return true};_.Rf=function Pnb(a,b,c){var d,e,f,g,h,i,j,k;d=Cnc(this.b);if(b.j==(F7b(),
Q5b)){ue(d.d.Cd()&&TD(d.d.Bd())===TD(b),"unexpected function context:\nexpected: %s\nactual: %s",b,d.d);Lnc(this.b)}switch(b.j.f){case 65:d.d.Cd()&&s2b(d.d.Bd(),61)!=0&&(e=d.d.Bd(),f=R2b(e,e.g,61),f!=e.g&&(e.g=f),g=e.b?e.b.f:null,h=o3b(new q3b(c5b),g),S2b(e,g,h),d.b&&d2b(h,LZb((se(Yjc(RFc,qkc(46))==-1,YBc,RFc),new q4b(y6b,RFc)),new q3b(q7b),q6b)),d.a&&d2b(h,LZb((se(Yjc(SFc,qkc(46))==-1,YBc,SFc),new q4b(y6b,SFc)),(se(Yjc(PDc,qkc(46))==-1,YBc,PDc),new q4b(y6b,PDc)),q6b)),g.j==c5b||g.j==_6b||(g=n3b(EZb((ne(ZZb(g)),
new s3b($6b,g))),g)),i=QZb((se(Yjc(TFc,qkc(46))==-1,YBc,TFc),new q4b(y6b,TFc)),new q3b(Q6b),g),j=R2b(i,i.g,59),j!=i.g&&(i.g=j),i.g=new V3b(59,1,i.g),d2b(h,i),k=SZb((se(Yjc(UFc,qkc(46))==-1,YBc,UFc),new q4b(y6b,UFc)),new q4b(h7b,"executeAsyncGenerator")),d2b(h,j$b(GZb(k,$C(VC(jR,1),ZBc,7,0,[Vjb((se(Yjc(TFc,qkc(46))==-1,YBc,TFc),new q4b(y6b,TFc)),$C(VC(jR,1),ZBc,7,0,[]))])))),p3b(h,g),d1(this.a),undefined);break;case 29:if(d.c.Cd()&&d.c.Bd().e==d.e&&L2b(b,PDc,PDc.length)){b.Qh(SFc);d.c.Bd().a=true}break;
case 33:if(d.c.Cd()&&d.c.Bd().e==d.e){S2b(c,b,o3b((se(Yjc(RFc,qkc(46))==-1,YBc,RFc),new q4b(y6b,RFc)),b));d.c.Bd().b=true}break;case 103:oe(d.d.Cd()&&s2b(d.d.Bd(),61)!=0,"await found within non-async function body");pe(!!b.b&&!b.b.d,"await should have 1 operand, but has %s",p2b(b));S2b(c,b,o3b(v$b(Q2b(b)),b))}};var fM=xic(825);pV(354,1,{354:1},Rnb,Snb);_.a=false;_.b=false;var eM=xic(354);pV(432,1,PBc,$nb);_.Nf=function aob(a,b){Wnb(this,b)};var Tnb,Unb;var kM=xic(432);pV(433,1,{433:1},bob);var gM=
xic(433);pV(704,1,{},fob);var cob;var iM=xic(704);pV(707,1,$Ac,hob);_.Kd=function iob(a){return jkc(a,a.lastIndexOf(".")+1)};_.xd=function job(a){return this===a};var hM=xic(707);pV(706,705,SBc,lob);var jM=xic(706);pV(683,1,{});var mob,nob,oob,pob,qob,rob,sob,tob,uob,vob,wob,xob,yob,zob,Aob,Bob;var mM=xic(683);pV(575,683,{},Iob);_.hh=function Job(a,b,c,d){Gob(this,a,b,c,d)};_.ih=function Kob(a,b,c,d){Hob(this,a,b,c,d)};var lM=xic(575);pV(592,1,PBc,Tob);_.Nf=function Uob(a,b){Pob(this,a,b)};var Lob,
Mob,Nob;var nM=xic(592);pV(226,1,{226:1},cpb,dpb);_.Ad=function epb(){return"Scope@"+this.d};_.b=0;var oM=xic(226);pV(179,14,cGc);var fpb,gpb;var rM=yic(179,nS,jpb);pV(593,179,cGc,kpb);var pM=yic(593,rM,null);pV(594,179,cGc,lpb);var qM=yic(594,rM,null);pV(154,1,dGc,spb);_.th=function upb(){return this.b};_.uh=function vpb(a){opb(this);if(a<1||a>this.e.length)throw RU(new dfb("Expected line number between 1 and "+this.e.length+"\nActual: "+a));return this.e[a-1]};_.Ig=function wpb(){return this.c};
_.vh=function xpb(){return this.d};_.Ad=function ypb(){return this.c};_.b=null;_.d=false;_.e=null;var mpb;var wM=xic(154);pV(205,1,{},zpb);var sM=xic(205);pV(591,154,dGc,Apb);_.th=function Bpb(){var a;a=this.b;if(a==null){a=(blc(this.a),dA());qpb(this,a,blc(this.a)==(glc(),flc));a=this.b}return a};var uM=xic(591);pV(256,154,dGc,Cpb);var vM=xic(256);pV(585,931,SBc,Dpb);_.Rf=function Fpb(a,b,c){var d,e,f,g,h;this.a&&this.b!=null&&ne(Vjc(this.b,(d=u2b(b,51),!d?null:d.Ig())));switch(b.j.f){case 26:g=
b.b?b.b.f:null;Epb(b,g.Lh());break;case 65:e=Qib(b);e!=null&&e.length!=0&&u2b(b,40)==null&&(h=R2b(b,b.g,40),h!=b.g&&(b.g=h),e!=null&&(b.g=new d4b(40,e,b.g)));break;case 29:Epb(b,b.Lh());break;case 43:for(f=b.b;f;f=f.d)f.j!=(F7b(),o5b)&&!f.Nh()&&Epb(f,f.Lh())}};_.a=false;var xM=xic(585);pV(185,14,eGc);var Gpb,Hpb;var AM=yic(185,nS,Kpb);pV(633,185,eGc,Lpb);_.Hd=function Mpb(a){return true};var yM=yic(633,AM,null);pV(634,185,eGc,Npb);_.Hd=function Opb(a){return a.j==(F7b(),f5b)||a.j==E6b||a.j==Q5b||
a.j==y6b||(sib(),a.j==W5b||a.j==V5b)||Cjb(a)||a.j==h7b&&rjb(a.e)||a.j==n7b};var zM=yic(634,AM,null);pV(184,14,fGc);var Ppb,Qpb;var DM=yic(184,nS,Tpb);pV(631,184,fGc,Upb);var BM=yic(631,DM,null);pV(632,184,fGc,Vpb);var CM=yic(632,DM,null);pV(445,1,{445:1},Zpb);_.a=null;var Wpb;var EM=xic(445);var $pb,_pb,aqb,bqb,cqb,dqb,eqb,fqb,gqb,hqb,iqb,jqb;pV(582,1,PBc,rqb);_.Nf=function sqb(a,b){qqb(this,b)};var nqb,oqb;var GM=xic(582);pV(759,931,SBc,Hqb);_.Rf=function Iqb(a,b,c){switch(b.j.f){case 76:Fqb(this,
a,b,c);break;case 29:Bqb(this,a,b,c);break;case 47:case 48:case 49:case 50:case 51:case 52:case 53:case 54:case 55:case 56:case 57:case 58:zqb(this,a,b,c);break;case 28:case 23:wqb(this,a,b,c)&&Gqb(this,b,c);break;case 43:uqb(this,b);break;case 84:Aqb(this,b,c)}};var FM=xic(759);pV(578,177,xDc,Jqb);_.Og=function Kqb(){return(Stb(),Rtb).a};_.Pg=function Lqb(a){var b,c,d,e,f,g,h,i,j,k,l,m;g=a.e;if(g){m=false;for(b=g;b;b=b.e){l=b.j;d=null;if(l==(F7b(),Q5b)){d=(sib(),e=Fib(b),!e?null:u2b(e,29));m=true}else if(l==
b7b)d=u2b(b,29);else if(b.j==z7b||b.j==L4b){h=Vib(b.b);if(h){h.j==i5b&&(h=h.b);h.j==Q5b&&!m&&(d=(sib(),e=Fib(b),!e?null:u2b(e,29)))}}if(d)for(k=(i=!d.d?null:d.d.p,!i?(Gpc(),Gpc(),Fpc):i).Md();k.Ed();){j=k.Fd();c=qlc(this.a,j);if(c){f=c.Pg(a);if(f)return f}}}}return null};var HM=xic(578);pV(697,1,{},Mqb);_.rh=function Nqb(a,b,c,d){};var IM=xic(697);pV(583,1,jAc,Oqb);_.Fg=function Pqb(a){return this.b};_.Gg=function Qqb(){return this.a};_.Lg=function Rqb(){return this.c};var JM=xic(583);pV(162,1,{},
Uqb,Vqb);_.a=0;var KM=xic(162);var Wqb,Xqb,Yqb,Zqb,$qb,_qb,arb,brb,crb,drb,erb,frb;pV(746,74,dDc,jrb);_.Eg=function krb(a){return new Mnb(a)};var PM=xic(746);pV(755,117,dDc,lrb);_.sh=function mrb(a){return new U5(a)};var LM=xic(755);pV(756,117,dDc,nrb);_.sh=function orb(a){return new g9(a)};var MM=xic(756);pV(757,117,dDc,prb);_.sh=function qrb(a){return new b7(a)};var NM=xic(757);pV(758,117,dDc,rrb);_.sh=function srb(a){return new W7(a)};var OM=xic(758);pV(747,74,dDc,trb);_.Eg=function urb(a){return new t8(a)};
var QM=xic(747);pV(748,117,dDc,vrb);_.sh=function wrb(a){return new u6(a)};var RM=xic(748);pV(749,117,dDc,xrb);_.sh=function yrb(a){return new B7(a)};var SM=xic(749);pV(750,117,dDc,zrb);_.sh=function Arb(a){return new G6(a)};var TM=xic(750);pV(751,117,dDc,Brb);_.sh=function Crb(a){return new R6(a)};var UM=xic(751);pV(752,117,dDc,Drb);_.sh=function Erb(a){return new $nb(a)};var VM=xic(752);pV(753,117,dDc,Frb);_.sh=function Grb(a){return new n8(a)};var WM=xic(753);pV(754,117,dDc,Hrb);_.sh=function Irb(a){return new g6(a)};
var XM=xic(754);var Jrb,Krb,Lrb,Mrb,Nrb,Orb,Prb,Qrb,Rrb,Srb,Trb,Urb,Vrb,Wrb,Xrb,Yrb,Zrb,$rb,_rb,asb,bsb,csb,dsb,esb,fsb,gsb,hsb,isb,jsb,ksb,lsb,msb,nsb,osb,psb,qsb,rsb;var tsb,usb,vsb,wsb,xsb,ysb,zsb,Asb,Bsb,Csb,Dsb;pV(862,328,{},Isb);_.Cg=function Jsb(a,b){var c,d,e;d=a.e;if(!!d&&(d.j==(F7b(),c5b)||d.j==_6b||d.j==b7b))if(a.j==(F7b(),Q5b))e$(this,Fsb(this,a));else if(a.j==L5b&&a.b.j==L4b){c=a.b;if(Bjb(c.b))e$(this,Beb(this.a,u2b(c,29)));else{e=c.b?c.b.f:null;e$(this,Gsb(this,e))}}else a.j==z7b&&!!a.b.b&&
(Bjb(a.b)?e$(this,Beb(this.a,u2b(a,29))):e$(this,Gsb(this,a.b.b)));d$(this,a,b)};var YM=xic(862);var Lsb,Msb,Nsb,Osb,Psb,Qsb,Rsb,Ssb;pV(237,1,{237:1},Xsb);_.wh=function Ysb(){var a;for(a=this.c;a;a=a.e)if(Usb.contains(a.j))return a.j;throw RU(new Xic("The nameNode for "+this+" must be a descendant"+" of one of: "+Usb));};_.xd=function Zsb(a){var b;if(!ND(a,237))return false;b=a;return b.c==this.c};_.zd=function $sb(){return rb(this.c)};_.Ad=function _sb(){return"Var "+this.b+" @ "+this.c};var Usb;
var bN=xic(237);pV(352,237,{237:1,352:1},atb);_.wh=function btb(){return null};_.xd=function ctb(a){var b;if(!ND(a,352))return false;b=a;return b.d.d==this.d.d};_.zd=function dtb(){return tzc(this)};var ZM=xic(352);pV(694,931,TDc,qtb);_.Nf=function ttb(a,b){ptb(this,a,b)};_.Rf=function utb(a,b,c){var d,e,f,g,h,i,j,k,l,m;if(b.j==(F7b(),y6b)||b.j==i7b&&!b.b){m=b.Lh();if(m.length==0){ne(c.j==Q5b);ne((sib(),c.j==Q5b&&!Kjb(c.e)));return}if((c.j==z7b||(sib(),c.j==Q5b&&jjb(c.e)))&&Wtc(this.e,m)){rtb(this.a,
m);Xtc(this.e,m);d=X1b(u2b(b,29));D$b(d.a);d.d=true;Y2b(b,F0b(d,false))}i=Shb(a);j=$ob(i,m);if(!j){sib();if(c.j==Q5b&&!Kjb(c.e)||c.j==k5b&&!Kjb(c.e)&&b==c.b);else{g=!!i.c&&Vjc(PDc,m);!g&&!(this.d&&h2((!a.d&&(a.d=z0(a.c,a.f)),a.d)))&&Zhb(a,b,jtb,$C(VC(FS,1),bAc,2,6,[m]));if(this.c)throw RU(new Xic("Unexpected variable "+m));else{rtb(this.a,m);Xtc(this.e,m);Wob(Yob(i),m,b,H0(this.a))}}return}e=(!a.d&&(a.d=z0(a.c,a.f)),a.d);k=j.a;if(e==k||!e||!k)return;f=e.g;l=k.g;h=this.a.B;if(!this.c&&l!=f&&!!l&&!!f)if(_eb(h,
f).contains(l));else!i.c?_eb(h,l).contains(f)?Zhb(a,b,mtb,$C(VC(FS,1),bAc,2,6,[f.d,l.d,m])):Zhb(a,b,ftb,$C(VC(FS,1),bAc,2,6,[f.d,l.d,m])):Zhb(a,b,htb,$C(VC(FS,1),bAc,2,6,[f.d,l.d,m]))}};_.c=false;_.d=false;var etb,ftb,gtb,htb,itb,jtb,ktb,ltb,mtb;var aN=xic(694);pV(695,931,SBc,vtb);_.Rf=function wtb(a,b,c){var d,e,f,g;if(b.j==(F7b(),y6b))switch(c.j.f){case 76:case 100:case 88:case 65:case 96:case 45:break;case 26:if(b==c.b){e=Shb(a);g=$ob(e,b.Lh());if(!g){Zhb(a,b,(ntb(),itb),$C(VC(FS,1),bAc,2,6,[b.Lh()]));
Vtc(this.a.e,b.Lh())}}break;case 47:if(b==(c.b?c.b.f:null)&&F2b(b)&&F2b(c.b))break;default:(c.j!=y6b||!c.e||!zjb(c.e))&&Zhb(a,b,(ntb(),gtb),$C(VC(FS,1),bAc,2,6,[b.Lh()]));d=Shb(a);f=$ob(d,b.Lh());!f&&Vtc(this.a.e,b.Lh())}};var $M=xic(695);pV(696,1,{},ytb);_.rh=function ztb(a,b,c,d){var e,f,g,h,i;i=c.e;h=$ob(a,b);g=!h.c?null:h.c.e;if(i.j==(F7b(),q6b)||i.j==p5b||i.j==k5b||!!g&&(g.j==q6b||g.j==p5b||g.j==k5b)){c1(this.b.a,Keb(c,(ntb(),etb),$C(VC(FS,1),bAc,2,6,[])));return}if(!a.c){if(g.j==j5b&&i.j==j5b)return;
e=stb(c,h);ntb();if(c.e.j==z7b&&(f=u2b(c,51),!!f&&f.vh())&&Bjb(c)){hoc(this.a,i);return}e||c1(this.b.a,Keb(c,ltb,$C(VC(FS,1),bAc,2,6,[b,h.a?h.a.f.a:"??"])))}else Vjc(b,PDc)&&(sib(),!(c.j==y6b&&c.e.j==z7b))&&c1(this.b.a,Keb(c,(ntb(),ktb),$C(VC(FS,1),bAc,2,6,[])))};var _M=xic(696);var Atb,Btb,Ctb,Dtb;pV(218,14,{218:1,3:1,23:1,14:1},Jtb);var Ftb,Gtb,Htb;var cN=yic(218,nS,Ktb);pV(140,14,{140:1,3:1,23:1,14:1},Ttb);_.a=0;var Ltb,Mtb,Ntb,Otb,Ptb,Qtb,Rtb;var dN=yic(140,nS,Utb);pV(804,1,{},Ytb);var fN=xic(804);
pV(299,1,{},eub);var $tb,_tb,aub,bub;var mN=xic(299);pV(741,1,$Ac,kub);_.Kd=function lub(a){return a.Ig()};_.xd=function mub(a){return this===a};var gN=xic(741);pV(742,1,RBc,oub);_.He=function pub(a,b){return nub(a,b)};_.xd=function qub(a){return this===a};var hN=xic(742);pV(743,1,RBc,tub);_.He=function uub(a,b){return rub(a,b)};_.xd=function vub(a){return this===a};var iN=xic(743);pV(447,1,{},zub);_.Ad=function Aub(){return this.a};var jN=xic(447);pV(279,14,kGc);var Bub;var lN=yic(279,nS,Dub);pV(740,
279,kGc,Eub);_.Kd=function Fub(a){return a};var kN=yic(740,lN,null);var Gub;pV(238,1,{563:1,238:1},Mub);_.Jg=function Qub(){return this.c};_.Kg=function Rub(){return this.d};_.xd=function Nub(a){var b;if(!ND(a,238))return false;b=a;return b.e==this.e&&b.b==this.b&&hwc(b.d,this.d)&&hwc(b.c,this.c)&&hwc(b.a,this.a)};_.Hg=function Oub(){return this.a};_.Ig=function Pub(){return this.b};_.zd=function Sub(){return gpc($C(VC(AS,1),qAc,1,5,[this.c,this.d,this.e,this.b,this.a]))};_.Ad=function Tub(){return gZb("DependencyInfo(relativePath='%1$s', path='%2$s', provides=%3$s, requires=%4$s, loadFlags=%5$s)",
$C(VC(AS,1),qAc,1,5,[this.e,this.b,this.c,this.d,this.a]))};var Kub;var nN=xic(238);pV(895,1,{});var Uub;var qN=xic(895);pV(569,571,xBc,Zub);var oN=xic(569);pV(570,389,{},$ub);_.Of=function _ub(){this.c+this.e>0&&Xub(this.c+" error(s), "+this.e+" warning(s)")};_.Pf=function avb(a,b){Xub(Feb(b,a,this.a))};var pN=xic(570);pV(178,933,{},cvb);var rN=xic(178);var dvb;var fvb;var hvb;var jvb,kvb,lvb,mvb;var ovb,pvb;var rvb,svb,tvb,uvb,vvb,wvb,xvb,yvb,zvb,Avb,Bvb,Cvb,Dvb,Evb;var Gvb;var Ivb,Jvb;var Lvb,
Mvb;var Ovb;var Qvb,Rvb,Svb,Tvb;var Vvb;var Xvb;pV(375,1,{},Zvb);_.Ad=function $vb(){return Sd(Qd(Qd(Qd(Qd(Rd(new Td((qic(sN),sN.k))),"simpleType",this.d),xFc,this.e),ICc,this.c),"scope",this.a))};_.b=false;var sN=xic(375);pV(239,1,{239:1},gwb);_.Ad=function nwb(){return Wwb(dwb(this),new Ikc).a};_.b=false;var tN=xic(239);pV(146,1,{146:1});_.Ad=function Bwb(){return this.w};_.v=false;var LN=xic(146);pV(160,146,{160:1,146:1,958:1},Ewb);_.xh=function Gwb(){var a,b,c;he(this.b);ne(!this.A);a=(XAb(),
XAb(),WAb);for(c=this.c.Md();c.Ed();){b=c.Fd();a=ZAb(a,b,new cDb(null,this.b,this.b,(nDb(),kDb)))}return wyb(ICb(this.t,eAb(this.t),a,null,this,false,(TBb(),RBb)))};_.yh=function Hwb(a){return Uxb(this.a,a)};_.zh=function Iwb(a){return _xb(this.a,a)};_.Ah=function Lwb(a){return iyb(this.a,a)};var vN=xic(160);pV(249,14,{249:1,3:1,23:1,14:1},Swb);var Owb,Pwb,Qwb;var uN=yic(249,nS,Twb);pV(201,146,{201:1,146:1},Uwb);_.xh=function Vwb(){ne(!this.A);return wyb(ICb(this.t,dAb(this.t),null,dwb(this.a.c),
this,false,(TBb(),RBb)))};var wN=xic(201);pV(194,1,{194:1},jxb,kxb);_.xd=function lxb(a){return Ywb(this,a)};_.zd=function nxb(){return gpc($C(VC(AS,1),qAc,1,5,[this.i,this.e,this.j,this.k,this.d,this.g]))};_.Ad=function xxb(){return Wwb(this,new Ikc).a};_.b=false;_.c=false;var zN=xic(194);pV(95,1,{},Mxb);_.b=false;_.c=false;_.j=null;_.k=null;var yN=xic(95);pV(241,32,{241:1,3:1,41:1,40:1},Nxb);var xN=xic(241);pV(132,1,FGc);_.xd=function uyb(a){return Txb(this,a)};_.zd=function yyb(){return gpc($C(VC(AS,
1),qAc,1,5,[kjc(this.Ch()),this.Dh(),this.Bh(),this.Eh()]))};_.Fh=function Ayb(a){return Txb(this,a)};_.Ad=function Kyb(){return nyb(this,new Ikc).a};var Oxb,Pxb,Qxb;var FN=xic(132);pV(698,1,{},Lzb);_.c=0;var Nyb,Oyb,Pyb,Qyb,Ryb,Syb,Tyb,Uyb,Vyb,Wyb,Xyb,Yyb,Zyb,$yb,_yb,azb,bzb,czb,dzb,ezb,fzb,gzb,hzb,izb;var EN=xic(698);pV(329,1,{},Nzb);var AN=xic(329);pV(699,1,{},Rzb);_.a=-1;var BN=xic(699);pV(225,14,{225:1,3:1,23:1,14:1},Wzb);var Szb,Tzb,Uzb;var CN=yic(225,nS,Xzb);pV(700,1,{},Yzb);var DN=xic(700);
pV(466,1,{466:1},vAb);_.H=false;_.J=false;_.Q=false;var HN=xic(466);pV(809,1,BAc,zAb);_.pe=function FAb(a){return this.a.G};_.getOrDefault=function GAb(a,b){var c;return c=this.a.G,c};_.put=function KAb(a,b){return xAb()};_.putIfAbsent=function MAb(a,b){var c;return c=this.a.G,c?c:xAb()};_.remove=function NAb(a){return yAb()};_.replace=function OAb(a,b){return xAb()};_.clear=function AAb(){throw RU(new Okc);};_.containsKey=function BAb(a){return true};_.containsValue=function CAb(a){return TD(a)===
TD(this.a.G)};_.oe=function DAb(){throw RU(new Okc);};_.xd=function EAb(a){return wAb(this,a)};_.zd=function HAb(){throw RU(new Okc);};_.isEmpty=function IAb(){return false};_.keySet=function JAb(){throw RU(new Okc);};_.putAll=function LAb(a){throw RU(new Okc);};_.size=function PAb(){throw RU(new Okc);};_.values=function QAb(){return km(),new ly(this.a.G)};var GN=xic(809);pV(75,132,FGc,RAb);_.Bh=function SAb(){return km(),ux(),tx};_.Ch=function TAb(){return this.a};_.Gh=function UAb(){return km(),
ux(),tx};_.Dh=function(){return this.Gh()};_.Eh=function VAb(){return null};_.a=0;var IN=xic(75);pV(557,913,IGc);var WAb;var SN=xic(557);pV(377,557,IGc,_Ab);_.oe=function aBb(){return new Jlc(this.a)};var JN=xic(377);pV(291,146,{146:1,291:1},cBb);_.xh=function dBb(){ne(!this.A);return wyb(ICb(this.t,!this.a?eAb(this.t):this.a,null,null,this,false,(TBb(),RBb)))};_.a=null;var KN=xic(291);pV(240,1,{240:1},BBb);_.xd=function DBb(a){return iBb(this,a)};_.zd=function EBb(){return gpc($C(VC(AS,1),qAc,1,
5,[this.b,this.a]))};_.Ad=function HBb(){return gBb(this,new Ikc).a};var eBb;var MN=xic(240);pV(812,132,FGc,JBb);_.Bh=function KBb(){return km(),ux(),tx};_.Ch=function LBb(){return 34};_.Gh=function MBb(){return this.a};_.Dh=function(){return this.Gh()};_.Eh=function NBb(){return null};var NN=xic(812);pV(199,1,{199:1},UBb);_.a=0;var OBb,PBb,QBb,RBb,SBb;var ON=xic(199);pV(133,1,{133:1,958:1},nCb);_.xd=function rCb(a){return $Bb(this,a)};_.yh=function vCb(a){return _Bb(this,a)};_.zh=function wCb(a){return bCb(this,
a)};_.zd=function ACb(){return gpc($C(VC(AS,1),qAc,1,5,[this.b,this.e,this.g,this.d]))};_.Ah=function JCb(a){return fCb(this,a)};_.Ad=function OCb(){return XBb(this,new Ikc).a};_.c=false;var PN=xic(133);pV(558,1,{},UCb);_.b=0;var QN=xic(558);pV(811,132,FGc,VCb);_.Bh=function WCb(){return km(),ux(),tx};_.Ch=function XCb(){return 2};_.Gh=function YCb(){return this.a};_.Dh=function(){return this.Gh()};_.Eh=function ZCb(){return null};var RN=xic(811);pV(45,1,{45:1},cDb);_.xd=function dDb(a){return _Cb(this,
a)};_.zd=function eDb(){return gpc($C(VC(AS,1),qAc,1,5,[this.d,this.a]))};_.Ad=function iDb(){return $Cb(this,new Ikc).a};var UN=xic(45);pV(247,14,{247:1,3:1,23:1,14:1},oDb);var kDb,lDb,mDb;var TN=yic(247,nS,pDb);pV(44,1,{},qDb,rDb);_.Ad=function tDb(){return Sc(new Vc("."),this.a.Md())};var VN=xic(44);pV(79,146,{146:1,79:1},VDb);_.xh=function WDb(){ne(this.f);ne(!this.A);return wyb(ICb(this.t,dAb(this.t),null,this.c,this,this.c.c,(TBb(),RBb)))};_.Ad=function _Db(){return CDb(this,new Ikc).a};_.a=
null;_.d=null;_.e=false;_.f=false;_.g=0;_.o=null;var WN=xic(79);pV(47,1,{},aEb);var XN=xic(47);pV(551,1,{551:1},gEb);var ZN=xic(551);pV(248,14,{248:1,3:1,23:1,14:1},lEb);var hEb,iEb,jEb;var YN=yic(248,nS,mEb);pV(810,132,FGc,nEb);_.Bh=function oEb(){return he(this.a)};_.Ch=function pEb(){return this.b};_.Gh=function qEb(){return he(this.c)};_.Dh=function(){return this.Gh()};_.Eh=function rEb(){return this.d};_.b=0;var $N=xic(810);pV(823,1,{},tEb);_.a=0;var _N=xic(823);pV(28,14,{28:1,3:1,23:1,14:1},
DFb);var wEb,xEb,yEb,zEb,AEb,BEb,CEb,DEb,EEb,FEb,GEb,HEb,IEb,JEb,KEb,LEb,MEb,NEb,OEb,PEb,QEb,REb,SEb,TEb,UEb,VEb,WEb,XEb,YEb,ZEb,$Eb,_Eb,aFb,bFb,cFb,dFb,eFb,fFb,gFb,hFb,iFb,jFb,kFb,lFb,mFb,nFb,oFb,pFb,qFb,rFb,sFb,tFb,uFb,vFb,wFb,xFb,yFb,zFb,AFb,BFb;var aO=yic(28,nS,EFb);pV(220,1,{},FFb,GFb);_.b=0;_.e=0;var dO=xic(220);pV(221,14,{221:1,3:1,23:1,14:1},MFb);var IFb,JFb,KFb;var bO=yic(221,nS,NFb);pV(141,14,{141:1,3:1,23:1,14:1},VFb);var OFb,PFb,QFb,RFb,SFb,TFb;var cO=yic(141,nS,XFb);pV(818,1,{},OGb);
_.c=false;_.g=null;_.i=false;var YFb,ZFb,$Fb,_Fb,aGb;var fO=xic(818);pV(819,1,{},pIb);var eO=xic(819);pV(373,1,{},sJb);_.d=null;_.f=false;_.o=null;var qIb,rIb;var jO=xic(373);pV(550,1,{550:1},vJb);_.a=0;_.b=0;var gO=xic(550);pV(374,1,{},wJb);var hO=xic(374);pV(246,14,{246:1,3:1,23:1,14:1},BJb);var xJb,yJb,zJb;var iO=yic(246,nS,CJb);pV(73,14,{73:1,3:1,23:1,14:1},ZJb);var DJb,EJb,FJb,GJb,HJb,IJb,JJb,KJb,LJb,MJb,NJb,OJb,PJb,QJb,RJb,SJb,TJb,UJb,VJb,WJb,XJb;var lO=yic(73,nS,$Jb);pV(251,1,{},iKb,jKb);_.a=
-1;_.b=0;_.c=0;_.d=0;_.e=-1;_.f=0;_.g=0;_.i=0;_.j=0;_.n="";_.p=0;_.r=0;var kO=xic(251);pV(951,1,{});var nO=xic(951);pV(877,951,{},mKb);_.hh=function nKb(a,b,c,d){};_.ih=function oKb(a,b,c,d){};var mO=xic(877);var pKb=null,qKb=null;pV(943,1,{});_.d=false;var yQ=xic(943);pV(802,943,{},yKb);_.Hh=function zKb(a,b){if(this.b||!this.a){this.a=true;this.c.hh(b,a.d.c,a.b+1,a.a)}};_.Ih=function AKb(a,b){this.c.ih(b,a.d.c,a.b+1,a.a)};_.a=false;_.b=false;var oO=xic(802);pV(803,1,{},BKb);var pO=xic(803);pV(883,
1,{},hLb);_.c=0;_.d=0;var rO=xic(883);pV(63,14,{63:1,3:1,23:1,14:1},HLb);_.a=0;_.b=0;_.c=0;var iLb,jLb,kLb,lLb,mLb,nLb,oLb,pLb,qLb,rLb,sLb,tLb,uLb,vLb,wLb,xLb,yLb,zLb,ALb,BLb,CLb,DLb,ELb,FLb;var qO=yic(63,nS,JLb);var KLb;pV(109,1,{109:1,3:1},$Lb);_.xd=function _Lb(a){return ND(a,109)&&a.b==this.b&&a.d==this.d&&a.a==this.a&&a.c==this.c};_.zd=function aMb(){return gpc($C(VC(AS,1),qAc,1,5,[kjc(this.b),(Xhc(),this.d?true:false),this.a?true:false,this.c?true:false]))};_.Ad=function bMb(){return"FeatureSet{number="+
this.b+(this.d?", unsupported":"")+(this.a?", es6Modules":"")+(this.c?", typeScript":"")+"}"};_.a=false;_.b=0;_.c=false;_.d=false;var MLb,NLb,OLb,PLb,QLb,RLb,SLb,TLb,ULb,VLb;var tO=xic(109);pV(43,14,{43:1,3:1,23:1,14:1},UMb);_.toString=function VMb(){return this.b};var dMb,eMb,fMb,gMb,hMb,iMb,jMb,kMb,lMb,mMb,nMb,oMb,pMb,qMb,rMb,sMb,tMb,uMb,vMb,wMb,xMb,yMb,zMb,AMb,BMb,CMb,DMb,EMb,FMb,GMb,HMb,IMb,JMb,KMb,LMb,MMb,NMb,OMb,PMb,QMb,RMb,SMb;var sO=yic(43,nS,WMb);pV(173,1,{173:1},XMb);_.Ad=function YMb(){return iUb(this.c)};
var FO=xic(173);pV(376,173,{376:1,173:1},ZMb);_.Ad=function $Mb(){return this.a};var uO=xic(376);pV(39,14,{39:1,3:1,23:1,14:1},ZNb);_.toString=function dOb(){return this.b};var _Mb,aNb,bNb,cNb,dNb,eNb,fNb,gNb,hNb,iNb,jNb,kNb,lNb,mNb,nNb,oNb,pNb,qNb,rNb,sNb,tNb,uNb,vNb,wNb,xNb,yNb,zNb,ANb,BNb,CNb,DNb,ENb,FNb,GNb,HNb,INb,JNb,KNb,LNb,MNb,NNb,ONb,PNb,QNb,RNb,SNb,TNb,UNb,VNb,WNb,XNb;var vO=yic(39,nS,eOb);pV(850,1,{},iOb);var wO=xic(850);pV(102,173,{102:1,173:1},mOb);_.Ad=function nOb(){return this.a};
var xO=xic(102);pV(283,1,{},aRb,bRb);_.i=false;var oOb;var BO=xic(283);pV(816,1,{},dRb);var yO=xic(816);pV(815,1,{},eRb);_.a=false;_.b=false;_.c=false;_.d=false;var zO=xic(815);pV(192,1,{},fRb);_.a=null;_.b=false;_.c=false;var AO=xic(192);pV(817,1,{},URb);_.d=0;_.f=0;var CO=xic(817);pV(814,1,{},cSb);var DO=xic(814);pV(13,14,{13:1,3:1,23:1,14:1},jUb,kUb);_.toString=function lUb(){return iUb(this)};var dSb,eSb,fSb,gSb,hSb,iSb,jSb,kSb,lSb,mSb,nSb,oSb,pSb,qSb,rSb,sSb,tSb,uSb,vSb,wSb,xSb,ySb,zSb,ASb,BSb,
CSb,DSb,ESb,FSb,GSb,HSb,ISb,JSb,KSb,LSb,MSb,NSb,OSb,PSb,QSb,RSb,SSb,TSb,USb,VSb,WSb,XSb,YSb,ZSb,$Sb,_Sb,aTb,bTb,cTb,dTb,eTb,fTb,gTb,hTb,iTb,jTb,kTb,lTb,mTb,nTb,oTb,pTb,qTb,rTb,sTb,tTb,uTb,vTb,wTb,xTb,yTb,zTb,ATb,BTb,CTb,DTb,ETb,FTb,GTb,HTb,ITb,JTb,KTb,LTb,MTb,NTb,OTb,PTb,QTb,RTb,STb,TTb,UTb,VTb,WTb,XTb,YTb,ZTb,$Tb,_Tb,aUb,bUb,cUb,dUb,eUb,fUb,gUb;var EO=yic(13,nS,mUb);pV(9,1,{9:1});_.Ad=function qUb(){return this.p+"@"+this.o};var XP=xic(9);pV(546,9,{546:1,9:1},rUb);var GO=xic(546);pV(875,9,{9:1},
sUb);var HO=xic(875);pV(482,9,{482:1,9:1},tUb);var IO=xic(482);pV(526,9,{526:1,9:1},uUb);var JO=xic(526);pV(537,9,{537:1,9:1},vUb);var KO=xic(537);pV(528,9,{528:1,9:1},wUb);var LO=xic(528);pV(521,9,{521:1,9:1},xUb);var MO=xic(521);pV(105,9,{105:1,9:1},yUb);var NO=xic(105);pV(363,9,{363:1,9:1},zUb);var OO=xic(363);pV(484,9,{484:1,9:1},AUb);var PO=xic(484);pV(485,9,{485:1,9:1},BUb);var QO=xic(485);pV(549,9,{549:1,9:1},CUb);_.c=false;var RO=xic(549);pV(486,9,{486:1,9:1},DUb);var SO=xic(486);pV(488,9,
{488:1,9:1},EUb);var TO=xic(488);pV(517,9,{517:1,9:1},FUb);var UO=xic(517);pV(370,9,{370:1,9:1},GUb);var VO=xic(370);pV(477,1,{477:1},HUb);var XO=xic(477);pV(174,14,{174:1,3:1,23:1,14:1},OUb);var IUb,JUb,KUb,LUb,MUb;var WO=yic(174,nS,PUb);pV(530,9,{530:1,9:1},QUb);var YO=xic(530);pV(531,9,{531:1,9:1},RUb);var ZO=xic(531);pV(529,9,{529:1,9:1},SUb);var $O=xic(529);pV(367,9,{367:1,9:1},TUb);var _O=xic(367);pV(502,9,{502:1,9:1},UUb);_.b=false;var aP=xic(502);pV(503,9,{503:1,9:1},VUb);_.c=false;var bP=
xic(503);pV(243,9,{243:1,9:1},WUb);var cP=xic(243);pV(504,9,{504:1,9:1},XUb);_.b=false;var dP=xic(504);pV(497,9,{497:1,9:1},YUb);var eP=xic(497);pV(489,9,{489:1,9:1},ZUb);var fP=xic(489);pV(492,9,{492:1,9:1},$Ub);var gP=xic(492);pV(487,9,{487:1,9:1},_Ub);var hP=xic(487);pV(245,9,{245:1,9:1},aVb);var iP=xic(245);pV(490,9,{490:1,9:1},bVb);var jP=xic(490);pV(195,9,{195:1,9:1},cVb);var kP=xic(195);pV(544,9,{544:1,9:1},dVb);var lP=xic(544);pV(523,9,{523:1,9:1},eVb);_.d=false;_.e=false;var mP=xic(523);
pV(524,9,{524:1,9:1},fVb);var nP=xic(524);pV(491,9,{491:1,9:1},gVb);var oP=xic(491);pV(514,9,{514:1,9:1},hVb);var pP=xic(514);pV(495,9,{495:1,9:1},iVb);var qP=xic(495);pV(522,9,{522:1,9:1},jVb);var rP=xic(522);pV(494,9,{494:1,9:1},kVb);var sP=xic(494);pV(198,9,{198:1,9:1},lVb);var tP=xic(198);pV(496,9,{496:1,9:1},mVb);_.e=false;_.f=false;_.g=false;_.i=false;var wP=xic(496);pV(106,1,{},yVb);_.a=null;_.b=null;_.c=null;_.d=null;_.e=false;_.f=false;_.g=false;_.i=false;_.n=null;_.o=null;var uP=xic(106);
pV(196,14,{196:1,3:1,23:1,14:1},EVb);var zVb,AVb,BVb,CVb;var vP=yic(196,nS,FVb);pV(540,9,{540:1,9:1},GVb);var xP=xic(540);pV(542,9,{542:1,9:1},HVb);var yP=xic(542);pV(515,9,{515:1,9:1},IVb);_.b=false;var zP=xic(515);pV(288,9,{288:1,9:1},JVb);var AP=xic(288);pV(498,9,{498:1,9:1},KVb);var BP=xic(498);pV(371,9,{371:1,9:1},LVb);var CP=xic(371);pV(525,9,{525:1,9:1},MVb);var DP=xic(525);pV(548,9,{548:1,9:1},NVb);var EP=xic(548);pV(543,9,{543:1,9:1},OVb);var FP=xic(543);pV(499,9,{499:1,9:1},PVb);var GP=
xic(499);pV(369,9,{369:1,9:1},QVb);var HP=xic(369);pV(365,9,{365:1,9:1},RVb);var IP=xic(365);pV(364,9,{364:1,9:1},SVb);var JP=xic(364);pV(290,9,{290:1,9:1},TVb);_.c=false;_.d=false;var KP=xic(290);pV(289,9,{289:1,9:1},UVb);var LP=xic(289);pV(547,9,{547:1,9:1},VVb);var MP=xic(547);pV(876,9,{9:1},WVb);var NP=xic(876);pV(366,9,{366:1,9:1},XVb);var OP=xic(366);pV(519,9,{519:1,9:1},YVb);var PP=xic(519);pV(197,9,{197:1,9:1},ZVb);var QP=xic(197);pV(501,9,{501:1,9:1},$Vb);var RP=xic(501);pV(527,9,{527:1,
9:1},_Vb);var SP=xic(527);pV(535,9,{535:1,9:1},aWb);var TP=xic(535);pV(536,9,{536:1,9:1},bWb);var UP=xic(536);pV(500,9,{500:1,9:1},cWb);var VP=xic(500);pV(17,14,{17:1,3:1,23:1,14:1},TXb);var dWb,eWb,fWb,gWb,hWb,iWb,jWb,kWb,lWb,mWb,nWb,oWb,pWb,qWb,rWb,sWb,tWb,uWb,vWb,wWb,xWb,yWb,zWb,AWb,BWb,CWb,DWb,EWb,FWb,GWb,HWb,IWb,JWb,KWb,LWb,MWb,NWb,OWb,PWb,QWb,RWb,SWb,TWb,UWb,VWb,WWb,XWb,YWb,ZWb,$Wb,_Wb,aXb,bXb,cXb,dXb,eXb,fXb,gXb,hXb,iXb,jXb,kXb,lXb,mXb,nXb,oXb,pXb,qXb,rXb,sXb,tXb,uXb,vXb,wXb,xXb,yXb,zXb,AXb,
BXb,CXb,DXb,EXb,FXb,GXb,HXb,IXb,JXb,KXb,LXb,MXb,NXb,OXb,PXb,QXb,RXb;var WP=yic(17,nS,UXb);pV(467,9,{9:1,467:1},VXb);var YP=xic(467);pV(244,9,{9:1,244:1},WXb);var ZP=xic(244);pV(538,9,{9:1,538:1},XXb);var $P=xic(538);pV(532,9,{9:1,532:1},YXb);var _P=xic(532);pV(505,9,{9:1,505:1},ZXb);var aQ=xic(505);pV(516,9,{9:1,516:1},$Xb);_.b=false;var bQ=xic(516);pV(533,9,{9:1,533:1},_Xb);var cQ=xic(533);pV(518,9,{9:1,518:1},aYb);var dQ=xic(518);pV(506,9,{9:1,506:1},bYb);var eQ=xic(506);pV(360,9,{9:1,360:1},cYb);
var fQ=xic(360);pV(361,9,{9:1,361:1},dYb);var gQ=xic(361);pV(362,9,{9:1,362:1},eYb);var hQ=xic(362);pV(493,9,{9:1,493:1},fYb);var iQ=xic(493);pV(507,9,{9:1,507:1},gYb);var jQ=xic(507);pV(508,9,{9:1,508:1},hYb);var kQ=xic(508);pV(545,9,{9:1,545:1},iYb);var lQ=xic(545);pV(372,9,{9:1,372:1},jYb);var mQ=xic(372);pV(541,9,{9:1,541:1},kYb);var nQ=xic(541);pV(534,9,{9:1,534:1},lYb);var oQ=xic(534);pV(483,9,{9:1,483:1},mYb);var pQ=xic(483);pV(539,9,{9:1,539:1},nYb);var qQ=xic(539);pV(368,9,{9:1,368:1},oYb);
_.c=0;var rQ=xic(368);pV(510,9,{9:1,510:1},pYb);var sQ=xic(510);pV(511,9,{9:1,511:1},qYb);var tQ=xic(511);pV(509,9,{9:1,509:1},rYb);var uQ=xic(509);pV(512,9,{9:1,512:1},sYb);var vQ=xic(512);pV(513,9,{9:1,513:1},tYb);var wQ=xic(513);pV(520,9,{9:1,520:1},uYb);_.b=false;var xQ=xic(520);pV(885,943,{},vYb);_.Hh=function wYb(a,b){throw RU(new yYb);};_.Ih=function xYb(a,b){};var AQ=xic(885);pV(381,32,{381:1,3:1,41:1,40:1},yYb);var zQ=xic(381);pV(359,1,{},AYb);_.Ad=function BYb(){return gZb("%s(%d, %d)",
$C(VC(AS,1),qAc,1,5,[zYb(this),kjc(this.b+1),kjc(this.a+1)]))};_.a=0;_.b=0;_.c=0;var BQ=xic(359);pV(12,1,{},CYb);_.Ad=function DYb(){return gZb("<%s - %s>",$C(VC(AS,1),qAc,1,5,[this.b,this.a]))};var CQ=xic(12);pV(851,1,{},GYb);_.b=0;var EYb;var EQ=xic(851);pV(476,1,{476:1},JYb);_.a=0;_.b=0;var DQ=xic(476);pV(736,32,gBc,KYb);var FQ=xic(736);pV(737,32,gBc,LYb);var GQ=xic(737);pV(341,32,gBc,MYb);var HQ=xic(341);pV(734,32,gBc,NYb);var IQ=xic(734);pV(735,32,gBc,OYb);var JQ=xic(735);pV(338,32,gBc,PYb);
var KQ=xic(338);pV(733,32,gBc,QYb);var LQ=xic(733);pV(685,1,{},fZb);var OQ=xic(685);pV(687,1,{},qZb);_.b=0;_.c=0;_.d=0;var MQ=xic(687);pV(686,1,{},xZb);_.a=-1;_.b=gAc;_.c=0;_.d=false;_.e=false;_.f=false;_.g=false;_.i=false;_.j=false;_.k=false;_.n=-1;_.p=-1;var NQ=xic(686);pV(339,32,gBc,yZb);var PQ=xic(339);pV(257,1,{257:1,3:1},w$b);_.xd=function x$b(a){if(this===a)return true;if(a==null)return false;if(QQ!=pb(a))return false;return Vjc(this.a,a.a)};_.zd=function y$b(){return Tzc(this.a)};_.Ad=function z$b(){return"InputId: "+
this.a};var QQ=xic(257);pV(336,1,{336:1,3:1},V_b,W_b);_.Ad=function Z_b(){return"JSDocInfo"};_.a=0;_.c=false;_.e=false;_.f=0;var $Q=xic(336);pV(727,1,{},$_b);var RQ=xic(727);pV(65,1,jAc,e0b);_.Ad=function f0b(){return Sd(Rd(Qd(Qd(Qd(Qd(Qd(Qd(Qd(Qd(Qd(Qd(Qd(Qd(Qd(Qd(Qd(new Td((qic(SQ),SQ.k)),"bitfield",this.o==0?null:(this.o>>>0).toString(16)),"baseType",this.a),"extendedInterfaces",this.e),"implementedInterfaces",this.f),"parameters",this.n),"thrownTypes",this.r),"templateTypeNames",this.q),"disposedParameters",
this.d),"typeTransformations",this.s),"description",this.c),"meaning",this.j),DDc,this.b),"license",this.i),"suppressions",this.p),"lendsName",this.g)))};_.o=0;var SQ=xic(65);pV(444,1,{444:1},j0b);var TQ=xic(444);pV(337,1,{});_.b=0;_.c=0;_.d=null;_.e=0;_.f=0;var kR=xic(337);pV(728,337,{},n0b);var UQ=xic(728);pV(442,337,{},p0b);var VQ=xic(442);pV(443,442,{},r0b);var WQ=xic(443);pV(729,337,{},s0b);_.a=false;var XQ=xic(729);pV(170,14,{170:1,3:1,23:1,14:1},A0b);var u0b,v0b,w0b,x0b,y0b;var YQ=yic(170,
nS,B0b);pV(86,1,{},U1b,V1b);_.c=false;_.d=false;var ZQ=xic(86);pV(78,1,{78:1,3:1},Z1b);_.xd=function $1b(a){return ND(a,78)&&a.a.Mh(this.a,false,true,false,false)};_.zd=function _1b(){return Tzc(l3b(this.a))};_.Ad=function a2b(){return"type: "+l3b(this.a)};var _Q=xic(78);pV(7,1,{7:1,3:1},q3b,r3b,s3b,t3b,u3b,v3b,w3b);_.Jh=function x3b(a){return l2b(this,new q3b(this.j),a)};_.Kh=function A3b(){if(this.j==(F7b(),J6b))throw RU(new Xic(yIc));else throw RU(new Pkc(this+" is not a number node"));};_.Lh=
function B3b(){if(this.j==(F7b(),h7b))throw RU(new Xic(zIc));else throw RU(new Pkc(this+AIc));};_.Mh=function C3b(a,b,c,d,e){return E2b(this,a,b,c,d,e)};_.Nh=function D3b(){return false};_.Oh=function G3b(a){if(this.j==(F7b(),J6b))throw RU(new Xic(yIc));else throw RU(new Pkc(this+AIc));};_.Ph=function H3b(){throw RU(new Xic(this+" is not a StringNode"));};_.Qh=function I3b(a){if(this.j==(F7b(),h7b)||this.j==y6b)throw RU(new Xic(zIc));else throw RU(new Pkc(this+AIc));};_.Ad=function J3b(){return k3b(this,
true,true,true)};_.c=0;_.i=0;var jR=xic(7);pV(418,1,jAc);_.Th=function M3b(){return this.b};_.Vh=function N3b(){return this.c};_.c=0;var aR=xic(418);pV(311,1,xAc,O3b);_.Md=function P3b(){return new R3b(this)};var cR=xic(311);pV(269,1,lAc,R3b);_.Fd=function T3b(){return Q3b(this)};_.Ed=function S3b(){return!!this.a.a};_.Gd=function U3b(){throw RU(new Okc);};var bR=xic(269);pV(27,418,jAc,V3b);_.Rh=function W3b(a){return new V3b(this.c,this.a,a)};_.Sh=function X3b(){return this.a};_.Uh=function Y3b(){throw RU(new Okc);
};_.Ad=function Z3b(){return""+this.a};_.a=0;var dR=xic(27);pV(60,7,{7:1,60:1,3:1},$3b);_.Jh=function _3b(a){return l2b(this,new $3b(this.a),a)};_.Kh=function a4b(){return this.a};_.Mh=function b4b(a,b,c,d,e){var f,g,h;f=E2b(this,a,b,c,d,e);if(f){h=this.a;g=a.a;if(h==g)return h!=0||1/h==1/g}return false};_.Oh=function c4b(a){this.a=a};_.a=0;var eR=xic(60);pV(57,418,jAc,d4b);_.Rh=function e4b(a){return new d4b(this.c,this.a,a)};_.Sh=function f4b(){throw RU(new Okc);};_.Uh=function g4b(){return this.a};
_.Ad=function h4b(){return tkc(this.a)};var fR=xic(57);pV(53,1,{16:1,29:1},k4b);_.Fd=function n4b(){return j4b(this)};_.Ed=function l4b(){return!!this.a};_.Md=function m4b(){return i4b(this)};_.Gd=function o4b(){throw RU(new Okc);};_.c=false;var gR=xic(53);pV(8,7,{7:1,8:1,3:1},q4b,r4b);_.Jh=function s4b(a){return l2b(this,new q4b(this.j,this.a),a)};_.Lh=function t4b(){return this.a};_.Mh=function u4b(a,b,c,d,e){return E2b(this,a,b,c,d,e)&&Vjc(this.a,a.a)};_.Nh=function v4b(){return s2b(this,36)!=
0};_.Ph=function w4b(){var a;a=R2b(this,this.g,36);a!=this.g&&(this.g=a);this.g=new V3b(36,1,this.g)};_.Qh=function x4b(a){p4b(this,a)};var hR=xic(8);pV(94,7,{7:1,94:1,3:1},y4b,z4b,A4b);_.Jh=function B4b(a){return l2b(this,new A4b(this.j,this.a),a)};_.Lh=function C4b(){return this.a};var iR=xic(94);pV(10,14,{10:1,3:1,23:1,14:1},G7b);var E4b,F4b,G4b,H4b,I4b,J4b,K4b,L4b,M4b,N4b,O4b,P4b,Q4b,R4b,S4b,T4b,U4b,V4b,W4b,X4b,Y4b,Z4b,$4b,_4b,a5b,b5b,c5b,d5b,e5b,f5b,g5b,h5b,i5b,j5b,k5b,l5b,m5b,n5b,o5b,p5b,q5b,
r5b,s5b,t5b,u5b,v5b,w5b,x5b,y5b,z5b,A5b,B5b,C5b,D5b,E5b,F5b,G5b,H5b,I5b,J5b,K5b,L5b,M5b,N5b,O5b,P5b,Q5b,R5b,S5b,T5b,U5b,V5b,W5b,X5b,Y5b,Z5b,$5b,_5b,a6b,b6b,c6b,d6b,e6b,f6b,g6b,h6b,i6b,j6b,k6b,l6b,m6b,n6b,o6b,p6b,q6b,r6b,s6b,t6b,u6b,v6b,w6b,x6b,y6b,z6b,A6b,B6b,C6b,D6b,E6b,F6b,G6b,H6b,I6b,J6b,K6b,L6b,M6b,N6b,O6b,P6b,Q6b,R6b,S6b,T6b,U6b,V6b,W6b,X6b,Y6b,Z6b,$6b,_6b,a7b,b7b,c7b,d7b,e7b,f7b,g7b,h7b,i7b,j7b,k7b,l7b,m7b,n7b,o7b,p7b,q7b,r7b,s7b,t7b,u7b,v7b,w7b,x7b,y7b,z7b,A7b,B7b,C7b,D7b,E7b;var lR=yic(10,
nS,I7b);pV(20,1,GIc);_.xd=function e8b(a){return V7b(this,a)};_.Wh=function g8b(a){return h8b(this,a)};_.Xh=function i8b(a){var b;if(a.ui())return Jgc(a.ui(),this);return b=U7b(this,a,0,new Kbc(true)),b?this:f8b(jdc(this.u,$C(VC(ER,1),qAc,20,0,[this,a])))};_.Yh=function j8b(){return this.v};_.Zh=function k8b(){return egc(this.v)};_.$h=function l8b(){return false};_._h=function m8b(){return false};_.Fh=function o8b(a){return U7b(this,a,0,new Kbc(true))};_.ai=function p8b(){return false};_.bi=function q8b(){return false};
_.ci=function r8b(){return false};_.di=function s8b(){return false};_.ei=function t8b(){return false};_.fi=function u8b(){return false};_.gi=function v8b(){return false};_.hi=function w8b(){return false};_.ii=function x8b(){return false};_.ji=function y8b(a){return A8b(this,a,new Nbc(true),0)};_.ki=function z8b(a,b,c){return A8b(this,a,b,c)};_.li=function B8b(){return false};_.mi=function C8b(){return false};_.ni=function D8b(){return this};_.oi=function E8b(){return null};_.pi=function F8b(){return null};
_.qi=function G8b(){return null};_.ri=function H8b(){return null};_.si=function I8b(){return null};_.ti=function J8b(){return null};_.ui=function K8b(){return null};_.Ad=function L8b(){return this.vi(false)};_.t=false;var R7b,S7b;var ER=xic(20);pV(868,20,GIc,M8b);_.zd=function N8b(){return tzc(this)};_.$h=function O8b(){return true};_.vi=function P8b(a){return"*"};_.wi=function Q8b(a){return a.Rg()};var mR=xic(868);pV(83,20,{62:1,83:1,20:1,3:1},X8b,Y8b);_.Wh=function Z8b(a){throw RU(new Okc);};_.Xh=
function $8b(a){throw RU(new Okc);};_.xi=function _8b(){return Y7b(this.b)||T8b(this)};_.Zh=function(){return this.xi()};_.zd=function a9b(){return V8b(this)};_.ji=function b9b(a){return W8b(this,a,new Nbc(true),0)};_.ki=function c9b(a,b,c){return W8b(this,a,b,c)};_.vi=function d9b(a){return"[ArrowType]"};_.wi=function e9b(a){throw RU(new Okc);};_.c=false;var nR=xic(83);pV(250,20,GIc);var cS=xic(250);pV(863,250,GIc,g9b);_.zd=function h9b(){return tzc(this)};_.vi=function i9b(a){return Xzc};_.wi=function j9b(a){return a.Sg()};
var oR=xic(863);pV(56,20,HIc);_.yi=function u9b(){this.s=true};_.Ai=function v9b(){return km(),ux(),tx};_.Ci=function w9b(){return this.Ei().b.keySet()};_.Di=function x9b(){return null};_.Ei=function y9b(){return Mec(),Mec(),Lec};_.Fi=function z9b(a){return o9b(this,a)};_.Hi=function A9b(a){return Sec(this.Ei(),a)};_.Ii=function B9b(){return false};_.bi=function C9b(){return!!this.Di()};_.Ji=function D9b(){return false};_.hi=function E9b(){return true};_.ii=function G9b(){var a;return a=this.zi(),
!!a&&a.e==(qbc(),obc)&&a.d};_.li=function H9b(){return r9b(this)};_.Ki=function I9b(a){};_.wi=function J9b(a){return a.Zg(this)};_.s=true;var LR=xic(56);pV(824,56,HIc,M9b);_.zi=function N9b(){return!this.c?null:this.c.zi()};_.Bi=function O9b(){return null};_.Li=function P9b(){return!this.c?(Mec(),Mec(),Lec):this.c.Ei()};_.Ei=function(){return this.Li()};_.Gi=function Q9b(){return this.b};_.Ii=function R9b(){return true};_.zd=function S9b(){ne(true);return Tzc(this.b)};_.fi=function T9b(){return true};
_.hi=function U9b(){return this.d.hi()};_.ji=function V9b(a){return K9b(this,a,new Nbc(true),0)};_.ki=function W9b(a,b,c){return K9b(this,a,b,c)};_.oi=function X9b(){return this};_.vi=function Y9b(a){return a?this.d.vi(false):this.b+"<"+this.d+">"};_.wi=function Z9b(a){return a.Tg(this)};var pR=xic(824);pV(158,56,HIc,bac,cac);_.Mi=function eac(a,b,c,d){return $9b(this,a,b,c,d)};_.zi=function fac(){return null};_.Ai=function gac(){return this.p?this.p.b:(Lm(),Lm(),Km)};_.Ni=function hac(){return this.p?
Bac(this.p):(Lm(),Lm(),Km)};_.Bi=function iac(){return this.n};_.Di=function jac(){return this.p};_.Ei=function kac(){return this.r};_.Gi=function lac(){return this.k!=null?this.k:this.p?this.p.Gi()+JEc:null};_.Oi=function mac(){return!this.s};_.Ii=function nac(){return this.k!=null||!!this.p};_.zd=function oac(){return this.ii()?gpc($C(VC(AS,1),qAc,1,5,[this.k,this.r])):tzc(this)};_.Ji=function pac(){return this.o};_.ji=function qac(a){return this.ki(a,new Nbc(true),0)};_.ki=function rac(a,b,c){var d,
e,f,g,h;if(A8b(this,a,b,c))return true;if(a.ui())return false;if(a.ri())return sac(this,a.ri(),b,c);e=ND(a,56)?a:null;d=!e?null:e.zi();if(!!this.zi()&&this.zi().e==(qbc(),obc))for(g=qs(new Yqc(this.Ai().a.b.Md()));g.Ed();){f=g.Fd();if(f.ki(a,b,c))return true}else if(!!d&&d.e==(qbc(),obc)){h=this.Ni();for(g=h.Md();g.Ed();){f=g.Fd();if(f.ki(a,b,c))return true}}if(r9b(this))return true;return!!e&&p9b(this,e)};_.Ki=function tac(a){ne(!this.p||!a);this.p=a};_.vi=function uac(a){return aac(this,a)};_.o=
false;_.p=null;_.q=false;var OR=xic(158);pV(72,158,JIc,Lac);_.Gi=function Qac(){return this.k!=null?this.k:this.p?this.p.Gi()+JEc:null};_.yi=function Mac(){zac(this)};_.Mi=function Nac(a,b,c,d){var e;if(Vjc(fCc,a)){e=ND(b,56)?b:null;if(e){if(!!this.f&&U7b(e,this.f.e,0,new Kbc(true)))return true;Hac(this,e,d);return true}else return false}return $9b(this,a,b,c,d)};_.Ci=function Oac(){var a;if(!this.f)return this.r.b.keySet();else{a=(km(),new Wq);hoc(a.a,he(fCc));Vq(a,this.r.b.keySet());return yo(new Poc(a.a))}};
_.Fi=function Pac(a){var b,c,d;if(!Pec(this.r,a)){d=Vjc(RDc,a);c=Vjc("bind",a);if(d||c)m9b(this,a,Aac(this,d),this.g);else if(Vjc(ODc,a)){b=new mbc(this.u);ibc(b,$C(VC(ER,1),qAc,20,0,[ddc(this.u,Z7b(this.j)?ndc(this.u,(Xcc(),Tcc)):this.j),ddc(this.u,ndc(this.u,(Xcc(),Acc)))]));m9b(this,a,abc(fbc(ebc(dbc(new hbc(this.u),b.b),this.a.b),this.v.d)),this.g)}}return o9b(this,a)};_.Hi=function Rac(a){return Eac(this,a)};_.xi=function Sac(){return hgc(this.v)>0||Y7b(this.j)||Y7b(this.a)};_.Zh=function(){return this.xi()};
_.Oi=function Tac(){return!!this.f||!this.s};_.zd=function Uac(){var a;a=Nzc(this.e);switch(this.e.f){case 1:return 31*a+tzc(this);case 2:return 31*a+Tzc(this.Gi());case 0:a=31*a+this.j.zd();a=31*a+V8b(this.a);return a;default:throw RU(new Thc);}};_.Pi=function Vac(){return this.e==(qbc(),nbc)};_.ji=function Wac(a){return this.ki(a,new Nbc(true),0)};_.ki=function Xac(a,b,c){var d,e;if(A8b(this,a,b,c))return true;if(a.qi()){d=a.qi();if(d.e==(qbc(),obc))return true;if(this.e==obc)return false;return e=
!!b8b(d.j)&&!!b8b(d.j).zi()&&b8b(d.j).zi().e==obc||d.j.ki(this.j,b,0)||this.j.ki(d.j,b,0),e&&W8b(this.a,d.a,b,c)}return X7b(this,(Xcc(),hcc)).ki(a,b,c)};_.qi=function Yac(){return this};_.vi=function Zac(a){var b,c,d,e;if(!this.q||this==ndc(this.u,(Xcc(),gcc)))return _Dc;this.q=false;b=new Jkc;b.a+="function (";e=p2b(this.a.a);c=!ND(this.j,200);if(c){this.Pi()?(b.a+="new:",b):(b.a+="this:",b);Ekc(b,this.j.vi(a))}if(e>0){c&&(b.a+=oAc,b);d=this.a.a.b;s2b(d,30)!=0?xac(this,b,ND(d.k,20)?d.k:null,a):s2b(d,
37)!=0?wac(this,b,ND(d.k,20)?d.k:null,a):Ekc(b,a8b(ND(d.k,20)?d.k:null,a));d=d.d;while(d){b.a+=oAc;s2b(d,30)!=0?xac(this,b,ND(d.k,20)?d.k:null,a):s2b(d,37)!=0?wac(this,b,ND(d.k,20)?d.k:null,a):Ekc(b,a8b(ND(d.k,20)?d.k:null,a));d=d.d}}b.a+="): ";Ekc(b,a8b(this.a.b,a));this.q=true;return b.a};_.wi=function $ac(a){return a.Ug(this)};_.d=false;var uR=xic(72);pV(175,72,JIc,_ac);var qR=xic(175);pV(202,1,{},hbc);_.a=false;_.b=false;_.c=null;_.e=null;_.f=null;_.g=null;var rR=xic(202);pV(293,1,{},mbc);var sR=
xic(293);pV(233,14,{233:1,3:1,23:1,14:1},rbc);var nbc,obc,pbc;var tR=yic(233,nS,sbc);pV(878,158,HIc,tbc);_.Mi=function ubc(a,b,c,d){var e,f;e=Dac(this.a);if(!!e&&!!Pec(e.Ei(),a)&&(f=e.Hi(a),!!f&&!f.b))return false;return $9b(this,a,b,c,d)};_.zi=function vbc(){return this.a};_.Ai=function wbc(){return this.a.b};_.Ni=function xbc(){return Bac(this.a)};_.Bi=function ybc(){return Dac(this.a)};_.Gi=function zbc(){return this.a.Gi()};_.Ii=function Abc(){return this.a.Ii()};_.zd=function Bbc(){var a;return this.a.Ii()?
Tzc(this.a.Gi()):(a=this.a,!!a&&a.e==(qbc(),obc)&&a.d?gpc($C(VC(AS,1),qAc,1,5,[this.k,this.r])):tzc(this))};_.fi=function Cbc(){return this.a.Ii()};_.vi=function Dbc(a){return this.a.Ii()?this.a.Gi():aac(this,a)};var vR=xic(878);pV(732,1,RBc,Ebc);_.He=function Fbc(a,b){return Rjc(a.vi(false),b.vi(false))};_.xd=function Gbc(a){return this===a};var wR=xic(732);pV(446,1,{});_.b=false;var zR=xic(446);pV(82,446,{},Kbc);var xR=xic(82);pV(108,446,{},Nbc);var yR=xic(108);pV(230,14,{230:1,3:1,23:1,14:1},Sbc);
_.a=false;var Obc,Pbc,Qbc;var AR=yic(230,nS,Tbc);pV(30,14,{30:1,3:1,23:1,14:1},Ycc);var Ubc,Vbc,Wbc,Xbc,Ybc,Zbc,$bc,_bc,acc,bcc,ccc,dcc,ecc,fcc,gcc,hcc,icc,jcc,kcc,lcc,mcc,ncc,occ,pcc,qcc,rcc,scc,tcc,ucc,vcc,wcc,xcc,ycc,zcc,Acc,Bcc,Ccc,Dcc,Ecc,Fcc,Gcc,Hcc,Icc,Jcc,Kcc,Lcc,Mcc,Ncc,Occ,Pcc,Qcc,Rcc,Scc,Tcc,Ucc,Vcc,Wcc;var BR=yic(30,nS,Zcc);pV(400,1,jAc,vdc);_.fh=function wdc(a){return this.i[a.f]};_.gh=function xdc(a){return odc(this,a)};var DR=xic(400);pV(779,72,JIc,ydc);_.zi=function zdc(){return ndc(this.u,
(Xcc(),fcc))};var CR=xic(779);pV(860,1,{});_.Rg=function Gdc(){return Fdc(this,(Xcc(),Ubc))};_.Sg=function Hdc(){return Fdc(this,(Xcc(),Zbc))};_.Tg=function Idc(a){return a};_.Ug=function Jdc(a){return Adc(this,a)};_.Vg=function Kdc(){return Fdc(this,(Xcc(),lcc))};_.Wg=function Ldc(a){return a};_.Xg=function Mdc(){return Fdc(this,(Xcc(),occ))};_.Yg=function Ndc(){return Fdc(this,(Xcc(),ucc))};_.Zg=function Odc(a){return Bdc(this,a)};_.$g=function Pdc(a){return Cdc(this,a)};_._g=function Qdc(){return Fdc(this,
(Xcc(),Jcc))};_.ah=function Sdc(a){return this.Qi(a)};_.bh=function Tdc(a){return Ddc(this,a)};_.dh=function Udc(){return Fdc(this,(Xcc(),Tcc))};_.eh=function Vdc(){return Fdc(this,(Xcc(),Wcc))};_.Qi=function Rdc(a){return a};_.g=false;var FR=xic(860);pV(552,72,JIc,Wdc);_.Mi=function Xdc(a,b,c,d){return true};_.zi=function Ydc(){return null};_.Bi=function Zdc(){return null};_.Gi=function $dc(){return null};_.Ii=function _dc(){return false};_.zd=function aec(){return tzc(this)};_.Pi=function bec(){return false};
_.ci=function cec(){return true};_.ji=function dec(a){return this.ki(a,new Nbc(true),0)};_.ki=function eec(a,b,c){return A8b(this,a,b,c)||a.hi()&&!a.ei()&&!a.di()};_.qi=function fec(){return null};_.vi=function gec(a){return a?"?":"NoObject"};_.wi=function hec(a){return a.Vg()};var GR=xic(552);pV(553,552,JIc,iec);_.ci=function jec(){return false};_.ei=function kec(){return true};_.ji=function lec(a){return this.ki(a,null,0)};_.ki=function mec(a,b,c){return true};_.vi=function nec(a){return a?"?":
"None"};_.wi=function oec(a){return a.Wg(this)};var IR=xic(553);pV(869,553,JIc,qec);_.Pi=function rec(){return false};_.di=function sec(){return true};_.ei=function tec(){return false};_.ji=function uec(a){return pec(this,a,new Nbc(true),0)};_.ki=function vec(a,b,c){return pec(this,a,b,c)};_.vi=function wec(a){return a?"?":"NoResolvedType"};var HR=xic(869);pV(864,250,GIc,xec);_.zd=function yec(){return tzc(this)};_.gi=function zec(){return true};_.ni=function Aec(){return ndc(this.u,(Xcc(),ncc))};
_.vi=function Bec(a){return iAc};_.wi=function Cec(a){return a.Xg()};var JR=xic(864);pV(865,250,GIc,Dec);_.zd=function Eec(){return tzc(this)};_.vi=function Fec(a){return Yzc};_.wi=function Gec(a){return a.Yg()};var KR=xic(865);pV(378,1,{378:1,3:1},Iec);_.zd=function Jec(){return gpc($C(VC(AS,1),qAc,1,5,[this.c,this.e]))};_.Ad=function Kec(){return"Property {  name: "+this.c+", type:"+this.e+", inferred: "+this.b+"}"};_.a=null;_.b=false;var NR=xic(378);pV(379,1,jAc,Vec,Wec);_.zd=function Xec(){return iwc(this.b.keySet())};
_.a=null;var Lec;var MR=xic(379);pV(145,56,{62:1,20:1,56:1,145:1,3:1});_.zi=function $ec(){return!this.b?null:this.b.zi()};_.Ai=function _ec(){return!this.b?(Gpc(),Gpc(),Epc):this.b.Ai()};_.Bi=function afc(){return!this.b?null:this.b.Bi()};_.Di=function bfc(){return!this.b?null:this.b.Di()};_.Ei=function cfc(){return!this.b?(Mec(),Mec(),Lec):this.b.Ei()};_.Gi=function dfc(){return!this.b?"":this.b.Gi()};_.Yh=function efc(){return this.c.Yh()};_.xi=function ffc(){return Y7b(this.c)};_.Zh=function(){return this.xi()};
_.Ii=function gfc(){return Hzc(!this.b?null:(Xhc(),this.b.Ii()?true:false))};_.zd=function hfc(){return this.c.zd()};_.$h=function ifc(){return this.c.$h()};_._h=function jfc(){return this.c._h()};_.Ji=function kfc(){return!!this.b&&this.b.Ji()};_.ci=function lfc(){return this.c.ci()};_.di=function mfc(){return this.c.di()};_.ei=function nfc(){return this.c.ei()};_.fi=function ofc(){return this.c.fi()};_.ii=function pfc(){return this.c.ii()};_.ji=function qfc(a){return this.c.ki(a,new Nbc(true),0)};
_.ki=function rfc(a,b,c){return this.c.ki(a,b,c)};_.li=function sfc(){return this.c.li()};_.oi=function tfc(){return this.c.oi()};_.pi=function ufc(){return this.c.pi()};_.qi=function vfc(){return this.c.qi()};_.ri=function wfc(){return this.c.ri()};_.si=function xfc(){return this.c.si()};_.ti=function yfc(){return this.c.ti()};_.ui=function zfc(){return this.c.ui()};_.vi=function Afc(a){return this.c.vi(a)};_.wi=function Bfc(a){return a.$g(this)};var PR=xic(145);pV(881,158,HIc,Ffc);_.Mi=function Gfc(a,
b,c,d){return Cfc(this,a,b,c,d)};_.Bi=function Hfc(){return ndc(this.u,(Xcc(),Acc))};_.ii=function Ifc(){return true};_.ji=function Jfc(a){return Efc(this,a,new Nbc(true),0)};_.ki=function Kfc(a,b,c){return Efc(this,a,b,c)};_.ri=function Lfc(){return this};_.a=false;var SR=xic(881);pV(560,1,{},Ofc);_.a=true;_.b=true;var RR=xic(560);pV(380,1,{380:1},Pfc);var QR=xic(380);pV(866,250,GIc,Qfc);_.zd=function Rfc(){return tzc(this)};_.vi=function Sfc(a){return $zc};_.wi=function Tfc(a){return a._g()};var TR=
xic(866);pV(242,145,{62:1,20:1,56:1,145:1,242:1,3:1},Ufc);_.Gi=function Vfc(){return this.a};_.xi=function Wfc(){return true};_.si=function Xfc(){return this};_.vi=function Yfc(a){return this.a};_.wi=function Zfc(a){return a.ah(this)};var WR=xic(242);pV(470,1,jAc,igc);_.Ad=function kgc(){var a,b,c;c="";b=this.d.size();c+="{ ";for(a=0;a<b;a++){c+="(";c+=this.d.getAtIndex(a);c+=",";c+=a<this.e.size()?this.e.getAtIndex(a):"";c+=",";c+=this.c!=null&&a<this.c.length?this.c[a]:"";c+=") "}c+="}";return c};
_.a=false;var VR=xic(470);pV(480,860,{},mgc);_.Qi=function ngc(a){var b,c,d;if(fgc(this.c,a))if(lgc(this,a))return a;else if(bgc(this.c,a)!=-1){c=dgc(this.c,a);if(c==this.a||(c.ni().ti(),false))return a;xnc(this.d,a);d=c.wi(this);b=Hnc(this.d);zzc(b!=null);se(d!=this.a,"Trying to replace key %s with the same value",this.a);return d}else return this.b?ndc(this.e,(Xcc(),Tcc)):a;else return a};_.a=null;_.b=false;var UR=xic(480);pV(159,14,KIc);var ogc,pgc,qgc;var $R=yic(159,nS,tgc);pV(799,159,KIc,ugc);
_.Ri=function vgc(){return pgc};_.Si=function wgc(a){return false};_.toString=function xgc(){return ACc};var XR=yic(799,$R,null);pV(800,159,KIc,ygc);_.Ri=function zgc(){return ogc};_.Si=function Agc(a){return true};_.toString=function Bgc(){return BCc};var YR=yic(800,$R,null);pV(801,159,KIc,Cgc);_.Ri=function Dgc(){return qgc};_.Si=function Egc(a){return a};_.toString=function Fgc(){return LHc};var ZR=yic(801,$R,null);pV(813,20,GIc,Sgc);_.Xh=function Tgc(a){return Jgc(this,a)};_.xi=function Ugc(){var a,
b;for(b=0;b<this.b.size();b++){a=this.b.getAtIndex(b);if(Y7b(a))return true}return false};_.Zh=function(){return this.xi()};_.zd=function Vgc(){return this.c};_.ai=function Wgc(){var a,b;for(a=0;a<this.b.size();a++){b=this.b.getAtIndex(a);if(b.ai())return true}return false};_.hi=function Xgc(){return Mgc(this)};_.ji=function Ygc(a){return Ngc(this,a,new Nbc(true),0)};_.ki=function Zgc(a,b,c){return Ngc(this,a,b,c)};_.li=function $gc(){return Ogc(this)};_.ni=function _gc(){return Rgc(this)};_.ui=function ahc(){return this};
_.vi=function bhc(a){var b,c,d,e,f,g,h;e=new Ikc;d=true;e.a+="(";f=new Ixc(R7b);_c(f,this.b);for(h=(c=(new mnc(f.a)).a.oe().b.ej(),new snc(c));h.a.Ed();){g=(b=h.a.Fd(),b.xe());d||(e.a+="|",e);Ekc(e,g.vi(a));d=false}e.a+=")";return e.a};_.wi=function chc(a){return a.bh(this)};_.c=0;var aS=xic(813);pV(110,1,{110:1,3:1},jhc,khc);_.b=true;_.c=false;_.d=-1;_.e=false;_.f=false;_.g=0;_.j=null;var _R=xic(110);pV(200,56,{62:1,20:1,56:1,200:1,3:1},lhc);_.zi=function mhc(){return null};_.Bi=function nhc(){return null};
_.Gi=function ohc(){return this.a?"??":"?"};_.zd=function phc(){return tzc(this)};_._h=function qhc(){return this.a};_.ji=function rhc(a){return true};_.ki=function shc(a,b,c){return true};_.li=function thc(){return true};_.vi=function uhc(a){return this.a?"??":"?"};_.wi=function vhc(a){return a.dh()};_.a=false;var bS=xic(200);pV(867,250,GIc,whc);_.zd=function xhc(){return tzc(this)};_.ai=function yhc(){return true};_.mi=function zhc(){return true};_.ni=function Ahc(){return ndc(this.u,(Xcc(),ncc))};
_.vi=function Bhc(a){return hEc};_.wi=function Chc(a){return a.eh()};var dS=xic(867);var Dhc="/";pV(255,1,{387:1});_.Ti=function Khc(){return this.a.length};_.Ui=function Lhc(a,b){return kkc(this.a,a,b)};_.Ad=function Mhc(){return this.a};var fS=xic(255);pV(186,32,{3:1,186:1,41:1,40:1},Nhc);var gS=xic(186);pV(99,32,gBc,Ohc,Phc);var sS=xic(99);pV(730,99,gBc,Qhc);var hS=xic(730);pV(115,40,eBc,Rhc);var oS=xic(115);pV(67,115,eBc,Thc,Uhc);var iS=xic(67);HD={3:1,608:1,23:1};var Vhc,Whc;var jS=xic(608);
pV(152,1,{3:1,152:1,23:1},aic);_.Rd=function bic(a){return this.a-a.a};_.xd=function dic(a){return ND(a,152)&&a.a==this.a};_.zd=function fic(){return this.a};_.Ad=function lic(){return String.fromCharCode(this.a)};_.a=0;var kS=xic(152);var nic;pV(210,1,{3:1,210:1});var Nic;var zS=xic(210);ID={3:1,23:1,609:1,210:1};var mS=xic(609);pV(22,32,{3:1,41:1,22:1,40:1},Wic,Xic);var rS=xic(22);pV(127,210,{3:1,23:1,127:1,210:1},Yic);_.Rd=function $ic(a){return Zic(this.a,a.a)};_.$i=function _ic(){return this.a};
_.xd=function ajc(a){return ND(a,127)&&a.a==this.a};_.zd=function bjc(){return this.a};_._i=function djc(){return this.a};_.Ad=function ijc(){return""+this.a};_.a=0;var tS=xic(127);var ljc;pV(153,210,{3:1,23:1,153:1,210:1},njc);_.Rd=function pjc(a){return ojc(this.a,a.a)};_.$i=function qjc(){return eV(this.a)};_.xd=function rjc(a){return ND(a,153)&&WU(a.a,this.a)};_.zd=function sjc(){return fV(this.a)};_._i=function tjc(){return fV(this.a)};_.Ad=function vjc(){return""+gV(this.a)};_.a=0;var vS=xic(153);
var xjc;pV(880,32,gBc,Bjc);var wS=xic(880);pV(66,204,{3:1,41:1,66:1,40:1},Cjc,Djc,Ejc);_.qf=function Fjc(a){return new $wnd.TypeError(a)};var xS=xic(66);var Gjc,Hjc,Ijc,Jjc;pV(93,37,{3:1,41:1,37:1,93:1,40:1},Ljc);var yS=xic(93);pV(136,1,{3:1,136:1},Mjc);_.xd=function Njc(a){var b;if(ND(a,136)){b=a;return this.c==b.c&&this.d==b.d&&this.a==b.a&&this.b==b.b}return false};_.zd=function Ojc(){return gpc($C(VC(AS,1),qAc,1,5,[kjc(this.c),this.a,this.d,this.b]))};_.Ad=function Pjc(){return this.a+"."+this.d+
"("+(this.b!=null?this.b:"Unknown Source")+(this.c>=0?":"+this.c:"")+")"};_.c=0;var CS=xic(136);pV(24,255,{387:1,24:1},Ikc,Jkc,Kkc,Lkc);var DS=xic(24);pV(306,99,{3:1,41:1,306:1,40:1},Mkc);var ES=xic(306);pV(985,1,{});pV(18,32,{3:1,41:1,40:1,18:1},Okc,Pkc);var HS=xic(18);pV(134,14,{3:1,23:1,14:1,134:1},Zkc);var Qkc,Rkc,Skc,Tkc,Ukc,Vkc,Wkc,Xkc;var IS=yic(134,nS,$kc);pV(176,1,MIc);_.Rd=function _kc(a){return Sjc(this.a,a.a)};_.xd=function alc(a){var b;if(a===this)return true;if(!ND(a,176))return false;
b=a;return Vjc(this.a,b.a)};_.zd=function clc(){return Tzc(this.a)};_.Ad=function dlc(){return this.a};var JS=xic(176);pV(566,37,yFc,elc);var KS=xic(566);var flc;pV(565,37,yFc,hlc);var LS=xic(565);pV(6,1,{},klc);var MS=xic(6);pV(181,913,BAc);_.clear=function Alc(){wlc(this)};_.containsKey=function Blc(a){return mlc(this,a)};_.containsValue=function Clc(a){return nlc(this,a)};_.oe=function Dlc(){return new Jlc(this)};_.pe=function Elc(a){return plc(this,a)};_.put=function Flc(a,b){return slc(this,
a,b)};_.remove=function Glc(a){return ulc(this,a)};_.size=function Hlc(){return xlc(this)};var QS=xic(181);pV(84,915,CAc,Jlc);_.clear=function Klc(){this.a.clear()};_.contains=function Llc(a){return Ilc(this,a)};_.Md=function Mlc(){return new Rlc(this.a)};_.remove=function Nlc(a){var b;if(Ilc(this,a)){b=a.xe();this.a.remove(b);return true}return false};_.size=function Olc(){return this.a.size()};var PS=xic(84);pV(104,1,lAc,Rlc);_.Fd=function Tlc(){return Qlc(this)};_.Ed=function Slc(){return this.b};
_.Gd=function Ulc(){Fzc(!!this.c);Dsc(this.e,this);this.c.Gd();this.c=null;this.b=Plc(this);Esc(this.e,this)};_.b=false;var OS=xic(104);pV(150,1,lAc,Ylc);_.Ed=function Zlc(){return Vlc(this)};_.Fd=function $lc(){return Wlc(this)};_.Gd=function _lc(){Xlc(this)};_.b=0;_.c=-1;var RS=xic(150);pV(305,150,FAc,bmc);_.Gd=function fmc(){Xlc(this)};_.Sd=function cmc(a){this.a.addAtIndex(this.b,a);++this.b;this.c=-1};_.Td=function dmc(){return this.b>0};_.Ud=function emc(){return amc(this)};_.Vd=function gmc(a){Fzc(this.c!=
-1);this.a.setAtIndex(this.c,a)};var SS=xic(305);pV(411,916,rAc,hmc);_.addAtIndex=function imc(a,b){Dzc(a,this.b);this.c.addAtIndex(this.a+a,b);++this.b};_.getAtIndex=function jmc(a){Azc(a,this.b);return this.c.getAtIndex(this.a+a)};_.removeAtIndex=function kmc(a){var b;Azc(a,this.b);b=this.c.removeAtIndex(this.a+a);--this.b;return b};_.setAtIndex=function lmc(a,b){Azc(a,this.b);return this.c.setAtIndex(this.a+a,b)};_.size=function mmc(){return this.b};_.a=0;_.b=0;var TS=xic(411);pV(38,915,CAc,nmc);
_.clear=function omc(){this.a.clear()};_.contains=function pmc(a){return this.a.containsKey(a)};_.Md=function qmc(){var a;return a=this.a.oe().Md(),new tmc(a)};_.remove=function rmc(a){if(this.a.containsKey(a)){this.a.remove(a);return true}return false};_.size=function smc(){return this.a.size()};var WS=xic(38);pV(52,1,lAc,tmc);_.Ed=function umc(){return this.a.Ed()};_.Fd=function vmc(){var a;return a=this.a.Fd(),a.xe()};_.Gd=function wmc(){this.a.Gd()};var VS=xic(52);pV(151,914,pAc,xmc);_.clear=
function ymc(){this.a.clear()};_.contains=function zmc(a){return this.a.containsValue(a)};_.Md=function Amc(){var a;return a=this.a.oe().Md(),new Cmc(a)};_.size=function Bmc(){return this.a.size()};var YS=xic(151);pV(182,1,lAc,Cmc);_.Ed=function Dmc(){return this.a.Ed()};_.Fd=function Emc(){var a;return a=this.a.Fd(),a.ye()};_.Gd=function Fmc(){this.a.Gd()};var XS=xic(182);pV(216,1,{216:1,58:1});_.xd=function Hmc(a){var b;if(!ND(a,58))return false;b=a;return hwc(this.d,b.xe())&&hwc(this.e,b.ye())};
_.xe=function Imc(){return this.d};_.ye=function Jmc(){return this.e};_.zd=function Kmc(){return iwc(this.d)^iwc(this.e)};_.ze=function Lmc(a){return Gmc(this,a)};_.Ad=function Mmc(){return this.d+"="+this.e};var ZS=xic(216);pV(166,216,{216:1,166:1,58:1},Nmc);var $S=xic(166);pV(925,1,PAc);_.xd=function Omc(a){var b;if(!ND(a,58))return false;b=a;return hwc(this.xe(),b.xe())&&hwc(this.ye(),b.ye())};_.zd=function Pmc(){return iwc(this.xe())^iwc(this.ye())};_.Ad=function Qmc(){return this.xe()+"="+this.ye()};
var _S=xic(925);pV(929,913,BAc);_.ne=function Tmc(a){return Rmc(this,a)};_.containsKey=function Umc(a){return Smc(this,a)};_.dj=function Vmc(){return new Zmc(this)};_.oe=function Wmc(){return new hnc(this)};_.pe=function Xmc(a){var b;return b=a,ih(this.fj(b))};_.keySet=function Ymc(){return new mnc(this)};var fT=xic(929);pV(672,929,BAc,Zmc);_.clear=function $mc(){this.a.clear()};_.cj=function _mc(){return this.a.ej()};_.dj=function anc(){return this.a};_.ej=function bnc(){return this.a.cj()};_.fj=
function cnc(a){return this.a.fj(a)};_.put=function dnc(a,b){return this.a.put(a,b)};_.remove=function enc(a){return this.a.remove(a)};_.gj=function fnc(a){return this.a.gj(a)};_.size=function gnc(){return this.a.size()};var bT=xic(672);pV(272,915,CAc,hnc);_.contains=function inc(a){return ND(a,58)&&Rmc(this.b,a)};_.Md=function jnc(){return this.b.ej()};_.remove=function knc(a){var b;if(ND(a,58)){b=a;return this.b.gj(b)}return false};_.size=function lnc(){return this.b.size()};var cT=xic(272);pV(87,
915,HAc,mnc);_.clear=function nnc(){this.a.clear()};_.contains=function onc(a){return Smc(this.a,a)};_.Md=function pnc(){var a;return a=this.a.oe().b.ej(),new snc(a)};_.remove=function qnc(a){if(Smc(this.a,a)){this.a.remove(a);return true}return false};_.size=function rnc(){return this.a.size()};var eT=xic(87);pV(88,1,lAc,snc);_.Ed=function tnc(){return this.a.Ed()};_.Fd=function unc(){var a;return a=this.a.Fd(),a.xe()};_.Gd=function vnc(){this.a.Gd()};var dT=xic(88);pV(90,914,pAc,Pnc,Qnc,Rnc);_.add=
function Snc(a){return ync(this,a),true};_.clear=function Unc(){if(this.b==this.c)return;this.a=XC(AS,qAc,1,8,5,1);this.b=0;this.c=0};_.contains=function Vnc(a){return znc(new boc(this),a)};_.isEmpty=function Wnc(){return Dnc(this)};_.Md=function Xnc(){return new boc(this)};_.remove=function Ync(a){return Jnc(new boc(this),a)};_.size=function Znc(){return Onc(this)};_.Nd=function $nc(a){var b,c;c=this.c-this.b&this.a.length-1;a.length<c&&(a=(b=new Array(c),_C(b,a)));Anc(this,a,c);a.length>c&&(a[c]=
null);return a};_.b=0;_.c=0;var jT=xic(90);pV(236,1,lAc,boc);_.Ed=function coc(){return this.a!=this.b};_.Fd=function doc(){return _nc(this)};_.Gd=function eoc(){aoc(this)};_.a=0;_.b=0;_.c=-1;var iT=xic(236);pV(21,916,{3:1,16:1,21:1,19:1,48:1,76:1},soc,toc,uoc);_.addAtIndex=function voc(a,b){goc(this,a,b)};_.add=function woc(a){return hoc(this,a)};_.addAllAtIndex=function xoc(a,b){return ioc(this,a,b)};_.addAll=function yoc(a){return joc(this,a)};_.clear=function zoc(){this.a=XC(AS,qAc,1,0,5,1)};
_.contains=function Aoc(a){return loc(this,a,0)!=-1};_.getAtIndex=function Boc(a){return koc(this,a)};_.indexOf=function Coc(a){return loc(this,a,0)};_.isEmpty=function Doc(){return this.a.length==0};_.Md=function Eoc(){return new Poc(this)};_.lastIndexOf=function Foc(a){return moc(this,a,this.a.length-1)};_.removeAtIndex=function Goc(a){return noc(this,a)};_.remove=function Hoc(a){return ooc(this,a)};_.Qd=function Ioc(a,b){var c;Ezc(a,b,this.a.length);c=b-a;czc(this.a,a,c)};_.setAtIndex=function Joc(a,
b){return poc(this,a,b)};_.size=function Koc(){return this.a.length};_.toArray=function Loc(){return Zyc(this.a,this.a.length)};_.Nd=function Moc(a){return roc(this,a)};var lT=xic(21);pV(25,1,lAc,Poc);_.Ed=function Qoc(){return this.a<this.c.a.length};_.Fd=function Roc(){return Noc(this)};_.Gd=function Soc(){Ooc(this)};_.a=0;_.b=-1;var kT=xic(25);pV(163,916,OIc,xpc);_.contains=function ypc(a){return ud(this,a)!=-1};_.getAtIndex=function zpc(a){return Azc(a,this.a.length),this.a[a]};_.setAtIndex=function Apc(a,
b){var c;c=(Azc(a,this.a.length),this.a[a]);this.a[a]=b;return c};_.size=function Bpc(){return this.a.length};_.toArray=function Cpc(){return wpc(this,XC(AS,qAc,1,this.a.length,5,1))};_.Nd=function Dpc(a){return wpc(this,a)};var mT=xic(163);var Epc,Fpc;pV(617,916,OIc,Ppc);_.contains=function Qpc(a){return false};_.getAtIndex=function Rpc(a){Azc(a,0);return null};_.Md=function Spc(){return Gpc(),Wpc(),Vpc};_.Od=function Tpc(){return Gpc(),Wpc(),Vpc};_.size=function Upc(){return 0};var oT=xic(617);
pV(618,1,FAc,Ypc);_.Sd=function Zpc(a){throw RU(new Okc);};_.Ed=function $pc(){return false};_.Td=function _pc(){return false};_.Fd=function aqc(){return Xpc()};_.Ud=function bqc(){throw RU(new gwc);};_.Gd=function cqc(){throw RU(new Wic);};_.Vd=function dqc(a){throw RU(new Wic);};var Vpc;var nT=xic(618);pV(619,915,PIc,eqc);_.contains=function fqc(a){return false};_.Md=function gqc(){return Gpc(),Wpc(),Vpc};_.size=function hqc(){return 0};var pT=xic(619);pV(620,915,PIc,lqc);_.add=function mqc(a){return iqc(this,
a)};_.clear=function nqc(){wlc(this.a)};_.contains=function oqc(a){return jqc(this,a)};_.xd=function pqc(a){return a===this||(!this.b&&(this.b=new nmc(this.a)),Nh(this.b,a))};_.zd=function qqc(){return!this.b&&(this.b=new nmc(this.a)),Ipc(this.b)};_.Md=function rqc(){var a;return!this.b&&(this.b=new nmc(this.a)),a=this.b.a.oe().Md(),new tmc(a)};_.remove=function sqc(a){return kqc(this,a)};_.size=function tqc(){return!this.b&&(this.b=new nmc(this.a)),this.b.a.size()};_.Ad=function uqc(){return!this.b&&
(this.b=new nmc(this.a)),fd(this.b)};var qT=xic(620);pV(621,916,QIc,vqc);_.contains=function wqc(a){return hwc(this.a,a)};_.getAtIndex=function xqc(a){Azc(a,1);return this.a};_.size=function yqc(){return 1};var rT=xic(621);pV(217,1,pAc,Iqc);_.add=function Jqc(a){return zqc()};_.addAll=function Kqc(a){return Aqc()};_.clear=function Lqc(){Bqc()};_.contains=function Mqc(a){return Cqc(this,a)};_.containsAll=function Nqc(a){return Dqc(this,a)};_.isEmpty=function Oqc(){return this.b.isEmpty()};_.Md=function Pqc(){return new Yqc(this.b.Md())};
_.remove=function Qqc(a){return Eqc()};_.removeAll=function Rqc(a){return Fqc()};_.retainAll=function Sqc(a){return Gqc()};_.size=function Tqc(){return this.b.size()};_.toArray=function Uqc(){return this.b.toArray()};_.Nd=function Vqc(a){return Hqc(this,a)};_.Ad=function Wqc(){return tV(this.b)};var tT=xic(217);pV(77,1,lAc,Yqc);_.Ed=function Zqc(){return this.b.Ed()};_.Fd=function $qc(){return this.b.Fd()};_.Gd=function _qc(){Xqc()};var sT=xic(77);pV(260,217,rAc,brc);_.addAtIndex=function crc(a,b){throw RU(new Okc);
};_.addAllAtIndex=function drc(a,b){throw RU(new Okc);};_.xd=function erc(a){return nb(this.a,a)};_.getAtIndex=function frc(a){return this.a.getAtIndex(a)};_.zd=function grc(){return rb(this.a)};_.indexOf=function hrc(a){return this.a.indexOf(a)};_.isEmpty=function irc(){return this.a.isEmpty()};_.lastIndexOf=function jrc(a){return this.a.lastIndexOf(a)};_.Od=function krc(){return new prc(this.a.Pd(0))};_.Pd=function lrc(a){return new prc(this.a.Pd(a))};_.removeAtIndex=function mrc(a){throw RU(new Okc);
};_.setAtIndex=function nrc(a,b){throw RU(new Okc);};_.subList=function orc(a,b){return arc(this,a,b)};var vT=xic(260);pV(410,77,FAc,prc);_.Gd=function urc(){Xqc()};_.Sd=function qrc(a){throw RU(new Okc);};_.Td=function rrc(){return this.a.Td()};_.Ud=function trc(){return this.a.Ud()};_.Vd=function vrc(a){throw RU(new Okc);};var uT=xic(410);pV(209,1,BAc,Crc);_.getOrDefault=function Jrc(a,b){var c;return c=this.d.pe(a),c==null&&!this.d.containsKey(a)?b:c};_.putIfAbsent=function Prc(a,b){var c;return c=
this.d.pe(a),c!=null?c:Arc()};_.replace=function Rrc(a,b){return this.d.containsKey(a)?Arc():null};_.clear=function Drc(){throw RU(new Okc);};_.containsKey=function Erc(a){return this.d.containsKey(a)};_.containsValue=function Frc(a){return wrc(this,a)};_.oe=function Grc(){return xrc(this)};_.xd=function Hrc(a){return yrc(this,a)};_.pe=function Irc(a){return this.d.pe(a)};_.zd=function Krc(){return rb(this.d)};_.isEmpty=function Lrc(){return this.d.isEmpty()};_.keySet=function Mrc(){return zrc(this)};
_.put=function Nrc(a,b){return Arc()};_.putAll=function Orc(a){throw RU(new Okc);};_.remove=function Qrc(a){throw RU(new Okc);};_.size=function Src(){return this.d.size()};_.Ad=function Trc(){return tV(this.d)};_.values=function Urc(){return Brc(this)};var zT=xic(209);pV(183,217,CAc,Vrc);_.xd=function Wrc(a){return nb(this.b,a)};_.zd=function Xrc(){return rb(this.b)};var BT=xic(183);pV(622,183,CAc,_rc);_.contains=function asc(a){return Yrc(this,a)};_.containsAll=function bsc(a){return this.b.containsAll(a)};
_.Md=function csc(){var a;a=this.b.Md();return new fsc(a)};_.toArray=function dsc(){var a;a=this.b.toArray();$rc(a,a.length);return a};_.Nd=function esc(a){return Zrc(this,a)};var yT=xic(622);pV(623,1,lAc,fsc);_.Fd=function hsc(){return new jsc(this.a.Fd())};_.Ed=function gsc(){return this.a.Ed()};_.Gd=function isc(){throw RU(new Okc);};var wT=xic(623);pV(408,1,PAc,jsc);_.xd=function ksc(a){return this.a.xd(a)};_.xe=function lsc(){return this.a.xe()};_.ye=function msc(){return this.a.ye()};_.zd=function nsc(){return this.a.zd()};
_.ze=function osc(a){throw RU(new Okc);};_.Ad=function psc(){return tV(this.a)};var xT=xic(408);pV(261,260,EAc,qsc);var AT=xic(261);pV(409,209,BAc,rsc);_.xd=function ssc(a){return Yg(this.a,a)};_.zd=function tsc(){return Ipc(new $wc(this.a))};var CT=xic(409);pV(262,183,GAc,usc);_.xd=function vsc(a){return nb(this.a,a)};_.zd=function wsc(){return rb(this.a)};var DT=xic(262);var xsc;pV(684,1,yDc,Asc);_.He=function Bsc(a,b){return Bzc(a),$hc(a,(Bzc(b),b))};_.xd=function Csc(a){return this===a};var ET=
xic(684);pV(171,32,gBc,Gsc);var FT=xic(171);pV(278,1,{3:1,23:1,278:1},Hsc);_.Rd=function Isc(a){return ojc(XU(this.a.getTime()),XU(a.a.getTime()))};_.xd=function Jsc(a){return ND(a,278)&&WU(XU(this.a.getTime()),XU(a.a.getTime()))};_.zd=function Ksc(){var a;a=XU(this.a.getTime());return fV(hV(a,bV(a,32)))};_.Ad=function Msc(){var a,b,c;c=-this.a.getTimezoneOffset();a=(c>=0?"+":"")+(c/60|0);b=(c<0?-c:c)%60<10?"0"+(c<0?-c:c)%60:""+(c<0?-c:c)%60;return(Psc(),Nsc)[this.a.getDay()]+" "+Osc[this.a.getMonth()]+
" "+Lsc(this.a.getDate())+" "+Lsc(this.a.getHours())+":"+Lsc(this.a.getMinutes())+":"+Lsc(this.a.getSeconds())+" GMT"+a+b+" "+this.a.getFullYear()};var GT=xic(278);var Nsc,Osc;pV(228,913,{228:1,49:1},Ysc,Zsc,$sc);_.put=function etc(a,b){return Vsc(this,a,b)};_.clear=function _sc(){Qsc(this)};_.containsKey=function atc(a){return Rsc(this,a)};_.containsValue=function btc(a){return Ssc(this,a)};_.oe=function ctc(){return new itc(this)};_.pe=function dtc(a){return Tsc(this,a)};_.remove=function ftc(a){return Wsc(this,
a)};_.size=function gtc(){return this.a.c};var KT=xic(228);pV(229,915,CAc,itc);_.clear=function jtc(){Qsc(this.a)};_.contains=function ktc(a){return htc(this,a)};_.Md=function ltc(){return new otc(this.a)};_.remove=function mtc(a){var b;if(htc(this,a)){b=a.xe();Wsc(this.a,b);return true}return false};_.size=function ntc(){return this.a.a.c};var IT=xic(229);pV(334,1,lAc,otc);_.Fd=function qtc(){return this.b=Ltc(this.a),new stc(this.c,this.b)};_.Ed=function ptc(){return Ktc(this.a)};_.Gd=function rtc(){Fzc(!!this.b);
Wsc(this.c,this.b);this.b=null};var HT=xic(334);pV(335,925,PAc,stc);_.xe=function ttc(){return this.a};_.ye=function utc(){return this.b.b[this.a.f]};_.ze=function vtc(a){return Xsc(this.b,this.a.f,a)};var JT=xic(335);pV(930,915,CAc);var NT=xic(930);pV(322,930,CAc,Dtc);_.add=function Etc(a){return xtc(this,a)};_.contains=function Ftc(a){return ztc(this,a)};_.Md=function Gtc(){return new Mtc(this)};_.remove=function Htc(a){return Btc(this,a)};_.size=function Itc(){return this.c};_.c=0;var MT=xic(322);
pV(275,1,lAc,Mtc);_.Fd=function Otc(){return Ltc(this)};_.Ed=function Ntc(){return Ktc(this)};_.Gd=function Ptc(){Fzc(this.b!=-1);this.c.b[this.b]=null;--this.c.c;this.b=-1};_.a=-1;_.b=-1;var LT=xic(275);pV(34,181,RIc,Qtc,Rtc,Stc);_.aj=function Ttc(a,b){return TD(a)===TD(b)||a!=null&&nb(a,b)};_.bj=function Utc(a){var b;b=rb(a);return b|0};var OT=xic(34);pV(36,915,PIc,Ytc,Ztc,$tc);_.add=function auc(a){return Vtc(this,a)};_.clear=function buc(){this.a.clear()};_.contains=function cuc(a){return Wtc(this,
a)};_.isEmpty=function duc(){return this.a.size()==0};_.Md=function euc(){var a;return a=(new nmc(this.a)).a.oe().Md(),new tmc(a)};_.remove=function fuc(a){return Xtc(this,a)};_.size=function guc(){return this.a.size()};var PT=xic(36);pV(156,181,{3:1,156:1,49:1},huc);_.xd=function iuc(a){var b,c,d,e,f;if(a===this)return true;if(!ND(a,49))return false;e=a;if(this.d.c+this.e.c!=e.size())return false;for(c=e.oe().Md();c.Ed();){b=c.Fd();d=b.xe();f=b.ye();if(!(SD(d)?rlc(this,d):!!ouc(this.d,d)))return false;
if(TD(f)!==TD(SD(d)?qlc(this,d):ih(ouc(this.d,d))))return false}return true};_.aj=function juc(a,b){return TD(a)===TD(b)};_.bj=function kuc(a){return Nzc(a)};_.zd=function luc(){var a,b,c;c=0;for(b=new Rlc((new Jlc(this)).a);b.b;){a=Qlc(b);c+=tzc(a.xe());c+=tzc(a.ye())}return c};var QT=xic(156);pV(646,1,xAc,ruc);_.Md=function suc(){return new tuc(this)};_.c=0;var ST=xic(646);pV(421,1,lAc,tuc);_.Fd=function vuc(){return this.d=this.a[this.c++],this.d};_.Ed=function uuc(){var a;if(this.c<this.a.length)return true;
a=this.b.next();if(!a.done){this.a=a.value[1];this.c=0;return true}return false};_.Gd=function wuc(){quc(this.e,this.d.xe());this.c!=0&&--this.c};_.c=0;_.d=null;var RT=xic(421);var xuc;pV(644,1,xAc,Huc);_.Md=function Iuc(){return new Juc(this)};_.c=0;_.d=0;var VT=xic(644);pV(420,1,lAc,Juc);_.Fd=function Luc(){return this.c=this.a,this.a=this.b.next(),new Nuc(this.d,this.c,this.d.d)};_.Ed=function Kuc(){return!this.a.done};_.Gd=function Muc(){Guc(this.d,this.c.value[0])};var TT=xic(420);pV(645,925,
PAc,Nuc);_.xe=function Ouc(){return this.b.value[0]};_.ye=function Puc(){if(this.a.d!=this.c)return Euc(this.a,this.b.value[0]);return this.b.value[1]};_.ze=function Quc(a){return Fuc(this.a,this.b.value[0],a)};_.c=0;var UT=xic(645);pV(33,34,RIc,Yuc,Zuc,$uc);_.clear=function _uc(){Suc(this)};_.containsKey=function avc(a){return Tuc(this,a)};_.containsValue=function bvc(a){var b;b=this.b.a;while(b!=this.b){if(hwc(b.e,a))return true;b=b.a}return false};_.oe=function cvc(){return new nvc(this)};_.pe=
function dvc(a){return Uuc(this,a)};_.put=function evc(a,b){return Vuc(this,a,b)};_.remove=function fvc(a){return Xuc(this,a)};_.size=function gvc(){return xlc(this.c)};_.a=false;var $T=xic(33);pV(259,166,{216:1,166:1,259:1,58:1},jvc,kvc);var XT=xic(259);pV(89,915,CAc,nvc);_.clear=function ovc(){Suc(this.a)};_.contains=function pvc(a){return lvc(this,a)};_.Md=function qvc(){return new wvc(this)};_.remove=function rvc(a){return mvc(this,a)};_.size=function svc(){return xlc(this.a.c)};var ZT=xic(89);
pV(98,1,lAc,wvc);_.Fd=function yvc(){return uvc(this)};_.Ed=function xvc(){return tvc(this)};_.Gd=function zvc(){vvc(this)};var YT=xic(98);pV(61,36,PIc,Avc,Bvc,Cvc);var _T=xic(61);pV(463,924,QIc,Lvc);_.add=function Mvc(a){return Dvc(this,a)};_.clear=function Nvc(){Kvc(this)};_.Pd=function Ovc(a){return Gvc(this,a)};_.size=function Pvc(){return this.b};_.b=0;var cU=xic(463);pV(792,1,FAc,Rvc);_.Sd=function Svc(a){Fvc(this.d,a,this.b.b,this.b);++this.a;this.c=null};_.Ed=function Tvc(){return this.b!=
this.d.c};_.Td=function Uvc(){return this.b.b!=this.d.a};_.Fd=function Vvc(){return Qvc(this)};_.Ud=function Wvc(){zzc(this.b.b!=this.d.a);this.c=this.b=this.b.b;--this.a;return this.c.c};_.Gd=function Xvc(){var a;Fzc(!!this.c);a=this.c.a;Jvc(this.d,this.c);this.b==this.c?this.b=a:--this.a;this.c=null};_.Vd=function Yvc(a){Fzc(!!this.c);this.c.c=a};_.a=0;_.c=null;var aU=xic(792);pV(347,1,{},Zvc);var bU=xic(347);pV(894,1,{});var $vc,_vc;var fU=xic(894);pV(567,894,{},bwc);_.Ad=function cwc(){return"en_US"};
var dU=xic(567);pV(568,894,{},dwc);_.Ad=function ewc(){return LHc};var eU=xic(568);pV(343,32,{3:1,41:1,40:1,343:1},fwc);var hU=xic(343);pV(64,32,{3:1,41:1,40:1,64:1},gwc);var iU=xic(64);pV(453,1,{453:1},mwc);var jwc;var jU=xic(453);pV(118,1,{},pwc);_.Ad=function qwc(){return!this.a?this.c:this.e.length==0?this.a.a:this.a.a+(""+this.e)};var kU=xic(118);pV(129,929,RIc,Fwc,Gwc);_.clear=function Hwc(){rwc(this)};_.cj=function Iwc(){return new Qwc(this)};_.ej=function Jwc(){return new Vwc(this)};_.oe=
function Kwc(){return new $wc(this)};_.fj=function Lwc(a){return swc(this,a)};_.put=function Mwc(a,b){return ywc(this,a,b)};_.remove=function Nwc(a){return zwc(this,a)};_.gj=function Owc(a){return Awc(this,a)};_.size=function Pwc(){return this.c};_.c=0;var vU=xic(129);pV(317,1,lAc,Qwc,Rwc);_.Fd=function Twc(){return this.b=amc(this.a)};_.Ed=function Swc(){return this.a.b>0};_.Gd=function Uwc(){Xlc(this.a);Awc(this.c,this.b);this.b=null};var lU=xic(317);pV(271,1,lAc,Vwc,Wwc);_.Fd=function Ywc(){return this.b=
Wlc(this.a)};_.Ed=function Xwc(){return Vlc(this.a)};_.Gd=function Zwc(){Xlc(this.a);Awc(this.c,this.b);this.b=null};var mU=xic(271);pV(273,272,CAc,$wc);_.clear=function _wc(){rwc(this.a)};var nU=xic(273);pV(188,166,{216:1,166:1,58:1,188:1},axc);_.b=false;var oU=xic(188);pV(318,1,{},bxc);_.Ad=function cxc(){return"State: mv="+this.c+" value="+this.d+" done="+this.a+" found="+this.b};_.a=false;_.b=false;_.c=false;var pU=xic(318);pV(668,929,BAc,fxc);_.cj=function gxc(){return new Rwc(this.c,this.f,
this.b,this.a,this.e,this.d)};_.ej=function hxc(){return new Wwc(this.c,this.f,this.b,this.a,this.e,this.d)};_.oe=function ixc(){return new hnc(this)};_.fj=function jxc(a){return dxc(this,swc(this.c,a))};_.put=function kxc(a,b){if(!vwc(this.c,this.f,a,this.b,this.a,this.e,this.d))throw RU(new dfb(a+" outside the range "+this.b+" to "+this.e));return ywc(this.c,a,b)};_.remove=function lxc(a){var b;b=a;if(!vwc(this.c,this.f,b,this.b,this.a,this.e,this.d))return null;return zwc(this.c,b)};_.gj=function mxc(a){return exc(this,
a.xe())&&Awc(this.c,a)};_.size=function nxc(){var a,b,c;this.a?b=twc(this.c,this.b,true):b=twc(this.c,this.b,false);if(!(!!b&&exc(this,b.d)?b:null))return 0;a=0;for(c=new Wwc(this.c,this.f,this.b,this.a,this.e,this.d);Vlc(c.a);c.b=Wlc(c.a))++a;return a};_.a=false;_.d=false;var uU=xic(668);pV(142,14,SIc,txc);_.hj=function uxc(){return false};_.ij=function vxc(){return false};var oxc,pxc,qxc,rxc;var tU=yic(142,nS,wxc);pV(669,142,SIc,xxc);_.ij=function yxc(){return true};var qU=yic(669,tU,null);pV(670,
142,SIc,zxc);_.hj=function Axc(){return true};_.ij=function Bxc(){return true};var rU=yic(670,tU,null);pV(671,142,SIc,Cxc);_.hj=function Dxc(){return true};var sU=yic(671,tU,null);pV(96,915,{3:1,16:1,19:1,203:1,31:1,122:1},Gxc,Hxc,Ixc,Jxc);_.add=function Kxc(a){return Exc(this,a)};_.clear=function Lxc(){this.a.clear()};_.contains=function Mxc(a){return Smc(this.a,a)};_.Md=function Nxc(){var a;return a=(new mnc(this.a)).a.oe().b.ej(),new snc(a)};_.remove=function Oxc(a){return Fxc(this,a)};_.size=
function Pxc(){return this.a.size()};var wU=xic(96);pV(392,913,BAc,Uxc);_.containsKey=function Vxc(a){return Qxc(this,a)};_.containsValue=function Wxc(a){if(a==null)throw RU(new Cjc);return nlc(this.a,a)};_.oe=function Xxc(){return new Jlc(this.a)};_.pe=function Yxc(a){return Rxc(this,a)};_.put=function Zxc(a,b){return Sxc(this,a,b)};_.putIfAbsent=function $xc(a,b){return Txc(this,a,b)};_.remove=function _xc(a){if(a==null)throw RU(new Cjc);return ulc(this.a,a)};_.replace=function ayc(a,b){if(b==null)throw RU(new Cjc);
else return Qxc(this,a)?Sxc(this,a,b):null};var xU=xic(392);pV(268,1,{268:1});var yU=xic(268);pV(928,1,jAc);_.Ig=function gyc(){return"DUMMY"};_._i=function hyc(){return-1};_.Ad=function iyc(){return this.Ig()};var byc,cyc,dyc,eyc;var DU=xic(928);pV(664,928,jAc,jyc);_.Ig=function kyc(){return"FINE"};_._i=function lyc(){return 500};var zU=xic(664);pV(665,928,jAc,myc);_.Ig=function nyc(){return"INFO"};_._i=function oyc(){return 800};var AU=xic(665);pV(666,928,jAc,pyc);_.Ig=function qyc(){return"SEVERE"};
_._i=function ryc(){return 1E3};var BU=xic(666);pV(667,928,jAc,syc);_.Ig=function tyc(){return zBc};_._i=function uyc(){return 900};var CU=xic(667);pV(653,1,{},yyc);var vyc;var EU=xic(653);pV(716,1,jAc,Ayc);_.c=null;var FU=xic(716);pV(310,1,{310:1},Myc);_.b=null;_.e=false;var GU=xic(310);pV(427,268,{268:1},Pyc);var HU=xic(427);pV(760,1,{},Tyc);_.a=0;_.b=false;var IU=xic(760);pV(440,1,{440:1},Vyc);var JU=xic(440);pV(738,1,{},jzc);var KU=xic(738);pV(406,176,MIc);var lzc,mzc,nzc;var NU=xic(406);pV(407,
406,MIc,qzc);var LU=xic(407);pV(610,406,MIc,szc);var MU=xic(610);var Mzc=0;var Ozc,Pzc=0,Qzc;var WD=Aic("C");var XD=Aic("I");var OU=Aic("Z");var YD=Aic("J");var VD=Aic("B");Vub();_=sV(UFc);_.transpile=Yub;_=sV("com.google.common.base.Platform");_.stringIsNullOrEmpty=Xd;_=sV("com.google.debugging.sourcemap.SourceMapObjectParserJs");_.get=MB;Xhc();_=sV("java.lang.Boolean");_.$isInstance=Yhc;_=sV("java.lang.CharSequence");_.$isInstance=_hc;_=sV("java.lang.Comparable");_.$isInstance=Mic;_=sV("java.lang.Double");
_.$isInstance=Uic;_=sV("java.lang.Number");_.$isInstance=Oic;_=sV("java.lang.String");_.$isInstance=$jc;_=sV("java.lang.Throwable");_.of=_z;var Vzc=(pC(),sC);var gwtOnLoad=gwtOnLoad=lV;jV(vV);mV("permProps",[[[mDc,qCc],[YIc,"gecko1_8"]],[[mDc,qCc],[YIc,"ie10"]],[[mDc,qCc],[YIc,"ie8"]],[[mDc,qCc],[YIc,"ie9"]],[[mDc,qCc],[YIc,"safari"]]]);this["$gwtExport"]=$wnd;$wnd=this;typeof gwtOnLoad==="function"&&gwtOnLoad()})();
