Socket
Socket
Sign inDemoInstall

zone.js

Package Overview
Dependencies
Maintainers
2
Versions
124
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

zone.js - npm Package Compare versions

Comparing version 0.10.2 to 0.10.3

dist/zone-patch-message-port.js

12

dist/async-test.js
/**
* @license Angular v0.10.2
* (c) 2010-2019 Google LLC. https://angular.io/
* License: MIT
*/
* @license Angular v9.1.0-next.4+61.sha-e552591.with-local-changes
* (c) 2010-2020 Google LLC. https://angular.io/
* License: MIT
*/
(function (factory) {
typeof define === 'function' && define.amd ? define(factory) :
factory();
}(function () {
}((function () {
'use strict';

@@ -227,2 +227,2 @@ /**

});
}));
})));
/**
* @license Angular v0.10.2
* (c) 2010-2019 Google LLC. https://angular.io/
* License: MIT
*/
!function(e){"function"==typeof define&&define.amd?define(e):e()}(function(){"use strict";
* @license Angular v9.1.0-next.4+61.sha-e552591.with-local-changes
* (c) 2010-2020 Google LLC. https://angular.io/
* License: MIT
*/
!function(e){"function"==typeof define&&define.amd?define(e):e()}((function(){"use strict";
/**

@@ -13,3 +13,3 @@ * @license

* found in the LICENSE file at https://angular.io/license
*/
*/var e,n;e="undefined"!=typeof window&&window||"undefined"!=typeof self&&self||global,(n=function(){function n(n,t,o){this.finishCallback=n,this.failCallback=t,this._pendingMicroTasks=!1,this._pendingMacroTasks=!1,this._alreadyErrored=!1,this._isSync=!1,this.runZone=Zone.current,this.unresolvedChainedPromiseCount=0,this.supportWaitUnresolvedChainedPromise=!1,this.name="asyncTestZone for "+o,this.properties={AsyncTestZoneSpec:this},this.supportWaitUnresolvedChainedPromise=!0===e[Zone.__symbol__("supportWaitUnResolvedChainedPromise")]}return n.prototype.isUnresolvedChainedPromisePending=function(){return this.unresolvedChainedPromiseCount>0},n.prototype._finishCallbackIfDone=function(){var e=this;this._pendingMicroTasks||this._pendingMacroTasks||this.supportWaitUnresolvedChainedPromise&&this.isUnresolvedChainedPromisePending()||this.runZone.run((function(){setTimeout((function(){e._alreadyErrored||e._pendingMicroTasks||e._pendingMacroTasks||e.finishCallback()}),0)}))},n.prototype.patchPromiseForTest=function(){if(this.supportWaitUnresolvedChainedPromise){var e=Promise[Zone.__symbol__("patchPromiseForTest")];e&&e()}},n.prototype.unPatchPromiseForTest=function(){if(this.supportWaitUnresolvedChainedPromise){var e=Promise[Zone.__symbol__("unPatchPromiseForTest")];e&&e()}},n.prototype.onScheduleTask=function(e,t,o,s){return"eventTask"!==s.type&&(this._isSync=!1),"microTask"===s.type&&s.data&&s.data instanceof Promise&&!0===s.data[n.symbolParentUnresolved]&&this.unresolvedChainedPromiseCount--,e.scheduleTask(o,s)},n.prototype.onInvokeTask=function(e,n,t,o,s,i){return"eventTask"!==o.type&&(this._isSync=!1),e.invokeTask(t,o,s,i)},n.prototype.onCancelTask=function(e,n,t,o){return"eventTask"!==o.type&&(this._isSync=!1),e.cancelTask(t,o)},n.prototype.onInvoke=function(e,n,t,o,s,i,r){try{return this._isSync=!0,e.invoke(t,o,s,i,r)}finally{this._isSync&&this._finishCallbackIfDone()}},n.prototype.onHandleError=function(e,n,t,o){return e.handleError(t,o)&&(this.failCallback(o),this._alreadyErrored=!0),!1},n.prototype.onHasTask=function(e,n,t,o){e.hasTask(t,o),"microTask"==o.change?(this._pendingMicroTasks=o.microTask,this._finishCallbackIfDone()):"macroTask"==o.change&&(this._pendingMacroTasks=o.macroTask,this._finishCallbackIfDone())},n}()).symbolParentUnresolved=Zone.__symbol__("parentUnresolved"),Zone.AsyncTestZoneSpec=n,
/**

@@ -22,10 +22,2 @@ * @license

*/
var e,n;e="undefined"!=typeof window&&window||"undefined"!=typeof self&&self||global,(n=function(){function n(n,t,o){this.finishCallback=n,this.failCallback=t,this._pendingMicroTasks=!1,this._pendingMacroTasks=!1,this._alreadyErrored=!1,this._isSync=!1,this.runZone=Zone.current,this.unresolvedChainedPromiseCount=0,this.supportWaitUnresolvedChainedPromise=!1,this.name="asyncTestZone for "+o,this.properties={AsyncTestZoneSpec:this},this.supportWaitUnresolvedChainedPromise=!0===e[Zone.__symbol__("supportWaitUnResolvedChainedPromise")]}return n.prototype.isUnresolvedChainedPromisePending=function(){return this.unresolvedChainedPromiseCount>0},n.prototype._finishCallbackIfDone=function(){var e=this;this._pendingMicroTasks||this._pendingMacroTasks||this.supportWaitUnresolvedChainedPromise&&this.isUnresolvedChainedPromisePending()||this.runZone.run(function(){setTimeout(function(){e._alreadyErrored||e._pendingMicroTasks||e._pendingMacroTasks||e.finishCallback()},0)})},n.prototype.patchPromiseForTest=function(){if(this.supportWaitUnresolvedChainedPromise){var e=Promise[Zone.__symbol__("patchPromiseForTest")];e&&e()}},n.prototype.unPatchPromiseForTest=function(){if(this.supportWaitUnresolvedChainedPromise){var e=Promise[Zone.__symbol__("unPatchPromiseForTest")];e&&e()}},n.prototype.onScheduleTask=function(e,t,o,s){return"eventTask"!==s.type&&(this._isSync=!1),"microTask"===s.type&&s.data&&s.data instanceof Promise&&!0===s.data[n.symbolParentUnresolved]&&this.unresolvedChainedPromiseCount--,e.scheduleTask(o,s)},n.prototype.onInvokeTask=function(e,n,t,o,s,i){return"eventTask"!==o.type&&(this._isSync=!1),e.invokeTask(t,o,s,i)},n.prototype.onCancelTask=function(e,n,t,o){return"eventTask"!==o.type&&(this._isSync=!1),e.cancelTask(t,o)},n.prototype.onInvoke=function(e,n,t,o,s,i,r){try{return this._isSync=!0,e.invoke(t,o,s,i,r)}finally{this._isSync&&this._finishCallbackIfDone()}},n.prototype.onHandleError=function(e,n,t,o){return e.handleError(t,o)&&(this.failCallback(o),this._alreadyErrored=!0),!1},n.prototype.onHasTask=function(e,n,t,o){e.hasTask(t,o),"microTask"==o.change?(this._pendingMicroTasks=o.microTask,this._finishCallbackIfDone()):"macroTask"==o.change&&(this._pendingMacroTasks=o.macroTask,this._finishCallbackIfDone())},n}()).symbolParentUnresolved=Zone.__symbol__("parentUnresolved"),Zone.AsyncTestZoneSpec=n,
/**
* @license
* Copyright Google Inc. All Rights Reserved.
*
* Use of this source code is governed by an MIT-style license that can be
* found in the LICENSE file at https://angular.io/license
*/
Zone.__load_patch("asynctest",function(e,n,t){function o(e,t,o,s){var i=n.current,r=n.AsyncTestZoneSpec;if(void 0===r)throw new Error("AsyncTestZoneSpec is needed for the async() test helper but could not be found. Please make sure that your environment includes zone.js/dist/async-test.js");var a=n.ProxyZoneSpec;if(void 0===a)throw new Error("ProxyZoneSpec is needed for the async() test helper but could not be found. Please make sure that your environment includes zone.js/dist/proxy.js");var c=a.get();a.assertPresent();var u=n.current.getZoneWith("ProxyZoneSpec"),h=c.getDelegate();return u.parent.run(function(){var e=new r(function(){c.getDelegate()==e&&c.setDelegate(h),e.unPatchPromiseForTest(),i.run(function(){o()})},function(n){c.getDelegate()==e&&c.setDelegate(h),e.unPatchPromiseForTest(),i.run(function(){s(n)})},"test");c.setDelegate(e),e.patchPromiseForTest()}),n.current.runGuarded(e,t)}n[t.symbol("asyncTest")]=function n(t){return e.jasmine?function(e){e||((e=function(){}).fail=function(e){throw e}),o(t,this,e,function(n){if("string"==typeof n)return e.fail(new Error(n));e.fail(n)})}:function(){var e=this;return new Promise(function(n,s){o(t,e,n,s)})}}})});
Zone.__load_patch("asynctest",(function(e,n,t){function o(e,t,o,s){var i=n.current,r=n.AsyncTestZoneSpec;if(void 0===r)throw new Error("AsyncTestZoneSpec is needed for the async() test helper but could not be found. Please make sure that your environment includes zone.js/dist/async-test.js");var a=n.ProxyZoneSpec;if(void 0===a)throw new Error("ProxyZoneSpec is needed for the async() test helper but could not be found. Please make sure that your environment includes zone.js/dist/proxy.js");var c=a.get();a.assertPresent();var u=n.current.getZoneWith("ProxyZoneSpec"),h=c.getDelegate();return u.parent.run((function(){var e=new r((function(){c.getDelegate()==e&&c.setDelegate(h),e.unPatchPromiseForTest(),i.run((function(){o()}))}),(function(n){c.getDelegate()==e&&c.setDelegate(h),e.unPatchPromiseForTest(),i.run((function(){s(n)}))}),"test");c.setDelegate(e),e.patchPromiseForTest()})),n.current.runGuarded(e,t)}n[t.symbol("asyncTest")]=function n(t){return e.jasmine?function(e){e||((e=function(){}).fail=function(e){throw e}),o(t,this,e,(function(n){if("string"==typeof n)return e.fail(new Error(n));e.fail(n)}))}:function(){var e=this;return new Promise((function(n,s){o(t,e,n,s)}))}}}))}));

@@ -1,30 +0,17 @@

var __read = (this && this.__read) || function (o, n) {
var m = typeof Symbol === "function" && o[Symbol.iterator];
if (!m) return o;
var i = m.call(o), r, ar = [], e;
try {
while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);
}
catch (error) { e = { error: error }; }
finally {
try {
if (r && !r.done && (m = i["return"])) m.call(i);
}
finally { if (e) throw e.error; }
}
return ar;
var __spreadArrays = (this && this.__spreadArrays) || function () {
for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;
for (var r = Array(s), k = 0, i = 0; i < il; i++)
for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)
r[k] = a[j];
return r;
};
var __spread = (this && this.__spread) || function () {
for (var ar = [], i = 0; i < arguments.length; i++) ar = ar.concat(__read(arguments[i]));
return ar;
};
/**
* @license Angular v0.10.2
* (c) 2010-2019 Google LLC. https://angular.io/
* License: MIT
*/
* @license Angular v9.1.0-next.4+61.sha-e552591.with-local-changes
* (c) 2010-2020 Google LLC. https://angular.io/
* License: MIT
*/
(function (factory) {
typeof define === 'function' && define.amd ? define(factory) :
factory();
}(function () {
}((function () {
'use strict';

@@ -49,3 +36,3 @@ /**

var args = Array.prototype.slice.call(arguments);
return new (OriginalDate.bind.apply(OriginalDate, __spread([void 0], args)))();
return new (OriginalDate.bind.apply(OriginalDate, __spreadArrays([void 0], args)))();
}

@@ -79,2 +66,4 @@ }

this._currentRealTime = OriginalDate.now();
// track requeuePeriodicTimer
this._currentTickRequeuePeriodicEntries = [];
}

@@ -84,8 +73,11 @@ Scheduler.prototype.getCurrentTime = function () { return this._currentTime; };

Scheduler.prototype.setCurrentRealTime = function (realTime) { this._currentRealTime = realTime; };
Scheduler.prototype.scheduleFunction = function (cb, delay, args, isPeriodic, isRequestAnimationFrame, id) {
if (args === void 0) { args = []; }
if (isPeriodic === void 0) { isPeriodic = false; }
if (isRequestAnimationFrame === void 0) { isRequestAnimationFrame = false; }
if (id === void 0) { id = -1; }
var currentId = id < 0 ? Scheduler.nextId++ : id;
Scheduler.prototype.scheduleFunction = function (cb, delay, options) {
options = Object.assign({
args: [],
isPeriodic: false,
isRequestAnimationFrame: false,
id: -1,
isRequeuePeriodic: false
}, options);
var currentId = options.id < 0 ? Scheduler.nextId++ : options.id;
var endTime = this._currentTime + delay;

@@ -97,7 +89,10 @@ // Insert so that scheduler queue remains sorted by end time.

func: cb,
args: args,
args: options.args,
delay: delay,
isPeriodic: isPeriodic,
isRequestAnimationFrame: isRequestAnimationFrame
isPeriodic: options.isPeriodic,
isRequestAnimationFrame: options.isRequestAnimationFrame
};
if (options.isRequeuePeriodic) {
this._currentTickRequeuePeriodicEntries.push(newEntry);
}
var i = 0;

@@ -121,12 +116,21 @@ for (; i < this._schedulerQueue.length; i++) {

};
Scheduler.prototype.tick = function (millis, doTick) {
Scheduler.prototype.tick = function (millis, doTick, tickOptions) {
if (millis === void 0) { millis = 0; }
var finalTime = this._currentTime + millis;
var lastCurrentTime = 0;
if (this._schedulerQueue.length === 0 && doTick) {
tickOptions = Object.assign({ processNewMacroTasksSynchronously: true }, tickOptions);
// we need to copy the schedulerQueue so nested timeout
// will not be wrongly called in the current tick
// https://github.com/angular/angular/issues/33799
var schedulerQueue = tickOptions.processNewMacroTasksSynchronously ?
this._schedulerQueue :
this._schedulerQueue.slice();
if (schedulerQueue.length === 0 && doTick) {
doTick(millis);
return;
}
while (this._schedulerQueue.length > 0) {
var current = this._schedulerQueue[0];
while (schedulerQueue.length > 0) {
// clear requeueEntries before each loop
this._currentTickRequeuePeriodicEntries = [];
var current = schedulerQueue[0];
if (finalTime < current.endTime) {

@@ -138,3 +142,9 @@ // Done processing the queue since it's sorted by endTime.

// Time to run scheduled function. Remove it from the head of queue.
var current_1 = this._schedulerQueue.shift();
var current_1 = schedulerQueue.shift();
if (!tickOptions.processNewMacroTasksSynchronously) {
var idx = this._schedulerQueue.indexOf(current_1);
if (idx >= 0) {
this._schedulerQueue.splice(idx, 1);
}
}
lastCurrentTime = this._currentTime;

@@ -150,2 +160,16 @@ this._currentTime = current_1.endTime;

}
// check is there any requeue periodic entry is added in
// current loop, if there is, we need to add to current loop
if (!tickOptions.processNewMacroTasksSynchronously) {
this._currentTickRequeuePeriodicEntries.forEach(function (newEntry) {
var i = 0;
for (; i < schedulerQueue.length; i++) {
var currentEntry = schedulerQueue[i];
if (newEntry.endTime < currentEntry.endTime) {
break;
}
}
schedulerQueue.splice(i, 0, newEntry);
});
}
}

@@ -279,3 +303,3 @@ }

if (_this.pendingPeriodicTimers.indexOf(id) !== -1) {
_this._scheduler.scheduleFunction(fn, interval, args, true, false, id);
_this._scheduler.scheduleFunction(fn, interval, { args: args, isPeriodic: true, id: id, isRequeuePeriodic: true });
}

@@ -293,3 +317,3 @@ };

var cb = this._fnAndFlush(fn, { onSuccess: removeTimerFn, onError: removeTimerFn });
var id = this._scheduler.scheduleFunction(cb, delay, args, false, !isTimer);
var id = this._scheduler.scheduleFunction(cb, delay, { args: args, isRequestAnimationFrame: !isTimer });
if (isTimer) {

@@ -311,3 +335,3 @@ this.pendingTimers.push(id);

// Queue the callback and dequeue the periodic timer only on error.
this._scheduler.scheduleFunction(cb, interval, args, true);
this._scheduler.scheduleFunction(cb, interval, { args: args, isPeriodic: true });
this.pendingPeriodicTimers.push(id);

@@ -372,7 +396,8 @@ return id;

};
FakeAsyncTestZoneSpec.prototype.tick = function (millis, doTick) {
FakeAsyncTestZoneSpec.prototype.tick = function (millis, doTick, tickOptions) {
if (millis === void 0) { millis = 0; }
if (tickOptions === void 0) { tickOptions = { processNewMacroTasksSynchronously: true }; }
FakeAsyncTestZoneSpec.assertInZone();
this.flushMicrotasks();
this._scheduler.tick(millis, doTick);
this._scheduler.tick(millis, doTick, tickOptions);
if (this._lastError !== null) {

@@ -637,5 +662,6 @@ this._resetLastErrorAndThrow();

*/
function tick(millis) {
function tick(millis, ignoreNestedTimeout) {
if (millis === void 0) { millis = 0; }
_getFakeAsyncZoneSpec().tick(millis);
if (ignoreNestedTimeout === void 0) { ignoreNestedTimeout = false; }
_getFakeAsyncZoneSpec().tick(millis, null, ignoreNestedTimeout);
}

@@ -673,2 +699,2 @@ /**

});
}));
})));

@@ -1,8 +0,7 @@

var __read=this&&this.__read||function(e,t){var r="function"==typeof Symbol&&e[Symbol.iterator];if(!r)return e;var n,i,s=r.call(e),o=[];try{for(;(void 0===t||t-- >0)&&!(n=s.next()).done;)o.push(n.value)}catch(e){i={error:e}}finally{try{n&&!n.done&&(r=s.return)&&r.call(s)}finally{if(i)throw i.error}}return o},__spread=this&&this.__spread||function(){for(var e=[],t=0;t<arguments.length;t++)e=e.concat(__read(arguments[t]));return e};
var __spreadArrays=this&&this.__spreadArrays||function(){for(var e=0,t=0,r=arguments.length;t<r;t++)e+=arguments[t].length;var i=Array(e),n=0;for(t=0;t<r;t++)for(var s=arguments[t],o=0,a=s.length;o<a;o++,n++)i[n]=s[o];return i};
/**
* @license Angular v0.10.2
* (c) 2010-2019 Google LLC. https://angular.io/
* License: MIT
*/
!function(e){"function"==typeof define&&define.amd?define(e):e()}(function(){"use strict";
* @license Angular v9.1.0-next.4+61.sha-e552591.with-local-changes
* (c) 2010-2020 Google LLC. https://angular.io/
* License: MIT
*/!function(e){"function"==typeof define&&define.amd?define(e):e()}((function(){"use strict";
/**

@@ -14,3 +13,3 @@ * @license

* found in the LICENSE file at https://angular.io/license
*/
*/!function(e){var t=e.Date,r=function(){function e(){if(0===arguments.length){var r=new t;return r.setTime(e.now()),r}var i=Array.prototype.slice.call(arguments);return new(t.bind.apply(t,__spreadArrays([void 0],i)))}return e.now=function(){var e=Zone.current.get("FakeAsyncTestZoneSpec");return e?e.getCurrentRealTime()+e.getCurrentTime():t.now.apply(this,arguments)},e}();r.UTC=t.UTC,r.parse=t.parse;var i={setTimeout:e.setTimeout,setInterval:e.setInterval,clearTimeout:e.clearTimeout,clearInterval:e.clearInterval},n=function(){function r(){this._schedulerQueue=[],this._currentTime=0,this._currentRealTime=t.now(),this._currentTickRequeuePeriodicEntries=[]}return r.prototype.getCurrentTime=function(){return this._currentTime},r.prototype.getCurrentRealTime=function(){return this._currentRealTime},r.prototype.setCurrentRealTime=function(e){this._currentRealTime=e},r.prototype.scheduleFunction=function(e,t,i){var n=(i=Object.assign({args:[],isPeriodic:!1,isRequestAnimationFrame:!1,id:-1,isRequeuePeriodic:!1},i)).id<0?r.nextId++:i.id,s={endTime:this._currentTime+t,id:n,func:e,args:i.args,delay:t,isPeriodic:i.isPeriodic,isRequestAnimationFrame:i.isRequestAnimationFrame};i.isRequeuePeriodic&&this._currentTickRequeuePeriodicEntries.push(s);for(var o=0;o<this._schedulerQueue.length&&!(s.endTime<this._schedulerQueue[o].endTime);o++);return this._schedulerQueue.splice(o,0,s),n},r.prototype.removeScheduledFunctionWithId=function(e){for(var t=0;t<this._schedulerQueue.length;t++)if(this._schedulerQueue[t].id==e){this._schedulerQueue.splice(t,1);break}},r.prototype.tick=function(t,r,i){void 0===t&&(t=0);var n=this._currentTime+t,s=0,o=(i=Object.assign({processNewMacroTasksSynchronously:!0},i)).processNewMacroTasksSynchronously?this._schedulerQueue:this._schedulerQueue.slice();if(0===o.length&&r)r(t);else{for(;o.length>0&&(this._currentTickRequeuePeriodicEntries=[],!(n<o[0].endTime));){var a=o.shift();if(!i.processNewMacroTasksSynchronously){var c=this._schedulerQueue.indexOf(a);c>=0&&this._schedulerQueue.splice(c,1)}if(s=this._currentTime,this._currentTime=a.endTime,r&&r(this._currentTime-s),!a.func.apply(e,a.isRequestAnimationFrame?[this._currentTime]:a.args))break;i.processNewMacroTasksSynchronously||this._currentTickRequeuePeriodicEntries.forEach((function(e){for(var t=0;t<o.length&&!(e.endTime<o[t].endTime);t++);o.splice(t,0,e)}))}s=this._currentTime,this._currentTime=n,r&&r(this._currentTime-s)}},r.prototype.flush=function(e,t,r){return void 0===e&&(e=20),void 0===t&&(t=!1),t?this.flushPeriodic(r):this.flushNonPeriodic(e,r)},r.prototype.flushPeriodic=function(e){if(0===this._schedulerQueue.length)return 0;var t=this._currentTime;return this.tick(this._schedulerQueue[this._schedulerQueue.length-1].endTime-t,e),this._currentTime-t},r.prototype.flushNonPeriodic=function(t,r){for(var i=this._currentTime,n=0,s=0;this._schedulerQueue.length>0;){if(++s>t)throw new Error("flush failed after reaching the limit of "+t+" tasks. Does your code use a polling timeout?");if(0===this._schedulerQueue.filter((function(e){return!e.isPeriodic&&!e.isRequestAnimationFrame})).length)break;var o=this._schedulerQueue.shift();if(n=this._currentTime,this._currentTime=o.endTime,r&&r(this._currentTime-n),!o.func.apply(e,o.args))break}return this._currentTime-i},r}();n.nextId=1;var s=function(){function s(t,r,i){void 0===r&&(r=!1),this.trackPendingRequestAnimationFrame=r,this.macroTaskOptions=i,this._scheduler=new n,this._microtasks=[],this._lastError=null,this._uncaughtPromiseErrors=Promise[Zone.__symbol__("uncaughtPromiseErrors")],this.pendingPeriodicTimers=[],this.pendingTimers=[],this.patchDateLocked=!1,this.properties={FakeAsyncTestZoneSpec:this},this.name="fakeAsyncTestZone for "+t,this.macroTaskOptions||(this.macroTaskOptions=e[Zone.__symbol__("FakeAsyncTestMacroTask")])}return s.assertInZone=function(){if(null==Zone.current.get("FakeAsyncTestZoneSpec"))throw new Error("The code should be running in the fakeAsync zone to call this function")},s.prototype._fnAndFlush=function(t,r){var i=this;return function(){for(var n=[],s=0;s<arguments.length;s++)n[s]=arguments[s];return t.apply(e,n),null===i._lastError?(null!=r.onSuccess&&r.onSuccess.apply(e),i.flushMicrotasks()):null!=r.onError&&r.onError.apply(e),null===i._lastError}},s._removeTimer=function(e,t){var r=e.indexOf(t);r>-1&&e.splice(r,1)},s.prototype._dequeueTimer=function(e){var t=this;return function(){s._removeTimer(t.pendingTimers,e)}},s.prototype._requeuePeriodicTimer=function(e,t,r,i){var n=this;return function(){-1!==n.pendingPeriodicTimers.indexOf(i)&&n._scheduler.scheduleFunction(e,t,{args:r,isPeriodic:!0,id:i,isRequeuePeriodic:!0})}},s.prototype._dequeuePeriodicTimer=function(e){var t=this;return function(){s._removeTimer(t.pendingPeriodicTimers,e)}},s.prototype._setTimeout=function(e,t,r,i){void 0===i&&(i=!0);var s=this._dequeueTimer(n.nextId),o=this._fnAndFlush(e,{onSuccess:s,onError:s}),a=this._scheduler.scheduleFunction(o,t,{args:r,isRequestAnimationFrame:!i});return i&&this.pendingTimers.push(a),a},s.prototype._clearTimeout=function(e){s._removeTimer(this.pendingTimers,e),this._scheduler.removeScheduledFunctionWithId(e)},s.prototype._setInterval=function(e,t,r){var i=n.nextId,s={onSuccess:null,onError:this._dequeuePeriodicTimer(i)},o=this._fnAndFlush(e,s);return s.onSuccess=this._requeuePeriodicTimer(o,t,r,i),this._scheduler.scheduleFunction(o,t,{args:r,isPeriodic:!0}),this.pendingPeriodicTimers.push(i),i},s.prototype._clearInterval=function(e){s._removeTimer(this.pendingPeriodicTimers,e),this._scheduler.removeScheduledFunctionWithId(e)},s.prototype._resetLastErrorAndThrow=function(){var e=this._lastError||this._uncaughtPromiseErrors[0];throw this._uncaughtPromiseErrors.length=0,this._lastError=null,e},s.prototype.getCurrentTime=function(){return this._scheduler.getCurrentTime()},s.prototype.getCurrentRealTime=function(){return this._scheduler.getCurrentRealTime()},s.prototype.setCurrentRealTime=function(e){this._scheduler.setCurrentRealTime(e)},s.patchDate=function(){e[Zone.__symbol__("disableDatePatching")]||e.Date!==r&&(e.Date=r,r.prototype=t.prototype,s.checkTimerPatch())},s.resetDate=function(){e.Date===r&&(e.Date=t)},s.checkTimerPatch=function(){e.setTimeout!==i.setTimeout&&(e.setTimeout=i.setTimeout,e.clearTimeout=i.clearTimeout),e.setInterval!==i.setInterval&&(e.setInterval=i.setInterval,e.clearInterval=i.clearInterval)},s.prototype.lockDatePatch=function(){this.patchDateLocked=!0,s.patchDate()},s.prototype.unlockDatePatch=function(){this.patchDateLocked=!1,s.resetDate()},s.prototype.tick=function(e,t,r){void 0===e&&(e=0),void 0===r&&(r={processNewMacroTasksSynchronously:!0}),s.assertInZone(),this.flushMicrotasks(),this._scheduler.tick(e,t,r),null!==this._lastError&&this._resetLastErrorAndThrow()},s.prototype.flushMicrotasks=function(){for(s.assertInZone();this._microtasks.length>0;){var e=this._microtasks.shift();e.func.apply(e.target,e.args)}(null!==this._lastError||this._uncaughtPromiseErrors.length)&&this._resetLastErrorAndThrow()},s.prototype.flush=function(e,t,r){s.assertInZone(),this.flushMicrotasks();var i=this._scheduler.flush(e,t,r);return null!==this._lastError&&this._resetLastErrorAndThrow(),i},s.prototype.onScheduleTask=function(e,t,r,i){switch(i.type){case"microTask":var n=i.data&&i.data.args,s=void 0;if(n){var o=i.data.cbIdx;"number"==typeof n.length&&n.length>o+1&&(s=Array.prototype.slice.call(n,o+1))}this._microtasks.push({func:i.invoke,args:s,target:i.data&&i.data.target});break;case"macroTask":switch(i.source){case"setTimeout":i.data.handleId=this._setTimeout(i.invoke,i.data.delay,Array.prototype.slice.call(i.data.args,2));break;case"setImmediate":i.data.handleId=this._setTimeout(i.invoke,0,Array.prototype.slice.call(i.data.args,1));break;case"setInterval":i.data.handleId=this._setInterval(i.invoke,i.data.delay,Array.prototype.slice.call(i.data.args,2));break;case"XMLHttpRequest.send":throw new Error("Cannot make XHRs from within a fake async test. Request URL: "+i.data.url);case"requestAnimationFrame":case"webkitRequestAnimationFrame":case"mozRequestAnimationFrame":i.data.handleId=this._setTimeout(i.invoke,16,i.data.args,this.trackPendingRequestAnimationFrame);break;default:var a=this.findMacroTaskOption(i);if(a){var c=i.data&&i.data.args,u=c&&c.length>1?c[1]:0,h=a.callbackArgs?a.callbackArgs:c;a.isPeriodic?(i.data.handleId=this._setInterval(i.invoke,u,h),i.data.isPeriodic=!0):i.data.handleId=this._setTimeout(i.invoke,u,h);break}throw new Error("Unknown macroTask scheduled in fake async test: "+i.source)}break;case"eventTask":i=e.scheduleTask(r,i)}return i},s.prototype.onCancelTask=function(e,t,r,i){switch(i.source){case"setTimeout":case"requestAnimationFrame":case"webkitRequestAnimationFrame":case"mozRequestAnimationFrame":return this._clearTimeout(i.data.handleId);case"setInterval":return this._clearInterval(i.data.handleId);default:var n=this.findMacroTaskOption(i);if(n){var s=i.data.handleId;return n.isPeriodic?this._clearInterval(s):this._clearTimeout(s)}return e.cancelTask(r,i)}},s.prototype.onInvoke=function(e,t,r,i,n,o,a){try{return s.patchDate(),e.invoke(r,i,n,o,a)}finally{this.patchDateLocked||s.resetDate()}},s.prototype.findMacroTaskOption=function(e){if(!this.macroTaskOptions)return null;for(var t=0;t<this.macroTaskOptions.length;t++){var r=this.macroTaskOptions[t];if(r.source===e.source)return r}return null},s.prototype.onHandleError=function(e,t,r,i){return this._lastError=i,!1},s}();Zone.FakeAsyncTestZoneSpec=s}("object"==typeof window&&window||"object"==typeof self&&self||global),
/**

@@ -23,10 +22,2 @@ * @license

*/
!function(e){var t=e.Date,r=function(){function e(){if(0===arguments.length){var r=new t;return r.setTime(e.now()),r}var n=Array.prototype.slice.call(arguments);return new(t.bind.apply(t,__spread([void 0],n)))}return e.now=function(){var e=Zone.current.get("FakeAsyncTestZoneSpec");return e?e.getCurrentRealTime()+e.getCurrentTime():t.now.apply(this,arguments)},e}();r.UTC=t.UTC,r.parse=t.parse;var n={setTimeout:e.setTimeout,setInterval:e.setInterval,clearTimeout:e.clearTimeout,clearInterval:e.clearInterval},i=function(){function r(){this._schedulerQueue=[],this._currentTime=0,this._currentRealTime=t.now()}return r.prototype.getCurrentTime=function(){return this._currentTime},r.prototype.getCurrentRealTime=function(){return this._currentRealTime},r.prototype.setCurrentRealTime=function(e){this._currentRealTime=e},r.prototype.scheduleFunction=function(e,t,n,i,s,o){void 0===n&&(n=[]),void 0===i&&(i=!1),void 0===s&&(s=!1),void 0===o&&(o=-1);for(var a=o<0?r.nextId++:o,u={endTime:this._currentTime+t,id:a,func:e,args:n,delay:t,isPeriodic:i,isRequestAnimationFrame:s},c=0;c<this._schedulerQueue.length&&!(u.endTime<this._schedulerQueue[c].endTime);c++);return this._schedulerQueue.splice(c,0,u),a},r.prototype.removeScheduledFunctionWithId=function(e){for(var t=0;t<this._schedulerQueue.length;t++)if(this._schedulerQueue[t].id==e){this._schedulerQueue.splice(t,1);break}},r.prototype.tick=function(t,r){void 0===t&&(t=0);var n=this._currentTime+t,i=0;if(0===this._schedulerQueue.length&&r)r(t);else{for(;this._schedulerQueue.length>0&&!(n<this._schedulerQueue[0].endTime);){var s=this._schedulerQueue.shift();if(i=this._currentTime,this._currentTime=s.endTime,r&&r(this._currentTime-i),!s.func.apply(e,s.isRequestAnimationFrame?[this._currentTime]:s.args))break}i=this._currentTime,this._currentTime=n,r&&r(this._currentTime-i)}},r.prototype.flush=function(e,t,r){return void 0===e&&(e=20),void 0===t&&(t=!1),t?this.flushPeriodic(r):this.flushNonPeriodic(e,r)},r.prototype.flushPeriodic=function(e){if(0===this._schedulerQueue.length)return 0;var t=this._currentTime;return this.tick(this._schedulerQueue[this._schedulerQueue.length-1].endTime-t,e),this._currentTime-t},r.prototype.flushNonPeriodic=function(t,r){for(var n=this._currentTime,i=0,s=0;this._schedulerQueue.length>0;){if(++s>t)throw new Error("flush failed after reaching the limit of "+t+" tasks. Does your code use a polling timeout?");if(0===this._schedulerQueue.filter(function(e){return!e.isPeriodic&&!e.isRequestAnimationFrame}).length)break;var o=this._schedulerQueue.shift();if(i=this._currentTime,this._currentTime=o.endTime,r&&r(this._currentTime-i),!o.func.apply(e,o.args))break}return this._currentTime-n},r}();i.nextId=1;var s=function(){function s(t,r,n){void 0===r&&(r=!1),this.trackPendingRequestAnimationFrame=r,this.macroTaskOptions=n,this._scheduler=new i,this._microtasks=[],this._lastError=null,this._uncaughtPromiseErrors=Promise[Zone.__symbol__("uncaughtPromiseErrors")],this.pendingPeriodicTimers=[],this.pendingTimers=[],this.patchDateLocked=!1,this.properties={FakeAsyncTestZoneSpec:this},this.name="fakeAsyncTestZone for "+t,this.macroTaskOptions||(this.macroTaskOptions=e[Zone.__symbol__("FakeAsyncTestMacroTask")])}return s.assertInZone=function(){if(null==Zone.current.get("FakeAsyncTestZoneSpec"))throw new Error("The code should be running in the fakeAsync zone to call this function")},s.prototype._fnAndFlush=function(t,r){var n=this;return function(){for(var i=[],s=0;s<arguments.length;s++)i[s]=arguments[s];return t.apply(e,i),null===n._lastError?(null!=r.onSuccess&&r.onSuccess.apply(e),n.flushMicrotasks()):null!=r.onError&&r.onError.apply(e),null===n._lastError}},s._removeTimer=function(e,t){var r=e.indexOf(t);r>-1&&e.splice(r,1)},s.prototype._dequeueTimer=function(e){var t=this;return function(){s._removeTimer(t.pendingTimers,e)}},s.prototype._requeuePeriodicTimer=function(e,t,r,n){var i=this;return function(){-1!==i.pendingPeriodicTimers.indexOf(n)&&i._scheduler.scheduleFunction(e,t,r,!0,!1,n)}},s.prototype._dequeuePeriodicTimer=function(e){var t=this;return function(){s._removeTimer(t.pendingPeriodicTimers,e)}},s.prototype._setTimeout=function(e,t,r,n){void 0===n&&(n=!0);var s=this._dequeueTimer(i.nextId),o=this._fnAndFlush(e,{onSuccess:s,onError:s}),a=this._scheduler.scheduleFunction(o,t,r,!1,!n);return n&&this.pendingTimers.push(a),a},s.prototype._clearTimeout=function(e){s._removeTimer(this.pendingTimers,e),this._scheduler.removeScheduledFunctionWithId(e)},s.prototype._setInterval=function(e,t,r){var n=i.nextId,s={onSuccess:null,onError:this._dequeuePeriodicTimer(n)},o=this._fnAndFlush(e,s);return s.onSuccess=this._requeuePeriodicTimer(o,t,r,n),this._scheduler.scheduleFunction(o,t,r,!0),this.pendingPeriodicTimers.push(n),n},s.prototype._clearInterval=function(e){s._removeTimer(this.pendingPeriodicTimers,e),this._scheduler.removeScheduledFunctionWithId(e)},s.prototype._resetLastErrorAndThrow=function(){var e=this._lastError||this._uncaughtPromiseErrors[0];throw this._uncaughtPromiseErrors.length=0,this._lastError=null,e},s.prototype.getCurrentTime=function(){return this._scheduler.getCurrentTime()},s.prototype.getCurrentRealTime=function(){return this._scheduler.getCurrentRealTime()},s.prototype.setCurrentRealTime=function(e){this._scheduler.setCurrentRealTime(e)},s.patchDate=function(){e[Zone.__symbol__("disableDatePatching")]||e.Date!==r&&(e.Date=r,r.prototype=t.prototype,s.checkTimerPatch())},s.resetDate=function(){e.Date===r&&(e.Date=t)},s.checkTimerPatch=function(){e.setTimeout!==n.setTimeout&&(e.setTimeout=n.setTimeout,e.clearTimeout=n.clearTimeout),e.setInterval!==n.setInterval&&(e.setInterval=n.setInterval,e.clearInterval=n.clearInterval)},s.prototype.lockDatePatch=function(){this.patchDateLocked=!0,s.patchDate()},s.prototype.unlockDatePatch=function(){this.patchDateLocked=!1,s.resetDate()},s.prototype.tick=function(e,t){void 0===e&&(e=0),s.assertInZone(),this.flushMicrotasks(),this._scheduler.tick(e,t),null!==this._lastError&&this._resetLastErrorAndThrow()},s.prototype.flushMicrotasks=function(){for(s.assertInZone();this._microtasks.length>0;){var e=this._microtasks.shift();e.func.apply(e.target,e.args)}(null!==this._lastError||this._uncaughtPromiseErrors.length)&&this._resetLastErrorAndThrow()},s.prototype.flush=function(e,t,r){s.assertInZone(),this.flushMicrotasks();var n=this._scheduler.flush(e,t,r);return null!==this._lastError&&this._resetLastErrorAndThrow(),n},s.prototype.onScheduleTask=function(e,t,r,n){switch(n.type){case"microTask":var i=n.data&&n.data.args,s=void 0;if(i){var o=n.data.cbIdx;"number"==typeof i.length&&i.length>o+1&&(s=Array.prototype.slice.call(i,o+1))}this._microtasks.push({func:n.invoke,args:s,target:n.data&&n.data.target});break;case"macroTask":switch(n.source){case"setTimeout":n.data.handleId=this._setTimeout(n.invoke,n.data.delay,Array.prototype.slice.call(n.data.args,2));break;case"setImmediate":n.data.handleId=this._setTimeout(n.invoke,0,Array.prototype.slice.call(n.data.args,1));break;case"setInterval":n.data.handleId=this._setInterval(n.invoke,n.data.delay,Array.prototype.slice.call(n.data.args,2));break;case"XMLHttpRequest.send":throw new Error("Cannot make XHRs from within a fake async test. Request URL: "+n.data.url);case"requestAnimationFrame":case"webkitRequestAnimationFrame":case"mozRequestAnimationFrame":n.data.handleId=this._setTimeout(n.invoke,16,n.data.args,this.trackPendingRequestAnimationFrame);break;default:var a=this.findMacroTaskOption(n);if(a){var u=n.data&&n.data.args,c=u&&u.length>1?u[1]:0,h=a.callbackArgs?a.callbackArgs:u;a.isPeriodic?(n.data.handleId=this._setInterval(n.invoke,c,h),n.data.isPeriodic=!0):n.data.handleId=this._setTimeout(n.invoke,c,h);break}throw new Error("Unknown macroTask scheduled in fake async test: "+n.source)}break;case"eventTask":n=e.scheduleTask(r,n)}return n},s.prototype.onCancelTask=function(e,t,r,n){switch(n.source){case"setTimeout":case"requestAnimationFrame":case"webkitRequestAnimationFrame":case"mozRequestAnimationFrame":return this._clearTimeout(n.data.handleId);case"setInterval":return this._clearInterval(n.data.handleId);default:var i=this.findMacroTaskOption(n);if(i){var s=n.data.handleId;return i.isPeriodic?this._clearInterval(s):this._clearTimeout(s)}return e.cancelTask(r,n)}},s.prototype.onInvoke=function(e,t,r,n,i,o,a){try{return s.patchDate(),e.invoke(r,n,i,o,a)}finally{this.patchDateLocked||s.resetDate()}},s.prototype.findMacroTaskOption=function(e){if(!this.macroTaskOptions)return null;for(var t=0;t<this.macroTaskOptions.length;t++){var r=this.macroTaskOptions[t];if(r.source===e.source)return r}return null},s.prototype.onHandleError=function(e,t,r,n){return this._lastError=n,!1},s}();Zone.FakeAsyncTestZoneSpec=s}("object"==typeof window&&window||"object"==typeof self&&self||global),
/**
* @license
* Copyright Google Inc. All Rights Reserved.
*
* Use of this source code is governed by an MIT-style license that can be
* found in the LICENSE file at https://angular.io/license
*/
Zone.__load_patch("fakeasync",function(e,t,r){var n=t&&t.FakeAsyncTestZoneSpec,i=t&&t.ProxyZoneSpec,s=null;function o(){s&&s.unlockDatePatch(),s=null,i&&i.assertPresent().resetDelegate()}function a(){if(null==s&&null==(s=t.current.get("FakeAsyncTestZoneSpec")))throw new Error("The code should be running in the fakeAsync zone to call this function");return s}function u(){a().flushMicrotasks()}t[r.symbol("fakeAsyncTest")]={resetFakeAsyncZone:o,flushMicrotasks:u,discardPeriodicTasks:function c(){a().pendingPeriodicTimers.length=0},tick:function h(e){void 0===e&&(e=0),a().tick(e)},flush:function l(e){return a().flush(e)},fakeAsync:function d(e){return function(){for(var r=[],a=0;a<arguments.length;a++)r[a]=arguments[a];var c=i.assertPresent();if(t.current.get("FakeAsyncTestZoneSpec"))throw new Error("fakeAsync() calls can not be nested");try{if(!s){if(c.getDelegate()instanceof n)throw new Error("fakeAsync() calls can not be nested");s=new n}var h=void 0,l=c.getDelegate();c.setDelegate(s),s.lockDatePatch();try{h=e.apply(this,r),u()}finally{c.setDelegate(l)}if(s.pendingPeriodicTimers.length>0)throw new Error(s.pendingPeriodicTimers.length+" periodic timer(s) still in the queue.");if(s.pendingTimers.length>0)throw new Error(s.pendingTimers.length+" timer(s) still in the queue.");return h}finally{o()}}}}})});
Zone.__load_patch("fakeasync",(function(e,t,r){var i=t&&t.FakeAsyncTestZoneSpec,n=t&&t.ProxyZoneSpec,s=null;function o(){s&&s.unlockDatePatch(),s=null,n&&n.assertPresent().resetDelegate()}function a(){if(null==s&&null==(s=t.current.get("FakeAsyncTestZoneSpec")))throw new Error("The code should be running in the fakeAsync zone to call this function");return s}function c(){a().flushMicrotasks()}t[r.symbol("fakeAsyncTest")]={resetFakeAsyncZone:o,flushMicrotasks:c,discardPeriodicTasks:function u(){a().pendingPeriodicTimers.length=0},tick:function h(e,t){void 0===e&&(e=0),void 0===t&&(t=!1),a().tick(e,null,t)},flush:function l(e){return a().flush(e)},fakeAsync:function d(e){return function(){for(var r=[],a=0;a<arguments.length;a++)r[a]=arguments[a];var u=n.assertPresent();if(t.current.get("FakeAsyncTestZoneSpec"))throw new Error("fakeAsync() calls can not be nested");try{if(!s){if(u.getDelegate()instanceof i)throw new Error("fakeAsync() calls can not be nested");s=new i}var h=void 0,l=u.getDelegate();u.setDelegate(s),s.lockDatePatch();try{h=e.apply(this,r),c()}finally{u.setDelegate(l)}if(s.pendingPeriodicTimers.length>0)throw new Error(s.pendingPeriodicTimers.length+" periodic timer(s) still in the queue.");if(s.pendingTimers.length>0)throw new Error(s.pendingTimers.length+" timer(s) still in the queue.");return h}finally{o()}}}}}))}));
/**
* @license Angular v0.10.2
* (c) 2010-2019 Google LLC. https://angular.io/
* License: MIT
*/
* @license Angular v9.1.0-next.4+61.sha-e552591.with-local-changes
* (c) 2010-2020 Google LLC. https://angular.io/
* License: MIT
*/
(function (factory) {
typeof define === 'function' && define.amd ? define(factory) :
factory();
}(function () {
}((function () {
'use strict';

@@ -18,3 +18,3 @@ /**

*/
(function (_global) {
Zone.__load_patch('jasmine', function (global, Zone, api) {
var __extends = function (d, b) {

@@ -31,6 +31,10 @@ for (var p in b)

throw new Error('Missing: zone.js');
if (typeof jasmine == 'undefined')
throw new Error('Missing: jasmine.js');
if (jasmine['__zone_patch__'])
throw new Error("'jasmine' has already been patched with 'Zone'.");
if (typeof jest !== 'undefined') {
// return if jasmine is a light implementation inside jest
// in this case, we are running inside jest not jasmine
return;
}
if (typeof jasmine == 'undefined' || jasmine['__zone_patch__']) {
return;
}
jasmine['__zone_patch__'] = true;

@@ -50,3 +54,3 @@ var SyncTestZoneSpec = Zone['SyncTestZoneSpec'];

// whether patch jasmine clock when in fakeAsync
var disablePatchingJasmineClock = _global[symbol('fakeAsyncDisablePatchingClock')] === true;
var disablePatchingJasmineClock = global[symbol('fakeAsyncDisablePatchingClock')] === true;
// the original variable name fakeAsyncPatchLock is not accurate, so the name will be

@@ -56,5 +60,5 @@ // fakeAsyncAutoFakeAsyncWhenClockPatched and if this enablePatchingJasmineClock is false, we also

var enableAutoFakeAsyncWhenClockPatched = !disablePatchingJasmineClock &&
((_global[symbol('fakeAsyncPatchLock')] === true) ||
(_global[symbol('fakeAsyncAutoFakeAsyncWhenClockPatched')] === true));
var ignoreUnhandledRejection = _global[symbol('ignoreUnhandledRejection')] === true;
((global[symbol('fakeAsyncPatchLock')] === true) ||
(global[symbol('fakeAsyncAutoFakeAsyncWhenClockPatched')] === true));
var ignoreUnhandledRejection = global[symbol('ignoreUnhandledRejection')] === true;
if (!ignoreUnhandledRejection) {

@@ -207,9 +211,9 @@ var globalErrors_1 = jasmine.GlobalErrors;

}
var nativeSetTimeout = _global[Zone.__symbol__('setTimeout')];
var nativeClearTimeout = _global[Zone.__symbol__('clearTimeout')];
var nativeSetTimeout = global[Zone.__symbol__('setTimeout')];
var nativeClearTimeout = global[Zone.__symbol__('clearTimeout')];
if (nativeSetTimeout) {
// should run setTimeout inside jasmine outside of zone
attrs.timeout = {
setTimeout: nativeSetTimeout ? nativeSetTimeout : _global.setTimeout,
clearTimeout: nativeClearTimeout ? nativeClearTimeout : _global.clearTimeout
setTimeout: nativeSetTimeout ? nativeSetTimeout : global.setTimeout,
clearTimeout: nativeClearTimeout ? nativeClearTimeout : global.clearTimeout
};

@@ -294,3 +298,3 @@ }

})(QueueRunner);
})(typeof window !== 'undefined' && window || typeof self !== 'undefined' && self || global);
}));
});
})));
/**
* @license Angular v0.10.2
* (c) 2010-2019 Google LLC. https://angular.io/
* License: MIT
*/
!function(e){"function"==typeof define&&define.amd?define(e):e()}(function(){"use strict";
* @license Angular v9.1.0-next.4+61.sha-e552591.with-local-changes
* (c) 2010-2020 Google LLC. https://angular.io/
* License: MIT
*/
!function(e){"function"==typeof define&&define.amd?define(e):e()}((function(){"use strict";
/**

@@ -13,10 +13,2 @@ * @license

* found in the LICENSE file at https://angular.io/license
*/
/**
* @license
* Copyright Google Inc. All Rights Reserved.
*
* Use of this source code is governed by an MIT-style license that can be
* found in the LICENSE file at https://angular.io/license
*/
!function(e){if(!Zone)throw new Error("Missing: zone.js");if("undefined"==typeof jasmine)throw new Error("Missing: jasmine.js");if(jasmine.__zone_patch__)throw new Error("'jasmine' has already been patched with 'Zone'.");jasmine.__zone_patch__=!0;var n=Zone.SyncTestZoneSpec,t=Zone.ProxyZoneSpec;if(!n)throw new Error("Missing: SyncTestZoneSpec");if(!t)throw new Error("Missing: ProxyZoneSpec");var o=Zone.current,r=o.fork(new n("jasmine.describe")),i=Zone.__symbol__,s=!0===e[i("fakeAsyncDisablePatchingClock")],c=!s&&(!0===e[i("fakeAsyncPatchLock")]||!0===e[i("fakeAsyncAutoFakeAsyncWhenClockPatched")]);if(!0!==e[i("ignoreUnhandledRejection")]){var a=jasmine.GlobalErrors;a&&!jasmine[i("GlobalErrors")]&&(jasmine[i("GlobalErrors")]=a,jasmine.GlobalErrors=function(){var e=new a,n=e.install;return n&&!e[i("install")]&&(e[i("install")]=n,e.install=function(){var e=process.listeners("unhandledRejection"),t=n.apply(this,arguments);return process.removeAllListeners("unhandledRejection"),e&&e.forEach(function(e){return process.on("unhandledRejection",e)}),t}),e})}var u=jasmine.getEnv();if(["describe","xdescribe","fdescribe"].forEach(function(e){var n=u[e];u[e]=function(e,t){return n.call(this,e,function o(e){return function(){return r.run(e,this,arguments)}}(t))}}),["it","xit","fit"].forEach(function(e){var n=u[e];u[i(e)]=n,u[e]=function(e,t,o){return arguments[1]=p(t),n.apply(this,arguments)}}),["beforeEach","afterEach","beforeAll","afterAll"].forEach(function(e){var n=u[e];u[i(e)]=n,u[e]=function(e,t){return arguments[0]=p(e),n.apply(this,arguments)}}),!s){var l=jasmine[i("clock")]=jasmine.clock;jasmine.clock=function(){var e=l.apply(this,arguments);if(!e[i("patched")]){e[i("patched")]=i("patched");var n=e[i("tick")]=e.tick;e.tick=function(){var e=Zone.current.get("FakeAsyncTestZoneSpec");return e?e.tick.apply(e,arguments):n.apply(this,arguments)};var t=e[i("mockDate")]=e.mockDate;e.mockDate=function(){var e=Zone.current.get("FakeAsyncTestZoneSpec");if(e){var n=arguments.length>0?arguments[0]:new Date;return e.setCurrentRealTime.apply(e,n&&"function"==typeof n.getTime?[n.getTime()]:arguments)}return t.apply(this,arguments)},c&&["install","uninstall"].forEach(function(n){var t=e[i(n)]=e[n];e[n]=function(){if(!Zone.FakeAsyncTestZoneSpec)return t.apply(this,arguments);jasmine[i("clockInstalled")]="install"===n}})}return e}}function f(e,n,t,o){var r=!!jasmine[i("clockInstalled")],s=t.testProxyZone;if(r&&c){var a=Zone[Zone.__symbol__("fakeAsyncTest")];a&&"function"==typeof a.fakeAsync&&(e=a.fakeAsync(e))}return o?s.run(e,n,[o]):s.run(e,n)}function p(e){return e&&(e.length?function(n){return f(e,this,this.queueRunner,n)}:function(){return f(e,this,this.queueRunner)})}var h=jasmine.QueueRunner;jasmine.QueueRunner=function(n){function r(t){var r,i=this;t.onComplete&&(t.onComplete=(r=t.onComplete,function(){i.testProxyZone=null,i.testProxyZoneSpec=null,o.scheduleMicroTask("jasmine.onComplete",r)}));var s=e[Zone.__symbol__("setTimeout")],c=e[Zone.__symbol__("clearTimeout")];s&&(t.timeout={setTimeout:s||e.setTimeout,clearTimeout:c||e.clearTimeout}),jasmine.UserContext?(t.userContext||(t.userContext=new jasmine.UserContext),t.userContext.queueRunner=this):(t.userContext||(t.userContext={}),t.userContext.queueRunner=this);var a=t.onException;t.onException=function(e){if(e&&"Timeout - Async callback was not invoked within timeout specified by jasmine.DEFAULT_TIMEOUT_INTERVAL."===e.message){var n=this&&this.testProxyZoneSpec;if(n){var t=n.getAndClearPendingTasksInfo();try{e.message+=t}catch(e){}}}a&&a.call(this,e)},n.call(this,t)}return function(e,n){for(var t in n)n.hasOwnProperty(t)&&(e[t]=n[t]);function o(){this.constructor=e}e.prototype=null===n?Object.create(n):(o.prototype=n.prototype,new o)}(r,n),r.prototype.execute=function(){for(var e=this,r=Zone.current,i=!1;r;){if(r===o){i=!0;break}r=r.parent}if(!i)throw new Error("Unexpected Zone: "+Zone.current.name);this.testProxyZoneSpec=new t,this.testProxyZone=o.fork(this.testProxyZoneSpec),Zone.currentTask?n.prototype.execute.call(this):Zone.current.scheduleMicroTask("jasmine.execute().forceTask",function(){return h.prototype.execute.call(e)})},r}(h)}("undefined"!=typeof window&&window||"undefined"!=typeof self&&self||global)});
*/Zone.__load_patch("jasmine",(function(e,n,t){if(!n)throw new Error("Missing: zone.js");if("undefined"==typeof jest&&"undefined"!=typeof jasmine&&!jasmine.__zone_patch__){jasmine.__zone_patch__=!0;var r=n.SyncTestZoneSpec,o=n.ProxyZoneSpec;if(!r)throw new Error("Missing: SyncTestZoneSpec");if(!o)throw new Error("Missing: ProxyZoneSpec");var i=n.current,c=i.fork(new r("jasmine.describe")),s=n.__symbol__,a=!0===e[s("fakeAsyncDisablePatchingClock")],u=!a&&(!0===e[s("fakeAsyncPatchLock")]||!0===e[s("fakeAsyncAutoFakeAsyncWhenClockPatched")]);if(!0!==e[s("ignoreUnhandledRejection")]){var l=jasmine.GlobalErrors;l&&!jasmine[s("GlobalErrors")]&&(jasmine[s("GlobalErrors")]=l,jasmine.GlobalErrors=function(){var e=new l,n=e.install;return n&&!e[s("install")]&&(e[s("install")]=n,e.install=function(){var e=process.listeners("unhandledRejection"),t=n.apply(this,arguments);return process.removeAllListeners("unhandledRejection"),e&&e.forEach((function(e){return process.on("unhandledRejection",e)})),t}),e})}var f=jasmine.getEnv();if(["describe","xdescribe","fdescribe"].forEach((function(e){var n=f[e];f[e]=function(e,t){return n.call(this,e,function r(e){return function(){return c.run(e,this,arguments)}}(t))}})),["it","xit","fit"].forEach((function(e){var n=f[e];f[s(e)]=n,f[e]=function(e,t,r){return arguments[1]=y(t),n.apply(this,arguments)}})),["beforeEach","afterEach","beforeAll","afterAll"].forEach((function(e){var n=f[e];f[s(e)]=n,f[e]=function(e,t){return arguments[0]=y(e),n.apply(this,arguments)}})),!a){var p=jasmine[s("clock")]=jasmine.clock;jasmine.clock=function(){var e=p.apply(this,arguments);if(!e[s("patched")]){e[s("patched")]=s("patched");var t=e[s("tick")]=e.tick;e.tick=function(){var e=n.current.get("FakeAsyncTestZoneSpec");return e?e.tick.apply(e,arguments):t.apply(this,arguments)};var r=e[s("mockDate")]=e.mockDate;e.mockDate=function(){var e=n.current.get("FakeAsyncTestZoneSpec");if(e){var t=arguments.length>0?arguments[0]:new Date;return e.setCurrentRealTime.apply(e,t&&"function"==typeof t.getTime?[t.getTime()]:arguments)}return r.apply(this,arguments)},u&&["install","uninstall"].forEach((function(t){var r=e[s(t)]=e[t];e[t]=function(){var e=n.FakeAsyncTestZoneSpec;if(!e)return r.apply(this,arguments);jasmine[s("clockInstalled")]="install"===t}}))}return e}}var h=jasmine.QueueRunner;jasmine.QueueRunner=function(t){function r(r){var o,c=this;r.onComplete&&(r.onComplete=(o=r.onComplete,function(){c.testProxyZone=null,c.testProxyZoneSpec=null,i.scheduleMicroTask("jasmine.onComplete",o)}));var s=e[n.__symbol__("setTimeout")],a=e[n.__symbol__("clearTimeout")];s&&(r.timeout={setTimeout:s||e.setTimeout,clearTimeout:a||e.clearTimeout}),jasmine.UserContext?(r.userContext||(r.userContext=new jasmine.UserContext),r.userContext.queueRunner=this):(r.userContext||(r.userContext={}),r.userContext.queueRunner=this);var u=r.onException;r.onException=function(e){if(e&&"Timeout - Async callback was not invoked within timeout specified by jasmine.DEFAULT_TIMEOUT_INTERVAL."===e.message){var n=this&&this.testProxyZoneSpec;if(n){var t=n.getAndClearPendingTasksInfo();try{e.message+=t}catch(e){}}}u&&u.call(this,e)},t.call(this,r)}return function(e,n){for(var t in n)n.hasOwnProperty(t)&&(e[t]=n[t]);function r(){this.constructor=e}e.prototype=null===n?Object.create(n):(r.prototype=n.prototype,new r)}(r,t),r.prototype.execute=function(){for(var e=this,r=n.current,c=!1;r;){if(r===i){c=!0;break}r=r.parent}if(!c)throw new Error("Unexpected Zone: "+n.current.name);this.testProxyZoneSpec=new o,this.testProxyZone=i.fork(this.testProxyZoneSpec),n.currentTask?t.prototype.execute.call(this):n.current.scheduleMicroTask("jasmine.execute().forceTask",(function(){return h.prototype.execute.call(e)}))},r}(h)}function m(e,t,r,o){var i=!!jasmine[s("clockInstalled")],c=r.testProxyZone;if(i&&u){var a=n[n.__symbol__("fakeAsyncTest")];a&&"function"==typeof a.fakeAsync&&(e=a.fakeAsync(e))}return o?c.run(e,t,[o]):c.run(e,t)}function y(e){return e&&(e.length?function(n){return m(e,this,this.queueRunner,n)}:function(){return m(e,this,this.queueRunner)})}}))}));
/**
* @license Angular v0.10.2
* (c) 2010-2019 Google LLC. https://angular.io/
* License: MIT
*/
* @license Angular v9.1.0-next.4+61.sha-e552591.with-local-changes
* (c) 2010-2020 Google LLC. https://angular.io/
* License: MIT
*/
(function (factory) {
typeof define === 'function' && define.amd ? define(factory) :
factory();
}(function () {
}((function () {
'use strict';

@@ -179,2 +179,2 @@ /**

computeIgnoreFrames();
}));
})));
/**
* @license Angular v0.10.2
* (c) 2010-2019 Google LLC. https://angular.io/
* License: MIT
*/
!function(t){"function"==typeof define&&define.amd?define(t):t()}(function(){"use strict";
* @license Angular v9.1.0-next.4+61.sha-e552591.with-local-changes
* (c) 2010-2020 Google LLC. https://angular.io/
* License: MIT
*/
!function(t){"function"==typeof define&&define.amd?define(t):t()}((function(){"use strict";
/**

@@ -13,2 +13,2 @@ * @license

* found in the LICENSE file at https://angular.io/license
*/var t="\n",a={},r="STACKTRACE TRACKING",e="__SEP_TAG__",n=e+"@[native]",c=function c(){this.error=f(),this.timestamp=new Date};function i(){return new Error(r)}function o(){try{throw i()}catch(t){return t}}var _=i(),s=o(),f=_.stack?i:s.stack?o:i;function u(a){return a.stack?a.stack.split(t):[]}function k(t,r){for(var e=u(r),n=0;n<e.length;n++)a.hasOwnProperty(e[n])||t.push(e[n])}function h(a,r){var c=[r?r.trim():""];if(a)for(var i=(new Date).getTime(),o=0;o<a.length;o++){var _=a[o],s=_.timestamp,f="____________________Elapsed "+(i-s.getTime())+" ms; At: "+s;f=f.replace(/[^\w\d]/g,"_"),c.push(n.replace(e,f)),k(c,_.error),i=s.getTime()}return c.join(t)}function l(){return Error.stackTraceLimit>0}Zone.longStackTraceZoneSpec={name:"long-stack-trace",longStackTraceLimit:10,getLongStackTrace:function(t){if(t){var a=t[Zone.__symbol__("currentTaskTrace")];return a?h(a,t.stack):t.stack}},onScheduleTask:function(t,a,r,e){if(l()){var n=Zone.currentTask,i=n&&n.data&&n.data.__creationTrace__||[];(i=[new c].concat(i)).length>this.longStackTraceLimit&&(i.length=this.longStackTraceLimit),e.data||(e.data={}),"eventTask"===e.type&&(e.data=Object.assign({},e.data)),e.data.__creationTrace__=i}return t.scheduleTask(r,e)},onHandleError:function(t,a,r,e){if(l()){var n=Zone.currentTask||e.task;if(e instanceof Error&&n){var c=h(n.data&&n.data.__creationTrace__,e.stack);try{e.stack=e.longStack=c}catch(t){}}}return t.handleError(r,e)}},function T(){if(l()){var t=[];!function t(a,r){r>0&&(a.push(u((new c).error)),t(a,r-1))}(t,2);for(var i=t[0],o=t[1],_=0;_<i.length;_++)if(-1==(f=i[_]).indexOf(r)){var s=f.match(/^\s*at\s+/);if(s){n=s[0]+e+" (http://localhost)";break}}for(_=0;_<i.length;_++){var f;if((f=i[_])!==o[_])break;a[f]=!0}}}()});
*/var t="\n",a={},r="STACKTRACE TRACKING",e="__SEP_TAG__",n=e+"@[native]",c=function c(){this.error=f(),this.timestamp=new Date};function i(){return new Error(r)}function o(){try{throw i()}catch(t){return t}}var _=i(),s=o(),f=_.stack?i:s.stack?o:i;function u(a){return a.stack?a.stack.split(t):[]}function k(t,r){for(var e=u(r),n=0;n<e.length;n++)a.hasOwnProperty(e[n])||t.push(e[n])}function h(a,r){var c=[r?r.trim():""];if(a)for(var i=(new Date).getTime(),o=0;o<a.length;o++){var _=a[o],s=_.timestamp,f="____________________Elapsed "+(i-s.getTime())+" ms; At: "+s;f=f.replace(/[^\w\d]/g,"_"),c.push(n.replace(e,f)),k(c,_.error),i=s.getTime()}return c.join(t)}function l(){return Error.stackTraceLimit>0}Zone.longStackTraceZoneSpec={name:"long-stack-trace",longStackTraceLimit:10,getLongStackTrace:function(t){if(t){var a=t[Zone.__symbol__("currentTaskTrace")];return a?h(a,t.stack):t.stack}},onScheduleTask:function(t,a,r,e){if(l()){var n=Zone.currentTask,i=n&&n.data&&n.data.__creationTrace__||[];(i=[new c].concat(i)).length>this.longStackTraceLimit&&(i.length=this.longStackTraceLimit),e.data||(e.data={}),"eventTask"===e.type&&(e.data=Object.assign({},e.data)),e.data.__creationTrace__=i}return t.scheduleTask(r,e)},onHandleError:function(t,a,r,e){if(l()){var n=Zone.currentTask||e.task;if(e instanceof Error&&n){var c=h(n.data&&n.data.__creationTrace__,e.stack);try{e.stack=e.longStack=c}catch(t){}}}return t.handleError(r,e)}},function T(){if(l()){var t=[];!function t(a,r){r>0&&(a.push(u((new c).error)),t(a,r-1))}(t,2);for(var i=t[0],o=t[1],_=0;_<i.length;_++)if(-1==(f=i[_]).indexOf(r)){var s=f.match(/^\s*at\s+/);if(s){n=s[0]+e+" (http://localhost)";break}}for(_=0;_<i.length;_++){var f;if((f=i[_])!==o[_])break;a[f]=!0}}}()}));
/**
* @license Angular v0.10.2
* (c) 2010-2019 Google LLC. https://angular.io/
* License: MIT
*/
* @license Angular v9.1.0-next.4+61.sha-e552591.with-local-changes
* (c) 2010-2020 Google LLC. https://angular.io/
* License: MIT
*/
(function (factory) {
typeof define === 'function' && define.amd ? define(factory) :
factory();
}(function () {
}((function () {
'use strict';

@@ -18,6 +18,8 @@ /**

*/
(function (context) {
var Mocha = context.Mocha;
Zone.__load_patch('mocha', function (global, Zone) {
var Mocha = global.Mocha;
if (typeof Mocha === 'undefined') {
throw new Error('Missing Mocha.js');
// return if Mocha is not available, because now zone-testing
// will load mocha patch with jasmine/jest patch
return;
}

@@ -92,29 +94,29 @@ if (typeof Zone === 'undefined') {

}
context.describe = context.suite = Mocha.describe = function () {
global.describe = global.suite = Mocha.describe = function () {
return mochaOriginal.describe.apply(this, wrapDescribeInZone(arguments));
};
context.xdescribe = context.suite.skip = Mocha.describe.skip = function () {
global.xdescribe = global.suite.skip = Mocha.describe.skip = function () {
return mochaOriginal.describe.skip.apply(this, wrapDescribeInZone(arguments));
};
context.describe.only = context.suite.only = Mocha.describe.only = function () {
global.describe.only = global.suite.only = Mocha.describe.only = function () {
return mochaOriginal.describe.only.apply(this, wrapDescribeInZone(arguments));
};
context.it = context.specify = context.test =
global.it = global.specify = global.test =
Mocha.it = function () { return mochaOriginal.it.apply(this, wrapTestInZone(arguments)); };
context.xit = context.xspecify = Mocha.it.skip = function () {
global.xit = global.xspecify = Mocha.it.skip = function () {
return mochaOriginal.it.skip.apply(this, wrapTestInZone(arguments));
};
context.it.only = context.test.only = Mocha.it.only = function () {
global.it.only = global.test.only = Mocha.it.only = function () {
return mochaOriginal.it.only.apply(this, wrapTestInZone(arguments));
};
context.after = context.suiteTeardown = Mocha.after = function () {
global.after = global.suiteTeardown = Mocha.after = function () {
return mochaOriginal.after.apply(this, wrapSuiteInZone(arguments));
};
context.afterEach = context.teardown = Mocha.afterEach = function () {
global.afterEach = global.teardown = Mocha.afterEach = function () {
return mochaOriginal.afterEach.apply(this, wrapTestInZone(arguments));
};
context.before = context.suiteSetup = Mocha.before = function () {
global.before = global.suiteSetup = Mocha.before = function () {
return mochaOriginal.before.apply(this, wrapSuiteInZone(arguments));
};
context.beforeEach = context.setup = Mocha.beforeEach = function () {
global.beforeEach = global.setup = Mocha.beforeEach = function () {
return mochaOriginal.beforeEach.apply(this, wrapTestInZone(arguments));

@@ -143,3 +145,3 @@ };

})(Mocha.Runner.prototype.runTest, Mocha.Runner.prototype.run);
})(typeof window !== 'undefined' && window || typeof self !== 'undefined' && self || global);
}));
});
})));
/**
* @license Angular v0.10.2
* (c) 2010-2019 Google LLC. https://angular.io/
* License: MIT
*/
!function(n){"function"==typeof define&&define.amd?define(n):n()}(function(){"use strict";
* @license Angular v9.1.0-next.4+61.sha-e552591.with-local-changes
* (c) 2010-2020 Google LLC. https://angular.io/
* License: MIT
*/
!function(n){"function"==typeof define&&define.amd?define(n):n()}((function(){"use strict";
/**

@@ -13,10 +13,2 @@ * @license

* found in the LICENSE file at https://angular.io/license
*/
/**
* @license
* Copyright Google Inc. All Rights Reserved.
*
* Use of this source code is governed by an MIT-style license that can be
* found in the LICENSE file at https://angular.io/license
*/
!function(n){var e=n.Mocha;if(void 0===e)throw new Error("Missing Mocha.js");if("undefined"==typeof Zone)throw new Error("Missing Zone.js");var t=Zone.ProxyZoneSpec,r=Zone.SyncTestZoneSpec;if(!t)throw new Error("Missing ProxyZoneSpec");if(e.__zone_patch__)throw new Error('"Mocha" has already been patched with "Zone".');e.__zone_patch__=!0;var i,o,u=Zone.current,c=u.fork(new r("Mocha.describe")),f=null,s=u.fork(new t),a={after:e.after,afterEach:e.afterEach,before:e.before,beforeEach:e.beforeEach,describe:e.describe,it:e.it};function p(n,e,t){for(var r=function(r){var i=n[r];"function"==typeof i&&(n[r]=0===i.length?e(i):t(i),n[r].toString=function(){return i.toString()})},i=0;i<n.length;i++)r(i);return n}function h(n){return p(n,function(n){return function(){return c.run(n,this,arguments)}})}function y(n){return p(n,function(n){return function(){return f.run(n,this)}},function(n){return function(e){return f.run(n,this,[e])}})}function l(n){return p(n,function(n){return function(){return s.run(n,this)}},function(n){return function(e){return s.run(n,this,[e])}})}n.describe=n.suite=e.describe=function(){return a.describe.apply(this,h(arguments))},n.xdescribe=n.suite.skip=e.describe.skip=function(){return a.describe.skip.apply(this,h(arguments))},n.describe.only=n.suite.only=e.describe.only=function(){return a.describe.only.apply(this,h(arguments))},n.it=n.specify=n.test=e.it=function(){return a.it.apply(this,y(arguments))},n.xit=n.xspecify=e.it.skip=function(){return a.it.skip.apply(this,y(arguments))},n.it.only=n.test.only=e.it.only=function(){return a.it.only.apply(this,y(arguments))},n.after=n.suiteTeardown=e.after=function(){return a.after.apply(this,l(arguments))},n.afterEach=n.teardown=e.afterEach=function(){return a.afterEach.apply(this,y(arguments))},n.before=n.suiteSetup=e.before=function(){return a.before.apply(this,l(arguments))},n.beforeEach=n.setup=e.beforeEach=function(){return a.beforeEach.apply(this,y(arguments))},i=e.Runner.prototype.runTest,o=e.Runner.prototype.run,e.Runner.prototype.runTest=function(n){var e=this;Zone.current.scheduleMicroTask("mocha.forceTask",function(){i.call(e,n)})},e.Runner.prototype.run=function(n){return this.on("test",function(n){f=u.fork(new t)}),this.on("fail",function(n,e){var t=f&&f.get("ProxyZoneSpec");if(t&&e)try{e.message+=t.getAndClearPendingTasksInfo()}catch(n){}}),o.call(this,n)}}("undefined"!=typeof window&&window||"undefined"!=typeof self&&self||global)});
*/Zone.__load_patch("mocha",(function(n,t){var e=n.Mocha;if(void 0!==e){if(void 0===t)throw new Error("Missing Zone.js");var r=t.ProxyZoneSpec,i=t.SyncTestZoneSpec;if(!r)throw new Error("Missing ProxyZoneSpec");if(e.__zone_patch__)throw new Error('"Mocha" has already been patched with "Zone".');e.__zone_patch__=!0;var o,u,c=t.current,f=c.fork(new i("Mocha.describe")),s=null,a=c.fork(new r),h={after:e.after,afterEach:e.afterEach,before:e.before,beforeEach:e.beforeEach,describe:e.describe,it:e.it};n.describe=n.suite=e.describe=function(){return h.describe.apply(this,y(arguments))},n.xdescribe=n.suite.skip=e.describe.skip=function(){return h.describe.skip.apply(this,y(arguments))},n.describe.only=n.suite.only=e.describe.only=function(){return h.describe.only.apply(this,y(arguments))},n.it=n.specify=n.test=e.it=function(){return h.it.apply(this,l(arguments))},n.xit=n.xspecify=e.it.skip=function(){return h.it.skip.apply(this,l(arguments))},n.it.only=n.test.only=e.it.only=function(){return h.it.only.apply(this,l(arguments))},n.after=n.suiteTeardown=e.after=function(){return h.after.apply(this,d(arguments))},n.afterEach=n.teardown=e.afterEach=function(){return h.afterEach.apply(this,l(arguments))},n.before=n.suiteSetup=e.before=function(){return h.before.apply(this,d(arguments))},n.beforeEach=n.setup=e.beforeEach=function(){return h.beforeEach.apply(this,l(arguments))},o=e.Runner.prototype.runTest,u=e.Runner.prototype.run,e.Runner.prototype.runTest=function(n){var e=this;t.current.scheduleMicroTask("mocha.forceTask",(function(){o.call(e,n)}))},e.Runner.prototype.run=function(n){return this.on("test",(function(n){s=c.fork(new r)})),this.on("fail",(function(n,t){var e=s&&s.get("ProxyZoneSpec");if(e&&t)try{t.message+=e.getAndClearPendingTasksInfo()}catch(n){}})),u.call(this,n)}}function p(n,t,e){for(var r=function(r){var i=n[r];"function"==typeof i&&(n[r]=0===i.length?t(i):e(i),n[r].toString=function(){return i.toString()})},i=0;i<n.length;i++)r(i);return n}function y(n){return p(n,(function(n){return function(){return f.run(n,this,arguments)}}))}function l(n){return p(n,(function(n){return function(){return s.run(n,this)}}),(function(n){return function(t){return s.run(n,this,[t])}}))}function d(n){return p(n,(function(n){return function(){return a.run(n,this)}}),(function(n){return function(t){return a.run(n,this,[t])}}))}}))}));
/**
* @license Angular v0.10.2
* (c) 2010-2019 Google LLC. https://angular.io/
* License: MIT
*/
* @license Angular v9.1.0-next.4+61.sha-e552591.with-local-changes
* (c) 2010-2020 Google LLC. https://angular.io/
* License: MIT
*/
(function (factory) {
typeof define === 'function' && define.amd ? define(factory) :
factory();
}(function () {
}((function () {
'use strict';

@@ -177,2 +177,2 @@ /**

Zone['ProxyZoneSpec'] = ProxyZoneSpec;
}));
})));
/**
* @license Angular v0.10.2
* (c) 2010-2019 Google LLC. https://angular.io/
* License: MIT
*/
!function(e){"function"==typeof define&&define.amd?define(e):e()}(function(){"use strict";
* @license Angular v9.1.0-next.4+61.sha-e552591.with-local-changes
* (c) 2010-2020 Google LLC. https://angular.io/
* License: MIT
*/
!function(e){"function"==typeof define&&define.amd?define(e):e()}((function(){"use strict";
/**

@@ -13,2 +13,2 @@ * @license

* found in the LICENSE file at https://angular.io/license
*/var e=function(){function e(e){void 0===e&&(e=null),this.defaultSpecDelegate=e,this.name="ProxyZone",this._delegateSpec=null,this.properties={ProxyZoneSpec:this},this.propertyKeys=null,this.lastTaskState=null,this.isNeedToTriggerHasTask=!1,this.tasks=[],this.setDelegate(e)}return e.get=function(){return Zone.current.get("ProxyZoneSpec")},e.isLoaded=function(){return e.get()instanceof e},e.assertPresent=function(){if(!e.isLoaded())throw new Error("Expected to be running in 'ProxyZone', but it was not found.");return e.get()},e.prototype.setDelegate=function(e){var t=this,s=this._delegateSpec!==e;this._delegateSpec=e,this.propertyKeys&&this.propertyKeys.forEach(function(e){return delete t.properties[e]}),this.propertyKeys=null,e&&e.properties&&(this.propertyKeys=Object.keys(e.properties),this.propertyKeys.forEach(function(s){return t.properties[s]=e.properties[s]})),s&&this.lastTaskState&&(this.lastTaskState.macroTask||this.lastTaskState.microTask)&&(this.isNeedToTriggerHasTask=!0)},e.prototype.getDelegate=function(){return this._delegateSpec},e.prototype.resetDelegate=function(){this.getDelegate(),this.setDelegate(this.defaultSpecDelegate)},e.prototype.tryTriggerHasTask=function(e,t,s){this.isNeedToTriggerHasTask&&this.lastTaskState&&(this.isNeedToTriggerHasTask=!1,this.onHasTask(e,t,s,this.lastTaskState))},e.prototype.removeFromTasks=function(e){if(this.tasks)for(var t=0;t<this.tasks.length;t++)if(this.tasks[t]===e)return void this.tasks.splice(t,1)},e.prototype.getAndClearPendingTasksInfo=function(){if(0===this.tasks.length)return"";var e="--Pending async tasks are: ["+this.tasks.map(function(e){var t=e.data&&Object.keys(e.data).map(function(t){return t+":"+e.data[t]}).join(",");return"type: "+e.type+", source: "+e.source+", args: {"+t+"}"})+"]";return this.tasks=[],e},e.prototype.onFork=function(e,t,s,n){return this._delegateSpec&&this._delegateSpec.onFork?this._delegateSpec.onFork(e,t,s,n):e.fork(s,n)},e.prototype.onIntercept=function(e,t,s,n,r){return this._delegateSpec&&this._delegateSpec.onIntercept?this._delegateSpec.onIntercept(e,t,s,n,r):e.intercept(s,n,r)},e.prototype.onInvoke=function(e,t,s,n,r,a,o){return this.tryTriggerHasTask(e,t,s),this._delegateSpec&&this._delegateSpec.onInvoke?this._delegateSpec.onInvoke(e,t,s,n,r,a,o):e.invoke(s,n,r,a,o)},e.prototype.onHandleError=function(e,t,s,n){return this._delegateSpec&&this._delegateSpec.onHandleError?this._delegateSpec.onHandleError(e,t,s,n):e.handleError(s,n)},e.prototype.onScheduleTask=function(e,t,s,n){return"eventTask"!==n.type&&this.tasks.push(n),this._delegateSpec&&this._delegateSpec.onScheduleTask?this._delegateSpec.onScheduleTask(e,t,s,n):e.scheduleTask(s,n)},e.prototype.onInvokeTask=function(e,t,s,n,r,a){return"eventTask"!==n.type&&this.removeFromTasks(n),this.tryTriggerHasTask(e,t,s),this._delegateSpec&&this._delegateSpec.onInvokeTask?this._delegateSpec.onInvokeTask(e,t,s,n,r,a):e.invokeTask(s,n,r,a)},e.prototype.onCancelTask=function(e,t,s,n){return"eventTask"!==n.type&&this.removeFromTasks(n),this.tryTriggerHasTask(e,t,s),this._delegateSpec&&this._delegateSpec.onCancelTask?this._delegateSpec.onCancelTask(e,t,s,n):e.cancelTask(s,n)},e.prototype.onHasTask=function(e,t,s,n){this.lastTaskState=n,this._delegateSpec&&this._delegateSpec.onHasTask?this._delegateSpec.onHasTask(e,t,s,n):e.hasTask(s,n)},e}();Zone.ProxyZoneSpec=e});
*/var e=function(){function e(e){void 0===e&&(e=null),this.defaultSpecDelegate=e,this.name="ProxyZone",this._delegateSpec=null,this.properties={ProxyZoneSpec:this},this.propertyKeys=null,this.lastTaskState=null,this.isNeedToTriggerHasTask=!1,this.tasks=[],this.setDelegate(e)}return e.get=function(){return Zone.current.get("ProxyZoneSpec")},e.isLoaded=function(){return e.get()instanceof e},e.assertPresent=function(){if(!e.isLoaded())throw new Error("Expected to be running in 'ProxyZone', but it was not found.");return e.get()},e.prototype.setDelegate=function(e){var t=this,s=this._delegateSpec!==e;this._delegateSpec=e,this.propertyKeys&&this.propertyKeys.forEach((function(e){return delete t.properties[e]})),this.propertyKeys=null,e&&e.properties&&(this.propertyKeys=Object.keys(e.properties),this.propertyKeys.forEach((function(s){return t.properties[s]=e.properties[s]}))),s&&this.lastTaskState&&(this.lastTaskState.macroTask||this.lastTaskState.microTask)&&(this.isNeedToTriggerHasTask=!0)},e.prototype.getDelegate=function(){return this._delegateSpec},e.prototype.resetDelegate=function(){this.getDelegate(),this.setDelegate(this.defaultSpecDelegate)},e.prototype.tryTriggerHasTask=function(e,t,s){this.isNeedToTriggerHasTask&&this.lastTaskState&&(this.isNeedToTriggerHasTask=!1,this.onHasTask(e,t,s,this.lastTaskState))},e.prototype.removeFromTasks=function(e){if(this.tasks)for(var t=0;t<this.tasks.length;t++)if(this.tasks[t]===e)return void this.tasks.splice(t,1)},e.prototype.getAndClearPendingTasksInfo=function(){if(0===this.tasks.length)return"";var e="--Pending async tasks are: ["+this.tasks.map((function(e){var t=e.data&&Object.keys(e.data).map((function(t){return t+":"+e.data[t]})).join(",");return"type: "+e.type+", source: "+e.source+", args: {"+t+"}"}))+"]";return this.tasks=[],e},e.prototype.onFork=function(e,t,s,n){return this._delegateSpec&&this._delegateSpec.onFork?this._delegateSpec.onFork(e,t,s,n):e.fork(s,n)},e.prototype.onIntercept=function(e,t,s,n,r){return this._delegateSpec&&this._delegateSpec.onIntercept?this._delegateSpec.onIntercept(e,t,s,n,r):e.intercept(s,n,r)},e.prototype.onInvoke=function(e,t,s,n,r,a,o){return this.tryTriggerHasTask(e,t,s),this._delegateSpec&&this._delegateSpec.onInvoke?this._delegateSpec.onInvoke(e,t,s,n,r,a,o):e.invoke(s,n,r,a,o)},e.prototype.onHandleError=function(e,t,s,n){return this._delegateSpec&&this._delegateSpec.onHandleError?this._delegateSpec.onHandleError(e,t,s,n):e.handleError(s,n)},e.prototype.onScheduleTask=function(e,t,s,n){return"eventTask"!==n.type&&this.tasks.push(n),this._delegateSpec&&this._delegateSpec.onScheduleTask?this._delegateSpec.onScheduleTask(e,t,s,n):e.scheduleTask(s,n)},e.prototype.onInvokeTask=function(e,t,s,n,r,a){return"eventTask"!==n.type&&this.removeFromTasks(n),this.tryTriggerHasTask(e,t,s),this._delegateSpec&&this._delegateSpec.onInvokeTask?this._delegateSpec.onInvokeTask(e,t,s,n,r,a):e.invokeTask(s,n,r,a)},e.prototype.onCancelTask=function(e,t,s,n){return"eventTask"!==n.type&&this.removeFromTasks(n),this.tryTriggerHasTask(e,t,s),this._delegateSpec&&this._delegateSpec.onCancelTask?this._delegateSpec.onCancelTask(e,t,s,n):e.cancelTask(s,n)},e.prototype.onHasTask=function(e,t,s,n){this.lastTaskState=n,this._delegateSpec&&this._delegateSpec.onHasTask?this._delegateSpec.onHasTask(e,t,s,n):e.hasTask(s,n)},e}();Zone.ProxyZoneSpec=e}));
/**
* @license Angular v0.10.2
* (c) 2010-2019 Google LLC. https://angular.io/
* License: MIT
*/
* @license Angular v9.1.0-next.4+61.sha-e552591.with-local-changes
* (c) 2010-2020 Google LLC. https://angular.io/
* License: MIT
*/
(function (factory) {
typeof define === 'function' && define.amd ? define(factory) :
factory();
}(function () {
}((function () {
'use strict';

@@ -39,2 +39,2 @@ /**

Zone['SyncTestZoneSpec'] = SyncTestZoneSpec;
}));
})));
/**
* @license Angular v0.10.2
* (c) 2010-2019 Google LLC. https://angular.io/
* License: MIT
*/
!function(e){"function"==typeof define&&define.amd?define(e):e()}(function(){"use strict";
* @license Angular v9.1.0-next.4+61.sha-e552591.with-local-changes
* (c) 2010-2020 Google LLC. https://angular.io/
* License: MIT
*/
!function(e){"function"==typeof define&&define.amd?define(e):e()}((function(){"use strict";
/**

@@ -13,2 +13,2 @@ * @license

* found in the LICENSE file at https://angular.io/license
*/var e=function(){function e(e){this.runZone=Zone.current,this.name="syncTestZone for "+e}return e.prototype.onScheduleTask=function(e,n,t,o){switch(o.type){case"microTask":case"macroTask":throw new Error("Cannot call "+o.source+" from within a sync test.");case"eventTask":o=e.scheduleTask(t,o)}return o},e}();Zone.SyncTestZoneSpec=e});
*/var e=function(){function e(e){this.runZone=Zone.current,this.name="syncTestZone for "+e}return e.prototype.onScheduleTask=function(e,n,t,o){switch(o.type){case"microTask":case"macroTask":throw new Error("Cannot call "+o.source+" from within a sync test.");case"eventTask":o=e.scheduleTask(t,o)}return o},e}();Zone.SyncTestZoneSpec=e}));
/**
* @license Angular v0.10.2
* (c) 2010-2019 Google LLC. https://angular.io/
* License: MIT
*/
* @license Angular v9.1.0-next.4+61.sha-e552591.with-local-changes
* (c) 2010-2020 Google LLC. https://angular.io/
* License: MIT
*/
(function (factory) {
typeof define === 'function' && define.amd ? define(factory) :
factory();
}(function () {
}((function () {
'use strict';

@@ -82,2 +82,2 @@ /**

Zone['TaskTrackingZoneSpec'] = TaskTrackingZoneSpec;
}));
})));
/**
* @license Angular v0.10.2
* (c) 2010-2019 Google LLC. https://angular.io/
* License: MIT
*/
!function(e){"function"==typeof define&&define.amd?define(e):e()}(function(){"use strict";
* @license Angular v9.1.0-next.4+61.sha-e552591.with-local-changes
* (c) 2010-2020 Google LLC. https://angular.io/
* License: MIT
*/
!function(e){"function"==typeof define&&define.amd?define(e):e()}((function(){"use strict";
/**

@@ -13,2 +13,2 @@ * @license

* found in the LICENSE file at https://angular.io/license
*/var e=function(){function e(){this.name="TaskTrackingZone",this.microTasks=[],this.macroTasks=[],this.eventTasks=[],this.properties={TaskTrackingZone:this}}return e.get=function(){return Zone.current.get("TaskTrackingZone")},e.prototype.getTasksFor=function(e){switch(e){case"microTask":return this.microTasks;case"macroTask":return this.macroTasks;case"eventTask":return this.eventTasks}throw new Error("Unknown task format: "+e)},e.prototype.onScheduleTask=function(e,t,n,s){return s.creationLocation=new Error("Task '"+s.type+"' from '"+s.source+"'."),this.getTasksFor(s.type).push(s),e.scheduleTask(n,s)},e.prototype.onCancelTask=function(e,t,n,s){for(var r=this.getTasksFor(s.type),o=0;o<r.length;o++)if(r[o]==s){r.splice(o,1);break}return e.cancelTask(n,s)},e.prototype.onInvokeTask=function(e,t,n,s,r,o){if("eventTask"===s.type)return e.invokeTask(n,s,r,o);for(var a=this.getTasksFor(s.type),i=0;i<a.length;i++)if(a[i]==s){a.splice(i,1);break}return e.invokeTask(n,s,r,o)},e.prototype.clearEvents=function(){for(;this.eventTasks.length;)Zone.current.cancelTask(this.eventTasks[0])},e}();Zone.TaskTrackingZoneSpec=e});
*/var e=function(){function e(){this.name="TaskTrackingZone",this.microTasks=[],this.macroTasks=[],this.eventTasks=[],this.properties={TaskTrackingZone:this}}return e.get=function(){return Zone.current.get("TaskTrackingZone")},e.prototype.getTasksFor=function(e){switch(e){case"microTask":return this.microTasks;case"macroTask":return this.macroTasks;case"eventTask":return this.eventTasks}throw new Error("Unknown task format: "+e)},e.prototype.onScheduleTask=function(e,t,n,s){return s.creationLocation=new Error("Task '"+s.type+"' from '"+s.source+"'."),this.getTasksFor(s.type).push(s),e.scheduleTask(n,s)},e.prototype.onCancelTask=function(e,t,n,s){for(var r=this.getTasksFor(s.type),o=0;o<r.length;o++)if(r[o]==s){r.splice(o,1);break}return e.cancelTask(n,s)},e.prototype.onInvokeTask=function(e,t,n,s,r,o){if("eventTask"===s.type)return e.invokeTask(n,s,r,o);for(var a=this.getTasksFor(s.type),i=0;i<a.length;i++)if(a[i]==s){a.splice(i,1);break}return e.invokeTask(n,s,r,o)},e.prototype.clearEvents=function(){for(;this.eventTasks.length;)Zone.current.cancelTask(this.eventTasks[0])},e}();Zone.TaskTrackingZoneSpec=e}));
/**
* @license Angular v0.10.2
* (c) 2010-2019 Google LLC. https://angular.io/
* License: MIT
*/
* @license Angular v9.1.0-next.4+61.sha-e552591.with-local-changes
* (c) 2010-2020 Google LLC. https://angular.io/
* License: MIT
*/
(function (factory) {
typeof define === 'function' && define.amd ? define(factory) :
factory();
}(function () {
}((function () {
'use strict';

@@ -79,2 +79,2 @@ /**

});
}));
})));
/**
* @license Angular v0.10.2
* (c) 2010-2019 Google LLC. https://angular.io/
* License: MIT
*/
!function(e){"function"==typeof define&&define.amd?define(e):e()}(function(){"use strict";
* @license Angular v9.1.0-next.4+61.sha-e552591.with-local-changes
* (c) 2010-2020 Google LLC. https://angular.io/
* License: MIT
*/
!function(e){"function"==typeof define&&define.amd?define(e):e()}((function(){"use strict";
/**

@@ -13,2 +13,2 @@ * @license

* found in the LICENSE file at https://angular.io/license
*/Zone.__load_patch("mediaQuery",function(e,t,n){function r(e){n.patchMethod(e,"addListener",function(e){return function(r,a){var i=a.length>0?a[0]:null;if("function"==typeof i){var u=t.current.wrap(i,"MediaQuery");return i[n.symbol("mediaQueryCallback")]=u,e.call(r,u)}return e.apply(r,a)}})}function a(e){n.patchMethod(e,"removeListener",function(e){return function(t,r){var a=r.length>0?r[0]:null;if("function"==typeof a){var i=a[n.symbol("mediaQueryCallback")];return i?e.call(t,i):e.apply(t,r)}return e.apply(t,r)}})}if(e.MediaQueryList){var i=e.MediaQueryList.prototype;r(i),a(i)}else e.matchMedia&&n.patchMethod(e,"matchMedia",function(e){return function(t,n){var i=e.apply(t,n);if(i){var u=Object.getPrototypeOf(i);u&&u.addListener?(r(u),a(u),r(i),a(i)):i.addListener&&(r(i),a(i))}return i}})})});
*/Zone.__load_patch("mediaQuery",(function(e,t,n){function r(e){n.patchMethod(e,"addListener",(function(e){return function(r,a){var i=a.length>0?a[0]:null;if("function"==typeof i){var u=t.current.wrap(i,"MediaQuery");return i[n.symbol("mediaQueryCallback")]=u,e.call(r,u)}return e.apply(r,a)}}))}function a(e){n.patchMethod(e,"removeListener",(function(e){return function(t,r){var a=r.length>0?r[0]:null;if("function"==typeof a){var i=a[n.symbol("mediaQueryCallback")];return i?e.call(t,i):e.apply(t,r)}return e.apply(t,r)}}))}if(e.MediaQueryList){var i=e.MediaQueryList.prototype;r(i),a(i)}else e.matchMedia&&n.patchMethod(e,"matchMedia",(function(e){return function(t,n){var i=e.apply(t,n);if(i){var u=Object.getPrototypeOf(i);u&&u.addListener?(r(u),a(u),r(i),a(i)):i.addListener&&(r(i),a(i))}return i}}))}))}));
/**
* @license Angular v0.10.2
* (c) 2010-2019 Google LLC. https://angular.io/
* License: MIT
*/
* @license Angular v9.1.0-next.4+61.sha-e552591.with-local-changes
* (c) 2010-2020 Google LLC. https://angular.io/
* License: MIT
*/
(function (factory) {
typeof define === 'function' && define.amd ? define(factory) :
factory();
}(function () {
}((function () {
'use strict';

@@ -29,2 +29,2 @@ /**

});
}));
})));
/**
* @license Angular v0.10.2
* (c) 2010-2019 Google LLC. https://angular.io/
* License: MIT
*/
!function(t){"function"==typeof define&&define.amd?define(t):t()}(function(){"use strict";
* @license Angular v9.1.0-next.4+61.sha-e552591.with-local-changes
* (c) 2010-2020 Google LLC. https://angular.io/
* License: MIT
*/
!function(t){"function"==typeof define&&define.amd?define(t):t()}((function(){"use strict";
/**

@@ -13,2 +13,2 @@ * @license

* found in the LICENSE file at https://angular.io/license
*/Zone.__load_patch("notification",function(t,o,e){var n=t.Notification;if(n&&n.prototype){var i=Object.getOwnPropertyDescriptor(n.prototype,"onerror");i&&i.configurable&&e.patchOnProperties(n.prototype,null)}})});
*/Zone.__load_patch("notification",(function(t,o,e){var n=t.Notification;if(n&&n.prototype){var i=Object.getOwnPropertyDescriptor(n.prototype,"onerror");i&&i.configurable&&e.patchOnProperties(n.prototype,null)}}))}));
/**
* @license Angular v0.10.2
* (c) 2010-2019 Google LLC. https://angular.io/
* License: MIT
*/
* @license Angular v9.1.0-next.4+61.sha-e552591.with-local-changes
* (c) 2010-2020 Google LLC. https://angular.io/
* License: MIT
*/
(function (factory) {
typeof define === 'function' && define.amd ? define(factory) :
factory();
}(function () {
}((function () {
'use strict';

@@ -33,2 +33,2 @@ /**

});
}));
})));
/**
* @license Angular v0.10.2
* (c) 2010-2019 Google LLC. https://angular.io/
* License: MIT
*/
!function(e){"function"==typeof define&&define.amd?define(e):e()}(function(){"use strict";
* @license Angular v9.1.0-next.4+61.sha-e552591.with-local-changes
* (c) 2010-2020 Google LLC. https://angular.io/
* License: MIT
*/
!function(e){"function"==typeof define&&define.amd?define(e):e()}((function(){"use strict";
/**

@@ -13,2 +13,2 @@ * @license

* found in the LICENSE file at https://angular.io/license
*/Zone.__load_patch("RTCPeerConnection",function(e,t,n){var o=e.RTCPeerConnection;if(o){var r=n.symbol("addEventListener"),p=n.symbol("removeEventListener");o.prototype.addEventListener=o.prototype[r],o.prototype.removeEventListener=o.prototype[p],o.prototype[r]=null,o.prototype[p]=null,n.patchEventTarget(e,[o.prototype],{useG:!1})}})});
*/Zone.__load_patch("RTCPeerConnection",(function(e,t,n){var o=e.RTCPeerConnection;if(o){var r=n.symbol("addEventListener"),p=n.symbol("removeEventListener");o.prototype.addEventListener=o.prototype[r],o.prototype.removeEventListener=o.prototype[p],o.prototype[r]=null,o.prototype[p]=null,n.patchEventTarget(e,[o.prototype],{useG:!1})}}))}));
/**
* @license Angular v0.10.2
* (c) 2010-2019 Google LLC. https://angular.io/
* License: MIT
*/
* @license Angular v9.1.0-next.4+61.sha-e552591.with-local-changes
* (c) 2010-2020 Google LLC. https://angular.io/
* License: MIT
*/
(function (factory) {
typeof define === 'function' && define.amd ? define(factory) :
factory();
}(function () {
}((function () {
'use strict';

@@ -37,2 +37,2 @@ /**

});
}));
})));
/**
* @license Angular v0.10.2
* (c) 2010-2019 Google LLC. https://angular.io/
* License: MIT
*/
!function(t){"function"==typeof define&&define.amd?define(t):t()}(function(){"use strict";
* @license Angular v9.1.0-next.4+61.sha-e552591.with-local-changes
* (c) 2010-2020 Google LLC. https://angular.io/
* License: MIT
*/
!function(t){"function"==typeof define&&define.amd?define(t):t()}((function(){"use strict";
/**

@@ -13,2 +13,2 @@ * @license

* found in the LICENSE file at https://angular.io/license
*/Zone.__load_patch("shadydom",function(t,e,o){var n=t.HTMLSlotElement;[Object.getPrototypeOf(window),Node.prototype,Text.prototype,Element.prototype,HTMLElement.prototype,n&&n.prototype,DocumentFragment.prototype,Document.prototype].forEach(function(n){n&&n.hasOwnProperty("addEventListener")&&(n[e.__symbol__("addEventListener")]=null,n[e.__symbol__("removeEventListener")]=null,o.patchEventTarget(t,[n]))})})});
*/Zone.__load_patch("shadydom",(function(t,e,o){var n=t.HTMLSlotElement;[Object.getPrototypeOf(window),Node.prototype,Text.prototype,Element.prototype,HTMLElement.prototype,n&&n.prototype,DocumentFragment.prototype,Document.prototype].forEach((function(n){n&&n.hasOwnProperty("addEventListener")&&(n[e.__symbol__("addEventListener")]=null,n[e.__symbol__("removeEventListener")]=null,o.patchEventTarget(t,[n]))}))}))}));
/**
* @license Angular v0.10.2
* (c) 2010-2019 Google LLC. https://angular.io/
* License: MIT
*/
* @license Angular v9.1.0-next.4+61.sha-e552591.with-local-changes
* (c) 2010-2020 Google LLC. https://angular.io/
* License: MIT
*/
(function (factory) {
typeof define === 'function' && define.amd ? define(factory) :
factory();
}(function () {
}((function () {
'use strict';

@@ -102,2 +102,3 @@ /**

if (obj.hasOwnProperty(key)) {
// explicit : any due to https://github.com/microsoft/TypeScript/issues/33191
var value = obj[key];

@@ -129,2 +130,2 @@ switch (typeof value) {

})(typeof window === 'object' && window || typeof self === 'object' && self || global);
}));
})));
/**
* @license Angular v0.10.2
* (c) 2010-2019 Google LLC. https://angular.io/
* License: MIT
*/
!function(e){"function"==typeof define&&define.amd?define(e):e()}(function(){"use strict";
* @license Angular v9.1.0-next.4+61.sha-e552591.with-local-changes
* (c) 2010-2020 Google LLC. https://angular.io/
* License: MIT
*/
!function(e){"function"==typeof define&&define.amd?define(e):e()}((function(){"use strict";
/**

@@ -13,10 +13,2 @@ * @license

* found in the LICENSE file at https://angular.io/license
*/
/**
* @license
* Copyright Google Inc. All Rights Reserved.
*
* Use of this source code is governed by an MIT-style license that can be
* found in the LICENSE file at https://angular.io/license
*/
!function(e){var n,o=null,c=null,t=!(!(n=e.wtf)||!(o=n.trace)||(c=o.events,0)),a=function(){function e(){this.name="WTF"}return e.prototype.onFork=function(n,o,c,t){var a=n.fork(c,t);return e.forkInstance(i(c),a.name),a},e.prototype.onInvoke=function(n,t,a,r,s,u,f){var l=f||"unknown",p=e.invokeScope[l];return p||(p=e.invokeScope[l]=c.createScope("Zone:invoke:"+f+"(ascii zone)")),o.leaveScope(p(i(a)),n.invoke(a,r,s,u,f))},e.prototype.onHandleError=function(e,n,o,c){return e.handleError(o,c)},e.prototype.onScheduleTask=function(n,o,t,a){var s=a.type+":"+a.source,u=e.scheduleInstance[s];u||(u=e.scheduleInstance[s]=c.createInstance("Zone:schedule:"+s+"(ascii zone, any data)"));var f=n.scheduleTask(t,a);return u(i(t),r(a.data,2)),f},e.prototype.onInvokeTask=function(n,t,a,r,s,u){var f=r.source,l=e.invokeTaskScope[f];return l||(l=e.invokeTaskScope[f]=c.createScope("Zone:invokeTask:"+f+"(ascii zone)")),o.leaveScope(l(i(a)),n.invokeTask(a,r,s,u))},e.prototype.onCancelTask=function(n,o,t,a){var s=a.source,u=e.cancelInstance[s];u||(u=e.cancelInstance[s]=c.createInstance("Zone:cancel:"+s+"(ascii zone, any options)"));var f=n.cancelTask(t,a);return u(i(t),r(a.data,2)),f},e}();function r(e,n){if(!e||!n)return null;var o={};for(var c in e)if(e.hasOwnProperty(c)){var t=e[c];switch(typeof t){case"object":var a=t&&t.constructor&&t.constructor.name;t=a==Object.name?r(t,n-1):a;break;case"function":t=t.name||void 0}o[c]=t}return o}function i(e){for(var n=e.name,o=e.parent;null!=o;)n=o.name+"::"+n,o=o.parent;return n}a.forkInstance=t?c.createInstance("Zone:fork(ascii zone, ascii newZone)"):null,a.scheduleInstance={},a.cancelInstance={},a.invokeScope={},a.invokeTaskScope={},Zone.wtfZoneSpec=t?new a:null}("object"==typeof window&&window||"object"==typeof self&&self||global)});
*/!function(e){var n,o=null,c=null,t=!(!(n=e.wtf)||!(o=n.trace)||(c=o.events,0)),a=function(){function e(){this.name="WTF"}return e.prototype.onFork=function(n,o,c,t){var a=n.fork(c,t);return e.forkInstance(i(c),a.name),a},e.prototype.onInvoke=function(n,t,a,r,s,u,f){var l=f||"unknown",p=e.invokeScope[l];return p||(p=e.invokeScope[l]=c.createScope("Zone:invoke:"+f+"(ascii zone)")),o.leaveScope(p(i(a)),n.invoke(a,r,s,u,f))},e.prototype.onHandleError=function(e,n,o,c){return e.handleError(o,c)},e.prototype.onScheduleTask=function(n,o,t,a){var s=a.type+":"+a.source,u=e.scheduleInstance[s];u||(u=e.scheduleInstance[s]=c.createInstance("Zone:schedule:"+s+"(ascii zone, any data)"));var f=n.scheduleTask(t,a);return u(i(t),r(a.data,2)),f},e.prototype.onInvokeTask=function(n,t,a,r,s,u){var f=r.source,l=e.invokeTaskScope[f];return l||(l=e.invokeTaskScope[f]=c.createScope("Zone:invokeTask:"+f+"(ascii zone)")),o.leaveScope(l(i(a)),n.invokeTask(a,r,s,u))},e.prototype.onCancelTask=function(n,o,t,a){var s=a.source,u=e.cancelInstance[s];u||(u=e.cancelInstance[s]=c.createInstance("Zone:cancel:"+s+"(ascii zone, any options)"));var f=n.cancelTask(t,a);return u(i(t),r(a.data,2)),f},e}();function r(e,n){if(!e||!n)return null;var o={};for(var c in e)if(e.hasOwnProperty(c)){var t=e[c];switch(typeof t){case"object":var a=t&&t.constructor&&t.constructor.name;t=a==Object.name?r(t,n-1):a;break;case"function":t=t.name||void 0}o[c]=t}return o}function i(e){for(var n=e.name,o=e.parent;null!=o;)n=o.name+"::"+n,o=o.parent;return n}a.forkInstance=t?c.createInstance("Zone:fork(ascii zone, ascii newZone)"):null,a.scheduleInstance={},a.cancelInstance={},a.invokeScope={},a.invokeTaskScope={},Zone.wtfZoneSpec=t?new a:null}("object"==typeof window&&window||"object"==typeof self&&self||global)}));
/**
* @license Angular v0.10.2
* (c) 2010-2019 Google LLC. https://angular.io/
* License: MIT
*/
* @license Angular v9.1.0-next.4+61.sha-e552591.with-local-changes
* (c) 2010-2020 Google LLC. https://angular.io/
* License: MIT
*/
(function (factory) {
typeof define === 'function' && define.amd ? define(factory) :
factory();
}(function () {
}((function () {
'use strict';

@@ -98,2 +98,2 @@ /**

});
}));
})));
/**
* @license Angular v0.10.2
* (c) 2010-2019 Google LLC. https://angular.io/
* License: MIT
*/
!function(n){"function"==typeof define&&define.amd?define(n):n()}(function(){"use strict";
* @license Angular v9.1.0-next.4+61.sha-e552591.with-local-changes
* (c) 2010-2020 Google LLC. https://angular.io/
* License: MIT
*/
!function(n){"function"==typeof define&&define.amd?define(n):n()}((function(){"use strict";
/**

@@ -13,2 +13,2 @@ * @license

* found in the LICENSE file at https://angular.io/license
*/Zone.__load_patch("bluebird",function(n,e,o){e[e.__symbol__("bluebird")]=function t(i){["then","spread","finally"].forEach(function(n){o.patchMethod(i.prototype,n,function(n){return function(o,t){for(var r=e.current,c=function(n){var e=t[n];"function"==typeof e&&(t[n]=function(){var n=this,o=arguments;return new i(function(t,i){r.scheduleMicroTask("Promise.then",function(){try{t(e.apply(n,o))}catch(n){i(n)}})})})},d=0;d<t.length;d++)c(d);return n.apply(o,t)}})}),"undefined"!=typeof window?window.addEventListener("unhandledrejection",function(n){var e=n.detail&&n.detail.reason;e&&e.isHandledByZone&&(n.preventDefault(),"function"==typeof n.stopImmediatePropagation&&n.stopImmediatePropagation())}):"undefined"!=typeof process&&process.on("unhandledRejection",function(n,e){if(n&&n.isHandledByZone){var o=process.listeners("unhandledRejection");o&&(process.removeAllListeners("unhandledRejection"),process.nextTick(function(){o.forEach(function(n){return process.on("unhandledRejection",n)})}))}}),i.onPossiblyUnhandledRejection(function(n,t){try{e.current.runGuarded(function(){throw n.isHandledByZone=!0,n})}catch(n){n.isHandledByZone=!1,o.onUnhandledError(n)}}),n[o.symbol("ZoneAwarePromise")]=i}})});
*/Zone.__load_patch("bluebird",(function(n,e,o){e[e.__symbol__("bluebird")]=function t(i){["then","spread","finally"].forEach((function(n){o.patchMethod(i.prototype,n,(function(n){return function(o,t){for(var r=e.current,c=function(n){var e=t[n];"function"==typeof e&&(t[n]=function(){var n=this,o=arguments;return new i((function(t,i){r.scheduleMicroTask("Promise.then",(function(){try{t(e.apply(n,o))}catch(n){i(n)}}))}))})},d=0;d<t.length;d++)c(d);return n.apply(o,t)}}))})),"undefined"!=typeof window?window.addEventListener("unhandledrejection",(function(n){var e=n.detail&&n.detail.reason;e&&e.isHandledByZone&&(n.preventDefault(),"function"==typeof n.stopImmediatePropagation&&n.stopImmediatePropagation())})):"undefined"!=typeof process&&process.on("unhandledRejection",(function(n,e){if(n&&n.isHandledByZone){var o=process.listeners("unhandledRejection");o&&(process.removeAllListeners("unhandledRejection"),process.nextTick((function(){o.forEach((function(n){return process.on("unhandledRejection",n)}))})))}})),i.onPossiblyUnhandledRejection((function(n,t){try{e.current.runGuarded((function(){throw n.isHandledByZone=!0,n}))}catch(n){n.isHandledByZone=!1,o.onUnhandledError(n)}})),n[o.symbol("ZoneAwarePromise")]=i}}))}));
/**
* @license Angular v0.10.2
* (c) 2010-2019 Google LLC. https://angular.io/
* License: MIT
*/
* @license Angular v9.1.0-next.4+61.sha-e552591.with-local-changes
* (c) 2010-2020 Google LLC. https://angular.io/
* License: MIT
*/
(function (factory) {
typeof define === 'function' && define.amd ? define(factory) :
factory();
}(function () {
}((function () {
'use strict';

@@ -331,2 +331,2 @@ /**

});
}));
})));
/**
* @license Angular v0.10.2
* (c) 2010-2019 Google LLC. https://angular.io/
* License: MIT
*/
!function(r){"function"==typeof define&&define.amd?define(r):r()}(function(){"use strict";
* @license Angular v9.1.0-next.4+61.sha-e552591.with-local-changes
* (c) 2010-2020 Google LLC. https://angular.io/
* License: MIT
*/
!function(r){"function"==typeof define&&define.amd?define(r):r()}((function(){"use strict";
/**

@@ -13,2 +13,2 @@ * @license

* found in the LICENSE file at https://angular.io/license
*/Zone.__load_patch("Error",function(r,e,n){var t,a,o,i,c,s=n.symbol("blacklistedStackFrames"),u=r[n.symbol("Error")]=r.Error,f={};r.Error=d;var k="stackRewrite",l=r.__Zone_Error_BlacklistedStackFrames_policy||"default";function p(r,e,n){void 0===n&&(n=!0);for(var s=r.split("\n"),u=0;s[u]!==t&&s[u]!==a&&s[u]!==o&&s[u]!==i&&s[u]!==c&&u<s.length;)u++;for(;u<s.length&&e;u++){var k=s[u];if(k.trim())switch(f[k]){case 0:s.splice(u,1),u--;break;case 1:e=e.parent?e.parent:null,s.splice(u,1),u--;break;default:s[u]+=n?" ["+e.zone.name+"]":" ["+e.zoneName+"]"}}return s.join("\n")}function d(){var r=this,e=u.apply(this,arguments),t=e.originalStack=e.stack;if(d[k]&&t){var a=n.currentZoneFrame();if("lazy"===l)e[n.symbol("zoneFrameNames")]=function o(r){for(var e={zoneName:r.zone.name},n=e;r.parent;){var t={zoneName:(r=r.parent).zone.name};e.parent=t,e=t}return n}(a);else if("default"===l)try{e.stack=e.zoneAwareStack=p(t,a)}catch(r){}}return this instanceof u&&this.constructor!=u?(Object.keys(e).concat("stack","message").forEach(function(n){var t=e[n];if(void 0!==t)try{r[n]=t}catch(r){}}),this):e}d.prototype=u.prototype,d[s]=f,d[k]=!1;var h=n.symbol("zoneAwareStack");"lazy"===l&&Object.defineProperty(d.prototype,"zoneAwareStack",{configurable:!0,enumerable:!0,get:function(){return this[h]||(this[h]=p(this.originalStack,this[n.symbol("zoneFrameNames")],!1)),this[h]},set:function(r){this.originalStack=r,this[h]=p(this.originalStack,this[n.symbol("zoneFrameNames")],!1)}});var m=["stackTraceLimit","captureStackTrace","prepareStackTrace"],T=Object.keys(u);if(T&&T.forEach(function(r){0===m.filter(function(e){return e===r}).length&&Object.defineProperty(d,r,{get:function(){return u[r]},set:function(e){u[r]=e}})}),u.hasOwnProperty("stackTraceLimit")&&(u.stackTraceLimit=Math.max(u.stackTraceLimit,15),Object.defineProperty(d,"stackTraceLimit",{get:function(){return u.stackTraceLimit},set:function(r){return u.stackTraceLimit=r}})),u.hasOwnProperty("captureStackTrace")&&Object.defineProperty(d,"captureStackTrace",{value:function r(e,n){u.captureStackTrace(e,n)}}),Object.defineProperty(d,"prepareStackTrace",{get:function(){return u.prepareStackTrace},set:function(r){return u.prepareStackTrace=r&&"function"==typeof r?function(e,n){if(n)for(var t=0;t<n.length;t++)if("zoneCaptureStackTrace"===n[t].getFunctionName()){n.splice(t,1);break}return r.call(this,e,n)}:r}}),"disable"!==l){var v=e.current.fork({name:"detect",onHandleError:function(r,e,n,s){if(s.originalStack&&Error===d)for(var u=s.originalStack.split(/\n/),l=!1,p=!1,h=!1;u.length;){var m=u.shift();if(/:\d+:\d+/.test(m)||"ZoneAwareError"===m){var T=m.split("(")[0].split("@")[0],v=1;if(-1!==T.indexOf("ZoneAwareError")&&(-1!==T.indexOf("new ZoneAwareError")?(t=m,a=m.replace("new ZoneAwareError","new Error.ZoneAwareError")):(o=m,i=m.replace("Error.",""),-1===m.indexOf("Error.ZoneAwareError")&&(c=m.replace("ZoneAwareError","Error.ZoneAwareError"))),f[a]=0),-1!==T.indexOf("runGuarded")?p=!0:-1!==T.indexOf("runTask")?h=!0:-1!==T.indexOf("run")?l=!0:v=0,f[m]=v,l&&p&&h){d[k]=!0;break}}}return!1}}).fork({name:"child",onScheduleTask:function(r,e,n,t){return r.scheduleTask(n,t)},onInvokeTask:function(r,e,n,t,a,o){return r.invokeTask(n,t,a,o)},onCancelTask:function(r,e,n,t){return r.cancelTask(n,t)},onInvoke:function(r,e,n,t,a,o,i){return r.invoke(n,t,a,o,i)}}),E=Error.stackTraceLimit;Error.stackTraceLimit=100,v.run(function(){v.runGuarded(function(){var r=function(){};v.scheduleEventTask(s,function(){v.scheduleMacroTask(s,function(){v.scheduleMicroTask(s,function(){throw new Error},void 0,function(e){e._transitionTo=r,e.invoke()}),v.scheduleMicroTask(s,function(){throw Error()},void 0,function(e){e._transitionTo=r,e.invoke()})},void 0,function(e){e._transitionTo=r,e.invoke()},function(){})},void 0,function(e){e._transitionTo=r,e.invoke()},function(){})})}),Error.stackTraceLimit=E}})});
*/Zone.__load_patch("Error",(function(r,e,n){var t,a,o,i,c,s=n.symbol("blacklistedStackFrames"),u=r[n.symbol("Error")]=r.Error,f={};r.Error=d;var k="stackRewrite",l=r.__Zone_Error_BlacklistedStackFrames_policy||"default";function p(r,e,n){void 0===n&&(n=!0);for(var s=r.split("\n"),u=0;s[u]!==t&&s[u]!==a&&s[u]!==o&&s[u]!==i&&s[u]!==c&&u<s.length;)u++;for(;u<s.length&&e;u++){var k=s[u];if(k.trim())switch(f[k]){case 0:s.splice(u,1),u--;break;case 1:e=e.parent?e.parent:null,s.splice(u,1),u--;break;default:s[u]+=n?" ["+e.zone.name+"]":" ["+e.zoneName+"]"}}return s.join("\n")}function d(){var r=this,e=u.apply(this,arguments),t=e.originalStack=e.stack;if(d[k]&&t){var a=n.currentZoneFrame();if("lazy"===l)e[n.symbol("zoneFrameNames")]=function o(r){for(var e={zoneName:r.zone.name},n=e;r.parent;){var t={zoneName:(r=r.parent).zone.name};e.parent=t,e=t}return n}(a);else if("default"===l)try{e.stack=e.zoneAwareStack=p(t,a)}catch(r){}}return this instanceof u&&this.constructor!=u?(Object.keys(e).concat("stack","message").forEach((function(n){var t=e[n];if(void 0!==t)try{r[n]=t}catch(r){}})),this):e}d.prototype=u.prototype,d[s]=f,d[k]=!1;var h=n.symbol("zoneAwareStack");"lazy"===l&&Object.defineProperty(d.prototype,"zoneAwareStack",{configurable:!0,enumerable:!0,get:function(){return this[h]||(this[h]=p(this.originalStack,this[n.symbol("zoneFrameNames")],!1)),this[h]},set:function(r){this.originalStack=r,this[h]=p(this.originalStack,this[n.symbol("zoneFrameNames")],!1)}});var m=["stackTraceLimit","captureStackTrace","prepareStackTrace"],T=Object.keys(u);if(T&&T.forEach((function(r){0===m.filter((function(e){return e===r})).length&&Object.defineProperty(d,r,{get:function(){return u[r]},set:function(e){u[r]=e}})})),u.hasOwnProperty("stackTraceLimit")&&(u.stackTraceLimit=Math.max(u.stackTraceLimit,15),Object.defineProperty(d,"stackTraceLimit",{get:function(){return u.stackTraceLimit},set:function(r){return u.stackTraceLimit=r}})),u.hasOwnProperty("captureStackTrace")&&Object.defineProperty(d,"captureStackTrace",{value:function r(e,n){u.captureStackTrace(e,n)}}),Object.defineProperty(d,"prepareStackTrace",{get:function(){return u.prepareStackTrace},set:function(r){return u.prepareStackTrace=r&&"function"==typeof r?function(e,n){if(n)for(var t=0;t<n.length;t++)if("zoneCaptureStackTrace"===n[t].getFunctionName()){n.splice(t,1);break}return r.call(this,e,n)}:r}}),"disable"!==l){var v=e.current.fork({name:"detect",onHandleError:function(r,e,n,s){if(s.originalStack&&Error===d)for(var u=s.originalStack.split(/\n/),l=!1,p=!1,h=!1;u.length;){var m=u.shift();if(/:\d+:\d+/.test(m)||"ZoneAwareError"===m){var T=m.split("(")[0].split("@")[0],v=1;if(-1!==T.indexOf("ZoneAwareError")&&(-1!==T.indexOf("new ZoneAwareError")?(t=m,a=m.replace("new ZoneAwareError","new Error.ZoneAwareError")):(o=m,i=m.replace("Error.",""),-1===m.indexOf("Error.ZoneAwareError")&&(c=m.replace("ZoneAwareError","Error.ZoneAwareError"))),f[a]=0),-1!==T.indexOf("runGuarded")?p=!0:-1!==T.indexOf("runTask")?h=!0:-1!==T.indexOf("run")?l=!0:v=0,f[m]=v,l&&p&&h){d[k]=!0;break}}}return!1}}).fork({name:"child",onScheduleTask:function(r,e,n,t){return r.scheduleTask(n,t)},onInvokeTask:function(r,e,n,t,a,o){return r.invokeTask(n,t,a,o)},onCancelTask:function(r,e,n,t){return r.cancelTask(n,t)},onInvoke:function(r,e,n,t,a,o,i){return r.invoke(n,t,a,o,i)}}),E=Error.stackTraceLimit;Error.stackTraceLimit=100,v.run((function(){v.runGuarded((function(){var r=function(){};v.scheduleEventTask(s,(function(){v.scheduleMacroTask(s,(function(){v.scheduleMicroTask(s,(function(){throw new Error}),void 0,(function(e){e._transitionTo=r,e.invoke()})),v.scheduleMicroTask(s,(function(){throw Error()}),void 0,(function(e){e._transitionTo=r,e.invoke()}))}),void 0,(function(e){e._transitionTo=r,e.invoke()}),(function(){}))}),void 0,(function(e){e._transitionTo=r,e.invoke()}),(function(){}))}))})),Error.stackTraceLimit=E}}))}));
/**
* @license Angular v0.10.2
* (c) 2010-2019 Google LLC. https://angular.io/
* License: MIT
*/
!function(e){"function"==typeof define&&define.amd?define(e):e()}(function(){"use strict";
* @license Angular v9.1.0-next.4+61.sha-e552591.with-local-changes
* (c) 2010-2020 Google LLC. https://angular.io/
* License: MIT
*/
!function(e){"function"==typeof define&&define.amd?define(e):e()}((function(){"use strict";
/**

@@ -13,3 +13,3 @@ * @license

* found in the LICENSE file at https://angular.io/license
*/!function(e){const t=e.performance;function n(e){t&&t.mark&&t.mark(e)}function o(e,n){t&&t.measure&&t.measure(e,n)}n("Zone");const r=e.__Zone_symbol_prefix||"__zone_symbol__";function s(e){return r+e}const i=!0===e[s("forceDuplicateZoneCheck")];if(e.Zone){if(i||"function"!=typeof e.Zone.__symbol__)throw new Error("Zone already loaded.");return e.Zone}class a{constructor(e,t){this._parent=e,this._name=t?t.name||"unnamed":"<root>",this._properties=t&&t.properties||{},this._zoneDelegate=new l(this,this._parent&&this._parent._zoneDelegate,t)}static assertZonePatched(){if(e.Promise!==O.ZoneAwarePromise)throw new Error("Zone.js has detected that ZoneAwarePromise `(window|global).Promise` has been overwritten.\nMost likely cause is that a Promise polyfill has been loaded after Zone.js (Polyfilling Promise api is not necessary when zone.js is loaded. If you must load one, do so before loading zone.js.)")}static get root(){let e=a.current;for(;e.parent;)e=e.parent;return e}static get current(){return C.zone}static get currentTask(){return j}static __load_patch(t,r){if(O.hasOwnProperty(t)){if(i)throw Error("Already loaded patch: "+t)}else if(!e["__Zone_disable_"+t]){const s="Zone:"+t;n(s),O[t]=r(e,a,z),o(s,s)}}get parent(){return this._parent}get name(){return this._name}get(e){const t=this.getZoneWith(e);if(t)return t._properties[e]}getZoneWith(e){let t=this;for(;t;){if(t._properties.hasOwnProperty(e))return t;t=t._parent}return null}fork(e){if(!e)throw new Error("ZoneSpec required!");return this._zoneDelegate.fork(this,e)}wrap(e,t){if("function"!=typeof e)throw new Error("Expecting function got: "+e);const n=this._zoneDelegate.intercept(this,e,t),o=this;return function(){return o.runGuarded(n,this,arguments,t)}}run(e,t,n,o){C={parent:C,zone:this};try{return this._zoneDelegate.invoke(this,e,t,n,o)}finally{C=C.parent}}runGuarded(e,t=null,n,o){C={parent:C,zone:this};try{try{return this._zoneDelegate.invoke(this,e,t,n,o)}catch(e){if(this._zoneDelegate.handleError(this,e))throw e}}finally{C=C.parent}}runTask(e,t,n){if(e.zone!=this)throw new Error("A task can only be run in the zone of creation! (Creation: "+(e.zone||y).name+"; Execution: "+this.name+")");if(e.state===v&&(e.type===P||e.type===D))return;const o=e.state!=E;o&&e._transitionTo(E,T),e.runCount++;const r=j;j=e,C={parent:C,zone:this};try{e.type==D&&e.data&&!e.data.isPeriodic&&(e.cancelFn=void 0);try{return this._zoneDelegate.invokeTask(this,e,t,n)}catch(e){if(this._zoneDelegate.handleError(this,e))throw e}}finally{e.state!==v&&e.state!==Z&&(e.type==P||e.data&&e.data.isPeriodic?o&&e._transitionTo(T,E):(e.runCount=0,this._updateTaskCount(e,-1),o&&e._transitionTo(v,E,v))),C=C.parent,j=r}}scheduleTask(e){if(e.zone&&e.zone!==this){let t=this;for(;t;){if(t===e.zone)throw Error(`can not reschedule task to ${this.name} which is descendants of the original zone ${e.zone.name}`);t=t.parent}}e._transitionTo(b,v);const t=[];e._zoneDelegates=t,e._zone=this;try{e=this._zoneDelegate.scheduleTask(this,e)}catch(t){throw e._transitionTo(Z,b,v),this._zoneDelegate.handleError(this,t),t}return e._zoneDelegates===t&&this._updateTaskCount(e,1),e.state==b&&e._transitionTo(T,b),e}scheduleMicroTask(e,t,n,o){return this.scheduleTask(new u(S,e,t,n,o,void 0))}scheduleMacroTask(e,t,n,o,r){return this.scheduleTask(new u(D,e,t,n,o,r))}scheduleEventTask(e,t,n,o,r){return this.scheduleTask(new u(P,e,t,n,o,r))}cancelTask(e){if(e.zone!=this)throw new Error("A task can only be cancelled in the zone of creation! (Creation: "+(e.zone||y).name+"; Execution: "+this.name+")");e._transitionTo(w,T,E);try{this._zoneDelegate.cancelTask(this,e)}catch(t){throw e._transitionTo(Z,w),this._zoneDelegate.handleError(this,t),t}return this._updateTaskCount(e,-1),e._transitionTo(v,w),e.runCount=0,e}_updateTaskCount(e,t){const n=e._zoneDelegates;-1==t&&(e._zoneDelegates=null);for(let o=0;o<n.length;o++)n[o]._updateTaskCount(e.type,t)}}a.__symbol__=s;const c={name:"",onHasTask:(e,t,n,o)=>e.hasTask(n,o),onScheduleTask:(e,t,n,o)=>e.scheduleTask(n,o),onInvokeTask:(e,t,n,o,r,s)=>e.invokeTask(n,o,r,s),onCancelTask:(e,t,n,o)=>e.cancelTask(n,o)};class l{constructor(e,t,n){this._taskCounts={microTask:0,macroTask:0,eventTask:0},this.zone=e,this._parentDelegate=t,this._forkZS=n&&(n&&n.onFork?n:t._forkZS),this._forkDlgt=n&&(n.onFork?t:t._forkDlgt),this._forkCurrZone=n&&(n.onFork?this.zone:t._forkCurrZone),this._interceptZS=n&&(n.onIntercept?n:t._interceptZS),this._interceptDlgt=n&&(n.onIntercept?t:t._interceptDlgt),this._interceptCurrZone=n&&(n.onIntercept?this.zone:t._interceptCurrZone),this._invokeZS=n&&(n.onInvoke?n:t._invokeZS),this._invokeDlgt=n&&(n.onInvoke?t:t._invokeDlgt),this._invokeCurrZone=n&&(n.onInvoke?this.zone:t._invokeCurrZone),this._handleErrorZS=n&&(n.onHandleError?n:t._handleErrorZS),this._handleErrorDlgt=n&&(n.onHandleError?t:t._handleErrorDlgt),this._handleErrorCurrZone=n&&(n.onHandleError?this.zone:t._handleErrorCurrZone),this._scheduleTaskZS=n&&(n.onScheduleTask?n:t._scheduleTaskZS),this._scheduleTaskDlgt=n&&(n.onScheduleTask?t:t._scheduleTaskDlgt),this._scheduleTaskCurrZone=n&&(n.onScheduleTask?this.zone:t._scheduleTaskCurrZone),this._invokeTaskZS=n&&(n.onInvokeTask?n:t._invokeTaskZS),this._invokeTaskDlgt=n&&(n.onInvokeTask?t:t._invokeTaskDlgt),this._invokeTaskCurrZone=n&&(n.onInvokeTask?this.zone:t._invokeTaskCurrZone),this._cancelTaskZS=n&&(n.onCancelTask?n:t._cancelTaskZS),this._cancelTaskDlgt=n&&(n.onCancelTask?t:t._cancelTaskDlgt),this._cancelTaskCurrZone=n&&(n.onCancelTask?this.zone:t._cancelTaskCurrZone),this._hasTaskZS=null,this._hasTaskDlgt=null,this._hasTaskDlgtOwner=null,this._hasTaskCurrZone=null;const o=n&&n.onHasTask;(o||t&&t._hasTaskZS)&&(this._hasTaskZS=o?n:c,this._hasTaskDlgt=t,this._hasTaskDlgtOwner=this,this._hasTaskCurrZone=e,n.onScheduleTask||(this._scheduleTaskZS=c,this._scheduleTaskDlgt=t,this._scheduleTaskCurrZone=this.zone),n.onInvokeTask||(this._invokeTaskZS=c,this._invokeTaskDlgt=t,this._invokeTaskCurrZone=this.zone),n.onCancelTask||(this._cancelTaskZS=c,this._cancelTaskDlgt=t,this._cancelTaskCurrZone=this.zone))}fork(e,t){return this._forkZS?this._forkZS.onFork(this._forkDlgt,this.zone,e,t):new a(e,t)}intercept(e,t,n){return this._interceptZS?this._interceptZS.onIntercept(this._interceptDlgt,this._interceptCurrZone,e,t,n):t}invoke(e,t,n,o,r){return this._invokeZS?this._invokeZS.onInvoke(this._invokeDlgt,this._invokeCurrZone,e,t,n,o,r):t.apply(n,o)}handleError(e,t){return!this._handleErrorZS||this._handleErrorZS.onHandleError(this._handleErrorDlgt,this._handleErrorCurrZone,e,t)}scheduleTask(e,t){let n=t;if(this._scheduleTaskZS)this._hasTaskZS&&n._zoneDelegates.push(this._hasTaskDlgtOwner),(n=this._scheduleTaskZS.onScheduleTask(this._scheduleTaskDlgt,this._scheduleTaskCurrZone,e,t))||(n=t);else if(t.scheduleFn)t.scheduleFn(t);else{if(t.type!=S)throw new Error("Task is missing scheduleFn.");_(t)}return n}invokeTask(e,t,n,o){return this._invokeTaskZS?this._invokeTaskZS.onInvokeTask(this._invokeTaskDlgt,this._invokeTaskCurrZone,e,t,n,o):t.callback.apply(n,o)}cancelTask(e,t){let n;if(this._cancelTaskZS)n=this._cancelTaskZS.onCancelTask(this._cancelTaskDlgt,this._cancelTaskCurrZone,e,t);else{if(!t.cancelFn)throw Error("Task is not cancelable");n=t.cancelFn(t)}return n}hasTask(e,t){try{this._hasTaskZS&&this._hasTaskZS.onHasTask(this._hasTaskDlgt,this._hasTaskCurrZone,e,t)}catch(t){this.handleError(e,t)}}_updateTaskCount(e,t){const n=this._taskCounts,o=n[e],r=n[e]=o+t;if(r<0)throw new Error("More tasks executed then were scheduled.");0!=o&&0!=r||this.hasTask(this.zone,{microTask:n.microTask>0,macroTask:n.macroTask>0,eventTask:n.eventTask>0,change:e})}}class u{constructor(t,n,o,r,s,i){if(this._zone=null,this.runCount=0,this._zoneDelegates=null,this._state="notScheduled",this.type=t,this.source=n,this.data=r,this.scheduleFn=s,this.cancelFn=i,!o)throw new Error("callback is not defined");this.callback=o;const a=this;this.invoke=t===P&&r&&r.useG?u.invokeTask:function(){return u.invokeTask.call(e,a,this,arguments)}}static invokeTask(e,t,n){e||(e=this),I++;try{return e.runCount++,e.zone.runTask(e,t,n)}finally{1==I&&m(),I--}}get zone(){return this._zone}get state(){return this._state}cancelScheduleRequest(){this._transitionTo(v,b)}_transitionTo(e,t,n){if(this._state!==t&&this._state!==n)throw new Error(`${this.type} '${this.source}': can not transition to '${e}', expecting state '${t}'${n?" or '"+n+"'":""}, was '${this._state}'.`);this._state=e,e==v&&(this._zoneDelegates=null)}toString(){return this.data&&void 0!==this.data.handleId?this.data.handleId.toString():Object.prototype.toString.call(this)}toJSON(){return{type:this.type,state:this.state,source:this.source,zone:this.zone.name,runCount:this.runCount}}}const h=s("setTimeout"),p=s("Promise"),f=s("then");let d,g=[],k=!1;function _(t){if(0===I&&0===g.length)if(d||e[p]&&(d=e[p].resolve(0)),d){let e=d[f];e||(e=d.then),e.call(d,m)}else e[h](m,0);t&&g.push(t)}function m(){if(!k){for(k=!0;g.length;){const e=g;g=[];for(let t=0;t<e.length;t++){const n=e[t];try{n.zone.runTask(n,null,null)}catch(e){z.onUnhandledError(e)}}}z.microtaskDrainDone(),k=!1}}const y={name:"NO ZONE"},v="notScheduled",b="scheduling",T="scheduled",E="running",w="canceling",Z="unknown",S="microTask",D="macroTask",P="eventTask",O={},z={symbol:s,currentZoneFrame:()=>C,onUnhandledError:R,microtaskDrainDone:R,scheduleMicroTask:_,showUncaughtError:()=>!a[s("ignoreConsoleErrorUncaughtError")],patchEventTarget:()=>[],patchOnProperties:R,patchMethod:()=>R,bindArguments:()=>[],patchThen:()=>R,patchMacroTask:()=>R,setNativePromise:e=>{e&&"function"==typeof e.resolve&&(d=e.resolve(0))},patchEventPrototype:()=>R,isIEOrEdge:()=>!1,getGlobalObjects:()=>void 0,ObjectDefineProperty:()=>R,ObjectGetOwnPropertyDescriptor:()=>void 0,ObjectCreate:()=>void 0,ArraySlice:()=>[],patchClass:()=>R,wrapWithCurrentZone:()=>R,filterProperties:()=>[],attachOriginToPatched:()=>R,_redefineProperty:()=>R,patchCallbacks:()=>R};let C={parent:null,zone:new a(null,null)},j=null,I=0;function R(){}o("Zone","Zone"),e.Zone=a}("undefined"!=typeof window&&window||"undefined"!=typeof self&&self||global),
*/!function(e){const t=e.performance;function n(e){t&&t.mark&&t.mark(e)}function o(e,n){t&&t.measure&&t.measure(e,n)}n("Zone");const r=e.__Zone_symbol_prefix||"__zone_symbol__";function s(e){return r+e}const i=!0===e[s("forceDuplicateZoneCheck")];if(e.Zone){if(i||"function"!=typeof e.Zone.__symbol__)throw new Error("Zone already loaded.");return e.Zone}class a{constructor(e,t){this._parent=e,this._name=t?t.name||"unnamed":"<root>",this._properties=t&&t.properties||{},this._zoneDelegate=new l(this,this._parent&&this._parent._zoneDelegate,t)}static assertZonePatched(){if(e.Promise!==O.ZoneAwarePromise)throw new Error("Zone.js has detected that ZoneAwarePromise `(window|global).Promise` has been overwritten.\nMost likely cause is that a Promise polyfill has been loaded after Zone.js (Polyfilling Promise api is not necessary when zone.js is loaded. If you must load one, do so before loading zone.js.)")}static get root(){let e=a.current;for(;e.parent;)e=e.parent;return e}static get current(){return z.zone}static get currentTask(){return j}static __load_patch(t,r){if(O.hasOwnProperty(t)){if(i)throw Error("Already loaded patch: "+t)}else if(!e["__Zone_disable_"+t]){const s="Zone:"+t;n(s),O[t]=r(e,a,C),o(s,s)}}get parent(){return this._parent}get name(){return this._name}get(e){const t=this.getZoneWith(e);if(t)return t._properties[e]}getZoneWith(e){let t=this;for(;t;){if(t._properties.hasOwnProperty(e))return t;t=t._parent}return null}fork(e){if(!e)throw new Error("ZoneSpec required!");return this._zoneDelegate.fork(this,e)}wrap(e,t){if("function"!=typeof e)throw new Error("Expecting function got: "+e);const n=this._zoneDelegate.intercept(this,e,t),o=this;return function(){return o.runGuarded(n,this,arguments,t)}}run(e,t,n,o){z={parent:z,zone:this};try{return this._zoneDelegate.invoke(this,e,t,n,o)}finally{z=z.parent}}runGuarded(e,t=null,n,o){z={parent:z,zone:this};try{try{return this._zoneDelegate.invoke(this,e,t,n,o)}catch(e){if(this._zoneDelegate.handleError(this,e))throw e}}finally{z=z.parent}}runTask(e,t,n){if(e.zone!=this)throw new Error("A task can only be run in the zone of creation! (Creation: "+(e.zone||y).name+"; Execution: "+this.name+")");if(e.state===v&&(e.type===P||e.type===D))return;const o=e.state!=E;o&&e._transitionTo(E,T),e.runCount++;const r=j;j=e,z={parent:z,zone:this};try{e.type==D&&e.data&&!e.data.isPeriodic&&(e.cancelFn=void 0);try{return this._zoneDelegate.invokeTask(this,e,t,n)}catch(e){if(this._zoneDelegate.handleError(this,e))throw e}}finally{e.state!==v&&e.state!==Z&&(e.type==P||e.data&&e.data.isPeriodic?o&&e._transitionTo(T,E):(e.runCount=0,this._updateTaskCount(e,-1),o&&e._transitionTo(v,E,v))),z=z.parent,j=r}}scheduleTask(e){if(e.zone&&e.zone!==this){let t=this;for(;t;){if(t===e.zone)throw Error(`can not reschedule task to ${this.name} which is descendants of the original zone ${e.zone.name}`);t=t.parent}}e._transitionTo(b,v);const t=[];e._zoneDelegates=t,e._zone=this;try{e=this._zoneDelegate.scheduleTask(this,e)}catch(t){throw e._transitionTo(Z,b,v),this._zoneDelegate.handleError(this,t),t}return e._zoneDelegates===t&&this._updateTaskCount(e,1),e.state==b&&e._transitionTo(T,b),e}scheduleMicroTask(e,t,n,o){return this.scheduleTask(new u(S,e,t,n,o,void 0))}scheduleMacroTask(e,t,n,o,r){return this.scheduleTask(new u(D,e,t,n,o,r))}scheduleEventTask(e,t,n,o,r){return this.scheduleTask(new u(P,e,t,n,o,r))}cancelTask(e){if(e.zone!=this)throw new Error("A task can only be cancelled in the zone of creation! (Creation: "+(e.zone||y).name+"; Execution: "+this.name+")");e._transitionTo(w,T,E);try{this._zoneDelegate.cancelTask(this,e)}catch(t){throw e._transitionTo(Z,w),this._zoneDelegate.handleError(this,t),t}return this._updateTaskCount(e,-1),e._transitionTo(v,w),e.runCount=0,e}_updateTaskCount(e,t){const n=e._zoneDelegates;-1==t&&(e._zoneDelegates=null);for(let o=0;o<n.length;o++)n[o]._updateTaskCount(e.type,t)}}a.__symbol__=s;const c={name:"",onHasTask:(e,t,n,o)=>e.hasTask(n,o),onScheduleTask:(e,t,n,o)=>e.scheduleTask(n,o),onInvokeTask:(e,t,n,o,r,s)=>e.invokeTask(n,o,r,s),onCancelTask:(e,t,n,o)=>e.cancelTask(n,o)};class l{constructor(e,t,n){this._taskCounts={microTask:0,macroTask:0,eventTask:0},this.zone=e,this._parentDelegate=t,this._forkZS=n&&(n&&n.onFork?n:t._forkZS),this._forkDlgt=n&&(n.onFork?t:t._forkDlgt),this._forkCurrZone=n&&(n.onFork?this.zone:t._forkCurrZone),this._interceptZS=n&&(n.onIntercept?n:t._interceptZS),this._interceptDlgt=n&&(n.onIntercept?t:t._interceptDlgt),this._interceptCurrZone=n&&(n.onIntercept?this.zone:t._interceptCurrZone),this._invokeZS=n&&(n.onInvoke?n:t._invokeZS),this._invokeDlgt=n&&(n.onInvoke?t:t._invokeDlgt),this._invokeCurrZone=n&&(n.onInvoke?this.zone:t._invokeCurrZone),this._handleErrorZS=n&&(n.onHandleError?n:t._handleErrorZS),this._handleErrorDlgt=n&&(n.onHandleError?t:t._handleErrorDlgt),this._handleErrorCurrZone=n&&(n.onHandleError?this.zone:t._handleErrorCurrZone),this._scheduleTaskZS=n&&(n.onScheduleTask?n:t._scheduleTaskZS),this._scheduleTaskDlgt=n&&(n.onScheduleTask?t:t._scheduleTaskDlgt),this._scheduleTaskCurrZone=n&&(n.onScheduleTask?this.zone:t._scheduleTaskCurrZone),this._invokeTaskZS=n&&(n.onInvokeTask?n:t._invokeTaskZS),this._invokeTaskDlgt=n&&(n.onInvokeTask?t:t._invokeTaskDlgt),this._invokeTaskCurrZone=n&&(n.onInvokeTask?this.zone:t._invokeTaskCurrZone),this._cancelTaskZS=n&&(n.onCancelTask?n:t._cancelTaskZS),this._cancelTaskDlgt=n&&(n.onCancelTask?t:t._cancelTaskDlgt),this._cancelTaskCurrZone=n&&(n.onCancelTask?this.zone:t._cancelTaskCurrZone),this._hasTaskZS=null,this._hasTaskDlgt=null,this._hasTaskDlgtOwner=null,this._hasTaskCurrZone=null;const o=n&&n.onHasTask;(o||t&&t._hasTaskZS)&&(this._hasTaskZS=o?n:c,this._hasTaskDlgt=t,this._hasTaskDlgtOwner=this,this._hasTaskCurrZone=e,n.onScheduleTask||(this._scheduleTaskZS=c,this._scheduleTaskDlgt=t,this._scheduleTaskCurrZone=this.zone),n.onInvokeTask||(this._invokeTaskZS=c,this._invokeTaskDlgt=t,this._invokeTaskCurrZone=this.zone),n.onCancelTask||(this._cancelTaskZS=c,this._cancelTaskDlgt=t,this._cancelTaskCurrZone=this.zone))}fork(e,t){return this._forkZS?this._forkZS.onFork(this._forkDlgt,this.zone,e,t):new a(e,t)}intercept(e,t,n){return this._interceptZS?this._interceptZS.onIntercept(this._interceptDlgt,this._interceptCurrZone,e,t,n):t}invoke(e,t,n,o,r){return this._invokeZS?this._invokeZS.onInvoke(this._invokeDlgt,this._invokeCurrZone,e,t,n,o,r):t.apply(n,o)}handleError(e,t){return!this._handleErrorZS||this._handleErrorZS.onHandleError(this._handleErrorDlgt,this._handleErrorCurrZone,e,t)}scheduleTask(e,t){let n=t;if(this._scheduleTaskZS)this._hasTaskZS&&n._zoneDelegates.push(this._hasTaskDlgtOwner),(n=this._scheduleTaskZS.onScheduleTask(this._scheduleTaskDlgt,this._scheduleTaskCurrZone,e,t))||(n=t);else if(t.scheduleFn)t.scheduleFn(t);else{if(t.type!=S)throw new Error("Task is missing scheduleFn.");k(t)}return n}invokeTask(e,t,n,o){return this._invokeTaskZS?this._invokeTaskZS.onInvokeTask(this._invokeTaskDlgt,this._invokeTaskCurrZone,e,t,n,o):t.callback.apply(n,o)}cancelTask(e,t){let n;if(this._cancelTaskZS)n=this._cancelTaskZS.onCancelTask(this._cancelTaskDlgt,this._cancelTaskCurrZone,e,t);else{if(!t.cancelFn)throw Error("Task is not cancelable");n=t.cancelFn(t)}return n}hasTask(e,t){try{this._hasTaskZS&&this._hasTaskZS.onHasTask(this._hasTaskDlgt,this._hasTaskCurrZone,e,t)}catch(t){this.handleError(e,t)}}_updateTaskCount(e,t){const n=this._taskCounts,o=n[e],r=n[e]=o+t;if(r<0)throw new Error("More tasks executed then were scheduled.");0!=o&&0!=r||this.hasTask(this.zone,{microTask:n.microTask>0,macroTask:n.macroTask>0,eventTask:n.eventTask>0,change:e})}}class u{constructor(t,n,o,r,s,i){if(this._zone=null,this.runCount=0,this._zoneDelegates=null,this._state="notScheduled",this.type=t,this.source=n,this.data=r,this.scheduleFn=s,this.cancelFn=i,!o)throw new Error("callback is not defined");this.callback=o;const a=this;this.invoke=t===P&&r&&r.useG?u.invokeTask:function(){return u.invokeTask.call(e,a,this,arguments)}}static invokeTask(e,t,n){e||(e=this),I++;try{return e.runCount++,e.zone.runTask(e,t,n)}finally{1==I&&m(),I--}}get zone(){return this._zone}get state(){return this._state}cancelScheduleRequest(){this._transitionTo(v,b)}_transitionTo(e,t,n){if(this._state!==t&&this._state!==n)throw new Error(`${this.type} '${this.source}': can not transition to '${e}', expecting state '${t}'${n?" or '"+n+"'":""}, was '${this._state}'.`);this._state=e,e==v&&(this._zoneDelegates=null)}toString(){return this.data&&void 0!==this.data.handleId?this.data.handleId.toString():Object.prototype.toString.call(this)}toJSON(){return{type:this.type,state:this.state,source:this.source,zone:this.zone.name,runCount:this.runCount}}}const h=s("setTimeout"),p=s("Promise"),f=s("then");let d,g=[],_=!1;function k(t){if(0===I&&0===g.length)if(d||e[p]&&(d=e[p].resolve(0)),d){let e=d[f];e||(e=d.then),e.call(d,m)}else e[h](m,0);t&&g.push(t)}function m(){if(!_){for(_=!0;g.length;){const e=g;g=[];for(let t=0;t<e.length;t++){const n=e[t];try{n.zone.runTask(n,null,null)}catch(e){C.onUnhandledError(e)}}}C.microtaskDrainDone(),_=!1}}const y={name:"NO ZONE"},v="notScheduled",b="scheduling",T="scheduled",E="running",w="canceling",Z="unknown",S="microTask",D="macroTask",P="eventTask",O={},C={symbol:s,currentZoneFrame:()=>z,onUnhandledError:R,microtaskDrainDone:R,scheduleMicroTask:k,showUncaughtError:()=>!a[s("ignoreConsoleErrorUncaughtError")],patchEventTarget:()=>[],patchOnProperties:R,patchMethod:()=>R,bindArguments:()=>[],patchThen:()=>R,patchMacroTask:()=>R,setNativePromise:e=>{e&&"function"==typeof e.resolve&&(d=e.resolve(0))},patchEventPrototype:()=>R,isIEOrEdge:()=>!1,getGlobalObjects:()=>void 0,ObjectDefineProperty:()=>R,ObjectGetOwnPropertyDescriptor:()=>void 0,ObjectCreate:()=>void 0,ArraySlice:()=>[],patchClass:()=>R,wrapWithCurrentZone:()=>R,filterProperties:()=>[],attachOriginToPatched:()=>R,_redefineProperty:()=>R,patchCallbacks:()=>R};let z={parent:null,zone:new a(null,null)},j=null,I=0;function R(){}o("Zone","Zone"),e.Zone=a}("undefined"!=typeof window&&window||"undefined"!=typeof self&&self||global),
/**

@@ -22,3 +22,3 @@ * @license

*/
Zone.__load_patch("ZoneAwarePromise",(e,t,n)=>{const o=Object.getOwnPropertyDescriptor,r=Object.defineProperty,s=n.symbol,i=[],a=s("Promise"),c=s("then"),l="__creationTrace__";n.onUnhandledError=(e=>{if(n.showUncaughtError()){const t=e&&e.rejection;t?console.error("Unhandled Promise rejection:",t instanceof Error?t.message:t,"; Zone:",e.zone.name,"; Task:",e.task&&e.task.source,"; Value:",t,t instanceof Error?t.stack:void 0):console.error(e)}}),n.microtaskDrainDone=(()=>{for(;i.length;)for(;i.length;){const e=i.shift();try{e.zone.runGuarded(()=>{throw e})}catch(e){h(e)}}});const u=s("unhandledPromiseRejectionHandler");function h(e){n.onUnhandledError(e);try{const n=t[u];n&&"function"==typeof n&&n.call(this,e)}catch(e){}}function p(e){return e&&e.then}function f(e){return e}function d(e){return R.reject(e)}const g=s("state"),k=s("value"),_=s("finally"),m=s("parentPromiseValue"),y=s("parentPromiseState"),v="Promise.then",b=null,T=!0,E=!1,w=0;function Z(e,t){return n=>{try{O(e,t,n)}catch(t){O(e,!1,t)}}}const S=function(){let e=!1;return function t(n){return function(){e||(e=!0,n.apply(null,arguments))}}},D="Promise resolved with itself",P=s("currentTaskTrace");function O(e,o,s){const a=S();if(e===s)throw new TypeError(D);if(e[g]===b){let c=null;try{"object"!=typeof s&&"function"!=typeof s||(c=s&&s.then)}catch(t){return a(()=>{O(e,!1,t)})(),e}if(o!==E&&s instanceof R&&s.hasOwnProperty(g)&&s.hasOwnProperty(k)&&s[g]!==b)C(s),O(e,s[g],s[k]);else if(o!==E&&"function"==typeof c)try{c.call(s,a(Z(e,o)),a(Z(e,!1)))}catch(t){a(()=>{O(e,!1,t)})()}else{e[g]=o;const a=e[k];if(e[k]=s,e[_]===_&&o===T&&(e[g]=e[y],e[k]=e[m]),o===E&&s instanceof Error){const e=t.currentTask&&t.currentTask.data&&t.currentTask.data[l];e&&r(s,P,{configurable:!0,enumerable:!1,writable:!0,value:e})}for(let t=0;t<a.length;)j(e,a[t++],a[t++],a[t++],a[t++]);if(0==a.length&&o==E){e[g]=w;try{throw new Error("Uncaught (in promise): "+function c(e){return e&&e.toString===Object.prototype.toString?(e.constructor&&e.constructor.name||"")+": "+JSON.stringify(e):e?e.toString():Object.prototype.toString.call(e)}(s)+(s&&s.stack?"\n"+s.stack:""))}catch(o){const r=o;r.rejection=s,r.promise=e,r.zone=t.current,r.task=t.currentTask,i.push(r),n.scheduleMicroTask()}}}}return e}const z=s("rejectionHandledHandler");function C(e){if(e[g]===w){try{const n=t[z];n&&"function"==typeof n&&n.call(this,{rejection:e[k],promise:e})}catch(e){}e[g]=E;for(let t=0;t<i.length;t++)e===i[t].promise&&i.splice(t,1)}}function j(e,t,n,o,r){C(e);const s=e[g],i=s?"function"==typeof o?o:f:"function"==typeof r?r:d;t.scheduleMicroTask(v,()=>{try{const o=e[k],r=!!n&&_===n[_];r&&(n[m]=o,n[y]=s);const a=t.run(i,void 0,r&&i!==d&&i!==f?[]:[o]);O(n,!0,a)}catch(e){O(n,!1,e)}},n)}const I="function ZoneAwarePromise() { [native code] }";class R{constructor(e){const t=this;if(!(t instanceof R))throw new Error("Must be an instanceof Promise.");t[g]=b,t[k]=[];try{e&&e(Z(t,T),Z(t,E))}catch(e){O(t,!1,e)}}static toString(){return I}static resolve(e){return O(new this(null),T,e)}static reject(e){return O(new this(null),E,e)}static race(e){let t,n,o=new this((e,o)=>{t=e,n=o});function r(e){t(e)}function s(e){n(e)}for(let t of e)p(t)||(t=this.resolve(t)),t.then(r,s);return o}static all(e){return R.allWithCallback(e)}static allSettled(e){return(this&&this.prototype instanceof R?this:R).allWithCallback(e,{thenCallback:e=>({status:"fulfilled",value:e}),errorCallback:e=>({status:"rejected",reason:e})})}static allWithCallback(e,t){let n,o,r=new this((e,t)=>{n=e,o=t}),s=2,i=0;const a=[];for(let r of e){p(r)||(r=this.resolve(r));const e=i;try{r.then(o=>{a[e]=t?t.thenCallback(o):o,0==--s&&n(a)},r=>{t?(a[e]=t.errorCallback(r),0==--s&&n(a)):o(r)})}catch(e){o(e)}s++,i++}return 0==(s-=2)&&n(a),r}get[Symbol.toStringTag](){return"Promise"}then(e,n){const o=new this.constructor(null),r=t.current;return this[g]==b?this[k].push(r,o,e,n):j(this,r,o,e,n),o}catch(e){return this.then(null,e)}finally(e){const n=new this.constructor(null);n[_]=_;const o=t.current;return this[g]==b?this[k].push(o,n,e,e):j(this,o,n,e,e),n}}R.resolve=R.resolve,R.reject=R.reject,R.race=R.race,R.all=R.all;const x=e[a]=e.Promise,M=t.__symbol__("ZoneAwarePromise");let N=o(e,"Promise");N&&!N.configurable||(N&&delete N.writable,N&&delete N.value,N||(N={configurable:!0,enumerable:!0}),N.get=function(){return e[M]?e[M]:e[a]},N.set=function(t){t===R?e[M]=t:(e[a]=t,t.prototype[c]||A(t),n.setNativePromise(t))},r(e,"Promise",N)),e.Promise=R;const L=s("thenPatched");function A(e){const t=e.prototype,n=o(t,"then");if(n&&(!1===n.writable||!n.configurable))return;const r=t.then;t[c]=r,e.prototype.then=function(e,t){return new R((e,t)=>{r.call(this,e,t)}).then(e,t)},e[L]=!0}if(n.patchThen=A,x){A(x);const t=e.fetch;"function"==typeof t&&(e[n.symbol("fetch")]=t,e.fetch=function H(e){return function(){let t=e.apply(this,arguments);if(t instanceof R)return t;let n=t.constructor;return n[L]||A(n),t}}(t))}return Promise[t.__symbol__("uncaughtPromiseErrors")]=i,R});
Zone.__load_patch("ZoneAwarePromise",(e,t,n)=>{const o=Object.getOwnPropertyDescriptor,r=Object.defineProperty,s=n.symbol,i=[],a=!0===e[s("DISABLE_WRAPPING_UNCAUGHT_PROMISE_REJECTION")],c=s("Promise"),l=s("then"),u="__creationTrace__";n.onUnhandledError=e=>{if(n.showUncaughtError()){const t=e&&e.rejection;t?console.error("Unhandled Promise rejection:",t instanceof Error?t.message:t,"; Zone:",e.zone.name,"; Task:",e.task&&e.task.source,"; Value:",t,t instanceof Error?t.stack:void 0):console.error(e)}},n.microtaskDrainDone=()=>{for(;i.length;){const e=i.shift();try{e.zone.runGuarded(()=>{throw e})}catch(e){p(e)}}};const h=s("unhandledPromiseRejectionHandler");function p(e){n.onUnhandledError(e);try{const n=t[h];"function"==typeof n&&n.call(this,e)}catch(e){}}function f(e){return e&&e.then}function d(e){return e}function g(e){return x.reject(e)}const _=s("state"),k=s("value"),m=s("finally"),y=s("parentPromiseValue"),v=s("parentPromiseState"),b="Promise.then",T=null,E=!0,w=!1,Z=0;function S(e,t){return n=>{try{C(e,t,n)}catch(t){C(e,!1,t)}}}const D=function(){let e=!1;return function t(n){return function(){e||(e=!0,n.apply(null,arguments))}}},P="Promise resolved with itself",O=s("currentTaskTrace");function C(e,o,s){const c=D();if(e===s)throw new TypeError(P);if(e[_]===T){let l=null;try{"object"!=typeof s&&"function"!=typeof s||(l=s&&s.then)}catch(t){return c(()=>{C(e,!1,t)})(),e}if(o!==w&&s instanceof x&&s.hasOwnProperty(_)&&s.hasOwnProperty(k)&&s[_]!==T)j(s),C(e,s[_],s[k]);else if(o!==w&&"function"==typeof l)try{l.call(s,c(S(e,o)),c(S(e,!1)))}catch(t){c(()=>{C(e,!1,t)})()}else{e[_]=o;const c=e[k];if(e[k]=s,e[m]===m&&o===E&&(e[_]=e[v],e[k]=e[y]),o===w&&s instanceof Error){const e=t.currentTask&&t.currentTask.data&&t.currentTask.data[u];e&&r(s,O,{configurable:!0,enumerable:!1,writable:!0,value:e})}for(let t=0;t<c.length;)I(e,c[t++],c[t++],c[t++],c[t++]);if(0==c.length&&o==w){e[_]=Z;let o=s;if(!a)try{throw new Error("Uncaught (in promise): "+function l(e){return e&&e.toString===Object.prototype.toString?(e.constructor&&e.constructor.name||"")+": "+JSON.stringify(e):e?e.toString():Object.prototype.toString.call(e)}(s)+(s&&s.stack?"\n"+s.stack:""))}catch(e){o=e}o.rejection=s,o.promise=e,o.zone=t.current,o.task=t.currentTask,i.push(o),n.scheduleMicroTask()}}}return e}const z=s("rejectionHandledHandler");function j(e){if(e[_]===Z){try{const n=t[z];n&&"function"==typeof n&&n.call(this,{rejection:e[k],promise:e})}catch(e){}e[_]=w;for(let t=0;t<i.length;t++)e===i[t].promise&&i.splice(t,1)}}function I(e,t,n,o,r){j(e);const s=e[_],i=s?"function"==typeof o?o:d:"function"==typeof r?r:g;t.scheduleMicroTask(b,()=>{try{const o=e[k],r=!!n&&m===n[m];r&&(n[y]=o,n[v]=s);const a=t.run(i,void 0,r&&i!==g&&i!==d?[]:[o]);C(n,!0,a)}catch(e){C(n,!1,e)}},n)}const R="function ZoneAwarePromise() { [native code] }",N=function(){};class x{static toString(){return R}static resolve(e){return C(new this(null),E,e)}static reject(e){return C(new this(null),w,e)}static race(e){let t,n,o=new this((e,o)=>{t=e,n=o});function r(e){t(e)}function s(e){n(e)}for(let t of e)f(t)||(t=this.resolve(t)),t.then(r,s);return o}static all(e){return x.allWithCallback(e)}static allSettled(e){return(this&&this.prototype instanceof x?this:x).allWithCallback(e,{thenCallback:e=>({status:"fulfilled",value:e}),errorCallback:e=>({status:"rejected",reason:e})})}static allWithCallback(e,t){let n,o,r=new this((e,t)=>{n=e,o=t}),s=2,i=0;const a=[];for(let r of e){f(r)||(r=this.resolve(r));const e=i;try{r.then(o=>{a[e]=t?t.thenCallback(o):o,0==--s&&n(a)},r=>{t?(a[e]=t.errorCallback(r),0==--s&&n(a)):o(r)})}catch(e){o(e)}s++,i++}return 0==(s-=2)&&n(a),r}constructor(e){const t=this;if(!(t instanceof x))throw new Error("Must be an instanceof Promise.");t[_]=T,t[k]=[];try{e&&e(S(t,E),S(t,w))}catch(e){C(t,!1,e)}}get[Symbol.toStringTag](){return"Promise"}get[Symbol.species](){return x}then(e,n){let o=this.constructor[Symbol.species];o&&"function"==typeof o||(o=this.constructor||x);const r=new o(N),s=t.current;return this[_]==T?this[k].push(s,r,e,n):I(this,s,r,e,n),r}catch(e){return this.then(null,e)}finally(e){let n=this.constructor[Symbol.species];n&&"function"==typeof n||(n=x);const o=new n(N);o[m]=m;const r=t.current;return this[_]==T?this[k].push(r,o,e,e):I(this,r,o,e,e),o}}x.resolve=x.resolve,x.reject=x.reject,x.race=x.race,x.all=x.all;const M=e[c]=e.Promise,L=t.__symbol__("ZoneAwarePromise");let A=o(e,"Promise");A&&!A.configurable||(A&&delete A.writable,A&&delete A.value,A||(A={configurable:!0,enumerable:!0}),A.get=function(){return e[L]?e[L]:e[c]},A.set=function(t){t===x?e[L]=t:(e[c]=t,t.prototype[l]||F(t),n.setNativePromise(t))},r(e,"Promise",A)),e.Promise=x;const H=s("thenPatched");function F(e){const t=e.prototype,n=o(t,"then");if(n&&(!1===n.writable||!n.configurable))return;const r=t.then;t[l]=r,e.prototype.then=function(e,t){return new x((e,t)=>{r.call(this,e,t)}).then(e,t)},e[H]=!0}if(n.patchThen=F,M){F(M);const t=e.fetch;"function"==typeof t&&(e[n.symbol("fetch")]=t,e.fetch=function G(e){return function(){let t=e.apply(this,arguments);if(t instanceof x)return t;let n=t.constructor;return n[H]||F(n),t}}(t))}return Promise[t.__symbol__("uncaughtPromiseErrors")]=i,x});
/**

@@ -31,3 +31,3 @@ * @license

*/
const e=Object.getOwnPropertyDescriptor,t=Object.defineProperty,n=Object.getPrototypeOf,o=Object.create,r=Array.prototype.slice,s="addEventListener",i="removeEventListener",a=Zone.__symbol__(s),c=Zone.__symbol__(i),l="true",u="false",h=Zone.__symbol__("");function p(e,t){return Zone.current.wrap(e,t)}function f(e,t,n,o,r){return Zone.current.scheduleMacroTask(e,t,n,o,r)}const d=Zone.__symbol__,g="undefined"!=typeof window,k=g?window:void 0,_=g&&k||"object"==typeof self&&self||global,m="removeAttribute",y=[null];function v(e,t){for(let n=e.length-1;n>=0;n--)"function"==typeof e[n]&&(e[n]=p(e[n],t+"_"+n));return e}function b(e){return!e||!1!==e.writable&&!("function"==typeof e.get&&void 0===e.set)}const T="undefined"!=typeof WorkerGlobalScope&&self instanceof WorkerGlobalScope,E=!("nw"in _)&&void 0!==_.process&&"[object process]"==={}.toString.call(_.process),w=!E&&!T&&!(!g||!k.HTMLElement),Z=void 0!==_.process&&"[object process]"==={}.toString.call(_.process)&&!T&&!(!g||!k.HTMLElement),S={},D=function(e){if(!(e=e||_.event))return;let t=S[e.type];t||(t=S[e.type]=d("ON_PROPERTY"+e.type));const n=this||e.target||_,o=n[t];let r;if(w&&n===k&&"error"===e.type){const t=e;!0===(r=o&&o.call(this,t.message,t.filename,t.lineno,t.colno,t.error))&&e.preventDefault()}else null==(r=o&&o.apply(this,arguments))||r||e.preventDefault();return r};function P(n,o,r){let s=e(n,o);if(!s&&r&&e(r,o)&&(s={enumerable:!0,configurable:!0}),!s||!s.configurable)return;const i=d("on"+o+"patched");if(n.hasOwnProperty(i)&&n[i])return;delete s.writable,delete s.value;const a=s.get,c=s.set,l=o.substr(2);let u=S[l];u||(u=S[l]=d("ON_PROPERTY"+l)),s.set=function(e){let t=this;t||n!==_||(t=_),t&&(t[u]&&t.removeEventListener(l,D),c&&c.apply(t,y),"function"==typeof e?(t[u]=e,t.addEventListener(l,D,!1)):t[u]=null)},s.get=function(){let e=this;if(e||n!==_||(e=_),!e)return null;const t=e[u];if(t)return t;if(a){let t=a&&a.call(this);if(t)return s.set.call(this,t),"function"==typeof e[m]&&e.removeAttribute(o),t}return null},t(n,o,s),n[i]=!0}function O(e,t,n){if(t)for(let o=0;o<t.length;o++)P(e,"on"+t[o],n);else{const t=[];for(const n in e)"on"==n.substr(0,2)&&t.push(n);for(let o=0;o<t.length;o++)P(e,t[o],n)}}const z=d("originalInstance");function C(e){const n=_[e];if(!n)return;_[d(e)]=n,_[e]=function(){const t=v(arguments,e);switch(t.length){case 0:this[z]=new n;break;case 1:this[z]=new n(t[0]);break;case 2:this[z]=new n(t[0],t[1]);break;case 3:this[z]=new n(t[0],t[1],t[2]);break;case 4:this[z]=new n(t[0],t[1],t[2],t[3]);break;default:throw new Error("Arg list too long.")}},x(_[e],n);const o=new n(function(){});let r;for(r in o)"XMLHttpRequest"===e&&"responseBlob"===r||function(n){"function"==typeof o[n]?_[e].prototype[n]=function(){return this[z][n].apply(this[z],arguments)}:t(_[e].prototype,n,{set:function(t){"function"==typeof t?(this[z][n]=p(t,e+"."+n),x(this[z][n],t)):this[z][n]=t},get:function(){return this[z][n]}})}(r);for(r in n)"prototype"!==r&&n.hasOwnProperty(r)&&(_[e][r]=n[r])}let j=!1;function I(t,o,r){let s=t;for(;s&&!s.hasOwnProperty(o);)s=n(s);!s&&t[o]&&(s=t);const i=d(o);let a=null;if(s&&!(a=s[i])&&(a=s[i]=s[o],b(s&&e(s,o)))){const e=r(a,i,o);s[o]=function(){return e(this,arguments)},x(s[o],a),j&&function c(e,t){"function"==typeof Object.getOwnPropertySymbols&&Object.getOwnPropertySymbols(e).forEach(n=>{const o=Object.getOwnPropertyDescriptor(e,n);Object.defineProperty(t,n,{get:function(){return e[n]},set:function(t){(!o||o.writable&&"function"==typeof o.set)&&(e[n]=t)},enumerable:!o||o.enumerable,configurable:!o||o.configurable})})}(a,s[o])}return a}function R(e,t,n){let o=null;function r(e){const t=e.data;return t.args[t.cbIdx]=function(){e.invoke.apply(this,arguments)},o.apply(t.target,t.args),e}o=I(e,t,e=>(function(t,o){const s=n(t,o);return s.cbIdx>=0&&"function"==typeof o[s.cbIdx]?f(s.name,o[s.cbIdx],s,r):e.apply(t,o)}))}function x(e,t){e[d("OriginalDelegate")]=t}let M=!1,N=!1;function L(){if(M)return N;M=!0;try{const e=k.navigator.userAgent;-1===e.indexOf("MSIE ")&&-1===e.indexOf("Trident/")&&-1===e.indexOf("Edge/")||(N=!0)}catch(e){}return N}
const e=Object.getOwnPropertyDescriptor,t=Object.defineProperty,n=Object.getPrototypeOf,o=Object.create,r=Array.prototype.slice,s="addEventListener",i="removeEventListener",a=Zone.__symbol__(s),c=Zone.__symbol__(i),l="true",u="false",h=Zone.__symbol__("");function p(e,t){return Zone.current.wrap(e,t)}function f(e,t,n,o,r){return Zone.current.scheduleMacroTask(e,t,n,o,r)}const d=Zone.__symbol__,g="undefined"!=typeof window,_=g?window:void 0,k=g&&_||"object"==typeof self&&self||global,m="removeAttribute",y=[null];function v(e,t){for(let n=e.length-1;n>=0;n--)"function"==typeof e[n]&&(e[n]=p(e[n],t+"_"+n));return e}function b(e){return!e||!1!==e.writable&&!("function"==typeof e.get&&void 0===e.set)}const T="undefined"!=typeof WorkerGlobalScope&&self instanceof WorkerGlobalScope,E=!("nw"in k)&&void 0!==k.process&&"[object process]"==={}.toString.call(k.process),w=!E&&!T&&!(!g||!_.HTMLElement),Z=void 0!==k.process&&"[object process]"==={}.toString.call(k.process)&&!T&&!(!g||!_.HTMLElement),S={},D=function(e){if(!(e=e||k.event))return;let t=S[e.type];t||(t=S[e.type]=d("ON_PROPERTY"+e.type));const n=this||e.target||k,o=n[t];let r;if(w&&n===_&&"error"===e.type){const t=e;!0===(r=o&&o.call(this,t.message,t.filename,t.lineno,t.colno,t.error))&&e.preventDefault()}else null==(r=o&&o.apply(this,arguments))||r||e.preventDefault();return r};function P(n,o,r){let s=e(n,o);if(!s&&r&&e(r,o)&&(s={enumerable:!0,configurable:!0}),!s||!s.configurable)return;const i=d("on"+o+"patched");if(n.hasOwnProperty(i)&&n[i])return;delete s.writable,delete s.value;const a=s.get,c=s.set,l=o.substr(2);let u=S[l];u||(u=S[l]=d("ON_PROPERTY"+l)),s.set=function(e){let t=this;t||n!==k||(t=k),t&&(t[u]&&t.removeEventListener(l,D),c&&c.apply(t,y),"function"==typeof e?(t[u]=e,t.addEventListener(l,D,!1)):t[u]=null)},s.get=function(){let e=this;if(e||n!==k||(e=k),!e)return null;const t=e[u];if(t)return t;if(a){let t=a&&a.call(this);if(t)return s.set.call(this,t),"function"==typeof e[m]&&e.removeAttribute(o),t}return null},t(n,o,s),n[i]=!0}function O(e,t,n){if(t)for(let o=0;o<t.length;o++)P(e,"on"+t[o],n);else{const t=[];for(const n in e)"on"==n.substr(0,2)&&t.push(n);for(let o=0;o<t.length;o++)P(e,t[o],n)}}const C=d("originalInstance");function z(e){const n=k[e];if(!n)return;k[d(e)]=n,k[e]=function(){const t=v(arguments,e);switch(t.length){case 0:this[C]=new n;break;case 1:this[C]=new n(t[0]);break;case 2:this[C]=new n(t[0],t[1]);break;case 3:this[C]=new n(t[0],t[1],t[2]);break;case 4:this[C]=new n(t[0],t[1],t[2],t[3]);break;default:throw new Error("Arg list too long.")}},N(k[e],n);const o=new n((function(){}));let r;for(r in o)"XMLHttpRequest"===e&&"responseBlob"===r||function(n){"function"==typeof o[n]?k[e].prototype[n]=function(){return this[C][n].apply(this[C],arguments)}:t(k[e].prototype,n,{set:function(t){"function"==typeof t?(this[C][n]=p(t,e+"."+n),N(this[C][n],t)):this[C][n]=t},get:function(){return this[C][n]}})}(r);for(r in n)"prototype"!==r&&n.hasOwnProperty(r)&&(k[e][r]=n[r])}let j=!1;function I(t,o,r){let s=t;for(;s&&!s.hasOwnProperty(o);)s=n(s);!s&&t[o]&&(s=t);const i=d(o);let a=null;if(s&&!(a=s[i])&&(a=s[i]=s[o],b(s&&e(s,o)))){const e=r(a,i,o);s[o]=function(){return e(this,arguments)},N(s[o],a),j&&function c(e,t){"function"==typeof Object.getOwnPropertySymbols&&Object.getOwnPropertySymbols(e).forEach(n=>{const o=Object.getOwnPropertyDescriptor(e,n);Object.defineProperty(t,n,{get:function(){return e[n]},set:function(t){(!o||o.writable&&"function"==typeof o.set)&&(e[n]=t)},enumerable:!o||o.enumerable,configurable:!o||o.configurable})})}(a,s[o])}return a}function R(e,t,n){let o=null;function r(e){const t=e.data;return t.args[t.cbIdx]=function(){e.invoke.apply(this,arguments)},o.apply(t.target,t.args),e}o=I(e,t,e=>(function(t,o){const s=n(t,o);return s.cbIdx>=0&&"function"==typeof o[s.cbIdx]?f(s.name,o[s.cbIdx],s,r):e.apply(t,o)}))}function N(e,t){e[d("OriginalDelegate")]=t}let x=!1,M=!1;function L(){try{const e=_.navigator.userAgent;if(-1!==e.indexOf("MSIE ")||-1!==e.indexOf("Trident/"))return!0}catch(e){}return!1}function A(){if(x)return M;x=!0;try{const e=_.navigator.userAgent;-1===e.indexOf("MSIE ")&&-1===e.indexOf("Trident/")&&-1===e.indexOf("Edge/")||(M=!0)}catch(e){}return M}
/**

@@ -47,3 +47,3 @@ * @license

*/
let A=!1;if("undefined"!=typeof window)try{const e=Object.defineProperty({},"passive",{get:function(){A=!0}});window.addEventListener("test",e,e),window.removeEventListener("test",e,e)}catch(e){A=!1}const H={useG:!0},F={},G={},q=new RegExp("^"+h+"(\\w+)(true|false)$"),B=d("propagationStopped");function W(e,t,o){const r=o&&o.add||s,a=o&&o.rm||i,c=o&&o.listeners||"eventListeners",p=o&&o.rmAll||"removeAllListeners",f=d(r),g="."+r+":",k="prependListener",_="."+k+":",m=function(e,t,n){if(e.isRemoved)return;const o=e.callback;"object"==typeof o&&o.handleEvent&&(e.callback=(e=>o.handleEvent(e)),e.originalDelegate=o),e.invoke(e,t,[n]);const r=e.options;r&&"object"==typeof r&&r.once&&t[a].call(t,n.type,e.originalDelegate?e.originalDelegate:e.callback,r)},y=function(t){if(!(t=t||e.event))return;const n=this||t.target||e,o=n[F[t.type][u]];if(o)if(1===o.length)m(o[0],n,t);else{const e=o.slice();for(let o=0;o<e.length&&(!t||!0!==t[B]);o++)m(e[o],n,t)}},v=function(t){if(!(t=t||e.event))return;const n=this||t.target||e,o=n[F[t.type][l]];if(o)if(1===o.length)m(o[0],n,t);else{const e=o.slice();for(let o=0;o<e.length&&(!t||!0!==t[B]);o++)m(e[o],n,t)}};function b(t,o){if(!t)return!1;let s=!0;o&&void 0!==o.useG&&(s=o.useG);const i=o&&o.vh;let m=!0;o&&void 0!==o.chkDup&&(m=o.chkDup);let b=!1;o&&void 0!==o.rt&&(b=o.rt);let T=t;for(;T&&!T.hasOwnProperty(r);)T=n(T);if(!T&&t[r]&&(T=t),!T)return!1;if(T[f])return!1;const w=o&&o.eventNameToString,Z={},S=T[f]=T[r],D=T[d(a)]=T[a],P=T[d(c)]=T[c],O=T[d(p)]=T[p];let z;function C(e){A||"boolean"==typeof Z.options||null==Z.options||(e.options=!!Z.options.capture,Z.options=e.options)}o&&o.prepend&&(z=T[d(o.prepend)]=T[o.prepend]);const j=s?function(e){if(!Z.isExisting)return C(e),S.call(Z.target,Z.eventName,Z.capture?v:y,Z.options)}:function(e){return C(e),S.call(Z.target,Z.eventName,e.invoke,Z.options)},I=s?function(e){if(!e.isRemoved){const t=F[e.eventName];let n;t&&(n=t[e.capture?l:u]);const o=n&&e.target[n];if(o)for(let t=0;t<o.length;t++)if(o[t]===e){o.splice(t,1),e.isRemoved=!0,0===o.length&&(e.allRemoved=!0,e.target[n]=null);break}}if(e.allRemoved)return D.call(e.target,e.eventName,e.capture?v:y,e.options)}:function(e){return D.call(e.target,e.eventName,e.invoke,e.options)},R=o&&o.diff?o.diff:function(e,t){const n=typeof t;return"function"===n&&e.callback===t||"object"===n&&e.originalDelegate===t},M=Zone[d("BLACK_LISTED_EVENTS")],N=function(t,n,r,a,c=!1,p=!1){return function(){const f=this||e;let d=arguments[0];o&&o.transferEventName&&(d=o.transferEventName(d));let g=arguments[1];if(!g)return t.apply(this,arguments);if(E&&"uncaughtException"===d)return t.apply(this,arguments);let k=!1;if("function"!=typeof g){if(!g.handleEvent)return t.apply(this,arguments);k=!0}if(i&&!i(t,g,f,arguments))return;const _=arguments[2];if(M)for(let e=0;e<M.length;e++)if(d===M[e])return t.apply(this,arguments);let y,v=!1;void 0===_?y=!1:!0===_?y=!0:!1===_?y=!1:(y=!!_&&!!_.capture,v=!!_&&!!_.once);const b=Zone.current,T=F[d];let S;if(T)S=T[y?l:u];else{const e=(w?w(d):d)+u,t=(w?w(d):d)+l,n=h+e,o=h+t;F[d]={},F[d][u]=n,F[d][l]=o,S=y?o:n}let D,P=f[S],O=!1;if(P){if(O=!0,m)for(let e=0;e<P.length;e++)if(R(P[e],g))return}else P=f[S]=[];const z=f.constructor.name,C=G[z];C&&(D=C[d]),D||(D=z+n+(w?w(d):d)),Z.options=_,v&&(Z.options.once=!1),Z.target=f,Z.capture=y,Z.eventName=d,Z.isExisting=O;const j=s?H:void 0;j&&(j.taskData=Z);const I=b.scheduleEventTask(D,g,j,r,a);return Z.target=null,j&&(j.taskData=null),v&&(_.once=!0),(A||"boolean"!=typeof I.options)&&(I.options=_),I.target=f,I.capture=y,I.eventName=d,k&&(I.originalDelegate=g),p?P.unshift(I):P.push(I),c?f:void 0}};return T[r]=N(S,g,j,I,b),z&&(T[k]=N(z,_,function(e){return z.call(Z.target,Z.eventName,e.invoke,Z.options)},I,b,!0)),T[a]=function(){const t=this||e;let n=arguments[0];o&&o.transferEventName&&(n=o.transferEventName(n));const r=arguments[2];let s;s=void 0!==r&&(!0===r||!1!==r&&!!r&&!!r.capture);const a=arguments[1];if(!a)return D.apply(this,arguments);if(i&&!i(D,a,t,arguments))return;const c=F[n];let p;c&&(p=c[s?l:u]);const f=p&&t[p];if(f)for(let e=0;e<f.length;e++){const o=f[e];if(R(o,a))return f.splice(e,1),o.isRemoved=!0,0===f.length&&(o.allRemoved=!0,t[p]=null,"string"==typeof n)&&(t[h+"ON_PROPERTY"+n]=null),o.zone.cancelTask(o),b?t:void 0}return D.apply(this,arguments)},T[c]=function(){const t=this||e;let n=arguments[0];o&&o.transferEventName&&(n=o.transferEventName(n));const r=[],s=U(t,w?w(n):n);for(let e=0;e<s.length;e++){const t=s[e];r.push(t.originalDelegate?t.originalDelegate:t.callback)}return r},T[p]=function(){const t=this||e;let n=arguments[0];if(n){o&&o.transferEventName&&(n=o.transferEventName(n));const e=F[n];if(e){const o=t[e[u]],r=t[e[l]];if(o){const e=o.slice();for(let t=0;t<e.length;t++){const o=e[t];this[a].call(this,n,o.originalDelegate?o.originalDelegate:o.callback,o.options)}}if(r){const e=r.slice();for(let t=0;t<e.length;t++){const o=e[t];this[a].call(this,n,o.originalDelegate?o.originalDelegate:o.callback,o.options)}}}}else{const e=Object.keys(t);for(let t=0;t<e.length;t++){const n=q.exec(e[t]);let o=n&&n[1];o&&"removeListener"!==o&&this[p].call(this,o)}this[p].call(this,"removeListener")}if(b)return this},x(T[r],S),x(T[a],D),O&&x(T[p],O),P&&x(T[c],P),!0}let T=[];for(let e=0;e<t.length;e++)T[e]=b(t[e],o);return T}function U(e,t){const n=[];for(let o in e){const r=q.exec(o);let s=r&&r[1];if(s&&(!t||s===t)){const t=e[o];if(t)for(let e=0;e<t.length;e++)n.push(t[e])}}return n}function $(e,t){const n=e.Event;n&&n.prototype&&t.patchMethod(n.prototype,"stopImmediatePropagation",e=>(function(t,n){t[B]=!0,e&&e.apply(t,n)}))}
let H=!1;if("undefined"!=typeof window)try{const e=Object.defineProperty({},"passive",{get:function(){H=!0}});window.addEventListener("test",e,e),window.removeEventListener("test",e,e)}catch(e){H=!1}const F={useG:!0},G={},B={},q=new RegExp("^"+h+"(\\w+)(true|false)$"),W=d("propagationStopped");function U(e,t){const n=(t?t(e):e)+u,o=(t?t(e):e)+l,r=h+n,s=h+o;G[e]={},G[e][u]=r,G[e][l]=s}function V(e,t,o){const r=o&&o.add||s,a=o&&o.rm||i,c=o&&o.listeners||"eventListeners",p=o&&o.rmAll||"removeAllListeners",f=d(r),g="."+r+":",_="prependListener",k="."+_+":",m=function(e,t,n){if(e.isRemoved)return;const o=e.callback;"object"==typeof o&&o.handleEvent&&(e.callback=e=>o.handleEvent(e),e.originalDelegate=o),e.invoke(e,t,[n]);const r=e.options;r&&"object"==typeof r&&r.once&&t[a].call(t,n.type,e.originalDelegate?e.originalDelegate:e.callback,r)},y=function(t){if(!(t=t||e.event))return;const n=this||t.target||e,o=n[G[t.type][u]];if(o)if(1===o.length)m(o[0],n,t);else{const e=o.slice();for(let o=0;o<e.length&&(!t||!0!==t[W]);o++)m(e[o],n,t)}},v=function(t){if(!(t=t||e.event))return;const n=this||t.target||e,o=n[G[t.type][l]];if(o)if(1===o.length)m(o[0],n,t);else{const e=o.slice();for(let o=0;o<e.length&&(!t||!0!==t[W]);o++)m(e[o],n,t)}};function b(t,o){if(!t)return!1;let s=!0;o&&void 0!==o.useG&&(s=o.useG);const i=o&&o.vh;let m=!0;o&&void 0!==o.chkDup&&(m=o.chkDup);let b=!1;o&&void 0!==o.rt&&(b=o.rt);let T=t;for(;T&&!T.hasOwnProperty(r);)T=n(T);if(!T&&t[r]&&(T=t),!T)return!1;if(T[f])return!1;const w=o&&o.eventNameToString,Z={},S=T[f]=T[r],D=T[d(a)]=T[a],P=T[d(c)]=T[c],O=T[d(p)]=T[p];let C;function z(e,t){return!H&&"object"==typeof e&&e?!!e.capture:H&&t?"boolean"==typeof e?{capture:e,passive:!0}:e?"object"==typeof e&&!1!==e.passive?Object.assign(Object.assign({},e),{passive:!0}):e:{passive:!0}:e}o&&o.prepend&&(C=T[d(o.prepend)]=T[o.prepend]);const j=s?function(e){if(!Z.isExisting)return S.call(Z.target,Z.eventName,Z.capture?v:y,Z.options)}:function(e){return S.call(Z.target,Z.eventName,e.invoke,Z.options)},I=s?function(e){if(!e.isRemoved){const t=G[e.eventName];let n;t&&(n=t[e.capture?l:u]);const o=n&&e.target[n];if(o)for(let t=0;t<o.length;t++)if(o[t]===e){o.splice(t,1),e.isRemoved=!0,0===o.length&&(e.allRemoved=!0,e.target[n]=null);break}}if(e.allRemoved)return D.call(e.target,e.eventName,e.capture?v:y,e.options)}:function(e){return D.call(e.target,e.eventName,e.invoke,e.options)},R=o&&o.diff?o.diff:function(e,t){const n=typeof t;return"function"===n&&e.callback===t||"object"===n&&e.originalDelegate===t},x=Zone[d("BLACK_LISTED_EVENTS")],M=e[d("PASSIVE_EVENTS")],L=function(t,n,r,a,c=!1,h=!1){return function(){const p=this||e;let f=arguments[0];o&&o.transferEventName&&(f=o.transferEventName(f));let d=arguments[1];if(!d)return t.apply(this,arguments);if(E&&"uncaughtException"===f)return t.apply(this,arguments);let g=!1;if("function"!=typeof d){if(!d.handleEvent)return t.apply(this,arguments);g=!0}if(i&&!i(t,d,p,arguments))return;const _=H&&!!M&&-1!==M.indexOf(f),k=z(arguments[2],_);if(x)for(let e=0;e<x.length;e++)if(f===x[e])return _?t.call(p,f,d,k):t.apply(this,arguments);const y=!!k&&("boolean"==typeof k||k.capture),v=!(!k||"object"!=typeof k)&&k.once,b=Zone.current;let T=G[f];T||(U(f,w),T=G[f]);const S=T[y?l:u];let D,P=p[S],O=!1;if(P){if(O=!0,m)for(let e=0;e<P.length;e++)if(R(P[e],d))return}else P=p[S]=[];const C=p.constructor.name,j=B[C];j&&(D=j[f]),D||(D=C+n+(w?w(f):f)),Z.options=k,v&&(Z.options.once=!1),Z.target=p,Z.capture=y,Z.eventName=f,Z.isExisting=O;const I=s?F:void 0;I&&(I.taskData=Z);const N=b.scheduleEventTask(D,d,I,r,a);return Z.target=null,I&&(I.taskData=null),v&&(k.once=!0),(H||"boolean"!=typeof N.options)&&(N.options=k),N.target=p,N.capture=y,N.eventName=f,g&&(N.originalDelegate=d),h?P.unshift(N):P.push(N),c?p:void 0}};return T[r]=L(S,g,j,I,b),C&&(T[_]=L(C,k,(function(e){return C.call(Z.target,Z.eventName,e.invoke,Z.options)}),I,b,!0)),T[a]=function(){const t=this||e;let n=arguments[0];o&&o.transferEventName&&(n=o.transferEventName(n));const r=arguments[2],s=!!r&&("boolean"==typeof r||r.capture),a=arguments[1];if(!a)return D.apply(this,arguments);if(i&&!i(D,a,t,arguments))return;const c=G[n];let p;c&&(p=c[s?l:u]);const f=p&&t[p];if(f)for(let e=0;e<f.length;e++){const o=f[e];if(R(o,a))return f.splice(e,1),o.isRemoved=!0,0===f.length&&(o.allRemoved=!0,t[p]=null,"string"==typeof n)&&(t[h+"ON_PROPERTY"+n]=null),o.zone.cancelTask(o),b?t:void 0}return D.apply(this,arguments)},T[c]=function(){const t=this||e;let n=arguments[0];o&&o.transferEventName&&(n=o.transferEventName(n));const r=[],s=$(t,w?w(n):n);for(let e=0;e<s.length;e++){const t=s[e];r.push(t.originalDelegate?t.originalDelegate:t.callback)}return r},T[p]=function(){const t=this||e;let n=arguments[0];if(n){o&&o.transferEventName&&(n=o.transferEventName(n));const e=G[n];if(e){const o=t[e[u]],r=t[e[l]];if(o){const e=o.slice();for(let t=0;t<e.length;t++){const o=e[t];this[a].call(this,n,o.originalDelegate?o.originalDelegate:o.callback,o.options)}}if(r){const e=r.slice();for(let t=0;t<e.length;t++){const o=e[t];this[a].call(this,n,o.originalDelegate?o.originalDelegate:o.callback,o.options)}}}}else{const e=Object.keys(t);for(let t=0;t<e.length;t++){const n=q.exec(e[t]);let o=n&&n[1];o&&"removeListener"!==o&&this[p].call(this,o)}this[p].call(this,"removeListener")}if(b)return this},N(T[r],S),N(T[a],D),O&&N(T[p],O),P&&N(T[c],P),!0}let T=[];for(let e=0;e<t.length;e++)T[e]=b(t[e],o);return T}function $(e,t){if(!t){const n=[];for(let o in e){const r=q.exec(o);let s=r&&r[1];if(s&&(!t||s===t)){const t=e[o];if(t)for(let e=0;e<t.length;e++)n.push(t[e])}}return n}let n=G[t];n||(U(t),n=G[t]);const o=e[n[u]],r=e[n[l]];return o?r?o.concat(r):o.slice():r?r.slice():[]}function X(e,t){const n=e.Event;n&&n.prototype&&t.patchMethod(n.prototype,"stopImmediatePropagation",e=>(function(t,n){t[W]=!0,e&&e.apply(t,n)}))}
/**

@@ -55,3 +55,3 @@ * @license

* found in the LICENSE file at https://angular.io/license
*/function V(e,t,n,o,r){const s=Zone.__symbol__(o);if(t[s])return;const i=t[s]=t[o];t[o]=function(s,a,c){return a&&a.prototype&&r.forEach(function(t){const r=`${n}.${o}::`+t,s=a.prototype;if(s.hasOwnProperty(t)){const n=e.ObjectGetOwnPropertyDescriptor(s,t);n&&n.value?(n.value=e.wrapWithCurrentZone(n.value,r),e._redefineProperty(a.prototype,t,n)):s[t]&&(s[t]=e.wrapWithCurrentZone(s[t],r))}else s[t]&&(s[t]=e.wrapWithCurrentZone(s[t],r))}),i.call(t,s,a,c)},e.attachOriginToPatched(t[o],i)}
*/function Y(e,t,n,o,r){const s=Zone.__symbol__(o);if(t[s])return;const i=t[s]=t[o];t[o]=function(s,a,c){return a&&a.prototype&&r.forEach((function(t){const r=`${n}.${o}::`+t,s=a.prototype;if(s.hasOwnProperty(t)){const n=e.ObjectGetOwnPropertyDescriptor(s,t);n&&n.value?(n.value=e.wrapWithCurrentZone(n.value,r),e._redefineProperty(a.prototype,t,n)):s[t]&&(s[t]=e.wrapWithCurrentZone(s[t],r))}else s[t]&&(s[t]=e.wrapWithCurrentZone(s[t],r))})),i.call(t,s,a,c)},e.attachOriginToPatched(t[o],i)}
/**

@@ -63,3 +63,3 @@ * @license

* found in the LICENSE file at https://angular.io/license
*/const X=["absolutedeviceorientation","afterinput","afterprint","appinstalled","beforeinstallprompt","beforeprint","beforeunload","devicelight","devicemotion","deviceorientation","deviceorientationabsolute","deviceproximity","hashchange","languagechange","message","mozbeforepaint","offline","online","paint","pageshow","pagehide","popstate","rejectionhandled","storage","unhandledrejection","unload","userproximity","vrdisplyconnected","vrdisplaydisconnected","vrdisplaypresentchange"],Y=["encrypted","waitingforkey","msneedkey","mozinterruptbegin","mozinterruptend"],K=["load"],J=["blur","error","focus","load","resize","scroll","messageerror"],Q=["bounce","finish","start"],ee=["loadstart","progress","abort","error","load","progress","timeout","loadend","readystatechange"],te=["upgradeneeded","complete","abort","success","error","blocked","versionchange","close"],ne=["close","error","open","message"],oe=["error","message"],re=["abort","animationcancel","animationend","animationiteration","auxclick","beforeinput","blur","cancel","canplay","canplaythrough","change","compositionstart","compositionupdate","compositionend","cuechange","click","close","contextmenu","curechange","dblclick","drag","dragend","dragenter","dragexit","dragleave","dragover","drop","durationchange","emptied","ended","error","focus","focusin","focusout","gotpointercapture","input","invalid","keydown","keypress","keyup","load","loadstart","loadeddata","loadedmetadata","lostpointercapture","mousedown","mouseenter","mouseleave","mousemove","mouseout","mouseover","mouseup","mousewheel","orientationchange","pause","play","playing","pointercancel","pointerdown","pointerenter","pointerleave","pointerlockchange","mozpointerlockchange","webkitpointerlockerchange","pointerlockerror","mozpointerlockerror","webkitpointerlockerror","pointermove","pointout","pointerover","pointerup","progress","ratechange","reset","resize","scroll","seeked","seeking","select","selectionchange","selectstart","show","sort","stalled","submit","suspend","timeupdate","volumechange","touchcancel","touchmove","touchstart","touchend","transitioncancel","transitionend","waiting","wheel"].concat(["webglcontextrestored","webglcontextlost","webglcontextcreationerror"],["autocomplete","autocompleteerror"],["toggle"],["afterscriptexecute","beforescriptexecute","DOMContentLoaded","freeze","fullscreenchange","mozfullscreenchange","webkitfullscreenchange","msfullscreenchange","fullscreenerror","mozfullscreenerror","webkitfullscreenerror","msfullscreenerror","readystatechange","visibilitychange","resume"],X,["beforecopy","beforecut","beforepaste","copy","cut","paste","dragstart","loadend","animationstart","search","transitionrun","transitionstart","webkitanimationend","webkitanimationiteration","webkitanimationstart","webkittransitionend"],["activate","afterupdate","ariarequest","beforeactivate","beforedeactivate","beforeeditfocus","beforeupdate","cellchange","controlselect","dataavailable","datasetchanged","datasetcomplete","errorupdate","filterchange","layoutcomplete","losecapture","move","moveend","movestart","propertychange","resizeend","resizestart","rowenter","rowexit","rowsdelete","rowsinserted","command","compassneedscalibration","deactivate","help","mscontentzoom","msmanipulationstatechanged","msgesturechange","msgesturedoubletap","msgestureend","msgesturehold","msgesturestart","msgesturetap","msgotpointercapture","msinertiastart","mslostpointercapture","mspointercancel","mspointerdown","mspointerenter","mspointerhover","mspointerleave","mspointermove","mspointerout","mspointerover","mspointerup","pointerout","mssitemodejumplistitemremoved","msthumbnailclick","stop","storagecommit"]);function se(e,t,n){if(!n||0===n.length)return t;const o=n.filter(t=>t.target===e);if(!o||0===o.length)return t;const r=o[0].ignoreProperties;return t.filter(e=>-1===r.indexOf(e))}function ie(e,t,n,o){e&&O(e,se(e,t,n),o)}function ae(e,t){if(E&&!Z)return;if(Zone[e.symbol("patchEvents")])return;const o="undefined"!=typeof WebSocket,r=t.__Zone_ignore_on_properties;if(w){const e=window,t=function s(){try{const t=e.navigator.userAgent;if(-1!==t.indexOf("MSIE ")||-1!==t.indexOf("Trident/"))return!0}catch(e){}return!1}?[{target:e,ignoreProperties:["error"]}]:[];ie(e,re.concat(["messageerror"]),r?r.concat(t):r,n(e)),ie(Document.prototype,re,r),void 0!==e.SVGElement&&ie(e.SVGElement.prototype,re,r),ie(Element.prototype,re,r),ie(HTMLElement.prototype,re,r),ie(HTMLMediaElement.prototype,Y,r),ie(HTMLFrameSetElement.prototype,X.concat(J),r),ie(HTMLBodyElement.prototype,X.concat(J),r),ie(HTMLFrameElement.prototype,K,r),ie(HTMLIFrameElement.prototype,K,r);const o=e.HTMLMarqueeElement;o&&ie(o.prototype,Q,r);const s=e.Worker;s&&ie(s.prototype,oe,r)}const i=t.XMLHttpRequest;i&&ie(i.prototype,ee,r);const a=t.XMLHttpRequestEventTarget;a&&ie(a&&a.prototype,ee,r),"undefined"!=typeof IDBIndex&&(ie(IDBIndex.prototype,te,r),ie(IDBRequest.prototype,te,r),ie(IDBOpenDBRequest.prototype,te,r),ie(IDBDatabase.prototype,te,r),ie(IDBTransaction.prototype,te,r),ie(IDBCursor.prototype,te,r)),o&&ie(WebSocket.prototype,ne,r)}
*/const J=["absolutedeviceorientation","afterinput","afterprint","appinstalled","beforeinstallprompt","beforeprint","beforeunload","devicelight","devicemotion","deviceorientation","deviceorientationabsolute","deviceproximity","hashchange","languagechange","message","mozbeforepaint","offline","online","paint","pageshow","pagehide","popstate","rejectionhandled","storage","unhandledrejection","unload","userproximity","vrdisplayconnected","vrdisplaydisconnected","vrdisplaypresentchange"],K=["encrypted","waitingforkey","msneedkey","mozinterruptbegin","mozinterruptend"],Q=["load"],ee=["blur","error","focus","load","resize","scroll","messageerror"],te=["bounce","finish","start"],ne=["loadstart","progress","abort","error","load","progress","timeout","loadend","readystatechange"],oe=["upgradeneeded","complete","abort","success","error","blocked","versionchange","close"],re=["close","error","open","message"],se=["error","message"],ie=["abort","animationcancel","animationend","animationiteration","auxclick","beforeinput","blur","cancel","canplay","canplaythrough","change","compositionstart","compositionupdate","compositionend","cuechange","click","close","contextmenu","curechange","dblclick","drag","dragend","dragenter","dragexit","dragleave","dragover","drop","durationchange","emptied","ended","error","focus","focusin","focusout","gotpointercapture","input","invalid","keydown","keypress","keyup","load","loadstart","loadeddata","loadedmetadata","lostpointercapture","mousedown","mouseenter","mouseleave","mousemove","mouseout","mouseover","mouseup","mousewheel","orientationchange","pause","play","playing","pointercancel","pointerdown","pointerenter","pointerleave","pointerlockchange","mozpointerlockchange","webkitpointerlockerchange","pointerlockerror","mozpointerlockerror","webkitpointerlockerror","pointermove","pointout","pointerover","pointerup","progress","ratechange","reset","resize","scroll","seeked","seeking","select","selectionchange","selectstart","show","sort","stalled","submit","suspend","timeupdate","volumechange","touchcancel","touchmove","touchstart","touchend","transitioncancel","transitionend","waiting","wheel"].concat(["webglcontextrestored","webglcontextlost","webglcontextcreationerror"],["autocomplete","autocompleteerror"],["toggle"],["afterscriptexecute","beforescriptexecute","DOMContentLoaded","freeze","fullscreenchange","mozfullscreenchange","webkitfullscreenchange","msfullscreenchange","fullscreenerror","mozfullscreenerror","webkitfullscreenerror","msfullscreenerror","readystatechange","visibilitychange","resume"],J,["beforecopy","beforecut","beforepaste","copy","cut","paste","dragstart","loadend","animationstart","search","transitionrun","transitionstart","webkitanimationend","webkitanimationiteration","webkitanimationstart","webkittransitionend"],["activate","afterupdate","ariarequest","beforeactivate","beforedeactivate","beforeeditfocus","beforeupdate","cellchange","controlselect","dataavailable","datasetchanged","datasetcomplete","errorupdate","filterchange","layoutcomplete","losecapture","move","moveend","movestart","propertychange","resizeend","resizestart","rowenter","rowexit","rowsdelete","rowsinserted","command","compassneedscalibration","deactivate","help","mscontentzoom","msmanipulationstatechanged","msgesturechange","msgesturedoubletap","msgestureend","msgesturehold","msgesturestart","msgesturetap","msgotpointercapture","msinertiastart","mslostpointercapture","mspointercancel","mspointerdown","mspointerenter","mspointerhover","mspointerleave","mspointermove","mspointerout","mspointerover","mspointerup","pointerout","mssitemodejumplistitemremoved","msthumbnailclick","stop","storagecommit"]);function ae(e,t,n){if(!n||0===n.length)return t;const o=n.filter(t=>t.target===e);if(!o||0===o.length)return t;const r=o[0].ignoreProperties;return t.filter(e=>-1===r.indexOf(e))}function ce(e,t,n,o){e&&O(e,ae(e,t,n),o)}function le(e,t){if(E&&!Z)return;if(Zone[e.symbol("patchEvents")])return;const o="undefined"!=typeof WebSocket,r=t.__Zone_ignore_on_properties;if(w){const e=window,t=L?[{target:e,ignoreProperties:["error"]}]:[];ce(e,ie.concat(["messageerror"]),r?r.concat(t):r,n(e)),ce(Document.prototype,ie,r),void 0!==e.SVGElement&&ce(e.SVGElement.prototype,ie,r),ce(Element.prototype,ie,r),ce(HTMLElement.prototype,ie,r),ce(HTMLMediaElement.prototype,K,r),ce(HTMLFrameSetElement.prototype,J.concat(ee),r),ce(HTMLBodyElement.prototype,J.concat(ee),r),ce(HTMLFrameElement.prototype,Q,r),ce(HTMLIFrameElement.prototype,Q,r);const o=e.HTMLMarqueeElement;o&&ce(o.prototype,te,r);const s=e.Worker;s&&ce(s.prototype,se,r)}const s=t.XMLHttpRequest;s&&ce(s.prototype,ne,r);const i=t.XMLHttpRequestEventTarget;i&&ce(i&&i.prototype,ne,r),"undefined"!=typeof IDBIndex&&(ce(IDBIndex.prototype,oe,r),ce(IDBRequest.prototype,oe,r),ce(IDBOpenDBRequest.prototype,oe,r),ce(IDBDatabase.prototype,oe,r),ce(IDBTransaction.prototype,oe,r),ce(IDBCursor.prototype,oe,r)),o&&ce(WebSocket.prototype,re,r)}
/**

@@ -71,3 +71,3 @@ * @license

* found in the LICENSE file at https://angular.io/license
*/Zone.__load_patch("util",(n,a,c)=>{c.patchOnProperties=O,c.patchMethod=I,c.bindArguments=v,c.patchMacroTask=R;const f=a.__symbol__("BLACK_LISTED_EVENTS"),d=a.__symbol__("UNPATCHED_EVENTS");n[d]&&(n[f]=n[d]),n[f]&&(a[f]=a[d]=n[f]),c.patchEventPrototype=$,c.patchEventTarget=W,c.isIEOrEdge=L,c.ObjectDefineProperty=t,c.ObjectGetOwnPropertyDescriptor=e,c.ObjectCreate=o,c.ArraySlice=r,c.patchClass=C,c.wrapWithCurrentZone=p,c.filterProperties=se,c.attachOriginToPatched=x,c._redefineProperty=Object.defineProperty,c.patchCallbacks=V,c.getGlobalObjects=(()=>({globalSources:G,zoneSymbolEventNames:F,eventNames:re,isBrowser:w,isMix:Z,isNode:E,TRUE_STR:l,FALSE_STR:u,ZONE_SYMBOL_PREFIX:h,ADD_EVENT_LISTENER_STR:s,REMOVE_EVENT_LISTENER_STR:i}))});
*/Zone.__load_patch("util",(n,a,c)=>{c.patchOnProperties=O,c.patchMethod=I,c.bindArguments=v,c.patchMacroTask=R;const f=a.__symbol__("BLACK_LISTED_EVENTS"),d=a.__symbol__("UNPATCHED_EVENTS");n[d]&&(n[f]=n[d]),n[f]&&(a[f]=a[d]=n[f]),c.patchEventPrototype=X,c.patchEventTarget=V,c.isIEOrEdge=A,c.ObjectDefineProperty=t,c.ObjectGetOwnPropertyDescriptor=e,c.ObjectCreate=o,c.ArraySlice=r,c.patchClass=z,c.wrapWithCurrentZone=p,c.filterProperties=ae,c.attachOriginToPatched=N,c._redefineProperty=Object.defineProperty,c.patchCallbacks=Y,c.getGlobalObjects=()=>({globalSources:B,zoneSymbolEventNames:G,eventNames:ie,isBrowser:w,isMix:Z,isNode:E,TRUE_STR:l,FALSE_STR:u,ZONE_SYMBOL_PREFIX:h,ADD_EVENT_LISTENER_STR:s,REMOVE_EVENT_LISTENER_STR:i})});
/**

@@ -80,2 +80,3 @@ * @license

*/
const ue=d("zoneTask");function he(e,t,n,o){let r=null,s=null;n+=o;const i={};function a(t){const n=t.data;return n.args[0]=function o(){try{t.invoke.apply(this,arguments)}finally{t.data&&t.data.isPeriodic||("number"==typeof n.handleId?delete i[n.handleId]:n.handleId&&(n.handleId[ue]=null))}},n.handleId=r.apply(e,n.args),t}function c(e){return s(e.data.handleId)}r=I(e,t+=o,n=>(function(r,s){if("function"==typeof s[0]){const e=f(t,s[0],{isPeriodic:"Interval"===o,delay:"Timeout"===o||"Interval"===o?s[1]||0:void 0,args:s},a,c);if(!e)return e;const n=e.data.handleId;return"number"==typeof n?i[n]=e:n&&(n[ue]=e),n&&n.ref&&n.unref&&"function"==typeof n.ref&&"function"==typeof n.unref&&(e.ref=n.ref.bind(n),e.unref=n.unref.bind(n)),"number"==typeof n||n?n:e}return n.apply(e,s)})),s=I(e,n,t=>(function(n,o){const r=o[0];let s;"number"==typeof r?s=i[r]:(s=r&&r[ue])||(s=r),s&&"string"==typeof s.type?"notScheduled"!==s.state&&(s.cancelFn&&s.data.isPeriodic||0===s.runCount)&&("number"==typeof r?delete i[r]:r&&(r[ue]=null),s.zone.cancelTask(s)):t.apply(e,o)}))}
/**

@@ -88,3 +89,2 @@ * @license

*/
const ce=d("zoneTask");function le(e,t,n,o){let r=null,s=null;n+=o;const i={};function a(t){const n=t.data;return n.args[0]=function o(){try{t.invoke.apply(this,arguments)}finally{t.data&&t.data.isPeriodic||("number"==typeof n.handleId?delete i[n.handleId]:n.handleId&&(n.handleId[ce]=null))}},n.handleId=r.apply(e,n.args),t}function c(e){return s(e.data.handleId)}r=I(e,t+=o,n=>(function(r,s){if("function"==typeof s[0]){const e=f(t,s[0],{isPeriodic:"Interval"===o,delay:"Timeout"===o||"Interval"===o?s[1]||0:void 0,args:s},a,c);if(!e)return e;const n=e.data.handleId;return"number"==typeof n?i[n]=e:n&&(n[ce]=e),n&&n.ref&&n.unref&&"function"==typeof n.ref&&"function"==typeof n.unref&&(e.ref=n.ref.bind(n),e.unref=n.unref.bind(n)),"number"==typeof n||n?n:e}return n.apply(e,s)})),s=I(e,n,t=>(function(n,o){const r=o[0];let s;"number"==typeof r?s=i[r]:(s=r&&r[ce])||(s=r),s&&"string"==typeof s.type?"notScheduled"!==s.state&&(s.cancelFn&&s.data.isPeriodic||0===s.runCount)&&("number"==typeof r?delete i[r]:r&&(r[ce]=null),s.zone.cancelTask(s)):t.apply(e,o)}))}
/**

@@ -97,2 +97,3 @@ * @license

*/
function pe(e,t){if(Zone[t.symbol("patchEventTarget")])return;const{eventNames:n,zoneSymbolEventNames:o,TRUE_STR:r,FALSE_STR:s,ZONE_SYMBOL_PREFIX:i}=t.getGlobalObjects();for(let e=0;e<n.length;e++){const t=n[e],a=i+(t+s),c=i+(t+r);o[t]={},o[t][s]=a,o[t][r]=c}const a=e.EventTarget;return a&&a.prototype?(t.patchEventTarget(e,[a&&a.prototype]),!0):void 0}
/**

@@ -105,10 +106,2 @@ * @license

*/
function ue(e,t){if(Zone[t.symbol("patchEventTarget")])return;const{eventNames:n,zoneSymbolEventNames:o,TRUE_STR:r,FALSE_STR:s,ZONE_SYMBOL_PREFIX:i}=t.getGlobalObjects();for(let e=0;e<n.length;e++){const t=n[e],a=i+(t+s),c=i+(t+r);o[t]={},o[t][s]=a,o[t][r]=c}const a=e.EventTarget;return a&&a.prototype?(t.patchEventTarget(e,[a&&a.prototype]),!0):void 0}
/**
* @license
* Copyright Google Inc. All Rights Reserved.
*
* Use of this source code is governed by an MIT-style license that can be
* found in the LICENSE file at https://angular.io/license
*/
Zone.__load_patch("legacy",e=>{const t=e[Zone.__symbol__("legacyPatch")];t&&t()}),Zone.__load_patch("timers",e=>{le(e,"set","clear","Timeout"),le(e,"set","clear","Interval"),le(e,"set","clear","Immediate")}),Zone.__load_patch("requestAnimationFrame",e=>{le(e,"request","cancel","AnimationFrame"),le(e,"mozRequest","mozCancel","AnimationFrame"),le(e,"webkitRequest","webkitCancel","AnimationFrame")}),Zone.__load_patch("blocking",(e,t)=>{const n=["alert","prompt","confirm"];for(let o=0;o<n.length;o++)I(e,n[o],(n,o,r)=>(function(o,s){return t.current.run(n,e,s,r)}))}),Zone.__load_patch("EventTarget",(e,t,n)=>{!function o(e,t){t.patchEventPrototype(e,t)}(e,n),ue(e,n);const r=e.XMLHttpRequestEventTarget;r&&r.prototype&&n.patchEventTarget(e,[r.prototype]),C("MutationObserver"),C("WebKitMutationObserver"),C("IntersectionObserver"),C("FileReader")}),Zone.__load_patch("on_property",(e,t,n)=>{ae(n,e)}),Zone.__load_patch("customElements",(e,t,n)=>{!function o(e,t){const{isBrowser:n,isMix:o}=t.getGlobalObjects();(n||o)&&e.customElements&&"customElements"in e&&t.patchCallbacks(t,e.customElements,"customElements","define",["connectedCallback","disconnectedCallback","adoptedCallback","attributeChangedCallback"])}(e,n)}),Zone.__load_patch("XHR",(e,t)=>{!function n(e){const n=e.XMLHttpRequest;if(!n)return;const h=n.prototype;let p=h[a],g=h[c];if(!p){const t=e.XMLHttpRequestEventTarget;if(t){const e=t.prototype;p=e[a],g=e[c]}}const k="readystatechange",_="scheduled";function m(e){const n=e.data,r=n.target;r[i]=!1,r[u]=!1;const l=r[s];p||(p=r[a],g=r[c]),l&&g.call(r,k,l);const h=r[s]=(()=>{if(r.readyState===r.DONE)if(!n.aborted&&r[i]&&e.state===_){const o=r[t.__symbol__("loadfalse")];if(o&&o.length>0){const s=e.invoke;e.invoke=function(){const o=r[t.__symbol__("loadfalse")];for(let t=0;t<o.length;t++)o[t]===e&&o.splice(t,1);n.aborted||e.state!==_||s.call(e)},o.push(e)}else e.invoke()}else n.aborted||!1!==r[i]||(r[u]=!0)});return p.call(r,k,h),r[o]||(r[o]=e),w.apply(r,n.args),r[i]=!0,e}function y(){}function v(e){const t=e.data;return t.aborted=!0,Z.apply(t.target,t.args)}const b=I(h,"open",()=>(function(e,t){return e[r]=0==t[2],e[l]=t[1],b.apply(e,t)})),T=d("fetchTaskAborting"),E=d("fetchTaskScheduling"),w=I(h,"send",()=>(function(e,n){if(!0===t.current[E])return w.apply(e,n);if(e[r])return w.apply(e,n);{const t={target:e,url:e[l],isPeriodic:!1,args:n,aborted:!1},o=f("XMLHttpRequest.send",y,t,m,v);e&&!0===e[u]&&!t.aborted&&o.state===_&&o.invoke()}})),Z=I(h,"abort",()=>(function(e,n){const r=function s(e){return e[o]}(e);if(r&&"string"==typeof r.type){if(null==r.cancelFn||r.data&&r.data.aborted)return;r.zone.cancelTask(r)}else if(!0===t.current[T])return Z.apply(e,n)}))}(e);const o=d("xhrTask"),r=d("xhrSync"),s=d("xhrListener"),i=d("xhrScheduled"),l=d("xhrURL"),u=d("xhrErrorBeforeScheduled")}),Zone.__load_patch("geolocation",t=>{t.navigator&&t.navigator.geolocation&&function n(t,o){const r=t.constructor.name;for(let n=0;n<o.length;n++){const s=o[n],i=t[s];if(i){if(!b(e(t,s)))continue;t[s]=(e=>{const t=function(){return e.apply(this,v(arguments,r+"."+s))};return x(t,e),t})(i)}}}(t.navigator.geolocation,["getCurrentPosition","watchPosition"])}),Zone.__load_patch("PromiseRejectionEvent",(e,t)=>{function n(t){return function(n){U(e,t).forEach(o=>{const r=e.PromiseRejectionEvent;if(r){const e=new r(t,{promise:n.promise,reason:n.rejection});o.invoke(e)}})}}e.PromiseRejectionEvent&&(t[d("unhandledPromiseRejectionHandler")]=n("unhandledrejection"),t[d("rejectionHandledHandler")]=n("rejectionhandled"))})});
Zone.__load_patch("legacy",e=>{const t=e[Zone.__symbol__("legacyPatch")];t&&t()}),Zone.__load_patch("timers",e=>{he(e,"set","clear","Timeout"),he(e,"set","clear","Interval"),he(e,"set","clear","Immediate")}),Zone.__load_patch("requestAnimationFrame",e=>{he(e,"request","cancel","AnimationFrame"),he(e,"mozRequest","mozCancel","AnimationFrame"),he(e,"webkitRequest","webkitCancel","AnimationFrame")}),Zone.__load_patch("blocking",(e,t)=>{const n=["alert","prompt","confirm"];for(let o=0;o<n.length;o++)I(e,n[o],(n,o,r)=>(function(o,s){return t.current.run(n,e,s,r)}))}),Zone.__load_patch("EventTarget",(e,t,n)=>{!function o(e,t){t.patchEventPrototype(e,t)}(e,n),pe(e,n);const r=e.XMLHttpRequestEventTarget;r&&r.prototype&&n.patchEventTarget(e,[r.prototype]),z("MutationObserver"),z("WebKitMutationObserver"),z("IntersectionObserver"),z("FileReader")}),Zone.__load_patch("on_property",(e,t,n)=>{le(n,e)}),Zone.__load_patch("customElements",(e,t,n)=>{!function o(e,t){const{isBrowser:n,isMix:o}=t.getGlobalObjects();(n||o)&&e.customElements&&"customElements"in e&&t.patchCallbacks(t,e.customElements,"customElements","define",["connectedCallback","disconnectedCallback","adoptedCallback","attributeChangedCallback"])}(e,n)}),Zone.__load_patch("XHR",(e,t)=>{!function n(e){const n=e.XMLHttpRequest;if(!n)return;const h=n.prototype;let p=h[a],g=h[c];if(!p){const t=e.XMLHttpRequestEventTarget;if(t){const e=t.prototype;p=e[a],g=e[c]}}const _="readystatechange",k="scheduled";function m(e){const n=e.data,r=n.target;r[i]=!1,r[u]=!1;const l=r[s];p||(p=r[a],g=r[c]),l&&g.call(r,_,l);const h=r[s]=()=>{if(r.readyState===r.DONE)if(!n.aborted&&r[i]&&e.state===k){const o=r[t.__symbol__("loadfalse")];if(o&&o.length>0){const s=e.invoke;e.invoke=function(){const o=r[t.__symbol__("loadfalse")];for(let t=0;t<o.length;t++)o[t]===e&&o.splice(t,1);n.aborted||e.state!==k||s.call(e)},o.push(e)}else e.invoke()}else n.aborted||!1!==r[i]||(r[u]=!0)};return p.call(r,_,h),r[o]||(r[o]=e),w.apply(r,n.args),r[i]=!0,e}function y(){}function v(e){const t=e.data;return t.aborted=!0,Z.apply(t.target,t.args)}const b=I(h,"open",()=>(function(e,t){return e[r]=0==t[2],e[l]=t[1],b.apply(e,t)})),T=d("fetchTaskAborting"),E=d("fetchTaskScheduling"),w=I(h,"send",()=>(function(e,n){if(!0===t.current[E])return w.apply(e,n);if(e[r])return w.apply(e,n);{const t={target:e,url:e[l],isPeriodic:!1,args:n,aborted:!1},o=f("XMLHttpRequest.send",y,t,m,v);e&&!0===e[u]&&!t.aborted&&o.state===k&&o.invoke()}})),Z=I(h,"abort",()=>(function(e,n){const r=function s(e){return e[o]}(e);if(r&&"string"==typeof r.type){if(null==r.cancelFn||r.data&&r.data.aborted)return;r.zone.cancelTask(r)}else if(!0===t.current[T])return Z.apply(e,n)}))}(e);const o=d("xhrTask"),r=d("xhrSync"),s=d("xhrListener"),i=d("xhrScheduled"),l=d("xhrURL"),u=d("xhrErrorBeforeScheduled")}),Zone.__load_patch("geolocation",t=>{t.navigator&&t.navigator.geolocation&&function n(t,o){const r=t.constructor.name;for(let n=0;n<o.length;n++){const s=o[n],i=t[s];if(i){if(!b(e(t,s)))continue;t[s]=(e=>{const t=function(){return e.apply(this,v(arguments,r+"."+s))};return N(t,e),t})(i)}}}(t.navigator.geolocation,["getCurrentPosition","watchPosition"])}),Zone.__load_patch("PromiseRejectionEvent",(e,t)=>{function n(t){return function(n){$(e,t).forEach(o=>{const r=e.PromiseRejectionEvent;if(r){const e=new r(t,{promise:n.promise,reason:n.rejection});o.invoke(e)}})}}e.PromiseRejectionEvent&&(t[d("unhandledPromiseRejectionHandler")]=n("unhandledrejection"),t[d("rejectionHandledHandler")]=n("rejectionhandled"))})}));
/**
* @license Angular v0.10.2
* (c) 2010-2019 Google LLC. https://angular.io/
* License: MIT
*/
* @license Angular v9.1.0-next.4+61.sha-e552591.with-local-changes
* (c) 2010-2020 Google LLC. https://angular.io/
* License: MIT
*/
(function (factory) {
typeof define === 'function' && define.amd ? define(factory) :
factory();
}(function () {
}((function () {
'use strict';

@@ -445,2 +445,2 @@ /**

typeof global !== 'undefined' ? global : typeof self !== 'undefined' ? self : {});
}));
})));
/**
* @license Angular v0.10.2
* (c) 2010-2019 Google LLC. https://angular.io/
* License: MIT
*/
!function(e){"function"==typeof define&&define.amd?define(e):e()}(function(){"use strict";
* @license Angular v9.1.0-next.4+61.sha-e552591.with-local-changes
* (c) 2010-2020 Google LLC. https://angular.io/
* License: MIT
*/
!function(e){"function"==typeof define&&define.amd?define(e):e()}((function(){"use strict";
/**

@@ -13,3 +13,3 @@ * @license

* found in the LICENSE file at https://angular.io/license
*/var e,t,n,r,o,a,c;function i(){e=Zone.__symbol__,t=Object[e("defineProperty")]=Object.defineProperty,n=Object[e("getOwnPropertyDescriptor")]=Object.getOwnPropertyDescriptor,r=Object.create,o=e("unconfigurables"),Object.defineProperty=function(e,t,n){if(u(e,t))throw new TypeError("Cannot assign to read only property '"+t+"' of "+e);var r=n.configurable;return"prototype"!==t&&(n=p(e,t,n)),f(e,t,n,r)},Object.defineProperties=function(e,t){return Object.keys(t).forEach(function(n){Object.defineProperty(e,n,t[n])}),e},Object.create=function(e,t){return"object"!=typeof t||Object.isFrozen(t)||Object.keys(t).forEach(function(n){t[n]=p(e,n,t[n])}),r(e,t)},Object.getOwnPropertyDescriptor=function(e,t){var r=n(e,t);return r&&u(e,t)&&(r.configurable=!1),r}}function l(e,t,n){var r=n.configurable;return f(e,t,n=p(e,t,n),r)}function u(e,t){return e&&e[o]&&e[o][t]}function p(e,n,r){return Object.isFrozen(r)||(r.configurable=!0),r.configurable||(e[o]||Object.isFrozen(e)||t(e,o,{writable:!0,value:{}}),e[o]&&(e[o][n]=!0)),r}function f(e,n,r,o){try{return t(e,n,r)}catch(c){if(!r.configurable)throw c;void 0===o?delete r.configurable:r.configurable=o;try{return t(e,n,r)}catch(t){var a=null;try{a=JSON.stringify(r)}catch(e){a=r.toString()}console.log("Attempting to configure '"+n+"' with descriptor '"+a+"' on object '"+e+"' and got error, giving up: "+t)}}}
*/var e,t,n,r,o,a,c;function i(){e=Zone.__symbol__,t=Object[e("defineProperty")]=Object.defineProperty,n=Object[e("getOwnPropertyDescriptor")]=Object.getOwnPropertyDescriptor,r=Object.create,o=e("unconfigurables"),Object.defineProperty=function(e,t,n){if(u(e,t))throw new TypeError("Cannot assign to read only property '"+t+"' of "+e);var r=n.configurable;return"prototype"!==t&&(n=p(e,t,n)),f(e,t,n,r)},Object.defineProperties=function(e,t){return Object.keys(t).forEach((function(n){Object.defineProperty(e,n,t[n])})),e},Object.create=function(e,t){return"object"!=typeof t||Object.isFrozen(t)||Object.keys(t).forEach((function(n){t[n]=p(e,n,t[n])})),r(e,t)},Object.getOwnPropertyDescriptor=function(e,t){var r=n(e,t);return r&&u(e,t)&&(r.configurable=!1),r}}function l(e,t,n){var r=n.configurable;return f(e,t,n=p(e,t,n),r)}function u(e,t){return e&&e[o]&&e[o][t]}function p(e,n,r){return Object.isFrozen(r)||(r.configurable=!0),r.configurable||(e[o]||Object.isFrozen(e)||t(e,o,{writable:!0,value:{}}),e[o]&&(e[o][n]=!0)),r}function f(e,n,r,o){try{return t(e,n,r)}catch(c){if(!r.configurable)throw c;void 0===o?delete r.configurable:r.configurable=o;try{return t(e,n,r)}catch(t){var a=null;try{a=JSON.stringify(r)}catch(e){a=r.toString()}console.log("Attempting to configure '"+n+"' with descriptor '"+a+"' on object '"+e+"' and got error, giving up: "+t)}}}
/**

@@ -21,3 +21,3 @@ * @license

* found in the LICENSE file at https://angular.io/license
*/function s(e,t){var n=t.getGlobalObjects(),r=n.eventNames,o=n.globalSources,a=n.zoneSymbolEventNames,c=n.TRUE_STR,i=n.FALSE_STR,l=n.ZONE_SYMBOL_PREFIX,u="ApplicationCache,EventSource,FileReader,InputMethodContext,MediaController,MessagePort,Node,Performance,SVGElementInstance,SharedWorker,TextTrack,TextTrackCue,TextTrackList,WebKitNamedFlow,Window,Worker,WorkerGlobalScope,XMLHttpRequest,XMLHttpRequestEventTarget,XMLHttpRequestUpload,IDBRequest,IDBOpenDBRequest,IDBDatabase,IDBTransaction,IDBCursor,DBIndex,WebSocket".split(","),p=[],f=e.wtf,s="Anchor,Area,Audio,BR,Base,BaseFont,Body,Button,Canvas,Content,DList,Directory,Div,Embed,FieldSet,Font,Form,Frame,FrameSet,HR,Head,Heading,Html,IFrame,Image,Input,Keygen,LI,Label,Legend,Link,Map,Marquee,Media,Menu,Meta,Meter,Mod,OList,Object,OptGroup,Option,Output,Paragraph,Pre,Progress,Quote,Script,Select,Source,Span,Style,TableCaption,TableCell,TableCol,Table,TableRow,TableSection,TextArea,Title,Track,UList,Unknown,Video".split(",");f?p=s.map(function(e){return"HTML"+e+"Element"}).concat(u):e.EventTarget?p.push("EventTarget"):p=u;for(var b=e.__Zone_disable_IE_check||!1,g=e.__Zone_enable_cross_context_check||!1,d=t.isIEOrEdge(),y="function __BROWSERTOOLS_CONSOLE_SAFEFUNC() { [native code] }",v={MSPointerCancel:"pointercancel",MSPointerDown:"pointerdown",MSPointerEnter:"pointerenter",MSPointerHover:"pointerhover",MSPointerLeave:"pointerleave",MSPointerMove:"pointermove",MSPointerOut:"pointerout",MSPointerOver:"pointerover",MSPointerUp:"pointerup"},O=0;O<r.length;O++){var E=l+((T=r[O])+i),h=l+(T+c);a[T]={},a[T][i]=E,a[T][c]=h}for(O=0;O<s.length;O++)for(var _=s[O],m=o[_]={},S=0;S<r.length;S++){var T;m[T=r[S]]=_+".addEventListener:"+T}var P=[];for(O=0;O<p.length;O++){var j=e[p[O]];P.push(j&&j.prototype)}return t.patchEventTarget(e,P,{vh:function(e,t,n,r){if(!b&&d){if(g)try{var o;if("[object FunctionWrapper]"===(o=t.toString())||o==y)return e.apply(n,r),!1}catch(t){return e.apply(n,r),!1}else if("[object FunctionWrapper]"===(o=t.toString())||o==y)return e.apply(n,r),!1}else if(g)try{t.toString()}catch(t){return e.apply(n,r),!1}return!0},transferEventName:function(e){return v[e]||e}}),Zone[t.symbol("patchEventTarget")]=!!e.EventTarget,!0}
*/function s(e,t){var n=t.getGlobalObjects(),r=n.eventNames,o=n.globalSources,a=n.zoneSymbolEventNames,c=n.TRUE_STR,i=n.FALSE_STR,l=n.ZONE_SYMBOL_PREFIX,u="ApplicationCache,EventSource,FileReader,InputMethodContext,MediaController,MessagePort,Node,Performance,SVGElementInstance,SharedWorker,TextTrack,TextTrackCue,TextTrackList,WebKitNamedFlow,Window,Worker,WorkerGlobalScope,XMLHttpRequest,XMLHttpRequestEventTarget,XMLHttpRequestUpload,IDBRequest,IDBOpenDBRequest,IDBDatabase,IDBTransaction,IDBCursor,DBIndex,WebSocket".split(","),p=[],f=e.wtf,s="Anchor,Area,Audio,BR,Base,BaseFont,Body,Button,Canvas,Content,DList,Directory,Div,Embed,FieldSet,Font,Form,Frame,FrameSet,HR,Head,Heading,Html,IFrame,Image,Input,Keygen,LI,Label,Legend,Link,Map,Marquee,Media,Menu,Meta,Meter,Mod,OList,Object,OptGroup,Option,Output,Paragraph,Pre,Progress,Quote,Script,Select,Source,Span,Style,TableCaption,TableCell,TableCol,Table,TableRow,TableSection,TextArea,Title,Track,UList,Unknown,Video".split(",");f?p=s.map((function(e){return"HTML"+e+"Element"})).concat(u):e.EventTarget?p.push("EventTarget"):p=u;for(var b=e.__Zone_disable_IE_check||!1,g=e.__Zone_enable_cross_context_check||!1,d=t.isIEOrEdge(),y="function __BROWSERTOOLS_CONSOLE_SAFEFUNC() { [native code] }",v={MSPointerCancel:"pointercancel",MSPointerDown:"pointerdown",MSPointerEnter:"pointerenter",MSPointerHover:"pointerhover",MSPointerLeave:"pointerleave",MSPointerMove:"pointermove",MSPointerOut:"pointerout",MSPointerOver:"pointerover",MSPointerUp:"pointerup"},O=0;O<r.length;O++){var E=l+((T=r[O])+i),h=l+(T+c);a[T]={},a[T][i]=E,a[T][c]=h}for(O=0;O<s.length;O++)for(var _=s[O],m=o[_]={},S=0;S<r.length;S++){var T;m[T=r[S]]=_+".addEventListener:"+T}var P=[];for(O=0;O<p.length;O++){var j=e[p[O]];P.push(j&&j.prototype)}return t.patchEventTarget(e,P,{vh:function(e,t,n,r){if(!b&&d){if(g)try{var o;if("[object FunctionWrapper]"===(o=t.toString())||o==y)return e.apply(n,r),!1}catch(t){return e.apply(n,r),!1}else if("[object FunctionWrapper]"===(o=t.toString())||o==y)return e.apply(n,r),!1}else if(g)try{t.toString()}catch(t){return e.apply(n,r),!1}return!0},transferEventName:function(e){return v[e]||e}}),Zone[t.symbol("patchEventTarget")]=!!e.EventTarget,!0}
/**

@@ -37,3 +37,3 @@ * @license

*/
function b(e,t){var n=e.getGlobalObjects();if((!n.isNode||n.isMix)&&!function r(e,t){var n=e.getGlobalObjects();if((n.isBrowser||n.isMix)&&!e.ObjectGetOwnPropertyDescriptor(HTMLElement.prototype,"onclick")&&"undefined"!=typeof Element){var r=e.ObjectGetOwnPropertyDescriptor(Element.prototype,"onclick");if(r&&!r.configurable)return!1;if(r){e.ObjectDefineProperty(Element.prototype,"onclick",{enumerable:!0,configurable:!0,get:function(){return!0}});var o=!!document.createElement("div").onclick;return e.ObjectDefineProperty(Element.prototype,"onclick",r),o}}var a=t.XMLHttpRequest;if(!a)return!1;var c=a.prototype,i=e.ObjectGetOwnPropertyDescriptor(c,"onreadystatechange");if(i)return e.ObjectDefineProperty(c,"onreadystatechange",{enumerable:!0,configurable:!0,get:function(){return!0}}),o=!!(u=new a).onreadystatechange,e.ObjectDefineProperty(c,"onreadystatechange",i||{}),o;var l=e.symbol("fake");e.ObjectDefineProperty(c,"onreadystatechange",{enumerable:!0,configurable:!0,get:function(){return this[l]},set:function(e){this[l]=e}});var u,p=function(){};return(u=new a).onreadystatechange=p,o=u[l]===p,u.onreadystatechange=null,o}(e,t)){var o="undefined"!=typeof WebSocket;!function a(e){for(var t=e.getGlobalObjects().eventNames,n=e.symbol("unbound"),r=function(r){var o=t[r],a="on"+o;self.addEventListener(o,function(t){var r,o,c=t.target;for(o=c?c.constructor.name+"."+a:"unknown."+a;c;)c[a]&&!c[a][n]&&((r=e.wrapWithCurrentZone(c[a],o))[n]=c[a],c[a]=r),c=c.parentElement},!0)},o=0;o<t.length;o++)r(o)}
function b(e,t){var n=e.getGlobalObjects();if((!n.isNode||n.isMix)&&!function r(e,t){var n=e.getGlobalObjects();if((n.isBrowser||n.isMix)&&!e.ObjectGetOwnPropertyDescriptor(HTMLElement.prototype,"onclick")&&"undefined"!=typeof Element){var r=e.ObjectGetOwnPropertyDescriptor(Element.prototype,"onclick");if(r&&!r.configurable)return!1;if(r){e.ObjectDefineProperty(Element.prototype,"onclick",{enumerable:!0,configurable:!0,get:function(){return!0}});var o=!!document.createElement("div").onclick;return e.ObjectDefineProperty(Element.prototype,"onclick",r),o}}var a=t.XMLHttpRequest;if(!a)return!1;var c=a.prototype,i=e.ObjectGetOwnPropertyDescriptor(c,"onreadystatechange");if(i)return e.ObjectDefineProperty(c,"onreadystatechange",{enumerable:!0,configurable:!0,get:function(){return!0}}),o=!!(u=new a).onreadystatechange,e.ObjectDefineProperty(c,"onreadystatechange",i||{}),o;var l=e.symbol("fake");e.ObjectDefineProperty(c,"onreadystatechange",{enumerable:!0,configurable:!0,get:function(){return this[l]},set:function(e){this[l]=e}});var u=new a,p=function(){};return u.onreadystatechange=p,o=u[l]===p,u.onreadystatechange=null,o}(e,t)){var o="undefined"!=typeof WebSocket;!function a(e){for(var t=e.getGlobalObjects().eventNames,n=e.symbol("unbound"),r=function(r){var o=t[r],a="on"+o;self.addEventListener(o,(function(t){var r,o,c=t.target;for(o=c?c.constructor.name+"."+a:"unknown."+a;c;)c[a]&&!c[a][n]&&((r=e.wrapWithCurrentZone(c[a],o))[n]=c[a],c[a]=r),c=c.parentElement}),!0)},o=0;o<t.length;o++)r(o)}
/**

@@ -45,3 +45,3 @@ * @license

* found in the LICENSE file at https://angular.io/license
*/(e),e.patchClass("XMLHttpRequest"),o&&function c(e,t){var n=e.getGlobalObjects(),r=n.ADD_EVENT_LISTENER_STR,o=n.REMOVE_EVENT_LISTENER_STR,a=t.WebSocket;t.EventTarget||e.patchEventTarget(t,[a.prototype]),t.WebSocket=function(t,n){var c,i,l=arguments.length>1?new a(t,n):new a(t),u=e.ObjectGetOwnPropertyDescriptor(l,"onmessage");return u&&!1===u.configurable?(c=e.ObjectCreate(l),i=l,[r,o,"send","close"].forEach(function(t){c[t]=function(){var n=e.ArraySlice.call(arguments);if(t===r||t===o){var a=n.length>0?n[0]:void 0;if(a){var i=Zone.__symbol__("ON_PROPERTY"+a);l[i]=c[i]}}return l[t].apply(l,n)}})):c=l,e.patchOnProperties(c,["close","error","message","open"],i),c};var c=t.WebSocket;for(var i in a)c[i]=a[i]}(e,t),Zone[e.symbol("patchEvents")]=!0}}
*/(e),e.patchClass("XMLHttpRequest"),o&&function c(e,t){var n=e.getGlobalObjects(),r=n.ADD_EVENT_LISTENER_STR,o=n.REMOVE_EVENT_LISTENER_STR,a=t.WebSocket;t.EventTarget||e.patchEventTarget(t,[a.prototype]),t.WebSocket=function(t,n){var c,i,l=arguments.length>1?new a(t,n):new a(t),u=e.ObjectGetOwnPropertyDescriptor(l,"onmessage");return u&&!1===u.configurable?(c=e.ObjectCreate(l),i=l,[r,o,"send","close"].forEach((function(t){c[t]=function(){var n=e.ArraySlice.call(arguments);if(t===r||t===o){var a=n.length>0?n[0]:void 0;if(a){var i=Zone.__symbol__("ON_PROPERTY"+a);l[i]=c[i]}}return l[t].apply(l,n)}}))):c=l,e.patchOnProperties(c,["close","error","message","open"],i),c};var c=t.WebSocket;for(var i in a)c[i]=a[i]}(e,t),Zone[e.symbol("patchEvents")]=!0}}
/**

@@ -54,9 +54,2 @@ * @license

*/
a="undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:{},c=a.__Zone_symbol_prefix||"__zone_symbol__",a[function g(e){return c+e}("legacyPatch")]=function(){var e=a.Zone;e.__load_patch("defineProperty",function(e,t,n){n._redefineProperty=l,i()}),e.__load_patch("registerElement",function(e,t,n){!function r(e,t){var n=t.getGlobalObjects();(n.isBrowser||n.isMix)&&"registerElement"in e.document&&t.patchCallbacks(t,document,"Document","registerElement",["createdCallback","attachedCallback","detachedCallback","attributeChangedCallback"])}
/**
* @license
* Copyright Google Inc. All Rights Reserved.
*
* Use of this source code is governed by an MIT-style license that can be
* found in the LICENSE file at https://angular.io/license
*/(e,n)}),e.__load_patch("EventTargetLegacy",function(e,t,n){s(e,n),b(n,e)})}});
a="undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:{},c=a.__Zone_symbol_prefix||"__zone_symbol__",a[function g(e){return c+e}("legacyPatch")]=function(){var e=a.Zone;e.__load_patch("defineProperty",(function(e,t,n){n._redefineProperty=l,i()})),e.__load_patch("registerElement",(function(e,t,n){!function r(e,t){var n=t.getGlobalObjects();(n.isBrowser||n.isMix)&&"registerElement"in e.document&&t.patchCallbacks(t,document,"Document","registerElement",["createdCallback","attachedCallback","detachedCallback","attributeChangedCallback"])}(e,n)})),e.__load_patch("EventTargetLegacy",(function(e,t,n){s(e,n),b(n,e)}))}}));

@@ -1,14 +0,8 @@

var __values=this&&this.__values||function(e){var t="function"==typeof Symbol&&e[Symbol.iterator],n=0;return t?t.call(e):{next:function(){return e&&n>=e.length&&(e=void 0),{value:e&&e[n++],done:!e}}}};
/**
* @license Angular v0.10.2
* (c) 2010-2019 Google LLC. https://angular.io/
* License: MIT
*/
* @license Angular v9.1.0-next.4+61.sha-e552591.with-local-changes
* (c) 2010-2020 Google LLC. https://angular.io/
* License: MIT
*/
!function(e){"function"==typeof define&&define.amd?define(e):e()}((function(){"use strict";
/**
* @license Angular v0.10.2
* (c) 2010-2019 Google LLC. https://angular.io/
* License: MIT
*/
!function(e){"function"==typeof define&&define.amd?define(e):e()}(function(){"use strict";
/**
* @license

@@ -19,3 +13,3 @@ * Copyright Google Inc. All Rights Reserved.

* found in the LICENSE file at https://angular.io/license
*/!function(e){var t=e.performance;function n(e){t&&t.mark&&t.mark(e)}function r(e,n){t&&t.measure&&t.measure(e,n)}n("Zone");var o=e.__Zone_symbol_prefix||"__zone_symbol__";function a(e){return o+e}var i=!0===e[a("forceDuplicateZoneCheck")];if(e.Zone){if(i||"function"!=typeof e.Zone.__symbol__)throw new Error("Zone already loaded.");return e.Zone}var s=function(){function t(e,t){this._parent=e,this._name=t?t.name||"unnamed":"<root>",this._properties=t&&t.properties||{},this._zoneDelegate=new u(this,this._parent&&this._parent._zoneDelegate,t)}return t.assertZonePatched=function(){if(e.Promise!==O.ZoneAwarePromise)throw new Error("Zone.js has detected that ZoneAwarePromise `(window|global).Promise` has been overwritten.\nMost likely cause is that a Promise polyfill has been loaded after Zone.js (Polyfilling Promise api is not necessary when zone.js is loaded. If you must load one, do so before loading zone.js.)")},Object.defineProperty(t,"root",{get:function(){for(var e=t.current;e.parent;)e=e.parent;return e},enumerable:!0,configurable:!0}),Object.defineProperty(t,"current",{get:function(){return C.zone},enumerable:!0,configurable:!0}),Object.defineProperty(t,"currentTask",{get:function(){return j},enumerable:!0,configurable:!0}),t.__load_patch=function(o,a){if(O.hasOwnProperty(o)){if(i)throw Error("Already loaded patch: "+o)}else if(!e["__Zone_disable_"+o]){var s="Zone:"+o;n(s),O[o]=a(e,t,z),r(s,s)}},Object.defineProperty(t.prototype,"parent",{get:function(){return this._parent},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"name",{get:function(){return this._name},enumerable:!0,configurable:!0}),t.prototype.get=function(e){var t=this.getZoneWith(e);if(t)return t._properties[e]},t.prototype.getZoneWith=function(e){for(var t=this;t;){if(t._properties.hasOwnProperty(e))return t;t=t._parent}return null},t.prototype.fork=function(e){if(!e)throw new Error("ZoneSpec required!");return this._zoneDelegate.fork(this,e)},t.prototype.wrap=function(e,t){if("function"!=typeof e)throw new Error("Expecting function got: "+e);var n=this._zoneDelegate.intercept(this,e,t),r=this;return function(){return r.runGuarded(n,this,arguments,t)}},t.prototype.run=function(e,t,n,r){C={parent:C,zone:this};try{return this._zoneDelegate.invoke(this,e,t,n,r)}finally{C=C.parent}},t.prototype.runGuarded=function(e,t,n,r){void 0===t&&(t=null),C={parent:C,zone:this};try{try{return this._zoneDelegate.invoke(this,e,t,n,r)}catch(e){if(this._zoneDelegate.handleError(this,e))throw e}}finally{C=C.parent}},t.prototype.runTask=function(e,t,n){if(e.zone!=this)throw new Error("A task can only be run in the zone of creation! (Creation: "+(e.zone||_).name+"; Execution: "+this.name+")");if(e.state!==k||e.type!==D&&e.type!==P){var r=e.state!=E;r&&e._transitionTo(E,T),e.runCount++;var o=j;j=e,C={parent:C,zone:this};try{e.type==P&&e.data&&!e.data.isPeriodic&&(e.cancelFn=void 0);try{return this._zoneDelegate.invokeTask(this,e,t,n)}catch(e){if(this._zoneDelegate.handleError(this,e))throw e}}finally{e.state!==k&&e.state!==Z&&(e.type==D||e.data&&e.data.isPeriodic?r&&e._transitionTo(T,E):(e.runCount=0,this._updateTaskCount(e,-1),r&&e._transitionTo(k,E,k))),C=C.parent,j=o}}},t.prototype.scheduleTask=function(e){if(e.zone&&e.zone!==this)for(var t=this;t;){if(t===e.zone)throw Error("can not reschedule task to "+this.name+" which is descendants of the original zone "+e.zone.name);t=t.parent}e._transitionTo(b,k);var n=[];e._zoneDelegates=n,e._zone=this;try{e=this._zoneDelegate.scheduleTask(this,e)}catch(t){throw e._transitionTo(Z,b,k),this._zoneDelegate.handleError(this,t),t}return e._zoneDelegates===n&&this._updateTaskCount(e,1),e.state==b&&e._transitionTo(T,b),e},t.prototype.scheduleMicroTask=function(e,t,n,r){return this.scheduleTask(new f(S,e,t,n,r,void 0))},t.prototype.scheduleMacroTask=function(e,t,n,r,o){return this.scheduleTask(new f(P,e,t,n,r,o))},t.prototype.scheduleEventTask=function(e,t,n,r,o){return this.scheduleTask(new f(D,e,t,n,r,o))},t.prototype.cancelTask=function(e){if(e.zone!=this)throw new Error("A task can only be cancelled in the zone of creation! (Creation: "+(e.zone||_).name+"; Execution: "+this.name+")");e._transitionTo(w,T,E);try{this._zoneDelegate.cancelTask(this,e)}catch(t){throw e._transitionTo(Z,w),this._zoneDelegate.handleError(this,t),t}return this._updateTaskCount(e,-1),e._transitionTo(k,w),e.runCount=0,e},t.prototype._updateTaskCount=function(e,t){var n=e._zoneDelegates;-1==t&&(e._zoneDelegates=null);for(var r=0;r<n.length;r++)n[r]._updateTaskCount(e.type,t)},t}();s.__symbol__=a;var c,l={name:"",onHasTask:function(e,t,n,r){return e.hasTask(n,r)},onScheduleTask:function(e,t,n,r){return e.scheduleTask(n,r)},onInvokeTask:function(e,t,n,r,o,a){return e.invokeTask(n,r,o,a)},onCancelTask:function(e,t,n,r){return e.cancelTask(n,r)}},u=function(){function e(e,t,n){this._taskCounts={microTask:0,macroTask:0,eventTask:0},this.zone=e,this._parentDelegate=t,this._forkZS=n&&(n&&n.onFork?n:t._forkZS),this._forkDlgt=n&&(n.onFork?t:t._forkDlgt),this._forkCurrZone=n&&(n.onFork?this.zone:t._forkCurrZone),this._interceptZS=n&&(n.onIntercept?n:t._interceptZS),this._interceptDlgt=n&&(n.onIntercept?t:t._interceptDlgt),this._interceptCurrZone=n&&(n.onIntercept?this.zone:t._interceptCurrZone),this._invokeZS=n&&(n.onInvoke?n:t._invokeZS),this._invokeDlgt=n&&(n.onInvoke?t:t._invokeDlgt),this._invokeCurrZone=n&&(n.onInvoke?this.zone:t._invokeCurrZone),this._handleErrorZS=n&&(n.onHandleError?n:t._handleErrorZS),this._handleErrorDlgt=n&&(n.onHandleError?t:t._handleErrorDlgt),this._handleErrorCurrZone=n&&(n.onHandleError?this.zone:t._handleErrorCurrZone),this._scheduleTaskZS=n&&(n.onScheduleTask?n:t._scheduleTaskZS),this._scheduleTaskDlgt=n&&(n.onScheduleTask?t:t._scheduleTaskDlgt),this._scheduleTaskCurrZone=n&&(n.onScheduleTask?this.zone:t._scheduleTaskCurrZone),this._invokeTaskZS=n&&(n.onInvokeTask?n:t._invokeTaskZS),this._invokeTaskDlgt=n&&(n.onInvokeTask?t:t._invokeTaskDlgt),this._invokeTaskCurrZone=n&&(n.onInvokeTask?this.zone:t._invokeTaskCurrZone),this._cancelTaskZS=n&&(n.onCancelTask?n:t._cancelTaskZS),this._cancelTaskDlgt=n&&(n.onCancelTask?t:t._cancelTaskDlgt),this._cancelTaskCurrZone=n&&(n.onCancelTask?this.zone:t._cancelTaskCurrZone),this._hasTaskZS=null,this._hasTaskDlgt=null,this._hasTaskDlgtOwner=null,this._hasTaskCurrZone=null;var r=n&&n.onHasTask;(r||t&&t._hasTaskZS)&&(this._hasTaskZS=r?n:l,this._hasTaskDlgt=t,this._hasTaskDlgtOwner=this,this._hasTaskCurrZone=e,n.onScheduleTask||(this._scheduleTaskZS=l,this._scheduleTaskDlgt=t,this._scheduleTaskCurrZone=this.zone),n.onInvokeTask||(this._invokeTaskZS=l,this._invokeTaskDlgt=t,this._invokeTaskCurrZone=this.zone),n.onCancelTask||(this._cancelTaskZS=l,this._cancelTaskDlgt=t,this._cancelTaskCurrZone=this.zone))}return e.prototype.fork=function(e,t){return this._forkZS?this._forkZS.onFork(this._forkDlgt,this.zone,e,t):new s(e,t)},e.prototype.intercept=function(e,t,n){return this._interceptZS?this._interceptZS.onIntercept(this._interceptDlgt,this._interceptCurrZone,e,t,n):t},e.prototype.invoke=function(e,t,n,r,o){return this._invokeZS?this._invokeZS.onInvoke(this._invokeDlgt,this._invokeCurrZone,e,t,n,r,o):t.apply(n,r)},e.prototype.handleError=function(e,t){return!this._handleErrorZS||this._handleErrorZS.onHandleError(this._handleErrorDlgt,this._handleErrorCurrZone,e,t)},e.prototype.scheduleTask=function(e,t){var n=t;if(this._scheduleTaskZS)this._hasTaskZS&&n._zoneDelegates.push(this._hasTaskDlgtOwner),(n=this._scheduleTaskZS.onScheduleTask(this._scheduleTaskDlgt,this._scheduleTaskCurrZone,e,t))||(n=t);else if(t.scheduleFn)t.scheduleFn(t);else{if(t.type!=S)throw new Error("Task is missing scheduleFn.");m(t)}return n},e.prototype.invokeTask=function(e,t,n,r){return this._invokeTaskZS?this._invokeTaskZS.onInvokeTask(this._invokeTaskDlgt,this._invokeTaskCurrZone,e,t,n,r):t.callback.apply(n,r)},e.prototype.cancelTask=function(e,t){var n;if(this._cancelTaskZS)n=this._cancelTaskZS.onCancelTask(this._cancelTaskDlgt,this._cancelTaskCurrZone,e,t);else{if(!t.cancelFn)throw Error("Task is not cancelable");n=t.cancelFn(t)}return n},e.prototype.hasTask=function(e,t){try{this._hasTaskZS&&this._hasTaskZS.onHasTask(this._hasTaskDlgt,this._hasTaskCurrZone,e,t)}catch(t){this.handleError(e,t)}},e.prototype._updateTaskCount=function(e,t){var n=this._taskCounts,r=n[e],o=n[e]=r+t;if(o<0)throw new Error("More tasks executed then were scheduled.");0!=r&&0!=o||this.hasTask(this.zone,{microTask:n.microTask>0,macroTask:n.macroTask>0,eventTask:n.eventTask>0,change:e})},e}(),f=function(){function t(n,r,o,a,i,s){if(this._zone=null,this.runCount=0,this._zoneDelegates=null,this._state="notScheduled",this.type=n,this.source=r,this.data=a,this.scheduleFn=i,this.cancelFn=s,!o)throw new Error("callback is not defined");this.callback=o;var c=this;this.invoke=n===D&&a&&a.useG?t.invokeTask:function(){return t.invokeTask.call(e,c,this,arguments)}}return t.invokeTask=function(e,t,n){e||(e=this),I++;try{return e.runCount++,e.zone.runTask(e,t,n)}finally{1==I&&y(),I--}},Object.defineProperty(t.prototype,"zone",{get:function(){return this._zone},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"state",{get:function(){return this._state},enumerable:!0,configurable:!0}),t.prototype.cancelScheduleRequest=function(){this._transitionTo(k,b)},t.prototype._transitionTo=function(e,t,n){if(this._state!==t&&this._state!==n)throw new Error(this.type+" '"+this.source+"': can not transition to '"+e+"', expecting state '"+t+"'"+(n?" or '"+n+"'":"")+", was '"+this._state+"'.");this._state=e,e==k&&(this._zoneDelegates=null)},t.prototype.toString=function(){return this.data&&void 0!==this.data.handleId?this.data.handleId.toString():Object.prototype.toString.call(this)},t.prototype.toJSON=function(){return{type:this.type,state:this.state,source:this.source,zone:this.zone.name,runCount:this.runCount}},t}(),p=a("setTimeout"),h=a("Promise"),d=a("then"),v=[],g=!1;function m(t){if(0===I&&0===v.length)if(c||e[h]&&(c=e[h].resolve(0)),c){var n=c[d];n||(n=c.then),n.call(c,y)}else e[p](y,0);t&&v.push(t)}function y(){if(!g){for(g=!0;v.length;){var e=v;v=[];for(var t=0;t<e.length;t++){var n=e[t];try{n.zone.runTask(n,null,null)}catch(e){z.onUnhandledError(e)}}}z.microtaskDrainDone(),g=!1}}var _={name:"NO ZONE"},k="notScheduled",b="scheduling",T="scheduled",E="running",w="canceling",Z="unknown",S="microTask",P="macroTask",D="eventTask",O={},z={symbol:a,currentZoneFrame:function(){return C},onUnhandledError:x,microtaskDrainDone:x,scheduleMicroTask:m,showUncaughtError:function(){return!s[a("ignoreConsoleErrorUncaughtError")]},patchEventTarget:function(){return[]},patchOnProperties:x,patchMethod:function(){return x},bindArguments:function(){return[]},patchThen:function(){return x},patchMacroTask:function(){return x},setNativePromise:function(e){e&&"function"==typeof e.resolve&&(c=e.resolve(0))},patchEventPrototype:function(){return x},isIEOrEdge:function(){return!1},getGlobalObjects:function(){},ObjectDefineProperty:function(){return x},ObjectGetOwnPropertyDescriptor:function(){},ObjectCreate:function(){},ArraySlice:function(){return[]},patchClass:function(){return x},wrapWithCurrentZone:function(){return x},filterProperties:function(){return[]},attachOriginToPatched:function(){return x},_redefineProperty:function(){return x},patchCallbacks:function(){return x}},C={parent:null,zone:new s(null,null)},j=null,I=0;function x(){}r("Zone","Zone"),e.Zone=s}("undefined"!=typeof window&&window||"undefined"!=typeof self&&self||global),
*/!function(e){var t=e.performance;function n(e){t&&t.mark&&t.mark(e)}function r(e,n){t&&t.measure&&t.measure(e,n)}n("Zone");var o=e.__Zone_symbol_prefix||"__zone_symbol__";function a(e){return o+e}var i=!0===e[a("forceDuplicateZoneCheck")];if(e.Zone){if(i||"function"!=typeof e.Zone.__symbol__)throw new Error("Zone already loaded.");return e.Zone}var s=function(){function t(e,t){this._parent=e,this._name=t?t.name||"unnamed":"<root>",this._properties=t&&t.properties||{},this._zoneDelegate=new l(this,this._parent&&this._parent._zoneDelegate,t)}return t.assertZonePatched=function(){if(e.Promise!==O.ZoneAwarePromise)throw new Error("Zone.js has detected that ZoneAwarePromise `(window|global).Promise` has been overwritten.\nMost likely cause is that a Promise polyfill has been loaded after Zone.js (Polyfilling Promise api is not necessary when zone.js is loaded. If you must load one, do so before loading zone.js.)")},Object.defineProperty(t,"root",{get:function(){for(var e=t.current;e.parent;)e=e.parent;return e},enumerable:!0,configurable:!0}),Object.defineProperty(t,"current",{get:function(){return C.zone},enumerable:!0,configurable:!0}),Object.defineProperty(t,"currentTask",{get:function(){return z},enumerable:!0,configurable:!0}),t.__load_patch=function(o,a){if(O.hasOwnProperty(o)){if(i)throw Error("Already loaded patch: "+o)}else if(!e["__Zone_disable_"+o]){var s="Zone:"+o;n(s),O[o]=a(e,t,j),r(s,s)}},Object.defineProperty(t.prototype,"parent",{get:function(){return this._parent},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"name",{get:function(){return this._name},enumerable:!0,configurable:!0}),t.prototype.get=function(e){var t=this.getZoneWith(e);if(t)return t._properties[e]},t.prototype.getZoneWith=function(e){for(var t=this;t;){if(t._properties.hasOwnProperty(e))return t;t=t._parent}return null},t.prototype.fork=function(e){if(!e)throw new Error("ZoneSpec required!");return this._zoneDelegate.fork(this,e)},t.prototype.wrap=function(e,t){if("function"!=typeof e)throw new Error("Expecting function got: "+e);var n=this._zoneDelegate.intercept(this,e,t),r=this;return function(){return r.runGuarded(n,this,arguments,t)}},t.prototype.run=function(e,t,n,r){C={parent:C,zone:this};try{return this._zoneDelegate.invoke(this,e,t,n,r)}finally{C=C.parent}},t.prototype.runGuarded=function(e,t,n,r){void 0===t&&(t=null),C={parent:C,zone:this};try{try{return this._zoneDelegate.invoke(this,e,t,n,r)}catch(e){if(this._zoneDelegate.handleError(this,e))throw e}}finally{C=C.parent}},t.prototype.runTask=function(e,t,n){if(e.zone!=this)throw new Error("A task can only be run in the zone of creation! (Creation: "+(e.zone||_).name+"; Execution: "+this.name+")");if(e.state!==k||e.type!==D&&e.type!==P){var r=e.state!=E;r&&e._transitionTo(E,T),e.runCount++;var o=z;z=e,C={parent:C,zone:this};try{e.type==P&&e.data&&!e.data.isPeriodic&&(e.cancelFn=void 0);try{return this._zoneDelegate.invokeTask(this,e,t,n)}catch(e){if(this._zoneDelegate.handleError(this,e))throw e}}finally{e.state!==k&&e.state!==Z&&(e.type==D||e.data&&e.data.isPeriodic?r&&e._transitionTo(T,E):(e.runCount=0,this._updateTaskCount(e,-1),r&&e._transitionTo(k,E,k))),C=C.parent,z=o}}},t.prototype.scheduleTask=function(e){if(e.zone&&e.zone!==this)for(var t=this;t;){if(t===e.zone)throw Error("can not reschedule task to "+this.name+" which is descendants of the original zone "+e.zone.name);t=t.parent}e._transitionTo(b,k);var n=[];e._zoneDelegates=n,e._zone=this;try{e=this._zoneDelegate.scheduleTask(this,e)}catch(t){throw e._transitionTo(Z,b,k),this._zoneDelegate.handleError(this,t),t}return e._zoneDelegates===n&&this._updateTaskCount(e,1),e.state==b&&e._transitionTo(T,b),e},t.prototype.scheduleMicroTask=function(e,t,n,r){return this.scheduleTask(new f(S,e,t,n,r,void 0))},t.prototype.scheduleMacroTask=function(e,t,n,r,o){return this.scheduleTask(new f(P,e,t,n,r,o))},t.prototype.scheduleEventTask=function(e,t,n,r,o){return this.scheduleTask(new f(D,e,t,n,r,o))},t.prototype.cancelTask=function(e){if(e.zone!=this)throw new Error("A task can only be cancelled in the zone of creation! (Creation: "+(e.zone||_).name+"; Execution: "+this.name+")");e._transitionTo(w,T,E);try{this._zoneDelegate.cancelTask(this,e)}catch(t){throw e._transitionTo(Z,w),this._zoneDelegate.handleError(this,t),t}return this._updateTaskCount(e,-1),e._transitionTo(k,w),e.runCount=0,e},t.prototype._updateTaskCount=function(e,t){var n=e._zoneDelegates;-1==t&&(e._zoneDelegates=null);for(var r=0;r<n.length;r++)n[r]._updateTaskCount(e.type,t)},t}();s.__symbol__=a;var c,u={name:"",onHasTask:function(e,t,n,r){return e.hasTask(n,r)},onScheduleTask:function(e,t,n,r){return e.scheduleTask(n,r)},onInvokeTask:function(e,t,n,r,o,a){return e.invokeTask(n,r,o,a)},onCancelTask:function(e,t,n,r){return e.cancelTask(n,r)}},l=function(){function e(e,t,n){this._taskCounts={microTask:0,macroTask:0,eventTask:0},this.zone=e,this._parentDelegate=t,this._forkZS=n&&(n&&n.onFork?n:t._forkZS),this._forkDlgt=n&&(n.onFork?t:t._forkDlgt),this._forkCurrZone=n&&(n.onFork?this.zone:t._forkCurrZone),this._interceptZS=n&&(n.onIntercept?n:t._interceptZS),this._interceptDlgt=n&&(n.onIntercept?t:t._interceptDlgt),this._interceptCurrZone=n&&(n.onIntercept?this.zone:t._interceptCurrZone),this._invokeZS=n&&(n.onInvoke?n:t._invokeZS),this._invokeDlgt=n&&(n.onInvoke?t:t._invokeDlgt),this._invokeCurrZone=n&&(n.onInvoke?this.zone:t._invokeCurrZone),this._handleErrorZS=n&&(n.onHandleError?n:t._handleErrorZS),this._handleErrorDlgt=n&&(n.onHandleError?t:t._handleErrorDlgt),this._handleErrorCurrZone=n&&(n.onHandleError?this.zone:t._handleErrorCurrZone),this._scheduleTaskZS=n&&(n.onScheduleTask?n:t._scheduleTaskZS),this._scheduleTaskDlgt=n&&(n.onScheduleTask?t:t._scheduleTaskDlgt),this._scheduleTaskCurrZone=n&&(n.onScheduleTask?this.zone:t._scheduleTaskCurrZone),this._invokeTaskZS=n&&(n.onInvokeTask?n:t._invokeTaskZS),this._invokeTaskDlgt=n&&(n.onInvokeTask?t:t._invokeTaskDlgt),this._invokeTaskCurrZone=n&&(n.onInvokeTask?this.zone:t._invokeTaskCurrZone),this._cancelTaskZS=n&&(n.onCancelTask?n:t._cancelTaskZS),this._cancelTaskDlgt=n&&(n.onCancelTask?t:t._cancelTaskDlgt),this._cancelTaskCurrZone=n&&(n.onCancelTask?this.zone:t._cancelTaskCurrZone),this._hasTaskZS=null,this._hasTaskDlgt=null,this._hasTaskDlgtOwner=null,this._hasTaskCurrZone=null;var r=n&&n.onHasTask;(r||t&&t._hasTaskZS)&&(this._hasTaskZS=r?n:u,this._hasTaskDlgt=t,this._hasTaskDlgtOwner=this,this._hasTaskCurrZone=e,n.onScheduleTask||(this._scheduleTaskZS=u,this._scheduleTaskDlgt=t,this._scheduleTaskCurrZone=this.zone),n.onInvokeTask||(this._invokeTaskZS=u,this._invokeTaskDlgt=t,this._invokeTaskCurrZone=this.zone),n.onCancelTask||(this._cancelTaskZS=u,this._cancelTaskDlgt=t,this._cancelTaskCurrZone=this.zone))}return e.prototype.fork=function(e,t){return this._forkZS?this._forkZS.onFork(this._forkDlgt,this.zone,e,t):new s(e,t)},e.prototype.intercept=function(e,t,n){return this._interceptZS?this._interceptZS.onIntercept(this._interceptDlgt,this._interceptCurrZone,e,t,n):t},e.prototype.invoke=function(e,t,n,r,o){return this._invokeZS?this._invokeZS.onInvoke(this._invokeDlgt,this._invokeCurrZone,e,t,n,r,o):t.apply(n,r)},e.prototype.handleError=function(e,t){return!this._handleErrorZS||this._handleErrorZS.onHandleError(this._handleErrorDlgt,this._handleErrorCurrZone,e,t)},e.prototype.scheduleTask=function(e,t){var n=t;if(this._scheduleTaskZS)this._hasTaskZS&&n._zoneDelegates.push(this._hasTaskDlgtOwner),(n=this._scheduleTaskZS.onScheduleTask(this._scheduleTaskDlgt,this._scheduleTaskCurrZone,e,t))||(n=t);else if(t.scheduleFn)t.scheduleFn(t);else{if(t.type!=S)throw new Error("Task is missing scheduleFn.");m(t)}return n},e.prototype.invokeTask=function(e,t,n,r){return this._invokeTaskZS?this._invokeTaskZS.onInvokeTask(this._invokeTaskDlgt,this._invokeTaskCurrZone,e,t,n,r):t.callback.apply(n,r)},e.prototype.cancelTask=function(e,t){var n;if(this._cancelTaskZS)n=this._cancelTaskZS.onCancelTask(this._cancelTaskDlgt,this._cancelTaskCurrZone,e,t);else{if(!t.cancelFn)throw Error("Task is not cancelable");n=t.cancelFn(t)}return n},e.prototype.hasTask=function(e,t){try{this._hasTaskZS&&this._hasTaskZS.onHasTask(this._hasTaskDlgt,this._hasTaskCurrZone,e,t)}catch(t){this.handleError(e,t)}},e.prototype._updateTaskCount=function(e,t){var n=this._taskCounts,r=n[e],o=n[e]=r+t;if(o<0)throw new Error("More tasks executed then were scheduled.");0!=r&&0!=o||this.hasTask(this.zone,{microTask:n.microTask>0,macroTask:n.macroTask>0,eventTask:n.eventTask>0,change:e})},e}(),f=function(){function t(n,r,o,a,i,s){if(this._zone=null,this.runCount=0,this._zoneDelegates=null,this._state="notScheduled",this.type=n,this.source=r,this.data=a,this.scheduleFn=i,this.cancelFn=s,!o)throw new Error("callback is not defined");this.callback=o;var c=this;this.invoke=n===D&&a&&a.useG?t.invokeTask:function(){return t.invokeTask.call(e,c,this,arguments)}}return t.invokeTask=function(e,t,n){e||(e=this),I++;try{return e.runCount++,e.zone.runTask(e,t,n)}finally{1==I&&y(),I--}},Object.defineProperty(t.prototype,"zone",{get:function(){return this._zone},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"state",{get:function(){return this._state},enumerable:!0,configurable:!0}),t.prototype.cancelScheduleRequest=function(){this._transitionTo(k,b)},t.prototype._transitionTo=function(e,t,n){if(this._state!==t&&this._state!==n)throw new Error(this.type+" '"+this.source+"': can not transition to '"+e+"', expecting state '"+t+"'"+(n?" or '"+n+"'":"")+", was '"+this._state+"'.");this._state=e,e==k&&(this._zoneDelegates=null)},t.prototype.toString=function(){return this.data&&void 0!==this.data.handleId?this.data.handleId.toString():Object.prototype.toString.call(this)},t.prototype.toJSON=function(){return{type:this.type,state:this.state,source:this.source,zone:this.zone.name,runCount:this.runCount}},t}(),p=a("setTimeout"),h=a("Promise"),d=a("then"),v=[],g=!1;function m(t){if(0===I&&0===v.length)if(c||e[h]&&(c=e[h].resolve(0)),c){var n=c[d];n||(n=c.then),n.call(c,y)}else e[p](y,0);t&&v.push(t)}function y(){if(!g){for(g=!0;v.length;){var e=v;v=[];for(var t=0;t<e.length;t++){var n=e[t];try{n.zone.runTask(n,null,null)}catch(e){j.onUnhandledError(e)}}}j.microtaskDrainDone(),g=!1}}var _={name:"NO ZONE"},k="notScheduled",b="scheduling",T="scheduled",E="running",w="canceling",Z="unknown",S="microTask",P="macroTask",D="eventTask",O={},j={symbol:a,currentZoneFrame:function(){return C},onUnhandledError:x,microtaskDrainDone:x,scheduleMicroTask:m,showUncaughtError:function(){return!s[a("ignoreConsoleErrorUncaughtError")]},patchEventTarget:function(){return[]},patchOnProperties:x,patchMethod:function(){return x},bindArguments:function(){return[]},patchThen:function(){return x},patchMacroTask:function(){return x},setNativePromise:function(e){e&&"function"==typeof e.resolve&&(c=e.resolve(0))},patchEventPrototype:function(){return x},isIEOrEdge:function(){return!1},getGlobalObjects:function(){},ObjectDefineProperty:function(){return x},ObjectGetOwnPropertyDescriptor:function(){},ObjectCreate:function(){},ArraySlice:function(){return[]},patchClass:function(){return x},wrapWithCurrentZone:function(){return x},filterProperties:function(){return[]},attachOriginToPatched:function(){return x},_redefineProperty:function(){return x},patchCallbacks:function(){return x}},C={parent:null,zone:new s(null,null)},z=null,I=0;function x(){}r("Zone","Zone"),e.Zone=s}("undefined"!=typeof window&&window||"undefined"!=typeof self&&self||global),
/**

@@ -28,3 +22,3 @@ * @license

*/
Zone.__load_patch("ZoneAwarePromise",function(e,t,n){var r=Object.getOwnPropertyDescriptor,o=Object.defineProperty,a=n.symbol,i=[],s=a("Promise"),c=a("then"),l="__creationTrace__";n.onUnhandledError=function(e){if(n.showUncaughtError()){var t=e&&e.rejection;t?console.error("Unhandled Promise rejection:",t instanceof Error?t.message:t,"; Zone:",e.zone.name,"; Task:",e.task&&e.task.source,"; Value:",t,t instanceof Error?t.stack:void 0):console.error(e)}},n.microtaskDrainDone=function(){for(;i.length;)for(var e=function(){var e=i.shift();try{e.zone.runGuarded(function(){throw e})}catch(e){f(e)}};i.length;)e()};var u=a("unhandledPromiseRejectionHandler");function f(e){n.onUnhandledError(e);try{var r=t[u];r&&"function"==typeof r&&r.call(this,e)}catch(e){}}function p(e){return e&&e.then}function h(e){return e}function d(e){return I.reject(e)}var v=a("state"),g=a("value"),m=a("finally"),y=a("parentPromiseValue"),_=a("parentPromiseState"),k="Promise.then",b=null,T=!0,E=!1,w=0;function Z(e,t){return function(n){try{O(e,t,n)}catch(t){O(e,!1,t)}}}var S=function(){var e=!1;return function t(n){return function(){e||(e=!0,n.apply(null,arguments))}}},P="Promise resolved with itself",D=a("currentTaskTrace");function O(e,r,a){var s=S();if(e===a)throw new TypeError(P);if(e[v]===b){var c=null;try{"object"!=typeof a&&"function"!=typeof a||(c=a&&a.then)}catch(t){return s(function(){O(e,!1,t)})(),e}if(r!==E&&a instanceof I&&a.hasOwnProperty(v)&&a.hasOwnProperty(g)&&a[v]!==b)C(a),O(e,a[v],a[g]);else if(r!==E&&"function"==typeof c)try{c.call(a,s(Z(e,r)),s(Z(e,!1)))}catch(t){s(function(){O(e,!1,t)})()}else{e[v]=r;var u=e[g];if(e[g]=a,e[m]===m&&r===T&&(e[v]=e[_],e[g]=e[y]),r===E&&a instanceof Error){var f=t.currentTask&&t.currentTask.data&&t.currentTask.data[l];f&&o(a,D,{configurable:!0,enumerable:!1,writable:!0,value:f})}for(var p=0;p<u.length;)j(e,u[p++],u[p++],u[p++],u[p++]);if(0==u.length&&r==E){e[v]=w;try{throw new Error("Uncaught (in promise): "+function h(e){return e&&e.toString===Object.prototype.toString?(e.constructor&&e.constructor.name||"")+": "+JSON.stringify(e):e?e.toString():Object.prototype.toString.call(e)}(a)+(a&&a.stack?"\n"+a.stack:""))}catch(r){var d=r;d.rejection=a,d.promise=e,d.zone=t.current,d.task=t.currentTask,i.push(d),n.scheduleMicroTask()}}}}return e}var z=a("rejectionHandledHandler");function C(e){if(e[v]===w){try{var n=t[z];n&&"function"==typeof n&&n.call(this,{rejection:e[g],promise:e})}catch(e){}e[v]=E;for(var r=0;r<i.length;r++)e===i[r].promise&&i.splice(r,1)}}function j(e,t,n,r,o){C(e);var a=e[v],i=a?"function"==typeof r?r:h:"function"==typeof o?o:d;t.scheduleMicroTask(k,function(){try{var r=e[g],o=!!n&&m===n[m];o&&(n[y]=r,n[_]=a);var s=t.run(i,void 0,o&&i!==d&&i!==h?[]:[r]);O(n,!0,s)}catch(e){O(n,!1,e)}},n)}var I=function(){function e(t){if(!(this instanceof e))throw new Error("Must be an instanceof Promise.");this[v]=b,this[g]=[];try{t&&t(Z(this,T),Z(this,E))}catch(e){O(this,!1,e)}}return e.toString=function(){return"function ZoneAwarePromise() { [native code] }"},e.resolve=function(e){return O(new this(null),T,e)},e.reject=function(e){return O(new this(null),E,e)},e.race=function(e){var t,n,r,o,a=new this(function(e,t){r=e,o=t});function i(e){r(e)}function s(e){o(e)}try{for(var c=__values(e),l=c.next();!l.done;l=c.next()){var u=l.value;p(u)||(u=this.resolve(u)),u.then(i,s)}}catch(e){t={error:e}}finally{try{l&&!l.done&&(n=c.return)&&n.call(c)}finally{if(t)throw t.error}}return a},e.all=function(t){return e.allWithCallback(t)},e.allSettled=function(t){return(this&&this.prototype instanceof e?this:e).allWithCallback(t,{thenCallback:function(e){return{status:"fulfilled",value:e}},errorCallback:function(e){return{status:"rejected",reason:e}}})},e.allWithCallback=function(e,t){var n,r,o,a,i=new this(function(e,t){o=e,a=t}),s=2,c=0,l=[],u=function(e){p(e)||(e=f.resolve(e));var n=c;try{e.then(function(e){l[n]=t?t.thenCallback(e):e,0==--s&&o(l)},function(e){t?(l[n]=t.errorCallback(e),0==--s&&o(l)):a(e)})}catch(e){a(e)}s++,c++},f=this;try{for(var h=__values(e),d=h.next();!d.done;d=h.next())u(d.value)}catch(e){n={error:e}}finally{try{d&&!d.done&&(r=h.return)&&r.call(h)}finally{if(n)throw n.error}}return 0==(s-=2)&&o(l),i},Object.defineProperty(e.prototype,Symbol.toStringTag,{get:function(){return"Promise"},enumerable:!0,configurable:!0}),e.prototype.then=function(e,n){var r=new this.constructor(null),o=t.current;return this[v]==b?this[g].push(o,r,e,n):j(this,o,r,e,n),r},e.prototype.catch=function(e){return this.then(null,e)},e.prototype.finally=function(e){var n=new this.constructor(null);n[m]=m;var r=t.current;return this[v]==b?this[g].push(r,n,e,e):j(this,r,n,e,e),n},e}();I.resolve=I.resolve,I.reject=I.reject,I.race=I.race,I.all=I.all;var x=e[s]=e.Promise,R=t.__symbol__("ZoneAwarePromise"),L=r(e,"Promise");L&&!L.configurable||(L&&delete L.writable,L&&delete L.value,L||(L={configurable:!0,enumerable:!0}),L.get=function(){return e[R]?e[R]:e[s]},L.set=function(t){t===I?e[R]=t:(e[s]=t,t.prototype[c]||N(t),n.setNativePromise(t))},o(e,"Promise",L)),e.Promise=I;var M=a("thenPatched");function N(e){var t=e.prototype,n=r(t,"then");if(!n||!1!==n.writable&&n.configurable){var o=t.then;t[c]=o,e.prototype.then=function(e,t){var n=this;return new I(function(e,t){o.call(n,e,t)}).then(e,t)},e[M]=!0}}if(n.patchThen=N,x){N(x);var H=e.fetch;"function"==typeof H&&(e[n.symbol("fetch")]=H,e.fetch=function A(e){return function(){var t=e.apply(this,arguments);if(t instanceof I)return t;var n=t.constructor;return n[M]||N(n),t}}(H))}return Promise[t.__symbol__("uncaughtPromiseErrors")]=i,I});
Zone.__load_patch("ZoneAwarePromise",(function(e,t,n){var r=Object.getOwnPropertyDescriptor,o=Object.defineProperty,a=n.symbol,i=[],s=!0===e[a("DISABLE_WRAPPING_UNCAUGHT_PROMISE_REJECTION")],c=a("Promise"),u=a("then"),l="__creationTrace__";n.onUnhandledError=function(e){if(n.showUncaughtError()){var t=e&&e.rejection;t?console.error("Unhandled Promise rejection:",t instanceof Error?t.message:t,"; Zone:",e.zone.name,"; Task:",e.task&&e.task.source,"; Value:",t,t instanceof Error?t.stack:void 0):console.error(e)}},n.microtaskDrainDone=function(){for(var e=function(){var e=i.shift();try{e.zone.runGuarded((function(){throw e}))}catch(e){!function r(e){n.onUnhandledError(e);try{var r=t[f];"function"==typeof r&&r.call(this,e)}catch(e){}}(e)}};i.length;)e()};var f=a("unhandledPromiseRejectionHandler");function p(e){return e&&e.then}function h(e){return e}function d(e){return x.reject(e)}var v=a("state"),g=a("value"),m=a("finally"),y=a("parentPromiseValue"),_=a("parentPromiseState"),k="Promise.then",b=null,T=!0,E=!1,w=0;function Z(e,t){return function(n){try{O(e,t,n)}catch(t){O(e,!1,t)}}}var S=function(){var e=!1;return function t(n){return function(){e||(e=!0,n.apply(null,arguments))}}},P="Promise resolved with itself",D=a("currentTaskTrace");function O(e,r,a){var c=S();if(e===a)throw new TypeError(P);if(e[v]===b){var u=null;try{"object"!=typeof a&&"function"!=typeof a||(u=a&&a.then)}catch(t){return c((function(){O(e,!1,t)}))(),e}if(r!==E&&a instanceof x&&a.hasOwnProperty(v)&&a.hasOwnProperty(g)&&a[v]!==b)C(a),O(e,a[v],a[g]);else if(r!==E&&"function"==typeof u)try{u.call(a,c(Z(e,r)),c(Z(e,!1)))}catch(t){c((function(){O(e,!1,t)}))()}else{e[v]=r;var f=e[g];if(e[g]=a,e[m]===m&&r===T&&(e[v]=e[_],e[g]=e[y]),r===E&&a instanceof Error){var p=t.currentTask&&t.currentTask.data&&t.currentTask.data[l];p&&o(a,D,{configurable:!0,enumerable:!1,writable:!0,value:p})}for(var h=0;h<f.length;)z(e,f[h++],f[h++],f[h++],f[h++]);if(0==f.length&&r==E){e[v]=w;var d=a;if(!s)try{throw new Error("Uncaught (in promise): "+function k(e){return e&&e.toString===Object.prototype.toString?(e.constructor&&e.constructor.name||"")+": "+JSON.stringify(e):e?e.toString():Object.prototype.toString.call(e)}(a)+(a&&a.stack?"\n"+a.stack:""))}catch(e){d=e}d.rejection=a,d.promise=e,d.zone=t.current,d.task=t.currentTask,i.push(d),n.scheduleMicroTask()}}}return e}var j=a("rejectionHandledHandler");function C(e){if(e[v]===w){try{var n=t[j];n&&"function"==typeof n&&n.call(this,{rejection:e[g],promise:e})}catch(e){}e[v]=E;for(var r=0;r<i.length;r++)e===i[r].promise&&i.splice(r,1)}}function z(e,t,n,r,o){C(e);var a=e[v],i=a?"function"==typeof r?r:h:"function"==typeof o?o:d;t.scheduleMicroTask(k,(function(){try{var r=e[g],o=!!n&&m===n[m];o&&(n[y]=r,n[_]=a);var s=t.run(i,void 0,o&&i!==d&&i!==h?[]:[r]);O(n,!0,s)}catch(e){O(n,!1,e)}}),n)}var I=function(){},x=function(){function e(t){if(!(this instanceof e))throw new Error("Must be an instanceof Promise.");this[v]=b,this[g]=[];try{t&&t(Z(this,T),Z(this,E))}catch(e){O(this,!1,e)}}return e.toString=function(){return"function ZoneAwarePromise() { [native code] }"},e.resolve=function(e){return O(new this(null),T,e)},e.reject=function(e){return O(new this(null),E,e)},e.race=function(e){var t,n,r=new this((function(e,r){t=e,n=r}));function o(e){t(e)}function a(e){n(e)}for(var i=0,s=e;i<s.length;i++){var c=s[i];p(c)||(c=this.resolve(c)),c.then(o,a)}return r},e.all=function(t){return e.allWithCallback(t)},e.allSettled=function(t){return(this&&this.prototype instanceof e?this:e).allWithCallback(t,{thenCallback:function(e){return{status:"fulfilled",value:e}},errorCallback:function(e){return{status:"rejected",reason:e}}})},e.allWithCallback=function(e,t){for(var n,r,o=new this((function(e,t){n=e,r=t})),a=2,i=0,s=[],c=function(e){p(e)||(e=u.resolve(e));var o=i;try{e.then((function(e){s[o]=t?t.thenCallback(e):e,0==--a&&n(s)}),(function(e){t?(s[o]=t.errorCallback(e),0==--a&&n(s)):r(e)}))}catch(e){r(e)}a++,i++},u=this,l=0,f=e;l<f.length;l++)c(f[l]);return 0==(a-=2)&&n(s),o},Object.defineProperty(e.prototype,Symbol.toStringTag,{get:function(){return"Promise"},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,Symbol.species,{get:function(){return e},enumerable:!0,configurable:!0}),e.prototype.then=function(n,r){var o=this.constructor[Symbol.species];o&&"function"==typeof o||(o=this.constructor||e);var a=new o(I),i=t.current;return this[v]==b?this[g].push(i,a,n,r):z(this,i,a,n,r),a},e.prototype.catch=function(e){return this.then(null,e)},e.prototype.finally=function(n){var r=this.constructor[Symbol.species];r&&"function"==typeof r||(r=e);var o=new r(I);o[m]=m;var a=t.current;return this[v]==b?this[g].push(a,o,n,n):z(this,a,o,n,n),o},e}();x.resolve=x.resolve,x.reject=x.reject,x.race=x.race,x.all=x.all;var R=e[c]=e.Promise,N=t.__symbol__("ZoneAwarePromise"),L=r(e,"Promise");L&&!L.configurable||(L&&delete L.writable,L&&delete L.value,L||(L={configurable:!0,enumerable:!0}),L.get=function(){return e[N]?e[N]:e[c]},L.set=function(t){t===x?e[N]=t:(e[c]=t,t.prototype[u]||A(t),n.setNativePromise(t))},o(e,"Promise",L)),e.Promise=x;var M=a("thenPatched");function A(e){var t=e.prototype,n=r(t,"then");if(!n||!1!==n.writable&&n.configurable){var o=t.then;t[u]=o,e.prototype.then=function(e,t){var n=this;return new x((function(e,t){o.call(n,e,t)})).then(e,t)},e[M]=!0}}if(n.patchThen=A,R){A(R);var H=e.fetch;"function"==typeof H&&(e[n.symbol("fetch")]=H,e.fetch=function F(e){return function(){var t=e.apply(this,arguments);if(t instanceof x)return t;var n=t.constructor;return n[M]||A(n),t}}(H))}return Promise[t.__symbol__("uncaughtPromiseErrors")]=i,x}));
/**

@@ -37,3 +31,3 @@ * @license

*/
var e=Object.getOwnPropertyDescriptor,t=Object.defineProperty,n=Object.getPrototypeOf,r=Object.create,o=Array.prototype.slice,a="addEventListener",i="removeEventListener",s=Zone.__symbol__(a),c=Zone.__symbol__(i),l="true",u="false",f=Zone.__symbol__("");function p(e,t){return Zone.current.wrap(e,t)}function h(e,t,n,r,o){return Zone.current.scheduleMacroTask(e,t,n,r,o)}var d=Zone.__symbol__,v="undefined"!=typeof window,g=v?window:void 0,m=v&&g||"object"==typeof self&&self||global,y="removeAttribute",_=[null];function k(e,t){for(var n=e.length-1;n>=0;n--)"function"==typeof e[n]&&(e[n]=p(e[n],t+"_"+n));return e}function b(e){return!e||!1!==e.writable&&!("function"==typeof e.get&&void 0===e.set)}var T="undefined"!=typeof WorkerGlobalScope&&self instanceof WorkerGlobalScope,E=!("nw"in m)&&void 0!==m.process&&"[object process]"==={}.toString.call(m.process),w=!E&&!T&&!(!v||!g.HTMLElement),Z=void 0!==m.process&&"[object process]"==={}.toString.call(m.process)&&!T&&!(!v||!g.HTMLElement),S={},P=function(e){if(e=e||m.event){var t=S[e.type];t||(t=S[e.type]=d("ON_PROPERTY"+e.type));var n,r=this||e.target||m,o=r[t];return w&&r===g&&"error"===e.type?!0===(n=o&&o.call(this,e.message,e.filename,e.lineno,e.colno,e.error))&&e.preventDefault():null==(n=o&&o.apply(this,arguments))||n||e.preventDefault(),n}};function D(n,r,o){var a=e(n,r);if(!a&&o&&e(o,r)&&(a={enumerable:!0,configurable:!0}),a&&a.configurable){var i=d("on"+r+"patched");if(!n.hasOwnProperty(i)||!n[i]){delete a.writable,delete a.value;var s=a.get,c=a.set,l=r.substr(2),u=S[l];u||(u=S[l]=d("ON_PROPERTY"+l)),a.set=function(e){var t=this;t||n!==m||(t=m),t&&(t[u]&&t.removeEventListener(l,P),c&&c.apply(t,_),"function"==typeof e?(t[u]=e,t.addEventListener(l,P,!1)):t[u]=null)},a.get=function(){var e=this;if(e||n!==m||(e=m),!e)return null;var t=e[u];if(t)return t;if(s){var o=s&&s.call(this);if(o)return a.set.call(this,o),"function"==typeof e[y]&&e.removeAttribute(r),o}return null},t(n,r,a),n[i]=!0}}}function O(e,t,n){if(t)for(var r=0;r<t.length;r++)D(e,"on"+t[r],n);else{var o=[];for(var a in e)"on"==a.substr(0,2)&&o.push(a);for(var i=0;i<o.length;i++)D(e,o[i],n)}}var z=d("originalInstance");function C(e){var n=m[e];if(n){m[d(e)]=n,m[e]=function(){var t=k(arguments,e);switch(t.length){case 0:this[z]=new n;break;case 1:this[z]=new n(t[0]);break;case 2:this[z]=new n(t[0],t[1]);break;case 3:this[z]=new n(t[0],t[1],t[2]);break;case 4:this[z]=new n(t[0],t[1],t[2],t[3]);break;default:throw new Error("Arg list too long.")}},R(m[e],n);var r,o=new n(function(){});for(r in o)"XMLHttpRequest"===e&&"responseBlob"===r||function(n){"function"==typeof o[n]?m[e].prototype[n]=function(){return this[z][n].apply(this[z],arguments)}:t(m[e].prototype,n,{set:function(t){"function"==typeof t?(this[z][n]=p(t,e+"."+n),R(this[z][n],t)):this[z][n]=t},get:function(){return this[z][n]}})}(r);for(r in n)"prototype"!==r&&n.hasOwnProperty(r)&&(m[e][r]=n[r])}}var j=!1;function I(t,r,o){for(var a=t;a&&!a.hasOwnProperty(r);)a=n(a);!a&&t[r]&&(a=t);var i=d(r),s=null;if(a&&!(s=a[i])&&(s=a[i]=a[r],b(a&&e(a,r)))){var c=o(s,i,r);a[r]=function(){return c(this,arguments)},R(a[r],s),j&&function l(e,t){"function"==typeof Object.getOwnPropertySymbols&&Object.getOwnPropertySymbols(e).forEach(function(n){var r=Object.getOwnPropertyDescriptor(e,n);Object.defineProperty(t,n,{get:function(){return e[n]},set:function(t){(!r||r.writable&&"function"==typeof r.set)&&(e[n]=t)},enumerable:!r||r.enumerable,configurable:!r||r.configurable})})}(s,a[r])}return s}function x(e,t,n){var r=null;function o(e){var t=e.data;return t.args[t.cbIdx]=function(){e.invoke.apply(this,arguments)},r.apply(t.target,t.args),e}r=I(e,t,function(e){return function(t,r){var a=n(t,r);return a.cbIdx>=0&&"function"==typeof r[a.cbIdx]?h(a.name,r[a.cbIdx],a,o):e.apply(t,r)}})}function R(e,t){e[d("OriginalDelegate")]=t}var L=!1,M=!1;function N(){if(L)return M;L=!0;try{var e=g.navigator.userAgent;-1===e.indexOf("MSIE ")&&-1===e.indexOf("Trident/")&&-1===e.indexOf("Edge/")||(M=!0)}catch(e){}return M}
var e=Object.getOwnPropertyDescriptor,t=Object.defineProperty,n=Object.getPrototypeOf,r=Object.create,o=Array.prototype.slice,a="addEventListener",i="removeEventListener",s=Zone.__symbol__(a),c=Zone.__symbol__(i),u="true",l="false",f=Zone.__symbol__("");function p(e,t){return Zone.current.wrap(e,t)}function h(e,t,n,r,o){return Zone.current.scheduleMacroTask(e,t,n,r,o)}var d=Zone.__symbol__,v="undefined"!=typeof window,g=v?window:void 0,m=v&&g||"object"==typeof self&&self||global,y="removeAttribute",_=[null];function k(e,t){for(var n=e.length-1;n>=0;n--)"function"==typeof e[n]&&(e[n]=p(e[n],t+"_"+n));return e}function b(e){return!e||!1!==e.writable&&!("function"==typeof e.get&&void 0===e.set)}var T="undefined"!=typeof WorkerGlobalScope&&self instanceof WorkerGlobalScope,E=!("nw"in m)&&void 0!==m.process&&"[object process]"==={}.toString.call(m.process),w=!E&&!T&&!(!v||!g.HTMLElement),Z=void 0!==m.process&&"[object process]"==={}.toString.call(m.process)&&!T&&!(!v||!g.HTMLElement),S={},P=function(e){if(e=e||m.event){var t=S[e.type];t||(t=S[e.type]=d("ON_PROPERTY"+e.type));var n,r=this||e.target||m,o=r[t];if(w&&r===g&&"error"===e.type){var a=e;!0===(n=o&&o.call(this,a.message,a.filename,a.lineno,a.colno,a.error))&&e.preventDefault()}else null==(n=o&&o.apply(this,arguments))||n||e.preventDefault();return n}};function D(n,r,o){var a=e(n,r);if(!a&&o&&e(o,r)&&(a={enumerable:!0,configurable:!0}),a&&a.configurable){var i=d("on"+r+"patched");if(!n.hasOwnProperty(i)||!n[i]){delete a.writable,delete a.value;var s=a.get,c=a.set,u=r.substr(2),l=S[u];l||(l=S[u]=d("ON_PROPERTY"+u)),a.set=function(e){var t=this;t||n!==m||(t=m),t&&(t[l]&&t.removeEventListener(u,P),c&&c.apply(t,_),"function"==typeof e?(t[l]=e,t.addEventListener(u,P,!1)):t[l]=null)},a.get=function(){var e=this;if(e||n!==m||(e=m),!e)return null;var t=e[l];if(t)return t;if(s){var o=s&&s.call(this);if(o)return a.set.call(this,o),"function"==typeof e[y]&&e.removeAttribute(r),o}return null},t(n,r,a),n[i]=!0}}}function O(e,t,n){if(t)for(var r=0;r<t.length;r++)D(e,"on"+t[r],n);else{var o=[];for(var a in e)"on"==a.substr(0,2)&&o.push(a);for(var i=0;i<o.length;i++)D(e,o[i],n)}}var j=d("originalInstance");function C(e){var n=m[e];if(n){m[d(e)]=n,m[e]=function(){var t=k(arguments,e);switch(t.length){case 0:this[j]=new n;break;case 1:this[j]=new n(t[0]);break;case 2:this[j]=new n(t[0],t[1]);break;case 3:this[j]=new n(t[0],t[1],t[2]);break;case 4:this[j]=new n(t[0],t[1],t[2],t[3]);break;default:throw new Error("Arg list too long.")}},R(m[e],n);var r,o=new n((function(){}));for(r in o)"XMLHttpRequest"===e&&"responseBlob"===r||function(n){"function"==typeof o[n]?m[e].prototype[n]=function(){return this[j][n].apply(this[j],arguments)}:t(m[e].prototype,n,{set:function(t){"function"==typeof t?(this[j][n]=p(t,e+"."+n),R(this[j][n],t)):this[j][n]=t},get:function(){return this[j][n]}})}(r);for(r in n)"prototype"!==r&&n.hasOwnProperty(r)&&(m[e][r]=n[r])}}var z=!1;function I(t,r,o){for(var a=t;a&&!a.hasOwnProperty(r);)a=n(a);!a&&t[r]&&(a=t);var i=d(r),s=null;if(a&&!(s=a[i])&&(s=a[i]=a[r],b(a&&e(a,r)))){var c=o(s,i,r);a[r]=function(){return c(this,arguments)},R(a[r],s),z&&function u(e,t){"function"==typeof Object.getOwnPropertySymbols&&Object.getOwnPropertySymbols(e).forEach((function(n){var r=Object.getOwnPropertyDescriptor(e,n);Object.defineProperty(t,n,{get:function(){return e[n]},set:function(t){(!r||r.writable&&"function"==typeof r.set)&&(e[n]=t)},enumerable:!r||r.enumerable,configurable:!r||r.configurable})}))}(s,a[r])}return s}function x(e,t,n){var r=null;function o(e){var t=e.data;return t.args[t.cbIdx]=function(){e.invoke.apply(this,arguments)},r.apply(t.target,t.args),e}r=I(e,t,(function(e){return function(t,r){var a=n(t,r);return a.cbIdx>=0&&"function"==typeof r[a.cbIdx]?h(a.name,r[a.cbIdx],a,o):e.apply(t,r)}}))}function R(e,t){e[d("OriginalDelegate")]=t}var N=!1,L=!1;function M(){try{var e=g.navigator.userAgent;if(-1!==e.indexOf("MSIE ")||-1!==e.indexOf("Trident/"))return!0}catch(e){}return!1}function A(){if(N)return L;N=!0;try{var e=g.navigator.userAgent;-1===e.indexOf("MSIE ")&&-1===e.indexOf("Trident/")&&-1===e.indexOf("Edge/")||(L=!0)}catch(e){}return L}
/**

@@ -45,3 +39,3 @@ * @license

* found in the LICENSE file at https://angular.io/license
*/Zone.__load_patch("toString",function(e){var t=Function.prototype.toString,n=d("OriginalDelegate"),r=d("Promise"),o=d("Error"),a=function a(){if("function"==typeof this){var i=this[n];if(i)return"function"==typeof i?t.call(i):Object.prototype.toString.call(i);if(this===Promise){var s=e[r];if(s)return t.call(s)}if(this===Error){var c=e[o];if(c)return t.call(c)}}return t.call(this)};a[n]=t,Function.prototype.toString=a;var i=Object.prototype.toString;Object.prototype.toString=function(){return this instanceof Promise?"[object Promise]":i.call(this)}});
*/Zone.__load_patch("toString",(function(e){var t=Function.prototype.toString,n=d("OriginalDelegate"),r=d("Promise"),o=d("Error"),a=function a(){if("function"==typeof this){var i=this[n];if(i)return"function"==typeof i?t.call(i):Object.prototype.toString.call(i);if(this===Promise){var s=e[r];if(s)return t.call(s)}if(this===Error){var c=e[o];if(c)return t.call(c)}}return t.call(this)};a[n]=t,Function.prototype.toString=a;var i=Object.prototype.toString;Object.prototype.toString=function(){return this instanceof Promise?"[object Promise]":i.call(this)}}));
/**

@@ -54,3 +48,3 @@ * @license

*/
var H=!1;if("undefined"!=typeof window)try{var A=Object.defineProperty({},"passive",{get:function(){H=!0}});window.addEventListener("test",A,A),window.removeEventListener("test",A,A)}catch(e){H=!1}var F={useG:!0},q={},G={},B=new RegExp("^"+f+"(\\w+)(true|false)$"),W=d("propagationStopped");function U(e,t,r){var o=r&&r.add||a,s=r&&r.rm||i,c=r&&r.listeners||"eventListeners",p=r&&r.rmAll||"removeAllListeners",h=d(o),v="."+o+":",g="prependListener",m="."+g+":",y=function(e,t,n){if(!e.isRemoved){var r=e.callback;"object"==typeof r&&r.handleEvent&&(e.callback=function(e){return r.handleEvent(e)},e.originalDelegate=r),e.invoke(e,t,[n]);var o=e.options;o&&"object"==typeof o&&o.once&&t[s].call(t,n.type,e.originalDelegate?e.originalDelegate:e.callback,o)}},_=function(t){if(t=t||e.event){var n=this||t.target||e,r=n[q[t.type][u]];if(r)if(1===r.length)y(r[0],n,t);else for(var o=r.slice(),a=0;a<o.length&&(!t||!0!==t[W]);a++)y(o[a],n,t)}},k=function(t){if(t=t||e.event){var n=this||t.target||e,r=n[q[t.type][l]];if(r)if(1===r.length)y(r[0],n,t);else for(var o=r.slice(),a=0;a<o.length&&(!t||!0!==t[W]);a++)y(o[a],n,t)}};function b(t,r){if(!t)return!1;var a=!0;r&&void 0!==r.useG&&(a=r.useG);var i=r&&r.vh,y=!0;r&&void 0!==r.chkDup&&(y=r.chkDup);var b=!1;r&&void 0!==r.rt&&(b=r.rt);for(var T=t;T&&!T.hasOwnProperty(o);)T=n(T);if(!T&&t[o]&&(T=t),!T)return!1;if(T[h])return!1;var w,Z=r&&r.eventNameToString,S={},P=T[h]=T[o],D=T[d(s)]=T[s],O=T[d(c)]=T[c],z=T[d(p)]=T[p];function C(e){H||"boolean"==typeof S.options||null==S.options||(e.options=!!S.options.capture,S.options=e.options)}r&&r.prepend&&(w=T[d(r.prepend)]=T[r.prepend]);var j=a?function(e){if(!S.isExisting)return C(e),P.call(S.target,S.eventName,S.capture?k:_,S.options)}:function(e){return C(e),P.call(S.target,S.eventName,e.invoke,S.options)},I=a?function(e){if(!e.isRemoved){var t=q[e.eventName],n=void 0;t&&(n=t[e.capture?l:u]);var r=n&&e.target[n];if(r)for(var o=0;o<r.length;o++)if(r[o]===e){r.splice(o,1),e.isRemoved=!0,0===r.length&&(e.allRemoved=!0,e.target[n]=null);break}}if(e.allRemoved)return D.call(e.target,e.eventName,e.capture?k:_,e.options)}:function(e){return D.call(e.target,e.eventName,e.invoke,e.options)},x=r&&r.diff?r.diff:function(e,t){var n=typeof t;return"function"===n&&e.callback===t||"object"===n&&e.originalDelegate===t},L=Zone[d("BLACK_LISTED_EVENTS")],M=function(t,n,o,s,c,p){return void 0===c&&(c=!1),void 0===p&&(p=!1),function(){var h=this||e,d=arguments[0];r&&r.transferEventName&&(d=r.transferEventName(d));var v=arguments[1];if(!v)return t.apply(this,arguments);if(E&&"uncaughtException"===d)return t.apply(this,arguments);var g=!1;if("function"!=typeof v){if(!v.handleEvent)return t.apply(this,arguments);g=!0}if(!i||i(t,v,h,arguments)){var m,_=arguments[2];if(L)for(var k=0;k<L.length;k++)if(d===L[k])return t.apply(this,arguments);var b=!1;void 0===_?m=!1:!0===_?m=!0:!1===_?m=!1:(m=!!_&&!!_.capture,b=!!_&&!!_.once);var T,w=Zone.current,P=q[d];if(P)T=P[m?l:u];else{var D=(Z?Z(d):d)+u,O=(Z?Z(d):d)+l,z=f+D,C=f+O;q[d]={},q[d][u]=z,q[d][l]=C,T=m?C:z}var j,I=h[T],R=!1;if(I){if(R=!0,y)for(k=0;k<I.length;k++)if(x(I[k],v))return}else I=h[T]=[];var M=h.constructor.name,N=G[M];N&&(j=N[d]),j||(j=M+n+(Z?Z(d):d)),S.options=_,b&&(S.options.once=!1),S.target=h,S.capture=m,S.eventName=d,S.isExisting=R;var A=a?F:void 0;A&&(A.taskData=S);var B=w.scheduleEventTask(j,v,A,o,s);return S.target=null,A&&(A.taskData=null),b&&(_.once=!0),(H||"boolean"!=typeof B.options)&&(B.options=_),B.target=h,B.capture=m,B.eventName=d,g&&(B.originalDelegate=v),p?I.unshift(B):I.push(B),c?h:void 0}}};return T[o]=M(P,v,j,I,b),w&&(T[g]=M(w,m,function(e){return w.call(S.target,S.eventName,e.invoke,S.options)},I,b,!0)),T[s]=function(){var t=this||e,n=arguments[0];r&&r.transferEventName&&(n=r.transferEventName(n));var o,a=arguments[2];o=void 0!==a&&(!0===a||!1!==a&&!!a&&!!a.capture);var s=arguments[1];if(!s)return D.apply(this,arguments);if(!i||i(D,s,t,arguments)){var c,p=q[n];p&&(c=p[o?l:u]);var h=c&&t[c];if(h)for(var d=0;d<h.length;d++){var v=h[d];if(x(v,s))return h.splice(d,1),v.isRemoved=!0,0===h.length&&(v.allRemoved=!0,t[c]=null,"string"==typeof n&&(t[f+"ON_PROPERTY"+n]=null)),v.zone.cancelTask(v),b?t:void 0}return D.apply(this,arguments)}},T[c]=function(){var t=this||e,n=arguments[0];r&&r.transferEventName&&(n=r.transferEventName(n));for(var o=[],a=V(t,Z?Z(n):n),i=0;i<a.length;i++){var s=a[i];o.push(s.originalDelegate?s.originalDelegate:s.callback)}return o},T[p]=function(){var t=this||e,n=arguments[0];if(n){r&&r.transferEventName&&(n=r.transferEventName(n));var o=q[n];if(o){var a=t[o[u]],i=t[o[l]];if(a){var c=a.slice();for(d=0;d<c.length;d++)this[s].call(this,n,(f=c[d]).originalDelegate?f.originalDelegate:f.callback,f.options)}if(i)for(c=i.slice(),d=0;d<c.length;d++){var f;this[s].call(this,n,(f=c[d]).originalDelegate?f.originalDelegate:f.callback,f.options)}}}else{for(var h=Object.keys(t),d=0;d<h.length;d++){var v=B.exec(h[d]),g=v&&v[1];g&&"removeListener"!==g&&this[p].call(this,g)}this[p].call(this,"removeListener")}if(b)return this},R(T[o],P),R(T[s],D),z&&R(T[p],z),O&&R(T[c],O),!0}for(var T=[],w=0;w<t.length;w++)T[w]=b(t[w],r);return T}function V(e,t){var n=[];for(var r in e){var o=B.exec(r),a=o&&o[1];if(a&&(!t||a===t)){var i=e[r];if(i)for(var s=0;s<i.length;s++)n.push(i[s])}}return n}function X(e,t){var n=e.Event;n&&n.prototype&&t.patchMethod(n.prototype,"stopImmediatePropagation",function(e){return function(t,n){t[W]=!0,e&&e.apply(t,n)}})}
var H=!1;if("undefined"!=typeof window)try{var F=Object.defineProperty({},"passive",{get:function(){H=!0}});window.addEventListener("test",F,F),window.removeEventListener("test",F,F)}catch(e){H=!1}var q={useG:!0},G={},B={},W=new RegExp("^"+f+"(\\w+)(true|false)$"),U=d("propagationStopped");function V(e,t){var n=(t?t(e):e)+l,r=(t?t(e):e)+u,o=f+n,a=f+r;G[e]={},G[e][l]=o,G[e][u]=a}function X(e,t,r){var o=r&&r.add||a,s=r&&r.rm||i,c=r&&r.listeners||"eventListeners",p=r&&r.rmAll||"removeAllListeners",h=d(o),v="."+o+":",g="prependListener",m="."+g+":",y=function(e,t,n){if(!e.isRemoved){var r=e.callback;"object"==typeof r&&r.handleEvent&&(e.callback=function(e){return r.handleEvent(e)},e.originalDelegate=r),e.invoke(e,t,[n]);var o=e.options;o&&"object"==typeof o&&o.once&&t[s].call(t,n.type,e.originalDelegate?e.originalDelegate:e.callback,o)}},_=function(t){if(t=t||e.event){var n=this||t.target||e,r=n[G[t.type][l]];if(r)if(1===r.length)y(r[0],n,t);else for(var o=r.slice(),a=0;a<o.length&&(!t||!0!==t[U]);a++)y(o[a],n,t)}},k=function(t){if(t=t||e.event){var n=this||t.target||e,r=n[G[t.type][u]];if(r)if(1===r.length)y(r[0],n,t);else for(var o=r.slice(),a=0;a<o.length&&(!t||!0!==t[U]);a++)y(o[a],n,t)}};function b(t,r){if(!t)return!1;var a=!0;r&&void 0!==r.useG&&(a=r.useG);var i=r&&r.vh,y=!0;r&&void 0!==r.chkDup&&(y=r.chkDup);var b=!1;r&&void 0!==r.rt&&(b=r.rt);for(var T=t;T&&!T.hasOwnProperty(o);)T=n(T);if(!T&&t[o]&&(T=t),!T)return!1;if(T[h])return!1;var w,Z=r&&r.eventNameToString,S={},P=T[h]=T[o],D=T[d(s)]=T[s],O=T[d(c)]=T[c],j=T[d(p)]=T[p];function C(e,t){return!H&&"object"==typeof e&&e?!!e.capture:H&&t?"boolean"==typeof e?{capture:e,passive:!0}:e?"object"==typeof e&&!1!==e.passive?Object.assign(Object.assign({},e),{passive:!0}):e:{passive:!0}:e}r&&r.prepend&&(w=T[d(r.prepend)]=T[r.prepend]);var z=a?function(e){if(!S.isExisting)return P.call(S.target,S.eventName,S.capture?k:_,S.options)}:function(e){return P.call(S.target,S.eventName,e.invoke,S.options)},I=a?function(e){if(!e.isRemoved){var t=G[e.eventName],n=void 0;t&&(n=t[e.capture?u:l]);var r=n&&e.target[n];if(r)for(var o=0;o<r.length;o++)if(r[o]===e){r.splice(o,1),e.isRemoved=!0,0===r.length&&(e.allRemoved=!0,e.target[n]=null);break}}if(e.allRemoved)return D.call(e.target,e.eventName,e.capture?k:_,e.options)}:function(e){return D.call(e.target,e.eventName,e.invoke,e.options)},x=r&&r.diff?r.diff:function(e,t){var n=typeof t;return"function"===n&&e.callback===t||"object"===n&&e.originalDelegate===t},N=Zone[d("BLACK_LISTED_EVENTS")],L=e[d("PASSIVE_EVENTS")],M=function(t,n,o,s,c,f){return void 0===c&&(c=!1),void 0===f&&(f=!1),function(){var p=this||e,h=arguments[0];r&&r.transferEventName&&(h=r.transferEventName(h));var d=arguments[1];if(!d)return t.apply(this,arguments);if(E&&"uncaughtException"===h)return t.apply(this,arguments);var v=!1;if("function"!=typeof d){if(!d.handleEvent)return t.apply(this,arguments);v=!0}if(!i||i(t,d,p,arguments)){var g=H&&!!L&&-1!==L.indexOf(h),m=C(arguments[2],g);if(N)for(var _=0;_<N.length;_++)if(h===N[_])return g?t.call(p,h,d,m):t.apply(this,arguments);var k=!!m&&("boolean"==typeof m||m.capture),b=!(!m||"object"!=typeof m)&&m.once,T=Zone.current,w=G[h];w||(V(h,Z),w=G[h]);var P,D=w[k?u:l],O=p[D],j=!1;if(O){if(j=!0,y)for(_=0;_<O.length;_++)if(x(O[_],d))return}else O=p[D]=[];var z=p.constructor.name,I=B[z];I&&(P=I[h]),P||(P=z+n+(Z?Z(h):h)),S.options=m,b&&(S.options.once=!1),S.target=p,S.capture=k,S.eventName=h,S.isExisting=j;var R=a?q:void 0;R&&(R.taskData=S);var M=T.scheduleEventTask(P,d,R,o,s);return S.target=null,R&&(R.taskData=null),b&&(m.once=!0),(H||"boolean"!=typeof M.options)&&(M.options=m),M.target=p,M.capture=k,M.eventName=h,v&&(M.originalDelegate=d),f?O.unshift(M):O.push(M),c?p:void 0}}};return T[o]=M(P,v,z,I,b),w&&(T[g]=M(w,m,(function(e){return w.call(S.target,S.eventName,e.invoke,S.options)}),I,b,!0)),T[s]=function(){var t=this||e,n=arguments[0];r&&r.transferEventName&&(n=r.transferEventName(n));var o=arguments[2],a=!!o&&("boolean"==typeof o||o.capture),s=arguments[1];if(!s)return D.apply(this,arguments);if(!i||i(D,s,t,arguments)){var c,p=G[n];p&&(c=p[a?u:l]);var h=c&&t[c];if(h)for(var d=0;d<h.length;d++){var v=h[d];if(x(v,s)){if(h.splice(d,1),v.isRemoved=!0,0===h.length&&(v.allRemoved=!0,t[c]=null,"string"==typeof n)){var g=f+"ON_PROPERTY"+n;t[g]=null}return v.zone.cancelTask(v),b?t:void 0}}return D.apply(this,arguments)}},T[c]=function(){var t=this||e,n=arguments[0];r&&r.transferEventName&&(n=r.transferEventName(n));for(var o=[],a=Y(t,Z?Z(n):n),i=0;i<a.length;i++){var s=a[i],c=s.originalDelegate?s.originalDelegate:s.callback;o.push(c)}return o},T[p]=function(){var t=this||e,n=arguments[0];if(n){r&&r.transferEventName&&(n=r.transferEventName(n));var o=G[n];if(o){var a=o[l],i=o[u],c=t[a],f=t[i];if(c){var h=c.slice();for(g=0;g<h.length;g++)this[s].call(this,n,(d=h[g]).originalDelegate?d.originalDelegate:d.callback,d.options)}if(f)for(h=f.slice(),g=0;g<h.length;g++){var d;this[s].call(this,n,(d=h[g]).originalDelegate?d.originalDelegate:d.callback,d.options)}}}else{for(var v=Object.keys(t),g=0;g<v.length;g++){var m=v[g],y=W.exec(m),_=y&&y[1];_&&"removeListener"!==_&&this[p].call(this,_)}this[p].call(this,"removeListener")}if(b)return this},R(T[o],P),R(T[s],D),j&&R(T[p],j),O&&R(T[c],O),!0}for(var T=[],w=0;w<t.length;w++)T[w]=b(t[w],r);return T}function Y(e,t){if(!t){var n=[];for(var r in e){var o=W.exec(r),a=o&&o[1];if(a&&(!t||a===t)){var i=e[r];if(i)for(var s=0;s<i.length;s++)n.push(i[s])}}return n}var c=G[t];c||(V(t),c=G[t]);var f=e[c[l]],p=e[c[u]];return f?p?f.concat(p):f.slice():p?p.slice():[]}function J(e,t){var n=e.Event;n&&n.prototype&&t.patchMethod(n.prototype,"stopImmediatePropagation",(function(e){return function(t,n){t[U]=!0,e&&e.apply(t,n)}}))}
/**

@@ -62,3 +56,3 @@ * @license

* found in the LICENSE file at https://angular.io/license
*/function Y(e,t,n,r,o){var a=Zone.__symbol__(r);if(!t[a]){var i=t[a]=t[r];t[r]=function(a,s,c){return s&&s.prototype&&o.forEach(function(t){var o=n+"."+r+"::"+t,a=s.prototype;if(a.hasOwnProperty(t)){var i=e.ObjectGetOwnPropertyDescriptor(a,t);i&&i.value?(i.value=e.wrapWithCurrentZone(i.value,o),e._redefineProperty(s.prototype,t,i)):a[t]&&(a[t]=e.wrapWithCurrentZone(a[t],o))}else a[t]&&(a[t]=e.wrapWithCurrentZone(a[t],o))}),i.call(t,a,s,c)},e.attachOriginToPatched(t[r],i)}}
*/function K(e,t,n,r,o){var a=Zone.__symbol__(r);if(!t[a]){var i=t[a]=t[r];t[r]=function(a,s,c){return s&&s.prototype&&o.forEach((function(t){var o=n+"."+r+"::"+t,a=s.prototype;if(a.hasOwnProperty(t)){var i=e.ObjectGetOwnPropertyDescriptor(a,t);i&&i.value?(i.value=e.wrapWithCurrentZone(i.value,o),e._redefineProperty(s.prototype,t,i)):a[t]&&(a[t]=e.wrapWithCurrentZone(a[t],o))}else a[t]&&(a[t]=e.wrapWithCurrentZone(a[t],o))})),i.call(t,a,s,c)},e.attachOriginToPatched(t[r],i)}}
/**

@@ -70,3 +64,3 @@ * @license

* found in the LICENSE file at https://angular.io/license
*/var K=["absolutedeviceorientation","afterinput","afterprint","appinstalled","beforeinstallprompt","beforeprint","beforeunload","devicelight","devicemotion","deviceorientation","deviceorientationabsolute","deviceproximity","hashchange","languagechange","message","mozbeforepaint","offline","online","paint","pageshow","pagehide","popstate","rejectionhandled","storage","unhandledrejection","unload","userproximity","vrdisplyconnected","vrdisplaydisconnected","vrdisplaypresentchange"],J=["encrypted","waitingforkey","msneedkey","mozinterruptbegin","mozinterruptend"],$=["load"],Q=["blur","error","focus","load","resize","scroll","messageerror"],ee=["bounce","finish","start"],te=["loadstart","progress","abort","error","load","progress","timeout","loadend","readystatechange"],ne=["upgradeneeded","complete","abort","success","error","blocked","versionchange","close"],re=["close","error","open","message"],oe=["error","message"],ae=["abort","animationcancel","animationend","animationiteration","auxclick","beforeinput","blur","cancel","canplay","canplaythrough","change","compositionstart","compositionupdate","compositionend","cuechange","click","close","contextmenu","curechange","dblclick","drag","dragend","dragenter","dragexit","dragleave","dragover","drop","durationchange","emptied","ended","error","focus","focusin","focusout","gotpointercapture","input","invalid","keydown","keypress","keyup","load","loadstart","loadeddata","loadedmetadata","lostpointercapture","mousedown","mouseenter","mouseleave","mousemove","mouseout","mouseover","mouseup","mousewheel","orientationchange","pause","play","playing","pointercancel","pointerdown","pointerenter","pointerleave","pointerlockchange","mozpointerlockchange","webkitpointerlockerchange","pointerlockerror","mozpointerlockerror","webkitpointerlockerror","pointermove","pointout","pointerover","pointerup","progress","ratechange","reset","resize","scroll","seeked","seeking","select","selectionchange","selectstart","show","sort","stalled","submit","suspend","timeupdate","volumechange","touchcancel","touchmove","touchstart","touchend","transitioncancel","transitionend","waiting","wheel"].concat(["webglcontextrestored","webglcontextlost","webglcontextcreationerror"],["autocomplete","autocompleteerror"],["toggle"],["afterscriptexecute","beforescriptexecute","DOMContentLoaded","freeze","fullscreenchange","mozfullscreenchange","webkitfullscreenchange","msfullscreenchange","fullscreenerror","mozfullscreenerror","webkitfullscreenerror","msfullscreenerror","readystatechange","visibilitychange","resume"],K,["beforecopy","beforecut","beforepaste","copy","cut","paste","dragstart","loadend","animationstart","search","transitionrun","transitionstart","webkitanimationend","webkitanimationiteration","webkitanimationstart","webkittransitionend"],["activate","afterupdate","ariarequest","beforeactivate","beforedeactivate","beforeeditfocus","beforeupdate","cellchange","controlselect","dataavailable","datasetchanged","datasetcomplete","errorupdate","filterchange","layoutcomplete","losecapture","move","moveend","movestart","propertychange","resizeend","resizestart","rowenter","rowexit","rowsdelete","rowsinserted","command","compassneedscalibration","deactivate","help","mscontentzoom","msmanipulationstatechanged","msgesturechange","msgesturedoubletap","msgestureend","msgesturehold","msgesturestart","msgesturetap","msgotpointercapture","msinertiastart","mslostpointercapture","mspointercancel","mspointerdown","mspointerenter","mspointerhover","mspointerleave","mspointermove","mspointerout","mspointerover","mspointerup","pointerout","mssitemodejumplistitemremoved","msthumbnailclick","stop","storagecommit"]);function ie(e,t,n){if(!n||0===n.length)return t;var r=n.filter(function(t){return t.target===e});if(!r||0===r.length)return t;var o=r[0].ignoreProperties;return t.filter(function(e){return-1===o.indexOf(e)})}function se(e,t,n,r){e&&O(e,ie(e,t,n),r)}function ce(e,t){if((!E||Z)&&!Zone[e.symbol("patchEvents")]){var r="undefined"!=typeof WebSocket,o=t.__Zone_ignore_on_properties;if(w){var a=window,i=function s(){try{var e=g.navigator.userAgent;if(-1!==e.indexOf("MSIE ")||-1!==e.indexOf("Trident/"))return!0}catch(e){}return!1}?[{target:a,ignoreProperties:["error"]}]:[];se(a,ae.concat(["messageerror"]),o?o.concat(i):o,n(a)),se(Document.prototype,ae,o),void 0!==a.SVGElement&&se(a.SVGElement.prototype,ae,o),se(Element.prototype,ae,o),se(HTMLElement.prototype,ae,o),se(HTMLMediaElement.prototype,J,o),se(HTMLFrameSetElement.prototype,K.concat(Q),o),se(HTMLBodyElement.prototype,K.concat(Q),o),se(HTMLFrameElement.prototype,$,o),se(HTMLIFrameElement.prototype,$,o);var c=a.HTMLMarqueeElement;c&&se(c.prototype,ee,o);var l=a.Worker;l&&se(l.prototype,oe,o)}var u=t.XMLHttpRequest;u&&se(u.prototype,te,o);var f=t.XMLHttpRequestEventTarget;f&&se(f&&f.prototype,te,o),"undefined"!=typeof IDBIndex&&(se(IDBIndex.prototype,ne,o),se(IDBRequest.prototype,ne,o),se(IDBOpenDBRequest.prototype,ne,o),se(IDBDatabase.prototype,ne,o),se(IDBTransaction.prototype,ne,o),se(IDBCursor.prototype,ne,o)),r&&se(WebSocket.prototype,re,o)}}
*/var $=["absolutedeviceorientation","afterinput","afterprint","appinstalled","beforeinstallprompt","beforeprint","beforeunload","devicelight","devicemotion","deviceorientation","deviceorientationabsolute","deviceproximity","hashchange","languagechange","message","mozbeforepaint","offline","online","paint","pageshow","pagehide","popstate","rejectionhandled","storage","unhandledrejection","unload","userproximity","vrdisplayconnected","vrdisplaydisconnected","vrdisplaypresentchange"],Q=["encrypted","waitingforkey","msneedkey","mozinterruptbegin","mozinterruptend"],ee=["load"],te=["blur","error","focus","load","resize","scroll","messageerror"],ne=["bounce","finish","start"],re=["loadstart","progress","abort","error","load","progress","timeout","loadend","readystatechange"],oe=["upgradeneeded","complete","abort","success","error","blocked","versionchange","close"],ae=["close","error","open","message"],ie=["error","message"],se=["abort","animationcancel","animationend","animationiteration","auxclick","beforeinput","blur","cancel","canplay","canplaythrough","change","compositionstart","compositionupdate","compositionend","cuechange","click","close","contextmenu","curechange","dblclick","drag","dragend","dragenter","dragexit","dragleave","dragover","drop","durationchange","emptied","ended","error","focus","focusin","focusout","gotpointercapture","input","invalid","keydown","keypress","keyup","load","loadstart","loadeddata","loadedmetadata","lostpointercapture","mousedown","mouseenter","mouseleave","mousemove","mouseout","mouseover","mouseup","mousewheel","orientationchange","pause","play","playing","pointercancel","pointerdown","pointerenter","pointerleave","pointerlockchange","mozpointerlockchange","webkitpointerlockerchange","pointerlockerror","mozpointerlockerror","webkitpointerlockerror","pointermove","pointout","pointerover","pointerup","progress","ratechange","reset","resize","scroll","seeked","seeking","select","selectionchange","selectstart","show","sort","stalled","submit","suspend","timeupdate","volumechange","touchcancel","touchmove","touchstart","touchend","transitioncancel","transitionend","waiting","wheel"].concat(["webglcontextrestored","webglcontextlost","webglcontextcreationerror"],["autocomplete","autocompleteerror"],["toggle"],["afterscriptexecute","beforescriptexecute","DOMContentLoaded","freeze","fullscreenchange","mozfullscreenchange","webkitfullscreenchange","msfullscreenchange","fullscreenerror","mozfullscreenerror","webkitfullscreenerror","msfullscreenerror","readystatechange","visibilitychange","resume"],$,["beforecopy","beforecut","beforepaste","copy","cut","paste","dragstart","loadend","animationstart","search","transitionrun","transitionstart","webkitanimationend","webkitanimationiteration","webkitanimationstart","webkittransitionend"],["activate","afterupdate","ariarequest","beforeactivate","beforedeactivate","beforeeditfocus","beforeupdate","cellchange","controlselect","dataavailable","datasetchanged","datasetcomplete","errorupdate","filterchange","layoutcomplete","losecapture","move","moveend","movestart","propertychange","resizeend","resizestart","rowenter","rowexit","rowsdelete","rowsinserted","command","compassneedscalibration","deactivate","help","mscontentzoom","msmanipulationstatechanged","msgesturechange","msgesturedoubletap","msgestureend","msgesturehold","msgesturestart","msgesturetap","msgotpointercapture","msinertiastart","mslostpointercapture","mspointercancel","mspointerdown","mspointerenter","mspointerhover","mspointerleave","mspointermove","mspointerout","mspointerover","mspointerup","pointerout","mssitemodejumplistitemremoved","msthumbnailclick","stop","storagecommit"]);function ce(e,t,n){if(!n||0===n.length)return t;var r=n.filter((function(t){return t.target===e}));if(!r||0===r.length)return t;var o=r[0].ignoreProperties;return t.filter((function(e){return-1===o.indexOf(e)}))}function ue(e,t,n,r){e&&O(e,ce(e,t,n),r)}function le(e,t){if((!E||Z)&&!Zone[e.symbol("patchEvents")]){var r="undefined"!=typeof WebSocket,o=t.__Zone_ignore_on_properties;if(w){var a=window,i=M?[{target:a,ignoreProperties:["error"]}]:[];ue(a,se.concat(["messageerror"]),o?o.concat(i):o,n(a)),ue(Document.prototype,se,o),void 0!==a.SVGElement&&ue(a.SVGElement.prototype,se,o),ue(Element.prototype,se,o),ue(HTMLElement.prototype,se,o),ue(HTMLMediaElement.prototype,Q,o),ue(HTMLFrameSetElement.prototype,$.concat(te),o),ue(HTMLBodyElement.prototype,$.concat(te),o),ue(HTMLFrameElement.prototype,ee,o),ue(HTMLIFrameElement.prototype,ee,o);var s=a.HTMLMarqueeElement;s&&ue(s.prototype,ne,o);var c=a.Worker;c&&ue(c.prototype,ie,o)}var u=t.XMLHttpRequest;u&&ue(u.prototype,re,o);var l=t.XMLHttpRequestEventTarget;l&&ue(l&&l.prototype,re,o),"undefined"!=typeof IDBIndex&&(ue(IDBIndex.prototype,oe,o),ue(IDBRequest.prototype,oe,o),ue(IDBOpenDBRequest.prototype,oe,o),ue(IDBDatabase.prototype,oe,o),ue(IDBTransaction.prototype,oe,o),ue(IDBCursor.prototype,oe,o)),r&&ue(WebSocket.prototype,ae,o)}}
/**

@@ -78,3 +72,3 @@ * @license

* found in the LICENSE file at https://angular.io/license
*/Zone.__load_patch("util",function(n,s,c){c.patchOnProperties=O,c.patchMethod=I,c.bindArguments=k,c.patchMacroTask=x;var h=s.__symbol__("BLACK_LISTED_EVENTS"),d=s.__symbol__("UNPATCHED_EVENTS");n[d]&&(n[h]=n[d]),n[h]&&(s[h]=s[d]=n[h]),c.patchEventPrototype=X,c.patchEventTarget=U,c.isIEOrEdge=N,c.ObjectDefineProperty=t,c.ObjectGetOwnPropertyDescriptor=e,c.ObjectCreate=r,c.ArraySlice=o,c.patchClass=C,c.wrapWithCurrentZone=p,c.filterProperties=ie,c.attachOriginToPatched=R,c._redefineProperty=Object.defineProperty,c.patchCallbacks=Y,c.getGlobalObjects=function(){return{globalSources:G,zoneSymbolEventNames:q,eventNames:ae,isBrowser:w,isMix:Z,isNode:E,TRUE_STR:l,FALSE_STR:u,ZONE_SYMBOL_PREFIX:f,ADD_EVENT_LISTENER_STR:a,REMOVE_EVENT_LISTENER_STR:i}}});
*/Zone.__load_patch("util",(function(n,s,c){c.patchOnProperties=O,c.patchMethod=I,c.bindArguments=k,c.patchMacroTask=x;var h=s.__symbol__("BLACK_LISTED_EVENTS"),d=s.__symbol__("UNPATCHED_EVENTS");n[d]&&(n[h]=n[d]),n[h]&&(s[h]=s[d]=n[h]),c.patchEventPrototype=J,c.patchEventTarget=X,c.isIEOrEdge=A,c.ObjectDefineProperty=t,c.ObjectGetOwnPropertyDescriptor=e,c.ObjectCreate=r,c.ArraySlice=o,c.patchClass=C,c.wrapWithCurrentZone=p,c.filterProperties=ce,c.attachOriginToPatched=R,c._redefineProperty=Object.defineProperty,c.patchCallbacks=K,c.getGlobalObjects=function(){return{globalSources:B,zoneSymbolEventNames:G,eventNames:se,isBrowser:w,isMix:Z,isNode:E,TRUE_STR:u,FALSE_STR:l,ZONE_SYMBOL_PREFIX:f,ADD_EVENT_LISTENER_STR:a,REMOVE_EVENT_LISTENER_STR:i}}}));
/**

@@ -87,2 +81,3 @@ * @license

*/
var fe=d("zoneTask");function pe(e,t,n,r){var o=null,a=null;n+=r;var i={};function s(t){var n=t.data;return n.args[0]=function r(){try{t.invoke.apply(this,arguments)}finally{t.data&&t.data.isPeriodic||("number"==typeof n.handleId?delete i[n.handleId]:n.handleId&&(n.handleId[fe]=null))}},n.handleId=o.apply(e,n.args),t}function c(e){return a(e.data.handleId)}o=I(e,t+=r,(function(n){return function(o,a){if("function"==typeof a[0]){var u=h(t,a[0],{isPeriodic:"Interval"===r,delay:"Timeout"===r||"Interval"===r?a[1]||0:void 0,args:a},s,c);if(!u)return u;var l=u.data.handleId;return"number"==typeof l?i[l]=u:l&&(l[fe]=u),l&&l.ref&&l.unref&&"function"==typeof l.ref&&"function"==typeof l.unref&&(u.ref=l.ref.bind(l),u.unref=l.unref.bind(l)),"number"==typeof l||l?l:u}return n.apply(e,a)}})),a=I(e,n,(function(t){return function(n,r){var o,a=r[0];"number"==typeof a?o=i[a]:(o=a&&a[fe])||(o=a),o&&"string"==typeof o.type?"notScheduled"!==o.state&&(o.cancelFn&&o.data.isPeriodic||0===o.runCount)&&("number"==typeof a?delete i[a]:a&&(a[fe]=null),o.zone.cancelTask(o)):t.apply(e,r)}}))}
/**

@@ -95,3 +90,2 @@ * @license

*/
var le=d("zoneTask");function ue(e,t,n,r){var o=null,a=null;n+=r;var i={};function s(t){var n=t.data;return n.args[0]=function r(){try{t.invoke.apply(this,arguments)}finally{t.data&&t.data.isPeriodic||("number"==typeof n.handleId?delete i[n.handleId]:n.handleId&&(n.handleId[le]=null))}},n.handleId=o.apply(e,n.args),t}function c(e){return a(e.data.handleId)}o=I(e,t+=r,function(n){return function(o,a){if("function"==typeof a[0]){var l=h(t,a[0],{isPeriodic:"Interval"===r,delay:"Timeout"===r||"Interval"===r?a[1]||0:void 0,args:a},s,c);if(!l)return l;var u=l.data.handleId;return"number"==typeof u?i[u]=l:u&&(u[le]=l),u&&u.ref&&u.unref&&"function"==typeof u.ref&&"function"==typeof u.unref&&(l.ref=u.ref.bind(u),l.unref=u.unref.bind(u)),"number"==typeof u||u?u:l}return n.apply(e,a)}}),a=I(e,n,function(t){return function(n,r){var o,a=r[0];"number"==typeof a?o=i[a]:(o=a&&a[le])||(o=a),o&&"string"==typeof o.type?"notScheduled"!==o.state&&(o.cancelFn&&o.data.isPeriodic||0===o.runCount)&&("number"==typeof a?delete i[a]:a&&(a[le]=null),o.zone.cancelTask(o)):t.apply(e,r)}})}
/**

@@ -104,2 +98,3 @@ * @license

*/
function he(e,t){if(!Zone[t.symbol("patchEventTarget")]){for(var n=t.getGlobalObjects(),r=n.eventNames,o=n.zoneSymbolEventNames,a=n.TRUE_STR,i=n.FALSE_STR,s=n.ZONE_SYMBOL_PREFIX,c=0;c<r.length;c++){var u=r[c],l=s+(u+i),f=s+(u+a);o[u]={},o[u][i]=l,o[u][a]=f}var p=e.EventTarget;if(p&&p.prototype)return t.patchEventTarget(e,[p&&p.prototype]),!0}}
/**

@@ -112,3 +107,3 @@ * @license

*/
function fe(e,t){if(!Zone[t.symbol("patchEventTarget")]){for(var n=t.getGlobalObjects(),r=n.eventNames,o=n.zoneSymbolEventNames,a=n.TRUE_STR,i=n.FALSE_STR,s=n.ZONE_SYMBOL_PREFIX,c=0;c<r.length;c++){var l=r[c],u=s+(l+i),f=s+(l+a);o[l]={},o[l][i]=u,o[l][a]=f}var p=e.EventTarget;if(p&&p.prototype)return t.patchEventTarget(e,[p&&p.prototype]),!0}}
Zone.__load_patch("legacy",(function(e){var t=e[Zone.__symbol__("legacyPatch")];t&&t()})),Zone.__load_patch("timers",(function(e){pe(e,"set","clear","Timeout"),pe(e,"set","clear","Interval"),pe(e,"set","clear","Immediate")})),Zone.__load_patch("requestAnimationFrame",(function(e){pe(e,"request","cancel","AnimationFrame"),pe(e,"mozRequest","mozCancel","AnimationFrame"),pe(e,"webkitRequest","webkitCancel","AnimationFrame")})),Zone.__load_patch("blocking",(function(e,t){for(var n=["alert","prompt","confirm"],r=0;r<n.length;r++)I(e,n[r],(function(n,r,o){return function(r,a){return t.current.run(n,e,a,o)}}))})),Zone.__load_patch("EventTarget",(function(e,t,n){!function r(e,t){t.patchEventPrototype(e,t)}(e,n),he(e,n);var o=e.XMLHttpRequestEventTarget;o&&o.prototype&&n.patchEventTarget(e,[o.prototype]),C("MutationObserver"),C("WebKitMutationObserver"),C("IntersectionObserver"),C("FileReader")})),Zone.__load_patch("on_property",(function(e,t,n){le(n,e)})),Zone.__load_patch("customElements",(function(e,t,n){!function r(e,t){var n=t.getGlobalObjects();(n.isBrowser||n.isMix)&&e.customElements&&"customElements"in e&&t.patchCallbacks(t,e.customElements,"customElements","define",["connectedCallback","disconnectedCallback","adoptedCallback","attributeChangedCallback"])}(e,n)})),Zone.__load_patch("XHR",(function(e,t){!function n(e){var n=e.XMLHttpRequest;if(n){var f=n.prototype,p=f[s],v=f[c];if(!p){var g=e.XMLHttpRequestEventTarget;if(g){var m=g.prototype;p=m[s],v=m[c]}}var y="readystatechange",_="scheduled",k=I(f,"open",(function(){return function(e,t){return e[o]=0==t[2],e[u]=t[1],k.apply(e,t)}})),b=d("fetchTaskAborting"),T=d("fetchTaskScheduling"),E=I(f,"send",(function(){return function(e,n){if(!0===t.current[T])return E.apply(e,n);if(e[o])return E.apply(e,n);var r={target:e,url:e[u],isPeriodic:!1,args:n,aborted:!1},a=h("XMLHttpRequest.send",S,r,Z,P);e&&!0===e[l]&&!r.aborted&&a.state===_&&a.invoke()}})),w=I(f,"abort",(function(){return function(e,n){var o=function a(e){return e[r]}(e);if(o&&"string"==typeof o.type){if(null==o.cancelFn||o.data&&o.data.aborted)return;o.zone.cancelTask(o)}else if(!0===t.current[b])return w.apply(e,n)}}))}function Z(e){var n=e.data,o=n.target;o[i]=!1,o[l]=!1;var u=o[a];p||(p=o[s],v=o[c]),u&&v.call(o,y,u);var f=o[a]=function(){if(o.readyState===o.DONE)if(!n.aborted&&o[i]&&e.state===_){var r=o[t.__symbol__("loadfalse")];if(r&&r.length>0){var a=e.invoke;e.invoke=function(){for(var r=o[t.__symbol__("loadfalse")],i=0;i<r.length;i++)r[i]===e&&r.splice(i,1);n.aborted||e.state!==_||a.call(e)},r.push(e)}else e.invoke()}else n.aborted||!1!==o[i]||(o[l]=!0)};return p.call(o,y,f),o[r]||(o[r]=e),E.apply(o,n.args),o[i]=!0,e}function S(){}function P(e){var t=e.data;return t.aborted=!0,w.apply(t.target,t.args)}}(e);var r=d("xhrTask"),o=d("xhrSync"),a=d("xhrListener"),i=d("xhrScheduled"),u=d("xhrURL"),l=d("xhrErrorBeforeScheduled")})),Zone.__load_patch("geolocation",(function(t){t.navigator&&t.navigator.geolocation&&function n(t,r){for(var o=t.constructor.name,a=function(n){var a=r[n],i=t[a];if(i){if(!b(e(t,a)))return"continue";t[a]=function(e){var t=function(){return e.apply(this,k(arguments,o+"."+a))};return R(t,e),t}(i)}},i=0;i<r.length;i++)a(i)}(t.navigator.geolocation,["getCurrentPosition","watchPosition"])})),Zone.__load_patch("PromiseRejectionEvent",(function(e,t){function n(t){return function(n){Y(e,t).forEach((function(r){var o=e.PromiseRejectionEvent;if(o){var a=new o(t,{promise:n.promise,reason:n.rejection});r.invoke(a)}}))}}e.PromiseRejectionEvent&&(t[d("unhandledPromiseRejectionHandler")]=n("unhandledrejection"),t[d("rejectionHandledHandler")]=n("rejectionhandled"))})),
/**

@@ -121,3 +116,3 @@ * @license

*/
Zone.__load_patch("legacy",function(e){var t=e[Zone.__symbol__("legacyPatch")];t&&t()}),Zone.__load_patch("timers",function(e){ue(e,"set","clear","Timeout"),ue(e,"set","clear","Interval"),ue(e,"set","clear","Immediate")}),Zone.__load_patch("requestAnimationFrame",function(e){ue(e,"request","cancel","AnimationFrame"),ue(e,"mozRequest","mozCancel","AnimationFrame"),ue(e,"webkitRequest","webkitCancel","AnimationFrame")}),Zone.__load_patch("blocking",function(e,t){for(var n=["alert","prompt","confirm"],r=0;r<n.length;r++)I(e,n[r],function(n,r,o){return function(r,a){return t.current.run(n,e,a,o)}})}),Zone.__load_patch("EventTarget",function(e,t,n){!function r(e,t){t.patchEventPrototype(e,t)}(e,n),fe(e,n);var o=e.XMLHttpRequestEventTarget;o&&o.prototype&&n.patchEventTarget(e,[o.prototype]),C("MutationObserver"),C("WebKitMutationObserver"),C("IntersectionObserver"),C("FileReader")}),Zone.__load_patch("on_property",function(e,t,n){ce(n,e)}),Zone.__load_patch("customElements",function(e,t,n){!function r(e,t){var n=t.getGlobalObjects();(n.isBrowser||n.isMix)&&e.customElements&&"customElements"in e&&t.patchCallbacks(t,e.customElements,"customElements","define",["connectedCallback","disconnectedCallback","adoptedCallback","attributeChangedCallback"])}(e,n)}),Zone.__load_patch("XHR",function(e,t){!function n(e){var n=e.XMLHttpRequest;if(n){var f=n.prototype,p=f[s],v=f[c];if(!p){var g=e.XMLHttpRequestEventTarget;if(g){var m=g.prototype;p=m[s],v=m[c]}}var y="readystatechange",_="scheduled",k=I(f,"open",function(){return function(e,t){return e[o]=0==t[2],e[l]=t[1],k.apply(e,t)}}),b=d("fetchTaskAborting"),T=d("fetchTaskScheduling"),E=I(f,"send",function(){return function(e,n){if(!0===t.current[T])return E.apply(e,n);if(e[o])return E.apply(e,n);var r={target:e,url:e[l],isPeriodic:!1,args:n,aborted:!1},a=h("XMLHttpRequest.send",S,r,Z,P);e&&!0===e[u]&&!r.aborted&&a.state===_&&a.invoke()}}),w=I(f,"abort",function(){return function(e,n){var o=function a(e){return e[r]}(e);if(o&&"string"==typeof o.type){if(null==o.cancelFn||o.data&&o.data.aborted)return;o.zone.cancelTask(o)}else if(!0===t.current[b])return w.apply(e,n)}})}function Z(e){var n=e.data,o=n.target;o[i]=!1,o[u]=!1;var l=o[a];p||(p=o[s],v=o[c]),l&&v.call(o,y,l);var f=o[a]=function(){if(o.readyState===o.DONE)if(!n.aborted&&o[i]&&e.state===_){var r=o[t.__symbol__("loadfalse")];if(r&&r.length>0){var a=e.invoke;e.invoke=function(){for(var r=o[t.__symbol__("loadfalse")],i=0;i<r.length;i++)r[i]===e&&r.splice(i,1);n.aborted||e.state!==_||a.call(e)},r.push(e)}else e.invoke()}else n.aborted||!1!==o[i]||(o[u]=!0)};return p.call(o,y,f),o[r]||(o[r]=e),E.apply(o,n.args),o[i]=!0,e}function S(){}function P(e){var t=e.data;return t.aborted=!0,w.apply(t.target,t.args)}}(e);var r=d("xhrTask"),o=d("xhrSync"),a=d("xhrListener"),i=d("xhrScheduled"),l=d("xhrURL"),u=d("xhrErrorBeforeScheduled")}),Zone.__load_patch("geolocation",function(t){t.navigator&&t.navigator.geolocation&&function n(t,r){for(var o=t.constructor.name,a=function(n){var a=r[n],i=t[a];if(i){if(!b(e(t,a)))return"continue";t[a]=function(e){var t=function(){return e.apply(this,k(arguments,o+"."+a))};return R(t,e),t}(i)}},i=0;i<r.length;i++)a(i)}(t.navigator.geolocation,["getCurrentPosition","watchPosition"])}),Zone.__load_patch("PromiseRejectionEvent",function(e,t){function n(t){return function(n){V(e,t).forEach(function(r){var o=e.PromiseRejectionEvent;if(o){var a=new o(t,{promise:n.promise,reason:n.rejection});r.invoke(a)}})}}e.PromiseRejectionEvent&&(t[d("unhandledPromiseRejectionHandler")]=n("unhandledrejection"),t[d("rejectionHandledHandler")]=n("rejectionhandled"))}),
Zone.__load_patch("node_util",(function(e,t,n){n.patchOnProperties=O,n.patchMethod=I,n.bindArguments=k,n.patchMacroTask=x,function r(e){z=e}(!0)})),
/**

@@ -130,2 +125,3 @@ * @license

*/
Zone.__load_patch("EventEmitter",(function(e){var t,n=function(e,t){return e.callback===t||e.callback.listener===t},r=function(e){return"string"==typeof e?e:e?e.toString().replace("(","_").replace(")","_"):""};try{t=require("events")}catch(e){}t&&t.EventEmitter&&function o(t){var o=X(e,[t],{useG:!1,add:"addListener",rm:"removeListener",prepend:"prependListener",rmAll:"removeAllListeners",listeners:"listeners",chkDup:!1,rt:!0,diff:n,eventNameToString:r});o&&o[0]&&(t.on=t.addListener)}(t.EventEmitter.prototype)})),
/**

@@ -138,3 +134,3 @@ * @license

*/
Zone.__load_patch("node_util",function(e,t,n){n.patchOnProperties=O,n.patchMethod=I,n.bindArguments=k,n.patchMacroTask=x,function r(e){j=e}(!0)}),
Zone.__load_patch("fs",(function(){var e;try{e=require("fs")}catch(e){}e&&["access","appendFile","chmod","chown","close","exists","fchmod","fchown","fdatasync","fstat","fsync","ftruncate","futimes","lchmod","lchown","link","lstat","mkdir","mkdtemp","open","read","readdir","readFile","readlink","realpath","rename","rmdir","stat","symlink","truncate","unlink","utimes","write","writeFile"].filter((function(t){return!!e[t]&&"function"==typeof e[t]})).forEach((function(t){x(e,t,(function(e,n){return{name:"fs."+t,args:n,cbIdx:n.length>0?n.length-1:-1,target:e}}))}))}));
/**

@@ -147,18 +143,2 @@ * @license

*/
Zone.__load_patch("EventEmitter",function(e){var t,n=function(e,t){return e.callback===t||e.callback.listener===t},r=function(e){return"string"==typeof e?e:e?e.toString().replace("(","_").replace(")","_"):""};try{t=require("events")}catch(e){}t&&t.EventEmitter&&function o(t){var o=U(e,[t],{useG:!1,add:"addListener",rm:"removeListener",prepend:"prependListener",rmAll:"removeAllListeners",listeners:"listeners",chkDup:!1,rt:!0,diff:n,eventNameToString:r});o&&o[0]&&(t.on=t.addListener)}(t.EventEmitter.prototype)}),
/**
* @license
* Copyright Google Inc. All Rights Reserved.
*
* Use of this source code is governed by an MIT-style license that can be
* found in the LICENSE file at https://angular.io/license
*/
Zone.__load_patch("fs",function(){var e;try{e=require("fs")}catch(e){}e&&["access","appendFile","chmod","chown","close","exists","fchmod","fchown","fdatasync","fstat","fsync","ftruncate","futimes","lchmod","lchown","link","lstat","mkdir","mkdtemp","open","read","readdir","readFile","readlink","realpath","rename","rmdir","stat","symlink","truncate","unlink","utimes","write","writeFile"].filter(function(t){return!!e[t]&&"function"==typeof e[t]}).forEach(function(t){x(e,t,function(e,n){return{name:"fs."+t,args:n,cbIdx:n.length>0?n.length-1:-1,target:e}})})});
/**
* @license
* Copyright Google Inc. All Rights Reserved.
*
* Use of this source code is governed by an MIT-style license that can be
* found in the LICENSE file at https://angular.io/license
*/
var pe="set";Zone.__load_patch("node_timers",function(e,t){var n=!1;try{var r=require("timers");if(e.setTimeout!==r.setTimeout&&!Z){var o=r.setTimeout;r.setTimeout=function(){return n=!0,o.apply(this,arguments)};var a=e.setTimeout(function(){},100);clearTimeout(a),r.setTimeout=o}ue(r,pe,"clear","Timeout"),ue(r,pe,"clear","Interval"),ue(r,pe,"clear","Immediate")}catch(e){}Z||(n?(e[t.__symbol__("setTimeout")]=e.setTimeout,e[t.__symbol__("setInterval")]=e.setInterval,e[t.__symbol__("setImmediate")]=e.setImmediate):(ue(e,pe,"clear","Timeout"),ue(e,pe,"clear","Interval"),ue(e,pe,"clear","Immediate")))}),Zone.__load_patch("nextTick",function(){!function e(t,n,r){var o=null;function a(e){var t=e.data;return t.args[t.cbIdx]=function(){e.invoke.apply(this,arguments)},o.apply(t.target,t.args),e}o=I(t,n,function(e){return function(t,n){var o=r(t,n);return o.cbIdx>=0&&"function"==typeof n[o.cbIdx]?Zone.current.scheduleMicroTask(o.name,n[o.cbIdx],o,a):e.apply(t,n)}})}(process,"nextTick",function(e,t){return{name:"process.nextTick",args:t,cbIdx:t.length>0&&"function"==typeof t[0]?0:-1,target:process}})}),Zone.__load_patch("handleUnhandledPromiseRejection",function(e,t,n){function r(e){return function(t){V(process,e).forEach(function(n){"unhandledRejection"===e?n.invoke(t.rejection,t.promise):"rejectionHandled"===e&&n.invoke(t.promise)})}}t[n.symbol("unhandledPromiseRejectionHandler")]=r("unhandledRejection"),t[n.symbol("rejectionHandledHandler")]=r("rejectionHandled")}),Zone.__load_patch("crypto",function(){var e;try{e=require("crypto")}catch(e){}e&&["randomBytes","pbkdf2"].forEach(function(t){x(e,t,function(n,r){return{name:"crypto."+t,args:r,cbIdx:r.length>0&&"function"==typeof r[r.length-1]?r.length-1:-1,target:e}})})}),Zone.__load_patch("console",function(e,t){["dir","log","info","error","warn","assert","debug","timeEnd","trace"].forEach(function(e){var n=console[t.__symbol__(e)]=console[e];n&&(console[e]=function(){var e=o.call(arguments);return t.current===t.root?n.apply(this,e):t.root.run(n,this,e)})})})});
var de="set";Zone.__load_patch("node_timers",(function(e,t){var n=!1;try{var r=require("timers");if(e.setTimeout!==r.setTimeout&&!Z){var o=r.setTimeout;r.setTimeout=function(){return n=!0,o.apply(this,arguments)};var a=e.setTimeout((function(){}),100);clearTimeout(a),r.setTimeout=o}pe(r,de,"clear","Timeout"),pe(r,de,"clear","Interval"),pe(r,de,"clear","Immediate")}catch(e){}Z||(n?(e[t.__symbol__("setTimeout")]=e.setTimeout,e[t.__symbol__("setInterval")]=e.setInterval,e[t.__symbol__("setImmediate")]=e.setImmediate):(pe(e,de,"clear","Timeout"),pe(e,de,"clear","Interval"),pe(e,de,"clear","Immediate")))})),Zone.__load_patch("nextTick",(function(){!function e(t,n,r){var o=null;function a(e){var t=e.data;return t.args[t.cbIdx]=function(){e.invoke.apply(this,arguments)},o.apply(t.target,t.args),e}o=I(t,n,(function(e){return function(t,n){var o=r(t,n);return o.cbIdx>=0&&"function"==typeof n[o.cbIdx]?Zone.current.scheduleMicroTask(o.name,n[o.cbIdx],o,a):e.apply(t,n)}}))}(process,"nextTick",(function(e,t){return{name:"process.nextTick",args:t,cbIdx:t.length>0&&"function"==typeof t[0]?0:-1,target:process}}))})),Zone.__load_patch("handleUnhandledPromiseRejection",(function(e,t,n){function r(e){return function(t){Y(process,e).forEach((function(n){"unhandledRejection"===e?n.invoke(t.rejection,t.promise):"rejectionHandled"===e&&n.invoke(t.promise)}))}}t[n.symbol("unhandledPromiseRejectionHandler")]=r("unhandledRejection"),t[n.symbol("rejectionHandledHandler")]=r("rejectionHandled")})),Zone.__load_patch("crypto",(function(){var e;try{e=require("crypto")}catch(e){}e&&["randomBytes","pbkdf2"].forEach((function(t){x(e,t,(function(n,r){return{name:"crypto."+t,args:r,cbIdx:r.length>0&&"function"==typeof r[r.length-1]?r.length-1:-1,target:e}}))}))})),Zone.__load_patch("console",(function(e,t){["dir","log","info","error","warn","assert","debug","timeEnd","trace"].forEach((function(e){var n=console[t.__symbol__(e)]=console[e];n&&(console[e]=function(){var e=o.call(arguments);return t.current===t.root?n.apply(this,e):t.root.run(n,this,e)})}))}))}));

@@ -1,14 +0,8 @@

var __values=this&&this.__values||function(e){var t="function"==typeof Symbol&&e[Symbol.iterator],n=0;return t?t.call(e):{next:function(){return e&&n>=e.length&&(e=void 0),{value:e&&e[n++],done:!e}}}};
/**
* @license Angular v0.10.2
* (c) 2010-2019 Google LLC. https://angular.io/
* License: MIT
*/
* @license Angular v9.1.0-next.4+61.sha-e552591.with-local-changes
* (c) 2010-2020 Google LLC. https://angular.io/
* License: MIT
*/
!function(e){"function"==typeof define&&define.amd?define(e):e()}((function(){"use strict";
/**
* @license Angular v0.10.2
* (c) 2010-2019 Google LLC. https://angular.io/
* License: MIT
*/
!function(e){"function"==typeof define&&define.amd?define(e):e()}(function(){"use strict";
/**
* @license

@@ -19,3 +13,3 @@ * Copyright Google Inc. All Rights Reserved.

* found in the LICENSE file at https://angular.io/license
*/!function(e){var t=e.performance;function n(e){t&&t.mark&&t.mark(e)}function r(e,n){t&&t.measure&&t.measure(e,n)}n("Zone");var o=e.__Zone_symbol_prefix||"__zone_symbol__";function i(e){return o+e}var a=!0===e[i("forceDuplicateZoneCheck")];if(e.Zone){if(a||"function"!=typeof e.Zone.__symbol__)throw new Error("Zone already loaded.");return e.Zone}var s=function(){function t(e,t){this._parent=e,this._name=t?t.name||"unnamed":"<root>",this._properties=t&&t.properties||{},this._zoneDelegate=new l(this,this._parent&&this._parent._zoneDelegate,t)}return t.assertZonePatched=function(){if(e.Promise!==z.ZoneAwarePromise)throw new Error("Zone.js has detected that ZoneAwarePromise `(window|global).Promise` has been overwritten.\nMost likely cause is that a Promise polyfill has been loaded after Zone.js (Polyfilling Promise api is not necessary when zone.js is loaded. If you must load one, do so before loading zone.js.)")},Object.defineProperty(t,"root",{get:function(){for(var e=t.current;e.parent;)e=e.parent;return e},enumerable:!0,configurable:!0}),Object.defineProperty(t,"current",{get:function(){return O.zone},enumerable:!0,configurable:!0}),Object.defineProperty(t,"currentTask",{get:function(){return j},enumerable:!0,configurable:!0}),t.__load_patch=function(o,i){if(z.hasOwnProperty(o)){if(a)throw Error("Already loaded patch: "+o)}else if(!e["__Zone_disable_"+o]){var s="Zone:"+o;n(s),z[o]=i(e,t,C),r(s,s)}},Object.defineProperty(t.prototype,"parent",{get:function(){return this._parent},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"name",{get:function(){return this._name},enumerable:!0,configurable:!0}),t.prototype.get=function(e){var t=this.getZoneWith(e);if(t)return t._properties[e]},t.prototype.getZoneWith=function(e){for(var t=this;t;){if(t._properties.hasOwnProperty(e))return t;t=t._parent}return null},t.prototype.fork=function(e){if(!e)throw new Error("ZoneSpec required!");return this._zoneDelegate.fork(this,e)},t.prototype.wrap=function(e,t){if("function"!=typeof e)throw new Error("Expecting function got: "+e);var n=this._zoneDelegate.intercept(this,e,t),r=this;return function(){return r.runGuarded(n,this,arguments,t)}},t.prototype.run=function(e,t,n,r){O={parent:O,zone:this};try{return this._zoneDelegate.invoke(this,e,t,n,r)}finally{O=O.parent}},t.prototype.runGuarded=function(e,t,n,r){void 0===t&&(t=null),O={parent:O,zone:this};try{try{return this._zoneDelegate.invoke(this,e,t,n,r)}catch(e){if(this._zoneDelegate.handleError(this,e))throw e}}finally{O=O.parent}},t.prototype.runTask=function(e,t,n){if(e.zone!=this)throw new Error("A task can only be run in the zone of creation! (Creation: "+(e.zone||g).name+"; Execution: "+this.name+")");if(e.state!==m||e.type!==P&&e.type!==S){var r=e.state!=w;r&&e._transitionTo(w,b),e.runCount++;var o=j;j=e,O={parent:O,zone:this};try{e.type==S&&e.data&&!e.data.isPeriodic&&(e.cancelFn=void 0);try{return this._zoneDelegate.invokeTask(this,e,t,n)}catch(e){if(this._zoneDelegate.handleError(this,e))throw e}}finally{e.state!==m&&e.state!==E&&(e.type==P||e.data&&e.data.isPeriodic?r&&e._transitionTo(b,w):(e.runCount=0,this._updateTaskCount(e,-1),r&&e._transitionTo(m,w,m))),O=O.parent,j=o}}},t.prototype.scheduleTask=function(e){if(e.zone&&e.zone!==this)for(var t=this;t;){if(t===e.zone)throw Error("can not reschedule task to "+this.name+" which is descendants of the original zone "+e.zone.name);t=t.parent}e._transitionTo(T,m);var n=[];e._zoneDelegates=n,e._zone=this;try{e=this._zoneDelegate.scheduleTask(this,e)}catch(t){throw e._transitionTo(E,T,m),this._zoneDelegate.handleError(this,t),t}return e._zoneDelegates===n&&this._updateTaskCount(e,1),e.state==T&&e._transitionTo(b,T),e},t.prototype.scheduleMicroTask=function(e,t,n,r){return this.scheduleTask(new f(D,e,t,n,r,void 0))},t.prototype.scheduleMacroTask=function(e,t,n,r,o){return this.scheduleTask(new f(S,e,t,n,r,o))},t.prototype.scheduleEventTask=function(e,t,n,r,o){return this.scheduleTask(new f(P,e,t,n,r,o))},t.prototype.cancelTask=function(e){if(e.zone!=this)throw new Error("A task can only be cancelled in the zone of creation! (Creation: "+(e.zone||g).name+"; Execution: "+this.name+")");e._transitionTo(Z,b,w);try{this._zoneDelegate.cancelTask(this,e)}catch(t){throw e._transitionTo(E,Z),this._zoneDelegate.handleError(this,t),t}return this._updateTaskCount(e,-1),e._transitionTo(m,Z),e.runCount=0,e},t.prototype._updateTaskCount=function(e,t){var n=e._zoneDelegates;-1==t&&(e._zoneDelegates=null);for(var r=0;r<n.length;r++)n[r]._updateTaskCount(e.type,t)},t}();s.__symbol__=i;var c,u={name:"",onHasTask:function(e,t,n,r){return e.hasTask(n,r)},onScheduleTask:function(e,t,n,r){return e.scheduleTask(n,r)},onInvokeTask:function(e,t,n,r,o,i){return e.invokeTask(n,r,o,i)},onCancelTask:function(e,t,n,r){return e.cancelTask(n,r)}},l=function(){function e(e,t,n){this._taskCounts={microTask:0,macroTask:0,eventTask:0},this.zone=e,this._parentDelegate=t,this._forkZS=n&&(n&&n.onFork?n:t._forkZS),this._forkDlgt=n&&(n.onFork?t:t._forkDlgt),this._forkCurrZone=n&&(n.onFork?this.zone:t._forkCurrZone),this._interceptZS=n&&(n.onIntercept?n:t._interceptZS),this._interceptDlgt=n&&(n.onIntercept?t:t._interceptDlgt),this._interceptCurrZone=n&&(n.onIntercept?this.zone:t._interceptCurrZone),this._invokeZS=n&&(n.onInvoke?n:t._invokeZS),this._invokeDlgt=n&&(n.onInvoke?t:t._invokeDlgt),this._invokeCurrZone=n&&(n.onInvoke?this.zone:t._invokeCurrZone),this._handleErrorZS=n&&(n.onHandleError?n:t._handleErrorZS),this._handleErrorDlgt=n&&(n.onHandleError?t:t._handleErrorDlgt),this._handleErrorCurrZone=n&&(n.onHandleError?this.zone:t._handleErrorCurrZone),this._scheduleTaskZS=n&&(n.onScheduleTask?n:t._scheduleTaskZS),this._scheduleTaskDlgt=n&&(n.onScheduleTask?t:t._scheduleTaskDlgt),this._scheduleTaskCurrZone=n&&(n.onScheduleTask?this.zone:t._scheduleTaskCurrZone),this._invokeTaskZS=n&&(n.onInvokeTask?n:t._invokeTaskZS),this._invokeTaskDlgt=n&&(n.onInvokeTask?t:t._invokeTaskDlgt),this._invokeTaskCurrZone=n&&(n.onInvokeTask?this.zone:t._invokeTaskCurrZone),this._cancelTaskZS=n&&(n.onCancelTask?n:t._cancelTaskZS),this._cancelTaskDlgt=n&&(n.onCancelTask?t:t._cancelTaskDlgt),this._cancelTaskCurrZone=n&&(n.onCancelTask?this.zone:t._cancelTaskCurrZone),this._hasTaskZS=null,this._hasTaskDlgt=null,this._hasTaskDlgtOwner=null,this._hasTaskCurrZone=null;var r=n&&n.onHasTask;(r||t&&t._hasTaskZS)&&(this._hasTaskZS=r?n:u,this._hasTaskDlgt=t,this._hasTaskDlgtOwner=this,this._hasTaskCurrZone=e,n.onScheduleTask||(this._scheduleTaskZS=u,this._scheduleTaskDlgt=t,this._scheduleTaskCurrZone=this.zone),n.onInvokeTask||(this._invokeTaskZS=u,this._invokeTaskDlgt=t,this._invokeTaskCurrZone=this.zone),n.onCancelTask||(this._cancelTaskZS=u,this._cancelTaskDlgt=t,this._cancelTaskCurrZone=this.zone))}return e.prototype.fork=function(e,t){return this._forkZS?this._forkZS.onFork(this._forkDlgt,this.zone,e,t):new s(e,t)},e.prototype.intercept=function(e,t,n){return this._interceptZS?this._interceptZS.onIntercept(this._interceptDlgt,this._interceptCurrZone,e,t,n):t},e.prototype.invoke=function(e,t,n,r,o){return this._invokeZS?this._invokeZS.onInvoke(this._invokeDlgt,this._invokeCurrZone,e,t,n,r,o):t.apply(n,r)},e.prototype.handleError=function(e,t){return!this._handleErrorZS||this._handleErrorZS.onHandleError(this._handleErrorDlgt,this._handleErrorCurrZone,e,t)},e.prototype.scheduleTask=function(e,t){var n=t;if(this._scheduleTaskZS)this._hasTaskZS&&n._zoneDelegates.push(this._hasTaskDlgtOwner),(n=this._scheduleTaskZS.onScheduleTask(this._scheduleTaskDlgt,this._scheduleTaskCurrZone,e,t))||(n=t);else if(t.scheduleFn)t.scheduleFn(t);else{if(t.type!=D)throw new Error("Task is missing scheduleFn.");k(t)}return n},e.prototype.invokeTask=function(e,t,n,r){return this._invokeTaskZS?this._invokeTaskZS.onInvokeTask(this._invokeTaskDlgt,this._invokeTaskCurrZone,e,t,n,r):t.callback.apply(n,r)},e.prototype.cancelTask=function(e,t){var n;if(this._cancelTaskZS)n=this._cancelTaskZS.onCancelTask(this._cancelTaskDlgt,this._cancelTaskCurrZone,e,t);else{if(!t.cancelFn)throw Error("Task is not cancelable");n=t.cancelFn(t)}return n},e.prototype.hasTask=function(e,t){try{this._hasTaskZS&&this._hasTaskZS.onHasTask(this._hasTaskDlgt,this._hasTaskCurrZone,e,t)}catch(t){this.handleError(e,t)}},e.prototype._updateTaskCount=function(e,t){var n=this._taskCounts,r=n[e],o=n[e]=r+t;if(o<0)throw new Error("More tasks executed then were scheduled.");0!=r&&0!=o||this.hasTask(this.zone,{microTask:n.microTask>0,macroTask:n.macroTask>0,eventTask:n.eventTask>0,change:e})},e}(),f=function(){function t(n,r,o,i,a,s){if(this._zone=null,this.runCount=0,this._zoneDelegates=null,this._state="notScheduled",this.type=n,this.source=r,this.data=i,this.scheduleFn=a,this.cancelFn=s,!o)throw new Error("callback is not defined");this.callback=o;var c=this;this.invoke=n===P&&i&&i.useG?t.invokeTask:function(){return t.invokeTask.call(e,c,this,arguments)}}return t.invokeTask=function(e,t,n){e||(e=this),I++;try{return e.runCount++,e.zone.runTask(e,t,n)}finally{1==I&&y(),I--}},Object.defineProperty(t.prototype,"zone",{get:function(){return this._zone},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"state",{get:function(){return this._state},enumerable:!0,configurable:!0}),t.prototype.cancelScheduleRequest=function(){this._transitionTo(m,T)},t.prototype._transitionTo=function(e,t,n){if(this._state!==t&&this._state!==n)throw new Error(this.type+" '"+this.source+"': can not transition to '"+e+"', expecting state '"+t+"'"+(n?" or '"+n+"'":"")+", was '"+this._state+"'.");this._state=e,e==m&&(this._zoneDelegates=null)},t.prototype.toString=function(){return this.data&&void 0!==this.data.handleId?this.data.handleId.toString():Object.prototype.toString.call(this)},t.prototype.toJSON=function(){return{type:this.type,state:this.state,source:this.source,zone:this.zone.name,runCount:this.runCount}},t}(),h=i("setTimeout"),p=i("Promise"),d=i("then"),v=[],_=!1;function k(t){if(0===I&&0===v.length)if(c||e[p]&&(c=e[p].resolve(0)),c){var n=c[d];n||(n=c.then),n.call(c,y)}else e[h](y,0);t&&v.push(t)}function y(){if(!_){for(_=!0;v.length;){var e=v;v=[];for(var t=0;t<e.length;t++){var n=e[t];try{n.zone.runTask(n,null,null)}catch(e){C.onUnhandledError(e)}}}C.microtaskDrainDone(),_=!1}}var g={name:"NO ZONE"},m="notScheduled",T="scheduling",b="scheduled",w="running",Z="canceling",E="unknown",D="microTask",S="macroTask",P="eventTask",z={},C={symbol:i,currentZoneFrame:function(){return O},onUnhandledError:x,microtaskDrainDone:x,scheduleMicroTask:k,showUncaughtError:function(){return!s[i("ignoreConsoleErrorUncaughtError")]},patchEventTarget:function(){return[]},patchOnProperties:x,patchMethod:function(){return x},bindArguments:function(){return[]},patchThen:function(){return x},patchMacroTask:function(){return x},setNativePromise:function(e){e&&"function"==typeof e.resolve&&(c=e.resolve(0))},patchEventPrototype:function(){return x},isIEOrEdge:function(){return!1},getGlobalObjects:function(){},ObjectDefineProperty:function(){return x},ObjectGetOwnPropertyDescriptor:function(){},ObjectCreate:function(){},ArraySlice:function(){return[]},patchClass:function(){return x},wrapWithCurrentZone:function(){return x},filterProperties:function(){return[]},attachOriginToPatched:function(){return x},_redefineProperty:function(){return x},patchCallbacks:function(){return x}},O={parent:null,zone:new s(null,null)},j=null,I=0;function x(){}r("Zone","Zone"),e.Zone=s}("undefined"!=typeof window&&window||"undefined"!=typeof self&&self||global),
*/!function(e){var t=e.performance;function n(e){t&&t.mark&&t.mark(e)}function r(e,n){t&&t.measure&&t.measure(e,n)}n("Zone");var o=e.__Zone_symbol_prefix||"__zone_symbol__";function i(e){return o+e}var a=!0===e[i("forceDuplicateZoneCheck")];if(e.Zone){if(a||"function"!=typeof e.Zone.__symbol__)throw new Error("Zone already loaded.");return e.Zone}var s=function(){function t(e,t){this._parent=e,this._name=t?t.name||"unnamed":"<root>",this._properties=t&&t.properties||{},this._zoneDelegate=new l(this,this._parent&&this._parent._zoneDelegate,t)}return t.assertZonePatched=function(){if(e.Promise!==O.ZoneAwarePromise)throw new Error("Zone.js has detected that ZoneAwarePromise `(window|global).Promise` has been overwritten.\nMost likely cause is that a Promise polyfill has been loaded after Zone.js (Polyfilling Promise api is not necessary when zone.js is loaded. If you must load one, do so before loading zone.js.)")},Object.defineProperty(t,"root",{get:function(){for(var e=t.current;e.parent;)e=e.parent;return e},enumerable:!0,configurable:!0}),Object.defineProperty(t,"current",{get:function(){return z.zone},enumerable:!0,configurable:!0}),Object.defineProperty(t,"currentTask",{get:function(){return C},enumerable:!0,configurable:!0}),t.__load_patch=function(o,i){if(O.hasOwnProperty(o)){if(a)throw Error("Already loaded patch: "+o)}else if(!e["__Zone_disable_"+o]){var s="Zone:"+o;n(s),O[o]=i(e,t,j),r(s,s)}},Object.defineProperty(t.prototype,"parent",{get:function(){return this._parent},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"name",{get:function(){return this._name},enumerable:!0,configurable:!0}),t.prototype.get=function(e){var t=this.getZoneWith(e);if(t)return t._properties[e]},t.prototype.getZoneWith=function(e){for(var t=this;t;){if(t._properties.hasOwnProperty(e))return t;t=t._parent}return null},t.prototype.fork=function(e){if(!e)throw new Error("ZoneSpec required!");return this._zoneDelegate.fork(this,e)},t.prototype.wrap=function(e,t){if("function"!=typeof e)throw new Error("Expecting function got: "+e);var n=this._zoneDelegate.intercept(this,e,t),r=this;return function(){return r.runGuarded(n,this,arguments,t)}},t.prototype.run=function(e,t,n,r){z={parent:z,zone:this};try{return this._zoneDelegate.invoke(this,e,t,n,r)}finally{z=z.parent}},t.prototype.runGuarded=function(e,t,n,r){void 0===t&&(t=null),z={parent:z,zone:this};try{try{return this._zoneDelegate.invoke(this,e,t,n,r)}catch(e){if(this._zoneDelegate.handleError(this,e))throw e}}finally{z=z.parent}},t.prototype.runTask=function(e,t,n){if(e.zone!=this)throw new Error("A task can only be run in the zone of creation! (Creation: "+(e.zone||g).name+"; Execution: "+this.name+")");if(e.state!==m||e.type!==P&&e.type!==D){var r=e.state!=w;r&&e._transitionTo(w,b),e.runCount++;var o=C;C=e,z={parent:z,zone:this};try{e.type==D&&e.data&&!e.data.isPeriodic&&(e.cancelFn=void 0);try{return this._zoneDelegate.invokeTask(this,e,t,n)}catch(e){if(this._zoneDelegate.handleError(this,e))throw e}}finally{e.state!==m&&e.state!==Z&&(e.type==P||e.data&&e.data.isPeriodic?r&&e._transitionTo(b,w):(e.runCount=0,this._updateTaskCount(e,-1),r&&e._transitionTo(m,w,m))),z=z.parent,C=o}}},t.prototype.scheduleTask=function(e){if(e.zone&&e.zone!==this)for(var t=this;t;){if(t===e.zone)throw Error("can not reschedule task to "+this.name+" which is descendants of the original zone "+e.zone.name);t=t.parent}e._transitionTo(T,m);var n=[];e._zoneDelegates=n,e._zone=this;try{e=this._zoneDelegate.scheduleTask(this,e)}catch(t){throw e._transitionTo(Z,T,m),this._zoneDelegate.handleError(this,t),t}return e._zoneDelegates===n&&this._updateTaskCount(e,1),e.state==T&&e._transitionTo(b,T),e},t.prototype.scheduleMicroTask=function(e,t,n,r){return this.scheduleTask(new f(S,e,t,n,r,void 0))},t.prototype.scheduleMacroTask=function(e,t,n,r,o){return this.scheduleTask(new f(D,e,t,n,r,o))},t.prototype.scheduleEventTask=function(e,t,n,r,o){return this.scheduleTask(new f(P,e,t,n,r,o))},t.prototype.cancelTask=function(e){if(e.zone!=this)throw new Error("A task can only be cancelled in the zone of creation! (Creation: "+(e.zone||g).name+"; Execution: "+this.name+")");e._transitionTo(E,b,w);try{this._zoneDelegate.cancelTask(this,e)}catch(t){throw e._transitionTo(Z,E),this._zoneDelegate.handleError(this,t),t}return this._updateTaskCount(e,-1),e._transitionTo(m,E),e.runCount=0,e},t.prototype._updateTaskCount=function(e,t){var n=e._zoneDelegates;-1==t&&(e._zoneDelegates=null);for(var r=0;r<n.length;r++)n[r]._updateTaskCount(e.type,t)},t}();s.__symbol__=i;var c,u={name:"",onHasTask:function(e,t,n,r){return e.hasTask(n,r)},onScheduleTask:function(e,t,n,r){return e.scheduleTask(n,r)},onInvokeTask:function(e,t,n,r,o,i){return e.invokeTask(n,r,o,i)},onCancelTask:function(e,t,n,r){return e.cancelTask(n,r)}},l=function(){function e(e,t,n){this._taskCounts={microTask:0,macroTask:0,eventTask:0},this.zone=e,this._parentDelegate=t,this._forkZS=n&&(n&&n.onFork?n:t._forkZS),this._forkDlgt=n&&(n.onFork?t:t._forkDlgt),this._forkCurrZone=n&&(n.onFork?this.zone:t._forkCurrZone),this._interceptZS=n&&(n.onIntercept?n:t._interceptZS),this._interceptDlgt=n&&(n.onIntercept?t:t._interceptDlgt),this._interceptCurrZone=n&&(n.onIntercept?this.zone:t._interceptCurrZone),this._invokeZS=n&&(n.onInvoke?n:t._invokeZS),this._invokeDlgt=n&&(n.onInvoke?t:t._invokeDlgt),this._invokeCurrZone=n&&(n.onInvoke?this.zone:t._invokeCurrZone),this._handleErrorZS=n&&(n.onHandleError?n:t._handleErrorZS),this._handleErrorDlgt=n&&(n.onHandleError?t:t._handleErrorDlgt),this._handleErrorCurrZone=n&&(n.onHandleError?this.zone:t._handleErrorCurrZone),this._scheduleTaskZS=n&&(n.onScheduleTask?n:t._scheduleTaskZS),this._scheduleTaskDlgt=n&&(n.onScheduleTask?t:t._scheduleTaskDlgt),this._scheduleTaskCurrZone=n&&(n.onScheduleTask?this.zone:t._scheduleTaskCurrZone),this._invokeTaskZS=n&&(n.onInvokeTask?n:t._invokeTaskZS),this._invokeTaskDlgt=n&&(n.onInvokeTask?t:t._invokeTaskDlgt),this._invokeTaskCurrZone=n&&(n.onInvokeTask?this.zone:t._invokeTaskCurrZone),this._cancelTaskZS=n&&(n.onCancelTask?n:t._cancelTaskZS),this._cancelTaskDlgt=n&&(n.onCancelTask?t:t._cancelTaskDlgt),this._cancelTaskCurrZone=n&&(n.onCancelTask?this.zone:t._cancelTaskCurrZone),this._hasTaskZS=null,this._hasTaskDlgt=null,this._hasTaskDlgtOwner=null,this._hasTaskCurrZone=null;var r=n&&n.onHasTask;(r||t&&t._hasTaskZS)&&(this._hasTaskZS=r?n:u,this._hasTaskDlgt=t,this._hasTaskDlgtOwner=this,this._hasTaskCurrZone=e,n.onScheduleTask||(this._scheduleTaskZS=u,this._scheduleTaskDlgt=t,this._scheduleTaskCurrZone=this.zone),n.onInvokeTask||(this._invokeTaskZS=u,this._invokeTaskDlgt=t,this._invokeTaskCurrZone=this.zone),n.onCancelTask||(this._cancelTaskZS=u,this._cancelTaskDlgt=t,this._cancelTaskCurrZone=this.zone))}return e.prototype.fork=function(e,t){return this._forkZS?this._forkZS.onFork(this._forkDlgt,this.zone,e,t):new s(e,t)},e.prototype.intercept=function(e,t,n){return this._interceptZS?this._interceptZS.onIntercept(this._interceptDlgt,this._interceptCurrZone,e,t,n):t},e.prototype.invoke=function(e,t,n,r,o){return this._invokeZS?this._invokeZS.onInvoke(this._invokeDlgt,this._invokeCurrZone,e,t,n,r,o):t.apply(n,r)},e.prototype.handleError=function(e,t){return!this._handleErrorZS||this._handleErrorZS.onHandleError(this._handleErrorDlgt,this._handleErrorCurrZone,e,t)},e.prototype.scheduleTask=function(e,t){var n=t;if(this._scheduleTaskZS)this._hasTaskZS&&n._zoneDelegates.push(this._hasTaskDlgtOwner),(n=this._scheduleTaskZS.onScheduleTask(this._scheduleTaskDlgt,this._scheduleTaskCurrZone,e,t))||(n=t);else if(t.scheduleFn)t.scheduleFn(t);else{if(t.type!=S)throw new Error("Task is missing scheduleFn.");_(t)}return n},e.prototype.invokeTask=function(e,t,n,r){return this._invokeTaskZS?this._invokeTaskZS.onInvokeTask(this._invokeTaskDlgt,this._invokeTaskCurrZone,e,t,n,r):t.callback.apply(n,r)},e.prototype.cancelTask=function(e,t){var n;if(this._cancelTaskZS)n=this._cancelTaskZS.onCancelTask(this._cancelTaskDlgt,this._cancelTaskCurrZone,e,t);else{if(!t.cancelFn)throw Error("Task is not cancelable");n=t.cancelFn(t)}return n},e.prototype.hasTask=function(e,t){try{this._hasTaskZS&&this._hasTaskZS.onHasTask(this._hasTaskDlgt,this._hasTaskCurrZone,e,t)}catch(t){this.handleError(e,t)}},e.prototype._updateTaskCount=function(e,t){var n=this._taskCounts,r=n[e],o=n[e]=r+t;if(o<0)throw new Error("More tasks executed then were scheduled.");0!=r&&0!=o||this.hasTask(this.zone,{microTask:n.microTask>0,macroTask:n.macroTask>0,eventTask:n.eventTask>0,change:e})},e}(),f=function(){function t(n,r,o,i,a,s){if(this._zone=null,this.runCount=0,this._zoneDelegates=null,this._state="notScheduled",this.type=n,this.source=r,this.data=i,this.scheduleFn=a,this.cancelFn=s,!o)throw new Error("callback is not defined");this.callback=o;var c=this;this.invoke=n===P&&i&&i.useG?t.invokeTask:function(){return t.invokeTask.call(e,c,this,arguments)}}return t.invokeTask=function(e,t,n){e||(e=this),I++;try{return e.runCount++,e.zone.runTask(e,t,n)}finally{1==I&&y(),I--}},Object.defineProperty(t.prototype,"zone",{get:function(){return this._zone},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"state",{get:function(){return this._state},enumerable:!0,configurable:!0}),t.prototype.cancelScheduleRequest=function(){this._transitionTo(m,T)},t.prototype._transitionTo=function(e,t,n){if(this._state!==t&&this._state!==n)throw new Error(this.type+" '"+this.source+"': can not transition to '"+e+"', expecting state '"+t+"'"+(n?" or '"+n+"'":"")+", was '"+this._state+"'.");this._state=e,e==m&&(this._zoneDelegates=null)},t.prototype.toString=function(){return this.data&&void 0!==this.data.handleId?this.data.handleId.toString():Object.prototype.toString.call(this)},t.prototype.toJSON=function(){return{type:this.type,state:this.state,source:this.source,zone:this.zone.name,runCount:this.runCount}},t}(),h=i("setTimeout"),p=i("Promise"),d=i("then"),v=[],k=!1;function _(t){if(0===I&&0===v.length)if(c||e[p]&&(c=e[p].resolve(0)),c){var n=c[d];n||(n=c.then),n.call(c,y)}else e[h](y,0);t&&v.push(t)}function y(){if(!k){for(k=!0;v.length;){var e=v;v=[];for(var t=0;t<e.length;t++){var n=e[t];try{n.zone.runTask(n,null,null)}catch(e){j.onUnhandledError(e)}}}j.microtaskDrainDone(),k=!1}}var g={name:"NO ZONE"},m="notScheduled",T="scheduling",b="scheduled",w="running",E="canceling",Z="unknown",S="microTask",D="macroTask",P="eventTask",O={},j={symbol:i,currentZoneFrame:function(){return z},onUnhandledError:N,microtaskDrainDone:N,scheduleMicroTask:_,showUncaughtError:function(){return!s[i("ignoreConsoleErrorUncaughtError")]},patchEventTarget:function(){return[]},patchOnProperties:N,patchMethod:function(){return N},bindArguments:function(){return[]},patchThen:function(){return N},patchMacroTask:function(){return N},setNativePromise:function(e){e&&"function"==typeof e.resolve&&(c=e.resolve(0))},patchEventPrototype:function(){return N},isIEOrEdge:function(){return!1},getGlobalObjects:function(){},ObjectDefineProperty:function(){return N},ObjectGetOwnPropertyDescriptor:function(){},ObjectCreate:function(){},ArraySlice:function(){return[]},patchClass:function(){return N},wrapWithCurrentZone:function(){return N},filterProperties:function(){return[]},attachOriginToPatched:function(){return N},_redefineProperty:function(){return N},patchCallbacks:function(){return N}},z={parent:null,zone:new s(null,null)},C=null,I=0;function N(){}r("Zone","Zone"),e.Zone=s}("undefined"!=typeof window&&window||"undefined"!=typeof self&&self||global),
/**

@@ -28,3 +22,3 @@ * @license

*/
Zone.__load_patch("ZoneAwarePromise",function(e,t,n){var r=Object.getOwnPropertyDescriptor,o=Object.defineProperty,i=n.symbol,a=[],s=i("Promise"),c=i("then"),u="__creationTrace__";n.onUnhandledError=function(e){if(n.showUncaughtError()){var t=e&&e.rejection;t?console.error("Unhandled Promise rejection:",t instanceof Error?t.message:t,"; Zone:",e.zone.name,"; Task:",e.task&&e.task.source,"; Value:",t,t instanceof Error?t.stack:void 0):console.error(e)}},n.microtaskDrainDone=function(){for(;a.length;)for(var e=function(){var e=a.shift();try{e.zone.runGuarded(function(){throw e})}catch(e){f(e)}};a.length;)e()};var l=i("unhandledPromiseRejectionHandler");function f(e){n.onUnhandledError(e);try{var r=t[l];r&&"function"==typeof r&&r.call(this,e)}catch(e){}}function h(e){return e&&e.then}function p(e){return e}function d(e){return I.reject(e)}var v=i("state"),_=i("value"),k=i("finally"),y=i("parentPromiseValue"),g=i("parentPromiseState"),m="Promise.then",T=null,b=!0,w=!1,Z=0;function E(e,t){return function(n){try{z(e,t,n)}catch(t){z(e,!1,t)}}}var D=function(){var e=!1;return function t(n){return function(){e||(e=!0,n.apply(null,arguments))}}},S="Promise resolved with itself",P=i("currentTaskTrace");function z(e,r,i){var s=D();if(e===i)throw new TypeError(S);if(e[v]===T){var c=null;try{"object"!=typeof i&&"function"!=typeof i||(c=i&&i.then)}catch(t){return s(function(){z(e,!1,t)})(),e}if(r!==w&&i instanceof I&&i.hasOwnProperty(v)&&i.hasOwnProperty(_)&&i[v]!==T)O(i),z(e,i[v],i[_]);else if(r!==w&&"function"==typeof c)try{c.call(i,s(E(e,r)),s(E(e,!1)))}catch(t){s(function(){z(e,!1,t)})()}else{e[v]=r;var l=e[_];if(e[_]=i,e[k]===k&&r===b&&(e[v]=e[g],e[_]=e[y]),r===w&&i instanceof Error){var f=t.currentTask&&t.currentTask.data&&t.currentTask.data[u];f&&o(i,P,{configurable:!0,enumerable:!1,writable:!0,value:f})}for(var h=0;h<l.length;)j(e,l[h++],l[h++],l[h++],l[h++]);if(0==l.length&&r==w){e[v]=Z;try{throw new Error("Uncaught (in promise): "+function p(e){return e&&e.toString===Object.prototype.toString?(e.constructor&&e.constructor.name||"")+": "+JSON.stringify(e):e?e.toString():Object.prototype.toString.call(e)}(i)+(i&&i.stack?"\n"+i.stack:""))}catch(r){var d=r;d.rejection=i,d.promise=e,d.zone=t.current,d.task=t.currentTask,a.push(d),n.scheduleMicroTask()}}}}return e}var C=i("rejectionHandledHandler");function O(e){if(e[v]===Z){try{var n=t[C];n&&"function"==typeof n&&n.call(this,{rejection:e[_],promise:e})}catch(e){}e[v]=w;for(var r=0;r<a.length;r++)e===a[r].promise&&a.splice(r,1)}}function j(e,t,n,r,o){O(e);var i=e[v],a=i?"function"==typeof r?r:p:"function"==typeof o?o:d;t.scheduleMicroTask(m,function(){try{var r=e[_],o=!!n&&k===n[k];o&&(n[y]=r,n[g]=i);var s=t.run(a,void 0,o&&a!==d&&a!==p?[]:[r]);z(n,!0,s)}catch(e){z(n,!1,e)}},n)}var I=function(){function e(t){if(!(this instanceof e))throw new Error("Must be an instanceof Promise.");this[v]=T,this[_]=[];try{t&&t(E(this,b),E(this,w))}catch(e){z(this,!1,e)}}return e.toString=function(){return"function ZoneAwarePromise() { [native code] }"},e.resolve=function(e){return z(new this(null),b,e)},e.reject=function(e){return z(new this(null),w,e)},e.race=function(e){var t,n,r,o,i=new this(function(e,t){r=e,o=t});function a(e){r(e)}function s(e){o(e)}try{for(var c=__values(e),u=c.next();!u.done;u=c.next()){var l=u.value;h(l)||(l=this.resolve(l)),l.then(a,s)}}catch(e){t={error:e}}finally{try{u&&!u.done&&(n=c.return)&&n.call(c)}finally{if(t)throw t.error}}return i},e.all=function(t){return e.allWithCallback(t)},e.allSettled=function(t){return(this&&this.prototype instanceof e?this:e).allWithCallback(t,{thenCallback:function(e){return{status:"fulfilled",value:e}},errorCallback:function(e){return{status:"rejected",reason:e}}})},e.allWithCallback=function(e,t){var n,r,o,i,a=new this(function(e,t){o=e,i=t}),s=2,c=0,u=[],l=function(e){h(e)||(e=f.resolve(e));var n=c;try{e.then(function(e){u[n]=t?t.thenCallback(e):e,0==--s&&o(u)},function(e){t?(u[n]=t.errorCallback(e),0==--s&&o(u)):i(e)})}catch(e){i(e)}s++,c++},f=this;try{for(var p=__values(e),d=p.next();!d.done;d=p.next())l(d.value)}catch(e){n={error:e}}finally{try{d&&!d.done&&(r=p.return)&&r.call(p)}finally{if(n)throw n.error}}return 0==(s-=2)&&o(u),a},Object.defineProperty(e.prototype,Symbol.toStringTag,{get:function(){return"Promise"},enumerable:!0,configurable:!0}),e.prototype.then=function(e,n){var r=new this.constructor(null),o=t.current;return this[v]==T?this[_].push(o,r,e,n):j(this,o,r,e,n),r},e.prototype.catch=function(e){return this.then(null,e)},e.prototype.finally=function(e){var n=new this.constructor(null);n[k]=k;var r=t.current;return this[v]==T?this[_].push(r,n,e,e):j(this,r,n,e,e),n},e}();I.resolve=I.resolve,I.reject=I.reject,I.race=I.race,I.all=I.all;var x=e[s]=e.Promise,N=t.__symbol__("ZoneAwarePromise"),L=r(e,"Promise");L&&!L.configurable||(L&&delete L.writable,L&&delete L.value,L||(L={configurable:!0,enumerable:!0}),L.get=function(){return e[N]?e[N]:e[s]},L.set=function(t){t===I?e[N]=t:(e[s]=t,t.prototype[c]||A(t),n.setNativePromise(t))},o(e,"Promise",L)),e.Promise=I;var R=i("thenPatched");function A(e){var t=e.prototype,n=r(t,"then");if(!n||!1!==n.writable&&n.configurable){var o=t.then;t[c]=o,e.prototype.then=function(e,t){var n=this;return new I(function(e,t){o.call(n,e,t)}).then(e,t)},e[R]=!0}}if(n.patchThen=A,x){A(x);var F=e.fetch;"function"==typeof F&&(e[n.symbol("fetch")]=F,e.fetch=function H(e){return function(){var t=e.apply(this,arguments);if(t instanceof I)return t;var n=t.constructor;return n[R]||A(n),t}}(F))}return Promise[t.__symbol__("uncaughtPromiseErrors")]=a,I});
Zone.__load_patch("ZoneAwarePromise",(function(e,t,n){var r=Object.getOwnPropertyDescriptor,o=Object.defineProperty,i=n.symbol,a=[],s=!0===e[i("DISABLE_WRAPPING_UNCAUGHT_PROMISE_REJECTION")],c=i("Promise"),u=i("then"),l="__creationTrace__";n.onUnhandledError=function(e){if(n.showUncaughtError()){var t=e&&e.rejection;t?console.error("Unhandled Promise rejection:",t instanceof Error?t.message:t,"; Zone:",e.zone.name,"; Task:",e.task&&e.task.source,"; Value:",t,t instanceof Error?t.stack:void 0):console.error(e)}},n.microtaskDrainDone=function(){for(var e=function(){var e=a.shift();try{e.zone.runGuarded((function(){throw e}))}catch(e){!function r(e){n.onUnhandledError(e);try{var r=t[f];"function"==typeof r&&r.call(this,e)}catch(e){}}(e)}};a.length;)e()};var f=i("unhandledPromiseRejectionHandler");function h(e){return e&&e.then}function p(e){return e}function d(e){return N.reject(e)}var v=i("state"),k=i("value"),_=i("finally"),y=i("parentPromiseValue"),g=i("parentPromiseState"),m="Promise.then",T=null,b=!0,w=!1,E=0;function Z(e,t){return function(n){try{O(e,t,n)}catch(t){O(e,!1,t)}}}var S=function(){var e=!1;return function t(n){return function(){e||(e=!0,n.apply(null,arguments))}}},D="Promise resolved with itself",P=i("currentTaskTrace");function O(e,r,i){var c=S();if(e===i)throw new TypeError(D);if(e[v]===T){var u=null;try{"object"!=typeof i&&"function"!=typeof i||(u=i&&i.then)}catch(t){return c((function(){O(e,!1,t)}))(),e}if(r!==w&&i instanceof N&&i.hasOwnProperty(v)&&i.hasOwnProperty(k)&&i[v]!==T)z(i),O(e,i[v],i[k]);else if(r!==w&&"function"==typeof u)try{u.call(i,c(Z(e,r)),c(Z(e,!1)))}catch(t){c((function(){O(e,!1,t)}))()}else{e[v]=r;var f=e[k];if(e[k]=i,e[_]===_&&r===b&&(e[v]=e[g],e[k]=e[y]),r===w&&i instanceof Error){var h=t.currentTask&&t.currentTask.data&&t.currentTask.data[l];h&&o(i,P,{configurable:!0,enumerable:!1,writable:!0,value:h})}for(var p=0;p<f.length;)C(e,f[p++],f[p++],f[p++],f[p++]);if(0==f.length&&r==w){e[v]=E;var d=i;if(!s)try{throw new Error("Uncaught (in promise): "+function m(e){return e&&e.toString===Object.prototype.toString?(e.constructor&&e.constructor.name||"")+": "+JSON.stringify(e):e?e.toString():Object.prototype.toString.call(e)}(i)+(i&&i.stack?"\n"+i.stack:""))}catch(e){d=e}d.rejection=i,d.promise=e,d.zone=t.current,d.task=t.currentTask,a.push(d),n.scheduleMicroTask()}}}return e}var j=i("rejectionHandledHandler");function z(e){if(e[v]===E){try{var n=t[j];n&&"function"==typeof n&&n.call(this,{rejection:e[k],promise:e})}catch(e){}e[v]=w;for(var r=0;r<a.length;r++)e===a[r].promise&&a.splice(r,1)}}function C(e,t,n,r,o){z(e);var i=e[v],a=i?"function"==typeof r?r:p:"function"==typeof o?o:d;t.scheduleMicroTask(m,(function(){try{var r=e[k],o=!!n&&_===n[_];o&&(n[y]=r,n[g]=i);var s=t.run(a,void 0,o&&a!==d&&a!==p?[]:[r]);O(n,!0,s)}catch(e){O(n,!1,e)}}),n)}var I=function(){},N=function(){function e(t){if(!(this instanceof e))throw new Error("Must be an instanceof Promise.");this[v]=T,this[k]=[];try{t&&t(Z(this,b),Z(this,w))}catch(e){O(this,!1,e)}}return e.toString=function(){return"function ZoneAwarePromise() { [native code] }"},e.resolve=function(e){return O(new this(null),b,e)},e.reject=function(e){return O(new this(null),w,e)},e.race=function(e){var t,n,r=new this((function(e,r){t=e,n=r}));function o(e){t(e)}function i(e){n(e)}for(var a=0,s=e;a<s.length;a++){var c=s[a];h(c)||(c=this.resolve(c)),c.then(o,i)}return r},e.all=function(t){return e.allWithCallback(t)},e.allSettled=function(t){return(this&&this.prototype instanceof e?this:e).allWithCallback(t,{thenCallback:function(e){return{status:"fulfilled",value:e}},errorCallback:function(e){return{status:"rejected",reason:e}}})},e.allWithCallback=function(e,t){for(var n,r,o=new this((function(e,t){n=e,r=t})),i=2,a=0,s=[],c=function(e){h(e)||(e=u.resolve(e));var o=a;try{e.then((function(e){s[o]=t?t.thenCallback(e):e,0==--i&&n(s)}),(function(e){t?(s[o]=t.errorCallback(e),0==--i&&n(s)):r(e)}))}catch(e){r(e)}i++,a++},u=this,l=0,f=e;l<f.length;l++)c(f[l]);return 0==(i-=2)&&n(s),o},Object.defineProperty(e.prototype,Symbol.toStringTag,{get:function(){return"Promise"},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,Symbol.species,{get:function(){return e},enumerable:!0,configurable:!0}),e.prototype.then=function(n,r){var o=this.constructor[Symbol.species];o&&"function"==typeof o||(o=this.constructor||e);var i=new o(I),a=t.current;return this[v]==T?this[k].push(a,i,n,r):C(this,a,i,n,r),i},e.prototype.catch=function(e){return this.then(null,e)},e.prototype.finally=function(n){var r=this.constructor[Symbol.species];r&&"function"==typeof r||(r=e);var o=new r(I);o[_]=_;var i=t.current;return this[v]==T?this[k].push(i,o,n,n):C(this,i,o,n,n),o},e}();N.resolve=N.resolve,N.reject=N.reject,N.race=N.race,N.all=N.all;var x=e[c]=e.Promise,A=t.__symbol__("ZoneAwarePromise"),L=r(e,"Promise");L&&!L.configurable||(L&&delete L.writable,L&&delete L.value,L||(L={configurable:!0,enumerable:!0}),L.get=function(){return e[A]?e[A]:e[c]},L.set=function(t){t===N?e[A]=t:(e[c]=t,t.prototype[u]||F(t),n.setNativePromise(t))},o(e,"Promise",L)),e.Promise=N;var R=i("thenPatched");function F(e){var t=e.prototype,n=r(t,"then");if(!n||!1!==n.writable&&n.configurable){var o=t.then;t[u]=o,e.prototype.then=function(e,t){var n=this;return new N((function(e,t){o.call(n,e,t)})).then(e,t)},e[R]=!0}}if(n.patchThen=F,x){F(x);var H=e.fetch;"function"==typeof H&&(e[n.symbol("fetch")]=H,e.fetch=function M(e){return function(){var t=e.apply(this,arguments);if(t instanceof N)return t;var n=t.constructor;return n[R]||F(n),t}}(H))}return Promise[t.__symbol__("uncaughtPromiseErrors")]=a,N}));
/**

@@ -37,3 +31,3 @@ * @license

*/
var e=Object.getOwnPropertyDescriptor,t=Object.defineProperty,n=Object.getPrototypeOf,r=Array.prototype.slice,o=(Zone.__symbol__("addEventListener"),Zone.__symbol__("removeEventListener"),"true"),i="false",a=Zone.__symbol__("");function s(e,t){return Zone.current.wrap(e,t)}function c(e,t,n,r,o){return Zone.current.scheduleMacroTask(e,t,n,r,o)}var u=Zone.__symbol__,l="undefined"!=typeof window,f=l?window:void 0,h=l&&f||"object"==typeof self&&self||global,p="removeAttribute",d=[null];function v(e,t){for(var n=e.length-1;n>=0;n--)"function"==typeof e[n]&&(e[n]=s(e[n],t+"_"+n));return e}var _="undefined"!=typeof WorkerGlobalScope&&self instanceof WorkerGlobalScope,k=!("nw"in h)&&void 0!==h.process&&"[object process]"==={}.toString.call(h.process),y=!k&&!_&&!(!l||!f.HTMLElement),g=void 0!==h.process&&"[object process]"==={}.toString.call(h.process)&&!_&&!(!l||!f.HTMLElement),m={},T=function(e){if(e=e||h.event){var t=m[e.type];t||(t=m[e.type]=u("ON_PROPERTY"+e.type));var n,r=this||e.target||h,o=r[t];return y&&r===f&&"error"===e.type?!0===(n=o&&o.call(this,e.message,e.filename,e.lineno,e.colno,e.error))&&e.preventDefault():null==(n=o&&o.apply(this,arguments))||n||e.preventDefault(),n}};function b(n,r,o){var i=e(n,r);if(!i&&o&&e(o,r)&&(i={enumerable:!0,configurable:!0}),i&&i.configurable){var a=u("on"+r+"patched");if(!n.hasOwnProperty(a)||!n[a]){delete i.writable,delete i.value;var s=i.get,c=i.set,l=r.substr(2),f=m[l];f||(f=m[l]=u("ON_PROPERTY"+l)),i.set=function(e){var t=this;t||n!==h||(t=h),t&&(t[f]&&t.removeEventListener(l,T),c&&c.apply(t,d),"function"==typeof e?(t[f]=e,t.addEventListener(l,T,!1)):t[f]=null)},i.get=function(){var e=this;if(e||n!==h||(e=h),!e)return null;var t=e[f];if(t)return t;if(s){var o=s&&s.call(this);if(o)return i.set.call(this,o),"function"==typeof e[p]&&e.removeAttribute(r),o}return null},t(n,r,i),n[a]=!0}}}function w(e,t,n){if(t)for(var r=0;r<t.length;r++)b(e,"on"+t[r],n);else{var o=[];for(var i in e)"on"==i.substr(0,2)&&o.push(i);for(var a=0;a<o.length;a++)b(e,o[a],n)}}u("originalInstance");var Z=!1;function E(t,r,o){for(var i=t;i&&!i.hasOwnProperty(r);)i=n(i);!i&&t[r]&&(i=t);var a=u(r),s=null;if(i&&!(s=i[a])&&(s=i[a]=i[r],function c(e){return!e||!1!==e.writable&&!("function"==typeof e.get&&void 0===e.set)}(i&&e(i,r)))){var l=o(s,a,r);i[r]=function(){return l(this,arguments)},S(i[r],s),Z&&function f(e,t){"function"==typeof Object.getOwnPropertySymbols&&Object.getOwnPropertySymbols(e).forEach(function(n){var r=Object.getOwnPropertyDescriptor(e,n);Object.defineProperty(t,n,{get:function(){return e[n]},set:function(t){(!r||r.writable&&"function"==typeof r.set)&&(e[n]=t)},enumerable:!r||r.enumerable,configurable:!r||r.configurable})})}(s,i[r])}return s}function D(e,t,n){var r=null;function o(e){var t=e.data;return t.args[t.cbIdx]=function(){e.invoke.apply(this,arguments)},r.apply(t.target,t.args),e}r=E(e,t,function(e){return function(t,r){var i=n(t,r);return i.cbIdx>=0&&"function"==typeof r[i.cbIdx]?c(i.name,r[i.cbIdx],i,o):e.apply(t,r)}})}function S(e,t){e[u("OriginalDelegate")]=t}
var e=Object.getOwnPropertyDescriptor,t=Object.defineProperty,n=Object.getPrototypeOf,r=Array.prototype.slice,o=(Zone.__symbol__("addEventListener"),Zone.__symbol__("removeEventListener"),"true"),i="false",a=Zone.__symbol__("");function s(e,t){return Zone.current.wrap(e,t)}function c(e,t,n,r,o){return Zone.current.scheduleMacroTask(e,t,n,r,o)}var u=Zone.__symbol__,l="undefined"!=typeof window,f=l?window:void 0,h=l&&f||"object"==typeof self&&self||global,p="removeAttribute",d=[null];function v(e,t){for(var n=e.length-1;n>=0;n--)"function"==typeof e[n]&&(e[n]=s(e[n],t+"_"+n));return e}var k="undefined"!=typeof WorkerGlobalScope&&self instanceof WorkerGlobalScope,_=!("nw"in h)&&void 0!==h.process&&"[object process]"==={}.toString.call(h.process),y=!_&&!k&&!(!l||!f.HTMLElement),g=void 0!==h.process&&"[object process]"==={}.toString.call(h.process)&&!k&&!(!l||!f.HTMLElement),m={},T=function(e){if(e=e||h.event){var t=m[e.type];t||(t=m[e.type]=u("ON_PROPERTY"+e.type));var n,r=this||e.target||h,o=r[t];if(y&&r===f&&"error"===e.type){var i=e;!0===(n=o&&o.call(this,i.message,i.filename,i.lineno,i.colno,i.error))&&e.preventDefault()}else null==(n=o&&o.apply(this,arguments))||n||e.preventDefault();return n}};function b(n,r,o){var i=e(n,r);if(!i&&o&&e(o,r)&&(i={enumerable:!0,configurable:!0}),i&&i.configurable){var a=u("on"+r+"patched");if(!n.hasOwnProperty(a)||!n[a]){delete i.writable,delete i.value;var s=i.get,c=i.set,l=r.substr(2),f=m[l];f||(f=m[l]=u("ON_PROPERTY"+l)),i.set=function(e){var t=this;t||n!==h||(t=h),t&&(t[f]&&t.removeEventListener(l,T),c&&c.apply(t,d),"function"==typeof e?(t[f]=e,t.addEventListener(l,T,!1)):t[f]=null)},i.get=function(){var e=this;if(e||n!==h||(e=h),!e)return null;var t=e[f];if(t)return t;if(s){var o=s&&s.call(this);if(o)return i.set.call(this,o),"function"==typeof e[p]&&e.removeAttribute(r),o}return null},t(n,r,i),n[a]=!0}}}function w(e,t,n){if(t)for(var r=0;r<t.length;r++)b(e,"on"+t[r],n);else{var o=[];for(var i in e)"on"==i.substr(0,2)&&o.push(i);for(var a=0;a<o.length;a++)b(e,o[a],n)}}u("originalInstance");var E=!1;function Z(t,r,o){for(var i=t;i&&!i.hasOwnProperty(r);)i=n(i);!i&&t[r]&&(i=t);var a=u(r),s=null;if(i&&!(s=i[a])&&(s=i[a]=i[r],function c(e){return!e||!1!==e.writable&&!("function"==typeof e.get&&void 0===e.set)}(i&&e(i,r)))){var l=o(s,a,r);i[r]=function(){return l(this,arguments)},D(i[r],s),E&&function f(e,t){"function"==typeof Object.getOwnPropertySymbols&&Object.getOwnPropertySymbols(e).forEach((function(n){var r=Object.getOwnPropertyDescriptor(e,n);Object.defineProperty(t,n,{get:function(){return e[n]},set:function(t){(!r||r.writable&&"function"==typeof r.set)&&(e[n]=t)},enumerable:!r||r.enumerable,configurable:!r||r.configurable})}))}(s,i[r])}return s}function S(e,t,n){var r=null;function o(e){var t=e.data;return t.args[t.cbIdx]=function(){e.invoke.apply(this,arguments)},r.apply(t.target,t.args),e}r=Z(e,t,(function(e){return function(t,r){var i=n(t,r);return i.cbIdx>=0&&"function"==typeof r[i.cbIdx]?c(i.name,r[i.cbIdx],i,o):e.apply(t,r)}}))}function D(e,t){e[u("OriginalDelegate")]=t}
/**

@@ -45,3 +39,3 @@ * @license

* found in the LICENSE file at https://angular.io/license
*/Zone.__load_patch("toString",function(e){var t=Function.prototype.toString,n=u("OriginalDelegate"),r=u("Promise"),o=u("Error"),i=function i(){if("function"==typeof this){var a=this[n];if(a)return"function"==typeof a?t.call(a):Object.prototype.toString.call(a);if(this===Promise){var s=e[r];if(s)return t.call(s)}if(this===Error){var c=e[o];if(c)return t.call(c)}}return t.call(this)};i[n]=t,Function.prototype.toString=i;var a=Object.prototype.toString;Object.prototype.toString=function(){return this instanceof Promise?"[object Promise]":a.call(this)}}),
*/Zone.__load_patch("toString",(function(e){var t=Function.prototype.toString,n=u("OriginalDelegate"),r=u("Promise"),o=u("Error"),i=function i(){if("function"==typeof this){var a=this[n];if(a)return"function"==typeof a?t.call(a):Object.prototype.toString.call(a);if(this===Promise){var s=e[r];if(s)return t.call(s)}if(this===Error){var c=e[o];if(c)return t.call(c)}}return t.call(this)};i[n]=t,Function.prototype.toString=i;var a=Object.prototype.toString;Object.prototype.toString=function(){return this instanceof Promise?"[object Promise]":a.call(this)}})),
/**

@@ -54,3 +48,3 @@ * @license

*/
Zone.__load_patch("node_util",function(e,t,n){n.patchOnProperties=w,n.patchMethod=E,n.bindArguments=v,n.patchMacroTask=D,function r(e){Z=e}(!0)});
Zone.__load_patch("node_util",(function(e,t,n){n.patchOnProperties=w,n.patchMethod=Z,n.bindArguments=v,n.patchMacroTask=S,function r(e){E=e}(!0)}));
/**

@@ -63,3 +57,3 @@ * @license

*/
var P=!1;if("undefined"!=typeof window)try{var z=Object.defineProperty({},"passive",{get:function(){P=!0}});window.addEventListener("test",z,z),window.removeEventListener("test",z,z)}catch(e){P=!1}var C={useG:!0},O={},j={},I=new RegExp("^"+a+"(\\w+)(true|false)$"),x=u("propagationStopped");function N(e,t){var n=[];for(var r in e){var o=I.exec(r),i=o&&o[1];if(i&&(!t||i===t)){var a=e[r];if(a)for(var s=0;s<a.length;s++)n.push(a[s])}}return n}
var P=!1;if("undefined"!=typeof window)try{var O=Object.defineProperty({},"passive",{get:function(){P=!0}});window.addEventListener("test",O,O),window.removeEventListener("test",O,O)}catch(e){P=!1}var j={useG:!0},z={},C={},I=new RegExp("^"+a+"(\\w+)(true|false)$"),N=u("propagationStopped");function x(e,t){var n=(t?t(e):e)+i,r=(t?t(e):e)+o,s=a+n,c=a+r;z[e]={},z[e][i]=s,z[e][o]=c}function A(e,t){if(!t){var n=[];for(var r in e){var a=I.exec(r),s=a&&a[1];if(s&&(!t||s===t)){var c=e[r];if(c)for(var u=0;u<c.length;u++)n.push(c[u])}}return n}var l=z[t];l||(x(t),l=z[t]);var f=e[l[i]],h=e[l[o]];return f?h?f.concat(h):f.slice():h?h.slice():[]}
/**

@@ -71,3 +65,3 @@ * @license

* found in the LICENSE file at https://angular.io/license
*/Zone.__load_patch("EventEmitter",function(e){var t,r=function(e,t){return e.callback===t||e.callback.listener===t},s=function(e){return"string"==typeof e?e:e?e.toString().replace("(","_").replace(")","_"):""};try{t=require("events")}catch(e){}t&&t.EventEmitter&&function c(t){var c=function l(e,t,r){var s=r&&r.add||"addEventListener",c=r&&r.rm||"removeEventListener",l=r&&r.listeners||"eventListeners",f=r&&r.rmAll||"removeAllListeners",h=u(s),p="."+s+":",d="prependListener",v="."+d+":",_=function(e,t,n){if(!e.isRemoved){var r=e.callback;"object"==typeof r&&r.handleEvent&&(e.callback=function(e){return r.handleEvent(e)},e.originalDelegate=r),e.invoke(e,t,[n]);var o=e.options;o&&"object"==typeof o&&o.once&&t[c].call(t,n.type,e.originalDelegate?e.originalDelegate:e.callback,o)}},y=function(t){if(t=t||e.event){var n=this||t.target||e,r=n[O[t.type][i]];if(r)if(1===r.length)_(r[0],n,t);else for(var o=r.slice(),a=0;a<o.length&&(!t||!0!==t[x]);a++)_(o[a],n,t)}},g=function(t){if(t=t||e.event){var n=this||t.target||e,r=n[O[t.type][o]];if(r)if(1===r.length)_(r[0],n,t);else for(var i=r.slice(),a=0;a<i.length&&(!t||!0!==t[x]);a++)_(i[a],n,t)}};function m(t,r){if(!t)return!1;var _=!0;r&&void 0!==r.useG&&(_=r.useG);var m=r&&r.vh,T=!0;r&&void 0!==r.chkDup&&(T=r.chkDup);var b=!1;r&&void 0!==r.rt&&(b=r.rt);for(var w=t;w&&!w.hasOwnProperty(s);)w=n(w);if(!w&&t[s]&&(w=t),!w)return!1;if(w[h])return!1;var Z,E=r&&r.eventNameToString,D={},z=w[h]=w[s],x=w[u(c)]=w[c],L=w[u(l)]=w[l],R=w[u(f)]=w[f];function A(e){P||"boolean"==typeof D.options||null==D.options||(e.options=!!D.options.capture,D.options=e.options)}r&&r.prepend&&(Z=w[u(r.prepend)]=w[r.prepend]);var F=_?function(e){if(!D.isExisting)return A(e),z.call(D.target,D.eventName,D.capture?g:y,D.options)}:function(e){return A(e),z.call(D.target,D.eventName,e.invoke,D.options)},H=_?function(e){if(!e.isRemoved){var t=O[e.eventName],n=void 0;t&&(n=t[e.capture?o:i]);var r=n&&e.target[n];if(r)for(var a=0;a<r.length;a++)if(r[a]===e){r.splice(a,1),e.isRemoved=!0,0===r.length&&(e.allRemoved=!0,e.target[n]=null);break}}if(e.allRemoved)return x.call(e.target,e.eventName,e.capture?g:y,e.options)}:function(e){return x.call(e.target,e.eventName,e.invoke,e.options)},M=r&&r.diff?r.diff:function(e,t){var n=typeof t;return"function"===n&&e.callback===t||"object"===n&&e.originalDelegate===t},G=Zone[u("BLACK_LISTED_EVENTS")],U=function(t,n,s,c,u,l){return void 0===u&&(u=!1),void 0===l&&(l=!1),function(){var f=this||e,h=arguments[0];r&&r.transferEventName&&(h=r.transferEventName(h));var p=arguments[1];if(!p)return t.apply(this,arguments);if(k&&"uncaughtException"===h)return t.apply(this,arguments);var d=!1;if("function"!=typeof p){if(!p.handleEvent)return t.apply(this,arguments);d=!0}if(!m||m(t,p,f,arguments)){var v,y=arguments[2];if(G)for(var g=0;g<G.length;g++)if(h===G[g])return t.apply(this,arguments);var b=!1;void 0===y?v=!1:!0===y?v=!0:!1===y?v=!1:(v=!!y&&!!y.capture,b=!!y&&!!y.once);var w,Z=Zone.current,S=O[h];if(S)w=S[v?o:i];else{var z=(E?E(h):h)+i,I=(E?E(h):h)+o,x=a+z,N=a+I;O[h]={},O[h][i]=x,O[h][o]=N,w=v?N:x}var L,R=f[w],A=!1;if(R){if(A=!0,T)for(g=0;g<R.length;g++)if(M(R[g],p))return}else R=f[w]=[];var F=f.constructor.name,H=j[F];H&&(L=H[h]),L||(L=F+n+(E?E(h):h)),D.options=y,b&&(D.options.once=!1),D.target=f,D.capture=v,D.eventName=h,D.isExisting=A;var U=_?C:void 0;U&&(U.taskData=D);var W=Z.scheduleEventTask(L,p,U,s,c);return D.target=null,U&&(U.taskData=null),b&&(y.once=!0),(P||"boolean"!=typeof W.options)&&(W.options=y),W.target=f,W.capture=v,W.eventName=h,d&&(W.originalDelegate=p),l?R.unshift(W):R.push(W),u?f:void 0}}};return w[s]=U(z,p,F,H,b),Z&&(w[d]=U(Z,v,function(e){return Z.call(D.target,D.eventName,e.invoke,D.options)},H,b,!0)),w[c]=function(){var t=this||e,n=arguments[0];r&&r.transferEventName&&(n=r.transferEventName(n));var s,c=arguments[2];s=void 0!==c&&(!0===c||!1!==c&&!!c&&!!c.capture);var u=arguments[1];if(!u)return x.apply(this,arguments);if(!m||m(x,u,t,arguments)){var l,f=O[n];f&&(l=f[s?o:i]);var h=l&&t[l];if(h)for(var p=0;p<h.length;p++){var d=h[p];if(M(d,u))return h.splice(p,1),d.isRemoved=!0,0===h.length&&(d.allRemoved=!0,t[l]=null,"string"==typeof n&&(t[a+"ON_PROPERTY"+n]=null)),d.zone.cancelTask(d),b?t:void 0}return x.apply(this,arguments)}},w[l]=function(){var t=this||e,n=arguments[0];r&&r.transferEventName&&(n=r.transferEventName(n));for(var o=[],i=N(t,E?E(n):n),a=0;a<i.length;a++){var s=i[a];o.push(s.originalDelegate?s.originalDelegate:s.callback)}return o},w[f]=function(){var t=this||e,n=arguments[0];if(n){r&&r.transferEventName&&(n=r.transferEventName(n));var a=O[n];if(a){var s=t[a[i]],u=t[a[o]];if(s){var l=s.slice();for(d=0;d<l.length;d++)this[c].call(this,n,(h=l[d]).originalDelegate?h.originalDelegate:h.callback,h.options)}if(u)for(l=u.slice(),d=0;d<l.length;d++){var h;this[c].call(this,n,(h=l[d]).originalDelegate?h.originalDelegate:h.callback,h.options)}}}else{for(var p=Object.keys(t),d=0;d<p.length;d++){var v=I.exec(p[d]),_=v&&v[1];_&&"removeListener"!==_&&this[f].call(this,_)}this[f].call(this,"removeListener")}if(b)return this},S(w[s],z),S(w[c],x),R&&S(w[f],R),L&&S(w[l],L),!0}for(var T=[],b=0;b<t.length;b++)T[b]=m(t[b],r);return T}(e,[t],{useG:!1,add:"addListener",rm:"removeListener",prepend:"prependListener",rmAll:"removeAllListeners",listeners:"listeners",chkDup:!1,rt:!0,diff:r,eventNameToString:s});c&&c[0]&&(t.on=t.addListener)}(t.EventEmitter.prototype)}),
*/Zone.__load_patch("EventEmitter",(function(e){var t,r=function(e,t){return e.callback===t||e.callback.listener===t},s=function(e){return"string"==typeof e?e:e?e.toString().replace("(","_").replace(")","_"):""};try{t=require("events")}catch(e){}t&&t.EventEmitter&&function c(t){var c=function l(e,t,r){var s=r&&r.add||"addEventListener",c=r&&r.rm||"removeEventListener",l=r&&r.listeners||"eventListeners",f=r&&r.rmAll||"removeAllListeners",h=u(s),p="."+s+":",d="prependListener",v="."+d+":",k=function(e,t,n){if(!e.isRemoved){var r=e.callback;"object"==typeof r&&r.handleEvent&&(e.callback=function(e){return r.handleEvent(e)},e.originalDelegate=r),e.invoke(e,t,[n]);var o=e.options;o&&"object"==typeof o&&o.once&&t[c].call(t,n.type,e.originalDelegate?e.originalDelegate:e.callback,o)}},y=function(t){if(t=t||e.event){var n=this||t.target||e,r=n[z[t.type][i]];if(r)if(1===r.length)k(r[0],n,t);else for(var o=r.slice(),a=0;a<o.length&&(!t||!0!==t[N]);a++)k(o[a],n,t)}},g=function(t){if(t=t||e.event){var n=this||t.target||e,r=n[z[t.type][o]];if(r)if(1===r.length)k(r[0],n,t);else for(var i=r.slice(),a=0;a<i.length&&(!t||!0!==t[N]);a++)k(i[a],n,t)}};function m(t,r){if(!t)return!1;var k=!0;r&&void 0!==r.useG&&(k=r.useG);var m=r&&r.vh,T=!0;r&&void 0!==r.chkDup&&(T=r.chkDup);var b=!1;r&&void 0!==r.rt&&(b=r.rt);for(var w=t;w&&!w.hasOwnProperty(s);)w=n(w);if(!w&&t[s]&&(w=t),!w)return!1;if(w[h])return!1;var E,Z=r&&r.eventNameToString,S={},O=w[h]=w[s],N=w[u(c)]=w[c],L=w[u(l)]=w[l],R=w[u(f)]=w[f];function F(e,t){return!P&&"object"==typeof e&&e?!!e.capture:P&&t?"boolean"==typeof e?{capture:e,passive:!0}:e?"object"==typeof e&&!1!==e.passive?Object.assign(Object.assign({},e),{passive:!0}):e:{passive:!0}:e}r&&r.prepend&&(E=w[u(r.prepend)]=w[r.prepend]);var H=k?function(e){if(!S.isExisting)return O.call(S.target,S.eventName,S.capture?g:y,S.options)}:function(e){return O.call(S.target,S.eventName,e.invoke,S.options)},M=k?function(e){if(!e.isRemoved){var t=z[e.eventName],n=void 0;t&&(n=t[e.capture?o:i]);var r=n&&e.target[n];if(r)for(var a=0;a<r.length;a++)if(r[a]===e){r.splice(a,1),e.isRemoved=!0,0===r.length&&(e.allRemoved=!0,e.target[n]=null);break}}if(e.allRemoved)return N.call(e.target,e.eventName,e.capture?g:y,e.options)}:function(e){return N.call(e.target,e.eventName,e.invoke,e.options)},G=r&&r.diff?r.diff:function(e,t){var n=typeof t;return"function"===n&&e.callback===t||"object"===n&&e.originalDelegate===t},U=Zone[u("BLACK_LISTED_EVENTS")],W=e[u("PASSIVE_EVENTS")],q=function(t,n,a,s,c,u){return void 0===c&&(c=!1),void 0===u&&(u=!1),function(){var l=this||e,f=arguments[0];r&&r.transferEventName&&(f=r.transferEventName(f));var h=arguments[1];if(!h)return t.apply(this,arguments);if(_&&"uncaughtException"===f)return t.apply(this,arguments);var p=!1;if("function"!=typeof h){if(!h.handleEvent)return t.apply(this,arguments);p=!0}if(!m||m(t,h,l,arguments)){var d=P&&!!W&&-1!==W.indexOf(f),v=F(arguments[2],d);if(U)for(var y=0;y<U.length;y++)if(f===U[y])return d?t.call(l,f,h,v):t.apply(this,arguments);var g=!!v&&("boolean"==typeof v||v.capture),b=!(!v||"object"!=typeof v)&&v.once,w=Zone.current,E=z[f];E||(x(f,Z),E=z[f]);var D,O=E[g?o:i],I=l[O],N=!1;if(I){if(N=!0,T)for(y=0;y<I.length;y++)if(G(I[y],h))return}else I=l[O]=[];var A=l.constructor.name,L=C[A];L&&(D=L[f]),D||(D=A+n+(Z?Z(f):f)),S.options=v,b&&(S.options.once=!1),S.target=l,S.capture=g,S.eventName=f,S.isExisting=N;var R=k?j:void 0;R&&(R.taskData=S);var H=w.scheduleEventTask(D,h,R,a,s);return S.target=null,R&&(R.taskData=null),b&&(v.once=!0),(P||"boolean"!=typeof H.options)&&(H.options=v),H.target=l,H.capture=g,H.eventName=f,p&&(H.originalDelegate=h),u?I.unshift(H):I.push(H),c?l:void 0}}};return w[s]=q(O,p,H,M,b),E&&(w[d]=q(E,v,(function(e){return E.call(S.target,S.eventName,e.invoke,S.options)}),M,b,!0)),w[c]=function(){var t=this||e,n=arguments[0];r&&r.transferEventName&&(n=r.transferEventName(n));var s=arguments[2],c=!!s&&("boolean"==typeof s||s.capture),u=arguments[1];if(!u)return N.apply(this,arguments);if(!m||m(N,u,t,arguments)){var l,f=z[n];f&&(l=f[c?o:i]);var h=l&&t[l];if(h)for(var p=0;p<h.length;p++){var d=h[p];if(G(d,u)){if(h.splice(p,1),d.isRemoved=!0,0===h.length&&(d.allRemoved=!0,t[l]=null,"string"==typeof n)){var v=a+"ON_PROPERTY"+n;t[v]=null}return d.zone.cancelTask(d),b?t:void 0}}return N.apply(this,arguments)}},w[l]=function(){var t=this||e,n=arguments[0];r&&r.transferEventName&&(n=r.transferEventName(n));for(var o=[],i=A(t,Z?Z(n):n),a=0;a<i.length;a++){var s=i[a],c=s.originalDelegate?s.originalDelegate:s.callback;o.push(c)}return o},w[f]=function(){var t=this||e,n=arguments[0];if(n){r&&r.transferEventName&&(n=r.transferEventName(n));var a=z[n];if(a){var s=a[i],u=a[o],l=t[s],h=t[u];if(l){var p=l.slice();for(k=0;k<p.length;k++)this[c].call(this,n,(d=p[k]).originalDelegate?d.originalDelegate:d.callback,d.options)}if(h)for(p=h.slice(),k=0;k<p.length;k++){var d;this[c].call(this,n,(d=p[k]).originalDelegate?d.originalDelegate:d.callback,d.options)}}}else{for(var v=Object.keys(t),k=0;k<v.length;k++){var _=v[k],y=I.exec(_),g=y&&y[1];g&&"removeListener"!==g&&this[f].call(this,g)}this[f].call(this,"removeListener")}if(b)return this},D(w[s],O),D(w[c],N),R&&D(w[f],R),L&&D(w[l],L),!0}for(var T=[],b=0;b<t.length;b++)T[b]=m(t[b],r);return T}(e,[t],{useG:!1,add:"addListener",rm:"removeListener",prepend:"prependListener",rmAll:"removeAllListeners",listeners:"listeners",chkDup:!1,rt:!0,diff:r,eventNameToString:s});c&&c[0]&&(t.on=t.addListener)}(t.EventEmitter.prototype)})),
/**

@@ -80,3 +74,3 @@ * @license

*/
Zone.__load_patch("fs",function(){var e;try{e=require("fs")}catch(e){}e&&["access","appendFile","chmod","chown","close","exists","fchmod","fchown","fdatasync","fstat","fsync","ftruncate","futimes","lchmod","lchown","link","lstat","mkdir","mkdtemp","open","read","readdir","readFile","readlink","realpath","rename","rmdir","stat","symlink","truncate","unlink","utimes","write","writeFile"].filter(function(t){return!!e[t]&&"function"==typeof e[t]}).forEach(function(t){D(e,t,function(e,n){return{name:"fs."+t,args:n,cbIdx:n.length>0?n.length-1:-1,target:e}})})});
Zone.__load_patch("fs",(function(){var e;try{e=require("fs")}catch(e){}e&&["access","appendFile","chmod","chown","close","exists","fchmod","fchown","fdatasync","fstat","fsync","ftruncate","futimes","lchmod","lchown","link","lstat","mkdir","mkdtemp","open","read","readdir","readFile","readlink","realpath","rename","rmdir","stat","symlink","truncate","unlink","utimes","write","writeFile"].filter((function(t){return!!e[t]&&"function"==typeof e[t]})).forEach((function(t){S(e,t,(function(e,n){return{name:"fs."+t,args:n,cbIdx:n.length>0?n.length-1:-1,target:e}}))}))}));
/**

@@ -89,3 +83,3 @@ * @license

*/
var L=u("zoneTask");function R(e,t,n,r){var o=null,i=null;n+=r;var a={};function s(t){var n=t.data;return n.args[0]=function r(){try{t.invoke.apply(this,arguments)}finally{t.data&&t.data.isPeriodic||("number"==typeof n.handleId?delete a[n.handleId]:n.handleId&&(n.handleId[L]=null))}},n.handleId=o.apply(e,n.args),t}function u(e){return i(e.data.handleId)}o=E(e,t+=r,function(n){return function(o,i){if("function"==typeof i[0]){var l=c(t,i[0],{isPeriodic:"Interval"===r,delay:"Timeout"===r||"Interval"===r?i[1]||0:void 0,args:i},s,u);if(!l)return l;var f=l.data.handleId;return"number"==typeof f?a[f]=l:f&&(f[L]=l),f&&f.ref&&f.unref&&"function"==typeof f.ref&&"function"==typeof f.unref&&(l.ref=f.ref.bind(f),l.unref=f.unref.bind(f)),"number"==typeof f||f?f:l}return n.apply(e,i)}}),i=E(e,n,function(t){return function(n,r){var o,i=r[0];"number"==typeof i?o=a[i]:(o=i&&i[L])||(o=i),o&&"string"==typeof o.type?"notScheduled"!==o.state&&(o.cancelFn&&o.data.isPeriodic||0===o.runCount)&&("number"==typeof i?delete a[i]:i&&(i[L]=null),o.zone.cancelTask(o)):t.apply(e,r)}})}
var L=u("zoneTask");function R(e,t,n,r){var o=null,i=null;n+=r;var a={};function s(t){var n=t.data;return n.args[0]=function r(){try{t.invoke.apply(this,arguments)}finally{t.data&&t.data.isPeriodic||("number"==typeof n.handleId?delete a[n.handleId]:n.handleId&&(n.handleId[L]=null))}},n.handleId=o.apply(e,n.args),t}function u(e){return i(e.data.handleId)}o=Z(e,t+=r,(function(n){return function(o,i){if("function"==typeof i[0]){var l=c(t,i[0],{isPeriodic:"Interval"===r,delay:"Timeout"===r||"Interval"===r?i[1]||0:void 0,args:i},s,u);if(!l)return l;var f=l.data.handleId;return"number"==typeof f?a[f]=l:f&&(f[L]=l),f&&f.ref&&f.unref&&"function"==typeof f.ref&&"function"==typeof f.unref&&(l.ref=f.ref.bind(f),l.unref=f.unref.bind(f)),"number"==typeof f||f?f:l}return n.apply(e,i)}})),i=Z(e,n,(function(t){return function(n,r){var o,i=r[0];"number"==typeof i?o=a[i]:(o=i&&i[L])||(o=i),o&&"string"==typeof o.type?"notScheduled"!==o.state&&(o.cancelFn&&o.data.isPeriodic||0===o.runCount)&&("number"==typeof i?delete a[i]:i&&(i[L]=null),o.zone.cancelTask(o)):t.apply(e,r)}}))}
/**

@@ -97,2 +91,2 @@ * @license

* found in the LICENSE file at https://angular.io/license
*/var A="set";Zone.__load_patch("node_timers",function(e,t){var n=!1;try{var r=require("timers");if(e.setTimeout!==r.setTimeout&&!g){var o=r.setTimeout;r.setTimeout=function(){return n=!0,o.apply(this,arguments)};var i=e.setTimeout(function(){},100);clearTimeout(i),r.setTimeout=o}R(r,A,"clear","Timeout"),R(r,A,"clear","Interval"),R(r,A,"clear","Immediate")}catch(e){}g||(n?(e[t.__symbol__("setTimeout")]=e.setTimeout,e[t.__symbol__("setInterval")]=e.setInterval,e[t.__symbol__("setImmediate")]=e.setImmediate):(R(e,A,"clear","Timeout"),R(e,A,"clear","Interval"),R(e,A,"clear","Immediate")))}),Zone.__load_patch("nextTick",function(){!function e(t,n,r){var o=null;function i(e){var t=e.data;return t.args[t.cbIdx]=function(){e.invoke.apply(this,arguments)},o.apply(t.target,t.args),e}o=E(t,n,function(e){return function(t,n){var o=r(t,n);return o.cbIdx>=0&&"function"==typeof n[o.cbIdx]?Zone.current.scheduleMicroTask(o.name,n[o.cbIdx],o,i):e.apply(t,n)}})}(process,"nextTick",function(e,t){return{name:"process.nextTick",args:t,cbIdx:t.length>0&&"function"==typeof t[0]?0:-1,target:process}})}),Zone.__load_patch("handleUnhandledPromiseRejection",function(e,t,n){function r(e){return function(t){N(process,e).forEach(function(n){"unhandledRejection"===e?n.invoke(t.rejection,t.promise):"rejectionHandled"===e&&n.invoke(t.promise)})}}t[n.symbol("unhandledPromiseRejectionHandler")]=r("unhandledRejection"),t[n.symbol("rejectionHandledHandler")]=r("rejectionHandled")}),Zone.__load_patch("crypto",function(){var e;try{e=require("crypto")}catch(e){}e&&["randomBytes","pbkdf2"].forEach(function(t){D(e,t,function(n,r){return{name:"crypto."+t,args:r,cbIdx:r.length>0&&"function"==typeof r[r.length-1]?r.length-1:-1,target:e}})})}),Zone.__load_patch("console",function(e,t){["dir","log","info","error","warn","assert","debug","timeEnd","trace"].forEach(function(e){var n=console[t.__symbol__(e)]=console[e];n&&(console[e]=function(){var e=r.call(arguments);return t.current===t.root?n.apply(this,e):t.root.run(n,this,e)})})})});
*/var F="set";Zone.__load_patch("node_timers",(function(e,t){var n=!1;try{var r=require("timers");if(e.setTimeout!==r.setTimeout&&!g){var o=r.setTimeout;r.setTimeout=function(){return n=!0,o.apply(this,arguments)};var i=e.setTimeout((function(){}),100);clearTimeout(i),r.setTimeout=o}R(r,F,"clear","Timeout"),R(r,F,"clear","Interval"),R(r,F,"clear","Immediate")}catch(e){}g||(n?(e[t.__symbol__("setTimeout")]=e.setTimeout,e[t.__symbol__("setInterval")]=e.setInterval,e[t.__symbol__("setImmediate")]=e.setImmediate):(R(e,F,"clear","Timeout"),R(e,F,"clear","Interval"),R(e,F,"clear","Immediate")))})),Zone.__load_patch("nextTick",(function(){!function e(t,n,r){var o=null;function i(e){var t=e.data;return t.args[t.cbIdx]=function(){e.invoke.apply(this,arguments)},o.apply(t.target,t.args),e}o=Z(t,n,(function(e){return function(t,n){var o=r(t,n);return o.cbIdx>=0&&"function"==typeof n[o.cbIdx]?Zone.current.scheduleMicroTask(o.name,n[o.cbIdx],o,i):e.apply(t,n)}}))}(process,"nextTick",(function(e,t){return{name:"process.nextTick",args:t,cbIdx:t.length>0&&"function"==typeof t[0]?0:-1,target:process}}))})),Zone.__load_patch("handleUnhandledPromiseRejection",(function(e,t,n){function r(e){return function(t){A(process,e).forEach((function(n){"unhandledRejection"===e?n.invoke(t.rejection,t.promise):"rejectionHandled"===e&&n.invoke(t.promise)}))}}t[n.symbol("unhandledPromiseRejectionHandler")]=r("unhandledRejection"),t[n.symbol("rejectionHandledHandler")]=r("rejectionHandled")})),Zone.__load_patch("crypto",(function(){var e;try{e=require("crypto")}catch(e){}e&&["randomBytes","pbkdf2"].forEach((function(t){S(e,t,(function(n,r){return{name:"crypto."+t,args:r,cbIdx:r.length>0&&"function"==typeof r[r.length-1]?r.length-1:-1,target:e}}))}))})),Zone.__load_patch("console",(function(e,t){["dir","log","info","error","warn","assert","debug","timeEnd","trace"].forEach((function(e){var n=console[t.__symbol__(e)]=console[e];n&&(console[e]=function(){var e=r.call(arguments);return t.current===t.root?n.apply(this,e):t.root.run(n,this,e)})}))}))}));
/**
* @license Angular v0.10.2
* (c) 2010-2019 Google LLC. https://angular.io/
* License: MIT
*/
* @license Angular v9.1.0-next.4+61.sha-e552591.with-local-changes
* (c) 2010-2020 Google LLC. https://angular.io/
* License: MIT
*/
(function (factory) {
typeof define === 'function' && define.amd ? define(factory) :
factory();
}(function () {
}((function () {
'use strict';

@@ -27,2 +27,2 @@ /**

});
}));
})));
/**
* @license Angular v0.10.2
* (c) 2010-2019 Google LLC. https://angular.io/
* License: MIT
*/
!function(t){"function"==typeof define&&define.amd?define(t):t()}(function(){"use strict";
* @license Angular v9.1.0-next.4+61.sha-e552591.with-local-changes
* (c) 2010-2020 Google LLC. https://angular.io/
* License: MIT
*/
!function(t){"function"==typeof define&&define.amd?define(t):t()}((function(){"use strict";
/**

@@ -13,2 +13,2 @@ * @license

* found in the LICENSE file at https://angular.io/license
*/Zone.__load_patch("canvas",function(t,o,n){var e=t.HTMLCanvasElement;void 0!==e&&e.prototype&&e.prototype.toBlob&&n.patchMacroTask(e.prototype,"toBlob",function(t,o){return{name:"HTMLCanvasElement.toBlob",target:t,cbIdx:0,args:o}})})});
*/Zone.__load_patch("canvas",(function(t,o,n){var e=t.HTMLCanvasElement;void 0!==e&&e.prototype&&e.prototype.toBlob&&n.patchMacroTask(e.prototype,"toBlob",(function(t,o){return{name:"HTMLCanvasElement.toBlob",target:t,cbIdx:0,args:o}}))}))}));
/**
* @license Angular v0.10.2
* (c) 2010-2019 Google LLC. https://angular.io/
* License: MIT
*/
* @license Angular v9.1.0-next.4+61.sha-e552591.with-local-changes
* (c) 2010-2020 Google LLC. https://angular.io/
* License: MIT
*/
(function (factory) {
typeof define === 'function' && define.amd ? define(factory) :
factory();
}(function () {
}((function () {
'use strict';

@@ -48,2 +48,2 @@ /**

});
}));
})));
/**
* @license Angular v0.10.2
* (c) 2010-2019 Google LLC. https://angular.io/
* License: MIT
*/
!function(e){"function"==typeof define&&define.amd?define(e):e()}(function(){"use strict";
* @license Angular v9.1.0-next.4+61.sha-e552591.with-local-changes
* (c) 2010-2020 Google LLC. https://angular.io/
* License: MIT
*/
!function(e){"function"==typeof define&&define.amd?define(e):e()}((function(){"use strict";
/**

@@ -13,2 +13,2 @@ * @license

* found in the LICENSE file at https://angular.io/license
*/Zone.__load_patch("cordova",function(e,o,r){if(e.cordova)var n=r.patchMethod(e.cordova,"exec",function(){return function(e,r){return r.length>0&&"function"==typeof r[0]&&(r[0]=o.current.wrap(r[0],"cordova.exec.success")),r.length>1&&"function"==typeof r[1]&&(r[1]=o.current.wrap(r[1],"cordova.exec.error")),n.apply(e,r)}})}),Zone.__load_patch("cordova.FileReader",function(e,o){e.cordova&&void 0!==e.FileReader&&document.addEventListener("deviceReady",function(){var r=e.FileReader;["abort","error","load","loadstart","loadend","progress"].forEach(function(e){var n=o.__symbol__("ON_PROPERTY"+e);Object.defineProperty(r.prototype,n,{configurable:!0,get:function(){return this._realReader&&this._realReader[n]}})})})})});
*/Zone.__load_patch("cordova",(function(e,o,r){if(e.cordova)var n=r.patchMethod(e.cordova,"exec",(function(){return function(e,r){return r.length>0&&"function"==typeof r[0]&&(r[0]=o.current.wrap(r[0],"cordova.exec.success")),r.length>1&&"function"==typeof r[1]&&(r[1]=o.current.wrap(r[1],"cordova.exec.error")),n.apply(e,r)}}))})),Zone.__load_patch("cordova.FileReader",(function(e,o){e.cordova&&void 0!==e.FileReader&&document.addEventListener("deviceReady",(function(){var r=e.FileReader;["abort","error","load","loadstart","loadend","progress"].forEach((function(e){var n=o.__symbol__("ON_PROPERTY"+e);Object.defineProperty(r.prototype,n,{configurable:!0,get:function(){return this._realReader&&this._realReader[n]}})}))}))}))}));
/**
* @license Angular v0.10.2
* (c) 2010-2019 Google LLC. https://angular.io/
* License: MIT
*/
(function (global, factory) {
typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory(require('electron')) :
typeof define === 'function' && define.amd ? define(['electron'], factory) :
(global = global || self, global.zone_patch_electron_rollup = factory(global.electron));
}(this, function (electron$1) {
* @license Angular v9.1.0-next.4+61.sha-e552591.with-local-changes
* (c) 2010-2020 Google LLC. https://angular.io/
* License: MIT
*/
(function (factory) {
typeof define === 'function' && define.amd ? define(factory) :
factory();
}((function () {
'use strict';
electron$1 = electron$1 && electron$1.hasOwnProperty('default') ? electron$1['default'] : electron$1;
/**

@@ -26,3 +24,3 @@ * @license

}
var desktopCapturer = electron$1.desktopCapturer, shell = electron$1.shell, CallbacksRegistry = electron$1.CallbacksRegistry, ipcRenderer = electron$1.ipcRenderer;
var _a = require('electron'), desktopCapturer = _a.desktopCapturer, shell = _a.shell, CallbacksRegistry = _a.CallbacksRegistry, ipcRenderer = _a.ipcRenderer;
// patch api in renderer process directly

@@ -46,4 +44,2 @@ // desktopCapturer

});
var electron = {};
return electron;
}));
})));
/**
* @license Angular v0.10.2
* (c) 2010-2019 Google LLC. https://angular.io/
* License: MIT
*/
!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?module.exports=t(require("electron")):"function"==typeof define&&define.amd?define(["electron"],t):(e=e||self).zone_patch_electron_rollup=t(e.electron)}(this,function(e){"use strict";return e=e&&e.hasOwnProperty("default")?e.default:e,
* @license Angular v9.1.0-next.4+61.sha-e552591.with-local-changes
* (c) 2010-2020 Google LLC. https://angular.io/
* License: MIT
*/
!function(e){"function"==typeof define&&define.amd?define(e):e()}((function(){"use strict";
/**

@@ -13,3 +13,2 @@ * @license

* found in the LICENSE file at https://angular.io/license
*/
Zone.__load_patch("electron",function(t,n,r){function o(e,t,n){return r.patchMethod(e,t,function(e){return function(t,o){return e&&e.apply(t,r.bindArguments(o,n))}})}var l=e.desktopCapturer,c=e.shell,u=e.CallbacksRegistry,p=e.ipcRenderer;l&&o(l,"getSources","electron.desktopCapturer.getSources"),c&&o(c,"openExternal","electron.shell.openExternal"),u?o(u.prototype,"add","CallbackRegistry.add"):p&&o(p,"on","ipcRenderer.on")}),{}});
*/Zone.__load_patch("electron",(function(e,n,t){function r(e,n,r){return t.patchMethod(e,n,(function(e){return function(n,o){return e&&e.apply(n,t.bindArguments(o,r))}}))}var o=require("electron"),c=o.desktopCapturer,i=o.shell,u=o.CallbacksRegistry,a=o.ipcRenderer;c&&r(c,"getSources","electron.desktopCapturer.getSources"),i&&r(i,"openExternal","electron.shell.openExternal"),u?r(u.prototype,"add","CallbackRegistry.add"):a&&r(a,"on","ipcRenderer.on")}))}));
/**
* @license Angular v0.10.2
* (c) 2010-2019 Google LLC. https://angular.io/
* License: MIT
*/
* @license Angular v9.1.0-next.4+61.sha-e552591.with-local-changes
* (c) 2010-2020 Google LLC. https://angular.io/
* License: MIT
*/
(function (factory) {
typeof define === 'function' && define.amd ? define(factory) :
factory();
}(function () {
}((function () {
'use strict';

@@ -116,2 +116,2 @@ /**

});
}));
})));
/**
* @license Angular v0.10.2
* (c) 2010-2019 Google LLC. https://angular.io/
* License: MIT
*/
!function(t){"function"==typeof define&&define.amd?define(t):t()}(function(){"use strict";
* @license Angular v9.1.0-next.4+61.sha-e552591.with-local-changes
* (c) 2010-2020 Google LLC. https://angular.io/
* License: MIT
*/
!function(t){"function"==typeof define&&define.amd?define(t):t()}((function(){"use strict";
/**

@@ -13,2 +13,2 @@ * @license

* found in the LICENSE file at https://angular.io/license
*/Zone.__load_patch("fetch",function(t,n,o){var e=t.fetch;if("function"==typeof e){var r=t[o.symbol("fetch")];r&&(e=r);var c=t.Promise,l=o.symbol("thenPatched"),a=o.symbol("fetchTaskScheduling"),f=o.symbol("fetchTaskAborting"),i=t.AbortController,u="function"==typeof i,s=null;u&&(t.AbortController=function(){var t=new i;return t.signal.abortController=t,t},s=o.patchMethod(i.prototype,"abort",function(t){return function(n,o){return n.task?n.task.zone.cancelTask(n.task):t.apply(n,o)}}));var h=function(){};t.fetch=function(){var t=this,r=Array.prototype.slice.call(arguments),i=r.length>1?r[1]:null,b=i&&i.signal;return new Promise(function(i,d){var p=n.current.scheduleMacroTask("fetch",h,{fetchArgs:r},function(){var f,u=n.current;try{u[a]=!0,f=e.apply(t,r)}catch(t){return void d(t)}finally{u[a]=!1}if(!(f instanceof c)){var s=f.constructor;s[l]||o.patchThen(s)}f.then(function(t){"notScheduled"!==p.state&&p.invoke(),i(t)},function(t){"notScheduled"!==p.state&&p.invoke(),d(t)})},function(){if(u)if(b&&b.abortController&&!b.aborted&&"function"==typeof b.abortController.abort&&s)try{n.current[f]=!0,s.call(b.abortController)}finally{n.current[f]=!1}else d("cancel fetch need a AbortController.signal");else d("No AbortController supported, can not cancel fetch")});b&&b.abortController&&(b.abortController.task=p)})}}})});
*/Zone.__load_patch("fetch",(function(t,n,o){var e=t.fetch;if("function"==typeof e){var r=t[o.symbol("fetch")];r&&(e=r);var c=t.Promise,l=o.symbol("thenPatched"),a=o.symbol("fetchTaskScheduling"),f=o.symbol("fetchTaskAborting"),i=t.AbortController,u="function"==typeof i,s=null;u&&(t.AbortController=function(){var t=new i;return t.signal.abortController=t,t},s=o.patchMethod(i.prototype,"abort",(function(t){return function(n,o){return n.task?n.task.zone.cancelTask(n.task):t.apply(n,o)}})));var h=function(){};t.fetch=function(){var t=this,r=Array.prototype.slice.call(arguments),i=r.length>1?r[1]:null,b=i&&i.signal;return new Promise((function(i,d){var p=n.current.scheduleMacroTask("fetch",h,{fetchArgs:r},(function(){var f,u=n.current;try{u[a]=!0,f=e.apply(t,r)}catch(t){return void d(t)}finally{u[a]=!1}if(!(f instanceof c)){var s=f.constructor;s[l]||o.patchThen(s)}f.then((function(t){"notScheduled"!==p.state&&p.invoke(),i(t)}),(function(t){"notScheduled"!==p.state&&p.invoke(),d(t)}))}),(function(){if(u)if(b&&b.abortController&&!b.aborted&&"function"==typeof b.abortController.abort&&s)try{n.current[f]=!0,s.call(b.abortController)}finally{n.current[f]=!1}else d("cancel fetch need a AbortController.signal");else d("No AbortController supported, can not cancel fetch")}));b&&b.abortController&&(b.abortController.task=p)}))}}}))}));
/**
* @license Angular v0.10.2
* (c) 2010-2019 Google LLC. https://angular.io/
* License: MIT
*/
* @license Angular v9.1.0-next.4+61.sha-e552591.with-local-changes
* (c) 2010-2020 Google LLC. https://angular.io/
* License: MIT
*/
(function (factory) {
typeof define === 'function' && define.amd ? define(factory) :
factory();
}(function () {
}((function () {
'use strict';

@@ -83,2 +83,2 @@ /**

});
}));
})));
/**
* @license Angular v0.10.2
* (c) 2010-2019 Google LLC. https://angular.io/
* License: MIT
*/
!function(n){"function"==typeof define&&define.amd?define(n):n()}(function(){"use strict";
* @license Angular v9.1.0-next.4+61.sha-e552591.with-local-changes
* (c) 2010-2020 Google LLC. https://angular.io/
* License: MIT
*/
!function(n){"function"==typeof define&&define.amd?define(n):n()}((function(){"use strict";
/**

@@ -13,2 +13,2 @@ * @license

* found in the LICENSE file at https://angular.io/license
*/Zone.__load_patch("jsonp",function(n,o,e){o[o.__symbol__("jsonp")]=function c(t){if(t&&t.jsonp&&t.sendFuncName){var a=function(){};[t.successFuncName,t.failedFuncName].forEach(function(o){o&&(n[o]?e.patchMethod(n,o,function(o){return function(c,t){var a=n[e.symbol("jsonTask")];return a?(a.callback=o,a.invoke.apply(c,t)):o.apply(c,t)}}):Object.defineProperty(n,o,{configurable:!0,enumerable:!0,get:function(){return function(){var c=n[e.symbol("jsonpTask")],t=n[e.symbol("jsonp"+o+"callback")];return c?(t&&(c.callback=t),n[e.symbol("jsonpTask")]=void 0,c.invoke.apply(this,arguments)):t?t.apply(this,arguments):null}},set:function(n){this[e.symbol("jsonp"+o+"callback")]=n}}))}),e.patchMethod(t.jsonp,t.sendFuncName,function(c){return function(t,s){n[e.symbol("jsonpTask")]=o.current.scheduleMacroTask("jsonp",a,{},function(n){return c.apply(t,s)},a)}})}}})});
*/Zone.__load_patch("jsonp",(function(n,o,e){o[o.__symbol__("jsonp")]=function c(t){if(t&&t.jsonp&&t.sendFuncName){var a=function(){};[t.successFuncName,t.failedFuncName].forEach((function(o){o&&(n[o]?e.patchMethod(n,o,(function(o){return function(c,t){var a=n[e.symbol("jsonTask")];return a?(a.callback=o,a.invoke.apply(c,t)):o.apply(c,t)}})):Object.defineProperty(n,o,{configurable:!0,enumerable:!0,get:function(){return function(){var c=n[e.symbol("jsonpTask")],t=n[e.symbol("jsonp"+o+"callback")];return c?(t&&(c.callback=t),n[e.symbol("jsonpTask")]=void 0,c.invoke.apply(this,arguments)):t?t.apply(this,arguments):null}},set:function(n){this[e.symbol("jsonp"+o+"callback")]=n}}))})),e.patchMethod(t.jsonp,t.sendFuncName,(function(c){return function(t,s){n[e.symbol("jsonpTask")]=o.current.scheduleMacroTask("jsonp",a,{},(function(n){return c.apply(t,s)}),a)}}))}}}))}));
/**
* @license Angular v0.10.2
* (c) 2010-2019 Google LLC. https://angular.io/
* License: MIT
*/
* @license Angular v9.1.0-next.4+61.sha-e552591.with-local-changes
* (c) 2010-2020 Google LLC. https://angular.io/
* License: MIT
*/
(function (factory) {
typeof define === 'function' && define.amd ? define(factory) :
factory();
}(function () {
}((function () {
'use strict';

@@ -76,2 +76,2 @@ /**

});
}));
})));
/**
* @license Angular v0.10.2
* (c) 2010-2019 Google LLC. https://angular.io/
* License: MIT
*/
!function(e){"function"==typeof define&&define.amd?define(e):e()}(function(){"use strict";
* @license Angular v9.1.0-next.4+61.sha-e552591.with-local-changes
* (c) 2010-2020 Google LLC. https://angular.io/
* License: MIT
*/
!function(e){"function"==typeof define&&define.amd?define(e):e()}((function(){"use strict";
/**

@@ -13,2 +13,2 @@ * @license

* found in the LICENSE file at https://angular.io/license
*/Zone.__load_patch("promisefortest",function(e,o,n){var s=n.symbol("state"),r=n.symbol("parentUnresolved");Promise[n.symbol("patchPromiseForTest")]=function e(){var n=Promise[o.__symbol__("ZonePromiseThen")];n||(n=Promise[o.__symbol__("ZonePromiseThen")]=Promise.prototype.then,Promise.prototype.then=function(){var e=n.apply(this,arguments);if(null===this[s]){var t=o.current.get("AsyncTestZoneSpec");t&&(t.unresolvedChainedPromiseCount++,e[r]=!0)}return e})},Promise[n.symbol("unPatchPromiseForTest")]=function e(){var n=Promise[o.__symbol__("ZonePromiseThen")];n&&(Promise.prototype.then=n,Promise[o.__symbol__("ZonePromiseThen")]=void 0)}})});
*/Zone.__load_patch("promisefortest",(function(e,o,n){var s=n.symbol("state"),r=n.symbol("parentUnresolved");Promise[n.symbol("patchPromiseForTest")]=function e(){var n=Promise[o.__symbol__("ZonePromiseThen")];n||(n=Promise[o.__symbol__("ZonePromiseThen")]=Promise.prototype.then,Promise.prototype.then=function(){var e=n.apply(this,arguments);if(null===this[s]){var t=o.current.get("AsyncTestZoneSpec");t&&(t.unresolvedChainedPromiseCount++,e[r]=!0)}return e})},Promise[n.symbol("unPatchPromiseForTest")]=function e(){var n=Promise[o.__symbol__("ZonePromiseThen")];n&&(Promise.prototype.then=n,Promise[o.__symbol__("ZonePromiseThen")]=void 0)}}))}));

@@ -1,20 +0,10 @@

var __values = (this && this.__values) || function (o) {
var m = typeof Symbol === "function" && o[Symbol.iterator], i = 0;
if (m) return m.call(o);
return {
next: function () {
if (o && i >= o.length) o = void 0;
return { value: o && o[i++], done: !o };
}
};
};
/**
* @license Angular v0.10.2
* (c) 2010-2019 Google LLC. https://angular.io/
* License: MIT
*/
* @license Angular v9.1.0-next.4+61.sha-e552591.with-local-changes
* (c) 2010-2020 Google LLC. https://angular.io/
* License: MIT
*/
(function (factory) {
typeof define === 'function' && define.amd ? define(factory) :
factory();
}(function () {
}((function () {
'use strict';

@@ -39,25 +29,15 @@ /**

var _this = this;
var e_1, _a;
var zones = {};
var currZone = Zone.current;
try {
for (var entries_1 = __values(entries), entries_1_1 = entries_1.next(); !entries_1_1.done; entries_1_1 = entries_1.next()) {
var entry = entries_1_1.value;
var zone = entry.target[resizeObserverSymbol];
if (!zone) {
zone = currZone;
}
var zoneEntriesInfo = zones[zone.name];
if (!zoneEntriesInfo) {
zones[zone.name] = zoneEntriesInfo = { entries: [], zone: zone };
}
zoneEntriesInfo.entries.push(entry);
for (var _i = 0, entries_1 = entries; _i < entries_1.length; _i++) {
var entry = entries_1[_i];
var zone = entry.target[resizeObserverSymbol];
if (!zone) {
zone = currZone;
}
}
catch (e_1_1) { e_1 = { error: e_1_1 }; }
finally {
try {
if (entries_1_1 && !entries_1_1.done && (_a = entries_1.return)) _a.call(entries_1);
var zoneEntriesInfo = zones[zone.name];
if (!zoneEntriesInfo) {
zones[zone.name] = zoneEntriesInfo = { entries: [], zone: zone };
}
finally { if (e_1) throw e_1.error; }
zoneEntriesInfo.entries.push(entry);
}

@@ -116,2 +96,2 @@ Object.keys(zones).forEach(function (zoneName) {

});
}));
})));

@@ -1,14 +0,8 @@

var __values=this&&this.__values||function(e){var n="function"==typeof Symbol&&e[Symbol.iterator],r=0;return n?n.call(e):{next:function(){return e&&r>=e.length&&(e=void 0),{value:e&&e[r++],done:!e}}}};
/**
* @license Angular v0.10.2
* (c) 2010-2019 Google LLC. https://angular.io/
* License: MIT
*/
* @license Angular v9.1.0-next.4+61.sha-e552591.with-local-changes
* (c) 2010-2020 Google LLC. https://angular.io/
* License: MIT
*/
!function(e){"function"==typeof define&&define.amd?define(e):e()}((function(){"use strict";
/**
* @license Angular v0.10.2
* (c) 2010-2019 Google LLC. https://angular.io/
* License: MIT
*/
!function(e){"function"==typeof define&&define.amd?define(e):e()}(function(){"use strict";
/**
* @license

@@ -19,2 +13,2 @@ * Copyright Google Inc. All Rights Reserved.

* found in the LICENSE file at https://angular.io/license
*/Zone.__load_patch("ResizeObserver",function(e,n,r){var t=e.ResizeObserver;if(t){var o=r.symbol("ResizeObserver");r.patchMethod(e,"ResizeObserver",function(e){return function(e,r){var i=r.length>0?r[0]:null;return i&&(r[0]=function(e,r){var t,u,a=this,c={},l=n.current;try{for(var f=__values(e),v=f.next();!v.done;v=f.next()){var s=v.value,p=s.target[o];p||(p=l);var h=c[p.name];h||(c[p.name]=h={entries:[],zone:p}),h.entries.push(s)}}catch(e){t={error:e}}finally{try{v&&!v.done&&(u=f.return)&&u.call(f)}finally{if(t)throw t.error}}Object.keys(c).forEach(function(e){var t=c[e];t.zone!==n.current?t.zone.run(i,a,[t.entries,r],"ResizeObserver"):i.call(a,t.entries,r)})}),r.length>0?new t(r[0]):new t}}),r.patchMethod(t.prototype,"observe",function(e){return function(r,t){var i=t.length>0?t[0]:null;if(!i)return e.apply(r,t);var u=r[o];return u||(u=r[o]=[]),u.push(i),i[o]=n.current,e.apply(r,t)}}),r.patchMethod(t.prototype,"unobserve",function(e){return function(n,r){var t=r.length>0?r[0]:null;if(!t)return e.apply(n,r);var i=n[o];if(i)for(var u=0;u<i.length;u++)if(i[u]===t){i.splice(u,1);break}return t[o]=void 0,e.apply(n,r)}}),r.patchMethod(t.prototype,"disconnect",function(e){return function(n,r){var t=n[o];return t&&(t.forEach(function(e){e[o]=void 0}),n[o]=void 0),e.apply(n,r)}})}})});
*/Zone.__load_patch("ResizeObserver",(function(e,n,r){var t=e.ResizeObserver;if(t){var o=r.symbol("ResizeObserver");r.patchMethod(e,"ResizeObserver",(function(e){return function(e,r){var i=r.length>0?r[0]:null;return i&&(r[0]=function(e,r){for(var t=this,u={},a=n.current,c=0,f=e;c<f.length;c++){var p=f[c],s=p.target[o];s||(s=a);var v=u[s.name];v||(u[s.name]=v={entries:[],zone:s}),v.entries.push(p)}Object.keys(u).forEach((function(e){var o=u[e];o.zone!==n.current?o.zone.run(i,t,[o.entries,r],"ResizeObserver"):i.call(t,o.entries,r)}))}),r.length>0?new t(r[0]):new t}})),r.patchMethod(t.prototype,"observe",(function(e){return function(r,t){var i=t.length>0?t[0]:null;if(!i)return e.apply(r,t);var u=r[o];return u||(u=r[o]=[]),u.push(i),i[o]=n.current,e.apply(r,t)}})),r.patchMethod(t.prototype,"unobserve",(function(e){return function(n,r){var t=r.length>0?r[0]:null;if(!t)return e.apply(n,r);var i=n[o];if(i)for(var u=0;u<i.length;u++)if(i[u]===t){i.splice(u,1);break}return t[o]=void 0,e.apply(n,r)}})),r.patchMethod(t.prototype,"disconnect",(function(e){return function(n,r){var t=n[o];return t&&(t.forEach((function(e){e[o]=void 0})),n[o]=void 0),e.apply(n,r)}}))}}))}));

@@ -1,1074 +0,12 @@

var __extends = (this && this.__extends) || (function () {
var extendStatics = function (d, b) {
extendStatics = Object.setPrototypeOf ||
({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };
return extendStatics(d, b);
};
return function (d, b) {
extendStatics(d, b);
function __() { this.constructor = d; }
d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
};
})();
/**
* @license Angular v0.10.2
* (c) 2010-2019 Google LLC. https://angular.io/
* License: MIT
*/
(function (factory) {
typeof define === 'function' && define.amd ? define(factory) :
factory();
}(function () {
* @license Angular v9.1.0-next.4+61.sha-e552591.with-local-changes
* (c) 2010-2020 Google LLC. https://angular.io/
* License: MIT
*/
(function (global, factory) {
typeof exports === 'object' && typeof module !== 'undefined' ? factory(require('rxjs')) :
typeof define === 'function' && define.amd ? define(['rxjs'], factory) :
(global = global || self, factory(global.rxjs));
}(this, (function (rxjs) {
'use strict';
function isFunction(x) {
return typeof x === 'function';
}
var _enable_super_gross_mode_that_will_cause_bad_things = false;
var config = {
Promise: undefined,
set useDeprecatedSynchronousErrorHandling(value) {
if (value) {
var error = new Error();
console.warn('DEPRECATED! RxJS was set to use deprecated synchronous error handling behavior by code at: \n' + error.stack);
}
else if (_enable_super_gross_mode_that_will_cause_bad_things) {
console.log('RxJS: Back to a better error behavior. Thank you. <3');
}
_enable_super_gross_mode_that_will_cause_bad_things = value;
},
get useDeprecatedSynchronousErrorHandling() {
return _enable_super_gross_mode_that_will_cause_bad_things;
},
};
function hostReportError(err) {
setTimeout(function () { throw err; });
}
var empty = {
closed: true,
next: function (value) { },
error: function (err) {
if (config.useDeprecatedSynchronousErrorHandling) {
throw err;
}
else {
hostReportError(err);
}
},
complete: function () { }
};
var isArray = Array.isArray || (function (x) { return x && typeof x.length === 'number'; });
function isObject(x) {
return x !== null && typeof x === 'object';
}
function UnsubscriptionErrorImpl(errors) {
Error.call(this);
this.message = errors ?
errors.length + " errors occurred during unsubscription:\n" + errors.map(function (err, i) { return i + 1 + ") " + err.toString(); }).join('\n ') : '';
this.name = 'UnsubscriptionError';
this.errors = errors;
return this;
}
UnsubscriptionErrorImpl.prototype = Object.create(Error.prototype);
var UnsubscriptionError = UnsubscriptionErrorImpl;
var Subscription = /** @class */ (function () {
function Subscription(unsubscribe) {
this.closed = false;
this._parent = null;
this._parents = null;
this._subscriptions = null;
if (unsubscribe) {
this._unsubscribe = unsubscribe;
}
}
Subscription.prototype.unsubscribe = function () {
var hasErrors = false;
var errors;
if (this.closed) {
return;
}
var _a = this, _parent = _a._parent, _parents = _a._parents, _unsubscribe = _a._unsubscribe, _subscriptions = _a._subscriptions;
this.closed = true;
this._parent = null;
this._parents = null;
this._subscriptions = null;
var index = -1;
var len = _parents ? _parents.length : 0;
while (_parent) {
_parent.remove(this);
_parent = ++index < len && _parents[index] || null;
}
if (isFunction(_unsubscribe)) {
try {
_unsubscribe.call(this);
}
catch (e) {
hasErrors = true;
errors = e instanceof UnsubscriptionError ? flattenUnsubscriptionErrors(e.errors) : [e];
}
}
if (isArray(_subscriptions)) {
index = -1;
len = _subscriptions.length;
while (++index < len) {
var sub = _subscriptions[index];
if (isObject(sub)) {
try {
sub.unsubscribe();
}
catch (e) {
hasErrors = true;
errors = errors || [];
if (e instanceof UnsubscriptionError) {
errors = errors.concat(flattenUnsubscriptionErrors(e.errors));
}
else {
errors.push(e);
}
}
}
}
}
if (hasErrors) {
throw new UnsubscriptionError(errors);
}
};
Subscription.prototype.add = function (teardown) {
var subscription = teardown;
switch (typeof teardown) {
case 'function':
subscription = new Subscription(teardown);
case 'object':
if (subscription === this || subscription.closed || typeof subscription.unsubscribe !== 'function') {
return subscription;
}
else if (this.closed) {
subscription.unsubscribe();
return subscription;
}
else if (!(subscription instanceof Subscription)) {
var tmp = subscription;
subscription = new Subscription();
subscription._subscriptions = [tmp];
}
break;
default: {
if (!teardown) {
return Subscription.EMPTY;
}
throw new Error('unrecognized teardown ' + teardown + ' added to Subscription.');
}
}
if (subscription._addParent(this)) {
var subscriptions = this._subscriptions;
if (subscriptions) {
subscriptions.push(subscription);
}
else {
this._subscriptions = [subscription];
}
}
return subscription;
};
Subscription.prototype.remove = function (subscription) {
var subscriptions = this._subscriptions;
if (subscriptions) {
var subscriptionIndex = subscriptions.indexOf(subscription);
if (subscriptionIndex !== -1) {
subscriptions.splice(subscriptionIndex, 1);
}
}
};
Subscription.prototype._addParent = function (parent) {
var _a = this, _parent = _a._parent, _parents = _a._parents;
if (_parent === parent) {
return false;
}
else if (!_parent) {
this._parent = parent;
return true;
}
else if (!_parents) {
this._parents = [parent];
return true;
}
else if (_parents.indexOf(parent) === -1) {
_parents.push(parent);
return true;
}
return false;
};
return Subscription;
}());
Subscription.EMPTY = (function (empty) {
empty.closed = true;
return empty;
}(new Subscription()));
function flattenUnsubscriptionErrors(errors) {
return errors.reduce(function (errs, err) { return errs.concat((err instanceof UnsubscriptionError) ? err.errors : err); }, []);
}
var rxSubscriber = typeof Symbol === 'function'
? Symbol('rxSubscriber')
: '@@rxSubscriber_' + Math.random();
var Subscriber = /** @class */ (function (_super) {
__extends(Subscriber, _super);
function Subscriber(destinationOrNext, error, complete) {
var _this = _super.call(this) || this;
_this.syncErrorValue = null;
_this.syncErrorThrown = false;
_this.syncErrorThrowable = false;
_this.isStopped = false;
switch (arguments.length) {
case 0:
_this.destination = empty;
break;
case 1:
if (!destinationOrNext) {
_this.destination = empty;
break;
}
if (typeof destinationOrNext === 'object') {
if (destinationOrNext instanceof Subscriber) {
_this.syncErrorThrowable = destinationOrNext.syncErrorThrowable;
_this.destination = destinationOrNext;
destinationOrNext.add(_this);
}
else {
_this.syncErrorThrowable = true;
_this.destination = new SafeSubscriber(_this, destinationOrNext);
}
break;
}
default:
_this.syncErrorThrowable = true;
_this.destination = new SafeSubscriber(_this, destinationOrNext, error, complete);
break;
}
return _this;
}
Subscriber.prototype[rxSubscriber] = function () { return this; };
Subscriber.create = function (next, error, complete) {
var subscriber = new Subscriber(next, error, complete);
subscriber.syncErrorThrowable = false;
return subscriber;
};
Subscriber.prototype.next = function (value) {
if (!this.isStopped) {
this._next(value);
}
};
Subscriber.prototype.error = function (err) {
if (!this.isStopped) {
this.isStopped = true;
this._error(err);
}
};
Subscriber.prototype.complete = function () {
if (!this.isStopped) {
this.isStopped = true;
this._complete();
}
};
Subscriber.prototype.unsubscribe = function () {
if (this.closed) {
return;
}
this.isStopped = true;
_super.prototype.unsubscribe.call(this);
};
Subscriber.prototype._next = function (value) {
this.destination.next(value);
};
Subscriber.prototype._error = function (err) {
this.destination.error(err);
this.unsubscribe();
};
Subscriber.prototype._complete = function () {
this.destination.complete();
this.unsubscribe();
};
Subscriber.prototype._unsubscribeAndRecycle = function () {
var _a = this, _parent = _a._parent, _parents = _a._parents;
this._parent = null;
this._parents = null;
this.unsubscribe();
this.closed = false;
this.isStopped = false;
this._parent = _parent;
this._parents = _parents;
return this;
};
return Subscriber;
}(Subscription));
var SafeSubscriber = /** @class */ (function (_super) {
__extends(SafeSubscriber, _super);
function SafeSubscriber(_parentSubscriber, observerOrNext, error, complete) {
var _this = _super.call(this) || this;
_this._parentSubscriber = _parentSubscriber;
var next;
var context = _this;
if (isFunction(observerOrNext)) {
next = observerOrNext;
}
else if (observerOrNext) {
next = observerOrNext.next;
error = observerOrNext.error;
complete = observerOrNext.complete;
if (observerOrNext !== empty) {
context = Object.create(observerOrNext);
if (isFunction(context.unsubscribe)) {
_this.add(context.unsubscribe.bind(context));
}
context.unsubscribe = _this.unsubscribe.bind(_this);
}
}
_this._context = context;
_this._next = next;
_this._error = error;
_this._complete = complete;
return _this;
}
SafeSubscriber.prototype.next = function (value) {
if (!this.isStopped && this._next) {
var _parentSubscriber = this._parentSubscriber;
if (!config.useDeprecatedSynchronousErrorHandling || !_parentSubscriber.syncErrorThrowable) {
this.__tryOrUnsub(this._next, value);
}
else if (this.__tryOrSetError(_parentSubscriber, this._next, value)) {
this.unsubscribe();
}
}
};
SafeSubscriber.prototype.error = function (err) {
if (!this.isStopped) {
var _parentSubscriber = this._parentSubscriber;
var useDeprecatedSynchronousErrorHandling = config.useDeprecatedSynchronousErrorHandling;
if (this._error) {
if (!useDeprecatedSynchronousErrorHandling || !_parentSubscriber.syncErrorThrowable) {
this.__tryOrUnsub(this._error, err);
this.unsubscribe();
}
else {
this.__tryOrSetError(_parentSubscriber, this._error, err);
this.unsubscribe();
}
}
else if (!_parentSubscriber.syncErrorThrowable) {
this.unsubscribe();
if (useDeprecatedSynchronousErrorHandling) {
throw err;
}
hostReportError(err);
}
else {
if (useDeprecatedSynchronousErrorHandling) {
_parentSubscriber.syncErrorValue = err;
_parentSubscriber.syncErrorThrown = true;
}
else {
hostReportError(err);
}
this.unsubscribe();
}
}
};
SafeSubscriber.prototype.complete = function () {
var _this = this;
if (!this.isStopped) {
var _parentSubscriber = this._parentSubscriber;
if (this._complete) {
var wrappedComplete = function () { return _this._complete.call(_this._context); };
if (!config.useDeprecatedSynchronousErrorHandling || !_parentSubscriber.syncErrorThrowable) {
this.__tryOrUnsub(wrappedComplete);
this.unsubscribe();
}
else {
this.__tryOrSetError(_parentSubscriber, wrappedComplete);
this.unsubscribe();
}
}
else {
this.unsubscribe();
}
}
};
SafeSubscriber.prototype.__tryOrUnsub = function (fn, value) {
try {
fn.call(this._context, value);
}
catch (err) {
this.unsubscribe();
if (config.useDeprecatedSynchronousErrorHandling) {
throw err;
}
else {
hostReportError(err);
}
}
};
SafeSubscriber.prototype.__tryOrSetError = function (parent, fn, value) {
if (!config.useDeprecatedSynchronousErrorHandling) {
throw new Error('bad call');
}
try {
fn.call(this._context, value);
}
catch (err) {
if (config.useDeprecatedSynchronousErrorHandling) {
parent.syncErrorValue = err;
parent.syncErrorThrown = true;
return true;
}
else {
hostReportError(err);
return true;
}
}
return false;
};
SafeSubscriber.prototype._unsubscribe = function () {
var _parentSubscriber = this._parentSubscriber;
this._context = null;
this._parentSubscriber = null;
_parentSubscriber.unsubscribe();
};
return SafeSubscriber;
}(Subscriber));
function canReportError(observer) {
while (observer) {
var closed_1 = observer.closed, destination = observer.destination, isStopped = observer.isStopped;
if (closed_1 || isStopped) {
return false;
}
else if (destination && destination instanceof Subscriber) {
observer = destination;
}
else {
observer = null;
}
}
return true;
}
function toSubscriber(nextOrObserver, error, complete) {
if (nextOrObserver) {
if (nextOrObserver instanceof Subscriber) {
return nextOrObserver;
}
if (nextOrObserver[rxSubscriber]) {
return nextOrObserver[rxSubscriber]();
}
}
if (!nextOrObserver && !error && !complete) {
return new Subscriber(empty);
}
return new Subscriber(nextOrObserver, error, complete);
}
var observable = typeof Symbol === 'function' && Symbol.observable || '@@observable';
function noop() { }
function pipeFromArray(fns) {
if (!fns) {
return noop;
}
if (fns.length === 1) {
return fns[0];
}
return function piped(input) {
return fns.reduce(function (prev, fn) { return fn(prev); }, input);
};
}
var Observable = /** @class */ (function () {
function Observable(subscribe) {
this._isScalar = false;
if (subscribe) {
this._subscribe = subscribe;
}
}
Observable.prototype.lift = function (operator) {
var observable = new Observable();
observable.source = this;
observable.operator = operator;
return observable;
};
Observable.prototype.subscribe = function (observerOrNext, error, complete) {
var operator = this.operator;
var sink = toSubscriber(observerOrNext, error, complete);
if (operator) {
sink.add(operator.call(sink, this.source));
}
else {
sink.add(this.source || (config.useDeprecatedSynchronousErrorHandling && !sink.syncErrorThrowable) ?
this._subscribe(sink) :
this._trySubscribe(sink));
}
if (config.useDeprecatedSynchronousErrorHandling) {
if (sink.syncErrorThrowable) {
sink.syncErrorThrowable = false;
if (sink.syncErrorThrown) {
throw sink.syncErrorValue;
}
}
}
return sink;
};
Observable.prototype._trySubscribe = function (sink) {
try {
return this._subscribe(sink);
}
catch (err) {
if (config.useDeprecatedSynchronousErrorHandling) {
sink.syncErrorThrown = true;
sink.syncErrorValue = err;
}
if (canReportError(sink)) {
sink.error(err);
}
else {
console.warn(err);
}
}
};
Observable.prototype.forEach = function (next, promiseCtor) {
var _this = this;
promiseCtor = getPromiseCtor(promiseCtor);
return new promiseCtor(function (resolve, reject) {
var subscription;
subscription = _this.subscribe(function (value) {
try {
next(value);
}
catch (err) {
reject(err);
if (subscription) {
subscription.unsubscribe();
}
}
}, reject, resolve);
});
};
Observable.prototype._subscribe = function (subscriber) {
var source = this.source;
return source && source.subscribe(subscriber);
};
Observable.prototype[observable] = function () {
return this;
};
Observable.prototype.pipe = function () {
var operations = [];
for (var _i = 0; _i < arguments.length; _i++) {
operations[_i] = arguments[_i];
}
if (operations.length === 0) {
return this;
}
return pipeFromArray(operations)(this);
};
Observable.prototype.toPromise = function (promiseCtor) {
var _this = this;
promiseCtor = getPromiseCtor(promiseCtor);
return new promiseCtor(function (resolve, reject) {
var value;
_this.subscribe(function (x) { return value = x; }, function (err) { return reject(err); }, function () { return resolve(value); });
});
};
return Observable;
}());
Observable.create = function (subscribe) {
return new Observable(subscribe);
};
function getPromiseCtor(promiseCtor) {
if (!promiseCtor) {
promiseCtor = Promise;
}
if (!promiseCtor) {
throw new Error('no Promise impl found');
}
return promiseCtor;
}
var SubjectSubscriber = /** @class */ (function (_super) {
__extends(SubjectSubscriber, _super);
function SubjectSubscriber(destination) {
var _this = _super.call(this, destination) || this;
_this.destination = destination;
return _this;
}
return SubjectSubscriber;
}(Subscriber));
function refCount() {
return function refCountOperatorFunction(source) {
return source.lift(new RefCountOperator(source));
};
}
var RefCountOperator = /** @class */ (function () {
function RefCountOperator(connectable) {
this.connectable = connectable;
}
RefCountOperator.prototype.call = function (subscriber, source) {
var connectable = this.connectable;
connectable._refCount++;
var refCounter = new RefCountSubscriber(subscriber, connectable);
var subscription = source.subscribe(refCounter);
if (!refCounter.closed) {
refCounter.connection = connectable.connect();
}
return subscription;
};
return RefCountOperator;
}());
var RefCountSubscriber = /** @class */ (function (_super) {
__extends(RefCountSubscriber, _super);
function RefCountSubscriber(destination, connectable) {
var _this = _super.call(this, destination) || this;
_this.connectable = connectable;
return _this;
}
RefCountSubscriber.prototype._unsubscribe = function () {
var connectable = this.connectable;
if (!connectable) {
this.connection = null;
return;
}
this.connectable = null;
var refCount = connectable._refCount;
if (refCount <= 0) {
this.connection = null;
return;
}
connectable._refCount = refCount - 1;
if (refCount > 1) {
this.connection = null;
return;
}
var connection = this.connection;
var sharedConnection = connectable._connection;
this.connection = null;
if (sharedConnection && (!connection || sharedConnection === connection)) {
sharedConnection.unsubscribe();
}
};
return RefCountSubscriber;
}(Subscriber));
var ConnectableObservable = /** @class */ (function (_super) {
__extends(ConnectableObservable, _super);
function ConnectableObservable(source, subjectFactory) {
var _this = _super.call(this) || this;
_this.source = source;
_this.subjectFactory = subjectFactory;
_this._refCount = 0;
_this._isComplete = false;
return _this;
}
ConnectableObservable.prototype._subscribe = function (subscriber) {
return this.getSubject().subscribe(subscriber);
};
ConnectableObservable.prototype.getSubject = function () {
var subject = this._subject;
if (!subject || subject.isStopped) {
this._subject = this.subjectFactory();
}
return this._subject;
};
ConnectableObservable.prototype.connect = function () {
var connection = this._connection;
if (!connection) {
this._isComplete = false;
connection = this._connection = new Subscription();
connection.add(this.source
.subscribe(new ConnectableSubscriber(this.getSubject(), this)));
if (connection.closed) {
this._connection = null;
connection = Subscription.EMPTY;
}
else {
this._connection = connection;
}
}
return connection;
};
ConnectableObservable.prototype.refCount = function () {
return refCount()(this);
};
return ConnectableObservable;
}(Observable));
var connectableProto = ConnectableObservable.prototype;
var connectableObservableDescriptor = {
operator: { value: null },
_refCount: { value: 0, writable: true },
_subject: { value: null, writable: true },
_connection: { value: null, writable: true },
_subscribe: { value: connectableProto._subscribe },
_isComplete: { value: connectableProto._isComplete, writable: true },
getSubject: { value: connectableProto.getSubject },
connect: { value: connectableProto.connect },
refCount: { value: connectableProto.refCount }
};
var ConnectableSubscriber = /** @class */ (function (_super) {
__extends(ConnectableSubscriber, _super);
function ConnectableSubscriber(destination, connectable) {
var _this = _super.call(this, destination) || this;
_this.connectable = connectable;
return _this;
}
ConnectableSubscriber.prototype._error = function (err) {
this._unsubscribe();
_super.prototype._error.call(this, err);
};
ConnectableSubscriber.prototype._complete = function () {
this.connectable._isComplete = true;
this._unsubscribe();
_super.prototype._complete.call(this);
};
ConnectableSubscriber.prototype._unsubscribe = function () {
var connectable = this.connectable;
if (connectable) {
this.connectable = null;
var connection = connectable._connection;
connectable._refCount = 0;
connectable._subject = null;
connectable._connection = null;
if (connection) {
connection.unsubscribe();
}
}
};
return ConnectableSubscriber;
}(SubjectSubscriber));
var Action = /** @class */ (function (_super) {
__extends(Action, _super);
function Action(scheduler, work) {
return _super.call(this) || this;
}
Action.prototype.schedule = function (state, delay) {
if (delay === void 0) { delay = 0; }
return this;
};
return Action;
}(Subscription));
var AsyncAction = /** @class */ (function (_super) {
__extends(AsyncAction, _super);
function AsyncAction(scheduler, work) {
var _this = _super.call(this, scheduler, work) || this;
_this.scheduler = scheduler;
_this.work = work;
_this.pending = false;
return _this;
}
AsyncAction.prototype.schedule = function (state, delay) {
if (delay === void 0) { delay = 0; }
if (this.closed) {
return this;
}
this.state = state;
var id = this.id;
var scheduler = this.scheduler;
if (id != null) {
this.id = this.recycleAsyncId(scheduler, id, delay);
}
this.pending = true;
this.delay = delay;
this.id = this.id || this.requestAsyncId(scheduler, this.id, delay);
return this;
};
AsyncAction.prototype.requestAsyncId = function (scheduler, id, delay) {
if (delay === void 0) { delay = 0; }
return setInterval(scheduler.flush.bind(scheduler, this), delay);
};
AsyncAction.prototype.recycleAsyncId = function (scheduler, id, delay) {
if (delay === void 0) { delay = 0; }
if (delay !== null && this.delay === delay && this.pending === false) {
return id;
}
clearInterval(id);
return undefined;
};
AsyncAction.prototype.execute = function (state, delay) {
if (this.closed) {
return new Error('executing a cancelled action');
}
this.pending = false;
var error = this._execute(state, delay);
if (error) {
return error;
}
else if (this.pending === false && this.id != null) {
this.id = this.recycleAsyncId(this.scheduler, this.id, null);
}
};
AsyncAction.prototype._execute = function (state, delay) {
var errored = false;
var errorValue = undefined;
try {
this.work(state);
}
catch (e) {
errored = true;
errorValue = !!e && e || new Error(e);
}
if (errored) {
this.unsubscribe();
return errorValue;
}
};
AsyncAction.prototype._unsubscribe = function () {
var id = this.id;
var scheduler = this.scheduler;
var actions = scheduler.actions;
var index = actions.indexOf(this);
this.work = null;
this.state = null;
this.pending = false;
this.scheduler = null;
if (index !== -1) {
actions.splice(index, 1);
}
if (id != null) {
this.id = this.recycleAsyncId(scheduler, id, null);
}
this.delay = null;
};
return AsyncAction;
}(Action));
var QueueAction = /** @class */ (function (_super) {
__extends(QueueAction, _super);
function QueueAction(scheduler, work) {
var _this = _super.call(this, scheduler, work) || this;
_this.scheduler = scheduler;
_this.work = work;
return _this;
}
QueueAction.prototype.schedule = function (state, delay) {
if (delay === void 0) { delay = 0; }
if (delay > 0) {
return _super.prototype.schedule.call(this, state, delay);
}
this.delay = delay;
this.state = state;
this.scheduler.flush(this);
return this;
};
QueueAction.prototype.execute = function (state, delay) {
return (delay > 0 || this.closed) ?
_super.prototype.execute.call(this, state, delay) :
this._execute(state, delay);
};
QueueAction.prototype.requestAsyncId = function (scheduler, id, delay) {
if (delay === void 0) { delay = 0; }
if ((delay !== null && delay > 0) || (delay === null && this.delay > 0)) {
return _super.prototype.requestAsyncId.call(this, scheduler, id, delay);
}
return scheduler.flush(this);
};
return QueueAction;
}(AsyncAction));
var Scheduler = /** @class */ (function () {
function Scheduler(SchedulerAction, now) {
if (now === void 0) { now = Scheduler.now; }
this.SchedulerAction = SchedulerAction;
this.now = now;
}
Scheduler.prototype.schedule = function (work, delay, state) {
if (delay === void 0) { delay = 0; }
return new this.SchedulerAction(this, work).schedule(state, delay);
};
return Scheduler;
}());
Scheduler.now = function () { return Date.now(); };
var AsyncScheduler = /** @class */ (function (_super) {
__extends(AsyncScheduler, _super);
function AsyncScheduler(SchedulerAction, now) {
if (now === void 0) { now = Scheduler.now; }
var _this = _super.call(this, SchedulerAction, function () {
if (AsyncScheduler.delegate && AsyncScheduler.delegate !== _this) {
return AsyncScheduler.delegate.now();
}
else {
return now();
}
}) || this;
_this.actions = [];
_this.active = false;
_this.scheduled = undefined;
return _this;
}
AsyncScheduler.prototype.schedule = function (work, delay, state) {
if (delay === void 0) { delay = 0; }
if (AsyncScheduler.delegate && AsyncScheduler.delegate !== this) {
return AsyncScheduler.delegate.schedule(work, delay, state);
}
else {
return _super.prototype.schedule.call(this, work, delay, state);
}
};
AsyncScheduler.prototype.flush = function (action) {
var actions = this.actions;
if (this.active) {
actions.push(action);
return;
}
var error;
this.active = true;
do {
if (error = action.execute(action.state, action.delay)) {
break;
}
} while (action = actions.shift());
this.active = false;
if (error) {
while (action = actions.shift()) {
action.unsubscribe();
}
throw error;
}
};
return AsyncScheduler;
}(Scheduler));
var QueueScheduler = /** @class */ (function (_super) {
__extends(QueueScheduler, _super);
function QueueScheduler() {
return _super !== null && _super.apply(this, arguments) || this;
}
return QueueScheduler;
}(AsyncScheduler));
var queue = new QueueScheduler(QueueAction);
var NotificationKind;
(function (NotificationKind) {
NotificationKind["NEXT"] = "N";
NotificationKind["ERROR"] = "E";
NotificationKind["COMPLETE"] = "C";
})(NotificationKind || (NotificationKind = {}));
var nextHandle = 1;
var tasksByHandle = {};
function runIfPresent(handle) {
var cb = tasksByHandle[handle];
if (cb) {
cb();
}
}
var Immediate = {
setImmediate: function (cb) {
var handle = nextHandle++;
tasksByHandle[handle] = cb;
Promise.resolve().then(function () { return runIfPresent(handle); });
return handle;
},
clearImmediate: function (handle) {
delete tasksByHandle[handle];
},
};
var AsapAction = /** @class */ (function (_super) {
__extends(AsapAction, _super);
function AsapAction(scheduler, work) {
var _this = _super.call(this, scheduler, work) || this;
_this.scheduler = scheduler;
_this.work = work;
return _this;
}
AsapAction.prototype.requestAsyncId = function (scheduler, id, delay) {
if (delay === void 0) { delay = 0; }
if (delay !== null && delay > 0) {
return _super.prototype.requestAsyncId.call(this, scheduler, id, delay);
}
scheduler.actions.push(this);
return scheduler.scheduled || (scheduler.scheduled = Immediate.setImmediate(scheduler.flush.bind(scheduler, null)));
};
AsapAction.prototype.recycleAsyncId = function (scheduler, id, delay) {
if (delay === void 0) { delay = 0; }
if ((delay !== null && delay > 0) || (delay === null && this.delay > 0)) {
return _super.prototype.recycleAsyncId.call(this, scheduler, id, delay);
}
if (scheduler.actions.length === 0) {
Immediate.clearImmediate(id);
scheduler.scheduled = undefined;
}
return undefined;
};
return AsapAction;
}(AsyncAction));
var AsapScheduler = /** @class */ (function (_super) {
__extends(AsapScheduler, _super);
function AsapScheduler() {
return _super !== null && _super.apply(this, arguments) || this;
}
AsapScheduler.prototype.flush = function (action) {
this.active = true;
this.scheduled = undefined;
var actions = this.actions;
var error;
var index = -1;
var count = actions.length;
action = action || actions.shift();
do {
if (error = action.execute(action.state, action.delay)) {
break;
}
} while (++index < count && (action = actions.shift()));
this.active = false;
if (error) {
while (++index < count && (action = actions.shift())) {
action.unsubscribe();
}
throw error;
}
};
return AsapScheduler;
}(AsyncScheduler));
var asap = new AsapScheduler(AsapAction);
var async = new AsyncScheduler(AsyncAction);
var AnimationFrameAction = /** @class */ (function (_super) {
__extends(AnimationFrameAction, _super);
function AnimationFrameAction(scheduler, work) {
var _this = _super.call(this, scheduler, work) || this;
_this.scheduler = scheduler;
_this.work = work;
return _this;
}
AnimationFrameAction.prototype.requestAsyncId = function (scheduler, id, delay) {
if (delay === void 0) { delay = 0; }
if (delay !== null && delay > 0) {
return _super.prototype.requestAsyncId.call(this, scheduler, id, delay);
}
scheduler.actions.push(this);
return scheduler.scheduled || (scheduler.scheduled = requestAnimationFrame(function () { return scheduler.flush(null); }));
};
AnimationFrameAction.prototype.recycleAsyncId = function (scheduler, id, delay) {
if (delay === void 0) { delay = 0; }
if ((delay !== null && delay > 0) || (delay === null && this.delay > 0)) {
return _super.prototype.recycleAsyncId.call(this, scheduler, id, delay);
}
if (scheduler.actions.length === 0) {
cancelAnimationFrame(id);
scheduler.scheduled = undefined;
}
return undefined;
};
return AnimationFrameAction;
}(AsyncAction));
var AnimationFrameScheduler = /** @class */ (function (_super) {
__extends(AnimationFrameScheduler, _super);
function AnimationFrameScheduler() {
return _super !== null && _super.apply(this, arguments) || this;
}
AnimationFrameScheduler.prototype.flush = function (action) {
this.active = true;
this.scheduled = undefined;
var actions = this.actions;
var error;
var index = -1;
var count = actions.length;
action = action || actions.shift();
do {
if (error = action.execute(action.state, action.delay)) {
break;
}
} while (++index < count && (action = actions.shift()));
this.active = false;
if (error) {
while (++index < count && (action = actions.shift())) {
action.unsubscribe();
}
throw error;
}
};
return AnimationFrameScheduler;
}(AsyncScheduler));
var animationFrame = new AnimationFrameScheduler(AnimationFrameAction);
/**

@@ -1082,12 +20,12 @@ * @license

Zone.__load_patch('rxjs.Scheduler.now', function (global, Zone, api) {
api.patchMethod(Scheduler, 'now', function (delegate) { return function (self, args) {
api.patchMethod(rxjs.Scheduler, 'now', function (delegate) { return function (self, args) {
return Date.now.call(self);
}; });
api.patchMethod(async, 'now', function (delegate) { return function (self, args) {
api.patchMethod(rxjs.asyncScheduler, 'now', function (delegate) { return function (self, args) {
return Date.now.call(self);
}; });
api.patchMethod(asap, 'now', function (delegate) { return function (self, args) {
api.patchMethod(rxjs.asapScheduler, 'now', function (delegate) { return function (self, args) {
return Date.now.call(self);
}; });
});
}));
})));

@@ -1,14 +0,8 @@

var __extends=this&&this.__extends||function(){var t=function(e,n){return(t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var n in e)e.hasOwnProperty(n)&&(t[n]=e[n])})(e,n)};return function(e,n){function r(){this.constructor=e}t(e,n),e.prototype=null===n?Object.create(n):(r.prototype=n.prototype,new r)}}();
/**
* @license Angular v0.10.2
* (c) 2010-2019 Google LLC. https://angular.io/
* License: MIT
*/
* @license Angular v9.1.0-next.4+61.sha-e552591.with-local-changes
* (c) 2010-2020 Google LLC. https://angular.io/
* License: MIT
*/
!function(n,e){"object"==typeof exports&&"undefined"!=typeof module?e(require("rxjs")):"function"==typeof define&&define.amd?define(["rxjs"],e):e((n=n||self).rxjs)}(this,(function(n){"use strict";
/**
* @license Angular v0.10.2
* (c) 2010-2019 Google LLC. https://angular.io/
* License: MIT
*/
!function(t){"function"==typeof define&&define.amd?define(t):t()}(function(){"use strict";function t(t){return"function"==typeof t}var e=!1,n={Promise:void 0,set useDeprecatedSynchronousErrorHandling(t){if(t){var n=new Error;console.warn("DEPRECATED! RxJS was set to use deprecated synchronous error handling behavior by code at: \n"+n.stack)}else e&&console.log("RxJS: Back to a better error behavior. Thank you. <3");e=t},get useDeprecatedSynchronousErrorHandling(){return e}};function r(t){setTimeout(function(){throw t})}var i={closed:!0,next:function(t){},error:function(t){if(n.useDeprecatedSynchronousErrorHandling)throw t;r(t)},complete:function(){}},o=Array.isArray||function(t){return t&&"number"==typeof t.length};function s(t){return Error.call(this),this.message=t?t.length+" errors occurred during unsubscription:\n"+t.map(function(t,e){return e+1+") "+t.toString()}).join("\n "):"",this.name="UnsubscriptionError",this.errors=t,this}s.prototype=Object.create(Error.prototype);var c=s,u=function(){function e(t){this.closed=!1,this._parent=null,this._parents=null,this._subscriptions=null,t&&(this._unsubscribe=t)}return e.prototype.unsubscribe=function(){var e,n=!1;if(!this.closed){var r=this._parent,i=this._parents,s=this._unsubscribe,u=this._subscriptions;this.closed=!0,this._parent=null,this._parents=null,this._subscriptions=null;for(var l,a=-1,p=i?i.length:0;r;)r.remove(this),r=++a<p&&i[a]||null;if(t(s))try{s.call(this)}catch(t){n=!0,e=t instanceof c?h(t.errors):[t]}if(o(u))for(a=-1,p=u.length;++a<p;){var f=u[a];if(null!==(l=f)&&"object"==typeof l)try{f.unsubscribe()}catch(t){n=!0,e=e||[],t instanceof c?e=e.concat(h(t.errors)):e.push(t)}}if(n)throw new c(e)}},e.prototype.add=function(t){var n=t;switch(typeof t){case"function":n=new e(t);case"object":if(n===this||n.closed||"function"!=typeof n.unsubscribe)return n;if(this.closed)return n.unsubscribe(),n;if(!(n instanceof e)){var r=n;(n=new e)._subscriptions=[r]}break;default:if(!t)return e.EMPTY;throw new Error("unrecognized teardown "+t+" added to Subscription.")}if(n._addParent(this)){var i=this._subscriptions;i?i.push(n):this._subscriptions=[n]}return n},e.prototype.remove=function(t){var e=this._subscriptions;if(e){var n=e.indexOf(t);-1!==n&&e.splice(n,1)}},e.prototype._addParent=function(t){var e=this._parent,n=this._parents;return e!==t&&(e?n?-1===n.indexOf(t)&&(n.push(t),!0):(this._parents=[t],!0):(this._parent=t,!0))},e}();function h(t){return t.reduce(function(t,e){return t.concat(e instanceof c?e.errors:e)},[])}u.EMPTY=function(t){return t.closed=!0,t}(new u);var l="function"==typeof Symbol?Symbol("rxSubscriber"):"@@rxSubscriber_"+Math.random(),a=function(t){function e(n,r,o){var s=t.call(this)||this;switch(s.syncErrorValue=null,s.syncErrorThrown=!1,s.syncErrorThrowable=!1,s.isStopped=!1,arguments.length){case 0:s.destination=i;break;case 1:if(!n){s.destination=i;break}if("object"==typeof n){n instanceof e?(s.syncErrorThrowable=n.syncErrorThrowable,s.destination=n,n.add(s)):(s.syncErrorThrowable=!0,s.destination=new p(s,n));break}default:s.syncErrorThrowable=!0,s.destination=new p(s,n,r,o)}return s}return __extends(e,t),e.prototype[l]=function(){return this},e.create=function(t,n,r){var i=new e(t,n,r);return i.syncErrorThrowable=!1,i},e.prototype.next=function(t){this.isStopped||this._next(t)},e.prototype.error=function(t){this.isStopped||(this.isStopped=!0,this._error(t))},e.prototype.complete=function(){this.isStopped||(this.isStopped=!0,this._complete())},e.prototype.unsubscribe=function(){this.closed||(this.isStopped=!0,t.prototype.unsubscribe.call(this))},e.prototype._next=function(t){this.destination.next(t)},e.prototype._error=function(t){this.destination.error(t),this.unsubscribe()},e.prototype._complete=function(){this.destination.complete(),this.unsubscribe()},e.prototype._unsubscribeAndRecycle=function(){var t=this._parent,e=this._parents;return this._parent=null,this._parents=null,this.unsubscribe(),this.closed=!1,this.isStopped=!1,this._parent=t,this._parents=e,this},e}(u),p=function(e){function o(n,r,o,s){var c,u=e.call(this)||this;u._parentSubscriber=n;var h=u;return t(r)?c=r:r&&(c=r.next,o=r.error,s=r.complete,r!==i&&(t((h=Object.create(r)).unsubscribe)&&u.add(h.unsubscribe.bind(h)),h.unsubscribe=u.unsubscribe.bind(u))),u._context=h,u._next=c,u._error=o,u._complete=s,u}return __extends(o,e),o.prototype.next=function(t){if(!this.isStopped&&this._next){var e=this._parentSubscriber;n.useDeprecatedSynchronousErrorHandling&&e.syncErrorThrowable?this.__tryOrSetError(e,this._next,t)&&this.unsubscribe():this.__tryOrUnsub(this._next,t)}},o.prototype.error=function(t){if(!this.isStopped){var e=this._parentSubscriber,i=n.useDeprecatedSynchronousErrorHandling;if(this._error)i&&e.syncErrorThrowable?(this.__tryOrSetError(e,this._error,t),this.unsubscribe()):(this.__tryOrUnsub(this._error,t),this.unsubscribe());else if(e.syncErrorThrowable)i?(e.syncErrorValue=t,e.syncErrorThrown=!0):r(t),this.unsubscribe();else{if(this.unsubscribe(),i)throw t;r(t)}}},o.prototype.complete=function(){var t=this;if(!this.isStopped){var e=this._parentSubscriber;if(this._complete){var r=function(){return t._complete.call(t._context)};n.useDeprecatedSynchronousErrorHandling&&e.syncErrorThrowable?(this.__tryOrSetError(e,r),this.unsubscribe()):(this.__tryOrUnsub(r),this.unsubscribe())}else this.unsubscribe()}},o.prototype.__tryOrUnsub=function(t,e){try{t.call(this._context,e)}catch(t){if(this.unsubscribe(),n.useDeprecatedSynchronousErrorHandling)throw t;r(t)}},o.prototype.__tryOrSetError=function(t,e,i){if(!n.useDeprecatedSynchronousErrorHandling)throw new Error("bad call");try{e.call(this._context,i)}catch(e){return n.useDeprecatedSynchronousErrorHandling?(t.syncErrorValue=e,t.syncErrorThrown=!0,!0):(r(e),!0)}return!1},o.prototype._unsubscribe=function(){var t=this._parentSubscriber;this._context=null,this._parentSubscriber=null,t.unsubscribe()},o}(a),f="function"==typeof Symbol&&Symbol.observable||"@@observable";function d(){}var b=function(){function t(t){this._isScalar=!1,t&&(this._subscribe=t)}return t.prototype.lift=function(e){var n=new t;return n.source=this,n.operator=e,n},t.prototype.subscribe=function(t,e,r){var o=this.operator,s=function c(t,e,n){if(t){if(t instanceof a)return t;if(t[l])return t[l]()}return t||e||n?new a(t,e,n):new a(i)}(t,e,r);if(s.add(o?o.call(s,this.source):this.source||n.useDeprecatedSynchronousErrorHandling&&!s.syncErrorThrowable?this._subscribe(s):this._trySubscribe(s)),n.useDeprecatedSynchronousErrorHandling&&s.syncErrorThrowable&&(s.syncErrorThrowable=!1,s.syncErrorThrown))throw s.syncErrorValue;return s},t.prototype._trySubscribe=function(t){try{return this._subscribe(t)}catch(e){n.useDeprecatedSynchronousErrorHandling&&(t.syncErrorThrown=!0,t.syncErrorValue=e),function e(t){for(;t;){var e=t.destination;if(t.closed||t.isStopped)return!1;t=e&&e instanceof a?e:null}return!0}(t)?t.error(e):console.warn(e)}},t.prototype.forEach=function(t,e){var n=this;return new(e=y(e))(function(e,r){var i;i=n.subscribe(function(e){try{t(e)}catch(t){r(t),i&&i.unsubscribe()}},r,e)})},t.prototype._subscribe=function(t){var e=this.source;return e&&e.subscribe(t)},t.prototype[f]=function(){return this},t.prototype.pipe=function(){for(var t=[],e=0;e<arguments.length;e++)t[e]=arguments[e];return 0===t.length?this:function n(t){return t?1===t.length?t[0]:function e(n){return t.reduce(function(t,e){return e(t)},n)}:d}(t)(this)},t.prototype.toPromise=function(t){var e=this;return new(t=y(t))(function(t,n){var r;e.subscribe(function(t){return r=t},function(t){return n(t)},function(){return t(r)})})},t}();function y(t){if(t||(t=Promise),!t)throw new Error("no Promise impl found");return t}b.create=function(t){return new b(t)};var _=function(t){function e(e){var n=t.call(this,e)||this;return n.destination=e,n}return __extends(e,t),e}(a),v=function(){function t(t){this.connectable=t}return t.prototype.call=function(t,e){var n=this.connectable;n._refCount++;var r=new w(t,n),i=e.subscribe(r);return r.closed||(r.connection=n.connect()),i},t}(),w=function(t){function e(e,n){var r=t.call(this,e)||this;return r.connectable=n,r}return __extends(e,t),e.prototype._unsubscribe=function(){var t=this.connectable;if(t){this.connectable=null;var e=t._refCount;if(e<=0)this.connection=null;else if(t._refCount=e-1,e>1)this.connection=null;else{var n=this.connection,r=t._connection;this.connection=null,!r||n&&r!==n||r.unsubscribe()}}else this.connection=null},e}(a),E=(function(t){function e(e,n){var r=t.call(this)||this;return r.source=e,r.subjectFactory=n,r._refCount=0,r._isComplete=!1,r}__extends(e,t),e.prototype._subscribe=function(t){return this.getSubject().subscribe(t)},e.prototype.getSubject=function(){var t=this._subject;return t&&!t.isStopped||(this._subject=this.subjectFactory()),this._subject},e.prototype.connect=function(){var t=this._connection;return t||(this._isComplete=!1,(t=this._connection=new u).add(this.source.subscribe(new E(this.getSubject(),this))),t.closed?(this._connection=null,t=u.EMPTY):this._connection=t),t},e.prototype.refCount=function(){return function t(){return function t(e){return e.lift(new v(e))}}()(this)}}(b),function(t){function e(e,n){var r=t.call(this,e)||this;return r.connectable=n,r}return __extends(e,t),e.prototype._error=function(e){this._unsubscribe(),t.prototype._error.call(this,e)},e.prototype._complete=function(){this.connectable._isComplete=!0,this._unsubscribe(),t.prototype._complete.call(this)},e.prototype._unsubscribe=function(){var t=this.connectable;if(t){this.connectable=null;var e=t._connection;t._refCount=0,t._subject=null,t._connection=null,e&&e.unsubscribe()}},e}(_)),S=function(t){function e(e,n){var r=t.call(this,e,n)||this;return r.scheduler=e,r.work=n,r.pending=!1,r}return __extends(e,t),e.prototype.schedule=function(t,e){if(void 0===e&&(e=0),this.closed)return this;this.state=t;var n=this.id,r=this.scheduler;return null!=n&&(this.id=this.recycleAsyncId(r,n,e)),this.pending=!0,this.delay=e,this.id=this.id||this.requestAsyncId(r,this.id,e),this},e.prototype.requestAsyncId=function(t,e,n){return void 0===n&&(n=0),setInterval(t.flush.bind(t,this),n)},e.prototype.recycleAsyncId=function(t,e,n){if(void 0===n&&(n=0),null!==n&&this.delay===n&&!1===this.pending)return e;clearInterval(e)},e.prototype.execute=function(t,e){if(this.closed)return new Error("executing a cancelled action");this.pending=!1;var n=this._execute(t,e);if(n)return n;!1===this.pending&&null!=this.id&&(this.id=this.recycleAsyncId(this.scheduler,this.id,null))},e.prototype._execute=function(t,e){var n=!1,r=void 0;try{this.work(t)}catch(t){n=!0,r=!!t&&t||new Error(t)}if(n)return this.unsubscribe(),r},e.prototype._unsubscribe=function(){var t=this.id,e=this.scheduler,n=e.actions,r=n.indexOf(this);this.work=null,this.state=null,this.pending=!1,this.scheduler=null,-1!==r&&n.splice(r,1),null!=t&&(this.id=this.recycleAsyncId(e,t,null)),this.delay=null},e}(function(t){function e(e,n){return t.call(this)||this}return __extends(e,t),e.prototype.schedule=function(t,e){return void 0===e&&(e=0),this},e}(u)),x=function(t){function e(e,n){var r=t.call(this,e,n)||this;return r.scheduler=e,r.work=n,r}return __extends(e,t),e.prototype.schedule=function(e,n){return void 0===n&&(n=0),n>0?t.prototype.schedule.call(this,e,n):(this.delay=n,this.state=e,this.scheduler.flush(this),this)},e.prototype.execute=function(e,n){return n>0||this.closed?t.prototype.execute.call(this,e,n):this._execute(e,n)},e.prototype.requestAsyncId=function(e,n,r){return void 0===r&&(r=0),null!==r&&r>0||null===r&&this.delay>0?t.prototype.requestAsyncId.call(this,e,n,r):e.flush(this)},e}(S),g=function(){function t(e,n){void 0===n&&(n=t.now),this.SchedulerAction=e,this.now=n}return t.prototype.schedule=function(t,e,n){return void 0===e&&(e=0),new this.SchedulerAction(this,t).schedule(n,e)},t}();g.now=function(){return Date.now()};var m,T=function(t){function e(n,r){void 0===r&&(r=g.now);var i=t.call(this,n,function(){return e.delegate&&e.delegate!==i?e.delegate.now():r()})||this;return i.actions=[],i.active=!1,i.scheduled=void 0,i}return __extends(e,t),e.prototype.schedule=function(n,r,i){return void 0===r&&(r=0),e.delegate&&e.delegate!==this?e.delegate.schedule(n,r,i):t.prototype.schedule.call(this,n,r,i)},e.prototype.flush=function(t){var e=this.actions;if(this.active)e.push(t);else{var n;this.active=!0;do{if(n=t.execute(t.state,t.delay))break}while(t=e.shift());if(this.active=!1,n){for(;t=e.shift();)t.unsubscribe();throw n}}},e}(g);new(function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return __extends(e,t),e}(T))(x),function(t){t.NEXT="N",t.ERROR="E",t.COMPLETE="C"}(m||(m={}));var A=1,O={},j=function(t){function e(e,n){var r=t.call(this,e,n)||this;return r.scheduler=e,r.work=n,r}return __extends(e,t),e.prototype.requestAsyncId=function(e,n,r){return void 0===r&&(r=0),null!==r&&r>0?t.prototype.requestAsyncId.call(this,e,n,r):(e.actions.push(this),e.scheduled||(e.scheduled=(i=e.flush.bind(e,null),o=A++,O[o]=i,Promise.resolve().then(function(){return function t(e){var n=O[e];n&&n()}(o)}),o)));var i,o},e.prototype.recycleAsyncId=function(e,n,r){if(void 0===r&&(r=0),null!==r&&r>0||null===r&&this.delay>0)return t.prototype.recycleAsyncId.call(this,e,n,r);0===e.actions.length&&(delete O[n],e.scheduled=void 0)},e}(S),D=new(function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return __extends(e,t),e.prototype.flush=function(t){this.active=!0,this.scheduled=void 0;var e,n=this.actions,r=-1,i=n.length;t=t||n.shift();do{if(e=t.execute(t.state,t.delay))break}while(++r<i&&(t=n.shift()));if(this.active=!1,e){for(;++r<i&&(t=n.shift());)t.unsubscribe();throw e}},e}(T))(j),I=new T(S),k=function(t){function e(e,n){var r=t.call(this,e,n)||this;return r.scheduler=e,r.work=n,r}return __extends(e,t),e.prototype.requestAsyncId=function(e,n,r){return void 0===r&&(r=0),null!==r&&r>0?t.prototype.requestAsyncId.call(this,e,n,r):(e.actions.push(this),e.scheduled||(e.scheduled=requestAnimationFrame(function(){return e.flush(null)})))},e.prototype.recycleAsyncId=function(e,n,r){if(void 0===r&&(r=0),null!==r&&r>0||null===r&&this.delay>0)return t.prototype.recycleAsyncId.call(this,e,n,r);0===e.actions.length&&(cancelAnimationFrame(n),e.scheduled=void 0)},e}(S);new(function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return __extends(e,t),e.prototype.flush=function(t){this.active=!0,this.scheduled=void 0;var e,n=this.actions,r=-1,i=n.length;t=t||n.shift();do{if(e=t.execute(t.state,t.delay))break}while(++r<i&&(t=n.shift()));if(this.active=!1,e){for(;++r<i&&(t=n.shift());)t.unsubscribe();throw e}},e}(T))(k),
/**
* @license

@@ -19,3 +13,2 @@ * Copyright Google Inc. All Rights Reserved.

* found in the LICENSE file at https://angular.io/license
*/
Zone.__load_patch("rxjs.Scheduler.now",function(t,e,n){n.patchMethod(g,"now",function(t){return function(t,e){return Date.now.call(t)}}),n.patchMethod(I,"now",function(t){return function(t,e){return Date.now.call(t)}}),n.patchMethod(D,"now",function(t){return function(t,e){return Date.now.call(t)}})})});
*/Zone.__load_patch("rxjs.Scheduler.now",(function(e,t,o){o.patchMethod(n.Scheduler,"now",(function(n){return function(n,e){return Date.now.call(n)}})),o.patchMethod(n.asyncScheduler,"now",(function(n){return function(n,e){return Date.now.call(n)}})),o.patchMethod(n.asapScheduler,"now",(function(n){return function(n,e){return Date.now.call(n)}}))}))}));

@@ -1,1074 +0,12 @@

var __extends = (this && this.__extends) || (function () {
var extendStatics = function (d, b) {
extendStatics = Object.setPrototypeOf ||
({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };
return extendStatics(d, b);
};
return function (d, b) {
extendStatics(d, b);
function __() { this.constructor = d; }
d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
};
})();
/**
* @license Angular v0.10.2
* (c) 2010-2019 Google LLC. https://angular.io/
* License: MIT
*/
(function (factory) {
typeof define === 'function' && define.amd ? define(factory) :
factory();
}(function () {
* @license Angular v9.1.0-next.4+61.sha-e552591.with-local-changes
* (c) 2010-2020 Google LLC. https://angular.io/
* License: MIT
*/
(function (global, factory) {
typeof exports === 'object' && typeof module !== 'undefined' ? factory(require('rxjs')) :
typeof define === 'function' && define.amd ? define(['rxjs'], factory) :
(global = global || self, factory(global.rxjs));
}(this, (function (rxjs) {
'use strict';
function isFunction(x) {
return typeof x === 'function';
}
var _enable_super_gross_mode_that_will_cause_bad_things = false;
var config = {
Promise: undefined,
set useDeprecatedSynchronousErrorHandling(value) {
if (value) {
var error = new Error();
console.warn('DEPRECATED! RxJS was set to use deprecated synchronous error handling behavior by code at: \n' + error.stack);
}
else if (_enable_super_gross_mode_that_will_cause_bad_things) {
console.log('RxJS: Back to a better error behavior. Thank you. <3');
}
_enable_super_gross_mode_that_will_cause_bad_things = value;
},
get useDeprecatedSynchronousErrorHandling() {
return _enable_super_gross_mode_that_will_cause_bad_things;
},
};
function hostReportError(err) {
setTimeout(function () { throw err; });
}
var empty = {
closed: true,
next: function (value) { },
error: function (err) {
if (config.useDeprecatedSynchronousErrorHandling) {
throw err;
}
else {
hostReportError(err);
}
},
complete: function () { }
};
var isArray = Array.isArray || (function (x) { return x && typeof x.length === 'number'; });
function isObject(x) {
return x !== null && typeof x === 'object';
}
function UnsubscriptionErrorImpl(errors) {
Error.call(this);
this.message = errors ?
errors.length + " errors occurred during unsubscription:\n" + errors.map(function (err, i) { return i + 1 + ") " + err.toString(); }).join('\n ') : '';
this.name = 'UnsubscriptionError';
this.errors = errors;
return this;
}
UnsubscriptionErrorImpl.prototype = Object.create(Error.prototype);
var UnsubscriptionError = UnsubscriptionErrorImpl;
var Subscription = /** @class */ (function () {
function Subscription(unsubscribe) {
this.closed = false;
this._parent = null;
this._parents = null;
this._subscriptions = null;
if (unsubscribe) {
this._unsubscribe = unsubscribe;
}
}
Subscription.prototype.unsubscribe = function () {
var hasErrors = false;
var errors;
if (this.closed) {
return;
}
var _a = this, _parent = _a._parent, _parents = _a._parents, _unsubscribe = _a._unsubscribe, _subscriptions = _a._subscriptions;
this.closed = true;
this._parent = null;
this._parents = null;
this._subscriptions = null;
var index = -1;
var len = _parents ? _parents.length : 0;
while (_parent) {
_parent.remove(this);
_parent = ++index < len && _parents[index] || null;
}
if (isFunction(_unsubscribe)) {
try {
_unsubscribe.call(this);
}
catch (e) {
hasErrors = true;
errors = e instanceof UnsubscriptionError ? flattenUnsubscriptionErrors(e.errors) : [e];
}
}
if (isArray(_subscriptions)) {
index = -1;
len = _subscriptions.length;
while (++index < len) {
var sub = _subscriptions[index];
if (isObject(sub)) {
try {
sub.unsubscribe();
}
catch (e) {
hasErrors = true;
errors = errors || [];
if (e instanceof UnsubscriptionError) {
errors = errors.concat(flattenUnsubscriptionErrors(e.errors));
}
else {
errors.push(e);
}
}
}
}
}
if (hasErrors) {
throw new UnsubscriptionError(errors);
}
};
Subscription.prototype.add = function (teardown) {
var subscription = teardown;
switch (typeof teardown) {
case 'function':
subscription = new Subscription(teardown);
case 'object':
if (subscription === this || subscription.closed || typeof subscription.unsubscribe !== 'function') {
return subscription;
}
else if (this.closed) {
subscription.unsubscribe();
return subscription;
}
else if (!(subscription instanceof Subscription)) {
var tmp = subscription;
subscription = new Subscription();
subscription._subscriptions = [tmp];
}
break;
default: {
if (!teardown) {
return Subscription.EMPTY;
}
throw new Error('unrecognized teardown ' + teardown + ' added to Subscription.');
}
}
if (subscription._addParent(this)) {
var subscriptions = this._subscriptions;
if (subscriptions) {
subscriptions.push(subscription);
}
else {
this._subscriptions = [subscription];
}
}
return subscription;
};
Subscription.prototype.remove = function (subscription) {
var subscriptions = this._subscriptions;
if (subscriptions) {
var subscriptionIndex = subscriptions.indexOf(subscription);
if (subscriptionIndex !== -1) {
subscriptions.splice(subscriptionIndex, 1);
}
}
};
Subscription.prototype._addParent = function (parent) {
var _a = this, _parent = _a._parent, _parents = _a._parents;
if (_parent === parent) {
return false;
}
else if (!_parent) {
this._parent = parent;
return true;
}
else if (!_parents) {
this._parents = [parent];
return true;
}
else if (_parents.indexOf(parent) === -1) {
_parents.push(parent);
return true;
}
return false;
};
return Subscription;
}());
Subscription.EMPTY = (function (empty) {
empty.closed = true;
return empty;
}(new Subscription()));
function flattenUnsubscriptionErrors(errors) {
return errors.reduce(function (errs, err) { return errs.concat((err instanceof UnsubscriptionError) ? err.errors : err); }, []);
}
var rxSubscriber = typeof Symbol === 'function'
? Symbol('rxSubscriber')
: '@@rxSubscriber_' + Math.random();
var Subscriber = /** @class */ (function (_super) {
__extends(Subscriber, _super);
function Subscriber(destinationOrNext, error, complete) {
var _this = _super.call(this) || this;
_this.syncErrorValue = null;
_this.syncErrorThrown = false;
_this.syncErrorThrowable = false;
_this.isStopped = false;
switch (arguments.length) {
case 0:
_this.destination = empty;
break;
case 1:
if (!destinationOrNext) {
_this.destination = empty;
break;
}
if (typeof destinationOrNext === 'object') {
if (destinationOrNext instanceof Subscriber) {
_this.syncErrorThrowable = destinationOrNext.syncErrorThrowable;
_this.destination = destinationOrNext;
destinationOrNext.add(_this);
}
else {
_this.syncErrorThrowable = true;
_this.destination = new SafeSubscriber(_this, destinationOrNext);
}
break;
}
default:
_this.syncErrorThrowable = true;
_this.destination = new SafeSubscriber(_this, destinationOrNext, error, complete);
break;
}
return _this;
}
Subscriber.prototype[rxSubscriber] = function () { return this; };
Subscriber.create = function (next, error, complete) {
var subscriber = new Subscriber(next, error, complete);
subscriber.syncErrorThrowable = false;
return subscriber;
};
Subscriber.prototype.next = function (value) {
if (!this.isStopped) {
this._next(value);
}
};
Subscriber.prototype.error = function (err) {
if (!this.isStopped) {
this.isStopped = true;
this._error(err);
}
};
Subscriber.prototype.complete = function () {
if (!this.isStopped) {
this.isStopped = true;
this._complete();
}
};
Subscriber.prototype.unsubscribe = function () {
if (this.closed) {
return;
}
this.isStopped = true;
_super.prototype.unsubscribe.call(this);
};
Subscriber.prototype._next = function (value) {
this.destination.next(value);
};
Subscriber.prototype._error = function (err) {
this.destination.error(err);
this.unsubscribe();
};
Subscriber.prototype._complete = function () {
this.destination.complete();
this.unsubscribe();
};
Subscriber.prototype._unsubscribeAndRecycle = function () {
var _a = this, _parent = _a._parent, _parents = _a._parents;
this._parent = null;
this._parents = null;
this.unsubscribe();
this.closed = false;
this.isStopped = false;
this._parent = _parent;
this._parents = _parents;
return this;
};
return Subscriber;
}(Subscription));
var SafeSubscriber = /** @class */ (function (_super) {
__extends(SafeSubscriber, _super);
function SafeSubscriber(_parentSubscriber, observerOrNext, error, complete) {
var _this = _super.call(this) || this;
_this._parentSubscriber = _parentSubscriber;
var next;
var context = _this;
if (isFunction(observerOrNext)) {
next = observerOrNext;
}
else if (observerOrNext) {
next = observerOrNext.next;
error = observerOrNext.error;
complete = observerOrNext.complete;
if (observerOrNext !== empty) {
context = Object.create(observerOrNext);
if (isFunction(context.unsubscribe)) {
_this.add(context.unsubscribe.bind(context));
}
context.unsubscribe = _this.unsubscribe.bind(_this);
}
}
_this._context = context;
_this._next = next;
_this._error = error;
_this._complete = complete;
return _this;
}
SafeSubscriber.prototype.next = function (value) {
if (!this.isStopped && this._next) {
var _parentSubscriber = this._parentSubscriber;
if (!config.useDeprecatedSynchronousErrorHandling || !_parentSubscriber.syncErrorThrowable) {
this.__tryOrUnsub(this._next, value);
}
else if (this.__tryOrSetError(_parentSubscriber, this._next, value)) {
this.unsubscribe();
}
}
};
SafeSubscriber.prototype.error = function (err) {
if (!this.isStopped) {
var _parentSubscriber = this._parentSubscriber;
var useDeprecatedSynchronousErrorHandling = config.useDeprecatedSynchronousErrorHandling;
if (this._error) {
if (!useDeprecatedSynchronousErrorHandling || !_parentSubscriber.syncErrorThrowable) {
this.__tryOrUnsub(this._error, err);
this.unsubscribe();
}
else {
this.__tryOrSetError(_parentSubscriber, this._error, err);
this.unsubscribe();
}
}
else if (!_parentSubscriber.syncErrorThrowable) {
this.unsubscribe();
if (useDeprecatedSynchronousErrorHandling) {
throw err;
}
hostReportError(err);
}
else {
if (useDeprecatedSynchronousErrorHandling) {
_parentSubscriber.syncErrorValue = err;
_parentSubscriber.syncErrorThrown = true;
}
else {
hostReportError(err);
}
this.unsubscribe();
}
}
};
SafeSubscriber.prototype.complete = function () {
var _this = this;
if (!this.isStopped) {
var _parentSubscriber = this._parentSubscriber;
if (this._complete) {
var wrappedComplete = function () { return _this._complete.call(_this._context); };
if (!config.useDeprecatedSynchronousErrorHandling || !_parentSubscriber.syncErrorThrowable) {
this.__tryOrUnsub(wrappedComplete);
this.unsubscribe();
}
else {
this.__tryOrSetError(_parentSubscriber, wrappedComplete);
this.unsubscribe();
}
}
else {
this.unsubscribe();
}
}
};
SafeSubscriber.prototype.__tryOrUnsub = function (fn, value) {
try {
fn.call(this._context, value);
}
catch (err) {
this.unsubscribe();
if (config.useDeprecatedSynchronousErrorHandling) {
throw err;
}
else {
hostReportError(err);
}
}
};
SafeSubscriber.prototype.__tryOrSetError = function (parent, fn, value) {
if (!config.useDeprecatedSynchronousErrorHandling) {
throw new Error('bad call');
}
try {
fn.call(this._context, value);
}
catch (err) {
if (config.useDeprecatedSynchronousErrorHandling) {
parent.syncErrorValue = err;
parent.syncErrorThrown = true;
return true;
}
else {
hostReportError(err);
return true;
}
}
return false;
};
SafeSubscriber.prototype._unsubscribe = function () {
var _parentSubscriber = this._parentSubscriber;
this._context = null;
this._parentSubscriber = null;
_parentSubscriber.unsubscribe();
};
return SafeSubscriber;
}(Subscriber));
function canReportError(observer) {
while (observer) {
var closed_1 = observer.closed, destination = observer.destination, isStopped = observer.isStopped;
if (closed_1 || isStopped) {
return false;
}
else if (destination && destination instanceof Subscriber) {
observer = destination;
}
else {
observer = null;
}
}
return true;
}
function toSubscriber(nextOrObserver, error, complete) {
if (nextOrObserver) {
if (nextOrObserver instanceof Subscriber) {
return nextOrObserver;
}
if (nextOrObserver[rxSubscriber]) {
return nextOrObserver[rxSubscriber]();
}
}
if (!nextOrObserver && !error && !complete) {
return new Subscriber(empty);
}
return new Subscriber(nextOrObserver, error, complete);
}
var observable = typeof Symbol === 'function' && Symbol.observable || '@@observable';
function noop() { }
function pipeFromArray(fns) {
if (!fns) {
return noop;
}
if (fns.length === 1) {
return fns[0];
}
return function piped(input) {
return fns.reduce(function (prev, fn) { return fn(prev); }, input);
};
}
var Observable = /** @class */ (function () {
function Observable(subscribe) {
this._isScalar = false;
if (subscribe) {
this._subscribe = subscribe;
}
}
Observable.prototype.lift = function (operator) {
var observable = new Observable();
observable.source = this;
observable.operator = operator;
return observable;
};
Observable.prototype.subscribe = function (observerOrNext, error, complete) {
var operator = this.operator;
var sink = toSubscriber(observerOrNext, error, complete);
if (operator) {
sink.add(operator.call(sink, this.source));
}
else {
sink.add(this.source || (config.useDeprecatedSynchronousErrorHandling && !sink.syncErrorThrowable) ?
this._subscribe(sink) :
this._trySubscribe(sink));
}
if (config.useDeprecatedSynchronousErrorHandling) {
if (sink.syncErrorThrowable) {
sink.syncErrorThrowable = false;
if (sink.syncErrorThrown) {
throw sink.syncErrorValue;
}
}
}
return sink;
};
Observable.prototype._trySubscribe = function (sink) {
try {
return this._subscribe(sink);
}
catch (err) {
if (config.useDeprecatedSynchronousErrorHandling) {
sink.syncErrorThrown = true;
sink.syncErrorValue = err;
}
if (canReportError(sink)) {
sink.error(err);
}
else {
console.warn(err);
}
}
};
Observable.prototype.forEach = function (next, promiseCtor) {
var _this = this;
promiseCtor = getPromiseCtor(promiseCtor);
return new promiseCtor(function (resolve, reject) {
var subscription;
subscription = _this.subscribe(function (value) {
try {
next(value);
}
catch (err) {
reject(err);
if (subscription) {
subscription.unsubscribe();
}
}
}, reject, resolve);
});
};
Observable.prototype._subscribe = function (subscriber) {
var source = this.source;
return source && source.subscribe(subscriber);
};
Observable.prototype[observable] = function () {
return this;
};
Observable.prototype.pipe = function () {
var operations = [];
for (var _i = 0; _i < arguments.length; _i++) {
operations[_i] = arguments[_i];
}
if (operations.length === 0) {
return this;
}
return pipeFromArray(operations)(this);
};
Observable.prototype.toPromise = function (promiseCtor) {
var _this = this;
promiseCtor = getPromiseCtor(promiseCtor);
return new promiseCtor(function (resolve, reject) {
var value;
_this.subscribe(function (x) { return value = x; }, function (err) { return reject(err); }, function () { return resolve(value); });
});
};
return Observable;
}());
Observable.create = function (subscribe) {
return new Observable(subscribe);
};
function getPromiseCtor(promiseCtor) {
if (!promiseCtor) {
promiseCtor = Promise;
}
if (!promiseCtor) {
throw new Error('no Promise impl found');
}
return promiseCtor;
}
var SubjectSubscriber = /** @class */ (function (_super) {
__extends(SubjectSubscriber, _super);
function SubjectSubscriber(destination) {
var _this = _super.call(this, destination) || this;
_this.destination = destination;
return _this;
}
return SubjectSubscriber;
}(Subscriber));
function refCount() {
return function refCountOperatorFunction(source) {
return source.lift(new RefCountOperator(source));
};
}
var RefCountOperator = /** @class */ (function () {
function RefCountOperator(connectable) {
this.connectable = connectable;
}
RefCountOperator.prototype.call = function (subscriber, source) {
var connectable = this.connectable;
connectable._refCount++;
var refCounter = new RefCountSubscriber(subscriber, connectable);
var subscription = source.subscribe(refCounter);
if (!refCounter.closed) {
refCounter.connection = connectable.connect();
}
return subscription;
};
return RefCountOperator;
}());
var RefCountSubscriber = /** @class */ (function (_super) {
__extends(RefCountSubscriber, _super);
function RefCountSubscriber(destination, connectable) {
var _this = _super.call(this, destination) || this;
_this.connectable = connectable;
return _this;
}
RefCountSubscriber.prototype._unsubscribe = function () {
var connectable = this.connectable;
if (!connectable) {
this.connection = null;
return;
}
this.connectable = null;
var refCount = connectable._refCount;
if (refCount <= 0) {
this.connection = null;
return;
}
connectable._refCount = refCount - 1;
if (refCount > 1) {
this.connection = null;
return;
}
var connection = this.connection;
var sharedConnection = connectable._connection;
this.connection = null;
if (sharedConnection && (!connection || sharedConnection === connection)) {
sharedConnection.unsubscribe();
}
};
return RefCountSubscriber;
}(Subscriber));
var ConnectableObservable = /** @class */ (function (_super) {
__extends(ConnectableObservable, _super);
function ConnectableObservable(source, subjectFactory) {
var _this = _super.call(this) || this;
_this.source = source;
_this.subjectFactory = subjectFactory;
_this._refCount = 0;
_this._isComplete = false;
return _this;
}
ConnectableObservable.prototype._subscribe = function (subscriber) {
return this.getSubject().subscribe(subscriber);
};
ConnectableObservable.prototype.getSubject = function () {
var subject = this._subject;
if (!subject || subject.isStopped) {
this._subject = this.subjectFactory();
}
return this._subject;
};
ConnectableObservable.prototype.connect = function () {
var connection = this._connection;
if (!connection) {
this._isComplete = false;
connection = this._connection = new Subscription();
connection.add(this.source
.subscribe(new ConnectableSubscriber(this.getSubject(), this)));
if (connection.closed) {
this._connection = null;
connection = Subscription.EMPTY;
}
else {
this._connection = connection;
}
}
return connection;
};
ConnectableObservable.prototype.refCount = function () {
return refCount()(this);
};
return ConnectableObservable;
}(Observable));
var connectableProto = ConnectableObservable.prototype;
var connectableObservableDescriptor = {
operator: { value: null },
_refCount: { value: 0, writable: true },
_subject: { value: null, writable: true },
_connection: { value: null, writable: true },
_subscribe: { value: connectableProto._subscribe },
_isComplete: { value: connectableProto._isComplete, writable: true },
getSubject: { value: connectableProto.getSubject },
connect: { value: connectableProto.connect },
refCount: { value: connectableProto.refCount }
};
var ConnectableSubscriber = /** @class */ (function (_super) {
__extends(ConnectableSubscriber, _super);
function ConnectableSubscriber(destination, connectable) {
var _this = _super.call(this, destination) || this;
_this.connectable = connectable;
return _this;
}
ConnectableSubscriber.prototype._error = function (err) {
this._unsubscribe();
_super.prototype._error.call(this, err);
};
ConnectableSubscriber.prototype._complete = function () {
this.connectable._isComplete = true;
this._unsubscribe();
_super.prototype._complete.call(this);
};
ConnectableSubscriber.prototype._unsubscribe = function () {
var connectable = this.connectable;
if (connectable) {
this.connectable = null;
var connection = connectable._connection;
connectable._refCount = 0;
connectable._subject = null;
connectable._connection = null;
if (connection) {
connection.unsubscribe();
}
}
};
return ConnectableSubscriber;
}(SubjectSubscriber));
var Action = /** @class */ (function (_super) {
__extends(Action, _super);
function Action(scheduler, work) {
return _super.call(this) || this;
}
Action.prototype.schedule = function (state, delay) {
if (delay === void 0) { delay = 0; }
return this;
};
return Action;
}(Subscription));
var AsyncAction = /** @class */ (function (_super) {
__extends(AsyncAction, _super);
function AsyncAction(scheduler, work) {
var _this = _super.call(this, scheduler, work) || this;
_this.scheduler = scheduler;
_this.work = work;
_this.pending = false;
return _this;
}
AsyncAction.prototype.schedule = function (state, delay) {
if (delay === void 0) { delay = 0; }
if (this.closed) {
return this;
}
this.state = state;
var id = this.id;
var scheduler = this.scheduler;
if (id != null) {
this.id = this.recycleAsyncId(scheduler, id, delay);
}
this.pending = true;
this.delay = delay;
this.id = this.id || this.requestAsyncId(scheduler, this.id, delay);
return this;
};
AsyncAction.prototype.requestAsyncId = function (scheduler, id, delay) {
if (delay === void 0) { delay = 0; }
return setInterval(scheduler.flush.bind(scheduler, this), delay);
};
AsyncAction.prototype.recycleAsyncId = function (scheduler, id, delay) {
if (delay === void 0) { delay = 0; }
if (delay !== null && this.delay === delay && this.pending === false) {
return id;
}
clearInterval(id);
return undefined;
};
AsyncAction.prototype.execute = function (state, delay) {
if (this.closed) {
return new Error('executing a cancelled action');
}
this.pending = false;
var error = this._execute(state, delay);
if (error) {
return error;
}
else if (this.pending === false && this.id != null) {
this.id = this.recycleAsyncId(this.scheduler, this.id, null);
}
};
AsyncAction.prototype._execute = function (state, delay) {
var errored = false;
var errorValue = undefined;
try {
this.work(state);
}
catch (e) {
errored = true;
errorValue = !!e && e || new Error(e);
}
if (errored) {
this.unsubscribe();
return errorValue;
}
};
AsyncAction.prototype._unsubscribe = function () {
var id = this.id;
var scheduler = this.scheduler;
var actions = scheduler.actions;
var index = actions.indexOf(this);
this.work = null;
this.state = null;
this.pending = false;
this.scheduler = null;
if (index !== -1) {
actions.splice(index, 1);
}
if (id != null) {
this.id = this.recycleAsyncId(scheduler, id, null);
}
this.delay = null;
};
return AsyncAction;
}(Action));
var QueueAction = /** @class */ (function (_super) {
__extends(QueueAction, _super);
function QueueAction(scheduler, work) {
var _this = _super.call(this, scheduler, work) || this;
_this.scheduler = scheduler;
_this.work = work;
return _this;
}
QueueAction.prototype.schedule = function (state, delay) {
if (delay === void 0) { delay = 0; }
if (delay > 0) {
return _super.prototype.schedule.call(this, state, delay);
}
this.delay = delay;
this.state = state;
this.scheduler.flush(this);
return this;
};
QueueAction.prototype.execute = function (state, delay) {
return (delay > 0 || this.closed) ?
_super.prototype.execute.call(this, state, delay) :
this._execute(state, delay);
};
QueueAction.prototype.requestAsyncId = function (scheduler, id, delay) {
if (delay === void 0) { delay = 0; }
if ((delay !== null && delay > 0) || (delay === null && this.delay > 0)) {
return _super.prototype.requestAsyncId.call(this, scheduler, id, delay);
}
return scheduler.flush(this);
};
return QueueAction;
}(AsyncAction));
var Scheduler = /** @class */ (function () {
function Scheduler(SchedulerAction, now) {
if (now === void 0) { now = Scheduler.now; }
this.SchedulerAction = SchedulerAction;
this.now = now;
}
Scheduler.prototype.schedule = function (work, delay, state) {
if (delay === void 0) { delay = 0; }
return new this.SchedulerAction(this, work).schedule(state, delay);
};
return Scheduler;
}());
Scheduler.now = function () { return Date.now(); };
var AsyncScheduler = /** @class */ (function (_super) {
__extends(AsyncScheduler, _super);
function AsyncScheduler(SchedulerAction, now) {
if (now === void 0) { now = Scheduler.now; }
var _this = _super.call(this, SchedulerAction, function () {
if (AsyncScheduler.delegate && AsyncScheduler.delegate !== _this) {
return AsyncScheduler.delegate.now();
}
else {
return now();
}
}) || this;
_this.actions = [];
_this.active = false;
_this.scheduled = undefined;
return _this;
}
AsyncScheduler.prototype.schedule = function (work, delay, state) {
if (delay === void 0) { delay = 0; }
if (AsyncScheduler.delegate && AsyncScheduler.delegate !== this) {
return AsyncScheduler.delegate.schedule(work, delay, state);
}
else {
return _super.prototype.schedule.call(this, work, delay, state);
}
};
AsyncScheduler.prototype.flush = function (action) {
var actions = this.actions;
if (this.active) {
actions.push(action);
return;
}
var error;
this.active = true;
do {
if (error = action.execute(action.state, action.delay)) {
break;
}
} while (action = actions.shift());
this.active = false;
if (error) {
while (action = actions.shift()) {
action.unsubscribe();
}
throw error;
}
};
return AsyncScheduler;
}(Scheduler));
var QueueScheduler = /** @class */ (function (_super) {
__extends(QueueScheduler, _super);
function QueueScheduler() {
return _super !== null && _super.apply(this, arguments) || this;
}
return QueueScheduler;
}(AsyncScheduler));
var queue = new QueueScheduler(QueueAction);
var NotificationKind;
(function (NotificationKind) {
NotificationKind["NEXT"] = "N";
NotificationKind["ERROR"] = "E";
NotificationKind["COMPLETE"] = "C";
})(NotificationKind || (NotificationKind = {}));
var nextHandle = 1;
var tasksByHandle = {};
function runIfPresent(handle) {
var cb = tasksByHandle[handle];
if (cb) {
cb();
}
}
var Immediate = {
setImmediate: function (cb) {
var handle = nextHandle++;
tasksByHandle[handle] = cb;
Promise.resolve().then(function () { return runIfPresent(handle); });
return handle;
},
clearImmediate: function (handle) {
delete tasksByHandle[handle];
},
};
var AsapAction = /** @class */ (function (_super) {
__extends(AsapAction, _super);
function AsapAction(scheduler, work) {
var _this = _super.call(this, scheduler, work) || this;
_this.scheduler = scheduler;
_this.work = work;
return _this;
}
AsapAction.prototype.requestAsyncId = function (scheduler, id, delay) {
if (delay === void 0) { delay = 0; }
if (delay !== null && delay > 0) {
return _super.prototype.requestAsyncId.call(this, scheduler, id, delay);
}
scheduler.actions.push(this);
return scheduler.scheduled || (scheduler.scheduled = Immediate.setImmediate(scheduler.flush.bind(scheduler, null)));
};
AsapAction.prototype.recycleAsyncId = function (scheduler, id, delay) {
if (delay === void 0) { delay = 0; }
if ((delay !== null && delay > 0) || (delay === null && this.delay > 0)) {
return _super.prototype.recycleAsyncId.call(this, scheduler, id, delay);
}
if (scheduler.actions.length === 0) {
Immediate.clearImmediate(id);
scheduler.scheduled = undefined;
}
return undefined;
};
return AsapAction;
}(AsyncAction));
var AsapScheduler = /** @class */ (function (_super) {
__extends(AsapScheduler, _super);
function AsapScheduler() {
return _super !== null && _super.apply(this, arguments) || this;
}
AsapScheduler.prototype.flush = function (action) {
this.active = true;
this.scheduled = undefined;
var actions = this.actions;
var error;
var index = -1;
var count = actions.length;
action = action || actions.shift();
do {
if (error = action.execute(action.state, action.delay)) {
break;
}
} while (++index < count && (action = actions.shift()));
this.active = false;
if (error) {
while (++index < count && (action = actions.shift())) {
action.unsubscribe();
}
throw error;
}
};
return AsapScheduler;
}(AsyncScheduler));
var asap = new AsapScheduler(AsapAction);
var async = new AsyncScheduler(AsyncAction);
var AnimationFrameAction = /** @class */ (function (_super) {
__extends(AnimationFrameAction, _super);
function AnimationFrameAction(scheduler, work) {
var _this = _super.call(this, scheduler, work) || this;
_this.scheduler = scheduler;
_this.work = work;
return _this;
}
AnimationFrameAction.prototype.requestAsyncId = function (scheduler, id, delay) {
if (delay === void 0) { delay = 0; }
if (delay !== null && delay > 0) {
return _super.prototype.requestAsyncId.call(this, scheduler, id, delay);
}
scheduler.actions.push(this);
return scheduler.scheduled || (scheduler.scheduled = requestAnimationFrame(function () { return scheduler.flush(null); }));
};
AnimationFrameAction.prototype.recycleAsyncId = function (scheduler, id, delay) {
if (delay === void 0) { delay = 0; }
if ((delay !== null && delay > 0) || (delay === null && this.delay > 0)) {
return _super.prototype.recycleAsyncId.call(this, scheduler, id, delay);
}
if (scheduler.actions.length === 0) {
cancelAnimationFrame(id);
scheduler.scheduled = undefined;
}
return undefined;
};
return AnimationFrameAction;
}(AsyncAction));
var AnimationFrameScheduler = /** @class */ (function (_super) {
__extends(AnimationFrameScheduler, _super);
function AnimationFrameScheduler() {
return _super !== null && _super.apply(this, arguments) || this;
}
AnimationFrameScheduler.prototype.flush = function (action) {
this.active = true;
this.scheduled = undefined;
var actions = this.actions;
var error;
var index = -1;
var count = actions.length;
action = action || actions.shift();
do {
if (error = action.execute(action.state, action.delay)) {
break;
}
} while (++index < count && (action = actions.shift()));
this.active = false;
if (error) {
while (++index < count && (action = actions.shift())) {
action.unsubscribe();
}
throw error;
}
};
return AnimationFrameScheduler;
}(AsyncScheduler));
var animationFrame = new AnimationFrameScheduler(AnimationFrameAction);
/**

@@ -1088,6 +26,6 @@ * @license

var patchObservable = function () {
var ObservablePrototype = Observable.prototype;
var ObservablePrototype = rxjs.Observable.prototype;
var _symbolSubscribe = symbol('_subscribe');
var _subscribe = ObservablePrototype[_symbolSubscribe] = ObservablePrototype._subscribe;
ObjectDefineProperties(Observable.prototype, {
ObjectDefineProperties(rxjs.Observable.prototype, {
_zone: { value: null, writable: true, configurable: true },

@@ -1110,3 +48,3 @@ _zoneSource: { value: null, writable: true, configurable: true },

}
else if (this.constructor === Observable) {
else if (this.constructor === rxjs.Observable) {
return _subscribe;

@@ -1119,18 +57,27 @@ }

this._zone = Zone.current;
this._zoneSubscribe = function () {
if (this._zone && this._zone !== Zone.current) {
var tearDown_1 = this._zone.run(subscribe, this, arguments);
if (tearDown_1 && typeof tearDown_1 === 'function') {
var zone_1 = this._zone;
return function () {
if (zone_1 !== Zone.current) {
return zone_1.run(tearDown_1, this, arguments);
}
return tearDown_1.apply(this, arguments);
};
if (!subscribe) {
this._zoneSubscribe = subscribe;
}
else {
this._zoneSubscribe = function () {
if (this._zone && this._zone !== Zone.current) {
var tearDown_1 = this._zone.run(subscribe, this, arguments);
if (typeof tearDown_1 === 'function') {
var zone_1 = this._zone;
return function () {
if (zone_1 !== Zone.current) {
return zone_1.run(tearDown_1, this, arguments);
}
return tearDown_1.apply(this, arguments);
};
}
else {
return tearDown_1;
}
}
return tearDown_1;
}
return subscribe.apply(this, arguments);
};
else {
return subscribe.apply(this, arguments);
}
};
}
}

@@ -1152,3 +99,3 @@ },

};
api.patchMethod(Observable.prototype, 'lift', function (delegate) { return function (self, args) {
api.patchMethod(rxjs.Observable.prototype, 'lift', function (delegate) { return function (self, args) {
var observable = delegate.apply(self, args);

@@ -1167,3 +114,3 @@ if (observable.operator) {

var patchSubscription = function () {
ObjectDefineProperties(Subscription.prototype, {
ObjectDefineProperties(rxjs.Subscription.prototype, {
_zone: { value: null, writable: true, configurable: true },

@@ -1181,8 +128,15 @@ _zoneUnsubscribe: { value: null, writable: true, configurable: true },

this._zone = Zone.current;
this._zoneUnsubscribe = function () {
if (this._zone && this._zone !== Zone.current) {
return this._zone.run(unsubscribe, this, arguments);
}
return unsubscribe.apply(this, arguments);
};
if (!unsubscribe) {
this._zoneUnsubscribe = unsubscribe;
}
else {
this._zoneUnsubscribe = function () {
if (this._zone && this._zone !== Zone.current) {
return this._zone.run(unsubscribe, this, arguments);
}
else {
return unsubscribe.apply(this, arguments);
}
};
}
}

@@ -1193,6 +147,6 @@ }

var patchSubscriber = function () {
var next = Subscriber.prototype.next;
var error = Subscriber.prototype.error;
var complete = Subscriber.prototype.complete;
Object.defineProperty(Subscriber.prototype, 'destination', {
var next = rxjs.Subscriber.prototype.next;
var error = rxjs.Subscriber.prototype.error;
var complete = rxjs.Subscriber.prototype.complete;
Object.defineProperty(rxjs.Subscriber.prototype, 'destination', {
configurable: true,

@@ -1207,3 +161,3 @@ get: function () { return this._zoneDestination; },

// into SubscriptionZone
Subscriber.prototype.next = function () {
rxjs.Subscriber.prototype.next = function () {
var currentZone = Zone.current;

@@ -1220,3 +174,3 @@ var subscriptionZone = this._zone;

};
Subscriber.prototype.error = function () {
rxjs.Subscriber.prototype.error = function () {
var currentZone = Zone.current;

@@ -1233,3 +187,3 @@ var subscriptionZone = this._zone;

};
Subscriber.prototype.complete = function () {
rxjs.Subscriber.prototype.complete = function () {
var currentZone = Zone.current;

@@ -1251,2 +205,2 @@ var subscriptionZone = this._zone;

});
}));
})));

@@ -1,14 +0,8 @@

var __extends=this&&this.__extends||function(){var t=function(e,r){return(t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)e.hasOwnProperty(r)&&(t[r]=e[r])})(e,r)};return function(e,r){function n(){this.constructor=e}t(e,r),e.prototype=null===r?Object.create(r):(n.prototype=r.prototype,new n)}}();
/**
* @license Angular v0.10.2
* (c) 2010-2019 Google LLC. https://angular.io/
* License: MIT
*/
* @license Angular v9.1.0-next.4+61.sha-e552591.with-local-changes
* (c) 2010-2020 Google LLC. https://angular.io/
* License: MIT
*/
!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t(require("rxjs")):"function"==typeof define&&define.amd?define(["rxjs"],t):t((e=e||self).rxjs)}(this,(function(e){"use strict";
/**
* @license Angular v0.10.2
* (c) 2010-2019 Google LLC. https://angular.io/
* License: MIT
*/
!function(t){"function"==typeof define&&define.amd?define(t):t()}(function(){"use strict";function t(t){return"function"==typeof t}var e=!1,r={Promise:void 0,set useDeprecatedSynchronousErrorHandling(t){if(t){var r=new Error;console.warn("DEPRECATED! RxJS was set to use deprecated synchronous error handling behavior by code at: \n"+r.stack)}else e&&console.log("RxJS: Back to a better error behavior. Thank you. <3");e=t},get useDeprecatedSynchronousErrorHandling(){return e}};function n(t){setTimeout(function(){throw t})}var i={closed:!0,next:function(t){},error:function(t){if(r.useDeprecatedSynchronousErrorHandling)throw t;n(t)},complete:function(){}},o=Array.isArray||function(t){return t&&"number"==typeof t.length};function s(t){return Error.call(this),this.message=t?t.length+" errors occurred during unsubscription:\n"+t.map(function(t,e){return e+1+") "+t.toString()}).join("\n "):"",this.name="UnsubscriptionError",this.errors=t,this}s.prototype=Object.create(Error.prototype);var u=s,c=function(){function e(t){this.closed=!1,this._parent=null,this._parents=null,this._subscriptions=null,t&&(this._unsubscribe=t)}return e.prototype.unsubscribe=function(){var e,r=!1;if(!this.closed){var n=this._parent,i=this._parents,s=this._unsubscribe,c=this._subscriptions;this.closed=!0,this._parent=null,this._parents=null,this._subscriptions=null;for(var l,a=-1,p=i?i.length:0;n;)n.remove(this),n=++a<p&&i[a]||null;if(t(s))try{s.call(this)}catch(t){r=!0,e=t instanceof u?h(t.errors):[t]}if(o(c))for(a=-1,p=c.length;++a<p;){var f=c[a];if(null!==(l=f)&&"object"==typeof l)try{f.unsubscribe()}catch(t){r=!0,e=e||[],t instanceof u?e=e.concat(h(t.errors)):e.push(t)}}if(r)throw new u(e)}},e.prototype.add=function(t){var r=t;switch(typeof t){case"function":r=new e(t);case"object":if(r===this||r.closed||"function"!=typeof r.unsubscribe)return r;if(this.closed)return r.unsubscribe(),r;if(!(r instanceof e)){var n=r;(r=new e)._subscriptions=[n]}break;default:if(!t)return e.EMPTY;throw new Error("unrecognized teardown "+t+" added to Subscription.")}if(r._addParent(this)){var i=this._subscriptions;i?i.push(r):this._subscriptions=[r]}return r},e.prototype.remove=function(t){var e=this._subscriptions;if(e){var r=e.indexOf(t);-1!==r&&e.splice(r,1)}},e.prototype._addParent=function(t){var e=this._parent,r=this._parents;return e!==t&&(e?r?-1===r.indexOf(t)&&(r.push(t),!0):(this._parents=[t],!0):(this._parent=t,!0))},e}();function h(t){return t.reduce(function(t,e){return t.concat(e instanceof u?e.errors:e)},[])}c.EMPTY=function(t){return t.closed=!0,t}(new c);var l="function"==typeof Symbol?Symbol("rxSubscriber"):"@@rxSubscriber_"+Math.random(),a=function(t){function e(r,n,o){var s=t.call(this)||this;switch(s.syncErrorValue=null,s.syncErrorThrown=!1,s.syncErrorThrowable=!1,s.isStopped=!1,arguments.length){case 0:s.destination=i;break;case 1:if(!r){s.destination=i;break}if("object"==typeof r){r instanceof e?(s.syncErrorThrowable=r.syncErrorThrowable,s.destination=r,r.add(s)):(s.syncErrorThrowable=!0,s.destination=new p(s,r));break}default:s.syncErrorThrowable=!0,s.destination=new p(s,r,n,o)}return s}return __extends(e,t),e.prototype[l]=function(){return this},e.create=function(t,r,n){var i=new e(t,r,n);return i.syncErrorThrowable=!1,i},e.prototype.next=function(t){this.isStopped||this._next(t)},e.prototype.error=function(t){this.isStopped||(this.isStopped=!0,this._error(t))},e.prototype.complete=function(){this.isStopped||(this.isStopped=!0,this._complete())},e.prototype.unsubscribe=function(){this.closed||(this.isStopped=!0,t.prototype.unsubscribe.call(this))},e.prototype._next=function(t){this.destination.next(t)},e.prototype._error=function(t){this.destination.error(t),this.unsubscribe()},e.prototype._complete=function(){this.destination.complete(),this.unsubscribe()},e.prototype._unsubscribeAndRecycle=function(){var t=this._parent,e=this._parents;return this._parent=null,this._parents=null,this.unsubscribe(),this.closed=!1,this.isStopped=!1,this._parent=t,this._parents=e,this},e}(c),p=function(e){function o(r,n,o,s){var u,c=e.call(this)||this;c._parentSubscriber=r;var h=c;return t(n)?u=n:n&&(u=n.next,o=n.error,s=n.complete,n!==i&&(t((h=Object.create(n)).unsubscribe)&&c.add(h.unsubscribe.bind(h)),h.unsubscribe=c.unsubscribe.bind(c))),c._context=h,c._next=u,c._error=o,c._complete=s,c}return __extends(o,e),o.prototype.next=function(t){if(!this.isStopped&&this._next){var e=this._parentSubscriber;r.useDeprecatedSynchronousErrorHandling&&e.syncErrorThrowable?this.__tryOrSetError(e,this._next,t)&&this.unsubscribe():this.__tryOrUnsub(this._next,t)}},o.prototype.error=function(t){if(!this.isStopped){var e=this._parentSubscriber,i=r.useDeprecatedSynchronousErrorHandling;if(this._error)i&&e.syncErrorThrowable?(this.__tryOrSetError(e,this._error,t),this.unsubscribe()):(this.__tryOrUnsub(this._error,t),this.unsubscribe());else if(e.syncErrorThrowable)i?(e.syncErrorValue=t,e.syncErrorThrown=!0):n(t),this.unsubscribe();else{if(this.unsubscribe(),i)throw t;n(t)}}},o.prototype.complete=function(){var t=this;if(!this.isStopped){var e=this._parentSubscriber;if(this._complete){var n=function(){return t._complete.call(t._context)};r.useDeprecatedSynchronousErrorHandling&&e.syncErrorThrowable?(this.__tryOrSetError(e,n),this.unsubscribe()):(this.__tryOrUnsub(n),this.unsubscribe())}else this.unsubscribe()}},o.prototype.__tryOrUnsub=function(t,e){try{t.call(this._context,e)}catch(t){if(this.unsubscribe(),r.useDeprecatedSynchronousErrorHandling)throw t;n(t)}},o.prototype.__tryOrSetError=function(t,e,i){if(!r.useDeprecatedSynchronousErrorHandling)throw new Error("bad call");try{e.call(this._context,i)}catch(e){return r.useDeprecatedSynchronousErrorHandling?(t.syncErrorValue=e,t.syncErrorThrown=!0,!0):(n(e),!0)}return!1},o.prototype._unsubscribe=function(){var t=this._parentSubscriber;this._context=null,this._parentSubscriber=null,t.unsubscribe()},o}(a),f="function"==typeof Symbol&&Symbol.observable||"@@observable";function b(){}var d=function(){function t(t){this._isScalar=!1,t&&(this._subscribe=t)}return t.prototype.lift=function(e){var r=new t;return r.source=this,r.operator=e,r},t.prototype.subscribe=function(t,e,n){var o=this.operator,s=function u(t,e,r){if(t){if(t instanceof a)return t;if(t[l])return t[l]()}return t||e||r?new a(t,e,r):new a(i)}(t,e,n);if(s.add(o?o.call(s,this.source):this.source||r.useDeprecatedSynchronousErrorHandling&&!s.syncErrorThrowable?this._subscribe(s):this._trySubscribe(s)),r.useDeprecatedSynchronousErrorHandling&&s.syncErrorThrowable&&(s.syncErrorThrowable=!1,s.syncErrorThrown))throw s.syncErrorValue;return s},t.prototype._trySubscribe=function(t){try{return this._subscribe(t)}catch(e){r.useDeprecatedSynchronousErrorHandling&&(t.syncErrorThrown=!0,t.syncErrorValue=e),function e(t){for(;t;){var e=t.destination;if(t.closed||t.isStopped)return!1;t=e&&e instanceof a?e:null}return!0}(t)?t.error(e):console.warn(e)}},t.prototype.forEach=function(t,e){var r=this;return new(e=y(e))(function(e,n){var i;i=r.subscribe(function(e){try{t(e)}catch(t){n(t),i&&i.unsubscribe()}},n,e)})},t.prototype._subscribe=function(t){var e=this.source;return e&&e.subscribe(t)},t.prototype[f]=function(){return this},t.prototype.pipe=function(){for(var t=[],e=0;e<arguments.length;e++)t[e]=arguments[e];return 0===t.length?this:function r(t){return t?1===t.length?t[0]:function e(r){return t.reduce(function(t,e){return e(t)},r)}:b}(t)(this)},t.prototype.toPromise=function(t){var e=this;return new(t=y(t))(function(t,r){var n;e.subscribe(function(t){return n=t},function(t){return r(t)},function(){return t(n)})})},t}();function y(t){if(t||(t=Promise),!t)throw new Error("no Promise impl found");return t}d.create=function(t){return new d(t)};var _=function(t){function e(e){var r=t.call(this,e)||this;return r.destination=e,r}return __extends(e,t),e}(a),v=function(){function t(t){this.connectable=t}return t.prototype.call=function(t,e){var r=this.connectable;r._refCount++;var n=new w(t,r),i=e.subscribe(n);return n.closed||(n.connection=r.connect()),i},t}(),w=function(t){function e(e,r){var n=t.call(this,e)||this;return n.connectable=r,n}return __extends(e,t),e.prototype._unsubscribe=function(){var t=this.connectable;if(t){this.connectable=null;var e=t._refCount;if(e<=0)this.connection=null;else if(t._refCount=e-1,e>1)this.connection=null;else{var r=this.connection,n=t._connection;this.connection=null,!n||r&&n!==r||n.unsubscribe()}}else this.connection=null},e}(a),S=(function(t){function e(e,r){var n=t.call(this)||this;return n.source=e,n.subjectFactory=r,n._refCount=0,n._isComplete=!1,n}__extends(e,t),e.prototype._subscribe=function(t){return this.getSubject().subscribe(t)},e.prototype.getSubject=function(){var t=this._subject;return t&&!t.isStopped||(this._subject=this.subjectFactory()),this._subject},e.prototype.connect=function(){var t=this._connection;return t||(this._isComplete=!1,(t=this._connection=new c).add(this.source.subscribe(new S(this.getSubject(),this))),t.closed?(this._connection=null,t=c.EMPTY):this._connection=t),t},e.prototype.refCount=function(){return function t(){return function t(e){return e.lift(new v(e))}}()(this)}}(d),function(t){function e(e,r){var n=t.call(this,e)||this;return n.connectable=r,n}return __extends(e,t),e.prototype._error=function(e){this._unsubscribe(),t.prototype._error.call(this,e)},e.prototype._complete=function(){this.connectable._isComplete=!0,this._unsubscribe(),t.prototype._complete.call(this)},e.prototype._unsubscribe=function(){var t=this.connectable;if(t){this.connectable=null;var e=t._connection;t._refCount=0,t._subject=null,t._connection=null,e&&e.unsubscribe()}},e}(_)),g=function(t){function e(e,r){var n=t.call(this,e,r)||this;return n.scheduler=e,n.work=r,n.pending=!1,n}return __extends(e,t),e.prototype.schedule=function(t,e){if(void 0===e&&(e=0),this.closed)return this;this.state=t;var r=this.id,n=this.scheduler;return null!=r&&(this.id=this.recycleAsyncId(n,r,e)),this.pending=!0,this.delay=e,this.id=this.id||this.requestAsyncId(n,this.id,e),this},e.prototype.requestAsyncId=function(t,e,r){return void 0===r&&(r=0),setInterval(t.flush.bind(t,this),r)},e.prototype.recycleAsyncId=function(t,e,r){if(void 0===r&&(r=0),null!==r&&this.delay===r&&!1===this.pending)return e;clearInterval(e)},e.prototype.execute=function(t,e){if(this.closed)return new Error("executing a cancelled action");this.pending=!1;var r=this._execute(t,e);if(r)return r;!1===this.pending&&null!=this.id&&(this.id=this.recycleAsyncId(this.scheduler,this.id,null))},e.prototype._execute=function(t,e){var r=!1,n=void 0;try{this.work(t)}catch(t){r=!0,n=!!t&&t||new Error(t)}if(r)return this.unsubscribe(),n},e.prototype._unsubscribe=function(){var t=this.id,e=this.scheduler,r=e.actions,n=r.indexOf(this);this.work=null,this.state=null,this.pending=!1,this.scheduler=null,-1!==n&&r.splice(n,1),null!=t&&(this.id=this.recycleAsyncId(e,t,null)),this.delay=null},e}(function(t){function e(e,r){return t.call(this)||this}return __extends(e,t),e.prototype.schedule=function(t,e){return void 0===e&&(e=0),this},e}(c)),E=function(t){function e(e,r){var n=t.call(this,e,r)||this;return n.scheduler=e,n.work=r,n}return __extends(e,t),e.prototype.schedule=function(e,r){return void 0===r&&(r=0),r>0?t.prototype.schedule.call(this,e,r):(this.delay=r,this.state=e,this.scheduler.flush(this),this)},e.prototype.execute=function(e,r){return r>0||this.closed?t.prototype.execute.call(this,e,r):this._execute(e,r)},e.prototype.requestAsyncId=function(e,r,n){return void 0===n&&(n=0),null!==n&&n>0||null===n&&this.delay>0?t.prototype.requestAsyncId.call(this,e,r,n):e.flush(this)},e}(g),x=function(){function t(e,r){void 0===r&&(r=t.now),this.SchedulerAction=e,this.now=r}return t.prototype.schedule=function(t,e,r){return void 0===e&&(e=0),new this.SchedulerAction(this,t).schedule(r,e)},t}();x.now=function(){return Date.now()};var m,z=function(t){function e(r,n){void 0===n&&(n=x.now);var i=t.call(this,r,function(){return e.delegate&&e.delegate!==i?e.delegate.now():n()})||this;return i.actions=[],i.active=!1,i.scheduled=void 0,i}return __extends(e,t),e.prototype.schedule=function(r,n,i){return void 0===n&&(n=0),e.delegate&&e.delegate!==this?e.delegate.schedule(r,n,i):t.prototype.schedule.call(this,r,n,i)},e.prototype.flush=function(t){var e=this.actions;if(this.active)e.push(t);else{var r;this.active=!0;do{if(r=t.execute(t.state,t.delay))break}while(t=e.shift());if(this.active=!1,r){for(;t=e.shift();)t.unsubscribe();throw r}}},e}(x);new(function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return __extends(e,t),e}(z))(E),function(t){t.NEXT="N",t.ERROR="E",t.COMPLETE="C"}(m||(m={}));var j=1,T={},A=function(t){function e(e,r){var n=t.call(this,e,r)||this;return n.scheduler=e,n.work=r,n}return __extends(e,t),e.prototype.requestAsyncId=function(e,r,n){return void 0===n&&(n=0),null!==n&&n>0?t.prototype.requestAsyncId.call(this,e,r,n):(e.actions.push(this),e.scheduled||(e.scheduled=(i=e.flush.bind(e,null),o=j++,T[o]=i,Promise.resolve().then(function(){return function t(e){var r=T[e];r&&r()}(o)}),o)));var i,o},e.prototype.recycleAsyncId=function(e,r,n){if(void 0===n&&(n=0),null!==n&&n>0||null===n&&this.delay>0)return t.prototype.recycleAsyncId.call(this,e,r,n);0===e.actions.length&&(delete T[r],e.scheduled=void 0)},e}(g),O=(new(function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return __extends(e,t),e.prototype.flush=function(t){this.active=!0,this.scheduled=void 0;var e,r=this.actions,n=-1,i=r.length;t=t||r.shift();do{if(e=t.execute(t.state,t.delay))break}while(++n<i&&(t=r.shift()));if(this.active=!1,e){for(;++n<i&&(t=r.shift());)t.unsubscribe();throw e}},e}(z))(A),new z(g),function(t){function e(e,r){var n=t.call(this,e,r)||this;return n.scheduler=e,n.work=r,n}return __extends(e,t),e.prototype.requestAsyncId=function(e,r,n){return void 0===n&&(n=0),null!==n&&n>0?t.prototype.requestAsyncId.call(this,e,r,n):(e.actions.push(this),e.scheduled||(e.scheduled=requestAnimationFrame(function(){return e.flush(null)})))},e.prototype.recycleAsyncId=function(e,r,n){if(void 0===n&&(n=0),null!==n&&n>0||null===n&&this.delay>0)return t.prototype.recycleAsyncId.call(this,e,r,n);0===e.actions.length&&(cancelAnimationFrame(r),e.scheduled=void 0)},e}(g));new(function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return __extends(e,t),e.prototype.flush=function(t){this.active=!0,this.scheduled=void 0;var e,r=this.actions,n=-1,i=r.length;t=t||r.shift();do{if(e=t.execute(t.state,t.delay))break}while(++n<i&&(t=r.shift()));if(this.active=!1,e){for(;++n<i&&(t=r.shift());)t.unsubscribe();throw e}},e}(z))(O),
/**
* @license

@@ -19,3 +13,2 @@ * Copyright Google Inc. All Rights Reserved.

* found in the LICENSE file at https://angular.io/license
*/
Zone.__load_patch("rxjs",function(t,e,r){var n,i,o,s,u,h=e.__symbol__,l=Object.defineProperties;r.patchMethod(d.prototype,"lift",function(t){return function(n,i){var o=t.apply(n,i);return o.operator&&(o.operator._zone=e.current,r.patchMethod(o.operator,"call",function(t){return function(r,n){return r._zone&&r._zone!==e.current?r._zone.run(t,r,n):t.apply(r,n)}})),o}}),i=(n=d.prototype)[h("_subscribe")]=n._subscribe,l(d.prototype,{_zone:{value:null,writable:!0,configurable:!0},_zoneSource:{value:null,writable:!0,configurable:!0},_zoneSubscribe:{value:null,writable:!0,configurable:!0},source:{configurable:!0,get:function(){return this._zoneSource},set:function(t){this._zone=e.current,this._zoneSource=t}},_subscribe:{configurable:!0,get:function(){if(this._zoneSubscribe)return this._zoneSubscribe;if(this.constructor===d)return i;var t=Object.getPrototypeOf(this);return t&&t._subscribe},set:function(t){this._zone=e.current,this._zoneSubscribe=function(){if(this._zone&&this._zone!==e.current){var r=this._zone.run(t,this,arguments);if(r&&"function"==typeof r){var n=this._zone;return function(){return n!==e.current?n.run(r,this,arguments):r.apply(this,arguments)}}return r}return t.apply(this,arguments)}}},subjectFactory:{get:function(){return this._zoneSubjectFactory},set:function(t){var r=this._zone;this._zoneSubjectFactory=function(){return r&&r!==e.current?r.run(t,this,arguments):t.apply(this,arguments)}}}}),l(c.prototype,{_zone:{value:null,writable:!0,configurable:!0},_zoneUnsubscribe:{value:null,writable:!0,configurable:!0},_unsubscribe:{get:function(){if(this._zoneUnsubscribe)return this._zoneUnsubscribe;var t=Object.getPrototypeOf(this);return t&&t._unsubscribe},set:function(t){this._zone=e.current,this._zoneUnsubscribe=function(){return this._zone&&this._zone!==e.current?this._zone.run(t,this,arguments):t.apply(this,arguments)}}}}),o=a.prototype.next,s=a.prototype.error,u=a.prototype.complete,Object.defineProperty(a.prototype,"destination",{configurable:!0,get:function(){return this._zoneDestination},set:function(t){this._zone=e.current,this._zoneDestination=t}}),a.prototype.next=function(){var t=this._zone;return t&&t!==e.current?t.run(o,this,arguments,"rxjs.Subscriber.next"):o.apply(this,arguments)},a.prototype.error=function(){var t=this._zone;return t&&t!==e.current?t.run(s,this,arguments,"rxjs.Subscriber.error"):s.apply(this,arguments)},a.prototype.complete=function(){var t=this._zone;return t&&t!==e.current?t.run(u,this,arguments,"rxjs.Subscriber.complete"):u.call(this)}})});
*/Zone.__load_patch("rxjs",(function(t,r,n){var o,i,u,s,c,b=r.__symbol__,p=Object.defineProperties;n.patchMethod(e.Observable.prototype,"lift",(function(e){return function(t,o){var i=e.apply(t,o);return i.operator&&(i.operator._zone=r.current,n.patchMethod(i.operator,"call",(function(e){return function(t,n){return t._zone&&t._zone!==r.current?t._zone.run(e,t,n):e.apply(t,n)}}))),i}})),i=(o=e.Observable.prototype)[b("_subscribe")]=o._subscribe,p(e.Observable.prototype,{_zone:{value:null,writable:!0,configurable:!0},_zoneSource:{value:null,writable:!0,configurable:!0},_zoneSubscribe:{value:null,writable:!0,configurable:!0},source:{configurable:!0,get:function(){return this._zoneSource},set:function(e){this._zone=r.current,this._zoneSource=e}},_subscribe:{configurable:!0,get:function(){if(this._zoneSubscribe)return this._zoneSubscribe;if(this.constructor===e.Observable)return i;var t=Object.getPrototypeOf(this);return t&&t._subscribe},set:function(e){this._zone=r.current,this._zoneSubscribe=e?function(){if(this._zone&&this._zone!==r.current){var t=this._zone.run(e,this,arguments);if("function"==typeof t){var n=this._zone;return function(){return n!==r.current?n.run(t,this,arguments):t.apply(this,arguments)}}return t}return e.apply(this,arguments)}:e}},subjectFactory:{get:function(){return this._zoneSubjectFactory},set:function(e){var t=this._zone;this._zoneSubjectFactory=function(){return t&&t!==r.current?t.run(e,this,arguments):e.apply(this,arguments)}}}}),p(e.Subscription.prototype,{_zone:{value:null,writable:!0,configurable:!0},_zoneUnsubscribe:{value:null,writable:!0,configurable:!0},_unsubscribe:{get:function(){if(this._zoneUnsubscribe)return this._zoneUnsubscribe;var e=Object.getPrototypeOf(this);return e&&e._unsubscribe},set:function(e){this._zone=r.current,this._zoneUnsubscribe=e?function(){return this._zone&&this._zone!==r.current?this._zone.run(e,this,arguments):e.apply(this,arguments)}:e}}}),u=e.Subscriber.prototype.next,s=e.Subscriber.prototype.error,c=e.Subscriber.prototype.complete,Object.defineProperty(e.Subscriber.prototype,"destination",{configurable:!0,get:function(){return this._zoneDestination},set:function(e){this._zone=r.current,this._zoneDestination=e}}),e.Subscriber.prototype.next=function(){var e=r.current,t=this._zone;return t&&t!==e?t.run(u,this,arguments,"rxjs.Subscriber.next"):u.apply(this,arguments)},e.Subscriber.prototype.error=function(){var e=r.current,t=this._zone;return t&&t!==e?t.run(s,this,arguments,"rxjs.Subscriber.error"):s.apply(this,arguments)},e.Subscriber.prototype.complete=function(){var e=r.current,t=this._zone;return t&&t!==e?t.run(c,this,arguments,"rxjs.Subscriber.complete"):c.call(this)}}))}));
/**
* @license Angular v0.10.2
* (c) 2010-2019 Google LLC. https://angular.io/
* License: MIT
*/
* @license Angular v9.1.0-next.4+61.sha-e552591.with-local-changes
* (c) 2010-2020 Google LLC. https://angular.io/
* License: MIT
*/
(function (factory) {
typeof define === 'function' && define.amd ? define(factory) :
factory();
}(function () {
}((function () {
'use strict';

@@ -33,2 +33,2 @@ /**

});
}));
})));
/**
* @license Angular v0.10.2
* (c) 2010-2019 Google LLC. https://angular.io/
* License: MIT
*/
!function(e){"function"==typeof define&&define.amd?define(e):e()}(function(){"use strict";
* @license Angular v9.1.0-next.4+61.sha-e552591.with-local-changes
* (c) 2010-2020 Google LLC. https://angular.io/
* License: MIT
*/
!function(e){"function"==typeof define&&define.amd?define(e):e()}((function(){"use strict";
/**

@@ -13,2 +13,2 @@ * @license

* found in the LICENSE file at https://angular.io/license
*/Zone.__load_patch("socketio",function(e,t,o){t[t.__symbol__("socketio")]=function t(n){o.patchEventTarget(e,[n.Socket.prototype],{useG:!1,chkDup:!1,rt:!0,diff:function(e,t){return e.callback===t}}),n.Socket.prototype.on=n.Socket.prototype.addEventListener,n.Socket.prototype.off=n.Socket.prototype.removeListener=n.Socket.prototype.removeAllListeners=n.Socket.prototype.removeEventListener}})});
*/Zone.__load_patch("socketio",(function(e,t,o){t[t.__symbol__("socketio")]=function t(n){o.patchEventTarget(e,[n.Socket.prototype],{useG:!1,chkDup:!1,rt:!0,diff:function(e,t){return e.callback===t}}),n.Socket.prototype.on=n.Socket.prototype.addEventListener,n.Socket.prototype.off=n.Socket.prototype.removeListener=n.Socket.prototype.removeAllListeners=n.Socket.prototype.removeEventListener}}))}));
/**
* @license Angular v0.10.2
* (c) 2010-2019 Google LLC. https://angular.io/
* License: MIT
*/
* @license Angular v9.1.0-next.4+61.sha-e552591.with-local-changes
* (c) 2010-2020 Google LLC. https://angular.io/
* License: MIT
*/
(function (factory) {
typeof define === 'function' && define.amd ? define(factory) :
factory();
}(function () {
}((function () {
'use strict';

@@ -31,2 +31,2 @@ /**

});
}));
})));
/**
* @license Angular v0.10.2
* (c) 2010-2019 Google LLC. https://angular.io/
* License: MIT
*/
!function(e){"function"==typeof define&&define.amd?define(e):e()}(function(){"use strict";
* @license Angular v9.1.0-next.4+61.sha-e552591.with-local-changes
* (c) 2010-2020 Google LLC. https://angular.io/
* License: MIT
*/
!function(e){"function"==typeof define&&define.amd?define(e):e()}((function(){"use strict";
/**

@@ -13,2 +13,2 @@ * @license

* found in the LICENSE file at https://angular.io/license
*/Zone.__load_patch("getUserMedia",function(e,n,t){var i=e.navigator;i&&i.getUserMedia&&(i.getUserMedia=function r(e,n){return function(){var i=Array.prototype.slice.call(arguments),r=t.bindArguments(i,n||e.name);return e.apply(this,r)}}(i.getUserMedia))})});
*/Zone.__load_patch("getUserMedia",(function(e,n,t){var i=e.navigator;i&&i.getUserMedia&&(i.getUserMedia=function r(e,n){return function(){var i=Array.prototype.slice.call(arguments),r=t.bindArguments(i,n||e.name);return e.apply(this,r)}}(i.getUserMedia))}))}));

@@ -1,8 +0,7 @@

var __read=this&&this.__read||function(e,t){var n="function"==typeof Symbol&&e[Symbol.iterator];if(!n)return e;var r,o,s=n.call(e),i=[];try{for(;(void 0===t||t-- >0)&&!(r=s.next()).done;)i.push(r.value)}catch(e){o={error:e}}finally{try{r&&!r.done&&(n=s.return)&&n.call(s)}finally{if(o)throw o.error}}return i},__spread=this&&this.__spread||function(){for(var e=[],t=0;t<arguments.length;t++)e=e.concat(__read(arguments[t]));return e};
var __spreadArrays=this&&this.__spreadArrays||function(){for(var e=0,t=0,n=arguments.length;t<n;t++)e+=arguments[t].length;var r=Array(e),i=0;for(t=0;t<n;t++)for(var o=arguments[t],s=0,a=o.length;s<a;s++,i++)r[i]=o[s];return r};
/**
* @license Angular v0.10.2
* (c) 2010-2019 Google LLC. https://angular.io/
* License: MIT
*/
!function(e){"function"==typeof define&&define.amd?define(e):e()}(function(){"use strict";
* @license Angular v9.1.0-next.4+61.sha-e552591.with-local-changes
* (c) 2010-2020 Google LLC. https://angular.io/
* License: MIT
*/!function(e){"function"==typeof define&&define.amd?define(e):e()}((function(){"use strict";
/**

@@ -14,3 +13,3 @@ * @license

* found in the LICENSE file at https://angular.io/license
*/var e="\n",t={},n="STACKTRACE TRACKING",r="__SEP_TAG__",o=r+"@[native]",s=function s(){this.error=l(),this.timestamp=new Date};function i(){return new Error(n)}function a(){try{throw i()}catch(e){return e}}var c=i(),u=a(),l=c.stack?i:u.stack?a:i;function h(t){return t.stack?t.stack.split(e):[]}function p(e,n){for(var r=h(n),o=0;o<r.length;o++)t.hasOwnProperty(r[o])||e.push(r[o])}function d(t,n){var s=[n?n.trim():""];if(t)for(var i=(new Date).getTime(),a=0;a<t.length;a++){var c=t[a],u=c.timestamp,l="____________________Elapsed "+(i-u.getTime())+" ms; At: "+u;l=l.replace(/[^\w\d]/g,"_"),s.push(o.replace(r,l)),p(s,c.error),i=u.getTime()}return s.join(e)}function f(){return Error.stackTraceLimit>0}Zone.longStackTraceZoneSpec={name:"long-stack-trace",longStackTraceLimit:10,getLongStackTrace:function(e){if(e){var t=e[Zone.__symbol__("currentTaskTrace")];return t?d(t,e.stack):e.stack}},onScheduleTask:function(e,t,n,r){if(f()){var o=Zone.currentTask,i=o&&o.data&&o.data.__creationTrace__||[];(i=[new s].concat(i)).length>this.longStackTraceLimit&&(i.length=this.longStackTraceLimit),r.data||(r.data={}),"eventTask"===r.type&&(r.data=Object.assign({},r.data)),r.data.__creationTrace__=i}return e.scheduleTask(n,r)},onHandleError:function(e,t,n,r){if(f()){var o=Zone.currentTask||r.task;if(r instanceof Error&&o){var s=d(o.data&&o.data.__creationTrace__,r.stack);try{r.stack=r.longStack=s}catch(e){}}}return e.handleError(n,r)}},function m(){if(f()){var e=[];!function e(t,n){n>0&&(t.push(h((new s).error)),e(t,n-1))}(e,2);for(var i=e[0],a=e[1],c=0;c<i.length;c++)if(-1==(l=i[c]).indexOf(n)){var u=l.match(/^\s*at\s+/);if(u){o=u[0]+r+" (http://localhost)";break}}for(c=0;c<i.length;c++){var l;if((l=i[c])!==a[c])break;t[l]=!0}}}();
*/var e="\n",t={},n="STACKTRACE TRACKING",r="__SEP_TAG__",i=r+"@[native]",o=function o(){this.error=h(),this.timestamp=new Date};function s(){return new Error(n)}function a(){try{throw s()}catch(e){return e}}var c=s(),u=a(),h=c.stack?s:u.stack?a:s;function l(t){return t.stack?t.stack.split(e):[]}function p(e,n){for(var r=l(n),i=0;i<r.length;i++)t.hasOwnProperty(r[i])||e.push(r[i])}function f(t,n){var o=[n?n.trim():""];if(t)for(var s=(new Date).getTime(),a=0;a<t.length;a++){var c=t[a],u=c.timestamp,h="____________________Elapsed "+(s-u.getTime())+" ms; At: "+u;h=h.replace(/[^\w\d]/g,"_"),o.push(i.replace(r,h)),p(o,c.error),s=u.getTime()}return o.join(e)}function d(){return Error.stackTraceLimit>0}Zone.longStackTraceZoneSpec={name:"long-stack-trace",longStackTraceLimit:10,getLongStackTrace:function(e){if(e){var t=e[Zone.__symbol__("currentTaskTrace")];return t?f(t,e.stack):e.stack}},onScheduleTask:function(e,t,n,r){if(d()){var i=Zone.currentTask,s=i&&i.data&&i.data.__creationTrace__||[];(s=[new o].concat(s)).length>this.longStackTraceLimit&&(s.length=this.longStackTraceLimit),r.data||(r.data={}),"eventTask"===r.type&&(r.data=Object.assign({},r.data)),r.data.__creationTrace__=s}return e.scheduleTask(n,r)},onHandleError:function(e,t,n,r){if(d()){var i=Zone.currentTask||r.task;if(r instanceof Error&&i){var o=f(i.data&&i.data.__creationTrace__,r.stack);try{r.stack=r.longStack=o}catch(e){}}}return e.handleError(n,r)}},function _(){if(d()){var e=[];!function e(t,n){n>0&&(t.push(l((new o).error)),e(t,n-1))}(e,2);for(var s=e[0],a=e[1],c=0;c<s.length;c++)if(-1==(h=s[c]).indexOf(n)){var u=h.match(/^\s*at\s+/);if(u){i=u[0]+r+" (http://localhost)";break}}for(c=0;c<s.length;c++){var h;if((h=s[c])!==a[c])break;t[h]=!0}}}();
/**

@@ -23,3 +22,3 @@ * @license

*/
var _=function(){function e(e){void 0===e&&(e=null),this.defaultSpecDelegate=e,this.name="ProxyZone",this._delegateSpec=null,this.properties={ProxyZoneSpec:this},this.propertyKeys=null,this.lastTaskState=null,this.isNeedToTriggerHasTask=!1,this.tasks=[],this.setDelegate(e)}return e.get=function(){return Zone.current.get("ProxyZoneSpec")},e.isLoaded=function(){return e.get()instanceof e},e.assertPresent=function(){if(!e.isLoaded())throw new Error("Expected to be running in 'ProxyZone', but it was not found.");return e.get()},e.prototype.setDelegate=function(e){var t=this,n=this._delegateSpec!==e;this._delegateSpec=e,this.propertyKeys&&this.propertyKeys.forEach(function(e){return delete t.properties[e]}),this.propertyKeys=null,e&&e.properties&&(this.propertyKeys=Object.keys(e.properties),this.propertyKeys.forEach(function(n){return t.properties[n]=e.properties[n]})),n&&this.lastTaskState&&(this.lastTaskState.macroTask||this.lastTaskState.microTask)&&(this.isNeedToTriggerHasTask=!0)},e.prototype.getDelegate=function(){return this._delegateSpec},e.prototype.resetDelegate=function(){this.getDelegate(),this.setDelegate(this.defaultSpecDelegate)},e.prototype.tryTriggerHasTask=function(e,t,n){this.isNeedToTriggerHasTask&&this.lastTaskState&&(this.isNeedToTriggerHasTask=!1,this.onHasTask(e,t,n,this.lastTaskState))},e.prototype.removeFromTasks=function(e){if(this.tasks)for(var t=0;t<this.tasks.length;t++)if(this.tasks[t]===e)return void this.tasks.splice(t,1)},e.prototype.getAndClearPendingTasksInfo=function(){if(0===this.tasks.length)return"";var e="--Pending async tasks are: ["+this.tasks.map(function(e){var t=e.data&&Object.keys(e.data).map(function(t){return t+":"+e.data[t]}).join(",");return"type: "+e.type+", source: "+e.source+", args: {"+t+"}"})+"]";return this.tasks=[],e},e.prototype.onFork=function(e,t,n,r){return this._delegateSpec&&this._delegateSpec.onFork?this._delegateSpec.onFork(e,t,n,r):e.fork(n,r)},e.prototype.onIntercept=function(e,t,n,r,o){return this._delegateSpec&&this._delegateSpec.onIntercept?this._delegateSpec.onIntercept(e,t,n,r,o):e.intercept(n,r,o)},e.prototype.onInvoke=function(e,t,n,r,o,s,i){return this.tryTriggerHasTask(e,t,n),this._delegateSpec&&this._delegateSpec.onInvoke?this._delegateSpec.onInvoke(e,t,n,r,o,s,i):e.invoke(n,r,o,s,i)},e.prototype.onHandleError=function(e,t,n,r){return this._delegateSpec&&this._delegateSpec.onHandleError?this._delegateSpec.onHandleError(e,t,n,r):e.handleError(n,r)},e.prototype.onScheduleTask=function(e,t,n,r){return"eventTask"!==r.type&&this.tasks.push(r),this._delegateSpec&&this._delegateSpec.onScheduleTask?this._delegateSpec.onScheduleTask(e,t,n,r):e.scheduleTask(n,r)},e.prototype.onInvokeTask=function(e,t,n,r,o,s){return"eventTask"!==r.type&&this.removeFromTasks(r),this.tryTriggerHasTask(e,t,n),this._delegateSpec&&this._delegateSpec.onInvokeTask?this._delegateSpec.onInvokeTask(e,t,n,r,o,s):e.invokeTask(n,r,o,s)},e.prototype.onCancelTask=function(e,t,n,r){return"eventTask"!==r.type&&this.removeFromTasks(r),this.tryTriggerHasTask(e,t,n),this._delegateSpec&&this._delegateSpec.onCancelTask?this._delegateSpec.onCancelTask(e,t,n,r):e.cancelTask(n,r)},e.prototype.onHasTask=function(e,t,n,r){this.lastTaskState=r,this._delegateSpec&&this._delegateSpec.onHasTask?this._delegateSpec.onHasTask(e,t,n,r):e.hasTask(n,r)},e}();Zone.ProxyZoneSpec=_;
var y=function(){function e(e){void 0===e&&(e=null),this.defaultSpecDelegate=e,this.name="ProxyZone",this._delegateSpec=null,this.properties={ProxyZoneSpec:this},this.propertyKeys=null,this.lastTaskState=null,this.isNeedToTriggerHasTask=!1,this.tasks=[],this.setDelegate(e)}return e.get=function(){return Zone.current.get("ProxyZoneSpec")},e.isLoaded=function(){return e.get()instanceof e},e.assertPresent=function(){if(!e.isLoaded())throw new Error("Expected to be running in 'ProxyZone', but it was not found.");return e.get()},e.prototype.setDelegate=function(e){var t=this,n=this._delegateSpec!==e;this._delegateSpec=e,this.propertyKeys&&this.propertyKeys.forEach((function(e){return delete t.properties[e]})),this.propertyKeys=null,e&&e.properties&&(this.propertyKeys=Object.keys(e.properties),this.propertyKeys.forEach((function(n){return t.properties[n]=e.properties[n]}))),n&&this.lastTaskState&&(this.lastTaskState.macroTask||this.lastTaskState.microTask)&&(this.isNeedToTriggerHasTask=!0)},e.prototype.getDelegate=function(){return this._delegateSpec},e.prototype.resetDelegate=function(){this.getDelegate(),this.setDelegate(this.defaultSpecDelegate)},e.prototype.tryTriggerHasTask=function(e,t,n){this.isNeedToTriggerHasTask&&this.lastTaskState&&(this.isNeedToTriggerHasTask=!1,this.onHasTask(e,t,n,this.lastTaskState))},e.prototype.removeFromTasks=function(e){if(this.tasks)for(var t=0;t<this.tasks.length;t++)if(this.tasks[t]===e)return void this.tasks.splice(t,1)},e.prototype.getAndClearPendingTasksInfo=function(){if(0===this.tasks.length)return"";var e="--Pending async tasks are: ["+this.tasks.map((function(e){var t=e.data&&Object.keys(e.data).map((function(t){return t+":"+e.data[t]})).join(",");return"type: "+e.type+", source: "+e.source+", args: {"+t+"}"}))+"]";return this.tasks=[],e},e.prototype.onFork=function(e,t,n,r){return this._delegateSpec&&this._delegateSpec.onFork?this._delegateSpec.onFork(e,t,n,r):e.fork(n,r)},e.prototype.onIntercept=function(e,t,n,r,i){return this._delegateSpec&&this._delegateSpec.onIntercept?this._delegateSpec.onIntercept(e,t,n,r,i):e.intercept(n,r,i)},e.prototype.onInvoke=function(e,t,n,r,i,o,s){return this.tryTriggerHasTask(e,t,n),this._delegateSpec&&this._delegateSpec.onInvoke?this._delegateSpec.onInvoke(e,t,n,r,i,o,s):e.invoke(n,r,i,o,s)},e.prototype.onHandleError=function(e,t,n,r){return this._delegateSpec&&this._delegateSpec.onHandleError?this._delegateSpec.onHandleError(e,t,n,r):e.handleError(n,r)},e.prototype.onScheduleTask=function(e,t,n,r){return"eventTask"!==r.type&&this.tasks.push(r),this._delegateSpec&&this._delegateSpec.onScheduleTask?this._delegateSpec.onScheduleTask(e,t,n,r):e.scheduleTask(n,r)},e.prototype.onInvokeTask=function(e,t,n,r,i,o){return"eventTask"!==r.type&&this.removeFromTasks(r),this.tryTriggerHasTask(e,t,n),this._delegateSpec&&this._delegateSpec.onInvokeTask?this._delegateSpec.onInvokeTask(e,t,n,r,i,o):e.invokeTask(n,r,i,o)},e.prototype.onCancelTask=function(e,t,n,r){return"eventTask"!==r.type&&this.removeFromTasks(r),this.tryTriggerHasTask(e,t,n),this._delegateSpec&&this._delegateSpec.onCancelTask?this._delegateSpec.onCancelTask(e,t,n,r):e.cancelTask(n,r)},e.prototype.onHasTask=function(e,t,n,r){this.lastTaskState=r,this._delegateSpec&&this._delegateSpec.onHasTask?this._delegateSpec.onHasTask(e,t,n,r):e.hasTask(n,r)},e}();Zone.ProxyZoneSpec=y;
/**

@@ -32,3 +31,3 @@ * @license

*/
var T,y,k=function(){function e(e){this.runZone=Zone.current,this.name="syncTestZone for "+e}return e.prototype.onScheduleTask=function(e,t,n,r){switch(r.type){case"microTask":case"macroTask":throw new Error("Cannot call "+r.source+" from within a sync test.");case"eventTask":r=e.scheduleTask(n,r)}return r},e}();Zone.SyncTestZoneSpec=k,
var m,T,k=function(){function e(e){this.runZone=Zone.current,this.name="syncTestZone for "+e}return e.prototype.onScheduleTask=function(e,t,n,r){switch(r.type){case"microTask":case"macroTask":throw new Error("Cannot call "+r.source+" from within a sync test.");case"eventTask":r=e.scheduleTask(n,r)}return r},e}();Zone.SyncTestZoneSpec=k,
/**

@@ -41,3 +40,3 @@ * @license

*/
function(e){if(!Zone)throw new Error("Missing: zone.js");if("undefined"==typeof jasmine)throw new Error("Missing: jasmine.js");if(jasmine.__zone_patch__)throw new Error("'jasmine' has already been patched with 'Zone'.");jasmine.__zone_patch__=!0;var t=Zone.SyncTestZoneSpec,n=Zone.ProxyZoneSpec;if(!t)throw new Error("Missing: SyncTestZoneSpec");if(!n)throw new Error("Missing: ProxyZoneSpec");var r=Zone.current,o=r.fork(new t("jasmine.describe")),s=Zone.__symbol__,i=!0===e[s("fakeAsyncDisablePatchingClock")],a=!i&&(!0===e[s("fakeAsyncPatchLock")]||!0===e[s("fakeAsyncAutoFakeAsyncWhenClockPatched")]);if(!0!==e[s("ignoreUnhandledRejection")]){var c=jasmine.GlobalErrors;c&&!jasmine[s("GlobalErrors")]&&(jasmine[s("GlobalErrors")]=c,jasmine.GlobalErrors=function(){var e=new c,t=e.install;return t&&!e[s("install")]&&(e[s("install")]=t,e.install=function(){var e=process.listeners("unhandledRejection"),n=t.apply(this,arguments);return process.removeAllListeners("unhandledRejection"),e&&e.forEach(function(e){return process.on("unhandledRejection",e)}),n}),e})}var u=jasmine.getEnv();if(["describe","xdescribe","fdescribe"].forEach(function(e){var t=u[e];u[e]=function(e,n){return t.call(this,e,function r(e){return function(){return o.run(e,this,arguments)}}(n))}}),["it","xit","fit"].forEach(function(e){var t=u[e];u[s(e)]=t,u[e]=function(e,n,r){return arguments[1]=p(n),t.apply(this,arguments)}}),["beforeEach","afterEach","beforeAll","afterAll"].forEach(function(e){var t=u[e];u[s(e)]=t,u[e]=function(e,n){return arguments[0]=p(e),t.apply(this,arguments)}}),!i){var l=jasmine[s("clock")]=jasmine.clock;jasmine.clock=function(){var e=l.apply(this,arguments);if(!e[s("patched")]){e[s("patched")]=s("patched");var t=e[s("tick")]=e.tick;e.tick=function(){var e=Zone.current.get("FakeAsyncTestZoneSpec");return e?e.tick.apply(e,arguments):t.apply(this,arguments)};var n=e[s("mockDate")]=e.mockDate;e.mockDate=function(){var e=Zone.current.get("FakeAsyncTestZoneSpec");if(e){var t=arguments.length>0?arguments[0]:new Date;return e.setCurrentRealTime.apply(e,t&&"function"==typeof t.getTime?[t.getTime()]:arguments)}return n.apply(this,arguments)},a&&["install","uninstall"].forEach(function(t){var n=e[s(t)]=e[t];e[t]=function(){if(!Zone.FakeAsyncTestZoneSpec)return n.apply(this,arguments);jasmine[s("clockInstalled")]="install"===t}})}return e}}function h(e,t,n,r){var o=!!jasmine[s("clockInstalled")],i=n.testProxyZone;if(o&&a){var c=Zone[Zone.__symbol__("fakeAsyncTest")];c&&"function"==typeof c.fakeAsync&&(e=c.fakeAsync(e))}return r?i.run(e,t,[r]):i.run(e,t)}function p(e){return e&&(e.length?function(t){return h(e,this,this.queueRunner,t)}:function(){return h(e,this,this.queueRunner)})}var d=jasmine.QueueRunner;jasmine.QueueRunner=function(t){function o(n){var o,s=this;n.onComplete&&(n.onComplete=(o=n.onComplete,function(){s.testProxyZone=null,s.testProxyZoneSpec=null,r.scheduleMicroTask("jasmine.onComplete",o)}));var i=e[Zone.__symbol__("setTimeout")],a=e[Zone.__symbol__("clearTimeout")];i&&(n.timeout={setTimeout:i||e.setTimeout,clearTimeout:a||e.clearTimeout}),jasmine.UserContext?(n.userContext||(n.userContext=new jasmine.UserContext),n.userContext.queueRunner=this):(n.userContext||(n.userContext={}),n.userContext.queueRunner=this);var c=n.onException;n.onException=function(e){if(e&&"Timeout - Async callback was not invoked within timeout specified by jasmine.DEFAULT_TIMEOUT_INTERVAL."===e.message){var t=this&&this.testProxyZoneSpec;if(t){var n=t.getAndClearPendingTasksInfo();try{e.message+=n}catch(e){}}}c&&c.call(this,e)},t.call(this,n)}return function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n]);function r(){this.constructor=e}e.prototype=null===t?Object.create(t):(r.prototype=t.prototype,new r)}(o,t),o.prototype.execute=function(){for(var e=this,o=Zone.current,s=!1;o;){if(o===r){s=!0;break}o=o.parent}if(!s)throw new Error("Unexpected Zone: "+Zone.current.name);this.testProxyZoneSpec=new n,this.testProxyZone=r.fork(this.testProxyZoneSpec),Zone.currentTask?t.prototype.execute.call(this):Zone.current.scheduleMicroTask("jasmine.execute().forceTask",function(){return d.prototype.execute.call(e)})},o}(d)}("undefined"!=typeof window&&window||"undefined"!=typeof self&&self||global),
Zone.__load_patch("jasmine",(function(e,t,n){if(!t)throw new Error("Missing: zone.js");if("undefined"==typeof jest&&"undefined"!=typeof jasmine&&!jasmine.__zone_patch__){jasmine.__zone_patch__=!0;var r=t.SyncTestZoneSpec,i=t.ProxyZoneSpec;if(!r)throw new Error("Missing: SyncTestZoneSpec");if(!i)throw new Error("Missing: ProxyZoneSpec");var o=t.current,s=o.fork(new r("jasmine.describe")),a=t.__symbol__,c=!0===e[a("fakeAsyncDisablePatchingClock")],u=!c&&(!0===e[a("fakeAsyncPatchLock")]||!0===e[a("fakeAsyncAutoFakeAsyncWhenClockPatched")]);if(!0!==e[a("ignoreUnhandledRejection")]){var h=jasmine.GlobalErrors;h&&!jasmine[a("GlobalErrors")]&&(jasmine[a("GlobalErrors")]=h,jasmine.GlobalErrors=function(){var e=new h,t=e.install;return t&&!e[a("install")]&&(e[a("install")]=t,e.install=function(){var e=process.listeners("unhandledRejection"),n=t.apply(this,arguments);return process.removeAllListeners("unhandledRejection"),e&&e.forEach((function(e){return process.on("unhandledRejection",e)})),n}),e})}var l=jasmine.getEnv();if(["describe","xdescribe","fdescribe"].forEach((function(e){var t=l[e];l[e]=function(e,n){return t.call(this,e,function r(e){return function(){return s.run(e,this,arguments)}}(n))}})),["it","xit","fit"].forEach((function(e){var t=l[e];l[a(e)]=t,l[e]=function(e,n,r){return arguments[1]=_(n),t.apply(this,arguments)}})),["beforeEach","afterEach","beforeAll","afterAll"].forEach((function(e){var t=l[e];l[a(e)]=t,l[e]=function(e,n){return arguments[0]=_(e),t.apply(this,arguments)}})),!c){var p=jasmine[a("clock")]=jasmine.clock;jasmine.clock=function(){var e=p.apply(this,arguments);if(!e[a("patched")]){e[a("patched")]=a("patched");var n=e[a("tick")]=e.tick;e.tick=function(){var e=t.current.get("FakeAsyncTestZoneSpec");return e?e.tick.apply(e,arguments):n.apply(this,arguments)};var r=e[a("mockDate")]=e.mockDate;e.mockDate=function(){var e=t.current.get("FakeAsyncTestZoneSpec");if(e){var n=arguments.length>0?arguments[0]:new Date;return e.setCurrentRealTime.apply(e,n&&"function"==typeof n.getTime?[n.getTime()]:arguments)}return r.apply(this,arguments)},u&&["install","uninstall"].forEach((function(n){var r=e[a(n)]=e[n];e[n]=function(){var e=t.FakeAsyncTestZoneSpec;if(!e)return r.apply(this,arguments);jasmine[a("clockInstalled")]="install"===n}}))}return e}}var f=jasmine.QueueRunner;jasmine.QueueRunner=function(n){function r(r){var i,s=this;r.onComplete&&(r.onComplete=(i=r.onComplete,function(){s.testProxyZone=null,s.testProxyZoneSpec=null,o.scheduleMicroTask("jasmine.onComplete",i)}));var a=e[t.__symbol__("setTimeout")],c=e[t.__symbol__("clearTimeout")];a&&(r.timeout={setTimeout:a||e.setTimeout,clearTimeout:c||e.clearTimeout}),jasmine.UserContext?(r.userContext||(r.userContext=new jasmine.UserContext),r.userContext.queueRunner=this):(r.userContext||(r.userContext={}),r.userContext.queueRunner=this);var u=r.onException;r.onException=function(e){if(e&&"Timeout - Async callback was not invoked within timeout specified by jasmine.DEFAULT_TIMEOUT_INTERVAL."===e.message){var t=this&&this.testProxyZoneSpec;if(t){var n=t.getAndClearPendingTasksInfo();try{e.message+=n}catch(e){}}}u&&u.call(this,e)},n.call(this,r)}return function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n]);function r(){this.constructor=e}e.prototype=null===t?Object.create(t):(r.prototype=t.prototype,new r)}(r,n),r.prototype.execute=function(){for(var e=this,r=t.current,s=!1;r;){if(r===o){s=!0;break}r=r.parent}if(!s)throw new Error("Unexpected Zone: "+t.current.name);this.testProxyZoneSpec=new i,this.testProxyZone=o.fork(this.testProxyZoneSpec),t.currentTask?n.prototype.execute.call(this):t.current.scheduleMicroTask("jasmine.execute().forceTask",(function(){return f.prototype.execute.call(e)}))},r}(f)}function d(e,n,r,i){var o=!!jasmine[a("clockInstalled")],s=r.testProxyZone;if(o&&u){var c=t[t.__symbol__("fakeAsyncTest")];c&&"function"==typeof c.fakeAsync&&(e=c.fakeAsync(e))}return i?s.run(e,n,[i]):s.run(e,n)}function _(e){return e&&(e.length?function(t){return d(e,this,this.queueRunner,t)}:function(){return d(e,this,this.queueRunner)})}})),
/**

@@ -50,3 +49,3 @@ * @license

*/
T="undefined"!=typeof window&&window||"undefined"!=typeof self&&self||global,(y=function(){function e(e,t,n){this.finishCallback=e,this.failCallback=t,this._pendingMicroTasks=!1,this._pendingMacroTasks=!1,this._alreadyErrored=!1,this._isSync=!1,this.runZone=Zone.current,this.unresolvedChainedPromiseCount=0,this.supportWaitUnresolvedChainedPromise=!1,this.name="asyncTestZone for "+n,this.properties={AsyncTestZoneSpec:this},this.supportWaitUnresolvedChainedPromise=!0===T[Zone.__symbol__("supportWaitUnResolvedChainedPromise")]}return e.prototype.isUnresolvedChainedPromisePending=function(){return this.unresolvedChainedPromiseCount>0},e.prototype._finishCallbackIfDone=function(){var e=this;this._pendingMicroTasks||this._pendingMacroTasks||this.supportWaitUnresolvedChainedPromise&&this.isUnresolvedChainedPromisePending()||this.runZone.run(function(){setTimeout(function(){e._alreadyErrored||e._pendingMicroTasks||e._pendingMacroTasks||e.finishCallback()},0)})},e.prototype.patchPromiseForTest=function(){if(this.supportWaitUnresolvedChainedPromise){var e=Promise[Zone.__symbol__("patchPromiseForTest")];e&&e()}},e.prototype.unPatchPromiseForTest=function(){if(this.supportWaitUnresolvedChainedPromise){var e=Promise[Zone.__symbol__("unPatchPromiseForTest")];e&&e()}},e.prototype.onScheduleTask=function(t,n,r,o){return"eventTask"!==o.type&&(this._isSync=!1),"microTask"===o.type&&o.data&&o.data instanceof Promise&&!0===o.data[e.symbolParentUnresolved]&&this.unresolvedChainedPromiseCount--,t.scheduleTask(r,o)},e.prototype.onInvokeTask=function(e,t,n,r,o,s){return"eventTask"!==r.type&&(this._isSync=!1),e.invokeTask(n,r,o,s)},e.prototype.onCancelTask=function(e,t,n,r){return"eventTask"!==r.type&&(this._isSync=!1),e.cancelTask(n,r)},e.prototype.onInvoke=function(e,t,n,r,o,s,i){try{return this._isSync=!0,e.invoke(n,r,o,s,i)}finally{this._isSync&&this._finishCallbackIfDone()}},e.prototype.onHandleError=function(e,t,n,r){return e.handleError(n,r)&&(this.failCallback(r),this._alreadyErrored=!0),!1},e.prototype.onHasTask=function(e,t,n,r){e.hasTask(n,r),"microTask"==r.change?(this._pendingMicroTasks=r.microTask,this._finishCallbackIfDone()):"macroTask"==r.change&&(this._pendingMacroTasks=r.macroTask,this._finishCallbackIfDone())},e}()).symbolParentUnresolved=Zone.__symbol__("parentUnresolved"),Zone.AsyncTestZoneSpec=y,
Zone.__load_patch("jest",(function(e,t){if("undefined"!=typeof jest&&!jest.__zone_patch__){if(jest.__zone_patch__=!0,void 0===t)throw new Error("Missing Zone.js");var n=t.ProxyZoneSpec,r=t.SyncTestZoneSpec;if(!n)throw new Error("Missing ProxyZoneSpec");var i=t.current,o=i.fork(new r("jest.describe")),s=i.fork(new n);["describe","xdescribe","fdescribe"].forEach((function(n){var r=e[n];e[t.__symbol__(n)]||(e[t.__symbol__(n)]=r,e[n]=function(){for(var e=[],t=0;t<arguments.length;t++)e[t]=arguments[t];return e[1]=a(e[1]),r.apply(this,e)},e[n].each=function i(e){return function(){for(var t=[],n=0;n<arguments.length;n++)t[n]=arguments[n];var r=e.apply(this,t);return function(){for(var e=[],t=0;t<arguments.length;t++)e[t]=arguments[t];return e[1]=a(e[1]),r.apply(this,e)}}}(r.each))})),e.describe.only=e.fdescribe,e.describe.skip=e.xdescribe,["it","xit","fit","test","xtest"].forEach((function(n){var r=e[n];e[t.__symbol__(n)]||(e[t.__symbol__(n)]=r,e[n]=function(){for(var e=[],t=0;t<arguments.length;t++)e[t]=arguments[t];return e[1]=c(e[1]),r.apply(this,e)},e[n].each=function i(e){return function(){for(var t=[],n=0;n<arguments.length;n++)t[n]=arguments[n];var r=e.apply(this,t);return function(){for(var e=[],t=0;t<arguments.length;t++)e[t]=arguments[t];return e[1]=c(e[1]),r.apply(this,e)}}}(r.each),e[n].todo=r.todo)})),e.it.only=e.fit,e.it.skip=e.xit,e.test.only=e.fit,e.test.skip=e.xit,["beforeEach","afterEach","beforeAll","afterAll"].forEach((function(n){var r=e[n];e[t.__symbol__(n)]||(e[t.__symbol__(n)]=r,e[n]=function(){for(var e=[],t=0;t<arguments.length;t++)e[t]=arguments[t];return e[0]=c(e[0]),r.apply(this,e)})}))}function a(e){return function(){for(var t=[],n=0;n<arguments.length;n++)t[n]=arguments[n];return o.run(e,this,t)}}function c(e){return"function"!=typeof e?e:function(){for(var t=[],n=0;n<arguments.length;n++)t[n]=arguments[n];return s.run(e,this,t)}}})),
/**

@@ -59,3 +58,3 @@ * @license

*/
Zone.__load_patch("asynctest",function(e,t,n){function r(e,n,r,o){var s=t.current,i=t.AsyncTestZoneSpec;if(void 0===i)throw new Error("AsyncTestZoneSpec is needed for the async() test helper but could not be found. Please make sure that your environment includes zone.js/dist/async-test.js");var a=t.ProxyZoneSpec;if(void 0===a)throw new Error("ProxyZoneSpec is needed for the async() test helper but could not be found. Please make sure that your environment includes zone.js/dist/proxy.js");var c=a.get();a.assertPresent();var u=t.current.getZoneWith("ProxyZoneSpec"),l=c.getDelegate();return u.parent.run(function(){var e=new i(function(){c.getDelegate()==e&&c.setDelegate(l),e.unPatchPromiseForTest(),s.run(function(){r()})},function(t){c.getDelegate()==e&&c.setDelegate(l),e.unPatchPromiseForTest(),s.run(function(){o(t)})},"test");c.setDelegate(e),e.patchPromiseForTest()}),t.current.runGuarded(e,n)}t[n.symbol("asyncTest")]=function t(n){return e.jasmine?function(e){e||((e=function(){}).fail=function(e){throw e}),r(n,this,e,function(t){if("string"==typeof t)return e.fail(new Error(t));e.fail(t)})}:function(){var e=this;return new Promise(function(t,o){r(n,e,t,o)})}}}),
Zone.__load_patch("mocha",(function(e,t){var n=e.Mocha;if(void 0!==n){if(void 0===t)throw new Error("Missing Zone.js");var r=t.ProxyZoneSpec,i=t.SyncTestZoneSpec;if(!r)throw new Error("Missing ProxyZoneSpec");if(n.__zone_patch__)throw new Error('"Mocha" has already been patched with "Zone".');n.__zone_patch__=!0;var o,s,a=t.current,c=a.fork(new i("Mocha.describe")),u=null,h=a.fork(new r),l={after:n.after,afterEach:n.afterEach,before:n.before,beforeEach:n.beforeEach,describe:n.describe,it:n.it};e.describe=e.suite=n.describe=function(){return l.describe.apply(this,f(arguments))},e.xdescribe=e.suite.skip=n.describe.skip=function(){return l.describe.skip.apply(this,f(arguments))},e.describe.only=e.suite.only=n.describe.only=function(){return l.describe.only.apply(this,f(arguments))},e.it=e.specify=e.test=n.it=function(){return l.it.apply(this,d(arguments))},e.xit=e.xspecify=n.it.skip=function(){return l.it.skip.apply(this,d(arguments))},e.it.only=e.test.only=n.it.only=function(){return l.it.only.apply(this,d(arguments))},e.after=e.suiteTeardown=n.after=function(){return l.after.apply(this,_(arguments))},e.afterEach=e.teardown=n.afterEach=function(){return l.afterEach.apply(this,d(arguments))},e.before=e.suiteSetup=n.before=function(){return l.before.apply(this,_(arguments))},e.beforeEach=e.setup=n.beforeEach=function(){return l.beforeEach.apply(this,d(arguments))},o=n.Runner.prototype.runTest,s=n.Runner.prototype.run,n.Runner.prototype.runTest=function(e){var n=this;t.current.scheduleMicroTask("mocha.forceTask",(function(){o.call(n,e)}))},n.Runner.prototype.run=function(e){return this.on("test",(function(e){u=a.fork(new r)})),this.on("fail",(function(e,t){var n=u&&u.get("ProxyZoneSpec");if(n&&t)try{t.message+=n.getAndClearPendingTasksInfo()}catch(e){}})),s.call(this,e)}}function p(e,t,n){for(var r=function(r){var i=e[r];"function"==typeof i&&(e[r]=0===i.length?t(i):n(i),e[r].toString=function(){return i.toString()})},i=0;i<e.length;i++)r(i);return e}function f(e){return p(e,(function(e){return function(){return c.run(e,this,arguments)}}))}function d(e){return p(e,(function(e){return function(){return u.run(e,this)}}),(function(e){return function(t){return u.run(e,this,[t])}}))}function _(e){return p(e,(function(e){return function(){return h.run(e,this)}}),(function(e){return function(t){return h.run(e,this,[t])}}))}})),
/**

@@ -68,3 +67,3 @@ * @license

*/
function(e){var t=e.Date,n=function(){function e(){if(0===arguments.length){var n=new t;return n.setTime(e.now()),n}var r=Array.prototype.slice.call(arguments);return new(t.bind.apply(t,__spread([void 0],r)))}return e.now=function(){var e=Zone.current.get("FakeAsyncTestZoneSpec");return e?e.getCurrentRealTime()+e.getCurrentTime():t.now.apply(this,arguments)},e}();n.UTC=t.UTC,n.parse=t.parse;var r={setTimeout:e.setTimeout,setInterval:e.setInterval,clearTimeout:e.clearTimeout,clearInterval:e.clearInterval},o=function(){function n(){this._schedulerQueue=[],this._currentTime=0,this._currentRealTime=t.now()}return n.prototype.getCurrentTime=function(){return this._currentTime},n.prototype.getCurrentRealTime=function(){return this._currentRealTime},n.prototype.setCurrentRealTime=function(e){this._currentRealTime=e},n.prototype.scheduleFunction=function(e,t,r,o,s,i){void 0===r&&(r=[]),void 0===o&&(o=!1),void 0===s&&(s=!1),void 0===i&&(i=-1);for(var a=i<0?n.nextId++:i,c={endTime:this._currentTime+t,id:a,func:e,args:r,delay:t,isPeriodic:o,isRequestAnimationFrame:s},u=0;u<this._schedulerQueue.length&&!(c.endTime<this._schedulerQueue[u].endTime);u++);return this._schedulerQueue.splice(u,0,c),a},n.prototype.removeScheduledFunctionWithId=function(e){for(var t=0;t<this._schedulerQueue.length;t++)if(this._schedulerQueue[t].id==e){this._schedulerQueue.splice(t,1);break}},n.prototype.tick=function(t,n){void 0===t&&(t=0);var r=this._currentTime+t,o=0;if(0===this._schedulerQueue.length&&n)n(t);else{for(;this._schedulerQueue.length>0&&!(r<this._schedulerQueue[0].endTime);){var s=this._schedulerQueue.shift();if(o=this._currentTime,this._currentTime=s.endTime,n&&n(this._currentTime-o),!s.func.apply(e,s.isRequestAnimationFrame?[this._currentTime]:s.args))break}o=this._currentTime,this._currentTime=r,n&&n(this._currentTime-o)}},n.prototype.flush=function(e,t,n){return void 0===e&&(e=20),void 0===t&&(t=!1),t?this.flushPeriodic(n):this.flushNonPeriodic(e,n)},n.prototype.flushPeriodic=function(e){if(0===this._schedulerQueue.length)return 0;var t=this._currentTime;return this.tick(this._schedulerQueue[this._schedulerQueue.length-1].endTime-t,e),this._currentTime-t},n.prototype.flushNonPeriodic=function(t,n){for(var r=this._currentTime,o=0,s=0;this._schedulerQueue.length>0;){if(++s>t)throw new Error("flush failed after reaching the limit of "+t+" tasks. Does your code use a polling timeout?");if(0===this._schedulerQueue.filter(function(e){return!e.isPeriodic&&!e.isRequestAnimationFrame}).length)break;var i=this._schedulerQueue.shift();if(o=this._currentTime,this._currentTime=i.endTime,n&&n(this._currentTime-o),!i.func.apply(e,i.args))break}return this._currentTime-r},n}();o.nextId=1;var s=function(){function s(t,n,r){void 0===n&&(n=!1),this.trackPendingRequestAnimationFrame=n,this.macroTaskOptions=r,this._scheduler=new o,this._microtasks=[],this._lastError=null,this._uncaughtPromiseErrors=Promise[Zone.__symbol__("uncaughtPromiseErrors")],this.pendingPeriodicTimers=[],this.pendingTimers=[],this.patchDateLocked=!1,this.properties={FakeAsyncTestZoneSpec:this},this.name="fakeAsyncTestZone for "+t,this.macroTaskOptions||(this.macroTaskOptions=e[Zone.__symbol__("FakeAsyncTestMacroTask")])}return s.assertInZone=function(){if(null==Zone.current.get("FakeAsyncTestZoneSpec"))throw new Error("The code should be running in the fakeAsync zone to call this function")},s.prototype._fnAndFlush=function(t,n){var r=this;return function(){for(var o=[],s=0;s<arguments.length;s++)o[s]=arguments[s];return t.apply(e,o),null===r._lastError?(null!=n.onSuccess&&n.onSuccess.apply(e),r.flushMicrotasks()):null!=n.onError&&n.onError.apply(e),null===r._lastError}},s._removeTimer=function(e,t){var n=e.indexOf(t);n>-1&&e.splice(n,1)},s.prototype._dequeueTimer=function(e){var t=this;return function(){s._removeTimer(t.pendingTimers,e)}},s.prototype._requeuePeriodicTimer=function(e,t,n,r){var o=this;return function(){-1!==o.pendingPeriodicTimers.indexOf(r)&&o._scheduler.scheduleFunction(e,t,n,!0,!1,r)}},s.prototype._dequeuePeriodicTimer=function(e){var t=this;return function(){s._removeTimer(t.pendingPeriodicTimers,e)}},s.prototype._setTimeout=function(e,t,n,r){void 0===r&&(r=!0);var s=this._dequeueTimer(o.nextId),i=this._fnAndFlush(e,{onSuccess:s,onError:s}),a=this._scheduler.scheduleFunction(i,t,n,!1,!r);return r&&this.pendingTimers.push(a),a},s.prototype._clearTimeout=function(e){s._removeTimer(this.pendingTimers,e),this._scheduler.removeScheduledFunctionWithId(e)},s.prototype._setInterval=function(e,t,n){var r=o.nextId,s={onSuccess:null,onError:this._dequeuePeriodicTimer(r)},i=this._fnAndFlush(e,s);return s.onSuccess=this._requeuePeriodicTimer(i,t,n,r),this._scheduler.scheduleFunction(i,t,n,!0),this.pendingPeriodicTimers.push(r),r},s.prototype._clearInterval=function(e){s._removeTimer(this.pendingPeriodicTimers,e),this._scheduler.removeScheduledFunctionWithId(e)},s.prototype._resetLastErrorAndThrow=function(){var e=this._lastError||this._uncaughtPromiseErrors[0];throw this._uncaughtPromiseErrors.length=0,this._lastError=null,e},s.prototype.getCurrentTime=function(){return this._scheduler.getCurrentTime()},s.prototype.getCurrentRealTime=function(){return this._scheduler.getCurrentRealTime()},s.prototype.setCurrentRealTime=function(e){this._scheduler.setCurrentRealTime(e)},s.patchDate=function(){e[Zone.__symbol__("disableDatePatching")]||e.Date!==n&&(e.Date=n,n.prototype=t.prototype,s.checkTimerPatch())},s.resetDate=function(){e.Date===n&&(e.Date=t)},s.checkTimerPatch=function(){e.setTimeout!==r.setTimeout&&(e.setTimeout=r.setTimeout,e.clearTimeout=r.clearTimeout),e.setInterval!==r.setInterval&&(e.setInterval=r.setInterval,e.clearInterval=r.clearInterval)},s.prototype.lockDatePatch=function(){this.patchDateLocked=!0,s.patchDate()},s.prototype.unlockDatePatch=function(){this.patchDateLocked=!1,s.resetDate()},s.prototype.tick=function(e,t){void 0===e&&(e=0),s.assertInZone(),this.flushMicrotasks(),this._scheduler.tick(e,t),null!==this._lastError&&this._resetLastErrorAndThrow()},s.prototype.flushMicrotasks=function(){for(s.assertInZone();this._microtasks.length>0;){var e=this._microtasks.shift();e.func.apply(e.target,e.args)}(null!==this._lastError||this._uncaughtPromiseErrors.length)&&this._resetLastErrorAndThrow()},s.prototype.flush=function(e,t,n){s.assertInZone(),this.flushMicrotasks();var r=this._scheduler.flush(e,t,n);return null!==this._lastError&&this._resetLastErrorAndThrow(),r},s.prototype.onScheduleTask=function(e,t,n,r){switch(r.type){case"microTask":var o=r.data&&r.data.args,s=void 0;if(o){var i=r.data.cbIdx;"number"==typeof o.length&&o.length>i+1&&(s=Array.prototype.slice.call(o,i+1))}this._microtasks.push({func:r.invoke,args:s,target:r.data&&r.data.target});break;case"macroTask":switch(r.source){case"setTimeout":r.data.handleId=this._setTimeout(r.invoke,r.data.delay,Array.prototype.slice.call(r.data.args,2));break;case"setImmediate":r.data.handleId=this._setTimeout(r.invoke,0,Array.prototype.slice.call(r.data.args,1));break;case"setInterval":r.data.handleId=this._setInterval(r.invoke,r.data.delay,Array.prototype.slice.call(r.data.args,2));break;case"XMLHttpRequest.send":throw new Error("Cannot make XHRs from within a fake async test. Request URL: "+r.data.url);case"requestAnimationFrame":case"webkitRequestAnimationFrame":case"mozRequestAnimationFrame":r.data.handleId=this._setTimeout(r.invoke,16,r.data.args,this.trackPendingRequestAnimationFrame);break;default:var a=this.findMacroTaskOption(r);if(a){var c=r.data&&r.data.args,u=c&&c.length>1?c[1]:0,l=a.callbackArgs?a.callbackArgs:c;a.isPeriodic?(r.data.handleId=this._setInterval(r.invoke,u,l),r.data.isPeriodic=!0):r.data.handleId=this._setTimeout(r.invoke,u,l);break}throw new Error("Unknown macroTask scheduled in fake async test: "+r.source)}break;case"eventTask":r=e.scheduleTask(n,r)}return r},s.prototype.onCancelTask=function(e,t,n,r){switch(r.source){case"setTimeout":case"requestAnimationFrame":case"webkitRequestAnimationFrame":case"mozRequestAnimationFrame":return this._clearTimeout(r.data.handleId);case"setInterval":return this._clearInterval(r.data.handleId);default:var o=this.findMacroTaskOption(r);if(o){var s=r.data.handleId;return o.isPeriodic?this._clearInterval(s):this._clearTimeout(s)}return e.cancelTask(n,r)}},s.prototype.onInvoke=function(e,t,n,r,o,i,a){try{return s.patchDate(),e.invoke(n,r,o,i,a)}finally{this.patchDateLocked||s.resetDate()}},s.prototype.findMacroTaskOption=function(e){if(!this.macroTaskOptions)return null;for(var t=0;t<this.macroTaskOptions.length;t++){var n=this.macroTaskOptions[t];if(n.source===e.source)return n}return null},s.prototype.onHandleError=function(e,t,n,r){return this._lastError=r,!1},s}();Zone.FakeAsyncTestZoneSpec=s}("object"==typeof window&&window||"object"==typeof self&&self||global),
m="undefined"!=typeof window&&window||"undefined"!=typeof self&&self||global,(T=function(){function e(e,t,n){this.finishCallback=e,this.failCallback=t,this._pendingMicroTasks=!1,this._pendingMacroTasks=!1,this._alreadyErrored=!1,this._isSync=!1,this.runZone=Zone.current,this.unresolvedChainedPromiseCount=0,this.supportWaitUnresolvedChainedPromise=!1,this.name="asyncTestZone for "+n,this.properties={AsyncTestZoneSpec:this},this.supportWaitUnresolvedChainedPromise=!0===m[Zone.__symbol__("supportWaitUnResolvedChainedPromise")]}return e.prototype.isUnresolvedChainedPromisePending=function(){return this.unresolvedChainedPromiseCount>0},e.prototype._finishCallbackIfDone=function(){var e=this;this._pendingMicroTasks||this._pendingMacroTasks||this.supportWaitUnresolvedChainedPromise&&this.isUnresolvedChainedPromisePending()||this.runZone.run((function(){setTimeout((function(){e._alreadyErrored||e._pendingMicroTasks||e._pendingMacroTasks||e.finishCallback()}),0)}))},e.prototype.patchPromiseForTest=function(){if(this.supportWaitUnresolvedChainedPromise){var e=Promise[Zone.__symbol__("patchPromiseForTest")];e&&e()}},e.prototype.unPatchPromiseForTest=function(){if(this.supportWaitUnresolvedChainedPromise){var e=Promise[Zone.__symbol__("unPatchPromiseForTest")];e&&e()}},e.prototype.onScheduleTask=function(t,n,r,i){return"eventTask"!==i.type&&(this._isSync=!1),"microTask"===i.type&&i.data&&i.data instanceof Promise&&!0===i.data[e.symbolParentUnresolved]&&this.unresolvedChainedPromiseCount--,t.scheduleTask(r,i)},e.prototype.onInvokeTask=function(e,t,n,r,i,o){return"eventTask"!==r.type&&(this._isSync=!1),e.invokeTask(n,r,i,o)},e.prototype.onCancelTask=function(e,t,n,r){return"eventTask"!==r.type&&(this._isSync=!1),e.cancelTask(n,r)},e.prototype.onInvoke=function(e,t,n,r,i,o,s){try{return this._isSync=!0,e.invoke(n,r,i,o,s)}finally{this._isSync&&this._finishCallbackIfDone()}},e.prototype.onHandleError=function(e,t,n,r){return e.handleError(n,r)&&(this.failCallback(r),this._alreadyErrored=!0),!1},e.prototype.onHasTask=function(e,t,n,r){e.hasTask(n,r),"microTask"==r.change?(this._pendingMicroTasks=r.microTask,this._finishCallbackIfDone()):"macroTask"==r.change&&(this._pendingMacroTasks=r.macroTask,this._finishCallbackIfDone())},e}()).symbolParentUnresolved=Zone.__symbol__("parentUnresolved"),Zone.AsyncTestZoneSpec=T,
/**

@@ -77,3 +76,3 @@ * @license

*/
Zone.__load_patch("fakeasync",function(e,t,n){var r=t&&t.FakeAsyncTestZoneSpec,o=t&&t.ProxyZoneSpec,s=null;function i(){s&&s.unlockDatePatch(),s=null,o&&o.assertPresent().resetDelegate()}function a(){if(null==s&&null==(s=t.current.get("FakeAsyncTestZoneSpec")))throw new Error("The code should be running in the fakeAsync zone to call this function");return s}function c(){a().flushMicrotasks()}t[n.symbol("fakeAsyncTest")]={resetFakeAsyncZone:i,flushMicrotasks:c,discardPeriodicTasks:function u(){a().pendingPeriodicTimers.length=0},tick:function l(e){void 0===e&&(e=0),a().tick(e)},flush:function h(e){return a().flush(e)},fakeAsync:function p(e){return function(){for(var n=[],a=0;a<arguments.length;a++)n[a]=arguments[a];var u=o.assertPresent();if(t.current.get("FakeAsyncTestZoneSpec"))throw new Error("fakeAsync() calls can not be nested");try{if(!s){if(u.getDelegate()instanceof r)throw new Error("fakeAsync() calls can not be nested");s=new r}var l=void 0,h=u.getDelegate();u.setDelegate(s),s.lockDatePatch();try{l=e.apply(this,n),c()}finally{u.setDelegate(h)}if(s.pendingPeriodicTimers.length>0)throw new Error(s.pendingPeriodicTimers.length+" periodic timer(s) still in the queue.");if(s.pendingTimers.length>0)throw new Error(s.pendingTimers.length+" timer(s) still in the queue.");return l}finally{i()}}}}}),
Zone.__load_patch("asynctest",(function(e,t,n){function r(e,n,r,i){var o=t.current,s=t.AsyncTestZoneSpec;if(void 0===s)throw new Error("AsyncTestZoneSpec is needed for the async() test helper but could not be found. Please make sure that your environment includes zone.js/dist/async-test.js");var a=t.ProxyZoneSpec;if(void 0===a)throw new Error("ProxyZoneSpec is needed for the async() test helper but could not be found. Please make sure that your environment includes zone.js/dist/proxy.js");var c=a.get();a.assertPresent();var u=t.current.getZoneWith("ProxyZoneSpec"),h=c.getDelegate();return u.parent.run((function(){var e=new s((function(){c.getDelegate()==e&&c.setDelegate(h),e.unPatchPromiseForTest(),o.run((function(){r()}))}),(function(t){c.getDelegate()==e&&c.setDelegate(h),e.unPatchPromiseForTest(),o.run((function(){i(t)}))}),"test");c.setDelegate(e),e.patchPromiseForTest()})),t.current.runGuarded(e,n)}t[n.symbol("asyncTest")]=function t(n){return e.jasmine?function(e){e||((e=function(){}).fail=function(e){throw e}),r(n,this,e,(function(t){if("string"==typeof t)return e.fail(new Error(t));e.fail(t)}))}:function(){var e=this;return new Promise((function(t,i){r(n,e,t,i)}))}}})),
/**

@@ -86,2 +85,18 @@ * @license

*/
Zone.__load_patch("promisefortest",function(e,t,n){var r=n.symbol("state"),o=n.symbol("parentUnresolved");Promise[n.symbol("patchPromiseForTest")]=function e(){var n=Promise[t.__symbol__("ZonePromiseThen")];n||(n=Promise[t.__symbol__("ZonePromiseThen")]=Promise.prototype.then,Promise.prototype.then=function(){var e=n.apply(this,arguments);if(null===this[r]){var s=t.current.get("AsyncTestZoneSpec");s&&(s.unresolvedChainedPromiseCount++,e[o]=!0)}return e})},Promise[n.symbol("unPatchPromiseForTest")]=function e(){var n=Promise[t.__symbol__("ZonePromiseThen")];n&&(Promise.prototype.then=n,Promise[t.__symbol__("ZonePromiseThen")]=void 0)}})});
function(e){var t=e.Date,n=function(){function e(){if(0===arguments.length){var n=new t;return n.setTime(e.now()),n}var r=Array.prototype.slice.call(arguments);return new(t.bind.apply(t,__spreadArrays([void 0],r)))}return e.now=function(){var e=Zone.current.get("FakeAsyncTestZoneSpec");return e?e.getCurrentRealTime()+e.getCurrentTime():t.now.apply(this,arguments)},e}();n.UTC=t.UTC,n.parse=t.parse;var r={setTimeout:e.setTimeout,setInterval:e.setInterval,clearTimeout:e.clearTimeout,clearInterval:e.clearInterval},i=function(){function n(){this._schedulerQueue=[],this._currentTime=0,this._currentRealTime=t.now(),this._currentTickRequeuePeriodicEntries=[]}return n.prototype.getCurrentTime=function(){return this._currentTime},n.prototype.getCurrentRealTime=function(){return this._currentRealTime},n.prototype.setCurrentRealTime=function(e){this._currentRealTime=e},n.prototype.scheduleFunction=function(e,t,r){var i=(r=Object.assign({args:[],isPeriodic:!1,isRequestAnimationFrame:!1,id:-1,isRequeuePeriodic:!1},r)).id<0?n.nextId++:r.id,o={endTime:this._currentTime+t,id:i,func:e,args:r.args,delay:t,isPeriodic:r.isPeriodic,isRequestAnimationFrame:r.isRequestAnimationFrame};r.isRequeuePeriodic&&this._currentTickRequeuePeriodicEntries.push(o);for(var s=0;s<this._schedulerQueue.length&&!(o.endTime<this._schedulerQueue[s].endTime);s++);return this._schedulerQueue.splice(s,0,o),i},n.prototype.removeScheduledFunctionWithId=function(e){for(var t=0;t<this._schedulerQueue.length;t++)if(this._schedulerQueue[t].id==e){this._schedulerQueue.splice(t,1);break}},n.prototype.tick=function(t,n,r){void 0===t&&(t=0);var i=this._currentTime+t,o=0,s=(r=Object.assign({processNewMacroTasksSynchronously:!0},r)).processNewMacroTasksSynchronously?this._schedulerQueue:this._schedulerQueue.slice();if(0===s.length&&n)n(t);else{for(;s.length>0&&(this._currentTickRequeuePeriodicEntries=[],!(i<s[0].endTime));){var a=s.shift();if(!r.processNewMacroTasksSynchronously){var c=this._schedulerQueue.indexOf(a);c>=0&&this._schedulerQueue.splice(c,1)}if(o=this._currentTime,this._currentTime=a.endTime,n&&n(this._currentTime-o),!a.func.apply(e,a.isRequestAnimationFrame?[this._currentTime]:a.args))break;r.processNewMacroTasksSynchronously||this._currentTickRequeuePeriodicEntries.forEach((function(e){for(var t=0;t<s.length&&!(e.endTime<s[t].endTime);t++);s.splice(t,0,e)}))}o=this._currentTime,this._currentTime=i,n&&n(this._currentTime-o)}},n.prototype.flush=function(e,t,n){return void 0===e&&(e=20),void 0===t&&(t=!1),t?this.flushPeriodic(n):this.flushNonPeriodic(e,n)},n.prototype.flushPeriodic=function(e){if(0===this._schedulerQueue.length)return 0;var t=this._currentTime;return this.tick(this._schedulerQueue[this._schedulerQueue.length-1].endTime-t,e),this._currentTime-t},n.prototype.flushNonPeriodic=function(t,n){for(var r=this._currentTime,i=0,o=0;this._schedulerQueue.length>0;){if(++o>t)throw new Error("flush failed after reaching the limit of "+t+" tasks. Does your code use a polling timeout?");if(0===this._schedulerQueue.filter((function(e){return!e.isPeriodic&&!e.isRequestAnimationFrame})).length)break;var s=this._schedulerQueue.shift();if(i=this._currentTime,this._currentTime=s.endTime,n&&n(this._currentTime-i),!s.func.apply(e,s.args))break}return this._currentTime-r},n}();i.nextId=1;var o=function(){function o(t,n,r){void 0===n&&(n=!1),this.trackPendingRequestAnimationFrame=n,this.macroTaskOptions=r,this._scheduler=new i,this._microtasks=[],this._lastError=null,this._uncaughtPromiseErrors=Promise[Zone.__symbol__("uncaughtPromiseErrors")],this.pendingPeriodicTimers=[],this.pendingTimers=[],this.patchDateLocked=!1,this.properties={FakeAsyncTestZoneSpec:this},this.name="fakeAsyncTestZone for "+t,this.macroTaskOptions||(this.macroTaskOptions=e[Zone.__symbol__("FakeAsyncTestMacroTask")])}return o.assertInZone=function(){if(null==Zone.current.get("FakeAsyncTestZoneSpec"))throw new Error("The code should be running in the fakeAsync zone to call this function")},o.prototype._fnAndFlush=function(t,n){var r=this;return function(){for(var i=[],o=0;o<arguments.length;o++)i[o]=arguments[o];return t.apply(e,i),null===r._lastError?(null!=n.onSuccess&&n.onSuccess.apply(e),r.flushMicrotasks()):null!=n.onError&&n.onError.apply(e),null===r._lastError}},o._removeTimer=function(e,t){var n=e.indexOf(t);n>-1&&e.splice(n,1)},o.prototype._dequeueTimer=function(e){var t=this;return function(){o._removeTimer(t.pendingTimers,e)}},o.prototype._requeuePeriodicTimer=function(e,t,n,r){var i=this;return function(){-1!==i.pendingPeriodicTimers.indexOf(r)&&i._scheduler.scheduleFunction(e,t,{args:n,isPeriodic:!0,id:r,isRequeuePeriodic:!0})}},o.prototype._dequeuePeriodicTimer=function(e){var t=this;return function(){o._removeTimer(t.pendingPeriodicTimers,e)}},o.prototype._setTimeout=function(e,t,n,r){void 0===r&&(r=!0);var o=this._dequeueTimer(i.nextId),s=this._fnAndFlush(e,{onSuccess:o,onError:o}),a=this._scheduler.scheduleFunction(s,t,{args:n,isRequestAnimationFrame:!r});return r&&this.pendingTimers.push(a),a},o.prototype._clearTimeout=function(e){o._removeTimer(this.pendingTimers,e),this._scheduler.removeScheduledFunctionWithId(e)},o.prototype._setInterval=function(e,t,n){var r=i.nextId,o={onSuccess:null,onError:this._dequeuePeriodicTimer(r)},s=this._fnAndFlush(e,o);return o.onSuccess=this._requeuePeriodicTimer(s,t,n,r),this._scheduler.scheduleFunction(s,t,{args:n,isPeriodic:!0}),this.pendingPeriodicTimers.push(r),r},o.prototype._clearInterval=function(e){o._removeTimer(this.pendingPeriodicTimers,e),this._scheduler.removeScheduledFunctionWithId(e)},o.prototype._resetLastErrorAndThrow=function(){var e=this._lastError||this._uncaughtPromiseErrors[0];throw this._uncaughtPromiseErrors.length=0,this._lastError=null,e},o.prototype.getCurrentTime=function(){return this._scheduler.getCurrentTime()},o.prototype.getCurrentRealTime=function(){return this._scheduler.getCurrentRealTime()},o.prototype.setCurrentRealTime=function(e){this._scheduler.setCurrentRealTime(e)},o.patchDate=function(){e[Zone.__symbol__("disableDatePatching")]||e.Date!==n&&(e.Date=n,n.prototype=t.prototype,o.checkTimerPatch())},o.resetDate=function(){e.Date===n&&(e.Date=t)},o.checkTimerPatch=function(){e.setTimeout!==r.setTimeout&&(e.setTimeout=r.setTimeout,e.clearTimeout=r.clearTimeout),e.setInterval!==r.setInterval&&(e.setInterval=r.setInterval,e.clearInterval=r.clearInterval)},o.prototype.lockDatePatch=function(){this.patchDateLocked=!0,o.patchDate()},o.prototype.unlockDatePatch=function(){this.patchDateLocked=!1,o.resetDate()},o.prototype.tick=function(e,t,n){void 0===e&&(e=0),void 0===n&&(n={processNewMacroTasksSynchronously:!0}),o.assertInZone(),this.flushMicrotasks(),this._scheduler.tick(e,t,n),null!==this._lastError&&this._resetLastErrorAndThrow()},o.prototype.flushMicrotasks=function(){for(o.assertInZone();this._microtasks.length>0;){var e=this._microtasks.shift();e.func.apply(e.target,e.args)}(null!==this._lastError||this._uncaughtPromiseErrors.length)&&this._resetLastErrorAndThrow()},o.prototype.flush=function(e,t,n){o.assertInZone(),this.flushMicrotasks();var r=this._scheduler.flush(e,t,n);return null!==this._lastError&&this._resetLastErrorAndThrow(),r},o.prototype.onScheduleTask=function(e,t,n,r){switch(r.type){case"microTask":var i=r.data&&r.data.args,o=void 0;if(i){var s=r.data.cbIdx;"number"==typeof i.length&&i.length>s+1&&(o=Array.prototype.slice.call(i,s+1))}this._microtasks.push({func:r.invoke,args:o,target:r.data&&r.data.target});break;case"macroTask":switch(r.source){case"setTimeout":r.data.handleId=this._setTimeout(r.invoke,r.data.delay,Array.prototype.slice.call(r.data.args,2));break;case"setImmediate":r.data.handleId=this._setTimeout(r.invoke,0,Array.prototype.slice.call(r.data.args,1));break;case"setInterval":r.data.handleId=this._setInterval(r.invoke,r.data.delay,Array.prototype.slice.call(r.data.args,2));break;case"XMLHttpRequest.send":throw new Error("Cannot make XHRs from within a fake async test. Request URL: "+r.data.url);case"requestAnimationFrame":case"webkitRequestAnimationFrame":case"mozRequestAnimationFrame":r.data.handleId=this._setTimeout(r.invoke,16,r.data.args,this.trackPendingRequestAnimationFrame);break;default:var a=this.findMacroTaskOption(r);if(a){var c=r.data&&r.data.args,u=c&&c.length>1?c[1]:0,h=a.callbackArgs?a.callbackArgs:c;a.isPeriodic?(r.data.handleId=this._setInterval(r.invoke,u,h),r.data.isPeriodic=!0):r.data.handleId=this._setTimeout(r.invoke,u,h);break}throw new Error("Unknown macroTask scheduled in fake async test: "+r.source)}break;case"eventTask":r=e.scheduleTask(n,r)}return r},o.prototype.onCancelTask=function(e,t,n,r){switch(r.source){case"setTimeout":case"requestAnimationFrame":case"webkitRequestAnimationFrame":case"mozRequestAnimationFrame":return this._clearTimeout(r.data.handleId);case"setInterval":return this._clearInterval(r.data.handleId);default:var i=this.findMacroTaskOption(r);if(i){var o=r.data.handleId;return i.isPeriodic?this._clearInterval(o):this._clearTimeout(o)}return e.cancelTask(n,r)}},o.prototype.onInvoke=function(e,t,n,r,i,s,a){try{return o.patchDate(),e.invoke(n,r,i,s,a)}finally{this.patchDateLocked||o.resetDate()}},o.prototype.findMacroTaskOption=function(e){if(!this.macroTaskOptions)return null;for(var t=0;t<this.macroTaskOptions.length;t++){var n=this.macroTaskOptions[t];if(n.source===e.source)return n}return null},o.prototype.onHandleError=function(e,t,n,r){return this._lastError=r,!1},o}();Zone.FakeAsyncTestZoneSpec=o}("object"==typeof window&&window||"object"==typeof self&&self||global),
/**
* @license
* Copyright Google Inc. All Rights Reserved.
*
* Use of this source code is governed by an MIT-style license that can be
* found in the LICENSE file at https://angular.io/license
*/
Zone.__load_patch("fakeasync",(function(e,t,n){var r=t&&t.FakeAsyncTestZoneSpec,i=t&&t.ProxyZoneSpec,o=null;function s(){o&&o.unlockDatePatch(),o=null,i&&i.assertPresent().resetDelegate()}function a(){if(null==o&&null==(o=t.current.get("FakeAsyncTestZoneSpec")))throw new Error("The code should be running in the fakeAsync zone to call this function");return o}function c(){a().flushMicrotasks()}t[n.symbol("fakeAsyncTest")]={resetFakeAsyncZone:s,flushMicrotasks:c,discardPeriodicTasks:function u(){a().pendingPeriodicTimers.length=0},tick:function h(e,t){void 0===e&&(e=0),void 0===t&&(t=!1),a().tick(e,null,t)},flush:function l(e){return a().flush(e)},fakeAsync:function p(e){return function(){for(var n=[],a=0;a<arguments.length;a++)n[a]=arguments[a];var u=i.assertPresent();if(t.current.get("FakeAsyncTestZoneSpec"))throw new Error("fakeAsync() calls can not be nested");try{if(!o){if(u.getDelegate()instanceof r)throw new Error("fakeAsync() calls can not be nested");o=new r}var h=void 0,l=u.getDelegate();u.setDelegate(o),o.lockDatePatch();try{h=e.apply(this,n),c()}finally{u.setDelegate(l)}if(o.pendingPeriodicTimers.length>0)throw new Error(o.pendingPeriodicTimers.length+" periodic timer(s) still in the queue.");if(o.pendingTimers.length>0)throw new Error(o.pendingTimers.length+" timer(s) still in the queue.");return h}finally{s()}}}}})),
/**
* @license
* Copyright Google Inc. All Rights Reserved.
*
* Use of this source code is governed by an MIT-style license that can be
* found in the LICENSE file at https://angular.io/license
*/
Zone.__load_patch("promisefortest",(function(e,t,n){var r=n.symbol("state"),i=n.symbol("parentUnresolved");Promise[n.symbol("patchPromiseForTest")]=function e(){var n=Promise[t.__symbol__("ZonePromiseThen")];n||(n=Promise[t.__symbol__("ZonePromiseThen")]=Promise.prototype.then,Promise.prototype.then=function(){var e=n.apply(this,arguments);if(null===this[r]){var o=t.current.get("AsyncTestZoneSpec");o&&(o.unresolvedChainedPromiseCount++,e[i]=!0)}return e})},Promise[n.symbol("unPatchPromiseForTest")]=function e(){var n=Promise[t.__symbol__("ZonePromiseThen")];n&&(Promise.prototype.then=n,Promise[t.__symbol__("ZonePromiseThen")]=void 0)}}))}));

@@ -9,3 +9,2 @@ /**

/// <amd-module name="angular/packages/zone.js/lib/zone" />
/// <reference types="node" />
/**

@@ -12,0 +11,0 @@ * Suppress closure compiler errors about unknown 'global' variable

@@ -1,14 +0,8 @@

var __values=this&&this.__values||function(e){var t="function"==typeof Symbol&&e[Symbol.iterator],n=0;return t?t.call(e):{next:function(){return e&&n>=e.length&&(e=void 0),{value:e&&e[n++],done:!e}}}};
/**
* @license Angular v0.10.2
* (c) 2010-2019 Google LLC. https://angular.io/
* License: MIT
*/
* @license Angular v9.1.0-next.4+61.sha-e552591.with-local-changes
* (c) 2010-2020 Google LLC. https://angular.io/
* License: MIT
*/
!function(e){"function"==typeof define&&define.amd?define(e):e()}((function(){"use strict";
/**
* @license Angular v0.10.2
* (c) 2010-2019 Google LLC. https://angular.io/
* License: MIT
*/
!function(e){"function"==typeof define&&define.amd?define(e):e()}(function(){"use strict";
/**
* @license

@@ -19,3 +13,3 @@ * Copyright Google Inc. All Rights Reserved.

* found in the LICENSE file at https://angular.io/license
*/!function(e){var t=e.performance;function n(e){t&&t.mark&&t.mark(e)}function r(e,n){t&&t.measure&&t.measure(e,n)}n("Zone");var o=e.__Zone_symbol_prefix||"__zone_symbol__";function a(e){return o+e}var i=!0===e[a("forceDuplicateZoneCheck")];if(e.Zone){if(i||"function"!=typeof e.Zone.__symbol__)throw new Error("Zone already loaded.");return e.Zone}var c=function(){function t(e,t){this._parent=e,this._name=t?t.name||"unnamed":"<root>",this._properties=t&&t.properties||{},this._zoneDelegate=new u(this,this._parent&&this._parent._zoneDelegate,t)}return t.assertZonePatched=function(){if(e.Promise!==D.ZoneAwarePromise)throw new Error("Zone.js has detected that ZoneAwarePromise `(window|global).Promise` has been overwritten.\nMost likely cause is that a Promise polyfill has been loaded after Zone.js (Polyfilling Promise api is not necessary when zone.js is loaded. If you must load one, do so before loading zone.js.)")},Object.defineProperty(t,"root",{get:function(){for(var e=t.current;e.parent;)e=e.parent;return e},enumerable:!0,configurable:!0}),Object.defineProperty(t,"current",{get:function(){return C.zone},enumerable:!0,configurable:!0}),Object.defineProperty(t,"currentTask",{get:function(){return z},enumerable:!0,configurable:!0}),t.__load_patch=function(o,a){if(D.hasOwnProperty(o)){if(i)throw Error("Already loaded patch: "+o)}else if(!e["__Zone_disable_"+o]){var c="Zone:"+o;n(c),D[o]=a(e,t,j),r(c,c)}},Object.defineProperty(t.prototype,"parent",{get:function(){return this._parent},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"name",{get:function(){return this._name},enumerable:!0,configurable:!0}),t.prototype.get=function(e){var t=this.getZoneWith(e);if(t)return t._properties[e]},t.prototype.getZoneWith=function(e){for(var t=this;t;){if(t._properties.hasOwnProperty(e))return t;t=t._parent}return null},t.prototype.fork=function(e){if(!e)throw new Error("ZoneSpec required!");return this._zoneDelegate.fork(this,e)},t.prototype.wrap=function(e,t){if("function"!=typeof e)throw new Error("Expecting function got: "+e);var n=this._zoneDelegate.intercept(this,e,t),r=this;return function(){return r.runGuarded(n,this,arguments,t)}},t.prototype.run=function(e,t,n,r){C={parent:C,zone:this};try{return this._zoneDelegate.invoke(this,e,t,n,r)}finally{C=C.parent}},t.prototype.runGuarded=function(e,t,n,r){void 0===t&&(t=null),C={parent:C,zone:this};try{try{return this._zoneDelegate.invoke(this,e,t,n,r)}catch(e){if(this._zoneDelegate.handleError(this,e))throw e}}finally{C=C.parent}},t.prototype.runTask=function(e,t,n){if(e.zone!=this)throw new Error("A task can only be run in the zone of creation! (Creation: "+(e.zone||m).name+"; Execution: "+this.name+")");if(e.state!==b||e.type!==Z&&e.type!==P){var r=e.state!=E;r&&e._transitionTo(E,T),e.runCount++;var o=z;z=e,C={parent:C,zone:this};try{e.type==P&&e.data&&!e.data.isPeriodic&&(e.cancelFn=void 0);try{return this._zoneDelegate.invokeTask(this,e,t,n)}catch(e){if(this._zoneDelegate.handleError(this,e))throw e}}finally{e.state!==b&&e.state!==S&&(e.type==Z||e.data&&e.data.isPeriodic?r&&e._transitionTo(T,E):(e.runCount=0,this._updateTaskCount(e,-1),r&&e._transitionTo(b,E,b))),C=C.parent,z=o}}},t.prototype.scheduleTask=function(e){if(e.zone&&e.zone!==this)for(var t=this;t;){if(t===e.zone)throw Error("can not reschedule task to "+this.name+" which is descendants of the original zone "+e.zone.name);t=t.parent}e._transitionTo(k,b);var n=[];e._zoneDelegates=n,e._zone=this;try{e=this._zoneDelegate.scheduleTask(this,e)}catch(t){throw e._transitionTo(S,k,b),this._zoneDelegate.handleError(this,t),t}return e._zoneDelegates===n&&this._updateTaskCount(e,1),e.state==k&&e._transitionTo(T,k),e},t.prototype.scheduleMicroTask=function(e,t,n,r){return this.scheduleTask(new f(O,e,t,n,r,void 0))},t.prototype.scheduleMacroTask=function(e,t,n,r,o){return this.scheduleTask(new f(P,e,t,n,r,o))},t.prototype.scheduleEventTask=function(e,t,n,r,o){return this.scheduleTask(new f(Z,e,t,n,r,o))},t.prototype.cancelTask=function(e){if(e.zone!=this)throw new Error("A task can only be cancelled in the zone of creation! (Creation: "+(e.zone||m).name+"; Execution: "+this.name+")");e._transitionTo(w,T,E);try{this._zoneDelegate.cancelTask(this,e)}catch(t){throw e._transitionTo(S,w),this._zoneDelegate.handleError(this,t),t}return this._updateTaskCount(e,-1),e._transitionTo(b,w),e.runCount=0,e},t.prototype._updateTaskCount=function(e,t){var n=e._zoneDelegates;-1==t&&(e._zoneDelegates=null);for(var r=0;r<n.length;r++)n[r]._updateTaskCount(e.type,t)},t}();c.__symbol__=a;var s,l={name:"",onHasTask:function(e,t,n,r){return e.hasTask(n,r)},onScheduleTask:function(e,t,n,r){return e.scheduleTask(n,r)},onInvokeTask:function(e,t,n,r,o,a){return e.invokeTask(n,r,o,a)},onCancelTask:function(e,t,n,r){return e.cancelTask(n,r)}},u=function(){function e(e,t,n){this._taskCounts={microTask:0,macroTask:0,eventTask:0},this.zone=e,this._parentDelegate=t,this._forkZS=n&&(n&&n.onFork?n:t._forkZS),this._forkDlgt=n&&(n.onFork?t:t._forkDlgt),this._forkCurrZone=n&&(n.onFork?this.zone:t._forkCurrZone),this._interceptZS=n&&(n.onIntercept?n:t._interceptZS),this._interceptDlgt=n&&(n.onIntercept?t:t._interceptDlgt),this._interceptCurrZone=n&&(n.onIntercept?this.zone:t._interceptCurrZone),this._invokeZS=n&&(n.onInvoke?n:t._invokeZS),this._invokeDlgt=n&&(n.onInvoke?t:t._invokeDlgt),this._invokeCurrZone=n&&(n.onInvoke?this.zone:t._invokeCurrZone),this._handleErrorZS=n&&(n.onHandleError?n:t._handleErrorZS),this._handleErrorDlgt=n&&(n.onHandleError?t:t._handleErrorDlgt),this._handleErrorCurrZone=n&&(n.onHandleError?this.zone:t._handleErrorCurrZone),this._scheduleTaskZS=n&&(n.onScheduleTask?n:t._scheduleTaskZS),this._scheduleTaskDlgt=n&&(n.onScheduleTask?t:t._scheduleTaskDlgt),this._scheduleTaskCurrZone=n&&(n.onScheduleTask?this.zone:t._scheduleTaskCurrZone),this._invokeTaskZS=n&&(n.onInvokeTask?n:t._invokeTaskZS),this._invokeTaskDlgt=n&&(n.onInvokeTask?t:t._invokeTaskDlgt),this._invokeTaskCurrZone=n&&(n.onInvokeTask?this.zone:t._invokeTaskCurrZone),this._cancelTaskZS=n&&(n.onCancelTask?n:t._cancelTaskZS),this._cancelTaskDlgt=n&&(n.onCancelTask?t:t._cancelTaskDlgt),this._cancelTaskCurrZone=n&&(n.onCancelTask?this.zone:t._cancelTaskCurrZone),this._hasTaskZS=null,this._hasTaskDlgt=null,this._hasTaskDlgtOwner=null,this._hasTaskCurrZone=null;var r=n&&n.onHasTask;(r||t&&t._hasTaskZS)&&(this._hasTaskZS=r?n:l,this._hasTaskDlgt=t,this._hasTaskDlgtOwner=this,this._hasTaskCurrZone=e,n.onScheduleTask||(this._scheduleTaskZS=l,this._scheduleTaskDlgt=t,this._scheduleTaskCurrZone=this.zone),n.onInvokeTask||(this._invokeTaskZS=l,this._invokeTaskDlgt=t,this._invokeTaskCurrZone=this.zone),n.onCancelTask||(this._cancelTaskZS=l,this._cancelTaskDlgt=t,this._cancelTaskCurrZone=this.zone))}return e.prototype.fork=function(e,t){return this._forkZS?this._forkZS.onFork(this._forkDlgt,this.zone,e,t):new c(e,t)},e.prototype.intercept=function(e,t,n){return this._interceptZS?this._interceptZS.onIntercept(this._interceptDlgt,this._interceptCurrZone,e,t,n):t},e.prototype.invoke=function(e,t,n,r,o){return this._invokeZS?this._invokeZS.onInvoke(this._invokeDlgt,this._invokeCurrZone,e,t,n,r,o):t.apply(n,r)},e.prototype.handleError=function(e,t){return!this._handleErrorZS||this._handleErrorZS.onHandleError(this._handleErrorDlgt,this._handleErrorCurrZone,e,t)},e.prototype.scheduleTask=function(e,t){var n=t;if(this._scheduleTaskZS)this._hasTaskZS&&n._zoneDelegates.push(this._hasTaskDlgtOwner),(n=this._scheduleTaskZS.onScheduleTask(this._scheduleTaskDlgt,this._scheduleTaskCurrZone,e,t))||(n=t);else if(t.scheduleFn)t.scheduleFn(t);else{if(t.type!=O)throw new Error("Task is missing scheduleFn.");y(t)}return n},e.prototype.invokeTask=function(e,t,n,r){return this._invokeTaskZS?this._invokeTaskZS.onInvokeTask(this._invokeTaskDlgt,this._invokeTaskCurrZone,e,t,n,r):t.callback.apply(n,r)},e.prototype.cancelTask=function(e,t){var n;if(this._cancelTaskZS)n=this._cancelTaskZS.onCancelTask(this._cancelTaskDlgt,this._cancelTaskCurrZone,e,t);else{if(!t.cancelFn)throw Error("Task is not cancelable");n=t.cancelFn(t)}return n},e.prototype.hasTask=function(e,t){try{this._hasTaskZS&&this._hasTaskZS.onHasTask(this._hasTaskDlgt,this._hasTaskCurrZone,e,t)}catch(t){this.handleError(e,t)}},e.prototype._updateTaskCount=function(e,t){var n=this._taskCounts,r=n[e],o=n[e]=r+t;if(o<0)throw new Error("More tasks executed then were scheduled.");0!=r&&0!=o||this.hasTask(this.zone,{microTask:n.microTask>0,macroTask:n.macroTask>0,eventTask:n.eventTask>0,change:e})},e}(),f=function(){function t(n,r,o,a,i,c){if(this._zone=null,this.runCount=0,this._zoneDelegates=null,this._state="notScheduled",this.type=n,this.source=r,this.data=a,this.scheduleFn=i,this.cancelFn=c,!o)throw new Error("callback is not defined");this.callback=o;var s=this;this.invoke=n===Z&&a&&a.useG?t.invokeTask:function(){return t.invokeTask.call(e,s,this,arguments)}}return t.invokeTask=function(e,t,n){e||(e=this),M++;try{return e.runCount++,e.zone.runTask(e,t,n)}finally{1==M&&_(),M--}},Object.defineProperty(t.prototype,"zone",{get:function(){return this._zone},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"state",{get:function(){return this._state},enumerable:!0,configurable:!0}),t.prototype.cancelScheduleRequest=function(){this._transitionTo(b,k)},t.prototype._transitionTo=function(e,t,n){if(this._state!==t&&this._state!==n)throw new Error(this.type+" '"+this.source+"': can not transition to '"+e+"', expecting state '"+t+"'"+(n?" or '"+n+"'":"")+", was '"+this._state+"'.");this._state=e,e==b&&(this._zoneDelegates=null)},t.prototype.toString=function(){return this.data&&void 0!==this.data.handleId?this.data.handleId.toString():Object.prototype.toString.call(this)},t.prototype.toJSON=function(){return{type:this.type,state:this.state,source:this.source,zone:this.zone.name,runCount:this.runCount}},t}(),p=a("setTimeout"),h=a("Promise"),d=a("then"),v=[],g=!1;function y(t){if(0===M&&0===v.length)if(s||e[h]&&(s=e[h].resolve(0)),s){var n=s[d];n||(n=s.then),n.call(s,_)}else e[p](_,0);t&&v.push(t)}function _(){if(!g){for(g=!0;v.length;){var e=v;v=[];for(var t=0;t<e.length;t++){var n=e[t];try{n.zone.runTask(n,null,null)}catch(e){j.onUnhandledError(e)}}}j.microtaskDrainDone(),g=!1}}var m={name:"NO ZONE"},b="notScheduled",k="scheduling",T="scheduled",E="running",w="canceling",S="unknown",O="microTask",P="macroTask",Z="eventTask",D={},j={symbol:a,currentZoneFrame:function(){return C},onUnhandledError:I,microtaskDrainDone:I,scheduleMicroTask:y,showUncaughtError:function(){return!c[a("ignoreConsoleErrorUncaughtError")]},patchEventTarget:function(){return[]},patchOnProperties:I,patchMethod:function(){return I},bindArguments:function(){return[]},patchThen:function(){return I},patchMacroTask:function(){return I},setNativePromise:function(e){e&&"function"==typeof e.resolve&&(s=e.resolve(0))},patchEventPrototype:function(){return I},isIEOrEdge:function(){return!1},getGlobalObjects:function(){},ObjectDefineProperty:function(){return I},ObjectGetOwnPropertyDescriptor:function(){},ObjectCreate:function(){},ArraySlice:function(){return[]},patchClass:function(){return I},wrapWithCurrentZone:function(){return I},filterProperties:function(){return[]},attachOriginToPatched:function(){return I},_redefineProperty:function(){return I},patchCallbacks:function(){return I}},C={parent:null,zone:new c(null,null)},z=null,M=0;function I(){}r("Zone","Zone"),e.Zone=c}("undefined"!=typeof window&&window||"undefined"!=typeof self&&self||global),
*/!function(e){var t=e.performance;function n(e){t&&t.mark&&t.mark(e)}function r(e,n){t&&t.measure&&t.measure(e,n)}n("Zone");var o=e.__Zone_symbol_prefix||"__zone_symbol__";function a(e){return o+e}var i=!0===e[a("forceDuplicateZoneCheck")];if(e.Zone){if(i||"function"!=typeof e.Zone.__symbol__)throw new Error("Zone already loaded.");return e.Zone}var c=function(){function t(e,t){this._parent=e,this._name=t?t.name||"unnamed":"<root>",this._properties=t&&t.properties||{},this._zoneDelegate=new l(this,this._parent&&this._parent._zoneDelegate,t)}return t.assertZonePatched=function(){if(e.Promise!==D.ZoneAwarePromise)throw new Error("Zone.js has detected that ZoneAwarePromise `(window|global).Promise` has been overwritten.\nMost likely cause is that a Promise polyfill has been loaded after Zone.js (Polyfilling Promise api is not necessary when zone.js is loaded. If you must load one, do so before loading zone.js.)")},Object.defineProperty(t,"root",{get:function(){for(var e=t.current;e.parent;)e=e.parent;return e},enumerable:!0,configurable:!0}),Object.defineProperty(t,"current",{get:function(){return C.zone},enumerable:!0,configurable:!0}),Object.defineProperty(t,"currentTask",{get:function(){return z},enumerable:!0,configurable:!0}),t.__load_patch=function(o,a){if(D.hasOwnProperty(o)){if(i)throw Error("Already loaded patch: "+o)}else if(!e["__Zone_disable_"+o]){var c="Zone:"+o;n(c),D[o]=a(e,t,j),r(c,c)}},Object.defineProperty(t.prototype,"parent",{get:function(){return this._parent},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"name",{get:function(){return this._name},enumerable:!0,configurable:!0}),t.prototype.get=function(e){var t=this.getZoneWith(e);if(t)return t._properties[e]},t.prototype.getZoneWith=function(e){for(var t=this;t;){if(t._properties.hasOwnProperty(e))return t;t=t._parent}return null},t.prototype.fork=function(e){if(!e)throw new Error("ZoneSpec required!");return this._zoneDelegate.fork(this,e)},t.prototype.wrap=function(e,t){if("function"!=typeof e)throw new Error("Expecting function got: "+e);var n=this._zoneDelegate.intercept(this,e,t),r=this;return function(){return r.runGuarded(n,this,arguments,t)}},t.prototype.run=function(e,t,n,r){C={parent:C,zone:this};try{return this._zoneDelegate.invoke(this,e,t,n,r)}finally{C=C.parent}},t.prototype.runGuarded=function(e,t,n,r){void 0===t&&(t=null),C={parent:C,zone:this};try{try{return this._zoneDelegate.invoke(this,e,t,n,r)}catch(e){if(this._zoneDelegate.handleError(this,e))throw e}}finally{C=C.parent}},t.prototype.runTask=function(e,t,n){if(e.zone!=this)throw new Error("A task can only be run in the zone of creation! (Creation: "+(e.zone||m).name+"; Execution: "+this.name+")");if(e.state!==b||e.type!==Z&&e.type!==P){var r=e.state!=E;r&&e._transitionTo(E,T),e.runCount++;var o=z;z=e,C={parent:C,zone:this};try{e.type==P&&e.data&&!e.data.isPeriodic&&(e.cancelFn=void 0);try{return this._zoneDelegate.invokeTask(this,e,t,n)}catch(e){if(this._zoneDelegate.handleError(this,e))throw e}}finally{e.state!==b&&e.state!==S&&(e.type==Z||e.data&&e.data.isPeriodic?r&&e._transitionTo(T,E):(e.runCount=0,this._updateTaskCount(e,-1),r&&e._transitionTo(b,E,b))),C=C.parent,z=o}}},t.prototype.scheduleTask=function(e){if(e.zone&&e.zone!==this)for(var t=this;t;){if(t===e.zone)throw Error("can not reschedule task to "+this.name+" which is descendants of the original zone "+e.zone.name);t=t.parent}e._transitionTo(k,b);var n=[];e._zoneDelegates=n,e._zone=this;try{e=this._zoneDelegate.scheduleTask(this,e)}catch(t){throw e._transitionTo(S,k,b),this._zoneDelegate.handleError(this,t),t}return e._zoneDelegates===n&&this._updateTaskCount(e,1),e.state==k&&e._transitionTo(T,k),e},t.prototype.scheduleMicroTask=function(e,t,n,r){return this.scheduleTask(new f(O,e,t,n,r,void 0))},t.prototype.scheduleMacroTask=function(e,t,n,r,o){return this.scheduleTask(new f(P,e,t,n,r,o))},t.prototype.scheduleEventTask=function(e,t,n,r,o){return this.scheduleTask(new f(Z,e,t,n,r,o))},t.prototype.cancelTask=function(e){if(e.zone!=this)throw new Error("A task can only be cancelled in the zone of creation! (Creation: "+(e.zone||m).name+"; Execution: "+this.name+")");e._transitionTo(w,T,E);try{this._zoneDelegate.cancelTask(this,e)}catch(t){throw e._transitionTo(S,w),this._zoneDelegate.handleError(this,t),t}return this._updateTaskCount(e,-1),e._transitionTo(b,w),e.runCount=0,e},t.prototype._updateTaskCount=function(e,t){var n=e._zoneDelegates;-1==t&&(e._zoneDelegates=null);for(var r=0;r<n.length;r++)n[r]._updateTaskCount(e.type,t)},t}();c.__symbol__=a;var s,u={name:"",onHasTask:function(e,t,n,r){return e.hasTask(n,r)},onScheduleTask:function(e,t,n,r){return e.scheduleTask(n,r)},onInvokeTask:function(e,t,n,r,o,a){return e.invokeTask(n,r,o,a)},onCancelTask:function(e,t,n,r){return e.cancelTask(n,r)}},l=function(){function e(e,t,n){this._taskCounts={microTask:0,macroTask:0,eventTask:0},this.zone=e,this._parentDelegate=t,this._forkZS=n&&(n&&n.onFork?n:t._forkZS),this._forkDlgt=n&&(n.onFork?t:t._forkDlgt),this._forkCurrZone=n&&(n.onFork?this.zone:t._forkCurrZone),this._interceptZS=n&&(n.onIntercept?n:t._interceptZS),this._interceptDlgt=n&&(n.onIntercept?t:t._interceptDlgt),this._interceptCurrZone=n&&(n.onIntercept?this.zone:t._interceptCurrZone),this._invokeZS=n&&(n.onInvoke?n:t._invokeZS),this._invokeDlgt=n&&(n.onInvoke?t:t._invokeDlgt),this._invokeCurrZone=n&&(n.onInvoke?this.zone:t._invokeCurrZone),this._handleErrorZS=n&&(n.onHandleError?n:t._handleErrorZS),this._handleErrorDlgt=n&&(n.onHandleError?t:t._handleErrorDlgt),this._handleErrorCurrZone=n&&(n.onHandleError?this.zone:t._handleErrorCurrZone),this._scheduleTaskZS=n&&(n.onScheduleTask?n:t._scheduleTaskZS),this._scheduleTaskDlgt=n&&(n.onScheduleTask?t:t._scheduleTaskDlgt),this._scheduleTaskCurrZone=n&&(n.onScheduleTask?this.zone:t._scheduleTaskCurrZone),this._invokeTaskZS=n&&(n.onInvokeTask?n:t._invokeTaskZS),this._invokeTaskDlgt=n&&(n.onInvokeTask?t:t._invokeTaskDlgt),this._invokeTaskCurrZone=n&&(n.onInvokeTask?this.zone:t._invokeTaskCurrZone),this._cancelTaskZS=n&&(n.onCancelTask?n:t._cancelTaskZS),this._cancelTaskDlgt=n&&(n.onCancelTask?t:t._cancelTaskDlgt),this._cancelTaskCurrZone=n&&(n.onCancelTask?this.zone:t._cancelTaskCurrZone),this._hasTaskZS=null,this._hasTaskDlgt=null,this._hasTaskDlgtOwner=null,this._hasTaskCurrZone=null;var r=n&&n.onHasTask;(r||t&&t._hasTaskZS)&&(this._hasTaskZS=r?n:u,this._hasTaskDlgt=t,this._hasTaskDlgtOwner=this,this._hasTaskCurrZone=e,n.onScheduleTask||(this._scheduleTaskZS=u,this._scheduleTaskDlgt=t,this._scheduleTaskCurrZone=this.zone),n.onInvokeTask||(this._invokeTaskZS=u,this._invokeTaskDlgt=t,this._invokeTaskCurrZone=this.zone),n.onCancelTask||(this._cancelTaskZS=u,this._cancelTaskDlgt=t,this._cancelTaskCurrZone=this.zone))}return e.prototype.fork=function(e,t){return this._forkZS?this._forkZS.onFork(this._forkDlgt,this.zone,e,t):new c(e,t)},e.prototype.intercept=function(e,t,n){return this._interceptZS?this._interceptZS.onIntercept(this._interceptDlgt,this._interceptCurrZone,e,t,n):t},e.prototype.invoke=function(e,t,n,r,o){return this._invokeZS?this._invokeZS.onInvoke(this._invokeDlgt,this._invokeCurrZone,e,t,n,r,o):t.apply(n,r)},e.prototype.handleError=function(e,t){return!this._handleErrorZS||this._handleErrorZS.onHandleError(this._handleErrorDlgt,this._handleErrorCurrZone,e,t)},e.prototype.scheduleTask=function(e,t){var n=t;if(this._scheduleTaskZS)this._hasTaskZS&&n._zoneDelegates.push(this._hasTaskDlgtOwner),(n=this._scheduleTaskZS.onScheduleTask(this._scheduleTaskDlgt,this._scheduleTaskCurrZone,e,t))||(n=t);else if(t.scheduleFn)t.scheduleFn(t);else{if(t.type!=O)throw new Error("Task is missing scheduleFn.");y(t)}return n},e.prototype.invokeTask=function(e,t,n,r){return this._invokeTaskZS?this._invokeTaskZS.onInvokeTask(this._invokeTaskDlgt,this._invokeTaskCurrZone,e,t,n,r):t.callback.apply(n,r)},e.prototype.cancelTask=function(e,t){var n;if(this._cancelTaskZS)n=this._cancelTaskZS.onCancelTask(this._cancelTaskDlgt,this._cancelTaskCurrZone,e,t);else{if(!t.cancelFn)throw Error("Task is not cancelable");n=t.cancelFn(t)}return n},e.prototype.hasTask=function(e,t){try{this._hasTaskZS&&this._hasTaskZS.onHasTask(this._hasTaskDlgt,this._hasTaskCurrZone,e,t)}catch(t){this.handleError(e,t)}},e.prototype._updateTaskCount=function(e,t){var n=this._taskCounts,r=n[e],o=n[e]=r+t;if(o<0)throw new Error("More tasks executed then were scheduled.");0!=r&&0!=o||this.hasTask(this.zone,{microTask:n.microTask>0,macroTask:n.macroTask>0,eventTask:n.eventTask>0,change:e})},e}(),f=function(){function t(n,r,o,a,i,c){if(this._zone=null,this.runCount=0,this._zoneDelegates=null,this._state="notScheduled",this.type=n,this.source=r,this.data=a,this.scheduleFn=i,this.cancelFn=c,!o)throw new Error("callback is not defined");this.callback=o;var s=this;this.invoke=n===Z&&a&&a.useG?t.invokeTask:function(){return t.invokeTask.call(e,s,this,arguments)}}return t.invokeTask=function(e,t,n){e||(e=this),I++;try{return e.runCount++,e.zone.runTask(e,t,n)}finally{1==I&&_(),I--}},Object.defineProperty(t.prototype,"zone",{get:function(){return this._zone},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"state",{get:function(){return this._state},enumerable:!0,configurable:!0}),t.prototype.cancelScheduleRequest=function(){this._transitionTo(b,k)},t.prototype._transitionTo=function(e,t,n){if(this._state!==t&&this._state!==n)throw new Error(this.type+" '"+this.source+"': can not transition to '"+e+"', expecting state '"+t+"'"+(n?" or '"+n+"'":"")+", was '"+this._state+"'.");this._state=e,e==b&&(this._zoneDelegates=null)},t.prototype.toString=function(){return this.data&&void 0!==this.data.handleId?this.data.handleId.toString():Object.prototype.toString.call(this)},t.prototype.toJSON=function(){return{type:this.type,state:this.state,source:this.source,zone:this.zone.name,runCount:this.runCount}},t}(),p=a("setTimeout"),h=a("Promise"),d=a("then"),v=[],g=!1;function y(t){if(0===I&&0===v.length)if(s||e[h]&&(s=e[h].resolve(0)),s){var n=s[d];n||(n=s.then),n.call(s,_)}else e[p](_,0);t&&v.push(t)}function _(){if(!g){for(g=!0;v.length;){var e=v;v=[];for(var t=0;t<e.length;t++){var n=e[t];try{n.zone.runTask(n,null,null)}catch(e){j.onUnhandledError(e)}}}j.microtaskDrainDone(),g=!1}}var m={name:"NO ZONE"},b="notScheduled",k="scheduling",T="scheduled",E="running",w="canceling",S="unknown",O="microTask",P="macroTask",Z="eventTask",D={},j={symbol:a,currentZoneFrame:function(){return C},onUnhandledError:M,microtaskDrainDone:M,scheduleMicroTask:y,showUncaughtError:function(){return!c[a("ignoreConsoleErrorUncaughtError")]},patchEventTarget:function(){return[]},patchOnProperties:M,patchMethod:function(){return M},bindArguments:function(){return[]},patchThen:function(){return M},patchMacroTask:function(){return M},setNativePromise:function(e){e&&"function"==typeof e.resolve&&(s=e.resolve(0))},patchEventPrototype:function(){return M},isIEOrEdge:function(){return!1},getGlobalObjects:function(){},ObjectDefineProperty:function(){return M},ObjectGetOwnPropertyDescriptor:function(){},ObjectCreate:function(){},ArraySlice:function(){return[]},patchClass:function(){return M},wrapWithCurrentZone:function(){return M},filterProperties:function(){return[]},attachOriginToPatched:function(){return M},_redefineProperty:function(){return M},patchCallbacks:function(){return M}},C={parent:null,zone:new c(null,null)},z=null,I=0;function M(){}r("Zone","Zone"),e.Zone=c}("undefined"!=typeof window&&window||"undefined"!=typeof self&&self||global),
/**

@@ -28,3 +22,3 @@ * @license

*/
Zone.__load_patch("ZoneAwarePromise",function(e,t,n){var r=Object.getOwnPropertyDescriptor,o=Object.defineProperty,a=n.symbol,i=[],c=a("Promise"),s=a("then"),l="__creationTrace__";n.onUnhandledError=function(e){if(n.showUncaughtError()){var t=e&&e.rejection;t?console.error("Unhandled Promise rejection:",t instanceof Error?t.message:t,"; Zone:",e.zone.name,"; Task:",e.task&&e.task.source,"; Value:",t,t instanceof Error?t.stack:void 0):console.error(e)}},n.microtaskDrainDone=function(){for(;i.length;)for(var e=function(){var e=i.shift();try{e.zone.runGuarded(function(){throw e})}catch(e){f(e)}};i.length;)e()};var u=a("unhandledPromiseRejectionHandler");function f(e){n.onUnhandledError(e);try{var r=t[u];r&&"function"==typeof r&&r.call(this,e)}catch(e){}}function p(e){return e&&e.then}function h(e){return e}function d(e){return M.reject(e)}var v=a("state"),g=a("value"),y=a("finally"),_=a("parentPromiseValue"),m=a("parentPromiseState"),b="Promise.then",k=null,T=!0,E=!1,w=0;function S(e,t){return function(n){try{D(e,t,n)}catch(t){D(e,!1,t)}}}var O=function(){var e=!1;return function t(n){return function(){e||(e=!0,n.apply(null,arguments))}}},P="Promise resolved with itself",Z=a("currentTaskTrace");function D(e,r,a){var c=O();if(e===a)throw new TypeError(P);if(e[v]===k){var s=null;try{"object"!=typeof a&&"function"!=typeof a||(s=a&&a.then)}catch(t){return c(function(){D(e,!1,t)})(),e}if(r!==E&&a instanceof M&&a.hasOwnProperty(v)&&a.hasOwnProperty(g)&&a[v]!==k)C(a),D(e,a[v],a[g]);else if(r!==E&&"function"==typeof s)try{s.call(a,c(S(e,r)),c(S(e,!1)))}catch(t){c(function(){D(e,!1,t)})()}else{e[v]=r;var u=e[g];if(e[g]=a,e[y]===y&&r===T&&(e[v]=e[m],e[g]=e[_]),r===E&&a instanceof Error){var f=t.currentTask&&t.currentTask.data&&t.currentTask.data[l];f&&o(a,Z,{configurable:!0,enumerable:!1,writable:!0,value:f})}for(var p=0;p<u.length;)z(e,u[p++],u[p++],u[p++],u[p++]);if(0==u.length&&r==E){e[v]=w;try{throw new Error("Uncaught (in promise): "+function h(e){return e&&e.toString===Object.prototype.toString?(e.constructor&&e.constructor.name||"")+": "+JSON.stringify(e):e?e.toString():Object.prototype.toString.call(e)}(a)+(a&&a.stack?"\n"+a.stack:""))}catch(r){var d=r;d.rejection=a,d.promise=e,d.zone=t.current,d.task=t.currentTask,i.push(d),n.scheduleMicroTask()}}}}return e}var j=a("rejectionHandledHandler");function C(e){if(e[v]===w){try{var n=t[j];n&&"function"==typeof n&&n.call(this,{rejection:e[g],promise:e})}catch(e){}e[v]=E;for(var r=0;r<i.length;r++)e===i[r].promise&&i.splice(r,1)}}function z(e,t,n,r,o){C(e);var a=e[v],i=a?"function"==typeof r?r:h:"function"==typeof o?o:d;t.scheduleMicroTask(b,function(){try{var r=e[g],o=!!n&&y===n[y];o&&(n[_]=r,n[m]=a);var c=t.run(i,void 0,o&&i!==d&&i!==h?[]:[r]);D(n,!0,c)}catch(e){D(n,!1,e)}},n)}var M=function(){function e(t){if(!(this instanceof e))throw new Error("Must be an instanceof Promise.");this[v]=k,this[g]=[];try{t&&t(S(this,T),S(this,E))}catch(e){D(this,!1,e)}}return e.toString=function(){return"function ZoneAwarePromise() { [native code] }"},e.resolve=function(e){return D(new this(null),T,e)},e.reject=function(e){return D(new this(null),E,e)},e.race=function(e){var t,n,r,o,a=new this(function(e,t){r=e,o=t});function i(e){r(e)}function c(e){o(e)}try{for(var s=__values(e),l=s.next();!l.done;l=s.next()){var u=l.value;p(u)||(u=this.resolve(u)),u.then(i,c)}}catch(e){t={error:e}}finally{try{l&&!l.done&&(n=s.return)&&n.call(s)}finally{if(t)throw t.error}}return a},e.all=function(t){return e.allWithCallback(t)},e.allSettled=function(t){return(this&&this.prototype instanceof e?this:e).allWithCallback(t,{thenCallback:function(e){return{status:"fulfilled",value:e}},errorCallback:function(e){return{status:"rejected",reason:e}}})},e.allWithCallback=function(e,t){var n,r,o,a,i=new this(function(e,t){o=e,a=t}),c=2,s=0,l=[],u=function(e){p(e)||(e=f.resolve(e));var n=s;try{e.then(function(e){l[n]=t?t.thenCallback(e):e,0==--c&&o(l)},function(e){t?(l[n]=t.errorCallback(e),0==--c&&o(l)):a(e)})}catch(e){a(e)}c++,s++},f=this;try{for(var h=__values(e),d=h.next();!d.done;d=h.next())u(d.value)}catch(e){n={error:e}}finally{try{d&&!d.done&&(r=h.return)&&r.call(h)}finally{if(n)throw n.error}}return 0==(c-=2)&&o(l),i},Object.defineProperty(e.prototype,Symbol.toStringTag,{get:function(){return"Promise"},enumerable:!0,configurable:!0}),e.prototype.then=function(e,n){var r=new this.constructor(null),o=t.current;return this[v]==k?this[g].push(o,r,e,n):z(this,o,r,e,n),r},e.prototype.catch=function(e){return this.then(null,e)},e.prototype.finally=function(e){var n=new this.constructor(null);n[y]=y;var r=t.current;return this[v]==k?this[g].push(r,n,e,e):z(this,r,n,e,e),n},e}();M.resolve=M.resolve,M.reject=M.reject,M.race=M.race,M.all=M.all;var I=e[c]=e.Promise,R=t.__symbol__("ZoneAwarePromise"),L=r(e,"Promise");L&&!L.configurable||(L&&delete L.writable,L&&delete L.value,L||(L={configurable:!0,enumerable:!0}),L.get=function(){return e[R]?e[R]:e[c]},L.set=function(t){t===M?e[R]=t:(e[c]=t,t.prototype[s]||N(t),n.setNativePromise(t))},o(e,"Promise",L)),e.Promise=M;var x=a("thenPatched");function N(e){var t=e.prototype,n=r(t,"then");if(!n||!1!==n.writable&&n.configurable){var o=t.then;t[s]=o,e.prototype.then=function(e,t){var n=this;return new M(function(e,t){o.call(n,e,t)}).then(e,t)},e[x]=!0}}if(n.patchThen=N,I){N(I);var F=e.fetch;"function"==typeof F&&(e[n.symbol("fetch")]=F,e.fetch=function H(e){return function(){var t=e.apply(this,arguments);if(t instanceof M)return t;var n=t.constructor;return n[x]||N(n),t}}(F))}return Promise[t.__symbol__("uncaughtPromiseErrors")]=i,M});
Zone.__load_patch("ZoneAwarePromise",(function(e,t,n){var r=Object.getOwnPropertyDescriptor,o=Object.defineProperty,a=n.symbol,i=[],c=!0===e[a("DISABLE_WRAPPING_UNCAUGHT_PROMISE_REJECTION")],s=a("Promise"),u=a("then"),l="__creationTrace__";n.onUnhandledError=function(e){if(n.showUncaughtError()){var t=e&&e.rejection;t?console.error("Unhandled Promise rejection:",t instanceof Error?t.message:t,"; Zone:",e.zone.name,"; Task:",e.task&&e.task.source,"; Value:",t,t instanceof Error?t.stack:void 0):console.error(e)}},n.microtaskDrainDone=function(){for(var e=function(){var e=i.shift();try{e.zone.runGuarded((function(){throw e}))}catch(e){!function r(e){n.onUnhandledError(e);try{var r=t[f];"function"==typeof r&&r.call(this,e)}catch(e){}}(e)}};i.length;)e()};var f=a("unhandledPromiseRejectionHandler");function p(e){return e&&e.then}function h(e){return e}function d(e){return M.reject(e)}var v=a("state"),g=a("value"),y=a("finally"),_=a("parentPromiseValue"),m=a("parentPromiseState"),b="Promise.then",k=null,T=!0,E=!1,w=0;function S(e,t){return function(n){try{D(e,t,n)}catch(t){D(e,!1,t)}}}var O=function(){var e=!1;return function t(n){return function(){e||(e=!0,n.apply(null,arguments))}}},P="Promise resolved with itself",Z=a("currentTaskTrace");function D(e,r,a){var s=O();if(e===a)throw new TypeError(P);if(e[v]===k){var u=null;try{"object"!=typeof a&&"function"!=typeof a||(u=a&&a.then)}catch(t){return s((function(){D(e,!1,t)}))(),e}if(r!==E&&a instanceof M&&a.hasOwnProperty(v)&&a.hasOwnProperty(g)&&a[v]!==k)C(a),D(e,a[v],a[g]);else if(r!==E&&"function"==typeof u)try{u.call(a,s(S(e,r)),s(S(e,!1)))}catch(t){s((function(){D(e,!1,t)}))()}else{e[v]=r;var f=e[g];if(e[g]=a,e[y]===y&&r===T&&(e[v]=e[m],e[g]=e[_]),r===E&&a instanceof Error){var p=t.currentTask&&t.currentTask.data&&t.currentTask.data[l];p&&o(a,Z,{configurable:!0,enumerable:!1,writable:!0,value:p})}for(var h=0;h<f.length;)z(e,f[h++],f[h++],f[h++],f[h++]);if(0==f.length&&r==E){e[v]=w;var d=a;if(!c)try{throw new Error("Uncaught (in promise): "+function b(e){return e&&e.toString===Object.prototype.toString?(e.constructor&&e.constructor.name||"")+": "+JSON.stringify(e):e?e.toString():Object.prototype.toString.call(e)}(a)+(a&&a.stack?"\n"+a.stack:""))}catch(e){d=e}d.rejection=a,d.promise=e,d.zone=t.current,d.task=t.currentTask,i.push(d),n.scheduleMicroTask()}}}return e}var j=a("rejectionHandledHandler");function C(e){if(e[v]===w){try{var n=t[j];n&&"function"==typeof n&&n.call(this,{rejection:e[g],promise:e})}catch(e){}e[v]=E;for(var r=0;r<i.length;r++)e===i[r].promise&&i.splice(r,1)}}function z(e,t,n,r,o){C(e);var a=e[v],i=a?"function"==typeof r?r:h:"function"==typeof o?o:d;t.scheduleMicroTask(b,(function(){try{var r=e[g],o=!!n&&y===n[y];o&&(n[_]=r,n[m]=a);var c=t.run(i,void 0,o&&i!==d&&i!==h?[]:[r]);D(n,!0,c)}catch(e){D(n,!1,e)}}),n)}var I=function(){},M=function(){function e(t){if(!(this instanceof e))throw new Error("Must be an instanceof Promise.");this[v]=k,this[g]=[];try{t&&t(S(this,T),S(this,E))}catch(e){D(this,!1,e)}}return e.toString=function(){return"function ZoneAwarePromise() { [native code] }"},e.resolve=function(e){return D(new this(null),T,e)},e.reject=function(e){return D(new this(null),E,e)},e.race=function(e){var t,n,r=new this((function(e,r){t=e,n=r}));function o(e){t(e)}function a(e){n(e)}for(var i=0,c=e;i<c.length;i++){var s=c[i];p(s)||(s=this.resolve(s)),s.then(o,a)}return r},e.all=function(t){return e.allWithCallback(t)},e.allSettled=function(t){return(this&&this.prototype instanceof e?this:e).allWithCallback(t,{thenCallback:function(e){return{status:"fulfilled",value:e}},errorCallback:function(e){return{status:"rejected",reason:e}}})},e.allWithCallback=function(e,t){for(var n,r,o=new this((function(e,t){n=e,r=t})),a=2,i=0,c=[],s=function(e){p(e)||(e=u.resolve(e));var o=i;try{e.then((function(e){c[o]=t?t.thenCallback(e):e,0==--a&&n(c)}),(function(e){t?(c[o]=t.errorCallback(e),0==--a&&n(c)):r(e)}))}catch(e){r(e)}a++,i++},u=this,l=0,f=e;l<f.length;l++)s(f[l]);return 0==(a-=2)&&n(c),o},Object.defineProperty(e.prototype,Symbol.toStringTag,{get:function(){return"Promise"},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,Symbol.species,{get:function(){return e},enumerable:!0,configurable:!0}),e.prototype.then=function(n,r){var o=this.constructor[Symbol.species];o&&"function"==typeof o||(o=this.constructor||e);var a=new o(I),i=t.current;return this[v]==k?this[g].push(i,a,n,r):z(this,i,a,n,r),a},e.prototype.catch=function(e){return this.then(null,e)},e.prototype.finally=function(n){var r=this.constructor[Symbol.species];r&&"function"==typeof r||(r=e);var o=new r(I);o[y]=y;var a=t.current;return this[v]==k?this[g].push(a,o,n,n):z(this,a,o,n,n),o},e}();M.resolve=M.resolve,M.reject=M.reject,M.race=M.race,M.all=M.all;var R=e[s]=e.Promise,L=t.__symbol__("ZoneAwarePromise"),N=r(e,"Promise");N&&!N.configurable||(N&&delete N.writable,N&&delete N.value,N||(N={configurable:!0,enumerable:!0}),N.get=function(){return e[L]?e[L]:e[s]},N.set=function(t){t===M?e[L]=t:(e[s]=t,t.prototype[u]||F(t),n.setNativePromise(t))},o(e,"Promise",N)),e.Promise=M;var x=a("thenPatched");function F(e){var t=e.prototype,n=r(t,"then");if(!n||!1!==n.writable&&n.configurable){var o=t.then;t[u]=o,e.prototype.then=function(e,t){var n=this;return new M((function(e,t){o.call(n,e,t)})).then(e,t)},e[x]=!0}}if(n.patchThen=F,R){F(R);var A=e.fetch;"function"==typeof A&&(e[n.symbol("fetch")]=A,e.fetch=function H(e){return function(){var t=e.apply(this,arguments);if(t instanceof M)return t;var n=t.constructor;return n[x]||F(n),t}}(A))}return Promise[t.__symbol__("uncaughtPromiseErrors")]=i,M}));
/**

@@ -37,3 +31,3 @@ * @license

*/
var e=Object.getOwnPropertyDescriptor,t=Object.defineProperty,n=Object.getPrototypeOf,r=Object.create,o=Array.prototype.slice,a="addEventListener",i="removeEventListener",c=Zone.__symbol__(a),s=Zone.__symbol__(i),l="true",u="false",f=Zone.__symbol__("");function p(e,t){return Zone.current.wrap(e,t)}function h(e,t,n,r,o){return Zone.current.scheduleMacroTask(e,t,n,r,o)}var d=Zone.__symbol__,v="undefined"!=typeof window,g=v?window:void 0,y=v&&g||"object"==typeof self&&self||global,_="removeAttribute",m=[null];function b(e,t){for(var n=e.length-1;n>=0;n--)"function"==typeof e[n]&&(e[n]=p(e[n],t+"_"+n));return e}function k(e){return!e||!1!==e.writable&&!("function"==typeof e.get&&void 0===e.set)}var T="undefined"!=typeof WorkerGlobalScope&&self instanceof WorkerGlobalScope,E=!("nw"in y)&&void 0!==y.process&&"[object process]"==={}.toString.call(y.process),w=!E&&!T&&!(!v||!g.HTMLElement),S=void 0!==y.process&&"[object process]"==={}.toString.call(y.process)&&!T&&!(!v||!g.HTMLElement),O={},P=function(e){if(e=e||y.event){var t=O[e.type];t||(t=O[e.type]=d("ON_PROPERTY"+e.type));var n,r=this||e.target||y,o=r[t];return w&&r===g&&"error"===e.type?!0===(n=o&&o.call(this,e.message,e.filename,e.lineno,e.colno,e.error))&&e.preventDefault():null==(n=o&&o.apply(this,arguments))||n||e.preventDefault(),n}};function Z(n,r,o){var a=e(n,r);if(!a&&o&&e(o,r)&&(a={enumerable:!0,configurable:!0}),a&&a.configurable){var i=d("on"+r+"patched");if(!n.hasOwnProperty(i)||!n[i]){delete a.writable,delete a.value;var c=a.get,s=a.set,l=r.substr(2),u=O[l];u||(u=O[l]=d("ON_PROPERTY"+l)),a.set=function(e){var t=this;t||n!==y||(t=y),t&&(t[u]&&t.removeEventListener(l,P),s&&s.apply(t,m),"function"==typeof e?(t[u]=e,t.addEventListener(l,P,!1)):t[u]=null)},a.get=function(){var e=this;if(e||n!==y||(e=y),!e)return null;var t=e[u];if(t)return t;if(c){var o=c&&c.call(this);if(o)return a.set.call(this,o),"function"==typeof e[_]&&e.removeAttribute(r),o}return null},t(n,r,a),n[i]=!0}}}function D(e,t,n){if(t)for(var r=0;r<t.length;r++)Z(e,"on"+t[r],n);else{var o=[];for(var a in e)"on"==a.substr(0,2)&&o.push(a);for(var i=0;i<o.length;i++)Z(e,o[i],n)}}var j=d("originalInstance");function C(e){var n=y[e];if(n){y[d(e)]=n,y[e]=function(){var t=b(arguments,e);switch(t.length){case 0:this[j]=new n;break;case 1:this[j]=new n(t[0]);break;case 2:this[j]=new n(t[0],t[1]);break;case 3:this[j]=new n(t[0],t[1],t[2]);break;case 4:this[j]=new n(t[0],t[1],t[2],t[3]);break;default:throw new Error("Arg list too long.")}},R(y[e],n);var r,o=new n(function(){});for(r in o)"XMLHttpRequest"===e&&"responseBlob"===r||function(n){"function"==typeof o[n]?y[e].prototype[n]=function(){return this[j][n].apply(this[j],arguments)}:t(y[e].prototype,n,{set:function(t){"function"==typeof t?(this[j][n]=p(t,e+"."+n),R(this[j][n],t)):this[j][n]=t},get:function(){return this[j][n]}})}(r);for(r in n)"prototype"!==r&&n.hasOwnProperty(r)&&(y[e][r]=n[r])}}var z=!1;function M(t,r,o){for(var a=t;a&&!a.hasOwnProperty(r);)a=n(a);!a&&t[r]&&(a=t);var i=d(r),c=null;if(a&&!(c=a[i])&&(c=a[i]=a[r],k(a&&e(a,r)))){var s=o(c,i,r);a[r]=function(){return s(this,arguments)},R(a[r],c),z&&function l(e,t){"function"==typeof Object.getOwnPropertySymbols&&Object.getOwnPropertySymbols(e).forEach(function(n){var r=Object.getOwnPropertyDescriptor(e,n);Object.defineProperty(t,n,{get:function(){return e[n]},set:function(t){(!r||r.writable&&"function"==typeof r.set)&&(e[n]=t)},enumerable:!r||r.enumerable,configurable:!r||r.configurable})})}(c,a[r])}return c}function I(e,t,n){var r=null;function o(e){var t=e.data;return t.args[t.cbIdx]=function(){e.invoke.apply(this,arguments)},r.apply(t.target,t.args),e}r=M(e,t,function(e){return function(t,r){var a=n(t,r);return a.cbIdx>=0&&"function"==typeof r[a.cbIdx]?h(a.name,r[a.cbIdx],a,o):e.apply(t,r)}})}function R(e,t){e[d("OriginalDelegate")]=t}var L=!1,x=!1;function N(){if(L)return x;L=!0;try{var e=g.navigator.userAgent;-1===e.indexOf("MSIE ")&&-1===e.indexOf("Trident/")&&-1===e.indexOf("Edge/")||(x=!0)}catch(e){}return x}
var e=Object.getOwnPropertyDescriptor,t=Object.defineProperty,n=Object.getPrototypeOf,r=Object.create,o=Array.prototype.slice,a="addEventListener",i="removeEventListener",c=Zone.__symbol__(a),s=Zone.__symbol__(i),u="true",l="false",f=Zone.__symbol__("");function p(e,t){return Zone.current.wrap(e,t)}function h(e,t,n,r,o){return Zone.current.scheduleMacroTask(e,t,n,r,o)}var d=Zone.__symbol__,v="undefined"!=typeof window,g=v?window:void 0,y=v&&g||"object"==typeof self&&self||global,_="removeAttribute",m=[null];function b(e,t){for(var n=e.length-1;n>=0;n--)"function"==typeof e[n]&&(e[n]=p(e[n],t+"_"+n));return e}function k(e){return!e||!1!==e.writable&&!("function"==typeof e.get&&void 0===e.set)}var T="undefined"!=typeof WorkerGlobalScope&&self instanceof WorkerGlobalScope,E=!("nw"in y)&&void 0!==y.process&&"[object process]"==={}.toString.call(y.process),w=!E&&!T&&!(!v||!g.HTMLElement),S=void 0!==y.process&&"[object process]"==={}.toString.call(y.process)&&!T&&!(!v||!g.HTMLElement),O={},P=function(e){if(e=e||y.event){var t=O[e.type];t||(t=O[e.type]=d("ON_PROPERTY"+e.type));var n,r=this||e.target||y,o=r[t];if(w&&r===g&&"error"===e.type){var a=e;!0===(n=o&&o.call(this,a.message,a.filename,a.lineno,a.colno,a.error))&&e.preventDefault()}else null==(n=o&&o.apply(this,arguments))||n||e.preventDefault();return n}};function Z(n,r,o){var a=e(n,r);if(!a&&o&&e(o,r)&&(a={enumerable:!0,configurable:!0}),a&&a.configurable){var i=d("on"+r+"patched");if(!n.hasOwnProperty(i)||!n[i]){delete a.writable,delete a.value;var c=a.get,s=a.set,u=r.substr(2),l=O[u];l||(l=O[u]=d("ON_PROPERTY"+u)),a.set=function(e){var t=this;t||n!==y||(t=y),t&&(t[l]&&t.removeEventListener(u,P),s&&s.apply(t,m),"function"==typeof e?(t[l]=e,t.addEventListener(u,P,!1)):t[l]=null)},a.get=function(){var e=this;if(e||n!==y||(e=y),!e)return null;var t=e[l];if(t)return t;if(c){var o=c&&c.call(this);if(o)return a.set.call(this,o),"function"==typeof e[_]&&e.removeAttribute(r),o}return null},t(n,r,a),n[i]=!0}}}function D(e,t,n){if(t)for(var r=0;r<t.length;r++)Z(e,"on"+t[r],n);else{var o=[];for(var a in e)"on"==a.substr(0,2)&&o.push(a);for(var i=0;i<o.length;i++)Z(e,o[i],n)}}var j=d("originalInstance");function C(e){var n=y[e];if(n){y[d(e)]=n,y[e]=function(){var t=b(arguments,e);switch(t.length){case 0:this[j]=new n;break;case 1:this[j]=new n(t[0]);break;case 2:this[j]=new n(t[0],t[1]);break;case 3:this[j]=new n(t[0],t[1],t[2]);break;case 4:this[j]=new n(t[0],t[1],t[2],t[3]);break;default:throw new Error("Arg list too long.")}},R(y[e],n);var r,o=new n((function(){}));for(r in o)"XMLHttpRequest"===e&&"responseBlob"===r||function(n){"function"==typeof o[n]?y[e].prototype[n]=function(){return this[j][n].apply(this[j],arguments)}:t(y[e].prototype,n,{set:function(t){"function"==typeof t?(this[j][n]=p(t,e+"."+n),R(this[j][n],t)):this[j][n]=t},get:function(){return this[j][n]}})}(r);for(r in n)"prototype"!==r&&n.hasOwnProperty(r)&&(y[e][r]=n[r])}}var z=!1;function I(t,r,o){for(var a=t;a&&!a.hasOwnProperty(r);)a=n(a);!a&&t[r]&&(a=t);var i=d(r),c=null;if(a&&!(c=a[i])&&(c=a[i]=a[r],k(a&&e(a,r)))){var s=o(c,i,r);a[r]=function(){return s(this,arguments)},R(a[r],c),z&&function u(e,t){"function"==typeof Object.getOwnPropertySymbols&&Object.getOwnPropertySymbols(e).forEach((function(n){var r=Object.getOwnPropertyDescriptor(e,n);Object.defineProperty(t,n,{get:function(){return e[n]},set:function(t){(!r||r.writable&&"function"==typeof r.set)&&(e[n]=t)},enumerable:!r||r.enumerable,configurable:!r||r.configurable})}))}(c,a[r])}return c}function M(e,t,n){var r=null;function o(e){var t=e.data;return t.args[t.cbIdx]=function(){e.invoke.apply(this,arguments)},r.apply(t.target,t.args),e}r=I(e,t,(function(e){return function(t,r){var a=n(t,r);return a.cbIdx>=0&&"function"==typeof r[a.cbIdx]?h(a.name,r[a.cbIdx],a,o):e.apply(t,r)}}))}function R(e,t){e[d("OriginalDelegate")]=t}var L=!1,N=!1;function x(){try{var e=g.navigator.userAgent;if(-1!==e.indexOf("MSIE ")||-1!==e.indexOf("Trident/"))return!0}catch(e){}return!1}function F(){if(L)return N;L=!0;try{var e=g.navigator.userAgent;-1===e.indexOf("MSIE ")&&-1===e.indexOf("Trident/")&&-1===e.indexOf("Edge/")||(N=!0)}catch(e){}return N}
/**

@@ -45,3 +39,3 @@ * @license

* found in the LICENSE file at https://angular.io/license
*/Zone.__load_patch("toString",function(e){var t=Function.prototype.toString,n=d("OriginalDelegate"),r=d("Promise"),o=d("Error"),a=function a(){if("function"==typeof this){var i=this[n];if(i)return"function"==typeof i?t.call(i):Object.prototype.toString.call(i);if(this===Promise){var c=e[r];if(c)return t.call(c)}if(this===Error){var s=e[o];if(s)return t.call(s)}}return t.call(this)};a[n]=t,Function.prototype.toString=a;var i=Object.prototype.toString;Object.prototype.toString=function(){return this instanceof Promise?"[object Promise]":i.call(this)}});
*/Zone.__load_patch("toString",(function(e){var t=Function.prototype.toString,n=d("OriginalDelegate"),r=d("Promise"),o=d("Error"),a=function a(){if("function"==typeof this){var i=this[n];if(i)return"function"==typeof i?t.call(i):Object.prototype.toString.call(i);if(this===Promise){var c=e[r];if(c)return t.call(c)}if(this===Error){var s=e[o];if(s)return t.call(s)}}return t.call(this)};a[n]=t,Function.prototype.toString=a;var i=Object.prototype.toString;Object.prototype.toString=function(){return this instanceof Promise?"[object Promise]":i.call(this)}}));
/**

@@ -54,3 +48,3 @@ * @license

*/
var F=!1;if("undefined"!=typeof window)try{var H=Object.defineProperty({},"passive",{get:function(){F=!0}});window.addEventListener("test",H,H),window.removeEventListener("test",H,H)}catch(e){F=!1}var A={useG:!0},B={},G={},W=new RegExp("^"+f+"(\\w+)(true|false)$"),q=d("propagationStopped");function U(e,t,r){var o=r&&r.add||a,c=r&&r.rm||i,s=r&&r.listeners||"eventListeners",p=r&&r.rmAll||"removeAllListeners",h=d(o),v="."+o+":",g="prependListener",y="."+g+":",_=function(e,t,n){if(!e.isRemoved){var r=e.callback;"object"==typeof r&&r.handleEvent&&(e.callback=function(e){return r.handleEvent(e)},e.originalDelegate=r),e.invoke(e,t,[n]);var o=e.options;o&&"object"==typeof o&&o.once&&t[c].call(t,n.type,e.originalDelegate?e.originalDelegate:e.callback,o)}},m=function(t){if(t=t||e.event){var n=this||t.target||e,r=n[B[t.type][u]];if(r)if(1===r.length)_(r[0],n,t);else for(var o=r.slice(),a=0;a<o.length&&(!t||!0!==t[q]);a++)_(o[a],n,t)}},b=function(t){if(t=t||e.event){var n=this||t.target||e,r=n[B[t.type][l]];if(r)if(1===r.length)_(r[0],n,t);else for(var o=r.slice(),a=0;a<o.length&&(!t||!0!==t[q]);a++)_(o[a],n,t)}};function k(t,r){if(!t)return!1;var a=!0;r&&void 0!==r.useG&&(a=r.useG);var i=r&&r.vh,_=!0;r&&void 0!==r.chkDup&&(_=r.chkDup);var k=!1;r&&void 0!==r.rt&&(k=r.rt);for(var T=t;T&&!T.hasOwnProperty(o);)T=n(T);if(!T&&t[o]&&(T=t),!T)return!1;if(T[h])return!1;var w,S=r&&r.eventNameToString,O={},P=T[h]=T[o],Z=T[d(c)]=T[c],D=T[d(s)]=T[s],j=T[d(p)]=T[p];function C(e){F||"boolean"==typeof O.options||null==O.options||(e.options=!!O.options.capture,O.options=e.options)}r&&r.prepend&&(w=T[d(r.prepend)]=T[r.prepend]);var z=a?function(e){if(!O.isExisting)return C(e),P.call(O.target,O.eventName,O.capture?b:m,O.options)}:function(e){return C(e),P.call(O.target,O.eventName,e.invoke,O.options)},M=a?function(e){if(!e.isRemoved){var t=B[e.eventName],n=void 0;t&&(n=t[e.capture?l:u]);var r=n&&e.target[n];if(r)for(var o=0;o<r.length;o++)if(r[o]===e){r.splice(o,1),e.isRemoved=!0,0===r.length&&(e.allRemoved=!0,e.target[n]=null);break}}if(e.allRemoved)return Z.call(e.target,e.eventName,e.capture?b:m,e.options)}:function(e){return Z.call(e.target,e.eventName,e.invoke,e.options)},I=r&&r.diff?r.diff:function(e,t){var n=typeof t;return"function"===n&&e.callback===t||"object"===n&&e.originalDelegate===t},L=Zone[d("BLACK_LISTED_EVENTS")],x=function(t,n,o,c,s,p){return void 0===s&&(s=!1),void 0===p&&(p=!1),function(){var h=this||e,d=arguments[0];r&&r.transferEventName&&(d=r.transferEventName(d));var v=arguments[1];if(!v)return t.apply(this,arguments);if(E&&"uncaughtException"===d)return t.apply(this,arguments);var g=!1;if("function"!=typeof v){if(!v.handleEvent)return t.apply(this,arguments);g=!0}if(!i||i(t,v,h,arguments)){var y,m=arguments[2];if(L)for(var b=0;b<L.length;b++)if(d===L[b])return t.apply(this,arguments);var k=!1;void 0===m?y=!1:!0===m?y=!0:!1===m?y=!1:(y=!!m&&!!m.capture,k=!!m&&!!m.once);var T,w=Zone.current,P=B[d];if(P)T=P[y?l:u];else{var Z=(S?S(d):d)+u,D=(S?S(d):d)+l,j=f+Z,C=f+D;B[d]={},B[d][u]=j,B[d][l]=C,T=y?C:j}var z,M=h[T],R=!1;if(M){if(R=!0,_)for(b=0;b<M.length;b++)if(I(M[b],v))return}else M=h[T]=[];var x=h.constructor.name,N=G[x];N&&(z=N[d]),z||(z=x+n+(S?S(d):d)),O.options=m,k&&(O.options.once=!1),O.target=h,O.capture=y,O.eventName=d,O.isExisting=R;var H=a?A:void 0;H&&(H.taskData=O);var W=w.scheduleEventTask(z,v,H,o,c);return O.target=null,H&&(H.taskData=null),k&&(m.once=!0),(F||"boolean"!=typeof W.options)&&(W.options=m),W.target=h,W.capture=y,W.eventName=d,g&&(W.originalDelegate=v),p?M.unshift(W):M.push(W),s?h:void 0}}};return T[o]=x(P,v,z,M,k),w&&(T[g]=x(w,y,function(e){return w.call(O.target,O.eventName,e.invoke,O.options)},M,k,!0)),T[c]=function(){var t=this||e,n=arguments[0];r&&r.transferEventName&&(n=r.transferEventName(n));var o,a=arguments[2];o=void 0!==a&&(!0===a||!1!==a&&!!a&&!!a.capture);var c=arguments[1];if(!c)return Z.apply(this,arguments);if(!i||i(Z,c,t,arguments)){var s,p=B[n];p&&(s=p[o?l:u]);var h=s&&t[s];if(h)for(var d=0;d<h.length;d++){var v=h[d];if(I(v,c))return h.splice(d,1),v.isRemoved=!0,0===h.length&&(v.allRemoved=!0,t[s]=null,"string"==typeof n&&(t[f+"ON_PROPERTY"+n]=null)),v.zone.cancelTask(v),k?t:void 0}return Z.apply(this,arguments)}},T[s]=function(){var t=this||e,n=arguments[0];r&&r.transferEventName&&(n=r.transferEventName(n));for(var o=[],a=X(t,S?S(n):n),i=0;i<a.length;i++){var c=a[i];o.push(c.originalDelegate?c.originalDelegate:c.callback)}return o},T[p]=function(){var t=this||e,n=arguments[0];if(n){r&&r.transferEventName&&(n=r.transferEventName(n));var o=B[n];if(o){var a=t[o[u]],i=t[o[l]];if(a){var s=a.slice();for(d=0;d<s.length;d++)this[c].call(this,n,(f=s[d]).originalDelegate?f.originalDelegate:f.callback,f.options)}if(i)for(s=i.slice(),d=0;d<s.length;d++){var f;this[c].call(this,n,(f=s[d]).originalDelegate?f.originalDelegate:f.callback,f.options)}}}else{for(var h=Object.keys(t),d=0;d<h.length;d++){var v=W.exec(h[d]),g=v&&v[1];g&&"removeListener"!==g&&this[p].call(this,g)}this[p].call(this,"removeListener")}if(k)return this},R(T[o],P),R(T[c],Z),j&&R(T[p],j),D&&R(T[s],D),!0}for(var T=[],w=0;w<t.length;w++)T[w]=k(t[w],r);return T}function X(e,t){var n=[];for(var r in e){var o=W.exec(r),a=o&&o[1];if(a&&(!t||a===t)){var i=e[r];if(i)for(var c=0;c<i.length;c++)n.push(i[c])}}return n}function V(e,t){var n=e.Event;n&&n.prototype&&t.patchMethod(n.prototype,"stopImmediatePropagation",function(e){return function(t,n){t[q]=!0,e&&e.apply(t,n)}})}
var A=!1;if("undefined"!=typeof window)try{var H=Object.defineProperty({},"passive",{get:function(){A=!0}});window.addEventListener("test",H,H),window.removeEventListener("test",H,H)}catch(e){A=!1}var B={useG:!0},G={},W={},q=new RegExp("^"+f+"(\\w+)(true|false)$"),U=d("propagationStopped");function V(e,t){var n=(t?t(e):e)+l,r=(t?t(e):e)+u,o=f+n,a=f+r;G[e]={},G[e][l]=o,G[e][u]=a}function X(e,t,r){var o=r&&r.add||a,c=r&&r.rm||i,s=r&&r.listeners||"eventListeners",p=r&&r.rmAll||"removeAllListeners",h=d(o),v="."+o+":",g="prependListener",y="."+g+":",_=function(e,t,n){if(!e.isRemoved){var r=e.callback;"object"==typeof r&&r.handleEvent&&(e.callback=function(e){return r.handleEvent(e)},e.originalDelegate=r),e.invoke(e,t,[n]);var o=e.options;o&&"object"==typeof o&&o.once&&t[c].call(t,n.type,e.originalDelegate?e.originalDelegate:e.callback,o)}},m=function(t){if(t=t||e.event){var n=this||t.target||e,r=n[G[t.type][l]];if(r)if(1===r.length)_(r[0],n,t);else for(var o=r.slice(),a=0;a<o.length&&(!t||!0!==t[U]);a++)_(o[a],n,t)}},b=function(t){if(t=t||e.event){var n=this||t.target||e,r=n[G[t.type][u]];if(r)if(1===r.length)_(r[0],n,t);else for(var o=r.slice(),a=0;a<o.length&&(!t||!0!==t[U]);a++)_(o[a],n,t)}};function k(t,r){if(!t)return!1;var a=!0;r&&void 0!==r.useG&&(a=r.useG);var i=r&&r.vh,_=!0;r&&void 0!==r.chkDup&&(_=r.chkDup);var k=!1;r&&void 0!==r.rt&&(k=r.rt);for(var T=t;T&&!T.hasOwnProperty(o);)T=n(T);if(!T&&t[o]&&(T=t),!T)return!1;if(T[h])return!1;var w,S=r&&r.eventNameToString,O={},P=T[h]=T[o],Z=T[d(c)]=T[c],D=T[d(s)]=T[s],j=T[d(p)]=T[p];function C(e,t){return!A&&"object"==typeof e&&e?!!e.capture:A&&t?"boolean"==typeof e?{capture:e,passive:!0}:e?"object"==typeof e&&!1!==e.passive?Object.assign(Object.assign({},e),{passive:!0}):e:{passive:!0}:e}r&&r.prepend&&(w=T[d(r.prepend)]=T[r.prepend]);var z=a?function(e){if(!O.isExisting)return P.call(O.target,O.eventName,O.capture?b:m,O.options)}:function(e){return P.call(O.target,O.eventName,e.invoke,O.options)},I=a?function(e){if(!e.isRemoved){var t=G[e.eventName],n=void 0;t&&(n=t[e.capture?u:l]);var r=n&&e.target[n];if(r)for(var o=0;o<r.length;o++)if(r[o]===e){r.splice(o,1),e.isRemoved=!0,0===r.length&&(e.allRemoved=!0,e.target[n]=null);break}}if(e.allRemoved)return Z.call(e.target,e.eventName,e.capture?b:m,e.options)}:function(e){return Z.call(e.target,e.eventName,e.invoke,e.options)},M=r&&r.diff?r.diff:function(e,t){var n=typeof t;return"function"===n&&e.callback===t||"object"===n&&e.originalDelegate===t},L=Zone[d("BLACK_LISTED_EVENTS")],N=e[d("PASSIVE_EVENTS")],x=function(t,n,o,c,s,f){return void 0===s&&(s=!1),void 0===f&&(f=!1),function(){var p=this||e,h=arguments[0];r&&r.transferEventName&&(h=r.transferEventName(h));var d=arguments[1];if(!d)return t.apply(this,arguments);if(E&&"uncaughtException"===h)return t.apply(this,arguments);var v=!1;if("function"!=typeof d){if(!d.handleEvent)return t.apply(this,arguments);v=!0}if(!i||i(t,d,p,arguments)){var g=A&&!!N&&-1!==N.indexOf(h),y=C(arguments[2],g);if(L)for(var m=0;m<L.length;m++)if(h===L[m])return g?t.call(p,h,d,y):t.apply(this,arguments);var b=!!y&&("boolean"==typeof y||y.capture),k=!(!y||"object"!=typeof y)&&y.once,T=Zone.current,w=G[h];w||(V(h,S),w=G[h]);var P,Z=w[b?u:l],D=p[Z],j=!1;if(D){if(j=!0,_)for(m=0;m<D.length;m++)if(M(D[m],d))return}else D=p[Z]=[];var z=p.constructor.name,I=W[z];I&&(P=I[h]),P||(P=z+n+(S?S(h):h)),O.options=y,k&&(O.options.once=!1),O.target=p,O.capture=b,O.eventName=h,O.isExisting=j;var R=a?B:void 0;R&&(R.taskData=O);var x=T.scheduleEventTask(P,d,R,o,c);return O.target=null,R&&(R.taskData=null),k&&(y.once=!0),(A||"boolean"!=typeof x.options)&&(x.options=y),x.target=p,x.capture=b,x.eventName=h,v&&(x.originalDelegate=d),f?D.unshift(x):D.push(x),s?p:void 0}}};return T[o]=x(P,v,z,I,k),w&&(T[g]=x(w,y,(function(e){return w.call(O.target,O.eventName,e.invoke,O.options)}),I,k,!0)),T[c]=function(){var t=this||e,n=arguments[0];r&&r.transferEventName&&(n=r.transferEventName(n));var o=arguments[2],a=!!o&&("boolean"==typeof o||o.capture),c=arguments[1];if(!c)return Z.apply(this,arguments);if(!i||i(Z,c,t,arguments)){var s,p=G[n];p&&(s=p[a?u:l]);var h=s&&t[s];if(h)for(var d=0;d<h.length;d++){var v=h[d];if(M(v,c)){if(h.splice(d,1),v.isRemoved=!0,0===h.length&&(v.allRemoved=!0,t[s]=null,"string"==typeof n)){var g=f+"ON_PROPERTY"+n;t[g]=null}return v.zone.cancelTask(v),k?t:void 0}}return Z.apply(this,arguments)}},T[s]=function(){var t=this||e,n=arguments[0];r&&r.transferEventName&&(n=r.transferEventName(n));for(var o=[],a=Y(t,S?S(n):n),i=0;i<a.length;i++){var c=a[i],s=c.originalDelegate?c.originalDelegate:c.callback;o.push(s)}return o},T[p]=function(){var t=this||e,n=arguments[0];if(n){r&&r.transferEventName&&(n=r.transferEventName(n));var o=G[n];if(o){var a=o[l],i=o[u],s=t[a],f=t[i];if(s){var h=s.slice();for(g=0;g<h.length;g++)this[c].call(this,n,(d=h[g]).originalDelegate?d.originalDelegate:d.callback,d.options)}if(f)for(h=f.slice(),g=0;g<h.length;g++){var d;this[c].call(this,n,(d=h[g]).originalDelegate?d.originalDelegate:d.callback,d.options)}}}else{for(var v=Object.keys(t),g=0;g<v.length;g++){var y=v[g],_=q.exec(y),m=_&&_[1];m&&"removeListener"!==m&&this[p].call(this,m)}this[p].call(this,"removeListener")}if(k)return this},R(T[o],P),R(T[c],Z),j&&R(T[p],j),D&&R(T[s],D),!0}for(var T=[],w=0;w<t.length;w++)T[w]=k(t[w],r);return T}function Y(e,t){if(!t){var n=[];for(var r in e){var o=q.exec(r),a=o&&o[1];if(a&&(!t||a===t)){var i=e[r];if(i)for(var c=0;c<i.length;c++)n.push(i[c])}}return n}var s=G[t];s||(V(t),s=G[t]);var f=e[s[l]],p=e[s[u]];return f?p?f.concat(p):f.slice():p?p.slice():[]}function K(e,t){var n=e.Event;n&&n.prototype&&t.patchMethod(n.prototype,"stopImmediatePropagation",(function(e){return function(t,n){t[U]=!0,e&&e.apply(t,n)}}))}
/**

@@ -62,3 +56,3 @@ * @license

* found in the LICENSE file at https://angular.io/license
*/function Y(e,t,n,r,o){var a=Zone.__symbol__(r);if(!t[a]){var i=t[a]=t[r];t[r]=function(a,c,s){return c&&c.prototype&&o.forEach(function(t){var o=n+"."+r+"::"+t,a=c.prototype;if(a.hasOwnProperty(t)){var i=e.ObjectGetOwnPropertyDescriptor(a,t);i&&i.value?(i.value=e.wrapWithCurrentZone(i.value,o),e._redefineProperty(c.prototype,t,i)):a[t]&&(a[t]=e.wrapWithCurrentZone(a[t],o))}else a[t]&&(a[t]=e.wrapWithCurrentZone(a[t],o))}),i.call(t,a,c,s)},e.attachOriginToPatched(t[r],i)}}
*/function J(e,t,n,r,o){var a=Zone.__symbol__(r);if(!t[a]){var i=t[a]=t[r];t[r]=function(a,c,s){return c&&c.prototype&&o.forEach((function(t){var o=n+"."+r+"::"+t,a=c.prototype;if(a.hasOwnProperty(t)){var i=e.ObjectGetOwnPropertyDescriptor(a,t);i&&i.value?(i.value=e.wrapWithCurrentZone(i.value,o),e._redefineProperty(c.prototype,t,i)):a[t]&&(a[t]=e.wrapWithCurrentZone(a[t],o))}else a[t]&&(a[t]=e.wrapWithCurrentZone(a[t],o))})),i.call(t,a,c,s)},e.attachOriginToPatched(t[r],i)}}
/**

@@ -70,3 +64,3 @@ * @license

* found in the LICENSE file at https://angular.io/license
*/var K,J,Q,$,ee,te=["absolutedeviceorientation","afterinput","afterprint","appinstalled","beforeinstallprompt","beforeprint","beforeunload","devicelight","devicemotion","deviceorientation","deviceorientationabsolute","deviceproximity","hashchange","languagechange","message","mozbeforepaint","offline","online","paint","pageshow","pagehide","popstate","rejectionhandled","storage","unhandledrejection","unload","userproximity","vrdisplyconnected","vrdisplaydisconnected","vrdisplaypresentchange"],ne=["encrypted","waitingforkey","msneedkey","mozinterruptbegin","mozinterruptend"],re=["load"],oe=["blur","error","focus","load","resize","scroll","messageerror"],ae=["bounce","finish","start"],ie=["loadstart","progress","abort","error","load","progress","timeout","loadend","readystatechange"],ce=["upgradeneeded","complete","abort","success","error","blocked","versionchange","close"],se=["close","error","open","message"],le=["error","message"],ue=["abort","animationcancel","animationend","animationiteration","auxclick","beforeinput","blur","cancel","canplay","canplaythrough","change","compositionstart","compositionupdate","compositionend","cuechange","click","close","contextmenu","curechange","dblclick","drag","dragend","dragenter","dragexit","dragleave","dragover","drop","durationchange","emptied","ended","error","focus","focusin","focusout","gotpointercapture","input","invalid","keydown","keypress","keyup","load","loadstart","loadeddata","loadedmetadata","lostpointercapture","mousedown","mouseenter","mouseleave","mousemove","mouseout","mouseover","mouseup","mousewheel","orientationchange","pause","play","playing","pointercancel","pointerdown","pointerenter","pointerleave","pointerlockchange","mozpointerlockchange","webkitpointerlockerchange","pointerlockerror","mozpointerlockerror","webkitpointerlockerror","pointermove","pointout","pointerover","pointerup","progress","ratechange","reset","resize","scroll","seeked","seeking","select","selectionchange","selectstart","show","sort","stalled","submit","suspend","timeupdate","volumechange","touchcancel","touchmove","touchstart","touchend","transitioncancel","transitionend","waiting","wheel"].concat(["webglcontextrestored","webglcontextlost","webglcontextcreationerror"],["autocomplete","autocompleteerror"],["toggle"],["afterscriptexecute","beforescriptexecute","DOMContentLoaded","freeze","fullscreenchange","mozfullscreenchange","webkitfullscreenchange","msfullscreenchange","fullscreenerror","mozfullscreenerror","webkitfullscreenerror","msfullscreenerror","readystatechange","visibilitychange","resume"],te,["beforecopy","beforecut","beforepaste","copy","cut","paste","dragstart","loadend","animationstart","search","transitionrun","transitionstart","webkitanimationend","webkitanimationiteration","webkitanimationstart","webkittransitionend"],["activate","afterupdate","ariarequest","beforeactivate","beforedeactivate","beforeeditfocus","beforeupdate","cellchange","controlselect","dataavailable","datasetchanged","datasetcomplete","errorupdate","filterchange","layoutcomplete","losecapture","move","moveend","movestart","propertychange","resizeend","resizestart","rowenter","rowexit","rowsdelete","rowsinserted","command","compassneedscalibration","deactivate","help","mscontentzoom","msmanipulationstatechanged","msgesturechange","msgesturedoubletap","msgestureend","msgesturehold","msgesturestart","msgesturetap","msgotpointercapture","msinertiastart","mslostpointercapture","mspointercancel","mspointerdown","mspointerenter","mspointerhover","mspointerleave","mspointermove","mspointerout","mspointerover","mspointerup","pointerout","mssitemodejumplistitemremoved","msthumbnailclick","stop","storagecommit"]);function fe(e,t,n){if(!n||0===n.length)return t;var r=n.filter(function(t){return t.target===e});if(!r||0===r.length)return t;var o=r[0].ignoreProperties;return t.filter(function(e){return-1===o.indexOf(e)})}function pe(e,t,n,r){e&&D(e,fe(e,t,n),r)}function he(e,t){if((!E||S)&&!Zone[e.symbol("patchEvents")]){var r="undefined"!=typeof WebSocket,o=t.__Zone_ignore_on_properties;if(w){var a=window,i=function c(){try{var e=g.navigator.userAgent;if(-1!==e.indexOf("MSIE ")||-1!==e.indexOf("Trident/"))return!0}catch(e){}return!1}?[{target:a,ignoreProperties:["error"]}]:[];pe(a,ue.concat(["messageerror"]),o?o.concat(i):o,n(a)),pe(Document.prototype,ue,o),void 0!==a.SVGElement&&pe(a.SVGElement.prototype,ue,o),pe(Element.prototype,ue,o),pe(HTMLElement.prototype,ue,o),pe(HTMLMediaElement.prototype,ne,o),pe(HTMLFrameSetElement.prototype,te.concat(oe),o),pe(HTMLBodyElement.prototype,te.concat(oe),o),pe(HTMLFrameElement.prototype,re,o),pe(HTMLIFrameElement.prototype,re,o);var s=a.HTMLMarqueeElement;s&&pe(s.prototype,ae,o);var l=a.Worker;l&&pe(l.prototype,le,o)}var u=t.XMLHttpRequest;u&&pe(u.prototype,ie,o);var f=t.XMLHttpRequestEventTarget;f&&pe(f&&f.prototype,ie,o),"undefined"!=typeof IDBIndex&&(pe(IDBIndex.prototype,ce,o),pe(IDBRequest.prototype,ce,o),pe(IDBOpenDBRequest.prototype,ce,o),pe(IDBDatabase.prototype,ce,o),pe(IDBTransaction.prototype,ce,o),pe(IDBCursor.prototype,ce,o)),r&&pe(WebSocket.prototype,se,o)}}
*/var Q,$,ee,te,ne,re=["absolutedeviceorientation","afterinput","afterprint","appinstalled","beforeinstallprompt","beforeprint","beforeunload","devicelight","devicemotion","deviceorientation","deviceorientationabsolute","deviceproximity","hashchange","languagechange","message","mozbeforepaint","offline","online","paint","pageshow","pagehide","popstate","rejectionhandled","storage","unhandledrejection","unload","userproximity","vrdisplayconnected","vrdisplaydisconnected","vrdisplaypresentchange"],oe=["encrypted","waitingforkey","msneedkey","mozinterruptbegin","mozinterruptend"],ae=["load"],ie=["blur","error","focus","load","resize","scroll","messageerror"],ce=["bounce","finish","start"],se=["loadstart","progress","abort","error","load","progress","timeout","loadend","readystatechange"],ue=["upgradeneeded","complete","abort","success","error","blocked","versionchange","close"],le=["close","error","open","message"],fe=["error","message"],pe=["abort","animationcancel","animationend","animationiteration","auxclick","beforeinput","blur","cancel","canplay","canplaythrough","change","compositionstart","compositionupdate","compositionend","cuechange","click","close","contextmenu","curechange","dblclick","drag","dragend","dragenter","dragexit","dragleave","dragover","drop","durationchange","emptied","ended","error","focus","focusin","focusout","gotpointercapture","input","invalid","keydown","keypress","keyup","load","loadstart","loadeddata","loadedmetadata","lostpointercapture","mousedown","mouseenter","mouseleave","mousemove","mouseout","mouseover","mouseup","mousewheel","orientationchange","pause","play","playing","pointercancel","pointerdown","pointerenter","pointerleave","pointerlockchange","mozpointerlockchange","webkitpointerlockerchange","pointerlockerror","mozpointerlockerror","webkitpointerlockerror","pointermove","pointout","pointerover","pointerup","progress","ratechange","reset","resize","scroll","seeked","seeking","select","selectionchange","selectstart","show","sort","stalled","submit","suspend","timeupdate","volumechange","touchcancel","touchmove","touchstart","touchend","transitioncancel","transitionend","waiting","wheel"].concat(["webglcontextrestored","webglcontextlost","webglcontextcreationerror"],["autocomplete","autocompleteerror"],["toggle"],["afterscriptexecute","beforescriptexecute","DOMContentLoaded","freeze","fullscreenchange","mozfullscreenchange","webkitfullscreenchange","msfullscreenchange","fullscreenerror","mozfullscreenerror","webkitfullscreenerror","msfullscreenerror","readystatechange","visibilitychange","resume"],re,["beforecopy","beforecut","beforepaste","copy","cut","paste","dragstart","loadend","animationstart","search","transitionrun","transitionstart","webkitanimationend","webkitanimationiteration","webkitanimationstart","webkittransitionend"],["activate","afterupdate","ariarequest","beforeactivate","beforedeactivate","beforeeditfocus","beforeupdate","cellchange","controlselect","dataavailable","datasetchanged","datasetcomplete","errorupdate","filterchange","layoutcomplete","losecapture","move","moveend","movestart","propertychange","resizeend","resizestart","rowenter","rowexit","rowsdelete","rowsinserted","command","compassneedscalibration","deactivate","help","mscontentzoom","msmanipulationstatechanged","msgesturechange","msgesturedoubletap","msgestureend","msgesturehold","msgesturestart","msgesturetap","msgotpointercapture","msinertiastart","mslostpointercapture","mspointercancel","mspointerdown","mspointerenter","mspointerhover","mspointerleave","mspointermove","mspointerout","mspointerover","mspointerup","pointerout","mssitemodejumplistitemremoved","msthumbnailclick","stop","storagecommit"]);function he(e,t,n){if(!n||0===n.length)return t;var r=n.filter((function(t){return t.target===e}));if(!r||0===r.length)return t;var o=r[0].ignoreProperties;return t.filter((function(e){return-1===o.indexOf(e)}))}function de(e,t,n,r){e&&D(e,he(e,t,n),r)}function ve(e,t){if((!E||S)&&!Zone[e.symbol("patchEvents")]){var r="undefined"!=typeof WebSocket,o=t.__Zone_ignore_on_properties;if(w){var a=window,i=x?[{target:a,ignoreProperties:["error"]}]:[];de(a,pe.concat(["messageerror"]),o?o.concat(i):o,n(a)),de(Document.prototype,pe,o),void 0!==a.SVGElement&&de(a.SVGElement.prototype,pe,o),de(Element.prototype,pe,o),de(HTMLElement.prototype,pe,o),de(HTMLMediaElement.prototype,oe,o),de(HTMLFrameSetElement.prototype,re.concat(ie),o),de(HTMLBodyElement.prototype,re.concat(ie),o),de(HTMLFrameElement.prototype,ae,o),de(HTMLIFrameElement.prototype,ae,o);var c=a.HTMLMarqueeElement;c&&de(c.prototype,ce,o);var s=a.Worker;s&&de(s.prototype,fe,o)}var u=t.XMLHttpRequest;u&&de(u.prototype,se,o);var l=t.XMLHttpRequestEventTarget;l&&de(l&&l.prototype,se,o),"undefined"!=typeof IDBIndex&&(de(IDBIndex.prototype,ue,o),de(IDBRequest.prototype,ue,o),de(IDBOpenDBRequest.prototype,ue,o),de(IDBDatabase.prototype,ue,o),de(IDBTransaction.prototype,ue,o),de(IDBCursor.prototype,ue,o)),r&&de(WebSocket.prototype,le,o)}}
/**

@@ -78,3 +72,3 @@ * @license

* found in the LICENSE file at https://angular.io/license
*/function de(){K=Zone.__symbol__,J=Object[K("defineProperty")]=Object.defineProperty,Q=Object[K("getOwnPropertyDescriptor")]=Object.getOwnPropertyDescriptor,$=Object.create,ee=K("unconfigurables"),Object.defineProperty=function(e,t,n){if(ge(e,t))throw new TypeError("Cannot assign to read only property '"+t+"' of "+e);var r=n.configurable;return"prototype"!==t&&(n=ye(e,t,n)),_e(e,t,n,r)},Object.defineProperties=function(e,t){return Object.keys(t).forEach(function(n){Object.defineProperty(e,n,t[n])}),e},Object.create=function(e,t){return"object"!=typeof t||Object.isFrozen(t)||Object.keys(t).forEach(function(n){t[n]=ye(e,n,t[n])}),$(e,t)},Object.getOwnPropertyDescriptor=function(e,t){var n=Q(e,t);return n&&ge(e,t)&&(n.configurable=!1),n}}function ve(e,t,n){var r=n.configurable;return _e(e,t,n=ye(e,t,n),r)}function ge(e,t){return e&&e[ee]&&e[ee][t]}function ye(e,t,n){return Object.isFrozen(n)||(n.configurable=!0),n.configurable||(e[ee]||Object.isFrozen(e)||J(e,ee,{writable:!0,value:{}}),e[ee]&&(e[ee][t]=!0)),n}function _e(e,t,n,r){try{return J(e,t,n)}catch(a){if(!n.configurable)throw a;void 0===r?delete n.configurable:n.configurable=r;try{return J(e,t,n)}catch(r){var o=null;try{o=JSON.stringify(n)}catch(e){o=n.toString()}console.log("Attempting to configure '"+t+"' with descriptor '"+o+"' on object '"+e+"' and got error, giving up: "+r)}}}
*/function ge(){Q=Zone.__symbol__,$=Object[Q("defineProperty")]=Object.defineProperty,ee=Object[Q("getOwnPropertyDescriptor")]=Object.getOwnPropertyDescriptor,te=Object.create,ne=Q("unconfigurables"),Object.defineProperty=function(e,t,n){if(_e(e,t))throw new TypeError("Cannot assign to read only property '"+t+"' of "+e);var r=n.configurable;return"prototype"!==t&&(n=me(e,t,n)),be(e,t,n,r)},Object.defineProperties=function(e,t){return Object.keys(t).forEach((function(n){Object.defineProperty(e,n,t[n])})),e},Object.create=function(e,t){return"object"!=typeof t||Object.isFrozen(t)||Object.keys(t).forEach((function(n){t[n]=me(e,n,t[n])})),te(e,t)},Object.getOwnPropertyDescriptor=function(e,t){var n=ee(e,t);return n&&_e(e,t)&&(n.configurable=!1),n}}function ye(e,t,n){var r=n.configurable;return be(e,t,n=me(e,t,n),r)}function _e(e,t){return e&&e[ne]&&e[ne][t]}function me(e,t,n){return Object.isFrozen(n)||(n.configurable=!0),n.configurable||(e[ne]||Object.isFrozen(e)||$(e,ne,{writable:!0,value:{}}),e[ne]&&(e[ne][t]=!0)),n}function be(e,t,n,r){try{return $(e,t,n)}catch(a){if(!n.configurable)throw a;void 0===r?delete n.configurable:n.configurable=r;try{return $(e,t,n)}catch(r){var o=null;try{o=JSON.stringify(n)}catch(e){o=n.toString()}console.log("Attempting to configure '"+t+"' with descriptor '"+o+"' on object '"+e+"' and got error, giving up: "+r)}}}
/**

@@ -86,3 +80,3 @@ * @license

* found in the LICENSE file at https://angular.io/license
*/function me(e,t){var n=t.getGlobalObjects(),r=n.eventNames,o=n.globalSources,a=n.zoneSymbolEventNames,i=n.TRUE_STR,c=n.FALSE_STR,s=n.ZONE_SYMBOL_PREFIX,l="ApplicationCache,EventSource,FileReader,InputMethodContext,MediaController,MessagePort,Node,Performance,SVGElementInstance,SharedWorker,TextTrack,TextTrackCue,TextTrackList,WebKitNamedFlow,Window,Worker,WorkerGlobalScope,XMLHttpRequest,XMLHttpRequestEventTarget,XMLHttpRequestUpload,IDBRequest,IDBOpenDBRequest,IDBDatabase,IDBTransaction,IDBCursor,DBIndex,WebSocket".split(","),u=[],f=e.wtf,p="Anchor,Area,Audio,BR,Base,BaseFont,Body,Button,Canvas,Content,DList,Directory,Div,Embed,FieldSet,Font,Form,Frame,FrameSet,HR,Head,Heading,Html,IFrame,Image,Input,Keygen,LI,Label,Legend,Link,Map,Marquee,Media,Menu,Meta,Meter,Mod,OList,Object,OptGroup,Option,Output,Paragraph,Pre,Progress,Quote,Script,Select,Source,Span,Style,TableCaption,TableCell,TableCol,Table,TableRow,TableSection,TextArea,Title,Track,UList,Unknown,Video".split(",");f?u=p.map(function(e){return"HTML"+e+"Element"}).concat(l):e.EventTarget?u.push("EventTarget"):u=l;for(var h=e.__Zone_disable_IE_check||!1,d=e.__Zone_enable_cross_context_check||!1,v=t.isIEOrEdge(),g="function __BROWSERTOOLS_CONSOLE_SAFEFUNC() { [native code] }",y={MSPointerCancel:"pointercancel",MSPointerDown:"pointerdown",MSPointerEnter:"pointerenter",MSPointerHover:"pointerhover",MSPointerLeave:"pointerleave",MSPointerMove:"pointermove",MSPointerOut:"pointerout",MSPointerOver:"pointerover",MSPointerUp:"pointerup"},_=0;_<r.length;_++){var m=s+((w=r[_])+c),b=s+(w+i);a[w]={},a[w][c]=m,a[w][i]=b}for(_=0;_<p.length;_++)for(var k=p[_],T=o[k]={},E=0;E<r.length;E++){var w;T[w=r[E]]=k+".addEventListener:"+w}var S=[];for(_=0;_<u.length;_++){var O=e[u[_]];S.push(O&&O.prototype)}return t.patchEventTarget(e,S,{vh:function(e,t,n,r){if(!h&&v){if(d)try{var o;if("[object FunctionWrapper]"===(o=t.toString())||o==g)return e.apply(n,r),!1}catch(t){return e.apply(n,r),!1}else if("[object FunctionWrapper]"===(o=t.toString())||o==g)return e.apply(n,r),!1}else if(d)try{t.toString()}catch(t){return e.apply(n,r),!1}return!0},transferEventName:function(e){return y[e]||e}}),Zone[t.symbol("patchEventTarget")]=!!e.EventTarget,!0}
*/function ke(e,t){var n=t.getGlobalObjects(),r=n.eventNames,o=n.globalSources,a=n.zoneSymbolEventNames,i=n.TRUE_STR,c=n.FALSE_STR,s=n.ZONE_SYMBOL_PREFIX,u="ApplicationCache,EventSource,FileReader,InputMethodContext,MediaController,MessagePort,Node,Performance,SVGElementInstance,SharedWorker,TextTrack,TextTrackCue,TextTrackList,WebKitNamedFlow,Window,Worker,WorkerGlobalScope,XMLHttpRequest,XMLHttpRequestEventTarget,XMLHttpRequestUpload,IDBRequest,IDBOpenDBRequest,IDBDatabase,IDBTransaction,IDBCursor,DBIndex,WebSocket".split(","),l=[],f=e.wtf,p="Anchor,Area,Audio,BR,Base,BaseFont,Body,Button,Canvas,Content,DList,Directory,Div,Embed,FieldSet,Font,Form,Frame,FrameSet,HR,Head,Heading,Html,IFrame,Image,Input,Keygen,LI,Label,Legend,Link,Map,Marquee,Media,Menu,Meta,Meter,Mod,OList,Object,OptGroup,Option,Output,Paragraph,Pre,Progress,Quote,Script,Select,Source,Span,Style,TableCaption,TableCell,TableCol,Table,TableRow,TableSection,TextArea,Title,Track,UList,Unknown,Video".split(",");f?l=p.map((function(e){return"HTML"+e+"Element"})).concat(u):e.EventTarget?l.push("EventTarget"):l=u;for(var h=e.__Zone_disable_IE_check||!1,d=e.__Zone_enable_cross_context_check||!1,v=t.isIEOrEdge(),g="function __BROWSERTOOLS_CONSOLE_SAFEFUNC() { [native code] }",y={MSPointerCancel:"pointercancel",MSPointerDown:"pointerdown",MSPointerEnter:"pointerenter",MSPointerHover:"pointerhover",MSPointerLeave:"pointerleave",MSPointerMove:"pointermove",MSPointerOut:"pointerout",MSPointerOver:"pointerover",MSPointerUp:"pointerup"},_=0;_<r.length;_++){var m=s+((w=r[_])+c),b=s+(w+i);a[w]={},a[w][c]=m,a[w][i]=b}for(_=0;_<p.length;_++)for(var k=p[_],T=o[k]={},E=0;E<r.length;E++){var w;T[w=r[E]]=k+".addEventListener:"+w}var S=[];for(_=0;_<l.length;_++){var O=e[l[_]];S.push(O&&O.prototype)}return t.patchEventTarget(e,S,{vh:function(e,t,n,r){if(!h&&v){if(d)try{var o;if("[object FunctionWrapper]"===(o=t.toString())||o==g)return e.apply(n,r),!1}catch(t){return e.apply(n,r),!1}else if("[object FunctionWrapper]"===(o=t.toString())||o==g)return e.apply(n,r),!1}else if(d)try{t.toString()}catch(t){return e.apply(n,r),!1}return!0},transferEventName:function(e){return y[e]||e}}),Zone[t.symbol("patchEventTarget")]=!!e.EventTarget,!0}
/**

@@ -102,3 +96,3 @@ * @license

*/
function be(e,t){var n=e.getGlobalObjects();if((!n.isNode||n.isMix)&&!function r(e,t){var n=e.getGlobalObjects();if((n.isBrowser||n.isMix)&&!e.ObjectGetOwnPropertyDescriptor(HTMLElement.prototype,"onclick")&&"undefined"!=typeof Element){var r=e.ObjectGetOwnPropertyDescriptor(Element.prototype,"onclick");if(r&&!r.configurable)return!1;if(r){e.ObjectDefineProperty(Element.prototype,"onclick",{enumerable:!0,configurable:!0,get:function(){return!0}});var o=!!document.createElement("div").onclick;return e.ObjectDefineProperty(Element.prototype,"onclick",r),o}}var a=t.XMLHttpRequest;if(!a)return!1;var i=a.prototype,c=e.ObjectGetOwnPropertyDescriptor(i,"onreadystatechange");if(c)return e.ObjectDefineProperty(i,"onreadystatechange",{enumerable:!0,configurable:!0,get:function(){return!0}}),o=!!(l=new a).onreadystatechange,e.ObjectDefineProperty(i,"onreadystatechange",c||{}),o;var s=e.symbol("fake");e.ObjectDefineProperty(i,"onreadystatechange",{enumerable:!0,configurable:!0,get:function(){return this[s]},set:function(e){this[s]=e}});var l,u=function(){};return(l=new a).onreadystatechange=u,o=l[s]===u,l.onreadystatechange=null,o}(e,t)){var o="undefined"!=typeof WebSocket;!function a(e){for(var t=e.getGlobalObjects().eventNames,n=e.symbol("unbound"),r=function(r){var o=t[r],a="on"+o;self.addEventListener(o,function(t){var r,o,i=t.target;for(o=i?i.constructor.name+"."+a:"unknown."+a;i;)i[a]&&!i[a][n]&&((r=e.wrapWithCurrentZone(i[a],o))[n]=i[a],i[a]=r),i=i.parentElement},!0)},o=0;o<t.length;o++)r(o)}
function Te(e,t){var n=e.getGlobalObjects();if((!n.isNode||n.isMix)&&!function r(e,t){var n=e.getGlobalObjects();if((n.isBrowser||n.isMix)&&!e.ObjectGetOwnPropertyDescriptor(HTMLElement.prototype,"onclick")&&"undefined"!=typeof Element){var r=e.ObjectGetOwnPropertyDescriptor(Element.prototype,"onclick");if(r&&!r.configurable)return!1;if(r){e.ObjectDefineProperty(Element.prototype,"onclick",{enumerable:!0,configurable:!0,get:function(){return!0}});var o=!!document.createElement("div").onclick;return e.ObjectDefineProperty(Element.prototype,"onclick",r),o}}var a=t.XMLHttpRequest;if(!a)return!1;var i=a.prototype,c=e.ObjectGetOwnPropertyDescriptor(i,"onreadystatechange");if(c)return e.ObjectDefineProperty(i,"onreadystatechange",{enumerable:!0,configurable:!0,get:function(){return!0}}),o=!!(u=new a).onreadystatechange,e.ObjectDefineProperty(i,"onreadystatechange",c||{}),o;var s=e.symbol("fake");e.ObjectDefineProperty(i,"onreadystatechange",{enumerable:!0,configurable:!0,get:function(){return this[s]},set:function(e){this[s]=e}});var u=new a,l=function(){};return u.onreadystatechange=l,o=u[s]===l,u.onreadystatechange=null,o}(e,t)){var o="undefined"!=typeof WebSocket;!function a(e){for(var t=e.getGlobalObjects().eventNames,n=e.symbol("unbound"),r=function(r){var o=t[r],a="on"+o;self.addEventListener(o,(function(t){var r,o,i=t.target;for(o=i?i.constructor.name+"."+a:"unknown."+a;i;)i[a]&&!i[a][n]&&((r=e.wrapWithCurrentZone(i[a],o))[n]=i[a],i[a]=r),i=i.parentElement}),!0)},o=0;o<t.length;o++)r(o)}
/**

@@ -110,3 +104,3 @@ * @license

* found in the LICENSE file at https://angular.io/license
*/(e),e.patchClass("XMLHttpRequest"),o&&function i(e,t){var n=e.getGlobalObjects(),r=n.ADD_EVENT_LISTENER_STR,o=n.REMOVE_EVENT_LISTENER_STR,a=t.WebSocket;t.EventTarget||e.patchEventTarget(t,[a.prototype]),t.WebSocket=function(t,n){var i,c,s=arguments.length>1?new a(t,n):new a(t),l=e.ObjectGetOwnPropertyDescriptor(s,"onmessage");return l&&!1===l.configurable?(i=e.ObjectCreate(s),c=s,[r,o,"send","close"].forEach(function(t){i[t]=function(){var n=e.ArraySlice.call(arguments);if(t===r||t===o){var a=n.length>0?n[0]:void 0;if(a){var c=Zone.__symbol__("ON_PROPERTY"+a);s[c]=i[c]}}return s[t].apply(s,n)}})):i=s,e.patchOnProperties(i,["close","error","message","open"],c),i};var i=t.WebSocket;for(var c in a)i[c]=a[c]}(e,t),Zone[e.symbol("patchEvents")]=!0}}Zone.__load_patch("util",function(n,c,s){s.patchOnProperties=D,s.patchMethod=M,s.bindArguments=b,s.patchMacroTask=I;var h=c.__symbol__("BLACK_LISTED_EVENTS"),d=c.__symbol__("UNPATCHED_EVENTS");n[d]&&(n[h]=n[d]),n[h]&&(c[h]=c[d]=n[h]),s.patchEventPrototype=V,s.patchEventTarget=U,s.isIEOrEdge=N,s.ObjectDefineProperty=t,s.ObjectGetOwnPropertyDescriptor=e,s.ObjectCreate=r,s.ArraySlice=o,s.patchClass=C,s.wrapWithCurrentZone=p,s.filterProperties=fe,s.attachOriginToPatched=R,s._redefineProperty=Object.defineProperty,s.patchCallbacks=Y,s.getGlobalObjects=function(){return{globalSources:G,zoneSymbolEventNames:B,eventNames:ue,isBrowser:w,isMix:S,isNode:E,TRUE_STR:l,FALSE_STR:u,ZONE_SYMBOL_PREFIX:f,ADD_EVENT_LISTENER_STR:a,REMOVE_EVENT_LISTENER_STR:i}}}),
*/(e),e.patchClass("XMLHttpRequest"),o&&function i(e,t){var n=e.getGlobalObjects(),r=n.ADD_EVENT_LISTENER_STR,o=n.REMOVE_EVENT_LISTENER_STR,a=t.WebSocket;t.EventTarget||e.patchEventTarget(t,[a.prototype]),t.WebSocket=function(t,n){var i,c,s=arguments.length>1?new a(t,n):new a(t),u=e.ObjectGetOwnPropertyDescriptor(s,"onmessage");return u&&!1===u.configurable?(i=e.ObjectCreate(s),c=s,[r,o,"send","close"].forEach((function(t){i[t]=function(){var n=e.ArraySlice.call(arguments);if(t===r||t===o){var a=n.length>0?n[0]:void 0;if(a){var c=Zone.__symbol__("ON_PROPERTY"+a);s[c]=i[c]}}return s[t].apply(s,n)}}))):i=s,e.patchOnProperties(i,["close","error","message","open"],c),i};var i=t.WebSocket;for(var c in a)i[c]=a[c]}(e,t),Zone[e.symbol("patchEvents")]=!0}}Zone.__load_patch("util",(function(n,c,s){s.patchOnProperties=D,s.patchMethod=I,s.bindArguments=b,s.patchMacroTask=M;var h=c.__symbol__("BLACK_LISTED_EVENTS"),d=c.__symbol__("UNPATCHED_EVENTS");n[d]&&(n[h]=n[d]),n[h]&&(c[h]=c[d]=n[h]),s.patchEventPrototype=K,s.patchEventTarget=X,s.isIEOrEdge=F,s.ObjectDefineProperty=t,s.ObjectGetOwnPropertyDescriptor=e,s.ObjectCreate=r,s.ArraySlice=o,s.patchClass=C,s.wrapWithCurrentZone=p,s.filterProperties=he,s.attachOriginToPatched=R,s._redefineProperty=Object.defineProperty,s.patchCallbacks=J,s.getGlobalObjects=function(){return{globalSources:W,zoneSymbolEventNames:G,eventNames:pe,isBrowser:w,isMix:S,isNode:E,TRUE_STR:u,FALSE_STR:l,ZONE_SYMBOL_PREFIX:f,ADD_EVENT_LISTENER_STR:a,REMOVE_EVENT_LISTENER_STR:i}}})),
/**

@@ -119,3 +113,3 @@ * @license

*/
function(e){var t=e.__Zone_symbol_prefix||"__zone_symbol__";e[function n(e){return t+e}("legacyPatch")]=function(){var t=e.Zone;t.__load_patch("defineProperty",function(e,t,n){n._redefineProperty=ve,de()}),t.__load_patch("registerElement",function(e,t,n){!function r(e,t){var n=t.getGlobalObjects();(n.isBrowser||n.isMix)&&"registerElement"in e.document&&t.patchCallbacks(t,document,"Document","registerElement",["createdCallback","attachedCallback","detachedCallback","attributeChangedCallback"])}
function(e){var t=e.__Zone_symbol_prefix||"__zone_symbol__";e[function n(e){return t+e}("legacyPatch")]=function(){var t=e.Zone;t.__load_patch("defineProperty",(function(e,t,n){n._redefineProperty=ye,ge()})),t.__load_patch("registerElement",(function(e,t,n){!function r(e,t){var n=t.getGlobalObjects();(n.isBrowser||n.isMix)&&"registerElement"in e.document&&t.patchCallbacks(t,document,"Document","registerElement",["createdCallback","attachedCallback","detachedCallback","attributeChangedCallback"])}(e,n)})),t.__load_patch("EventTargetLegacy",(function(e,t,n){ke(e,n),Te(n,e)}))}}("undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:{});
/**

@@ -127,11 +121,4 @@ * @license

* found in the LICENSE file at https://angular.io/license
*/(e,n)}),t.__load_patch("EventTargetLegacy",function(e,t,n){me(e,n),be(n,e)})}}("undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:{});
/**
* @license
* Copyright Google Inc. All Rights Reserved.
*
* Use of this source code is governed by an MIT-style license that can be
* found in the LICENSE file at https://angular.io/license
*/
var ke=d("zoneTask");function Te(e,t,n,r){var o=null,a=null;n+=r;var i={};function c(t){var n=t.data;return n.args[0]=function r(){try{t.invoke.apply(this,arguments)}finally{t.data&&t.data.isPeriodic||("number"==typeof n.handleId?delete i[n.handleId]:n.handleId&&(n.handleId[ke]=null))}},n.handleId=o.apply(e,n.args),t}function s(e){return a(e.data.handleId)}o=M(e,t+=r,function(n){return function(o,a){if("function"==typeof a[0]){var l=h(t,a[0],{isPeriodic:"Interval"===r,delay:"Timeout"===r||"Interval"===r?a[1]||0:void 0,args:a},c,s);if(!l)return l;var u=l.data.handleId;return"number"==typeof u?i[u]=l:u&&(u[ke]=l),u&&u.ref&&u.unref&&"function"==typeof u.ref&&"function"==typeof u.unref&&(l.ref=u.ref.bind(u),l.unref=u.unref.bind(u)),"number"==typeof u||u?u:l}return n.apply(e,a)}}),a=M(e,n,function(t){return function(n,r){var o,a=r[0];"number"==typeof a?o=i[a]:(o=a&&a[ke])||(o=a),o&&"string"==typeof o.type?"notScheduled"!==o.state&&(o.cancelFn&&o.data.isPeriodic||0===o.runCount)&&("number"==typeof a?delete i[a]:a&&(a[ke]=null),o.zone.cancelTask(o)):t.apply(e,r)}})}
var Ee=d("zoneTask");function we(e,t,n,r){var o=null,a=null;n+=r;var i={};function c(t){var n=t.data;return n.args[0]=function r(){try{t.invoke.apply(this,arguments)}finally{t.data&&t.data.isPeriodic||("number"==typeof n.handleId?delete i[n.handleId]:n.handleId&&(n.handleId[Ee]=null))}},n.handleId=o.apply(e,n.args),t}function s(e){return a(e.data.handleId)}o=I(e,t+=r,(function(n){return function(o,a){if("function"==typeof a[0]){var u=h(t,a[0],{isPeriodic:"Interval"===r,delay:"Timeout"===r||"Interval"===r?a[1]||0:void 0,args:a},c,s);if(!u)return u;var l=u.data.handleId;return"number"==typeof l?i[l]=u:l&&(l[Ee]=u),l&&l.ref&&l.unref&&"function"==typeof l.ref&&"function"==typeof l.unref&&(u.ref=l.ref.bind(l),u.unref=l.unref.bind(l)),"number"==typeof l||l?l:u}return n.apply(e,a)}})),a=I(e,n,(function(t){return function(n,r){var o,a=r[0];"number"==typeof a?o=i[a]:(o=a&&a[Ee])||(o=a),o&&"string"==typeof o.type?"notScheduled"!==o.state&&(o.cancelFn&&o.data.isPeriodic||0===o.runCount)&&("number"==typeof a?delete i[a]:a&&(a[Ee]=null),o.zone.cancelTask(o)):t.apply(e,r)}}))}
/**

@@ -151,3 +138,3 @@ * @license

*/
function Ee(e,t){if(!Zone[t.symbol("patchEventTarget")]){for(var n=t.getGlobalObjects(),r=n.eventNames,o=n.zoneSymbolEventNames,a=n.TRUE_STR,i=n.FALSE_STR,c=n.ZONE_SYMBOL_PREFIX,s=0;s<r.length;s++){var l=r[s],u=c+(l+i),f=c+(l+a);o[l]={},o[l][i]=u,o[l][a]=f}var p=e.EventTarget;if(p&&p.prototype)return t.patchEventTarget(e,[p&&p.prototype]),!0}}
function Se(e,t){if(!Zone[t.symbol("patchEventTarget")]){for(var n=t.getGlobalObjects(),r=n.eventNames,o=n.zoneSymbolEventNames,a=n.TRUE_STR,i=n.FALSE_STR,c=n.ZONE_SYMBOL_PREFIX,s=0;s<r.length;s++){var u=r[s],l=c+(u+i),f=c+(u+a);o[u]={},o[u][i]=l,o[u][a]=f}var p=e.EventTarget;if(p&&p.prototype)return t.patchEventTarget(e,[p&&p.prototype]),!0}}
/**

@@ -160,2 +147,2 @@ * @license

*/
Zone.__load_patch("legacy",function(e){var t=e[Zone.__symbol__("legacyPatch")];t&&t()}),Zone.__load_patch("timers",function(e){Te(e,"set","clear","Timeout"),Te(e,"set","clear","Interval"),Te(e,"set","clear","Immediate")}),Zone.__load_patch("requestAnimationFrame",function(e){Te(e,"request","cancel","AnimationFrame"),Te(e,"mozRequest","mozCancel","AnimationFrame"),Te(e,"webkitRequest","webkitCancel","AnimationFrame")}),Zone.__load_patch("blocking",function(e,t){for(var n=["alert","prompt","confirm"],r=0;r<n.length;r++)M(e,n[r],function(n,r,o){return function(r,a){return t.current.run(n,e,a,o)}})}),Zone.__load_patch("EventTarget",function(e,t,n){!function r(e,t){t.patchEventPrototype(e,t)}(e,n),Ee(e,n);var o=e.XMLHttpRequestEventTarget;o&&o.prototype&&n.patchEventTarget(e,[o.prototype]),C("MutationObserver"),C("WebKitMutationObserver"),C("IntersectionObserver"),C("FileReader")}),Zone.__load_patch("on_property",function(e,t,n){he(n,e)}),Zone.__load_patch("customElements",function(e,t,n){!function r(e,t){var n=t.getGlobalObjects();(n.isBrowser||n.isMix)&&e.customElements&&"customElements"in e&&t.patchCallbacks(t,e.customElements,"customElements","define",["connectedCallback","disconnectedCallback","adoptedCallback","attributeChangedCallback"])}(e,n)}),Zone.__load_patch("XHR",function(e,t){!function n(e){var n=e.XMLHttpRequest;if(n){var f=n.prototype,p=f[c],v=f[s];if(!p){var g=e.XMLHttpRequestEventTarget;if(g){var y=g.prototype;p=y[c],v=y[s]}}var _="readystatechange",m="scheduled",b=M(f,"open",function(){return function(e,t){return e[o]=0==t[2],e[l]=t[1],b.apply(e,t)}}),k=d("fetchTaskAborting"),T=d("fetchTaskScheduling"),E=M(f,"send",function(){return function(e,n){if(!0===t.current[T])return E.apply(e,n);if(e[o])return E.apply(e,n);var r={target:e,url:e[l],isPeriodic:!1,args:n,aborted:!1},a=h("XMLHttpRequest.send",O,r,S,P);e&&!0===e[u]&&!r.aborted&&a.state===m&&a.invoke()}}),w=M(f,"abort",function(){return function(e,n){var o=function a(e){return e[r]}(e);if(o&&"string"==typeof o.type){if(null==o.cancelFn||o.data&&o.data.aborted)return;o.zone.cancelTask(o)}else if(!0===t.current[k])return w.apply(e,n)}})}function S(e){var n=e.data,o=n.target;o[i]=!1,o[u]=!1;var l=o[a];p||(p=o[c],v=o[s]),l&&v.call(o,_,l);var f=o[a]=function(){if(o.readyState===o.DONE)if(!n.aborted&&o[i]&&e.state===m){var r=o[t.__symbol__("loadfalse")];if(r&&r.length>0){var a=e.invoke;e.invoke=function(){for(var r=o[t.__symbol__("loadfalse")],i=0;i<r.length;i++)r[i]===e&&r.splice(i,1);n.aborted||e.state!==m||a.call(e)},r.push(e)}else e.invoke()}else n.aborted||!1!==o[i]||(o[u]=!0)};return p.call(o,_,f),o[r]||(o[r]=e),E.apply(o,n.args),o[i]=!0,e}function O(){}function P(e){var t=e.data;return t.aborted=!0,w.apply(t.target,t.args)}}(e);var r=d("xhrTask"),o=d("xhrSync"),a=d("xhrListener"),i=d("xhrScheduled"),l=d("xhrURL"),u=d("xhrErrorBeforeScheduled")}),Zone.__load_patch("geolocation",function(t){t.navigator&&t.navigator.geolocation&&function n(t,r){for(var o=t.constructor.name,a=function(n){var a=r[n],i=t[a];if(i){if(!k(e(t,a)))return"continue";t[a]=function(e){var t=function(){return e.apply(this,b(arguments,o+"."+a))};return R(t,e),t}(i)}},i=0;i<r.length;i++)a(i)}(t.navigator.geolocation,["getCurrentPosition","watchPosition"])}),Zone.__load_patch("PromiseRejectionEvent",function(e,t){function n(t){return function(n){X(e,t).forEach(function(r){var o=e.PromiseRejectionEvent;if(o){var a=new o(t,{promise:n.promise,reason:n.rejection});r.invoke(a)}})}}e.PromiseRejectionEvent&&(t[d("unhandledPromiseRejectionHandler")]=n("unhandledrejection"),t[d("rejectionHandledHandler")]=n("rejectionhandled"))})});
Zone.__load_patch("legacy",(function(e){var t=e[Zone.__symbol__("legacyPatch")];t&&t()})),Zone.__load_patch("timers",(function(e){we(e,"set","clear","Timeout"),we(e,"set","clear","Interval"),we(e,"set","clear","Immediate")})),Zone.__load_patch("requestAnimationFrame",(function(e){we(e,"request","cancel","AnimationFrame"),we(e,"mozRequest","mozCancel","AnimationFrame"),we(e,"webkitRequest","webkitCancel","AnimationFrame")})),Zone.__load_patch("blocking",(function(e,t){for(var n=["alert","prompt","confirm"],r=0;r<n.length;r++)I(e,n[r],(function(n,r,o){return function(r,a){return t.current.run(n,e,a,o)}}))})),Zone.__load_patch("EventTarget",(function(e,t,n){!function r(e,t){t.patchEventPrototype(e,t)}(e,n),Se(e,n);var o=e.XMLHttpRequestEventTarget;o&&o.prototype&&n.patchEventTarget(e,[o.prototype]),C("MutationObserver"),C("WebKitMutationObserver"),C("IntersectionObserver"),C("FileReader")})),Zone.__load_patch("on_property",(function(e,t,n){ve(n,e)})),Zone.__load_patch("customElements",(function(e,t,n){!function r(e,t){var n=t.getGlobalObjects();(n.isBrowser||n.isMix)&&e.customElements&&"customElements"in e&&t.patchCallbacks(t,e.customElements,"customElements","define",["connectedCallback","disconnectedCallback","adoptedCallback","attributeChangedCallback"])}(e,n)})),Zone.__load_patch("XHR",(function(e,t){!function n(e){var n=e.XMLHttpRequest;if(n){var f=n.prototype,p=f[c],v=f[s];if(!p){var g=e.XMLHttpRequestEventTarget;if(g){var y=g.prototype;p=y[c],v=y[s]}}var _="readystatechange",m="scheduled",b=I(f,"open",(function(){return function(e,t){return e[o]=0==t[2],e[u]=t[1],b.apply(e,t)}})),k=d("fetchTaskAborting"),T=d("fetchTaskScheduling"),E=I(f,"send",(function(){return function(e,n){if(!0===t.current[T])return E.apply(e,n);if(e[o])return E.apply(e,n);var r={target:e,url:e[u],isPeriodic:!1,args:n,aborted:!1},a=h("XMLHttpRequest.send",O,r,S,P);e&&!0===e[l]&&!r.aborted&&a.state===m&&a.invoke()}})),w=I(f,"abort",(function(){return function(e,n){var o=function a(e){return e[r]}(e);if(o&&"string"==typeof o.type){if(null==o.cancelFn||o.data&&o.data.aborted)return;o.zone.cancelTask(o)}else if(!0===t.current[k])return w.apply(e,n)}}))}function S(e){var n=e.data,o=n.target;o[i]=!1,o[l]=!1;var u=o[a];p||(p=o[c],v=o[s]),u&&v.call(o,_,u);var f=o[a]=function(){if(o.readyState===o.DONE)if(!n.aborted&&o[i]&&e.state===m){var r=o[t.__symbol__("loadfalse")];if(r&&r.length>0){var a=e.invoke;e.invoke=function(){for(var r=o[t.__symbol__("loadfalse")],i=0;i<r.length;i++)r[i]===e&&r.splice(i,1);n.aborted||e.state!==m||a.call(e)},r.push(e)}else e.invoke()}else n.aborted||!1!==o[i]||(o[l]=!0)};return p.call(o,_,f),o[r]||(o[r]=e),E.apply(o,n.args),o[i]=!0,e}function O(){}function P(e){var t=e.data;return t.aborted=!0,w.apply(t.target,t.args)}}(e);var r=d("xhrTask"),o=d("xhrSync"),a=d("xhrListener"),i=d("xhrScheduled"),u=d("xhrURL"),l=d("xhrErrorBeforeScheduled")})),Zone.__load_patch("geolocation",(function(t){t.navigator&&t.navigator.geolocation&&function n(t,r){for(var o=t.constructor.name,a=function(n){var a=r[n],i=t[a];if(i){if(!k(e(t,a)))return"continue";t[a]=function(e){var t=function(){return e.apply(this,b(arguments,o+"."+a))};return R(t,e),t}(i)}},i=0;i<r.length;i++)a(i)}(t.navigator.geolocation,["getCurrentPosition","watchPosition"])})),Zone.__load_patch("PromiseRejectionEvent",(function(e,t){function n(t){return function(n){Y(e,t).forEach((function(r){var o=e.PromiseRejectionEvent;if(o){var a=new o(t,{promise:n.promise,reason:n.rejection});r.invoke(a)}}))}}e.PromiseRejectionEvent&&(t[d("unhandledPromiseRejectionHandler")]=n("unhandledrejection"),t[d("rejectionHandledHandler")]=n("rejectionhandled"))}))}));

@@ -8,3 +8,3 @@ /**

*/
/// <amd-module name="angular/packages/zone.js/lib/browser/api-util" />
/// <amd-module name="zone.js/lib/browser/api-util" />
export {};

@@ -14,3 +14,3 @@ /**

else if (typeof define === "function" && define.amd) {
define("angular/packages/zone.js/lib/browser/api-util", ["require", "exports", "angular/packages/zone.js/lib/common/events", "angular/packages/zone.js/lib/common/utils", "angular/packages/zone.js/lib/browser/browser-util", "angular/packages/zone.js/lib/browser/property-descriptor"], factory);
define("zone.js/lib/browser/api-util", ["require", "exports", "zone.js/lib/common/events", "zone.js/lib/common/utils", "zone.js/lib/browser/browser-util", "zone.js/lib/browser/property-descriptor"], factory);
}

@@ -20,6 +20,6 @@ })(function (require, exports) {

Object.defineProperty(exports, "__esModule", { value: true });
var events_1 = require("angular/packages/zone.js/lib/common/events");
var utils_1 = require("angular/packages/zone.js/lib/common/utils");
var browser_util_1 = require("angular/packages/zone.js/lib/browser/browser-util");
var property_descriptor_1 = require("angular/packages/zone.js/lib/browser/property-descriptor");
var events_1 = require("zone.js/lib/common/events");
var utils_1 = require("zone.js/lib/common/utils");
var browser_util_1 = require("zone.js/lib/browser/browser-util");
var property_descriptor_1 = require("zone.js/lib/browser/property-descriptor");
Zone.__load_patch('util', function (global, Zone, api) {

@@ -64,2 +64,2 @@ api.patchOnProperties = utils_1.patchOnProperties;

});
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBpLXV0aWwuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy96b25lLmpzL2xpYi9icm93c2VyL2FwaS11dGlsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7R0FNRzs7Ozs7Ozs7Ozs7O0lBRUgscUVBQTRHO0lBQzVHLG1FQUF3VztJQUV4VyxrRkFBOEM7SUFDOUMsZ0dBQW1FO0lBRW5FLElBQUksQ0FBQyxZQUFZLENBQUMsTUFBTSxFQUFFLFVBQUMsTUFBVyxFQUFFLElBQWMsRUFBRSxHQUFpQjtRQUN2RSxHQUFHLENBQUMsaUJBQWlCLEdBQUcseUJBQWlCLENBQUM7UUFDMUMsR0FBRyxDQUFDLFdBQVcsR0FBRyxtQkFBVyxDQUFDO1FBQzlCLEdBQUcsQ0FBQyxhQUFhLEdBQUcscUJBQWEsQ0FBQztRQUNsQyxHQUFHLENBQUMsY0FBYyxHQUFHLHNCQUFjLENBQUM7UUFDcEMsa0dBQWtHO1FBQ2xHLHdEQUF3RDtRQUN4RCxrR0FBa0c7UUFDbEcseUNBQXlDO1FBQ3pDLDRGQUE0RjtRQUM1RiwyQkFBMkI7UUFDM0IsSUFBTSwwQkFBMEIsR0FBRyxJQUFJLENBQUMsVUFBVSxDQUFDLHFCQUFxQixDQUFDLENBQUM7UUFDMUUsSUFBTSx1QkFBdUIsR0FBRyxJQUFJLENBQUMsVUFBVSxDQUFDLGtCQUFrQixDQUFDLENBQUM7UUFDcEUsSUFBSSxNQUFNLENBQUMsdUJBQXVCLENBQUMsRUFBRTtZQUNuQyxNQUFNLENBQUMsMEJBQTBCLENBQUMsR0FBRyxNQUFNLENBQUMsdUJBQXVCLENBQUMsQ0FBQztTQUN0RTtRQUNELElBQUksTUFBTSxDQUFDLDBCQUEwQixDQUFDLEVBQUU7WUFDckMsSUFBWSxDQUFDLDBCQUEwQixDQUFDLEdBQUksSUFBWSxDQUFDLHVCQUF1QixDQUFDO2dCQUM5RSxNQUFNLENBQUMsMEJBQTBCLENBQUMsQ0FBQztTQUN4QztRQUNELEdBQUcsQ0FBQyxtQkFBbUIsR0FBRyw0QkFBbUIsQ0FBQztRQUM5QyxHQUFHLENBQUMsZ0JBQWdCLEdBQUcseUJBQWdCLENBQUM7UUFDeEMsR0FBRyxDQUFDLFVBQVUsR0FBRyxrQkFBVSxDQUFDO1FBQzVCLEdBQUcsQ0FBQyxvQkFBb0IsR0FBRyw0QkFBb0IsQ0FBQztRQUNoRCxHQUFHLENBQUMsOEJBQThCLEdBQUcsc0NBQThCLENBQUM7UUFDcEUsR0FBRyxDQUFDLFlBQVksR0FBRyxvQkFBWSxDQUFDO1FBQ2hDLEdBQUcsQ0FBQyxVQUFVLEdBQUcsa0JBQVUsQ0FBQztRQUM1QixHQUFHLENBQUMsVUFBVSxHQUFHLGtCQUFVLENBQUM7UUFDNUIsR0FBRyxDQUFDLG1CQUFtQixHQUFHLDJCQUFtQixDQUFDO1FBQzlDLEdBQUcsQ0FBQyxnQkFBZ0IsR0FBRyxzQ0FBZ0IsQ0FBQztRQUN4QyxHQUFHLENBQUMscUJBQXFCLEdBQUcsNkJBQXFCLENBQUM7UUFDbEQsR0FBRyxDQUFDLGlCQUFpQixHQUFHLE1BQU0sQ0FBQyxjQUFjLENBQUM7UUFDOUMsR0FBRyxDQUFDLGNBQWMsR0FBRyw2QkFBYyxDQUFDO1FBQ3BDLEdBQUcsQ0FBQyxnQkFBZ0IsR0FBRztZQUNuQixPQUFBLENBQUMsRUFBQyxhQUFhLHdCQUFBLEVBQUUsb0JBQW9CLCtCQUFBLEVBQUUsVUFBVSxrQ0FBQSxFQUFFLFNBQVMsbUJBQUEsRUFBRSxLQUFLLGVBQUEsRUFBRSxNQUFNLGdCQUFBLEVBQUUsUUFBUSxrQkFBQTtnQkFDbkYsU0FBUyxtQkFBQSxFQUFFLGtCQUFrQiw0QkFBQSxFQUFFLHNCQUFzQixnQ0FBQSxFQUFFLHlCQUF5QixtQ0FBQSxFQUFDLENBQUM7UUFEcEYsQ0FDb0YsQ0FBQztJQUMzRixDQUFDLENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogQGxpY2Vuc2VcbiAqIENvcHlyaWdodCBHb29nbGUgSW5jLiBBbGwgUmlnaHRzIFJlc2VydmVkLlxuICpcbiAqIFVzZSBvZiB0aGlzIHNvdXJjZSBjb2RlIGlzIGdvdmVybmVkIGJ5IGFuIE1JVC1zdHlsZSBsaWNlbnNlIHRoYXQgY2FuIGJlXG4gKiBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlIGF0IGh0dHBzOi8vYW5ndWxhci5pby9saWNlbnNlXG4gKi9cblxuaW1wb3J0IHtnbG9iYWxTb3VyY2VzLCBwYXRjaEV2ZW50UHJvdG90eXBlLCBwYXRjaEV2ZW50VGFyZ2V0LCB6b25lU3ltYm9sRXZlbnROYW1lc30gZnJvbSAnLi4vY29tbW9uL2V2ZW50cyc7XG5pbXBvcnQge0FERF9FVkVOVF9MSVNURU5FUl9TVFIsIEFycmF5U2xpY2UsIEZBTFNFX1NUUiwgT2JqZWN0Q3JlYXRlLCBPYmplY3REZWZpbmVQcm9wZXJ0eSwgT2JqZWN0R2V0T3duUHJvcGVydHlEZXNjcmlwdG9yLCBSRU1PVkVfRVZFTlRfTElTVEVORVJfU1RSLCBUUlVFX1NUUiwgWk9ORV9TWU1CT0xfUFJFRklYLCBhdHRhY2hPcmlnaW5Ub1BhdGNoZWQsIGJpbmRBcmd1bWVudHMsIGlzQnJvd3NlciwgaXNJRU9yRWRnZSwgaXNNaXgsIGlzTm9kZSwgcGF0Y2hDbGFzcywgcGF0Y2hNYWNyb1Rhc2ssIHBhdGNoTWV0aG9kLCBwYXRjaE9uUHJvcGVydGllcywgd3JhcFdpdGhDdXJyZW50Wm9uZX0gZnJvbSAnLi4vY29tbW9uL3V0aWxzJztcblxuaW1wb3J0IHtwYXRjaENhbGxiYWNrc30gZnJvbSAnLi9icm93c2VyLXV0aWwnO1xuaW1wb3J0IHtldmVudE5hbWVzLCBmaWx0ZXJQcm9wZXJ0aWVzfSBmcm9tICcuL3Byb3BlcnR5LWRlc2NyaXB0b3InO1xuXG5ab25lLl9fbG9hZF9wYXRjaCgndXRpbCcsIChnbG9iYWw6IGFueSwgWm9uZTogWm9uZVR5cGUsIGFwaTogX1pvbmVQcml2YXRlKSA9PiB7XG4gIGFwaS5wYXRjaE9uUHJvcGVydGllcyA9IHBhdGNoT25Qcm9wZXJ0aWVzO1xuICBhcGkucGF0Y2hNZXRob2QgPSBwYXRjaE1ldGhvZDtcbiAgYXBpLmJpbmRBcmd1bWVudHMgPSBiaW5kQXJndW1lbnRzO1xuICBhcGkucGF0Y2hNYWNyb1Rhc2sgPSBwYXRjaE1hY3JvVGFzaztcbiAgLy8gSW4gZWFybGllciB2ZXJzaW9uIG9mIHpvbmUuanMgKDwwLjkuMCksIHdlIHVzZSBlbnYgbmFtZSBgX196b25lX3N5bWJvbF9fQkxBQ0tfTElTVEVEX0VWRU5UU2AgdG9cbiAgLy8gZGVmaW5lIHdoaWNoIGV2ZW50cyB3aWxsIG5vdCBiZSBwYXRjaGVkIGJ5IGBab25lLmpzYC5cbiAgLy8gSW4gbmV3ZXIgdmVyc2lvbiAoPj0wLjkuMCksIHdlIGNoYW5nZSB0aGUgZW52IG5hbWUgdG8gYF9fem9uZV9zeW1ib2xfX1VOUEFUQ0hFRF9FVkVOVFNgIHRvIGtlZXBcbiAgLy8gdGhlIG5hbWUgY29uc2lzdGVudCB3aXRoIGFuZ3VsYXIgcmVwby5cbiAgLy8gVGhlICBgX196b25lX3N5bWJvbF9fQkxBQ0tfTElTVEVEX0VWRU5UU2AgaXMgZGVwcmVjYXRlZCwgYnV0IGl0IGlzIHN0aWxsIGJlIHN1cHBvcnRlZCBmb3JcbiAgLy8gYmFja3dhcmRzIGNvbXBhdGliaWxpdHkuXG4gIGNvbnN0IFNZTUJPTF9CTEFDS19MSVNURURfRVZFTlRTID0gWm9uZS5fX3N5bWJvbF9fKCdCTEFDS19MSVNURURfRVZFTlRTJyk7XG4gIGNvbnN0IFNZTUJPTF9VTlBBVENIRURfRVZFTlRTID0gWm9uZS5fX3N5bWJvbF9fKCdVTlBBVENIRURfRVZFTlRTJyk7XG4gIGlmIChnbG9iYWxbU1lNQk9MX1VOUEFUQ0hFRF9FVkVOVFNdKSB7XG4gICAgZ2xvYmFsW1NZTUJPTF9CTEFDS19MSVNURURfRVZFTlRTXSA9IGdsb2JhbFtTWU1CT0xfVU5QQVRDSEVEX0VWRU5UU107XG4gIH1cbiAgaWYgKGdsb2JhbFtTWU1CT0xfQkxBQ0tfTElTVEVEX0VWRU5UU10pIHtcbiAgICAoWm9uZSBhcyBhbnkpW1NZTUJPTF9CTEFDS19MSVNURURfRVZFTlRTXSA9IChab25lIGFzIGFueSlbU1lNQk9MX1VOUEFUQ0hFRF9FVkVOVFNdID1cbiAgICAgICAgZ2xvYmFsW1NZTUJPTF9CTEFDS19MSVNURURfRVZFTlRTXTtcbiAgfVxuICBhcGkucGF0Y2hFdmVudFByb3RvdHlwZSA9IHBhdGNoRXZlbnRQcm90b3R5cGU7XG4gIGFwaS5wYXRjaEV2ZW50VGFyZ2V0ID0gcGF0Y2hFdmVudFRhcmdldDtcbiAgYXBpLmlzSUVPckVkZ2UgPSBpc0lFT3JFZGdlO1xuICBhcGkuT2JqZWN0RGVmaW5lUHJvcGVydHkgPSBPYmplY3REZWZpbmVQcm9wZXJ0eTtcbiAgYXBpLk9iamVjdEdldE93blByb3BlcnR5RGVzY3JpcHRvciA9IE9iamVjdEdldE93blByb3BlcnR5RGVzY3JpcHRvcjtcbiAgYXBpLk9iamVjdENyZWF0ZSA9IE9iamVjdENyZWF0ZTtcbiAgYXBpLkFycmF5U2xpY2UgPSBBcnJheVNsaWNlO1xuICBhcGkucGF0Y2hDbGFzcyA9IHBhdGNoQ2xhc3M7XG4gIGFwaS53cmFwV2l0aEN1cnJlbnRab25lID0gd3JhcFdpdGhDdXJyZW50Wm9uZTtcbiAgYXBpLmZpbHRlclByb3BlcnRpZXMgPSBmaWx0ZXJQcm9wZXJ0aWVzO1xuICBhcGkuYXR0YWNoT3JpZ2luVG9QYXRjaGVkID0gYXR0YWNoT3JpZ2luVG9QYXRjaGVkO1xuICBhcGkuX3JlZGVmaW5lUHJvcGVydHkgPSBPYmplY3QuZGVmaW5lUHJvcGVydHk7XG4gIGFwaS5wYXRjaENhbGxiYWNrcyA9IHBhdGNoQ2FsbGJhY2tzO1xuICBhcGkuZ2V0R2xvYmFsT2JqZWN0cyA9ICgpID0+XG4gICAgICAoe2dsb2JhbFNvdXJjZXMsIHpvbmVTeW1ib2xFdmVudE5hbWVzLCBldmVudE5hbWVzLCBpc0Jyb3dzZXIsIGlzTWl4LCBpc05vZGUsIFRSVUVfU1RSLFxuICAgICAgICBGQUxTRV9TVFIsIFpPTkVfU1lNQk9MX1BSRUZJWCwgQUREX0VWRU5UX0xJU1RFTkVSX1NUUiwgUkVNT1ZFX0VWRU5UX0xJU1RFTkVSX1NUUn0pO1xufSk7XG4iXX0=
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBpLXV0aWwuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy96b25lLmpzL2xpYi9icm93c2VyL2FwaS11dGlsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7R0FNRzs7Ozs7Ozs7Ozs7O0lBRUgsb0RBQTRHO0lBQzVHLGtEQUF3VztJQUV4VyxpRUFBOEM7SUFDOUMsK0VBQW1FO0lBRW5FLElBQUksQ0FBQyxZQUFZLENBQUMsTUFBTSxFQUFFLFVBQUMsTUFBVyxFQUFFLElBQWMsRUFBRSxHQUFpQjtRQUN2RSxHQUFHLENBQUMsaUJBQWlCLEdBQUcseUJBQWlCLENBQUM7UUFDMUMsR0FBRyxDQUFDLFdBQVcsR0FBRyxtQkFBVyxDQUFDO1FBQzlCLEdBQUcsQ0FBQyxhQUFhLEdBQUcscUJBQWEsQ0FBQztRQUNsQyxHQUFHLENBQUMsY0FBYyxHQUFHLHNCQUFjLENBQUM7UUFDcEMsa0dBQWtHO1FBQ2xHLHdEQUF3RDtRQUN4RCxrR0FBa0c7UUFDbEcseUNBQXlDO1FBQ3pDLDRGQUE0RjtRQUM1RiwyQkFBMkI7UUFDM0IsSUFBTSwwQkFBMEIsR0FBRyxJQUFJLENBQUMsVUFBVSxDQUFDLHFCQUFxQixDQUFDLENBQUM7UUFDMUUsSUFBTSx1QkFBdUIsR0FBRyxJQUFJLENBQUMsVUFBVSxDQUFDLGtCQUFrQixDQUFDLENBQUM7UUFDcEUsSUFBSSxNQUFNLENBQUMsdUJBQXVCLENBQUMsRUFBRTtZQUNuQyxNQUFNLENBQUMsMEJBQTBCLENBQUMsR0FBRyxNQUFNLENBQUMsdUJBQXVCLENBQUMsQ0FBQztTQUN0RTtRQUNELElBQUksTUFBTSxDQUFDLDBCQUEwQixDQUFDLEVBQUU7WUFDckMsSUFBWSxDQUFDLDBCQUEwQixDQUFDLEdBQUksSUFBWSxDQUFDLHVCQUF1QixDQUFDO2dCQUM5RSxNQUFNLENBQUMsMEJBQTBCLENBQUMsQ0FBQztTQUN4QztRQUNELEdBQUcsQ0FBQyxtQkFBbUIsR0FBRyw0QkFBbUIsQ0FBQztRQUM5QyxHQUFHLENBQUMsZ0JBQWdCLEdBQUcseUJBQWdCLENBQUM7UUFDeEMsR0FBRyxDQUFDLFVBQVUsR0FBRyxrQkFBVSxDQUFDO1FBQzVCLEdBQUcsQ0FBQyxvQkFBb0IsR0FBRyw0QkFBb0IsQ0FBQztRQUNoRCxHQUFHLENBQUMsOEJBQThCLEdBQUcsc0NBQThCLENBQUM7UUFDcEUsR0FBRyxDQUFDLFlBQVksR0FBRyxvQkFBWSxDQUFDO1FBQ2hDLEdBQUcsQ0FBQyxVQUFVLEdBQUcsa0JBQVUsQ0FBQztRQUM1QixHQUFHLENBQUMsVUFBVSxHQUFHLGtCQUFVLENBQUM7UUFDNUIsR0FBRyxDQUFDLG1CQUFtQixHQUFHLDJCQUFtQixDQUFDO1FBQzlDLEdBQUcsQ0FBQyxnQkFBZ0IsR0FBRyxzQ0FBZ0IsQ0FBQztRQUN4QyxHQUFHLENBQUMscUJBQXFCLEdBQUcsNkJBQXFCLENBQUM7UUFDbEQsR0FBRyxDQUFDLGlCQUFpQixHQUFHLE1BQU0sQ0FBQyxjQUFjLENBQUM7UUFDOUMsR0FBRyxDQUFDLGNBQWMsR0FBRyw2QkFBYyxDQUFDO1FBQ3BDLEdBQUcsQ0FBQyxnQkFBZ0IsR0FBRztZQUNuQixPQUFBLENBQUMsRUFBQyxhQUFhLHdCQUFBLEVBQUUsb0JBQW9CLCtCQUFBLEVBQUUsVUFBVSxrQ0FBQSxFQUFFLFNBQVMsbUJBQUEsRUFBRSxLQUFLLGVBQUEsRUFBRSxNQUFNLGdCQUFBLEVBQUUsUUFBUSxrQkFBQTtnQkFDbkYsU0FBUyxtQkFBQSxFQUFFLGtCQUFrQiw0QkFBQSxFQUFFLHNCQUFzQixnQ0FBQSxFQUFFLHlCQUF5QixtQ0FBQSxFQUFDLENBQUM7UUFEcEYsQ0FDb0YsQ0FBQztJQUMzRixDQUFDLENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogQGxpY2Vuc2VcbiAqIENvcHlyaWdodCBHb29nbGUgSW5jLiBBbGwgUmlnaHRzIFJlc2VydmVkLlxuICpcbiAqIFVzZSBvZiB0aGlzIHNvdXJjZSBjb2RlIGlzIGdvdmVybmVkIGJ5IGFuIE1JVC1zdHlsZSBsaWNlbnNlIHRoYXQgY2FuIGJlXG4gKiBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlIGF0IGh0dHBzOi8vYW5ndWxhci5pby9saWNlbnNlXG4gKi9cblxuaW1wb3J0IHtnbG9iYWxTb3VyY2VzLCBwYXRjaEV2ZW50UHJvdG90eXBlLCBwYXRjaEV2ZW50VGFyZ2V0LCB6b25lU3ltYm9sRXZlbnROYW1lc30gZnJvbSAnLi4vY29tbW9uL2V2ZW50cyc7XG5pbXBvcnQge0FERF9FVkVOVF9MSVNURU5FUl9TVFIsIEFycmF5U2xpY2UsIEZBTFNFX1NUUiwgT2JqZWN0Q3JlYXRlLCBPYmplY3REZWZpbmVQcm9wZXJ0eSwgT2JqZWN0R2V0T3duUHJvcGVydHlEZXNjcmlwdG9yLCBSRU1PVkVfRVZFTlRfTElTVEVORVJfU1RSLCBUUlVFX1NUUiwgWk9ORV9TWU1CT0xfUFJFRklYLCBhdHRhY2hPcmlnaW5Ub1BhdGNoZWQsIGJpbmRBcmd1bWVudHMsIGlzQnJvd3NlciwgaXNJRU9yRWRnZSwgaXNNaXgsIGlzTm9kZSwgcGF0Y2hDbGFzcywgcGF0Y2hNYWNyb1Rhc2ssIHBhdGNoTWV0aG9kLCBwYXRjaE9uUHJvcGVydGllcywgd3JhcFdpdGhDdXJyZW50Wm9uZX0gZnJvbSAnLi4vY29tbW9uL3V0aWxzJztcblxuaW1wb3J0IHtwYXRjaENhbGxiYWNrc30gZnJvbSAnLi9icm93c2VyLXV0aWwnO1xuaW1wb3J0IHtldmVudE5hbWVzLCBmaWx0ZXJQcm9wZXJ0aWVzfSBmcm9tICcuL3Byb3BlcnR5LWRlc2NyaXB0b3InO1xuXG5ab25lLl9fbG9hZF9wYXRjaCgndXRpbCcsIChnbG9iYWw6IGFueSwgWm9uZTogWm9uZVR5cGUsIGFwaTogX1pvbmVQcml2YXRlKSA9PiB7XG4gIGFwaS5wYXRjaE9uUHJvcGVydGllcyA9IHBhdGNoT25Qcm9wZXJ0aWVzO1xuICBhcGkucGF0Y2hNZXRob2QgPSBwYXRjaE1ldGhvZDtcbiAgYXBpLmJpbmRBcmd1bWVudHMgPSBiaW5kQXJndW1lbnRzO1xuICBhcGkucGF0Y2hNYWNyb1Rhc2sgPSBwYXRjaE1hY3JvVGFzaztcbiAgLy8gSW4gZWFybGllciB2ZXJzaW9uIG9mIHpvbmUuanMgKDwwLjkuMCksIHdlIHVzZSBlbnYgbmFtZSBgX196b25lX3N5bWJvbF9fQkxBQ0tfTElTVEVEX0VWRU5UU2AgdG9cbiAgLy8gZGVmaW5lIHdoaWNoIGV2ZW50cyB3aWxsIG5vdCBiZSBwYXRjaGVkIGJ5IGBab25lLmpzYC5cbiAgLy8gSW4gbmV3ZXIgdmVyc2lvbiAoPj0wLjkuMCksIHdlIGNoYW5nZSB0aGUgZW52IG5hbWUgdG8gYF9fem9uZV9zeW1ib2xfX1VOUEFUQ0hFRF9FVkVOVFNgIHRvIGtlZXBcbiAgLy8gdGhlIG5hbWUgY29uc2lzdGVudCB3aXRoIGFuZ3VsYXIgcmVwby5cbiAgLy8gVGhlICBgX196b25lX3N5bWJvbF9fQkxBQ0tfTElTVEVEX0VWRU5UU2AgaXMgZGVwcmVjYXRlZCwgYnV0IGl0IGlzIHN0aWxsIGJlIHN1cHBvcnRlZCBmb3JcbiAgLy8gYmFja3dhcmRzIGNvbXBhdGliaWxpdHkuXG4gIGNvbnN0IFNZTUJPTF9CTEFDS19MSVNURURfRVZFTlRTID0gWm9uZS5fX3N5bWJvbF9fKCdCTEFDS19MSVNURURfRVZFTlRTJyk7XG4gIGNvbnN0IFNZTUJPTF9VTlBBVENIRURfRVZFTlRTID0gWm9uZS5fX3N5bWJvbF9fKCdVTlBBVENIRURfRVZFTlRTJyk7XG4gIGlmIChnbG9iYWxbU1lNQk9MX1VOUEFUQ0hFRF9FVkVOVFNdKSB7XG4gICAgZ2xvYmFsW1NZTUJPTF9CTEFDS19MSVNURURfRVZFTlRTXSA9IGdsb2JhbFtTWU1CT0xfVU5QQVRDSEVEX0VWRU5UU107XG4gIH1cbiAgaWYgKGdsb2JhbFtTWU1CT0xfQkxBQ0tfTElTVEVEX0VWRU5UU10pIHtcbiAgICAoWm9uZSBhcyBhbnkpW1NZTUJPTF9CTEFDS19MSVNURURfRVZFTlRTXSA9IChab25lIGFzIGFueSlbU1lNQk9MX1VOUEFUQ0hFRF9FVkVOVFNdID1cbiAgICAgICAgZ2xvYmFsW1NZTUJPTF9CTEFDS19MSVNURURfRVZFTlRTXTtcbiAgfVxuICBhcGkucGF0Y2hFdmVudFByb3RvdHlwZSA9IHBhdGNoRXZlbnRQcm90b3R5cGU7XG4gIGFwaS5wYXRjaEV2ZW50VGFyZ2V0ID0gcGF0Y2hFdmVudFRhcmdldDtcbiAgYXBpLmlzSUVPckVkZ2UgPSBpc0lFT3JFZGdlO1xuICBhcGkuT2JqZWN0RGVmaW5lUHJvcGVydHkgPSBPYmplY3REZWZpbmVQcm9wZXJ0eTtcbiAgYXBpLk9iamVjdEdldE93blByb3BlcnR5RGVzY3JpcHRvciA9IE9iamVjdEdldE93blByb3BlcnR5RGVzY3JpcHRvcjtcbiAgYXBpLk9iamVjdENyZWF0ZSA9IE9iamVjdENyZWF0ZTtcbiAgYXBpLkFycmF5U2xpY2UgPSBBcnJheVNsaWNlO1xuICBhcGkucGF0Y2hDbGFzcyA9IHBhdGNoQ2xhc3M7XG4gIGFwaS53cmFwV2l0aEN1cnJlbnRab25lID0gd3JhcFdpdGhDdXJyZW50Wm9uZTtcbiAgYXBpLmZpbHRlclByb3BlcnRpZXMgPSBmaWx0ZXJQcm9wZXJ0aWVzO1xuICBhcGkuYXR0YWNoT3JpZ2luVG9QYXRjaGVkID0gYXR0YWNoT3JpZ2luVG9QYXRjaGVkO1xuICBhcGkuX3JlZGVmaW5lUHJvcGVydHkgPSBPYmplY3QuZGVmaW5lUHJvcGVydHk7XG4gIGFwaS5wYXRjaENhbGxiYWNrcyA9IHBhdGNoQ2FsbGJhY2tzO1xuICBhcGkuZ2V0R2xvYmFsT2JqZWN0cyA9ICgpID0+XG4gICAgICAoe2dsb2JhbFNvdXJjZXMsIHpvbmVTeW1ib2xFdmVudE5hbWVzLCBldmVudE5hbWVzLCBpc0Jyb3dzZXIsIGlzTWl4LCBpc05vZGUsIFRSVUVfU1RSLFxuICAgICAgICBGQUxTRV9TVFIsIFpPTkVfU1lNQk9MX1BSRUZJWCwgQUREX0VWRU5UX0xJU1RFTkVSX1NUUiwgUkVNT1ZFX0VWRU5UX0xJU1RFTkVSX1NUUn0pO1xufSk7XG4iXX0=

@@ -12,3 +12,3 @@ /**

*/
/// <amd-module name="angular/packages/zone.js/lib/browser/browser-legacy" />
/// <amd-module name="zone.js/lib/browser/browser-legacy" />
export {};

@@ -18,3 +18,3 @@ /**

else if (typeof define === "function" && define.amd) {
define("angular/packages/zone.js/lib/browser/browser-legacy", ["require", "exports", "angular/packages/zone.js/lib/browser/define-property", "angular/packages/zone.js/lib/browser/event-target-legacy", "angular/packages/zone.js/lib/browser/property-descriptor-legacy", "angular/packages/zone.js/lib/browser/register-element"], factory);
define("zone.js/lib/browser/browser-legacy", ["require", "exports", "zone.js/lib/browser/define-property", "zone.js/lib/browser/event-target-legacy", "zone.js/lib/browser/property-descriptor-legacy", "zone.js/lib/browser/register-element"], factory);
}

@@ -24,6 +24,6 @@ })(function (require, exports) {

Object.defineProperty(exports, "__esModule", { value: true });
var define_property_1 = require("angular/packages/zone.js/lib/browser/define-property");
var event_target_legacy_1 = require("angular/packages/zone.js/lib/browser/event-target-legacy");
var property_descriptor_legacy_1 = require("angular/packages/zone.js/lib/browser/property-descriptor-legacy");
var register_element_1 = require("angular/packages/zone.js/lib/browser/register-element");
var define_property_1 = require("zone.js/lib/browser/define-property");
var event_target_legacy_1 = require("zone.js/lib/browser/event-target-legacy");
var property_descriptor_legacy_1 = require("zone.js/lib/browser/property-descriptor-legacy");
var register_element_1 = require("zone.js/lib/browser/register-element");
(function (_global) {

@@ -50,2 +50,2 @@ var symbolPrefix = _global['__Zone_symbol_prefix'] || '__zone_symbol__';

});
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnJvd3Nlci1sZWdhY3kuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy96b25lLmpzL2xpYi9icm93c2VyL2Jyb3dzZXItbGVnYWN5LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7R0FNRztBQUNIOzs7R0FHRzs7Ozs7Ozs7Ozs7O0lBRUgsd0ZBQW1FO0lBQ25FLGdHQUE2RDtJQUM3RCw4R0FBMkU7SUFDM0UsMEZBQXdEO0lBRXhELENBQUMsVUFBUyxPQUFZO1FBQ3BCLElBQU0sWUFBWSxHQUFHLE9BQU8sQ0FBQyxzQkFBc0IsQ0FBQyxJQUFJLGlCQUFpQixDQUFDO1FBQzFFLFNBQVMsVUFBVSxDQUFDLElBQVksSUFBSSxPQUFPLFlBQVksR0FBRyxJQUFJLENBQUMsQ0FBQyxDQUFDO1FBQ2pFLE9BQU8sQ0FBQyxVQUFVLENBQUMsYUFBYSxDQUFDLENBQUMsR0FBRztZQUNuQyxJQUFNLElBQUksR0FBRyxPQUFPLENBQUMsTUFBTSxDQUFDLENBQUM7WUFDN0IsSUFBSSxDQUFDLFlBQVksQ0FBQyxnQkFBZ0IsRUFBRSxVQUFDLE1BQVcsRUFBRSxJQUFjLEVBQUUsR0FBaUI7Z0JBQ2pGLEdBQUcsQ0FBQyxpQkFBaUIsR0FBRyxtQ0FBaUIsQ0FBQztnQkFDMUMsK0JBQWEsRUFBRSxDQUFDO1lBQ2xCLENBQUMsQ0FBQyxDQUFDO1lBQ0gsSUFBSSxDQUFDLFlBQVksQ0FBQyxpQkFBaUIsRUFBRSxVQUFDLE1BQVcsRUFBRSxJQUFjLEVBQUUsR0FBaUI7Z0JBQ2xGLHVDQUFvQixDQUFDLE1BQU0sRUFBRSxHQUFHLENBQUMsQ0FBQztZQUNwQyxDQUFDLENBQUMsQ0FBQztZQUVILElBQUksQ0FBQyxZQUFZLENBQUMsbUJBQW1CLEVBQUUsVUFBQyxNQUFXLEVBQUUsSUFBYyxFQUFFLEdBQWlCO2dCQUNwRiw0Q0FBc0IsQ0FBQyxNQUFNLEVBQUUsR0FBRyxDQUFDLENBQUM7Z0JBQ3BDLDBEQUE2QixDQUFDLEdBQUcsRUFBRSxNQUFNLENBQUMsQ0FBQztZQUM3QyxDQUFDLENBQUMsQ0FBQztRQUNMLENBQUMsQ0FBQztJQUNKLENBQUMsQ0FBQyxDQUFDLE9BQU8sTUFBTSxLQUFLLFdBQVcsQ0FBQyxDQUFDO1FBQzNCLE1BQU0sQ0FBQyxDQUFDO1FBQ1IsT0FBTyxNQUFNLEtBQUssV0FBVyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLE9BQU8sSUFBSSxLQUFLLFdBQVcsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogQGxpY2Vuc2VcbiAqIENvcHlyaWdodCBHb29nbGUgSW5jLiBBbGwgUmlnaHRzIFJlc2VydmVkLlxuICpcbiAqIFVzZSBvZiB0aGlzIHNvdXJjZSBjb2RlIGlzIGdvdmVybmVkIGJ5IGFuIE1JVC1zdHlsZSBsaWNlbnNlIHRoYXQgY2FuIGJlXG4gKiBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlIGF0IGh0dHBzOi8vYW5ndWxhci5pby9saWNlbnNlXG4gKi9cbi8qKlxuICogQGZpbGVvdmVydmlld1xuICogQHN1cHByZXNzIHttaXNzaW5nUmVxdWlyZX1cbiAqL1xuXG5pbXBvcnQge19yZWRlZmluZVByb3BlcnR5LCBwcm9wZXJ0eVBhdGNofSBmcm9tICcuL2RlZmluZS1wcm9wZXJ0eSc7XG5pbXBvcnQge2V2ZW50VGFyZ2V0TGVnYWN5UGF0Y2h9IGZyb20gJy4vZXZlbnQtdGFyZ2V0LWxlZ2FjeSc7XG5pbXBvcnQge3Byb3BlcnR5RGVzY3JpcHRvckxlZ2FjeVBhdGNofSBmcm9tICcuL3Byb3BlcnR5LWRlc2NyaXB0b3ItbGVnYWN5JztcbmltcG9ydCB7cmVnaXN0ZXJFbGVtZW50UGF0Y2h9IGZyb20gJy4vcmVnaXN0ZXItZWxlbWVudCc7XG5cbihmdW5jdGlvbihfZ2xvYmFsOiBhbnkpIHtcbiAgY29uc3Qgc3ltYm9sUHJlZml4ID0gX2dsb2JhbFsnX19ab25lX3N5bWJvbF9wcmVmaXgnXSB8fCAnX196b25lX3N5bWJvbF9fJztcbiAgZnVuY3Rpb24gX19zeW1ib2xfXyhuYW1lOiBzdHJpbmcpIHsgcmV0dXJuIHN5bWJvbFByZWZpeCArIG5hbWU7IH1cbiAgX2dsb2JhbFtfX3N5bWJvbF9fKCdsZWdhY3lQYXRjaCcpXSA9IGZ1bmN0aW9uKCkge1xuICAgIGNvbnN0IFpvbmUgPSBfZ2xvYmFsWydab25lJ107XG4gICAgWm9uZS5fX2xvYWRfcGF0Y2goJ2RlZmluZVByb3BlcnR5JywgKGdsb2JhbDogYW55LCBab25lOiBab25lVHlwZSwgYXBpOiBfWm9uZVByaXZhdGUpID0+IHtcbiAgICAgIGFwaS5fcmVkZWZpbmVQcm9wZXJ0eSA9IF9yZWRlZmluZVByb3BlcnR5O1xuICAgICAgcHJvcGVydHlQYXRjaCgpO1xuICAgIH0pO1xuICAgIFpvbmUuX19sb2FkX3BhdGNoKCdyZWdpc3RlckVsZW1lbnQnLCAoZ2xvYmFsOiBhbnksIFpvbmU6IFpvbmVUeXBlLCBhcGk6IF9ab25lUHJpdmF0ZSkgPT4ge1xuICAgICAgcmVnaXN0ZXJFbGVtZW50UGF0Y2goZ2xvYmFsLCBhcGkpO1xuICAgIH0pO1xuXG4gICAgWm9uZS5fX2xvYWRfcGF0Y2goJ0V2ZW50VGFyZ2V0TGVnYWN5JywgKGdsb2JhbDogYW55LCBab25lOiBab25lVHlwZSwgYXBpOiBfWm9uZVByaXZhdGUpID0+IHtcbiAgICAgIGV2ZW50VGFyZ2V0TGVnYWN5UGF0Y2goZ2xvYmFsLCBhcGkpO1xuICAgICAgcHJvcGVydHlEZXNjcmlwdG9yTGVnYWN5UGF0Y2goYXBpLCBnbG9iYWwpO1xuICAgIH0pO1xuICB9O1xufSkodHlwZW9mIHdpbmRvdyAhPT0gJ3VuZGVmaW5lZCcgP1xuICAgICAgIHdpbmRvdyA6XG4gICAgICAgdHlwZW9mIGdsb2JhbCAhPT0gJ3VuZGVmaW5lZCcgPyBnbG9iYWwgOiB0eXBlb2Ygc2VsZiAhPT0gJ3VuZGVmaW5lZCcgPyBzZWxmIDoge30pO1xuIl19
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnJvd3Nlci1sZWdhY3kuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy96b25lLmpzL2xpYi9icm93c2VyL2Jyb3dzZXItbGVnYWN5LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7R0FNRztBQUNIOzs7R0FHRzs7Ozs7Ozs7Ozs7O0lBRUgsdUVBQW1FO0lBQ25FLCtFQUE2RDtJQUM3RCw2RkFBMkU7SUFDM0UseUVBQXdEO0lBRXhELENBQUMsVUFBUyxPQUFZO1FBQ3BCLElBQU0sWUFBWSxHQUFHLE9BQU8sQ0FBQyxzQkFBc0IsQ0FBQyxJQUFJLGlCQUFpQixDQUFDO1FBQzFFLFNBQVMsVUFBVSxDQUFDLElBQVksSUFBSSxPQUFPLFlBQVksR0FBRyxJQUFJLENBQUMsQ0FBQyxDQUFDO1FBQ2pFLE9BQU8sQ0FBQyxVQUFVLENBQUMsYUFBYSxDQUFDLENBQUMsR0FBRztZQUNuQyxJQUFNLElBQUksR0FBRyxPQUFPLENBQUMsTUFBTSxDQUFDLENBQUM7WUFDN0IsSUFBSSxDQUFDLFlBQVksQ0FBQyxnQkFBZ0IsRUFBRSxVQUFDLE1BQVcsRUFBRSxJQUFjLEVBQUUsR0FBaUI7Z0JBQ2pGLEdBQUcsQ0FBQyxpQkFBaUIsR0FBRyxtQ0FBaUIsQ0FBQztnQkFDMUMsK0JBQWEsRUFBRSxDQUFDO1lBQ2xCLENBQUMsQ0FBQyxDQUFDO1lBQ0gsSUFBSSxDQUFDLFlBQVksQ0FBQyxpQkFBaUIsRUFBRSxVQUFDLE1BQVcsRUFBRSxJQUFjLEVBQUUsR0FBaUI7Z0JBQ2xGLHVDQUFvQixDQUFDLE1BQU0sRUFBRSxHQUFHLENBQUMsQ0FBQztZQUNwQyxDQUFDLENBQUMsQ0FBQztZQUVILElBQUksQ0FBQyxZQUFZLENBQUMsbUJBQW1CLEVBQUUsVUFBQyxNQUFXLEVBQUUsSUFBYyxFQUFFLEdBQWlCO2dCQUNwRiw0Q0FBc0IsQ0FBQyxNQUFNLEVBQUUsR0FBRyxDQUFDLENBQUM7Z0JBQ3BDLDBEQUE2QixDQUFDLEdBQUcsRUFBRSxNQUFNLENBQUMsQ0FBQztZQUM3QyxDQUFDLENBQUMsQ0FBQztRQUNMLENBQUMsQ0FBQztJQUNKLENBQUMsQ0FBQyxDQUFDLE9BQU8sTUFBTSxLQUFLLFdBQVcsQ0FBQyxDQUFDO1FBQzNCLE1BQU0sQ0FBQyxDQUFDO1FBQ1IsT0FBTyxNQUFNLEtBQUssV0FBVyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLE9BQU8sSUFBSSxLQUFLLFdBQVcsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogQGxpY2Vuc2VcbiAqIENvcHlyaWdodCBHb29nbGUgSW5jLiBBbGwgUmlnaHRzIFJlc2VydmVkLlxuICpcbiAqIFVzZSBvZiB0aGlzIHNvdXJjZSBjb2RlIGlzIGdvdmVybmVkIGJ5IGFuIE1JVC1zdHlsZSBsaWNlbnNlIHRoYXQgY2FuIGJlXG4gKiBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlIGF0IGh0dHBzOi8vYW5ndWxhci5pby9saWNlbnNlXG4gKi9cbi8qKlxuICogQGZpbGVvdmVydmlld1xuICogQHN1cHByZXNzIHttaXNzaW5nUmVxdWlyZX1cbiAqL1xuXG5pbXBvcnQge19yZWRlZmluZVByb3BlcnR5LCBwcm9wZXJ0eVBhdGNofSBmcm9tICcuL2RlZmluZS1wcm9wZXJ0eSc7XG5pbXBvcnQge2V2ZW50VGFyZ2V0TGVnYWN5UGF0Y2h9IGZyb20gJy4vZXZlbnQtdGFyZ2V0LWxlZ2FjeSc7XG5pbXBvcnQge3Byb3BlcnR5RGVzY3JpcHRvckxlZ2FjeVBhdGNofSBmcm9tICcuL3Byb3BlcnR5LWRlc2NyaXB0b3ItbGVnYWN5JztcbmltcG9ydCB7cmVnaXN0ZXJFbGVtZW50UGF0Y2h9IGZyb20gJy4vcmVnaXN0ZXItZWxlbWVudCc7XG5cbihmdW5jdGlvbihfZ2xvYmFsOiBhbnkpIHtcbiAgY29uc3Qgc3ltYm9sUHJlZml4ID0gX2dsb2JhbFsnX19ab25lX3N5bWJvbF9wcmVmaXgnXSB8fCAnX196b25lX3N5bWJvbF9fJztcbiAgZnVuY3Rpb24gX19zeW1ib2xfXyhuYW1lOiBzdHJpbmcpIHsgcmV0dXJuIHN5bWJvbFByZWZpeCArIG5hbWU7IH1cbiAgX2dsb2JhbFtfX3N5bWJvbF9fKCdsZWdhY3lQYXRjaCcpXSA9IGZ1bmN0aW9uKCkge1xuICAgIGNvbnN0IFpvbmUgPSBfZ2xvYmFsWydab25lJ107XG4gICAgWm9uZS5fX2xvYWRfcGF0Y2goJ2RlZmluZVByb3BlcnR5JywgKGdsb2JhbDogYW55LCBab25lOiBab25lVHlwZSwgYXBpOiBfWm9uZVByaXZhdGUpID0+IHtcbiAgICAgIGFwaS5fcmVkZWZpbmVQcm9wZXJ0eSA9IF9yZWRlZmluZVByb3BlcnR5O1xuICAgICAgcHJvcGVydHlQYXRjaCgpO1xuICAgIH0pO1xuICAgIFpvbmUuX19sb2FkX3BhdGNoKCdyZWdpc3RlckVsZW1lbnQnLCAoZ2xvYmFsOiBhbnksIFpvbmU6IFpvbmVUeXBlLCBhcGk6IF9ab25lUHJpdmF0ZSkgPT4ge1xuICAgICAgcmVnaXN0ZXJFbGVtZW50UGF0Y2goZ2xvYmFsLCBhcGkpO1xuICAgIH0pO1xuXG4gICAgWm9uZS5fX2xvYWRfcGF0Y2goJ0V2ZW50VGFyZ2V0TGVnYWN5JywgKGdsb2JhbDogYW55LCBab25lOiBab25lVHlwZSwgYXBpOiBfWm9uZVByaXZhdGUpID0+IHtcbiAgICAgIGV2ZW50VGFyZ2V0TGVnYWN5UGF0Y2goZ2xvYmFsLCBhcGkpO1xuICAgICAgcHJvcGVydHlEZXNjcmlwdG9yTGVnYWN5UGF0Y2goYXBpLCBnbG9iYWwpO1xuICAgIH0pO1xuICB9O1xufSkodHlwZW9mIHdpbmRvdyAhPT0gJ3VuZGVmaW5lZCcgP1xuICAgICAgIHdpbmRvdyA6XG4gICAgICAgdHlwZW9mIGdsb2JhbCAhPT0gJ3VuZGVmaW5lZCcgPyBnbG9iYWwgOiB0eXBlb2Ygc2VsZiAhPT0gJ3VuZGVmaW5lZCcgPyBzZWxmIDoge30pO1xuIl19

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

/// <amd-module name="angular/packages/zone.js/lib/browser/browser-util" />
/// <amd-module name="zone.js/lib/browser/browser-util" />
/**

@@ -3,0 +3,0 @@ * @license

@@ -7,3 +7,3 @@ (function (factory) {

else if (typeof define === "function" && define.amd) {
define("angular/packages/zone.js/lib/browser/browser-util", ["require", "exports"], factory);
define("zone.js/lib/browser/browser-util", ["require", "exports"], factory);
}

@@ -10,0 +10,0 @@ })(function (require, exports) {

@@ -12,3 +12,3 @@ /**

*/
/// <amd-module name="angular/packages/zone.js/lib/browser/browser" />
/// <amd-module name="zone.js/lib/browser/browser" />
export {};

@@ -18,3 +18,3 @@ /**

else if (typeof define === "function" && define.amd) {
define("angular/packages/zone.js/lib/browser/browser", ["require", "exports", "angular/packages/zone.js/lib/common/events", "angular/packages/zone.js/lib/common/timers", "angular/packages/zone.js/lib/common/utils", "angular/packages/zone.js/lib/browser/custom-elements", "angular/packages/zone.js/lib/browser/event-target", "angular/packages/zone.js/lib/browser/property-descriptor"], factory);
define("zone.js/lib/browser/browser", ["require", "exports", "zone.js/lib/common/events", "zone.js/lib/common/timers", "zone.js/lib/common/utils", "zone.js/lib/browser/custom-elements", "zone.js/lib/browser/event-target", "zone.js/lib/browser/property-descriptor"], factory);
}

@@ -24,8 +24,8 @@ })(function (require, exports) {

Object.defineProperty(exports, "__esModule", { value: true });
var events_1 = require("angular/packages/zone.js/lib/common/events");
var timers_1 = require("angular/packages/zone.js/lib/common/timers");
var utils_1 = require("angular/packages/zone.js/lib/common/utils");
var custom_elements_1 = require("angular/packages/zone.js/lib/browser/custom-elements");
var event_target_1 = require("angular/packages/zone.js/lib/browser/event-target");
var property_descriptor_1 = require("angular/packages/zone.js/lib/browser/property-descriptor");
var events_1 = require("zone.js/lib/common/events");
var timers_1 = require("zone.js/lib/common/timers");
var utils_1 = require("zone.js/lib/common/utils");
var custom_elements_1 = require("zone.js/lib/browser/custom-elements");
var event_target_1 = require("zone.js/lib/browser/event-target");
var property_descriptor_1 = require("zone.js/lib/browser/property-descriptor");
Zone.__load_patch('legacy', function (global) {

@@ -258,2 +258,2 @@ var legacyPatch = global[Zone.__symbol__('legacyPatch')];

});
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnJvd3Nlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL3pvbmUuanMvbGliL2Jyb3dzZXIvYnJvd3Nlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7O0dBTUc7QUFDSDs7O0dBR0c7Ozs7Ozs7Ozs7OztJQUVILHFFQUFnRDtJQUNoRCxxRUFBNEM7SUFDNUMsbUVBQXlMO0lBRXpMLHdGQUFzRDtJQUN0RCxrRkFBNEQ7SUFDNUQsZ0dBQThEO0lBRTlELElBQUksQ0FBQyxZQUFZLENBQUMsUUFBUSxFQUFFLFVBQUMsTUFBVztRQUN0QyxJQUFNLFdBQVcsR0FBRyxNQUFNLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxhQUFhLENBQUMsQ0FBQyxDQUFDO1FBQzNELElBQUksV0FBVyxFQUFFO1lBQ2YsV0FBVyxFQUFFLENBQUM7U0FDZjtJQUNILENBQUMsQ0FBQyxDQUFDO0lBRUgsSUFBSSxDQUFDLFlBQVksQ0FBQyxRQUFRLEVBQUUsVUFBQyxNQUFXO1FBQ3RDLElBQU0sR0FBRyxHQUFHLEtBQUssQ0FBQztRQUNsQixJQUFNLEtBQUssR0FBRyxPQUFPLENBQUM7UUFDdEIsbUJBQVUsQ0FBQyxNQUFNLEVBQUUsR0FBRyxFQUFFLEtBQUssRUFBRSxTQUFTLENBQUMsQ0FBQztRQUMxQyxtQkFBVSxDQUFDLE1BQU0sRUFBRSxHQUFHLEVBQUUsS0FBSyxFQUFFLFVBQVUsQ0FBQyxDQUFDO1FBQzNDLG1CQUFVLENBQUMsTUFBTSxFQUFFLEdBQUcsRUFBRSxLQUFLLEVBQUUsV0FBVyxDQUFDLENBQUM7SUFDOUMsQ0FBQyxDQUFDLENBQUM7SUFFSCxJQUFJLENBQUMsWUFBWSxDQUFDLHVCQUF1QixFQUFFLFVBQUMsTUFBVztRQUNyRCxtQkFBVSxDQUFDLE1BQU0sRUFBRSxTQUFTLEVBQUUsUUFBUSxFQUFFLGdCQUFnQixDQUFDLENBQUM7UUFDMUQsbUJBQVUsQ0FBQyxNQUFNLEVBQUUsWUFB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QUMsQ0FBQyxDQUFDO3dCQUMxRixTQUFTLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxDQUFDO3FCQUN2QjtnQkFDSCxDQUFDLENBQUMsQ0FBQztZQUNMLENBQUMsQ0FBQztRQUNKLENBQUM7UUFFRCxJQUFJLE1BQU0sQ0FBQyx1QkFBdUIsQ0FBQyxFQUFFO1lBQ2xDLElBQVksQ0FBQyxrQkFBVSxDQUFDLGtDQUFrQyxDQUFDLENBQUM7Z0JBQ3pELDJCQUEyQixDQUFDLG9CQUFvQixDQUFDLENBQUM7WUFFckQsSUFBWSxDQUFDLGtCQUFVLENBQUMseUJBQXlCLENBQUMsQ0FBQztnQkFDaEQsMkJBQTJCLENBQUMsa0JBQWtCLENBQUMsQ0FBQztTQUNyRDtJQUNILENBQUMsQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBAbGljZW5zZVxuICogQ29weXJpZ2h0IEdvb2dsZSBJbmMuIEFsbCBSaWdodHMgUmVzZXJ2ZWQuXG4gKlxuICogVXNlIG9mIHRoaXMgc291cmNlIGNvZGUgaXMgZ292ZXJuZWQgYnkgYW4gTUlULXN0eWxlIGxpY2Vuc2UgdGhhdCBjYW4gYmVcbiAqIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUgYXQgaHR0cHM6Ly9hbmd1bGFyLmlvL2xpY2Vuc2VcbiAqL1xuLyoqXG4gKiBAZmlsZW92ZXJ2aWV3XG4gKiBAc3VwcHJlc3Mge21pc3NpbmdSZXF1aXJlfVxuICovXG5cbmltcG9ydCB7ZmluZEV2ZW50VGFza3N9IGZyb20gJy4uL2NvbW1vbi9ldmVudHMnO1xuaW1wb3J0IHtwYXRjaFRpbWVyfSBmcm9tICcuLi9jb21tb24vdGltZXJzJztcbmltcG9ydCB7Wk9ORV9TWU1CT0xfQUREX0VWRU5UX0xJU1RFTkVSLCBaT05FX1NZTUJPTF9SRU1PVkVfRVZFTlRfTElTVEVORVIsIHBhdGNoQ2xhc3MsIHBhdGNoTWV0aG9kLCBwYXRjaFByb3RvdHlwZSwgc2NoZWR1bGVNYWNyb1Rhc2tXaXRoQ3VycmVudFpvbmUsIHpvbmVTeW1ib2x9IGZyb20gJy4uL2NvbW1vbi91dGlscyc7XG5cbmltcG9ydCB7cGF0Y2hDdXN0b21FbGVtZW50c30gZnJvbSAnLi9jdXN0b20tZWxlbWVudHMnO1xuaW1wb3J0IHtldmVudFRhcmdldFBhdGNoLCBwYXRjaEV2ZW50fSBmcm9tICcuL2V2ZW50LXRhcmdldCc7XG5pbXBvcnQge3Byb3BlcnR5RGVzY3JpcHRvclBhdGNofSBmcm9tICcuL3Byb3BlcnR5LWRlc2NyaXB0b3InO1xuXG5ab25lLl9fbG9hZF9wYXRjaCgnbGVnYWN5JywgKGdsb2JhbDogYW55KSA9PiB7XG4gIGNvbnN0IGxlZ2FjeVBhdGNoID0gZ2xvYmFsW1pvbmUuX19zeW1ib2xfXygnbGVnYWN5UGF0Y2gnKV07XG4gIGlmIChsZWdhY3lQYXRjaCkge1xuICAgIGxlZ2FjeVBhdGNoKCk7XG4gIH1cbn0pO1xuXG5ab25lLl9fbG9hZF9wYXRjaCgndGltZXJzJywgKGdsb2JhbDogYW55KSA9PiB7XG4gIGNvbnN0IHNldCA9ICdzZXQnO1xuICBjb25zdCBjbGVhciA9ICdjbGVhcic7XG4gIHBhdGNoVGltZXIoZ2xvYmFsLCBzZXQsIGNsZWFyLCAnVGltZW91dCcpO1xuICBwYXRjaFRpbWVyKGdsb2JhbCwgc2V0LCBjbGVhciwgJ0ludGVydmFsJyk7XG4gIHBhdGNoVGltZXIoZ2xvYmFsLCBzZXQsIGNsZWFyLCAnSW1tZWRpYXRlJyk7XG59KTtcblxuWm9uZS5fX2xvYWRfcGF0Y2goJ3JlcXVlc3RBbmltYXRpb25GcmFtZScsIChnbG9iYWw6IGFueSkgPT4ge1xuICBwYXRjaFRpbWVyKGdsb2JhbCwgJ3JlcXVlc3QnLCAnY2FuY2VsJywgJ0FuaW1hdGlvbkZyYW1lJyk7XG4gIHBhdGNoVGltZXIoZ2xvYmFsLCAnbW96UmVxdWVzdCcsICdtb3pDYW5jZWwnLCAnQW5pbWF0aW9uRnJhbWUnKTtcbiAgcGF0Y2hUaW1lcihnbG9iYWwsICd3ZWJraXRSZXF1ZXN0JywgJ3dlYmtpdENhbmNlbCcsICdBbmltYXRpb25GcmFtZScpO1xufSk7XG5cblpvbmUuX19sb2FkX3BhdGNoKCdibG9ja2luZycsIChnbG9iYWw6IGFueSwgWm9uZTogWm9uZVR5cGUpID0+IHtcbiAgY29uc3QgYmxvY2tpbmdNZXRob2RzID0gWydhbGVydCcsICdwcm9tcHQnLCAnY29uZmlybSddO1xuICBmb3IgKGxldCBpID0gMDsgaSA8IGJsb2NraW5nTWV0aG9kcy5sZW5ndGg7IGkrKykge1xuICAgIGNvbnN0IG5hbWUgPSBibG9ja2luZ01ldGhvZHNbaV07XG4gICAgcGF0Y2hNZXRob2QoZ2xvYmFsLCBuYW1lLCAoZGVsZWdhdGUsIHN5bWJvbCwgbmFtZSkgPT4ge1xuICAgICAgcmV0dXJuIGZ1bmN0aW9uKHM6IGFueSwgYXJnczogYW55W10pIHtcbiAgICAgICAgcmV0dXJuIFpvbmUuY3VycmVudC5ydW4oZGVsZWdhdGUsIGdsb2JhbCwgYXJncywgbmFtZSk7XG4gICAgICB9O1xuICAgIH0pO1xuICB9XG59KTtcblxuWm9uZS5fX2xvYWRfcGF0Y2goJ0V2ZW50VGFyZ2V0JywgKGdsb2JhbDogYW55LCBab25lOiBab25lVHlwZSwgYXBpOiBfWm9uZVByaXZhdGUpID0+IHtcbiAgcGF0Y2hFdmVudChnbG9iYWwsIGFwaSk7XG4gIGV2ZW50VGFyZ2V0UGF0Y2goZ2xvYmFsLCBhcGkpO1xuICAvLyBwYXRjaCBYTUxIdHRwUmVxdWVzdEV2ZW50VGFyZ2V0J3MgYWRkRXZlbnRMaXN0ZW5lci9yZW1vdmVFdmVudExpc3RlbmVyXG4gIGNvbnN0IFhNTEh0dHBSZXF1ZXN0RXZlbnRUYXJnZXQgPSAoZ2xvYmFsIGFzIGFueSlbJ1hNTEh0dHBSZXF1ZXN0RXZlbnRUYXJnZXQnXTtcbiAgaWYgKFhNTEh0dHBSZXF1ZXN0RXZlbnRUYXJnZXQgJiYgWE1MSHR0cFJlcXVlc3RFdmVudFRhcmdldC5wcm90b3R5cGUpIHtcbiAgICBhcGkucGF0Y2hFdmVudFRhcmdldChnbG9iYWwsIFtYTUxIdHRwUmVxdWVzdEV2ZW50VGFyZ2V0LnByb3RvdHlwZV0pO1xuICB9XG4gIHBhdGNoQ2xhc3MoJ011dGF0aW9uT2JzZXJ2ZXInKTtcbiAgcGF0Y2hDbGFzcygnV2ViS2l0TXV0YXRpb25PYnNlcnZlcicpO1xuICBwYXRjaENsYXNzKCdJbnRlcnNlY3Rpb25PYnNlcnZlcicpO1xuICBwYXRjaENsYXNzKCdGaWxlUmVhZGVyJyk7XG59KTtcblxuWm9uZS5fX2xvYWRfcGF0Y2goJ29uX3Byb3BlcnR5JywgKGdsb2JhbDogYW55LCBab25lOiBab25lVHlwZSwgYXBpOiBfWm9uZVByaXZhdGUpID0+IHtcbiAgcHJvcGVydHlEZXNjcmlwdG9yUGF0Y2goYXBpLCBnbG9iYWwpO1xufSk7XG5cblpvbmUuX19sb2FkX3BhdGNoKCdjdXN0b21FbGVtZW50cycsIChnbG9iYWw6IGFueSwgWm9uZTogWm9uZVR5cGUsIGFwaTogX1pvbmVQcml2YXRlKSA9PiB7XG4gIHBhdGNoQ3VzdG9tRWxlbWVudHMoZ2xvYmFsLCBhcGkpO1xufSk7XG5cblpvbmUuX19sb2FkX3BhdGNoKCdYSFInLCAoZ2xvYmFsOiBhbnksIFpvbmU6IFpvbmVUeXBlKSA9PiB7XG4gIC8vIFRyZWF0IFhNTEh0dHBSZXF1ZXN0IGFzIGEgbWFjcm90YXNrLlxuICBwYXRjaFhIUihnbG9iYWwpO1xuXG4gIGNvbnN0IFhIUl9UQVNLID0gem9uZVN5bWJvbCgneGhyVGFzaycpO1xuICBjb25zdCBYSFJfU1lOQyA9IHpvbmVTeW1ib2woJ3hoclN5bmMnKTtcbiAgY29uc3QgWEhSX0xJU1RFTkVSID0gem9uZVN5bWJvbCgneGhyTGlzdGVuZXInKTtcbiAgY29uc3QgWEhSX1NDSEVEVUxFRCA9IHpvbmVTeW1ib2woJ3hoclNjaGVkdWxlZCcpO1xuICBjb25zdCBYSFJfVVJMID0gem9uZVN5bWJvbCgneGhyVVJMJyk7XG4gIGNvbnN0IFhIUl9FUlJPUl9CRUZPUkVfU0NIRURVTEVEID0gem9uZVN5bWJvbCgneGhyRXJyb3JCZWZvcmVTY2hlZHVsZWQnKTtcblxuICBpbnRlcmZhY2UgWEhST3B0aW9ucyBleHRlbmRzIFRhc2tEYXRhIHtcbiAgICB0YXJnZXQ6IGFueTtcbiAgICB1cmw6IHN0cmluZztcbiAgICBhcmdzOiBhbnlbXTtcbiAgICBhYm9ydGVkOiBib29sZWFuO1xuICB9XG5cbiAgZnVuY3Rpb24gcGF0Y2hYSFIod2luZG93OiBhbnkpIHtcbiAgICBjb25zdCBYTUxIdHRwUmVxdWVzdCA9IHdpbmRvd1snWE1MSHR0cFJlcXVlc3QnXTtcbiAgICBpZiAoIVhNTEh0dHBSZXF1ZXN0KSB7XG4gICAgICAvLyBYTUxIdHRwUmVxdWVzdCBpcyBub3QgYXZhaWxhYmxlIGluIHNlcnZpY2Ugd29ya2VyXG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIGNvbnN0IFhNTEh0dHBSZXF1ZXN0UHJvdG90eXBlOiBhbnkgPSBYTUxIdHRwUmVxdWVzdC5wcm90b3R5cGU7XG5cbiAgICBmdW5jdGlvbiBmaW5kUGVuZGluZ1Rhc2sodGFyZ2V0OiBhbnkpIHsgcmV0dXJuIHRhcmdldFtYSFJfVEFTS107IH1cblxuICAgIGxldCBvcmlBZGRMaXN0ZW5lciA9IFhNTEh0dHBSZXF1ZXN0UHJvdG90eXBlW1pPTkVfU1lNQk9MX0FERF9FVkVOVF9MSVNURU5FUl07XG4gICAgbGV0IG9yaVJlbW92ZUxpc3RlbmVyID0gWE1MSHR0cFJlcXVlc3RQcm90b3R5cGVbWk9ORV9TWU1CT0xfUkVNT1ZFX0VWRU5UX0xJU1RFTkVSXTtcbiAgICBpZiAoIW9yaUFkZExpc3RlbmVyKSB7XG4gICAgICBjb25zdCBYTUxIdHRwUmVxdWVzdEV2ZW50VGFyZ2V0ID0gd2luZG93WydYTUxIdHRwUmVxdWVzdEV2ZW50VGFyZ2V0J107XG4gICAgICBpZiAoWE1MSHR0cFJlcXVlc3RFdmVudFRhcmdldCkge1xuICAgICAgICBjb25zdCBYTUxIdHRwUmVxdWVzdEV2ZW50VGFyZ2V0UHJvdG90eXBlID0gWE1MSHR0cFJlcXVlc3RFdmVudFRhcmdldC5wcm90b3R5cGU7XG4gICAgICAgIG9yaUFkZExpc3RlbmVyID0gWE1MSHR0cFJlcXVlc3RFdmVudFRhcmdldFByb3RvdHlwZVtaT05FX1NZTUJPTF9BRERfRVZFTlRfTElTVEVORVJdO1xuICAgICAgICBvcmlSZW1vdmVMaXN0ZW5lciA9IFhNTEh0dHBSZXF1ZXN0RXZlbnRUYXJnZXRQcm90b3R5cGVbWk9ORV9TWU1CT0xfUkVNT1ZFX0VWRU5UX0xJU1RFTkVSXTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBjb25zdCBSRUFEWV9TVEFURV9DSEFOR0UgPSAncmVhZHlzdGF0ZWNoYW5nZSc7XG4gICAgY29uc3QgU0NIRURVTEVEID0gJ3NjaGVkdWxlZCc7XG5cbiAgICBmdW5jdGlvbiBzY2hlZHVsZVRhc2sodGFzazogVGFzaykge1xuICAgICAgY29uc3QgZGF0YSA9IDxYSFJPcHRpb25zPnRhc2suZGF0YTtcbiAgICAgIGNvbnN0IHRhcmdldCA9IGRhdGEudGFyZ2V0O1xuICAgICAgdGFyZ2V0W1hIUl9TQ0hFRFVMRURdID0gZmFsc2U7XG4gICAgICB0YXJnZXRbWEhSX0VSUk9SX0JFRk9SRV9TQ0hFRFVMRURdID0gZmFsc2U7XG4gICAgICAvLyByZW1vdmUgZXhpc3RpbmcgZXZlbnQgbGlzdGVuZXJcbiAgICAgIGNvbnN0IGxpc3RlbmVyID0gdGFyZ2V0W1hIUl9MSVNURU5FUl07XG4gICAgICBpZiAoIW9yaUFkZExpc3RlbmVyKSB7XG4gICAgICAgIG9yaUFkZExpc3RlbmVyID0gdGFyZ2V0W1pPTkVfU1lNQk9MX0FERF9FVkVOVF9MSVNURU5FUl07XG4gICAgICAgIG9yaVJlbW92ZUxpc3RlbmVyID0gdGFyZ2V0W1pPTkVfU1lNQk9MX1JFTU9WRV9FVkVOVF9MSVNURU5FUl07XG4gICAgICB9XG5cbiAgICAgIGlmIChsaXN0ZW5lcikge1xuICAgICAgICBvcmlSZW1vdmVMaXN0ZW5lci5jYWxsKHRhcmdldCwgUkVBRFlfU1RBVEVfQ0hBTkdFLCBsaXN0ZW5lcik7XG4gICAgICB9XG4gICAgICBjb25zdCBuZXdMaXN0ZW5lciA9IHRhcmdldFtYSFJfTElTVEVORVJdID0gKCkgPT4ge1xuICAgICAgICBpZiAodGFyZ2V0LnJlYWR5U3RhdGUgPT09IHRhcmdldC5ET05FKSB7XG4gICAgICAgICAgLy8gc29tZXRpbWVzIG9uIHNvbWUgYnJvd3NlcnMgWE1MSHR0cFJlcXVlc3Qgd2lsbCBmaXJlIG9ucmVhZHlzdGF0ZWNoYW5nZSB3aXRoXG4gICAgICAgICAgLy8gcmVhZHlTdGF0ZT00IG11bHRpcGxlIHRpbWVzLCBzbyB3ZSBuZWVkIHRvIGNoZWNrIHRhc2sgc3RhdGUgaGVyZVxuICAgICAgICAgIGlmICghZGF0YS5hYm9ydGVkICYmIHRhcmdldFtYSFJfU0NIRURVTEVEXSAmJiB0YXNrLnN0YXRlID09PSBTQ0hFRFVMRUQpIHtcbiAgICAgICAgICAgIC8vIGNoZWNrIHdoZXRoZXIgdGhlIHhociBoYXMgcmVnaXN0ZXJlZCBvbmxvYWQgbGlzdGVuZXJcbiAgICAgICAgICAgIC8vIGlmIHRoYXQgaXMgdGhlIGNhc2UsIHRoZSB0YXNrIHNob3VsZCBpbnZva2UgYWZ0ZXIgYWxsXG4gICAgICAgICAgICAvLyBvbmxvYWQgbGlzdGVuZXJzIGZpbmlzaC5cbiAgICAgICAgICAgIGNvbnN0IGxvYWRUYXNrcyA9IHRhcmdldFtab25lLl9fc3ltYm9sX18oJ2xvYWRmYWxzZScpXTtcbiAgICAgICAgICAgIGlmIChsb2FkVGFza3MgJiYgbG9hZFRhc2tzLmxlbmd0aCA+IDApIHtcbiAgICAgICAgICAgICAgY29uc3Qgb3JpSW52b2tlID0gdGFzay5pbnZva2U7XG4gICAgICAgICAgICAgIHRhc2suaW52b2tlID0gZnVuY3Rpb24oKSB7XG4gICAgICAgICAgICAgICAgLy8gbmVlZCB0byBsb2FkIHRoZSB0YXNrcyBhZ2FpbiwgYmVjYXVzZSBpbiBvdGhlclxuICAgICAgICAgICAgICAgIC8vIGxvYWQgbGlzdGVuZXIsIHRoZXkgbWF5IHJlbW92ZSB0aGVtc2VsdmVzXG4gICAgICAgICAgICAgICAgY29uc3QgbG9hZFRhc2tzID0gdGFyZ2V0W1pvbmUuX19zeW1ib2xfXygnbG9hZGZhbHNlJyldO1xuICAgICAgICAgICAgICAgIGZvciAobGV0IGkgPSAwOyBpIDwgbG9hZFRhc2tzLmxlbmd0aDsgaSsrKSB7XG4gICAgICAgICAgICAgICAgICBpZiAobG9hZFRhc2tzW2ldID09PSB0YXNrKSB7XG4gICAgICAgICAgICAgICAgICAgIGxvYWRUYXNrcy5zcGxpY2UoaSwgMSk7XG4gICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGlmICghZGF0YS5hYm9ydGVkICYmIHRhc2suc3RhdGUgPT09IFNDSEVEVUxFRCkge1xuICAgICAgICAgICAgICAgICAgb3JpSW52b2tlLmNhbGwodGFzayk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICB9O1xuICAgICAgICAgICAgICBsb2FkVGFza3MucHVzaCh0YXNrKTtcbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgIHRhc2suaW52b2tlKCk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfSBlbHNlIGlmICghZGF0YS5hYm9ydGVkICYmIHRhcmdldFtYSFJfU0NIRURVTEVEXSA9PT0gZmFsc2UpIHtcbiAgICAgICAgICAgIC8vIGVycm9yIG9jY3VycyB3aGVuIHhoci5zZW5kKClcbiAgICAgICAgICAgIHRhcmdldFtYSFJfRVJST1JfQkVGT1JFX1NDSEVEVUxFRF0gPSB0cnVlO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfTtcbiAgICAgIG9yaUFkZExpc3RlbmVyLmNhbGwodGFyZ2V0LCBSRUFEWV9TVEFURV9DSEFOR0UsIG5ld0xpc3RlbmVyKTtcblxuICAgICAgY29uc3Qgc3RvcmVkVGFzazogVGFzayA9IHRhcmdldFtYSFJfVEFTS107XG4gICAgICBpZiAoIXN0b3JlZFRhc2spIHtcbiAgICAgICAgdGFyZ2V0W1hIUl9UQVNLXSA9IHRhc2s7XG4gICAgICB9XG4gICAgICBzZW5kTmF0aXZlICEuYXBwbHkodGFyZ2V0LCBkYXRhLmFyZ3MpO1xuICAgICAgdGFyZ2V0W1hIUl9TQ0hFRFVMRURdID0gdHJ1ZTtcbiAgICAgIHJldHVybiB0YXNrO1xuICAgIH1cblxuICAgIGZ1bmN0aW9uIHBsYWNlaG9sZGVyQ2FsbGJhY2soKSB7fVxuXG4gICAgZnVuY3Rpb24gY2xlYXJUYXNrKHRhc2s6IFRhc2spIHtcbiAgICAgIGNvbnN0IGRhdGEgPSA8WEhST3B0aW9ucz50YXNrLmRhdGE7XG4gICAgICAvLyBOb3RlIC0gaWRlYWxseSwgd2Ugd291bGQgY2FsbCBkYXRhLnRhcmdldC5yZW1vdmVFdmVudExpc3RlbmVyIGhlcmUsIGJ1dCBpdCdzIHRvbyBsYXRlXG4gICAgICAvLyB0byBwcmV2ZW50IGl0IGZyb20gZmlyaW5nLiBTbyBpbnN0ZWFkLCB3ZSBzdG9yZSBpbmZvIGZvciB0aGUgZXZlbnQgbGlzdGVuZXIuXG4gICAgICBkYXRhLmFib3J0ZWQgPSB0cnVlO1xuICAgICAgcmV0dXJuIGFib3J0TmF0aXZlICEuYXBwbHkoZGF0YS50YXJnZXQsIGRhdGEuYXJncyk7XG4gICAgfVxuXG4gICAgY29uc3Qgb3Blbk5hdGl2ZSA9XG4gICAgICAgIHBhdGNoTWV0aG9kKFhNTEh0dHBSZXF1ZXN0UHJvdG90eXBlLCAnb3BlbicsICgpID0+IGZ1bmN0aW9uKHNlbGY6IGFueSwgYXJnczogYW55W10pIHtcbiAgICAgICAgICBzZWxmW1hIUl9TWU5DXSA9IGFyZ3NbMl0gPT0gZmFsc2U7XG4gICAgICAgICAgc2VsZltYSFJfVVJMXSA9IGFyZ3NbMV07XG4gICAgICAgICAgcmV0dXJuIG9wZW5OYXRpdmUgIS5hcHBseShzZWxmLCBhcmdzKTtcbiAgICAgICAgfSk7XG5cbiAgICBjb25zdCBYTUxIVFRQUkVRVUVTVF9TT1VSQ0UgPSAnWE1MSHR0cFJlcXVlc3Quc2VuZCc7XG4gICAgY29uc3QgZmV0Y2hUYXNrQWJvcnRpbmcgPSB6b25lU3ltYm9sKCdmZXRjaFRhc2tBYm9ydGluZycpO1xuICAgIGNvbnN0IGZldGNoVGFza1NjaGVkdWxpbmcgPSB6b25lU3ltYm9sKCdmZXRjaFRhc2tTY2hlZHVsaW5nJyk7XG4gICAgY29uc3Qgc2VuZE5hdGl2ZTogRnVuY3Rpb258bnVsbCA9XG4gICAgICAgIHBhdGNoTWV0aG9kKFhNTEh0dHBSZXF1ZXN0UHJvdG90eXBlLCAnc2VuZCcsICgpID0+IGZ1bmN0aW9uKHNlbGY6IGFueSwgYXJnczogYW55W10pIHtcbiAgICAgICAgICBpZiAoKFpvbmUuY3VycmVudCBhcyBhbnkpW2ZldGNoVGFza1NjaGVkdWxpbmddID09PSB0cnVlKSB7XG4gICAgICAgICAgICAvLyBhIGZldGNoIGlzIHNjaGVkdWxpbmcsIHNvIHdlIGFyZSB1c2luZyB4aHIgdG8gcG9seWZpbGwgZmV0Y2hcbiAgICAgICAgICAgIC8vIGFuZCBiZWNhdXNlIHdlIGFscmVhZHkgc2NoZWR1bGUgbWFjcm9UYXNrIGZvciBmZXRjaCwgd2Ugc2hvdWxkXG4gICAgICAgICAgICAvLyBub3Qgc2NoZWR1bGUgYSBtYWNyb1Rhc2sgZm9yIHhociBhZ2FpblxuICAgICAgICAgICAgcmV0dXJuIHNlbmROYXRpdmUgIS5hcHBseShzZWxmLCBhcmdzKTtcbiAgICAgICAgICB9XG4gICAgICAgICAgaWYgKHNlbGZbWEhSX1NZTkNdKSB7XG4gICAgICAgICAgICAvLyBpZiB0aGUgWEhSIGlzIHN5bmMgdGhlcmUgaXMgbm8gdGFzayB0byBzY2hlZHVsZSwganVzdCBleGVjdXRlIHRoZSBjb2RlLlxuICAgICAgICAgICAgcmV0dXJuIHNlbmROYXRpdmUgIS5hcHBseShzZWxmLCBhcmdzKTtcbiAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgY29uc3Qgb3B0aW9uczogWEhST3B0aW9ucyA9XG4gICAgICAgICAgICAgICAge3RhcmdldDogc2VsZiwgdXJsOiBzZWxmW1hIUl9VUkxdLCBpc1BlcmlvZGljOiBmYWxzZSwgYXJnczogYXJncywgYWJvcnRlZDogZmFsc2V9O1xuICAgICAgICAgICAgY29uc3QgdGFzayA9IHNjaGVkdWxlTWFjcm9UYXNrV2l0aEN1cnJlbnRab25lKFxuICAgICAgICAgICAgICAgIFhNTEhUVFBSRVFVRVNUX1NPVVJDRSwgcGxhY2Vob2xkZXJDYWxsYmFjaywgb3B0aW9ucywgc2NoZWR1bGVUYXNrLCBjbGVhclRhc2spO1xuICAgICAgICAgICAgaWYgKHNlbGYgJiYgc2VsZltYSFJfRVJST1JfQkVGT1JFX1NDSEVEVUxFRF0gPT09IHRydWUgJiYgIW9wdGlvbnMuYWJvcnRlZCAmJlxuICAgICAgICAgICAgICAgIHRhc2suc3RhdGUgPT09IFNDSEVEVUxFRCkge1xuICAgICAgICAgICAgICAvLyB4aHIgcmVxdWVzdCB0aHJvdyBlcnJvciB3aGVuIHNlbmRcbiAgICAgICAgICAgICAgLy8gd2Ugc2hvdWxkIGludm9rZSB0YXNrIGluc3RlYWQgb2YgbGVhdmluZyBhIHNjaGVkdWxlZFxuICAgICAgICAgICAgICAvLyBwZW5kaW5nIG1hY3JvVGFza1xuICAgICAgICAgICAgICB0YXNrLmludm9rZSgpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfSk7XG5cbiAgICBjb25zdCBhYm9ydE5hdGl2ZSA9XG4gICAgICAgIHBhdGNoTWV0aG9kKFhNTEh0dHBSZXF1ZXN0UHJvdG90eXBlLCAnYWJvcnQnLCAoKSA9PiBmdW5jdGlvbihzZWxmOiBhbnksIGFyZ3M6IGFueVtdKSB7XG4gICAgICAgICAgY29uc3QgdGFzazogVGFzayA9IGZpbmRQZW5kaW5nVGFzayhzZWxmKTtcbiAgICAgICAgICBpZiAodGFzayAmJiB0eXBlb2YgdGFzay50eXBlID09ICdzdHJpbmcnKSB7XG4gICAgICAgICAgICAvLyBJZiB0aGUgWEhSIGhhcyBhbHJlYWR5IGNvbXBsZXRlZCwgZG8gbm90aGluZy5cbiAgICAgICAgICAgIC8vIElmIHRoZSBYSFIgaGFzIGFscmVhZHkgYmVlbiBhYm9ydGVkLCBkbyBub3RoaW5nLlxuICAgICAgICAgICAgLy8gRml4ICM1NjksIGNhbGwgYWJvcnQgbXVsdGlwbGUgdGltZXMgYmVmb3JlIGRvbmUgd2lsbCBjYXVzZVxuICAgICAgICAgICAgLy8gbWFjcm9UYXNrIHRhc2sgY291bnQgYmUgbmVnYXRpdmUgbnVtYmVyXG4gICAgICAgICAgICBpZiAodGFzay5jYW5jZWxGbiA9PSBudWxsIHx8ICh0YXNrLmRhdGEgJiYgKDxYSFJPcHRpb25zPnRhc2suZGF0YSkuYWJvcnRlZCkpIHtcbiAgICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgdGFzay56b25lLmNhbmNlbFRhc2sodGFzayk7XG4gICAgICAgICAgfSBlbHNlIGlmICgoWm9uZS5jdXJyZW50IGFzIGFueSlbZmV0Y2hUYXNrQWJvcnRpbmddID09PSB0cnVlKSB7XG4gICAgICAgICAgICAvLyB0aGUgYWJvcnQgaXMgY2FsbGVkIGZyb20gZmV0Y2ggcG9seWZpbGwsIHdlIG5lZWQgdG8gY2FsbCBuYXRpdmUgYWJvcnQgb2YgWEhSLlxuICAgICAgICAgICAgcmV0dXJuIGFib3J0TmF0aXZlICEuYXBwbHkoc2VsZiwgYXJncyk7XG4gICAgICAgICAgfVxuICAgICAgICAgIC8vIE90aGVyd2lzZSwgd2UgYXJlIHRyeWluZyB0byBhYm9ydCBhbiBYSFIgd2hpY2ggaGFzIG5vdCB5ZXQgYmVlbiBzZW50LCBzbyB0aGVyZSBpcyBub1xuICAgICAgICAgIC8vIHRhc2tcbiAgICAgICAgICAvLyB0byBjYW5jZWwuIERvIG5vdGhpbmcuXG4gICAgICAgIH0pO1xuICB9XG59KTtcblxuWm9uZS5fX2xvYWRfcGF0Y2goJ2dlb2xvY2F0aW9uJywgKGdsb2JhbDogYW55KSA9PiB7XG4gIC8vLyBHRU9fTE9DQVRJT05cbiAgaWYgKGdsb2JhbFsnbmF2aWdhdG9yJ10gJiYgZ2xvYmFsWyduYXZpZ2F0b3InXS5nZW9sb2NhdGlvbikge1xuICAgIHBhdGNoUHJvdG90eXBlKGdsb2JhbFsnbmF2aWdhdG9yJ10uZ2VvbG9jYXRpb24sIFsnZ2V0Q3VycmVudFBvc2l0aW9uJywgJ3dhdGNoUG9zaXRpb24nXSk7XG4gIH1cbn0pO1xuXG5ab25lLl9fbG9hZF9wYXRjaCgnUHJvbWlzZVJlamVjdGlvbkV2ZW50JywgKGdsb2JhbDogYW55LCBab25lOiBab25lVHlwZSkgPT4ge1xuICAvLyBoYW5kbGUgdW5oYW5kbGVkIHByb21pc2UgcmVqZWN0aW9uXG4gIGZ1bmN0aW9uIGZpbmRQcm9taXNlUmVqZWN0aW9uSGFuZGxlcihldnROYW1lOiBzdHJpbmcpIHtcbiAgICByZXR1cm4gZnVuY3Rpb24oZTogYW55KSB7XG4gICAgICBjb25zdCBldmVudFRhc2tzID0gZmluZEV2ZW50VGFza3MoZ2xvYmFsLCBldnROYW1lKTtcbiAgICAgIGV2ZW50VGFza3MuZm9yRWFjaChldmVudFRhc2sgPT4ge1xuICAgICAgICAvLyB3aW5kb3dzIGhhcyBhZGRlZCB1bmhhbmRsZWRyZWplY3Rpb24gZXZlbnQgbGlzdGVuZXJcbiAgICAgICAgLy8gdHJpZ2dlciB0aGUgZXZlbnQgbGlzdGVuZXJcbiAgICAgICAgY29uc3QgUHJvbWlzZVJlamVjdGlvbkV2ZW50ID0gZ2xvYmFsWydQcm9taXNlUmVqZWN0aW9uRXZlbnQnXTtcbiAgICAgICAgaWYgKFByb21pc2VSZWplY3Rpb25FdmVudCkge1xuICAgICAgICAgIGNvbnN0IGV2dCA9IG5ldyBQcm9taXNlUmVqZWN0aW9uRXZlbnQoZXZ0TmFtZSwge3Byb21pc2U6IGUucHJvbWlzZSwgcmVhc29uOiBlLnJlamVjdGlvbn0pO1xuICAgICAgICAgIGV2ZW50VGFzay5pbnZva2UoZXZ0KTtcbiAgICAgICAgfVxuICAgICAgfSk7XG4gICAgfTtcbiAgfVxuXG4gIGlmIChnbG9iYWxbJ1Byb21pc2VSZWplY3Rpb25FdmVudCddKSB7XG4gICAgKFpvbmUgYXMgYW55KVt6b25lU3ltYm9sKCd1bmhhbmRsZWRQcm9taXNlUmVqZWN0aW9uSGFuZGxlcicpXSA9XG4gICAgICAgIGZpbmRQcm9taXNlUmVqZWN0aW9uSGFuZGxlcigndW5oYW5kbGVkcmVqZWN0aW9uJyk7XG5cbiAgICAoWm9uZSBhcyBhbnkpW3pvbmVTeW1ib2woJ3JlamVjdGlvbkhhbmRsZWRIYW5kbGVyJyldID1cbiAgICAgICAgZmluZFByb21pc2VSZWplY3Rpb25IYW5kbGVyKCdyZWplY3Rpb25oYW5kbGVkJyk7XG4gIH1cbn0pO1xuIl19
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnJvd3Nlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL3pvbmUuanMvbGliL2Jyb3dzZXIvYnJvd3Nlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7O0dBTUc7QUFDSDs7O0dBR0c7Ozs7Ozs7Ozs7OztJQUVILG9EQUFnRDtJQUNoRCxvREFBNEM7SUFDNUMsa0RBQXlMO0lBRXpMLHVFQUFzRDtJQUN0RCxpRUFBNEQ7SUFDNUQsK0VBQThEO0lBRTlELElBQUksQ0FBQyxZQUFZLENBQUMsUUFBUSxFQUFFLFVBQUMsTUFBVztRQUN0QyxJQUFNLFdBQVcsR0FBRyxNQUFNLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxhQUFhLENBQUMsQ0FBQyxDQUFDO1FBQzNELElBQUksV0FBVyxFQUFFO1lBQ2YsV0FBVyxFQUFFLENBQUM7U0FDZjtJQUNILENBQUMsQ0FBQyxDQUFDO0lBRUgsSUFBSSxDQUFDLFlBQVksQ0FBQyxRQUFRLEVBQUUsVUFBQyxNQUFXO1FBQ3RDLElBQU0sR0FBRyxHQUFHLEtBQUssQ0FBQztRQUNsQixJQUFNLEtBQUssR0FBRyxPQUFPLENBQUM7UUFDdEIsbUJBQVUsQ0FBQyxNQUFNLEVBQUUsR0FBRyxFQUFFLEtBQUssRUFBRSxTQUFTLENBQUMsQ0FBQztRQUMxQyxtQkFBVSxDQUFDLE1BQU0sRUFBRSxHQUFHLEVBQUUsS0FBSyxFQUFFLFVBQVUsQ0FBQyxDQUFDO1FBQzNDLG1CQUFVLENBQUMsTUFBTSxFQUFFLEdBQUcsRUFBRSxLQUFLLEVBQUUsV0FBVyxDQUFDLENBQUM7SUFDOUMsQ0FBQyxDQUFDLENBQUM7SUFFSCxJQUFJLENBQUMsWUFBWSxDQUFDLHVCQUF1QixFQUFFLFVBQUMsTUFBVztRQUNyRCxtQkFBVSxDQUFDLE1BQU0sRUFBRSxTQUFTLEVBQUUsUUFBUSxFQUFFLGdCQUFnQixDQUFDLENBQUM7UUFDMUQsbUJBQVUsQ0FBQyxNQUFNLEVBQUUsWUFB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QUMsQ0FBQyxDQUFDO3dCQUMxRixTQUFTLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxDQUFDO3FCQUN2QjtnQkFDSCxDQUFDLENBQUMsQ0FBQztZQUNMLENBQUMsQ0FBQztRQUNKLENBQUM7UUFFRCxJQUFJLE1BQU0sQ0FBQyx1QkFBdUIsQ0FBQyxFQUFFO1lBQ2xDLElBQVksQ0FBQyxrQkFBVSxDQUFDLGtDQUFrQyxDQUFDLENBQUM7Z0JBQ3pELDJCQUEyQixDQUFDLG9CQUFvQixDQUFDLENBQUM7WUFFckQsSUFBWSxDQUFDLGtCQUFVLENBQUMseUJBQXlCLENBQUMsQ0FBQztnQkFDaEQsMkJBQTJCLENBQUMsa0JBQWtCLENBQUMsQ0FBQztTQUNyRDtJQUNILENBQUMsQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBAbGljZW5zZVxuICogQ29weXJpZ2h0IEdvb2dsZSBJbmMuIEFsbCBSaWdodHMgUmVzZXJ2ZWQuXG4gKlxuICogVXNlIG9mIHRoaXMgc291cmNlIGNvZGUgaXMgZ292ZXJuZWQgYnkgYW4gTUlULXN0eWxlIGxpY2Vuc2UgdGhhdCBjYW4gYmVcbiAqIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUgYXQgaHR0cHM6Ly9hbmd1bGFyLmlvL2xpY2Vuc2VcbiAqL1xuLyoqXG4gKiBAZmlsZW92ZXJ2aWV3XG4gKiBAc3VwcHJlc3Mge21pc3NpbmdSZXF1aXJlfVxuICovXG5cbmltcG9ydCB7ZmluZEV2ZW50VGFza3N9IGZyb20gJy4uL2NvbW1vbi9ldmVudHMnO1xuaW1wb3J0IHtwYXRjaFRpbWVyfSBmcm9tICcuLi9jb21tb24vdGltZXJzJztcbmltcG9ydCB7Wk9ORV9TWU1CT0xfQUREX0VWRU5UX0xJU1RFTkVSLCBaT05FX1NZTUJPTF9SRU1PVkVfRVZFTlRfTElTVEVORVIsIHBhdGNoQ2xhc3MsIHBhdGNoTWV0aG9kLCBwYXRjaFByb3RvdHlwZSwgc2NoZWR1bGVNYWNyb1Rhc2tXaXRoQ3VycmVudFpvbmUsIHpvbmVTeW1ib2x9IGZyb20gJy4uL2NvbW1vbi91dGlscyc7XG5cbmltcG9ydCB7cGF0Y2hDdXN0b21FbGVtZW50c30gZnJvbSAnLi9jdXN0b20tZWxlbWVudHMnO1xuaW1wb3J0IHtldmVudFRhcmdldFBhdGNoLCBwYXRjaEV2ZW50fSBmcm9tICcuL2V2ZW50LXRhcmdldCc7XG5pbXBvcnQge3Byb3BlcnR5RGVzY3JpcHRvclBhdGNofSBmcm9tICcuL3Byb3BlcnR5LWRlc2NyaXB0b3InO1xuXG5ab25lLl9fbG9hZF9wYXRjaCgnbGVnYWN5JywgKGdsb2JhbDogYW55KSA9PiB7XG4gIGNvbnN0IGxlZ2FjeVBhdGNoID0gZ2xvYmFsW1pvbmUuX19zeW1ib2xfXygnbGVnYWN5UGF0Y2gnKV07XG4gIGlmIChsZWdhY3lQYXRjaCkge1xuICAgIGxlZ2FjeVBhdGNoKCk7XG4gIH1cbn0pO1xuXG5ab25lLl9fbG9hZF9wYXRjaCgndGltZXJzJywgKGdsb2JhbDogYW55KSA9PiB7XG4gIGNvbnN0IHNldCA9ICdzZXQnO1xuICBjb25zdCBjbGVhciA9ICdjbGVhcic7XG4gIHBhdGNoVGltZXIoZ2xvYmFsLCBzZXQsIGNsZWFyLCAnVGltZW91dCcpO1xuICBwYXRjaFRpbWVyKGdsb2JhbCwgc2V0LCBjbGVhciwgJ0ludGVydmFsJyk7XG4gIHBhdGNoVGltZXIoZ2xvYmFsLCBzZXQsIGNsZWFyLCAnSW1tZWRpYXRlJyk7XG59KTtcblxuWm9uZS5fX2xvYWRfcGF0Y2goJ3JlcXVlc3RBbmltYXRpb25GcmFtZScsIChnbG9iYWw6IGFueSkgPT4ge1xuICBwYXRjaFRpbWVyKGdsb2JhbCwgJ3JlcXVlc3QnLCAnY2FuY2VsJywgJ0FuaW1hdGlvbkZyYW1lJyk7XG4gIHBhdGNoVGltZXIoZ2xvYmFsLCAnbW96UmVxdWVzdCcsICdtb3pDYW5jZWwnLCAnQW5pbWF0aW9uRnJhbWUnKTtcbiAgcGF0Y2hUaW1lcihnbG9iYWwsICd3ZWJraXRSZXF1ZXN0JywgJ3dlYmtpdENhbmNlbCcsICdBbmltYXRpb25GcmFtZScpO1xufSk7XG5cblpvbmUuX19sb2FkX3BhdGNoKCdibG9ja2luZycsIChnbG9iYWw6IGFueSwgWm9uZTogWm9uZVR5cGUpID0+IHtcbiAgY29uc3QgYmxvY2tpbmdNZXRob2RzID0gWydhbGVydCcsICdwcm9tcHQnLCAnY29uZmlybSddO1xuICBmb3IgKGxldCBpID0gMDsgaSA8IGJsb2NraW5nTWV0aG9kcy5sZW5ndGg7IGkrKykge1xuICAgIGNvbnN0IG5hbWUgPSBibG9ja2luZ01ldGhvZHNbaV07XG4gICAgcGF0Y2hNZXRob2QoZ2xvYmFsLCBuYW1lLCAoZGVsZWdhdGUsIHN5bWJvbCwgbmFtZSkgPT4ge1xuICAgICAgcmV0dXJuIGZ1bmN0aW9uKHM6IGFueSwgYXJnczogYW55W10pIHtcbiAgICAgICAgcmV0dXJuIFpvbmUuY3VycmVudC5ydW4oZGVsZWdhdGUsIGdsb2JhbCwgYXJncywgbmFtZSk7XG4gICAgICB9O1xuICAgIH0pO1xuICB9XG59KTtcblxuWm9uZS5fX2xvYWRfcGF0Y2goJ0V2ZW50VGFyZ2V0JywgKGdsb2JhbDogYW55LCBab25lOiBab25lVHlwZSwgYXBpOiBfWm9uZVByaXZhdGUpID0+IHtcbiAgcGF0Y2hFdmVudChnbG9iYWwsIGFwaSk7XG4gIGV2ZW50VGFyZ2V0UGF0Y2goZ2xvYmFsLCBhcGkpO1xuICAvLyBwYXRjaCBYTUxIdHRwUmVxdWVzdEV2ZW50VGFyZ2V0J3MgYWRkRXZlbnRMaXN0ZW5lci9yZW1vdmVFdmVudExpc3RlbmVyXG4gIGNvbnN0IFhNTEh0dHBSZXF1ZXN0RXZlbnRUYXJnZXQgPSAoZ2xvYmFsIGFzIGFueSlbJ1hNTEh0dHBSZXF1ZXN0RXZlbnRUYXJnZXQnXTtcbiAgaWYgKFhNTEh0dHBSZXF1ZXN0RXZlbnRUYXJnZXQgJiYgWE1MSHR0cFJlcXVlc3RFdmVudFRhcmdldC5wcm90b3R5cGUpIHtcbiAgICBhcGkucGF0Y2hFdmVudFRhcmdldChnbG9iYWwsIFtYTUxIdHRwUmVxdWVzdEV2ZW50VGFyZ2V0LnByb3RvdHlwZV0pO1xuICB9XG4gIHBhdGNoQ2xhc3MoJ011dGF0aW9uT2JzZXJ2ZXInKTtcbiAgcGF0Y2hDbGFzcygnV2ViS2l0TXV0YXRpb25PYnNlcnZlcicpO1xuICBwYXRjaENsYXNzKCdJbnRlcnNlY3Rpb25PYnNlcnZlcicpO1xuICBwYXRjaENsYXNzKCdGaWxlUmVhZGVyJyk7XG59KTtcblxuWm9uZS5fX2xvYWRfcGF0Y2goJ29uX3Byb3BlcnR5JywgKGdsb2JhbDogYW55LCBab25lOiBab25lVHlwZSwgYXBpOiBfWm9uZVByaXZhdGUpID0+IHtcbiAgcHJvcGVydHlEZXNjcmlwdG9yUGF0Y2goYXBpLCBnbG9iYWwpO1xufSk7XG5cblpvbmUuX19sb2FkX3BhdGNoKCdjdXN0b21FbGVtZW50cycsIChnbG9iYWw6IGFueSwgWm9uZTogWm9uZVR5cGUsIGFwaTogX1pvbmVQcml2YXRlKSA9PiB7XG4gIHBhdGNoQ3VzdG9tRWxlbWVudHMoZ2xvYmFsLCBhcGkpO1xufSk7XG5cblpvbmUuX19sb2FkX3BhdGNoKCdYSFInLCAoZ2xvYmFsOiBhbnksIFpvbmU6IFpvbmVUeXBlKSA9PiB7XG4gIC8vIFRyZWF0IFhNTEh0dHBSZXF1ZXN0IGFzIGEgbWFjcm90YXNrLlxuICBwYXRjaFhIUihnbG9iYWwpO1xuXG4gIGNvbnN0IFhIUl9UQVNLID0gem9uZVN5bWJvbCgneGhyVGFzaycpO1xuICBjb25zdCBYSFJfU1lOQyA9IHpvbmVTeW1ib2woJ3hoclN5bmMnKTtcbiAgY29uc3QgWEhSX0xJU1RFTkVSID0gem9uZVN5bWJvbCgneGhyTGlzdGVuZXInKTtcbiAgY29uc3QgWEhSX1NDSEVEVUxFRCA9IHpvbmVTeW1ib2woJ3hoclNjaGVkdWxlZCcpO1xuICBjb25zdCBYSFJfVVJMID0gem9uZVN5bWJvbCgneGhyVVJMJyk7XG4gIGNvbnN0IFhIUl9FUlJPUl9CRUZPUkVfU0NIRURVTEVEID0gem9uZVN5bWJvbCgneGhyRXJyb3JCZWZvcmVTY2hlZHVsZWQnKTtcblxuICBpbnRlcmZhY2UgWEhST3B0aW9ucyBleHRlbmRzIFRhc2tEYXRhIHtcbiAgICB0YXJnZXQ6IGFueTtcbiAgICB1cmw6IHN0cmluZztcbiAgICBhcmdzOiBhbnlbXTtcbiAgICBhYm9ydGVkOiBib29sZWFuO1xuICB9XG5cbiAgZnVuY3Rpb24gcGF0Y2hYSFIod2luZG93OiBhbnkpIHtcbiAgICBjb25zdCBYTUxIdHRwUmVxdWVzdCA9IHdpbmRvd1snWE1MSHR0cFJlcXVlc3QnXTtcbiAgICBpZiAoIVhNTEh0dHBSZXF1ZXN0KSB7XG4gICAgICAvLyBYTUxIdHRwUmVxdWVzdCBpcyBub3QgYXZhaWxhYmxlIGluIHNlcnZpY2Ugd29ya2VyXG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIGNvbnN0IFhNTEh0dHBSZXF1ZXN0UHJvdG90eXBlOiBhbnkgPSBYTUxIdHRwUmVxdWVzdC5wcm90b3R5cGU7XG5cbiAgICBmdW5jdGlvbiBmaW5kUGVuZGluZ1Rhc2sodGFyZ2V0OiBhbnkpIHsgcmV0dXJuIHRhcmdldFtYSFJfVEFTS107IH1cblxuICAgIGxldCBvcmlBZGRMaXN0ZW5lciA9IFhNTEh0dHBSZXF1ZXN0UHJvdG90eXBlW1pPTkVfU1lNQk9MX0FERF9FVkVOVF9MSVNURU5FUl07XG4gICAgbGV0IG9yaVJlbW92ZUxpc3RlbmVyID0gWE1MSHR0cFJlcXVlc3RQcm90b3R5cGVbWk9ORV9TWU1CT0xfUkVNT1ZFX0VWRU5UX0xJU1RFTkVSXTtcbiAgICBpZiAoIW9yaUFkZExpc3RlbmVyKSB7XG4gICAgICBjb25zdCBYTUxIdHRwUmVxdWVzdEV2ZW50VGFyZ2V0ID0gd2luZG93WydYTUxIdHRwUmVxdWVzdEV2ZW50VGFyZ2V0J107XG4gICAgICBpZiAoWE1MSHR0cFJlcXVlc3RFdmVudFRhcmdldCkge1xuICAgICAgICBjb25zdCBYTUxIdHRwUmVxdWVzdEV2ZW50VGFyZ2V0UHJvdG90eXBlID0gWE1MSHR0cFJlcXVlc3RFdmVudFRhcmdldC5wcm90b3R5cGU7XG4gICAgICAgIG9yaUFkZExpc3RlbmVyID0gWE1MSHR0cFJlcXVlc3RFdmVudFRhcmdldFByb3RvdHlwZVtaT05FX1NZTUJPTF9BRERfRVZFTlRfTElTVEVORVJdO1xuICAgICAgICBvcmlSZW1vdmVMaXN0ZW5lciA9IFhNTEh0dHBSZXF1ZXN0RXZlbnRUYXJnZXRQcm90b3R5cGVbWk9ORV9TWU1CT0xfUkVNT1ZFX0VWRU5UX0xJU1RFTkVSXTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBjb25zdCBSRUFEWV9TVEFURV9DSEFOR0UgPSAncmVhZHlzdGF0ZWNoYW5nZSc7XG4gICAgY29uc3QgU0NIRURVTEVEID0gJ3NjaGVkdWxlZCc7XG5cbiAgICBmdW5jdGlvbiBzY2hlZHVsZVRhc2sodGFzazogVGFzaykge1xuICAgICAgY29uc3QgZGF0YSA9IDxYSFJPcHRpb25zPnRhc2suZGF0YTtcbiAgICAgIGNvbnN0IHRhcmdldCA9IGRhdGEudGFyZ2V0O1xuICAgICAgdGFyZ2V0W1hIUl9TQ0hFRFVMRURdID0gZmFsc2U7XG4gICAgICB0YXJnZXRbWEhSX0VSUk9SX0JFRk9SRV9TQ0hFRFVMRURdID0gZmFsc2U7XG4gICAgICAvLyByZW1vdmUgZXhpc3RpbmcgZXZlbnQgbGlzdGVuZXJcbiAgICAgIGNvbnN0IGxpc3RlbmVyID0gdGFyZ2V0W1hIUl9MSVNURU5FUl07XG4gICAgICBpZiAoIW9yaUFkZExpc3RlbmVyKSB7XG4gICAgICAgIG9yaUFkZExpc3RlbmVyID0gdGFyZ2V0W1pPTkVfU1lNQk9MX0FERF9FVkVOVF9MSVNURU5FUl07XG4gICAgICAgIG9yaVJlbW92ZUxpc3RlbmVyID0gdGFyZ2V0W1pPTkVfU1lNQk9MX1JFTU9WRV9FVkVOVF9MSVNURU5FUl07XG4gICAgICB9XG5cbiAgICAgIGlmIChsaXN0ZW5lcikge1xuICAgICAgICBvcmlSZW1vdmVMaXN0ZW5lci5jYWxsKHRhcmdldCwgUkVBRFlfU1RBVEVfQ0hBTkdFLCBsaXN0ZW5lcik7XG4gICAgICB9XG4gICAgICBjb25zdCBuZXdMaXN0ZW5lciA9IHRhcmdldFtYSFJfTElTVEVORVJdID0gKCkgPT4ge1xuICAgICAgICBpZiAodGFyZ2V0LnJlYWR5U3RhdGUgPT09IHRhcmdldC5ET05FKSB7XG4gICAgICAgICAgLy8gc29tZXRpbWVzIG9uIHNvbWUgYnJvd3NlcnMgWE1MSHR0cFJlcXVlc3Qgd2lsbCBmaXJlIG9ucmVhZHlzdGF0ZWNoYW5nZSB3aXRoXG4gICAgICAgICAgLy8gcmVhZHlTdGF0ZT00IG11bHRpcGxlIHRpbWVzLCBzbyB3ZSBuZWVkIHRvIGNoZWNrIHRhc2sgc3RhdGUgaGVyZVxuICAgICAgICAgIGlmICghZGF0YS5hYm9ydGVkICYmIHRhcmdldFtYSFJfU0NIRURVTEVEXSAmJiB0YXNrLnN0YXRlID09PSBTQ0hFRFVMRUQpIHtcbiAgICAgICAgICAgIC8vIGNoZWNrIHdoZXRoZXIgdGhlIHhociBoYXMgcmVnaXN0ZXJlZCBvbmxvYWQgbGlzdGVuZXJcbiAgICAgICAgICAgIC8vIGlmIHRoYXQgaXMgdGhlIGNhc2UsIHRoZSB0YXNrIHNob3VsZCBpbnZva2UgYWZ0ZXIgYWxsXG4gICAgICAgICAgICAvLyBvbmxvYWQgbGlzdGVuZXJzIGZpbmlzaC5cbiAgICAgICAgICAgIGNvbnN0IGxvYWRUYXNrcyA9IHRhcmdldFtab25lLl9fc3ltYm9sX18oJ2xvYWRmYWxzZScpXTtcbiAgICAgICAgICAgIGlmIChsb2FkVGFza3MgJiYgbG9hZFRhc2tzLmxlbmd0aCA+IDApIHtcbiAgICAgICAgICAgICAgY29uc3Qgb3JpSW52b2tlID0gdGFzay5pbnZva2U7XG4gICAgICAgICAgICAgIHRhc2suaW52b2tlID0gZnVuY3Rpb24oKSB7XG4gICAgICAgICAgICAgICAgLy8gbmVlZCB0byBsb2FkIHRoZSB0YXNrcyBhZ2FpbiwgYmVjYXVzZSBpbiBvdGhlclxuICAgICAgICAgICAgICAgIC8vIGxvYWQgbGlzdGVuZXIsIHRoZXkgbWF5IHJlbW92ZSB0aGVtc2VsdmVzXG4gICAgICAgICAgICAgICAgY29uc3QgbG9hZFRhc2tzID0gdGFyZ2V0W1pvbmUuX19zeW1ib2xfXygnbG9hZGZhbHNlJyldO1xuICAgICAgICAgICAgICAgIGZvciAobGV0IGkgPSAwOyBpIDwgbG9hZFRhc2tzLmxlbmd0aDsgaSsrKSB7XG4gICAgICAgICAgICAgICAgICBpZiAobG9hZFRhc2tzW2ldID09PSB0YXNrKSB7XG4gICAgICAgICAgICAgICAgICAgIGxvYWRUYXNrcy5zcGxpY2UoaSwgMSk7XG4gICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGlmICghZGF0YS5hYm9ydGVkICYmIHRhc2suc3RhdGUgPT09IFNDSEVEVUxFRCkge1xuICAgICAgICAgICAgICAgICAgb3JpSW52b2tlLmNhbGwodGFzayk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICB9O1xuICAgICAgICAgICAgICBsb2FkVGFza3MucHVzaCh0YXNrKTtcbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgIHRhc2suaW52b2tlKCk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfSBlbHNlIGlmICghZGF0YS5hYm9ydGVkICYmIHRhcmdldFtYSFJfU0NIRURVTEVEXSA9PT0gZmFsc2UpIHtcbiAgICAgICAgICAgIC8vIGVycm9yIG9jY3VycyB3aGVuIHhoci5zZW5kKClcbiAgICAgICAgICAgIHRhcmdldFtYSFJfRVJST1JfQkVGT1JFX1NDSEVEVUxFRF0gPSB0cnVlO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfTtcbiAgICAgIG9yaUFkZExpc3RlbmVyLmNhbGwodGFyZ2V0LCBSRUFEWV9TVEFURV9DSEFOR0UsIG5ld0xpc3RlbmVyKTtcblxuICAgICAgY29uc3Qgc3RvcmVkVGFzazogVGFzayA9IHRhcmdldFtYSFJfVEFTS107XG4gICAgICBpZiAoIXN0b3JlZFRhc2spIHtcbiAgICAgICAgdGFyZ2V0W1hIUl9UQVNLXSA9IHRhc2s7XG4gICAgICB9XG4gICAgICBzZW5kTmF0aXZlICEuYXBwbHkodGFyZ2V0LCBkYXRhLmFyZ3MpO1xuICAgICAgdGFyZ2V0W1hIUl9TQ0hFRFVMRURdID0gdHJ1ZTtcbiAgICAgIHJldHVybiB0YXNrO1xuICAgIH1cblxuICAgIGZ1bmN0aW9uIHBsYWNlaG9sZGVyQ2FsbGJhY2soKSB7fVxuXG4gICAgZnVuY3Rpb24gY2xlYXJUYXNrKHRhc2s6IFRhc2spIHtcbiAgICAgIGNvbnN0IGRhdGEgPSA8WEhST3B0aW9ucz50YXNrLmRhdGE7XG4gICAgICAvLyBOb3RlIC0gaWRlYWxseSwgd2Ugd291bGQgY2FsbCBkYXRhLnRhcmdldC5yZW1vdmVFdmVudExpc3RlbmVyIGhlcmUsIGJ1dCBpdCdzIHRvbyBsYXRlXG4gICAgICAvLyB0byBwcmV2ZW50IGl0IGZyb20gZmlyaW5nLiBTbyBpbnN0ZWFkLCB3ZSBzdG9yZSBpbmZvIGZvciB0aGUgZXZlbnQgbGlzdGVuZXIuXG4gICAgICBkYXRhLmFib3J0ZWQgPSB0cnVlO1xuICAgICAgcmV0dXJuIGFib3J0TmF0aXZlICEuYXBwbHkoZGF0YS50YXJnZXQsIGRhdGEuYXJncyk7XG4gICAgfVxuXG4gICAgY29uc3Qgb3Blbk5hdGl2ZSA9XG4gICAgICAgIHBhdGNoTWV0aG9kKFhNTEh0dHBSZXF1ZXN0UHJvdG90eXBlLCAnb3BlbicsICgpID0+IGZ1bmN0aW9uKHNlbGY6IGFueSwgYXJnczogYW55W10pIHtcbiAgICAgICAgICBzZWxmW1hIUl9TWU5DXSA9IGFyZ3NbMl0gPT0gZmFsc2U7XG4gICAgICAgICAgc2VsZltYSFJfVVJMXSA9IGFyZ3NbMV07XG4gICAgICAgICAgcmV0dXJuIG9wZW5OYXRpdmUgIS5hcHBseShzZWxmLCBhcmdzKTtcbiAgICAgICAgfSk7XG5cbiAgICBjb25zdCBYTUxIVFRQUkVRVUVTVF9TT1VSQ0UgPSAnWE1MSHR0cFJlcXVlc3Quc2VuZCc7XG4gICAgY29uc3QgZmV0Y2hUYXNrQWJvcnRpbmcgPSB6b25lU3ltYm9sKCdmZXRjaFRhc2tBYm9ydGluZycpO1xuICAgIGNvbnN0IGZldGNoVGFza1NjaGVkdWxpbmcgPSB6b25lU3ltYm9sKCdmZXRjaFRhc2tTY2hlZHVsaW5nJyk7XG4gICAgY29uc3Qgc2VuZE5hdGl2ZTogRnVuY3Rpb258bnVsbCA9XG4gICAgICAgIHBhdGNoTWV0aG9kKFhNTEh0dHBSZXF1ZXN0UHJvdG90eXBlLCAnc2VuZCcsICgpID0+IGZ1bmN0aW9uKHNlbGY6IGFueSwgYXJnczogYW55W10pIHtcbiAgICAgICAgICBpZiAoKFpvbmUuY3VycmVudCBhcyBhbnkpW2ZldGNoVGFza1NjaGVkdWxpbmddID09PSB0cnVlKSB7XG4gICAgICAgICAgICAvLyBhIGZldGNoIGlzIHNjaGVkdWxpbmcsIHNvIHdlIGFyZSB1c2luZyB4aHIgdG8gcG9seWZpbGwgZmV0Y2hcbiAgICAgICAgICAgIC8vIGFuZCBiZWNhdXNlIHdlIGFscmVhZHkgc2NoZWR1bGUgbWFjcm9UYXNrIGZvciBmZXRjaCwgd2Ugc2hvdWxkXG4gICAgICAgICAgICAvLyBub3Qgc2NoZWR1bGUgYSBtYWNyb1Rhc2sgZm9yIHhociBhZ2FpblxuICAgICAgICAgICAgcmV0dXJuIHNlbmROYXRpdmUgIS5hcHBseShzZWxmLCBhcmdzKTtcbiAgICAgICAgICB9XG4gICAgICAgICAgaWYgKHNlbGZbWEhSX1NZTkNdKSB7XG4gICAgICAgICAgICAvLyBpZiB0aGUgWEhSIGlzIHN5bmMgdGhlcmUgaXMgbm8gdGFzayB0byBzY2hlZHVsZSwganVzdCBleGVjdXRlIHRoZSBjb2RlLlxuICAgICAgICAgICAgcmV0dXJuIHNlbmROYXRpdmUgIS5hcHBseShzZWxmLCBhcmdzKTtcbiAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgY29uc3Qgb3B0aW9uczogWEhST3B0aW9ucyA9XG4gICAgICAgICAgICAgICAge3RhcmdldDogc2VsZiwgdXJsOiBzZWxmW1hIUl9VUkxdLCBpc1BlcmlvZGljOiBmYWxzZSwgYXJnczogYXJncywgYWJvcnRlZDogZmFsc2V9O1xuICAgICAgICAgICAgY29uc3QgdGFzayA9IHNjaGVkdWxlTWFjcm9UYXNrV2l0aEN1cnJlbnRab25lKFxuICAgICAgICAgICAgICAgIFhNTEhUVFBSRVFVRVNUX1NPVVJDRSwgcGxhY2Vob2xkZXJDYWxsYmFjaywgb3B0aW9ucywgc2NoZWR1bGVUYXNrLCBjbGVhclRhc2spO1xuICAgICAgICAgICAgaWYgKHNlbGYgJiYgc2VsZltYSFJfRVJST1JfQkVGT1JFX1NDSEVEVUxFRF0gPT09IHRydWUgJiYgIW9wdGlvbnMuYWJvcnRlZCAmJlxuICAgICAgICAgICAgICAgIHRhc2suc3RhdGUgPT09IFNDSEVEVUxFRCkge1xuICAgICAgICAgICAgICAvLyB4aHIgcmVxdWVzdCB0aHJvdyBlcnJvciB3aGVuIHNlbmRcbiAgICAgICAgICAgICAgLy8gd2Ugc2hvdWxkIGludm9rZSB0YXNrIGluc3RlYWQgb2YgbGVhdmluZyBhIHNjaGVkdWxlZFxuICAgICAgICAgICAgICAvLyBwZW5kaW5nIG1hY3JvVGFza1xuICAgICAgICAgICAgICB0YXNrLmludm9rZSgpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfSk7XG5cbiAgICBjb25zdCBhYm9ydE5hdGl2ZSA9XG4gICAgICAgIHBhdGNoTWV0aG9kKFhNTEh0dHBSZXF1ZXN0UHJvdG90eXBlLCAnYWJvcnQnLCAoKSA9PiBmdW5jdGlvbihzZWxmOiBhbnksIGFyZ3M6IGFueVtdKSB7XG4gICAgICAgICAgY29uc3QgdGFzazogVGFzayA9IGZpbmRQZW5kaW5nVGFzayhzZWxmKTtcbiAgICAgICAgICBpZiAodGFzayAmJiB0eXBlb2YgdGFzay50eXBlID09ICdzdHJpbmcnKSB7XG4gICAgICAgICAgICAvLyBJZiB0aGUgWEhSIGhhcyBhbHJlYWR5IGNvbXBsZXRlZCwgZG8gbm90aGluZy5cbiAgICAgICAgICAgIC8vIElmIHRoZSBYSFIgaGFzIGFscmVhZHkgYmVlbiBhYm9ydGVkLCBkbyBub3RoaW5nLlxuICAgICAgICAgICAgLy8gRml4ICM1NjksIGNhbGwgYWJvcnQgbXVsdGlwbGUgdGltZXMgYmVmb3JlIGRvbmUgd2lsbCBjYXVzZVxuICAgICAgICAgICAgLy8gbWFjcm9UYXNrIHRhc2sgY291bnQgYmUgbmVnYXRpdmUgbnVtYmVyXG4gICAgICAgICAgICBpZiAodGFzay5jYW5jZWxGbiA9PSBudWxsIHx8ICh0YXNrLmRhdGEgJiYgKDxYSFJPcHRpb25zPnRhc2suZGF0YSkuYWJvcnRlZCkpIHtcbiAgICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgdGFzay56b25lLmNhbmNlbFRhc2sodGFzayk7XG4gICAgICAgICAgfSBlbHNlIGlmICgoWm9uZS5jdXJyZW50IGFzIGFueSlbZmV0Y2hUYXNrQWJvcnRpbmddID09PSB0cnVlKSB7XG4gICAgICAgICAgICAvLyB0aGUgYWJvcnQgaXMgY2FsbGVkIGZyb20gZmV0Y2ggcG9seWZpbGwsIHdlIG5lZWQgdG8gY2FsbCBuYXRpdmUgYWJvcnQgb2YgWEhSLlxuICAgICAgICAgICAgcmV0dXJuIGFib3J0TmF0aXZlICEuYXBwbHkoc2VsZiwgYXJncyk7XG4gICAgICAgICAgfVxuICAgICAgICAgIC8vIE90aGVyd2lzZSwgd2UgYXJlIHRyeWluZyB0byBhYm9ydCBhbiBYSFIgd2hpY2ggaGFzIG5vdCB5ZXQgYmVlbiBzZW50LCBzbyB0aGVyZSBpcyBub1xuICAgICAgICAgIC8vIHRhc2tcbiAgICAgICAgICAvLyB0byBjYW5jZWwuIERvIG5vdGhpbmcuXG4gICAgICAgIH0pO1xuICB9XG59KTtcblxuWm9uZS5fX2xvYWRfcGF0Y2goJ2dlb2xvY2F0aW9uJywgKGdsb2JhbDogYW55KSA9PiB7XG4gIC8vLyBHRU9fTE9DQVRJT05cbiAgaWYgKGdsb2JhbFsnbmF2aWdhdG9yJ10gJiYgZ2xvYmFsWyduYXZpZ2F0b3InXS5nZW9sb2NhdGlvbikge1xuICAgIHBhdGNoUHJvdG90eXBlKGdsb2JhbFsnbmF2aWdhdG9yJ10uZ2VvbG9jYXRpb24sIFsnZ2V0Q3VycmVudFBvc2l0aW9uJywgJ3dhdGNoUG9zaXRpb24nXSk7XG4gIH1cbn0pO1xuXG5ab25lLl9fbG9hZF9wYXRjaCgnUHJvbWlzZVJlamVjdGlvbkV2ZW50JywgKGdsb2JhbDogYW55LCBab25lOiBab25lVHlwZSkgPT4ge1xuICAvLyBoYW5kbGUgdW5oYW5kbGVkIHByb21pc2UgcmVqZWN0aW9uXG4gIGZ1bmN0aW9uIGZpbmRQcm9taXNlUmVqZWN0aW9uSGFuZGxlcihldnROYW1lOiBzdHJpbmcpIHtcbiAgICByZXR1cm4gZnVuY3Rpb24oZTogYW55KSB7XG4gICAgICBjb25zdCBldmVudFRhc2tzID0gZmluZEV2ZW50VGFza3MoZ2xvYmFsLCBldnROYW1lKTtcbiAgICAgIGV2ZW50VGFza3MuZm9yRWFjaChldmVudFRhc2sgPT4ge1xuICAgICAgICAvLyB3aW5kb3dzIGhhcyBhZGRlZCB1bmhhbmRsZWRyZWplY3Rpb24gZXZlbnQgbGlzdGVuZXJcbiAgICAgICAgLy8gdHJpZ2dlciB0aGUgZXZlbnQgbGlzdGVuZXJcbiAgICAgICAgY29uc3QgUHJvbWlzZVJlamVjdGlvbkV2ZW50ID0gZ2xvYmFsWydQcm9taXNlUmVqZWN0aW9uRXZlbnQnXTtcbiAgICAgICAgaWYgKFByb21pc2VSZWplY3Rpb25FdmVudCkge1xuICAgICAgICAgIGNvbnN0IGV2dCA9IG5ldyBQcm9taXNlUmVqZWN0aW9uRXZlbnQoZXZ0TmFtZSwge3Byb21pc2U6IGUucHJvbWlzZSwgcmVhc29uOiBlLnJlamVjdGlvbn0pO1xuICAgICAgICAgIGV2ZW50VGFzay5pbnZva2UoZXZ0KTtcbiAgICAgICAgfVxuICAgICAgfSk7XG4gICAgfTtcbiAgfVxuXG4gIGlmIChnbG9iYWxbJ1Byb21pc2VSZWplY3Rpb25FdmVudCddKSB7XG4gICAgKFpvbmUgYXMgYW55KVt6b25lU3ltYm9sKCd1bmhhbmRsZWRQcm9taXNlUmVqZWN0aW9uSGFuZGxlcicpXSA9XG4gICAgICAgIGZpbmRQcm9taXNlUmVqZWN0aW9uSGFuZGxlcigndW5oYW5kbGVkcmVqZWN0aW9uJyk7XG5cbiAgICAoWm9uZSBhcyBhbnkpW3pvbmVTeW1ib2woJ3JlamVjdGlvbkhhbmRsZWRIYW5kbGVyJyldID1cbiAgICAgICAgZmluZFByb21pc2VSZWplY3Rpb25IYW5kbGVyKCdyZWplY3Rpb25oYW5kbGVkJyk7XG4gIH1cbn0pO1xuIl19

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

/// <amd-module name="angular/packages/zone.js/lib/browser/canvas" />
/// <amd-module name="zone.js/lib/browser/canvas" />

@@ -8,3 +8,3 @@ /**

*/
/// <amd-module name="angular/packages/zone.js/lib/browser/custom-elements" />
/// <amd-module name="zone.js/lib/browser/custom-elements" />
export declare function patchCustomElements(_global: any, api: _ZonePrivate): void;

@@ -14,3 +14,3 @@ /**

else if (typeof define === "function" && define.amd) {
define("angular/packages/zone.js/lib/browser/custom-elements", ["require", "exports"], factory);
define("zone.js/lib/browser/custom-elements", ["require", "exports"], factory);
}

@@ -17,0 +17,0 @@ })(function (require, exports) {

@@ -8,4 +8,4 @@ /**

*/
/// <amd-module name="angular/packages/zone.js/lib/browser/define-property" />
/// <amd-module name="zone.js/lib/browser/define-property" />
export declare function propertyPatch(): void;
export declare function _redefineProperty(obj: any, prop: string, desc: any): any;

@@ -14,3 +14,3 @@ /**

else if (typeof define === "function" && define.amd) {
define("angular/packages/zone.js/lib/browser/define-property", ["require", "exports"], factory);
define("zone.js/lib/browser/define-property", ["require", "exports"], factory);
}

@@ -17,0 +17,0 @@ })(function (require, exports) {

@@ -8,4 +8,4 @@ /**

*/
/// <amd-module name="angular/packages/zone.js/lib/browser/event-target-legacy" />
/// <amd-module name="zone.js/lib/browser/event-target-legacy" />
export declare function eventTargetLegacyPatch(_global: any, api: _ZonePrivate): boolean;
export declare function patchEvent(global: any, api: _ZonePrivate): void;

@@ -14,3 +14,3 @@ /**

else if (typeof define === "function" && define.amd) {
define("angular/packages/zone.js/lib/browser/event-target-legacy", ["require", "exports"], factory);
define("zone.js/lib/browser/event-target-legacy", ["require", "exports"], factory);
}

@@ -17,0 +17,0 @@ })(function (require, exports) {

@@ -8,4 +8,4 @@ /**

*/
/// <amd-module name="angular/packages/zone.js/lib/browser/event-target" />
/// <amd-module name="zone.js/lib/browser/event-target" />
export declare function eventTargetPatch(_global: any, api: _ZonePrivate): true | undefined;
export declare function patchEvent(global: any, api: _ZonePrivate): void;

@@ -14,3 +14,3 @@ /**

else if (typeof define === "function" && define.amd) {
define("angular/packages/zone.js/lib/browser/event-target", ["require", "exports"], factory);
define("zone.js/lib/browser/event-target", ["require", "exports"], factory);
}

@@ -17,0 +17,0 @@ })(function (require, exports) {

@@ -12,3 +12,3 @@ /**

*/
/// <amd-module name="angular/packages/zone.js/lib/browser/property-descriptor-legacy" />
/// <amd-module name="zone.js/lib/browser/property-descriptor-legacy" />
export declare function propertyDescriptorLegacyPatch(api: _ZonePrivate, _global: any): void;

@@ -18,3 +18,3 @@ /**

else if (typeof define === "function" && define.amd) {
define("angular/packages/zone.js/lib/browser/property-descriptor-legacy", ["require", "exports", "angular/packages/zone.js/lib/browser/websocket"], factory);
define("zone.js/lib/browser/property-descriptor-legacy", ["require", "exports", "zone.js/lib/browser/websocket"], factory);
}

@@ -24,3 +24,3 @@ })(function (require, exports) {

Object.defineProperty(exports, "__esModule", { value: true });
var webSocketPatch = require("angular/packages/zone.js/lib/browser/websocket");
var webSocketPatch = require("zone.js/lib/browser/websocket");
function propertyDescriptorLegacyPatch(api, _global) {

@@ -133,2 +133,2 @@ var _a = api.getGlobalObjects(), isNode = _a.isNode, isMix = _a.isMix;

});
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvcGVydHktZGVzY3JpcHRvci1sZWdhY3kuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy96b25lLmpzL2xpYi9icm93c2VyL3Byb3BlcnR5LWRlc2NyaXB0b3ItbGVnYWN5LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7R0FNRztBQUNIOzs7R0FHRzs7Ozs7Ozs7Ozs7O0lBRUgsK0VBQThDO0lBRTlDLFNBQWdCLDZCQUE2QixDQUFDLEdBQWlCLEVBQUUsT0FBWTtRQUNyRSxJQUFBLDJCQUEwQyxFQUF6QyxrQkFBTSxFQUFFLGdCQUFpQyxDQUFDO1FBQ2pELElBQUksTUFBTSxJQUFJLENBQUMsS0FBSyxFQUFFO1lBQ3BCLE9BQU87U0FDUjtRQUVELElBQUksQ0FBQyw2QkFBNkIsQ0FBQyxHQUFHLEVBQUUsT0FBTyxDQUFDLEVBQUU7WUFDaEQsSUFBTSxpQkFBaUIsR0FBRyxPQUFPLFNBQVMsS0FBSyxXQUFXLENBQUM7WUFDM0Qsd0NBQXdDO1lBQ3hDLDZCQUE2QixDQUFDLEdBQUcsQ0FBQyxDQUFDO1lBQ25DLEdBQUcsQ0FBQyxVQUFVLENBQUMsZ0JBQWdCLENBQUMsQ0FBQztZQUNqQyxJQUFJLGlCQUFpQixFQUFFO2dCQUNyQixjQUFjLENBQUMsS0FBSyxDQUFDLEdBQUcsRUFBRSxPQUFPLENBQUMsQ0FBQzthQUNwQztZQUNBLElBQVksQ0FBQyxHQUFHLENBQUMsTUFBTSxDQUFDLGFBQWEsQ0FBQyxDQUFDLEdBQUcsSUFBSSxDQUFDO1NBQ2pEO0lBQ0gsQ0FBQztJQWhCRCxzRUFnQkM7SUFFRCxTQUFTLDZCQUE2QixDQUFDLEdBQWlCLEVBQUUsT0FBWTtRQUM5RCxJQUFBLDJCQUE2QyxFQUE1Qyx3QkFBUyxFQUFFLGdCQUFpQyxDQUFDO1FBQ3BELElBQUksQ0FBQyxTQUFTLElBQUksS0FBSyxDQUFDO1lBQ3BCLENBQUMsR0FBRyxDQUFDLDhCQUE4QixDQUFDLFdBQVcsQ0FB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S0FBSyxDQUFDO3FCQUN6QjtvQkFDRCxHQUFHLEdBQUcsR0FBRyxDQUFDLGFBQWEsQ0FBQztpQkFDekI7WUFDSCxDQUFDLEVBQUUsSUFBSSxDQUFDLENBQUM7O1FBbEJYLEtBQUssSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsR0FBRyxVQUFVLENBQUMsTUFBTSxFQUFFLENBQUMsRUFBRTtvQkFBakMsQ0FBQztTQW1CVDtJQUNILENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEBsaWNlbnNlXG4gKiBDb3B5cmlnaHQgR29vZ2xlIEluYy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC5cbiAqXG4gKiBVc2Ugb2YgdGhpcyBzb3VyY2UgY29kZSBpcyBnb3Zlcm5lZCBieSBhbiBNSVQtc3R5bGUgbGljZW5zZSB0aGF0IGNhbiBiZVxuICogZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZSBhdCBodHRwczovL2FuZ3VsYXIuaW8vbGljZW5zZVxuICovXG4vKipcbiAqIEBmaWxlb3ZlcnZpZXdcbiAqIEBzdXBwcmVzcyB7Z2xvYmFsVGhpc31cbiAqL1xuXG5pbXBvcnQgKiBhcyB3ZWJTb2NrZXRQYXRjaCBmcm9tICcuL3dlYnNvY2tldCc7XG5cbmV4cG9ydCBmdW5jdGlvbiBwcm9wZXJ0eURlc2NyaXB0b3JMZWdhY3lQYXRjaChhcGk6IF9ab25lUHJpdmF0ZSwgX2dsb2JhbDogYW55KSB7XG4gIGNvbnN0IHtpc05vZGUsIGlzTWl4fSA9IGFwaS5nZXRHbG9iYWxPYmplY3RzKCkgITtcbiAgaWYgKGlzTm9kZSAmJiAhaXNNaXgpIHtcbiAgICByZXR1cm47XG4gIH1cblxuICBpZiAoIWNhblBhdGNoVmlhUHJvcGVydHlEZXNjcmlwdG9yKGFwaSwgX2dsb2JhbCkpIHtcbiAgICBjb25zdCBzdXBwb3J0c1dlYlNvY2tldCA9IHR5cGVvZiBXZWJTb2NrZXQgIT09ICd1bmRlZmluZWQnO1xuICAgIC8vIFNhZmFyaSwgQW5kcm9pZCBicm93c2VycyAoSmVsbHkgQmVhbilcbiAgICBwYXRjaFZpYUNhcHR1cmluZ0FsbFRoZUV2ZW50cyhhcGkpO1xuICAgIGFwaS5wYXRjaENsYXNzKCdYTUxIdHRwUmVxdWVzdCcpO1xuICAgIGlmIChzdXBwb3J0c1dlYlNvY2tldCkge1xuICAgICAgd2ViU29ja2V0UGF0Y2guYXBwbHkoYXBpLCBfZ2xvYmFsKTtcbiAgICB9XG4gICAgKFpvbmUgYXMgYW55KVthcGkuc3ltYm9sKCdwYXRjaEV2ZW50cycpXSA9IHRydWU7XG4gIH1cbn1cblxuZnVuY3Rpb24gY2FuUGF0Y2hWaWFQcm9wZXJ0eURlc2NyaXB0b3IoYXBpOiBfWm9uZVByaXZhdGUsIF9nbG9iYWw6IGFueSkge1xuICBjb25zdCB7aXNCcm93c2VyLCBpc01peH0gPSBhcGkuZ2V0R2xvYmFsT2JqZWN0cygpICE7XG4gIGlmICgoaXNCcm93c2VyIHx8IGlzTWl4KSAmJlxuICAgICAgIWFwaS5PYmplY3RHZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoSFRNTEVsZW1lbnQucHJvdG90eXBlLCAnb25jbGljaycpICYmXG4gICAgICB0eXBlb2YgRWxlbWVudCAhPT0gJ3VuZGVmaW5lZCcpIHtcbiAgICAvLyBXZWJLaXQgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTEzNDM2NFxuICAgIC8vIElETCBpbnRlcmZhY2UgYXR0cmlidXRlcyBhcmUgbm90IGNvbmZpZ3VyYWJsZVxuICAgIGNvbnN0IGRlc2MgPSBhcGkuT2JqZWN0R2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKEVsZW1lbnQucHJvdG90eXBlLCAnb25jbGljaycpO1xuICAgIGlmIChkZXNjICYmICFkZXNjLmNvbmZpZ3VyYWJsZSkgcmV0dXJuIGZhbHNlO1xuICAgIC8vIHRyeSB0byB1c2Ugb25jbGljayB0byBkZXRlY3Qgd2hldGhlciB3ZSBjYW4gcGF0Y2ggdmlhIHByb3BlcnR5RGVzY3JpcHRvclxuICAgIC8vIGJlY2F1c2UgWE1MSHR0cFJlcXVlc3QgaXMgbm90IGF2YWlsYWJsZSBpbiBzZXJ2aWNlIHdvcmtlclxuICAgIGlmIChkZXNjKSB7XG4gICAgICBhcGkuT2JqZWN0RGVmaW5lUHJvcGVydHkoXG4gICAgICAgICAgRWxlbWVudC5wcm90b3R5cGUsICdvbmNsaWNrJyxcbiAgICAgICAgICB7ZW51bWVyYWJsZTogdHJ1ZSwgY29uZmlndXJhYmxlOiB0cnVlLCBnZXQ6IGZ1bmN0aW9uKCkgeyByZXR1cm4gdHJ1ZTsgfX0pO1xuICAgICAgY29uc3QgZGl2ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnZGl2Jyk7XG4gICAgICBjb25zdCByZXN1bHQgPSAhIWRpdi5vbmNsaWNrO1xuICAgICAgYXBpLk9iamVjdERlZmluZVByb3BlcnR5KEVsZW1lbnQucHJvdG90eXBlLCAnb25jbGljaycsIGRlc2MpO1xuICAgICAgcmV0dXJuIHJlc3VsdDtcbiAgICB9XG4gIH1cblxuICBjb25zdCBYTUxIdHRwUmVxdWVzdCA9IF9nbG9iYWxbJ1hNTEh0dHBSZXF1ZXN0J107XG4gIGlmICghWE1MSHR0cFJlcXVlc3QpIHtcbiAgICAvLyBYTUxIdHRwUmVxdWVzdCBpcyBub3QgYXZhaWxhYmxlIGluIHNlcnZpY2Ugd29ya2VyXG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG4gIGNvbnN0IE9OX1JFQURZX1NUQVRFX0NIQU5HRSA9ICdvbnJlYWR5c3RhdGVjaGFuZ2UnO1xuICBjb25zdCBYTUxIdHRwUmVxdWVzdFByb3RvdHlwZSA9IFhNTEh0dHBSZXF1ZXN0LnByb3RvdHlwZTtcblxuICBjb25zdCB4aHJEZXNjID1cbiAgICAgIGFwaS5PYmplY3RHZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoWE1MSHR0cFJlcXVlc3RQcm90b3R5cGUsIE9OX1JFQURZX1NUQVRFX0NIQU5HRSk7XG5cbiAgLy8gYWRkIGVudW1lcmFibGUgYW5kIGNvbmZpZ3VyYWJsZSBoZXJlIGJlY2F1c2UgaW4gb3BlcmFcbiAgLy8gYnkgZGVmYXVsdCBYTUxIdHRwUmVxdWVzdC5wcm90b3R5cGUub25yZWFkeXN0YXRlY2hhbmdlIGlzIHVuZGVmaW5lZFxuICAvLyB3aXRob3V0IGFkZGluZyBlbnVtZXJhYmxlIGFuZCBjb25maWd1cmFibGUgd2lsbCBjYXVzZSBvbnJlYWR5c3RhdGVjaGFuZ2VcbiAgLy8gbm9uLWNvbmZpZ3VyYWJsZVxuICAvLyBhbmQgaWYgWE1MSHR0cFJlcXVlc3QucHJvdG90eXBlLm9ucmVhZHlzdGF0ZWNoYW5nZSBpcyB1bmRlZmluZWQsXG4gIC8vIHdlIHNob3VsZCBzZXQgYSByZWFsIGRlc2MgaW5zdGVhZCBhIGZha2Ugb25lXG4gIGlmICh4aHJEZXNjKSB7XG4gICAgYXBpLk9iamVjdERlZmluZVByb3BlcnR5KFxuICAgICAgICBYTUxIdHRwUmVxdWVzdFByb3RvdHlwZSwgT05fUkVBRFlfU1RBVEVfQ0hBTkdFLFxuICAgICAgICB7ZW51bWVyYWJsZTogdHJ1ZSwgY29uZmlndXJhYmxlOiB0cnVlLCBnZXQ6IGZ1bmN0aW9uKCkgeyByZXR1cm4gdHJ1ZTsgfX0pO1xuICAgIGNvbnN0IHJlcSA9IG5ldyBYTUxIdHRwUmVxdWVzdCgpO1xuICAgIGNvbnN0IHJlc3VsdCA9ICEhcmVxLm9ucmVhZHlzdGF0ZWNoYW5nZTtcbiAgICAvLyByZXN0b3JlIG9yaWdpbmFsIGRlc2NcbiAgICBhcGkuT2JqZWN0RGVmaW5lUHJvcGVydHkoWE1MSHR0cFJlcXVlc3RQcm90b3R5cGUsIE9OX1JFQURZX1NUQVRFX0NIQU5HRSwgeGhyRGVzYyB8fCB7fSk7XG4gICAgcmV0dXJuIHJlc3VsdDtcbiAgfSBlbHNlIHtcbiAgICBjb25zdCBTWU1CT0xfRkFLRV9PTlJFQURZU1RBVEVDSEFOR0UgPSBhcGkuc3ltYm9sKCdmYWtlJyk7XG4gICAgYXBpLk9iamVjdERlZmluZVByb3BlcnR5KFhNTEh0dHBSZXF1ZXN0UHJvdG90eXBlLCBPTl9SRUFEWV9TVEFURV9DSEFOR0UsIHtcbiAgICAgIGVudW1lcmFibGU6IHRydWUsXG4gICAgICBjb25maWd1cmFibGU6IHRydWUsXG4gICAgICBnZXQ6IGZ1bmN0aW9uKCkgeyByZXR1cm4gdGhpc1tTWU1CT0xfRkFLRV9PTlJFQURZU1RBVEVDSEFOR0VdOyB9LFxuICAgICAgc2V0OiBmdW5jdGlvbih2YWx1ZSkgeyB0aGlzW1NZTUJPTF9GQUtFX09OUkVBRFlTVEFURUNIQU5HRV0gPSB2YWx1ZTsgfVxuICAgIH0pO1xuICAgIGNvbnN0IHJlcSA9IG5ldyBYTUxIdHRwUmVxdWVzdCgpO1xuICAgIGNvbnN0IGRldGVjdEZ1bmMgPSAoKSA9PiB7fTtcbiAgICByZXEub25yZWFkeXN0YXRlY2hhbmdlID0gZGV0ZWN0RnVuYztcbiAgICBjb25zdCByZXN1bHQgPSAocmVxIGFzIGFueSlbU1lNQk9MX0ZBS0VfT05SRUFEWVNUQVRFQ0hBTkdFXSA9PT0gZGV0ZWN0RnVuYztcbiAgICByZXEub25yZWFkeXN0YXRlY2hhbmdlID0gbnVsbCBhcyBhbnk7XG4gICAgcmV0dXJuIHJlc3VsdDtcbiAgfVxufVxuXG4vLyBXaGVuZXZlciBhbnkgZXZlbnRMaXN0ZW5lciBmaXJlcywgd2UgY2hlY2sgdGhlIGV2ZW50TGlzdGVuZXIgdGFyZ2V0IGFuZCBhbGwgcGFyZW50c1xuLy8gZm9yIGBvbndoYXRldmVyYCBwcm9wZXJ0aWVzIGFuZCByZXBsYWNlIHRoZW0gd2l0aCB6b25lLWJvdW5kIGZ1bmN0aW9uc1xuLy8gLSBDaHJvbWUgKGZvciBub3cpXG5mdW5jdGlvbiBwYXRjaFZpYUNhcHR1cmluZ0FsbFRoZUV2ZW50cyhhcGk6IF9ab25lUHJpdmF0ZSkge1xuICBjb25zdCB7ZXZlbnROYW1lc30gPSBhcGkuZ2V0R2xvYmFsT2JqZWN0cygpICE7XG4gIGNvbnN0IHVuYm91bmRLZXkgPSBhcGkuc3ltYm9sKCd1bmJvdW5kJyk7XG4gIGZvciAobGV0IGkgPSAwOyBpIDwgZXZlbnROYW1lcy5sZW5ndGg7IGkrKykge1xuICAgIGNvbnN0IHByb3BlcnR5ID0gZXZlbnROYW1lc1tpXTtcbiAgICBjb25zdCBvbnByb3BlcnR5ID0gJ29uJyArIHByb3BlcnR5O1xuICAgIHNlbGYuYWRkRXZlbnRMaXN0ZW5lcihwcm9wZXJ0eSwgZnVuY3Rpb24oZXZlbnQpIHtcbiAgICAgIGxldCBlbHQ6IGFueSA9IDxOb2RlPmV2ZW50LnRhcmdldCwgYm91bmQsIHNvdXJjZTtcbiAgICAgIGlmIChlbHQpIHtcbiAgICAgICAgc291cmNlID0gZWx0LmNvbnN0cnVjdG9yWyduYW1lJ10gKyAnLicgKyBvbnByb3BlcnR5O1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgc291cmNlID0gJ3Vua25vd24uJyArIG9ucHJvcGVydHk7XG4gICAgICB9XG4gICAgICB3aGlsZSAoZWx0KSB7XG4gICAgICAgIGlmIChlbHRbb25wcm9wZXJ0eV0gJiYgIWVsdFtvbnByb3BlcnR5XVt1bmJvdW5kS2V5XSkge1xuICAgICAgICAgIGJvdW5kID0gYXBpLndyYXBXaXRoQ3VycmVudFpvbmUoZWx0W29ucHJvcGVydHldLCBzb3VyY2UpO1xuICAgICAgICAgIGJvdW5kW3VuYm91bmRLZXldID0gZWx0W29ucHJvcGVydHldO1xuICAgICAgICAgIGVsdFtvbnByb3BlcnR5XSA9IGJvdW5kO1xuICAgICAgICB9XG4gICAgICAgIGVsdCA9IGVsdC5wYXJlbnRFbGVtZW50O1xuICAgICAgfVxuICAgIH0sIHRydWUpO1xuICB9XG59XG4iXX0=
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvcGVydHktZGVzY3JpcHRvci1sZWdhY3kuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy96b25lLmpzL2xpYi9icm93c2VyL3Byb3BlcnR5LWRlc2NyaXB0b3ItbGVnYWN5LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7R0FNRztBQUNIOzs7R0FHRzs7Ozs7Ozs7Ozs7O0lBRUgsOERBQThDO0lBRTlDLFNBQWdCLDZCQUE2QixDQUFDLEdBQWlCLEVBQUUsT0FBWTtRQUNyRSxJQUFBLDJCQUEwQyxFQUF6QyxrQkFBTSxFQUFFLGdCQUFpQyxDQUFDO1FBQ2pELElBQUksTUFBTSxJQUFJLENBQUMsS0FBSyxFQUFFO1lBQ3BCLE9BQU87U0FDUjtRQUVELElBQUksQ0FBQyw2QkFBNkIsQ0FBQyxHQUFHLEVBQUUsT0FBTyxDQUFDLEVBQUU7WUFDaEQsSUFBTSxpQkFBaUIsR0FBRyxPQUFPLFNBQVMsS0FBSyxXQUFXLENBQUM7WUFDM0Qsd0NBQXdDO1lBQ3hDLDZCQUE2QixDQUFDLEdBQUcsQ0FBQyxDQUFDO1lBQ25DLEdBQUcsQ0FBQyxVQUFVLENBQUMsZ0JBQWdCLENBQUMsQ0FBQztZQUNqQyxJQUFJLGlCQUFpQixFQUFFO2dCQUNyQixjQUFjLENBQUMsS0FBSyxDQUFDLEdBQUcsRUFBRSxPQUFPLENBQUMsQ0FBQzthQUNwQztZQUNBLElBQVksQ0FBQyxHQUFHLENBQUMsTUFBTSxDQUFDLGFBQWEsQ0FBQyxDQUFDLEdBQUcsSUFBSSxDQUFDO1NBQ2pEO0lBQ0gsQ0FBQztJQWhCRCxzRUFnQkM7SUFFRCxTQUFTLDZCQUE2QixDQUFDLEdBQWlCLEVBQUUsT0FBWTtRQUM5RCxJQUFBLDJCQUE2QyxFQUE1Qyx3QkFBUyxFQUFFLGdCQUFpQyxDQUFDO1FBQ3BELElBQUksQ0FBQyxTQUFTLElBQUksS0FBSyxDQUFDO1lBQ3BCLENBQUMsR0FBRyxDQUFDLDhCQUE4QixDQUFDLFdBQVcsQ0FB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S0FBSyxDQUFDO3FCQUN6QjtvQkFDRCxHQUFHLEdBQUcsR0FBRyxDQUFDLGFBQWEsQ0FBQztpQkFDekI7WUFDSCxDQUFDLEVBQUUsSUFBSSxDQUFDLENBQUM7O1FBbEJYLEtBQUssSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsR0FBRyxVQUFVLENBQUMsTUFBTSxFQUFFLENBQUMsRUFBRTtvQkFBakMsQ0FBQztTQW1CVDtJQUNILENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEBsaWNlbnNlXG4gKiBDb3B5cmlnaHQgR29vZ2xlIEluYy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC5cbiAqXG4gKiBVc2Ugb2YgdGhpcyBzb3VyY2UgY29kZSBpcyBnb3Zlcm5lZCBieSBhbiBNSVQtc3R5bGUgbGljZW5zZSB0aGF0IGNhbiBiZVxuICogZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZSBhdCBodHRwczovL2FuZ3VsYXIuaW8vbGljZW5zZVxuICovXG4vKipcbiAqIEBmaWxlb3ZlcnZpZXdcbiAqIEBzdXBwcmVzcyB7Z2xvYmFsVGhpc31cbiAqL1xuXG5pbXBvcnQgKiBhcyB3ZWJTb2NrZXRQYXRjaCBmcm9tICcuL3dlYnNvY2tldCc7XG5cbmV4cG9ydCBmdW5jdGlvbiBwcm9wZXJ0eURlc2NyaXB0b3JMZWdhY3lQYXRjaChhcGk6IF9ab25lUHJpdmF0ZSwgX2dsb2JhbDogYW55KSB7XG4gIGNvbnN0IHtpc05vZGUsIGlzTWl4fSA9IGFwaS5nZXRHbG9iYWxPYmplY3RzKCkgITtcbiAgaWYgKGlzTm9kZSAmJiAhaXNNaXgpIHtcbiAgICByZXR1cm47XG4gIH1cblxuICBpZiAoIWNhblBhdGNoVmlhUHJvcGVydHlEZXNjcmlwdG9yKGFwaSwgX2dsb2JhbCkpIHtcbiAgICBjb25zdCBzdXBwb3J0c1dlYlNvY2tldCA9IHR5cGVvZiBXZWJTb2NrZXQgIT09ICd1bmRlZmluZWQnO1xuICAgIC8vIFNhZmFyaSwgQW5kcm9pZCBicm93c2VycyAoSmVsbHkgQmVhbilcbiAgICBwYXRjaFZpYUNhcHR1cmluZ0FsbFRoZUV2ZW50cyhhcGkpO1xuICAgIGFwaS5wYXRjaENsYXNzKCdYTUxIdHRwUmVxdWVzdCcpO1xuICAgIGlmIChzdXBwb3J0c1dlYlNvY2tldCkge1xuICAgICAgd2ViU29ja2V0UGF0Y2guYXBwbHkoYXBpLCBfZ2xvYmFsKTtcbiAgICB9XG4gICAgKFpvbmUgYXMgYW55KVthcGkuc3ltYm9sKCdwYXRjaEV2ZW50cycpXSA9IHRydWU7XG4gIH1cbn1cblxuZnVuY3Rpb24gY2FuUGF0Y2hWaWFQcm9wZXJ0eURlc2NyaXB0b3IoYXBpOiBfWm9uZVByaXZhdGUsIF9nbG9iYWw6IGFueSkge1xuICBjb25zdCB7aXNCcm93c2VyLCBpc01peH0gPSBhcGkuZ2V0R2xvYmFsT2JqZWN0cygpICE7XG4gIGlmICgoaXNCcm93c2VyIHx8IGlzTWl4KSAmJlxuICAgICAgIWFwaS5PYmplY3RHZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoSFRNTEVsZW1lbnQucHJvdG90eXBlLCAnb25jbGljaycpICYmXG4gICAgICB0eXBlb2YgRWxlbWVudCAhPT0gJ3VuZGVmaW5lZCcpIHtcbiAgICAvLyBXZWJLaXQgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTEzNDM2NFxuICAgIC8vIElETCBpbnRlcmZhY2UgYXR0cmlidXRlcyBhcmUgbm90IGNvbmZpZ3VyYWJsZVxuICAgIGNvbnN0IGRlc2MgPSBhcGkuT2JqZWN0R2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKEVsZW1lbnQucHJvdG90eXBlLCAnb25jbGljaycpO1xuICAgIGlmIChkZXNjICYmICFkZXNjLmNvbmZpZ3VyYWJsZSkgcmV0dXJuIGZhbHNlO1xuICAgIC8vIHRyeSB0byB1c2Ugb25jbGljayB0byBkZXRlY3Qgd2hldGhlciB3ZSBjYW4gcGF0Y2ggdmlhIHByb3BlcnR5RGVzY3JpcHRvclxuICAgIC8vIGJlY2F1c2UgWE1MSHR0cFJlcXVlc3QgaXMgbm90IGF2YWlsYWJsZSBpbiBzZXJ2aWNlIHdvcmtlclxuICAgIGlmIChkZXNjKSB7XG4gICAgICBhcGkuT2JqZWN0RGVmaW5lUHJvcGVydHkoXG4gICAgICAgICAgRWxlbWVudC5wcm90b3R5cGUsICdvbmNsaWNrJyxcbiAgICAgICAgICB7ZW51bWVyYWJsZTogdHJ1ZSwgY29uZmlndXJhYmxlOiB0cnVlLCBnZXQ6IGZ1bmN0aW9uKCkgeyByZXR1cm4gdHJ1ZTsgfX0pO1xuICAgICAgY29uc3QgZGl2ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnZGl2Jyk7XG4gICAgICBjb25zdCByZXN1bHQgPSAhIWRpdi5vbmNsaWNrO1xuICAgICAgYXBpLk9iamVjdERlZmluZVByb3BlcnR5KEVsZW1lbnQucHJvdG90eXBlLCAnb25jbGljaycsIGRlc2MpO1xuICAgICAgcmV0dXJuIHJlc3VsdDtcbiAgICB9XG4gIH1cblxuICBjb25zdCBYTUxIdHRwUmVxdWVzdCA9IF9nbG9iYWxbJ1hNTEh0dHBSZXF1ZXN0J107XG4gIGlmICghWE1MSHR0cFJlcXVlc3QpIHtcbiAgICAvLyBYTUxIdHRwUmVxdWVzdCBpcyBub3QgYXZhaWxhYmxlIGluIHNlcnZpY2Ugd29ya2VyXG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG4gIGNvbnN0IE9OX1JFQURZX1NUQVRFX0NIQU5HRSA9ICdvbnJlYWR5c3RhdGVjaGFuZ2UnO1xuICBjb25zdCBYTUxIdHRwUmVxdWVzdFByb3RvdHlwZSA9IFhNTEh0dHBSZXF1ZXN0LnByb3RvdHlwZTtcblxuICBjb25zdCB4aHJEZXNjID1cbiAgICAgIGFwaS5PYmplY3RHZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoWE1MSHR0cFJlcXVlc3RQcm90b3R5cGUsIE9OX1JFQURZX1NUQVRFX0NIQU5HRSk7XG5cbiAgLy8gYWRkIGVudW1lcmFibGUgYW5kIGNvbmZpZ3VyYWJsZSBoZXJlIGJlY2F1c2UgaW4gb3BlcmFcbiAgLy8gYnkgZGVmYXVsdCBYTUxIdHRwUmVxdWVzdC5wcm90b3R5cGUub25yZWFkeXN0YXRlY2hhbmdlIGlzIHVuZGVmaW5lZFxuICAvLyB3aXRob3V0IGFkZGluZyBlbnVtZXJhYmxlIGFuZCBjb25maWd1cmFibGUgd2lsbCBjYXVzZSBvbnJlYWR5c3RhdGVjaGFuZ2VcbiAgLy8gbm9uLWNvbmZpZ3VyYWJsZVxuICAvLyBhbmQgaWYgWE1MSHR0cFJlcXVlc3QucHJvdG90eXBlLm9ucmVhZHlzdGF0ZWNoYW5nZSBpcyB1bmRlZmluZWQsXG4gIC8vIHdlIHNob3VsZCBzZXQgYSByZWFsIGRlc2MgaW5zdGVhZCBhIGZha2Ugb25lXG4gIGlmICh4aHJEZXNjKSB7XG4gICAgYXBpLk9iamVjdERlZmluZVByb3BlcnR5KFxuICAgICAgICBYTUxIdHRwUmVxdWVzdFByb3RvdHlwZSwgT05fUkVBRFlfU1RBVEVfQ0hBTkdFLFxuICAgICAgICB7ZW51bWVyYWJsZTogdHJ1ZSwgY29uZmlndXJhYmxlOiB0cnVlLCBnZXQ6IGZ1bmN0aW9uKCkgeyByZXR1cm4gdHJ1ZTsgfX0pO1xuICAgIGNvbnN0IHJlcSA9IG5ldyBYTUxIdHRwUmVxdWVzdCgpO1xuICAgIGNvbnN0IHJlc3VsdCA9ICEhcmVxLm9ucmVhZHlzdGF0ZWNoYW5nZTtcbiAgICAvLyByZXN0b3JlIG9yaWdpbmFsIGRlc2NcbiAgICBhcGkuT2JqZWN0RGVmaW5lUHJvcGVydHkoWE1MSHR0cFJlcXVlc3RQcm90b3R5cGUsIE9OX1JFQURZX1NUQVRFX0NIQU5HRSwgeGhyRGVzYyB8fCB7fSk7XG4gICAgcmV0dXJuIHJlc3VsdDtcbiAgfSBlbHNlIHtcbiAgICBjb25zdCBTWU1CT0xfRkFLRV9PTlJFQURZU1RBVEVDSEFOR0UgPSBhcGkuc3ltYm9sKCdmYWtlJyk7XG4gICAgYXBpLk9iamVjdERlZmluZVByb3BlcnR5KFhNTEh0dHBSZXF1ZXN0UHJvdG90eXBlLCBPTl9SRUFEWV9TVEFURV9DSEFOR0UsIHtcbiAgICAgIGVudW1lcmFibGU6IHRydWUsXG4gICAgICBjb25maWd1cmFibGU6IHRydWUsXG4gICAgICBnZXQ6IGZ1bmN0aW9uKCkgeyByZXR1cm4gdGhpc1tTWU1CT0xfRkFLRV9PTlJFQURZU1RBVEVDSEFOR0VdOyB9LFxuICAgICAgc2V0OiBmdW5jdGlvbih2YWx1ZSkgeyB0aGlzW1NZTUJPTF9GQUtFX09OUkVBRFlTVEFURUNIQU5HRV0gPSB2YWx1ZTsgfVxuICAgIH0pO1xuICAgIGNvbnN0IHJlcSA9IG5ldyBYTUxIdHRwUmVxdWVzdCgpO1xuICAgIGNvbnN0IGRldGVjdEZ1bmMgPSAoKSA9PiB7fTtcbiAgICByZXEub25yZWFkeXN0YXRlY2hhbmdlID0gZGV0ZWN0RnVuYztcbiAgICBjb25zdCByZXN1bHQgPSAocmVxIGFzIGFueSlbU1lNQk9MX0ZBS0VfT05SRUFEWVNUQVRFQ0hBTkdFXSA9PT0gZGV0ZWN0RnVuYztcbiAgICByZXEub25yZWFkeXN0YXRlY2hhbmdlID0gbnVsbCBhcyBhbnk7XG4gICAgcmV0dXJuIHJlc3VsdDtcbiAgfVxufVxuXG4vLyBXaGVuZXZlciBhbnkgZXZlbnRMaXN0ZW5lciBmaXJlcywgd2UgY2hlY2sgdGhlIGV2ZW50TGlzdGVuZXIgdGFyZ2V0IGFuZCBhbGwgcGFyZW50c1xuLy8gZm9yIGBvbndoYXRldmVyYCBwcm9wZXJ0aWVzIGFuZCByZXBsYWNlIHRoZW0gd2l0aCB6b25lLWJvdW5kIGZ1bmN0aW9uc1xuLy8gLSBDaHJvbWUgKGZvciBub3cpXG5mdW5jdGlvbiBwYXRjaFZpYUNhcHR1cmluZ0FsbFRoZUV2ZW50cyhhcGk6IF9ab25lUHJpdmF0ZSkge1xuICBjb25zdCB7ZXZlbnROYW1lc30gPSBhcGkuZ2V0R2xvYmFsT2JqZWN0cygpICE7XG4gIGNvbnN0IHVuYm91bmRLZXkgPSBhcGkuc3ltYm9sKCd1bmJvdW5kJyk7XG4gIGZvciAobGV0IGkgPSAwOyBpIDwgZXZlbnROYW1lcy5sZW5ndGg7IGkrKykge1xuICAgIGNvbnN0IHByb3BlcnR5ID0gZXZlbnROYW1lc1tpXTtcbiAgICBjb25zdCBvbnByb3BlcnR5ID0gJ29uJyArIHByb3BlcnR5O1xuICAgIHNlbGYuYWRkRXZlbnRMaXN0ZW5lcihwcm9wZXJ0eSwgZnVuY3Rpb24oZXZlbnQpIHtcbiAgICAgIGxldCBlbHQ6IGFueSA9IDxOb2RlPmV2ZW50LnRhcmdldCwgYm91bmQsIHNvdXJjZTtcbiAgICAgIGlmIChlbHQpIHtcbiAgICAgICAgc291cmNlID0gZWx0LmNvbnN0cnVjdG9yWyduYW1lJ10gKyAnLicgKyBvbnByb3BlcnR5O1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgc291cmNlID0gJ3Vua25vd24uJyArIG9ucHJvcGVydHk7XG4gICAgICB9XG4gICAgICB3aGlsZSAoZWx0KSB7XG4gICAgICAgIGlmIChlbHRbb25wcm9wZXJ0eV0gJiYgIWVsdFtvbnByb3BlcnR5XVt1bmJvdW5kS2V5XSkge1xuICAgICAgICAgIGJvdW5kID0gYXBpLndyYXBXaXRoQ3VycmVudFpvbmUoZWx0W29ucHJvcGVydHldLCBzb3VyY2UpO1xuICAgICAgICAgIGJvdW5kW3VuYm91bmRLZXldID0gZWx0W29ucHJvcGVydHldO1xuICAgICAgICAgIGVsdFtvbnByb3BlcnR5XSA9IGJvdW5kO1xuICAgICAgICB9XG4gICAgICAgIGVsdCA9IGVsdC5wYXJlbnRFbGVtZW50O1xuICAgICAgfVxuICAgIH0sIHRydWUpO1xuICB9XG59XG4iXX0=

@@ -12,3 +12,3 @@ /**

*/
/// <amd-module name="angular/packages/zone.js/lib/browser/property-descriptor" />
/// <amd-module name="zone.js/lib/browser/property-descriptor" />
export declare const eventNames: string[];

@@ -15,0 +15,0 @@ export interface IgnoreProperty {

@@ -18,3 +18,3 @@ /**

else if (typeof define === "function" && define.amd) {
define("angular/packages/zone.js/lib/browser/property-descriptor", ["require", "exports", "angular/packages/zone.js/lib/common/utils"], factory);
define("zone.js/lib/browser/property-descriptor", ["require", "exports", "zone.js/lib/common/utils"], factory);
}

@@ -24,3 +24,3 @@ })(function (require, exports) {

Object.defineProperty(exports, "__esModule", { value: true });
var utils_1 = require("angular/packages/zone.js/lib/common/utils");
var utils_1 = require("zone.js/lib/common/utils");
var globalEventHandlersEventNames = [

@@ -158,3 +158,3 @@ 'abort',

'userproximity',
'vrdisplyconnected',
'vrdisplayconnected',
'vrdisplaydisconnected',

@@ -322,2 +322,2 @@ 'vrdisplaypresentchange'

});
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvcGVydHktZGVzY3JpcHRvci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL3pvbmUuanMvbGliL2Jyb3dzZXIvcHJvcGVydHktZGVzY3JpcHRvci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7O0dBTUc7QUFDSDs7O0dBR0c7Ozs7Ozs7Ozs7OztJQUVILG1FQUF3RztJQUV4RyxJQUFNLDZCQUE2QixHQUFHO1FBQ3BDLE9BQU87UUFDUCxpQkFBaUI7UUFDakIsY0FBYztRQUNkLG9CQUFvQjtRQUNwQixVQUFVO1FBQ1YsYUFBYTtRQUNiLE1BQU07UUFDTixRQUFRO1FBQ1IsU0FBUztRQUNULGdCQUFnQjtRQUNoQixRQUFRO1FBQ1Isa0JBQWtCO1FBQ2xCLG1CQUFtQjtRQUNuQixnQkFBZ0I7UUFDaEIsV0FBVztRQUNYLE9BQU87UUFDUCxPQUFPO1FBQ1AsYUFBYTtRQUNiLFlBQVk7UUFDWixVQUFVO1FBQ1YsTUFBTTtRQUNOLFNBQVM7UUFDVCxXQUFXO1FBQ1gsVUFBVTtRQUNWLFdBQVc7UUFDWCxVQUFVO1FBQ1YsTUFBTTtRQUNOLGdCQUFnQjtRQUNoQixTQUFTO1FBQ1QsT0FBTztRQUNQLE9BQU87UUFDUCxPQUFPO1FBQ1AsU0FBUztRQUNULFVBQVU7UUFDVixtQkFBbUI7UUFDbkIsT0FBTztRQUNQLFNBQVM7UUFDVCxTQUFTO1FBQ1QsVUFBVTtRQUNWLE9BQU87UUFDUCxNQUFNO1FBQ04sV0FBVztRQUNYLFlBQVk7UUFDWixnQkFBZ0I7UUFDaEIsb0JBQW9CO1FBQ3BCLFdBQVc7UUFDWCxZQUFZO1FBQ1osWUFBWTtRQUNaLFdBQVc7UUFDWCxVQUFVO1FBQ1YsV0FBVztRQUNYLFNBQVM7UUFDVCxZQUFZO1FBQ1osbUJBQW1CO1FBQ25CLE9BQU87UUFDUCxNQUFNO1FBQ04sU0FBUztRQUNULGVBQWU7UUFDZixhQUFhO1FBQ2IsY0FBYztRQUNkLGNBQWM7UUFDZCxtQkFBbUI7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Q0FBQyxTQUFTLEVBQUUsd0JBQXdCLEVBQUUsZ0JBQWdCLENBQUMsQ0FBQztTQUMvRjtRQUNELElBQU0seUJBQXlCLEdBQUcsT0FBTyxDQUFDLDJCQUEyQixDQUFDLENBQUM7UUFDdkUsSUFBSSx5QkFBeUIsRUFBRTtZQUM3Qix1QkFBdUIsQ0FDbkIseUJBQXlCLElBQUkseUJBQXlCLENBQUMsU0FBUyxFQUFFLHdCQUF3QixFQUMxRixnQkFBZ0IsQ0FBQyxDQUFDO1NBQ3ZCO1FBQ0QsSUFBSSxPQUFPLFFBQVEsS0FBSyxXQUFXLEVBQUU7WUFDbkMsdUJBQXVCLENBQUMsUUFBUSxDQUFDLFNBQVMsRUFBRSxrQkFBa0IsRUFBRSxnQkFBZ0IsQ0FBQyxDQUFDO1lBQ2xGLHVCQUF1QixDQUFDLFVBQVUsQ0FBQyxTQUFTLEVBQUUsa0JBQWtCLEVBQUUsZ0JBQWdCLENBQUMsQ0FBQztZQUNwRix1QkFBdUIsQ0FBQyxnQkFBZ0IsQ0FBQyxTQUFTLEVBQUUsa0JBQWtCLEVBQUUsZ0JBQWdCLENBQUMsQ0FBQztZQUMxRix1QkFBdUIsQ0FBQyxXQUFXLENBQUMsU0FBUyxFQUFFLGtCQUFrQixFQUFFLGdCQUFnQixDQUFDLENBQUM7WUFDckYsdUJBQXVCLENBQUMsY0FBYyxDQUFDLFNBQVMsRUFBRSxrQkFBa0IsRUFBRSxnQkFBZ0IsQ0FBQyxDQUFDO1lBQ3hGLHVCQUF1QixDQUFDLFNBQVMsQ0FBQyxTQUFTLEVBQUUsa0JBQWtCLEVBQUUsZ0JBQWdCLENBQUMsQ0FBQztTQUNwRjtRQUNELElBQUksaUJBQWlCLEVBQUU7WUFDckIsdUJBQXVCLENBQUMsU0FBUyxDQUFDLFNBQVMsRUFBRSxtQkFBbUIsRUFBRSxnQkFBZ0IsQ0FBQyxDQUFDO1NBQ3JGO0lBQ0gsQ0FBQztJQXBFRCwwREFvRUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEBsaWNlbnNlXG4gKiBDb3B5cmlnaHQgR29vZ2xlIEluYy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC5cbiAqXG4gKiBVc2Ugb2YgdGhpcyBzb3VyY2UgY29kZSBpcyBnb3Zlcm5lZCBieSBhbiBNSVQtc3R5bGUgbGljZW5zZSB0aGF0IGNhbiBiZVxuICogZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZSBhdCBodHRwczovL2FuZ3VsYXIuaW8vbGljZW5zZVxuICovXG4vKipcbiAqIEBmaWxlb3ZlcnZpZXdcbiAqIEBzdXBwcmVzcyB7Z2xvYmFsVGhpc31cbiAqL1xuXG5pbXBvcnQge09iamVjdEdldFByb3RvdHlwZU9mLCBpc0Jyb3dzZXIsIGlzSUUsIGlzTWl4LCBpc05vZGUsIHBhdGNoT25Qcm9wZXJ0aWVzfSBmcm9tICcuLi9jb21tb24vdXRpbHMnO1xuXG5jb25zdCBnbG9iYWxFdmVudEhhbmRsZXJzRXZlbnROYW1lcyA9IFtcbiAgJ2Fib3J0JyxcbiAgJ2FuaW1hdGlvbmNhbmNlbCcsXG4gICdhbmltYXRpb25lbmQnLFxuICAnYW5pbWF0aW9uaXRlcmF0aW9uJyxcbiAgJ2F1eGNsaWNrJyxcbiAgJ2JlZm9yZWlucHV0JyxcbiAgJ2JsdXInLFxuICAnY2FuY2VsJyxcbiAgJ2NhbnBsYXknLFxuICAnY2FucGxheXRocm91Z2gnLFxuICAnY2hhbmdlJyxcbiAgJ2NvbXBvc2l0aW9uc3RhcnQnLFxuICAnY29tcG9zaXRpb251cGRhdGUnLFxuICAnY29tcG9zaXRpb25lbmQnLFxuICAnY3VlY2hhbmdlJyxcbiAgJ2NsaWNrJyxcbiAgJ2Nsb3NlJyxcbiAgJ2NvbnRleHRtZW51JyxcbiAgJ2N1cmVjaGFuZ2UnLFxuICAnZGJsY2xpY2snLFxuICAnZHJhZycsXG4gICdkcmFnZW5kJyxcbiAgJ2RyYWdlbnRlcicsXG4gICdkcmFnZXhpdCcsXG4gICdkcmFnbGVhdmUnLFxuICAnZHJhZ292ZXInLFxuICAnZHJvcCcsXG4gICdkdXJhdGlvbmNoYW5nZScsXG4gICdlbXB0aWVkJyxcbiAgJ2VuZGVkJyxcbiAgJ2Vycm9yJyxcbiAgJ2ZvY3VzJyxcbiAgJ2ZvY3VzaW4nLFxuICAnZm9jdXNvdXQnLFxuICAnZ290cG9pbnRlcmNhcHR1cmUnLFxuICAnaW5wdXQnLFxuICAnaW52YWxpZCcsXG4gICdrZXlkb3duJyxcbiAgJ2tleXByZXNzJyxcbiAgJ2tleXVwJyxcbiAgJ2xvYWQnLFxuICAnbG9hZHN0YXJ0JyxcbiAgJ2xvYWRlZGRhdGEnLFxuICAnbG9hZGVkbWV0YWRhdGEnLFxuICAnbG9zdHBvaW50ZXJjYXB0dXJlJyxcbiAgJ21vdXNlZG93bicsXG4gICdtb3VzZWVudGVyJyxcbiAgJ21vdXNlbGVhdmUnLFxuICAnbW91c2Vtb3ZlJyxcbiAgJ21vdXNlb3V0JyxcbiAgJ21vdXNlb3ZlcicsXG4gICdtb3VzZXVwJyxcbiAgJ21vdXNld2hlZWwnLFxuICAnb3JpZW50YXRpb25jaGFuZ2UnLFxuICAncGF1c2UnLFxuICAncGxheScsXG4gICdwbGF5aW5nJyxcbiAgJ3BvaW50ZXJjYW5jZWwnLFxuICAncG9pbnRlcmRvd24nLFxuICAncG9pbnRlcmVudGVyJyxcbiAgJ3BvaW50ZXJsZWF2ZScsXG4gICdwb2ludGVybG9ja2NoYW5nZScsXG4gICdtb3pwb2ludGVybG9ja2NoYW5nZScsXG4gICd3ZWJraXRwb2ludGVybG9ja2VyY2hhbmdlJyxcbiAgJ3BvaW50ZXJsb2NrZXJyb3InLFxuICAnbW96cG9pbnRlcmxvY2tlcnJvcicsXG4gICd3ZWJraXRwb2ludGVybG9ja2Vycm9yJyxcbiAgJ3BvaW50ZXJtb3ZlJyxcbiAgJ3BvaW50b3V0JyxcbiAgJ3BvaW50ZXJvdmVyJyxcbiAgJ3BvaW50ZXJ1cCcsXG4gICdwcm9ncmVzcycsXG4gICdyYXRlY2hhbmdlJyxcbiAgJ3Jlc2V0JyxcbiAgJ3Jlc2l6ZScsXG4gICdzY3JvbGwnLFxuICAnc2Vla2VkJyxcbiAgJ3NlZWtpbmcnLFxuICAnc2VsZWN0JyxcbiAgJ3NlbGVjdGlvbmNoYW5nZScsXG4gICdzZWxlY3RzdGFydCcsXG4gICdzaG93JyxcbiAgJ3NvcnQnLFxuICAnc3RhbGxlZCcsXG4gICdzdWJtaXQnLFxuICAnc3VzcGVuZCcsXG4gICd0aW1ldXBkYXRlJyxcbiAgJ3ZvbHVtZWNoYW5nZScsXG4gICd0b3VjaGNhbmNlbCcsXG4gICd0b3VjaG1vdmUnLFxuICAndG91Y2hzdGFydCcsXG4gICd0b3VjaGVuZCcsXG4gICd0cmFuc2l0aW9uY2FuY2VsJyxcbiAgJ3RyYW5zaXRpb25lbmQnLFxuICAnd2FpdGluZycsXG4gICd3aGVlbCdcbl07XG5jb25zdCBkb2N1bWVudEV2ZW50TmFtZXMgPSBbXG4gICdhZnRlcnNjcmlwdGV4ZWN1dGUnLCAnYmVmb3Jlc2NyaXB0ZXhlY3V0ZScsICdET01Db250ZW50TG9hZGVkJywgJ2ZyZWV6ZScsICdmdWxsc2NyZWVuY2hhbmdlJyxcbiAgJ21vemZ1bGxzY3JlZW5jaGFuZ2UnLCAnd2Via2l0ZnVsbHNjcmVlbmNoYW5nZScsICdtc2Z1bGxzY3JlZW5jaGFuZ2UnLCAnZnVsbHNjcmVlbmVycm9yJyxcbiAgJ21vemZ1bGxzY3JlZW5lcnJvcicsICd3ZWJraXRmdWxsc2NyZWVuZXJyb3InLCAnbXNmdWxsc2NyZWVuZXJyb3InLCAncmVhZHlzdGF0ZWNoYW5nZScsXG4gICd2aXNpYmlsaXR5Y2hhbmdlJywgJ3Jlc3VtZSdcbl07XG5jb25zdCB3aW5kb3dFdmVudE5hbWVzID0gW1xuICAnYWJzb2x1dGVkZXZpY2VvcmllbnRhdGlvbicsXG4gICdhZnRlcmlucHV0JyxcbiAgJ2FmdGVycHJpbnQnLFxuICAnYXBwaW5zdGFsbGVkJyxcbiAgJ2JlZm9yZWluc3RhbGxwcm9tcHQnLFxuICAnYmVmb3JlcHJpbnQnLFxuICAnYmVmb3JldW5sb2FkJyxcbiAgJ2RldmljZWxpZ2h0JyxcbiAgJ2RldmljZW1vdGlvbicsXG4gICdkZXZpY2VvcmllbnRhdGlvbicsXG4gICdkZXZpY2VvcmllbnRhdGlvbmFic29sdXRlJyxcbiAgJ2RldmljZXByb3hpbWl0eScsXG4gICdoYXNoY2hhbmdlJyxcbiAgJ2xhbmd1YWdlY2hhbmdlJyxcbiAgJ21lc3NhZ2UnLFxuICAnbW96YmVmb3JlcGFpbnQnLFxuICAnb2ZmbGluZScsXG4gICdvbmxpbmUnLFxuICAncGFpbnQnLFxuICAncGFnZXNob3cnLFxuICAncGFnZWhpZGUnLFxuICAncG9wc3RhdGUnLFxuICAncmVqZWN0aW9uaGFuZGxlZCcsXG4gICdzdG9yYWdlJyxcbiAgJ3VuaGFuZGxlZHJlamVjdGlvbicsXG4gICd1bmxvYWQnLFxuICAndXNlcnByb3hpbWl0eScsXG4gICd2cmRpc3BseWNvbm5lY3RlZCcsXG4gICd2cmRpc3BsYXlkaXNjb25uZWN0ZWQnLFxuICAndnJkaXNwbGF5cHJlc2VudGNoYW5nZSdcbl07XG5jb25zdCBodG1sRWxlbWVudEV2ZW50TmFtZXMgPSBbXG4gICdiZWZvcmVjb3B5JywgJ2JlZm9yZWN1dCcsICdiZWZvcmVwYXN0ZScsICdjb3B5JywgJ2N1dCcsICdwYXN0ZScsICdkcmFnc3RhcnQnLCAnbG9hZGVuZCcsXG4gICdhbmltYXRpb25zdGFydCcsICdzZWFyY2gnLCAndHJhbnNpdGlvbnJ1bicsICd0cmFuc2l0aW9uc3RhcnQnLCAnd2Via2l0YW5pbWF0aW9uZW5kJyxcbiAgJ3dlYmtpdGFuaW1hdGlvbml0ZXJhdGlvbicsICd3ZWJraXRhbmltYXRpb25zdGFydCcsICd3ZWJraXR0cmFuc2l0aW9uZW5kJ1xuXTtcbmNvbnN0IG1lZGlhRWxlbWVudEV2ZW50TmFtZXMgPVxuICAgIFsnZW5jcnlwdGVkJywgJ3dhaXRpbmdmb3JrZXknLCAnbXNuZWVka2V5JywgJ21vemludGVycnVwdGJlZ2luJywgJ21vemludGVycnVwdGVuZCddO1xuY29uc3QgaWVFbGVtZW50RXZlbnROYW1lcyA9IFtcbiAgJ2FjdGl2YXRlJyxcbiAgJ2FmdGVydXBkYXRlJyxcbiAgJ2FyaWFyZXF1ZXN0JyxcbiAgJ2JlZm9yZWFjdGl2YXRlJyxcbiAgJ2JlZm9yZWRlYWN0aXZhdGUnLFxuICAnYmVmb3JlZWRpdGZvY3VzJyxcbiAgJ2JlZm9yZXVwZGF0ZScsXG4gICdjZWxsY2hhbmdlJyxcbiAgJ2NvbnRyb2xzZWxlY3QnLFxuICAnZGF0YWF2YWlsYWJsZScsXG4gICdkYXRhc2V0Y2hhbmdlZCcsXG4gICdkYXRhc2V0Y29tcGxldGUnLFxuICAnZXJyb3J1cGRhdGUnLFxuICAnZmlsdGVyY2hhbmdlJyxcbiAgJ2xheW91dGNvbXBsZXRlJyxcbiAgJ2xvc2VjYXB0dXJlJyxcbiAgJ21vdmUnLFxuICAnbW92ZWVuZCcsXG4gICdtb3Zlc3RhcnQnLFxuICAncHJvcGVydHljaGFuZ2UnLFxuICAncmVzaXplZW5kJyxcbiAgJ3Jlc2l6ZXN0YXJ0JyxcbiAgJ3Jvd2VudGVyJyxcbiAgJ3Jvd2V4aXQnLFxuICAncm93c2RlbGV0ZScsXG4gICdyb3dzaW5zZXJ0ZWQnLFxuICAnY29tbWFuZCcsXG4gICdjb21wYXNzbmVlZHNjYWxpYnJhdGlvbicsXG4gICdkZWFjdGl2YXRlJyxcbiAgJ2hlbHAnLFxuICAnbXNjb250ZW50em9vbScsXG4gICdtc21hbmlwdWxhdGlvbnN0YXRlY2hhbmdlZCcsXG4gICdtc2dlc3R1cmVjaGFuZ2UnLFxuICAnbXNnZXN0dXJlZG91YmxldGFwJyxcbiAgJ21zZ2VzdHVyZWVuZCcsXG4gICdtc2dlc3R1cmVob2xkJyxcbiAgJ21zZ2VzdHVyZXN0YXJ0JyxcbiAgJ21zZ2VzdHVyZXRhcCcsXG4gICdtc2dvdHBvaW50ZXJjYXB0dXJlJyxcbiAgJ21zaW5lcnRpYXN0YXJ0JyxcbiAgJ21zbG9zdHBvaW50ZXJjYXB0dXJlJyxcbiAgJ21zcG9pbnRlcmNhbmNlbCcsXG4gICdtc3BvaW50ZXJkb3duJyxcbiAgJ21zcG9pbnRlcmVudGVyJyxcbiAgJ21zcG9pbnRlcmhvdmVyJyxcbiAgJ21zcG9pbnRlcmxlYXZlJyxcbiAgJ21zcG9pbnRlcm1vdmUnLFxuICAnbXNwb2ludGVyb3V0JyxcbiAgJ21zcG9pbnRlcm92ZXInLFxuICAnbXNwb2ludGVydXAnLFxuICAncG9pbnRlcm91dCcsXG4gICdtc3NpdGVtb2RlanVtcGxpc3RpdGVtcmVtb3ZlZCcsXG4gICdtc3RodW1ibmFpbGNsaWNrJyxcbiAgJ3N0b3AnLFxuICAnc3RvcmFnZWNvbW1pdCdcbl07XG5jb25zdCB3ZWJnbEV2ZW50TmFtZXMgPSBbJ3dlYmdsY29udGV4dHJlc3RvcmVkJywgJ3dlYmdsY29udGV4dGxvc3QnLCAnd2ViZ2xjb250ZXh0Y3JlYXRpb25lcnJvciddO1xuY29uc3QgZm9ybUV2ZW50TmFtZXMgPSBbJ2F1dG9jb21wbGV0ZScsICdhdXRvY29tcGxldGVlcnJvciddO1xuY29uc3QgZGV0YWlsRXZlbnROYW1lcyA9IFsndG9nZ2xlJ107XG5jb25zdCBmcmFtZUV2ZW50TmFtZXMgPSBbJ2xvYWQnXTtcbmNvbnN0IGZyYW1lU2V0RXZlbnROYW1lcyA9IFsnYmx1cicsICdlcnJvcicsICdmb2N1cycsICdsb2FkJywgJ3Jlc2l6ZScsICdzY3JvbGwnLCAnbWVzc2FnZWVycm9yJ107XG5jb25zdCBtYXJxdWVlRXZlbnROYW1lcyA9IFsnYm91bmNlJywgJ2ZpbmlzaCcsICdzdGFydCddO1xuXG5jb25zdCBYTUxIdHRwUmVxdWVzdEV2ZW50TmFtZXMgPSBbXG4gICdsb2Fkc3RhcnQnLCAncHJvZ3Jlc3MnLCAnYWJvcnQnLCAnZXJyb3InLCAnbG9hZCcsICdwcm9ncmVzcycsICd0aW1lb3V0JywgJ2xvYWRlbmQnLFxuICAncmVhZHlzdGF0ZWNoYW5nZSdcbl07XG5jb25zdCBJREJJbmRleEV2ZW50TmFtZXMgPVxuICAgIFsndXBncmFkZW5lZWRlZCcsICdjb21wbGV0ZScsICdhYm9ydCcsICdzdWNjZXNzJywgJ2Vycm9yJywgJ2Jsb2NrZWQnLCAndmVyc2lvbmNoYW5nZScsICdjbG9zZSddO1xuY29uc3Qgd2Vic29ja2V0RXZlbnROYW1lcyA9IFsnY2xvc2UnLCAnZXJyb3InLCAnb3BlbicsICdtZXNzYWdlJ107XG5jb25zdCB3b3JrZXJFdmVudE5hbWVzID0gWydlcnJvcicsICdtZXNzYWdlJ107XG5cbmV4cG9ydCBjb25zdCBldmVudE5hbWVzID0gZ2xvYmFsRXZlbnRIYW5kbGVyc0V2ZW50TmFtZXMuY29uY2F0KFxuICAgIHdlYmdsRXZlbnROYW1lcywgZm9ybUV2ZW50TmFtZXMsIGRldGFpbEV2ZW50TmFtZXMsIGRvY3VtZW50RXZlbnROYW1lcywgd2luZG93RXZlbnROYW1lcyxcbiAgICBodG1sRWxlbWVudEV2ZW50TmFtZXMsIGllRWxlbWVudEV2ZW50TmFtZXMpO1xuXG5leHBvcnQgaW50ZXJmYWNlIElnbm9yZVByb3BlcnR5IHtcbiAgdGFyZ2V0OiBhbnk7XG4gIGlnbm9yZVByb3BlcnRpZXM6IHN0cmluZ1tdO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gZmlsdGVyUHJvcGVydGllcyhcbiAgICB0YXJnZXQ6IGFueSwgb25Qcm9wZXJ0aWVzOiBzdHJpbmdbXSwgaWdub3JlUHJvcGVydGllczogSWdub3JlUHJvcGVydHlbXSk6IHN0cmluZ1tdIHtcbiAgaWYgKCFpZ25vcmVQcm9wZXJ0aWVzIHx8IGlnbm9yZVByb3BlcnRpZXMubGVuZ3RoID09PSAwKSB7XG4gICAgcmV0dXJuIG9uUHJvcGVydGllcztcbiAgfVxuXG4gIGNvbnN0IHRpcDogSWdub3JlUHJvcGVydHlbXSA9IGlnbm9yZVByb3BlcnRpZXMuZmlsdGVyKGlwID0+IGlwLnRhcmdldCA9PT0gdGFyZ2V0KTtcbiAgaWYgKCF0aXAgfHwgdGlwLmxlbmd0aCA9PT0gMCkge1xuICAgIHJldHVybiBvblByb3BlcnRpZXM7XG4gIH1cblxuICBjb25zdCB0YXJnZXRJZ25vcmVQcm9wZXJ0aWVzOiBzdHJpbmdbXSA9IHRpcFswXS5pZ25vcmVQcm9wZXJ0aWVzO1xuICByZXR1cm4gb25Qcm9wZXJ0aWVzLmZpbHRlcihvcCA9PiB0YXJnZXRJZ25vcmVQcm9wZXJ0aWVzLmluZGV4T2Yob3ApID09PSAtMSk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBwYXRjaEZpbHRlcmVkUHJvcGVydGllcyhcbiAgICB0YXJnZXQ6IGFueSwgb25Qcm9wZXJ0aWVzOiBzdHJpbmdbXSwgaWdub3JlUHJvcGVydGllczogSWdub3JlUHJvcGVydHlbXSwgcHJvdG90eXBlPzogYW55KSB7XG4gIC8vIGNoZWNrIHdoZXRoZXIgdGFyZ2V0IGlzIGF2YWlsYWJsZSwgc29tZXRpbWVzIHRhcmdldCB3aWxsIGJlIHVuZGVmaW5lZFxuICAvLyBiZWNhdXNlIGRpZmZlcmVudCBicm93c2VyIG9yIHNvbWUgM3JkIHBhcnR5IHBsdWdpbi5cbiAgaWYgKCF0YXJnZXQpIHtcbiAgICByZXR1cm47XG4gIH1cbiAgY29uc3QgZmlsdGVyZWRQcm9wZXJ0aWVzOiBzdHJpbmdbXSA9IGZpbHRlclByb3BlcnRpZXModGFyZ2V0LCBvblByb3BlcnRpZXMsIGlnbm9yZVByb3BlcnRpZXMpO1xuICBwYXRjaE9uUHJvcGVydGllcyh0YXJnZXQsIGZpbHRlcmVkUHJvcGVydGllcywgcHJvdG90eXBlKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHByb3BlcnR5RGVzY3JpcHRvclBhdGNoKGFwaTogX1pvbmVQcml2YXRlLCBfZ2xvYmFsOiBhbnkpIHtcbiAgaWYgKGlzTm9kZSAmJiAhaXNNaXgpIHtcbiAgICByZXR1cm47XG4gIH1cbiAgaWYgKChab25lIGFzIGFueSlbYXBpLnN5bWJvbCgncGF0Y2hFdmVudHMnKV0pIHtcbiAgICAvLyBldmVudHMgYXJlIGFscmVhZHkgYmVlbiBwYXRjaGVkIGJ5IGxlZ2FjeSBwYXRjaC5cbiAgICByZXR1cm47XG4gIH1cbiAgY29uc3Qgc3VwcG9ydHNXZWJTb2NrZXQgPSB0eXBlb2YgV2ViU29ja2V0ICE9PSAndW5kZWZpbmVkJztcbiAgY29uc3QgaWdub3JlUHJvcGVydGllczogSWdub3JlUHJvcGVydHlbXSA9IF9nbG9iYWxbJ19fWm9uZV9pZ25vcmVfb25fcHJvcGVydGllcyddO1xuICAvLyBmb3IgYnJvd3NlcnMgdGhhdCB3ZSBjYW4gcGF0Y2ggdGhlIGRlc2NyaXB0b3I6ICBDaHJvbWUgJiBGaXJlZm94XG4gIGlmIChpc0Jyb3dzZXIpIHtcbiAgICBjb25zdCBpbnRlcm5hbFdpbmRvdzogYW55ID0gd2luZG93O1xuICAgIGNvbnN0IGlnbm9yZUVycm9yUHJvcGVydGllcyA9XG4gICAgICAgIGlzSUUgPyBbe3RhcmdldDogaW50ZXJuYWxXaW5kb3csIGlnbm9yZVByb3BlcnRpZXM6IFsnZXJyb3InXX1dIDogW107XG4gICAgLy8gaW4gSUUvRWRnZSwgb25Qcm9wIG5vdCBleGlzdCBpbiB3aW5kb3cgb2JqZWN0LCBidXQgaW4gV2luZG93UHJvdG90eXBlXG4gICAgLy8gc28gd2UgbmVlZCB0byBwYXNzIFdpbmRvd1Byb3RvdHlwZSB0byBjaGVjayBvblByb3AgZXhpc3Qgb3Igbm90XG4gICAgcGF0Y2hGaWx0ZXJlZFByb3BlcnRpZXMoXG4gICAgICAgIGludGVybmFsV2luZG93LCBldmVudE5hbWVzLmNvbmNhdChbJ21lc3NhZ2VlcnJvciddKSxcbiAgICAgICAgaWdub3JlUHJvcGVydGllcyA/IGlnbm9yZVByb3BlcnRpZXMuY29uY2F0KGlnbm9yZUVycm9yUHJvcGVydGllcykgOiBpZ25vcmVQcm9wZXJ0aWVzLFxuICAgICAgICBPYmplY3RHZXRQcm90b3R5cGVPZihpbnRlcm5hbFdpbmRvdykpO1xuICAgIHBhdGNoRmlsdGVyZWRQcm9wZXJ0aWVzKERvY3VtZW50LnByb3RvdHlwZSwgZXZlbnROYW1lcywgaWdub3JlUHJvcGVydGllcyk7XG5cbiAgICBpZiAodHlwZW9mIGludGVybmFsV2luZG93WydTVkdFbGVtZW50J10gIT09ICd1bmRlZmluZWQnKSB7XG4gICAgICBwYXRjaEZpbHRlcmVkUHJvcGVydGllcyhpbnRlcm5hbFdpbmRvd1snU1ZHRWxlbWVudCddLnByb3RvdHlwZSwgZXZlbnROYW1lcywgaWdub3JlUHJvcGVydGllcyk7XG4gICAgfVxuICAgIHBhdGNoRmlsdGVyZWRQcm9wZXJ0aWVzKEVsZW1lbnQucHJvdG90eXBlLCBldmVudE5hbWVzLCBpZ25vcmVQcm9wZXJ0aWVzKTtcbiAgICBwYXRjaEZpbHRlcmVkUHJvcGVydGllcyhIVE1MRWxlbWVudC5wcm90b3R5cGUsIGV2ZW50TmFtZXMsIGlnbm9yZVByb3BlcnRpZXMpO1xuICAgIHBhdGNoRmlsdGVyZWRQcm9wZXJ0aWVzKEhUTUxNZWRpYUVsZW1lbnQucHJvdG90eXBlLCBtZWRpYUVsZW1lbnRFdmVudE5hbWVzLCBpZ25vcmVQcm9wZXJ0aWVzKTtcbiAgICBwYXRjaEZpbHRlcmVkUHJvcGVydGllcyhcbiAgICAgICAgSFRNTEZyYW1lU2V0RWxlbWVudC5wcm90b3R5cGUsIHdpbmRvd0V2ZW50TmFtZXMuY29uY2F0KGZyYW1lU2V0RXZlbnROYW1lcyksXG4gICAgICAgIGlnbm9yZVByb3BlcnRpZXMpO1xuICAgIHBhdGNoRmlsdGVyZWRQcm9wZXJ0aWVzKFxuICAgICAgICBIVE1MQm9keUVsZW1lbnQucHJvdG90eXBlLCB3aW5kb3dFdmVudE5hbWVzLmNvbmNhdChmcmFtZVNldEV2ZW50TmFtZXMpLCBpZ25vcmVQcm9wZXJ0aWVzKTtcbiAgICBwYXRjaEZpbHRlcmVkUHJvcGVydGllcyhIVE1MRnJhbWVFbGVtZW50LnByb3RvdHlwZSwgZnJhbWVFdmVudE5hbWVzLCBpZ25vcmVQcm9wZXJ0aWVzKTtcbiAgICBwYXRjaEZpbHRlcmVkUHJvcGVydGllcyhIVE1MSUZyYW1lRWxlbWVudC5wcm90b3R5cGUsIGZyYW1lRXZlbnROYW1lcywgaWdub3JlUHJvcGVydGllcyk7XG5cbiAgICBjb25zdCBIVE1MTWFycXVlZUVsZW1lbnQgPSBpbnRlcm5hbFdpbmRvd1snSFRNTE1hcnF1ZWVFbGVtZW50J107XG4gICAgaWYgKEhUTUxNYXJxdWVlRWxlbWVudCkge1xuICAgICAgcGF0Y2hGaWx0ZXJlZFByb3BlcnRpZXMoSFRNTE1hcnF1ZWVFbGVtZW50LnByb3RvdHlwZSwgbWFycXVlZUV2ZW50TmFtZXMsIGlnbm9yZVByb3BlcnRpZXMpO1xuICAgIH1cbiAgICBjb25zdCBXb3JrZXIgPSBpbnRlcm5hbFdpbmRvd1snV29ya2VyJ107XG4gICAgaWYgKFdvcmtlcikge1xuICAgICAgcGF0Y2hGaWx0ZXJlZFByb3BlcnRpZXMoV29ya2VyLnByb3RvdHlwZSwgd29ya2VyRXZlbnROYW1lcywgaWdub3JlUHJvcGVydGllcyk7XG4gICAgfVxuICB9XG4gIGNvbnN0IFhNTEh0dHBSZXF1ZXN0ID0gX2dsb2JhbFsnWE1MSHR0cFJlcXVlc3QnXTtcbiAgaWYgKFhNTEh0dHBSZXF1ZXN0KSB7XG4gICAgLy8gWE1MSHR0cFJlcXVlc3QgaXMgbm90IGF2YWlsYWJsZSBpbiBTZXJ2aWNlV29ya2VyLCBzbyB3ZSBuZWVkIHRvIGNoZWNrIGhlcmVcbiAgICBwYXRjaEZpbHRlcmVkUHJvcGVydGllcyhYTUxIdHRwUmVxdWVzdC5wcm90b3R5cGUsIFhNTEh0dHBSZXF1ZXN0RXZlbnROYW1lcywgaWdub3JlUHJvcGVydGllcyk7XG4gIH1cbiAgY29uc3QgWE1MSHR0cFJlcXVlc3RFdmVudFRhcmdldCA9IF9nbG9iYWxbJ1hNTEh0dHBSZXF1ZXN0RXZlbnRUYXJnZXQnXTtcbiAgaWYgKFhNTEh0dHBSZXF1ZXN0RXZlbnRUYXJnZXQpIHtcbiAgICBwYXRjaEZpbHRlcmVkUHJvcGVydGllcyhcbiAgICAgICAgWE1MSHR0cFJlcXVlc3RFdmVudFRhcmdldCAmJiBYTUxIdHRwUmVxdWVzdEV2ZW50VGFyZ2V0LnByb3RvdHlwZSwgWE1MSHR0cFJlcXVlc3RFdmVudE5hbWVzLFxuICAgICAgICBpZ25vcmVQcm9wZXJ0aWVzKTtcbiAgfVxuICBpZiAodHlwZW9mIElEQkluZGV4ICE9PSAndW5kZWZpbmVkJykge1xuICAgIHBhdGNoRmlsdGVyZWRQcm9wZXJ0aWVzKElEQkluZGV4LnByb3RvdHlwZSwgSURCSW5kZXhFdmVudE5hbWVzLCBpZ25vcmVQcm9wZXJ0aWVzKTtcbiAgICBwYXRjaEZpbHRlcmVkUHJvcGVydGllcyhJREJSZXF1ZXN0LnByb3RvdHlwZSwgSURCSW5kZXhFdmVudE5hbWVzLCBpZ25vcmVQcm9wZXJ0aWVzKTtcbiAgICBwYXRjaEZpbHRlcmVkUHJvcGVydGllcyhJREJPcGVuREJSZXF1ZXN0LnByb3RvdHlwZSwgSURCSW5kZXhFdmVudE5hbWVzLCBpZ25vcmVQcm9wZXJ0aWVzKTtcbiAgICBwYXRjaEZpbHRlcmVkUHJvcGVydGllcyhJREJEYXRhYmFzZS5wcm90b3R5cGUsIElEQkluZGV4RXZlbnROYW1lcywgaWdub3JlUHJvcGVydGllcyk7XG4gICAgcGF0Y2hGaWx0ZXJlZFByb3BlcnRpZXMoSURCVHJhbnNhY3Rpb24ucHJvdG90eXBlLCBJREJJbmRleEV2ZW50TmFtZXMsIGlnbm9yZVByb3BlcnRpZXMpO1xuICAgIHBhdGNoRmlsdGVyZWRQcm9wZXJ0aWVzKElEQkN1cnNvci5wcm90b3R5cGUsIElEQkluZGV4RXZlbnROYW1lcywgaWdub3JlUHJvcGVydGllcyk7XG4gIH1cbiAgaWYgKHN1cHBvcnRzV2ViU29ja2V0KSB7XG4gICAgcGF0Y2hGaWx0ZXJlZFByb3BlcnRpZXMoV2ViU29ja2V0LnByb3RvdHlwZSwgd2Vic29ja2V0RXZlbnROYW1lcywgaWdub3JlUHJvcGVydGllcyk7XG4gIH1cbn1cbiJdfQ==
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvcGVydHktZGVzY3JpcHRvci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL3pvbmUuanMvbGliL2Jyb3dzZXIvcHJvcGVydHktZGVzY3JpcHRvci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7O0dBTUc7QUFDSDs7O0dBR0c7Ozs7Ozs7Ozs7OztJQUVILGtEQUF3RztJQUV4RyxJQUFNLDZCQUE2QixHQUFHO1FBQ3BDLE9BQU87UUFDUCxpQkFBaUI7UUFDakIsY0FBYztRQUNkLG9CQUFvQjtRQUNwQixVQUFVO1FBQ1YsYUFBYTtRQUNiLE1BQU07UUFDTixRQUFRO1FBQ1IsU0FBUztRQUNULGdCQUFnQjtRQUNoQixRQUFRO1FBQ1Isa0JBQWtCO1FBQ2xCLG1CQUFtQjtRQUNuQixnQkFBZ0I7UUFDaEIsV0FBVztRQUNYLE9BQU87UUFDUCxPQUFPO1FBQ1AsYUFBYTtRQUNiLFlBQVk7UUFDWixVQUFVO1FBQ1YsTUFBTTtRQUNOLFNBQVM7UUFDVCxXQUFXO1FBQ1gsVUFBVTtRQUNWLFdBQVc7UUFDWCxVQUFVO1FBQ1YsTUFBTTtRQUNOLGdCQUFnQjtRQUNoQixTQUFTO1FBQ1QsT0FBTztRQUNQLE9BQU87UUFDUCxPQUFPO1FBQ1AsU0FBUztRQUNULFVBQVU7UUFDVixtQkFBbUI7UUFDbkIsT0FBTztRQUNQLFNBQVM7UUFDVCxTQUFTO1FBQ1QsVUFBVTtRQUNWLE9BQU87UUFDUCxNQUFNO1FBQ04sV0FBVztRQUNYLFlBQVk7UUFDWixnQkFBZ0I7UUFDaEIsb0JBQW9CO1FBQ3BCLFdBQVc7UUFDWCxZQUFZO1FBQ1osWUFBWTtRQUNaLFdBQVc7UUFDWCxVQUFVO1FBQ1YsV0FBVztRQUNYLFNBQVM7UUFDVCxZQUFZO1FBQ1osbUJBQW1CO1FBQ25CLE9BQU87UUFDUCxNQUFNO1FBQ04sU0FBUztRQUNULGVBQWU7UUFDZixhQUFhO1FBQ2IsY0FBYztRQUNkLGNBQWM7UUFDZCxtQkFBbUI7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Q0FBQyxTQUFTLEVBQUUsd0JBQXdCLEVBQUUsZ0JBQWdCLENBQUMsQ0FBQztTQUMvRjtRQUNELElBQU0seUJBQXlCLEdBQUcsT0FBTyxDQUFDLDJCQUEyQixDQUFDLENBQUM7UUFDdkUsSUFBSSx5QkFBeUIsRUFBRTtZQUM3Qix1QkFBdUIsQ0FDbkIseUJBQXlCLElBQUkseUJBQXlCLENBQUMsU0FBUyxFQUFFLHdCQUF3QixFQUMxRixnQkFBZ0IsQ0FBQyxDQUFDO1NBQ3ZCO1FBQ0QsSUFBSSxPQUFPLFFBQVEsS0FBSyxXQUFXLEVBQUU7WUFDbkMsdUJBQXVCLENBQUMsUUFBUSxDQUFDLFNBQVMsRUFBRSxrQkFBa0IsRUFBRSxnQkFBZ0IsQ0FBQyxDQUFDO1lBQ2xGLHVCQUF1QixDQUFDLFVBQVUsQ0FBQyxTQUFTLEVBQUUsa0JBQWtCLEVBQUUsZ0JBQWdCLENBQUMsQ0FBQztZQUNwRix1QkFBdUIsQ0FBQyxnQkFBZ0IsQ0FBQyxTQUFTLEVBQUUsa0JBQWtCLEVBQUUsZ0JBQWdCLENBQUMsQ0FBQztZQUMxRix1QkFBdUIsQ0FBQyxXQUFXLENBQUMsU0FBUyxFQUFFLGtCQUFrQixFQUFFLGdCQUFnQixDQUFDLENBQUM7WUFDckYsdUJBQXVCLENBQUMsY0FBYyxDQUFDLFNBQVMsRUFBRSxrQkFBa0IsRUFBRSxnQkFBZ0IsQ0FBQyxDQUFDO1lBQ3hGLHVCQUF1QixDQUFDLFNBQVMsQ0FBQyxTQUFTLEVBQUUsa0JBQWtCLEVBQUUsZ0JBQWdCLENBQUMsQ0FBQztTQUNwRjtRQUNELElBQUksaUJBQWlCLEVBQUU7WUFDckIsdUJBQXVCLENBQUMsU0FBUyxDQUFDLFNBQVMsRUFBRSxtQkFBbUIsRUFBRSxnQkFBZ0IsQ0FBQyxDQUFDO1NBQ3JGO0lBQ0gsQ0FBQztJQXBFRCwwREFvRUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEBsaWNlbnNlXG4gKiBDb3B5cmlnaHQgR29vZ2xlIEluYy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC5cbiAqXG4gKiBVc2Ugb2YgdGhpcyBzb3VyY2UgY29kZSBpcyBnb3Zlcm5lZCBieSBhbiBNSVQtc3R5bGUgbGljZW5zZSB0aGF0IGNhbiBiZVxuICogZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZSBhdCBodHRwczovL2FuZ3VsYXIuaW8vbGljZW5zZVxuICovXG4vKipcbiAqIEBmaWxlb3ZlcnZpZXdcbiAqIEBzdXBwcmVzcyB7Z2xvYmFsVGhpc31cbiAqL1xuXG5pbXBvcnQge09iamVjdEdldFByb3RvdHlwZU9mLCBpc0Jyb3dzZXIsIGlzSUUsIGlzTWl4LCBpc05vZGUsIHBhdGNoT25Qcm9wZXJ0aWVzfSBmcm9tICcuLi9jb21tb24vdXRpbHMnO1xuXG5jb25zdCBnbG9iYWxFdmVudEhhbmRsZXJzRXZlbnROYW1lcyA9IFtcbiAgJ2Fib3J0JyxcbiAgJ2FuaW1hdGlvbmNhbmNlbCcsXG4gICdhbmltYXRpb25lbmQnLFxuICAnYW5pbWF0aW9uaXRlcmF0aW9uJyxcbiAgJ2F1eGNsaWNrJyxcbiAgJ2JlZm9yZWlucHV0JyxcbiAgJ2JsdXInLFxuICAnY2FuY2VsJyxcbiAgJ2NhbnBsYXknLFxuICAnY2FucGxheXRocm91Z2gnLFxuICAnY2hhbmdlJyxcbiAgJ2NvbXBvc2l0aW9uc3RhcnQnLFxuICAnY29tcG9zaXRpb251cGRhdGUnLFxuICAnY29tcG9zaXRpb25lbmQnLFxuICAnY3VlY2hhbmdlJyxcbiAgJ2NsaWNrJyxcbiAgJ2Nsb3NlJyxcbiAgJ2NvbnRleHRtZW51JyxcbiAgJ2N1cmVjaGFuZ2UnLFxuICAnZGJsY2xpY2snLFxuICAnZHJhZycsXG4gICdkcmFnZW5kJyxcbiAgJ2RyYWdlbnRlcicsXG4gICdkcmFnZXhpdCcsXG4gICdkcmFnbGVhdmUnLFxuICAnZHJhZ292ZXInLFxuICAnZHJvcCcsXG4gICdkdXJhdGlvbmNoYW5nZScsXG4gICdlbXB0aWVkJyxcbiAgJ2VuZGVkJyxcbiAgJ2Vycm9yJyxcbiAgJ2ZvY3VzJyxcbiAgJ2ZvY3VzaW4nLFxuICAnZm9jdXNvdXQnLFxuICAnZ290cG9pbnRlcmNhcHR1cmUnLFxuICAnaW5wdXQnLFxuICAnaW52YWxpZCcsXG4gICdrZXlkb3duJyxcbiAgJ2tleXByZXNzJyxcbiAgJ2tleXVwJyxcbiAgJ2xvYWQnLFxuICAnbG9hZHN0YXJ0JyxcbiAgJ2xvYWRlZGRhdGEnLFxuICAnbG9hZGVkbWV0YWRhdGEnLFxuICAnbG9zdHBvaW50ZXJjYXB0dXJlJyxcbiAgJ21vdXNlZG93bicsXG4gICdtb3VzZWVudGVyJyxcbiAgJ21vdXNlbGVhdmUnLFxuICAnbW91c2Vtb3ZlJyxcbiAgJ21vdXNlb3V0JyxcbiAgJ21vdXNlb3ZlcicsXG4gICdtb3VzZXVwJyxcbiAgJ21vdXNld2hlZWwnLFxuICAnb3JpZW50YXRpb25jaGFuZ2UnLFxuICAncGF1c2UnLFxuICAncGxheScsXG4gICdwbGF5aW5nJyxcbiAgJ3BvaW50ZXJjYW5jZWwnLFxuICAncG9pbnRlcmRvd24nLFxuICAncG9pbnRlcmVudGVyJyxcbiAgJ3BvaW50ZXJsZWF2ZScsXG4gICdwb2ludGVybG9ja2NoYW5nZScsXG4gICdtb3pwb2ludGVybG9ja2NoYW5nZScsXG4gICd3ZWJraXRwb2ludGVybG9ja2VyY2hhbmdlJyxcbiAgJ3BvaW50ZXJsb2NrZXJyb3InLFxuICAnbW96cG9pbnRlcmxvY2tlcnJvcicsXG4gICd3ZWJraXRwb2ludGVybG9ja2Vycm9yJyxcbiAgJ3BvaW50ZXJtb3ZlJyxcbiAgJ3BvaW50b3V0JyxcbiAgJ3BvaW50ZXJvdmVyJyxcbiAgJ3BvaW50ZXJ1cCcsXG4gICdwcm9ncmVzcycsXG4gICdyYXRlY2hhbmdlJyxcbiAgJ3Jlc2V0JyxcbiAgJ3Jlc2l6ZScsXG4gICdzY3JvbGwnLFxuICAnc2Vla2VkJyxcbiAgJ3NlZWtpbmcnLFxuICAnc2VsZWN0JyxcbiAgJ3NlbGVjdGlvbmNoYW5nZScsXG4gICdzZWxlY3RzdGFydCcsXG4gICdzaG93JyxcbiAgJ3NvcnQnLFxuICAnc3RhbGxlZCcsXG4gICdzdWJtaXQnLFxuICAnc3VzcGVuZCcsXG4gICd0aW1ldXBkYXRlJyxcbiAgJ3ZvbHVtZWNoYW5nZScsXG4gICd0b3VjaGNhbmNlbCcsXG4gICd0b3VjaG1vdmUnLFxuICAndG91Y2hzdGFydCcsXG4gICd0b3VjaGVuZCcsXG4gICd0cmFuc2l0aW9uY2FuY2VsJyxcbiAgJ3RyYW5zaXRpb25lbmQnLFxuICAnd2FpdGluZycsXG4gICd3aGVlbCdcbl07XG5jb25zdCBkb2N1bWVudEV2ZW50TmFtZXMgPSBbXG4gICdhZnRlcnNjcmlwdGV4ZWN1dGUnLCAnYmVmb3Jlc2NyaXB0ZXhlY3V0ZScsICdET01Db250ZW50TG9hZGVkJywgJ2ZyZWV6ZScsICdmdWxsc2NyZWVuY2hhbmdlJyxcbiAgJ21vemZ1bGxzY3JlZW5jaGFuZ2UnLCAnd2Via2l0ZnVsbHNjcmVlbmNoYW5nZScsICdtc2Z1bGxzY3JlZW5jaGFuZ2UnLCAnZnVsbHNjcmVlbmVycm9yJyxcbiAgJ21vemZ1bGxzY3JlZW5lcnJvcicsICd3ZWJraXRmdWxsc2NyZWVuZXJyb3InLCAnbXNmdWxsc2NyZWVuZXJyb3InLCAncmVhZHlzdGF0ZWNoYW5nZScsXG4gICd2aXNpYmlsaXR5Y2hhbmdlJywgJ3Jlc3VtZSdcbl07XG5jb25zdCB3aW5kb3dFdmVudE5hbWVzID0gW1xuICAnYWJzb2x1dGVkZXZpY2VvcmllbnRhdGlvbicsXG4gICdhZnRlcmlucHV0JyxcbiAgJ2FmdGVycHJpbnQnLFxuICAnYXBwaW5zdGFsbGVkJyxcbiAgJ2JlZm9yZWluc3RhbGxwcm9tcHQnLFxuICAnYmVmb3JlcHJpbnQnLFxuICAnYmVmb3JldW5sb2FkJyxcbiAgJ2RldmljZWxpZ2h0JyxcbiAgJ2RldmljZW1vdGlvbicsXG4gICdkZXZpY2VvcmllbnRhdGlvbicsXG4gICdkZXZpY2VvcmllbnRhdGlvbmFic29sdXRlJyxcbiAgJ2RldmljZXByb3hpbWl0eScsXG4gICdoYXNoY2hhbmdlJyxcbiAgJ2xhbmd1YWdlY2hhbmdlJyxcbiAgJ21lc3NhZ2UnLFxuICAnbW96YmVmb3JlcGFpbnQnLFxuICAnb2ZmbGluZScsXG4gICdvbmxpbmUnLFxuICAncGFpbnQnLFxuICAncGFnZXNob3cnLFxuICAncGFnZWhpZGUnLFxuICAncG9wc3RhdGUnLFxuICAncmVqZWN0aW9uaGFuZGxlZCcsXG4gICdzdG9yYWdlJyxcbiAgJ3VuaGFuZGxlZHJlamVjdGlvbicsXG4gICd1bmxvYWQnLFxuICAndXNlcnByb3hpbWl0eScsXG4gICd2cmRpc3BsYXljb25uZWN0ZWQnLFxuICAndnJkaXNwbGF5ZGlzY29ubmVjdGVkJyxcbiAgJ3ZyZGlzcGxheXByZXNlbnRjaGFuZ2UnXG5dO1xuY29uc3QgaHRtbEVsZW1lbnRFdmVudE5hbWVzID0gW1xuICAnYmVmb3JlY29weScsICdiZWZvcmVjdXQnLCAnYmVmb3JlcGFzdGUnLCAnY29weScsICdjdXQnLCAncGFzdGUnLCAnZHJhZ3N0YXJ0JywgJ2xvYWRlbmQnLFxuICAnYW5pbWF0aW9uc3RhcnQnLCAnc2VhcmNoJywgJ3RyYW5zaXRpb25ydW4nLCAndHJhbnNpdGlvbnN0YXJ0JywgJ3dlYmtpdGFuaW1hdGlvbmVuZCcsXG4gICd3ZWJraXRhbmltYXRpb25pdGVyYXRpb24nLCAnd2Via2l0YW5pbWF0aW9uc3RhcnQnLCAnd2Via2l0dHJhbnNpdGlvbmVuZCdcbl07XG5jb25zdCBtZWRpYUVsZW1lbnRFdmVudE5hbWVzID1cbiAgICBbJ2VuY3J5cHRlZCcsICd3YWl0aW5nZm9ya2V5JywgJ21zbmVlZGtleScsICdtb3ppbnRlcnJ1cHRiZWdpbicsICdtb3ppbnRlcnJ1cHRlbmQnXTtcbmNvbnN0IGllRWxlbWVudEV2ZW50TmFtZXMgPSBbXG4gICdhY3RpdmF0ZScsXG4gICdhZnRlcnVwZGF0ZScsXG4gICdhcmlhcmVxdWVzdCcsXG4gICdiZWZvcmVhY3RpdmF0ZScsXG4gICdiZWZvcmVkZWFjdGl2YXRlJyxcbiAgJ2JlZm9yZWVkaXRmb2N1cycsXG4gICdiZWZvcmV1cGRhdGUnLFxuICAnY2VsbGNoYW5nZScsXG4gICdjb250cm9sc2VsZWN0JyxcbiAgJ2RhdGFhdmFpbGFibGUnLFxuICAnZGF0YXNldGNoYW5nZWQnLFxuICAnZGF0YXNldGNvbXBsZXRlJyxcbiAgJ2Vycm9ydXBkYXRlJyxcbiAgJ2ZpbHRlcmNoYW5nZScsXG4gICdsYXlvdXRjb21wbGV0ZScsXG4gICdsb3NlY2FwdHVyZScsXG4gICdtb3ZlJyxcbiAgJ21vdmVlbmQnLFxuICAnbW92ZXN0YXJ0JyxcbiAgJ3Byb3BlcnR5Y2hhbmdlJyxcbiAgJ3Jlc2l6ZWVuZCcsXG4gICdyZXNpemVzdGFydCcsXG4gICdyb3dlbnRlcicsXG4gICdyb3dleGl0JyxcbiAgJ3Jvd3NkZWxldGUnLFxuICAncm93c2luc2VydGVkJyxcbiAgJ2NvbW1hbmQnLFxuICAnY29tcGFzc25lZWRzY2FsaWJyYXRpb24nLFxuICAnZGVhY3RpdmF0ZScsXG4gICdoZWxwJyxcbiAgJ21zY29udGVudHpvb20nLFxuICAnbXNtYW5pcHVsYXRpb25zdGF0ZWNoYW5nZWQnLFxuICAnbXNnZXN0dXJlY2hhbmdlJyxcbiAgJ21zZ2VzdHVyZWRvdWJsZXRhcCcsXG4gICdtc2dlc3R1cmVlbmQnLFxuICAnbXNnZXN0dXJlaG9sZCcsXG4gICdtc2dlc3R1cmVzdGFydCcsXG4gICdtc2dlc3R1cmV0YXAnLFxuICAnbXNnb3Rwb2ludGVyY2FwdHVyZScsXG4gICdtc2luZXJ0aWFzdGFydCcsXG4gICdtc2xvc3Rwb2ludGVyY2FwdHVyZScsXG4gICdtc3BvaW50ZXJjYW5jZWwnLFxuICAnbXNwb2ludGVyZG93bicsXG4gICdtc3BvaW50ZXJlbnRlcicsXG4gICdtc3BvaW50ZXJob3ZlcicsXG4gICdtc3BvaW50ZXJsZWF2ZScsXG4gICdtc3BvaW50ZXJtb3ZlJyxcbiAgJ21zcG9pbnRlcm91dCcsXG4gICdtc3BvaW50ZXJvdmVyJyxcbiAgJ21zcG9pbnRlcnVwJyxcbiAgJ3BvaW50ZXJvdXQnLFxuICAnbXNzaXRlbW9kZWp1bXBsaXN0aXRlbXJlbW92ZWQnLFxuICAnbXN0aHVtYm5haWxjbGljaycsXG4gICdzdG9wJyxcbiAgJ3N0b3JhZ2Vjb21taXQnXG5dO1xuY29uc3Qgd2ViZ2xFdmVudE5hbWVzID0gWyd3ZWJnbGNvbnRleHRyZXN0b3JlZCcsICd3ZWJnbGNvbnRleHRsb3N0JywgJ3dlYmdsY29udGV4dGNyZWF0aW9uZXJyb3InXTtcbmNvbnN0IGZvcm1FdmVudE5hbWVzID0gWydhdXRvY29tcGxldGUnLCAnYXV0b2NvbXBsZXRlZXJyb3InXTtcbmNvbnN0IGRldGFpbEV2ZW50TmFtZXMgPSBbJ3RvZ2dsZSddO1xuY29uc3QgZnJhbWVFdmVudE5hbWVzID0gWydsb2FkJ107XG5jb25zdCBmcmFtZVNldEV2ZW50TmFtZXMgPSBbJ2JsdXInLCAnZXJyb3InLCAnZm9jdXMnLCAnbG9hZCcsICdyZXNpemUnLCAnc2Nyb2xsJywgJ21lc3NhZ2VlcnJvciddO1xuY29uc3QgbWFycXVlZUV2ZW50TmFtZXMgPSBbJ2JvdW5jZScsICdmaW5pc2gnLCAnc3RhcnQnXTtcblxuY29uc3QgWE1MSHR0cFJlcXVlc3RFdmVudE5hbWVzID0gW1xuICAnbG9hZHN0YXJ0JywgJ3Byb2dyZXNzJywgJ2Fib3J0JywgJ2Vycm9yJywgJ2xvYWQnLCAncHJvZ3Jlc3MnLCAndGltZW91dCcsICdsb2FkZW5kJyxcbiAgJ3JlYWR5c3RhdGVjaGFuZ2UnXG5dO1xuY29uc3QgSURCSW5kZXhFdmVudE5hbWVzID1cbiAgICBbJ3VwZ3JhZGVuZWVkZWQnLCAnY29tcGxldGUnLCAnYWJvcnQnLCAnc3VjY2VzcycsICdlcnJvcicsICdibG9ja2VkJywgJ3ZlcnNpb25jaGFuZ2UnLCAnY2xvc2UnXTtcbmNvbnN0IHdlYnNvY2tldEV2ZW50TmFtZXMgPSBbJ2Nsb3NlJywgJ2Vycm9yJywgJ29wZW4nLCAnbWVzc2FnZSddO1xuY29uc3Qgd29ya2VyRXZlbnROYW1lcyA9IFsnZXJyb3InLCAnbWVzc2FnZSddO1xuXG5leHBvcnQgY29uc3QgZXZlbnROYW1lcyA9IGdsb2JhbEV2ZW50SGFuZGxlcnNFdmVudE5hbWVzLmNvbmNhdChcbiAgICB3ZWJnbEV2ZW50TmFtZXMsIGZvcm1FdmVudE5hbWVzLCBkZXRhaWxFdmVudE5hbWVzLCBkb2N1bWVudEV2ZW50TmFtZXMsIHdpbmRvd0V2ZW50TmFtZXMsXG4gICAgaHRtbEVsZW1lbnRFdmVudE5hbWVzLCBpZUVsZW1lbnRFdmVudE5hbWVzKTtcblxuZXhwb3J0IGludGVyZmFjZSBJZ25vcmVQcm9wZXJ0eSB7XG4gIHRhcmdldDogYW55O1xuICBpZ25vcmVQcm9wZXJ0aWVzOiBzdHJpbmdbXTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGZpbHRlclByb3BlcnRpZXMoXG4gICAgdGFyZ2V0OiBhbnksIG9uUHJvcGVydGllczogc3RyaW5nW10sIGlnbm9yZVByb3BlcnRpZXM6IElnbm9yZVByb3BlcnR5W10pOiBzdHJpbmdbXSB7XG4gIGlmICghaWdub3JlUHJvcGVydGllcyB8fCBpZ25vcmVQcm9wZXJ0aWVzLmxlbmd0aCA9PT0gMCkge1xuICAgIHJldHVybiBvblByb3BlcnRpZXM7XG4gIH1cblxuICBjb25zdCB0aXA6IElnbm9yZVByb3BlcnR5W10gPSBpZ25vcmVQcm9wZXJ0aWVzLmZpbHRlcihpcCA9PiBpcC50YXJnZXQgPT09IHRhcmdldCk7XG4gIGlmICghdGlwIHx8IHRpcC5sZW5ndGggPT09IDApIHtcbiAgICByZXR1cm4gb25Qcm9wZXJ0aWVzO1xuICB9XG5cbiAgY29uc3QgdGFyZ2V0SWdub3JlUHJvcGVydGllczogc3RyaW5nW10gPSB0aXBbMF0uaWdub3JlUHJvcGVydGllcztcbiAgcmV0dXJuIG9uUHJvcGVydGllcy5maWx0ZXIob3AgPT4gdGFyZ2V0SWdub3JlUHJvcGVydGllcy5pbmRleE9mKG9wKSA9PT0gLTEpO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gcGF0Y2hGaWx0ZXJlZFByb3BlcnRpZXMoXG4gICAgdGFyZ2V0OiBhbnksIG9uUHJvcGVydGllczogc3RyaW5nW10sIGlnbm9yZVByb3BlcnRpZXM6IElnbm9yZVByb3BlcnR5W10sIHByb3RvdHlwZT86IGFueSkge1xuICAvLyBjaGVjayB3aGV0aGVyIHRhcmdldCBpcyBhdmFpbGFibGUsIHNvbWV0aW1lcyB0YXJnZXQgd2lsbCBiZSB1bmRlZmluZWRcbiAgLy8gYmVjYXVzZSBkaWZmZXJlbnQgYnJvd3NlciBvciBzb21lIDNyZCBwYXJ0eSBwbHVnaW4uXG4gIGlmICghdGFyZ2V0KSB7XG4gICAgcmV0dXJuO1xuICB9XG4gIGNvbnN0IGZpbHRlcmVkUHJvcGVydGllczogc3RyaW5nW10gPSBmaWx0ZXJQcm9wZXJ0aWVzKHRhcmdldCwgb25Qcm9wZXJ0aWVzLCBpZ25vcmVQcm9wZXJ0aWVzKTtcbiAgcGF0Y2hPblByb3BlcnRpZXModGFyZ2V0LCBmaWx0ZXJlZFByb3BlcnRpZXMsIHByb3RvdHlwZSk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBwcm9wZXJ0eURlc2NyaXB0b3JQYXRjaChhcGk6IF9ab25lUHJpdmF0ZSwgX2dsb2JhbDogYW55KSB7XG4gIGlmIChpc05vZGUgJiYgIWlzTWl4KSB7XG4gICAgcmV0dXJuO1xuICB9XG4gIGlmICgoWm9uZSBhcyBhbnkpW2FwaS5zeW1ib2woJ3BhdGNoRXZlbnRzJyldKSB7XG4gICAgLy8gZXZlbnRzIGFyZSBhbHJlYWR5IGJlZW4gcGF0Y2hlZCBieSBsZWdhY3kgcGF0Y2guXG4gICAgcmV0dXJuO1xuICB9XG4gIGNvbnN0IHN1cHBvcnRzV2ViU29ja2V0ID0gdHlwZW9mIFdlYlNvY2tldCAhPT0gJ3VuZGVmaW5lZCc7XG4gIGNvbnN0IGlnbm9yZVByb3BlcnRpZXM6IElnbm9yZVByb3BlcnR5W10gPSBfZ2xvYmFsWydfX1pvbmVfaWdub3JlX29uX3Byb3BlcnRpZXMnXTtcbiAgLy8gZm9yIGJyb3dzZXJzIHRoYXQgd2UgY2FuIHBhdGNoIHRoZSBkZXNjcmlwdG9yOiAgQ2hyb21lICYgRmlyZWZveFxuICBpZiAoaXNCcm93c2VyKSB7XG4gICAgY29uc3QgaW50ZXJuYWxXaW5kb3c6IGFueSA9IHdpbmRvdztcbiAgICBjb25zdCBpZ25vcmVFcnJvclByb3BlcnRpZXMgPVxuICAgICAgICBpc0lFID8gW3t0YXJnZXQ6IGludGVybmFsV2luZG93LCBpZ25vcmVQcm9wZXJ0aWVzOiBbJ2Vycm9yJ119XSA6IFtdO1xuICAgIC8vIGluIElFL0VkZ2UsIG9uUHJvcCBub3QgZXhpc3QgaW4gd2luZG93IG9iamVjdCwgYnV0IGluIFdpbmRvd1Byb3RvdHlwZVxuICAgIC8vIHNvIHdlIG5lZWQgdG8gcGFzcyBXaW5kb3dQcm90b3R5cGUgdG8gY2hlY2sgb25Qcm9wIGV4aXN0IG9yIG5vdFxuICAgIHBhdGNoRmlsdGVyZWRQcm9wZXJ0aWVzKFxuICAgICAgICBpbnRlcm5hbFdpbmRvdywgZXZlbnROYW1lcy5jb25jYXQoWydtZXNzYWdlZXJyb3InXSksXG4gICAgICAgIGlnbm9yZVByb3BlcnRpZXMgPyBpZ25vcmVQcm9wZXJ0aWVzLmNvbmNhdChpZ25vcmVFcnJvclByb3BlcnRpZXMpIDogaWdub3JlUHJvcGVydGllcyxcbiAgICAgICAgT2JqZWN0R2V0UHJvdG90eXBlT2YoaW50ZXJuYWxXaW5kb3cpKTtcbiAgICBwYXRjaEZpbHRlcmVkUHJvcGVydGllcyhEb2N1bWVudC5wcm90b3R5cGUsIGV2ZW50TmFtZXMsIGlnbm9yZVByb3BlcnRpZXMpO1xuXG4gICAgaWYgKHR5cGVvZiBpbnRlcm5hbFdpbmRvd1snU1ZHRWxlbWVudCddICE9PSAndW5kZWZpbmVkJykge1xuICAgICAgcGF0Y2hGaWx0ZXJlZFByb3BlcnRpZXMoaW50ZXJuYWxXaW5kb3dbJ1NWR0VsZW1lbnQnXS5wcm90b3R5cGUsIGV2ZW50TmFtZXMsIGlnbm9yZVByb3BlcnRpZXMpO1xuICAgIH1cbiAgICBwYXRjaEZpbHRlcmVkUHJvcGVydGllcyhFbGVtZW50LnByb3RvdHlwZSwgZXZlbnROYW1lcywgaWdub3JlUHJvcGVydGllcyk7XG4gICAgcGF0Y2hGaWx0ZXJlZFByb3BlcnRpZXMoSFRNTEVsZW1lbnQucHJvdG90eXBlLCBldmVudE5hbWVzLCBpZ25vcmVQcm9wZXJ0aWVzKTtcbiAgICBwYXRjaEZpbHRlcmVkUHJvcGVydGllcyhIVE1MTWVkaWFFbGVtZW50LnByb3RvdHlwZSwgbWVkaWFFbGVtZW50RXZlbnROYW1lcywgaWdub3JlUHJvcGVydGllcyk7XG4gICAgcGF0Y2hGaWx0ZXJlZFByb3BlcnRpZXMoXG4gICAgICAgIEhUTUxGcmFtZVNldEVsZW1lbnQucHJvdG90eXBlLCB3aW5kb3dFdmVudE5hbWVzLmNvbmNhdChmcmFtZVNldEV2ZW50TmFtZXMpLFxuICAgICAgICBpZ25vcmVQcm9wZXJ0aWVzKTtcbiAgICBwYXRjaEZpbHRlcmVkUHJvcGVydGllcyhcbiAgICAgICAgSFRNTEJvZHlFbGVtZW50LnByb3RvdHlwZSwgd2luZG93RXZlbnROYW1lcy5jb25jYXQoZnJhbWVTZXRFdmVudE5hbWVzKSwgaWdub3JlUHJvcGVydGllcyk7XG4gICAgcGF0Y2hGaWx0ZXJlZFByb3BlcnRpZXMoSFRNTEZyYW1lRWxlbWVudC5wcm90b3R5cGUsIGZyYW1lRXZlbnROYW1lcywgaWdub3JlUHJvcGVydGllcyk7XG4gICAgcGF0Y2hGaWx0ZXJlZFByb3BlcnRpZXMoSFRNTElGcmFtZUVsZW1lbnQucHJvdG90eXBlLCBmcmFtZUV2ZW50TmFtZXMsIGlnbm9yZVByb3BlcnRpZXMpO1xuXG4gICAgY29uc3QgSFRNTE1hcnF1ZWVFbGVtZW50ID0gaW50ZXJuYWxXaW5kb3dbJ0hUTUxNYXJxdWVlRWxlbWVudCddO1xuICAgIGlmIChIVE1MTWFycXVlZUVsZW1lbnQpIHtcbiAgICAgIHBhdGNoRmlsdGVyZWRQcm9wZXJ0aWVzKEhUTUxNYXJxdWVlRWxlbWVudC5wcm90b3R5cGUsIG1hcnF1ZWVFdmVudE5hbWVzLCBpZ25vcmVQcm9wZXJ0aWVzKTtcbiAgICB9XG4gICAgY29uc3QgV29ya2VyID0gaW50ZXJuYWxXaW5kb3dbJ1dvcmtlciddO1xuICAgIGlmIChXb3JrZXIpIHtcbiAgICAgIHBhdGNoRmlsdGVyZWRQcm9wZXJ0aWVzKFdvcmtlci5wcm90b3R5cGUsIHdvcmtlckV2ZW50TmFtZXMsIGlnbm9yZVByb3BlcnRpZXMpO1xuICAgIH1cbiAgfVxuICBjb25zdCBYTUxIdHRwUmVxdWVzdCA9IF9nbG9iYWxbJ1hNTEh0dHBSZXF1ZXN0J107XG4gIGlmIChYTUxIdHRwUmVxdWVzdCkge1xuICAgIC8vIFhNTEh0dHBSZXF1ZXN0IGlzIG5vdCBhdmFpbGFibGUgaW4gU2VydmljZVdvcmtlciwgc28gd2UgbmVlZCB0byBjaGVjayBoZXJlXG4gICAgcGF0Y2hGaWx0ZXJlZFByb3BlcnRpZXMoWE1MSHR0cFJlcXVlc3QucHJvdG90eXBlLCBYTUxIdHRwUmVxdWVzdEV2ZW50TmFtZXMsIGlnbm9yZVByb3BlcnRpZXMpO1xuICB9XG4gIGNvbnN0IFhNTEh0dHBSZXF1ZXN0RXZlbnRUYXJnZXQgPSBfZ2xvYmFsWydYTUxIdHRwUmVxdWVzdEV2ZW50VGFyZ2V0J107XG4gIGlmIChYTUxIdHRwUmVxdWVzdEV2ZW50VGFyZ2V0KSB7XG4gICAgcGF0Y2hGaWx0ZXJlZFByb3BlcnRpZXMoXG4gICAgICAgIFhNTEh0dHBSZXF1ZXN0RXZlbnRUYXJnZXQgJiYgWE1MSHR0cFJlcXVlc3RFdmVudFRhcmdldC5wcm90b3R5cGUsIFhNTEh0dHBSZXF1ZXN0RXZlbnROYW1lcyxcbiAgICAgICAgaWdub3JlUHJvcGVydGllcyk7XG4gIH1cbiAgaWYgKHR5cGVvZiBJREJJbmRleCAhPT0gJ3VuZGVmaW5lZCcpIHtcbiAgICBwYXRjaEZpbHRlcmVkUHJvcGVydGllcyhJREJJbmRleC5wcm90b3R5cGUsIElEQkluZGV4RXZlbnROYW1lcywgaWdub3JlUHJvcGVydGllcyk7XG4gICAgcGF0Y2hGaWx0ZXJlZFByb3BlcnRpZXMoSURCUmVxdWVzdC5wcm90b3R5cGUsIElEQkluZGV4RXZlbnROYW1lcywgaWdub3JlUHJvcGVydGllcyk7XG4gICAgcGF0Y2hGaWx0ZXJlZFByb3BlcnRpZXMoSURCT3BlbkRCUmVxdWVzdC5wcm90b3R5cGUsIElEQkluZGV4RXZlbnROYW1lcywgaWdub3JlUHJvcGVydGllcyk7XG4gICAgcGF0Y2hGaWx0ZXJlZFByb3BlcnRpZXMoSURCRGF0YWJhc2UucHJvdG90eXBlLCBJREJJbmRleEV2ZW50TmFtZXMsIGlnbm9yZVByb3BlcnRpZXMpO1xuICAgIHBhdGNoRmlsdGVyZWRQcm9wZXJ0aWVzKElEQlRyYW5zYWN0aW9uLnByb3RvdHlwZSwgSURCSW5kZXhFdmVudE5hbWVzLCBpZ25vcmVQcm9wZXJ0aWVzKTtcbiAgICBwYXRjaEZpbHRlcmVkUHJvcGVydGllcyhJREJDdXJzb3IucHJvdG90eXBlLCBJREJJbmRleEV2ZW50TmFtZXMsIGlnbm9yZVByb3BlcnRpZXMpO1xuICB9XG4gIGlmIChzdXBwb3J0c1dlYlNvY2tldCkge1xuICAgIHBhdGNoRmlsdGVyZWRQcm9wZXJ0aWVzKFdlYlNvY2tldC5wcm90b3R5cGUsIHdlYnNvY2tldEV2ZW50TmFtZXMsIGlnbm9yZVByb3BlcnRpZXMpO1xuICB9XG59XG4iXX0=

@@ -8,3 +8,3 @@ /**

*/
/// <amd-module name="angular/packages/zone.js/lib/browser/register-element" />
/// <amd-module name="zone.js/lib/browser/register-element" />
export declare function registerElementPatch(_global: any, api: _ZonePrivate): void;

@@ -14,3 +14,3 @@ /**

else if (typeof define === "function" && define.amd) {
define("angular/packages/zone.js/lib/browser/register-element", ["require", "exports"], factory);
define("zone.js/lib/browser/register-element", ["require", "exports"], factory);
}

@@ -17,0 +17,0 @@ })(function (require, exports) {

@@ -8,3 +8,3 @@ /**

*/
/// <amd-module name="angular/packages/zone.js/lib/browser/rollup-common" />
/// <amd-module name="zone.js/lib/browser/rollup-common" />
import '../zone';

@@ -11,0 +11,0 @@ import '../common/promise';

@@ -14,3 +14,3 @@ /**

else if (typeof define === "function" && define.amd) {
define("angular/packages/zone.js/lib/browser/rollup-common", ["require", "exports", "../zone", "../common/promise", "angular/packages/zone.js/lib/common/to-string", "angular/packages/zone.js/lib/browser/api-util"], factory);
define("zone.js/lib/browser/rollup-common", ["require", "exports", "../zone", "../common/promise", "zone.js/lib/common/to-string", "zone.js/lib/browser/api-util"], factory);
}

@@ -22,5 +22,5 @@ })(function (require, exports) {

require("../common/promise");
require("angular/packages/zone.js/lib/common/to-string");
require("angular/packages/zone.js/lib/browser/api-util");
require("zone.js/lib/common/to-string");
require("zone.js/lib/browser/api-util");
});
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicm9sbHVwLWNvbW1vbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL3pvbmUuanMvbGliL2Jyb3dzZXIvcm9sbHVwLWNvbW1vbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7O0dBTUc7Ozs7Ozs7Ozs7OztJQUVILG1CQUFpQjtJQUNqQiw2QkFBMkI7SUFDM0IseURBQTZCO0lBQzdCLHlEQUFvQiIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogQGxpY2Vuc2VcbiAqIENvcHlyaWdodCBHb29nbGUgSW5jLiBBbGwgUmlnaHRzIFJlc2VydmVkLlxuICpcbiAqIFVzZSBvZiB0aGlzIHNvdXJjZSBjb2RlIGlzIGdvdmVybmVkIGJ5IGFuIE1JVC1zdHlsZSBsaWNlbnNlIHRoYXQgY2FuIGJlXG4gKiBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlIGF0IGh0dHBzOi8vYW5ndWxhci5pby9saWNlbnNlXG4gKi9cblxuaW1wb3J0ICcuLi96b25lJztcbmltcG9ydCAnLi4vY29tbW9uL3Byb21pc2UnO1xuaW1wb3J0ICcuLi9jb21tb24vdG8tc3RyaW5nJztcbmltcG9ydCAnLi9hcGktdXRpbCc7XG4iXX0=
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicm9sbHVwLWNvbW1vbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL3pvbmUuanMvbGliL2Jyb3dzZXIvcm9sbHVwLWNvbW1vbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7O0dBTUc7Ozs7Ozs7Ozs7OztJQUVILG1CQUFpQjtJQUNqQiw2QkFBMkI7SUFDM0Isd0NBQTZCO0lBQzdCLHdDQUFvQiIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogQGxpY2Vuc2VcbiAqIENvcHlyaWdodCBHb29nbGUgSW5jLiBBbGwgUmlnaHRzIFJlc2VydmVkLlxuICpcbiAqIFVzZSBvZiB0aGlzIHNvdXJjZSBjb2RlIGlzIGdvdmVybmVkIGJ5IGFuIE1JVC1zdHlsZSBsaWNlbnNlIHRoYXQgY2FuIGJlXG4gKiBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlIGF0IGh0dHBzOi8vYW5ndWxhci5pby9saWNlbnNlXG4gKi9cblxuaW1wb3J0ICcuLi96b25lJztcbmltcG9ydCAnLi4vY29tbW9uL3Byb21pc2UnO1xuaW1wb3J0ICcuLi9jb21tb24vdG8tc3RyaW5nJztcbmltcG9ydCAnLi9hcGktdXRpbCc7XG4iXX0=

@@ -8,5 +8,5 @@ /**

*/
/// <amd-module name="angular/packages/zone.js/lib/browser/rollup-legacy-main" />
/// <amd-module name="zone.js/lib/browser/rollup-legacy-main" />
import './rollup-common';
import './browser-legacy';
import './browser';

@@ -14,3 +14,3 @@ /**

else if (typeof define === "function" && define.amd) {
define("angular/packages/zone.js/lib/browser/rollup-legacy-main", ["require", "exports", "angular/packages/zone.js/lib/browser/rollup-common", "angular/packages/zone.js/lib/browser/browser-legacy", "angular/packages/zone.js/lib/browser/browser"], factory);
define("zone.js/lib/browser/rollup-legacy-main", ["require", "exports", "zone.js/lib/browser/rollup-common", "zone.js/lib/browser/browser-legacy", "zone.js/lib/browser/browser"], factory);
}

@@ -20,6 +20,6 @@ })(function (require, exports) {

Object.defineProperty(exports, "__esModule", { value: true });
require("angular/packages/zone.js/lib/browser/rollup-common");
require("angular/packages/zone.js/lib/browser/browser-legacy");
require("angular/packages/zone.js/lib/browser/browser");
require("zone.js/lib/browser/rollup-common");
require("zone.js/lib/browser/browser-legacy");
require("zone.js/lib/browser/browser");
});
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicm9sbHVwLWxlZ2FjeS1tYWluLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvem9uZS5qcy9saWIvYnJvd3Nlci9yb2xsdXAtbGVnYWN5LW1haW4udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7OztHQU1HOzs7Ozs7Ozs7Ozs7SUFFSCw4REFBeUI7SUFDekIsK0RBQTBCO0lBQzFCLHdEQUFtQiIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogQGxpY2Vuc2VcbiAqIENvcHlyaWdodCBHb29nbGUgSW5jLiBBbGwgUmlnaHRzIFJlc2VydmVkLlxuICpcbiAqIFVzZSBvZiB0aGlzIHNvdXJjZSBjb2RlIGlzIGdvdmVybmVkIGJ5IGFuIE1JVC1zdHlsZSBsaWNlbnNlIHRoYXQgY2FuIGJlXG4gKiBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlIGF0IGh0dHBzOi8vYW5ndWxhci5pby9saWNlbnNlXG4gKi9cblxuaW1wb3J0ICcuL3JvbGx1cC1jb21tb24nO1xuaW1wb3J0ICcuL2Jyb3dzZXItbGVnYWN5JztcbmltcG9ydCAnLi9icm93c2VyJztcbiJdfQ==
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicm9sbHVwLWxlZ2FjeS1tYWluLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvem9uZS5qcy9saWIvYnJvd3Nlci9yb2xsdXAtbGVnYWN5LW1haW4udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7OztHQU1HOzs7Ozs7Ozs7Ozs7SUFFSCw2Q0FBeUI7SUFDekIsOENBQTBCO0lBQzFCLHVDQUFtQiIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogQGxpY2Vuc2VcbiAqIENvcHlyaWdodCBHb29nbGUgSW5jLiBBbGwgUmlnaHRzIFJlc2VydmVkLlxuICpcbiAqIFVzZSBvZiB0aGlzIHNvdXJjZSBjb2RlIGlzIGdvdmVybmVkIGJ5IGFuIE1JVC1zdHlsZSBsaWNlbnNlIHRoYXQgY2FuIGJlXG4gKiBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlIGF0IGh0dHBzOi8vYW5ndWxhci5pby9saWNlbnNlXG4gKi9cblxuaW1wb3J0ICcuL3JvbGx1cC1jb21tb24nO1xuaW1wb3J0ICcuL2Jyb3dzZXItbGVnYWN5JztcbmltcG9ydCAnLi9icm93c2VyJztcbiJdfQ==

@@ -8,4 +8,4 @@ /**

*/
/// <amd-module name="angular/packages/zone.js/lib/browser/rollup-legacy-test-main" />
/// <amd-module name="zone.js/lib/browser/rollup-legacy-test-main" />
import './rollup-legacy-main';
import '../testing/zone-testing';

@@ -14,3 +14,3 @@ /**

else if (typeof define === "function" && define.amd) {
define("angular/packages/zone.js/lib/browser/rollup-legacy-test-main", ["require", "exports", "angular/packages/zone.js/lib/browser/rollup-legacy-main", "angular/packages/zone.js/lib/testing/zone-testing"], factory);
define("zone.js/lib/browser/rollup-legacy-test-main", ["require", "exports", "zone.js/lib/browser/rollup-legacy-main", "zone.js/lib/testing/zone-testing"], factory);
}

@@ -20,6 +20,6 @@ })(function (require, exports) {

Object.defineProperty(exports, "__esModule", { value: true });
require("angular/packages/zone.js/lib/browser/rollup-legacy-main");
require("zone.js/lib/browser/rollup-legacy-main");
// load test related files into bundle
require("angular/packages/zone.js/lib/testing/zone-testing");
require("zone.js/lib/testing/zone-testing");
});
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicm9sbHVwLWxlZ2FjeS10ZXN0LW1haW4uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy96b25lLmpzL2xpYi9icm93c2VyL3JvbGx1cC1sZWdhY3ktdGVzdC1tYWluLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7R0FNRzs7Ozs7Ozs7Ozs7O0lBRUgsbUVBQThCO0lBRTlCLHNDQUFzQztJQUN0Qyw2REFBaUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEBsaWNlbnNlXG4gKiBDb3B5cmlnaHQgR29vZ2xlIEluYy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC5cbiAqXG4gKiBVc2Ugb2YgdGhpcyBzb3VyY2UgY29kZSBpcyBnb3Zlcm5lZCBieSBhbiBNSVQtc3R5bGUgbGljZW5zZSB0aGF0IGNhbiBiZVxuICogZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZSBhdCBodHRwczovL2FuZ3VsYXIuaW8vbGljZW5zZVxuICovXG5cbmltcG9ydCAnLi9yb2xsdXAtbGVnYWN5LW1haW4nO1xuXG4vLyBsb2FkIHRlc3QgcmVsYXRlZCBmaWxlcyBpbnRvIGJ1bmRsZVxuaW1wb3J0ICcuLi90ZXN0aW5nL3pvbmUtdGVzdGluZyc7XG4iXX0=
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicm9sbHVwLWxlZ2FjeS10ZXN0LW1haW4uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy96b25lLmpzL2xpYi9icm93c2VyL3JvbGx1cC1sZWdhY3ktdGVzdC1tYWluLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7R0FNRzs7Ozs7Ozs7Ozs7O0lBRUgsa0RBQThCO0lBRTlCLHNDQUFzQztJQUN0Qyw0Q0FBaUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEBsaWNlbnNlXG4gKiBDb3B5cmlnaHQgR29vZ2xlIEluYy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC5cbiAqXG4gKiBVc2Ugb2YgdGhpcyBzb3VyY2UgY29kZSBpcyBnb3Zlcm5lZCBieSBhbiBNSVQtc3R5bGUgbGljZW5zZSB0aGF0IGNhbiBiZVxuICogZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZSBhdCBodHRwczovL2FuZ3VsYXIuaW8vbGljZW5zZVxuICovXG5cbmltcG9ydCAnLi9yb2xsdXAtbGVnYWN5LW1haW4nO1xuXG4vLyBsb2FkIHRlc3QgcmVsYXRlZCBmaWxlcyBpbnRvIGJ1bmRsZVxuaW1wb3J0ICcuLi90ZXN0aW5nL3pvbmUtdGVzdGluZyc7XG4iXX0=

@@ -8,4 +8,4 @@ /**

*/
/// <amd-module name="angular/packages/zone.js/lib/browser/rollup-main" />
/// <amd-module name="zone.js/lib/browser/rollup-main" />
import './rollup-common';
import './browser';

@@ -14,3 +14,3 @@ /**

else if (typeof define === "function" && define.amd) {
define("angular/packages/zone.js/lib/browser/rollup-main", ["require", "exports", "angular/packages/zone.js/lib/browser/rollup-common", "angular/packages/zone.js/lib/browser/browser"], factory);
define("zone.js/lib/browser/rollup-main", ["require", "exports", "zone.js/lib/browser/rollup-common", "zone.js/lib/browser/browser"], factory);
}

@@ -20,5 +20,5 @@ })(function (require, exports) {

Object.defineProperty(exports, "__esModule", { value: true });
require("angular/packages/zone.js/lib/browser/rollup-common");
require("angular/packages/zone.js/lib/browser/browser");
require("zone.js/lib/browser/rollup-common");
require("zone.js/lib/browser/browser");
});
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicm9sbHVwLW1haW4uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy96b25lLmpzL2xpYi9icm93c2VyL3JvbGx1cC1tYWluLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7R0FNRzs7Ozs7Ozs7Ozs7O0lBRUgsOERBQXlCO0lBQ3pCLHdEQUFtQiIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogQGxpY2Vuc2VcbiAqIENvcHlyaWdodCBHb29nbGUgSW5jLiBBbGwgUmlnaHRzIFJlc2VydmVkLlxuICpcbiAqIFVzZSBvZiB0aGlzIHNvdXJjZSBjb2RlIGlzIGdvdmVybmVkIGJ5IGFuIE1JVC1zdHlsZSBsaWNlbnNlIHRoYXQgY2FuIGJlXG4gKiBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlIGF0IGh0dHBzOi8vYW5ndWxhci5pby9saWNlbnNlXG4gKi9cblxuaW1wb3J0ICcuL3JvbGx1cC1jb21tb24nO1xuaW1wb3J0ICcuL2Jyb3dzZXInO1xuIl19
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicm9sbHVwLW1haW4uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy96b25lLmpzL2xpYi9icm93c2VyL3JvbGx1cC1tYWluLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7R0FNRzs7Ozs7Ozs7Ozs7O0lBRUgsNkNBQXlCO0lBQ3pCLHVDQUFtQiIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogQGxpY2Vuc2VcbiAqIENvcHlyaWdodCBHb29nbGUgSW5jLiBBbGwgUmlnaHRzIFJlc2VydmVkLlxuICpcbiAqIFVzZSBvZiB0aGlzIHNvdXJjZSBjb2RlIGlzIGdvdmVybmVkIGJ5IGFuIE1JVC1zdHlsZSBsaWNlbnNlIHRoYXQgY2FuIGJlXG4gKiBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlIGF0IGh0dHBzOi8vYW5ndWxhci5pby9saWNlbnNlXG4gKi9cblxuaW1wb3J0ICcuL3JvbGx1cC1jb21tb24nO1xuaW1wb3J0ICcuL2Jyb3dzZXInO1xuIl19

@@ -8,4 +8,4 @@ /**

*/
/// <amd-module name="angular/packages/zone.js/lib/browser/rollup-test-main" />
/// <amd-module name="zone.js/lib/browser/rollup-test-main" />
import './rollup-main';
import '../testing/zone-testing';

@@ -14,3 +14,3 @@ /**

else if (typeof define === "function" && define.amd) {
define("angular/packages/zone.js/lib/browser/rollup-test-main", ["require", "exports", "angular/packages/zone.js/lib/browser/rollup-main", "angular/packages/zone.js/lib/testing/zone-testing"], factory);
define("zone.js/lib/browser/rollup-test-main", ["require", "exports", "zone.js/lib/browser/rollup-main", "zone.js/lib/testing/zone-testing"], factory);
}

@@ -20,6 +20,6 @@ })(function (require, exports) {

Object.defineProperty(exports, "__esModule", { value: true });
require("angular/packages/zone.js/lib/browser/rollup-main");
require("zone.js/lib/browser/rollup-main");
// load test related files into bundle
require("angular/packages/zone.js/lib/testing/zone-testing");
require("zone.js/lib/testing/zone-testing");
});
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicm9sbHVwLXRlc3QtbWFpbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL3pvbmUuanMvbGliL2Jyb3dzZXIvcm9sbHVwLXRlc3QtbWFpbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7O0dBTUc7Ozs7Ozs7Ozs7OztJQUVILDREQUF1QjtJQUV2QixzQ0FBc0M7SUFDdEMsNkRBQWlDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBAbGljZW5zZVxuICogQ29weXJpZ2h0IEdvb2dsZSBJbmMuIEFsbCBSaWdodHMgUmVzZXJ2ZWQuXG4gKlxuICogVXNlIG9mIHRoaXMgc291cmNlIGNvZGUgaXMgZ292ZXJuZWQgYnkgYW4gTUlULXN0eWxlIGxpY2Vuc2UgdGhhdCBjYW4gYmVcbiAqIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUgYXQgaHR0cHM6Ly9hbmd1bGFyLmlvL2xpY2Vuc2VcbiAqL1xuXG5pbXBvcnQgJy4vcm9sbHVwLW1haW4nO1xuXG4vLyBsb2FkIHRlc3QgcmVsYXRlZCBmaWxlcyBpbnRvIGJ1bmRsZVxuaW1wb3J0ICcuLi90ZXN0aW5nL3pvbmUtdGVzdGluZyc7XG4iXX0=
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicm9sbHVwLXRlc3QtbWFpbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL3pvbmUuanMvbGliL2Jyb3dzZXIvcm9sbHVwLXRlc3QtbWFpbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7O0dBTUc7Ozs7Ozs7Ozs7OztJQUVILDJDQUF1QjtJQUV2QixzQ0FBc0M7SUFDdEMsNENBQWlDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBAbGljZW5zZVxuICogQ29weXJpZ2h0IEdvb2dsZSBJbmMuIEFsbCBSaWdodHMgUmVzZXJ2ZWQuXG4gKlxuICogVXNlIG9mIHRoaXMgc291cmNlIGNvZGUgaXMgZ292ZXJuZWQgYnkgYW4gTUlULXN0eWxlIGxpY2Vuc2UgdGhhdCBjYW4gYmVcbiAqIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUgYXQgaHR0cHM6Ly9hbmd1bGFyLmlvL2xpY2Vuc2VcbiAqL1xuXG5pbXBvcnQgJy4vcm9sbHVwLW1haW4nO1xuXG4vLyBsb2FkIHRlc3QgcmVsYXRlZCBmaWxlcyBpbnRvIGJ1bmRsZVxuaW1wb3J0ICcuLi90ZXN0aW5nL3pvbmUtdGVzdGluZyc7XG4iXX0=

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

/// <amd-module name="angular/packages/zone.js/lib/browser/shadydom" />
/// <amd-module name="zone.js/lib/browser/shadydom" />

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

/// <amd-module name="angular/packages/zone.js/lib/browser/webapis-media-query" />
/// <amd-module name="zone.js/lib/browser/webapis-media-query" />

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

/// <amd-module name="angular/packages/zone.js/lib/browser/webapis-notification" />
/// <amd-module name="zone.js/lib/browser/webapis-notification" />

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

/// <amd-module name="angular/packages/zone.js/lib/browser/webapis-resize-observer" />
/// <amd-module name="zone.js/lib/browser/webapis-resize-observer" />
"use strict";
var __values = (this && this.__values) || function (o) {
var m = typeof Symbol === "function" && o[Symbol.iterator], i = 0;
var __values = (this && this.__values) || function(o) {
var s = typeof Symbol === "function" && Symbol.iterator, m = s && o[s], i = 0;
if (m) return m.call(o);
return {
if (o && typeof o.length === "number") return {
next: function () {

@@ -11,2 +11,3 @@ if (o && i >= o.length) o = void 0;

};
throw new TypeError(s ? "Object is not iterable." : "Symbol.iterator is not defined.");
};

@@ -107,2 +108,2 @@ /**

});
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2ViYXBpcy1yZXNpemUtb2JzZXJ2ZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy96b25lLmpzL2xpYi9icm93c2VyL3dlYmFwaXMtcmVzaXplLW9ic2VydmVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7O0FBQUE7Ozs7OztHQU1HO0FBQ0gsSUFBSSxDQUFDLFlBQVksQ0FBQyxnQkFBZ0IsRUFBRSxVQUFDLE1BQVcsRUFBRSxJQUFTLEVBQUUsR0FBaUI7SUFDNUUsSUFBTSxjQUFjLEdBQUcsTUFBTSxDQUFDLGdCQUFnQixDQUFDLENBQUM7SUFDaEQsSUFBSSxDQUFDLGNBQWMsRUFBRTtRQUNuQixPQUFPO0tBQ1I7SUFFRCxJQUFNLG9CQUFvQixHQUFHLEdBQUcsQ0FBQyxNQUFNLENBQUMsZ0JBQWdCLENBQUMsQ0FBQztJQUUxRCxHQUFHLENBQUMsV0FBVyxDQUFDLE1BQU0sRUFBRSxnQkFBZ0IsRUFBRSxVQUFDLFFBQWtCLElBQUssT0FBQSxVQUFDLElBQVMsRUFBRSxJQUFXO1FBQ3ZGLElBQU0sUUFBUSxHQUFHLElBQUksQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQztRQUNsRCxJQUFJLFFBQVEsRUFBRTtZQUNaLElBQUksQ0FBQyxDQUFDLENBQUMsR0FBRyxVQUFTLE9BQVksRUFBRSxRQUFhOztnQkFBcEMsaUJBd0JUO2dCQXZCQyxJQUFNLEtBQUssR0FBOEIsRUFBRSxDQUFDO2dCQUM1QyxJQUFNLFFBQVEsR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDOztvQkFDOUIsS0FBa0IsSUFBQSxZQUFBLFNBQUEsT0FBTyxDQUFBLGdDQUFBLHFEQUFFO3dCQUF0QixJQUFJLEtBQUssb0JBQUE7d0JBQ1osSUFBSSxJQUFJLEdBQUcsS0FBSyxDQUFDLE1BQU0sQ0FBQyxvQkFBb0Is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LEdBQUcsSUFBSSxDQUFDLG9CQUFvQixDQUFDLENBQUM7UUFDekMsSUFBSSxPQUFPLEVBQUU7WUFDWCxLQUFLLElBQUksQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEdBQUcsT0FBTyxDQUFDLE1BQU0sRUFBRSxDQUFDLEVBQUUsRUFBRTtnQkFDdkMsSUFBSSxPQUFPLENBQUMsQ0FBQyxDQUFDLEtBQUssTUFBTSxFQUFFO29CQUN6QixPQUFPLENBQUMsTUFBTSxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQztvQkFDckIsTUFBTTtpQkFDUDthQUNGO1NBQ0Y7UUFDRCxNQUFNLENBQUMsb0JBQW9CLENBQUMsR0FBRyxTQUFTLENBQUM7UUFDekMsT0FBTyxRQUFRLENBQUMsS0FBSyxDQUFDLElBQUksRUFBRSxJQUFJLENBQUMsQ0FBQztJQUNwQyxDQUFDLEVBaEI4RCxDQWdCOUQsQ0FBQyxDQUFDO0lBRVAsR0FBRyxDQUFDLFdBQVcsQ0FDWCxjQUFjLENBQUMsU0FBUyxFQUFFLFlBQVksRUFBRSxVQUFDLFFBQWtCLElBQUssT0FBQSxVQUFDLElBQVMsRUFBRSxJQUFXO1FBQ3JGLElBQU0sT0FBTyxHQUFHLElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxDQUFDO1FBQzNDLElBQUksT0FBTyxFQUFFO1lBQ1gsT0FBTyxDQUFDLE9BQU8sQ0FBQyxVQUFDLE1BQVcsSUFBTyxNQUFNLENBQUMsb0JBQW9CLENBQUMsR0FBRyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztZQUNoRixJQUFJLENBQUMsb0JBQW9CLENBQUMsR0FBRyxTQUFTLENBQUM7U0FDeEM7UUFDRCxPQUFPLFFBQVEsQ0FBQyxLQUFLLENBQUMsSUFBSSxFQUFFLElBQUksQ0FBQyxDQUFDO0lBQ3BDLENBQUMsRUFQK0QsQ0FPL0QsQ0FBQyxDQUFDO0FBQ1QsQ0FBQyxDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEBsaWNlbnNlXG4gKiBDb3B5cmlnaHQgR29vZ2xlIEluYy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC5cbiAqXG4gKiBVc2Ugb2YgdGhpcyBzb3VyY2UgY29kZSBpcyBnb3Zlcm5lZCBieSBhbiBNSVQtc3R5bGUgbGljZW5zZSB0aGF0IGNhbiBiZVxuICogZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZSBhdCBodHRwczovL2FuZ3VsYXIuaW8vbGljZW5zZVxuICovXG5ab25lLl9fbG9hZF9wYXRjaCgnUmVzaXplT2JzZXJ2ZXInLCAoZ2xvYmFsOiBhbnksIFpvbmU6IGFueSwgYXBpOiBfWm9uZVByaXZhdGUpID0+IHtcbiAgY29uc3QgUmVzaXplT2JzZXJ2ZXIgPSBnbG9iYWxbJ1Jlc2l6ZU9ic2VydmVyJ107XG4gIGlmICghUmVzaXplT2JzZXJ2ZXIpIHtcbiAgICByZXR1cm47XG4gIH1cblxuICBjb25zdCByZXNpemVPYnNlcnZlclN5bWJvbCA9IGFwaS5zeW1ib2woJ1Jlc2l6ZU9ic2VydmVyJyk7XG5cbiAgYXBpLnBhdGNoTWV0aG9kKGdsb2JhbCwgJ1Jlc2l6ZU9ic2VydmVyJywgKGRlbGVnYXRlOiBGdW5jdGlvbikgPT4gKHNlbGY6IGFueSwgYXJnczogYW55W10pID0+IHtcbiAgICBjb25zdCBjYWxsYmFjayA9IGFyZ3MubGVuZ3RoID4gMCA/IGFyZ3NbMF0gOiBudWxsO1xuICAgIGlmIChjYWxsYmFjaykge1xuICAgICAgYXJnc1swXSA9IGZ1bmN0aW9uKGVudHJpZXM6IGFueSwgb2JzZXJ2ZXI6IGFueSkge1xuICAgICAgICBjb25zdCB6b25lczoge1t6b25lTmFtZTogc3RyaW5nXTogYW55fSA9IHt9O1xuICAgICAgICBjb25zdCBjdXJyWm9uZSA9IFpvbmUuY3VycmVudDtcbiAgICAgICAgZm9yIChsZXQgZW50cnkgb2YgZW50cmllcykge1xuICAgICAgICAgIGxldCB6b25lID0gZW50cnkudGFyZ2V0W3Jlc2l6ZU9ic2VydmVyU3ltYm9sXTtcbiAgICAgICAgICBpZiAoIXpvbmUpIHtcbiAgICAgICAgICAgIHpvbmUgPSBjdXJyWm9uZTtcbiAgICAgICAgICB9XG4gICAgICAgICAgbGV0IHpvbmVFbnRyaWVzSW5mbyA9IHpvbmVzW3pvbmUubmFtZV07XG4gICAgICAgICAgaWYgKCF6b25lRW50cmllc0luZm8pIHtcbiAgICAgICAgICAgIHpvbmVzW3pvbmUubmFtZV0gPSB6b25lRW50cmllc0luZm8gPSB7ZW50cmllczogW10sIHpvbmU6IHpvbmV9O1xuICAgICAgICAgIH1cbiAgICAgICAgICB6b25lRW50cmllc0luZm8uZW50cmllcy5wdXNoKGVudHJ5KTtcbiAgICAgICAgfVxuXG4gICAgICAgIE9iamVjdC5rZXlzKHpvbmVzKS5mb3JFYWNoKHpvbmVOYW1lID0+IHtcbiAgICAgICAgICBjb25zdCB6b25lRW50cmllc0luZm8gPSB6b25lc1t6b25lTmFtZV07XG4gICAgICAgICAgaWYgKHpvbmVFbnRyaWVzSW5mby56b25lICE9PSBab25lLmN1cnJlbnQpIHtcbiAgICAgICAgICAgIHpvbmVFbnRyaWVzSW5mby56b25lLnJ1bihcbiAgICAgICAgICAgICAgICBjYWxsYmFjaywgdGhpcywgW3pvbmVFbnRyaWVzSW5mby5lbnRyaWVzLCBvYnNlcnZlcl0sICdSZXNpemVPYnNlcnZlcicpO1xuICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICBjYWxsYmFjay5jYWxsKHRoaXMsIHpvbmVFbnRyaWVzSW5mby5lbnRyaWVzLCBvYnNlcnZlcik7XG4gICAgICAgICAgfVxuICAgICAgICB9KTtcbiAgICAgIH07XG4gICAgfVxuICAgIHJldHVybiBhcmdzLmxlbmd0aCA+IDAgPyBuZXcgUmVzaXplT2JzZXJ2ZXIoYXJnc1swXSkgOiBuZXcgUmVzaXplT2JzZXJ2ZXIoKTtcbiAgfSk7XG5cbiAgYXBpLnBhdGNoTWV0aG9kKFxuICAgICAgUmVzaXplT2JzZXJ2ZXIucHJvdG90eXBlLCAnb2JzZXJ2ZScsIChkZWxlZ2F0ZTogRnVuY3Rpb24pID0+IChzZWxmOiBhbnksIGFyZ3M6IGFueVtdKSA9PiB7XG4gICAgICAgIGNvbnN0IHRhcmdldCA9IGFyZ3MubGVuZ3RoID4gMCA/IGFyZ3NbMF0gOiBudWxsO1xuICAgICAgICBpZiAoIXRhcmdldCkge1xuICAgICAgICAgIHJldHVybiBkZWxlZ2F0ZS5hcHBseShzZWxmLCBhcmdzKTtcbiAgICAgICAgfVxuICAgICAgICBsZXQgdGFyZ2V0cyA9IHNlbGZbcmVzaXplT2JzZXJ2ZXJTeW1ib2xdO1xuICAgICAgICBpZiAoIXRhcmdldHMpIHtcbiAgICAgICAgICB0YXJnZXRzID0gc2VsZltyZXNpemVPYnNlcnZlclN5bWJvbF0gPSBbXTtcbiAgICAgICAgfVxuICAgICAgICB0YXJnZXRzLnB1c2godGFyZ2V0KTtcbiAgICAgICAgdGFyZ2V0W3Jlc2l6ZU9ic2VydmVyU3ltYm9sXSA9IFpvbmUuY3VycmVudDtcbiAgICAgICAgcmV0dXJuIGRlbGVnYXRlLmFwcGx5KHNlbGYsIGFyZ3MpO1xuICAgICAgfSk7XG5cbiAgYXBpLnBhdGNoTWV0aG9kKFxuICAgICAgUmVzaXplT2JzZXJ2ZXIucHJvdG90eXBlLCAndW5vYnNlcnZlJywgKGRlbGVnYXRlOiBGdW5jdGlvbikgPT4gKHNlbGY6IGFueSwgYXJnczogYW55W10pID0+IHtcbiAgICAgICAgY29uc3QgdGFyZ2V0ID0gYXJncy5sZW5ndGggPiAwID8gYXJnc1swXSA6IG51bGw7XG4gICAgICAgIGlmICghdGFyZ2V0KSB7XG4gICAgICAgICAgcmV0dXJuIGRlbGVnYXRlLmFwcGx5KHNlbGYsIGFyZ3MpO1xuICAgICAgICB9XG4gICAgICAgIGxldCB0YXJnZXRzID0gc2VsZltyZXNpemVPYnNlcnZlclN5bWJvbF07XG4gICAgICAgIGlmICh0YXJnZXRzKSB7XG4gICAgICAgICAgZm9yIChsZXQgaSA9IDA7IGkgPCB0YXJnZXRzLmxlbmd0aDsgaSsrKSB7XG4gICAgICAgICAgICBpZiAodGFyZ2V0c1tpXSA9PT0gdGFyZ2V0KSB7XG4gICAgICAgICAgICAgIHRhcmdldHMuc3BsaWNlKGksIDEpO1xuICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgdGFyZ2V0W3Jlc2l6ZU9ic2VydmVyU3ltYm9sXSA9IHVuZGVmaW5lZDtcbiAgICAgICAgcmV0dXJuIGRlbGVnYXRlLmFwcGx5KHNlbGYsIGFyZ3MpO1xuICAgICAgfSk7XG5cbiAgYXBpLnBhdGNoTWV0aG9kKFxuICAgICAgUmVzaXplT2JzZXJ2ZXIucHJvdG90eXBlLCAnZGlzY29ubmVjdCcsIChkZWxlZ2F0ZTogRnVuY3Rpb24pID0+IChzZWxmOiBhbnksIGFyZ3M6IGFueVtdKSA9PiB7XG4gICAgICAgIGNvbnN0IHRhcmdldHMgPSBzZWxmW3Jlc2l6ZU9ic2VydmVyU3ltYm9sXTtcbiAgICAgICAgaWYgKHRhcmdldHMpIHtcbiAgICAgICAgICB0YXJnZXRzLmZvckVhY2goKHRhcmdldDogYW55KSA9PiB7IHRhcmdldFtyZXNpemVPYnNlcnZlclN5bWJvbF0gPSB1bmRlZmluZWQ7IH0pO1xuICAgICAgICAgIHNlbGZbcmVzaXplT2JzZXJ2ZXJTeW1ib2xdID0gdW5kZWZpbmVkO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiBkZWxlZ2F0ZS5hcHBseShzZWxmLCBhcmdzKTtcbiAgICAgIH0pO1xufSk7XG4iXX0=
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2ViYXBpcy1yZXNpemUtb2JzZXJ2ZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy96b25lLmpzL2xpYi9icm93c2VyL3dlYmFwaXMtcmVzaXplLW9ic2VydmVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7OztBQUFBOzs7Ozs7R0FNRztBQUNILElBQUksQ0FBQyxZQUFZLENBQUMsZ0JBQWdCLEVBQUUsVUFBQyxNQUFXLEVBQUUsSUFBUyxFQUFFLEdBQWlCO0lBQzVFLElBQU0sY0FBYyxHQUFHLE1BQU0sQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDO0lBQ2hELElBQUksQ0FBQyxjQUFjLEVBQUU7UUFDbkIsT0FBTztLQUNSO0lBRUQsSUFBTSxvQkFBb0IsR0FBRyxHQUFHLENBQUMsTUFBTSxDQUFDLGdCQUFnQixDQUFDLENBQUM7SUFFMUQsR0FBRyxDQUFDLFdBQVcsQ0FBQyxNQUFNLEVBQUUsZ0JBQWdCLEVBQUUsVUFBQyxRQUFrQixJQUFLLE9BQUEsVUFBQyxJQUFTLEVBQUUsSUFBVztRQUN2RixJQUFNLFFBQVEsR0FBRyxJQUFJLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUM7UUFDbEQsSUFBSSxRQUFRLEVBQUU7WUFDWixJQUFJLENBQUMsQ0FBQyxDQUFDLEdBQUcsVUFBUyxPQUFZLEVBQUUsUUFBYTs7Z0JBQXBDLGlCQXdCVDtnQkF2QkMsSUFBTSxLQUFLLEdBQThCLEVBQUUsQ0FBQztnQkFDNUMsSUFBTSxRQUFRLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQzs7b0JBQzlCLEtBQWtCLElBQUEsWUFBQSxTQUFBLE9BQU8sQ0FBQSxnQ0FBQSxxREFBRTt3QkFBdEIsSUFBSSxLQUFLLG9CQUFBO3dCQUNaLElBQUksSUFBSSxHQUFHLEtBQUssQ0FBQyxNQUFNLENBQUMsb0JBQW9C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TyxHQUFHLElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxDQUFDO1FBQ3pDLElBQUksT0FBTyxFQUFFO1lBQ1gsS0FBSyxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxHQUFHLE9BQU8sQ0FBQyxNQUFNLEVBQUUsQ0FBQyxFQUFFLEVBQUU7Z0JBQ3ZDLElBQUksT0FBTyxDQUFDLENBQUMsQ0FBQyxLQUFLLE1BQU0sRUFBRTtvQkFDekIsT0FBTyxDQUFDLE1BQU0sQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUM7b0JBQ3JCLE1BQU07aUJBQ1A7YUFDRjtTQUNGO1FBQ0QsTUFBTSxDQUFDLG9CQUFvQixDQUFDLEdBQUcsU0FBUyxDQUFDO1FBQ3pDLE9BQU8sUUFBUSxDQUFDLEtBQUssQ0FBQyxJQUFJLEVBQUUsSUFBSSxDQUFDLENBQUM7SUFDcEMsQ0FBQyxFQWhCOEQsQ0FnQjlELENBQUMsQ0FBQztJQUVQLEdBQUcsQ0FBQyxXQUFXLENBQ1gsY0FBYyxDQUFDLFNBQVMsRUFBRSxZQUFZLEVBQUUsVUFBQyxRQUFrQixJQUFLLE9BQUEsVUFBQyxJQUFTLEVBQUUsSUFBVztRQUNyRixJQUFNLE9BQU8sR0FBRyxJQUFJLENBQUMsb0JBQW9CLENBQUMsQ0FBQztRQUMzQyxJQUFJLE9BQU8sRUFBRTtZQUNYLE9BQU8sQ0FBQyxPQUFPLENBQUMsVUFBQyxNQUFXLElBQU8sTUFBTSxDQUFDLG9CQUFvQixDQUFDLEdBQUcsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7WUFDaEYsSUFBSSxDQUFDLG9CQUFvQixDQUFDLEdBQUcsU0FBUyxDQUFDO1NBQ3hDO1FBQ0QsT0FBTyxRQUFRLENBQUMsS0FBSyxDQUFDLElBQUksRUFBRSxJQUFJLENBQUMsQ0FBQztJQUNwQyxDQUFDLEVBUCtELENBTy9ELENBQUMsQ0FBQztBQUNULENBQUMsQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBAbGljZW5zZVxuICogQ29weXJpZ2h0IEdvb2dsZSBJbmMuIEFsbCBSaWdodHMgUmVzZXJ2ZWQuXG4gKlxuICogVXNlIG9mIHRoaXMgc291cmNlIGNvZGUgaXMgZ292ZXJuZWQgYnkgYW4gTUlULXN0eWxlIGxpY2Vuc2UgdGhhdCBjYW4gYmVcbiAqIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUgYXQgaHR0cHM6Ly9hbmd1bGFyLmlvL2xpY2Vuc2VcbiAqL1xuWm9uZS5fX2xvYWRfcGF0Y2goJ1Jlc2l6ZU9ic2VydmVyJywgKGdsb2JhbDogYW55LCBab25lOiBhbnksIGFwaTogX1pvbmVQcml2YXRlKSA9PiB7XG4gIGNvbnN0IFJlc2l6ZU9ic2VydmVyID0gZ2xvYmFsWydSZXNpemVPYnNlcnZlciddO1xuICBpZiAoIVJlc2l6ZU9ic2VydmVyKSB7XG4gICAgcmV0dXJuO1xuICB9XG5cbiAgY29uc3QgcmVzaXplT2JzZXJ2ZXJTeW1ib2wgPSBhcGkuc3ltYm9sKCdSZXNpemVPYnNlcnZlcicpO1xuXG4gIGFwaS5wYXRjaE1ldGhvZChnbG9iYWwsICdSZXNpemVPYnNlcnZlcicsIChkZWxlZ2F0ZTogRnVuY3Rpb24pID0+IChzZWxmOiBhbnksIGFyZ3M6IGFueVtdKSA9PiB7XG4gICAgY29uc3QgY2FsbGJhY2sgPSBhcmdzLmxlbmd0aCA+IDAgPyBhcmdzWzBdIDogbnVsbDtcbiAgICBpZiAoY2FsbGJhY2spIHtcbiAgICAgIGFyZ3NbMF0gPSBmdW5jdGlvbihlbnRyaWVzOiBhbnksIG9ic2VydmVyOiBhbnkpIHtcbiAgICAgICAgY29uc3Qgem9uZXM6IHtbem9uZU5hbWU6IHN0cmluZ106IGFueX0gPSB7fTtcbiAgICAgICAgY29uc3QgY3VyclpvbmUgPSBab25lLmN1cnJlbnQ7XG4gICAgICAgIGZvciAobGV0IGVudHJ5IG9mIGVudHJpZXMpIHtcbiAgICAgICAgICBsZXQgem9uZSA9IGVudHJ5LnRhcmdldFtyZXNpemVPYnNlcnZlclN5bWJvbF07XG4gICAgICAgICAgaWYgKCF6b25lKSB7XG4gICAgICAgICAgICB6b25lID0gY3VyclpvbmU7XG4gICAgICAgICAgfVxuICAgICAgICAgIGxldCB6b25lRW50cmllc0luZm8gPSB6b25lc1t6b25lLm5hbWVdO1xuICAgICAgICAgIGlmICghem9uZUVudHJpZXNJbmZvKSB7XG4gICAgICAgICAgICB6b25lc1t6b25lLm5hbWVdID0gem9uZUVudHJpZXNJbmZvID0ge2VudHJpZXM6IFtdLCB6b25lOiB6b25lfTtcbiAgICAgICAgICB9XG4gICAgICAgICAgem9uZUVudHJpZXNJbmZvLmVudHJpZXMucHVzaChlbnRyeSk7XG4gICAgICAgIH1cblxuICAgICAgICBPYmplY3Qua2V5cyh6b25lcykuZm9yRWFjaCh6b25lTmFtZSA9PiB7XG4gICAgICAgICAgY29uc3Qgem9uZUVudHJpZXNJbmZvID0gem9uZXNbem9uZU5hbWVdO1xuICAgICAgICAgIGlmICh6b25lRW50cmllc0luZm8uem9uZSAhPT0gWm9uZS5jdXJyZW50KSB7XG4gICAgICAgICAgICB6b25lRW50cmllc0luZm8uem9uZS5ydW4oXG4gICAgICAgICAgICAgICAgY2FsbGJhY2ssIHRoaXMsIFt6b25lRW50cmllc0luZm8uZW50cmllcywgb2JzZXJ2ZXJdLCAnUmVzaXplT2JzZXJ2ZXInKTtcbiAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgY2FsbGJhY2suY2FsbCh0aGlzLCB6b25lRW50cmllc0luZm8uZW50cmllcywgb2JzZXJ2ZXIpO1xuICAgICAgICAgIH1cbiAgICAgICAgfSk7XG4gICAgICB9O1xuICAgIH1cbiAgICByZXR1cm4gYXJncy5sZW5ndGggPiAwID8gbmV3IFJlc2l6ZU9ic2VydmVyKGFyZ3NbMF0pIDogbmV3IFJlc2l6ZU9ic2VydmVyKCk7XG4gIH0pO1xuXG4gIGFwaS5wYXRjaE1ldGhvZChcbiAgICAgIFJlc2l6ZU9ic2VydmVyLnByb3RvdHlwZSwgJ29ic2VydmUnLCAoZGVsZWdhdGU6IEZ1bmN0aW9uKSA9PiAoc2VsZjogYW55LCBhcmdzOiBhbnlbXSkgPT4ge1xuICAgICAgICBjb25zdCB0YXJnZXQgPSBhcmdzLmxlbmd0aCA+IDAgPyBhcmdzWzBdIDogbnVsbDtcbiAgICAgICAgaWYgKCF0YXJnZXQpIHtcbiAgICAgICAgICByZXR1cm4gZGVsZWdhdGUuYXBwbHkoc2VsZiwgYXJncyk7XG4gICAgICAgIH1cbiAgICAgICAgbGV0IHRhcmdldHMgPSBzZWxmW3Jlc2l6ZU9ic2VydmVyU3ltYm9sXTtcbiAgICAgICAgaWYgKCF0YXJnZXRzKSB7XG4gICAgICAgICAgdGFyZ2V0cyA9IHNlbGZbcmVzaXplT2JzZXJ2ZXJTeW1ib2xdID0gW107XG4gICAgICAgIH1cbiAgICAgICAgdGFyZ2V0cy5wdXNoKHRhcmdldCk7XG4gICAgICAgIHRhcmdldFtyZXNpemVPYnNlcnZlclN5bWJvbF0gPSBab25lLmN1cnJlbnQ7XG4gICAgICAgIHJldHVybiBkZWxlZ2F0ZS5hcHBseShzZWxmLCBhcmdzKTtcbiAgICAgIH0pO1xuXG4gIGFwaS5wYXRjaE1ldGhvZChcbiAgICAgIFJlc2l6ZU9ic2VydmVyLnByb3RvdHlwZSwgJ3Vub2JzZXJ2ZScsIChkZWxlZ2F0ZTogRnVuY3Rpb24pID0+IChzZWxmOiBhbnksIGFyZ3M6IGFueVtdKSA9PiB7XG4gICAgICAgIGNvbnN0IHRhcmdldCA9IGFyZ3MubGVuZ3RoID4gMCA/IGFyZ3NbMF0gOiBudWxsO1xuICAgICAgICBpZiAoIXRhcmdldCkge1xuICAgICAgICAgIHJldHVybiBkZWxlZ2F0ZS5hcHBseShzZWxmLCBhcmdzKTtcbiAgICAgICAgfVxuICAgICAgICBsZXQgdGFyZ2V0cyA9IHNlbGZbcmVzaXplT2JzZXJ2ZXJTeW1ib2xdO1xuICAgICAgICBpZiAodGFyZ2V0cykge1xuICAgICAgICAgIGZvciAobGV0IGkgPSAwOyBpIDwgdGFyZ2V0cy5sZW5ndGg7IGkrKykge1xuICAgICAgICAgICAgaWYgKHRhcmdldHNbaV0gPT09IHRhcmdldCkge1xuICAgICAgICAgICAgICB0YXJnZXRzLnNwbGljZShpLCAxKTtcbiAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIHRhcmdldFtyZXNpemVPYnNlcnZlclN5bWJvbF0gPSB1bmRlZmluZWQ7XG4gICAgICAgIHJldHVybiBkZWxlZ2F0ZS5hcHBseShzZWxmLCBhcmdzKTtcbiAgICAgIH0pO1xuXG4gIGFwaS5wYXRjaE1ldGhvZChcbiAgICAgIFJlc2l6ZU9ic2VydmVyLnByb3RvdHlwZSwgJ2Rpc2Nvbm5lY3QnLCAoZGVsZWdhdGU6IEZ1bmN0aW9uKSA9PiAoc2VsZjogYW55LCBhcmdzOiBhbnlbXSkgPT4ge1xuICAgICAgICBjb25zdCB0YXJnZXRzID0gc2VsZltyZXNpemVPYnNlcnZlclN5bWJvbF07XG4gICAgICAgIGlmICh0YXJnZXRzKSB7XG4gICAgICAgICAgdGFyZ2V0cy5mb3JFYWNoKCh0YXJnZXQ6IGFueSkgPT4geyB0YXJnZXRbcmVzaXplT2JzZXJ2ZXJTeW1ib2xdID0gdW5kZWZpbmVkOyB9KTtcbiAgICAgICAgICBzZWxmW3Jlc2l6ZU9ic2VydmVyU3ltYm9sXSA9IHVuZGVmaW5lZDtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gZGVsZWdhdGUuYXBwbHkoc2VsZiwgYXJncyk7XG4gICAgICB9KTtcbn0pO1xuIl19

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

/// <amd-module name="angular/packages/zone.js/lib/browser/webapis-rtc-peer-connection" />
/// <amd-module name="zone.js/lib/browser/webapis-rtc-peer-connection" />

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

/// <amd-module name="angular/packages/zone.js/lib/browser/webapis-user-media" />
/// <amd-module name="zone.js/lib/browser/webapis-user-media" />

@@ -8,3 +8,3 @@ /**

*/
/// <amd-module name="angular/packages/zone.js/lib/browser/websocket" />
/// <amd-module name="zone.js/lib/browser/websocket" />
export declare function apply(api: _ZonePrivate, _global: any): void;

@@ -14,3 +14,3 @@ /**

else if (typeof define === "function" && define.amd) {
define("angular/packages/zone.js/lib/browser/websocket", ["require", "exports"], factory);
define("zone.js/lib/browser/websocket", ["require", "exports"], factory);
}

@@ -17,0 +17,0 @@ })(function (require, exports) {

@@ -12,3 +12,3 @@ /**

*/
/// <amd-module name="angular/packages/zone.js/lib/common/error-rewrite" />
/// <amd-module name="zone.js/lib/common/error-rewrite" />
/**

@@ -15,0 +15,0 @@ * Extend the Error with additional fields for rewritten stack frames

@@ -12,3 +12,3 @@ /**

*/
/// <amd-module name="angular/packages/zone.js/lib/common/events" />
/// <amd-module name="zone.js/lib/common/events" />
export declare const zoneSymbolEventNames: any;

@@ -15,0 +15,0 @@ export declare const globalSources: any;

@@ -12,2 +12,2 @@ /**

*/
/// <amd-module name="angular/packages/zone.js/lib/common/fetch" />
/// <amd-module name="zone.js/lib/common/fetch" />

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

/// <amd-module name="angular/packages/zone.js/lib/common/promise" />
/// <amd-module name="zone.js/lib/common/promise" />

@@ -12,3 +12,3 @@ /**

*/
/// <amd-module name="angular/packages/zone.js/lib/common/timers" />
/// <amd-module name="zone.js/lib/common/timers" />
export declare function patchTimer(window: any, setName: string, cancelName: string, nameSuffix: string): void;

@@ -18,3 +18,3 @@ /**

else if (typeof define === "function" && define.amd) {
define("angular/packages/zone.js/lib/common/timers", ["require", "exports", "angular/packages/zone.js/lib/common/utils"], factory);
define("zone.js/lib/common/timers", ["require", "exports", "zone.js/lib/common/utils"], factory);
}

@@ -24,3 +24,3 @@ })(function (require, exports) {

Object.defineProperty(exports, "__esModule", { value: true });
var utils_1 = require("angular/packages/zone.js/lib/common/utils");
var utils_1 = require("zone.js/lib/common/utils");
var taskSymbol = utils_1.zoneSymbol('zoneTask');

@@ -141,2 +141,2 @@ function patchTimer(window, setName, cancelName, nameSuffix) {

});
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGltZXJzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvem9uZS5qcy9saWIvY29tbW9uL3RpbWVycy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7O0dBTUc7QUFDSDs7O0dBR0c7Ozs7Ozs7Ozs7OztJQUVILG1FQUFrRjtJQUVsRixJQUFNLFVBQVUsR0FBRyxrQkFBVSxDQUFDLFVBQVUsQ0FBQyxDQUFDO0lBTzFDLFNBQWdCLFVBQVUsQ0FBQyxNQUFXLEVBQUUsT0FBZSxFQUFFLFVBQWtCLEVBQUUsVUFBa0I7UUFDN0YsSUFBSSxTQUFTLEdBQWtCLElBQUksQ0FBQztRQUNwQyxJQUFJLFdBQVcsR0FBa0IsSUFBSSxDQUFDO1FBQ3RDLE9BQU8sSUFBSSxVQUFVLENBQUM7UUFDdEIsVUFBVSxJQUFJLFVBQVUsQ0FBQztRQUV6QixJQUFNLGVBQWUsR0FBeUIsRUFBRSxDQUFDO1FBRWpELFNBQVMsWUFBWSxDQUFDLElBQVU7WUFDOUIsSUFBTSxJQUFJLEdBQWlCLElBQUksQ0FBQyxJQUFJLENBQUM7WUFDckMsU0FBUyxLQUFLO2dCQUNaLElBQUk7b0JBQ0YsSUFBSSxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsSUFBSSxFQUFFLFNBQVMsQ0FBQyxDQUFDO2lCQUNwQzt3QkFBUztvQkFDUixvQ0FBb0M7b0JBQ3BDLHFDQUFxQztvQkFDckMsY0FBYztvQkFDZCxJQUFJLENBQUMsQ0FBQyxJQUFJLENBQUMsSUFBSSxJQUFJLElBQUksQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLEVBQUU7d0JBQ3hDLElBQUksT0FBTyxJQUFJLENBQUMsUUFBUSxLQUFLLFFBQVEsRUFBRTs0QkFDckMsdUNBQXVDOzRCQUN2QyxtQkFBbUI7NEJBQ25CLE9BQU8sZUFBZSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQzt5QkFDdkM7NkJBQU0sSUFBSSxJQUFJLENBQUMsUUFBUSxFQUFFOzRCQUN4Qiw0Q0FBNEM7NEJBQzVDLDZDQUE2Qzs0QkFDNUMsSUFBSSxDQUFDLFFBQWdCLENBQUMsVUFBVSxDQUFDLEdBQUcsSUFBSSxDQUFDO3lCQUMzQztxQkFDRjtpQkFDRjtZQUNILENBQUM7WUFDRCxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxHQUFHLEtBQUssQ0FBQztZQUNyQixJQUFJLENBQUMsUUFBUSxHQUFHLFNBQVcsQ0FBQyxLQUFLLENBQUMsTUFBTSxFQUFFLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztZQUNyRCxPQUFPLElBQUksQ0FBQztRQUNkLENBQUM7UUFFRCxTQUFTLFNBQVMsQ0FBQyxJQUFVLElBQUksT0FBTyxXQUFhLENBQWdCLElBQUksQ0FBQyxJQUFLLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBRTVGLFNBQVM7WUFDTCxtQkFBVyxDQUFDLE1BQU0sRUFBRSxPQUFPLEVBQUUsVUFBQyxRQUFrQixJQUFLLE9BQUEsVUFBUyxJQUFTLEVBQUUsSUFBVztnQkFDbEYsSUFBSSxPQUFPLElBQUksQ0FBQyxDQUFDLENBQUMsS0FBSyxVQUFVLEVBQUU7b0JBQ2pDLElBQU0sT0FBTyxHQUFpQjt3QkFDNUIsVUFBVSxFQUFFLFVBQVUsS0FBSyxVQUFVO3dCQUNyQyxLQUFLLEVBQUUsQ0FBQyxVQUFVLEtBQUssU0FBUyxJQUFJLFVBQVUsS0FBSyxVQUFVLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDOzRCQUNkLFNBQVM7d0JBQzFFLElBQUksRUFBRSxJQUFJO3FCQUNYLENBQUM7b0JBQ0YsSUFBTSxJQUFJLEdBQ04sd0NBQWdDLENBQUMsT0FBTyxFQUFFLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRSxPQUFPLEVBQUUsWUFBWSxFQUFFLFNBQVMsQ0FBQyxDQUFDO29CQUN6RixJQUFJLENBQUMsSUFBSSxFQUFFO3dCQUNULE9BQU8sSUFBSSxDQUFDO3FCQUNiO29CQUNELGlFQUFpRTtvQkFDakUsSUFBTSxNQUFNLEdBQXVCLElBQUksQ0FBQyxJQUFLLENBQUMsUUFBUSxDQUFDO29CQUN2RCxJQUFJLE9BQU8sTUFBTSxLQUFLLFFBQVEsRUFBRTt3QkFDOUIsNkNBQTZDO3dCQUM3QywwQ0FBMEM7d0JBQzFDLGVBQWUsQ0FBQyxNQUFNLENBQUMsR0FBRyxJQUFJLENBQUM7cUJBQ2hDO3lCQUFNLElBQUksTUFBTSxFQUFFO3dCQUNqQiwrQkFBK0I7d0JBQy9CLCtDQUErQzt3QkFDL0MsTUFBTSxDQUFDLFVBQVUsQ0FBQyxHQUFHLElBQUksQ0FBQztxQkFDM0I7b0JBRUQsaUVBQWlFO29CQUNqRSxzRkFBc0Y7b0JBQ3RGLElBQUksTUFBTSxJQUFJLE1BQU0sQ0FBQyxHQUFHLElBQUksTUFBTSxDQUFDLEtBQUssSUFBSSxPQUFPLE1BQU0sQ0FBQyxHQUFHLEtBQUssVUFBVTt3QkFDeEUsT0FBTyxNQUFNLENBQUMsS0FBSyxLQUFLLFVBQVUsRUFBRTt3QkFDaEMsSUFBSyxDQUFDLEdBQUcsR0FBUyxNQUFPLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQzt3QkFDM0MsSUFBSyxDQUFDLEtBQUssR0FBUyxNQUFPLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQztxQkFDdEQ7b0JBQ0QsSUFBSSxPQUFPLE1BQU0sS0FBSyxRQUFRLElBQUksTUFBTSxFQUFFO3dCQUN4QyxPQUFPLE1BQU0sQ0FBQztxQkFDZjtvQkFDRCxPQUFPLElBQUksQ0FBQztpQkFDYjtxQkFBTTtvQkFDTCx5Q0FBeUM7b0JBQ3pDLE9BQU8sUUFBUSxDQUFDLEtBQUssQ0FBQyxNQUFNLEVBQUUsSUFBSSxDQUFDLENBQUM7aUJBQ3JDO1lBQ0gsQ0FBQyxFQXhDb0QsQ0F3Q3BELENBQUMsQ0FBQztRQUVQLFdBQVc7WUFDUCxtQkFBVyxDQUFDLE1BQU0sRUFBRSxVQUFVLEVBQUUsVUFBQyxRQUFrQixJQUFLLE9BQUEsVUFBUyxJQUFTLEVBQUUsSUFBVztnQkFDckYsSUFBTSxFQUFFLEdBQUcsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDO2dCQUNuQixJQUFJLElBQVUsQ0FBQztnQkFDZixJQUFJLE9BQU8sRUFBRSxLQUFLLFFBQVEsRUFBRTtvQkFDMUIsa0JBQWtCO29CQUNsQixJQUFJLEdBQUcsZUFBZSxDQUFDLEVBQUUsQ0FBQyxDQUFDO2lCQUM1QjtxQkFBTTtvQkFDTCxjQUFjO29CQUNkLElBQUksR0FBRyxFQUFFLElBQUksRUFBRSxDQUFDLFVBQVUsQ0FBQyxDQUFDO29CQUM1QixzQkFBc0I7b0JBQ3RCLElBQUksQ0FBQyxJQUFJLEVBQUU7d0JBQ1QsSUFBSSxHQUFHLEVBQUUsQ0FBQztxQkFDWDtpQkFDRjtnQkFDRCxJQUFJLElBQUksSUFBSSxPQUFPLElBQUksQ0FBQyxJQUFJLEtBQUssUUFBUSxFQUFFO29CQUN6QyxJQUFJLElBQUksQ0FBQyxLQUFLLEtBQUssY0FBYzt3QkFDN0IsQ0FBQyxJQUFJLENBQUMsUUFBUSxJQUFJLElBQUksQ0FBQyxJQUFNLENBQUMsVUFBVSxJQUFJLElBQUksQ0FBQyxRQUFRLEtBQUssQ0FBQyxDQUFDLEVBQUU7d0JBQ3BFLElBQUksT0FBTyxFQUFFLEtBQUssUUFBUSxFQUFFOzRCQUMxQixPQUFPLGVBQWUsQ0FBQyxFQUFFLENBQUMsQ0FBQzt5QkFDNUI7NkJBQU0sSUFBSSxFQUFFLEVBQUU7NEJBQ2IsRUFBRSxDQUFDLFVBQVUsQ0FBQyxHQUFHLElBQUksQ0FBQzt5QkFDdkI7d0JBQ0QsMkNBQTJDO3dCQUMzQyxJQUFJLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsQ0FBQztxQkFDNUI7aUJBQ0Y7cUJBQU07b0JBQ0wseUNBQXlDO29CQUN6QyxRQUFRLENBQUMsS0FBSyxDQUFDLE1BQU0sRUFBRSxJQUFJLENBQUMsQ0FBQztpQkFDOUI7WUFDSCxDQUFDLEVBN0J1RCxDQTZCdkQsQ0FBQyxDQUFDO0lBQ1QsQ0FBQztJQS9HRCxnQ0ErR0MiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEBsaWNlbnNlXG4gKiBDb3B5cmlnaHQgR29vZ2xlIEluYy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC5cbiAqXG4gKiBVc2Ugb2YgdGhpcyBzb3VyY2UgY29kZSBpcyBnb3Zlcm5lZCBieSBhbiBNSVQtc3R5bGUgbGljZW5zZSB0aGF0IGNhbiBiZVxuICogZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZSBhdCBodHRwczovL2FuZ3VsYXIuaW8vbGljZW5zZVxuICovXG4vKipcbiAqIEBmaWxlb3ZlcnZpZXdcbiAqIEBzdXBwcmVzcyB7bWlzc2luZ1JlcXVpcmV9XG4gKi9cblxuaW1wb3J0IHtwYXRjaE1ldGhvZCwgc2NoZWR1bGVNYWNyb1Rhc2tXaXRoQ3VycmVudFpvbmUsIHpvbmVTeW1ib2x9IGZyb20gJy4vdXRpbHMnO1xuXG5jb25zdCB0YXNrU3ltYm9sID0gem9uZVN5bWJvbCgnem9uZVRhc2snKTtcblxuaW50ZXJmYWNlIFRpbWVyT3B0aW9ucyBleHRlbmRzIFRhc2tEYXRhIHtcbiAgaGFuZGxlSWQ/OiBudW1iZXI7XG4gIGFyZ3M6IGFueVtdO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gcGF0Y2hUaW1lcih3aW5kb3c6IGFueSwgc2V0TmFtZTogc3RyaW5nLCBjYW5jZWxOYW1lOiBzdHJpbmcsIG5hbWVTdWZmaXg6IHN0cmluZykge1xuICBsZXQgc2V0TmF0aXZlOiBGdW5jdGlvbnxudWxsID0gbnVsbDtcbiAgbGV0IGNsZWFyTmF0aXZlOiBGdW5jdGlvbnxudWxsID0gbnVsbDtcbiAgc2V0TmFtZSArPSBuYW1lU3VmZml4O1xuICBjYW5jZWxOYW1lICs9IG5hbWVTdWZmaXg7XG5cbiAgY29uc3QgdGFza3NCeUhhbmRsZUlkOiB7W2lkOiBudW1iZXJdOiBUYXNrfSA9IHt9O1xuXG4gIGZ1bmN0aW9uIHNjaGVkdWxlVGFzayh0YXNrOiBUYXNrKSB7XG4gICAgY29uc3QgZGF0YSA9IDxUaW1lck9wdGlvbnM+dGFzay5kYXRhO1xuICAgIGZ1bmN0aW9uIHRpbWVyKHRoaXM6IHVua25vd24pIHtcbiAgICAgIHRyeSB7XG4gICAgICAgIHRhc2suaW52b2tlLmFwcGx5KHRoaXMsIGFyZ3VtZW50cyk7XG4gICAgICB9IGZpbmFsbHkge1xuICAgICAgICAvLyBpc3N1ZS05MzQsIHRhc2sgd2lsbCBiZSBjYW5jZWxsZWRcbiAgICAgICAgLy8gZXZlbiBpdCBpcyBhIHBlcmlvZGljIHRhc2sgc3VjaCBhc1xuICAgICAgICAvLyBzZXRJbnRlcnZhbFxuICAgICAgICBpZiAoISh0YXNrLmRhdGEgJiYgdGFzay5kYXRhLmlzUGVyaW9kaWMpKSB7XG4gICAgICAgICAgaWYgKHR5cGVvZiBkYXRhLmhhbmRsZUlkID09PSAnbnVtYmVyJykge1xuICAgICAgICAgICAgLy8gaW4gbm9uLW5vZGVqcyBlbnYsIHdlIHJlbW92ZSB0aW1lcklkXG4gICAgICAgICAgICAvLyBmcm9tIGxvY2FsIGNhY2hlXG4gICAgICAgICAgICBkZWxldGUgdGFza3NCeUhhbmRsZUlkW2RhdGEuaGFuZGxlSWRdO1xuICAgICAgICAgIH0gZWxzZSBpZiAoZGF0YS5oYW5kbGVJZCkge1xuICAgICAgICAgICAgLy8gTm9kZSByZXR1cm5zIGNvbXBsZXggb2JqZWN0cyBhcyBoYW5kbGVJZHNcbiAgICAgICAgICAgIC8vIHdlIHJlbW92ZSB0YXNrIHJlZmVyZW5jZSBmcm9tIHRpbWVyIG9iamVjdFxuICAgICAgICAgICAgKGRhdGEuaGFuZGxlSWQgYXMgYW55KVt0YXNrU3ltYm9sXSA9IG51bGw7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICAgIGRhdGEuYXJnc1swXSA9IHRpbWVyO1xuICAgIGRhdGEuaGFuZGxlSWQgPSBzZXROYXRpdmUgIS5hcHBseSh3aW5kb3csIGRhdGEuYXJncyk7XG4gICAgcmV0dXJuIHRhc2s7XG4gIH1cblxuICBmdW5jdGlvbiBjbGVhclRhc2sodGFzazogVGFzaykgeyByZXR1cm4gY2xlYXJOYXRpdmUgISgoPFRpbWVyT3B0aW9ucz50YXNrLmRhdGEpLmhhbmRsZUlkKTsgfVxuXG4gIHNldE5hdGl2ZSA9XG4gICAgICBwYXRjaE1ldGhvZCh3aW5kb3csIHNldE5hbWUsIChkZWxlZ2F0ZTogRnVuY3Rpb24pID0+IGZ1bmN0aW9uKHNlbGY6IGFueSwgYXJnczogYW55W10pIHtcbiAgICAgICAgaWYgKHR5cGVvZiBhcmdzWzBdID09PSAnZnVuY3Rpb24nKSB7XG4gICAgICAgICAgY29uc3Qgb3B0aW9uczogVGltZXJPcHRpb25zID0ge1xuICAgICAgICAgICAgaXNQZXJpb2RpYzogbmFtZVN1ZmZpeCA9PT0gJ0ludGVydmFsJyxcbiAgICAgICAgICAgIGRlbGF5OiAobmFtZVN1ZmZpeCA9PT0gJ1RpbWVvdXQnIHx8IG5hbWVTdWZmaXggPT09ICdJbnRlcnZhbCcpID8gYXJnc1sxXSB8fCAwIDpcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdW5kZWZpbmVkLFxuICAgICAgICAgICAgYXJnczogYXJnc1xuICAgICAgICAgIH07XG4gICAgICAgICAgY29uc3QgdGFzayA9XG4gICAgICAgICAgICAgIHNjaGVkdWxlTWFjcm9UYXNrV2l0aEN1cnJlbnRab25lKHNldE5hbWUsIGFyZ3NbMF0sIG9wdGlvbnMsIHNjaGVkdWxlVGFzaywgY2xlYXJUYXNrKTtcbiAgICAgICAgICBpZiAoIXRhc2spIHtcbiAgICAgICAgICAgIHJldHVybiB0YXNrO1xuICAgICAgICAgIH1cbiAgICAgICAgICAvLyBOb2RlLmpzIG11c3QgYWRkaXRpb25hbGx5IHN1cHBvcnQgdGhlIHJlZiBhbmQgdW5yZWYgZnVuY3Rpb25zLlxuICAgICAgICAgIGNvbnN0IGhhbmRsZTogYW55ID0gKDxUaW1lck9wdGlvbnM+dGFzay5kYXRhKS5oYW5kbGVJZDtcbiAgICAgICAgICBpZiAodHlwZW9mIGhhbmRsZSA9PT0gJ251bWJlcicpIHtcbiAgICAgICAgICAgIC8vIGZvciBub24gbm9kZWpzIGVudiwgd2Ugc2F2ZSBoYW5kbGVJZDogdGFza1xuICAgICAgICAgICAgLy8gbWFwcGluZyBpbiBsb2NhbCBjYWNoZSBmb3IgY2xlYXJUaW1lb3V0XG4gICAgICAgICAgICB0YXNrc0J5SGFuZGxlSWRbaGFuZGxlXSA9IHRhc2s7XG4gICAgICAgICAgfSBlbHNlIGlmIChoYW5kbGUpIHtcbiAgICAgICAgICAgIC8vIGZvciBub2RlanMgZW52LCB3ZSBzYXZlIHRhc2tcbiAgICAgICAgICAgIC8vIHJlZmVyZW5jZSBpbiB0aW1lcklkIE9iamVjdCBmb3IgY2xlYXJUaW1lb3V0XG4gICAgICAgICAgICBoYW5kbGVbdGFza1N5bWJvbF0gPSB0YXNrO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIC8vIGNoZWNrIHdoZXRoZXIgaGFuZGxlIGlzIG51bGwsIGJlY2F1c2Ugc29tZSBwb2x5ZmlsbCBvciBicm93c2VyXG4gICAgICAgICAgLy8gbWF5IHJldHVybiB1bmRlZmluZWQgZnJvbSBzZXRUaW1lb3V0L3NldEludGVydmFsL3NldEltbWVkaWF0ZS9yZXF1ZXN0QW5pbWF0aW9uRnJhbWVcbiAgICAgICAgICBpZiAoaGFuZGxlICYmIGhhbmRsZS5yZWYgJiYgaGFuZGxlLnVucmVmICYmIHR5cGVvZiBoYW5kbGUucmVmID09PSAnZnVuY3Rpb24nICYmXG4gICAgICAgICAgICAgIHR5cGVvZiBoYW5kbGUudW5yZWYgPT09ICdmdW5jdGlvbicpIHtcbiAgICAgICAgICAgICg8YW55PnRhc2spLnJlZiA9ICg8YW55PmhhbmRsZSkucmVmLmJpbmQoaGFuZGxlKTtcbiAgICAgICAgICAgICg8YW55PnRhc2spLnVucmVmID0gKDxhbnk+aGFuZGxlKS51bnJlZi5iaW5kKGhhbmRsZSk7XG4gICAgICAgICAgfVxuICAgICAgICAgIGlmICh0eXBlb2YgaGFuZGxlID09PSAnbnVtYmVyJyB8fCBoYW5kbGUpIHtcbiAgICAgICAgICAgIHJldHVybiBoYW5kbGU7XG4gICAgICAgICAgfVxuICAgICAgICAgIHJldHVybiB0YXNrO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIC8vIGNhdXNlIGFuIGVycm9yIGJ5IGNhbGxpbmcgaXQgZGlyZWN0bHkuXG4gICAgICAgICAgcmV0dXJuIGRlbGVnYXRlLmFwcGx5KHdpbmRvdywgYXJncyk7XG4gICAgICAgIH1cbiAgICAgIH0pO1xuXG4gIGNsZWFyTmF0aXZlID1cbiAgICAgIHBhdGNoTWV0aG9kKHdpbmRvdywgY2FuY2VsTmFtZSwgKGRlbGVnYXRlOiBGdW5jdGlvbikgPT4gZnVuY3Rpb24oc2VsZjogYW55LCBhcmdzOiBhbnlbXSkge1xuICAgICAgICBjb25zdCBpZCA9IGFyZ3NbMF07XG4gICAgICAgIGxldCB0YXNrOiBUYXNrO1xuICAgICAgICBpZiAodHlwZW9mIGlkID09PSAnbnVtYmVyJykge1xuICAgICAgICAgIC8vIG5vbiBub2RlanMgZW52LlxuICAgICAgICAgIHRhc2sgPSB0YXNrc0J5SGFuZGxlSWRbaWRdO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIC8vIG5vZGVqcyBlbnYuXG4gICAgICAgICAgdGFzayA9IGlkICYmIGlkW3Rhc2tTeW1ib2xdO1xuICAgICAgICAgIC8vIG90aGVyIGVudmlyb25tZW50cy5cbiAgICAgICAgICBpZiAoIXRhc2spIHtcbiAgICAgICAgICAgIHRhc2sgPSBpZDtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgaWYgKHRhc2sgJiYgdHlwZW9mIHRhc2sudHlwZSA9PT0gJ3N0cmluZycpIHtcbiAgICAgICAgICBpZiAodGFzay5zdGF0ZSAhPT0gJ25vdFNjaGVkdWxlZCcgJiZcbiAgICAgICAgICAgICAgKHRhc2suY2FuY2VsRm4gJiYgdGFzay5kYXRhICEuaXNQZXJpb2RpYyB8fCB0YXNrLnJ1bkNvdW50ID09PSAwKSkge1xuICAgICAgICAgICAgaWYgKHR5cGVvZiBpZCA9PT0gJ251bWJlcicpIHtcbiAgICAgICAgICAgICAgZGVsZXRlIHRhc2tzQnlIYW5kbGVJZFtpZF07XG4gICAgICAgICAgICB9IGVsc2UgaWYgKGlkKSB7XG4gICAgICAgICAgICAgIGlkW3Rhc2tTeW1ib2xdID0gbnVsbDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIC8vIERvIG5vdCBjYW5jZWwgYWxyZWFkeSBjYW5jZWxlZCBmdW5jdGlvbnNcbiAgICAgICAgICAgIHRhc2suem9uZS5jYW5jZWxUYXNrKHRhc2spO1xuICAgICAgICAgIH1cbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAvLyBjYXVzZSBhbiBlcnJvciBieSBjYWxsaW5nIGl0IGRpcmVjdGx5LlxuICAgICAgICAgIGRlbGVnYXRlLmFwcGx5KHdpbmRvdywgYXJncyk7XG4gICAgICAgIH1cbiAgICAgIH0pO1xufVxuIl19
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGltZXJzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvem9uZS5qcy9saWIvY29tbW9uL3RpbWVycy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7O0dBTUc7QUFDSDs7O0dBR0c7Ozs7Ozs7Ozs7OztJQUVILGtEQUFrRjtJQUVsRixJQUFNLFVBQVUsR0FBRyxrQkFBVSxDQUFDLFVBQVUsQ0FBQyxDQUFDO0lBTzFDLFNBQWdCLFVBQVUsQ0FBQyxNQUFXLEVBQUUsT0FBZSxFQUFFLFVBQWtCLEVBQUUsVUFBa0I7UUFDN0YsSUFBSSxTQUFTLEdBQWtCLElBQUksQ0FBQztRQUNwQyxJQUFJLFdBQVcsR0FBa0IsSUFBSSxDQUFDO1FBQ3RDLE9BQU8sSUFBSSxVQUFVLENBQUM7UUFDdEIsVUFBVSxJQUFJLFVBQVUsQ0FBQztRQUV6QixJQUFNLGVBQWUsR0FBeUIsRUFBRSxDQUFDO1FBRWpELFNBQVMsWUFBWSxDQUFDLElBQVU7WUFDOUIsSUFBTSxJQUFJLEdBQWlCLElBQUksQ0FBQyxJQUFJLENBQUM7WUFDckMsU0FBUyxLQUFLO2dCQUNaLElBQUk7b0JBQ0YsSUFBSSxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsSUFBSSxFQUFFLFNBQVMsQ0FBQyxDQUFDO2lCQUNwQzt3QkFBUztvQkFDUixvQ0FBb0M7b0JBQ3BDLHFDQUFxQztvQkFDckMsY0FBYztvQkFDZCxJQUFJLENBQUMsQ0FBQyxJQUFJLENBQUMsSUFBSSxJQUFJLElBQUksQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLEVBQUU7d0JBQ3hDLElBQUksT0FBTyxJQUFJLENBQUMsUUFBUSxLQUFLLFFBQVEsRUFBRTs0QkFDckMsdUNBQXVDOzRCQUN2QyxtQkFBbUI7NEJBQ25CLE9BQU8sZUFBZSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQzt5QkFDdkM7NkJBQU0sSUFBSSxJQUFJLENBQUMsUUFBUSxFQUFFOzRCQUN4Qiw0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Q0FBQyxDQUFDO2dCQUNuQixJQUFJLElBQVUsQ0FBQztnQkFDZixJQUFJLE9BQU8sRUFBRSxLQUFLLFFBQVEsRUFBRTtvQkFDMUIsa0JBQWtCO29CQUNsQixJQUFJLEdBQUcsZUFBZSxDQUFDLEVBQUUsQ0FBQyxDQUFDO2lCQUM1QjtxQkFBTTtvQkFDTCxjQUFjO29CQUNkLElBQUksR0FBRyxFQUFFLElBQUksRUFBRSxDQUFDLFVBQVUsQ0FBQyxDQUFDO29CQUM1QixzQkFBc0I7b0JBQ3RCLElBQUksQ0FBQyxJQUFJLEVBQUU7d0JBQ1QsSUFBSSxHQUFHLEVBQUUsQ0FBQztxQkFDWDtpQkFDRjtnQkFDRCxJQUFJLElBQUksSUFBSSxPQUFPLElBQUksQ0FBQyxJQUFJLEtBQUssUUFBUSxFQUFFO29CQUN6QyxJQUFJLElBQUksQ0FBQyxLQUFLLEtBQUssY0FBYzt3QkFDN0IsQ0FBQyxJQUFJLENBQUMsUUFBUSxJQUFJLElBQUksQ0FBQyxJQUFNLENBQUMsVUFBVSxJQUFJLElBQUksQ0FBQyxRQUFRLEtBQUssQ0FBQyxDQUFDLEVBQUU7d0JBQ3BFLElBQUksT0FBTyxFQUFFLEtBQUssUUFBUSxFQUFFOzRCQUMxQixPQUFPLGVBQWUsQ0FBQyxFQUFFLENBQUMsQ0FBQzt5QkFDNUI7NkJBQU0sSUFBSSxFQUFFLEVBQUU7NEJBQ2IsRUFBRSxDQUFDLFVBQVUsQ0FBQyxHQUFHLElBQUksQ0FBQzt5QkFDdkI7d0JBQ0QsMkNBQTJDO3dCQUMzQyxJQUFJLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsQ0FBQztxQkFDNUI7aUJBQ0Y7cUJBQU07b0JBQ0wseUNBQXlDO29CQUN6QyxRQUFRLENBQUMsS0FBSyxDQUFDLE1BQU0sRUFBRSxJQUFJLENBQUMsQ0FBQztpQkFDOUI7WUFDSCxDQUFDLEVBN0J1RCxDQTZCdkQsQ0FBQyxDQUFDO0lBQ1QsQ0FBQztJQS9HRCxnQ0ErR0MiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEBsaWNlbnNlXG4gKiBDb3B5cmlnaHQgR29vZ2xlIEluYy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC5cbiAqXG4gKiBVc2Ugb2YgdGhpcyBzb3VyY2UgY29kZSBpcyBnb3Zlcm5lZCBieSBhbiBNSVQtc3R5bGUgbGljZW5zZSB0aGF0IGNhbiBiZVxuICogZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZSBhdCBodHRwczovL2FuZ3VsYXIuaW8vbGljZW5zZVxuICovXG4vKipcbiAqIEBmaWxlb3ZlcnZpZXdcbiAqIEBzdXBwcmVzcyB7bWlzc2luZ1JlcXVpcmV9XG4gKi9cblxuaW1wb3J0IHtwYXRjaE1ldGhvZCwgc2NoZWR1bGVNYWNyb1Rhc2tXaXRoQ3VycmVudFpvbmUsIHpvbmVTeW1ib2x9IGZyb20gJy4vdXRpbHMnO1xuXG5jb25zdCB0YXNrU3ltYm9sID0gem9uZVN5bWJvbCgnem9uZVRhc2snKTtcblxuaW50ZXJmYWNlIFRpbWVyT3B0aW9ucyBleHRlbmRzIFRhc2tEYXRhIHtcbiAgaGFuZGxlSWQ/OiBudW1iZXI7XG4gIGFyZ3M6IGFueVtdO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gcGF0Y2hUaW1lcih3aW5kb3c6IGFueSwgc2V0TmFtZTogc3RyaW5nLCBjYW5jZWxOYW1lOiBzdHJpbmcsIG5hbWVTdWZmaXg6IHN0cmluZykge1xuICBsZXQgc2V0TmF0aXZlOiBGdW5jdGlvbnxudWxsID0gbnVsbDtcbiAgbGV0IGNsZWFyTmF0aXZlOiBGdW5jdGlvbnxudWxsID0gbnVsbDtcbiAgc2V0TmFtZSArPSBuYW1lU3VmZml4O1xuICBjYW5jZWxOYW1lICs9IG5hbWVTdWZmaXg7XG5cbiAgY29uc3QgdGFza3NCeUhhbmRsZUlkOiB7W2lkOiBudW1iZXJdOiBUYXNrfSA9IHt9O1xuXG4gIGZ1bmN0aW9uIHNjaGVkdWxlVGFzayh0YXNrOiBUYXNrKSB7XG4gICAgY29uc3QgZGF0YSA9IDxUaW1lck9wdGlvbnM+dGFzay5kYXRhO1xuICAgIGZ1bmN0aW9uIHRpbWVyKHRoaXM6IHVua25vd24pIHtcbiAgICAgIHRyeSB7XG4gICAgICAgIHRhc2suaW52b2tlLmFwcGx5KHRoaXMsIGFyZ3VtZW50cyk7XG4gICAgICB9IGZpbmFsbHkge1xuICAgICAgICAvLyBpc3N1ZS05MzQsIHRhc2sgd2lsbCBiZSBjYW5jZWxsZWRcbiAgICAgICAgLy8gZXZlbiBpdCBpcyBhIHBlcmlvZGljIHRhc2sgc3VjaCBhc1xuICAgICAgICAvLyBzZXRJbnRlcnZhbFxuICAgICAgICBpZiAoISh0YXNrLmRhdGEgJiYgdGFzay5kYXRhLmlzUGVyaW9kaWMpKSB7XG4gICAgICAgICAgaWYgKHR5cGVvZiBkYXRhLmhhbmRsZUlkID09PSAnbnVtYmVyJykge1xuICAgICAgICAgICAgLy8gaW4gbm9uLW5vZGVqcyBlbnYsIHdlIHJlbW92ZSB0aW1lcklkXG4gICAgICAgICAgICAvLyBmcm9tIGxvY2FsIGNhY2hlXG4gICAgICAgICAgICBkZWxldGUgdGFza3NCeUhhbmRsZUlkW2RhdGEuaGFuZGxlSWRdO1xuICAgICAgICAgIH0gZWxzZSBpZiAoZGF0YS5oYW5kbGVJZCkge1xuICAgICAgICAgICAgLy8gTm9kZSByZXR1cm5zIGNvbXBsZXggb2JqZWN0cyBhcyBoYW5kbGVJZHNcbiAgICAgICAgICAgIC8vIHdlIHJlbW92ZSB0YXNrIHJlZmVyZW5jZSBmcm9tIHRpbWVyIG9iamVjdFxuICAgICAgICAgICAgKGRhdGEuaGFuZGxlSWQgYXMgYW55KVt0YXNrU3ltYm9sXSA9IG51bGw7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICAgIGRhdGEuYXJnc1swXSA9IHRpbWVyO1xuICAgIGRhdGEuaGFuZGxlSWQgPSBzZXROYXRpdmUgIS5hcHBseSh3aW5kb3csIGRhdGEuYXJncyk7XG4gICAgcmV0dXJuIHRhc2s7XG4gIH1cblxuICBmdW5jdGlvbiBjbGVhclRhc2sodGFzazogVGFzaykgeyByZXR1cm4gY2xlYXJOYXRpdmUgISgoPFRpbWVyT3B0aW9ucz50YXNrLmRhdGEpLmhhbmRsZUlkKTsgfVxuXG4gIHNldE5hdGl2ZSA9XG4gICAgICBwYXRjaE1ldGhvZCh3aW5kb3csIHNldE5hbWUsIChkZWxlZ2F0ZTogRnVuY3Rpb24pID0+IGZ1bmN0aW9uKHNlbGY6IGFueSwgYXJnczogYW55W10pIHtcbiAgICAgICAgaWYgKHR5cGVvZiBhcmdzWzBdID09PSAnZnVuY3Rpb24nKSB7XG4gICAgICAgICAgY29uc3Qgb3B0aW9uczogVGltZXJPcHRpb25zID0ge1xuICAgICAgICAgICAgaXNQZXJpb2RpYzogbmFtZVN1ZmZpeCA9PT0gJ0ludGVydmFsJyxcbiAgICAgICAgICAgIGRlbGF5OiAobmFtZVN1ZmZpeCA9PT0gJ1RpbWVvdXQnIHx8IG5hbWVTdWZmaXggPT09ICdJbnRlcnZhbCcpID8gYXJnc1sxXSB8fCAwIDpcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdW5kZWZpbmVkLFxuICAgICAgICAgICAgYXJnczogYXJnc1xuICAgICAgICAgIH07XG4gICAgICAgICAgY29uc3QgdGFzayA9XG4gICAgICAgICAgICAgIHNjaGVkdWxlTWFjcm9UYXNrV2l0aEN1cnJlbnRab25lKHNldE5hbWUsIGFyZ3NbMF0sIG9wdGlvbnMsIHNjaGVkdWxlVGFzaywgY2xlYXJUYXNrKTtcbiAgICAgICAgICBpZiAoIXRhc2spIHtcbiAgICAgICAgICAgIHJldHVybiB0YXNrO1xuICAgICAgICAgIH1cbiAgICAgICAgICAvLyBOb2RlLmpzIG11c3QgYWRkaXRpb25hbGx5IHN1cHBvcnQgdGhlIHJlZiBhbmQgdW5yZWYgZnVuY3Rpb25zLlxuICAgICAgICAgIGNvbnN0IGhhbmRsZTogYW55ID0gKDxUaW1lck9wdGlvbnM+dGFzay5kYXRhKS5oYW5kbGVJZDtcbiAgICAgICAgICBpZiAodHlwZW9mIGhhbmRsZSA9PT0gJ251bWJlcicpIHtcbiAgICAgICAgICAgIC8vIGZvciBub24gbm9kZWpzIGVudiwgd2Ugc2F2ZSBoYW5kbGVJZDogdGFza1xuICAgICAgICAgICAgLy8gbWFwcGluZyBpbiBsb2NhbCBjYWNoZSBmb3IgY2xlYXJUaW1lb3V0XG4gICAgICAgICAgICB0YXNrc0J5SGFuZGxlSWRbaGFuZGxlXSA9IHRhc2s7XG4gICAgICAgICAgfSBlbHNlIGlmIChoYW5kbGUpIHtcbiAgICAgICAgICAgIC8vIGZvciBub2RlanMgZW52LCB3ZSBzYXZlIHRhc2tcbiAgICAgICAgICAgIC8vIHJlZmVyZW5jZSBpbiB0aW1lcklkIE9iamVjdCBmb3IgY2xlYXJUaW1lb3V0XG4gICAgICAgICAgICBoYW5kbGVbdGFza1N5bWJvbF0gPSB0YXNrO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIC8vIGNoZWNrIHdoZXRoZXIgaGFuZGxlIGlzIG51bGwsIGJlY2F1c2Ugc29tZSBwb2x5ZmlsbCBvciBicm93c2VyXG4gICAgICAgICAgLy8gbWF5IHJldHVybiB1bmRlZmluZWQgZnJvbSBzZXRUaW1lb3V0L3NldEludGVydmFsL3NldEltbWVkaWF0ZS9yZXF1ZXN0QW5pbWF0aW9uRnJhbWVcbiAgICAgICAgICBpZiAoaGFuZGxlICYmIGhhbmRsZS5yZWYgJiYgaGFuZGxlLnVucmVmICYmIHR5cGVvZiBoYW5kbGUucmVmID09PSAnZnVuY3Rpb24nICYmXG4gICAgICAgICAgICAgIHR5cGVvZiBoYW5kbGUudW5yZWYgPT09ICdmdW5jdGlvbicpIHtcbiAgICAgICAgICAgICg8YW55PnRhc2spLnJlZiA9ICg8YW55PmhhbmRsZSkucmVmLmJpbmQoaGFuZGxlKTtcbiAgICAgICAgICAgICg8YW55PnRhc2spLnVucmVmID0gKDxhbnk+aGFuZGxlKS51bnJlZi5iaW5kKGhhbmRsZSk7XG4gICAgICAgICAgfVxuICAgICAgICAgIGlmICh0eXBlb2YgaGFuZGxlID09PSAnbnVtYmVyJyB8fCBoYW5kbGUpIHtcbiAgICAgICAgICAgIHJldHVybiBoYW5kbGU7XG4gICAgICAgICAgfVxuICAgICAgICAgIHJldHVybiB0YXNrO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIC8vIGNhdXNlIGFuIGVycm9yIGJ5IGNhbGxpbmcgaXQgZGlyZWN0bHkuXG4gICAgICAgICAgcmV0dXJuIGRlbGVnYXRlLmFwcGx5KHdpbmRvdywgYXJncyk7XG4gICAgICAgIH1cbiAgICAgIH0pO1xuXG4gIGNsZWFyTmF0aXZlID1cbiAgICAgIHBhdGNoTWV0aG9kKHdpbmRvdywgY2FuY2VsTmFtZSwgKGRlbGVnYXRlOiBGdW5jdGlvbikgPT4gZnVuY3Rpb24oc2VsZjogYW55LCBhcmdzOiBhbnlbXSkge1xuICAgICAgICBjb25zdCBpZCA9IGFyZ3NbMF07XG4gICAgICAgIGxldCB0YXNrOiBUYXNrO1xuICAgICAgICBpZiAodHlwZW9mIGlkID09PSAnbnVtYmVyJykge1xuICAgICAgICAgIC8vIG5vbiBub2RlanMgZW52LlxuICAgICAgICAgIHRhc2sgPSB0YXNrc0J5SGFuZGxlSWRbaWRdO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIC8vIG5vZGVqcyBlbnYuXG4gICAgICAgICAgdGFzayA9IGlkICYmIGlkW3Rhc2tTeW1ib2xdO1xuICAgICAgICAgIC8vIG90aGVyIGVudmlyb25tZW50cy5cbiAgICAgICAgICBpZiAoIXRhc2spIHtcbiAgICAgICAgICAgIHRhc2sgPSBpZDtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgaWYgKHRhc2sgJiYgdHlwZW9mIHRhc2sudHlwZSA9PT0gJ3N0cmluZycpIHtcbiAgICAgICAgICBpZiAodGFzay5zdGF0ZSAhPT0gJ25vdFNjaGVkdWxlZCcgJiZcbiAgICAgICAgICAgICAgKHRhc2suY2FuY2VsRm4gJiYgdGFzay5kYXRhICEuaXNQZXJpb2RpYyB8fCB0YXNrLnJ1bkNvdW50ID09PSAwKSkge1xuICAgICAgICAgICAgaWYgKHR5cGVvZiBpZCA9PT0gJ251bWJlcicpIHtcbiAgICAgICAgICAgICAgZGVsZXRlIHRhc2tzQnlIYW5kbGVJZFtpZF07XG4gICAgICAgICAgICB9IGVsc2UgaWYgKGlkKSB7XG4gICAgICAgICAgICAgIGlkW3Rhc2tTeW1ib2xdID0gbnVsbDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIC8vIERvIG5vdCBjYW5jZWwgYWxyZWFkeSBjYW5jZWxlZCBmdW5jdGlvbnNcbiAgICAgICAgICAgIHRhc2suem9uZS5jYW5jZWxUYXNrKHRhc2spO1xuICAgICAgICAgIH1cbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAvLyBjYXVzZSBhbiBlcnJvciBieSBjYWxsaW5nIGl0IGRpcmVjdGx5LlxuICAgICAgICAgIGRlbGVnYXRlLmFwcGx5KHdpbmRvdywgYXJncyk7XG4gICAgICAgIH1cbiAgICAgIH0pO1xufVxuIl19

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

/// <amd-module name="angular/packages/zone.js/lib/common/to-string" />
/// <amd-module name="zone.js/lib/common/to-string" />
export {};

@@ -7,3 +7,3 @@ (function (factory) {

else if (typeof define === "function" && define.amd) {
define("angular/packages/zone.js/lib/common/to-string", ["require", "exports", "angular/packages/zone.js/lib/common/utils"], factory);
define("zone.js/lib/common/to-string", ["require", "exports", "zone.js/lib/common/utils"], factory);
}

@@ -20,3 +20,3 @@ })(function (require, exports) {

*/
var utils_1 = require("angular/packages/zone.js/lib/common/utils");
var utils_1 = require("zone.js/lib/common/utils");
// override Function.prototype.toString to make zone.js patched function

@@ -69,2 +69,2 @@ // look like native function

});
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG8tc3RyaW5nLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvem9uZS5qcy9saWIvY29tbW9uL3RvLXN0cmluZy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7OztJQUFBOzs7Ozs7T0FNRztJQUNILG1FQUFtQztJQUVuQyx3RUFBd0U7SUFDeEUsNEJBQTRCO0lBQzVCLElBQUksQ0FBQyxZQUFZLENBQUMsVUFBVSxFQUFFLFVBQUMsTUFBVztRQUN4Qyw2REFBNkQ7UUFDN0QsSUFBTSx3QkFBd0IsR0FBRyxRQUFRLENBQUMsU0FBUyxDQUFDLFFBQVEsQ0FBQztRQUU3RCxJQUFNLHdCQUF3QixHQUFHLGtCQUFVLENBQUMsa0JBQWtCLENBQUMsQ0FBQztRQUNoRSxJQUFNLGNBQWMsR0FBRyxrQkFBVSxDQUFDLFNBQVMsQ0FBQyxDQUFDO1FBQzdDLElBQU0sWUFBWSxHQUFHLGtCQUFVLENBQUMsT0FBTyxDQUFDLENBQUM7UUFDekMsSUFBTSxtQkFBbUIsR0FBRyxTQUFTLFFBQVE7WUFDM0MsSUFBSSxPQUFPLElBQUksS0FBSyxVQUFVLEVBQUU7Z0JBQzlCLElBQU0sZ0JBQWdCLEdBQUksSUFBWSxDQUFDLHdCQUF3QixDQUFDLENBQUM7Z0JBQ2pFLElBQUksZ0JBQWdCLEVBQUU7b0JBQ3BCLElBQUksT0FBTyxnQkFBZ0IsS0FBSyxVQUFVLEVBQUU7d0JBQzFDLE9BQU8sd0JBQXdCLENBQUMsSUFBSSxDQUFDLGdCQUFnQixDQUFDLENBQUM7cUJBQ3hEO3lCQUFNO3dCQUNMLE9BQU8sTUFBTSxDQUFDLFNBQVMsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLGdCQUFnQixDQUFDLENBQUM7cUJBQ3pEO2lCQUNGO2dCQUNELElBQUksSUFBSSxLQUFLLE9BQU8sRUFBRTtvQkFDcEIsSUFBTSxhQUFhLEdBQUcsTUFBTSxDQUFDLGNBQWMsQ0FBQyxDQUFDO29CQUM3QyxJQUFJLGFBQWEsRUFBRTt3QkFDakIsT0FBTyx3QkFBd0IsQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLENBQUM7cUJBQ3JEO2lCQUNGO2dCQUNELElBQUksSUFBSSxLQUFLLEtBQUssRUFBRTtvQkFDbEIsSUFBTSxXQUFXLEdBQUcsTUFBTSxDQUFDLFlBQVksQ0FBQyxDQUFDO29CQUN6QyxJQUFJLFdBQVcsRUFBRTt3QkFDZixPQUFPLHdCQUF3QixDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQztxQkFDbkQ7aUJBQ0Y7YUFDRjtZQUNELE9BQU8sd0JBQXdCLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQzdDLENBQUMsQ0FBQztRQUNELG1CQUEyQixDQUFDLHdCQUF3QixDQUFDLEdBQUcsd0JBQXdCLENBQUM7UUFDbEYsUUFBUSxDQUFDLFNBQVMsQ0FBQyxRQUFRLEdBQUcsbUJBQW1CLENBQUM7UUFHbEQsK0RBQStEO1FBQy9ELElBQU0sc0JBQXNCLEdBQUcsTUFBTSxDQUFDLFNBQVMsQ0FBQyxRQUFRLENBQUM7UUFDekQsSUFBTSx3QkFBd0IsR0FBRyxrQkFBa0IsQ0FBQztRQUNwRCxNQUFNLENBQUMsU0FBUyxDQUFDLFFBQVEsR0FBRztZQUMxQixJQUFJLElBQUksWUFBWSxPQUFPLEVBQUU7Z0JBQzNCLE9BQU8sd0JBQXdCLENBQUM7YUFDakM7WUFDRCxPQUFPLHNCQUFzQixDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUMzQyxDQUFDLENBQUM7SUFDSixDQUFDLENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogQGxpY2Vuc2VcbiAqIENvcHlyaWdodCBHb29nbGUgSW5jLiBBbGwgUmlnaHRzIFJlc2VydmVkLlxuICpcbiAqIFVzZSBvZiB0aGlzIHNvdXJjZSBjb2RlIGlzIGdvdmVybmVkIGJ5IGFuIE1JVC1zdHlsZSBsaWNlbnNlIHRoYXQgY2FuIGJlXG4gKiBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlIGF0IGh0dHBzOi8vYW5ndWxhci5pby9saWNlbnNlXG4gKi9cbmltcG9ydCB7em9uZVN5bWJvbH0gZnJvbSAnLi91dGlscyc7XG5cbi8vIG92ZXJyaWRlIEZ1bmN0aW9uLnByb3RvdHlwZS50b1N0cmluZyB0byBtYWtlIHpvbmUuanMgcGF0Y2hlZCBmdW5jdGlvblxuLy8gbG9vayBsaWtlIG5hdGl2ZSBmdW5jdGlvblxuWm9uZS5fX2xvYWRfcGF0Y2goJ3RvU3RyaW5nJywgKGdsb2JhbDogYW55KSA9PiB7XG4gIC8vIHBhdGNoIEZ1bmMucHJvdG90eXBlLnRvU3RyaW5nIHRvIGxldCB0aGVtIGxvb2sgbGlrZSBuYXRpdmVcbiAgY29uc3Qgb3JpZ2luYWxGdW5jdGlvblRvU3RyaW5nID0gRnVuY3Rpb24ucHJvdG90eXBlLnRvU3RyaW5nO1xuXG4gIGNvbnN0IE9SSUdJTkFMX0RFTEVHQVRFX1NZTUJPTCA9IHpvbmVTeW1ib2woJ09yaWdpbmFsRGVsZWdhdGUnKTtcbiAgY29uc3QgUFJPTUlTRV9TWU1CT0wgPSB6b25lU3ltYm9sKCdQcm9taXNlJyk7XG4gIGNvbnN0IEVSUk9SX1NZTUJPTCA9IHpvbmVTeW1ib2woJ0Vycm9yJyk7XG4gIGNvbnN0IG5ld0Z1bmN0aW9uVG9TdHJpbmcgPSBmdW5jdGlvbiB0b1N0cmluZyh0aGlzOiB1bmtub3duKSB7XG4gICAgaWYgKHR5cGVvZiB0aGlzID09PSAnZnVuY3Rpb24nKSB7XG4gICAgICBjb25zdCBvcmlnaW5hbERlbGVnYXRlID0gKHRoaXMgYXMgYW55KVtPUklHSU5BTF9ERUxFR0FURV9TWU1CT0xdO1xuICAgICAgaWYgKG9yaWdpbmFsRGVsZWdhdGUpIHtcbiAgICAgICAgaWYgKHR5cGVvZiBvcmlnaW5hbERlbGVnYXRlID09PSAnZnVuY3Rpb24nKSB7XG4gICAgICAgICAgcmV0dXJuIG9yaWdpbmFsRnVuY3Rpb25Ub1N0cmluZy5jYWxsKG9yaWdpbmFsRGVsZWdhdGUpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIHJldHVybiBPYmplY3QucHJvdG90eXBlLnRvU3RyaW5nLmNhbGwob3JpZ2luYWxEZWxlZ2F0ZSk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIGlmICh0aGlzID09PSBQcm9taXNlKSB7XG4gICAgICAgIGNvbnN0IG5hdGl2ZVByb21pc2UgPSBnbG9iYWxbUFJPTUlTRV9TWU1CT0xdO1xuICAgICAgICBpZiAobmF0aXZlUHJvbWlzZSkge1xuICAgICAgICAgIHJldHVybiBvcmlnaW5hbEZ1bmN0aW9uVG9TdHJpbmcuY2FsbChuYXRpdmVQcm9taXNlKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgaWYgKHRoaXMgPT09IEVycm9yKSB7XG4gICAgICAgIGNvbnN0IG5hdGl2ZUVycm9yID0gZ2xvYmFsW0VSUk9SX1NZTUJPTF07XG4gICAgICAgIGlmIChuYXRpdmVFcnJvcikge1xuICAgICAgICAgIHJldHVybiBvcmlnaW5hbEZ1bmN0aW9uVG9TdHJpbmcuY2FsbChuYXRpdmVFcnJvcik7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gICAgcmV0dXJuIG9yaWdpbmFsRnVuY3Rpb25Ub1N0cmluZy5jYWxsKHRoaXMpO1xuICB9O1xuICAobmV3RnVuY3Rpb25Ub1N0cmluZyBhcyBhbnkpW09SSUdJTkFMX0RFTEVHQVRFX1NZTUJPTF0gPSBvcmlnaW5hbEZ1bmN0aW9uVG9TdHJpbmc7XG4gIEZ1bmN0aW9uLnByb3RvdHlwZS50b1N0cmluZyA9IG5ld0Z1bmN0aW9uVG9TdHJpbmc7XG5cblxuICAvLyBwYXRjaCBPYmplY3QucHJvdG90eXBlLnRvU3RyaW5nIHRvIGxldCB0aGVtIGxvb2sgbGlrZSBuYXRpdmVcbiAgY29uc3Qgb3JpZ2luYWxPYmplY3RUb1N0cmluZyA9IE9iamVjdC5wcm90b3R5cGUudG9TdHJpbmc7XG4gIGNvbnN0IFBST01JU0VfT0JKRUNUX1RPX1NUUklORyA9ICdbb2JqZWN0IFByb21pc2VdJztcbiAgT2JqZWN0LnByb3RvdHlwZS50b1N0cmluZyA9IGZ1bmN0aW9uKCkge1xuICAgIGlmICh0aGlzIGluc3RhbmNlb2YgUHJvbWlzZSkge1xuICAgICAgcmV0dXJuIFBST01JU0VfT0JKRUNUX1RPX1NUUklORztcbiAgICB9XG4gICAgcmV0dXJuIG9yaWdpbmFsT2JqZWN0VG9TdHJpbmcuY2FsbCh0aGlzKTtcbiAgfTtcbn0pO1xuIl19
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG8tc3RyaW5nLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvem9uZS5qcy9saWIvY29tbW9uL3RvLXN0cmluZy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7OztJQUFBOzs7Ozs7T0FNRztJQUNILGtEQUFtQztJQUVuQyx3RUFBd0U7SUFDeEUsNEJBQTRCO0lBQzVCLElBQUksQ0FBQyxZQUFZLENBQUMsVUFBVSxFQUFFLFVBQUMsTUFBVztRQUN4Qyw2REFBNkQ7UUFDN0QsSUFBTSx3QkFBd0IsR0FBRyxRQUFRLENBQUMsU0FBUyxDQUFDLFFBQVEsQ0FBQztRQUU3RCxJQUFNLHdCQUF3QixHQUFHLGtCQUFVLENBQUMsa0JBQWtCLENBQUMsQ0FBQztRQUNoRSxJQUFNLGNBQWMsR0FBRyxrQkFBVSxDQUFDLFNBQVMsQ0FBQyxDQUFDO1FBQzdDLElBQU0sWUFBWSxHQUFHLGtCQUFVLENBQUMsT0FBTyxDQUFDLENBQUM7UUFDekMsSUFBTSxtQkFBbUIsR0FBRyxTQUFTLFFBQVE7WUFDM0MsSUFBSSxPQUFPLElBQUksS0FBSyxVQUFVLEVBQUU7Z0JBQzlCLElBQU0sZ0JBQWdCLEdBQUksSUFBWSxDQUFDLHdCQUF3QixDQUFDLENBQUM7Z0JBQ2pFLElBQUksZ0JBQWdCLEVBQUU7b0JBQ3BCLElBQUksT0FBTyxnQkFBZ0IsS0FBSyxVQUFVLEVBQUU7d0JBQzFDLE9BQU8sd0JBQXdCLENBQUMsSUFBSSxDQUFDLGdCQUFnQixDQUFDLENBQUM7cUJBQ3hEO3lCQUFNO3dCQUNMLE9BQU8sTUFBTSxDQUFDLFNBQVMsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLGdCQUFnQixDQUFDLENBQUM7cUJBQ3pEO2lCQUNGO2dCQUNELElBQUksSUFBSSxLQUFLLE9BQU8sRUFBRTtvQkFDcEIsSUFBTSxhQUFhLEdBQUcsTUFBTSxDQUFDLGNBQWMsQ0FBQyxDQUFDO29CQUM3QyxJQUFJLGFBQWEsRUFBRTt3QkFDakIsT0FBTyx3QkFBd0IsQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLENBQUM7cUJBQ3JEO2lCQUNGO2dCQUNELElBQUksSUFBSSxLQUFLLEtBQUssRUFBRTtvQkFDbEIsSUFBTSxXQUFXLEdBQUcsTUFBTSxDQUFDLFlBQVksQ0FBQyxDQUFDO29CQUN6QyxJQUFJLFdBQVcsRUFBRTt3QkFDZixPQUFPLHdCQUF3QixDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQztxQkFDbkQ7aUJBQ0Y7YUFDRjtZQUNELE9BQU8sd0JBQXdCLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQzdDLENBQUMsQ0FBQztRQUNELG1CQUEyQixDQUFDLHdCQUF3QixDQUFDLEdBQUcsd0JBQXdCLENBQUM7UUFDbEYsUUFBUSxDQUFDLFNBQVMsQ0FBQyxRQUFRLEdBQUcsbUJBQW1CLENBQUM7UUFHbEQsK0RBQStEO1FBQy9ELElBQU0sc0JBQXNCLEdBQUcsTUFBTSxDQUFDLFNBQVMsQ0FBQyxRQUFRLENBQUM7UUFDekQsSUFBTSx3QkFBd0IsR0FBRyxrQkFBa0IsQ0FBQztRQUNwRCxNQUFNLENBQUMsU0FBUyxDQUFDLFFBQVEsR0FBRztZQUMxQixJQUFJLElBQUksWUFBWSxPQUFPLEVBQUU7Z0JBQzNCLE9BQU8sd0JBQXdCLENBQUM7YUFDakM7WUFDRCxPQUFPLHNCQUFzQixDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUMzQyxDQUFDLENBQUM7SUFDSixDQUFDLENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogQGxpY2Vuc2VcbiAqIENvcHlyaWdodCBHb29nbGUgSW5jLiBBbGwgUmlnaHRzIFJlc2VydmVkLlxuICpcbiAqIFVzZSBvZiB0aGlzIHNvdXJjZSBjb2RlIGlzIGdvdmVybmVkIGJ5IGFuIE1JVC1zdHlsZSBsaWNlbnNlIHRoYXQgY2FuIGJlXG4gKiBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlIGF0IGh0dHBzOi8vYW5ndWxhci5pby9saWNlbnNlXG4gKi9cbmltcG9ydCB7em9uZVN5bWJvbH0gZnJvbSAnLi91dGlscyc7XG5cbi8vIG92ZXJyaWRlIEZ1bmN0aW9uLnByb3RvdHlwZS50b1N0cmluZyB0byBtYWtlIHpvbmUuanMgcGF0Y2hlZCBmdW5jdGlvblxuLy8gbG9vayBsaWtlIG5hdGl2ZSBmdW5jdGlvblxuWm9uZS5fX2xvYWRfcGF0Y2goJ3RvU3RyaW5nJywgKGdsb2JhbDogYW55KSA9PiB7XG4gIC8vIHBhdGNoIEZ1bmMucHJvdG90eXBlLnRvU3RyaW5nIHRvIGxldCB0aGVtIGxvb2sgbGlrZSBuYXRpdmVcbiAgY29uc3Qgb3JpZ2luYWxGdW5jdGlvblRvU3RyaW5nID0gRnVuY3Rpb24ucHJvdG90eXBlLnRvU3RyaW5nO1xuXG4gIGNvbnN0IE9SSUdJTkFMX0RFTEVHQVRFX1NZTUJPTCA9IHpvbmVTeW1ib2woJ09yaWdpbmFsRGVsZWdhdGUnKTtcbiAgY29uc3QgUFJPTUlTRV9TWU1CT0wgPSB6b25lU3ltYm9sKCdQcm9taXNlJyk7XG4gIGNvbnN0IEVSUk9SX1NZTUJPTCA9IHpvbmVTeW1ib2woJ0Vycm9yJyk7XG4gIGNvbnN0IG5ld0Z1bmN0aW9uVG9TdHJpbmcgPSBmdW5jdGlvbiB0b1N0cmluZyh0aGlzOiB1bmtub3duKSB7XG4gICAgaWYgKHR5cGVvZiB0aGlzID09PSAnZnVuY3Rpb24nKSB7XG4gICAgICBjb25zdCBvcmlnaW5hbERlbGVnYXRlID0gKHRoaXMgYXMgYW55KVtPUklHSU5BTF9ERUxFR0FURV9TWU1CT0xdO1xuICAgICAgaWYgKG9yaWdpbmFsRGVsZWdhdGUpIHtcbiAgICAgICAgaWYgKHR5cGVvZiBvcmlnaW5hbERlbGVnYXRlID09PSAnZnVuY3Rpb24nKSB7XG4gICAgICAgICAgcmV0dXJuIG9yaWdpbmFsRnVuY3Rpb25Ub1N0cmluZy5jYWxsKG9yaWdpbmFsRGVsZWdhdGUpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIHJldHVybiBPYmplY3QucHJvdG90eXBlLnRvU3RyaW5nLmNhbGwob3JpZ2luYWxEZWxlZ2F0ZSk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIGlmICh0aGlzID09PSBQcm9taXNlKSB7XG4gICAgICAgIGNvbnN0IG5hdGl2ZVByb21pc2UgPSBnbG9iYWxbUFJPTUlTRV9TWU1CT0xdO1xuICAgICAgICBpZiAobmF0aXZlUHJvbWlzZSkge1xuICAgICAgICAgIHJldHVybiBvcmlnaW5hbEZ1bmN0aW9uVG9TdHJpbmcuY2FsbChuYXRpdmVQcm9taXNlKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgaWYgKHRoaXMgPT09IEVycm9yKSB7XG4gICAgICAgIGNvbnN0IG5hdGl2ZUVycm9yID0gZ2xvYmFsW0VSUk9SX1NZTUJPTF07XG4gICAgICAgIGlmIChuYXRpdmVFcnJvcikge1xuICAgICAgICAgIHJldHVybiBvcmlnaW5hbEZ1bmN0aW9uVG9TdHJpbmcuY2FsbChuYXRpdmVFcnJvcik7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gICAgcmV0dXJuIG9yaWdpbmFsRnVuY3Rpb25Ub1N0cmluZy5jYWxsKHRoaXMpO1xuICB9O1xuICAobmV3RnVuY3Rpb25Ub1N0cmluZyBhcyBhbnkpW09SSUdJTkFMX0RFTEVHQVRFX1NZTUJPTF0gPSBvcmlnaW5hbEZ1bmN0aW9uVG9TdHJpbmc7XG4gIEZ1bmN0aW9uLnByb3RvdHlwZS50b1N0cmluZyA9IG5ld0Z1bmN0aW9uVG9TdHJpbmc7XG5cblxuICAvLyBwYXRjaCBPYmplY3QucHJvdG90eXBlLnRvU3RyaW5nIHRvIGxldCB0aGVtIGxvb2sgbGlrZSBuYXRpdmVcbiAgY29uc3Qgb3JpZ2luYWxPYmplY3RUb1N0cmluZyA9IE9iamVjdC5wcm90b3R5cGUudG9TdHJpbmc7XG4gIGNvbnN0IFBST01JU0VfT0JKRUNUX1RPX1NUUklORyA9ICdbb2JqZWN0IFByb21pc2VdJztcbiAgT2JqZWN0LnByb3RvdHlwZS50b1N0cmluZyA9IGZ1bmN0aW9uKCkge1xuICAgIGlmICh0aGlzIGluc3RhbmNlb2YgUHJvbWlzZSkge1xuICAgICAgcmV0dXJuIFBST01JU0VfT0JKRUNUX1RPX1NUUklORztcbiAgICB9XG4gICAgcmV0dXJuIG9yaWdpbmFsT2JqZWN0VG9TdHJpbmcuY2FsbCh0aGlzKTtcbiAgfTtcbn0pO1xuIl19

@@ -13,3 +13,3 @@ /**

*/
/// <amd-module name="angular/packages/zone.js/lib/common/utils" />
/// <amd-module name="zone.js/lib/common/utils" />
/** Object.getOwnPropertyDescriptor */

@@ -16,0 +16,0 @@ export declare const ObjectGetOwnPropertyDescriptor: (o: any, p: string | number | symbol) => PropertyDescriptor | undefined;

@@ -19,3 +19,3 @@ /**

else if (typeof define === "function" && define.amd) {
define("angular/packages/zone.js/lib/common/utils", ["require", "exports"], factory);
define("zone.js/lib/common/utils", ["require", "exports"], factory);
}

@@ -22,0 +22,0 @@ })(function (require, exports) {

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

/// <amd-module name="angular/packages/zone.js/lib/extra/bluebird" />
/// <amd-module name="zone.js/lib/extra/bluebird" />

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

/// <amd-module name="angular/packages/zone.js/lib/extra/cordova" />
/// <amd-module name="zone.js/lib/extra/cordova" />

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

/// <amd-module name="angular/packages/zone.js/lib/extra/electron" />
/// <amd-module name="zone.js/lib/extra/electron" />

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

/// <amd-module name="angular/packages/zone.js/lib/extra/jsonp" />
/// <amd-module name="zone.js/lib/extra/jsonp" />

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

/// <amd-module name="angular/packages/zone.js/lib/extra/socket-io" />
/// <amd-module name="zone.js/lib/extra/socket-io" />

@@ -8,2 +8,3 @@ /**

*/
/// <amd-module name="angular/packages/zone.js/lib/jasmine/jasmine" />
/// <amd-module name="zone.js/lib/jasmine/jasmine" />
declare let jest: any;

@@ -10,3 +10,3 @@ /**

'use strict';
(function (_global) {
Zone.__load_patch('jasmine', function (global, Zone, api) {
var __extends = function (d, b) {

@@ -23,6 +23,10 @@ for (var p in b)

throw new Error('Missing: zone.js');
if (typeof jasmine == 'undefined')
throw new Error('Missing: jasmine.js');
if (jasmine['__zone_patch__'])
throw new Error("'jasmine' has already been patched with 'Zone'.");
if (typeof jest !== 'undefined') {
// return if jasmine is a light implementation inside jest
// in this case, we are running inside jest not jasmine
return;
}
if (typeof jasmine == 'undefined' || jasmine['__zone_patch__']) {
return;
}
jasmine['__zone_patch__'] = true;

@@ -42,3 +46,3 @@ var SyncTestZoneSpec = Zone['SyncTestZoneSpec'];

// whether patch jasmine clock when in fakeAsync
var disablePatchingJasmineClock = _global[symbol('fakeAsyncDisablePatchingClock')] === true;
var disablePatchingJasmineClock = global[symbol('fakeAsyncDisablePatchingClock')] === true;
// the original variable name fakeAsyncPatchLock is not accurate, so the name will be

@@ -48,5 +52,5 @@ // fakeAsyncAutoFakeAsyncWhenClockPatched and if this enablePatchingJasmineClock is false, we also

var enableAutoFakeAsyncWhenClockPatched = !disablePatchingJasmineClock &&
((_global[symbol('fakeAsyncPatchLock')] === true) ||
(_global[symbol('fakeAsyncAutoFakeAsyncWhenClockPatched')] === true));
var ignoreUnhandledRejection = _global[symbol('ignoreUnhandledRejection')] === true;
((global[symbol('fakeAsyncPatchLock')] === true) ||
(global[symbol('fakeAsyncAutoFakeAsyncWhenClockPatched')] === true));
var ignoreUnhandledRejection = global[symbol('ignoreUnhandledRejection')] === true;
if (!ignoreUnhandledRejection) {

@@ -200,9 +204,9 @@ var globalErrors_1 = jasmine.GlobalErrors;

}
var nativeSetTimeout = _global[Zone.__symbol__('setTimeout')];
var nativeClearTimeout = _global[Zone.__symbol__('clearTimeout')];
var nativeSetTimeout = global[Zone.__symbol__('setTimeout')];
var nativeClearTimeout = global[Zone.__symbol__('clearTimeout')];
if (nativeSetTimeout) {
// should run setTimeout inside jasmine outside of zone
attrs.timeout = {
setTimeout: nativeSetTimeout ? nativeSetTimeout : _global.setTimeout,
clearTimeout: nativeClearTimeout ? nativeClearTimeout : _global.clearTimeout
setTimeout: nativeSetTimeout ? nativeSetTimeout : global.setTimeout,
clearTimeout: nativeClearTimeout ? nativeClearTimeout : global.clearTimeout
};

@@ -287,3 +291,3 @@ }

})(QueueRunner);
})(typeof window !== 'undefined' && window || typeof self !== 'undefined' && self || global);
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiamFzbWluZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL3pvbmUuanMvbGliL2phc21pbmUvamFzbWluZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7O0dBTUc7QUFFSCxnQ0FBZ0M7QUFFaEMsWUFBWSxDQUFDO0FBQ2IsQ0FBQyxVQUFDLE9BQVk7SUFDWixJQUFNLFNBQVMsR0FBRyxVQUFTLENBQU0sRUFBRSxDQUFNO1FBQ3ZDLEtBQUssSUFBTSxDQUFDLElBQUksQ0FBQztZQUNmLElBQUksQ0FBQyxDQUFDLGNBQWMsQ0FBQyxDQUFDLENBQUM7Z0JBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUN2QyxTQUFTLEVBQUUsS0FBaUIsSUFBSSxDQUFDLFdBQVcsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQ25ELENBQUMsQ0FBQyxTQUFTLEdBQUcsQ0FBQyxLQUFLLElBQUksQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxTQUFTLEdBQUcsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxFQUFFLElBQUssRUFBVSxFQUFFLENBQUMsQ0FBQztJQUNsRyxDQUFDLENBQUM7SUFDRixzRkFBc0Y7SUFDdEYsK0VBQStFO0lBQy9FLElBQUksQ0FBQyxJQUFJO1FBQUUsTUFBTSxJQUFJLEtBQUssQ0FBQyxrQkFBa0IsQ0FBQyxDQUFDO0lBQy9DLElBQUksT0FBTyxPQUFPLElBQUksV0FBVztRQUFFLE1BQU0sSUFBSSxLQUFLLENBQUMscUJBQXFCLENBQUMsQ0FBQztJQUMxRSxJQUFLLE9BQWUsQ0FBQyxnQkFBZ0IsQ0FBQztRQUNwQyxNQUFNLElBQUksS0FBSyxDQUFDLGlEQUFpRCxDQUFDLENBQUM7SUFDcEUsT0FBZSxDQUFDLGdCQUFnQixDQUFD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LFdBQVcsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLGlCQUFpQixDQUFDLENBQUM7WUFDOUQsSUFBSSxDQUFDLElBQUksQ0FBQyxXQUFXLEVBQUU7Z0JBQ3JCLG1FQUFtRTtnQkFDbkUsZ0VBQWdFO2dCQUNoRSwrRUFBK0U7Z0JBQy9FLHlFQUF5RTtnQkFDekUscUVBQXFFO2dCQUNyRSxJQUFJLENBQUMsT0FBTyxDQUFDLGlCQUFpQixDQUMxQiw2QkFBNkIsRUFBRSxjQUFNLE9BQUEsV0FBVyxDQUFDLFNBQVMsQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLEtBQUksQ0FBQyxFQUF4QyxDQUF3QyxDQUFDLENBQUM7YUFDcEY7aUJBQU07Z0JBQ0wsTUFBTSxDQUFDLFNBQVMsQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO2FBQ3JDO1FBQ0gsQ0FBQyxDQUFDO1FBQ0YsT0FBTyxlQUFlLENBQUM7SUFDekIsQ0FBQyxDQUFDLENBQUMsV0FBVyxDQUFDLENBQUM7QUFDbEIsQ0FBQyxDQUFDLENBQUMsT0FBTyxNQUFNLEtBQUssV0FBVyxJQUFJLE1BQU0sSUFBSSxPQUFPLElBQUksS0FBSyxXQUFXLElBQUksSUFBSSxJQUFJLE1BQU0sQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBAbGljZW5zZVxuICogQ29weXJpZ2h0IEdvb2dsZSBJbmMuIEFsbCBSaWdodHMgUmVzZXJ2ZWQuXG4gKlxuICogVXNlIG9mIHRoaXMgc291cmNlIGNvZGUgaXMgZ292ZXJuZWQgYnkgYW4gTUlULXN0eWxlIGxpY2Vuc2UgdGhhdCBjYW4gYmVcbiAqIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUgYXQgaHR0cHM6Ly9hbmd1bGFyLmlvL2xpY2Vuc2VcbiAqL1xuXG4vLy8gPHJlZmVyZW5jZSB0eXBlcz1cImphc21pbmVcIi8+XG5cbid1c2Ugc3RyaWN0JztcbigoX2dsb2JhbDogYW55KSA9PiB7XG4gIGNvbnN0IF9fZXh0ZW5kcyA9IGZ1bmN0aW9uKGQ6IGFueSwgYjogYW55KSB7XG4gICAgZm9yIChjb25zdCBwIGluIGIpXG4gICAgICBpZiAoYi5oYXNPd25Qcm9wZXJ0eShwKSkgZFtwXSA9IGJbcF07XG4gICAgZnVuY3Rpb24gX18odGhpczogT2JqZWN0KSB7IHRoaXMuY29uc3RydWN0b3IgPSBkOyB9XG4gICAgZC5wcm90b3R5cGUgPSBiID09PSBudWxsID8gT2JqZWN0LmNyZWF0ZShiKSA6ICgoX18ucHJvdG90eXBlID0gYi5wcm90b3R5cGUpLCBuZXcgKF9fIGFzIGFueSkoKSk7XG4gIH07XG4gIC8vIFBhdGNoIGphc21pbmUncyBkZXNjcmliZS9pdC9iZWZvcmVFYWNoL2FmdGVyRWFjaCBmdW5jdGlvbnMgc28gdGVzdCBjb2RlIGFsd2F5cyBydW5zXG4gIC8vIGluIGEgdGVzdFpvbmUgKFByb3h5Wm9uZSkuIChTZWU6IGFuZ3VsYXIvem9uZS5qcyM5MSAmIGFuZ3VsYXIvYW5ndWxhciMxMDUwMylcbiAgaWYgKCFab25lKSB0aHJvdyBuZXcgRXJyb3IoJ01pc3Npbmc6IHpvbmUuanMnKTtcbiAgaWYgKHR5cGVvZiBqYXNtaW5lID09ICd1bmRlZmluZWQnKSB0aHJvdyBuZXcgRXJyb3IoJ01pc3Npbmc6IGphc21pbmUuanMnKTtcbiAgaWYgKChqYXNtaW5lIGFzIGFueSlbJ19fem9uZV9wYXRjaF9fJ10pXG4gICAgdGhyb3cgbmV3IEVycm9yKGAnamFzbWluZScgaGFzIGFscmVhZHkgYmVlbiBwYXRjaGVkIHdpdGggJ1pvbmUnLmApO1xuICAoamFzbWluZSBhcyBhbnkpWydfX3pvbmVfcGF0Y2hfXyddID0gdHJ1ZTtcblxuICBjb25zdCBTeW5jVGVzdFpvbmVTcGVjOiB7bmV3IChuYW1lOiBzdHJpbmcpOiBab25lU3BlY30gPSAoWm9uZSBhcyBhbnkpWydTeW5jVGVzdFpvbmVTcGVjJ107XG4gIGNvbnN0IFByb3h5Wm9uZVNwZWM6IHtuZXcgKCk6IFpvbmVTcGVjfSA9IChab25lIGFzIGFueSlbJ1Byb3h5Wm9uZVNwZWMnXTtcbiAgaWYgKCFTeW5jVGVzdFpvbmVTcGVjKSB0aHJvdyBuZXcgRXJyb3IoJ01pc3Npbmc6IFN5bmNUZXN0Wm9uZVNwZWMnKTtcbiAgaWYgKCFQcm94eVpvbmVTcGVjKSB0aHJvdyBuZXcgRXJyb3IoJ01pc3Npbmc6IFByb3h5Wm9uZVNwZWMnKTtcblxuICBjb25zdCBhbWJpZW50Wm9uZSA9IFpvbmUuY3VycmVudDtcbiAgLy8gQ3JlYXRlIGEgc3luY2hyb25vdXMtb25seSB6b25lIGluIHdoaWNoIHRvIHJ1biBgZGVzY3JpYmVgIGJsb2NrcyBpbiBvcmRlciB0byByYWlzZSBhblxuICAvLyBlcnJvciBpZiBhbnkgYXN5bmNocm9ub3VzIG9wZXJhdGlvbnMgYXJlIGF0dGVtcHRlZCBpbnNpZGUgb2YgYSBgZGVzY3JpYmVgIGJ1dCBvdXRzaWRlIG9mXG4gIC8vIGEgYGJlZm9yZUVhY2hgIG9yIGBpdGAuXG4gIGNvbnN0IHN5bmNab25lID0gYW1iaWVudFpvbmUuZm9yayhuZXcgU3luY1Rlc3Rab25lU3BlYygnamFzbWluZS5kZXNjcmliZScpKTtcblxuICBjb25zdCBzeW1ib2wgPSBab25lLl9fc3ltYm9sX187XG5cbiAgLy8gd2hldGhlciBwYXRjaCBqYXNtaW5lIGNsb2NrIHdoZW4gaW4gZmFrZUFzeW5jXG4gIGNvbnN0IGRpc2FibGVQYXRjaGluZ0phc21pbmVDbG9jayA9IF9nbG9iYWxbc3ltYm9sKCdmYWtlQXN5bmNEaXNhYmxlUGF0Y2hpbmdDbG9jaycpXSA9PT0gdHJ1ZTtcbiAgLy8gdGhlIG9yaWdpbmFsIHZhcmlhYmxlIG5hbWUgZmFrZUFzeW5jUGF0Y2hMb2NrIGlzIG5vdCBhY2N1cmF0ZSwgc28gdGhlIG5hbWUgd2lsbCBiZVxuICAvLyBmYWtlQXN5bmNBdXRvRmFrZUFzeW5jV2hlbkNsb2NrUGF0Y2hlZCBhbmQgaWYgdGhpcyBlbmFibGVQYXRjaGluZ0phc21pbmVDbG9jayBpcyBmYWxzZSwgd2UgYWxzb1xuICAvLyBhdXRvbWF0aWNhbGx5IGRpc2FibGUgdGhlIGF1dG8ganVtcCBpbnRvIGZha2VBc3luYyBmZWF0dXJlXG4gIGNvbnN0IGVuYWJsZUF1dG9GYWtlQXN5bmNXaGVuQ2xvY2tQYXRjaGVkID0gIWRpc2FibGVQYXRjaGluZ0phc21pbmVDbG9jayAmJlxuICAgICAgKChfZ2xvYmFsW3N5bWJvbCgnZmFrZUFzeW5jUGF0Y2hMb2NrJyldID09PSB0cnVlKSB8fFxuICAgICAgIChfZ2xvYmFsW3N5bWJvbCgnZmFrZUFzeW5jQXV0b0Zha2VBc3luY1doZW5DbG9ja1BhdGNoZWQnKV0gPT09IHRydWUpKTtcblxuICBjb25zdCBpZ25vcmVVbmhhbmRsZWRSZWplY3Rpb24gPSBfZ2xvYmFsW3N5bWJvbCgnaWdub3JlVW5oYW5kbGVkUmVqZWN0aW9uJyldID09PSB0cnVlO1xuXG4gIGlmICghaWdub3JlVW5oYW5kbGVkUmVqZWN0aW9uKSB7XG4gICAgY29uc3QgZ2xvYmFsRXJyb3JzID0gKGphc21pbmUgYXMgYW55KS5HbG9iYWxFcnJvcnM7XG4gICAgaWYgKGdsb2JhbEVycm9ycyAmJiAhKGphc21pbmUgYXMgYW55KVtzeW1ib2woJ0dsb2JhbEVycm9ycycpXSkge1xuICAgICAgKGphc21pbmUgYXMgYW55KVtzeW1ib2woJ0dsb2JhbEVycm9ycycpXSA9IGdsb2JhbEVycm9ycztcbiAgICAgIChqYXNtaW5lIGFzIGFueSkuR2xvYmFsRXJyb3JzID0gZnVuY3Rpb24oKSB7XG4gICAgICAgIGNvbnN0IGluc3RhbmNlID0gbmV3IGdsb2JhbEVycm9ycygpO1xuICAgICAgICBjb25zdCBvcmlnaW5hbEluc3RhbGwgPSBpbnN0YW5jZS5pbnN0YWxsO1xuICAgICAgICBpZiAob3JpZ2luYWxJbnN0YWxsICYmICFpbnN0YW5jZVtzeW1ib2woJ2luc3RhbGwnKV0pIHtcbiAgICAgICAgICBpbnN0YW5jZVtzeW1ib2woJ2luc3RhbGwnKV0gPSBvcmlnaW5hbEluc3RhbGw7XG4gICAgICAgICAgaW5zdGFuY2UuaW5zdGFsbCA9IGZ1bmN0aW9uKCkge1xuICAgICAgICAgICAgY29uc3Qgb3JpZ2luYWxIYW5kbGVycyA9IHByb2Nlc3MubGlzdGVuZXJzKCd1bmhhbmRsZWRSZWplY3Rpb24nKTtcbiAgICAgICAgICAgIGNvbnN0IHIgPSBvcmlnaW5hbEluc3RhbGwuYXBwbHkodGhpcywgYXJndW1lbnRzKTtcbiAgICAgICAgICAgIHByb2Nlc3MucmVtb3ZlQWxsTGlzdGVuZXJzKCd1bmhhbmRsZWRSZWplY3Rpb24nKTtcbiAgICAgICAgICAgIGlmIChvcmlnaW5hbEhhbmRsZXJzKSB7XG4gICAgICAgICAgICAgIG9yaWdpbmFsSGFuZGxlcnMuZm9yRWFjaChoID0+IHByb2Nlc3Mub24oJ3VuaGFuZGxlZFJlamVjdGlvbicsIGgpKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHJldHVybiByO1xuICAgICAgICAgIH07XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIGluc3RhbmNlO1xuICAgICAgfTtcbiAgICB9XG4gIH1cblxuICAvLyBNb25rZXkgcGF0Y2ggYWxsIG9mIHRoZSBqYXNtaW5lIERTTCBzbyB0aGF0IGVhY2ggZnVuY3Rpb24gcnVucyBpbiBhcHByb3ByaWF0ZSB6b25lLlxuICBjb25zdCBqYXNtaW5lRW52OiBhbnkgPSBqYXNtaW5lLmdldEVudigpO1xuICBbJ2Rlc2NyaWJlJywgJ3hkZXNjcmliZScsICdmZGVzY3JpYmUnXS5mb3JFYWNoKG1ldGhvZE5hbWUgPT4ge1xuICAgIGxldCBvcmlnaW5hbEphc21pbmVGbjogRnVuY3Rpb24gPSBqYXNtaW5lRW52W21ldGhvZE5hbWVdO1xuICAgIGphc21pbmVFbnZbbWV0aG9kTmFtZV0gPSBmdW5jdGlvbihkZXNjcmlwdGlvbjogc3RyaW5nLCBzcGVjRGVmaW5pdGlvbnM6IEZ1bmN0aW9uKSB7XG4gICAgICByZXR1cm4gb3JpZ2luYWxKYXNtaW5lRm4uY2FsbCh0aGlzLCBkZXNjcmlwdGlvbiwgd3JhcERlc2NyaWJlSW5ab25lKHNwZWNEZWZpbml0aW9ucykpO1xuICAgIH07XG4gIH0pO1xuICBbJ2l0JywgJ3hpdCcsICdmaXQnXS5mb3JFYWNoKG1ldGhvZE5hbWUgPT4ge1xuICAgIGxldCBvcmlnaW5hbEphc21pbmVGbjogRnVuY3Rpb24gPSBqYXNtaW5lRW52W21ldGhvZE5hbWVdO1xuICAgIGphc21pbmVFbnZbc3ltYm9sKG1ldGhvZE5hbWUpXSA9IG9yaWdpbmFsSmFzbWluZUZuO1xuICAgIGphc21pbmVFbnZbbWV0aG9kTmFtZV0gPSBmdW5jdGlvbihcbiAgICAgICAgZGVzY3JpcHRpb246IHN0cmluZywgc3BlY0RlZmluaXRpb25zOiBGdW5jdGlvbiwgdGltZW91dDogbnVtYmVyKSB7XG4gICAgICBhcmd1bWVudHNbMV0gPSB3cmFwVGVzdEluWm9uZShzcGVjRGVmaW5pdGlvbnMpO1xuICAgICAgcmV0dXJuIG9yaWdpbmFsSmFzbWluZUZuLmFwcGx5KHRoaXMsIGFyZ3VtZW50cyk7XG4gICAgfTtcbiAgfSk7XG4gIFsnYmVmb3JlRWFjaCcsICdhZnRlckVhY2gnLCAnYmVmb3JlQWxsJywgJ2FmdGVyQWxsJ10uZm9yRWFjaChtZXRob2ROYW1lID0+IHtcbiAgICBsZXQgb3JpZ2luYWxKYXNtaW5lRm46IEZ1bmN0aW9uID0gamFzbWluZUVudlttZXRob2ROYW1lXTtcbiAgICBqYXNtaW5lRW52W3N5bWJvbChtZXRob2ROYW1lKV0gPSBvcmlnaW5hbEphc21pbmVGbjtcbiAgICBqYXNtaW5lRW52W21ldGhvZE5hbWVdID0gZnVuY3Rpb24oc3BlY0RlZmluaXRpb25zOiBGdW5jdGlvbiwgdGltZW91dDogbnVtYmVyKSB7XG4gICAgICBhcmd1bWVudHNbMF0gPSB3cmFwVGVzdEluWm9uZShzcGVjRGVmaW5pdGlvbnMpO1xuICAgICAgcmV0dXJuIG9yaWdpbmFsSmFzbWluZUZuLmFwcGx5KHRoaXMsIGFyZ3VtZW50cyk7XG4gICAgfTtcbiAgfSk7XG5cbiAgaWYgKCFkaXNhYmxlUGF0Y2hpbmdKYXNtaW5lQ2xvY2spIHtcbiAgICAvLyBuZWVkIHRvIHBhdGNoIGphc21pbmUuY2xvY2soKS5tb2NrRGF0ZSBhbmQgamFzbWluZS5jbG9jaygpLnRpY2soKSBzb1xuICAgIC8vIHRoZXkgY2FuIHdvcmsgcHJvcGVybHkgaW4gRmFrZUFzeW5jVGVzdFxuICAgIGNvbnN0IG9yaWdpbmFsQ2xvY2tGbjogRnVuY3Rpb24gPSAoKGphc21pbmUgYXMgYW55KVtzeW1ib2woJ2Nsb2NrJyldID0gamFzbWluZVsnY2xvY2snXSk7XG4gICAgKGphc21pbmUgYXMgYW55KVsnY2xvY2snXSA9IGZ1bmN0aW9uKCkge1xuICAgICAgY29uc3QgY2xvY2sgPSBvcmlnaW5hbENsb2NrRm4uYXBwbHkodGhpcywgYXJndW1lbnRzKTtcbiAgICAgIGlmICghY2xvY2tbc3ltYm9sKCdwYXRjaGVkJyldKSB7XG4gICAgICAgIGNsb2NrW3N5bWJvbCgncGF0Y2hlZCcpXSA9IHN5bWJvbCgncGF0Y2hlZCcpO1xuICAgICAgICBjb25zdCBvcmlnaW5hbFRpY2sgPSAoY2xvY2tbc3ltYm9sKCd0aWNrJyldID0gY2xvY2sudGljayk7XG4gICAgICAgIGNsb2NrLnRpY2sgPSBmdW5jdGlvbigpIHtcbiAgICAgICAgICBjb25zdCBmYWtlQXN5bmNab25lU3BlYyA9IFpvbmUuY3VycmVudC5nZXQoJ0Zha2VBc3luY1Rlc3Rab25lU3BlYycpO1xuICAgICAgICAgIGlmIChmYWtlQXN5bmNab25lU3BlYykge1xuICAgICAgICAgICAgcmV0dXJuIGZha2VBc3luY1pvbmVTcGVjLnRpY2suYXBwbHkoZmFrZUFzeW5jWm9uZVNwZWMsIGFyZ3VtZW50cyk7XG4gICAgICAgICAgfVxuICAgICAgICAgIHJldHVybiBvcmlnaW5hbFRpY2suYXBwbHkodGhpcywgYXJndW1lbnRzKTtcbiAgICAgICAgfTtcbiAgICAgICAgY29uc3Qgb3JpZ2luYWxNb2NrRGF0ZSA9IChjbG9ja1tzeW1ib2woJ21vY2tEYXRlJyldID0gY2xvY2subW9ja0RhdGUpO1xuICAgICAgICBjbG9jay5tb2NrRGF0ZSA9IGZ1bmN0aW9uKCkge1xuICAgICAgICAgIGNvbnN0IGZha2VBc3luY1pvbmVTcGVjID0gWm9uZS5jdXJyZW50LmdldCgnRmFrZUFzeW5jVGVzdFpvbmVTcGVjJyk7XG4gICAgICAgICAgaWYgKGZha2VBc3luY1pvbmVTcGVjKSB7XG4gICAgICAgICAgICBjb25zdCBkYXRlVGltZSA9IGFyZ3VtZW50cy5sZW5ndGggPiAwID8gYXJndW1lbnRzWzBdIDogbmV3IERhdGUoKTtcbiAgICAgICAgICAgIHJldHVybiBmYWtlQXN5bmNab25lU3BlYy5zZXRDdXJyZW50UmVhbFRpbWUuYXBwbHkoXG4gICAgICAgICAgICAgICAgZmFrZUFzeW5jWm9uZVNwZWMsIGRhdGVUaW1lICYmIHR5cGVvZiBkYXRlVGltZS5nZXRUaW1lID09PSAnZnVuY3Rpb24nID9cbiAgICAgICAgICAgICAgICAgICAgW2RhdGVUaW1lLmdldFRpbWUoKV0gOlxuICAgICAgICAgICAgICAgICAgICBhcmd1bWVudHMpO1xuICAgICAgICAgIH1cbiAgICAgICAgICByZXR1cm4gb3JpZ2luYWxNb2NrRGF0ZS5hcHBseSh0aGlzLCBhcmd1bWVudHMpO1xuICAgICAgICB9O1xuICAgICAgICAvLyBmb3IgYXV0byBnbyBpbnRvIGZha2VBc3luYyBmZWF0dXJlLCB3ZSBuZWVkIHRoZSBmbGFnIHRvIGVuYWJsZSBpdFxuICAgICAgICBpZiAoZW5hYmxlQXV0b0Zha2VBc3luY1doZW5DbG9ja1BhdGNoZWQpIHtcbiAgICAgICAgICBbJ2luc3RhbGwnLCAndW5pbnN0YWxsJ10uZm9yRWFjaChtZXRob2ROYW1lID0+IHtcbiAgICAgICAgICAgIGNvbnN0IG9yaWdpbmFsQ2xvY2tGbjogRnVuY3Rpb24gPSAoY2xvY2tbc3ltYm9sKG1ldGhvZE5hbWUpXSA9IGNsb2NrW21ldGhvZE5hbWVdKTtcbiAgICAgICAgICAgIGNsb2NrW21ldGhvZE5hbWVdID0gZnVuY3Rpb24oKSB7XG4gICAgICAgICAgICAgIGNvbnN0IEZha2VBc3luY1Rlc3Rab25lU3BlYyA9IChab25lIGFzIGFueSlbJ0Zha2VBc3luY1Rlc3Rab25lU3BlYyddO1xuICAgICAgICAgICAgICBpZiAoRmFrZUFzeW5jVGVzdFpvbmVTcGVjKSB7XG4gICAgICAgICAgICAgICAgKGphc21pbmUgYXMgYW55KVtzeW1ib2woJ2Nsb2NrSW5zdGFsbGVkJyldID0gJ2luc3RhbGwnID09PSBtZXRob2ROYW1lO1xuICAgICAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICByZXR1cm4gb3JpZ2luYWxDbG9ja0ZuLmFwcGx5KHRoaXMsIGFyZ3VtZW50cyk7XG4gICAgICAgICAgICB9O1xuICAgICAgICAgIH0pO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICByZXR1cm4gY2xvY2s7XG4gICAgfTtcbiAgfVxuICAvKipcbiAgICogR2V0cyBhIGZ1bmN0aW9uIHdyYXBwaW5nIHRoZSBib2R5IG9mIGEgSmFzbWluZSBgZGVzY3JpYmVgIGJsb2NrIHRvIGV4ZWN1dGUgaW4gYVxuICAgKiBzeW5jaHJvbm91cy1vbmx5IHpvbmUuXG4gICAqL1xuICBmdW5jdGlvbiB3cmFwRGVzY3JpYmVJblpvbmUoZGVzY3JpYmVCb2R5OiBGdW5jdGlvbik6IEZ1bmN0aW9uIHtcbiAgICByZXR1cm4gZnVuY3Rpb24odGhpczogdW5rbm93bikge1xuICAgICAgcmV0dXJuIHN5bmNab25lLnJ1bihkZXNjcmliZUJvZHksIHRoaXMsIChhcmd1bWVudHMgYXMgYW55KSBhcyBhbnlbXSk7XG4gICAgfTtcbiAgfVxuXG4gIGZ1bmN0aW9uIHJ1bkluVGVzdFpvbmUoXG4gICAgICB0ZXN0Qm9keTogRnVuY3Rpb24sIGFwcGx5VGhpczogYW55LCBxdWV1ZVJ1bm5lcjogUXVldWVSdW5uZXIsIGRvbmU/OiBGdW5jdGlvbikge1xuICAgIGNvbnN0IGlzQ2xvY2tJbnN0YWxsZWQgPSAhIShqYXNtaW5lIGFzIGFueSlbc3ltYm9sKCdjbG9ja0luc3RhbGxlZCcpXTtcbiAgICBjb25zdCB0ZXN0UHJveHlab25lU3BlYyA9IHF1ZXVlUnVubmVyLnRlc3RQcm94eVpvbmVTcGVjICE7XG4gICAgY29uc3QgdGVzdFByb3h5Wm9uZSA9IHF1ZXVlUnVubmVyLnRlc3RQcm94eVpvbmUgITtcbiAgICBsZXQgbGFzdERlbGVnYXRlO1xuICAgIGlmIChpc0Nsb2NrSW5zdGFsbGVkICYmIGVuYWJsZUF1dG9GYWtlQXN5bmNXaGVuQ2xvY2tQYXRjaGVkKSB7XG4gICAgICAvLyBhdXRvIHJ1biBhIGZha2VBc3luY1xuICAgICAgY29uc3QgZmFrZUFzeW5jTW9kdWxlID0gKFpvbmUgYXMgYW55KVtab25lLl9fc3ltYm9sX18oJ2Zha2VBc3luY1Rlc3QnKV07XG4gICAgICBpZiAoZmFrZUFzeW5jTW9kdWxlICYmIHR5cGVvZiBmYWtlQXN5bmNNb2R1bGUuZmFrZUFzeW5jID09PSAnZnVuY3Rpb24nKSB7XG4gICAgICAgIHRlc3RCb2R5ID0gZmFrZUFzeW5jTW9kdWxlLmZha2VBc3luYyh0ZXN0Qm9keSk7XG4gICAgICB9XG4gICAgfVxuICAgIGlmIChkb25lKSB7XG4gICAgICByZXR1cm4gdGVzdFByb3h5Wm9uZS5ydW4odGVzdEJvZHksIGFwcGx5VGhpcywgW2RvbmVdKTtcbiAgICB9IGVsc2Uge1xuICAgICAgcmV0dXJuIHRlc3RQcm94eVpvbmUucnVuKHRlc3RCb2R5LCBhcHBseVRoaXMpO1xuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBHZXRzIGEgZnVuY3Rpb24gd3JhcHBpbmcgdGhlIGJvZHkgb2YgYSBKYXNtaW5lIGBpdC9iZWZvcmVFYWNoL2FmdGVyRWFjaGAgYmxvY2sgdG9cbiAgICogZXhlY3V0ZSBpbiBhIFByb3h5Wm9uZSB6b25lLlxuICAgKiBUaGlzIHdpbGwgcnVuIGluIGB0ZXN0UHJveHlab25lYC4gVGhlIGB0ZXN0UHJveHlab25lYCB3aWxsIGJlIHJlc2V0IGJ5IHRoZSBgWm9uZVF1ZXVlUnVubmVyYFxuICAgKi9cbiAgZnVuY3Rpb24gd3JhcFRlc3RJblpvbmUodGVzdEJvZHk6IEZ1bmN0aW9uKTogRnVuY3Rpb24ge1xuICAgIC8vIFRoZSBgZG9uZWAgY2FsbGJhY2sgaXMgb25seSBwYXNzZWQgdGhyb3VnaCBpZiB0aGUgZnVuY3Rpb24gZXhwZWN0cyBhdCBsZWFzdCBvbmUgYXJndW1lbnQuXG4gICAgLy8gTm90ZSB3ZSBoYXZlIHRvIG1ha2UgYSBmdW5jdGlvbiB3aXRoIGNvcnJlY3QgbnVtYmVyIG9mIGFyZ3VtZW50cywgb3RoZXJ3aXNlIGphc21pbmUgd2lsbFxuICAgIC8vIHRoaW5rIHRoYXQgYWxsIGZ1bmN0aW9ucyBhcmUgc3luYyBvciBhc3luYy5cbiAgICByZXR1cm4gKHRlc3RCb2R5ICYmICh0ZXN0Qm9keS5sZW5ndGggPyBmdW5jdGlvbih0aGlzOiBRdWV1ZVJ1bm5lclVzZXJDb250ZXh0LCBkb25lOiBGdW5jdGlvbikge1xuICAgICAgICAgICAgICByZXR1cm4gcnVuSW5UZXN0Wm9uZSh0ZXN0Qm9keSwgdGhpcywgdGhpcy5xdWV1ZVJ1bm5lciAhLCBkb25lKTtcbiAgICAgICAgICAgIH0gOiBmdW5jdGlvbih0aGlzOiBRdWV1ZVJ1bm5lclVzZXJDb250ZXh0KSB7XG4gICAgICAgICAgICAgIHJldHVybiBydW5JblRlc3Rab25lKHRlc3RCb2R5LCB0aGlzLCB0aGlzLnF1ZXVlUnVubmVyICEpO1xuICAgICAgICAgICAgfSkpO1xuICB9XG4gIGludGVyZmFjZSBRdWV1ZVJ1bm5lciB7XG4gICAgZXhlY3V0ZSgpOiB2b2lkO1xuICAgIHRlc3RQcm94eVpvbmVTcGVjOiBab25lU3BlY3xudWxsO1xuICAgIHRlc3RQcm94eVpvbmU6IFpvbmV8bnVsbDtcbiAgfVxuICBpbnRlcmZhY2UgUXVldWVSdW5uZXJBdHRycyB7XG4gICAgcXVldWVhYmxlRm5zOiB7Zm46IEZ1bmN0aW9ufVtdO1xuICAgIGNsZWFyU3RhY2s6IChmbjogYW55KSA9PiB2b2lkO1xuICAgIGNhdGNoRXhjZXB0aW9uOiAoKSA9PiBib29sZWFuO1xuICAgIGZhaWw6ICgpID0+IHZvaWQ7XG4gICAgb25Db21wbGV0ZTogKCkgPT4gdm9pZDtcbiAgICBvbkV4Y2VwdGlvbjogKGVycm9yOiBhbnkpID0+IHZvaWQ7XG4gICAgdXNlckNvbnRleHQ6IFF1ZXVlUnVubmVyVXNlckNvbnRleHQ7XG4gICAgdGltZW91dDoge3NldFRpbWVvdXQ6IEZ1bmN0aW9uOyBjbGVhclRpbWVvdXQ6IEZ1bmN0aW9ufTtcbiAgfVxuICB0eXBlIFF1ZXVlUnVubmVyVXNlckNvbnRleHQgPSB7cXVldWVSdW5uZXI/OiBRdWV1ZVJ1bm5lcn07XG4gIGNvbnN0IFF1ZXVlUnVubmVyID0gKGphc21pbmUgYXMgYW55KS5RdWV1ZVJ1bm5lciBhcyB7XG4gICAgbmV3IChhdHRyczogUXVldWVSdW5uZXJBdHRycyk6IFF1ZXVlUnVubmVyO1xuICB9O1xuICAoamFzbWluZSBhcyBhbnkpLlF1ZXVlUnVubmVyID0gKGZ1bmN0aW9uKF9zdXBlcikge1xuICAgIF9fZXh0ZW5kcyhab25lUXVldWVSdW5uZXIsIF9zdXBlcik7XG4gICAgZnVuY3Rpb24gWm9uZVF1ZXVlUnVubmVyKHRoaXM6IFF1ZXVlUnVubmVyLCBhdHRyczogUXVldWVSdW5uZXJBdHRycykge1xuICAgICAgaWYgKGF0dHJzLm9uQ29tcGxldGUpIHtcbiAgICAgICAgYXR0cnMub25Db21wbGV0ZSA9IChmbiA9PiAoKSA9PiB7XG4gICAgICAgICAgLy8gQWxsIGZ1bmN0aW9ucyBhcmUgZG9uZSwgY2xlYXIgdGhlIHRlc3Qgem9uZS5cbiAgICAgICAgICB0aGlzLnRlc3RQcm94eVpvbmUgPSBudWxsO1xuICAgICAgICAgIHRoaXMudGVzdFByb3h5Wm9uZVNwZWMgPSBudWxsO1xuICAgICAgICAgIGFtYmllbnRab25lLnNjaGVkdWxlTWljcm9UYXNrKCdqYXNtaW5lLm9uQ29tcGxldGUnLCBmbik7XG4gICAgICAgIH0pKGF0dHJzLm9uQ29tcGxldGUpO1xuICAgICAgfVxuXG4gICAgICBjb25zdCBuYXRpdmVTZXRUaW1lb3V0ID0gX2dsb2JhbFtab25lLl9fc3ltYm9sX18oJ3NldFRpbWVvdXQnKV07XG4gICAgICBjb25zdCBuYXRpdmVDbGVhclRpbWVvdXQgPSBfZ2xvYmFsW1pvbmUuX19zeW1ib2xfXygnY2xlYXJUaW1lb3V0JyldO1xuICAgICAgaWYgKG5hdGl2ZVNldFRpbWVvdXQpIHtcbiAgICAgICAgLy8gc2hvdWxkIHJ1biBzZXRUaW1lb3V0IGluc2lkZSBqYXNtaW5lIG91dHNpZGUgb2Ygem9uZVxuICAgICAgICBhdHRycy50aW1lb3V0ID0ge1xuICAgICAgICAgIHNldFRpbWVvdXQ6IG5hdGl2ZVNldFRpbWVvdXQgPyBuYXRpdmVTZXRUaW1lb3V0IDogX2dsb2JhbC5zZXRUaW1lb3V0LFxuICAgICAgICAgIGNsZWFyVGltZW91dDogbmF0aXZlQ2xlYXJUaW1lb3V0ID8gbmF0aXZlQ2xlYXJUaW1lb3V0IDogX2dsb2JhbC5jbGVhclRpbWVvdXRcbiAgICAgICAgfTtcbiAgICAgIH1cblxuICAgICAgLy8gY3JlYXRlIGEgdXNlckNvbnRleHQgdG8gaG9sZCB0aGUgcXVldWVSdW5uZXIgaXRzZWxmXG4gICAgICAvLyBzbyB3ZSBjYW4gYWNjZXNzIHRoZSB0ZXN0UHJveHkgaW4gaXQveGl0L2JlZm9yZUVhY2ggLi4uXG4gICAgICBpZiAoKGphc21pbmUgYXMgYW55KS5Vc2VyQ29udGV4dCkge1xuICAgICAgICBpZiAoIWF0dHJzLnVzZXJDb250ZXh0KSB7XG4gICAgICAgICAgYXR0cnMudXNlckNvbnRleHQgPSBuZXcgKGphc21pbmUgYXMgYW55KS5Vc2VyQ29udGV4dCgpO1xuICAgICAgICB9XG4gICAgICAgIGF0dHJzLnVzZXJDb250ZXh0LnF1ZXVlUnVubmVyID0gdGhpcztcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIGlmICghYXR0cnMudXNlckNvbnRleHQpIHtcbiAgICAgICAgICBhdHRycy51c2VyQ29udGV4dCA9IHt9O1xuICAgICAgICB9XG4gICAgICAgIGF0dHJzLnVzZXJDb250ZXh0LnF1ZXVlUnVubmVyID0gdGhpcztcbiAgICAgIH1cblxuICAgICAgLy8gcGF0Y2ggYXR0cnMub25FeGNlcHRpb25cbiAgICAgIGNvbnN0IG9uRXhjZXB0aW9uID0gYXR0cnMub25FeGNlcHRpb247XG4gICAgICBhdHRycy5vbkV4Y2VwdGlvbiA9IGZ1bmN0aW9uKHRoaXM6IHVuZGVmaW5lZHxRdWV1ZVJ1bm5lciwgZXJyb3I6IGFueSkge1xuICAgICAgICBpZiAoZXJyb3IgJiZcbiAgICAgICAgICAgIGVycm9yLm1lc3NhZ2UgPT09XG4gICAgICAgICAgICAgICAgJ1RpbWVvdXQgLSBBc3luYyBjYWxsYmFjayB3YXMgbm90IGludm9rZWQgd2l0aGluIHRpbWVvdXQgc3BlY2lmaWVkIGJ5IGphc21pbmUuREVGQVVMVF9USU1FT1VUX0lOVEVSVkFMLicpIHtcbiAgICAgICAgICAvLyBqYXNtaW5lIHRpbWVvdXQsIHdlIGNhbiBtYWtlIHRoZSBlcnJvciBtZXNzYWdlIG1vcmVcbiAgICAgICAgICAvLyByZWFzb25hYmxlIHRvIHRlbGwgd2hhdCB0YXNrcyBhcmUgcGVuZGluZ1xuICAgICAgICAgIGNvbnN0IHByb3h5Wm9uZVNwZWM6IGFueSA9IHRoaXMgJiYgdGhpcy50ZXN0UHJveHlab25lU3BlYztcbiAgICAgICAgICBpZiAocHJveHlab25lU3BlYykge1xuICAgICAgICAgICAgY29uc3QgcGVuZGluZ1Rhc2tzSW5mbyA9IHByb3h5Wm9uZVNwZWMuZ2V0QW5kQ2xlYXJQZW5kaW5nVGFza3NJbmZvKCk7XG4gICAgICAgICAgICB0cnkge1xuICAgICAgICAgICAgICAvLyB0cnkgY2F0Y2ggaGVyZSBpbiBjYXNlIGVycm9yLm1lc3NhZ2UgaXMgbm90IHdyaXRhYmxlXG4gICAgICAgICAgICAgIGVycm9yLm1lc3NhZ2UgKz0gcGVuZGluZ1Rhc2tzSW5mbztcbiAgICAgICAgICAgIH0gY2F0Y2ggKGVycikge1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICBpZiAob25FeGNlcHRpb24pIHtcbiAgICAgICAgICBvbkV4Y2VwdGlvbi5jYWxsKHRoaXMsIGVycm9yKTtcbiAgICAgICAgfVxuICAgICAgfTtcblxuICAgICAgX3N1cGVyLmNhbGwodGhpcywgYXR0cnMpO1xuICAgIH1cbiAgICBab25lUXVldWVSdW5uZXIucHJvdG90eXBlLmV4ZWN1dGUgPSBmdW5jdGlvbigpIHtcbiAgICAgIGxldCB6b25lOiBab25lfG51bGwgPSBab25lLmN1cnJlbnQ7XG4gICAgICBsZXQgaXNDaGlsZE9mQW1iaWVudFpvbmUgPSBmYWxzZTtcbiAgICAgIHdoaWxlICh6b25lKSB7XG4gICAgICAgIGlmICh6b25lID09PSBhbWJpZW50Wm9uZSkge1xuICAgICAgICAgIGlzQ2hpbGRPZkFtYmllbnRab25lID0gdHJ1ZTtcbiAgICAgICAgICBicmVhaztcbiAgICAgICAgfVxuICAgICAgICB6b25lID0gem9uZS5wYXJlbnQ7XG4gICAgICB9XG5cbiAgICAgIGlmICghaXNDaGlsZE9mQW1iaWVudFpvbmUpIHRocm93IG5ldyBFcnJvcignVW5leHBlY3RlZCBab25lOiAnICsgWm9uZS5jdXJyZW50Lm5hbWUpO1xuXG4gICAgICAvLyBUaGlzIGlzIHRoZSB6b25lIHdoaWNoIHdpbGwgYmUgdXNlZCBmb3IgcnVubmluZyBpbmRpdmlkdWFsIHRlc3RzLlxuICAgICAgLy8gSXQgd2lsbCBiZSBhIHByb3h5IHpvbmUsIHNvIHRoYXQgdGhlIHRlc3RzIGZ1bmN0aW9uIGNhbiByZXRyb2FjdGl2ZWx5IGluc3RhbGxcbiAgICAgIC8vIGRpZmZlcmVudCB6b25lcy5cbiAgICAgIC8vIEV4YW1wbGU6XG4gICAgICAvLyAgIC0gSW4gYmVmb3JlRWFjaCgpIGRvIGNoaWxkWm9uZSA9IFpvbmUuY3VycmVudC5mb3JrKC4uLik7XG4gICAgICAvLyAgIC0gSW4gaXQoKSB0cnkgdG8gZG8gZmFrZUFzeW5jKCkuIFRoZSBpc3N1ZSBpcyB0aGF0IGJlY2F1c2UgdGhlIGJlZm9yZUVhY2ggZm9ya2VkIHRoZVxuICAgICAgLy8gICAgIHpvbmUgb3V0c2lkZSBvZiBmYWtlQXN5bmMgaXQgd2lsbCBiZSBhYmxlIHRvIGVzY2FwZSB0aGUgZmFrZUFzeW5jIHJ1bGVzLlxuICAgICAgLy8gICAtIEJlY2F1c2UgUHJveHlab25lIGlzIHBhcmVudCBmbyBgY2hpbGRab25lYCBmYWtlQXN5bmMgY2FuIHJldHJvYWN0aXZlbHkgYWRkXG4gICAgICAvLyAgICAgZmFrZUFzeW5jIGJlaGF2aW9yIHRvIHRoZSBjaGlsZFpvbmUuXG5cbiAgICAgIHRoaXMudGVzdFByb3h5Wm9uZVNwZWMgPSBuZXcgUHJveHlab25lU3BlYygpO1xuICAgICAgdGhpcy50ZXN0UHJveHlab25lID0gYW1iaWVudFpvbmUuZm9yayh0aGlzLnRlc3RQcm94eVpvbmVTcGVjKTtcbiAgICAgIGlmICghWm9uZS5jdXJyZW50VGFzaykge1xuICAgICAgICAvLyBpZiB3ZSBhcmUgbm90IHJ1bm5pbmcgaW4gYSB0YXNrIHRoZW4gaWYgc29tZW9uZSB3b3VsZCByZWdpc3RlciBhXG4gICAgICAgIC8vIGVsZW1lbnQuYWRkRXZlbnRMaXN0ZW5lciBhbmQgdGhlbiBjYWxsaW5nIGVsZW1lbnQuY2xpY2soKSB0aGVcbiAgICAgICAgLy8gYWRkRXZlbnRMaXN0ZW5lciBjYWxsYmFjayB3b3VsZCB0aGluayB0aGF0IGl0IGlzIHRoZSB0b3AgbW9zdCB0YXNrIGFuZCB3b3VsZFxuICAgICAgICAvLyBkcmFpbiB0aGUgbWljcm90YXNrIHF1ZXVlIG9uIGVsZW1lbnQuY2xpY2soKSB3aGljaCB3b3VsZCBiZSBpbmNvcnJlY3QuXG4gICAgICAgIC8vIEZvciB0aGlzIHJlYXNvbiB3ZSBhbHdheXMgZm9yY2UgYSB0YXNrIHdoZW4gcnVubmluZyBqYXNtaW5lIHRlc3RzLlxuICAgICAgICBab25lLmN1cnJlbnQuc2NoZWR1bGVNaWNyb1Rhc2soXG4gICAgICAgICAgICAnamFzbWluZS5leGVjdXRlKCkuZm9yY2VUYXNrJywgKCkgPT4gUXVldWVSdW5uZXIucHJvdG90eXBlLmV4ZWN1dGUuY2FsbCh0aGlzKSk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBfc3VwZXIucHJvdG90eXBlLmV4ZWN1dGUuY2FsbCh0aGlzKTtcbiAgICAgIH1cbiAgICB9O1xuICAgIHJldHVybiBab25lUXVldWVSdW5uZXI7XG4gIH0pKFF1ZXVlUnVubmVyKTtcbn0pKHR5cGVvZiB3aW5kb3cgIT09ICd1bmRlZmluZWQnICYmIHdpbmRvdyB8fCB0eXBlb2Ygc2VsZiAhPT0gJ3VuZGVmaW5lZCcgJiYgc2VsZiB8fCBnbG9iYWwpO1xuIl19
});
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiamFzbWluZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL3pvbmUuanMvbGliL2phc21pbmUvamFzbWluZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7O0dBTUc7QUFFSCxnQ0FBZ0M7QUFFaEMsWUFBWSxDQUFDO0FBRWIsSUFBSSxDQUFDLFlBQVksQ0FBQyxTQUFTLEVBQUUsVUFBQyxNQUFXLEVBQUUsSUFBYyxFQUFFLEdBQWlCO0lBQzFFLElBQU0sU0FBUyxHQUFHLFVBQVMsQ0FBTSxFQUFFLENBQU07UUFDdkMsS0FBSyxJQUFNLENBQUMsSUFBSSxDQUFDO1lBQ2YsSUFBSSxDQUFDLENBQUMsY0FBYyxDQUFDLENBQUMsQ0FBQztnQkFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQ3ZDLFNBQVMsRUFBRSxLQUFpQixJQUFJLENBQUMsV0FBVyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDbkQsQ0FBQyxDQUFDLFNBQVMsR0FBRyxDQUFDLEtBQUssSUFBSSxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLFNBQVMsR0FBRyxDQUFDLENBQUMsU0FBUyxDQUFDLEVBQUUsSUFBSyxFQUFVLEVBQUUsQ0FBQyxDQUFDO0lBQ2xHLENBQUMsQ0FBQztJQUNGLHNGQUFzRjtJQUN0RiwrRUFBK0U7SUFDL0UsSUFBSSxDQUFDLElBQUk7UUFBRSxNQUFNLElBQUksS0FBSyxDQUFDLGtCQUFrQixDQUFDLENBQUM7SUFDL0MsSUFBSSxPQUFPLElBQUksS0FBSyxXQUFXLEVBQUU7UUFDL0IsMERBQTBEO1FBQzFELHVEQUF1RDtRQUN2RCxPQUFPO0tBQ1I7SUFDRCxJQUFJLE9BQU8sT0FBTyxJQUFJLFdBQVcsSUFBSyxPQUFlLENBQUMsZ0JBQWdC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aUIsR0FBRyxJQUFJLGFBQWEsRUFBRSxDQUFDO1lBQzdDLElBQUksQ0FBQyxhQUFhLEdBQUcsV0FBVyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsaUJBQWlCLENBQUMsQ0FBQztZQUM5RCxJQUFJLENBQUMsSUFBSSxDQUFDLFdBQVcsRUFBRTtnQkFDckIsbUVBQW1FO2dCQUNuRSxnRUFBZ0U7Z0JBQ2hFLCtFQUErRTtnQkFDL0UseUVBQXlFO2dCQUN6RSxxRUFBcUU7Z0JBQ3JFLElBQUksQ0FBQyxPQUFPLENBQUMsaUJBQWlCLENBQzFCLDZCQUE2QixFQUFFLGNBQU0sT0FBQSxXQUFXLENBQUMsU0FBUyxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsS0FBSSxDQUFDLEVBQXhDLENBQXdDLENBQUMsQ0FBQzthQUNwRjtpQkFBTTtnQkFDTCxNQUFNLENBQUMsU0FBUyxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7YUFDckM7UUFDSCxDQUFDLENBQUM7UUFDRixPQUFPLGVBQWUsQ0FBQztJQUN6QixDQUFDLENBQUMsQ0FBQyxXQUFXLENBQUMsQ0FBQztBQUNsQixDQUFDLENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogQGxpY2Vuc2VcbiAqIENvcHlyaWdodCBHb29nbGUgSW5jLiBBbGwgUmlnaHRzIFJlc2VydmVkLlxuICpcbiAqIFVzZSBvZiB0aGlzIHNvdXJjZSBjb2RlIGlzIGdvdmVybmVkIGJ5IGFuIE1JVC1zdHlsZSBsaWNlbnNlIHRoYXQgY2FuIGJlXG4gKiBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlIGF0IGh0dHBzOi8vYW5ndWxhci5pby9saWNlbnNlXG4gKi9cblxuLy8vIDxyZWZlcmVuY2UgdHlwZXM9XCJqYXNtaW5lXCIvPlxuXG4ndXNlIHN0cmljdCc7XG5kZWNsYXJlIGxldCBqZXN0OiBhbnk7XG5ab25lLl9fbG9hZF9wYXRjaCgnamFzbWluZScsIChnbG9iYWw6IGFueSwgWm9uZTogWm9uZVR5cGUsIGFwaTogX1pvbmVQcml2YXRlKSA9PiB7XG4gIGNvbnN0IF9fZXh0ZW5kcyA9IGZ1bmN0aW9uKGQ6IGFueSwgYjogYW55KSB7XG4gICAgZm9yIChjb25zdCBwIGluIGIpXG4gICAgICBpZiAoYi5oYXNPd25Qcm9wZXJ0eShwKSkgZFtwXSA9IGJbcF07XG4gICAgZnVuY3Rpb24gX18odGhpczogT2JqZWN0KSB7IHRoaXMuY29uc3RydWN0b3IgPSBkOyB9XG4gICAgZC5wcm90b3R5cGUgPSBiID09PSBudWxsID8gT2JqZWN0LmNyZWF0ZShiKSA6ICgoX18ucHJvdG90eXBlID0gYi5wcm90b3R5cGUpLCBuZXcgKF9fIGFzIGFueSkoKSk7XG4gIH07XG4gIC8vIFBhdGNoIGphc21pbmUncyBkZXNjcmliZS9pdC9iZWZvcmVFYWNoL2FmdGVyRWFjaCBmdW5jdGlvbnMgc28gdGVzdCBjb2RlIGFsd2F5cyBydW5zXG4gIC8vIGluIGEgdGVzdFpvbmUgKFByb3h5Wm9uZSkuIChTZWU6IGFuZ3VsYXIvem9uZS5qcyM5MSAmIGFuZ3VsYXIvYW5ndWxhciMxMDUwMylcbiAgaWYgKCFab25lKSB0aHJvdyBuZXcgRXJyb3IoJ01pc3Npbmc6IHpvbmUuanMnKTtcbiAgaWYgKHR5cGVvZiBqZXN0ICE9PSAndW5kZWZpbmVkJykge1xuICAgIC8vIHJldHVybiBpZiBqYXNtaW5lIGlzIGEgbGlnaHQgaW1wbGVtZW50YXRpb24gaW5zaWRlIGplc3RcbiAgICAvLyBpbiB0aGlzIGNhc2UsIHdlIGFyZSBydW5uaW5nIGluc2lkZSBqZXN0IG5vdCBqYXNtaW5lXG4gICAgcmV0dXJuO1xuICB9XG4gIGlmICh0eXBlb2YgamFzbWluZSA9PSAndW5kZWZpbmVkJyB8fCAoamFzbWluZSBhcyBhbnkpWydfX3pvbmVfcGF0Y2hfXyddKSB7XG4gICAgcmV0dXJuO1xuICB9XG4gIChqYXNtaW5lIGFzIGFueSlbJ19fem9uZV9wYXRjaF9fJ10gPSB0cnVlO1xuXG4gIGNvbnN0IFN5bmNUZXN0Wm9uZVNwZWM6IHtuZXcgKG5hbWU6IHN0cmluZyk6IFpvbmVTcGVjfSA9IChab25lIGFzIGFueSlbJ1N5bmNUZXN0Wm9uZVNwZWMnXTtcbiAgY29uc3QgUHJveHlab25lU3BlYzoge25ldyAoKTogWm9uZVNwZWN9ID0gKFpvbmUgYXMgYW55KVsnUHJveHlab25lU3BlYyddO1xuICBpZiAoIVN5bmNUZXN0Wm9uZVNwZWMpIHRocm93IG5ldyBFcnJvcignTWlzc2luZzogU3luY1Rlc3Rab25lU3BlYycpO1xuICBpZiAoIVByb3h5Wm9uZVNwZWMpIHRocm93IG5ldyBFcnJvcignTWlzc2luZzogUHJveHlab25lU3BlYycpO1xuXG4gIGNvbnN0IGFtYmllbnRab25lID0gWm9uZS5jdXJyZW50O1xuICAvLyBDcmVhdGUgYSBzeW5jaHJvbm91cy1vbmx5IHpvbmUgaW4gd2hpY2ggdG8gcnVuIGBkZXNjcmliZWAgYmxvY2tzIGluIG9yZGVyIHRvIHJhaXNlIGFuXG4gIC8vIGVycm9yIGlmIGFueSBhc3luY2hyb25vdXMgb3BlcmF0aW9ucyBhcmUgYXR0ZW1wdGVkIGluc2lkZSBvZiBhIGBkZXNjcmliZWAgYnV0IG91dHNpZGUgb2ZcbiAgLy8gYSBgYmVmb3JlRWFjaGAgb3IgYGl0YC5cbiAgY29uc3Qgc3luY1pvbmUgPSBhbWJpZW50Wm9uZS5mb3JrKG5ldyBTeW5jVGVzdFpvbmVTcGVjKCdqYXNtaW5lLmRlc2NyaWJlJykpO1xuXG4gIGNvbnN0IHN5bWJvbCA9IFpvbmUuX19zeW1ib2xfXztcblxuICAvLyB3aGV0aGVyIHBhdGNoIGphc21pbmUgY2xvY2sgd2hlbiBpbiBmYWtlQXN5bmNcbiAgY29uc3QgZGlzYWJsZVBhdGNoaW5nSmFzbWluZUNsb2NrID0gZ2xvYmFsW3N5bWJvbCgnZmFrZUFzeW5jRGlzYWJsZVBhdGNoaW5nQ2xvY2snKV0gPT09IHRydWU7XG4gIC8vIHRoZSBvcmlnaW5hbCB2YXJpYWJsZSBuYW1lIGZha2VBc3luY1BhdGNoTG9jayBpcyBub3QgYWNjdXJhdGUsIHNvIHRoZSBuYW1lIHdpbGwgYmVcbiAgLy8gZmFrZUFzeW5jQXV0b0Zha2VBc3luY1doZW5DbG9ja1BhdGNoZWQgYW5kIGlmIHRoaXMgZW5hYmxlUGF0Y2hpbmdKYXNtaW5lQ2xvY2sgaXMgZmFsc2UsIHdlIGFsc29cbiAgLy8gYXV0b21hdGljYWxseSBkaXNhYmxlIHRoZSBhdXRvIGp1bXAgaW50byBmYWtlQXN5bmMgZmVhdHVyZVxuICBjb25zdCBlbmFibGVBdXRvRmFrZUFzeW5jV2hlbkNsb2NrUGF0Y2hlZCA9ICFkaXNhYmxlUGF0Y2hpbmdKYXNtaW5lQ2xvY2sgJiZcbiAgICAgICgoZ2xvYmFsW3N5bWJvbCgnZmFrZUFzeW5jUGF0Y2hMb2NrJyldID09PSB0cnVlKSB8fFxuICAgICAgIChnbG9iYWxbc3ltYm9sKCdmYWtlQXN5bmNBdXRvRmFrZUFzeW5jV2hlbkNsb2NrUGF0Y2hlZCcpXSA9PT0gdHJ1ZSkpO1xuXG4gIGNvbnN0IGlnbm9yZVVuaGFuZGxlZFJlamVjdGlvbiA9IGdsb2JhbFtzeW1ib2woJ2lnbm9yZVVuaGFuZGxlZFJlamVjdGlvbicpXSA9PT0gdHJ1ZTtcblxuICBpZiAoIWlnbm9yZVVuaGFuZGxlZFJlamVjdGlvbikge1xuICAgIGNvbnN0IGdsb2JhbEVycm9ycyA9IChqYXNtaW5lIGFzIGFueSkuR2xvYmFsRXJyb3JzO1xuICAgIGlmIChnbG9iYWxFcnJvcnMgJiYgIShqYXNtaW5lIGFzIGFueSlbc3ltYm9sKCdHbG9iYWxFcnJvcnMnKV0pIHtcbiAgICAgIChqYXNtaW5lIGFzIGFueSlbc3ltYm9sKCdHbG9iYWxFcnJvcnMnKV0gPSBnbG9iYWxFcnJvcnM7XG4gICAgICAoamFzbWluZSBhcyBhbnkpLkdsb2JhbEVycm9ycyA9IGZ1bmN0aW9uKCkge1xuICAgICAgICBjb25zdCBpbnN0YW5jZSA9IG5ldyBnbG9iYWxFcnJvcnMoKTtcbiAgICAgICAgY29uc3Qgb3JpZ2luYWxJbnN0YWxsID0gaW5zdGFuY2UuaW5zdGFsbDtcbiAgICAgICAgaWYgKG9yaWdpbmFsSW5zdGFsbCAmJiAhaW5zdGFuY2Vbc3ltYm9sKCdpbnN0YWxsJyldKSB7XG4gICAgICAgICAgaW5zdGFuY2Vbc3ltYm9sKCdpbnN0YWxsJyldID0gb3JpZ2luYWxJbnN0YWxsO1xuICAgICAgICAgIGluc3RhbmNlLmluc3RhbGwgPSBmdW5jdGlvbigpIHtcbiAgICAgICAgICAgIGNvbnN0IG9yaWdpbmFsSGFuZGxlcnMgPSBwcm9jZXNzLmxpc3RlbmVycygndW5oYW5kbGVkUmVqZWN0aW9uJyk7XG4gICAgICAgICAgICBjb25zdCByID0gb3JpZ2luYWxJbnN0YWxsLmFwcGx5KHRoaXMsIGFyZ3VtZW50cyk7XG4gICAgICAgICAgICBwcm9jZXNzLnJlbW92ZUFsbExpc3RlbmVycygndW5oYW5kbGVkUmVqZWN0aW9uJyk7XG4gICAgICAgICAgICBpZiAob3JpZ2luYWxIYW5kbGVycykge1xuICAgICAgICAgICAgICBvcmlnaW5hbEhhbmRsZXJzLmZvckVhY2goaCA9PiBwcm9jZXNzLm9uKCd1bmhhbmRsZWRSZWplY3Rpb24nLCBoKSk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICByZXR1cm4gcjtcbiAgICAgICAgICB9O1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiBpbnN0YW5jZTtcbiAgICAgIH07XG4gICAgfVxuICB9XG5cbiAgLy8gTW9ua2V5IHBhdGNoIGFsbCBvZiB0aGUgamFzbWluZSBEU0wgc28gdGhhdCBlYWNoIGZ1bmN0aW9uIHJ1bnMgaW4gYXBwcm9wcmlhdGUgem9uZS5cbiAgY29uc3QgamFzbWluZUVudjogYW55ID0gamFzbWluZS5nZXRFbnYoKTtcbiAgWydkZXNjcmliZScsICd4ZGVzY3JpYmUnLCAnZmRlc2NyaWJlJ10uZm9yRWFjaChtZXRob2ROYW1lID0+IHtcbiAgICBsZXQgb3JpZ2luYWxKYXNtaW5lRm46IEZ1bmN0aW9uID0gamFzbWluZUVudlttZXRob2ROYW1lXTtcbiAgICBqYXNtaW5lRW52W21ldGhvZE5hbWVdID0gZnVuY3Rpb24oZGVzY3JpcHRpb246IHN0cmluZywgc3BlY0RlZmluaXRpb25zOiBGdW5jdGlvbikge1xuICAgICAgcmV0dXJuIG9yaWdpbmFsSmFzbWluZUZuLmNhbGwodGhpcywgZGVzY3JpcHRpb24sIHdyYXBEZXNjcmliZUluWm9uZShzcGVjRGVmaW5pdGlvbnMpKTtcbiAgICB9O1xuICB9KTtcbiAgWydpdCcsICd4aXQnLCAnZml0J10uZm9yRWFjaChtZXRob2ROYW1lID0+IHtcbiAgICBsZXQgb3JpZ2luYWxKYXNtaW5lRm46IEZ1bmN0aW9uID0gamFzbWluZUVudlttZXRob2ROYW1lXTtcbiAgICBqYXNtaW5lRW52W3N5bWJvbChtZXRob2ROYW1lKV0gPSBvcmlnaW5hbEphc21pbmVGbjtcbiAgICBqYXNtaW5lRW52W21ldGhvZE5hbWVdID0gZnVuY3Rpb24oXG4gICAgICAgIGRlc2NyaXB0aW9uOiBzdHJpbmcsIHNwZWNEZWZpbml0aW9uczogRnVuY3Rpb24sIHRpbWVvdXQ6IG51bWJlcikge1xuICAgICAgYXJndW1lbnRzWzFdID0gd3JhcFRlc3RJblpvbmUoc3BlY0RlZmluaXRpb25zKTtcbiAgICAgIHJldHVybiBvcmlnaW5hbEphc21pbmVGbi5hcHBseSh0aGlzLCBhcmd1bWVudHMpO1xuICAgIH07XG4gIH0pO1xuICBbJ2JlZm9yZUVhY2gnLCAnYWZ0ZXJFYWNoJywgJ2JlZm9yZUFsbCcsICdhZnRlckFsbCddLmZvckVhY2gobWV0aG9kTmFtZSA9PiB7XG4gICAgbGV0IG9yaWdpbmFsSmFzbWluZUZuOiBGdW5jdGlvbiA9IGphc21pbmVFbnZbbWV0aG9kTmFtZV07XG4gICAgamFzbWluZUVudltzeW1ib2wobWV0aG9kTmFtZSldID0gb3JpZ2luYWxKYXNtaW5lRm47XG4gICAgamFzbWluZUVudlttZXRob2ROYW1lXSA9IGZ1bmN0aW9uKHNwZWNEZWZpbml0aW9uczogRnVuY3Rpb24sIHRpbWVvdXQ6IG51bWJlcikge1xuICAgICAgYXJndW1lbnRzWzBdID0gd3JhcFRlc3RJblpvbmUoc3BlY0RlZmluaXRpb25zKTtcbiAgICAgIHJldHVybiBvcmlnaW5hbEphc21pbmVGbi5hcHBseSh0aGlzLCBhcmd1bWVudHMpO1xuICAgIH07XG4gIH0pO1xuXG4gIGlmICghZGlzYWJsZVBhdGNoaW5nSmFzbWluZUNsb2NrKSB7XG4gICAgLy8gbmVlZCB0byBwYXRjaCBqYXNtaW5lLmNsb2NrKCkubW9ja0RhdGUgYW5kIGphc21pbmUuY2xvY2soKS50aWNrKCkgc29cbiAgICAvLyB0aGV5IGNhbiB3b3JrIHByb3Blcmx5IGluIEZha2VBc3luY1Rlc3RcbiAgICBjb25zdCBvcmlnaW5hbENsb2NrRm46IEZ1bmN0aW9uID0gKChqYXNtaW5lIGFzIGFueSlbc3ltYm9sKCdjbG9jaycpXSA9IGphc21pbmVbJ2Nsb2NrJ10pO1xuICAgIChqYXNtaW5lIGFzIGFueSlbJ2Nsb2NrJ10gPSBmdW5jdGlvbigpIHtcbiAgICAgIGNvbnN0IGNsb2NrID0gb3JpZ2luYWxDbG9ja0ZuLmFwcGx5KHRoaXMsIGFyZ3VtZW50cyk7XG4gICAgICBpZiAoIWNsb2NrW3N5bWJvbCgncGF0Y2hlZCcpXSkge1xuICAgICAgICBjbG9ja1tzeW1ib2woJ3BhdGNoZWQnKV0gPSBzeW1ib2woJ3BhdGNoZWQnKTtcbiAgICAgICAgY29uc3Qgb3JpZ2luYWxUaWNrID0gKGNsb2NrW3N5bWJvbCgndGljaycpXSA9IGNsb2NrLnRpY2spO1xuICAgICAgICBjbG9jay50aWNrID0gZnVuY3Rpb24oKSB7XG4gICAgICAgICAgY29uc3QgZmFrZUFzeW5jWm9uZVNwZWMgPSBab25lLmN1cnJlbnQuZ2V0KCdGYWtlQXN5bmNUZXN0Wm9uZVNwZWMnKTtcbiAgICAgICAgICBpZiAoZmFrZUFzeW5jWm9uZVNwZWMpIHtcbiAgICAgICAgICAgIHJldHVybiBmYWtlQXN5bmNab25lU3BlYy50aWNrLmFwcGx5KGZha2VBc3luY1pvbmVTcGVjLCBhcmd1bWVudHMpO1xuICAgICAgICAgIH1cbiAgICAgICAgICByZXR1cm4gb3JpZ2luYWxUaWNrLmFwcGx5KHRoaXMsIGFyZ3VtZW50cyk7XG4gICAgICAgIH07XG4gICAgICAgIGNvbnN0IG9yaWdpbmFsTW9ja0RhdGUgPSAoY2xvY2tbc3ltYm9sKCdtb2NrRGF0ZScpXSA9IGNsb2NrLm1vY2tEYXRlKTtcbiAgICAgICAgY2xvY2subW9ja0RhdGUgPSBmdW5jdGlvbigpIHtcbiAgICAgICAgICBjb25zdCBmYWtlQXN5bmNab25lU3BlYyA9IFpvbmUuY3VycmVudC5nZXQoJ0Zha2VBc3luY1Rlc3Rab25lU3BlYycpO1xuICAgICAgICAgIGlmIChmYWtlQXN5bmNab25lU3BlYykge1xuICAgICAgICAgICAgY29uc3QgZGF0ZVRpbWUgPSBhcmd1bWVudHMubGVuZ3RoID4gMCA/IGFyZ3VtZW50c1swXSA6IG5ldyBEYXRlKCk7XG4gICAgICAgICAgICByZXR1cm4gZmFrZUFzeW5jWm9uZVNwZWMuc2V0Q3VycmVudFJlYWxUaW1lLmFwcGx5KFxuICAgICAgICAgICAgICAgIGZha2VBc3luY1pvbmVTcGVjLCBkYXRlVGltZSAmJiB0eXBlb2YgZGF0ZVRpbWUuZ2V0VGltZSA9PT0gJ2Z1bmN0aW9uJyA/XG4gICAgICAgICAgICAgICAgICAgIFtkYXRlVGltZS5nZXRUaW1lKCldIDpcbiAgICAgICAgICAgICAgICAgICAgYXJndW1lbnRzKTtcbiAgICAgICAgICB9XG4gICAgICAgICAgcmV0dXJuIG9yaWdpbmFsTW9ja0RhdGUuYXBwbHkodGhpcywgYXJndW1lbnRzKTtcbiAgICAgICAgfTtcbiAgICAgICAgLy8gZm9yIGF1dG8gZ28gaW50byBmYWtlQXN5bmMgZmVhdHVyZSwgd2UgbmVlZCB0aGUgZmxhZyB0byBlbmFibGUgaXRcbiAgICAgICAgaWYgKGVuYWJsZUF1dG9GYWtlQXN5bmNXaGVuQ2xvY2tQYXRjaGVkKSB7XG4gICAgICAgICAgWydpbnN0YWxsJywgJ3VuaW5zdGFsbCddLmZvckVhY2gobWV0aG9kTmFtZSA9PiB7XG4gICAgICAgICAgICBjb25zdCBvcmlnaW5hbENsb2NrRm46IEZ1bmN0aW9uID0gKGNsb2NrW3N5bWJvbChtZXRob2ROYW1lKV0gPSBjbG9ja1ttZXRob2ROYW1lXSk7XG4gICAgICAgICAgICBjbG9ja1ttZXRob2ROYW1lXSA9IGZ1bmN0aW9uKCkge1xuICAgICAgICAgICAgICBjb25zdCBGYWtlQXN5bmNUZXN0Wm9uZVNwZWMgPSAoWm9uZSBhcyBhbnkpWydGYWtlQXN5bmNUZXN0Wm9uZVNwZWMnXTtcbiAgICAgICAgICAgICAgaWYgKEZha2VBc3luY1Rlc3Rab25lU3BlYykge1xuICAgICAgICAgICAgICAgIChqYXNtaW5lIGFzIGFueSlbc3ltYm9sKCdjbG9ja0luc3RhbGxlZCcpXSA9ICdpbnN0YWxsJyA9PT0gbWV0aG9kTmFtZTtcbiAgICAgICAgICAgICAgICByZXR1cm47XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgcmV0dXJuIG9yaWdpbmFsQ2xvY2tGbi5hcHBseSh0aGlzLCBhcmd1bWVudHMpO1xuICAgICAgICAgICAgfTtcbiAgICAgICAgICB9KTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgcmV0dXJuIGNsb2NrO1xuICAgIH07XG4gIH1cbiAgLyoqXG4gICAqIEdldHMgYSBmdW5jdGlvbiB3cmFwcGluZyB0aGUgYm9keSBvZiBhIEphc21pbmUgYGRlc2NyaWJlYCBibG9jayB0byBleGVjdXRlIGluIGFcbiAgICogc3luY2hyb25vdXMtb25seSB6b25lLlxuICAgKi9cbiAgZnVuY3Rpb24gd3JhcERlc2NyaWJlSW5ab25lKGRlc2NyaWJlQm9keTogRnVuY3Rpb24pOiBGdW5jdGlvbiB7XG4gICAgcmV0dXJuIGZ1bmN0aW9uKHRoaXM6IHVua25vd24pIHtcbiAgICAgIHJldHVybiBzeW5jWm9uZS5ydW4oZGVzY3JpYmVCb2R5LCB0aGlzLCAoYXJndW1lbnRzIGFzIGFueSkgYXMgYW55W10pO1xuICAgIH07XG4gIH1cblxuICBmdW5jdGlvbiBydW5JblRlc3Rab25lKFxuICAgICAgdGVzdEJvZHk6IEZ1bmN0aW9uLCBhcHBseVRoaXM6IGFueSwgcXVldWVSdW5uZXI6IFF1ZXVlUnVubmVyLCBkb25lPzogRnVuY3Rpb24pIHtcbiAgICBjb25zdCBpc0Nsb2NrSW5zdGFsbGVkID0gISEoamFzbWluZSBhcyBhbnkpW3N5bWJvbCgnY2xvY2tJbnN0YWxsZWQnKV07XG4gICAgY29uc3QgdGVzdFByb3h5Wm9uZVNwZWMgPSBxdWV1ZVJ1bm5lci50ZXN0UHJveHlab25lU3BlYyAhO1xuICAgIGNvbnN0IHRlc3RQcm94eVpvbmUgPSBxdWV1ZVJ1bm5lci50ZXN0UHJveHlab25lICE7XG4gICAgbGV0IGxhc3REZWxlZ2F0ZTtcbiAgICBpZiAoaXNDbG9ja0luc3RhbGxlZCAmJiBlbmFibGVBdXRvRmFrZUFzeW5jV2hlbkNsb2NrUGF0Y2hlZCkge1xuICAgICAgLy8gYXV0byBydW4gYSBmYWtlQXN5bmNcbiAgICAgIGNvbnN0IGZha2VBc3luY01vZHVsZSA9IChab25lIGFzIGFueSlbWm9uZS5fX3N5bWJvbF9fKCdmYWtlQXN5bmNUZXN0JyldO1xuICAgICAgaWYgKGZha2VBc3luY01vZHVsZSAmJiB0eXBlb2YgZmFrZUFzeW5jTW9kdWxlLmZha2VBc3luYyA9PT0gJ2Z1bmN0aW9uJykge1xuICAgICAgICB0ZXN0Qm9keSA9IGZha2VBc3luY01vZHVsZS5mYWtlQXN5bmModGVzdEJvZHkpO1xuICAgICAgfVxuICAgIH1cbiAgICBpZiAoZG9uZSkge1xuICAgICAgcmV0dXJuIHRlc3RQcm94eVpvbmUucnVuKHRlc3RCb2R5LCBhcHBseVRoaXMsIFtkb25lXSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHJldHVybiB0ZXN0UHJveHlab25lLnJ1bih0ZXN0Qm9keSwgYXBwbHlUaGlzKTtcbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogR2V0cyBhIGZ1bmN0aW9uIHdyYXBwaW5nIHRoZSBib2R5IG9mIGEgSmFzbWluZSBgaXQvYmVmb3JlRWFjaC9hZnRlckVhY2hgIGJsb2NrIHRvXG4gICAqIGV4ZWN1dGUgaW4gYSBQcm94eVpvbmUgem9uZS5cbiAgICogVGhpcyB3aWxsIHJ1biBpbiBgdGVzdFByb3h5Wm9uZWAuIFRoZSBgdGVzdFByb3h5Wm9uZWAgd2lsbCBiZSByZXNldCBieSB0aGUgYFpvbmVRdWV1ZVJ1bm5lcmBcbiAgICovXG4gIGZ1bmN0aW9uIHdyYXBUZXN0SW5ab25lKHRlc3RCb2R5OiBGdW5jdGlvbik6IEZ1bmN0aW9uIHtcbiAgICAvLyBUaGUgYGRvbmVgIGNhbGxiYWNrIGlzIG9ubHkgcGFzc2VkIHRocm91Z2ggaWYgdGhlIGZ1bmN0aW9uIGV4cGVjdHMgYXQgbGVhc3Qgb25lIGFyZ3VtZW50LlxuICAgIC8vIE5vdGUgd2UgaGF2ZSB0byBtYWtlIGEgZnVuY3Rpb24gd2l0aCBjb3JyZWN0IG51bWJlciBvZiBhcmd1bWVudHMsIG90aGVyd2lzZSBqYXNtaW5lIHdpbGxcbiAgICAvLyB0aGluayB0aGF0IGFsbCBmdW5jdGlvbnMgYXJlIHN5bmMgb3IgYXN5bmMuXG4gICAgcmV0dXJuICh0ZXN0Qm9keSAmJiAodGVzdEJvZHkubGVuZ3RoID8gZnVuY3Rpb24odGhpczogUXVldWVSdW5uZXJVc2VyQ29udGV4dCwgZG9uZTogRnVuY3Rpb24pIHtcbiAgICAgICAgICAgICAgcmV0dXJuIHJ1bkluVGVzdFpvbmUodGVzdEJvZHksIHRoaXMsIHRoaXMucXVldWVSdW5uZXIgISwgZG9uZSk7XG4gICAgICAgICAgICB9IDogZnVuY3Rpb24odGhpczogUXVldWVSdW5uZXJVc2VyQ29udGV4dCkge1xuICAgICAgICAgICAgICByZXR1cm4gcnVuSW5UZXN0Wm9uZSh0ZXN0Qm9keSwgdGhpcywgdGhpcy5xdWV1ZVJ1bm5lciAhKTtcbiAgICAgICAgICAgIH0pKTtcbiAgfVxuICBpbnRlcmZhY2UgUXVldWVSdW5uZXIge1xuICAgIGV4ZWN1dGUoKTogdm9pZDtcbiAgICB0ZXN0UHJveHlab25lU3BlYzogWm9uZVNwZWN8bnVsbDtcbiAgICB0ZXN0UHJveHlab25lOiBab25lfG51bGw7XG4gIH1cbiAgaW50ZXJmYWNlIFF1ZXVlUnVubmVyQXR0cnMge1xuICAgIHF1ZXVlYWJsZUZuczoge2ZuOiBGdW5jdGlvbn1bXTtcbiAgICBjbGVhclN0YWNrOiAoZm46IGFueSkgPT4gdm9pZDtcbiAgICBjYXRjaEV4Y2VwdGlvbjogKCkgPT4gYm9vbGVhbjtcbiAgICBmYWlsOiAoKSA9PiB2b2lkO1xuICAgIG9uQ29tcGxldGU6ICgpID0+IHZvaWQ7XG4gICAgb25FeGNlcHRpb246IChlcnJvcjogYW55KSA9PiB2b2lkO1xuICAgIHVzZXJDb250ZXh0OiBRdWV1ZVJ1bm5lclVzZXJDb250ZXh0O1xuICAgIHRpbWVvdXQ6IHtzZXRUaW1lb3V0OiBGdW5jdGlvbjsgY2xlYXJUaW1lb3V0OiBGdW5jdGlvbn07XG4gIH1cbiAgdHlwZSBRdWV1ZVJ1bm5lclVzZXJDb250ZXh0ID0ge3F1ZXVlUnVubmVyPzogUXVldWVSdW5uZXJ9O1xuICBjb25zdCBRdWV1ZVJ1bm5lciA9IChqYXNtaW5lIGFzIGFueSkuUXVldWVSdW5uZXIgYXMge1xuICAgIG5ldyAoYXR0cnM6IFF1ZXVlUnVubmVyQXR0cnMpOiBRdWV1ZVJ1bm5lcjtcbiAgfTtcbiAgKGphc21pbmUgYXMgYW55KS5RdWV1ZVJ1bm5lciA9IChmdW5jdGlvbihfc3VwZXIpIHtcbiAgICBfX2V4dGVuZHMoWm9uZVF1ZXVlUnVubmVyLCBfc3VwZXIpO1xuICAgIGZ1bmN0aW9uIFpvbmVRdWV1ZVJ1bm5lcih0aGlzOiBRdWV1ZVJ1bm5lciwgYXR0cnM6IFF1ZXVlUnVubmVyQXR0cnMpIHtcbiAgICAgIGlmIChhdHRycy5vbkNvbXBsZXRlKSB7XG4gICAgICAgIGF0dHJzLm9uQ29tcGxldGUgPSAoZm4gPT4gKCkgPT4ge1xuICAgICAgICAgIC8vIEFsbCBmdW5jdGlvbnMgYXJlIGRvbmUsIGNsZWFyIHRoZSB0ZXN0IHpvbmUuXG4gICAgICAgICAgdGhpcy50ZXN0UHJveHlab25lID0gbnVsbDtcbiAgICAgICAgICB0aGlzLnRlc3RQcm94eVpvbmVTcGVjID0gbnVsbDtcbiAgICAgICAgICBhbWJpZW50Wm9uZS5zY2hlZHVsZU1pY3JvVGFzaygnamFzbWluZS5vbkNvbXBsZXRlJywgZm4pO1xuICAgICAgICB9KShhdHRycy5vbkNvbXBsZXRlKTtcbiAgICAgIH1cblxuICAgICAgY29uc3QgbmF0aXZlU2V0VGltZW91dCA9IGdsb2JhbFtab25lLl9fc3ltYm9sX18oJ3NldFRpbWVvdXQnKV07XG4gICAgICBjb25zdCBuYXRpdmVDbGVhclRpbWVvdXQgPSBnbG9iYWxbWm9uZS5fX3N5bWJvbF9fKCdjbGVhclRpbWVvdXQnKV07XG4gICAgICBpZiAobmF0aXZlU2V0VGltZW91dCkge1xuICAgICAgICAvLyBzaG91bGQgcnVuIHNldFRpbWVvdXQgaW5zaWRlIGphc21pbmUgb3V0c2lkZSBvZiB6b25lXG4gICAgICAgIGF0dHJzLnRpbWVvdXQgPSB7XG4gICAgICAgICAgc2V0VGltZW91dDogbmF0aXZlU2V0VGltZW91dCA/IG5hdGl2ZVNldFRpbWVvdXQgOiBnbG9iYWwuc2V0VGltZW91dCxcbiAgICAgICAgICBjbGVhclRpbWVvdXQ6IG5hdGl2ZUNsZWFyVGltZW91dCA/IG5hdGl2ZUNsZWFyVGltZW91dCA6IGdsb2JhbC5jbGVhclRpbWVvdXRcbiAgICAgICAgfTtcbiAgICAgIH1cblxuICAgICAgLy8gY3JlYXRlIGEgdXNlckNvbnRleHQgdG8gaG9sZCB0aGUgcXVldWVSdW5uZXIgaXRzZWxmXG4gICAgICAvLyBzbyB3ZSBjYW4gYWNjZXNzIHRoZSB0ZXN0UHJveHkgaW4gaXQveGl0L2JlZm9yZUVhY2ggLi4uXG4gICAgICBpZiAoKGphc21pbmUgYXMgYW55KS5Vc2VyQ29udGV4dCkge1xuICAgICAgICBpZiAoIWF0dHJzLnVzZXJDb250ZXh0KSB7XG4gICAgICAgICAgYXR0cnMudXNlckNvbnRleHQgPSBuZXcgKGphc21pbmUgYXMgYW55KS5Vc2VyQ29udGV4dCgpO1xuICAgICAgICB9XG4gICAgICAgIGF0dHJzLnVzZXJDb250ZXh0LnF1ZXVlUnVubmVyID0gdGhpcztcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIGlmICghYXR0cnMudXNlckNvbnRleHQpIHtcbiAgICAgICAgICBhdHRycy51c2VyQ29udGV4dCA9IHt9O1xuICAgICAgICB9XG4gICAgICAgIGF0dHJzLnVzZXJDb250ZXh0LnF1ZXVlUnVubmVyID0gdGhpcztcbiAgICAgIH1cblxuICAgICAgLy8gcGF0Y2ggYXR0cnMub25FeGNlcHRpb25cbiAgICAgIGNvbnN0IG9uRXhjZXB0aW9uID0gYXR0cnMub25FeGNlcHRpb247XG4gICAgICBhdHRycy5vbkV4Y2VwdGlvbiA9IGZ1bmN0aW9uKHRoaXM6IHVuZGVmaW5lZHxRdWV1ZVJ1bm5lciwgZXJyb3I6IGFueSkge1xuICAgICAgICBpZiAoZXJyb3IgJiZcbiAgICAgICAgICAgIGVycm9yLm1lc3NhZ2UgPT09XG4gICAgICAgICAgICAgICAgJ1RpbWVvdXQgLSBBc3luYyBjYWxsYmFjayB3YXMgbm90IGludm9rZWQgd2l0aGluIHRpbWVvdXQgc3BlY2lmaWVkIGJ5IGphc21pbmUuREVGQVVMVF9USU1FT1VUX0lOVEVSVkFMLicpIHtcbiAgICAgICAgICAvLyBqYXNtaW5lIHRpbWVvdXQsIHdlIGNhbiBtYWtlIHRoZSBlcnJvciBtZXNzYWdlIG1vcmVcbiAgICAgICAgICAvLyByZWFzb25hYmxlIHRvIHRlbGwgd2hhdCB0YXNrcyBhcmUgcGVuZGluZ1xuICAgICAgICAgIGNvbnN0IHByb3h5Wm9uZVNwZWM6IGFueSA9IHRoaXMgJiYgdGhpcy50ZXN0UHJveHlab25lU3BlYztcbiAgICAgICAgICBpZiAocHJveHlab25lU3BlYykge1xuICAgICAgICAgICAgY29uc3QgcGVuZGluZ1Rhc2tzSW5mbyA9IHByb3h5Wm9uZVNwZWMuZ2V0QW5kQ2xlYXJQZW5kaW5nVGFza3NJbmZvKCk7XG4gICAgICAgICAgICB0cnkge1xuICAgICAgICAgICAgICAvLyB0cnkgY2F0Y2ggaGVyZSBpbiBjYXNlIGVycm9yLm1lc3NhZ2UgaXMgbm90IHdyaXRhYmxlXG4gICAgICAgICAgICAgIGVycm9yLm1lc3NhZ2UgKz0gcGVuZGluZ1Rhc2tzSW5mbztcbiAgICAgICAgICAgIH0gY2F0Y2ggKGVycikge1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICBpZiAob25FeGNlcHRpb24pIHtcbiAgICAgICAgICBvbkV4Y2VwdGlvbi5jYWxsKHRoaXMsIGVycm9yKTtcbiAgICAgICAgfVxuICAgICAgfTtcblxuICAgICAgX3N1cGVyLmNhbGwodGhpcywgYXR0cnMpO1xuICAgIH1cbiAgICBab25lUXVldWVSdW5uZXIucHJvdG90eXBlLmV4ZWN1dGUgPSBmdW5jdGlvbigpIHtcbiAgICAgIGxldCB6b25lOiBab25lfG51bGwgPSBab25lLmN1cnJlbnQ7XG4gICAgICBsZXQgaXNDaGlsZE9mQW1iaWVudFpvbmUgPSBmYWxzZTtcbiAgICAgIHdoaWxlICh6b25lKSB7XG4gICAgICAgIGlmICh6b25lID09PSBhbWJpZW50Wm9uZSkge1xuICAgICAgICAgIGlzQ2hpbGRPZkFtYmllbnRab25lID0gdHJ1ZTtcbiAgICAgICAgICBicmVhaztcbiAgICAgICAgfVxuICAgICAgICB6b25lID0gem9uZS5wYXJlbnQ7XG4gICAgICB9XG5cbiAgICAgIGlmICghaXNDaGlsZE9mQW1iaWVudFpvbmUpIHRocm93IG5ldyBFcnJvcignVW5leHBlY3RlZCBab25lOiAnICsgWm9uZS5jdXJyZW50Lm5hbWUpO1xuXG4gICAgICAvLyBUaGlzIGlzIHRoZSB6b25lIHdoaWNoIHdpbGwgYmUgdXNlZCBmb3IgcnVubmluZyBpbmRpdmlkdWFsIHRlc3RzLlxuICAgICAgLy8gSXQgd2lsbCBiZSBhIHByb3h5IHpvbmUsIHNvIHRoYXQgdGhlIHRlc3RzIGZ1bmN0aW9uIGNhbiByZXRyb2FjdGl2ZWx5IGluc3RhbGxcbiAgICAgIC8vIGRpZmZlcmVudCB6b25lcy5cbiAgICAgIC8vIEV4YW1wbGU6XG4gICAgICAvLyAgIC0gSW4gYmVmb3JlRWFjaCgpIGRvIGNoaWxkWm9uZSA9IFpvbmUuY3VycmVudC5mb3JrKC4uLik7XG4gICAgICAvLyAgIC0gSW4gaXQoKSB0cnkgdG8gZG8gZmFrZUFzeW5jKCkuIFRoZSBpc3N1ZSBpcyB0aGF0IGJlY2F1c2UgdGhlIGJlZm9yZUVhY2ggZm9ya2VkIHRoZVxuICAgICAgLy8gICAgIHpvbmUgb3V0c2lkZSBvZiBmYWtlQXN5bmMgaXQgd2lsbCBiZSBhYmxlIHRvIGVzY2FwZSB0aGUgZmFrZUFzeW5jIHJ1bGVzLlxuICAgICAgLy8gICAtIEJlY2F1c2UgUHJveHlab25lIGlzIHBhcmVudCBmbyBgY2hpbGRab25lYCBmYWtlQXN5bmMgY2FuIHJldHJvYWN0aXZlbHkgYWRkXG4gICAgICAvLyAgICAgZmFrZUFzeW5jIGJlaGF2aW9yIHRvIHRoZSBjaGlsZFpvbmUuXG5cbiAgICAgIHRoaXMudGVzdFByb3h5Wm9uZVNwZWMgPSBuZXcgUHJveHlab25lU3BlYygpO1xuICAgICAgdGhpcy50ZXN0UHJveHlab25lID0gYW1iaWVudFpvbmUuZm9yayh0aGlzLnRlc3RQcm94eVpvbmVTcGVjKTtcbiAgICAgIGlmICghWm9uZS5jdXJyZW50VGFzaykge1xuICAgICAgICAvLyBpZiB3ZSBhcmUgbm90IHJ1bm5pbmcgaW4gYSB0YXNrIHRoZW4gaWYgc29tZW9uZSB3b3VsZCByZWdpc3RlciBhXG4gICAgICAgIC8vIGVsZW1lbnQuYWRkRXZlbnRMaXN0ZW5lciBhbmQgdGhlbiBjYWxsaW5nIGVsZW1lbnQuY2xpY2soKSB0aGVcbiAgICAgICAgLy8gYWRkRXZlbnRMaXN0ZW5lciBjYWxsYmFjayB3b3VsZCB0aGluayB0aGF0IGl0IGlzIHRoZSB0b3AgbW9zdCB0YXNrIGFuZCB3b3VsZFxuICAgICAgICAvLyBkcmFpbiB0aGUgbWljcm90YXNrIHF1ZXVlIG9uIGVsZW1lbnQuY2xpY2soKSB3aGljaCB3b3VsZCBiZSBpbmNvcnJlY3QuXG4gICAgICAgIC8vIEZvciB0aGlzIHJlYXNvbiB3ZSBhbHdheXMgZm9yY2UgYSB0YXNrIHdoZW4gcnVubmluZyBqYXNtaW5lIHRlc3RzLlxuICAgICAgICBab25lLmN1cnJlbnQuc2NoZWR1bGVNaWNyb1Rhc2soXG4gICAgICAgICAgICAnamFzbWluZS5leGVjdXRlKCkuZm9yY2VUYXNrJywgKCkgPT4gUXVldWVSdW5uZXIucHJvdG90eXBlLmV4ZWN1dGUuY2FsbCh0aGlzKSk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBfc3VwZXIucHJvdG90eXBlLmV4ZWN1dGUuY2FsbCh0aGlzKTtcbiAgICAgIH1cbiAgICB9O1xuICAgIHJldHVybiBab25lUXVldWVSdW5uZXI7XG4gIH0pKFF1ZXVlUnVubmVyKTtcbn0pO1xuIl19

@@ -8,4 +8,4 @@ /**

*/
/// <amd-module name="angular/packages/zone.js/lib/mix/rollup-mix" />
/// <amd-module name="zone.js/lib/mix/rollup-mix" />
import '../browser/rollup-main';
import '../node/node';

@@ -14,3 +14,3 @@ /**

else if (typeof define === "function" && define.amd) {
define("angular/packages/zone.js/lib/mix/rollup-mix", ["require", "exports", "angular/packages/zone.js/lib/browser/rollup-main", "angular/packages/zone.js/lib/node/node"], factory);
define("zone.js/lib/mix/rollup-mix", ["require", "exports", "zone.js/lib/browser/rollup-main", "zone.js/lib/node/node"], factory);
}

@@ -20,5 +20,5 @@ })(function (require, exports) {

Object.defineProperty(exports, "__esModule", { value: true });
require("angular/packages/zone.js/lib/browser/rollup-main");
require("angular/packages/zone.js/lib/node/node");
require("zone.js/lib/browser/rollup-main");
require("zone.js/lib/node/node");
});
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicm9sbHVwLW1peC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL3pvbmUuanMvbGliL21peC9yb2xsdXAtbWl4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7R0FNRzs7Ozs7Ozs7Ozs7O0lBRUgsNERBQWdDO0lBQ2hDLGtEQUFzQiIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogQGxpY2Vuc2VcbiAqIENvcHlyaWdodCBHb29nbGUgSW5jLiBBbGwgUmlnaHRzIFJlc2VydmVkLlxuICpcbiAqIFVzZSBvZiB0aGlzIHNvdXJjZSBjb2RlIGlzIGdvdmVybmVkIGJ5IGFuIE1JVC1zdHlsZSBsaWNlbnNlIHRoYXQgY2FuIGJlXG4gKiBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlIGF0IGh0dHBzOi8vYW5ndWxhci5pby9saWNlbnNlXG4gKi9cblxuaW1wb3J0ICcuLi9icm93c2VyL3JvbGx1cC1tYWluJztcbmltcG9ydCAnLi4vbm9kZS9ub2RlJztcbiJdfQ==
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicm9sbHVwLW1peC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL3pvbmUuanMvbGliL21peC9yb2xsdXAtbWl4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7R0FNRzs7Ozs7Ozs7Ozs7O0lBRUgsMkNBQWdDO0lBQ2hDLGlDQUFzQiIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogQGxpY2Vuc2VcbiAqIENvcHlyaWdodCBHb29nbGUgSW5jLiBBbGwgUmlnaHRzIFJlc2VydmVkLlxuICpcbiAqIFVzZSBvZiB0aGlzIHNvdXJjZSBjb2RlIGlzIGdvdmVybmVkIGJ5IGFuIE1JVC1zdHlsZSBsaWNlbnNlIHRoYXQgY2FuIGJlXG4gKiBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlIGF0IGh0dHBzOi8vYW5ndWxhci5pby9saWNlbnNlXG4gKi9cblxuaW1wb3J0ICcuLi9icm93c2VyL3JvbGx1cC1tYWluJztcbmltcG9ydCAnLi4vbm9kZS9ub2RlJztcbiJdfQ==

@@ -8,2 +8,2 @@ /**

*/
/// <amd-module name="angular/packages/zone.js/lib/mocha/mocha" />
/// <amd-module name="zone.js/lib/mocha/mocha" />

@@ -9,6 +9,8 @@ /**

'use strict';
(function (context) {
var Mocha = context.Mocha;
Zone.__load_patch('mocha', function (global, Zone) {
var Mocha = global.Mocha;
if (typeof Mocha === 'undefined') {
throw new Error('Missing Mocha.js');
// return if Mocha is not available, because now zone-testing
// will load mocha patch with jasmine/jest patch
return;
}

@@ -83,29 +85,29 @@ if (typeof Zone === 'undefined') {

}
context.describe = context.suite = Mocha.describe = function () {
global.describe = global.suite = Mocha.describe = function () {
return mochaOriginal.describe.apply(this, wrapDescribeInZone(arguments));
};
context.xdescribe = context.suite.skip = Mocha.describe.skip = function () {
global.xdescribe = global.suite.skip = Mocha.describe.skip = function () {
return mochaOriginal.describe.skip.apply(this, wrapDescribeInZone(arguments));
};
context.describe.only = context.suite.only = Mocha.describe.only = function () {
global.describe.only = global.suite.only = Mocha.describe.only = function () {
return mochaOriginal.describe.only.apply(this, wrapDescribeInZone(arguments));
};
context.it = context.specify = context.test =
global.it = global.specify = global.test =
Mocha.it = function () { return mochaOriginal.it.apply(this, wrapTestInZone(arguments)); };
context.xit = context.xspecify = Mocha.it.skip = function () {
global.xit = global.xspecify = Mocha.it.skip = function () {
return mochaOriginal.it.skip.apply(this, wrapTestInZone(arguments));
};
context.it.only = context.test.only = Mocha.it.only = function () {
global.it.only = global.test.only = Mocha.it.only = function () {
return mochaOriginal.it.only.apply(this, wrapTestInZone(arguments));
};
context.after = context.suiteTeardown = Mocha.after = function () {
global.after = global.suiteTeardown = Mocha.after = function () {
return mochaOriginal.after.apply(this, wrapSuiteInZone(arguments));
};
context.afterEach = context.teardown = Mocha.afterEach = function () {
global.afterEach = global.teardown = Mocha.afterEach = function () {
return mochaOriginal.afterEach.apply(this, wrapTestInZone(arguments));
};
context.before = context.suiteSetup = Mocha.before = function () {
global.before = global.suiteSetup = Mocha.before = function () {
return mochaOriginal.before.apply(this, wrapSuiteInZone(arguments));
};
context.beforeEach = context.setup = Mocha.beforeEach = function () {
global.beforeEach = global.setup = Mocha.beforeEach = function () {
return mochaOriginal.beforeEach.apply(this, wrapTestInZone(arguments));

@@ -134,3 +136,3 @@ };

})(Mocha.Runner.prototype.runTest, Mocha.Runner.prototype.run);
})(typeof window !== 'undefined' && window || typeof self !== 'undefined' && self || global);
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9jaGEuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy96b25lLmpzL2xpYi9tb2NoYS9tb2NoYS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7O0dBTUc7QUFFSCxZQUFZLENBQUM7QUFFYixDQUFDLFVBQUMsT0FBWTtJQUNaLElBQU0sS0FBSyxHQUFHLE9BQU8sQ0FBQyxLQUFLLENBQUM7SUFFNUIsSUFBSSxPQUFPLEtBQUssS0FBSyxXQUFXLEVBQUU7UUFDaEMsTUFBTSxJQUFJLEtBQUssQ0FBQyxrQkFBa0IsQ0FBQyxDQUFDO0tBQ3JDO0lBRUQsSUFBSSxPQUFPLElBQUksS0FBSyxXQUFXLEVBQUU7UUFDL0IsTUFBTSxJQUFJLEtBQUssQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDO0tBQ3BDO0lBRUQsSUFBTSxhQUFhLEdBQUksSUFBWSxDQUFDLGVBQWUsQ0FBQyxDQUFDO0lBQ3JELElBQU0sZ0JBQWdCLEdBQUksSUFBWSxDQUFDLGtCQUFrQixDQUFDLENBQUM7SUFFM0QsSUFBSSxDQUFDLGFBQWEsRUFBRTtRQUNsQixNQUFNLElBQUksS0FBSyxDQUFDLHVCQUF1QixDQUFDLENBQUM7S0FDMUM7SUFFRCxJQUFJLEtBQUssQ0FBQyxnQkFBZ0IsQ0FBQyxFQUFFO1FBQzNCLE1BQU0sSUFBSSxLQUFLLENBQUMsK0NBQStDLENBQUMsQ0FBQztLQUNsRTtJQUVELEtBQUssQ0FBQyxnQkFBZ0IsQ0FBQyxHQUFHLElBQUksQ0FBQztJQUUvQixJQUFNLFFBQVEsR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDO0lBQzlCLElBQU0sUUFBUSxHQUFHLFFBQVEsQ0FBQyxJQUFJLENBQUMsSUFBSSxnQkFBZ0IsQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDLENBQUM7SUFDdkUsSUFBSSxRQUFRLEdBQWMsSUFBSSxDQUFDO0lBQy9CLElBQU0sU0FBUyxHQUFHLFFBQVEsQ0FBQyxJQUFJLENBQUMsSUFBSSxhQUFh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T0FBTyxNQUFNLEtBQUssV0FBVyxJQUFJLE1BQU0sSUFBSSxPQUFPLElBQUksS0FBSyxXQUFXLElBQUksSUFBSSxJQUFJLE1BQU0sQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBAbGljZW5zZVxuICogQ29weXJpZ2h0IEdvb2dsZSBJbmMuIEFsbCBSaWdodHMgUmVzZXJ2ZWQuXG4gKlxuICogVXNlIG9mIHRoaXMgc291cmNlIGNvZGUgaXMgZ292ZXJuZWQgYnkgYW4gTUlULXN0eWxlIGxpY2Vuc2UgdGhhdCBjYW4gYmVcbiAqIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUgYXQgaHR0cHM6Ly9hbmd1bGFyLmlvL2xpY2Vuc2VcbiAqL1xuXG4ndXNlIHN0cmljdCc7XG5cbigoY29udGV4dDogYW55KSA9PiB7XG4gIGNvbnN0IE1vY2hhID0gY29udGV4dC5Nb2NoYTtcblxuICBpZiAodHlwZW9mIE1vY2hhID09PSAndW5kZWZpbmVkJykge1xuICAgIHRocm93IG5ldyBFcnJvcignTWlzc2luZyBNb2NoYS5qcycpO1xuICB9XG5cbiAgaWYgKHR5cGVvZiBab25lID09PSAndW5kZWZpbmVkJykge1xuICAgIHRocm93IG5ldyBFcnJvcignTWlzc2luZyBab25lLmpzJyk7XG4gIH1cblxuICBjb25zdCBQcm94eVpvbmVTcGVjID0gKFpvbmUgYXMgYW55KVsnUHJveHlab25lU3BlYyddO1xuICBjb25zdCBTeW5jVGVzdFpvbmVTcGVjID0gKFpvbmUgYXMgYW55KVsnU3luY1Rlc3Rab25lU3BlYyddO1xuXG4gIGlmICghUHJveHlab25lU3BlYykge1xuICAgIHRocm93IG5ldyBFcnJvcignTWlzc2luZyBQcm94eVpvbmVTcGVjJyk7XG4gIH1cblxuICBpZiAoTW9jaGFbJ19fem9uZV9wYXRjaF9fJ10pIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoJ1wiTW9jaGFcIiBoYXMgYWxyZWFkeSBiZWVuIHBhdGNoZWQgd2l0aCBcIlpvbmVcIi4nKTtcbiAgfVxuXG4gIE1vY2hhWydfX3pvbmVfcGF0Y2hfXyddID0gdHJ1ZTtcblxuICBjb25zdCByb290Wm9uZSA9IFpvbmUuY3VycmVudDtcbiAgY29uc3Qgc3luY1pvbmUgPSByb290Wm9uZS5mb3JrKG5ldyBTeW5jVGVzdFpvbmVTcGVjKCdNb2NoYS5kZXNjcmliZScpKTtcbiAgbGV0IHRlc3Rab25lOiBab25lfG51bGwgPSBudWxsO1xuICBjb25zdCBzdWl0ZVpvbmUgPSByb290Wm9uZS5mb3JrKG5ldyBQcm94eVpvbmVTcGVjKCkpO1xuXG4gIGNvbnN0IG1vY2hhT3JpZ2luYWwgPSB7XG4gICAgYWZ0ZXI6IE1vY2hhLmFmdGVyLFxuICAgIGFmdGVyRWFjaDogTW9jaGEuYWZ0ZXJFYWNoLFxuICAgIGJlZm9yZTogTW9jaGEuYmVmb3JlLFxuICAgIGJlZm9yZUVhY2g6IE1vY2hhLmJlZm9yZUVhY2gsXG4gICAgZGVzY3JpYmU6IE1vY2hhLmRlc2NyaWJlLFxuICAgIGl0OiBNb2NoYS5pdFxuICB9O1xuXG4gIGZ1bmN0aW9uIG1vZGlmeUFyZ3VtZW50cyhhcmdzOiBJQXJndW1lbnRzLCBzeW5jVGVzdDogRnVuY3Rpb24sIGFzeW5jVGVzdD86IEZ1bmN0aW9uKTogYW55W10ge1xuICAgIGZvciAobGV0IGkgPSAwOyBpIDwgYXJncy5sZW5ndGg7IGkrKykge1xuICAgICAgbGV0IGFyZyA9IGFyZ3NbaV07XG4gICAgICBpZiAodHlwZW9mIGFyZyA9PT0gJ2Z1bmN0aW9uJykge1xuICAgICAgICAvLyBUaGUgYGRvbmVgIGNhbGxiYWNrIGlzIG9ubHkgcGFzc2VkIHRocm91Z2ggaWYgdGhlIGZ1bmN0aW9uIGV4cGVjdHMgYXRcbiAgICAgICAgLy8gbGVhc3Qgb25lIGFyZ3VtZW50LlxuICAgICAgICAvLyBOb3RlIHdlIGhhdmUgdG8gbWFrZSBhIGZ1bmN0aW9uIHdpdGggY29ycmVjdCBudW1iZXIgb2YgYXJndW1lbnRzLFxuICAgICAgICAvLyBvdGhlcndpc2UgbW9jaGEgd2lsbFxuICAgICAgICAvLyB0aGluayB0aGF0IGFsbCBmdW5jdGlvbnMgYXJlIHN5bmMgb3IgYXN5bmMuXG4gICAgICAgIGFyZ3NbaV0gPSAoYXJnLmxlbmd0aCA9PT0gMCkgPyBzeW5jVGVzdChhcmcpIDogYXN5bmNUZXN0ICEoYXJnKTtcbiAgICAgICAgLy8gTW9jaGEgdXNlcyB0b1N0cmluZyB0byB2aWV3IHRoZSB0ZXN0IGJvZHkgaW4gdGhlIHJlc3VsdCBsaXN0LCBtYWtlIHN1cmUgd2UgcmV0dXJuIHRoZVxuICAgICAgICAvLyBjb3JyZWN0IGZ1bmN0aW9uIGJvZHlcbiAgICAgICAgYXJnc1tpXS50b1N0cmluZyA9IGZ1bmN0aW9uKCkgeyByZXR1cm4gYXJnLnRvU3RyaW5nKCk7IH07XG4gICAgICB9XG4gICAgfVxuXG4gICAgcmV0dXJuIGFyZ3MgYXMgYW55O1xuICB9XG5cbiAgZnVuY3Rpb24gd3JhcERlc2NyaWJlSW5ab25lKGFyZ3M6IElBcmd1bWVudHMpOiBhbnlbXSB7XG4gICAgY29uc3Qgc3luY1Rlc3Q6IGFueSA9IGZ1bmN0aW9uKGZuOiBGdW5jdGlvbikge1xuICAgICAgcmV0dXJuIGZ1bmN0aW9uKHRoaXM6IHVua25vd24pIHsgcmV0dXJuIHN5bmNab25lLnJ1bihmbiwgdGhpcywgYXJndW1lbnRzIGFzIGFueSBhcyBhbnlbXSk7IH07XG4gICAgfTtcblxuICAgIHJldHVybiBtb2RpZnlBcmd1bWVudHMoYXJncywgc3luY1Rlc3QpO1xuICB9XG5cbiAgZnVuY3Rpb24gd3JhcFRlc3RJblpvbmUoYXJnczogSUFyZ3VtZW50cyk6IGFueVtdIHtcbiAgICBjb25zdCBhc3luY1Rlc3QgPSBmdW5jdGlvbihmbjogRnVuY3Rpb24pIHtcbiAgICAgIHJldHVybiBmdW5jdGlvbih0aGlzOiB1bmtub3duLCBkb25lOiBGdW5jdGlvbikgeyByZXR1cm4gdGVzdFpvbmUgIS5ydW4oZm4sIHRoaXMsIFtkb25lXSk7IH07XG4gICAgfTtcblxuICAgIGNvbnN0IHN5bmNUZXN0OiBhbnkgPSBmdW5jdGlvbihmbjogRnVuY3Rpb24pIHtcbiAgICAgIHJldHVybiBmdW5jdGlvbih0aGlzOiB1bmtub3duKSB7IHJldHVybiB0ZXN0Wm9uZSAhLnJ1bihmbiwgdGhpcyk7IH07XG4gICAgfTtcblxuICAgIHJldHVybiBtb2RpZnlBcmd1bWVudHMoYXJncywgc3luY1Rlc3QsIGFzeW5jVGVzdCk7XG4gIH1cblxuICBmdW5jdGlvbiB3cmFwU3VpdGVJblpvbmUoYXJnczogSUFyZ3VtZW50cyk6IGFueVtdIHtcbiAgICBjb25zdCBhc3luY1Rlc3QgPSBmdW5jdGlvbihmbjogRnVuY3Rpb24pIHtcbiAgICAgIHJldHVybiBmdW5jdGlvbih0aGlzOiB1bmtub3duLCBkb25lOiBGdW5jdGlvbikgeyByZXR1cm4gc3VpdGVab25lLnJ1bihmbiwgdGhpcywgW2RvbmVdKTsgfTtcbiAgICB9O1xuXG4gICAgY29uc3Qgc3luY1Rlc3Q6IGFueSA9IGZ1bmN0aW9uKGZuOiBGdW5jdGlvbikge1xuICAgICAgcmV0dXJuIGZ1bmN0aW9uKHRoaXM6IHVua25vd24pIHsgcmV0dXJuIHN1aXRlWm9uZS5ydW4oZm4sIHRoaXMpOyB9O1xuICAgIH07XG5cbiAgICByZXR1cm4gbW9kaWZ5QXJndW1lbnRzKGFyZ3MsIHN5bmNUZXN0LCBhc3luY1Rlc3QpO1xuICB9XG5cbiAgY29udGV4dC5kZXNjcmliZSA9IGNvbnRleHQuc3VpdGUgPSBNb2NoYS5kZXNjcmliZSA9IGZ1bmN0aW9uKCkge1xuICAgIHJldHVybiBtb2NoYU9yaWdpbmFsLmRlc2NyaWJlLmFwcGx5KHRoaXMsIHdyYXBEZXNjcmliZUluWm9uZShhcmd1bWVudHMpKTtcbiAgfTtcblxuICBjb250ZXh0LnhkZXNjcmliZSA9IGNvbnRleHQuc3VpdGUuc2tpcCA9IE1vY2hhLmRlc2NyaWJlLnNraXAgPSBmdW5jdGlvbigpIHtcbiAgICByZXR1cm4gbW9jaGFPcmlnaW5hbC5kZXNjcmliZS5za2lwLmFwcGx5KHRoaXMsIHdyYXBEZXNjcmliZUluWm9uZShhcmd1bWVudHMpKTtcbiAgfTtcblxuICBjb250ZXh0LmRlc2NyaWJlLm9ubHkgPSBjb250ZXh0LnN1aXRlLm9ubHkgPSBNb2NoYS5kZXNjcmliZS5vbmx5ID0gZnVuY3Rpb24oKSB7XG4gICAgcmV0dXJuIG1vY2hhT3JpZ2luYWwuZGVzY3JpYmUub25seS5hcHBseSh0aGlzLCB3cmFwRGVzY3JpYmVJblpvbmUoYXJndW1lbnRzKSk7XG4gIH07XG5cbiAgY29udGV4dC5pdCA9IGNvbnRleHQuc3BlY2lmeSA9IGNvbnRleHQudGVzdCA9XG4gICAgICBNb2NoYS5pdCA9IGZ1bmN0aW9uKCkgeyByZXR1cm4gbW9jaGFPcmlnaW5hbC5pdC5hcHBseSh0aGlzLCB3cmFwVGVzdEluWm9uZShhcmd1bWVudHMpKTsgfTtcblxuICBjb250ZXh0LnhpdCA9IGNvbnRleHQueHNwZWNpZnkgPSBNb2NoYS5pdC5za2lwID0gZnVuY3Rpb24oKSB7XG4gICAgcmV0dXJuIG1vY2hhT3JpZ2luYWwuaXQuc2tpcC5hcHBseSh0aGlzLCB3cmFwVGVzdEluWm9uZShhcmd1bWVudHMpKTtcbiAgfTtcblxuICBjb250ZXh0Lml0Lm9ubHkgPSBjb250ZXh0LnRlc3Qub25seSA9IE1vY2hhLml0Lm9ubHkgPSBmdW5jdGlvbigpIHtcbiAgICByZXR1cm4gbW9jaGFPcmlnaW5hbC5pdC5vbmx5LmFwcGx5KHRoaXMsIHdyYXBUZXN0SW5ab25lKGFyZ3VtZW50cykpO1xuICB9O1xuXG4gIGNvbnRleHQuYWZ0ZXIgPSBjb250ZXh0LnN1aXRlVGVhcmRvd24gPSBNb2NoYS5hZnRlciA9IGZ1bmN0aW9uKCkge1xuICAgIHJldHVybiBtb2NoYU9yaWdpbmFsLmFmdGVyLmFwcGx5KHRoaXMsIHdyYXBTdWl0ZUluWm9uZShhcmd1bWVudHMpKTtcbiAgfTtcblxuICBjb250ZXh0LmFmdGVyRWFjaCA9IGNvbnRleHQudGVhcmRvd24gPSBNb2NoYS5hZnRlckVhY2ggPSBmdW5jdGlvbigpIHtcbiAgICByZXR1cm4gbW9jaGFPcmlnaW5hbC5hZnRlckVhY2guYXBwbHkodGhpcywgd3JhcFRlc3RJblpvbmUoYXJndW1lbnRzKSk7XG4gIH07XG5cbiAgY29udGV4dC5iZWZvcmUgPSBjb250ZXh0LnN1aXRlU2V0dXAgPSBNb2NoYS5iZWZvcmUgPSBmdW5jdGlvbigpIHtcbiAgICByZXR1cm4gbW9jaGFPcmlnaW5hbC5iZWZvcmUuYXBwbHkodGhpcywgd3JhcFN1aXRlSW5ab25lKGFyZ3VtZW50cykpO1xuICB9O1xuXG4gIGNvbnRleHQuYmVmb3JlRWFjaCA9IGNvbnRleHQuc2V0dXAgPSBNb2NoYS5iZWZvcmVFYWNoID0gZnVuY3Rpb24oKSB7XG4gICAgcmV0dXJuIG1vY2hhT3JpZ2luYWwuYmVmb3JlRWFjaC5hcHBseSh0aGlzLCB3cmFwVGVzdEluWm9uZShhcmd1bWVudHMpKTtcbiAgfTtcblxuICAoKG9yaWdpbmFsUnVuVGVzdCwgb3JpZ2luYWxSdW4pID0+IHtcbiAgICBNb2NoYS5SdW5uZXIucHJvdG90eXBlLnJ1blRlc3QgPSBmdW5jdGlvbihmbjogRnVuY3Rpb24pIHtcbiAgICAgIFpvbmUuY3VycmVudC5zY2hlZHVsZU1pY3JvVGFzaygnbW9jaGEuZm9yY2VUYXNrJywgKCkgPT4geyBvcmlnaW5hbFJ1blRlc3QuY2FsbCh0aGlzLCBmbik7IH0pO1xuICAgIH07XG5cbiAgICBNb2NoYS5SdW5uZXIucHJvdG90eXBlLnJ1biA9IGZ1bmN0aW9uKGZuOiBGdW5jdGlvbikge1xuICAgICAgdGhpcy5vbigndGVzdCcsIChlOiBhbnkpID0+IHsgdGVzdFpvbmUgPSByb290Wm9uZS5mb3JrKG5ldyBQcm94eVpvbmVTcGVjKCkpOyB9KTtcblxuICAgICAgdGhpcy5vbignZmFpbCcsICh0ZXN0OiBhbnksIGVycjogYW55KSA9PiB7XG4gICAgICAgIGNvbnN0IHByb3h5Wm9uZVNwZWMgPSB0ZXN0Wm9uZSAmJiB0ZXN0Wm9uZS5nZXQoJ1Byb3h5Wm9uZVNwZWMnKTtcbiAgICAgICAgaWYgKHByb3h5Wm9uZVNwZWMgJiYgZXJyKSB7XG4gICAgICAgICAgdHJ5IHtcbiAgICAgICAgICAgIC8vIHRyeSBjYXRjaCBoZXJlIGluIGNhc2UgZXJyLm1lc3NhZ2UgaXMgbm90IHdyaXRhYmxlXG4gICAgICAgICAgICBlcnIubWVzc2FnZSArPSBwcm94eVpvbmVTcGVjLmdldEFuZENsZWFyUGVuZGluZ1Rhc2tzSW5mbygpO1xuICAgICAgICAgIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9KTtcblxuICAgICAgcmV0dXJuIG9yaWdpbmFsUnVuLmNhbGwodGhpcywgZm4pO1xuICAgIH07XG4gIH0pKE1vY2hhLlJ1bm5lci5wcm90b3R5cGUucnVuVGVzdCwgTW9jaGEuUnVubmVyLnByb3RvdHlwZS5ydW4pO1xufSkodHlwZW9mIHdpbmRvdyAhPT0gJ3VuZGVmaW5lZCcgJiYgd2luZG93IHx8IHR5cGVvZiBzZWxmICE9PSAndW5kZWZpbmVkJyAmJiBzZWxmIHx8IGdsb2JhbCk7XG4iXX0=
});
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9jaGEuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy96b25lLmpzL2xpYi9tb2NoYS9tb2NoYS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7O0dBTUc7QUFFSCxZQUFZLENBQUM7QUFFYixJQUFJLENBQUMsWUFBWSxDQUFDLE9BQU8sRUFBRSxVQUFDLE1BQVcsRUFBRSxJQUFjO0lBQ3JELElBQU0sS0FBSyxHQUFHLE1BQU0sQ0FBQyxLQUFLLENBQUM7SUFFM0IsSUFBSSxPQUFPLEtBQUssS0FBSyxXQUFXLEVBQUU7UUFDaEMsNkRBQTZEO1FBQzdELGdEQUFnRDtRQUNoRCxPQUFPO0tBQ1I7SUFFRCxJQUFJLE9BQU8sSUFBSSxLQUFLLFdBQVcsRUFBRTtRQUMvQixNQUFNLElBQUksS0FBSyxDQUFDLGlCQUFpQixDQUFDLENBQUM7S0FDcEM7SUFFRCxJQUFNLGFBQWEsR0FBSSxJQUFZLENBQUMsZUFBZSxDQUFDLENBQUM7SUFDckQsSUFBTSxnQkFBZ0IsR0FBSSxJQUFZLENBQUMsa0JBQWtCLENBQUMsQ0FBQztJQUUzRCxJQUFJLENBQUMsYUFBYSxFQUFFO1FBQ2xCLE1BQU0sSUFBSSxLQUFLLENBQUMsdUJBQXVCLENBQUMsQ0FBQztLQUMxQztJQUVELElBQUksS0FBSyxDQUFDLGdCQUFnQixDQUFDLEVBQUU7UUFDM0IsTUFBTSxJQUFJLEtBQUssQ0FBQywrQ0FBK0MsQ0FBQyxDQUFDO0tBQ2xFO0lBRUQsS0FBSyxDQUFDLGdCQUFnQixDQUFDLEdBQUcsSUFBSSxDQUFDO0lBRS9CLElBQU0sUUFBUSxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUM7SUFDOUIsSUFBTSxRQUFRLEdBQUcsUUFBUSxDQUFDLElBQUksQ0FBQyxJQUFJLGdCQUFnQixDQUFDLGdCQUFnQixDQUFDLENBQUMsQ0FBQztJQUN2RSxJQUFJLFFBQVEsR0FBYyxJQUFJLENBQUM7SUFDL0IsSUFBTSxTQUFTLEdBQUcs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SSxDQUFDLEtBQUssQ0FBQyxJQUFJLEVBQUUsY0FBYyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUM7SUFDdEUsQ0FBQyxDQUFDO0lBRUYsTUFBTSxDQUFDLEVBQUUsQ0FBQyxJQUFJLEdBQUcsTUFBTSxDQUFDLElBQUksQ0FBQyxJQUFJLEdBQUcsS0FBSyxDQUFDLEVBQUUsQ0FBQyxJQUFJLEdBQUc7UUFDbEQsT0FBTyxhQUFhLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxFQUFFLGNBQWMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDO0lBQ3RFLENBQUMsQ0FBQztJQUVGLE1BQU0sQ0FBQyxLQUFLLEdBQUcsTUFBTSxDQUFDLGFBQWEsR0FBRyxLQUFLLENBQUMsS0FBSyxHQUFHO1FBQ2xELE9BQU8sYUFBYSxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsSUFBSSxFQUFFLGVBQWUsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDO0lBQ3JFLENBQUMsQ0FBQztJQUVGLE1BQU0sQ0FBQyxTQUFTLEdBQUcsTUFBTSxDQUFDLFFBQVEsR0FBRyxLQUFLLENBQUMsU0FBUyxHQUFHO1FBQ3JELE9BQU8sYUFBYSxDQUFDLFNBQVMsQ0FBQyxLQUFLLENBQUMsSUFBSSxFQUFFLGNBQWMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDO0lBQ3hFLENBQUMsQ0FBQztJQUVGLE1BQU0sQ0FBQyxNQUFNLEdBQUcsTUFBTSxDQUFDLFVBQVUsR0FBRyxLQUFLLENBQUMsTUFBTSxHQUFHO1FBQ2pELE9BQU8sYUFBYSxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsSUFBSSxFQUFFLGVBQWUsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDO0lBQ3RFLENBQUMsQ0FBQztJQUVGLE1BQU0sQ0FBQyxVQUFVLEdBQUcsTUFBTSxDQUFDLEtBQUssR0FBRyxLQUFLLENBQUMsVUFBVSxHQUFHO1FBQ3BELE9BQU8sYUFBYSxDQUFDLFVBQVUsQ0FBQyxLQUFLLENBQUMsSUFBSSxFQUFFLGNBQWMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDO0lBQ3pFLENBQUMsQ0FBQztJQUVGLENBQUMsVUFBQyxlQUFlLEVBQUUsV0FBVztRQUM1QixLQUFLLENBQUMsTUFBTSxDQUFDLFNBQVMsQ0FBQyxPQUFPLEdBQUcsVUFBUyxFQUFZO1lBQXJCLGlCQUVoQztZQURDLElBQUksQ0FBQyxPQUFPLENBQUMsaUJBQWlCLENBQUMsaUJBQWlCLEVBQUUsY0FBUSxlQUFlLENBQUMsSUFBSSxDQUFDLEtBQUksRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQy9GLENBQUMsQ0FBQztRQUVGLEtBQUssQ0FBQyxNQUFNLENBQUMsU0FBUyxDQUFDLEdBQUcsR0FBRyxVQUFTLEVBQVk7WUFDaEQsSUFBSSxDQUFDLEVBQUUsQ0FBQyxNQUFNLEVBQUUsVUFBQyxDQUFNLElBQU8sUUFBUSxHQUFHLFFBQVEsQ0FBQyxJQUFJLENBQUMsSUFBSSxhQUFhLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7WUFFaEYsSUFBSSxDQUFDLEVBQUUsQ0FBQyxNQUFNLEVBQUUsVUFBQyxJQUFTLEVBQUUsR0FBUTtnQkFDbEMsSUFBTSxhQUFhLEdBQUcsUUFBUSxJQUFJLFFBQVEsQ0FBQyxHQUFHLENBQUMsZUFBZSxDQUFDLENBQUM7Z0JBQ2hFLElBQUksYUFBYSxJQUFJLEdBQUcsRUFBRTtvQkFDeEIsSUFBSTt3QkFDRixxREFBcUQ7d0JBQ3JELEdBQUcsQ0FBQyxPQUFPLElBQUksYUFBYSxDQUFDLDJCQUEyQixFQUFFLENBQUM7cUJBQzVEO29CQUFDLE9BQU8sS0FBSyxFQUFFO3FCQUNmO2lCQUNGO1lBQ0gsQ0FBQyxDQUFDLENBQUM7WUFFSCxPQUFPLFdBQVcsQ0FBQyxJQUFJLENBQUMsSUFBSSxFQUFFLEVBQUUsQ0FBQyxDQUFDO1FBQ3BDLENBQUMsQ0FBQztJQUNKLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsU0FBUyxDQUFDLE9BQU8sRUFBRSxLQUFLLENBQUMsTUFBTSxDQUFDLFNBQVMsQ0FBQyxHQUFHLENBQUMsQ0FBQztBQUNqRSxDQUFDLENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogQGxpY2Vuc2VcbiAqIENvcHlyaWdodCBHb29nbGUgSW5jLiBBbGwgUmlnaHRzIFJlc2VydmVkLlxuICpcbiAqIFVzZSBvZiB0aGlzIHNvdXJjZSBjb2RlIGlzIGdvdmVybmVkIGJ5IGFuIE1JVC1zdHlsZSBsaWNlbnNlIHRoYXQgY2FuIGJlXG4gKiBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlIGF0IGh0dHBzOi8vYW5ndWxhci5pby9saWNlbnNlXG4gKi9cblxuJ3VzZSBzdHJpY3QnO1xuXG5ab25lLl9fbG9hZF9wYXRjaCgnbW9jaGEnLCAoZ2xvYmFsOiBhbnksIFpvbmU6IFpvbmVUeXBlKSA9PiB7XG4gIGNvbnN0IE1vY2hhID0gZ2xvYmFsLk1vY2hhO1xuXG4gIGlmICh0eXBlb2YgTW9jaGEgPT09ICd1bmRlZmluZWQnKSB7XG4gICAgLy8gcmV0dXJuIGlmIE1vY2hhIGlzIG5vdCBhdmFpbGFibGUsIGJlY2F1c2Ugbm93IHpvbmUtdGVzdGluZ1xuICAgIC8vIHdpbGwgbG9hZCBtb2NoYSBwYXRjaCB3aXRoIGphc21pbmUvamVzdCBwYXRjaFxuICAgIHJldHVybjtcbiAgfVxuXG4gIGlmICh0eXBlb2YgWm9uZSA9PT0gJ3VuZGVmaW5lZCcpIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoJ01pc3NpbmcgWm9uZS5qcycpO1xuICB9XG5cbiAgY29uc3QgUHJveHlab25lU3BlYyA9IChab25lIGFzIGFueSlbJ1Byb3h5Wm9uZVNwZWMnXTtcbiAgY29uc3QgU3luY1Rlc3Rab25lU3BlYyA9IChab25lIGFzIGFueSlbJ1N5bmNUZXN0Wm9uZVNwZWMnXTtcblxuICBpZiAoIVByb3h5Wm9uZVNwZWMpIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoJ01pc3NpbmcgUHJveHlab25lU3BlYycpO1xuICB9XG5cbiAgaWYgKE1vY2hhWydfX3pvbmVfcGF0Y2hfXyddKSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKCdcIk1vY2hhXCIgaGFzIGFscmVhZHkgYmVlbiBwYXRjaGVkIHdpdGggXCJab25lXCIuJyk7XG4gIH1cblxuICBNb2NoYVsnX196b25lX3BhdGNoX18nXSA9IHRydWU7XG5cbiAgY29uc3Qgcm9vdFpvbmUgPSBab25lLmN1cnJlbnQ7XG4gIGNvbnN0IHN5bmNab25lID0gcm9vdFpvbmUuZm9yayhuZXcgU3luY1Rlc3Rab25lU3BlYygnTW9jaGEuZGVzY3JpYmUnKSk7XG4gIGxldCB0ZXN0Wm9uZTogWm9uZXxudWxsID0gbnVsbDtcbiAgY29uc3Qgc3VpdGVab25lID0gcm9vdFpvbmUuZm9yayhuZXcgUHJveHlab25lU3BlYygpKTtcblxuICBjb25zdCBtb2NoYU9yaWdpbmFsID0ge1xuICAgIGFmdGVyOiBNb2NoYS5hZnRlcixcbiAgICBhZnRlckVhY2g6IE1vY2hhLmFmdGVyRWFjaCxcbiAgICBiZWZvcmU6IE1vY2hhLmJlZm9yZSxcbiAgICBiZWZvcmVFYWNoOiBNb2NoYS5iZWZvcmVFYWNoLFxuICAgIGRlc2NyaWJlOiBNb2NoYS5kZXNjcmliZSxcbiAgICBpdDogTW9jaGEuaXRcbiAgfTtcblxuICBmdW5jdGlvbiBtb2RpZnlBcmd1bWVudHMoYXJnczogSUFyZ3VtZW50cywgc3luY1Rlc3Q6IEZ1bmN0aW9uLCBhc3luY1Rlc3Q/OiBGdW5jdGlvbik6IGFueVtdIHtcbiAgICBmb3IgKGxldCBpID0gMDsgaSA8IGFyZ3MubGVuZ3RoOyBpKyspIHtcbiAgICAgIGxldCBhcmcgPSBhcmdzW2ldO1xuICAgICAgaWYgKHR5cGVvZiBhcmcgPT09ICdmdW5jdGlvbicpIHtcbiAgICAgICAgLy8gVGhlIGBkb25lYCBjYWxsYmFjayBpcyBvbmx5IHBhc3NlZCB0aHJvdWdoIGlmIHRoZSBmdW5jdGlvbiBleHBlY3RzIGF0XG4gICAgICAgIC8vIGxlYXN0IG9uZSBhcmd1bWVudC5cbiAgICAgICAgLy8gTm90ZSB3ZSBoYXZlIHRvIG1ha2UgYSBmdW5jdGlvbiB3aXRoIGNvcnJlY3QgbnVtYmVyIG9mIGFyZ3VtZW50cyxcbiAgICAgICAgLy8gb3RoZXJ3aXNlIG1vY2hhIHdpbGxcbiAgICAgICAgLy8gdGhpbmsgdGhhdCBhbGwgZnVuY3Rpb25zIGFyZSBzeW5jIG9yIGFzeW5jLlxuICAgICAgICBhcmdzW2ldID0gKGFyZy5sZW5ndGggPT09IDApID8gc3luY1Rlc3QoYXJnKSA6IGFzeW5jVGVzdCAhKGFyZyk7XG4gICAgICAgIC8vIE1vY2hhIHVzZXMgdG9TdHJpbmcgdG8gdmlldyB0aGUgdGVzdCBib2R5IGluIHRoZSByZXN1bHQgbGlzdCwgbWFrZSBzdXJlIHdlIHJldHVybiB0aGVcbiAgICAgICAgLy8gY29ycmVjdCBmdW5jdGlvbiBib2R5XG4gICAgICAgIGFyZ3NbaV0udG9TdHJpbmcgPSBmdW5jdGlvbigpIHsgcmV0dXJuIGFyZy50b1N0cmluZygpOyB9O1xuICAgICAgfVxuICAgIH1cblxuICAgIHJldHVybiBhcmdzIGFzIGFueTtcbiAgfVxuXG4gIGZ1bmN0aW9uIHdyYXBEZXNjcmliZUluWm9uZShhcmdzOiBJQXJndW1lbnRzKTogYW55W10ge1xuICAgIGNvbnN0IHN5bmNUZXN0OiBhbnkgPSBmdW5jdGlvbihmbjogRnVuY3Rpb24pIHtcbiAgICAgIHJldHVybiBmdW5jdGlvbih0aGlzOiB1bmtub3duKSB7IHJldHVybiBzeW5jWm9uZS5ydW4oZm4sIHRoaXMsIGFyZ3VtZW50cyBhcyBhbnkgYXMgYW55W10pOyB9O1xuICAgIH07XG5cbiAgICByZXR1cm4gbW9kaWZ5QXJndW1lbnRzKGFyZ3MsIHN5bmNUZXN0KTtcbiAgfVxuXG4gIGZ1bmN0aW9uIHdyYXBUZXN0SW5ab25lKGFyZ3M6IElBcmd1bWVudHMpOiBhbnlbXSB7XG4gICAgY29uc3QgYXN5bmNUZXN0ID0gZnVuY3Rpb24oZm46IEZ1bmN0aW9uKSB7XG4gICAgICByZXR1cm4gZnVuY3Rpb24odGhpczogdW5rbm93biwgZG9uZTogRnVuY3Rpb24pIHsgcmV0dXJuIHRlc3Rab25lICEucnVuKGZuLCB0aGlzLCBbZG9uZV0pOyB9O1xuICAgIH07XG5cbiAgICBjb25zdCBzeW5jVGVzdDogYW55ID0gZnVuY3Rpb24oZm46IEZ1bmN0aW9uKSB7XG4gICAgICByZXR1cm4gZnVuY3Rpb24odGhpczogdW5rbm93bikgeyByZXR1cm4gdGVzdFpvbmUgIS5ydW4oZm4sIHRoaXMpOyB9O1xuICAgIH07XG5cbiAgICByZXR1cm4gbW9kaWZ5QXJndW1lbnRzKGFyZ3MsIHN5bmNUZXN0LCBhc3luY1Rlc3QpO1xuICB9XG5cbiAgZnVuY3Rpb24gd3JhcFN1aXRlSW5ab25lKGFyZ3M6IElBcmd1bWVudHMpOiBhbnlbXSB7XG4gICAgY29uc3QgYXN5bmNUZXN0ID0gZnVuY3Rpb24oZm46IEZ1bmN0aW9uKSB7XG4gICAgICByZXR1cm4gZnVuY3Rpb24odGhpczogdW5rbm93biwgZG9uZTogRnVuY3Rpb24pIHsgcmV0dXJuIHN1aXRlWm9uZS5ydW4oZm4sIHRoaXMsIFtkb25lXSk7IH07XG4gICAgfTtcblxuICAgIGNvbnN0IHN5bmNUZXN0OiBhbnkgPSBmdW5jdGlvbihmbjogRnVuY3Rpb24pIHtcbiAgICAgIHJldHVybiBmdW5jdGlvbih0aGlzOiB1bmtub3duKSB7IHJldHVybiBzdWl0ZVpvbmUucnVuKGZuLCB0aGlzKTsgfTtcbiAgICB9O1xuXG4gICAgcmV0dXJuIG1vZGlmeUFyZ3VtZW50cyhhcmdzLCBzeW5jVGVzdCwgYXN5bmNUZXN0KTtcbiAgfVxuXG4gIGdsb2JhbC5kZXNjcmliZSA9IGdsb2JhbC5zdWl0ZSA9IE1vY2hhLmRlc2NyaWJlID0gZnVuY3Rpb24oKSB7XG4gICAgcmV0dXJuIG1vY2hhT3JpZ2luYWwuZGVzY3JpYmUuYXBwbHkodGhpcywgd3JhcERlc2NyaWJlSW5ab25lKGFyZ3VtZW50cykpO1xuICB9O1xuXG4gIGdsb2JhbC54ZGVzY3JpYmUgPSBnbG9iYWwuc3VpdGUuc2tpcCA9IE1vY2hhLmRlc2NyaWJlLnNraXAgPSBmdW5jdGlvbigpIHtcbiAgICByZXR1cm4gbW9jaGFPcmlnaW5hbC5kZXNjcmliZS5za2lwLmFwcGx5KHRoaXMsIHdyYXBEZXNjcmliZUluWm9uZShhcmd1bWVudHMpKTtcbiAgfTtcblxuICBnbG9iYWwuZGVzY3JpYmUub25seSA9IGdsb2JhbC5zdWl0ZS5vbmx5ID0gTW9jaGEuZGVzY3JpYmUub25seSA9IGZ1bmN0aW9uKCkge1xuICAgIHJldHVybiBtb2NoYU9yaWdpbmFsLmRlc2NyaWJlLm9ubHkuYXBwbHkodGhpcywgd3JhcERlc2NyaWJlSW5ab25lKGFyZ3VtZW50cykpO1xuICB9O1xuXG4gIGdsb2JhbC5pdCA9IGdsb2JhbC5zcGVjaWZ5ID0gZ2xvYmFsLnRlc3QgPVxuICAgICAgTW9jaGEuaXQgPSBmdW5jdGlvbigpIHsgcmV0dXJuIG1vY2hhT3JpZ2luYWwuaXQuYXBwbHkodGhpcywgd3JhcFRlc3RJblpvbmUoYXJndW1lbnRzKSk7IH07XG5cbiAgZ2xvYmFsLnhpdCA9IGdsb2JhbC54c3BlY2lmeSA9IE1vY2hhLml0LnNraXAgPSBmdW5jdGlvbigpIHtcbiAgICByZXR1cm4gbW9jaGFPcmlnaW5hbC5pdC5za2lwLmFwcGx5KHRoaXMsIHdyYXBUZXN0SW5ab25lKGFyZ3VtZW50cykpO1xuICB9O1xuXG4gIGdsb2JhbC5pdC5vbmx5ID0gZ2xvYmFsLnRlc3Qub25seSA9IE1vY2hhLml0Lm9ubHkgPSBmdW5jdGlvbigpIHtcbiAgICByZXR1cm4gbW9jaGFPcmlnaW5hbC5pdC5vbmx5LmFwcGx5KHRoaXMsIHdyYXBUZXN0SW5ab25lKGFyZ3VtZW50cykpO1xuICB9O1xuXG4gIGdsb2JhbC5hZnRlciA9IGdsb2JhbC5zdWl0ZVRlYXJkb3duID0gTW9jaGEuYWZ0ZXIgPSBmdW5jdGlvbigpIHtcbiAgICByZXR1cm4gbW9jaGFPcmlnaW5hbC5hZnRlci5hcHBseSh0aGlzLCB3cmFwU3VpdGVJblpvbmUoYXJndW1lbnRzKSk7XG4gIH07XG5cbiAgZ2xvYmFsLmFmdGVyRWFjaCA9IGdsb2JhbC50ZWFyZG93biA9IE1vY2hhLmFmdGVyRWFjaCA9IGZ1bmN0aW9uKCkge1xuICAgIHJldHVybiBtb2NoYU9yaWdpbmFsLmFmdGVyRWFjaC5hcHBseSh0aGlzLCB3cmFwVGVzdEluWm9uZShhcmd1bWVudHMpKTtcbiAgfTtcblxuICBnbG9iYWwuYmVmb3JlID0gZ2xvYmFsLnN1aXRlU2V0dXAgPSBNb2NoYS5iZWZvcmUgPSBmdW5jdGlvbigpIHtcbiAgICByZXR1cm4gbW9jaGFPcmlnaW5hbC5iZWZvcmUuYXBwbHkodGhpcywgd3JhcFN1aXRlSW5ab25lKGFyZ3VtZW50cykpO1xuICB9O1xuXG4gIGdsb2JhbC5iZWZvcmVFYWNoID0gZ2xvYmFsLnNldHVwID0gTW9jaGEuYmVmb3JlRWFjaCA9IGZ1bmN0aW9uKCkge1xuICAgIHJldHVybiBtb2NoYU9yaWdpbmFsLmJlZm9yZUVhY2guYXBwbHkodGhpcywgd3JhcFRlc3RJblpvbmUoYXJndW1lbnRzKSk7XG4gIH07XG5cbiAgKChvcmlnaW5hbFJ1blRlc3QsIG9yaWdpbmFsUnVuKSA9PiB7XG4gICAgTW9jaGEuUnVubmVyLnByb3RvdHlwZS5ydW5UZXN0ID0gZnVuY3Rpb24oZm46IEZ1bmN0aW9uKSB7XG4gICAgICBab25lLmN1cnJlbnQuc2NoZWR1bGVNaWNyb1Rhc2soJ21vY2hhLmZvcmNlVGFzaycsICgpID0+IHsgb3JpZ2luYWxSdW5UZXN0LmNhbGwodGhpcywgZm4pOyB9KTtcbiAgICB9O1xuXG4gICAgTW9jaGEuUnVubmVyLnByb3RvdHlwZS5ydW4gPSBmdW5jdGlvbihmbjogRnVuY3Rpb24pIHtcbiAgICAgIHRoaXMub24oJ3Rlc3QnLCAoZTogYW55KSA9PiB7IHRlc3Rab25lID0gcm9vdFpvbmUuZm9yayhuZXcgUHJveHlab25lU3BlYygpKTsgfSk7XG5cbiAgICAgIHRoaXMub24oJ2ZhaWwnLCAodGVzdDogYW55LCBlcnI6IGFueSkgPT4ge1xuICAgICAgICBjb25zdCBwcm94eVpvbmVTcGVjID0gdGVzdFpvbmUgJiYgdGVzdFpvbmUuZ2V0KCdQcm94eVpvbmVTcGVjJyk7XG4gICAgICAgIGlmIChwcm94eVpvbmVTcGVjICYmIGVycikge1xuICAgICAgICAgIHRyeSB7XG4gICAgICAgICAgICAvLyB0cnkgY2F0Y2ggaGVyZSBpbiBjYXNlIGVyci5tZXNzYWdlIGlzIG5vdCB3cml0YWJsZVxuICAgICAgICAgICAgZXJyLm1lc3NhZ2UgKz0gcHJveHlab25lU3BlYy5nZXRBbmRDbGVhclBlbmRpbmdUYXNrc0luZm8oKTtcbiAgICAgICAgICB9IGNhdGNoIChlcnJvcikge1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfSk7XG5cbiAgICAgIHJldHVybiBvcmlnaW5hbFJ1bi5jYWxsKHRoaXMsIGZuKTtcbiAgICB9O1xuICB9KShNb2NoYS5SdW5uZXIucHJvdG90eXBlLnJ1blRlc3QsIE1vY2hhLlJ1bm5lci5wcm90b3R5cGUucnVuKTtcbn0pO1xuIl19

@@ -8,3 +8,3 @@ /**

*/
/// <amd-module name="angular/packages/zone.js/lib/node/events" />
/// <amd-module name="zone.js/lib/node/events" />
export {};

@@ -14,3 +14,3 @@ /**

else if (typeof define === "function" && define.amd) {
define("angular/packages/zone.js/lib/node/events", ["require", "exports", "angular/packages/zone.js/lib/common/events"], factory);
define("zone.js/lib/node/events", ["require", "exports", "zone.js/lib/common/events"], factory);
}

@@ -20,3 +20,3 @@ })(function (require, exports) {

Object.defineProperty(exports, "__esModule", { value: true });
var events_1 = require("angular/packages/zone.js/lib/common/events");
var events_1 = require("zone.js/lib/common/events");
Zone.__load_patch('EventEmitter', function (global) {

@@ -72,2 +72,2 @@ // For EventEmitter

});
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXZlbnRzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvem9uZS5qcy9saWIvbm9kZS9ldmVudHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7OztHQU1HOzs7Ozs7Ozs7Ozs7SUFFSCxxRUFBa0Q7SUFFbEQsSUFBSSxDQUFDLFlBQVksQ0FBQyxjQUFjLEVBQUUsVUFBQyxNQUFXO1FBQzVDLG1CQUFtQjtRQUNuQixJQUFNLGVBQWUsR0FBRyxhQUFhLENBQUM7UUFDdEMsSUFBTSxtQkFBbUIsR0FBRyxpQkFBaUIsQ0FBQztRQUM5QyxJQUFNLGtCQUFrQixHQUFHLGdCQUFnQixDQUFDO1FBQzVDLElBQU0sc0JBQXNCLEdBQUcsb0JBQW9CLENBQUM7UUFDcEQsSUFBTSxZQUFZLEdBQUcsV0FBVyxDQUFDO1FBQ2pDLElBQU0sS0FBSyxHQUFHLElBQUksQ0FBQztRQUVuQixJQUFNLDZCQUE2QixHQUFHLFVBQVMsSUFBUyxFQUFFLFFBQWE7WUFDckUsNERBQTREO1lBQzVELE9BQU8sSUFBSSxDQUFDLFFBQVEsS0FBSyxRQUFRLElBQUksSUFBSSxDQUFDLFFBQVEsQ0FBQyxRQUFRLEtBQUssUUFBUSxDQUFDO1FBQzNFLENBQUMsQ0FBQztRQUVGLElBQU0saUJBQWlCLEdBQUcsVUFBUyxTQUF3QjtZQUN6RCxJQUFJLE9BQU8sU0FBUyxLQUFLLFFBQVEsRUFBRTtnQkFDakMsT0FBTyxTQUFtQixDQUFDO2FBQzVCO1lBQ0QsSUFBSSxDQUFDLFNBQVMsRUFBRTtnQkFDZCxPQUFPLEVBQUUsQ0FBQzthQUNYO1lBQ0QsT0FBTyxTQUFTLENBQUMsUUFBUSxFQUFFLENBQUMsT0FBTyxDQUFDLEdBQUcsRUFBRSxHQUFHLENBQUMsQ0FBQyxPQUFPLENBQUMsR0FBRyxFQUFFLEdBQUcsQ0FBQyxDQUFDO1FBQ2xFLENBQUMsQ0FBQztRQUVGLFNBQVMsd0JBQXdCLENBQUMsR0FBUTtZQUN4QyxJQUFNLE1BQU0sR0FBRyx5QkFBZ0IsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxHQUFHLENBQUMsRUFBRTtnQkFDN0MsSUFBSSxFQUFFLEtBQUs7Z0JBQ1gsR0FBRyxFQUFFLGVBQWU7Z0JBQ3BCLEVBQUUsRUFBRSxrQkFBa0I7Z0JBQ3RCLE9BQU8sRUFBRSxtQkFBbUI7Z0JBQzVCLEtBQUssRUFBRSxzQkFBc0I7Z0JBQzdCLFNBQVMsRUFBRSxZQUFZO2dCQUN2QixNQUFNLEVBQUUsS0FBSztnQkFDYixFQUFFLEVBQUUsSUFBSTtnQkFDUixJQUFJLEVBQUUsNkJBQTZCO2dCQUNuQyxpQkFBaUIsRUFBRSxpQkFBaUI7YUFDckMsQ0FBQyxDQUFDO1lBQ0gsSUFBSSxNQUFNLElBQUksTUFBTSxDQUFDLENBQUMsQ0FBQyxFQUFFO2dCQUN2QixHQUFHLENBQUMsS0FBSyxDQUFDLEdBQUcsR0FBRyxDQUFDLGVBQWUsQ0FBQyxDQUFDO2FBQ25DO1FBQ0gsQ0FBQztRQUVELGVBQWU7UUFDZixJQUFJLE1BQU0sQ0FBQztRQUNYLElBQUk7WUFDRixNQUFNLEdBQUcsT0FBTyxDQUFDLFFBQVEsQ0FBQyxDQUFDO1NBQzVCO1FBQUMsT0FBTyxHQUFHLEVBQUU7U0FDYjtRQUVELElBQUksTUFBTSxJQUFJLE1BQU0sQ0FBQyxZQUFZLEVBQUU7WUFDakMsd0JBQXdCLENBQUMsTUFBTSxDQUFDLFlBQVksQ0FBQyxTQUFTLENBQUMsQ0FBQztTQUN6RDtJQUNILENBQUMsQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBAbGljZW5zZVxuICogQ29weXJpZ2h0IEdvb2dsZSBJbmMuIEFsbCBSaWdodHMgUmVzZXJ2ZWQuXG4gKlxuICogVXNlIG9mIHRoaXMgc291cmNlIGNvZGUgaXMgZ292ZXJuZWQgYnkgYW4gTUlULXN0eWxlIGxpY2Vuc2UgdGhhdCBjYW4gYmVcbiAqIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUgYXQgaHR0cHM6Ly9hbmd1bGFyLmlvL2xpY2Vuc2VcbiAqL1xuXG5pbXBvcnQge3BhdGNoRXZlbnRUYXJnZXR9IGZyb20gJy4uL2NvbW1vbi9ldmVudHMnO1xuXG5ab25lLl9fbG9hZF9wYXRjaCgnRXZlbnRFbWl0dGVyJywgKGdsb2JhbDogYW55KSA9PiB7XG4gIC8vIEZvciBFdmVudEVtaXR0ZXJcbiAgY29uc3QgRUVfQUREX0xJU1RFTkVSID0gJ2FkZExpc3RlbmVyJztcbiAgY29uc3QgRUVfUFJFUEVORF9MSVNURU5FUiA9ICdwcmVwZW5kTGlzdGVuZXInO1xuICBjb25zdCBFRV9SRU1PVkVfTElTVEVORVIgPSAncmVtb3ZlTGlzdGVuZXInO1xuICBjb25zdCBFRV9SRU1PVkVfQUxMX0xJU1RFTkVSID0gJ3JlbW92ZUFsbExpc3RlbmVycyc7XG4gIGNvbnN0IEVFX0xJU1RFTkVSUyA9ICdsaXN0ZW5lcnMnO1xuICBjb25zdCBFRV9PTiA9ICdvbic7XG5cbiAgY29uc3QgY29tcGFyZVRhc2tDYWxsYmFja1ZzRGVsZWdhdGUgPSBmdW5jdGlvbih0YXNrOiBhbnksIGRlbGVnYXRlOiBhbnkpIHtcbiAgICAvLyBzYW1lIGNhbGxiYWNrLCBzYW1lIGNhcHR1cmUsIHNhbWUgZXZlbnQgbmFtZSwganVzdCByZXR1cm5cbiAgICByZXR1cm4gdGFzay5jYWxsYmFjayA9PT0gZGVsZWdhdGUgfHwgdGFzay5jYWxsYmFjay5saXN0ZW5lciA9PT0gZGVsZWdhdGU7XG4gIH07XG5cbiAgY29uc3QgZXZlbnROYW1lVG9TdHJpbmcgPSBmdW5jdGlvbihldmVudE5hbWU6IHN0cmluZ3xTeW1ib2wpIHtcbiAgICBpZiAodHlwZW9mIGV2ZW50TmFtZSA9PT0gJ3N0cmluZycpIHtcbiAgICAgIHJldHVybiBldmVudE5hbWUgYXMgc3RyaW5nO1xuICAgIH1cbiAgICBpZiAoIWV2ZW50TmFtZSkge1xuICAgICAgcmV0dXJuICcnO1xuICAgIH1cbiAgICByZXR1cm4gZXZlbnROYW1lLnRvU3RyaW5nKCkucmVwbGFjZSgnKCcsICdfJykucmVwbGFjZSgnKScsICdfJyk7XG4gIH07XG5cbiAgZnVuY3Rpb24gcGF0Y2hFdmVudEVtaXR0ZXJNZXRob2RzKG9iajogYW55KSB7XG4gICAgY29uc3QgcmVzdWx0ID0gcGF0Y2hFdmVudFRhcmdldChnbG9iYWwsIFtvYmpdLCB7XG4gICAgICB1c2VHOiBmYWxzZSxcbiAgICAgIGFkZDogRUVfQUREX0xJU1RFTkVSLFxuICAgICAgcm06IEVFX1JFTU9WRV9MSVNURU5FUixcbiAgICAgIHByZXBlbmQ6IEVFX1BSRVBFTkRfTElTVEVORVIsXG4gICAgICBybUFsbDogRUVfUkVNT1ZFX0FMTF9MSVNURU5FUixcbiAgICAgIGxpc3RlbmVyczogRUVfTElTVEVORVJTLFxuICAgICAgY2hrRHVwOiBmYWxzZSxcbiAgICAgIHJ0OiB0cnVlLFxuICAgICAgZGlmZjogY29tcGFyZVRhc2tDYWxsYmFja1ZzRGVsZWdhdGUsXG4gICAgICBldmVudE5hbWVUb1N0cmluZzogZXZlbnROYW1lVG9TdHJpbmdcbiAgICB9KTtcbiAgICBpZiAocmVzdWx0ICYmIHJlc3VsdFswXSkge1xuICAgICAgb2JqW0VFX09OXSA9IG9ialtFRV9BRERfTElTVEVORVJdO1xuICAgIH1cbiAgfVxuXG4gIC8vIEV2ZW50RW1pdHRlclxuICBsZXQgZXZlbnRzO1xuICB0cnkge1xuICAgIGV2ZW50cyA9IHJlcXVpcmUoJ2V2ZW50cycpO1xuICB9IGNhdGNoIChlcnIpIHtcbiAgfVxuXG4gIGlmIChldmVudHMgJiYgZXZlbnRzLkV2ZW50RW1pdHRlcikge1xuICAgIHBhdGNoRXZlbnRFbWl0dGVyTWV0aG9kcyhldmVudHMuRXZlbnRFbWl0dGVyLnByb3RvdHlwZSk7XG4gIH1cbn0pO1xuIl19
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXZlbnRzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvem9uZS5qcy9saWIvbm9kZS9ldmVudHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7OztHQU1HOzs7Ozs7Ozs7Ozs7SUFFSCxvREFBa0Q7SUFFbEQsSUFBSSxDQUFDLFlBQVksQ0FBQyxjQUFjLEVBQUUsVUFBQyxNQUFXO1FBQzVDLG1CQUFtQjtRQUNuQixJQUFNLGVBQWUsR0FBRyxhQUFhLENBQUM7UUFDdEMsSUFBTSxtQkFBbUIsR0FBRyxpQkFBaUIsQ0FBQztRQUM5QyxJQUFNLGtCQUFrQixHQUFHLGdCQUFnQixDQUFDO1FBQzVDLElBQU0sc0JBQXNCLEdBQUcsb0JBQW9CLENBQUM7UUFDcEQsSUFBTSxZQUFZLEdBQUcsV0FBVyxDQUFDO1FBQ2pDLElBQU0sS0FBSyxHQUFHLElBQUksQ0FBQztRQUVuQixJQUFNLDZCQUE2QixHQUFHLFVBQVMsSUFBUyxFQUFFLFFBQWE7WUFDckUsNERBQTREO1lBQzVELE9BQU8sSUFBSSxDQUFDLFFBQVEsS0FBSyxRQUFRLElBQUksSUFBSSxDQUFDLFFBQVEsQ0FBQyxRQUFRLEtBQUssUUFBUSxDQUFDO1FBQzNFLENBQUMsQ0FBQztRQUVGLElBQU0saUJBQWlCLEdBQUcsVUFBUyxTQUF3QjtZQUN6RCxJQUFJLE9BQU8sU0FBUyxLQUFLLFFBQVEsRUFBRTtnQkFDakMsT0FBTyxTQUFTLENBQUM7YUFDbEI7WUFDRCxJQUFJLENBQUMsU0FBUyxFQUFFO2dCQUNkLE9BQU8sRUFBRSxDQUFDO2FBQ1g7WUFDRCxPQUFPLFNBQVMsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxPQUFPLENBQUMsR0FBRyxFQUFFLEdBQUcsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxHQUFHLEVBQUUsR0FBRyxDQUFDLENBQUM7UUFDbEUsQ0FBQyxDQUFDO1FBRUYsU0FBUyx3QkFBd0IsQ0FBQyxHQUFRO1lBQ3hDLElBQU0sTUFBTSxHQUFHLHlCQUFnQixDQUFDLE1BQU0sRUFBRSxDQUFDLEdBQUcsQ0FBQyxFQUFFO2dCQUM3QyxJQUFJLEVBQUUsS0FBSztnQkFDWCxHQUFHLEVBQUUsZUFBZTtnQkFDcEIsRUFBRSxFQUFFLGtCQUFrQjtnQkFDdEIsT0FBTyxFQUFFLG1CQUFtQjtnQkFDNUIsS0FBSyxFQUFFLHNCQUFzQjtnQkFDN0IsU0FBUyxFQUFFLFlBQVk7Z0JBQ3ZCLE1BQU0sRUFBRSxLQUFLO2dCQUNiLEVBQUUsRUFBRSxJQUFJO2dCQUNSLElBQUksRUFBRSw2QkFBNkI7Z0JBQ25DLGlCQUFpQixFQUFFLGlCQUFpQjthQUNyQyxDQUFDLENBQUM7WUFDSCxJQUFJLE1BQU0sSUFBSSxNQUFNLENBQUMsQ0FBQyxDQUFDLEVBQUU7Z0JBQ3ZCLEdBQUcsQ0FBQyxLQUFLLENBQUMsR0FBRyxHQUFHLENBQUMsZUFBZSxDQUFDLENBQUM7YUFDbkM7UUFDSCxDQUFDO1FBRUQsZUFBZTtRQUNmLElBQUksTUFBTSxDQUFDO1FBQ1gsSUFBSTtZQUNGLE1BQU0sR0FBRyxPQUFPLENBQUMsUUFBUSxDQUFDLENBQUM7U0FDNUI7UUFBQyxPQUFPLEdBQUcsRUFBRTtTQUNiO1FBRUQsSUFBSSxNQUFNLElBQUksTUFBTSxDQUFDLFlBQVksRUFBRTtZQUNqQyx3QkFBd0IsQ0FBQyxNQUFNLENBQUMsWUFBWSxDQUFDLFNBQVMsQ0FBQyxDQUFDO1NBQ3pEO0lBQ0gsQ0FBQyxDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEBsaWNlbnNlXG4gKiBDb3B5cmlnaHQgR29vZ2xlIEluYy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC5cbiAqXG4gKiBVc2Ugb2YgdGhpcyBzb3VyY2UgY29kZSBpcyBnb3Zlcm5lZCBieSBhbiBNSVQtc3R5bGUgbGljZW5zZSB0aGF0IGNhbiBiZVxuICogZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZSBhdCBodHRwczovL2FuZ3VsYXIuaW8vbGljZW5zZVxuICovXG5cbmltcG9ydCB7cGF0Y2hFdmVudFRhcmdldH0gZnJvbSAnLi4vY29tbW9uL2V2ZW50cyc7XG5cblpvbmUuX19sb2FkX3BhdGNoKCdFdmVudEVtaXR0ZXInLCAoZ2xvYmFsOiBhbnkpID0+IHtcbiAgLy8gRm9yIEV2ZW50RW1pdHRlclxuICBjb25zdCBFRV9BRERfTElTVEVORVIgPSAnYWRkTGlzdGVuZXInO1xuICBjb25zdCBFRV9QUkVQRU5EX0xJU1RFTkVSID0gJ3ByZXBlbmRMaXN0ZW5lcic7XG4gIGNvbnN0IEVFX1JFTU9WRV9MSVNURU5FUiA9ICdyZW1vdmVMaXN0ZW5lcic7XG4gIGNvbnN0IEVFX1JFTU9WRV9BTExfTElTVEVORVIgPSAncmVtb3ZlQWxsTGlzdGVuZXJzJztcbiAgY29uc3QgRUVfTElTVEVORVJTID0gJ2xpc3RlbmVycyc7XG4gIGNvbnN0IEVFX09OID0gJ29uJztcblxuICBjb25zdCBjb21wYXJlVGFza0NhbGxiYWNrVnNEZWxlZ2F0ZSA9IGZ1bmN0aW9uKHRhc2s6IGFueSwgZGVsZWdhdGU6IGFueSkge1xuICAgIC8vIHNhbWUgY2FsbGJhY2ssIHNhbWUgY2FwdHVyZSwgc2FtZSBldmVudCBuYW1lLCBqdXN0IHJldHVyblxuICAgIHJldHVybiB0YXNrLmNhbGxiYWNrID09PSBkZWxlZ2F0ZSB8fCB0YXNrLmNhbGxiYWNrLmxpc3RlbmVyID09PSBkZWxlZ2F0ZTtcbiAgfTtcblxuICBjb25zdCBldmVudE5hbWVUb1N0cmluZyA9IGZ1bmN0aW9uKGV2ZW50TmFtZTogc3RyaW5nfFN5bWJvbCkge1xuICAgIGlmICh0eXBlb2YgZXZlbnROYW1lID09PSAnc3RyaW5nJykge1xuICAgICAgcmV0dXJuIGV2ZW50TmFtZTtcbiAgICB9XG4gICAgaWYgKCFldmVudE5hbWUpIHtcbiAgICAgIHJldHVybiAnJztcbiAgICB9XG4gICAgcmV0dXJuIGV2ZW50TmFtZS50b1N0cmluZygpLnJlcGxhY2UoJygnLCAnXycpLnJlcGxhY2UoJyknLCAnXycpO1xuICB9O1xuXG4gIGZ1bmN0aW9uIHBhdGNoRXZlbnRFbWl0dGVyTWV0aG9kcyhvYmo6IGFueSkge1xuICAgIGNvbnN0IHJlc3VsdCA9IHBhdGNoRXZlbnRUYXJnZXQoZ2xvYmFsLCBbb2JqXSwge1xuICAgICAgdXNlRzogZmFsc2UsXG4gICAgICBhZGQ6IEVFX0FERF9MSVNURU5FUixcbiAgICAgIHJtOiBFRV9SRU1PVkVfTElTVEVORVIsXG4gICAgICBwcmVwZW5kOiBFRV9QUkVQRU5EX0xJU1RFTkVSLFxuICAgICAgcm1BbGw6IEVFX1JFTU9WRV9BTExfTElTVEVORVIsXG4gICAgICBsaXN0ZW5lcnM6IEVFX0xJU1RFTkVSUyxcbiAgICAgIGNoa0R1cDogZmFsc2UsXG4gICAgICBydDogdHJ1ZSxcbiAgICAgIGRpZmY6IGNvbXBhcmVUYXNrQ2FsbGJhY2tWc0RlbGVnYXRlLFxuICAgICAgZXZlbnROYW1lVG9TdHJpbmc6IGV2ZW50TmFtZVRvU3RyaW5nXG4gICAgfSk7XG4gICAgaWYgKHJlc3VsdCAmJiByZXN1bHRbMF0pIHtcbiAgICAgIG9ialtFRV9PTl0gPSBvYmpbRUVfQUREX0xJU1RFTkVSXTtcbiAgICB9XG4gIH1cblxuICAvLyBFdmVudEVtaXR0ZXJcbiAgbGV0IGV2ZW50cztcbiAgdHJ5IHtcbiAgICBldmVudHMgPSByZXF1aXJlKCdldmVudHMnKTtcbiAgfSBjYXRjaCAoZXJyKSB7XG4gIH1cblxuICBpZiAoZXZlbnRzICYmIGV2ZW50cy5FdmVudEVtaXR0ZXIpIHtcbiAgICBwYXRjaEV2ZW50RW1pdHRlck1ldGhvZHMoZXZlbnRzLkV2ZW50RW1pdHRlci5wcm90b3R5cGUpO1xuICB9XG59KTtcbiJdfQ==

@@ -8,3 +8,3 @@ /**

*/
/// <amd-module name="angular/packages/zone.js/lib/node/fs" />
/// <amd-module name="zone.js/lib/node/fs" />
export {};

@@ -14,3 +14,3 @@ /**

else if (typeof define === "function" && define.amd) {
define("angular/packages/zone.js/lib/node/fs", ["require", "exports", "angular/packages/zone.js/lib/common/utils"], factory);
define("zone.js/lib/node/fs", ["require", "exports", "zone.js/lib/common/utils"], factory);
}

@@ -20,3 +20,3 @@ })(function (require, exports) {

Object.defineProperty(exports, "__esModule", { value: true });
var utils_1 = require("angular/packages/zone.js/lib/common/utils");
var utils_1 = require("zone.js/lib/common/utils");
Zone.__load_patch('fs', function () {

@@ -53,2 +53,2 @@ var fs;

});
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZnMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy96b25lLmpzL2xpYi9ub2RlL2ZzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7R0FNRzs7Ozs7Ozs7Ozs7O0lBRUgsbUVBQStDO0lBRS9DLElBQUksQ0FBQyxZQUFZLENBQUMsSUFBSSxFQUFFO1FBQ3RCLElBQUksRUFBTyxDQUFDO1FBQ1osSUFBSTtZQUNGLEVBQUUsR0FBRyxPQUFPLENBQUMsSUFBSSxDQUFDLENBQUM7U0FDcEI7UUFBQyxPQUFPLEdBQUcsRUFBRTtTQUNiO1FBRUQsaURBQWlEO1FBQ2pELHdDQUF3QztRQUN4QyxJQUFNLDBCQUEwQixHQUFHO1lBQ2pDLFFBQVEsRUFBRyxZQUFZLEVBQUUsT0FBTyxFQUFLLE9BQU8sRUFBSyxPQUFPLEVBQU0sUUFBUSxFQUFLLFFBQVE7WUFDbkYsUUFBUSxFQUFHLFdBQVcsRUFBRyxPQUFPLEVBQUssT0FBTyxFQUFLLFdBQVcsRUFBRSxTQUFTLEVBQUksUUFBUTtZQUNuRixRQUFRLEVBQUcsTUFBTSxFQUFRLE9BQU8sRUFBSyxPQUFPLEVBQUssU0FBUyxFQUFJLE1BQU0sRUFBTyxNQUFNO1lBQ2pGLFNBQVMsRUFBRSxVQUFVLEVBQUksVUFBVSxFQUFFLFVBQVUsRUFBRSxRQUFRLEVBQUssT0FBTyxFQUFNLE1BQU07WUFDakYsU0FBUyxFQUFFLFVBQVUsRUFBSSxRQUFRLEVBQUksUUFBUSxFQUFJLE9BQU8sRUFBTSxXQUFXO1NBQzFFLENBQUM7UUFFRixJQUFJLEVBQUUsRUFBRTtZQUNOLDBCQUEwQixDQUFDLE1BQU0sQ0FBQyxVQUFBLElBQUksSUFBSSxPQUFBLENBQUMsQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLElBQUksT0FBTyxFQUFFLENBQUMsSUFBSSxDQUFDLEtBQUssVUFBVSxFQUE1QyxDQUE0QyxDQUFDO2lCQUNsRixPQUFPLENBQUMsVUFBQSxJQUFJO2dCQUNYLHNCQUFjLENBQUMsRUFBRSxFQUFFLElBQUksRUFBRSxVQUFDLElBQVMsRUFBRSxJQUFXO29CQUM5QyxPQUFPO3dCQUNMLElBQUksRUFBRSxLQUFLLEdBQUcsSUFBSTt3QkFDbEIsSUFBSSxFQUFFLElBQUk7d0JBQ1YsS0FBSyxFQUFFLElBQUksQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO3dCQUM3QyxNQUFNLEVBQUUsSUFBSTtxQkFDYixDQUFDO2dCQUNKLENBQUMsQ0FBQyxDQUFDO1lBQ0wsQ0FBQyxDQUFDLENBQUM7U0FDUjtJQUNILENBQUMsQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBAbGljZW5zZVxuICogQ29weXJpZ2h0IEdvb2dsZSBJbmMuIEFsbCBSaWdodHMgUmVzZXJ2ZWQuXG4gKlxuICogVXNlIG9mIHRoaXMgc291cmNlIGNvZGUgaXMgZ292ZXJuZWQgYnkgYW4gTUlULXN0eWxlIGxpY2Vuc2UgdGhhdCBjYW4gYmVcbiAqIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUgYXQgaHR0cHM6Ly9hbmd1bGFyLmlvL2xpY2Vuc2VcbiAqL1xuXG5pbXBvcnQge3BhdGNoTWFjcm9UYXNrfSBmcm9tICcuLi9jb21tb24vdXRpbHMnO1xuXG5ab25lLl9fbG9hZF9wYXRjaCgnZnMnLCAoKSA9PiB7XG4gIGxldCBmczogYW55O1xuICB0cnkge1xuICAgIGZzID0gcmVxdWlyZSgnZnMnKTtcbiAgfSBjYXRjaCAoZXJyKSB7XG4gIH1cblxuICAvLyB3YXRjaCwgd2F0Y2hGaWxlLCB1bndhdGNoRmlsZSBoYXMgYmVlbiBwYXRjaGVkXG4gIC8vIGJlY2F1c2UgRXZlbnRFbWl0dGVyIGhhcyBiZWVuIHBhdGNoZWRcbiAgY29uc3QgVE9fUEFUQ0hfTUFDUk9UQVNLX01FVEhPRFMgPSBbXG4gICAgJ2FjY2VzcycsICAnYXBwZW5kRmlsZScsICdjaG1vZCcsICAgICdjaG93bicsICAgICdjbG9zZScsICAgICAnZXhpc3RzJywgICAgJ2ZjaG1vZCcsXG4gICAgJ2ZjaG93bicsICAnZmRhdGFzeW5jJywgICdmc3RhdCcsICAgICdmc3luYycsICAgICdmdHJ1bmNhdGUnLCAnZnV0aW1lcycsICAgJ2xjaG1vZCcsXG4gICAgJ2xjaG93bicsICAnbGluaycsICAgICAgICdsc3RhdCcsICAgICdta2RpcicsICAgICdta2R0ZW1wJywgICAnb3BlbicsICAgICAgJ3JlYWQnLFxuICAgICdyZWFkZGlyJywgJ3JlYWRGaWxlJywgICAncmVhZGxpbmsnLCAncmVhbHBhdGgnLCAncmVuYW1lJywgICAgJ3JtZGlyJywgICAgICdzdGF0JyxcbiAgICAnc3ltbGluaycsICd0cnVuY2F0ZScsICAgJ3VubGluaycsICAgJ3V0aW1lcycsICAgJ3dyaXRlJywgICAgICd3cml0ZUZpbGUnLFxuICBdO1xuXG4gIGlmIChmcykge1xuICAgIFRPX1BBVENIX01BQ1JPVEFTS19NRVRIT0RTLmZpbHRlcihuYW1lID0+ICEhZnNbbmFtZV0gJiYgdHlwZW9mIGZzW25hbWVdID09PSAnZnVuY3Rpb24nKVxuICAgICAgICAuZm9yRWFjaChuYW1lID0+IHtcbiAgICAgICAgICBwYXRjaE1hY3JvVGFzayhmcywgbmFtZSwgKHNlbGY6IGFueSwgYXJnczogYW55W10pID0+IHtcbiAgICAgICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICAgIG5hbWU6ICdmcy4nICsgbmFtZSxcbiAgICAgICAgICAgICAgYXJnczogYXJncyxcbiAgICAgICAgICAgICAgY2JJZHg6IGFyZ3MubGVuZ3RoID4gMCA/IGFyZ3MubGVuZ3RoIC0gMSA6IC0xLFxuICAgICAgICAgICAgICB0YXJnZXQ6IHNlbGZcbiAgICAgICAgICAgIH07XG4gICAgICAgICAgfSk7XG4gICAgICAgIH0pO1xuICB9XG59KTtcbiJdfQ==
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZnMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy96b25lLmpzL2xpYi9ub2RlL2ZzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7R0FNRzs7Ozs7Ozs7Ozs7O0lBRUgsa0RBQStDO0lBRS9DLElBQUksQ0FBQyxZQUFZLENBQUMsSUFBSSxFQUFFO1FBQ3RCLElBQUksRUFBTyxDQUFDO1FBQ1osSUFBSTtZQUNGLEVBQUUsR0FBRyxPQUFPLENBQUMsSUFBSSxDQUFDLENBQUM7U0FDcEI7UUFBQyxPQUFPLEdBQUcsRUFBRTtTQUNiO1FBRUQsaURBQWlEO1FBQ2pELHdDQUF3QztRQUN4QyxJQUFNLDBCQUEwQixHQUFHO1lBQ2pDLFFBQVEsRUFBRyxZQUFZLEVBQUUsT0FBTyxFQUFLLE9BQU8sRUFBSyxPQUFPLEVBQU0sUUFBUSxFQUFLLFFBQVE7WUFDbkYsUUFBUSxFQUFHLFdBQVcsRUFBRyxPQUFPLEVBQUssT0FBTyxFQUFLLFdBQVcsRUFBRSxTQUFTLEVBQUksUUFBUTtZQUNuRixRQUFRLEVBQUcsTUFBTSxFQUFRLE9BQU8sRUFBSyxPQUFPLEVBQUssU0FBUyxFQUFJLE1BQU0sRUFBTyxNQUFNO1lBQ2pGLFNBQVMsRUFBRSxVQUFVLEVBQUksVUFBVSxFQUFFLFVBQVUsRUFBRSxRQUFRLEVBQUssT0FBTyxFQUFNLE1BQU07WUFDakYsU0FBUyxFQUFFLFVBQVUsRUFBSSxRQUFRLEVBQUksUUFBUSxFQUFJLE9BQU8sRUFBTSxXQUFXO1NBQzFFLENBQUM7UUFFRixJQUFJLEVBQUUsRUFBRTtZQUNOLDBCQUEwQixDQUFDLE1BQU0sQ0FBQyxVQUFBLElBQUksSUFBSSxPQUFBLENBQUMsQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLElBQUksT0FBTyxFQUFFLENBQUMsSUFBSSxDQUFDLEtBQUssVUFBVSxFQUE1QyxDQUE0QyxDQUFDO2lCQUNsRixPQUFPLENBQUMsVUFBQSxJQUFJO2dCQUNYLHNCQUFjLENBQUMsRUFBRSxFQUFFLElBQUksRUFBRSxVQUFDLElBQVMsRUFBRSxJQUFXO29CQUM5QyxPQUFPO3dCQUNMLElBQUksRUFBRSxLQUFLLEdBQUcsSUFBSTt3QkFDbEIsSUFBSSxFQUFFLElBQUk7d0JBQ1YsS0FBSyxFQUFFLElBQUksQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO3dCQUM3QyxNQUFNLEVBQUUsSUFBSTtxQkFDYixDQUFDO2dCQUNKLENBQUMsQ0FBQyxDQUFDO1lBQ0wsQ0FBQyxDQUFDLENBQUM7U0FDUjtJQUNILENBQUMsQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBAbGljZW5zZVxuICogQ29weXJpZ2h0IEdvb2dsZSBJbmMuIEFsbCBSaWdodHMgUmVzZXJ2ZWQuXG4gKlxuICogVXNlIG9mIHRoaXMgc291cmNlIGNvZGUgaXMgZ292ZXJuZWQgYnkgYW4gTUlULXN0eWxlIGxpY2Vuc2UgdGhhdCBjYW4gYmVcbiAqIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUgYXQgaHR0cHM6Ly9hbmd1bGFyLmlvL2xpY2Vuc2VcbiAqL1xuXG5pbXBvcnQge3BhdGNoTWFjcm9UYXNrfSBmcm9tICcuLi9jb21tb24vdXRpbHMnO1xuXG5ab25lLl9fbG9hZF9wYXRjaCgnZnMnLCAoKSA9PiB7XG4gIGxldCBmczogYW55O1xuICB0cnkge1xuICAgIGZzID0gcmVxdWlyZSgnZnMnKTtcbiAgfSBjYXRjaCAoZXJyKSB7XG4gIH1cblxuICAvLyB3YXRjaCwgd2F0Y2hGaWxlLCB1bndhdGNoRmlsZSBoYXMgYmVlbiBwYXRjaGVkXG4gIC8vIGJlY2F1c2UgRXZlbnRFbWl0dGVyIGhhcyBiZWVuIHBhdGNoZWRcbiAgY29uc3QgVE9fUEFUQ0hfTUFDUk9UQVNLX01FVEhPRFMgPSBbXG4gICAgJ2FjY2VzcycsICAnYXBwZW5kRmlsZScsICdjaG1vZCcsICAgICdjaG93bicsICAgICdjbG9zZScsICAgICAnZXhpc3RzJywgICAgJ2ZjaG1vZCcsXG4gICAgJ2ZjaG93bicsICAnZmRhdGFzeW5jJywgICdmc3RhdCcsICAgICdmc3luYycsICAgICdmdHJ1bmNhdGUnLCAnZnV0aW1lcycsICAgJ2xjaG1vZCcsXG4gICAgJ2xjaG93bicsICAnbGluaycsICAgICAgICdsc3RhdCcsICAgICdta2RpcicsICAgICdta2R0ZW1wJywgICAnb3BlbicsICAgICAgJ3JlYWQnLFxuICAgICdyZWFkZGlyJywgJ3JlYWRGaWxlJywgICAncmVhZGxpbmsnLCAncmVhbHBhdGgnLCAncmVuYW1lJywgICAgJ3JtZGlyJywgICAgICdzdGF0JyxcbiAgICAnc3ltbGluaycsICd0cnVuY2F0ZScsICAgJ3VubGluaycsICAgJ3V0aW1lcycsICAgJ3dyaXRlJywgICAgICd3cml0ZUZpbGUnLFxuICBdO1xuXG4gIGlmIChmcykge1xuICAgIFRPX1BBVENIX01BQ1JPVEFTS19NRVRIT0RTLmZpbHRlcihuYW1lID0+ICEhZnNbbmFtZV0gJiYgdHlwZW9mIGZzW25hbWVdID09PSAnZnVuY3Rpb24nKVxuICAgICAgICAuZm9yRWFjaChuYW1lID0+IHtcbiAgICAgICAgICBwYXRjaE1hY3JvVGFzayhmcywgbmFtZSwgKHNlbGY6IGFueSwgYXJnczogYW55W10pID0+IHtcbiAgICAgICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICAgIG5hbWU6ICdmcy4nICsgbmFtZSxcbiAgICAgICAgICAgICAgYXJnczogYXJncyxcbiAgICAgICAgICAgICAgY2JJZHg6IGFyZ3MubGVuZ3RoID4gMCA/IGFyZ3MubGVuZ3RoIC0gMSA6IC0xLFxuICAgICAgICAgICAgICB0YXJnZXQ6IHNlbGZcbiAgICAgICAgICAgIH07XG4gICAgICAgICAgfSk7XG4gICAgICAgIH0pO1xuICB9XG59KTtcbiJdfQ==

@@ -8,3 +8,3 @@ /**

*/
/// <amd-module name="angular/packages/zone.js/lib/node/node_util" />
/// <amd-module name="zone.js/lib/node/node_util" />
export {};

@@ -14,3 +14,3 @@ /**

else if (typeof define === "function" && define.amd) {
define("angular/packages/zone.js/lib/node/node_util", ["require", "exports", "angular/packages/zone.js/lib/common/utils"], factory);
define("zone.js/lib/node/node_util", ["require", "exports", "zone.js/lib/common/utils"], factory);
}

@@ -20,3 +20,3 @@ })(function (require, exports) {

Object.defineProperty(exports, "__esModule", { value: true });
var utils_1 = require("angular/packages/zone.js/lib/common/utils");
var utils_1 = require("zone.js/lib/common/utils");
Zone.__load_patch('node_util', function (global, Zone, api) {

@@ -30,2 +30,2 @@ api.patchOnProperties = utils_1.patchOnProperties;

});
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibm9kZV91dGlsLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvem9uZS5qcy9saWIvbm9kZS9ub2RlX3V0aWwudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7OztHQU1HOzs7Ozs7Ozs7Ozs7SUFFSCxtRUFBNkg7SUFFN0gsSUFBSSxDQUFDLFlBQVksQ0FBQyxXQUFXLEVBQUUsVUFBQyxNQUFXLEVBQUUsSUFBYyxFQUFFLEdBQWlCO1FBQzVFLEdBQUcsQ0FBQyxpQkFBaUIsR0FBRyx5QkFBaUIsQ0FBQztRQUMxQyxHQUFHLENBQUMsV0FBVyxHQUFHLG1CQUFXLENBQUM7UUFDOUIsR0FBRyxDQUFDLGFBQWEsR0FBRyxxQkFBYSxDQUFDO1FBQ2xDLEdBQUcsQ0FBQyxjQUFjLEdBQUcsc0JBQWMsQ0FBQztRQUNwQyxxQ0FBNkIsQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUN0QyxDQUFDLENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogQGxpY2Vuc2VcbiAqIENvcHlyaWdodCBHb29nbGUgSW5jLiBBbGwgUmlnaHRzIFJlc2VydmVkLlxuICpcbiAqIFVzZSBvZiB0aGlzIHNvdXJjZSBjb2RlIGlzIGdvdmVybmVkIGJ5IGFuIE1JVC1zdHlsZSBsaWNlbnNlIHRoYXQgY2FuIGJlXG4gKiBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlIGF0IGh0dHBzOi8vYW5ndWxhci5pby9saWNlbnNlXG4gKi9cblxuaW1wb3J0IHtiaW5kQXJndW1lbnRzLCBwYXRjaE1hY3JvVGFzaywgcGF0Y2hNZXRob2QsIHBhdGNoT25Qcm9wZXJ0aWVzLCBzZXRTaG91bGRDb3B5U3ltYm9sUHJvcGVydGllc30gZnJvbSAnLi4vY29tbW9uL3V0aWxzJztcblxuWm9uZS5fX2xvYWRfcGF0Y2goJ25vZGVfdXRpbCcsIChnbG9iYWw6IGFueSwgWm9uZTogWm9uZVR5cGUsIGFwaTogX1pvbmVQcml2YXRlKSA9PiB7XG4gIGFwaS5wYXRjaE9uUHJvcGVydGllcyA9IHBhdGNoT25Qcm9wZXJ0aWVzO1xuICBhcGkucGF0Y2hNZXRob2QgPSBwYXRjaE1ldGhvZDtcbiAgYXBpLmJpbmRBcmd1bWVudHMgPSBiaW5kQXJndW1lbnRzO1xuICBhcGkucGF0Y2hNYWNyb1Rhc2sgPSBwYXRjaE1hY3JvVGFzaztcbiAgc2V0U2hvdWxkQ29weVN5bWJvbFByb3BlcnRpZXModHJ1ZSk7XG59KTtcbiJdfQ==
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibm9kZV91dGlsLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvem9uZS5qcy9saWIvbm9kZS9ub2RlX3V0aWwudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7OztHQU1HOzs7Ozs7Ozs7Ozs7SUFFSCxrREFBNkg7SUFFN0gsSUFBSSxDQUFDLFlBQVksQ0FBQyxXQUFXLEVBQUUsVUFBQyxNQUFXLEVBQUUsSUFBYyxFQUFFLEdBQWlCO1FBQzVFLEdBQUcsQ0FBQyxpQkFBaUIsR0FBRyx5QkFBaUIsQ0FBQztRQUMxQyxHQUFHLENBQUMsV0FBVyxHQUFHLG1CQUFXLENBQUM7UUFDOUIsR0FBRyxDQUFDLGFBQWEsR0FBRyxxQkFBYSxDQUFDO1FBQ2xDLEdBQUcsQ0FBQyxjQUFjLEdBQUcsc0JBQWMsQ0FBQztRQUNwQyxxQ0FBNkIsQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUN0QyxDQUFDLENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogQGxpY2Vuc2VcbiAqIENvcHlyaWdodCBHb29nbGUgSW5jLiBBbGwgUmlnaHRzIFJlc2VydmVkLlxuICpcbiAqIFVzZSBvZiB0aGlzIHNvdXJjZSBjb2RlIGlzIGdvdmVybmVkIGJ5IGFuIE1JVC1zdHlsZSBsaWNlbnNlIHRoYXQgY2FuIGJlXG4gKiBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlIGF0IGh0dHBzOi8vYW5ndWxhci5pby9saWNlbnNlXG4gKi9cblxuaW1wb3J0IHtiaW5kQXJndW1lbnRzLCBwYXRjaE1hY3JvVGFzaywgcGF0Y2hNZXRob2QsIHBhdGNoT25Qcm9wZXJ0aWVzLCBzZXRTaG91bGRDb3B5U3ltYm9sUHJvcGVydGllc30gZnJvbSAnLi4vY29tbW9uL3V0aWxzJztcblxuWm9uZS5fX2xvYWRfcGF0Y2goJ25vZGVfdXRpbCcsIChnbG9iYWw6IGFueSwgWm9uZTogWm9uZVR5cGUsIGFwaTogX1pvbmVQcml2YXRlKSA9PiB7XG4gIGFwaS5wYXRjaE9uUHJvcGVydGllcyA9IHBhdGNoT25Qcm9wZXJ0aWVzO1xuICBhcGkucGF0Y2hNZXRob2QgPSBwYXRjaE1ldGhvZDtcbiAgYXBpLmJpbmRBcmd1bWVudHMgPSBiaW5kQXJndW1lbnRzO1xuICBhcGkucGF0Y2hNYWNyb1Rhc2sgPSBwYXRjaE1hY3JvVGFzaztcbiAgc2V0U2hvdWxkQ29weVN5bWJvbFByb3BlcnRpZXModHJ1ZSk7XG59KTtcbiJdfQ==

@@ -8,5 +8,5 @@ /**

*/
/// <amd-module name="angular/packages/zone.js/lib/node/node" />
/// <amd-module name="zone.js/lib/node/node" />
import './node_util';
import './events';
import './fs';

@@ -14,3 +14,3 @@ /**

else if (typeof define === "function" && define.amd) {
define("angular/packages/zone.js/lib/node/node", ["require", "exports", "angular/packages/zone.js/lib/node/node_util", "angular/packages/zone.js/lib/node/events", "angular/packages/zone.js/lib/node/fs", "angular/packages/zone.js/lib/common/events", "angular/packages/zone.js/lib/common/timers", "angular/packages/zone.js/lib/common/utils"], factory);
define("zone.js/lib/node/node", ["require", "exports", "zone.js/lib/node/node_util", "zone.js/lib/node/events", "zone.js/lib/node/fs", "zone.js/lib/common/events", "zone.js/lib/common/timers", "zone.js/lib/common/utils"], factory);
}

@@ -20,8 +20,8 @@ })(function (require, exports) {

Object.defineProperty(exports, "__esModule", { value: true });
require("angular/packages/zone.js/lib/node/node_util");
require("angular/packages/zone.js/lib/node/events");
require("angular/packages/zone.js/lib/node/fs");
var events_1 = require("angular/packages/zone.js/lib/common/events");
var timers_1 = require("angular/packages/zone.js/lib/common/timers");
var utils_1 = require("angular/packages/zone.js/lib/common/utils");
require("zone.js/lib/node/node_util");
require("zone.js/lib/node/events");
require("zone.js/lib/node/fs");
var events_1 = require("zone.js/lib/common/events");
var timers_1 = require("zone.js/lib/common/timers");
var utils_1 = require("zone.js/lib/common/utils");
var set = 'set';

@@ -160,2 +160,2 @@ var clear = 'clear';

});
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibm9kZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL3pvbmUuanMvbGliL25vZGUvbm9kZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7O0dBTUc7Ozs7Ozs7Ozs7OztJQUVILHVEQUFxQjtJQUNyQixvREFBa0I7SUFDbEIsZ0RBQWM7SUFFZCxxRUFBZ0Q7SUFDaEQscUVBQTRDO0lBQzVDLG1FQUFrRjtJQUVsRixJQUFNLEdBQUcsR0FBRyxLQUFLLENBQUM7SUFDbEIsSUFBTSxLQUFLLEdBQUcsT0FBTyxDQUFDO0lBRXRCLElBQUksQ0FBQyxZQUFZLENBQUMsYUFBYSxFQUFFLFVBQUMsTUFBVyxFQUFFLElBQWM7UUFDM0QsU0FBUztRQUNULElBQUkseUJBQXlCLEdBQUcsS0FBSyxDQUFDO1FBQ3RDLElBQUk7WUFDRixJQUFNLE1BQU0sR0FBRyxPQUFPLENBQUMsUUFBUSxDQUFDLENBQUM7WUFDakMsSUFBSSx3QkFBd0IsR0FBRyxNQUFNLENBQUMsVUFBVSxLQUFLLE1BQU0sQ0FBQyxVQUFVLENBQUM7WUFDdkUsSUFBSSxDQUFDLHdCQUF3QixJQUFJLENBQUMsYUFBSyxFQUFFO2dCQUN2QywrREFBK0Q7Z0JBQy9ELG1FQUFtRTtnQkFDbkUsb0JBQW9CO2dCQUNwQiw2REFBNkQ7Z0JBQzdELHlEQUF5RDtnQkFDekQsSUFBTSxrQkFBZ0IsR0FBRyxNQUFNLENBQUMsVUFBVSxDQUFDO2dCQUMzQyxNQUFNLENBQUMsVUFBVSxHQUFHO29CQUNsQix5QkFBeUIsR0FBRyxJQUFJLENBQUM7b0JBQ2pDLE9BQU8sa0JBQWdCLENBQUMsS0FBSyxDQUFDLElBQUksRUFBRSxTQUFTLENBQUMsQ0FBQztnQkFDakQsQ0FBQyxDQUFDO2dCQUNGLElBQU0sYUFBYSxHQUFHLE1BQU0sQ0FBQyxVQUFVLENBQUMsY0FBTyxDQUFDLEVBQUUsR0FBRyxDQUFDLENBQUM7Z0JBQ3ZELFlBQVksQ0FBQyxhQUFh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QUFDO0lBRUgsSUFBSSxDQUFDLFlBQVksQ0FBQyxTQUFTLEVBQUUsVUFBQyxNQUFXLEVBQUUsSUFBYztRQUN2RCxJQUFNLGNBQWMsR0FDaEIsQ0FBQyxLQUFLLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxPQUFPLEVBQUUsTUFBTSxFQUFFLFFBQVEsRUFBRSxPQUFPLEVBQUUsU0FBUyxFQUFFLE9BQU8sQ0FBQyxDQUFDO1FBQ25GLGNBQWMsQ0FBQyxPQUFPLENBQUMsVUFBQyxDQUFTO1lBQy9CLElBQU0sY0FBYyxHQUFJLE9BQWUsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUksT0FBZSxDQUFDLENBQUMsQ0FBQyxDQUFDO1lBQ2xGLElBQUksY0FBYyxFQUFFO2dCQUNqQixPQUFlLENBQUMsQ0FBQyxDQUFDLEdBQUc7b0JBQ3BCLElBQU0sSUFBSSxHQUFHLGtCQUFVLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDO29CQUN4QyxJQUFJLElBQUksQ0FBQyxPQUFPLEtBQUssSUFBSSxDQUFDLElBQUksRUFBRTt3QkFDOUIsT0FBTyxjQUFjLENBQUMsS0FBSyxDQUFDLElBQUksRUFBRSxJQUFJLENBQUMsQ0FBQztxQkFDekM7eUJBQU07d0JBQ0wsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxjQUFjLEVBQUUsSUFBSSxFQUFFLElBQUksQ0FBQyxDQUFDO3FCQUNsRDtnQkFDSCxDQUFDLENBQUM7YUFDSDtRQUNILENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQyxDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEBsaWNlbnNlXG4gKiBDb3B5cmlnaHQgR29vZ2xlIEluYy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC5cbiAqXG4gKiBVc2Ugb2YgdGhpcyBzb3VyY2UgY29kZSBpcyBnb3Zlcm5lZCBieSBhbiBNSVQtc3R5bGUgbGljZW5zZSB0aGF0IGNhbiBiZVxuICogZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZSBhdCBodHRwczovL2FuZ3VsYXIuaW8vbGljZW5zZVxuICovXG5cbmltcG9ydCAnLi9ub2RlX3V0aWwnO1xuaW1wb3J0ICcuL2V2ZW50cyc7XG5pbXBvcnQgJy4vZnMnO1xuXG5pbXBvcnQge2ZpbmRFdmVudFRhc2tzfSBmcm9tICcuLi9jb21tb24vZXZlbnRzJztcbmltcG9ydCB7cGF0Y2hUaW1lcn0gZnJvbSAnLi4vY29tbW9uL3RpbWVycyc7XG5pbXBvcnQge0FycmF5U2xpY2UsIGlzTWl4LCBwYXRjaE1hY3JvVGFzaywgcGF0Y2hNaWNyb1Rhc2t9IGZyb20gJy4uL2NvbW1vbi91dGlscyc7XG5cbmNvbnN0IHNldCA9ICdzZXQnO1xuY29uc3QgY2xlYXIgPSAnY2xlYXInO1xuXG5ab25lLl9fbG9hZF9wYXRjaCgnbm9kZV90aW1lcnMnLCAoZ2xvYmFsOiBhbnksIFpvbmU6IFpvbmVUeXBlKSA9PiB7XG4gIC8vIFRpbWVyc1xuICBsZXQgZ2xvYmFsVXNlVGltZW91dEZyb21UaW1lciA9IGZhbHNlO1xuICB0cnkge1xuICAgIGNvbnN0IHRpbWVycyA9IHJlcXVpcmUoJ3RpbWVycycpO1xuICAgIGxldCBnbG9iYWxFcXVhbFRpbWVyc1RpbWVvdXQgPSBnbG9iYWwuc2V0VGltZW91dCA9PT0gdGltZXJzLnNldFRpbWVvdXQ7XG4gICAgaWYgKCFnbG9iYWxFcXVhbFRpbWVyc1RpbWVvdXQgJiYgIWlzTWl4KSB7XG4gICAgICAvLyAxLiBpZiBpc01peCwgdGhlbiB3ZSBhcmUgaW4gbWl4IGVudmlyb25tZW50IHN1Y2ggYXMgRWxlY3Ryb25cbiAgICAgIC8vIHdlIHNob3VsZCBvbmx5IHBhdGNoIHRpbWVycy5zZXRUaW1lb3V0IGJlY2F1c2UgZ2xvYmFsLnNldFRpbWVvdXRcbiAgICAgIC8vIGhhdmUgYmVlbiBwYXRjaGVkXG4gICAgICAvLyAyLiBpZiBnbG9iYWwuc2V0VGltZW91dCBub3QgZXF1YWwgdGltZXJzLnNldFRpbWVvdXQsIGNoZWNrXG4gICAgICAvLyB3aGV0aGVyIGdsb2JhbC5zZXRUaW1lb3V0IHVzZSB0aW1lcnMuc2V0VGltZW91dCBvciBub3RcbiAgICAgIGNvbnN0IG9yaWdpblNldFRpbWVvdXQgPSB0aW1lcnMuc2V0VGltZW91dDtcbiAgICAgIHRpbWVycy5zZXRUaW1lb3V0ID0gZnVuY3Rpb24oKSB7XG4gICAgICAgIGdsb2JhbFVzZVRpbWVvdXRGcm9tVGltZXIgPSB0cnVlO1xuICAgICAgICByZXR1cm4gb3JpZ2luU2V0VGltZW91dC5hcHBseSh0aGlzLCBhcmd1bWVudHMpO1xuICAgICAgfTtcbiAgICAgIGNvbnN0IGRldGVjdFRpbWVvdXQgPSBnbG9iYWwuc2V0VGltZW91dCgoKSA9PiB7fSwgMTAwKTtcbiAgICAgIGNsZWFyVGltZW91dChkZXRlY3RUaW1lb3V0KTtcbiAgICAgIHRpbWVycy5zZXRUaW1lb3V0ID0gb3JpZ2luU2V0VGltZW91dDtcbiAgICB9XG4gICAgcGF0Y2hUaW1lcih0aW1lcnMsIHNldCwgY2xlYXIsICdUaW1lb3V0Jyk7XG4gICAgcGF0Y2hUaW1lcih0aW1lcnMsIHNldCwgY2xlYXIsICdJbnRlcnZhbCcpO1xuICAgIHBhdGNoVGltZXIodGltZXJzLCBzZXQsIGNsZWFyLCAnSW1tZWRpYXRlJyk7XG4gIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgLy8gdGltZXJzIG1vZHVsZSBub3QgZXhpc3RzLCBmb3IgZXhhbXBsZSwgd2hlbiB3ZSB1c2luZyBuYXRpdmVTY3JpcHRcbiAgICAvLyB0aW1lcnMgaXMgbm90IGF2YWlsYWJsZVxuICB9XG4gIGlmIChpc01peCkge1xuICAgIC8vIGlmIHdlIGFyZSBpbiBtaXggZW52aXJvbm1lbnQsIHN1Y2ggYXMgRWxlY3Ryb24sXG4gICAgLy8gdGhlIGdsb2JhbC5zZXRUaW1lb3V0IGhhcyBhbHJlYWR5IGJlZW4gcGF0Y2hlZCxcbiAgICAvLyBzbyB3ZSBqdXN0IHBhdGNoIHRpbWVycy5zZXRUaW1lb3V0XG4gICAgcmV0dXJuO1xuICB9XG4gIGlmICghZ2xvYmFsVXNlVGltZW91dEZyb21UaW1lcikge1xuICAgIC8vIDEuIGdsb2JhbCBzZXRUaW1lb3V0IGVxdWFscyB0aW1lcnMgc2V0VGltZW91dFxuICAgIC8vIDIuIG9yIGdsb2JhbCBkb24ndCB1c2UgdGltZXJzIHNldFRpbWVvdXQobWF5YmUgc29tZSBvdGhlciBsaWJyYXJ5IHBhdGNoIHNldFRpbWVvdXQpXG4gICAgLy8gMy4gb3IgbG9hZCB0aW1lcnMgbW9kdWxlIGVycm9yIGhhcHBlbnMsIHdlIHNob3VsZCBwYXRjaCBnbG9iYWwgc2V0VGltZW91dFxuICAgIHBhdGNoVGltZXIoZ2xvYmFsLCBzZXQsIGNsZWFyLCAnVGltZW91dCcpO1xuICAgIHBhdGNoVGltZXIoZ2xvYmFsLCBzZXQsIGNsZWFyLCAnSW50ZXJ2YWwnKTtcbiAgICBwYXRjaFRpbWVyKGdsb2JhbCwgc2V0LCBjbGVhciwgJ0ltbWVkaWF0ZScpO1xuICB9IGVsc2Uge1xuICAgIC8vIGdsb2JhbCB1c2UgdGltZXJzIHNldFRpbWVvdXQsIGJ1dCBub3QgZXF1YWxzXG4gICAgLy8gdGhpcyBoYXBwZW5zIHdoZW4gdXNlIG5vZGVqcyB2MC4xMC54LCBnbG9iYWwgc2V0VGltZW91dCB3aWxsXG4gICAgLy8gdXNlIGEgbGF6eSBsb2FkIHZlcnNpb24gb2YgdGltZXJzIHNldFRpbWVvdXRcbiAgICAvLyB3ZSBzaG91bGQgbm90IGRvdWJsZSBwYXRjaCB0aW1lcidzIHNldFRpbWVvdXRcbiAgICAvLyBzbyB3ZSBvbmx5IHN0b3JlIHRoZSBfX3N5bWJvbF9fIGZvciBjb25zaXN0ZW5jeVxuICAgIGdsb2JhbFtab25lLl9fc3ltYm9sX18oJ3NldFRpbWVvdXQnKV0gPSBnbG9iYWwuc2V0VGltZW91dDtcbiAgICBnbG9iYWxbWm9uZS5fX3N5bWJvbF9fKCdzZXRJbnRlcnZhbCcpXSA9IGdsb2JhbC5zZXRJbnRlcnZhbDtcbiAgICBnbG9iYWxbWm9uZS5fX3N5bWJvbF9fKCdzZXRJbW1lZGlhdGUnKV0gPSBnbG9iYWwuc2V0SW1tZWRpYXRlO1xuICB9XG59KTtcblxuLy8gcGF0Y2ggcHJvY2VzcyByZWxhdGVkIG1ldGhvZHNcblpvbmUuX19sb2FkX3BhdGNoKCduZXh0VGljaycsICgpID0+IHtcbiAgLy8gcGF0Y2ggbmV4dFRpY2sgYXMgbWljcm9UYXNrXG4gIHBhdGNoTWljcm9UYXNrKHByb2Nlc3MsICduZXh0VGljaycsIChzZWxmOiBhbnksIGFyZ3M6IGFueVtdKSA9PiB7XG4gICAgcmV0dXJuIHtcbiAgICAgIG5hbWU6ICdwcm9jZXNzLm5leHRUaWNrJyxcbiAgICAgIGFyZ3M6IGFyZ3MsXG4gICAgICBjYklkeDogKGFyZ3MubGVuZ3RoID4gMCAmJiB0eXBlb2YgYXJnc1swXSA9PT0gJ2Z1bmN0aW9uJykgPyAwIDogLTEsXG4gICAgICB0YXJnZXQ6IHByb2Nlc3NcbiAgICB9O1xuICB9KTtcbn0pO1xuXG5ab25lLl9fbG9hZF9wYXRjaChcbiAgICAnaGFuZGxlVW5oYW5kbGVkUHJvbWlzZVJlamVjdGlvbicsIChnbG9iYWw6IGFueSwgWm9uZTogWm9uZVR5cGUsIGFwaTogX1pvbmVQcml2YXRlKSA9PiB7XG4gICAgICAoWm9uZSBhcyBhbnkpW2FwaS5zeW1ib2woJ3VuaGFuZGxlZFByb21pc2VSZWplY3Rpb25IYW5kbGVyJyldID1cbiAgICAgICAgICBmaW5kUHJvY2Vzc1Byb21pc2VSZWplY3Rpb25IYW5kbGVyKCd1bmhhbmRsZWRSZWplY3Rpb24nKTtcblxuICAgICAgKFpvbmUgYXMgYW55KVthcGkuc3ltYm9sKCdyZWplY3Rpb25IYW5kbGVkSGFuZGxlcicpXSA9XG4gICAgICAgICAgZmluZFByb2Nlc3NQcm9taXNlUmVqZWN0aW9uSGFuZGxlcigncmVqZWN0aW9uSGFuZGxlZCcpO1xuXG4gICAgICAvLyBoYW5kbGUgdW5oYW5kbGVkIHByb21pc2UgcmVqZWN0aW9uXG4gICAgICBmdW5jdGlvbiBmaW5kUHJvY2Vzc1Byb21pc2VSZWplY3Rpb25IYW5kbGVyKGV2dE5hbWU6IHN0cmluZykge1xuICAgICAgICByZXR1cm4gZnVuY3Rpb24oZTogYW55KSB7XG4gICAgICAgICAgY29uc3QgZXZlbnRUYXNrcyA9IGZpbmRFdmVudFRhc2tzKHByb2Nlc3MsIGV2dE5hbWUpO1xuICAgICAgICAgIGV2ZW50VGFza3MuZm9yRWFjaChldmVudFRhc2sgPT4ge1xuICAgICAgICAgICAgLy8gcHJvY2VzcyBoYXMgYWRkZWQgdW5oYW5kbGVkcmVqZWN0aW9uIGV2ZW50IGxpc3RlbmVyXG4gICAgICAgICAgICAvLyB0cmlnZ2VyIHRoZSBldmVudCBsaXN0ZW5lclxuICAgICAgICAgICAgaWYgKGV2dE5hbWUgPT09ICd1bmhhbmRsZWRSZWplY3Rpb24nKSB7XG4gICAgICAgICAgICAgIGV2ZW50VGFzay5pbnZva2UoZS5yZWplY3Rpb24sIGUucHJvbWlzZSk7XG4gICAgICAgICAgICB9IGVsc2UgaWYgKGV2dE5hbWUgPT09ICdyZWplY3Rpb25IYW5kbGVkJykge1xuICAgICAgICAgICAgICBldmVudFRhc2suaW52b2tlKGUucHJvbWlzZSk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfSk7XG4gICAgICAgIH07XG4gICAgICB9XG4gICAgfSk7XG5cblxuLy8gQ3J5cHRvXG5ab25lLl9fbG9hZF9wYXRjaCgnY3J5cHRvJywgKCkgPT4ge1xuICBsZXQgY3J5cHRvOiBhbnk7XG4gIHRyeSB7XG4gICAgY3J5cHRvID0gcmVxdWlyZSgnY3J5cHRvJyk7XG4gIH0gY2F0Y2ggKGVycikge1xuICB9XG5cbiAgLy8gdXNlIHRoZSBnZW5lcmljIHBhdGNoTWFjcm9UYXNrIHRvIHBhdGNoIGNyeXB0b1xuICBpZiAoY3J5cHRvKSB7XG4gICAgY29uc3QgbWV0aG9kTmFtZXMgPSBbJ3JhbmRvbUJ5dGVzJywgJ3Bia2RmMiddO1xuICAgIG1ldGhvZE5hbWVzLmZvckVhY2gobmFtZSA9PiB7XG4gICAgICBwYXRjaE1hY3JvVGFzayhjcnlwdG8sIG5hbWUsIChzZWxmOiBhbnksIGFyZ3M6IGFueVtdKSA9PiB7XG4gICAgICAgIHJldHVybiB7XG4gICAgICAgICAgbmFtZTogJ2NyeXB0by4nICsgbmFtZSxcbiAgICAgICAgICBhcmdzOiBhcmdzLFxuICAgICAgICAgIGNiSWR4OiAoYXJncy5sZW5ndGggPiAwICYmIHR5cGVvZiBhcmdzW2FyZ3MubGVuZ3RoIC0gMV0gPT09ICdmdW5jdGlvbicpID9cbiAgICAgICAgICAgICAgYXJncy5sZW5ndGggLSAxIDpcbiAgICAgICAgICAgICAgLTEsXG4gICAgICAgICAgdGFyZ2V0OiBjcnlwdG9cbiAgICAgICAgfTtcbiAgICAgIH0pO1xuICAgIH0pO1xuICB9XG59KTtcblxuWm9uZS5fX2xvYWRfcGF0Y2goJ2NvbnNvbGUnLCAoZ2xvYmFsOiBhbnksIFpvbmU6IFpvbmVUeXBlKSA9PiB7XG4gIGNvbnN0IGNvbnNvbGVNZXRob2RzID1cbiAgICAgIFsnZGlyJywgJ2xvZycsICdpbmZvJywgJ2Vycm9yJywgJ3dhcm4nLCAnYXNzZXJ0JywgJ2RlYnVnJywgJ3RpbWVFbmQnLCAndHJhY2UnXTtcbiAgY29uc29sZU1ldGhvZHMuZm9yRWFjaCgobTogc3RyaW5nKSA9PiB7XG4gICAgY29uc3Qgb3JpZ2luYWxNZXRob2QgPSAoY29uc29sZSBhcyBhbnkpW1pvbmUuX19zeW1ib2xfXyhtKV0gPSAoY29uc29sZSBhcyBhbnkpW21dO1xuICAgIGlmIChvcmlnaW5hbE1ldGhvZCkge1xuICAgICAgKGNvbnNvbGUgYXMgYW55KVttXSA9IGZ1bmN0aW9uKCkge1xuICAgICAgICBjb25zdCBhcmdzID0gQXJyYXlTbGljZS5jYWxsKGFyZ3VtZW50cyk7XG4gICAgICAgIGlmIChab25lLmN1cnJlbnQgPT09IFpvbmUucm9vdCkge1xuICAgICAgICAgIHJldHVybiBvcmlnaW5hbE1ldGhvZC5hcHBseSh0aGlzLCBhcmdzKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICByZXR1cm4gWm9uZS5yb290LnJ1bihvcmlnaW5hbE1ldGhvZCwgdGhpcywgYXJncyk7XG4gICAgICAgIH1cbiAgICAgIH07XG4gICAgfVxuICB9KTtcbn0pO1xuIl19
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibm9kZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL3pvbmUuanMvbGliL25vZGUvbm9kZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7O0dBTUc7Ozs7Ozs7Ozs7OztJQUVILHNDQUFxQjtJQUNyQixtQ0FBa0I7SUFDbEIsK0JBQWM7SUFFZCxvREFBZ0Q7SUFDaEQsb0RBQTRDO0lBQzVDLGtEQUFrRjtJQUVsRixJQUFNLEdBQUcsR0FBRyxLQUFLLENBQUM7SUFDbEIsSUFBTSxLQUFLLEdBQUcsT0FBTyxDQUFDO0lBRXRCLElBQUksQ0FBQyxZQUFZLENBQUMsYUFBYSxFQUFFLFVBQUMsTUFBVyxFQUFFLElBQWM7UUFDM0QsU0FBUztRQUNULElBQUkseUJBQXlCLEdBQUcsS0FBSyxDQUFDO1FBQ3RDLElBQUk7WUFDRixJQUFNLE1BQU0sR0FBRyxPQUFPLENBQUMsUUFBUSxDQUFDLENBQUM7WUFDakMsSUFBSSx3QkFBd0IsR0FBRyxNQUFNLENBQUMsVUFBVSxLQUFLLE1BQU0sQ0FBQyxVQUFVLENBQUM7WUFDdkUsSUFBSSxDQUFDLHdCQUF3QixJQUFJLENBQUMsYUFBSyxFQUFFO2dCQUN2QywrREFBK0Q7Z0JBQy9ELG1FQUFtRTtnQkFDbkUsb0JBQW9CO2dCQUNwQiw2REFBNkQ7Z0JBQzdELHlEQUF5RDtnQkFDekQsSUFBTSxrQkFBZ0IsR0FBRyxNQUFNLENBQUMsVUFBVSxDQUFDO2dCQUMzQyxNQUFNLENBQUMsVUFBVSxHQUFHO29CQUNsQix5QkFBeUIsR0FBRyxJQUFJLENBQUM7b0JBQ2pDLE9BQU8sa0JBQWdCLENBQUMsS0FBSyxDQUFDLElBQUksRUFBRSxTQUFTLENBQUMsQ0FBQztnQkFDakQsQ0FBQyxDQUFDO2dCQUNGLElBQU0sYUFBYSxHQUFHLE1BQU0sQ0FBQyxVQUFVLENBQUMsY0FBTyxDQUFDLEVBQUUsR0FBRyxDQUFDLENBQUM7Z0JBQ3ZELFlBQVksQ0FBQyxhQUFh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QUFDO0lBRUgsSUFBSSxDQUFDLFlBQVksQ0FBQyxTQUFTLEVBQUUsVUFBQyxNQUFXLEVBQUUsSUFBYztRQUN2RCxJQUFNLGNBQWMsR0FDaEIsQ0FBQyxLQUFLLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxPQUFPLEVBQUUsTUFBTSxFQUFFLFFBQVEsRUFBRSxPQUFPLEVBQUUsU0FBUyxFQUFFLE9BQU8sQ0FBQyxDQUFDO1FBQ25GLGNBQWMsQ0FBQyxPQUFPLENBQUMsVUFBQyxDQUFTO1lBQy9CLElBQU0sY0FBYyxHQUFJLE9BQWUsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUksT0FBZSxDQUFDLENBQUMsQ0FBQyxDQUFDO1lBQ2xGLElBQUksY0FBYyxFQUFFO2dCQUNqQixPQUFlLENBQUMsQ0FBQyxDQUFDLEdBQUc7b0JBQ3BCLElBQU0sSUFBSSxHQUFHLGtCQUFVLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDO29CQUN4QyxJQUFJLElBQUksQ0FBQyxPQUFPLEtBQUssSUFBSSxDQUFDLElBQUksRUFBRTt3QkFDOUIsT0FBTyxjQUFjLENBQUMsS0FBSyxDQUFDLElBQUksRUFBRSxJQUFJLENBQUMsQ0FBQztxQkFDekM7eUJBQU07d0JBQ0wsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxjQUFjLEVBQUUsSUFBSSxFQUFFLElBQUksQ0FBQyxDQUFDO3FCQUNsRDtnQkFDSCxDQUFDLENBQUM7YUFDSDtRQUNILENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQyxDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEBsaWNlbnNlXG4gKiBDb3B5cmlnaHQgR29vZ2xlIEluYy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC5cbiAqXG4gKiBVc2Ugb2YgdGhpcyBzb3VyY2UgY29kZSBpcyBnb3Zlcm5lZCBieSBhbiBNSVQtc3R5bGUgbGljZW5zZSB0aGF0IGNhbiBiZVxuICogZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZSBhdCBodHRwczovL2FuZ3VsYXIuaW8vbGljZW5zZVxuICovXG5cbmltcG9ydCAnLi9ub2RlX3V0aWwnO1xuaW1wb3J0ICcuL2V2ZW50cyc7XG5pbXBvcnQgJy4vZnMnO1xuXG5pbXBvcnQge2ZpbmRFdmVudFRhc2tzfSBmcm9tICcuLi9jb21tb24vZXZlbnRzJztcbmltcG9ydCB7cGF0Y2hUaW1lcn0gZnJvbSAnLi4vY29tbW9uL3RpbWVycyc7XG5pbXBvcnQge0FycmF5U2xpY2UsIGlzTWl4LCBwYXRjaE1hY3JvVGFzaywgcGF0Y2hNaWNyb1Rhc2t9IGZyb20gJy4uL2NvbW1vbi91dGlscyc7XG5cbmNvbnN0IHNldCA9ICdzZXQnO1xuY29uc3QgY2xlYXIgPSAnY2xlYXInO1xuXG5ab25lLl9fbG9hZF9wYXRjaCgnbm9kZV90aW1lcnMnLCAoZ2xvYmFsOiBhbnksIFpvbmU6IFpvbmVUeXBlKSA9PiB7XG4gIC8vIFRpbWVyc1xuICBsZXQgZ2xvYmFsVXNlVGltZW91dEZyb21UaW1lciA9IGZhbHNlO1xuICB0cnkge1xuICAgIGNvbnN0IHRpbWVycyA9IHJlcXVpcmUoJ3RpbWVycycpO1xuICAgIGxldCBnbG9iYWxFcXVhbFRpbWVyc1RpbWVvdXQgPSBnbG9iYWwuc2V0VGltZW91dCA9PT0gdGltZXJzLnNldFRpbWVvdXQ7XG4gICAgaWYgKCFnbG9iYWxFcXVhbFRpbWVyc1RpbWVvdXQgJiYgIWlzTWl4KSB7XG4gICAgICAvLyAxLiBpZiBpc01peCwgdGhlbiB3ZSBhcmUgaW4gbWl4IGVudmlyb25tZW50IHN1Y2ggYXMgRWxlY3Ryb25cbiAgICAgIC8vIHdlIHNob3VsZCBvbmx5IHBhdGNoIHRpbWVycy5zZXRUaW1lb3V0IGJlY2F1c2UgZ2xvYmFsLnNldFRpbWVvdXRcbiAgICAgIC8vIGhhdmUgYmVlbiBwYXRjaGVkXG4gICAgICAvLyAyLiBpZiBnbG9iYWwuc2V0VGltZW91dCBub3QgZXF1YWwgdGltZXJzLnNldFRpbWVvdXQsIGNoZWNrXG4gICAgICAvLyB3aGV0aGVyIGdsb2JhbC5zZXRUaW1lb3V0IHVzZSB0aW1lcnMuc2V0VGltZW91dCBvciBub3RcbiAgICAgIGNvbnN0IG9yaWdpblNldFRpbWVvdXQgPSB0aW1lcnMuc2V0VGltZW91dDtcbiAgICAgIHRpbWVycy5zZXRUaW1lb3V0ID0gZnVuY3Rpb24oKSB7XG4gICAgICAgIGdsb2JhbFVzZVRpbWVvdXRGcm9tVGltZXIgPSB0cnVlO1xuICAgICAgICByZXR1cm4gb3JpZ2luU2V0VGltZW91dC5hcHBseSh0aGlzLCBhcmd1bWVudHMpO1xuICAgICAgfTtcbiAgICAgIGNvbnN0IGRldGVjdFRpbWVvdXQgPSBnbG9iYWwuc2V0VGltZW91dCgoKSA9PiB7fSwgMTAwKTtcbiAgICAgIGNsZWFyVGltZW91dChkZXRlY3RUaW1lb3V0KTtcbiAgICAgIHRpbWVycy5zZXRUaW1lb3V0ID0gb3JpZ2luU2V0VGltZW91dDtcbiAgICB9XG4gICAgcGF0Y2hUaW1lcih0aW1lcnMsIHNldCwgY2xlYXIsICdUaW1lb3V0Jyk7XG4gICAgcGF0Y2hUaW1lcih0aW1lcnMsIHNldCwgY2xlYXIsICdJbnRlcnZhbCcpO1xuICAgIHBhdGNoVGltZXIodGltZXJzLCBzZXQsIGNsZWFyLCAnSW1tZWRpYXRlJyk7XG4gIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgLy8gdGltZXJzIG1vZHVsZSBub3QgZXhpc3RzLCBmb3IgZXhhbXBsZSwgd2hlbiB3ZSB1c2luZyBuYXRpdmVTY3JpcHRcbiAgICAvLyB0aW1lcnMgaXMgbm90IGF2YWlsYWJsZVxuICB9XG4gIGlmIChpc01peCkge1xuICAgIC8vIGlmIHdlIGFyZSBpbiBtaXggZW52aXJvbm1lbnQsIHN1Y2ggYXMgRWxlY3Ryb24sXG4gICAgLy8gdGhlIGdsb2JhbC5zZXRUaW1lb3V0IGhhcyBhbHJlYWR5IGJlZW4gcGF0Y2hlZCxcbiAgICAvLyBzbyB3ZSBqdXN0IHBhdGNoIHRpbWVycy5zZXRUaW1lb3V0XG4gICAgcmV0dXJuO1xuICB9XG4gIGlmICghZ2xvYmFsVXNlVGltZW91dEZyb21UaW1lcikge1xuICAgIC8vIDEuIGdsb2JhbCBzZXRUaW1lb3V0IGVxdWFscyB0aW1lcnMgc2V0VGltZW91dFxuICAgIC8vIDIuIG9yIGdsb2JhbCBkb24ndCB1c2UgdGltZXJzIHNldFRpbWVvdXQobWF5YmUgc29tZSBvdGhlciBsaWJyYXJ5IHBhdGNoIHNldFRpbWVvdXQpXG4gICAgLy8gMy4gb3IgbG9hZCB0aW1lcnMgbW9kdWxlIGVycm9yIGhhcHBlbnMsIHdlIHNob3VsZCBwYXRjaCBnbG9iYWwgc2V0VGltZW91dFxuICAgIHBhdGNoVGltZXIoZ2xvYmFsLCBzZXQsIGNsZWFyLCAnVGltZW91dCcpO1xuICAgIHBhdGNoVGltZXIoZ2xvYmFsLCBzZXQsIGNsZWFyLCAnSW50ZXJ2YWwnKTtcbiAgICBwYXRjaFRpbWVyKGdsb2JhbCwgc2V0LCBjbGVhciwgJ0ltbWVkaWF0ZScpO1xuICB9IGVsc2Uge1xuICAgIC8vIGdsb2JhbCB1c2UgdGltZXJzIHNldFRpbWVvdXQsIGJ1dCBub3QgZXF1YWxzXG4gICAgLy8gdGhpcyBoYXBwZW5zIHdoZW4gdXNlIG5vZGVqcyB2MC4xMC54LCBnbG9iYWwgc2V0VGltZW91dCB3aWxsXG4gICAgLy8gdXNlIGEgbGF6eSBsb2FkIHZlcnNpb24gb2YgdGltZXJzIHNldFRpbWVvdXRcbiAgICAvLyB3ZSBzaG91bGQgbm90IGRvdWJsZSBwYXRjaCB0aW1lcidzIHNldFRpbWVvdXRcbiAgICAvLyBzbyB3ZSBvbmx5IHN0b3JlIHRoZSBfX3N5bWJvbF9fIGZvciBjb25zaXN0ZW5jeVxuICAgIGdsb2JhbFtab25lLl9fc3ltYm9sX18oJ3NldFRpbWVvdXQnKV0gPSBnbG9iYWwuc2V0VGltZW91dDtcbiAgICBnbG9iYWxbWm9uZS5fX3N5bWJvbF9fKCdzZXRJbnRlcnZhbCcpXSA9IGdsb2JhbC5zZXRJbnRlcnZhbDtcbiAgICBnbG9iYWxbWm9uZS5fX3N5bWJvbF9fKCdzZXRJbW1lZGlhdGUnKV0gPSBnbG9iYWwuc2V0SW1tZWRpYXRlO1xuICB9XG59KTtcblxuLy8gcGF0Y2ggcHJvY2VzcyByZWxhdGVkIG1ldGhvZHNcblpvbmUuX19sb2FkX3BhdGNoKCduZXh0VGljaycsICgpID0+IHtcbiAgLy8gcGF0Y2ggbmV4dFRpY2sgYXMgbWljcm9UYXNrXG4gIHBhdGNoTWljcm9UYXNrKHByb2Nlc3MsICduZXh0VGljaycsIChzZWxmOiBhbnksIGFyZ3M6IGFueVtdKSA9PiB7XG4gICAgcmV0dXJuIHtcbiAgICAgIG5hbWU6ICdwcm9jZXNzLm5leHRUaWNrJyxcbiAgICAgIGFyZ3M6IGFyZ3MsXG4gICAgICBjYklkeDogKGFyZ3MubGVuZ3RoID4gMCAmJiB0eXBlb2YgYXJnc1swXSA9PT0gJ2Z1bmN0aW9uJykgPyAwIDogLTEsXG4gICAgICB0YXJnZXQ6IHByb2Nlc3NcbiAgICB9O1xuICB9KTtcbn0pO1xuXG5ab25lLl9fbG9hZF9wYXRjaChcbiAgICAnaGFuZGxlVW5oYW5kbGVkUHJvbWlzZVJlamVjdGlvbicsIChnbG9iYWw6IGFueSwgWm9uZTogWm9uZVR5cGUsIGFwaTogX1pvbmVQcml2YXRlKSA9PiB7XG4gICAgICAoWm9uZSBhcyBhbnkpW2FwaS5zeW1ib2woJ3VuaGFuZGxlZFByb21pc2VSZWplY3Rpb25IYW5kbGVyJyldID1cbiAgICAgICAgICBmaW5kUHJvY2Vzc1Byb21pc2VSZWplY3Rpb25IYW5kbGVyKCd1bmhhbmRsZWRSZWplY3Rpb24nKTtcblxuICAgICAgKFpvbmUgYXMgYW55KVthcGkuc3ltYm9sKCdyZWplY3Rpb25IYW5kbGVkSGFuZGxlcicpXSA9XG4gICAgICAgICAgZmluZFByb2Nlc3NQcm9taXNlUmVqZWN0aW9uSGFuZGxlcigncmVqZWN0aW9uSGFuZGxlZCcpO1xuXG4gICAgICAvLyBoYW5kbGUgdW5oYW5kbGVkIHByb21pc2UgcmVqZWN0aW9uXG4gICAgICBmdW5jdGlvbiBmaW5kUHJvY2Vzc1Byb21pc2VSZWplY3Rpb25IYW5kbGVyKGV2dE5hbWU6IHN0cmluZykge1xuICAgICAgICByZXR1cm4gZnVuY3Rpb24oZTogYW55KSB7XG4gICAgICAgICAgY29uc3QgZXZlbnRUYXNrcyA9IGZpbmRFdmVudFRhc2tzKHByb2Nlc3MsIGV2dE5hbWUpO1xuICAgICAgICAgIGV2ZW50VGFza3MuZm9yRWFjaChldmVudFRhc2sgPT4ge1xuICAgICAgICAgICAgLy8gcHJvY2VzcyBoYXMgYWRkZWQgdW5oYW5kbGVkcmVqZWN0aW9uIGV2ZW50IGxpc3RlbmVyXG4gICAgICAgICAgICAvLyB0cmlnZ2VyIHRoZSBldmVudCBsaXN0ZW5lclxuICAgICAgICAgICAgaWYgKGV2dE5hbWUgPT09ICd1bmhhbmRsZWRSZWplY3Rpb24nKSB7XG4gICAgICAgICAgICAgIGV2ZW50VGFzay5pbnZva2UoZS5yZWplY3Rpb24sIGUucHJvbWlzZSk7XG4gICAgICAgICAgICB9IGVsc2UgaWYgKGV2dE5hbWUgPT09ICdyZWplY3Rpb25IYW5kbGVkJykge1xuICAgICAgICAgICAgICBldmVudFRhc2suaW52b2tlKGUucHJvbWlzZSk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfSk7XG4gICAgICAgIH07XG4gICAgICB9XG4gICAgfSk7XG5cblxuLy8gQ3J5cHRvXG5ab25lLl9fbG9hZF9wYXRjaCgnY3J5cHRvJywgKCkgPT4ge1xuICBsZXQgY3J5cHRvOiBhbnk7XG4gIHRyeSB7XG4gICAgY3J5cHRvID0gcmVxdWlyZSgnY3J5cHRvJyk7XG4gIH0gY2F0Y2ggKGVycikge1xuICB9XG5cbiAgLy8gdXNlIHRoZSBnZW5lcmljIHBhdGNoTWFjcm9UYXNrIHRvIHBhdGNoIGNyeXB0b1xuICBpZiAoY3J5cHRvKSB7XG4gICAgY29uc3QgbWV0aG9kTmFtZXMgPSBbJ3JhbmRvbUJ5dGVzJywgJ3Bia2RmMiddO1xuICAgIG1ldGhvZE5hbWVzLmZvckVhY2gobmFtZSA9PiB7XG4gICAgICBwYXRjaE1hY3JvVGFzayhjcnlwdG8sIG5hbWUsIChzZWxmOiBhbnksIGFyZ3M6IGFueVtdKSA9PiB7XG4gICAgICAgIHJldHVybiB7XG4gICAgICAgICAgbmFtZTogJ2NyeXB0by4nICsgbmFtZSxcbiAgICAgICAgICBhcmdzOiBhcmdzLFxuICAgICAgICAgIGNiSWR4OiAoYXJncy5sZW5ndGggPiAwICYmIHR5cGVvZiBhcmdzW2FyZ3MubGVuZ3RoIC0gMV0gPT09ICdmdW5jdGlvbicpID9cbiAgICAgICAgICAgICAgYXJncy5sZW5ndGggLSAxIDpcbiAgICAgICAgICAgICAgLTEsXG4gICAgICAgICAgdGFyZ2V0OiBjcnlwdG9cbiAgICAgICAgfTtcbiAgICAgIH0pO1xuICAgIH0pO1xuICB9XG59KTtcblxuWm9uZS5fX2xvYWRfcGF0Y2goJ2NvbnNvbGUnLCAoZ2xvYmFsOiBhbnksIFpvbmU6IFpvbmVUeXBlKSA9PiB7XG4gIGNvbnN0IGNvbnNvbGVNZXRob2RzID1cbiAgICAgIFsnZGlyJywgJ2xvZycsICdpbmZvJywgJ2Vycm9yJywgJ3dhcm4nLCAnYXNzZXJ0JywgJ2RlYnVnJywgJ3RpbWVFbmQnLCAndHJhY2UnXTtcbiAgY29uc29sZU1ldGhvZHMuZm9yRWFjaCgobTogc3RyaW5nKSA9PiB7XG4gICAgY29uc3Qgb3JpZ2luYWxNZXRob2QgPSAoY29uc29sZSBhcyBhbnkpW1pvbmUuX19zeW1ib2xfXyhtKV0gPSAoY29uc29sZSBhcyBhbnkpW21dO1xuICAgIGlmIChvcmlnaW5hbE1ldGhvZCkge1xuICAgICAgKGNvbnNvbGUgYXMgYW55KVttXSA9IGZ1bmN0aW9uKCkge1xuICAgICAgICBjb25zdCBhcmdzID0gQXJyYXlTbGljZS5jYWxsKGFyZ3VtZW50cyk7XG4gICAgICAgIGlmIChab25lLmN1cnJlbnQgPT09IFpvbmUucm9vdCkge1xuICAgICAgICAgIHJldHVybiBvcmlnaW5hbE1ldGhvZC5hcHBseSh0aGlzLCBhcmdzKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICByZXR1cm4gWm9uZS5yb290LnJ1bihvcmlnaW5hbE1ldGhvZCwgdGhpcywgYXJncyk7XG4gICAgICAgIH1cbiAgICAgIH07XG4gICAgfVxuICB9KTtcbn0pO1xuIl19

@@ -8,3 +8,3 @@ /**

*/
/// <amd-module name="angular/packages/zone.js/lib/node/rollup-main" />
/// <amd-module name="zone.js/lib/node/rollup-main" />
import '../zone';

@@ -11,0 +11,0 @@ import '../common/promise';

@@ -14,3 +14,3 @@ /**

else if (typeof define === "function" && define.amd) {
define("angular/packages/zone.js/lib/node/rollup-main", ["require", "exports", "../zone", "../common/promise", "angular/packages/zone.js/lib/common/to-string", "angular/packages/zone.js/lib/node/node"], factory);
define("zone.js/lib/node/rollup-main", ["require", "exports", "../zone", "../common/promise", "zone.js/lib/common/to-string", "zone.js/lib/node/node"], factory);
}

@@ -22,5 +22,5 @@ })(function (require, exports) {

require("../common/promise");
require("angular/packages/zone.js/lib/common/to-string");
require("angular/packages/zone.js/lib/node/node");
require("zone.js/lib/common/to-string");
require("zone.js/lib/node/node");
});
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicm9sbHVwLW1haW4uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy96b25lLmpzL2xpYi9ub2RlL3JvbGx1cC1tYWluLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7R0FNRzs7Ozs7Ozs7Ozs7O0lBRUgsbUJBQWlCO0lBQ2pCLDZCQUEyQjtJQUMzQix5REFBNkI7SUFDN0Isa0RBQWdCIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBAbGljZW5zZVxuICogQ29weXJpZ2h0IEdvb2dsZSBJbmMuIEFsbCBSaWdodHMgUmVzZXJ2ZWQuXG4gKlxuICogVXNlIG9mIHRoaXMgc291cmNlIGNvZGUgaXMgZ292ZXJuZWQgYnkgYW4gTUlULXN0eWxlIGxpY2Vuc2UgdGhhdCBjYW4gYmVcbiAqIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUgYXQgaHR0cHM6Ly9hbmd1bGFyLmlvL2xpY2Vuc2VcbiAqL1xuXG5pbXBvcnQgJy4uL3pvbmUnO1xuaW1wb3J0ICcuLi9jb21tb24vcHJvbWlzZSc7XG5pbXBvcnQgJy4uL2NvbW1vbi90by1zdHJpbmcnO1xuaW1wb3J0ICcuL25vZGUnOyJdfQ==
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicm9sbHVwLW1haW4uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy96b25lLmpzL2xpYi9ub2RlL3JvbGx1cC1tYWluLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7R0FNRzs7Ozs7Ozs7Ozs7O0lBRUgsbUJBQWlCO0lBQ2pCLDZCQUEyQjtJQUMzQix3Q0FBNkI7SUFDN0IsaUNBQWdCIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBAbGljZW5zZVxuICogQ29weXJpZ2h0IEdvb2dsZSBJbmMuIEFsbCBSaWdodHMgUmVzZXJ2ZWQuXG4gKlxuICogVXNlIG9mIHRoaXMgc291cmNlIGNvZGUgaXMgZ292ZXJuZWQgYnkgYW4gTUlULXN0eWxlIGxpY2Vuc2UgdGhhdCBjYW4gYmVcbiAqIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUgYXQgaHR0cHM6Ly9hbmd1bGFyLmlvL2xpY2Vuc2VcbiAqL1xuXG5pbXBvcnQgJy4uL3pvbmUnO1xuaW1wb3J0ICcuLi9jb21tb24vcHJvbWlzZSc7XG5pbXBvcnQgJy4uL2NvbW1vbi90by1zdHJpbmcnO1xuaW1wb3J0ICcuL25vZGUnOyJdfQ==

@@ -8,4 +8,4 @@ /**

*/
/// <amd-module name="angular/packages/zone.js/lib/node/rollup-test-main" />
/// <amd-module name="zone.js/lib/node/rollup-test-main" />
import './rollup-main';
import '../testing/zone-testing';

@@ -14,3 +14,3 @@ /**

else if (typeof define === "function" && define.amd) {
define("angular/packages/zone.js/lib/node/rollup-test-main", ["require", "exports", "angular/packages/zone.js/lib/node/rollup-main", "angular/packages/zone.js/lib/testing/zone-testing"], factory);
define("zone.js/lib/node/rollup-test-main", ["require", "exports", "zone.js/lib/node/rollup-main", "zone.js/lib/testing/zone-testing"], factory);
}

@@ -20,6 +20,6 @@ })(function (require, exports) {

Object.defineProperty(exports, "__esModule", { value: true });
require("angular/packages/zone.js/lib/node/rollup-main");
require("zone.js/lib/node/rollup-main");
// load test related files into bundle
require("angular/packages/zone.js/lib/testing/zone-testing");
require("zone.js/lib/testing/zone-testing");
});
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicm9sbHVwLXRlc3QtbWFpbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL3pvbmUuanMvbGliL25vZGUvcm9sbHVwLXRlc3QtbWFpbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7O0dBTUc7Ozs7Ozs7Ozs7OztJQUVILHlEQUF1QjtJQUV2QixzQ0FBc0M7SUFDdEMsNkRBQWlDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBAbGljZW5zZVxuICogQ29weXJpZ2h0IEdvb2dsZSBJbmMuIEFsbCBSaWdodHMgUmVzZXJ2ZWQuXG4gKlxuICogVXNlIG9mIHRoaXMgc291cmNlIGNvZGUgaXMgZ292ZXJuZWQgYnkgYW4gTUlULXN0eWxlIGxpY2Vuc2UgdGhhdCBjYW4gYmVcbiAqIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUgYXQgaHR0cHM6Ly9hbmd1bGFyLmlvL2xpY2Vuc2VcbiAqL1xuXG5pbXBvcnQgJy4vcm9sbHVwLW1haW4nO1xuXG4vLyBsb2FkIHRlc3QgcmVsYXRlZCBmaWxlcyBpbnRvIGJ1bmRsZVxuaW1wb3J0ICcuLi90ZXN0aW5nL3pvbmUtdGVzdGluZyc7XG4iXX0=
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicm9sbHVwLXRlc3QtbWFpbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL3pvbmUuanMvbGliL25vZGUvcm9sbHVwLXRlc3QtbWFpbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7O0dBTUc7Ozs7Ozs7Ozs7OztJQUVILHdDQUF1QjtJQUV2QixzQ0FBc0M7SUFDdEMsNENBQWlDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBAbGljZW5zZVxuICogQ29weXJpZ2h0IEdvb2dsZSBJbmMuIEFsbCBSaWdodHMgUmVzZXJ2ZWQuXG4gKlxuICogVXNlIG9mIHRoaXMgc291cmNlIGNvZGUgaXMgZ292ZXJuZWQgYnkgYW4gTUlULXN0eWxlIGxpY2Vuc2UgdGhhdCBjYW4gYmVcbiAqIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUgYXQgaHR0cHM6Ly9hbmd1bGFyLmlvL2xpY2Vuc2VcbiAqL1xuXG5pbXBvcnQgJy4vcm9sbHVwLW1haW4nO1xuXG4vLyBsb2FkIHRlc3QgcmVsYXRlZCBmaWxlcyBpbnRvIGJ1bmRsZVxuaW1wb3J0ICcuLi90ZXN0aW5nL3pvbmUtdGVzdGluZyc7XG4iXX0=

@@ -8,3 +8,3 @@ /**

*/
/// <amd-module name="angular/packages/zone.js/lib/rxjs/rxjs-fake-async" />
/// <amd-module name="zone.js/lib/rxjs/rxjs-fake-async" />
export {};

@@ -14,3 +14,3 @@ /**

else if (typeof define === "function" && define.amd) {
define("angular/packages/zone.js/lib/rxjs/rxjs-fake-async", ["require", "exports", "rxjs"], factory);
define("zone.js/lib/rxjs/rxjs-fake-async", ["require", "exports", "rxjs"], factory);
}

@@ -17,0 +17,0 @@ })(function (require, exports) {

@@ -8,3 +8,3 @@ /**

*/
/// <amd-module name="angular/packages/zone.js/lib/rxjs/rxjs" />
/// <amd-module name="zone.js/lib/rxjs/rxjs" />
export {};

@@ -14,3 +14,3 @@ /**

else if (typeof define === "function" && define.amd) {
define("angular/packages/zone.js/lib/rxjs/rxjs", ["require", "exports", "rxjs"], factory);
define("zone.js/lib/rxjs/rxjs", ["require", "exports", "rxjs"], factory);
}

@@ -57,18 +57,27 @@ })(function (require, exports) {

this._zone = Zone.current;
this._zoneSubscribe = function () {
if (this._zone && this._zone !== Zone.current) {
var tearDown_1 = this._zone.run(subscribe, this, arguments);
if (tearDown_1 && typeof tearDown_1 === 'function') {
var zone_1 = this._zone;
return function () {
if (zone_1 !== Zone.current) {
return zone_1.run(tearDown_1, this, arguments);
}
return tearDown_1.apply(this, arguments);
};
if (!subscribe) {
this._zoneSubscribe = subscribe;
}
else {
this._zoneSubscribe = function () {
if (this._zone && this._zone !== Zone.current) {
var tearDown_1 = this._zone.run(subscribe, this, arguments);
if (typeof tearDown_1 === 'function') {
var zone_1 = this._zone;
return function () {
if (zone_1 !== Zone.current) {
return zone_1.run(tearDown_1, this, arguments);
}
return tearDown_1.apply(this, arguments);
};
}
else {
return tearDown_1;
}
}
return tearDown_1;
}
return subscribe.apply(this, arguments);
};
else {
return subscribe.apply(this, arguments);
}
};
}
}

@@ -117,8 +126,15 @@ },

this._zone = Zone.current;
this._zoneUnsubscribe = function () {
if (this._zone && this._zone !== Zone.current) {
return this._zone.run(unsubscribe, this, arguments);
}
return unsubscribe.apply(this, arguments);
};
if (!unsubscribe) {
this._zoneUnsubscribe = unsubscribe;
}
else {
this._zoneUnsubscribe = function () {
if (this._zone && this._zone !== Zone.current) {
return this._zone.run(unsubscribe, this, arguments);
}
else {
return unsubscribe.apply(this, arguments);
}
};
}
}

@@ -184,2 +200,2 @@ }

});
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicnhqcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL3pvbmUuanMvbGliL3J4anMvcnhqcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7O0dBTUc7Ozs7Ozs7Ozs7OztJQUVILDZCQUEwRDtJQU16RCxJQUFZLENBQUMsWUFBWSxDQUFDLE1BQU0sRUFBRSxVQUFDLE1BQVcsRUFBRSxJQUFjLEVBQUUsR0FBaUI7UUFDaEYsSUFBTSxNQUFNLEdBQXNDLElBQVksQ0FBQyxVQUFVLENBQUM7UUFDMUUsSUFBTSxVQUFVLEdBQUcsc0JBQXNCLENBQUM7UUFDMUMsSUFBTSxXQUFXLEdBQUcsdUJBQXVCLENBQUM7UUFDNUMsSUFBTSxjQUFjLEdBQUcsMEJBQTBCLENBQUM7UUFFbEQsSUFBTSxzQkFBc0IsR0FBRyxNQUFNLENBQUMsZ0JBQWdCLENBQUM7UUFFdkQsSUFBTSxlQUFlLEdBQUc7WUFDdEIsSUFBTSxtQkFBbUIsR0FBUSxpQkFBVSxDQUFDLFNBQVMsQ0FBQztZQUN0RCxJQUFNLGdCQUFnQixHQUFHLE1BQU0sQ0FBQyxZQUFZLENBQUMsQ0FBQztZQUM5QyxJQUFNLFVBQVUsR0FBRyxtQkFBbUIsQ0FBQyxnQkFBZ0IsQ0FBQyxHQUFHLG1CQUFtQixDQUFDLFVBQVUsQ0FBQztZQUUxRixzQkFBc0IsQ0FBQyxpQkFBVSxDQUFDLFNBQVMsRUFBRTtnQkFDM0MsS0FBSyxFQUFFLEVBQUMsS0FBSyxFQUFFLElBQUksRUFBRSxRQUFRLEVBQUUsSUFBSSxFQUFFLFlBQVksRUFBRSxJQUFJLEVBQUM7Z0JBQ3hELFdBQVcsRUFBRSxFQUFDLEtBQUssRUFBRSxJQUFJLEVBQUUsUUFBUSxFQUFFLElBQUksRUFBRSxZQUFZLEVBQUUsSUFBSSxFQUFDO2dCQUM5RCxjQUFjLEVBQUUsRUFBQyxLQUFLLEVBQUUsSUFBSSxFQUFFLFFBQVEsRUFBRSxJQUFJLEVBQUUsWUFBWSxFQUFFLElBQUksRUFBQztn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Z0JBQWdCLEtBQUssV0FBVyxFQUFFO29CQUN4RCxPQUFPLGdCQUFnQixDQUFDLEdBQUcsQ0FBQyxRQUFRLEVBQUUsSUFBSSxFQUFFLFNBQWdCLEVBQUUsY0FBYyxDQUFDLENBQUM7aUJBQy9FO3FCQUFNO29CQUNMLE9BQU8sUUFBUSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztpQkFDNUI7WUFDSCxDQUFDLENBQUM7UUFDSixDQUFDLENBQUM7UUFFRixlQUFlLEVBQUUsQ0FBQztRQUNsQixpQkFBaUIsRUFBRSxDQUFDO1FBQ3BCLGVBQWUsRUFBRSxDQUFDO0lBQ3BCLENBQUMsQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBAbGljZW5zZVxuICogQ29weXJpZ2h0IEdvb2dsZSBJbmMuIEFsbCBSaWdodHMgUmVzZXJ2ZWQuXG4gKlxuICogVXNlIG9mIHRoaXMgc291cmNlIGNvZGUgaXMgZ292ZXJuZWQgYnkgYW4gTUlULXN0eWxlIGxpY2Vuc2UgdGhhdCBjYW4gYmVcbiAqIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUgYXQgaHR0cHM6Ly9hbmd1bGFyLmlvL2xpY2Vuc2VcbiAqL1xuXG5pbXBvcnQge09ic2VydmFibGUsIFN1YnNjcmliZXIsIFN1YnNjcmlwdGlvbn0gZnJvbSAncnhqcyc7XG5cbnR5cGUgWm9uZVN1YnNjcmliZXJDb250ZXh0ID0ge1xuICBfem9uZTogWm9uZVxufSAmIFN1YnNjcmliZXI8YW55PjtcblxuKFpvbmUgYXMgYW55KS5fX2xvYWRfcGF0Y2goJ3J4anMnLCAoZ2xvYmFsOiBhbnksIFpvbmU6IFpvbmVUeXBlLCBhcGk6IF9ab25lUHJpdmF0ZSkgPT4ge1xuICBjb25zdCBzeW1ib2w6IChzeW1ib2xTdHJpbmc6IHN0cmluZykgPT4gc3RyaW5nID0gKFpvbmUgYXMgYW55KS5fX3N5bWJvbF9fO1xuICBjb25zdCBuZXh0U291cmNlID0gJ3J4anMuU3Vic2NyaWJlci5uZXh0JztcbiAgY29uc3QgZXJyb3JTb3VyY2UgPSAncnhqcy5TdWJzY3JpYmVyLmVycm9yJztcbiAgY29uc3QgY29tcGxldGVTb3VyY2UgPSAncnhqcy5TdWJzY3JpYmVyLmNvbXBsZXRlJztcblxuICBjb25zdCBPYmplY3REZWZpbmVQcm9wZXJ0aWVzID0gT2JqZWN0LmRlZmluZVByb3BlcnRpZXM7XG5cbiAgY29uc3QgcGF0Y2hPYnNlcnZhYmxlID0gZnVuY3Rpb24oKSB7XG4gICAgY29uc3QgT2JzZXJ2YWJsZVByb3RvdHlwZTogYW55ID0gT2JzZXJ2YWJsZS5wcm90b3R5cGU7XG4gICAgY29uc3QgX3N5bWJvbFN1YnNjcmliZSA9IHN5bWJvbCgnX3N1YnNjcmliZScpO1xuICAgIGNvbnN0IF9zdWJzY3JpYmUgPSBPYnNlcnZhYmxlUHJvdG90eXBlW19zeW1ib2xTdWJzY3JpYmVdID0gT2JzZXJ2YWJsZVByb3RvdHlwZS5fc3Vic2NyaWJlO1xuXG4gICAgT2JqZWN0RGVmaW5lUHJvcGVydGllcyhPYnNlcnZhYmxlLnByb3RvdHlwZSwge1xuICAgICAgX3pvbmU6IHt2YWx1ZTogbnVsbCwgd3JpdGFibGU6IHRydWUsIGNvbmZpZ3VyYWJsZTogdHJ1ZX0sXG4gICAgICBfem9uZVNvdXJjZToge3ZhbHVlOiBudWxsLCB3cml0YWJsZTogdHJ1ZSwgY29uZmlndXJhYmxlOiB0cnVlfSxcbiAgICAgIF96b25lU3Vic2NyaWJlOiB7dmFsdWU6IG51bGwsIHdyaXRhYmxlOiB0cnVlLCBjb25maWd1cmFibGU6IHRydWV9LFxuICAgICAgc291cmNlOiB7XG4gICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZSxcbiAgICAgICAgZ2V0OiBmdW5jdGlvbih0aGlzOiBPYnNlcnZhYmxlPGFueT4pIHsgcmV0dXJuICh0aGlzIGFzIGFueSkuX3pvbmVTb3VyY2U7IH0sXG4gICAgICAgIHNldDogZnVuY3Rpb24odGhpczogT2JzZXJ2YWJsZTxhbnk+LCBzb3VyY2U6IGFueSkge1xuICAgICAgICAgICh0aGlzIGFzIGFueSkuX3pvbmUgPSBab25lLmN1cnJlbnQ7XG4gICAgICAgICAgKHRoaXMgYXMgYW55KS5fem9uZVNvdXJjZSA9IHNvdXJjZTtcbiAgICAgICAgfVxuICAgICAgfSxcbiAgICAgIF9zdWJzY3JpYmU6IHtcbiAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlLFxuICAgICAgICBnZXQ6IGZ1bmN0aW9uKHRoaXM6IE9ic2VydmFibGU8YW55Pikge1xuICAgICAgICAgIGlmICgodGhpcyBhcyBhbnkpLl96b25lU3Vic2NyaWJlKSB7XG4gICAgICAgICAgICByZXR1cm4gKHRoaXMgYXMgYW55KS5fem9uZVN1YnNjcmliZTtcbiAgICAgICAgICB9IGVsc2UgaWYgKHRoaXMuY29uc3RydWN0b3IgPT09IE9ic2VydmFibGUpIHtcbiAgICAgICAgICAgIHJldHVybiBfc3Vic2NyaWJlO1xuICAgICAgICAgIH1cbiAgICAgICAgICBjb25zdCBwcm90byA9IE9iamVjdC5nZXRQcm90b3R5cGVPZih0aGlzKTtcbiAgICAgICAgICByZXR1cm4gcHJvdG8gJiYgcHJvdG8uX3N1YnNjcmliZTtcbiAgICAgICAgfSxcbiAgICAgICAgc2V0OiBmdW5jdGlvbih0aGlzOiBPYnNlcnZhYmxlPGFueT4sIHN1YnNjcmliZTogYW55KSB7XG4gICAgICAgICAgKHRoaXMgYXMgYW55KS5fem9uZSA9IFpvbmUuY3VycmVudDtcbiAgICAgICAgICAodGhpcyBhcyBhbnkpLl96b25lU3Vic2NyaWJlID0gZnVuY3Rpb24odGhpczogWm9uZVN1YnNjcmliZXJDb250ZXh0KSB7XG4gICAgICAgICAgICBpZiAodGhpcy5fem9uZSAmJiB0aGlzLl96b25lICE9PSBab25lLmN1cnJlbnQpIHtcbiAgICAgICAgICAgICAgY29uc3QgdGVhckRvd24gPSB0aGlzLl96b25lLnJ1bihzdWJzY3JpYmUsIHRoaXMsIGFyZ3VtZW50cyBhcyBhbnkpO1xuICAgICAgICAgICAgICBpZiAodGVhckRvd24gJiYgdHlwZW9mIHRlYXJEb3duID09PSAnZnVuY3Rpb24nKSB7XG4gICAgICAgICAgICAgICAgY29uc3Qgem9uZSA9IHRoaXMuX3pvbmU7XG4gICAgICAgICAgICAgICAgcmV0dXJuIGZ1bmN0aW9uKHRoaXM6IFpvbmVTdWJzY3JpYmVyQ29udGV4dCkge1xuICAgICAgICAgICAgICAgICAgaWYgKHpvbmUgIT09IFpvbmUuY3VycmVudCkge1xuICAgICAgICAgICAgICAgICAgICByZXR1cm4gem9uZS5ydW4odGVhckRvd24sIHRoaXMsIGFyZ3VtZW50cyBhcyBhbnkpO1xuICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgcmV0dXJuIHRlYXJEb3duLmFwcGx5KHRoaXMsIGFyZ3VtZW50cyk7XG4gICAgICAgICAgICAgICAgfTtcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICByZXR1cm4gdGVhckRvd247XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICByZXR1cm4gc3Vic2NyaWJlLmFwcGx5KHRoaXMsIGFyZ3VtZW50cyk7XG4gICAgICAgICAgfTtcbiAgICAgICAgfVxuICAgICAgfSxcbiAgICAgIHN1YmplY3RGYWN0b3J5OiB7XG4gICAgICAgIGdldDogZnVuY3Rpb24oKSB7IHJldHVybiAodGhpcyBhcyBhbnkpLl96b25lU3ViamVjdEZhY3Rvcnk7IH0sXG4gICAgICAgIHNldDogZnVuY3Rpb24oZmFjdG9yeTogYW55KSB7XG4gICAgICAgICAgY29uc3Qgem9uZSA9IHRoaXMuX3pvbmU7XG4gICAgICAgICAgdGhpcy5fem9uZVN1YmplY3RGYWN0b3J5ID0gZnVuY3Rpb24oKSB7XG4gICAgICAgICAgICBpZiAoem9uZSAmJiB6b25lICE9PSBab25lLmN1cnJlbnQpIHtcbiAgICAgICAgICAgICAgcmV0dXJuIHpvbmUucnVuKGZhY3RvcnksIHRoaXMsIGFyZ3VtZW50cyk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICByZXR1cm4gZmFjdG9yeS5hcHBseSh0aGlzLCBhcmd1bWVudHMpO1xuICAgICAgICAgIH07XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9KTtcbiAgfTtcblxuICBhcGkucGF0Y2hNZXRob2QoT2JzZXJ2YWJsZS5wcm90b3R5cGUsICdsaWZ0JywgKGRlbGVnYXRlOiBhbnkpID0+IChzZWxmOiBhbnksIGFyZ3M6IGFueVtdKSA9PiB7XG4gICAgY29uc3Qgb2JzZXJ2YWJsZTogYW55ID0gZGVsZWdhdGUuYXBwbHkoc2VsZiwgYXJncyk7XG4gICAgaWYgKG9ic2VydmFibGUub3BlcmF0b3IpIHtcbiAgICAgIG9ic2VydmFibGUub3BlcmF0b3IuX3pvbmUgPSBab25lLmN1cnJlbnQ7XG4gICAgICBhcGkucGF0Y2hNZXRob2QoXG4gICAgICAgICAgb2JzZXJ2YWJsZS5vcGVyYXRvciwgJ2NhbGwnLFxuICAgICAgICAgIChvcGVyYXRvckRlbGVnYXRlOiBhbnkpID0+IChvcGVyYXRvclNlbGY6IGFueSwgb3BlcmF0b3JBcmdzOiBhbnlbXSkgPT4ge1xuICAgICAgICAgICAgaWYgKG9wZXJhdG9yU2VsZi5fem9uZSAmJiBvcGVyYXRvclNlbGYuX3pvbmUgIT09IFpvbmUuY3VycmVudCkge1xuICAgICAgICAgICAgICByZXR1cm4gb3BlcmF0b3JTZWxmLl96b25lLnJ1bihvcGVyYXRvckRlbGVnYXRlLCBvcGVyYXRvclNlbGYsIG9wZXJhdG9yQXJncyk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICByZXR1cm4gb3BlcmF0b3JEZWxlZ2F0ZS5hcHBseShvcGVyYXRvclNlbGYsIG9wZXJhdG9yQXJncyk7XG4gICAgICAgICAgfSk7XG4gICAgfVxuICAgIHJldHVybiBvYnNlcnZhYmxlO1xuICB9KTtcblxuICBjb25zdCBwYXRjaFN1YnNjcmlwdGlvbiA9IGZ1bmN0aW9uKCkge1xuICAgIE9iamVjdERlZmluZVByb3BlcnRpZXMoU3Vic2NyaXB0aW9uLnByb3RvdHlwZSwge1xuICAgICAgX3pvbmU6IHt2YWx1ZTogbnVsbCwgd3JpdGFibGU6IHRydWUsIGNvbmZpZ3VyYWJsZTogdHJ1ZX0sXG4gICAgICBfem9uZVVuc3Vic2NyaWJlOiB7dmFsdWU6IG51bGwsIHdyaXRhYmxlOiB0cnVlLCBjb25maWd1cmFibGU6IHRydWV9LFxuICAgICAgX3Vuc3Vic2NyaWJlOiB7XG4gICAgICAgIGdldDogZnVuY3Rpb24odGhpczogU3Vic2NyaXB0aW9uKSB7XG4gICAgICAgICAgaWYgKCh0aGlzIGFzIGFueSkuX3pvbmVVbnN1YnNjcmliZSkge1xuICAgICAgICAgICAgcmV0dXJuICh0aGlzIGFzIGFueSkuX3pvbmVVbnN1YnNjcmliZTtcbiAgICAgICAgICB9XG4gICAgICAgICAgY29uc3QgcHJvdG8gPSBPYmplY3QuZ2V0UHJvdG90eXBlT2YodGhpcyk7XG4gICAgICAgICAgcmV0dXJuIHByb3RvICYmIHByb3RvLl91bnN1YnNjcmliZTtcbiAgICAgICAgfSxcbiAgICAgICAgc2V0OiBmdW5jdGlvbih0aGlzOiBTdWJzY3JpcHRpb24sIHVuc3Vic2NyaWJlOiBhbnkpIHtcbiAgICAgICAgICAodGhpcyBhcyBhbnkpLl96b25lID0gWm9uZS5jdXJyZW50O1xuICAgICAgICAgICh0aGlzIGFzIGFueSkuX3pvbmVVbnN1YnNjcmliZSA9IGZ1bmN0aW9uKCkge1xuICAgICAgICAgICAgaWYgKHRoaXMuX3pvbmUgJiYgdGhpcy5fem9uZSAhPT0gWm9uZS5jdXJyZW50KSB7XG4gICAgICAgICAgICAgIHJldHVybiB0aGlzLl96b25lLnJ1bih1bnN1YnNjcmliZSwgdGhpcywgYXJndW1lbnRzKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHJldHVybiB1bnN1YnNjcmliZS5hcHBseSh0aGlzLCBhcmd1bWVudHMpO1xuICAgICAgICAgIH07XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9KTtcbiAgfTtcblxuICBjb25zdCBwYXRjaFN1YnNjcmliZXIgPSBmdW5jdGlvbigpIHtcbiAgICBjb25zdCBuZXh0ID0gU3Vic2NyaWJlci5wcm90b3R5cGUubmV4dDtcbiAgICBjb25zdCBlcnJvciA9IFN1YnNjcmliZXIucHJvdG90eXBlLmVycm9yO1xuICAgIGNvbnN0IGNvbXBsZXRlID0gU3Vic2NyaWJlci5wcm90b3R5cGUuY29tcGxldGU7XG5cbiAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoU3Vic2NyaWJlci5wcm90b3R5cGUsICdkZXN0aW5hdGlvbicsIHtcbiAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZSxcbiAgICAgIGdldDogZnVuY3Rpb24odGhpczogU3Vic2NyaWJlcjxhbnk+KSB7IHJldHVybiAodGhpcyBhcyBhbnkpLl96b25lRGVzdGluYXRpb247IH0sXG4gICAgICBzZXQ6IGZ1bmN0aW9uKHRoaXM6IFN1YnNjcmliZXI8YW55PiwgZGVzdGluYXRpb246IGFueSkge1xuICAgICAgICAodGhpcyBhcyBhbnkpLl96b25lID0gWm9uZS5jdXJyZW50O1xuICAgICAgICAodGhpcyBhcyBhbnkpLl96b25lRGVzdGluYXRpb24gPSBkZXN0aW5hdGlvbjtcbiAgICAgIH1cbiAgICB9KTtcblxuICAgIC8vIHBhdGNoIFN1YnNjcmliZXIubmV4dCB0byBtYWtlIHN1cmUgaXQgcnVuXG4gICAgLy8gaW50byBTdWJzY3JpcHRpb25ab25lXG4gICAgU3Vic2NyaWJlci5wcm90b3R5cGUubmV4dCA9IGZ1bmN0aW9uKHRoaXM6IFpvbmVTdWJzY3JpYmVyQ29udGV4dCkge1xuICAgICAgY29uc3QgY3VycmVudFpvbmUgPSBab25lLmN1cnJlbnQ7XG4gICAgICBjb25zdCBzdWJzY3JpcHRpb25ab25lID0gdGhpcy5fem9uZTtcblxuICAgICAgLy8gZm9yIHBlcmZvcm1hbmNlIGNvbmNlcm4sIGNoZWNrIFpvbmUuY3VycmVudFxuICAgICAgLy8gZXF1YWwgd2l0aCB0aGlzLl96b25lKFN1YnNjcmlwdGlvblpvbmUpIG9yIG5vdFxuICAgICAgaWYgKHN1YnNjcmlwdGlvblpvbmUgJiYgc3Vic2NyaXB0aW9uWm9uZSAhPT0gY3VycmVudFpvbmUpIHtcbiAgICAgICAgcmV0dXJuIHN1YnNjcmlwdGlvblpvbmUucnVuKG5leHQsIHRoaXMsIGFyZ3VtZW50cyBhcyBhbnksIG5leHRTb3VyY2UpO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgcmV0dXJuIG5leHQuYXBwbHkodGhpcywgYXJndW1lbnRzIGFzIGFueSk7XG4gICAgICB9XG4gICAgfTtcblxuICAgIFN1YnNjcmliZXIucHJvdG90eXBlLmVycm9yID0gZnVuY3Rpb24odGhpczogWm9uZVN1YnNjcmliZXJDb250ZXh0KSB7XG4gICAgICBjb25zdCBjdXJyZW50Wm9uZSA9IFpvbmUuY3VycmVudDtcbiAgICAgIGNvbnN0IHN1YnNjcmlwdGlvblpvbmUgPSB0aGlzLl96b25lO1xuXG4gICAgICAvLyBmb3IgcGVyZm9ybWFuY2UgY29uY2VybiwgY2hlY2sgWm9uZS5jdXJyZW50XG4gICAgICAvLyBlcXVhbCB3aXRoIHRoaXMuX3pvbmUoU3Vic2NyaXB0aW9uWm9uZSkgb3Igbm90XG4gICAgICBpZiAoc3Vic2NyaXB0aW9uWm9uZSAmJiBzdWJzY3JpcHRpb25ab25lICE9PSBjdXJyZW50Wm9uZSkge1xuICAgICAgICByZXR1cm4gc3Vic2NyaXB0aW9uWm9uZS5ydW4oZXJyb3IsIHRoaXMsIGFyZ3VtZW50cyBhcyBhbnksIGVycm9yU291cmNlKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHJldHVybiBlcnJvci5hcHBseSh0aGlzLCBhcmd1bWVudHMgYXMgYW55KTtcbiAgICAgIH1cbiAgICB9O1xuXG4gICAgU3Vic2NyaWJlci5wcm90b3R5cGUuY29tcGxldGUgPSBmdW5jdGlvbih0aGlzOiBab25lU3Vic2NyaWJlckNvbnRleHQpIHtcbiAgICAgIGNvbnN0IGN1cnJlbnRab25lID0gWm9uZS5jdXJyZW50O1xuICAgICAgY29uc3Qgc3Vic2NyaXB0aW9uWm9uZSA9IHRoaXMuX3pvbmU7XG5cbiAgICAgIC8vIGZvciBwZXJmb3JtYW5jZSBjb25jZXJuLCBjaGVjayBab25lLmN1cnJlbnRcbiAgICAgIC8vIGVxdWFsIHdpdGggdGhpcy5fem9uZShTdWJzY3JpcHRpb25ab25lKSBvciBub3RcbiAgICAgIGlmIChzdWJzY3JpcHRpb25ab25lICYmIHN1YnNjcmlwdGlvblpvbmUgIT09IGN1cnJlbnRab25lKSB7XG4gICAgICAgIHJldHVybiBzdWJzY3JpcHRpb25ab25lLnJ1bihjb21wbGV0ZSwgdGhpcywgYXJndW1lbnRzIGFzIGFueSwgY29tcGxldGVTb3VyY2UpO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgcmV0dXJuIGNvbXBsZXRlLmNhbGwodGhpcyk7XG4gICAgICB9XG4gICAgfTtcbiAgfTtcblxuICBwYXRjaE9ic2VydmFibGUoKTtcbiAgcGF0Y2hTdWJzY3JpcHRpb24oKTtcbiAgcGF0Y2hTdWJzY3JpYmVyKCk7XG59KTtcbiJdfQ==
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicnhqcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL3pvbmUuanMvbGliL3J4anMvcnhqcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7O0dBTUc7Ozs7Ozs7Ozs7OztJQUVILDZCQUEwRDtJQU16RCxJQUFZLENBQUMsWUFBWSxDQUFDLE1BQU0sRUFBRSxVQUFDLE1BQVcsRUFBRSxJQUFjLEVBQUUsR0FBaUI7UUFDaEYsSUFBTSxNQUFNLEdBQXNDLElBQVksQ0FBQyxVQUFVLENBQUM7UUFDMUUsSUFBTSxVQUFVLEdBQUcsc0JBQXNCLENBQUM7UUFDMUMsSUFBTSxXQUFXLEdBQUcsdUJBQXVCLENBQUM7UUFDNUMsSUFBTSxjQUFjLEdBQUcsMEJBQTBCLENBQUM7UUFFbEQsSUFBTSxzQkFBc0IsR0FBRyxNQUFNLENBQUMsZ0JBQWdCLENBQUM7UUFFdkQsSUFBTSxlQUFlLEdBQUc7WUFDdEIsSUFBTSxtQkFBbUIsR0FBUSxpQkFBVSxDQUFDLFNBQVMsQ0FBQztZQUN0RCxJQUFNLGdCQUFnQixHQUFHLE1BQU0sQ0FBQyxZQUFZLENBQUMsQ0FBQztZQUM5QyxJQUFNLFVBQVUsR0FBRyxtQkFBbUIsQ0FBQyxnQkFBZ0IsQ0FBQyxHQUFHLG1CQUFtQixDQUFDLFVBQVUsQ0FBQztZQUUxRixzQkFBc0IsQ0FBQyxpQkFBVSxDQUFDLFNBQVMsRUFBRTtnQkFDM0MsS0FBSyxFQUFFLEVBQUMsS0FBSyxFQUFFLElBQUksRUFBRSxRQUFRLEVBQUUsSUFBSSxFQUFFLFlBQVksRUFBRSxJQUFJLEVBQUM7Z0JBQ3hELFdBQVcsRUFBRSxFQUFDLEtBQUssRUFBRSxJQUFJLEVBQUUsUUFBUSxFQUFFLElBQUksRUFBRSxZQUFZLEVBQUUsSUFBSSxFQUFDO2dCQUM5RCxjQUFjLEVBQUUsRUFBQyxLQUFLLEVBQUUsSUFBSSxFQUFFLFFBQVEsRUFBRSxJQUFJLEVBQUUsWUFBWSxFQUFFLElBQUksRUFBQztn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O1lBQ0gsQ0FBQyxDQUFDO1lBRUYsaUJBQVUsQ0FBQyxTQUFTLENBQUMsUUFBUSxHQUFHO2dCQUM5QixJQUFNLFdBQVcsR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDO2dCQUNqQyxJQUFNLGdCQUFnQixHQUFHLElBQUksQ0FBQyxLQUFLLENBQUM7Z0JBRXBDLDhDQUE4QztnQkFDOUMsaURBQWlEO2dCQUNqRCxJQUFJLGdCQUFnQixJQUFJLGdCQUFnQixLQUFLLFdBQVcsRUFBRTtvQkFDeEQsT0FBTyxnQkFBZ0IsQ0FBQyxHQUFHLENBQUMsUUFBUSxFQUFFLElBQUksRUFBRSxTQUFnQixFQUFFLGNBQWMsQ0FBQyxDQUFDO2lCQUMvRTtxQkFBTTtvQkFDTCxPQUFPLFFBQVEsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7aUJBQzVCO1lBQ0gsQ0FBQyxDQUFDO1FBQ0osQ0FBQyxDQUFDO1FBRUYsZUFBZSxFQUFFLENBQUM7UUFDbEIsaUJBQWlCLEVBQUUsQ0FBQztRQUNwQixlQUFlLEVBQUUsQ0FBQztJQUNwQixDQUFDLENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogQGxpY2Vuc2VcbiAqIENvcHlyaWdodCBHb29nbGUgSW5jLiBBbGwgUmlnaHRzIFJlc2VydmVkLlxuICpcbiAqIFVzZSBvZiB0aGlzIHNvdXJjZSBjb2RlIGlzIGdvdmVybmVkIGJ5IGFuIE1JVC1zdHlsZSBsaWNlbnNlIHRoYXQgY2FuIGJlXG4gKiBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlIGF0IGh0dHBzOi8vYW5ndWxhci5pby9saWNlbnNlXG4gKi9cblxuaW1wb3J0IHtPYnNlcnZhYmxlLCBTdWJzY3JpYmVyLCBTdWJzY3JpcHRpb259IGZyb20gJ3J4anMnO1xuXG50eXBlIFpvbmVTdWJzY3JpYmVyQ29udGV4dCA9IHtcbiAgX3pvbmU6IFpvbmVcbn0gJiBTdWJzY3JpYmVyPGFueT47XG5cbihab25lIGFzIGFueSkuX19sb2FkX3BhdGNoKCdyeGpzJywgKGdsb2JhbDogYW55LCBab25lOiBab25lVHlwZSwgYXBpOiBfWm9uZVByaXZhdGUpID0+IHtcbiAgY29uc3Qgc3ltYm9sOiAoc3ltYm9sU3RyaW5nOiBzdHJpbmcpID0+IHN0cmluZyA9IChab25lIGFzIGFueSkuX19zeW1ib2xfXztcbiAgY29uc3QgbmV4dFNvdXJjZSA9ICdyeGpzLlN1YnNjcmliZXIubmV4dCc7XG4gIGNvbnN0IGVycm9yU291cmNlID0gJ3J4anMuU3Vic2NyaWJlci5lcnJvcic7XG4gIGNvbnN0IGNvbXBsZXRlU291cmNlID0gJ3J4anMuU3Vic2NyaWJlci5jb21wbGV0ZSc7XG5cbiAgY29uc3QgT2JqZWN0RGVmaW5lUHJvcGVydGllcyA9IE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzO1xuXG4gIGNvbnN0IHBhdGNoT2JzZXJ2YWJsZSA9IGZ1bmN0aW9uKCkge1xuICAgIGNvbnN0IE9ic2VydmFibGVQcm90b3R5cGU6IGFueSA9IE9ic2VydmFibGUucHJvdG90eXBlO1xuICAgIGNvbnN0IF9zeW1ib2xTdWJzY3JpYmUgPSBzeW1ib2woJ19zdWJzY3JpYmUnKTtcbiAgICBjb25zdCBfc3Vic2NyaWJlID0gT2JzZXJ2YWJsZVByb3RvdHlwZVtfc3ltYm9sU3Vic2NyaWJlXSA9IE9ic2VydmFibGVQcm90b3R5cGUuX3N1YnNjcmliZTtcblxuICAgIE9iamVjdERlZmluZVByb3BlcnRpZXMoT2JzZXJ2YWJsZS5wcm90b3R5cGUsIHtcbiAgICAgIF96b25lOiB7dmFsdWU6IG51bGwsIHdyaXRhYmxlOiB0cnVlLCBjb25maWd1cmFibGU6IHRydWV9LFxuICAgICAgX3pvbmVTb3VyY2U6IHt2YWx1ZTogbnVsbCwgd3JpdGFibGU6IHRydWUsIGNvbmZpZ3VyYWJsZTogdHJ1ZX0sXG4gICAgICBfem9uZVN1YnNjcmliZToge3ZhbHVlOiBudWxsLCB3cml0YWJsZTogdHJ1ZSwgY29uZmlndXJhYmxlOiB0cnVlfSxcbiAgICAgIHNvdXJjZToge1xuICAgICAgICBjb25maWd1cmFibGU6IHRydWUsXG4gICAgICAgIGdldDogZnVuY3Rpb24odGhpczogT2JzZXJ2YWJsZTxhbnk+KSB7IHJldHVybiAodGhpcyBhcyBhbnkpLl96b25lU291cmNlOyB9LFxuICAgICAgICBzZXQ6IGZ1bmN0aW9uKHRoaXM6IE9ic2VydmFibGU8YW55Piwgc291cmNlOiBhbnkpIHtcbiAgICAgICAgICAodGhpcyBhcyBhbnkpLl96b25lID0gWm9uZS5jdXJyZW50O1xuICAgICAgICAgICh0aGlzIGFzIGFueSkuX3pvbmVTb3VyY2UgPSBzb3VyY2U7XG4gICAgICAgIH1cbiAgICAgIH0sXG4gICAgICBfc3Vic2NyaWJlOiB7XG4gICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZSxcbiAgICAgICAgZ2V0OiBmdW5jdGlvbih0aGlzOiBPYnNlcnZhYmxlPGFueT4pIHtcbiAgICAgICAgICBpZiAoKHRoaXMgYXMgYW55KS5fem9uZVN1YnNjcmliZSkge1xuICAgICAgICAgICAgcmV0dXJuICh0aGlzIGFzIGFueSkuX3pvbmVTdWJzY3JpYmU7XG4gICAgICAgICAgfSBlbHNlIGlmICh0aGlzLmNvbnN0cnVjdG9yID09PSBPYnNlcnZhYmxlKSB7XG4gICAgICAgICAgICByZXR1cm4gX3N1YnNjcmliZTtcbiAgICAgICAgICB9XG4gICAgICAgICAgY29uc3QgcHJvdG8gPSBPYmplY3QuZ2V0UHJvdG90eXBlT2YodGhpcyk7XG4gICAgICAgICAgcmV0dXJuIHByb3RvICYmIHByb3RvLl9zdWJzY3JpYmU7XG4gICAgICAgIH0sXG4gICAgICAgIHNldDogZnVuY3Rpb24odGhpczogT2JzZXJ2YWJsZTxhbnk+LCBzdWJzY3JpYmU6IGFueSkge1xuICAgICAgICAgICh0aGlzIGFzIGFueSkuX3pvbmUgPSBab25lLmN1cnJlbnQ7XG4gICAgICAgICAgaWYgKCFzdWJzY3JpYmUpIHtcbiAgICAgICAgICAgICh0aGlzIGFzIGFueSkuX3pvbmVTdWJzY3JpYmUgPSBzdWJzY3JpYmU7XG4gICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICh0aGlzIGFzIGFueSkuX3pvbmVTdWJzY3JpYmUgPSBmdW5jdGlvbih0aGlzOiBab25lU3Vic2NyaWJlckNvbnRleHQpIHtcbiAgICAgICAgICAgICAgaWYgKHRoaXMuX3pvbmUgJiYgdGhpcy5fem9uZSAhPT0gWm9uZS5jdXJyZW50KSB7XG4gICAgICAgICAgICAgICAgY29uc3QgdGVhckRvd24gPSB0aGlzLl96b25lLnJ1bihzdWJzY3JpYmUsIHRoaXMsIGFyZ3VtZW50cyBhcyBhbnkpO1xuICAgICAgICAgICAgICAgIGlmICh0eXBlb2YgdGVhckRvd24gPT09ICdmdW5jdGlvbicpIHtcbiAgICAgICAgICAgICAgICAgIGNvbnN0IHpvbmUgPSB0aGlzLl96b25lO1xuICAgICAgICAgICAgICAgICAgcmV0dXJuIGZ1bmN0aW9uKHRoaXM6IFpvbmVTdWJzY3JpYmVyQ29udGV4dCkge1xuICAgICAgICAgICAgICAgICAgICBpZiAoem9uZSAhPT0gWm9uZS5jdXJyZW50KSB7XG4gICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHpvbmUucnVuKHRlYXJEb3duLCB0aGlzLCBhcmd1bWVudHMgYXMgYW55KTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICByZXR1cm4gdGVhckRvd24uYXBwbHkodGhpcywgYXJndW1lbnRzKTtcbiAgICAgICAgICAgICAgICAgIH07XG4gICAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICAgIHJldHVybiB0ZWFyRG93bjtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIHN1YnNjcmliZS5hcHBseSh0aGlzLCBhcmd1bWVudHMpO1xuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9O1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfSxcbiAgICAgIHN1YmplY3RGYWN0b3J5OiB7XG4gICAgICAgIGdldDogZnVuY3Rpb24oKSB7IHJldHVybiAodGhpcyBhcyBhbnkpLl96b25lU3ViamVjdEZhY3Rvcnk7IH0sXG4gICAgICAgIHNldDogZnVuY3Rpb24oZmFjdG9yeTogYW55KSB7XG4gICAgICAgICAgY29uc3Qgem9uZSA9IHRoaXMuX3pvbmU7XG4gICAgICAgICAgdGhpcy5fem9uZVN1YmplY3RGYWN0b3J5ID0gZnVuY3Rpb24oKSB7XG4gICAgICAgICAgICBpZiAoem9uZSAmJiB6b25lICE9PSBab25lLmN1cnJlbnQpIHtcbiAgICAgICAgICAgICAgcmV0dXJuIHpvbmUucnVuKGZhY3RvcnksIHRoaXMsIGFyZ3VtZW50cyk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICByZXR1cm4gZmFjdG9yeS5hcHBseSh0aGlzLCBhcmd1bWVudHMpO1xuICAgICAgICAgIH07XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9KTtcbiAgfTtcblxuICBhcGkucGF0Y2hNZXRob2QoT2JzZXJ2YWJsZS5wcm90b3R5cGUsICdsaWZ0JywgKGRlbGVnYXRlOiBhbnkpID0+IChzZWxmOiBhbnksIGFyZ3M6IGFueVtdKSA9PiB7XG4gICAgY29uc3Qgb2JzZXJ2YWJsZTogYW55ID0gZGVsZWdhdGUuYXBwbHkoc2VsZiwgYXJncyk7XG4gICAgaWYgKG9ic2VydmFibGUub3BlcmF0b3IpIHtcbiAgICAgIG9ic2VydmFibGUub3BlcmF0b3IuX3pvbmUgPSBab25lLmN1cnJlbnQ7XG4gICAgICBhcGkucGF0Y2hNZXRob2QoXG4gICAgICAgICAgb2JzZXJ2YWJsZS5vcGVyYXRvciwgJ2NhbGwnLFxuICAgICAgICAgIChvcGVyYXRvckRlbGVnYXRlOiBhbnkpID0+IChvcGVyYXRvclNlbGY6IGFueSwgb3BlcmF0b3JBcmdzOiBhbnlbXSkgPT4ge1xuICAgICAgICAgICAgaWYgKG9wZXJhdG9yU2VsZi5fem9uZSAmJiBvcGVyYXRvclNlbGYuX3pvbmUgIT09IFpvbmUuY3VycmVudCkge1xuICAgICAgICAgICAgICByZXR1cm4gb3BlcmF0b3JTZWxmLl96b25lLnJ1bihvcGVyYXRvckRlbGVnYXRlLCBvcGVyYXRvclNlbGYsIG9wZXJhdG9yQXJncyk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICByZXR1cm4gb3BlcmF0b3JEZWxlZ2F0ZS5hcHBseShvcGVyYXRvclNlbGYsIG9wZXJhdG9yQXJncyk7XG4gICAgICAgICAgfSk7XG4gICAgfVxuICAgIHJldHVybiBvYnNlcnZhYmxlO1xuICB9KTtcblxuICBjb25zdCBwYXRjaFN1YnNjcmlwdGlvbiA9IGZ1bmN0aW9uKCkge1xuICAgIE9iamVjdERlZmluZVByb3BlcnRpZXMoU3Vic2NyaXB0aW9uLnByb3RvdHlwZSwge1xuICAgICAgX3pvbmU6IHt2YWx1ZTogbnVsbCwgd3JpdGFibGU6IHRydWUsIGNvbmZpZ3VyYWJsZTogdHJ1ZX0sXG4gICAgICBfem9uZVVuc3Vic2NyaWJlOiB7dmFsdWU6IG51bGwsIHdyaXRhYmxlOiB0cnVlLCBjb25maWd1cmFibGU6IHRydWV9LFxuICAgICAgX3Vuc3Vic2NyaWJlOiB7XG4gICAgICAgIGdldDogZnVuY3Rpb24odGhpczogU3Vic2NyaXB0aW9uKSB7XG4gICAgICAgICAgaWYgKCh0aGlzIGFzIGFueSkuX3pvbmVVbnN1YnNjcmliZSkge1xuICAgICAgICAgICAgcmV0dXJuICh0aGlzIGFzIGFueSkuX3pvbmVVbnN1YnNjcmliZTtcbiAgICAgICAgICB9XG4gICAgICAgICAgY29uc3QgcHJvdG8gPSBPYmplY3QuZ2V0UHJvdG90eXBlT2YodGhpcyk7XG4gICAgICAgICAgcmV0dXJuIHByb3RvICYmIHByb3RvLl91bnN1YnNjcmliZTtcbiAgICAgICAgfSxcbiAgICAgICAgc2V0OiBmdW5jdGlvbih0aGlzOiBTdWJzY3JpcHRpb24sIHVuc3Vic2NyaWJlOiBhbnkpIHtcbiAgICAgICAgICAodGhpcyBhcyBhbnkpLl96b25lID0gWm9uZS5jdXJyZW50O1xuICAgICAgICAgIGlmICghdW5zdWJzY3JpYmUpIHtcbiAgICAgICAgICAgICh0aGlzIGFzIGFueSkuX3pvbmVVbnN1YnNjcmliZSA9IHVuc3Vic2NyaWJlO1xuICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAodGhpcyBhcyBhbnkpLl96b25lVW5zdWJzY3JpYmUgPSBmdW5jdGlvbigpIHtcbiAgICAgICAgICAgICAgaWYgKHRoaXMuX3pvbmUgJiYgdGhpcy5fem9uZSAhPT0gWm9uZS5jdXJyZW50KSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIHRoaXMuX3pvbmUucnVuKHVuc3Vic2NyaWJlLCB0aGlzLCBhcmd1bWVudHMpO1xuICAgICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgIHJldHVybiB1bnN1YnNjcmliZS5hcHBseSh0aGlzLCBhcmd1bWVudHMpO1xuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9O1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH0pO1xuICB9O1xuXG4gIGNvbnN0IHBhdGNoU3Vic2NyaWJlciA9IGZ1bmN0aW9uKCkge1xuICAgIGNvbnN0IG5leHQgPSBTdWJzY3JpYmVyLnByb3RvdHlwZS5uZXh0O1xuICAgIGNvbnN0IGVycm9yID0gU3Vic2NyaWJlci5wcm90b3R5cGUuZXJyb3I7XG4gICAgY29uc3QgY29tcGxldGUgPSBTdWJzY3JpYmVyLnByb3RvdHlwZS5jb21wbGV0ZTtcblxuICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShTdWJzY3JpYmVyLnByb3RvdHlwZSwgJ2Rlc3RpbmF0aW9uJywge1xuICAgICAgY29uZmlndXJhYmxlOiB0cnVlLFxuICAgICAgZ2V0OiBmdW5jdGlvbih0aGlzOiBTdWJzY3JpYmVyPGFueT4pIHsgcmV0dXJuICh0aGlzIGFzIGFueSkuX3pvbmVEZXN0aW5hdGlvbjsgfSxcbiAgICAgIHNldDogZnVuY3Rpb24odGhpczogU3Vic2NyaWJlcjxhbnk+LCBkZXN0aW5hdGlvbjogYW55KSB7XG4gICAgICAgICh0aGlzIGFzIGFueSkuX3pvbmUgPSBab25lLmN1cnJlbnQ7XG4gICAgICAgICh0aGlzIGFzIGFueSkuX3pvbmVEZXN0aW5hdGlvbiA9IGRlc3RpbmF0aW9uO1xuICAgICAgfVxuICAgIH0pO1xuXG4gICAgLy8gcGF0Y2ggU3Vic2NyaWJlci5uZXh0IHRvIG1ha2Ugc3VyZSBpdCBydW5cbiAgICAvLyBpbnRvIFN1YnNjcmlwdGlvblpvbmVcbiAgICBTdWJzY3JpYmVyLnByb3RvdHlwZS5uZXh0ID0gZnVuY3Rpb24odGhpczogWm9uZVN1YnNjcmliZXJDb250ZXh0KSB7XG4gICAgICBjb25zdCBjdXJyZW50Wm9uZSA9IFpvbmUuY3VycmVudDtcbiAgICAgIGNvbnN0IHN1YnNjcmlwdGlvblpvbmUgPSB0aGlzLl96b25lO1xuXG4gICAgICAvLyBmb3IgcGVyZm9ybWFuY2UgY29uY2VybiwgY2hlY2sgWm9uZS5jdXJyZW50XG4gICAgICAvLyBlcXVhbCB3aXRoIHRoaXMuX3pvbmUoU3Vic2NyaXB0aW9uWm9uZSkgb3Igbm90XG4gICAgICBpZiAoc3Vic2NyaXB0aW9uWm9uZSAmJiBzdWJzY3JpcHRpb25ab25lICE9PSBjdXJyZW50Wm9uZSkge1xuICAgICAgICByZXR1cm4gc3Vic2NyaXB0aW9uWm9uZS5ydW4obmV4dCwgdGhpcywgYXJndW1lbnRzIGFzIGFueSwgbmV4dFNvdXJjZSk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICByZXR1cm4gbmV4dC5hcHBseSh0aGlzLCBhcmd1bWVudHMgYXMgYW55KTtcbiAgICAgIH1cbiAgICB9O1xuXG4gICAgU3Vic2NyaWJlci5wcm90b3R5cGUuZXJyb3IgPSBmdW5jdGlvbih0aGlzOiBab25lU3Vic2NyaWJlckNvbnRleHQpIHtcbiAgICAgIGNvbnN0IGN1cnJlbnRab25lID0gWm9uZS5jdXJyZW50O1xuICAgICAgY29uc3Qgc3Vic2NyaXB0aW9uWm9uZSA9IHRoaXMuX3pvbmU7XG5cbiAgICAgIC8vIGZvciBwZXJmb3JtYW5jZSBjb25jZXJuLCBjaGVjayBab25lLmN1cnJlbnRcbiAgICAgIC8vIGVxdWFsIHdpdGggdGhpcy5fem9uZShTdWJzY3JpcHRpb25ab25lKSBvciBub3RcbiAgICAgIGlmIChzdWJzY3JpcHRpb25ab25lICYmIHN1YnNjcmlwdGlvblpvbmUgIT09IGN1cnJlbnRab25lKSB7XG4gICAgICAgIHJldHVybiBzdWJzY3JpcHRpb25ab25lLnJ1bihlcnJvciwgdGhpcywgYXJndW1lbnRzIGFzIGFueSwgZXJyb3JTb3VyY2UpO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgcmV0dXJuIGVycm9yLmFwcGx5KHRoaXMsIGFyZ3VtZW50cyBhcyBhbnkpO1xuICAgICAgfVxuICAgIH07XG5cbiAgICBTdWJzY3JpYmVyLnByb3RvdHlwZS5jb21wbGV0ZSA9IGZ1bmN0aW9uKHRoaXM6IFpvbmVTdWJzY3JpYmVyQ29udGV4dCkge1xuICAgICAgY29uc3QgY3VycmVudFpvbmUgPSBab25lLmN1cnJlbnQ7XG4gICAgICBjb25zdCBzdWJzY3JpcHRpb25ab25lID0gdGhpcy5fem9uZTtcblxuICAgICAgLy8gZm9yIHBlcmZvcm1hbmNlIGNvbmNlcm4sIGNoZWNrIFpvbmUuY3VycmVudFxuICAgICAgLy8gZXF1YWwgd2l0aCB0aGlzLl96b25lKFN1YnNjcmlwdGlvblpvbmUpIG9yIG5vdFxuICAgICAgaWYgKHN1YnNjcmlwdGlvblpvbmUgJiYgc3Vic2NyaXB0aW9uWm9uZSAhPT0gY3VycmVudFpvbmUpIHtcbiAgICAgICAgcmV0dXJuIHN1YnNjcmlwdGlvblpvbmUucnVuKGNvbXBsZXRlLCB0aGlzLCBhcmd1bWVudHMgYXMgYW55LCBjb21wbGV0ZVNvdXJjZSk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICByZXR1cm4gY29tcGxldGUuY2FsbCh0aGlzKTtcbiAgICAgIH1cbiAgICB9O1xuICB9O1xuXG4gIHBhdGNoT2JzZXJ2YWJsZSgpO1xuICBwYXRjaFN1YnNjcmlwdGlvbigpO1xuICBwYXRjaFN1YnNjcmliZXIoKTtcbn0pO1xuIl19

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

/// <amd-module name="angular/packages/zone.js/lib/testing/async-testing" />
/// <amd-module name="zone.js/lib/testing/async-testing" />
/**

@@ -3,0 +3,0 @@ * @license

@@ -7,3 +7,3 @@ (function (factory) {

else if (typeof define === "function" && define.amd) {
define("angular/packages/zone.js/lib/testing/async-testing", ["require", "exports", "../zone-spec/async-test"], factory);
define("zone.js/lib/testing/async-testing", ["require", "exports", "../zone-spec/async-test"], factory);
}

@@ -104,2 +104,2 @@ })(function (require, exports) {

});
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXN5bmMtdGVzdGluZy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL3pvbmUuanMvbGliL3Rlc3RpbmcvYXN5bmMtdGVzdGluZy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7OztJQUFBOzs7Ozs7T0FNRztJQUNILG1DQUFpQztJQUVqQyxJQUFJLENBQUMsWUFBWSxDQUFDLFdBQVcsRUFBRSxVQUFDLE1BQVcsRUFBRSxJQUFjLEVBQUUsR0FBaUI7UUFDNUU7OztXQUdHO1FBQ0YsSUFBWSxDQUFDLEdBQUcsQ0FBQyxNQUFNLENBQUMsV0FBVyxDQUFDLENBQUMsR0FBRyxTQUFTLFNBQVMsQ0FBQyxFQUFZO1lBQ3RFLDhFQUE4RTtZQUM5RSxtREFBbUQ7WUFDbkQsSUFBSSxNQUFNLENBQUMsT0FBTyxFQUFFO2dCQUNsQix3RUFBd0U7Z0JBQ3hFLE9BQU8sVUFBd0IsSUFBUztvQkFDdEMsSUFBSSxDQUFDLElBQUksRUFBRTt3QkFDVCxxRkFBcUY7d0JBQ3JGLGdDQUFnQzt3QkFDaEMsSUFBSSxHQUFHLGNBQVksQ0FBQyxDQUFDO3dCQUNyQixJQUFJLENBQUMsSUFBSSxHQUFHLFVBQVMsQ0FBTSxJQUFJLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO3FCQUMzQztvQkFDRCxhQUFhLENBQUMsRUFBRSxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsVUFBQyxHQUFRO3dCQUNyQyxJQUFJLE9BQU8sR0FBRyxLQUFLLFFBQVEsRUFBRTs0QkFDM0IsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksS0FBSyxDQUFTLEdBQUcsQ0FBQyxDQUFDLENBQUM7eUJBQzFDOzZCQUFNOzRCQUNMLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUM7eUJBQ2hCO29CQUNILENBQUMsQ0FBQyxDQUFDO2dCQUNMLENBQUMsQ0FBQzthQUNIO1lBQ0QsNEVBQTRFO1lBQzVFLDJFQUEyRTtZQUMzRSxnRUFBZ0U7WUFDaEUsd0VBQXdFO1lBQ3hFLE9BQU87Z0JBQUEsaUJBSU47Z0JBSEMsT0FBTyxJQUFJLE9BQU8sQ0FBTyxVQUFDLGNBQWMsRUFBRSxZQUFZO29CQUNwRCxhQUFhLENBQUMsRUFBRSxFQUFFLEtBQUksRUFBRSxjQUFjLEVBQUUsWUFBWSxDQUFDLENBQUM7Z0JBQ3hELENBQUMsQ0FBQyxDQUFDO1lBQ0wsQ0FBQyxDQUFDO1FBQ0osQ0FBQyxDQUFDO1FBRUYsU0FBUyxhQUFhLENBQ2xCLEVBQVksRUFBRSxPQUFZLEVBQUUsY0FBd0IsRUFBRSxZQUFzQjtZQUM5RSxJQUFNLFdBQVcsR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDO1lBQ2pDLElBQU0saUJBQWlCLEdBQUksSUFBWSxDQUFDLG1CQUFtQixDQUFDLENBQUM7WUFDN0QsSUFBSSxpQkFBaUIsS0FBSyxTQUFTLEVBQUU7Z0JBQ25DLE1BQU0sSUFBSSxLQUFLLENBQ1gsa0ZBQWtGO29CQUNsRiw0RUFBNEUsQ0FBQyxDQUFDO2FBQ25GO1lBQ0QsSUFBTSxhQUFhLEdBQUksSUFBWSxDQUFDLGVBQWUsQ0FHbEQsQ0FBQztZQUNGLElBQUksYUFBYSxLQUFLLFNBQVMsRUFBRTtnQkFDL0IsTUFBTSxJQUFJLEtBQUssQ0FDWCw4RUFBOEU7b0JBQzlFLHVFQUF1RSxDQUFDLENBQUM7YUFDOUU7WUFDRCxJQUFNLGFBQWEsR0FBRyxhQUFhLENBQUMsR0FBRyxFQUFFLENBQUM7WUFDMUMsYUFBYSxDQUFDLGFBQWEsRUFBRSxDQUFDO1lBQzlCLGlFQUFpRTtZQUNqRSxtRUFBbUU7WUFDbkUsSUFBTSxTQUFTLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxXQUFXLENBQUMsZUFBZSxDQUFDLENBQUM7WUFDNUQsSUFBTSxnQkFBZ0IsR0FBRyxhQUFhLENBQUMsV0FBVyxFQUFFLENBQUM7WUFDckQsU0FBVyxDQUFDLE1BQVEsQ0FBQyxHQUFHLENBQUM7Z0JBQ3ZCLElBQU0sWUFBWSxHQUFhLElBQUksaUJBQWlCLENBQ2hEO29CQUNFLHFDQUFxQztvQkFDckMsSUFBSSxhQUFhLENBQUMsV0FBVyxFQUFFLElBQUksWUFBWSxFQUFFO3dCQUMvQyxtQ0FBbUM7d0JBQ25DLG1DQUFtQzt3QkFDbkMsV0FBVzt3QkFDWCxhQUFhLENBQUMsV0FBVyxDQUFDLGdCQUFnQixDQUFDLENBQUM7cUJBQzdDO29CQUNBLFlBQW9CLENBQUMscUJBQXFCLEVBQUUsQ0FBQztvQkFDOUMsV0FBVyxDQUFDLEdBQUcsQ0FBQyxjQUFRLGNBQWMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7Z0JBQy9DLENBQUMsRUFDRCxVQUFDLEtBQVU7b0JBQ1QscUNBQXFDO29CQUNyQyxJQUFJLGFBQWEsQ0FBQyxXQUFXLEVBQUUsSUFBSSxZQUFZLEVBQUU7d0JBQy9DLDZFQUE2RTt3QkFDN0UsYUFBYSxDQUFDLFdBQVcsQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDO3FCQUM3QztvQkFDQSxZQUFvQixDQUFDLHFCQUFxQixFQUFFLENBQUM7b0JBQzlDLFdBQVcsQ0FBQyxHQUFHLENBQUMsY0FBUSxZQUFZLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztnQkFDbEQsQ0FBQyxFQUNELE1BQU0sQ0FBQyxDQUFDO2dCQUNaLGFBQWEsQ0FBQyxXQUFXLENBQUMsWUFBWSxDQUFDLENBQUM7Z0JBQ3ZDLFlBQW9CLENBQUMsbUJBQW1CLEVBQUUsQ0FBQztZQUM5QyxDQUFDLENBQUMsQ0FBQztZQUNILE9BQU8sSUFBSSxDQUFDLE9BQU8sQ0FBQyxVQUFVLENBQUMsRUFBRSxFQUFFLE9BQU8sQ0FBQyxDQUFDO1FBQzlDLENBQUM7SUFDSCxDQUFDLENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogQGxpY2Vuc2VcbiAqIENvcHlyaWdodCBHb29nbGUgSW5jLiBBbGwgUmlnaHRzIFJlc2VydmVkLlxuICpcbiAqIFVzZSBvZiB0aGlzIHNvdXJjZSBjb2RlIGlzIGdvdmVybmVkIGJ5IGFuIE1JVC1zdHlsZSBsaWNlbnNlIHRoYXQgY2FuIGJlXG4gKiBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlIGF0IGh0dHBzOi8vYW5ndWxhci5pby9saWNlbnNlXG4gKi9cbmltcG9ydCAnLi4vem9uZS1zcGVjL2FzeW5jLXRlc3QnO1xuXG5ab25lLl9fbG9hZF9wYXRjaCgnYXN5bmN0ZXN0JywgKGdsb2JhbDogYW55LCBab25lOiBab25lVHlwZSwgYXBpOiBfWm9uZVByaXZhdGUpID0+IHtcbiAgLyoqXG4gICAqIFdyYXBzIGEgdGVzdCBmdW5jdGlvbiBpbiBhbiBhc3luY2hyb25vdXMgdGVzdCB6b25lLiBUaGUgdGVzdCB3aWxsIGF1dG9tYXRpY2FsbHlcbiAgICogY29tcGxldGUgd2hlbiBhbGwgYXN5bmNocm9ub3VzIGNhbGxzIHdpdGhpbiB0aGlzIHpvbmUgYXJlIGRvbmUuXG4gICAqL1xuICAoWm9uZSBhcyBhbnkpW2FwaS5zeW1ib2woJ2FzeW5jVGVzdCcpXSA9IGZ1bmN0aW9uIGFzeW5jVGVzdChmbjogRnVuY3Rpb24pOiAoZG9uZTogYW55KSA9PiBhbnkge1xuICAgIC8vIElmIHdlJ3JlIHJ1bm5pbmcgdXNpbmcgdGhlIEphc21pbmUgdGVzdCBmcmFtZXdvcmssIGFkYXB0IHRvIGNhbGwgdGhlICdkb25lJ1xuICAgIC8vIGZ1bmN0aW9uIHdoZW4gYXN5bmNocm9ub3VzIGFjdGl2aXR5IGlzIGZpbmlzaGVkLlxuICAgIGlmIChnbG9iYWwuamFzbWluZSkge1xuICAgICAgLy8gTm90IHVzaW5nIGFuIGFycm93IGZ1bmN0aW9uIHRvIHByZXNlcnZlIGNvbnRleHQgcGFzc2VkIGZyb20gY2FsbCBzaXRlXG4gICAgICByZXR1cm4gZnVuY3Rpb24odGhpczogdW5rbm93biwgZG9uZTogYW55KSB7XG4gICAgICAgIGlmICghZG9uZSkge1xuICAgICAgICAgIC8vIGlmIHdlIHJ1biBiZWZvcmVFYWNoIGluIEBhbmd1bGFyL2NvcmUvdGVzdGluZy90ZXN0aW5nX2ludGVybmFsIHRoZW4gd2UgZ2V0IG5vIGRvbmVcbiAgICAgICAgICAvLyBmYWtlIGl0IGhlcmUgYW5kIGFzc3VtZSBzeW5jLlxuICAgICAgICAgIGRvbmUgPSBmdW5jdGlvbigpIHt9O1xuICAgICAgICAgIGRvbmUuZmFpbCA9IGZ1bmN0aW9uKGU6IGFueSkgeyB0aHJvdyBlOyB9O1xuICAgICAgICB9XG4gICAgICAgIHJ1bkluVGVzdFpvbmUoZm4sIHRoaXMsIGRvbmUsIChlcnI6IGFueSkgPT4ge1xuICAgICAgICAgIGlmICh0eXBlb2YgZXJyID09PSAnc3RyaW5nJykge1xuICAgICAgICAgICAgcmV0dXJuIGRvbmUuZmFpbChuZXcgRXJyb3IoPHN0cmluZz5lcnIpKTtcbiAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgZG9uZS5mYWlsKGVycik7XG4gICAgICAgICAgfVxuICAgICAgICB9KTtcbiAgICAgIH07XG4gICAgfVxuICAgIC8vIE90aGVyd2lzZSwgcmV0dXJuIGEgcHJvbWlzZSB3aGljaCB3aWxsIHJlc29sdmUgd2hlbiBhc3luY2hyb25vdXMgYWN0aXZpdHlcbiAgICAvLyBpcyBmaW5pc2hlZC4gVGhpcyB3aWxsIGJlIGNvcnJlY3RseSBjb25zdW1lZCBieSB0aGUgTW9jaGEgZnJhbWV3b3JrIHdpdGhcbiAgICAvLyBpdCgnLi4uJywgYXN5bmMobXlGbikpOyBvciBjYW4gYmUgdXNlZCBpbiBhIGN1c3RvbSBmcmFtZXdvcmsuXG4gICAgLy8gTm90IHVzaW5nIGFuIGFycm93IGZ1bmN0aW9uIHRvIHByZXNlcnZlIGNvbnRleHQgcGFzc2VkIGZyb20gY2FsbCBzaXRlXG4gICAgcmV0dXJuIGZ1bmN0aW9uKHRoaXM6IHVua25vd24pIHtcbiAgICAgIHJldHVybiBuZXcgUHJvbWlzZTx2b2lkPigoZmluaXNoQ2FsbGJhY2ssIGZhaWxDYWxsYmFjaykgPT4ge1xuICAgICAgICBydW5JblRlc3Rab25lKGZuLCB0aGlzLCBmaW5pc2hDYWxsYmFjaywgZmFpbENhbGxiYWNrKTtcbiAgICAgIH0pO1xuICAgIH07XG4gIH07XG5cbiAgZnVuY3Rpb24gcnVuSW5UZXN0Wm9uZShcbiAgICAgIGZuOiBGdW5jdGlvbiwgY29udGV4dDogYW55LCBmaW5pc2hDYWxsYmFjazogRnVuY3Rpb24sIGZhaWxDYWxsYmFjazogRnVuY3Rpb24pIHtcbiAgICBjb25zdCBjdXJyZW50Wm9uZSA9IFpvbmUuY3VycmVudDtcbiAgICBjb25zdCBBc3luY1Rlc3Rab25lU3BlYyA9IChab25lIGFzIGFueSlbJ0FzeW5jVGVzdFpvbmVTcGVjJ107XG4gICAgaWYgKEFzeW5jVGVzdFpvbmVTcGVjID09PSB1bmRlZmluZWQpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcihcbiAgICAgICAgICAnQXN5bmNUZXN0Wm9uZVNwZWMgaXMgbmVlZGVkIGZvciB0aGUgYXN5bmMoKSB0ZXN0IGhlbHBlciBidXQgY291bGQgbm90IGJlIGZvdW5kLiAnICtcbiAgICAgICAgICAnUGxlYXNlIG1ha2Ugc3VyZSB0aGF0IHlvdXIgZW52aXJvbm1lbnQgaW5jbHVkZXMgem9uZS5qcy9kaXN0L2FzeW5jLXRlc3QuanMnKTtcbiAgICB9XG4gICAgY29uc3QgUHJveHlab25lU3BlYyA9IChab25lIGFzIGFueSlbJ1Byb3h5Wm9uZVNwZWMnXSBhcyB7XG4gICAgICBnZXQoKToge3NldERlbGVnYXRlKHNwZWM6IFpvbmVTcGVjKTogdm9pZDsgZ2V0RGVsZWdhdGUoKTogWm9uZVNwZWM7fTtcbiAgICAgIGFzc2VydFByZXNlbnQ6ICgpID0+IHZvaWQ7XG4gICAgfTtcbiAgICBpZiAoUHJveHlab25lU3BlYyA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoXG4gICAgICAgICAgJ1Byb3h5Wm9uZVNwZWMgaXMgbmVlZGVkIGZvciB0aGUgYXN5bmMoKSB0ZXN0IGhlbHBlciBidXQgY291bGQgbm90IGJlIGZvdW5kLiAnICtcbiAgICAgICAgICAnUGxlYXNlIG1ha2Ugc3VyZSB0aGF0IHlvdXIgZW52aXJvbm1lbnQgaW5jbHVkZXMgem9uZS5qcy9kaXN0L3Byb3h5LmpzJyk7XG4gICAgfVxuICAgIGNvbnN0IHByb3h5Wm9uZVNwZWMgPSBQcm94eVpvbmVTcGVjLmdldCgpO1xuICAgIFByb3h5Wm9uZVNwZWMuYXNzZXJ0UHJlc2VudCgpO1xuICAgIC8vIFdlIG5lZWQgdG8gY3JlYXRlIHRoZSBBc3luY1Rlc3Rab25lU3BlYyBvdXRzaWRlIHRoZSBQcm94eVpvbmUuXG4gICAgLy8gSWYgd2UgZG8gaXQgaW4gUHJveHlab25lIHRoZW4gd2Ugd2lsbCBnZXQgdG8gaW5maW5pdGUgcmVjdXJzaW9uLlxuICAgIGNvbnN0IHByb3h5Wm9uZSA9IFpvbmUuY3VycmVudC5nZXRab25lV2l0aCgnUHJveHlab25lU3BlYycpO1xuICAgIGNvbnN0IHByZXZpb3VzRGVsZWdhdGUgPSBwcm94eVpvbmVTcGVjLmdldERlbGVnYXRlKCk7XG4gICAgcHJveHlab25lICEucGFyZW50ICEucnVuKCgpID0+IHtcbiAgICAgIGNvbnN0IHRlc3Rab25lU3BlYzogWm9uZVNwZWMgPSBuZXcgQXN5bmNUZXN0Wm9uZVNwZWMoXG4gICAgICAgICAgKCkgPT4ge1xuICAgICAgICAgICAgLy8gTmVlZCB0byByZXN0b3JlIHRoZSBvcmlnaW5hbCB6b25lLlxuICAgICAgICAgICAgaWYgKHByb3h5Wm9uZVNwZWMuZ2V0RGVsZWdhdGUoKSA9PSB0ZXN0Wm9uZVNwZWMpIHtcbiAgICAgICAgICAgICAgLy8gT25seSByZXNldCB0aGUgem9uZSBzcGVjIGlmIGl0J3NcbiAgICAgICAgICAgICAgLy8gc2lsbCB0aGlzIG9uZS4gT3RoZXJ3aXNlLCBhc3N1bWVcbiAgICAgICAgICAgICAgLy8gaXQncyBPSy5cbiAgICAgICAgICAgICAgcHJveHlab25lU3BlYy5zZXREZWxlZ2F0ZShwcmV2aW91c0RlbGVnYXRlKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgICh0ZXN0Wm9uZVNwZWMgYXMgYW55KS51blBhdGNoUHJvbWlzZUZvclRlc3QoKTtcbiAgICAgICAgICAgIGN1cnJlbnRab25lLnJ1bigoKSA9PiB7IGZpbmlzaENhbGxiYWNrKCk7IH0pO1xuICAgICAgICAgIH0sXG4gICAgICAgICAgKGVycm9yOiBhbnkpID0+IHtcbiAgICAgICAgICAgIC8vIE5lZWQgdG8gcmVzdG9yZSB0aGUgb3JpZ2luYWwgem9uZS5cbiAgICAgICAgICAgIGlmIChwcm94eVpvbmVTcGVjLmdldERlbGVnYXRlKCkgPT0gdGVzdFpvbmVTcGVjKSB7XG4gICAgICAgICAgICAgIC8vIE9ubHkgcmVzZXQgdGhlIHpvbmUgc3BlYyBpZiBpdCdzIHNpbGwgdGhpcyBvbmUuIE90aGVyd2lzZSwgYXNzdW1lIGl0J3MgT0suXG4gICAgICAgICAgICAgIHByb3h5Wm9uZVNwZWMuc2V0RGVsZWdhdGUocHJldmlvdXNEZWxlZ2F0ZSk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAodGVzdFpvbmVTcGVjIGFzIGFueSkudW5QYXRjaFByb21pc2VGb3JUZXN0KCk7XG4gICAgICAgICAgICBjdXJyZW50Wm9uZS5ydW4oKCkgPT4geyBmYWlsQ2FsbGJhY2soZXJyb3IpOyB9KTtcbiAgICAgICAgICB9LFxuICAgICAgICAgICd0ZXN0Jyk7XG4gICAgICBwcm94eVpvbmVTcGVjLnNldERlbGVnYXRlKHRlc3Rab25lU3BlYyk7XG4gICAgICAodGVzdFpvbmVTcGVjIGFzIGFueSkucGF0Y2hQcm9taXNlRm9yVGVzdCgpO1xuICAgIH0pO1xuICAgIHJldHVybiBab25lLmN1cnJlbnQucnVuR3VhcmRlZChmbiwgY29udGV4dCk7XG4gIH1cbn0pO1xuIl19
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXN5bmMtdGVzdGluZy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL3pvbmUuanMvbGliL3Rlc3RpbmcvYXN5bmMtdGVzdGluZy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7OztJQUFBOzs7Ozs7T0FNRztJQUNILG1DQUFpQztJQUVqQyxJQUFJLENBQUMsWUFBWSxDQUFDLFdBQVcsRUFBRSxVQUFDLE1BQVcsRUFBRSxJQUFjLEVBQUUsR0FBaUI7UUFDNUU7OztXQUdHO1FBQ0YsSUFBWSxDQUFDLEdBQUcsQ0FBQyxNQUFNLENBQUMsV0FBVyxDQUFDLENBQUMsR0FBRyxTQUFTLFNBQVMsQ0FBQyxFQUFZO1lBQ3RFLDhFQUE4RTtZQUM5RSxtREFBbUQ7WUFDbkQsSUFBSSxNQUFNLENBQUMsT0FBTyxFQUFFO2dCQUNsQix3RUFBd0U7Z0JBQ3hFLE9BQU8sVUFBd0IsSUFBUztvQkFDdEMsSUFBSSxDQUFDLElBQUksRUFBRTt3QkFDVCxxRkFBcUY7d0JBQ3JGLGdDQUFnQzt3QkFDaEMsSUFBSSxHQUFHLGNBQVksQ0FBQyxDQUFDO3dCQUNyQixJQUFJLENBQUMsSUFBSSxHQUFHLFVBQVMsQ0FBTSxJQUFJLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO3FCQUMzQztvQkFDRCxhQUFhLENBQUMsRUFBRSxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsVUFBQyxHQUFRO3dCQUNyQyxJQUFJLE9BQU8sR0FBRyxLQUFLLFFBQVEsRUFBRTs0QkFDM0IsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUM7eUJBQ2xDOzZCQUFNOzRCQUNMLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUM7eUJBQ2hCO29CQUNILENBQUMsQ0FBQyxDQUFDO2dCQUNMLENBQUMsQ0FBQzthQUNIO1lBQ0QsNEVBQTRFO1lBQzVFLDJFQUEyRTtZQUMzRSxnRUFBZ0U7WUFDaEUsd0VBQXdFO1lBQ3hFLE9BQU87Z0JBQUEsaUJBSU47Z0JBSEMsT0FBTyxJQUFJLE9BQU8sQ0FBTyxVQUFDLGNBQWMsRUFBRSxZQUFZO29CQUNwRCxhQUFhLENBQUMsRUFBRSxFQUFFLEtBQUksRUFBRSxjQUFjLEVBQUUsWUFBWSxDQUFDLENBQUM7Z0JBQ3hELENBQUMsQ0FBQyxDQUFDO1lBQ0wsQ0FBQyxDQUFDO1FBQ0osQ0FBQyxDQUFDO1FBRUYsU0FBUyxhQUFhLENBQ2xCLEVBQVksRUFBRSxPQUFZLEVBQUUsY0FBd0IsRUFBRSxZQUFzQjtZQUM5RSxJQUFNLFdBQVcsR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDO1lBQ2pDLElBQU0saUJBQWlCLEdBQUksSUFBWSxDQUFDLG1CQUFtQixDQUFDLENBQUM7WUFDN0QsSUFBSSxpQkFBaUIsS0FBSyxTQUFTLEVBQUU7Z0JBQ25DLE1BQU0sSUFBSSxLQUFLLENBQ1gsa0ZBQWtGO29CQUNsRiw0RUFBNEUsQ0FBQyxDQUFDO2FBQ25GO1lBQ0QsSUFBTSxhQUFhLEdBQUksSUFBWSxDQUFDLGVBQWUsQ0FHbEQsQ0FBQztZQUNGLElBQUksYUFBYSxLQUFLLFNBQVMsRUFBRTtnQkFDL0IsTUFBTSxJQUFJLEtBQUssQ0FDWCw4RUFBOEU7b0JBQzlFLHVFQUF1RSxDQUFDLENBQUM7YUFDOUU7WUFDRCxJQUFNLGFBQWEsR0FBRyxhQUFhLENBQUMsR0FBRyxFQUFFLENBQUM7WUFDMUMsYUFBYSxDQUFDLGFBQWEsRUFBRSxDQUFDO1lBQzlCLGlFQUFpRTtZQUNqRSxtRUFBbUU7WUFDbkUsSUFBTSxTQUFTLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxXQUFXLENBQUMsZUFBZSxDQUFDLENBQUM7WUFDNUQsSUFBTSxnQkFBZ0IsR0FBRyxhQUFhLENBQUMsV0FBVyxFQUFFLENBQUM7WUFDckQsU0FBVyxDQUFDLE1BQVEsQ0FBQyxHQUFHLENBQUM7Z0JBQ3ZCLElBQU0sWUFBWSxHQUFhLElBQUksaUJBQWlCLENBQ2hEO29CQUNFLHFDQUFxQztvQkFDckMsSUFBSSxhQUFhLENBQUMsV0FBVyxFQUFFLElBQUksWUFBWSxFQUFFO3dCQUMvQyxtQ0FBbUM7d0JBQ25DLG1DQUFtQzt3QkFDbkMsV0FBVzt3QkFDWCxhQUFhLENBQUMsV0FBVyxDQUFDLGdCQUFnQixDQUFDLENBQUM7cUJBQzdDO29CQUNBLFlBQW9CLENBQUMscUJBQXFCLEVBQUUsQ0FBQztvQkFDOUMsV0FBVyxDQUFDLEdBQUcsQ0FBQyxjQUFRLGNBQWMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7Z0JBQy9DLENBQUMsRUFDRCxVQUFDLEtBQVU7b0JBQ1QscUNBQXFDO29CQUNyQyxJQUFJLGFBQWEsQ0FBQyxXQUFXLEVBQUUsSUFBSSxZQUFZLEVBQUU7d0JBQy9DLDZFQUE2RTt3QkFDN0UsYUFBYSxDQUFDLFdBQVcsQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDO3FCQUM3QztvQkFDQSxZQUFvQixDQUFDLHFCQUFxQixFQUFFLENBQUM7b0JBQzlDLFdBQVcsQ0FBQyxHQUFHLENBQUMsY0FBUSxZQUFZLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztnQkFDbEQsQ0FBQyxFQUNELE1BQU0sQ0FBQyxDQUFDO2dCQUNaLGFBQWEsQ0FBQyxXQUFXLENBQUMsWUFBWSxDQUFDLENBQUM7Z0JBQ3ZDLFlBQW9CLENBQUMsbUJBQW1CLEVBQUUsQ0FBQztZQUM5QyxDQUFDLENBQUMsQ0FBQztZQUNILE9BQU8sSUFBSSxDQUFDLE9BQU8sQ0FBQyxVQUFVLENBQUMsRUFBRSxFQUFFLE9BQU8sQ0FBQyxDQUFDO1FBQzlDLENBQUM7SUFDSCxDQUFDLENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogQGxpY2Vuc2VcbiAqIENvcHlyaWdodCBHb29nbGUgSW5jLiBBbGwgUmlnaHRzIFJlc2VydmVkLlxuICpcbiAqIFVzZSBvZiB0aGlzIHNvdXJjZSBjb2RlIGlzIGdvdmVybmVkIGJ5IGFuIE1JVC1zdHlsZSBsaWNlbnNlIHRoYXQgY2FuIGJlXG4gKiBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlIGF0IGh0dHBzOi8vYW5ndWxhci5pby9saWNlbnNlXG4gKi9cbmltcG9ydCAnLi4vem9uZS1zcGVjL2FzeW5jLXRlc3QnO1xuXG5ab25lLl9fbG9hZF9wYXRjaCgnYXN5bmN0ZXN0JywgKGdsb2JhbDogYW55LCBab25lOiBab25lVHlwZSwgYXBpOiBfWm9uZVByaXZhdGUpID0+IHtcbiAgLyoqXG4gICAqIFdyYXBzIGEgdGVzdCBmdW5jdGlvbiBpbiBhbiBhc3luY2hyb25vdXMgdGVzdCB6b25lLiBUaGUgdGVzdCB3aWxsIGF1dG9tYXRpY2FsbHlcbiAgICogY29tcGxldGUgd2hlbiBhbGwgYXN5bmNocm9ub3VzIGNhbGxzIHdpdGhpbiB0aGlzIHpvbmUgYXJlIGRvbmUuXG4gICAqL1xuICAoWm9uZSBhcyBhbnkpW2FwaS5zeW1ib2woJ2FzeW5jVGVzdCcpXSA9IGZ1bmN0aW9uIGFzeW5jVGVzdChmbjogRnVuY3Rpb24pOiAoZG9uZTogYW55KSA9PiBhbnkge1xuICAgIC8vIElmIHdlJ3JlIHJ1bm5pbmcgdXNpbmcgdGhlIEphc21pbmUgdGVzdCBmcmFtZXdvcmssIGFkYXB0IHRvIGNhbGwgdGhlICdkb25lJ1xuICAgIC8vIGZ1bmN0aW9uIHdoZW4gYXN5bmNocm9ub3VzIGFjdGl2aXR5IGlzIGZpbmlzaGVkLlxuICAgIGlmIChnbG9iYWwuamFzbWluZSkge1xuICAgICAgLy8gTm90IHVzaW5nIGFuIGFycm93IGZ1bmN0aW9uIHRvIHByZXNlcnZlIGNvbnRleHQgcGFzc2VkIGZyb20gY2FsbCBzaXRlXG4gICAgICByZXR1cm4gZnVuY3Rpb24odGhpczogdW5rbm93biwgZG9uZTogYW55KSB7XG4gICAgICAgIGlmICghZG9uZSkge1xuICAgICAgICAgIC8vIGlmIHdlIHJ1biBiZWZvcmVFYWNoIGluIEBhbmd1bGFyL2NvcmUvdGVzdGluZy90ZXN0aW5nX2ludGVybmFsIHRoZW4gd2UgZ2V0IG5vIGRvbmVcbiAgICAgICAgICAvLyBmYWtlIGl0IGhlcmUgYW5kIGFzc3VtZSBzeW5jLlxuICAgICAgICAgIGRvbmUgPSBmdW5jdGlvbigpIHt9O1xuICAgICAgICAgIGRvbmUuZmFpbCA9IGZ1bmN0aW9uKGU6IGFueSkgeyB0aHJvdyBlOyB9O1xuICAgICAgICB9XG4gICAgICAgIHJ1bkluVGVzdFpvbmUoZm4sIHRoaXMsIGRvbmUsIChlcnI6IGFueSkgPT4ge1xuICAgICAgICAgIGlmICh0eXBlb2YgZXJyID09PSAnc3RyaW5nJykge1xuICAgICAgICAgICAgcmV0dXJuIGRvbmUuZmFpbChuZXcgRXJyb3IoZXJyKSk7XG4gICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIGRvbmUuZmFpbChlcnIpO1xuICAgICAgICAgIH1cbiAgICAgICAgfSk7XG4gICAgICB9O1xuICAgIH1cbiAgICAvLyBPdGhlcndpc2UsIHJldHVybiBhIHByb21pc2Ugd2hpY2ggd2lsbCByZXNvbHZlIHdoZW4gYXN5bmNocm9ub3VzIGFjdGl2aXR5XG4gICAgLy8gaXMgZmluaXNoZWQuIFRoaXMgd2lsbCBiZSBjb3JyZWN0bHkgY29uc3VtZWQgYnkgdGhlIE1vY2hhIGZyYW1ld29yayB3aXRoXG4gICAgLy8gaXQoJy4uLicsIGFzeW5jKG15Rm4pKTsgb3IgY2FuIGJlIHVzZWQgaW4gYSBjdXN0b20gZnJhbWV3b3JrLlxuICAgIC8vIE5vdCB1c2luZyBhbiBhcnJvdyBmdW5jdGlvbiB0byBwcmVzZXJ2ZSBjb250ZXh0IHBhc3NlZCBmcm9tIGNhbGwgc2l0ZVxuICAgIHJldHVybiBmdW5jdGlvbih0aGlzOiB1bmtub3duKSB7XG4gICAgICByZXR1cm4gbmV3IFByb21pc2U8dm9pZD4oKGZpbmlzaENhbGxiYWNrLCBmYWlsQ2FsbGJhY2spID0+IHtcbiAgICAgICAgcnVuSW5UZXN0Wm9uZShmbiwgdGhpcywgZmluaXNoQ2FsbGJhY2ssIGZhaWxDYWxsYmFjayk7XG4gICAgICB9KTtcbiAgICB9O1xuICB9O1xuXG4gIGZ1bmN0aW9uIHJ1bkluVGVzdFpvbmUoXG4gICAgICBmbjogRnVuY3Rpb24sIGNvbnRleHQ6IGFueSwgZmluaXNoQ2FsbGJhY2s6IEZ1bmN0aW9uLCBmYWlsQ2FsbGJhY2s6IEZ1bmN0aW9uKSB7XG4gICAgY29uc3QgY3VycmVudFpvbmUgPSBab25lLmN1cnJlbnQ7XG4gICAgY29uc3QgQXN5bmNUZXN0Wm9uZVNwZWMgPSAoWm9uZSBhcyBhbnkpWydBc3luY1Rlc3Rab25lU3BlYyddO1xuICAgIGlmIChBc3luY1Rlc3Rab25lU3BlYyA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoXG4gICAgICAgICAgJ0FzeW5jVGVzdFpvbmVTcGVjIGlzIG5lZWRlZCBmb3IgdGhlIGFzeW5jKCkgdGVzdCBoZWxwZXIgYnV0IGNvdWxkIG5vdCBiZSBmb3VuZC4gJyArXG4gICAgICAgICAgJ1BsZWFzZSBtYWtlIHN1cmUgdGhhdCB5b3VyIGVudmlyb25tZW50IGluY2x1ZGVzIHpvbmUuanMvZGlzdC9hc3luYy10ZXN0LmpzJyk7XG4gICAgfVxuICAgIGNvbnN0IFByb3h5Wm9uZVNwZWMgPSAoWm9uZSBhcyBhbnkpWydQcm94eVpvbmVTcGVjJ10gYXMge1xuICAgICAgZ2V0KCk6IHtzZXREZWxlZ2F0ZShzcGVjOiBab25lU3BlYyk6IHZvaWQ7IGdldERlbGVnYXRlKCk6IFpvbmVTcGVjO307XG4gICAgICBhc3NlcnRQcmVzZW50OiAoKSA9PiB2b2lkO1xuICAgIH07XG4gICAgaWYgKFByb3h5Wm9uZVNwZWMgPT09IHVuZGVmaW5lZCkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKFxuICAgICAgICAgICdQcm94eVpvbmVTcGVjIGlzIG5lZWRlZCBmb3IgdGhlIGFzeW5jKCkgdGVzdCBoZWxwZXIgYnV0IGNvdWxkIG5vdCBiZSBmb3VuZC4gJyArXG4gICAgICAgICAgJ1BsZWFzZSBtYWtlIHN1cmUgdGhhdCB5b3VyIGVudmlyb25tZW50IGluY2x1ZGVzIHpvbmUuanMvZGlzdC9wcm94eS5qcycpO1xuICAgIH1cbiAgICBjb25zdCBwcm94eVpvbmVTcGVjID0gUHJveHlab25lU3BlYy5nZXQoKTtcbiAgICBQcm94eVpvbmVTcGVjLmFzc2VydFByZXNlbnQoKTtcbiAgICAvLyBXZSBuZWVkIHRvIGNyZWF0ZSB0aGUgQXN5bmNUZXN0Wm9uZVNwZWMgb3V0c2lkZSB0aGUgUHJveHlab25lLlxuICAgIC8vIElmIHdlIGRvIGl0IGluIFByb3h5Wm9uZSB0aGVuIHdlIHdpbGwgZ2V0IHRvIGluZmluaXRlIHJlY3Vyc2lvbi5cbiAgICBjb25zdCBwcm94eVpvbmUgPSBab25lLmN1cnJlbnQuZ2V0Wm9uZVdpdGgoJ1Byb3h5Wm9uZVNwZWMnKTtcbiAgICBjb25zdCBwcmV2aW91c0RlbGVnYXRlID0gcHJveHlab25lU3BlYy5nZXREZWxlZ2F0ZSgpO1xuICAgIHByb3h5Wm9uZSAhLnBhcmVudCAhLnJ1bigoKSA9PiB7XG4gICAgICBjb25zdCB0ZXN0Wm9uZVNwZWM6IFpvbmVTcGVjID0gbmV3IEFzeW5jVGVzdFpvbmVTcGVjKFxuICAgICAgICAgICgpID0+IHtcbiAgICAgICAgICAgIC8vIE5lZWQgdG8gcmVzdG9yZSB0aGUgb3JpZ2luYWwgem9uZS5cbiAgICAgICAgICAgIGlmIChwcm94eVpvbmVTcGVjLmdldERlbGVnYXRlKCkgPT0gdGVzdFpvbmVTcGVjKSB7XG4gICAgICAgICAgICAgIC8vIE9ubHkgcmVzZXQgdGhlIHpvbmUgc3BlYyBpZiBpdCdzXG4gICAgICAgICAgICAgIC8vIHNpbGwgdGhpcyBvbmUuIE90aGVyd2lzZSwgYXNzdW1lXG4gICAgICAgICAgICAgIC8vIGl0J3MgT0suXG4gICAgICAgICAgICAgIHByb3h5Wm9uZVNwZWMuc2V0RGVsZWdhdGUocHJldmlvdXNEZWxlZ2F0ZSk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAodGVzdFpvbmVTcGVjIGFzIGFueSkudW5QYXRjaFByb21pc2VGb3JUZXN0KCk7XG4gICAgICAgICAgICBjdXJyZW50Wm9uZS5ydW4oKCkgPT4geyBmaW5pc2hDYWxsYmFjaygpOyB9KTtcbiAgICAgICAgICB9LFxuICAgICAgICAgIChlcnJvcjogYW55KSA9PiB7XG4gICAgICAgICAgICAvLyBOZWVkIHRvIHJlc3RvcmUgdGhlIG9yaWdpbmFsIHpvbmUuXG4gICAgICAgICAgICBpZiAocHJveHlab25lU3BlYy5nZXREZWxlZ2F0ZSgpID09IHRlc3Rab25lU3BlYykge1xuICAgICAgICAgICAgICAvLyBPbmx5IHJlc2V0IHRoZSB6b25lIHNwZWMgaWYgaXQncyBzaWxsIHRoaXMgb25lLiBPdGhlcndpc2UsIGFzc3VtZSBpdCdzIE9LLlxuICAgICAgICAgICAgICBwcm94eVpvbmVTcGVjLnNldERlbGVnYXRlKHByZXZpb3VzRGVsZWdhdGUpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgKHRlc3Rab25lU3BlYyBhcyBhbnkpLnVuUGF0Y2hQcm9taXNlRm9yVGVzdCgpO1xuICAgICAgICAgICAgY3VycmVudFpvbmUucnVuKCgpID0+IHsgZmFpbENhbGxiYWNrKGVycm9yKTsgfSk7XG4gICAgICAgICAgfSxcbiAgICAgICAgICAndGVzdCcpO1xuICAgICAgcHJveHlab25lU3BlYy5zZXREZWxlZ2F0ZSh0ZXN0Wm9uZVNwZWMpO1xuICAgICAgKHRlc3Rab25lU3BlYyBhcyBhbnkpLnBhdGNoUHJvbWlzZUZvclRlc3QoKTtcbiAgICB9KTtcbiAgICByZXR1cm4gWm9uZS5jdXJyZW50LnJ1bkd1YXJkZWQoZm4sIGNvbnRleHQpO1xuICB9XG59KTtcbiJdfQ==

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

/// <amd-module name="angular/packages/zone.js/lib/testing/fake-async" />
/// <amd-module name="zone.js/lib/testing/fake-async" />
/**

@@ -3,0 +3,0 @@ * @license

@@ -7,3 +7,3 @@ (function (factory) {

else if (typeof define === "function" && define.amd) {
define("angular/packages/zone.js/lib/testing/fake-async", ["require", "exports", "../zone-spec/fake-async-test"], factory);
define("zone.js/lib/testing/fake-async", ["require", "exports", "../zone-spec/fake-async-test"], factory);
}

@@ -122,5 +122,6 @@ })(function (require, exports) {

*/
function tick(millis) {
function tick(millis, ignoreNestedTimeout) {
if (millis === void 0) { millis = 0; }
_getFakeAsyncZoneSpec().tick(millis);
if (ignoreNestedTimeout === void 0) { ignoreNestedTimeout = false; }
_getFakeAsyncZoneSpec().tick(millis, null, ignoreNestedTimeout);
}

@@ -159,2 +160,2 @@ /**

});
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmFrZS1hc3luYy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL3pvbmUuanMvbGliL3Rlc3RpbmcvZmFrZS1hc3luYy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7OztJQUFBOzs7Ozs7T0FNRztJQUNILHdDQUFzQztJQUV0QyxJQUFJLENBQUMsWUFBWSxDQUFDLFdBQVcsRUFBRSxVQUFDLE1BQVcsRUFBRSxJQUFjLEVBQUUsR0FBaUI7UUFDNUUsSUFBTSxxQkFBcUIsR0FBRyxJQUFJLElBQUssSUFBWSxDQUFDLHVCQUF1QixDQUFDLENBQUM7UUFJN0UsSUFBTSxhQUFhLEdBQ2YsSUFBSSxJQUFLLElBQVksQ0FBQyxlQUFlLENBQUMsQ0FBQztRQUUzQyxJQUFJLHNCQUFzQixHQUFRLElBQUksQ0FBQztRQUV2Qzs7Ozs7V0FLRztRQUNILFNBQVMsa0JBQWtCO1lBQ3pCLElBQUksc0JBQXNCLEVBQUU7Z0JBQzFCLHNCQUFzQixDQUFDLGVBQWUsRUFBRSxDQUFDO2FBQzFDO1lBQ0Qsc0JBQXNCLEdBQUcsSUFBSSxDQUFDO1lBQzlCLDRGQUE0RjtZQUM1RixhQUFhLElBQUksYUFBYSxDQUFDLGFBQWEsRUFBRSxDQUFDLGFBQWEsRUFBRSxDQUFDO1FBQ2pFLENBQUM7UUFFRDs7Ozs7Ozs7Ozs7Ozs7Ozs7V0FpQkc7UUFDSCxTQUFTLFNBQVMsQ0FBQyxFQUFZO1lBQzdCLHdFQUF3RTtZQUN4RSxPQUFPO2dCQUF3QixjQUFjO3FCQUFkLFVBQWMsRUFBZCxxQkFBYyxFQUFkLElBQWM7b0JBQWQseUJBQWM7O2dCQUMzQyxJQUFNLGFBQWEsR0FBRyxhQUFhLENBQUMsYUFBYSxFQUFFLENBQUM7Z0JBQ3BELElBQUksSUFBSSxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsdUJBQXVCLENBQUMsRUFBRTtvQkFDN0MsTUFBTSxJQUFJLEtBQUssQ0FBQyxxQ0FBcUMsQ0FBQyxDQUFDO2lCQUN4RDtn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KlxuICogQGxpY2Vuc2VcbiAqIENvcHlyaWdodCBHb29nbGUgSW5jLiBBbGwgUmlnaHRzIFJlc2VydmVkLlxuICpcbiAqIFVzZSBvZiB0aGlzIHNvdXJjZSBjb2RlIGlzIGdvdmVybmVkIGJ5IGFuIE1JVC1zdHlsZSBsaWNlbnNlIHRoYXQgY2FuIGJlXG4gKiBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlIGF0IGh0dHBzOi8vYW5ndWxhci5pby9saWNlbnNlXG4gKi9cbmltcG9ydCAnLi4vem9uZS1zcGVjL2Zha2UtYXN5bmMtdGVzdCc7XG5cblpvbmUuX19sb2FkX3BhdGNoKCdmYWtlYXN5bmMnLCAoZ2xvYmFsOiBhbnksIFpvbmU6IFpvbmVUeXBlLCBhcGk6IF9ab25lUHJpdmF0ZSkgPT4ge1xuICBjb25zdCBGYWtlQXN5bmNUZXN0Wm9uZVNwZWMgPSBab25lICYmIChab25lIGFzIGFueSlbJ0Zha2VBc3luY1Rlc3Rab25lU3BlYyddO1xuICB0eXBlIFByb3h5Wm9uZVNwZWMgPSB7XG4gICAgc2V0RGVsZWdhdGUoZGVsZWdhdGVTcGVjOiBab25lU3BlYyk6IHZvaWQ7IGdldERlbGVnYXRlKCk6IFpvbmVTcGVjOyByZXNldERlbGVnYXRlKCk6IHZvaWQ7XG4gIH07XG4gIGNvbnN0IFByb3h5Wm9uZVNwZWM6IHtnZXQoKTogUHJveHlab25lU3BlYzsgYXNzZXJ0UHJlc2VudDogKCkgPT4gUHJveHlab25lU3BlY30gPVxuICAgICAgWm9uZSAmJiAoWm9uZSBhcyBhbnkpWydQcm94eVpvbmVTcGVjJ107XG5cbiAgbGV0IF9mYWtlQXN5bmNUZXN0Wm9uZVNwZWM6IGFueSA9IG51bGw7XG5cbiAgLyoqXG4gICAqIENsZWFycyBvdXQgdGhlIHNoYXJlZCBmYWtlIGFzeW5jIHpvbmUgZm9yIGEgdGVzdC5cbiAgICogVG8gYmUgY2FsbGVkIGluIGEgZ2xvYmFsIGBiZWZvcmVFYWNoYC5cbiAgICpcbiAgICogQGV4cGVyaW1lbnRhbFxuICAgKi9cbiAgZnVuY3Rpb24gcmVzZXRGYWtlQXN5bmNab25lKCkge1xuICAgIGlmIChfZmFrZUFzeW5jVGVzdFpvbmVTcGVjKSB7XG4gICAgICBfZmFrZUFzeW5jVGVzdFpvbmVTcGVjLnVubG9ja0RhdGVQYXRjaCgpO1xuICAgIH1cbiAgICBfZmFrZUFzeW5jVGVzdFpvbmVTcGVjID0gbnVsbDtcbiAgICAvLyBpbiBub2RlLmpzIHRlc3Rpbmcgd2UgbWF5IG5vdCBoYXZlIFByb3h5Wm9uZVNwZWMgaW4gd2hpY2ggY2FzZSB0aGVyZSBpcyBub3RoaW5nIHRvIHJlc2V0LlxuICAgIFByb3h5Wm9uZVNwZWMgJiYgUHJveHlab25lU3BlYy5hc3NlcnRQcmVzZW50KCkucmVzZXREZWxlZ2F0ZSgpO1xuICB9XG5cbiAgLyoqXG4gICAqIFdyYXBzIGEgZnVuY3Rpb24gdG8gYmUgZXhlY3V0ZWQgaW4gdGhlIGZha2VBc3luYyB6b25lOlxuICAgKiAtIG1pY3JvdGFza3MgYXJlIG1hbnVhbGx5IGV4ZWN1dGVkIGJ5IGNhbGxpbmcgYGZsdXNoTWljcm90YXNrcygpYCxcbiAgICogLSB0aW1lcnMgYXJlIHN5bmNocm9ub3VzLCBgdGljaygpYCBzaW11bGF0ZXMgdGhlIGFzeW5jaHJvbm91cyBwYXNzYWdlIG9mIHRpbWUuXG4gICAqXG4gICAqIElmIHRoZXJlIGFyZSBhbnkgcGVuZGluZyB0aW1lcnMgYXQgdGhlIGVuZCBvZiB0aGUgZnVuY3Rpb24sIGFuIGV4Y2VwdGlvbiB3aWxsIGJlIHRocm93bi5cbiAgICpcbiAgICogQ2FuIGJlIHVzZWQgdG8gd3JhcCBpbmplY3QoKSBjYWxscy5cbiAgICpcbiAgICogIyMgRXhhbXBsZVxuICAgKlxuICAgKiB7QGV4YW1wbGUgY29yZS90ZXN0aW5nL3RzL2Zha2VfYXN5bmMudHMgcmVnaW9uPSdiYXNpYyd9XG4gICAqXG4gICAqIEBwYXJhbSBmblxuICAgKiBAcmV0dXJucyBUaGUgZnVuY3Rpb24gd3JhcHBlZCB0byBiZSBleGVjdXRlZCBpbiB0aGUgZmFrZUFzeW5jIHpvbmVcbiAgICpcbiAgICogQGV4cGVyaW1lbnRhbFxuICAgKi9cbiAgZnVuY3Rpb24gZmFrZUFzeW5jKGZuOiBGdW5jdGlvbik6ICguLi5hcmdzOiBhbnlbXSkgPT4gYW55IHtcbiAgICAvLyBOb3QgdXNpbmcgYW4gYXJyb3cgZnVuY3Rpb24gdG8gcHJlc2VydmUgY29udGV4dCBwYXNzZWQgZnJvbSBjYWxsIHNpdGVcbiAgICByZXR1cm4gZnVuY3Rpb24odGhpczogdW5rbm93biwgLi4uYXJnczogYW55W10pIHtcbiAgICAgIGNvbnN0IHByb3h5Wm9uZVNwZWMgPSBQcm94eVpvbmVTcGVjLmFzc2VydFByZXNlbnQoKTtcbiAgICAgIGlmIChab25lLmN1cnJlbnQuZ2V0KCdGYWtlQXN5bmNUZXN0Wm9uZVNwZWMnKSkge1xuICAgICAgICB0aHJvdyBuZXcgRXJyb3IoJ2Zha2VBc3luYygpIGNhbGxzIGNhbiBub3QgYmUgbmVzdGVkJyk7XG4gICAgICB9XG4gICAgICB0cnkge1xuICAgICAgICAvLyBpbiBjYXNlIGphc21pbmUuY2xvY2sgaW5pdCBhIGZha2VBc3luY1Rlc3Rab25lU3BlY1xuICAgICAgICBpZiAoIV9mYWtlQXN5bmNUZXN0Wm9uZVNwZWMpIHtcbiAgICAgICAgICBpZiAocHJveHlab25lU3BlYy5nZXREZWxlZ2F0ZSgpIGluc3RhbmNlb2YgRmFrZUFzeW5jVGVzdFpvbmVTcGVjKSB7XG4gICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoJ2Zha2VBc3luYygpIGNhbGxzIGNhbiBub3QgYmUgbmVzdGVkJyk7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgX2Zha2VBc3luY1Rlc3Rab25lU3BlYyA9IG5ldyBGYWtlQXN5bmNUZXN0Wm9uZVNwZWMoKTtcbiAgICAgICAgfVxuXG4gICAgICAgIGxldCByZXM6IGFueTtcbiAgICAgICAgY29uc3QgbGFzdFByb3h5Wm9uZVNwZWMgPSBwcm94eVpvbmVTcGVjLmdldERlbGVnYXRlKCk7XG4gICAgICAgIHByb3h5Wm9uZVNwZWMuc2V0RGVsZWdhdGUoX2Zha2VBc3luY1Rlc3Rab25lU3BlYyk7XG4gICAgICAgIF9mYWtlQXN5bmNUZXN0Wm9uZVNwZWMubG9ja0RhdGVQYXRjaCgpO1xuICAgICAgICB0cnkge1xuICAgICAgICAgIHJlcyA9IGZuLmFwcGx5KHRoaXMsIGFyZ3MpO1xuICAgICAgICAgIGZsdXNoTWljcm90YXNrcygpO1xuICAgICAgICB9IGZpbmFsbHkge1xuICAgICAgICAgIHByb3h5Wm9uZVNwZWMuc2V0RGVsZWdhdGUobGFzdFByb3h5Wm9uZVNwZWMpO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKF9mYWtlQXN5bmNUZXN0Wm9uZVNwZWMucGVuZGluZ1BlcmlvZGljVGltZXJzLmxlbmd0aCA+IDApIHtcbiAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoXG4gICAgICAgICAgICAgIGAke19mYWtlQXN5bmNUZXN0Wm9uZVNwZWMucGVuZGluZ1BlcmlvZGljVGltZXJzLmxlbmd0aH0gYCArXG4gICAgICAgICAgICAgIGBwZXJpb2RpYyB0aW1lcihzKSBzdGlsbCBpbiB0aGUgcXVldWUuYCk7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAoX2Zha2VBc3luY1Rlc3Rab25lU3BlYy5wZW5kaW5nVGltZXJzLmxlbmd0aCA+IDApIHtcbiAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoXG4gICAgICAgICAgICAgIGAke19mYWtlQXN5bmNUZXN0Wm9uZVNwZWMucGVuZGluZ1RpbWVycy5sZW5ndGh9IHRpbWVyKHMpIHN0aWxsIGluIHRoZSBxdWV1ZS5gKTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gcmVzO1xuICAgICAgfSBmaW5hbGx5IHtcbiAgICAgICAgcmVzZXRGYWtlQXN5bmNab25lKCk7XG4gICAgICB9XG4gICAgfTtcbiAgfVxuXG4gIGZ1bmN0aW9uIF9nZXRGYWtlQXN5bmNab25lU3BlYygpOiBhbnkge1xuICAgIGlmIChfZmFrZUFzeW5jVGVzdFpvbmVTcGVjID09IG51bGwpIHtcbiAgICAgIF9mYWtlQXN5bmNUZXN0Wm9uZVNwZWMgPSBab25lLmN1cnJlbnQuZ2V0KCdGYWtlQXN5bmNUZXN0Wm9uZVNwZWMnKTtcbiAgICAgIGlmIChfZmFrZUFzeW5jVGVzdFpvbmVTcGVjID09IG51bGwpIHtcbiAgICAgICAgdGhyb3cgbmV3IEVycm9yKCdUaGUgY29kZSBzaG91bGQgYmUgcnVubmluZyBpbiB0aGUgZmFrZUFzeW5jIHpvbmUgdG8gY2FsbCB0aGlzIGZ1bmN0aW9uJyk7XG4gICAgICB9XG4gICAgfVxuICAgIHJldHVybiBfZmFrZUFzeW5jVGVzdFpvbmVTcGVjO1xuICB9XG5cbiAgLyoqXG4gICAqIFNpbXVsYXRlcyB0aGUgYXN5bmNocm9ub3VzIHBhc3NhZ2Ugb2YgdGltZSBmb3IgdGhlIHRpbWVycyBpbiB0aGUgZmFrZUFzeW5jIHpvbmUuXG4gICAqXG4gICAqIFRoZSBtaWNyb3Rhc2tzIHF1ZXVlIGlzIGRyYWluZWQgYXQgdGhlIHZlcnkgc3RhcnQgb2YgdGhpcyBmdW5jdGlvbiBhbmQgYWZ0ZXIgYW55IHRpbWVyIGNhbGxiYWNrXG4gICAqIGhhcyBiZWVuIGV4ZWN1dGVkLlxuICAgKlxuICAgKiAjIyBFeGFtcGxlXG4gICAqXG4gICAqIHtAZXhhbXBsZSBjb3JlL3Rlc3RpbmcvdHMvZmFrZV9hc3luYy50cyByZWdpb249J2Jhc2ljJ31cbiAgICpcbiAgICogQGV4cGVyaW1lbnRhbFxuICAgKi9cbiAgZnVuY3Rpb24gdGljayhtaWxsaXM6IG51bWJlciA9IDApOiB2b2lkIHsgX2dldEZha2VBc3luY1pvbmVTcGVjKCkudGljayhtaWxsaXMpOyB9XG5cbiAgLyoqXG4gICAqIFNpbXVsYXRlcyB0aGUgYXN5bmNocm9ub3VzIHBhc3NhZ2Ugb2YgdGltZSBmb3IgdGhlIHRpbWVycyBpbiB0aGUgZmFrZUFzeW5jIHpvbmUgYnlcbiAgICogZHJhaW5pbmcgdGhlIG1hY3JvdGFzayBxdWV1ZSB1bnRpbCBpdCBpcyBlbXB0eS4gVGhlIHJldHVybmVkIHZhbHVlIGlzIHRoZSBtaWxsaXNlY29uZHNcbiAgICogb2YgdGltZSB0aGF0IHdvdWxkIGhhdmUgYmVlbiBlbGFwc2VkLlxuICAgKlxuICAgKiBAcGFyYW0gbWF4VHVybnNcbiAgICogQHJldHVybnMgVGhlIHNpbXVsYXRlZCB0aW1lIGVsYXBzZWQsIGluIG1pbGxpcy5cbiAgICpcbiAgICogQGV4cGVyaW1lbnRhbFxuICAgKi9cbiAgZnVuY3Rpb24gZmx1c2gobWF4VHVybnM/OiBudW1iZXIpOiBudW1iZXIgeyByZXR1cm4gX2dldEZha2VBc3luY1pvbmVTcGVjKCkuZmx1c2gobWF4VHVybnMpOyB9XG5cbiAgLyoqXG4gICAqIERpc2NhcmQgYWxsIHJlbWFpbmluZyBwZXJpb2RpYyB0YXNrcy5cbiAgICpcbiAgICogQGV4cGVyaW1lbnRhbFxuICAgKi9cbiAgZnVuY3Rpb24gZGlzY2FyZFBlcmlvZGljVGFza3MoKTogdm9pZCB7XG4gICAgY29uc3Qgem9uZVNwZWMgPSBfZ2V0RmFrZUFzeW5jWm9uZVNwZWMoKTtcbiAgICBjb25zdCBwZW5kaW5nVGltZXJzID0gem9uZVNwZWMucGVuZGluZ1BlcmlvZGljVGltZXJzO1xuICAgIHpvbmVTcGVjLnBlbmRpbmdQZXJpb2RpY1RpbWVycy5sZW5ndGggPSAwO1xuICB9XG5cbiAgLyoqXG4gICAqIEZsdXNoIGFueSBwZW5kaW5nIG1pY3JvdGFza3MuXG4gICAqXG4gICAqIEBleHBlcmltZW50YWxcbiAgICovXG4gIGZ1bmN0aW9uIGZsdXNoTWljcm90YXNrcygpOiB2b2lkIHsgX2dldEZha2VBc3luY1pvbmVTcGVjKCkuZmx1c2hNaWNyb3Rhc2tzKCk7IH1cbiAgKFpvbmUgYXMgYW55KVthcGkuc3ltYm9sKCdmYWtlQXN5bmNUZXN0JyldID0ge1xuICAgICAgcmVzZXRGYWtlQXN5bmNab25lLCBmbHVzaE1pY3JvdGFza3MsIGRpc2NhcmRQZXJpb2RpY1Rhc2tzLCB0aWNrLCBmbHVzaCwgZmFrZUFzeW5jfTtcbn0pO1xuIl19
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmFrZS1hc3luYy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL3pvbmUuanMvbGliL3Rlc3RpbmcvZmFrZS1hc3luYy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7OztJQUFBOzs7Ozs7T0FNRztJQUNILHdDQUFzQztJQUV0QyxJQUFJLENBQUMsWUFBWSxDQUFDLFdBQVcsRUFBRSxVQUFDLE1BQVcsRUFBRSxJQUFjLEVBQUUsR0FBaUI7UUFDNUUsSUFBTSxxQkFBcUIsR0FBRyxJQUFJLElBQUssSUFBWSxDQUFDLHVCQUF1QixDQUFDLENBQUM7UUFJN0UsSUFBTSxhQUFhLEdBQ2YsSUFBSSxJQUFLLElBQVksQ0FBQyxlQUFlLENBQUMsQ0FBQztRQUUzQyxJQUFJLHNCQUFzQixHQUFRLElBQUksQ0FBQztRQUV2Qzs7Ozs7V0FLRztRQUNILFNBQVMsa0JBQWtCO1lBQ3pCLElBQUksc0JBQXNCLEVBQUU7Z0JBQzFCLHNCQUFzQixDQUFDLGVBQWUsRUFBRSxDQUFDO2FBQzFDO1lBQ0Qsc0JBQXNCLEdBQUcsSUFBSSxDQUFDO1lBQzlCLDRGQUE0RjtZQUM1RixhQUFhLElBQUksYUFBYSxDQUFDLGFBQWEsRUFBRSxDQUFDLGFBQWEsRUFBRSxDQUFDO1FBQ2pFLENBQUM7UUFFRDs7Ozs7Ozs7Ozs7Ozs7Ozs7V0FpQkc7UUFDSCxTQUFTLFNBQVMsQ0FBQyxFQUFZO1lBQzdCLHdFQUF3RTtZQUN4RSxPQUFPO2dCQUF3QixjQUFjO3FCQUFkLFVBQWMsRUFBZCxxQkFBYyxFQUFkLElBQWM7b0JBQWQseUJBQWM7O2dCQUMzQyxJQUFNLGFBQWEsR0FBRyxhQUFhLENBQUMsYUFBYSxFQUFFLENBQUM7Z0JBQ3BELElBQUksSUFBSSxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsdUJBQXVCLENBQUMsRUFBRTtvQkFDN0MsTUFBTSxJQUFJLEtBQUssQ0FBQyxxQ0FBcUMsQ0FBQyxDQUFDO2lCQUN4RDtn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V0FBQTtTQUFDLENBQUM7SUFDekYsQ0FBQyxDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEBsaWNlbnNlXG4gKiBDb3B5cmlnaHQgR29vZ2xlIEluYy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC5cbiAqXG4gKiBVc2Ugb2YgdGhpcyBzb3VyY2UgY29kZSBpcyBnb3Zlcm5lZCBieSBhbiBNSVQtc3R5bGUgbGljZW5zZSB0aGF0IGNhbiBiZVxuICogZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZSBhdCBodHRwczovL2FuZ3VsYXIuaW8vbGljZW5zZVxuICovXG5pbXBvcnQgJy4uL3pvbmUtc3BlYy9mYWtlLWFzeW5jLXRlc3QnO1xuXG5ab25lLl9fbG9hZF9wYXRjaCgnZmFrZWFzeW5jJywgKGdsb2JhbDogYW55LCBab25lOiBab25lVHlwZSwgYXBpOiBfWm9uZVByaXZhdGUpID0+IHtcbiAgY29uc3QgRmFrZUFzeW5jVGVzdFpvbmVTcGVjID0gWm9uZSAmJiAoWm9uZSBhcyBhbnkpWydGYWtlQXN5bmNUZXN0Wm9uZVNwZWMnXTtcbiAgdHlwZSBQcm94eVpvbmVTcGVjID0ge1xuICAgIHNldERlbGVnYXRlKGRlbGVnYXRlU3BlYzogWm9uZVNwZWMpOiB2b2lkOyBnZXREZWxlZ2F0ZSgpOiBab25lU3BlYzsgcmVzZXREZWxlZ2F0ZSgpOiB2b2lkO1xuICB9O1xuICBjb25zdCBQcm94eVpvbmVTcGVjOiB7Z2V0KCk6IFByb3h5Wm9uZVNwZWM7IGFzc2VydFByZXNlbnQ6ICgpID0+IFByb3h5Wm9uZVNwZWN9ID1cbiAgICAgIFpvbmUgJiYgKFpvbmUgYXMgYW55KVsnUHJveHlab25lU3BlYyddO1xuXG4gIGxldCBfZmFrZUFzeW5jVGVzdFpvbmVTcGVjOiBhbnkgPSBudWxsO1xuXG4gIC8qKlxuICAgKiBDbGVhcnMgb3V0IHRoZSBzaGFyZWQgZmFrZSBhc3luYyB6b25lIGZvciBhIHRlc3QuXG4gICAqIFRvIGJlIGNhbGxlZCBpbiBhIGdsb2JhbCBgYmVmb3JlRWFjaGAuXG4gICAqXG4gICAqIEBleHBlcmltZW50YWxcbiAgICovXG4gIGZ1bmN0aW9uIHJlc2V0RmFrZUFzeW5jWm9uZSgpIHtcbiAgICBpZiAoX2Zha2VBc3luY1Rlc3Rab25lU3BlYykge1xuICAgICAgX2Zha2VBc3luY1Rlc3Rab25lU3BlYy51bmxvY2tEYXRlUGF0Y2goKTtcbiAgICB9XG4gICAgX2Zha2VBc3luY1Rlc3Rab25lU3BlYyA9IG51bGw7XG4gICAgLy8gaW4gbm9kZS5qcyB0ZXN0aW5nIHdlIG1heSBub3QgaGF2ZSBQcm94eVpvbmVTcGVjIGluIHdoaWNoIGNhc2UgdGhlcmUgaXMgbm90aGluZyB0byByZXNldC5cbiAgICBQcm94eVpvbmVTcGVjICYmIFByb3h5Wm9uZVNwZWMuYXNzZXJ0UHJlc2VudCgpLnJlc2V0RGVsZWdhdGUoKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBXcmFwcyBhIGZ1bmN0aW9uIHRvIGJlIGV4ZWN1dGVkIGluIHRoZSBmYWtlQXN5bmMgem9uZTpcbiAgICogLSBtaWNyb3Rhc2tzIGFyZSBtYW51YWxseSBleGVjdXRlZCBieSBjYWxsaW5nIGBmbHVzaE1pY3JvdGFza3MoKWAsXG4gICAqIC0gdGltZXJzIGFyZSBzeW5jaHJvbm91cywgYHRpY2soKWAgc2ltdWxhdGVzIHRoZSBhc3luY2hyb25vdXMgcGFzc2FnZSBvZiB0aW1lLlxuICAgKlxuICAgKiBJZiB0aGVyZSBhcmUgYW55IHBlbmRpbmcgdGltZXJzIGF0IHRoZSBlbmQgb2YgdGhlIGZ1bmN0aW9uLCBhbiBleGNlcHRpb24gd2lsbCBiZSB0aHJvd24uXG4gICAqXG4gICAqIENhbiBiZSB1c2VkIHRvIHdyYXAgaW5qZWN0KCkgY2FsbHMuXG4gICAqXG4gICAqICMjIEV4YW1wbGVcbiAgICpcbiAgICoge0BleGFtcGxlIGNvcmUvdGVzdGluZy90cy9mYWtlX2FzeW5jLnRzIHJlZ2lvbj0nYmFzaWMnfVxuICAgKlxuICAgKiBAcGFyYW0gZm5cbiAgICogQHJldHVybnMgVGhlIGZ1bmN0aW9uIHdyYXBwZWQgdG8gYmUgZXhlY3V0ZWQgaW4gdGhlIGZha2VBc3luYyB6b25lXG4gICAqXG4gICAqIEBleHBlcmltZW50YWxcbiAgICovXG4gIGZ1bmN0aW9uIGZha2VBc3luYyhmbjogRnVuY3Rpb24pOiAoLi4uYXJnczogYW55W10pID0+IGFueSB7XG4gICAgLy8gTm90IHVzaW5nIGFuIGFycm93IGZ1bmN0aW9uIHRvIHByZXNlcnZlIGNvbnRleHQgcGFzc2VkIGZyb20gY2FsbCBzaXRlXG4gICAgcmV0dXJuIGZ1bmN0aW9uKHRoaXM6IHVua25vd24sIC4uLmFyZ3M6IGFueVtdKSB7XG4gICAgICBjb25zdCBwcm94eVpvbmVTcGVjID0gUHJveHlab25lU3BlYy5hc3NlcnRQcmVzZW50KCk7XG4gICAgICBpZiAoWm9uZS5jdXJyZW50LmdldCgnRmFrZUFzeW5jVGVzdFpvbmVTcGVjJykpIHtcbiAgICAgICAgdGhyb3cgbmV3IEVycm9yKCdmYWtlQXN5bmMoKSBjYWxscyBjYW4gbm90IGJlIG5lc3RlZCcpO1xuICAgICAgfVxuICAgICAgdHJ5IHtcbiAgICAgICAgLy8gaW4gY2FzZSBqYXNtaW5lLmNsb2NrIGluaXQgYSBmYWtlQXN5bmNUZXN0Wm9uZVNwZWNcbiAgICAgICAgaWYgKCFfZmFrZUFzeW5jVGVzdFpvbmVTcGVjKSB7XG4gICAgICAgICAgaWYgKHByb3h5Wm9uZVNwZWMuZ2V0RGVsZWdhdGUoKSBpbnN0YW5jZW9mIEZha2VBc3luY1Rlc3Rab25lU3BlYykge1xuICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKCdmYWtlQXN5bmMoKSBjYWxscyBjYW4gbm90IGJlIG5lc3RlZCcpO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIF9mYWtlQXN5bmNUZXN0Wm9uZVNwZWMgPSBuZXcgRmFrZUFzeW5jVGVzdFpvbmVTcGVjKCk7XG4gICAgICAgIH1cblxuICAgICAgICBsZXQgcmVzOiBhbnk7XG4gICAgICAgIGNvbnN0IGxhc3RQcm94eVpvbmVTcGVjID0gcHJveHlab25lU3BlYy5nZXREZWxlZ2F0ZSgpO1xuICAgICAgICBwcm94eVpvbmVTcGVjLnNldERlbGVnYXRlKF9mYWtlQXN5bmNUZXN0Wm9uZVNwZWMpO1xuICAgICAgICBfZmFrZUFzeW5jVGVzdFpvbmVTcGVjLmxvY2tEYXRlUGF0Y2goKTtcbiAgICAgICAgdHJ5IHtcbiAgICAgICAgICByZXMgPSBmbi5hcHBseSh0aGlzLCBhcmdzKTtcbiAgICAgICAgICBmbHVzaE1pY3JvdGFza3MoKTtcbiAgICAgICAgfSBmaW5hbGx5IHtcbiAgICAgICAgICBwcm94eVpvbmVTcGVjLnNldERlbGVnYXRlKGxhc3RQcm94eVpvbmVTcGVjKTtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmIChfZmFrZUFzeW5jVGVzdFpvbmVTcGVjLnBlbmRpbmdQZXJpb2RpY1RpbWVycy5sZW5ndGggPiAwKSB7XG4gICAgICAgICAgdGhyb3cgbmV3IEVycm9yKFxuICAgICAgICAgICAgICBgJHtfZmFrZUFzeW5jVGVzdFpvbmVTcGVjLnBlbmRpbmdQZXJpb2RpY1RpbWVycy5sZW5ndGh9IGAgK1xuICAgICAgICAgICAgICBgcGVyaW9kaWMgdGltZXIocykgc3RpbGwgaW4gdGhlIHF1ZXVlLmApO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKF9mYWtlQXN5bmNUZXN0Wm9uZVNwZWMucGVuZGluZ1RpbWVycy5sZW5ndGggPiAwKSB7XG4gICAgICAgICAgdGhyb3cgbmV3IEVycm9yKFxuICAgICAgICAgICAgICBgJHtfZmFrZUFzeW5jVGVzdFpvbmVTcGVjLnBlbmRpbmdUaW1lcnMubGVuZ3RofSB0aW1lcihzKSBzdGlsbCBpbiB0aGUgcXVldWUuYCk7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIHJlcztcbiAgICAgIH0gZmluYWxseSB7XG4gICAgICAgIHJlc2V0RmFrZUFzeW5jWm9uZSgpO1xuICAgICAgfVxuICAgIH07XG4gIH1cblxuICBmdW5jdGlvbiBfZ2V0RmFrZUFzeW5jWm9uZVNwZWMoKTogYW55IHtcbiAgICBpZiAoX2Zha2VBc3luY1Rlc3Rab25lU3BlYyA9PSBudWxsKSB7XG4gICAgICBfZmFrZUFzeW5jVGVzdFpvbmVTcGVjID0gWm9uZS5jdXJyZW50LmdldCgnRmFrZUFzeW5jVGVzdFpvbmVTcGVjJyk7XG4gICAgICBpZiAoX2Zha2VBc3luY1Rlc3Rab25lU3BlYyA9PSBudWxsKSB7XG4gICAgICAgIHRocm93IG5ldyBFcnJvcignVGhlIGNvZGUgc2hvdWxkIGJlIHJ1bm5pbmcgaW4gdGhlIGZha2VBc3luYyB6b25lIHRvIGNhbGwgdGhpcyBmdW5jdGlvbicpO1xuICAgICAgfVxuICAgIH1cbiAgICByZXR1cm4gX2Zha2VBc3luY1Rlc3Rab25lU3BlYztcbiAgfVxuXG4gIC8qKlxuICAgKiBTaW11bGF0ZXMgdGhlIGFzeW5jaHJvbm91cyBwYXNzYWdlIG9mIHRpbWUgZm9yIHRoZSB0aW1lcnMgaW4gdGhlIGZha2VBc3luYyB6b25lLlxuICAgKlxuICAgKiBUaGUgbWljcm90YXNrcyBxdWV1ZSBpcyBkcmFpbmVkIGF0IHRoZSB2ZXJ5IHN0YXJ0IG9mIHRoaXMgZnVuY3Rpb24gYW5kIGFmdGVyIGFueSB0aW1lciBjYWxsYmFja1xuICAgKiBoYXMgYmVlbiBleGVjdXRlZC5cbiAgICpcbiAgICogIyMgRXhhbXBsZVxuICAgKlxuICAgKiB7QGV4YW1wbGUgY29yZS90ZXN0aW5nL3RzL2Zha2VfYXN5bmMudHMgcmVnaW9uPSdiYXNpYyd9XG4gICAqXG4gICAqIEBleHBlcmltZW50YWxcbiAgICovXG4gIGZ1bmN0aW9uIHRpY2sobWlsbGlzOiBudW1iZXIgPSAwLCBpZ25vcmVOZXN0ZWRUaW1lb3V0ID0gZmFsc2UpOiB2b2lkIHtcbiAgICBfZ2V0RmFrZUFzeW5jWm9uZVNwZWMoKS50aWNrKG1pbGxpcywgbnVsbCwgaWdub3JlTmVzdGVkVGltZW91dCk7XG4gIH1cblxuICAvKipcbiAgICogU2ltdWxhdGVzIHRoZSBhc3luY2hyb25vdXMgcGFzc2FnZSBvZiB0aW1lIGZvciB0aGUgdGltZXJzIGluIHRoZSBmYWtlQXN5bmMgem9uZSBieVxuICAgKiBkcmFpbmluZyB0aGUgbWFjcm90YXNrIHF1ZXVlIHVudGlsIGl0IGlzIGVtcHR5LiBUaGUgcmV0dXJuZWQgdmFsdWUgaXMgdGhlIG1pbGxpc2Vjb25kc1xuICAgKiBvZiB0aW1lIHRoYXQgd291bGQgaGF2ZSBiZWVuIGVsYXBzZWQuXG4gICAqXG4gICAqIEBwYXJhbSBtYXhUdXJuc1xuICAgKiBAcmV0dXJucyBUaGUgc2ltdWxhdGVkIHRpbWUgZWxhcHNlZCwgaW4gbWlsbGlzLlxuICAgKlxuICAgKiBAZXhwZXJpbWVudGFsXG4gICAqL1xuICBmdW5jdGlvbiBmbHVzaChtYXhUdXJucz86IG51bWJlcik6IG51bWJlciB7IHJldHVybiBfZ2V0RmFrZUFzeW5jWm9uZVNwZWMoKS5mbHVzaChtYXhUdXJucyk7IH1cblxuICAvKipcbiAgICogRGlzY2FyZCBhbGwgcmVtYWluaW5nIHBlcmlvZGljIHRhc2tzLlxuICAgKlxuICAgKiBAZXhwZXJpbWVudGFsXG4gICAqL1xuICBmdW5jdGlvbiBkaXNjYXJkUGVyaW9kaWNUYXNrcygpOiB2b2lkIHtcbiAgICBjb25zdCB6b25lU3BlYyA9IF9nZXRGYWtlQXN5bmNab25lU3BlYygpO1xuICAgIGNvbnN0IHBlbmRpbmdUaW1lcnMgPSB6b25lU3BlYy5wZW5kaW5nUGVyaW9kaWNUaW1lcnM7XG4gICAgem9uZVNwZWMucGVuZGluZ1BlcmlvZGljVGltZXJzLmxlbmd0aCA9IDA7XG4gIH1cblxuICAvKipcbiAgICogRmx1c2ggYW55IHBlbmRpbmcgbWljcm90YXNrcy5cbiAgICpcbiAgICogQGV4cGVyaW1lbnRhbFxuICAgKi9cbiAgZnVuY3Rpb24gZmx1c2hNaWNyb3Rhc2tzKCk6IHZvaWQgeyBfZ2V0RmFrZUFzeW5jWm9uZVNwZWMoKS5mbHVzaE1pY3JvdGFza3MoKTsgfVxuICAoWm9uZSBhcyBhbnkpW2FwaS5zeW1ib2woJ2Zha2VBc3luY1Rlc3QnKV0gPSB7XG4gICAgICByZXNldEZha2VBc3luY1pvbmUsIGZsdXNoTWljcm90YXNrcywgZGlzY2FyZFBlcmlvZGljVGFza3MsIHRpY2ssIGZsdXNoLCBmYWtlQXN5bmN9O1xufSk7XG4iXX0=

@@ -8,2 +8,2 @@ /**

*/
/// <amd-module name="angular/packages/zone.js/lib/testing/promise-testing" />
/// <amd-module name="zone.js/lib/testing/promise-testing" />

@@ -8,3 +8,3 @@ /**

*/
/// <amd-module name="angular/packages/zone.js/lib/testing/zone-testing" />
/// <amd-module name="zone.js/lib/testing/zone-testing" />
import '../zone-spec/long-stack-trace';

@@ -14,4 +14,6 @@ import '../zone-spec/proxy';

import '../jasmine/jasmine';
import '../jest/jest';
import '../mocha/mocha';
import './async-testing';
import './fake-async';
import './promise-testing';

@@ -14,3 +14,3 @@ /**

else if (typeof define === "function" && define.amd) {
define("angular/packages/zone.js/lib/testing/zone-testing", ["require", "exports", "../zone-spec/long-stack-trace", "../zone-spec/proxy", "../zone-spec/sync-test", "../jasmine/jasmine", "angular/packages/zone.js/lib/testing/async-testing", "angular/packages/zone.js/lib/testing/fake-async", "./promise-testing"], factory);
define("zone.js/lib/testing/zone-testing", ["require", "exports", "../zone-spec/long-stack-trace", "../zone-spec/proxy", "../zone-spec/sync-test", "../jasmine/jasmine", "../jest/jest", "../mocha/mocha", "zone.js/lib/testing/async-testing", "zone.js/lib/testing/fake-async", "./promise-testing"], factory);
}

@@ -25,6 +25,8 @@ })(function (require, exports) {

require("../jasmine/jasmine");
require("angular/packages/zone.js/lib/testing/async-testing");
require("angular/packages/zone.js/lib/testing/fake-async");
require("../jest/jest");
require("../mocha/mocha");
require("zone.js/lib/testing/async-testing");
require("zone.js/lib/testing/fake-async");
require("./promise-testing");
});
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiem9uZS10ZXN0aW5nLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvem9uZS5qcy9saWIvdGVzdGluZy96b25lLXRlc3RpbmcudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7OztHQU1HOzs7Ozs7Ozs7Ozs7SUFFSCx1REFBdUQ7SUFDdkQseUNBQXVDO0lBQ3ZDLDhCQUE0QjtJQUM1QixrQ0FBZ0M7SUFDaEMsOEJBQTRCO0lBQzVCLDhEQUF5QjtJQUN6QiwyREFBc0I7SUFDdEIsNkJBQTJCIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBAbGljZW5zZVxuICogQ29weXJpZ2h0IEdvb2dsZSBJbmMuIEFsbCBSaWdodHMgUmVzZXJ2ZWQuXG4gKlxuICogVXNlIG9mIHRoaXMgc291cmNlIGNvZGUgaXMgZ292ZXJuZWQgYnkgYW4gTUlULXN0eWxlIGxpY2Vuc2UgdGhhdCBjYW4gYmVcbiAqIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUgYXQgaHR0cHM6Ly9hbmd1bGFyLmlvL2xpY2Vuc2VcbiAqL1xuXG4vLyBsb2FkIHRlc3QgcmVsYXRlZCBmaWxlcyBpbnRvIGJ1bmRsZSBpbiBjb3JyZWN0IG9yZGVyXG5pbXBvcnQgJy4uL3pvbmUtc3BlYy9sb25nLXN0YWNrLXRyYWNlJztcbmltcG9ydCAnLi4vem9uZS1zcGVjL3Byb3h5JztcbmltcG9ydCAnLi4vem9uZS1zcGVjL3N5bmMtdGVzdCc7XG5pbXBvcnQgJy4uL2phc21pbmUvamFzbWluZSc7XG5pbXBvcnQgJy4vYXN5bmMtdGVzdGluZyc7XG5pbXBvcnQgJy4vZmFrZS1hc3luYyc7XG5pbXBvcnQgJy4vcHJvbWlzZS10ZXN0aW5nJzsiXX0=
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiem9uZS10ZXN0aW5nLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvem9uZS5qcy9saWIvdGVzdGluZy96b25lLXRlc3RpbmcudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7OztHQU1HOzs7Ozs7Ozs7Ozs7SUFFSCx1REFBdUQ7SUFDdkQseUNBQXVDO0lBQ3ZDLDhCQUE0QjtJQUM1QixrQ0FBZ0M7SUFDaEMsOEJBQTRCO0lBQzVCLHdCQUFzQjtJQUN0QiwwQkFBd0I7SUFDeEIsNkNBQXlCO0lBQ3pCLDBDQUFzQjtJQUN0Qiw2QkFBMkIiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEBsaWNlbnNlXG4gKiBDb3B5cmlnaHQgR29vZ2xlIEluYy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC5cbiAqXG4gKiBVc2Ugb2YgdGhpcyBzb3VyY2UgY29kZSBpcyBnb3Zlcm5lZCBieSBhbiBNSVQtc3R5bGUgbGljZW5zZSB0aGF0IGNhbiBiZVxuICogZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZSBhdCBodHRwczovL2FuZ3VsYXIuaW8vbGljZW5zZVxuICovXG5cbi8vIGxvYWQgdGVzdCByZWxhdGVkIGZpbGVzIGludG8gYnVuZGxlIGluIGNvcnJlY3Qgb3JkZXJcbmltcG9ydCAnLi4vem9uZS1zcGVjL2xvbmctc3RhY2stdHJhY2UnO1xuaW1wb3J0ICcuLi96b25lLXNwZWMvcHJveHknO1xuaW1wb3J0ICcuLi96b25lLXNwZWMvc3luYy10ZXN0JztcbmltcG9ydCAnLi4vamFzbWluZS9qYXNtaW5lJztcbmltcG9ydCAnLi4vamVzdC9qZXN0JztcbmltcG9ydCAnLi4vbW9jaGEvbW9jaGEnO1xuaW1wb3J0ICcuL2FzeW5jLXRlc3RpbmcnO1xuaW1wb3J0ICcuL2Zha2UtYXN5bmMnO1xuaW1wb3J0ICcuL3Byb21pc2UtdGVzdGluZyc7XG4iXX0=

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

/// <amd-module name="angular/packages/zone.js/lib/zone-spec/async-test" />
/// <amd-module name="zone.js/lib/zone-spec/async-test" />

@@ -8,2 +8,2 @@ /**

*/
/// <amd-module name="angular/packages/zone.js/lib/zone-spec/fake-async-test" />
/// <amd-module name="zone.js/lib/zone-spec/fake-async-test" />

@@ -12,3 +12,3 @@ /**

*/
/// <amd-module name="angular/packages/zone.js/lib/zone-spec/long-stack-trace" />
/// <amd-module name="zone.js/lib/zone-spec/long-stack-trace" />
declare const NEWLINE = "\n";

@@ -15,0 +15,0 @@ declare const IGNORE_FRAMES: {

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

/// <amd-module name="angular/packages/zone.js/lib/zone-spec/proxy" />
/// <amd-module name="zone.js/lib/zone-spec/proxy" />
/**

@@ -3,0 +3,0 @@ * @license

@@ -8,3 +8,3 @@ /**

*/
/// <amd-module name="angular/packages/zone.js/lib/zone-spec/sync-test" />
/// <amd-module name="zone.js/lib/zone-spec/sync-test" />
declare class SyncTestZoneSpec implements ZoneSpec {

@@ -11,0 +11,0 @@ runZone: Zone;

@@ -8,3 +8,3 @@ /**

*/
/// <amd-module name="angular/packages/zone.js/lib/zone-spec/task-tracking" />
/// <amd-module name="zone.js/lib/zone-spec/task-tracking" />
/**

@@ -11,0 +11,0 @@ * A `TaskTrackingZoneSpec` allows one to track all outstanding Tasks.

@@ -12,2 +12,2 @@ /**

*/
/// <amd-module name="angular/packages/zone.js/lib/zone-spec/wtf" />
/// <amd-module name="zone.js/lib/zone-spec/wtf" />

@@ -93,2 +93,3 @@ "use strict";

if (obj.hasOwnProperty(key)) {
// explicit : any due to https://github.com/microsoft/TypeScript/issues/33191
var value = obj[key];

@@ -120,2 +121,2 @@ switch (typeof value) {

})(typeof window === 'object' && window || typeof self === 'object' && self || global);
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid3RmLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvem9uZS5qcy9saWIvem9uZS1zcGVjL3d0Zi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUE7Ozs7OztHQU1HO0FBQ0g7OztHQUdHO0FBRUgsQ0FBQyxVQUFTLE1BQVc7SUFvQm5CLHdCQUF3QjtJQUN4QixJQUFJLFFBQVEsR0FBa0IsSUFBSSxDQUFDO0lBQ25DLElBQUksU0FBUyxHQUFtQixJQUFJLENBQUM7SUFDckMsSUFBTSxVQUFVLEdBQVksQ0FBQztRQUMzQixJQUFNLEdBQUcsR0FBUSxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDL0IsSUFBSSxHQUFHLEVBQUU7WUFDUCxRQUFRLEdBQUcsR0FBRyxDQUFDLEtBQUssQ0FBQztZQUNyQixJQUFJLFFBQVEsRUFBRTtnQkFDWixTQUFTLEdBQUcsUUFBUSxDQUFDLE1BQU0sQ0FBQztnQkFDNUIsT0FBTyxJQUFJLENBQUM7YUFDYjtTQUNGO1FBQ0QsT0FBTyxLQUFLLENBQUM7SUFDZixDQUFDLENBQUMsRUFBRSxDQUFDO0lBRUw7UUFBQTtZQUNFLFNBQUksR0FBVyxLQUFLLENBQUM7UUE4RXZCLENBQUM7UUFyRUMsNEJBQU0sR0FBTixVQUNJLGtCQUFnQyxFQUFFLFdBQWlCLEVBQUUsVUFBZ0IsRUFDckUsUUFBa0I7WUFDcEIsSUFBTSxRQUFRLEdBQUcsa0JBQWtCLENBQUMsSUFBSSxDQUFDLFVBQVUsRUFBRSxRQUFRLENBQUMsQ0FBQztZQUMvRCxXQUFXLENBQUMsWUFBYyxDQUFDLFlBQVksQ0FBQyxVQUFVLENBQUMsRUFBRSxRQUFRLENBQUMsSUFBSSxDQUFDLENBQUM7WUFDcEUsT0FBTyxRQUFRLENBQUM7UUFDbEIsQ0FBQztRQUVELDhCQUFRLEdBQVIsVUFDSSxrQkFBZ0MsRUFBRSxXQUFpQixFQUFFLFVBQWdCLEVBQUUsUUFBa0IsRUFDekYsU0FBYyxFQUFFLFNBQWlCLEVB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Q0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFJLENBQUM7d0JBQ3pFLE1BQU07b0JBQ1IsS0FBSyxVQUFVO3dCQUNiLEtBQUssR0FBRyxLQUFLLENBQUMsSUFBSSxJQUFJLFNBQVMsQ0FBQzt3QkFDaEMsTUFBTTtpQkFDVDtnQkFDRCxHQUFHLENBQUMsR0FBRyxDQUFDLEdBQUcsS0FBSyxDQUFDO2FBQ2xCO1NBQ0Y7UUFDRCxPQUFPLEdBQUcsQ0FBQztJQUNiLENBQUM7SUFFRCxTQUFTLFlBQVksQ0FBQyxJQUFVO1FBQzlCLElBQUksSUFBSSxHQUFXLElBQUksQ0FBQyxJQUFJLENBQUM7UUFDN0IsSUFBSSxTQUFTLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQztRQUM1QixPQUFPLFNBQVMsSUFBSSxJQUFJLEVBQUU7WUFDeEIsSUFBSSxHQUFHLFNBQVMsQ0FBQyxJQUFJLEdBQUcsSUFBSSxHQUFHLElBQUksQ0FBQztZQUNwQyxTQUFTLEdBQUcsU0FBUyxDQUFDLE1BQU0sQ0FBQztTQUM5QjtRQUNELE9BQU8sSUFBSSxDQUFDO0lBQ2QsQ0FBQztJQUVBLElBQVksQ0FBQyxhQUFhLENBQUMsR0FBRyxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxJQUFJLFdBQVcsRUFBRSxDQUFDO0FBQ3hFLENBQUMsQ0FBQyxDQUFDLE9BQU8sTUFBTSxLQUFLLFFBQVEsSUFBSSxNQUFNLElBQUksT0FBTyxJQUFJLEtBQUssUUFBUSxJQUFJLElBQUksSUFBSSxNQUFNLENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogQGxpY2Vuc2VcbiAqIENvcHlyaWdodCBHb29nbGUgSW5jLiBBbGwgUmlnaHRzIFJlc2VydmVkLlxuICpcbiAqIFVzZSBvZiB0aGlzIHNvdXJjZSBjb2RlIGlzIGdvdmVybmVkIGJ5IGFuIE1JVC1zdHlsZSBsaWNlbnNlIHRoYXQgY2FuIGJlXG4gKiBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlIGF0IGh0dHBzOi8vYW5ndWxhci5pby9saWNlbnNlXG4gKi9cbi8qKlxuICogQGZpbGVvdmVydmlld1xuICogQHN1cHByZXNzIHttaXNzaW5nUmVxdWlyZX1cbiAqL1xuXG4oZnVuY3Rpb24oZ2xvYmFsOiBhbnkpIHtcbiAgaW50ZXJmYWNlIFd0ZiB7XG4gICAgdHJhY2U6IFd0ZlRyYWNlO1xuICB9XG4gIGludGVyZmFjZSBXdGZTY29wZSB7fVxuICBpbnRlcmZhY2UgV3RmUmFuZ2Uge31cbiAgaW50ZXJmYWNlIFd0ZlRyYWNlIHtcbiAgICBldmVudHM6IFd0ZkV2ZW50cztcbiAgICBsZWF2ZVNjb3BlKHNjb3BlOiBXdGZTY29wZSwgcmV0dXJuVmFsdWU/OiBhbnkpOiB2b2lkO1xuICAgIGJlZ2luVGltZVJhbmdlKHJhbmdlVHlwZTogc3RyaW5nLCBhY3Rpb246IHN0cmluZyk6IFd0ZlJhbmdlO1xuICAgIGVuZFRpbWVSYW5nZShyYW5nZTogV3RmUmFuZ2UpOiB2b2lkO1xuICB9XG4gIGludGVyZmFjZSBXdGZFdmVudHMge1xuICAgIGNyZWF0ZVNjb3BlKHNpZ25hdHVyZTogc3RyaW5nLCBmbGFncz86IGFueSk6IFd0ZlNjb3BlRm47XG4gICAgY3JlYXRlSW5zdGFuY2Uoc2lnbmF0dXJlOiBzdHJpbmcsIGZsYWdzPzogYW55KTogV3RmRXZlbnRGbjtcbiAgfVxuXG4gIHR5cGUgV3RmU2NvcGVGbiA9ICguLi5hcmdzOiBhbnlbXSkgPT4gV3RmU2NvcGU7XG4gIHR5cGUgV3RmRXZlbnRGbiA9ICguLi5hcmdzOiBhbnlbXSkgPT4gYW55O1xuXG4gIC8vIERldGVjdCBhbmQgc2V0dXAgV1RGLlxuICBsZXQgd3RmVHJhY2U6IFd0ZlRyYWNlfG51bGwgPSBudWxsO1xuICBsZXQgd3RmRXZlbnRzOiBXdGZFdmVudHN8bnVsbCA9IG51bGw7XG4gIGNvbnN0IHd0ZkVuYWJsZWQ6IGJvb2xlYW4gPSAoZnVuY3Rpb24oKTogYm9vbGVhbiB7XG4gICAgY29uc3Qgd3RmOiBXdGYgPSBnbG9iYWxbJ3d0ZiddO1xuICAgIGlmICh3dGYpIHtcbiAgICAgIHd0ZlRyYWNlID0gd3RmLnRyYWNlO1xuICAgICAgaWYgKHd0ZlRyYWNlKSB7XG4gICAgICAgIHd0ZkV2ZW50cyA9IHd0ZlRyYWNlLmV2ZW50cztcbiAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICB9XG4gICAgfVxuICAgIHJldHVybiBmYWxzZTtcbiAgfSkoKTtcblxuICBjbGFzcyBXdGZab25lU3BlYyBpbXBsZW1lbnRzIFpvbmVTcGVjIHtcbiAgICBuYW1lOiBzdHJpbmcgPSAnV1RGJztcblxuICAgIHN0YXRpYyBmb3JrSW5zdGFuY2UgPVxuICAgICAgICB3dGZFbmFibGVkPyB3dGZFdmVudHMgIS5jcmVhdGVJbnN0YW5jZSgnWm9uZTpmb3JrKGFzY2lpIHpvbmUsIGFzY2lpIG5ld1pvbmUpJyk6IG51bGw7XG4gICAgc3RhdGljIHNjaGVkdWxlSW5zdGFuY2U6IHtba2V5OiBzdHJpbmddOiBXdGZFdmVudEZufSA9IHt9O1xuICAgIHN0YXRpYyBjYW5jZWxJbnN0YW5jZToge1trZXk6IHN0cmluZ106IFd0ZkV2ZW50Rm59ID0ge307XG4gICAgc3RhdGljIGludm9rZVNjb3BlOiB7W2tleTogc3RyaW5nXTogV3RmRXZlbnRGbn0gPSB7fTtcbiAgICBzdGF0aWMgaW52b2tlVGFza1Njb3BlOiB7W2tleTogc3RyaW5nXTogV3RmRXZlbnRGbn0gPSB7fTtcblxuICAgIG9uRm9yayhcbiAgICAgICAgcGFyZW50Wm9uZURlbGVnYXRlOiBab25lRGVsZWdhdGUsIGN1cnJlbnRab25lOiBab25lLCB0YXJnZXRab25lOiBab25lLFxuICAgICAgICB6b25lU3BlYzogWm9uZVNwZWMpOiBab25lIHtcbiAgICAgIGNvbnN0IHJldFZhbHVlID0gcGFyZW50Wm9uZURlbGVnYXRlLmZvcmsodGFyZ2V0Wm9uZSwgem9uZVNwZWMpO1xuICAgICAgV3RmWm9uZVNwZWMuZm9ya0luc3RhbmNlICEoem9uZVBhdGhOYW1lKHRhcmdldFpvbmUpLCByZXRWYWx1ZS5uYW1lKTtcbiAgICAgIHJldHVybiByZXRWYWx1ZTtcbiAgICB9XG5cbiAgICBvbkludm9rZShcbiAgICAgICAgcGFyZW50Wm9uZURlbGVnYXRlOiBab25lRGVsZWdhdGUsIGN1cnJlbnRab25lOiBab25lLCB0YXJnZXRab25lOiBab25lLCBkZWxlZ2F0ZTogRnVuY3Rpb24sXG4gICAgICAgIGFwcGx5VGhpczogYW55LCBhcHBseUFyZ3M/OiBhbnlbXSwgc291cmNlPzogc3RyaW5nKTogYW55IHtcbiAgICAgIGNvbnN0IHNyYyA9IHNvdXJjZSB8fCAndW5rbm93bic7XG4gICAgICBsZXQgc2NvcGUgPSBXdGZab25lU3BlYy5pbnZva2VTY29wZVtzcmNdO1xuICAgICAgaWYgKCFzY29wZSkge1xuICAgICAgICBzY29wZSA9IFd0ZlpvbmVTcGVjLmludm9rZVNjb3BlW3NyY10gPVxuICAgICAgICAgICAgd3RmRXZlbnRzICEuY3JlYXRlU2NvcGUoYFpvbmU6aW52b2tlOiR7c291cmNlfShhc2NpaSB6b25lKWApO1xuICAgICAgfVxuICAgICAgcmV0dXJuIHd0ZlRyYWNlICEubGVhdmVTY29wZShcbiAgICAgICAgICBzY29wZSh6b25lUGF0aE5hbWUodGFyZ2V0Wm9uZSkpLFxuICAgICAgICAgIHBhcmVudFpvbmVEZWxlZ2F0ZS5pbnZva2UodGFyZ2V0Wm9uZSwgZGVsZWdhdGUsIGFwcGx5VGhpcywgYXBwbHlBcmdzLCBzb3VyY2UpKTtcbiAgICB9XG5cblxuICAgIG9uSGFuZGxlRXJyb3IoXG4gICAgICAgIHBhcmVudFpvbmVEZWxlZ2F0ZTogWm9uZURlbGVnYXRlLCBjdXJyZW50Wm9uZTogWm9uZSwgdGFyZ2V0Wm9uZTogWm9uZSxcbiAgICAgICAgZXJyb3I6IGFueSk6IGJvb2xlYW4ge1xuICAgICAgcmV0dXJuIHBhcmVudFpvbmVEZWxlZ2F0ZS5oYW5kbGVFcnJvcih0YXJnZXRab25lLCBlcnJvcik7XG4gICAgfVxuXG4gICAgb25TY2hlZHVsZVRhc2soXG4gICAgICAgIHBhcmVudFpvbmVEZWxlZ2F0ZTogWm9uZURlbGVnYXRlLCBjdXJyZW50Wm9uZTogWm9uZSwgdGFyZ2V0Wm9uZTogWm9uZSwgdGFzazogVGFzayk6IGFueSB7XG4gICAgICBjb25zdCBrZXkgPSB0YXNrLnR5cGUgKyAnOicgKyB0YXNrLnNvdXJjZTtcbiAgICAgIGxldCBpbnN0YW5jZSA9IFd0ZlpvbmVTcGVjLnNjaGVkdWxlSW5zdGFuY2Vba2V5XTtcbiAgICAgIGlmICghaW5zdGFuY2UpIHtcbiAgICAgICAgaW5zdGFuY2UgPSBXdGZab25lU3BlYy5zY2hlZHVsZUluc3RhbmNlW2tleV0gPVxuICAgICAgICAgICAgd3RmRXZlbnRzICEuY3JlYXRlSW5zdGFuY2UoYFpvbmU6c2NoZWR1bGU6JHtrZXl9KGFzY2lpIHpvbmUsIGFueSBkYXRhKWApO1xuICAgICAgfVxuICAgICAgY29uc3QgcmV0VmFsdWUgPSBwYXJlbnRab25lRGVsZWdhdGUuc2NoZWR1bGVUYXNrKHRhcmdldFpvbmUsIHRhc2spO1xuICAgICAgaW5zdGFuY2Uoem9uZVBhdGhOYW1lKHRhcmdldFpvbmUpLCBzaGFsbG93T2JqKHRhc2suZGF0YSwgMikpO1xuICAgICAgcmV0dXJuIHJldFZhbHVlO1xuICAgIH1cblxuXG4gICAgb25JbnZva2VUYXNrKFxuICAgICAgICBwYXJlbnRab25lRGVsZWdhdGU6IFpvbmVEZWxlZ2F0ZSwgY3VycmVudFpvbmU6IFpvbmUsIHRhcmdldFpvbmU6IFpvbmUsIHRhc2s6IFRhc2ssXG4gICAgICAgIGFwcGx5VGhpcz86IGFueSwgYXBwbHlBcmdzPzogYW55W10pOiBhbnkge1xuICAgICAgY29uc3Qgc291cmNlID0gdGFzay5zb3VyY2U7XG4gICAgICBsZXQgc2NvcGUgPSBXdGZab25lU3BlYy5pbnZva2VUYXNrU2NvcGVbc291cmNlXTtcbiAgICAgIGlmICghc2NvcGUpIHtcbiAgICAgICAgc2NvcGUgPSBXdGZab25lU3BlYy5pbnZva2VUYXNrU2NvcGVbc291cmNlXSA9XG4gICAgICAgICAgICB3dGZFdmVudHMgIS5jcmVhdGVTY29wZShgWm9uZTppbnZva2VUYXNrOiR7c291cmNlfShhc2NpaSB6b25lKWApO1xuICAgICAgfVxuICAgICAgcmV0dXJuIHd0ZlRyYWNlICEubGVhdmVTY29wZShcbiAgICAgICAgICBzY29wZSh6b25lUGF0aE5hbWUodGFyZ2V0Wm9uZSkpLFxuICAgICAgICAgIHBhcmVudFpvbmVEZWxlZ2F0ZS5pbnZva2VUYXNrKHRhcmdldFpvbmUsIHRhc2ssIGFwcGx5VGhpcywgYXBwbHlBcmdzKSk7XG4gICAgfVxuXG4gICAgb25DYW5jZWxUYXNrKHBhcmVudFpvbmVEZWxlZ2F0ZTogWm9uZURlbGVnYXRlLCBjdXJyZW50Wm9uZTogWm9uZSwgdGFyZ2V0Wm9uZTogWm9uZSwgdGFzazogVGFzayk6XG4gICAgICAgIGFueSB7XG4gICAgICBjb25zdCBrZXkgPSB0YXNrLnNvdXJjZTtcbiAgICAgIGxldCBpbnN0YW5jZSA9IFd0ZlpvbmVTcGVjLmNhbmNlbEluc3RhbmNlW2tleV07XG4gICAgICBpZiAoIWluc3RhbmNlKSB7XG4gICAgICAgIGluc3RhbmNlID0gV3RmWm9uZVNwZWMuY2FuY2VsSW5zdGFuY2Vba2V5XSA9XG4gICAgICAgICAgICB3dGZFdmVudHMgIS5jcmVhdGVJbnN0YW5jZShgWm9uZTpjYW5jZWw6JHtrZXl9KGFzY2lpIHpvbmUsIGFueSBvcHRpb25zKWApO1xuICAgICAgfVxuICAgICAgY29uc3QgcmV0VmFsdWUgPSBwYXJlbnRab25lRGVsZWdhdGUuY2FuY2VsVGFzayh0YXJnZXRab25lLCB0YXNrKTtcbiAgICAgIGluc3RhbmNlKHpvbmVQYXRoTmFtZSh0YXJnZXRab25lKSwgc2hhbGxvd09iaih0YXNrLmRhdGEsIDIpKTtcbiAgICAgIHJldHVybiByZXRWYWx1ZTtcbiAgICB9XG4gIH1cblxuICBmdW5jdGlvbiBzaGFsbG93T2JqKG9iajoge1trOiBzdHJpbmddOiBhbnl9IHwgdW5kZWZpbmVkLCBkZXB0aDogbnVtYmVyKTogYW55IHtcbiAgICBpZiAoIW9iaiB8fCAhZGVwdGgpIHJldHVybiBudWxsO1xuICAgIGNvbnN0IG91dDoge1trOiBzdHJpbmddOiBhbnl9ID0ge307XG4gICAgZm9yIChjb25zdCBrZXkgaW4gb2JqKSB7XG4gICAgICBpZiAob2JqLmhhc093blByb3BlcnR5KGtleSkpIHtcbiAgICAgICAgbGV0IHZhbHVlID0gb2JqW2tleV07XG4gICAgICAgIHN3aXRjaCAodHlwZW9mIHZhbHVlKSB7XG4gICAgICAgICAgY2FzZSAnb2JqZWN0JzpcbiAgICAgICAgICAgIGNvbnN0IG5hbWUgPSB2YWx1ZSAmJiB2YWx1ZS5jb25zdHJ1Y3RvciAmJiAoPGFueT52YWx1ZS5jb25zdHJ1Y3RvcikubmFtZTtcbiAgICAgICAgICAgIHZhbHVlID0gbmFtZSA9PSAoPGFueT5PYmplY3QpLm5hbWUgPyBzaGFsbG93T2JqKHZhbHVlLCBkZXB0aCAtIDEpIDogbmFtZTtcbiAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgIGNhc2UgJ2Z1bmN0aW9uJzpcbiAgICAgICAgICAgIHZhbHVlID0gdmFsdWUubmFtZSB8fCB1bmRlZmluZWQ7XG4gICAgICAgICAgICBicmVhaztcbiAgICAgICAgfVxuICAgICAgICBvdXRba2V5XSA9IHZhbHVlO1xuICAgICAgfVxuICAgIH1cbiAgICByZXR1cm4gb3V0O1xuICB9XG5cbiAgZnVuY3Rpb24gem9uZVBhdGhOYW1lKHpvbmU6IFpvbmUpIHtcbiAgICBsZXQgbmFtZTogc3RyaW5nID0gem9uZS5uYW1lO1xuICAgIGxldCBsb2NhbFpvbmUgPSB6b25lLnBhcmVudDtcbiAgICB3aGlsZSAobG9jYWxab25lICE9IG51bGwpIHtcbiAgICAgIG5hbWUgPSBsb2NhbFpvbmUubmFtZSArICc6OicgKyBuYW1lO1xuICAgICAgbG9jYWxab25lID0gbG9jYWxab25lLnBhcmVudDtcbiAgICB9XG4gICAgcmV0dXJuIG5hbWU7XG4gIH1cblxuICAoWm9uZSBhcyBhbnkpWyd3dGZab25lU3BlYyddID0gIXd0ZkVuYWJsZWQgPyBudWxsIDogbmV3IFd0ZlpvbmVTcGVjKCk7XG59KSh0eXBlb2Ygd2luZG93ID09PSAnb2JqZWN0JyAmJiB3aW5kb3cgfHwgdHlwZW9mIHNlbGYgPT09ICdvYmplY3QnICYmIHNlbGYgfHwgZ2xvYmFsKTtcbiJdfQ==
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid3RmLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvem9uZS5qcy9saWIvem9uZS1zcGVjL3d0Zi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUE7Ozs7OztHQU1HO0FBQ0g7OztHQUdHO0FBRUgsQ0FBQyxVQUFTLE1BQVc7SUFvQm5CLHdCQUF3QjtJQUN4QixJQUFJLFFBQVEsR0FBa0IsSUFBSSxDQUFDO0lBQ25DLElBQUksU0FBUyxHQUFtQixJQUFJLENBQUM7SUFDckMsSUFBTSxVQUFVLEdBQVksQ0FBQztRQUMzQixJQUFNLEdBQUcsR0FBUSxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDL0IsSUFBSSxHQUFHLEVBQUU7WUFDUCxRQUFRLEdBQUcsR0FBRyxDQUFDLEtBQUssQ0FBQztZQUNyQixJQUFJLFFBQVEsRUFBRTtnQkFDWixTQUFTLEdBQUcsUUFBUSxDQUFDLE1BQU0sQ0FBQztnQkFDNUIsT0FBTyxJQUFJLENBQUM7YUFDYjtTQUNGO1FBQ0QsT0FBTyxLQUFLLENBQUM7SUFDZixDQUFDLENBQUMsRUFBRSxDQUFDO0lBRUw7UUFBQTtZQUNFLFNBQUksR0FBVyxLQUFLLENBQUM7UUE4RXZCLENBQUM7UUFyRUMsNEJBQU0sR0FBTixVQUNJLGtCQUFnQyxFQUFFLFdBQWlCLEVBQUUsVUFBZ0IsRUFDckUsUUFBa0I7WUFDcEIsSUFBTSxRQUFRLEdBQUcsa0JBQWtCLENBQUMsSUFBSSxDQUFDLFVBQVUsRUFBRSxRQUFRLENBQUMsQ0FBQztZQUMvRCxXQUFXLENBQUMsWUFBYyxDQUFDLFlBQVksQ0FBQyxVQUFVLENBQUMsRUFBRSxRQUFRLENBQUMsSUFBSSxDQUFDLENBQUM7WUFDcEUsT0FBTyxRQUFRLENBQUM7UUFDbEIsQ0FBQztRQUVELDhCQUFRLEdBQVIsVUFDSSxrQkFBZ0MsRUFBRSxXQUFpQixFQUFFLFVBQWdCLEVBQUUsUUFBa0IsRUFDekYsU0FBYyxFQUFFLFNBQWlCLEVB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QUFLLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQUksQ0FBQzt3QkFDekUsTUFBTTtvQkFDUixLQUFLLFVBQVU7d0JBQ2IsS0FBSyxHQUFHLEtBQUssQ0FBQyxJQUFJLElBQUksU0FBUyxDQUFDO3dCQUNoQyxNQUFNO2lCQUNUO2dCQUNELEdBQUcsQ0FBQyxHQUFHLENBQUMsR0FBRyxLQUFLLENBQUM7YUFDbEI7U0FDRjtRQUNELE9BQU8sR0FBRyxDQUFDO0lBQ2IsQ0FBQztJQUVELFNBQVMsWUFBWSxDQUFDLElBQVU7UUFDOUIsSUFBSSxJQUFJLEdBQVcsSUFBSSxDQUFDLElBQUksQ0FBQztRQUM3QixJQUFJLFNBQVMsR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDO1FBQzVCLE9BQU8sU0FBUyxJQUFJLElBQUksRUFBRTtZQUN4QixJQUFJLEdBQUcsU0FBUyxDQUFDLElBQUksR0FBRyxJQUFJLEdBQUcsSUFBSSxDQUFDO1lBQ3BDLFNBQVMsR0FBRyxTQUFTLENBQUMsTUFBTSxDQUFDO1NBQzlCO1FBQ0QsT0FBTyxJQUFJLENBQUM7SUFDZCxDQUFDO0lBRUEsSUFBWSxDQUFDLGFBQWEsQ0FBQyxHQUFHLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLElBQUksV0FBVyxFQUFFLENBQUM7QUFDeEUsQ0FBQyxDQUFDLENBQUMsT0FBTyxNQUFNLEtBQUssUUFBUSxJQUFJLE1BQU0sSUFBSSxPQUFPLElBQUksS0FBSyxRQUFRLElBQUksSUFBSSxJQUFJLE1BQU0sQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBAbGljZW5zZVxuICogQ29weXJpZ2h0IEdvb2dsZSBJbmMuIEFsbCBSaWdodHMgUmVzZXJ2ZWQuXG4gKlxuICogVXNlIG9mIHRoaXMgc291cmNlIGNvZGUgaXMgZ292ZXJuZWQgYnkgYW4gTUlULXN0eWxlIGxpY2Vuc2UgdGhhdCBjYW4gYmVcbiAqIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUgYXQgaHR0cHM6Ly9hbmd1bGFyLmlvL2xpY2Vuc2VcbiAqL1xuLyoqXG4gKiBAZmlsZW92ZXJ2aWV3XG4gKiBAc3VwcHJlc3Mge21pc3NpbmdSZXF1aXJlfVxuICovXG5cbihmdW5jdGlvbihnbG9iYWw6IGFueSkge1xuICBpbnRlcmZhY2UgV3RmIHtcbiAgICB0cmFjZTogV3RmVHJhY2U7XG4gIH1cbiAgaW50ZXJmYWNlIFd0ZlNjb3BlIHt9XG4gIGludGVyZmFjZSBXdGZSYW5nZSB7fVxuICBpbnRlcmZhY2UgV3RmVHJhY2Uge1xuICAgIGV2ZW50czogV3RmRXZlbnRzO1xuICAgIGxlYXZlU2NvcGUoc2NvcGU6IFd0ZlNjb3BlLCByZXR1cm5WYWx1ZT86IGFueSk6IHZvaWQ7XG4gICAgYmVnaW5UaW1lUmFuZ2UocmFuZ2VUeXBlOiBzdHJpbmcsIGFjdGlvbjogc3RyaW5nKTogV3RmUmFuZ2U7XG4gICAgZW5kVGltZVJhbmdlKHJhbmdlOiBXdGZSYW5nZSk6IHZvaWQ7XG4gIH1cbiAgaW50ZXJmYWNlIFd0ZkV2ZW50cyB7XG4gICAgY3JlYXRlU2NvcGUoc2lnbmF0dXJlOiBzdHJpbmcsIGZsYWdzPzogYW55KTogV3RmU2NvcGVGbjtcbiAgICBjcmVhdGVJbnN0YW5jZShzaWduYXR1cmU6IHN0cmluZywgZmxhZ3M/OiBhbnkpOiBXdGZFdmVudEZuO1xuICB9XG5cbiAgdHlwZSBXdGZTY29wZUZuID0gKC4uLmFyZ3M6IGFueVtdKSA9PiBXdGZTY29wZTtcbiAgdHlwZSBXdGZFdmVudEZuID0gKC4uLmFyZ3M6IGFueVtdKSA9PiBhbnk7XG5cbiAgLy8gRGV0ZWN0IGFuZCBzZXR1cCBXVEYuXG4gIGxldCB3dGZUcmFjZTogV3RmVHJhY2V8bnVsbCA9IG51bGw7XG4gIGxldCB3dGZFdmVudHM6IFd0ZkV2ZW50c3xudWxsID0gbnVsbDtcbiAgY29uc3Qgd3RmRW5hYmxlZDogYm9vbGVhbiA9IChmdW5jdGlvbigpOiBib29sZWFuIHtcbiAgICBjb25zdCB3dGY6IFd0ZiA9IGdsb2JhbFsnd3RmJ107XG4gICAgaWYgKHd0Zikge1xuICAgICAgd3RmVHJhY2UgPSB3dGYudHJhY2U7XG4gICAgICBpZiAod3RmVHJhY2UpIHtcbiAgICAgICAgd3RmRXZlbnRzID0gd3RmVHJhY2UuZXZlbnRzO1xuICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgIH1cbiAgICB9XG4gICAgcmV0dXJuIGZhbHNlO1xuICB9KSgpO1xuXG4gIGNsYXNzIFd0ZlpvbmVTcGVjIGltcGxlbWVudHMgWm9uZVNwZWMge1xuICAgIG5hbWU6IHN0cmluZyA9ICdXVEYnO1xuXG4gICAgc3RhdGljIGZvcmtJbnN0YW5jZSA9XG4gICAgICAgIHd0ZkVuYWJsZWQ/IHd0ZkV2ZW50cyAhLmNyZWF0ZUluc3RhbmNlKCdab25lOmZvcmsoYXNjaWkgem9uZSwgYXNjaWkgbmV3Wm9uZSknKTogbnVsbDtcbiAgICBzdGF0aWMgc2NoZWR1bGVJbnN0YW5jZToge1trZXk6IHN0cmluZ106IFd0ZkV2ZW50Rm59ID0ge307XG4gICAgc3RhdGljIGNhbmNlbEluc3RhbmNlOiB7W2tleTogc3RyaW5nXTogV3RmRXZlbnRGbn0gPSB7fTtcbiAgICBzdGF0aWMgaW52b2tlU2NvcGU6IHtba2V5OiBzdHJpbmddOiBXdGZFdmVudEZufSA9IHt9O1xuICAgIHN0YXRpYyBpbnZva2VUYXNrU2NvcGU6IHtba2V5OiBzdHJpbmddOiBXdGZFdmVudEZufSA9IHt9O1xuXG4gICAgb25Gb3JrKFxuICAgICAgICBwYXJlbnRab25lRGVsZWdhdGU6IFpvbmVEZWxlZ2F0ZSwgY3VycmVudFpvbmU6IFpvbmUsIHRhcmdldFpvbmU6IFpvbmUsXG4gICAgICAgIHpvbmVTcGVjOiBab25lU3BlYyk6IFpvbmUge1xuICAgICAgY29uc3QgcmV0VmFsdWUgPSBwYXJlbnRab25lRGVsZWdhdGUuZm9yayh0YXJnZXRab25lLCB6b25lU3BlYyk7XG4gICAgICBXdGZab25lU3BlYy5mb3JrSW5zdGFuY2UgISh6b25lUGF0aE5hbWUodGFyZ2V0Wm9uZSksIHJldFZhbHVlLm5hbWUpO1xuICAgICAgcmV0dXJuIHJldFZhbHVlO1xuICAgIH1cblxuICAgIG9uSW52b2tlKFxuICAgICAgICBwYXJlbnRab25lRGVsZWdhdGU6IFpvbmVEZWxlZ2F0ZSwgY3VycmVudFpvbmU6IFpvbmUsIHRhcmdldFpvbmU6IFpvbmUsIGRlbGVnYXRlOiBGdW5jdGlvbixcbiAgICAgICAgYXBwbHlUaGlzOiBhbnksIGFwcGx5QXJncz86IGFueVtdLCBzb3VyY2U/OiBzdHJpbmcpOiBhbnkge1xuICAgICAgY29uc3Qgc3JjID0gc291cmNlIHx8ICd1bmtub3duJztcbiAgICAgIGxldCBzY29wZSA9IFd0ZlpvbmVTcGVjLmludm9rZVNjb3BlW3NyY107XG4gICAgICBpZiAoIXNjb3BlKSB7XG4gICAgICAgIHNjb3BlID0gV3RmWm9uZVNwZWMuaW52b2tlU2NvcGVbc3JjXSA9XG4gICAgICAgICAgICB3dGZFdmVudHMgIS5jcmVhdGVTY29wZShgWm9uZTppbnZva2U6JHtzb3VyY2V9KGFzY2lpIHpvbmUpYCk7XG4gICAgICB9XG4gICAgICByZXR1cm4gd3RmVHJhY2UgIS5sZWF2ZVNjb3BlKFxuICAgICAgICAgIHNjb3BlKHpvbmVQYXRoTmFtZSh0YXJnZXRab25lKSksXG4gICAgICAgICAgcGFyZW50Wm9uZURlbGVnYXRlLmludm9rZSh0YXJnZXRab25lLCBkZWxlZ2F0ZSwgYXBwbHlUaGlzLCBhcHBseUFyZ3MsIHNvdXJjZSkpO1xuICAgIH1cblxuXG4gICAgb25IYW5kbGVFcnJvcihcbiAgICAgICAgcGFyZW50Wm9uZURlbGVnYXRlOiBab25lRGVsZWdhdGUsIGN1cnJlbnRab25lOiBab25lLCB0YXJnZXRab25lOiBab25lLFxuICAgICAgICBlcnJvcjogYW55KTogYm9vbGVhbiB7XG4gICAgICByZXR1cm4gcGFyZW50Wm9uZURlbGVnYXRlLmhhbmRsZUVycm9yKHRhcmdldFpvbmUsIGVycm9yKTtcbiAgICB9XG5cbiAgICBvblNjaGVkdWxlVGFzayhcbiAgICAgICAgcGFyZW50Wm9uZURlbGVnYXRlOiBab25lRGVsZWdhdGUsIGN1cnJlbnRab25lOiBab25lLCB0YXJnZXRab25lOiBab25lLCB0YXNrOiBUYXNrKTogYW55IHtcbiAgICAgIGNvbnN0IGtleSA9IHRhc2sudHlwZSArICc6JyArIHRhc2suc291cmNlO1xuICAgICAgbGV0IGluc3RhbmNlID0gV3RmWm9uZVNwZWMuc2NoZWR1bGVJbnN0YW5jZVtrZXldO1xuICAgICAgaWYgKCFpbnN0YW5jZSkge1xuICAgICAgICBpbnN0YW5jZSA9IFd0ZlpvbmVTcGVjLnNjaGVkdWxlSW5zdGFuY2Vba2V5XSA9XG4gICAgICAgICAgICB3dGZFdmVudHMgIS5jcmVhdGVJbnN0YW5jZShgWm9uZTpzY2hlZHVsZToke2tleX0oYXNjaWkgem9uZSwgYW55IGRhdGEpYCk7XG4gICAgICB9XG4gICAgICBjb25zdCByZXRWYWx1ZSA9IHBhcmVudFpvbmVEZWxlZ2F0ZS5zY2hlZHVsZVRhc2sodGFyZ2V0Wm9uZSwgdGFzayk7XG4gICAgICBpbnN0YW5jZSh6b25lUGF0aE5hbWUodGFyZ2V0Wm9uZSksIHNoYWxsb3dPYmoodGFzay5kYXRhLCAyKSk7XG4gICAgICByZXR1cm4gcmV0VmFsdWU7XG4gICAgfVxuXG5cbiAgICBvbkludm9rZVRhc2soXG4gICAgICAgIHBhcmVudFpvbmVEZWxlZ2F0ZTogWm9uZURlbGVnYXRlLCBjdXJyZW50Wm9uZTogWm9uZSwgdGFyZ2V0Wm9uZTogWm9uZSwgdGFzazogVGFzayxcbiAgICAgICAgYXBwbHlUaGlzPzogYW55LCBhcHBseUFyZ3M/OiBhbnlbXSk6IGFueSB7XG4gICAgICBjb25zdCBzb3VyY2UgPSB0YXNrLnNvdXJjZTtcbiAgICAgIGxldCBzY29wZSA9IFd0ZlpvbmVTcGVjLmludm9rZVRhc2tTY29wZVtzb3VyY2VdO1xuICAgICAgaWYgKCFzY29wZSkge1xuICAgICAgICBzY29wZSA9IFd0ZlpvbmVTcGVjLmludm9rZVRhc2tTY29wZVtzb3VyY2VdID1cbiAgICAgICAgICAgIHd0ZkV2ZW50cyAhLmNyZWF0ZVNjb3BlKGBab25lOmludm9rZVRhc2s6JHtzb3VyY2V9KGFzY2lpIHpvbmUpYCk7XG4gICAgICB9XG4gICAgICByZXR1cm4gd3RmVHJhY2UgIS5sZWF2ZVNjb3BlKFxuICAgICAgICAgIHNjb3BlKHpvbmVQYXRoTmFtZSh0YXJnZXRab25lKSksXG4gICAgICAgICAgcGFyZW50Wm9uZURlbGVnYXRlLmludm9rZVRhc2sodGFyZ2V0Wm9uZSwgdGFzaywgYXBwbHlUaGlzLCBhcHBseUFyZ3MpKTtcbiAgICB9XG5cbiAgICBvbkNhbmNlbFRhc2socGFyZW50Wm9uZURlbGVnYXRlOiBab25lRGVsZWdhdGUsIGN1cnJlbnRab25lOiBab25lLCB0YXJnZXRab25lOiBab25lLCB0YXNrOiBUYXNrKTpcbiAgICAgICAgYW55IHtcbiAgICAgIGNvbnN0IGtleSA9IHRhc2suc291cmNlO1xuICAgICAgbGV0IGluc3RhbmNlID0gV3RmWm9uZVNwZWMuY2FuY2VsSW5zdGFuY2Vba2V5XTtcbiAgICAgIGlmICghaW5zdGFuY2UpIHtcbiAgICAgICAgaW5zdGFuY2UgPSBXdGZab25lU3BlYy5jYW5jZWxJbnN0YW5jZVtrZXldID1cbiAgICAgICAgICAgIHd0ZkV2ZW50cyAhLmNyZWF0ZUluc3RhbmNlKGBab25lOmNhbmNlbDoke2tleX0oYXNjaWkgem9uZSwgYW55IG9wdGlvbnMpYCk7XG4gICAgICB9XG4gICAgICBjb25zdCByZXRWYWx1ZSA9IHBhcmVudFpvbmVEZWxlZ2F0ZS5jYW5jZWxUYXNrKHRhcmdldFpvbmUsIHRhc2spO1xuICAgICAgaW5zdGFuY2Uoem9uZVBhdGhOYW1lKHRhcmdldFpvbmUpLCBzaGFsbG93T2JqKHRhc2suZGF0YSwgMikpO1xuICAgICAgcmV0dXJuIHJldFZhbHVlO1xuICAgIH1cbiAgfVxuXG4gIGZ1bmN0aW9uIHNoYWxsb3dPYmoob2JqOiB7W2s6IHN0cmluZ106IGFueX0gfCB1bmRlZmluZWQsIGRlcHRoOiBudW1iZXIpOiBhbnkge1xuICAgIGlmICghb2JqIHx8ICFkZXB0aCkgcmV0dXJuIG51bGw7XG4gICAgY29uc3Qgb3V0OiB7W2s6IHN0cmluZ106IGFueX0gPSB7fTtcbiAgICBmb3IgKGNvbnN0IGtleSBpbiBvYmopIHtcbiAgICAgIGlmIChvYmouaGFzT3duUHJvcGVydHkoa2V5KSkge1xuICAgICAgICAvLyBleHBsaWNpdCA6IGFueSBkdWUgdG8gaHR0cHM6Ly9naXRodWIuY29tL21pY3Jvc29mdC9UeXBlU2NyaXB0L2lzc3Vlcy8zMzE5MVxuICAgICAgICBsZXQgdmFsdWU6IGFueSA9IG9ialtrZXldO1xuICAgICAgICBzd2l0Y2ggKHR5cGVvZiB2YWx1ZSkge1xuICAgICAgICAgIGNhc2UgJ29iamVjdCc6XG4gICAgICAgICAgICBjb25zdCBuYW1lID0gdmFsdWUgJiYgdmFsdWUuY29uc3RydWN0b3IgJiYgKDxhbnk+dmFsdWUuY29uc3RydWN0b3IpLm5hbWU7XG4gICAgICAgICAgICB2YWx1ZSA9IG5hbWUgPT0gKDxhbnk+T2JqZWN0KS5uYW1lID8gc2hhbGxvd09iaih2YWx1ZSwgZGVwdGggLSAxKSA6IG5hbWU7XG4gICAgICAgICAgICBicmVhaztcbiAgICAgICAgICBjYXNlICdmdW5jdGlvbic6XG4gICAgICAgICAgICB2YWx1ZSA9IHZhbHVlLm5hbWUgfHwgdW5kZWZpbmVkO1xuICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgIH1cbiAgICAgICAgb3V0W2tleV0gPSB2YWx1ZTtcbiAgICAgIH1cbiAgICB9XG4gICAgcmV0dXJuIG91dDtcbiAgfVxuXG4gIGZ1bmN0aW9uIHpvbmVQYXRoTmFtZSh6b25lOiBab25lKSB7XG4gICAgbGV0IG5hbWU6IHN0cmluZyA9IHpvbmUubmFtZTtcbiAgICBsZXQgbG9jYWxab25lID0gem9uZS5wYXJlbnQ7XG4gICAgd2hpbGUgKGxvY2FsWm9uZSAhPSBudWxsKSB7XG4gICAgICBuYW1lID0gbG9jYWxab25lLm5hbWUgKyAnOjonICsgbmFtZTtcbiAgICAgIGxvY2FsWm9uZSA9IGxvY2FsWm9uZS5wYXJlbnQ7XG4gICAgfVxuICAgIHJldHVybiBuYW1lO1xuICB9XG5cbiAgKFpvbmUgYXMgYW55KVsnd3RmWm9uZVNwZWMnXSA9ICF3dGZFbmFibGVkID8gbnVsbCA6IG5ldyBXdGZab25lU3BlYygpO1xufSkodHlwZW9mIHdpbmRvdyA9PT0gJ29iamVjdCcgJiYgd2luZG93IHx8IHR5cGVvZiBzZWxmID09PSAnb2JqZWN0JyAmJiBzZWxmIHx8IGdsb2JhbCk7XG4iXX0=

@@ -9,3 +9,2 @@ /**

/// <amd-module name="angular/packages/zone.js/lib/zone" />
/// <reference types="node" />
/**

@@ -12,0 +11,0 @@ * Suppress closure compiler errors about unknown 'global' variable

{
"name": "zone.js",
"version": "0.10.2",
"version": "0.10.3",
"description": "Zones for JavaScript",

@@ -18,3 +18,5 @@ "main": "dist/zone-node.js",

"devDependencies": {
"@types/node": "^10.9.4",
"domino": "2.1.2",
"jest": "^25.1.0",
"mocha": "^3.1.2",

@@ -26,5 +28,6 @@ "mock-require": "3.0.3",

"scripts": {
"promisetest": "tsc -p . && node ./promise-test.js",
"promisefinallytest": "tsc -p . && mocha promise.finally.spec.js",
"electrontest": "cd test/extra && node electron.js"
"electrontest": "cd test/extra && node electron.js",
"jesttest": "jest --config ./test/jest/jest.config.js ./test/jest/jest.spec.js",
"promisetest": "tsc -p . && node ./test/promise/promise-test.js",
"promisefinallytest": "tsc -p . && mocha ./test/promise/promise.finally.spec.js"
},

@@ -36,2 +39,5 @@ "repository": {

},
"publishConfig":{
"registry":"https://wombat-dressing-room.appspot.com"
},
"author": "Brian Ford",

@@ -38,0 +44,0 @@ "license": "MIT",

Sorry, the diff of this file is too big to display

Sorry, the diff of this file is too big to display

Sorry, the diff of this file is too big to display

Sorry, the diff of this file is too big to display

Sorry, the diff of this file is too big to display

Sorry, the diff of this file is too big to display

Sorry, the diff of this file is too big to display

Sorry, the diff of this file is too big to display

Sorry, the diff of this file is too big to display

Sorry, the diff of this file is too big to display

Sorry, the diff of this file is too big to display

Sorry, the diff of this file is too big to display

Sorry, the diff of this file is too big to display

Sorry, the diff of this file is too big to display

Sorry, the diff of this file is too big to display

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