Huge News!Announcing our $40M Series B led by Abstract Ventures.Learn More
Socket
Sign inDemoInstall
Socket

ngx-countdown

Package Overview
Dependencies
Maintainers
1
Versions
43
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

ngx-countdown - npm Package Compare versions

Comparing version 8.0.2 to 8.0.3

47

bundles/ngx-countdown.umd.js

@@ -5,3 +5,3 @@ (function (global, factory) {

(global = global || self, factory(global['ngx-countdown'] = {}, global.ng.core, global.ng.common));
}(this, function (exports, core, common) { 'use strict';
}(this, (function (exports, core, common) { 'use strict';

@@ -213,3 +213,4 @@ /*! *****************************************************************************

var CountdownTimer = /** @class */ (function () {
function CountdownTimer() {
function CountdownTimer(ngZone) {
this.ngZone = ngZone;
this.fns = [];

@@ -220,2 +221,3 @@ this.commands = [];

CountdownTimer.prototype.start = function () {
var _this = this;
if (this.ing === true)

@@ -225,3 +227,5 @@ return;

this.nextTime = +new Date();
this.process();
this.ngZone.runOutsideAngular(function () {
_this.process();
});
};

@@ -279,4 +283,8 @@ CountdownTimer.prototype.process = function () {

};
CountdownTimer.ctorParameters = function () { return [
{ type: core.NgZone }
]; };
CountdownTimer = __decorate([
core.Injectable()
core.Injectable(),
__metadata("design:paramtypes", [core.NgZone])
], CountdownTimer);

@@ -299,2 +307,5 @@ return CountdownTimer;

}
CountdownGlobalConfig.ctorParameters = function () { return [
{ type: String, decorators: [{ type: core.Inject, args: [core.LOCALE_ID,] }] }
]; };
CountdownGlobalConfig.ngInjectableDef = core.ɵɵdefineInjectable({ factory: function CountdownGlobalConfig_Factory() { return new CountdownGlobalConfig(core.ɵɵinject(core.LOCALE_ID)); }, token: CountdownGlobalConfig, providedIn: "root" });

@@ -310,3 +321,3 @@ CountdownGlobalConfig = __decorate([

var CountdownComponent = /** @class */ (function () {
function CountdownComponent(locale, timer, defCog, cdr) {
function CountdownComponent(locale, timer, defCog, cdr, ngZone) {
this.locale = locale;

@@ -316,2 +327,3 @@ this.timer = timer;

this.cdr = cdr;
this.ngZone = ngZone;
this.frequency = 1000;

@@ -416,2 +428,3 @@ this._notify = {};

CountdownComponent.prototype.reflow = function (count, force) {
var _this = this;
if (count === void 0) { count = 0; }

@@ -434,8 +447,12 @@ if (force === void 0) { force = false; }

if (config.notify === 0 || _notify[value]) {
this.callEvent('notify');
this.ngZone.run(function () {
_this.callEvent('notify');
});
}
if (value < 1) {
this.status = exports.CountdownStatus.done;
this.callEvent('done');
this.destroy();
this.ngZone.run(function () {
_this.status = exports.CountdownStatus.done;
_this.callEvent('done');
_this.destroy();
});
}

@@ -470,2 +487,9 @@ };

};
CountdownComponent.ctorParameters = function () { return [
{ type: String, decorators: [{ type: core.Inject, args: [core.LOCALE_ID,] }] },
{ type: CountdownTimer },
{ type: CountdownGlobalConfig },
{ type: core.ChangeDetectorRef },
{ type: core.NgZone }
]; };
__decorate([

@@ -494,3 +518,4 @@ core.Input(),

CountdownGlobalConfig,
core.ChangeDetectorRef])
core.ChangeDetectorRef,
core.NgZone])
], CountdownComponent);

@@ -521,3 +546,3 @@ return CountdownComponent;

}));
})));
//# sourceMappingURL=ngx-countdown.umd.js.map

@@ -1,2 +0,16 @@

!function(t,e){"object"==typeof exports&&"undefined"!=typeof module?e(exports,require("@angular/core"),require("@angular/common")):"function"==typeof define&&define.amd?define("ngx-countdown",["exports","@angular/core","@angular/common"],e):e((t=t||self)["ngx-countdown"]={},t.ng.core,t.ng.common)}(this,function(t,e,n){"use strict";var o,i=function(){return(i=Object.assign||function(t){for(var e,n=1,o=arguments.length;n<o;n++)for(var i in e=arguments[n])Object.prototype.hasOwnProperty.call(e,i)&&(t[i]=e[i]);return t}).apply(this,arguments)};function s(t,e,n,o){var i,s=arguments.length,r=s<3?e:null===o?o=Object.getOwnPropertyDescriptor(e,n):o;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(t,e,n,o);else for(var a=t.length-1;a>=0;a--)(i=t[a])&&(r=(s<3?i(r):s>3?i(e,n,r):i(e,n))||r);return s>3&&r&&Object.defineProperty(e,n,r),r}function r(t,e){return function(n,o){e(n,o,t)}}function a(t,e){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(t,e)}(o=t.CountdownStatus||(t.CountdownStatus={}))[o.ing=0]="ing",o[o.pause=1]="pause",o[o.stop=2]="stop",o[o.done=3]="done";var u=function(){function t(){this.fns=[],this.commands=[],this.ing=!1}return t.prototype.start=function(){!0!==this.ing&&(this.ing=!0,this.nextTime=+new Date,this.process())},t.prototype.process=function(){for(var t=this;this.commands.length;)this.commands.shift()();var e=+new Date-this.nextTime,n=1+Math.floor(e/100);e=100-e%100,this.nextTime+=100*n;for(var o=0,i=this.fns.length;o<i;o+=2){var s=this.fns[o+1];if(0===s)this.fns[o](n);else{s+=2*n-1;var r=Math.floor(s/20);r>0&&this.fns[o](r),this.fns[o+1]=s%20+1}}this.ing&&setTimeout(function(){return t.process()},e)},t.prototype.add=function(t,e){var n=this;return this.commands.push(function(){n.fns.push(t),n.fns.push(1e3===e?1:0),n.ing=!0}),this},t.prototype.remove=function(t){var e=this;return this.commands.push(function(){var n=e.fns.indexOf(t);-1!==n&&e.fns.splice(n,2),e.ing=e.fns.length>0}),this},t=s([e.Injectable()],t)}(),f=function(){function t(t){var e=this;this.locale=t,this.demand=!1,this.leftTime=0,this.format="HH:mm:ss",this.timezone="+0000",this.formatDate=function(t){var o=t.date,i=t.formatStr,s=t.timezone;return n.formatDate(new Date(o),i,e.locale,s||e.timezone||"+0000")}}return t.ngInjectableDef=e.ɵɵdefineInjectable({factory:function(){return new t(e.ɵɵinject(e.LOCALE_ID))},token:t,providedIn:"root"}),t=s([e.Injectable({providedIn:"root"}),r(0,e.Inject(e.LOCALE_ID)),a("design:paramtypes",[String])],t)}(),c=function(){function n(n,o,i,s){this.locale=n,this.timer=o,this.defCog=i,this.cdr=s,this.frequency=1e3,this._notify={},this._left=0,this.status=t.CountdownStatus.ing,this.isDestroy=!1,this.i={},this.event=new e.EventEmitter}return Object.defineProperty(n.prototype,"left",{get:function(){return this._left},enumerable:!0,configurable:!0}),n.prototype.begin=function(){this.status=t.CountdownStatus.ing,this.callEvent("start")},n.prototype.restart=function(){this.status!==t.CountdownStatus.stop&&this.destroy(),this.init(),this.callEvent("restart")},n.prototype.stop=function(){this.status!==t.CountdownStatus.stop&&(this.status=t.CountdownStatus.stop,this.destroy(),this.callEvent("stop"))},n.prototype.pause=function(){this.status!==t.CountdownStatus.stop&&this.status!==t.CountdownStatus.pause&&(this.status=t.CountdownStatus.pause,this.callEvent("pause"))},n.prototype.resume=function(){this.status!==t.CountdownStatus.stop&&this.status===t.CountdownStatus.pause&&(this.status=t.CountdownStatus.ing,this.callEvent("resume"))},n.prototype.callEvent=function(t){this.event.emit({action:t,left:this._left,status:this.status,text:this.i.text})},n.prototype.init=function(){var e=this,n=this.locale,o=this.defCog,s=this.config=i({},new f(n),o,this.config),r=this.frequency=~s.format.indexOf("S")?100:1e3;this.status=s.demand?t.CountdownStatus.pause:t.CountdownStatus.ing,this.getLeft();var a=this.reflow;this.reflow=function(t,n){return void 0===t&&(t=0),void 0===n&&(n=!1),a.apply(e,[t,n])},Array.isArray(s.notify)&&s.notify.forEach(function(t){if(t<1)throw new Error("The notify config must be a positive integer.");t*=1e3,t-=t%r,e._notify[t]=!0}),this.timer.add(this.reflow,r).start(),this.reflow(0,!0)},n.prototype.destroy=function(){return this.timer.remove(this.reflow),this},n.prototype.reflow=function(e,n){if(void 0===e&&(e=0),void 0===n&&(n=!1),!this.isDestroy){var o=this.status,i=this.config,s=this._notify;if(n||o===t.CountdownStatus.ing){var r=this._left=this._left-this.frequency*e;this.i={value:r,text:i.formatDate({date:r,formatStr:i.format,timezone:i.timezone})},"function"==typeof i.prettyText&&(this.i.text=i.prettyText(this.i.text)),this.cdr.detectChanges(),(0===i.notify||s[r])&&this.callEvent("notify"),r<1&&(this.status=t.CountdownStatus.done,this.callEvent("done"),this.destroy())}}},n.prototype.getLeft=function(){var t=this.config,e=this.frequency,n=1e3*t.leftTime,o=t.stopTime;!n&&o&&(n=o-(new Date).getTime()),this._left=n-n%e},n.prototype.ngOnInit=function(){this.init(),this.config.demand||this.begin()},n.prototype.ngOnDestroy=function(){this.isDestroy=!0,this.destroy()},n.prototype.ngOnChanges=function(t){t.config.firstChange||this.restart()},s([e.Input(),a("design:type",Object)],n.prototype,"config",void 0),s([e.Input(),a("design:type",e.TemplateRef)],n.prototype,"render",void 0),s([e.Output(),a("design:type",Object)],n.prototype,"event",void 0),n=s([e.Component({selector:"countdown",template:'\n <ng-container *ngIf="!render">\n <span [innerHTML]="i.text"></span>\n </ng-container>\n <ng-container *ngTemplateOutlet="render; context: { $implicit: i }"></ng-container>\n ',host:{"[class.count-down]":"true"},encapsulation:e.ViewEncapsulation.None,changeDetection:e.ChangeDetectionStrategy.OnPush}),r(0,e.Inject(e.LOCALE_ID)),a("design:paramtypes",[String,u,f,e.ChangeDetectorRef])],n)}(),h=function(){function t(){}return t=s([e.NgModule({imports:[n.CommonModule],providers:[u],declarations:[c],exports:[c]})],t)}();t.CountdownComponent=c,t.CountdownGlobalConfig=f,t.CountdownModule=h,t.CountdownTimer=u,Object.defineProperty(t,"__esModule",{value:!0})});
!function(t,e){"object"==typeof exports&&"undefined"!=typeof module?e(exports,require("@angular/core"),require("@angular/common")):"function"==typeof define&&define.amd?define("ngx-countdown",["exports","@angular/core","@angular/common"],e):e((t=t||self)["ngx-countdown"]={},t.ng.core,t.ng.common)}(this,(function(t,e,n){"use strict";
/*! *****************************************************************************
Copyright (c) Microsoft Corporation. All rights reserved.
Licensed under the Apache License, Version 2.0 (the "License"); you may not use
this file except in compliance with the License. You may obtain a copy of the
License at http://www.apache.org/licenses/LICENSE-2.0
THIS CODE IS PROVIDED ON AN *AS IS* BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
KIND, EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION ANY IMPLIED
WARRANTIES OR CONDITIONS OF TITLE, FITNESS FOR A PARTICULAR PURPOSE,
MERCHANTABLITY OR NON-INFRINGEMENT.
See the Apache Version 2.0 License for specific language governing permissions
and limitations under the License.
***************************************************************************** */var o,i=function(){return(i=Object.assign||function(t){for(var e,n=1,o=arguments.length;n<o;n++)for(var i in e=arguments[n])Object.prototype.hasOwnProperty.call(e,i)&&(t[i]=e[i]);return t}).apply(this,arguments)};function s(t,e,n,o){var i,s=arguments.length,r=s<3?e:null===o?o=Object.getOwnPropertyDescriptor(e,n):o;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(t,e,n,o);else for(var a=t.length-1;a>=0;a--)(i=t[a])&&(r=(s<3?i(r):s>3?i(e,n,r):i(e,n))||r);return s>3&&r&&Object.defineProperty(e,n,r),r}function r(t,e){return function(n,o){e(n,o,t)}}function a(t,e){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(t,e)}(o=t.CountdownStatus||(t.CountdownStatus={}))[o.ing=0]="ing",o[o.pause=1]="pause",o[o.stop=2]="stop",o[o.done=3]="done";var u=function(){function t(t){this.ngZone=t,this.fns=[],this.commands=[],this.ing=!1}return t.prototype.start=function(){var t=this;!0!==this.ing&&(this.ing=!0,this.nextTime=+new Date,this.ngZone.runOutsideAngular((function(){t.process()})))},t.prototype.process=function(){for(var t=this;this.commands.length;)this.commands.shift()();var e=+new Date-this.nextTime,n=1+Math.floor(e/100);e=100-e%100,this.nextTime+=100*n;for(var o=0,i=this.fns.length;o<i;o+=2){var s=this.fns[o+1];if(0===s)this.fns[o](n);else{s+=2*n-1;var r=Math.floor(s/20);r>0&&this.fns[o](r),this.fns[o+1]=s%20+1}}this.ing&&setTimeout((function(){return t.process()}),e)},t.prototype.add=function(t,e){var n=this;return this.commands.push((function(){n.fns.push(t),n.fns.push(1e3===e?1:0),n.ing=!0})),this},t.prototype.remove=function(t){var e=this;return this.commands.push((function(){var n=e.fns.indexOf(t);-1!==n&&e.fns.splice(n,2),e.ing=e.fns.length>0})),this},t.ctorParameters=function(){return[{type:e.NgZone}]},t=s([e.Injectable(),a("design:paramtypes",[e.NgZone])],t)}(),f=function(){function t(t){var e=this;this.locale=t,this.demand=!1,this.leftTime=0,this.format="HH:mm:ss",this.timezone="+0000",this.formatDate=function(t){var o=t.date,i=t.formatStr,s=t.timezone;return n.formatDate(new Date(o),i,e.locale,s||e.timezone||"+0000")}}return t.ctorParameters=function(){return[{type:String,decorators:[{type:e.Inject,args:[e.LOCALE_ID]}]}]},t.ngInjectableDef=e.ɵɵdefineInjectable({factory:function(){return new t(e.ɵɵinject(e.LOCALE_ID))},token:t,providedIn:"root"}),t=s([e.Injectable({providedIn:"root"}),r(0,e.Inject(e.LOCALE_ID)),a("design:paramtypes",[String])],t)}(),c=function(){function n(n,o,i,s,r){this.locale=n,this.timer=o,this.defCog=i,this.cdr=s,this.ngZone=r,this.frequency=1e3,this._notify={},this._left=0,this.status=t.CountdownStatus.ing,this.isDestroy=!1,this.i={},this.event=new e.EventEmitter}return Object.defineProperty(n.prototype,"left",{get:function(){return this._left},enumerable:!0,configurable:!0}),n.prototype.begin=function(){this.status=t.CountdownStatus.ing,this.callEvent("start")},n.prototype.restart=function(){this.status!==t.CountdownStatus.stop&&this.destroy(),this.init(),this.callEvent("restart")},n.prototype.stop=function(){this.status!==t.CountdownStatus.stop&&(this.status=t.CountdownStatus.stop,this.destroy(),this.callEvent("stop"))},n.prototype.pause=function(){this.status!==t.CountdownStatus.stop&&this.status!==t.CountdownStatus.pause&&(this.status=t.CountdownStatus.pause,this.callEvent("pause"))},n.prototype.resume=function(){this.status!==t.CountdownStatus.stop&&this.status===t.CountdownStatus.pause&&(this.status=t.CountdownStatus.ing,this.callEvent("resume"))},n.prototype.callEvent=function(t){this.event.emit({action:t,left:this._left,status:this.status,text:this.i.text})},n.prototype.init=function(){var e=this,n=this.locale,o=this.defCog,s=this.config=i({},new f(n),o,this.config),r=this.frequency=~s.format.indexOf("S")?100:1e3;this.status=s.demand?t.CountdownStatus.pause:t.CountdownStatus.ing,this.getLeft();var a=this.reflow;this.reflow=function(t,n){return void 0===t&&(t=0),void 0===n&&(n=!1),a.apply(e,[t,n])},Array.isArray(s.notify)&&s.notify.forEach((function(t){if(t<1)throw new Error("The notify config must be a positive integer.");t*=1e3,t-=t%r,e._notify[t]=!0})),this.timer.add(this.reflow,r).start(),this.reflow(0,!0)},n.prototype.destroy=function(){return this.timer.remove(this.reflow),this},n.prototype.reflow=function(e,n){var o=this;if(void 0===e&&(e=0),void 0===n&&(n=!1),!this.isDestroy){var i=this.status,s=this.config,r=this._notify;if(n||i===t.CountdownStatus.ing){var a=this._left=this._left-this.frequency*e;this.i={value:a,text:s.formatDate({date:a,formatStr:s.format,timezone:s.timezone})},"function"==typeof s.prettyText&&(this.i.text=s.prettyText(this.i.text)),this.cdr.detectChanges(),(0===s.notify||r[a])&&this.ngZone.run((function(){o.callEvent("notify")})),a<1&&this.ngZone.run((function(){o.status=t.CountdownStatus.done,o.callEvent("done"),o.destroy()}))}}},n.prototype.getLeft=function(){var t=this.config,e=this.frequency,n=1e3*t.leftTime,o=t.stopTime;!n&&o&&(n=o-(new Date).getTime()),this._left=n-n%e},n.prototype.ngOnInit=function(){this.init(),this.config.demand||this.begin()},n.prototype.ngOnDestroy=function(){this.isDestroy=!0,this.destroy()},n.prototype.ngOnChanges=function(t){t.config.firstChange||this.restart()},n.ctorParameters=function(){return[{type:String,decorators:[{type:e.Inject,args:[e.LOCALE_ID]}]},{type:u},{type:f},{type:e.ChangeDetectorRef},{type:e.NgZone}]},s([e.Input(),a("design:type",Object)],n.prototype,"config",void 0),s([e.Input(),a("design:type",e.TemplateRef)],n.prototype,"render",void 0),s([e.Output(),a("design:type",Object)],n.prototype,"event",void 0),n=s([e.Component({selector:"countdown",template:'\n <ng-container *ngIf="!render">\n <span [innerHTML]="i.text"></span>\n </ng-container>\n <ng-container *ngTemplateOutlet="render; context: { $implicit: i }"></ng-container>\n ',host:{"[class.count-down]":"true"},encapsulation:e.ViewEncapsulation.None,changeDetection:e.ChangeDetectionStrategy.OnPush}),r(0,e.Inject(e.LOCALE_ID)),a("design:paramtypes",[String,u,f,e.ChangeDetectorRef,e.NgZone])],n)}(),h=function(){function t(){}return t=s([e.NgModule({imports:[n.CommonModule],providers:[u],declarations:[c],exports:[c]})],t)}();t.CountdownComponent=c,t.CountdownGlobalConfig=f,t.CountdownModule=h,t.CountdownTimer=u,Object.defineProperty(t,"__esModule",{value:!0})}));
//# sourceMappingURL=ngx-countdown.umd.min.js.map

@@ -1,2 +0,2 @@

import { OnChanges, SimpleChanges, OnDestroy, EventEmitter, OnInit, SimpleChange, ChangeDetectorRef, TemplateRef } from '@angular/core';
import { OnChanges, SimpleChanges, OnDestroy, EventEmitter, OnInit, SimpleChange, ChangeDetectorRef, TemplateRef, NgZone } from '@angular/core';
import { CountdownConfig, CountdownEvent, CountdownItem } from './interfaces';

@@ -10,2 +10,3 @@ import { CountdownTimer } from './countdown.timer';

private cdr;
private ngZone;
private frequency;

@@ -20,3 +21,3 @@ private _notify;

readonly event: EventEmitter<CountdownEvent>;
constructor(locale: string, timer: CountdownTimer, defCog: CountdownGlobalConfig, cdr: ChangeDetectorRef);
constructor(locale: string, timer: CountdownTimer, defCog: CountdownGlobalConfig, cdr: ChangeDetectorRef, ngZone: NgZone);
readonly left: number;

@@ -23,0 +24,0 @@ /**

@@ -0,2 +1,4 @@

import { NgZone } from '@angular/core';
export declare class CountdownTimer {
private ngZone;
private fns;

@@ -6,2 +8,3 @@ private commands;

private ing;
constructor(ngZone: NgZone);
start(): void;

@@ -8,0 +11,0 @@ private process;

import * as tslib_1 from "tslib";
import { Component, Input, Output, EventEmitter, ChangeDetectionStrategy, ViewEncapsulation, Inject, LOCALE_ID, ChangeDetectorRef, TemplateRef, } from '@angular/core';
import { Component, Input, OnChanges, SimpleChanges, OnDestroy, Output, EventEmitter, OnInit, SimpleChange, ChangeDetectionStrategy, ViewEncapsulation, Inject, LOCALE_ID, ChangeDetectorRef, TemplateRef, NgZone, } from '@angular/core';
import { CountdownStatus } from './interfaces';

@@ -7,3 +7,3 @@ import { CountdownTimer } from './countdown.timer';

let CountdownComponent = class CountdownComponent {
constructor(locale, timer, defCog, cdr) {
constructor(locale, timer, defCog, cdr, ngZone) {
this.locale = locale;

@@ -13,2 +13,3 @@ this.timer = timer;

this.cdr = cdr;
this.ngZone = ngZone;
this.frequency = 1000;

@@ -119,8 +120,12 @@ this._notify = {};

if (config.notify === 0 || _notify[value]) {
this.callEvent('notify');
this.ngZone.run(() => {
this.callEvent('notify');
});
}
if (value < 1) {
this.status = CountdownStatus.done;
this.callEvent('done');
this.destroy();
this.ngZone.run(() => {
this.status = CountdownStatus.done;
this.callEvent('done');
this.destroy();
});
}

@@ -156,2 +161,9 @@ }

};
CountdownComponent.ctorParameters = () => [
{ type: String, decorators: [{ type: Inject, args: [LOCALE_ID,] }] },
{ type: CountdownTimer },
{ type: CountdownGlobalConfig },
{ type: ChangeDetectorRef },
{ type: NgZone }
];
tslib_1.__decorate([

@@ -185,5 +197,6 @@ Input(),

CountdownGlobalConfig,
ChangeDetectorRef])
ChangeDetectorRef,
NgZone])
], CountdownComponent);
export { CountdownComponent };
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY291bnRkb3duLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiJuZzovL25neC1jb3VudGRvd24vIiwic291cmNlcyI6WyJjb3VudGRvd24uY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQ0wsU0FBUyxFQUNULEtBQUssRUFJTCxNQUFNLEVBQ04sWUFBWSxFQUdaLHVCQUF1QixFQUN2QixpQkFBaUIsRUFDakIsTUFBTSxFQUNOLFNBQVMsRUFDVCxpQkFBaUIsRUFDakIsV0FBVyxHQUNaLE1BQU0sZUFBZSxDQUFDO0FBRXZCLE9BQU8sRUFBbUIsZUFBZSxFQUF1RCxNQUFNLGNBQWMsQ0FBQztBQUNySCxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFDbkQsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFjM0QsSUFBYSxrQkFBa0IsR0FBL0IsTUFBYSxrQkFBa0I7SUFZN0IsWUFDNkIsTUFBYyxFQUNqQyxLQUFxQixFQUNyQixNQUE2QixFQUM3QixHQUFzQjtRQUhILFdBQU0sR0FBTixNQUFNLENBQVE7UUFDakMsVUFBSyxHQUFMLEtBQUssQ0FBZ0I7UUFDckIsV0FBTSxHQUFOLE1BQU0sQ0FBdUI7UUFDN0IsUUFBRyxHQUFILEdBQUcsQ0FBbUI7UUFmeEIsY0FBUyxHQUFHLElBQUksQ0FBQztRQUNqQixZQUFPLEdBQVEsRUFBRSxDQUFDO1FBQ2xCLFVBQUssR0FBRyxDQUFDLENBQUM7UUFDVixXQUFNLEdBQW9CLGVBQWUsQ0FBQyxHQUFHLENBQUM7UUFDOUMsY0FBUyxHQUFHLEtBQUssQ0FBQztRQUMxQixNQUFDLEdBQWtCLEVBQUUsQ0FBQztRQUlILFVBQUssR0FBRyxJQUFJLFlBQVksRUFBa0IsQ0FBQztJQU8zRCxDQUFDO0lBRUosSUFBSSxJQUFJO1FBQ04sT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDO0lBQ3BCLENBQUM7SUFFRDs7T0FFRztJQUNILEtBQUs7UUFD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Q0FBQyxLQUFLLEdBQUcsSUFBSSxHQUFHLENBQUMsSUFBSSxHQUFHLFNBQVMsQ0FBQyxDQUFDO0lBQ3pDLENBQUM7SUFFRCxRQUFRO1FBQ04sSUFBSSxDQUFDLElBQUksRUFBRSxDQUFDO1FBQ1osSUFBSSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsTUFBTSxFQUFFO1lBQ3ZCLElBQUksQ0FBQyxLQUFLLEVBQUUsQ0FBQztTQUNkO0lBQ0gsQ0FBQztJQUVELFdBQVc7UUFDVCxJQUFJLENBQUMsU0FBUyxHQUFHLElBQUksQ0FBQztRQUN0QixJQUFJLENBQUMsT0FBTyxFQUFFLENBQUM7SUFDakIsQ0FBQztJQUVELFdBQVcsQ0FBQyxPQUE2RDtRQUN2RSxJQUFJLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxXQUFXLEVBQUU7WUFDL0IsSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFDO1NBQ2hCO0lBQ0gsQ0FBQztDQUNGLENBQUE7QUF2S1U7SUFBUixLQUFLLEVBQUU7O2tEQUF5QjtBQUN4QjtJQUFSLEtBQUssRUFBRTtzQ0FBUyxXQUFXO2tEQUFPO0FBQ3pCO0lBQVQsTUFBTSxFQUFFOztpREFBcUQ7QUFWbkQsa0JBQWtCO0lBWjlCLFNBQVMsQ0FBQztRQUNULFFBQVEsRUFBRSxXQUFXO1FBQ3JCLFFBQVEsRUFBRTs7Ozs7R0FLVDtRQUNELElBQUksRUFBRSxFQUFFLG9CQUFvQixFQUFFLE1BQU0sRUFBRTtRQUN0QyxhQUFhLEVBQUUsaUJBQWlCLENBQUMsSUFBSTtRQUNyQyxlQUFlLEVBQUUsdUJBQXVCLENBQUMsTUFBTTtLQUNoRCxDQUFDO0lBY0csbUJBQUEsTUFBTSxDQUFDLFNBQVMsQ0FBQyxDQUFBO3FEQUNILGNBQWM7UUFDYixxQkFBcUI7UUFDeEIsaUJBQWlCO0dBaEJyQixrQkFBa0IsQ0ErSzlCO1NBL0tZLGtCQUFrQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIENvbXBvbmVudCxcbiAgSW5wdXQsXG4gIE9uQ2hhbmdlcyxcbiAgU2ltcGxlQ2hhbmdlcyxcbiAgT25EZXN0cm95LFxuICBPdXRwdXQsXG4gIEV2ZW50RW1pdHRlcixcbiAgT25Jbml0LFxuICBTaW1wbGVDaGFuZ2UsXG4gIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICBWaWV3RW5jYXBzdWxhdGlvbixcbiAgSW5qZWN0LFxuICBMT0NBTEVfSUQsXG4gIENoYW5nZURldGVjdG9yUmVmLFxuICBUZW1wbGF0ZVJlZixcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmltcG9ydCB7IENvdW50ZG93bkNvbmZpZywgQ291bnRkb3duU3RhdHVzLCBDb3VudGRvd25FdmVudCwgQ291bnRkb3duRXZlbnRBY3Rpb24sIENvdW50ZG93bkl0ZW0gfSBmcm9tICcuL2ludGVyZmFjZXMnO1xuaW1wb3J0IHsgQ291bnRkb3duVGltZXIgfSBmcm9tICcuL2NvdW50ZG93bi50aW1lcic7XG5pbXBvcnQgeyBDb3VudGRvd25HbG9iYWxDb25maWcgfSBmcm9tICcuL2NvdW50ZG93bi5jb25maWcnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdjb3VudGRvd24nLFxuICB0ZW1wbGF0ZTogYFxuICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCIhcmVuZGVyXCI+XG4gICAgICA8c3BhbiBbaW5uZXJIVE1MXT1cImkudGV4dFwiPjwvc3Bhbj5cbiAgICA8L25nLWNvbnRhaW5lcj5cbiAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwicmVuZGVyOyBjb250ZXh0OiB7ICRpbXBsaWNpdDogaSB9XCI+PC9uZy1jb250YWluZXI+XG4gIGAsXG4gIGhvc3Q6IHsgJ1tjbGFzcy5jb3VudC1kb3duXSc6ICd0cnVlJyB9LFxuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbn0pXG5leHBvcnQgY2xhc3MgQ291bnRkb3duQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBPbkNoYW5nZXMsIE9uRGVzdHJveSB7XG4gIHByaXZhdGUgZnJlcXVlbmN5ID0gMTAwMDtcbiAgcHJpdmF0ZSBfbm90aWZ5OiBhbnkgPSB7fTtcbiAgcHJpdmF0ZSBfbGVmdCA9IDA7XG4gIHByaXZhdGUgc3RhdHVzOiBDb3VudGRvd25TdGF0dXMgPSBDb3VudGRvd25TdGF0dXMuaW5nO1xuICBwcml2YXRlIGlzRGVzdHJveSA9IGZhbHNlO1xuICBpOiBDb3VudGRvd25JdGVtID0ge307XG5cbiAgQElucHV0KCkgY29uZmlnOiBDb3VudGRvd25Db25maWc7XG4gIEBJbnB1dCgpIHJlbmRlcjogVGVtcGxhdGVSZWY8dm9pZD47XG4gIEBPdXRwdXQoKSByZWFkb25seSBldmVudCA9IG5ldyBFdmVudEVtaXR0ZXI8Q291bnRkb3duRXZlbnQ+KCk7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgQEluamVjdChMT0NBTEVfSUQpIHByaXZhdGUgbG9jYWxlOiBzdHJpbmcsXG4gICAgcHJpdmF0ZSB0aW1lcjogQ291bnRkb3duVGltZXIsXG4gICAgcHJpdmF0ZSBkZWZDb2c6IENvdW50ZG93bkdsb2JhbENvbmZpZyxcbiAgICBwcml2YXRlIGNkcjogQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gICkge31cblxuICBnZXQgbGVmdCgpIHtcbiAgICByZXR1cm4gdGhpcy5fbGVmdDtcbiAgfVxuXG4gIC8qKlxuICAgKiBTdGFydCBjb3VudGRvd24sIHlvdSBtdXN0IG1hbnVhbGx5IGNhbGwgd2hlbiBgZGVtYW5kOiBmYWxzZWBcbiAgICovXG4gIGJlZ2luKCkge1xuICAgIHRoaXMuc3RhdHVzID0gQ291bnRkb3duU3RhdHVzLmluZztcbiAgICB0aGlzLmNhbGxFdmVudCgnc3RhcnQnKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBSZXN0YXJ0IGNvdW50ZG93blxuICAgKi9cbiAgcmVzdGFydCgpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5zdGF0dXMgIT09IENvdW50ZG93blN0YXR1cy5zdG9wKSB7XG4gICAgICB0aGlzLmRlc3Ryb3koKTtcbiAgICB9XG4gICAgdGhpcy5pbml0KCk7XG4gICAgdGhpcy5jYWxsRXZlbnQoJ3Jlc3RhcnQnKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBTdG9wIGNvdW50ZG93biwgbXVzdCBjYWxsIGByZXN0YXJ0YCB3aGVuIHN0b3BwZWQsIGl0J3MgZGlmZmVyZW50IGZyb20gcGF1c2UsIHVuYWJsZSB0byByZWNvdmVyXG4gICAqL1xuICBzdG9wKCkge1xuICAgIGlmICh0aGlzLnN0YXR1cyA9PT0gQ291bnRkb3duU3RhdHVzLnN0b3ApIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgdGhpcy5zdGF0dXMgPSBDb3VudGRvd25TdGF0dXMuc3RvcDtcbiAgICB0aGlzLmRlc3Ryb3koKTtcbiAgICB0aGlzLmNhbGxFdmVudCgnc3RvcCcpO1xuICB9XG5cbiAgLyoqXG4gICAqIFBhdXNlIGNvdW50ZG93biwgeW91IGNhbiB1c2UgYHJlc3VtZWAgdG8gcmVjb3ZlciBhZ2FpblxuICAgKi9cbiAgcGF1c2UoKSB7XG4gICAgaWYgKHRoaXMuc3RhdHVzID09PSBDb3VudGRvd25TdGF0dXMuc3RvcCB8fCB0aGlzLnN0YXR1cyA9PT0gQ291bnRkb3duU3RhdHVzLnBhdXNlKSByZXR1cm47XG4gICAgdGhpcy5zdGF0dXMgPSBDb3VudGRvd25TdGF0dXMucGF1c2U7XG4gICAgdGhpcy5jYWxsRXZlbnQoJ3BhdXNlJyk7XG4gIH1cblxuICAvKipcbiAgICogUmVzdW1lIGNvdW50ZG93blxuICAgKi9cbiAgcmVzdW1lKCkge1xuICAgIGlmICh0aGlzLnN0YXR1cyA9PT0gQ291bnRkb3duU3RhdHVzLnN0b3AgfHwgdGhpcy5zdGF0dXMgIT09IENvdW50ZG93blN0YXR1cy5wYXVzZSkgcmV0dXJuO1xuICAgIHRoaXMuc3RhdHVzID0gQ291bnRkb3duU3RhdHVzLmluZztcbiAgICB0aGlzLmNhbGxFdmVudCgncmVzdW1lJyk7XG4gIH1cblxuICBwcml2YXRlIGNhbGxFdmVudChhY3Rpb246IENvdW50ZG93bkV2ZW50QWN0aW9uKSB7XG4gICAgdGhpcy5ldmVudC5lbWl0KHsgYWN0aW9uLCBsZWZ0OiB0aGlzLl9sZWZ0LCBzdGF0dXM6IHRoaXMuc3RhdHVzLCB0ZXh0OiB0aGlzLmkudGV4dCB9KTtcbiAgfVxuXG4gIHByaXZhdGUgaW5pdCgpIHtcbiAgICBjb25zdCB7IGxvY2FsZSwgZGVmQ29nIH0gPSB0aGlzO1xuICAgIGNvbnN0IGNvbmZpZyA9ICh0aGlzLmNvbmZpZyA9IHtcbiAgICAgIC4uLm5ldyBDb3VudGRvd25HbG9iYWxDb25maWcobG9jYWxlKSxcbiAgICAgIC4uLmRlZkNvZyxcbiAgICAgIC4uLnRoaXMuY29uZmlnLFxuICAgIH0pO1xuICAgIC8vIHRzbGludDpkaXNhYmxlLW5leHQtbGluZTogbm8tYml0d2lzZVxuICAgIGNvbnN0IGZycSA9ICh0aGlzLmZyZXF1ZW5jeSA9IH5jb25maWcuZm9ybWF0LmluZGV4T2YoJ1MnKSA/IDEwMCA6IDEwMDApO1xuICAgIHRoaXMuc3RhdHVzID0gY29uZmlnLmRlbWFuZCA/IENvdW50ZG93blN0YXR1cy5wYXVzZSA6IENvdW50ZG93blN0YXR1cy5pbmc7XG5cbiAgICB0aGlzLmdldExlZnQoKTtcblxuICAgIC8vIGJpbmQgcmVmbG93IHRvIG1lXG4gICAgY29uc3QgX3JlZmxvdyA9IHRoaXMucmVmbG93O1xuICAgIHRoaXMucmVmbG93ID0gKGNvdW50OiBudW1iZXIgPSAwLCBmb3JjZTogYm9vbGVhbiA9IGZhbHNlKSA9PiBfcmVmbG93LmFwcGx5KHRoaXMsIFtjb3VudCwgZm9yY2VdKTtcblxuICAgIGlmIChBcnJheS5pc0FycmF5KGNvbmZpZy5ub3RpZnkpKSB7XG4gICAgICBjb25maWcubm90aWZ5LmZvckVhY2goKHRpbWU6IG51bWJlcikgPT4ge1xuICAgICAgICBpZiAodGltZSA8IDEpIHRocm93IG5ldyBFcnJvcihgVGhlIG5vdGlmeSBjb25maWcgbXVzdCBiZSBhIHBvc2l0aXZlIGludGVnZXIuYCk7XG5cbiAgICAgICAgdGltZSA9IHRpbWUgKiAxMDAwO1xuICAgICAgICB0aW1lID0gdGltZSAtICh0aW1lICUgZnJxKTtcbiAgICAgICAgdGhpcy5fbm90aWZ5W3RpbWVdID0gdHJ1ZTtcbiAgICAgIH0pO1xuICAgIH1cblxuICAgIHRoaXMudGltZXIuYWRkKHRoaXMucmVmbG93LCBmcnEpLnN0YXJ0KCk7XG5cbiAgICB0aGlzLnJlZmxvdygwLCB0cnVlKTtcbiAgfVxuXG4gIHByaXZhdGUgZGVzdHJveSgpIHtcbiAgICB0aGlzLnRpbWVyLnJlbW92ZSh0aGlzLnJlZmxvdyk7XG4gICAgcmV0dXJuIHRoaXM7XG4gIH1cblxuICAvKipcbiAgICog5pu05paw5pe26ZKfXG4gICAqL1xuICBwcml2YXRlIHJlZmxvdyhjb3VudDogbnVtYmVyID0gMCwgZm9yY2U6IGJvb2xlYW4gPSBmYWxzZSk6IHZvaWQge1xuICAgIGlmICh0aGlzLmlzRGVzdHJveSkgcmV0dXJuO1xuXG4gICAgY29uc3QgeyBzdGF0dXMsIGNvbmZpZywgX25vdGlmeSB9ID0gdGhpcztcbiAgICBpZiAoIWZvcmNlICYmIHN0YXR1cyAhPT0gQ291bnRkb3duU3RhdHVzLmluZykgcmV0dXJuO1xuXG4gICAgY29uc3QgdmFsdWUgPSAodGhpcy5fbGVmdCA9IHRoaXMuX2xlZnQgLSB0aGlzLmZyZXF1ZW5jeSAqIGNvdW50KTtcbiAgICB0aGlzLmkgPSB7XG4gICAgICB2YWx1ZSxcbiAgICAgIHRleHQ6IGNvbmZpZy5mb3JtYXREYXRlKHsgZGF0ZTogdmFsdWUsIGZvcm1hdFN0cjogY29uZmlnLmZvcm1hdCwgdGltZXpvbmU6IGNvbmZpZy50aW1lem9uZSB9KSxcbiAgICB9O1xuICAgIGlmICh0eXBlb2YgY29uZmlnLnByZXR0eVRleHQgPT09ICdmdW5jdGlvbicpIHtcbiAgICAgIHRoaXMuaS50ZXh0ID0gY29uZmlnLnByZXR0eVRleHQodGhpcy5pLnRleHQpO1xuICAgIH1cbiAgICB0aGlzLmNkci5kZXRlY3RDaGFuZ2VzKCk7XG5cbiAgICBpZiAoY29uZmlnLm5vdGlmeSA9PT0gMCB8fCBfbm90aWZ5W3ZhbHVlXSkge1xuICAgICAgdGhpcy5jYWxsRXZlbnQoJ25vdGlmeScpO1xuICAgIH1cblxuICAgIGlmICh2YWx1ZSA8IDEpIHtcbiAgICAgIHRoaXMuc3RhdHVzID0gQ291bnRkb3duU3RhdHVzLmRvbmU7XG4gICAgICB0aGlzLmNhbGxFdmVudCgnZG9uZScpO1xuICAgICAgdGhpcy5kZXN0cm95KCk7XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIOiOt+WPluWAkuiuoeaXtuWJqeS9meW4p+aVsFxuICAgKi9cbiAgcHJpdmF0ZSBnZXRMZWZ0KCk6IHZvaWQge1xuICAgIGNvbnN0IHsgY29uZmlnLCBmcmVxdWVuY3kgfSA9IHRoaXM7XG4gICAgbGV0IGxlZnQgPSBjb25maWcubGVmdFRpbWUgKiAxMDAwO1xuICAgIGNvbnN0IGVuZCA9IGNvbmZpZy5zdG9wVGltZTtcblxuICAgIGlmICghbGVmdCAmJiBlbmQpIHtcbiAgICAgIGxlZnQgPSBlbmQgLSBuZXcgRGF0ZSgpLmdldFRpbWUoKTtcbiAgICB9XG5cbiAgICB0aGlzLl9sZWZ0ID0gbGVmdCAtIChsZWZ0ICUgZnJlcXVlbmN5KTtcbiAgfVxuXG4gIG5nT25Jbml0KCkge1xuICAgIHRoaXMuaW5pdCgpO1xuICAgIGlmICghdGhpcy5jb25maWcuZGVtYW5kKSB7XG4gICAgICB0aGlzLmJlZ2luKCk7XG4gICAgfVxuICB9XG5cbiAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgdGhpcy5pc0Rlc3Ryb3kgPSB0cnVlO1xuICAgIHRoaXMuZGVzdHJveSgpO1xuICB9XG5cbiAgbmdPbkNoYW5nZXMoY2hhbmdlczogeyBbUCBpbiBrZXlvZiB0aGlzXT86IFNpbXBsZUNoYW5nZSB9ICYgU2ltcGxlQ2hhbmdlcyk6IHZvaWQge1xuICAgIGlmICghY2hhbmdlcy5jb25maWcuZmlyc3RDaGFuZ2UpIHtcbiAgICAgIHRoaXMucmVzdGFydCgpO1xuICAgIH1cbiAgfVxufVxuIl19
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY291bnRkb3duLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiJuZzovL25neC1jb3VudGRvd24vIiwic291cmNlcyI6WyJjb3VudGRvd24uY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQ0wsU0FBUyxFQUNULEtBQUssRUFDTCxTQUFTLEVBQ1QsYUFBYSxFQUNiLFNBQVMsRUFDVCxNQUFNLEVBQ04sWUFBWSxFQUNaLE1BQU0sRUFDTixZQUFZLEVBQ1osdUJBQXVCLEVBQ3ZCLGlCQUFpQixFQUNqQixNQUFNLEVBQ04sU0FBUyxFQUNULGlCQUFpQixFQUNqQixXQUFXLEVBQ1gsTUFBTSxHQUNQLE1BQU0sZUFBZSxDQUFDO0FBRXZCLE9BQU8sRUFBbUIsZUFBZSxFQUF1RCxNQUFNLGNBQWMsQ0FBQztBQUNySCxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFDbkQsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFjM0QsSUFBYSxrQkFBa0IsR0FBL0IsTUFBYSxrQkFBa0I7SUFZN0IsWUFDNkIsTUFBYyxFQUNqQyxLQUFxQixFQUNyQixNQUE2QixFQUM3QixHQUFzQixFQUN0QixNQUFjO1FBSkssV0FBTSxHQUFOLE1BQU0sQ0FBUTtRQUNqQyxVQUFLLEdBQUwsS0FBSyxDQUFnQjtRQUNyQixXQUFNLEdBQU4sTUFBTSxDQUF1QjtRQUM3QixRQUFHLEdBQUgsR0FBRyxDQUFtQjtRQUN0QixXQUFNLEdBQU4sTUFBTSxDQUFRO1FBaEJoQixjQUFTLEdBQUcsSUFBSSxDQUFDO1FBQ2pCLFlBQU8sR0FBUSxFQUFFLENBQUM7UUFDbEIsVUFBSyxHQUFHLENBQUMsQ0FBQztRQUNWLFdBQU0sR0FBb0IsZUFBZSxDQUFDLEdBQUcsQ0FBQztRQUM5QyxjQUFTLEdBQUcsS0FBSyxDQUFDO1FBQzFCLE1BQUMsR0FBa0IsRUFBRSxDQUFDO1FBSUgsVUFBSyxHQUFHLElBQUksWUFBWSxFQUFr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b0JBQW9CLEVBQUUsTUFBTSxFQUFFO1FBQ3RDLGFBQWEsRUFBRSxpQkFBaUIsQ0FBQyxJQUFJO1FBQ3JDLGVBQWUsRUFBRSx1QkFBdUIsQ0FBQyxNQUFNO0tBQ2hELENBQUM7SUFjRyxtQkFBQSxNQUFNLENBQUMsU0FBUyxDQUFDLENBQUE7cURBQ0gsY0FBYztRQUNiLHFCQUFxQjtRQUN4QixpQkFBaUI7UUFDZCxNQUFNO0dBakJiLGtCQUFrQixDQW9MOUI7U0FwTFksa0JBQWtCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQ29tcG9uZW50LFxuICBJbnB1dCxcbiAgT25DaGFuZ2VzLFxuICBTaW1wbGVDaGFuZ2VzLFxuICBPbkRlc3Ryb3ksXG4gIE91dHB1dCxcbiAgRXZlbnRFbWl0dGVyLFxuICBPbkluaXQsXG4gIFNpbXBsZUNoYW5nZSxcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gIFZpZXdFbmNhcHN1bGF0aW9uLFxuICBJbmplY3QsXG4gIExPQ0FMRV9JRCxcbiAgQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gIFRlbXBsYXRlUmVmLFxuICBOZ1pvbmUsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5pbXBvcnQgeyBDb3VudGRvd25Db25maWcsIENvdW50ZG93blN0YXR1cywgQ291bnRkb3duRXZlbnQsIENvdW50ZG93bkV2ZW50QWN0aW9uLCBDb3VudGRvd25JdGVtIH0gZnJvbSAnLi9pbnRlcmZhY2VzJztcbmltcG9ydCB7IENvdW50ZG93blRpbWVyIH0gZnJvbSAnLi9jb3VudGRvd24udGltZXInO1xuaW1wb3J0IHsgQ291bnRkb3duR2xvYmFsQ29uZmlnIH0gZnJvbSAnLi9jb3VudGRvd24uY29uZmlnJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnY291bnRkb3duJyxcbiAgdGVtcGxhdGU6IGBcbiAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiIXJlbmRlclwiPlxuICAgICAgPHNwYW4gW2lubmVySFRNTF09XCJpLnRleHRcIj48L3NwYW4+XG4gICAgPC9uZy1jb250YWluZXI+XG4gICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cInJlbmRlcjsgY29udGV4dDogeyAkaW1wbGljaXQ6IGkgfVwiPjwvbmctY29udGFpbmVyPlxuICBgLFxuICBob3N0OiB7ICdbY2xhc3MuY291bnQtZG93bl0nOiAndHJ1ZScgfSxcbiAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG59KVxuZXhwb3J0IGNsYXNzIENvdW50ZG93bkNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgT25DaGFuZ2VzLCBPbkRlc3Ryb3kge1xuICBwcml2YXRlIGZyZXF1ZW5jeSA9IDEwMDA7XG4gIHByaXZhdGUgX25vdGlmeTogYW55ID0ge307XG4gIHByaXZhdGUgX2xlZnQgPSAwO1xuICBwcml2YXRlIHN0YXR1czogQ291bnRkb3duU3RhdHVzID0gQ291bnRkb3duU3RhdHVzLmluZztcbiAgcHJpdmF0ZSBpc0Rlc3Ryb3kgPSBmYWxzZTtcbiAgaTogQ291bnRkb3duSXRlbSA9IHt9O1xuXG4gIEBJbnB1dCgpIGNvbmZpZzogQ291bnRkb3duQ29uZmlnO1xuICBASW5wdXQoKSByZW5kZXI6IFRlbXBsYXRlUmVmPHZvaWQ+O1xuICBAT3V0cHV0KCkgcmVhZG9ubHkgZXZlbnQgPSBuZXcgRXZlbnRFbWl0dGVyPENvdW50ZG93bkV2ZW50PigpO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIEBJbmplY3QoTE9DQUxFX0lEKSBwcml2YXRlIGxvY2FsZTogc3RyaW5nLFxuICAgIHByaXZhdGUgdGltZXI6IENvdW50ZG93blRpbWVyLFxuICAgIHByaXZhdGUgZGVmQ29nOiBDb3VudGRvd25HbG9iYWxDb25maWcsXG4gICAgcHJpdmF0ZSBjZHI6IENoYW5nZURldGVjdG9yUmVmLFxuICAgIHByaXZhdGUgbmdab25lOiBOZ1pvbmUsXG4gICkge31cblxuICBnZXQgbGVmdCgpIHtcbiAgICByZXR1cm4gdGhpcy5fbGVmdDtcbiAgfVxuXG4gIC8qKlxuICAgKiBTdGFydCBjb3VudGRvd24sIHlvdSBtdXN0IG1hbnVhbGx5IGNhbGwgd2hlbiBgZGVtYW5kOiBmYWxzZWBcbiAgICovXG4gIGJlZ2luKCkge1xuICAgIHRoaXMuc3RhdHVzID0gQ291bnRkb3duU3RhdHVzLmluZztcbiAgICB0aGlzLmNhbGxFdmVudCgnc3RhcnQnKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBSZXN0YXJ0IGNvdW50ZG93blxuICAgKi9cbiAgcmVzdGFydCgpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5zdGF0dXMgIT09IENvdW50ZG93blN0YXR1cy5zdG9wKSB7XG4gICAgICB0aGlzLmRlc3Ryb3koKTtcbiAgICB9XG4gICAgdGhpcy5pbml0KCk7XG4gICAgdGhpcy5jYWxsRXZlbnQoJ3Jlc3RhcnQnKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBTdG9wIGNvdW50ZG93biwgbXVzdCBjYWxsIGByZXN0YXJ0YCB3aGVuIHN0b3BwZWQsIGl0J3MgZGlmZmVyZW50IGZyb20gcGF1c2UsIHVuYWJsZSB0byByZWNvdmVyXG4gICAqL1xuICBzdG9wKCkge1xuICAgIGlmICh0aGlzLnN0YXR1cyA9PT0gQ291bnRkb3duU3RhdHVzLnN0b3ApIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgdGhpcy5zdGF0dXMgPSBDb3VudGRvd25TdGF0dXMuc3RvcDtcbiAgICB0aGlzLmRlc3Ryb3koKTtcbiAgICB0aGlzLmNhbGxFdmVudCgnc3RvcCcpO1xuICB9XG5cbiAgLyoqXG4gICAqIFBhdXNlIGNvdW50ZG93biwgeW91IGNhbiB1c2UgYHJlc3VtZWAgdG8gcmVjb3ZlciBhZ2FpblxuICAgKi9cbiAgcGF1c2UoKSB7XG4gICAgaWYgKHRoaXMuc3RhdHVzID09PSBDb3VudGRvd25TdGF0dXMuc3RvcCB8fCB0aGlzLnN0YXR1cyA9PT0gQ291bnRkb3duU3RhdHVzLnBhdXNlKSByZXR1cm47XG4gICAgdGhpcy5zdGF0dXMgPSBDb3VudGRvd25TdGF0dXMucGF1c2U7XG4gICAgdGhpcy5jYWxsRXZlbnQoJ3BhdXNlJyk7XG4gIH1cblxuICAvKipcbiAgICogUmVzdW1lIGNvdW50ZG93blxuICAgKi9cbiAgcmVzdW1lKCkge1xuICAgIGlmICh0aGlzLnN0YXR1cyA9PT0gQ291bnRkb3duU3RhdHVzLnN0b3AgfHwgdGhpcy5zdGF0dXMgIT09IENvdW50ZG93blN0YXR1cy5wYXVzZSkgcmV0dXJuO1xuICAgIHRoaXMuc3RhdHVzID0gQ291bnRkb3duU3RhdHVzLmluZztcbiAgICB0aGlzLmNhbGxFdmVudCgncmVzdW1lJyk7XG4gIH1cblxuICBwcml2YXRlIGNhbGxFdmVudChhY3Rpb246IENvdW50ZG93bkV2ZW50QWN0aW9uKSB7XG4gICAgdGhpcy5ldmVudC5lbWl0KHsgYWN0aW9uLCBsZWZ0OiB0aGlzLl9sZWZ0LCBzdGF0dXM6IHRoaXMuc3RhdHVzLCB0ZXh0OiB0aGlzLmkudGV4dCB9KTtcbiAgfVxuXG4gIHByaXZhdGUgaW5pdCgpIHtcbiAgICBjb25zdCB7IGxvY2FsZSwgZGVmQ29nIH0gPSB0aGlzO1xuICAgIGNvbnN0IGNvbmZpZyA9ICh0aGlzLmNvbmZpZyA9IHtcbiAgICAgIC4uLm5ldyBDb3VudGRvd25HbG9iYWxDb25maWcobG9jYWxlKSxcbiAgICAgIC4uLmRlZkNvZyxcbiAgICAgIC4uLnRoaXMuY29uZmlnLFxuICAgIH0pO1xuICAgIC8vIHRzbGludDpkaXNhYmxlLW5leHQtbGluZTogbm8tYml0d2lzZVxuICAgIGNvbnN0IGZycSA9ICh0aGlzLmZyZXF1ZW5jeSA9IH5jb25maWcuZm9ybWF0LmluZGV4T2YoJ1MnKSA/IDEwMCA6IDEwMDApO1xuICAgIHRoaXMuc3RhdHVzID0gY29uZmlnLmRlbWFuZCA/IENvdW50ZG93blN0YXR1cy5wYXVzZSA6IENvdW50ZG93blN0YXR1cy5pbmc7XG5cbiAgICB0aGlzLmdldExlZnQoKTtcblxuICAgIC8vIGJpbmQgcmVmbG93IHRvIG1lXG4gICAgY29uc3QgX3JlZmxvdyA9IHRoaXMucmVmbG93O1xuICAgIHRoaXMucmVmbG93ID0gKGNvdW50OiBudW1iZXIgPSAwLCBmb3JjZTogYm9vbGVhbiA9IGZhbHNlKSA9PiBfcmVmbG93LmFwcGx5KHRoaXMsIFtjb3VudCwgZm9yY2VdKTtcblxuICAgIGlmIChBcnJheS5pc0FycmF5KGNvbmZpZy5ub3RpZnkpKSB7XG4gICAgICBjb25maWcubm90aWZ5LmZvckVhY2goKHRpbWU6IG51bWJlcikgPT4ge1xuICAgICAgICBpZiAodGltZSA8IDEpIHRocm93IG5ldyBFcnJvcihgVGhlIG5vdGlmeSBjb25maWcgbXVzdCBiZSBhIHBvc2l0aXZlIGludGVnZXIuYCk7XG5cbiAgICAgICAgdGltZSA9IHRpbWUgKiAxMDAwO1xuICAgICAgICB0aW1lID0gdGltZSAtICh0aW1lICUgZnJxKTtcbiAgICAgICAgdGhpcy5fbm90aWZ5W3RpbWVdID0gdHJ1ZTtcbiAgICAgIH0pO1xuICAgIH1cblxuICAgIHRoaXMudGltZXIuYWRkKHRoaXMucmVmbG93LCBmcnEpLnN0YXJ0KCk7XG5cbiAgICB0aGlzLnJlZmxvdygwLCB0cnVlKTtcbiAgfVxuXG4gIHByaXZhdGUgZGVzdHJveSgpIHtcbiAgICB0aGlzLnRpbWVyLnJlbW92ZSh0aGlzLnJlZmxvdyk7XG4gICAgcmV0dXJuIHRoaXM7XG4gIH1cblxuICAvKipcbiAgICog5pu05paw5pe26ZKfXG4gICAqL1xuICBwcml2YXRlIHJlZmxvdyhjb3VudDogbnVtYmVyID0gMCwgZm9yY2U6IGJvb2xlYW4gPSBmYWxzZSk6IHZvaWQge1xuICAgIGlmICh0aGlzLmlzRGVzdHJveSkgcmV0dXJuO1xuXG4gICAgY29uc3QgeyBzdGF0dXMsIGNvbmZpZywgX25vdGlmeSB9ID0gdGhpcztcbiAgICBpZiAoIWZvcmNlICYmIHN0YXR1cyAhPT0gQ291bnRkb3duU3RhdHVzLmluZykgcmV0dXJuO1xuXG4gICAgY29uc3QgdmFsdWUgPSAodGhpcy5fbGVmdCA9IHRoaXMuX2xlZnQgLSB0aGlzLmZyZXF1ZW5jeSAqIGNvdW50KTtcbiAgICB0aGlzLmkgPSB7XG4gICAgICB2YWx1ZSxcbiAgICAgIHRleHQ6IGNvbmZpZy5mb3JtYXREYXRlKHsgZGF0ZTogdmFsdWUsIGZvcm1hdFN0cjogY29uZmlnLmZvcm1hdCwgdGltZXpvbmU6IGNvbmZpZy50aW1lem9uZSB9KSxcbiAgICB9O1xuICAgIGlmICh0eXBlb2YgY29uZmlnLnByZXR0eVRleHQgPT09ICdmdW5jdGlvbicpIHtcbiAgICAgIHRoaXMuaS50ZXh0ID0gY29uZmlnLnByZXR0eVRleHQodGhpcy5pLnRleHQpO1xuICAgIH1cbiAgICB0aGlzLmNkci5kZXRlY3RDaGFuZ2VzKCk7XG5cbiAgICBpZiAoY29uZmlnLm5vdGlmeSA9PT0gMCB8fCBfbm90aWZ5W3ZhbHVlXSkge1xuICAgICAgdGhpcy5uZ1pvbmUucnVuKCgpID0+IHtcbiAgICAgICAgdGhpcy5jYWxsRXZlbnQoJ25vdGlmeScpO1xuICAgICAgfSk7XG4gICAgfVxuXG4gICAgaWYgKHZhbHVlIDwgMSkge1xuICAgICAgdGhpcy5uZ1pvbmUucnVuKCgpID0+IHtcbiAgICAgICAgdGhpcy5zdGF0dXMgPSBDb3VudGRvd25TdGF0dXMuZG9uZTtcbiAgICAgICAgdGhpcy5jYWxsRXZlbnQoJ2RvbmUnKTtcbiAgICAgICAgdGhpcy5kZXN0cm95KCk7XG4gICAgICB9KTtcbiAgICB9XG4gIH1cblxuICAvKipcbiAgICog6I635Y+W5YCS6K6h5pe25Ymp5L2Z5bin5pWwXG4gICAqL1xuICBwcml2YXRlIGdldExlZnQoKTogdm9pZCB7XG4gICAgY29uc3QgeyBjb25maWcsIGZyZXF1ZW5jeSB9ID0gdGhpcztcbiAgICBsZXQgbGVmdCA9IGNvbmZpZy5sZWZ0VGltZSAqIDEwMDA7XG4gICAgY29uc3QgZW5kID0gY29uZmlnLnN0b3BUaW1lO1xuXG4gICAgaWYgKCFsZWZ0ICYmIGVuZCkge1xuICAgICAgbGVmdCA9IGVuZCAtIG5ldyBEYXRlKCkuZ2V0VGltZSgpO1xuICAgIH1cblxuICAgIHRoaXMuX2xlZnQgPSBsZWZ0IC0gKGxlZnQgJSBmcmVxdWVuY3kpO1xuICB9XG5cbiAgbmdPbkluaXQoKSB7XG4gICAgdGhpcy5pbml0KCk7XG4gICAgaWYgKCF0aGlzLmNvbmZpZy5kZW1hbmQpIHtcbiAgICAgIHRoaXMuYmVnaW4oKTtcbiAgICB9XG4gIH1cblxuICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICB0aGlzLmlzRGVzdHJveSA9IHRydWU7XG4gICAgdGhpcy5kZXN0cm95KCk7XG4gIH1cblxuICBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiB7IFtQIGluIGtleW9mIHRoaXNdPzogU2ltcGxlQ2hhbmdlIH0gJiBTaW1wbGVDaGFuZ2VzKTogdm9pZCB7XG4gICAgaWYgKCFjaGFuZ2VzLmNvbmZpZy5maXJzdENoYW5nZSkge1xuICAgICAgdGhpcy5yZXN0YXJ0KCk7XG4gICAgfVxuICB9XG59XG4iXX0=

@@ -18,2 +18,5 @@ import * as tslib_1 from "tslib";

};
CountdownGlobalConfig.ctorParameters = () => [
{ type: String, decorators: [{ type: Inject, args: [LOCALE_ID,] }] }
];
CountdownGlobalConfig.ngInjectableDef = i0.ɵɵdefineInjectable({ factory: function CountdownGlobalConfig_Factory() { return new CountdownGlobalConfig(i0.ɵɵinject(i0.LOCALE_ID)); }, token: CountdownGlobalConfig, providedIn: "root" });

@@ -26,2 +29,2 @@ CountdownGlobalConfig = tslib_1.__decorate([

export { CountdownGlobalConfig };
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY291bnRkb3duLmNvbmZpZy5qcyIsInNvdXJjZVJvb3QiOiJuZzovL25neC1jb3VudGRvd24vIiwic291cmNlcyI6WyJjb3VudGRvd24uY29uZmlnLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxzQ0FBc0M7QUFDdEMsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUUsU0FBUyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzlELE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQzs7QUFJN0MsSUFBYSxxQkFBcUIsR0FBbEMsTUFBYSxxQkFBcUI7SUFDaEMsWUFBdUMsTUFBYztRQUFkLFdBQU0sR0FBTixNQUFNLENBQVE7UUFFckQsV0FBTSxHQUFhLEtBQUssQ0FBQztRQUV6QixhQUFRLEdBQVksQ0FBQyxDQUFDO1FBRXRCLFdBQU0sR0FBWSxVQUFVLENBQUM7UUFFN0IsYUFBUSxHQUFZLE9BQU8sQ0FBQztRQUU1QixlQUFVLEdBQXVCLENBQUMsRUFBRSxJQUFJLEVBQUUsU0FBUyxFQUFFLFFBQVEsRUFBRSxFQUFFLEVBQUU7WUFDakUsT0FBTyxVQUFVLENBQUMsSUFBSSxJQUFJLENBQUMsSUFBSSxDQUFDLEVBQUUsU0FBUyxFQUFFLElBQUksQ0FBQyxNQUFNLEVBQUUsUUFBUSxJQUFJLElBQUksQ0FBQyxRQUFRLElBQUksT0FBTyxDQUFDLENBQUM7UUFDbEcsQ0FBQyxDQUFDO0lBWnNELENBQUM7Q0FhMUQsQ0FBQTs7QUFkWSxxQkFBcUI7SUFEakMsVUFBVSxDQUFDLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBRSxDQUFDO0lBRXBCLG1CQUFBLE1BQU0sQ0FBQyxTQUFTLENBQUMsQ0FBQTs7R0FEbkIscUJBQXFCLENBY2pDO1NBZFkscUJBQXFCIiwic291cmNlc0NvbnRlbnQiOlsiLy8gdHNsaW50OmRpc2FibGU6IG5vLWluZmVycmFibGUtdHlwZXNcbmltcG9ydCB7IEluamVjdGFibGUsIEluamVjdCwgTE9DQUxFX0lEIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBmb3JtYXREYXRlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IENvdW50ZG93bkZvcm1hdEZuLCBDb3VudGRvd25Db25maWcgfSBmcm9tICcuL2ludGVyZmFjZXMnO1xuXG5ASW5qZWN0YWJsZSh7IHByb3ZpZGVkSW46ICdyb290JyB9KVxuZXhwb3J0IGNsYXNzIENvdW50ZG93bkdsb2JhbENvbmZpZyBpbXBsZW1lbnRzIENvdW50ZG93bkNvbmZpZyB7XG4gIGNvbnN0cnVjdG9yKEBJbmplY3QoTE9DQUxFX0lEKSBwcml2YXRlIGxvY2FsZTogc3RyaW5nKSB7fVxuXG4gIGRlbWFuZD86IGJvb2xlYW4gPSBmYWxzZTtcblxuICBsZWZ0VGltZT86IG51bWJlciA9IDA7XG5cbiAgZm9ybWF0Pzogc3RyaW5nID0gJ0hIOm1tOnNzJztcblxuICB0aW1lem9uZT86IHN0cmluZyA9ICcrMDAwMCc7XG5cbiAgZm9ybWF0RGF0ZT86IENvdW50ZG93bkZvcm1hdEZuID0gKHsgZGF0ZSwgZm9ybWF0U3RyLCB0aW1lem9uZSB9KSA9PiB7XG4gICAgcmV0dXJuIGZvcm1hdERhdGUobmV3IERhdGUoZGF0ZSksIGZvcm1hdFN0ciwgdGhpcy5sb2NhbGUsIHRpbWV6b25lIHx8IHRoaXMudGltZXpvbmUgfHwgJyswMDAwJyk7XG4gIH07XG59XG4iXX0=
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY291bnRkb3duLmNvbmZpZy5qcyIsInNvdXJjZVJvb3QiOiJuZzovL25neC1jb3VudGRvd24vIiwic291cmNlcyI6WyJjb3VudGRvd24uY29uZmlnLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxzQ0FBc0M7QUFDdEMsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUUsU0FBUyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzlELE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQzs7QUFJN0MsSUFBYSxxQkFBcUIsR0FBbEMsTUFBYSxxQkFBcUI7SUFDaEMsWUFBdUMsTUFBYztRQUFkLFdBQU0sR0FBTixNQUFNLENBQVE7UUFFckQsV0FBTSxHQUFhLEtBQUssQ0FBQztRQUV6QixhQUFRLEdBQVksQ0FBQyxDQUFDO1FBRXRCLFdBQU0sR0FBWSxVQUFVLENBQUM7UUFFN0IsYUFBUSxHQUFZLE9BQU8sQ0FBQztRQUU1QixlQUFVLEdBQXVCLENBQUMsRUFBRSxJQUFJLEVBQUUsU0FBUyxFQUFFLFFBQVEsRUFBRSxFQUFFLEVBQUU7WUFDakUsT0FBTyxVQUFVLENBQUMsSUFBSSxJQUFJLENBQUMsSUFBSSxDQUFDLEVBQUUsU0FBUyxFQUFFLElBQUksQ0FBQyxNQUFNLEVBQUUsUUFBUSxJQUFJLElBQUksQ0FBQyxRQUFRLElBQUksT0FBTyxDQUFDLENBQUM7UUFDbEcsQ0FBQyxDQUFDO0lBWnNELENBQUM7Q0FhMUQsQ0FBQTs7eUNBYmMsTUFBTSxTQUFDLFNBQVM7OztBQURsQixxQkFBcUI7SUFEakMsVUFBVSxDQUFDLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBRSxDQUFDO0lBRXBCLG1CQUFBLE1BQU0sQ0FBQyxTQUFTLENBQUMsQ0FBQTs7R0FEbkIscUJBQXFCLENBY2pDO1NBZFkscUJBQXFCIiwic291cmNlc0NvbnRlbnQiOlsiLy8gdHNsaW50OmRpc2FibGU6IG5vLWluZmVycmFibGUtdHlwZXNcbmltcG9ydCB7IEluamVjdGFibGUsIEluamVjdCwgTE9DQUxFX0lEIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBmb3JtYXREYXRlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IENvdW50ZG93bkZvcm1hdEZuLCBDb3VudGRvd25Db25maWcgfSBmcm9tICcuL2ludGVyZmFjZXMnO1xuXG5ASW5qZWN0YWJsZSh7IHByb3ZpZGVkSW46ICdyb290JyB9KVxuZXhwb3J0IGNsYXNzIENvdW50ZG93bkdsb2JhbENvbmZpZyBpbXBsZW1lbnRzIENvdW50ZG93bkNvbmZpZyB7XG4gIGNvbnN0cnVjdG9yKEBJbmplY3QoTE9DQUxFX0lEKSBwcml2YXRlIGxvY2FsZTogc3RyaW5nKSB7fVxuXG4gIGRlbWFuZD86IGJvb2xlYW4gPSBmYWxzZTtcblxuICBsZWZ0VGltZT86IG51bWJlciA9IDA7XG5cbiAgZm9ybWF0Pzogc3RyaW5nID0gJ0hIOm1tOnNzJztcblxuICB0aW1lem9uZT86IHN0cmluZyA9ICcrMDAwMCc7XG5cbiAgZm9ybWF0RGF0ZT86IENvdW50ZG93bkZvcm1hdEZuID0gKHsgZGF0ZSwgZm9ybWF0U3RyLCB0aW1lem9uZSB9KSA9PiB7XG4gICAgcmV0dXJuIGZvcm1hdERhdGUobmV3IERhdGUoZGF0ZSksIGZvcm1hdFN0ciwgdGhpcy5sb2NhbGUsIHRpbWV6b25lIHx8IHRoaXMudGltZXpvbmUgfHwgJyswMDAwJyk7XG4gIH07XG59XG4iXX0=
import * as tslib_1 from "tslib";
import { Injectable } from '@angular/core';
import { Injectable, NgZone } from '@angular/core';
let CountdownTimer = class CountdownTimer {
constructor() {
constructor(ngZone) {
this.ngZone = ngZone;
this.fns = [];

@@ -14,3 +15,5 @@ this.commands = [];

this.nextTime = +new Date();
this.process();
this.ngZone.runOutsideAngular(() => {
this.process();
});
}

@@ -66,6 +69,10 @@ process() {

};
CountdownTimer.ctorParameters = () => [
{ type: NgZone }
];
CountdownTimer = tslib_1.__decorate([
Injectable()
Injectable(),
tslib_1.__metadata("design:paramtypes", [NgZone])
], CountdownTimer);
export { CountdownTimer };
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY291bnRkb3duLnRpbWVyLmpzIiwic291cmNlUm9vdCI6Im5nOi8vbmd4LWNvdW50ZG93bi8iLCJzb3VyY2VzIjpbImNvdW50ZG93bi50aW1lci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUczQyxJQUFhLGNBQWMsR0FBM0IsTUFBYSxjQUFjO0lBRDNCO1FBRVUsUUFBRyxHQUF1RCxFQUFFLENBQUM7UUFDN0QsYUFBUSxHQUFzQixFQUFFLENBQUM7UUFFakMsUUFBRyxHQUFHLEtBQUssQ0FBQztJQWlFdEIsQ0FBQztJQS9EQyxLQUFLO1FBQ0gsSUFBSSxJQUFJLENBQUMsR0FBRyxLQUFLLElBQUk7WUFBRSxPQUFPO1FBRTlCLElBQUksQ0FBQyxHQUFHLEdBQUcsSUFBSSxDQUFDO1FBQ2hCLElBQUksQ0FBQyxRQUFRLEdBQUcsQ0FBQyxJQUFJLElBQUksRUFBRSxDQUFDO1FBQzVCLElBQUksQ0FBQyxPQUFPLEVBQUUsQ0FBQztJQUNqQixDQUFDO0lBRU8sT0FBTztRQUNiLE9BQU8sSUFBSSxDQUFDLFFBQVEsQ0FBQyxNQUFNLEVBQUU7WUFDM0IsSUFBSSxDQUFDLFFBQVEsQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUFDO1NBQ3pCO1FBQ0QsSUFBSSxJQUFJLEdBQUcsQ0FBQyxJQUFJLElBQUksRUFBRSxHQUFHLElBQUksQ0FBQyxRQUFRLENBQUM7UUFDdkMsTUFBTSxLQUFLLEdBQUcsQ0FBQyxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxHQUFHLEdBQUcsQ0FBQyxDQUFDO1FBRXpDLElBQUksR0FBRyxHQUFHLEdBQUcsQ0FBQyxJQUFJLEdBQUcsR0FBRyxDQUFDLENBQUM7UUFDMUIsSUFBSSxDQUFDLFFBQVEsSUFBSSxHQUFHLEdBQUcsS0FBSyxDQUFDO1FBRTdCLEtBQUssSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFLEdBQUcsR0FBRyxJQUFJLENBQUMsR0FBRyxDQUFDLE1BQU0sRUFBRSxDQUFDLEdBQUcsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLEVBQUU7WUFDdEQsSUFBSSxTQUFTLEdBQUcsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFXLENBQUM7WUFFMUMsUUFBUTtZQUNSLElBQUksQ0FBQyxLQUFLLFNBQVMsRUFBRTtnQkFDbEIsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQTZCLENBQUMsS0FBSyxDQUFDLENBQUM7Z0JBQ2hELFNBQVM7YUFDVjtpQkFBTTtnQkFDTCxlQUFlO2dCQUNmLFNBQVMsSUFBSSxDQUFDLEdBQUcsS0FBSyxHQUFHLENBQUMsQ0FBQztnQkFFM0IsTUFBTSxJQUFJLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxTQUFTLEdBQUcsRUFBRSxDQUFDLENBQUM7Z0JBQ3hDLElBQUksSUFBSSxHQUFHLENBQUMsRUFBRTtvQkFDWCxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBNkIsQ0FBQyxJQUFJLENBQUMsQ0FBQztpQkFDaEQ7Z0JBRUQsVUFBVTtnQkFDVixJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxDQUFDLFNBQVMsR0FBRyxFQUFFLENBQUMsR0FBRyxDQUFDLENBQUM7YUFDeEM7U0FDRjtRQUVELElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRztZQUFFLE9BQU87UUFFdEIsVUFBVSxDQUFDLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQyxPQUFPLEVBQUUsRUFBRSxJQUFJLENBQUMsQ0FBQztJQUN6QyxDQUFDO0lBRUQsR0FBRyxDQUFDLEVBQWMsRUFBRSxTQUFpQjtRQUNuQyxJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxHQUFHLEVBQUU7WUFDdEIsSUFBSSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUM7WUFDbEIsSUFBSSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsU0FBUyxLQUFLLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztZQUMxQyxJQUFJLENBQUMsR0FBRyxHQUFHLElBQUksQ0FBQztRQUNsQixDQUFDLENBQUMsQ0FBQztRQUNILE9BQU8sSUFBSSxDQUFDO0lBQ2QsQ0FBQztJQUVELE1BQU0sQ0FBQyxFQUFjO1FBQ25CLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLEdBQUcsRUFBRTtZQUN0QixNQUFNLENBQUMsR0FBRyxJQUFJLENBQUMsR0FBRyxDQUFDLE9BQU8sQ0FBQyxFQUFFLENBQUMsQ0FBQztZQUMvQixJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsRUFBRTtnQkFDWixJQUFJLENBQUMsR0FBRyxDQUFDLE1BQU0sQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUM7YUFDdkI7WUFDRCxJQUFJLENBQUMsR0FBRyxHQUFHLElBQUksQ0FBQyxHQUFHLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQztRQUNqQyxDQUFDLENBQUMsQ0FBQztRQUNILE9BQU8sSUFBSSxDQUFDO0lBQ2QsQ0FBQztDQUNGLENBQUE7QUFyRVksY0FBYztJQUQxQixVQUFVLEVBQUU7R0FDQSxjQUFjLENBcUUxQjtTQXJFWSxjQUFjIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgY2xhc3MgQ291bnRkb3duVGltZXIge1xuICBwcml2YXRlIGZuczogQXJyYXk8KChjb3VudDogbnVtYmVyKSA9PiBudW1iZXIgfCB2b2lkKSB8IG51bWJlcj4gPSBbXTtcbiAgcHJpdmF0ZSBjb21tYW5kczogQXJyYXk8KCkgPT4gdm9pZD4gPSBbXTtcbiAgcHJpdmF0ZSBuZXh0VGltZTogbnVtYmVyO1xuICBwcml2YXRlIGluZyA9IGZhbHNlO1xuXG4gIHN0YXJ0KCkge1xuICAgIGlmICh0aGlzLmluZyA9PT0gdHJ1ZSkgcmV0dXJuO1xuXG4gICAgdGhpcy5pbmcgPSB0cnVlO1xuICAgIHRoaXMubmV4dFRpbWUgPSArbmV3IERhdGUoKTtcbiAgICB0aGlzLnByb2Nlc3MoKTtcbiAgfVxuXG4gIHByaXZhdGUgcHJvY2VzcygpIHtcbiAgICB3aGlsZSAodGhpcy5jb21tYW5kcy5sZW5ndGgpIHtcbiAgICAgIHRoaXMuY29tbWFuZHMuc2hpZnQoKSgpO1xuICAgIH1cbiAgICBsZXQgZGlmZiA9ICtuZXcgRGF0ZSgpIC0gdGhpcy5uZXh0VGltZTtcbiAgICBjb25zdCBjb3VudCA9IDEgKyBNYXRoLmZsb29yKGRpZmYgLyAxMDApO1xuXG4gICAgZGlmZiA9IDEwMCAtIChkaWZmICUgMTAwKTtcbiAgICB0aGlzLm5leHRUaW1lICs9IDEwMCAqIGNvdW50O1xuXG4gICAgZm9yIChsZXQgaSA9IDAsIGxlbiA9IHRoaXMuZm5zLmxlbmd0aDsgaSA8IGxlbjsgaSArPSAyKSB7XG4gICAgICBsZXQgZnJlcXVlbmN5ID0gdGhpcy5mbnNbaSArIDFdIGFzIG51bWJlcjtcblxuICAgICAgLy8gMTAwL3NcbiAgICAgIGlmICgwID09PSBmcmVxdWVuY3kpIHtcbiAgICAgICAgKHRoaXMuZm5zW2ldIGFzIChjb3VudDogbnVtYmVyKSA9PiB2b2lkKShjb3VudCk7XG4gICAgICAgIC8vIDEwMDAvc1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgLy8g5YWI5oqK5pyr5L2N6IezMO+8jOWGjeavj+asoeWKoDJcbiAgICAgICAgZnJlcXVlbmN5ICs9IDIgKiBjb3VudCAtIDE7XG5cbiAgICAgICAgY29uc3Qgc3RlcCA9IE1hdGguZmxvb3IoZnJlcXVlbmN5IC8gMjApO1xuICAgICAgICBpZiAoc3RlcCA+IDApIHtcbiAgICAgICAgICAodGhpcy5mbnNbaV0gYXMgKGNvdW50OiBudW1iZXIpID0+IHZvaWQpKHN0ZXApO1xuICAgICAgICB9XG5cbiAgICAgICAgLy8g5oqK5pyr5L2N6L+Y5Y6f5oiQMVxuICAgICAgICB0aGlzLmZuc1tpICsgMV0gPSAoZnJlcXVlbmN5ICUgMjApICsgMTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBpZiAoIXRoaXMuaW5nKSByZXR1cm47XG5cbiAgICBzZXRUaW1lb3V0KCgpID0+IHRoaXMucHJvY2VzcygpLCBkaWZmKTtcbiAgfVxuXG4gIGFkZChmbjogKCkgPT4gdm9pZCwgZnJlcXVlbmN5OiBudW1iZXIpOiB0aGlzIHtcbiAgICB0aGlzLmNvbW1hbmRzLnB1c2goKCkgPT4ge1xuICAgICAgdGhpcy5mbnMucHVzaChmbik7XG4gICAgICB0aGlzLmZucy5wdXNoKGZyZXF1ZW5jeSA9PT0gMTAwMCA/IDEgOiAwKTtcbiAgICAgIHRoaXMuaW5nID0gdHJ1ZTtcbiAgICB9KTtcbiAgICByZXR1cm4gdGhpcztcbiAgfVxuXG4gIHJlbW92ZShmbjogKCkgPT4gdm9pZCk6IHRoaXMge1xuICAgIHRoaXMuY29tbWFuZHMucHVzaCgoKSA9PiB7XG4gICAgICBjb25zdCBpID0gdGhpcy5mbnMuaW5kZXhPZihmbik7XG4gICAgICBpZiAoaSAhPT0gLTEpIHtcbiAgICAgICAgdGhpcy5mbnMuc3BsaWNlKGksIDIpO1xuICAgICAgfVxuICAgICAgdGhpcy5pbmcgPSB0aGlzLmZucy5sZW5ndGggPiAwO1xuICAgIH0pO1xuICAgIHJldHVybiB0aGlzO1xuICB9XG59XG4iXX0=
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY291bnRkb3duLnRpbWVyLmpzIiwic291cmNlUm9vdCI6Im5nOi8vbmd4LWNvdW50ZG93bi8iLCJzb3VyY2VzIjpbImNvdW50ZG93bi50aW1lci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFHbkQsSUFBYSxjQUFjLEdBQTNCLE1BQWEsY0FBYztJQU16QixZQUFvQixNQUFjO1FBQWQsV0FBTSxHQUFOLE1BQU0sQ0FBUTtRQUwxQixRQUFHLEdBQXVELEVBQUUsQ0FBQztRQUM3RCxhQUFRLEdBQXNCLEVBQUUsQ0FBQztRQUVqQyxRQUFHLEdBQUcsS0FBSyxDQUFDO0lBRWlCLENBQUM7SUFFdEMsS0FBSztRQUNILElBQUksSUFBSSxDQUFDLEdBQUcsS0FBSyxJQUFJO1lBQUUsT0FBTztRQUU5QixJQUFJLENBQUMsR0FBRyxHQUFHLElBQUksQ0FBQztRQUNoQixJQUFJLENBQUMsUUFBUSxHQUFHLENBQUMsSUFBSSxJQUFJLEVBQUUsQ0FBQztRQUM1QixJQUFJLENBQUMsTUFBTSxDQUFDLGlCQUFpQixDQUFDLEdBQUcsRUFBRTtZQUNqQyxJQUFJLENBQUMsT0FBTyxFQUFFLENBQUM7UUFDakIsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDO0lBRU8sT0FBTztRQUNiLE9BQU8sSUFBSSxDQUFDLFFBQVEsQ0FBQyxNQUFNLEVBQUU7WUFDM0IsSUFBSSxDQUFDLFFBQVEsQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUFDO1NBQ3pCO1FBQ0QsSUFBSSxJQUFJLEdBQUcsQ0FBQyxJQUFJLElBQUksRUFBRSxHQUFHLElBQUksQ0FBQyxRQUFRLENBQUM7UUFDdkMsTUFBTSxLQUFLLEdBQUcsQ0FBQyxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxHQUFHLEdBQUcsQ0FBQyxDQUFDO1FBRXpDLElBQUksR0FBRyxHQUFHLEdBQUcsQ0FBQyxJQUFJLEdBQUcsR0FBRyxDQUFDLENBQUM7UUFDMUIsSUFBSSxDQUFDLFFBQVEsSUFBSSxHQUFHLEdBQUcsS0FBSyxDQUFDO1FBRTdCLEtBQUssSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFLEdBQUcsR0FBRyxJQUFJLENBQUMsR0FBRyxDQUFDLE1BQU0sRUFBRSxDQUFDLEdBQUcsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLEVBQUU7WUFDdEQsSUFBSSxTQUFTLEdBQUcsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFXLENBQUM7WUFFMUMsUUFBUTtZQUNSLElBQUksQ0FBQyxLQUFLLFNBQVMsRUFBRTtnQkFDbEIsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQTZCLENBQUMsS0FBSyxDQUFDLENBQUM7Z0JBQ2hELFNBQVM7YUFDVjtpQkFBTTtnQkFDTCxlQUFlO2dCQUNmLFNBQVMsSUFBSSxDQUFDLEdBQUcsS0FBSyxHQUFHLENBQUMsQ0FBQztnQkFFM0IsTUFBTSxJQUFJLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxTQUFTLEdBQUcsRUFBRSxDQUFDLENBQUM7Z0JBQ3hDLElBQUksSUFBSSxHQUFHLENBQUMsRUFBRTtvQkFDWCxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBNkIsQ0FBQyxJQUFJLENBQUMsQ0FBQztpQkFDaEQ7Z0JBRUQsVUFBVTtnQkFDVixJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxDQUFDLFNBQVMsR0FBRyxFQUFFLENBQUMsR0FBRyxDQUFDLENBQUM7YUFDeEM7U0FDRjtRQUVELElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRztZQUFFLE9BQU87UUFFdEIsVUFBVSxDQUFDLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQyxPQUFPLEVBQUUsRUFBRSxJQUFJLENBQUMsQ0FBQztJQUN6QyxDQUFDO0lBRUQsR0FBRyxDQUFDLEVBQWMsRUFBRSxTQUFpQjtRQUNuQyxJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxHQUFHLEVBQUU7WUFDdEIsSUFBSSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUM7WUFDbEIsSUFBSSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsU0FBUyxLQUFLLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztZQUMxQyxJQUFJLENBQUMsR0FBRyxHQUFHLElBQUksQ0FBQztRQUNsQixDQUFDLENBQUMsQ0FBQztRQUNILE9BQU8sSUFBSSxDQUFDO0lBQ2QsQ0FBQztJQUVELE1BQU0sQ0FBQyxFQUFjO1FBQ25CLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLEdBQUcsRUFBRTtZQUN0QixNQUFNLENBQUMsR0FBRyxJQUFJLENBQUMsR0FBRyxDQUFDLE9BQU8sQ0FBQyxFQUFFLENBQUMsQ0FBQztZQUMvQixJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsRUFBRTtnQkFDWixJQUFJLENBQUMsR0FBRyxDQUFDLE1BQU0sQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUM7YUFDdkI7WUFDRCxJQUFJLENBQUMsR0FBRyxHQUFHLElBQUksQ0FBQyxHQUFHLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQztRQUNqQyxDQUFDLENBQUMsQ0FBQztRQUNILE9BQU8sSUFBSSxDQUFDO0lBQ2QsQ0FBQztDQUNGLENBQUE7O1lBbkU2QixNQUFNOztBQU52QixjQUFjO0lBRDFCLFVBQVUsRUFBRTs2Q0FPaUIsTUFBTTtHQU52QixjQUFjLENBeUUxQjtTQXpFWSxjQUFjIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSwgTmdab25lIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBDb3VudGRvd25UaW1lciB7XG4gIHByaXZhdGUgZm5zOiBBcnJheTwoKGNvdW50OiBudW1iZXIpID0+IG51bWJlciB8IHZvaWQpIHwgbnVtYmVyPiA9IFtdO1xuICBwcml2YXRlIGNvbW1hbmRzOiBBcnJheTwoKSA9PiB2b2lkPiA9IFtdO1xuICBwcml2YXRlIG5leHRUaW1lOiBudW1iZXI7XG4gIHByaXZhdGUgaW5nID0gZmFsc2U7XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSBuZ1pvbmU6IE5nWm9uZSkge31cblxuICBzdGFydCgpIHtcbiAgICBpZiAodGhpcy5pbmcgPT09IHRydWUpIHJldHVybjtcblxuICAgIHRoaXMuaW5nID0gdHJ1ZTtcbiAgICB0aGlzLm5leHRUaW1lID0gK25ldyBEYXRlKCk7XG4gICAgdGhpcy5uZ1pvbmUucnVuT3V0c2lkZUFuZ3VsYXIoKCkgPT4ge1xuICAgICAgdGhpcy5wcm9jZXNzKCk7XG4gICAgfSk7XG4gIH1cblxuICBwcml2YXRlIHByb2Nlc3MoKSB7XG4gICAgd2hpbGUgKHRoaXMuY29tbWFuZHMubGVuZ3RoKSB7XG4gICAgICB0aGlzLmNvbW1hbmRzLnNoaWZ0KCkoKTtcbiAgICB9XG4gICAgbGV0IGRpZmYgPSArbmV3IERhdGUoKSAtIHRoaXMubmV4dFRpbWU7XG4gICAgY29uc3QgY291bnQgPSAxICsgTWF0aC5mbG9vcihkaWZmIC8gMTAwKTtcblxuICAgIGRpZmYgPSAxMDAgLSAoZGlmZiAlIDEwMCk7XG4gICAgdGhpcy5uZXh0VGltZSArPSAxMDAgKiBjb3VudDtcblxuICAgIGZvciAobGV0IGkgPSAwLCBsZW4gPSB0aGlzLmZucy5sZW5ndGg7IGkgPCBsZW47IGkgKz0gMikge1xuICAgICAgbGV0IGZyZXF1ZW5jeSA9IHRoaXMuZm5zW2kgKyAxXSBhcyBudW1iZXI7XG5cbiAgICAgIC8vIDEwMC9zXG4gICAgICBpZiAoMCA9PT0gZnJlcXVlbmN5KSB7XG4gICAgICAgICh0aGlzLmZuc1tpXSBhcyAoY291bnQ6IG51bWJlcikgPT4gdm9pZCkoY291bnQpO1xuICAgICAgICAvLyAxMDAwL3NcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIC8vIOWFiOaKiuacq+S9jeiHszDvvIzlho3mr4/mrKHliqAyXG4gICAgICAgIGZyZXF1ZW5jeSArPSAyICogY291bnQgLSAxO1xuXG4gICAgICAgIGNvbnN0IHN0ZXAgPSBNYXRoLmZsb29yKGZyZXF1ZW5jeSAvIDIwKTtcbiAgICAgICAgaWYgKHN0ZXAgPiAwKSB7XG4gICAgICAgICAgKHRoaXMuZm5zW2ldIGFzIChjb3VudDogbnVtYmVyKSA9PiB2b2lkKShzdGVwKTtcbiAgICAgICAgfVxuXG4gICAgICAgIC8vIOaKiuacq+S9jei/mOWOn+aIkDFcbiAgICAgICAgdGhpcy5mbnNbaSArIDFdID0gKGZyZXF1ZW5jeSAlIDIwKSArIDE7XG4gICAgICB9XG4gICAgfVxuXG4gICAgaWYgKCF0aGlzLmluZykgcmV0dXJuO1xuXG4gICAgc2V0VGltZW91dCgoKSA9PiB0aGlzLnByb2Nlc3MoKSwgZGlmZik7XG4gIH1cblxuICBhZGQoZm46ICgpID0+IHZvaWQsIGZyZXF1ZW5jeTogbnVtYmVyKTogdGhpcyB7XG4gICAgdGhpcy5jb21tYW5kcy5wdXNoKCgpID0+IHtcbiAgICAgIHRoaXMuZm5zLnB1c2goZm4pO1xuICAgICAgdGhpcy5mbnMucHVzaChmcmVxdWVuY3kgPT09IDEwMDAgPyAxIDogMCk7XG4gICAgICB0aGlzLmluZyA9IHRydWU7XG4gICAgfSk7XG4gICAgcmV0dXJuIHRoaXM7XG4gIH1cblxuICByZW1vdmUoZm46ICgpID0+IHZvaWQpOiB0aGlzIHtcbiAgICB0aGlzLmNvbW1hbmRzLnB1c2goKCkgPT4ge1xuICAgICAgY29uc3QgaSA9IHRoaXMuZm5zLmluZGV4T2YoZm4pO1xuICAgICAgaWYgKGkgIT09IC0xKSB7XG4gICAgICAgIHRoaXMuZm5zLnNwbGljZShpLCAyKTtcbiAgICAgIH1cbiAgICAgIHRoaXMuaW5nID0gdGhpcy5mbnMubGVuZ3RoID4gMDtcbiAgICB9KTtcbiAgICByZXR1cm4gdGhpcztcbiAgfVxufVxuIl19
import * as tslib_1 from "tslib";
import { Component, Input, Output, EventEmitter, ChangeDetectionStrategy, ViewEncapsulation, Inject, LOCALE_ID, ChangeDetectorRef, TemplateRef, } from '@angular/core';
import { Component, Input, OnChanges, SimpleChanges, OnDestroy, Output, EventEmitter, OnInit, SimpleChange, ChangeDetectionStrategy, ViewEncapsulation, Inject, LOCALE_ID, ChangeDetectorRef, TemplateRef, NgZone, } from '@angular/core';
import { CountdownStatus } from './interfaces';

@@ -7,3 +7,3 @@ import { CountdownTimer } from './countdown.timer';

var CountdownComponent = /** @class */ (function () {
function CountdownComponent(locale, timer, defCog, cdr) {
function CountdownComponent(locale, timer, defCog, cdr, ngZone) {
this.locale = locale;

@@ -13,2 +13,3 @@ this.timer = timer;

this.cdr = cdr;
this.ngZone = ngZone;
this.frequency = 1000;

@@ -113,2 +114,3 @@ this._notify = {};

CountdownComponent.prototype.reflow = function (count, force) {
var _this = this;
if (count === void 0) { count = 0; }

@@ -131,8 +133,12 @@ if (force === void 0) { force = false; }

if (config.notify === 0 || _notify[value]) {
this.callEvent('notify');
this.ngZone.run(function () {
_this.callEvent('notify');
});
}
if (value < 1) {
this.status = CountdownStatus.done;
this.callEvent('done');
this.destroy();
this.ngZone.run(function () {
_this.status = CountdownStatus.done;
_this.callEvent('done');
_this.destroy();
});
}

@@ -167,2 +173,9 @@ };

};
CountdownComponent.ctorParameters = function () { return [
{ type: String, decorators: [{ type: Inject, args: [LOCALE_ID,] }] },
{ type: CountdownTimer },
{ type: CountdownGlobalConfig },
{ type: ChangeDetectorRef },
{ type: NgZone }
]; };
tslib_1.__decorate([

@@ -191,3 +204,4 @@ Input(),

CountdownGlobalConfig,
ChangeDetectorRef])
ChangeDetectorRef,
NgZone])
], CountdownComponent);

@@ -197,2 +211,2 @@ return CountdownComponent;

export { CountdownComponent };
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY291bnRkb3duLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiJuZzovL25neC1jb3VudGRvd24vIiwic291cmNlcyI6WyJjb3VudGRvd24uY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQ0wsU0FBUyxFQUNULEtBQUssRUFJTCxNQUFNLEVBQ04sWUFBWSxFQUdaLHVCQUF1QixFQUN2QixpQkFBaUIsRUFDakIsTUFBTSxFQUNOLFNBQVMsRUFDVCxpQkFBaUIsRUFDakIsV0FBVyxHQUNaLE1BQU0sZUFBZSxDQUFDO0FBRXZCLE9BQU8sRUFBbUIsZUFBZSxFQUF1RCxNQUFNLGNBQWMsQ0FBQztBQUNySCxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFDbkQsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFjM0Q7SUFZRSw0QkFDNkIsTUFBYyxFQUNqQyxLQUFxQixFQUNyQixNQUE2QixFQUM3QixHQUFzQjtRQUhILFdBQU0sR0FBTixNQUFNLENBQVE7UUFDakMsVUFBSyxHQUFMLEtBQUssQ0FBZ0I7UUFDckIsV0FBTSxHQUFOLE1BQU0sQ0FBdUI7UUFDN0IsUUFBRyxHQUFILEdBQUcsQ0FBbUI7UUFmeEIsY0FBUyxHQUFHLElBQUksQ0FBQztRQUNqQixZQUFPLEdBQVEsRUFBRSxDQUFDO1FBQ2xCLFVBQUssR0FBRyxDQUFDLENBQUM7UUFDVixXQUFNLEdBQW9CLGVBQWUsQ0FBQyxHQUFHLENBQUM7UUFDOUMsY0FBUyxHQUFHLEtBQUssQ0FBQztRQUMxQixNQUFDLEdBQWtCLEVBQUUsQ0FBQztRQUlILFVBQUssR0FBRyxJQUFJLFlBQVksRUFBa0IsQ0FBQztJQU8zRCxDQUFDO0lBRUosc0JBQUksb0NBQUk7YUFBUjtZQUNFLE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQztRQUNwQixDQUFDOzs7T0FBQTtJQUVEOztPQUVHO0lBQ0gsa0NBQUssR0FBTDtRQUNFLElBQUksQ0FB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QixrQkFBa0IsQ0ErSzlCO0lBQUQseUJBQUM7Q0FBQSxBQS9LRCxJQStLQztTQS9LWSxrQkFBa0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBDb21wb25lbnQsXG4gIElucHV0LFxuICBPbkNoYW5nZXMsXG4gIFNpbXBsZUNoYW5nZXMsXG4gIE9uRGVzdHJveSxcbiAgT3V0cHV0LFxuICBFdmVudEVtaXR0ZXIsXG4gIE9uSW5pdCxcbiAgU2ltcGxlQ2hhbmdlLFxuICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgVmlld0VuY2Fwc3VsYXRpb24sXG4gIEluamVjdCxcbiAgTE9DQUxFX0lELFxuICBDaGFuZ2VEZXRlY3RvclJlZixcbiAgVGVtcGxhdGVSZWYsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5pbXBvcnQgeyBDb3VudGRvd25Db25maWcsIENvdW50ZG93blN0YXR1cywgQ291bnRkb3duRXZlbnQsIENvdW50ZG93bkV2ZW50QWN0aW9uLCBDb3VudGRvd25JdGVtIH0gZnJvbSAnLi9pbnRlcmZhY2VzJztcbmltcG9ydCB7IENvdW50ZG93blRpbWVyIH0gZnJvbSAnLi9jb3VudGRvd24udGltZXInO1xuaW1wb3J0IHsgQ291bnRkb3duR2xvYmFsQ29uZmlnIH0gZnJvbSAnLi9jb3VudGRvd24uY29uZmlnJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnY291bnRkb3duJyxcbiAgdGVtcGxhdGU6IGBcbiAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiIXJlbmRlclwiPlxuICAgICAgPHNwYW4gW2lubmVySFRNTF09XCJpLnRleHRcIj48L3NwYW4+XG4gICAgPC9uZy1jb250YWluZXI+XG4gICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cInJlbmRlcjsgY29udGV4dDogeyAkaW1wbGljaXQ6IGkgfVwiPjwvbmctY29udGFpbmVyPlxuICBgLFxuICBob3N0OiB7ICdbY2xhc3MuY291bnQtZG93bl0nOiAndHJ1ZScgfSxcbiAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG59KVxuZXhwb3J0IGNsYXNzIENvdW50ZG93bkNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgT25DaGFuZ2VzLCBPbkRlc3Ryb3kge1xuICBwcml2YXRlIGZyZXF1ZW5jeSA9IDEwMDA7XG4gIHByaXZhdGUgX25vdGlmeTogYW55ID0ge307XG4gIHByaXZhdGUgX2xlZnQgPSAwO1xuICBwcml2YXRlIHN0YXR1czogQ291bnRkb3duU3RhdHVzID0gQ291bnRkb3duU3RhdHVzLmluZztcbiAgcHJpdmF0ZSBpc0Rlc3Ryb3kgPSBmYWxzZTtcbiAgaTogQ291bnRkb3duSXRlbSA9IHt9O1xuXG4gIEBJbnB1dCgpIGNvbmZpZzogQ291bnRkb3duQ29uZmlnO1xuICBASW5wdXQoKSByZW5kZXI6IFRlbXBsYXRlUmVmPHZvaWQ+O1xuICBAT3V0cHV0KCkgcmVhZG9ubHkgZXZlbnQgPSBuZXcgRXZlbnRFbWl0dGVyPENvdW50ZG93bkV2ZW50PigpO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIEBJbmplY3QoTE9DQUxFX0lEKSBwcml2YXRlIGxvY2FsZTogc3RyaW5nLFxuICAgIHByaXZhdGUgdGltZXI6IENvdW50ZG93blRpbWVyLFxuICAgIHByaXZhdGUgZGVmQ29nOiBDb3VudGRvd25HbG9iYWxDb25maWcsXG4gICAgcHJpdmF0ZSBjZHI6IENoYW5nZURldGVjdG9yUmVmLFxuICApIHt9XG5cbiAgZ2V0IGxlZnQoKSB7XG4gICAgcmV0dXJuIHRoaXMuX2xlZnQ7XG4gIH1cblxuICAvKipcbiAgICogU3RhcnQgY291bnRkb3duLCB5b3UgbXVzdCBtYW51YWxseSBjYWxsIHdoZW4gYGRlbWFuZDogZmFsc2VgXG4gICAqL1xuICBiZWdpbigpIHtcbiAgICB0aGlzLnN0YXR1cyA9IENvdW50ZG93blN0YXR1cy5pbmc7XG4gICAgdGhpcy5jYWxsRXZlbnQoJ3N0YXJ0Jyk7XG4gIH1cblxuICAvKipcbiAgICogUmVzdGFydCBjb3VudGRvd25cbiAgICovXG4gIHJlc3RhcnQoKTogdm9pZCB7XG4gICAgaWYgKHRoaXMuc3RhdHVzICE9PSBDb3VudGRvd25TdGF0dXMuc3RvcCkge1xuICAgICAgdGhpcy5kZXN0cm95KCk7XG4gICAgfVxuICAgIHRoaXMuaW5pdCgpO1xuICAgIHRoaXMuY2FsbEV2ZW50KCdyZXN0YXJ0Jyk7XG4gIH1cblxuICAvKipcbiAgICogU3RvcCBjb3VudGRvd24sIG11c3QgY2FsbCBgcmVzdGFydGAgd2hlbiBzdG9wcGVkLCBpdCdzIGRpZmZlcmVudCBmcm9tIHBhdXNlLCB1bmFibGUgdG8gcmVjb3ZlclxuICAgKi9cbiAgc3RvcCgpIHtcbiAgICBpZiAodGhpcy5zdGF0dXMgPT09IENvdW50ZG93blN0YXR1cy5zdG9wKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIHRoaXMuc3RhdHVzID0gQ291bnRkb3duU3RhdHVzLnN0b3A7XG4gICAgdGhpcy5kZXN0cm95KCk7XG4gICAgdGhpcy5jYWxsRXZlbnQoJ3N0b3AnKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBQYXVzZSBjb3VudGRvd24sIHlvdSBjYW4gdXNlIGByZXN1bWVgIHRvIHJlY292ZXIgYWdhaW5cbiAgICovXG4gIHBhdXNlKCkge1xuICAgIGlmICh0aGlzLnN0YXR1cyA9PT0gQ291bnRkb3duU3RhdHVzLnN0b3AgfHwgdGhpcy5zdGF0dXMgPT09IENvdW50ZG93blN0YXR1cy5wYXVzZSkgcmV0dXJuO1xuICAgIHRoaXMuc3RhdHVzID0gQ291bnRkb3duU3RhdHVzLnBhdXNlO1xuICAgIHRoaXMuY2FsbEV2ZW50KCdwYXVzZScpO1xuICB9XG5cbiAgLyoqXG4gICAqIFJlc3VtZSBjb3VudGRvd25cbiAgICovXG4gIHJlc3VtZSgpIHtcbiAgICBpZiAodGhpcy5zdGF0dXMgPT09IENvdW50ZG93blN0YXR1cy5zdG9wIHx8IHRoaXMuc3RhdHVzICE9PSBDb3VudGRvd25TdGF0dXMucGF1c2UpIHJldHVybjtcbiAgICB0aGlzLnN0YXR1cyA9IENvdW50ZG93blN0YXR1cy5pbmc7XG4gICAgdGhpcy5jYWxsRXZlbnQoJ3Jlc3VtZScpO1xuICB9XG5cbiAgcHJpdmF0ZSBjYWxsRXZlbnQoYWN0aW9uOiBDb3VudGRvd25FdmVudEFjdGlvbikge1xuICAgIHRoaXMuZXZlbnQuZW1pdCh7IGFjdGlvbiwgbGVmdDogdGhpcy5fbGVmdCwgc3RhdHVzOiB0aGlzLnN0YXR1cywgdGV4dDogdGhpcy5pLnRleHQgfSk7XG4gIH1cblxuICBwcml2YXRlIGluaXQoKSB7XG4gICAgY29uc3QgeyBsb2NhbGUsIGRlZkNvZyB9ID0gdGhpcztcbiAgICBjb25zdCBjb25maWcgPSAodGhpcy5jb25maWcgPSB7XG4gICAgICAuLi5uZXcgQ291bnRkb3duR2xvYmFsQ29uZmlnKGxvY2FsZSksXG4gICAgICAuLi5kZWZDb2csXG4gICAgICAuLi50aGlzLmNvbmZpZyxcbiAgICB9KTtcbiAgICAvLyB0c2xpbnQ6ZGlzYWJsZS1uZXh0LWxpbmU6IG5vLWJpdHdpc2VcbiAgICBjb25zdCBmcnEgPSAodGhpcy5mcmVxdWVuY3kgPSB+Y29uZmlnLmZvcm1hdC5pbmRleE9mKCdTJykgPyAxMDAgOiAxMDAwKTtcbiAgICB0aGlzLnN0YXR1cyA9IGNvbmZpZy5kZW1hbmQgPyBDb3VudGRvd25TdGF0dXMucGF1c2UgOiBDb3VudGRvd25TdGF0dXMuaW5nO1xuXG4gICAgdGhpcy5nZXRMZWZ0KCk7XG5cbiAgICAvLyBiaW5kIHJlZmxvdyB0byBtZVxuICAgIGNvbnN0IF9yZWZsb3cgPSB0aGlzLnJlZmxvdztcbiAgICB0aGlzLnJlZmxvdyA9IChjb3VudDogbnVtYmVyID0gMCwgZm9yY2U6IGJvb2xlYW4gPSBmYWxzZSkgPT4gX3JlZmxvdy5hcHBseSh0aGlzLCBbY291bnQsIGZvcmNlXSk7XG5cbiAgICBpZiAoQXJyYXkuaXNBcnJheShjb25maWcubm90aWZ5KSkge1xuICAgICAgY29uZmlnLm5vdGlmeS5mb3JFYWNoKCh0aW1lOiBudW1iZXIpID0+IHtcbiAgICAgICAgaWYgKHRpbWUgPCAxKSB0aHJvdyBuZXcgRXJyb3IoYFRoZSBub3RpZnkgY29uZmlnIG11c3QgYmUgYSBwb3NpdGl2ZSBpbnRlZ2VyLmApO1xuXG4gICAgICAgIHRpbWUgPSB0aW1lICogMTAwMDtcbiAgICAgICAgdGltZSA9IHRpbWUgLSAodGltZSAlIGZycSk7XG4gICAgICAgIHRoaXMuX25vdGlmeVt0aW1lXSA9IHRydWU7XG4gICAgICB9KTtcbiAgICB9XG5cbiAgICB0aGlzLnRpbWVyLmFkZCh0aGlzLnJlZmxvdywgZnJxKS5zdGFydCgpO1xuXG4gICAgdGhpcy5yZWZsb3coMCwgdHJ1ZSk7XG4gIH1cblxuICBwcml2YXRlIGRlc3Ryb3koKSB7XG4gICAgdGhpcy50aW1lci5yZW1vdmUodGhpcy5yZWZsb3cpO1xuICAgIHJldHVybiB0aGlzO1xuICB9XG5cbiAgLyoqXG4gICAqIOabtOaWsOaXtumSn1xuICAgKi9cbiAgcHJpdmF0ZSByZWZsb3coY291bnQ6IG51bWJlciA9IDAsIGZvcmNlOiBib29sZWFuID0gZmFsc2UpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5pc0Rlc3Ryb3kpIHJldHVybjtcblxuICAgIGNvbnN0IHsgc3RhdHVzLCBjb25maWcsIF9ub3RpZnkgfSA9IHRoaXM7XG4gICAgaWYgKCFmb3JjZSAmJiBzdGF0dXMgIT09IENvdW50ZG93blN0YXR1cy5pbmcpIHJldHVybjtcblxuICAgIGNvbnN0IHZhbHVlID0gKHRoaXMuX2xlZnQgPSB0aGlzLl9sZWZ0IC0gdGhpcy5mcmVxdWVuY3kgKiBjb3VudCk7XG4gICAgdGhpcy5pID0ge1xuICAgICAgdmFsdWUsXG4gICAgICB0ZXh0OiBjb25maWcuZm9ybWF0RGF0ZSh7IGRhdGU6IHZhbHVlLCBmb3JtYXRTdHI6IGNvbmZpZy5mb3JtYXQsIHRpbWV6b25lOiBjb25maWcudGltZXpvbmUgfSksXG4gICAgfTtcbiAgICBpZiAodHlwZW9mIGNvbmZpZy5wcmV0dHlUZXh0ID09PSAnZnVuY3Rpb24nKSB7XG4gICAgICB0aGlzLmkudGV4dCA9IGNvbmZpZy5wcmV0dHlUZXh0KHRoaXMuaS50ZXh0KTtcbiAgICB9XG4gICAgdGhpcy5jZHIuZGV0ZWN0Q2hhbmdlcygpO1xuXG4gICAgaWYgKGNvbmZpZy5ub3RpZnkgPT09IDAgfHwgX25vdGlmeVt2YWx1ZV0pIHtcbiAgICAgIHRoaXMuY2FsbEV2ZW50KCdub3RpZnknKTtcbiAgICB9XG5cbiAgICBpZiAodmFsdWUgPCAxKSB7XG4gICAgICB0aGlzLnN0YXR1cyA9IENvdW50ZG93blN0YXR1cy5kb25lO1xuICAgICAgdGhpcy5jYWxsRXZlbnQoJ2RvbmUnKTtcbiAgICAgIHRoaXMuZGVzdHJveSgpO1xuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiDojrflj5blgJLorqHml7bliankvZnluKfmlbBcbiAgICovXG4gIHByaXZhdGUgZ2V0TGVmdCgpOiB2b2lkIHtcbiAgICBjb25zdCB7IGNvbmZpZywgZnJlcXVlbmN5IH0gPSB0aGlzO1xuICAgIGxldCBsZWZ0ID0gY29uZmlnLmxlZnRUaW1lICogMTAwMDtcbiAgICBjb25zdCBlbmQgPSBjb25maWcuc3RvcFRpbWU7XG5cbiAgICBpZiAoIWxlZnQgJiYgZW5kKSB7XG4gICAgICBsZWZ0ID0gZW5kIC0gbmV3IERhdGUoKS5nZXRUaW1lKCk7XG4gICAgfVxuXG4gICAgdGhpcy5fbGVmdCA9IGxlZnQgLSAobGVmdCAlIGZyZXF1ZW5jeSk7XG4gIH1cblxuICBuZ09uSW5pdCgpIHtcbiAgICB0aGlzLmluaXQoKTtcbiAgICBpZiAoIXRoaXMuY29uZmlnLmRlbWFuZCkge1xuICAgICAgdGhpcy5iZWdpbigpO1xuICAgIH1cbiAgfVxuXG4gIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgIHRoaXMuaXNEZXN0cm95ID0gdHJ1ZTtcbiAgICB0aGlzLmRlc3Ryb3koKTtcbiAgfVxuXG4gIG5nT25DaGFuZ2VzKGNoYW5nZXM6IHsgW1AgaW4ga2V5b2YgdGhpc10/OiBTaW1wbGVDaGFuZ2UgfSAmIFNpbXBsZUNoYW5nZXMpOiB2b2lkIHtcbiAgICBpZiAoIWNoYW5nZXMuY29uZmlnLmZpcnN0Q2hhbmdlKSB7XG4gICAgICB0aGlzLnJlc3RhcnQoKTtcbiAgICB9XG4gIH1cbn1cbiJdfQ==
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY291bnRkb3duLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiJuZzovL25neC1jb3VudGRvd24vIiwic291cmNlcyI6WyJjb3VudGRvd24uY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQ0wsU0FBUyxFQUNULEtBQUssRUFDTCxTQUFTLEVBQ1QsYUFBYSxFQUNiLFNBQVMsRUFDVCxNQUFNLEVBQ04sWUFBWSxFQUNaLE1BQU0sRUFDTixZQUFZLEVBQ1osdUJBQXVCLEVBQ3ZCLGlCQUFpQixFQUNqQixNQUFNLEVBQ04sU0FBUyxFQUNULGlCQUFpQixFQUNqQixXQUFXLEVBQ1gsTUFBTSxHQUNQLE1BQU0sZUFBZSxDQUFDO0FBRXZCLE9BQU8sRUFBbUIsZUFBZSxFQUF1RCxNQUFNLGNBQWMsQ0FBQztBQUNySCxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFDbkQsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFjM0Q7SUFZRSw0QkFDNkIsTUFBYyxFQUNqQyxLQUFxQixFQUNyQixNQUE2QixFQUM3QixHQUFzQixFQUN0QixNQUFjO1FBSkssV0FBTSxHQUFOLE1BQU0sQ0FBUTtRQUNqQyxVQUFLLEdBQUwsS0FBSyxDQUFnQjtRQUNyQixXQUFNLEdBQU4sTUFBTSxDQUF1QjtRQUM3QixRQUFHLEdBQUgsR0FBRyxDQUFtQjtRQUN0QixXQUFNLEdBQU4sTUFBTSxDQUFRO1FBaEJoQixjQUFTLEdBQUcsSUFBSSxDQUFDO1FBQ2pCLFlBQU8sR0FBUSxFQUFFLENBQUM7UUFDbEIsVUFBSyxHQUFHLENBQUMsQ0FBQztRQUNWLFdBQU0sR0FBb0IsZUFBZSxDQUFDLEdBQUcsQ0FBQztRQUM5QyxjQUFTLEdBQUcsS0FBSyxDQUFDO1FBQzFCLE1BQUMsR0FBa0IsRUFBRSxDQUFDO1FBSUgsVUFBSyxHQUFHLElBQUksWUFBWSxFQUFrQixDQUFDO0lBUTNELENBQUM7SUFFSixzQkFBSSxv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O0lBQ3pCO1FBQVQsTUFBTSxFQUFFOztxREFBcUQ7SUFWbkQsa0JBQWtCO1FBWjlCLFNBQVMsQ0FBQztZQUNULFFBQVEsRUFBRSxXQUFXO1lBQ3JCLFFBQVEsRUFBRSx3TUFLVDtZQUNELElBQUksRUFBRSxFQUFFLG9CQUFvQixFQUFFLE1BQU0sRUFBRTtZQUN0QyxhQUFhLEVBQUUsaUJBQWlCLENBQUMsSUFBSTtZQUNyQyxlQUFlLEVBQUUsdUJBQXVCLENBQUMsTUFBTTtTQUNoRCxDQUFDO1FBY0csbUJBQUEsTUFBTSxDQUFDLFNBQVMsQ0FBQyxDQUFBO3lEQUNILGNBQWM7WUFDYixxQkFBcUI7WUFDeEIsaUJBQWlCO1lBQ2QsTUFBTTtPQWpCYixrQkFBa0IsQ0FvTDlCO0lBQUQseUJBQUM7Q0FBQSxBQXBMRCxJQW9MQztTQXBMWSxrQkFBa0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBDb21wb25lbnQsXG4gIElucHV0LFxuICBPbkNoYW5nZXMsXG4gIFNpbXBsZUNoYW5nZXMsXG4gIE9uRGVzdHJveSxcbiAgT3V0cHV0LFxuICBFdmVudEVtaXR0ZXIsXG4gIE9uSW5pdCxcbiAgU2ltcGxlQ2hhbmdlLFxuICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgVmlld0VuY2Fwc3VsYXRpb24sXG4gIEluamVjdCxcbiAgTE9DQUxFX0lELFxuICBDaGFuZ2VEZXRlY3RvclJlZixcbiAgVGVtcGxhdGVSZWYsXG4gIE5nWm9uZSxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmltcG9ydCB7IENvdW50ZG93bkNvbmZpZywgQ291bnRkb3duU3RhdHVzLCBDb3VudGRvd25FdmVudCwgQ291bnRkb3duRXZlbnRBY3Rpb24sIENvdW50ZG93bkl0ZW0gfSBmcm9tICcuL2ludGVyZmFjZXMnO1xuaW1wb3J0IHsgQ291bnRkb3duVGltZXIgfSBmcm9tICcuL2NvdW50ZG93bi50aW1lcic7XG5pbXBvcnQgeyBDb3VudGRvd25HbG9iYWxDb25maWcgfSBmcm9tICcuL2NvdW50ZG93bi5jb25maWcnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdjb3VudGRvd24nLFxuICB0ZW1wbGF0ZTogYFxuICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCIhcmVuZGVyXCI+XG4gICAgICA8c3BhbiBbaW5uZXJIVE1MXT1cImkudGV4dFwiPjwvc3Bhbj5cbiAgICA8L25nLWNvbnRhaW5lcj5cbiAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwicmVuZGVyOyBjb250ZXh0OiB7ICRpbXBsaWNpdDogaSB9XCI+PC9uZy1jb250YWluZXI+XG4gIGAsXG4gIGhvc3Q6IHsgJ1tjbGFzcy5jb3VudC1kb3duXSc6ICd0cnVlJyB9LFxuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbn0pXG5leHBvcnQgY2xhc3MgQ291bnRkb3duQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBPbkNoYW5nZXMsIE9uRGVzdHJveSB7XG4gIHByaXZhdGUgZnJlcXVlbmN5ID0gMTAwMDtcbiAgcHJpdmF0ZSBfbm90aWZ5OiBhbnkgPSB7fTtcbiAgcHJpdmF0ZSBfbGVmdCA9IDA7XG4gIHByaXZhdGUgc3RhdHVzOiBDb3VudGRvd25TdGF0dXMgPSBDb3VudGRvd25TdGF0dXMuaW5nO1xuICBwcml2YXRlIGlzRGVzdHJveSA9IGZhbHNlO1xuICBpOiBDb3VudGRvd25JdGVtID0ge307XG5cbiAgQElucHV0KCkgY29uZmlnOiBDb3VudGRvd25Db25maWc7XG4gIEBJbnB1dCgpIHJlbmRlcjogVGVtcGxhdGVSZWY8dm9pZD47XG4gIEBPdXRwdXQoKSByZWFkb25seSBldmVudCA9IG5ldyBFdmVudEVtaXR0ZXI8Q291bnRkb3duRXZlbnQ+KCk7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgQEluamVjdChMT0NBTEVfSUQpIHByaXZhdGUgbG9jYWxlOiBzdHJpbmcsXG4gICAgcHJpdmF0ZSB0aW1lcjogQ291bnRkb3duVGltZXIsXG4gICAgcHJpdmF0ZSBkZWZDb2c6IENvdW50ZG93bkdsb2JhbENvbmZpZyxcbiAgICBwcml2YXRlIGNkcjogQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gICAgcHJpdmF0ZSBuZ1pvbmU6IE5nWm9uZSxcbiAgKSB7fVxuXG4gIGdldCBsZWZ0KCkge1xuICAgIHJldHVybiB0aGlzLl9sZWZ0O1xuICB9XG5cbiAgLyoqXG4gICAqIFN0YXJ0IGNvdW50ZG93biwgeW91IG11c3QgbWFudWFsbHkgY2FsbCB3aGVuIGBkZW1hbmQ6IGZhbHNlYFxuICAgKi9cbiAgYmVnaW4oKSB7XG4gICAgdGhpcy5zdGF0dXMgPSBDb3VudGRvd25TdGF0dXMuaW5nO1xuICAgIHRoaXMuY2FsbEV2ZW50KCdzdGFydCcpO1xuICB9XG5cbiAgLyoqXG4gICAqIFJlc3RhcnQgY291bnRkb3duXG4gICAqL1xuICByZXN0YXJ0KCk6IHZvaWQge1xuICAgIGlmICh0aGlzLnN0YXR1cyAhPT0gQ291bnRkb3duU3RhdHVzLnN0b3ApIHtcbiAgICAgIHRoaXMuZGVzdHJveSgpO1xuICAgIH1cbiAgICB0aGlzLmluaXQoKTtcbiAgICB0aGlzLmNhbGxFdmVudCgncmVzdGFydCcpO1xuICB9XG5cbiAgLyoqXG4gICAqIFN0b3AgY291bnRkb3duLCBtdXN0IGNhbGwgYHJlc3RhcnRgIHdoZW4gc3RvcHBlZCwgaXQncyBkaWZmZXJlbnQgZnJvbSBwYXVzZSwgdW5hYmxlIHRvIHJlY292ZXJcbiAgICovXG4gIHN0b3AoKSB7XG4gICAgaWYgKHRoaXMuc3RhdHVzID09PSBDb3VudGRvd25TdGF0dXMuc3RvcCkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICB0aGlzLnN0YXR1cyA9IENvdW50ZG93blN0YXR1cy5zdG9wO1xuICAgIHRoaXMuZGVzdHJveSgpO1xuICAgIHRoaXMuY2FsbEV2ZW50KCdzdG9wJyk7XG4gIH1cblxuICAvKipcbiAgICogUGF1c2UgY291bnRkb3duLCB5b3UgY2FuIHVzZSBgcmVzdW1lYCB0byByZWNvdmVyIGFnYWluXG4gICAqL1xuICBwYXVzZSgpIHtcbiAgICBpZiAodGhpcy5zdGF0dXMgPT09IENvdW50ZG93blN0YXR1cy5zdG9wIHx8IHRoaXMuc3RhdHVzID09PSBDb3VudGRvd25TdGF0dXMucGF1c2UpIHJldHVybjtcbiAgICB0aGlzLnN0YXR1cyA9IENvdW50ZG93blN0YXR1cy5wYXVzZTtcbiAgICB0aGlzLmNhbGxFdmVudCgncGF1c2UnKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBSZXN1bWUgY291bnRkb3duXG4gICAqL1xuICByZXN1bWUoKSB7XG4gICAgaWYgKHRoaXMuc3RhdHVzID09PSBDb3VudGRvd25TdGF0dXMuc3RvcCB8fCB0aGlzLnN0YXR1cyAhPT0gQ291bnRkb3duU3RhdHVzLnBhdXNlKSByZXR1cm47XG4gICAgdGhpcy5zdGF0dXMgPSBDb3VudGRvd25TdGF0dXMuaW5nO1xuICAgIHRoaXMuY2FsbEV2ZW50KCdyZXN1bWUnKTtcbiAgfVxuXG4gIHByaXZhdGUgY2FsbEV2ZW50KGFjdGlvbjogQ291bnRkb3duRXZlbnRBY3Rpb24pIHtcbiAgICB0aGlzLmV2ZW50LmVtaXQoeyBhY3Rpb24sIGxlZnQ6IHRoaXMuX2xlZnQsIHN0YXR1czogdGhpcy5zdGF0dXMsIHRleHQ6IHRoaXMuaS50ZXh0IH0pO1xuICB9XG5cbiAgcHJpdmF0ZSBpbml0KCkge1xuICAgIGNvbnN0IHsgbG9jYWxlLCBkZWZDb2cgfSA9IHRoaXM7XG4gICAgY29uc3QgY29uZmlnID0gKHRoaXMuY29uZmlnID0ge1xuICAgICAgLi4ubmV3IENvdW50ZG93bkdsb2JhbENvbmZpZyhsb2NhbGUpLFxuICAgICAgLi4uZGVmQ29nLFxuICAgICAgLi4udGhpcy5jb25maWcsXG4gICAgfSk7XG4gICAgLy8gdHNsaW50OmRpc2FibGUtbmV4dC1saW5lOiBuby1iaXR3aXNlXG4gICAgY29uc3QgZnJxID0gKHRoaXMuZnJlcXVlbmN5ID0gfmNvbmZpZy5mb3JtYXQuaW5kZXhPZignUycpID8gMTAwIDogMTAwMCk7XG4gICAgdGhpcy5zdGF0dXMgPSBjb25maWcuZGVtYW5kID8gQ291bnRkb3duU3RhdHVzLnBhdXNlIDogQ291bnRkb3duU3RhdHVzLmluZztcblxuICAgIHRoaXMuZ2V0TGVmdCgpO1xuXG4gICAgLy8gYmluZCByZWZsb3cgdG8gbWVcbiAgICBjb25zdCBfcmVmbG93ID0gdGhpcy5yZWZsb3c7XG4gICAgdGhpcy5yZWZsb3cgPSAoY291bnQ6IG51bWJlciA9IDAsIGZvcmNlOiBib29sZWFuID0gZmFsc2UpID0+IF9yZWZsb3cuYXBwbHkodGhpcywgW2NvdW50LCBmb3JjZV0pO1xuXG4gICAgaWYgKEFycmF5LmlzQXJyYXkoY29uZmlnLm5vdGlmeSkpIHtcbiAgICAgIGNvbmZpZy5ub3RpZnkuZm9yRWFjaCgodGltZTogbnVtYmVyKSA9PiB7XG4gICAgICAgIGlmICh0aW1lIDwgMSkgdGhyb3cgbmV3IEVycm9yKGBUaGUgbm90aWZ5IGNvbmZpZyBtdXN0IGJlIGEgcG9zaXRpdmUgaW50ZWdlci5gKTtcblxuICAgICAgICB0aW1lID0gdGltZSAqIDEwMDA7XG4gICAgICAgIHRpbWUgPSB0aW1lIC0gKHRpbWUgJSBmcnEpO1xuICAgICAgICB0aGlzLl9ub3RpZnlbdGltZV0gPSB0cnVlO1xuICAgICAgfSk7XG4gICAgfVxuXG4gICAgdGhpcy50aW1lci5hZGQodGhpcy5yZWZsb3csIGZycSkuc3RhcnQoKTtcblxuICAgIHRoaXMucmVmbG93KDAsIHRydWUpO1xuICB9XG5cbiAgcHJpdmF0ZSBkZXN0cm95KCkge1xuICAgIHRoaXMudGltZXIucmVtb3ZlKHRoaXMucmVmbG93KTtcbiAgICByZXR1cm4gdGhpcztcbiAgfVxuXG4gIC8qKlxuICAgKiDmm7TmlrDml7bpkp9cbiAgICovXG4gIHByaXZhdGUgcmVmbG93KGNvdW50OiBudW1iZXIgPSAwLCBmb3JjZTogYm9vbGVhbiA9IGZhbHNlKTogdm9pZCB7XG4gICAgaWYgKHRoaXMuaXNEZXN0cm95KSByZXR1cm47XG5cbiAgICBjb25zdCB7IHN0YXR1cywgY29uZmlnLCBfbm90aWZ5IH0gPSB0aGlzO1xuICAgIGlmICghZm9yY2UgJiYgc3RhdHVzICE9PSBDb3VudGRvd25TdGF0dXMuaW5nKSByZXR1cm47XG5cbiAgICBjb25zdCB2YWx1ZSA9ICh0aGlzLl9sZWZ0ID0gdGhpcy5fbGVmdCAtIHRoaXMuZnJlcXVlbmN5ICogY291bnQpO1xuICAgIHRoaXMuaSA9IHtcbiAgICAgIHZhbHVlLFxuICAgICAgdGV4dDogY29uZmlnLmZvcm1hdERhdGUoeyBkYXRlOiB2YWx1ZSwgZm9ybWF0U3RyOiBjb25maWcuZm9ybWF0LCB0aW1lem9uZTogY29uZmlnLnRpbWV6b25lIH0pLFxuICAgIH07XG4gICAgaWYgKHR5cGVvZiBjb25maWcucHJldHR5VGV4dCA9PT0gJ2Z1bmN0aW9uJykge1xuICAgICAgdGhpcy5pLnRleHQgPSBjb25maWcucHJldHR5VGV4dCh0aGlzLmkudGV4dCk7XG4gICAgfVxuICAgIHRoaXMuY2RyLmRldGVjdENoYW5nZXMoKTtcblxuICAgIGlmIChjb25maWcubm90aWZ5ID09PSAwIHx8IF9ub3RpZnlbdmFsdWVdKSB7XG4gICAgICB0aGlzLm5nWm9uZS5ydW4oKCkgPT4ge1xuICAgICAgICB0aGlzLmNhbGxFdmVudCgnbm90aWZ5Jyk7XG4gICAgICB9KTtcbiAgICB9XG5cbiAgICBpZiAodmFsdWUgPCAxKSB7XG4gICAgICB0aGlzLm5nWm9uZS5ydW4oKCkgPT4ge1xuICAgICAgICB0aGlzLnN0YXR1cyA9IENvdW50ZG93blN0YXR1cy5kb25lO1xuICAgICAgICB0aGlzLmNhbGxFdmVudCgnZG9uZScpO1xuICAgICAgICB0aGlzLmRlc3Ryb3koKTtcbiAgICAgIH0pO1xuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiDojrflj5blgJLorqHml7bliankvZnluKfmlbBcbiAgICovXG4gIHByaXZhdGUgZ2V0TGVmdCgpOiB2b2lkIHtcbiAgICBjb25zdCB7IGNvbmZpZywgZnJlcXVlbmN5IH0gPSB0aGlzO1xuICAgIGxldCBsZWZ0ID0gY29uZmlnLmxlZnRUaW1lICogMTAwMDtcbiAgICBjb25zdCBlbmQgPSBjb25maWcuc3RvcFRpbWU7XG5cbiAgICBpZiAoIWxlZnQgJiYgZW5kKSB7XG4gICAgICBsZWZ0ID0gZW5kIC0gbmV3IERhdGUoKS5nZXRUaW1lKCk7XG4gICAgfVxuXG4gICAgdGhpcy5fbGVmdCA9IGxlZnQgLSAobGVmdCAlIGZyZXF1ZW5jeSk7XG4gIH1cblxuICBuZ09uSW5pdCgpIHtcbiAgICB0aGlzLmluaXQoKTtcbiAgICBpZiAoIXRoaXMuY29uZmlnLmRlbWFuZCkge1xuICAgICAgdGhpcy5iZWdpbigpO1xuICAgIH1cbiAgfVxuXG4gIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgIHRoaXMuaXNEZXN0cm95ID0gdHJ1ZTtcbiAgICB0aGlzLmRlc3Ryb3koKTtcbiAgfVxuXG4gIG5nT25DaGFuZ2VzKGNoYW5nZXM6IHsgW1AgaW4ga2V5b2YgdGhpc10/OiBTaW1wbGVDaGFuZ2UgfSAmIFNpbXBsZUNoYW5nZXMpOiB2b2lkIHtcbiAgICBpZiAoIWNoYW5nZXMuY29uZmlnLmZpcnN0Q2hhbmdlKSB7XG4gICAgICB0aGlzLnJlc3RhcnQoKTtcbiAgICB9XG4gIH1cbn1cbiJdfQ==

@@ -19,2 +19,5 @@ import * as tslib_1 from "tslib";

}
CountdownGlobalConfig.ctorParameters = function () { return [
{ type: String, decorators: [{ type: Inject, args: [LOCALE_ID,] }] }
]; };
CountdownGlobalConfig.ngInjectableDef = i0.ɵɵdefineInjectable({ factory: function CountdownGlobalConfig_Factory() { return new CountdownGlobalConfig(i0.ɵɵinject(i0.LOCALE_ID)); }, token: CountdownGlobalConfig, providedIn: "root" });

@@ -29,2 +32,2 @@ CountdownGlobalConfig = tslib_1.__decorate([

export { CountdownGlobalConfig };
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY291bnRkb3duLmNvbmZpZy5qcyIsInNvdXJjZVJvb3QiOiJuZzovL25neC1jb3VudGRvd24vIiwic291cmNlcyI6WyJjb3VudGRvd24uY29uZmlnLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxzQ0FBc0M7QUFDdEMsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUUsU0FBUyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzlELE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQzs7QUFJN0M7SUFDRSwrQkFBdUMsTUFBYztRQUFyRCxpQkFBeUQ7UUFBbEIsV0FBTSxHQUFOLE1BQU0sQ0FBUTtRQUVyRCxXQUFNLEdBQWEsS0FBSyxDQUFDO1FBRXpCLGFBQVEsR0FBWSxDQUFDLENBQUM7UUFFdEIsV0FBTSxHQUFZLFVBQVUsQ0FBQztRQUU3QixhQUFRLEdBQVksT0FBTyxDQUFDO1FBRTVCLGVBQVUsR0FBdUIsVUFBQyxFQUE2QjtnQkFBM0IsY0FBSSxFQUFFLHdCQUFTLEVBQUUsc0JBQVE7WUFDM0QsT0FBTyxVQUFVLENBQUMsSUFBSSxJQUFJLENBQUMsSUFBSSxDQUFDLEVBQUUsU0FBUyxFQUFFLEtBQUksQ0FBQyxNQUFNLEVBQUUsUUFBUSxJQUFJLEtBQUksQ0FBQyxRQUFRLElBQUksT0FBTyxDQUFDLENBQUM7UUFDbEcsQ0FBQyxDQUFDO0lBWnNELENBQUM7O0lBRDlDLHFCQUFxQjtRQURqQyxVQUFVLENBQUMsRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFFLENBQUM7UUFFcEIsbUJBQUEsTUFBTSxDQUFDLFNBQVMsQ0FBQyxDQUFBOztPQURuQixxQkFBcUIsQ0FjakM7Z0NBcEJEO0NBb0JDLEFBZEQsSUFjQztTQWRZLHFCQUFxQiIsInNvdXJjZXNDb250ZW50IjpbIi8vIHRzbGludDpkaXNhYmxlOiBuby1pbmZlcnJhYmxlLXR5cGVzXG5pbXBvcnQgeyBJbmplY3RhYmxlLCBJbmplY3QsIExPQ0FMRV9JRCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgZm9ybWF0RGF0ZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBDb3VudGRvd25Gb3JtYXRGbiwgQ291bnRkb3duQ29uZmlnIH0gZnJvbSAnLi9pbnRlcmZhY2VzJztcblxuQEluamVjdGFibGUoeyBwcm92aWRlZEluOiAncm9vdCcgfSlcbmV4cG9ydCBjbGFzcyBDb3VudGRvd25HbG9iYWxDb25maWcgaW1wbGVtZW50cyBDb3VudGRvd25Db25maWcge1xuICBjb25zdHJ1Y3RvcihASW5qZWN0KExPQ0FMRV9JRCkgcHJpdmF0ZSBsb2NhbGU6IHN0cmluZykge31cblxuICBkZW1hbmQ/OiBib29sZWFuID0gZmFsc2U7XG5cbiAgbGVmdFRpbWU/OiBudW1iZXIgPSAwO1xuXG4gIGZvcm1hdD86IHN0cmluZyA9ICdISDptbTpzcyc7XG5cbiAgdGltZXpvbmU/OiBzdHJpbmcgPSAnKzAwMDAnO1xuXG4gIGZvcm1hdERhdGU/OiBDb3VudGRvd25Gb3JtYXRGbiA9ICh7IGRhdGUsIGZvcm1hdFN0ciwgdGltZXpvbmUgfSkgPT4ge1xuICAgIHJldHVybiBmb3JtYXREYXRlKG5ldyBEYXRlKGRhdGUpLCBmb3JtYXRTdHIsIHRoaXMubG9jYWxlLCB0aW1lem9uZSB8fCB0aGlzLnRpbWV6b25lIHx8ICcrMDAwMCcpO1xuICB9O1xufVxuIl19
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY291bnRkb3duLmNvbmZpZy5qcyIsInNvdXJjZVJvb3QiOiJuZzovL25neC1jb3VudGRvd24vIiwic291cmNlcyI6WyJjb3VudGRvd24uY29uZmlnLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxzQ0FBc0M7QUFDdEMsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUUsU0FBUyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzlELE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQzs7QUFJN0M7SUFDRSwrQkFBdUMsTUFBYztRQUFyRCxpQkFBeUQ7UUFBbEIsV0FBTSxHQUFOLE1BQU0sQ0FBUTtRQUVyRCxXQUFNLEdBQWEsS0FBSyxDQUFDO1FBRXpCLGFBQVEsR0FBWSxDQUFDLENBQUM7UUFFdEIsV0FBTSxHQUFZLFVBQVUsQ0FBQztRQUU3QixhQUFRLEdBQVksT0FBTyxDQUFDO1FBRTVCLGVBQVUsR0FBdUIsVUFBQyxFQUE2QjtnQkFBM0IsY0FBSSxFQUFFLHdCQUFTLEVBQUUsc0JBQVE7WUFDM0QsT0FBTyxVQUFVLENBQUMsSUFBSSxJQUFJLENBQUMsSUFBSSxDQUFDLEVBQUUsU0FBUyxFQUFFLEtBQUksQ0FBQyxNQUFNLEVBQUUsUUFBUSxJQUFJLEtBQUksQ0FBQyxRQUFRLElBQUksT0FBTyxDQUFDLENBQUM7UUFDbEcsQ0FBQyxDQUFDO0lBWnNELENBQUM7OzZDQUE1QyxNQUFNLFNBQUMsU0FBUzs7O0lBRGxCLHFCQUFxQjtRQURqQyxVQUFVLENBQUMsRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFFLENBQUM7UUFFcEIsbUJBQUEsTUFBTSxDQUFDLFNBQVMsQ0FBQyxDQUFBOztPQURuQixxQkFBcUIsQ0FjakM7Z0NBcEJEO0NBb0JDLEFBZEQsSUFjQztTQWRZLHFCQUFxQiIsInNvdXJjZXNDb250ZW50IjpbIi8vIHRzbGludDpkaXNhYmxlOiBuby1pbmZlcnJhYmxlLXR5cGVzXG5pbXBvcnQgeyBJbmplY3RhYmxlLCBJbmplY3QsIExPQ0FMRV9JRCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgZm9ybWF0RGF0ZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBDb3VudGRvd25Gb3JtYXRGbiwgQ291bnRkb3duQ29uZmlnIH0gZnJvbSAnLi9pbnRlcmZhY2VzJztcblxuQEluamVjdGFibGUoeyBwcm92aWRlZEluOiAncm9vdCcgfSlcbmV4cG9ydCBjbGFzcyBDb3VudGRvd25HbG9iYWxDb25maWcgaW1wbGVtZW50cyBDb3VudGRvd25Db25maWcge1xuICBjb25zdHJ1Y3RvcihASW5qZWN0KExPQ0FMRV9JRCkgcHJpdmF0ZSBsb2NhbGU6IHN0cmluZykge31cblxuICBkZW1hbmQ/OiBib29sZWFuID0gZmFsc2U7XG5cbiAgbGVmdFRpbWU/OiBudW1iZXIgPSAwO1xuXG4gIGZvcm1hdD86IHN0cmluZyA9ICdISDptbTpzcyc7XG5cbiAgdGltZXpvbmU/OiBzdHJpbmcgPSAnKzAwMDAnO1xuXG4gIGZvcm1hdERhdGU/OiBDb3VudGRvd25Gb3JtYXRGbiA9ICh7IGRhdGUsIGZvcm1hdFN0ciwgdGltZXpvbmUgfSkgPT4ge1xuICAgIHJldHVybiBmb3JtYXREYXRlKG5ldyBEYXRlKGRhdGUpLCBmb3JtYXRTdHIsIHRoaXMubG9jYWxlLCB0aW1lem9uZSB8fCB0aGlzLnRpbWV6b25lIHx8ICcrMDAwMCcpO1xuICB9O1xufVxuIl19
import * as tslib_1 from "tslib";
import { Injectable } from '@angular/core';
import { Injectable, NgZone } from '@angular/core';
var CountdownTimer = /** @class */ (function () {
function CountdownTimer() {
function CountdownTimer(ngZone) {
this.ngZone = ngZone;
this.fns = [];

@@ -10,2 +11,3 @@ this.commands = [];

CountdownTimer.prototype.start = function () {
var _this = this;
if (this.ing === true)

@@ -15,3 +17,5 @@ return;

this.nextTime = +new Date();
this.process();
this.ngZone.runOutsideAngular(function () {
_this.process();
});
};

@@ -69,4 +73,8 @@ CountdownTimer.prototype.process = function () {

};
CountdownTimer.ctorParameters = function () { return [
{ type: NgZone }
]; };
CountdownTimer = tslib_1.__decorate([
Injectable()
Injectable(),
tslib_1.__metadata("design:paramtypes", [NgZone])
], CountdownTimer);

@@ -76,2 +84,2 @@ return CountdownTimer;

export { CountdownTimer };
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY291bnRkb3duLnRpbWVyLmpzIiwic291cmNlUm9vdCI6Im5nOi8vbmd4LWNvdW50ZG93bi8iLCJzb3VyY2VzIjpbImNvdW50ZG93bi50aW1lci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUczQztJQURBO1FBRVUsUUFBRyxHQUF1RCxFQUFFLENBQUM7UUFDN0QsYUFBUSxHQUFzQixFQUFFLENBQUM7UUFFakMsUUFBRyxHQUFHLEtBQUssQ0FBQztJQWlFdEIsQ0FBQztJQS9EQyw4QkFBSyxHQUFMO1FBQ0UsSUFBSSxJQUFJLENBQUMsR0FBRyxLQUFLLElBQUk7WUFBRSxPQUFPO1FBRTlCLElBQUksQ0FBQyxHQUFHLEdBQUcsSUFBSSxDQUFDO1FBQ2hCLElBQUksQ0FBQyxRQUFRLEdBQUcsQ0FBQyxJQUFJLElBQUksRUFBRSxDQUFDO1FBQzVCLElBQUksQ0FBQyxPQUFPLEVBQUUsQ0FBQztJQUNqQixDQUFDO0lBRU8sZ0NBQU8sR0FBZjtRQUFBLGlCQWtDQztRQWpDQyxPQUFPLElBQUksQ0FBQyxRQUFRLENBQUMsTUFBTSxFQUFFO1lBQzNCLElBQUksQ0FBQyxRQUFRLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQztTQUN6QjtRQUNELElBQUksSUFBSSxHQUFHLENBQUMsSUFBSSxJQUFJLEVBQUUsR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDO1FBQ3ZDLElBQU0sS0FBSyxHQUFHLENBQUMsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksR0FBRyxHQUFHLENBQUMsQ0FBQztRQUV6QyxJQUFJLEdBQUcsR0FBRyxHQUFHLENBQUMsSUFBSSxHQUFHLEdBQUcsQ0FBQyxDQUFDO1FBQzFCLElBQUksQ0FBQyxRQUFRLElBQUksR0FBRyxHQUFHLEtBQUssQ0FBQztRQUU3QixLQUFLLElBQUksQ0FBQyxHQUFHLENBQUMsRUFBRSxHQUFHLEdBQUcsSUFBSSxDQUFDLEdBQUcsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxHQUFHLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQyxFQUFFO1lBQ3RELElBQUksU0FBUyxHQUFHLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBVyxDQUFDO1lBRTFDLFFBQVE7WUFDUixJQUFJLENBQUMsS0FBSyxTQUFTLEVBQUU7Z0JBQ2xCLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUE2QixDQUFDLEtBQUssQ0FBQyxDQUFDO2dCQUNoRCxTQUFTO2FBQ1Y7aUJBQU07Z0JBQ0wsZUFBZTtnQkFDZixTQUFTLElBQUksQ0FBQyxHQUFHLEtBQUssR0FBRyxDQUFDLENBQUM7Z0JBRTNCLElBQU0sSUFBSSxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsU0FBUyxHQUFHLEVBQUUsQ0FBQyxDQUFDO2dCQUN4QyxJQUFJLElBQUksR0FBRyxDQUFDLEVBQUU7b0JBQ1gsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQTZCLENBQUMsSUFBSSxDQUFDLENBQUM7aUJBQ2hEO2dCQUVELFVBQVU7Z0JBQ1YsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxTQUFTLEdBQUcsRUFBRSxDQUFDLEdBQUcsQ0FBQyxDQUFDO2FBQ3hDO1NBQ0Y7UUFFRCxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUc7WUFBRSxPQUFPO1FBRXRCLFVBQVUsQ0FBQyxjQUFNLE9BQUEsS0FBSSxDQUFDLE9BQU8sRUFBRSxFQUFkLENBQWMsRUFBRSxJQUFJLENBQUMsQ0FBQztJQUN6QyxDQUFDO0lBRUQsNEJBQUcsR0FBSCxVQUFJLEVBQWMsRUFBRSxTQUFpQjtRQUFyQyxpQkFPQztRQU5DLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDO1lBQ2pCLEtBQUksQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDO1lBQ2xCLEtBQUksQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLFNBQVMsS0FBSyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7WUFDMUMsS0FBSSxDQUFDLEdBQUcsR0FBRyxJQUFJLENBQUM7UUFDbEIsQ0FBQyxDQUFDLENBQUM7UUFDSCxPQUFPLElBQUksQ0FBQztJQUNkLENBQUM7SUFFRCwrQkFBTSxHQUFOLFVBQU8sRUFBYztRQUFyQixpQkFTQztRQVJDLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDO1lBQ2pCLElBQU0sQ0FBQyxHQUFHLEtBQUksQ0FBQyxHQUFHLENBQUMsT0FBTyxDQUFDLEVBQUUsQ0FBQyxDQUFDO1lBQy9CLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxFQUFFO2dCQUNaLEtBQUksQ0FBQyxHQUFHLENBQUMsTUFBTSxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQzthQUN2QjtZQUNELEtBQUksQ0FBQyxHQUFHLEdBQUcsS0FBSSxDQUFDLEdBQUcsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDO1FBQ2pDLENBQUMsQ0FBQyxDQUFDO1FBQ0gsT0FBTyxJQUFJLENBQUM7SUFDZCxDQUFDO0lBcEVVLGNBQWM7UUFEMUIsVUFBVSxFQUFFO09BQ0EsY0FBYyxDQXFFMUI7SUFBRCxxQkFBQztDQUFBLEFBckVELElBcUVDO1NBckVZLGNBQWMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBDb3VudGRvd25UaW1lciB7XG4gIHByaXZhdGUgZm5zOiBBcnJheTwoKGNvdW50OiBudW1iZXIpID0+IG51bWJlciB8IHZvaWQpIHwgbnVtYmVyPiA9IFtdO1xuICBwcml2YXRlIGNvbW1hbmRzOiBBcnJheTwoKSA9PiB2b2lkPiA9IFtdO1xuICBwcml2YXRlIG5leHRUaW1lOiBudW1iZXI7XG4gIHByaXZhdGUgaW5nID0gZmFsc2U7XG5cbiAgc3RhcnQoKSB7XG4gICAgaWYgKHRoaXMuaW5nID09PSB0cnVlKSByZXR1cm47XG5cbiAgICB0aGlzLmluZyA9IHRydWU7XG4gICAgdGhpcy5uZXh0VGltZSA9ICtuZXcgRGF0ZSgpO1xuICAgIHRoaXMucHJvY2VzcygpO1xuICB9XG5cbiAgcHJpdmF0ZSBwcm9jZXNzKCkge1xuICAgIHdoaWxlICh0aGlzLmNvbW1hbmRzLmxlbmd0aCkge1xuICAgICAgdGhpcy5jb21tYW5kcy5zaGlmdCgpKCk7XG4gICAgfVxuICAgIGxldCBkaWZmID0gK25ldyBEYXRlKCkgLSB0aGlzLm5leHRUaW1lO1xuICAgIGNvbnN0IGNvdW50ID0gMSArIE1hdGguZmxvb3IoZGlmZiAvIDEwMCk7XG5cbiAgICBkaWZmID0gMTAwIC0gKGRpZmYgJSAxMDApO1xuICAgIHRoaXMubmV4dFRpbWUgKz0gMTAwICogY291bnQ7XG5cbiAgICBmb3IgKGxldCBpID0gMCwgbGVuID0gdGhpcy5mbnMubGVuZ3RoOyBpIDwgbGVuOyBpICs9IDIpIHtcbiAgICAgIGxldCBmcmVxdWVuY3kgPSB0aGlzLmZuc1tpICsgMV0gYXMgbnVtYmVyO1xuXG4gICAgICAvLyAxMDAvc1xuICAgICAgaWYgKDAgPT09IGZyZXF1ZW5jeSkge1xuICAgICAgICAodGhpcy5mbnNbaV0gYXMgKGNvdW50OiBudW1iZXIpID0+IHZvaWQpKGNvdW50KTtcbiAgICAgICAgLy8gMTAwMC9zXG4gICAgICB9IGVsc2Uge1xuICAgICAgICAvLyDlhYjmiormnKvkvY3oh7Mw77yM5YaN5q+P5qyh5YqgMlxuICAgICAgICBmcmVxdWVuY3kgKz0gMiAqIGNvdW50IC0gMTtcblxuICAgICAgICBjb25zdCBzdGVwID0gTWF0aC5mbG9vcihmcmVxdWVuY3kgLyAyMCk7XG4gICAgICAgIGlmIChzdGVwID4gMCkge1xuICAgICAgICAgICh0aGlzLmZuc1tpXSBhcyAoY291bnQ6IG51bWJlcikgPT4gdm9pZCkoc3RlcCk7XG4gICAgICAgIH1cblxuICAgICAgICAvLyDmiormnKvkvY3ov5jljp/miJAxXG4gICAgICAgIHRoaXMuZm5zW2kgKyAxXSA9IChmcmVxdWVuY3kgJSAyMCkgKyAxO1xuICAgICAgfVxuICAgIH1cblxuICAgIGlmICghdGhpcy5pbmcpIHJldHVybjtcblxuICAgIHNldFRpbWVvdXQoKCkgPT4gdGhpcy5wcm9jZXNzKCksIGRpZmYpO1xuICB9XG5cbiAgYWRkKGZuOiAoKSA9PiB2b2lkLCBmcmVxdWVuY3k6IG51bWJlcik6IHRoaXMge1xuICAgIHRoaXMuY29tbWFuZHMucHVzaCgoKSA9PiB7XG4gICAgICB0aGlzLmZucy5wdXNoKGZuKTtcbiAgICAgIHRoaXMuZm5zLnB1c2goZnJlcXVlbmN5ID09PSAxMDAwID8gMSA6IDApO1xuICAgICAgdGhpcy5pbmcgPSB0cnVlO1xuICAgIH0pO1xuICAgIHJldHVybiB0aGlzO1xuICB9XG5cbiAgcmVtb3ZlKGZuOiAoKSA9PiB2b2lkKTogdGhpcyB7XG4gICAgdGhpcy5jb21tYW5kcy5wdXNoKCgpID0+IHtcbiAgICAgIGNvbnN0IGkgPSB0aGlzLmZucy5pbmRleE9mKGZuKTtcbiAgICAgIGlmIChpICE9PSAtMSkge1xuICAgICAgICB0aGlzLmZucy5zcGxpY2UoaSwgMik7XG4gICAgICB9XG4gICAgICB0aGlzLmluZyA9IHRoaXMuZm5zLmxlbmd0aCA+IDA7XG4gICAgfSk7XG4gICAgcmV0dXJuIHRoaXM7XG4gIH1cbn1cbiJdfQ==
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY291bnRkb3duLnRpbWVyLmpzIiwic291cmNlUm9vdCI6Im5nOi8vbmd4LWNvdW50ZG93bi8iLCJzb3VyY2VzIjpbImNvdW50ZG93bi50aW1lci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFHbkQ7SUFNRSx3QkFBb0IsTUFBYztRQUFkLFdBQU0sR0FBTixNQUFNLENBQVE7UUFMMUIsUUFBRyxHQUF1RCxFQUFFLENBQUM7UUFDN0QsYUFBUSxHQUFzQixFQUFFLENBQUM7UUFFakMsUUFBRyxHQUFHLEtBQUssQ0FBQztJQUVpQixDQUFDO0lBRXRDLDhCQUFLLEdBQUw7UUFBQSxpQkFRQztRQVBDLElBQUksSUFBSSxDQUFDLEdBQUcsS0FBSyxJQUFJO1lBQUUsT0FBTztRQUU5QixJQUFJLENBQUMsR0FBRyxHQUFHLElBQUksQ0FBQztRQUNoQixJQUFJLENBQUMsUUFBUSxHQUFHLENBQUMsSUFBSSxJQUFJLEVBQUUsQ0FBQztRQUM1QixJQUFJLENBQUMsTUFBTSxDQUFDLGlCQUFpQixDQUFDO1lBQzVCLEtBQUksQ0FBQyxPQUFPLEVBQUUsQ0FBQztRQUNqQixDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFTyxnQ0FBTyxHQUFmO1FBQUEsaUJBa0NDO1FBakNDLE9BQU8sSUFBSSxDQUFDLFFBQVEsQ0FBQyxNQUFNLEVBQUU7WUFDM0IsSUFBSSxDQUFDLFFBQVEsQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUFDO1NBQ3pCO1FBQ0QsSUFBSSxJQUFJLEdBQUcsQ0FBQyxJQUFJLElBQUksRUFBRSxHQUFHLElBQUksQ0FBQyxRQUFRLENBQUM7UUFDdkMsSUFBTSxLQUFLLEdBQUcsQ0FBQyxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxHQUFHLEdBQUcsQ0FBQyxDQUFDO1FBRXpDLElBQUksR0FBRyxHQUFHLEdBQUcsQ0FBQyxJQUFJLEdBQUcsR0FBRyxDQUFDLENBQUM7UUFDMUIsSUFBSSxDQUFDLFFBQVEsSUFBSSxHQUFHLEdBQUcsS0FBSyxDQUFDO1FBRTdCLEtBQUssSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFLEdBQUcsR0FBRyxJQUFJLENBQUMsR0FBRyxDQUFDLE1BQU0sRUFBRSxDQUFDLEdBQUcsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLEVBQUU7WUFDdEQsSUFBSSxTQUFTLEdBQUcsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFXLENBQUM7WUFFMUMsUUFBUTtZQUNSLElBQUksQ0FBQyxLQUFLLFNBQVMsRUFBRTtnQkFDbEIsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQTZCLENBQUMsS0FBSyxDQUFDLENBQUM7Z0JBQ2hELFNBQVM7YUFDVjtpQkFBTTtnQkFDTCxlQUFlO2dCQUNmLFNBQVMsSUFBSSxDQUFDLEdBQUcsS0FBSyxHQUFHLENBQUMsQ0FBQztnQkFFM0IsSUFBTSxJQUFJLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxTQUFTLEdBQUcsRUFBRSxDQUFDLENBQUM7Z0JBQ3hDLElBQUksSUFBSSxHQUFHLENBQUMsRUFBRTtvQkFDWCxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBNkIsQ0FBQyxJQUFJLENBQUMsQ0FBQztpQkFDaEQ7Z0JBRUQsVUFBVTtnQkFDVixJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxDQUFDLFNBQVMsR0FBRyxFQUFFLENBQUMsR0FBRyxDQUFDLENBQUM7YUFDeEM7U0FDRjtRQUVELElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRztZQUFFLE9BQU87UUFFdEIsVUFBVSxDQUFDLGNBQU0sT0FBQSxLQUFJLENBQUMsT0FBTyxFQUFFLEVBQWQsQ0FBYyxFQUFFLElBQUksQ0FBQyxDQUFDO0lBQ3pDLENBQUM7SUFFRCw0QkFBRyxHQUFILFVBQUksRUFBYyxFQUFFLFNBQWlCO1FBQXJDLGlCQU9DO1FBTkMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUM7WUFDakIsS0FBSSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUM7WUFDbEIsS0FBSSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsU0FBUyxLQUFLLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztZQUMxQyxLQUFJLENBQUMsR0FBRyxHQUFHLElBQUksQ0FBQztRQUNsQixDQUFDLENBQUMsQ0FBQztRQUNILE9BQU8sSUFBSSxDQUFDO0lBQ2QsQ0FBQztJQUVELCtCQUFNLEdBQU4sVUFBTyxFQUFjO1FBQXJCLGlCQVNDO1FBUkMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUM7WUFDakIsSUFBTSxDQUFDLEdBQUcsS0FBSSxDQUFDLEdBQUcsQ0FBQyxPQUFPLENBQUMsRUFBRSxDQUFDLENBQUM7WUFDL0IsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLEVBQUU7Z0JBQ1osS0FBSSxDQUFDLEdBQUcsQ0FBQyxNQUFNLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDO2FBQ3ZCO1lBQ0QsS0FBSSxDQUFDLEdBQUcsR0FBRyxLQUFJLENBQUMsR0FBRyxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUM7UUFDakMsQ0FBQyxDQUFDLENBQUM7UUFDSCxPQUFPLElBQUksQ0FBQztJQUNkLENBQUM7O2dCQWxFMkIsTUFBTTs7SUFOdkIsY0FBYztRQUQxQixVQUFVLEVBQUU7aURBT2lCLE1BQU07T0FOdkIsY0FBYyxDQXlFMUI7SUFBRCxxQkFBQztDQUFBLEFBekVELElBeUVDO1NBekVZLGNBQWMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlLCBOZ1pvbmUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuQEluamVjdGFibGUoKVxuZXhwb3J0IGNsYXNzIENvdW50ZG93blRpbWVyIHtcbiAgcHJpdmF0ZSBmbnM6IEFycmF5PCgoY291bnQ6IG51bWJlcikgPT4gbnVtYmVyIHwgdm9pZCkgfCBudW1iZXI+ID0gW107XG4gIHByaXZhdGUgY29tbWFuZHM6IEFycmF5PCgpID0+IHZvaWQ+ID0gW107XG4gIHByaXZhdGUgbmV4dFRpbWU6IG51bWJlcjtcbiAgcHJpdmF0ZSBpbmcgPSBmYWxzZTtcblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIG5nWm9uZTogTmdab25lKSB7fVxuXG4gIHN0YXJ0KCkge1xuICAgIGlmICh0aGlzLmluZyA9PT0gdHJ1ZSkgcmV0dXJuO1xuXG4gICAgdGhpcy5pbmcgPSB0cnVlO1xuICAgIHRoaXMubmV4dFRpbWUgPSArbmV3IERhdGUoKTtcbiAgICB0aGlzLm5nWm9uZS5ydW5PdXRzaWRlQW5ndWxhcigoKSA9PiB7XG4gICAgICB0aGlzLnByb2Nlc3MoKTtcbiAgICB9KTtcbiAgfVxuXG4gIHByaXZhdGUgcHJvY2VzcygpIHtcbiAgICB3aGlsZSAodGhpcy5jb21tYW5kcy5sZW5ndGgpIHtcbiAgICAgIHRoaXMuY29tbWFuZHMuc2hpZnQoKSgpO1xuICAgIH1cbiAgICBsZXQgZGlmZiA9ICtuZXcgRGF0ZSgpIC0gdGhpcy5uZXh0VGltZTtcbiAgICBjb25zdCBjb3VudCA9IDEgKyBNYXRoLmZsb29yKGRpZmYgLyAxMDApO1xuXG4gICAgZGlmZiA9IDEwMCAtIChkaWZmICUgMTAwKTtcbiAgICB0aGlzLm5leHRUaW1lICs9IDEwMCAqIGNvdW50O1xuXG4gICAgZm9yIChsZXQgaSA9IDAsIGxlbiA9IHRoaXMuZm5zLmxlbmd0aDsgaSA8IGxlbjsgaSArPSAyKSB7XG4gICAgICBsZXQgZnJlcXVlbmN5ID0gdGhpcy5mbnNbaSArIDFdIGFzIG51bWJlcjtcblxuICAgICAgLy8gMTAwL3NcbiAgICAgIGlmICgwID09PSBmcmVxdWVuY3kpIHtcbiAgICAgICAgKHRoaXMuZm5zW2ldIGFzIChjb3VudDogbnVtYmVyKSA9PiB2b2lkKShjb3VudCk7XG4gICAgICAgIC8vIDEwMDAvc1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgLy8g5YWI5oqK5pyr5L2N6IezMO+8jOWGjeavj+asoeWKoDJcbiAgICAgICAgZnJlcXVlbmN5ICs9IDIgKiBjb3VudCAtIDE7XG5cbiAgICAgICAgY29uc3Qgc3RlcCA9IE1hdGguZmxvb3IoZnJlcXVlbmN5IC8gMjApO1xuICAgICAgICBpZiAoc3RlcCA+IDApIHtcbiAgICAgICAgICAodGhpcy5mbnNbaV0gYXMgKGNvdW50OiBudW1iZXIpID0+IHZvaWQpKHN0ZXApO1xuICAgICAgICB9XG5cbiAgICAgICAgLy8g5oqK5pyr5L2N6L+Y5Y6f5oiQMVxuICAgICAgICB0aGlzLmZuc1tpICsgMV0gPSAoZnJlcXVlbmN5ICUgMjApICsgMTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBpZiAoIXRoaXMuaW5nKSByZXR1cm47XG5cbiAgICBzZXRUaW1lb3V0KCgpID0+IHRoaXMucHJvY2VzcygpLCBkaWZmKTtcbiAgfVxuXG4gIGFkZChmbjogKCkgPT4gdm9pZCwgZnJlcXVlbmN5OiBudW1iZXIpOiB0aGlzIHtcbiAgICB0aGlzLmNvbW1hbmRzLnB1c2goKCkgPT4ge1xuICAgICAgdGhpcy5mbnMucHVzaChmbik7XG4gICAgICB0aGlzLmZucy5wdXNoKGZyZXF1ZW5jeSA9PT0gMTAwMCA/IDEgOiAwKTtcbiAgICAgIHRoaXMuaW5nID0gdHJ1ZTtcbiAgICB9KTtcbiAgICByZXR1cm4gdGhpcztcbiAgfVxuXG4gIHJlbW92ZShmbjogKCkgPT4gdm9pZCk6IHRoaXMge1xuICAgIHRoaXMuY29tbWFuZHMucHVzaCgoKSA9PiB7XG4gICAgICBjb25zdCBpID0gdGhpcy5mbnMuaW5kZXhPZihmbik7XG4gICAgICBpZiAoaSAhPT0gLTEpIHtcbiAgICAgICAgdGhpcy5mbnMuc3BsaWNlKGksIDIpO1xuICAgICAgfVxuICAgICAgdGhpcy5pbmcgPSB0aGlzLmZucy5sZW5ndGggPiAwO1xuICAgIH0pO1xuICAgIHJldHVybiB0aGlzO1xuICB9XG59XG4iXX0=

@@ -1,3 +0,3 @@

import { __decorate, __param, __metadata } from 'tslib';
import { Injectable, ɵɵdefineInjectable, ɵɵinject, LOCALE_ID, Inject, EventEmitter, Input, TemplateRef, Output, Component, ViewEncapsulation, ChangeDetectionStrategy, ChangeDetectorRef, NgModule } from '@angular/core';
import { __decorate, __metadata, __param } from 'tslib';
import { NgZone, Injectable, Inject, LOCALE_ID, ɵɵdefineInjectable, ɵɵinject, EventEmitter, ChangeDetectorRef, Input, TemplateRef, Output, Component, ViewEncapsulation, ChangeDetectionStrategy, NgModule } from '@angular/core';
import { formatDate, CommonModule } from '@angular/common';

@@ -14,3 +14,4 @@

let CountdownTimer = class CountdownTimer {
constructor() {
constructor(ngZone) {
this.ngZone = ngZone;
this.fns = [];

@@ -25,3 +26,5 @@ this.commands = [];

this.nextTime = +new Date();
this.process();
this.ngZone.runOutsideAngular(() => {
this.process();
});
}

@@ -77,4 +80,8 @@ process() {

};
CountdownTimer.ctorParameters = () => [
{ type: NgZone }
];
CountdownTimer = __decorate([
Injectable()
Injectable(),
__metadata("design:paramtypes", [NgZone])
], CountdownTimer);

@@ -94,2 +101,5 @@

};
CountdownGlobalConfig.ctorParameters = () => [
{ type: String, decorators: [{ type: Inject, args: [LOCALE_ID,] }] }
];
CountdownGlobalConfig.ngInjectableDef = ɵɵdefineInjectable({ factory: function CountdownGlobalConfig_Factory() { return new CountdownGlobalConfig(ɵɵinject(LOCALE_ID)); }, token: CountdownGlobalConfig, providedIn: "root" });

@@ -103,3 +113,3 @@ CountdownGlobalConfig = __decorate([

let CountdownComponent = class CountdownComponent {
constructor(locale, timer, defCog, cdr) {
constructor(locale, timer, defCog, cdr, ngZone) {
this.locale = locale;

@@ -109,2 +119,3 @@ this.timer = timer;

this.cdr = cdr;
this.ngZone = ngZone;
this.frequency = 1000;

@@ -215,8 +226,12 @@ this._notify = {};

if (config.notify === 0 || _notify[value]) {
this.callEvent('notify');
this.ngZone.run(() => {
this.callEvent('notify');
});
}
if (value < 1) {
this.status = CountdownStatus.done;
this.callEvent('done');
this.destroy();
this.ngZone.run(() => {
this.status = CountdownStatus.done;
this.callEvent('done');
this.destroy();
});
}

@@ -252,2 +267,9 @@ }

};
CountdownComponent.ctorParameters = () => [
{ type: String, decorators: [{ type: Inject, args: [LOCALE_ID,] }] },
{ type: CountdownTimer },
{ type: CountdownGlobalConfig },
{ type: ChangeDetectorRef },
{ type: NgZone }
];
__decorate([

@@ -281,3 +303,4 @@ Input(),

CountdownGlobalConfig,
ChangeDetectorRef])
ChangeDetectorRef,
NgZone])
], CountdownComponent);

@@ -284,0 +307,0 @@

@@ -1,3 +0,3 @@

import { __decorate, __param, __metadata, __assign } from 'tslib';
import { Injectable, ɵɵdefineInjectable, ɵɵinject, LOCALE_ID, Inject, EventEmitter, Input, TemplateRef, Output, Component, ViewEncapsulation, ChangeDetectionStrategy, ChangeDetectorRef, NgModule } from '@angular/core';
import { __decorate, __metadata, __param, __assign } from 'tslib';
import { NgZone, Injectable, Inject, LOCALE_ID, ɵɵdefineInjectable, ɵɵinject, EventEmitter, ChangeDetectorRef, Input, TemplateRef, Output, Component, ViewEncapsulation, ChangeDetectionStrategy, NgModule } from '@angular/core';
import { formatDate, CommonModule } from '@angular/common';

@@ -14,3 +14,4 @@

var CountdownTimer = /** @class */ (function () {
function CountdownTimer() {
function CountdownTimer(ngZone) {
this.ngZone = ngZone;
this.fns = [];

@@ -21,2 +22,3 @@ this.commands = [];

CountdownTimer.prototype.start = function () {
var _this = this;
if (this.ing === true)

@@ -26,3 +28,5 @@ return;

this.nextTime = +new Date();
this.process();
this.ngZone.runOutsideAngular(function () {
_this.process();
});
};

@@ -80,4 +84,8 @@ CountdownTimer.prototype.process = function () {

};
CountdownTimer.ctorParameters = function () { return [
{ type: NgZone }
]; };
CountdownTimer = __decorate([
Injectable()
Injectable(),
__metadata("design:paramtypes", [NgZone])
], CountdownTimer);

@@ -100,2 +108,5 @@ return CountdownTimer;

}
CountdownGlobalConfig.ctorParameters = function () { return [
{ type: String, decorators: [{ type: Inject, args: [LOCALE_ID,] }] }
]; };
CountdownGlobalConfig.ngInjectableDef = ɵɵdefineInjectable({ factory: function CountdownGlobalConfig_Factory() { return new CountdownGlobalConfig(ɵɵinject(LOCALE_ID)); }, token: CountdownGlobalConfig, providedIn: "root" });

@@ -111,3 +122,3 @@ CountdownGlobalConfig = __decorate([

var CountdownComponent = /** @class */ (function () {
function CountdownComponent(locale, timer, defCog, cdr) {
function CountdownComponent(locale, timer, defCog, cdr, ngZone) {
this.locale = locale;

@@ -117,2 +128,3 @@ this.timer = timer;

this.cdr = cdr;
this.ngZone = ngZone;
this.frequency = 1000;

@@ -217,2 +229,3 @@ this._notify = {};

CountdownComponent.prototype.reflow = function (count, force) {
var _this = this;
if (count === void 0) { count = 0; }

@@ -235,8 +248,12 @@ if (force === void 0) { force = false; }

if (config.notify === 0 || _notify[value]) {
this.callEvent('notify');
this.ngZone.run(function () {
_this.callEvent('notify');
});
}
if (value < 1) {
this.status = CountdownStatus.done;
this.callEvent('done');
this.destroy();
this.ngZone.run(function () {
_this.status = CountdownStatus.done;
_this.callEvent('done');
_this.destroy();
});
}

@@ -271,2 +288,9 @@ };

};
CountdownComponent.ctorParameters = function () { return [
{ type: String, decorators: [{ type: Inject, args: [LOCALE_ID,] }] },
{ type: CountdownTimer },
{ type: CountdownGlobalConfig },
{ type: ChangeDetectorRef },
{ type: NgZone }
]; };
__decorate([

@@ -295,3 +319,4 @@ Input(),

CountdownGlobalConfig,
ChangeDetectorRef])
ChangeDetectorRef,
NgZone])
], CountdownComponent);

@@ -298,0 +323,0 @@ return CountdownComponent;

@@ -1,1 +0,1 @@

{"__symbolic":"module","version":4,"metadata":{"CountdownFormatFn":{"__symbolic":"interface"},"CountdownFormatFnOption":{"__symbolic":"interface"},"CountdownStatus":{"ing":0,"pause":1,"stop":2,"done":3},"CountdownConfig":{"__symbolic":"interface"},"CountdownEventAction":{"__symbolic":"interface"},"CountdownEvent":{"__symbolic":"interface"},"CountdownItem":{"__symbolic":"interface"},"CountdownComponent":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":22,"character":1},"arguments":[{"selector":"countdown","template":"\n <ng-container *ngIf=\"!render\">\n <span [innerHTML]=\"i.text\"></span>\n </ng-container>\n <ng-container *ngTemplateOutlet=\"render; context: { $implicit: i }\"></ng-container>\n ","host":{"[class.count-down]":"true","$quoted$":["[class.count-down]"]},"encapsulation":{"__symbolic":"select","expression":{"__symbolic":"reference","module":"@angular/core","name":"ViewEncapsulation","line":31,"character":17},"member":"None"},"changeDetection":{"__symbolic":"select","expression":{"__symbolic":"reference","module":"@angular/core","name":"ChangeDetectionStrategy","line":32,"character":19},"member":"OnPush"}}]}],"members":{"config":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":42,"character":3}}]}],"render":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":43,"character":3}}]}],"event":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":44,"character":3}}]}],"__ctor__":[{"__symbolic":"constructor","parameterDecorators":[[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Inject","line":47,"character":5},"arguments":[{"__symbolic":"reference","module":"@angular/core","name":"LOCALE_ID","line":47,"character":12}]}],null,null,null],"parameters":[{"__symbolic":"reference","name":"string"},{"__symbolic":"reference","name":"CountdownTimer"},{"__symbolic":"reference","name":"CountdownGlobalConfig"},{"__symbolic":"reference","module":"@angular/core","name":"ChangeDetectorRef","line":50,"character":17}]}],"begin":[{"__symbolic":"method"}],"restart":[{"__symbolic":"method"}],"stop":[{"__symbolic":"method"}],"pause":[{"__symbolic":"method"}],"resume":[{"__symbolic":"method"}],"callEvent":[{"__symbolic":"method"}],"init":[{"__symbolic":"method"}],"destroy":[{"__symbolic":"method"}],"reflow":[{"__symbolic":"method"}],"getLeft":[{"__symbolic":"method"}],"ngOnInit":[{"__symbolic":"method"}],"ngOnDestroy":[{"__symbolic":"method"}],"ngOnChanges":[{"__symbolic":"method"}]}},"CountdownTimer":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Injectable","line":2,"character":1}}],"members":{"start":[{"__symbolic":"method"}],"process":[{"__symbolic":"method"}],"add":[{"__symbolic":"method"}],"remove":[{"__symbolic":"method"}]}},"CountdownGlobalConfig":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Injectable","line":5,"character":1},"arguments":[{"providedIn":"root"}]}],"members":{"__ctor__":[{"__symbolic":"constructor","parameterDecorators":[[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Inject","line":7,"character":15},"arguments":[{"__symbolic":"reference","module":"@angular/core","name":"LOCALE_ID","line":7,"character":22}]}]],"parameters":[{"__symbolic":"reference","name":"string"}]}]},"statics":{"ngInjectableDef":{}}},"CountdownModule":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"NgModule","line":6,"character":1},"arguments":[{"imports":[{"__symbolic":"reference","module":"@angular/common","name":"CommonModule","line":7,"character":12}],"providers":[{"__symbolic":"reference","name":"CountdownTimer"}],"declarations":[{"__symbolic":"reference","name":"CountdownComponent"}],"exports":[{"__symbolic":"reference","name":"CountdownComponent"}]}]}],"members":{}}},"origins":{"CountdownFormatFn":"./interfaces","CountdownFormatFnOption":"./interfaces","CountdownStatus":"./interfaces","CountdownConfig":"./interfaces","CountdownEventAction":"./interfaces","CountdownEvent":"./interfaces","CountdownItem":"./interfaces","CountdownComponent":"./countdown.component","CountdownTimer":"./countdown.timer","CountdownGlobalConfig":"./countdown.config","CountdownModule":"./countdown.module"},"importAs":"ngx-countdown"}
{"__symbolic":"module","version":4,"metadata":{"CountdownFormatFn":{"__symbolic":"interface"},"CountdownFormatFnOption":{"__symbolic":"interface"},"CountdownStatus":{"ing":0,"pause":1,"stop":2,"done":3},"CountdownConfig":{"__symbolic":"interface"},"CountdownEventAction":{"__symbolic":"interface"},"CountdownEvent":{"__symbolic":"interface"},"CountdownItem":{"__symbolic":"interface"},"CountdownComponent":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":23,"character":1},"arguments":[{"selector":"countdown","template":"\n <ng-container *ngIf=\"!render\">\n <span [innerHTML]=\"i.text\"></span>\n </ng-container>\n <ng-container *ngTemplateOutlet=\"render; context: { $implicit: i }\"></ng-container>\n ","host":{"[class.count-down]":"true","$quoted$":["[class.count-down]"]},"encapsulation":{"__symbolic":"select","expression":{"__symbolic":"reference","module":"@angular/core","name":"ViewEncapsulation","line":32,"character":17},"member":"None"},"changeDetection":{"__symbolic":"select","expression":{"__symbolic":"reference","module":"@angular/core","name":"ChangeDetectionStrategy","line":33,"character":19},"member":"OnPush"}}]}],"members":{"config":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":43,"character":3}}]}],"render":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":44,"character":3}}]}],"event":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":45,"character":3}}]}],"__ctor__":[{"__symbolic":"constructor","parameterDecorators":[[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Inject","line":48,"character":5},"arguments":[{"__symbolic":"reference","module":"@angular/core","name":"LOCALE_ID","line":48,"character":12}]}],null,null,null,null],"parameters":[{"__symbolic":"reference","name":"string"},{"__symbolic":"reference","name":"CountdownTimer"},{"__symbolic":"reference","name":"CountdownGlobalConfig"},{"__symbolic":"reference","module":"@angular/core","name":"ChangeDetectorRef","line":51,"character":17},{"__symbolic":"reference","module":"@angular/core","name":"NgZone","line":52,"character":20}]}],"begin":[{"__symbolic":"method"}],"restart":[{"__symbolic":"method"}],"stop":[{"__symbolic":"method"}],"pause":[{"__symbolic":"method"}],"resume":[{"__symbolic":"method"}],"callEvent":[{"__symbolic":"method"}],"init":[{"__symbolic":"method"}],"destroy":[{"__symbolic":"method"}],"reflow":[{"__symbolic":"method"}],"getLeft":[{"__symbolic":"method"}],"ngOnInit":[{"__symbolic":"method"}],"ngOnDestroy":[{"__symbolic":"method"}],"ngOnChanges":[{"__symbolic":"method"}]}},"CountdownTimer":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Injectable","line":2,"character":1}}],"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"@angular/core","name":"NgZone","line":9,"character":30}]}],"start":[{"__symbolic":"method"}],"process":[{"__symbolic":"method"}],"add":[{"__symbolic":"method"}],"remove":[{"__symbolic":"method"}]}},"CountdownGlobalConfig":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Injectable","line":5,"character":1},"arguments":[{"providedIn":"root"}]}],"members":{"__ctor__":[{"__symbolic":"constructor","parameterDecorators":[[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Inject","line":7,"character":15},"arguments":[{"__symbolic":"reference","module":"@angular/core","name":"LOCALE_ID","line":7,"character":22}]}]],"parameters":[{"__symbolic":"reference","name":"string"}]}]},"statics":{"ngInjectableDef":{}}},"CountdownModule":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"NgModule","line":6,"character":1},"arguments":[{"imports":[{"__symbolic":"reference","module":"@angular/common","name":"CommonModule","line":7,"character":12}],"providers":[{"__symbolic":"reference","name":"CountdownTimer"}],"declarations":[{"__symbolic":"reference","name":"CountdownComponent"}],"exports":[{"__symbolic":"reference","name":"CountdownComponent"}]}]}],"members":{}}},"origins":{"CountdownFormatFn":"./interfaces","CountdownFormatFnOption":"./interfaces","CountdownStatus":"./interfaces","CountdownConfig":"./interfaces","CountdownEventAction":"./interfaces","CountdownEvent":"./interfaces","CountdownItem":"./interfaces","CountdownComponent":"./countdown.component","CountdownTimer":"./countdown.timer","CountdownGlobalConfig":"./countdown.config","CountdownModule":"./countdown.module"},"importAs":"ngx-countdown"}
{
"name": "ngx-countdown",
"version": "8.0.2",
"version": "8.0.3",
"description": "Simple, easy and performance countdown for angular",

@@ -5,0 +5,0 @@ "repository": {

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc