diff --git a/bower.json b/bower.json
index 8e54277..66890ad 100644
--- a/bower.json
+++ b/bower.json
@@ -29,7 +29,7 @@
"paper-menu": "PolymerElements/paper-menu",
"paper-scroll-header-panel": "PolymerElements/paper-scroll-header-panel",
"paper-toolbar": "PolymerElements/paper-toolbar",
- "polymer": "Polymer/polymer",
+ "polymer": "^1.8.1",
"paper-icon-button": "PolymerElements/paper-icon-button",
"file-upload": "winhowes/file-upload",
"jquery": "",
diff --git a/components/index-page/index-page.html b/components/index-page/index-page.html
index a827c26..1b04eda 100644
--- a/components/index-page/index-page.html
+++ b/components/index-page/index-page.html
@@ -37,7 +37,7 @@
.mountains {
margin: 0 -15px;
}
- .mountains object {
+ .mountains img {
width: 100%;
margin-bottom: calc(100% / -5);
}
@@ -115,7 +115,7 @@
WHAT HAPPENS IF I DON'T HAVE A TEAM?
-
+
-
@@ -143,6 +142,9 @@ SCHEDULE
value: function() { return {}; },
},
},
+ attached: function() {
+ this.$.ajax.generateRequest();
+ },
map: function(location) {
return "https://campus.fn.lc/#"+(location || '').replace(/ /g, '+');
},
diff --git a/docs/404.html b/docs/404.html
index 21ea867..89ee84c 100644
--- a/docs/404.html
+++ b/docs/404.html
@@ -1 +1,35 @@
-nwHacks 2017
\ No newline at end of file
+
+
+
+
+
+
+
+
+
+ nwHacks 2017
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/docs/bower.json b/docs/bower.json
index 8e54277..66890ad 100644
--- a/docs/bower.json
+++ b/docs/bower.json
@@ -29,7 +29,7 @@
"paper-menu": "PolymerElements/paper-menu",
"paper-scroll-header-panel": "PolymerElements/paper-scroll-header-panel",
"paper-toolbar": "PolymerElements/paper-toolbar",
- "polymer": "Polymer/polymer",
+ "polymer": "^1.8.1",
"paper-icon-button": "PolymerElements/paper-icon-button",
"file-upload": "winhowes/file-upload",
"jquery": "",
diff --git a/docs/bower_components/app-storage/app-network-status-behavior.html b/docs/bower_components/app-storage/app-network-status-behavior.html
index 2e821f8..d926faa 100644
--- a/docs/bower_components/app-storage/app-network-status-behavior.html
+++ b/docs/bower_components/app-storage/app-network-status-behavior.html
@@ -1 +1,72 @@
-
\ No newline at end of file
+
+
+
\ No newline at end of file
diff --git a/docs/bower_components/app-storage/app-storage-behavior.html b/docs/bower_components/app-storage/app-storage-behavior.html
index 4768c02..1e71610 100644
--- a/docs/bower_components/app-storage/app-storage-behavior.html
+++ b/docs/bower_components/app-storage/app-storage-behavior.html
@@ -1 +1,480 @@
-
\ No newline at end of file
+
+
+
+
\ No newline at end of file
diff --git a/docs/bower_components/comma-separated-values/csv.min.js b/docs/bower_components/comma-separated-values/csv.min.js
index 7658eb1..e10eb33 100644
--- a/docs/bower_components/comma-separated-values/csv.min.js
+++ b/docs/bower_components/comma-separated-values/csv.min.js
@@ -1 +1 @@
-!function(k,q){"function"==typeof define&&define.amd?define([],q):"object"==typeof module&&module.exports?module.exports=q():k.CSV=q()}(this,function(){"use strict";function k(Q){var R=typeof Q;return"function"==R||"object"==R&&!!Q}function q(Q){return"string"==typeof Q}function x(Q){return!isNaN(+Q)}function z(Q){return 0==Q||1==Q}function B(Q){return null==Q}function C(Q){return null!=Q}function E(Q,R){return C(Q)?Q:R}function F(Q,R){for(var S=0,T=Q.length;T>S&&!1!==R(Q[S],S);S+=1);}function G(Q){return Q.replace(/"/g,"\\\"")}function H(Q){return"attrs["+Q+"]"}function I(Q,R){return x(Q)?"Number("+H(R)+")":z(Q)?"Boolean("+H(R)+" == true)":"String("+H(R)+")"}function J(Q,R,S,T){var U=[];return 3==arguments.length?(R?O(R)?F(S,function(V,W){q(R[W])?R[W]=R[W].toLowerCase():Q[R[W]]=R[W],U.push("deserialize[cast["+W+"]]("+H(W)+")")}):F(S,function(V,W){U.push(I(V,W))}):F(S,function(V,W){U.push(H(W))}),U="return ["+U.join(",")+"]"):(R?O(R)?F(S,function(V,W){q(R[W])?R[W]=R[W].toLowerCase():Q[R[W]]=R[W],U.push("\""+G(T[W])+"\": deserialize[cast["+W+"]]("+H(W)+")")}):F(S,function(V,W){U.push("\""+G(T[W])+"\": "+I(V,W))}):F(S,function(V,W){U.push("\""+G(T[W])+"\": "+H(W))}),U="return {"+U.join(",")+"}"),Function("attrs","deserialize","cast",U)}function K(Q,R){var S,T=0;return F(R,function(U){var V,W=U;-1!=L.indexOf(U)&&(W="\\"+W),V=Q.match(RegExp(W,"g")),V&&V.length>T&&(T=V.length,S=U)}),S||R[0]}var L=["|","^"],M=[",",";"," ","|","^"],N=["\r\n","\r","\n"],O=Array.isArray||function(Q){return"[object Array]"===toString.call(Q)},P=function(){function Q(U,V){if(V||(V={}),O(U))this.mode="encode";else{if(!q(U))throw Error("Incompatible format!");this.mode="parse"}this.data=U,this.options={header:E(V.header,!1),cast:E(V.cast,!0)};var W=V.lineDelimiter||V.line,X=V.cellDelimiter||V.delimiter;this.isParser()?(this.options.lineDelimiter=W||K(this.data,N),this.options.cellDelimiter=X||K(this.data,M),this.data=S(this.data,this.options.lineDelimiter)):this.isEncoder()&&(this.options.lineDelimiter=W||"\r\n",this.options.cellDelimiter=X||",")}function R(U,V,W,X,Y){U(new V(W,X,Y))}function S(U,V){return U.slice(-V.length)!=V&&(U+=V),U}function T(U){return O(U)?"array":k(U)?"object":q(U)?"string":B(U)?"null":"primitive"}return Q.prototype.set=function(U,V){return this.options[U]=V},Q.prototype.isParser=function(){return"parse"==this.mode},Q.prototype.isEncoder=function(){return"encode"==this.mode},Q.prototype.parse=function(U){function V(){_={escaped:!1,quote:!1,cell:!0}}function W(){fa.cell=""}function X(){fa.line=[]}function Y(na){fa.line.push(_.escaped?na.slice(1,-1).replace(/""/g,"\""):na),W(),V()}function Z(na){Y(na.slice(0,1-da.lineDelimiter.length))}function $(){ea?O(ea)?(aa=J(ga,da.cast,fa.line,ea),($=function(){R(U,aa,fa.line,ga,da.cast)})()):ea=fa.line:(aa||(aa=J(ga,da.cast,fa.line)),($=function(){R(U,aa,fa.line,ga,da.cast)})())}if("parse"==this.mode){if(0===this.data.trim().length)return[];var _,aa,ba,ca=this.data,da=this.options,ea=da.header,fa={cell:"",line:[]},ga=this.deserialize;U||(ba=[],U=function(na){ba.push(na)}),1==da.lineDelimiter.length&&(Z=Y);var ha,ia,ja,ka=ca.length,la=da.cellDelimiter.charCodeAt(0),ma=da.lineDelimiter.charCodeAt(da.lineDelimiter.length-1);for(V(),ha=0,ia=0;ka>ha;ha++)ja=ca.charCodeAt(ha),_.cell&&(_.cell=!1,34==ja)?_.escaped=!0:_.escaped&&34==ja?_.quote=!_.quote:(_.escaped&&_.quote||!_.escaped)&&(ja==la?(Y(fa.cell+ca.slice(ia,ha)),ia=ha+1):ja==ma&&(Z(fa.cell+ca.slice(ia,ha)),ia=ha+1,(1n&&e(t[n],n)!==!1;n+=1);}function s(t){return t.replace(/"/g,'\\"')}function a(t){return"attrs["+t+"]"}function l(t,e){return n(t)?"Number("+a(e)+")":i(t)?"Boolean("+a(e)+" == true)":"String("+a(e)+")"}function f(t,n,i,r){var o=[];return 3==arguments.length?(n?g(n)?u(i,function(i,r){e(n[r])?n[r]=n[r].toLowerCase():t[n[r]]=n[r],o.push("deserialize[cast["+r+"]]("+a(r)+")")}):u(i,function(t,e){o.push(l(t,e))}):u(i,function(t,e){o.push(a(e))}),o="return ["+o.join(",")+"]"):(n?g(n)?u(i,function(i,c){e(n[c])?n[c]=n[c].toLowerCase():t[n[c]]=n[c],o.push('"'+s(r[c])+'": deserialize[cast['+c+"]]("+a(c)+")")}):u(i,function(t,e){o.push('"'+s(r[e])+'": '+l(t,e))}):u(i,function(t,e){o.push('"'+s(r[e])+'": '+a(e))}),o="return {"+o.join(",")+"}"),Function("attrs","deserialize","cast",o)}function h(t,e){var n,i=0;return u(e,function(e){var r,o=e;-1!=p.indexOf(e)&&(o="\\"+o),r=t.match(RegExp(o,"g")),r&&r.length>i&&(i=r.length,n=e)}),n||e[0]}var p=["|","^"],d=[",",";"," ","|","^"],m=["\r\n","\r","\n"],g=Array.isArray||function(t){return"[object Array]"===toString.call(t)},y=function(){function n(t,n){if(n||(n={}),g(t))this.mode="encode";else{if(!e(t))throw Error("Incompatible format!");this.mode="parse"}this.data=t,this.options={header:c(n.header,!1),cast:c(n.cast,!0)};var i=n.lineDelimiter||n.line,r=n.cellDelimiter||n.delimiter;this.isParser()?(this.options.lineDelimiter=i||h(this.data,m),this.options.cellDelimiter=r||h(this.data,d),this.data=o(this.data,this.options.lineDelimiter)):this.isEncoder()&&(this.options.lineDelimiter=i||"\r\n",this.options.cellDelimiter=r||",")}function i(t,e,n,i,r){t(new e(n,i,r))}function o(t,e){return t.slice(-e.length)!=e&&(t+=e),t}function s(n){return g(n)?"array":t(n)?"object":e(n)?"string":r(n)?"null":"primitive"}return n.prototype.set=function(t,e){return this.options[t]=e},n.prototype.isParser=function(){return"parse"==this.mode},n.prototype.isEncoder=function(){return"encode"==this.mode},n.prototype.parse=function(t){function e(){s={escaped:!1,quote:!1,cell:!0}}function n(){m.cell=""}function r(){m.line=[]}function o(t){m.line.push(s.escaped?t.slice(1,-1).replace(/""/g,'"'):t),n(),e()}function c(t){o(t.slice(0,1-p.lineDelimiter.length))}function u(){d?g(d)?(a=f(y,p.cast,m.line,d),(u=function(){i(t,a,m.line,y,p.cast)})()):d=m.line:(a||(a=f(y,p.cast,m.line)),(u=function(){i(t,a,m.line,y,p.cast)})())}if("parse"==this.mode){if(0===this.data.trim().length)return[];var s,a,l,h=this.data,p=this.options,d=p.header,m={cell:"",line:[]},y=this.deserialize;t||(l=[],t=function(t){l.push(t)}),1==p.lineDelimiter.length&&(c=o);var v,A,D,b=h.length,j=p.cellDelimiter.charCodeAt(0),w=p.lineDelimiter.charCodeAt(p.lineDelimiter.length-1);for(e(),v=0,A=0;b>v;v++)D=h.charCodeAt(v),s.cell&&(s.cell=!1,34==D)?s.escaped=!0:s.escaped&&34==D?s.quote=!s.quote:(s.escaped&&s.quote||!s.escaped)&&(D==j?(o(m.cell+h.slice(A,v)),A=v+1):D==w&&(c(m.cell+h.slice(A,v)),A=v+1,(m.line.length>1||""!==m.line[0])&&u(),r()));return l?l:this}},n.prototype.deserialize={string:function(t){return t+""},number:function(t){return+t},"boolean":function(t){return!!t}},n.prototype.serialize={object:function(t){var e=this,n=Object.keys(t),i=Array(n.length);return u(n,function(n,r){i[r]=e[s(t[n])](t[n])}),i},array:function(t){var e=this,n=Array(t.length);return u(t,function(t,i){n[i]=e[s(t)](t)}),n},string:function(t){return'"'+(t+"").replace(/"/g,'""')+'"'},"null":function(){return""},primitive:function(t){return t}},n.prototype.encode=function(t){function n(t){return t.join(c.cellDelimiter)}if("encode"==this.mode){if(0==this.data.length)return"";var i,r,o=this.data,c=this.options,a=c.header,l=o[0],f=this.serialize,h=0;t||(r=Array(o.length),t=function(t,e){r[e+h]=t}),a&&(g(a)||(i=Object.keys(l),a=i),t(n(f.array(a)),0),h=1);var p,d=s(l);return"array"==d?(g(c.cast)?(p=Array(c.cast.length),u(c.cast,function(t,n){e(t)?p[n]=t.toLowerCase():(p[n]=t,f[t]=t)})):(p=Array(l.length),u(l,function(t,e){p[e]=s(t)})),u(o,function(e,i){var r=Array(p.length);u(e,function(t,e){r[e]=f[p[e]](t)}),t(n(r),i)})):"object"==d&&(i=Object.keys(l),g(c.cast)?(p=Array(c.cast.length),u(c.cast,function(t,n){e(t)?p[n]=t.toLowerCase():(p[n]=t,f[t]=t)})):(p=Array(i.length),u(i,function(t,e){p[e]=s(l[t])})),u(o,function(e,r){var o=Array(i.length);u(i,function(t,n){o[n]=f[p[n]](e[t])}),t(n(o),r)})),r?r.join(c.lineDelimiter):this}},n.prototype.forEach=function(t){return this[this.mode](t)},n}();return y.parse=function(t,e){return new y(t,e).parse()},y.encode=function(t,e){return new y(t,e).encode()},y.forEach=function(t,e,n){return 2==arguments.length&&(n=e),new y(t,e).forEach(n)},y});
\ No newline at end of file
diff --git a/docs/bower_components/firebase/firebase-app.js b/docs/bower_components/firebase/firebase-app.js
index 60d56c0..3e7e45b 100644
--- a/docs/bower_components/firebase/firebase-app.js
+++ b/docs/bower_components/firebase/firebase-app.js
@@ -1 +1,35 @@
-var firebase=null;(function(){function s(ac,bc){if(!(bc instanceof Object))return bc;switch(bc.constructor){case Date:return new Date(bc.getTime());case Object:void 0===ac&&(ac={});break;case Array:ac=[];break;default:return bc;}for(var cc in bc)bc.hasOwnProperty(cc)&&(ac[cc]=s(ac[cc],bc[cc]));return ac}function $(ac,bc){return ac=new Tb(ac,bc),ac.subscribe.bind(ac)}function _(ac){if("object"!=typeof ac||null===ac)return!1;var bc;bc=["next","error","complete"],Ta();var cc=bc[Symbol.iterator];for(bc=cc?cc.call(bc):Ua(bc),cc=bc.next();!cc.done;cc=bc.next())if(cc=cc.value,cc in ac&&"function"==typeof ac[cc])return!0;return!1}function Ka(){}function La(){function ac(hc){hc=hc||"[DEFAULT]";var ic=dc[hc];return void 0===ic&&Ma("noApp",{name:hc}),ic}function bc(hc,ic){Object.keys(ec).forEach(function(jc){jc=cc(hc,jc),null!==jc&&fc[jc]&&fc[jc](ic,hc)})}function cc(hc,ic){if("serverAuth"===ic)return null;var jc=ic;return hc=hc.options,"auth"===ic&&(hc.serviceAccount||hc.credential)&&(jc="serverAuth","serverAuth"in ec||Ma("serverAuthMissing")),jc}var dc={},ec={},fc={},gc={__esModule:!0,initializeApp:function(hc,ic){return void 0===ic?ic="[DEFAULT]":"string"==typeof ic&&""!==ic||Ma("bad-app-name",{name:ic+""}),void 0!==dc[ic]&&Ma("dupApp",{name:ic}),hc=new $b(hc,ic,gc),dc[ic]=hc,bc(hc,"create"),void 0!=hc.INTERNAL&&void 0!=hc.INTERNAL.getToken||s(hc,{INTERNAL:{getToken:function(){return Zb.resolve(null)},addAuthTokenListener:function(){},removeAuthTokenListener:function(){}}}),hc},app:ac,apps:null,Promise:Zb,SDK_VERSION:"0.0.0",INTERNAL:{registerService:function(hc,ic,jc,kc){return ec[hc]&&Ma("dupService",{name:hc}),ec[hc]=ic,kc&&(fc[hc]=kc),ic=function(lc){return void 0===lc&&(lc=ac()),lc[hc]()},void 0!==jc&&s(ic,jc),gc[hc]=ic},createFirebaseNamespace:La,extendNamespace:function(hc){s(gc,hc)},createSubscribe:$,ErrorFactory:Yb,removeApp:function(hc){bc(dc[hc],"delete"),delete dc[hc]},factories:ec,useAsService:cc,Promise:Cb,deepExtend:s}};return gc["default"]=gc,Object.defineProperty(gc,"apps",{get:function(){return Object.keys(dc).map(function(hc){return dc[hc]})}}),ac.App=$b,gc}function Ma(ac,bc){throw Error(Na(ac,bc))}function Na(ac,bc){return bc=bc||{},bc={noApp:"No Firebase App '"+bc.name+"' has been created - call Firebase App.initializeApp().","bad-app-name":"Illegal App name: '"+bc.name+"'.",dupApp:"Firebase App named '"+bc.name+"' already exists.",deleted:"Firebase App named '"+bc.name+"' already deleted.",dupService:"Firebase Service named '"+bc.name+"' already registered.",serverAuthMissing:"Initializing the Firebase SDK with a service account is only allowed in a Node.js environment. On client devices, you should instead initialize the SDK with an api key and auth domain."}[ac],void 0===bc?"Application Error: ("+ac+")":bc}var Oa="function"==typeof Object.defineProperties?Object.defineProperty:function(ac,bc,cc){if(cc.get||cc.set)throw new TypeError("ES3 does not support getters and setters.");ac!=Array.prototype&&ac!=Object.prototype&&(ac[bc]=cc.value)},Pa="undefined"!=typeof window&&window===this?this:"undefined"!=typeof global&&null!=global?global:this,Qa=function(){Qa=function(){},Pa.Symbol||(Pa.Symbol=Sa)},Ra=0,Sa=function(ac){return"jscomp_symbol_"+(ac||"")+Ra++},Ta=function(){Qa();var ac=Pa.Symbol.iterator;ac||(ac=Pa.Symbol.iterator=Pa.Symbol("iterator")),"function"!=typeof Array.prototype[ac]&&Oa(Array.prototype,ac,{configurable:!0,writable:!0,value:function(){return Ua(this)}}),Ta=function(){}},Ua=function(ac){var bc=0;return Va(function(){return bcec?bc:null===dc?dc=Object.getOwnPropertyDescriptor(bc,cc):dc;if(gc=db.Reflect,"object"==typeof gc&&"function"==typeof gc.decorate)fc=gc.decorate(ac,bc,cc,dc);else for(var hc=ac.length-1;0<=hc;hc--)(gc=ac[hc])&&(fc=(3>ec?gc(fc):3":ec.toString()}),cc=this.W+": "+cc+" ("+ac+").",cc=new Xb(ac,cc);for(dc in bc)bc.hasOwnProperty(dc)&&"_"!==dc.slice(-1)&&(cc[dc]=bc[dc]);return cc};var Zb=Rb,$b=function(ac,bc,cc){var dc=this;this.I=cc,this.J=!1,this.i={},this.C=bc,this.F=s(void 0,ac),ac="serviceAccount"in this.F,("credential"in this.F||ac)&&"undefined"!=typeof console&&console.log("The '"+(ac?"serviceAccount":"credential")+"' property specified in the first argument to initializeApp() is deprecated and will be removed in the next major version. You should instead use the 'firebase-admin' package. See https://firebase.google.com/docs/admin/setup for details on how to get started."),Object.keys(cc.INTERNAL.factories).forEach(function(ec){var fc=cc.INTERNAL.useAsService(dc,ec);null!==fc&&(fc=dc.S.bind(dc,fc),dc[ec]=fc)})};$b.prototype.delete=function(){var ac=this;return new Zb(function(bc){_b(ac),bc()}).then(function(){return ac.I.INTERNAL.removeApp(ac.C),Zb.all(Object.keys(ac.i).map(function(bc){return ac.i[bc].INTERNAL.delete()}))}).then(function(){ac.J=!0,ac.i={}})},$b.prototype.S=function(ac){return _b(this),void 0===this.i[ac]&&(this.i[ac]=this.I.INTERNAL.factories[ac](this,this.R.bind(this))),this.i[ac]},$b.prototype.R=function(ac){s(this,ac)};var _b=function(ac){ac.J&&Ma(Na("deleted",{name:ac.C}))};Pa.Object.defineProperties($b.prototype,{name:{configurable:!0,enumerable:!0,get:function(){return _b(this),this.C}},options:{configurable:!0,enumerable:!0,get:function(){return _b(this),this.F}}}),$b.prototype.name&&$b.prototype.options||$b.prototype.delete||console.log("dc");"undefined"!=typeof firebase&&(firebase=La())})(),firebase.SDK_VERSION="3.6.2";
\ No newline at end of file
+/*! @license Firebase v3.7.2
+ Build: 3.7.2-rc.1
+ Terms: https://firebase.google.com/terms/ */
+var firebase = null; (function() { var aa="function"==typeof Object.defineProperties?Object.defineProperty:function(a,b,c){if(c.get||c.set)throw new TypeError("ES3 does not support getters and setters.");a!=Array.prototype&&a!=Object.prototype&&(a[b]=c.value)},k="undefined"!=typeof window&&window===this?this:"undefined"!=typeof global&&null!=global?global:this,l=function(){l=function(){};k.Symbol||(k.Symbol=ba)},ca=0,ba=function(a){return"jscomp_symbol_"+(a||"")+ca++},p=function(){l();var a=k.Symbol.iterator;a||(a=k.Symbol.iterator=
+k.Symbol("iterator"));"function"!=typeof Array.prototype[a]&&aa(Array.prototype,a,{configurable:!0,writable:!0,value:function(){return m(this)}});p=function(){}},m=function(a){var b=0;return da(function(){return bb.indexOf(d)&&(c[d]=a[d]);if(null!=a&&"function"===typeof Object.getOwnPropertySymbols){var e=
+0;for(d=Object.getOwnPropertySymbols(a);eb.indexOf(d[e])&&(c[d[e]]=a[d[e]])}return c},__decorate=function(a,b,c,d){var e=arguments.length,h=3>e?b:null===d?d=Object.getOwnPropertyDescriptor(b,c):d,g;g=A.Reflect;if("object"===typeof g&&"function"===typeof g.decorate)h=g.decorate(a,b,c,d);else for(var f=a.length-1;0<=f;f--)if(g=a[f])h=(3>e?g(h):3f[0]&&c[1]"}),c=this.aa+": "+c+" ("+a+").",c=new V(a,c),d;for(d in b)b.hasOwnProperty(d)&&"_"!==d.slice(-1)&&(c[d]=b[d]);return c};var W=Q,X=function(a,b,c){var d=this;this.M=c;this.N=!1;this.c={};this.D=b;this.H=P(void 0,a);a="serviceAccount"in this.H;("credential"in this.H||a)&&"undefined"!==typeof console&&console.log("The '"+(a?"serviceAccount":"credential")+"' property specified in the first argument to initializeApp() is deprecated and will be removed in the next major version. You should instead use the 'firebase-admin' package. See https://firebase.google.com/docs/admin/setup for details on how to get started.");Object.keys(c.INTERNAL.factories).forEach(function(a){var b=
+c.INTERNAL.useAsService(d,a);null!==b&&(b=d.X.bind(d,b),d[a]=b)})};X.prototype.delete=function(){var a=this;return(new W(function(b){Y(a);b()})).then(function(){a.M.INTERNAL.removeApp(a.D);var b=[];Object.keys(a.c).forEach(function(c){Object.keys(a.c[c]).forEach(function(d){b.push(a.c[c][d])})});return W.all(b.map(function(a){return a.INTERNAL.delete()}))}).then(function(){a.N=!0;a.c={}})};
+X.prototype.X=function(a,b){Y(this);"undefined"===typeof this.c[a]&&(this.c[a]={});var c=b||"[DEFAULT]";return"undefined"===typeof this.c[a][c]?(b=this.M.INTERNAL.factories[a](this,this.W.bind(this),b),this.c[a][c]=b):this.c[a][c]};X.prototype.W=function(a){P(this,a)};var Y=function(a){a.N&&Z("app-deleted",{name:a.D})};k.Object.defineProperties(X.prototype,{name:{configurable:!0,enumerable:!0,get:function(){Y(this);return this.D}},options:{configurable:!0,enumerable:!0,get:function(){Y(this);return this.H}}});
+X.prototype.name&&X.prototype.options||X.prototype.delete||console.log("dc");
+function Ia(){function a(a){a=a||"[DEFAULT]";var b=d[a];void 0===b&&Z("no-app",{name:a});return b}function b(a,b){Object.keys(e).forEach(function(d){d=c(a,d);if(null!==d&&h[d])h[d](b,a)})}function c(a,b){if("serverAuth"===b)return null;var c=b;a=a.options;"auth"===b&&(a.serviceAccount||a.credential)&&(c="serverAuth","serverAuth"in e||Z("sa-not-supported"));return c}var d={},e={},h={},g={__esModule:!0,initializeApp:function(a,c){void 0===c?c="[DEFAULT]":"string"===typeof c&&""!==c||Z("bad-app-name",
+{name:c+""});void 0!==d[c]&&Z("duplicate-app",{name:c});a=new X(a,c,g);d[c]=a;b(a,"create");void 0!=a.INTERNAL&&void 0!=a.INTERNAL.getToken||P(a,{INTERNAL:{getUid:function(){return null},getToken:function(){return W.resolve(null)},addAuthTokenListener:function(){},removeAuthTokenListener:function(){}}});return a},app:a,apps:null,Promise:W,SDK_VERSION:"0.0.0",INTERNAL:{registerService:function(b,c,d,n,Ja){e[b]&&Z("duplicate-service",{name:b});e[b]=Ja?c:function(a,b){return c(a,b,"[DEFAULT]")};n&&(h[b]=
+n);n=function(c){void 0===c&&(c=a());return c[b]()};void 0!==d&&P(n,d);return g[b]=n},createFirebaseNamespace:Ia,extendNamespace:function(a){P(g,a)},createSubscribe:Ea,ErrorFactory:U,removeApp:function(a){b(d[a],"delete");delete d[a]},factories:e,useAsService:c,Promise:O,deepExtend:P}};g["default"]=g;Object.defineProperty(g,"apps",{get:function(){return Object.keys(d).map(function(a){return d[a]})}});a.App=X;return g}function Z(a,b){throw Ka.create(a,b);}
+var Ka=new U("app","Firebase",{"no-app":"No Firebase App '{$name}' has been created - call Firebase App.initializeApp()","bad-app-name":"Illegal App name: '{$name}","duplicate-app":"Firebase App named '{$name}' already exists","app-deleted":"Firebase App named '{$name}' already deleted","duplicate-service":"Firebase service named '{$name}' already registered","sa-not-supported":"Initializing the Firebase SDK with a service account is only allowed in a Node.js environment. On client devices, you should instead initialize the SDK with an api key and auth domain"});"undefined"!==typeof firebase&&(firebase=Ia()); }).call(this);
+firebase.SDK_VERSION = "3.7.2";
diff --git a/docs/bower_components/firebase/firebase-auth.js b/docs/bower_components/firebase/firebase-auth.js
index 15f0bb4..88d8e41 100644
--- a/docs/bower_components/firebase/firebase-auth.js
+++ b/docs/bower_components/firebase/firebase-auth.js
@@ -1 +1,241 @@
-(function(){var h,aa=aa||{},l=this,ba=function(){},m=function(o){var i=typeof o;if("object"==i){if(o){if(o instanceof Array)return"array";if(o instanceof Object)return i;var s=Object.prototype.toString.call(o);if("[object Window]"==s)return"object";if("[object Array]"==s||"number"==typeof o.length&&"undefined"!=typeof o.splice&&"undefined"!=typeof o.propertyIsEnumerable&&!o.propertyIsEnumerable("splice"))return"array";if("[object Function]"==s||"undefined"!=typeof o.call&&"undefined"!=typeof o.propertyIsEnumerable&&!o.propertyIsEnumerable("call"))return"function"}else return"null";}else if("function"==i&&"undefined"==typeof o.call)return"object";return i},ca=function(o){return null===o},da=function(o){return"array"==m(o)},ea=function(o){var i=m(o);return"array"==i||"object"==i&&"number"==typeof o.length},n=function(o){return"string"==typeof o},fa=function(o){return"number"==typeof o},p=function(o){return"function"==m(o)},ga=function(o){var i=typeof o;return"object"==i&&null!=o||"function"==i},ha=function(o){return o.call.apply(o.bind,arguments)},ia=function(o,i){if(!o)throw Error();if(2/g,ra=/"/g,sa=/'/g,ta=/\x00/g,ua=/[\x00&<>"']/,v=function(o,i){return-1!=o.indexOf(i)},va=function(o,i){return oi?1:0},wa=function(o,i){i.unshift(o),u.call(this,la.apply(null,i)),i.shift()};r(wa,u),wa.prototype.name="AssertionError";var xa=function(o,i,s,_){var j="Assertion failed";if(s)var j=j+(": "+s),$=_;else o&&(j+=": "+o,$=i);throw new wa(""+j,$||[])},w=function(o,i){o||xa("",null,i,Array.prototype.slice.call(arguments,2))},ya=function(o){throw new wa("Failure"+(o?": "+o:""),Array.prototype.slice.call(arguments,1))},za=function(o,i){return fa(o)||xa("Expected number but got %s: %s.",[m(o),o],i,Array.prototype.slice.call(arguments,2)),o},Aa=function(o,i){n(o)||xa("Expected string but got %s: %s.",[m(o),o],i,Array.prototype.slice.call(arguments,2))},Ba=function(o,i){p(o)||xa("Expected function but got %s: %s.",[m(o),o],i,Array.prototype.slice.call(arguments,2))},Ca=Array.prototype.indexOf?function(o,i,s){return w(null!=o.length),Array.prototype.indexOf.call(o,i,s)}:function(o,i,s){if(s=null==s?0:0>s?Math.max(0,o.length+s):s,n(o))return n(i)&&1==i.length?o.indexOf(i,s):-1;for(;si?null:n(o)?o.charAt(i):o[i]},Ia=function(o,i){return 0<=Ca(o,i)},Ka=function(o,i){i=Ca(o,i);var s;return(s=0<=i)&&Ja(o,i),s},Ja=function(o,i){return w(null!=o.length),1==Array.prototype.splice.call(o,i,1).length},La=function(o,i){var s=0;Da(o,function(_,j){i.call(void 0,_,j,o)&&Ja(o,j)&&s++})},Ma=function(){return Array.prototype.concat.apply(Array.prototype,arguments)},Na=function(o){var i=o.length;if(0parseFloat(ib)){hb=kb+"";break a}}hb=ib}var mb,lb=hb,$a={},A=function(o){return ab(o,function(){for(var i=0,s=ma(lb+"").split("."),_=ma(o+"").split("."),j=Math.max(s.length,_.length),$=0;0==i&&$>4),64!=_e&&(i(240&$<<4|_e>>2),64!=et&&i(192&_e<<6|et))}},sb=function(){if(!ob){ob={},pb={};for(var o=0;65>o;o++)ob[o]="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=".charAt(o),pb[ob[o]]=o,62<=o&&(pb["ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_.".charAt(o)]=o)}},tb=!z||9<=+mb,ub=z&&!A("9");fb&&A("528"),eb&&A("1.9b")||z&&A("8")||bb&&A("9.5")||fb&&A("528"),eb&&!A("8")||z&&A("9");var vb=function(){this.za=this.za,this.Tb=this.Tb};vb.prototype.za=!1,vb.prototype.isDisposed=function(){return this.za},vb.prototype.Oa=function(){if(this.Tb)for(;this.Tb.length;)this.Tb.shift()()};var wb=function(o,i){this.type=o,this.currentTarget=this.target=i,this.defaultPrevented=this.Wa=!1,this.ud=!0};wb.prototype.preventDefault=function(){this.defaultPrevented=!0,this.ud=!1};var xb=function(o,i){wb.call(this,o?o.type:""),this.relatedTarget=this.currentTarget=this.target=null,this.charCode=this.keyCode=this.button=this.screenY=this.screenX=this.clientY=this.clientX=this.offsetY=this.offsetX=0,this.metaKey=this.shiftKey=this.altKey=this.ctrlKey=!1,this.mb=this.state=null,o&&this.init(o,i)};r(xb,wb),xb.prototype.init=function(o,i){var s=this.type=o.type,_=o.changedTouches?o.changedTouches[0]:null;if(this.target=o.target||o.srcElement,this.currentTarget=i,!(i=o.relatedTarget))"mouseover"==s?i=o.fromElement:"mouseout"==s&&(i=o.toElement);else if(eb){var j;a:{try{Za(i.nodeName),j=!0;break a}catch($){}j=!1}j||(i=null)}this.relatedTarget=i,null===_?(this.offsetX=fb||void 0!==o.offsetX?o.offsetX:o.layerX,this.offsetY=fb||void 0!==o.offsetY?o.offsetY:o.layerY,this.clientX=void 0===o.clientX?o.pageX:o.clientX,this.clientY=void 0===o.clientY?o.pageY:o.clientY,this.screenX=o.screenX||0,this.screenY=o.screenY||0):(this.clientX=void 0===_.clientX?_.pageX:_.clientX,this.clientY=void 0===_.clientY?_.pageY:_.clientY,this.screenX=_.screenX||0,this.screenY=_.screenY||0),this.button=o.button,this.keyCode=o.keyCode||0,this.charCode=o.charCode||("keypress"==s?o.keyCode:0),this.ctrlKey=o.ctrlKey,this.altKey=o.altKey,this.shiftKey=o.shiftKey,this.metaKey=o.metaKey,this.state=o.state,this.mb=o,o.defaultPrevented&&this.preventDefault()},xb.prototype.preventDefault=function(){xb.Tc.preventDefault.call(this);var o=this.mb;if(o.preventDefault)o.preventDefault();else if(o.returnValue=!1,ub)try{(o.ctrlKey||112<=o.keyCode&&123>=o.keyCode)&&(o.keyCode=-1)}catch(i){}},xb.prototype.fe=function(){return this.mb};var yb="closure_listenable_"+(0|1E6*Math.random()),zb=0,Ab=function(o,i,s,_,j){this.listener=o,this.$b=null,this.src=i,this.type=s,this.capture=!!_,this.Kb=j,this.key=++zb,this.$a=this.Db=!1},Bb=function(o){o.$a=!0,o.listener=null,o.$b=null,o.src=null,o.Kb=null},Cb=function(o){this.src=o,this.w={},this.Bb=0};Cb.prototype.add=function(o,i,s,_,j){var $=o.toString();o=this.w[$],o||(o=this.w[$]=[],this.Bb++);var _e=Db(o,i,_,j);return-1<_e?(i=o[_e],s||(i.Db=!1)):(i=new Ab(i,this.src,$,!!_,j),i.Db=s,o.push(i)),i},Cb.prototype.remove=function(o,i,s,_){if(o=o.toString(),!(o in this.w))return!1;var j=this.w[o];return i=Db(j,i,s,_),!!(-1_.keyCode||void 0!=_.returnValue)){a:{var j=!1;if(0==_.keyCode)try{_.keyCode=-1;break a}catch(_e){j=!0}(j||void 0==_.returnValue)&&(_.returnValue=!0)}for(_=[],j=i.currentTarget;j;j=j.parentNode)_.push(j);for(o=o.type,j=_.length-1;!i.Wa&&0<=j;j--){i.currentTarget=_[j];var $=Ub(_[j],o,!0,i),s=s&&$}for(j=0;!i.Wa&&j<_.length;j++)i.currentTarget=_[j],$=Ub(_[j],o,!1,i),s=s&&$}return s}return Tb(o,new xb(i,this))},Lb=function(o){return o=o[Fb],o instanceof Cb?o:null},Vb="__closure_events_fn_"+(1E9*Math.random()>>>0),Jb=function(o){return(w(o,"Listener can not be null."),p(o))?o:(w(o.handleEvent,"An object listener must have handleEvent method."),o[Vb]||(o[Vb]=function(i){return o.handleEvent(i)}),o[Vb])},Wb=/^[+a-zA-Z0-9_.!#$%&'*\/=?^`{|}~-]+@([a-zA-Z0-9-]+\.)+[a-zA-Z0-9]{2,63}$/,Yb=function(){this.ic="",this.Md=Xb};Yb.prototype.Ob=!0,Yb.prototype.Ib=function(){return this.ic},Yb.prototype.toString=function(){return"Const{"+this.ic+"}"};var Zb=function(o){return o instanceof Yb&&o.constructor===Yb&&o.Md===Xb?o.ic:(ya("expected object of type Const, got '"+o+"'"),"type_error:Const")},Xb={},$b=function(o){var i=new Yb;return i.ic=o,i};$b("");var B=function(){this.ka="",this.Ld=ac};B.prototype.Ob=!0,B.prototype.Ib=function(){return this.ka},B.prototype.toString=function(){return"SafeUrl{"+this.ka+"}"};var bc=function(o){return o instanceof B&&o.constructor===B&&o.Ld===ac?o.ka:(ya("expected object of type SafeUrl, got '"+o+"' of type "+m(o)),"type_error:SafeUrl")},cc=/^(?:(?:https?|mailto|ftp):|[^&:/?#]*(?:[/?#]|$))/i,ec=function(o){return o instanceof B?o:(o=o.Ob?o.Ib():o+"",cc.test(o)||(o="about:invalid#zClosurez"),dc(o))},ac={},dc=function(o){var i=new B;return i.ka=o,i};dc("about:blank");var fc=function(o){return!/^\s*$/.test(o)&&/^[\],:{}\s\u2028\u2029]*$/.test(o.replace(/\\["\\\/bfnrtu]/g,"@").replace(/(?:"[^"\\\n\r\u2028\u2029\x00-\x08\x0a-\x1f]*"|true|false|null|-?\d+(?:\.\d*)?(?:[eE][+\-]?\d+)?)[\s\u2028\u2029]*(?=:|,|]|}|$)/g,"]").replace(/(?:^|:|,)(?:[\s\u2028\u2029]*\[)+/g,""))},gc=function(a){if(a+="",fc(a))try{return eval("("+a+")")}catch(o){}throw Error("Invalid JSON string: "+a)},jc=function(o){var i=[];return hc(new ic,o,i),i.join("")},ic=function(){this.bc=void 0},hc=function(o,i,s){if(null==i)s.push("null");else{if("object"==typeof i){if(da(i)){var _=i;i=_.length,s.push("[");for(var j="",$=0;$=i.tc&&i.cancel())}this.od?this.od.call(this.bd,this):this.Rc=!0,this.Qa||jd(this,new kd)}},F.prototype.$c=function(o,i){this.sc=!1,ld(this,o,i)};var ld=function(o,i,s){o.Qa=!0,o.ma=s,o.ob=!i,md(o)},od=function(o){if(o.Qa){if(!o.Rc)throw new nd;o.Rc=!1}};F.prototype.callback=function(o){od(this),pd(o),ld(this,!0,o)};var jd=function(o,i){od(o),pd(i),ld(o,!1,i)},pd=function(o){w(!(o instanceof F),"An execution sequence may not be initiated with a blocking Deferred.")},td=function(o){var i=qd("https://apis.google.com/js/client.js?onload="+rd);sd(i,null,o,void 0)},sd=function(o,i,s,_){w(!o.Vc,"Blocking Deferreds can not be re-used"),o.dc.push([i,s,_]),o.Qa&&md(o)};F.prototype.then=function(o,i,s){var _,j,$=new C(function(_e,et){_=_e,j=et});return sd(this,_,function(_e){_e instanceof kd?$.cancel():j(_e)}),$.then(o,i,s)},Pc(F);var ud=function(o){return Fa(o.dc,function(i){return p(i[1])})},md=function(o){if(o.lc&&o.Qa&&ud(o)){var i=o.lc,s=vd[i];s&&(l.clearTimeout(s.pb),delete vd[i]),o.lc=0}o.m&&(o.m.tc--,delete o.m);for(var i=o.ma,_=s=!1;o.dc.length&&!o.sc;){var j=o.dc.shift(),$=j[0],_e=j[1],j=j[2];if($=o.ob?_e:$)try{var et=$.call(j||o.bd,i);void 0!==et&&(o.ob=o.ob&&(et==i||et instanceof Error),o.ma=i=et),(Qc(i)||"function"==typeof l.Promise&&i instanceof l.Promise)&&(_=!0,o.sc=!0)}catch(tt){i=tt,o.ob=!0,ud(o)||(s=!0)}}o.ma=i,_&&(et=q(o.$c,o,!0),_=q(o.$c,o,!1),i instanceof F?(sd(i,et,_),i.Vc=!0):i.then(et,_)),s&&(i=new wd(i),vd[i.pb]=i,o.lc=i.pb)},nd=function(){u.call(this)};r(nd,u),nd.prototype.message="Deferred has already fired",nd.prototype.name="AlreadyCalledError";var kd=function(){u.call(this)};r(kd,u),kd.prototype.message="Deferred was canceled",kd.prototype.name="CanceledError";var wd=function(o){this.pb=l.setTimeout(q(this.Qe,this),0),this.K=o};wd.prototype.Qe=function(){throw w(vd[this.pb],"Cannot throw an error that is not scheduled."),delete vd[this.pb],this.K};var vd={},qd=function(o){var i=new wc;return i.Wb=o,xd(i)},xd=function(o){var _,i={},s=i.document||document;o instanceof wc&&o.constructor===wc&&o.Nd===vc?_=o.Wb:(ya("expected object of type TrustedResourceUrl, got '"+o+"' of type "+m(o)),_="type_error:TrustedResourceUrl");var j=document.createElement("SCRIPT");o={vd:j,Ab:void 0};var $=new F(yd,o),_e=null,et=null==i.timeout?5E3:i.timeout;return 0++_,"infinite loop")}if(s=this.Qd,_=o.type||o,n(o))o=new wb(o,s);else if(o instanceof wb)o.target=o.target||s;else{var j=o;o=new wb(_,s),Va(o,j)}var $,j=!0;if(i)for(var _e=i.length-1;!o.Wa&&0<=_e;_e--)$=o.currentTarget=i[_e],j=Dd($,_,!0,o)&&j;if(o.Wa||($=o.currentTarget=s,j=Dd($,_,!0,o)&&j,o.Wa||(j=Dd($,_,!1,o)&&j)),i)for(_e=0;!o.Wa&&_e2*this.l&&Hd(this),!0)};var Hd=function(o){if(o.l!=o.s.length){for(var _,i=0,s=0;i=_.s.length)throw Ed;var $=_.s[i++];return o?$:_.aa[$]},j};var Id=function(o,i){return Object.prototype.hasOwnProperty.call(o,i)},Jd=function(o){if(o.V&&"function"==typeof o.V)return o.V();if(n(o))return o.split("");if(ea(o)){for(var i=[],s=o.length,_=0;_=Td(this).value)for(p(i)&&(i=i()),o=new Md(o,i+"",this.Be),s&&(o.dd=s),s="log:"+o.Ae,l.console&&(l.console.timeStamp?l.console.timeStamp(s):l.console.markTimeline&&l.console.markTimeline(s)),l.msWriteProfilerMark&&l.msWriteProfilerMark(s),s=this;s;){var _=s,j=o;if(_.hd)for(var $=0;i=_.hd[$];$++)i(j);s=s.getParent()}};var Ud={},Vd=null,Wd=function(o){Vd||(Vd=new Od(""),Ud[""]=Vd,Vd.yd(Rd));var i;if(!(i=Ud[o])){i=new Od(o);var s=o.lastIndexOf("."),_=o.substr(s+1),s=Wd(o.substr(0,s));s.uc||(s.uc={}),s.uc[_]=i,i.m=s,Ud[o]=i}return i},H=function(o,i){o&&o.log(Sd,i,void 0)},Xd=function(o,i,s){if(p(o))s&&(o=q(o,s));else if(o&&"function"==typeof o.handleEvent)o=q(o.handleEvent,o);else throw Error("Invalid listener argument");return 2147483647<+i?-1:l.setTimeout(o,i||0)},Yd=function(o){var i=null;return new C(function(s,_){i=Xd(function(){s(void 0)},o),-1==i&&_(Error("Failed to schedule timer."))}).g(function(s){throw l.clearTimeout(i),s})},Zd=/^(?:([^:/?#.]+):)?(?:\/\/(?:([^/?#]*)@)?([^/#?]*?)(?::([0-9]+))?(?=[/#?]|$))?([^?#]+)?(?:\?([^#]*))?(?:#([\s\S]*))?$/,$d=function(o,i){if(o){o=o.split("&");for(var s=0;si)throw Error("Bad port number "+i);o.Va=i}else o.Va=null},se=function(o,i,s){J(o),o.ra=s?ue(i,!0):i},te=function(o,i,s){J(o),i instanceof K?(o.Y=i,o.Y.Qc(o.N)):(s||(i=ve(i,Ae)),o.Y=new K(i,0,o.N))},L=function(o,i,s){J(o),o.Y.set(i,s)},Be=function(o,i){J(o),o.Y.remove(i)},J=function(o){if(o.ue)throw Error("Tried to modify a read-only Uri")};oe.prototype.Qc=function(o){return this.N=o,this.Y&&this.Y.Qc(o),this};var Ce=function(o){return o instanceof oe?o.clone():new oe(o,void 0)},De=function(o,i){var s=new oe(null,void 0);return pe(s,"https"),o&&qe(s,o),i&&se(s,i),s},ue=function(o,i){return o?i?decodeURI(o.replace(/%25/g,"%2525")):decodeURIComponent(o):""},ve=function(o,i,s){return n(o)?(o=encodeURI(o).replace(i,Ee),s&&(o=o.replace(/%25([0-9a-fA-F]{2})/g,"%$1")),o):null},Ee=function(o){return o=o.charCodeAt(0),"%"+(15&o>>4).toString(16)+(15&o).toString(16)},we=/[#\/\?@]/g,ye=/[\#\?:]/g,xe=/[\#\?]/g,Ae=/[\#\?@]/g,ze=/#/g,K=function(o,i,s){this.l=this.h=null,this.J=o||null,this.N=!!s},Fe=function(o){o.h||(o.h=new Gd,o.l=0,o.J&&$d(o.J,function(i,s){o.add(decodeURIComponent(i.replace(/\+/g," ")),s)}))},He=function(o){var i=Kd(o);if("undefined"==typeof i)throw Error("Keys are undefined");var s=new K(null,0,void 0);o=Jd(o);for(var _=0;_o?!1:!z||!mb||9")&&(_=_.replace(qa,">")),-1!=_.indexOf("\"")&&(_=_.replace(ra,""")),-1!=_.indexOf("'")&&(_=_.replace(sa,"'")),-1!=_.indexOf("\0")&&(_=_.replace(ta,""))),_="",Aa(Zb(o),"must provide justification"),w(!/^[\s\xa0]*$/.test(Zb(o)),"must provide non-empty justification"),_e.document.write(zc(new yc().se(_))),_e.document.close())):_e=o.open(bc(i),s,_e),_e)try{_e.focus()}catch(et){}return _e},Qe=function(o){return new C(function(i){var s=function(){Yd(2E3).then(function(){return!o||o.closed?void i():s()})};return s()})},Re=/^\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}$/,Se=function(){var o=null;return new C(function(i){"complete"==l.document.readyState?i():(o=function(){i()},Pb(window,"load",o))}).g(function(i){throw Rb(window,"load",o),i})},N=function(){return firebase.INTERNAL.hasOwnProperty("reactNative")?"ReactNative":l.hasOwnProperty("process")?"Node":"Browser"},Te=function(){var o=N();return"ReactNative"===o||"Node"===o},Le=function(o){var i=o.toLowerCase();if(v(i,"opera/")||v(i,"opr/")||v(i,"opios/"))return"Opera";if(v(i,"iemobile"))return"IEMobile";if(v(i,"msie")||v(i,"trident/"))return"IE";if(v(i,"edge/"))return"Edge";if(v(i,"firefox/"))return"Firefox";if(v(i,"silk/"))return"Silk";if(v(i,"blackberry"))return"Blackberry";if(v(i,"webos"))return"Webos";if(!(!v(i,"safari/")||v(i,"chrome/")||v(i,"crios/")||v(i,"android")))return"Safari";if(!v(i,"chrome/")&&!v(i,"crios/")||v(i,"edge/")){if(v(i,"android"))return"Android";if((o=o.match(/([a-zA-Z\d\.]+)\/[a-zA-Z\d\.]*$/))&&2==o.length)return o[1]}else return"Chrome";return"Other"},Ue=function(o){var i=N();return("Browser"===i?Le(M()):i)+"/JsCore/"+o},M=function(){return l.navigator&&l.navigator.userAgent||""},Ve=function(o){o=o.split(".");for(var i=l,s=0;si)throw Error("Short delay should be less than long delay!");this.Ne=o,this.ze=i,o=s||M(),_=_||N(),this.te=Ne(o)||"ReactNative"===_};ef.prototype.get=function(){return this.te?this.ze:this.Ne};var ff;try{var gf={};Object.defineProperty(gf,"abcd",{configurable:!0,enumerable:!0,value:1}),Object.defineProperty(gf,"abcd",{configurable:!0,enumerable:!0,value:2}),ff=2==gf.abcd}catch(o){ff=!1}var O=function(o,i,s){ff?Object.defineProperty(o,i,{configurable:!0,enumerable:!0,value:s}):o[i]=s},hf=function(o,i){if(i)for(var s in i)i.hasOwnProperty(s)&&O(o,s,i[s])},jf=function(o){var s,i={};for(s in o)o.hasOwnProperty(s)&&(i[s]=o[s]);return i},kf=function(o,i){if(!i||!i.length)return!0;if(!o)return!1;for(var _,s=0;s Auth section -> Sign in method tab.",o),P.call(this,i,s)};r(sf,P);var tf=function(o){this.ye=o.sub,ka(),this.Fb=o.email||null},uf=function(o,i,s,_){var j={};if(ga(s)?j=s:i&&n(s)&&n(_)?j={oauthToken:s,oauthTokenSecret:_}:!i&&n(s)&&(j={accessToken:s}),!i&&(j.idToken||j.accessToken))j.idToken&&O(this,"idToken",j.idToken),j.accessToken&&O(this,"accessToken",j.accessToken);else if(i&&j.oauthToken&&j.oauthTokenSecret)O(this,"accessToken",j.oauthToken),O(this,"secret",j.oauthTokenSecret);else{if(i)throw new P("argument-error","credential failed: expected 2 arguments (the OAuth access token and secret).");throw new P("argument-error","credential failed: expected 1 argument (the OAuth access token).")}O(this,"provider",o)};uf.prototype.Hb=function(o){return vf(o,wf(this))},uf.prototype.nd=function(o,i){var s=wf(this);return s.idToken=i,xf(o,s)};var wf=function(o){var i={};return o.idToken&&(i.id_token=o.idToken),o.accessToken&&(i.access_token=o.accessToken),o.secret&&(i.oauth_token_secret=o.secret),i.providerId=o.provider,{postBody:He(i).toString(),requestUri:Ye()?Je():"http://localhost"}};uf.prototype.I=function(){var o={provider:this.provider};return this.idToken&&(o.oauthIdToken=this.idToken),this.accessToken&&(o.oauthAccessToken=this.accessToken),this.secret&&(o.oauthTokenSecret=this.secret),o};var yf=function(o,i,s){var _=!!i,j=s||[];return i=function(){hf(this,{providerId:o,isOAuthProvider:!0}),this.Pc=[],this.ad={},"google.com"==o&&this.addScope("profile")},_||(i.prototype.addScope=function($){Ia(this.Pc,$)||this.Pc.push($)}),i.prototype.setCustomParameters=function($){this.ad=Ta($)},i.prototype.ge=function(){var _e,$=af(this.ad);for(_e in $)$[_e]=$[_e].toString();for($=Ta($),_e=0;_eet||et>=hh.length)throw new P("internal-error","Argument validator received an unsupported number of arguments.");_e=hh[et]+" argument "+(_e.name?"\""+_e.name+"\" ":"")+"must be "+_e.fa+".";break a}_e=null}}if(_e)throw new P("argument-error",_+" failed: "+_e);return i.apply(this,$)},i)o[j]=i[j];for(j in i.prototype)o.prototype[j]=i.prototype[j];return o},ph=function(o){return o=o.split("."),o[o.length-1]},qh=function(o,i,s,_){this.Ce=o,this.xd=i,this.Ie=s,this.cb=_,this.O={},fh||(fh=new eh),o=fh;try{var j;Ie()?(Wg||(Wg=new Vg("firebaseLocalStorageDb","firebaseLocalStorage","fbase_key","value",1)),j=Wg):j=new o.cd.X,this.Ua=j}catch($){this.Ua=new Pg,this.cb=!0}try{this.jc=new o.cd.Uc}catch($){this.jc=new Pg}this.Ad=q(this.Bd,this),this.P={}},rh,sh=function(){return rh||(rh=new qh("firebase",":",!cf(M())&&l.window&&l.window!=l.window.top,Ze())),rh};h=qh.prototype,h.M=function(o,i){return this.Ce+this.xd+o.name+(i?this.xd+i:"")},h.get=function(o,i){return(o.X?this.Ua:this.jc).get(this.M(o,i))},h.remove=function(o,i){return i=this.M(o,i),o.X&&!this.cb&&(this.P[i]=null),(o.X?this.Ua:this.jc).remove(i)},h.set=function(o,i,s){var _=this.M(o,s),j=this,$=o.X?this.Ua:this.jc;return $.set(_,i).then(function(){return $.get(_)}).then(function(_e){o.X&&!this.cb&&(j.P[_]=_e)})},h.addListener=function(o,i,s){o=this.M(o,i),this.cb||(this.P[o]=l.localStorage.getItem(o)),Ra(this.O)&&this.Sc(),this.O[o]||(this.O[o]=[]),this.O[o].push(s)},h.removeListener=function(o,i,s){o=this.M(o,i),this.O[o]&&(La(this.O[o],function(_){return _==s}),0==this.O[o].length&&delete this.O[o]),Ra(this.O)&&this.hc()},h.Sc=function(){this.Ua.Ka(this.Ad),this.cb||th(this)};var th=function(o){uh(o),o.Ec=setInterval(function(){for(var i in o.O){var s=l.localStorage.getItem(i);s!=o.P[i]&&(o.P[i]=s,s=new xb({type:"storage",key:i,target:window,oldValue:o.P[i],newValue:s}),o.Bd(s))}},1E3)},uh=function(o){o.Ec&&(clearInterval(o.Ec),o.Ec=null)};qh.prototype.hc=function(){this.Ua.Za(this.Ad),this.cb||uh(this)},qh.prototype.Bd=function(o){if(o&&o.fe){var i=o.mb.key;if(this.Ie){var s=l.localStorage.getItem(i);o=o.mb.newValue,o!=s&&(o?l.localStorage.setItem(i,o):o||l.localStorage.removeItem(i))}this.P[i]=l.localStorage.getItem(i),this.Xc(i)}else x(o,q(this.Xc,this))},qh.prototype.Xc=function(o){this.O[o]&&x(this.O[o],function(i){i()})};var vh=function(o){this.C=o,this.A=sh()},wh={name:"pendingRedirect",X:!1},xh=function(o){return o.A.set(wh,"pending",o.C)},yh=function(o){return o.A.remove(wh,o.C)},zh=function(o){return o.A.get(wh,o.C).then(function(i){return"pending"==i})},V=function(o,i,s){this.v=o,this.i=i,this.B=s,this.zb=[],this.Sa=!1,this.rc=q(this.ie,this),this.Xa=new Ah(this),this.rd=new Bh(this),this.Ub=new vh(this.i+":"+this.B),this.fb={},this.fb.unknown=this.Xa,this.fb.signInViaRedirect=this.Xa,this.fb.linkViaRedirect=this.Xa,this.fb.signInViaPopup=this.rd,this.fb.linkViaPopup=this.rd,this.ba=new Hg(this.v,this.i,this.B,firebase.SDK_VERSION||null)};V.prototype.reset=function(){this.Sa=!1,Ng(this.ba,this.rc),this.ba=new Hg(this.v,this.i,this.B,firebase.SDK_VERSION||null)},V.prototype.qb=function(){var o=this;this.Sa||(this.Sa=!0,this.ba.jb.push(this.rc));var i=this.ba;return Kg(this.ba).g(function(s){throw o.ba==i&&o.reset(),s})};var Dh=function(o){var i=M();Ze(i)||cf(i)||o.qb(),Ch(o.Xa)};V.prototype.subscribe=function(o){if(Ia(this.zb,o)||this.zb.push(o),!this.Sa){var i=this;zh(this.Ub).then(function(s){s?yh(i.Ub).then(function(){i.qb()}):Dh(i)}).g(function(){Dh(i)})}},V.prototype.unsubscribe=function(o){La(this.zb,function(i){return i==o})},V.prototype.ie=function(o){if(!o)throw new P("invalid-auth-event");for(var _,i=!1,s=0;sthis.Pa-3E4?this.T?Ph(this,{grant_type:"refresh_token",refresh_token:this.T}):D(null):D({accessToken:this.ya,expirationTime:this.Pa,refreshToken:this.T})};var Rh=function(o,i,s,_,j){hf(this,{uid:o,displayName:_||null,photoURL:j||null,email:s||null,providerId:i})},Sh=function(o,i){for(var s in wb.call(this,o),i)this[s]=i[s]};r(Sh,wb);var W=function(o,i,s){this.W=[],this.i=o.apiKey,this.B=o.appName,this.v=o.authDomain||null,o=firebase.SDK_VERSION?Ue(firebase.SDK_VERSION):null,this.f=new R(this.i,null,o),this.ea=new Mh(this.f),Th(this,i.idToken),Oh(this.ea,i),O(this,"refreshToken",this.ea.T),Uh(this,s||{}),G.call(this),this.Vb=!1,this.v&&Ye()&&(this.j=Hh(this.v,this.i,this.B)),this.gc=[],this.qc=D()};r(W,G),W.prototype.sa=function(o){var s=Array.prototype.slice.call(arguments,1),_=this;return this.qc=this.qc.then(function(){return o.apply(_,s)},function(){return o.apply(_,s)})};var Th=function(o,i){o.ld=i,O(o,"_lat",i)},Vh=function(o,i){La(o.gc,function(s){return s==i})},Wh=function(o){for(var i=[],s=0;s/g,qa=/"/g,ra=/'/g,sa=/\x00/g,ta=/[\x00&<>"']/,v=function(a,b){return-1!=a.indexOf(b)},ua=function(a,b){return ab?1:0};var va=function(a,b){b.unshift(a);u.call(this,la.apply(null,b));b.shift()};t(va,u);va.prototype.name="AssertionError";
+var wa=function(a,b,c,d){var e="Assertion failed";if(c)var e=e+(": "+c),f=d;else a&&(e+=": "+a,f=b);throw new va(""+e,f||[]);},w=function(a,b,c){a||wa("",null,b,Array.prototype.slice.call(arguments,2))},xa=function(a,b){throw new va("Failure"+(a?": "+a:""),Array.prototype.slice.call(arguments,1));},ya=function(a,b,c){fa(a)||wa("Expected number but got %s: %s.",[m(a),a],b,Array.prototype.slice.call(arguments,2));return a},za=function(a,b,c){p(a)||wa("Expected string but got %s: %s.",[m(a),a],b,Array.prototype.slice.call(arguments,
+2))},Aa=function(a,b,c){q(a)||wa("Expected function but got %s: %s.",[m(a),a],b,Array.prototype.slice.call(arguments,2))};var Ba=Array.prototype.indexOf?function(a,b,c){w(null!=a.length);return Array.prototype.indexOf.call(a,b,c)}:function(a,b,c){c=null==c?0:0>c?Math.max(0,a.length+c):c;if(p(a))return p(b)&&1==b.length?a.indexOf(b,c):-1;for(;cb?null:p(a)?a.charAt(b):a[b]},Ha=function(a,b){return 0<=Ba(a,b)},Ja=function(a,b){b=Ba(a,b);var c;(c=0<=b)&&Ia(a,b);return c},Ia=function(a,b){w(null!=a.length);return 1==Array.prototype.splice.call(a,b,1).length},Ka=function(a,b){var c=0;Ca(a,function(d,e){b.call(void 0,d,e,a)&&Ia(a,e)&&c++})},La=function(a){return Array.prototype.concat.apply([],arguments)},
+Ma=function(a){var b=a.length;if(0parseFloat(ib)){hb=String(kb);break a}}hb=ib}
+var lb=hb,$a={},B=function(a){return ab(a,function(){for(var b=0,c=ma(String(lb)).split("."),d=ma(String(a)).split("."),e=Math.max(c.length,d.length),f=0;0==b&&f>4);64!=g&&(b(f<<4&240|g>>2),64!=k&&b(g<<6&192|k))}},tb=function(){if(!pb){pb={};qb={};for(var a=0;65>a;a++)pb[a]="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=".charAt(a),
+qb[pb[a]]=a,62<=a&&(qb["ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_.".charAt(a)]=a)}};var ub=function(){this.za=-1};var xb=function(a,b){this.za=64;this.Wb=l.Uint8Array?new Uint8Array(this.za):Array(this.za);this.Ac=this.$a=0;this.h=[];this.Ze=a;this.Ld=b;this.Af=l.Int32Array?new Int32Array(64):Array(64);void 0!==vb||(vb=l.Int32Array?new Int32Array(wb):wb);this.reset()},vb;t(xb,ub);for(var yb=[],zb=0;63>zb;zb++)yb[zb]=0;var Ab=La(128,yb);xb.prototype.reset=function(){this.Ac=this.$a=0;this.h=l.Int32Array?new Int32Array(this.Ld):Ma(this.Ld)};
+var Bb=function(a){var b=a.Wb;w(b.length==a.za);for(var c=a.Af,d=0,e=0;eb;b++){var e=c[b-15]|0,d=c[b-2]|0,f=(c[b-16]|0)+((e>>>7|e<<25)^(e>>>18|e<<14)^e>>>3)|0,g=(c[b-7]|0)+((d>>>17|d<<15)^(d>>>19|d<<13)^d>>>10)|0;c[b]=f+g|0}for(var d=a.h[0]|0,e=a.h[1]|0,k=a.h[2]|0,n=a.h[3]|0,A=a.h[4]|0,Xa=a.h[5]|0,Gb=a.h[6]|0,f=a.h[7]|0,b=0;64>b;b++)var gh=((d>>>2|d<<30)^(d>>>13|d<<19)^(d>>>22|d<<10))+(d&e^d&k^e&k)|0,g=A&Xa^~A&Gb,f=f+((A>>>6|
+A<<26)^(A>>>11|A<<21)^(A>>>25|A<<7))|0,g=g+(vb[b]|0)|0,g=f+(g+(c[b]|0)|0)|0,f=Gb,Gb=Xa,Xa=A,A=n+g|0,n=k,k=e,e=d,d=g+gh|0;a.h[0]=a.h[0]+d|0;a.h[1]=a.h[1]+e|0;a.h[2]=a.h[2]+k|0;a.h[3]=a.h[3]+n|0;a.h[4]=a.h[4]+A|0;a.h[5]=a.h[5]+Xa|0;a.h[6]=a.h[6]+Gb|0;a.h[7]=a.h[7]+f|0};
+xb.prototype.update=function(a,b){void 0===b&&(b=a.length);var c=0,d=this.$a;if(p(a))for(;c=e&&e==(e|0)))throw Error("message must be a byte array");this.Wb[d++]=e;d==this.za&&(Bb(this),d=0)}else throw Error("message must be string or array");this.$a=d;this.Ac+=b};
+xb.prototype.digest=function(){var a=[],b=8*this.Ac;56>this.$a?this.update(Ab,56-this.$a):this.update(Ab,this.za-(this.$a-56));for(var c=63;56<=c;c--)this.Wb[c]=b&255,b/=256;Bb(this);for(c=b=0;c>d&255;return a};
+var wb=[1116352408,1899447441,3049323471,3921009573,961987163,1508970993,2453635748,2870763221,3624381080,310598401,607225278,1426881987,1925078388,2162078206,2614888103,3248222580,3835390401,4022224774,264347078,604807628,770255983,1249150122,1555081692,1996064986,2554220882,2821834349,2952996808,3210313671,3336571891,3584528711,113926993,338241895,666307205,773529912,1294757372,1396182291,1695183700,1986661051,2177026350,2456956037,2730485921,2820302411,3259730800,3345764771,3516065817,3600352804,
+4094571909,275423344,430227734,506948616,659060556,883997877,958139571,1322822218,1537002063,1747873779,1955562222,2024104815,2227730452,2361852424,2428436474,2756734187,3204031479,3329325298];var Db=function(){xb.call(this,8,Cb)};t(Db,xb);var Cb=[1779033703,3144134277,1013904242,2773480762,1359893119,2600822924,528734635,1541459225];var Eb=!z||9<=Number(mb),Fb=z&&!B("9");!fb||B("528");eb&&B("1.9b")||z&&B("8")||bb&&B("9.5")||fb&&B("528");eb&&!B("8")||z&&B("9");var Hb=function(){this.Ba=this.Ba;this.nc=this.nc};Hb.prototype.Ba=!1;Hb.prototype.isDisposed=function(){return this.Ba};Hb.prototype.Wa=function(){if(this.nc)for(;this.nc.length;)this.nc.shift()()};var Ib=function(a,b){this.type=a;this.currentTarget=this.target=b;this.defaultPrevented=this.gb=!1;this.Wd=!0};Ib.prototype.preventDefault=function(){this.defaultPrevented=!0;this.Wd=!1};var Jb=function(a,b){Ib.call(this,a?a.type:"");this.relatedTarget=this.currentTarget=this.target=null;this.button=this.screenY=this.screenX=this.clientY=this.clientX=this.offsetY=this.offsetX=0;this.key="";this.charCode=this.keyCode=0;this.metaKey=this.shiftKey=this.altKey=this.ctrlKey=!1;this.Xa=this.state=null;a&&this.init(a,b)};t(Jb,Ib);
+Jb.prototype.init=function(a,b){var c=this.type=a.type,d=a.changedTouches?a.changedTouches[0]:null;this.target=a.target||a.srcElement;this.currentTarget=b;if(b=a.relatedTarget){if(eb){var e;a:{try{Za(b.nodeName);e=!0;break a}catch(f){}e=!1}e||(b=null)}}else"mouseover"==c?b=a.fromElement:"mouseout"==c&&(b=a.toElement);this.relatedTarget=b;null===d?(this.offsetX=fb||void 0!==a.offsetX?a.offsetX:a.layerX,this.offsetY=fb||void 0!==a.offsetY?a.offsetY:a.layerY,this.clientX=void 0!==a.clientX?a.clientX:
+a.pageX,this.clientY=void 0!==a.clientY?a.clientY:a.pageY,this.screenX=a.screenX||0,this.screenY=a.screenY||0):(this.clientX=void 0!==d.clientX?d.clientX:d.pageX,this.clientY=void 0!==d.clientY?d.clientY:d.pageY,this.screenX=d.screenX||0,this.screenY=d.screenY||0);this.button=a.button;this.keyCode=a.keyCode||0;this.key=a.key||"";this.charCode=a.charCode||("keypress"==c?a.keyCode:0);this.ctrlKey=a.ctrlKey;this.altKey=a.altKey;this.shiftKey=a.shiftKey;this.metaKey=a.metaKey;this.state=a.state;this.Xa=
+a;a.defaultPrevented&&this.preventDefault()};Jb.prototype.preventDefault=function(){Jb.pd.preventDefault.call(this);var a=this.Xa;if(a.preventDefault)a.preventDefault();else if(a.returnValue=!1,Fb)try{if(a.ctrlKey||112<=a.keyCode&&123>=a.keyCode)a.keyCode=-1}catch(b){}};Jb.prototype.Ee=function(){return this.Xa};var Kb="closure_listenable_"+(1E6*Math.random()|0),Lb=0;var Mb=function(a,b,c,d,e){this.listener=a;this.rc=null;this.src=b;this.type=c;this.capture=!!d;this.dc=e;this.key=++Lb;this.lb=this.Vb=!1},Nb=function(a){a.lb=!0;a.listener=null;a.rc=null;a.src=null;a.dc=null};var Ob=function(a){this.src=a;this.D={};this.Rb=0};Ob.prototype.add=function(a,b,c,d,e){var f=a.toString();a=this.D[f];a||(a=this.D[f]=[],this.Rb++);var g=Pb(a,b,d,e);-1d.keyCode||void 0!=d.returnValue)){a:{var e=!1;if(0==d.keyCode)try{d.keyCode=-1;break a}catch(g){e=!0}if(e||void 0==d.returnValue)d.returnValue=!0}d=[];for(e=b.currentTarget;e;e=e.parentNode)d.push(e);a=a.type;for(e=d.length-1;!b.gb&&0<=e;e--){b.currentTarget=d[e];var f=fc(d[e],a,!0,b),c=c&&f}for(e=0;!b.gb&&e>>0),Vb=function(a){w(a,"Listener can not be null.");if(q(a))return a;w(a.handleEvent,"An object listener must have handleEvent method.");a[gc]||(a[gc]=function(b){return a.handleEvent(b)});return a[gc]};var hc=/^[+a-zA-Z0-9_.!#$%&'*\/=?^`{|}~-]+@([a-zA-Z0-9-]+\.)+[a-zA-Z0-9]{2,63}$/;var jc=function(){this.xc="";this.me=ic};jc.prototype.hc=!0;jc.prototype.bc=function(){return this.xc};jc.prototype.toString=function(){return"Const{"+this.xc+"}"};var kc=function(a){if(a instanceof jc&&a.constructor===jc&&a.me===ic)return a.xc;xa("expected object of type Const, got '"+a+"'");return"type_error:Const"},ic={},lc=function(a){var b=new jc;b.xc=a;return b};lc("");var nc=function(){this.qc="";this.ne=mc};nc.prototype.hc=!0;nc.prototype.bc=function(){return this.qc};nc.prototype.toString=function(){return"TrustedResourceUrl{"+this.qc+"}"};var mc={};var pc=function(){this.ma="";this.le=oc};pc.prototype.hc=!0;pc.prototype.bc=function(){return this.ma};pc.prototype.toString=function(){return"SafeUrl{"+this.ma+"}"};
+var qc=function(a){if(a instanceof pc&&a.constructor===pc&&a.le===oc)return a.ma;xa("expected object of type SafeUrl, got '"+a+"' of type "+m(a));return"type_error:SafeUrl"},rc=/^(?:(?:https?|mailto|ftp):|[^&:/?#]*(?:[/?#]|$))/i,tc=function(a){if(a instanceof pc)return a;a=a.hc?a.bc():String(a);rc.test(a)||(a="about:invalid#zClosurez");return sc(a)},oc={},sc=function(a){var b=new pc;b.ma=a;return b};sc("about:blank");var wc=function(a){var b=[];uc(new vc,a,b);return b.join("")},vc=function(){this.tc=void 0},uc=function(a,b,c){if(null==b)c.push("null");else{if("object"==typeof b){if(da(b)){var d=b;b=d.length;c.push("[");for(var e="",f=0;f=b.Ic&&b.cancel())}this.Qd?this.Qd.call(this.zd,this):this.md=!0;this.Ya||vd(this,new wd)}};ud.prototype.xd=function(a,b){this.Hc=!1;xd(this,a,b)};
+var xd=function(a,b,c){a.Ya=!0;a.na=c;a.wb=!b;yd(a)},Ad=function(a){if(a.Ya){if(!a.md)throw new zd;a.md=!1}};ud.prototype.callback=function(a){Ad(this);Bd(a);xd(this,!0,a)};
+var vd=function(a,b){Ad(a);Bd(b);xd(a,!1,b)},Bd=function(a){w(!(a instanceof ud),"An execution sequence may not be initiated with a blocking Deferred.")},Fd=function(a){var b=Cd("https://apis.google.com/js/client.js?onload="+Dd);Ed(b,null,a,void 0)},Ed=function(a,b,c,d){w(!a.sd,"Blocking Deferreds can not be re-used");a.uc.push([b,c,d]);a.Ya&&yd(a)};ud.prototype.then=function(a,b,c){var d,e,f=new C(function(a,b){d=a;e=b});Ed(this,d,function(a){a instanceof wd?f.cancel():e(a)});return f.then(a,b,c)};
+$c(ud);
+var Gd=function(a){return Ea(a.uc,function(a){return q(a[1])})},yd=function(a){if(a.Bc&&a.Ya&&Gd(a)){var b=a.Bc,c=Hd[b];c&&(l.clearTimeout(c.xb),delete Hd[b]);a.Bc=0}a.s&&(a.s.Ic--,delete a.s);for(var b=a.na,d=c=!1;a.uc.length&&!a.Hc;){var e=a.uc.shift(),f=e[0],g=e[1],e=e[2];if(f=a.wb?g:f)try{var k=f.call(e||a.zd,b);void 0!==k&&(a.wb=a.wb&&(k==b||k instanceof Error),a.na=b=k);if(ad(b)||"function"===typeof l.Promise&&b instanceof l.Promise)d=!0,a.Hc=!0}catch(n){b=n,a.wb=!0,Gd(a)||(c=!0)}}a.na=b;d&&
+(k=r(a.xd,a,!0),d=r(a.xd,a,!1),b instanceof ud?(Ed(b,k,d),b.sd=!0):b.then(k,d));c&&(b=new Id(b),Hd[b.xb]=b,a.Bc=b.xb)},zd=function(){u.call(this)};t(zd,u);zd.prototype.message="Deferred has already fired";zd.prototype.name="AlreadyCalledError";var wd=function(){u.call(this)};t(wd,u);wd.prototype.message="Deferred was canceled";wd.prototype.name="CanceledError";var Id=function(a){this.xb=l.setTimeout(r(this.wf,this),0);this.O=a};
+Id.prototype.wf=function(){w(Hd[this.xb],"Cannot throw an error that is not scheduled.");delete Hd[this.xb];throw this.O;};var Hd={};var Cd=function(a){var b=new nc;b.qc=a;return Jd(b)},Jd=function(a){var b={},c=b.document||document,d;a instanceof nc&&a.constructor===nc&&a.ne===mc?d=a.qc:(xa("expected object of type TrustedResourceUrl, got '"+a+"' of type "+m(a)),d="type_error:TrustedResourceUrl");var e=document.createElement("SCRIPT");a={Xd:e,Qb:void 0};var f=new ud(Kd,a),g=null,k=null!=b.timeout?b.timeout:5E3;0++d,"infinite loop")}c=this.pe;d=a.type||a;if(p(a))a=new Ib(a,c);else if(a instanceof Ib)a.target=a.target||c;else{var e=a;a=new Ib(d,c);Ua(a,e)}var e=!0,f;if(b)for(var g=b.length-1;!a.gb&&0<=g;g--)f=a.currentTarget=b[g],e=Qd(f,d,!0,a)&&e;a.gb||(f=a.currentTarget=c,e=Qd(f,d,!0,a)&&e,a.gb||(e=Qd(f,d,!1,a)&&e));if(b)for(g=0;!a.gb&&g2*this.o&&Ud(this),!0):!1};var Ud=function(a){if(a.o!=a.w.length){for(var b=0,c=0;b=d.w.length)throw Rd;var e=d.w[b++];return a?e:d.ba[e]};return e};var Vd=function(a,b){return Object.prototype.hasOwnProperty.call(a,b)};var Wd=function(a){if(a.X&&"function"==typeof a.X)return a.X();if(p(a))return a.split("");if(ea(a)){for(var b=[],c=a.length,d=0;d=fe(this).value)for(q(b)&&(b=b()),a=new Zd(a,String(b),this.Xe),c&&(a.Cd=c),c="log:"+a.We,l.console&&(l.console.timeStamp?l.console.timeStamp(c):l.console.markTimeline&&l.console.markTimeline(c)),l.msWriteProfilerMark&&l.msWriteProfilerMark(c),c=this;c;){var d=c,e=a;if(d.Id)for(var f=0;b=d.Id[f];f++)b(e);c=c.getParent()}};
+var ge={},he=null,ie=function(a){he||(he=new ae(""),ge[""]=he,he.$d(de));var b;if(!(b=ge[a])){b=new ae(a);var c=a.lastIndexOf("."),d=a.substr(c+1),c=ie(a.substr(0,c));c.Jc||(c.Jc={});c.Jc[d]=b;b.s=c;ge[a]=b}return b};var F=function(a,b){a&&a.log(ee,b,void 0)};var je=function(a,b,c){if(q(a))c&&(a=r(a,c));else if(a&&"function"==typeof a.handleEvent)a=r(a.handleEvent,a);else throw Error("Invalid listener argument");return 2147483647b)throw Error("Bad port number "+b);a.eb=b}else a.eb=null},Fe=function(a,b,c){H(a);a.ta=c?He(b,!0):b},Ge=function(a,b,c){H(a);b instanceof I?(a.V=b,a.V.ld(a.R)):(c||(b=Ie(b,Ne)),a.V=new I(b,0,a.R))},J=function(a,b,c){H(a);a.V.set(b,c)},Oe=function(a,b){return a.V.get(b)},Pe=function(a,b){H(a);a.V.remove(b)},H=function(a){if(a.Se)throw Error("Tried to modify a read-only Uri");
+};Be.prototype.ld=function(a){this.R=a;this.V&&this.V.ld(a);return this};
+var Qe=function(a){return a instanceof Be?a.clone():new Be(a,void 0)},Re=function(a,b){var c=new Be(null,void 0);Ce(c,"https");a&&De(c,a);b&&Fe(c,b);return c},He=function(a,b){return a?b?decodeURI(a.replace(/%25/g,"%2525")):decodeURIComponent(a):""},Ie=function(a,b,c){return p(a)?(a=encodeURI(a).replace(b,Se),c&&(a=a.replace(/%25([0-9a-fA-F]{2})/g,"%$1")),a):null},Se=function(a){a=a.charCodeAt(0);return"%"+(a>>4&15).toString(16)+(a&15).toString(16)},Je=/[#\/\?@]/g,Le=/[\#\?:]/g,Ke=/[\#\?]/g,Ne=/[\#\?@]/g,
+Me=/#/g,I=function(a,b,c){this.o=this.l=null;this.N=a||null;this.R=!!c},Te=function(a){a.l||(a.l=new Td,a.o=0,a.N&&me(a.N,function(b,c){a.add(decodeURIComponent(b.replace(/\+/g," ")),c)}))},Ve=function(a){var b=Xd(a);if("undefined"==typeof b)throw Error("Keys are undefined");var c=new I(null,0,void 0);a=Wd(a);for(var d=0;da?!1:!z||!mb||9")&&(d=d.replace(pa,">")),-1!=d.indexOf('"')&&(d=d.replace(qa,""")),-1!=d.indexOf("'")&&(d=d.replace(ra,"'")),-1!=d.indexOf("\x00")&&(d=d.replace(sa,""))),d='',za(kc(a),"must provide justification"),w(!/^[\s\xa0]*$/.test(kc(a)),"must provide non-empty justification"),g.document.write(Kc((new Jc).Pe(d))),g.document.close())):g=a.open(qc(b),c,g);if(g)try{g.focus()}catch(k){}return g},
+ef=function(a){return new C(function(b){var c=function(){ke(2E3).then(function(){if(!a||a.closed)b();else return c()})};return c()})},ff=/^\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}$/,gf=function(){var a=null;return(new C(function(b){"complete"==l.document.readyState?b():(a=function(){b()},ac(window,"load",a))})).f(function(b){cc(window,"load",a);throw b;})},jf=function(){return hf(void 0)?gf().then(function(){return new C(function(a,b){var c=l.document,d=setTimeout(function(){b(Error("Cordova framework is not ready."))},
+1E3);c.addEventListener("deviceready",function(){clearTimeout(d);a()},!1)})}):E(Error("Cordova must run in an Android or iOS file scheme."))},hf=function(a){a=a||K();return!("file:"!==kf()||!a.toLowerCase().match(/iphone|ipad|ipod|android/))},lf=function(){var a=l.window;try{return!(!a||a==a.top)}catch(b){return!1}},L=function(){return firebase.INTERNAL.hasOwnProperty("reactNative")?"ReactNative":firebase.INTERNAL.hasOwnProperty("node")?"Node":"Browser"},mf=function(){var a=L();return"ReactNative"===
+a||"Node"===a},$e=function(a){var b=a.toLowerCase();if(v(b,"opera/")||v(b,"opr/")||v(b,"opios/"))return"Opera";if(v(b,"iemobile"))return"IEMobile";if(v(b,"msie")||v(b,"trident/"))return"IE";if(v(b,"edge/"))return"Edge";if(v(b,"firefox/"))return"Firefox";if(v(b,"silk/"))return"Silk";if(v(b,"blackberry"))return"Blackberry";if(v(b,"webos"))return"Webos";if(!v(b,"safari/")||v(b,"chrome/")||v(b,"crios/")||v(b,"android"))if(!v(b,"chrome/")&&!v(b,"crios/")||v(b,"edge/")){if(v(b,"android"))return"Android";
+if((a=a.match(/([a-zA-Z\d\.]+)\/[a-zA-Z\d\.]*$/))&&2==a.length)return a[1]}else return"Chrome";else return"Safari";return"Other"},nf=function(a){var b=L();return("Browser"===b?$e(K()):b)+"/JsCore/"+a},K=function(){return l.navigator&&l.navigator.userAgent||""},M=function(a,b){a=a.split(".");b=b||l;for(var c=0;cb)throw Error("Short delay should be less than long delay!");
+this.tf=a;this.Ve=b;a=c||K();d=d||L();this.Re=bf(a)||"ReactNative"===d};yf.prototype.get=function(){return this.Re?this.Ve:this.tf};
+var zf=function(){var a=l.document;return a&&"undefined"!==typeof a.visibilityState?"visible"==a.visibilityState:!0},Af=function(){var a=l.document,b=null;return zf()||!a?D():(new C(function(c){b=function(){zf()&&(a.removeEventListener("visibilitychange",b,!1),c())};a.addEventListener("visibilitychange",b,!1)})).f(function(c){a.removeEventListener("visibilitychange",b,!1);throw c;})};var Bf;try{var Cf={};Object.defineProperty(Cf,"abcd",{configurable:!0,enumerable:!0,value:1});Object.defineProperty(Cf,"abcd",{configurable:!0,enumerable:!0,value:2});Bf=2==Cf.abcd}catch(a){Bf=!1}
+var N=function(a,b,c){Bf?Object.defineProperty(a,b,{configurable:!0,enumerable:!0,value:c}):a[b]=c},Df=function(a,b){if(b)for(var c in b)b.hasOwnProperty(c)&&N(a,c,b[c])},Ef=function(a){var b={},c;for(c in a)a.hasOwnProperty(c)&&(b[c]=a[c]);return b},Ff=function(a,b){if(!b||!b.length)return!0;if(!a)return!1;for(var c=0;c Auth section -> Sign in method tab.",a):"http"==d||"https"==d?c=la("This domain (%s) is not authorized to run this operation. Add it to the OAuth redirect domains list in the Firebase console -> Auth section -> Sign in method tab.",a):b=
+"operation-not-supported-in-this-environment";O.call(this,b,c)};t(Of,O);var Pf=function(a){this.Ue=a.sub;ka();this.Yb=a.email||null};var Qf=function(a,b){if(b.idToken||b.accessToken)b.idToken&&N(this,"idToken",b.idToken),b.accessToken&&N(this,"accessToken",b.accessToken);else if(b.oauthToken&&b.oauthTokenSecret)N(this,"accessToken",b.oauthToken),N(this,"secret",b.oauthTokenSecret);else throw new O("internal-error","failed to construct a credential");N(this,"provider",a)};Qf.prototype.$b=function(a){return Rf(a,Sf(this))};Qf.prototype.Pd=function(a,b){var c=Sf(this);c.idToken=b;return Tf(a,c)};
+var Sf=function(a){var b={};a.idToken&&(b.id_token=a.idToken);a.accessToken&&(b.access_token=a.accessToken);a.secret&&(b.oauth_token_secret=a.secret);b.providerId=a.provider;return{postBody:Ve(b).toString(),requestUri:"http://localhost"}};Qf.prototype.C=function(){var a={provider:this.provider};this.idToken&&(a.oauthIdToken=this.idToken);this.accessToken&&(a.oauthAccessToken=this.accessToken);this.secret&&(a.oauthTokenSecret=this.secret);return a};
+var Uf=function(a,b){this.hf=b||[];Df(this,{providerId:a,isOAuthProvider:!0});this.yd={}};Uf.prototype.setCustomParameters=function(a){this.yd=Sa(a);return this};var Q=function(a){Uf.call(this,a,If);this.jd=[]};t(Q,Uf);Q.prototype.addScope=function(a){Ha(this.jd,a)||this.jd.push(a);return this};Q.prototype.Gd=function(){return Ma(this.jd)};
+Q.prototype.credential=function(a,b){if(!a&&!b)throw new O("argument-error","credential failed: must provide the ID token and/or the access token.");return new Qf(this.providerId,{idToken:a||null,accessToken:b||null})};var Vf=function(){Q.call(this,"facebook.com")};t(Vf,Q);N(Vf,"PROVIDER_ID","facebook.com");var Wf=function(a){if(!a)throw new O("argument-error","credential failed: expected 1 argument (the OAuth access token).");return(new Vf).credential(null,a)},Xf=function(){Q.call(this,"github.com")};
+t(Xf,Q);N(Xf,"PROVIDER_ID","github.com");var Yf=function(a){if(!a)throw new O("argument-error","credential failed: expected 1 argument (the OAuth access token).");return(new Xf).credential(null,a)},Zf=function(){Q.call(this,"google.com");this.addScope("profile")};t(Zf,Q);N(Zf,"PROVIDER_ID","google.com");var $f=function(a,b){return(new Zf).credential(a,b)},ag=function(){Uf.call(this,"twitter.com",Hf)};t(ag,Uf);N(ag,"PROVIDER_ID","twitter.com");
+var bg=function(a,b){if(!a||!b)throw new O("argument-error","credential failed: expected 2 arguments (the OAuth access token and secret).");return new Qf("twitter.com",{oauthToken:a,oauthTokenSecret:b})},cg=function(a,b){this.Yb=a;this.ad=b;N(this,"provider","password")};cg.prototype.$b=function(a){return R(a,dg,{email:this.Yb,password:this.ad})};cg.prototype.Pd=function(a,b){return R(a,eg,{idToken:b,email:this.Yb,password:this.ad})};cg.prototype.C=function(){return{email:this.Yb,password:this.ad}};
+var fg=function(){Df(this,{providerId:"password",isOAuthProvider:!1})};Df(fg,{PROVIDER_ID:"password"});
+var gg=function(a){var b=a&&a.providerId;if(!b||"password"===b)return null;var c=a&&a.oauthAccessToken,d=a&&a.oauthTokenSecret;a=a&&a.oauthIdToken;try{switch(b){case "google.com":return $f(a,c);case "facebook.com":return Wf(c);case "github.com":return Yf(c);case "twitter.com":return bg(c,d);default:return(new Q(b)).credential(a,c)}}catch(e){return null}},hg=function(a){if(!a.isOAuthProvider)throw new O("invalid-oauth-provider");};var ig=function(a,b,c,d){O.call(this,a,d);N(this,"email",b);N(this,"credential",c)};t(ig,O);ig.prototype.C=function(){var a={code:this.code,message:this.message,email:this.email},b=this.credential&&this.credential.C();b&&(Ua(a,b),a.providerId=b.provider,delete a.provider);return a};ig.prototype.toJSON=function(){return this.C()};var jg=function(a){if(a.code){var b=a.code||"";0==b.indexOf("auth/")&&(b=b.substring(5));return a.email?new ig(b,a.email,gg(a),a.message):new O(b,a.message||void 0)}return null};var kg=function(a){this.Cf=a};t(kg,Ac);kg.prototype.Xb=function(){return new this.Cf};kg.prototype.Uc=function(){return{}};
+var S=function(a,b,c){var d;d="Node"==L();d=l.XMLHttpRequest||d&&firebase.INTERNAL.node&&firebase.INTERNAL.node.XMLHttpRequest;if(!d)throw new O("internal-error","The XMLHttpRequest compatibility library was not found.");this.j=a;a=b||{};this.pf=a.secureTokenEndpoint||"https://securetoken.googleapis.com/v1/token";this.qf=a.secureTokenTimeout||lg;this.Yd=Sa(a.secureTokenHeaders||mg);this.Ae=a.firebaseEndpoint||"https://www.googleapis.com/identitytoolkit/v3/relyingparty/";this.Be=a.firebaseTimeout||
+ng;this.Ed=Sa(a.firebaseHeaders||og);c&&(this.Ed["X-Client-Version"]=c,this.Yd["X-Client-Version"]=c);this.te=new Fc;this.Bf=new kg(d)},pg,lg=new yf(3E4,6E4),mg={"Content-Type":"application/x-www-form-urlencoded"},ng=new yf(3E4,6E4),og={"Content-Type":"application/json"},rg=function(a,b,c,d,e,f,g){xf()?(af()?a=r(a.sf,a):(pg||(pg=new C(function(a,b){qg(a,b)})),a=r(a.rf,a)),a(b,c,d,e,f,g)):c&&c(null)};
+S.prototype.sf=function(a,b,c,d,e,f){var g="Node"==L(),k=mf()?g?new G(this.Bf):new G:new G(this.te),n;f&&(k.ob=Math.max(0,f),n=setTimeout(function(){k.dispatchEvent("timeout")},f));k.listen("complete",function(){n&&clearTimeout(n);var a=null;try{a=JSON.parse(Ae(this))||null}catch(Xa){a=null}b&&b(a)});bc(k,"ready",function(){n&&clearTimeout(n);this.Ba||(this.Ba=!0,this.Wa())});bc(k,"timeout",function(){n&&clearTimeout(n);this.Ba||(this.Ba=!0,this.Wa());b&&b(null)});k.send(a,c,d,e)};
+var Dd="__fcb"+Math.floor(1E6*Math.random()).toString(),qg=function(a,b){((window.gapi||{}).client||{}).request?a():(l[Dd]=function(){((window.gapi||{}).client||{}).request?a():b(Error("CORS_UNSUPPORTED"))},Fd(function(){b(Error("CORS_UNSUPPORTED"))}))};
+S.prototype.rf=function(a,b,c,d,e){var f=this;pg.then(function(){window.gapi.client.setApiKey(f.j);var g=window.gapi.auth.getToken();window.gapi.auth.setToken(null);window.gapi.client.request({path:a,method:c,body:d,headers:e,authType:"none",callback:function(a){window.gapi.auth.setToken(g);b&&b(a)}})}).f(function(a){b&&b({error:{message:a&&a.message||"CORS_UNSUPPORTED"}})})};
+var tg=function(a,b){return new C(function(c,d){"refresh_token"==b.grant_type&&b.refresh_token||"authorization_code"==b.grant_type&&b.code?rg(a,a.pf+"?key="+encodeURIComponent(a.j),function(a){a?a.error?d(sg(a)):a.access_token&&a.refresh_token?c(a):d(new O("internal-error")):d(new O("network-request-failed"))},"POST",Ve(b).toString(),a.Yd,a.qf.get()):d(new O("internal-error"))})},ug=function(a,b,c,d,e){var f=Qe(a.Ae+b);J(f,"key",a.j);e&&J(f,"cb",ka().toString());var g="GET"==c;if(g)for(var k in d)d.hasOwnProperty(k)&&
+J(f,k,d[k]);return new C(function(b,e){rg(a,f.toString(),function(a){a?a.error?e(sg(a)):b(a):e(new O("network-request-failed"))},c,g?void 0:wc(tf(d)),a.Ed,a.Be.get())})},vg=function(a){if(!hc.test(a.email))throw new O("invalid-email");},wg=function(a){"email"in a&&vg(a)},yg=function(a,b){return R(a,xg,{identifier:b,continueUri:of()?Xe():"http://localhost"}).then(function(a){return a.allProviders||[]})},Ag=function(a){return R(a,zg,{}).then(function(a){return a.authorizedDomains||[]})},Bg=function(a){if(!a.idToken)throw new O("internal-error");
+};S.prototype.signInAnonymously=function(){return R(this,Cg,{})};S.prototype.updateEmail=function(a,b){return R(this,Dg,{idToken:a,email:b})};S.prototype.updatePassword=function(a,b){return R(this,eg,{idToken:a,password:b})};var Eg={displayName:"DISPLAY_NAME",photoUrl:"PHOTO_URL"};S.prototype.updateProfile=function(a,b){var c={idToken:a},d=[];Na(Eg,function(a,f){var e=b[f];null===e?d.push(a):f in b&&(c[f]=e)});d.length&&(c.deleteAttribute=d);return R(this,Dg,c)};
+S.prototype.sendPasswordResetEmail=function(a){return R(this,Fg,{requestType:"PASSWORD_RESET",email:a})};S.prototype.sendEmailVerification=function(a){return R(this,Gg,{requestType:"VERIFY_EMAIL",idToken:a})};
+var Ig=function(a,b,c){return R(a,Hg,{idToken:b,deleteProvider:c})},Jg=function(a){if(!a.requestUri||!a.sessionId&&!a.postBody)throw new O("internal-error");},Kg=function(a){var b=null;a.needConfirmation?(a.code="account-exists-with-different-credential",b=jg(a)):"FEDERATED_USER_ID_ALREADY_LINKED"==a.errorMessage?(a.code="credential-already-in-use",b=jg(a)):"EMAIL_EXISTS"==a.errorMessage&&(a.code="email-already-in-use",b=jg(a));if(b)throw b;if(!a.idToken)throw new O("internal-error");},Rf=function(a,
+b){b.returnIdpCredential=!0;return R(a,Lg,b)},Tf=function(a,b){b.returnIdpCredential=!0;return R(a,Mg,b)},Ng=function(a){if(!a.oobCode)throw new O("invalid-action-code");};S.prototype.confirmPasswordReset=function(a,b){return R(this,Og,{oobCode:a,newPassword:b})};S.prototype.checkActionCode=function(a){return R(this,Pg,{oobCode:a})};S.prototype.applyActionCode=function(a){return R(this,Qg,{oobCode:a})};
+var Qg={endpoint:"setAccountInfo",K:Ng,nb:"email"},Pg={endpoint:"resetPassword",K:Ng,va:function(a){if(!a.email||!a.requestType)throw new O("internal-error");}},Rg={endpoint:"signupNewUser",K:function(a){vg(a);if(!a.password)throw new O("weak-password");},va:Bg,wa:!0},xg={endpoint:"createAuthUri"},Sg={endpoint:"deleteAccount",mb:["idToken"]},Hg={endpoint:"setAccountInfo",mb:["idToken","deleteProvider"],K:function(a){if(!da(a.deleteProvider))throw new O("internal-error");}},Tg={endpoint:"getAccountInfo"},
+Gg={endpoint:"getOobConfirmationCode",mb:["idToken","requestType"],K:function(a){if("VERIFY_EMAIL"!=a.requestType)throw new O("internal-error");},nb:"email"},Fg={endpoint:"getOobConfirmationCode",mb:["requestType"],K:function(a){if("PASSWORD_RESET"!=a.requestType)throw new O("internal-error");vg(a)},nb:"email"},zg={se:!0,endpoint:"getProjectConfig",Le:"GET"},Og={endpoint:"resetPassword",K:Ng,nb:"email"},Dg={endpoint:"setAccountInfo",mb:["idToken"],K:wg,wa:!0},eg={endpoint:"setAccountInfo",mb:["idToken"],
+K:function(a){wg(a);if(!a.password)throw new O("weak-password");},va:Bg,wa:!0},Cg={endpoint:"signupNewUser",va:Bg,wa:!0},Lg={endpoint:"verifyAssertion",K:Jg,va:Kg,wa:!0},Mg={endpoint:"verifyAssertion",K:function(a){Jg(a);if(!a.idToken)throw new O("internal-error");},va:Kg,wa:!0},Ug={endpoint:"verifyCustomToken",K:function(a){if(!a.token)throw new O("invalid-custom-token");},va:Bg,wa:!0},dg={endpoint:"verifyPassword",K:function(a){vg(a);if(!a.password)throw new O("wrong-password");},va:Bg,wa:!0},R=
+function(a,b,c){if(!Ff(c,b.mb))return E(new O("internal-error"));var d=b.Le||"POST",e;return D(c).then(b.K).then(function(){b.wa&&(c.returnSecureToken=!0);return ug(a,b.endpoint,d,c,b.se||!1)}).then(function(a){return e=a}).then(b.va).then(function(){if(!b.nb)return e;if(!(b.nb in e))throw new O("internal-error");return e[b.nb]})},sg=function(a){var b,c;c=(a.error&&a.error.errors&&a.error.errors[0]||{}).reason||"";var d={keyInvalid:"invalid-api-key",ipRefererBlocked:"app-not-authorized"};if(c=d[c]?
+new O(d[c]):null)return c;c=a.error&&a.error.message||"";d={INVALID_CUSTOM_TOKEN:"invalid-custom-token",CREDENTIAL_MISMATCH:"custom-token-mismatch",MISSING_CUSTOM_TOKEN:"internal-error",INVALID_IDENTIFIER:"invalid-email",MISSING_CONTINUE_URI:"internal-error",INVALID_EMAIL:"invalid-email",INVALID_PASSWORD:"wrong-password",USER_DISABLED:"user-disabled",MISSING_PASSWORD:"internal-error",EMAIL_EXISTS:"email-already-in-use",PASSWORD_LOGIN_DISABLED:"operation-not-allowed",INVALID_IDP_RESPONSE:"invalid-credential",
+FEDERATED_USER_ID_ALREADY_LINKED:"credential-already-in-use",INVALID_MESSAGE_PAYLOAD:"invalid-message-payload",INVALID_RECIPIENT_EMAIL:"invalid-recipient-email",INVALID_SENDER:"invalid-sender",EMAIL_NOT_FOUND:"user-not-found",EXPIRED_OOB_CODE:"expired-action-code",INVALID_OOB_CODE:"invalid-action-code",MISSING_OOB_CODE:"internal-error",CREDENTIAL_TOO_OLD_LOGIN_AGAIN:"requires-recent-login",INVALID_ID_TOKEN:"invalid-user-token",TOKEN_EXPIRED:"user-token-expired",USER_NOT_FOUND:"user-token-expired",
+CORS_UNSUPPORTED:"cors-unsupported",DYNAMIC_LINK_NOT_ACTIVATED:"dynamic-link-not-activated",TOO_MANY_ATTEMPTS_TRY_LATER:"too-many-requests",WEAK_PASSWORD:"weak-password",OPERATION_NOT_ALLOWED:"operation-not-allowed",USER_CANCELLED:"user-cancelled"};b=(b=c.match(/^[^\s]+\s*:\s*(.*)$/))&&1a.rd&&(a.Ha=a.rd);return b},Nh=function(a,b){a.stop();a.cb=ke(Oh(a,b)).then(function(){return a.lf?D():Af()}).then(function(){return a.bf()}).then(function(){Nh(a,!0)}).f(function(b){a.kf(b)&&Nh(a,!1)})};Mh.prototype.stop=function(){this.cb&&(this.cb.cancel(),this.cb=null)};var U=function(a,b){for(var c in b){var d=b[c].name;a[d]=Ph(d,a[c],b[c].a)}},V=function(a,b,c,d){a[b]=Ph(b,c,d)},Ph=function(a,b,c){if(!c)return b;var d=Qh(a);a=function(){var a=Array.prototype.slice.call(arguments),e;a:{e=Array.prototype.slice.call(a);var k;k=0;for(var n=!1,A=0;Ak||k>=Fh.length)throw new O("internal-error","Argument validator received an unsupported number of arguments.");e=Fh[k]+" argument "+(e.name?'"'+e.name+'" ':"")+"must be "+e.fa+".";break a}e=null}}if(e)throw new O("argument-error",d+" failed: "+e);return b.apply(this,a)};for(var e in b)a[e]=b[e];for(e in b.prototype)a.prototype[e]=
+b.prototype[e];return a},Qh=function(a){a=a.split(".");return a[a.length-1]};var Rh=function(a,b,c,d){this.Ye=a;this.Zd=b;this.mf=c;this.Mb=d;this.S={};Dh||(Dh=new Ch);a=Dh;try{var e;We()?(th||(th=new sh("firebaseLocalStorageDb","firebaseLocalStorage","fbase_key","value",1)),e=th):e=new a.Bd.I;this.La=e}catch(f){this.La=new mh,this.Mb=!0}try{this.yc=new a.Bd.qd}catch(f){this.yc=new mh}this.od=r(this.ce,this);this.Y={}},Sh,Th=function(){Sh||(Sh=new Rh("firebase",":",!vf(K())&&lf()?!0:!1,rf()));return Sh};h=Rh.prototype;
+h.P=function(a,b){return this.Ye+this.Zd+a.name+(b?this.Zd+b:"")};h.get=function(a,b){return(a.I?this.La:this.yc).get(this.P(a,b))};h.remove=function(a,b){b=this.P(a,b);a.I&&!this.Mb&&(this.Y[b]=null);return(a.I?this.La:this.yc).remove(b)};h.set=function(a,b,c){var d=this.P(a,c),e=this,f=a.I?this.La:this.yc;return f.set(d,b).then(function(){return f.get(d)}).then(function(b){a.I&&!this.Mb&&(e.Y[d]=b)})};
+h.addListener=function(a,b,c){a=this.P(a,b);this.Mb||(this.Y[a]=l.localStorage.getItem(a));Qa(this.S)&&this.nd();this.S[a]||(this.S[a]=[]);this.S[a].push(c)};h.removeListener=function(a,b,c){a=this.P(a,b);this.S[a]&&(Ka(this.S[a],function(a){return a==c}),0==this.S[a].length&&delete this.S[a]);Qa(this.S)&&this.wc()};h.nd=function(){this.La.Ta(this.od);this.Mb||We()||Uh(this)};
+var Uh=function(a){Vh(a);a.Xc=setInterval(function(){for(var b in a.S){var c=l.localStorage.getItem(b),d=a.Y[b];c!=d&&(a.Y[b]=c,c=new Jb({type:"storage",key:b,target:window,oldValue:d,newValue:c,df:!0}),a.ce(c))}},1E3)},Vh=function(a){a.Xc&&(clearInterval(a.Xc),a.Xc=null)};Rh.prototype.wc=function(){this.La.Na(this.od);Vh(this)};
+Rh.prototype.ce=function(a){if(a&&a.Ee){var b=a.Xa.key;"undefined"!==typeof a.Xa.df?this.La.Na(this.od):Vh(this);if(this.mf){var c=l.localStorage.getItem(b);a=a.Xa.newValue;a!=c&&(a?l.localStorage.setItem(b,a):a||l.localStorage.removeItem(b))}this.Y[b]=l.localStorage.getItem(b);this.ud(b)}else x(a,r(this.ud,this))};Rh.prototype.ud=function(a){this.S[a]&&x(this.S[a],function(a){a()})};var Wh=function(a,b){this.u=a;this.i=b||Th()},Xh={name:"authEvent",I:!0},Yh=function(a){return a.i.get(Xh,a.u).then(function(a){return Nf(a)})};Wh.prototype.Sa=function(a){this.i.addListener(Xh,this.u,a)};Wh.prototype.Lb=function(a){this.i.removeListener(Xh,this.u,a)};var Zh=function(a){this.i=a||Th()},$h={name:"sessionId",I:!1};Zh.prototype.ac=function(a){return this.i.get($h,a)};var ai=function(a,b,c,d,e,f){this.v=a;this.j=b;this.B=c;this.Aa=d||null;this.de=b+":"+c;this.nf=new Zh;this.Fd=new Wh(this.de);this.Tc=null;this.ia=[];this.Qe=e||500;this.ff=f||2E3;this.yb=this.oc=null},bi=function(a){return new O("invalid-cordova-configuration",a)};
+ai.prototype.Ga=function(){return this.Vc?this.Vc:this.Vc=jf().then(function(){if("function"!==typeof M("universalLinks.subscribe",l))throw bi("cordova-universal-links-plugin is not installed");if("undefined"===typeof M("BuildInfo.packageName",l))throw bi("cordova-plugin-buildinfo is not installed");if("function"!==typeof M("cordova.plugins.browsertab.openUrl",l))throw bi("cordova-plugin-browsertab is not installed");if("function"!==typeof M("cordova.InAppBrowser.open",l))throw bi("cordova-plugin-inappbrowser is not installed");
+},function(){throw new O("cordova-not-ready");})};var ci=function(){for(var a=20,b=[];0this.Ca-3E4?this.W?Fi(this,{grant_type:"refresh_token",refresh_token:this.W}):D(null):D({accessToken:this.xa,expirationTime:this.Ca,refreshToken:this.W})};var Gi=function(a,b,c,d,e){Df(this,{uid:a,displayName:d||null,photoURL:e||null,email:c||null,providerId:b})},Hi=function(a,b){Ib.call(this,a);for(var c in b)this[c]=b[c]};t(Hi,Ib);
+var X=function(a,b,c){this.Z=[];this.j=a.apiKey;this.B=a.appName;this.v=a.authDomain||null;a=firebase.SDK_VERSION?nf(firebase.SDK_VERSION):null;this.g=new S(this.j,null,a);this.ea=new Ci(this.g);Ii(this,b.idToken);Ei(this.ea,b);N(this,"refreshToken",this.ea.W);Ji(this,c||{});Od.call(this);this.pc=!1;this.v&&qf()&&(this.m=xi(this.v,this.j,this.B));this.vc=[];this.oa=null;this.fb=Ki(this);this.rb=r(this.Rc,this)};t(X,Od);X.prototype.Rc=function(){this.fb.cb&&(this.fb.stop(),this.fb.start())};
+var Ki=function(a){return new Mh(function(){return a.getToken(!0)},function(a){return a&&"auth/network-request-failed"==a.code?!0:!1},function(){var b=a.ea.Ca-ka()-3E5;return 0this.Da&&(this.Da=0);0==this.Da&&Z(this)&&Mi(Z(this));this.removeAuthTokenListener(a)};
+h.addAuthTokenListener=function(a){var b=this;this.ya.push(a);this.c(this.ua.then(function(){b.Va||Ha(b.ya,a)&&a(Z(b)&&Z(b)._lat||null)}))};h.removeAuthTokenListener=function(a){Ka(this.ya,function(b){return b==a})};h["delete"]=function(){this.Va=!0;for(var a=0;a_;_++)j[_]=i.charCodeAt(s)<<24|i.charCodeAt(s+1)<<16|i.charCodeAt(s+2)<<8|i.charCodeAt(s+3),s+=4;else for(_=0;16>_;_++)j[_]=i[s]<<24|i[s+1]<<16|i[s+2]<<8|i[s+3],s+=4;for(_=16;80>_;_++){var $=j[_-3]^j[_-8]^j[_-14]^j[_-16];j[_]=4294967295&($<<1|$>>>31)}i=o.M[0],s=o.M[1];for(var nt,_e=o.M[2],et=o.M[3],tt=o.M[4],_=0;80>_;_++)40>_?20>_?($=et^s&(_e^et),nt=1518500249):($=s^_e^et,nt=1859775393):60>_?($=s&_e|et&(s|_e),nt=2400959708):($=s^_e^et,nt=3395469782),$=4294967295&(i<<5|i>>>27)+$+tt+nt+j[_],tt=et,et=_e,_e=4294967295&(s<<30|s>>>2),s=i,i=$;o.M[0]=4294967295&o.M[0]+i,o.M[1]=4294967295&o.M[1]+s,o.M[2]=4294967295&o.M[2]+_e,o.M[3]=4294967295&o.M[3]+et,o.M[4]=4294967295&o.M[4]+tt}function r(o,i){for(var s in o)i.call(void 0,o[s],s,o)}function pa(o,i){var j,s={};for(j in o)s[j]=i.call(void 0,o[j],j,o);return s}function qa(o,i){for(var s in o)if(!i.call(void 0,o[s],s,o))return!1;return!0}function ra(o){var s,i=0;for(s in o)i++;return i}function sa(o){for(var i in o)return i}function ta(o){var j,i=[],s=0;for(j in o)i[s++]=o[j];return i}function ua(o){var j,i=[],s=0;for(j in o)i[s++]=j;return i}function va(o,i){for(var s in o)if(o[s]==i)return!0;return!1}function wa(o,i,s){for(var j in o)if(i.call(s,o[j],j,o))return j}function xa(o,i){var s=wa(o,i,void 0);return s&&o[s]}function ya(o){for(var i in o)return!1;return!0}function za(o){var s,i={};for(s in o)i[s]=o[s];return i}function Aa(a){if(a+="",/^\s*$/.test(a)?0:/^[\],:{}\s\u2028\u2029]*$/.test(a.replace(/\\["\\\/bfnrtu]/g,"@").replace(/"[^"\\\n\r\u2028\u2029\x00-\x08\x0a-\x1f]*"|true|false|null|-?\d+(?:\.\d*)?(?:[eE][+\-]?\d+)?/g,"]").replace(/(?:^|:|,)(?:[\s\u2028\u2029]*\[)+/g,"")))try{return eval("("+a+")")}catch(o){}throw Error("Invalid JSON string: "+a)}function Ba(){this.Fd=void 0}function Ca(o,i,s){switch(typeof i){case"string":Da(i,s);break;case"number":s.push(isFinite(i)&&!isNaN(i)?i:"null");break;case"boolean":s.push(i);break;case"undefined":s.push("null");break;case"object":if(null==i){s.push("null");break}if(ea(i)){var j=i.length;s.push("[");for(var _="",$=0;$j?_+="000":256>j?_+="00":4096>j&&(_+="0"),Ea[s]=_+j.toString(16)}),"\"")}function Oa(o,i){var s=Pa(o,i,void 0);return 0>s?null:p(o)?o.charAt(s):o[s]}function Pa(o,i,s){for(var j=o.length,_=p(o)?o.split(""):o,$=0;$=arguments.length?v.slice.call(o,i):v.slice.call(o,i,s)}function Sa(o,i){o.sort(i||Ta)}function Ta(o,i){return o>i?1:o>4,et=(15&et)<<2|nt>>6,nt=63&nt;tt||(nt=64,_e||(et=64)),j.push(s[$>>2],s[$],s[et],s[nt])}return j.join("")}function bb(){if(!Ya){Ya={},Za={},$a={};for(var o=0;65>o;o++)Ya[o]="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=".charAt(o),Za[o]="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_.".charAt(o),$a[Za[o]]=o,62<=o&&($a["ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=".charAt(o)]=o)}}function cb(o,i){return Object.prototype.hasOwnProperty.call(o,i)}function w(o,i){if(Object.prototype.hasOwnProperty.call(o,i))return o[i]}function db(o,i){for(var s in o)Object.prototype.hasOwnProperty.call(o,s)&&i(s,o[s])}function x(o,i,s,j){var _;if(js&&(_=0===s?"none":"no more than "+s),_)throw Error(o+" failed: Was called with "+j+(1===j?" argument.":" arguments.")+" Expects "+_+".")}function y(o,i,s){var j="";switch(i){case 1:j=s?"first":"First";break;case 2:j=s?"second":"Second";break;case 3:j=s?"third":"Third";break;case 4:j=s?"fourth":"Fourth";break;default:throw Error("errorPrefix called with argumentNumber > 4. Need to update it?");}return o=o+" failed: "+(j+" argument ")}function A(o,i,s,j){if((!j||n(s))&&!ha(s))throw Error(y(o,i,j)+"must be a valid function.")}function eb(o,i,s){if(n(s)&&(!ia(s)||null===s))throw Error(y(o,i,!0)+"must be a valid context object.")}function fb(o){var i=[];return db(o,function(s,j){ea(j)?Ja(j,function(_){i.push(encodeURIComponent(s)+"="+encodeURIComponent(_))}):i.push(encodeURIComponent(s)+"="+encodeURIComponent(j))}),i.length?"&"+i.join("&"):""}function hb(){var o=this;this.reject=this.resolve=null,this.ra=new gb(function(i,s){o.resolve=i,o.reject=s})}function ib(o,i){return function(s,j){s?o.reject(s):o.resolve(j),ha(i)&&(jb(o.ra),1===i.length?i(s):i(s,j))}}function jb(o){o.then(void 0,ba)}function kb(o,i){if(!o)throw lb(i)}function lb(o){return Error("Firebase Database ("+firebase.SDK_VERSION+") INTERNAL ASSERT FAILED: "+o)}function mb(o){for(var _,i=[],s=0,j=0;j=_&&(_-=55296,j++,kb(j_?i[s++]=_:(2048>_?i[s++]=192|_>>6:(65536>_?i[s++]=224|_>>12:(i[s++]=240|_>>18,i[s++]=128|63&_>>12),i[s++]=128|63&_>>6),i[s++]=128|63&_);return i}function nb(o){for(var j,i=0,s=0;sj?i++:2048>j?i+=2:55296<=j&&56319>=j?(i+=4,s++):i+=3;return i}function ob(o){return"undefined"!=typeof JSON&&n(JSON.parse)?JSON.parse(o):Aa(o)}function B(o){if("undefined"!=typeof JSON&&n(JSON.stringify))o=JSON.stringify(o);else{var i=[];Ca(new Ba,o,i),o=i.join("")}return o}function pb(o,i){this.committed=o,this.snapshot=i}function qb(){return"undefined"!=typeof window&&!!(window.cordova||window.phonegap||window.PhoneGap)&&/ios|iphone|ipod|ipad|android|blackberry|iemobile/i.test("undefined"!=typeof navigator&&"string"==typeof navigator.userAgent?navigator.userAgent:"")}function rb(o){this.re=o,this.Bd=[],this.Qb=0,this.Xd=-1,this.Fb=null}function sb(o,i,s){o.Xd=i,o.Fb=s,o.Xd>4),64!=et&&(j.push(240&_e<<4|et>>2),64!=tt&&j.push(192&et<<6|tt))}if(8192>j.length)i=String.fromCharCode.apply(null,j);else{for(o="",s=0;so.$b?o.update(o.zd,56-o.$b):o.update(o.zd,o.Wa-(o.$b-56));for(var j=o.Wa-1;56<=j;j--)o.Vd[j]=255&s,s/=256;for(oa(o,o.Vd),j=s=0;5>j;j++)for(var _=24;0<=_;_-=8)i[s]=255&o.M[j]>>_,++s;return ab(i)}function vc(){for(var i="",s=0;s.firebaseio.com instead"),s&&"undefined"!=s||Ac("Cannot parse Firebase url. Please use https://.firebaseio.com"),j||"undefined"!=typeof window&&window.location&&window.location.protocol&&-1!==window.location.protocol.indexOf("https:")&&O("Insecure Firebase access from a secure page. Please use https in calls to new Firebase()."),{jc:new Hb(i,j,s,"ws"===_||"wss"===_),path:new L($)}}function Cc(o){return ga(o)&&(o!=o||o==Number.POSITIVE_INFINITY||o==Number.NEGATIVE_INFINITY)}function Dc(o){if("complete"===document.readyState)o();else{var i=!1,s=function(){document.body?i||(i=!0,o()):setTimeout(s,Math.floor(10))};document.addEventListener?(document.addEventListener("DOMContentLoaded",s,!1),window.addEventListener("load",s,!1)):document.attachEvent&&(document.attachEvent("onreadystatechange",function(){"complete"===document.readyState&&s()}),window.attachEvent("onload",s))}}function hc(o,i){if(o===i)return 0;if("[MIN_NAME]"===o||"[MAX_NAME]"===i)return-1;if("[MIN_NAME]"===i||"[MAX_NAME]"===o)return 1;var s=Ec(o),j=Ec(i);return null===s?null===j?oo?s.push(o.substring(j,o.length)):s.push(o.substring(j,j+i));return s}function Ic(o,i){if(ea(o))for(var s=0;so,o=Math.abs(o),o>=Math.pow(2,-1022)?(j=Math.min(Math.floor(Math.log(o)/Math.LN2),1023),s=j+1023,j=Math.round(o*Math.pow(2,52-j)-Math.pow(2,52))):(s=0,j=Math.round(o/Math.pow(2,-1074)))),_=[],o=52;o;--o)_.push(j%2?1:0),j=Math.floor(j/2);for(o=11;o;--o)_.push(s%2?1:0),s=Math.floor(s/2);for(_.push(i?1:0),_.reverse(),i=_.join(""),s="",o=0;64>o;o+=8)j=parseInt(i.substr(o,8),2).toString(16),1===j.length&&(j="0"+j),s+=j;return s.toLowerCase()}function Ec(o){return Kc.test(o)&&(o=+o,-2147483648<=o&&2147483647>=o)?o:null}function ub(o){try{o()}catch(i){setTimeout(function(){throw O("Exception was thrown by user callback.",i.stack||""),i},Math.floor(0))}}function Lc(o,i,s){Object.defineProperty(o,i,{get:s})}function Mc(o,i){var s=setTimeout(o,i);return"object"==typeof s&&s.unref&&s.unref(),s}function Nc(o){var i={},s={},j={},_="";try{var $=o.split("."),i=ob(tc($[0])||""),s=ob(tc($[1])||""),_=$[2],j=s.d||{};delete s.d}catch(_e){}return{tg:i,Ie:s,data:j,mg:_}}function Oc(o){o=Nc(o);var i=o.Ie;return!!o.mg&&!!i&&"object"==typeof i&&i.hasOwnProperty("iat")}function Pc(o){return o=Nc(o).Ie,"object"==typeof o&&!0===w(o,"admin")}function Qc(o,i,s){this.f=yc("p:rest:"),this.L=o,this.Gb=i,this.$c=s,this.$={}}function Rc(o,i){return n(i)?"tag$"+i:(H(Sc(o.m),"should have a tag if it's not a default query."),o.path.toString())}function Uc(o,i,s,j){s=s||{},s.format="export",o.$c.getToken(!1).then(function(_){(_=_&&_.accessToken)&&(s.auth=_);var $=(o.L.Sc?"https://":"http://")+o.L.host+i+"?"+fb(s);o.f("Sending REST request for "+$);var _e=new XMLHttpRequest;_e.onreadystatechange=function(){if(j&&4===_e.readyState){o.f("REST Response for "+$+" received. status:",_e.status,"response:",_e.responseText);var et=null;if(200<=_e.status&&300>_e.status){try{et=ob(_e.responseText)}catch(tt){O("Failed to parse JSON response for "+$+": "+_e.responseText)}j(null,et)}else 401!==_e.status&&404!==_e.status&&O("Got unsuccessful REST response for "+$+" Status: "+_e.status),j(_e.status);j=null}},_e.open("GET",$,!0),_e.send()})}function Vc(o,i,s){this.type=Wc,this.source=o,this.path=i,this.children=s}function Xc(o,i){this.rf={},this.Vc=new Mb(o),this.va=i;var s=1E4+2E4*Math.random();Mc(q(this.lf,this),Math.floor(s))}function $c(o){return o=o.toString(),Yc[o]||(Yc[o]=new Kb),Yc[o]}function ad(o,i){var s=o.toString();return Zc[s]||(Zc[s]=i()),Zc[s]}function cd(o,i,s,j){this.Yd=o,this.f=yc(this.Yd),this.frames=this.zc=null,this.pb=this.qb=this.De=0,this.Va=$c(i),o={v:"5"},"undefined"!=typeof location&&location.href&&-1!==location.href.indexOf("firebaseio.com")&&(o.r="f"),s&&(o.s=s),j&&(o.ls=j),this.Je=Jb(i,"websocket",o)}function fd(o,i){if(o.frames.push(i),o.frames.length==o.De){var s=o.frames.join("");o.frames=null,s=ob(s),o.Xf(s)}}function ed(o){clearInterval(o.zc),o.zc=setInterval(function(){o.Ia&&gd(o,"0"),ed(o)},Math.floor(45E3))}function gd(o,i){try{o.Ia.send(i)}catch(s){o.f("Exception thrown from WebSocket.send():",s.message||s.data,"Closing connection."),setTimeout(q(o.bb,o),0)}}function hd(){this.fb={}}function jd(o,i){var s=i.type,j=i.Xa;H("child_added"==s||"child_changed"==s||"child_removed"==s,"Only child changes supported for tracking"),H(".priority"!==j,"Only non-priority child changes can be tracked.");var _=w(o.fb,j);if(_){var $=_.type;if("child_added"==s&&"child_removed"==$)o.fb[j]=new I("child_changed",i.Ja,j,_.Ja);else if("child_removed"==s&&"child_added"==$)delete o.fb[j];else if("child_removed"==s&&"child_changed"==$)o.fb[j]=new I("child_removed",_.oe,j);else if("child_changed"==s&&"child_added"==$)o.fb[j]=new I("child_added",i.Ja,j);else if("child_changed"==s&&"child_changed"==$)o.fb[j]=new I("child_changed",i.Ja,j,_.oe);else throw sc("Illegal combination of changes: "+i+" occurred after "+_)}else o.fb[j]=i}function kd(o){this.V=o,this.g=o.m.g}function ld(o,i,s,j){var _=[],$=[];return Ja(i,function(_e){"child_changed"===_e.type&&o.g.nd(_e.oe,_e.Ja)&&$.push(new I("child_moved",_e.Ja,_e.Xa))}),md(o,_,"child_removed",i,j,s),md(o,_,"child_added",i,j,s),md(o,_,"child_moved",$,j,s),md(o,_,"child_changed",i,j,s),md(o,_,cc,i,j,s),_}function md(o,i,s,j,_,$){j=Ka(j,function(_e){return _e.type===s}),Sa(j,q(o.Ff,o)),Ja(j,function(_e){var et=nd(o,_e,$);Ja(_,function(tt){tt.nf(_e.type)&&i.push(tt.createEvent(et,o.V))})})}function nd(o,i,s){return"value"!==i.type&&"child_removed"!==i.type&&(i.Dd=s.Ve(i.Xa,i.Ja,o.g)),i}function od(o,i){this.Sd=o,this.Df=i}function pd(o){this.U=o}function xd(o,i,s,j,_,$){var _e=i.N;if(null!=j.lc(s))return i;var et;if(s.e())H(dc(i.w()),"If change path is empty, we must have complete server data"),ec(i.w())?(_=ac(i),j=j.rc(_ instanceof P?_:G)):j=j.Aa(ac(i)),$=o.U.ya(i.N.j(),j,$);else{var tt=J(s);if(".priority"==tt)H(1==Ad(s),"Can't have a priority with additional path components"),$=_e.j(),et=i.w().j(),j=j.ad(s,$,et),$=null==j?_e.j():o.U.fa($,j);else{var nt=D(s);Zb(_e,tt)?(et=i.w().j(),j=j.ad(s,_e.j(),et),j=null==j?_e.j().Q(tt):_e.j().Q(tt).F(nt,j)):j=j.qc(tt,i.w()),$=null==j?_e.j():o.U.F(_e.j(),tt,j,nt,_,$)}}return vd(i,$,_e.da||s.e(),o.U.Na())}function rd(o,i,s,j,_,$,_e,et){var tt=i.w();if(_e=_e?o.U:o.U.Ub(),s.e())j=_e.ya(tt.j(),j,null);else if(_e.Na()&&!tt.Sb)j=tt.j().F(s,j),j=_e.ya(tt.j(),j,null);else{var nt=J(s);if(!fc(tt,s)&&1document.domain=\""+document.domain+"\";"),o=""+o+"";try{this.Ea.gb.open(),this.Ea.gb.write(o),this.Ea.gb.close()}catch(_){E("frame writing exception"),_.stack&&E(_.stack),E(_)}}function we(o){if(o.Ud&&o.Kd&&o.te.count()<(0=o.Qc[0].Oe.length+30+s.length;){var _=o.Qc.shift(),s=s+"&seg"+j+"="+_.jg+"&ts"+j+"="+_.pg+"&d"+j+"="+_.Oe;j++}return xe(o,i+s,o.Zd),!0}return!1}function xe(o,i,s){function j(){o.te.remove(s),we(o)}o.te.add(s,1);var _=setTimeout(j,Math.floor(25E3));ve(o,i,function(){clearTimeout(_),j()})}function ve(o,i,s){setTimeout(function(){try{if(o.Kd){var j=o.Ea.gb.createElement("script");j.type="text/javascript",j.async=!0,j.src=i,j.onload=j.onreadystatechange=function(){var _=j.readyState;_&&"loaded"!==_&&"complete"!==_||(j.onload=j.onreadystatechange=null,j.parentNode&&j.parentNode.removeChild(j),s())},j.onerror=function(){E("Long-poll script failed to load: "+i),o.Kd=!1,o.close()},o.Ea.gb.body.appendChild(j)}}catch(_){}},Math.floor(1))}function ye(o){ze(this,o)}function ze(o,i){var s=cd&&cd.isAvailable(),j=s&&!(yb.Ze||!0===yb.get("previous_websocket_failure"));if(i.qg&&(s||O("wss:// URL used, but browser isn't known to support websockets. Trying anyway."),j=!0),j)o.Wc=[cd];else{var _=o.Wc=[];Ic(Ae,function($,_e){_e&&_e.isAvailable()&&_.push(_e)})}}function Be(o){if(0=o.pf?(o.f("Secondary connection is healthy."),o.Bb=!0,o.D.sd(),o.D.start(),o.f("sending client ack on secondary"),o.D.send({t:"c",d:{t:"a",d:{}}}),o.f("Ending transmission on primary"),o.I.send({t:"c",d:{t:"n",d:{}}}),o.Xc=o.D,Ie(o)):(o.f("sending ping on secondary."),o.D.send({t:"c",d:{t:"p",d:{}}}))}function Ke(o){o.Bb||(o.ve--,0>=o.ve&&(o.f("Primary connection is healthy."),o.Bb=!0,o.I.sd()))}function He(o,i){o.D=new i("c:"+o.id+":"+o.Ke++,o.L,o.qf),o.pf=i.responsesRequiredToBeHealthy||0,o.D.open(Ee(o,o.D),Fe(o,o.D)),Mc(function(){o.D&&(o.f("Timed out trying to upgrade."),o.D.close())},Math.floor(6E4))}function Ge(o,i,s){o.f("Realtime connection established."),o.I=i,o.Ua=1,o.Lc&&(o.Lc(s,o.qf),o.Lc=null),0===o.ve?(o.f("Primary connection is healthy."),o.Bb=!0):Mc(function(){Le(o)},Math.floor(5E3))}function Le(o){o.Bb||1!==o.Ua||(o.f("sending ping on primary."),Ne(o,{t:"c",d:{t:"p",d:{}}}))}function Ne(o,i){if(1!==o.Ua)throw"Connection is not connected";o.Xc.send(i)}function Je(o){o.f("Shutting down all connections"),o.I&&(o.I.close(),o.I=null),o.D&&(o.D.close(),o.D=null),o.md&&(clearTimeout(o.md),o.md=null)}function L(o,i){if(1==arguments.length){this.o=o.split("/");for(var s=0,j=0;j=o.o.length?null:o.o[o.Y]}function Ad(o){return o.o.length-o.Y}function D(o){var i=o.Y;return i10485760/3&&10485760s?j=j.left:0_)o=this.je?o.left:o.right;else if(0===_){this.Pa.push(o);break}else this.Pa.push(o),o=this.je?o.right:o.left}function R(o){if(0===o.Pa.length)return null;var s,i=o.Pa.pop();if(s=o.Hd?o.Hd(i.key,i.value):{key:i.key,value:i.value},o.je)for(i=i.left;!i.e();)o.Pa.push(i),i=i.right;else for(i=i.right;!i.e();)o.Pa.push(i),i=i.left;return s}function zf(o){if(0===o.Pa.length)return null;var i;return i=o.Pa,i=i[i.length-1],o.Hd?o.Hd(i.key,i.value):{key:i.key,value:i.value}}function Af(o,i,s,j,_){this.key=o,this.value=i,this.color=null==s||s,this.left=null==j?wf:j,this.right=null==_?wf:_}function Bf(o){return o.left.e()?o:Bf(o.left)}function Df(o){return o.left.e()?wf:(o.left.ea()||o.left.left.ea()||(o=Ef(o)),o=o.X(null,null,null,Df(o.left),null),Cf(o))}function Cf(o){return o.right.ea()&&!o.left.ea()&&(o=Hf(o)),o.left.ea()&&o.left.left.ea()&&(o=Ff(o)),o.left.ea()&&o.right.ea()&&(o=Gf(o)),o}function Ef(o){return o=Gf(o),o.right.left.ea()&&(o=o.X(null,null,null,null,Ff(o.right)),o=Hf(o),o=Gf(o)),o}function Hf(o){return o.right.X(null,null,o.color,o.X(null,null,!0,null,o.right.left),null)}function Ff(o){return o.left.X(null,null,o.color,null,o.X(null,null,!0,o.left.right,null))}function Gf(o){return o.X(null,null,!o.color,o.left.X(null,null,!o.left.color,null,null),o.right.X(null,null,!o.right.color,null,null))}function If(){}function P(o,i,s){this.k=o,(this.aa=i)&&Sd(this.aa),o.e()&&H(!this.aa||this.aa.e(),"An empty node cannot have a priority"),this.yb=s,this.Db=null}function Qd(o,i){var s;return s=(s=Kf(o,i))?(s=s.Gc())&&s.name:o.k.Gc(),s?new K(s,o.k.get(s)):null}function Rd(o,i){var s;return s=(s=Kf(o,i))?(s=s.ec())&&s.name:o.k.ec(),s?new K(s,o.k.get(s)):null}function Kf(o,i){return i===Fd?null:o.yb.get(i.toString())}function M(o,i){if(null===o)return G;var s=null;if("object"==typeof o&&".priority"in o?s=o[".priority"]:"undefined"!=typeof i&&(s=i),H(null===s||"string"==typeof s||"number"==typeof s||"object"==typeof s&&".sv"in s,"Invalid priority type found: "+typeof s),"object"==typeof o&&".value"in o&&null!==o[".value"]&&(o=o[".value"]),"object"!=typeof o||".sv"in o)return new qc(o,M(s));if(o instanceof Array){var j=G,_=o;return r(_,function(at,dt){if(cb(_,dt)&&"."!==dt.substring(0,1)){var ot=M(at);(ot.J()||!ot.e())&&(j=j.T(dt,ot))}}),j.fa(M(s))}var $=[],_e=!1,et=o;if(db(et,function(at){if("string"!=typeof at||"."!==at.substring(0,1)){var dt=M(et[at]);dt.e()||(_e=_e||!dt.C().e(),$.push(new K(at,dt)))}}),0==$.length)return G;var tt=le($,gc,function(at){return at.name},ic);if(_e){var nt=le($,Pd(N));return new P(tt,M(s),new je({".priority":nt},{".priority":N}))}return new P(tt,M(s),ne)}function Mf(o){this.count=parseInt(Math.log(o+1)/Lf,10),this.Ne=this.count-1,this.Cf=o+1&parseInt(Array(this.count+1).join("1"),2)}function Nf(o){var i=!(o.Cf&1<$.Bc,"Stacking an older write on top of newer ones"),n(_e)||(_e=!0),$.la.push({path:i,Ga:s,Zc:j,visible:_e}),_e&&($.S=sg($.S,i,s)),$.Bc=j,_?fh(o,new Ab(ng,i,s)):[]}function gh(o,i,s,j){var _=o.jb;return H(j>_.Bc,"Stacking an older merge on top of newer ones"),_.la.push({path:i,children:s,Zc:j,visible:!0}),_.S=tg(_.S,i,s),_.Bc=j,s=bg(s),fh(o,new Vc(ng,i,s))}function hh(o,i,s){s=s||!1;var j=Dg(o.jb,i);if(o.jb.Ed(i)){var _=Q;return null==j.Ga?db(j.children,function($,_e){_=_.set(new L($),_e)}):_=_.set(C,!0),fh(o,new mg(j.path,_,s))}return[]}function ih(o,i,s){return s=bg(s),fh(o,new Vc(pg,i,s))}function jh(o,i,s,j){if(j=kh(o,j),null!=j){var _=lh(j);return j=_.path,_=_.Hb,i=T(j,i),s=new Ab(new og(!1,!0,_,!0),i,s),mh(o,j,s)}return[]}function nh(o,i,s,j){if(j=kh(o,j)){var _=lh(j);return j=_.path,_=_.Hb,i=T(j,i),s=bg(s),s=new Vc(new og(!1,!0,_,!0),i,s),mh(o,j,s)}return[]}function rh(o){return eg(o,function(i,s,j){if(s&&null!=zg(s))return[zg(s)];var _=[];return s&&(_=Ag(s)),r(j,function($){_=_.concat($)}),_})}function vh(o,i){for(var j,s=0;ss?Math.max(0,o.length+s):s,p(o))return p(i)&&1==i.length?o.indexOf(i,s):-1;for(;sparseFloat(o))?i+"":o)})();var Ya=null,Za=null,$a=null,gb=firebase.Promise;vb.prototype.set=function(o,i){null==i?delete this.pc[o]:this.pc[o]=i},vb.prototype.get=function(o){return cb(this.pc,o)?this.pc[o]:null},vb.prototype.remove=function(o){delete this.pc[o]},vb.prototype.Ze=!0,g=wb.prototype,g.set=function(o,i){null==i?this.uc.removeItem(this.Cd+o):this.uc.setItem(this.Cd+o,B(i))},g.get=function(o){return o=this.uc.getItem(this.Cd+o),null==o?null:ob(o)},g.remove=function(o){this.uc.removeItem(this.Cd+o)},g.Ze=!1,g.toString=function(){return this.uc.toString()};var yb=xb("localStorage"),zb=xb("sessionStorage");Ab.prototype.Mc=function(o){return this.path.e()?new Ab(this.source,C,this.Ga.Q(o)):new Ab(this.source,D(this.path),this.Ga)},Ab.prototype.toString=function(){return"Operation("+this.path+": "+this.source.toString()+" overwrite: "+this.Ga.toString()+")"},Cb.prototype.Mc=function(){return this.path.e()?new Cb(this.source,C):new Cb(this.source,D(this.path))},Cb.prototype.toString=function(){return"Operation("+this.path+": "+this.source.toString()+" listen_complete)"},Eb.prototype.getToken=function(o){return this.oc.INTERNAL.getToken(o).then(null,function(i){return i&&"auth/token-not-initialized"===i.code?(E("Got auth/token-not-initialized error. Treating as null token."),null):Promise.reject(i)})},Gb.prototype.j=function(o){return this.Jd.P(o)},Gb.prototype.toString=function(){return this.Jd.toString()},Hb.prototype.toString=function(){var o=(this.Sc?"https://":"http://")+this.host;return this.gf&&(o+="<"+this.gf+">"),o},Kb.prototype.get=function(){return za(this.tc)},Mb.prototype.get=function(){var o=this.Ef.get(),i=za(o);if(this.rd)for(var s in this.rd)i[s]-=this.rd[s];return this.rd=o,i},Pb.prototype.add=function(o){this.jd.push(o)},Pb.prototype.Yb=function(){return this.qa},Ub.prototype.Yb=function(){var o=this.Md.wb();return"value"===this.hd?o.path:o.getParent().path},Ub.prototype.ee=function(){return this.hd},Ub.prototype.Tb=function(){return this.$d.Tb(this)},Ub.prototype.toString=function(){return this.Yb().toString()+":"+this.hd+":"+B(this.Md.Qe())},Vb.prototype.Yb=function(){return this.path},Vb.prototype.ee=function(){return"cancel"},Vb.prototype.Tb=function(){return this.$d.Tb(this)},Vb.prototype.toString=function(){return this.path.toString()+":cancel"},Wb.prototype.Te=function(){return null},Wb.prototype.de=function(){return null};var Xb=new Wb;Yb.prototype.Te=function(o){var i=this.Ka.N;return Zb(i,o)?i.j().Q(o):(i=null==this.yd?this.Ka.w():new $b(this.yd,!0,!1),this.xf.qc(o,i))},Yb.prototype.de=function(o,i,s){var j=null==this.yd?ac(this.Ka):this.yd;return o=this.xf.Wd(j,i,1,s,o),0===o.length?null:o[0]};var cc="value";$b.prototype.j=function(){return this.A};var rc=function(){var o=1;return function(){return o++}}(),H=kb,sc=lb,Tb=null,wc=!0,Kc=/^-?\d{1,10}$/;g=Qc.prototype,g.$e=function(o,i,s,j){var _=o.path.toString();this.f("Listen called for "+_+" "+o.ja());var $=Rc(o,s),_e={};this.$[$]=_e,o=Tc(o.m);var et=this;Uc(this,_+".json",o,function(tt,nt){var at=nt;404===tt&&(tt=at=null),null===tt&&et.Gb(_,at,!1,s),w(et.$,$)===_e&&j(tt?401==tt?"permission_denied":"rest_error:"+tt:"ok",null)})},g.uf=function(o,i){var s=Rc(o,i);delete this.$[s]},g.kf=function(){},g.pe=function(){},g.cf=function(){},g.xd=function(){},g.put=function(){},g.af=function(){},g.we=function(){},Vc.prototype.Mc=function(o){return this.path.e()?(o=this.children.subtree(new L(o)),o.e()?null:o.value?new Ab(this.source,C,o.value):new Vc(this.source,C,o)):(H(J(this.path)===o,"Can't get a merge for a child not on the path of the operation"),new Vc(this.source,D(this.path),this.children))},Vc.prototype.toString=function(){return"Operation("+this.path+": "+this.source.toString()+" merge: "+this.children.toString()+")"},Xc.prototype.lf=function(){var j,o=this.Vc.get(),i={},s=!1;for(j in o)0=_.length){var $=+_;if(!isNaN($)){j.De=$,j.frames=[],_=null;break a}}j.De=1,j.frames=[]}null!==_&&fd(j,_)}},this.Ia.onerror=function(_){j.f("WebSocket error. Closing connection."),(_=_.message||_.data)&&j.f(_),j.bb()}},cd.prototype.start=function(){},cd.isAvailable=function(){var o=!1;if("undefined"!=typeof navigator&&navigator.userAgent){var i=navigator.userAgent.match(/Android ([0-9]{0,}\.[0-9]{0,})/);i&&1parseFloat(i[1])&&(o=!0)}return!o&&null!==bd&&!dd},cd.responsesRequiredToBeHealthy=2,cd.healthyTimeout=3E4,g=cd.prototype,g.sd=function(){yb.remove("previous_websocket_failure")},g.send=function(o){ed(this),o=B(o),this.qb+=o.length,Lb(this.Va,"bytes_sent",o.length),o=Hc(o,16384),1=this.g.compare(this.Uc,o)&&0>=this.g.compare(o,this.vc)},g.F=function(o,i,s,j,_,$){return this.matches(new K(i,s))||(s=G),this.fe.F(o,i,s,j,_,$)},g.ya=function(o,i,s){i.J()&&(i=G);var j=i.nb(this.g),j=j.fa(G),_=this;return i.O(N,function($,_e){_.matches(new K($,_e))||(j=j.T($,G))}),this.fe.ya(o,j,s)},g.fa=function(o){return o},g.Na=function(){return!0},g.Ub=function(){return this.fe},g=Md.prototype,g.F=function(o,i,s,j,_,$){return this.sa.matches(new K(i,s))||(s=G),o.Q(i).Z(s)?o:o.Eb()=this.g.compare(this.sa.Uc,$):0>=this.g.compare($,this.sa.vc))j=j.T($.name,$.R),_++;else break}}else{j=i.nb(this.g),j=j.fa(G);var et,tt,nt;if(this.Ib){i=j.We(this.g),et=this.sa.vc,tt=this.sa.Uc;var at=Pd(this.g);nt=function(ot,it){return at(it,ot)}}else i=j.Wb(this.g),et=this.sa.Uc,tt=this.sa.vc,nt=Pd(this.g);for(var _=0,dt=!1;0=nt(et,$)&&(dt=!0),(_e=dt&&_=nt($,tt))?_++:j=j.T($.name,G)}return this.sa.Ub().ya(o,j,s)},g.fa=function(o){return o},g.Na=function(){return!0},g.Ub=function(){return this.sa.Ub()};var Td=["object","boolean","number","string"];g=qc.prototype,g.J=function(){return!0},g.C=function(){return this.aa},g.fa=function(o){return new qc(this.B,o)},g.Q=function(o){return".priority"===o?this.aa:G},g.P=function(o){return o.e()?this:".priority"===J(o)?this.aa:G},g.Da=function(){return!1},g.Ve=function(){return null},g.T=function(o,i){return".priority"===o?this.fa(i):i.e()&&".priority"!==o?this:G.T(o,i).fa(this.aa)},g.F=function(o,i){var s=J(o);return null===s?i:i.e()&&".priority"!==s?this:(H(".priority"!==s||1===Ad(o),".priority must be the last token in a path"),this.T(s,G.F(D(o),i)))},g.e=function(){return!1},g.Eb=function(){return 0},g.O=function(){return!1},g.H=function(o){return o&&!this.C().e()?{".value":this.Ca(),".priority":this.C().H()}:this.Ca()},g.hash=function(){if(null===this.Db){var o="";this.aa.e()||(o+="priority:"+Ud(this.aa.H())+":");var i=typeof this.B,o=o+(i+":"),o="number"==i?o+Jc(this.B):o+this.B;this.Db=uc(o)}return this.Db},g.Ca=function(){return this.B},g.sc=function(o){if(o===G)return 1;if(o instanceof P)return-1;H(o.J(),"Unknown node type");var i=typeof o.B,s=typeof this.B,j=Ia(Td,i),_=Ia(Td,s);return H(0<=j,"Unknown leaf type: "+i),H(0<=_,"Unknown leaf type: "+s),j===_?"object"==s?0:this.B=this.o.length)return null;for(var o=[],i=this.Y;i=this.o.length},g.Z=function(o){if(Ad(this)!==Ad(o))return!1;for(var i=this.Y,s=o.Y;i<=this.o.length;i++,s++)if(this.o[i]!==o.o[s])return!1;return!0},g.contains=function(o){var i=this.Y,s=o.Y;if(Ad(this)>Ad(o))return!1;for(;i$;$++)i[$]=Math.floor(64*Math.random());for($=0;12>$;$++)s+="-0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ_abcdefghijklmnopqrstuvwxyz".charAt(i[$]);return H(20===s.length,"nextPushId: Length should be 20."),s}}();g=vf.prototype,g.Oa=function(o,i){return new vf(this.La,this.ba.Oa(o,i,this.La).X(null,null,!1,null,null))},g.remove=function(o){return new vf(this.La,this.ba.remove(o,this.La).X(null,null,!1,null,null))},g.get=function(o){for(var i,s=this.ba;!s.e();){if(i=this.La(o,s.key),0===i)return s.value;0>i?s=s.left:0j?_.X(null,null,null,_.left.Oa(o,i,s),null):0===j?_.X(null,i,null,null,null):_.X(null,null,null,null,_.right.Oa(o,i,s)),Cf(_)},g.remove=function(o,i){var s,j;if(s=this,0>i(o,s.key))s.left.e()||s.left.ea()||s.left.left.ea()||(s=Ef(s)),s=s.X(null,null,null,s.left.remove(o,i),null);else{if(s.left.ea()&&(s=Ff(s)),s.right.e()||s.right.ea()||s.right.left.ea()||(s=Gf(s),s.left.left.ea()&&(s=Ff(s),s=Gf(s))),0===i(o,s.key)){if(s.right.e())return wf;j=Bf(s.right),s=s.X(j.key,j.value,null,null,Df(s.right))}s=s.X(null,null,null,null,s.right.remove(o,i))}return Cf(s)},g.ea=function(){return this.color},g=If.prototype,g.X=function(){return this},g.Oa=function(o,i){return new Af(o,i,null)},g.remove=function(){return this},g.count=function(){return 0},g.e=function(){return!0},g.ha=function(){return!1},g.Gc=function(){return null},g.ec=function(){return null},g.ea=function(){return!1};var wf=new If;g=P.prototype,g.J=function(){return!1},g.C=function(){return this.aa||G},g.fa=function(o){return this.k.e()?this:new P(this.k,o,this.yb)},g.Q=function(o){return".priority"===o?this.C():(o=this.k.get(o),null===o?G:o)},g.P=function(o){var i=J(o);return null===i?this:this.Q(i).P(D(o))},g.Da=function(o){return null!==this.k.get(o)},g.T=function(o,i){if(H(i,"We should always be passing snapshot nodes"),".priority"===o)return this.fa(i);var j,_,s=new K(o,i);return i.e()?(j=this.k.remove(o),s=me(this.yb,s,this.k)):(j=this.k.Oa(o,i),s=ke(this.yb,s,this.k)),_=j.e()?G:this.aa,new P(j,_,s)},g.F=function(o,i){var s=J(o);if(null===s)return i;H(".priority"!==J(o)||1===Ad(o),".priority must be the last token in a path");var j=this.Q(s).F(D(o),i);return this.T(s,j)},g.e=function(){return this.k.e()},g.Eb=function(){return this.k.count()};var Jf=/^(0|[1-9]\d*)$/;g=P.prototype,g.H=function(o){if(this.e())return null;var i={},s=0,j=0,_=!0;if(this.O(N,function(et,tt){i[et]=tt.H(o),s++,_&&Jf.test(et)?j=Math.max(j,+et):_=!1}),!o&&_&&j<2*s){var _e,$=[];for(_e in i)$[_e]=i[_e];return $}return o&&!this.C().e()&&(i[".priority"]=this.C().H()),i},g.hash=function(){if(null===this.Db){var o="";this.C().e()||(o+="priority:"+Ud(this.C().H())+":"),this.O(N,function(i,s){var j=s.hash();""!==j&&(o+=":"+i+":"+j)}),this.Db=""==o?"":uc(o)}return this.Db},g.Ve=function(o,i,s){return(s=Kf(this,s))?(o=xf(s,new K(o,i)))?o.name:null:xf(this.k,o)},g.O=function(o,i){var s=Kf(this,o);return s?s.ha(function(j){return i(j.name,j.R)}):this.k.ha(i)},g.Wb=function(o){return this.Xb(o.Hc(),o)},g.Xb=function(o,i){var s=Kf(this,i);if(s)return s.Xb(o,function(_){return _});for(var s=this.k.Xb(o.name,jc),j=zf(s);null!=j&&0>i.compare(j,o);)R(s),j=zf(s);return s},g.We=function(o){return this.Zb(o.Fc(),o)},g.Zb=function(o,i){var s=Kf(this,i);if(s)return s.Zb(o,function(_){return _});for(var s=this.k.Zb(o.name,jc),j=zf(s);null!=j&&0=o)throw Error("Query.limitToFirst: First argument must be a positive integer.");if(this.m.xa)throw Error("Query.limitToFirst: Limit was already set (by another call to limit, limitToFirst, or limitToLast).");return new X(this.u,this.path,this.m.le(o),this.Nc)},g.me=function(o){if(x("Query.limitToLast",1,1,arguments.length),!ga(o)||Math.floor(o)!==o||0>=o)throw Error("Query.limitToLast: First argument must be a positive integer.");if(this.m.xa)throw Error("Query.limitToLast: Limit was already set (by another call to limit, limitToFirst, or limitToLast).");return new X(this.u,this.path,this.m.me(o),this.Nc)},g.ag=function(o){if(x("Query.orderByChild",1,1,arguments.length),"$key"===o)throw Error("Query.orderByChild: \"$key\" is invalid. Use Query.orderByKey() instead.");if("$priority"===o)throw Error("Query.orderByChild: \"$priority\" is invalid. Use Query.orderByPriority() instead.");if("$value"===o)throw Error("Query.orderByChild: \"$value\" is invalid. Use Query.orderByValue() instead.");lf("Query.orderByChild",o),Xf(this,"Query.orderByChild");var i=new L(o);if(i.e())throw Error("Query.orderByChild: cannot pass in empty path. Use Query.orderByValue() instead.");return i=new Yd(i),i=he(this.m,i),Vf(i),new X(this.u,this.path,i,!0)},g.bg=function(){x("Query.orderByKey",0,0,arguments.length),Xf(this,"Query.orderByKey");var o=he(this.m,Fd);return Vf(o),new X(this.u,this.path,o,!0)},g.cg=function(){x("Query.orderByPriority",0,0,arguments.length),Xf(this,"Query.orderByPriority");var o=he(this.m,N);return Vf(o),new X(this.u,this.path,o,!0)},g.dg=function(){x("Query.orderByValue",0,0,arguments.length),Xf(this,"Query.orderByValue");var o=he(this.m,de);return Vf(o),new X(this.u,this.path,o,!0)},g.Nd=function(o,i){x("Query.startAt",0,2,arguments.length),df("Query.startAt",o,this.path,!0),kf("Query.startAt",i);var s=this.m.Nd(o,i);if(Wf(s),Vf(s),this.m.ka)throw Error("Query.startAt: Starting point was already set (by another call to startAt or equalTo).");return n(o)||(i=o=null),new X(this.u,this.path,s,this.Nc)},g.gd=function(o,i){x("Query.endAt",0,2,arguments.length),df("Query.endAt",o,this.path,!0),kf("Query.endAt",i);var s=this.m.gd(o,i);if(Wf(s),Vf(s),this.m.na)throw Error("Query.endAt: Ending point was already set (by another call to endAt or equalTo).");return new X(this.u,this.path,s,this.Nc)},g.If=function(o,i){if(x("Query.equalTo",1,2,arguments.length),df("Query.equalTo",o,this.path,!1),kf("Query.equalTo",i),this.m.ka)throw Error("Query.equalTo: Starting point was already set (by another call to endAt or equalTo).");if(this.m.na)throw Error("Query.equalTo: Ending point was already set (by another call to endAt or equalTo).");return this.Nd(o,i).gd(o,i)},g.toString=function(){x("Query.toString",0,0,arguments.length);for(var o=this.path,i="",s=o.Y;s=i&&Eg(_e,s.path)?j=!1:s.path.contains(_e.path)&&(_=!0)),$--;if(j){if(_)this.S=Fg(this.la,Gg,C),this.Bc=0b?e+="000":256>b?e+="00":4096>b&&(e+="0");return qa[a]=e+b.toString(16)}),'"')};function sa(){this.Wa=-1};function ta(){this.Wa=-1;this.Wa=64;this.M=[];this.Wd=[];this.Af=[];this.zd=[];this.zd[0]=128;for(var a=1;ae;e++)d[e]=b.charCodeAt(c)<<24|b.charCodeAt(c+1)<<16|b.charCodeAt(c+2)<<8|b.charCodeAt(c+3),c+=4;else for(e=0;16>e;e++)d[e]=b[c]<<24|b[c+1]<<16|b[c+2]<<8|b[c+3],c+=4;for(e=16;80>e;e++){var f=d[e-3]^d[e-8]^d[e-14]^d[e-16];d[e]=(f<<1|f>>>31)&4294967295}b=a.M[0];c=a.M[1];for(var h=a.M[2],k=a.M[3],m=a.M[4],l,e=0;80>e;e++)40>e?20>e?(f=k^c&(h^k),l=1518500249):(f=c^h^k,l=1859775393):60>e?(f=c&h|k&(c|h),l=2400959708):(f=c^h^k,l=3395469782),f=(b<<
+5|b>>>27)+f+m+l+d[e]&4294967295,m=k,k=h,h=(c<<30|c>>>2)&4294967295,c=b,b=f;a.M[0]=a.M[0]+b&4294967295;a.M[1]=a.M[1]+c&4294967295;a.M[2]=a.M[2]+h&4294967295;a.M[3]=a.M[3]+k&4294967295;a.M[4]=a.M[4]+m&4294967295}
+ta.prototype.update=function(a,b){if(null!=a){n(b)||(b=a.length);for(var c=b-this.Wa,d=0,e=this.Wd,f=this.$b;dc?Math.max(0,a.length+c):c;if(p(a))return p(b)&&1==b.length?a.indexOf(b,c):-1;for(;cc?null:p(a)?a.charAt(c):a[c]}function Ea(a,b,c){for(var d=a.length,e=p(a)?a.split(""):a,f=0;f=arguments.length?t.slice.call(a,b):t.slice.call(a,b,c)}
+function Ha(a,b){a.sort(b||Ia)}function Ia(a,b){return a>b?1:aparseFloat(a))?String(b):a})();var Ya=null,Za=null,$a=null;function ab(a,b){if(!fa(a))throw Error("encodeByteArray takes an array as a parameter");bb();for(var c=b?Za:Ya,d=[],e=0;e>2,f=(f&3)<<4|k>>4,k=(k&15)<<2|l>>6,l=l&63;m||(l=64,h||(k=64));d.push(c[u],c[f],c[k],c[l])}return d.join("")}
+function bb(){if(!Ya){Ya={};Za={};$a={};for(var a=0;65>a;a++)Ya[a]="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=".charAt(a),Za[a]="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_.".charAt(a),$a[Za[a]]=a,62<=a&&($a["ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=".charAt(a)]=a)}};function cb(a,b){if(!a)throw db(b);}function db(a){return Error("Firebase Database ("+firebase.SDK_VERSION+") INTERNAL ASSERT FAILED: "+a)};function eb(a,b){return Object.prototype.hasOwnProperty.call(a,b)}function w(a,b){if(Object.prototype.hasOwnProperty.call(a,b))return a[b]}function fb(a,b){for(var c in a)Object.prototype.hasOwnProperty.call(a,c)&&b(c,a[c])};function gb(a){var b=[];fb(a,function(a,d){ea(d)?ya(d,function(d){b.push(encodeURIComponent(a)+"="+encodeURIComponent(d))}):b.push(encodeURIComponent(a)+"="+encodeURIComponent(d))});return b.length?"&"+b.join("&"):""};var hb=firebase.Promise;function ib(){var a=this;this.reject=this.resolve=null;this.ra=new hb(function(b,c){a.resolve=b;a.reject=c})}function jb(a,b){return function(c,d){c?a.reject(c):a.resolve(d);ha(b)&&(kb(a.ra),1===b.length?b(c):b(c,d))}}function kb(a){a.then(void 0,ba)};function lb(a){return"undefined"!==typeof JSON&&n(JSON.parse)?JSON.parse(a):ma(a)}function x(a){if("undefined"!==typeof JSON&&n(JSON.stringify))a=JSON.stringify(a);else{var b=[];oa(new na,a,b);a=b.join("")}return a};function mb(a){for(var b=[],c=0,d=0;d=e&&(e-=55296,d++,cb(de?b[c++]=e:(2048>e?b[c++]=e>>6|192:(65536>e?b[c++]=e>>12|224:(b[c++]=e>>18|240,b[c++]=e>>12&63|128),b[c++]=e>>6&63|128),b[c++]=e&63|128)}return b}function nb(a){for(var b=0,c=0;cd?b++:2048>d?b+=2:55296<=d&&56319>=d?(b+=4,c++):b+=3}return b};function y(a,b,c,d){var e;dc&&(e=0===c?"none":"no more than "+c);if(e)throw Error(a+" failed: Was called with "+d+(1===d?" argument.":" arguments.")+" Expects "+e+".");}function A(a,b,c){var d="";switch(b){case 1:d=c?"first":"First";break;case 2:d=c?"second":"Second";break;case 3:d=c?"third":"Third";break;case 4:d=c?"fourth":"Fourth";break;default:throw Error("errorPrefix called with argumentNumber > 4. Need to update it?");}return a=a+" failed: "+(d+" argument ")}
+function B(a,b,c,d){if((!d||n(c))&&!ha(c))throw Error(A(a,b,d)+"must be a valid function.");}function ob(a,b,c){if(n(c)&&(!ia(c)||null===c))throw Error(A(a,b,!0)+"must be a valid context object.");};function pb(){return"undefined"!==typeof window&&!!(window.cordova||window.phonegap||window.PhoneGap)&&/ios|iphone|ipod|ipad|android|blackberry|iemobile/i.test("undefined"!==typeof navigator&&"string"===typeof navigator.userAgent?navigator.userAgent:"")};function C(a,b){this.name=a;this.R=b}function qb(a,b){return new C(a,b)};function rb(a,b){return sb(a.name,b.name)}function tb(a,b){return sb(a,b)};function ub(a){this.uc=a;this.Cd="firebase:"}g=ub.prototype;g.set=function(a,b){null==b?this.uc.removeItem(this.Cd+a):this.uc.setItem(this.Cd+a,x(b))};g.get=function(a){a=this.uc.getItem(this.Cd+a);return null==a?null:lb(a)};g.remove=function(a){this.uc.removeItem(this.Cd+a)};g.Ze=!1;g.toString=function(){return this.uc.toString()};function vb(){this.pc={}}vb.prototype.set=function(a,b){null==b?delete this.pc[a]:this.pc[a]=b};vb.prototype.get=function(a){return eb(this.pc,a)?this.pc[a]:null};vb.prototype.remove=function(a){delete this.pc[a]};vb.prototype.Ze=!0;function wb(a){try{if("undefined"!==typeof window&&"undefined"!==typeof window[a]){var b=window[a];b.setItem("firebase:sentinel","cache");b.removeItem("firebase:sentinel");return new ub(b)}}catch(c){}return new vb}var xb=wb("localStorage"),yb=wb("sessionStorage");function zb(a,b,c,d,e){this.host=a.toLowerCase();this.domain=this.host.substr(this.host.indexOf(".")+1);this.Sc=b;this.pe=c;this.qg=d;this.gf=e||"";this.$a=xb.get("host:"+a)||this.host}function Ab(a,b){b!==a.$a&&(a.$a=b,"s-"===a.$a.substr(0,2)&&xb.set("host:"+a.host,a.$a))}
+function Bb(a,b,c){D("string"===typeof b,"typeof type must == string");D("object"===typeof c,"typeof params must == object");if(b===Cb)b=(a.Sc?"wss://":"ws://")+a.$a+"/.ws?";else if(b===Db)b=(a.Sc?"https://":"http://")+a.$a+"/.lp?";else throw Error("Unknown connection type: "+b);a.host!==a.$a&&(c.ns=a.pe);var d=[];v(c,function(a,b){d.push(b+"="+a)});return b+d.join("&")}zb.prototype.toString=function(){var a=(this.Sc?"https://":"http://")+this.host;this.gf&&(a+="<"+this.gf+">");return a};function Eb(a,b){return a&&"object"===typeof a?(D(".sv"in a,"Unexpected leaf node or priority contents"),b[a[".sv"]]):a}function Fb(a,b){var c=new Gb;Hb(a,new E(""),function(a,e){Ib(c,a,Jb(e,b))});return c}function Jb(a,b){var c=a.C().H(),c=Eb(c,b),d;if(a.J()){var e=Eb(a.Ca(),b);return e!==a.Ca()||c!==a.C().H()?new Kb(e,G(c)):a}d=a;c!==a.C().H()&&(d=d.fa(new Kb(c)));a.O(H,function(a,c){var e=Jb(c,b);e!==c&&(d=d.T(a,e))});return d};var Lb=function(){var a=1;return function(){return a++}}(),D=cb,Mb=db;
+function Nb(a){try{var b;bb();for(var c=$a,d=[],e=0;e>4);64!=k&&(d.push(h<<4&240|k>>2),64!=m&&d.push(k<<6&192|m))}if(8192>d.length)b=String.fromCharCode.apply(null,d);else{a="";for(c=0;ca.$b?a.update(a.zd,56-a.$b):a.update(a.zd,a.Wa-(a.$b-56));for(var d=a.Wa-1;56<=d;d--)a.Wd[d]=c&255,c/=256;ua(a,a.Wd);for(d=c=0;5>d;d++)for(var e=24;0<=e;e-=8)b[c]=a.M[d]>>e&255,++c;return ab(b)}function Pb(a){for(var b="",c=0;c.firebaseio.com instead");
+c&&"undefined"!=c||Vb("Cannot parse Firebase url. Please use https://.firebaseio.com");d||"undefined"!==typeof window&&window.location&&window.location.protocol&&-1!==window.location.protocol.indexOf("https:")&&J("Insecure Firebase access from a secure page. Please use https in calls to new Firebase().");return{jc:new zb(b,d,c,"ws"===e||"wss"===e),path:new E(f)}}function Xb(a){return ga(a)&&(a!=a||a==Number.POSITIVE_INFINITY||a==Number.NEGATIVE_INFINITY)}
+function Yb(a){if("complete"===document.readyState)a();else{var b=!1,c=function(){document.body?b||(b=!0,a()):setTimeout(c,Math.floor(10))};document.addEventListener?(document.addEventListener("DOMContentLoaded",c,!1),window.addEventListener("load",c,!1)):document.attachEvent&&(document.attachEvent("onreadystatechange",function(){"complete"===document.readyState&&c()}),window.attachEvent("onload",c))}}
+function sb(a,b){if(a===b)return 0;if("[MIN_NAME]"===a||"[MAX_NAME]"===b)return-1;if("[MIN_NAME]"===b||"[MAX_NAME]"===a)return 1;var c=Zb(a),d=Zb(b);return null!==c?null!==d?0==c-d?a.length-b.length:c-d:-1:null!==d?1:aa?c.push(a.substring(d,a.length)):c.push(a.substring(d,d+b));return c}function cc(a,b){if(ea(a))for(var c=0;ca,a=Math.abs(a),a>=Math.pow(2,-1022)?(d=Math.min(Math.floor(Math.log(a)/Math.LN2),1023),c=d+1023,d=Math.round(a*Math.pow(2,52-d)-Math.pow(2,52))):(c=0,d=Math.round(a/Math.pow(2,-1074))));e=[];for(a=52;a;--a)e.push(d%2?1:0),d=Math.floor(d/2);for(a=11;a;--a)e.push(c%2?1:0),c=Math.floor(c/2);e.push(b?1:0);e.reverse();b=e.join("");c="";for(a=0;64>a;a+=8)d=parseInt(b.substr(a,8),2).toString(16),1===d.length&&
+(d="0"+d),c+=d;return c.toLowerCase()}var ec=/^-?\d{1,10}$/;function Zb(a){return ec.test(a)&&(a=Number(a),-2147483648<=a&&2147483647>=a)?a:null}function fc(a){try{a()}catch(b){setTimeout(function(){J("Exception was thrown by user callback.",b.stack||"");throw b;},Math.floor(0))}}function gc(a,b,c){Object.defineProperty(a,b,{get:c})}function hc(a,b){var c=setTimeout(a,b);"object"===typeof c&&c.unref&&c.unref();return c};function ic(a){var b={},c={},d={},e="";try{var f=a.split("."),b=lb(Nb(f[0])||""),c=lb(Nb(f[1])||""),e=f[2],d=c.d||{};delete c.d}catch(h){}return{tg:b,Je:c,data:d,mg:e}}function jc(a){a=ic(a);var b=a.Je;return!!a.mg&&!!b&&"object"===typeof b&&b.hasOwnProperty("iat")}function kc(a){a=ic(a).Je;return"object"===typeof a&&!0===w(a,"admin")};function lc(){}var mc={};function nc(a){return q(a.compare,a)}lc.prototype.nd=function(a,b){return 0!==this.compare(new C("[MIN_NAME]",a),new C("[MIN_NAME]",b))};lc.prototype.Hc=function(){return oc};function pc(a){D(!a.e()&&".priority"!==K(a),"Can't create PathIndex with empty path or .priority key");this.bc=a}la(pc,lc);g=pc.prototype;g.xc=function(a){return!a.P(this.bc).e()};g.compare=function(a,b){var c=a.R.P(this.bc),d=b.R.P(this.bc),c=c.sc(d);return 0===c?sb(a.name,b.name):c};
+g.Ec=function(a,b){var c=G(a),c=L.F(this.bc,c);return new C(b,c)};g.Fc=function(){var a=L.F(this.bc,qc);return new C("[MAX_NAME]",a)};g.toString=function(){return this.bc.slice().join("/")};function rc(){}la(rc,lc);g=rc.prototype;g.compare=function(a,b){var c=a.R.C(),d=b.R.C(),c=c.sc(d);return 0===c?sb(a.name,b.name):c};g.xc=function(a){return!a.C().e()};g.nd=function(a,b){return!a.C().Z(b.C())};g.Hc=function(){return oc};g.Fc=function(){return new C("[MAX_NAME]",new Kb("[PRIORITY-POST]",qc))};
+g.Ec=function(a,b){var c=G(a);return new C(b,new Kb("[PRIORITY-POST]",c))};g.toString=function(){return".priority"};var H=new rc;function sc(){}la(sc,lc);g=sc.prototype;g.compare=function(a,b){return sb(a.name,b.name)};g.xc=function(){throw Mb("KeyIndex.isDefinedOn not expected to be called.");};g.nd=function(){return!1};g.Hc=function(){return oc};g.Fc=function(){return new C("[MAX_NAME]",L)};g.Ec=function(a){D(p(a),"KeyIndex indexValue must always be a string.");return new C(a,L)};g.toString=function(){return".key"};
+var tc=new sc;function uc(){}la(uc,lc);g=uc.prototype;g.compare=function(a,b){var c=a.R.sc(b.R);return 0===c?sb(a.name,b.name):c};g.xc=function(){return!0};g.nd=function(a,b){return!a.Z(b)};g.Hc=function(){return oc};g.Fc=function(){return vc};g.Ec=function(a,b){var c=G(a);return new C(b,c)};g.toString=function(){return".value"};var wc=new uc;function xc(a,b){this.od=a;this.cc=b}xc.prototype.get=function(a){var b=w(this.od,a);if(!b)throw Error("No index defined for "+a);return b===mc?null:b};function yc(a,b,c){var d=Ja(a.od,function(d,f){var h=w(a.cc,f);D(h,"Missing index implementation for "+f);if(d===mc){if(h.xc(b.R)){for(var k=[],m=c.Wb(qb),l=M(m);l;)l.name!=b.name&&k.push(l),l=M(m);k.push(b);return zc(k,nc(h))}return mc}h=c.get(b.name);k=d;h&&(k=k.remove(new C(b.name,h)));return k.Oa(b,b.R)});return new xc(d,a.cc)}
+function Ac(a,b,c){var d=Ja(a.od,function(a){if(a===mc)return a;var d=c.get(b.name);return d?a.remove(new C(b.name,d)):a});return new xc(d,a.cc)}var Bc=new xc({".priority":mc},{".priority":H});function Kb(a,b){this.B=a;D(n(this.B)&&null!==this.B,"LeafNode shouldn't be created with null/undefined value.");this.aa=b||L;Cc(this.aa);this.Db=null}var Dc=["object","boolean","number","string"];g=Kb.prototype;g.J=function(){return!0};g.C=function(){return this.aa};g.fa=function(a){return new Kb(this.B,a)};g.Q=function(a){return".priority"===a?this.aa:L};g.P=function(a){return a.e()?this:".priority"===K(a)?this.aa:L};g.Da=function(){return!1};g.Ve=function(){return null};
+g.T=function(a,b){return".priority"===a?this.fa(b):b.e()&&".priority"!==a?this:L.T(a,b).fa(this.aa)};g.F=function(a,b){var c=K(a);if(null===c)return b;if(b.e()&&".priority"!==c)return this;D(".priority"!==c||1===Ec(a),".priority must be the last token in a path");return this.T(c,L.F(N(a),b))};g.e=function(){return!1};g.Eb=function(){return 0};g.O=function(){return!1};g.H=function(a){return a&&!this.C().e()?{".value":this.Ca(),".priority":this.C().H()}:this.Ca()};
+g.hash=function(){if(null===this.Db){var a="";this.aa.e()||(a+="priority:"+Fc(this.aa.H())+":");var b=typeof this.B,a=a+(b+":"),a="number"===b?a+dc(this.B):a+this.B;this.Db=Ob(a)}return this.Db};g.Ca=function(){return this.B};g.sc=function(a){if(a===L)return 1;if(a instanceof O)return-1;D(a.J(),"Unknown node type");var b=typeof a.B,c=typeof this.B,d=xa(Dc,b),e=xa(Dc,c);D(0<=d,"Unknown leaf type: "+b);D(0<=e,"Unknown leaf type: "+c);return d===e?"object"===c?0:this.Bf;f++)b[f]=Math.floor(64*Math.random());for(f=0;12>f;f++)c+="-0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ_abcdefghijklmnopqrstuvwxyz".charAt(b[f]);D(20===c.length,"nextPushId: Length should be 20.");
+return c}}();function Lc(){Ic.call(this,["online"]);this.hc=!0;if("undefined"!==typeof window&&"undefined"!==typeof window.addEventListener&&!pb()){var a=this;window.addEventListener("online",function(){a.hc||(a.hc=!0,a.Ge("online",!0))},!1);window.addEventListener("offline",function(){a.hc&&(a.hc=!1,a.Ge("online",!1))},!1)}}la(Lc,Ic);Lc.prototype.Ue=function(a){D("online"===a,"Unknown event type: "+a);return[this.hc]};ca(Lc);function Mc(){Ic.call(this,["visible"]);var a,b;"undefined"!==typeof document&&"undefined"!==typeof document.addEventListener&&("undefined"!==typeof document.hidden?(b="visibilitychange",a="hidden"):"undefined"!==typeof document.mozHidden?(b="mozvisibilitychange",a="mozHidden"):"undefined"!==typeof document.msHidden?(b="msvisibilitychange",a="msHidden"):"undefined"!==typeof document.webkitHidden&&(b="webkitvisibilitychange",a="webkitHidden"));this.Mb=!0;if(b){var c=this;document.addEventListener(b,
+function(){var b=!document[a];b!==c.Mb&&(c.Mb=b,c.Ge("visible",b))},!1)}}la(Mc,Ic);Mc.prototype.Ue=function(a){D("visible"===a,"Unknown event type: "+a);return[this.Mb]};ca(Mc);function E(a,b){if(1==arguments.length){this.o=a.split("/");for(var c=0,d=0;d=a.o.length?null:a.o[a.Y]}function Ec(a){return a.o.length-a.Y}function N(a){var b=a.Y;b=this.o.length)return null;for(var a=[],b=this.Y;b=this.o.length};g.Z=function(a){if(Ec(this)!==Ec(a))return!1;for(var b=this.Y,c=a.Y;b<=this.o.length;b++,c++)if(this.o[b]!==a.o[c])return!1;return!0};
+g.contains=function(a){var b=this.Y,c=a.Y;if(Ec(this)>Ec(a))return!1;for(;bb?c=c.left:0c?d=d.left:0e)a=this.le?a.left:a.right;else if(0===e){this.Pa.push(a);break}else this.Pa.push(a),a=this.le?a.right:a.left}
+function M(a){if(0===a.Pa.length)return null;var b=a.Pa.pop(),c;c=a.Hd?a.Hd(b.key,b.value):{key:b.key,value:b.value};if(a.le)for(b=b.left;!b.e();)a.Pa.push(b),b=b.right;else for(b=b.right;!b.e();)a.Pa.push(b),b=b.left;return c}function cd(a){if(0===a.Pa.length)return null;var b;b=a.Pa;b=b[b.length-1];return a.Hd?a.Hd(b.key,b.value):{key:b.key,value:b.value}}function dd(a,b,c,d,e){this.key=a;this.value=b;this.color=null!=c?c:!0;this.left=null!=d?d:$c;this.right=null!=e?e:$c}g=dd.prototype;
+g.X=function(a,b,c,d,e){return new dd(null!=a?a:this.key,null!=b?b:this.value,null!=c?c:this.color,null!=d?d:this.left,null!=e?e:this.right)};g.count=function(){return this.left.count()+1+this.right.count()};g.e=function(){return!1};g.ha=function(a){return this.left.ha(a)||a(this.key,this.value)||this.right.ha(a)};function ed(a){return a.left.e()?a:ed(a.left)}g.Gc=function(){return ed(this).key};g.ec=function(){return this.right.e()?this.key:this.right.ec()};
+g.Oa=function(a,b,c){var d,e;e=this;d=c(a,e.key);e=0>d?e.X(null,null,null,e.left.Oa(a,b,c),null):0===d?e.X(null,b,null,null,null):e.X(null,null,null,null,e.right.Oa(a,b,c));return gd(e)};function hd(a){if(a.left.e())return $c;a.left.ea()||a.left.left.ea()||(a=id(a));a=a.X(null,null,null,hd(a.left),null);return gd(a)}
+g.remove=function(a,b){var c,d;c=this;if(0>b(a,c.key))c.left.e()||c.left.ea()||c.left.left.ea()||(c=id(c)),c=c.X(null,null,null,c.left.remove(a,b),null);else{c.left.ea()&&(c=jd(c));c.right.e()||c.right.ea()||c.right.left.ea()||(c=kd(c),c.left.left.ea()&&(c=jd(c),c=kd(c)));if(0===b(a,c.key)){if(c.right.e())return $c;d=ed(c.right);c=c.X(d.key,d.value,null,null,hd(c.right))}c=c.X(null,null,null,null,c.right.remove(a,b))}return gd(c)};g.ea=function(){return this.color};
+function gd(a){a.right.ea()&&!a.left.ea()&&(a=ld(a));a.left.ea()&&a.left.left.ea()&&(a=jd(a));a.left.ea()&&a.right.ea()&&(a=kd(a));return a}function id(a){a=kd(a);a.right.left.ea()&&(a=a.X(null,null,null,null,jd(a.right)),a=ld(a),a=kd(a));return a}function ld(a){return a.right.X(null,null,a.color,a.X(null,null,!0,null,a.right.left),null)}function jd(a){return a.left.X(null,null,a.color,null,a.X(null,null,!0,a.left.right,null))}
+function kd(a){return a.X(null,null,!a.color,a.left.X(null,null,!a.left.color,null,null),a.right.X(null,null,!a.right.color,null,null))}function md(){}g=md.prototype;g.X=function(){return this};g.Oa=function(a,b){return new dd(a,b,null)};g.remove=function(){return this};g.count=function(){return 0};g.e=function(){return!0};g.ha=function(){return!1};g.Gc=function(){return null};g.ec=function(){return null};g.ea=function(){return!1};var $c=new md;function O(a,b,c){this.k=a;(this.aa=b)&&Cc(this.aa);a.e()&&D(!this.aa||this.aa.e(),"An empty node cannot have a priority");this.yb=c;this.Db=null}g=O.prototype;g.J=function(){return!1};g.C=function(){return this.aa||L};g.fa=function(a){return this.k.e()?this:new O(this.k,a,this.yb)};g.Q=function(a){if(".priority"===a)return this.C();a=this.k.get(a);return null===a?L:a};g.P=function(a){var b=K(a);return null===b?this:this.Q(b).P(N(a))};g.Da=function(a){return null!==this.k.get(a)};
+g.T=function(a,b){D(b,"We should always be passing snapshot nodes");if(".priority"===a)return this.fa(b);var c=new C(a,b),d,e;b.e()?(d=this.k.remove(a),c=Ac(this.yb,c,this.k)):(d=this.k.Oa(a,b),c=yc(this.yb,c,this.k));e=d.e()?L:this.aa;return new O(d,e,c)};g.F=function(a,b){var c=K(a);if(null===c)return b;D(".priority"!==K(a)||1===Ec(a),".priority must be the last token in a path");var d=this.Q(c).F(N(a),b);return this.T(c,d)};g.e=function(){return this.k.e()};g.Eb=function(){return this.k.count()};
+var nd=/^(0|[1-9]\d*)$/;g=O.prototype;g.H=function(a){if(this.e())return null;var b={},c=0,d=0,e=!0;this.O(H,function(f,h){b[f]=h.H(a);c++;e&&nd.test(f)?d=Math.max(d,Number(f)):e=!1});if(!a&&e&&d<2*c){var f=[],h;for(h in b)f[h]=b[h];return f}a&&!this.C().e()&&(b[".priority"]=this.C().H());return b};g.hash=function(){if(null===this.Db){var a="";this.C().e()||(a+="priority:"+Fc(this.C().H())+":");this.O(H,function(b,c){var d=c.hash();""!==d&&(a+=":"+b+":"+d)});this.Db=""===a?"":Ob(a)}return this.Db};
+g.Ve=function(a,b,c){return(c=od(this,c))?(a=ad(c,new C(a,b)))?a.name:null:ad(this.k,a)};function pd(a,b){var c;c=(c=od(a,b))?(c=c.Gc())&&c.name:a.k.Gc();return c?new C(c,a.k.get(c)):null}function qd(a,b){var c;c=(c=od(a,b))?(c=c.ec())&&c.name:a.k.ec();return c?new C(c,a.k.get(c)):null}g.O=function(a,b){var c=od(this,a);return c?c.ha(function(a){return b(a.name,a.R)}):this.k.ha(b)};g.Wb=function(a){return this.Xb(a.Hc(),a)};
+g.Xb=function(a,b){var c=od(this,b);if(c)return c.Xb(a,function(a){return a});for(var c=this.k.Xb(a.name,qb),d=cd(c);null!=d&&0>b.compare(d,a);)M(c),d=cd(c);return c};g.We=function(a){return this.Zb(a.Fc(),a)};g.Zb=function(a,b){var c=od(this,b);if(c)return c.Zb(a,function(a){return a});for(var c=this.k.Zb(a.name,qb),d=cd(c);null!=d&&010485760/3&&10485760=this.g.compare(this.Uc,a)&&0>=this.g.compare(a,this.vc)};g.F=function(a,b,c,d,e,f){this.matches(new C(b,c))||(c=L);return this.he.F(a,b,c,d,e,f)};
+g.ya=function(a,b,c){b.J()&&(b=L);var d=b.nb(this.g),d=d.fa(L),e=this;b.O(H,function(a,b){e.matches(new C(a,b))||(d=d.T(a,L))});return this.he.ya(a,d,c)};g.fa=function(a){return a};g.Na=function(){return!0};g.Ub=function(){return this.he};function Re(a){this.sa=new Se(a);this.g=a.g;D(a.xa,"Only valid if limit has been set");this.oa=a.oa;this.Ib=!jf(a)}g=Re.prototype;g.F=function(a,b,c,d,e,f){this.sa.matches(new C(b,c))||(c=L);return a.Q(b).Z(c)?a:a.Eb()=this.g.compare(this.sa.Uc,f):0>=this.g.compare(f,this.sa.vc))d=d.T(f.name,f.R),e++;else break}}else{d=b.nb(this.g);d=d.fa(L);var k,m,l;if(this.Ib){b=d.We(this.g);k=this.sa.vc;m=this.sa.Uc;var u=nc(this.g);l=function(a,b){return u(b,a)}}else b=d.Wb(this.g),k=this.sa.Uc,
+m=this.sa.vc,l=nc(this.g);for(var e=0,z=!1;0=l(k,f)&&(z=!0),(h=z&&e=l(f,m))?e++:d=d.T(f.name,L)}return this.sa.Ub().ya(a,d,c)};g.fa=function(a){return a};g.Na=function(){return!0};g.Ub=function(){return this.sa.Ub()};
+function kf(a,b,c,d,e,f){var h;if(a.Ib){var k=nc(a.g);h=function(a,b){return k(b,a)}}else h=nc(a.g);D(b.Eb()==a.oa,"");var m=new C(c,d),l=a.Ib?pd(b,a.g):qd(b,a.g),u=a.sa.matches(m);if(b.Da(c)){for(var z=b.Q(c),l=e.fe(a.g,l,a.Ib);null!=l&&(l.name==c||b.Da(l.name));)l=e.fe(a.g,l,a.Ib);e=null==l?1:h(l,m);if(u&&!d.e()&&0<=e)return null!=f&&df(f,new S(Ie,d,c,z)),b.T(c,d);null!=f&&df(f,new S(Le,z,c));b=b.T(c,L);return null!=l&&a.sa.matches(l)?(null!=f&&df(f,new S(Me,l.R,l.name)),b.T(l.name,l.R)):b}return d.e()?
+b:u&&0<=h(l,m)?(null!=f&&(df(f,new S(Le,l.R,l.name)),df(f,new S(Me,d,c))),b.T(c,d).T(l.name,L)):b};function S(a,b,c,d){this.type=a;this.Ja=b;this.Xa=c;this.qe=d;this.Dd=void 0}function Ee(a){return new S(Ne,a)}var Me="child_added",Le="child_removed",Ie="child_changed",Je="child_moved",Ne="value";function xe(){this.fb={}}
+function df(a,b){var c=b.type,d=b.Xa;D(c==Me||c==Ie||c==Le,"Only child changes supported for tracking");D(".priority"!==d,"Only non-priority child changes can be tracked.");var e=w(a.fb,d);if(e){var f=e.type;if(c==Me&&f==Le)a.fb[d]=new S(Ie,b.Ja,d,e.Ja);else if(c==Le&&f==Me)delete a.fb[d];else if(c==Le&&f==Ie)a.fb[d]=new S(Le,e.qe,d);else if(c==Ie&&f==Me)a.fb[d]=new S(Me,b.Ja,d);else if(c==Ie&&f==Ie)a.fb[d]=new S(Ie,b.Ja,d,e.qe);else throw Mb("Illegal combination of changes: "+b+" occurred after "+
+e);}else a.fb[d]=b};function lf(){this.Rb=this.na=this.Kb=this.ka=this.xa=!1;this.oa=0;this.mb="";this.dc=null;this.zb="";this.ac=null;this.xb="";this.g=H}var mf=new lf;function jf(a){return""===a.mb?a.ka:"l"===a.mb}function ff(a){D(a.ka,"Only valid if start has been set");return a.dc}function ef(a){D(a.ka,"Only valid if start has been set");return a.Kb?a.zb:"[MIN_NAME]"}function hf(a){D(a.na,"Only valid if end has been set");return a.ac}
+function gf(a){D(a.na,"Only valid if end has been set");return a.Rb?a.xb:"[MAX_NAME]"}function nf(a){var b=new lf;b.xa=a.xa;b.oa=a.oa;b.ka=a.ka;b.dc=a.dc;b.Kb=a.Kb;b.zb=a.zb;b.na=a.na;b.ac=a.ac;b.Rb=a.Rb;b.xb=a.xb;b.g=a.g;b.mb=a.mb;return b}g=lf.prototype;g.ne=function(a){var b=nf(this);b.xa=!0;b.oa=a;b.mb="l";return b};g.oe=function(a){var b=nf(this);b.xa=!0;b.oa=a;b.mb="r";return b};g.Nd=function(a,b){var c=nf(this);c.ka=!0;n(a)||(a=null);c.dc=a;null!=b?(c.Kb=!0,c.zb=b):(c.Kb=!1,c.zb="");return c};
+g.gd=function(a,b){var c=nf(this);c.na=!0;n(a)||(a=null);c.ac=a;n(b)?(c.Rb=!0,c.xb=b):(c.vg=!1,c.xb="");return c};function of(a,b){var c=nf(a);c.g=b;return c}function pf(a){var b={};a.ka&&(b.sp=a.dc,a.Kb&&(b.sn=a.zb));a.na&&(b.ep=a.ac,a.Rb&&(b.en=a.xb));if(a.xa){b.l=a.oa;var c=a.mb;""===c&&(c=jf(a)?"l":"r");b.vf=c}a.g!==H&&(b.i=a.g.toString());return b}function T(a){return!(a.ka||a.na||a.xa)}function qf(a){return T(a)&&a.g==H}
+function rf(a){var b={};if(qf(a))return b;var c;a.g===H?c="$priority":a.g===wc?c="$value":a.g===tc?c="$key":(D(a.g instanceof pc,"Unrecognized index type!"),c=a.g.toString());b.orderBy=x(c);a.ka&&(b.startAt=x(a.dc),a.Kb&&(b.startAt+=","+x(a.zb)));a.na&&(b.endAt=x(a.ac),a.Rb&&(b.endAt+=","+x(a.xb)));a.xa&&(jf(a)?b.limitToFirst=a.oa:b.limitToLast=a.oa);return b}g.toString=function(){return x(pf(this))};function sf(a){this.W=a}var tf=new sf(new vd(null));function uf(a,b,c){if(b.e())return new sf(new vd(c));var d=zd(a.W,b);if(null!=d){var e=d.path,d=d.value;b=P(e,b);d=d.F(b,c);return new sf(a.W.set(e,d))}a=Ad(a.W,b,new vd(c));return new sf(a)}function vf(a,b,c){var d=a;fb(c,function(a,c){d=uf(d,b.n(a),c)});return d}sf.prototype.Ed=function(a){if(a.e())return tf;a=Ad(this.W,a,R);return new sf(a)};function wf(a,b){var c=zd(a.W,b);return null!=c?a.W.get(c.path).P(P(c.path,b)):null}
+function xf(a){var b=[],c=a.W.value;null!=c?c.J()||c.O(H,function(a,c){b.push(new C(a,c))}):a.W.children.ha(function(a,c){null!=c.value&&b.push(new C(a,c.value))});return b}function yf(a,b){if(b.e())return a;var c=wf(a,b);return null!=c?new sf(new vd(c)):new sf(a.W.subtree(b))}sf.prototype.e=function(){return this.W.e()};sf.prototype.apply=function(a){return zf(Q,this.W,a)};
+function zf(a,b,c){if(null!=b.value)return c.F(a,b.value);var d=null;b.children.ha(function(b,f){".priority"===b?(D(null!==f.value,"Priority writes must always be leaf nodes"),d=f.value):c=zf(a.n(b),f,c)});c.P(a).e()||null===d||(c=c.F(a.n(".priority"),d));return c};function Af(){this.Jd=L}Af.prototype.j=function(a){return this.Jd.P(a)};Af.prototype.toString=function(){return this.Jd.toString()};function Bf(a){this.oc=a}Bf.prototype.getToken=function(a){return this.oc.INTERNAL.getToken(a).then(null,function(a){return a&&"auth/token-not-initialized"===a.code?(I("Got auth/token-not-initialized error. Treating as null token."),null):Promise.reject(a)})};function Cf(a,b){a.oc.INTERNAL.addAuthTokenListener(b)};function Df(){this.S=tf;this.la=[];this.Bc=-1}function Ef(a,b){for(var c=0;c=b&&Ff(h,c.path)?d=!1:c.path.contains(h.path)&&(e=!0));f--}if(d){if(e)this.S=Gf(this.la,Hf,Q),this.Bc=0h.status){try{b=lb(h.responseText)}catch(c){J("Failed to parse JSON response for "+f+": "+h.responseText)}d(null,
+b)}else 401!==h.status&&404!==h.status&&J("Got unsuccessful REST response for "+f+" Status: "+h.status),d(h.status);d=null}};h.open("GET",f,!0);h.send()})};function Uf(a){this.te=a;this.Bd=[];this.Qb=0;this.Yd=-1;this.Fb=null}function Vf(a,b,c){a.Yd=b;a.Fb=c;a.Yd=a.length){var b=Number(a);if(!isNaN(b)){e.Fe=b;e.frames=[];a=null;break a}}e.Fe=1;e.frames=[]}null!==a&&ag(e,a)}};this.Ia.onerror=function(a){e.f("WebSocket error. Closing connection.");(a=a.message||a.data)&&e.f(a);e.bb()}};Yf.prototype.start=function(){};
+Yf.isAvailable=function(){var a=!1;if("undefined"!==typeof navigator&&navigator.userAgent){var b=navigator.userAgent.match(/Android ([0-9]{0,}\.[0-9]{0,})/);b&&1parseFloat(b[1])&&(a=!0)}return!a&&null!==Xf&&!Zf};Yf.responsesRequiredToBeHealthy=2;Yf.healthyTimeout=3E4;g=Yf.prototype;g.sd=function(){xb.remove("previous_websocket_failure")};function ag(a,b){a.frames.push(b);if(a.frames.length==a.Fe){var c=a.frames.join("");a.frames=null;c=lb(c);a.Xf(c)}}
+g.send=function(a){$f(this);a=x(a);this.qb+=a.length;Mf(this.Va,"bytes_sent",a.length);a=bc(a,16384);1document.domain="'+document.domain+'";\x3c/script>');a=""+a+"";try{this.Ea.gb.open(),this.Ea.gb.write(a),this.Ea.gb.close()}catch(f){I("frame writing exception"),f.stack&&I(f.stack),I(f)}}
+fg.prototype.close=function(){this.Ud=!1;if(this.Ea){this.Ea.gb.body.innerHTML="";var a=this;setTimeout(function(){null!==a.Ea&&(document.body.removeChild(a.Ea),a.Ea=null)},Math.floor(0))}var b=this.ib;b&&(this.ib=null,b())};
+function ig(a){if(a.Ud&&a.Kd&&a.ve.count()<(0=a.Qc[0].Pe.length+30+c.length){var e=a.Qc.shift(),c=c+"&seg"+d+"="+e.jg+"&ts"+d+"="+e.pg+"&d"+d+"="+e.Pe;d++}else break;jg(a,b+c,a.$d);return!0}return!1}function jg(a,b,c){function d(){a.ve.remove(c);ig(a)}a.ve.add(c,1);var e=setTimeout(d,Math.floor(25E3));hg(a,b,function(){clearTimeout(e);d()})}
+function hg(a,b,c){setTimeout(function(){try{if(a.Kd){var d=a.Ea.gb.createElement("script");d.type="text/javascript";d.async=!0;d.src=b;d.onload=d.onreadystatechange=function(){var a=d.readyState;a&&"loaded"!==a&&"complete"!==a||(d.onload=d.onreadystatechange=null,d.parentNode&&d.parentNode.removeChild(d),c())};d.onerror=function(){I("Long-poll script failed to load: "+b);a.Kd=!1;a.close()};a.Ea.gb.body.appendChild(d)}}catch(e){}},Math.floor(1))};function kg(a){lg(this,a)}var mg=[cg,Yf];function lg(a,b){var c=Yf&&Yf.isAvailable(),d=c&&!(xb.Ze||!0===xb.get("previous_websocket_failure"));b.qg&&(c||J("wss:// URL used, but browser isn't known to support websockets. Trying anyway."),d=!0);if(d)a.Wc=[Yf];else{var e=a.Wc=[];cc(mg,function(a,b){b&&b.isAvailable()&&e.push(b)})}}function ng(a){if(0=a.pf?(a.f("Secondary connection is healthy."),a.Bb=!0,a.D.sd(),a.D.start(),a.f("sending client ack on secondary"),a.D.send({t:"c",d:{t:"a",d:{}}}),a.f("Ending transmission on primary"),a.I.send({t:"c",d:{t:"n",d:{}}}),a.Xc=a.D,ug(a)):(a.f("sending ping on secondary."),a.D.send({t:"c",d:{t:"p",d:{}}}))}og.prototype.wd=function(a){wg(this);this.te(a)};function wg(a){a.Bb||(a.xe--,0>=a.xe&&(a.f("Primary connection is healthy."),a.Bb=!0,a.I.sd()))}
+function tg(a,b){a.D=new b("c:"+a.id+":"+a.Le++,a.L,a.qf);a.pf=b.responsesRequiredToBeHealthy||0;a.D.open(qg(a,a.D),rg(a,a.D));hc(function(){a.D&&(a.f("Timed out trying to upgrade."),a.D.close())},Math.floor(6E4))}function sg(a,b,c){a.f("Realtime connection established.");a.I=b;a.Ua=1;a.Lc&&(a.Lc(c,a.qf),a.Lc=null);0===a.xe?(a.f("Primary connection is healthy."),a.Bb=!0):hc(function(){xg(a)},Math.floor(5E3))}
+function xg(a){a.Bb||1!==a.Ua||(a.f("sending ping on primary."),zg(a,{t:"c",d:{t:"p",d:{}}}))}function zg(a,b){if(1!==a.Ua)throw"Connection is not connected";a.Xc.send(b)}og.prototype.close=function(){2!==this.Ua&&(this.f("Closing realtime connection."),this.Ua=2,vg(this),this.ia&&(this.ia(),this.ia=null))};function vg(a){a.f("Shutting down all connections");a.I&&(a.I.close(),a.I=null);a.D&&(a.D.close(),a.D=null);a.md&&(clearTimeout(a.md),a.md=null)};function Ag(a,b,c,d,e,f){this.id=Bg++;this.f=Tb("p:"+this.id+":");this.qd={};this.$={};this.pa=[];this.Oc=0;this.Kc=[];this.ma=!1;this.Sa=1E3;this.td=3E5;this.Gb=b;this.Jc=c;this.ue=d;this.L=a;this.ob=this.Fa=this.Cb=this.ze=null;this.$c=e;this.de=!1;this.ke=0;if(f)throw Error("Auth override specified in options, but not supported on non Node.js platforms");this.Vd=f;this.ub=null;this.Mb=!1;this.Gd={};this.ig=0;this.Re=!0;this.Ac=this.me=null;Cg(this,0);Mc.Vb().gc("visible",this.Zf,this);-1===a.host.indexOf("fblocal")&&
+Lc.Vb().gc("online",this.Yf,this)}var Bg=0,Dg=0;g=Ag.prototype;g.ua=function(a,b,c){var d=++this.ig;a={r:d,a:a,b:b};this.f(x(a));D(this.ma,"sendRequest call when we're not connected not allowed.");this.Fa.ua(a);c&&(this.Gd[d]=c)};
+g.$e=function(a,b,c,d){var e=a.ja(),f=a.path.toString();this.f("Listen called for "+f+" "+e);this.$[f]=this.$[f]||{};D(qf(a.m)||!T(a.m),"listen() called for non-default but complete query");D(!this.$[f][e],"listen() called twice for same path/queryId.");a={G:d,ld:b,eg:a,tag:c};this.$[f][e]=a;this.ma&&Eg(this,a)};
+function Eg(a,b){var c=b.eg,d=c.path.toString(),e=c.ja();a.f("Listen on "+d+" for "+e);var f={p:d};b.tag&&(f.q=pf(c.m),f.t=b.tag);f.h=b.ld();a.ua("q",f,function(f){var k=f.d,m=f.s;if(k&&"object"===typeof k&&eb(k,"w")){var l=w(k,"w");ea(l)&&0<=xa(l,"no_index")&&J("Using an unspecified index. Consider adding "+('".indexOn": "'+c.m.g.toString()+'"')+" at "+c.path.toString()+" to your security rules for better performance")}(a.$[d]&&a.$[d][e])===b&&(a.f("listen response",f),"ok"!==m&&Fg(a,d,e),b.G&&b.G(m,
+k))})}g.kf=function(a){this.ob=a;this.f("Auth token refreshed");this.ob?Gg(this):this.ma&&this.ua("unauth",{},function(){});if(a&&40===a.length||kc(a))this.f("Admin auth credential detected. Reducing max reconnect time."),this.td=3E4};function Gg(a){if(a.ma&&a.ob){var b=a.ob,c=jc(b)?"auth":"gauth",d={cred:b};null===a.Vd?d.noauth=!0:"object"===typeof a.Vd&&(d.authvar=a.Vd);a.ua(c,d,function(c){var d=c.s;c=c.d||"error";a.ob===b&&("ok"===d?a.ke=0:Hg(a,d,c))})}}
+g.uf=function(a,b){var c=a.path.toString(),d=a.ja();this.f("Unlisten called for "+c+" "+d);D(qf(a.m)||!T(a.m),"unlisten() called for non-default but complete query");if(Fg(this,c,d)&&this.ma){var e=pf(a.m);this.f("Unlisten on "+c+" for "+d);c={p:c};b&&(c.q=e,c.t=b);this.ua("n",c)}};g.re=function(a,b,c){this.ma?Ig(this,"o",a,b,c):this.Kc.push({we:a,action:"o",data:b,G:c})};g.cf=function(a,b,c){this.ma?Ig(this,"om",a,b,c):this.Kc.push({we:a,action:"om",data:b,G:c})};
+g.xd=function(a,b){this.ma?Ig(this,"oc",a,null,b):this.Kc.push({we:a,action:"oc",data:null,G:b})};function Ig(a,b,c,d,e){c={p:c,d:d};a.f("onDisconnect "+b,c);a.ua(b,c,function(a){e&&setTimeout(function(){e(a.s,a.d)},Math.floor(0))})}g.put=function(a,b,c,d){Jg(this,"p",a,b,c,d)};g.af=function(a,b,c,d){Jg(this,"m",a,b,c,d)};function Jg(a,b,c,d,e,f){d={p:c,d:d};n(f)&&(d.h=f);a.pa.push({action:b,mf:d,G:e});a.Oc++;b=a.pa.length-1;a.ma?Kg(a,b):a.f("Buffering put: "+c)}
+function Kg(a,b){var c=a.pa[b].action,d=a.pa[b].mf,e=a.pa[b].G;a.pa[b].fg=a.ma;a.ua(c,d,function(d){a.f(c+" response",d);delete a.pa[b];a.Oc--;0===a.Oc&&(a.pa=[]);e&&e(d.s,d.d)})}g.ye=function(a){this.ma&&(a={c:a},this.f("reportStats",a),this.ua("s",a,function(a){"ok"!==a.s&&this.f("reportStats","Error sending stats: "+a.d)}))};
+g.wd=function(a){if("r"in a){this.f("from server: "+x(a));var b=a.r,c=this.Gd[b];c&&(delete this.Gd[b],c(a.b))}else{if("error"in a)throw"A server-side error has occurred: "+a.error;"a"in a&&(b=a.a,a=a.b,this.f("handleServerMessage",b,a),"d"===b?this.Gb(a.p,a.d,!1,a.t):"m"===b?this.Gb(a.p,a.d,!0,a.t):"c"===b?Lg(this,a.p,a.q):"ac"===b?Hg(this,a.s,a.d):"sd"===b?this.ze?this.ze(a):"msg"in a&&"undefined"!==typeof console&&console.log("FIREBASE: "+a.msg.replace("\n","\nFIREBASE: ")):Ub("Unrecognized action received from server: "+
+x(b)+"\nAre you using the latest client?"))}};g.Lc=function(a,b){this.f("connection ready");this.ma=!0;this.Ac=(new Date).getTime();this.ue({serverTimeOffset:a-(new Date).getTime()});this.Cb=b;if(this.Re){var c={};c["sdk.js."+firebase.SDK_VERSION.replace(/\./g,"-")]=1;pb()?c["framework.cordova"]=1:"object"===typeof navigator&&"ReactNative"===navigator.product&&(c["framework.reactnative"]=1);this.ye(c)}Mg(this);this.Re=!1;this.Jc(!0)};
+function Cg(a,b){D(!a.Fa,"Scheduling a connect when we're already connected/ing?");a.ub&&clearTimeout(a.ub);a.ub=setTimeout(function(){a.ub=null;Ng(a)},Math.floor(b))}g.Zf=function(a){a&&!this.Mb&&this.Sa===this.td&&(this.f("Window became visible. Reducing delay."),this.Sa=1E3,this.Fa||Cg(this,0));this.Mb=a};g.Yf=function(a){a?(this.f("Browser went online."),this.Sa=1E3,this.Fa||Cg(this,0)):(this.f("Browser went offline. Killing connection."),this.Fa&&this.Fa.close())};
+g.df=function(){this.f("data client disconnected");this.ma=!1;this.Fa=null;for(var a=0;af.Bc,"Stacking an older write on top of newer ones");n(h)||(h=!0);f.la.push({path:b,Ga:c,Zc:d,visible:h});h&&(f.S=uf(f.S,b,c));f.Bc=d;return e?ch(a,new ce(fe,b,c)):[]}function dh(a,b,c,d){var e=a.jb;D(d>e.Bc,"Stacking an older merge on top of newer ones");e.la.push({path:b,children:c,Zc:d,visible:!0});e.S=vf(e.S,b,c);e.Bc=d;c=xd(c);return ch(a,new ae(fe,b,c))}
+function eh(a,b,c){c=c||!1;var d=Ef(a.jb,b);if(a.jb.Ed(b)){var e=R;null!=d.Ga?e=e.set(Q,!0):fb(d.children,function(a,b){e=e.set(new E(a),b)});return ch(a,new de(d.path,e,c))}return[]}function fh(a,b,c){c=xd(c);return ch(a,new ae(ie,b,c))}function gh(a,b,c,d){d=hh(a,d);if(null!=d){var e=ih(d);d=e.path;e=e.Hb;b=P(d,b);c=new ce(new he(!1,!0,e,!0),b,c);return jh(a,d,c)}return[]}
+function kh(a,b,c,d){if(d=hh(a,d)){var e=ih(d);d=e.path;e=e.Hb;b=P(d,b);c=xd(c);c=new ae(new he(!1,!0,e,!0),b,c);return jh(a,d,c)}return[]}
+ah.prototype.Nb=function(a,b){var c=a.path,d=null,e=!1;Fd(this.wa,c,function(a,b){var f=P(a,c);d=d||b.hb(f);e=e||null!=Yg(b)});var f=this.wa.get(c);f?(e=e||null!=Yg(f),d=d||f.hb(Q)):(f=new Xg,this.wa=this.wa.set(c,f));var h;null!=d?h=!0:(h=!1,d=L,Jd(this.wa.subtree(c),function(a,b){var c=b.hb(Q);c&&(d=d.T(a,c))}));var k=null!=$g(f,a);if(!k&&!T(a.m)){var m=lh(a);D(!(m in this.ic),"View does not exist, but we have a tag");var l=mh++;this.ic[m]=l;this.De["_"+l]=m}h=f.Nb(a,b,new If(c,this.jb),d,h);k||
+e||(f=$g(f,a),h=h.concat(nh(this,a,f)));return h};
+ah.prototype.kb=function(a,b,c){var d=a.path,e=this.wa.get(d),f=[];if(e&&("default"===a.ja()||null!=$g(e,a))){f=e.kb(a,b,c);e.e()&&(this.wa=this.wa.remove(d));e=f.hg;f=f.Kf;b=-1!==Ea(e,function(a){return T(a.m)});var h=Dd(this.wa,d,function(a,b){return null!=Yg(b)});if(b&&!h&&(d=this.wa.subtree(d),!d.e()))for(var d=oh(d),k=0;k=a)throw Error("Query.limitToFirst: First argument must be a positive integer.");if(this.m.xa)throw Error("Query.limitToFirst: Limit was already set (by another call to limit, limitToFirst, or limitToLast).");return new X(this.u,this.path,this.m.ne(a),this.Nc)};
+g.oe=function(a){y("Query.limitToLast",1,1,arguments.length);if(!ga(a)||Math.floor(a)!==a||0>=a)throw Error("Query.limitToLast: First argument must be a positive integer.");if(this.m.xa)throw Error("Query.limitToLast: Limit was already set (by another call to limit, limitToFirst, or limitToLast).");return new X(this.u,this.path,this.m.oe(a),this.Nc)};
+g.ag=function(a){y("Query.orderByChild",1,1,arguments.length);if("$key"===a)throw Error('Query.orderByChild: "$key" is invalid. Use Query.orderByKey() instead.');if("$priority"===a)throw Error('Query.orderByChild: "$priority" is invalid. Use Query.orderByPriority() instead.');if("$value"===a)throw Error('Query.orderByChild: "$value" is invalid. Use Query.orderByValue() instead.');Vd("Query.orderByChild",a);Sh(this,"Query.orderByChild");var b=new E(a);if(b.e())throw Error("Query.orderByChild: cannot pass in empty path. Use Query.orderByValue() instead.");
+b=new pc(b);b=of(this.m,b);Qh(b);return new X(this.u,this.path,b,!0)};g.bg=function(){y("Query.orderByKey",0,0,arguments.length);Sh(this,"Query.orderByKey");var a=of(this.m,tc);Qh(a);return new X(this.u,this.path,a,!0)};g.cg=function(){y("Query.orderByPriority",0,0,arguments.length);Sh(this,"Query.orderByPriority");var a=of(this.m,H);Qh(a);return new X(this.u,this.path,a,!0)};
+g.dg=function(){y("Query.orderByValue",0,0,arguments.length);Sh(this,"Query.orderByValue");var a=of(this.m,wc);Qh(a);return new X(this.u,this.path,a,!0)};g.Nd=function(a,b){y("Query.startAt",0,2,arguments.length);Od("Query.startAt",a,this.path,!0);Ud("Query.startAt",b);var c=this.m.Nd(a,b);Rh(c);Qh(c);if(this.m.ka)throw Error("Query.startAt: Starting point was already set (by another call to startAt or equalTo).");n(a)||(b=a=null);return new X(this.u,this.path,c,this.Nc)};
+g.gd=function(a,b){y("Query.endAt",0,2,arguments.length);Od("Query.endAt",a,this.path,!0);Ud("Query.endAt",b);var c=this.m.gd(a,b);Rh(c);Qh(c);if(this.m.na)throw Error("Query.endAt: Ending point was already set (by another call to endAt or equalTo).");return new X(this.u,this.path,c,this.Nc)};
+g.If=function(a,b){y("Query.equalTo",1,2,arguments.length);Od("Query.equalTo",a,this.path,!1);Ud("Query.equalTo",b);if(this.m.ka)throw Error("Query.equalTo: Starting point was already set (by another call to endAt or equalTo).");if(this.m.na)throw Error("Query.equalTo: Ending point was already set (by another call to endAt or equalTo).");return this.Nd(a,b).gd(a,b)};
+g.toString=function(){y("Query.toString",0,0,arguments.length);for(var a=this.path,b="",c=a.Y;c