rxjs-rails 2.3.20 → 2.3.22

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,5 +1,5 @@
1
1
  /* Copyright (c) Microsoft Open Technologies, Inc. All rights reserved. See License.txt in the project root for license information.*/
2
- (function(a){function b(){if(this.isDisposed)throw new Error(Hb)}function c(a,b){if(Ib&&b.stack&&"object"==typeof a&&null!==a&&a.stack&&-1===a.stack.indexOf(Mb)){for(var c=[],e=b;e;e=e.source)e.stack&&c.unshift(e.stack);c.unshift(a.stack);var f=c.join("\n"+Mb+"\n");a.stack=d(f)}}function d(a){for(var b=a.split("\n"),c=[],d=0,g=b.length;g>d;d++){var h=b[d];e(h)||f(h)||!h||c.push(h)}return c.join("\n")}function e(a){var b=h(a);if(!b)return!1;var c=b[0],d=b[1];return console.log(Kb,Lb,Ud),c===Kb&&d>=Lb&&Ud>=d}function f(a){return-1!==a.indexOf("(module.js:")||-1!==a.indexOf("(node.js:")}function g(){if(Ib)try{throw new Error}catch(a){var b=a.stack.split("\n"),c=b[0].indexOf("@")>0?b[1]:b[2],d=h(c);if(!d)return;return Kb=d[0],d[1]}}function h(a){var b=/at .+ \((.+):(\d+):(?:\d+)\)$/.exec(a);if(b)return[b[1],Number(b[2])];var c=/at ([^ ]+):(\d+):(?:\d+)$/.exec(a);if(c)return[c[1],Number(c[2])];var d=/.*@(.+):(\d+)$/.exec(a);return d?[d[1],Number(d[2])]:void 0}function i(a){var b=typeof a;return a&&("function"==b||"object"==b)||!1}function j(a){var b=[];if(!i(a))return b;kc.nonEnumArgs&&a.length&&lc(a)&&(a=nc.call(a));var c=kc.enumPrototypes&&"function"==typeof a,d=kc.enumErrorProps&&(a===ec||a instanceof Error);for(var e in a)c&&"prototype"==e||d&&("message"==e||"name"==e)||b.push(e);if(kc.nonEnumShadows&&a!==fc){var f=a.constructor,g=-1,h=ic.length;if(a===(f&&f.prototype))var j=a===gc?ac:a===ec?Xb:bc.call(a),k=jc[j];for(;++g<h;)e=ic[g],k&&k[e]||!cc.call(a,e)||b.push(e)}return b}function k(a,b,c){for(var d=-1,e=c(a),f=e.length;++d<f;){var g=e[d];if(b(a[g],g,a)===!1)break}return a}function l(a,b){return k(a,b,j)}function m(a){return"function"!=typeof a.toString&&"string"==typeof(a+"")}function n(a,b,c,d){if(a===b)return 0!==a||1/a==1/b;var e=typeof a,f=typeof b;if(a===a&&(null==a||null==b||"function"!=e&&"object"!=e&&"function"!=f&&"object"!=f))return!1;var g=bc.call(a),h=bc.call(b);if(g==Tb&&(g=$b),h==Tb&&(h=$b),g!=h)return!1;switch(g){case Vb:case Wb:return+a==+b;case Zb:return a!=+a?b!=+b:0==a?1/a==1/b:a==+b;case _b:case ac:return a==String(b)}var i=g==Ub;if(!i){if(g!=$b||!kc.nodeClass&&(m(a)||m(b)))return!1;var j=!kc.argsObject&&lc(a)?Object:a.constructor,k=!kc.argsObject&&lc(b)?Object:b.constructor;if(!(j==k||cc.call(a,"constructor")&&cc.call(b,"constructor")||Eb(j)&&j instanceof j&&Eb(k)&&k instanceof k||!("constructor"in a&&"constructor"in b)))return!1}c||(c=[]),d||(d=[]);for(var o=c.length;o--;)if(c[o]==a)return d[o]==b;var p=0,q=!0;if(c.push(a),d.push(b),i){if(o=a.length,p=b.length,q=p==o)for(;p--;){var r=b[p];if(!(q=n(a[p],r,c,d)))break}}else l(b,function(b,e,f){return cc.call(f,e)?(p++,q=cc.call(a,e)&&n(a[e],b,c,d)):void 0}),q&&l(a,function(a,b,c){return cc.call(c,b)?q=--p>-1:void 0});return c.pop(),d.pop(),q}function o(a,b){return 1===a.length&&Array.isArray(a[b])?a[b]:nc.call(a)}function p(a,b){for(var c=new Array(a),d=0;a>d;d++)c[d]=b();return c}function q(a,b){this.id=a,this.value=b}function r(a,b){this.scheduler=a,this.disposable=b,this.isDisposed=!1}function t(){this._s=s}function u(){this._s=s,this._l=s.length,this._i=0}function v(a){this._a=a}function w(a){this._a=a,this._l=A(a),this._i=0}function x(a){return"number"==typeof a&&pb.isFinite(a)}function y(b){var c,d=b[Nb];if(!d&&"string"==typeof b)return c=new t(b),c[Nb]();if(!d&&b.length!==a)return c=new v(b),c[Nb]();if(!d)throw new TypeError("Object is not iterable");return b[Nb]()}function z(a){var b=+a;return 0===b?b:isNaN(b)?b:0>b?-1:1}function A(a){var b=+a.length;return isNaN(b)?0:0!==b&&x(b)?(b=z(b)*Math.floor(Math.abs(b)),0>=b?0:b>gd?gd:b):b}function B(a,b){return wb(a)||(a=Hc),new Od(function(c){var d=0,e=b.length;return a.scheduleRecursive(function(a){e>d?(c.onNext(b[d++]),a()):c.onCompleted()})})}function C(a,b){return new Od(function(c){var d=new yc,e=new zc;return e.setDisposable(d),d.setDisposable(a.subscribe(c.onNext.bind(c),function(a){var d,f;try{f=b(a)}catch(g){return void c.onError(g)}Cb(f)&&(f=dd(f)),d=new yc,e.setDisposable(d),d.setDisposable(f.subscribe(c))},c.onCompleted.bind(c))),e},a)}function D(a,b){var c=this;return new Od(function(d){var e=0,f=a.length;return c.subscribe(function(c){if(f>e){var g,h=a[e++];try{g=b(c,h)}catch(i){return void d.onError(i)}d.onNext(g)}else d.onCompleted()},d.onError.bind(d),d.onCompleted.bind(d))},c)}function E(a,b,c){return a.map(function(d,e){var f=b.call(c,d,e,a);return Cb(f)&&(f=dd(f)),(Qb(f)||Pb(f))&&(f=hd(f)),f}).concatAll()}function F(a,b,c){for(var d=0,e=a.length;e>d;d++)if(c(a[d],b))return d;return-1}function G(a){this.comparer=a,this.set=[]}function H(a,b,c){return a.map(function(d,e){var f=b.call(c,d,e,a);return Cb(f)&&(f=dd(f)),(Qb(f)||Pb(f))&&(f=hd(f)),f}).mergeAll()}function I(a,b,c){return new Od(function(d){var e=!1,f=null,g=[];return a.subscribe(function(a){var h,i;try{i=b(a)}catch(j){return void d.onError(j)}if(h=0,e)try{h=c(i,f)}catch(k){return void d.onError(k)}else e=!0,f=i;h>0&&(f=i,g=[]),h>=0&&g.push(a)},d.onError.bind(d),function(){d.onNext(g),d.onCompleted()})},a)}function J(a){if(0===a.length)throw new Error(Fb);return a[0]}function K(a,b,c,d){if(0>b)throw new Error(Gb);return new Od(function(e){var f=b;return a.subscribe(function(a){0===f--&&(e.onNext(a),e.onCompleted())},e.onError.bind(e),function(){c?(e.onNext(d),e.onCompleted()):e.onError(new Error(Gb))})},a)}function L(a,b,c){return new Od(function(d){var e=c,f=!1;return a.subscribe(function(a){f?d.onError(new Error("Sequence contains more than one element")):(e=a,f=!0)},d.onError.bind(d),function(){f||b?(d.onNext(e),d.onCompleted()):d.onError(new Error(Fb))})},a)}function M(a,b,c){return new Od(function(d){return a.subscribe(function(a){d.onNext(a),d.onCompleted()},d.onError.bind(d),function(){b?(d.onNext(c),d.onCompleted()):d.onError(new Error(Fb))})},a)}function N(a,b,c){return new Od(function(d){var e=c,f=!1;return a.subscribe(function(a){e=a,f=!0},d.onError.bind(d),function(){f||b?(d.onNext(e),d.onCompleted()):d.onError(new Error(Fb))})},a)}function O(b,c,d,e){return new Od(function(f){var g=0;return b.subscribe(function(a){var h;try{h=c.call(d,a,g,b)}catch(i){return void f.onError(i)}h?(f.onNext(e?g:a),f.onCompleted()):g++},f.onError.bind(f),function(){f.onNext(e?-1:a),f.onCompleted()})},b)}function P(a,b){return Array.isArray(a)?Q.call(b,a):U(a)?td(a.call(b)):V(a)?td(a):T(a)?R(a):Cb(a)?S(a):typeof a===rd?a:i(a)||Array.isArray(a)?Q.call(b,a):a}function Q(a){var b=this;return function(c){function d(a,d){if(!e)try{if(a=P(a,b),typeof a!==rd)return h[d]=a,--g||c(null,h);a.call(b,function(a,b){if(!e){if(a)return e=!0,c(a);h[d]=b,--g||c(null,h)}})}catch(f){e=!0,c(f)}}var e,f=Object.keys(a),g=f.length,h=new a.constructor;if(!g)return void Mc.schedule(function(){c(null,h)});for(var i=0,j=f.length;j>i;i++)d(a[f[i]],f[i])}}function R(a){return function(b){var c,d=!1;a.subscribe(function(a){c=a,d=!0},b,function(){d&&b(null,c)})}}function S(a){return function(b){a.then(function(a){b(null,a)},b)}}function T(a){return a&&typeof a.subscribe===rd}function U(a){return a&&a.constructor&&"GeneratorFunction"===a.constructor.name}function V(a){return a&&typeof a.next===rd&&typeof a[sd]===rd}function i(a){return a&&a.constructor===Object}function W(a){a&&Mc.schedule(function(){throw a})}function X(a,b,c){if(a.addEventListener)return a.addEventListener(b,c,!1),wc(function(){a.removeEventListener(b,c,!1)});throw new Error("No listener found")}function Y(a,b,c){var d=new tc;if("[object NodeList]"===Object.prototype.toString.call(a))for(var e=0,f=a.length;f>e;e++)d.add(Y(a.item(e),b,c));else a&&d.add(X(a,b,c));return d}function Z(a,b,c){return new Od(function(d){function e(a,b){j[b]=a;var e;if(g[b]=!0,h||(h=g.every(xb))){if(f)return void d.onError(f);try{e=c.apply(null,j)}catch(k){return void d.onError(k)}d.onNext(e)}i&&j[1]&&d.onCompleted()}var f,g=[!1,!1],h=!1,i=!1,j=new Array(2);return new tc(a.subscribe(function(a){e(a,0)},function(a){j[1]?d.onError(a):f=a},function(){i=!0,j[1]&&d.onCompleted()}),b.subscribe(function(a){e(a,1)},d.onError.bind(d),function(){i=!0,e(!0,1)}))})}function $(a,b){return a.groupJoin(this,b,fd,function(a,b){return b})}function _(a){var b=this;return new Od(function(c){var d=new Rd,e=new tc,f=new Ac(e);return c.onNext(qc(d,f)),e.add(b.subscribe(function(a){d.onNext(a)},function(a){d.onError(a),c.onError(a)},function(){d.onCompleted(),c.onCompleted()})),Cb(a)&&(a=dd(a)),e.add(a.subscribe(function(){d.onCompleted(),d=new Rd,c.onNext(qc(d,f))},function(a){d.onError(a),c.onError(a)},function(){d.onCompleted(),c.onCompleted()})),f},b)}function ab(a){var b=this;return new Od(function(c){function d(){var b;try{b=a()}catch(f){return void c.onError(f)}Cb(b)&&(b=dd(b));var i=new yc;e.setDisposable(i),i.setDisposable(b.take(1).subscribe(vb,function(a){h.onError(a),c.onError(a)},function(){h.onCompleted(),h=new Rd,c.onNext(qc(h,g)),d()}))}var e=new zc,f=new tc(e),g=new Ac(f),h=new Rd;return c.onNext(qc(h,g)),f.add(b.subscribe(function(a){h.onNext(a)},function(a){h.onError(a),c.onError(a)},function(){h.onCompleted(),c.onCompleted()})),d(),g},b)}function bb(b,c){return new Tc(function(){return new Sc(function(){return b()?{done:!1,value:c}:{done:!0,value:a}})})}function db(a){this.patterns=a}function eb(a,b){this.expression=a,this.selector=b}function fb(a,b,c){var d=a.get(b);if(!d){var e=new Ld(b,c);return a.set(b,e),e}return d}function gb(a,b,c){this.joinObserverArray=a,this.onNext=b,this.onCompleted=c,this.joinObservers=new Kd;for(var d=0,e=this.joinObserverArray.length;e>d;d++){var f=this.joinObserverArray[d];this.joinObservers.set(f,f)}}function hb(a,b){return new Od(function(c){return b.scheduleWithAbsolute(a,function(){c.onNext(0),c.onCompleted()})})}function ib(a,b,c){return new Od(function(d){var e=0,f=a,g=Dc(b);return c.scheduleRecursiveWithAbsolute(f,function(a){if(g>0){var b=c.now();f+=g,b>=f&&(f=b+g)}d.onNext(e++),a(f)})})}function jb(a,b){return new Od(function(c){return b.scheduleWithRelative(Dc(a),function(){c.onNext(0),c.onCompleted()})})}function kb(a,b,c){return a===b?new Od(function(a){return c.schedulePeriodicWithState(0,b,function(b){return a.onNext(b),b+1})}):ed(function(){return ib(c.now()+a,b,c)})}function lb(a,b,c){return new Od(function(d){var e,f=!1,g=new zc,h=null,i=[],j=!1;return e=a.materialize().timestamp(c).subscribe(function(a){var e,k;"E"===a.value.kind?(i=[],i.push(a),h=a.value.exception,k=!j):(i.push({value:a.value,timestamp:a.timestamp+b}),k=!f,f=!0),k&&(null!==h?d.onError(h):(e=new yc,g.setDisposable(e),e.setDisposable(c.scheduleRecursiveWithRelative(b,function(a){var b,e,g,k;if(null===h){j=!0;do g=null,i.length>0&&i[0].timestamp-c.now()<=0&&(g=i.shift().value),null!==g&&g.accept(d);while(null!==g);k=!1,e=0,i.length>0?(k=!0,e=Math.max(0,i[0].timestamp-c.now())):f=!1,b=h,j=!1,null!==b?d.onError(b):k&&a(e)}}))))}),new tc(e,g)},a)}function mb(a,b,c){return ed(function(){return lb(a,b-c.now(),c)})}function nb(a,b){return new Od(function(c){function d(){g&&(g=!1,c.onNext(f)),e&&c.onCompleted()}var e,f,g;return new tc(a.subscribe(function(a){g=!0,f=a},c.onError.bind(c),function(){e=!0}),b.subscribe(d,c.onError.bind(c),d))},a)}var ob={"boolean":!1,"function":!0,object:!0,number:!1,string:!1,undefined:!1},pb=ob[typeof window]&&window||this,qb=ob[typeof exports]&&exports&&!exports.nodeType&&exports,rb=ob[typeof module]&&module&&!module.nodeType&&module,sb=rb&&rb.exports===qb&&qb,tb=ob[typeof global]&&global;!tb||tb.global!==tb&&tb.window!==tb||(pb=tb);var ub={internals:{},config:{Promise:pb.Promise},helpers:{}},vb=ub.helpers.noop=function(){},wb=(ub.helpers.notDefined=function(a){return"undefined"==typeof a},ub.helpers.isScheduler=function(a){return a instanceof ub.Scheduler}),xb=ub.helpers.identity=function(a){return a},yb=(ub.helpers.pluck=function(a){return function(b){return b[a]}},ub.helpers.just=function(a){return function(){return a}},ub.helpers.defaultNow=Date.now),zb=ub.helpers.defaultComparer=function(a,b){return mc(a,b)},Ab=ub.helpers.defaultSubComparer=function(a,b){return a>b?1:b>a?-1:0},Bb=(ub.helpers.defaultKeySerializer=function(a){return a.toString()},ub.helpers.defaultError=function(a){throw a}),Cb=ub.helpers.isPromise=function(a){return!!a&&"function"==typeof a.then},Db=(ub.helpers.asArray=function(){return Array.prototype.slice.call(arguments)},ub.helpers.not=function(a){return!a}),Eb=ub.helpers.isFunction=function(){var a=function(a){return"function"==typeof a||!1};return a(/x/)&&(a=function(a){return"function"==typeof a&&"[object Function]"==bc.call(a)}),a}(),Fb="Sequence contains no elements.",Gb="Argument out of range",Hb="Object has been disposed";ub.config.longStackSupport=!1;var Ib=!1;try{throw new Error}catch(Jb){Ib=!!Jb.stack}var Kb,Lb=g(),Mb="From previous event:",Nb="function"==typeof Symbol&&Symbol.iterator||"_es6shim_iterator_";pb.Set&&"function"==typeof(new pb.Set)["@@iterator"]&&(Nb="@@iterator");var Ob=ub.doneEnumerator={done:!0,value:a},Pb=ub.helpers.isIterable=function(b){return b[Nb]!==a},Qb=ub.helpers.isArrayLike=function(b){return b&&b.length!==a};ub.helpers.iterator=Nb;var Rb,Sb=ub.helpers.deprecate=function(){},Tb="[object Arguments]",Ub="[object Array]",Vb="[object Boolean]",Wb="[object Date]",Xb="[object Error]",Yb="[object Function]",Zb="[object Number]",$b="[object Object]",_b="[object RegExp]",ac="[object String]",bc=Object.prototype.toString,cc=Object.prototype.hasOwnProperty,dc=bc.call(arguments)==Tb,ec=Error.prototype,fc=Object.prototype,gc=String.prototype,hc=fc.propertyIsEnumerable;try{Rb=!(bc.call(document)==$b&&!({toString:0}+""))}catch(Jb){Rb=!0}var ic=["constructor","hasOwnProperty","isPrototypeOf","propertyIsEnumerable","toLocaleString","toString","valueOf"],jc={};jc[Ub]=jc[Wb]=jc[Zb]={constructor:!0,toLocaleString:!0,toString:!0,valueOf:!0},jc[Vb]=jc[ac]={constructor:!0,toString:!0,valueOf:!0},jc[Xb]=jc[Yb]=jc[_b]={constructor:!0,toString:!0},jc[$b]={constructor:!0};var kc={};!function(){var a=function(){this.x=1},b=[];a.prototype={valueOf:1,y:1};for(var c in new a)b.push(c);for(c in arguments);kc.enumErrorProps=hc.call(ec,"message")||hc.call(ec,"name"),kc.enumPrototypes=hc.call(a,"prototype"),kc.nonEnumArgs=0!=c,kc.nonEnumShadows=!/valueOf/.test(b)}(1);var lc=function(a){return a&&"object"==typeof a?bc.call(a)==Tb:!1};dc||(lc=function(a){return a&&"object"==typeof a?cc.call(a,"callee"):!1});var mc=ub.internals.isEqual=function(a,b){return n(a,b,[],[])},nc=Array.prototype.slice,oc=({}.hasOwnProperty,this.inherits=ub.internals.inherits=function(a,b){function c(){this.constructor=a}c.prototype=b.prototype,a.prototype=new c}),pc=ub.internals.addProperties=function(a){for(var b=nc.call(arguments,1),c=0,d=b.length;d>c;c++){var e=b[c];for(var f in e)a[f]=e[f]}},qc=ub.internals.addRef=function(a,b){return new Od(function(c){return new tc(b.getDisposable(),a.subscribe(c))})};q.prototype.compareTo=function(a){var b=this.value.compareTo(a.value);return 0===b&&(b=this.id-a.id),b};var rc=ub.internals.PriorityQueue=function(a){this.items=new Array(a),this.length=0},sc=rc.prototype;sc.isHigherPriority=function(a,b){return this.items[a].compareTo(this.items[b])<0},sc.percolate=function(a){if(!(a>=this.length||0>a)){var b=a-1>>1;if(!(0>b||b===a)&&this.isHigherPriority(a,b)){var c=this.items[a];this.items[a]=this.items[b],this.items[b]=c,this.percolate(b)}}},sc.heapify=function(a){if(+a||(a=0),!(a>=this.length||0>a)){var b=2*a+1,c=2*a+2,d=a;if(b<this.length&&this.isHigherPriority(b,d)&&(d=b),c<this.length&&this.isHigherPriority(c,d)&&(d=c),d!==a){var e=this.items[a];this.items[a]=this.items[d],this.items[d]=e,this.heapify(d)}}},sc.peek=function(){return this.items[0].value},sc.removeAt=function(a){this.items[a]=this.items[--this.length],delete this.items[this.length],this.heapify()},sc.dequeue=function(){var a=this.peek();return this.removeAt(0),a},sc.enqueue=function(a){var b=this.length++;this.items[b]=new q(rc.count++,a),this.percolate(b)},sc.remove=function(a){for(var b=0;b<this.length;b++)if(this.items[b].value===a)return this.removeAt(b),!0;return!1},rc.count=0;var tc=ub.CompositeDisposable=function(){this.disposables=o(arguments,0),this.isDisposed=!1,this.length=this.disposables.length},uc=tc.prototype;uc.add=function(a){this.isDisposed?a.dispose():(this.disposables.push(a),this.length++)},uc.remove=function(a){var b=!1;if(!this.isDisposed){var c=this.disposables.indexOf(a);-1!==c&&(b=!0,this.disposables.splice(c,1),this.length--,a.dispose())}return b},uc.dispose=function(){if(!this.isDisposed){this.isDisposed=!0;var a=this.disposables.slice(0);this.disposables=[],this.length=0;for(var b=0,c=a.length;c>b;b++)a[b].dispose()}},uc.toArray=function(){return this.disposables.slice(0)};var vc=ub.Disposable=function(a){this.isDisposed=!1,this.action=a||vb};vc.prototype.dispose=function(){this.isDisposed||(this.action(),this.isDisposed=!0)};var wc=vc.create=function(a){return new vc(a)},xc=vc.empty={dispose:vb},yc=ub.SingleAssignmentDisposable=function(){function a(){this.isDisposed=!1,this.current=null}var b=a.prototype;return b.getDisposable=function(){return this.current},b.setDisposable=function(a){var b,c=this.isDisposed;c||(b=this.current,this.current=a),b&&b.dispose(),c&&a&&a.dispose()},b.dispose=function(){var a;this.isDisposed||(this.isDisposed=!0,a=this.current,this.current=null),a&&a.dispose()},a}(),zc=ub.SerialDisposable=yc,Ac=ub.RefCountDisposable=function(){function a(a){this.disposable=a,this.disposable.count++,this.isInnerDisposed=!1}function b(a){this.underlyingDisposable=a,this.isDisposed=!1,this.isPrimaryDisposed=!1,this.count=0}return a.prototype.dispose=function(){this.disposable.isDisposed||this.isInnerDisposed||(this.isInnerDisposed=!0,this.disposable.count--,0===this.disposable.count&&this.disposable.isPrimaryDisposed&&(this.disposable.isDisposed=!0,this.disposable.underlyingDisposable.dispose()))},b.prototype.dispose=function(){this.isDisposed||this.isPrimaryDisposed||(this.isPrimaryDisposed=!0,0===this.count&&(this.isDisposed=!0,this.underlyingDisposable.dispose()))},b.prototype.getDisposable=function(){return this.isDisposed?xc:new a(this)},b}();r.prototype.dispose=function(){var a=this;this.scheduler.schedule(function(){a.isDisposed||(a.isDisposed=!0,a.disposable.dispose())})};var Bc=ub.internals.ScheduledItem=function(a,b,c,d,e){this.scheduler=a,this.state=b,this.action=c,this.dueTime=d,this.comparer=e||Ab,this.disposable=new yc};Bc.prototype.invoke=function(){this.disposable.setDisposable(this.invokeCore())},Bc.prototype.compareTo=function(a){return this.comparer(this.dueTime,a.dueTime)},Bc.prototype.isCancelled=function(){return this.disposable.isDisposed},Bc.prototype.invokeCore=function(){return this.action(this.scheduler,this.state)};var Cc=ub.Scheduler=function(){function a(a,b,c,d){this.now=a,this._schedule=b,this._scheduleRelative=c,this._scheduleAbsolute=d}function b(a,b){return b(),xc}var c=a.prototype;return c.schedule=function(a){return this._schedule(a,b)},c.scheduleWithState=function(a,b){return this._schedule(a,b)},c.scheduleWithRelative=function(a,c){return this._scheduleRelative(c,a,b)},c.scheduleWithRelativeAndState=function(a,b,c){return this._scheduleRelative(a,b,c)},c.scheduleWithAbsolute=function(a,c){return this._scheduleAbsolute(c,a,b)},c.scheduleWithAbsoluteAndState=function(a,b,c){return this._scheduleAbsolute(a,b,c)},a.now=yb,a.normalize=function(a){return 0>a&&(a=0),a},a}(),Dc=Cc.normalize;!function(a){function b(a,b){var c=b.first,d=b.second,e=new tc,f=function(b){d(b,function(b){var c=!1,d=!1,g=a.scheduleWithState(b,function(a,b){return c?e.remove(g):d=!0,f(b),xc});d||(e.add(g),c=!0)})};return f(c),e}function c(a,b,c){var d=b.first,e=b.second,f=new tc,g=function(b){e(b,function(b,d){var e=!1,h=!1,i=a[c].call(a,b,d,function(a,b){return e?f.remove(i):h=!0,g(b),xc});h||(f.add(i),e=!0)})};return g(d),f}function d(a,b){a(function(c){b(a,c)})}a.scheduleRecursive=function(a){return this.scheduleRecursiveWithState(a,function(a,b){a(function(){b(a)})})},a.scheduleRecursiveWithState=function(a,c){return this.scheduleWithState({first:a,second:c},b)},a.scheduleRecursiveWithRelative=function(a,b){return this.scheduleRecursiveWithRelativeAndState(b,a,d)},a.scheduleRecursiveWithRelativeAndState=function(a,b,d){return this._scheduleRelative({first:a,second:d},b,function(a,b){return c(a,b,"scheduleWithRelativeAndState")})},a.scheduleRecursiveWithAbsolute=function(a,b){return this.scheduleRecursiveWithAbsoluteAndState(b,a,d)},a.scheduleRecursiveWithAbsoluteAndState=function(a,b,d){return this._scheduleAbsolute({first:a,second:d},b,function(a,b){return c(a,b,"scheduleWithAbsoluteAndState")})}}(Cc.prototype),function(){Cc.prototype.schedulePeriodic=function(a,b){return this.schedulePeriodicWithState(null,a,b)},Cc.prototype.schedulePeriodicWithState=function(a,b,c){if("undefined"==typeof pb.setInterval)throw new Error("Periodic scheduling not supported.");var d=a,e=pb.setInterval(function(){d=c(d)},b);return wc(function(){pb.clearInterval(e)})}}(Cc.prototype),function(a){a.catchError=a["catch"]=function(a){return new Nc(this,a)}}(Cc.prototype);var Ec,Fc=ub.internals.SchedulePeriodicRecursive=function(){function a(a,b){b(0,this._period);try{this._state=this._action(this._state)}catch(c){throw this._cancel.dispose(),c}}function b(a,b,c,d){this._scheduler=a,this._state=b,this._period=c,this._action=d}return b.prototype.start=function(){var b=new yc;return this._cancel=b,b.setDisposable(this._scheduler.scheduleRecursiveWithRelativeAndState(0,this._period,a.bind(this))),b},b}(),Gc=Cc.immediate=function(){function a(a,b){return b(this,a)}function b(a,b,c){for(var d=Dc(b);d-this.now()>0;);return c(this,a)}function c(a,b,c){return this.scheduleWithRelativeAndState(a,b-this.now(),c)}return new Cc(yb,a,b,c)}(),Hc=Cc.currentThread=function(){function a(a){for(var b;a.length>0;)if(b=a.dequeue(),!b.isCancelled()){for(;b.dueTime-Cc.now()>0;);b.isCancelled()||b.invoke()}}function b(a,b){return this.scheduleWithRelativeAndState(a,0,b)}function c(b,c,d){var f=this.now()+Cc.normalize(c),g=new Bc(this,b,d,f);if(e)e.enqueue(g);else{e=new rc(4),e.enqueue(g);try{a(e)}catch(h){throw h}finally{e=null}}return g.disposable}function d(a,b,c){return this.scheduleWithRelativeAndState(a,b-this.now(),c)}var e,f=new Cc(yb,b,c,d);return f.scheduleRequired=function(){return!e},f.ensureTrampoline=function(a){e?a():this.schedule(a)},f}(),Ic=vb,Jc=function(){var a,b=vb;if("WScript"in this)a=function(a,b){WScript.Sleep(b),a()};else{if(!pb.setTimeout)throw new Error("No concurrency detected!");a=pb.setTimeout,b=pb.clearTimeout}return{setTimeout:a,clearTimeout:b}}(),Kc=Jc.setTimeout,Lc=Jc.clearTimeout;!function(){function a(){if(!pb.postMessage||pb.importScripts)return!1;var a=!1,b=pb.onmessage;return pb.onmessage=function(){a=!0},pb.postMessage("","*"),pb.onmessage=b,a}var b=RegExp("^"+String(bc).replace(/[.*+?^${}()|[\]\\]/g,"\\$&").replace(/toString| for [^\]]+/g,".*?")+"$"),c="function"==typeof(c=tb&&sb&&tb.setImmediate)&&!b.test(c)&&c,d="function"==typeof(d=tb&&sb&&tb.clearImmediate)&&!b.test(d)&&d;if("function"==typeof c)Ec=c,Ic=d;else if("undefined"!=typeof process&&"[object process]"==={}.toString.call(process))Ec=process.nextTick;else if(a()){var e="ms.rx.schedule"+Math.random(),f={},g=0,h=function(a){if("string"==typeof a.data&&a.data.substring(0,e.length)===e){var b=a.data.substring(e.length),c=f[b];c(),delete f[b]}};pb.addEventListener?pb.addEventListener("message",h,!1):pb.attachEvent("onmessage",h,!1),Ec=function(a){var b=g++;f[b]=a,pb.postMessage(e+b,"*")}}else if(pb.MessageChannel){var i=new pb.MessageChannel,j={},k=0;i.port1.onmessage=function(a){var b=a.data,c=j[b];c(),delete j[b]},Ec=function(a){var b=k++;j[b]=a,i.port2.postMessage(b)}}else"document"in pb&&"onreadystatechange"in pb.document.createElement("script")?Ec=function(a){var b=pb.document.createElement("script");b.onreadystatechange=function(){a(),b.onreadystatechange=null,b.parentNode.removeChild(b),b=null},pb.document.documentElement.appendChild(b)}:(Ec=function(a){return Kc(a,0)},Ic=Lc)}();var Mc=Cc.timeout=function(){function a(a,b){var c=this,d=new yc,e=Ec(function(){d.isDisposed||d.setDisposable(b(c,a))});return new tc(d,wc(function(){Ic(e)}))}function b(a,b,c){var d=this,e=Cc.normalize(b);if(0===e)return d.scheduleWithState(a,c);var f=new yc,g=Kc(function(){f.isDisposed||f.setDisposable(c(d,a))},e);return new tc(f,wc(function(){Lc(g)}))}function c(a,b,c){return this.scheduleWithRelativeAndState(a,b-this.now(),c)}return new Cc(yb,a,b,c)}(),Nc=function(a){function b(a,b){return this._scheduler.scheduleWithState(a,this._wrap(b))}function c(a,b,c){return this._scheduler.scheduleWithRelativeAndState(a,b,this._wrap(c))}function d(a,b,c){return this._scheduler.scheduleWithAbsoluteAndState(a,b,this._wrap(c))}function e(e,f){this._scheduler=e,this._handler=f,this._recursiveOriginal=null,this._recursiveWrapper=null,a.call(this,this._scheduler.now.bind(this._scheduler),b,c,d)}return oc(e,a),e.prototype._clone=function(a){return new e(a,this._handler)},e.prototype._wrap=function(a){var b=this;return function(c,d){try{return a(b._getRecursiveWrapper(c),d)}catch(e){if(!b._handler(e))throw e;return xc}}},e.prototype._getRecursiveWrapper=function(a){if(this._recursiveOriginal!==a){this._recursiveOriginal=a;var b=this._clone(a);b._recursiveOriginal=a,b._recursiveWrapper=b,this._recursiveWrapper=b}return this._recursiveWrapper},e.prototype.schedulePeriodicWithState=function(a,b,c){var d=this,e=!1,f=new yc;return f.setDisposable(this._scheduler.schedulePeriodicWithState(a,b,function(a){if(e)return null;try{return c(a)}catch(b){if(e=!0,!d._handler(b))throw b;return f.dispose(),null}})),f},e}(Cc),Oc=ub.Notification=function(){function a(a,b){this.hasValue=null==b?!1:b,this.kind=a}return a.prototype.accept=function(a,b,c){return a&&"object"==typeof a?this._acceptObservable(a):this._accept(a,b,c)},a.prototype.toObservable=function(a){var b=this;return wb(a)||(a=Gc),new Od(function(c){return a.schedule(function(){b._acceptObservable(c),"N"===b.kind&&c.onCompleted()})})},a}(),Pc=Oc.createOnNext=function(){function a(a){return a(this.value)}function b(a){return a.onNext(this.value)}function c(){return"OnNext("+this.value+")"}return function(d){var e=new Oc("N",!0);return e.value=d,e._accept=a,e._acceptObservable=b,e.toString=c,e}}(),Qc=Oc.createOnError=function(){function a(a,b){return b(this.exception)}function b(a){return a.onError(this.exception)}function c(){return"OnError("+this.exception+")"}return function(d){var e=new Oc("E");return e.exception=d,e._accept=a,e._acceptObservable=b,e.toString=c,e}}(),Rc=Oc.createOnCompleted=function(){function a(a,b,c){return c()}function b(a){return a.onCompleted()}function c(){return"OnCompleted()"}return function(){var d=new Oc("C");return d._accept=a,d._acceptObservable=b,d.toString=c,d}}(),Sc=ub.internals.Enumerator=function(a){this._next=a};Sc.prototype.next=function(){return this._next()},Sc.prototype[Nb]=function(){return this};var Tc=ub.internals.Enumerable=function(a){this._iterator=a};Tc.prototype[Nb]=function(){return this._iterator()},Tc.prototype.concat=function(){var a=this;return new Od(function(b){var c;try{c=a[Nb]()}catch(d){return void b.onError(d)}var e,f=new zc,g=Gc.scheduleRecursive(function(a){var d;if(!e){try{d=c.next()}catch(g){return void b.onError(g)}if(d.done)return void b.onCompleted();var h=d.value;Cb(h)&&(h=dd(h));var i=new yc;f.setDisposable(i),i.setDisposable(h.subscribe(b.onNext.bind(b),b.onError.bind(b),function(){a()}))}});return new tc(f,g,wc(function(){e=!0}))})},Tc.prototype.catchError=function(){var a=this;return new Od(function(b){var c;try{c=a[Nb]()}catch(d){return void b.onError(d)}var e,f,g=new zc,h=Gc.scheduleRecursive(function(a){if(!e){var d;try{d=c.next()}catch(h){return void b.onError(h)}if(d.done)return void(f?b.onError(f):b.onCompleted());var i=d.value;Cb(i)&&(i=dd(i));var j=new yc;g.setDisposable(j),j.setDisposable(i.subscribe(b.onNext.bind(b),function(b){f=b,a()},b.onCompleted.bind(b)))}});return new tc(g,h,wc(function(){e=!0}))})};var Uc=Tc.repeat=function(a,b){return null==b&&(b=-1),new Tc(function(){var c=b;return new Sc(function(){return 0===c?Ob:(c>0&&c--,{done:!1,value:a})})})},Vc=Tc.of=function(a,b,c){return b||(b=xb),new Tc(function(){var d=-1;return new Sc(function(){return++d<a.length?{done:!1,value:b.call(c,a[d],d,a)}:Ob})})},Wc=ub.Observer=function(){};Wc.prototype.toNotifier=function(){var a=this;return function(b){return b.accept(a)}},Wc.prototype.asObserver=function(){return new $c(this.onNext.bind(this),this.onError.bind(this),this.onCompleted.bind(this))},Wc.prototype.checked=function(){return new _c(this)};var Xc=Wc.create=function(a,b,c){return a||(a=vb),b||(b=Bb),c||(c=vb),new $c(a,b,c)};Wc.fromNotifier=function(a,b){return new $c(function(c){return a.call(b,Pc(c))},function(c){return a.call(b,Qc(c))},function(){return a.call(b,Rc())})},Wc.prototype.notifyOn=function(a){return new bd(a,this)};var Yc,Zc=ub.internals.AbstractObserver=function(a){function b(){this.isStopped=!1,a.call(this)}return oc(b,a),b.prototype.onNext=function(a){this.isStopped||this.next(a)},b.prototype.onError=function(a){this.isStopped||(this.isStopped=!0,this.error(a))},b.prototype.onCompleted=function(){this.isStopped||(this.isStopped=!0,this.completed())},b.prototype.dispose=function(){this.isStopped=!0},b.prototype.fail=function(a){return this.isStopped?!1:(this.isStopped=!0,this.error(a),!0)},b}(Wc),$c=ub.AnonymousObserver=function(a){function b(b,c,d){a.call(this),this._onNext=b,this._onError=c,this._onCompleted=d}return oc(b,a),b.prototype.next=function(a){this._onNext(a)},b.prototype.error=function(a){this._onError(a)},b.prototype.completed=function(){this._onCompleted()},b}(Zc),_c=function(a){function b(b){a.call(this),this._observer=b,this._state=0}oc(b,a);var c=b.prototype;return c.onNext=function(a){this.checkAccess();try{this._observer.onNext(a)}catch(b){throw b}finally{this._state=0}},c.onError=function(a){this.checkAccess();try{this._observer.onError(a)}catch(b){throw b}finally{this._state=2}},c.onCompleted=function(){this.checkAccess();try{this._observer.onCompleted()}catch(a){throw a}finally{this._state=2}},c.checkAccess=function(){if(1===this._state)throw new Error("Re-entrancy detected");if(2===this._state)throw new Error("Observer completed");0===this._state&&(this._state=1)},b}(Wc),ad=ub.internals.ScheduledObserver=function(a){function b(b,c){a.call(this),this.scheduler=b,this.observer=c,this.isAcquired=!1,this.hasFaulted=!1,this.queue=[],this.disposable=new zc}return oc(b,a),b.prototype.next=function(a){var b=this;this.queue.push(function(){b.observer.onNext(a)})},b.prototype.error=function(a){var b=this;this.queue.push(function(){b.observer.onError(a)})},b.prototype.completed=function(){var a=this;this.queue.push(function(){a.observer.onCompleted()})},b.prototype.ensureActive=function(){var a=!1,b=this;!this.hasFaulted&&this.queue.length>0&&(a=!this.isAcquired,this.isAcquired=!0),a&&this.disposable.setDisposable(this.scheduler.scheduleRecursive(function(a){var c;if(!(b.queue.length>0))return void(b.isAcquired=!1);c=b.queue.shift();try{c()}catch(d){throw b.queue=[],b.hasFaulted=!0,d}a()}))},b.prototype.dispose=function(){a.prototype.dispose.call(this),this.disposable.dispose()},b}(Zc),bd=function(a){function b(b,c,d){a.call(this,b,c),this._cancel=d}return oc(b,a),b.prototype.next=function(b){a.prototype.next.call(this,b),this.ensureActive()},b.prototype.error=function(b){a.prototype.error.call(this,b),this.ensureActive()},b.prototype.completed=function(){a.prototype.completed.call(this),this.ensureActive()},b.prototype.dispose=function(){a.prototype.dispose.call(this),this._cancel&&this._cancel.dispose(),this._cancel=null},b}(ad),cd=ub.Observable=function(){function a(a){if(ub.config.longStackSupport&&Ib){try{throw new Error}catch(b){this.stack=b.stack.substring(b.stack.indexOf("\n")+1)}var d=this;this._subscribe=function(b){b.onError=function(a){c(d,a),b.onError(a)},a(b)}}this._subscribe=a}return Yc=a.prototype,Yc.subscribe=Yc.forEach=function(a,b,c){return this._subscribe("object"==typeof a?a:Xc(a,b,c))},Yc.subscribeOnNext=function(a,b){return this._subscribe(Xc(2===arguments.length?function(c){a.call(b,c)
3
- }:a))},Yc.subscribeOnError=function(a,b){return this._subscribe(Xc(null,2===arguments.length?function(c){a.call(b,c)}:a))},Yc.subscribeOnCompleted=function(a,b){return this._subscribe(Xc(null,null,2===arguments.length?function(){a.call(b)}:a))},a}();Yc.observeOn=function(a){var b=this;return new Od(function(c){return b.subscribe(new bd(a,c))},b)},Yc.subscribeOn=function(a){var b=this;return new Od(function(c){var d=new yc,e=new zc;return e.setDisposable(d),d.setDisposable(a.schedule(function(){e.setDisposable(new r(a,b.subscribe(c)))})),e},b)};var dd=cd.fromPromise=function(a){return ed(function(){var b=new ub.AsyncSubject;return a.then(function(a){b.onNext(a),b.onCompleted()},b.onError.bind(b)),b})};Yc.toPromise=function(a){if(a||(a=ub.config.Promise),!a)throw new TypeError("Promise type not provided nor in Rx.config.Promise");var b=this;return new a(function(a,c){var d,e=!1;b.subscribe(function(a){d=a,e=!0},c,function(){e&&a(d)})})},Yc.toArray=function(){var a=this;return new Od(function(b){var c=[];return a.subscribe(c.push.bind(c),b.onError.bind(b),function(){b.onNext(c),b.onCompleted()})},a)},cd.create=cd.createWithDisposable=function(a,b){return new Od(a,b)};var ed=cd.defer=function(a){return new Od(function(b){var c;try{c=a()}catch(d){return ld(d).subscribe(b)}return Cb(c)&&(c=dd(c)),c.subscribe(b)})},fd=cd.empty=function(a){return wb(a)||(a=Gc),new Od(function(b){return a.schedule(function(){b.onCompleted()})})},gd=Math.pow(2,53)-1;t.prototype[Nb]=function(){return new u(this._s)},u.prototype[Nb]=function(){return this},u.prototype.next=function(){if(this._i<this._l){var a=this._s.charAt(this._i++);return{done:!1,value:a}}return Ob},v.prototype[Nb]=function(){return new w(this._a)},w.prototype[Nb]=function(){return this},w.prototype.next=function(){if(this._i<this._l){var a=this._a[this._i++];return{done:!1,value:a}}return Ob};var hd=cd.from=function(a,b,c,d){if(null==a)throw new Error("iterable cannot be null.");if(b&&!Eb(b))throw new Error("mapFn when provided must be a function");wb(d)||(d=Hc);var e=Object(a),f=y(e);return new Od(function(a){var e=0;return d.scheduleRecursive(function(d){var g;try{g=f.next()}catch(h){return void a.onError(h)}if(g.done)return void a.onCompleted();var i=g.value;if(b&&Eb(b))try{i=b.call(c,i,e)}catch(h){return void a.onError(h)}a.onNext(i),e++,d()})})},id=cd.fromArray=function(a,b){return Sb("fromArray","from"),wb(b)||(b=Hc),new Od(function(c){var d=0,e=a.length;return b.scheduleRecursive(function(b){e>d?(c.onNext(a[d++]),b()):c.onCompleted()})})};cd.generate=function(a,b,c,d,e){return wb(e)||(e=Hc),new Od(function(f){var g=!0,h=a;return e.scheduleRecursive(function(a){var e,i;try{g?g=!1:h=c(h),e=b(h),e&&(i=d(h))}catch(j){return void f.onError(j)}e?(f.onNext(i),a()):f.onCompleted()})})},cd.of=function(){return B(null,arguments)},cd.ofWithScheduler=function(a){return B(a,nc.call(arguments,1))};var jd=cd.never=function(){return new Od(function(){return xc})};cd.range=function(a,b,c){return wb(c)||(c=Hc),new Od(function(d){return c.scheduleRecursiveWithState(0,function(c,e){b>c?(d.onNext(a+c),e(c+1)):d.onCompleted()})})},cd.repeat=function(a,b,c){return wb(c)||(c=Hc),kd(a,c).repeat(null==b?-1:b)};var kd=cd["return"]=cd.just=function(a,b){return wb(b)||(b=Gc),new Od(function(c){return b.schedule(function(){c.onNext(a),c.onCompleted()})})};cd.returnValue=function(){return Sb("returnValue","return or just"),kd.apply(null,arguments)};var ld=cd["throw"]=cd.throwException=cd.throwError=function(a,b){return wb(b)||(b=Gc),new Od(function(c){return b.schedule(function(){c.onError(a)})})};cd.using=function(a,b){return new Od(function(c){var d,e,f=xc;try{d=a(),d&&(f=d),e=b(d)}catch(g){return new tc(ld(g).subscribe(c),f)}return new tc(e.subscribe(c),f)})},Yc.amb=function(a){var b=this;return new Od(function(c){function d(){f||(f=g,j.dispose())}function e(){f||(f=h,i.dispose())}var f,g="L",h="R",i=new yc,j=new yc;return Cb(a)&&(a=dd(a)),i.setDisposable(b.subscribe(function(a){d(),f===g&&c.onNext(a)},function(a){d(),f===g&&c.onError(a)},function(){d(),f===g&&c.onCompleted()})),j.setDisposable(a.subscribe(function(a){e(),f===h&&c.onNext(a)},function(a){e(),f===h&&c.onError(a)},function(){e(),f===h&&c.onCompleted()})),new tc(i,j)})},cd.amb=function(){function a(a,b){return a.amb(b)}for(var b=jd(),c=o(arguments,0),d=0,e=c.length;e>d;d++)b=a(b,c[d]);return b},Yc["catch"]=Yc.catchError=function(a){return"function"==typeof a?C(this,a):md([this,a])},Yc.catchException=function(a){return Sb("catchException","catch or catchError"),this.catchError(a)};var md=cd.catchError=cd["catch"]=function(){return Vc(o(arguments,0)).catchError()};cd.catchException=function(){return Sb("catchException","catch or catchError"),md.apply(null,arguments)},Yc.combineLatest=function(){var a=nc.call(arguments);return Array.isArray(a[0])?a[0].unshift(this):a.unshift(this),nd.apply(this,a)};var nd=cd.combineLatest=function(){var a=nc.call(arguments),b=a.pop();return Array.isArray(a[0])&&(a=a[0]),new Od(function(c){function d(a){var d;if(h[a]=!0,i||(i=h.every(xb))){try{d=b.apply(null,k)}catch(e){return void c.onError(e)}c.onNext(d)}else j.filter(function(b,c){return c!==a}).every(xb)&&c.onCompleted()}function e(a){j[a]=!0,j.every(xb)&&c.onCompleted()}for(var f=function(){return!1},g=a.length,h=p(g,f),i=!1,j=p(g,f),k=new Array(g),l=new Array(g),m=0;g>m;m++)!function(b){var f=a[b],g=new yc;Cb(f)&&(f=dd(f)),g.setDisposable(f.subscribe(function(a){k[b]=a,d(b)},c.onError.bind(c),function(){e(b)})),l[b]=g}(m);return new tc(l)},this)};Yc.concat=function(){var a=nc.call(arguments,0);return a.unshift(this),od.apply(this,a)};var od=cd.concat=function(){return Vc(o(arguments,0)).concat()};Yc.concatAll=function(){return this.merge(1)},Yc.concatObservable=function(){return Sb("concatObservable","concatAll"),this.merge(1)},Yc.merge=function(a){if("number"!=typeof a)return pd(this,a);var b=this;return new Od(function(c){function d(a){var b=new yc;f.add(b),Cb(a)&&(a=dd(a)),b.setDisposable(a.subscribe(c.onNext.bind(c),c.onError.bind(c),function(){f.remove(b),h.length>0?d(h.shift()):(e--,g&&0===e&&c.onCompleted())}))}var e=0,f=new tc,g=!1,h=[];return f.add(b.subscribe(function(b){a>e?(e++,d(b)):h.push(b)},c.onError.bind(c),function(){g=!0,0===e&&c.onCompleted()})),f},b)};var pd=cd.merge=function(){var a,b;return arguments[0]?wb(arguments[0])?(a=arguments[0],b=nc.call(arguments,1)):(a=Gc,b=nc.call(arguments,0)):(a=Gc,b=nc.call(arguments,1)),Array.isArray(b[0])&&(b=b[0]),B(a,b).mergeAll()};Yc.mergeAll=function(){var a=this;return new Od(function(b){var c=new tc,d=!1,e=new yc;return c.add(e),e.setDisposable(a.subscribe(function(a){var e=new yc;c.add(e),Cb(a)&&(a=dd(a)),e.setDisposable(a.subscribe(b.onNext.bind(b),b.onError.bind(b),function(){c.remove(e),d&&1===c.length&&b.onCompleted()}))},b.onError.bind(b),function(){d=!0,1===c.length&&b.onCompleted()})),c},a)},Yc.mergeObservable=function(){return Sb("mergeObservable","mergeAll"),this.mergeAll.apply(this,arguments)},Yc.onErrorResumeNext=function(a){if(!a)throw new Error("Second observable is required");return qd([this,a])};var qd=cd.onErrorResumeNext=function(){var a=o(arguments,0);return new Od(function(b){var c=0,d=new zc,e=Gc.scheduleRecursive(function(e){var f,g;c<a.length?(f=a[c++],Cb(f)&&(f=dd(f)),g=new yc,d.setDisposable(g),g.setDisposable(f.subscribe(b.onNext.bind(b),e,e))):b.onCompleted()});return new tc(d,e)})};Yc.skipUntil=function(a){var b=this;return new Od(function(c){var d=!1,e=new tc(b.subscribe(function(a){d&&c.onNext(a)},c.onError.bind(c),function(){d&&c.onCompleted()}));Cb(a)&&(a=dd(a));var f=new yc;return e.add(f),f.setDisposable(a.subscribe(function(){d=!0,f.dispose()},c.onError.bind(c),function(){f.dispose()})),e},b)},Yc["switch"]=Yc.switchLatest=function(){var a=this;return new Od(function(b){var c=!1,d=new zc,e=!1,f=0,g=a.subscribe(function(a){var g=new yc,h=++f;c=!0,d.setDisposable(g),Cb(a)&&(a=dd(a)),g.setDisposable(a.subscribe(function(a){f===h&&b.onNext(a)},function(a){f===h&&b.onError(a)},function(){f===h&&(c=!1,e&&b.onCompleted())}))},b.onError.bind(b),function(){e=!0,!c&&b.onCompleted()});return new tc(g,d)},a)},Yc.takeUntil=function(a){var b=this;return new Od(function(c){return Cb(a)&&(a=dd(a)),new tc(b.subscribe(c),a.subscribe(c.onCompleted.bind(c),c.onError.bind(c),vb))},b)},Yc.zip=function(){if(Array.isArray(arguments[0]))return D.apply(this,arguments);var a=this,b=nc.call(arguments),c=b.pop();return b.unshift(a),new Od(function(d){function e(b){var e,f;if(h.every(function(a){return a.length>0})){try{f=h.map(function(a){return a.shift()}),e=c.apply(a,f)}catch(g){return void d.onError(g)}d.onNext(e)}else i.filter(function(a,c){return c!==b}).every(xb)&&d.onCompleted()}function f(a){i[a]=!0,i.every(function(a){return a})&&d.onCompleted()}for(var g=b.length,h=p(g,function(){return[]}),i=p(g,function(){return!1}),j=new Array(g),k=0;g>k;k++)!function(a){var c=b[a],g=new yc;Cb(c)&&(c=dd(c)),g.setDisposable(c.subscribe(function(b){h[a].push(b),e(a)},d.onError.bind(d),function(){f(a)})),j[a]=g}(k);return new tc(j)},a)},cd.zip=function(){var a=nc.call(arguments,0),b=a.shift();return b.zip.apply(b,a)},cd.zipArray=function(){var a=o(arguments,0);return new Od(function(b){function c(a){if(f.every(function(a){return a.length>0})){var c=f.map(function(a){return a.shift()});b.onNext(c)}else if(g.filter(function(b,c){return c!==a}).every(xb))return void b.onCompleted()}function d(a){return g[a]=!0,g.every(xb)?void b.onCompleted():void 0}for(var e=a.length,f=p(e,function(){return[]}),g=p(e,function(){return!1}),h=new Array(e),i=0;e>i;i++)!function(e){h[e]=new yc,h[e].setDisposable(a[e].subscribe(function(a){f[e].push(a),c(e)},b.onError.bind(b),function(){d(e)}))}(i);var j=new tc(h);return j.add(wc(function(){for(var a=0,b=f.length;b>a;a++)f[a]=[]})),j})},Yc.asObservable=function(){return new Od(this.subscribe.bind(this),this)},Yc.bufferWithCount=function(a,b){return"number"!=typeof b&&(b=a),this.windowWithCount(a,b).selectMany(function(a){return a.toArray()}).where(function(a){return a.length>0})},Yc.dematerialize=function(){var a=this;return new Od(function(b){return a.subscribe(function(a){return a.accept(b)},b.onError.bind(b),b.onCompleted.bind(b))},this)},Yc.distinctUntilChanged=function(a,b){var c=this;return a||(a=xb),b||(b=zb),new Od(function(d){var e,f=!1;return c.subscribe(function(c){var g,h=!1;try{g=a(c)}catch(i){return void d.onError(i)}if(f)try{h=b(e,g)}catch(i){return void d.onError(i)}f&&h||(f=!0,e=g,d.onNext(c))},d.onError.bind(d),d.onCompleted.bind(d))},this)},Yc["do"]=Yc.tap=function(a,b,c){var d,e=this;return"function"==typeof a?d=a:(d=a.onNext.bind(a),b=a.onError.bind(a),c=a.onCompleted.bind(a)),new Od(function(a){return e.subscribe(function(b){try{d(b)}catch(c){a.onError(c)}a.onNext(b)},function(c){if(b)try{b(c)}catch(d){a.onError(d)}a.onError(c)},function(){if(c)try{c()}catch(b){a.onError(b)}a.onCompleted()})},this)},Yc.doAction=function(){return Sb("doAction","do or tap"),this.tap.apply(this,arguments)},Yc.doOnNext=Yc.tapOnNext=function(a,b){return this.tap(2===arguments.length?function(c){a.call(b,c)}:a)},Yc.doOnError=Yc.tapOnError=function(a,b){return this.tap(vb,2===arguments.length?function(c){a.call(b,c)}:a)},Yc.doOnCompleted=Yc.tapOnCompleted=function(a,b){return this.tap(vb,null,2===arguments.length?function(){a.call(b)}:a)},Yc["finally"]=Yc.ensure=function(a){var b=this;return new Od(function(c){var d;try{d=b.subscribe(c)}catch(e){throw a(),e}return wc(function(){try{d.dispose()}catch(b){throw b}finally{a()}})},this)},Yc.finallyAction=function(a){return Sb("finallyAction","finally or ensure"),this.ensure(a)},Yc.ignoreElements=function(){var a=this;return new Od(function(b){return a.subscribe(vb,b.onError.bind(b),b.onCompleted.bind(b))},a)},Yc.materialize=function(){var a=this;return new Od(function(b){return a.subscribe(function(a){b.onNext(Pc(a))},function(a){b.onNext(Qc(a)),b.onCompleted()},function(){b.onNext(Rc()),b.onCompleted()})},a)},Yc.repeat=function(a){return Uc(this,a).concat()},Yc.retry=function(a){return Uc(this,a).catchError()},Yc.scan=function(){var a,b,c=!1,d=this;return 2===arguments.length?(c=!0,a=arguments[0],b=arguments[1]):b=arguments[0],new Od(function(e){var f,g,h;return d.subscribe(function(d){!h&&(h=!0);try{f?g=b(g,d):(g=c?b(a,d):d,f=!0)}catch(i){return void e.onError(i)}e.onNext(g)},e.onError.bind(e),function(){!h&&c&&e.onNext(a),e.onCompleted()})},d)},Yc.skipLast=function(a){var b=this;return new Od(function(c){var d=[];return b.subscribe(function(b){d.push(b),d.length>a&&c.onNext(d.shift())},c.onError.bind(c),c.onCompleted.bind(c))},b)},Yc.startWith=function(){var a,b,c=0;return arguments.length&&wb(arguments[0])?(b=arguments[0],c=1):b=Gc,a=nc.call(arguments,c),Vc([id(a,b),this]).concat()},Yc.takeLast=function(a){var b=this;return new Od(function(c){var d=[];return b.subscribe(function(b){d.push(b),d.length>a&&d.shift()},c.onError.bind(c),function(){for(;d.length>0;)c.onNext(d.shift());c.onCompleted()})},b)},Yc.takeLastBuffer=function(a){var b=this;return new Od(function(c){var d=[];return b.subscribe(function(b){d.push(b),d.length>a&&d.shift()},c.onError.bind(c),function(){c.onNext(d),c.onCompleted()})},b)},Yc.windowWithCount=function(a,b){var c=this;if(+a||(a=0),1/0===Math.abs(a)&&(a=0),0>=a)throw new Error(Gb);if(null==b&&(b=a),+b||(b=0),1/0===Math.abs(b)&&(b=0),0>=b)throw new Error(Gb);return new Od(function(d){function e(){var a=new Rd;i.push(a),d.onNext(qc(a,g))}var f=new yc,g=new Ac(f),h=0,i=[];return e(),f.setDisposable(c.subscribe(function(c){for(var d=0,f=i.length;f>d;d++)i[d].onNext(c);var g=h-a+1;g>=0&&g%b===0&&i.shift().onCompleted(),++h%b===0&&e()},function(a){for(;i.length>0;)i.shift().onError(a);d.onError(a)},function(){for(;i.length>0;)i.shift().onCompleted();d.onCompleted()})),g},c)},Yc.selectConcat=Yc.concatMap=function(a,b,c){return Eb(a)&&Eb(b)?this.concatMap(function(c,d){var e=a(c,d);return Cb(e)&&(e=dd(e)),(Qb(e)||Pb(e))&&(e=hd(e)),e.map(function(a,e){return b(c,a,d,e)})}):Eb(a)?E(this,a,c):E(this,function(){return a})},Yc.concatMapObserver=Yc.selectConcatObserver=function(a,b,c,d){var e=this;return new Od(function(f){var g=0;return e.subscribe(function(b){var c;try{c=a.call(d,b,g++)}catch(e){return void f.onError(e)}Cb(c)&&(c=dd(c)),f.onNext(c)},function(a){var c;try{c=b.call(d,a)}catch(e){return void f.onError(e)}Cb(c)&&(c=dd(c)),f.onNext(c),f.onCompleted()},function(){var a;try{a=c.call(d)}catch(b){return void f.onError(b)}Cb(a)&&(a=dd(a)),f.onNext(a),f.onCompleted()})},this).concatAll()},Yc.defaultIfEmpty=function(b){var c=this;return b===a&&(b=null),new Od(function(a){var d=!1;return c.subscribe(function(b){d=!0,a.onNext(b)},a.onError.bind(a),function(){!d&&a.onNext(b),a.onCompleted()})},this)},G.prototype.push=function(a){var b=-1===F(this.set,a,this.comparer);return b&&this.set.push(a),b},Yc.distinct=function(a,b){var c=this;return b||(b=zb),new Od(function(d){var e=new G(b);return c.subscribe(function(b){var c=b;if(a)try{c=a(b)}catch(f){return void d.onError(f)}e.push(c)&&d.onNext(b)},d.onError.bind(d),d.onCompleted.bind(d))},this)},Yc.groupBy=function(a,b,c){return this.groupByUntil(a,b,jd,c)},Yc.groupByUntil=function(a,b,c,d){var e=this;return b||(b=xb),d||(d=zb),new Od(function(f){function g(a){return function(b){b.onError(a)}}var h=new Hd(0,d),i=new tc,j=new Ac(i);return i.add(e.subscribe(function(d){var e;try{e=a(d)}catch(k){return h.getValues().forEach(g(k)),void f.onError(k)}var l=!1,m=h.tryGetValue(e);if(m||(m=new Rd,h.set(e,m),l=!0),l){var n=new Qd(e,m,j),o=new Qd(e,m);try{duration=c(o)}catch(k){return h.getValues().forEach(g(k)),void f.onError(k)}f.onNext(n);var p=new yc;i.add(p);var q=function(){h.remove(e)&&m.onCompleted(),i.remove(p)};p.setDisposable(duration.take(1).subscribe(vb,function(a){h.getValues().forEach(g(a)),f.onError(a)},q))}var r;try{r=b(d)}catch(k){return h.getValues().forEach(g(k)),void f.onError(k)}m.onNext(r)},function(a){h.getValues().forEach(g(a)),f.onError(a)},function(){h.getValues().forEach(function(a){a.onCompleted()}),f.onCompleted()})),j},e)},Yc.select=Yc.map=function(a,b){var c=Eb(a)?a:function(){return a},d=this;return new Od(function(a){var e=0;return d.subscribe(function(f){var g;try{g=c.call(b,f,e++,d)}catch(h){return void a.onError(h)}a.onNext(g)},a.onError.bind(a),a.onCompleted.bind(a))},d)},Yc.pluck=function(a){return this.map(function(b){return b[a]})},Yc.selectMany=Yc.flatMap=function(a,b,c){return Eb(a)&&Eb(b)?this.flatMap(function(c,d){var e=a(c,d);return Cb(e)&&(e=dd(e)),(Qb(e)||Pb(e))&&(e=hd(e)),e.map(function(a,e){return b(c,a,d,e)})},c):Eb(a)?H(this,a,c):H(this,function(){return a})},Yc.flatMapObserver=Yc.selectManyObserver=function(a,b,c,d){var e=this;return new Od(function(f){var g=0;return e.subscribe(function(b){var c;try{c=a.call(d,b,g++)}catch(e){return void f.onError(e)}Cb(c)&&(c=dd(c)),f.onNext(c)},function(a){var c;try{c=b.call(d,a)}catch(e){return void f.onError(e)}Cb(c)&&(c=dd(c)),f.onNext(c),f.onCompleted()},function(){var a;try{a=c.call(d)}catch(b){return void f.onError(b)}Cb(a)&&(a=dd(a)),f.onNext(a),f.onCompleted()})},e).mergeAll()},Yc.selectSwitch=Yc.flatMapLatest=Yc.switchMap=function(a,b){return this.select(a,b).switchLatest()},Yc.skip=function(a){if(0>a)throw new Error(Gb);var b=this;return new Od(function(c){var d=a;return b.subscribe(function(a){0>=d?c.onNext(a):d--},c.onError.bind(c),c.onCompleted.bind(c))},b)},Yc.skipWhile=function(a,b){var c=this;return new Od(function(d){var e=0,f=!1;return c.subscribe(function(g){if(!f)try{f=!a.call(b,g,e++,c)}catch(h){return void d.onError(h)}f&&d.onNext(g)},d.onError.bind(d),d.onCompleted.bind(d))},c)},Yc.take=function(a,b){if(0>a)throw new RangeError(Gb);if(0===a)return fd(b);var c=this;return new Od(function(b){var d=a;return c.subscribe(function(a){d-->0&&(b.onNext(a),0===d&&b.onCompleted())},b.onError.bind(b),b.onCompleted.bind(b))},c)},Yc.takeWhile=function(a,b){var c=this;return new Od(function(d){var e=0,f=!0;return c.subscribe(function(g){if(f){try{f=a.call(b,g,e++,c)}catch(h){return void d.onError(h)}f?d.onNext(g):d.onCompleted()}},d.onError.bind(d),d.onCompleted.bind(d))},c)},Yc.where=Yc.filter=function(a,b){var c=this;return new Od(function(d){var e=0;return c.subscribe(function(c){var f;try{f=a.call(b,c,e++,parent)}catch(g){return void d.onError(g)}f&&d.onNext(c)},d.onError.bind(d),d.onCompleted.bind(d))},c)},Yc.finalValue=function(){var a=this;return new Od(function(b){var c,d=!1;return a.subscribe(function(a){d=!0,c=a},b.onError.bind(b),function(){d?(b.onNext(c),b.onCompleted()):b.onError(new Error(Fb))})},a)},Yc.aggregate=function(){Sb("aggregate","reduce");var a,b,c;return 2===arguments.length?(a=arguments[0],b=!0,c=arguments[1]):c=arguments[0],b?this.scan(a,c).startWith(a).finalValue():this.scan(c).finalValue()},Yc.reduce=function(a){var b,c;return 2===arguments.length&&(c=!0,b=arguments[1]),c?this.scan(b,a).startWith(b).finalValue():this.scan(a).finalValue()},Yc.some=function(a,b){var c=this;return a?c.filter(a,b).some():new Od(function(a){return c.subscribe(function(){a.onNext(!0),a.onCompleted()},a.onError.bind(a),function(){a.onNext(!1),a.onCompleted()})},c)},Yc.any=function(){return Sb("any","some"),this.some.apply(this,arguments)},Yc.isEmpty=function(){return this.any().map(Db)},Yc.every=function(a,b){return this.filter(function(b){return!a(b)},b).some().map(Db)},Yc.all=function(){return Sb("all","every"),this.every.apply(this,arguments)},Yc.contains=function(a,b){function c(a,b){return 0===a&&0===b||a===b||isNaN(a)&&isNaN(b)}var d=this;return new Od(function(e){var f=0,g=+b||0;return 1/0===Math.abs(g)&&(g=0),0>g?(e.onNext(!1),e.onCompleted(),xc):d.subscribe(function(b){f++>=g&&c(b,a)&&(e.onNext(!0),e.onCompleted())},e.onError.bind(e),function(){e.onNext(!1),e.onCompleted()})},this)},Yc.count=function(a,b){return a?this.where(a,b).count():this.aggregate(0,function(a){return a+1})},Yc.indexOf=function(a,b){var c=this;return new Od(function(d){var e=0,f=+b||0;return 1/0===Math.abs(f)&&(f=0),0>f?(d.onNext(-1),d.onCompleted(),xc):c.subscribe(function(b){e>=f&&b===a&&(d.onNext(e),d.onCompleted()),e++},d.onError.bind(d),function(){d.onNext(-1),d.onCompleted()})},c)},Yc.sum=function(a,b){return a&&Eb(a)?this.map(a,b).sum():this.reduce(function(a,b){return a+b},0)},Yc.minBy=function(a,b){return b||(b=Ab),I(this,a,function(a,c){return-1*b(a,c)})},Yc.min=function(a){return this.minBy(xb,a).map(function(a){return J(a)})},Yc.maxBy=function(a,b){return b||(b=Ab),I(this,a,b)},Yc.max=function(a){return this.maxBy(xb,a).map(function(a){return J(a)})},Yc.average=function(a,b){return a&&Eb(a)?this.select(a,b).average():this.scan({sum:0,count:0},function(a,b){return{sum:a.sum+b,count:a.count+1}}).finalValue().map(function(a){if(0===a.count)throw new Error("The input sequence was empty");return a.sum/a.count})},Yc.sequenceEqual=function(a,b){var c=this;return b||(b=zb),new Od(function(d){var e=!1,f=!1,g=[],h=[],i=c.subscribe(function(a){var c,e;if(h.length>0){e=h.shift();try{c=b(e,a)}catch(i){return void d.onError(i)}c||(d.onNext(!1),d.onCompleted())}else f?(d.onNext(!1),d.onCompleted()):g.push(a)},d.onError.bind(d),function(){e=!0,0===g.length&&(h.length>0?(d.onNext(!1),d.onCompleted()):f&&(d.onNext(!0),d.onCompleted()))});(Qb(a)||Pb(a))&&(a=hd(a)),Cb(a)&&(a=dd(a));var j=a.subscribe(function(a){var c;if(g.length>0){var f=g.shift();try{c=b(f,a)}catch(i){return void d.onError(i)}c||(d.onNext(!1),d.onCompleted())}else e?(d.onNext(!1),d.onCompleted()):h.push(a)},d.onError.bind(d),function(){f=!0,0===h.length&&(g.length>0?(d.onNext(!1),d.onCompleted()):e&&(d.onNext(!0),d.onCompleted()))});return new tc(i,j)},c)},Yc.elementAt=function(a){return K(this,a,!1)},Yc.elementAtOrDefault=function(a,b){return K(this,a,!0,b)},Yc.single=function(a,b){return a&&Eb(a)?this.where(a,b).single():L(this,!1)},Yc.singleOrDefault=function(a,b,c){return a&&Eb(a)?this.where(a,c).singleOrDefault(null,b):L(this,!0,b)},Yc.first=function(a,b){return a?this.where(a,b).first():M(this,!1)},Yc.firstOrDefault=function(a,b){return a?this.where(a).firstOrDefault(null,b):M(this,!0,b)},Yc.last=function(a,b){return a?this.where(a,b).last():N(this,!1)},Yc.lastOrDefault=function(a,b,c){return a?this.where(a,c).lastOrDefault(null,b):N(this,!0,b)},Yc.find=function(a,b){return O(this,a,b,!1)},Yc.findIndex=function(a,b){return O(this,a,b,!0)},Yc.toSet=function(){if("undefined"==typeof pb.Set)throw new TypeError;var a=this;return new Od(function(b){var c=new pb.Set;return a.subscribe(c.add.bind(c),b.onError.bind(b),function(){b.onNext(c),b.onCompleted()})},a)},Yc.toMap=function(a,b){if("undefined"==typeof pb.Map)throw new TypeError;var c=this;return new Od(function(d){var e=new pb.Map;return c.subscribe(function(c){var f;try{f=a(c)}catch(g){return void d.onError(g)}var h=c;if(b)try{h=b(c)}catch(g){return void d.onError(g)}e.set(f,h)},d.onError.bind(d),function(){d.onNext(e),d.onCompleted()})},c)};var rd="function",sd="throw",td=ub.spawn=function(a){var b=U(a);return function(c){function d(a,b){Mc.schedule(c.bind(f,a,b))}function e(a,b){var c;if(arguments.length>2&&(b=nc.call(arguments,1)),a)try{c=g[sd](a)}catch(h){return d(h)}if(!a)try{c=g.next(b)}catch(h){return d(h)}if(c.done)return d(null,c.value);if(c.value=P(c.value,f),typeof c.value!==rd)e(new TypeError("Rx.spawn only supports a function, Promise, Observable, Object or Array."));else{var i=!1;try{c.value.call(f,function(){i||(i=!0,e.apply(f,arguments))})}catch(h){Mc.schedule(function(){i||(i=!0,e.call(f,h))})}}}var f=this,g=a;if(b){var h=nc.call(arguments),i=h.length,j=i&&typeof h[i-1]===rd;c=j?h.pop():W,g=a.apply(this,h)}else c=c||W;e()}};ub.denodify=function(a){return function(){var b,c,d,e=nc.call(arguments);return e.push(function(){b=arguments,d&&!c&&(c=!0,cb.apply(this,b))}),a.apply(this,e),function(a){d=a,b&&!c&&(c=!0,a.apply(this,b))}}},cd.start=function(a,b,c){return ud(a,b,c)()};var ud=cd.toAsync=function(a,b,c){return wb(c)||(c=Mc),function(){var d=arguments,e=new Sd;return c.schedule(function(){var c;try{c=a.apply(b,d)}catch(f){return void e.onError(f)}e.onNext(c),e.onCompleted()}),e.asObservable()}};cd.fromCallback=function(a,b,c){return function(){var d=nc.call(arguments,0);return new Od(function(e){function f(){var a=arguments;if(c){try{a=c(a)}catch(b){return void e.onError(b)}e.onNext(a)}else a.length<=1?e.onNext.apply(e,a):e.onNext(a);e.onCompleted()}d.push(f),a.apply(b,d)}).publishLast().refCount()}},cd.fromNodeCallback=function(a,b,c){return function(){var d=nc.call(arguments,0);return new Od(function(e){function f(a){if(a)return void e.onError(a);var b=nc.call(arguments,1);if(c){try{b=c(b)}catch(d){return void e.onError(d)}e.onNext(b)}else b.length<=1?e.onNext.apply(e,b):e.onNext(b);e.onCompleted()}d.push(f),a.apply(b,d)}).publishLast().refCount()}},ub.config.useNativeEvents=!1;var vd=pb.angular&&angular.element?angular.element:pb.jQuery?pb.jQuery:pb.Zepto?pb.Zepto:null,wd=!!pb.Ember&&"function"==typeof pb.Ember.addListener,xd=!!pb.Backbone&&!!pb.Backbone.Marionette;cd.fromEvent=function(a,b,c){if(a.addListener)return yd(function(c){a.addListener(b,c)},function(c){a.removeListener(b,c)},c);if(!ub.config.useNativeEvents){if(xd)return yd(function(c){a.on(b,c)},function(c){a.off(b,c)},c);if(wd)return yd(function(c){Ember.addListener(a,b,c)},function(c){Ember.removeListener(a,b,c)},c);if(vd){var d=vd(a);return yd(function(a){d.on(b,a)},function(a){d.off(b,a)},c)}}return new Od(function(d){return Y(a,b,function(a){var b=a;if(c)try{b=c(arguments)}catch(e){return void d.onError(e)}d.onNext(b)})}).publish().refCount()};var yd=cd.fromEventPattern=function(a,b,c){return new Od(function(d){function e(a){var b=a;if(c)try{b=c(arguments)}catch(e){return void d.onError(e)}d.onNext(b)}var f=a(e);return wc(function(){b&&b(e,f)})}).publish().refCount()};cd.startAsync=function(a){var b;try{b=a()}catch(c){return ld(c)}return dd(b)};var zd=function(a){function b(a){var b=this.source.publish(),c=b.subscribe(a),d=xc,e=this.pauser.distinctUntilChanged().subscribe(function(a){a?d=b.connect():(d.dispose(),d=xc)});return new tc(c,d,e)}function c(c,d){this.source=c,this.controller=new Rd,this.pauser=d&&d.subscribe?this.controller.merge(d):this.controller,a.call(this,b)}return oc(c,a),c.prototype.pause=function(){this.controller.onNext(!1)},c.prototype.resume=function(){this.controller.onNext(!0)},c}(cd);Yc.pausable=function(a){return new zd(this,a)};var Ad=function(b){function c(b){var c,d=[],e=Z(this.source,this.pauser.distinctUntilChanged().startWith(!1),function(a,b){return{data:a,shouldFire:b}}).subscribe(function(e){if(c!==a&&e.shouldFire!=c){if(c=e.shouldFire,e.shouldFire)for(;d.length>0;)b.onNext(d.shift())}else c=e.shouldFire,e.shouldFire?b.onNext(e.data):d.push(e.data)},function(a){for(;d.length>0;)b.onNext(d.shift());b.onError(a)},function(){for(;d.length>0;)b.onNext(d.shift());b.onCompleted()});return e}function d(a,d){this.source=a,this.controller=new Rd,this.pauser=d&&d.subscribe?this.controller.merge(d):this.controller,b.call(this,c)}return oc(d,b),d.prototype.pause=function(){this.controller.onNext(!1)},d.prototype.resume=function(){this.controller.onNext(!0)},d}(cd);Yc.pausableBuffered=function(a){return new Ad(this,a)},Yc.controlled=function(a){return null==a&&(a=!0),new Bd(this,a)};var Bd=function(a){function b(a){return this.source.subscribe(a)}function c(c,d){a.call(this,b),this.subject=new Cd(d),this.source=c.multicast(this.subject).refCount()}return oc(c,a),c.prototype.request=function(a){return null==a&&(a=-1),this.subject.request(a)},c}(cd),Cd=ub.ControlledSubject=function(a){function c(a){return this.subject.subscribe(a)}function d(b){null==b&&(b=!0),a.call(this,c),this.subject=new Rd,this.enableQueue=b,this.queue=b?[]:null,this.requestedCount=0,this.requestedDisposable=xc,this.error=null,this.hasFailed=!1,this.hasCompleted=!1,this.controlledDisposable=xc}return oc(d,a),pc(d.prototype,Wc,{onCompleted:function(){b.call(this),this.hasCompleted=!0,this.enableQueue&&0!==this.queue.length||this.subject.onCompleted()},onError:function(a){b.call(this),this.hasFailed=!0,this.error=a,this.enableQueue&&0!==this.queue.length||this.subject.onError(a)},onNext:function(a){b.call(this);var c=!1;0===this.requestedCount?this.enableQueue&&this.queue.push(a):(-1!==this.requestedCount&&0===this.requestedCount--&&this.disposeCurrentRequest(),c=!0),c&&this.subject.onNext(a)},_processRequest:function(a){if(this.enableQueue){for(;this.queue.length>=a&&a>0;)this.subject.onNext(this.queue.shift()),a--;return 0!==this.queue.length?{numberOfItems:a,returnValue:!0}:{numberOfItems:a,returnValue:!1}}return this.hasFailed?(this.subject.onError(this.error),this.controlledDisposable.dispose(),this.controlledDisposable=xc):this.hasCompleted&&(this.subject.onCompleted(),this.controlledDisposable.dispose(),this.controlledDisposable=xc),{numberOfItems:a,returnValue:!1}},request:function(a){b.call(this),this.disposeCurrentRequest();var c=this,d=this._processRequest(a);return a=d.numberOfItems,d.returnValue?xc:(this.requestedCount=a,this.requestedDisposable=wc(function(){c.requestedCount=0}),this.requestedDisposable)},disposeCurrentRequest:function(){this.requestedDisposable.dispose(),this.requestedDisposable=xc},dispose:function(){this.isDisposed=!0,this.error=null,this.subject.dispose(),this.requestedDisposable.dispose()}}),d}(cd);Yc.multicast=function(a,b){var c=this;return"function"==typeof a?new Od(function(d){var e=c.multicast(a());return new tc(b(e).subscribe(d),e.connect())},c):new Gd(c,a)},Yc.publish=function(a){return a&&Eb(a)?this.multicast(function(){return new Rd},a):this.multicast(new Rd)},Yc.share=function(){return this.publish().refCount()},Yc.publishLast=function(a){return a&&Eb(a)?this.multicast(function(){return new Sd},a):this.multicast(new Sd)},Yc.publishValue=function(a,b){return 2===arguments.length?this.multicast(function(){return new Ed(b)},a):this.multicast(new Ed(a))},Yc.shareValue=function(a){return this.publishValue(a).refCount()},Yc.replay=function(a,b,c,d){return a&&Eb(a)?this.multicast(function(){return new Fd(b,c,d)},a):this.multicast(new Fd(b,c,d))},Yc.shareReplay=function(a,b,c){return this.replay(null,a,b,c).refCount()};var Dd=function(a,b){this.subject=a,this.observer=b};Dd.prototype.dispose=function(){if(!this.subject.isDisposed&&null!==this.observer){var a=this.subject.observers.indexOf(this.observer);this.subject.observers.splice(a,1),this.observer=null}};var Ed=ub.BehaviorSubject=function(a){function c(a){if(b.call(this),!this.isStopped)return this.observers.push(a),a.onNext(this.value),new Dd(this,a);var c=this.exception;return c?a.onError(c):a.onCompleted(),xc}function d(b){a.call(this,c),this.value=b,this.observers=[],this.isDisposed=!1,this.isStopped=!1,this.exception=null}return oc(d,a),pc(d.prototype,Wc,{hasObservers:function(){return this.observers.length>0},onCompleted:function(){if(b.call(this),!this.isStopped){this.isStopped=!0;for(var a=0,c=this.observers.slice(0),d=c.length;d>a;a++)c[a].onCompleted();this.observers=[]}},onError:function(a){if(b.call(this),!this.isStopped){this.isStopped=!0,this.exception=a;for(var c=0,d=this.observers.slice(0),e=d.length;e>c;c++)d[c].onError(a);this.observers=[]}},onNext:function(a){if(b.call(this),!this.isStopped){this.value=a;for(var c=0,d=this.observers.slice(0),e=d.length;e>c;c++)d[c].onNext(a)}},dispose:function(){this.isDisposed=!0,this.observers=null,this.value=null,this.exception=null}}),d}(cd),Fd=ub.ReplaySubject=function(a){function c(a,b){return wc(function(){b.dispose(),!a.isDisposed&&a.observers.splice(a.observers.indexOf(b),1)})}function d(a){var d=new ad(this.scheduler,a),e=c(this,d);b.call(this),this._trim(this.scheduler.now()),this.observers.push(d);for(var f=0,g=this.q.length;g>f;f++)d.onNext(this.q[f].value);return this.hasError?d.onError(this.error):this.isStopped&&d.onCompleted(),d.ensureActive(),e}function e(b,c,e){this.bufferSize=null==b?Number.MAX_VALUE:b,this.windowSize=null==c?Number.MAX_VALUE:c,this.scheduler=e||Hc,this.q=[],this.observers=[],this.isStopped=!1,this.isDisposed=!1,this.hasError=!1,this.error=null,a.call(this,d)}return oc(e,a),pc(e.prototype,Wc,{hasObservers:function(){return this.observers.length>0
4
- },_trim:function(a){for(;this.q.length>this.bufferSize;)this.q.shift();for(;this.q.length>0&&a-this.q[0].interval>this.windowSize;)this.q.shift()},onNext:function(a){if(b.call(this),!this.isStopped){var c=this.scheduler.now();this.q.push({interval:c,value:a}),this._trim(c);for(var d=this.observers.slice(0),e=0,f=d.length;f>e;e++){var g=d[e];g.onNext(a),g.ensureActive()}}},onError:function(a){if(b.call(this),!this.isStopped){this.isStopped=!0,this.error=a,this.hasError=!0;var c=this.scheduler.now();this._trim(c);for(var d=this.observers.slice(0),e=0,f=d.length;f>e;e++){var g=d[e];g.onError(a),g.ensureActive()}this.observers=[]}},onCompleted:function(){if(b.call(this),!this.isStopped){this.isStopped=!0;var a=this.scheduler.now();this._trim(a);for(var c=this.observers.slice(0),d=0,e=c.length;e>d;d++){var f=c[d];f.onCompleted(),f.ensureActive()}this.observers=[]}},dispose:function(){this.isDisposed=!0,this.observers=null}}),e}(cd),Gd=ub.ConnectableObservable=function(a){function b(b,c){var d,e=!1,f=b.asObservable();this.connect=function(){return e||(e=!0,d=new tc(f.subscribe(c),wc(function(){e=!1}))),d},a.call(this,c.subscribe.bind(c))}return oc(b,a),b.prototype.refCount=function(){var a,b=0,c=this;return new Od(function(d){var e=1===++b,f=c.subscribe(d);return e&&(a=c.connect()),function(){f.dispose(),0===--b&&a.dispose()}})},b}(cd),Hd=function(){function b(a){if(0===(1&a))return 2===a;for(var b=Math.sqrt(a),c=3;b>=c;){if(a%c===0)return!1;c+=2}return!0}function c(a){var c,d,e;for(c=0;c<h.length;++c)if(d=h[c],d>=a)return d;for(e=1|a;e<h[h.length-1];){if(b(e))return e;e+=2}return a}function d(a){var b=757602046;if(!a.length)return b;for(var c=0,d=a.length;d>c;c++){var e=a.charCodeAt(c);b=(b<<5)-b+e,b&=b}return b}function e(a){var b=668265261;return a=61^a^a>>>16,a+=a<<3,a^=a>>>4,a*=b,a^=a>>>15}function f(){return{key:null,value:null,next:0,hashCode:0}}function g(a,b){if(0>a)throw new Error("out of range");a>0&&this._initialize(a),this.comparer=b||zb,this.freeCount=0,this.size=0,this.freeList=-1}var h=[1,3,7,13,31,61,127,251,509,1021,2039,4093,8191,16381,32749,65521,131071,262139,524287,1048573,2097143,4194301,8388593,16777213,33554393,67108859,134217689,268435399,536870909,1073741789,2147483647],i="no such key",j="duplicate key",k=function(){var a=0;return function(b){if(null==b)throw new Error(i);if("string"==typeof b)return d(b);if("number"==typeof b)return e(b);if("boolean"==typeof b)return b===!0?1:0;if(b instanceof Date)return e(b.valueOf());if(b instanceof RegExp)return d(b.toString());if("function"==typeof b.valueOf){var c=b.valueOf();if("number"==typeof c)return e(c);if("string"==typeof b)return d(c)}if(b.hashCode)return b.hashCode();var f=17*a++;return b.hashCode=function(){return f},f}}(),l=g.prototype;return l._initialize=function(a){var b,d=c(a);for(this.buckets=new Array(d),this.entries=new Array(d),b=0;d>b;b++)this.buckets[b]=-1,this.entries[b]=f();this.freeList=-1},l.add=function(a,b){this._insert(a,b,!0)},l._insert=function(a,b,c){this.buckets||this._initialize(0);for(var d,e=2147483647&k(a),f=e%this.buckets.length,g=this.buckets[f];g>=0;g=this.entries[g].next)if(this.entries[g].hashCode===e&&this.comparer(this.entries[g].key,a)){if(c)throw new Error(j);return void(this.entries[g].value=b)}this.freeCount>0?(d=this.freeList,this.freeList=this.entries[d].next,--this.freeCount):(this.size===this.entries.length&&(this._resize(),f=e%this.buckets.length),d=this.size,++this.size),this.entries[d].hashCode=e,this.entries[d].next=this.buckets[f],this.entries[d].key=a,this.entries[d].value=b,this.buckets[f]=d},l._resize=function(){var a=c(2*this.size),b=new Array(a);for(e=0;e<b.length;++e)b[e]=-1;var d=new Array(a);for(e=0;e<this.size;++e)d[e]=this.entries[e];for(var e=this.size;a>e;++e)d[e]=f();for(var g=0;g<this.size;++g){var h=d[g].hashCode%a;d[g].next=b[h],b[h]=g}this.buckets=b,this.entries=d},l.remove=function(a){if(this.buckets)for(var b=2147483647&k(a),c=b%this.buckets.length,d=-1,e=this.buckets[c];e>=0;e=this.entries[e].next){if(this.entries[e].hashCode===b&&this.comparer(this.entries[e].key,a))return 0>d?this.buckets[c]=this.entries[e].next:this.entries[d].next=this.entries[e].next,this.entries[e].hashCode=-1,this.entries[e].next=this.freeList,this.entries[e].key=null,this.entries[e].value=null,this.freeList=e,++this.freeCount,!0;d=e}return!1},l.clear=function(){var a,b;if(!(this.size<=0)){for(a=0,b=this.buckets.length;b>a;++a)this.buckets[a]=-1;for(a=0;a<this.size;++a)this.entries[a]=f();this.freeList=-1,this.size=0}},l._findEntry=function(a){if(this.buckets)for(var b=2147483647&k(a),c=this.buckets[b%this.buckets.length];c>=0;c=this.entries[c].next)if(this.entries[c].hashCode===b&&this.comparer(this.entries[c].key,a))return c;return-1},l.count=function(){return this.size-this.freeCount},l.tryGetValue=function(b){var c=this._findEntry(b);return c>=0?this.entries[c].value:a},l.getValues=function(){var a=0,b=[];if(this.entries)for(var c=0;c<this.size;c++)this.entries[c].hashCode>=0&&(b[a++]=this.entries[c].value);return b},l.get=function(a){var b=this._findEntry(a);if(b>=0)return this.entries[b].value;throw new Error(i)},l.set=function(a,b){this._insert(a,b,!1)},l.containskey=function(a){return this._findEntry(a)>=0},g}();Yc.join=function(a,b,c,d){var e=this;return new Od(function(f){var g=new tc,h=!1,i=!1,j=0,k=0,l=new Hd,m=new Hd;return g.add(e.subscribe(function(a){var c=j++,e=new yc;l.add(c,a),g.add(e);var i,k=function(){l.remove(c)&&0===l.count()&&h&&f.onCompleted(),g.remove(e)};try{i=b(a)}catch(n){return void f.onError(n)}e.setDisposable(i.take(1).subscribe(vb,f.onError.bind(f),k)),m.getValues().forEach(function(b){var c;try{c=d(a,b)}catch(e){return void f.onError(e)}f.onNext(c)})},f.onError.bind(f),function(){h=!0,(i||0===l.count())&&f.onCompleted()})),g.add(a.subscribe(function(a){var b=k++,e=new yc;m.add(b,a),g.add(e);var h,j=function(){m.remove(b)&&0===m.count()&&i&&f.onCompleted(),g.remove(e)};try{h=c(a)}catch(n){return void f.onError(n)}e.setDisposable(h.take(1).subscribe(vb,f.onError.bind(f),j)),l.getValues().forEach(function(b){var c;try{c=d(b,a)}catch(e){return void f.onError(e)}f.onNext(c)})},f.onError.bind(f),function(){i=!0,(h||0===m.count())&&f.onCompleted()})),g},e)},Yc.groupJoin=function(a,b,c,d){var e=this;return new Od(function(f){function g(a){return function(b){b.onError(a)}}var h=new tc,i=new Ac(h),j=new Hd,k=new Hd,l=0,m=0;return h.add(e.subscribe(function(a){var c=new Rd,e=l++;j.add(e,c);var m;try{m=d(a,qc(c,i))}catch(n){return j.getValues().forEach(g(n)),void f.onError(n)}f.onNext(m),k.getValues().forEach(function(a){c.onNext(a)});var o=new yc;h.add(o);var p,q=function(){j.remove(e)&&c.onCompleted(),h.remove(o)};try{p=b(a)}catch(n){return j.getValues().forEach(g(n)),void f.onError(n)}o.setDisposable(p.take(1).subscribe(vb,function(a){j.getValues().forEach(g(a)),f.onError(a)},q))},function(a){j.getValues().forEach(g(a)),f.onError(a)},f.onCompleted.bind(f))),h.add(a.subscribe(function(a){var b=m++;k.add(b,a);var d=new yc;h.add(d);var e,i=function(){k.remove(b),h.remove(d)};try{e=c(a)}catch(l){return j.getValues().forEach(g(l)),void f.onError(l)}d.setDisposable(e.take(1).subscribe(vb,function(a){j.getValues().forEach(g(a)),f.onError(a)},i)),j.getValues().forEach(function(b){b.onNext(a)})},function(a){j.getValues().forEach(g(a)),f.onError(a)})),i},e)},Yc.buffer=function(){return this.window.apply(this,arguments).selectMany(function(a){return a.toArray()})},Yc.window=function(a,b){return 1===arguments.length&&"function"!=typeof arguments[0]?_.call(this,a):"function"==typeof a?ab.call(this,a):$.call(this,a,b)},Yc.pairwise=function(){var a=this;return new Od(function(b){var c,d=!1;return a.subscribe(function(a){d?b.onNext([c,a]):d=!0,c=a},b.onError.bind(b),b.onCompleted.bind(b))},a)},Yc.partition=function(a,b){var c=this.publish().refCount();return[c.filter(a,b),c.filter(function(c,d,e){return!a.call(b,c,d,e)})]},Yc.letBind=Yc.let=function(a){return a(this)},cd["if"]=cd.ifThen=function(a,b,c){return ed(function(){return c||(c=fd()),Cb(b)&&(b=dd(b)),Cb(c)&&(c=dd(c)),"function"==typeof c.now&&(c=fd(c)),a()?b:c})},cd["for"]=cd.forIn=function(a,b,c){return Vc(a,b,c).concat()};var Id=cd["while"]=cd.whileDo=function(a,b){return Cb(b)&&(b=dd(b)),bb(a,b).concat()};Yc.doWhile=function(a){return od([this,Id(a,this)])},cd["case"]=cd.switchCase=function(a,b,c){return ed(function(){Cb(c)&&(c=dd(c)),c||(c=fd()),"function"==typeof c.now&&(c=fd(c));var d=b[a()];return Cb(d)&&(d=dd(d)),d||c})},Yc.expand=function(a,b){wb(b)||(b=Gc);var c=this;return new Od(function(d){var e=[],f=new zc,g=new tc(f),h=0,i=!1,j=function(){var c=!1;e.length>0&&(c=!i,i=!0),c&&f.setDisposable(b.scheduleRecursive(function(b){var c;if(!(e.length>0))return void(i=!1);c=e.shift();var f=new yc;g.add(f),f.setDisposable(c.subscribe(function(b){d.onNext(b);var c=null;try{c=a(b)}catch(f){d.onError(f)}e.push(c),h++,j()},d.onError.bind(d),function(){g.remove(f),h--,0===h&&d.onCompleted()})),b()}))};return e.push(c),h++,j(),g},this)},cd.forkJoin=function(){var a=o(arguments,0);return new Od(function(b){var c=a.length;if(0===c)return b.onCompleted(),xc;for(var d=new tc,e=!1,f=new Array(c),g=new Array(c),h=new Array(c),i=0;c>i;i++)!function(i){var j=a[i];Cb(j)&&(j=dd(j)),d.add(j.subscribe(function(a){e||(f[i]=!0,h[i]=a)},function(a){e=!0,b.onError(a),d.dispose()},function(){if(!e){if(!f[i])return void b.onCompleted();g[i]=!0;for(var a=0;c>a;a++)if(!g[a])return;e=!0,b.onNext(h),b.onCompleted()}}))}(i);return d})},Yc.forkJoin=function(a,b){var c=this;return new Od(function(d){var e,f,g=!1,h=!1,i=!1,j=!1,k=new yc,l=new yc;return Cb(a)&&(a=dd(a)),k.setDisposable(c.subscribe(function(a){i=!0,e=a},function(a){l.dispose(),d.onError(a)},function(){if(g=!0,h)if(i)if(j){var a;try{a=b(e,f)}catch(c){return void d.onError(c)}d.onNext(a),d.onCompleted()}else d.onCompleted();else d.onCompleted()})),l.setDisposable(a.subscribe(function(a){j=!0,f=a},function(a){k.dispose(),d.onError(a)},function(){if(h=!0,g)if(i)if(j){var a;try{a=b(e,f)}catch(c){return void d.onError(c)}d.onNext(a),d.onCompleted()}else d.onCompleted();else d.onCompleted()})),new tc(k,l)},c)},Yc.manySelect=function(a,b){wb(b)||(b=Gc);var c=this;return ed(function(){var d;return c.map(function(a){var b=new Jd(a);return d&&d.onNext(a),d=b,b}).tap(vb,function(a){d&&d.onError(a)},function(){d&&d.onCompleted()}).observeOn(b).map(a)},c)};var Jd=function(a){function b(a){var b=this,c=new tc;return c.add(Hc.schedule(function(){a.onNext(b.head),c.add(b.tail.mergeAll().subscribe(a))})),c}function c(c){a.call(this,b),this.head=c,this.tail=new Sd}return oc(c,a),pc(c.prototype,Wc,{onCompleted:function(){this.onNext(cd.empty())},onError:function(a){this.onNext(cd.throwException(a))},onNext:function(a){this.tail.onNext(a),this.tail.onCompleted()}}),c}(cd),Kd=pb.Map||function(){function b(){this._keys=[],this._values=[]}return b.prototype.get=function(b){var c=this._keys.indexOf(b);return-1!==c?this._values[c]:a},b.prototype.set=function(a,b){var c=this._keys.indexOf(a);-1!==c&&(this._values[c]=b),this._values[this._keys.push(a)-1]=b},b.prototype.forEach=function(a,b){for(var c=0,d=this._keys.length;d>c;c++)a.call(b,this._values[c],this._keys[c])},b}();db.prototype.and=function(a){return new db(this.patterns.concat(a))},db.prototype.thenDo=function(a){return new eb(this,a)},eb.prototype.activate=function(a,b,c){for(var d=this,e=[],f=0,g=this.expression.patterns.length;g>f;f++)e.push(fb(a,this.expression.patterns[f],b.onError.bind(b)));var h=new gb(e,function(){var a;try{a=d.selector.apply(d,arguments)}catch(c){return void b.onError(c)}b.onNext(a)},function(){for(var a=0,b=e.length;b>a;a++)e[a].removeActivePlan(h);c(h)});for(f=0,g=e.length;g>f;f++)e[f].addActivePlan(h);return h},gb.prototype.dequeue=function(){this.joinObservers.forEach(function(a){a.queue.shift()})},gb.prototype.match=function(){var a,b,c=!0;for(a=0,b=this.joinObserverArray.length;b>a;a++)if(0===this.joinObserverArray[a].queue.length){c=!1;break}if(c){var d=[],e=!1;for(a=0,b=this.joinObserverArray.length;b>a;a++)d.push(this.joinObserverArray[a].queue[0]),"C"===this.joinObserverArray[a].queue[0].kind&&(e=!0);if(e)this.onCompleted();else{this.dequeue();var f=[];for(a=0,b=d.length;a<d.length;a++)f.push(d[a].value);this.onNext.apply(this,f)}}};var Ld=function(a){function b(b,c){a.call(this),this.source=b,this.onError=c,this.queue=[],this.activePlans=[],this.subscription=new yc,this.isDisposed=!1}oc(b,a);var c=b.prototype;return c.next=function(a){if(!this.isDisposed){if("E"===a.kind)return void this.onError(a.exception);this.queue.push(a);for(var b=this.activePlans.slice(0),c=0,d=b.length;d>c;c++)b[c].match()}},c.error=vb,c.completed=vb,c.addActivePlan=function(a){this.activePlans.push(a)},c.subscribe=function(){this.subscription.setDisposable(this.source.materialize().subscribe(this))},c.removeActivePlan=function(a){this.activePlans.splice(this.activePlans.indexOf(a),1),0===this.activePlans.length&&this.dispose()},c.dispose=function(){a.prototype.dispose.call(this),this.isDisposed||(this.isDisposed=!0,this.subscription.dispose())},b}(Zc);Yc.and=function(a){return new db([this,a])},Yc.thenDo=function(a){return new db([this]).thenDo(a)},cd.when=function(){var a=o(arguments,0);return new Od(function(b){var c=[],d=new Kd,e=Xc(b.onNext.bind(b),function(a){d.forEach(function(b){b.onError(a)}),b.onError(a)},b.onCompleted.bind(b));try{for(var f=0,g=a.length;g>f;f++)c.push(a[f].activate(d,e,function(a){var d=c.indexOf(a);c.splice(d,1),0===c.length&&b.onCompleted()}))}catch(h){ld(h).subscribe(b)}var i=new tc;return d.forEach(function(a){a.subscribe(),i.add(a)}),i})};var Md=cd.interval=function(a,b){return kb(a,a,wb(b)?b:Mc)},Nd=cd.timer=function(b,c,d){var e;return wb(d)||(d=Mc),c!==a&&"number"==typeof c?e=c:wb(c)&&(d=c),b instanceof Date&&e===a?hb(b.getTime(),d):b instanceof Date&&e!==a?(e=c,ib(b.getTime(),e,d)):e===a?jb(b,d):kb(b,e,d)};Yc.delay=function(a,b){return wb(b)||(b=Mc),a instanceof Date?mb(this,a.getTime(),b):lb(this,a,b)},Yc.debounce=Yc.throttleWithTimeout=function(a,b){wb(b)||(b=Mc);var c=this;return new Od(function(d){var e,f=new zc,g=!1,h=0,i=c.subscribe(function(c){g=!0,e=c,h++;var i=h,j=new yc;f.setDisposable(j),j.setDisposable(b.scheduleWithRelative(a,function(){g&&h===i&&d.onNext(e),g=!1}))},function(a){f.dispose(),d.onError(a),g=!1,h++},function(){f.dispose(),g&&d.onNext(e),d.onCompleted(),g=!1,h++});return new tc(i,f)},this)},Yc.throttle=function(a,b){return Sb("throttle","debounce or throttleWithTimeout"),this.debounce(a,b)},Yc.windowWithTime=function(a,b,c){var d,e=this;return null==b&&(d=a),wb(c)||(c=Mc),"number"==typeof b?d=b:wb(b)&&(d=a,c=b),new Od(function(b){function f(){var a=new yc,e=!1,g=!1;l.setDisposable(a),j===i?(e=!0,g=!0):i>j?e=!0:g=!0;var n=e?j:i,o=n-m;m=n,e&&(j+=d),g&&(i+=d),a.setDisposable(c.scheduleWithRelative(o,function(){if(g){var a=new Rd;k.push(a),b.onNext(qc(a,h))}e&&k.shift().onCompleted(),f()}))}var g,h,i=d,j=a,k=[],l=new zc,m=0;return g=new tc(l),h=new Ac(g),k.push(new Rd),b.onNext(qc(k[0],h)),f(),g.add(e.subscribe(function(a){for(var b=0,c=k.length;c>b;b++)k[b].onNext(a)},function(a){for(var c=0,d=k.length;d>c;c++)k[c].onError(a);b.onError(a)},function(){for(var a=0,c=k.length;c>a;a++)k[a].onCompleted();b.onCompleted()})),h},e)},Yc.windowWithTimeOrCount=function(a,b,c){var d=this;return wb(c)||(c=Mc),new Od(function(e){function f(b){var d=new yc;g.setDisposable(d),d.setDisposable(c.scheduleWithRelative(a,function(){if(b===k){j=0;var a=++k;l.onCompleted(),l=new Rd,e.onNext(qc(l,i)),f(a)}}))}var g=new zc,h=new tc(g),i=new Ac(h),j=0,k=0,l=new Rd;return e.onNext(qc(l,i)),f(0),h.add(d.subscribe(function(a){var c=0,d=!1;l.onNext(a),++j===b&&(d=!0,j=0,c=++k,l.onCompleted(),l=new Rd,e.onNext(qc(l,i))),d&&f(c)},function(a){l.onError(a),e.onError(a)},function(){l.onCompleted(),e.onCompleted()})),i},d)},Yc.bufferWithTime=function(){return this.windowWithTime.apply(this,arguments).selectMany(function(a){return a.toArray()})},Yc.bufferWithTimeOrCount=function(a,b,c){return this.windowWithTimeOrCount(a,b,c).selectMany(function(a){return a.toArray()})},Yc.timeInterval=function(a){var b=this;return wb(a)||(a=Mc),ed(function(){var c=a.now();return b.map(function(b){var d=a.now(),e=d-c;return c=d,{value:b,interval:e}})})},Yc.timestamp=function(a){return wb(a)||(a=Mc),this.map(function(b){return{value:b,timestamp:a.now()}})},Yc.sample=Yc.throttleLatest=function(a,b){return wb(b)||(b=Mc),"number"==typeof a?nb(this,Md(a,b)):nb(this,a)},Yc.timeout=function(a,b,c){(null==b||"string"==typeof b)&&(b=ld(new Error(b||"Timeout"))),wb(c)||(c=Mc);var d=this,e=a instanceof Date?"scheduleWithAbsolute":"scheduleWithRelative";return new Od(function(f){function g(){var d=h;l.setDisposable(c[e](a,function(){h===d&&(Cb(b)&&(b=dd(b)),j.setDisposable(b.subscribe(f)))}))}var h=0,i=new yc,j=new zc,k=!1,l=new zc;return j.setDisposable(i),g(),i.setDisposable(d.subscribe(function(a){k||(h++,f.onNext(a),g())},function(a){k||(h++,f.onError(a))},function(){k||(h++,f.onCompleted())})),new tc(j,l)},d)},cd.generateWithAbsoluteTime=function(a,b,c,d,e,f){return wb(f)||(f=Mc),new Od(function(g){var h,i,j=!0,k=!1,l=a;return f.scheduleRecursiveWithAbsolute(f.now(),function(a){k&&g.onNext(h);try{j?j=!1:l=c(l),k=b(l),k&&(h=d(l),i=e(l))}catch(f){return void g.onError(f)}k?a(i):g.onCompleted()})})},cd.generateWithRelativeTime=function(a,b,c,d,e,f){return wb(f)||(f=Mc),new Od(function(g){var h,i,j=!0,k=!1,l=a;return f.scheduleRecursiveWithRelative(0,function(a){k&&g.onNext(h);try{j?j=!1:l=c(l),k=b(l),k&&(h=d(l),i=e(l))}catch(f){return void g.onError(f)}k?a(i):g.onCompleted()})})},Yc.delaySubscription=function(a,b){return this.delayWithSelector(Nd(a,wb(b)?b:Mc),fd)},Yc.delayWithSelector=function(a,b){var c,d,e=this;return"function"==typeof a?d=a:(c=a,d=b),new Od(function(a){var b=new tc,f=!1,g=function(){f&&0===b.length&&a.onCompleted()},h=new zc,i=function(){h.setDisposable(e.subscribe(function(c){var e;try{e=d(c)}catch(f){return void a.onError(f)}var h=new yc;b.add(h),h.setDisposable(e.subscribe(function(){a.onNext(c),b.remove(h),g()},a.onError.bind(a),function(){a.onNext(c),b.remove(h),g()}))},a.onError.bind(a),function(){f=!0,h.dispose(),g()}))};return c?h.setDisposable(c.subscribe(i,a.onError.bind(a),i)):i(),new tc(h,b)},this)},Yc.timeoutWithSelector=function(a,b,c){1===arguments.length&&(b=a,a=jd()),c||(c=ld(new Error("Timeout")));var d=this;return new Od(function(e){function f(a){function b(){return k===d}var d=k,f=new yc;i.setDisposable(f),f.setDisposable(a.subscribe(function(){b()&&h.setDisposable(c.subscribe(e)),f.dispose()},function(a){b()&&e.onError(a)},function(){b()&&h.setDisposable(c.subscribe(e))}))}function g(){var a=!l;return a&&k++,a}var h=new zc,i=new zc,j=new yc;h.setDisposable(j);var k=0,l=!1;return f(a),j.setDisposable(d.subscribe(function(a){if(g()){e.onNext(a);var c;try{c=b(a)}catch(d){return void e.onError(d)}f(Cb(c)?dd(c):c)}},function(a){g()&&e.onError(a)},function(){g()&&e.onCompleted()})),new tc(h,i)},d)},Yc.debounceWithSelector=function(a){var b=this;return new Od(function(c){var d,e=!1,f=new zc,g=0,h=b.subscribe(function(b){var h;try{h=a(b)}catch(i){return void c.onError(i)}Cb(h)&&(h=dd(h)),e=!0,d=b,g++;var j=g,k=new yc;f.setDisposable(k),k.setDisposable(h.subscribe(function(){e&&g===j&&c.onNext(d),e=!1,k.dispose()},c.onError.bind(c),function(){e&&g===j&&c.onNext(d),e=!1,k.dispose()}))},function(a){f.dispose(),c.onError(a),e=!1,g++},function(){f.dispose(),e&&c.onNext(d),c.onCompleted(),e=!1,g++});return new tc(h,f)},b)},Yc.throttleWithSelector=function(){return Sb("throttleWithSelector","debounceWithSelector"),this.debounceWithSelector.apply(this,arguments)},Yc.skipLastWithTime=function(a,b){wb(b)||(b=Mc);var c=this;return new Od(function(d){var e=[];return c.subscribe(function(c){var f=b.now();for(e.push({interval:f,value:c});e.length>0&&f-e[0].interval>=a;)d.onNext(e.shift().value)},d.onError.bind(d),function(){for(var c=b.now();e.length>0&&c-e[0].interval>=a;)d.onNext(e.shift().value);d.onCompleted()})},c)},Yc.takeLastWithTime=function(a,b){var c=this;return wb(b)||(b=Mc),new Od(function(d){var e=[];return c.subscribe(function(c){var d=b.now();for(e.push({interval:d,value:c});e.length>0&&d-e[0].interval>=a;)e.shift()},d.onError.bind(d),function(){for(var c=b.now();e.length>0;){var f=e.shift();c-f.interval<=a&&d.onNext(f.value)}d.onCompleted()})},c)},Yc.takeLastBufferWithTime=function(a,b){var c=this;return wb(b)||(b=Mc),new Od(function(d){var e=[];return c.subscribe(function(c){var d=b.now();for(e.push({interval:d,value:c});e.length>0&&d-e[0].interval>=a;)e.shift()},d.onError.bind(d),function(){for(var c=b.now(),f=[];e.length>0;){var g=e.shift();c-g.interval<=a&&f.push(g.value)}d.onNext(f),d.onCompleted()})},c)},Yc.takeWithTime=function(a,b){var c=this;return wb(b)||(b=Mc),new Od(function(d){return new tc(b.scheduleWithRelative(a,d.onCompleted.bind(d)),c.subscribe(d))},c)},Yc.skipWithTime=function(a,b){var c=this;return wb(b)||(b=Mc),new Od(function(d){var e=!1;return new tc(b.scheduleWithRelative(a,function(){e=!0}),c.subscribe(function(a){e&&d.onNext(a)},d.onError.bind(d),d.onCompleted.bind(d)))},c)},Yc.skipUntilWithTime=function(a,b){wb(b)||(b=Mc);var c=this,d=a instanceof Date?"scheduleWithAbsolute":"scheduleWithRelative";return new Od(function(e){var f=!1;return new tc(b[d](a,function(){f=!0}),c.subscribe(function(a){f&&e.onNext(a)},e.onError.bind(e),e.onCompleted.bind(e)))},c)},Yc.takeUntilWithTime=function(a,b){wb(b)||(b=Mc);var c=this,d=a instanceof Date?"scheduleWithAbsolute":"scheduleWithRelative";return new Od(function(e){return new tc(b[d](a,e.onCompleted.bind(e)),c.subscribe(e))},c)},Yc.throttleFirst=function(a,b){wb(b)||(b=Mc);var c=+a||0;if(0>=c)throw new RangeError("windowDuration cannot be less or equal zero.");var d=this;return new Od(function(a){var e=0;return d.subscribe(function(d){var f=b.now();(0===e||f-e>=c)&&(e=f,a.onNext(d))},a.onError.bind(a),a.onCompleted.bind(a))},d)},Yc.transduce=function(a){function b(a){return{init:function(){return a},step:function(a,b){return a.onNext(b)},result:function(a){return a.onCompleted()}}}var c=this;return new Od(function(d){var e=a(b(d));return c.subscribe(function(a){try{e.step(d,a)}catch(b){d.onError(b)}},d.onError.bind(d),function(){e.result(d)})},c)},Yc.exclusive=function(){var a=this;return new Od(function(b){var c=!1,d=!1,e=new yc,f=new tc;return f.add(e),e.setDisposable(a.subscribe(function(a){if(!c){c=!0,Cb(a)&&(a=dd(a));var e=new yc;f.add(e),e.setDisposable(a.subscribe(b.onNext.bind(b),b.onError.bind(b),function(){f.remove(e),c=!1,d&&1===f.length&&b.onCompleted()}))}},b.onError.bind(b),function(){d=!0,c||1!==f.length||b.onCompleted()})),f},this)},Yc.exclusiveMap=function(a,b){var c=this;return new Od(function(d){var e=0,f=!1,g=!0,h=new yc,i=new tc;return i.add(h),h.setDisposable(c.subscribe(function(c){f||(f=!0,innerSubscription=new yc,i.add(innerSubscription),Cb(c)&&(c=dd(c)),innerSubscription.setDisposable(c.subscribe(function(f){var g;try{g=a.call(b,f,e++,c)}catch(h){return void d.onError(h)}d.onNext(g)},d.onError.bind(d),function(){i.remove(innerSubscription),f=!1,g&&1===i.length&&d.onCompleted()})))},d.onError.bind(d),function(){g=!0,1!==i.length||f||d.onCompleted()})),i},this)},ub.VirtualTimeScheduler=function(a){function b(){throw new Error("Not implemented")}function c(){return this.toDateTimeOffset(this.clock)}function d(a,b){return this.scheduleAbsoluteWithState(a,this.clock,b)}function e(a,b,c){return this.scheduleRelativeWithState(a,this.toRelative(b),c)}function f(a,b,c){return this.scheduleRelativeWithState(a,this.toRelative(b-this.now()),c)}function g(a,b){return b(),xc}function h(b,g){this.clock=b,this.comparer=g,this.isEnabled=!1,this.queue=new rc(1024),a.call(this,c,d,e,f)}oc(h,a);var i=h.prototype;return i.add=b,i.toDateTimeOffset=b,i.toRelative=b,i.schedulePeriodicWithState=function(a,b,c){var d=new Fc(this,a,b,c);return d.start()},i.scheduleRelativeWithState=function(a,b,c){var d=this.add(this.clock,b);return this.scheduleAbsoluteWithState(a,d,c)},i.scheduleRelative=function(a,b){return this.scheduleRelativeWithState(b,a,g)},i.start=function(){if(!this.isEnabled){this.isEnabled=!0;do{var a=this.getNext();null!==a?(this.comparer(a.dueTime,this.clock)>0&&(this.clock=a.dueTime),a.invoke()):this.isEnabled=!1}while(this.isEnabled)}},i.stop=function(){this.isEnabled=!1},i.advanceTo=function(a){var b=this.comparer(this.clock,a);if(this.comparer(this.clock,a)>0)throw new Error(Gb);if(0!==b&&!this.isEnabled){this.isEnabled=!0;do{var c=this.getNext();null!==c&&this.comparer(c.dueTime,a)<=0?(this.comparer(c.dueTime,this.clock)>0&&(this.clock=c.dueTime),c.invoke()):this.isEnabled=!1}while(this.isEnabled);this.clock=a}},i.advanceBy=function(a){var b=this.add(this.clock,a),c=this.comparer(this.clock,b);if(c>0)throw new Error(Gb);0!==c&&this.advanceTo(b)},i.sleep=function(a){var b=this.add(this.clock,a);if(this.comparer(this.clock,b)>=0)throw new Error(Gb);this.clock=b},i.getNext=function(){for(;this.queue.length>0;){var a=this.queue.peek();if(!a.isCancelled())return a;this.queue.dequeue()}return null},i.scheduleAbsolute=function(a,b){return this.scheduleAbsoluteWithState(b,a,g)},i.scheduleAbsoluteWithState=function(a,b,c){function d(a,b){return e.queue.remove(f),c(a,b)}var e=this,f=new Bc(this,a,d,b,this.comparer);return this.queue.enqueue(f),f.disposable},h}(Cc),ub.HistoricalScheduler=function(a){function b(b,c){var d=null==b?0:b,e=c||Ab;a.call(this,d,e)}oc(b,a);var c=b.prototype;return c.add=function(a,b){return a+b},c.toDateTimeOffset=function(a){return new Date(a).getTime()},c.toRelative=function(a){return a},b}(ub.VirtualTimeScheduler);var Od=ub.AnonymousObservable=function(a){function b(a){return a&&"function"==typeof a.dispose?a:"function"==typeof a?wc(a):xc}function c(d,e){function f(a){var c=function(){try{e.setDisposable(b(d(e)))}catch(a){if(!e.fail(a))throw a}},e=new Pd(a);return Hc.scheduleRequired()?Hc.schedule(c):c(),e}return this.source=e,this instanceof c?void a.call(this,f):new c(d)}return oc(c,a),c}(cd),Pd=function(a){function b(b){a.call(this),this.observer=b,this.m=new yc}oc(b,a);var c=b.prototype;return c.next=function(a){var b=!1;try{this.observer.onNext(a),b=!0}catch(c){throw c}finally{!b&&this.dispose()}},c.error=function(a){try{this.observer.onError(a)}catch(b){throw b}finally{this.dispose()}},c.completed=function(){try{this.observer.onCompleted()}catch(a){throw a}finally{this.dispose()}},c.setDisposable=function(a){this.m.setDisposable(a)},c.getDisposable=function(){return this.m.getDisposable()},c.dispose=function(){a.prototype.dispose.call(this),this.m.dispose()},b}(Zc),Qd=function(a){function b(a){return this.underlyingObservable.subscribe(a)}function c(c,d,e){a.call(this,b),this.key=c,this.underlyingObservable=e?new Od(function(a){return new tc(e.getDisposable(),d.subscribe(a))}):d}return oc(c,a),c}(cd),Rd=ub.Subject=function(a){function c(a){return b.call(this),this.isStopped?this.exception?(a.onError(this.exception),xc):(a.onCompleted(),xc):(this.observers.push(a),new Dd(this,a))}function d(){a.call(this,c),this.isDisposed=!1,this.isStopped=!1,this.observers=[]}return oc(d,a),pc(d.prototype,Wc,{hasObservers:function(){return this.observers.length>0},onCompleted:function(){if(b.call(this),!this.isStopped){var a=this.observers.slice(0);this.isStopped=!0;for(var c=0,d=a.length;d>c;c++)a[c].onCompleted();this.observers=[]}},onError:function(a){if(b.call(this),!this.isStopped){var c=this.observers.slice(0);this.isStopped=!0,this.exception=a;for(var d=0,e=c.length;e>d;d++)c[d].onError(a);this.observers=[]}},onNext:function(a){if(b.call(this),!this.isStopped)for(var c=this.observers.slice(0),d=0,e=c.length;e>d;d++)c[d].onNext(a)},dispose:function(){this.isDisposed=!0,this.observers=null}}),d.create=function(a,b){return new Td(a,b)},d}(cd),Sd=ub.AsyncSubject=function(a){function c(a){if(b.call(this),!this.isStopped)return this.observers.push(a),new Dd(this,a);var c=this.exception,d=this.hasValue,e=this.value;return c?a.onError(c):d?(a.onNext(e),a.onCompleted()):a.onCompleted(),xc}function d(){a.call(this,c),this.isDisposed=!1,this.isStopped=!1,this.value=null,this.hasValue=!1,this.observers=[],this.exception=null}return oc(d,a),pc(d.prototype,Wc,{hasObservers:function(){return b.call(this),this.observers.length>0},onCompleted:function(){var a,c,d;if(b.call(this),!this.isStopped){this.isStopped=!0;var e=this.observers.slice(0),f=this.value,g=this.hasValue;if(g)for(c=0,d=e.length;d>c;c++)a=e[c],a.onNext(f),a.onCompleted();else for(c=0,d=e.length;d>c;c++)e[c].onCompleted();this.observers=[]}},onError:function(a){if(b.call(this),!this.isStopped){var c=this.observers.slice(0);this.isStopped=!0,this.exception=a;for(var d=0,e=c.length;e>d;d++)c[d].onError(a);this.observers=[]}},onNext:function(a){b.call(this),this.isStopped||(this.value=a,this.hasValue=!0)},dispose:function(){this.isDisposed=!0,this.observers=null,this.exception=null,this.value=null}}),d}(cd),Td=ub.AnonymousSubject=function(a){function b(b,c){this.observer=b,this.observable=c,a.call(this,this.observable.subscribe.bind(this.observable))}return oc(b,a),pc(b.prototype,Wc,{onCompleted:function(){this.observer.onCompleted()},onError:function(a){this.observer.onError(a)},onNext:function(a){this.observer.onNext(a)}}),b}(cd);"function"==typeof define&&"object"==typeof define.amd&&define.amd?(pb.Rx=ub,define(function(){return ub})):qb&&rb?sb?(rb.exports=ub).Rx=ub:qb.Rx=ub:pb.Rx=ub;var Ud=g()}).call(this);
2
+ (function(a){function b(){if(this.isDisposed)throw new Error(Hb)}function c(a,b){if(Ib&&b.stack&&"object"==typeof a&&null!==a&&a.stack&&-1===a.stack.indexOf(Mb)){for(var c=[],e=b;e;e=e.source)e.stack&&c.unshift(e.stack);c.unshift(a.stack);var f=c.join("\n"+Mb+"\n");a.stack=d(f)}}function d(a){for(var b=a.split("\n"),c=[],d=0,g=b.length;g>d;d++){var h=b[d];e(h)||f(h)||!h||c.push(h)}return c.join("\n")}function e(a){var b=h(a);if(!b)return!1;var c=b[0],d=b[1];return c===Kb&&d>=Lb&&Wd>=d}function f(a){return-1!==a.indexOf("(module.js:")||-1!==a.indexOf("(node.js:")}function g(){if(Ib)try{throw new Error}catch(a){var b=a.stack.split("\n"),c=b[0].indexOf("@")>0?b[1]:b[2],d=h(c);if(!d)return;return Kb=d[0],d[1]}}function h(a){var b=/at .+ \((.+):(\d+):(?:\d+)\)$/.exec(a);if(b)return[b[1],Number(b[2])];var c=/at ([^ ]+):(\d+):(?:\d+)$/.exec(a);if(c)return[c[1],Number(c[2])];var d=/.*@(.+):(\d+)$/.exec(a);return d?[d[1],Number(d[2])]:void 0}function i(a){var b=typeof a;return a&&("function"==b||"object"==b)||!1}function j(a){var b=[];if(!i(a))return b;kc.nonEnumArgs&&a.length&&lc(a)&&(a=nc.call(a));var c=kc.enumPrototypes&&"function"==typeof a,d=kc.enumErrorProps&&(a===ec||a instanceof Error);for(var e in a)c&&"prototype"==e||d&&("message"==e||"name"==e)||b.push(e);if(kc.nonEnumShadows&&a!==fc){var f=a.constructor,g=-1,h=ic.length;if(a===(f&&f.prototype))var j=a===gc?ac:a===ec?Xb:bc.call(a),k=jc[j];for(;++g<h;)e=ic[g],k&&k[e]||!cc.call(a,e)||b.push(e)}return b}function k(a,b,c){for(var d=-1,e=c(a),f=e.length;++d<f;){var g=e[d];if(b(a[g],g,a)===!1)break}return a}function l(a,b){return k(a,b,j)}function m(a){return"function"!=typeof a.toString&&"string"==typeof(a+"")}function n(a,b,c,d){if(a===b)return 0!==a||1/a==1/b;var e=typeof a,f=typeof b;if(a===a&&(null==a||null==b||"function"!=e&&"object"!=e&&"function"!=f&&"object"!=f))return!1;var g=bc.call(a),h=bc.call(b);if(g==Tb&&(g=$b),h==Tb&&(h=$b),g!=h)return!1;switch(g){case Vb:case Wb:return+a==+b;case Zb:return a!=+a?b!=+b:0==a?1/a==1/b:a==+b;case _b:case ac:return a==String(b)}var i=g==Ub;if(!i){if(g!=$b||!kc.nodeClass&&(m(a)||m(b)))return!1;var j=!kc.argsObject&&lc(a)?Object:a.constructor,k=!kc.argsObject&&lc(b)?Object:b.constructor;if(!(j==k||cc.call(a,"constructor")&&cc.call(b,"constructor")||Eb(j)&&j instanceof j&&Eb(k)&&k instanceof k||!("constructor"in a&&"constructor"in b)))return!1}c||(c=[]),d||(d=[]);for(var o=c.length;o--;)if(c[o]==a)return d[o]==b;var p=0,q=!0;if(c.push(a),d.push(b),i){if(o=a.length,p=b.length,q=p==o)for(;p--;){var r=b[p];if(!(q=n(a[p],r,c,d)))break}}else l(b,function(b,e,f){return cc.call(f,e)?(p++,q=cc.call(a,e)&&n(a[e],b,c,d)):void 0}),q&&l(a,function(a,b,c){return cc.call(c,b)?q=--p>-1:void 0});return c.pop(),d.pop(),q}function o(a,b){return 1===a.length&&Array.isArray(a[b])?a[b]:nc.call(a)}function p(a,b){for(var c=new Array(a),d=0;a>d;d++)c[d]=b();return c}function q(a,b){this.id=a,this.value=b}function r(a,b){this.scheduler=a,this.disposable=b,this.isDisposed=!1}function t(){this._s=s}function u(){this._s=s,this._l=s.length,this._i=0}function v(a){this._a=a}function w(a){this._a=a,this._l=A(a),this._i=0}function x(a){return"number"==typeof a&&pb.isFinite(a)}function y(b){var c,d=b[Nb];if(!d&&"string"==typeof b)return c=new t(b),c[Nb]();if(!d&&b.length!==a)return c=new v(b),c[Nb]();if(!d)throw new TypeError("Object is not iterable");return b[Nb]()}function z(a){var b=+a;return 0===b?b:isNaN(b)?b:0>b?-1:1}function A(a){var b=+a.length;return isNaN(b)?0:0!==b&&x(b)?(b=z(b)*Math.floor(Math.abs(b)),0>=b?0:b>gd?gd:b):b}function B(a,b){return wb(a)||(a=Hc),new Qd(function(c){var d=0,e=b.length;return a.scheduleRecursive(function(a){e>d?(c.onNext(b[d++]),a()):c.onCompleted()})})}function C(a,b){return new Qd(function(c){var d=new yc,e=new zc;return e.setDisposable(d),d.setDisposable(a.subscribe(c.onNext.bind(c),function(a){var d,f;try{f=b(a)}catch(g){return void c.onError(g)}Cb(f)&&(f=dd(f)),d=new yc,e.setDisposable(d),d.setDisposable(f.subscribe(c))},c.onCompleted.bind(c))),e},a)}function D(a,b){var c=this;return new Qd(function(d){var e=0,f=a.length;return c.subscribe(function(c){if(f>e){var g,h=a[e++];try{g=b(c,h)}catch(i){return void d.onError(i)}d.onNext(g)}else d.onCompleted()},d.onError.bind(d),d.onCompleted.bind(d))},c)}function E(a,b,c){return a.map(function(d,e){var f=b.call(c,d,e,a);return Cb(f)&&(f=dd(f)),(Qb(f)||Pb(f))&&(f=hd(f)),f}).concatAll()}function F(a,b,c){for(var d=0,e=a.length;e>d;d++)if(c(a[d],b))return d;return-1}function G(a){this.comparer=a,this.set=[]}function H(a,b,c){return a.map(function(d,e){var f=b.call(c,d,e,a);return Cb(f)&&(f=dd(f)),(Qb(f)||Pb(f))&&(f=hd(f)),f}).mergeAll()}function I(a,b,c){return new Qd(function(d){var e=!1,f=null,g=[];return a.subscribe(function(a){var h,i;try{i=b(a)}catch(j){return void d.onError(j)}if(h=0,e)try{h=c(i,f)}catch(k){return void d.onError(k)}else e=!0,f=i;h>0&&(f=i,g=[]),h>=0&&g.push(a)},d.onError.bind(d),function(){d.onNext(g),d.onCompleted()})},a)}function J(a){if(0===a.length)throw new Error(Fb);return a[0]}function K(a,b,c,d){if(0>b)throw new Error(Gb);return new Qd(function(e){var f=b;return a.subscribe(function(a){0===f--&&(e.onNext(a),e.onCompleted())},e.onError.bind(e),function(){c?(e.onNext(d),e.onCompleted()):e.onError(new Error(Gb))})},a)}function L(a,b,c){return new Qd(function(d){var e=c,f=!1;return a.subscribe(function(a){f?d.onError(new Error("Sequence contains more than one element")):(e=a,f=!0)},d.onError.bind(d),function(){f||b?(d.onNext(e),d.onCompleted()):d.onError(new Error(Fb))})},a)}function M(a,b,c){return new Qd(function(d){return a.subscribe(function(a){d.onNext(a),d.onCompleted()},d.onError.bind(d),function(){b?(d.onNext(c),d.onCompleted()):d.onError(new Error(Fb))})},a)}function N(a,b,c){return new Qd(function(d){var e=c,f=!1;return a.subscribe(function(a){e=a,f=!0},d.onError.bind(d),function(){f||b?(d.onNext(e),d.onCompleted()):d.onError(new Error(Fb))})},a)}function O(b,c,d,e){return new Qd(function(f){var g=0;return b.subscribe(function(a){var h;try{h=c.call(d,a,g,b)}catch(i){return void f.onError(i)}h?(f.onNext(e?g:a),f.onCompleted()):g++},f.onError.bind(f),function(){f.onNext(e?-1:a),f.onCompleted()})},b)}function P(a,b){return Array.isArray(a)?Q.call(b,a):U(a)?td(a.call(b)):V(a)?td(a):T(a)?R(a):Cb(a)?S(a):typeof a===rd?a:i(a)||Array.isArray(a)?Q.call(b,a):a}function Q(a){var b=this;return function(c){function d(a,d){if(!e)try{if(a=P(a,b),typeof a!==rd)return h[d]=a,--g||c(null,h);a.call(b,function(a,b){if(!e){if(a)return e=!0,c(a);h[d]=b,--g||c(null,h)}})}catch(f){e=!0,c(f)}}var e,f=Object.keys(a),g=f.length,h=new a.constructor;if(!g)return void Mc.schedule(function(){c(null,h)});for(var i=0,j=f.length;j>i;i++)d(a[f[i]],f[i])}}function R(a){return function(b){var c,d=!1;a.subscribe(function(a){c=a,d=!0},b,function(){d&&b(null,c)})}}function S(a){return function(b){a.then(function(a){b(null,a)},b)}}function T(a){return a&&typeof a.subscribe===rd}function U(a){return a&&a.constructor&&"GeneratorFunction"===a.constructor.name}function V(a){return a&&typeof a.next===rd&&typeof a[sd]===rd}function i(a){return a&&a.constructor===Object}function W(a){a&&Mc.schedule(function(){throw a})}function X(a,b,c){if(a.addEventListener)return a.addEventListener(b,c,!1),wc(function(){a.removeEventListener(b,c,!1)});throw new Error("No listener found")}function Y(a,b,c){var d=new tc;if("[object NodeList]"===Object.prototype.toString.call(a))for(var e=0,f=a.length;f>e;e++)d.add(Y(a.item(e),b,c));else a&&d.add(X(a,b,c));return d}function Z(a,b,c){return new Qd(function(d){function e(a,b){j[b]=a;var e;if(g[b]=!0,h||(h=g.every(xb))){if(f)return void d.onError(f);try{e=c.apply(null,j)}catch(k){return void d.onError(k)}d.onNext(e)}i&&j[1]&&d.onCompleted()}var f,g=[!1,!1],h=!1,i=!1,j=new Array(2);return new tc(a.subscribe(function(a){e(a,0)},function(a){j[1]?d.onError(a):f=a},function(){i=!0,j[1]&&d.onCompleted()}),b.subscribe(function(a){e(a,1)},d.onError.bind(d),function(){i=!0,e(!0,1)}))},a)}function $(a,b){return a.groupJoin(this,b,fd,function(a,b){return b})}function _(a){var b=this;return new Qd(function(c){var d=new Td,e=new tc,f=new Ac(e);return c.onNext(qc(d,f)),e.add(b.subscribe(function(a){d.onNext(a)},function(a){d.onError(a),c.onError(a)},function(){d.onCompleted(),c.onCompleted()})),Cb(a)&&(a=dd(a)),e.add(a.subscribe(function(){d.onCompleted(),d=new Td,c.onNext(qc(d,f))},function(a){d.onError(a),c.onError(a)},function(){d.onCompleted(),c.onCompleted()})),f},b)}function ab(a){var b=this;return new Qd(function(c){function d(){var b;try{b=a()}catch(f){return void c.onError(f)}Cb(b)&&(b=dd(b));var i=new yc;e.setDisposable(i),i.setDisposable(b.take(1).subscribe(vb,function(a){h.onError(a),c.onError(a)},function(){h.onCompleted(),h=new Td,c.onNext(qc(h,g)),d()}))}var e=new zc,f=new tc(e),g=new Ac(f),h=new Td;return c.onNext(qc(h,g)),f.add(b.subscribe(function(a){h.onNext(a)},function(a){h.onError(a),c.onError(a)},function(){h.onCompleted(),c.onCompleted()})),d(),g},b)}function bb(b,c){return new Tc(function(){return new Sc(function(){return b()?{done:!1,value:c}:{done:!0,value:a}})})}function db(a){this.patterns=a}function eb(a,b){this.expression=a,this.selector=b}function fb(a,b,c){var d=a.get(b);if(!d){var e=new Nd(b,c);return a.set(b,e),e}return d}function gb(a,b,c){this.joinObserverArray=a,this.onNext=b,this.onCompleted=c,this.joinObservers=new Md;for(var d=0,e=this.joinObserverArray.length;e>d;d++){var f=this.joinObserverArray[d];this.joinObservers.set(f,f)}}function hb(a,b){return new Qd(function(c){return b.scheduleWithAbsolute(a,function(){c.onNext(0),c.onCompleted()})})}function ib(a,b,c){return new Qd(function(d){var e=0,f=a,g=Dc(b);return c.scheduleRecursiveWithAbsolute(f,function(a){if(g>0){var b=c.now();f+=g,b>=f&&(f=b+g)}d.onNext(e++),a(f)})})}function jb(a,b){return new Qd(function(c){return b.scheduleWithRelative(Dc(a),function(){c.onNext(0),c.onCompleted()})})}function kb(a,b,c){return a===b?new Qd(function(a){return c.schedulePeriodicWithState(0,b,function(b){return a.onNext(b),b+1})}):ed(function(){return ib(c.now()+a,b,c)})}function lb(a,b,c){return new Qd(function(d){var e,f=!1,g=new zc,h=null,i=[],j=!1;return e=a.materialize().timestamp(c).subscribe(function(a){var e,k;"E"===a.value.kind?(i=[],i.push(a),h=a.value.exception,k=!j):(i.push({value:a.value,timestamp:a.timestamp+b}),k=!f,f=!0),k&&(null!==h?d.onError(h):(e=new yc,g.setDisposable(e),e.setDisposable(c.scheduleRecursiveWithRelative(b,function(a){var b,e,g,k;if(null===h){j=!0;do g=null,i.length>0&&i[0].timestamp-c.now()<=0&&(g=i.shift().value),null!==g&&g.accept(d);while(null!==g);k=!1,e=0,i.length>0?(k=!0,e=Math.max(0,i[0].timestamp-c.now())):f=!1,b=h,j=!1,null!==b?d.onError(b):k&&a(e)}}))))}),new tc(e,g)},a)}function mb(a,b,c){return ed(function(){return lb(a,b-c.now(),c)})}function nb(a,b){return new Qd(function(c){function d(){g&&(g=!1,c.onNext(f)),e&&c.onCompleted()}var e,f,g;return new tc(a.subscribe(function(a){g=!0,f=a},c.onError.bind(c),function(){e=!0}),b.subscribe(d,c.onError.bind(c),d))},a)}var ob={"boolean":!1,"function":!0,object:!0,number:!1,string:!1,undefined:!1},pb=ob[typeof window]&&window||this,qb=ob[typeof exports]&&exports&&!exports.nodeType&&exports,rb=ob[typeof module]&&module&&!module.nodeType&&module,sb=rb&&rb.exports===qb&&qb,tb=ob[typeof global]&&global;!tb||tb.global!==tb&&tb.window!==tb||(pb=tb);var ub={internals:{},config:{Promise:pb.Promise},helpers:{}},vb=ub.helpers.noop=function(){},wb=(ub.helpers.notDefined=function(a){return"undefined"==typeof a},ub.helpers.isScheduler=function(a){return a instanceof ub.Scheduler}),xb=ub.helpers.identity=function(a){return a},yb=(ub.helpers.pluck=function(a){return function(b){return b[a]}},ub.helpers.just=function(a){return function(){return a}},ub.helpers.defaultNow=Date.now),zb=ub.helpers.defaultComparer=function(a,b){return mc(a,b)},Ab=ub.helpers.defaultSubComparer=function(a,b){return a>b?1:b>a?-1:0},Bb=(ub.helpers.defaultKeySerializer=function(a){return a.toString()},ub.helpers.defaultError=function(a){throw a}),Cb=ub.helpers.isPromise=function(a){return!!a&&"function"==typeof a.then},Db=(ub.helpers.asArray=function(){return Array.prototype.slice.call(arguments)},ub.helpers.not=function(a){return!a}),Eb=ub.helpers.isFunction=function(){var a=function(a){return"function"==typeof a||!1};return a(/x/)&&(a=function(a){return"function"==typeof a&&"[object Function]"==bc.call(a)}),a}(),Fb="Sequence contains no elements.",Gb="Argument out of range",Hb="Object has been disposed";ub.config.longStackSupport=!1;var Ib=!1;try{throw new Error}catch(Jb){Ib=!!Jb.stack}var Kb,Lb=g(),Mb="From previous event:",Nb="function"==typeof Symbol&&Symbol.iterator||"_es6shim_iterator_";pb.Set&&"function"==typeof(new pb.Set)["@@iterator"]&&(Nb="@@iterator");var Ob=ub.doneEnumerator={done:!0,value:a},Pb=ub.helpers.isIterable=function(b){return b[Nb]!==a},Qb=ub.helpers.isArrayLike=function(b){return b&&b.length!==a};ub.helpers.iterator=Nb;var Rb,Sb=ub.helpers.deprecate=function(){},Tb="[object Arguments]",Ub="[object Array]",Vb="[object Boolean]",Wb="[object Date]",Xb="[object Error]",Yb="[object Function]",Zb="[object Number]",$b="[object Object]",_b="[object RegExp]",ac="[object String]",bc=Object.prototype.toString,cc=Object.prototype.hasOwnProperty,dc=bc.call(arguments)==Tb,ec=Error.prototype,fc=Object.prototype,gc=String.prototype,hc=fc.propertyIsEnumerable;hc||(hc=fc.propertyIsEnumerable=function(a){for(var b in this)if(b===a)return!0;return!1});try{Rb=!(bc.call(document)==$b&&!({toString:0}+""))}catch(Jb){Rb=!0}var ic=["constructor","hasOwnProperty","isPrototypeOf","propertyIsEnumerable","toLocaleString","toString","valueOf"],jc={};jc[Ub]=jc[Wb]=jc[Zb]={constructor:!0,toLocaleString:!0,toString:!0,valueOf:!0},jc[Vb]=jc[ac]={constructor:!0,toString:!0,valueOf:!0},jc[Xb]=jc[Yb]=jc[_b]={constructor:!0,toString:!0},jc[$b]={constructor:!0};var kc={};!function(){var a=function(){this.x=1},b=[];a.prototype={valueOf:1,y:1};for(var c in new a)b.push(c);for(c in arguments);kc.enumErrorProps=hc.call(ec,"message")||hc.call(ec,"name"),kc.enumPrototypes=hc.call(a,"prototype"),kc.nonEnumArgs=0!=c,kc.nonEnumShadows=!/valueOf/.test(b)}(1);var lc=function(a){return a&&"object"==typeof a?bc.call(a)==Tb:!1};dc||(lc=function(a){return a&&"object"==typeof a?cc.call(a,"callee"):!1});var mc=ub.internals.isEqual=function(a,b){return n(a,b,[],[])},nc=Array.prototype.slice,oc=({}.hasOwnProperty,this.inherits=ub.internals.inherits=function(a,b){function c(){this.constructor=a}c.prototype=b.prototype,a.prototype=new c}),pc=ub.internals.addProperties=function(a){for(var b=nc.call(arguments,1),c=0,d=b.length;d>c;c++){var e=b[c];for(var f in e)a[f]=e[f]}},qc=ub.internals.addRef=function(a,b){return new Qd(function(c){return new tc(b.getDisposable(),a.subscribe(c))})};q.prototype.compareTo=function(a){var b=this.value.compareTo(a.value);return 0===b&&(b=this.id-a.id),b};var rc=ub.internals.PriorityQueue=function(a){this.items=new Array(a),this.length=0},sc=rc.prototype;sc.isHigherPriority=function(a,b){return this.items[a].compareTo(this.items[b])<0},sc.percolate=function(a){if(!(a>=this.length||0>a)){var b=a-1>>1;if(!(0>b||b===a)&&this.isHigherPriority(a,b)){var c=this.items[a];this.items[a]=this.items[b],this.items[b]=c,this.percolate(b)}}},sc.heapify=function(a){if(+a||(a=0),!(a>=this.length||0>a)){var b=2*a+1,c=2*a+2,d=a;if(b<this.length&&this.isHigherPriority(b,d)&&(d=b),c<this.length&&this.isHigherPriority(c,d)&&(d=c),d!==a){var e=this.items[a];this.items[a]=this.items[d],this.items[d]=e,this.heapify(d)}}},sc.peek=function(){return this.items[0].value},sc.removeAt=function(a){this.items[a]=this.items[--this.length],delete this.items[this.length],this.heapify()},sc.dequeue=function(){var a=this.peek();return this.removeAt(0),a},sc.enqueue=function(a){var b=this.length++;this.items[b]=new q(rc.count++,a),this.percolate(b)},sc.remove=function(a){for(var b=0;b<this.length;b++)if(this.items[b].value===a)return this.removeAt(b),!0;return!1},rc.count=0;var tc=ub.CompositeDisposable=function(){this.disposables=o(arguments,0),this.isDisposed=!1,this.length=this.disposables.length},uc=tc.prototype;uc.add=function(a){this.isDisposed?a.dispose():(this.disposables.push(a),this.length++)},uc.remove=function(a){var b=!1;if(!this.isDisposed){var c=this.disposables.indexOf(a);-1!==c&&(b=!0,this.disposables.splice(c,1),this.length--,a.dispose())}return b},uc.dispose=function(){if(!this.isDisposed){this.isDisposed=!0;var a=this.disposables.slice(0);this.disposables=[],this.length=0;for(var b=0,c=a.length;c>b;b++)a[b].dispose()}},uc.toArray=function(){return this.disposables.slice(0)};var vc=ub.Disposable=function(a){this.isDisposed=!1,this.action=a||vb};vc.prototype.dispose=function(){this.isDisposed||(this.action(),this.isDisposed=!0)};var wc=vc.create=function(a){return new vc(a)},xc=vc.empty={dispose:vb},yc=ub.SingleAssignmentDisposable=function(){function a(){this.isDisposed=!1,this.current=null}var b=a.prototype;return b.getDisposable=function(){return this.current},b.setDisposable=function(a){var b,c=this.isDisposed;c||(b=this.current,this.current=a),b&&b.dispose(),c&&a&&a.dispose()},b.dispose=function(){var a;this.isDisposed||(this.isDisposed=!0,a=this.current,this.current=null),a&&a.dispose()},a}(),zc=ub.SerialDisposable=yc,Ac=ub.RefCountDisposable=function(){function a(a){this.disposable=a,this.disposable.count++,this.isInnerDisposed=!1}function b(a){this.underlyingDisposable=a,this.isDisposed=!1,this.isPrimaryDisposed=!1,this.count=0}return a.prototype.dispose=function(){this.disposable.isDisposed||this.isInnerDisposed||(this.isInnerDisposed=!0,this.disposable.count--,0===this.disposable.count&&this.disposable.isPrimaryDisposed&&(this.disposable.isDisposed=!0,this.disposable.underlyingDisposable.dispose()))},b.prototype.dispose=function(){this.isDisposed||this.isPrimaryDisposed||(this.isPrimaryDisposed=!0,0===this.count&&(this.isDisposed=!0,this.underlyingDisposable.dispose()))},b.prototype.getDisposable=function(){return this.isDisposed?xc:new a(this)},b}();r.prototype.dispose=function(){var a=this;this.scheduler.schedule(function(){a.isDisposed||(a.isDisposed=!0,a.disposable.dispose())})};var Bc=ub.internals.ScheduledItem=function(a,b,c,d,e){this.scheduler=a,this.state=b,this.action=c,this.dueTime=d,this.comparer=e||Ab,this.disposable=new yc};Bc.prototype.invoke=function(){this.disposable.setDisposable(this.invokeCore())},Bc.prototype.compareTo=function(a){return this.comparer(this.dueTime,a.dueTime)},Bc.prototype.isCancelled=function(){return this.disposable.isDisposed},Bc.prototype.invokeCore=function(){return this.action(this.scheduler,this.state)};var Cc=ub.Scheduler=function(){function a(a,b,c,d){this.now=a,this._schedule=b,this._scheduleRelative=c,this._scheduleAbsolute=d}function b(a,b){return b(),xc}var c=a.prototype;return c.schedule=function(a){return this._schedule(a,b)},c.scheduleWithState=function(a,b){return this._schedule(a,b)},c.scheduleWithRelative=function(a,c){return this._scheduleRelative(c,a,b)},c.scheduleWithRelativeAndState=function(a,b,c){return this._scheduleRelative(a,b,c)},c.scheduleWithAbsolute=function(a,c){return this._scheduleAbsolute(c,a,b)},c.scheduleWithAbsoluteAndState=function(a,b,c){return this._scheduleAbsolute(a,b,c)},a.now=yb,a.normalize=function(a){return 0>a&&(a=0),a},a}(),Dc=Cc.normalize;!function(a){function b(a,b){var c=b.first,d=b.second,e=new tc,f=function(b){d(b,function(b){var c=!1,d=!1,g=a.scheduleWithState(b,function(a,b){return c?e.remove(g):d=!0,f(b),xc});d||(e.add(g),c=!0)})};return f(c),e}function c(a,b,c){var d=b.first,e=b.second,f=new tc,g=function(b){e(b,function(b,d){var e=!1,h=!1,i=a[c].call(a,b,d,function(a,b){return e?f.remove(i):h=!0,g(b),xc});h||(f.add(i),e=!0)})};return g(d),f}function d(a,b){a(function(c){b(a,c)})}a.scheduleRecursive=function(a){return this.scheduleRecursiveWithState(a,function(a,b){a(function(){b(a)})})},a.scheduleRecursiveWithState=function(a,c){return this.scheduleWithState({first:a,second:c},b)},a.scheduleRecursiveWithRelative=function(a,b){return this.scheduleRecursiveWithRelativeAndState(b,a,d)},a.scheduleRecursiveWithRelativeAndState=function(a,b,d){return this._scheduleRelative({first:a,second:d},b,function(a,b){return c(a,b,"scheduleWithRelativeAndState")})},a.scheduleRecursiveWithAbsolute=function(a,b){return this.scheduleRecursiveWithAbsoluteAndState(b,a,d)},a.scheduleRecursiveWithAbsoluteAndState=function(a,b,d){return this._scheduleAbsolute({first:a,second:d},b,function(a,b){return c(a,b,"scheduleWithAbsoluteAndState")})}}(Cc.prototype),function(){Cc.prototype.schedulePeriodic=function(a,b){return this.schedulePeriodicWithState(null,a,b)},Cc.prototype.schedulePeriodicWithState=function(a,b,c){if("undefined"==typeof pb.setInterval)throw new Error("Periodic scheduling not supported.");var d=a,e=pb.setInterval(function(){d=c(d)},b);return wc(function(){pb.clearInterval(e)})}}(Cc.prototype),function(a){a.catchError=a["catch"]=function(a){return new Nc(this,a)}}(Cc.prototype);var Ec,Fc=ub.internals.SchedulePeriodicRecursive=function(){function a(a,b){b(0,this._period);try{this._state=this._action(this._state)}catch(c){throw this._cancel.dispose(),c}}function b(a,b,c,d){this._scheduler=a,this._state=b,this._period=c,this._action=d}return b.prototype.start=function(){var b=new yc;return this._cancel=b,b.setDisposable(this._scheduler.scheduleRecursiveWithRelativeAndState(0,this._period,a.bind(this))),b},b}(),Gc=Cc.immediate=function(){function a(a,b){return b(this,a)}function b(a,b,c){for(var d=Dc(b);d-this.now()>0;);return c(this,a)}function c(a,b,c){return this.scheduleWithRelativeAndState(a,b-this.now(),c)}return new Cc(yb,a,b,c)}(),Hc=Cc.currentThread=function(){function a(a){for(var b;a.length>0;)if(b=a.dequeue(),!b.isCancelled()){for(;b.dueTime-Cc.now()>0;);b.isCancelled()||b.invoke()}}function b(a,b){return this.scheduleWithRelativeAndState(a,0,b)}function c(b,c,d){var f=this.now()+Cc.normalize(c),g=new Bc(this,b,d,f);if(e)e.enqueue(g);else{e=new rc(4),e.enqueue(g);try{a(e)}catch(h){throw h}finally{e=null}}return g.disposable}function d(a,b,c){return this.scheduleWithRelativeAndState(a,b-this.now(),c)}var e,f=new Cc(yb,b,c,d);return f.scheduleRequired=function(){return!e},f.ensureTrampoline=function(a){e?a():this.schedule(a)},f}(),Ic=vb,Jc=function(){var a,b=vb;if("WScript"in this)a=function(a,b){WScript.Sleep(b),a()};else{if(!pb.setTimeout)throw new Error("No concurrency detected!");a=pb.setTimeout,b=pb.clearTimeout}return{setTimeout:a,clearTimeout:b}}(),Kc=Jc.setTimeout,Lc=Jc.clearTimeout;!function(){function a(){if(!pb.postMessage||pb.importScripts)return!1;var a=!1,b=pb.onmessage;return pb.onmessage=function(){a=!0},pb.postMessage("","*"),pb.onmessage=b,a}var b=RegExp("^"+String(bc).replace(/[.*+?^${}()|[\]\\]/g,"\\$&").replace(/toString| for [^\]]+/g,".*?")+"$"),c="function"==typeof(c=tb&&sb&&tb.setImmediate)&&!b.test(c)&&c,d="function"==typeof(d=tb&&sb&&tb.clearImmediate)&&!b.test(d)&&d;if("function"==typeof c)Ec=c,Ic=d;else if("undefined"!=typeof process&&"[object process]"==={}.toString.call(process))Ec=process.nextTick;else if(a()){var e="ms.rx.schedule"+Math.random(),f={},g=0,h=function(a){if("string"==typeof a.data&&a.data.substring(0,e.length)===e){var b=a.data.substring(e.length),c=f[b];c(),delete f[b]}};pb.addEventListener?pb.addEventListener("message",h,!1):pb.attachEvent("onmessage",h,!1),Ec=function(a){var b=g++;f[b]=a,pb.postMessage(e+b,"*")}}else if(pb.MessageChannel){var i=new pb.MessageChannel,j={},k=0;i.port1.onmessage=function(a){var b=a.data,c=j[b];c(),delete j[b]},Ec=function(a){var b=k++;j[b]=a,i.port2.postMessage(b)}}else"document"in pb&&"onreadystatechange"in pb.document.createElement("script")?Ec=function(a){var b=pb.document.createElement("script");b.onreadystatechange=function(){a(),b.onreadystatechange=null,b.parentNode.removeChild(b),b=null},pb.document.documentElement.appendChild(b)}:(Ec=function(a){return Kc(a,0)},Ic=Lc)}();var Mc=Cc.timeout=function(){function a(a,b){var c=this,d=new yc,e=Ec(function(){d.isDisposed||d.setDisposable(b(c,a))});return new tc(d,wc(function(){Ic(e)}))}function b(a,b,c){var d=this,e=Cc.normalize(b);if(0===e)return d.scheduleWithState(a,c);var f=new yc,g=Kc(function(){f.isDisposed||f.setDisposable(c(d,a))},e);return new tc(f,wc(function(){Lc(g)}))}function c(a,b,c){return this.scheduleWithRelativeAndState(a,b-this.now(),c)}return new Cc(yb,a,b,c)}(),Nc=function(a){function b(a,b){return this._scheduler.scheduleWithState(a,this._wrap(b))}function c(a,b,c){return this._scheduler.scheduleWithRelativeAndState(a,b,this._wrap(c))}function d(a,b,c){return this._scheduler.scheduleWithAbsoluteAndState(a,b,this._wrap(c))}function e(e,f){this._scheduler=e,this._handler=f,this._recursiveOriginal=null,this._recursiveWrapper=null,a.call(this,this._scheduler.now.bind(this._scheduler),b,c,d)}return oc(e,a),e.prototype._clone=function(a){return new e(a,this._handler)},e.prototype._wrap=function(a){var b=this;return function(c,d){try{return a(b._getRecursiveWrapper(c),d)}catch(e){if(!b._handler(e))throw e;return xc}}},e.prototype._getRecursiveWrapper=function(a){if(this._recursiveOriginal!==a){this._recursiveOriginal=a;var b=this._clone(a);b._recursiveOriginal=a,b._recursiveWrapper=b,this._recursiveWrapper=b}return this._recursiveWrapper},e.prototype.schedulePeriodicWithState=function(a,b,c){var d=this,e=!1,f=new yc;return f.setDisposable(this._scheduler.schedulePeriodicWithState(a,b,function(a){if(e)return null;try{return c(a)}catch(b){if(e=!0,!d._handler(b))throw b;return f.dispose(),null}})),f},e}(Cc),Oc=ub.Notification=function(){function a(a,b){this.hasValue=null==b?!1:b,this.kind=a}return a.prototype.accept=function(a,b,c){return a&&"object"==typeof a?this._acceptObservable(a):this._accept(a,b,c)},a.prototype.toObservable=function(a){var b=this;return wb(a)||(a=Gc),new Qd(function(c){return a.schedule(function(){b._acceptObservable(c),"N"===b.kind&&c.onCompleted()})})},a}(),Pc=Oc.createOnNext=function(){function a(a){return a(this.value)}function b(a){return a.onNext(this.value)}function c(){return"OnNext("+this.value+")"}return function(d){var e=new Oc("N",!0);return e.value=d,e._accept=a,e._acceptObservable=b,e.toString=c,e}}(),Qc=Oc.createOnError=function(){function a(a,b){return b(this.exception)}function b(a){return a.onError(this.exception)}function c(){return"OnError("+this.exception+")"}return function(d){var e=new Oc("E");return e.exception=d,e._accept=a,e._acceptObservable=b,e.toString=c,e}}(),Rc=Oc.createOnCompleted=function(){function a(a,b,c){return c()}function b(a){return a.onCompleted()}function c(){return"OnCompleted()"}return function(){var d=new Oc("C");return d._accept=a,d._acceptObservable=b,d.toString=c,d}}(),Sc=ub.internals.Enumerator=function(a){this._next=a};Sc.prototype.next=function(){return this._next()},Sc.prototype[Nb]=function(){return this};var Tc=ub.internals.Enumerable=function(a){this._iterator=a};Tc.prototype[Nb]=function(){return this._iterator()},Tc.prototype.concat=function(){var a=this;return new Qd(function(b){var c;try{c=a[Nb]()}catch(d){return void b.onError(d)}var e,f=new zc,g=Gc.scheduleRecursive(function(a){var d;if(!e){try{d=c.next()}catch(g){return void b.onError(g)}if(d.done)return void b.onCompleted();var h=d.value;Cb(h)&&(h=dd(h));var i=new yc;f.setDisposable(i),i.setDisposable(h.subscribe(b.onNext.bind(b),b.onError.bind(b),function(){a()}))}});return new tc(f,g,wc(function(){e=!0}))})},Tc.prototype.catchError=function(){var a=this;return new Qd(function(b){var c;try{c=a[Nb]()}catch(d){return void b.onError(d)}var e,f,g=new zc,h=Gc.scheduleRecursive(function(a){if(!e){var d;try{d=c.next()}catch(h){return void b.onError(h)}if(d.done)return void(f?b.onError(f):b.onCompleted());var i=d.value;Cb(i)&&(i=dd(i));var j=new yc;g.setDisposable(j),j.setDisposable(i.subscribe(b.onNext.bind(b),function(b){f=b,a()},b.onCompleted.bind(b)))}});return new tc(g,h,wc(function(){e=!0}))})};var Uc=Tc.repeat=function(a,b){return null==b&&(b=-1),new Tc(function(){var c=b;return new Sc(function(){return 0===c?Ob:(c>0&&c--,{done:!1,value:a})})})},Vc=Tc.of=function(a,b,c){return b||(b=xb),new Tc(function(){var d=-1;return new Sc(function(){return++d<a.length?{done:!1,value:b.call(c,a[d],d,a)}:Ob})})},Wc=ub.Observer=function(){};Wc.prototype.toNotifier=function(){var a=this;return function(b){return b.accept(a)}},Wc.prototype.asObserver=function(){return new $c(this.onNext.bind(this),this.onError.bind(this),this.onCompleted.bind(this))},Wc.prototype.checked=function(){return new _c(this)};var Xc=Wc.create=function(a,b,c){return a||(a=vb),b||(b=Bb),c||(c=vb),new $c(a,b,c)};Wc.fromNotifier=function(a,b){return new $c(function(c){return a.call(b,Pc(c))},function(c){return a.call(b,Qc(c))},function(){return a.call(b,Rc())})},Wc.prototype.notifyOn=function(a){return new bd(a,this)};var Yc,Zc=ub.internals.AbstractObserver=function(a){function b(){this.isStopped=!1,a.call(this)}return oc(b,a),b.prototype.onNext=function(a){this.isStopped||this.next(a)},b.prototype.onError=function(a){this.isStopped||(this.isStopped=!0,this.error(a))},b.prototype.onCompleted=function(){this.isStopped||(this.isStopped=!0,this.completed())},b.prototype.dispose=function(){this.isStopped=!0},b.prototype.fail=function(a){return this.isStopped?!1:(this.isStopped=!0,this.error(a),!0)},b}(Wc),$c=ub.AnonymousObserver=function(a){function b(b,c,d){a.call(this),this._onNext=b,this._onError=c,this._onCompleted=d}return oc(b,a),b.prototype.next=function(a){this._onNext(a)},b.prototype.error=function(a){this._onError(a)},b.prototype.completed=function(){this._onCompleted()},b}(Zc),_c=function(a){function b(b){a.call(this),this._observer=b,this._state=0}oc(b,a);var c=b.prototype;return c.onNext=function(a){this.checkAccess();try{this._observer.onNext(a)}catch(b){throw b}finally{this._state=0}},c.onError=function(a){this.checkAccess();try{this._observer.onError(a)}catch(b){throw b}finally{this._state=2}},c.onCompleted=function(){this.checkAccess();try{this._observer.onCompleted()}catch(a){throw a}finally{this._state=2}},c.checkAccess=function(){if(1===this._state)throw new Error("Re-entrancy detected");if(2===this._state)throw new Error("Observer completed");0===this._state&&(this._state=1)},b}(Wc),ad=ub.internals.ScheduledObserver=function(a){function b(b,c){a.call(this),this.scheduler=b,this.observer=c,this.isAcquired=!1,this.hasFaulted=!1,this.queue=[],this.disposable=new zc}return oc(b,a),b.prototype.next=function(a){var b=this;this.queue.push(function(){b.observer.onNext(a)})},b.prototype.error=function(a){var b=this;this.queue.push(function(){b.observer.onError(a)})},b.prototype.completed=function(){var a=this;this.queue.push(function(){a.observer.onCompleted()})},b.prototype.ensureActive=function(){var a=!1,b=this;!this.hasFaulted&&this.queue.length>0&&(a=!this.isAcquired,this.isAcquired=!0),a&&this.disposable.setDisposable(this.scheduler.scheduleRecursive(function(a){var c;if(!(b.queue.length>0))return void(b.isAcquired=!1);c=b.queue.shift();try{c()}catch(d){throw b.queue=[],b.hasFaulted=!0,d}a()}))},b.prototype.dispose=function(){a.prototype.dispose.call(this),this.disposable.dispose()},b}(Zc),bd=function(a){function b(b,c,d){a.call(this,b,c),this._cancel=d}return oc(b,a),b.prototype.next=function(b){a.prototype.next.call(this,b),this.ensureActive()},b.prototype.error=function(b){a.prototype.error.call(this,b),this.ensureActive()},b.prototype.completed=function(){a.prototype.completed.call(this),this.ensureActive()},b.prototype.dispose=function(){a.prototype.dispose.call(this),this._cancel&&this._cancel.dispose(),this._cancel=null},b}(ad),cd=ub.Observable=function(){function a(a){if(ub.config.longStackSupport&&Ib){try{throw new Error}catch(b){this.stack=b.stack.substring(b.stack.indexOf("\n")+1)}var d=this;this._subscribe=function(b){var e=b.onError.bind(b);return b.onError=function(a){c(a,d),e(a)},a(b)}}else this._subscribe=a}return Yc=a.prototype,Yc.subscribe=Yc.forEach=function(a,b,c){return this._subscribe("object"==typeof a?a:Xc(a,b,c))
3
+ },Yc.subscribeOnNext=function(a,b){return this._subscribe(Xc(2===arguments.length?function(c){a.call(b,c)}:a))},Yc.subscribeOnError=function(a,b){return this._subscribe(Xc(null,2===arguments.length?function(c){a.call(b,c)}:a))},Yc.subscribeOnCompleted=function(a,b){return this._subscribe(Xc(null,null,2===arguments.length?function(){a.call(b)}:a))},a}();Yc.observeOn=function(a){var b=this;return new Qd(function(c){return b.subscribe(new bd(a,c))},b)},Yc.subscribeOn=function(a){var b=this;return new Qd(function(c){var d=new yc,e=new zc;return e.setDisposable(d),d.setDisposable(a.schedule(function(){e.setDisposable(new r(a,b.subscribe(c)))})),e},b)};var dd=cd.fromPromise=function(a){return ed(function(){var b=new ub.AsyncSubject;return a.then(function(a){b.onNext(a),b.onCompleted()},b.onError.bind(b)),b})};Yc.toPromise=function(a){if(a||(a=ub.config.Promise),!a)throw new TypeError("Promise type not provided nor in Rx.config.Promise");var b=this;return new a(function(a,c){var d,e=!1;b.subscribe(function(a){d=a,e=!0},c,function(){e&&a(d)})})},Yc.toArray=function(){var a=this;return new Qd(function(b){var c=[];return a.subscribe(c.push.bind(c),b.onError.bind(b),function(){b.onNext(c),b.onCompleted()})},a)},cd.create=cd.createWithDisposable=function(a,b){return new Qd(a,b)};var ed=cd.defer=function(a){return new Qd(function(b){var c;try{c=a()}catch(d){return ld(d).subscribe(b)}return Cb(c)&&(c=dd(c)),c.subscribe(b)})},fd=cd.empty=function(a){return wb(a)||(a=Gc),new Qd(function(b){return a.schedule(function(){b.onCompleted()})})},gd=Math.pow(2,53)-1;t.prototype[Nb]=function(){return new u(this._s)},u.prototype[Nb]=function(){return this},u.prototype.next=function(){if(this._i<this._l){var a=this._s.charAt(this._i++);return{done:!1,value:a}}return Ob},v.prototype[Nb]=function(){return new w(this._a)},w.prototype[Nb]=function(){return this},w.prototype.next=function(){if(this._i<this._l){var a=this._a[this._i++];return{done:!1,value:a}}return Ob};var hd=cd.from=function(a,b,c,d){if(null==a)throw new Error("iterable cannot be null.");if(b&&!Eb(b))throw new Error("mapFn when provided must be a function");wb(d)||(d=Hc);var e=Object(a),f=y(e);return new Qd(function(a){var e=0;return d.scheduleRecursive(function(d){var g;try{g=f.next()}catch(h){return void a.onError(h)}if(g.done)return void a.onCompleted();var i=g.value;if(b&&Eb(b))try{i=b.call(c,i,e)}catch(h){return void a.onError(h)}a.onNext(i),e++,d()})})},id=cd.fromArray=function(a,b){return Sb("fromArray","from"),wb(b)||(b=Hc),new Qd(function(c){var d=0,e=a.length;return b.scheduleRecursive(function(b){e>d?(c.onNext(a[d++]),b()):c.onCompleted()})})};cd.generate=function(a,b,c,d,e){return wb(e)||(e=Hc),new Qd(function(f){var g=!0,h=a;return e.scheduleRecursive(function(a){var e,i;try{g?g=!1:h=c(h),e=b(h),e&&(i=d(h))}catch(j){return void f.onError(j)}e?(f.onNext(i),a()):f.onCompleted()})})},cd.of=function(){return B(null,arguments)},cd.ofWithScheduler=function(a){return B(a,nc.call(arguments,1))};var jd=cd.never=function(){return new Qd(function(){return xc})};cd.range=function(a,b,c){return wb(c)||(c=Hc),new Qd(function(d){return c.scheduleRecursiveWithState(0,function(c,e){b>c?(d.onNext(a+c),e(c+1)):d.onCompleted()})})},cd.repeat=function(a,b,c){return wb(c)||(c=Hc),kd(a,c).repeat(null==b?-1:b)};var kd=cd["return"]=cd.just=function(a,b){return wb(b)||(b=Gc),new Qd(function(c){return b.schedule(function(){c.onNext(a),c.onCompleted()})})};cd.returnValue=function(){return Sb("returnValue","return or just"),kd.apply(null,arguments)};var ld=cd["throw"]=cd.throwException=cd.throwError=function(a,b){return wb(b)||(b=Gc),new Qd(function(c){return b.schedule(function(){c.onError(a)})})};cd.using=function(a,b){return new Qd(function(c){var d,e,f=xc;try{d=a(),d&&(f=d),e=b(d)}catch(g){return new tc(ld(g).subscribe(c),f)}return new tc(e.subscribe(c),f)})},Yc.amb=function(a){var b=this;return new Qd(function(c){function d(){f||(f=g,j.dispose())}function e(){f||(f=h,i.dispose())}var f,g="L",h="R",i=new yc,j=new yc;return Cb(a)&&(a=dd(a)),i.setDisposable(b.subscribe(function(a){d(),f===g&&c.onNext(a)},function(a){d(),f===g&&c.onError(a)},function(){d(),f===g&&c.onCompleted()})),j.setDisposable(a.subscribe(function(a){e(),f===h&&c.onNext(a)},function(a){e(),f===h&&c.onError(a)},function(){e(),f===h&&c.onCompleted()})),new tc(i,j)})},cd.amb=function(){function a(a,b){return a.amb(b)}for(var b=jd(),c=o(arguments,0),d=0,e=c.length;e>d;d++)b=a(b,c[d]);return b},Yc["catch"]=Yc.catchError=function(a){return"function"==typeof a?C(this,a):md([this,a])},Yc.catchException=function(a){return Sb("catchException","catch or catchError"),this.catchError(a)};var md=cd.catchError=cd["catch"]=function(){return Vc(o(arguments,0)).catchError()};cd.catchException=function(){return Sb("catchException","catch or catchError"),md.apply(null,arguments)},Yc.combineLatest=function(){var a=nc.call(arguments);return Array.isArray(a[0])?a[0].unshift(this):a.unshift(this),nd.apply(this,a)};var nd=cd.combineLatest=function(){var a=nc.call(arguments),b=a.pop();return Array.isArray(a[0])&&(a=a[0]),new Qd(function(c){function d(a){var d;if(h[a]=!0,i||(i=h.every(xb))){try{d=b.apply(null,k)}catch(e){return void c.onError(e)}c.onNext(d)}else j.filter(function(b,c){return c!==a}).every(xb)&&c.onCompleted()}function e(a){j[a]=!0,j.every(xb)&&c.onCompleted()}for(var f=function(){return!1},g=a.length,h=p(g,f),i=!1,j=p(g,f),k=new Array(g),l=new Array(g),m=0;g>m;m++)!function(b){var f=a[b],g=new yc;Cb(f)&&(f=dd(f)),g.setDisposable(f.subscribe(function(a){k[b]=a,d(b)},c.onError.bind(c),function(){e(b)})),l[b]=g}(m);return new tc(l)},this)};Yc.concat=function(){var a=nc.call(arguments,0);return a.unshift(this),od.apply(this,a)};var od=cd.concat=function(){return Vc(o(arguments,0)).concat()};Yc.concatAll=function(){return this.merge(1)},Yc.concatObservable=function(){return Sb("concatObservable","concatAll"),this.merge(1)},Yc.merge=function(a){if("number"!=typeof a)return pd(this,a);var b=this;return new Qd(function(c){function d(a){var b=new yc;f.add(b),Cb(a)&&(a=dd(a)),b.setDisposable(a.subscribe(c.onNext.bind(c),c.onError.bind(c),function(){f.remove(b),h.length>0?d(h.shift()):(e--,g&&0===e&&c.onCompleted())}))}var e=0,f=new tc,g=!1,h=[];return f.add(b.subscribe(function(b){a>e?(e++,d(b)):h.push(b)},c.onError.bind(c),function(){g=!0,0===e&&c.onCompleted()})),f},b)};var pd=cd.merge=function(){var a,b;return arguments[0]?wb(arguments[0])?(a=arguments[0],b=nc.call(arguments,1)):(a=Gc,b=nc.call(arguments,0)):(a=Gc,b=nc.call(arguments,1)),Array.isArray(b[0])&&(b=b[0]),B(a,b).mergeAll()};Yc.mergeAll=function(){var a=this;return new Qd(function(b){var c=new tc,d=!1,e=new yc;return c.add(e),e.setDisposable(a.subscribe(function(a){var e=new yc;c.add(e),Cb(a)&&(a=dd(a)),e.setDisposable(a.subscribe(b.onNext.bind(b),b.onError.bind(b),function(){c.remove(e),d&&1===c.length&&b.onCompleted()}))},b.onError.bind(b),function(){d=!0,1===c.length&&b.onCompleted()})),c},a)},Yc.mergeObservable=function(){return Sb("mergeObservable","mergeAll"),this.mergeAll.apply(this,arguments)},Yc.onErrorResumeNext=function(a){if(!a)throw new Error("Second observable is required");return qd([this,a])};var qd=cd.onErrorResumeNext=function(){var a=o(arguments,0);return new Qd(function(b){var c=0,d=new zc,e=Gc.scheduleRecursive(function(e){var f,g;c<a.length?(f=a[c++],Cb(f)&&(f=dd(f)),g=new yc,d.setDisposable(g),g.setDisposable(f.subscribe(b.onNext.bind(b),e,e))):b.onCompleted()});return new tc(d,e)})};Yc.skipUntil=function(a){var b=this;return new Qd(function(c){var d=!1,e=new tc(b.subscribe(function(a){d&&c.onNext(a)},c.onError.bind(c),function(){d&&c.onCompleted()}));Cb(a)&&(a=dd(a));var f=new yc;return e.add(f),f.setDisposable(a.subscribe(function(){d=!0,f.dispose()},c.onError.bind(c),function(){f.dispose()})),e},b)},Yc["switch"]=Yc.switchLatest=function(){var a=this;return new Qd(function(b){var c=!1,d=new zc,e=!1,f=0,g=a.subscribe(function(a){var g=new yc,h=++f;c=!0,d.setDisposable(g),Cb(a)&&(a=dd(a)),g.setDisposable(a.subscribe(function(a){f===h&&b.onNext(a)},function(a){f===h&&b.onError(a)},function(){f===h&&(c=!1,e&&b.onCompleted())}))},b.onError.bind(b),function(){e=!0,!c&&b.onCompleted()});return new tc(g,d)},a)},Yc.takeUntil=function(a){var b=this;return new Qd(function(c){return Cb(a)&&(a=dd(a)),new tc(b.subscribe(c),a.subscribe(c.onCompleted.bind(c),c.onError.bind(c),vb))},b)},Yc.zip=function(){if(Array.isArray(arguments[0]))return D.apply(this,arguments);var a=this,b=nc.call(arguments),c=b.pop();return b.unshift(a),new Qd(function(d){function e(b){var e,f;if(h.every(function(a){return a.length>0})){try{f=h.map(function(a){return a.shift()}),e=c.apply(a,f)}catch(g){return void d.onError(g)}d.onNext(e)}else i.filter(function(a,c){return c!==b}).every(xb)&&d.onCompleted()}function f(a){i[a]=!0,i.every(function(a){return a})&&d.onCompleted()}for(var g=b.length,h=p(g,function(){return[]}),i=p(g,function(){return!1}),j=new Array(g),k=0;g>k;k++)!function(a){var c=b[a],g=new yc;Cb(c)&&(c=dd(c)),g.setDisposable(c.subscribe(function(b){h[a].push(b),e(a)},d.onError.bind(d),function(){f(a)})),j[a]=g}(k);return new tc(j)},a)},cd.zip=function(){var a=nc.call(arguments,0),b=a.shift();return b.zip.apply(b,a)},cd.zipArray=function(){var a=o(arguments,0);return new Qd(function(b){function c(a){if(f.every(function(a){return a.length>0})){var c=f.map(function(a){return a.shift()});b.onNext(c)}else if(g.filter(function(b,c){return c!==a}).every(xb))return void b.onCompleted()}function d(a){return g[a]=!0,g.every(xb)?void b.onCompleted():void 0}for(var e=a.length,f=p(e,function(){return[]}),g=p(e,function(){return!1}),h=new Array(e),i=0;e>i;i++)!function(e){h[e]=new yc,h[e].setDisposable(a[e].subscribe(function(a){f[e].push(a),c(e)},b.onError.bind(b),function(){d(e)}))}(i);var j=new tc(h);return j.add(wc(function(){for(var a=0,b=f.length;b>a;a++)f[a]=[]})),j})},Yc.asObservable=function(){return new Qd(this.subscribe.bind(this),this)},Yc.bufferWithCount=function(a,b){return"number"!=typeof b&&(b=a),this.windowWithCount(a,b).selectMany(function(a){return a.toArray()}).where(function(a){return a.length>0})},Yc.dematerialize=function(){var a=this;return new Qd(function(b){return a.subscribe(function(a){return a.accept(b)},b.onError.bind(b),b.onCompleted.bind(b))},this)},Yc.distinctUntilChanged=function(a,b){var c=this;return a||(a=xb),b||(b=zb),new Qd(function(d){var e,f=!1;return c.subscribe(function(c){var g,h=!1;try{g=a(c)}catch(i){return void d.onError(i)}if(f)try{h=b(e,g)}catch(i){return void d.onError(i)}f&&h||(f=!0,e=g,d.onNext(c))},d.onError.bind(d),d.onCompleted.bind(d))},this)},Yc["do"]=Yc.tap=function(a,b,c){var d,e=this;return"function"==typeof a?d=a:(d=a.onNext.bind(a),b=a.onError.bind(a),c=a.onCompleted.bind(a)),new Qd(function(a){return e.subscribe(function(b){try{d(b)}catch(c){a.onError(c)}a.onNext(b)},function(c){if(b)try{b(c)}catch(d){a.onError(d)}a.onError(c)},function(){if(c)try{c()}catch(b){a.onError(b)}a.onCompleted()})},this)},Yc.doAction=function(){return Sb("doAction","do or tap"),this.tap.apply(this,arguments)},Yc.doOnNext=Yc.tapOnNext=function(a,b){return this.tap(2===arguments.length?function(c){a.call(b,c)}:a)},Yc.doOnError=Yc.tapOnError=function(a,b){return this.tap(vb,2===arguments.length?function(c){a.call(b,c)}:a)},Yc.doOnCompleted=Yc.tapOnCompleted=function(a,b){return this.tap(vb,null,2===arguments.length?function(){a.call(b)}:a)},Yc["finally"]=Yc.ensure=function(a){var b=this;return new Qd(function(c){var d;try{d=b.subscribe(c)}catch(e){throw a(),e}return wc(function(){try{d.dispose()}catch(b){throw b}finally{a()}})},this)},Yc.finallyAction=function(a){return Sb("finallyAction","finally or ensure"),this.ensure(a)},Yc.ignoreElements=function(){var a=this;return new Qd(function(b){return a.subscribe(vb,b.onError.bind(b),b.onCompleted.bind(b))},a)},Yc.materialize=function(){var a=this;return new Qd(function(b){return a.subscribe(function(a){b.onNext(Pc(a))},function(a){b.onNext(Qc(a)),b.onCompleted()},function(){b.onNext(Rc()),b.onCompleted()})},a)},Yc.repeat=function(a){return Uc(this,a).concat()},Yc.retry=function(a){return Uc(this,a).catchError()},Yc.scan=function(){var a,b,c=!1,d=this;return 2===arguments.length?(c=!0,a=arguments[0],b=arguments[1]):b=arguments[0],new Qd(function(e){var f,g,h;return d.subscribe(function(d){!h&&(h=!0);try{f?g=b(g,d):(g=c?b(a,d):d,f=!0)}catch(i){return void e.onError(i)}e.onNext(g)},e.onError.bind(e),function(){!h&&c&&e.onNext(a),e.onCompleted()})},d)},Yc.skipLast=function(a){var b=this;return new Qd(function(c){var d=[];return b.subscribe(function(b){d.push(b),d.length>a&&c.onNext(d.shift())},c.onError.bind(c),c.onCompleted.bind(c))},b)},Yc.startWith=function(){var a,b,c=0;return arguments.length&&wb(arguments[0])?(b=arguments[0],c=1):b=Gc,a=nc.call(arguments,c),Vc([id(a,b),this]).concat()},Yc.takeLast=function(a){var b=this;return new Qd(function(c){var d=[];return b.subscribe(function(b){d.push(b),d.length>a&&d.shift()},c.onError.bind(c),function(){for(;d.length>0;)c.onNext(d.shift());c.onCompleted()})},b)},Yc.takeLastBuffer=function(a){var b=this;return new Qd(function(c){var d=[];return b.subscribe(function(b){d.push(b),d.length>a&&d.shift()},c.onError.bind(c),function(){c.onNext(d),c.onCompleted()})},b)},Yc.windowWithCount=function(a,b){var c=this;if(+a||(a=0),1/0===Math.abs(a)&&(a=0),0>=a)throw new Error(Gb);if(null==b&&(b=a),+b||(b=0),1/0===Math.abs(b)&&(b=0),0>=b)throw new Error(Gb);return new Qd(function(d){function e(){var a=new Td;i.push(a),d.onNext(qc(a,g))}var f=new yc,g=new Ac(f),h=0,i=[];return e(),f.setDisposable(c.subscribe(function(c){for(var d=0,f=i.length;f>d;d++)i[d].onNext(c);var g=h-a+1;g>=0&&g%b===0&&i.shift().onCompleted(),++h%b===0&&e()},function(a){for(;i.length>0;)i.shift().onError(a);d.onError(a)},function(){for(;i.length>0;)i.shift().onCompleted();d.onCompleted()})),g},c)},Yc.selectConcat=Yc.concatMap=function(a,b,c){return Eb(a)&&Eb(b)?this.concatMap(function(c,d){var e=a(c,d);return Cb(e)&&(e=dd(e)),(Qb(e)||Pb(e))&&(e=hd(e)),e.map(function(a,e){return b(c,a,d,e)})}):Eb(a)?E(this,a,c):E(this,function(){return a})},Yc.concatMapObserver=Yc.selectConcatObserver=function(a,b,c,d){var e=this;return new Qd(function(f){var g=0;return e.subscribe(function(b){var c;try{c=a.call(d,b,g++)}catch(e){return void f.onError(e)}Cb(c)&&(c=dd(c)),f.onNext(c)},function(a){var c;try{c=b.call(d,a)}catch(e){return void f.onError(e)}Cb(c)&&(c=dd(c)),f.onNext(c),f.onCompleted()},function(){var a;try{a=c.call(d)}catch(b){return void f.onError(b)}Cb(a)&&(a=dd(a)),f.onNext(a),f.onCompleted()})},this).concatAll()},Yc.defaultIfEmpty=function(b){var c=this;return b===a&&(b=null),new Qd(function(a){var d=!1;return c.subscribe(function(b){d=!0,a.onNext(b)},a.onError.bind(a),function(){!d&&a.onNext(b),a.onCompleted()})},this)},G.prototype.push=function(a){var b=-1===F(this.set,a,this.comparer);return b&&this.set.push(a),b},Yc.distinct=function(a,b){var c=this;return b||(b=zb),new Qd(function(d){var e=new G(b);return c.subscribe(function(b){var c=b;if(a)try{c=a(b)}catch(f){return void d.onError(f)}e.push(c)&&d.onNext(b)},d.onError.bind(d),d.onCompleted.bind(d))},this)},Yc.groupBy=function(a,b,c){return this.groupByUntil(a,b,jd,c)},Yc.groupByUntil=function(a,b,c,d){var e=this;return b||(b=xb),d||(d=zb),new Qd(function(f){function g(a){return function(b){b.onError(a)}}var h=new Jd(0,d),i=new tc,j=new Ac(i);return i.add(e.subscribe(function(d){var e;try{e=a(d)}catch(k){return h.getValues().forEach(g(k)),void f.onError(k)}var l=!1,m=h.tryGetValue(e);if(m||(m=new Td,h.set(e,m),l=!0),l){var n=new Sd(e,m,j),o=new Sd(e,m);try{duration=c(o)}catch(k){return h.getValues().forEach(g(k)),void f.onError(k)}f.onNext(n);var p=new yc;i.add(p);var q=function(){h.remove(e)&&m.onCompleted(),i.remove(p)};p.setDisposable(duration.take(1).subscribe(vb,function(a){h.getValues().forEach(g(a)),f.onError(a)},q))}var r;try{r=b(d)}catch(k){return h.getValues().forEach(g(k)),void f.onError(k)}m.onNext(r)},function(a){h.getValues().forEach(g(a)),f.onError(a)},function(){h.getValues().forEach(function(a){a.onCompleted()}),f.onCompleted()})),j},e)},Yc.select=Yc.map=function(a,b){var c=Eb(a)?a:function(){return a},d=this;return new Qd(function(a){var e=0;return d.subscribe(function(f){var g;try{g=c.call(b,f,e++,d)}catch(h){return void a.onError(h)}a.onNext(g)},a.onError.bind(a),a.onCompleted.bind(a))},d)},Yc.pluck=function(a){return this.map(function(b){return b[a]})},Yc.selectMany=Yc.flatMap=function(a,b,c){return Eb(a)&&Eb(b)?this.flatMap(function(c,d){var e=a(c,d);return Cb(e)&&(e=dd(e)),(Qb(e)||Pb(e))&&(e=hd(e)),e.map(function(a,e){return b(c,a,d,e)})},c):Eb(a)?H(this,a,c):H(this,function(){return a})},Yc.flatMapObserver=Yc.selectManyObserver=function(a,b,c,d){var e=this;return new Qd(function(f){var g=0;return e.subscribe(function(b){var c;try{c=a.call(d,b,g++)}catch(e){return void f.onError(e)}Cb(c)&&(c=dd(c)),f.onNext(c)},function(a){var c;try{c=b.call(d,a)}catch(e){return void f.onError(e)}Cb(c)&&(c=dd(c)),f.onNext(c),f.onCompleted()},function(){var a;try{a=c.call(d)}catch(b){return void f.onError(b)}Cb(a)&&(a=dd(a)),f.onNext(a),f.onCompleted()})},e).mergeAll()},Yc.selectSwitch=Yc.flatMapLatest=Yc.switchMap=function(a,b){return this.select(a,b).switchLatest()},Yc.skip=function(a){if(0>a)throw new Error(Gb);var b=this;return new Qd(function(c){var d=a;return b.subscribe(function(a){0>=d?c.onNext(a):d--},c.onError.bind(c),c.onCompleted.bind(c))},b)},Yc.skipWhile=function(a,b){var c=this;return new Qd(function(d){var e=0,f=!1;return c.subscribe(function(g){if(!f)try{f=!a.call(b,g,e++,c)}catch(h){return void d.onError(h)}f&&d.onNext(g)},d.onError.bind(d),d.onCompleted.bind(d))},c)},Yc.take=function(a,b){if(0>a)throw new RangeError(Gb);if(0===a)return fd(b);var c=this;return new Qd(function(b){var d=a;return c.subscribe(function(a){d-->0&&(b.onNext(a),0===d&&b.onCompleted())},b.onError.bind(b),b.onCompleted.bind(b))},c)},Yc.takeWhile=function(a,b){var c=this;return new Qd(function(d){var e=0,f=!0;return c.subscribe(function(g){if(f){try{f=a.call(b,g,e++,c)}catch(h){return void d.onError(h)}f?d.onNext(g):d.onCompleted()}},d.onError.bind(d),d.onCompleted.bind(d))},c)},Yc.where=Yc.filter=function(a,b){var c=this;return new Qd(function(d){var e=0;return c.subscribe(function(f){var g;try{g=a.call(b,f,e++,c)}catch(h){return void d.onError(h)}g&&d.onNext(f)},d.onError.bind(d),d.onCompleted.bind(d))},c)},Yc.finalValue=function(){var a=this;return new Qd(function(b){var c,d=!1;return a.subscribe(function(a){d=!0,c=a},b.onError.bind(b),function(){d?(b.onNext(c),b.onCompleted()):b.onError(new Error(Fb))})},a)},Yc.aggregate=function(){Sb("aggregate","reduce");var a,b,c;return 2===arguments.length?(a=arguments[0],b=!0,c=arguments[1]):c=arguments[0],b?this.scan(a,c).startWith(a).finalValue():this.scan(c).finalValue()},Yc.reduce=function(a){var b,c;return 2===arguments.length&&(c=!0,b=arguments[1]),c?this.scan(b,a).startWith(b).finalValue():this.scan(a).finalValue()},Yc.some=function(a,b){var c=this;return a?c.filter(a,b).some():new Qd(function(a){return c.subscribe(function(){a.onNext(!0),a.onCompleted()},a.onError.bind(a),function(){a.onNext(!1),a.onCompleted()})},c)},Yc.any=function(){return Sb("any","some"),this.some.apply(this,arguments)},Yc.isEmpty=function(){return this.any().map(Db)},Yc.every=function(a,b){return this.filter(function(b){return!a(b)},b).some().map(Db)},Yc.all=function(){return Sb("all","every"),this.every.apply(this,arguments)},Yc.contains=function(a,b){function c(a,b){return 0===a&&0===b||a===b||isNaN(a)&&isNaN(b)}var d=this;return new Qd(function(e){var f=0,g=+b||0;return 1/0===Math.abs(g)&&(g=0),0>g?(e.onNext(!1),e.onCompleted(),xc):d.subscribe(function(b){f++>=g&&c(b,a)&&(e.onNext(!0),e.onCompleted())},e.onError.bind(e),function(){e.onNext(!1),e.onCompleted()})},this)},Yc.count=function(a,b){return a?this.where(a,b).count():this.aggregate(0,function(a){return a+1})},Yc.indexOf=function(a,b){var c=this;return new Qd(function(d){var e=0,f=+b||0;return 1/0===Math.abs(f)&&(f=0),0>f?(d.onNext(-1),d.onCompleted(),xc):c.subscribe(function(b){e>=f&&b===a&&(d.onNext(e),d.onCompleted()),e++},d.onError.bind(d),function(){d.onNext(-1),d.onCompleted()})},c)},Yc.sum=function(a,b){return a&&Eb(a)?this.map(a,b).sum():this.reduce(function(a,b){return a+b},0)},Yc.minBy=function(a,b){return b||(b=Ab),I(this,a,function(a,c){return-1*b(a,c)})},Yc.min=function(a){return this.minBy(xb,a).map(function(a){return J(a)})},Yc.maxBy=function(a,b){return b||(b=Ab),I(this,a,b)},Yc.max=function(a){return this.maxBy(xb,a).map(function(a){return J(a)})},Yc.average=function(a,b){return a&&Eb(a)?this.select(a,b).average():this.scan({sum:0,count:0},function(a,b){return{sum:a.sum+b,count:a.count+1}}).finalValue().map(function(a){if(0===a.count)throw new Error("The input sequence was empty");return a.sum/a.count})},Yc.sequenceEqual=function(a,b){var c=this;return b||(b=zb),new Qd(function(d){var e=!1,f=!1,g=[],h=[],i=c.subscribe(function(a){var c,e;if(h.length>0){e=h.shift();try{c=b(e,a)}catch(i){return void d.onError(i)}c||(d.onNext(!1),d.onCompleted())}else f?(d.onNext(!1),d.onCompleted()):g.push(a)},d.onError.bind(d),function(){e=!0,0===g.length&&(h.length>0?(d.onNext(!1),d.onCompleted()):f&&(d.onNext(!0),d.onCompleted()))});(Qb(a)||Pb(a))&&(a=hd(a)),Cb(a)&&(a=dd(a));var j=a.subscribe(function(a){var c;if(g.length>0){var f=g.shift();try{c=b(f,a)}catch(i){return void d.onError(i)}c||(d.onNext(!1),d.onCompleted())}else e?(d.onNext(!1),d.onCompleted()):h.push(a)},d.onError.bind(d),function(){f=!0,0===h.length&&(g.length>0?(d.onNext(!1),d.onCompleted()):e&&(d.onNext(!0),d.onCompleted()))});return new tc(i,j)},c)},Yc.elementAt=function(a){return K(this,a,!1)},Yc.elementAtOrDefault=function(a,b){return K(this,a,!0,b)},Yc.single=function(a,b){return a&&Eb(a)?this.where(a,b).single():L(this,!1)},Yc.singleOrDefault=function(a,b,c){return a&&Eb(a)?this.where(a,c).singleOrDefault(null,b):L(this,!0,b)},Yc.first=function(a,b){return a?this.where(a,b).first():M(this,!1)},Yc.firstOrDefault=function(a,b){return a?this.where(a).firstOrDefault(null,b):M(this,!0,b)},Yc.last=function(a,b){return a?this.where(a,b).last():N(this,!1)},Yc.lastOrDefault=function(a,b,c){return a?this.where(a,c).lastOrDefault(null,b):N(this,!0,b)},Yc.find=function(a,b){return O(this,a,b,!1)},Yc.findIndex=function(a,b){return O(this,a,b,!0)},Yc.toSet=function(){if("undefined"==typeof pb.Set)throw new TypeError;var a=this;return new Qd(function(b){var c=new pb.Set;return a.subscribe(c.add.bind(c),b.onError.bind(b),function(){b.onNext(c),b.onCompleted()})},a)},Yc.toMap=function(a,b){if("undefined"==typeof pb.Map)throw new TypeError;var c=this;return new Qd(function(d){var e=new pb.Map;return c.subscribe(function(c){var f;try{f=a(c)}catch(g){return void d.onError(g)}var h=c;if(b)try{h=b(c)}catch(g){return void d.onError(g)}e.set(f,h)},d.onError.bind(d),function(){d.onNext(e),d.onCompleted()})},c)};var rd="function",sd="throw",td=ub.spawn=function(a){var b=U(a);return function(c){function d(a,b){Mc.schedule(c.bind(f,a,b))}function e(a,b){var c;if(arguments.length>2&&(b=nc.call(arguments,1)),a)try{c=g[sd](a)}catch(h){return d(h)}if(!a)try{c=g.next(b)}catch(h){return d(h)}if(c.done)return d(null,c.value);if(c.value=P(c.value,f),typeof c.value!==rd)e(new TypeError("Rx.spawn only supports a function, Promise, Observable, Object or Array."));else{var i=!1;try{c.value.call(f,function(){i||(i=!0,e.apply(f,arguments))})}catch(h){Mc.schedule(function(){i||(i=!0,e.call(f,h))})}}}var f=this,g=a;if(b){var h=nc.call(arguments),i=h.length,j=i&&typeof h[i-1]===rd;c=j?h.pop():W,g=a.apply(this,h)}else c=c||W;e()}};ub.denodify=function(a){return function(){var b,c,d,e=nc.call(arguments);return e.push(function(){b=arguments,d&&!c&&(c=!0,cb.apply(this,b))}),a.apply(this,e),function(a){d=a,b&&!c&&(c=!0,a.apply(this,b))}}},cd.start=function(a,b,c){return ud(a,b,c)()};var ud=cd.toAsync=function(a,b,c){return wb(c)||(c=Mc),function(){var d=arguments,e=new Ud;return c.schedule(function(){var c;try{c=a.apply(b,d)}catch(f){return void e.onError(f)}e.onNext(c),e.onCompleted()}),e.asObservable()}};cd.fromCallback=function(a,b,c){return function(){var d=nc.call(arguments,0);return new Qd(function(e){function f(){var a=arguments;if(c){try{a=c(a)}catch(b){return void e.onError(b)}e.onNext(a)}else a.length<=1?e.onNext.apply(e,a):e.onNext(a);e.onCompleted()}d.push(f),a.apply(b,d)}).publishLast().refCount()}},cd.fromNodeCallback=function(a,b,c){return function(){var d=nc.call(arguments,0);return new Qd(function(e){function f(a){if(a)return void e.onError(a);var b=nc.call(arguments,1);if(c){try{b=c(b)}catch(d){return void e.onError(d)}e.onNext(b)}else b.length<=1?e.onNext.apply(e,b):e.onNext(b);e.onCompleted()}d.push(f),a.apply(b,d)}).publishLast().refCount()}},ub.config.useNativeEvents=!1;var vd=pb.angular&&angular.element?angular.element:pb.jQuery?pb.jQuery:pb.Zepto?pb.Zepto:null,wd=!!pb.Ember&&"function"==typeof pb.Ember.addListener,xd=!!pb.Backbone&&!!pb.Backbone.Marionette;cd.fromEvent=function(a,b,c){if(a.addListener)return yd(function(c){a.addListener(b,c)},function(c){a.removeListener(b,c)},c);if(!ub.config.useNativeEvents){if(xd)return yd(function(c){a.on(b,c)},function(c){a.off(b,c)},c);if(wd)return yd(function(c){Ember.addListener(a,b,c)},function(c){Ember.removeListener(a,b,c)},c);if(vd){var d=vd(a);return yd(function(a){d.on(b,a)},function(a){d.off(b,a)},c)}}return new Qd(function(d){return Y(a,b,function(a){var b=a;if(c)try{b=c(arguments)}catch(e){return void d.onError(e)}d.onNext(b)})}).publish().refCount()};var yd=cd.fromEventPattern=function(a,b,c){return new Qd(function(d){function e(a){var b=a;if(c)try{b=c(arguments)}catch(e){return void d.onError(e)}d.onNext(b)}var f=a(e);return wc(function(){b&&b(e,f)})}).publish().refCount()};cd.startAsync=function(a){var b;try{b=a()}catch(c){return ld(c)}return dd(b)};var zd=function(a){function b(a){var b=this.source.publish(),c=b.subscribe(a),d=xc,e=this.pauser.distinctUntilChanged().subscribe(function(a){a?d=b.connect():(d.dispose(),d=xc)});return new tc(c,d,e)}function c(c,d){this.source=c,this.controller=new Td,this.pauser=d&&d.subscribe?this.controller.merge(d):this.controller,a.call(this,b,c)}return oc(c,a),c.prototype.pause=function(){this.controller.onNext(!1)},c.prototype.resume=function(){this.controller.onNext(!0)},c}(cd);Yc.pausable=function(a){return new zd(this,a)};var Ad=function(b){function c(b){var c,d=[],e=Z(this.source,this.pauser.distinctUntilChanged().startWith(!1),function(a,b){return{data:a,shouldFire:b}}).subscribe(function(e){if(c!==a&&e.shouldFire!=c){if(c=e.shouldFire,e.shouldFire)for(;d.length>0;)b.onNext(d.shift())}else c=e.shouldFire,e.shouldFire?b.onNext(e.data):d.push(e.data)},function(a){for(;d.length>0;)b.onNext(d.shift());b.onError(a)},function(){for(;d.length>0;)b.onNext(d.shift());b.onCompleted()});return e}function d(a,d){this.source=a,this.controller=new Td,this.pauser=d&&d.subscribe?this.controller.merge(d):this.controller,b.call(this,c,a)}return oc(d,b),d.prototype.pause=function(){this.controller.onNext(!1)},d.prototype.resume=function(){this.controller.onNext(!0)},d}(cd);Yc.pausableBuffered=function(a){return new Ad(this,a)};var Bd=function(a){function b(a){return this.source.subscribe(a)}function c(c,d){a.call(this,b,c),this.subject=new Cd(d),this.source=c.multicast(this.subject).refCount()}return oc(c,a),c.prototype.request=function(a){return null==a&&(a=-1),this.subject.request(a)},c}(cd),Cd=function(a){function b(a){return this.subject.subscribe(a)}function c(c){null==c&&(c=!0),a.call(this,b),this.subject=new Td,this.enableQueue=c,this.queue=c?[]:null,this.requestedCount=0,this.requestedDisposable=xc,this.error=null,this.hasFailed=!1,this.hasCompleted=!1,this.controlledDisposable=xc}return oc(c,a),pc(c.prototype,Wc,{onCompleted:function(){this.hasCompleted=!0,(!this.enableQueue||0===this.queue.length)&&this.subject.onCompleted()},onError:function(a){this.hasFailed=!0,this.error=a,(!this.enableQueue||0===this.queue.length)&&this.subject.onError(a)},onNext:function(a){var b=!1;0===this.requestedCount?this.enableQueue&&this.queue.push(a):(-1!==this.requestedCount&&0===this.requestedCount--&&this.disposeCurrentRequest(),b=!0),b&&this.subject.onNext(a)},_processRequest:function(a){if(this.enableQueue){for(;this.queue.length>=a&&a>0;)this.subject.onNext(this.queue.shift()),a--;return 0!==this.queue.length?{numberOfItems:a,returnValue:!0}:{numberOfItems:a,returnValue:!1}}return this.hasFailed?(this.subject.onError(this.error),this.controlledDisposable.dispose(),this.controlledDisposable=xc):this.hasCompleted&&(this.subject.onCompleted(),this.controlledDisposable.dispose(),this.controlledDisposable=xc),{numberOfItems:a,returnValue:!1}},request:function(a){this.disposeCurrentRequest();var b=this,c=this._processRequest(a),a=c.numberOfItems;return c.returnValue?xc:(this.requestedCount=a,this.requestedDisposable=wc(function(){b.requestedCount=0}),this.requestedDisposable)},disposeCurrentRequest:function(){this.requestedDisposable.dispose(),this.requestedDisposable=xc}}),c}(cd);Yc.controlled=function(a){return null==a&&(a=!0),new Bd(this,a)};var Dd=function(a){function b(a){this.subscription=this.source.subscribe(new d(a,this,this.subscription));var b=this;return Mc.schedule(function(){b.source.request(1)}),this.subscription}function c(c){a.call(this,b,c),this.source=c}oc(c,a);var d=function(a){function b(b,c,d){a.call(this),this.observer=b,this.observable=c,this.cancel=d}oc(b,a);var c=b.prototype;return c.completed=function(){this.observer.onCompleted(),this.dispose()},c.error=function(a){this.observer.onError(a),this.dispose()},c.next=function(a){this.observer.onNext(a);var b=this;Mc.schedule(function(){b.observable.source.request(1)})},c.dispose=function(){this.observer=null,this.cancel&&(this.cancel.dispose(),this.cancel=null),a.prototype.dispose.call(this)},b}(Zc);return c}(cd);Bd.prototype.stopAndWait=function(){return new Dd(this)};var Ed=function(a){function b(a){this.subscription=this.source.subscribe(new d(a,this,this.subscription));var b=this;return Mc.schedule(function(){b.source.request(b.windowSize)}),this.subscription}function c(c,d){a.call(this,b,c),this.source=c,this.windowSize=d}oc(c,a);var d=function(a){function b(a,b,c){this.observer=a,this.observable=b,this.cancel=c,this.received=0}oc(b,a);var c=b.prototype;return c.completed=function(){this.observer.onCompleted(),this.dispose()},c.error=function(a){this.observer.onError(a),this.dispose()},c.next=function(a){if(this.observer.onNext(a),this.received=++this.received%this.observable.windowSize,0===this.received){var b=this;Mc.schedule(function(){b.observable.source.request(b.observable.windowSize)})}},c.dispose=function(){this.observer=null,this.cancel&&(this.cancel.dispose(),this.cancel=null),a.prototype.dispose.call(this)},b}(Zc);return c}(cd);Bd.prototype.windowed=function(a){return new Ed(this,a)},Yc.multicast=function(a,b){var c=this;return"function"==typeof a?new Qd(function(d){var e=c.multicast(a());return new tc(b(e).subscribe(d),e.connect())},c):new Id(c,a)},Yc.publish=function(a){return a&&Eb(a)?this.multicast(function(){return new Td},a):this.multicast(new Td)},Yc.share=function(){return this.publish().refCount()},Yc.publishLast=function(a){return a&&Eb(a)?this.multicast(function(){return new Ud},a):this.multicast(new Ud)},Yc.publishValue=function(a,b){return 2===arguments.length?this.multicast(function(){return new Gd(b)},a):this.multicast(new Gd(a))},Yc.shareValue=function(a){return this.publishValue(a).refCount()},Yc.replay=function(a,b,c,d){return a&&Eb(a)?this.multicast(function(){return new Hd(b,c,d)},a):this.multicast(new Hd(b,c,d))},Yc.shareReplay=function(a,b,c){return this.replay(null,a,b,c).refCount()};var Fd=function(a,b){this.subject=a,this.observer=b};Fd.prototype.dispose=function(){if(!this.subject.isDisposed&&null!==this.observer){var a=this.subject.observers.indexOf(this.observer);this.subject.observers.splice(a,1),this.observer=null}};
4
+ var Gd=ub.BehaviorSubject=function(a){function c(a){if(b.call(this),!this.isStopped)return this.observers.push(a),a.onNext(this.value),new Fd(this,a);var c=this.exception;return c?a.onError(c):a.onCompleted(),xc}function d(b){a.call(this,c),this.value=b,this.observers=[],this.isDisposed=!1,this.isStopped=!1,this.exception=null}return oc(d,a),pc(d.prototype,Wc,{hasObservers:function(){return this.observers.length>0},onCompleted:function(){if(b.call(this),!this.isStopped){this.isStopped=!0;for(var a=0,c=this.observers.slice(0),d=c.length;d>a;a++)c[a].onCompleted();this.observers=[]}},onError:function(a){if(b.call(this),!this.isStopped){this.isStopped=!0,this.exception=a;for(var c=0,d=this.observers.slice(0),e=d.length;e>c;c++)d[c].onError(a);this.observers=[]}},onNext:function(a){if(b.call(this),!this.isStopped){this.value=a;for(var c=0,d=this.observers.slice(0),e=d.length;e>c;c++)d[c].onNext(a)}},dispose:function(){this.isDisposed=!0,this.observers=null,this.value=null,this.exception=null}}),d}(cd),Hd=ub.ReplaySubject=function(a){function c(a,b){return wc(function(){b.dispose(),!a.isDisposed&&a.observers.splice(a.observers.indexOf(b),1)})}function d(a){var d=new ad(this.scheduler,a),e=c(this,d);b.call(this),this._trim(this.scheduler.now()),this.observers.push(d);for(var f=0,g=this.q.length;g>f;f++)d.onNext(this.q[f].value);return this.hasError?d.onError(this.error):this.isStopped&&d.onCompleted(),d.ensureActive(),e}function e(b,c,e){this.bufferSize=null==b?Number.MAX_VALUE:b,this.windowSize=null==c?Number.MAX_VALUE:c,this.scheduler=e||Hc,this.q=[],this.observers=[],this.isStopped=!1,this.isDisposed=!1,this.hasError=!1,this.error=null,a.call(this,d)}return oc(e,a),pc(e.prototype,Wc,{hasObservers:function(){return this.observers.length>0},_trim:function(a){for(;this.q.length>this.bufferSize;)this.q.shift();for(;this.q.length>0&&a-this.q[0].interval>this.windowSize;)this.q.shift()},onNext:function(a){if(b.call(this),!this.isStopped){var c=this.scheduler.now();this.q.push({interval:c,value:a}),this._trim(c);for(var d=this.observers.slice(0),e=0,f=d.length;f>e;e++){var g=d[e];g.onNext(a),g.ensureActive()}}},onError:function(a){if(b.call(this),!this.isStopped){this.isStopped=!0,this.error=a,this.hasError=!0;var c=this.scheduler.now();this._trim(c);for(var d=this.observers.slice(0),e=0,f=d.length;f>e;e++){var g=d[e];g.onError(a),g.ensureActive()}this.observers=[]}},onCompleted:function(){if(b.call(this),!this.isStopped){this.isStopped=!0;var a=this.scheduler.now();this._trim(a);for(var c=this.observers.slice(0),d=0,e=c.length;e>d;d++){var f=c[d];f.onCompleted(),f.ensureActive()}this.observers=[]}},dispose:function(){this.isDisposed=!0,this.observers=null}}),e}(cd),Id=ub.ConnectableObservable=function(a){function b(b,c){var d,e=!1,f=b.asObservable();this.connect=function(){return e||(e=!0,d=new tc(f.subscribe(c),wc(function(){e=!1}))),d},a.call(this,c.subscribe.bind(c))}return oc(b,a),b.prototype.refCount=function(){var a,b=0,c=this;return new Qd(function(d){var e=1===++b,f=c.subscribe(d);return e&&(a=c.connect()),function(){f.dispose(),0===--b&&a.dispose()}})},b}(cd),Jd=function(){function b(a){if(0===(1&a))return 2===a;for(var b=Math.sqrt(a),c=3;b>=c;){if(a%c===0)return!1;c+=2}return!0}function c(a){var c,d,e;for(c=0;c<h.length;++c)if(d=h[c],d>=a)return d;for(e=1|a;e<h[h.length-1];){if(b(e))return e;e+=2}return a}function d(a){var b=757602046;if(!a.length)return b;for(var c=0,d=a.length;d>c;c++){var e=a.charCodeAt(c);b=(b<<5)-b+e,b&=b}return b}function e(a){var b=668265261;return a=61^a^a>>>16,a+=a<<3,a^=a>>>4,a*=b,a^=a>>>15}function f(){return{key:null,value:null,next:0,hashCode:0}}function g(a,b){if(0>a)throw new Error("out of range");a>0&&this._initialize(a),this.comparer=b||zb,this.freeCount=0,this.size=0,this.freeList=-1}var h=[1,3,7,13,31,61,127,251,509,1021,2039,4093,8191,16381,32749,65521,131071,262139,524287,1048573,2097143,4194301,8388593,16777213,33554393,67108859,134217689,268435399,536870909,1073741789,2147483647],i="no such key",j="duplicate key",k=function(){var a=0;return function(b){if(null==b)throw new Error(i);if("string"==typeof b)return d(b);if("number"==typeof b)return e(b);if("boolean"==typeof b)return b===!0?1:0;if(b instanceof Date)return e(b.valueOf());if(b instanceof RegExp)return d(b.toString());if("function"==typeof b.valueOf){var c=b.valueOf();if("number"==typeof c)return e(c);if("string"==typeof b)return d(c)}if(b.hashCode)return b.hashCode();var f=17*a++;return b.hashCode=function(){return f},f}}(),l=g.prototype;return l._initialize=function(a){var b,d=c(a);for(this.buckets=new Array(d),this.entries=new Array(d),b=0;d>b;b++)this.buckets[b]=-1,this.entries[b]=f();this.freeList=-1},l.add=function(a,b){this._insert(a,b,!0)},l._insert=function(a,b,c){this.buckets||this._initialize(0);for(var d,e=2147483647&k(a),f=e%this.buckets.length,g=this.buckets[f];g>=0;g=this.entries[g].next)if(this.entries[g].hashCode===e&&this.comparer(this.entries[g].key,a)){if(c)throw new Error(j);return void(this.entries[g].value=b)}this.freeCount>0?(d=this.freeList,this.freeList=this.entries[d].next,--this.freeCount):(this.size===this.entries.length&&(this._resize(),f=e%this.buckets.length),d=this.size,++this.size),this.entries[d].hashCode=e,this.entries[d].next=this.buckets[f],this.entries[d].key=a,this.entries[d].value=b,this.buckets[f]=d},l._resize=function(){var a=c(2*this.size),b=new Array(a);for(e=0;e<b.length;++e)b[e]=-1;var d=new Array(a);for(e=0;e<this.size;++e)d[e]=this.entries[e];for(var e=this.size;a>e;++e)d[e]=f();for(var g=0;g<this.size;++g){var h=d[g].hashCode%a;d[g].next=b[h],b[h]=g}this.buckets=b,this.entries=d},l.remove=function(a){if(this.buckets)for(var b=2147483647&k(a),c=b%this.buckets.length,d=-1,e=this.buckets[c];e>=0;e=this.entries[e].next){if(this.entries[e].hashCode===b&&this.comparer(this.entries[e].key,a))return 0>d?this.buckets[c]=this.entries[e].next:this.entries[d].next=this.entries[e].next,this.entries[e].hashCode=-1,this.entries[e].next=this.freeList,this.entries[e].key=null,this.entries[e].value=null,this.freeList=e,++this.freeCount,!0;d=e}return!1},l.clear=function(){var a,b;if(!(this.size<=0)){for(a=0,b=this.buckets.length;b>a;++a)this.buckets[a]=-1;for(a=0;a<this.size;++a)this.entries[a]=f();this.freeList=-1,this.size=0}},l._findEntry=function(a){if(this.buckets)for(var b=2147483647&k(a),c=this.buckets[b%this.buckets.length];c>=0;c=this.entries[c].next)if(this.entries[c].hashCode===b&&this.comparer(this.entries[c].key,a))return c;return-1},l.count=function(){return this.size-this.freeCount},l.tryGetValue=function(b){var c=this._findEntry(b);return c>=0?this.entries[c].value:a},l.getValues=function(){var a=0,b=[];if(this.entries)for(var c=0;c<this.size;c++)this.entries[c].hashCode>=0&&(b[a++]=this.entries[c].value);return b},l.get=function(a){var b=this._findEntry(a);if(b>=0)return this.entries[b].value;throw new Error(i)},l.set=function(a,b){this._insert(a,b,!1)},l.containskey=function(a){return this._findEntry(a)>=0},g}();Yc.join=function(a,b,c,d){var e=this;return new Qd(function(f){var g=new tc,h=!1,i=!1,j=0,k=0,l=new Jd,m=new Jd;return g.add(e.subscribe(function(a){var c=j++,e=new yc;l.add(c,a),g.add(e);var i,k=function(){l.remove(c)&&0===l.count()&&h&&f.onCompleted(),g.remove(e)};try{i=b(a)}catch(n){return void f.onError(n)}e.setDisposable(i.take(1).subscribe(vb,f.onError.bind(f),k)),m.getValues().forEach(function(b){var c;try{c=d(a,b)}catch(e){return void f.onError(e)}f.onNext(c)})},f.onError.bind(f),function(){h=!0,(i||0===l.count())&&f.onCompleted()})),g.add(a.subscribe(function(a){var b=k++,e=new yc;m.add(b,a),g.add(e);var h,j=function(){m.remove(b)&&0===m.count()&&i&&f.onCompleted(),g.remove(e)};try{h=c(a)}catch(n){return void f.onError(n)}e.setDisposable(h.take(1).subscribe(vb,f.onError.bind(f),j)),l.getValues().forEach(function(b){var c;try{c=d(b,a)}catch(e){return void f.onError(e)}f.onNext(c)})},f.onError.bind(f),function(){i=!0,(h||0===m.count())&&f.onCompleted()})),g},e)},Yc.groupJoin=function(a,b,c,d){var e=this;return new Qd(function(f){function g(a){return function(b){b.onError(a)}}var h=new tc,i=new Ac(h),j=new Jd,k=new Jd,l=0,m=0;return h.add(e.subscribe(function(a){var c=new Td,e=l++;j.add(e,c);var m;try{m=d(a,qc(c,i))}catch(n){return j.getValues().forEach(g(n)),void f.onError(n)}f.onNext(m),k.getValues().forEach(function(a){c.onNext(a)});var o=new yc;h.add(o);var p,q=function(){j.remove(e)&&c.onCompleted(),h.remove(o)};try{p=b(a)}catch(n){return j.getValues().forEach(g(n)),void f.onError(n)}o.setDisposable(p.take(1).subscribe(vb,function(a){j.getValues().forEach(g(a)),f.onError(a)},q))},function(a){j.getValues().forEach(g(a)),f.onError(a)},f.onCompleted.bind(f))),h.add(a.subscribe(function(a){var b=m++;k.add(b,a);var d=new yc;h.add(d);var e,i=function(){k.remove(b),h.remove(d)};try{e=c(a)}catch(l){return j.getValues().forEach(g(l)),void f.onError(l)}d.setDisposable(e.take(1).subscribe(vb,function(a){j.getValues().forEach(g(a)),f.onError(a)},i)),j.getValues().forEach(function(b){b.onNext(a)})},function(a){j.getValues().forEach(g(a)),f.onError(a)})),i},e)},Yc.buffer=function(){return this.window.apply(this,arguments).selectMany(function(a){return a.toArray()})},Yc.window=function(a,b){return 1===arguments.length&&"function"!=typeof arguments[0]?_.call(this,a):"function"==typeof a?ab.call(this,a):$.call(this,a,b)},Yc.pairwise=function(){var a=this;return new Qd(function(b){var c,d=!1;return a.subscribe(function(a){d?b.onNext([c,a]):d=!0,c=a},b.onError.bind(b),b.onCompleted.bind(b))},a)},Yc.partition=function(a,b){var c=this.publish().refCount();return[c.filter(a,b),c.filter(function(c,d,e){return!a.call(b,c,d,e)})]},Yc.letBind=Yc.let=function(a){return a(this)},cd["if"]=cd.ifThen=function(a,b,c){return ed(function(){return c||(c=fd()),Cb(b)&&(b=dd(b)),Cb(c)&&(c=dd(c)),"function"==typeof c.now&&(c=fd(c)),a()?b:c})},cd["for"]=cd.forIn=function(a,b,c){return Vc(a,b,c).concat()};var Kd=cd["while"]=cd.whileDo=function(a,b){return Cb(b)&&(b=dd(b)),bb(a,b).concat()};Yc.doWhile=function(a){return od([this,Kd(a,this)])},cd["case"]=cd.switchCase=function(a,b,c){return ed(function(){Cb(c)&&(c=dd(c)),c||(c=fd()),"function"==typeof c.now&&(c=fd(c));var d=b[a()];return Cb(d)&&(d=dd(d)),d||c})},Yc.expand=function(a,b){wb(b)||(b=Gc);var c=this;return new Qd(function(d){var e=[],f=new zc,g=new tc(f),h=0,i=!1,j=function(){var c=!1;e.length>0&&(c=!i,i=!0),c&&f.setDisposable(b.scheduleRecursive(function(b){var c;if(!(e.length>0))return void(i=!1);c=e.shift();var f=new yc;g.add(f),f.setDisposable(c.subscribe(function(b){d.onNext(b);var c=null;try{c=a(b)}catch(f){d.onError(f)}e.push(c),h++,j()},d.onError.bind(d),function(){g.remove(f),h--,0===h&&d.onCompleted()})),b()}))};return e.push(c),h++,j(),g},this)},cd.forkJoin=function(){var a=o(arguments,0);return new Qd(function(b){var c=a.length;if(0===c)return b.onCompleted(),xc;for(var d=new tc,e=!1,f=new Array(c),g=new Array(c),h=new Array(c),i=0;c>i;i++)!function(i){var j=a[i];Cb(j)&&(j=dd(j)),d.add(j.subscribe(function(a){e||(f[i]=!0,h[i]=a)},function(a){e=!0,b.onError(a),d.dispose()},function(){if(!e){if(!f[i])return void b.onCompleted();g[i]=!0;for(var a=0;c>a;a++)if(!g[a])return;e=!0,b.onNext(h),b.onCompleted()}}))}(i);return d})},Yc.forkJoin=function(a,b){var c=this;return new Qd(function(d){var e,f,g=!1,h=!1,i=!1,j=!1,k=new yc,l=new yc;return Cb(a)&&(a=dd(a)),k.setDisposable(c.subscribe(function(a){i=!0,e=a},function(a){l.dispose(),d.onError(a)},function(){if(g=!0,h)if(i)if(j){var a;try{a=b(e,f)}catch(c){return void d.onError(c)}d.onNext(a),d.onCompleted()}else d.onCompleted();else d.onCompleted()})),l.setDisposable(a.subscribe(function(a){j=!0,f=a},function(a){k.dispose(),d.onError(a)},function(){if(h=!0,g)if(i)if(j){var a;try{a=b(e,f)}catch(c){return void d.onError(c)}d.onNext(a),d.onCompleted()}else d.onCompleted();else d.onCompleted()})),new tc(k,l)},c)},Yc.manySelect=function(a,b){wb(b)||(b=Gc);var c=this;return ed(function(){var d;return c.map(function(a){var b=new Ld(a);return d&&d.onNext(a),d=b,b}).tap(vb,function(a){d&&d.onError(a)},function(){d&&d.onCompleted()}).observeOn(b).map(a)},c)};var Ld=function(a){function b(a){var b=this,c=new tc;return c.add(Hc.schedule(function(){a.onNext(b.head),c.add(b.tail.mergeAll().subscribe(a))})),c}function c(c){a.call(this,b),this.head=c,this.tail=new Ud}return oc(c,a),pc(c.prototype,Wc,{onCompleted:function(){this.onNext(cd.empty())},onError:function(a){this.onNext(cd.throwException(a))},onNext:function(a){this.tail.onNext(a),this.tail.onCompleted()}}),c}(cd),Md=pb.Map||function(){function b(){this._keys=[],this._values=[]}return b.prototype.get=function(b){var c=this._keys.indexOf(b);return-1!==c?this._values[c]:a},b.prototype.set=function(a,b){var c=this._keys.indexOf(a);-1!==c&&(this._values[c]=b),this._values[this._keys.push(a)-1]=b},b.prototype.forEach=function(a,b){for(var c=0,d=this._keys.length;d>c;c++)a.call(b,this._values[c],this._keys[c])},b}();db.prototype.and=function(a){return new db(this.patterns.concat(a))},db.prototype.thenDo=function(a){return new eb(this,a)},eb.prototype.activate=function(a,b,c){for(var d=this,e=[],f=0,g=this.expression.patterns.length;g>f;f++)e.push(fb(a,this.expression.patterns[f],b.onError.bind(b)));var h=new gb(e,function(){var a;try{a=d.selector.apply(d,arguments)}catch(c){return void b.onError(c)}b.onNext(a)},function(){for(var a=0,b=e.length;b>a;a++)e[a].removeActivePlan(h);c(h)});for(f=0,g=e.length;g>f;f++)e[f].addActivePlan(h);return h},gb.prototype.dequeue=function(){this.joinObservers.forEach(function(a){a.queue.shift()})},gb.prototype.match=function(){var a,b,c=!0;for(a=0,b=this.joinObserverArray.length;b>a;a++)if(0===this.joinObserverArray[a].queue.length){c=!1;break}if(c){var d=[],e=!1;for(a=0,b=this.joinObserverArray.length;b>a;a++)d.push(this.joinObserverArray[a].queue[0]),"C"===this.joinObserverArray[a].queue[0].kind&&(e=!0);if(e)this.onCompleted();else{this.dequeue();var f=[];for(a=0,b=d.length;a<d.length;a++)f.push(d[a].value);this.onNext.apply(this,f)}}};var Nd=function(a){function b(b,c){a.call(this),this.source=b,this.onError=c,this.queue=[],this.activePlans=[],this.subscription=new yc,this.isDisposed=!1}oc(b,a);var c=b.prototype;return c.next=function(a){if(!this.isDisposed){if("E"===a.kind)return void this.onError(a.exception);this.queue.push(a);for(var b=this.activePlans.slice(0),c=0,d=b.length;d>c;c++)b[c].match()}},c.error=vb,c.completed=vb,c.addActivePlan=function(a){this.activePlans.push(a)},c.subscribe=function(){this.subscription.setDisposable(this.source.materialize().subscribe(this))},c.removeActivePlan=function(a){this.activePlans.splice(this.activePlans.indexOf(a),1),0===this.activePlans.length&&this.dispose()},c.dispose=function(){a.prototype.dispose.call(this),this.isDisposed||(this.isDisposed=!0,this.subscription.dispose())},b}(Zc);Yc.and=function(a){return new db([this,a])},Yc.thenDo=function(a){return new db([this]).thenDo(a)},cd.when=function(){var a=o(arguments,0);return new Qd(function(b){var c=[],d=new Md,e=Xc(b.onNext.bind(b),function(a){d.forEach(function(b){b.onError(a)}),b.onError(a)},b.onCompleted.bind(b));try{for(var f=0,g=a.length;g>f;f++)c.push(a[f].activate(d,e,function(a){var d=c.indexOf(a);c.splice(d,1),0===c.length&&b.onCompleted()}))}catch(h){ld(h).subscribe(b)}var i=new tc;return d.forEach(function(a){a.subscribe(),i.add(a)}),i})};var Od=cd.interval=function(a,b){return kb(a,a,wb(b)?b:Mc)},Pd=cd.timer=function(b,c,d){var e;return wb(d)||(d=Mc),c!==a&&"number"==typeof c?e=c:wb(c)&&(d=c),b instanceof Date&&e===a?hb(b.getTime(),d):b instanceof Date&&e!==a?(e=c,ib(b.getTime(),e,d)):e===a?jb(b,d):kb(b,e,d)};Yc.delay=function(a,b){return wb(b)||(b=Mc),a instanceof Date?mb(this,a.getTime(),b):lb(this,a,b)},Yc.debounce=Yc.throttleWithTimeout=function(a,b){wb(b)||(b=Mc);var c=this;return new Qd(function(d){var e,f=new zc,g=!1,h=0,i=c.subscribe(function(c){g=!0,e=c,h++;var i=h,j=new yc;f.setDisposable(j),j.setDisposable(b.scheduleWithRelative(a,function(){g&&h===i&&d.onNext(e),g=!1}))},function(a){f.dispose(),d.onError(a),g=!1,h++},function(){f.dispose(),g&&d.onNext(e),d.onCompleted(),g=!1,h++});return new tc(i,f)},this)},Yc.throttle=function(a,b){return Sb("throttle","debounce or throttleWithTimeout"),this.debounce(a,b)},Yc.windowWithTime=function(a,b,c){var d,e=this;return null==b&&(d=a),wb(c)||(c=Mc),"number"==typeof b?d=b:wb(b)&&(d=a,c=b),new Qd(function(b){function f(){var a=new yc,e=!1,g=!1;l.setDisposable(a),j===i?(e=!0,g=!0):i>j?e=!0:g=!0;var n=e?j:i,o=n-m;m=n,e&&(j+=d),g&&(i+=d),a.setDisposable(c.scheduleWithRelative(o,function(){if(g){var a=new Td;k.push(a),b.onNext(qc(a,h))}e&&k.shift().onCompleted(),f()}))}var g,h,i=d,j=a,k=[],l=new zc,m=0;return g=new tc(l),h=new Ac(g),k.push(new Td),b.onNext(qc(k[0],h)),f(),g.add(e.subscribe(function(a){for(var b=0,c=k.length;c>b;b++)k[b].onNext(a)},function(a){for(var c=0,d=k.length;d>c;c++)k[c].onError(a);b.onError(a)},function(){for(var a=0,c=k.length;c>a;a++)k[a].onCompleted();b.onCompleted()})),h},e)},Yc.windowWithTimeOrCount=function(a,b,c){var d=this;return wb(c)||(c=Mc),new Qd(function(e){function f(b){var d=new yc;g.setDisposable(d),d.setDisposable(c.scheduleWithRelative(a,function(){if(b===k){j=0;var a=++k;l.onCompleted(),l=new Td,e.onNext(qc(l,i)),f(a)}}))}var g=new zc,h=new tc(g),i=new Ac(h),j=0,k=0,l=new Td;return e.onNext(qc(l,i)),f(0),h.add(d.subscribe(function(a){var c=0,d=!1;l.onNext(a),++j===b&&(d=!0,j=0,c=++k,l.onCompleted(),l=new Td,e.onNext(qc(l,i))),d&&f(c)},function(a){l.onError(a),e.onError(a)},function(){l.onCompleted(),e.onCompleted()})),i},d)},Yc.bufferWithTime=function(){return this.windowWithTime.apply(this,arguments).selectMany(function(a){return a.toArray()})},Yc.bufferWithTimeOrCount=function(a,b,c){return this.windowWithTimeOrCount(a,b,c).selectMany(function(a){return a.toArray()})},Yc.timeInterval=function(a){var b=this;return wb(a)||(a=Mc),ed(function(){var c=a.now();return b.map(function(b){var d=a.now(),e=d-c;return c=d,{value:b,interval:e}})})},Yc.timestamp=function(a){return wb(a)||(a=Mc),this.map(function(b){return{value:b,timestamp:a.now()}})},Yc.sample=Yc.throttleLatest=function(a,b){return wb(b)||(b=Mc),"number"==typeof a?nb(this,Od(a,b)):nb(this,a)},Yc.timeout=function(a,b,c){(null==b||"string"==typeof b)&&(b=ld(new Error(b||"Timeout"))),wb(c)||(c=Mc);var d=this,e=a instanceof Date?"scheduleWithAbsolute":"scheduleWithRelative";return new Qd(function(f){function g(){var d=h;l.setDisposable(c[e](a,function(){h===d&&(Cb(b)&&(b=dd(b)),j.setDisposable(b.subscribe(f)))}))}var h=0,i=new yc,j=new zc,k=!1,l=new zc;return j.setDisposable(i),g(),i.setDisposable(d.subscribe(function(a){k||(h++,f.onNext(a),g())},function(a){k||(h++,f.onError(a))},function(){k||(h++,f.onCompleted())})),new tc(j,l)},d)},cd.generateWithAbsoluteTime=function(a,b,c,d,e,f){return wb(f)||(f=Mc),new Qd(function(g){var h,i,j=!0,k=!1,l=a;return f.scheduleRecursiveWithAbsolute(f.now(),function(a){k&&g.onNext(h);try{j?j=!1:l=c(l),k=b(l),k&&(h=d(l),i=e(l))}catch(f){return void g.onError(f)}k?a(i):g.onCompleted()})})},cd.generateWithRelativeTime=function(a,b,c,d,e,f){return wb(f)||(f=Mc),new Qd(function(g){var h,i,j=!0,k=!1,l=a;return f.scheduleRecursiveWithRelative(0,function(a){k&&g.onNext(h);try{j?j=!1:l=c(l),k=b(l),k&&(h=d(l),i=e(l))}catch(f){return void g.onError(f)}k?a(i):g.onCompleted()})})},Yc.delaySubscription=function(a,b){return this.delayWithSelector(Pd(a,wb(b)?b:Mc),fd)},Yc.delayWithSelector=function(a,b){var c,d,e=this;return"function"==typeof a?d=a:(c=a,d=b),new Qd(function(a){var b=new tc,f=!1,g=function(){f&&0===b.length&&a.onCompleted()},h=new zc,i=function(){h.setDisposable(e.subscribe(function(c){var e;try{e=d(c)}catch(f){return void a.onError(f)}var h=new yc;b.add(h),h.setDisposable(e.subscribe(function(){a.onNext(c),b.remove(h),g()},a.onError.bind(a),function(){a.onNext(c),b.remove(h),g()}))},a.onError.bind(a),function(){f=!0,h.dispose(),g()}))};return c?h.setDisposable(c.subscribe(i,a.onError.bind(a),i)):i(),new tc(h,b)},this)},Yc.timeoutWithSelector=function(a,b,c){1===arguments.length&&(b=a,a=jd()),c||(c=ld(new Error("Timeout")));var d=this;return new Qd(function(e){function f(a){function b(){return k===d}var d=k,f=new yc;i.setDisposable(f),f.setDisposable(a.subscribe(function(){b()&&h.setDisposable(c.subscribe(e)),f.dispose()},function(a){b()&&e.onError(a)},function(){b()&&h.setDisposable(c.subscribe(e))}))}function g(){var a=!l;return a&&k++,a}var h=new zc,i=new zc,j=new yc;h.setDisposable(j);var k=0,l=!1;return f(a),j.setDisposable(d.subscribe(function(a){if(g()){e.onNext(a);var c;try{c=b(a)}catch(d){return void e.onError(d)}f(Cb(c)?dd(c):c)}},function(a){g()&&e.onError(a)},function(){g()&&e.onCompleted()})),new tc(h,i)},d)},Yc.debounceWithSelector=function(a){var b=this;return new Qd(function(c){var d,e=!1,f=new zc,g=0,h=b.subscribe(function(b){var h;try{h=a(b)}catch(i){return void c.onError(i)}Cb(h)&&(h=dd(h)),e=!0,d=b,g++;var j=g,k=new yc;f.setDisposable(k),k.setDisposable(h.subscribe(function(){e&&g===j&&c.onNext(d),e=!1,k.dispose()},c.onError.bind(c),function(){e&&g===j&&c.onNext(d),e=!1,k.dispose()}))},function(a){f.dispose(),c.onError(a),e=!1,g++},function(){f.dispose(),e&&c.onNext(d),c.onCompleted(),e=!1,g++});return new tc(h,f)},b)},Yc.throttleWithSelector=function(){return Sb("throttleWithSelector","debounceWithSelector"),this.debounceWithSelector.apply(this,arguments)},Yc.skipLastWithTime=function(a,b){wb(b)||(b=Mc);var c=this;return new Qd(function(d){var e=[];return c.subscribe(function(c){var f=b.now();for(e.push({interval:f,value:c});e.length>0&&f-e[0].interval>=a;)d.onNext(e.shift().value)},d.onError.bind(d),function(){for(var c=b.now();e.length>0&&c-e[0].interval>=a;)d.onNext(e.shift().value);d.onCompleted()})},c)},Yc.takeLastWithTime=function(a,b){var c=this;return wb(b)||(b=Mc),new Qd(function(d){var e=[];return c.subscribe(function(c){var d=b.now();for(e.push({interval:d,value:c});e.length>0&&d-e[0].interval>=a;)e.shift()},d.onError.bind(d),function(){for(var c=b.now();e.length>0;){var f=e.shift();c-f.interval<=a&&d.onNext(f.value)}d.onCompleted()})},c)},Yc.takeLastBufferWithTime=function(a,b){var c=this;return wb(b)||(b=Mc),new Qd(function(d){var e=[];return c.subscribe(function(c){var d=b.now();for(e.push({interval:d,value:c});e.length>0&&d-e[0].interval>=a;)e.shift()},d.onError.bind(d),function(){for(var c=b.now(),f=[];e.length>0;){var g=e.shift();c-g.interval<=a&&f.push(g.value)}d.onNext(f),d.onCompleted()})},c)},Yc.takeWithTime=function(a,b){var c=this;return wb(b)||(b=Mc),new Qd(function(d){return new tc(b.scheduleWithRelative(a,d.onCompleted.bind(d)),c.subscribe(d))},c)},Yc.skipWithTime=function(a,b){var c=this;return wb(b)||(b=Mc),new Qd(function(d){var e=!1;return new tc(b.scheduleWithRelative(a,function(){e=!0}),c.subscribe(function(a){e&&d.onNext(a)},d.onError.bind(d),d.onCompleted.bind(d)))},c)},Yc.skipUntilWithTime=function(a,b){wb(b)||(b=Mc);var c=this,d=a instanceof Date?"scheduleWithAbsolute":"scheduleWithRelative";return new Qd(function(e){var f=!1;return new tc(b[d](a,function(){f=!0}),c.subscribe(function(a){f&&e.onNext(a)},e.onError.bind(e),e.onCompleted.bind(e)))},c)},Yc.takeUntilWithTime=function(a,b){wb(b)||(b=Mc);var c=this,d=a instanceof Date?"scheduleWithAbsolute":"scheduleWithRelative";return new Qd(function(e){return new tc(b[d](a,e.onCompleted.bind(e)),c.subscribe(e))},c)},Yc.throttleFirst=function(a,b){wb(b)||(b=Mc);var c=+a||0;if(0>=c)throw new RangeError("windowDuration cannot be less or equal zero.");var d=this;return new Qd(function(a){var e=0;return d.subscribe(function(d){var f=b.now();(0===e||f-e>=c)&&(e=f,a.onNext(d))},a.onError.bind(a),a.onCompleted.bind(a))},d)},Yc.transduce=function(a){function b(a){return{init:function(){return a},step:function(a,b){return a.onNext(b)},result:function(a){return a.onCompleted()}}}var c=this;return new Qd(function(d){var e=a(b(d));return c.subscribe(function(a){try{e.step(d,a)}catch(b){d.onError(b)}},d.onError.bind(d),function(){e.result(d)})},c)},Yc.exclusive=function(){var a=this;return new Qd(function(b){var c=!1,d=!1,e=new yc,f=new tc;return f.add(e),e.setDisposable(a.subscribe(function(a){if(!c){c=!0,Cb(a)&&(a=dd(a));var e=new yc;f.add(e),e.setDisposable(a.subscribe(b.onNext.bind(b),b.onError.bind(b),function(){f.remove(e),c=!1,d&&1===f.length&&b.onCompleted()}))}},b.onError.bind(b),function(){d=!0,c||1!==f.length||b.onCompleted()})),f},this)},Yc.exclusiveMap=function(a,b){var c=this;return new Qd(function(d){var e=0,f=!1,g=!0,h=new yc,i=new tc;return i.add(h),h.setDisposable(c.subscribe(function(c){f||(f=!0,innerSubscription=new yc,i.add(innerSubscription),Cb(c)&&(c=dd(c)),innerSubscription.setDisposable(c.subscribe(function(f){var g;try{g=a.call(b,f,e++,c)}catch(h){return void d.onError(h)}d.onNext(g)},d.onError.bind(d),function(){i.remove(innerSubscription),f=!1,g&&1===i.length&&d.onCompleted()})))},d.onError.bind(d),function(){g=!0,1!==i.length||f||d.onCompleted()})),i},this)},ub.VirtualTimeScheduler=function(a){function b(){throw new Error("Not implemented")}function c(){return this.toDateTimeOffset(this.clock)}function d(a,b){return this.scheduleAbsoluteWithState(a,this.clock,b)}function e(a,b,c){return this.scheduleRelativeWithState(a,this.toRelative(b),c)}function f(a,b,c){return this.scheduleRelativeWithState(a,this.toRelative(b-this.now()),c)}function g(a,b){return b(),xc}function h(b,g){this.clock=b,this.comparer=g,this.isEnabled=!1,this.queue=new rc(1024),a.call(this,c,d,e,f)}oc(h,a);var i=h.prototype;return i.add=b,i.toDateTimeOffset=b,i.toRelative=b,i.schedulePeriodicWithState=function(a,b,c){var d=new Fc(this,a,b,c);return d.start()},i.scheduleRelativeWithState=function(a,b,c){var d=this.add(this.clock,b);return this.scheduleAbsoluteWithState(a,d,c)},i.scheduleRelative=function(a,b){return this.scheduleRelativeWithState(b,a,g)},i.start=function(){if(!this.isEnabled){this.isEnabled=!0;do{var a=this.getNext();null!==a?(this.comparer(a.dueTime,this.clock)>0&&(this.clock=a.dueTime),a.invoke()):this.isEnabled=!1}while(this.isEnabled)}},i.stop=function(){this.isEnabled=!1},i.advanceTo=function(a){var b=this.comparer(this.clock,a);if(this.comparer(this.clock,a)>0)throw new Error(Gb);if(0!==b&&!this.isEnabled){this.isEnabled=!0;do{var c=this.getNext();null!==c&&this.comparer(c.dueTime,a)<=0?(this.comparer(c.dueTime,this.clock)>0&&(this.clock=c.dueTime),c.invoke()):this.isEnabled=!1}while(this.isEnabled);this.clock=a}},i.advanceBy=function(a){var b=this.add(this.clock,a),c=this.comparer(this.clock,b);if(c>0)throw new Error(Gb);0!==c&&this.advanceTo(b)},i.sleep=function(a){var b=this.add(this.clock,a);if(this.comparer(this.clock,b)>=0)throw new Error(Gb);this.clock=b},i.getNext=function(){for(;this.queue.length>0;){var a=this.queue.peek();if(!a.isCancelled())return a;this.queue.dequeue()}return null},i.scheduleAbsolute=function(a,b){return this.scheduleAbsoluteWithState(b,a,g)},i.scheduleAbsoluteWithState=function(a,b,c){function d(a,b){return e.queue.remove(f),c(a,b)}var e=this,f=new Bc(this,a,d,b,this.comparer);return this.queue.enqueue(f),f.disposable},h}(Cc),ub.HistoricalScheduler=function(a){function b(b,c){var d=null==b?0:b,e=c||Ab;a.call(this,d,e)}oc(b,a);var c=b.prototype;return c.add=function(a,b){return a+b},c.toDateTimeOffset=function(a){return new Date(a).getTime()},c.toRelative=function(a){return a},b}(ub.VirtualTimeScheduler);var Qd=ub.AnonymousObservable=function(a){function b(a){return a&&"function"==typeof a.dispose?a:"function"==typeof a?wc(a):xc}function c(d,e){function f(a){var c=function(){try{e.setDisposable(b(d(e)))}catch(a){if(!e.fail(a))throw a}},e=new Rd(a);return Hc.scheduleRequired()?Hc.schedule(c):c(),e}return this.source=e,this instanceof c?void a.call(this,f):new c(d)}return oc(c,a),c}(cd),Rd=function(a){function b(b){a.call(this),this.observer=b,this.m=new yc}oc(b,a);var c=b.prototype;return c.next=function(a){var b=!1;try{this.observer.onNext(a),b=!0}catch(c){throw c}finally{!b&&this.dispose()}},c.error=function(a){try{this.observer.onError(a)}catch(b){throw b}finally{this.dispose()}},c.completed=function(){try{this.observer.onCompleted()}catch(a){throw a}finally{this.dispose()}},c.setDisposable=function(a){this.m.setDisposable(a)},c.getDisposable=function(){return this.m.getDisposable()},c.dispose=function(){a.prototype.dispose.call(this),this.m.dispose()},b}(Zc),Sd=function(a){function b(a){return this.underlyingObservable.subscribe(a)}function c(c,d,e){a.call(this,b),this.key=c,this.underlyingObservable=e?new Qd(function(a){return new tc(e.getDisposable(),d.subscribe(a))}):d}return oc(c,a),c}(cd),Td=ub.Subject=function(a){function c(a){return b.call(this),this.isStopped?this.exception?(a.onError(this.exception),xc):(a.onCompleted(),xc):(this.observers.push(a),new Fd(this,a))}function d(){a.call(this,c),this.isDisposed=!1,this.isStopped=!1,this.observers=[]}return oc(d,a),pc(d.prototype,Wc,{hasObservers:function(){return this.observers.length>0},onCompleted:function(){if(b.call(this),!this.isStopped){var a=this.observers.slice(0);this.isStopped=!0;for(var c=0,d=a.length;d>c;c++)a[c].onCompleted();this.observers=[]}},onError:function(a){if(b.call(this),!this.isStopped){var c=this.observers.slice(0);this.isStopped=!0,this.exception=a;for(var d=0,e=c.length;e>d;d++)c[d].onError(a);this.observers=[]}},onNext:function(a){if(b.call(this),!this.isStopped)for(var c=this.observers.slice(0),d=0,e=c.length;e>d;d++)c[d].onNext(a)},dispose:function(){this.isDisposed=!0,this.observers=null}}),d.create=function(a,b){return new Vd(a,b)},d}(cd),Ud=ub.AsyncSubject=function(a){function c(a){if(b.call(this),!this.isStopped)return this.observers.push(a),new Fd(this,a);var c=this.exception,d=this.hasValue,e=this.value;return c?a.onError(c):d?(a.onNext(e),a.onCompleted()):a.onCompleted(),xc}function d(){a.call(this,c),this.isDisposed=!1,this.isStopped=!1,this.value=null,this.hasValue=!1,this.observers=[],this.exception=null}return oc(d,a),pc(d.prototype,Wc,{hasObservers:function(){return b.call(this),this.observers.length>0},onCompleted:function(){var a,c,d;if(b.call(this),!this.isStopped){this.isStopped=!0;var e=this.observers.slice(0),f=this.value,g=this.hasValue;if(g)for(c=0,d=e.length;d>c;c++)a=e[c],a.onNext(f),a.onCompleted();else for(c=0,d=e.length;d>c;c++)e[c].onCompleted();this.observers=[]}},onError:function(a){if(b.call(this),!this.isStopped){var c=this.observers.slice(0);this.isStopped=!0,this.exception=a;for(var d=0,e=c.length;e>d;d++)c[d].onError(a);this.observers=[]}},onNext:function(a){b.call(this),this.isStopped||(this.value=a,this.hasValue=!0)},dispose:function(){this.isDisposed=!0,this.observers=null,this.exception=null,this.value=null}}),d}(cd),Vd=ub.AnonymousSubject=function(a){function b(b,c){this.observer=b,this.observable=c,a.call(this,this.observable.subscribe.bind(this.observable))}return oc(b,a),pc(b.prototype,Wc,{onCompleted:function(){this.observer.onCompleted()},onError:function(a){this.observer.onError(a)},onNext:function(a){this.observer.onNext(a)}}),b}(cd);"function"==typeof define&&"object"==typeof define.amd&&define.amd?(pb.Rx=ub,define(function(){return ub})):qb&&rb?sb?(rb.exports=ub).Rx=ub:qb.Rx=ub:pb.Rx=ub;var Wd=g()}).call(this);
5
5
  //# sourceMappingURL=rx.all.map
@@ -36,6 +36,7 @@
36
36
  var Observable = Rx.Observable,
37
37
  observableProto = Observable.prototype,
38
38
  AnonymousObservable = Rx.AnonymousObservable,
39
+ AbstractObserver = Rx.internals.AbstractObserver,
39
40
  CompositeDisposable = Rx.CompositeDisposable,
40
41
  Subject = Rx.Subject,
41
42
  Observer = Rx.Observer,
@@ -44,14 +45,15 @@
44
45
  inherits = Rx.internals.inherits,
45
46
  addProperties = Rx.internals.addProperties,
46
47
  timeoutScheduler = Rx.Scheduler.timeout,
48
+ currentThreadScheduler = Rx.Scheduler.currentThread,
47
49
  identity = Rx.helpers.identity;
48
50
 
49
51
  var objectDisposed = 'Object has been disposed';
50
52
  function checkDisposed() { if (this.isDisposed) { throw new Error(objectDisposed); } }
51
53
 
52
- var PausableObservable = (function (_super) {
54
+ var PausableObservable = (function (__super__) {
53
55
 
54
- inherits(PausableObservable, _super);
56
+ inherits(PausableObservable, __super__);
55
57
 
56
58
  function subscribe(observer) {
57
59
  var conn = this.source.publish(),
@@ -80,7 +82,7 @@
80
82
  this.pauser = this.controller;
81
83
  }
82
84
 
83
- _super.call(this, subscribe);
85
+ __super__.call(this, subscribe, source);
84
86
  }
85
87
 
86
88
  PausableObservable.prototype.pause = function () {
@@ -164,7 +166,7 @@
164
166
  next(true, 1);
165
167
  })
166
168
  );
167
- });
169
+ }, source);
168
170
  }
169
171
 
170
172
  var PausableBufferedObservable = (function (__super__) {
@@ -229,7 +231,7 @@
229
231
  this.pauser = this.controller;
230
232
  }
231
233
 
232
- __super__.call(this, subscribe);
234
+ __super__.call(this, subscribe, source);
233
235
  }
234
236
 
235
237
  PausableBufferedObservable.prototype.pause = function () {
@@ -257,29 +259,16 @@
257
259
  return new PausableBufferedObservable(this, subject);
258
260
  };
259
261
 
260
- /**
261
- * Attaches a controller to the observable sequence with the ability to queue.
262
- * @example
263
- * var source = Rx.Observable.interval(100).controlled();
264
- * source.request(3); // Reads 3 values
265
- * @param {Observable} pauser The observable sequence used to pause the underlying sequence.
266
- * @returns {Observable} The observable sequence which is paused based upon the pauser.
267
- */
268
- observableProto.controlled = function (enableQueue) {
269
- if (enableQueue == null) { enableQueue = true; }
270
- return new ControlledObservable(this, enableQueue);
271
- };
272
-
273
- var ControlledObservable = (function (_super) {
262
+ var ControlledObservable = (function (__super__) {
274
263
 
275
- inherits(ControlledObservable, _super);
264
+ inherits(ControlledObservable, __super__);
276
265
 
277
266
  function subscribe (observer) {
278
267
  return this.source.subscribe(observer);
279
268
  }
280
269
 
281
270
  function ControlledObservable (source, enableQueue) {
282
- _super.call(this, subscribe);
271
+ __super__.call(this, subscribe, source);
283
272
  this.subject = new ControlledSubject(enableQueue);
284
273
  this.source = source.multicast(this.subject).refCount();
285
274
  }
@@ -293,132 +282,265 @@
293
282
 
294
283
  }(Observable));
295
284
 
296
- var ControlledSubject = Rx.ControlledSubject = (function (_super) {
285
+ var ControlledSubject = (function (__super__) {
297
286
 
298
- function subscribe (observer) {
299
- return this.subject.subscribe(observer);
287
+ function subscribe (observer) {
288
+ return this.subject.subscribe(observer);
289
+ }
290
+
291
+ inherits(ControlledSubject, __super__);
292
+
293
+ function ControlledSubject(enableQueue) {
294
+ enableQueue == null && (enableQueue = true);
295
+
296
+ __super__.call(this, subscribe);
297
+ this.subject = new Subject();
298
+ this.enableQueue = enableQueue;
299
+ this.queue = enableQueue ? [] : null;
300
+ this.requestedCount = 0;
301
+ this.requestedDisposable = disposableEmpty;
302
+ this.error = null;
303
+ this.hasFailed = false;
304
+ this.hasCompleted = false;
305
+ this.controlledDisposable = disposableEmpty;
306
+ }
307
+
308
+ addProperties(ControlledSubject.prototype, Observer, {
309
+ onCompleted: function () {
310
+ this.hasCompleted = true;
311
+ (!this.enableQueue || this.queue.length === 0) && this.subject.onCompleted();
312
+ },
313
+ onError: function (error) {
314
+ this.hasFailed = true;
315
+ this.error = error;
316
+ (!this.enableQueue || this.queue.length === 0) && this.subject.onError(error);
317
+ },
318
+ onNext: function (value) {
319
+ var hasRequested = false;
320
+
321
+ if (this.requestedCount === 0) {
322
+ this.enableQueue && this.queue.push(value);
323
+ } else {
324
+ (this.requestedCount !== -1 && this.requestedCount-- === 0) && this.disposeCurrentRequest();
325
+ hasRequested = true;
300
326
  }
327
+ hasRequested && this.subject.onNext(value);
328
+ },
329
+ _processRequest: function (numberOfItems) {
330
+ if (this.enableQueue) {
331
+ while (this.queue.length >= numberOfItems && numberOfItems > 0) {
332
+ this.subject.onNext(this.queue.shift());
333
+ numberOfItems--;
334
+ }
301
335
 
302
- inherits(ControlledSubject, _super);
336
+ return this.queue.length !== 0 ?
337
+ { numberOfItems: numberOfItems, returnValue: true } :
338
+ { numberOfItems: numberOfItems, returnValue: false };
339
+ }
303
340
 
304
- function ControlledSubject(enableQueue) {
305
- if (enableQueue == null) {
306
- enableQueue = true;
307
- }
341
+ if (this.hasFailed) {
342
+ this.subject.onError(this.error);
343
+ this.controlledDisposable.dispose();
344
+ this.controlledDisposable = disposableEmpty;
345
+ } else if (this.hasCompleted) {
346
+ this.subject.onCompleted();
347
+ this.controlledDisposable.dispose();
348
+ this.controlledDisposable = disposableEmpty;
349
+ }
350
+
351
+ return { numberOfItems: numberOfItems, returnValue: false };
352
+ },
353
+ request: function (number) {
354
+ this.disposeCurrentRequest();
355
+ var self = this, r = this._processRequest(number);
308
356
 
309
- _super.call(this, subscribe);
310
- this.subject = new Subject();
311
- this.enableQueue = enableQueue;
312
- this.queue = enableQueue ? [] : null;
313
- this.requestedCount = 0;
314
- this.requestedDisposable = disposableEmpty;
315
- this.error = null;
316
- this.hasFailed = false;
317
- this.hasCompleted = false;
318
- this.controlledDisposable = disposableEmpty;
357
+ var number = r.numberOfItems;
358
+ if (!r.returnValue) {
359
+ this.requestedCount = number;
360
+ this.requestedDisposable = disposableCreate(function () {
361
+ self.requestedCount = 0;
362
+ });
363
+
364
+ return this.requestedDisposable
365
+ } else {
366
+ return disposableEmpty;
319
367
  }
368
+ },
369
+ disposeCurrentRequest: function () {
370
+ this.requestedDisposable.dispose();
371
+ this.requestedDisposable = disposableEmpty;
372
+ }
373
+ });
320
374
 
321
- addProperties(ControlledSubject.prototype, Observer, {
322
- onCompleted: function () {
323
- checkDisposed.call(this);
324
- this.hasCompleted = true;
375
+ return ControlledSubject;
376
+ }(Observable));
325
377
 
326
- if (!this.enableQueue || this.queue.length === 0) {
327
- this.subject.onCompleted();
328
- }
329
- },
330
- onError: function (error) {
331
- checkDisposed.call(this);
332
- this.hasFailed = true;
333
- this.error = error;
378
+ /**
379
+ * Attaches a controller to the observable sequence with the ability to queue.
380
+ * @example
381
+ * var source = Rx.Observable.interval(100).controlled();
382
+ * source.request(3); // Reads 3 values
383
+ * @param {Observable} pauser The observable sequence used to pause the underlying sequence.
384
+ * @returns {Observable} The observable sequence which is paused based upon the pauser.
385
+ */
386
+ observableProto.controlled = function (enableQueue) {
387
+ if (enableQueue == null) { enableQueue = true; }
388
+ return new ControlledObservable(this, enableQueue);
389
+ };
334
390
 
335
- if (!this.enableQueue || this.queue.length === 0) {
336
- this.subject.onError(error);
337
- }
338
- },
339
- onNext: function (value) {
340
- checkDisposed.call(this);
341
- var hasRequested = false;
342
-
343
- if (this.requestedCount === 0) {
344
- if (this.enableQueue) {
345
- this.queue.push(value);
346
- }
347
- } else {
348
- if (this.requestedCount !== -1) {
349
- if (this.requestedCount-- === 0) {
350
- this.disposeCurrentRequest();
351
- }
352
- }
353
- hasRequested = true;
354
- }
391
+ var StopAndWaitObservable = (function (__super__) {
355
392
 
356
- if (hasRequested) {
357
- this.subject.onNext(value);
358
- }
359
- },
360
- _processRequest: function (numberOfItems) {
361
- if (this.enableQueue) {
362
- //console.log('queue length', this.queue.length);
363
-
364
- while (this.queue.length >= numberOfItems && numberOfItems > 0) {
365
- //console.log('number of items', numberOfItems);
366
- this.subject.onNext(this.queue.shift());
367
- numberOfItems--;
368
- }
369
-
370
- if (this.queue.length !== 0) {
371
- return { numberOfItems: numberOfItems, returnValue: true };
372
- } else {
373
- return { numberOfItems: numberOfItems, returnValue: false };
374
- }
375
- }
393
+ function subscribe (observer) {
394
+ this.subscription = this.source.subscribe(new StopAndWaitObserver(observer, this, this.subscription));
376
395
 
377
- if (this.hasFailed) {
378
- this.subject.onError(this.error);
379
- this.controlledDisposable.dispose();
380
- this.controlledDisposable = disposableEmpty;
381
- } else if (this.hasCompleted) {
382
- this.subject.onCompleted();
383
- this.controlledDisposable.dispose();
384
- this.controlledDisposable = disposableEmpty;
385
- }
396
+ var self = this;
397
+ timeoutScheduler.schedule(function () { self.source.request(1); });
386
398
 
387
- return { numberOfItems: numberOfItems, returnValue: false };
388
- },
389
- request: function (number) {
390
- checkDisposed.call(this);
391
- this.disposeCurrentRequest();
392
- var self = this,
393
- r = this._processRequest(number);
394
-
395
- number = r.numberOfItems;
396
- if (!r.returnValue) {
397
- this.requestedCount = number;
398
- this.requestedDisposable = disposableCreate(function () {
399
- self.requestedCount = 0;
400
- });
401
-
402
- return this.requestedDisposable
403
- } else {
404
- return disposableEmpty;
405
- }
406
- },
407
- disposeCurrentRequest: function () {
408
- this.requestedDisposable.dispose();
409
- this.requestedDisposable = disposableEmpty;
410
- },
399
+ return this.subscription;
400
+ }
411
401
 
412
- dispose: function () {
413
- this.isDisposed = true;
414
- this.error = null;
415
- this.subject.dispose();
416
- this.requestedDisposable.dispose();
417
- }
402
+ inherits(StopAndWaitObservable, __super__);
403
+
404
+ function StopAndWaitObservable (source) {
405
+ __super__.call(this, subscribe, source);
406
+ this.source = source;
407
+ }
408
+
409
+ var StopAndWaitObserver = (function (__sub__) {
410
+
411
+ inherits(StopAndWaitObserver, __sub__);
412
+
413
+ function StopAndWaitObserver (observer, observable, cancel) {
414
+ __sub__.call(this);
415
+ this.observer = observer;
416
+ this.observable = observable;
417
+ this.cancel = cancel;
418
+ }
419
+
420
+ var stopAndWaitObserverProto = StopAndWaitObserver.prototype;
421
+
422
+ stopAndWaitObserverProto.completed = function () {
423
+ this.observer.onCompleted();
424
+ this.dispose();
425
+ };
426
+
427
+ stopAndWaitObserverProto.error = function (error) {
428
+ this.observer.onError(error);
429
+ this.dispose();
430
+ }
431
+
432
+ stopAndWaitObserverProto.next = function (value) {
433
+ this.observer.onNext(value);
434
+
435
+ var self = this;
436
+ timeoutScheduler.schedule(function () {
437
+ self.observable.source.request(1);
418
438
  });
439
+ };
440
+
441
+ stopAndWaitObserverProto.dispose = function () {
442
+ this.observer = null;
443
+ if (this.cancel) {
444
+ this.cancel.dispose();
445
+ this.cancel = null;
446
+ }
447
+ __sub__.prototype.dispose.call(this);
448
+ };
449
+
450
+ return StopAndWaitObserver;
451
+ }(AbstractObserver));
452
+
453
+ return StopAndWaitObservable;
454
+ }(Observable));
455
+
456
+
457
+ /**
458
+ * Attaches a stop and wait observable to the current observable.
459
+ * @returns {Observable} A stop and wait observable.
460
+ */
461
+ ControlledObservable.prototype.stopAndWait = function () {
462
+ return new StopAndWaitObservable(this);
463
+ };
419
464
 
420
- return ControlledSubject;
421
- }(Observable));
465
+ var WindowedObservable = (function (__super__) {
466
+
467
+ function subscribe (observer) {
468
+ this.subscription = this.source.subscribe(new WindowedObserver(observer, this, this.subscription));
469
+
470
+ var self = this;
471
+ timeoutScheduler.schedule(function () {
472
+ self.source.request(self.windowSize);
473
+ });
474
+
475
+ return this.subscription;
476
+ }
477
+
478
+ inherits(WindowedObservable, __super__);
479
+
480
+ function WindowedObservable(source, windowSize) {
481
+ __super__.call(this, subscribe, source);
482
+ this.source = source;
483
+ this.windowSize = windowSize;
484
+ }
485
+
486
+ var WindowedObserver = (function (__sub__) {
487
+
488
+ inherits(WindowedObserver, __sub__);
489
+
490
+ function WindowedObserver(observer, observable, cancel) {
491
+ this.observer = observer;
492
+ this.observable = observable;
493
+ this.cancel = cancel;
494
+ this.received = 0;
495
+ }
496
+
497
+ var windowedObserverPrototype = WindowedObserver.prototype;
498
+
499
+ windowedObserverPrototype.completed = function () {
500
+ this.observer.onCompleted();
501
+ this.dispose();
502
+ };
503
+
504
+ windowedObserverPrototype.error = function (error) {
505
+ this.observer.onError(error);
506
+ this.dispose();
507
+ };
508
+
509
+ windowedObserverPrototype.next = function (value) {
510
+ this.observer.onNext(value);
511
+
512
+ this.received = ++this.received % this.observable.windowSize;
513
+ if (this.received === 0) {
514
+ var self = this;
515
+ timeoutScheduler.schedule(function () {
516
+ self.observable.source.request(self.observable.windowSize);
517
+ });
518
+ }
519
+ };
520
+
521
+ windowedObserverPrototype.dispose = function () {
522
+ this.observer = null;
523
+ if (this.cancel) {
524
+ this.cancel.dispose();
525
+ this.cancel = null;
526
+ }
527
+ __sub__.prototype.dispose.call(this);
528
+ };
529
+
530
+ return WindowedObserver;
531
+ }(AbstractObserver));
532
+
533
+ return WindowedObservable;
534
+ }(Observable));
535
+
536
+ /**
537
+ * Creates a sliding windowed observable based upon the window size.
538
+ * @param {Number} windowSize The number of items in the window
539
+ * @returns {Observable} A windowed observable based upon the window size.
540
+ */
541
+ ControlledObservable.prototype.windowed = function (windowSize) {
542
+ return new WindowedObservable(this, windowSize);
543
+ };
422
544
 
423
545
  return Rx;
424
546
  }));