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

@ngneat/reactive-forms

Package Overview
Dependencies
Maintainers
3
Versions
53
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@ngneat/reactive-forms - npm Package Compare versions

Comparing version 1.5.2 to 1.6.0

7

bundles/ngneat-reactive-forms.umd.js

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

function persistValue$(control, key, options) {
return control.valueChanges.pipe(operators.debounceTime(options.debounceTime), operators.switchMap(function (value) { return wrapIntoObservable(options.manager.setValue(key, value)); }));
return control.valueChanges.pipe(operators.debounceTime(options.debounceTime), operators.switchMap(function (value) { return wrapIntoObservable(options.manager.setValue(key, options.persistDisabledControls ? control.getRawValue() : value)); }));
}

@@ -910,7 +910,8 @@ function handleFormArrays(control, formValue, arrControlFactory) {

var _this = this;
var debounceTime = _a.debounceTime, manager = _a.manager, arrControlFactory = _a.arrControlFactory;
var debounceTime = _a.debounceTime, manager = _a.manager, arrControlFactory = _a.arrControlFactory, persistDisabledControls = _a.persistDisabledControls;
var persistManager = manager || new LocalStorageManager();
return this.restore(key, persistManager, arrControlFactory).pipe(operators.switchMap(function () { return persistValue$(_this, key, {
debounceTime: debounceTime || 250,
manager: persistManager
manager: persistManager,
persistDisabledControls: persistDisabledControls
}); }));

@@ -917,0 +918,0 @@ };

@@ -15,3 +15,3 @@ !function(t,r){"object"==typeof exports&&"undefined"!=typeof module?r(exports,require("@angular/forms"),require("rxjs"),require("rxjs/operators"),require("@angular/core")):"function"==typeof define&&define.amd?define("@ngneat/reactive-forms",["exports","@angular/forms","rxjs","rxjs/operators","@angular/core"],r):r(((t="undefined"!=typeof globalThis?globalThis:t||self).ngneat=t.ngneat||{},t.ngneat["reactive-forms"]={}),t.ng.forms,t.rxjs,t.rxjs.operators,t.ng.core)}(this,(function(t,r,e,o,n){"use strict";

PERFORMANCE OF THIS SOFTWARE.
***************************************************************************** */var i=function(t,r){return(i=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,r){t.__proto__=r}||function(t,r){for(var e in r)Object.prototype.hasOwnProperty.call(r,e)&&(t[e]=r[e])})(t,r)};function a(t,r){function e(){this.constructor=t}i(t,r),t.prototype=null===r?Object.create(r):(e.prototype=r.prototype,new e)}Object.create;function s(t,r){var e="function"==typeof Symbol&&t[Symbol.iterator];if(!e)return t;var o,n,i=e.call(t),a=[];try{for(;(void 0===r||r-- >0)&&!(o=i.next()).done;)a.push(o.value)}catch(t){n={error:t}}finally{try{o&&!o.done&&(e=i.return)&&e.call(i)}finally{if(n)throw n.error}}return a}function u(){for(var t=[],r=0;r<arguments.length;r++)t=t.concat(s(arguments[r]));return t}Object.create;function p(t){return Array.isArray(t)?t:[t]}function c(t){return null==t}function l(t){return e.isObservable(t)||function(t){return"function"==typeof(null==t?void 0:t.then)}(t)?e.from(t):e.of(t)}function y(t,r){return t||r?Object.assign(Object.assign({},t),r):null}function h(t,r){if(!t)return null;var e=Object.assign({},t);return delete e[r],Object.keys(e).length>0?e:null}function f(t){return t.getRawValue?t.getRawValue():t.value}function d(t){return e.merge(e.defer((function(){return e.of(f(t))})),t.valueChanges.pipe(o.map((function(){return f(t)}))))}function g(t){return e.merge(e.defer((function(){return e.of(t.disabled)})),t.statusChanges.pipe(o.map((function(){return t.disabled})),o.distinctUntilChanged()))}function b(t){return e.merge(e.defer((function(){return e.of(t.enabled)})),t.statusChanges.pipe(o.map((function(){return t.enabled})),o.distinctUntilChanged()))}function v(t){return e.merge(e.defer((function(){return e.of(t.status)})),t.statusChanges.pipe(o.map((function(){return t.status})),o.distinctUntilChanged()))}function m(t,r){return e.merge(e.defer((function(){return e.of(t.errors)})),r,t.valueChanges.pipe(o.map((function(){return t.errors})),o.distinctUntilChanged((function(t,r){return function(t,r){return c(t)||c(r)?t===r:JSON.stringify(t)===JSON.stringify(r)}(t,r)}))))}function V(t,r,e){r?t.enable(e):t.disable(e)}function A(t,r,e){V(t,!r,e)}function C(t,r,e){return r.subscribe((function(r){return A(t,r,e)}))}function O(t,r,e){return r.subscribe((function(r){return V(t,r,e)}))}function E(t,r,e){t.setValidators(u([t.validator],p(r))),t.updateValueAndValidity(e)}function j(t,r){return r.subscribe((function(r){t.setErrors(r)}))}function S(t,r,e){return t.hasError(r,e&&0!==e.length?e:void 0)&&t.touched}function k(t,r,e){return t.hasError(r,e&&0!==e.length?e:void 0)&&t.dirty}function w(t){t.markAsDirty({onlySelf:!0}),t._forEachChild((function(t){return t.markAllAsDirty()}))}var x=function(t){function r(r,n,i){var a=t.call(this,r,n,i)||this;return a.controls=r,a.touchChanges=new e.Subject,a.dirtyChanges=new e.Subject,a.errorsSubject=new e.Subject,a.touch$=a.touchChanges.asObservable().pipe(o.distinctUntilChanged()),a.dirty$=a.dirtyChanges.asObservable().pipe(o.distinctUntilChanged()),a.value$=d(a),a.disabled$=g(a),a.enabled$=b(a),a.status$=v(a),a.errors$=m(a,a.errorsSubject.asObservable()),a}return a(r,t),Object.defineProperty(r.prototype,"asyncValidator",{get:function(){return t.prototype.asyncValidator},set:function(r){t.prototype.asyncValidator=r},enumerable:!1,configurable:!0}),Object.defineProperty(r.prototype,"validator",{get:function(){return t.prototype.validator},set:function(r){t.prototype.validator=r},enumerable:!1,configurable:!0}),r.prototype.select=function(t){return this.value$.pipe(o.map(t),o.distinctUntilChanged())},r.prototype.getRawValue=function(){return t.prototype.getRawValue.call(this)},r.prototype.at=function(r){return t.prototype.at.call(this,r)},r.prototype.setValue=function(r,o){var n=this;if(e.isObservable(r))return r.subscribe((function(r){return t.prototype.setValue.call(n,r,o)}));t.prototype.setValue.call(this,r,o)},r.prototype.patchValue=function(r,o){var n=this;if(e.isObservable(r))return r.subscribe((function(r){return t.prototype.patchValue.call(n,r,o)}));t.prototype.patchValue.call(this,r,o)},r.prototype.push=function(r){return t.prototype.push.call(this,r)},r.prototype.insert=function(r,e){return t.prototype.insert.call(this,r,e)},r.prototype.setControl=function(r,e){return t.prototype.setControl.call(this,r,e)},r.prototype.disabledWhile=function(t,r){return C(this,t,r)},r.prototype.enabledWhile=function(t,r){return O(this,t,r)},r.prototype.mergeValidators=function(t,r){E(this,t,r)},r.prototype.mergeAsyncValidators=function(t,r){this.setAsyncValidators(u([this.asyncValidator],p(t))),this.updateValueAndValidity(r)},r.prototype.markAsTouched=function(r){t.prototype.markAsTouched.call(this,r),this.touchChanges.next(!0)},r.prototype.markAsUntouched=function(r){t.prototype.markAsUntouched.call(this,r),this.touchChanges.next(!1)},r.prototype.markAsPristine=function(r){t.prototype.markAsPristine.call(this,r),this.dirtyChanges.next(!1)},r.prototype.markAsDirty=function(r){t.prototype.markAsDirty.call(this,r),this.dirtyChanges.next(!0)},r.prototype.markAllAsDirty=function(){w(this)},r.prototype.reset=function(r,e){t.prototype.reset.call(this,r,e)},r.prototype.setValidators=function(r,e){t.prototype.setValidators.call(this,r),t.prototype.updateValueAndValidity.call(this,e)},r.prototype.setAsyncValidators=function(r,e){t.prototype.setAsyncValidators.call(this,r),t.prototype.updateValueAndValidity.call(this,e)},r.prototype.validateOn=function(t){var r=this;return t.subscribe((function(t){r.setErrors(t)}))},r.prototype.hasError=function(r,e){return t.prototype.hasError.call(this,r,e)},r.prototype.setErrors=function(r,e){return void 0===e&&(e={}),this.errorsSubject.next(r),t.prototype.setErrors.call(this,r,e)},r.prototype.mergeErrors=function(t,r){void 0===r&&(r={}),this.setErrors(y(this.errors,t),r)},r.prototype.removeError=function(t,r){void 0===r&&(r={}),this.setErrors(h(this.errors,t),r)},r.prototype.getError=function(r,e){return t.prototype.getError.call(this,r,e)},r.prototype.hasErrorAndTouched=function(t,r){return S(this,t,r)},r.prototype.hasErrorAndDirty=function(t,r){return k(this,t,r)},r.prototype.setEnable=function(t,r){void 0===t&&(t=!0),V(this,t,r)},r.prototype.setDisable=function(t,r){void 0===t&&(t=!0),A(this,t,r)},r.prototype.remove=function(t){this.removeWhen((function(r){return r.value===t}))},r.prototype.removeWhen=function(t){for(var r=this.length-1;r>=0;--r)t(this.at(r))&&this.removeAt(r)},r}(r.FormArray),$=function(t){function r(r,n,i){var a=t.call(this,r,n,i)||this;return a.touchChanges=new e.Subject,a.dirtyChanges=new e.Subject,a.errorsSubject=new e.Subject,a.touch$=a.touchChanges.asObservable().pipe(o.distinctUntilChanged()),a.dirty$=a.dirtyChanges.asObservable().pipe(o.distinctUntilChanged()),a.value$=d(a),a.disabled$=g(a),a.enabled$=b(a),a.status$=v(a),a.errors$=m(a,a.errorsSubject.asObservable()),a}return a(r,t),Object.defineProperty(r.prototype,"asyncValidator",{get:function(){return t.prototype.asyncValidator},set:function(r){t.prototype.asyncValidator=r},enumerable:!1,configurable:!0}),Object.defineProperty(r.prototype,"validator",{get:function(){return t.prototype.validator},set:function(r){t.prototype.validator=r},enumerable:!1,configurable:!0}),r.prototype.setValue=function(r,o){var n=this;if(e.isObservable(r))return r.subscribe((function(r){return t.prototype.setValue.call(n,r,o)}));t.prototype.setValue.call(this,r,o)},r.prototype.patchValue=function(r,o){var n=this;if(e.isObservable(r))return r.subscribe((function(r){return t.prototype.patchValue.call(n,r,o)}));t.prototype.patchValue.call(this,r,o)},r.prototype.disabledWhile=function(t,r){return C(this,t,r)},r.prototype.enabledWhile=function(t,r){return O(this,t,r)},r.prototype.mergeValidators=function(t,r){E(this,t,r)},r.prototype.mergeAsyncValidators=function(t,r){this.setAsyncValidators(u([this.asyncValidator],p(t))),this.updateValueAndValidity(r)},r.prototype.markAsTouched=function(r){t.prototype.markAsTouched.call(this,r),this.touchChanges.next(!0)},r.prototype.markAsUntouched=function(r){t.prototype.markAsUntouched.call(this,r),this.touchChanges.next(!1)},r.prototype.markAsPristine=function(r){t.prototype.markAsPristine.call(this,r),this.dirtyChanges.next(!1)},r.prototype.markAsDirty=function(r){t.prototype.markAsDirty.call(this,r),this.dirtyChanges.next(!0)},r.prototype.markAllAsDirty=function(){this.markAsDirty({onlySelf:!0})},r.prototype.reset=function(r,e){t.prototype.reset.call(this,r,e)},r.prototype.setValidators=function(r,e){t.prototype.setValidators.call(this,r),t.prototype.updateValueAndValidity.call(this,e)},r.prototype.setAsyncValidators=function(r,e){t.prototype.setAsyncValidators.call(this,r),t.prototype.updateValueAndValidity.call(this,e)},r.prototype.validateOn=function(t){return j(this,t)},r.prototype.getError=function(r){return t.prototype.getError.call(this,r)},r.prototype.hasError=function(r){return t.prototype.hasError.call(this,r)},r.prototype.setErrors=function(r,e){return void 0===e&&(e={}),this.errorsSubject.next(r),t.prototype.setErrors.call(this,r,e)},r.prototype.mergeErrors=function(t,r){void 0===r&&(r={}),this.setErrors(y(this.errors,t),r)},r.prototype.removeError=function(t,r){void 0===r&&(r={}),this.setErrors(h(this.errors,t),r)},r.prototype.hasErrorAndTouched=function(t){return S(this,t)},r.prototype.hasErrorAndDirty=function(t){return k(this,t)},r.prototype.setEnable=function(t,r){void 0===t&&(t=!0),V(this,t,r)},r.prototype.setDisable=function(t,r){void 0===t&&(t=!0),A(this,t,r)},r}(r.FormControl),D=function(){function t(){}return t.prototype.setValue=function(t,r){return localStorage.setItem(t,JSON.stringify(r)),r},t.prototype.getValue=function(t){return JSON.parse(localStorage.getItem(t)||"{}")},t}(),T=function(t){function n(r,n,i){var a=t.call(this,r,n,i)||this;return a.controls=r,a.touchChanges=new e.Subject,a.dirtyChanges=new e.Subject,a.errorsSubject=new e.Subject,a.touch$=a.touchChanges.asObservable().pipe(o.distinctUntilChanged()),a.dirty$=a.dirtyChanges.asObservable().pipe(o.distinctUntilChanged()),a.value$=d(a),a.disabled$=g(a),a.enabled$=b(a),a.status$=v(a),a.errors$=m(a,a.errorsSubject.asObservable()),a}return a(n,t),Object.defineProperty(n.prototype,"asyncValidator",{get:function(){return t.prototype.asyncValidator},set:function(r){t.prototype.asyncValidator=r},enumerable:!1,configurable:!0}),Object.defineProperty(n.prototype,"validator",{get:function(){return t.prototype.validator},set:function(r){t.prototype.validator=r},enumerable:!1,configurable:!0}),n.prototype.select=function(t){return function(t,r){return t.value$.pipe(o.map(r),o.distinctUntilChanged())}(this,t)},n.prototype.getRawValue=function(){return t.prototype.getRawValue.call(this)},n.prototype.get=function(r){return t.prototype.get.call(this,r)},n.prototype.getControl=function(){for(var t=[],r=0;r<arguments.length;r++)t[r]=arguments[r];return this.get(t)},n.prototype.addControl=function(r,e){t.prototype.addControl.call(this,r,e)},n.prototype.removeControl=function(r){t.prototype.removeControl.call(this,r)},n.prototype.contains=function(r){return t.prototype.contains.call(this,r)},n.prototype.setControl=function(r,e){t.prototype.setControl.call(this,r,e)},n.prototype.setValue=function(r,o){var n=this;if(e.isObservable(r))return r.subscribe((function(r){return t.prototype.setValue.call(n,r,o)}));t.prototype.setValue.call(this,r,o)},n.prototype.patchValue=function(r,o){var n=this;if(e.isObservable(r))return r.subscribe((function(r){return t.prototype.patchValue.call(n,r,o)}));t.prototype.patchValue.call(this,r,o)},n.prototype.disabledWhile=function(t,r){return C(this,t,r)},n.prototype.enabledWhile=function(t,r){return O(this,t,r)},n.prototype.mergeValidators=function(t,r){E(this,t,r)},n.prototype.mergeAsyncValidators=function(t,r){this.setAsyncValidators(u([this.asyncValidator],p(t))),this.updateValueAndValidity(r)},n.prototype.markAsTouched=function(r){t.prototype.markAsTouched.call(this,r),this.touchChanges.next(!0)},n.prototype.markAsUntouched=function(r){t.prototype.markAsUntouched.call(this,r),this.touchChanges.next(!1)},n.prototype.markAsPristine=function(r){t.prototype.markAsPristine.call(this,r),this.dirtyChanges.next(!1)},n.prototype.markAsDirty=function(r){t.prototype.markAsDirty.call(this,r),this.dirtyChanges.next(!0)},n.prototype.markAllAsDirty=function(){w(this)},n.prototype.reset=function(r,e){t.prototype.reset.call(this,r,e)},n.prototype.setValidators=function(r,e){t.prototype.setValidators.call(this,r),t.prototype.updateValueAndValidity.call(this,e)},n.prototype.setAsyncValidators=function(r,e){t.prototype.setAsyncValidators.call(this,r),t.prototype.updateValueAndValidity.call(this,e)},n.prototype.validateOn=function(t){return j(this,t)},n.prototype.hasError=function(r,e){return t.prototype.hasError.call(this,r,e)},n.prototype.setErrors=function(r,e){return void 0===e&&(e={}),this.errorsSubject.next(r),t.prototype.setErrors.call(this,r,e)},n.prototype.mergeErrors=function(t,r){void 0===r&&(r={}),this.setErrors(y(this.errors,t),r)},n.prototype.removeError=function(t,r){void 0===r&&(r={}),this.setErrors(h(this.errors,t),r)},n.prototype.getError=function(r,e){return t.prototype.getError.call(this,r,e)},n.prototype.hasErrorAndTouched=function(t){for(var r=[],e=1;e<arguments.length;e++)r[e-1]=arguments[e];return S.apply(void 0,u([this,t],r))},n.prototype.hasErrorAndDirty=function(t){for(var r=[],e=1;e<arguments.length;e++)r[e-1]=arguments[e];return k.apply(void 0,u([this,t],r))},n.prototype.setEnable=function(t,r){void 0===t&&(t=!0),V(this,t,r)},n.prototype.setDisable=function(t,r){void 0===t&&(t=!0),A(this,t,r)},n.prototype.persist=function(t,r){var e=this,n=r.debounceTime,i=r.manager,a=r.arrControlFactory,s=i||new D;return this.restore(t,s,a).pipe(o.switchMap((function(){return function(t,r,e){return t.valueChanges.pipe(o.debounceTime(e.debounceTime),o.switchMap((function(t){return l(e.manager.setValue(r,t))})))}(e,t,{debounceTime:n||250,manager:s})})))},n.prototype.restore=function(t,e,n){var i=this;return l(e.getValue(t)).pipe(o.take(1),o.tap((function(t){t&&(!function(t,e,o){Object.keys(e).forEach((function(n){var i=e[n];if(Array.isArray(i)&&t.get(n)instanceof r.FormArray){if(!o||o&&!(n in o))throw new Error("Please provide arrControlFactory for "+n);var a=t.get(n),s=o[n];!function(t){for(;0!==t.length;)t.removeAt(0)}(a),i.forEach((function(t,r){return a.insert(r,s(t))}))}}))}(i,t,n),i.patchValue(t,{emitEvent:!1}))})))},n}(r.FormGroup);var U=function(t){function r(){return null!==t&&t.apply(this,arguments)||this}return a(r,t),r.prototype.group=function(t,r){var e,o=this._reduceControls(t),n=null,i=null;return null!=r&&(!function(t){return void 0!==t.asyncValidators||void 0!==t.validators||void 0!==t.updateOn}(r)?(n=null!=r.validator?r.validator:null,i=null!=r.asyncValidator?r.asyncValidator:null):(n=null!=r.validators?r.validators:null,i=null!=r.asyncValidators?r.asyncValidators:null,e=null!=r.updateOn?r.updateOn:void 0)),new T(o,{asyncValidators:i,updateOn:e,validators:n})},r.prototype.control=function(t,r,e){return new $(t,r,e)},r.prototype.array=function(t,r,e){var o=this,n=t.map((function(t){return o._createControl(t)}));return new x(n,r,e)},r}(r.FormBuilder);U.ɵprov=n.ɵɵdefineInjectable({factory:function(){return new U},token:U,providedIn:"root"}),U.decorators=[{type:n.Injectable,args:[{providedIn:"root"}]}];var P=function(){function t(){this.onChange=function(t){},this.onTouched=function(){}}return t.prototype.registerOnChange=function(t){this.onChange=t},t.prototype.registerOnTouched=function(t){this.onTouched=t},t}(),_=function(){function t(){}return t.prototype.setValue=function(t,r){return sessionStorage.setItem(t,JSON.stringify(r)),r},t.prototype.getValue=function(t){return JSON.parse(sessionStorage.getItem(t)||"{}")},t}();t.ControlValueAccessor=P,t.FormArray=x,t.FormBuilder=U,t.FormControl=$,t.FormGroup=T,t.LocalStorageManager=D,t.SessionStorageManager=_,Object.defineProperty(t,"__esModule",{value:!0})}));
***************************************************************************** */var i=function(t,r){return(i=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,r){t.__proto__=r}||function(t,r){for(var e in r)Object.prototype.hasOwnProperty.call(r,e)&&(t[e]=r[e])})(t,r)};function a(t,r){function e(){this.constructor=t}i(t,r),t.prototype=null===r?Object.create(r):(e.prototype=r.prototype,new e)}Object.create;function s(t,r){var e="function"==typeof Symbol&&t[Symbol.iterator];if(!e)return t;var o,n,i=e.call(t),a=[];try{for(;(void 0===r||r-- >0)&&!(o=i.next()).done;)a.push(o.value)}catch(t){n={error:t}}finally{try{o&&!o.done&&(e=i.return)&&e.call(i)}finally{if(n)throw n.error}}return a}function u(){for(var t=[],r=0;r<arguments.length;r++)t=t.concat(s(arguments[r]));return t}Object.create;function p(t){return Array.isArray(t)?t:[t]}function c(t){return null==t}function l(t){return e.isObservable(t)||function(t){return"function"==typeof(null==t?void 0:t.then)}(t)?e.from(t):e.of(t)}function y(t,r){return t||r?Object.assign(Object.assign({},t),r):null}function h(t,r){if(!t)return null;var e=Object.assign({},t);return delete e[r],Object.keys(e).length>0?e:null}function f(t){return t.getRawValue?t.getRawValue():t.value}function d(t){return e.merge(e.defer((function(){return e.of(f(t))})),t.valueChanges.pipe(o.map((function(){return f(t)}))))}function g(t){return e.merge(e.defer((function(){return e.of(t.disabled)})),t.statusChanges.pipe(o.map((function(){return t.disabled})),o.distinctUntilChanged()))}function b(t){return e.merge(e.defer((function(){return e.of(t.enabled)})),t.statusChanges.pipe(o.map((function(){return t.enabled})),o.distinctUntilChanged()))}function v(t){return e.merge(e.defer((function(){return e.of(t.status)})),t.statusChanges.pipe(o.map((function(){return t.status})),o.distinctUntilChanged()))}function m(t,r){return e.merge(e.defer((function(){return e.of(t.errors)})),r,t.valueChanges.pipe(o.map((function(){return t.errors})),o.distinctUntilChanged((function(t,r){return function(t,r){return c(t)||c(r)?t===r:JSON.stringify(t)===JSON.stringify(r)}(t,r)}))))}function V(t,r,e){r?t.enable(e):t.disable(e)}function A(t,r,e){V(t,!r,e)}function C(t,r,e){return r.subscribe((function(r){return A(t,r,e)}))}function O(t,r,e){return r.subscribe((function(r){return V(t,r,e)}))}function E(t,r,e){t.setValidators(u([t.validator],p(r))),t.updateValueAndValidity(e)}function j(t,r){return r.subscribe((function(r){t.setErrors(r)}))}function S(t,r,e){return t.hasError(r,e&&0!==e.length?e:void 0)&&t.touched}function k(t,r,e){return t.hasError(r,e&&0!==e.length?e:void 0)&&t.dirty}function w(t){t.markAsDirty({onlySelf:!0}),t._forEachChild((function(t){return t.markAllAsDirty()}))}var x=function(t){function r(r,n,i){var a=t.call(this,r,n,i)||this;return a.controls=r,a.touchChanges=new e.Subject,a.dirtyChanges=new e.Subject,a.errorsSubject=new e.Subject,a.touch$=a.touchChanges.asObservable().pipe(o.distinctUntilChanged()),a.dirty$=a.dirtyChanges.asObservable().pipe(o.distinctUntilChanged()),a.value$=d(a),a.disabled$=g(a),a.enabled$=b(a),a.status$=v(a),a.errors$=m(a,a.errorsSubject.asObservable()),a}return a(r,t),Object.defineProperty(r.prototype,"asyncValidator",{get:function(){return t.prototype.asyncValidator},set:function(r){t.prototype.asyncValidator=r},enumerable:!1,configurable:!0}),Object.defineProperty(r.prototype,"validator",{get:function(){return t.prototype.validator},set:function(r){t.prototype.validator=r},enumerable:!1,configurable:!0}),r.prototype.select=function(t){return this.value$.pipe(o.map(t),o.distinctUntilChanged())},r.prototype.getRawValue=function(){return t.prototype.getRawValue.call(this)},r.prototype.at=function(r){return t.prototype.at.call(this,r)},r.prototype.setValue=function(r,o){var n=this;if(e.isObservable(r))return r.subscribe((function(r){return t.prototype.setValue.call(n,r,o)}));t.prototype.setValue.call(this,r,o)},r.prototype.patchValue=function(r,o){var n=this;if(e.isObservable(r))return r.subscribe((function(r){return t.prototype.patchValue.call(n,r,o)}));t.prototype.patchValue.call(this,r,o)},r.prototype.push=function(r){return t.prototype.push.call(this,r)},r.prototype.insert=function(r,e){return t.prototype.insert.call(this,r,e)},r.prototype.setControl=function(r,e){return t.prototype.setControl.call(this,r,e)},r.prototype.disabledWhile=function(t,r){return C(this,t,r)},r.prototype.enabledWhile=function(t,r){return O(this,t,r)},r.prototype.mergeValidators=function(t,r){E(this,t,r)},r.prototype.mergeAsyncValidators=function(t,r){this.setAsyncValidators(u([this.asyncValidator],p(t))),this.updateValueAndValidity(r)},r.prototype.markAsTouched=function(r){t.prototype.markAsTouched.call(this,r),this.touchChanges.next(!0)},r.prototype.markAsUntouched=function(r){t.prototype.markAsUntouched.call(this,r),this.touchChanges.next(!1)},r.prototype.markAsPristine=function(r){t.prototype.markAsPristine.call(this,r),this.dirtyChanges.next(!1)},r.prototype.markAsDirty=function(r){t.prototype.markAsDirty.call(this,r),this.dirtyChanges.next(!0)},r.prototype.markAllAsDirty=function(){w(this)},r.prototype.reset=function(r,e){t.prototype.reset.call(this,r,e)},r.prototype.setValidators=function(r,e){t.prototype.setValidators.call(this,r),t.prototype.updateValueAndValidity.call(this,e)},r.prototype.setAsyncValidators=function(r,e){t.prototype.setAsyncValidators.call(this,r),t.prototype.updateValueAndValidity.call(this,e)},r.prototype.validateOn=function(t){var r=this;return t.subscribe((function(t){r.setErrors(t)}))},r.prototype.hasError=function(r,e){return t.prototype.hasError.call(this,r,e)},r.prototype.setErrors=function(r,e){return void 0===e&&(e={}),this.errorsSubject.next(r),t.prototype.setErrors.call(this,r,e)},r.prototype.mergeErrors=function(t,r){void 0===r&&(r={}),this.setErrors(y(this.errors,t),r)},r.prototype.removeError=function(t,r){void 0===r&&(r={}),this.setErrors(h(this.errors,t),r)},r.prototype.getError=function(r,e){return t.prototype.getError.call(this,r,e)},r.prototype.hasErrorAndTouched=function(t,r){return S(this,t,r)},r.prototype.hasErrorAndDirty=function(t,r){return k(this,t,r)},r.prototype.setEnable=function(t,r){void 0===t&&(t=!0),V(this,t,r)},r.prototype.setDisable=function(t,r){void 0===t&&(t=!0),A(this,t,r)},r.prototype.remove=function(t){this.removeWhen((function(r){return r.value===t}))},r.prototype.removeWhen=function(t){for(var r=this.length-1;r>=0;--r)t(this.at(r))&&this.removeAt(r)},r}(r.FormArray),$=function(t){function r(r,n,i){var a=t.call(this,r,n,i)||this;return a.touchChanges=new e.Subject,a.dirtyChanges=new e.Subject,a.errorsSubject=new e.Subject,a.touch$=a.touchChanges.asObservable().pipe(o.distinctUntilChanged()),a.dirty$=a.dirtyChanges.asObservable().pipe(o.distinctUntilChanged()),a.value$=d(a),a.disabled$=g(a),a.enabled$=b(a),a.status$=v(a),a.errors$=m(a,a.errorsSubject.asObservable()),a}return a(r,t),Object.defineProperty(r.prototype,"asyncValidator",{get:function(){return t.prototype.asyncValidator},set:function(r){t.prototype.asyncValidator=r},enumerable:!1,configurable:!0}),Object.defineProperty(r.prototype,"validator",{get:function(){return t.prototype.validator},set:function(r){t.prototype.validator=r},enumerable:!1,configurable:!0}),r.prototype.setValue=function(r,o){var n=this;if(e.isObservable(r))return r.subscribe((function(r){return t.prototype.setValue.call(n,r,o)}));t.prototype.setValue.call(this,r,o)},r.prototype.patchValue=function(r,o){var n=this;if(e.isObservable(r))return r.subscribe((function(r){return t.prototype.patchValue.call(n,r,o)}));t.prototype.patchValue.call(this,r,o)},r.prototype.disabledWhile=function(t,r){return C(this,t,r)},r.prototype.enabledWhile=function(t,r){return O(this,t,r)},r.prototype.mergeValidators=function(t,r){E(this,t,r)},r.prototype.mergeAsyncValidators=function(t,r){this.setAsyncValidators(u([this.asyncValidator],p(t))),this.updateValueAndValidity(r)},r.prototype.markAsTouched=function(r){t.prototype.markAsTouched.call(this,r),this.touchChanges.next(!0)},r.prototype.markAsUntouched=function(r){t.prototype.markAsUntouched.call(this,r),this.touchChanges.next(!1)},r.prototype.markAsPristine=function(r){t.prototype.markAsPristine.call(this,r),this.dirtyChanges.next(!1)},r.prototype.markAsDirty=function(r){t.prototype.markAsDirty.call(this,r),this.dirtyChanges.next(!0)},r.prototype.markAllAsDirty=function(){this.markAsDirty({onlySelf:!0})},r.prototype.reset=function(r,e){t.prototype.reset.call(this,r,e)},r.prototype.setValidators=function(r,e){t.prototype.setValidators.call(this,r),t.prototype.updateValueAndValidity.call(this,e)},r.prototype.setAsyncValidators=function(r,e){t.prototype.setAsyncValidators.call(this,r),t.prototype.updateValueAndValidity.call(this,e)},r.prototype.validateOn=function(t){return j(this,t)},r.prototype.getError=function(r){return t.prototype.getError.call(this,r)},r.prototype.hasError=function(r){return t.prototype.hasError.call(this,r)},r.prototype.setErrors=function(r,e){return void 0===e&&(e={}),this.errorsSubject.next(r),t.prototype.setErrors.call(this,r,e)},r.prototype.mergeErrors=function(t,r){void 0===r&&(r={}),this.setErrors(y(this.errors,t),r)},r.prototype.removeError=function(t,r){void 0===r&&(r={}),this.setErrors(h(this.errors,t),r)},r.prototype.hasErrorAndTouched=function(t){return S(this,t)},r.prototype.hasErrorAndDirty=function(t){return k(this,t)},r.prototype.setEnable=function(t,r){void 0===t&&(t=!0),V(this,t,r)},r.prototype.setDisable=function(t,r){void 0===t&&(t=!0),A(this,t,r)},r}(r.FormControl),D=function(){function t(){}return t.prototype.setValue=function(t,r){return localStorage.setItem(t,JSON.stringify(r)),r},t.prototype.getValue=function(t){return JSON.parse(localStorage.getItem(t)||"{}")},t}(),T=function(t){function n(r,n,i){var a=t.call(this,r,n,i)||this;return a.controls=r,a.touchChanges=new e.Subject,a.dirtyChanges=new e.Subject,a.errorsSubject=new e.Subject,a.touch$=a.touchChanges.asObservable().pipe(o.distinctUntilChanged()),a.dirty$=a.dirtyChanges.asObservable().pipe(o.distinctUntilChanged()),a.value$=d(a),a.disabled$=g(a),a.enabled$=b(a),a.status$=v(a),a.errors$=m(a,a.errorsSubject.asObservable()),a}return a(n,t),Object.defineProperty(n.prototype,"asyncValidator",{get:function(){return t.prototype.asyncValidator},set:function(r){t.prototype.asyncValidator=r},enumerable:!1,configurable:!0}),Object.defineProperty(n.prototype,"validator",{get:function(){return t.prototype.validator},set:function(r){t.prototype.validator=r},enumerable:!1,configurable:!0}),n.prototype.select=function(t){return function(t,r){return t.value$.pipe(o.map(r),o.distinctUntilChanged())}(this,t)},n.prototype.getRawValue=function(){return t.prototype.getRawValue.call(this)},n.prototype.get=function(r){return t.prototype.get.call(this,r)},n.prototype.getControl=function(){for(var t=[],r=0;r<arguments.length;r++)t[r]=arguments[r];return this.get(t)},n.prototype.addControl=function(r,e){t.prototype.addControl.call(this,r,e)},n.prototype.removeControl=function(r){t.prototype.removeControl.call(this,r)},n.prototype.contains=function(r){return t.prototype.contains.call(this,r)},n.prototype.setControl=function(r,e){t.prototype.setControl.call(this,r,e)},n.prototype.setValue=function(r,o){var n=this;if(e.isObservable(r))return r.subscribe((function(r){return t.prototype.setValue.call(n,r,o)}));t.prototype.setValue.call(this,r,o)},n.prototype.patchValue=function(r,o){var n=this;if(e.isObservable(r))return r.subscribe((function(r){return t.prototype.patchValue.call(n,r,o)}));t.prototype.patchValue.call(this,r,o)},n.prototype.disabledWhile=function(t,r){return C(this,t,r)},n.prototype.enabledWhile=function(t,r){return O(this,t,r)},n.prototype.mergeValidators=function(t,r){E(this,t,r)},n.prototype.mergeAsyncValidators=function(t,r){this.setAsyncValidators(u([this.asyncValidator],p(t))),this.updateValueAndValidity(r)},n.prototype.markAsTouched=function(r){t.prototype.markAsTouched.call(this,r),this.touchChanges.next(!0)},n.prototype.markAsUntouched=function(r){t.prototype.markAsUntouched.call(this,r),this.touchChanges.next(!1)},n.prototype.markAsPristine=function(r){t.prototype.markAsPristine.call(this,r),this.dirtyChanges.next(!1)},n.prototype.markAsDirty=function(r){t.prototype.markAsDirty.call(this,r),this.dirtyChanges.next(!0)},n.prototype.markAllAsDirty=function(){w(this)},n.prototype.reset=function(r,e){t.prototype.reset.call(this,r,e)},n.prototype.setValidators=function(r,e){t.prototype.setValidators.call(this,r),t.prototype.updateValueAndValidity.call(this,e)},n.prototype.setAsyncValidators=function(r,e){t.prototype.setAsyncValidators.call(this,r),t.prototype.updateValueAndValidity.call(this,e)},n.prototype.validateOn=function(t){return j(this,t)},n.prototype.hasError=function(r,e){return t.prototype.hasError.call(this,r,e)},n.prototype.setErrors=function(r,e){return void 0===e&&(e={}),this.errorsSubject.next(r),t.prototype.setErrors.call(this,r,e)},n.prototype.mergeErrors=function(t,r){void 0===r&&(r={}),this.setErrors(y(this.errors,t),r)},n.prototype.removeError=function(t,r){void 0===r&&(r={}),this.setErrors(h(this.errors,t),r)},n.prototype.getError=function(r,e){return t.prototype.getError.call(this,r,e)},n.prototype.hasErrorAndTouched=function(t){for(var r=[],e=1;e<arguments.length;e++)r[e-1]=arguments[e];return S.apply(void 0,u([this,t],r))},n.prototype.hasErrorAndDirty=function(t){for(var r=[],e=1;e<arguments.length;e++)r[e-1]=arguments[e];return k.apply(void 0,u([this,t],r))},n.prototype.setEnable=function(t,r){void 0===t&&(t=!0),V(this,t,r)},n.prototype.setDisable=function(t,r){void 0===t&&(t=!0),A(this,t,r)},n.prototype.persist=function(t,r){var e=this,n=r.debounceTime,i=r.manager,a=r.arrControlFactory,s=r.persistDisabledControls,u=i||new D;return this.restore(t,u,a).pipe(o.switchMap((function(){return function(t,r,e){return t.valueChanges.pipe(o.debounceTime(e.debounceTime),o.switchMap((function(o){return l(e.manager.setValue(r,e.persistDisabledControls?t.getRawValue():o))})))}(e,t,{debounceTime:n||250,manager:u,persistDisabledControls:s})})))},n.prototype.restore=function(t,e,n){var i=this;return l(e.getValue(t)).pipe(o.take(1),o.tap((function(t){t&&(!function(t,e,o){Object.keys(e).forEach((function(n){var i=e[n];if(Array.isArray(i)&&t.get(n)instanceof r.FormArray){if(!o||o&&!(n in o))throw new Error("Please provide arrControlFactory for "+n);var a=t.get(n),s=o[n];!function(t){for(;0!==t.length;)t.removeAt(0)}(a),i.forEach((function(t,r){return a.insert(r,s(t))}))}}))}(i,t,n),i.patchValue(t,{emitEvent:!1}))})))},n}(r.FormGroup);var U=function(t){function r(){return null!==t&&t.apply(this,arguments)||this}return a(r,t),r.prototype.group=function(t,r){var e,o=this._reduceControls(t),n=null,i=null;return null!=r&&(!function(t){return void 0!==t.asyncValidators||void 0!==t.validators||void 0!==t.updateOn}(r)?(n=null!=r.validator?r.validator:null,i=null!=r.asyncValidator?r.asyncValidator:null):(n=null!=r.validators?r.validators:null,i=null!=r.asyncValidators?r.asyncValidators:null,e=null!=r.updateOn?r.updateOn:void 0)),new T(o,{asyncValidators:i,updateOn:e,validators:n})},r.prototype.control=function(t,r,e){return new $(t,r,e)},r.prototype.array=function(t,r,e){var o=this,n=t.map((function(t){return o._createControl(t)}));return new x(n,r,e)},r}(r.FormBuilder);U.ɵprov=n.ɵɵdefineInjectable({factory:function(){return new U},token:U,providedIn:"root"}),U.decorators=[{type:n.Injectable,args:[{providedIn:"root"}]}];var P=function(){function t(){this.onChange=function(t){},this.onTouched=function(){}}return t.prototype.registerOnChange=function(t){this.onChange=t},t.prototype.registerOnTouched=function(t){this.onTouched=t},t}(),_=function(){function t(){}return t.prototype.setValue=function(t,r){return sessionStorage.setItem(t,JSON.stringify(r)),r},t.prototype.getValue=function(t){return JSON.parse(sessionStorage.getItem(t)||"{}")},t}();t.ControlValueAccessor=P,t.FormArray=x,t.FormBuilder=U,t.FormControl=$,t.FormGroup=T,t.LocalStorageManager=D,t.SessionStorageManager=_,Object.defineProperty(t,"__esModule",{value:!0})}));
//# sourceMappingURL=ngneat-reactive-forms.umd.min.js.map

@@ -74,3 +74,3 @@ import { FormArray as NgFormArray } from '@angular/forms';

export function persistValue$(control, key, options) {
return control.valueChanges.pipe(debounceTime(options.debounceTime), switchMap(value => wrapIntoObservable(options.manager.setValue(key, value))));
return control.valueChanges.pipe(debounceTime(options.debounceTime), switchMap(value => wrapIntoObservable(options.manager.setValue(key, options.persistDisabledControls ? control.getRawValue() : value))));
}

@@ -96,2 +96,2 @@ export function handleFormArrays(control, formValue, arrControlFactory) {

}
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29udHJvbC1hY3Rpb25zLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmduZWF0L3JlYWN0aXZlLWZvcm1zL3NyYy9saWIvY29udHJvbC1hY3Rpb25zLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBb0IsU0FBUyxJQUFJLFdBQVcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQzVFLE9BQU8sRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFjLEVBQUUsRUFBZ0IsTUFBTSxNQUFNLENBQUM7QUFDbEUsT0FBTyxFQUFFLG9CQUFvQixFQUFFLEdBQUcsRUFBRSxZQUFZLEVBQUUsU0FBUyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFjcEYsT0FBTyxFQUFFLFdBQVcsRUFBRSxLQUFLLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxTQUFTLENBQUM7QUFFakUsU0FBUyxlQUFlLENBQUksT0FBMkI7SUFDckQsSUFBSyxPQUFlLENBQUMsV0FBVyxFQUFFO1FBQ2hDLE9BQVEsT0FBZSxDQUFDLFdBQVcsRUFBRSxDQUFDO0tBQ3ZDO0lBQ0QsT0FBTyxPQUFPLENBQUMsS0FBSyxDQUFDO0FBQ3ZCLENBQUM7QUFFRCxTQUFTLGFBQWEsQ0FBQyxDQUEwQixFQUFFLENBQTBCO0lBQzNFLElBQUksS0FBSyxDQUFDLENBQUMsQ0FBQyxJQUFJLEtBQUssQ0FBQyxDQUFDLENBQUMsRUFBRTtRQUN4QixPQUFPLENBQUMsS0FBSyxDQUFDLENBQUM7S0FDaEI7SUFDRCxPQUFPLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLEtBQUssSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUNqRCxDQUFDO0FBRUQsTUFBTSxVQUFVLG9CQUFvQixDQUFJLE9BQTJCO0lBQ2pFLE9BQU8sS0FBSyxDQUNWLEtBQUssQ0FBQyxHQUFHLEVBQUUsQ0FBQyxFQUFFLENBQUMsZUFBZSxDQUFDLE9BQU8sQ0FBQyxDQUFD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QUNwRixNQUFNLElBQUksS0FBSyxDQUFDLHdDQUF3QyxXQUFXLEVBQUUsQ0FBQyxDQUFDO2FBQ3hFO1lBQ0QsTUFBTSxPQUFPLEdBQUcsT0FBTyxDQUFDLEdBQUcsQ0FBQyxXQUFXLENBQWdCLENBQUM7WUFDeEQsTUFBTSxFQUFFLEdBQUcsaUJBQWlCLENBQUMsV0FBVyxDQUFDLENBQUM7WUFDMUMsY0FBYyxDQUFDLE9BQU8sQ0FBQyxDQUFDO1lBQ3hCLEtBQUssQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO1NBQ25EO0lBQ0gsQ0FBQyxDQUFDLENBQUM7QUFDTCxDQUFDO0FBRUQsTUFBTSxVQUFVLGNBQWMsQ0FBQyxPQUFvQjtJQUNqRCxPQUFPLE9BQU8sQ0FBQyxNQUFNLEtBQUssQ0FBQyxFQUFFO1FBQzNCLE9BQU8sQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUM7S0FDckI7QUFDSCxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgVmFsaWRhdGlvbkVycm9ycywgRm9ybUFycmF5IGFzIE5nRm9ybUFycmF5IH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgZGVmZXIsIG1lcmdlLCBPYnNlcnZhYmxlLCBvZiwgU3Vic2NyaXB0aW9uIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBkaXN0aW5jdFVudGlsQ2hhbmdlZCwgbWFwLCBkZWJvdW5jZVRpbWUsIHN3aXRjaE1hcCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7IEZvcm1BcnJheSB9IGZyb20gJy4vZm9ybUFycmF5JztcbmltcG9ydCB7IEZvcm1Db250cm9sIH0gZnJvbSAnLi9mb3JtQ29udHJvbCc7XG5pbXBvcnQgeyBGb3JtR3JvdXAgfSBmcm9tICcuL2Zvcm1Hcm91cCc7XG5pbXBvcnQge1xuICBBYnN0cmFjdENvbnRyb2wsXG4gIENvbnRyb2xPcHRpb25zLFxuICBDb250cm9sU3RhdGUsXG4gIFZhbGlkYXRvckZuLFxuICBDb250cm9sUGF0aCxcbiAgUGVyc2lzdE9wdGlvbnMsXG4gIENvbnRyb2xGYWN0b3J5TWFwLFxuICBVcGRhdGVWYWx1ZUFuZFZhbGlkaXR5T3B0aW9uc1xufSBmcm9tICcuL3R5cGVzJztcbmltcG9ydCB7IGNvZXJjZUFycmF5LCBpc05pbCwgd3JhcEludG9PYnNlcnZhYmxlIH0gZnJvbSAnLi91dGlscyc7XG5cbmZ1bmN0aW9uIGdldENvbnRyb2xWYWx1ZTxUPihjb250cm9sOiBBYnN0cmFjdENvbnRyb2w8VD4pOiBUIHtcbiAgaWYgKChjb250cm9sIGFzIGFueSkuZ2V0UmF3VmFsdWUpIHtcbiAgICByZXR1cm4gKGNvbnRyb2wgYXMgYW55KS5nZXRSYXdWYWx1ZSgpO1xuICB9XG4gIHJldHVybiBjb250cm9sLnZhbHVlO1xufVxuXG5mdW5jdGlvbiBjb21wYXJlRXJyb3JzKGE6IFZhbGlkYXRpb25FcnJvcnMgfCBudWxsLCBiOiBWYWxpZGF0aW9uRXJyb3JzIHwgbnVsbCkge1xuICBpZiAoaXNOaWwoYSkgfHwgaXNOaWwoYikpIHtcbiAgICByZXR1cm4gYSA9PT0gYjtcbiAgfVxuICByZXR1cm4gSlNPTi5zdHJpbmdpZnkoYSkgPT09IEpTT04uc3RyaW5naWZ5KGIpO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gY29udHJvbFZhbHVlQ2hhbmdlcyQ8VD4oY29udHJvbDogQWJzdHJhY3RDb250cm9sPFQ+KTogT2JzZXJ2YWJsZTxUPiB7XG4gIHJldHVybiBtZXJnZShcbiAgICBkZWZlcigoKSA9PiBvZihnZXRDb250cm9sVmFsdWUoY29udHJvbCkpKSxcbiAgICBjb250cm9sLnZhbHVlQ2hhbmdlcy5waXBlKG1hcCgoKSA9PiBnZXRDb250cm9sVmFsdWUoY29udHJvbCkpKVxuICApO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gY29udHJvbERpc2FibGVkJDxUPihjb250cm9sOiBBYnN0cmFjdENvbnRyb2w8VD4pOiBPYnNlcnZhYmxlPGJvb2xlYW4+IHtcbiAgcmV0dXJuIG1lcmdlKFxuICAgIGRlZmVyKCgpID0+IG9mKGNvbnRyb2wuZGlzYWJsZWQpKSxcbiAgICBjb250cm9sLnN0YXR1c0NoYW5nZXMucGlwZShcbiAgICAgIG1hcCgoKSA9PiBjb250cm9sLmRpc2FibGVkKSxcbiAgICAgIGRpc3RpbmN0VW50aWxDaGFuZ2VkKClcbiAgICApXG4gICk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBjb250cm9sRW5hYmxlZCQ8VD4oY29udHJvbDogQWJzdHJhY3RDb250cm9sPFQ+KTogT2JzZXJ2YWJsZTxib29sZWFuPiB7XG4gIHJldHVybiBtZXJnZShcbiAgICBkZWZlcigoKSA9PiBvZihjb250cm9sLmVuYWJsZWQpKSxcbiAgICBjb250cm9sLnN0YXR1c0NoYW5nZXMucGlwZShcbiAgICAgIG1hcCgoKSA9PiBjb250cm9sLmVuYWJsZWQpLFxuICAgICAgZGlzdGluY3RVbnRpbENoYW5nZWQoKVxuICAgIClcbiAgKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGNvbnRyb2xTdGF0dXNDaGFuZ2VzJDxUPihjb250cm9sOiBBYnN0cmFjdENvbnRyb2w8VD4pOiBPYnNlcnZhYmxlPENvbnRyb2xTdGF0ZT4ge1xuICByZXR1cm4gbWVyZ2UoXG4gICAgZGVmZXIoKCkgPT4gb2YoY29udHJvbC5zdGF0dXMgYXMgQ29udHJvbFN0YXRlKSksXG4gICAgY29udHJvbC5zdGF0dXNDaGFuZ2VzLnBpcGUoXG4gICAgICBtYXAoKCkgPT4gY29udHJvbC5zdGF0dXMgYXMgQ29udHJvbFN0YXRlKSxcbiAgICAgIGRpc3RpbmN0VW50aWxDaGFuZ2VkKClcbiAgICApXG4gICk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBjb250cm9sRXJyb3JDaGFuZ2VzJDxFPihcbiAgY29udHJvbDogQWJzdHJhY3RDb250cm9sLFxuICBlcnJvcnMkOiBPYnNlcnZhYmxlPFBhcnRpYWw8RT4+XG4pOiBPYnNlcnZhYmxlPEUgfCBudWxsPiB7XG4gIHJldHVybiBtZXJnZShcbiAgICBkZWZlcigoKSA9PiBvZihjb250cm9sLmVycm9ycyBhcyBFKSksXG4gICAgZXJyb3JzJCBhcyBPYnNlcnZhYmxlPEU+LFxuICAgIGNvbnRyb2wudmFsdWVDaGFuZ2VzLnBpcGUoXG4gICAgICBtYXAoKCkgPT4gY29udHJvbC5lcnJvcnMgYXMgRSksXG4gICAgICBkaXN0aW5jdFVudGlsQ2hhbmdlZCgoYSwgYikgPT4gY29tcGFyZUVycm9ycyhhLCBiKSlcbiAgICApXG4gICk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBlbmFibGVDb250cm9sPFQ+KGNvbnRyb2w6IEFic3RyYWN0Q29udHJvbDxUPiwgZW5hYmxlZDogYm9vbGVhbiwgb3B0cz86IENvbnRyb2xPcHRpb25zKTogdm9pZCB7XG4gIGlmIChlbmFibGVkKSB7XG4gICAgY29udHJvbC5lbmFibGUob3B0cyk7XG4gIH0gZWxzZSB7XG4gICAgY29udHJvbC5kaXNhYmxlKG9wdHMpO1xuICB9XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBkaXNhYmxlQ29udHJvbDxUPihjb250cm9sOiBBYnN0cmFjdENvbnRyb2w8VD4sIGRpc2FibGVkOiBib29sZWFuLCBvcHRzPzogQ29udHJvbE9wdGlvbnMpOiB2b2lkIHtcbiAgZW5hYmxlQ29udHJvbChjb250cm9sLCAhZGlzYWJsZWQsIG9wdHMpO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gY29udHJvbERpc2FibGVkV2hpbGU8VD4oXG4gIGNvbnRyb2w6IEFic3RyYWN0Q29udHJvbDxUPixcbiAgb2JzZXJ2YWJsZTogT2JzZXJ2YWJsZTxib29sZWFuPixcbiAgb3B0cz86IENvbnRyb2xPcHRpb25zXG4pOiBTdWJzY3JpcHRpb24ge1xuICByZXR1cm4gb2JzZXJ2YWJsZS5zdWJzY3JpYmUoaXNEaXNhYmxlZCA9PiBkaXNhYmxlQ29udHJvbChjb250cm9sLCBpc0Rpc2FibGVkLCBvcHRzKSk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBjb250cm9sRW5hYmxlZFdoaWxlPFQ+KFxuICBjb250cm9sOiBBYnN0cmFjdENvbnRyb2w8VD4sXG4gIG9ic2VydmFibGU6IE9ic2VydmFibGU8Ym9vbGVhbj4sXG4gIG9wdHM/OiBDb250cm9sT3B0aW9uc1xuKTogU3Vic2NyaXB0aW9uIHtcbiAgcmV0dXJuIG9ic2VydmFibGUuc3Vic2NyaWJlKGlzRW5hYmxlZCA9PiBlbmFibGVDb250cm9sKGNvbnRyb2wsIGlzRW5hYmxlZCwgb3B0cykpO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gbWVyZ2VDb250cm9sVmFsaWRhdG9yczxULCBDb250cm9sIGV4dGVuZHMgQWJzdHJhY3RDb250cm9sPFQ+PihcbiAgY29udHJvbDogQ29udHJvbCxcbiAgdmFsaWRhdG9yczogVmFsaWRhdG9yRm48VD4gfCBWYWxpZGF0b3JGbjxUPltdLFxuICBvcHRpb25zPzogVXBkYXRlVmFsdWVBbmRWYWxpZGl0eU9wdGlvbnNcbik6IHZvaWQge1xuICBjb250cm9sLnNldFZhbGlkYXRvcnMoW2NvbnRyb2wudmFsaWRhdG9yLCAuLi5jb2VyY2VBcnJheSh2YWxpZGF0b3JzKV0pO1xuICBjb250cm9sLnVwZGF0ZVZhbHVlQW5kVmFsaWRpdHkob3B0aW9ucyk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiB2YWxpZGF0ZUNvbnRyb2xPbjxUPihjb250cm9sOiBBYnN0cmFjdENvbnRyb2w8VD4sIHZhbGlkYXRpb246IE9ic2VydmFibGU8bnVsbCB8IG9iamVjdD4pOiBTdWJzY3JpcHRpb24ge1xuICByZXR1cm4gdmFsaWRhdGlvbi5zdWJzY3JpYmUobWF5YmVFcnJvciA9PiB7XG4gICAgY29udHJvbC5zZXRFcnJvcnMobWF5YmVFcnJvcik7XG4gIH0pO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gaGFzRXJyb3JBbmRUb3VjaGVkPFQ+KGNvbnRyb2w6IEFic3RyYWN0Q29udHJvbDxUPiwgZXJyb3I6IHN0cmluZywgcGF0aD86IENvbnRyb2xQYXRoKTogYm9vbGVhbiB7XG4gIGNvbnN0IGhhc0Vycm9yID0gY29udHJvbC5oYXNFcnJvcihlcnJvciwgIXBhdGggfHwgcGF0aC5sZW5ndGggPT09IDAgPyB1bmRlZmluZWQgOiBwYXRoKTtcbiAgcmV0dXJuIGhhc0Vycm9yICYmIGNvbnRyb2wudG91Y2hlZDtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGhhc0Vycm9yQW5kRGlydHk8VD4oY29udHJvbDogQWJzdHJhY3RDb250cm9sPFQ+LCBlcnJvcjogc3RyaW5nLCBwYXRoPzogQ29udHJvbFBhdGgpOiBib29sZWFuIHtcbiAgY29uc3QgaGFzRXJyb3IgPSBjb250cm9sLmhhc0Vycm9yKGVycm9yLCAhcGF0aCB8fCBwYXRoLmxlbmd0aCA9PT0gMCA/IHVuZGVmaW5lZCA6IHBhdGgpO1xuICByZXR1cm4gaGFzRXJyb3IgJiYgY29udHJvbC5kaXJ0eTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIG1hcmtBbGxEaXJ0eTxUPihjb250cm9sOiBGb3JtQXJyYXk8VD4gfCBGb3JtR3JvdXA8VD4pOiB2b2lkIHtcbiAgY29udHJvbC5tYXJrQXNEaXJ0eSh7IG9ubHlTZWxmOiB0cnVlIH0pO1xuICAoY29udHJvbCBhcyBhbnkpLl9mb3JFYWNoQ2hpbGQoY29udHJvbCA9PiBjb250cm9sLm1hcmtBbGxBc0RpcnR5KCkpO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gc2VsZWN0Q29udHJvbFZhbHVlJDxULCBSPihcbiAgY29udHJvbDogRm9ybUdyb3VwPFQ+IHwgRm9ybUFycmF5PFQ+IHwgRm9ybUNvbnRyb2w8VD4sXG4gIG1hcEZuOiAoc3RhdGU6IFQgfCBUW10pID0+IFJcbik6IE9ic2VydmFibGU8Uj4ge1xuICByZXR1cm4gKGNvbnRyb2wudmFsdWUkIGFzIE9ic2VydmFibGU8YW55PikucGlwZShtYXAobWFwRm4pLCBkaXN0aW5jdFVudGlsQ2hhbmdlZCgpKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHBlcnNpc3RWYWx1ZSQ8VD4oY29udHJvbDogRm9ybUdyb3VwPFQ+LCBrZXk6IHN0cmluZywgb3B0aW9uczogUGVyc2lzdE9wdGlvbnM8VD4pOiBPYnNlcnZhYmxlPFQ+IHtcbiAgcmV0dXJuIGNvbnRyb2wudmFsdWVDaGFuZ2VzLnBpcGUoXG4gICAgZGVib3VuY2VUaW1lKG9wdGlvbnMuZGVib3VuY2VUaW1lKSxcbiAgICBzd2l0Y2hNYXAodmFsdWUgPT4gd3JhcEludG9PYnNlcnZhYmxlKG9wdGlvbnMubWFuYWdlci5zZXRWYWx1ZShrZXksIHZhbHVlKSkpXG4gICk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBoYW5kbGVGb3JtQXJyYXlzPFQ+KFxuICBjb250cm9sOiBBYnN0cmFjdENvbnRyb2w8VD4sXG4gIGZvcm1WYWx1ZTogVCxcbiAgYXJyQ29udHJvbEZhY3Rvcnk6IENvbnRyb2xGYWN0b3J5TWFwPFQ+XG4pIHtcbiAgT2JqZWN0LmtleXMoZm9ybVZhbHVlKS5mb3JFYWNoKGNvbnRyb2xOYW1lID0+IHtcbiAgICBjb25zdCB2YWx1ZSA9IGZvcm1WYWx1ZVtjb250cm9sTmFtZV07XG4gICAgaWYgKEFycmF5LmlzQXJyYXkodmFsdWUpICYmIGNvbnRyb2wuZ2V0KGNvbnRyb2xOYW1lKSBpbnN0YW5jZW9mIE5nRm9ybUFycmF5KSB7XG4gICAgICBpZiAoIWFyckNvbnRyb2xGYWN0b3J5IHx8IChhcnJDb250cm9sRmFjdG9yeSAmJiAhKGNvbnRyb2xOYW1lIGluIGFyckNvbnRyb2xGYWN0b3J5KSkpIHtcbiAgICAgICAgdGhyb3cgbmV3IEVycm9yKGBQbGVhc2UgcHJvdmlkZSBhcnJDb250cm9sRmFjdG9yeSBmb3IgJHtjb250cm9sTmFtZX1gKTtcbiAgICAgIH1cbiAgICAgIGNvbnN0IGN1cnJlbnQgPSBjb250cm9sLmdldChjb250cm9sTmFtZSkgYXMgTmdGb3JtQXJyYXk7XG4gICAgICBjb25zdCBmYyA9IGFyckNvbnRyb2xGYWN0b3J5W2NvbnRyb2xOYW1lXTtcbiAgICAgIGNsZWFyRm9ybUFycmF5KGN1cnJlbnQpO1xuICAgICAgdmFsdWUuZm9yRWFjaCgodiwgaSkgPT4gY3VycmVudC5pbnNlcnQoaSwgZmModikpKTtcbiAgICB9XG4gIH0pO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gY2xlYXJGb3JtQXJyYXkoY29udHJvbDogTmdGb3JtQXJyYXkpIHtcbiAgd2hpbGUgKGNvbnRyb2wubGVuZ3RoICE9PSAwKSB7XG4gICAgY29udHJvbC5yZW1vdmVBdCgwKTtcbiAgfVxufVxuIl19
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29udHJvbC1hY3Rpb25zLmpzIiwic291cmNlUm9vdCI6Ii9Vc2Vycy9uZXRhbmVsYmFzYWwvd3d3L3JlYWN0aXZlLWZvcm1zL3Byb2plY3RzL25nbmVhdC9yZWFjdGl2ZS1mb3Jtcy9zcmMvIiwic291cmNlcyI6WyJsaWIvY29udHJvbC1hY3Rpb25zLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBb0IsU0FBUyxJQUFJLFdBQVcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQzVFLE9BQU8sRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFjLEVBQUUsRUFBZ0IsTUFBTSxNQUFNLENBQUM7QUFDbEUsT0FBTyxFQUFFLG9CQUFvQixFQUFFLEdBQUcsRUFBRSxZQUFZLEVBQUUsU0FBUyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFjcEYsT0FBTyxFQUFFLFdBQVcsRUFBRSxLQUFLLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxTQUFTLENBQUM7QUFFakUsU0FBUyxlQUFlLENBQUksT0FBMkI7SUFDckQsSUFBSyxPQUFlLENBQUMsV0FBVyxFQUFFO1FBQ2hDLE9BQVEsT0FBZSxDQUFDLFdBQVcsRUFBRSxDQUFDO0tBQ3ZDO0lBQ0QsT0FBTyxPQUFPLENBQUMsS0FBSyxDQUFDO0FBQ3ZCLENBQUM7QUFFRCxTQUFTLGFBQWEsQ0FBQyxDQUEwQixFQUFFLENBQTBCO0lBQzNFLElBQUksS0FBSyxDQUFDLENBQUMsQ0FBQyxJQUFJLEtBQUssQ0FBQyxDQUFDLENBQUMsRUFBRTtRQUN4QixPQUFPLENBQUMsS0FBSyxDQUFDLENBQUM7S0FDaEI7SUFDRCxPQUFPLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLEtBQUssSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUNqRCxDQUFDO0FBRUQsTUFBTSxVQUFVLG9CQUFvQixDQUFJLE9BQTJCO0lBQ2pFLE9BQU8sS0FBSyxDQUNWLEtBQUssQ0FBQyxHQUFHLEVBQUUsQ0FBQyxFQUFFLENBQUMs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QUU7WUFDM0UsSUFBSSxDQUFDLGlCQUFpQixJQUFJLENBQUMsaUJBQWlCLElBQUksQ0FBQyxDQUFDLFdBQVcsSUFBSSxpQkFBaUIsQ0FBQyxDQUFDLEVBQUU7Z0JBQ3BGLE1BQU0sSUFBSSxLQUFLLENBQUMsd0NBQXdDLFdBQVcsRUFBRSxDQUFDLENBQUM7YUFDeEU7WUFDRCxNQUFNLE9BQU8sR0FBRyxPQUFPLENBQUMsR0FBRyxDQUFDLFdBQVcsQ0FBZ0IsQ0FBQztZQUN4RCxNQUFNLEVBQUUsR0FBRyxpQkFBaUIsQ0FBQyxXQUFXLENBQUMsQ0FBQztZQUMxQyxjQUFjLENBQUMsT0FBTyxDQUFDLENBQUM7WUFDeEIsS0FBSyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsRUFBRSxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7U0FDbkQ7SUFDSCxDQUFDLENBQUMsQ0FBQztBQUNMLENBQUM7QUFFRCxNQUFNLFVBQVUsY0FBYyxDQUFDLE9BQW9CO0lBQ2pELE9BQU8sT0FBTyxDQUFDLE1BQU0sS0FBSyxDQUFDLEVBQUU7UUFDM0IsT0FBTyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQztLQUNyQjtBQUNILENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBWYWxpZGF0aW9uRXJyb3JzLCBGb3JtQXJyYXkgYXMgTmdGb3JtQXJyYXkgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBkZWZlciwgbWVyZ2UsIE9ic2VydmFibGUsIG9mLCBTdWJzY3JpcHRpb24gfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IGRpc3RpbmN0VW50aWxDaGFuZ2VkLCBtYXAsIGRlYm91bmNlVGltZSwgc3dpdGNoTWFwIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHsgRm9ybUFycmF5IH0gZnJvbSAnLi9mb3JtQXJyYXknO1xuaW1wb3J0IHsgRm9ybUNvbnRyb2wgfSBmcm9tICcuL2Zvcm1Db250cm9sJztcbmltcG9ydCB7IEZvcm1Hcm91cCB9IGZyb20gJy4vZm9ybUdyb3VwJztcbmltcG9ydCB7XG4gIEFic3RyYWN0Q29udHJvbCxcbiAgQ29udHJvbE9wdGlvbnMsXG4gIENvbnRyb2xTdGF0ZSxcbiAgVmFsaWRhdG9yRm4sXG4gIENvbnRyb2xQYXRoLFxuICBQZXJzaXN0T3B0aW9ucyxcbiAgQ29udHJvbEZhY3RvcnlNYXAsXG4gIFVwZGF0ZVZhbHVlQW5kVmFsaWRpdHlPcHRpb25zXG59IGZyb20gJy4vdHlwZXMnO1xuaW1wb3J0IHsgY29lcmNlQXJyYXksIGlzTmlsLCB3cmFwSW50b09ic2VydmFibGUgfSBmcm9tICcuL3V0aWxzJztcblxuZnVuY3Rpb24gZ2V0Q29udHJvbFZhbHVlPFQ+KGNvbnRyb2w6IEFic3RyYWN0Q29udHJvbDxUPik6IFQge1xuICBpZiAoKGNvbnRyb2wgYXMgYW55KS5nZXRSYXdWYWx1ZSkge1xuICAgIHJldHVybiAoY29udHJvbCBhcyBhbnkpLmdldFJhd1ZhbHVlKCk7XG4gIH1cbiAgcmV0dXJuIGNvbnRyb2wudmFsdWU7XG59XG5cbmZ1bmN0aW9uIGNvbXBhcmVFcnJvcnMoYTogVmFsaWRhdGlvbkVycm9ycyB8IG51bGwsIGI6IFZhbGlkYXRpb25FcnJvcnMgfCBudWxsKSB7XG4gIGlmIChpc05pbChhKSB8fCBpc05pbChiKSkge1xuICAgIHJldHVybiBhID09PSBiO1xuICB9XG4gIHJldHVybiBKU09OLnN0cmluZ2lmeShhKSA9PT0gSlNPTi5zdHJpbmdpZnkoYik7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBjb250cm9sVmFsdWVDaGFuZ2VzJDxUPihjb250cm9sOiBBYnN0cmFjdENvbnRyb2w8VD4pOiBPYnNlcnZhYmxlPFQ+IHtcbiAgcmV0dXJuIG1lcmdlKFxuICAgIGRlZmVyKCgpID0+IG9mKGdldENvbnRyb2xWYWx1ZShjb250cm9sKSkpLFxuICAgIGNvbnRyb2wudmFsdWVDaGFuZ2VzLnBpcGUobWFwKCgpID0+IGdldENvbnRyb2xWYWx1ZShjb250cm9sKSkpXG4gICk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBjb250cm9sRGlzYWJsZWQkPFQ+KGNvbnRyb2w6IEFic3RyYWN0Q29udHJvbDxUPik6IE9ic2VydmFibGU8Ym9vbGVhbj4ge1xuICByZXR1cm4gbWVyZ2UoXG4gICAgZGVmZXIoKCkgPT4gb2YoY29udHJvbC5kaXNhYmxlZCkpLFxuICAgIGNvbnRyb2wuc3RhdHVzQ2hhbmdlcy5waXBlKFxuICAgICAgbWFwKCgpID0+IGNvbnRyb2wuZGlzYWJsZWQpLFxuICAgICAgZGlzdGluY3RVbnRpbENoYW5nZWQoKVxuICAgIClcbiAgKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGNvbnRyb2xFbmFibGVkJDxUPihjb250cm9sOiBBYnN0cmFjdENvbnRyb2w8VD4pOiBPYnNlcnZhYmxlPGJvb2xlYW4+IHtcbiAgcmV0dXJuIG1lcmdlKFxuICAgIGRlZmVyKCgpID0+IG9mKGNvbnRyb2wuZW5hYmxlZCkpLFxuICAgIGNvbnRyb2wuc3RhdHVzQ2hhbmdlcy5waXBlKFxuICAgICAgbWFwKCgpID0+IGNvbnRyb2wuZW5hYmxlZCksXG4gICAgICBkaXN0aW5jdFVudGlsQ2hhbmdlZCgpXG4gICAgKVxuICApO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gY29udHJvbFN0YXR1c0NoYW5nZXMkPFQ+KGNvbnRyb2w6IEFic3RyYWN0Q29udHJvbDxUPik6IE9ic2VydmFibGU8Q29udHJvbFN0YXRlPiB7XG4gIHJldHVybiBtZXJnZShcbiAgICBkZWZlcigoKSA9PiBvZihjb250cm9sLnN0YXR1cyBhcyBDb250cm9sU3RhdGUpKSxcbiAgICBjb250cm9sLnN0YXR1c0NoYW5nZXMucGlwZShcbiAgICAgIG1hcCgoKSA9PiBjb250cm9sLnN0YXR1cyBhcyBDb250cm9sU3RhdGUpLFxuICAgICAgZGlzdGluY3RVbnRpbENoYW5nZWQoKVxuICAgIClcbiAgKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGNvbnRyb2xFcnJvckNoYW5nZXMkPEU+KFxuICBjb250cm9sOiBBYnN0cmFjdENvbnRyb2wsXG4gIGVycm9ycyQ6IE9ic2VydmFibGU8UGFydGlhbDxFPj5cbik6IE9ic2VydmFibGU8RSB8IG51bGw+IHtcbiAgcmV0dXJuIG1lcmdlKFxuICAgIGRlZmVyKCgpID0+IG9mKGNvbnRyb2wuZXJyb3JzIGFzIEUpKSxcbiAgICBlcnJvcnMkIGFzIE9ic2VydmFibGU8RT4sXG4gICAgY29udHJvbC52YWx1ZUNoYW5nZXMucGlwZShcbiAgICAgIG1hcCgoKSA9PiBjb250cm9sLmVycm9ycyBhcyBFKSxcbiAgICAgIGRpc3RpbmN0VW50aWxDaGFuZ2VkKChhLCBiKSA9PiBjb21wYXJlRXJyb3JzKGEsIGIpKVxuICAgIClcbiAgKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGVuYWJsZUNvbnRyb2w8VD4oY29udHJvbDogQWJzdHJhY3RDb250cm9sPFQ+LCBlbmFibGVkOiBib29sZWFuLCBvcHRzPzogQ29udHJvbE9wdGlvbnMpOiB2b2lkIHtcbiAgaWYgKGVuYWJsZWQpIHtcbiAgICBjb250cm9sLmVuYWJsZShvcHRzKTtcbiAgfSBlbHNlIHtcbiAgICBjb250cm9sLmRpc2FibGUob3B0cyk7XG4gIH1cbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGRpc2FibGVDb250cm9sPFQ+KGNvbnRyb2w6IEFic3RyYWN0Q29udHJvbDxUPiwgZGlzYWJsZWQ6IGJvb2xlYW4sIG9wdHM/OiBDb250cm9sT3B0aW9ucyk6IHZvaWQge1xuICBlbmFibGVDb250cm9sKGNvbnRyb2wsICFkaXNhYmxlZCwgb3B0cyk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBjb250cm9sRGlzYWJsZWRXaGlsZTxUPihcbiAgY29udHJvbDogQWJzdHJhY3RDb250cm9sPFQ+LFxuICBvYnNlcnZhYmxlOiBPYnNlcnZhYmxlPGJvb2xlYW4+LFxuICBvcHRzPzogQ29udHJvbE9wdGlvbnNcbik6IFN1YnNjcmlwdGlvbiB7XG4gIHJldHVybiBvYnNlcnZhYmxlLnN1YnNjcmliZShpc0Rpc2FibGVkID0+IGRpc2FibGVDb250cm9sKGNvbnRyb2wsIGlzRGlzYWJsZWQsIG9wdHMpKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGNvbnRyb2xFbmFibGVkV2hpbGU8VD4oXG4gIGNvbnRyb2w6IEFic3RyYWN0Q29udHJvbDxUPixcbiAgb2JzZXJ2YWJsZTogT2JzZXJ2YWJsZTxib29sZWFuPixcbiAgb3B0cz86IENvbnRyb2xPcHRpb25zXG4pOiBTdWJzY3JpcHRpb24ge1xuICByZXR1cm4gb2JzZXJ2YWJsZS5zdWJzY3JpYmUoaXNFbmFibGVkID0+IGVuYWJsZUNvbnRyb2woY29udHJvbCwgaXNFbmFibGVkLCBvcHRzKSk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBtZXJnZUNvbnRyb2xWYWxpZGF0b3JzPFQsIENvbnRyb2wgZXh0ZW5kcyBBYnN0cmFjdENvbnRyb2w8VD4+KFxuICBjb250cm9sOiBDb250cm9sLFxuICB2YWxpZGF0b3JzOiBWYWxpZGF0b3JGbjxUPiB8IFZhbGlkYXRvckZuPFQ+W10sXG4gIG9wdGlvbnM/OiBVcGRhdGVWYWx1ZUFuZFZhbGlkaXR5T3B0aW9uc1xuKTogdm9pZCB7XG4gIGNvbnRyb2wuc2V0VmFsaWRhdG9ycyhbY29udHJvbC52YWxpZGF0b3IsIC4uLmNvZXJjZUFycmF5KHZhbGlkYXRvcnMpXSk7XG4gIGNvbnRyb2wudXBkYXRlVmFsdWVBbmRWYWxpZGl0eShvcHRpb25zKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHZhbGlkYXRlQ29udHJvbE9uPFQ+KGNvbnRyb2w6IEFic3RyYWN0Q29udHJvbDxUPiwgdmFsaWRhdGlvbjogT2JzZXJ2YWJsZTxudWxsIHwgb2JqZWN0Pik6IFN1YnNjcmlwdGlvbiB7XG4gIHJldHVybiB2YWxpZGF0aW9uLnN1YnNjcmliZShtYXliZUVycm9yID0+IHtcbiAgICBjb250cm9sLnNldEVycm9ycyhtYXliZUVycm9yKTtcbiAgfSk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBoYXNFcnJvckFuZFRvdWNoZWQ8VD4oY29udHJvbDogQWJzdHJhY3RDb250cm9sPFQ+LCBlcnJvcjogc3RyaW5nLCBwYXRoPzogQ29udHJvbFBhdGgpOiBib29sZWFuIHtcbiAgY29uc3QgaGFzRXJyb3IgPSBjb250cm9sLmhhc0Vycm9yKGVycm9yLCAhcGF0aCB8fCBwYXRoLmxlbmd0aCA9PT0gMCA/IHVuZGVmaW5lZCA6IHBhdGgpO1xuICByZXR1cm4gaGFzRXJyb3IgJiYgY29udHJvbC50b3VjaGVkO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gaGFzRXJyb3JBbmREaXJ0eTxUPihjb250cm9sOiBBYnN0cmFjdENvbnRyb2w8VD4sIGVycm9yOiBzdHJpbmcsIHBhdGg/OiBDb250cm9sUGF0aCk6IGJvb2xlYW4ge1xuICBjb25zdCBoYXNFcnJvciA9IGNvbnRyb2wuaGFzRXJyb3IoZXJyb3IsICFwYXRoIHx8IHBhdGgubGVuZ3RoID09PSAwID8gdW5kZWZpbmVkIDogcGF0aCk7XG4gIHJldHVybiBoYXNFcnJvciAmJiBjb250cm9sLmRpcnR5O1xufVxuXG5leHBvcnQgZnVuY3Rpb24gbWFya0FsbERpcnR5PFQ+KGNvbnRyb2w6IEZvcm1BcnJheTxUPiB8IEZvcm1Hcm91cDxUPik6IHZvaWQge1xuICBjb250cm9sLm1hcmtBc0RpcnR5KHsgb25seVNlbGY6IHRydWUgfSk7XG4gIChjb250cm9sIGFzIGFueSkuX2ZvckVhY2hDaGlsZChjb250cm9sID0+IGNvbnRyb2wubWFya0FsbEFzRGlydHkoKSk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBzZWxlY3RDb250cm9sVmFsdWUkPFQsIFI+KFxuICBjb250cm9sOiBGb3JtR3JvdXA8VD4gfCBGb3JtQXJyYXk8VD4gfCBGb3JtQ29udHJvbDxUPixcbiAgbWFwRm46IChzdGF0ZTogVCB8IFRbXSkgPT4gUlxuKTogT2JzZXJ2YWJsZTxSPiB7XG4gIHJldHVybiAoY29udHJvbC52YWx1ZSQgYXMgT2JzZXJ2YWJsZTxhbnk+KS5waXBlKG1hcChtYXBGbiksIGRpc3RpbmN0VW50aWxDaGFuZ2VkKCkpO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gcGVyc2lzdFZhbHVlJDxUPihjb250cm9sOiBGb3JtR3JvdXA8VD4sIGtleTogc3RyaW5nLCBvcHRpb25zOiBQZXJzaXN0T3B0aW9uczxUPik6IE9ic2VydmFibGU8VD4ge1xuICByZXR1cm4gY29udHJvbC52YWx1ZUNoYW5nZXMucGlwZShcbiAgICBkZWJvdW5jZVRpbWUob3B0aW9ucy5kZWJvdW5jZVRpbWUpLFxuICAgIHN3aXRjaE1hcCh2YWx1ZSA9PlxuICAgICAgd3JhcEludG9PYnNlcnZhYmxlKG9wdGlvbnMubWFuYWdlci5zZXRWYWx1ZShrZXksIG9wdGlvbnMucGVyc2lzdERpc2FibGVkQ29udHJvbHMgPyBjb250cm9sLmdldFJhd1ZhbHVlKCkgOiB2YWx1ZSkpXG4gICAgKVxuICApO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gaGFuZGxlRm9ybUFycmF5czxUPihcbiAgY29udHJvbDogQWJzdHJhY3RDb250cm9sPFQ+LFxuICBmb3JtVmFsdWU6IFQsXG4gIGFyckNvbnRyb2xGYWN0b3J5OiBDb250cm9sRmFjdG9yeU1hcDxUPlxuKSB7XG4gIE9iamVjdC5rZXlzKGZvcm1WYWx1ZSkuZm9yRWFjaChjb250cm9sTmFtZSA9PiB7XG4gICAgY29uc3QgdmFsdWUgPSBmb3JtVmFsdWVbY29udHJvbE5hbWVdO1xuICAgIGlmIChBcnJheS5pc0FycmF5KHZhbHVlKSAmJiBjb250cm9sLmdldChjb250cm9sTmFtZSkgaW5zdGFuY2VvZiBOZ0Zvcm1BcnJheSkge1xuICAgICAgaWYgKCFhcnJDb250cm9sRmFjdG9yeSB8fCAoYXJyQ29udHJvbEZhY3RvcnkgJiYgIShjb250cm9sTmFtZSBpbiBhcnJDb250cm9sRmFjdG9yeSkpKSB7XG4gICAgICAgIHRocm93IG5ldyBFcnJvcihgUGxlYXNlIHByb3ZpZGUgYXJyQ29udHJvbEZhY3RvcnkgZm9yICR7Y29udHJvbE5hbWV9YCk7XG4gICAgICB9XG4gICAgICBjb25zdCBjdXJyZW50ID0gY29udHJvbC5nZXQoY29udHJvbE5hbWUpIGFzIE5nRm9ybUFycmF5O1xuICAgICAgY29uc3QgZmMgPSBhcnJDb250cm9sRmFjdG9yeVtjb250cm9sTmFtZV07XG4gICAgICBjbGVhckZvcm1BcnJheShjdXJyZW50KTtcbiAgICAgIHZhbHVlLmZvckVhY2goKHYsIGkpID0+IGN1cnJlbnQuaW5zZXJ0KGksIGZjKHYpKSk7XG4gICAgfVxuICB9KTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGNsZWFyRm9ybUFycmF5KGNvbnRyb2w6IE5nRm9ybUFycmF5KSB7XG4gIHdoaWxlIChjb250cm9sLmxlbmd0aCAhPT0gMCkge1xuICAgIGNvbnRyb2wucmVtb3ZlQXQoMCk7XG4gIH1cbn1cbiJdfQ==

@@ -13,2 +13,2 @@ export class ControlValueAccessor {

}
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29udHJvbFZhbHVlQWNjZXNzb3IuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ25lYXQvcmVhY3RpdmUtZm9ybXMvc3JjL2xpYi9jb250cm9sVmFsdWVBY2Nlc3Nvci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFFQSxNQUFNLE9BQWdCLG9CQUFvQjtJQUExQztRQUdFLGFBQVEsR0FBSSxDQUFDLEtBQWUsRUFBRSxFQUFFLEdBQUUsQ0FBQyxDQUFDO1FBQ3BDLGNBQVMsR0FBSSxHQUFHLEVBQUUsR0FBRSxDQUFDLENBQUM7SUFTeEIsQ0FBQztJQVBDLGdCQUFnQixDQUFDLEVBQTZCO1FBQzVDLElBQUksQ0FBQyxRQUFRLEdBQUcsRUFBRSxDQUFDO0lBQ3JCLENBQUM7SUFFRCxpQkFBaUIsQ0FBQyxFQUFjO1FBQzlCLElBQUksQ0FBQyxTQUFTLEdBQUcsRUFBRSxDQUFDO0lBQ3RCLENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbnRyb2xWYWx1ZUFjY2Vzc29yIGFzIE5nQ29udHJvbFZhbHVlQWNjZXNzb3IgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5cbmV4cG9ydCBhYnN0cmFjdCBjbGFzcyBDb250cm9sVmFsdWVBY2Nlc3NvcjxUID0gYW55PiBpbXBsZW1lbnRzIE5nQ29udHJvbFZhbHVlQWNjZXNzb3Ige1xuICBhYnN0cmFjdCB3cml0ZVZhbHVlKHZhbHVlOiBUKTogdm9pZDtcblxuICBvbkNoYW5nZT8gPSAodmFsdWU6IFQgfCBudWxsKSA9PiB7fTtcbiAgb25Ub3VjaGVkPyA9ICgpID0+IHt9O1xuXG4gIHJlZ2lzdGVyT25DaGFuZ2UoZm46ICh2YWx1ZTogVCB8IG51bGwpID0+IHZvaWQpOiB2b2lkIHtcbiAgICB0aGlzLm9uQ2hhbmdlID0gZm47XG4gIH1cblxuICByZWdpc3Rlck9uVG91Y2hlZChmbjogKCkgPT4gdm9pZCk6IHZvaWQge1xuICAgIHRoaXMub25Ub3VjaGVkID0gZm47XG4gIH1cbn1cbiJdfQ==
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29udHJvbFZhbHVlQWNjZXNzb3IuanMiLCJzb3VyY2VSb290IjoiL1VzZXJzL25ldGFuZWxiYXNhbC93d3cvcmVhY3RpdmUtZm9ybXMvcHJvamVjdHMvbmduZWF0L3JlYWN0aXZlLWZvcm1zL3NyYy8iLCJzb3VyY2VzIjpbImxpYi9jb250cm9sVmFsdWVBY2Nlc3Nvci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFFQSxNQUFNLE9BQWdCLG9CQUFvQjtJQUExQztRQUdFLGFBQVEsR0FBSSxDQUFDLEtBQWUsRUFBRSxFQUFFLEdBQUUsQ0FBQyxDQUFDO1FBQ3BDLGNBQVMsR0FBSSxHQUFHLEVBQUUsR0FBRSxDQUFDLENBQUM7SUFTeEIsQ0FBQztJQVBDLGdCQUFnQixDQUFDLEVBQTZCO1FBQzVDLElBQUksQ0FBQyxRQUFRLEdBQUcsRUFBRSxDQUFDO0lBQ3JCLENBQUM7SUFFRCxpQkFBaUIsQ0FBQyxFQUFjO1FBQzlCLElBQUksQ0FBQyxTQUFTLEdBQUcsRUFBRSxDQUFDO0lBQ3RCLENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbnRyb2xWYWx1ZUFjY2Vzc29yIGFzIE5nQ29udHJvbFZhbHVlQWNjZXNzb3IgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5cbmV4cG9ydCBhYnN0cmFjdCBjbGFzcyBDb250cm9sVmFsdWVBY2Nlc3NvcjxUID0gYW55PiBpbXBsZW1lbnRzIE5nQ29udHJvbFZhbHVlQWNjZXNzb3Ige1xuICBhYnN0cmFjdCB3cml0ZVZhbHVlKHZhbHVlOiBUKTogdm9pZDtcblxuICBvbkNoYW5nZT8gPSAodmFsdWU6IFQgfCBudWxsKSA9PiB7fTtcbiAgb25Ub3VjaGVkPyA9ICgpID0+IHt9O1xuXG4gIHJlZ2lzdGVyT25DaGFuZ2UoZm46ICh2YWx1ZTogVCB8IG51bGwpID0+IHZvaWQpOiB2b2lkIHtcbiAgICB0aGlzLm9uQ2hhbmdlID0gZm47XG4gIH1cblxuICByZWdpc3Rlck9uVG91Y2hlZChmbjogKCkgPT4gdm9pZCk6IHZvaWQge1xuICAgIHRoaXMub25Ub3VjaGVkID0gZm47XG4gIH1cbn1cbiJdfQ==

@@ -150,2 +150,2 @@ import { FormArray as NgFormArray } from '@angular/forms';

}
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybUFycmF5LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmduZWF0L3JlYWN0aXZlLWZvcm1zL3NyYy9saWIvZm9ybUFycmF5LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLElBQUksV0FBVyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDMUQsT0FBTyxFQUFFLFlBQVksRUFBYyxPQUFPLEVBQWdCLE1BQU0sTUFBTSxDQUFDO0FBQ3ZFLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxHQUFHLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUMzRCxPQUFPLEVBQ0wsZ0JBQWdCLEVBQ2hCLG9CQUFvQixFQUNwQixlQUFlLEVBQ2YsbUJBQW1CLEVBQ25CLG9CQUFvQixFQUNwQixxQkFBcUIsRUFDckIsb0JBQW9CLEVBQ3BCLGNBQWMsRUFDZCxhQUFhLEVBQ2IsZ0JBQWdCLEVBQ2hCLGtCQUFrQixFQUNsQixZQUFZLEVBQ1osc0JBQXNCLEVBQ3ZCLE1BQU0sbUJBQW1CLENBQUM7QUFtQjNCLE9BQU8sRUFBRSxXQUFXLEVBQUUsV0FBVyxFQUFFLFdBQVcsRUFBRSxNQUFNLFNBQVMsQ0FBQztBQUVoRSxNQUFNLE9BQU8sU0FBMkMsU0FBUSxXQUFXO0lBa0N6RSxZQUNTLFFBQXFDLEVBQzVDLGVBQWlDLEVBQ2pDLGNBQStCO1FBRS9CLEtBQUssQ0FBQyxRQUFRLEVBQUUsZUFBZSxFQUFFLGNBQWMsQ0FBQyxDQUFDO1FBSjFDLGFBQVEsR0FBUixRQUFRLENBQTZCO1FBNUJ0QyxpQkFBWSxHQUFHLElBQUksT0FBTyxFQUFXLENBQUM7UUFDdEMsaUJBQVksR0FBRyxJQUFJLE9BQU8sRUFBVyxDQUFDO1FBQ3RDLGtCQUFhLEdBQUcsSUFBSSxPQUFPLEVBQWMsQ0FBQztRQUV6QyxXQUFNLEdBQUcsSUFBSSxDQUFDLFlBQVksQ0FBQyxZQUFZLEVBQUUsQ0FBQyxJQUFJLENBQUMsb0JBQW9CLEVB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LENBQUMsQ0FBQzthQUNsQjtTQUNGO0lBQ0gsQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRm9ybUFycmF5IGFzIE5nRm9ybUFycmF5IH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgaXNPYnNlcnZhYmxlLCBPYnNlcnZhYmxlLCBTdWJqZWN0LCBTdWJzY3JpcHRpb24gfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IGRpc3RpbmN0VW50aWxDaGFuZ2VkLCBtYXAgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQge1xuICBjb250cm9sRGlzYWJsZWQkLFxuICBjb250cm9sRGlzYWJsZWRXaGlsZSxcbiAgY29udHJvbEVuYWJsZWQkLFxuICBjb250cm9sRW5hYmxlZFdoaWxlLFxuICBjb250cm9sRXJyb3JDaGFuZ2VzJCxcbiAgY29udHJvbFN0YXR1c0NoYW5nZXMkLFxuICBjb250cm9sVmFsdWVDaGFuZ2VzJCxcbiAgZGlzYWJsZUNvbnRyb2wsXG4gIGVuYWJsZUNvbnRyb2wsXG4gIGhhc0Vycm9yQW5kRGlydHksXG4gIGhhc0Vycm9yQW5kVG91Y2hlZCxcbiAgbWFya0FsbERpcnR5LFxuICBtZXJnZUNvbnRyb2xWYWxpZGF0b3JzXG59IGZyb20gJy4vY29udHJvbC1hY3Rpb25zJztcbmltcG9ydCB7XG4gIEFzeW5jVmFsaWRhdG9yLFxuICBBc3luY1ZhbGlkYXRvckZuLFxuICBDb250cm9sRXZlbnRPcHRpb25zLFxuICBDb250cm9sT3B0aW9ucyxcbiAgQ29udHJvbFBhdGgsXG4gIENvbnRyb2xTdGF0ZSxcbiAgRW1pdEV2ZW50LFxuICBFeHRyYWN0U3RyaW5ncyxcbiAgT25seVNlbGYsXG4gIFZhbGlkYXRvcixcbiAgVmFsaWRhdG9yT3JPcHRzLFxuICBDb250cm9sVmFsdWUsXG4gIEFic3RyYWN0Q29udHJvbE9mLFxuICBWYWxpZGF0b3JGbixcbiAgRGVlcFBhcnRpYWwsXG4gIFVwZGF0ZVZhbHVlQW5kVmFsaWRpdHlPcHRpb25zXG59IGZyb20gJy4vdHlwZXMnO1xuaW1wb3J0IHsgY29lcmNlQXJyYXksIG1lcmdlRXJyb3JzLCByZW1vdmVFcnJvciB9IGZyb20gJy4vdXRpbHMnO1xuXG5leHBvcnQgY2xhc3MgRm9ybUFycmF5PFQgPSBhbnksIEUgZXh0ZW5kcyBvYmplY3QgPSBhbnk+IGV4dGVuZHMgTmdGb3JtQXJyYXkge1xuICByZWFkb25seSB2YWx1ZTogQ29udHJvbFZhbHVlPFQ+W107XG4gIHJlYWRvbmx5IHZhbHVlQ2hhbmdlczogT2JzZXJ2YWJsZTxDb250cm9sVmFsdWU8VD5bXT47XG4gIHJlYWRvbmx5IHN0YXR1czogQ29udHJvbFN0YXRlO1xuICByZWFkb25seSBzdGF0dXNDaGFuZ2VzOiBPYnNlcnZhYmxlPENvbnRyb2xTdGF0ZT47XG4gIHJlYWRvbmx5IGVycm9yczogRSB8IG51bGw7XG5cbiAgcHJpdmF0ZSB0b3VjaENoYW5nZXMgPSBuZXcgU3ViamVjdDxib29sZWFuPigpO1xuICBwcml2YXRlIGRpcnR5Q2hhbmdlcyA9IG5ldyBTdWJqZWN0PGJvb2xlYW4+KCk7XG4gIHByaXZhdGUgZXJyb3JzU3ViamVjdCA9IG5ldyBTdWJqZWN0PFBhcnRpYWw8RT4+KCk7XG5cbiAgcmVhZG9ubHkgdG91Y2gkID0gdGhpcy50b3VjaENoYW5nZXMuYXNPYnNlcnZhYmxlKCkucGlwZShkaXN0aW5jdFVudGlsQ2hhbmdlZCgpKTtcbiAgcmVhZG9ubHkgZGlydHkkID0gdGhpcy5kaXJ0eUNoYW5nZXMuYXNPYnNlcnZhYmxlKCkucGlwZShkaXN0aW5jdFVudGlsQ2hhbmdlZCgpKTtcblxuICByZWFkb25seSB2YWx1ZSQgPSBjb250cm9sVmFsdWVDaGFuZ2VzJDxDb250cm9sVmFsdWU8VD5bXT4odGhpcyk7XG4gIHJlYWRvbmx5IGRpc2FibGVkJCA9IGNvbnRyb2xEaXNhYmxlZCQodGhpcyk7XG4gIHJlYWRvbmx5IGVuYWJsZWQkID0gY29udHJvbEVuYWJsZWQkKHRoaXMpO1xuICByZWFkb25seSBzdGF0dXMkID0gY29udHJvbFN0YXR1c0NoYW5nZXMkKHRoaXMpO1xuICByZWFkb25seSBlcnJvcnMkID0gY29udHJvbEVycm9yQ2hhbmdlcyQ8RT4odGhpcywgdGhpcy5lcnJvcnNTdWJqZWN0LmFzT2JzZXJ2YWJsZSgpKTtcblxuICBnZXQgYXN5bmNWYWxpZGF0b3IoKTogQXN5bmNWYWxpZGF0b3JGbjxUW10+IHwgbnVsbCB7XG4gICAgcmV0dXJuIHN1cGVyLmFzeW5jVmFsaWRhdG9yO1xuICB9XG4gIHNldCBhc3luY1ZhbGlkYXRvcihhc3luY1ZhbGlkYXRvcjogQXN5bmNWYWxpZGF0b3JGbjxUW10+IHwgbnVsbCkge1xuICAgIHN1cGVyLmFzeW5jVmFsaWRhdG9yID0gYXN5bmNWYWxpZGF0b3I7XG4gIH1cblxuICBnZXQgdmFsaWRhdG9yKCk6IFZhbGlkYXRvckZuPFRbXT4gfCBudWxsIHtcbiAgICByZXR1cm4gc3VwZXIudmFsaWRhdG9yO1xuICB9XG4gIHNldCB2YWxpZGF0b3IodmFsaWRhdG9yOiBWYWxpZGF0b3JGbjxUW10+IHwgbnVsbCkge1xuICAgIHN1cGVyLnZhbGlkYXRvciA9IHZhbGlkYXRvcjtcbiAgfVxuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHB1YmxpYyBjb250cm9sczogQXJyYXk8QWJzdHJhY3RDb250cm9sT2Y8VD4+LFxuICAgIHZhbGlkYXRvck9yT3B0cz86IFZhbGlkYXRvck9yT3B0cyxcbiAgICBhc3luY1ZhbGlkYXRvcj86IEFzeW5jVmFsaWRhdG9yXG4gICkge1xuICAgIHN1cGVyKGNvbnRyb2xzLCB2YWxpZGF0b3JPck9wdHMsIGFzeW5jVmFsaWRhdG9yKTtcbiAgfVxuXG4gIHNlbGVjdDxSPihtYXBGbjogKHN0YXRlOiBDb250cm9sVmFsdWU8VD5bXSkgPT4gUik6IE9ic2VydmFibGU8Uj4ge1xuICAgIHJldHVybiB0aGlzLnZhbHVlJC5waXBlKG1hcChtYXBGbiksIGRpc3RpbmN0VW50aWxDaGFuZ2VkKCkpO1xuICB9XG5cbiAgZ2V0UmF3VmFsdWUoKTogQ29udHJvbFZhbHVlPFQ+W10ge1xuICAgIHJldHVybiBzdXBlci5nZXRSYXdWYWx1ZSgpO1xuICB9XG5cbiAgYXQoaW5kZXg6IG51bWJlcik6IEFic3RyYWN0Q29udHJvbE9mPFQ+IHtcbiAgICByZXR1cm4gc3VwZXIuYXQoaW5kZXgpIGFzIEFic3RyYWN0Q29udHJvbE9mPFQ+O1xuICB9XG5cbiAgc2V0VmFsdWUodmFsdWVPck9ic2VydmFibGU6IE9ic2VydmFibGU8Q29udHJvbFZhbHVlPFQ+W10+LCBvcHRpb25zPzogQ29udHJvbEV2ZW50T3B0aW9ucyk6IFN1YnNjcmlwdGlvbjtcbiAgc2V0VmFsdWUodmFsdWVPck9ic2VydmFibGU6IENvbnRyb2xWYWx1ZTxUPltdLCBvcHRpb25zPzogQ29udHJvbEV2ZW50T3B0aW9ucyk6IHZvaWQ7XG4gIHNldFZhbHVlKFxuICAgIHZhbHVlT3JPYnNlcnZhYmxlOiBDb250cm9sVmFsdWU8VD5bXSB8IE9ic2VydmFibGU8Q29udHJvbFZhbHVlPFQ+W10+LFxuICAgIG9wdGlvbnM/OiBDb250cm9sRXZlbnRPcHRpb25zXG4gICk6IFN1YnNjcmlwdGlvbiB8IHZvaWQge1xuICAgIGlmIChpc09ic2VydmFibGUodmFsdWVPck9ic2VydmFibGUpKSB7XG4gICAgICByZXR1cm4gdmFsdWVPck9ic2VydmFibGUuc3Vic2NyaWJlKHZhbHVlID0+IHN1cGVyLnNldFZhbHVlKHZhbHVlLCBvcHRpb25zKSk7XG4gICAgfVxuXG4gICAgc3VwZXIuc2V0VmFsdWUodmFsdWVPck9ic2VydmFibGUsIG9wdGlvbnMpO1xuICB9XG5cbiAgcGF0Y2hWYWx1ZShcbiAgICB2YWx1ZU9yT2JzZXJ2YWJsZTogT2JzZXJ2YWJsZTxEZWVwUGFydGlhbDxDb250cm9sVmFsdWU8VD4+W10+LFxuICAgIG9wdGlvbnM/OiBDb250cm9sRXZlbnRPcHRpb25zXG4gICk6IFN1YnNjcmlwdGlvbjtcbiAgcGF0Y2hWYWx1ZSh2YWx1ZU9yT2JzZXJ2YWJsZTogRGVlcFBhcnRpYWw8Q29udHJvbFZhbHVlPFQ+PltdLCBvcHRpb25zPzogQ29udHJvbEV2ZW50T3B0aW9ucyk6IHZvaWQ7XG4gIHBhdGNoVmFsdWUodmFsdWVPck9ic2VydmFibGU6IGFueSwgb3B0aW9ucz86IENvbnRyb2xFdmVudE9wdGlvbnMpOiBTdWJzY3JpcHRpb24gfCB2b2lkIHtcbiAgICBpZiAoaXNPYnNlcnZhYmxlKHZhbHVlT3JPYnNlcnZhYmxlKSkge1xuICAgICAgcmV0dXJuIHZhbHVlT3JPYnNlcnZhYmxlLnN1YnNjcmliZSgodmFsdWU6IFRbXSkgPT4gc3VwZXIucGF0Y2hWYWx1ZSh2YWx1ZSwgb3B0aW9ucykpO1xuICAgIH1cblxuICAgIHN1cGVyLnBhdGNoVmFsdWUodmFsdWVPck9ic2VydmFibGUgYXMgVFtdLCBvcHRpb25zKTtcbiAgfVxuXG4gIHB1c2goY29udHJvbDogQWJzdHJhY3RDb250cm9sT2Y8VD4pOiB2b2lkIHtcbiAgICByZXR1cm4gc3VwZXIucHVzaChjb250cm9sKTtcbiAgfVxuXG4gIGluc2VydChpbmRleDogbnVtYmVyLCBjb250cm9sOiBBYnN0cmFjdENvbnRyb2xPZjxUPik6IHZvaWQge1xuICAgIHJldHVybiBzdXBlci5pbnNlcnQoaW5kZXgsIGNvbnRyb2wpO1xuICB9XG5cbiAgc2V0Q29udHJvbChpbmRleDogbnVtYmVyLCBjb250cm9sOiBBYnN0cmFjdENvbnRyb2xPZjxUPik6IHZvaWQge1xuICAgIHJldHVybiBzdXBlci5zZXRDb250cm9sKGluZGV4LCBjb250cm9sKTtcbiAgfVxuXG4gIGRpc2FibGVkV2hpbGUob2JzZXJ2YWJsZTogT2JzZXJ2YWJsZTxib29sZWFuPiwgb3B0aW9ucz86IENvbnRyb2xPcHRpb25zKSB7XG4gICAgcmV0dXJuIGNvbnRyb2xEaXNhYmxlZFdoaWxlKHRoaXMsIG9ic2VydmFibGUsIG9wdGlvbnMpO1xuICB9XG5cbiAgZW5hYmxlZFdoaWxlKG9ic2VydmFibGU6IE9ic2VydmFibGU8Ym9vbGVhbj4sIG9wdGlvbnM/OiBDb250cm9sT3B0aW9ucykge1xuICAgIHJldHVybiBjb250cm9sRW5hYmxlZFdoaWxlKHRoaXMsIG9ic2VydmFibGUsIG9wdGlvbnMpO1xuICB9XG5cbiAgbWVyZ2VWYWxpZGF0b3JzKHZhbGlkYXRvcnM6IFZhbGlkYXRvciwgb3B0aW9ucz86IFVwZGF0ZVZhbHVlQW5kVmFsaWRpdHlPcHRpb25zKSB7XG4gICAgbWVyZ2VDb250cm9sVmFsaWRhdG9ycyh0aGlzLCB2YWxpZGF0b3JzLCBvcHRpb25zKTtcbiAgfVxuXG4gIG1lcmdlQXN5bmNWYWxpZGF0b3JzKHZhbGlkYXRvcnM6IEFzeW5jVmFsaWRhdG9yLCBvcHRpb25zPzogVXBkYXRlVmFsdWVBbmRWYWxpZGl0eU9wdGlvbnMpIHtcbiAgICB0aGlzLnNldEFzeW5jVmFsaWRhdG9ycyhbdGhpcy5hc3luY1ZhbGlkYXRvciwgLi4uY29lcmNlQXJyYXkodmFsaWRhdG9ycyldKTtcbiAgICB0aGlzLnVwZGF0ZVZhbHVlQW5kVmFsaWRpdHkob3B0aW9ucyk7XG4gIH1cblxuICBtYXJrQXNUb3VjaGVkKG9wdHM/OiBPbmx5U2VsZik6IHZvaWQge1xuICAgIHN1cGVyLm1hcmtBc1RvdWNoZWQob3B0cyk7XG4gICAgdGhpcy50b3VjaENoYW5nZXMubmV4dCh0cnVlKTtcbiAgfVxuXG4gIG1hcmtBc1VudG91Y2hlZChvcHRzPzogT25seVNlbGYpOiB2b2lkIHtcbiAgICBzdXBlci5tYXJrQXNVbnRvdWNoZWQob3B0cyk7XG4gICAgdGhpcy50b3VjaENoYW5nZXMubmV4dChmYWxzZSk7XG4gIH1cblxuICBtYXJrQXNQcmlzdGluZShvcHRzPzogT25seVNlbGYpOiB2b2lkIHtcbiAgICBzdXBlci5tYXJrQXNQcmlzdGluZShvcHRzKTtcbiAgICB0aGlzLmRpcnR5Q2hhbmdlcy5uZXh0KGZhbHNlKTtcbiAgfVxuXG4gIG1hcmtBc0RpcnR5KG9wdHM/OiBPbmx5U2VsZik6IHZvaWQge1xuICAgIHN1cGVyLm1hcmtBc0RpcnR5KG9wdHMpO1xuICAgIHRoaXMuZGlydHlDaGFuZ2VzLm5leHQodHJ1ZSk7XG4gIH1cblxuICBtYXJrQWxsQXNEaXJ0eSgpOiB2b2lkIHtcbiAgICBtYXJrQWxsRGlydHkodGhpcyk7XG4gIH1cblxuICByZXNldCh2YWx1ZT86IENvbnRyb2xWYWx1ZTxUPltdLCBvcHRpb25zPzogQ29udHJvbEV2ZW50T3B0aW9ucyk6IHZvaWQge1xuICAgIHN1cGVyLnJlc2V0KHZhbHVlLCBvcHRpb25zKTtcbiAgfVxuXG4gIHNldFZhbGlkYXRvcnMobmV3VmFsaWRhdG9yOiBWYWxpZGF0b3IsIG9wdGlvbnM/OiBVcGRhdGVWYWx1ZUFuZFZhbGlkaXR5T3B0aW9ucyk6IHZvaWQge1xuICAgIHN1cGVyLnNldFZhbGlkYXRvcnMobmV3VmFsaWRhdG9yKTtcbiAgICBzdXBlci51cGRhdGVWYWx1ZUFuZFZhbGlkaXR5KG9wdGlvbnMpO1xuICB9XG5cbiAgc2V0QXN5bmNWYWxpZGF0b3JzKG5ld1ZhbGlkYXRvcjogQXN5bmNWYWxpZGF0b3IsIG9wdGlvbnM/OiBVcGRhdGVWYWx1ZUFuZFZhbGlkaXR5T3B0aW9ucyk6IHZvaWQge1xuICAgIHN1cGVyLnNldEFzeW5jVmFsaWRhdG9ycyhuZXdWYWxpZGF0b3IpO1xuICAgIHN1cGVyLnVwZGF0ZVZhbHVlQW5kVmFsaWRpdHkob3B0aW9ucyk7XG4gIH1cblxuICB2YWxpZGF0ZU9uKG9ic2VydmFibGVWYWxpZGF0aW9uOiBPYnNlcnZhYmxlPG51bGwgfCBvYmplY3Q+KSB7XG4gICAgcmV0dXJuIG9ic2VydmFibGVWYWxpZGF0aW9uLnN1YnNjcmliZShtYXliZUVycm9yID0+IHtcbiAgICAgIHRoaXMuc2V0RXJyb3JzKG1heWJlRXJyb3IpO1xuICAgIH0pO1xuICB9XG5cbiAgaGFzRXJyb3IoZXJyb3JDb2RlOiBFeHRyYWN0U3RyaW5nczxFPiwgcGF0aD86IENvbnRyb2xQYXRoKSB7XG4gICAgcmV0dXJuIHN1cGVyLmhhc0Vycm9yKGVycm9yQ29kZSwgcGF0aCk7XG4gIH1cblxuICBzZXRFcnJvcnMoZXJyb3JzOiBQYXJ0aWFsPEU+IHwgbnVsbCwgb3B0czogRW1pdEV2ZW50ID0ge30pIHtcbiAgICB0aGlzLmVycm9yc1N1YmplY3QubmV4dChlcnJvcnMpO1xuICAgIHJldHVybiBzdXBlci5zZXRFcnJvcnMoZXJyb3JzLCBvcHRzKTtcbiAgfVxuXG4gIG1lcmdlRXJyb3JzKGVycm9yczogUGFydGlhbDxFPiwgb3B0czogRW1pdEV2ZW50ID0ge30pOiB2b2lkIHtcbiAgICB0aGlzLnNldEVycm9ycyhtZXJnZUVycm9yczxFPih0aGlzLmVycm9ycywgZXJyb3JzKSwgb3B0cyk7XG4gIH1cblxuICByZW1vdmVFcnJvcihrZXk6IGtleW9mIEUsIG9wdHM6IEVtaXRFdmVudCA9IHt9KTogdm9pZCB7XG4gICAgdGhpcy5zZXRFcnJvcnMocmVtb3ZlRXJyb3I8RT4odGhpcy5lcnJvcnMsIGtleSksIG9wdHMpO1xuICB9XG5cbiAgZ2V0RXJyb3I8SyBleHRlbmRzIEV4dHJhY3RTdHJpbmdzPEU+PihlcnJvckNvZGU6IEssIHBhdGg/OiBDb250cm9sUGF0aCkge1xuICAgIHJldHVybiBzdXBlci5nZXRFcnJvcihlcnJvckNvZGUsIHBhdGgpIGFzIEVbS10gfCBudWxsO1xuICB9XG5cbiAgaGFzRXJyb3JBbmRUb3VjaGVkKGVycm9yQ29kZTogRXh0cmFjdFN0cmluZ3M8RT4sIHBhdGg/OiBDb250cm9sUGF0aCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiBoYXNFcnJvckFuZFRvdWNoZWQodGhpcywgZXJyb3JDb2RlLCBwYXRoKTtcbiAgfVxuXG4gIGhhc0Vycm9yQW5kRGlydHkoZXJyb3JDb2RlOiBFeHRyYWN0U3RyaW5nczxFPiwgcGF0aD86IENvbnRyb2xQYXRoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIGhhc0Vycm9yQW5kRGlydHkodGhpcywgZXJyb3JDb2RlLCBwYXRoKTtcbiAgfVxuXG4gIHNldEVuYWJsZShlbmFibGUgPSB0cnVlLCBvcHRzPzogQ29udHJvbEV2ZW50T3B0aW9ucykge1xuICAgIGVuYWJsZUNvbnRyb2wodGhpcywgZW5hYmxlLCBvcHRzKTtcbiAgfVxuXG4gIHNldERpc2FibGUoZGlzYWJsZSA9IHRydWUsIG9wdHM/OiBDb250cm9sRXZlbnRPcHRpb25zKSB7XG4gICAgZGlzYWJsZUNvbnRyb2wodGhpcywgZGlzYWJsZSwgb3B0cyk7XG4gIH1cblxuICByZW1vdmUodmFsdWU6IFQpOiB2b2lkIHtcbiAgICB0aGlzLnJlbW92ZVdoZW4odiA9PiB2LnZhbHVlID09PSB2YWx1ZSk7XG4gIH1cblxuICByZW1vdmVXaGVuKHByZWRpY2F0ZTogKGVsZW1lbnQ6IEFic3RyYWN0Q29udHJvbE9mPFQ+KSA9PiBib29sZWFuKTogdm9pZCB7XG4gICAgZm9yIChsZXQgaSA9IHRoaXMubGVuZ3RoIC0gMTsgaSA+PSAwOyAtLWkpIHtcbiAgICAgIGlmIChwcmVkaWNhdGUodGhpcy5hdChpKSkpIHtcbiAgICAgICAgdGhpcy5yZW1vdmVBdChpKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiJdfQ==
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybUFycmF5LmpzIiwic291cmNlUm9vdCI6Ii9Vc2Vycy9uZXRhbmVsYmFzYWwvd3d3L3JlYWN0aXZlLWZvcm1zL3Byb2plY3RzL25nbmVhdC9yZWFjdGl2ZS1mb3Jtcy9zcmMvIiwic291cmNlcyI6WyJsaWIvZm9ybUFycmF5LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLElBQUksV0FBVyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDMUQsT0FBTyxFQUFFLFlBQVksRUFBYyxPQUFPLEVBQWdCLE1BQU0sTUFBTSxDQUFDO0FBQ3ZFLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxHQUFHLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUMzRCxPQUFPLEVBQ0wsZ0JBQWdCLEVBQ2hCLG9CQUFvQixFQUNwQixlQUFlLEVBQ2YsbUJBQW1CLEVBQ25CLG9CQUFvQixFQUNwQixxQkFBcUIsRUFDckIsb0JBQW9CLEVBQ3BCLGNBQWMsRUFDZCxhQUFhLEVBQ2IsZ0JBQWdCLEVBQ2hCLGtCQUFrQixFQUNsQixZQUFZLEVBQ1osc0JBQXNCLEVBQ3ZCLE1BQU0sbUJBQW1CLENBQUM7QUFtQjNCLE9BQU8sRUFBRSxXQUFXLEVBQUUsV0FBVyxFQUFFLFdBQVcsRUFBRSxNQUFNLFNBQVMsQ0FBQztBQUVoRSxNQUFNLE9BQU8sU0FBMkMsU0FBUSxXQUFXO0lBa0N6RSxZQUNTLFFBQXFDLEVBQzVDLGVBQWlDLEVBQ2pDLGNBQStCO1FBRS9CLEtBQUssQ0FBQyxRQUFRLEVBQUUsZUFBZSxFQUFFLGNBQWMsQ0FBQyxDQUFDO1FBSjFDLGFBQVEsR0FBUixRQUFRLENBQTZCO1FBNUJ0QyxpQkFBWSxHQUFHLElBQUksT0FBTyxFQUFXLENBQUM7UUFDdEMsaUJBQVksR0FBRyxJQUFJLE9BQU8sRUFBVyxDQUFDO1FBQ3RDLGtCQUFhLEdBQUcsSUFBSSxPQUFPLEVBQWMsQ0FBQztRQUV6QyxXQUFNLEdBQUcsSUFBSSxDQUFDLFlBQVksQ0FBQyxZQUFZLEVBQUUs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SUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQzthQUNsQjtTQUNGO0lBQ0gsQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRm9ybUFycmF5IGFzIE5nRm9ybUFycmF5IH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgaXNPYnNlcnZhYmxlLCBPYnNlcnZhYmxlLCBTdWJqZWN0LCBTdWJzY3JpcHRpb24gfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IGRpc3RpbmN0VW50aWxDaGFuZ2VkLCBtYXAgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQge1xuICBjb250cm9sRGlzYWJsZWQkLFxuICBjb250cm9sRGlzYWJsZWRXaGlsZSxcbiAgY29udHJvbEVuYWJsZWQkLFxuICBjb250cm9sRW5hYmxlZFdoaWxlLFxuICBjb250cm9sRXJyb3JDaGFuZ2VzJCxcbiAgY29udHJvbFN0YXR1c0NoYW5nZXMkLFxuICBjb250cm9sVmFsdWVDaGFuZ2VzJCxcbiAgZGlzYWJsZUNvbnRyb2wsXG4gIGVuYWJsZUNvbnRyb2wsXG4gIGhhc0Vycm9yQW5kRGlydHksXG4gIGhhc0Vycm9yQW5kVG91Y2hlZCxcbiAgbWFya0FsbERpcnR5LFxuICBtZXJnZUNvbnRyb2xWYWxpZGF0b3JzXG59IGZyb20gJy4vY29udHJvbC1hY3Rpb25zJztcbmltcG9ydCB7XG4gIEFzeW5jVmFsaWRhdG9yLFxuICBBc3luY1ZhbGlkYXRvckZuLFxuICBDb250cm9sRXZlbnRPcHRpb25zLFxuICBDb250cm9sT3B0aW9ucyxcbiAgQ29udHJvbFBhdGgsXG4gIENvbnRyb2xTdGF0ZSxcbiAgRW1pdEV2ZW50LFxuICBFeHRyYWN0U3RyaW5ncyxcbiAgT25seVNlbGYsXG4gIFZhbGlkYXRvcixcbiAgVmFsaWRhdG9yT3JPcHRzLFxuICBDb250cm9sVmFsdWUsXG4gIEFic3RyYWN0Q29udHJvbE9mLFxuICBWYWxpZGF0b3JGbixcbiAgRGVlcFBhcnRpYWwsXG4gIFVwZGF0ZVZhbHVlQW5kVmFsaWRpdHlPcHRpb25zXG59IGZyb20gJy4vdHlwZXMnO1xuaW1wb3J0IHsgY29lcmNlQXJyYXksIG1lcmdlRXJyb3JzLCByZW1vdmVFcnJvciB9IGZyb20gJy4vdXRpbHMnO1xuXG5leHBvcnQgY2xhc3MgRm9ybUFycmF5PFQgPSBhbnksIEUgZXh0ZW5kcyBvYmplY3QgPSBhbnk+IGV4dGVuZHMgTmdGb3JtQXJyYXkge1xuICByZWFkb25seSB2YWx1ZTogQ29udHJvbFZhbHVlPFQ+W107XG4gIHJlYWRvbmx5IHZhbHVlQ2hhbmdlczogT2JzZXJ2YWJsZTxDb250cm9sVmFsdWU8VD5bXT47XG4gIHJlYWRvbmx5IHN0YXR1czogQ29udHJvbFN0YXRlO1xuICByZWFkb25seSBzdGF0dXNDaGFuZ2VzOiBPYnNlcnZhYmxlPENvbnRyb2xTdGF0ZT47XG4gIHJlYWRvbmx5IGVycm9yczogRSB8IG51bGw7XG5cbiAgcHJpdmF0ZSB0b3VjaENoYW5nZXMgPSBuZXcgU3ViamVjdDxib29sZWFuPigpO1xuICBwcml2YXRlIGRpcnR5Q2hhbmdlcyA9IG5ldyBTdWJqZWN0PGJvb2xlYW4+KCk7XG4gIHByaXZhdGUgZXJyb3JzU3ViamVjdCA9IG5ldyBTdWJqZWN0PFBhcnRpYWw8RT4+KCk7XG5cbiAgcmVhZG9ubHkgdG91Y2gkID0gdGhpcy50b3VjaENoYW5nZXMuYXNPYnNlcnZhYmxlKCkucGlwZShkaXN0aW5jdFVudGlsQ2hhbmdlZCgpKTtcbiAgcmVhZG9ubHkgZGlydHkkID0gdGhpcy5kaXJ0eUNoYW5nZXMuYXNPYnNlcnZhYmxlKCkucGlwZShkaXN0aW5jdFVudGlsQ2hhbmdlZCgpKTtcblxuICByZWFkb25seSB2YWx1ZSQgPSBjb250cm9sVmFsdWVDaGFuZ2VzJDxDb250cm9sVmFsdWU8VD5bXT4odGhpcyk7XG4gIHJlYWRvbmx5IGRpc2FibGVkJCA9IGNvbnRyb2xEaXNhYmxlZCQodGhpcyk7XG4gIHJlYWRvbmx5IGVuYWJsZWQkID0gY29udHJvbEVuYWJsZWQkKHRoaXMpO1xuICByZWFkb25seSBzdGF0dXMkID0gY29udHJvbFN0YXR1c0NoYW5nZXMkKHRoaXMpO1xuICByZWFkb25seSBlcnJvcnMkID0gY29udHJvbEVycm9yQ2hhbmdlcyQ8RT4odGhpcywgdGhpcy5lcnJvcnNTdWJqZWN0LmFzT2JzZXJ2YWJsZSgpKTtcblxuICBnZXQgYXN5bmNWYWxpZGF0b3IoKTogQXN5bmNWYWxpZGF0b3JGbjxUW10+IHwgbnVsbCB7XG4gICAgcmV0dXJuIHN1cGVyLmFzeW5jVmFsaWRhdG9yO1xuICB9XG4gIHNldCBhc3luY1ZhbGlkYXRvcihhc3luY1ZhbGlkYXRvcjogQXN5bmNWYWxpZGF0b3JGbjxUW10+IHwgbnVsbCkge1xuICAgIHN1cGVyLmFzeW5jVmFsaWRhdG9yID0gYXN5bmNWYWxpZGF0b3I7XG4gIH1cblxuICBnZXQgdmFsaWRhdG9yKCk6IFZhbGlkYXRvckZuPFRbXT4gfCBudWxsIHtcbiAgICByZXR1cm4gc3VwZXIudmFsaWRhdG9yO1xuICB9XG4gIHNldCB2YWxpZGF0b3IodmFsaWRhdG9yOiBWYWxpZGF0b3JGbjxUW10+IHwgbnVsbCkge1xuICAgIHN1cGVyLnZhbGlkYXRvciA9IHZhbGlkYXRvcjtcbiAgfVxuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHB1YmxpYyBjb250cm9sczogQXJyYXk8QWJzdHJhY3RDb250cm9sT2Y8VD4+LFxuICAgIHZhbGlkYXRvck9yT3B0cz86IFZhbGlkYXRvck9yT3B0cyxcbiAgICBhc3luY1ZhbGlkYXRvcj86IEFzeW5jVmFsaWRhdG9yXG4gICkge1xuICAgIHN1cGVyKGNvbnRyb2xzLCB2YWxpZGF0b3JPck9wdHMsIGFzeW5jVmFsaWRhdG9yKTtcbiAgfVxuXG4gIHNlbGVjdDxSPihtYXBGbjogKHN0YXRlOiBDb250cm9sVmFsdWU8VD5bXSkgPT4gUik6IE9ic2VydmFibGU8Uj4ge1xuICAgIHJldHVybiB0aGlzLnZhbHVlJC5waXBlKG1hcChtYXBGbiksIGRpc3RpbmN0VW50aWxDaGFuZ2VkKCkpO1xuICB9XG5cbiAgZ2V0UmF3VmFsdWUoKTogQ29udHJvbFZhbHVlPFQ+W10ge1xuICAgIHJldHVybiBzdXBlci5nZXRSYXdWYWx1ZSgpO1xuICB9XG5cbiAgYXQoaW5kZXg6IG51bWJlcik6IEFic3RyYWN0Q29udHJvbE9mPFQ+IHtcbiAgICByZXR1cm4gc3VwZXIuYXQoaW5kZXgpIGFzIEFic3RyYWN0Q29udHJvbE9mPFQ+O1xuICB9XG5cbiAgc2V0VmFsdWUodmFsdWVPck9ic2VydmFibGU6IE9ic2VydmFibGU8Q29udHJvbFZhbHVlPFQ+W10+LCBvcHRpb25zPzogQ29udHJvbEV2ZW50T3B0aW9ucyk6IFN1YnNjcmlwdGlvbjtcbiAgc2V0VmFsdWUodmFsdWVPck9ic2VydmFibGU6IENvbnRyb2xWYWx1ZTxUPltdLCBvcHRpb25zPzogQ29udHJvbEV2ZW50T3B0aW9ucyk6IHZvaWQ7XG4gIHNldFZhbHVlKFxuICAgIHZhbHVlT3JPYnNlcnZhYmxlOiBDb250cm9sVmFsdWU8VD5bXSB8IE9ic2VydmFibGU8Q29udHJvbFZhbHVlPFQ+W10+LFxuICAgIG9wdGlvbnM/OiBDb250cm9sRXZlbnRPcHRpb25zXG4gICk6IFN1YnNjcmlwdGlvbiB8IHZvaWQge1xuICAgIGlmIChpc09ic2VydmFibGUodmFsdWVPck9ic2VydmFibGUpKSB7XG4gICAgICByZXR1cm4gdmFsdWVPck9ic2VydmFibGUuc3Vic2NyaWJlKHZhbHVlID0+IHN1cGVyLnNldFZhbHVlKHZhbHVlLCBvcHRpb25zKSk7XG4gICAgfVxuXG4gICAgc3VwZXIuc2V0VmFsdWUodmFsdWVPck9ic2VydmFibGUsIG9wdGlvbnMpO1xuICB9XG5cbiAgcGF0Y2hWYWx1ZShcbiAgICB2YWx1ZU9yT2JzZXJ2YWJsZTogT2JzZXJ2YWJsZTxEZWVwUGFydGlhbDxDb250cm9sVmFsdWU8VD4+W10+LFxuICAgIG9wdGlvbnM/OiBDb250cm9sRXZlbnRPcHRpb25zXG4gICk6IFN1YnNjcmlwdGlvbjtcbiAgcGF0Y2hWYWx1ZSh2YWx1ZU9yT2JzZXJ2YWJsZTogRGVlcFBhcnRpYWw8Q29udHJvbFZhbHVlPFQ+PltdLCBvcHRpb25zPzogQ29udHJvbEV2ZW50T3B0aW9ucyk6IHZvaWQ7XG4gIHBhdGNoVmFsdWUodmFsdWVPck9ic2VydmFibGU6IGFueSwgb3B0aW9ucz86IENvbnRyb2xFdmVudE9wdGlvbnMpOiBTdWJzY3JpcHRpb24gfCB2b2lkIHtcbiAgICBpZiAoaXNPYnNlcnZhYmxlKHZhbHVlT3JPYnNlcnZhYmxlKSkge1xuICAgICAgcmV0dXJuIHZhbHVlT3JPYnNlcnZhYmxlLnN1YnNjcmliZSgodmFsdWU6IFRbXSkgPT4gc3VwZXIucGF0Y2hWYWx1ZSh2YWx1ZSwgb3B0aW9ucykpO1xuICAgIH1cblxuICAgIHN1cGVyLnBhdGNoVmFsdWUodmFsdWVPck9ic2VydmFibGUgYXMgVFtdLCBvcHRpb25zKTtcbiAgfVxuXG4gIHB1c2goY29udHJvbDogQWJzdHJhY3RDb250cm9sT2Y8VD4pOiB2b2lkIHtcbiAgICByZXR1cm4gc3VwZXIucHVzaChjb250cm9sKTtcbiAgfVxuXG4gIGluc2VydChpbmRleDogbnVtYmVyLCBjb250cm9sOiBBYnN0cmFjdENvbnRyb2xPZjxUPik6IHZvaWQge1xuICAgIHJldHVybiBzdXBlci5pbnNlcnQoaW5kZXgsIGNvbnRyb2wpO1xuICB9XG5cbiAgc2V0Q29udHJvbChpbmRleDogbnVtYmVyLCBjb250cm9sOiBBYnN0cmFjdENvbnRyb2xPZjxUPik6IHZvaWQge1xuICAgIHJldHVybiBzdXBlci5zZXRDb250cm9sKGluZGV4LCBjb250cm9sKTtcbiAgfVxuXG4gIGRpc2FibGVkV2hpbGUob2JzZXJ2YWJsZTogT2JzZXJ2YWJsZTxib29sZWFuPiwgb3B0aW9ucz86IENvbnRyb2xPcHRpb25zKSB7XG4gICAgcmV0dXJuIGNvbnRyb2xEaXNhYmxlZFdoaWxlKHRoaXMsIG9ic2VydmFibGUsIG9wdGlvbnMpO1xuICB9XG5cbiAgZW5hYmxlZFdoaWxlKG9ic2VydmFibGU6IE9ic2VydmFibGU8Ym9vbGVhbj4sIG9wdGlvbnM/OiBDb250cm9sT3B0aW9ucykge1xuICAgIHJldHVybiBjb250cm9sRW5hYmxlZFdoaWxlKHRoaXMsIG9ic2VydmFibGUsIG9wdGlvbnMpO1xuICB9XG5cbiAgbWVyZ2VWYWxpZGF0b3JzKHZhbGlkYXRvcnM6IFZhbGlkYXRvciwgb3B0aW9ucz86IFVwZGF0ZVZhbHVlQW5kVmFsaWRpdHlPcHRpb25zKSB7XG4gICAgbWVyZ2VDb250cm9sVmFsaWRhdG9ycyh0aGlzLCB2YWxpZGF0b3JzLCBvcHRpb25zKTtcbiAgfVxuXG4gIG1lcmdlQXN5bmNWYWxpZGF0b3JzKHZhbGlkYXRvcnM6IEFzeW5jVmFsaWRhdG9yLCBvcHRpb25zPzogVXBkYXRlVmFsdWVBbmRWYWxpZGl0eU9wdGlvbnMpIHtcbiAgICB0aGlzLnNldEFzeW5jVmFsaWRhdG9ycyhbdGhpcy5hc3luY1ZhbGlkYXRvciwgLi4uY29lcmNlQXJyYXkodmFsaWRhdG9ycyldKTtcbiAgICB0aGlzLnVwZGF0ZVZhbHVlQW5kVmFsaWRpdHkob3B0aW9ucyk7XG4gIH1cblxuICBtYXJrQXNUb3VjaGVkKG9wdHM/OiBPbmx5U2VsZik6IHZvaWQge1xuICAgIHN1cGVyLm1hcmtBc1RvdWNoZWQob3B0cyk7XG4gICAgdGhpcy50b3VjaENoYW5nZXMubmV4dCh0cnVlKTtcbiAgfVxuXG4gIG1hcmtBc1VudG91Y2hlZChvcHRzPzogT25seVNlbGYpOiB2b2lkIHtcbiAgICBzdXBlci5tYXJrQXNVbnRvdWNoZWQob3B0cyk7XG4gICAgdGhpcy50b3VjaENoYW5nZXMubmV4dChmYWxzZSk7XG4gIH1cblxuICBtYXJrQXNQcmlzdGluZShvcHRzPzogT25seVNlbGYpOiB2b2lkIHtcbiAgICBzdXBlci5tYXJrQXNQcmlzdGluZShvcHRzKTtcbiAgICB0aGlzLmRpcnR5Q2hhbmdlcy5uZXh0KGZhbHNlKTtcbiAgfVxuXG4gIG1hcmtBc0RpcnR5KG9wdHM/OiBPbmx5U2VsZik6IHZvaWQge1xuICAgIHN1cGVyLm1hcmtBc0RpcnR5KG9wdHMpO1xuICAgIHRoaXMuZGlydHlDaGFuZ2VzLm5leHQodHJ1ZSk7XG4gIH1cblxuICBtYXJrQWxsQXNEaXJ0eSgpOiB2b2lkIHtcbiAgICBtYXJrQWxsRGlydHkodGhpcyk7XG4gIH1cblxuICByZXNldCh2YWx1ZT86IENvbnRyb2xWYWx1ZTxUPltdLCBvcHRpb25zPzogQ29udHJvbEV2ZW50T3B0aW9ucyk6IHZvaWQge1xuICAgIHN1cGVyLnJlc2V0KHZhbHVlLCBvcHRpb25zKTtcbiAgfVxuXG4gIHNldFZhbGlkYXRvcnMobmV3VmFsaWRhdG9yOiBWYWxpZGF0b3IsIG9wdGlvbnM/OiBVcGRhdGVWYWx1ZUFuZFZhbGlkaXR5T3B0aW9ucyk6IHZvaWQge1xuICAgIHN1cGVyLnNldFZhbGlkYXRvcnMobmV3VmFsaWRhdG9yKTtcbiAgICBzdXBlci51cGRhdGVWYWx1ZUFuZFZhbGlkaXR5KG9wdGlvbnMpO1xuICB9XG5cbiAgc2V0QXN5bmNWYWxpZGF0b3JzKG5ld1ZhbGlkYXRvcjogQXN5bmNWYWxpZGF0b3IsIG9wdGlvbnM/OiBVcGRhdGVWYWx1ZUFuZFZhbGlkaXR5T3B0aW9ucyk6IHZvaWQge1xuICAgIHN1cGVyLnNldEFzeW5jVmFsaWRhdG9ycyhuZXdWYWxpZGF0b3IpO1xuICAgIHN1cGVyLnVwZGF0ZVZhbHVlQW5kVmFsaWRpdHkob3B0aW9ucyk7XG4gIH1cblxuICB2YWxpZGF0ZU9uKG9ic2VydmFibGVWYWxpZGF0aW9uOiBPYnNlcnZhYmxlPG51bGwgfCBvYmplY3Q+KSB7XG4gICAgcmV0dXJuIG9ic2VydmFibGVWYWxpZGF0aW9uLnN1YnNjcmliZShtYXliZUVycm9yID0+IHtcbiAgICAgIHRoaXMuc2V0RXJyb3JzKG1heWJlRXJyb3IpO1xuICAgIH0pO1xuICB9XG5cbiAgaGFzRXJyb3IoZXJyb3JDb2RlOiBFeHRyYWN0U3RyaW5nczxFPiwgcGF0aD86IENvbnRyb2xQYXRoKSB7XG4gICAgcmV0dXJuIHN1cGVyLmhhc0Vycm9yKGVycm9yQ29kZSwgcGF0aCk7XG4gIH1cblxuICBzZXRFcnJvcnMoZXJyb3JzOiBQYXJ0aWFsPEU+IHwgbnVsbCwgb3B0czogRW1pdEV2ZW50ID0ge30pIHtcbiAgICB0aGlzLmVycm9yc1N1YmplY3QubmV4dChlcnJvcnMpO1xuICAgIHJldHVybiBzdXBlci5zZXRFcnJvcnMoZXJyb3JzLCBvcHRzKTtcbiAgfVxuXG4gIG1lcmdlRXJyb3JzKGVycm9yczogUGFydGlhbDxFPiwgb3B0czogRW1pdEV2ZW50ID0ge30pOiB2b2lkIHtcbiAgICB0aGlzLnNldEVycm9ycyhtZXJnZUVycm9yczxFPih0aGlzLmVycm9ycywgZXJyb3JzKSwgb3B0cyk7XG4gIH1cblxuICByZW1vdmVFcnJvcihrZXk6IGtleW9mIEUsIG9wdHM6IEVtaXRFdmVudCA9IHt9KTogdm9pZCB7XG4gICAgdGhpcy5zZXRFcnJvcnMocmVtb3ZlRXJyb3I8RT4odGhpcy5lcnJvcnMsIGtleSksIG9wdHMpO1xuICB9XG5cbiAgZ2V0RXJyb3I8SyBleHRlbmRzIEV4dHJhY3RTdHJpbmdzPEU+PihlcnJvckNvZGU6IEssIHBhdGg/OiBDb250cm9sUGF0aCkge1xuICAgIHJldHVybiBzdXBlci5nZXRFcnJvcihlcnJvckNvZGUsIHBhdGgpIGFzIEVbS10gfCBudWxsO1xuICB9XG5cbiAgaGFzRXJyb3JBbmRUb3VjaGVkKGVycm9yQ29kZTogRXh0cmFjdFN0cmluZ3M8RT4sIHBhdGg/OiBDb250cm9sUGF0aCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiBoYXNFcnJvckFuZFRvdWNoZWQodGhpcywgZXJyb3JDb2RlLCBwYXRoKTtcbiAgfVxuXG4gIGhhc0Vycm9yQW5kRGlydHkoZXJyb3JDb2RlOiBFeHRyYWN0U3RyaW5nczxFPiwgcGF0aD86IENvbnRyb2xQYXRoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIGhhc0Vycm9yQW5kRGlydHkodGhpcywgZXJyb3JDb2RlLCBwYXRoKTtcbiAgfVxuXG4gIHNldEVuYWJsZShlbmFibGUgPSB0cnVlLCBvcHRzPzogQ29udHJvbEV2ZW50T3B0aW9ucykge1xuICAgIGVuYWJsZUNvbnRyb2wodGhpcywgZW5hYmxlLCBvcHRzKTtcbiAgfVxuXG4gIHNldERpc2FibGUoZGlzYWJsZSA9IHRydWUsIG9wdHM/OiBDb250cm9sRXZlbnRPcHRpb25zKSB7XG4gICAgZGlzYWJsZUNvbnRyb2wodGhpcywgZGlzYWJsZSwgb3B0cyk7XG4gIH1cblxuICByZW1vdmUodmFsdWU6IFQpOiB2b2lkIHtcbiAgICB0aGlzLnJlbW92ZVdoZW4odiA9PiB2LnZhbHVlID09PSB2YWx1ZSk7XG4gIH1cblxuICByZW1vdmVXaGVuKHByZWRpY2F0ZTogKGVsZW1lbnQ6IEFic3RyYWN0Q29udHJvbE9mPFQ+KSA9PiBib29sZWFuKTogdm9pZCB7XG4gICAgZm9yIChsZXQgaSA9IHRoaXMubGVuZ3RoIC0gMTsgaSA+PSAwOyAtLWkpIHtcbiAgICAgIGlmIChwcmVkaWNhdGUodGhpcy5hdChpKSkpIHtcbiAgICAgICAgdGhpcy5yZW1vdmVBdChpKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiJdfQ==

@@ -44,2 +44,2 @@ import { Injectable } from '@angular/core';

];
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybUJ1aWxkZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ25lYXQvcmVhY3RpdmUtZm9ybXMvc3JjL2xpYi9mb3JtQnVpbGRlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzNDLE9BQU8sRUFBRSxXQUFXLElBQUksYUFBYSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDOUQsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUN4QyxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzVDLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxhQUFhLENBQUM7O0FBVXhDLFNBQVMsd0JBQXdCLENBQy9CLE9BQTJEO0lBRTNELE9BQU8sQ0FDdUIsT0FBUSxDQUFDLGVBQWUsS0FBSyxTQUFTO1FBQ3RDLE9BQVEsQ0FBQyxVQUFVLEtBQUssU0FBUztRQUNqQyxPQUFRLENBQUMsUUFBUSxLQUFLLFNBQVMsQ0FDNUQsQ0FBQztBQUNKLENBQUM7QUFhRCxNQUFNLE9BQU8sV0FBWSxTQUFRLGFBQWE7SUFDNUMsS0FBSyxDQUNILGNBQTJCLEVBQzNCLE9BTVE7UUFFUixNQUFNLFFBQVEsR0FBSSxJQUFZLENBQUMsZUFBZSxDQUFDLGNBQWMsQ0FBQyxDQUFDO1FBRS9ELElBQUksVUFBVSxHQUF1QyxJQUFJLENBQUM7UUFDMUQsSUFBSSxlQUFlLEdBQWlELElBQUksQ0FBQztRQUN6RSxJQUFJLFFBQTJELENBQUM7UUFFaEUsSUFBSSxPQUFPLElBQUksSUFBSSxFQUFFO1lBQ25CLElBQUksd0JBQXdCLENBQUMsT0FBTyxDQUFDLEVBQUU7Z0JBQ3JDLFVBQVUsR0FBRyxPQUFPLENBQUMsVUFBVSxJQUFJLElBQUksQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDO2dCQUNwRSxlQUFlLEdBQUcsT0FBTyxDQUFDLGVBQWUsSUFBSSxJQUFJLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxlQUFlLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQztnQkFDbkYsUUFBUSxHQUFHLE9BQU8sQ0FBQyxRQUFRLElBQUksSUFBSSxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUM7YUFDcEU7aUJBQU07Z0JBQ0wsMENBQTBDO2dCQUMxQyxVQUFVLEdBQUcsT0FBTyxDQUFDLFdBQVcsQ0FBQyxJQUFJLElBQUksQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUM7Z0JBQ3hFLGVBQWUsR0FBRyxPQUFPLENBQUMsZ0JBQWdCLENBQUMsSUFBSSxJQUFJLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUM7YUFDeEY7U0FDRjtRQUVELE9BQU8sSUFBSSxTQUFTLENBQUMsUUFBUSxFQUFFLEVBQUUsZUFBZSxFQUFFLFFBQVEsRUFBRSxVQUFVLEVBQUUsQ0FBQyxDQUFDO0lBQzVFLENBQUM7SUFFRCxPQUFPLENBQ0wsU0FBMEIsRUFDMUIsZUFBNkUsRUFDN0UsY0FBNkQ7UUFFN0QsT0FBTyxJQUFJLFdBQVcsQ0FBQyxTQUFTLEVBQUUsZUFBZSxFQUFFLGNBQWMsQ0FBQyxDQUFDO0lBQ3JFLENBQUM7SUFFRCxLQUFLLENBQ0gsY0FBb0MsRUFDcEMsZUFBNkUsRUFDN0UsY0FBNkQ7UUFFN0QsTUFBTSxRQUFRLEdBQUcsY0FBYyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFFLElBQVksQ0FBQyxjQUFjLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUMxRSxPQUFPLElBQUksU0FBUyxDQUFDLFFBQVEsRUFBRSxlQUFlLEVBQUUsY0FBYyxDQUFDLENBQUM7SUFDbEUsQ0FBQzs7OztZQWhERixVQUFVLFNBQUMsRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFFIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRm9ybUJ1aWxkZXIgYXMgTmdGb3JtQnVpbGRlciB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IEZvcm1BcnJheSB9IGZyb20gJy4vZm9ybUFycmF5JztcbmltcG9ydCB7IEZvcm1Db250cm9sIH0gZnJvbSAnLi9mb3JtQ29udHJvbCc7XG5pbXBvcnQgeyBGb3JtR3JvdXAgfSBmcm9tICcuL2Zvcm1Hcm91cCc7XG5pbXBvcnQge1xuICBBYnN0cmFjdENvbnRyb2xPcHRpb25zLFxuICBBc3luY1ZhbGlkYXRvckZuLFxuICBBYnN0cmFjdENvbnRyb2wsXG4gIE9yQm94ZWRWYWx1ZSxcbiAgVmFsaWRhdG9yRm4sXG4gIENvbnRyb2xzT2Zcbn0gZnJvbSAnLi90eXBlcyc7XG5cbmZ1bmN0aW9uIGlzQWJzdHJhY3RDb250cm9sT3B0aW9uczxUPihcbiAgb3B0aW9uczogQWJzdHJhY3RDb250cm9sT3B0aW9uczxUPiB8IHsgW2tleTogc3RyaW5nXTogYW55IH1cbik6IG9wdGlvbnMgaXMgQWJzdHJhY3RDb250cm9sT3B0aW9uczxUPiB7XG4gIHJldHVybiAoXG4gICAgKDxBYnN0cmFjdENvbnRyb2xPcHRpb25zPFQ+Pm9wdGlvbnMpLmFzeW5jVmFsaWRhdG9ycyAhPT0gdW5kZWZpbmVkIHx8XG4gICAgKDxBYnN0cmFjdENvbnRyb2xPcHRpb25zPFQ+Pm9wdGlvbnMpLnZhbGlkYXRvcnMgIT09IHVuZGVmaW5lZCB8fFxuICAgICg8QWJzdHJhY3RDb250cm9sT3B0aW9uczxUPj5vcHRpb25zKS51cGRhdGVPbiAhPT0gdW5kZWZpbmVkXG4gICk7XG59XG5cbmV4cG9ydCB0eXBlIEZiQ29udHJvbENvbmZpZzxUID0gYW55PiA9XG4gIHwgQWJzdHJhY3RDb250cm9sPFQ+XG4gIHwgW09yQm94ZWRWYWx1ZTxUPiwgVmFsaWRhdG9yRm4gfCBWYWxpZGF0b3JGbltdIHwgbnVsbCwgQXN5bmNWYWxpZGF0b3JGbiB8IEFzeW5jVmFsaWRhdG9yRm5bXSB8IG51bGxdXG4gIHwgW09yQm94ZWRWYWx1ZTxUPiwgVmFsaWRhdG9yRm4gfCBWYWxpZGF0b3JGbltdIHwgQWJzdHJhY3RDb250cm9sT3B0aW9ucyB8IG51bGxdXG4gIHwgW1QgfCBPckJveGVkVmFsdWU8VD5dXG4gIHwgT3JCb3hlZFZhbHVlPFQ+XG4gIHwgVDtcblxuZXhwb3J0IHR5cGUgRmJHcm91cENvbmZpZzxUID0gYW55PiA9IHsgW2tleSBpbiBrZXlvZiBUXTogRmJDb250cm9sQ29uZmlnPFRba2V5XT4gfTtcblxuQEluamVjdGFibGUoeyBwcm92aWRlZEluOiAncm9vdCcgfSlcbmV4cG9ydCBjbGFzcyBGb3JtQnVpbGRlciBleHRlbmRzIE5nRm9ybUJ1aWxkZXIge1xuICBncm91cDxUIGV4dGVuZHMgb2JqZWN0LCBFIGV4dGVuZHMgb2JqZWN0ID0gYW55LCBHcm91cENvbmZpZyBleHRlbmRzIEZiR3JvdXBDb25maWc8VD4gPSBGYkdyb3VwQ29uZmlnPFQ+PihcbiAgICBjb250cm9sc0NvbmZpZzogR3JvdXBDb25maWcsXG4gICAgb3B0aW9ucz86XG4gICAgICB8IEFic3RyYWN0Q29udHJvbE9wdGlvbnM8VD5cbiAgICAgIHwge1xuICAgICAgICAgIHZhbGlkYXRvcj86IFZhbGlkYXRvckZuIHwgVmFsaWRhdG9yRm5bXTtcbiAgICAgICAgICBhc3luY1ZhbGlkYXRvcj86IEFzeW5jVmFsaWRhdG9yRm4gfCBBc3luY1ZhbGlkYXRvckZuW107XG4gICAgICAgIH1cbiAgICAgIHwgbnVsbFxuICApOiBGb3JtR3JvdXA8VCwgRT4ge1xuICAgIGNvbnN0IGNvbnRyb2xzID0gKHRoaXMgYXMgYW55KS5fcmVkdWNlQ29udHJvbHMoY29udHJvbHNDb25maWcpO1xuXG4gICAgbGV0IHZhbGlkYXRvcnM6IFZhbGlkYXRvckZuIHwgVmFsaWRhdG9yRm5bXSB8IG51bGwgPSBudWxsO1xuICAgIGxldCBhc3luY1ZhbGlkYXRvcnM6IEFzeW5jVmFsaWRhdG9yRm4gfCBBc3luY1ZhbGlkYXRvckZuW10gfCBudWxsID0gbnVsbDtcbiAgICBsZXQgdXBkYXRlT246IEFic3RyYWN0Q29udHJvbE9wdGlvbnM8VD5bJ3VwZGF0ZU9uJ10gfCB1bmRlZmluZWQ7XG5cbiAgICBpZiAob3B0aW9ucyAhPSBudWxsKSB7XG4gICAgICBpZiAoaXNBYnN0cmFjdENvbnRyb2xPcHRpb25zKG9wdGlvbnMpKSB7XG4gICAgICAgIHZhbGlkYXRvcnMgPSBvcHRpb25zLnZhbGlkYXRvcnMgIT0gbnVsbCA/IG9wdGlvbnMudmFsaWRhdG9ycyA6IG51bGw7XG4gICAgICAgIGFzeW5jVmFsaWRhdG9ycyA9IG9wdGlvbnMuYXN5bmNWYWxpZGF0b3JzICE9IG51bGwgPyBvcHRpb25zLmFzeW5jVmFsaWRhdG9ycyA6IG51bGw7XG4gICAgICAgIHVwZGF0ZU9uID0gb3B0aW9ucy51cGRhdGVPbiAhPSBudWxsID8gb3B0aW9ucy51cGRhdGVPbiA6IHVuZGVmaW5lZDtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIC8vIGBvcHRpb25zYCBhcmUgbGVnYWN5IGZvcm0gZ3JvdXAgb3B0aW9uc1xuICAgICAgICB2YWxpZGF0b3JzID0gb3B0aW9uc1sndmFsaWRhdG9yJ10gIT0gbnVsbCA/IG9wdGlvbnNbJ3ZhbGlkYXRvciddIDogbnVsbDtcbiAgICAgICAgYXN5bmNWYWxpZGF0b3JzID0gb3B0aW9uc1snYXN5bmNWYWxpZGF0b3InXSAhPSBudWxsID8gb3B0aW9uc1snYXN5bmNWYWxpZGF0b3InXSA6IG51bGw7XG4gICAgICB9XG4gICAgfVxuXG4gICAgcmV0dXJuIG5ldyBGb3JtR3JvdXAoY29udHJvbHMsIHsgYXN5bmNWYWxpZGF0b3JzLCB1cGRhdGVPbiwgdmFsaWRhdG9ycyB9KTtcbiAgfVxuXG4gIGNvbnRyb2w8VCwgRSBleHRlbmRzIG9iamVjdCA9IGFueT4oXG4gICAgZm9ybVN0YXRlOiBPckJveGVkVmFsdWU8VD4sXG4gICAgdmFsaWRhdG9yT3JPcHRzPzogVmFsaWRhdG9yRm4gfCBWYWxpZGF0b3JGbltdIHwgQWJzdHJhY3RDb250cm9sT3B0aW9ucyB8IG51bGwsXG4gICAgYXN5bmNWYWxpZGF0b3I/OiBBc3luY1ZhbGlkYXRvckZuIHwgQXN5bmNWYWxpZGF0b3JGbltdIHwgbnVsbFxuICApOiBGb3JtQ29udHJvbDxULCBFPiB7XG4gICAgcmV0dXJuIG5ldyBGb3JtQ29udHJvbChmb3JtU3RhdGUsIHZhbGlkYXRvck9yT3B0cywgYXN5bmNWYWxpZGF0b3IpO1xuICB9XG5cbiAgYXJyYXk8VCwgRSBleHRlbmRzIG9iamVjdCA9IGFueT4oXG4gICAgY29udHJvbHNDb25maWc6IEZiQ29udHJvbENvbmZpZzxUPltdLFxuICAgIHZhbGlkYXRvck9yT3B0cz86IFZhbGlkYXRvckZuIHwgVmFsaWRhdG9yRm5bXSB8IEFic3RyYWN0Q29udHJvbE9wdGlvbnMgfCBudWxsLFxuICAgIGFzeW5jVmFsaWRhdG9yPzogQXN5bmNWYWxpZGF0b3JGbiB8IEFzeW5jVmFsaWRhdG9yRm5bXSB8IG51bGxcbiAgKTogRm9ybUFycmF5PFQsIEU+IHtcbiAgICBjb25zdCBjb250cm9scyA9IGNvbnRyb2xzQ29uZmlnLm1hcChjID0+ICh0aGlzIGFzIGFueSkuX2NyZWF0ZUNvbnRyb2woYykpO1xuICAgIHJldHVybiBuZXcgRm9ybUFycmF5KGNvbnRyb2xzLCB2YWxpZGF0b3JPck9wdHMsIGFzeW5jVmFsaWRhdG9yKTtcbiAgfVxufVxuIl19
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybUJ1aWxkZXIuanMiLCJzb3VyY2VSb290IjoiL1VzZXJzL25ldGFuZWxiYXNhbC93d3cvcmVhY3RpdmUtZm9ybXMvcHJvamVjdHMvbmduZWF0L3JlYWN0aXZlLWZvcm1zL3NyYy8iLCJzb3VyY2VzIjpbImxpYi9mb3JtQnVpbGRlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzNDLE9BQU8sRUFBRSxXQUFXLElBQUksYUFBYSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDOUQsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUN4QyxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzVDLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxhQUFhLENBQUM7O0FBVXhDLFNBQVMsd0JBQXdCLENBQy9CLE9BQTJEO0lBRTNELE9BQU8sQ0FDdUIsT0FBUSxDQUFDLGVBQWUsS0FBSyxTQUFTO1FBQ3RDLE9BQVEsQ0FBQyxVQUFVLEtBQUssU0FBUztRQUNqQyxPQUFRLENBQUMsUUFBUSxLQUFLLFNBQVMsQ0FDNUQsQ0FBQztBQUNKLENBQUM7QUFhRCxNQUFNLE9BQU8sV0FBWSxTQUFRLGFBQWE7SUFDNUMsS0FBSyxDQUNILGNBQTJCLEVBQzNCLE9BTVE7UUFFUixNQUFNLFFBQVEsR0FBSSxJQUFZLENBQUMsZUFBZSxDQUFDLGNBQWMsQ0FBQyxDQUFDO1FBRS9ELElBQUksVUFBVSxHQUF1QyxJQUFJLENBQUM7UUFDMUQsSUFBSSxlQUFlLEdBQWlELElBQUksQ0FBQztRQUN6RSxJQUFJLFFBQTJELENBQUM7UUFFaEUsSUFBSSxPQUFPLElBQUksSUFBSSxFQUFFO1lBQ25CLElBQUksd0JBQXdCLENBQUMsT0FBTyxDQUFDLEVBQUU7Z0JBQ3JDLFVBQVUsR0FBRyxPQUFPLENBQUMsVUFBVSxJQUFJLElBQUksQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDO2dCQUNwRSxlQUFlLEdBQUcsT0FBTyxDQUFDLGVBQWUsSUFBSSxJQUFJLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxlQUFlLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQztnQkFDbkYsUUFBUSxHQUFHLE9BQU8sQ0FBQyxRQUFRLElBQUksSUFBSSxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUM7YUFDcEU7aUJBQU07Z0JBQ0wsMENBQTBDO2dCQUMxQyxVQUFVLEdBQUcsT0FBTyxDQUFDLFdBQVcsQ0FBQyxJQUFJLElBQUksQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUM7Z0JBQ3hFLGVBQWUsR0FBRyxPQUFPLENBQUMsZ0JBQWdCLENBQUMsSUFBSSxJQUFJLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUM7YUFDeEY7U0FDRjtRQUVELE9BQU8sSUFBSSxTQUFTLENBQUMsUUFBUSxFQUFFLEVBQUUsZUFBZSxFQUFFLFFBQVEsRUFBRSxVQUFVLEVBQUUsQ0FBQyxDQUFDO0lBQzVFLENBQUM7SUFFRCxPQUFPLENBQ0wsU0FBMEIsRUFDMUIsZUFBNkUsRUFDN0UsY0FBNkQ7UUFFN0QsT0FBTyxJQUFJLFdBQVcsQ0FBQyxTQUFTLEVBQUUsZUFBZSxFQUFFLGNBQWMsQ0FBQyxDQUFDO0lBQ3JFLENBQUM7SUFFRCxLQUFLLENBQ0gsY0FBb0MsRUFDcEMsZUFBNkUsRUFDN0UsY0FBNkQ7UUFFN0QsTUFBTSxRQUFRLEdBQUcsY0FBYyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFFLElBQVksQ0FBQyxjQUFjLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUMxRSxPQUFPLElBQUksU0FBUyxDQUFDLFFBQVEsRUFBRSxlQUFlLEVBQUUsY0FBYyxDQUFDLENBQUM7SUFDbEUsQ0FBQzs7OztZQWhERixVQUFVLFNBQUMsRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFFIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRm9ybUJ1aWxkZXIgYXMgTmdGb3JtQnVpbGRlciB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IEZvcm1BcnJheSB9IGZyb20gJy4vZm9ybUFycmF5JztcbmltcG9ydCB7IEZvcm1Db250cm9sIH0gZnJvbSAnLi9mb3JtQ29udHJvbCc7XG5pbXBvcnQgeyBGb3JtR3JvdXAgfSBmcm9tICcuL2Zvcm1Hcm91cCc7XG5pbXBvcnQge1xuICBBYnN0cmFjdENvbnRyb2xPcHRpb25zLFxuICBBc3luY1ZhbGlkYXRvckZuLFxuICBBYnN0cmFjdENvbnRyb2wsXG4gIE9yQm94ZWRWYWx1ZSxcbiAgVmFsaWRhdG9yRm4sXG4gIENvbnRyb2xzT2Zcbn0gZnJvbSAnLi90eXBlcyc7XG5cbmZ1bmN0aW9uIGlzQWJzdHJhY3RDb250cm9sT3B0aW9uczxUPihcbiAgb3B0aW9uczogQWJzdHJhY3RDb250cm9sT3B0aW9uczxUPiB8IHsgW2tleTogc3RyaW5nXTogYW55IH1cbik6IG9wdGlvbnMgaXMgQWJzdHJhY3RDb250cm9sT3B0aW9uczxUPiB7XG4gIHJldHVybiAoXG4gICAgKDxBYnN0cmFjdENvbnRyb2xPcHRpb25zPFQ+Pm9wdGlvbnMpLmFzeW5jVmFsaWRhdG9ycyAhPT0gdW5kZWZpbmVkIHx8XG4gICAgKDxBYnN0cmFjdENvbnRyb2xPcHRpb25zPFQ+Pm9wdGlvbnMpLnZhbGlkYXRvcnMgIT09IHVuZGVmaW5lZCB8fFxuICAgICg8QWJzdHJhY3RDb250cm9sT3B0aW9uczxUPj5vcHRpb25zKS51cGRhdGVPbiAhPT0gdW5kZWZpbmVkXG4gICk7XG59XG5cbmV4cG9ydCB0eXBlIEZiQ29udHJvbENvbmZpZzxUID0gYW55PiA9XG4gIHwgQWJzdHJhY3RDb250cm9sPFQ+XG4gIHwgW09yQm94ZWRWYWx1ZTxUPiwgVmFsaWRhdG9yRm4gfCBWYWxpZGF0b3JGbltdIHwgbnVsbCwgQXN5bmNWYWxpZGF0b3JGbiB8IEFzeW5jVmFsaWRhdG9yRm5bXSB8IG51bGxdXG4gIHwgW09yQm94ZWRWYWx1ZTxUPiwgVmFsaWRhdG9yRm4gfCBWYWxpZGF0b3JGbltdIHwgQWJzdHJhY3RDb250cm9sT3B0aW9ucyB8IG51bGxdXG4gIHwgW1QgfCBPckJveGVkVmFsdWU8VD5dXG4gIHwgT3JCb3hlZFZhbHVlPFQ+XG4gIHwgVDtcblxuZXhwb3J0IHR5cGUgRmJHcm91cENvbmZpZzxUID0gYW55PiA9IHsgW2tleSBpbiBrZXlvZiBUXTogRmJDb250cm9sQ29uZmlnPFRba2V5XT4gfTtcblxuQEluamVjdGFibGUoeyBwcm92aWRlZEluOiAncm9vdCcgfSlcbmV4cG9ydCBjbGFzcyBGb3JtQnVpbGRlciBleHRlbmRzIE5nRm9ybUJ1aWxkZXIge1xuICBncm91cDxUIGV4dGVuZHMgb2JqZWN0LCBFIGV4dGVuZHMgb2JqZWN0ID0gYW55LCBHcm91cENvbmZpZyBleHRlbmRzIEZiR3JvdXBDb25maWc8VD4gPSBGYkdyb3VwQ29uZmlnPFQ+PihcbiAgICBjb250cm9sc0NvbmZpZzogR3JvdXBDb25maWcsXG4gICAgb3B0aW9ucz86XG4gICAgICB8IEFic3RyYWN0Q29udHJvbE9wdGlvbnM8VD5cbiAgICAgIHwge1xuICAgICAgICAgIHZhbGlkYXRvcj86IFZhbGlkYXRvckZuIHwgVmFsaWRhdG9yRm5bXTtcbiAgICAgICAgICBhc3luY1ZhbGlkYXRvcj86IEFzeW5jVmFsaWRhdG9yRm4gfCBBc3luY1ZhbGlkYXRvckZuW107XG4gICAgICAgIH1cbiAgICAgIHwgbnVsbFxuICApOiBGb3JtR3JvdXA8VCwgRT4ge1xuICAgIGNvbnN0IGNvbnRyb2xzID0gKHRoaXMgYXMgYW55KS5fcmVkdWNlQ29udHJvbHMoY29udHJvbHNDb25maWcpO1xuXG4gICAgbGV0IHZhbGlkYXRvcnM6IFZhbGlkYXRvckZuIHwgVmFsaWRhdG9yRm5bXSB8IG51bGwgPSBudWxsO1xuICAgIGxldCBhc3luY1ZhbGlkYXRvcnM6IEFzeW5jVmFsaWRhdG9yRm4gfCBBc3luY1ZhbGlkYXRvckZuW10gfCBudWxsID0gbnVsbDtcbiAgICBsZXQgdXBkYXRlT246IEFic3RyYWN0Q29udHJvbE9wdGlvbnM8VD5bJ3VwZGF0ZU9uJ10gfCB1bmRlZmluZWQ7XG5cbiAgICBpZiAob3B0aW9ucyAhPSBudWxsKSB7XG4gICAgICBpZiAoaXNBYnN0cmFjdENvbnRyb2xPcHRpb25zKG9wdGlvbnMpKSB7XG4gICAgICAgIHZhbGlkYXRvcnMgPSBvcHRpb25zLnZhbGlkYXRvcnMgIT0gbnVsbCA/IG9wdGlvbnMudmFsaWRhdG9ycyA6IG51bGw7XG4gICAgICAgIGFzeW5jVmFsaWRhdG9ycyA9IG9wdGlvbnMuYXN5bmNWYWxpZGF0b3JzICE9IG51bGwgPyBvcHRpb25zLmFzeW5jVmFsaWRhdG9ycyA6IG51bGw7XG4gICAgICAgIHVwZGF0ZU9uID0gb3B0aW9ucy51cGRhdGVPbiAhPSBudWxsID8gb3B0aW9ucy51cGRhdGVPbiA6IHVuZGVmaW5lZDtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIC8vIGBvcHRpb25zYCBhcmUgbGVnYWN5IGZvcm0gZ3JvdXAgb3B0aW9uc1xuICAgICAgICB2YWxpZGF0b3JzID0gb3B0aW9uc1sndmFsaWRhdG9yJ10gIT0gbnVsbCA/IG9wdGlvbnNbJ3ZhbGlkYXRvciddIDogbnVsbDtcbiAgICAgICAgYXN5bmNWYWxpZGF0b3JzID0gb3B0aW9uc1snYXN5bmNWYWxpZGF0b3InXSAhPSBudWxsID8gb3B0aW9uc1snYXN5bmNWYWxpZGF0b3InXSA6IG51bGw7XG4gICAgICB9XG4gICAgfVxuXG4gICAgcmV0dXJuIG5ldyBGb3JtR3JvdXAoY29udHJvbHMsIHsgYXN5bmNWYWxpZGF0b3JzLCB1cGRhdGVPbiwgdmFsaWRhdG9ycyB9KTtcbiAgfVxuXG4gIGNvbnRyb2w8VCwgRSBleHRlbmRzIG9iamVjdCA9IGFueT4oXG4gICAgZm9ybVN0YXRlOiBPckJveGVkVmFsdWU8VD4sXG4gICAgdmFsaWRhdG9yT3JPcHRzPzogVmFsaWRhdG9yRm4gfCBWYWxpZGF0b3JGbltdIHwgQWJzdHJhY3RDb250cm9sT3B0aW9ucyB8IG51bGwsXG4gICAgYXN5bmNWYWxpZGF0b3I/OiBBc3luY1ZhbGlkYXRvckZuIHwgQXN5bmNWYWxpZGF0b3JGbltdIHwgbnVsbFxuICApOiBGb3JtQ29udHJvbDxULCBFPiB7XG4gICAgcmV0dXJuIG5ldyBGb3JtQ29udHJvbChmb3JtU3RhdGUsIHZhbGlkYXRvck9yT3B0cywgYXN5bmNWYWxpZGF0b3IpO1xuICB9XG5cbiAgYXJyYXk8VCwgRSBleHRlbmRzIG9iamVjdCA9IGFueT4oXG4gICAgY29udHJvbHNDb25maWc6IEZiQ29udHJvbENvbmZpZzxUPltdLFxuICAgIHZhbGlkYXRvck9yT3B0cz86IFZhbGlkYXRvckZuIHwgVmFsaWRhdG9yRm5bXSB8IEFic3RyYWN0Q29udHJvbE9wdGlvbnMgfCBudWxsLFxuICAgIGFzeW5jVmFsaWRhdG9yPzogQXN5bmNWYWxpZGF0b3JGbiB8IEFzeW5jVmFsaWRhdG9yRm5bXSB8IG51bGxcbiAgKTogRm9ybUFycmF5PFQsIEU+IHtcbiAgICBjb25zdCBjb250cm9scyA9IGNvbnRyb2xzQ29uZmlnLm1hcChjID0+ICh0aGlzIGFzIGFueSkuX2NyZWF0ZUNvbnRyb2woYykpO1xuICAgIHJldHVybiBuZXcgRm9ybUFycmF5KGNvbnRyb2xzLCB2YWxpZGF0b3JPck9wdHMsIGFzeW5jVmFsaWRhdG9yKTtcbiAgfVxufVxuIl19

@@ -119,2 +119,2 @@ import { FormControl as NgFormControl } from '@angular/forms';

}
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybUNvbnRyb2wuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ25lYXQvcmVhY3RpdmUtZm9ybXMvc3JjL2xpYi9mb3JtQ29udHJvbC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsV0FBVyxJQUFJLGFBQWEsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQzlELE9BQU8sRUFBRSxZQUFZLEVBQWMsT0FBTyxFQUFnQixNQUFNLE1BQU0sQ0FBQztBQUN2RSxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUN0RCxPQUFPLEVBQ0wsZ0JBQWdCLEVBQ2hCLG9CQUFvQixFQUNwQixlQUFlLEVBQ2YsbUJBQW1CLEVBQ25CLG9CQUFvQixFQUNwQixxQkFBcUIsRUFDckIsb0JBQW9CLEVBQ3BCLGNBQWMsRUFDZCxhQUFhLEVBQ2IsZ0JBQWdCLEVBQ2hCLGtCQUFrQixFQUNsQixzQkFBc0IsRUFDdEIsaUJBQWlCLEVBQ2xCLE1BQU0sbUJBQW1CLENBQUM7QUFnQjNCLE9BQU8sRUFBRSxXQUFXLEVBQUUsV0FBVyxFQUFFLFdBQVcsRUFBRSxNQUFNLFNBQVMsQ0FBQztBQUVoRSxNQUFNLE9BQU8sV0FBNkMsU0FBUSxhQUFhO0lBa0M3RSxZQUFZLFNBQTJCLEVBQUUsZUFBaUMsRUFBRSxjQUErQjtRQUN6RyxLQUFLLENBQUMsU0FBUyxFQUFFLGVBQWUsRUFBRSxjQUFjLENBQUMsQ0FBQztRQTVCNUMsaUJBQVksR0FBRyxJQUFJLE9BQU8sRUFBVyxDQUFDO1FBQ3RDLGlCQUFZLEdBQUcsSUFBSSxPQUFPLEVBQVcsQ0FBQztRQUN0QyxrQkFBYSxHQUFHLElBQUksT0FBTyxFQUFjLENBQUM7UUFFekMsV0FBTSxHQUFHLElBQUksQ0FBQyxZQUFZLENBQUMsWUFBWSxFQUFFLENBQUMsSUFBSSxDQUFDLG9CQUFvQixFQUFFLENBQUMsQ0FBQztRQUN2RSxXQUFNLEdBQUcsSUFB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QUM7SUFDbkMsQ0FBQztJQUVELFNBQVMsQ0FBQyxNQUF5QixFQUFFLE9BQWtCLEVBQUU7UUFDdkQsSUFBSSxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUM7UUFDaEMsT0FBTyxLQUFLLENBQUMsU0FBUyxDQUFDLE1BQU0sRUFBRSxJQUFJLENBQUMsQ0FBQztJQUN2QyxDQUFDO0lBRUQsV0FBVyxDQUFDLE1BQWtCLEVBQUUsT0FBa0IsRUFBRTtRQUNsRCxJQUFJLENBQUMsU0FBUyxDQUFDLFdBQVcsQ0FBSSxJQUFJLENBQUMsTUFBTSxFQUFFLE1BQU0sQ0FBQyxFQUFFLElBQUksQ0FBQyxDQUFDO0lBQzVELENBQUM7SUFFRCxXQUFXLENBQUMsR0FBWSxFQUFFLE9BQWtCLEVBQUU7UUFDNUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxXQUFXLENBQUksSUFBSSxDQUFDLE1BQU0sRUFBRSxHQUFHLENBQUMsRUFBRSxJQUFJLENBQUMsQ0FBQztJQUN6RCxDQUFDO0lBRUQsa0JBQWtCLENBQUMsS0FBd0I7UUFDekMsT0FBTyxrQkFBa0IsQ0FBQyxJQUFJLEVBQUUsS0FBSyxDQUFDLENBQUM7SUFDekMsQ0FBQztJQUVELGdCQUFnQixDQUFDLEtBQXdCO1FBQ3ZDLE9BQU8sZ0JBQWdCLENBQUMsSUFBSSxFQUFFLEtBQUssQ0FBQyxDQUFDO0lBQ3ZDLENBQUM7SUFFRCxTQUFTLENBQUMsTUFBTSxHQUFHLElBQUksRUFBRSxJQUEwQjtRQUNqRCxhQUFhLENBQUMsSUFBSSxFQUFFLE1BQU0sRUFBRSxJQUFJLENBQUMsQ0FBQztJQUNwQyxDQUFDO0lBRUQsVUFBVSxDQUFDLE9BQU8sR0FBRyxJQUFJLEVBQUUsSUFBMEI7UUFDbkQsY0FBYyxDQUFDLElBQUksRUFBRSxPQUFPLEVBQUUsSUFBSSxDQUFDLENBQUM7SUFDdEMsQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRm9ybUNvbnRyb2wgYXMgTmdGb3JtQ29udHJvbCB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IGlzT2JzZXJ2YWJsZSwgT2JzZXJ2YWJsZSwgU3ViamVjdCwgU3Vic2NyaXB0aW9uIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBkaXN0aW5jdFVudGlsQ2hhbmdlZCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7XG4gIGNvbnRyb2xEaXNhYmxlZCQsXG4gIGNvbnRyb2xEaXNhYmxlZFdoaWxlLFxuICBjb250cm9sRW5hYmxlZCQsXG4gIGNvbnRyb2xFbmFibGVkV2hpbGUsXG4gIGNvbnRyb2xFcnJvckNoYW5nZXMkLFxuICBjb250cm9sU3RhdHVzQ2hhbmdlcyQsXG4gIGNvbnRyb2xWYWx1ZUNoYW5nZXMkLFxuICBkaXNhYmxlQ29udHJvbCxcbiAgZW5hYmxlQ29udHJvbCxcbiAgaGFzRXJyb3JBbmREaXJ0eSxcbiAgaGFzRXJyb3JBbmRUb3VjaGVkLFxuICBtZXJnZUNvbnRyb2xWYWxpZGF0b3JzLFxuICB2YWxpZGF0ZUNvbnRyb2xPblxufSBmcm9tICcuL2NvbnRyb2wtYWN0aW9ucyc7XG5pbXBvcnQge1xuICBBc3luY1ZhbGlkYXRvcixcbiAgQXN5bmNWYWxpZGF0b3JGbixcbiAgQ29udHJvbEV2ZW50T3B0aW9ucyxcbiAgQ29udHJvbE9wdGlvbnMsXG4gIENvbnRyb2xTdGF0ZSxcbiAgRW1pdEV2ZW50LFxuICBFeHRyYWN0U3RyaW5ncyxcbiAgT25seVNlbGYsXG4gIE9yQm94ZWRWYWx1ZSxcbiAgVXBkYXRlVmFsdWVBbmRWYWxpZGl0eU9wdGlvbnMsXG4gIFZhbGlkYXRvcixcbiAgVmFsaWRhdG9yRm4sXG4gIFZhbGlkYXRvck9yT3B0c1xufSBmcm9tICcuL3R5cGVzJztcbmltcG9ydCB7IGNvZXJjZUFycmF5LCBtZXJnZUVycm9ycywgcmVtb3ZlRXJyb3IgfSBmcm9tICcuL3V0aWxzJztcblxuZXhwb3J0IGNsYXNzIEZvcm1Db250cm9sPFQgPSBhbnksIEUgZXh0ZW5kcyBvYmplY3QgPSBhbnk+IGV4dGVuZHMgTmdGb3JtQ29udHJvbCB7XG4gIHJlYWRvbmx5IHZhbHVlOiBUO1xuICByZWFkb25seSBlcnJvcnM6IEUgfCBudWxsO1xuICByZWFkb25seSB2YWx1ZUNoYW5nZXM6IE9ic2VydmFibGU8VD47XG4gIHJlYWRvbmx5IHN0YXR1czogQ29udHJvbFN0YXRlO1xuICByZWFkb25seSBzdGF0dXNDaGFuZ2VzOiBPYnNlcnZhYmxlPENvbnRyb2xTdGF0ZT47XG5cbiAgcHJpdmF0ZSB0b3VjaENoYW5nZXMgPSBuZXcgU3ViamVjdDxib29sZWFuPigpO1xuICBwcml2YXRlIGRpcnR5Q2hhbmdlcyA9IG5ldyBTdWJqZWN0PGJvb2xlYW4+KCk7XG4gIHByaXZhdGUgZXJyb3JzU3ViamVjdCA9IG5ldyBTdWJqZWN0PFBhcnRpYWw8RT4+KCk7XG5cbiAgcmVhZG9ubHkgdG91Y2gkID0gdGhpcy50b3VjaENoYW5nZXMuYXNPYnNlcnZhYmxlKCkucGlwZShkaXN0aW5jdFVudGlsQ2hhbmdlZCgpKTtcbiAgcmVhZG9ubHkgZGlydHkkID0gdGhpcy5kaXJ0eUNoYW5nZXMuYXNPYnNlcnZhYmxlKCkucGlwZShkaXN0aW5jdFVudGlsQ2hhbmdlZCgpKTtcblxuICByZWFkb25seSB2YWx1ZSQgPSBjb250cm9sVmFsdWVDaGFuZ2VzJDxUPih0aGlzKTtcbiAgcmVhZG9ubHkgZGlzYWJsZWQkID0gY29udHJvbERpc2FibGVkJDxUPih0aGlzKTtcbiAgcmVhZG9ubHkgZW5hYmxlZCQgPSBjb250cm9sRW5hYmxlZCQ8VD4odGhpcyk7XG4gIHJlYWRvbmx5IHN0YXR1cyQgPSBjb250cm9sU3RhdHVzQ2hhbmdlcyQ8VD4odGhpcyk7XG4gIHJlYWRvbmx5IGVycm9ycyQgPSBjb250cm9sRXJyb3JDaGFuZ2VzJDxFPih0aGlzLCB0aGlzLmVycm9yc1N1YmplY3QuYXNPYnNlcnZhYmxlKCkpO1xuXG4gIGdldCBhc3luY1ZhbGlkYXRvcigpOiBBc3luY1ZhbGlkYXRvckZuPFQ+IHwgbnVsbCB7XG4gICAgcmV0dXJuIHN1cGVyLmFzeW5jVmFsaWRhdG9yO1xuICB9XG4gIHNldCBhc3luY1ZhbGlkYXRvcihhc3luY1ZhbGlkYXRvcjogQXN5bmNWYWxpZGF0b3JGbjxUPiB8IG51bGwpIHtcbiAgICBzdXBlci5hc3luY1ZhbGlkYXRvciA9IGFzeW5jVmFsaWRhdG9yO1xuICB9XG5cbiAgZ2V0IHZhbGlkYXRvcigpOiBWYWxpZGF0b3JGbjxUPiB8IG51bGwge1xuICAgIHJldHVybiBzdXBlci52YWxpZGF0b3I7XG4gIH1cbiAgc2V0IHZhbGlkYXRvcih2YWxpZGF0b3I6IFZhbGlkYXRvckZuPFQ+IHwgbnVsbCkge1xuICAgIHN1cGVyLnZhbGlkYXRvciA9IHZhbGlkYXRvcjtcbiAgfVxuXG4gIGNvbnN0cnVjdG9yKGZvcm1TdGF0ZT86IE9yQm94ZWRWYWx1ZTxUPiwgdmFsaWRhdG9yT3JPcHRzPzogVmFsaWRhdG9yT3JPcHRzLCBhc3luY1ZhbGlkYXRvcj86IEFzeW5jVmFsaWRhdG9yKSB7XG4gICAgc3VwZXIoZm9ybVN0YXRlLCB2YWxpZGF0b3JPck9wdHMsIGFzeW5jVmFsaWRhdG9yKTtcbiAgfVxuXG4gIHNldFZhbHVlKHZhbHVlT3JPYnNlcnZhYmxlOiBPYnNlcnZhYmxlPFQ+LCBvcHRpb25zPzogQ29udHJvbE9wdGlvbnMpOiBTdWJzY3JpcHRpb247XG4gIHNldFZhbHVlKHZhbHVlT3JPYnNlcnZhYmxlOiBULCBvcHRpb25zPzogQ29udHJvbE9wdGlvbnMpOiB2b2lkO1xuICBzZXRWYWx1ZSh2YWx1ZU9yT2JzZXJ2YWJsZTogYW55LCBvcHRpb25zPzogQ29udHJvbE9wdGlvbnMpOiBTdWJzY3JpcHRpb24gfCB2b2lkIHtcbiAgICBpZiAoaXNPYnNlcnZhYmxlKHZhbHVlT3JPYnNlcnZhYmxlKSkge1xuICAgICAgcmV0dXJuIHZhbHVlT3JPYnNlcnZhYmxlLnN1YnNjcmliZSh2YWx1ZSA9PiBzdXBlci5zZXRWYWx1ZSh2YWx1ZSwgb3B0aW9ucykpO1xuICAgIH1cblxuICAgIHN1cGVyLnNldFZhbHVlKHZhbHVlT3JPYnNlcnZhYmxlLCBvcHRpb25zKTtcbiAgfVxuXG4gIHBhdGNoVmFsdWUodmFsdWVPck9ic2VydmFibGU6IE9ic2VydmFibGU8VD4sIG9wdGlvbnM/OiBDb250cm9sT3B0aW9ucyk6IFN1YnNjcmlwdGlvbjtcbiAgcGF0Y2hWYWx1ZSh2YWx1ZU9yT2JzZXJ2YWJsZTogVCwgb3B0aW9ucz86IENvbnRyb2xPcHRpb25zKTogdm9pZDtcbiAgcGF0Y2hWYWx1ZSh2YWx1ZU9yT2JzZXJ2YWJsZTogYW55LCBvcHRpb25zPzogQ29udHJvbE9wdGlvbnMpOiBTdWJzY3JpcHRpb24gfCB2b2lkIHtcbiAgICBpZiAoaXNPYnNlcnZhYmxlKHZhbHVlT3JPYnNlcnZhYmxlKSkge1xuICAgICAgcmV0dXJuIHZhbHVlT3JPYnNlcnZhYmxlLnN1YnNjcmliZSh2YWx1ZSA9PiBzdXBlci5wYXRjaFZhbHVlKHZhbHVlLCBvcHRpb25zKSk7XG4gICAgfVxuXG4gICAgc3VwZXIucGF0Y2hWYWx1ZSh2YWx1ZU9yT2JzZXJ2YWJsZSwgb3B0aW9ucyk7XG4gIH1cblxuICBkaXNhYmxlZFdoaWxlKG9ic2VydmFibGU6IE9ic2VydmFibGU8Ym9vbGVhbj4sIG9wdGlvbnM/OiBDb250cm9sT3B0aW9ucykge1xuICAgIHJldHVybiBjb250cm9sRGlzYWJsZWRXaGlsZSh0aGlzLCBvYnNlcnZhYmxlLCBvcHRpb25zKTtcbiAgfVxuXG4gIGVuYWJsZWRXaGlsZShvYnNlcnZhYmxlOiBPYnNlcnZhYmxlPGJvb2xlYW4+LCBvcHRpb25zPzogQ29udHJvbE9wdGlvbnMpIHtcbiAgICByZXR1cm4gY29udHJvbEVuYWJsZWRXaGlsZSh0aGlzLCBvYnNlcnZhYmxlLCBvcHRpb25zKTtcbiAgfVxuXG4gIG1lcmdlVmFsaWRhdG9ycyh2YWxpZGF0b3JzOiBWYWxpZGF0b3IsIG9wdGlvbnM/OiBVcGRhdGVWYWx1ZUFuZFZhbGlkaXR5T3B0aW9ucykge1xuICAgIG1lcmdlQ29udHJvbFZhbGlkYXRvcnModGhpcywgdmFsaWRhdG9ycywgb3B0aW9ucyk7XG4gIH1cblxuICBtZXJnZUFzeW5jVmFsaWRhdG9ycyh2YWxpZGF0b3JzOiBBc3luY1ZhbGlkYXRvciwgb3B0aW9ucz86IFVwZGF0ZVZhbHVlQW5kVmFsaWRpdHlPcHRpb25zKSB7XG4gICAgdGhpcy5zZXRBc3luY1ZhbGlkYXRvcnMoW3RoaXMuYXN5bmNWYWxpZGF0b3IsIC4uLmNvZXJjZUFycmF5KHZhbGlkYXRvcnMpXSk7XG4gICAgdGhpcy51cGRhdGVWYWx1ZUFuZFZhbGlkaXR5KG9wdGlvbnMpO1xuICB9XG5cbiAgbWFya0FzVG91Y2hlZChvcHRzPzogT25seVNlbGYpOiB2b2lkIHtcbiAgICBzdXBlci5tYXJrQXNUb3VjaGVkKG9wdHMpO1xuICAgIHRoaXMudG91Y2hDaGFuZ2VzLm5leHQodHJ1ZSk7XG4gIH1cblxuICBtYXJrQXNVbnRvdWNoZWQob3B0cz86IE9ubHlTZWxmKTogdm9pZCB7XG4gICAgc3VwZXIubWFya0FzVW50b3VjaGVkKG9wdHMpO1xuICAgIHRoaXMudG91Y2hDaGFuZ2VzLm5leHQoZmFsc2UpO1xuICB9XG5cbiAgbWFya0FzUHJpc3RpbmUob3B0cz86IE9ubHlTZWxmKTogdm9pZCB7XG4gICAgc3VwZXIubWFya0FzUHJpc3RpbmUob3B0cyk7XG4gICAgdGhpcy5kaXJ0eUNoYW5nZXMubmV4dChmYWxzZSk7XG4gIH1cblxuICBtYXJrQXNEaXJ0eShvcHRzPzogT25seVNlbGYpOiB2b2lkIHtcbiAgICBzdXBlci5tYXJrQXNEaXJ0eShvcHRzKTtcbiAgICB0aGlzLmRpcnR5Q2hhbmdlcy5uZXh0KHRydWUpO1xuICB9XG5cbiAgbWFya0FsbEFzRGlydHkoKTogdm9pZCB7XG4gICAgdGhpcy5tYXJrQXNEaXJ0eSh7IG9ubHlTZWxmOiB0cnVlIH0pO1xuICB9XG5cbiAgcmVzZXQoZm9ybVN0YXRlPzogT3JCb3hlZFZhbHVlPFQ+LCBvcHRpb25zPzogQ29udHJvbEV2ZW50T3B0aW9ucyk6IHZvaWQge1xuICAgIHN1cGVyLnJlc2V0KGZvcm1TdGF0ZSwgb3B0aW9ucyk7XG4gIH1cblxuICBzZXRWYWxpZGF0b3JzKG5ld1ZhbGlkYXRvcjogVmFsaWRhdG9yLCBvcHRpb25zPzogVXBkYXRlVmFsdWVBbmRWYWxpZGl0eU9wdGlvbnMpOiB2b2lkIHtcbiAgICBzdXBlci5zZXRWYWxpZGF0b3JzKG5ld1ZhbGlkYXRvcik7XG4gICAgc3VwZXIudXBkYXRlVmFsdWVBbmRWYWxpZGl0eShvcHRpb25zKTtcbiAgfVxuXG4gIHNldEFzeW5jVmFsaWRhdG9ycyhuZXdWYWxpZGF0b3I6IEFzeW5jVmFsaWRhdG9yLCBvcHRpb25zPzogVXBkYXRlVmFsdWVBbmRWYWxpZGl0eU9wdGlvbnMpOiB2b2lkIHtcbiAgICBzdXBlci5zZXRBc3luY1ZhbGlkYXRvcnMobmV3VmFsaWRhdG9yKTtcbiAgICBzdXBlci51cGRhdGVWYWx1ZUFuZFZhbGlkaXR5KG9wdGlvbnMpO1xuICB9XG5cbiAgdmFsaWRhdGVPbihvYnNlcnZhYmxlVmFsaWRhdGlvbjogT2JzZXJ2YWJsZTxudWxsIHwgb2JqZWN0Pikge1xuICAgIHJldHVybiB2YWxpZGF0ZUNvbnRyb2xPbih0aGlzLCBvYnNlcnZhYmxlVmFsaWRhdGlvbik7XG4gIH1cblxuICBnZXRFcnJvcjxLIGV4dGVuZHMgRXh0cmFjdFN0cmluZ3M8RT4+KGVycm9yQ29kZTogSyk6IEVbS10gfCBudWxsIHtcbiAgICByZXR1cm4gc3VwZXIuZ2V0RXJyb3IoZXJyb3JDb2RlKSBhcyBFW0tdIHwgbnVsbDtcbiAgfVxuXG4gIGhhc0Vycm9yPEsgZXh0ZW5kcyBFeHRyYWN0U3RyaW5nczxFPj4oZXJyb3JDb2RlOiBLKSB7XG4gICAgcmV0dXJuIHN1cGVyLmhhc0Vycm9yKGVycm9yQ29kZSk7XG4gIH1cblxuICBzZXRFcnJvcnMoZXJyb3JzOiBQYXJ0aWFsPEU+IHwgbnVsbCwgb3B0czogRW1pdEV2ZW50ID0ge30pIHtcbiAgICB0aGlzLmVycm9yc1N1YmplY3QubmV4dChlcnJvcnMpO1xuICAgIHJldHVybiBzdXBlci5zZXRFcnJvcnMoZXJyb3JzLCBvcHRzKTtcbiAgfVxuXG4gIG1lcmdlRXJyb3JzKGVycm9yczogUGFydGlhbDxFPiwgb3B0czogRW1pdEV2ZW50ID0ge30pOiB2b2lkIHtcbiAgICB0aGlzLnNldEVycm9ycyhtZXJnZUVycm9yczxFPih0aGlzLmVycm9ycywgZXJyb3JzKSwgb3B0cyk7XG4gIH1cblxuICByZW1vdmVFcnJvcihrZXk6IGtleW9mIEUsIG9wdHM6IEVtaXRFdmVudCA9IHt9KTogdm9pZCB7XG4gICAgdGhpcy5zZXRFcnJvcnMocmVtb3ZlRXJyb3I8RT4odGhpcy5lcnJvcnMsIGtleSksIG9wdHMpO1xuICB9XG5cbiAgaGFzRXJyb3JBbmRUb3VjaGVkKGVycm9yOiBFeHRyYWN0U3RyaW5nczxFPik6IGJvb2xlYW4ge1xuICAgIHJldHVybiBoYXNFcnJvckFuZFRvdWNoZWQodGhpcywgZXJyb3IpO1xuICB9XG5cbiAgaGFzRXJyb3JBbmREaXJ0eShlcnJvcjogRXh0cmFjdFN0cmluZ3M8RT4pOiBib29sZWFuIHtcbiAgICByZXR1cm4gaGFzRXJyb3JBbmREaXJ0eSh0aGlzLCBlcnJvcik7XG4gIH1cblxuICBzZXRFbmFibGUoZW5hYmxlID0gdHJ1ZSwgb3B0cz86IENvbnRyb2xFdmVudE9wdGlvbnMpIHtcbiAgICBlbmFibGVDb250cm9sKHRoaXMsIGVuYWJsZSwgb3B0cyk7XG4gIH1cblxuICBzZXREaXNhYmxlKGRpc2FibGUgPSB0cnVlLCBvcHRzPzogQ29udHJvbEV2ZW50T3B0aW9ucykge1xuICAgIGRpc2FibGVDb250cm9sKHRoaXMsIGRpc2FibGUsIG9wdHMpO1xuICB9XG59XG4iXX0=
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybUNvbnRyb2wuanMiLCJzb3VyY2VSb290IjoiL1VzZXJzL25ldGFuZWxiYXNhbC93d3cvcmVhY3RpdmUtZm9ybXMvcHJvamVjdHMvbmduZWF0L3JlYWN0aXZlLWZvcm1zL3NyYy8iLCJzb3VyY2VzIjpbImxpYi9mb3JtQ29udHJvbC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsV0FBVyxJQUFJLGFBQWEsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQzlELE9BQU8sRUFBRSxZQUFZLEVBQWMsT0FBTyxFQUFnQixNQUFNLE1BQU0sQ0FBQztBQUN2RSxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUN0RCxPQUFPLEVBQ0wsZ0JBQWdCLEVBQ2hCLG9CQUFvQixFQUNwQixlQUFlLEVBQ2YsbUJBQW1CLEVBQ25CLG9CQUFvQixFQUNwQixxQkFBcUIsRUFDckIsb0JBQW9CLEVBQ3BCLGNBQWMsRUFDZCxhQUFhLEVBQ2IsZ0JBQWdCLEVBQ2hCLGtCQUFrQixFQUNsQixzQkFBc0IsRUFDdEIsaUJBQWlCLEVBQ2xCLE1BQU0sbUJBQW1CLENBQUM7QUFnQjNCLE9BQU8sRUFBRSxXQUFXLEVBQUUsV0FBVyxFQUFFLFdBQVcsRUFBRSxNQUFNLFNBQVMsQ0FBQztBQUVoRSxNQUFNLE9BQU8sV0FBNkMsU0FBUSxhQUFhO0lBa0M3RSxZQUFZLFNBQTJCLEVBQUUsZUFBaUMsRUFBRSxjQUErQjtRQUN6RyxLQUFLLENBQUMsU0FBUyxFQUFFLGVBQWUsRUFBRSxjQUFjLENBQUMsQ0FBQztRQTVCNUMsaUJBQVksR0FBRyxJQUFJLE9BQU8sRUFBVyxDQUFDO1FBQ3RDLGlCQUFZLEdBQUcsSUFBSSxPQUFPLEVBQVcsQ0FBQztRQUN0QyxrQkFBYSxHQUFHLElBQUksT0FBTyxFQUFjLENBQUM7UUFFekMsV0FBTSxHQUFHLElBQUksQ0FBQyxZQUFZLENBQUMsWUFBWSxFQUFFLENBQUMsSUFBSSxDQUFDLG9CQUFvQixFQUFFLENBQUMs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J0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IGlzT2JzZXJ2YWJsZSwgT2JzZXJ2YWJsZSwgU3ViamVjdCwgU3Vic2NyaXB0aW9uIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBkaXN0aW5jdFVudGlsQ2hhbmdlZCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7XG4gIGNvbnRyb2xEaXNhYmxlZCQsXG4gIGNvbnRyb2xEaXNhYmxlZFdoaWxlLFxuICBjb250cm9sRW5hYmxlZCQsXG4gIGNvbnRyb2xFbmFibGVkV2hpbGUsXG4gIGNvbnRyb2xFcnJvckNoYW5nZXMkLFxuICBjb250cm9sU3RhdHVzQ2hhbmdlcyQsXG4gIGNvbnRyb2xWYWx1ZUNoYW5nZXMkLFxuICBkaXNhYmxlQ29udHJvbCxcbiAgZW5hYmxlQ29udHJvbCxcbiAgaGFzRXJyb3JBbmREaXJ0eSxcbiAgaGFzRXJyb3JBbmRUb3VjaGVkLFxuICBtZXJnZUNvbnRyb2xWYWxpZGF0b3JzLFxuICB2YWxpZGF0ZUNvbnRyb2xPblxufSBmcm9tICcuL2NvbnRyb2wtYWN0aW9ucyc7XG5pbXBvcnQge1xuICBBc3luY1ZhbGlkYXRvcixcbiAgQXN5bmNWYWxpZGF0b3JGbixcbiAgQ29udHJvbEV2ZW50T3B0aW9ucyxcbiAgQ29udHJvbE9wdGlvbnMsXG4gIENvbnRyb2xTdGF0ZSxcbiAgRW1pdEV2ZW50LFxuICBFeHRyYWN0U3RyaW5ncyxcbiAgT25seVNlbGYsXG4gIE9yQm94ZWRWYWx1ZSxcbiAgVXBkYXRlVmFsdWVBbmRWYWxpZGl0eU9wdGlvbnMsXG4gIFZhbGlkYXRvcixcbiAgVmFsaWRhdG9yRm4sXG4gIFZhbGlkYXRvck9yT3B0c1xufSBmcm9tICcuL3R5cGVzJztcbmltcG9ydCB7IGNvZXJjZUFycmF5LCBtZXJnZUVycm9ycywgcmVtb3ZlRXJyb3IgfSBmcm9tICcuL3V0aWxzJztcblxuZXhwb3J0IGNsYXNzIEZvcm1Db250cm9sPFQgPSBhbnksIEUgZXh0ZW5kcyBvYmplY3QgPSBhbnk+IGV4dGVuZHMgTmdGb3JtQ29udHJvbCB7XG4gIHJlYWRvbmx5IHZhbHVlOiBUO1xuICByZWFkb25seSBlcnJvcnM6IEUgfCBudWxsO1xuICByZWFkb25seSB2YWx1ZUNoYW5nZXM6IE9ic2VydmFibGU8VD47XG4gIHJlYWRvbmx5IHN0YXR1czogQ29udHJvbFN0YXRlO1xuICByZWFkb25seSBzdGF0dXNDaGFuZ2VzOiBPYnNlcnZhYmxlPENvbnRyb2xTdGF0ZT47XG5cbiAgcHJpdmF0ZSB0b3VjaENoYW5nZXMgPSBuZXcgU3ViamVjdDxib29sZWFuPigpO1xuICBwcml2YXRlIGRpcnR5Q2hhbmdlcyA9IG5ldyBTdWJqZWN0PGJvb2xlYW4+KCk7XG4gIHByaXZhdGUgZXJyb3JzU3ViamVjdCA9IG5ldyBTdWJqZWN0PFBhcnRpYWw8RT4+KCk7XG5cbiAgcmVhZG9ubHkgdG91Y2gkID0gdGhpcy50b3VjaENoYW5nZXMuYXNPYnNlcnZhYmxlKCkucGlwZShkaXN0aW5jdFVudGlsQ2hhbmdlZCgpKTtcbiAgcmVhZG9ubHkgZGlydHkkID0gdGhpcy5kaXJ0eUNoYW5nZXMuYXNPYnNlcnZhYmxlKCkucGlwZShkaXN0aW5jdFVudGlsQ2hhbmdlZCgpKTtcblxuICByZWFkb25seSB2YWx1ZSQgPSBjb250cm9sVmFsdWVDaGFuZ2VzJDxUPih0aGlzKTtcbiAgcmVhZG9ubHkgZGlzYWJsZWQkID0gY29udHJvbERpc2FibGVkJDxUPih0aGlzKTtcbiAgcmVhZG9ubHkgZW5hYmxlZCQgPSBjb250cm9sRW5hYmxlZCQ8VD4odGhpcyk7XG4gIHJlYWRvbmx5IHN0YXR1cyQgPSBjb250cm9sU3RhdHVzQ2hhbmdlcyQ8VD4odGhpcyk7XG4gIHJlYWRvbmx5IGVycm9ycyQgPSBjb250cm9sRXJyb3JDaGFuZ2VzJDxFPih0aGlzLCB0aGlzLmVycm9yc1N1YmplY3QuYXNPYnNlcnZhYmxlKCkpO1xuXG4gIGdldCBhc3luY1ZhbGlkYXRvcigpOiBBc3luY1ZhbGlkYXRvckZuPFQ+IHwgbnVsbCB7XG4gICAgcmV0dXJuIHN1cGVyLmFzeW5jVmFsaWRhdG9yO1xuICB9XG4gIHNldCBhc3luY1ZhbGlkYXRvcihhc3luY1ZhbGlkYXRvcjogQXN5bmNWYWxpZGF0b3JGbjxUPiB8IG51bGwpIHtcbiAgICBzdXBlci5hc3luY1ZhbGlkYXRvciA9IGFzeW5jVmFsaWRhdG9yO1xuICB9XG5cbiAgZ2V0IHZhbGlkYXRvcigpOiBWYWxpZGF0b3JGbjxUPiB8IG51bGwge1xuICAgIHJldHVybiBzdXBlci52YWxpZGF0b3I7XG4gIH1cbiAgc2V0IHZhbGlkYXRvcih2YWxpZGF0b3I6IFZhbGlkYXRvckZuPFQ+IHwgbnVsbCkge1xuICAgIHN1cGVyLnZhbGlkYXRvciA9IHZhbGlkYXRvcjtcbiAgfVxuXG4gIGNvbnN0cnVjdG9yKGZvcm1TdGF0ZT86IE9yQm94ZWRWYWx1ZTxUPiwgdmFsaWRhdG9yT3JPcHRzPzogVmFsaWRhdG9yT3JPcHRzLCBhc3luY1ZhbGlkYXRvcj86IEFzeW5jVmFsaWRhdG9yKSB7XG4gICAgc3VwZXIoZm9ybVN0YXRlLCB2YWxpZGF0b3JPck9wdHMsIGFzeW5jVmFsaWRhdG9yKTtcbiAgfVxuXG4gIHNldFZhbHVlKHZhbHVlT3JPYnNlcnZhYmxlOiBPYnNlcnZhYmxlPFQ+LCBvcHRpb25zPzogQ29udHJvbE9wdGlvbnMpOiBTdWJzY3JpcHRpb247XG4gIHNldFZhbHVlKHZhbHVlT3JPYnNlcnZhYmxlOiBULCBvcHRpb25zPzogQ29udHJvbE9wdGlvbnMpOiB2b2lkO1xuICBzZXRWYWx1ZSh2YWx1ZU9yT2JzZXJ2YWJsZTogYW55LCBvcHRpb25zPzogQ29udHJvbE9wdGlvbnMpOiBTdWJzY3JpcHRpb24gfCB2b2lkIHtcbiAgICBpZiAoaXNPYnNlcnZhYmxlKHZhbHVlT3JPYnNlcnZhYmxlKSkge1xuICAgICAgcmV0dXJuIHZhbHVlT3JPYnNlcnZhYmxlLnN1YnNjcmliZSh2YWx1ZSA9PiBzdXBlci5zZXRWYWx1ZSh2YWx1ZSwgb3B0aW9ucykpO1xuICAgIH1cblxuICAgIHN1cGVyLnNldFZhbHVlKHZhbHVlT3JPYnNlcnZhYmxlLCBvcHRpb25zKTtcbiAgfVxuXG4gIHBhdGNoVmFsdWUodmFsdWVPck9ic2VydmFibGU6IE9ic2VydmFibGU8VD4sIG9wdGlvbnM/OiBDb250cm9sT3B0aW9ucyk6IFN1YnNjcmlwdGlvbjtcbiAgcGF0Y2hWYWx1ZSh2YWx1ZU9yT2JzZXJ2YWJsZTogVCwgb3B0aW9ucz86IENvbnRyb2xPcHRpb25zKTogdm9pZDtcbiAgcGF0Y2hWYWx1ZSh2YWx1ZU9yT2JzZXJ2YWJsZTogYW55LCBvcHRpb25zPzogQ29udHJvbE9wdGlvbnMpOiBTdWJzY3JpcHRpb24gfCB2b2lkIHtcbiAgICBpZiAoaXNPYnNlcnZhYmxlKHZhbHVlT3JPYnNlcnZhYmxlKSkge1xuICAgICAgcmV0dXJuIHZhbHVlT3JPYnNlcnZhYmxlLnN1YnNjcmliZSh2YWx1ZSA9PiBzdXBlci5wYXRjaFZhbHVlKHZhbHVlLCBvcHRpb25zKSk7XG4gICAgfVxuXG4gICAgc3VwZXIucGF0Y2hWYWx1ZSh2YWx1ZU9yT2JzZXJ2YWJsZSwgb3B0aW9ucyk7XG4gIH1cblxuICBkaXNhYmxlZFdoaWxlKG9ic2VydmFibGU6IE9ic2VydmFibGU8Ym9vbGVhbj4sIG9wdGlvbnM/OiBDb250cm9sT3B0aW9ucykge1xuICAgIHJldHVybiBjb250cm9sRGlzYWJsZWRXaGlsZSh0aGlzLCBvYnNlcnZhYmxlLCBvcHRpb25zKTtcbiAgfVxuXG4gIGVuYWJsZWRXaGlsZShvYnNlcnZhYmxlOiBPYnNlcnZhYmxlPGJvb2xlYW4+LCBvcHRpb25zPzogQ29udHJvbE9wdGlvbnMpIHtcbiAgICByZXR1cm4gY29udHJvbEVuYWJsZWRXaGlsZSh0aGlzLCBvYnNlcnZhYmxlLCBvcHRpb25zKTtcbiAgfVxuXG4gIG1lcmdlVmFsaWRhdG9ycyh2YWxpZGF0b3JzOiBWYWxpZGF0b3IsIG9wdGlvbnM/OiBVcGRhdGVWYWx1ZUFuZFZhbGlkaXR5T3B0aW9ucykge1xuICAgIG1lcmdlQ29udHJvbFZhbGlkYXRvcnModGhpcywgdmFsaWRhdG9ycywgb3B0aW9ucyk7XG4gIH1cblxuICBtZXJnZUFzeW5jVmFsaWRhdG9ycyh2YWxpZGF0b3JzOiBBc3luY1ZhbGlkYXRvciwgb3B0aW9ucz86IFVwZGF0ZVZhbHVlQW5kVmFsaWRpdHlPcHRpb25zKSB7XG4gICAgdGhpcy5zZXRBc3luY1ZhbGlkYXRvcnMoW3RoaXMuYXN5bmNWYWxpZGF0b3IsIC4uLmNvZXJjZUFycmF5KHZhbGlkYXRvcnMpXSk7XG4gICAgdGhpcy51cGRhdGVWYWx1ZUFuZFZhbGlkaXR5KG9wdGlvbnMpO1xuICB9XG5cbiAgbWFya0FzVG91Y2hlZChvcHRzPzogT25seVNlbGYpOiB2b2lkIHtcbiAgICBzdXBlci5tYXJrQXNUb3VjaGVkKG9wdHMpO1xuICAgIHRoaXMudG91Y2hDaGFuZ2VzLm5leHQodHJ1ZSk7XG4gIH1cblxuICBtYXJrQXNVbnRvdWNoZWQob3B0cz86IE9ubHlTZWxmKTogdm9pZCB7XG4gICAgc3VwZXIubWFya0FzVW50b3VjaGVkKG9wdHMpO1xuICAgIHRoaXMudG91Y2hDaGFuZ2VzLm5leHQoZmFsc2UpO1xuICB9XG5cbiAgbWFya0FzUHJpc3RpbmUob3B0cz86IE9ubHlTZWxmKTogdm9pZCB7XG4gICAgc3VwZXIubWFya0FzUHJpc3RpbmUob3B0cyk7XG4gICAgdGhpcy5kaXJ0eUNoYW5nZXMubmV4dChmYWxzZSk7XG4gIH1cblxuICBtYXJrQXNEaXJ0eShvcHRzPzogT25seVNlbGYpOiB2b2lkIHtcbiAgICBzdXBlci5tYXJrQXNEaXJ0eShvcHRzKTtcbiAgICB0aGlzLmRpcnR5Q2hhbmdlcy5uZXh0KHRydWUpO1xuICB9XG5cbiAgbWFya0FsbEFzRGlydHkoKTogdm9pZCB7XG4gICAgdGhpcy5tYXJrQXNEaXJ0eSh7IG9ubHlTZWxmOiB0cnVlIH0pO1xuICB9XG5cbiAgcmVzZXQoZm9ybVN0YXRlPzogT3JCb3hlZFZhbHVlPFQ+LCBvcHRpb25zPzogQ29udHJvbEV2ZW50T3B0aW9ucyk6IHZvaWQge1xuICAgIHN1cGVyLnJlc2V0KGZvcm1TdGF0ZSwgb3B0aW9ucyk7XG4gIH1cblxuICBzZXRWYWxpZGF0b3JzKG5ld1ZhbGlkYXRvcjogVmFsaWRhdG9yLCBvcHRpb25zPzogVXBkYXRlVmFsdWVBbmRWYWxpZGl0eU9wdGlvbnMpOiB2b2lkIHtcbiAgICBzdXBlci5zZXRWYWxpZGF0b3JzKG5ld1ZhbGlkYXRvcik7XG4gICAgc3VwZXIudXBkYXRlVmFsdWVBbmRWYWxpZGl0eShvcHRpb25zKTtcbiAgfVxuXG4gIHNldEFzeW5jVmFsaWRhdG9ycyhuZXdWYWxpZGF0b3I6IEFzeW5jVmFsaWRhdG9yLCBvcHRpb25zPzogVXBkYXRlVmFsdWVBbmRWYWxpZGl0eU9wdGlvbnMpOiB2b2lkIHtcbiAgICBzdXBlci5zZXRBc3luY1ZhbGlkYXRvcnMobmV3VmFsaWRhdG9yKTtcbiAgICBzdXBlci51cGRhdGVWYWx1ZUFuZFZhbGlkaXR5KG9wdGlvbnMpO1xuICB9XG5cbiAgdmFsaWRhdGVPbihvYnNlcnZhYmxlVmFsaWRhdGlvbjogT2JzZXJ2YWJsZTxudWxsIHwgb2JqZWN0Pikge1xuICAgIHJldHVybiB2YWxpZGF0ZUNvbnRyb2xPbih0aGlzLCBvYnNlcnZhYmxlVmFsaWRhdGlvbik7XG4gIH1cblxuICBnZXRFcnJvcjxLIGV4dGVuZHMgRXh0cmFjdFN0cmluZ3M8RT4+KGVycm9yQ29kZTogSyk6IEVbS10gfCBudWxsIHtcbiAgICByZXR1cm4gc3VwZXIuZ2V0RXJyb3IoZXJyb3JDb2RlKSBhcyBFW0tdIHwgbnVsbDtcbiAgfVxuXG4gIGhhc0Vycm9yPEsgZXh0ZW5kcyBFeHRyYWN0U3RyaW5nczxFPj4oZXJyb3JDb2RlOiBLKSB7XG4gICAgcmV0dXJuIHN1cGVyLmhhc0Vycm9yKGVycm9yQ29kZSk7XG4gIH1cblxuICBzZXRFcnJvcnMoZXJyb3JzOiBQYXJ0aWFsPEU+IHwgbnVsbCwgb3B0czogRW1pdEV2ZW50ID0ge30pIHtcbiAgICB0aGlzLmVycm9yc1N1YmplY3QubmV4dChlcnJvcnMpO1xuICAgIHJldHVybiBzdXBlci5zZXRFcnJvcnMoZXJyb3JzLCBvcHRzKTtcbiAgfVxuXG4gIG1lcmdlRXJyb3JzKGVycm9yczogUGFydGlhbDxFPiwgb3B0czogRW1pdEV2ZW50ID0ge30pOiB2b2lkIHtcbiAgICB0aGlzLnNldEVycm9ycyhtZXJnZUVycm9yczxFPih0aGlzLmVycm9ycywgZXJyb3JzKSwgb3B0cyk7XG4gIH1cblxuICByZW1vdmVFcnJvcihrZXk6IGtleW9mIEUsIG9wdHM6IEVtaXRFdmVudCA9IHt9KTogdm9pZCB7XG4gICAgdGhpcy5zZXRFcnJvcnMocmVtb3ZlRXJyb3I8RT4odGhpcy5lcnJvcnMsIGtleSksIG9wdHMpO1xuICB9XG5cbiAgaGFzRXJyb3JBbmRUb3VjaGVkKGVycm9yOiBFeHRyYWN0U3RyaW5nczxFPik6IGJvb2xlYW4ge1xuICAgIHJldHVybiBoYXNFcnJvckFuZFRvdWNoZWQodGhpcywgZXJyb3IpO1xuICB9XG5cbiAgaGFzRXJyb3JBbmREaXJ0eShlcnJvcjogRXh0cmFjdFN0cmluZ3M8RT4pOiBib29sZWFuIHtcbiAgICByZXR1cm4gaGFzRXJyb3JBbmREaXJ0eSh0aGlzLCBlcnJvcik7XG4gIH1cblxuICBzZXRFbmFibGUoZW5hYmxlID0gdHJ1ZSwgb3B0cz86IENvbnRyb2xFdmVudE9wdGlvbnMpIHtcbiAgICBlbmFibGVDb250cm9sKHRoaXMsIGVuYWJsZSwgb3B0cyk7XG4gIH1cblxuICBzZXREaXNhYmxlKGRpc2FibGUgPSB0cnVlLCBvcHRzPzogQ29udHJvbEV2ZW50T3B0aW9ucykge1xuICAgIGRpc2FibGVDb250cm9sKHRoaXMsIGRpc2FibGUsIG9wdHMpO1xuICB9XG59XG4iXX0=

@@ -144,7 +144,8 @@ import { FormGroup as NgFormGroup } from '@angular/forms';

}
persist(key, { debounceTime, manager, arrControlFactory }) {
persist(key, { debounceTime, manager, arrControlFactory, persistDisabledControls }) {
const persistManager = manager || new LocalStorageManager();
return this.restore(key, persistManager, arrControlFactory).pipe(switchMap(() => persistValue$(this, key, {
debounceTime: debounceTime || 250,
manager: persistManager
manager: persistManager,
persistDisabledControls
})));

@@ -161,2 +162,2 @@ }

}
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybUdyb3VwLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmduZWF0L3JlYWN0aXZlLWZvcm1zL3NyYy9saWIvZm9ybUdyb3VwLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLElBQUksV0FBVyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDMUQsT0FBTyxFQUFFLFlBQVksRUFBYyxPQUFPLEVBQWdCLE1BQU0sTUFBTSxDQUFDO0FBQ3ZFLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxTQUFTLEVBQUUsSUFBSSxFQUFFLEdBQUcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQzVFLE9BQU8sRUFDTCxnQkFBZ0IsRUFDaEIsb0JBQW9CLEVBQ3BCLGVBQWUsRUFDZixtQkFBbUIsRUFDbkIsb0JBQW9CLEVBQ3BCLHFCQUFxQixFQUNyQixvQkFBb0IsRUFDcEIsY0FBYyxFQUNkLGFBQWEsRUFDYixnQkFBZ0IsRUFDaEIsZ0JBQWdCLEVBQ2hCLGtCQUFrQixFQUNsQixZQUFZLEVBQ1osc0JBQXNCLEVBQ3RCLGFBQWEsRUFDYixtQkFBbUIsRUFDbkIsaUJBQWlCLEVBQ2xCLE1BQU0sbUJBQW1CLENBQUM7QUFDM0IsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUF1QjVELE9BQU8sRUFBRSxXQUFXLEVBQUUsV0FBVyxFQUFFLFdBQVcsRUFBRSxrQkFBa0IsRUFBRSxNQUFNLFNBQVMsQ0FBQztBQUdwRixNQUFNLE9BQU8sU0FBdUQsU0FBUSxXQUFXO0lBa0NyRixZQUNTLFFBQStCLEVBQ3RDLGVBQWlDLEVBQ2pDLGNBQStCO1FBRS9CLEtBQUssQ0FBQyxRQUFRLEVBQUUsZUFBZSxFQUFFLGNBQWMsQ0FBQyxDQUFDO1FBSjFDLGFBQVEsR0FBUixRQUFRLENBQXVCO1FBNUJoQyxpQkFBWSxHQUFHLElBQUksT0FBTyxFQUFXLENBQUM7UUFDdEMsaUJBQVksR0FBRyxJ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QUFPLElBQUksQ0FBQyxPQUFPLENBQUMsR0FBRyxFQUFFLGNBQWMsRUFBRSxpQkFBaUIsQ0FBQyxDQUFDLElBQUksQ0FDOUQsU0FBUyxDQUFDLEdBQUcsRUFBRSxDQUNiLGFBQWEsQ0FBQyxJQUFJLEVBQUUsR0FBRyxFQUFFO1lBQ3ZCLFlBQVksRUFBRSxZQUFZLElBQUksR0FBRztZQUNqQyxPQUFPLEVBQUUsY0FBYztTQUN4QixDQUFDLENBQ0gsQ0FDRixDQUFDO0lBQ0osQ0FBQztJQUVPLE9BQU8sQ0FBQyxHQUFXLEVBQUUsT0FBMEIsRUFBRSxpQkFBdUM7UUFDOUYsT0FBTyxrQkFBa0IsQ0FBQyxPQUFPLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUNuRCxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQ1AsR0FBRyxDQUFDLEtBQUssQ0FBQyxFQUFFO1lBQ1YsSUFBSSxDQUFDLEtBQUs7Z0JBQUUsT0FBTztZQUNuQixnQkFBZ0IsQ0FBQyxJQUFJLEVBQUUsS0FBSyxFQUFFLGlCQUFpQixDQUFDLENBQUM7WUFDakQsSUFBSSxDQUFDLFVBQVUsQ0FBQyxLQUFLLEVBQUUsRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLENBQUMsQ0FBQztRQUMvQyxDQUFDLENBQUMsQ0FDSCxDQUFDO0lBQ0osQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRm9ybUdyb3VwIGFzIE5nRm9ybUdyb3VwIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgaXNPYnNlcnZhYmxlLCBPYnNlcnZhYmxlLCBTdWJqZWN0LCBTdWJzY3JpcHRpb24gfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IGRpc3RpbmN0VW50aWxDaGFuZ2VkLCBzd2l0Y2hNYXAsIHRha2UsIHRhcCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7XG4gIGNvbnRyb2xEaXNhYmxlZCQsXG4gIGNvbnRyb2xEaXNhYmxlZFdoaWxlLFxuICBjb250cm9sRW5hYmxlZCQsXG4gIGNvbnRyb2xFbmFibGVkV2hpbGUsXG4gIGNvbnRyb2xFcnJvckNoYW5nZXMkLFxuICBjb250cm9sU3RhdHVzQ2hhbmdlcyQsXG4gIGNvbnRyb2xWYWx1ZUNoYW5nZXMkLFxuICBkaXNhYmxlQ29udHJvbCxcbiAgZW5hYmxlQ29udHJvbCxcbiAgaGFuZGxlRm9ybUFycmF5cyxcbiAgaGFzRXJyb3JBbmREaXJ0eSxcbiAgaGFzRXJyb3JBbmRUb3VjaGVkLFxuICBtYXJrQWxsRGlydHksXG4gIG1lcmdlQ29udHJvbFZhbGlkYXRvcnMsXG4gIHBlcnNpc3RWYWx1ZSQsXG4gIHNlbGVjdENvbnRyb2xWYWx1ZSQsXG4gIHZhbGlkYXRlQ29udHJvbE9uXG59IGZyb20gJy4vY29udHJvbC1hY3Rpb25zJztcbmltcG9ydCB7IExvY2FsU3RvcmFnZU1hbmFnZXIgfSBmcm9tICcuL2xvY2FsU3RvcmFnZU1hbmFnZXInO1xuaW1wb3J0IHsgUGVyc2lzdE1hbmFnZXIgfSBmcm9tICcuL3BlcnNpc3RNYW5hZ2VyJztcbmltcG9ydCB7XG4gIEFic3RyYWN0Q29udHJvbCxcbiAgQXN5bmNWYWxpZGF0b3IsXG4gIEFzeW5jVmFsaWRhdG9yRm4sXG4gIENvbnRyb2xFdmVudE9wdGlvbnMsXG4gIENvbnRyb2xGYWN0b3J5TWFwLFxuICBDb250cm9sT3B0aW9ucyxcbiAgQ29udHJvbFN0YXRlLFxuICBFbWl0RXZlbnQsXG4gIEV4dHJhY3RTdHJpbmdzLFxuICBPYmosXG4gIE9ubHlTZWxmLFxuICBWYWxpZGF0b3IsXG4gIFZhbGlkYXRvck9yT3B0cyxcbiAgQ29udHJvbHNWYWx1ZSxcbiAgQWJzdHJhY3RDb250cm9sc09mLFxuICBQZXJzaXN0T3B0aW9ucyxcbiAgVmFsaWRhdG9yRm4sXG4gIERlZXBQYXJ0aWFsLFxuICBVcGRhdGVWYWx1ZUFuZFZhbGlkaXR5T3B0aW9uc1xufSBmcm9tICcuL3R5cGVzJztcbmltcG9ydCB7IGNvZXJjZUFycmF5LCBtZXJnZUVycm9ycywgcmVtb3ZlRXJyb3IsIHdyYXBJbnRvT2JzZXJ2YWJsZSB9IGZyb20gJy4vdXRpbHMnO1xuaW1wb3J0IHsgRm9ybUFycmF5IH0gZnJvbSAnLi9mb3JtQXJyYXknO1xuXG5leHBvcnQgY2xhc3MgRm9ybUdyb3VwPFQgZXh0ZW5kcyBPYmogPSBhbnksIEUgZXh0ZW5kcyBvYmplY3QgPSBhbnk+IGV4dGVuZHMgTmdGb3JtR3JvdXAge1xuICByZWFkb25seSB2YWx1ZTogQ29udHJvbHNWYWx1ZTxUPjtcbiAgcmVhZG9ubHkgZXJyb3JzOiBFIHwgbnVsbDtcbiAgcmVhZG9ubHkgdmFsdWVDaGFuZ2VzOiBPYnNlcnZhYmxlPENvbnRyb2xzVmFsdWU8VD4+O1xuICByZWFkb25seSBzdGF0dXM6IENvbnRyb2xTdGF0ZTtcbiAgcmVhZG9ubHkgc3RhdHVzQ2hhbmdlczogT2JzZXJ2YWJsZTxDb250cm9sU3RhdGU+O1xuXG4gIHByaXZhdGUgdG91Y2hDaGFuZ2VzID0gbmV3IFN1YmplY3Q8Ym9vbGVhbj4oKTtcbiAgcHJpdmF0ZSBkaXJ0eUNoYW5nZXMgPSBuZXcgU3ViamVjdDxib29sZWFuPigpO1xuICBwcml2YXRlIGVycm9yc1N1YmplY3QgPSBuZXcgU3ViamVjdDxQYXJ0aWFsPEU+PigpO1xuXG4gIHJlYWRvbmx5IHRvdWNoJCA9IHRoaXMudG91Y2hDaGFuZ2VzLmFzT2JzZXJ2YWJsZSgpLnBpcGUoZGlzdGluY3RVbnRpbENoYW5nZWQoKSk7XG4gIHJlYWRvbmx5IGRpcnR5JCA9IHRoaXMuZGlydHlDaGFuZ2VzLmFzT2JzZXJ2YWJsZSgpLnBpcGUoZGlzdGluY3RVbnRpbENoYW5nZWQoKSk7XG5cbiAgcmVhZG9ubHkgdmFsdWUkID0gY29udHJvbFZhbHVlQ2hhbmdlcyQ8Q29udHJvbHNWYWx1ZTxUPj4odGhpcyk7XG4gIHJlYWRvbmx5IGRpc2FibGVkJCA9IGNvbnRyb2xEaXNhYmxlZCQ8Q29udHJvbHNWYWx1ZTxUPj4odGhpcyk7XG4gIHJlYWRvbmx5IGVuYWJsZWQkID0gY29udHJvbEVuYWJsZWQkPENvbnRyb2xzVmFsdWU8VD4+KHRoaXMpO1xuICByZWFkb25seSBzdGF0dXMkID0gY29udHJvbFN0YXR1c0NoYW5nZXMkPENvbnRyb2xzVmFsdWU8VD4+KHRoaXMpO1xuICByZWFkb25seSBlcnJvcnMkID0gY29udHJvbEVycm9yQ2hhbmdlcyQ8RT4odGhpcywgdGhpcy5lcnJvcnNTdWJqZWN0LmFzT2JzZXJ2YWJsZSgpKTtcblxuICBnZXQgYXN5bmNWYWxpZGF0b3IoKTogQXN5bmNWYWxpZGF0b3JGbjxUPiB8IG51bGwge1xuICAgIHJldHVybiBzdXBlci5hc3luY1ZhbGlkYXRvcjtcbiAgfVxuICBzZXQgYXN5bmNWYWxpZGF0b3IoYXN5bmNWYWxpZGF0b3I6IEFzeW5jVmFsaWRhdG9yRm48VD4gfCBudWxsKSB7XG4gICAgc3VwZXIuYXN5bmNWYWxpZGF0b3IgPSBhc3luY1ZhbGlkYXRvcjtcbiAgfVxuXG4gIGdldCB2YWxpZGF0b3IoKTogVmFsaWRhdG9yRm48VD4gfCBudWxsIHtcbiAgICByZXR1cm4gc3VwZXIudmFsaWRhdG9yO1xuICB9XG4gIHNldCB2YWxpZGF0b3IodmFsaWRhdG9yOiBWYWxpZGF0b3JGbjxUPiB8IG51bGwpIHtcbiAgICBzdXBlci52YWxpZGF0b3IgPSB2YWxpZGF0b3I7XG4gIH1cblxuICBjb25zdHJ1Y3RvcihcbiAgICBwdWJsaWMgY29udHJvbHM6IEFic3RyYWN0Q29udHJvbHNPZjxUPixcbiAgICB2YWxpZGF0b3JPck9wdHM/OiBWYWxpZGF0b3JPck9wdHMsXG4gICAgYXN5bmNWYWxpZGF0b3I/OiBBc3luY1ZhbGlkYXRvclxuICApIHtcbiAgICBzdXBlcihjb250cm9scywgdmFsaWRhdG9yT3JPcHRzLCBhc3luY1ZhbGlkYXRvcik7XG4gIH1cblxuICBzZWxlY3Q8Uj4obWFwRm46IChzdGF0ZTogQ29udHJvbHNWYWx1ZTxUPikgPT4gUik6IE9ic2VydmFibGU8Uj4ge1xuICAgIHJldHVybiBzZWxlY3RDb250cm9sVmFsdWUkKHRoaXMsIG1hcEZuKTtcbiAgfVxuXG4gIGdldFJhd1ZhbHVlKCk6IENvbnRyb2xzVmFsdWU8VD4ge1xuICAgIHJldHVybiBzdXBlci5nZXRSYXdWYWx1ZSgpO1xuICB9XG5cbiAgZ2V0PEsxIGV4dGVuZHMga2V5b2YgQ29udHJvbHNWYWx1ZTxUPj4ocGF0aD86IFtLMV0pOiBBYnN0cmFjdENvbnRyb2xzT2Y8VD5bSzFdO1xuICBnZXQ8XG4gICAgSzEgZXh0ZW5kcyBrZXlvZiBDb250cm9sc1ZhbHVlPFQ+LFxuICAgIEsyIGV4dGVuZHMgQWJzdHJhY3RDb250cm9sc09mPFQ+W0sxXSBleHRlbmRzIEZvcm1Hcm91cCB8IEZvcm1BcnJheVxuICAgICAgPyBrZXlvZiBBYnN0cmFjdENvbnRyb2xzT2Y8VD5bSzFdWydjb250cm9scyddXG4gICAgICA6IG5ldmVyXG4gID4oXG4gICAgcGF0aD86IFtLMSwgSzJdXG4gICk6IEFic3RyYWN0Q29udHJvbHNPZjxUPltLMV0gZXh0ZW5kcyBGb3JtR3JvdXAgfCBGb3JtQXJyYXkgPyBBYnN0cmFjdENvbnRyb2xzT2Y8VD5bSzFdWydjb250cm9scyddW0syXSA6IG5ldmVyO1xuICBnZXQ8SzEgZXh0ZW5kcyBrZXlvZiBDb250cm9sc1ZhbHVlPFQ+LCBLMiBleHRlbmRzIGtleW9mIENvbnRyb2xzVmFsdWU8VD5bSzFdPihcbiAgICBwYXRoPzogW0sxLCBLMl1cbiAgKTogQWJzdHJhY3RDb250cm9sPENvbnRyb2xzVmFsdWU8VD5bSzFdW0syXT47XG4gIGdldDxcbiAgICBLMSBleHRlbmRzIGtleW9mIENvbnRyb2xzVmFsdWU8VD4sXG4gICAgSzIgZXh0ZW5kcyBrZXlvZiBDb250cm9sc1ZhbHVlPFQ+W0sxXSxcbiAgICBLMyBleHRlbmRzIGtleW9mIENvbnRyb2xzVmFsdWU8VD5bSzFdW0syXVxuICA+KHBhdGg/OiBbSzEsIEsyLCBLM10pOiBBYnN0cmFjdENvbnRyb2w8Q29udHJvbHNWYWx1ZTxUPltLMV1bSzJdW0szXT47XG4gIGdldChwYXRoPzogQXJyYXk8c3RyaW5nIHwgbnVtYmVyPiB8IHN0cmluZyk6IEFic3RyYWN0Q29udHJvbDtcbiAgZ2V0KHBhdGg6IEFycmF5PHN0cmluZyB8IG51bWJlcj4gfCBzdHJpbmcpIHtcbiAgICByZXR1cm4gc3VwZXIuZ2V0KHBhdGgpO1xuICB9XG5cbiAgZ2V0Q29udHJvbDxQMSBleHRlbmRzIGtleW9mIENvbnRyb2xzVmFsdWU8VD4+KHBhdGg/OiBQMSk6IEFic3RyYWN0Q29udHJvbHNPZjxUPltQMV07XG4gIGdldENvbnRyb2w8XG4gICAgUDEgZXh0ZW5kcyBrZXlvZiBDb250cm9sc1ZhbHVlPFQ+LFxuICAgIFAyIGV4dGVuZHMgQWJzdHJhY3RDb250cm9sc09mPFQ+W1AxXSBleHRlbmRzIEZvcm1Hcm91cCB8IEZvcm1BcnJheVxuICAgICAgPyBrZXlvZiBBYnN0cmFjdENvbnRyb2xzT2Y8VD5bUDFdWydjb250cm9scyddXG4gICAgICA6IG5ldmVyXG4gID4oXG4gICAgcHJvcDE6IFAxLFxuICAgIHByb3AyOiBQMlxuICApOiBBYnN0cmFjdENvbnRyb2xzT2Y8VD5bUDFdIGV4dGVuZHMgRm9ybUdyb3VwIHwgRm9ybUFycmF5ID8gQWJzdHJhY3RDb250cm9sc09mPFQ+W1AxXVsnY29udHJvbHMnXVtQMl0gOiBuZXZlcjtcbiAgZ2V0Q29udHJvbDxQMSBleHRlbmRzIGtleW9mIENvbnRyb2xzVmFsdWU8VD4sIFAyIGV4dGVuZHMga2V5b2YgQ29udHJvbHNWYWx1ZTxUPltQMV0+KFxuICAgIHByb3AxOiBQMSxcbiAgICBwcm9wMjogUDJcbiAgKTogQWJzdHJhY3RDb250cm9sPENvbnRyb2xzVmFsdWU8VD5bUDFdW1AyXT47XG4gIGdldENvbnRyb2w8XG4gICAgUDEgZXh0ZW5kcyBrZXlvZiBDb250cm9sc1ZhbHVlPFQ+LFxuICAgIFAyIGV4dGVuZHMga2V5b2YgQ29udHJvbHNWYWx1ZTxUPltQMV0sXG4gICAgUDMgZXh0ZW5kcyBrZXlvZiBDb250cm9sc1ZhbHVlPFQ+W1AxXVtQMl1cbiAgPihwcm9wMTogUDEsIHByb3AyOiBQMiwgcHJvcDM6IFAzKTogQWJzdHJhY3RDb250cm9sPENvbnRyb2xzVmFsdWU8VD5bUDFdW1AyXVtQM10+O1xuICBnZXRDb250cm9sKHBhdGg/OiBzdHJpbmcpOiBBYnN0cmFjdENvbnRyb2w7XG4gIGdldENvbnRyb2woLi4ubmFtZXM6IEFycmF5PHN0cmluZyB8IG51bWJlcj4pOiBBYnN0cmFjdENvbnRyb2w8YW55PiB7XG4gICAgcmV0dXJuIHRoaXMuZ2V0KG5hbWVzKTtcbiAgfVxuXG4gIGFkZENvbnRyb2w8SyBleHRlbmRzIEV4dHJhY3RTdHJpbmdzPFQ+PihuYW1lOiBLLCBjb250cm9sOiBBYnN0cmFjdENvbnRyb2xzT2Y8VD5bS10pOiB2b2lkIHtcbiAgICBzdXBlci5hZGRDb250cm9sKG5hbWUsIGNvbnRyb2wpO1xuICB9XG5cbiAgcmVtb3ZlQ29udHJvbChuYW1lOiBFeHRyYWN0U3RyaW5nczxUPik6IHZvaWQge1xuICAgIHN1cGVyLnJlbW92ZUNvbnRyb2wobmFtZSk7XG4gIH1cblxuICBjb250YWlucyhjb250cm9sTmFtZTogRXh0cmFjdFN0cmluZ3M8VD4pOiBib29sZWFuIHtcbiAgICByZXR1cm4gc3VwZXIuY29udGFpbnMoY29udHJvbE5hbWUpO1xuICB9XG5cbiAgc2V0Q29udHJvbDxLIGV4dGVuZHMgRXh0cmFjdFN0cmluZ3M8VD4+KG5hbWU6IEssIGNvbnRyb2w6IEFic3RyYWN0Q29udHJvbHNPZjxUPltLXSk6IHZvaWQge1xuICAgIHN1cGVyLnNldENvbnRyb2wobmFtZSwgY29udHJvbCk7XG4gIH1cblxuICBzZXRWYWx1ZSh2YWx1ZU9yT2JzZXJ2YWJsZTogT2JzZXJ2YWJsZTxDb250cm9sc1ZhbHVlPFQ+Piwgb3B0aW9ucz86IENvbnRyb2xFdmVudE9wdGlvbnMpOiBTdWJzY3JpcHRpb247XG4gIHNldFZhbHVlKHZhbHVlT3JPYnNlcnZhYmxlOiBDb250cm9sc1ZhbHVlPFQ+LCBvcHRpb25zPzogQ29udHJvbEV2ZW50T3B0aW9ucyk6IHZvaWQ7XG4gIHNldFZhbHVlKHZhbHVlT3JPYnNlcnZhYmxlOiBhbnksIG9wdGlvbnM/OiBDb250cm9sRXZlbnRPcHRpb25zKTogYW55IHtcbiAgICBpZiAoaXNPYnNlcnZhYmxlKHZhbHVlT3JPYnNlcnZhYmxlKSkge1xuICAgICAgcmV0dXJuIHZhbHVlT3JPYnNlcnZhYmxlLnN1YnNjcmliZSh2YWx1ZSA9PiBzdXBlci5zZXRWYWx1ZSh2YWx1ZSwgb3B0aW9ucykpO1xuICAgIH1cblxuICAgIHN1cGVyLnNldFZhbHVlKHZhbHVlT3JPYnNlcnZhYmxlLCBvcHRpb25zKTtcbiAgfVxuXG4gIHBhdGNoVmFsdWUodmFsdWVPck9ic2VydmFibGU6IE9ic2VydmFibGU8RGVlcFBhcnRpYWw8Q29udHJvbHNWYWx1ZTxUPj4+LCBvcHRpb25zPzogQ29udHJvbEV2ZW50T3B0aW9ucyk6IFN1YnNjcmlwdGlvbjtcbiAgcGF0Y2hWYWx1ZSh2YWx1ZU9yT2JzZXJ2YWJsZTogRGVlcFBhcnRpYWw8Q29udHJvbHNWYWx1ZTxUPj4sIG9wdGlvbnM/OiBDb250cm9sRXZlbnRPcHRpb25zKTogdm9pZDtcbiAgcGF0Y2hWYWx1ZSh2YWx1ZU9yT2JzZXJ2YWJsZTogYW55LCBvcHRpb25zPzogQ29udHJvbEV2ZW50T3B0aW9ucyk6IFN1YnNjcmlwdGlvbiB8IHZvaWQge1xuICAgIGlmIChpc09ic2VydmFibGUodmFsdWVPck9ic2VydmFibGUpKSB7XG4gICAgICByZXR1cm4gdmFsdWVPck9ic2VydmFibGUuc3Vic2NyaWJlKHZhbHVlID0+IHN1cGVyLnBhdGNoVmFsdWUodmFsdWUsIG9wdGlvbnMpKTtcbiAgICB9XG5cbiAgICBzdXBlci5wYXRjaFZhbHVlKHZhbHVlT3JPYnNlcnZhYmxlLCBvcHRpb25zKTtcbiAgfVxuXG4gIGRpc2FibGVkV2hpbGUob2JzZXJ2YWJsZTogT2JzZXJ2YWJsZTxib29sZWFuPiwgb3B0aW9ucz86IENvbnRyb2xPcHRpb25zKSB7XG4gICAgcmV0dXJuIGNvbnRyb2xEaXNhYmxlZFdoaWxlKHRoaXMsIG9ic2VydmFibGUsIG9wdGlvbnMpO1xuICB9XG5cbiAgZW5hYmxlZFdoaWxlKG9ic2VydmFibGU6IE9ic2VydmFibGU8Ym9vbGVhbj4sIG9wdGlvbnM/OiBDb250cm9sT3B0aW9ucykge1xuICAgIHJldHVybiBjb250cm9sRW5hYmxlZFdoaWxlKHRoaXMsIG9ic2VydmFibGUsIG9wdGlvbnMpO1xuICB9XG5cbiAgbWVyZ2VWYWxpZGF0b3JzKHZhbGlkYXRvcnM6IFZhbGlkYXRvciwgb3B0aW9ucz86IFVwZGF0ZVZhbHVlQW5kVmFsaWRpdHlPcHRpb25zKSB7XG4gICAgbWVyZ2VDb250cm9sVmFsaWRhdG9ycyh0aGlzLCB2YWxpZGF0b3JzLCBvcHRpb25zKTtcbiAgfVxuXG4gIG1lcmdlQXN5bmNWYWxpZGF0b3JzKHZhbGlkYXRvcnM6IEFzeW5jVmFsaWRhdG9yLCBvcHRpb25zPzogVXBkYXRlVmFsdWVBbmRWYWxpZGl0eU9wdGlvbnMpIHtcbiAgICB0aGlzLnNldEFzeW5jVmFsaWRhdG9ycyhbdGhpcy5hc3luY1ZhbGlkYXRvciwgLi4uY29lcmNlQXJyYXkodmFsaWRhdG9ycyldKTtcbiAgICB0aGlzLnVwZGF0ZVZhbHVlQW5kVmFsaWRpdHkob3B0aW9ucyk7XG4gIH1cblxuICBtYXJrQXNUb3VjaGVkKG9wdHM/OiBPbmx5U2VsZik6IHZvaWQge1xuICAgIHN1cGVyLm1hcmtBc1RvdWNoZWQob3B0cyk7XG4gICAgdGhpcy50b3VjaENoYW5nZXMubmV4dCh0cnVlKTtcbiAgfVxuXG4gIG1hcmtBc1VudG91Y2hlZChvcHRzPzogT25seVNlbGYpOiB2b2lkIHtcbiAgICBzdXBlci5tYXJrQXNVbnRvdWNoZWQob3B0cyk7XG4gICAgdGhpcy50b3VjaENoYW5nZXMubmV4dChmYWxzZSk7XG4gIH1cblxuICBtYXJrQXNQcmlzdGluZShvcHRzPzogT25seVNlbGYpOiB2b2lkIHtcbiAgICBzdXBlci5tYXJrQXNQcmlzdGluZShvcHRzKTtcbiAgICB0aGlzLmRpcnR5Q2hhbmdlcy5uZXh0KGZhbHNlKTtcbiAgfVxuXG4gIG1hcmtBc0RpcnR5KG9wdHM/OiBPbmx5U2VsZik6IHZvaWQge1xuICAgIHN1cGVyLm1hcmtBc0RpcnR5KG9wdHMpO1xuICAgIHRoaXMuZGlydHlDaGFuZ2VzLm5leHQodHJ1ZSk7XG4gIH1cblxuICBtYXJrQWxsQXNEaXJ0eSgpOiB2b2lkIHtcbiAgICBtYXJrQWxsRGlydHkodGhpcyk7XG4gIH1cblxuICByZXNldChmb3JtU3RhdGU/OiBEZWVwUGFydGlhbDxDb250cm9sc1ZhbHVlPFQ+Piwgb3B0aW9ucz86IENvbnRyb2xFdmVudE9wdGlvbnMpOiB2b2lkIHtcbiAgICBzdXBlci5yZXNldChmb3JtU3RhdGUsIG9wdGlvbnMpO1xuICB9XG5cbiAgc2V0VmFsaWRhdG9ycyhuZXdWYWxpZGF0b3I6IFZhbGlkYXRvciwgb3B0aW9ucz86IFVwZGF0ZVZhbHVlQW5kVmFsaWRpdHlPcHRpb25zKTogdm9pZCB7XG4gICAgc3VwZXIuc2V0VmFsaWRhdG9ycyhuZXdWYWxpZGF0b3IpO1xuICAgIHN1cGVyLnVwZGF0ZVZhbHVlQW5kVmFsaWRpdHkob3B0aW9ucyk7XG4gIH1cblxuICBzZXRBc3luY1ZhbGlkYXRvcnMobmV3VmFsaWRhdG9yOiBBc3luY1ZhbGlkYXRvciwgb3B0aW9ucz86IFVwZGF0ZVZhbHVlQW5kVmFsaWRpdHlPcHRpb25zKTogdm9pZCB7XG4gICAgc3VwZXIuc2V0QXN5bmNWYWxpZGF0b3JzKG5ld1ZhbGlkYXRvcik7XG4gICAgc3VwZXIudXBkYXRlVmFsdWVBbmRWYWxpZGl0eShvcHRpb25zKTtcbiAgfVxuXG4gIHZhbGlkYXRlT24ob2JzZXJ2YWJsZVZhbGlkYXRpb246IE9ic2VydmFibGU8bnVsbCB8IG9iamVjdD4pIHtcbiAgICByZXR1cm4gdmFsaWRhdGVDb250cm9sT24odGhpcywgb2JzZXJ2YWJsZVZhbGlkYXRpb24pO1xuICB9XG5cbiAgaGFzRXJyb3I8SzEgZXh0ZW5kcyBrZXlvZiBDb250cm9sc1ZhbHVlPFQ+PihlcnJvckNvZGU6IEV4dHJhY3RTdHJpbmdzPEU+LCBwYXRoPzogW0sxXSk6IGJvb2xlYW47XG4gIGhhc0Vycm9yPEsxIGV4dGVuZHMga2V5b2YgQ29udHJvbHNWYWx1ZTxUPiwgSzIgZXh0ZW5kcyBrZXlvZiBDb250cm9sc1ZhbHVlPFQ+W0sxXT4oXG4gICAgZXJyb3JDb2RlOiBFeHRyYWN0U3RyaW5nczxFPixcbiAgICBwYXRoPzogW0sxLCBLMl1cbiAgKTogYm9vbGVhbjtcbiAgaGFzRXJyb3I8XG4gICAgSzEgZXh0ZW5kcyBrZXlvZiBDb250cm9sc1ZhbHVlPFQ+LFxuICAgIEsyIGV4dGVuZHMga2V5b2YgQ29udHJvbHNWYWx1ZTxUPltLMV0sXG4gICAgSzMgZXh0ZW5kcyBrZXlvZiBDb250cm9sc1ZhbHVlPFQ+W0sxXVtLMl1cbiAgPihlcnJvckNvZGU6IEV4dHJhY3RTdHJpbmdzPEU+LCBwYXRoPzogW0sxLCBLMiwgSzNdKTogYm9vbGVhbjtcbiAgaGFzRXJyb3IoZXJyb3JDb2RlOiBFeHRyYWN0U3RyaW5nczxFPiwgcGF0aD86IHN0cmluZyk6IGJvb2xlYW47XG4gIGhhc0Vycm9yKGVycm9yQ29kZTogRXh0cmFjdFN0cmluZ3M8RT4sIHBhdGg/OiBhbnkpOiBib29sZWFuIHtcbiAgICByZXR1cm4gc3VwZXIuaGFzRXJyb3IoZXJyb3JDb2RlLCBwYXRoKTtcbiAgfVxuXG4gIHNldEVycm9ycyhlcnJvcnM6IFBhcnRpYWw8RT4gfCBudWxsLCBvcHRzOiBFbWl0RXZlbnQgPSB7fSkge1xuICAgIHRoaXMuZXJyb3JzU3ViamVjdC5uZXh0KGVycm9ycyk7XG4gICAgcmV0dXJuIHN1cGVyLnNldEVycm9ycyhlcnJvcnMsIG9wdHMpO1xuICB9XG5cbiAgbWVyZ2VFcnJvcnMoZXJyb3JzOiBQYXJ0aWFsPEU+LCBvcHRzOiBFbWl0RXZlbnQgPSB7fSk6IHZvaWQge1xuICAgIHRoaXMuc2V0RXJyb3JzKG1lcmdlRXJyb3JzPEU+KHRoaXMuZXJyb3JzLCBlcnJvcnMpLCBvcHRzKTtcbiAgfVxuXG4gIHJlbW92ZUVycm9yKGtleToga2V5b2YgRSwgb3B0czogRW1pdEV2ZW50ID0ge30pOiB2b2lkIHtcbiAgICB0aGlzLnNldEVycm9ycyhyZW1vdmVFcnJvcjxFPih0aGlzLmVycm9ycywga2V5KSwgb3B0cyk7XG4gIH1cblxuICBnZXRFcnJvcjxLIGV4dGVuZHMga2V5b2YgRSwgSzEgZXh0ZW5kcyBrZXlvZiBDb250cm9sc1ZhbHVlPFQ+PihlcnJvckNvZGU6IEssIHBhdGg/OiBbSzFdKTogRVtLXSB8IG51bGw7XG4gIGdldEVycm9yPEsgZXh0ZW5kcyBrZXlvZiBFLCBLMSBleHRlbmRzIGtleW9mIENvbnRyb2xzVmFsdWU8VD4sIEsyIGV4dGVuZHMga2V5b2YgQ29udHJvbHNWYWx1ZTxUPltLMV0+KFxuICAgIGVycm9yQ29kZTogSyxcbiAgICBwYXRoPzogW0sxLCBLMl1cbiAgKTogRVtLXSB8IG51bGw7XG4gIGdldEVycm9yPFxuICAgIEsgZXh0ZW5kcyBrZXlvZiBFLFxuICAgIEsxIGV4dGVuZHMga2V5b2YgQ29udHJvbHNWYWx1ZTxUPixcbiAgICBLMiBleHRlbmRzIGtleW9mIENvbnRyb2xzVmFsdWU8VD5bSzFdLFxuICAgIEszIGV4dGVuZHMga2V5b2YgQ29udHJvbHNWYWx1ZTxUPltLMV1bSzJdXG4gID4oZXJyb3JDb2RlOiBLLCBwYXRoPzogW0sxLCBLMiwgSzNdKTogRVtLXSB8IG51bGw7XG4gIGdldEVycm9yPEsgZXh0ZW5kcyBrZXlvZiBFPihlcnJvckNvZGU6IEssIHBhdGg/OiBzdHJpbmcpOiBFW0tdIHwgbnVsbDtcbiAgZ2V0RXJyb3I8SyBleHRlbmRzIGtleW9mIEU+KGVycm9yQ29kZTogSywgcGF0aD86IGFueSk6IEVbS10gfCBudWxsIHtcbiAgICByZXR1cm4gc3VwZXIuZ2V0RXJyb3IoZXJyb3JDb2RlIGFzIGFueSwgcGF0aCkgYXMgRVtLXSB8IG51bGw7XG4gIH1cblxuICBoYXNFcnJvckFuZFRvdWNoZWQ8UDEgZXh0ZW5kcyBrZXlvZiBDb250cm9sc1ZhbHVlPFQ+PihlcnJvcjogRXh0cmFjdFN0cmluZ3M8RT4sIHByb3AxPzogUDEpOiBib29sZWFuO1xuICBoYXNFcnJvckFuZFRvdWNoZWQ8UDEgZXh0ZW5kcyBrZXlvZiBDb250cm9sc1ZhbHVlPFQ+LCBQMiBleHRlbmRzIGtleW9mIENvbnRyb2xzVmFsdWU8VD5bUDFdPihcbiAgICBlcnJvcjogRXh0cmFjdFN0cmluZ3M8RT4sXG4gICAgcHJvcDE/OiBQMSxcbiAgICBwcm9wMj86IFAyXG4gICk6IGJvb2xlYW47XG4gIGhhc0Vycm9yQW5kVG91Y2hlZDxcbiAgICBQMSBleHRlbmRzIGtleW9mIENvbnRyb2xzVmFsdWU8VD4sXG4gICAgUDIgZXh0ZW5kcyBrZXlvZiBDb250cm9sc1ZhbHVlPFQ+W1AxXSxcbiAgICBQMyBleHRlbmRzIGtleW9mIENvbnRyb2xzVmFsdWU8VD5bUDFdW1AyXVxuICA+KGVycm9yOiBFeHRyYWN0U3RyaW5nczxFPiwgcHJvcDE/OiBQMSwgcHJvcDI/OiBQMiwgcHJvcDM/OiBQMyk6IGJvb2xlYW47XG4gIGhhc0Vycm9yQW5kVG91Y2hlZDxcbiAgICBQMSBleHRlbmRzIGtleW9mIENvbnRyb2xzVmFsdWU8VD4sXG4gICAgUDIgZXh0ZW5kcyBrZXlvZiBDb250cm9sc1ZhbHVlPFQ+W1AxXSxcbiAgICBQMyBleHRlbmRzIGtleW9mIENvbnRyb2xzVmFsdWU8VD5bUDFdW1AyXSxcbiAgICBQNCBleHRlbmRzIGtleW9mIENvbnRyb2xzVmFsdWU8VD5bUDFdW1AyXVtQM11cbiAgPihlcnJvcjogRXh0cmFjdFN0cmluZ3M8RT4sIHByb3AxPzogUDEsIHByb3AyPzogUDIsIHByb3AzPzogUDMsIHByb3A0PzogUDQpOiBib29sZWFuO1xuICBoYXNFcnJvckFuZFRvdWNoZWQoZXJyb3I6IGFueSwgLi4ucGF0aDogYW55KTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIGhhc0Vycm9yQW5kVG91Y2hlZCh0aGlzLCBlcnJvciwgLi4ucGF0aCk7XG4gIH1cblxuICBoYXNFcnJvckFuZERpcnR5PFAxIGV4dGVuZHMga2V5b2YgQ29udHJvbHNWYWx1ZTxUPj4oZXJyb3I6IEV4dHJhY3RTdHJpbmdzPEU+LCBwcm9wMT86IFAxKTogYm9vbGVhbjtcbiAgaGFzRXJyb3JBbmREaXJ0eTxQMSBleHRlbmRzIGtleW9mIENvbnRyb2xzVmFsdWU8VD4sIFAyIGV4dGVuZHMga2V5b2YgQ29udHJvbHNWYWx1ZTxUPltQMV0+KFxuICAgIGVycm9yOiBFeHRyYWN0U3RyaW5nczxFPixcbiAgICBwcm9wMT86IFAxLFxuICAgIHByb3AyPzogUDJcbiAgKTogYm9vbGVhbjtcbiAgaGFzRXJyb3JBbmREaXJ0eTxcbiAgICBQMSBleHRlbmRzIGtleW9mIENvbnRyb2xzVmFsdWU8VD4sXG4gICAgUDIgZXh0ZW5kcyBrZXlvZiBDb250cm9sc1ZhbHVlPFQ+W1AxXSxcbiAgICBQMyBleHRlbmRzIGtleW9mIENvbnRyb2xzVmFsdWU8VD5bUDFdW1AyXVxuICA+KGVycm9yOiBFeHRyYWN0U3RyaW5nczxFPiwgcHJvcDE/OiBQMSwgcHJvcDI/OiBQMiwgcHJvcDM/OiBQMyk6IGJvb2xlYW47XG4gIGhhc0Vycm9yQW5kRGlydHk8XG4gICAgUDEgZXh0ZW5kcyBrZXlvZiBDb250cm9sc1ZhbHVlPFQ+LFxuICAgIFAyIGV4dGVuZHMga2V5b2YgQ29udHJvbHNWYWx1ZTxUPltQMV0sXG4gICAgUDMgZXh0ZW5kcyBrZXlvZiBDb250cm9sc1ZhbHVlPFQ+W1AxXVtQMl0sXG4gICAgUDQgZXh0ZW5kcyBrZXlvZiBDb250cm9sc1ZhbHVlPFQ+W1AxXVtQMl1bUDNdXG4gID4oZXJyb3I6IEV4dHJhY3RTdHJpbmdzPEU+LCBwcm9wMT86IFAxLCBwcm9wMj86IFAyLCBwcm9wMz86IFAzLCBwcm9wND86IFA0KTogYm9vbGVhbjtcbiAgaGFzRXJyb3JBbmREaXJ0eShlcnJvcjogYW55LCAuLi5wYXRoOiBhbnkpOiBib29sZWFuIHtcbiAgICByZXR1cm4gaGFzRXJyb3JBbmREaXJ0eSh0aGlzLCBlcnJvciwgLi4ucGF0aCk7XG4gIH1cblxuICBzZXRFbmFibGUoZW5hYmxlID0gdHJ1ZSwgb3B0cz86IENvbnRyb2xFdmVudE9wdGlvbnMpIHtcbiAgICBlbmFibGVDb250cm9sKHRoaXMsIGVuYWJsZSwgb3B0cyk7XG4gIH1cblxuICBzZXREaXNhYmxlKGRpc2FibGUgPSB0cnVlLCBvcHRzPzogQ29udHJvbEV2ZW50T3B0aW9ucykge1xuICAgIGRpc2FibGVDb250cm9sKHRoaXMsIGRpc2FibGUsIG9wdHMpO1xuICB9XG5cbiAgcGVyc2lzdChrZXk6IHN0cmluZywgeyBkZWJvdW5jZVRpbWUsIG1hbmFnZXIsIGFyckNvbnRyb2xGYWN0b3J5IH06IFBlcnNpc3RPcHRpb25zPFQ+KTogT2JzZXJ2YWJsZTxUPiB7XG4gICAgY29uc3QgcGVyc2lzdE1hbmFnZXIgPSBtYW5hZ2VyIHx8IG5ldyBMb2NhbFN0b3JhZ2VNYW5hZ2VyKCk7XG4gICAgcmV0dXJuIHRoaXMucmVzdG9yZShrZXksIHBlcnNpc3RNYW5hZ2VyLCBhcnJDb250cm9sRmFjdG9yeSkucGlwZShcbiAgICAgIHN3aXRjaE1hcCgoKSA9PlxuICAgICAgICBwZXJzaXN0VmFsdWUkKHRoaXMsIGtleSwge1xuICAgICAgICAgIGRlYm91bmNlVGltZTogZGVib3VuY2VUaW1lIHx8IDI1MCxcbiAgICAgICAgICBtYW5hZ2VyOiBwZXJzaXN0TWFuYWdlclxuICAgICAgICB9KVxuICAgICAgKVxuICAgICk7XG4gIH1cblxuICBwcml2YXRlIHJlc3RvcmUoa2V5OiBzdHJpbmcsIG1hbmFnZXI6IFBlcnNpc3RNYW5hZ2VyPFQ+LCBhcnJDb250cm9sRmFjdG9yeTogQ29udHJvbEZhY3RvcnlNYXA8VD4pOiBPYnNlcnZhYmxlPFQ+IHtcbiAgICByZXR1cm4gd3JhcEludG9PYnNlcnZhYmxlKG1hbmFnZXIuZ2V0VmFsdWUoa2V5KSkucGlwZShcbiAgICAgIHRha2UoMSksXG4gICAgICB0YXAodmFsdWUgPT4ge1xuICAgICAgICBpZiAoIXZhbHVlKSByZXR1cm47XG4gICAgICAgIGhhbmRsZUZvcm1BcnJheXModGhpcywgdmFsdWUsIGFyckNvbnRyb2xGYWN0b3J5KTtcbiAgICAgICAgdGhpcy5wYXRjaFZhbHVlKHZhbHVlLCB7IGVtaXRFdmVudDogZmFsc2UgfSk7XG4gICAgICB9KVxuICAgICk7XG4gIH1cbn1cbiJdfQ==
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybUdyb3VwLmpzIiwic291cmNlUm9vdCI6Ii9Vc2Vycy9uZXRhbmVsYmFzYWwvd3d3L3JlYWN0aXZlLWZvcm1zL3Byb2plY3RzL25nbmVhdC9yZWFjdGl2ZS1mb3Jtcy9zcmMvIiwic291cmNlcyI6WyJsaWIvZm9ybUdyb3VwLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLElBQUksV0FBVyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDMUQsT0FBTyxFQUFFLFlBQVksRUFBYyxPQUFPLEVBQWdCLE1BQU0sTUFBTSxDQUFDO0FBQ3ZFLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxTQUFTLEVBQUUsSUFBSSxFQUFFLEdBQUcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQzVFLE9BQU8sRUFDTCxnQkFBZ0IsRUFDaEIsb0JBQW9CLEVBQ3BCLGVBQWUsRUFDZixtQkFBbUIsRUFDbkIsb0JBQW9CLEVBQ3BCLHFCQUFxQixFQUNyQixvQkFBb0IsRUFDcEIsY0FBYyxFQUNkLGFBQWEsRUFDYixnQkFBZ0IsRUFDaEIsZ0JBQWdCLEVBQ2hCLGtCQUFrQixFQUNsQixZQUFZLEVBQ1osc0JBQXNCLEVBQ3RCLGFBQWEsRUFDYixtQkFBbUIsRUFDbkIsaUJBQWlCLEVBQ2xCLE1BQU0sbUJBQW1CLENBQUM7QUFDM0IsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUF1QjVELE9BQU8sRUFBRSxXQUFXLEVBQUUsV0FBVyxFQUFFLFdBQVcsRUFBRSxrQkFBa0IsRUFBRSxNQUFNLFNBQVMsQ0FBQztBQUdwRixNQUFNLE9BQU8sU0FBdUQsU0FBUSxXQUFXO0lBa0NyRixZQUNTLFFBQStCLEVBQ3RDLGVBQWlDLEVBQ2pDLGNBQStCO1FBRS9CLEtBQUssQ0FBQyxRQUFRLEVBQUUsZUFBZSxFQUFFLGNBQWMsQ0FBQyxDQUFDO1FBSjFDLGFBQVEsR0FBUixRQUFRLENBQXVCO1FBNUJoQyxpQkFBWSxHQUFHLElBQUksT0FBTyxFQUFX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TyxJQUFJLElBQUksbUJBQW1CLEVBQUUsQ0FBQztRQUM1RCxPQUFPLElBQUksQ0FBQyxPQUFPLENBQUMsR0FBRyxFQUFFLGNBQWMsRUFBRSxpQkFBaUIsQ0FBQyxDQUFDLElBQUksQ0FDOUQsU0FBUyxDQUFDLEdBQUcsRUFBRSxDQUNiLGFBQWEsQ0FBQyxJQUFJLEVBQUUsR0FBRyxFQUFFO1lBQ3ZCLFlBQVksRUFBRSxZQUFZLElBQUksR0FBRztZQUNqQyxPQUFPLEVBQUUsY0FBYztZQUN2Qix1QkFBdUI7U0FDeEIsQ0FBQyxDQUNILENBQ0YsQ0FBQztJQUNKLENBQUM7SUFFTyxPQUFPLENBQUMsR0FBVyxFQUFFLE9BQTBCLEVBQUUsaUJBQXVDO1FBQzlGLE9BQU8sa0JBQWtCLENBQUMsT0FBTyxDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FDbkQsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUNQLEdBQUcsQ0FBQyxLQUFLLENBQUMsRUFBRTtZQUNWLElBQUksQ0FBQyxLQUFLO2dCQUFFLE9BQU87WUFDbkIsZ0JBQWdCLENBQUMsSUFBSSxFQUFFLEtBQUssRUFBRSxpQkFBaUIsQ0FBQyxDQUFDO1lBQ2pELElBQUksQ0FBQyxVQUFVLENBQUMsS0FBSyxFQUFFLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxDQUFDLENBQUM7UUFDL0MsQ0FBQyxDQUFDLENBQ0gsQ0FBQztJQUNKLENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEZvcm1Hcm91cCBhcyBOZ0Zvcm1Hcm91cCB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IGlzT2JzZXJ2YWJsZSwgT2JzZXJ2YWJsZSwgU3ViamVjdCwgU3Vic2NyaXB0aW9uIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBkaXN0aW5jdFVudGlsQ2hhbmdlZCwgc3dpdGNoTWFwLCB0YWtlLCB0YXAgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQge1xuICBjb250cm9sRGlzYWJsZWQkLFxuICBjb250cm9sRGlzYWJsZWRXaGlsZSxcbiAgY29udHJvbEVuYWJsZWQkLFxuICBjb250cm9sRW5hYmxlZFdoaWxlLFxuICBjb250cm9sRXJyb3JDaGFuZ2VzJCxcbiAgY29udHJvbFN0YXR1c0NoYW5nZXMkLFxuICBjb250cm9sVmFsdWVDaGFuZ2VzJCxcbiAgZGlzYWJsZUNvbnRyb2wsXG4gIGVuYWJsZUNvbnRyb2wsXG4gIGhhbmRsZUZvcm1BcnJheXMsXG4gIGhhc0Vycm9yQW5kRGlydHksXG4gIGhhc0Vycm9yQW5kVG91Y2hlZCxcbiAgbWFya0FsbERpcnR5LFxuICBtZXJnZUNvbnRyb2xWYWxpZGF0b3JzLFxuICBwZXJzaXN0VmFsdWUkLFxuICBzZWxlY3RDb250cm9sVmFsdWUkLFxuICB2YWxpZGF0ZUNvbnRyb2xPblxufSBmcm9tICcuL2NvbnRyb2wtYWN0aW9ucyc7XG5pbXBvcnQgeyBMb2NhbFN0b3JhZ2VNYW5hZ2VyIH0gZnJvbSAnLi9sb2NhbFN0b3JhZ2VNYW5hZ2VyJztcbmltcG9ydCB7IFBlcnNpc3RNYW5hZ2VyIH0gZnJvbSAnLi9wZXJzaXN0TWFuYWdlcic7XG5pbXBvcnQge1xuICBBYnN0cmFjdENvbnRyb2wsXG4gIEFzeW5jVmFsaWRhdG9yLFxuICBBc3luY1ZhbGlkYXRvckZuLFxuICBDb250cm9sRXZlbnRPcHRpb25zLFxuICBDb250cm9sRmFjdG9yeU1hcCxcbiAgQ29udHJvbE9wdGlvbnMsXG4gIENvbnRyb2xTdGF0ZSxcbiAgRW1pdEV2ZW50LFxuICBFeHRyYWN0U3RyaW5ncyxcbiAgT2JqLFxuICBPbmx5U2VsZixcbiAgVmFsaWRhdG9yLFxuICBWYWxpZGF0b3JPck9wdHMsXG4gIENvbnRyb2xzVmFsdWUsXG4gIEFic3RyYWN0Q29udHJvbHNPZixcbiAgUGVyc2lzdE9wdGlvbnMsXG4gIFZhbGlkYXRvckZuLFxuICBEZWVwUGFydGlhbCxcbiAgVXBkYXRlVmFsdWVBbmRWYWxpZGl0eU9wdGlvbnNcbn0gZnJvbSAnLi90eXBlcyc7XG5pbXBvcnQgeyBjb2VyY2VBcnJheSwgbWVyZ2VFcnJvcnMsIHJlbW92ZUVycm9yLCB3cmFwSW50b09ic2VydmFibGUgfSBmcm9tICcuL3V0aWxzJztcbmltcG9ydCB7IEZvcm1BcnJheSB9IGZyb20gJy4vZm9ybUFycmF5JztcblxuZXhwb3J0IGNsYXNzIEZvcm1Hcm91cDxUIGV4dGVuZHMgT2JqID0gYW55LCBFIGV4dGVuZHMgb2JqZWN0ID0gYW55PiBleHRlbmRzIE5nRm9ybUdyb3VwIHtcbiAgcmVhZG9ubHkgdmFsdWU6IENvbnRyb2xzVmFsdWU8VD47XG4gIHJlYWRvbmx5IGVycm9yczogRSB8IG51bGw7XG4gIHJlYWRvbmx5IHZhbHVlQ2hhbmdlczogT2JzZXJ2YWJsZTxDb250cm9sc1ZhbHVlPFQ+PjtcbiAgcmVhZG9ubHkgc3RhdHVzOiBDb250cm9sU3RhdGU7XG4gIHJlYWRvbmx5IHN0YXR1c0NoYW5nZXM6IE9ic2VydmFibGU8Q29udHJvbFN0YXRlPjtcblxuICBwcml2YXRlIHRvdWNoQ2hhbmdlcyA9IG5ldyBTdWJqZWN0PGJvb2xlYW4+KCk7XG4gIHByaXZhdGUgZGlydHlDaGFuZ2VzID0gbmV3IFN1YmplY3Q8Ym9vbGVhbj4oKTtcbiAgcHJpdmF0ZSBlcnJvcnNTdWJqZWN0ID0gbmV3IFN1YmplY3Q8UGFydGlhbDxFPj4oKTtcblxuICByZWFkb25seSB0b3VjaCQgPSB0aGlzLnRvdWNoQ2hhbmdlcy5hc09ic2VydmFibGUoKS5waXBlKGRpc3RpbmN0VW50aWxDaGFuZ2VkKCkpO1xuICByZWFkb25seSBkaXJ0eSQgPSB0aGlzLmRpcnR5Q2hhbmdlcy5hc09ic2VydmFibGUoKS5waXBlKGRpc3RpbmN0VW50aWxDaGFuZ2VkKCkpO1xuXG4gIHJlYWRvbmx5IHZhbHVlJCA9IGNvbnRyb2xWYWx1ZUNoYW5nZXMkPENvbnRyb2xzVmFsdWU8VD4+KHRoaXMpO1xuICByZWFkb25seSBkaXNhYmxlZCQgPSBjb250cm9sRGlzYWJsZWQkPENvbnRyb2xzVmFsdWU8VD4+KHRoaXMpO1xuICByZWFkb25seSBlbmFibGVkJCA9IGNvbnRyb2xFbmFibGVkJDxDb250cm9sc1ZhbHVlPFQ+Pih0aGlzKTtcbiAgcmVhZG9ubHkgc3RhdHVzJCA9IGNvbnRyb2xTdGF0dXNDaGFuZ2VzJDxDb250cm9sc1ZhbHVlPFQ+Pih0aGlzKTtcbiAgcmVhZG9ubHkgZXJyb3JzJCA9IGNvbnRyb2xFcnJvckNoYW5nZXMkPEU+KHRoaXMsIHRoaXMuZXJyb3JzU3ViamVjdC5hc09ic2VydmFibGUoKSk7XG5cbiAgZ2V0IGFzeW5jVmFsaWRhdG9yKCk6IEFzeW5jVmFsaWRhdG9yRm48VD4gfCBudWxsIHtcbiAgICByZXR1cm4gc3VwZXIuYXN5bmNWYWxpZGF0b3I7XG4gIH1cbiAgc2V0IGFzeW5jVmFsaWRhdG9yKGFzeW5jVmFsaWRhdG9yOiBBc3luY1ZhbGlkYXRvckZuPFQ+IHwgbnVsbCkge1xuICAgIHN1cGVyLmFzeW5jVmFsaWRhdG9yID0gYXN5bmNWYWxpZGF0b3I7XG4gIH1cblxuICBnZXQgdmFsaWRhdG9yKCk6IFZhbGlkYXRvckZuPFQ+IHwgbnVsbCB7XG4gICAgcmV0dXJuIHN1cGVyLnZhbGlkYXRvcjtcbiAgfVxuICBzZXQgdmFsaWRhdG9yKHZhbGlkYXRvcjogVmFsaWRhdG9yRm48VD4gfCBudWxsKSB7XG4gICAgc3VwZXIudmFsaWRhdG9yID0gdmFsaWRhdG9yO1xuICB9XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHVibGljIGNvbnRyb2xzOiBBYnN0cmFjdENvbnRyb2xzT2Y8VD4sXG4gICAgdmFsaWRhdG9yT3JPcHRzPzogVmFsaWRhdG9yT3JPcHRzLFxuICAgIGFzeW5jVmFsaWRhdG9yPzogQXN5bmNWYWxpZGF0b3JcbiAgKSB7XG4gICAgc3VwZXIoY29udHJvbHMsIHZhbGlkYXRvck9yT3B0cywgYXN5bmNWYWxpZGF0b3IpO1xuICB9XG5cbiAgc2VsZWN0PFI+KG1hcEZuOiAoc3RhdGU6IENvbnRyb2xzVmFsdWU8VD4pID0+IFIpOiBPYnNlcnZhYmxlPFI+IHtcbiAgICByZXR1cm4gc2VsZWN0Q29udHJvbFZhbHVlJCh0aGlzLCBtYXBGbik7XG4gIH1cblxuICBnZXRSYXdWYWx1ZSgpOiBDb250cm9sc1ZhbHVlPFQ+IHtcbiAgICByZXR1cm4gc3VwZXIuZ2V0UmF3VmFsdWUoKTtcbiAgfVxuXG4gIGdldDxLMSBleHRlbmRzIGtleW9mIENvbnRyb2xzVmFsdWU8VD4+KHBhdGg/OiBbSzFdKTogQWJzdHJhY3RDb250cm9sc09mPFQ+W0sxXTtcbiAgZ2V0PFxuICAgIEsxIGV4dGVuZHMga2V5b2YgQ29udHJvbHNWYWx1ZTxUPixcbiAgICBLMiBleHRlbmRzIEFic3RyYWN0Q29udHJvbHNPZjxUPltLMV0gZXh0ZW5kcyBGb3JtR3JvdXAgfCBGb3JtQXJyYXlcbiAgICAgID8ga2V5b2YgQWJzdHJhY3RDb250cm9sc09mPFQ+W0sxXVsnY29udHJvbHMnXVxuICAgICAgOiBuZXZlclxuICA+KFxuICAgIHBhdGg/OiBbSzEsIEsyXVxuICApOiBBYnN0cmFjdENvbnRyb2xzT2Y8VD5bSzFdIGV4dGVuZHMgRm9ybUdyb3VwIHwgRm9ybUFycmF5ID8gQWJzdHJhY3RDb250cm9sc09mPFQ+W0sxXVsnY29udHJvbHMnXVtLMl0gOiBuZXZlcjtcbiAgZ2V0PEsxIGV4dGVuZHMga2V5b2YgQ29udHJvbHNWYWx1ZTxUPiwgSzIgZXh0ZW5kcyBrZXlvZiBDb250cm9sc1ZhbHVlPFQ+W0sxXT4oXG4gICAgcGF0aD86IFtLMSwgSzJdXG4gICk6IEFic3RyYWN0Q29udHJvbDxDb250cm9sc1ZhbHVlPFQ+W0sxXVtLMl0+O1xuICBnZXQ8XG4gICAgSzEgZXh0ZW5kcyBrZXlvZiBDb250cm9sc1ZhbHVlPFQ+LFxuICAgIEsyIGV4dGVuZHMga2V5b2YgQ29udHJvbHNWYWx1ZTxUPltLMV0sXG4gICAgSzMgZXh0ZW5kcyBrZXlvZiBDb250cm9sc1ZhbHVlPFQ+W0sxXVtLMl1cbiAgPihwYXRoPzogW0sxLCBLMiwgSzNdKTogQWJzdHJhY3RDb250cm9sPENvbnRyb2xzVmFsdWU8VD5bSzFdW0syXVtLM10+O1xuICBnZXQocGF0aD86IEFycmF5PHN0cmluZyB8IG51bWJlcj4gfCBzdHJpbmcpOiBBYnN0cmFjdENvbnRyb2w7XG4gIGdldChwYXRoOiBBcnJheTxzdHJpbmcgfCBudW1iZXI+IHwgc3RyaW5nKSB7XG4gICAgcmV0dXJuIHN1cGVyLmdldChwYXRoKTtcbiAgfVxuXG4gIGdldENvbnRyb2w8UDEgZXh0ZW5kcyBrZXlvZiBDb250cm9sc1ZhbHVlPFQ+PihwYXRoPzogUDEpOiBBYnN0cmFjdENvbnRyb2xzT2Y8VD5bUDFdO1xuICBnZXRDb250cm9sPFxuICAgIFAxIGV4dGVuZHMga2V5b2YgQ29udHJvbHNWYWx1ZTxUPixcbiAgICBQMiBleHRlbmRzIEFic3RyYWN0Q29udHJvbHNPZjxUPltQMV0gZXh0ZW5kcyBGb3JtR3JvdXAgfCBGb3JtQXJyYXlcbiAgICAgID8ga2V5b2YgQWJzdHJhY3RDb250cm9sc09mPFQ+W1AxXVsnY29udHJvbHMnXVxuICAgICAgOiBuZXZlclxuICA+KFxuICAgIHByb3AxOiBQMSxcbiAgICBwcm9wMjogUDJcbiAgKTogQWJzdHJhY3RDb250cm9sc09mPFQ+W1AxXSBleHRlbmRzIEZvcm1Hcm91cCB8IEZvcm1BcnJheSA/IEFic3RyYWN0Q29udHJvbHNPZjxUPltQMV1bJ2NvbnRyb2xzJ11bUDJdIDogbmV2ZXI7XG4gIGdldENvbnRyb2w8UDEgZXh0ZW5kcyBrZXlvZiBDb250cm9sc1ZhbHVlPFQ+LCBQMiBleHRlbmRzIGtleW9mIENvbnRyb2xzVmFsdWU8VD5bUDFdPihcbiAgICBwcm9wMTogUDEsXG4gICAgcHJvcDI6IFAyXG4gICk6IEFic3RyYWN0Q29udHJvbDxDb250cm9sc1ZhbHVlPFQ+W1AxXVtQMl0+O1xuICBnZXRDb250cm9sPFxuICAgIFAxIGV4dGVuZHMga2V5b2YgQ29udHJvbHNWYWx1ZTxUPixcbiAgICBQMiBleHRlbmRzIGtleW9mIENvbnRyb2xzVmFsdWU8VD5bUDFdLFxuICAgIFAzIGV4dGVuZHMga2V5b2YgQ29udHJvbHNWYWx1ZTxUPltQMV1bUDJdXG4gID4ocHJvcDE6IFAxLCBwcm9wMjogUDIsIHByb3AzOiBQMyk6IEFic3RyYWN0Q29udHJvbDxDb250cm9sc1ZhbHVlPFQ+W1AxXVtQMl1bUDNdPjtcbiAgZ2V0Q29udHJvbChwYXRoPzogc3RyaW5nKTogQWJzdHJhY3RDb250cm9sO1xuICBnZXRDb250cm9sKC4uLm5hbWVzOiBBcnJheTxzdHJpbmcgfCBudW1iZXI+KTogQWJzdHJhY3RDb250cm9sPGFueT4ge1xuICAgIHJldHVybiB0aGlzLmdldChuYW1lcyk7XG4gIH1cblxuICBhZGRDb250cm9sPEsgZXh0ZW5kcyBFeHRyYWN0U3RyaW5nczxUPj4obmFtZTogSywgY29udHJvbDogQWJzdHJhY3RDb250cm9sc09mPFQ+W0tdKTogdm9pZCB7XG4gICAgc3VwZXIuYWRkQ29udHJvbChuYW1lLCBjb250cm9sKTtcbiAgfVxuXG4gIHJlbW92ZUNvbnRyb2wobmFtZTogRXh0cmFjdFN0cmluZ3M8VD4pOiB2b2lkIHtcbiAgICBzdXBlci5yZW1vdmVDb250cm9sKG5hbWUpO1xuICB9XG5cbiAgY29udGFpbnMoY29udHJvbE5hbWU6IEV4dHJhY3RTdHJpbmdzPFQ+KTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHN1cGVyLmNvbnRhaW5zKGNvbnRyb2xOYW1lKTtcbiAgfVxuXG4gIHNldENvbnRyb2w8SyBleHRlbmRzIEV4dHJhY3RTdHJpbmdzPFQ+PihuYW1lOiBLLCBjb250cm9sOiBBYnN0cmFjdENvbnRyb2xzT2Y8VD5bS10pOiB2b2lkIHtcbiAgICBzdXBlci5zZXRDb250cm9sKG5hbWUsIGNvbnRyb2wpO1xuICB9XG5cbiAgc2V0VmFsdWUodmFsdWVPck9ic2VydmFibGU6IE9ic2VydmFibGU8Q29udHJvbHNWYWx1ZTxUPj4sIG9wdGlvbnM/OiBDb250cm9sRXZlbnRPcHRpb25zKTogU3Vic2NyaXB0aW9uO1xuICBzZXRWYWx1ZSh2YWx1ZU9yT2JzZXJ2YWJsZTogQ29udHJvbHNWYWx1ZTxUPiwgb3B0aW9ucz86IENvbnRyb2xFdmVudE9wdGlvbnMpOiB2b2lkO1xuICBzZXRWYWx1ZSh2YWx1ZU9yT2JzZXJ2YWJsZTogYW55LCBvcHRpb25zPzogQ29udHJvbEV2ZW50T3B0aW9ucyk6IGFueSB7XG4gICAgaWYgKGlzT2JzZXJ2YWJsZSh2YWx1ZU9yT2JzZXJ2YWJsZSkpIHtcbiAgICAgIHJldHVybiB2YWx1ZU9yT2JzZXJ2YWJsZS5zdWJzY3JpYmUodmFsdWUgPT4gc3VwZXIuc2V0VmFsdWUodmFsdWUsIG9wdGlvbnMpKTtcbiAgICB9XG5cbiAgICBzdXBlci5zZXRWYWx1ZSh2YWx1ZU9yT2JzZXJ2YWJsZSwgb3B0aW9ucyk7XG4gIH1cblxuICBwYXRjaFZhbHVlKHZhbHVlT3JPYnNlcnZhYmxlOiBPYnNlcnZhYmxlPERlZXBQYXJ0aWFsPENvbnRyb2xzVmFsdWU8VD4+Piwgb3B0aW9ucz86IENvbnRyb2xFdmVudE9wdGlvbnMpOiBTdWJzY3JpcHRpb247XG4gIHBhdGNoVmFsdWUodmFsdWVPck9ic2VydmFibGU6IERlZXBQYXJ0aWFsPENvbnRyb2xzVmFsdWU8VD4+LCBvcHRpb25zPzogQ29udHJvbEV2ZW50T3B0aW9ucyk6IHZvaWQ7XG4gIHBhdGNoVmFsdWUodmFsdWVPck9ic2VydmFibGU6IGFueSwgb3B0aW9ucz86IENvbnRyb2xFdmVudE9wdGlvbnMpOiBTdWJzY3JpcHRpb24gfCB2b2lkIHtcbiAgICBpZiAoaXNPYnNlcnZhYmxlKHZhbHVlT3JPYnNlcnZhYmxlKSkge1xuICAgICAgcmV0dXJuIHZhbHVlT3JPYnNlcnZhYmxlLnN1YnNjcmliZSh2YWx1ZSA9PiBzdXBlci5wYXRjaFZhbHVlKHZhbHVlLCBvcHRpb25zKSk7XG4gICAgfVxuXG4gICAgc3VwZXIucGF0Y2hWYWx1ZSh2YWx1ZU9yT2JzZXJ2YWJsZSwgb3B0aW9ucyk7XG4gIH1cblxuICBkaXNhYmxlZFdoaWxlKG9ic2VydmFibGU6IE9ic2VydmFibGU8Ym9vbGVhbj4sIG9wdGlvbnM/OiBDb250cm9sT3B0aW9ucykge1xuICAgIHJldHVybiBjb250cm9sRGlzYWJsZWRXaGlsZSh0aGlzLCBvYnNlcnZhYmxlLCBvcHRpb25zKTtcbiAgfVxuXG4gIGVuYWJsZWRXaGlsZShvYnNlcnZhYmxlOiBPYnNlcnZhYmxlPGJvb2xlYW4+LCBvcHRpb25zPzogQ29udHJvbE9wdGlvbnMpIHtcbiAgICByZXR1cm4gY29udHJvbEVuYWJsZWRXaGlsZSh0aGlzLCBvYnNlcnZhYmxlLCBvcHRpb25zKTtcbiAgfVxuXG4gIG1lcmdlVmFsaWRhdG9ycyh2YWxpZGF0b3JzOiBWYWxpZGF0b3IsIG9wdGlvbnM/OiBVcGRhdGVWYWx1ZUFuZFZhbGlkaXR5T3B0aW9ucykge1xuICAgIG1lcmdlQ29udHJvbFZhbGlkYXRvcnModGhpcywgdmFsaWRhdG9ycywgb3B0aW9ucyk7XG4gIH1cblxuICBtZXJnZUFzeW5jVmFsaWRhdG9ycyh2YWxpZGF0b3JzOiBBc3luY1ZhbGlkYXRvciwgb3B0aW9ucz86IFVwZGF0ZVZhbHVlQW5kVmFsaWRpdHlPcHRpb25zKSB7XG4gICAgdGhpcy5zZXRBc3luY1ZhbGlkYXRvcnMoW3RoaXMuYXN5bmNWYWxpZGF0b3IsIC4uLmNvZXJjZUFycmF5KHZhbGlkYXRvcnMpXSk7XG4gICAgdGhpcy51cGRhdGVWYWx1ZUFuZFZhbGlkaXR5KG9wdGlvbnMpO1xuICB9XG5cbiAgbWFya0FzVG91Y2hlZChvcHRzPzogT25seVNlbGYpOiB2b2lkIHtcbiAgICBzdXBlci5tYXJrQXNUb3VjaGVkKG9wdHMpO1xuICAgIHRoaXMudG91Y2hDaGFuZ2VzLm5leHQodHJ1ZSk7XG4gIH1cblxuICBtYXJrQXNVbnRvdWNoZWQob3B0cz86IE9ubHlTZWxmKTogdm9pZCB7XG4gICAgc3VwZXIubWFya0FzVW50b3VjaGVkKG9wdHMpO1xuICAgIHRoaXMudG91Y2hDaGFuZ2VzLm5leHQoZmFsc2UpO1xuICB9XG5cbiAgbWFya0FzUHJpc3RpbmUob3B0cz86IE9ubHlTZWxmKTogdm9pZCB7XG4gICAgc3VwZXIubWFya0FzUHJpc3RpbmUob3B0cyk7XG4gICAgdGhpcy5kaXJ0eUNoYW5nZXMubmV4dChmYWxzZSk7XG4gIH1cblxuICBtYXJrQXNEaXJ0eShvcHRzPzogT25seVNlbGYpOiB2b2lkIHtcbiAgICBzdXBlci5tYXJrQXNEaXJ0eShvcHRzKTtcbiAgICB0aGlzLmRpcnR5Q2hhbmdlcy5uZXh0KHRydWUpO1xuICB9XG5cbiAgbWFya0FsbEFzRGlydHkoKTogdm9pZCB7XG4gICAgbWFya0FsbERpcnR5KHRoaXMpO1xuICB9XG5cbiAgcmVzZXQoZm9ybVN0YXRlPzogRGVlcFBhcnRpYWw8Q29udHJvbHNWYWx1ZTxUPj4sIG9wdGlvbnM/OiBDb250cm9sRXZlbnRPcHRpb25zKTogdm9pZCB7XG4gICAgc3VwZXIucmVzZXQoZm9ybVN0YXRlLCBvcHRpb25zKTtcbiAgfVxuXG4gIHNldFZhbGlkYXRvcnMobmV3VmFsaWRhdG9yOiBWYWxpZGF0b3IsIG9wdGlvbnM/OiBVcGRhdGVWYWx1ZUFuZFZhbGlkaXR5T3B0aW9ucyk6IHZvaWQge1xuICAgIHN1cGVyLnNldFZhbGlkYXRvcnMobmV3VmFsaWRhdG9yKTtcbiAgICBzdXBlci51cGRhdGVWYWx1ZUFuZFZhbGlkaXR5KG9wdGlvbnMpO1xuICB9XG5cbiAgc2V0QXN5bmNWYWxpZGF0b3JzKG5ld1ZhbGlkYXRvcjogQXN5bmNWYWxpZGF0b3IsIG9wdGlvbnM/OiBVcGRhdGVWYWx1ZUFuZFZhbGlkaXR5T3B0aW9ucyk6IHZvaWQge1xuICAgIHN1cGVyLnNldEFzeW5jVmFsaWRhdG9ycyhuZXdWYWxpZGF0b3IpO1xuICAgIHN1cGVyLnVwZGF0ZVZhbHVlQW5kVmFsaWRpdHkob3B0aW9ucyk7XG4gIH1cblxuICB2YWxpZGF0ZU9uKG9ic2VydmFibGVWYWxpZGF0aW9uOiBPYnNlcnZhYmxlPG51bGwgfCBvYmplY3Q+KSB7XG4gICAgcmV0dXJuIHZhbGlkYXRlQ29udHJvbE9uKHRoaXMsIG9ic2VydmFibGVWYWxpZGF0aW9uKTtcbiAgfVxuXG4gIGhhc0Vycm9yPEsxIGV4dGVuZHMga2V5b2YgQ29udHJvbHNWYWx1ZTxUPj4oZXJyb3JDb2RlOiBFeHRyYWN0U3RyaW5nczxFPiwgcGF0aD86IFtLMV0pOiBib29sZWFuO1xuICBoYXNFcnJvcjxLMSBleHRlbmRzIGtleW9mIENvbnRyb2xzVmFsdWU8VD4sIEsyIGV4dGVuZHMga2V5b2YgQ29udHJvbHNWYWx1ZTxUPltLMV0+KFxuICAgIGVycm9yQ29kZTogRXh0cmFjdFN0cmluZ3M8RT4sXG4gICAgcGF0aD86IFtLMSwgSzJdXG4gICk6IGJvb2xlYW47XG4gIGhhc0Vycm9yPFxuICAgIEsxIGV4dGVuZHMga2V5b2YgQ29udHJvbHNWYWx1ZTxUPixcbiAgICBLMiBleHRlbmRzIGtleW9mIENvbnRyb2xzVmFsdWU8VD5bSzFdLFxuICAgIEszIGV4dGVuZHMga2V5b2YgQ29udHJvbHNWYWx1ZTxUPltLMV1bSzJdXG4gID4oZXJyb3JDb2RlOiBFeHRyYWN0U3RyaW5nczxFPiwgcGF0aD86IFtLMSwgSzIsIEszXSk6IGJvb2xlYW47XG4gIGhhc0Vycm9yKGVycm9yQ29kZTogRXh0cmFjdFN0cmluZ3M8RT4sIHBhdGg/OiBzdHJpbmcpOiBib29sZWFuO1xuICBoYXNFcnJvcihlcnJvckNvZGU6IEV4dHJhY3RTdHJpbmdzPEU+LCBwYXRoPzogYW55KTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHN1cGVyLmhhc0Vycm9yKGVycm9yQ29kZSwgcGF0aCk7XG4gIH1cblxuICBzZXRFcnJvcnMoZXJyb3JzOiBQYXJ0aWFsPEU+IHwgbnVsbCwgb3B0czogRW1pdEV2ZW50ID0ge30pIHtcbiAgICB0aGlzLmVycm9yc1N1YmplY3QubmV4dChlcnJvcnMpO1xuICAgIHJldHVybiBzdXBlci5zZXRFcnJvcnMoZXJyb3JzLCBvcHRzKTtcbiAgfVxuXG4gIG1lcmdlRXJyb3JzKGVycm9yczogUGFydGlhbDxFPiwgb3B0czogRW1pdEV2ZW50ID0ge30pOiB2b2lkIHtcbiAgICB0aGlzLnNldEVycm9ycyhtZXJnZUVycm9yczxFPih0aGlzLmVycm9ycywgZXJyb3JzKSwgb3B0cyk7XG4gIH1cblxuICByZW1vdmVFcnJvcihrZXk6IGtleW9mIEUsIG9wdHM6IEVtaXRFdmVudCA9IHt9KTogdm9pZCB7XG4gICAgdGhpcy5zZXRFcnJvcnMocmVtb3ZlRXJyb3I8RT4odGhpcy5lcnJvcnMsIGtleSksIG9wdHMpO1xuICB9XG5cbiAgZ2V0RXJyb3I8SyBleHRlbmRzIGtleW9mIEUsIEsxIGV4dGVuZHMga2V5b2YgQ29udHJvbHNWYWx1ZTxUPj4oZXJyb3JDb2RlOiBLLCBwYXRoPzogW0sxXSk6IEVbS10gfCBudWxsO1xuICBnZXRFcnJvcjxLIGV4dGVuZHMga2V5b2YgRSwgSzEgZXh0ZW5kcyBrZXlvZiBDb250cm9sc1ZhbHVlPFQ+LCBLMiBleHRlbmRzIGtleW9mIENvbnRyb2xzVmFsdWU8VD5bSzFdPihcbiAgICBlcnJvckNvZGU6IEssXG4gICAgcGF0aD86IFtLMSwgSzJdXG4gICk6IEVbS10gfCBudWxsO1xuICBnZXRFcnJvcjxcbiAgICBLIGV4dGVuZHMga2V5b2YgRSxcbiAgICBLMSBleHRlbmRzIGtleW9mIENvbnRyb2xzVmFsdWU8VD4sXG4gICAgSzIgZXh0ZW5kcyBrZXlvZiBDb250cm9sc1ZhbHVlPFQ+W0sxXSxcbiAgICBLMyBleHRlbmRzIGtleW9mIENvbnRyb2xzVmFsdWU8VD5bSzFdW0syXVxuICA+KGVycm9yQ29kZTogSywgcGF0aD86IFtLMSwgSzIsIEszXSk6IEVbS10gfCBudWxsO1xuICBnZXRFcnJvcjxLIGV4dGVuZHMga2V5b2YgRT4oZXJyb3JDb2RlOiBLLCBwYXRoPzogc3RyaW5nKTogRVtLXSB8IG51bGw7XG4gIGdldEVycm9yPEsgZXh0ZW5kcyBrZXlvZiBFPihlcnJvckNvZGU6IEssIHBhdGg/OiBhbnkpOiBFW0tdIHwgbnVsbCB7XG4gICAgcmV0dXJuIHN1cGVyLmdldEVycm9yKGVycm9yQ29kZSBhcyBhbnksIHBhdGgpIGFzIEVbS10gfCBudWxsO1xuICB9XG5cbiAgaGFzRXJyb3JBbmRUb3VjaGVkPFAxIGV4dGVuZHMga2V5b2YgQ29udHJvbHNWYWx1ZTxUPj4oZXJyb3I6IEV4dHJhY3RTdHJpbmdzPEU+LCBwcm9wMT86IFAxKTogYm9vbGVhbjtcbiAgaGFzRXJyb3JBbmRUb3VjaGVkPFAxIGV4dGVuZHMga2V5b2YgQ29udHJvbHNWYWx1ZTxUPiwgUDIgZXh0ZW5kcyBrZXlvZiBDb250cm9sc1ZhbHVlPFQ+W1AxXT4oXG4gICAgZXJyb3I6IEV4dHJhY3RTdHJpbmdzPEU+LFxuICAgIHByb3AxPzogUDEsXG4gICAgcHJvcDI/OiBQMlxuICApOiBib29sZWFuO1xuICBoYXNFcnJvckFuZFRvdWNoZWQ8XG4gICAgUDEgZXh0ZW5kcyBrZXlvZiBDb250cm9sc1ZhbHVlPFQ+LFxuICAgIFAyIGV4dGVuZHMga2V5b2YgQ29udHJvbHNWYWx1ZTxUPltQMV0sXG4gICAgUDMgZXh0ZW5kcyBrZXlvZiBDb250cm9sc1ZhbHVlPFQ+W1AxXVtQMl1cbiAgPihlcnJvcjogRXh0cmFjdFN0cmluZ3M8RT4sIHByb3AxPzogUDEsIHByb3AyPzogUDIsIHByb3AzPzogUDMpOiBib29sZWFuO1xuICBoYXNFcnJvckFuZFRvdWNoZWQ8XG4gICAgUDEgZXh0ZW5kcyBrZXlvZiBDb250cm9sc1ZhbHVlPFQ+LFxuICAgIFAyIGV4dGVuZHMga2V5b2YgQ29udHJvbHNWYWx1ZTxUPltQMV0sXG4gICAgUDMgZXh0ZW5kcyBrZXlvZiBDb250cm9sc1ZhbHVlPFQ+W1AxXVtQMl0sXG4gICAgUDQgZXh0ZW5kcyBrZXlvZiBDb250cm9sc1ZhbHVlPFQ+W1AxXVtQMl1bUDNdXG4gID4oZXJyb3I6IEV4dHJhY3RTdHJpbmdzPEU+LCBwcm9wMT86IFAxLCBwcm9wMj86IFAyLCBwcm9wMz86IFAzLCBwcm9wND86IFA0KTogYm9vbGVhbjtcbiAgaGFzRXJyb3JBbmRUb3VjaGVkKGVycm9yOiBhbnksIC4uLnBhdGg6IGFueSk6IGJvb2xlYW4ge1xuICAgIHJldHVybiBoYXNFcnJvckFuZFRvdWNoZWQodGhpcywgZXJyb3IsIC4uLnBhdGgpO1xuICB9XG5cbiAgaGFzRXJyb3JBbmREaXJ0eTxQMSBleHRlbmRzIGtleW9mIENvbnRyb2xzVmFsdWU8VD4+KGVycm9yOiBFeHRyYWN0U3RyaW5nczxFPiwgcHJvcDE/OiBQMSk6IGJvb2xlYW47XG4gIGhhc0Vycm9yQW5kRGlydHk8UDEgZXh0ZW5kcyBrZXlvZiBDb250cm9sc1ZhbHVlPFQ+LCBQMiBleHRlbmRzIGtleW9mIENvbnRyb2xzVmFsdWU8VD5bUDFdPihcbiAgICBlcnJvcjogRXh0cmFjdFN0cmluZ3M8RT4sXG4gICAgcHJvcDE/OiBQMSxcbiAgICBwcm9wMj86IFAyXG4gICk6IGJvb2xlYW47XG4gIGhhc0Vycm9yQW5kRGlydHk8XG4gICAgUDEgZXh0ZW5kcyBrZXlvZiBDb250cm9sc1ZhbHVlPFQ+LFxuICAgIFAyIGV4dGVuZHMga2V5b2YgQ29udHJvbHNWYWx1ZTxUPltQMV0sXG4gICAgUDMgZXh0ZW5kcyBrZXlvZiBDb250cm9sc1ZhbHVlPFQ+W1AxXVtQMl1cbiAgPihlcnJvcjogRXh0cmFjdFN0cmluZ3M8RT4sIHByb3AxPzogUDEsIHByb3AyPzogUDIsIHByb3AzPzogUDMpOiBib29sZWFuO1xuICBoYXNFcnJvckFuZERpcnR5PFxuICAgIFAxIGV4dGVuZHMga2V5b2YgQ29udHJvbHNWYWx1ZTxUPixcbiAgICBQMiBleHRlbmRzIGtleW9mIENvbnRyb2xzVmFsdWU8VD5bUDFdLFxuICAgIFAzIGV4dGVuZHMga2V5b2YgQ29udHJvbHNWYWx1ZTxUPltQMV1bUDJdLFxuICAgIFA0IGV4dGVuZHMga2V5b2YgQ29udHJvbHNWYWx1ZTxUPltQMV1bUDJdW1AzXVxuICA+KGVycm9yOiBFeHRyYWN0U3RyaW5nczxFPiwgcHJvcDE/OiBQMSwgcHJvcDI/OiBQMiwgcHJvcDM/OiBQMywgcHJvcDQ/OiBQNCk6IGJvb2xlYW47XG4gIGhhc0Vycm9yQW5kRGlydHkoZXJyb3I6IGFueSwgLi4ucGF0aDogYW55KTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIGhhc0Vycm9yQW5kRGlydHkodGhpcywgZXJyb3IsIC4uLnBhdGgpO1xuICB9XG5cbiAgc2V0RW5hYmxlKGVuYWJsZSA9IHRydWUsIG9wdHM/OiBDb250cm9sRXZlbnRPcHRpb25zKSB7XG4gICAgZW5hYmxlQ29udHJvbCh0aGlzLCBlbmFibGUsIG9wdHMpO1xuICB9XG5cbiAgc2V0RGlzYWJsZShkaXNhYmxlID0gdHJ1ZSwgb3B0cz86IENvbnRyb2xFdmVudE9wdGlvbnMpIHtcbiAgICBkaXNhYmxlQ29udHJvbCh0aGlzLCBkaXNhYmxlLCBvcHRzKTtcbiAgfVxuXG4gIHBlcnNpc3QoXG4gICAga2V5OiBzdHJpbmcsXG4gICAgeyBkZWJvdW5jZVRpbWUsIG1hbmFnZXIsIGFyckNvbnRyb2xGYWN0b3J5LCBwZXJzaXN0RGlzYWJsZWRDb250cm9scyB9OiBQZXJzaXN0T3B0aW9uczxUPlxuICApOiBPYnNlcnZhYmxlPFQ+IHtcbiAgICBjb25zdCBwZXJzaXN0TWFuYWdlciA9IG1hbmFnZXIgfHwgbmV3IExvY2FsU3RvcmFnZU1hbmFnZXIoKTtcbiAgICByZXR1cm4gdGhpcy5yZXN0b3JlKGtleSwgcGVyc2lzdE1hbmFnZXIsIGFyckNvbnRyb2xGYWN0b3J5KS5waXBlKFxuICAgICAgc3dpdGNoTWFwKCgpID0+XG4gICAgICAgIHBlcnNpc3RWYWx1ZSQodGhpcywga2V5LCB7XG4gICAgICAgICAgZGVib3VuY2VUaW1lOiBkZWJvdW5jZVRpbWUgfHwgMjUwLFxuICAgICAgICAgIG1hbmFnZXI6IHBlcnNpc3RNYW5hZ2VyLFxuICAgICAgICAgIHBlcnNpc3REaXNhYmxlZENvbnRyb2xzXG4gICAgICAgIH0pXG4gICAgICApXG4gICAgKTtcbiAgfVxuXG4gIHByaXZhdGUgcmVzdG9yZShrZXk6IHN0cmluZywgbWFuYWdlcjogUGVyc2lzdE1hbmFnZXI8VD4sIGFyckNvbnRyb2xGYWN0b3J5OiBDb250cm9sRmFjdG9yeU1hcDxUPik6IE9ic2VydmFibGU8VD4ge1xuICAgIHJldHVybiB3cmFwSW50b09ic2VydmFibGUobWFuYWdlci5nZXRWYWx1ZShrZXkpKS5waXBlKFxuICAgICAgdGFrZSgxKSxcbiAgICAgIHRhcCh2YWx1ZSA9PiB7XG4gICAgICAgIGlmICghdmFsdWUpIHJldHVybjtcbiAgICAgICAgaGFuZGxlRm9ybUFycmF5cyh0aGlzLCB2YWx1ZSwgYXJyQ29udHJvbEZhY3RvcnkpO1xuICAgICAgICB0aGlzLnBhdGNoVmFsdWUodmFsdWUsIHsgZW1pdEV2ZW50OiBmYWxzZSB9KTtcbiAgICAgIH0pXG4gICAgKTtcbiAgfVxufVxuIl19

@@ -10,2 +10,2 @@ export class LocalStorageManager {

}
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9jYWxTdG9yYWdlTWFuYWdlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25nbmVhdC9yZWFjdGl2ZS1mb3Jtcy9zcmMvbGliL2xvY2FsU3RvcmFnZU1hbmFnZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBRUEsTUFBTSxPQUFPLG1CQUFtQjtJQUM5QixRQUFRLENBQUMsR0FBVyxFQUFFLElBQU87UUFDM0IsWUFBWSxDQUFDLE9BQU8sQ0FBQyxHQUFHLEVBQUUsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDO1FBQ2hELE9BQU8sSUFBSSxDQUFDO0lBQ2QsQ0FBQztJQUVELFFBQVEsQ0FBQyxHQUFXO1FBQ2xCLE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQyxZQUFZLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxJQUFJLElBQUksQ0FBQyxDQUFDO0lBQ3ZELENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFBlcnNpc3RNYW5hZ2VyIH0gZnJvbSAnLi9wZXJzaXN0TWFuYWdlcic7XG5cbmV4cG9ydCBjbGFzcyBMb2NhbFN0b3JhZ2VNYW5hZ2VyPFQ+IGltcGxlbWVudHMgUGVyc2lzdE1hbmFnZXI8VD4ge1xuICBzZXRWYWx1ZShrZXk6IHN0cmluZywgZGF0YTogVCk6IFQge1xuICAgIGxvY2FsU3RvcmFnZS5zZXRJdGVtKGtleSwgSlNPTi5zdHJpbmdpZnkoZGF0YSkpO1xuICAgIHJldHVybiBkYXRhO1xuICB9XG5cbiAgZ2V0VmFsdWUoa2V5OiBzdHJpbmcpOiBUIHtcbiAgICByZXR1cm4gSlNPTi5wYXJzZShsb2NhbFN0b3JhZ2UuZ2V0SXRlbShrZXkpIHx8ICd7fScpO1xuICB9XG59XG4iXX0=
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9jYWxTdG9yYWdlTWFuYWdlci5qcyIsInNvdXJjZVJvb3QiOiIvVXNlcnMvbmV0YW5lbGJhc2FsL3d3dy9yZWFjdGl2ZS1mb3Jtcy9wcm9qZWN0cy9uZ25lYXQvcmVhY3RpdmUtZm9ybXMvc3JjLyIsInNvdXJjZXMiOlsibGliL2xvY2FsU3RvcmFnZU1hbmFnZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBRUEsTUFBTSxPQUFPLG1CQUFtQjtJQUM5QixRQUFRLENBQUMsR0FBVyxFQUFFLElBQU87UUFDM0IsWUFBWSxDQUFDLE9BQU8sQ0FBQyxHQUFHLEVBQUUsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDO1FBQ2hELE9BQU8sSUFBSSxDQUFDO0lBQ2QsQ0FBQztJQUVELFFBQVEsQ0FBQyxHQUFXO1FBQ2xCLE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQyxZQUFZLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxJQUFJLElBQUksQ0FBQyxDQUFDO0lBQ3ZELENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFBlcnNpc3RNYW5hZ2VyIH0gZnJvbSAnLi9wZXJzaXN0TWFuYWdlcic7XG5cbmV4cG9ydCBjbGFzcyBMb2NhbFN0b3JhZ2VNYW5hZ2VyPFQ+IGltcGxlbWVudHMgUGVyc2lzdE1hbmFnZXI8VD4ge1xuICBzZXRWYWx1ZShrZXk6IHN0cmluZywgZGF0YTogVCk6IFQge1xuICAgIGxvY2FsU3RvcmFnZS5zZXRJdGVtKGtleSwgSlNPTi5zdHJpbmdpZnkoZGF0YSkpO1xuICAgIHJldHVybiBkYXRhO1xuICB9XG5cbiAgZ2V0VmFsdWUoa2V5OiBzdHJpbmcpOiBUIHtcbiAgICByZXR1cm4gSlNPTi5wYXJzZShsb2NhbFN0b3JhZ2UuZ2V0SXRlbShrZXkpIHx8ICd7fScpO1xuICB9XG59XG4iXX0=
export {};
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGVyc2lzdE1hbmFnZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ25lYXQvcmVhY3RpdmUtZm9ybXMvc3JjL2xpYi9wZXJzaXN0TWFuYWdlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnO1xuXG5leHBvcnQgaW50ZXJmYWNlIFBlcnNpc3RNYW5hZ2VyPFQ+IHtcbiAgc2V0VmFsdWUoa2V5OiBzdHJpbmcsIGRhdGE6IFQpOiBUIHwgUHJvbWlzZTxUPiB8IE9ic2VydmFibGU8VD47XG4gIGdldFZhbHVlKGtleTogc3RyaW5nKTogVCB8IFByb21pc2U8VD4gfCBPYnNlcnZhYmxlPFQ+O1xufVxuIl19
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGVyc2lzdE1hbmFnZXIuanMiLCJzb3VyY2VSb290IjoiL1VzZXJzL25ldGFuZWxiYXNhbC93d3cvcmVhY3RpdmUtZm9ybXMvcHJvamVjdHMvbmduZWF0L3JlYWN0aXZlLWZvcm1zL3NyYy8iLCJzb3VyY2VzIjpbImxpYi9wZXJzaXN0TWFuYWdlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnO1xuXG5leHBvcnQgaW50ZXJmYWNlIFBlcnNpc3RNYW5hZ2VyPFQ+IHtcbiAgc2V0VmFsdWUoa2V5OiBzdHJpbmcsIGRhdGE6IFQpOiBUIHwgUHJvbWlzZTxUPiB8IE9ic2VydmFibGU8VD47XG4gIGdldFZhbHVlKGtleTogc3RyaW5nKTogVCB8IFByb21pc2U8VD4gfCBPYnNlcnZhYmxlPFQ+O1xufVxuIl19

@@ -10,2 +10,2 @@ export class SessionStorageManager {

}
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2Vzc2lvblN0b3JhZ2VNYW5hZ2VyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmduZWF0L3JlYWN0aXZlLWZvcm1zL3NyYy9saWIvc2Vzc2lvblN0b3JhZ2VNYW5hZ2VyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUVBLE1BQU0sT0FBTyxxQkFBcUI7SUFDaEMsUUFBUSxDQUFDLEdBQVcsRUFBRSxJQUFPO1FBQzNCLGNBQWMsQ0FBQyxPQUFPLENBQUMsR0FBRyxFQUFFLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQztRQUNsRCxPQUFPLElBQUksQ0FBQztJQUNkLENBQUM7SUFFRCxRQUFRLENBQUMsR0FBVztRQUNsQixPQUFPLElBQUksQ0FBQyxLQUFLLENBQUMsY0FBYyxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsSUFBSSxJQUFJLENBQUMsQ0FBQztJQUN6RCxDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBQZXJzaXN0TWFuYWdlciB9IGZyb20gJy4vcGVyc2lzdE1hbmFnZXInO1xuXG5leHBvcnQgY2xhc3MgU2Vzc2lvblN0b3JhZ2VNYW5hZ2VyPFQ+IGltcGxlbWVudHMgUGVyc2lzdE1hbmFnZXI8VD4ge1xuICBzZXRWYWx1ZShrZXk6IHN0cmluZywgZGF0YTogVCk6IFQge1xuICAgIHNlc3Npb25TdG9yYWdlLnNldEl0ZW0oa2V5LCBKU09OLnN0cmluZ2lmeShkYXRhKSk7XG4gICAgcmV0dXJuIGRhdGE7XG4gIH1cblxuICBnZXRWYWx1ZShrZXk6IHN0cmluZyk6IFQge1xuICAgIHJldHVybiBKU09OLnBhcnNlKHNlc3Npb25TdG9yYWdlLmdldEl0ZW0oa2V5KSB8fCAne30nKTtcbiAgfVxufVxuIl19
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2Vzc2lvblN0b3JhZ2VNYW5hZ2VyLmpzIiwic291cmNlUm9vdCI6Ii9Vc2Vycy9uZXRhbmVsYmFzYWwvd3d3L3JlYWN0aXZlLWZvcm1zL3Byb2plY3RzL25nbmVhdC9yZWFjdGl2ZS1mb3Jtcy9zcmMvIiwic291cmNlcyI6WyJsaWIvc2Vzc2lvblN0b3JhZ2VNYW5hZ2VyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUVBLE1BQU0sT0FBTyxxQkFBcUI7SUFDaEMsUUFBUSxDQUFDLEdBQVcsRUFBRSxJQUFPO1FBQzNCLGNBQWMsQ0FBQyxPQUFPLENBQUMsR0FBRyxFQUFFLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQztRQUNsRCxPQUFPLElBQUksQ0FBQztJQUNkLENBQUM7SUFFRCxRQUFRLENBQUMsR0FBVztRQUNsQixPQUFPLElBQUksQ0FBQyxLQUFLLENBQUMsY0FBYyxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsSUFBSSxJQUFJLENBQUMsQ0FBQztJQUN6RCxDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBQZXJzaXN0TWFuYWdlciB9IGZyb20gJy4vcGVyc2lzdE1hbmFnZXInO1xuXG5leHBvcnQgY2xhc3MgU2Vzc2lvblN0b3JhZ2VNYW5hZ2VyPFQ+IGltcGxlbWVudHMgUGVyc2lzdE1hbmFnZXI8VD4ge1xuICBzZXRWYWx1ZShrZXk6IHN0cmluZywgZGF0YTogVCk6IFQge1xuICAgIHNlc3Npb25TdG9yYWdlLnNldEl0ZW0oa2V5LCBKU09OLnN0cmluZ2lmeShkYXRhKSk7XG4gICAgcmV0dXJuIGRhdGE7XG4gIH1cblxuICBnZXRWYWx1ZShrZXk6IHN0cmluZyk6IFQge1xuICAgIHJldHVybiBKU09OLnBhcnNlKHNlc3Npb25TdG9yYWdlLmdldEl0ZW0oa2V5KSB8fCAne30nKTtcbiAgfVxufVxuIl19
export {};
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHlwZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ25lYXQvcmVhY3RpdmUtZm9ybXMvc3JjL2xpYi90eXBlcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQWJzdHJhY3RDb250cm9sIGFzIE5nQWJzdHJhY3RDb250cm9sLFxuICBBYnN0cmFjdENvbnRyb2xPcHRpb25zIGFzIE5nQWJzdHJhY3RDb250cm9sT3B0aW9ucyxcbiAgVmFsaWRhdGlvbkVycm9ycyBhcyBOZ1ZhbGlkYXRpb25FcnJvcnNcbn0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgRm9ybUFycmF5IH0gZnJvbSAnLi9mb3JtQXJyYXknO1xuaW1wb3J0IHsgRm9ybUNvbnRyb2wgfSBmcm9tICcuL2Zvcm1Db250cm9sJztcbmltcG9ydCB7IEZvcm1Hcm91cCB9IGZyb20gJy4vZm9ybUdyb3VwJztcbmltcG9ydCB7IFBlcnNpc3RNYW5hZ2VyIH0gZnJvbSAnLi9wZXJzaXN0TWFuYWdlcic7XG5cbmV4cG9ydCB0eXBlIFZhbGlkYXRpb25FcnJvcnM8VCA9IE5nVmFsaWRhdGlvbkVycm9ycz4gPSBUO1xuZXhwb3J0IHR5cGUgVmFsaWRhdG9yRm48VCA9IGFueSwgRSA9IGFueT4gPSAoXG4gIGNvbnRyb2w6IEFic3RyYWN0Q29udHJvbDxUPiB8IE5nQWJzdHJhY3RDb250cm9sXG4pID0+IFZhbGlkYXRpb25FcnJvcnM8RT4gfCBudWxsO1xuZXhwb3J0IHR5cGUgQXN5bmNWYWxpZGF0b3JGbjxUID0gYW55LCBFID0gYW55PiA9IChcbiAgY29udHJvbDogQWJzdHJhY3RDb250cm9sPFQ+IHwgTmdBYnN0cmFjdENvbnRyb2xcbikgPT4gUHJvbWlzZTxWYWxpZGF0aW9uRXJyb3JzPEU+IHwgbnVsbD4gfCBPYnNlcnZhYmxlPFZhbGlkYXRpb25FcnJvcnM8RT4gfCBudWxsPjtcblxuZXhwb3J0IGludGVyZmFjZSBBYnN0cmFjdENvbnRyb2xPcHRpb25zPFQgPSBhbnksIEUgPSBhbnk+IGV4dGVuZHMgTmdBYnN0cmFjdENvbnRyb2xPcHRpb25zIHtcbiAgdmFsaWRhdG9ycz86IFZhbGlkYXRvckZuPFQsIEU+IHwgVmFsaWRhdG9yRm48VCwgRT5bXSB8IG51bGw7XG4gIGFzeW5jVmFsaWRhdG9ycz86IEFzeW5jVmFsaWRhdG9yRm48VCwgRT4gfCBBc3luY1ZhbGlkYXRvckZuPFQsIEU+W10gfCBudWxsO1xufVxuXG5leHBvcnQgdHlwZSBWYWxpZGF0b3JPck9wdHMgPSBWYWxpZGF0b3JGbiB8IFZhbGlkYXRvckZuW10gfCBBYnN0cmFjdENvbnRyb2xPcHRpb25zIHwgbnVsbDtcbmV4cG9ydCB0eXBlIEFzeW5jVmFsaWRhdG9yID0gQXN5bmNWYWxpZGF0b3JGbiB8IEFzeW5jVmFsaWRhdG9yRm5bXSB8IG51bGw7XG5leHBvcnQgdHlwZSBWYWxpZGF0b3IgPSBWYWxpZGF0b3JGbiB8IFZhbGlkYXRvckZuW107XG5cbmV4cG9ydCBpbnRlcmZhY2UgQ29udHJvbE9wdGlvbnMge1xuICBvbmx5U2VsZj86IGJvb2xlYW47XG4gIGVtaXRFdmVudD86IGJvb2xlYW47XG4gIGVtaXRNb2RlbFRvVmlld0NoYW5nZT86IGJvb2xlYW47XG4gIGVtaXRWaWV3VG9Nb2RlbENoYW5nZT86IGJvb2xlYW47XG59XG5cbmV4cG9ydCB0eXBlIENvbnRyb2xFdmVudE9wdGlvbnMgPSBQaWNrPENvbnRyb2xPcHRpb25zLCAnZW1pdEV2ZW50JyB8ICdvbmx5U2VsZic+O1xuZXhwb3J0IHR5cGUgT25seVNlbGYgPSBQaWNrPENvbnRyb2xPcHRpb25zLCAnb25seVNlbGYnPjtcbmV4cG9ydCB0eXBlIEVtaXRFdmVudCA9IFBpY2s8Q29udHJvbE9wdGlvbnMsICdlbWl0RXZlbnQnPjtcbmV4cG9ydCB0eXBlIENvbnRyb2xQYXRoID0gQXJyYXk8c3RyaW5nIHwgbnVtYmVyPiB8IHN0cmluZztcbmV4cG9ydCB0eXBlIENvbnRyb2xTdGF0ZSA9ICdWQUxJRCcgfCAnSU5WQUxJRCcgfCAnUEVORElORycgfCAnRElTQUJMRUQnO1xuXG5leHBvcnQgaW50ZXJmYWNlIEFic3RyYWN0Q29udHJvbDxUID0gYW55LCBFIGV4dGVuZHMgb2JqZWN0ID0gYW55PiBleHRlbmRzIE5nQWJzdHJhY3RDb250cm9sIHtcbiAgdmFsdWU6IFQ7XG4gIGVycm9yczogRTtcbiAgdG91Y2gkOiBPYnNlcnZhYmxlPGJvb2xlYW4+O1xuICBkaXJ0eSQ6IE9ic2VydmFibGU8Ym9vbGVhbj47XG4gIGRpc2FibGVkJDogT2JzZXJ2YWJsZTxib29sZWFuPjtcbiAgZW5hYmxlZCQ6IE9ic2VydmFibGU8Ym9vbGVhbj47XG4gIHN0YXR1cyQ6IE9ic2VydmFibGU8Q29udHJvbFN0YXRlPjtcbn1cblxuZXhwb3J0IHR5cGUgRXh0cmFjdFN0cmluZ3M8VD4gPSBFeHRyYWN0PGtleW9mIFQsIHN0cmluZz47XG5cbmV4cG9ydCBpbnRlcmZhY2UgTmdWYWxpZGF0b3JzRXJyb3JzIHtcbiAgcmVxdWlyZWQ6IHRydWU7XG4gIGVtYWlsOiB0cnVlO1xuICBwYXR0ZXJuOiB7IHJlcXVpcmVkUGF0dGVybjogc3RyaW5nOyBhY3R1YWxWYWx1ZTogc3RyaW5nIH07XG4gIG1pbmxlbmd0aDogeyByZXF1aXJlZExlbmd0aDogbnVtYmVyOyBhY3R1YWxMZW5ndGg6IG51bWJlciB9O1xuICBtYXhsZW5ndGg6IHsgcmVxdWlyZWRMZW5ndGg6IG51bWJlcjsgYWN0dWFsTGVuZ3RoOiBudW1iZXIgfTtcbiAgbWluOiB7IG1pbjogbnVtYmVyOyBhY3R1YWw6IG51bWJlciB9O1xuICBtYXg6IHsgbWF4OiBudW1iZXI7IGFjdHVhbDogbnVtYmVyIH07XG59XG5cbmV4cG9ydCB0eXBlIEJveGVkVmFsdWU8VD4gPSB7IHZhbHVlOiBUOyBkaXNhYmxlZD86IGJvb2xlYW4gfTtcbmV4cG9ydCB0eXBlIE9yQm94ZWRWYWx1ZTxUPiA9IFQgfCBCb3hlZFZhbHVlPFQ+O1xuZXhwb3J0IHR5cGUgRGVlcFBhcnRpYWw8VD4gPSB7IFtLIGluIGtleW9mIFRdPzogVFtLXSBleHRlbmRzIG9iamVjdCA/IERlZXBQYXJ0aWFsPFRbS10+IDogVFtLXSB9O1xuZXhwb3J0IHR5cGUgT2JqID0geyBba2V5OiBzdHJpbmddOiBhbnkgfTtcbnR5cGUgQXJyYXlUeXBlPFQ+ID0gVCBleHRlbmRzIEFycmF5PGluZmVyIFI+ID8gUiA6IGFueTtcblxuLypcbiAqIENvbnZlcnQgYSBDb250cm9sIHR5cGUgb3IgYSB2YWx1ZSB0eXBlXG4gKiBMZWF2aW5nIG5vbi1jb250cm9sIHR5cGVzIGFzIGlzXG4gKiAqL1xuZXhwb3J0IHR5cGUgQ29udHJvbFZhbHVlPFQ+ID0gVCBleHRlbmRzIEZvcm1Db250cm9sIHwgRm9ybUdyb3VwIHwgRm9ybUFycmF5IHwgQWJzdHJhY3RDb250cm9sID8gVFsndmFsdWUnXSA6IFQ7XG5cbi8qKlxuICogQ29udmVydCBhbiBvYmplY3Qgb2YgYSBGb3JtR3JvdXAncyBcInZhbHVlXCIgb3IgXCJjb250cm9sc1wiIHRvIGl0cyBcInZhbHVlXCJcbiAqICovXG5leHBvcnQgdHlwZSBDb250cm9sc1ZhbHVlPFQgZXh0ZW5kcyBvYmplY3Q+ID0ge1xuICBbSyBpbiBrZXlvZiBUXTogQ29udHJvbFZhbHVlPFRbS10+O1xufTtcblxudHlwZSBQcmltaXRpdmUgPSBudW1iZXIgfCBzdHJpbmcgfCBib29sZWFuIHwgbnVsbCB8IHVuZGVmaW5lZDtcblxudHlwZSBVbndyYXBBcnJheTxUPiA9IFQgZXh0ZW5kcyBBcnJheTxpbmZlciBVPiA/IFUgOiBuZXZlcjtcblxudHlwZSBFeGNsdWRlQ29udHJvbHM8VD4gPSBFeGNsdWRlPFQsIEZvcm1Db250cm9sIHwgRm9ybUdyb3VwIHwgRm9ybUFycmF5PjtcblxuLyoqXG4gKiBDb252ZXJ0cyBhIHZhbHVlIC8gZm9ybSBjb250cm9sIHRvIGZvcm0gY29udHJvbFxuICogQ29udmVydGluZyBub24tY29udHJvbCB0eXBlcyB0byBBYnN0cmFjdENvbnRyb2wgb2YgdGhlIHR5cGVcbiAqXG4gKiBUaGUgaW50ZXJtZWRpYXRlIHR5cGUgaXMgdG8gc29sdmUgdGhlIGlzc3VlIG9mIFQgYmVpbmcgYW55LCB0aHVzIGFzc2lnbmFibGUgdG8gYWxsIGNvbmRpdGlvbiBhbmQgcmVzdWx0aW5nIGluIHRoZSBcImFueVwiIHR5cGUuXG4gKlxuICogTm90ZSB0aGUgdXNlIG9mIGFuIGFycmF5IGlzIHRvIHByZXZlbnQgdXNlIG9mIGRpc3RyaWJ1dGl2ZSBjb25kaXRpb25hbCB0eXBlcy4gKGh0dHBzOi8vZ2l0aHViLmNvbS9taWNyb3NvZnQvVHlwZVNjcmlwdC9pc3N1ZXMvMzcyNzkpXG4gKiAqL1xudHlwZSBBYnN0cmFjdENvbnRyb2xPZldpdGhQb3RlbnRpYWxVbmlvbjxUPiA9IFtUXSBleHRlbmRzIFtBYnN0cmFjdENvbnRyb2xdXG4gID8gVFxuICA6IFtUXSBleHRlbmRzIFtQcmltaXRpdmVdXG4gID8gRm9ybUNvbnRyb2w8VD4gLy8gaW4gY2FzZSB3ZSBnb3Qgbm8gZ2VuZXJpYyBpbiB0aGUgY29uc3RydWN0b3IsIHJlc29sdmUgdGhlIHR5cGUgYXMgQWJzdHJhY3Q8VD4uXG4gIDogVCBleHRlbmRzIHVua25vd25cbiAgPyBBYnN0cmFjdENvbnRyb2w8RXhjbHVkZUNvbnRyb2xzPFQ+PlxuICA6IEFic3RyYWN0Q29udHJvbDxUPjtcbmV4cG9ydCB0eXBlIEFic3RyYWN0Q29udHJvbE9mPFQ+ID0gQWJzdHJhY3RDb250cm9sIGV4dGVuZHMgQWJzdHJhY3RDb250cm9sT2ZXaXRoUG90ZW50aWFsVW5pb248VD5cbiAgPyBBYnN0cmFjdENvbnRyb2w8QWJzdHJhY3RDb250cm9sT2ZXaXRoUG90ZW50aWFsVW5pb248VD5bJ3ZhbHVlJ10+XG4gIDogQWJzdHJhY3RDb250cm9sT2ZXaXRoUG90ZW50aWFsVW5pb248VD47XG5cbi8qKlxuICogQ29udmVydCBhbiBvYmplY3Qgb2YgYSBGb3JtR3JvdXAncyBcInZhbHVlXCIgb3IgXCJjb250cm9sc1wiIHRvIFwiY29udHJvbHNcIi5cbiAqIENvbnZlcnRpbmcgbm9uLWNvbnRyb2wgdHlwZXMgdG8gQWJzdHJhY3RDb250cm9sIG9mIHRoZSB0eXBlXG4gKiAqL1xuZXhwb3J0IHR5cGUgQWJzdHJhY3RDb250cm9sc09mPFQgZXh0ZW5kcyBPYmo+ID0ge1xuICBbSyBpbiBrZXlvZiBUXTogQWJzdHJhY3RDb250cm9sT2Y8VFtLXT47XG59O1xuXG4vKipcbiAqIFVzZSB3aXRoIEZvcm1Hcm91cCB5b3Ugd2FudCBhIEZvcm1Db250cm9sIGZvciBhIHByaW1pdGl2ZSwgYSBGb3JtR3JvdXAgZm9yIGFuIG9iamVjdCwgYW5kIGEgRm9ybUFycmF5IGZvciBhbiBhcnJheVxuICpcbiAqIEBleGFtcGxlXG4gKiBuZXdcbiAqICAgRm9ybUdyb3VwPENvbnRyb2xzT2Y8e1xuICogICBuYW1lOiBzdHJpbmc7XG4gKiAgIHBob25lOiB7XG4gKiAgICAgbnVtOiBudW1iZXI7XG4gKiAgICAgcHJlZml4OiBudW1iZXI7XG4gKiAgIH07XG4gKiAgIGNoaWxkcmVuOiBzdHJpbmdbXSxcbiAqIH0+Pih7XG4gKiAgIG5hbWU6IG5ldyBGb3JtQ29udHJvbDxzdHJpbmc+KCksXG4gKiAgIHBob25lOiBuZXcgRm9ybUdyb3VwKHtcbiAqICAgICBudW06IG5ldyBGb3JtQ29udHJvbDxudW1iZXI+KCksXG4gKiAgICAgcHJlZml4OiBuZXcgRm9ybUNvbnRyb2w8bnVtYmVyPigpLFxuICogICB9KSxcbiAqICAgY2hpbGRyZW46IG5ldyBGb3JtQXJyYXkoW1xuICogICAgIG5ldyBGb3JtQ29udHJvbDxudW1iZXI+KClcbiAqICAgXSlcbiAqIH0pO1xuICogKi9cbnR5cGUgRXh0cmFjdEFueTxUPiA9IFQgZXh0ZW5kcyBFeHRyYWN0PFQsIHN0cmluZyAmIG51bWJlciAmIGJvb2xlYW4gJiBvYmplY3QgJiBudWxsICYgdW5kZWZpbmVkPiA/IGFueSA6IG5ldmVyO1xuZXhwb3J0IHR5cGUgQ29udHJvbE9mPFQ+ID0gW1RdIGV4dGVuZHMgRXh0cmFjdEFueTxUPlxuICA/IEFic3RyYWN0Q29udHJvbDxUPlxuICA6IFtUXSBleHRlbmRzIFthbnlbXV1cbiAgPyBGb3JtQXJyYXk8Q29udHJvbE9mPFVud3JhcEFycmF5PFQ+Pj5cbiAgOiBbVF0gZXh0ZW5kcyBbb2JqZWN0XVxuICA/IEZvcm1Hcm91cDxDb250cm9sc09mPFQ+PlxuICA6IEZvcm1Db250cm9sPFQ+O1xuZXhwb3J0IHR5cGUgQ29udHJvbHNPZjxUIGV4dGVuZHMgT2JqZWN0LCBUT3ZlcnJpZGVzIGV4dGVuZHMgUGFydGlhbDxBYnN0cmFjdENvbnRyb2xzT2Y8VD4+ID0ge30+ID0ge1xuICBba2V5IGluIGtleW9mIFRdOiB1bmtub3duIGV4dGVuZHMgVE92ZXJyaWRlc1trZXldID8gQ29udHJvbE9mPFRba2V5XT4gOiBUT3ZlcnJpZGVzW2tleV07XG59O1xuXG5leHBvcnQgdHlwZSBBcnJheUtleXM8VD4gPSB7IFtLIGluIGtleW9mIFRdOiBUW0tdIGV4dGVuZHMgYW55W10gPyBLIDogbmV2ZXIgfVtrZXlvZiBUXTtcbmV4cG9ydCB0eXBlIENvbnRyb2xGYWN0b3J5PFQ+ID0gKHZhbHVlOiBUKSA9PiBBYnN0cmFjdENvbnRyb2w8VD47XG5leHBvcnQgdHlwZSBDb250cm9sRmFjdG9yeU1hcDxUPiA9IHtcbiAgW0sgaW4gQXJyYXlLZXlzPFQ+XT86IENvbnRyb2xGYWN0b3J5PEFycmF5VHlwZTxUW0tdPj47XG59O1xuXG5leHBvcnQgaW50ZXJmYWNlIFBlcnNpc3RPcHRpb25zPFQ+IHtcbiAgZGVib3VuY2VUaW1lPzogbnVtYmVyO1xuICBtYW5hZ2VyPzogUGVyc2lzdE1hbmFnZXI8VD47XG4gIGFyckNvbnRyb2xGYWN0b3J5PzogQ29udHJvbEZhY3RvcnlNYXA8VD47XG59XG5cbmV4cG9ydCB0eXBlIFVwZGF0ZVZhbHVlQW5kVmFsaWRpdHlPcHRpb25zID0gUGljazxDb250cm9sT3B0aW9ucywgJ29ubHlTZWxmJyB8ICdlbWl0RXZlbnQnPjtcbiJdfQ==
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHlwZXMuanMiLCJzb3VyY2VSb290IjoiL1VzZXJzL25ldGFuZWxiYXNhbC93d3cvcmVhY3RpdmUtZm9ybXMvcHJvamVjdHMvbmduZWF0L3JlYWN0aXZlLWZvcm1zL3NyYy8iLCJzb3VyY2VzIjpbImxpYi90eXBlcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQWJzdHJhY3RDb250cm9sIGFzIE5nQWJzdHJhY3RDb250cm9sLFxuICBBYnN0cmFjdENvbnRyb2xPcHRpb25zIGFzIE5nQWJzdHJhY3RDb250cm9sT3B0aW9ucyxcbiAgVmFsaWRhdGlvbkVycm9ycyBhcyBOZ1ZhbGlkYXRpb25FcnJvcnNcbn0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgRm9ybUFycmF5IH0gZnJvbSAnLi9mb3JtQXJyYXknO1xuaW1wb3J0IHsgRm9ybUNvbnRyb2wgfSBmcm9tICcuL2Zvcm1Db250cm9sJztcbmltcG9ydCB7IEZvcm1Hcm91cCB9IGZyb20gJy4vZm9ybUdyb3VwJztcbmltcG9ydCB7IFBlcnNpc3RNYW5hZ2VyIH0gZnJvbSAnLi9wZXJzaXN0TWFuYWdlcic7XG5cbmV4cG9ydCB0eXBlIFZhbGlkYXRpb25FcnJvcnM8VCA9IE5nVmFsaWRhdGlvbkVycm9ycz4gPSBUO1xuZXhwb3J0IHR5cGUgVmFsaWRhdG9yRm48VCA9IGFueSwgRSA9IGFueT4gPSAoXG4gIGNvbnRyb2w6IEFic3RyYWN0Q29udHJvbDxUPiB8IE5nQWJzdHJhY3RDb250cm9sXG4pID0+IFZhbGlkYXRpb25FcnJvcnM8RT4gfCBudWxsO1xuZXhwb3J0IHR5cGUgQXN5bmNWYWxpZGF0b3JGbjxUID0gYW55LCBFID0gYW55PiA9IChcbiAgY29udHJvbDogQWJzdHJhY3RDb250cm9sPFQ+IHwgTmdBYnN0cmFjdENvbnRyb2xcbikgPT4gUHJvbWlzZTxWYWxpZGF0aW9uRXJyb3JzPEU+IHwgbnVsbD4gfCBPYnNlcnZhYmxlPFZhbGlkYXRpb25FcnJvcnM8RT4gfCBudWxsPjtcblxuZXhwb3J0IGludGVyZmFjZSBBYnN0cmFjdENvbnRyb2xPcHRpb25zPFQgPSBhbnksIEUgPSBhbnk+IGV4dGVuZHMgTmdBYnN0cmFjdENvbnRyb2xPcHRpb25zIHtcbiAgdmFsaWRhdG9ycz86IFZhbGlkYXRvckZuPFQsIEU+IHwgVmFsaWRhdG9yRm48VCwgRT5bXSB8IG51bGw7XG4gIGFzeW5jVmFsaWRhdG9ycz86IEFzeW5jVmFsaWRhdG9yRm48VCwgRT4gfCBBc3luY1ZhbGlkYXRvckZuPFQsIEU+W10gfCBudWxsO1xufVxuXG5leHBvcnQgdHlwZSBWYWxpZGF0b3JPck9wdHMgPSBWYWxpZGF0b3JGbiB8IFZhbGlkYXRvckZuW10gfCBBYnN0cmFjdENvbnRyb2xPcHRpb25zIHwgbnVsbDtcbmV4cG9ydCB0eXBlIEFzeW5jVmFsaWRhdG9yID0gQXN5bmNWYWxpZGF0b3JGbiB8IEFzeW5jVmFsaWRhdG9yRm5bXSB8IG51bGw7XG5leHBvcnQgdHlwZSBWYWxpZGF0b3IgPSBWYWxpZGF0b3JGbiB8IFZhbGlkYXRvckZuW107XG5cbmV4cG9ydCBpbnRlcmZhY2UgQ29udHJvbE9wdGlvbnMge1xuICBvbmx5U2VsZj86IGJvb2xlYW47XG4gIGVtaXRFdmVudD86IGJvb2xlYW47XG4gIGVtaXRNb2RlbFRvVmlld0NoYW5nZT86IGJvb2xlYW47XG4gIGVtaXRWaWV3VG9Nb2RlbENoYW5nZT86IGJvb2xlYW47XG59XG5cbmV4cG9ydCB0eXBlIENvbnRyb2xFdmVudE9wdGlvbnMgPSBQaWNrPENvbnRyb2xPcHRpb25zLCAnZW1pdEV2ZW50JyB8ICdvbmx5U2VsZic+O1xuZXhwb3J0IHR5cGUgT25seVNlbGYgPSBQaWNrPENvbnRyb2xPcHRpb25zLCAnb25seVNlbGYnPjtcbmV4cG9ydCB0eXBlIEVtaXRFdmVudCA9IFBpY2s8Q29udHJvbE9wdGlvbnMsICdlbWl0RXZlbnQnPjtcbmV4cG9ydCB0eXBlIENvbnRyb2xQYXRoID0gQXJyYXk8c3RyaW5nIHwgbnVtYmVyPiB8IHN0cmluZztcbmV4cG9ydCB0eXBlIENvbnRyb2xTdGF0ZSA9ICdWQUxJRCcgfCAnSU5WQUxJRCcgfCAnUEVORElORycgfCAnRElTQUJMRUQnO1xuXG5leHBvcnQgaW50ZXJmYWNlIEFic3RyYWN0Q29udHJvbDxUID0gYW55LCBFIGV4dGVuZHMgb2JqZWN0ID0gYW55PiBleHRlbmRzIE5nQWJzdHJhY3RDb250cm9sIHtcbiAgdmFsdWU6IFQ7XG4gIGVycm9yczogRTtcbiAgdG91Y2gkOiBPYnNlcnZhYmxlPGJvb2xlYW4+O1xuICBkaXJ0eSQ6IE9ic2VydmFibGU8Ym9vbGVhbj47XG4gIGRpc2FibGVkJDogT2JzZXJ2YWJsZTxib29sZWFuPjtcbiAgZW5hYmxlZCQ6IE9ic2VydmFibGU8Ym9vbGVhbj47XG4gIHN0YXR1cyQ6IE9ic2VydmFibGU8Q29udHJvbFN0YXRlPjtcbn1cblxuZXhwb3J0IHR5cGUgRXh0cmFjdFN0cmluZ3M8VD4gPSBFeHRyYWN0PGtleW9mIFQsIHN0cmluZz47XG5cbmV4cG9ydCBpbnRlcmZhY2UgTmdWYWxpZGF0b3JzRXJyb3JzIHtcbiAgcmVxdWlyZWQ6IHRydWU7XG4gIGVtYWlsOiB0cnVlO1xuICBwYXR0ZXJuOiB7IHJlcXVpcmVkUGF0dGVybjogc3RyaW5nOyBhY3R1YWxWYWx1ZTogc3RyaW5nIH07XG4gIG1pbmxlbmd0aDogeyByZXF1aXJlZExlbmd0aDogbnVtYmVyOyBhY3R1YWxMZW5ndGg6IG51bWJlciB9O1xuICBtYXhsZW5ndGg6IHsgcmVxdWlyZWRMZW5ndGg6IG51bWJlcjsgYWN0dWFsTGVuZ3RoOiBudW1iZXIgfTtcbiAgbWluOiB7IG1pbjogbnVtYmVyOyBhY3R1YWw6IG51bWJlciB9O1xuICBtYXg6IHsgbWF4OiBudW1iZXI7IGFjdHVhbDogbnVtYmVyIH07XG59XG5cbmV4cG9ydCB0eXBlIEJveGVkVmFsdWU8VD4gPSB7IHZhbHVlOiBUOyBkaXNhYmxlZD86IGJvb2xlYW4gfTtcbmV4cG9ydCB0eXBlIE9yQm94ZWRWYWx1ZTxUPiA9IFQgfCBCb3hlZFZhbHVlPFQ+O1xuZXhwb3J0IHR5cGUgRGVlcFBhcnRpYWw8VD4gPSB7IFtLIGluIGtleW9mIFRdPzogVFtLXSBleHRlbmRzIG9iamVjdCA/IERlZXBQYXJ0aWFsPFRbS10+IDogVFtLXSB9O1xuZXhwb3J0IHR5cGUgT2JqID0geyBba2V5OiBzdHJpbmddOiBhbnkgfTtcbnR5cGUgQXJyYXlUeXBlPFQ+ID0gVCBleHRlbmRzIEFycmF5PGluZmVyIFI+ID8gUiA6IGFueTtcblxuLypcbiAqIENvbnZlcnQgYSBDb250cm9sIHR5cGUgb3IgYSB2YWx1ZSB0eXBlXG4gKiBMZWF2aW5nIG5vbi1jb250cm9sIHR5cGVzIGFzIGlzXG4gKiAqL1xuZXhwb3J0IHR5cGUgQ29udHJvbFZhbHVlPFQ+ID0gVCBleHRlbmRzIEZvcm1Db250cm9sIHwgRm9ybUdyb3VwIHwgRm9ybUFycmF5IHwgQWJzdHJhY3RDb250cm9sID8gVFsndmFsdWUnXSA6IFQ7XG5cbi8qKlxuICogQ29udmVydCBhbiBvYmplY3Qgb2YgYSBGb3JtR3JvdXAncyBcInZhbHVlXCIgb3IgXCJjb250cm9sc1wiIHRvIGl0cyBcInZhbHVlXCJcbiAqICovXG5leHBvcnQgdHlwZSBDb250cm9sc1ZhbHVlPFQgZXh0ZW5kcyBvYmplY3Q+ID0ge1xuICBbSyBpbiBrZXlvZiBUXTogQ29udHJvbFZhbHVlPFRbS10+O1xufTtcblxudHlwZSBQcmltaXRpdmUgPSBudW1iZXIgfCBzdHJpbmcgfCBib29sZWFuIHwgbnVsbCB8IHVuZGVmaW5lZDtcblxudHlwZSBVbndyYXBBcnJheTxUPiA9IFQgZXh0ZW5kcyBBcnJheTxpbmZlciBVPiA/IFUgOiBuZXZlcjtcblxudHlwZSBFeGNsdWRlQ29udHJvbHM8VD4gPSBFeGNsdWRlPFQsIEZvcm1Db250cm9sIHwgRm9ybUdyb3VwIHwgRm9ybUFycmF5PjtcblxuLyoqXG4gKiBDb252ZXJ0cyBhIHZhbHVlIC8gZm9ybSBjb250cm9sIHRvIGZvcm0gY29udHJvbFxuICogQ29udmVydGluZyBub24tY29udHJvbCB0eXBlcyB0byBBYnN0cmFjdENvbnRyb2wgb2YgdGhlIHR5cGVcbiAqXG4gKiBUaGUgaW50ZXJtZWRpYXRlIHR5cGUgaXMgdG8gc29sdmUgdGhlIGlzc3VlIG9mIFQgYmVpbmcgYW55LCB0aHVzIGFzc2lnbmFibGUgdG8gYWxsIGNvbmRpdGlvbiBhbmQgcmVzdWx0aW5nIGluIHRoZSBcImFueVwiIHR5cGUuXG4gKlxuICogTm90ZSB0aGUgdXNlIG9mIGFuIGFycmF5IGlzIHRvIHByZXZlbnQgdXNlIG9mIGRpc3RyaWJ1dGl2ZSBjb25kaXRpb25hbCB0eXBlcy4gKGh0dHBzOi8vZ2l0aHViLmNvbS9taWNyb3NvZnQvVHlwZVNjcmlwdC9pc3N1ZXMvMzcyNzkpXG4gKiAqL1xudHlwZSBBYnN0cmFjdENvbnRyb2xPZldpdGhQb3RlbnRpYWxVbmlvbjxUPiA9IFtUXSBleHRlbmRzIFtBYnN0cmFjdENvbnRyb2xdXG4gID8gVFxuICA6IFtUXSBleHRlbmRzIFtQcmltaXRpdmVdXG4gID8gRm9ybUNvbnRyb2w8VD4gLy8gaW4gY2FzZSB3ZSBnb3Qgbm8gZ2VuZXJpYyBpbiB0aGUgY29uc3RydWN0b3IsIHJlc29sdmUgdGhlIHR5cGUgYXMgQWJzdHJhY3Q8VD4uXG4gIDogVCBleHRlbmRzIHVua25vd25cbiAgPyBBYnN0cmFjdENvbnRyb2w8RXhjbHVkZUNvbnRyb2xzPFQ+PlxuICA6IEFic3RyYWN0Q29udHJvbDxUPjtcbmV4cG9ydCB0eXBlIEFic3RyYWN0Q29udHJvbE9mPFQ+ID0gQWJzdHJhY3RDb250cm9sIGV4dGVuZHMgQWJzdHJhY3RDb250cm9sT2ZXaXRoUG90ZW50aWFsVW5pb248VD5cbiAgPyBBYnN0cmFjdENvbnRyb2w8QWJzdHJhY3RDb250cm9sT2ZXaXRoUG90ZW50aWFsVW5pb248VD5bJ3ZhbHVlJ10+XG4gIDogQWJzdHJhY3RDb250cm9sT2ZXaXRoUG90ZW50aWFsVW5pb248VD47XG5cbi8qKlxuICogQ29udmVydCBhbiBvYmplY3Qgb2YgYSBGb3JtR3JvdXAncyBcInZhbHVlXCIgb3IgXCJjb250cm9sc1wiIHRvIFwiY29udHJvbHNcIi5cbiAqIENvbnZlcnRpbmcgbm9uLWNvbnRyb2wgdHlwZXMgdG8gQWJzdHJhY3RDb250cm9sIG9mIHRoZSB0eXBlXG4gKiAqL1xuZXhwb3J0IHR5cGUgQWJzdHJhY3RDb250cm9sc09mPFQgZXh0ZW5kcyBPYmo+ID0ge1xuICBbSyBpbiBrZXlvZiBUXTogQWJzdHJhY3RDb250cm9sT2Y8VFtLXT47XG59O1xuXG4vKipcbiAqIFVzZSB3aXRoIEZvcm1Hcm91cCB5b3Ugd2FudCBhIEZvcm1Db250cm9sIGZvciBhIHByaW1pdGl2ZSwgYSBGb3JtR3JvdXAgZm9yIGFuIG9iamVjdCwgYW5kIGEgRm9ybUFycmF5IGZvciBhbiBhcnJheVxuICpcbiAqIEBleGFtcGxlXG4gKiBuZXdcbiAqICAgRm9ybUdyb3VwPENvbnRyb2xzT2Y8e1xuICogICBuYW1lOiBzdHJpbmc7XG4gKiAgIHBob25lOiB7XG4gKiAgICAgbnVtOiBudW1iZXI7XG4gKiAgICAgcHJlZml4OiBudW1iZXI7XG4gKiAgIH07XG4gKiAgIGNoaWxkcmVuOiBzdHJpbmdbXSxcbiAqIH0+Pih7XG4gKiAgIG5hbWU6IG5ldyBGb3JtQ29udHJvbDxzdHJpbmc+KCksXG4gKiAgIHBob25lOiBuZXcgRm9ybUdyb3VwKHtcbiAqICAgICBudW06IG5ldyBGb3JtQ29udHJvbDxudW1iZXI+KCksXG4gKiAgICAgcHJlZml4OiBuZXcgRm9ybUNvbnRyb2w8bnVtYmVyPigpLFxuICogICB9KSxcbiAqICAgY2hpbGRyZW46IG5ldyBGb3JtQXJyYXkoW1xuICogICAgIG5ldyBGb3JtQ29udHJvbDxudW1iZXI+KClcbiAqICAgXSlcbiAqIH0pO1xuICogKi9cbnR5cGUgRXh0cmFjdEFueTxUPiA9IFQgZXh0ZW5kcyBFeHRyYWN0PFQsIHN0cmluZyAmIG51bWJlciAmIGJvb2xlYW4gJiBvYmplY3QgJiBudWxsICYgdW5kZWZpbmVkPiA/IGFueSA6IG5ldmVyO1xuZXhwb3J0IHR5cGUgQ29udHJvbE9mPFQ+ID0gW1RdIGV4dGVuZHMgRXh0cmFjdEFueTxUPlxuICA/IEFic3RyYWN0Q29udHJvbDxUPlxuICA6IFtUXSBleHRlbmRzIFthbnlbXV1cbiAgPyBGb3JtQXJyYXk8Q29udHJvbE9mPFVud3JhcEFycmF5PFQ+Pj5cbiAgOiBbVF0gZXh0ZW5kcyBbb2JqZWN0XVxuICA/IEZvcm1Hcm91cDxDb250cm9sc09mPFQ+PlxuICA6IEZvcm1Db250cm9sPFQ+O1xuZXhwb3J0IHR5cGUgQ29udHJvbHNPZjxUIGV4dGVuZHMgT2JqZWN0LCBUT3ZlcnJpZGVzIGV4dGVuZHMgUGFydGlhbDxBYnN0cmFjdENvbnRyb2xzT2Y8VD4+ID0ge30+ID0ge1xuICBba2V5IGluIGtleW9mIFRdOiB1bmtub3duIGV4dGVuZHMgVE92ZXJyaWRlc1trZXldID8gQ29udHJvbE9mPFRba2V5XT4gOiBUT3ZlcnJpZGVzW2tleV07XG59O1xuXG5leHBvcnQgdHlwZSBBcnJheUtleXM8VD4gPSB7IFtLIGluIGtleW9mIFRdOiBUW0tdIGV4dGVuZHMgYW55W10gPyBLIDogbmV2ZXIgfVtrZXlvZiBUXTtcbmV4cG9ydCB0eXBlIENvbnRyb2xGYWN0b3J5PFQ+ID0gKHZhbHVlOiBUKSA9PiBBYnN0cmFjdENvbnRyb2w8VD47XG5leHBvcnQgdHlwZSBDb250cm9sRmFjdG9yeU1hcDxUPiA9IHtcbiAgW0sgaW4gQXJyYXlLZXlzPFQ+XT86IENvbnRyb2xGYWN0b3J5PEFycmF5VHlwZTxUW0tdPj47XG59O1xuXG5leHBvcnQgaW50ZXJmYWNlIFBlcnNpc3RPcHRpb25zPFQ+IHtcbiAgZGVib3VuY2VUaW1lPzogbnVtYmVyO1xuICBtYW5hZ2VyPzogUGVyc2lzdE1hbmFnZXI8VD47XG4gIGFyckNvbnRyb2xGYWN0b3J5PzogQ29udHJvbEZhY3RvcnlNYXA8VD47XG4gIHBlcnNpc3REaXNhYmxlZENvbnRyb2xzPzogYm9vbGVhbjtcbn1cblxuZXhwb3J0IHR5cGUgVXBkYXRlVmFsdWVBbmRWYWxpZGl0eU9wdGlvbnMgPSBQaWNrPENvbnRyb2xPcHRpb25zLCAnb25seVNlbGYnIHwgJ2VtaXRFdmVudCc+O1xuIl19

@@ -34,2 +34,2 @@ import { from, isObservable, of } from 'rxjs';

}
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXRpbHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ25lYXQvcmVhY3RpdmUtZm9ybXMvc3JjL2xpYi91dGlscy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsSUFBSSxFQUFFLFlBQVksRUFBYyxFQUFFLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFFMUQsTUFBTSxVQUFVLFdBQVcsQ0FBSSxLQUFjO0lBQzNDLE9BQU8sS0FBSyxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDO0FBQ2hELENBQUM7QUFFRCxNQUFNLFVBQVUsVUFBVSxDQUFDLENBQU07SUFDL0IsT0FBTyxPQUFPLENBQUMsS0FBSyxVQUFVLENBQUM7QUFDakMsQ0FBQztBQUVELE1BQU0sVUFBVSxLQUFLLENBQUMsQ0FBTTtJQUMxQixPQUFPLENBQUMsS0FBSyxJQUFJLElBQUksQ0FBQyxLQUFLLFNBQVMsQ0FBQztBQUN2QyxDQUFDO0FBRUQsTUFBTSxVQUFVLFNBQVMsQ0FBQyxLQUFVO0lBQ2xDLE9BQU8sUUFBTyxLQUFLLGFBQUwsS0FBSyx1QkFBTCxLQUFLLENBQUUsSUFBSSxDQUFBLEtBQUssVUFBVSxDQUFDO0FBQzNDLENBQUM7QUFFRCxNQUFNLFVBQVUsa0JBQWtCLENBQUksS0FBcUM7SUFDekUsSUFBSSxZQUFZLENBQUMsS0FBSyxDQUFDLElBQUksU0FBUyxDQUFDLEtBQUssQ0FBQyxFQUFFO1FBQzNDLE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO0tBQ3BCO0lBRUQsT0FBTyxFQUFFLENBQUMsS0FBSyxDQUFDLENBQUM7QUFDbkIsQ0FBQztBQUVELE1BQU0sVUFBVSxXQUFXLENBQUksUUFBb0IsRUFBRSxLQUFpQjtJQUNwRSxJQUFJLENBQUMsUUFBUSxJQUFJLENBQUMsS0FBSyxFQUFFO1FBQ3ZCLE9BQU8sSUFBSSxDQUFDO0tBQ2I7SUFDRCx1Q0FDSyxRQUFRLEdBQ1IsS0FBSyxFQUNSO0FBQ0osQ0FBQztBQUVELE1BQU0sVUFBVSxXQUFXLENBQUksTUFBUyxFQUFFLEdBQVk7SUFDcEQsSUFBSSxDQUFDLE1BQU0sRUFBRTtRQUNYLE9BQU8sSUFBSSxDQUFDO0tBQ2I7SUFDRCxNQUFNLGFBQWEscUJBQ2QsTUFBTSxDQUNWLENBQUM7SUFDRixPQUFPLGFBQWEsQ0FBQyxHQUFHLENBQUMsQ0FBQztJQUMxQixPQUFPLE1BQU0sQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsYUFBYSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUM7QUFDdEUsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGZyb20sIGlzT2JzZXJ2YWJsZSwgT2JzZXJ2YWJsZSwgb2YgfSBmcm9tICdyeGpzJztcblxuZXhwb3J0IGZ1bmN0aW9uIGNvZXJjZUFycmF5PFQ+KHZhbHVlOiBUIHwgVFtdKTogVFtdIHtcbiAgcmV0dXJuIEFycmF5LmlzQXJyYXkodmFsdWUpID8gdmFsdWUgOiBbdmFsdWVdO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gaXNGdW5jdGlvbih4OiBhbnkpOiB4IGlzIEZ1bmN0aW9uIHtcbiAgcmV0dXJuIHR5cGVvZiB4ID09PSAnZnVuY3Rpb24nO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gaXNOaWwodjogYW55KTogYm9vbGVhbiB7XG4gIHJldHVybiB2ID09PSBudWxsIHx8IHYgPT09IHVuZGVmaW5lZDtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGlzUHJvbWlzZSh2YWx1ZTogYW55KTogdmFsdWUgaXMgUHJvbWlzZTx1bmtub3duPiB7XG4gIHJldHVybiB0eXBlb2YgdmFsdWU/LnRoZW4gPT09ICdmdW5jdGlvbic7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiB3cmFwSW50b09ic2VydmFibGU8VD4odmFsdWU6IFQgfCBQcm9taXNlPFQ+IHwgT2JzZXJ2YWJsZTxUPik6IE9ic2VydmFibGU8VD4ge1xuICBpZiAoaXNPYnNlcnZhYmxlKHZhbHVlKSB8fCBpc1Byb21pc2UodmFsdWUpKSB7XG4gICAgcmV0dXJuIGZyb20odmFsdWUpO1xuICB9XG5cbiAgcmV0dXJuIG9mKHZhbHVlKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIG1lcmdlRXJyb3JzPEU+KGV4aXN0aW5nOiBQYXJ0aWFsPEU+LCB0b0FkZDogUGFydGlhbDxFPikge1xuICBpZiAoIWV4aXN0aW5nICYmICF0b0FkZCkge1xuICAgIHJldHVybiBudWxsO1xuICB9XG4gIHJldHVybiB7XG4gICAgLi4uZXhpc3RpbmcsXG4gICAgLi4udG9BZGRcbiAgfTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHJlbW92ZUVycm9yPEU+KGVycm9yczogRSwga2V5OiBrZXlvZiBFKSB7XG4gIGlmICghZXJyb3JzKSB7XG4gICAgcmV0dXJuIG51bGw7XG4gIH1cbiAgY29uc3QgdXBkYXRlZEVycm9ycyA9IHtcbiAgICAuLi5lcnJvcnNcbiAgfTtcbiAgZGVsZXRlIHVwZGF0ZWRFcnJvcnNba2V5XTtcbiAgcmV0dXJuIE9iamVjdC5rZXlzKHVwZGF0ZWRFcnJvcnMpLmxlbmd0aCA+IDAgPyB1cGRhdGVkRXJyb3JzIDogbnVsbDtcbn1cbiJdfQ==
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXRpbHMuanMiLCJzb3VyY2VSb290IjoiL1VzZXJzL25ldGFuZWxiYXNhbC93d3cvcmVhY3RpdmUtZm9ybXMvcHJvamVjdHMvbmduZWF0L3JlYWN0aXZlLWZvcm1zL3NyYy8iLCJzb3VyY2VzIjpbImxpYi91dGlscy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsSUFBSSxFQUFFLFlBQVksRUFBYyxFQUFFLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFFMUQsTUFBTSxVQUFVLFdBQVcsQ0FBSSxLQUFjO0lBQzNDLE9BQU8sS0FBSyxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDO0FBQ2hELENBQUM7QUFFRCxNQUFNLFVBQVUsVUFBVSxDQUFDLENBQU07SUFDL0IsT0FBTyxPQUFPLENBQUMsS0FBSyxVQUFVLENBQUM7QUFDakMsQ0FBQztBQUVELE1BQU0sVUFBVSxLQUFLLENBQUMsQ0FBTTtJQUMxQixPQUFPLENBQUMsS0FBSyxJQUFJLElBQUksQ0FBQyxLQUFLLFNBQVMsQ0FBQztBQUN2QyxDQUFDO0FBRUQsTUFBTSxVQUFVLFNBQVMsQ0FBQyxLQUFVO0lBQ2xDLE9BQU8sUUFBTyxLQUFLLGFBQUwsS0FBSyx1QkFBTCxLQUFLLENBQUUsSUFBSSxDQUFBLEtBQUssVUFBVSxDQUFDO0FBQzNDLENBQUM7QUFFRCxNQUFNLFVBQVUsa0JBQWtCLENBQUksS0FBcUM7SUFDekUsSUFBSSxZQUFZLENBQUMsS0FBSyxDQUFDLElBQUksU0FBUyxDQUFDLEtBQUssQ0FBQyxFQUFFO1FBQzNDLE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO0tBQ3BCO0lBRUQsT0FBTyxFQUFFLENBQUMsS0FBSyxDQUFDLENBQUM7QUFDbkIsQ0FBQztBQUVELE1BQU0sVUFBVSxXQUFXLENBQUksUUFBb0IsRUFBRSxLQUFpQjtJQUNwRSxJQUFJLENBQUMsUUFBUSxJQUFJLENBQUMsS0FBSyxFQUFFO1FBQ3ZCLE9BQU8sSUFBSSxDQUFDO0tBQ2I7SUFDRCx1Q0FDSyxRQUFRLEdBQ1IsS0FBSyxFQUNSO0FBQ0osQ0FBQztBQUVELE1BQU0sVUFBVSxXQUFXLENBQUksTUFBUyxFQUFFLEdBQVk7SUFDcEQsSUFBSSxDQUFDLE1BQU0sRUFBRTtRQUNYLE9BQU8sSUFBSSxDQUFDO0tBQ2I7SUFDRCxNQUFNLGFBQWEscUJBQ2QsTUFBTSxDQUNWLENBQUM7SUFDRixPQUFPLGFBQWEsQ0FBQyxHQUFHLENBQUMsQ0FBQztJQUMxQixPQUFPLE1BQU0sQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsYUFBYSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUM7QUFDdEUsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGZyb20sIGlzT2JzZXJ2YWJsZSwgT2JzZXJ2YWJsZSwgb2YgfSBmcm9tICdyeGpzJztcblxuZXhwb3J0IGZ1bmN0aW9uIGNvZXJjZUFycmF5PFQ+KHZhbHVlOiBUIHwgVFtdKTogVFtdIHtcbiAgcmV0dXJuIEFycmF5LmlzQXJyYXkodmFsdWUpID8gdmFsdWUgOiBbdmFsdWVdO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gaXNGdW5jdGlvbih4OiBhbnkpOiB4IGlzIEZ1bmN0aW9uIHtcbiAgcmV0dXJuIHR5cGVvZiB4ID09PSAnZnVuY3Rpb24nO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gaXNOaWwodjogYW55KTogYm9vbGVhbiB7XG4gIHJldHVybiB2ID09PSBudWxsIHx8IHYgPT09IHVuZGVmaW5lZDtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGlzUHJvbWlzZSh2YWx1ZTogYW55KTogdmFsdWUgaXMgUHJvbWlzZTx1bmtub3duPiB7XG4gIHJldHVybiB0eXBlb2YgdmFsdWU/LnRoZW4gPT09ICdmdW5jdGlvbic7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiB3cmFwSW50b09ic2VydmFibGU8VD4odmFsdWU6IFQgfCBQcm9taXNlPFQ+IHwgT2JzZXJ2YWJsZTxUPik6IE9ic2VydmFibGU8VD4ge1xuICBpZiAoaXNPYnNlcnZhYmxlKHZhbHVlKSB8fCBpc1Byb21pc2UodmFsdWUpKSB7XG4gICAgcmV0dXJuIGZyb20odmFsdWUpO1xuICB9XG5cbiAgcmV0dXJuIG9mKHZhbHVlKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIG1lcmdlRXJyb3JzPEU+KGV4aXN0aW5nOiBQYXJ0aWFsPEU+LCB0b0FkZDogUGFydGlhbDxFPikge1xuICBpZiAoIWV4aXN0aW5nICYmICF0b0FkZCkge1xuICAgIHJldHVybiBudWxsO1xuICB9XG4gIHJldHVybiB7XG4gICAgLi4uZXhpc3RpbmcsXG4gICAgLi4udG9BZGRcbiAgfTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHJlbW92ZUVycm9yPEU+KGVycm9yczogRSwga2V5OiBrZXlvZiBFKSB7XG4gIGlmICghZXJyb3JzKSB7XG4gICAgcmV0dXJuIG51bGw7XG4gIH1cbiAgY29uc3QgdXBkYXRlZEVycm9ycyA9IHtcbiAgICAuLi5lcnJvcnNcbiAgfTtcbiAgZGVsZXRlIHVwZGF0ZWRFcnJvcnNba2V5XTtcbiAgcmV0dXJuIE9iamVjdC5rZXlzKHVwZGF0ZWRFcnJvcnMpLmxlbmd0aCA+IDAgPyB1cGRhdGVkRXJyb3JzIDogbnVsbDtcbn1cbiJdfQ==

@@ -5,2 +5,2 @@ /**

export * from './public-api';
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmduZWF0LXJlYWN0aXZlLWZvcm1zLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvbmduZWF0L3JlYWN0aXZlLWZvcm1zL3NyYy9uZ25lYXQtcmVhY3RpdmUtZm9ybXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7O0dBRUc7QUFFSCxjQUFjLGNBQWMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogR2VuZXJhdGVkIGJ1bmRsZSBpbmRleC4gRG8gbm90IGVkaXQuXG4gKi9cblxuZXhwb3J0ICogZnJvbSAnLi9wdWJsaWMtYXBpJztcblxuZXhwb3J0IHtBYnN0cmFjdENvbnRyb2xPZiBhcyDJtWQsQWJzdHJhY3RDb250cm9sc09mIGFzIMm1ZSxBc3luY1ZhbGlkYXRvciBhcyDJtWIsT3JCb3hlZFZhbHVlIGFzIMm1YyxWYWxpZGF0b3JPck9wdHMgYXMgybVhfSBmcm9tICcuL2xpYi90eXBlcyc7Il19
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmduZWF0LXJlYWN0aXZlLWZvcm1zLmpzIiwic291cmNlUm9vdCI6Ii9Vc2Vycy9uZXRhbmVsYmFzYWwvd3d3L3JlYWN0aXZlLWZvcm1zL3Byb2plY3RzL25nbmVhdC9yZWFjdGl2ZS1mb3Jtcy9zcmMvIiwic291cmNlcyI6WyJuZ25lYXQtcmVhY3RpdmUtZm9ybXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7O0dBRUc7QUFFSCxjQUFjLGNBQWMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogR2VuZXJhdGVkIGJ1bmRsZSBpbmRleC4gRG8gbm90IGVkaXQuXG4gKi9cblxuZXhwb3J0ICogZnJvbSAnLi9wdWJsaWMtYXBpJztcblxuZXhwb3J0IHtBYnN0cmFjdENvbnRyb2xPZiBhcyDJtWQsQWJzdHJhY3RDb250cm9sc09mIGFzIMm1ZSxBc3luY1ZhbGlkYXRvciBhcyDJtWIsT3JCb3hlZFZhbHVlIGFzIMm1YyxWYWxpZGF0b3JPck9wdHMgYXMgybVhfSBmcm9tICcuL2xpYi90eXBlcyc7Il19

@@ -8,2 +8,2 @@ export { FormArray } from './lib/formArray';

export { SessionStorageManager } from './lib/sessionStorageManager';
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL25nbmVhdC9yZWFjdGl2ZS1mb3Jtcy9zcmMvcHVibGljLWFwaS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDNUMsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBQ2hELE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUM1QyxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFZaEQsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFFbEUsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDaEUsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sNkJBQTZCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgeyBGb3JtQXJyYXkgfSBmcm9tICcuL2xpYi9mb3JtQXJyYXknO1xuZXhwb3J0IHsgRm9ybUNvbnRyb2wgfSBmcm9tICcuL2xpYi9mb3JtQ29udHJvbCc7XG5leHBvcnQgeyBGb3JtR3JvdXAgfSBmcm9tICcuL2xpYi9mb3JtR3JvdXAnO1xuZXhwb3J0IHsgRm9ybUJ1aWxkZXIgfSBmcm9tICcuL2xpYi9mb3JtQnVpbGRlcic7XG5leHBvcnQge1xuICBBYnN0cmFjdENvbnRyb2wsXG4gIFZhbGlkYXRvckZuLFxuICBBc3luY1ZhbGlkYXRvckZuLFxuICBOZ1ZhbGlkYXRvcnNFcnJvcnMsXG4gIENvbnRyb2xGYWN0b3J5LFxuICBDb250cm9sRmFjdG9yeU1hcCxcbiAgUGVyc2lzdE9wdGlvbnMsXG4gIENvbnRyb2xPZixcbiAgQ29udHJvbHNPZlxufSBmcm9tICcuL2xpYi90eXBlcyc7XG5leHBvcnQgeyBDb250cm9sVmFsdWVBY2Nlc3NvciB9IGZyb20gJy4vbGliL2NvbnRyb2xWYWx1ZUFjY2Vzc29yJztcbmV4cG9ydCB7IFBlcnNpc3RNYW5hZ2VyIH0gZnJvbSAnLi9saWIvcGVyc2lzdE1hbmFnZXInO1xuZXhwb3J0IHsgTG9jYWxTdG9yYWdlTWFuYWdlciB9IGZyb20gJy4vbGliL2xvY2FsU3RvcmFnZU1hbmFnZXInO1xuZXhwb3J0IHsgU2Vzc2lvblN0b3JhZ2VNYW5hZ2VyIH0gZnJvbSAnLi9saWIvc2Vzc2lvblN0b3JhZ2VNYW5hZ2VyJztcbiJdfQ==
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiIvVXNlcnMvbmV0YW5lbGJhc2FsL3d3dy9yZWFjdGl2ZS1mb3Jtcy9wcm9qZWN0cy9uZ25lYXQvcmVhY3RpdmUtZm9ybXMvc3JjLyIsInNvdXJjZXMiOlsicHVibGljLWFwaS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDNUMsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBQ2hELE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUM1QyxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFZaEQsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFFbEUsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDaEUsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sNkJBQTZCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgeyBGb3JtQXJyYXkgfSBmcm9tICcuL2xpYi9mb3JtQXJyYXknO1xuZXhwb3J0IHsgRm9ybUNvbnRyb2wgfSBmcm9tICcuL2xpYi9mb3JtQ29udHJvbCc7XG5leHBvcnQgeyBGb3JtR3JvdXAgfSBmcm9tICcuL2xpYi9mb3JtR3JvdXAnO1xuZXhwb3J0IHsgRm9ybUJ1aWxkZXIgfSBmcm9tICcuL2xpYi9mb3JtQnVpbGRlcic7XG5leHBvcnQge1xuICBBYnN0cmFjdENvbnRyb2wsXG4gIFZhbGlkYXRvckZuLFxuICBBc3luY1ZhbGlkYXRvckZuLFxuICBOZ1ZhbGlkYXRvcnNFcnJvcnMsXG4gIENvbnRyb2xGYWN0b3J5LFxuICBDb250cm9sRmFjdG9yeU1hcCxcbiAgUGVyc2lzdE9wdGlvbnMsXG4gIENvbnRyb2xPZixcbiAgQ29udHJvbHNPZlxufSBmcm9tICcuL2xpYi90eXBlcyc7XG5leHBvcnQgeyBDb250cm9sVmFsdWVBY2Nlc3NvciB9IGZyb20gJy4vbGliL2NvbnRyb2xWYWx1ZUFjY2Vzc29yJztcbmV4cG9ydCB7IFBlcnNpc3RNYW5hZ2VyIH0gZnJvbSAnLi9saWIvcGVyc2lzdE1hbmFnZXInO1xuZXhwb3J0IHsgTG9jYWxTdG9yYWdlTWFuYWdlciB9IGZyb20gJy4vbGliL2xvY2FsU3RvcmFnZU1hbmFnZXInO1xuZXhwb3J0IHsgU2Vzc2lvblN0b3JhZ2VNYW5hZ2VyIH0gZnJvbSAnLi9saWIvc2Vzc2lvblN0b3JhZ2VNYW5hZ2VyJztcbiJdfQ==

@@ -108,3 +108,3 @@ import { FormArray as FormArray$1, FormControl as FormControl$1, FormGroup as FormGroup$1, FormBuilder as FormBuilder$1 } from '@angular/forms';

function persistValue$(control, key, options) {
return control.valueChanges.pipe(debounceTime(options.debounceTime), switchMap(value => wrapIntoObservable(options.manager.setValue(key, value))));
return control.valueChanges.pipe(debounceTime(options.debounceTime), switchMap(value => wrapIntoObservable(options.manager.setValue(key, options.persistDisabledControls ? control.getRawValue() : value))));
}

@@ -537,7 +537,8 @@ function handleFormArrays(control, formValue, arrControlFactory) {

}
persist(key, { debounceTime, manager, arrControlFactory }) {
persist(key, { debounceTime, manager, arrControlFactory, persistDisabledControls }) {
const persistManager = manager || new LocalStorageManager();
return this.restore(key, persistManager, arrControlFactory).pipe(switchMap(() => persistValue$(this, key, {
debounceTime: debounceTime || 250,
manager: persistManager
manager: persistManager,
persistDisabledControls
})));

@@ -544,0 +545,0 @@ }

@@ -0,0 +0,0 @@ import { FormArray as NgFormArray } from '@angular/forms';

@@ -0,0 +0,0 @@ import { ControlValueAccessor as NgControlValueAccessor } from '@angular/forms';

@@ -0,0 +0,0 @@ import { FormArray as NgFormArray } from '@angular/forms';

@@ -0,0 +0,0 @@ import { FormBuilder as NgFormBuilder } from '@angular/forms';

@@ -0,0 +0,0 @@ import { FormControl as NgFormControl } from '@angular/forms';

@@ -81,4 +81,4 @@ import { FormGroup as NgFormGroup } from '@angular/forms';

setDisable(disable?: boolean, opts?: ControlEventOptions): void;
persist(key: string, { debounceTime, manager, arrControlFactory }: PersistOptions<T>): Observable<T>;
persist(key: string, { debounceTime, manager, arrControlFactory, persistDisabledControls }: PersistOptions<T>): Observable<T>;
private restore;
}

@@ -0,0 +0,0 @@ import { PersistManager } from './persistManager';

@@ -0,0 +0,0 @@ import { Observable } from 'rxjs';

@@ -0,0 +0,0 @@ import { PersistManager } from './persistManager';

@@ -140,4 +140,5 @@ import { AbstractControl as NgAbstractControl, AbstractControlOptions as NgAbstractControlOptions, ValidationErrors as NgValidationErrors } from '@angular/forms';

arrControlFactory?: ControlFactoryMap<T>;
persistDisabledControls?: boolean;
}
export declare type UpdateValueAndValidityOptions = Pick<ControlOptions, 'onlySelf' | 'emitEvent'>;
export {};

@@ -0,0 +0,0 @@ import { Observable } from 'rxjs';

@@ -0,0 +0,0 @@ /**

{
"name": "@ngneat/reactive-forms",
"description": "(Angular Reactive) Forms with Benefits",
"version": "1.5.2",
"version": "1.6.0",
"schematics": "./schematics/collection.json",

@@ -6,0 +6,0 @@ "keywords": [

@@ -0,0 +0,0 @@ export { FormArray } from './lib/formArray';

@@ -557,2 +557,3 @@ <p align="center">

| `arrControlFactory` | Factory functions for `FormArray` | |
| `persistDisabledControls` | Defines whether values of disabled controls should be persisted | false |

@@ -559,0 +560,0 @@

@@ -0,0 +0,0 @@ "use strict";

@@ -0,0 +0,0 @@ "use strict";

"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
//# sourceMappingURL=schema.js.map
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.insertAfterLastOccurrence = exports.findNodes = exports.insertImport = void 0;
// /**

@@ -4,0 +5,0 @@ // * @license

"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.applyChanges = exports.commitChanges = exports.createChangeRecorder = exports.createReplaceChange = exports.ReplaceChange = exports.RemoveChange = exports.InsertChange = exports.NoopChange = void 0;
/**

@@ -4,0 +5,0 @@ * An operation that does nothing.

"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.splice = void 0;
function splice(str, pos, end, insertion = '') {

@@ -4,0 +5,0 @@ return str.slice(0, pos) + insertion + str.slice(end);

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

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