UNPKG

46.9 kBJavaScriptView Raw
1!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?module.exports=t():"function"==typeof define&&define.amd?define(t):(e=e||self).firebase=t()}(this,function(){"use strict";var n=function(e,t){return(n=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(e,t)};var a=function(){return(a=Object.assign||function(e){for(var t,n=1,r=arguments.length;n<r;n++)for(var i in t=arguments[n])Object.prototype.hasOwnProperty.call(t,i)&&(e[i]=t[i]);return e}).apply(this,arguments)};function l(e,a,s,c){return new(s=s||Promise)(function(t,n){function r(e){try{o(c.next(e))}catch(e){n(e)}}function i(e){try{o(c.throw(e))}catch(e){n(e)}}function o(e){e.done?t(e.value):function(t){return t instanceof s?t:new s(function(e){e(t)})}(e.value).then(r,i)}o((c=c.apply(e,a||[])).next())})}function p(n,r){var i,o,a,e,s={label:0,sent:function(){if(1&a[0])throw a[1];return a[1]},trys:[],ops:[]};return e={next:t(0),throw:t(1),return:t(2)},"function"==typeof Symbol&&(e[Symbol.iterator]=function(){return this}),e;function t(t){return function(e){return function(t){if(i)throw new TypeError("Generator is already executing.");for(;s;)try{if(i=1,o&&(a=2&t[0]?o.return:t[0]?o.throw||((a=o.return)&&a.call(o),0):o.next)&&!(a=a.call(o,t[1])).done)return a;switch(o=0,a&&(t=[2&t[0],a.value]),t[0]){case 0:case 1:a=t;break;case 4:return s.label++,{value:t[1],done:!1};case 5:s.label++,o=t[1],t=[0];continue;case 7:t=s.ops.pop(),s.trys.pop();continue;default:if(!(a=0<(a=s.trys).length&&a[a.length-1])&&(6===t[0]||2===t[0])){s=0;continue}if(3===t[0]&&(!a||t[1]>a[0]&&t[1]<a[3])){s.label=t[1];break}if(6===t[0]&&s.label<a[1]){s.label=a[1],a=t;break}if(a&&s.label<a[2]){s.label=a[2],s.ops.push(t);break}a[2]&&s.ops.pop(),s.trys.pop();continue}t=r.call(n,s)}catch(e){t=[6,e],o=0}finally{i=a=0}if(5&t[0])throw t[1];return{value:t[0]?t[1]:void 0,done:!0}}([t,e])}}}function d(e){var t="function"==typeof Symbol&&Symbol.iterator,n=t&&e[t],r=0;if(n)return n.call(e);if(e&&"number"==typeof e.length)return{next:function(){return e&&r>=e.length&&(e=void 0),{value:e&&e[r++],done:!e}}};throw new TypeError(t?"Object is not iterable.":"Symbol.iterator is not defined.")}function f(e,t){var n="function"==typeof Symbol&&e[Symbol.iterator];if(!n)return e;var r,i,o=n.call(e),a=[];try{for(;(void 0===t||0<t--)&&!(r=o.next()).done;)a.push(r.value)}catch(e){i={error:e}}finally{try{r&&!r.done&&(n=o.return)&&n.call(o)}finally{if(i)throw i.error}}return a}function i(){for(var e=0,t=0,n=arguments.length;t<n;t++)e+=arguments[t].length;var r=Array(e),i=0;for(t=0;t<n;t++)for(var o=arguments[t],a=0,s=o.length;a<s;a++,i++)r[i]=o[a];return r}function g(e,t){if(!(t instanceof Object))return t;switch(t.constructor){case Date:return new Date(t.getTime());case Object:void 0===e&&(e={});break;case Array:e=[];break;default:return t}for(var n in t)t.hasOwnProperty(n)&&(e[n]=g(e[n],t[n]));return e}var o=(e.prototype.wrapCallback=function(n){var r=this;return function(e,t){e?r.reject(e):r.resolve(t),"function"==typeof n&&(r.promise.catch(function(){}),1===n.length?n(e):n(e,t))}},e);function e(){var n=this;this.reject=function(){},this.resolve=function(){},this.promise=new Promise(function(e,t){n.resolve=e,n.reject=t})}var t,r,s,h=(s=Error,n(t=u,r=s),void(t.prototype=null===r?Object.create(r):(c.prototype=r.prototype,new c)),u);function c(){this.constructor=t}function u(e,t){var n=s.call(this,t)||this;return n.code=e,n.name="FirebaseError",Object.setPrototypeOf(n,u.prototype),Error.captureStackTrace&&Error.captureStackTrace(n,v.prototype.create),n}var v=(m.prototype.create=function(e){for(var t=[],n=1;n<arguments.length;n++)t[n-1]=arguments[n];for(var r=t[0]||{},i=this.service+"/"+e,o=this.errors[e],a=o?function(e,r){return e.replace(y,function(e,t){var n=r[t];return null!=n?n.toString():"<"+t+"?>"})}(o,r):"Error",s=this.serviceName+": "+a+" ("+i+").",c=new h(i,s),u=0,f=Object.keys(r);u<f.length;u++){var l=f[u];"_"!==l.slice(-1)&&(l in c&&console.warn('Overwriting FirebaseError base field "'+l+'" can cause unexpected behavior.'),c[l]=r[l])}return c},m);function m(e,t,n){this.service=e,this.serviceName=t,this.errors=n}var y=/\{\$([^}]+)}/g;function b(e,t){return Object.prototype.hasOwnProperty.call(e,t)}var w=(_.prototype.setInstantiationMode=function(e){return this.instantiationMode=e,this},_.prototype.setMultipleInstances=function(e){return this.multipleInstances=e,this},_.prototype.setServiceProps=function(e){return this.serviceProps=e,this},_);function _(e,t,n){this.name=e,this.instanceFactory=t,this.type=n,this.multipleInstances=!1,this.serviceProps={},this.instantiationMode="LAZY"}var I="[DEFAULT]",E=(S.prototype.get=function(e){void 0===e&&(e=I);var t=this.normalizeInstanceIdentifier(e);if(!this.instancesDeferred.has(t)){var n=new o;this.instancesDeferred.set(t,n);try{var r=this.getOrInitializeService(t);r&&n.resolve(r)}catch(e){}}return this.instancesDeferred.get(t).promise},S.prototype.getImmediate=function(e){var t=a({identifier:I,optional:!1},e),n=t.identifier,r=t.optional,i=this.normalizeInstanceIdentifier(n);try{var o=this.getOrInitializeService(i);if(o)return o;if(r)return null;throw Error("Service "+this.name+" is not available")}catch(e){if(r)return null;throw e}},S.prototype.getComponent=function(){return this.component},S.prototype.setComponent=function(e){var t,n;if(e.name!==this.name)throw Error("Mismatching Component "+e.name+" for Provider "+this.name+".");if(this.component)throw Error("Component for "+this.name+" has already been provided");if(function(e){return"EAGER"===e.instantiationMode}(this.component=e))try{this.getOrInitializeService(I)}catch(e){}try{for(var r=d(this.instancesDeferred.entries()),i=r.next();!i.done;i=r.next()){var o=f(i.value,2),a=o[0],s=o[1],c=this.normalizeInstanceIdentifier(a);try{var u=this.getOrInitializeService(c);s.resolve(u)}catch(e){}}}catch(e){t={error:e}}finally{try{i&&!i.done&&(n=r.return)&&n.call(r)}finally{if(t)throw t.error}}},S.prototype.clearInstance=function(e){void 0===e&&(e=I),this.instancesDeferred.delete(e),this.instances.delete(e)},S.prototype.delete=function(){return l(this,void 0,void 0,function(){var t;return p(this,function(e){switch(e.label){case 0:return t=Array.from(this.instances.values()),[4,Promise.all(t.filter(function(e){return"INTERNAL"in e}).map(function(e){return e.INTERNAL.delete()}))];case 1:return e.sent(),[2]}})})},S.prototype.isComponentSet=function(){return null!=this.component},S.prototype.getOrInitializeService=function(e){var t=this.instances.get(e);return!t&&this.component&&(t=this.component.instanceFactory(this.container,function(e){return e===I?void 0:e}(e)),this.instances.set(e,t)),t||null},S.prototype.normalizeInstanceIdentifier=function(e){return this.component?this.component.multipleInstances?e:I:e},S);function S(e,t){this.name=e,this.container=t,this.component=null,this.instances=new Map,this.instancesDeferred=new Map}var T,A=(N.prototype.addComponent=function(e){var t=this.getProvider(e.name);if(t.isComponentSet())throw new Error("Component "+e.name+" has already been registered with "+this.name);t.setComponent(e)},N.prototype.addOrOverwriteComponent=function(e){this.getProvider(e.name).isComponentSet()&&this.providers.delete(e.name),this.addComponent(e)},N.prototype.getProvider=function(e){if(this.providers.has(e))return this.providers.get(e);var t=new E(e,this);return this.providers.set(e,t),t},N.prototype.getProviders=function(){return Array.from(this.providers.values())},N);function N(e){this.name=e,this.providers=new Map}function O(){for(var e=0,t=0,n=arguments.length;t<n;t++)e+=arguments[t].length;var r=Array(e),i=0;for(t=0;t<n;t++)for(var o=arguments[t],a=0,s=o.length;a<s;a++,i++)r[i]=o[a];return r}var P,k,C=[];(k=P=P||{})[k.DEBUG=0]="DEBUG",k[k.VERBOSE=1]="VERBOSE",k[k.INFO=2]="INFO",k[k.WARN=3]="WARN",k[k.ERROR=4]="ERROR",k[k.SILENT=5]="SILENT";function R(e,t){for(var n=[],r=2;r<arguments.length;r++)n[r-2]=arguments[r];if(!(t<e.logLevel)){var i=(new Date).toISOString(),o=M[t];if(!o)throw new Error("Attempted to log a message with an invalid logType (value: "+t+")");console[o].apply(console,O(["["+i+"] "+e.name+":"],n))}}var j,D={debug:P.DEBUG,verbose:P.VERBOSE,info:P.INFO,warn:P.WARN,error:P.ERROR,silent:P.SILENT},L=P.INFO,M=((T={})[P.DEBUG]="log",T[P.VERBOSE]="log",T[P.INFO]="info",T[P.WARN]="warn",T[P.ERROR]="error",T),B=(Object.defineProperty(x.prototype,"logLevel",{get:function(){return this._logLevel},set:function(e){if(!(e in P))throw new TypeError("Invalid value assigned to `logLevel`");this._logLevel=e},enumerable:!0,configurable:!0}),Object.defineProperty(x.prototype,"logHandler",{get:function(){return this._logHandler},set:function(e){if("function"!=typeof e)throw new TypeError("Value assigned to `logHandler` must be a function");this._logHandler=e},enumerable:!0,configurable:!0}),Object.defineProperty(x.prototype,"userLogHandler",{get:function(){return this._userLogHandler},set:function(e){this._userLogHandler=e},enumerable:!0,configurable:!0}),x.prototype.debug=function(){for(var e=[],t=0;t<arguments.length;t++)e[t]=arguments[t];this._userLogHandler&&this._userLogHandler.apply(this,O([this,P.DEBUG],e)),this._logHandler.apply(this,O([this,P.DEBUG],e))},x.prototype.log=function(){for(var e=[],t=0;t<arguments.length;t++)e[t]=arguments[t];this._userLogHandler&&this._userLogHandler.apply(this,O([this,P.VERBOSE],e)),this._logHandler.apply(this,O([this,P.VERBOSE],e))},x.prototype.info=function(){for(var e=[],t=0;t<arguments.length;t++)e[t]=arguments[t];this._userLogHandler&&this._userLogHandler.apply(this,O([this,P.INFO],e)),this._logHandler.apply(this,O([this,P.INFO],e))},x.prototype.warn=function(){for(var e=[],t=0;t<arguments.length;t++)e[t]=arguments[t];this._userLogHandler&&this._userLogHandler.apply(this,O([this,P.WARN],e)),this._logHandler.apply(this,O([this,P.WARN],e))},x.prototype.error=function(){for(var e=[],t=0;t<arguments.length;t++)e[t]=arguments[t];this._userLogHandler&&this._userLogHandler.apply(this,O([this,P.ERROR],e)),this._logHandler.apply(this,O([this,P.ERROR],e))},x);function x(e){this.name=e,this._logLevel=L,this._logHandler=R,this._userLogHandler=null,C.push(this)}function U(e){var t="string"==typeof e?D[e]:e;C.forEach(function(e){e.logLevel=t})}var F,q=((j={})["no-app"]="No Firebase App '{$appName}' has been created - call Firebase App.initializeApp()",j["bad-app-name"]="Illegal App name: '{$appName}",j["duplicate-app"]="Firebase App named '{$appName}' already exists",j["app-deleted"]="Firebase App named '{$appName}' already deleted",j["invalid-app-argument"]="firebase.{$appName}() takes either no argument or a Firebase App instance.",j["invalid-log-argument"]="First argument to `onLog` must be null or a function.",j),V=new v("app","Firebase",q),H="@firebase/app",K="[DEFAULT]",$=((F={})[H]="fire-core",F["@firebase/analytics"]="fire-analytics",F["@firebase/auth"]="fire-auth",F["@firebase/database"]="fire-rtdb",F["@firebase/functions"]="fire-fn",F["@firebase/installations"]="fire-iid",F["@firebase/messaging"]="fire-fcm",F["@firebase/performance"]="fire-perf",F["@firebase/remote-config"]="fire-rc",F["@firebase/storage"]="fire-gcs",F["@firebase/firestore"]="fire-fst",F["fire-js"]="fire-js",F["firebase-wrapper"]="fire-js-all",F),z=(Object.defineProperty(W.prototype,"automaticDataCollectionEnabled",{get:function(){return this.checkDestroyed_(),this.automaticDataCollectionEnabled_},set:function(e){this.checkDestroyed_(),this.automaticDataCollectionEnabled_=e},enumerable:!0,configurable:!0}),Object.defineProperty(W.prototype,"name",{get:function(){return this.checkDestroyed_(),this.name_},enumerable:!0,configurable:!0}),Object.defineProperty(W.prototype,"options",{get:function(){return this.checkDestroyed_(),this.options_},enumerable:!0,configurable:!0}),W.prototype.delete=function(){var t=this;return new Promise(function(e){t.checkDestroyed_(),e()}).then(function(){return t.firebase_.INTERNAL.removeApp(t.name_),Promise.all(t.container.getProviders().map(function(e){return e.delete()}))}).then(function(){t.isDeleted_=!0})},W.prototype._getService=function(e,t){return void 0===t&&(t=K),this.checkDestroyed_(),this.container.getProvider(e).getImmediate({identifier:t})},W.prototype.checkDestroyed_=function(){if(this.isDeleted_)throw V.create("app-deleted",{appName:this.name_})},W);function W(e,t,n){var r,i,o=this;this.firebase_=n,this.isDeleted_=!1,this.INTERNAL={},this.name_=t.name,this.automaticDataCollectionEnabled_=t.automaticDataCollectionEnabled||!1,this.options_=function(e){return g(void 0,e)}(e),this.container=new A(t.name),this.container.addComponent(new w("app",function(){return o},"PUBLIC"));try{for(var a=d(this.firebase_.INTERNAL.components.values()),s=a.next();!s.done;s=a.next()){var c=s.value;this.container.addComponent(c)}}catch(e){r={error:e}}finally{try{s&&!s.done&&(i=a.return)&&i.call(a)}finally{if(r)throw r.error}}}var G="7.13.1",J=new B("@firebase/app");function Z(c){var u={},f=new Map,l={__esModule:!0,initializeApp:function(e,t){void 0===t&&(t={});if("object"!=typeof t||null===t){t={name:t}}var n=t;void 0===n.name&&(n.name=K);var r=n.name;if("string"!=typeof r||!r)throw V.create("bad-app-name",{appName:String(r)});if(b(u,r))throw V.create("duplicate-app",{appName:r});var i=new c(e,n,l);return u[r]=i},app:p,registerVersion:function(e,t,n){var r,i=null!==(r=$[e])&&void 0!==r?r:e;n&&(i+="-"+n);var o=i.match(/\s|\//),a=t.match(/\s|\//);if(o||a){var s=['Unable to register library "'+i+'" with version "'+t+'":'];return o&&s.push('library name "'+i+'" contains illegal characters (whitespace or "/")'),o&&a&&s.push("and"),a&&s.push('version name "'+t+'" contains illegal characters (whitespace or "/")'),void J.warn(s.join(" "))}h(new w(i+"-version",function(){return{library:i,version:t}},"VERSION"))},setLogLevel:U,onLog:function(e,t){if(null!==e&&"function"!=typeof e)throw V.create("invalid-log-argument",{appName:name});!function(a,t){for(var e=function(e){var o=null;t&&t.level&&(o=D[t.level]),e.userLogHandler=null===a?null:function(e,t){for(var n=[],r=2;r<arguments.length;r++)n[r-2]=arguments[r];var i=n.map(function(e){if(null==e)return null;if("string"==typeof e)return e;if("number"==typeof e||"boolean"==typeof e)return e.toString();if(e instanceof Error)return e.message;try{return JSON.stringify(e)}catch(e){return null}}).filter(function(e){return e}).join(" ");t>=(null!=o?o:e.logLevel)&&a({level:P[t].toLowerCase(),message:i,args:n,type:e.name})}},n=0,r=C;n<r.length;n++){e(r[n])}}(e,t)},apps:null,SDK_VERSION:G,INTERNAL:{registerComponent:h,removeApp:function(e){delete u[e]},components:f,useAsService:function(e,t){return"serverAuth"!==t?t:null}}};function p(e){if(!b(u,e=e||K))throw V.create("no-app",{appName:e});return u[e]}function h(n){var t,e,r=n.name;if(f.has(r))return J.debug("There were multiple attempts to register component "+r+"."),"PUBLIC"===n.type?l[r]:null;if(f.set(r,n),"PUBLIC"===n.type){var i=function(e){if(void 0===e&&(e=p()),"function"!=typeof e[r])throw V.create("invalid-app-argument",{appName:r});return e[r]()};void 0!==n.serviceProps&&g(i,n.serviceProps),l[r]=i,c.prototype[r]=function(){for(var e=[],t=0;t<arguments.length;t++)e[t]=arguments[t];return this._getService.bind(this,r).apply(this,n.multipleInstances?e:[])}}try{for(var o=d(Object.keys(u)),a=o.next();!a.done;a=o.next()){var s=a.value;u[s]._addComponent(n)}}catch(e){t={error:e}}finally{try{a&&!a.done&&(e=o.return)&&e.call(o)}finally{if(t)throw t.error}}return"PUBLIC"===n.type?l[r]:null}return l.default=l,Object.defineProperty(l,"apps",{get:function(){return Object.keys(u).map(function(e){return u[e]})}}),p.App=c,l}var Y=(Q.prototype.getPlatformInfoString=function(){return this.container.getProviders().map(function(e){if(function(e){var t=e.getComponent();return"VERSION"===(null==t?void 0:t.type)}(e)){var t=e.getImmediate();return t.library+"/"+t.version}return null}).filter(function(e){return e}).join(" ")},Q);function Q(e){this.container=e}var X,ee,te=function(){var e=Z(z);e.SDK_VERSION=e.SDK_VERSION+"_LITE";var t=e.INTERNAL.registerComponent;return e.INTERNAL.registerComponent=function(e){if("PUBLIC"!==e.type||"performance"===e.name||"installations"===e.name)return t(e);throw Error(name+" cannot register with the standalone perf instance")},e}();function ne(n){return new Promise(function(e,t){n.onsuccess=function(){e(n.result)},n.onerror=function(){t(n.error)}})}function re(n,r,i){var o,e=new Promise(function(e,t){ne(o=n[r].apply(n,i)).then(e,t)});return e.request=o,e}function ie(e,n,t){t.forEach(function(t){Object.defineProperty(e.prototype,t,{get:function(){return this[n][t]},set:function(e){this[n][t]=e}})})}function oe(t,n,r,e){e.forEach(function(e){e in r.prototype&&(t.prototype[e]=function(){return re(this[n],e,arguments)})})}function ae(t,n,r,e){e.forEach(function(e){e in r.prototype&&(t.prototype[e]=function(){return this[n][e].apply(this[n],arguments)})})}function se(t,n,r,e){e.forEach(function(e){e in r.prototype&&(t.prototype[e]=function(){return function(e,t,n){var r=re(e,t,n);return r.then(function(e){if(e)return new ue(e,r.request)})}(this[n],e,arguments)})})}function ce(e){this._index=e}function ue(e,t){this._cursor=e,this._request=t}function fe(e){this._store=e}function le(n){this._tx=n,this.complete=new Promise(function(e,t){n.oncomplete=function(){e()},n.onerror=function(){t(n.error)},n.onabort=function(){t(n.error)}})}function pe(e,t,n){this._db=e,this.oldVersion=t,this.transaction=new le(n)}function he(e){this._db=e}ee="lite",(X=te).INTERNAL.registerComponent(new w("platform-logger",function(e){return new Y(e)},"PRIVATE")),X.registerVersion(H,"0.6.0",ee),X.registerVersion("fire-js",""),ie(ce,"_index",["name","keyPath","multiEntry","unique"]),oe(ce,"_index",IDBIndex,["get","getKey","getAll","getAllKeys","count"]),se(ce,"_index",IDBIndex,["openCursor","openKeyCursor"]),ie(ue,"_cursor",["direction","key","primaryKey","value"]),oe(ue,"_cursor",IDBCursor,["update","delete"]),["advance","continue","continuePrimaryKey"].forEach(function(n){n in IDBCursor.prototype&&(ue.prototype[n]=function(){var t=this,e=arguments;return Promise.resolve().then(function(){return t._cursor[n].apply(t._cursor,e),ne(t._request).then(function(e){if(e)return new ue(e,t._request)})})})}),fe.prototype.createIndex=function(){return new ce(this._store.createIndex.apply(this._store,arguments))},fe.prototype.index=function(){return new ce(this._store.index.apply(this._store,arguments))},ie(fe,"_store",["name","keyPath","indexNames","autoIncrement"]),oe(fe,"_store",IDBObjectStore,["put","add","delete","clear","get","getAll","getKey","getAllKeys","count"]),se(fe,"_store",IDBObjectStore,["openCursor","openKeyCursor"]),ae(fe,"_store",IDBObjectStore,["deleteIndex"]),le.prototype.objectStore=function(){return new fe(this._tx.objectStore.apply(this._tx,arguments))},ie(le,"_tx",["objectStoreNames","mode"]),ae(le,"_tx",IDBTransaction,["abort"]),pe.prototype.createObjectStore=function(){return new fe(this._db.createObjectStore.apply(this._db,arguments))},ie(pe,"_db",["name","version","objectStoreNames"]),ae(pe,"_db",IDBDatabase,["deleteObjectStore","close"]),he.prototype.transaction=function(){return new le(this._db.transaction.apply(this._db,arguments))},ie(he,"_db",["name","version","objectStoreNames"]),ae(he,"_db",IDBDatabase,["close"]),["openCursor","openKeyCursor"].forEach(function(i){[fe,ce].forEach(function(e){i in e.prototype&&(e.prototype[i.replace("open","iterate")]=function(){var e=function(e){return Array.prototype.slice.call(e)}(arguments),t=e[e.length-1],n=this._store||this._index,r=n[i].apply(n,e.slice(0,-1));r.onsuccess=function(){t(r.result)}})})}),[ce,fe].forEach(function(e){e.prototype.getAll||(e.prototype.getAll=function(e,n){var r=this,i=[];return new Promise(function(t){r.iterateCursor(e,function(e){e?(i.push(e.value),void 0===n||i.length!=n?e.continue():t(i)):t(i)})})})});var de,ge=1e4,ve="w:0.4.6",me="FIS_v2",ye="https://firebaseinstallations.googleapis.com/v1",be=36e5,we=((de={})["missing-app-config-values"]='Missing App configuration value: "{$valueName}"',de["not-registered"]="Firebase Installation is not registered.",de["installation-not-found"]="Firebase Installation not found.",de["request-failed"]='{$requestName} request failed with error "{$serverCode} {$serverStatus}: {$serverMessage}"',de["app-offline"]="Could not process request. Application offline.",de["delete-pending-registration"]="Can't delete installation while there is a pending registration request.",de),_e=new v("installations","Installations",we);function Ie(e){return e instanceof h&&e.code.includes("request-failed")}function Ee(e){var t=e.projectId;return ye+"/projects/"+t+"/installations"}function Se(e){return{token:e.token,requestStatus:2,expiresIn:function(e){return Number(e.replace("s","000"))}(e.expiresIn),creationTime:Date.now()}}function Te(r,i){return l(this,void 0,void 0,function(){var t,n;return p(this,function(e){switch(e.label){case 0:return[4,i.json()];case 1:return t=e.sent(),n=t.error,[2,_e.create("request-failed",{requestName:r,serverCode:n.code,serverMessage:n.message,serverStatus:n.status})]}})})}function Ae(e){var t=e.apiKey;return new Headers({"Content-Type":"application/json",Accept:"application/json","x-goog-api-key":t})}function Ne(e,t){var n=t.refreshToken,r=Ae(e);return r.append("Authorization",function(e){return me+" "+e}(n)),r}function Oe(n){return l(this,void 0,void 0,function(){var t;return p(this,function(e){switch(e.label){case 0:return[4,n()];case 1:return 500<=(t=e.sent()).status&&t.status<600?[2,n()]:[2,t]}})})}function Pe(t){return new Promise(function(e){setTimeout(e,t)})}function ke(e){return btoa(String.fromCharCode.apply(String,function(){for(var e=[],t=0;t<arguments.length;t++)e=e.concat(f(arguments[t]));return e}(e))).replace(/\+/g,"-").replace(/\//g,"_")}var Ce=/^[cdef][\w-]{21}$/,Re="";function je(){try{var e=new Uint8Array(17);(self.crypto||self.msCrypto).getRandomValues(e),e[0]=112+e[0]%16;var t=function(e){return ke(e).substr(0,22)}(e);return Ce.test(t)?t:Re}catch(e){return Re}}function De(e){return e.appName+"!"+e.appId}var Le=new Map;function Me(e,t){var n=De(e);Be(n,t),function(e,t){var n=Ue();n&&n.postMessage({key:e,fid:t});Fe()}(n,t)}function Be(e,t){var n,r,i=Le.get(e);if(i)try{for(var o=d(i),a=o.next();!a.done;a=o.next()){(0,a.value)(t)}}catch(e){n={error:e}}finally{try{a&&!a.done&&(r=o.return)&&r.call(o)}finally{if(n)throw n.error}}}var xe=null;function Ue(){return!xe&&"BroadcastChannel"in self&&((xe=new BroadcastChannel("[Firebase] FID Change")).onmessage=function(e){Be(e.data.key,e.data.fid)}),xe}function Fe(){0===Le.size&&xe&&(xe.close(),xe=null)}var qe,Ve="firebase-installations-database",He=1,Ke="firebase-installations-store",$e=null;function ze(){return $e=$e||function(e,t,n){var r=re(indexedDB,"open",[e,t]),i=r.request;return i&&(i.onupgradeneeded=function(e){n&&n(new pe(i.result,e.oldVersion,i.transaction))}),r.then(function(e){return new he(e)})}(Ve,He,function(e){switch(e.oldVersion){case 0:e.createObjectStore(Ke)}})}function We(a,s){return l(this,void 0,void 0,function(){var t,n,r,i,o;return p(this,function(e){switch(e.label){case 0:return t=De(a),[4,ze()];case 1:return n=e.sent(),r=n.transaction(Ke,"readwrite"),[4,(i=r.objectStore(Ke)).get(t)];case 2:return o=e.sent(),[4,i.put(s,t)];case 3:return e.sent(),[4,r.complete];case 4:return e.sent(),o&&o.fid===s.fid||Me(a,s.fid),[2,s]}})})}function Ge(i){return l(this,void 0,void 0,function(){var t,n,r;return p(this,function(e){switch(e.label){case 0:return t=De(i),[4,ze()];case 1:return n=e.sent(),[4,(r=n.transaction(Ke,"readwrite")).objectStore(Ke).delete(t)];case 2:return e.sent(),[4,r.complete];case 3:return e.sent(),[2]}})})}function Je(s,c){return l(this,void 0,void 0,function(){var t,n,r,i,o,a;return p(this,function(e){switch(e.label){case 0:return t=De(s),[4,ze()];case 1:return n=e.sent(),r=n.transaction(Ke,"readwrite"),[4,(i=r.objectStore(Ke)).get(t)];case 2:return o=e.sent(),void 0!==(a=c(o))?[3,4]:[4,i.delete(t)];case 3:return e.sent(),[3,6];case 4:return[4,i.put(a,t)];case 5:e.sent(),e.label=6;case 6:return[4,r.complete];case 7:return e.sent(),!a||o&&o.fid===a.fid||Me(s,a.fid),[2,a]}})})}function Ze(i){return l(this,void 0,void 0,function(){var r,t,n;return p(this,function(e){switch(e.label){case 0:return[4,Je(i,function(e){var t=function(e){return Qe(e||{fid:je(),registrationStatus:0})}(e),n=function(e,t){{if(0!==t.registrationStatus)return 1===t.registrationStatus?{installationEntry:t,registrationPromise:function(o){return l(this,void 0,void 0,function(){var t,n,r,i;return p(this,function(e){switch(e.label){case 0:return[4,Ye(o)];case 1:t=e.sent(),e.label=2;case 2:return 1!==t.registrationStatus?[3,5]:[4,Pe(100)];case 3:return e.sent(),[4,Ye(o)];case 4:return t=e.sent(),[3,2];case 5:return 0!==t.registrationStatus?[3,7]:[4,Ze(o)];case 6:return n=e.sent(),r=n.installationEntry,(i=n.registrationPromise)?[2,i]:[2,r];case 7:return[2,t]}})})}(e)}:{installationEntry:t};if(!navigator.onLine){var n=Promise.reject(_e.create("app-offline"));return{installationEntry:t,registrationPromise:n}}var r={fid:t.fid,registrationStatus:1,registrationTime:Date.now()},i=function(r,i){return l(this,void 0,void 0,function(){var t,n;return p(this,function(e){switch(e.label){case 0:return e.trys.push([0,2,,7]),[4,function(s,e){var c=e.fid;return l(this,void 0,void 0,function(){var t,n,r,i,o,a;return p(this,function(e){switch(e.label){case 0:return t=Ee(s),n=Ae(s),r={fid:c,authVersion:me,appId:s.appId,sdkVersion:ve},i={method:"POST",headers:n,body:JSON.stringify(r)},[4,Oe(function(){return fetch(t,i)})];case 1:return(o=e.sent()).ok?[4,o.json()]:[3,3];case 2:return a=e.sent(),[2,{fid:a.fid||c,registrationStatus:2,refreshToken:a.refreshToken,authToken:Se(a.authToken)}];case 3:return[4,Te("Create Installation",o)];case 4:throw e.sent()}})})}(r,i)];case 1:return t=e.sent(),[2,We(r,t)];case 2:return Ie(n=e.sent())&&409===n.serverCode?[4,Ge(r)]:[3,4];case 3:return e.sent(),[3,6];case 4:return[4,We(r,{fid:i.fid,registrationStatus:0})];case 5:e.sent(),e.label=6;case 6:throw n;case 7:return[2]}})})}(e,r);return{installationEntry:r,registrationPromise:i}}}(i,t);return r=n.registrationPromise,n.installationEntry})];case 1:return(t=e.sent()).fid!==Re?[3,3]:(n={},[4,r]);case 2:return[2,(n.installationEntry=e.sent(),n)];case 3:return[2,{installationEntry:t,registrationPromise:r}]}})})}function Ye(e){return Je(e,function(e){if(!e)throw _e.create("installation-not-found");return Qe(e)})}function Qe(e){return function(e){return 1===e.registrationStatus&&e.registrationTime+ge<Date.now()}(e)?{fid:e.fid,registrationStatus:0}:e}function Xe(e,c){var u=e.appConfig,f=e.platformLoggerProvider;return l(this,void 0,void 0,function(){var t,n,r,i,o,a,s;return p(this,function(e){switch(e.label){case 0:return t=function(e,t){var n=t.fid;return Ee(e)+"/"+n+"/authTokens:generate"}(u,c),n=Ne(u,c),(r=f.getImmediate({optional:!0}))&&n.append("x-firebase-client",r.getPlatformInfoString()),i={installation:{sdkVersion:ve}},o={method:"POST",headers:n,body:JSON.stringify(i)},[4,Oe(function(){return fetch(t,o)})];case 1:return(a=e.sent()).ok?[4,a.json()]:[3,3];case 2:return s=e.sent(),[2,Se(s)];case 3:return[4,Te("Generate Auth Token",a)];case 4:throw e.sent()}})})}function et(i,o){return void 0===o&&(o=!1),l(this,void 0,void 0,function(){var r,t,n;return p(this,function(e){switch(e.label){case 0:return[4,Je(i.appConfig,function(e){if(!nt(e))throw _e.create("not-registered");var t=e.authToken;if(!o&&function(e){return 2===e.requestStatus&&!function(e){var t=Date.now();return t<e.creationTime||e.creationTime+e.expiresIn<t+be}(e)}(t))return e;if(1===t.requestStatus)return r=function(r,i){return l(this,void 0,void 0,function(){var t,n;return p(this,function(e){switch(e.label){case 0:return[4,tt(r.appConfig)];case 1:t=e.sent(),e.label=2;case 2:return 1!==t.authToken.requestStatus?[3,5]:[4,Pe(100)];case 3:return e.sent(),[4,tt(r.appConfig)];case 4:return t=e.sent(),[3,2];case 5:return 0===(n=t.authToken).requestStatus?[2,et(r,i)]:[2,n]}})})}(i,o),e;if(!navigator.onLine)throw _e.create("app-offline");var n=function(e){var t={requestStatus:1,requestTime:Date.now()};return a(a({},e),{authToken:t})}(e);return r=function(i,o){return l(this,void 0,void 0,function(){var t,n,r;return p(this,function(e){switch(e.label){case 0:return e.trys.push([0,3,,8]),[4,Xe(i,o)];case 1:return t=e.sent(),r=a(a({},o),{authToken:t}),[4,We(i.appConfig,r)];case 2:return e.sent(),[2,t];case 3:return!Ie(n=e.sent())||401!==n.serverCode&&404!==n.serverCode?[3,5]:[4,Ge(i.appConfig)];case 4:return e.sent(),[3,7];case 5:return r=a(a({},o),{authToken:{requestStatus:0}}),[4,We(i.appConfig,r)];case 6:e.sent(),e.label=7;case 7:throw n;case 8:return[2]}})})}(i,n),n})];case 1:return t=e.sent(),r?[4,r]:[3,3];case 2:return n=e.sent(),[3,4];case 3:n=t.authToken,e.label=4;case 4:return[2,n]}})})}function tt(e){return Je(e,function(e){if(!nt(e))throw _e.create("not-registered");return function(e){return 1===e.requestStatus&&e.requestTime+ge<Date.now()}(e.authToken)?a(a({},e),{authToken:{requestStatus:0}}):e})}function nt(e){return void 0!==e&&2===e.registrationStatus}function rt(t,n){return void 0===n&&(n=!1),l(this,void 0,void 0,function(){return p(this,function(e){switch(e.label){case 0:return[4,function(n){return l(this,void 0,void 0,function(){var t;return p(this,function(e){switch(e.label){case 0:return[4,Ze(n)];case 1:return(t=e.sent().registrationPromise)?[4,t]:[3,3];case 2:e.sent(),e.label=3;case 3:return[2]}})})}(t.appConfig)];case 1:return e.sent(),[4,et(t,n)];case 2:return[2,e.sent().token]}})})}function it(o,a){return l(this,void 0,void 0,function(){var t,n,r,i;return p(this,function(e){switch(e.label){case 0:return t=function(e,t){var n=t.fid;return Ee(e)+"/"+n}(o,a),n=Ne(o,a),r={method:"DELETE",headers:n},[4,Oe(function(){return fetch(t,r)})];case 1:return(i=e.sent()).ok?[3,3]:[4,Te("Delete Installation",i)];case 2:throw e.sent();case 3:return[2]}})})}function ot(e,t){var n=e.appConfig;return function(e,t){Ue();var n=De(e),r=Le.get(n);r||(r=new Set,Le.set(n,r)),r.add(t)}(n,t),function(){!function(e,t){var n=De(e),r=Le.get(n);r&&(r.delete(t),0===r.size&&Le.delete(n),Fe())}(n,t)}}function at(e){return _e.create("missing-app-config-values",{valueName:e})}(qe=te).INTERNAL.registerComponent(new w("installations",function(e){var t=e.getProvider("app").getImmediate(),n={appConfig:function(e){var t,n;if(!e||!e.options)throw at("App Configuration");if(!e.name)throw at("App Name");try{for(var r=d(["projectId","apiKey","appId"]),i=r.next();!i.done;i=r.next()){var o=i.value;if(!e.options[o])throw at(o)}}catch(e){t={error:e}}finally{try{i&&!i.done&&(n=r.return)&&n.call(r)}finally{if(t)throw t.error}}return{appName:e.name,projectId:e.options.projectId,apiKey:e.options.apiKey,appId:e.options.appId}}(t),platformLoggerProvider:e.getProvider("platform-logger")};return{app:t,getId:function(){return function(i){return l(this,void 0,void 0,function(){var t,n,r;return p(this,function(e){switch(e.label){case 0:return[4,Ze(i.appConfig)];case 1:return t=e.sent(),n=t.installationEntry,(r=t.registrationPromise)?r.catch(console.error):et(i).catch(console.error),[2,n.fid]}})})}(n)},getToken:function(e){return rt(n,e)},delete:function(){return function(r){return l(this,void 0,void 0,function(){var t,n;return p(this,function(e){switch(e.label){case 0:return[4,Je(t=r.appConfig,function(e){if(!e||0!==e.registrationStatus)return e})];case 1:if(!(n=e.sent()))return[3,6];if(1!==n.registrationStatus)return[3,2];throw _e.create("delete-pending-registration");case 2:if(2!==n.registrationStatus)return[3,6];if(navigator.onLine)return[3,3];throw _e.create("app-offline");case 3:return[4,it(t,n)];case 4:return e.sent(),[4,Ge(t)];case 5:e.sent(),e.label=6;case 6:return[2]}})})}(n)},onIdChange:function(e){return ot(n,e)}}},"PUBLIC")),qe.registerVersion("@firebase/installations","0.4.6");var st,ct,ut,ft,lt="0.2.36",pt="FB-PERF-TRACE-MEASURE",ht="@firebase/performance/config",dt="@firebase/performance/configexpire",gt="Performance",vt=((st={})["trace started"]="Trace {$traceName} was started before.",st["trace stopped"]="Trace {$traceName} is not running.",st["no window"]="Window is not available.",st["no app id"]="App id is not available.",st["no project id"]="Project id is not available.",st["no api key"]="Api key is not available.",st["invalid cc log"]="Attempted to queue invalid cc event",st["FB not default"]="Performance can only start when Firebase app instance is the default one.",st["RC response not ok"]="RC response is not ok",st["invalid attribute name"]="Attribute name {$attributeName} is invalid.",st["invalid attribute value"]="Attribute value {$attributeValue} is invalid.",st["invalide custom metric name"]="Custom metric name {$customMetricName} is invalid",st),mt=new v("performance",gt,vt),yt=(bt.prototype.getUrl=function(){return this.windowLocation.href.split("?")[0]},bt.prototype.mark=function(e){this.performance&&this.performance.mark&&this.performance.mark(e)},bt.prototype.measure=function(e,t,n){this.performance&&this.performance.measure&&this.performance.measure(e,t,n)},bt.prototype.getEntriesByType=function(e){return this.performance&&this.performance.getEntriesByType?this.performance.getEntriesByType(e):[]},bt.prototype.getEntriesByName=function(e){return this.performance&&this.performance.getEntriesByName?this.performance.getEntriesByName(e):[]},bt.prototype.getTimeOrigin=function(){return this.performance&&(this.performance.timeOrigin||this.performance.timing.navigationStart)},bt.prototype.requiredApisAvailable=function(){return!!(fetch&&Promise&&this.navigator&&this.navigator.cookieEnabled)},bt.prototype.setupObserver=function(e,i){this.PerformanceObserver&&new this.PerformanceObserver(function(e){for(var t=0,n=e.getEntries();t<n.length;t++){var r=n[t];i(r)}}).observe({entryTypes:[e]})},bt.getInstance=function(){return void 0===ct&&(ct=new bt(ut)),ct},bt);function bt(e){if(!(this.window=e))throw mt.create("no window");this.performance=e.performance,this.PerformanceObserver=e.PerformanceObserver,this.windowLocation=e.location,this.navigator=e.navigator,this.document=e.document,this.navigator&&this.navigator.cookieEnabled&&(this.localStorage=e.localStorage),e.perfMetrics&&e.perfMetrics.onFirstInputDelay&&(this.onFirstInputDelay=e.perfMetrics.onFirstInputDelay)}var wt,_t,It,Et=(St.prototype.getAppId=function(){var e=this.firebaseAppInstance&&this.firebaseAppInstance.options&&this.firebaseAppInstance.options.appId;if(!e)throw mt.create("no app id");return e},St.prototype.getProjectId=function(){var e=this.firebaseAppInstance&&this.firebaseAppInstance.options&&this.firebaseAppInstance.options.projectId;if(!e)throw mt.create("no project id");return e},St.prototype.getApiKey=function(){var e=this.firebaseAppInstance&&this.firebaseAppInstance.options&&this.firebaseAppInstance.options.apiKey;if(!e)throw mt.create("no api key");return e},St.getInstance=function(){return void 0===ft&&(ft=new St),ft},St);function St(){this.instrumentationEnabled=!0,this.dataCollectionEnabled=!0,this.loggingEnabled=!1,this.tracesSamplingRate=1,this.networkRequestsSamplingRate=1,this.logEndPointUrl="https://firebaselogging.googleapis.com/v0cc/log?format=json_proto",this.logSource=462,this.logTraceAfterSampling=!1,this.logNetworkAfterSampling=!1,this.configTimeToLive=12}function Tt(){return wt}(It=_t=_t||{})[It.UNKNOWN=0]="UNKNOWN",It[It.VISIBLE=1]="VISIBLE",It[It.HIDDEN=2]="HIDDEN";var At=["firebase_","google_","ga_"],Nt=new RegExp("^[a-zA-Z]\\w*$");function Ot(){switch(yt.getInstance().document.visibilityState){case"visible":return _t.VISIBLE;case"hidden":return _t.HIDDEN;default:return _t.UNKNOWN}}var Pt=new B(gt);Pt.logLevel=P.INFO;var kt="0.0.1",Ct={loggingEnabled:!0},Rt="FIREBASE_INSTALLATIONS_AUTH";function jt(e){var t=function(){var e=yt.getInstance().localStorage;if(!e)return;var t=e.getItem(dt);if(!t||!function(e){return Number(e)>Date.now()}(t))return;var n=e.getItem(ht);if(!n)return;try{return JSON.parse(n)}catch(e){return}}();return t?(Lt(t),Promise.resolve()):function(r){return function(){var e=Et.getInstance().installationsService.getToken();return e.then(function(e){}),e}().then(function(e){var t="https://firebaseremoteconfig.googleapis.com/v1/projects/"+Et.getInstance().getProjectId()+"/namespaces/fireperf:fetch?key="+Et.getInstance().getApiKey(),n=new Request(t,{method:"POST",headers:{Authorization:Rt+" "+e},body:JSON.stringify({app_instance_id:r,app_instance_id_token:e,app_id:Et.getInstance().getAppId(),app_version:lt,sdk_version:kt})});return fetch(n).then(function(e){if(e.ok)return e.json();throw mt.create("RC response not ok")})}).catch(function(){Pt.info(Dt)})}(e).then(function(e){return Lt(e)}).then(function(e){return function(e){var t=yt.getInstance().localStorage;if(!e||!t)return;t.setItem(ht,JSON.stringify(e)),t.setItem(dt,String(Date.now()+60*Et.getInstance().configTimeToLive*60*1e3))}(e)},function(){})}var Dt="Could not fetch config, will use default configs";function Lt(e){if(!e)return e;var t=Et.getInstance(),n=e.entries||{};return void 0!==n.fpr_enabled?t.loggingEnabled="true"===String(n.fpr_enabled):t.loggingEnabled=Ct.loggingEnabled,n.fpr_log_source&&(t.logSource=Number(n.fpr_log_source)),n.fpr_log_endpoint_url&&(t.logEndPointUrl=n.fpr_log_endpoint_url),void 0!==n.fpr_vc_network_request_sampling_rate&&(t.networkRequestsSamplingRate=Number(n.fpr_vc_network_request_sampling_rate)),void 0!==n.fpr_vc_trace_sampling_rate&&(t.tracesSamplingRate=Number(n.fpr_vc_trace_sampling_rate)),t.logTraceAfterSampling=Mt(t.tracesSamplingRate),t.logNetworkAfterSampling=Mt(t.networkRequestsSamplingRate),e}function Mt(e){return Math.random()<=e}var Bt,xt=1;function Ut(){return xt=2,Bt=Bt||function(){var n=yt.getInstance().document;return new Promise(function(e){if(n&&"complete"!==n.readyState){var t=function(){"complete"===n.readyState&&(n.removeEventListener("readystatechange",t),e())};n.addEventListener("readystatechange",t)}else e()})}().then(function(){return function(){var e=Et.getInstance().installationsService.getId();return e.then(function(e){wt=e}),e}()}).then(function(e){return jt(e)}).then(function(){return Ft()},function(){return Ft()})}function Ft(){xt=3}var qt,Vt=1e4,Ht=5500,Kt=3,$t=Kt,zt=[],Wt=!1;function Gt(){Wt||(!function r(e){setTimeout(function(){if(0!==$t){if(!zt.length)return r(Vt);var e=i(zt);zt=[];var t=e.map(function(e){return{source_extension_json_proto3:e.message,event_time_ms:String(e.eventTime)}}),n={request_time_ms:String(Date.now()),client_info:{client_type:1,js_client_info:{}},log_source:Et.getInstance().logSource,log_event:t};fetch(Et.getInstance().logEndPointUrl,{method:"POST",body:JSON.stringify(n)}).then(function(e){return e.ok||Pt.info("Call to Firebase backend failed."),e.json()}).then(function(e){var t=Number(e.next_request_wait_millis),n=isNaN(t)?Vt:Math.max(Vt,t);$t=Kt,r(n)}).catch(function(){zt=i(e,zt),$t--,Pt.info("Tries left: "+$t+"."),r(Vt)})}},e)}(Ht),Wt=!0)}function Jt(n){return function(){for(var e=[],t=0;t<arguments.length;t++)e[t]=arguments[t];!function(e){if(!e.eventTime||!e.message)throw mt.create("invalid cc log");zt=i(zt,[e])}({message:n.apply(void 0,e),eventTime:Date.now()})}}function Zt(e,t){(qt=qt||Jt(Xt))(e,t)}function Yt(e){var t=Et.getInstance();!t.instrumentationEnabled&&e.isAuto||(t.dataCollectionEnabled||e.isAuto)&&yt.getInstance().requiredApisAvailable()&&(e.isAuto&&Ot()!==_t.VISIBLE||t.loggingEnabled&&t.logTraceAfterSampling&&(3===xt?Qt(e):Ut().then(function(){return Qt(e)},function(){return Qt(e)})))}function Qt(e){Tt()&&setTimeout(function(){return Zt(e,1)},0)}function Xt(e,t){return 0===t?function(e){var t={url:e.url,http_method:e.httpMethod||0,http_response_code:200,response_payload_bytes:e.responsePayloadBytes,client_start_time_us:e.startTimeUs,time_to_response_initiated_us:e.timeToResponseInitiatedUs,time_to_response_completed_us:e.timeToResponseCompletedUs},n={application_info:en(),network_request_metric:t};return JSON.stringify(n)}(e):function(e){var t={name:e.name,is_auto:e.isAuto,client_start_time_us:e.startTimeUs,duration_us:e.durationUs};0!==Object.keys(e.counters).length&&(t.counters=e.counters);var n=e.getAttributes();0!==Object.keys(n).length&&(t.custom_attributes=n);var r={application_info:en(),trace_metric:t};return JSON.stringify(r)}(e)}function en(){return{google_app_id:Et.getInstance().getAppId(),app_instance_id:Tt(),web_app_info:{sdk_version:lt,page_url:yt.getInstance().getUrl(),service_worker_status:function(){var e=yt.getInstance().navigator;return"serviceWorker"in e?e.serviceWorker.controller?2:3:1}(),visibility_state:Ot(),effective_connection_type:function(){var e=yt.getInstance().navigator.connection;switch(e&&e.effectiveType){case"slow-2g":return 1;case"2g":return 2;case"3g":return 3;case"4g":return 4;default:return 0}}()},application_process_state:0}}var tn=["_fp","_fcp","_fid"];var nn=(rn.prototype.start=function(){if(1!==this.state)throw mt.create("trace started",{traceName:this.name});this.api.mark(this.traceStartMark),this.state=2},rn.prototype.stop=function(){if(2!==this.state)throw mt.create("trace stopped",{traceName:this.name});this.state=3,this.api.mark(this.traceStopMark),this.api.measure(this.traceMeasure,this.traceStartMark,this.traceStopMark),this.calculateTraceMetrics(),Yt(this)},rn.prototype.record=function(e,t,n){if(this.durationUs=Math.floor(1e3*t),this.startTimeUs=Math.floor(1e3*e),n&&n.attributes&&(this.customAttributes=a({},n.attributes)),n&&n.metrics)for(var r=0,i=Object.keys(n.metrics);r<i.length;r++){var o=i[r];isNaN(Number(n.metrics[o]))||(this.counters[o]=Number(Math.floor(n.metrics[o])))}Yt(this)},rn.prototype.incrementMetric=function(e,t){void 0===t&&(t=1),void 0===this.counters[e]&&this.putMetric(e,0),this.counters[e]+=t},rn.prototype.putMetric=function(e,t){if(!function(e,t){return!(0===e.length||100<e.length)&&(t&&t.startsWith("_wt_")&&-1<tn.indexOf(e)||!e.startsWith("_"))}(e,this.name))throw mt.create("invalide custom metric name",{customMetricName:e});this.counters[e]=t},rn.prototype.getMetric=function(e){return this.counters[e]||0},rn.prototype.putAttribute=function(e,t){var n=function(t){return!(0===t.length||40<t.length||At.some(function(e){return t.startsWith(e)})||!t.match(Nt))}(e),r=function(e){return 0!==e.length&&e.length<=100}(t);if(n&&r)this.customAttributes[e]=t;else{if(!n)throw mt.create("invalid attribute name",{attributeName:e});if(!r)throw mt.create("invalid attribute value",{attributeValue:t})}},rn.prototype.getAttribute=function(e){return this.customAttributes[e]},rn.prototype.removeAttribute=function(e){void 0!==this.customAttributes[e]&&delete this.customAttributes[e]},rn.prototype.getAttributes=function(){return a({},this.customAttributes)},rn.prototype.setStartTime=function(e){this.startTimeUs=e},rn.prototype.setDuration=function(e){this.durationUs=e},rn.prototype.calculateTraceMetrics=function(){var e=this.api.getEntriesByName(this.traceMeasure),t=e&&e[0];t&&(this.durationUs=Math.floor(1e3*t.duration),this.startTimeUs=Math.floor(1e3*(t.startTime+this.api.getTimeOrigin())))},rn.createOobTrace=function(e,t,n){var r=yt.getInstance().getUrl();if(r){var i=new rn("_wt_"+r,!0),o=Math.floor(1e3*yt.getInstance().getTimeOrigin());if(i.setStartTime(o),e&&e[0]&&(i.setDuration(Math.floor(1e3*e[0].duration)),i.putMetric("domInteractive",Math.floor(1e3*e[0].domInteractive)),i.putMetric("domContentLoadedEventEnd",Math.floor(1e3*e[0].domContentLoadedEventEnd)),i.putMetric("loadEventEnd",Math.floor(1e3*e[0].loadEventEnd))),t){var a=t.find(function(e){return"first-paint"===e.name});a&&a.startTime&&i.putMetric("_fp",Math.floor(1e3*a.startTime));var s=t.find(function(e){return"first-contentful-paint"===e.name});s&&s.startTime&&i.putMetric("_fcp",Math.floor(1e3*s.startTime)),n&&i.putMetric("_fid",Math.floor(1e3*n))}Yt(i)}},rn.createUserTimingTrace=function(e){Yt(new rn(e,!1,e))},rn);function rn(e,t,n){void 0===t&&(t=!1),this.name=e,this.isAuto=t,this.state=1,this.customAttributes={},this.counters={},this.api=yt.getInstance(),this.randomId=Math.floor(1e6*Math.random()),this.isAuto||(this.traceStartMark="FB-PERF-TRACE-START-"+this.randomId+"-"+this.name,this.traceStopMark="FB-PERF-TRACE-STOP-"+this.randomId+"-"+this.name,this.traceMeasure=n||pt+"-"+this.randomId+"-"+this.name,n&&this.calculateTraceMetrics())}function on(e){var t=e;if(t&&void 0!==t.responseStart){var n=yt.getInstance().getTimeOrigin(),r=Math.floor(1e3*(t.startTime+n)),i=t.responseStart?Math.floor(1e3*(t.responseStart-t.startTime)):void 0,o=Math.floor(1e3*(t.responseEnd-t.startTime));!function(e){var t=Et.getInstance();t.instrumentationEnabled&&e.url!==t.logEndPointUrl.split("?")[0]&&t.loggingEnabled&&t.logNetworkAfterSampling&&setTimeout(function(){return Zt(e,0)},0)}({url:t.name&&t.name.split("?")[0],responsePayloadBytes:t.transferSize,startTimeUs:r,timeToResponseInitiatedUs:i,timeToResponseCompletedUs:o})}}var an=5e3;function sn(){Tt()&&(setTimeout(function(){return function(){var e=yt.getInstance(),t=e.getEntriesByType("navigation"),n=e.getEntriesByType("paint");if(e.onFirstInputDelay){var r=setTimeout(function(){nn.createOobTrace(t,n),r=void 0},an);e.onFirstInputDelay(function(e){r&&(clearTimeout(r),nn.createOobTrace(t,n,e))})}else nn.createOobTrace(t,n)}()},0),setTimeout(function(){return function(){for(var e=yt.getInstance(),t=e.getEntriesByType("resource"),n=0,r=t;n<r.length;n++){on(r[n])}e.setupObserver("resource",on)}()},0),setTimeout(function(){return function(){for(var e=yt.getInstance(),t=e.getEntriesByType("measure"),n=0,r=t;n<r.length;n++){cn(r[n])}e.setupObserver("measure",cn)}()},0))}function cn(e){var t=e.name;t.substring(0,pt.length)!==pt&&nn.createUserTimingTrace(t)}var un=(fn.prototype.trace=function(e){return new nn(e)},Object.defineProperty(fn.prototype,"instrumentationEnabled",{get:function(){return Et.getInstance().instrumentationEnabled},set:function(e){Et.getInstance().instrumentationEnabled=e},enumerable:!0,configurable:!0}),Object.defineProperty(fn.prototype,"dataCollectionEnabled",{get:function(){return Et.getInstance().dataCollectionEnabled},set:function(e){Et.getInstance().dataCollectionEnabled=e},enumerable:!0,configurable:!0}),fn);function fn(e){this.app=e,yt.getInstance().requiredApisAvailable()?(Gt(),Ut().then(sn,sn)):Pt.info("Firebase Performance cannot start if browser does not support fetch and Promise or cookie is disabled.")}var ln;function pn(e,t){if("[DEFAULT]"!==e.name)throw mt.create("FB not default");if("undefined"==typeof window)throw mt.create("no window");return function(e){ut=e}(window),Et.getInstance().firebaseAppInstance=e,Et.getInstance().installationsService=t,new un(e)}(ln=te).INTERNAL.registerComponent(new w("performance",function(e){var t=e.getProvider("app").getImmediate(),n=e.getProvider("installations").getImmediate();return pn(t,n)},"PUBLIC")),ln.registerVersion("@firebase/performance","0.2.36");return te.registerVersion("firebase","7.13.1","lite"),te});
2//# sourceMappingURL=firebase-performance-standalone.js.map