-
Notifications
You must be signed in to change notification settings - Fork 1
/
firebase-node.js
98 lines (98 loc) · 46 KB
/
firebase-node.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
function f(a){throw a;}var h=void 0,k=!0,l=null,o=!1;function q(a){return function(){return this[a]}}function v(a){return function(){return a}}var w,x=this;
function aa(a){var b=typeof a;if("object"==b)if(a){if(a instanceof Array)return"array";if(a instanceof Object)return b;var c=Object.prototype.toString.call(a);if("[object Window]"==c)return"object";if("[object Array]"==c||"number"==typeof a.length&&"undefined"!=typeof a.splice&&"undefined"!=typeof a.propertyIsEnumerable&&!a.propertyIsEnumerable("splice"))return"array";if("[object Function]"==c||"undefined"!=typeof a.call&&"undefined"!=typeof a.propertyIsEnumerable&&!a.propertyIsEnumerable("call"))return"function"}else return"null";
else if("function"==b&&"undefined"==typeof a.call)return"object";return b}function y(a){return a!==h}function ba(a){var b=aa(a);return"array"==b||"object"==b&&"number"==typeof a.length}function z(a){return"string"==typeof a}function ca(a){return"number"==typeof a}Math.floor(2147483648*Math.random()).toString(36);function da(a,b,c){return a.call.apply(a.bind,arguments)}
function ea(a,b,c){a||f(Error());if(2<arguments.length){var d=Array.prototype.slice.call(arguments,2);return function(){var c=Array.prototype.slice.call(arguments);Array.prototype.unshift.apply(c,d);return a.apply(b,c)}}return function(){return a.apply(b,arguments)}}function A(a,b,c){A=Function.prototype.bind&&-1!=Function.prototype.bind.toString().indexOf("native code")?da:ea;return A.apply(l,arguments)}function fa(a,b){function c(){}c.prototype=b.prototype;a.qc=b.prototype;a.prototype=new c};function C(a,b,c){this.type=a;this.T=b;this.Ja=c};function ga(a){a=""+a;if(/^\s*$/.test(a)?0:/^[\],:{}\s\u2028\u2029]*$/.test(a.replace(/\\["\\\/bfnrtu]/g,"@").replace(/"[^"\\\n\r\u2028\u2029\x00-\x08\x10-\x1f\x80-\x9f]*"|true|false|null|-?\d+(?:\.\d*)?(?:[eE][+\-]?\d+)?/g,"]").replace(/(?:^|:|,)(?:[\s\u2028\u2029]*\[)+/g,"")))try{return eval("("+a+")")}catch(b){}f(Error("Invalid JSON string: "+a))}function ha(){this.ab=h}
function ia(a,b,c){switch(typeof b){case "string":ja(b,c);break;case "number":c.push(isFinite(b)&&!isNaN(b)?b:"null");break;case "boolean":c.push(b);break;case "undefined":c.push("null");break;case "object":if(b==l){c.push("null");break}if("array"==aa(b)){var d=b.length;c.push("[");for(var e="",g=0;g<d;g++)c.push(e),e=b[g],ia(a,a.ab?a.ab.call(b,""+g,e):e,c),e=",";c.push("]");break}c.push("{");d="";for(g in b)Object.prototype.hasOwnProperty.call(b,g)&&(e=b[g],"function"!=typeof e&&(c.push(d),ja(g,
c),c.push(":"),ia(a,a.ab?a.ab.call(b,g,e):e,c),d=","));c.push("}");break;case "function":break;default:f(Error("Unknown type: "+typeof b))}}var ka={'"':'\\"',"\\":"\\\\","/":"\\/","\u0008":"\\b","\u000c":"\\f","\n":"\\n","\r":"\\r","\t":"\\t","\x0B":"\\u000b"},la=/\uffff/.test("\uffff")?/[\\\"\x00-\x1f\x7f-\uffff]/g:/[\\\"\x00-\x1f\x7f-\xff]/g;
function ja(a,b){b.push('"',a.replace(la,function(a){if(a in ka)return ka[a];var b=a.charCodeAt(0),e="\\u";16>b?e+="000":256>b?e+="00":4096>b&&(e+="0");return ka[a]=e+b.toString(16)}),'"')};function ma(a){if("undefined"!==typeof JSON&&y(JSON.stringify))a=JSON.stringify(a);else{var b=[];ia(new ha,a,b);a=b.join("")}return a};function D(a,b){this.oa=a?a:na;this.J=b?b:oa}function na(a,b){return a<b?-1:a>b?1:0}w=D.prototype;w.P=function(a,b){return new D(this.oa,this.J.P(a,b,this.oa).copy(l,l,o,l,l))};w.remove=function(a){return new D(this.oa,this.J.remove(a,this.oa).copy(l,l,o,l,l))};w.get=function(a){for(var b,c=this.J;!c.a();){b=this.oa(a,c.key);if(0===b)return c.value;0>b?c=c.left:0<b&&(c=c.right)}return l};
function pa(a,b){for(var c,d=a.J,e=l;!d.a();){c=a.oa(b,d.key);if(0===c){if(d.left.a())return e?e.key:l;for(d=d.left;!d.right.a();)d=d.right;return d.key}0>c?d=d.left:0<c&&(e=d,d=d.right)}f("Attempted to find predecessor key for a nonexistent key. What gives?")}w.a=function(){return this.J.a()};w.count=function(){return this.J.count()};w.Da=function(){return this.J.Da()};w.ta=function(){return this.J.ta()};w.W=function(a){return this.J.W(a)};w.ga=function(a){return this.J.ga(a)};
w.ra=function(a){return new qa(this.J,a)};function qa(a,b){this.Gb=b;for(this.Sa=[];!a.a();)this.Sa.push(a),a=a.left}function sa(a){if(0===a.Sa.length)return l;var b=a.Sa.pop(),c;c=a.Gb?a.Gb(b.key,b.value):{key:b.key,value:b.value};for(b=b.right;!b.a();)a.Sa.push(b),b=b.left;return c}function ta(a,b,c,d,e){this.key=a;this.value=b;this.color=c!=l?c:k;this.left=d!=l?d:oa;this.right=e!=l?e:oa}w=ta.prototype;
w.copy=function(a,b,c,d,e){return new ta(a!=l?a:this.key,b!=l?b:this.value,c!=l?c:this.color,d!=l?d:this.left,e!=l?e:this.right)};w.count=function(){return this.left.count()+1+this.right.count()};w.a=v(o);w.W=function(a){return this.left.W(a)||a(this.key,this.value)||this.right.W(a)};w.ga=function(a){return this.right.ga(a)||a(this.key,this.value)||this.left.ga(a)};function ua(a){return a.left.a()?a:ua(a.left)}w.Da=function(){return ua(this).key};w.ta=function(){return this.right.a()?this.key:this.right.ta()};
w.P=function(a,b,c){var d,e;e=this;d=c(a,e.key);e=0>d?e.copy(l,l,l,e.left.P(a,b,c),l):0===d?e.copy(l,b,l,l,l):e.copy(l,l,l,l,e.right.P(a,b,c));return va(e)};function wa(a){if(a.left.a())return oa;!a.left.m()&&!a.left.left.m()&&(a=xa(a));a=a.copy(l,l,l,wa(a.left),l);return va(a)}
w.remove=function(a,b){var c,d;c=this;if(0>b(a,c.key))!c.left.a()&&!c.left.m()&&!c.left.left.m()&&(c=xa(c)),c=c.copy(l,l,l,c.left.remove(a,b),l);else{c.left.m()&&(c=ya(c));!c.right.a()&&!c.right.m()&&!c.right.left.m()&&(c=za(c),c.left.left.m()&&(c=ya(c),c=za(c)));if(0===b(a,c.key)){if(c.right.a())return oa;d=ua(c.right);c=c.copy(d.key,d.value,l,l,wa(c.right))}c=c.copy(l,l,l,l,c.right.remove(a,b))}return va(c)};w.m=q("color");
function va(a){a.right.m()&&!a.left.m()&&(a=Aa(a));a.left.m()&&a.left.left.m()&&(a=ya(a));a.left.m()&&a.right.m()&&(a=za(a));return a}function xa(a){a=za(a);a.right.left.m()&&(a=a.copy(l,l,l,l,ya(a.right)),a=Aa(a),a=za(a));return a}function Aa(a){return a.right.copy(l,l,a.color,a.copy(l,l,k,l,a.right.left),l)}function ya(a){return a.left.copy(l,l,a.color,l,a.copy(l,l,k,a.left.right,l))}
function za(a){var b,c;b=a.left.copy(l,l,!a.left.color,l,l);c=a.right.copy(l,l,!a.right.color,l,l);return a.copy(l,l,!a.color,b,c)}function Ba(){}w=Ba.prototype;w.copy=function(){return this};w.P=function(a,b){return new ta(a,b,h,h,h)};w.remove=function(){return this};w.get=v(l);w.count=v(0);w.a=v(k);w.W=v(o);w.ga=v(o);w.Da=v(l);w.ta=v(l);w.m=v(o);var oa=new Ba;var Ca=/^[a-zA-Z0-9\-_.!~*'()]*$/;function Da(a){a=""+a;return!Ca.test(a)?encodeURIComponent(a):a};function E(a){if(a instanceof E)return a;if(1==arguments.length){this.g=a.split("/");for(var b=0,c=0;c<this.g.length;c++)0<this.g[c].length&&(this.g[b]=this.g[c],b++);this.g.length=b;this.I=0}else this.g=arguments[0],this.I=arguments[1]}function H(a){return a.I>=a.g.length?l:a.g[a.I]}function I(a){var b=a.I;b<a.g.length&&b++;return new E(a.g,b)}function Ea(a){return a.I<a.g.length?a.g[a.g.length-1]:l}
E.prototype.toString=function(){for(var a="",b=this.I;b<this.g.length;b++)""!==this.g[b]&&(a+="/"+this.g[b]);return a};E.prototype.parent=function(){if(this.I>=this.g.length)return l;for(var a=[],b=this.I;b<this.g.length-1;b++)a.push(this.g[b]);return new E(a,0)};E.prototype.k=function(a){for(var b=[],c=this.I;c<this.g.length;c++)b.push(this.g[c]);if(a instanceof E)for(c=a.I;c<a.g.length;c++)b.push(a.g[c]);else{a=a.split("/");for(c=0;c<a.length;c++)0<a[c].length&&b.push(a[c])}return new E(b,0)};
E.prototype.a=function(){return this.I>=this.g.length};function Fa(a,b){var c=H(a);if(c===l)return b;if(c===H(b))return Fa(I(a),I(b));f("INTERNAL ERROR: innerParsedPath ("+b+") is not within outerParsedPath ("+a+")")};function Ga(a,b){this.na=a;this.xa="undefined"!==typeof b?b:l}w=Ga.prototype;w.Q=v(k);w.f=q("xa");w.hb=function(a){return new Ga(this.na,a)};w.t=function(){return J};w.e=function(a){return H(a)===l?this:J};w.G=v(l);w.p=function(a,b){return(new K(new D,this.xa)).p(a,b)};w.ya=function(a,b){var c=H(a);return c===l?b:this.p(c,J.ya(I(a),b))};w.a=v(o);w.z=function(a){return a&&this.f()!==l?{".value":this.c(),".priority":""+this.f()}:this.c()};
w.hash=function(){var a="";this.f()!==l&&(a+="priority:"+this.f()+":");a+=typeof this.na+":"+this.na;return Ha(a)};w.c=q("na");w.toString=function(){return"string"===typeof this.na?'"'+this.na+'"':this.na};function K(a,b){this.D=a||new D;this.xa="undefined"!==typeof b?b:l}w=K.prototype;w.Q=v(o);w.f=q("xa");w.hb=function(a){return new K(this.D,a)};w.p=function(a,b){var c=this.D.remove(a);b&&b.a()&&(b=l);b!==l&&(c=c.P(a,b));return b&&b.f()!==l?new Ia(c,l,this.xa):new K(c,this.xa)};
w.ya=function(a,b){var c=H(a);if(c===l)return b;var d=this.t(c).ya(I(a),b);return this.p(c,d)};w.a=function(){return this.D.a()};var Ja=/^\d+$/;w=K.prototype;w.z=function(a){if(this.a())return l;var b={},c=0,d=0,e=k;this.o(function(g,i){b[g]=i.z(a);c++;e&&Ja.test(g)?d=Math.max(d,Number(g)):e=o});if(!a&&e&&d<2*c){var g=[],i;for(i in b)g[i]=b[i];return g}a&&this.f()!==l&&(b[".priority"]=""+this.f());return b};
w.hash=function(){var a="";this.f()!==l&&(a+="priority:"+this.f()+":");this.o(function(b,c){var d=c.hash();""!==d&&(a+=":"+b+":"+d)});return""===a?"":Ha(a)};w.t=function(a){a=this.D.get(a);return a===l?J:a};w.e=function(a){var b=H(a);return b===l?this:this.t(b).e(I(a))};w.G=function(a){return pa(this.D,a)};w.yb=function(){return this.D.Da()};w.Ab=function(){return this.D.ta()};w.o=function(a){return this.D.W(a)};w.lb=function(a){return this.D.ga(a)};w.ra=function(){return this.D.ra()};
w.toString=function(){var a="{",b=k;this.o(function(c,d){b?b=o:a+=", ";a+='"'+c+'" : '+d.toString()});return a+="}"};var J=new K(new D);function Ia(a,b,c){K.call(this,a,c);b===l&&(b=new D(Ka),a.W(function(a,c){b=b.P({name:a,fa:c.f()},c)}));this.ja=b}fa(Ia,K);w=Ia.prototype;w.p=function(a,b){var c=this.t(a),d=this.D,e=this.ja;c!==l&&(d=d.remove(a),e=e.remove({name:a,fa:c.f()}));b&&b.a()&&(b=l);b!==l&&(d=d.P(a,b),e=e.P({name:a,fa:b.f()},b));return new Ia(d,e,this.f())};
w.G=function(a,b){var c=pa(this.ja,{name:a,fa:b.f()});return c?c.name:l};w.o=function(a){return this.ja.W(function(b,c){return a(b.name,c)})};w.lb=function(a){return this.ja.ga(function(b,c){return a(b.name,c)})};w.ra=function(){return this.ja.ra(function(a,b){return{key:a.name,value:b}})};w.yb=function(){return this.ja.Da().name};w.Ab=function(){return this.ja.ta().name};
function La(a,b){if("object"!==typeof a)return new Ga(a,b);if(a===l)return J;var c=".priority"in a?a[".priority"]:b||l;c!==l&&(c=Ma.test(c)?Number(c):c);if(".value"in a&&a[".value"]!==l)return new Ga(a[".value"],c);var c=new K(new D,c),d;for(d in a)if("."!==d.substring(0,1)){var e=La(a[d]);if(e.Q()||!e.a())c=c.p(d,e)}return c}function Ka(a,b){return Na(a.fa,b.fa)||(a.name!==b.name?a.name<b.name?-1:1:0)};function Oa(a){for(var b=[],c=0,d=0;d<a.length;d++){var e=a.charCodeAt(d);128>e?b[c++]=e:(2048>e?b[c++]=e>>6|192:(b[c++]=e>>12|224,b[c++]=e>>6&63|128),b[c++]=e&63|128)}return b};var Pa=/[\[\].#$\/]/,Qa=/[\[\].#$]/;function Ra(a){return z(a)&&0!==a.length&&!Pa.test(a)}function L(a,b,c,d){var e;d<b?e="at least "+b:d>c&&(e=0===c?"none":"no more than "+c);e&&f(Error(a+" failed: Was called with "+d+(1===d?" argument.":" arguments.")+" Expects "+e+"."))}function Sa(a,b,c){(!c||y(b))&&Ta(M(a,1,c),b)}
function Ta(a,b){y(b)||f(Error(a+"contains undefined."));"function"==aa(b)&&f(Error(a+"contains a function."));z(b)&&b.length>10485760/3&&10485760<Oa(b).length&&f(Error(a+"contains a string greater than 10485760 utf8 bytes ('"+b.substring(0,50)+"...')"));var c=aa(b);if("object"==c||"array"==c||"function"==c)for(var d in b)".priority"!==d&&".value"!==d&&!Ra(d)&&f(Error(a+"contains an invalid key ("+d+'). Keys must be non-empty strings and can\'t contain ".", "#", "$", "/", "[", or "]"')),Ta(a,b[d])}
function Ua(a,b,c,d){(!d||y(c))&&c!==l&&!ca(c)&&!z(c)&&f(Error(M(a,b,d)+"must be a valid firebase priority (null or a string.)"))}function N(a,b,c,d){(!d||y(c))&&"function"!=aa(c)&&f(Error(M(a,b,d)+"must be a valid function."))}function Va(a,b){switch(b){case "value":case "child_added":case "child_removed":case "child_changed":case "child_moved":break;default:f(Error(M(a,1,o)+'must be a valid event type: "value", "child_added", "child_removed", "child_changed", or "child_moved".'))}}
function Wa(a,b){y(b)&&!Ra(b)&&f(Error(M(a,2,k)+'must be a valid firebase key (non-empty string, not containing ".", "#", "$", "/", "[", or "]").'))}function Xa(a,b){(!z(b)||0===b.length||Qa.test(b))&&f(Error(M(a,1,o)+'must be a non-empty string and can\'t contain ".", "#", "$", "[", or "]".'))}
function M(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:O(o,"errorPrefix_ called with argumentNumber > 4. Need to update it?")}a+=" failed: ";c&&(a+="If provided, ");return a+(d+" argument ")};function P(a,b){this.b=a;this.$a=b}P.prototype.z=function(){L("Firebase.DataSnapshot.val",0,0,arguments.length);return this.b.z()};P.prototype.val=P.prototype.z;P.prototype.Ob=function(){L("Firebase.DataSnapshot.exportVal",0,0,arguments.length);return this.b.z(k)};P.prototype.exportVal=P.prototype.Ob;P.prototype.k=function(a){L("Firebase.DataSnapshot.child",0,1,arguments.length);ca(a)&&(a=""+a);Xa("Firebase.DataSnapshot.child",a);var b=new E(a),c=this.$a.k(b);return new P(this.b.e(b),c)};
P.prototype.child=P.prototype.k;P.prototype.Pb=function(a){L("Firebase.DataSnapshot.hasChild",1,1,arguments.length);Xa("Firebase.DataSnapshot.hasChild",a);return!this.b.e(new E(a)).a()};P.prototype.hasChild=P.prototype.Pb;P.prototype.f=function(){L("Firebase.DataSnapshot.getPriority",0,0,arguments.length);var a=this.b.f();return a===l?a:""+a};P.prototype.getPriority=P.prototype.f;
P.prototype.forEach=function(a){L("Firebase.DataSnapshot.forEach",1,1,arguments.length);N("Firebase.DataSnapshot.forEach",1,a,o);if(this.b.Q())return o;var b=this;return this.b.o(function(c,d){return a(new P(d,b.$a.k(c)))})};P.prototype.forEach=P.prototype.forEach;P.prototype.Pa=function(){L("Firebase.DataSnapshot.hasChildren",0,0,arguments.length);return this.b.Q()?o:!this.b.a()};P.prototype.hasChildren=P.prototype.Pa;
P.prototype.name=function(){L("Firebase.DataSnapshot.name",0,0,arguments.length);return this.$a.name()};P.prototype.name=P.prototype.name;P.prototype.hc=function(){L("Firebase.DataSnapshot.ref",0,0,arguments.length);return this.$a};P.prototype.ref=P.prototype.hc;function Ya(a){for(var b in a)return o;return k};function Za(){this.children={};this.Ma=0;this.value=l}function Q(a,b,c){this.Ra=a?a:"";this.Ha=b?b:l;this.b=c?c:new Za}function R(a,b){for(var c=b instanceof E?b:new E(b),d=a,e;(e=H(c))!==l;)d=new Q(e,d,e in d.b.children?d.b.children[e]:new Za),c=I(c);return d}w=Q.prototype;w.c=function(){return this.b.value};function S(a,b){a.b.value=b;$a(a)}w.clear=function(){this.b.value=l;this.b.children={};this.b.Ma=0;$a(this)};w.Pa=function(){return 0<this.b.Ma};w.a=function(){return this.c()===l&&!this.Pa()};
w.o=function(a){for(var b in this.b.children)a(new Q(b,this,this.b.children[b]))};function ab(a,b){a.o(function(c){b(new Q(c.name(),a,a.b.children[c.name()]));ab(c,b)})}function bb(a,b,c){for(a=c?a:a.parent();a!==l;)b(a),a=a.parent()}function cb(a,b){a.o(function(a){a.c()!==l?b(a):cb(a,b)})}function T(a,b){for(var c=a.b;c;){if(c.value!==l)return k;c=c.children[H(b)];b=I(b)}}w.path=function(){return new E(this.Ha===l?this.Ra:this.Ha.path()+"/"+this.Ra)};w.name=q("Ra");w.parent=q("Ha");
function $a(a){if(a.Ha!==l){var b=a.Ha,c=a.Ra,d=a.a(),e=c in b.b.children;d&&e?(delete b.b.children[c],b.b.Ma--,$a(b)):!d&&!e&&(b.b.children[c]=a.b,b.b.Ma++,$a(b))}};function db(){this.set={}}w=db.prototype;w.add=function(a,b){this.set[a]=b!==l?b:k};w.get=function(a){return this.set[a]};w.remove=function(a){delete this.set[a]};w.clear=function(){this.set={}};w.a=function(){for(var a in this.set)return o;return k};w.count=function(){var a=0,b;for(b in this.set)a++;return a};var eb="pLPCommand",fb="pRTLPCB";
function gb(a,b,c,d,e){this.Ea=(a.bb?"https://":"http://")+a.host+"/"+a.va;this.vb=0;this.w=d;this.Wb=new hb(b);var g=this;this.ba=setTimeout(function(){U("Timed out trying to connect.");g.close();g.ba=l},3E4);ib(function(){if(!this.Qa){g.ha=new jb(function(a,b,d){if(g.ha)if(g.ba&&(clearTimeout(g.ba),g.ba=l),"start"==a){c();a=g.ha;a.Ub=b;a.Vb=d;for(a.ib=k;kb(a););g.ua=document.createElement("iframe");g.ua.src=g.Ea+"?disconn=t&id="+b+"&pw="+d;g.ua.style.display="none";document.body.appendChild(g.ua)}else"reset"==
a?(U("Got Server RESET packet."),g.close()):"shutdown"==a&&(U("Shutdown message received from server, likely due to unmatching version numbers."),e())},function(a,b){var c=g.Wb;for(c.Wa[a]=b;c.Wa[c.Na];){var d=c.Wa[c.Na];delete c.Wa[c.Na];for(var e=0;e<d.length;e++)d[e]&&c.Tb(d[e]);c.Na++}},function(){g.close()},g.Ea);var a=g.Ea+"?start=t&ser="+Math.floor(1E8*Math.random())+"&v=1";U("Connecting via long-poll to "+a);lb(g.ha,a,function(){})}})}
gb.prototype.close=function(){if(!this.Qa&&(this.Qa=k,U("Closing long-poll connection."),this.ha&&(this.ha.close(),this.ha=l),this.ua&&(document.body.removeChild(this.ua),this.ua=l),this.w&&(this.w(),this.w=l),this.ba))clearTimeout(this.ba),this.ba=l};gb.prototype.send=function(a){for(var a=ma(a),a=mb(Oa(a),k),a=nb(a,1840),b=0;b<a.length;b++){var c=this.ha;c.Ia.push({lc:this.vb,oc:a.length,wb:a[b]});c.ib&&kb(c);this.vb++}};function hb(a){this.Tb=a;this.Wa=[];this.Na=0}
function jb(a,b,c,d){this.Ea=d;this.w=c;this.rb=new db;this.Ia=[];this.kb=Math.floor(1E8*Math.random());c=qb();window[eb+c]=a;window[fb+c]=b;a=document.createElement("iframe");a.style.display="none";document.body?document.body.appendChild(a):f("Document body has not initialized. Wait to initialize Firebase until after the document is ready.");a.contentDocument?a.V=a.contentDocument:a.contentWindow?a.V=a.contentWindow.document:a.document&&(a.V=a.document);this.R=a;a="<html><body><script>\nfunction "+
eb+'(c, a1, a2, a3, a4) {\nparent.window["'+eb+c+'"](c, a1, a2, a3, a4);\n}\nfunction '+fb+'(pN, data) {\nparent.window["'+fb+c+'"](pN, data);\n}\n<\/script></body></html>\n';this.R.V.open();this.R.V.write(a);this.R.V.close()}jb.prototype.close=function(){this.ib=o;this.R&&(this.R.V.body.innerHTML="",document.body.removeChild(this.R),this.R=l);var a=this.w;a&&(this.w=l,a())};
function kb(a){if(a.ib&&a.rb.count()<(0<a.Ia.length?2:1)){a.kb++;for(var b=a.Ea+"?id="+a.Ub+"&pw="+a.Vb+"&ser="+a.kb,c="",d=0;0<a.Ia.length;)if(1870>=a.Ia[0].wb.length+30+c.length){var e=a.Ia.shift(),c=c+"&seg"+d+"="+e.lc+"&ts"+d+"="+e.oc+"&d"+d+"="+e.wb;d++}else break;rb(a,b+c,a.kb);return k}return o}function rb(a,b,c){function d(){a.rb.remove(c);kb(a)}a.rb.add(c);var e=setTimeout(d,25E3);lb(a,b,function(){clearTimeout(e);d()})}
function lb(a,b,c){setTimeout(function(){try{var d=a.R.V.createElement("script");d.type="text/javascript";d.async=k;d.src=b;d.onload=d.onreadystatechange=function(){var a=d.readyState;if(!a||"loaded"===a||"complete"===a)d.onload=d.onreadystatechange=l,d.parentNode&&d.parentNode.removeChild(d),c()};d.onerror=function(){U("Long-poll script failed to load.");a.close()};a.R.V.body.appendChild(d)}catch(e){}},1)}
function nb(a,b){if(a.length<=b)return[a];for(var c=[],d=0;d<a.length;d+=b)d+b>a?c.push(a.substring(d,a.length)):c.push(a.substring(d,d+b));return c};var sb=l,sb=require("faye-websocket").Client;
function tb(a,b,c,d,e){this.w=d;this.Ta=b;this.$b=e;this.dc=c;this.Ba=l;this.state=0;this.frames=l;this.Kb=0;a=(a.bb?"wss://":"ws://")+a.host+"/"+a.va;U("Connecting to "+a);this.v=new sb(a);var g=this;this.v.onopen=function(){U("Websocket connected. Sending hello.");g.v.send("version=1")};this.v.onclose=function(){U("Websocket connection was disconnected.");g.v=l;g.close(k)};this.v.onmessage=function(a){g.v!==l&&(a=a.data,0===g.state?"ok"===a?(U("Got hello packet. WebSocket good."),g.state=1,g.dc()):
"kill"===a&&(U("Shutdown message received from server, likely due to unmatching version numbers."),g.$b()):1===g.state?(g.Kb=Number(a),g.state=2,g.frames=[]):2===g.state&&(g.frames.push(a),g.frames.length==g.Kb&&(a="undefined"!==typeof JSON&&y(JSON.parse)?JSON.parse(g.frames.join("")):ga(g.frames.join("")),g.state=1,ub(g),g.Ta(a))))};this.v.onerror=function(){U("WebSocket error. Closing connection.");g.close()}}
tb.prototype.send=function(a){ub(this);a=ma(a);a=nb(a,16384);this.v.send(""+a.length);for(var b=0;b<a.length;b++)this.v.send(a[b])};tb.prototype.close=function(a){if(!this.Qa&&(this.Qa=k,a||U("Closing WebSocket."),this.Ba&&(clearTimeout(this.Ba),this.Ba=l),this.v&&(this.v.close(),this.v=l),this.w))this.w(),this.w=l};function ub(a){clearTimeout(a.Ba);a.Ba=setInterval(function(){a.v.send("0");ub(a)},45E3)};function vb(a,b,c,d,e){this.Y=a;this.Fa=b;this.L=c;this.H=d;this.wa=e;this.u=0;this.Ca=l;this.C=0;this.La=l;if(sb!==l){U("CHOOSER: Starting WebSocket connection.");O(sb!==l,"WebSocket isn't supported.");O(0===this.C,"webSocketState should be START.");O(2!==this.u,"longPollState should not be CONNECTED");this.C=1;try{this.La=new tb(this.Y,this.Fa,A(this.ec,this),A(this.fc,this),this.wa)}catch(g){wb("WebSocket constructor threw exception: "+g.toString()),xb(this)}}else xb(this);yb(this)}w=vb.prototype;
w.ec=function(){U("CHOOSER: WebSocket connection connected.");1===this.C||wb("webSocketState should be CONNECTING.");2===this.u?xb(this):(this.C=2,yb(this),this.L&&(this.L(this.La),this.L=l))};w.fc=function(){U("CHOOSER: WebSocket connection disconnected.");O(0!==this.C,"webSocketState should not be START.");O(3===this.u||2!==this.C,"Was CONNECTED via websocket, but long-polling wasn't canceled.");xb(this)};
w.ac=function(){U("CHOOSER: Long-polling connection connected.");1===this.u||wb("longPollState should be CONNECTING.");2===this.C?yb(this):(this.u=2,xb(this),this.L&&(this.L(this.Ca),this.L=l))};w.bc=function(){U("CHOOSER: Long-polling connection disconnected.");O(0!==this.u,"longPollState should not be START.");O(3===this.C||2!==this.u,"Was CONNECTED via long-polling, but websocket wasn't canceled.");yb(this)};
function yb(a){3!==a.u&&(U("CHOOSER: Canceling long-polling connection."),a.u=3,a.Ca&&(a.Ca.close(),a.Ca=l),zb(a))}function xb(a){3!==a.C&&(U("CHOOSER: Canceling websocket connection."),a.C=3,a.La&&(a.La.close(),a.La=l),0===a.u&&0===a.u&&(U("CHOOSER: Starting Long-polling connection."),O(o,"Long-polling isn't supported."),O(2!==a.C,"webSocketState should not be CONNECTED."),a.u=1,a.Ca=new gb(a.Y,a.Fa,A(a.ac,a),A(a.bc,a),a.wa)),zb(a))}
function zb(a){3===a.C&&3===a.u&&a.H&&(U("CHOOSER: Both websocket and long-polling were canceled. Connection lost."),a.H(),a.H=l)}w.close=function(){yb(this);xb(this);this.H&&(this.H(),this.H=l)};function Ab(){};function Bb(){this.h=[];this.jb=[];this.Mb=[];this.Va=[];this.Va[0]=128;for(var a=1;64>a;++a)this.Va[a]=0;this.reset()}fa(Bb,Ab);Bb.prototype.reset=function(){this.h[0]=1732584193;this.h[1]=4023233417;this.h[2]=2562383102;this.h[3]=271733878;this.h[4]=3285377520;this.ub=this.Aa=0};
function Cb(a,b){var c;c||(c=0);for(var d=a.Mb,e=c;e<c+64;e+=4)d[e/4]=b[e]<<24|b[e+1]<<16|b[e+2]<<8|b[e+3];for(e=16;80>e;e++){var g=d[e-3]^d[e-8]^d[e-14]^d[e-16];d[e]=(g<<1|g>>>31)&4294967295}c=a.h[0];for(var i=a.h[1],j=a.h[2],n=a.h[3],m=a.h[4],r,e=0;80>e;e++)40>e?20>e?(g=n^i&(j^n),r=1518500249):(g=i^j^n,r=1859775393):60>e?(g=i&j|n&(i|j),r=2400959708):(g=i^j^n,r=3395469782),g=(c<<5|c>>>27)+g+m+r+d[e]&4294967295,m=n,n=j,j=(i<<30|i>>>2)&4294967295,i=c,c=g;a.h[0]=a.h[0]+c&4294967295;a.h[1]=a.h[1]+i&
4294967295;a.h[2]=a.h[2]+j&4294967295;a.h[3]=a.h[3]+n&4294967295;a.h[4]=a.h[4]+m&4294967295}Bb.prototype.update=function(a,b){y(b)||(b=a.length);var c=this.jb,d=this.Aa,e=0;if(z(a))for(;e<b;)c[d++]=a.charCodeAt(e++),64==d&&(Cb(this,c),d=0);else for(;e<b;)c[d++]=a[e++],64==d&&(Cb(this,c),d=0);this.Aa=d;this.ub+=b};var Db,Eb,Fb,Gb;function Hb(){return x.navigator?x.navigator.userAgent:l}Gb=Fb=Eb=Db=o;var Ib;if(Ib=Hb()){var Jb=x.navigator;Db=0==Ib.indexOf("Opera");Eb=!Db&&-1!=Ib.indexOf("MSIE");Fb=!Db&&-1!=Ib.indexOf("WebKit");Gb=!Db&&!Fb&&"Gecko"==Jb.product}var Kb=Eb,Lb=Gb,Mb=Fb;var Nb;if(Db&&x.opera){var Ob=x.opera.version;"function"==typeof Ob&&Ob()}else Lb?Nb=/rv\:([^\);]+)(\)|;)/:Kb?Nb=/MSIE\s+([^\);]+)(\)|;)/:Mb&&(Nb=/WebKit\/(\S+)/),Nb&&Nb.exec(Hb());var Pb=l,Qb=l;
function mb(a,b){ba(a)||f(Error("encodeByteArray takes an array as a parameter"));if(!Pb){Pb={};Qb={};for(var c=0;65>c;c++)Pb[c]="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=".charAt(c),Qb[c]="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_.".charAt(c)}for(var c=b?Qb:Pb,d=[],e=0;e<a.length;e+=3){var g=a[e],i=e+1<a.length,j=i?a[e+1]:0,n=e+2<a.length,m=n?a[e+2]:0,r=g>>2,g=(g&3)<<4|j>>4,j=(j&15)<<2|m>>6,m=m&63;n||(m=64,i||(j=64));d.push(c[r],c[g],c[j],c[m])}return d.join("")}
;var qb=function(){var a=1;return function(){return a++}}();function O(a,b){a||f(Error("Firebase INTERNAL ASSERT FAILED:"+b))}function Ha(a){var b=Oa(a),a=new Bb;a.update(b);var b=[],c=8*a.ub;56>a.Aa?a.update(a.Va,56-a.Aa):a.update(a.Va,64-(a.Aa-56));for(var d=63;56<=d;d--)a.jb[d]=c&255,c/=256;Cb(a,a.jb);for(d=c=0;5>d;d++)for(var e=24;0<=e;e-=8)b[c++]=a.h[d]>>e&255;return mb(b)}
function Rb(){for(var a="",b=0;b<arguments.length;b++)a=ba(arguments[b])?a+Rb.apply(l,arguments[b]):"object"===typeof arguments[b]?a+ma(arguments[b]):a+arguments[b],a+=" ";return a}var Sb=l;function U(){if(Sb){var a=Rb.apply(l,arguments);Sb(a)}}function wb(){if("undefined"!==typeof console){var a=Rb.apply(l,arguments);console.log("FIREBASE INTERNAL ERROR: "+a)}}var Ma=/^[\-+]?[0-9]*\.?[0-9]+$/;
function ib(a){if("complete"===document.readyState)a();else{var b=o,c=function(){document.body?b||(b=k,a()):setTimeout(c,10)};document.addEventListener?(document.addEventListener("DOMContentLoaded",c,o),window.addEventListener("load",c,o)):document.attachEvent&&(document.attachEvent("onreadystatechange",function(){"complete"===document.readyState&&c()},o),window.attachEvent("onload",c,o))}}function Na(a,b){return a!==b?a===l?-1:b===l?1:typeof a!==typeof b?"number"===typeof a?-1:1:a>b?1:-1:0}
var Tb=0;function V(a,b,c,d,e){this.Fa=b;this.L=c;this.H=d;this.wa=e;this.Z={};this.kc=0;this.Xa=[];this.la=0;b=A(this.cc,this);c=A(this.Xb,this);d=A(this.Yb,this);e=A(this.Zb,this);this.pa=new vb(a,b,c,d,e)}V.prototype.Ka=function(a,b,c){var d=++this.kc;Ub(this,{rn:d,payload:a});var e=this,a=setTimeout(function(){var a=e.Z[d];a&&(delete e.Z[d],a.O&&a.O.Ua&&a.O.Ua())},45E3);this.Z[d]={O:{Ta:b,Ua:c},Ib:a}};V.prototype.sendRequest=V.prototype.Ka;w=V.prototype;
w.cc=function(a){if("rn"in a){var b=a.rn,c=this.Z[b];c&&(delete this.Z[b],clearTimeout(c.Ib),c.O&&c.O.Ta&&c.O.Ta(a.data))}else"error"in a&&f("A server-side error has occurred: "+a.error),this.Fa&&this.Fa(a)};w.Xb=function(a){U("Realtime connection established.");this.pa=a;this.la=1;for(a=0;a<this.Xa.length;a++)Ub(this,this.Xa[a]);this.Xa=l;this.L&&(this.L(),this.L=l)};w.Yb=function(){this.pa=l;0===this.la?U("Realtime connection failed."):1===this.la&&U("Realtime connection lost.");this.close()};
w.Zb=function(){U("Connection shutdown command received. Shutting down...");this.wa&&(this.wa(),this.wa=l);this.H=l;this.close()};function Ub(a,b){2===a.la&&f("Connection has already been closed.");0===a.la?a.Xa.push(b):a.pa.send(b)}w.close=function(){if(2!==this.la){U("Closing realtime connection.");this.la=2;this.pa&&(this.pa.close(),this.pa=l);this.H&&(this.H(),this.H=l);for(var a in this.Z){var b=this.Z[a];delete this.Z[a];b!==l&&(b.O&&b.O.Ua&&b.O.Ua(),clearTimeout(b.Ib))}}};
V.prototype.close=V.prototype.close;function Vb(a,b){this.id=Wb++;this.mb={};this.B=[];this.Ga=0;this.qb={};this.qa=o;this.Za=1E3;Xb(this,a,b)}var Wb=0;function Yb(a,b){a.q("Listen on "+b);a.mb[b]=k;a.qa&&a.Ya.Ka({action:"listen",path:b},l,function(){a.q("timed out on listen...")})}Vb.prototype.pc=function(a){this.q("Unlisten on "+a);delete this.mb[a];var b=this;this.qa&&this.Ya.Ka({action:"unlisten",path:a},l,function(){b.q("timed out on unlisten...")})};
Vb.prototype.w=function(a,b){this.qb[a]=b;this.q("onDisconnect",d);var c=this;if(this.qa){var d={action:"onDisconnect",path:a.toString(),data:b};this.Ya.Ka(d,function(a){"success"!==a.status&&f("onDisconnect failed: "+ma(a.data))},function(){c.q("timed out on onDisconnect...")})}};Vb.prototype.put=function(a,b,c,d){a={action:"put",path:a.toString(),data:b};y(d)&&(a.hash=d);this.q("put",a);this.B.push({Fb:a,A:c});this.Ga++;c=this.B.length-1;this.qa&&Zb(this,c)};
function Zb(a,b){var c=a.B[b].A;a.Ya.Ka(a.B[b].Fb,function(d){a.q("put response",d);delete a.B[b];a.Ga--;0===a.Ga&&(a.B=[]);c&&c(d.status)},function(){a.q("timed out on put...")})}
function Xb(a,b,c){var d=(new Date).getTime(),e=l;a.Ya=new V(b,function(b){a.q("handleServerMessage",b);"data"in b?c(b.data.path,b.data.data):"timestamp"in b?Tb=b.timestamp-(new Date).getTime():f("Unrecognized message returned from server: "+ma(b))},function(){a.qa=k;e=(new Date).getTime();for(var b in a.mb)Yb(a,b);for(b in a.qb)a.w(b,a.qb[b]);for(b=0;b<a.B.length;b++)a.B[b]&&Zb(a,b)},function(){a.qa=o;$b(a);e&&(3E4<(new Date).getTime()-e&&(a.Za=1E3),e=l);var g=Math.max(0,a.Za-((new Date).getTime()-
d)),g=Math.random()*g;setTimeout(function(){Xb(a,b,c)},g);a.Za=Math.min(3E4,1.3*a.Za)},function(){f(Error("Firebase connection was forcefully killed by the server. Will not attempt reconnect."))})}function $b(a){for(var b=0;b<a.B.length;b++){var c=a.B[b];c&&c.Fb.hash&&(c.A&&c.A("disconnect"),delete a.B[b],a.Ga--)}0===a.Ga&&(a.B=[])}Vb.prototype.q=function(){U(this.id+":",arguments)};function ac(a){this.i=J;this.n=a}function bc(a,b){var c=new W(a.n,b);return new P(a.i.e(b),c)}function X(a,b,c){a.i=a.i.ya(b,c)}function dc(a,b,c,d){for(var e=a.i.e(b),c=c.i.e(b),d=R(d,b),g=o,i=d;i!==l;){if(i.c()!==l){g=k;break}i=i.parent()}if(g)return o;d=ec(c,e,d);return d!==e?(a.i=a.i.ya(b,d),k):o}ac.prototype.z=function(){return bc(this,new E("/")).z()};
function ec(a,b,c){if(c.a())return a;if(c.c()!==l)return b;a=a||J;c.o(function(d){var d=d.name(),e=a.t(d),g=b.t(d),i=R(c,d),e=ec(e,g,i);a=a.p(d,e)});return a};function fc(a,b,c){this.j=a;this.aa=[];this.sa=c;"default"===this.j.N()?this.d=b:(this.d=J,gc(this,b,hc(this,b,c)))}fc.prototype.addEventListener=function(a,b,c){this.aa.push({type:a,za:b});for(var d=hc(this,this.d,this.sa),e=0;e<d.length;e++)d[e].type===a&&c.push({za:b,T:d[e].T,Ja:d[e].Ja})};fc.prototype.removeEventListener=function(a,b){for(var c=o,d=0;d<this.aa.length;d++){var e=this.aa[d];if(e.type===a&&e.za===b){this.aa.splice(d,1);c=k;break}}return{nc:c,Cb:0===this.aa.length}};
function gc(a,b,c){var d=[],e=a.j;y(a.j.ka)&&d.push(function(a){return 0<=(a!==e.ka?a<e.ka?-1:1:0)});y(a.j.da)&&d.push(function(a){return 0>=(a!==e.da?a<e.da?-1:1:0)});y(a.j.$)&&d.push(function(a,b){return 0<=Na(b,e.$)});y(a.j.ea)&&d.push(function(a,b){return 0>=Na(b,e.ea)});var g=l,i=l;if(y(a.j.X))if(y(a.j.$)){if(g=ic(b,d,a.j.X,o)){var j=b.t(g).f();d.push(function(a,b){return b<j||b===j&&a<=g})}}else if(i=ic(b,d,a.j.X,k)){var n=b.t(i).f();d.push(function(a,b){return b>n||b===n&&a>=i})}for(var m=
[],r=[],u=[],B=[],s=0;s<c.length;s++){var F=c[s].type,p=c[s].T,t=p.name(),G=p.b;switch(F){case "child_added":jc(d,t,G)&&(a.d=a.d.p(t,G),r.push(p));break;case "child_removed":a.d.t(t).a()||(a.d=a.d.p(t,l),m.push(c[s]));break;case "child_changed":!a.d.t(t).a()&&jc(d,t,G)&&(a.d=a.d.p(t,G),B.push(p));break;case "child_moved":var F=!a.d.t(t).a(),ra=jc(d,t,G);F?ra?(a.d=a.d.p(t,G),u.push(p)):(p=a.j.path.k(t),m.push(new C("child_removed",new P(a.d.t(t),p))),a.d=a.d.p(t,l)):ra&&(a.d=a.d.p(t,G),r.push(p))}}var cc=
g||i;if(cc){var Ec=(s=i!==l)?a.d.yb():a.d.Ab(),ob=o,pb=o;(s?b.lb:b.o).call(b,function(b,c){if(ob){var d=a.j.path.k(b);m.push(new C("child_removed",new P(a.d.t(b),d)));a.d=a.d.p(b,l)}else pb&&(d=a.j.path.k(b),r.push(new P(c,d)),a.d=a.d.p(b,c));b===Ec&&(pb=k);b===cc&&(ob=k);if(pb&&ob)return k})}for(s=0;s<r.length;s++)p=r[s],b=a.d.G(p.name(),p.b),m.push(new C("child_added",p,b));for(s=0;s<u.length;s++)p=u[s],b=a.d.G(p.name(),p.b),m.push(new C("child_moved",p,b));for(s=0;s<B.length;s++)p=B[s],b=a.d.G(p.name(),
p.b),m.push(new C("child_changed",p,b));u=o;!a.sa&&0<c.length&&"value"===c[c.length-1].type&&(u=a.sa=k);a.sa&&(0<m.length||u)&&m.push(new C("value",new P(a.d,a.j.path)));return m}function ic(a,b,c,d){var e=l;(d?a.lb:a.o).call(a,function(a,d){if(jc(b,a,d)&&(e=a,c--,0===c))return k});return e}function jc(a,b,c){for(var d=0;d<a.length;d++)if(!a[d](b,c.f()))return o;return k}
function hc(a,b,c){var d=[];if(!b.Q()){var e=l;b.o(function(b,c){var j=a.j.path.k(b);d.push(new C("child_added",new P(c,j),e));e=b})}c&&d.push(new C("value",new P(b,a.j.path)));return d};function kc(a){this.Y=a;this.ia=new ac(this);this.r=new ac(this);this.K=new ac(this);this.S=new Q;this.fb=new Q;this.U=new Q;this.F=new Q;this.ob=J;var b=this;this.ca=new Vb(this.Y,function(a,d){lc(b,a,d)})}
function mc(a,b,c,d){var e=b.path.s,g=R(a.U,e),i=g.c();if(i===l){var i={M:{}},j=o;bb(g,function(a){a.c()&&a.c().ma&&(j=k)});j||(i.ma=nc(a,e.toString()),ab(g,function(a){a=a.c();a!==l&&a.ma&&(a.ma(),a.ma=l)}));S(g,i)}var g=b.N(),n=i.M[g];n||(n=a.K.i.e(e),a=T(a.F,e),n=new fc(b,n,a),i.M[g]=n);b=[];n.addEventListener(c,d,b);oc(b)}
function pc(a,b,c,d){var e=b.path.s,g=R(a.U,e),i=g.c(),j;if(i!==l){if("default"!==b.N()){if(j=i.M[b.N()])j=j.removeEventListener(c,d),j.Cb&&delete i.M[b.N()]}else{var b=l,n=o,m;for(m in i.M)if(j=i.M[m].removeEventListener(c,d),j.nc){b=m;n=j.Cb;break}n&&delete i.M[b]}if(Ya(i.M)){if(i.ma){var r=T(a.F,e);cb(g,function(b){b.ma=nc(a,b.path().toString());r&&S(R(a.F,b.path()),k)});i.ma()}S(g,l)}}}function nc(a,b){Yb(a.ca,b);return A(a.ca.pc,a.ca,b)}
function lc(a,b,c){if(9<=b.length&&b.lastIndexOf(".priority")===b.length-9)b=new E(b.substring(0,b.length-9)),c!==l&&Ma.test(c)&&(c=Number(c)),X(a.ia,b,a.ia.i.e(b).hb(c));else{b=new E(b);X(a.ia,b,La(c));var d=o;bb(R(a.U,b),function(a){a.c()&&a.c().Bb&&(d=k)},k);if(!d&&(c=R(a.U,b).c()))c.Bb=k}dc(a.r,b,a.ia,a.S)?qc(a,rc(a,b)):sc(a,b)}function tc(a,b){bb(R(a.U,b),function(a){if(a.c()&&a.c().Bb)return k});return o}
function sc(a,b){var c=[],d=a.ob,e=a.K.i;a.ob=a.K.i;var g=d.e(b),i=e.e(b),j=uc(a,b,g,i,c),g=g.f()!==i.f();if(j||g)for(var n=g,m=R(a.U,b);m.parent()!==l;){var r=d.e(m.path()),u=e.e(m.path()),g=m.parent();if(g.c()){var B=g.path(),i=e.e(B),s=[],m=Ea(m.path()),B=new W(a,B.k(m));if(r.a())r=i.G(m,u),s.push(new C("child_added",new P(u,B),r));else if(u.a())s.push(new C("child_removed",new P(r,B)));else if(j&&(r=i.G(m,u),s.push(new C("child_changed",new P(u,B),r))),n)r=i.G(m,u),s.push(new C("child_moved",
new P(u,B),r)),j=k;T(a.F,g.path())&&(Ea(g.path())||a.name(),n=new W(a,g.path()),s.push(new C("value",new P(i,n))));c.push({path:g.path().toString(),Oa:s})}m=g;n=o}for(d=0;d<c.length;d++)if(s=a,e=c[d].Oa,n=new E(c[d].path),j=R(s.U,n).c(),j!==l){g=j.M;i=[];s=s.ob.e(n);n=h;for(n in g){u=j.M[n];B=s;r=e;m=i;"default"!==u.j.N()?r=gc(u,B,r):(u.d=B,u.sa=u.sa||0<r.length&&"value"===r[r.length-1].type);for(B=0;B<r.length;B++){var F=r[B],p=F.type;"value"===F.type&&!F.T.Pa()?p+="("+F.T.z()+")":"value"!==F.type&&
(p+=" "+F.T.name());U(u.j.path.n.ca.id+":event:"+u.j.path.s+":"+u.j.N()+":"+p);for(p=0;p<u.aa.length;p++){var t=u.aa[p];r[B].type===t.type&&m.push({za:t.za,T:F.T,Ja:F.Ja})}}}oc(i)}}
function uc(a,b,c,d,e){var g;c===d&&(g=o);c.Q()&&d.Q()?g=c.c()!==d.c():c.Q()?(vc(a,b,J,d,e),g=k):d.Q()?(vc(a,b,c,J,e),g=k):g=vc(a,b,c,d,e);c=o;T(a.F,b)||(ab(R(a.U,b),function(b){if(!T(a.F,b.path())){var c=new W(a,b.path());e.push({path:b.path(),Oa:[new C("value",new P(J,c))]})}}),c=k,R(a.F,b).clear(),S(R(a.F,b),k));if(g||c)c=new W(a,b),e.push({path:b.toString(),Oa:[new C("value",new P(d,c))]});return g}
function vc(a,b,c,d,e){var g=o,i=[],j=!R(a.U,b).a(),n=[],m=[],r=[],u={},B={},s,F,p,t,G,ra;s=c.ra();p=sa(s);F=d.ra();for(t=sa(F);p!==l||t!==l;){c=p===l?1:t===l?-1:p.key===t.key?0:Ka({name:p.key,fa:p.value.f()},{name:t.key,fa:t.value.f()});if(0>c)g=u[p.key],y(g)?(r.push({xb:p,Jb:n[g]}),n[g]=l):(B[p.key]=m.length,m.push(p)),g=k,p=sa(s);else{if(0<c)g=B[t.key],y(g)?(r.push({xb:m[g],Jb:t}),m[g]=l):(u[t.key]=n.length,n.push(t)),g=k;else{c=b.k(t.key);if(ra=uc(a,c,p.value,t.value,e))G=d.G(t.key,t.value),p=
new W(a,c),i.push(new C("child_changed",new P(t.value,p),G)),g=k;p=sa(s)}t=sa(F)}if(!j&&g)return k}for(j=0;j<m.length;j++)if(u=m[j])c=b.k(u.key),p=new W(a,c),uc(a,c,u.value,J,e),i.push(new C("child_removed",new P(u.value,p)));for(j=0;j<n.length;j++)if(m=n[j])c=b.k(m.key),p=new W(a,c),G=d.G(m.key,m.value),uc(a,c,J,m.value,e),i.push(new C("child_added",new P(m.value,p),G));for(j=0;j<r.length;j++)m=r[j].xb,n=r[j].Jb,c=b.k(n.key),p=new W(a,c),G=d.G(n.key,n.value),i.push(new C("child_moved",new P(n.value,
p),G)),(ra=uc(a,c,m.value,n.value,e))&&i.push(new C("child_changed",new P(n.value,p),G));0<i.length&&e.push({path:b.toString(),Oa:i});return g}function oc(a){for(var b=0;b<a.length;b++){var c=a[b].za;c(a[b].T,a[b].Ja)}}
kc.prototype.eb=function(a,b,c,d){c!==l&&Ma.test(c)&&(c=Number(c));this.q("set",{path:a.toString(),value:b});var e=qb(),g=this;S(R(this.S,a),e);X(this.r,a,La(b,c));b=this.r.i.e(a).z(k);wc(this,a,b,function(b){O("success"===b,"put failed. WHAT TO DO!? WHAT TO DO!?");var b=R(g.S,a),c=b.c();O(c!==l,"setWithPriority: pendingSet should not be null.");c===e&&(S(b,l),tc(g,a)&&(dc(g.r,a,g.ia,g.S),b=rc(g,a),qc(g,b)));d&&d(k)});b=rc(this,a);xc(this,a);qc(this,b)};
function xc(a,b){var c=R(a.fb,b);bb(c,function(b){yc(a,b)});yc(a,c);ab(c,function(b){yc(a,b)})}function yc(a,b){var c=b.c();if(c!==l){for(var d=-1,e=0;e<c.length;e++)if(c[e].status===zc)O(d===e-1,"All SENT items should be at beginning of queue."),d=e,c[e].status=Ac;else if(c[e].gb(),c[e].A){var g=T(a.F,b.path())?bc(a.K,b.path()):l;c[e].A(o,g)}-1===d?S(b,l):c.length=d+1}}var zc=2,Ac=4;
function Bc(a,b,c,d){function e(){}a.q("transaction on "+b);var g=new W(a,b);g.pb("value",e);var c={Eb:b,update:c,A:d,Db:qb(),Hb:0,gb:function(){g.nb("value",e)}},d=a.K,i=c.update(d.i.e(b).z());if(y(i)){Ta("transaction failed: Data returned ",i);var j=a.r.i.e(b).f();X(d,b,La(i,j));sc(a,b);c.status=1;b=R(a.fb,b);d=b.c()||[];d.push(c);S(b,d);Cc(a)}else c.gb(),c.A&&(a=T(a.F,b)?bc(a.K,b):l,c.A(o,a))}function Cc(a,b){var c=b||a.fb;b||Dc(a,c);c.a()||(c.c()!==l?Fc(a,c):c.o(function(b){Cc(a,b)}))}
function Fc(a,b){var c=Gc(a,b);if(0!==c.length){var d=b.path();if(c[0].status!==zc&&c[0].status!==Ac){for(var e=0;e<c.length;e++)O(1===c[e].status,"tryToSendTransactionForNode_: items in queue should all be run."),c[e].status=zc,c[e].Hb++;var g=a.r.i.e(d).hash();X(a.r,d,a.K.i.e(d));var i=a.r.i.e(d).z(k),j=qb();S(R(a.S,d),j);wc(a,d,i,function(g){a.q("transaction put response",{path:d.toString(),status:g});var i=R(a.S,d),r=i.c();O(r!==l,"tryToSendTransactionsForNode_: pendingSet should not be null.");
r===j&&(S(i,l),X(a.r,d,a.ia.i.e(d)));if("success"===g){for(e=0;e<c.length;e++)c[e].status=3,c[e].A&&(g=T(a.F,d),O(g,"Transaction completed successfully but we don't have data for this location!?"),g=bc(a.K,b.path()),c[e].A(k,g)),c[e].gb();Cc(a)}else if("datastale"===g||"disconnect"===g){if("datastale"===g)for(e=0;e<c.length;e++)c[e].status=c[e].status===Ac?5:1;else if("disconnect"===g)for(e=0;e<c.length;e++)c[e].status=6;g=rc(a,d);qc(a,g)}else O(o,"Got unexpected put response to transaction: "+g)},
g)}}}
function qc(a,b){var c=b.path();X(a.K,c,a.r.i.e(c));var d=Gc(a,b);if(0!==d.length){for(var e=a.K.i.e(c),g=0;g<d.length;g++){var i=Fa(c,d[g].Eb),j=o,n;O(i!==l,"rerunTransactionsUnderNode_: relativePath should not be null.");if(5===d[g].status)j=k,n="set";else if(6===d[g].status)j=k,n="disconnect";else if(1===d[g].status)if(25<=d[g].Hb)j=k,n="maxretry";else{var m=d[g].update(e.e(i).z());y(m)?(Ta("transaction failed: Data returned ",m),e=e.ya(i,La(m))):(j=k,n="nodata")}j&&(d[g].gb(),d[g].status=3,d[g].A&&
(j=new W(a,d[g].Eb),i=new P(e.e(i),j),d[g].A(o,i,n)))}d=a.r.i.e(c).f();X(a.K,c,e.hb(d));Cc(a)}sc(a,c)}function rc(a,b){for(var c,d=a.fb;(c=H(b))!==l&&d.c()===l;)d=R(d,c),b=I(b);return d}function Gc(a,b){var c=[];Hc(a,b,c);c.sort(function(a,b){return a.Db-b.Db});return c}function Hc(a,b,c){var d=b.c();if(d!==l)for(var e=0;e<d.length;e++)c.push(d[e]);b.o(function(b){Hc(a,b,c)})}
function Dc(a,b){var c=b.c();if(c){for(var d=0,e=0;e<c.length;e++)3!==c[e].status&&(c[d]=c[e],d++);c.length=d;S(b,0<c.length?c:l)}b.o(function(b){Dc(a,b)})}w=kc.prototype;w.tb=function(a,b,c){var d=qb(),e=this;wc(this,a.toString()+"/.priority",b,function(b){var i=R(e.S,a),j=i.c();O(j!==l,"setPriority: pendingSet should not be null.");j===d&&(S(i,l),dc(e.r,a,e.ia,e.S),i=rc(e,a),qc(e,i));c&&c("success"===b)});S(R(this.S,a),d);X(this.r,a,bc(this.r,a).b.hb(b));qc(this,rc(this,a))};
w.cb=function(a,b){this.ca.w(a,b)};function wc(a,b,c,d,e){a.ca.put(b,c,d,e)}w.toString=function(){return(this.Y.bb?"https://":"http://")+this.Y.host+"/"+Da(this.Y.va)};w.name=function(){return this.Y.va};w.q=function(){U(this.ca.id+":",arguments)};function Ic(){this.sb={}}Ic.zb=function(){return Ic.Rb||(Ic.Rb=new Ic)};function Y(a,b,c,d,e,g){this.path=a;this.X=b;this.$=Ma.test(c)?Number(c):c;this.ka=d;this.ea=Ma.test(e)?Number(e):e;this.da=g;y(this.$)&&y(this.ea)&&y(this.X)&&f("firebase.Query: Can't combine startAt(), endAt(), and limit().")}Y.prototype.pb=function(a,b){L("firebase.Query.on",2,2,arguments.length);Va("firebase.Query.on",a);N("firebase.Query.on",2,b,o);mc(this.path.n,this,a,b);return b};Y.prototype.on=Y.prototype.pb;
Y.prototype.nb=function(a,b){L("firebase.Query.off",2,2,arguments.length);Va("firebase.Query.off",a);N("firebase.Query.off",2,b,o);pc(this.path.n,this,a,b)};Y.prototype.off=Y.prototype.nb;Y.prototype.gc=function(a,b){function c(g){e&&(e=o,d.nb(a,c),b(g))}L("firebase.Query.once",2,2,arguments.length);Va("firebase.Query.once",a);N("firebase.Query.once",2,b,o);var d=this,e=k;this.pb(a,c)};Y.prototype.once=Y.prototype.gc;
Y.prototype.Sb=function(a){L("firebase.Query.limit",1,1,arguments.length);(!ca(a)||Math.floor(a)!==a||0>=a)&&f("firebase.Query.limit: First argument must be a positive integer.");return new Y(this.path,a,this.$,this.ka,this.ea,this.da)};Y.prototype.limit=Y.prototype.Sb;Y.prototype.mc=function(a,b){L("firebase.Query.startAt",0,2,arguments.length);Ua("firebase.Query.startAt",1,a,k);Wa("firebase.Query.startAt",b);y(a)||(b=a=l);return new Y(this.path,this.X,a,b,this.ea,this.da)};Y.prototype.startAt=Y.prototype.mc;
Y.prototype.Nb=function(a,b){L("firebase.Query.endAt",0,2,arguments.length);Ua("firebase.Query.endAt",1,a,k);Wa("firebase.Query.endAt",b);return new Y(this.path,this.X,this.$,this.ka,a,b)};Y.prototype.endAt=Y.prototype.Nb;Y.prototype.N=function(){var a=[];y(this.$)&&a.push({sp:this.$});y(this.ka)&&a.push({sn:this.ka});y(this.ea)&&a.push({ep:this.ea});y(this.da)&&a.push({en:this.da});y(this.X)&&a.push({l:this.X});return 0===a.length?"default":ma(a)};var Jc=function(){var a=0,b=[];return function(){var c=(new Date).getTime()+Tb,d=c===a;a=c;for(var e=Array(8),g=7;0<=g;g--)e[g]="-0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ_abcdefghijklmnopqrstuvwxyz".charAt(c%64),c=Math.floor(c/64);O(0===c);c=e.join("");if(d){for(g=11;0<=g&&63===b[g];g--)b[g]=0;b[g]++}else for(g=0;12>g;g++)b[g]=Math.floor(64*Math.random());for(g=0;12>g;g++)c+="-0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ_abcdefghijklmnopqrstuvwxyz".charAt(b[g]);O(20===c.length,"NextPushId: Length should be 20.");
return c}}();function W(){var a,b;Y.call(this,this);if(arguments[0]instanceof kc)this.n=arguments[0],this.s=arguments[1];else{L("new Firebase",1,1,arguments.length);a=arguments[0];var c="",d="",e=o;b="";if(z(a)){var g=a.indexOf("://");0<g&&(e="https"===a.substring(0,g),a=a.substring(g+3));g=a.indexOf("/");0<g&&(c=a.substring(0,g),a=a.substring(g+1),g=a.indexOf("/"),0<g?(d=a.substring(0,g),b=a.substring(g)):(d=a,b="/"))}a={host:c,bb:e,va:d};b=new E(b);c=b.toString();(!z(a.host)||0===a.host.length||!Ra(a.va)||0!==
c.length&&(!z(c)||0===c.length||Qa.test(c)))&&f(Error(M("new Firebase",1,o)+"must be a valid firebase URL."));c=Ic.zb();d=(a.bb?"https://":"http://")+a.host+"/"+a.va;e=c.sb[d];e||(e=new kc(a),c.sb[d]=e);this.n=e;this.s=b}}fa(W,Y);var Kc=W,Lc=["Firebase"],Z=x;!(Lc[0]in Z)&&Z.execScript&&Z.execScript("var "+Lc[0]);for(var Mc;Lc.length&&(Mc=Lc.shift());)!Lc.length&&y(Kc)?Z[Mc]=Kc:Z=Z[Mc]?Z[Mc]:Z[Mc]={};module.exports=W;
W.prototype.name=function(){L("Firebase.name",0,0,arguments.length);return this.s.a()?this.n.name():Ea(this.s)};W.prototype.name=W.prototype.name;W.prototype.k=function(a){L("Firebase.child",1,1,arguments.length);ca(a)?a=""+a:a instanceof E||Xa("Firebase.child",a);return new W(this.n,this.s.k(a))};W.prototype.child=W.prototype.k;W.prototype.parent=function(){L("Firebase.parent",0,0,arguments.length);var a=this.s.parent();return a===l?l:new W(this.n,a)};W.prototype.parent=W.prototype.parent;
W.prototype.toString=function(){L("Firebase.toString",0,0,arguments.length);return this.parent()===l?this.n.toString():this.parent().toString()+"/"+Da(this.name())};W.prototype.toString=W.prototype.toString;W.prototype.set=function(a,b){L("Firebase.set",1,2,arguments.length);Sa("Firebase.set",a,o);N("Firebase.set",2,b,k);(".length"===this.name()||".keys"===this.name())&&f("Firebase.set failed: "+this.name()+" is a read-only object.");return this.n.eb(this.s,a,l,b)};W.prototype.set=W.prototype.set;
W.prototype.eb=function(a,b,c){L("Firebase.setWithPriority",2,3,arguments.length);Sa("Firebase.setWithPriority",a,o);Ua("Firebase.setWithPriority",2,b,o);N("Firebase.setWithPriority",3,c,k);(".length"===this.name()||".keys"===this.name())&&f("Firebase.setWithPriority failed: "+this.name()+" is a read-only object.");return this.n.eb(this.s,a,b,c)};W.prototype.setWithPriority=W.prototype.eb;
W.prototype.remove=function(a){L("Firebase.remove",0,1,arguments.length);N("Firebase.remove",1,a,k);this.set(l,a)};W.prototype.remove=W.prototype.remove;W.prototype.transaction=function(a,b){L("Firebase.transaction",1,2,arguments.length);N("Firebase.transaction",1,a,o);N("Firebase.transaction",2,b,k);(".length"===this.name()||".keys"===this.name())&&f("Firebase.transaction failed: "+this.name()+" is a read-only object.");Bc(this.n,this.s,a,b)};W.prototype.transaction=W.prototype.transaction;
W.prototype.tb=function(a,b){L("Firebase.setPriority",1,2,arguments.length);Ua("Firebase.setPriority",1,a,o);N("Firebase.setPriority",2,b,k);a!==l&&Ma.test(a)&&(a=Number(a));this.n.tb(this.s,a,b)};W.prototype.setPriority=W.prototype.tb;W.prototype.push=function(a,b){L("Firebase.push",0,2,arguments.length);Sa("Firebase.push",a,k);N("Firebase.push",2,b,k);var c=this.k(Jc());"undefined"!==typeof a&&a!==l&&c.set(a,b);return c};W.prototype.push=W.prototype.push;
W.prototype.ic=function(){L("Firebase.removeOnDisconnect",0,0,arguments.length);this.n.cb(this.s,l)};W.prototype.removeOnDisconnect=W.prototype.ic;W.prototype.cb=function(a){L("Firebase.setOnDisconnect",1,1,arguments.length);Sa("Firebase.setOnDisconnect",a,o);this.n.cb(this.s,a)};W.prototype.setOnDisconnect=W.prototype.cb;W.enableLogging=function(a){a===k?"undefined"!==typeof console&&(Sb=A(console.log,console)):Sb=a?a:l};var $={};W.TEST_HOOKS=$;$.jc=function(){return Ic.zb().sb};$.repos=$.jc;
$.Qb=function(a){var b=K.prototype.hash;K.prototype.hash=a;return function(){K.prototype.hash=b}};$.hijackHash=$.Qb;$.N=function(a){return a.N()};$.queryIdentifier=$.N;$.Lb=V;$.RealTimeConnection=$.Lb;