blob: 2e744242e996fcb319dd25555bde450373b9e9cc [file] [log] [blame]
/**
* @license Angular v8.1.1
* (c) 2010-2019 Google LLC. https://angular.io/
* License: MIT
*/
!function(t,e){"object"==typeof exports&&"undefined"!=typeof module?e(exports,require("@angular/core"),require("@angular/platform-browser"),require("rxjs"),require("rxjs/operators")):"function"==typeof define&&define.amd?define("@angular/forms",["exports","@angular/core","@angular/platform-browser","rxjs","rxjs/operators"],e):e(((t=t||self).ng=t.ng||{},t.ng.forms={}),t.ng.core,t.ng.platformBrowser,t.rxjs,t.rxjs.operators)}(this,function(t,e,n,o,r){"use strict";var i=function(t,e){return(i=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var n in e)e.hasOwnProperty(n)&&(t[n]=e[n])})(t,e)};function a(t,e){function n(){this.constructor=t}i(t,e),t.prototype=null===e?Object.create(e):(n.prototype=e.prototype,new n)}var s=function(){return(s=Object.assign||function t(e){for(var n,o=1,r=arguments.length;o<r;o++)for(var i in n=arguments[o])Object.prototype.hasOwnProperty.call(n,i)&&(e[i]=n[i]);return e}).apply(this,arguments)};function u(t,e,n,o){var r,i=arguments.length,a=i<3?e:null===o?o=Object.getOwnPropertyDescriptor(e,n):o;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)a=Reflect.decorate(t,e,n,o);else for(var s=t.length-1;s>=0;s--)(r=t[s])&&(a=(i<3?r(a):i>3?r(e,n,a):r(e,n))||a);return i>3&&a&&Object.defineProperty(e,n,a),a}function l(t,e){return function(n,o){e(n,o,t)}}function c(t,e){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(t,e)}function p(t){var e="function"==typeof Symbol&&t[Symbol.iterator],n=0;return e?e.call(t):{next:function(){return t&&n>=t.length&&(t=void 0),{value:t&&t[n++],done:!t}}}}function h(t,e){var n="function"==typeof Symbol&&t[Symbol.iterator];if(!n)return t;var o,r,i=n.call(t),a=[];try{for(;(void 0===e||e-- >0)&&!(o=i.next()).done;)a.push(o.value)}catch(t){r={error:t}}finally{try{o&&!o.done&&(n=i.return)&&n.call(i)}finally{if(r)throw r.error}}return a}
/**
* @license
* Copyright Google Inc. All Rights Reserved.
*
* Use of this source code is governed by an MIT-style license that can be
* found in the LICENSE file at https://angular.io/license
*/
var f=new e.InjectionToken("NgValueAccessor"),d={provide:f,useExisting:e.forwardRef(function(){return g}),multi:!0},g=function(){function t(t,e){this._renderer=t,this._elementRef=e,this.onChange=function(t){},this.onTouched=function(){}}return t.prototype.writeValue=function(t){this._renderer.setProperty(this._elementRef.nativeElement,"checked",t)},t.prototype.registerOnChange=function(t){this.onChange=t},t.prototype.registerOnTouched=function(t){this.onTouched=t},t.prototype.setDisabledState=function(t){this._renderer.setProperty(this._elementRef.nativeElement,"disabled",t)},u([e.Directive({selector:"input[type=checkbox][formControlName],input[type=checkbox][formControl],input[type=checkbox][ngModel]",host:{"(change)":"onChange($event.target.checked)","(blur)":"onTouched()"},providers:[d]}),c("design:paramtypes",[e.Renderer2,e.ElementRef])],t)}(),m={provide:f,useExisting:e.forwardRef(function(){return _}),multi:!0},y=new e.InjectionToken("CompositionEventMode"),_=function(){function t(t,e,o){this._renderer=t,this._elementRef=e,this._compositionMode=o,this.onChange=function(t){},this.onTouched=function(){},this._composing=!1,null==this._compositionMode&&(this._compositionMode=!function r(){var t=ngetDOM()?ngetDOM().getUserAgent():"";return/android (\d+)/.test(t.toLowerCase())}())}return t.prototype.writeValue=function(t){this._renderer.setProperty(this._elementRef.nativeElement,"value",null==t?"":t)},t.prototype.registerOnChange=function(t){this.onChange=t},t.prototype.registerOnTouched=function(t){this.onTouched=t},t.prototype.setDisabledState=function(t){this._renderer.setProperty(this._elementRef.nativeElement,"disabled",t)},t.prototype._handleInput=function(t){(!this._compositionMode||this._compositionMode&&!this._composing)&&this.onChange(t)},t.prototype._compositionStart=function(){this._composing=!0},t.prototype._compositionEnd=function(t){this._composing=!1,this._compositionMode&&this.onChange(t)},u([e.Directive({selector:"input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]",host:{"(input)":"$any(this)._handleInput($event.target.value)","(blur)":"onTouched()","(compositionstart)":"$any(this)._compositionStart()","(compositionend)":"$any(this)._compositionEnd($event.target.value)"},providers:[m]}),l(2,e.Optional()),l(2,e.Inject(y)),c("design:paramtypes",[e.Renderer2,e.ElementRef,Boolean])],t)}(),v=function(){function t(){}return Object.defineProperty(t.prototype,"value",{get:function(){return this.control?this.control.value:null},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"valid",{get:function(){return this.control?this.control.valid:null},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"invalid",{get:function(){return this.control?this.control.invalid:null},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"pending",{get:function(){return this.control?this.control.pending:null},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"disabled",{get:function(){return this.control?this.control.disabled:null},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"enabled",{get:function(){return this.control?this.control.enabled:null},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"errors",{get:function(){return this.control?this.control.errors:null},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"pristine",{get:function(){return this.control?this.control.pristine:null},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"dirty",{get:function(){return this.control?this.control.dirty:null},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"touched",{get:function(){return this.control?this.control.touched:null},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"status",{get:function(){return this.control?this.control.status:null},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"untouched",{get:function(){return this.control?this.control.untouched:null},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"statusChanges",{get:function(){return this.control?this.control.statusChanges:null},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"valueChanges",{get:function(){return this.control?this.control.valueChanges:null},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"path",{get:function(){return null},enumerable:!0,configurable:!0}),t.prototype.reset=function(t){void 0===t&&(t=void 0),this.control&&this.control.reset(t)},t.prototype.hasError=function(t,e){return!!this.control&&this.control.hasError(t,e)},t.prototype.getError=function(t,e){return this.control?this.control.getError(t,e):null},t}(),b=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return a(e,t),Object.defineProperty(e.prototype,"formDirective",{get:function(){return null},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"path",{get:function(){return null},enumerable:!0,configurable:!0}),e}(v);
/**
* @license
* Copyright Google Inc. All Rights Reserved.
*
* Use of this source code is governed by an MIT-style license that can be
* found in the LICENSE file at https://angular.io/license
*/
/**
* @license
* Copyright Google Inc. All Rights Reserved.
*
* Use of this source code is governed by an MIT-style license that can be
* found in the LICENSE file at https://angular.io/license
*/
function C(){throw new Error("unimplemented")}var O=function(t){function e(){var e=null!==t&&t.apply(this,arguments)||this;return e._parent=null,e.name=null,e.valueAccessor=null,e._rawValidators=[],e._rawAsyncValidators=[],e}return a(e,t),Object.defineProperty(e.prototype,"validator",{get:function(){return C()},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"asyncValidator",{get:function(){return C()},enumerable:!0,configurable:!0}),e}(v),V=function(){function t(t){this._cd=t}return Object.defineProperty(t.prototype,"ngClassUntouched",{get:function(){return!!this._cd.control&&this._cd.control.untouched},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"ngClassTouched",{get:function(){return!!this._cd.control&&this._cd.control.touched},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"ngClassPristine",{get:function(){return!!this._cd.control&&this._cd.control.pristine},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"ngClassDirty",{get:function(){return!!this._cd.control&&this._cd.control.dirty},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"ngClassValid",{get:function(){return!!this._cd.control&&this._cd.control.valid},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"ngClassInvalid",{get:function(){return!!this._cd.control&&this._cd.control.invalid},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"ngClassPending",{get:function(){return!!this._cd.control&&this._cd.control.pending},enumerable:!0,configurable:!0}),t}(),E={"[class.ng-untouched]":"ngClassUntouched","[class.ng-touched]":"ngClassTouched","[class.ng-pristine]":"ngClassPristine","[class.ng-dirty]":"ngClassDirty","[class.ng-valid]":"ngClassValid","[class.ng-invalid]":"ngClassInvalid","[class.ng-pending]":"ngClassPending"},w=function(t){function n(e){return t.call(this,e)||this}return a(n,t),u([e.Directive({selector:"[formControlName],[ngModel],[formControl]",host:E}),l(0,e.Self()),c("design:paramtypes",[O])],n)}(V),A=function(t){function n(e){return t.call(this,e)||this}return a(n,t),u([e.Directive({selector:"[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]",host:E}),l(0,e.Self()),c("design:paramtypes",[b])],n)}(V);
/**
* @license
* Copyright Google Inc. All Rights Reserved.
*
* Use of this source code is governed by an MIT-style license that can be
* found in the LICENSE file at https://angular.io/license
*/
/**
* @license
* Copyright Google Inc. All Rights Reserved.
*
* Use of this source code is governed by an MIT-style license that can be
* found in the LICENSE file at https://angular.io/license
*/
function P(t){return null==t||0===t.length}var S=new e.InjectionToken("NgValidators"),j=new e.InjectionToken("NgAsyncValidators"),D=/^(?=.{1,254}$)(?=.{1,64}@)[-!#$%&'*+\/0-9=?A-Z^_`a-z{|}~]+(\.[-!#$%&'*+\/0-9=?A-Z^_`a-z{|}~]+)*@[A-Za-z0-9]([A-Za-z0-9-]{0,61}[A-Za-z0-9])?(\.[A-Za-z0-9]([A-Za-z0-9-]{0,61}[A-Za-z0-9])?)*$/,M=function(){function t(){}return t.min=function(t){return function(e){if(P(e.value)||P(t))return null;var n=parseFloat(e.value);return!isNaN(n)&&n<t?{min:{min:t,actual:e.value}}:null}},t.max=function(t){return function(e){if(P(e.value)||P(t))return null;var n=parseFloat(e.value);return!isNaN(n)&&n>t?{max:{max:t,actual:e.value}}:null}},t.required=function(t){return P(t.value)?{required:!0}:null},t.requiredTrue=function(t){return!0===t.value?null:{required:!0}},t.email=function(t){return P(t.value)?null:D.test(t.value)?null:{email:!0}},t.minLength=function(t){return function(e){if(P(e.value))return null;var n=e.value?e.value.length:0;return n<t?{minlength:{requiredLength:t,actualLength:n}}:null}},t.maxLength=function(t){return function(e){var n=e.value?e.value.length:0;return n>t?{maxlength:{requiredLength:t,actualLength:n}}:null}},t.pattern=function(e){return e?("string"==typeof e?(o="","^"!==e.charAt(0)&&(o+="^"),o+=e,"$"!==e.charAt(e.length-1)&&(o+="$"),n=new RegExp(o)):(o=e.toString(),n=e),function(t){if(P(t.value))return null;var e=t.value;return n.test(e)?null:{pattern:{requiredPattern:o,actualValue:e}}}):t.nullValidator;var n,o},t.nullValidator=function(t){return null},t.compose=function(t){if(!t)return null;var e=t.filter(k);return 0==e.length?null:function(t){return N(function n(t,e){return e.map(function(e){return e(t)})}(t,e))}},t.composeAsync=function(t){if(!t)return null;var e=t.filter(k);return 0==e.length?null:function(t){var n=function i(t,e){return e.map(function(e){return e(t)})}(t,e).map(x);return o.forkJoin(n).pipe(r.map(N))}},t}();function k(t){return null!=t}function x(t){var n=eisPromise(t)?o.from(t):t;if(!eisObservable(n))throw new Error("Expected validator to return Promise or Observable.");return n}function N(t){var e=t.reduce(function(t,e){return null!=e?s({},t,e):t},{});return 0===Object.keys(e).length?null:e}
/**
* @license
* Copyright Google Inc. All Rights Reserved.
*
* Use of this source code is governed by an MIT-style license that can be
* found in the LICENSE file at https://angular.io/license
*/function I(t){return t.validate?function(e){return t.validate(e)}:t}function F(t){return t.validate?function(e){return t.validate(e)}:t}
/**
* @license
* Copyright Google Inc. All Rights Reserved.
*
* Use of this source code is governed by an MIT-style license that can be
* found in the LICENSE file at https://angular.io/license
*/var T={provide:f,useExisting:e.forwardRef(function(){return R}),multi:!0},R=function(){function t(t,e){this._renderer=t,this._elementRef=e,this.onChange=function(t){},this.onTouched=function(){}}return t.prototype.writeValue=function(t){this._renderer.setProperty(this._elementRef.nativeElement,"value",null==t?"":t)},t.prototype.registerOnChange=function(t){this.onChange=function(e){t(""==e?null:parseFloat(e))}},t.prototype.registerOnTouched=function(t){this.onTouched=t},t.prototype.setDisabledState=function(t){this._renderer.setProperty(this._elementRef.nativeElement,"disabled",t)},u([e.Directive({selector:"input[type=number][formControlName],input[type=number][formControl],input[type=number][ngModel]",host:{"(change)":"onChange($event.target.value)","(input)":"onChange($event.target.value)","(blur)":"onTouched()"},providers:[T]}),c("design:paramtypes",[e.Renderer2,e.ElementRef])],t)}(),G={provide:f,useExisting:e.forwardRef(function(){return W}),multi:!0},U=function(){function t(){this._accessors=[]}return t.prototype.add=function(t,e){this._accessors.push([t,e])},t.prototype.remove=function(t){for(var e=this._accessors.length-1;e>=0;--e)if(this._accessors[e][1]===t)return void this._accessors.splice(e,1)},t.prototype.select=function(t){var e=this;this._accessors.forEach(function(n){e._isSameGroup(n,t)&&n[1]!==t&&n[1].fireUncheck(t.value)})},t.prototype._isSameGroup=function(t,e){return!!t[0].control&&t[0]._parent===e._control._parent&&t[1].name===e.name},u([e.Injectable()],t)}(),W=function(){function t(t,e,n,o){this._renderer=t,this._elementRef=e,this._registry=n,this._injector=o,this.onChange=function(){},this.onTouched=function(){}}return t.prototype.ngOnInit=function(){this._control=this._injector.get(O),this._checkName(),this._registry.add(this._control,this)},t.prototype.ngOnDestroy=function(){this._registry.remove(this)},t.prototype.writeValue=function(t){this._state=t===this.value,this._renderer.setProperty(this._elementRef.nativeElement,"checked",this._state)},t.prototype.registerOnChange=function(t){var e=this;this._fn=t,this.onChange=function(){t(e.value),e._registry.select(e)}},t.prototype.fireUncheck=function(t){this.writeValue(t)},t.prototype.registerOnTouched=function(t){this.onTouched=t},t.prototype.setDisabledState=function(t){this._renderer.setProperty(this._elementRef.nativeElement,"disabled",t)},t.prototype._checkName=function(){this.name&&this.formControlName&&this.name!==this.formControlName&&this._throwNameError(),!this.name&&this.formControlName&&(this.name=this.formControlName)},t.prototype._throwNameError=function(){throw new Error('\n If you define both a name and a formControlName attribute on your radio button, their values\n must match. Ex: <input type="radio" formControlName="food" name="food">\n ')},u([e.Input(),c("design:type",String)],t.prototype,"name",void 0),u([e.Input(),c("design:type",String)],t.prototype,"formControlName",void 0),u([e.Input(),c("design:type",Object)],t.prototype,"value",void 0),u([e.Directive({selector:"input[type=radio][formControlName],input[type=radio][formControl],input[type=radio][ngModel]",host:{"(change)":"onChange()","(blur)":"onTouched()"},providers:[G]}),c("design:paramtypes",[e.Renderer2,e.ElementRef,U,e.Injector])],t)}(),q={provide:f,useExisting:e.forwardRef(function(){return L}),multi:!0},L=function(){function t(t,e){this._renderer=t,this._elementRef=e,this.onChange=function(t){},this.onTouched=function(){}}return t.prototype.writeValue=function(t){this._renderer.setProperty(this._elementRef.nativeElement,"value",parseFloat(t))},t.prototype.registerOnChange=function(t){this.onChange=function(e){t(""==e?null:parseFloat(e))}},t.prototype.registerOnTouched=function(t){this.onTouched=t},t.prototype.setDisabledState=function(t){this._renderer.setProperty(this._elementRef.nativeElement,"disabled",t)},u([e.Directive({selector:"input[type=range][formControlName],input[type=range][formControl],input[type=range][ngModel]",host:{"(change)":"onChange($event.target.value)","(input)":"onChange($event.target.value)","(blur)":"onTouched()"},providers:[q]}),c("design:paramtypes",[e.Renderer2,e.ElementRef])],t)}(),$='\n <div [formGroup]="myGroup">\n <input formControlName="firstName">\n </div>\n\n In your class:\n\n this.myGroup = new FormGroup({\n firstName: new FormControl()\n });',B='\n <div [formGroup]="myGroup">\n <div formGroupName="person">\n <input formControlName="firstName">\n </div>\n </div>\n\n In your class:\n\n this.myGroup = new FormGroup({\n person: new FormGroup({ firstName: new FormControl() })\n });',H='\n <form>\n <div ngModelGroup="person">\n <input [(ngModel)]="person.name" name="firstName">\n </div>\n </form>',z=function(){function t(){}return t.controlParentException=function(){throw new Error("formControlName must be used with a parent formGroup directive. You'll want to add a formGroup\n directive and pass it an existing FormGroup instance (you can create one in your class).\n\n Example:\n\n "+$)},t.ngModelGroupException=function(){throw new Error('formControlName cannot be used with an ngModelGroup parent. It is only compatible with parents\n that also have a "form" prefix: formGroupName, formArrayName, or formGroup.\n\n Option 1: Update the parent to be formGroupName (reactive form strategy)\n\n '+B+"\n\n Option 2: Use ngModel instead of formControlName (template-driven strategy)\n\n "+H)},t.missingFormException=function(){throw new Error("formGroup expects a FormGroup instance. Please pass one in.\n\n Example:\n\n "+$)},t.groupParentException=function(){throw new Error("formGroupName must be used with a parent formGroup directive. You'll want to add a formGroup\n directive and pass it an existing FormGroup instance (you can create one in your class).\n\n Example:\n\n "+B)},t.arrayParentException=function(){throw new Error('formArrayName must be used with a parent formGroup directive. You\'ll want to add a formGroup\n directive and pass it an existing FormGroup instance (you can create one in your class).\n\n Example:\n\n \n <div [formGroup]="myGroup">\n <div formArrayName="cities">\n <div *ngFor="let city of cityArray.controls; index as i">\n <input [formControlName]="i">\n </div>\n </div>\n </div>\n\n In your class:\n\n this.cityArray = new FormArray([new FormControl(\'SF\')]);\n this.myGroup = new FormGroup({\n cities: this.cityArray\n });')},t.disabledAttrWarning=function(){console.warn("\n It looks like you're using the disabled attribute with a reactive form directive. If you set disabled to true\n when you set up this control in your component class, the disabled attribute will actually be set in the DOM for\n you. We recommend using this approach to avoid 'changed after checked' errors.\n \n Example: \n form = new FormGroup({\n first: new FormControl({value: 'Nancy', disabled: true}, Validators.required),\n last: new FormControl('Drew', Validators.required)\n });\n ")},t.ngModelWarning=function(t){console.warn("\n It looks like you're using ngModel on the same form field as "+t+". \n Support for using the ngModel input property and ngModelChange event with \n reactive form directives has been deprecated in Angular v6 and will be removed \n in Angular v7.\n \n For more information on this, see our API docs here:\n https://angular.io/api/forms/"+("formControl"===t?"FormControlDirective":"FormControlName")+"#use-with-ngmodel\n ")},t}(),Z={provide:f,useExisting:e.forwardRef(function(){return J}),multi:!0};function Y(t,e){return null==t?""+e:(e&&"object"==typeof e&&(e="Object"),(t+": "+e).slice(0,50))}var J=function(){function t(t,n){this._renderer=t,this._elementRef=n,this._optionMap=new Map,this._idCounter=0,this.onChange=function(t){},this.onTouched=function(){},this._compareWith=elooseIdentical}return Object.defineProperty(t.prototype,"compareWith",{set:function(t){if("function"!=typeof t)throw new Error("compareWith must be a function, but received "+JSON.stringify(t));this._compareWith=t},enumerable:!0,configurable:!0}),t.prototype.writeValue=function(t){this.value=t;var e=this._getOptionId(t);null==e&&this._renderer.setProperty(this._elementRef.nativeElement,"selectedIndex",-1);var n=Y(e,t);this._renderer.setProperty(this._elementRef.nativeElement,"value",n)},t.prototype.registerOnChange=function(t){var e=this;this.onChange=function(n){e.value=e._getOptionValue(n),t(e.value)}},t.prototype.registerOnTouched=function(t){this.onTouched=t},t.prototype.setDisabledState=function(t){this._renderer.setProperty(this._elementRef.nativeElement,"disabled",t)},t.prototype._registerOption=function(){return(this._idCounter++).toString()},t.prototype._getOptionId=function(t){var e,n;try{for(var o=p(Array.from(this._optionMap.keys())),r=o.next();!r.done;r=o.next()){var i=r.value;if(this._compareWith(this._optionMap.get(i),t))return i}}catch(t){e={error:t}}finally{try{r&&!r.done&&(n=o.return)&&n.call(o)}finally{if(e)throw e.error}}return null},t.prototype._getOptionValue=function(t){var e=function n(t){return t.split(":")[0]}(t);return this._optionMap.has(e)?this._optionMap.get(e):t},u([e.Input(),c("design:type",Function),c("design:paramtypes",[Function])],t.prototype,"compareWith",null),u([e.Directive({selector:"select:not([multiple])[formControlName],select:not([multiple])[formControl],select:not([multiple])[ngModel]",host:{"(change)":"onChange($event.target.value)","(blur)":"onTouched()"},providers:[Z]}),c("design:paramtypes",[e.Renderer2,e.ElementRef])],t)}(),K=function(){function t(t,e,n){this._element=t,this._renderer=e,this._select=n,this._select&&(this.id=this._select._registerOption())}return Object.defineProperty(t.prototype,"ngValue",{set:function(t){null!=this._select&&(this._select._optionMap.set(this.id,t),this._setElementValue(Y(this.id,t)),this._select.writeValue(this._select.value))},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"value",{set:function(t){this._setElementValue(t),this._select&&this._select.writeValue(this._select.value)},enumerable:!0,configurable:!0}),t.prototype._setElementValue=function(t){this._renderer.setProperty(this._element.nativeElement,"value",t)},t.prototype.ngOnDestroy=function(){this._select&&(this._select._optionMap.delete(this.id),this._select.writeValue(this._select.value))},u([e.Input("ngValue"),c("design:type",Object),c("design:paramtypes",[Object])],t.prototype,"ngValue",null),u([e.Input("value"),c("design:type",Object),c("design:paramtypes",[Object])],t.prototype,"value",null),u([e.Directive({selector:"option"}),l(2,e.Optional()),l(2,e.Host()),c("design:paramtypes",[e.ElementRef,e.Renderer2,J])],t)}(),Q={provide:f,useExisting:e.forwardRef(function(){return tt}),multi:!0};function X(t,e){return null==t?""+e:("string"==typeof e&&(e="'"+e+"'"),e&&"object"==typeof e&&(e="Object"),(t+": "+e).slice(0,50))}var tt=function(){function t(t,n){this._renderer=t,this._elementRef=n,this._optionMap=new Map,this._idCounter=0,this.onChange=function(t){},this.onTouched=function(){},this._compareWith=elooseIdentical}return Object.defineProperty(t.prototype,"compareWith",{set:function(t){if("function"!=typeof t)throw new Error("compareWith must be a function, but received "+JSON.stringify(t));this._compareWith=t},enumerable:!0,configurable:!0}),t.prototype.writeValue=function(t){var e,n=this;if(this.value=t,Array.isArray(t)){var o=t.map(function(t){return n._getOptionId(t)});e=function(t,e){t._setSelected(o.indexOf(e.toString())>-1)}}else e=function(t,e){t._setSelected(!1)};this._optionMap.forEach(e)},t.prototype.registerOnChange=function(t){var e=this;this.onChange=function(n){var o=[];if(n.hasOwnProperty("selectedOptions"))for(var r=n.selectedOptions,i=0;i<r.length;i++){var a=r.item(i),s=e._getOptionValue(a.value);o.push(s)}else for(r=n.options,i=0;i<r.length;i++)(a=r.item(i)).selected&&(s=e._getOptionValue(a.value),o.push(s));e.value=o,t(o)}},t.prototype.registerOnTouched=function(t){this.onTouched=t},t.prototype.setDisabledState=function(t){this._renderer.setProperty(this._elementRef.nativeElement,"disabled",t)},t.prototype._registerOption=function(t){var e=(this._idCounter++).toString();return this._optionMap.set(e,t),e},t.prototype._getOptionId=function(t){var e,n;try{for(var o=p(Array.from(this._optionMap.keys())),r=o.next();!r.done;r=o.next()){var i=r.value;if(this._compareWith(this._optionMap.get(i)._value,t))return i}}catch(t){e={error:t}}finally{try{r&&!r.done&&(n=o.return)&&n.call(o)}finally{if(e)throw e.error}}return null},t.prototype._getOptionValue=function(t){var e=function n(t){return t.split(":")[0]}(t);return this._optionMap.has(e)?this._optionMap.get(e)._value:t},u([e.Input(),c("design:type",Function),c("design:paramtypes",[Function])],t.prototype,"compareWith",null),u([e.Directive({selector:"select[multiple][formControlName],select[multiple][formControl],select[multiple][ngModel]",host:{"(change)":"onChange($event.target)","(blur)":"onTouched()"},providers:[Q]}),c("design:paramtypes",[e.Renderer2,e.ElementRef])],t)}(),et=function(){function t(t,e,n){this._element=t,this._renderer=e,this._select=n,this._select&&(this.id=this._select._registerOption(this))}return Object.defineProperty(t.prototype,"ngValue",{set:function(t){null!=this._select&&(this._value=t,this._setElementValue(X(this.id,t)),this._select.writeValue(this._select.value))},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"value",{set:function(t){this._select?(this._value=t,this._setElementValue(X(this.id,t)),this._select.writeValue(this._select.value)):this._setElementValue(t)},enumerable:!0,configurable:!0}),t.prototype._setElementValue=function(t){this._renderer.setProperty(this._element.nativeElement,"value",t)},t.prototype._setSelected=function(t){this._renderer.setProperty(this._element.nativeElement,"selected",t)},t.prototype.ngOnDestroy=function(){this._select&&(this._select._optionMap.delete(this.id),this._select.writeValue(this._select.value))},u([e.Input("ngValue"),c("design:type",Object),c("design:paramtypes",[Object])],t.prototype,"ngValue",null),u([e.Input("value"),c("design:type",Object),c("design:paramtypes",[Object])],t.prototype,"value",null),u([e.Directive({selector:"option"}),l(2,e.Optional()),l(2,e.Host()),c("design:paramtypes",[e.ElementRef,e.Renderer2,tt])],t)}();
/**
* @license
* Copyright Google Inc. All Rights Reserved.
*
* Use of this source code is governed by an MIT-style license that can be
* found in the LICENSE file at https://angular.io/license
*/
function nt(t,e){return function n(){for(var t=[],e=0;e<arguments.length;e++)t=t.concat(h(arguments[e]));return t}(e.path,[t])}function ot(t,e){t||st(e,"Cannot find control with"),e.valueAccessor||st(e,"No value accessor for form control with"),t.validator=M.compose([t.validator,e.validator]),t.asyncValidator=M.composeAsync([t.asyncValidator,e.asyncValidator]),e.valueAccessor.writeValue(t.value),function n(t,e){e.valueAccessor.registerOnChange(function(n){t._pendingValue=n,t._pendingChange=!0,t._pendingDirty=!0,"change"===t.updateOn&&rt(t,e)})}(t,e),function o(t,e){t.registerOnChange(function(t,n){e.valueAccessor.writeValue(t),n&&e.viewToModelUpdate(t)})}(t,e),function r(t,e){e.valueAccessor.registerOnTouched(function(){t._pendingTouched=!0,"blur"===t.updateOn&&t._pendingChange&&rt(t,e),"submit"!==t.updateOn&&t.markAsTouched()})}(t,e),e.valueAccessor.setDisabledState&&t.registerOnDisabledChange(function(t){e.valueAccessor.setDisabledState(t)}),e._rawValidators.forEach(function(e){e.registerOnValidatorChange&&e.registerOnValidatorChange(function(){return t.updateValueAndValidity()})}),e._rawAsyncValidators.forEach(function(e){e.registerOnValidatorChange&&e.registerOnValidatorChange(function(){return t.updateValueAndValidity()})})}function rt(t,e){t._pendingDirty&&t.markAsDirty(),t.setValue(t._pendingValue,{emitModelToViewChange:!1}),e.viewToModelUpdate(t._pendingValue),t._pendingChange=!1}function it(t,e){null==t&&st(e,"Cannot find control with"),t.validator=M.compose([t.validator,e.validator]),t.asyncValidator=M.composeAsync([t.asyncValidator,e.asyncValidator])}function at(t){return st(t,"There is no FormControl instance attached to form control element with")}function st(t,e){var n;throw n=t.path.length>1?"path: '"+t.path.join(" -> ")+"'":t.path[0]?"name: '"+t.path+"'":"unspecified name attribute",new Error(e+" "+n)}function ut(t){return null!=t?M.compose(t.map(I)):null}function lt(t){return null!=t?M.composeAsync(t.map(F)):null}function ct(t,n){if(!t.hasOwnProperty("model"))return!1;var o=t.model;return!!o.isFirstChange()||!elooseIdentical(n,o.currentValue)}var pt=[g,L,R,J,tt,W];function ht(t,e){t._syncPendingControls(),e.forEach(function(t){var e=t.control;"submit"===e.updateOn&&e._pendingChange&&(t.viewToModelUpdate(e._pendingValue),e._pendingChange=!1)})}function ft(t,e){if(!e)return null;Array.isArray(e)||st(t,"Value accessor was not provided as an array for form control with");var n=void 0,o=void 0,r=void 0;return e.forEach(function(e){e.constructor===_?n=e:function i(t){return pt.some(function(e){return t.constructor===e})}(e)?(o&&st(t,"More than one built-in value accessor matches form control with"),o=e):(r&&st(t,"More than one custom value accessor matches form control with"),r=e)}),r||o||n||(st(t,"No valid value accessor for form control with"),null)}function dt(t,e){var n=t.indexOf(e);n>-1&&t.splice(n,1)}function gt(t,n,o,r){e.isDevMode()&&"never"!==r&&((null!==r&&"once"!==r||n._ngModelWarningSentOnce)&&("always"!==r||o._ngModelWarningSent)||(z.ngModelWarning(t),n._ngModelWarningSentOnce=!0,o._ngModelWarningSent=!0))}
/**
* @license
* Copyright Google Inc. All Rights Reserved.
*
* Use of this source code is governed by an MIT-style license that can be
* found in the LICENSE file at https://angular.io/license
*/function mt(t){var e=_t(t)?t.validators:t;return Array.isArray(e)?ut(e):e||null}function yt(t,e){var n=_t(e)?e.asyncValidators:t;return Array.isArray(n)?lt(n):n||null}function _t(t){return null!=t&&!Array.isArray(t)&&"object"==typeof t}var vt=function(){function t(t,e){this.validator=t,this.asyncValidator=e,this._onCollectionChange=function(){},this.pristine=!0,this.touched=!1,this._onDisabledChange=[]}return Object.defineProperty(t.prototype,"parent",{get:function(){return this._parent},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"valid",{get:function(){return"VALID"===this.status},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"invalid",{get:function(){return"INVALID"===this.status},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"pending",{get:function(){return"PENDING"==this.status},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"disabled",{get:function(){return"DISABLED"===this.status},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"enabled",{get:function(){return"DISABLED"!==this.status},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"dirty",{get:function(){return!this.pristine},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"untouched",{get:function(){return!this.touched},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"updateOn",{get:function(){return this._updateOn?this._updateOn:this.parent?this.parent.updateOn:"change"},enumerable:!0,configurable:!0}),t.prototype.setValidators=function(t){this.validator=mt(t)},t.prototype.setAsyncValidators=function(t){this.asyncValidator=yt(t)},t.prototype.clearValidators=function(){this.validator=null},t.prototype.clearAsyncValidators=function(){this.asyncValidator=null},t.prototype.markAsTouched=function(t){void 0===t&&(t={}),this.touched=!0,this._parent&&!t.onlySelf&&this._parent.markAsTouched(t)},t.prototype.markAllAsTouched=function(){this.markAsTouched({onlySelf:!0}),this._forEachChild(function(t){return t.markAllAsTouched()})},t.prototype.markAsUntouched=function(t){void 0===t&&(t={}),this.touched=!1,this._pendingTouched=!1,this._forEachChild(function(t){t.markAsUntouched({onlySelf:!0})}),this._parent&&!t.onlySelf&&this._parent._updateTouched(t)},t.prototype.markAsDirty=function(t){void 0===t&&(t={}),this.pristine=!1,this._parent&&!t.onlySelf&&this._parent.markAsDirty(t)},t.prototype.markAsPristine=function(t){void 0===t&&(t={}),this.pristine=!0,this._pendingDirty=!1,this._forEachChild(function(t){t.markAsPristine({onlySelf:!0})}),this._parent&&!t.onlySelf&&this._parent._updatePristine(t)},t.prototype.markAsPending=function(t){void 0===t&&(t={}),this.status="PENDING",!1!==t.emitEvent&&this.statusChanges.emit(this.status),this._parent&&!t.onlySelf&&this._parent.markAsPending(t)},t.prototype.disable=function(t){void 0===t&&(t={});var e=this._parentMarkedDirty(t.onlySelf);this.status="DISABLED",this.errors=null,this._forEachChild(function(e){e.disable(s({},t,{onlySelf:!0}))}),this._updateValue(),!1!==t.emitEvent&&(this.valueChanges.emit(this.value),this.statusChanges.emit(this.status)),this._updateAncestors(s({},t,{skipPristineCheck:e})),this._onDisabledChange.forEach(function(t){return t(!0)})},t.prototype.enable=function(t){void 0===t&&(t={});var e=this._parentMarkedDirty(t.onlySelf);this.status="VALID",this._forEachChild(function(e){e.enable(s({},t,{onlySelf:!0}))}),this.updateValueAndValidity({onlySelf:!0,emitEvent:t.emitEvent}),this._updateAncestors(s({},t,{skipPristineCheck:e})),this._onDisabledChange.forEach(function(t){return t(!1)})},t.prototype._updateAncestors=function(t){this._parent&&!t.onlySelf&&(this._parent.updateValueAndValidity(t),t.skipPristineCheck||this._parent._updatePristine(),this._parent._updateTouched())},t.prototype.setParent=function(t){this._parent=t},t.prototype.updateValueAndValidity=function(t){void 0===t&&(t={}),this._setInitialStatus(),this._updateValue(),this.enabled&&(this._cancelExistingSubscription(),this.errors=this._runValidator(),this.status=this._calculateStatus(),"VALID"!==this.status&&"PENDING"!==this.status||this._runAsyncValidator(t.emitEvent)),!1!==t.emitEvent&&(this.valueChanges.emit(this.value),this.statusChanges.emit(this.status)),this._parent&&!t.onlySelf&&this._parent.updateValueAndValidity(t)},t.prototype._updateTreeValidity=function(t){void 0===t&&(t={emitEvent:!0}),this._forEachChild(function(e){return e._updateTreeValidity(t)}),this.updateValueAndValidity({onlySelf:!0,emitEvent:t.emitEvent})},t.prototype._setInitialStatus=function(){this.status=this._allControlsDisabled()?"DISABLED":"VALID"},t.prototype._runValidator=function(){return this.validator?this.validator(this):null},t.prototype._runAsyncValidator=function(t){var e=this;if(this.asyncValidator){this.status="PENDING";var n=x(this.asyncValidator(this));this._asyncValidationSubscription=n.subscribe(function(n){return e.setErrors(n,{emitEvent:t})})}},t.prototype._cancelExistingSubscription=function(){this._asyncValidationSubscription&&this._asyncValidationSubscription.unsubscribe()},t.prototype.setErrors=function(t,e){void 0===e&&(e={}),this.errors=t,this._updateControlsErrors(!1!==e.emitEvent)},t.prototype.get=function(t){return function e(t,n,o){return null==n?null:(n instanceof Array||(n=n.split(o)),n instanceof Array&&0===n.length?null:n.reduce(function(t,e){return t instanceof Ct?t.controls.hasOwnProperty(e)?t.controls[e]:null:t instanceof Ot&&t.at(e)||null},t))}(this,t,".")},t.prototype.getError=function(t,e){var n=e?this.get(e):this;return n&&n.errors?n.errors[t]:null},t.prototype.hasError=function(t,e){return!!this.getError(t,e)},Object.defineProperty(t.prototype,"root",{get:function(){for(var t=this;t._parent;)t=t._parent;return t},enumerable:!0,configurable:!0}),t.prototype._updateControlsErrors=function(t){this.status=this._calculateStatus(),t&&this.statusChanges.emit(this.status),this._parent&&this._parent._updateControlsErrors(t)},t.prototype._initObservables=function(){this.valueChanges=new e.EventEmitter,this.statusChanges=new e.EventEmitter},t.prototype._calculateStatus=function(){return this._allControlsDisabled()?"DISABLED":this.errors?"INVALID":this._anyControlsHaveStatus("PENDING")?"PENDING":this._anyControlsHaveStatus("INVALID")?"INVALID":"VALID"},t.prototype._anyControlsHaveStatus=function(t){return this._anyControls(function(e){return e.status===t})},t.prototype._anyControlsDirty=function(){return this._anyControls(function(t){return t.dirty})},t.prototype._anyControlsTouched=function(){return this._anyControls(function(t){return t.touched})},t.prototype._updatePristine=function(t){void 0===t&&(t={}),this.pristine=!this._anyControlsDirty(),this._parent&&!t.onlySelf&&this._parent._updatePristine(t)},t.prototype._updateTouched=function(t){void 0===t&&(t={}),this.touched=this._anyControlsTouched(),this._parent&&!t.onlySelf&&this._parent._updateTouched(t)},t.prototype._isBoxedValue=function(t){return"object"==typeof t&&null!==t&&2===Object.keys(t).length&&"value"in t&&"disabled"in t},t.prototype._registerOnCollectionChange=function(t){this._onCollectionChange=t},t.prototype._setUpdateStrategy=function(t){_t(t)&&null!=t.updateOn&&(this._updateOn=t.updateOn)},t.prototype._parentMarkedDirty=function(t){return!t&&this._parent&&this._parent.dirty&&!this._parent._anyControlsDirty()},t}(),bt=function(t){function e(e,n,o){void 0===e&&(e=null);var r=t.call(this,mt(n),yt(o,n))||this;return r._onChange=[],r._applyFormState(e),r._setUpdateStrategy(n),r.updateValueAndValidity({onlySelf:!0,emitEvent:!1}),r._initObservables(),r}return a(e,t),e.prototype.setValue=function(t,e){var n=this;void 0===e&&(e={}),this.value=this._pendingValue=t,this._onChange.length&&!1!==e.emitModelToViewChange&&this._onChange.forEach(function(t){return t(n.value,!1!==e.emitViewToModelChange)}),this.updateValueAndValidity(e)},e.prototype.patchValue=function(t,e){void 0===e&&(e={}),this.setValue(t,e)},e.prototype.reset=function(t,e){void 0===t&&(t=null),void 0===e&&(e={}),this._applyFormState(t),this.markAsPristine(e),this.markAsUntouched(e),this.setValue(this.value,e),this._pendingChange=!1},e.prototype._updateValue=function(){},e.prototype._anyControls=function(t){return!1},e.prototype._allControlsDisabled=function(){return this.disabled},e.prototype.registerOnChange=function(t){this._onChange.push(t)},e.prototype._clearChangeFns=function(){this._onChange=[],this._onDisabledChange=[],this._onCollectionChange=function(){}},e.prototype.registerOnDisabledChange=function(t){this._onDisabledChange.push(t)},e.prototype._forEachChild=function(t){},e.prototype._syncPendingControls=function(){return!("submit"!==this.updateOn||(this._pendingDirty&&this.markAsDirty(),this._pendingTouched&&this.markAsTouched(),!this._pendingChange)||(this.setValue(this._pendingValue,{onlySelf:!0,emitModelToViewChange:!1}),0))},e.prototype._applyFormState=function(t){this._isBoxedValue(t)?(this.value=this._pendingValue=t.value,t.disabled?this.disable({onlySelf:!0,emitEvent:!1}):this.enable({onlySelf:!0,emitEvent:!1})):this.value=this._pendingValue=t},e}(vt),Ct=function(t){function e(e,n,o){var r=t.call(this,mt(n),yt(o,n))||this;return r.controls=e,r._initObservables(),r._setUpdateStrategy(n),r._setUpControls(),r.updateValueAndValidity({onlySelf:!0,emitEvent:!1}),r}return a(e,t),e.prototype.registerControl=function(t,e){return this.controls[t]?this.controls[t]:(this.controls[t]=e,e.setParent(this),e._registerOnCollectionChange(this._onCollectionChange),e)},e.prototype.addControl=function(t,e){this.registerControl(t,e),this.updateValueAndValidity(),this._onCollectionChange()},e.prototype.removeControl=function(t){this.controls[t]&&this.controls[t]._registerOnCollectionChange(function(){}),delete this.controls[t],this.updateValueAndValidity(),this._onCollectionChange()},e.prototype.setControl=function(t,e){this.controls[t]&&this.controls[t]._registerOnCollectionChange(function(){}),delete this.controls[t],e&&this.registerControl(t,e),this.updateValueAndValidity(),this._onCollectionChange()},e.prototype.contains=function(t){return this.controls.hasOwnProperty(t)&&this.controls[t].enabled},e.prototype.setValue=function(t,e){var n=this;void 0===e&&(e={}),this._checkAllValuesPresent(t),Object.keys(t).forEach(function(o){n._throwIfControlMissing(o),n.controls[o].setValue(t[o],{onlySelf:!0,emitEvent:e.emitEvent})}),this.updateValueAndValidity(e)},e.prototype.patchValue=function(t,e){var n=this;void 0===e&&(e={}),Object.keys(t).forEach(function(o){n.controls[o]&&n.controls[o].patchValue(t[o],{onlySelf:!0,emitEvent:e.emitEvent})}),this.updateValueAndValidity(e)},e.prototype.reset=function(t,e){void 0===t&&(t={}),void 0===e&&(e={}),this._forEachChild(function(n,o){n.reset(t[o],{onlySelf:!0,emitEvent:e.emitEvent})}),this._updatePristine(e),this._updateTouched(e),this.updateValueAndValidity(e)},e.prototype.getRawValue=function(){return this._reduceChildren({},function(t,e,n){return t[n]=e instanceof bt?e.value:e.getRawValue(),t})},e.prototype._syncPendingControls=function(){var t=this._reduceChildren(!1,function(t,e){return!!e._syncPendingControls()||t});return t&&this.updateValueAndValidity({onlySelf:!0}),t},e.prototype._throwIfControlMissing=function(t){if(!Object.keys(this.controls).length)throw new Error("\n There are no form controls registered with this group yet. If you're using ngModel,\n you may want to check next tick (e.g. use setTimeout).\n ");if(!this.controls[t])throw new Error("Cannot find form control with name: "+t+".")},e.prototype._forEachChild=function(t){var e=this;Object.keys(this.controls).forEach(function(n){return t(e.controls[n],n)})},e.prototype._setUpControls=function(){var t=this;this._forEachChild(function(e){e.setParent(t),e._registerOnCollectionChange(t._onCollectionChange)})},e.prototype._updateValue=function(){this.value=this._reduceValue()},e.prototype._anyControls=function(t){var e=this,n=!1;return this._forEachChild(function(o,r){n=n||e.contains(r)&&t(o)}),n},e.prototype._reduceValue=function(){var t=this;return this._reduceChildren({},function(e,n,o){return(n.enabled||t.disabled)&&(e[o]=n.value),e})},e.prototype._reduceChildren=function(t,e){var n=t;return this._forEachChild(function(t,o){n=e(n,t,o)}),n},e.prototype._allControlsDisabled=function(){var t,e;try{for(var n=p(Object.keys(this.controls)),o=n.next();!o.done;o=n.next())if(this.controls[o.value].enabled)return!1}catch(e){t={error:e}}finally{try{o&&!o.done&&(e=n.return)&&e.call(n)}finally{if(t)throw t.error}}return Object.keys(this.controls).length>0||this.disabled},e.prototype._checkAllValuesPresent=function(t){this._forEachChild(function(e,n){if(void 0===t[n])throw new Error("Must supply a value for form control with name: '"+n+"'.")})},e}(vt),Ot=function(t){function e(e,n,o){var r=t.call(this,mt(n),yt(o,n))||this;return r.controls=e,r._initObservables(),r._setUpdateStrategy(n),r._setUpControls(),r.updateValueAndValidity({onlySelf:!0,emitEvent:!1}),r}return a(e,t),e.prototype.at=function(t){return this.controls[t]},e.prototype.push=function(t){this.controls.push(t),this._registerControl(t),this.updateValueAndValidity(),this._onCollectionChange()},e.prototype.insert=function(t,e){this.controls.splice(t,0,e),this._registerControl(e),this.updateValueAndValidity()},e.prototype.removeAt=function(t){this.controls[t]&&this.controls[t]._registerOnCollectionChange(function(){}),this.controls.splice(t,1),this.updateValueAndValidity()},e.prototype.setControl=function(t,e){this.controls[t]&&this.controls[t]._registerOnCollectionChange(function(){}),this.controls.splice(t,1),e&&(this.controls.splice(t,0,e),this._registerControl(e)),this.updateValueAndValidity(),this._onCollectionChange()},Object.defineProperty(e.prototype,"length",{get:function(){return this.controls.length},enumerable:!0,configurable:!0}),e.prototype.setValue=function(t,e){var n=this;void 0===e&&(e={}),this._checkAllValuesPresent(t),t.forEach(function(t,o){n._throwIfControlMissing(o),n.at(o).setValue(t,{onlySelf:!0,emitEvent:e.emitEvent})}),this.updateValueAndValidity(e)},e.prototype.patchValue=function(t,e){var n=this;void 0===e&&(e={}),t.forEach(function(t,o){n.at(o)&&n.at(o).patchValue(t,{onlySelf:!0,emitEvent:e.emitEvent})}),this.updateValueAndValidity(e)},e.prototype.reset=function(t,e){void 0===t&&(t=[]),void 0===e&&(e={}),this._forEachChild(function(n,o){n.reset(t[o],{onlySelf:!0,emitEvent:e.emitEvent})}),this._updatePristine(e),this._updateTouched(e),this.updateValueAndValidity(e)},e.prototype.getRawValue=function(){return this.controls.map(function(t){return t instanceof bt?t.value:t.getRawValue()})},e.prototype.clear=function(){this.controls.length<1||(this._forEachChild(function(t){return t._registerOnCollectionChange(function(){})}),this.controls.splice(0),this.updateValueAndValidity())},e.prototype._syncPendingControls=function(){var t=this.controls.reduce(function(t,e){return!!e._syncPendingControls()||t},!1);return t&&this.updateValueAndValidity({onlySelf:!0}),t},e.prototype._throwIfControlMissing=function(t){if(!this.controls.length)throw new Error("\n There are no form controls registered with this array yet. If you're using ngModel,\n you may want to check next tick (e.g. use setTimeout).\n ");if(!this.at(t))throw new Error("Cannot find form control at index "+t)},e.prototype._forEachChild=function(t){this.controls.forEach(function(e,n){t(e,n)})},e.prototype._updateValue=function(){var t=this;this.value=this.controls.filter(function(e){return e.enabled||t.disabled}).map(function(t){return t.value})},e.prototype._anyControls=function(t){return this.controls.some(function(e){return e.enabled&&t(e)})},e.prototype._setUpControls=function(){var t=this;this._forEachChild(function(e){return t._registerControl(e)})},e.prototype._checkAllValuesPresent=function(t){this._forEachChild(function(e,n){if(void 0===t[n])throw new Error("Must supply a value for form control at index: "+n+".")})},e.prototype._allControlsDisabled=function(){var t,e;try{for(var n=p(this.controls),o=n.next();!o.done;o=n.next())if(o.value.enabled)return!1}catch(e){t={error:e}}finally{try{o&&!o.done&&(e=n.return)&&e.call(n)}finally{if(t)throw t.error}}return this.controls.length>0||this.disabled},e.prototype._registerControl=function(t){t.setParent(this),t._registerOnCollectionChange(this._onCollectionChange)},e}(vt),Vt={provide:b,useExisting:e.forwardRef(function(){return wt})},Et=Promise.resolve(null),wt=function(t){function n(n,o){var r=t.call(this)||this;return r.submitted=!1,r._directives=[],r.ngSubmit=new e.EventEmitter,r.form=new Ct({},ut(n),lt(o)),r}return a(n,t),n.prototype.ngAfterViewInit=function(){this._setUpdateStrategy()},Object.defineProperty(n.prototype,"formDirective",{get:function(){return this},enumerable:!0,configurable:!0}),Object.defineProperty(n.prototype,"control",{get:function(){return this.form},enumerable:!0,configurable:!0}),Object.defineProperty(n.prototype,"path",{get:function(){return[]},enumerable:!0,configurable:!0}),Object.defineProperty(n.prototype,"controls",{get:function(){return this.form.controls},enumerable:!0,configurable:!0}),n.prototype.addControl=function(t){var e=this;Et.then(function(){var n=e._findContainer(t.path);t.control=n.registerControl(t.name,t.control),ot(t.control,t),t.control.updateValueAndValidity({emitEvent:!1}),e._directives.push(t)})},n.prototype.getControl=function(t){return this.form.get(t.path)},n.prototype.removeControl=function(t){var e=this;Et.then(function(){var n=e._findContainer(t.path);n&&n.removeControl(t.name),dt(e._directives,t)})},n.prototype.addFormGroup=function(t){var e=this;Et.then(function(){var n=e._findContainer(t.path),o=new Ct({});it(o,t),n.registerControl(t.name,o),o.updateValueAndValidity({emitEvent:!1})})},n.prototype.removeFormGroup=function(t){var e=this;Et.then(function(){var n=e._findContainer(t.path);n&&n.removeControl(t.name)})},n.prototype.getFormGroup=function(t){return this.form.get(t.path)},n.prototype.updateModel=function(t,e){var n=this;Et.then(function(){n.form.get(t.path).setValue(e)})},n.prototype.setValue=function(t){this.control.setValue(t)},n.prototype.onSubmit=function(t){return this.submitted=!0,ht(this.form,this._directives),this.ngSubmit.emit(t),!1},n.prototype.onReset=function(){this.resetForm()},n.prototype.resetForm=function(t){void 0===t&&(t=void 0),this.form.reset(t),this.submitted=!1},n.prototype._setUpdateStrategy=function(){this.options&&null!=this.options.updateOn&&(this.form._updateOn=this.options.updateOn)},n.prototype._findContainer=function(t){return t.pop(),t.length?this.form.get(t):this.form},u([e.Input("ngFormOptions"),c("design:type",Object)],n.prototype,"options",void 0),u([e.Directive({selector:"form:not([ngNoForm]):not([formGroup]),ngForm,ng-form,[ngForm]",providers:[Vt],host:{"(submit)":"onSubmit($event)","(reset)":"onReset()"},outputs:["ngSubmit"],exportAs:"ngForm"}),l(0,e.Optional()),l(0,e.Self()),l(0,e.Inject(S)),l(1,e.Optional()),l(1,e.Self()),l(1,e.Inject(j)),c("design:paramtypes",[Array,Array])],n)}(b),At=function(){function t(){}return t.modelParentException=function(){throw new Error('\n ngModel cannot be used to register form controls with a parent formGroup directive. Try using\n formGroup\'s partner directive "formControlName" instead. Example:\n\n '+$+'\n\n Or, if you\'d like to avoid registering this form control, indicate that it\'s standalone in ngModelOptions:\n\n Example:\n\n \n <div [formGroup]="myGroup">\n <input formControlName="firstName">\n <input [(ngModel)]="showMoreControls" [ngModelOptions]="{standalone: true}">\n </div>\n ')},t.formGroupNameException=function(){throw new Error("\n ngModel cannot be used to register form controls with a parent formGroupName or formArrayName directive.\n\n Option 1: Use formControlName instead of ngModel (reactive strategy):\n\n "+B+"\n\n Option 2: Update ngModel's parent be ngModelGroup (template-driven strategy):\n\n "+H)},t.missingNameException=function(){throw new Error('If ngModel is used within a form tag, either the name attribute must be set or the form\n control must be defined as \'standalone\' in ngModelOptions.\n\n Example 1: <input [(ngModel)]="person.firstName" name="first">\n Example 2: <input [(ngModel)]="person.firstName" [ngModelOptions]="{standalone: true}">')},t.modelGroupParentException=function(){throw new Error("\n ngModelGroup cannot be used with a parent formGroup directive.\n\n Option 1: Use formGroupName instead of ngModelGroup (reactive strategy):\n\n "+B+"\n\n Option 2: Use a regular form tag instead of the formGroup directive (template-driven strategy):\n\n "+H)},t.ngFormWarning=function(){console.warn("\n It looks like you're using 'ngForm'.\n\n Support for using the 'ngForm' element selector has been deprecated in Angular v6 and will be removed\n in Angular v9.\n\n Use 'ng-form' instead.\n\n Before:\n <ngForm #myForm=\"ngForm\">\n\n After:\n <ng-form #myForm=\"ngForm\">\n ")},t}(),Pt=new e.InjectionToken("NgFormSelectorWarning"),St=function(){function t(t){(t&&"once"!==t||n._ngFormWarning)&&"always"!==t||(At.ngFormWarning(),n._ngFormWarning=!0)}var n;return n=t,t._ngFormWarning=!1,n=u([e.Directive({selector:"ngForm"}),l(0,e.Optional()),l(0,e.Inject(Pt)),c("design:paramtypes",[Object])],t)}(),jt=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return a(e,t),e.prototype.ngOnInit=function(){this._checkParentType(),this.formDirective.addFormGroup(this)},e.prototype.ngOnDestroy=function(){this.formDirective&&this.formDirective.removeFormGroup(this)},Object.defineProperty(e.prototype,"control",{get:function(){return this.formDirective.getFormGroup(this)},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"path",{get:function(){return nt(this.name,this._parent)},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"formDirective",{get:function(){return this._parent?this._parent.formDirective:null},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"validator",{get:function(){return ut(this._validators)},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"asyncValidator",{get:function(){return lt(this._asyncValidators)},enumerable:!0,configurable:!0}),e.prototype._checkParentType=function(){},e}(b),Dt={provide:b,useExisting:e.forwardRef(function(){return Mt})},Mt=function(t){function n(e,n,o){var r=t.call(this)||this;return r._parent=e,r._validators=n,r._asyncValidators=o,r}var o;return a(n,t),o=n,n.prototype._checkParentType=function(){this._parent instanceof o||this._parent instanceof wt||At.modelGroupParentException()},u([e.Input("ngModelGroup"),c("design:type",String)],n.prototype,"name",void 0),o=u([e.Directive({selector:"[ngModelGroup]",providers:[Dt],exportAs:"ngModelGroup"}),l(0,e.Host()),l(0,e.SkipSelf()),l(1,e.Optional()),l(1,e.Self()),l(1,e.Inject(S)),l(2,e.Optional()),l(2,e.Self()),l(2,e.Inject(j)),c("design:paramtypes",[b,Array,Array])],n)}(jt),kt={provide:O,useExisting:e.forwardRef(function(){return Nt})},xt=Promise.resolve(null),Nt=function(t){function n(n,o,r,i){var a=t.call(this)||this;return a.control=new bt,a._registered=!1,a.update=new e.EventEmitter,a._parent=n,a._rawValidators=o||[],a._rawAsyncValidators=r||[],a.valueAccessor=ft(a,i),a}return a(n,t),n.prototype.ngOnChanges=function(t){this._checkForErrors(),this._registered||this._setUpControl(),"isDisabled"in t&&this._updateDisabled(t),ct(t,this.viewModel)&&(this._updateValue(this.model),this.viewModel=this.model)},n.prototype.ngOnDestroy=function(){this.formDirective&&this.formDirective.removeControl(this)},Object.defineProperty(n.prototype,"path",{get:function(){return this._parent?nt(this.name,this._parent):[this.name]},enumerable:!0,configurable:!0}),Object.defineProperty(n.prototype,"formDirective",{get:function(){return this._parent?this._parent.formDirective:null},enumerable:!0,configurable:!0}),Object.defineProperty(n.prototype,"validator",{get:function(){return ut(this._rawValidators)},enumerable:!0,configurable:!0}),Object.defineProperty(n.prototype,"asyncValidator",{get:function(){return lt(this._rawAsyncValidators)},enumerable:!0,configurable:!0}),n.prototype.viewToModelUpdate=function(t){this.viewModel=t,this.update.emit(t)},n.prototype._setUpControl=function(){this._setUpdateStrategy(),this._isStandalone()?this._setUpStandalone():this.formDirective.addControl(this),this._registered=!0},n.prototype._setUpdateStrategy=function(){this.options&&null!=this.options.updateOn&&(this.control._updateOn=this.options.updateOn)},n.prototype._isStandalone=function(){return!this._parent||!(!this.options||!this.options.standalone)},n.prototype._setUpStandalone=function(){ot(this.control,this),this.control.updateValueAndValidity({emitEvent:!1})},n.prototype._checkForErrors=function(){this._isStandalone()||this._checkParentType(),this._checkName()},n.prototype._checkParentType=function(){!(this._parent instanceof Mt)&&this._parent instanceof jt?At.formGroupNameException():this._parent instanceof Mt||this._parent instanceof wt||At.modelParentException()},n.prototype._checkName=function(){this.options&&this.options.name&&(this.name=this.options.name),this._isStandalone()||this.name||At.missingNameException()},n.prototype._updateValue=function(t){var e=this;xt.then(function(){e.control.setValue(t,{emitViewToModelChange:!1})})},n.prototype._updateDisabled=function(t){var e=this,n=t.isDisabled.currentValue,o=""===n||n&&"false"!==n;xt.then(function(){o&&!e.control.disabled?e.control.disable():!o&&e.control.disabled&&e.control.enable()})},u([e.Input(),c("design:type",String)],n.prototype,"name",void 0),u([e.Input("disabled"),c("design:type",Boolean)],n.prototype,"isDisabled",void 0),u([e.Input("ngModel"),c("design:type",Object)],n.prototype,"model",void 0),u([e.Input("ngModelOptions"),c("design:type",Object)],n.prototype,"options",void 0),u([e.Output("ngModelChange"),c("design:type",Object)],n.prototype,"update",void 0),u([e.Directive({selector:"[ngModel]:not([formControlName]):not([formControl])",providers:[kt],exportAs:"ngModel"}),l(0,e.Optional()),l(0,e.Host()),l(1,e.Optional()),l(1,e.Self()),l(1,e.Inject(S)),l(2,e.Optional()),l(2,e.Self()),l(2,e.Inject(j)),l(3,e.Optional()),l(3,e.Self()),l(3,e.Inject(f)),c("design:paramtypes",[b,Array,Array,Array])],n)}(O),It=function(){return u([e.Directive({selector:"form:not([ngNoForm]):not([ngNativeValidate])",host:{novalidate:""}})],function t(){})}(),Ft=new e.InjectionToken("NgModelWithFormControlWarning"),Tt={provide:O,useExisting:e.forwardRef(function(){return Rt})},Rt=function(t){function n(n,o,r,i){var a=t.call(this)||this;return a._ngModelWarningConfig=i,a.update=new e.EventEmitter,a._ngModelWarningSent=!1,a._rawValidators=n||[],a._rawAsyncValidators=o||[],a.valueAccessor=ft(a,r),a}var o;return a(n,t),o=n,Object.defineProperty(n.prototype,"isDisabled",{set:function(t){z.disabledAttrWarning()},enumerable:!0,configurable:!0}),n.prototype.ngOnChanges=function(t){this._isControlChanged(t)&&(ot(this.form,this),this.control.disabled&&this.valueAccessor.setDisabledState&&this.valueAccessor.setDisabledState(!0),this.form.updateValueAndValidity({emitEvent:!1})),ct(t,this.viewModel)&&(gt("formControl",o,this,this._ngModelWarningConfig),this.form.setValue(this.model),this.viewModel=this.model)},Object.defineProperty(n.prototype,"path",{get:function(){return[]},enumerable:!0,configurable:!0}),Object.defineProperty(n.prototype,"validator",{get:function(){return ut(this._rawValidators)},enumerable:!0,configurable:!0}),Object.defineProperty(n.prototype,"asyncValidator",{get:function(){return lt(this._rawAsyncValidators)},enumerable:!0,configurable:!0}),Object.defineProperty(n.prototype,"control",{get:function(){return this.form},enumerable:!0,configurable:!0}),n.prototype.viewToModelUpdate=function(t){this.viewModel=t,this.update.emit(t)},n.prototype._isControlChanged=function(t){return t.hasOwnProperty("form")},n._ngModelWarningSentOnce=!1,u([e.Input("formControl"),c("design:type",bt)],n.prototype,"form",void 0),u([e.Input("disabled"),c("design:type",Boolean),c("design:paramtypes",[Boolean])],n.prototype,"isDisabled",null),u([e.Input("ngModel"),c("design:type",Object)],n.prototype,"model",void 0),u([e.Output("ngModelChange"),c("design:type",Object)],n.prototype,"update",void 0),o=u([e.Directive({selector:"[formControl]",providers:[Tt],exportAs:"ngForm"}),l(0,e.Optional()),l(0,e.Self()),l(0,e.Inject(S)),l(1,e.Optional()),l(1,e.Self()),l(1,e.Inject(j)),l(2,e.Optional()),l(2,e.Self()),l(2,e.Inject(f)),l(3,e.Optional()),l(3,e.Inject(Ft)),c("design:paramtypes",[Array,Array,Array,Object])],n)}(O),Gt={provide:b,useExisting:e.forwardRef(function(){return Ut})},Ut=function(t){function n(n,o){var r=t.call(this)||this;return r._validators=n,r._asyncValidators=o,r.submitted=!1,r.directives=[],r.form=null,r.ngSubmit=new e.EventEmitter,r}return a(n,t),n.prototype.ngOnChanges=function(t){this._checkFormPresent(),t.hasOwnProperty("form")&&(this._updateValidators(),this._updateDomValue(),this._updateRegistrations())},Object.defineProperty(n.prototype,"formDirective",{get:function(){return this},enumerable:!0,configurable:!0}),Object.defineProperty(n.prototype,"control",{get:function(){return this.form},enumerable:!0,configurable:!0}),Object.defineProperty(n.prototype,"path",{get:function(){return[]},enumerable:!0,configurable:!0}),n.prototype.addControl=function(t){var e=this.form.get(t.path);return ot(e,t),e.updateValueAndValidity({emitEvent:!1}),this.directives.push(t),e},n.prototype.getControl=function(t){return this.form.get(t.path)},n.prototype.removeControl=function(t){dt(this.directives,t)},n.prototype.addFormGroup=function(t){var e=this.form.get(t.path);it(e,t),e.updateValueAndValidity({emitEvent:!1})},n.prototype.removeFormGroup=function(t){},n.prototype.getFormGroup=function(t){return this.form.get(t.path)},n.prototype.addFormArray=function(t){var e=this.form.get(t.path);it(e,t),e.updateValueAndValidity({emitEvent:!1})},n.prototype.removeFormArray=function(t){},n.prototype.getFormArray=function(t){return this.form.get(t.path)},n.prototype.updateModel=function(t,e){this.form.get(t.path).setValue(e)},n.prototype.onSubmit=function(t){return this.submitted=!0,ht(this.form,this.directives),this.ngSubmit.emit(t),!1},n.prototype.onReset=function(){this.resetForm()},n.prototype.resetForm=function(t){void 0===t&&(t=void 0),this.form.reset(t),this.submitted=!1},n.prototype._updateDomValue=function(){var t=this;this.directives.forEach(function(e){var n=t.form.get(e.path);e.control!==n&&(function o(t,e){e.valueAccessor.registerOnChange(function(){return at(e)}),e.valueAccessor.registerOnTouched(function(){return at(e)}),e._rawValidators.forEach(function(t){t.registerOnValidatorChange&&t.registerOnValidatorChange(null)}),e._rawAsyncValidators.forEach(function(t){t.registerOnValidatorChange&&t.registerOnValidatorChange(null)}),t&&t._clearChangeFns()}(e.control,e),n&&ot(n,e),e.control=n)}),this.form._updateTreeValidity({emitEvent:!1})},n.prototype._updateRegistrations=function(){var t=this;this.form._registerOnCollectionChange(function(){return t._updateDomValue()}),this._oldForm&&this._oldForm._registerOnCollectionChange(function(){}),this._oldForm=this.form},n.prototype._updateValidators=function(){var t=ut(this._validators);this.form.validator=M.compose([this.form.validator,t]);var e=lt(this._asyncValidators);this.form.asyncValidator=M.composeAsync([this.form.asyncValidator,e])},n.prototype._checkFormPresent=function(){this.form||z.missingFormException()},u([e.Input("formGroup"),c("design:type",Ct)],n.prototype,"form",void 0),u([e.Output(),c("design:type",Object)],n.prototype,"ngSubmit",void 0),u([e.Directive({selector:"[formGroup]",providers:[Gt],host:{"(submit)":"onSubmit($event)","(reset)":"onReset()"},exportAs:"ngForm"}),l(0,e.Optional()),l(0,e.Self()),l(0,e.Inject(S)),l(1,e.Optional()),l(1,e.Self()),l(1,e.Inject(j)),c("design:paramtypes",[Array,Array])],n)}(b),Wt={provide:b,useExisting:e.forwardRef(function(){return qt})},qt=function(t){function n(e,n,o){var r=t.call(this)||this;return r._parent=e,r._validators=n,r._asyncValidators=o,r}return a(n,t),n.prototype._checkParentType=function(){Bt(this._parent)&&z.groupParentException()},u([e.Input("formGroupName"),c("design:type",String)],n.prototype,"name",void 0),u([e.Directive({selector:"[formGroupName]",providers:[Wt]}),l(0,e.Optional()),l(0,e.Host()),l(0,e.SkipSelf()),l(1,e.Optional()),l(1,e.Self()),l(1,e.Inject(S)),l(2,e.Optional()),l(2,e.Self()),l(2,e.Inject(j)),c("design:paramtypes",[b,Array,Array])],n)}(jt),Lt={provide:b,useExisting:e.forwardRef(function(){return $t})},$t=function(t){function n(e,n,o){var r=t.call(this)||this;return r._parent=e,r._validators=n,r._asyncValidators=o,r}return a(n,t),n.prototype.ngOnInit=function(){this._checkParentType(),this.formDirective.addFormArray(this)},n.prototype.ngOnDestroy=function(){this.formDirective&&this.formDirective.removeFormArray(this)},Object.defineProperty(n.prototype,"control",{get:function(){return this.formDirective.getFormArray(this)},enumerable:!0,configurable:!0}),Object.defineProperty(n.prototype,"formDirective",{get:function(){return this._parent?this._parent.formDirective:null},enumerable:!0,configurable:!0}),Object.defineProperty(n.prototype,"path",{get:function(){return nt(this.name,this._parent)},enumerable:!0,configurable:!0}),Object.defineProperty(n.prototype,"validator",{get:function(){return ut(this._validators)},enumerable:!0,configurable:!0}),Object.defineProperty(n.prototype,"asyncValidator",{get:function(){return lt(this._asyncValidators)},enumerable:!0,configurable:!0}),n.prototype._checkParentType=function(){Bt(this._parent)&&z.arrayParentException()},u([e.Input("formArrayName"),c("design:type",String)],n.prototype,"name",void 0),u([e.Directive({selector:"[formArrayName]",providers:[Lt]}),l(0,e.Optional()),l(0,e.Host()),l(0,e.SkipSelf()),l(1,e.Optional()),l(1,e.Self()),l(1,e.Inject(S)),l(2,e.Optional()),l(2,e.Self()),l(2,e.Inject(j)),c("design:paramtypes",[b,Array,Array])],n)}(b);function Bt(t){return!(t instanceof qt||t instanceof Ut||t instanceof $t)}
/**
* @license
* Copyright Google Inc. All Rights Reserved.
*
* Use of this source code is governed by an MIT-style license that can be
* found in the LICENSE file at https://angular.io/license
*/var Ht={provide:O,useExisting:e.forwardRef(function(){return zt})},zt=function(t){function n(n,o,r,i,a){var s=t.call(this)||this;return s._ngModelWarningConfig=a,s._added=!1,s.update=new e.EventEmitter,s._ngModelWarningSent=!1,s._parent=n,s._rawValidators=o||[],s._rawAsyncValidators=r||[],s.valueAccessor=ft(s,i),s}var o;return a(n,t),o=n,Object.defineProperty(n.prototype,"isDisabled",{set:function(t){z.disabledAttrWarning()},enumerable:!0,configurable:!0}),n.prototype.ngOnChanges=function(t){this._added||this._setUpControl(),ct(t,this.viewModel)&&(gt("formControlName",o,this,this._ngModelWarningConfig),this.viewModel=this.model,this.formDirective.updateModel(this,this.model))},n.prototype.ngOnDestroy=function(){this.formDirective&&this.formDirective.removeControl(this)},n.prototype.viewToModelUpdate=function(t){this.viewModel=t,this.update.emit(t)},Object.defineProperty(n.prototype,"path",{get:function(){return nt(this.name,this._parent)},enumerable:!0,configurable:!0}),Object.defineProperty(n.prototype,"formDirective",{get:function(){return this._parent?this._parent.formDirective:null},enumerable:!0,configurable:!0}),Object.defineProperty(n.prototype,"validator",{get:function(){return ut(this._rawValidators)},enumerable:!0,configurable:!0}),Object.defineProperty(n.prototype,"asyncValidator",{get:function(){return lt(this._rawAsyncValidators)},enumerable:!0,configurable:!0}),n.prototype._checkParentType=function(){!(this._parent instanceof qt)&&this._parent instanceof jt?z.ngModelGroupException():this._parent instanceof qt||this._parent instanceof Ut||this._parent instanceof $t||z.controlParentException()},n.prototype._setUpControl=function(){this._checkParentType(),this.control=this.formDirective.addControl(this),this.control.disabled&&this.valueAccessor.setDisabledState&&this.valueAccessor.setDisabledState(!0),this._added=!0},n._ngModelWarningSentOnce=!1,u([e.Input("formControlName"),c("design:type",String)],n.prototype,"name",void 0),u([e.Input("disabled"),c("design:type",Boolean),c("design:paramtypes",[Boolean])],n.prototype,"isDisabled",null),u([e.Input("ngModel"),c("design:type",Object)],n.prototype,"model",void 0),u([e.Output("ngModelChange"),c("design:type",Object)],n.prototype,"update",void 0),o=u([e.Directive({selector:"[formControlName]",providers:[Ht]}),l(0,e.Optional()),l(0,e.Host()),l(0,e.SkipSelf()),l(1,e.Optional()),l(1,e.Self()),l(1,e.Inject(S)),l(2,e.Optional()),l(2,e.Self()),l(2,e.Inject(j)),l(3,e.Optional()),l(3,e.Self()),l(3,e.Inject(f)),l(4,e.Optional()),l(4,e.Inject(Ft)),c("design:paramtypes",[b,Array,Array,Array,Object])],n)}(O),Zt={provide:S,useExisting:e.forwardRef(function(){return Jt}),multi:!0},Yt={provide:S,useExisting:e.forwardRef(function(){return Kt}),multi:!0},Jt=function(){function t(){}return Object.defineProperty(t.prototype,"required",{get:function(){return this._required},set:function(t){this._required=null!=t&&!1!==t&&""+t!="false",this._onChange&&this._onChange()},enumerable:!0,configurable:!0}),t.prototype.validate=function(t){return this.required?M.required(t):null},t.prototype.registerOnValidatorChange=function(t){this._onChange=t},u([e.Input(),c("design:type",Object),c("design:paramtypes",[Object])],t.prototype,"required",null),u([e.Directive({selector:":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]",providers:[Zt],host:{"[attr.required]":'required ? "" : null'}})],t)}(),Kt=function(t){function n(){return null!==t&&t.apply(this,arguments)||this}return a(n,t),n.prototype.validate=function(t){return this.required?M.requiredTrue(t):null},u([e.Directive({selector:"input[type=checkbox][required][formControlName],input[type=checkbox][required][formControl],input[type=checkbox][required][ngModel]",providers:[Yt],host:{"[attr.required]":'required ? "" : null'}})],n)}(Jt),Qt={provide:S,useExisting:e.forwardRef(function(){return Xt}),multi:!0},Xt=function(){function t(){}return Object.defineProperty(t.prototype,"email",{set:function(t){this._enabled=""===t||!0===t||"true"===t,this._onChange&&this._onChange()},enumerable:!0,configurable:!0}),t.prototype.validate=function(t){return this._enabled?M.email(t):null},t.prototype.registerOnValidatorChange=function(t){this._onChange=t},u([e.Input(),c("design:type",Object),c("design:paramtypes",[Object])],t.prototype,"email",null),u([e.Directive({selector:"[email][formControlName],[email][formControl],[email][ngModel]",providers:[Qt]})],t)}(),te={provide:S,useExisting:e.forwardRef(function(){return ee}),multi:!0},ee=function(){function t(){}return t.prototype.ngOnChanges=function(t){"minlength"in t&&(this._createValidator(),this._onChange&&this._onChange())},t.prototype.validate=function(t){return null==this.minlength?null:this._validator(t)},t.prototype.registerOnValidatorChange=function(t){this._onChange=t},t.prototype._createValidator=function(){this._validator=M.minLength(parseInt(this.minlength,10))},u([e.Input(),c("design:type",String)],t.prototype,"minlength",void 0),u([e.Directive({selector:"[minlength][formControlName],[minlength][formControl],[minlength][ngModel]",providers:[te],host:{"[attr.minlength]":"minlength ? minlength : null"}})],t)}(),ne={provide:S,useExisting:e.forwardRef(function(){return oe}),multi:!0},oe=function(){function t(){}return t.prototype.ngOnChanges=function(t){"maxlength"in t&&(this._createValidator(),this._onChange&&this._onChange())},t.prototype.validate=function(t){return null!=this.maxlength?this._validator(t):null},t.prototype.registerOnValidatorChange=function(t){this._onChange=t},t.prototype._createValidator=function(){this._validator=M.maxLength(parseInt(this.maxlength,10))},u([e.Input(),c("design:type",String)],t.prototype,"maxlength",void 0),u([e.Directive({selector:"[maxlength][formControlName],[maxlength][formControl],[maxlength][ngModel]",providers:[ne],host:{"[attr.maxlength]":"maxlength ? maxlength : null"}})],t)}(),re={provide:S,useExisting:e.forwardRef(function(){return ie}),multi:!0},ie=function(){function t(){}return t.prototype.ngOnChanges=function(t){"pattern"in t&&(this._createValidator(),this._onChange&&this._onChange())},t.prototype.validate=function(t){return this._validator(t)},t.prototype.registerOnValidatorChange=function(t){this._onChange=t},t.prototype._createValidator=function(){this._validator=M.pattern(this.pattern)},u([e.Input(),c("design:type",Object)],t.prototype,"pattern",void 0),u([e.Directive({selector:"[pattern][formControlName],[pattern][formControl],[pattern][ngModel]",providers:[re],host:{"[attr.pattern]":"pattern ? pattern : null"}})],t)}(),ae=[It,K,et,_,R,L,g,J,tt,W,w,A,Jt,ee,oe,ie,Kt,Xt],se=[Nt,Mt,wt,St],ue=[Rt,Ut,zt,qt,$t],le=function(){return u([e.NgModule({declarations:ae,exports:ae})],function t(){})}(),ce=function(){function t(){}return t.prototype.group=function(t,e){void 0===e&&(e=null);var n=this._reduceControls(t),o=null,r=null,i=void 0;return null!=e&&(
/**
* @license
* Copyright Google Inc. All Rights Reserved.
*
* Use of this source code is governed by an MIT-style license that can be
* found in the LICENSE file at https://angular.io/license
*/
function a(t){return void 0!==t.asyncValidators||void 0!==t.validators||void 0!==t.updateOn}(e)?(o=null!=e.validators?e.validators:null,r=null!=e.asyncValidators?e.asyncValidators:null,i=null!=e.updateOn?e.updateOn:void 0):(o=null!=e.validator?e.validator:null,r=null!=e.asyncValidator?e.asyncValidator:null)),new Ct(n,{asyncValidators:r,updateOn:i,validators:o})},t.prototype.control=function(t,e,n){return new bt(t,e,n)},t.prototype.array=function(t,e,n){var o=this,r=t.map(function(t){return o._createControl(t)});return new Ot(r,e,n)},t.prototype._reduceControls=function(t){var e=this,n={};return Object.keys(t).forEach(function(o){n[o]=e._createControl(t[o])}),n},t.prototype._createControl=function(t){return t instanceof bt||t instanceof Ct||t instanceof Ot?t:Array.isArray(t)?this.control(t[0],t.length>1?t[1]:null,t.length>2?t[2]:null):this.control(t)},u([e.Injectable()],t)}(),pe=new e.Version("8.1.1"),he=function(){function t(){}var n;return n=t,t.withConfig=function(t){return{ngModule:n,providers:[{provide:Pt,useValue:t.warnOnDeprecatedNgFormSelector}]}},n=u([e.NgModule({declarations:se,providers:[U],exports:[le,se]})],t)}(),fe=function(){function t(){}var n;return n=t,t.withConfig=function(t){return{ngModule:n,providers:[{provide:Ft,useValue:t.warnOnNgModelWithFormControl}]}},n=u([e.NgModule({declarations:[ue],providers:[ce,U],exports:[le,ue]})],t)}();
/**
* @license
* Copyright Google Inc. All Rights Reserved.
*
* Use of this source code is governed by an MIT-style license that can be
* found in the LICENSE file at https://angular.io/license
*/
/**
* @license
* Copyright Google Inc. All Rights Reserved.
*
* Use of this source code is governed by an MIT-style license that can be
* found in the LICENSE file at https://angular.io/license
*/
/**
* @license
* Copyright Google Inc. All Rights Reserved.
*
* Use of this source code is governed by an MIT-style license that can be
* found in the LICENSE file at https://angular.io/license
*/
tangular_packages_forms_forms_d=le,tInternalFormsSharedModule=le,tangular_packages_forms_forms_c=ue,tangular_packages_forms_forms_a=ae,tangular_packages_forms_forms_b=se,tangular_packages_forms_forms_e=d,tangular_packages_forms_forms_f=m,tangular_packages_forms_forms_g=V,tangular_packages_forms_forms_h=E,tangular_packages_forms_forms_i=Vt,tangular_packages_forms_forms_j=Pt,tangular_packages_forms_forms_k=kt,tangular_packages_forms_forms_l=Dt,tangular_packages_forms_forms_z=It,tNgNoValidate=It,tangular_packages_forms_forms_m=T,tangular_packages_forms_forms_n=G,tangular_packages_forms_forms_o=U,tangular_packages_forms_forms_p=q,tangular_packages_forms_forms_q=Ft,tangular_packages_forms_forms_r=Tt,tangular_packages_forms_forms_s=Ht,tangular_packages_forms_forms_t=Gt,tangular_packages_forms_forms_v=Lt,tangular_packages_forms_forms_u=Wt,tangular_packages_forms_forms_w=Z,tangular_packages_forms_forms_y=et,tNgSelectMultipleOption=et,tangular_packages_forms_forms_x=Q,tangular_packages_forms_forms_bb=Yt,tangular_packages_forms_forms_bc=Qt,tangular_packages_forms_forms_be=ne,tangular_packages_forms_forms_bd=te,tangular_packages_forms_forms_bf=re,tangular_packages_forms_forms_ba=Zt,t.AbstractControlDirective=v,t.AbstractFormGroupDirective=jt,t.CheckboxControlValueAccessor=g,t.ControlContainer=b,t.NG_VALUE_ACCESSOR=f,t.COMPOSITION_BUFFER_MODE=y,t.DefaultValueAccessor=_,t.NgControl=O,t.NgControlStatus=w,t.NgControlStatusGroup=A,t.NgForm=wt,t.NgFormSelectorWarning=St,t.NgModel=Nt,t.NgModelGroup=Mt,t.NumberValueAccessor=R,t.RadioControlValueAccessor=W,t.RangeValueAccessor=L,t.FormControlDirective=Rt,t.FormControlName=zt,t.FormGroupDirective=Ut,t.FormArrayName=$t,t.FormGroupName=qt,t.NgSelectOption=K,t.SelectControlValueAccessor=J,t.SelectMultipleControlValueAccessor=tt,t.CheckboxRequiredValidator=Kt,t.EmailValidator=Xt,t.MaxLengthValidator=oe,t.MinLengthValidator=ee,t.PatternValidator=ie,t.RequiredValidator=Jt,t.FormBuilder=ce,t.AbstractControl=vt,t.FormArray=Ot,t.FormControl=bt,t.FormGroup=Ct,t.NG_ASYNC_VALIDATORS=j,t.NG_VALIDATORS=S,t.Validators=M,t.VERSION=pe,t.FormsModule=he,t.ReactiveFormsModule=fe,Object.defineProperty(t,"__esModule",{value:!0})});