@signalk/freeboard-sk
Version:
Openlayers chart plotter implementation for Signal K
10 lines • 242 kB
JavaScript
var X=Object.create;var L=Object.defineProperty;var K=Object.getOwnPropertyDescriptor;var Z=Object.getOwnPropertyNames;var q=Object.getPrototypeOf,J=Object.prototype.hasOwnProperty;var Q=(t,e)=>()=>(e||t((e={exports:{}}).exports,e),e.exports);var ee=(t,e,o,n)=>{if(e&&typeof e=="object"||typeof e=="function")for(let r of Z(e))!J.call(t,r)&&r!==o&&L(t,r,{get:()=>e[r],enumerable:!(n=K(e,r))||n.enumerable});return t};var te=(t,e,o)=>(o=t!=null?X(q(t)):{},ee(e||!t||!t.__esModule?L(o,"default",{value:t,enumerable:!0}):o,t));var v=Q((exports,module)=>{var COMPILED=!0,goog=goog||{};goog.global=exports||self;goog.exportPath_=function(t,e,o,n){t=t.split("."),n=n||goog.global,t[0]in n||typeof n.execScript>"u"||n.execScript("var "+t[0]);for(var r;t.length&&(r=t.shift());)if(t.length||e===void 0)n=n[r]&&n[r]!==Object.prototype[r]?n[r]:n[r]={};else if(!o&&goog.isObject(e)&&goog.isObject(n[r]))for(var s in e)e.hasOwnProperty(s)&&(n[r][s]=e[s]);else n[r]=e};goog.define=function(t,e){if(!COMPILED){var o=goog.global.CLOSURE_UNCOMPILED_DEFINES,n=goog.global.CLOSURE_DEFINES;o&&o.nodeType===void 0&&Object.prototype.hasOwnProperty.call(o,t)?e=o[t]:n&&n.nodeType===void 0&&Object.prototype.hasOwnProperty.call(n,t)&&(e=n[t])}return e};goog.FEATURESET_YEAR=2012;goog.DEBUG=!0;goog.LOCALE="en";goog.TRUSTED_SITE=!0;goog.DISALLOW_TEST_ONLY_CODE=COMPILED&&!goog.DEBUG;goog.ENABLE_CHROME_APP_SAFE_SCRIPT_LOADING=!1;goog.provide=function(t){if(goog.isInModuleLoader_())throw Error("goog.provide cannot be used within a module.");if(!COMPILED&&goog.isProvided_(t))throw Error('Namespace "'+t+'" already declared.');goog.constructNamespace_(t)};goog.constructNamespace_=function(t,e,o){if(!COMPILED){delete goog.implicitNamespaces_[t];for(var n=t;(n=n.substring(0,n.lastIndexOf(".")))&&!goog.getObjectByName(n);)goog.implicitNamespaces_[n]=!0}goog.exportPath_(t,e,o)};goog.NONCE_PATTERN_=/^[\w+/_-]+[=]{0,2}$/;goog.getScriptNonce_=function(t){return t=(t||goog.global).document,(t=t.querySelector&&t.querySelector("script[nonce]"))&&(t=t.nonce||t.getAttribute("nonce"))&&goog.NONCE_PATTERN_.test(t)?t:""};goog.VALID_MODULE_RE_=/^[a-zA-Z_$][a-zA-Z0-9._$]*$/;goog.module=function(t){if(typeof t!="string"||!t||t.search(goog.VALID_MODULE_RE_)==-1)throw Error("Invalid module identifier");if(!goog.isInGoogModuleLoader_())throw Error("Module "+t+" has been loaded incorrectly. Note, modules cannot be loaded as normal scripts. They require some kind of pre-processing step. You're likely trying to load a module via a script tag or as a part of a concatenated bundle without rewriting the module. For more info see: https://github.com/google/closure-library/wiki/goog.module:-an-ES6-module-like-alternative-to-goog.provide.");if(goog.moduleLoaderState_.moduleName)throw Error("goog.module may only be called once per module.");if(goog.moduleLoaderState_.moduleName=t,!COMPILED){if(goog.isProvided_(t))throw Error('Namespace "'+t+'" already declared.');delete goog.implicitNamespaces_[t]}};goog.module.get=function(t){return goog.module.getInternal_(t)};goog.module.getInternal_=function(t){if(!COMPILED){if(t in goog.loadedModules_)return goog.loadedModules_[t].exports;if(!goog.implicitNamespaces_[t])return t=goog.getObjectByName(t),t??null}return null};goog.ModuleType={ES6:"es6",GOOG:"goog"};goog.moduleLoaderState_=null;goog.isInModuleLoader_=function(){return goog.isInGoogModuleLoader_()||goog.isInEs6ModuleLoader_()};goog.isInGoogModuleLoader_=function(){return!!goog.moduleLoaderState_&&goog.moduleLoaderState_.type==goog.ModuleType.GOOG};goog.isInEs6ModuleLoader_=function(){if(goog.moduleLoaderState_&&goog.moduleLoaderState_.type==goog.ModuleType.ES6)return!0;var t=goog.global.$jscomp;return t?typeof t.getCurrentModulePath!="function"?!1:!!t.getCurrentModulePath():!1};goog.module.declareLegacyNamespace=function(){if(!COMPILED&&!goog.isInGoogModuleLoader_())throw Error("goog.module.declareLegacyNamespace must be called from within a goog.module");if(!COMPILED&&!goog.moduleLoaderState_.moduleName)throw Error("goog.module must be called prior to goog.module.declareLegacyNamespace.");goog.moduleLoaderState_.declareLegacyNamespace=!0};goog.declareModuleId=function(t){if(!COMPILED){if(!goog.isInEs6ModuleLoader_())throw Error("goog.declareModuleId may only be called from within an ES6 module");if(goog.moduleLoaderState_&&goog.moduleLoaderState_.moduleName)throw Error("goog.declareModuleId may only be called once per module.");if(t in goog.loadedModules_)throw Error('Module with namespace "'+t+'" already exists.')}if(goog.moduleLoaderState_)goog.moduleLoaderState_.moduleName=t;else{var e=goog.global.$jscomp;if(!e||typeof e.getCurrentModulePath!="function")throw Error('Module with namespace "'+t+'" has been loaded incorrectly.');e=e.require(e.getCurrentModulePath()),goog.loadedModules_[t]={exports:e,type:goog.ModuleType.ES6,moduleId:t}}};goog.setTestOnly=function(t){if(goog.DISALLOW_TEST_ONLY_CODE)throw t=t||"",Error("Importing test-only code into non-debug environment"+(t?": "+t:"."))};goog.forwardDeclare=function(t){};COMPILED||(goog.isProvided_=function(t){return t in goog.loadedModules_||!goog.implicitNamespaces_[t]&&goog.getObjectByName(t)!=null},goog.implicitNamespaces_={"goog.module":!0});goog.getObjectByName=function(t,e){t=t.split("."),e=e||goog.global;for(var o=0;o<t.length;o++)if(e=e[t[o]],e==null)return null;return e};goog.addDependency=function(t,e,o,n){!COMPILED&&goog.DEPENDENCIES_ENABLED&&goog.debugLoader_.addDependency(t,e,o,n)};goog.ENABLE_DEBUG_LOADER=!1;goog.logToConsole_=function(t){goog.global.console&&goog.global.console.error(t)};goog.require=function(t){if(!COMPILED){if(goog.ENABLE_DEBUG_LOADER&&goog.debugLoader_.requested(t),goog.isProvided_(t)){if(goog.isInModuleLoader_())return goog.module.getInternal_(t)}else if(goog.ENABLE_DEBUG_LOADER){var e=goog.moduleLoaderState_;goog.moduleLoaderState_=null;try{goog.debugLoader_.load_(t)}finally{goog.moduleLoaderState_=e}}return null}};goog.requireType=function(t){return{}};goog.basePath="";goog.abstractMethod=function(){throw Error("unimplemented abstract method")};goog.addSingletonGetter=function(t){t.instance_=void 0,t.getInstance=function(){return t.instance_?t.instance_:(goog.DEBUG&&(goog.instantiatedSingletons_[goog.instantiatedSingletons_.length]=t),t.instance_=new t)}};goog.instantiatedSingletons_=[];goog.LOAD_MODULE_USING_EVAL=!0;goog.SEAL_MODULE_EXPORTS=goog.DEBUG;goog.loadedModules_={};goog.DEPENDENCIES_ENABLED=!COMPILED&&goog.ENABLE_DEBUG_LOADER;goog.TRANSPILE="detect";goog.ASSUME_ES_MODULES_TRANSPILED=!1;goog.TRUSTED_TYPES_POLICY_NAME="goog";goog.hasBadLetScoping=null;goog.loadModule=function(t){var e=goog.moduleLoaderState_;try{goog.moduleLoaderState_={moduleName:"",declareLegacyNamespace:!1,type:goog.ModuleType.GOOG};var o={},n=o;if(typeof t=="function")n=t.call(void 0,n);else if(typeof t=="string")n=goog.loadModuleFromSource_.call(void 0,n,t);else throw Error("Invalid module definition");var r=goog.moduleLoaderState_.moduleName;if(typeof r=="string"&&r)goog.moduleLoaderState_.declareLegacyNamespace?goog.constructNamespace_(r,n,o!==n):goog.SEAL_MODULE_EXPORTS&&Object.seal&&typeof n=="object"&&n!=null&&Object.seal(n),goog.loadedModules_[r]={exports:n,type:goog.ModuleType.GOOG,moduleId:goog.moduleLoaderState_.moduleName};else throw Error('Invalid module name "'+r+'"')}finally{goog.moduleLoaderState_=e}};goog.loadModuleFromSource_=function(a,b){return eval(goog.CLOSURE_EVAL_PREFILTER_.createScript(b)),a};goog.normalizePath_=function(t){t=t.split("/");for(var e=0;e<t.length;)t[e]=="."?t.splice(e,1):e&&t[e]==".."&&t[e-1]&&t[e-1]!=".."?t.splice(--e,2):e++;return t.join("/")};goog.loadFileSync_=function(t){if(goog.global.CLOSURE_LOAD_FILE_SYNC)return goog.global.CLOSURE_LOAD_FILE_SYNC(t);try{var e=new goog.global.XMLHttpRequest;return e.open("get",t,!1),e.send(),e.status==0||e.status==200?e.responseText:null}catch{return null}};goog.typeOf=function(t){var e=typeof t;return e!="object"?e:t?Array.isArray(t)?"array":e:"null"};goog.isArrayLike=function(t){var e=goog.typeOf(t);return e=="array"||e=="object"&&typeof t.length=="number"};goog.isDateLike=function(t){return goog.isObject(t)&&typeof t.getFullYear=="function"};goog.isObject=function(t){var e=typeof t;return e=="object"&&t!=null||e=="function"};goog.getUid=function(t){return Object.prototype.hasOwnProperty.call(t,goog.UID_PROPERTY_)&&t[goog.UID_PROPERTY_]||(t[goog.UID_PROPERTY_]=++goog.uidCounter_)};goog.hasUid=function(t){return!!t[goog.UID_PROPERTY_]};goog.removeUid=function(t){t!==null&&"removeAttribute"in t&&t.removeAttribute(goog.UID_PROPERTY_);try{delete t[goog.UID_PROPERTY_]}catch{}};goog.UID_PROPERTY_="closure_uid_"+(1e9*Math.random()>>>0);goog.uidCounter_=0;goog.cloneObject=function(t){var e=goog.typeOf(t);if(e=="object"||e=="array"){if(typeof t.clone=="function")return t.clone();if(typeof Map<"u"&&t instanceof Map)return new Map(t);if(typeof Set<"u"&&t instanceof Set)return new Set(t);e=e=="array"?[]:{};for(var o in t)e[o]=goog.cloneObject(t[o]);return e}return t};goog.bindNative_=function(t,e,o){return t.call.apply(t.bind,arguments)};goog.bindJs_=function(t,e,o){if(!t)throw Error();if(2<arguments.length){var n=Array.prototype.slice.call(arguments,2);return function(){var r=Array.prototype.slice.call(arguments);return Array.prototype.unshift.apply(r,n),t.apply(e,r)}}return function(){return t.apply(e,arguments)}};goog.bind=function(t,e,o){return Function.prototype.bind&&Function.prototype.bind.toString().indexOf("native code")!=-1?goog.bind=goog.bindNative_:goog.bind=goog.bindJs_,goog.bind.apply(null,arguments)};goog.partial=function(t,e){var o=Array.prototype.slice.call(arguments,1);return function(){var n=o.slice();return n.push.apply(n,arguments),t.apply(this,n)}};goog.now=function(){return Date.now()};goog.globalEval=function(t){(0,eval)(t)};goog.getCssName=function(t,e){if(String(t).charAt(0)==".")throw Error('className passed in goog.getCssName must not start with ".". You passed: '+t);var o=function(r){return goog.cssNameMapping_[r]||r},n=function(r){r=r.split("-");for(var s=[],i=0;i<r.length;i++)s.push(o(r[i]));return s.join("-")};return n=goog.cssNameMapping_?goog.cssNameMappingStyle_=="BY_WHOLE"?o:n:function(r){return r},t=e?t+"-"+n(e):n(t),goog.global.CLOSURE_CSS_NAME_MAP_FN?goog.global.CLOSURE_CSS_NAME_MAP_FN(t):t};goog.setCssNameMapping=function(t,e){goog.cssNameMapping_=t,goog.cssNameMappingStyle_=e};!COMPILED&&goog.global.CLOSURE_CSS_NAME_MAPPING&&(goog.cssNameMapping_=goog.global.CLOSURE_CSS_NAME_MAPPING);goog.GetMsgOptions=function(){};goog.getMsg=function(t,e,o){return o&&o.html&&(t=t.replace(/</g,"<")),o&&o.unescapeHtmlEntities&&(t=t.replace(/</g,"<").replace(/>/g,">").replace(/'/g,"'").replace(/"/g,'"').replace(/&/g,"&")),e&&(t=t.replace(/\{\$([^}]+)}/g,function(n,r){return e!=null&&r in e?e[r]:n})),t};goog.getMsgWithFallback=function(t,e){return t};goog.exportSymbol=function(t,e,o){goog.exportPath_(t,e,!0,o)};goog.exportProperty=function(t,e,o){t[e]=o};goog.inherits=function(t,e){function o(){}o.prototype=e.prototype,t.superClass_=e.prototype,t.prototype=new o,t.prototype.constructor=t,t.base=function(n,r,s){for(var i=Array(arguments.length-2),g=2;g<arguments.length;g++)i[g-2]=arguments[g];return e.prototype[r].apply(n,i)}};goog.scope=function(t){if(goog.isInModuleLoader_())throw Error("goog.scope is not supported within a module.");t.call(goog.global)};COMPILED||(goog.global.COMPILED=COMPILED);goog.defineClass=function(t,e){var o=e.constructor,n=e.statics;return o&&o!=Object.prototype.constructor||(o=function(){throw Error("cannot instantiate an interface (no constructor defined).")}),o=goog.defineClass.createSealingConstructor_(o,t),t&&goog.inherits(o,t),delete e.constructor,delete e.statics,goog.defineClass.applyProperties_(o.prototype,e),n!=null&&(n instanceof Function?n(o):goog.defineClass.applyProperties_(o,n)),o};goog.defineClass.SEAL_CLASS_INSTANCES=goog.DEBUG;goog.defineClass.createSealingConstructor_=function(t,e){return goog.defineClass.SEAL_CLASS_INSTANCES?function(){var o=t.apply(this,arguments)||this;return o[goog.UID_PROPERTY_]=o[goog.UID_PROPERTY_],o}:t};goog.defineClass.OBJECT_PROTOTYPE_FIELDS_="constructor hasOwnProperty isPrototypeOf propertyIsEnumerable toLocaleString toString valueOf".split(" ");goog.defineClass.applyProperties_=function(t,e){for(var o in e)Object.prototype.hasOwnProperty.call(e,o)&&(t[o]=e[o]);for(var n=0;n<goog.defineClass.OBJECT_PROTOTYPE_FIELDS_.length;n++)o=goog.defineClass.OBJECT_PROTOTYPE_FIELDS_[n],Object.prototype.hasOwnProperty.call(e,o)&&(t[o]=e[o])};goog.identity_=function(t){return t};goog.createTrustedTypesPolicy=function(t){var e=null,o=goog.global.trustedTypes;if(!o||!o.createPolicy)return e;try{e=o.createPolicy(t,{createHTML:goog.identity_,createScript:goog.identity_,createScriptURL:goog.identity_})}catch(n){goog.logToConsole_(n.message)}return e};!COMPILED&&goog.DEPENDENCIES_ENABLED&&(goog.isEdge_=function(){return!!(goog.global.navigator&&goog.global.navigator.userAgent?goog.global.navigator.userAgent:"").match(/Edge\/(\d+)(\.\d)*/i)},goog.inHtmlDocument_=function(){var t=goog.global.document;return t!=null&&"write"in t},goog.isDocumentLoading_=function(){var t=goog.global.document;return t.attachEvent?t.readyState!="complete":t.readyState=="loading"},goog.findBasePath_=function(){if(goog.global.CLOSURE_BASE_PATH!=null&&typeof goog.global.CLOSURE_BASE_PATH=="string")goog.basePath=goog.global.CLOSURE_BASE_PATH;else if(goog.inHtmlDocument_()){var t=goog.global.document,e=t.currentScript;for(t=e?[e]:t.getElementsByTagName("SCRIPT"),e=t.length-1;0<=e;--e){var o=t[e].src,n=o.lastIndexOf("?");if(n=n==-1?o.length:n,o.slice(n-7,n)=="base.js"){goog.basePath=o.slice(0,n-7);break}}}},goog.findBasePath_(),goog.protectScriptTag_=function(t){return t.replace(/<\/(SCRIPT)/ig,"\\x3c/$1")},goog.DebugLoader_=function(){this.dependencies_={},this.idToPath_={},this.written_={},this.loadingDeps_=[],this.depsToLoad_=[],this.paused_=!1,this.factory_=new goog.DependencyFactory,this.deferredCallbacks_={},this.deferredQueue_=[]},goog.DebugLoader_.prototype.bootstrap=function(t,e){function o(){n&&(goog.global.setTimeout(n,0),n=null)}var n=e;if(t.length){e=[];for(var r=0;r<t.length;r++){var s=this.getPathFromDeps_(t[r]);if(!s)throw Error("Unregonized namespace: "+t[r]);e.push(this.dependencies_[s])}s=goog.require;var i=0;for(r=0;r<t.length;r++)s(t[r]),e[r].onLoad(function(){++i==t.length&&o()})}else o()},goog.DebugLoader_.prototype.loadClosureDeps=function(){this.depsToLoad_.push(this.factory_.createDependency(goog.normalizePath_(goog.basePath+"deps.js"),"deps.js",[],[],{})),this.loadDeps_()},goog.DebugLoader_.prototype.requested=function(t,e){(t=this.getPathFromDeps_(t))&&(e||this.areDepsLoaded_(this.dependencies_[t].requires))&&(e=this.deferredCallbacks_[t])&&(delete this.deferredCallbacks_[t],e())},goog.DebugLoader_.prototype.setDependencyFactory=function(t){this.factory_=t},goog.DebugLoader_.prototype.load_=function(t){if(this.getPathFromDeps_(t)){var e=this,o=[],n=function(r){var s=e.getPathFromDeps_(r);if(!s)throw Error("Bad dependency path or symbol: "+r);if(!e.written_[s]){for(e.written_[s]=!0,r=e.dependencies_[s],s=0;s<r.requires.length;s++)goog.isProvided_(r.requires[s])||n(r.requires[s]);o.push(r)}};n(t),t=!!this.depsToLoad_.length,this.depsToLoad_=this.depsToLoad_.concat(o),this.paused_||t||this.loadDeps_()}else goog.logToConsole_("goog.require could not find: "+t)},goog.DebugLoader_.prototype.loadDeps_=function(){for(var t=this,e=this.paused_;this.depsToLoad_.length&&!e;)(function(){var o=!1,n=t.depsToLoad_.shift(),r=!1;t.loading_(n);var s={pause:function(){if(o)throw Error("Cannot call pause after the call to load.");e=!0},resume:function(){o?t.resume_():e=!1},loaded:function(){if(r)throw Error("Double call to loaded.");r=!0,t.loaded_(n)},pending:function(){for(var i=[],g=0;g<t.loadingDeps_.length;g++)i.push(t.loadingDeps_[g]);return i},setModuleState:function(i){goog.moduleLoaderState_={type:i,moduleName:"",declareLegacyNamespace:!1}},registerEs6ModuleExports:function(i,g,$){$&&(goog.loadedModules_[$]={exports:g,type:goog.ModuleType.ES6,moduleId:$||""})},registerGoogModuleExports:function(i,g){goog.loadedModules_[i]={exports:g,type:goog.ModuleType.GOOG,moduleId:i}},clearModuleState:function(){goog.moduleLoaderState_=null},defer:function(i){if(o)throw Error("Cannot register with defer after the call to load.");t.defer_(n,i)},areDepsLoaded:function(){return t.areDepsLoaded_(n.requires)}};try{n.load(s)}finally{o=!0}})();e&&this.pause_()},goog.DebugLoader_.prototype.pause_=function(){this.paused_=!0},goog.DebugLoader_.prototype.resume_=function(){this.paused_&&(this.paused_=!1,this.loadDeps_())},goog.DebugLoader_.prototype.loading_=function(t){this.loadingDeps_.push(t)},goog.DebugLoader_.prototype.loaded_=function(t){for(var e=0;e<this.loadingDeps_.length;e++)if(this.loadingDeps_[e]==t){this.loadingDeps_.splice(e,1);break}for(e=0;e<this.deferredQueue_.length;e++)if(this.deferredQueue_[e]==t.path){this.deferredQueue_.splice(e,1);break}if(this.loadingDeps_.length==this.deferredQueue_.length&&!this.depsToLoad_.length)for(;this.deferredQueue_.length;)this.requested(this.deferredQueue_.shift(),!0);t.loaded()},goog.DebugLoader_.prototype.areDepsLoaded_=function(t){for(var e=0;e<t.length;e++){var o=this.getPathFromDeps_(t[e]);if(!o||!(o in this.deferredCallbacks_||goog.isProvided_(t[e])))return!1}return!0},goog.DebugLoader_.prototype.getPathFromDeps_=function(t){return t in this.idToPath_?this.idToPath_[t]:t in this.dependencies_?t:null},goog.DebugLoader_.prototype.defer_=function(t,e){this.deferredCallbacks_[t.path]=e,this.deferredQueue_.push(t.path)},goog.LoadController=function(){},goog.LoadController.prototype.pause=function(){},goog.LoadController.prototype.resume=function(){},goog.LoadController.prototype.loaded=function(){},goog.LoadController.prototype.pending=function(){},goog.LoadController.prototype.registerEs6ModuleExports=function(t,e,o){},goog.LoadController.prototype.setModuleState=function(t){},goog.LoadController.prototype.clearModuleState=function(){},goog.LoadController.prototype.defer=function(t){},goog.LoadController.prototype.areDepsLoaded=function(){},goog.Dependency=function(t,e,o,n,r){this.path=t,this.relativePath=e,this.provides=o,this.requires=n,this.loadFlags=r,this.loaded_=!1,this.loadCallbacks_=[]},goog.Dependency.prototype.getPathName=function(){var t=this.path,e=t.indexOf("://");return 0<=e&&(t=t.substring(e+3),e=t.indexOf("/"),0<=e&&(t=t.substring(e+1))),t},goog.Dependency.prototype.onLoad=function(t){this.loaded_?t():this.loadCallbacks_.push(t)},goog.Dependency.prototype.loaded=function(){this.loaded_=!0;var t=this.loadCallbacks_;this.loadCallbacks_=[];for(var e=0;e<t.length;e++)t[e]()},goog.Dependency.defer_=!1,goog.Dependency.callbackMap_={},goog.Dependency.registerCallback_=function(t){var e=Math.random().toString(32);return goog.Dependency.callbackMap_[e]=t,e},goog.Dependency.unregisterCallback_=function(t){delete goog.Dependency.callbackMap_[t]},goog.Dependency.callback_=function(t,e){if(t in goog.Dependency.callbackMap_){for(var o=goog.Dependency.callbackMap_[t],n=[],r=1;r<arguments.length;r++)n.push(arguments[r]);o.apply(void 0,n)}else throw Error("Callback key "+t+" does not exist (was base.js loaded more than once?).")},goog.Dependency.prototype.load=function(t){if(goog.global.CLOSURE_IMPORT_SCRIPT)goog.global.CLOSURE_IMPORT_SCRIPT(this.path)?t.loaded():t.pause();else if(goog.inHtmlDocument_()){var e=goog.global.document;if(e.readyState=="complete"&&!goog.ENABLE_CHROME_APP_SAFE_SCRIPT_LOADING){if(/\bdeps.js$/.test(this.path)){t.loaded();return}throw Error('Cannot write "'+this.path+'" after document load')}var o=goog.getScriptNonce_();if(!goog.ENABLE_CHROME_APP_SAFE_SCRIPT_LOADING&&goog.isDocumentLoading_()){var n=function(g){g.readyState&&g.readyState!="complete"?g.onload=n:(goog.Dependency.unregisterCallback_(r),t.loaded())},r=goog.Dependency.registerCallback_(n);o=o?' nonce="'+o+'"':"";var s='<script src="'+this.path+'"'+o+(goog.Dependency.defer_?" defer":"")+' id="script-'+r+'"><\/script>';s+="<script"+o+">",s=goog.Dependency.defer_?s+("document.getElementById('script-"+r+`').onload = function() {
goog.Dependency.callback_('`+r+`', this);
};
`):s+("goog.Dependency.callback_('"+r+"', document.getElementById('script-"+r+"'));"),s+="<\/script>",e.write(goog.TRUSTED_TYPES_POLICY_?goog.TRUSTED_TYPES_POLICY_.createHTML(s):s)}else{var i=e.createElement("script");i.defer=goog.Dependency.defer_,i.async=!1,o&&(i.nonce=o),i.onload=function(){i.onload=null,t.loaded()},i.src=goog.TRUSTED_TYPES_POLICY_?goog.TRUSTED_TYPES_POLICY_.createScriptURL(this.path):this.path,e.head.appendChild(i)}}else goog.logToConsole_("Cannot use default debug loader outside of HTML documents."),this.relativePath=="deps.js"?(goog.logToConsole_("Consider setting CLOSURE_IMPORT_SCRIPT before loading base.js, or setting CLOSURE_NO_DEPS to true."),t.loaded()):t.pause()},goog.Es6ModuleDependency=function(t,e,o,n,r){goog.Dependency.call(this,t,e,o,n,r)},goog.inherits(goog.Es6ModuleDependency,goog.Dependency),goog.Es6ModuleDependency.prototype.load=function(t){function e(l,d){var c="",m=goog.getScriptNonce_();m&&(c=' nonce="'+m+'"'),l=d?'<script type="module" crossorigin'+c+">"+d+"<\/script>":'<script type="module" crossorigin src="'+l+'"'+c+"><\/script>",n.write(goog.TRUSTED_TYPES_POLICY_?goog.TRUSTED_TYPES_POLICY_.createHTML(l):l)}function o(l,d){var c=n.createElement("script");c.defer=!0,c.async=!1,c.type="module",c.setAttribute("crossorigin",!0);var m=goog.getScriptNonce_();m&&(c.nonce=m),d?c.text=goog.TRUSTED_TYPES_POLICY_?goog.TRUSTED_TYPES_POLICY_.createScript(d):d:c.src=goog.TRUSTED_TYPES_POLICY_?goog.TRUSTED_TYPES_POLICY_.createScriptURL(l):l,n.head.appendChild(c)}if(goog.global.CLOSURE_IMPORT_SCRIPT)goog.global.CLOSURE_IMPORT_SCRIPT(this.path)?t.loaded():t.pause();else if(goog.inHtmlDocument_()){var n=goog.global.document,r=this;if(goog.isDocumentLoading_()){var s=e;goog.Dependency.defer_=!0}else s=o;var i=goog.Dependency.registerCallback_(function(){goog.Dependency.unregisterCallback_(i),t.setModuleState(goog.ModuleType.ES6)});s(void 0,'goog.Dependency.callback_("'+i+'")'),s(this.path,void 0);var g=goog.Dependency.registerCallback_(function(l){goog.Dependency.unregisterCallback_(g),t.registerEs6ModuleExports(r.path,l,goog.moduleLoaderState_.moduleName)});s(void 0,'import * as m from "'+this.path+'"; goog.Dependency.callback_("'+g+'", m)');var $=goog.Dependency.registerCallback_(function(){goog.Dependency.unregisterCallback_($),t.clearModuleState(),t.loaded()});s(void 0,'goog.Dependency.callback_("'+$+'")')}else goog.logToConsole_("Cannot use default debug loader outside of HTML documents."),t.pause()},goog.TransformedDependency=function(t,e,o,n,r){goog.Dependency.call(this,t,e,o,n,r),this.contents_=null,this.lazyFetch_=!goog.inHtmlDocument_()||!("noModule"in goog.global.document.createElement("script"))},goog.inherits(goog.TransformedDependency,goog.Dependency),goog.TransformedDependency.prototype.load=function(t){function e(){r.contents_=goog.loadFileSync_(r.path),r.contents_&&(r.contents_=r.transform(r.contents_),r.contents_&&(r.contents_+=`
//# sourceURL=`+r.path))}function o(){if(r.lazyFetch_&&e(),r.contents_){s&&t.setModuleState(goog.ModuleType.ES6);try{var l=r.contents_;if(r.contents_=null,goog.globalEval(goog.CLOSURE_EVAL_PREFILTER_.createScript(l)),s)var d=goog.moduleLoaderState_.moduleName}finally{s&&t.clearModuleState()}s&&goog.global.$jscomp.require.ensure([r.getPathName()],function(){t.registerEs6ModuleExports(r.path,goog.global.$jscomp.require(r.getPathName()),d)}),t.loaded()}}function n(){var l=goog.global.document,d=goog.Dependency.registerCallback_(function(){goog.Dependency.unregisterCallback_(d),o()}),c=goog.getScriptNonce_();c="<script"+(c?' nonce="'+c+'"':"")+">"+goog.protectScriptTag_('goog.Dependency.callback_("'+d+'");')+"<\/script>",l.write(goog.TRUSTED_TYPES_POLICY_?goog.TRUSTED_TYPES_POLICY_.createHTML(c):c)}var r=this;if(goog.global.CLOSURE_IMPORT_SCRIPT)e(),this.contents_&&goog.global.CLOSURE_IMPORT_SCRIPT("",this.contents_)?(this.contents_=null,t.loaded()):t.pause();else{var s=this.loadFlags.module==goog.ModuleType.ES6;this.lazyFetch_||e();var i=1<t.pending().length;if(goog.Dependency.defer_&&(i||goog.isDocumentLoading_()))t.defer(function(){o()});else{var g=goog.global.document;if(i=goog.inHtmlDocument_()&&("ActiveXObject"in goog.global||goog.isEdge_()),s&&goog.inHtmlDocument_()&&goog.isDocumentLoading_()&&!i){goog.Dependency.defer_=!0,t.pause();var $=g.onreadystatechange;g.onreadystatechange=function(){g.readyState=="interactive"&&(g.onreadystatechange=$,o(),t.resume()),typeof $=="function"&&$.apply(void 0,arguments)}}else goog.inHtmlDocument_()&&goog.isDocumentLoading_()?n():o()}}},goog.TransformedDependency.prototype.transform=function(t){},goog.PreTranspiledEs6ModuleDependency=function(t,e,o,n,r){goog.TransformedDependency.call(this,t,e,o,n,r)},goog.inherits(goog.PreTranspiledEs6ModuleDependency,goog.TransformedDependency),goog.PreTranspiledEs6ModuleDependency.prototype.transform=function(t){return t},goog.GoogModuleDependency=function(t,e,o,n,r){goog.TransformedDependency.call(this,t,e,o,n,r)},goog.inherits(goog.GoogModuleDependency,goog.TransformedDependency),goog.GoogModuleDependency.prototype.transform=function(t){return goog.LOAD_MODULE_USING_EVAL&&goog.global.JSON!==void 0?"goog.loadModule("+goog.global.JSON.stringify(t+`
//# sourceURL=`+this.path+`
`)+");":'goog.loadModule(function(exports) {"use strict";'+t+`
;return exports});
//# sourceURL=`+this.path+`
`},goog.DebugLoader_.prototype.addDependency=function(t,e,o,n){e=e||[],t=t.replace(/\\/g,"/");var r=goog.normalizePath_(goog.basePath+t);for(n&&typeof n!="boolean"||(n=n?{module:goog.ModuleType.GOOG}:{}),o=this.factory_.createDependency(r,t,e,o,n),this.dependencies_[r]=o,o=0;o<e.length;o++)this.idToPath_[e[o]]=r;this.idToPath_[t]=r},goog.DependencyFactory=function(){},goog.DependencyFactory.prototype.createDependency=function(t,e,o,n,r){return r.module==goog.ModuleType.GOOG?new goog.GoogModuleDependency(t,e,o,n,r):r.module==goog.ModuleType.ES6?goog.ASSUME_ES_MODULES_TRANSPILED?new goog.PreTranspiledEs6ModuleDependency(t,e,o,n,r):new goog.Es6ModuleDependency(t,e,o,n,r):new goog.Dependency(t,e,o,n,r)},goog.debugLoader_=new goog.DebugLoader_,goog.loadClosureDeps=function(){goog.debugLoader_.loadClosureDeps()},goog.setDependencyFactory=function(t){goog.debugLoader_.setDependencyFactory(t)},goog.TRUSTED_TYPES_POLICY_=goog.TRUSTED_TYPES_POLICY_NAME?goog.createTrustedTypesPolicy(goog.TRUSTED_TYPES_POLICY_NAME+"#base"):null,goog.global.CLOSURE_NO_DEPS||goog.debugLoader_.loadClosureDeps(),goog.bootstrap=function(t,e){goog.debugLoader_.bootstrap(t,e)});if(!COMPILED){isChrome87=!1;try{isChrome87=eval(goog.global.trustedTypes.emptyScript)!==goog.global.trustedTypes.emptyScript}catch(t){}goog.CLOSURE_EVAL_PREFILTER_=goog.global.trustedTypes&&isChrome87&&goog.createTrustedTypesPolicy("goog#base#devonly#eval")||{createScript:goog.identity_}}var isChrome87;goog.object={};function module$contents$goog$object_forEach(t,e,o){for(let n in t)e.call(o,t[n],n,t)}function module$contents$goog$object_filter(t,e,o){let n={};for(let r in t)e.call(o,t[r],r,t)&&(n[r]=t[r]);return n}function module$contents$goog$object_map(t,e,o){let n={};for(let r in t)n[r]=e.call(o,t[r],r,t);return n}function module$contents$goog$object_some(t,e,o){for(let n in t)if(e.call(o,t[n],n,t))return!0;return!1}function module$contents$goog$object_every(t,e,o){for(let n in t)if(!e.call(o,t[n],n,t))return!1;return!0}function module$contents$goog$object_getCount(t){let e=0;for(let o in t)e++;return e}function module$contents$goog$object_getAnyKey(t){for(let e in t)return e}function module$contents$goog$object_getAnyValue(t){for(let e in t)return t[e]}function module$contents$goog$object_contains(t,e){return module$contents$goog$object_containsValue(t,e)}function module$contents$goog$object_getValues(t){let e=[],o=0;for(let n in t)e[o++]=t[n];return e}function module$contents$goog$object_getKeys(t){let e=[],o=0;for(let n in t)e[o++]=n;return e}function module$contents$goog$object_getValueByKeys(t,e){var o=goog.isArrayLike(e);let n=o?e:arguments;for(o=o?0:1;o<n.length;o++){if(t==null)return;t=t[n[o]]}return t}function module$contents$goog$object_containsKey(t,e){return t!==null&&e in t}function module$contents$goog$object_containsValue(t,e){for(let o in t)if(t[o]==e)return!0;return!1}function module$contents$goog$object_findKey(t,e,o){for(let n in t)if(e.call(o,t[n],n,t))return n}function module$contents$goog$object_findValue(t,e,o){return(e=module$contents$goog$object_findKey(t,e,o))&&t[e]}function module$contents$goog$object_isEmpty(t){for(let e in t)return!1;return!0}function module$contents$goog$object_clear(t){for(let e in t)delete t[e]}function module$contents$goog$object_remove(t,e){let o;return(o=e in t)&&delete t[e],o}function module$contents$goog$object_add(t,e,o){if(t!==null&&e in t)throw Error(`The object already contains the key "${e}"`);module$contents$goog$object_set(t,e,o)}function module$contents$goog$object_get(t,e,o){return t!==null&&e in t?t[e]:o}function module$contents$goog$object_set(t,e,o){t[e]=o}function module$contents$goog$object_setIfUndefined(t,e,o){return e in t?t[e]:t[e]=o}function module$contents$goog$object_setWithReturnValueIfNotSet(t,e,o){return e in t?t[e]:(o=o(),t[e]=o)}function module$contents$goog$object_equals(t,e){for(let o in t)if(!(o in e)||t[o]!==e[o])return!1;for(let o in e)if(!(o in t))return!1;return!0}function module$contents$goog$object_clone(t){let e={};for(let o in t)e[o]=t[o];return e}function module$contents$goog$object_unsafeClone(t){if(!t||typeof t!="object")return t;if(typeof t.clone=="function")return t.clone();if(typeof Map<"u"&&t instanceof Map)return new Map(t);if(typeof Set<"u"&&t instanceof Set)return new Set(t);if(t instanceof Date)return new Date(t.getTime());let e=Array.isArray(t)?[]:typeof ArrayBuffer!="function"||typeof ArrayBuffer.isView!="function"||!ArrayBuffer.isView(t)||t instanceof DataView?{}:new t.constructor(t.length);for(let o in t)e[o]=module$contents$goog$object_unsafeClone(t[o]);return e}function module$contents$goog$object_transpose(t){let e={};for(let o in t)e[t[o]]=o;return e}var module$contents$goog$object_PROTOTYPE_FIELDS="constructor hasOwnProperty isPrototypeOf propertyIsEnumerable toLocaleString toString valueOf".split(" ");function module$contents$goog$object_extend(t,e){let o,n;for(let r=1;r<arguments.length;r++){n=arguments[r];for(o in n)t[o]=n[o];for(let s=0;s<module$contents$goog$object_PROTOTYPE_FIELDS.length;s++)o=module$contents$goog$object_PROTOTYPE_FIELDS[s],Object.prototype.hasOwnProperty.call(n,o)&&(t[o]=n[o])}}function module$contents$goog$object_create(t){let e=arguments.length;if(e==1&&Array.isArray(arguments[0]))return module$contents$goog$object_create.apply(null,arguments[0]);if(e%2)throw Error("Uneven number of arguments");let o={};for(let n=0;n<e;n+=2)o[arguments[n]]=arguments[n+1];return o}function module$contents$goog$object_createSet(t){let e=arguments.length;if(e==1&&Array.isArray(arguments[0]))return module$contents$goog$object_createSet.apply(null,arguments[0]);let o={};for(let n=0;n<e;n++)o[arguments[n]]=!0;return o}function module$contents$goog$object_createImmutableView(t){let e=t;return Object.isFrozen&&!Object.isFrozen(t)&&(e=Object.create(t),Object.freeze(e)),e}function module$contents$goog$object_isImmutableView(t){return!!Object.isFrozen&&Object.isFrozen(t)}function module$contents$goog$object_getAllPropertyNames(t,e,o){if(!t)return[];if(!Object.getOwnPropertyNames||!Object.getPrototypeOf)return module$contents$goog$object_getKeys(t);let n={};for(;t&&(t!==Object.prototype||e)&&(t!==Function.prototype||o);){let r=Object.getOwnPropertyNames(t);for(let s=0;s<r.length;s++)n[r[s]]=!0;t=Object.getPrototypeOf(t)}return module$contents$goog$object_getKeys(n)}function module$contents$goog$object_getSuperClass(t){return(t=Object.getPrototypeOf(t.prototype))&&t.constructor}goog.object.add=module$contents$goog$object_add;goog.object.clear=module$contents$goog$object_clear;goog.object.clone=module$contents$goog$object_clone;goog.object.contains=module$contents$goog$object_contains;goog.object.containsKey=module$contents$goog$object_containsKey;goog.object.containsValue=module$contents$goog$object_containsValue;goog.object.create=module$contents$goog$object_create;goog.object.createImmutableView=module$contents$goog$object_createImmutableView;goog.object.createSet=module$contents$goog$object_createSet;goog.object.equals=module$contents$goog$object_equals;goog.object.every=module$contents$goog$object_every;goog.object.extend=module$contents$goog$object_extend;goog.object.filter=module$contents$goog$object_filter;goog.object.findKey=module$contents$goog$object_findKey;goog.object.findValue=module$contents$goog$object_findValue;goog.object.forEach=module$contents$goog$object_forEach;goog.object.get=module$contents$goog$object_get;goog.object.getAllPropertyNames=module$contents$goog$object_getAllPropertyNames;goog.object.getAnyKey=module$contents$goog$object_getAnyKey;goog.object.getAnyValue=module$contents$goog$object_getAnyValue;goog.object.getCount=module$contents$goog$object_getCount;goog.object.getKeys=module$contents$goog$object_getKeys;goog.object.getSuperClass=module$contents$goog$object_getSuperClass;goog.object.getValueByKeys=module$contents$goog$object_getValueByKeys;goog.object.getValues=module$contents$goog$object_getValues;goog.object.isEmpty=module$contents$goog$object_isEmpty;goog.object.isImmutableView=module$contents$goog$object_isImmutableView;goog.object.map=module$contents$goog$object_map;goog.object.remove=module$contents$goog$object_remove;goog.object.set=module$contents$goog$object_set;goog.object.setIfUndefined=module$contents$goog$object_setIfUndefined;goog.object.setWithReturnValueIfNotSet=module$contents$goog$object_setWithReturnValueIfNotSet;goog.object.some=module$contents$goog$object_some;goog.object.transpose=module$contents$goog$object_transpose;goog.object.unsafeClone=module$contents$goog$object_unsafeClone;goog.debug={};function module$contents$goog$debug$Error_DebugError(t,e){if(Error.captureStackTrace)Error.captureStackTrace(this,module$contents$goog$debug$Error_DebugError);else{let o=Error().stack;o&&(this.stack=o)}t&&(this.message=String(t)),e!==void 0&&(this.cause=e),this.reportErrorToServer=!0}goog.inherits(module$contents$goog$debug$Error_DebugError,Error);module$contents$goog$debug$Error_DebugError.prototype.name="CustomError";goog.debug.Error=module$contents$goog$debug$Error_DebugError;goog.dom={};goog.dom.NodeType={ELEMENT:1,ATTRIBUTE:2,TEXT:3,CDATA_SECTION:4,ENTITY_REFERENCE:5,ENTITY:6,PROCESSING_INSTRUCTION:7,COMMENT:8,DOCUMENT:9,DOCUMENT_TYPE:10,DOCUMENT_FRAGMENT:11,NOTATION:12};goog.asserts={};goog.asserts.ENABLE_ASSERTS=goog.DEBUG;function module$contents$goog$asserts_AssertionError(t,e){module$contents$goog$debug$Error_DebugError.call(this,module$contents$goog$asserts_subs(t,e)),this.messagePattern=t}goog.inherits(module$contents$goog$asserts_AssertionError,module$contents$goog$debug$Error_DebugError);goog.asserts.AssertionError=module$contents$goog$asserts_AssertionError;module$contents$goog$asserts_AssertionError.prototype.name="AssertionError";goog.asserts.DEFAULT_ERROR_HANDLER=function(t){throw t};var module$contents$goog$asserts_errorHandler_=goog.asserts.DEFAULT_ERROR_HANDLER;function module$contents$goog$asserts_subs(t,e){t=t.split("%s");let o="",n=t.length-1;for(let r=0;r<n;r++)o+=t[r]+(r<e.length?e[r]:"%s");return o+t[n]}function module$contents$goog$asserts_doAssertFailure(t,e,o,n){let r="Assertion failed",s;o?(r+=": "+o,s=n):t&&(r+=": "+t,s=e),t=new module$contents$goog$asserts_AssertionError(""+r,s||[]),module$contents$goog$asserts_errorHandler_(t)}goog.asserts.setErrorHandler=function(t){goog.asserts.ENABLE_ASSERTS&&(module$contents$goog$asserts_errorHandler_=t)};goog.asserts.assert=function(t,e,o){return goog.asserts.ENABLE_ASSERTS&&!t&&module$contents$goog$asserts_doAssertFailure("",null,e,Array.prototype.slice.call(arguments,2)),t};goog.asserts.assertExists=function(t,e,o){return goog.asserts.ENABLE_ASSERTS&&t==null&&module$contents$goog$asserts_doAssertFailure("Expected to exist: %s.",[t],e,Array.prototype.slice.call(arguments,2)),t};goog.asserts.fail=function(t,e){goog.asserts.ENABLE_ASSERTS&&module$contents$goog$asserts_errorHandler_(new module$contents$goog$asserts_AssertionError("Failure"+(t?": "+t:""),Array.prototype.slice.call(arguments,1)))};goog.asserts.assertNumber=function(t,e,o){return goog.asserts.ENABLE_ASSERTS&&typeof t!="number"&&module$contents$goog$asserts_doAssertFailure("Expected number but got %s: %s.",[goog.typeOf(t),t],e,Array.prototype.slice.call(arguments,2)),t};goog.asserts.assertString=function(t,e,o){return goog.asserts.ENABLE_ASSERTS&&typeof t!="string"&&module$contents$goog$asserts_doAssertFailure("Expected string but got %s: %s.",[goog.typeOf(t),t],e,Array.prototype.slice.call(arguments,2)),t};goog.asserts.assertFunction=function(t,e,o){return goog.asserts.ENABLE_ASSERTS&&typeof t!="function"&&module$contents$goog$asserts_doAssertFailure("Expected function but got %s: %s.",[goog.typeOf(t),t],e,Array.prototype.slice.call(arguments,2)),t};goog.asserts.assertObject=function(t,e,o){return goog.asserts.ENABLE_ASSERTS&&!goog.isObject(t)&&module$contents$goog$asserts_doAssertFailure("Expected object but got %s: %s.",[goog.typeOf(t),t],e,Array.prototype.slice.call(arguments,2)),t};goog.asserts.assertArray=function(t,e,o){return goog.asserts.ENABLE_ASSERTS&&!Array.isArray(t)&&module$contents$goog$asserts_doAssertFailure("Expected array but got %s: %s.",[goog.typeOf(t),t],e,Array.prototype.slice.call(arguments,2)),t};goog.asserts.assertBoolean=function(t,e,o){return goog.asserts.ENABLE_ASSERTS&&typeof t!="boolean"&&module$contents$goog$asserts_doAssertFailure("Expected boolean but got %s: %s.",[goog.typeOf(t),t],e,Array.prototype.slice.call(arguments,2)),t};goog.asserts.assertElement=function(t,e,o){return!goog.asserts.ENABLE_ASSERTS||goog.isObject(t)&&t.nodeType==goog.dom.NodeType.ELEMENT||module$contents$goog$asserts_doAssertFailure("Expected Element but got %s: %s.",[goog.typeOf(t),t],e,Array.prototype.slice.call(arguments,2)),t};goog.asserts.assertInstanceof=function(t,e,o,n){return!goog.asserts.ENABLE_ASSERTS||t instanceof e||module$contents$goog$asserts_doAssertFailure("Expected instanceof %s but got %s.",[module$contents$goog$asserts_getType(e),module$contents$goog$asserts_getType(t)],o,Array.prototype.slice.call(arguments,3)),t};goog.asserts.assertFinite=function(t,e,o){return!goog.asserts.ENABLE_ASSERTS||typeof t=="number"&&isFinite(t)||module$contents$goog$asserts_doAssertFailure("Expected %s to be a finite number but it is not.",[t],e,Array.prototype.slice.call(arguments,2)),t};function module$contents$goog$asserts_getType(t){return t instanceof Function?t.displayName||t.name||"unknown type name":t instanceof Object?t.constructor.displayName||t.constructor.name||Object.prototype.toString.call(t):t===null?"null":typeof t}goog.array={};goog.NATIVE_ARRAY_PROTOTYPES=goog.TRUSTED_SITE;var module$contents$goog$array_ASSUME_NATIVE_FUNCTIONS=2012<goog.FEATURESET_YEAR;goog.array.ASSUME_NATIVE_FUNCTIONS=module$contents$goog$array_ASSUME_NATIVE_FUNCTIONS;function module$contents$goog$array_peek(t){return t[t.length-1]}goog.array.peek=module$contents$goog$array_peek;goog.array.last=module$contents$goog$array_peek;var module$contents$goog$array_indexOf=goog.NATIVE_ARRAY_PROTOTYPES&&(module$contents$goog$array_ASSUME_NATIVE_FUNCTIONS||Array.prototype.indexOf)?function(t,e,o){return goog.asserts.assert(t.length!=null),Array.prototype.indexOf.call(t,e,o)}:function(t,e,o){if(o=o==null?0:0>o?Math.max(0,t.length+o):o,typeof t=="string")return typeof e!="string"||e.length!=1?-1:t.indexOf(e,o);for(;o<t.length;o++)if(o in t&&t[o]===e)return o;return-1};goog.array.indexOf=module$contents$goog$array_indexOf;var module$contents$goog$array_lastIndexOf=goog.NATIVE_ARRAY_PROTOTYPES&&(module$contents$goog$array_ASSUME_NATIVE_FUNCTIONS||Array.prototype.lastIndexOf)?function(t,e,o){return goog.asserts.assert(t.length!=null),Array.prototype.lastIndexOf.call(t,e,o??t.length-1)}:function(t,e,o){if(o=o??t.length-1,0>o&&(o=Math.max(0,t.length+o)),typeof t=="string")return typeof e!="string"||e.length!=1?-1:t.lastIndexOf(e,o);for(;0<=o;o--)if(o in t&&t[o]===e)return o;return-1};goog.array.lastIndexOf=module$contents$goog$array_lastIndexOf;var module$contents$goog$array_forEach=goog.NATIVE_ARRAY_PROTOTYPES&&(module$contents$goog$array_ASSUME_NATIVE_FUNCTIONS||Array.prototype.forEach)?function(t,e,o){goog.asserts.assert(t.length!=null),Array.prototype.forEach.call(t,e,o)}:function(t,e,o){let n=t.length,r=typeof t=="string"?t.split(""):t;for(let s=0;s<n;s++)s in r&&e.call(o,r[s],s,t)};goog.array.forEach=module$contents$goog$array_forEach;function module$contents$goog$array_forEachRight(t,e,o){var n=t.length;let r=typeof t=="string"?t.split(""):t;for(--n;0<=n;--n)n in r&&e.call(o,r[n],n,t)}goog.array.forEachRight=module$contents$goog$array_forEachRight;var module$contents$goog$array_filter=goog.NATIVE_ARRAY_PROTOTYPES&&(module$contents$goog$array_ASSUME_NATIVE_FUNCTIONS||Array.prototype.filter)?function(t,e,o){return goog.asserts.assert(t.length!=null),Array.prototype.filter.call(t,e,o)}:function(t,e,o){let n=t.length,r=[],s=0,i=typeof t=="string"?t.split(""):t;for(let g=0;g<n;g++)if(g in i){let $=i[g];e.call(o,$,g,t)&&(r[s++]=$)}return r};goog.array.filter=module$contents$goog$array_filter;var module$contents$goog$array_map=goog.NATIVE_ARRAY_PROTOTYPES&&(module$contents$goog$array_ASSUME_NATIVE_FUNCTIONS||Array.prototype.map)?function(t,e,o){return goog.asserts.assert(t.length!=null),Array.prototype.map.call(t,e,o)}:function(t,e,o){let n=t.length,r=Array(n),s=typeof t=="string"?t.split(""):t;for(let i=0;i<n;i++)i in s&&(r[i]=e.call(o,s[i],i,t));return r};goog.array.map=module$contents$goog$array_map;var module$contents$goog$array_reduce=goog.NATIVE_ARRAY_PROTOTYPES&&(module$contents$goog$array_ASSUME_NATIVE_FUNCTIONS||Array.prototype.reduce)?function(t,e,o,n){return goog.asserts.assert(t.length!=null),n&&(e=goog.bind(e,n)),Array.prototype.reduce.call(t,e,o)}:function(t,e,o,n){let r=o;return module$contents$goog$array_forEach(t,function(s,i){r=e.call(n,r,s,i,t)}),r};goog.array.reduce=module$contents$goog$array_reduce;var module$contents$goog$array_reduceRight=goog.NATIVE_ARRAY_PROTOTYPES&&(module$contents$goog$array_ASSUME_NATIVE_FUNCTIONS||Array.prototype.reduceRight)?function(t,e,o,n){return goog.asserts.assert(t.length!=null),goog.asserts.assert(e!=null),n&&(e=goog.bind(e,n)),Array.prototype.reduceRight.call(t,e,o)}:function(t,e,o,n){let r=o;return module$contents$goog$array_forEachRight(t,function(s,i){r=e.call(n,r,s,i,t)}),r};goog.array.reduceRight=module$contents$goog$array_reduceRight;var module$contents$goog$array_some=goog.NATIVE_ARRAY_PROTOTYPES&&(module$contents$goog$array_ASSUME_NATIVE_FUNCTIONS||Array.prototype.some)?function(t,e,o){return goog.asserts.assert(t.length!=null),Array.prototype.some.call(t,e,o)}:function(t,e,o){let n=t.length,r=typeof t=="string"?t.split(""):t;for(let s=0;s<n;s++)if(s in r&&e.call(o,r[s],s,t))return!0;return!1};goog.array.some=module$contents$goog$array_some;var module$contents$goog$array_every=goog.NATIVE_ARRAY_PROTOTYPES&&(module$contents$goog$array_ASSUME_NATIVE_FUNCTIONS||Array.prototype.every)?function(t,e,o){return goog.asserts.assert(t.length!=null),Array.prototype.every.call(t,e,o)}:function(t,e,o){let n=t.length,r=typeof t=="string"?t.split(""):t;for(let s=0;s<n;s++)if(s in r&&!e.call(o,r[s],s,t))return!1;return!0};goog.array.every=module$contents$goog$array_every;function module$contents$goog$array_count(t,e,o){let n=0;return module$contents$goog$array_forEach(t,function(r,s,i){e.call(o,r,s,i)&&++n},o),n}goog.array.count=module$contents$goog$array_count;function module$contents$goog$array_find(t,e,o){return e=module$contents$goog$array_findIndex(t,e,o),0>e?null:typeof t=="string"?t.charAt(e):t[e]}goog.array.find=module$contents$goog$array_find;function module$contents$goog$array_findIndex(t,e,o){let n=t.length,r=typeof t=="string"?t.split(""):t;for(let s=0;s<n;s++)if(s in r&&e.call(o,r[s],s,t))return s;return-1}goog.array.findIndex=module$contents$goog$array_findIndex;function module$contents$goog$array_findRight(t,e,o){return e=module$contents$goog$array_findIndexRight(t,e,o),0>e?null:typeof t=="string"?t.charAt(e):t[e]}goog.array.findRight=module$contents$goog$array_findRight;function module$contents$goog$array_findIndexRight(t,e,o){var n=t.length;let r=typeof t=="string"?t.split(""):t;for(--n;0<=n;n--)if(n in r&&e.call(o,r[n],n,t))return n;return-1}goog.array.findIndexRight=module$contents$goog$array_findIndexRight;function module$contents$goog$array_contains(t,e){return 0<=module$contents$goog$array_indexOf(t,e)}goog.array.contains=module$contents$goog$array_contains;function module$contents$goog$array_isEmpty(t){return t.length==0}goog.array.isEmpty=module$contents$goog$array_isEmpty;function module$contents$goog$array_clear(t){if(!Array.isArray(t))for(let e=t.length-1;0<=e;e--)delete t[e];t.length=0}goog.array.clear=module$contents$goog$array_clear;function module$contents$goog$array_insert(t,e){module$contents$goog$array_contains(t,e)||t.push(e)}goog.array.insert=module$contents$goog$array_insert;function module$contents$goog$array_insertAt(t,e,o){module$contents$goog$array_splice(t,o,0,e)}goog.array.insertAt=module$contents$goog$array_insertAt;function module$contents$goog$array_insertArrayAt(t,e,o){goog.partial(module$contents$goog$array_splice,t,o,0).apply(null,e)}goog.array.insertArrayAt=module$contents$goog$array_insertArrayAt;function module$contents$goog$array_insertBefore(t,e,o){let n;arguments.length==2||0>(n=module$contents$goog$array_indexOf(t,o))?t.push(e):module$contents$goog$array_insertAt(t,e,n)}goog.array.insertBefore=module$contents$goog$array_insertBefore;function module$contents$goog$array_remove(t,e){e=module$contents$goog$array_indexOf(t,e);let o;return(o=0<=e)&&module$contents$goog$array_removeAt(t,e),o}goog.array.remove=module$contents$goog$array_remove;function module$contents$goog$array_removeLast(t,e){return e=module$contents$goog$array_lastIndexOf(t,e),0<=e?(module$contents$goog$array_removeAt(t,e),!0):!1}goog.array.removeLast=module$contents$goog$array_removeLast;function module$contents$goog$array_removeAt(t,e){return goog.asserts.assert(t.length!=null),Array.prototype.splice.call(t,e,1).length==1}goog.array.removeAt=module$contents$goog$array_removeAt;function module$contents$goog$array_removeIf(t,e,o){return e=module$contents$goog$array_findIndex(t,e,o),0<=e?(module$contents$goog$array_removeAt(t,e),!0):!1}goog.array.removeIf=module$contents$goog$array_removeIf;function module$contents$goog$array_removeAllIf(t,e,o){let n=0;return module$contents$goog$array_forEachRight(t,function(r,s){e.call(o,r,s,t)&&module$contents$goog$array_removeAt(t,s)&&n++}),n}goog.array.removeAllIf=module$contents$goog$array_removeAllIf;function module$contents$goog$array_concat(t){return Array.prototype.concat.apply([],arguments)}goog.array.concat=module$contents$goog$array_concat;function module$contents$goog$array_join(t){return Array.prototype.concat.apply([],arguments)}goog.array.join=module$contents$goog$array_join;function module$contents$goog$array_toArray(t){let e=t.length;if(0<e){let o=Array(e);for(let n=0;n<e;n++)o[n]=t[n];return o}return[]}var module$contents$goog$array_clone=goog.array.toArray=module$contents$goog$array_toArray;goog.array.clone=module$contents$goog$array_toArray;function module$contents$goog$array_extend(t,e){for(let o=1;o<arguments.length;o++){let n=arguments[o];if(goog.isArrayLike(n)){let r=t.length||0,s=n.length||0;t.length=r+s;for(let i=0;i<s;i++)t[r+i]=n[i]}else t.push(n)}}goog.array.extend=module$contents$goog$array_extend;function module$contents$goog$array_splice(t,e,o,n){return goog.asserts.assert(t.length!=null),Array.prototype.splice.apply(t,module$contents$goog$array_slice(arguments,1))}goog.array.splice=module$contents$goog$array_splice;function module$contents$goog$array_slice(t,e,o){return goog.asserts.assert(t.length!=null),2>=arguments.length?Array.prototype.slice.call(t,e):Array.prototype.slice.call(t,e,o)}goog.array.slice=module$contents$goog$array_slice;function module$contents$goog$array_removeDuplicates(t,e,o){e=e||t;var n=function(i){return goog.isObject(i)?"o"+goog.getUid(i):(typeof i).charAt(0)+i};o=o||n;let r=n=0,s={};for(;r<t.length;){let i=t[r++],g=o(i);Object.prototype.hasOwnProperty.call(s,g)||(s[g]=!0,e[n++]=i)}e.length=n}goog.array.removeDuplicates=module$contents$goog$array_removeDuplicates;function module$contents$goog$array_binarySearch(t,e,o){return module$contents$goog$array_binarySearch_(t,o||module$contents$goog$array_defaultCompare,!1,e)}goog.array.binarySearch=module$contents$goog$array_binarySearch;function module$contents$goog$array_binarySelect(t,e,o){return module$contents$goog$array_binarySearch_(t,e,!0,void 0,o)}goog.array.binarySelect=module$contents$goog$array_binarySelect;function module$contents$goog$array_binarySearch_(t,e,o,n,r){let s=0,i=t.length,g;for(;s<i;){let $=s+(i-s>>>1),l;l=o?e.call(r,t[$],$,t):e(n,t[$]),0<l?s=$+1:(i=$,g=!l)}return g?s:-s-1}function module$contents$goog$array_sort(t,e){t.sort(e||module$contents$goog$array_defaultCompare)}goog.array.sort=module$contents$goog$array_sort;function module$contents$goog$array_stableSort(t,e){let o=Array(t.length);for(let r=0;r<t.length;r++)o[r]={index:r,value:t[r]};let n=e||module$contents$goog$array_defaultCompare;for(module$contents$goog$array_sort(o,function(r,s){return n(r.value,s.value)||r.index-s.index}),e=0;e<t.length;e++)t[e]=o[e].value}goog.array.stableSort=module$contents$goog$array_stableSort;function module$contents$goog$array_sortByKey(t,e,o){let n=o||module$contents$goog$array_defaultCompare;module$contents$goog$array_sort(t,function(r,s){return n(e(r),e(s))})}goog.array.s