UNPKG

p3x-redis-ui-material

Version:

💿 The p3x-redis-ui-material web interface that connects to the p3x-redis-ui-server via http and socket.io

23 lines 80.9 kB
/*! 
MIT License

Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.
For more information about all licenses, please see 1016.b280ee58d2f278c4c933.js.LICENSE.txt
 */
"use strict";(self.webpackChunkp3x_redis_ui_material=self.webpackChunkp3x_redis_ui_material||[]).push([[1016],{71016(t,e,n){n.d(e,{BC:()=>nt,MJ:()=>Qt,Q0:()=>se,VZ:()=>Be,X1:()=>dn,YN:()=>un,YS:()=>qe,cV:()=>Jt,cb:()=>ot,cz:()=>V,j4:()=>we,k0:()=>A,kq:()=>g,l_:()=>ye,me:()=>_,qT:()=>oe,tU:()=>He,vO:()=>Y,vS:()=>ne,xh:()=>Ke,zX:()=>Xe});var o=n(11228),r=n(51218),s=n(24698),i=n(22512),a=n(30372),l=n(33840),u=n(62913),d=n(8726),c=n(24723);class h{_renderer;_elementRef;onChange=t=>{};onTouched=()=>{};constructor(t,e){this._renderer=t,this._elementRef=e}setProperty(t,e){this._renderer.setProperty(this._elementRef.nativeElement,t,e)}registerOnTouched(t){this.onTouched=t}registerOnChange(t){this.onChange=t}setDisabledState(t){this.setProperty("disabled",t)}static ɵfac=function(t){return new(t||h)(r.rXU(r.sFG),r.rXU(r.aKT))};static ɵdir=r.FsC({type:h})}("undefined"==typeof ngDevMode||ngDevMode)&&r.cDI(h,[{type:r.WLR}],(()=>[{type:r.sFG},{type:r.aKT}]),null);class p extends h{static ɵfac=(()=>{let t;return function(e){return(t||(t=r.xGo(p)))(e||p)}})();static ɵdir=r.FsC({type:p,features:[r.Vt3]})}("undefined"==typeof ngDevMode||ngDevMode)&&r.cDI(p,[{type:r.WLR}],null,null);const g=new s.nKC("undefined"!=typeof ngDevMode&&ngDevMode?"NgValueAccessor":""),m={provide:g,useExisting:(0,s.Rfq)((()=>f)),multi:!0};class f extends p{writeValue(t){this.setProperty("checked",t)}static ɵfac=(()=>{let t;return function(e){return(t||(t=r.xGo(f)))(e||f)}})();static ɵdir=r.FsC({type:f,selectors:[["input","type","checkbox","formControlName",""],["input","type","checkbox","formControl",""],["input","type","checkbox","ngModel",""]],hostBindings:function(t,e){1&t&&r.bIt("change",(function(t){return e.onChange(t.target.checked)}))("blur",(function(){return e.onTouched()}))},standalone:!1,features:[r.Jv_([m]),r.Vt3]})}("undefined"==typeof ngDevMode||ngDevMode)&&r.cDI(f,[{type:r.WLR,args:[{selector:"input[type=checkbox][formControlName],input[type=checkbox][formControl],input[type=checkbox][ngModel]",host:{"(change)":"onChange($any($event.target).checked)","(blur)":"onTouched()"},providers:[m],standalone:!1}]}],null,null);const y={provide:g,useExisting:(0,s.Rfq)((()=>_)),multi:!0};const v=new s.nKC("undefined"!=typeof ngDevMode&&ngDevMode?"CompositionEventMode":"");class _ extends h{_compositionMode;_composing=!1;constructor(t,e,n){super(t,e),this._compositionMode=n,null==this._compositionMode&&(this._compositionMode=!function(){const t=(0,c.rb)()?(0,c.rb)().getUserAgent():"";return/android (\d+)/.test(t.toLowerCase())}())}writeValue(t){const e=t??"";this.setProperty("value",e)}_handleInput(t){(!this._compositionMode||this._compositionMode&&!this._composing)&&this.onChange(t)}_compositionStart(){this._composing=!0}_compositionEnd(t){this._composing=!1,this._compositionMode&&this.onChange(t)}static ɵfac=function(t){return new(t||_)(r.rXU(r.sFG),r.rXU(r.aKT),r.rXU(v,8))};static ɵdir=r.FsC({type:_,selectors:[["input","formControlName","",3,"type","checkbox"],["textarea","formControlName",""],["input","formControl","",3,"type","checkbox"],["textarea","formControl",""],["input","ngModel","",3,"type","checkbox"],["textarea","ngModel",""],["","ngDefaultControl",""]],hostBindings:function(t,e){1&t&&r.bIt("input",(function(t){return e._handleInput(t.target.value)}))("blur",(function(){return e.onTouched()}))("compositionstart",(function(){return e._compositionStart()}))("compositionend",(function(t){return e._compositionEnd(t.target.value)}))},standalone:!1,features:[r.Jv_([y]),r.Vt3]})}function C(t){return null==t||0===b(t)}function b(t){return null==t?null:Array.isArray(t)||"string"==typeof t?t.length:t instanceof Set?t.size:null}("undefined"==typeof ngDevMode||ngDevMode)&&r.cDI(_,[{type:r.WLR,args:[{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)":"_handleInput($any($event.target).value)","(blur)":"onTouched()","(compositionstart)":"_compositionStart()","(compositionend)":"_compositionEnd($any($event.target).value)"},providers:[y],standalone:!1}]}],(()=>[{type:r.sFG},{type:r.aKT},{type:void 0,decorators:[{type:r.Xx1},{type:r.y_5,args:[v]}]}]),null);const V=new s.nKC("undefined"!=typeof ngDevMode&&ngDevMode?"NgValidators":""),D=new s.nKC("undefined"!=typeof ngDevMode&&ngDevMode?"NgAsyncValidators":""),M=/^(?=.{1,254}$)(?=.{1,64}@)[a-zA-Z0-9!#$%&'*+/=?^_`{|}~-]+(?:\.[a-zA-Z0-9!#$%&'*+/=?^_`{|}~-]+)*@[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])?)*$/;class A{static min(t){return w(t)}static max(t){return x(t)}static required(t){return E(t)}static requiredTrue(t){return O(t)}static email(t){return S(t)}static minLength(t){return F(t)}static maxLength(t){return N(t)}static pattern(t){return k(t)}static nullValidator(t){return null}static compose(t){return W(t)}static composeAsync(t){return P(t)}}function w(t){return e=>{if(null==e.value||null==t)return null;const n=parseFloat(e.value);return!isNaN(n)&&n<t?{min:{min:t,actual:e.value}}:null}}function x(t){return e=>{if(null==e.value||null==t)return null;const n=parseFloat(e.value);return!isNaN(n)&&n>t?{max:{max:t,actual:e.value}}:null}}function E(t){return C(t.value)?{required:!0}:null}function O(t){return!0===t.value?null:{required:!0}}function S(t){return C(t.value)||M.test(t.value)?null:{email:!0}}function F(t){return e=>{const n=e.value?.length??b(e.value);return null===n||0===n?null:n<t?{minlength:{requiredLength:t,actualLength:n}}:null}}function N(t){return e=>{const n=e.value?.length??b(e.value);return null!==n&&n>t?{maxlength:{requiredLength:t,actualLength:n}}:null}}function k(t){if(!t)return R;let e,n;return"string"==typeof t?(n="","^"!==t.charAt(0)&&(n+="^"),n+=t,"$"!==t.charAt(t.length-1)&&(n+="$"),e=new RegExp(n)):(n=t.toString(),e=t),t=>{if(C(t.value))return null;const o=t.value;return e.test(o)?null:{pattern:{requiredPattern:n,actualValue:o}}}}function R(t){return null}function I(t){return null!=t}function G(t){const e=(0,r.yLl)(t)?(0,u.H)(t):t;if(("undefined"==typeof ngDevMode||ngDevMode)&&!(0,r.cdK)(e)){let e="Expected async validator to return Promise or Observable.";throw"object"==typeof t&&(e+=" Are you using a synchronous validator where an async validator is expected?"),new s.buA(-1101,e)}return e}function U(t){let e={};return t.forEach((t=>{e=null!=t?{...e,...t}:e})),0===Object.keys(e).length?null:e}function $(t,e){return e.map((e=>e(t)))}function X(t){return t.map((t=>function(t){return!t.validate}(t)?t:e=>t.validate(e)))}function W(t){if(!t)return null;const e=t.filter(I);return 0==e.length?null:function(t){return U($(t,e))}}function B(t){return null!=t?W(X(t)):null}function P(t){if(!t)return null;const e=t.filter(I);return 0==e.length?null:function(t){const n=$(t,e).map(G);return(0,l.p)(n).pipe((0,d.T)(U))}}function T(t){return null!=t?P(X(t)):null}function q(t,e){return null===t?[e]:Array.isArray(t)?[...t,e]:[t,e]}function L(t){return t._rawValidators}function j(t){return t._rawAsyncValidators}function J(t){return t?Array.isArray(t)?t:[t]:[]}function z(t,e){return Array.isArray(t)?t.includes(e):t===e}function K(t,e){const n=J(e);return J(t).forEach((t=>{z(n,t)||n.push(t)})),n}function Q(t,e){return J(e).filter((e=>!z(t,e)))}class H{get value(){return this.control?this.control.value:null}get valid(){return this.control?this.control.valid:null}get invalid(){return this.control?this.control.invalid:null}get pending(){return this.control?this.control.pending:null}get disabled(){return this.control?this.control.disabled:null}get enabled(){return this.control?this.control.enabled:null}get errors(){return this.control?this.control.errors:null}get pristine(){return this.control?this.control.pristine:null}get dirty(){return this.control?this.control.dirty:null}get touched(){return this.control?this.control.touched:null}get status(){return this.control?this.control.status:null}get untouched(){return this.control?this.control.untouched:null}get statusChanges(){return this.control?this.control.statusChanges:null}get valueChanges(){return this.control?this.control.valueChanges:null}get path(){return null}_composedValidatorFn;_composedAsyncValidatorFn;_rawValidators=[];_rawAsyncValidators=[];_setValidators(t){this._rawValidators=t||[],this._composedValidatorFn=B(this._rawValidators)}_setAsyncValidators(t){this._rawAsyncValidators=t||[],this._composedAsyncValidatorFn=T(this._rawAsyncValidators)}get validator(){return this._composedValidatorFn||null}get asyncValidator(){return this._composedAsyncValidatorFn||null}_onDestroyCallbacks=[];_registerOnDestroy(t){this._onDestroyCallbacks.push(t)}_invokeOnDestroyCallbacks(){this._onDestroyCallbacks.forEach((t=>t())),this._onDestroyCallbacks=[]}reset(t=void 0){this.control?.reset(t)}hasError(t,e){return!!this.control&&this.control.hasError(t,e)}getError(t,e){return this.control?this.control.getError(t,e):null}}class Z extends H{name;get formDirective(){return null}get path(){return null}}class Y extends H{_parent=null;name=null;valueAccessor=null}class tt{_cd;constructor(t){this._cd=t}get isTouched(){return this._cd?.control?._touched?.(),!!this._cd?.control?.touched}get isUntouched(){return!!this._cd?.control?.untouched}get isPristine(){return this._cd?.control?._pristine?.(),!!this._cd?.control?.pristine}get isDirty(){return!!this._cd?.control?.dirty}get isValid(){return this._cd?.control?._status?.(),!!this._cd?.control?.valid}get isInvalid(){return!!this._cd?.control?.invalid}get isPending(){return!!this._cd?.control?.pending}get isSubmitted(){return this._cd?._submitted?.(),!!this._cd?.submitted}}const et={"[class.ng-untouched]":"isUntouched","[class.ng-touched]":"isTouched","[class.ng-pristine]":"isPristine","[class.ng-dirty]":"isDirty","[class.ng-valid]":"isValid","[class.ng-invalid]":"isInvalid","[class.ng-pending]":"isPending"};class nt extends tt{constructor(t){super(t)}static ɵfac=function(t){return new(t||nt)(r.rXU(Y,2))};static ɵdir=r.FsC({type:nt,selectors:[["","formControlName",""],["","ngModel",""],["","formControl",""]],hostVars:14,hostBindings:function(t,e){2&t&&r.AVh("ng-untouched",e.isUntouched)("ng-touched",e.isTouched)("ng-pristine",e.isPristine)("ng-dirty",e.isDirty)("ng-valid",e.isValid)("ng-invalid",e.isInvalid)("ng-pending",e.isPending)},standalone:!1,features:[r.Vt3]})}("undefined"==typeof ngDevMode||ngDevMode)&&r.cDI(nt,[{type:r.WLR,args:[{selector:"[formControlName],[ngModel],[formControl]",host:et,standalone:!1}]}],(()=>[{type:Y,decorators:[{type:r.B$B}]}]),null);class ot extends tt{constructor(t){super(t)}static ɵfac=function(t){return new(t||ot)(r.rXU(Z,10))};static ɵdir=r.FsC({type:ot,selectors:[["","formGroupName",""],["","formArrayName",""],["","ngModelGroup",""],["","formGroup",""],["","formArray",""],["form",3,"ngNoForm",""],["","ngForm",""]],hostVars:16,hostBindings:function(t,e){2&t&&r.AVh("ng-untouched",e.isUntouched)("ng-touched",e.isTouched)("ng-pristine",e.isPristine)("ng-dirty",e.isDirty)("ng-valid",e.isValid)("ng-invalid",e.isInvalid)("ng-pending",e.isPending)("ng-submitted",e.isSubmitted)},standalone:!1,features:[r.Vt3]})}("undefined"==typeof ngDevMode||ngDevMode)&&r.cDI(ot,[{type:r.WLR,args:[{selector:"[formGroupName],[formArrayName],[ngModelGroup],[formGroup],[formArray],form:not([ngNoForm]),[ngForm]",host:{...et,"[class.ng-submitted]":"isSubmitted"},standalone:!1}]}],(()=>[{type:Z,decorators:[{type:r.Xx1},{type:r.B$B}]}]),null);const rt='\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  });',st='\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  });',it='\n  <form>\n      <div ngModelGroup="person">\n        <input [(ngModel)]="person.name" name="firstName">\n      </div>\n  </form>',at=new s.RxE("21.2.6");const lt="\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  // Specify the `disabled` property at control creation time:\n  form = new FormGroup({\n    first: new FormControl({value: 'Nancy', disabled: true}, Validators.required),\n    last: new FormControl('Drew', Validators.required)\n  });\n\n  // Controls can also be enabled/disabled after creation:\n  form.get('first')?.enable();\n  form.get('last')?.disable();\n";function ut(t,e){return t?`with name: '${e}'`:`at index: ${e}`}const dt="VALID",ct="INVALID",ht="PENDING",pt="DISABLED";class gt{}class mt extends gt{value;source;constructor(t,e){super(),this.value=t,this.source=e}}class ft extends gt{pristine;source;constructor(t,e){super(),this.pristine=t,this.source=e}}class yt extends gt{touched;source;constructor(t,e){super(),this.touched=t,this.source=e}}class vt extends gt{status;source;constructor(t,e){super(),this.status=t,this.source=e}}class _t extends gt{source;constructor(t){super(),this.source=t}}class Ct extends gt{source;constructor(t){super(),this.source=t}}function bt(t){return(Dt(t)?t.validators:t)||null}function Vt(t,e){return("undefined"==typeof ngDevMode||ngDevMode)&&Dt(e)&&t&&console.warn("\n  It looks like you're constructing using a FormControl with both an options argument and an\n  async validators argument. Mixing these arguments will cause your async validators to be dropped.\n  You should either put all your validators in the options object, or in separate validators\n  arguments. For example:\n\n  // Using validators arguments\n  fc = new FormControl(42, Validators.required, myAsyncValidator);\n\n  // Using AbstractControlOptions\n  fc = new FormControl(42, {validators: Validators.required, asyncValidators: myAV});\n\n  // Do NOT mix them: async validators will be dropped!\n  fc = new FormControl(42, {validators: Validators.required}, /* Oops! */ myAsyncValidator);\n"),(Dt(e)?e.asyncValidators:t)||null}function Dt(t){return null!=t&&!Array.isArray(t)&&"object"==typeof t}function Mt(t,e,n){const o=t.controls;if(!(e?Object.keys(o):o).length)throw new s.buA(1e3,"undefined"==typeof ngDevMode||ngDevMode?function(t){return`\n    There are no form controls registered with this ${t?"group":"array"} yet. If you're using ngModel,\n    you may want to check next tick (e.g. use setTimeout).\n  `}(e):"");if(!o[n])throw new s.buA(1001,"undefined"==typeof ngDevMode||ngDevMode?function(t,e){return`Cannot find form control ${ut(t,e)}`}(e,n):"")}function At(t,e,n){t._forEachChild(((t,o)=>{if(void 0===n[o])throw new s.buA(1002,"undefined"==typeof ngDevMode||ngDevMode?function(t,e){return`Must supply a value for form control ${ut(t,e)}`}(e,o):"")}))}class wt{_pendingDirty=!1;_hasOwnPendingAsyncValidator=null;_pendingTouched=!1;_onCollectionChange=()=>{};_updateOn;_parent=null;_asyncValidationSubscription;_composedValidatorFn;_composedAsyncValidatorFn;_rawValidators;_rawAsyncValidators;value;constructor(t,e){this._assignValidators(t),this._assignAsyncValidators(e)}get validator(){return this._composedValidatorFn}set validator(t){this._rawValidators=this._composedValidatorFn=t}get asyncValidator(){return this._composedAsyncValidatorFn}set asyncValidator(t){this._rawAsyncValidators=this._composedAsyncValidatorFn=t}get parent(){return this._parent}get status(){return(0,i.O8)(this.statusReactive)}set status(t){(0,i.O8)((()=>this.statusReactive.set(t)))}_status=(0,i.EW)((()=>this.statusReactive()),...ngDevMode?[{debugName:"_status"}]:[]);statusReactive=(0,s.vPA)(void 0,...ngDevMode?[{debugName:"statusReactive"}]:[]);get valid(){return this.status===dt}get invalid(){return this.status===ct}get pending(){return this.status==ht}get disabled(){return this.status===pt}get enabled(){return this.status!==pt}errors;get pristine(){return(0,i.O8)(this.pristineReactive)}set pristine(t){(0,i.O8)((()=>this.pristineReactive.set(t)))}_pristine=(0,i.EW)((()=>this.pristineReactive()),...ngDevMode?[{debugName:"_pristine"}]:[]);pristineReactive=(0,s.vPA)(!0,...ngDevMode?[{debugName:"pristineReactive"}]:[]);get dirty(){return!this.pristine}get touched(){return(0,i.O8)(this.touchedReactive)}set touched(t){(0,i.O8)((()=>this.touchedReactive.set(t)))}_touched=(0,i.EW)((()=>this.touchedReactive()),...ngDevMode?[{debugName:"_touched"}]:[]);touchedReactive=(0,s.vPA)(!1,...ngDevMode?[{debugName:"touchedReactive"}]:[]);get untouched(){return!this.touched}_events=new a.B;events=this._events.asObservable();valueChanges;statusChanges;get updateOn(){return this._updateOn?this._updateOn:this.parent?this.parent.updateOn:"change"}setValidators(t){this._assignValidators(t)}setAsyncValidators(t){this._assignAsyncValidators(t)}addValidators(t){this.setValidators(K(t,this._rawValidators))}addAsyncValidators(t){this.setAsyncValidators(K(t,this._rawAsyncValidators))}removeValidators(t){this.setValidators(Q(t,this._rawValidators))}removeAsyncValidators(t){this.setAsyncValidators(Q(t,this._rawAsyncValidators))}hasValidator(t){return z(this._rawValidators,t)}hasAsyncValidator(t){return z(this._rawAsyncValidators,t)}clearValidators(){this.validator=null}clearAsyncValidators(){this.asyncValidator=null}markAsTouched(t={}){const e=!1===this.touched;this.touched=!0;const n=t.sourceControl??this;t.onlySelf||this._parent?.markAsTouched({...t,sourceControl:n}),e&&!1!==t.emitEvent&&this._events.next(new yt(!0,n))}markAllAsDirty(t={}){this.markAsDirty({onlySelf:!0,emitEvent:t.emitEvent,sourceControl:this}),this._forEachChild((e=>e.markAllAsDirty(t)))}markAllAsTouched(t={}){this.markAsTouched({onlySelf:!0,emitEvent:t.emitEvent,sourceControl:this}),this._forEachChild((e=>e.markAllAsTouched(t)))}markAsUntouched(t={}){const e=!0===this.touched;this.touched=!1,this._pendingTouched=!1;const n=t.sourceControl??this;this._forEachChild((e=>{e.markAsUntouched({onlySelf:!0,emitEvent:t.emitEvent,sourceControl:n})})),t.onlySelf||this._parent?._updateTouched(t,n),e&&!1!==t.emitEvent&&this._events.next(new yt(!1,n))}markAsDirty(t={}){const e=!0===this.pristine;this.pristine=!1;const n=t.sourceControl??this;t.onlySelf||this._parent?.markAsDirty({...t,sourceControl:n}),e&&!1!==t.emitEvent&&this._events.next(new ft(!1,n))}markAsPristine(t={}){const e=!1===this.pristine;this.pristine=!0,this._pendingDirty=!1;const n=t.sourceControl??this;this._forEachChild((e=>{e.markAsPristine({onlySelf:!0,emitEvent:t.emitEvent})})),t.onlySelf||this._parent?._updatePristine(t,n),e&&!1!==t.emitEvent&&this._events.next(new ft(!0,n))}markAsPending(t={}){this.status=ht;const e=t.sourceControl??this;!1!==t.emitEvent&&(this._events.next(new vt(this.status,e)),this.statusChanges.emit(this.status)),t.onlySelf||this._parent?.markAsPending({...t,sourceControl:e})}disable(t={}){const e=this._parentMarkedDirty(t.onlySelf);this.status=pt,this.errors=null,this._forEachChild((e=>{e.disable({...t,onlySelf:!0})})),this._updateValue();const n=t.sourceControl??this;!1!==t.emitEvent&&(this._events.next(new mt(this.value,n)),this._events.next(new vt(this.status,n)),this.valueChanges.emit(this.value),this.statusChanges.emit(this.status)),this._updateAncestors({...t,skipPristineCheck:e},this),this._onDisabledChange.forEach((t=>t(!0)))}enable(t={}){const e=this._parentMarkedDirty(t.onlySelf);this.status=dt,this._forEachChild((e=>{e.enable({...t,onlySelf:!0})})),this.updateValueAndValidity({onlySelf:!0,emitEvent:t.emitEvent}),this._updateAncestors({...t,skipPristineCheck:e},this),this._onDisabledChange.forEach((t=>t(!1)))}_updateAncestors(t,e){t.onlySelf||(this._parent?.updateValueAndValidity(t),t.skipPristineCheck||this._parent?._updatePristine({},e),this._parent?._updateTouched({},e))}setParent(t){this._parent=t}getRawValue(){return this.value}updateValueAndValidity(t={}){if(this._setInitialStatus(),this._updateValue(),this.enabled){const e=this._cancelExistingSubscription();this.errors=this._runValidator(),this.status=this._calculateStatus(),this.status!==dt&&this.status!==ht||this._runAsyncValidator(e,t.emitEvent)}const e=t.sourceControl??this;!1!==t.emitEvent&&(this._events.next(new mt(this.value,e)),this._events.next(new vt(this.status,e)),this.valueChanges.emit(this.value),this.statusChanges.emit(this.status)),t.onlySelf||this._parent?.updateValueAndValidity({...t,sourceControl:e})}_updateTreeValidity(t={emitEvent:!0}){this._forEachChild((e=>e._updateTreeValidity(t))),this.updateValueAndValidity({onlySelf:!0,emitEvent:t.emitEvent})}_setInitialStatus(){this.status=this._allControlsDisabled()?pt:dt}_runValidator(){return this.validator?this.validator(this):null}_runAsyncValidator(t,e){if(this.asyncValidator){this.status=ht,this._hasOwnPendingAsyncValidator={emitEvent:!1!==e,shouldHaveEmitted:!1!==t};const n=G(this.asyncValidator(this));this._asyncValidationSubscription=n.subscribe((n=>{this._hasOwnPendingAsyncValidator=null,this.setErrors(n,{emitEvent:e,shouldHaveEmitted:t})}))}}_cancelExistingSubscription(){if(this._asyncValidationSubscription){this._asyncValidationSubscription.unsubscribe();const t=(this._hasOwnPendingAsyncValidator?.emitEvent||this._hasOwnPendingAsyncValidator?.shouldHaveEmitted)??!1;return this._hasOwnPendingAsyncValidator=null,t}return!1}setErrors(t,e={}){this.errors=t,this._updateControlsErrors(!1!==e.emitEvent,this,e.shouldHaveEmitted)}get(t){let e=t;return null==e?null:(Array.isArray(e)||(e=e.split(".")),0===e.length?null:e.reduce(((t,e)=>t&&t._find(e)),this))}getError(t,e){const n=e?this.get(e):this;return n?.errors?n.errors[t]:null}hasError(t,e){return!!this.getError(t,e)}get root(){let t=this;for(;t._parent;)t=t._parent;return t}_updateControlsErrors(t,e,n){this.status=this._calculateStatus(),t&&this.statusChanges.emit(this.status),(t||n)&&this._events.next(new vt(this.status,e)),this._parent&&this._parent._updateControlsErrors(t,e,n)}_initObservables(){this.valueChanges=new s.bkB,this.statusChanges=new s.bkB}_calculateStatus(){return this._allControlsDisabled()?pt:this.errors?ct:this._hasOwnPendingAsyncValidator||this._anyControlsHaveStatus(ht)?ht:this._anyControlsHaveStatus(ct)?ct:dt}_anyControlsHaveStatus(t){return this._anyControls((e=>e.status===t))}_anyControlsDirty(){return this._anyControls((t=>t.dirty))}_anyControlsTouched(){return this._anyControls((t=>t.touched))}_updatePristine(t,e){const n=!this._anyControlsDirty(),o=this.pristine!==n;this.pristine=n,t.onlySelf||this._parent?._updatePristine(t,e),o&&this._events.next(new ft(this.pristine,e))}_updateTouched(t={},e){this.touched=this._anyControlsTouched(),this._events.next(new yt(this.touched,e)),t.onlySelf||this._parent?._updateTouched(t,e)}_onDisabledChange=[];_registerOnCollectionChange(t){this._onCollectionChange=t}_setUpdateStrategy(t){Dt(t)&&null!=t.updateOn&&(this._updateOn=t.updateOn)}_parentMarkedDirty(t){return!t&&!!this._parent?.dirty&&!this._parent._anyControlsDirty()}_find(t){return null}_assignValidators(t){var e;this._rawValidators=Array.isArray(t)?t.slice():t,this._composedValidatorFn=(e=this._rawValidators,Array.isArray(e)?B(e):e||null)}_assignAsyncValidators(t){var e;this._rawAsyncValidators=Array.isArray(t)?t.slice():t,this._composedAsyncValidatorFn=(e=this._rawAsyncValidators,Array.isArray(e)?T(e):e||null)}}class xt extends wt{constructor(t,e,n){super(bt(e),Vt(n,e)),("undefined"==typeof ngDevMode||ngDevMode)&&function(t){const e=Object.keys(t).filter((t=>t.includes(".")));e.length>0&&console.warn(`FormGroup keys cannot include \`.\`, please replace the keys for: ${e.join(",")}.`)}(t),this.controls=t,this._initObservables(),this._setUpdateStrategy(e),this._setUpControls(),this.updateValueAndValidity({onlySelf:!0,emitEvent:!!this.asyncValidator})}controls;registerControl(t,e){return this.controls[t]?this.controls[t]:(this.controls[t]=e,e.setParent(this),e._registerOnCollectionChange(this._onCollectionChange),e)}addControl(t,e,n={}){this.registerControl(t,e),this.updateValueAndValidity({emitEvent:n.emitEvent}),this._onCollectionChange()}removeControl(t,e={}){this.controls[t]&&this.controls[t]._registerOnCollectionChange((()=>{})),delete this.controls[t],this.updateValueAndValidity({emitEvent:e.emitEvent}),this._onCollectionChange()}setControl(t,e,n={}){this.controls[t]&&this.controls[t]._registerOnCollectionChange((()=>{})),delete this.controls[t],e&&this.registerControl(t,e),this.updateValueAndValidity({emitEvent:n.emitEvent}),this._onCollectionChange()}contains(t){return this.controls.hasOwnProperty(t)&&this.controls[t].enabled}setValue(t,e={}){At(this,!0,t),Object.keys(t).forEach((n=>{Mt(this,!0,n),this.controls[n].setValue(t[n],{onlySelf:!0,emitEvent:e.emitEvent})})),this.updateValueAndValidity(e)}patchValue(t,e={}){null!=t&&(Object.keys(t).forEach((n=>{const o=this.controls[n];o&&o.patchValue(t[n],{onlySelf:!0,emitEvent:e.emitEvent})})),this.updateValueAndValidity(e))}reset(t={},e={}){this._forEachChild(((n,o)=>{n.reset(t?t[o]:null,{...e,onlySelf:!0})})),this._updatePristine(e,this),this._updateTouched(e,this),this.updateValueAndValidity(e),!1!==e?.emitEvent&&this._events.next(new Ct(this))}getRawValue(){return this._reduceChildren({},((t,e,n)=>(t[n]=e.getRawValue(),t)))}_syncPendingControls(){let t=this._reduceChildren(!1,((t,e)=>!!e._syncPendingControls()||t));return t&&this.updateValueAndValidity({onlySelf:!0}),t}_forEachChild(t){Object.keys(this.controls).forEach((e=>{const n=this.controls[e];n&&t(n,e)}))}_setUpControls(){this._forEachChild((t=>{t.setParent(this),t._registerOnCollectionChange(this._onCollectionChange)}))}_updateValue(){this.value=this._reduceValue()}_anyControls(t){for(const[e,n]of Object.entries(this.controls))if(this.contains(e)&&t(n))return!0;return!1}_reduceValue(){return this._reduceChildren({},((t,e,n)=>((e.enabled||this.disabled)&&(t[n]=e.value),t)))}_reduceChildren(t,e){let n=t;return this._forEachChild(((t,o)=>{n=e(n,t,o)})),n}_allControlsDisabled(){for(const t of Object.keys(this.controls))if(this.controls[t].enabled)return!1;return Object.keys(this.controls).length>0||this.disabled}_find(t){return this.controls.hasOwnProperty(t)?this.controls[t]:null}}class Et extends xt{}const Ot=new s.nKC("undefined"==typeof ngDevMode||ngDevMode?"CallSetDisabledState":"",{factory:()=>St}),St="always";function Ft(t,e){return[...e.path,t]}function Nt(t,e,n=St){("undefined"==typeof ngDevMode||ngDevMode)&&(t||Xt(e,"Cannot find control with"),e.valueAccessor||function(t){const e=Wt(t);throw new s.buA(-1203,`No value accessor for form control ${e}.`)}(e)),It(t,e),e.valueAccessor.writeValue(t.value),(t.disabled||"always"===n)&&e.valueAccessor.setDisabledState?.(t.disabled),function(t,e){e.valueAccessor.registerOnChange((n=>{t._pendingValue=n,t._pendingChange=!0,t._pendingDirty=!0,"change"===t.updateOn&&Ut(t,e)}))}(t,e),function(t,e){const n=(t,n)=>{e.valueAccessor.writeValue(t),n&&e.viewToModelUpdate(t)};t.registerOnChange(n),e._registerOnDestroy((()=>{t._unregisterOnChange(n)}))}(t,e),function(t,e){e.valueAccessor.registerOnTouched((()=>{t._pendingTouched=!0,"blur"===t.updateOn&&t._pendingChange&&Ut(t,e),"submit"!==t.updateOn&&t.markAsTouched()}))}(t,e),function(t,e){if(e.valueAccessor.setDisabledState){const n=t=>{e.valueAccessor.setDisabledState(t)};t.registerOnDisabledChange(n),e._registerOnDestroy((()=>{t._unregisterOnDisabledChange(n)}))}}(t,e)}function kt(t,e,n=!0){const o=()=>{n&&("undefined"==typeof ngDevMode||ngDevMode)&&function(t){Xt(t,"There is no FormControl instance attached to form control element with")}(e)};e?.valueAccessor?.registerOnChange(o),e?.valueAccessor?.registerOnTouched(o),Gt(t,e),t&&(e._invokeOnDestroyCallbacks(),t._registerOnCollectionChange((()=>{})))}function Rt(t,e){t.forEach((t=>{t.registerOnValidatorChange&&t.registerOnValidatorChange(e)}))}function It(t,e){const n=L(t);null!==e.validator?t.setValidators(q(n,e.validator)):"function"==typeof n&&t.setValidators([n]);const o=j(t);null!==e.asyncValidator?t.setAsyncValidators(q(o,e.asyncValidator)):"function"==typeof o&&t.setAsyncValidators([o]);const r=()=>t.updateValueAndValidity();Rt(e._rawValidators,r),Rt(e._rawAsyncValidators,r)}function Gt(t,e){let n=!1;if(null!==t){if(null!==e.validator){const o=L(t);if(Array.isArray(o)&&o.length>0){const r=o.filter((t=>t!==e.validator));r.length!==o.length&&(n=!0,t.setValidators(r))}}if(null!==e.asyncValidator){const o=j(t);if(Array.isArray(o)&&o.length>0){const r=o.filter((t=>t!==e.asyncValidator));r.length!==o.length&&(n=!0,t.setAsyncValidators(r))}}}const o=()=>{};return Rt(e._rawValidators,o),Rt(e._rawAsyncValidators,o),n}function Ut(t,e){t._pendingDirty&&t.markAsDirty(),t.setValue(t._pendingValue,{emitModelToViewChange:!1}),e.viewToModelUpdate(t._pendingValue),t._pendingChange=!1}function $t(t,e){null!=t||"undefined"!=typeof ngDevMode&&!ngDevMode||Xt(e,"Cannot find control with"),It(t,e)}function Xt(t,e){const n=Wt(t);throw new Error(`${e} ${n}`)}function Wt(t){const e=t.path;return e&&e.length>1?`path: '${e.join(" -> ")}'`:e?.[0]?`name: '${e}'`:"unspecified name attribute"}function Bt(t,e){if(!t.hasOwnProperty("model"))return!1;const n=t.model;return!!n.isFirstChange()||!Object.is(e,n.currentValue)}function Pt(t,e){t._syncPendingControls(),e.forEach((t=>{const e=t.control;"submit"===e.updateOn&&e._pendingChange&&(t.viewToModelUpdate(e._pendingValue),e._pendingChange=!1)}))}function Tt(t,e){if(!e)return null;let n,o,r;return Array.isArray(e)||"undefined"!=typeof ngDevMode&&!ngDevMode||function(t){const e=Wt(t);throw new s.buA(1200,`Value accessor was not provided as an array for form control with ${e}. Check that the \`NG_VALUE_ACCESSOR\` token is configured as a \`multi: true\` provider.`)}(t),e.forEach((e=>{var s;e.constructor===_?n=e:(s=e,Object.getPrototypeOf(s.constructor)===p?(o&&("undefined"==typeof ngDevMode||ngDevMode)&&Xt(t,"More than one built-in value accessor matches form control with"),o=e):(r&&("undefined"==typeof ngDevMode||ngDevMode)&&Xt(t,"More than one custom value accessor matches form control with"),r=e))})),r||(o||(n||(("undefined"==typeof ngDevMode||ngDevMode)&&Xt(t,"No valid value accessor for form control with"),null)))}function qt(t,e,n,o){var r;"never"!==o&&((null!==o&&"once"!==o||e._ngModelWarningSentOnce)&&("always"!==o||n._ngModelWarningSent)||(console.warn(`\n  It looks like you're using ngModel on the same form field as ${r=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 a future version of Angular.\n\n  For more information on this, see our API docs here:\n  https://${"0"!==at.major?`v${at.major}.`:""}angular.dev/api/forms/${"formControl"===r?"FormControlDirective":"FormControlName"}\n  `),e._ngModelWarningSentOnce=!0,n._ngModelWarningSent=!0))}const Lt={provide:Z,useExisting:(0,s.Rfq)((()=>Jt))},jt=Promise.resolve();class Jt extends Z{callSetDisabledState;get submitted(){return(0,i.O8)(this.submittedReactive)}_submitted=(0,i.EW)((()=>this.submittedReactive()),...ngDevMode?[{debugName:"_submitted"}]:[]);submittedReactive=(0,s.vPA)(!1,...ngDevMode?[{debugName:"submittedReactive"}]:[]);_directives=new Set;form;ngSubmit=new s.bkB;options;constructor(t,e,n){super(),this.callSetDisabledState=n,this.form=new xt({},B(t),T(e))}ngAfterViewInit(){this._setUpdateStrategy()}get formDirective(){return this}get control(){return this.form}get path(){return[]}get controls(){return this.form.controls}addControl(t){jt.then((()=>{const e=this._findContainer(t.path);t.control=e.registerControl(t.name,t.control),Nt(t.control,t,this.callSetDisabledState),t.control.updateValueAndValidity({emitEvent:!1}),this._directives.add(t)}))}getControl(t){return this.form.get(t.path)}removeControl(t){jt.then((()=>{const e=this._findContainer(t.path);e?.removeControl(t.name),this._directives.delete(t)}))}addFormGroup(t){jt.then((()=>{const e=this._findContainer(t.path),n=new xt({});$t(n,t),e.registerControl(t.name,n),n.updateValueAndValidity({emitEvent:!1})}))}removeFormGroup(t){jt.then((()=>{const e=this._findContainer(t.path);e?.removeControl?.(t.name)}))}getFormGroup(t){return this.form.get(t.path)}updateModel(t,e){jt.then((()=>{this.form.get(t.path).setValue(e)}))}setValue(t){this.control.setValue(t)}onSubmit(t){return this.submittedReactive.set(!0),Pt(this.form,this._directives),this.ngSubmit.emit(t),this.form._events.next(new _t(this.control)),"dialog"===t?.target?.method}onReset(){this.resetForm()}resetForm(t=void 0){this.form.reset(t),this.submittedReactive.set(!1)}_setUpdateStrategy(){this.options&&null!=this.options.updateOn&&(this.form._updateOn=this.options.updateOn)}_findContainer(t){return t.pop(),t.length?this.form.get(t):this.form}static ɵfac=function(t){return new(t||Jt)(r.rXU(V,10),r.rXU(D,10),r.rXU(Ot,8))};static ɵdir=r.FsC({type:Jt,selectors:[["form",3,"ngNoForm","",3,"formGroup","",3,"formArray",""],["ng-form"],["","ngForm",""]],hostBindings:function(t,e){1&t&&r.bIt("submit",(function(t){return e.onSubmit(t)}))("reset",(function(){return e.onReset()}))},inputs:{options:[0,"ngFormOptions","options"]},outputs:{ngSubmit:"ngSubmit"},exportAs:["ngForm"],standalone:!1,features:[r.Jv_([Lt]),r.Vt3]})}function zt(t,e){const n=t.indexOf(e);n>-1&&t.splice(n,1)}function Kt(t){return"object"==typeof t&&null!==t&&2===Object.keys(t).length&&"value"in t&&"disabled"in t}("undefined"==typeof ngDevMode||ngDevMode)&&r.cDI(Jt,[{type:r.WLR,args:[{selector:"form:not([ngNoForm]):not([formGroup]):not([formArray]),ng-form,[ngForm]",providers:[Lt],host:{"(submit)":"onSubmit($event)","(reset)":"onReset()"},outputs:["ngSubmit"],exportAs:"ngForm",standalone:!1}]}],(()=>[{type:void 0,decorators:[{type:r.Xx1},{type:r.B$B},{type:r.y_5,args:[V]}]},{type:void 0,decorators:[{type:r.Xx1},{type:r.B$B},{type:r.y_5,args:[D]}]},{type:void 0,decorators:[{type:r.Xx1},{type:r.y_5,args:[Ot]}]}]),{options:[{type:r.pde,args:["ngFormOptions"]}]});const Qt=class extends wt{defaultValue=null;_onChange=[];_pendingValue;_pendingChange=!1;constructor(t=null,e,n){super(bt(e),Vt(n,e)),this._applyFormState(t),this._setUpdateStrategy(e),this._initObservables(),this.updateValueAndValidity({onlySelf:!0,emitEvent:!!this.asyncValidator}),Dt(e)&&(e.nonNullable||e.initialValueIsDefault)&&(Kt(t)?this.defaultValue=t.value:this.defaultValue=t)}setValue(t,e={}){this.value=this._pendingValue=t,this._onChange.length&&!1!==e.emitModelToViewChange&&this._onChange.forEach((t=>t(this.value,!1!==e.emitViewToModelChange))),this.updateValueAndValidity(e)}patchValue(t,e={}){this.setValue(t,e)}reset(t=this.defaultValue,e={}){this._applyFormState(t),this.markAsPristine(e),this.markAsUntouched(e),this.setValue(this.value,e),e.overwriteDefaultValue&&(this.defaultValue=this.value),this._pendingChange=!1,!1!==e?.emitEvent&&this._events.next(new Ct(this))}_updateValue(){}_anyControls(t){return!1}_allControlsDisabled(){return this.disabled}registerOnChange(t){this._onChange.push(t)}_unregisterOnChange(t){zt(this._onChange,t)}registerOnDisabledChange(t){this._onDisabledChange.push(t)}_unregisterOnDisabledChange(t){zt(this._onDisabledChange,t)}_forEachChild(t){}_syncPendingControls(){return!("submit"!==this.updateOn||(this._pendingDirty&&this.markAsDirty(),this._pendingTouched&&this.markAsTouched(),!this._pendingChange))&&(this.setValue(this._pendingValue,{onlySelf:!0,emitModelToViewChange:!1}),!0)}_applyFormState(t){Kt(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}};class Ht extends Z{_parent;ngOnInit(){this._checkParentType(),this.formDirective.addFormGroup(this)}ngOnDestroy(){this.formDirective?.removeFormGroup(this)}get control(){return this.formDirective.getFormGroup(this)}get path(){return Ft(null==this.name?this.name:this.name.toString(),this._parent)}get formDirective(){return this._parent?this._parent.formDirective:null}_checkParentType(){}static ɵfac=(()=>{let t;return function(e){return(t||(t=r.xGo(Ht)))(e||Ht)}})();static ɵdir=r.FsC({type:Ht,standalone:!1,features:[r.Vt3]})}("undefined"==typeof ngDevMode||ngDevMode)&&r.cDI(Ht,[{type:r.WLR,args:[{standalone:!1}]}],null,null);const Zt={provide:Z,useExisting:(0,s.Rfq)((()=>Yt))};class Yt extends Ht{name="";constructor(t,e,n){super(),this._parent=t,this._setValidators(e),this._setAsyncValidators(n)}_checkParentType(){if(!(this._parent instanceof Yt)&&!(this._parent instanceof Jt)&&("undefined"==typeof ngDevMode||ngDevMode))throw new s.buA(1353,`\n    ngModelGroup cannot be used with a parent formGroup directive.\n\n    Option 1: Use formGroupName instead of ngModelGroup (reactive strategy):\n\n    ${st}\n\n    Option 2:  Use a regular form tag instead of the formGroup directive (template-driven strategy):\n\n    ${it}`)}static ɵfac=function(t){return new(t||Yt)(r.rXU(Z,5),r.rXU(V,10),r.rXU(D,10))};static ɵdir=r.FsC({type:Yt,selectors:[["","ngModelGroup",""]],inputs:{name:[0,"ngModelGroup","name"]},exportAs:["ngModelGroup"],standalone:!1,features:[r.Jv_([Zt]),r.Vt3]})}("undefined"==typeof ngDevMode||ngDevMode)&&r.cDI(Yt,[{type:r.WLR,args:[{selector:"[ngModelGroup]",providers:[Zt],exportAs:"ngModelGroup",standalone:!1}]}],(()=>[{type:Z,decorators:[{type:r.xri},{type:r.kdw}]},{type:void 0,decorators:[{type:r.Xx1},{type:r.B$B},{type:r.y_5,args:[V]}]},{type:void 0,decorators:[{type:r.Xx1},{type:r.B$B},{type:r.y_5,args:[D]}]}]),{name:[{type:r.pde,args:["ngModelGroup"]}]});const te={provide:Y,useExisting:(0,s.Rfq)((()=>ne))},ee=Promise.resolve();class ne extends Y{_changeDetectorRef;callSetDisabledState;control=new Qt;static ngAcceptInputType_isDisabled;_registered=!1;viewModel;name="";isDisabled;model;options;update=new s.bkB;constructor(t,e,n,o,r,s){super(),this._changeDetectorRef=r,this.callSetDisabledState=s,this._parent=t,this._setValidators(e),this._setAsyncValidators(n),this.valueAccessor=Tt(this,o)}ngOnChanges(t){if(this._checkForErrors(),!this._registered||"name"in t){if(this._registered&&(this._checkName(),this.formDirective)){const e=t.name.previousValue;this.formDirective.removeControl({name:e,path:this._getPath(e)})}this._setUpControl()}"isDisabled"in t&&this._updateDisabled(t),Bt(t,this.viewModel)&&(this._updateValue(this.model),this.viewModel=this.model)}ngOnDestroy(){this.formDirective?.removeControl(this)}get path(){return this._getPath(this.name)}get formDirective(){return this._parent?this._parent.formDirective:null}viewToModelUpdate(t){this.viewModel=t,this.update.emit(t)}_setUpControl(){this._setUpdateStrategy(),this._isStandalone()?this._setUpStandalone():this.formDirective.addControl(this),this._registered=!0}_setUpdateStrategy(){this.options&&null!=this.options.updateOn&&(this.control._updateOn=this.options.updateOn)}_isStandalone(){return!this._parent||!(!this.options||!this.options.standalone)}_setUpStandalone(){Nt(this.control,this,this.callSetDisabledState),this.control.updateValueAndValidity({emitEvent:!1})}_checkForErrors(){"undefined"!=typeof ngDevMode&&!ngDevMode||this._isStandalone()||function(t){if(!(t instanceof Yt)&&t instanceof Ht)throw new s.buA(1351,`\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    ${st}\n\n    Option 2:  Update ngModel's parent be ngModelGroup (template-driven strategy):\n\n    ${it}`);if(!(t instanceof Yt||t instanceof Jt))throw new s.buA(1350,`\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    ${rt}\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`)}(this._parent),this._checkName()}_checkName(){if(this.options&&this.options.name&&(this.name=this.options.name),!this._isStandalone()&&!this.name&&("undefined"==typeof ngDevMode||ngDevMode))throw new s.buA(1352,'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}">')}_updateValue(t){ee.then((()=>{this.control.setValue(t,{emitViewToModelChange:!1}),this._changeDetectorRef?.markForCheck()}))}_updateDisabled(t){const e=t.isDisabled.currentValue,n=0!==e&&(0,o.L39)(e);ee.then((()=>{n&&!this.control.disabled?this.control.disable():!n&&this.control.disabled&&this.control.enable(),this._changeDetectorRef?.markForCheck()}))}_getPath(t){return this._parent?Ft(t,this._parent):[t]}static ɵfac=function(t){return new(t||ne)(r.rXU(Z,9),r.rXU(V,10),r.rXU(D,10),r.rXU(g,10),r.rXU(o.gRc,8),r.rXU(Ot,8))};static ɵdir=r.FsC({type:ne,selectors:[["","ngModel","",3,"formControlName","",3,"formControl",""]],inputs:{name:"name",isDisabled:[0,"disabled","isDisabled"],model:[0,"ngModel","model"],options:[0,"ngModelOptions","options"]},outputs:{update:"ngModelChange"},exportAs:["ngModel"],standalone:!1,features:[r.Jv_([te]),r.Vt3,r.OA$]})}("undefined"==typeof ngDevMode||ngDevMode)&&r.cDI(ne,[{type:r.WLR,args:[{selector:"[ngModel]:not([formControlName]):not([formControl])",providers:[te],exportAs:"ngModel",standalone:!1}]}],(()=>[{type:Z,decorators:[{type:r.Xx1},{type:r.xri}]},{type:void 0,decorators:[{type:r.Xx1},{type:r.B$B},{type:r.y_5,args:[V]}]},{type:void 0,decorators:[{type:r.Xx1},{type:r.B$B},{type:r.y_5,args:[D]}]},{type:void 0,decorators:[{type:r.Xx1},{type:r.B$B},{type:r.y_5,args:[g]}]},{type:o.gRc,decorators:[{type:r.Xx1},{type:r.y_5,args:[o.gRc]}]},{type:void 0,decorators:[{type:r.Xx1},{type:r.y_5,args:[Ot]}]}]),{name:[{type:r.pde}],isDisabled:[{type:r.pde,args:["disabled"]}],model:[{type:r.pde,args:["ngModel"]}],options:[{type:r.pde,args:["ngModelOptions"]}],update:[{type:r.k7i,args:["ngModelChange"]}]});class oe{static ɵfac=function(t){return new(t||oe)};static ɵdir=r.FsC({type:oe,selectors:[["form",3,"ngNoForm","",3,"ngNativeValidate",""]],hostAttrs:["novalidate",""],standalone:!1})}("undefined"==typeof ngDevMode||ngDevMode)&&r.cDI(oe,[{type:r.WLR,args:[{selector:"form:not([ngNoForm]):not([ngNativeValidate])",host:{novalidate:""},standalone:!1}]}],null,null);const re={provide:g,useExisting:(0,s.Rfq)((()=>se)),multi:!0};class se extends p{writeValue(t){const e=t??"";this.setProperty("value",e)}registerOnChange(t){this.onChange=e=>{t(""==e?null:parseFloat(e))}}static ɵfac=(()=>{let t;return function(e){return(t||(t=r.xGo(se)))(e||se)}})();static ɵdir=r.FsC({type:se,selectors:[["input","type","number","formControlName",""],["input","type","number","formControl",""],["input","type","number","ngModel",""]],hostBindings:function(t,e){1&t&&r.bIt("input",(function(t){return e.onChange(t.target.value)}))("blur",(function(){return e.onTouched()}))},standalone:!1,features:[r.Jv_([re]),r.Vt3]})}("undefined"==typeof ngDevMode||ngDevMode)&&r.cDI(se,[{type:r.WLR,args:[{selector:"input[type=number][formControlName],input[type=number][formControl],input[type=number][ngModel]",host:{"(input)":"onChange($any($event.target).value)","(blur)":"onTouched()"},providers:[re],standalone:!1}]}],null,null);const ie={provide:g,useExisting:(0,s.Rfq)((()=>le)),multi:!0};class ae{_accessors=[];add(t,e){this._accessors.push([t,e])}remove(t){for(let e=this._accessors.length-1;e>=0;--e)if(this._accessors[e][1]===t)return void this._accessors.splice(e,1)}select(t){this._accessors.forEach((e=>{this._isSameGroup(e,t)&&e[1]!==t&&e[1].fireUncheck(t.value)}))}_isSameGroup(t,e){return!!t[0].control&&(t[0]._parent===e._control._parent&&t[1].name===e.name)}static ɵfac=function(t){return new(t||ae)};static ɵprov=s.jDH({token:ae,factory:ae.ɵfac,providedIn:"root"})}("undefined"==typeof ngDevMode||ngDevMode)&&r.cDI(ae,[{type:r._qm,args:[{providedIn:"root"}]}],null,null);class le extends p{_registry;_injector;_state;_control;_fn;setDisabledStateFired=!1;onChange=()=>{};name;formControlName;value;callSetDisabledState=(0,s.WQX)(Ot,{optional:!0})??St;constructor(t,e,n,o){super(t,e),this._registry=n,this._injector=o}ngOnInit(){this._control=this._injector.get(Y),this._checkName(),this._registry.add(this._control,this)}ngOnDestroy(){this._registry.remove(this)}writeValue(t){this._state=t===this.value,this.setProperty("checked",this._state)}registerOnChange(t){this._fn=t,this.onChange=()=>{t(this.value),this._registry.select(this)}}setDisabledState(t){(this.setDisabledStateFired||t||"whenDisabledForLegacyCode"===this.callSetDisabledState)&&this.setProperty("disabled",t),this.setDisabledStateFired=!0}fireUncheck(t){this.writeValue(t)}_checkName(){this.name&&this.formControlName&&this.name!==this.formControlName&&("undefined"==typeof ngDevMode||ngDevMode)&&function(){throw new s.buA(1202,'\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    ')}(),!this.name&&this.formControlName&&(this.name=this.formControlName)}static ɵfac=function(t){return new(t||le)(r.rXU(r.sFG),r.rXU(r.aKT),r.rXU(ae),r.rXU(s.zZn))};static ɵdir=r.FsC({type:le,selectors:[["input","type","radio","formControlName",""],["input","type","radio","formControl",""],["input","type","radio","ngModel",""]],hostBindings:function(t,e){1&t&&r.bIt("change",(function(){return e.onChange()}))("blur",(function(){return e.onTouched()}))},inputs:{name:"name",formControlName:"formControlName",value:"value"},standalone:!1,features:[r.Jv_([ie]),r.Vt3]})}("undefined"==typeof ngDevMode||ngDevMode)&&r.cDI(le,[{type:r.WLR,args:[{selector:"input[type=radio][formControlName],input[type=radio][formControl],input[type=radio][ngModel]",host:{"(change)":"onChange()","(blur)":"onTouched()"},providers:[ie],standalone:!1}]}],(()=>[{type:r.sFG},{type:r.aKT},{type:ae},{type:s.zZn}]),{name:[{type:r.pde}],formControlName:[{type:r.pde}],value:[{type:r.pde}]});const ue={provide:g,useExisting:(0,s.Rfq)((()=>de)),multi:!0};class de extends p{writeValue(t){this.setProperty("value",parseFloat(t))}registerOnChange(t){this.onChange=e=>{t(""==e?null:parseFloat(e))}}static ɵfac=(()=>{let t;return function(e){return(t||(t=r.xGo(de)))(e||de)}})();static ɵdir=r.FsC({type:de,selectors:[["input","type","range","formControlName",""],["input","type","range","formControl",""],["input","type","range","ngModel",""]],hostBindings:function(t,e){1&t&&r.bIt("change",(function(t){return e.onChange(t.target.value)}))("input",(function(t){return e.onChange(t.target.value)}))("blur",(function(){return e.onTouched()}))},standalone:!1,features:[r.Jv_([ue]),r.Vt3]})}("undefined"==typeof ngDevMode||ngDevMode)&&r.cDI(de,[{type:r.WLR,args:[{selector:"input[type=range][formControlName],input[type=range][formControl],input[type=range][ngModel]",host:{"(change)":"onChange($any($event.target).value)","(input)":"onChange($any($event.target).value)","(blur)":"onTouched()"},providers:[ue],standalone:!1}]}],null,null);class ce extends wt{constructor(t,e,n){super(bt(e),Vt(n,e)),this.controls=t,this._initObservables(),this._setUpdateStrategy(e),this._setUpControls(),this.updateValueAndValidity({onlySelf:!0,emitEvent:!!this.asyncValidator})}controls;at(t){return this.controls[this._adjustIndex(t)]}push(t,e={}){Array.isArray(t)?t.forEach((t=>{this.controls.push(t),this._registerControl(t)})):(this.controls.push(t),this._registerControl(t)),this.updateValueAndValidity({emitEvent:e.emitEvent}),this._onCollectionChange()}insert(t,e,n={}){this.controls.splice(t,0,e),this._registerControl(e),this.updateValueAndValidity({emitEvent:n.emitEvent})}removeAt(t,e={}){let n=this._adjustIndex(t);n<0&&(n=0),this.controls[n]&&this.controls[n]._registerOnCollectionChange((()=>{})),this.controls.splice(n,1),this.updateValueAndValidity({emitEvent:e.emitEvent})}setControl(t,e,n={}){let o=this._adjustIndex(t);o<0&&(o=0),this.controls[o]&&this.controls[o]._registerOnCollectionChange((()=>{})),this.controls.splice(o,1),e&&(this.controls.splice(o,0,e),this._registerControl(e)),this.updateValueAndValidity({emitEvent:n.emitEvent}),this._onCollectionChange()}get length(){return this.controls.length}setValue(t,e={}){At(this,!1,t),t.forEach(((t,n)=>{Mt(this,!1,n),this.at(n).setValue(t,{onlySelf:!0,emitEvent:e.emitEvent})})),this.updateValueAndValidity(e)}patchValue(t,e={}){null!=t&&(t.forEach(((t,n)=>{this.at(n)&&this.at(n).patchValue(t,{onlySelf:!0,emitEvent:e.emitEvent})})),this.updateValueAndValidity(e))}reset(t=[],e={}){this._forEachChild(((n,o)=>{n.reset(t[o],{...e,onlySelf:!0})})),this._updatePristine(e,this),this._updateTouched(e,this),this.updateValueAndValidity(e),!1!==e?.emitEvent&&this._events.next(new Ct(this))}getRawValue(){return this.controls.map((t=>t.getRawValue()))}clear(t={}){this.controls.length<1||(this._forEachChild((t=>t._registerOnCollectionChange((()=>{})))),this.controls.splice(0),this.updateValueAndValidity({emitEvent:t.emitEvent}))}_adjustIndex(t){return t<0?t+this.length:t}_syncPendingControls(){let t=this.controls.reduce(((t,e)=>!!e._syncPendingControls()||t),!1);return t&&this.updateValueAndValidity({onlySelf:!0}),t}_forEachChild(t){this.controls.forEach(((e,n)=>{t(e,n)}))}_updateValue(){this.value=this.controls.filter((t=>t.enabled||this.disabled)).map((t=>t.value))}_anyControls(t){return this.controls.some((e=>e.enabled&&t(e)))}_setUpControls(){this._forEachChild((t=>this._registerControl(t)))}_allControlsDisabled(){for(const t of this.controls)if(t.enabled)return!1;return this.controls.length>0||this.disabled}_registerControl(t){t.setParent(this),t._registerOnCollectionChange(this._onCollectionChange)}_find(t){return this.at(t)??null}}class he extends Z{callSetDisabledState;get submitted(){return(0,i.O8)(this._submittedReactive)}set submitted(t){this._submittedReactive.set(t)}_submitted=(0,i.EW)((()=>this._submittedReactive()),...ngDevMode?[{debugName:"_submitted"}]:[]);_submittedReactive=(0,s.vPA)(!1,...ngDevMode?[{debugName:"_submittedReactive"}]:[]);_oldForm;_onCollectionChange=()=>this._updateDomValue();directives=[];constructor(t,e,n){super(),this.callSetDisabledState=n,this._setValidators(t),this._setAsyncValidators(e)}ngOnChanges(t){this.onChanges(t)}ngOnDestroy(){this.onDestroy()}onChanges(t){this._checkFormPresent(),t.hasOwnProperty("form")&&(this._updateValidators(),this._updateDomValue(),this._updateRegistrations(),this._oldForm=this.form)}onDestroy(){this.form&&(Gt(this.form,this),this.form._onCollectionChange===this._onCollectionChange&&this.form._registerOnCollectionChange((()=>{})))}get formDirective(){return this}get path(){return[]}addControl(t){const e=this.form.get(t.path);return Nt(e,t,this.callSetDisabledState),e.updateValueAndValidity({emitEvent:!1}),this.directives.push(t),e}getControl(t){return this.form.get(t.path)}removeControl(t){kt(t.control||null,t,!1),function(t,e){const n=t.indexOf(e);n>-1&&t.splice(n,1)}(this.directives,t)}addFormGroup(t){this._setUpFormContainer(t)}removeFormGroup(t){this._cleanUpFormContainer(t)}getFormGroup(t){return this.form.get(t.path)}getFormArray(t){return this.form.get(t.path)}addFormArray(t){this._setUpFormContainer(t)}removeFormArray(t){this._cleanUpFormContainer(t)}updateModel(t,e){this.form.get(t.path).setValue(e)}onReset(){this.resetForm()}resetForm(t=void 0,e={}){this.form.reset(t,e),this._submittedReactive.set(!1)}onSubmit(t){return this.submitted=!0,Pt(this.form,this.directives),this.ngSubmit.emit(t),this.form._events.next(new _t(this.control)),"dialog"===t?.target?.method}_updateDomValue(){this.directives.forEach((t=>{const e=t.control,n=this.form.get(t.path);e!==n&&(kt(e||null,t),n instanceof Qt&&(Nt(n,t,this.callSetDisabledState),t.control=n))})),this.form._updateTreeValidity({emitEvent:!1})}_setUpFormContainer(t){const e=this.form.get(t.path);$t(e,t),e.updateValueAndValidity({emitEvent:!1})}_cleanUpFormContainer(t){const e=this.form?.get(t.path);if(e){const n=function(t,e){return Gt(t,e)}(e,t);n&&e.updateValueAndValidity({emitEvent:!1})}}_updateRegistrations(){this.form._registerOnCollectionChange(this._onCollectionChange),this._oldForm?._registerOnCollectionChange((()=>{}))}_updateValidators(){It(this.form,this),this._oldForm&&Gt(this._oldForm,this)}_checkFormPresent(){if(!this.form&&("undefined"==typeof ngDevMode||ngDevMode))throw new s.buA(1052,`formGroup expects a FormGroup instance. Please pass one in.\n\n      Example:\n\n      ${rt}`)}static ɵfac=function(t){return new(t||he)(r.rXU(V,10),r.rXU(D,10),r.rXU(Ot,8))};static ɵdir=r.FsC({type:he,features:[r.Vt3,r.OA$]})}("undefined"==typeof ngDevMode||ngDevMode)&&r.cDI(he,[{type:r.WLR}],(()=>[{type:void 0,decorators:[{type:r.Xx1},{type:r.B$B},{type:r.y_5,args:[V]}]},{type:void 0,decorators:[{type:r.Xx1},{type:r.B$B},{type:r.y_5,args:[D]}]},{type:void 0,decorators:[{type:r.Xx1},{type:r.y_5,args:[Ot]}]}]),null);const pe={provide:Z,useExisting:(0,s.Rfq)((()=>ge))};class ge extends he{form=null;ngSubmit=new s.bkB;get control(){return this.form}static ɵfac=(()=>{let t;return function(e){return(t||(t=r.xGo(ge)))(e||ge)}})();static ɵdir=r.FsC({type:ge,selectors:[["","formArray",""]],hostBindings:function(t,e){1&t&&r.bIt("submit",(function(t){return e.onSubmit(t)}))("reset",(function(){return e.onReset()}))},inputs:{form:[0,"formArray","form"]},outputs:{ngSubmit:"ngSubmit"},exportAs:["ngForm"],standalone:!1,features:[r.Jv_([pe]),r.Vt3]})}("undefined"==typeof ngDevMode||ngDevMode)&&r.cDI(ge,[{type:r.WLR,args:[{selector:"[formArray]",providers:[pe],host:{"(submit)":"onSubmit($event)","(reset)":"onReset()"},exportAs:"ngForm",standalone:!1}]}],null,{form:[{type:r.pde,args:["formArray"]}],ngSubmit:[{type:r.k7i}]});const me=new s.nKC("undefined"!=typeof ngDevMode&&ngDevMode?"NgModelWithFormControlWarning":""),fe={provide:Y,useExisting:(0,s.Rfq)((()=>ye))};class ye extends Y{_ngModelWarningConfig;callSetDisabledState;viewModel;form;set isDisabled(t){("undefined"==typeof ngDevMode||ngDevMode)&&console.warn(lt)}model;update=new s.bkB;static _ngModelWarningSentOnce=!1;_ngModelWarningSent=!1;constructor(t,e,n,o,r){super(),this._ngModelWarningConfig=o,this.callSetDisabledState=r,this._setValidators(t),this._setAsyncValidators(e),this.valueAccessor=Tt(this,n)}ngOnChanges(t){if(this._isControlChanged(t)){const e=t.form.previousValue;e&&kt(e,this,!1),Nt(this.form,this,this.callSetDisabledState),this.form.updateValueAndValidity({emitEvent:!1})}Bt(t,this.viewModel)&&(("undefined"==typeof ngDevMode||ngDevMode)&&qt("formControl",ye,this,this._ngModelWarningConfig),this.form.setValue(this.model),this.viewModel=this.model)}ngOnDestroy(){this.form&&kt(this.form,this,!1)}get path(){return[]}get control(){return this.form}viewToModelUpdate(t){this.viewModel=t,this.update.emit(t)}_isControlChanged(t){return t.hasOwnProperty("form")}static ɵfac=function(t){return new(t||ye)(r.rXU(V,10),r.rXU(D,10),r.rXU(g,10),r.rXU(me,8),r.rXU(Ot,8))};static ɵdir=r.FsC({type:ye,selectors:[["","formControl",""]],inputs:{form:[0,"formControl","form"],isDisabled:[0,"disabled","isDisabled"],model:[0,"ngModel","model"]},outputs:{update:"ngModelChange"},exportAs:["ngForm"],standalone:!1,features:[r.Jv_([fe]),r.Vt3,r.OA$]})}("undefined"==typeof ngDevMode||ngDevMode)&&r.cDI(ye,[{type:r.WLR,args:[{selector:"[formControl]",providers:[fe],exportAs:"ngForm",standalone:!1}]}],(()=>[{type:void 0,decorators:[{type:r.Xx1},{type:r.B$B},{type:r.y_5,args:[V]}]},{type:void 0,decorators:[{type:r.Xx1},{type:r.B$B},{type:r.y_5,args:[D]}]},{type:void 0,decorators:[{type:r.Xx1},{type:r.B$B},{type:r.y_5,args:[g]}]},{type:void 0,decorators:[{type:r.Xx1},{type:r.y_5,args:[me]}]},{type:void 0,decorators:[{type:r.Xx1},{type:r.y_5,args:[Ot]}]}]),{form:[{type:r.pde,args:["formControl"]}],isDisabled:[{type:r.pde,args:["disabled"]}],model:[{type:r.pde,args:["ngModel"]}],update:[{type:r.k7i,args:["ngModelChange"]}]});const ve={provide:Z,useExisting:(0,s.Rfq)((()=>_e))};class _e extends Ht{name=null;constructor(t,e,n){super(),this._parent=t,this._setValidators(e),this._setAsyncValidators(n)}_checkParentType(){if(Ve(this._parent)&&("undefined"==typeof ngDevMode||ngDevMode))throw new s.buA(1053,`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    ${st}`)}static ɵfac=function(t){return new(t||_e)(r.rXU(Z,13),r.rXU(V,10),r.rXU(D,10))};static ɵdir=r.FsC({type:_e,selectors:[["","formGroupName",""]],inputs:{name:[0,"formGroupName","name"]},standalone:!1,features:[r.Jv_([ve]),r.Vt3]})}("undefined"==typeof ngDevMode||ngDevMode)&&r.cDI(_e,[{type:r.WLR,args:[{selector:"[formGroupName]",providers:[ve],standalone:!1}]}],(()=>[{type:Z,decorators:[{type:r.Xx1},{type:r.xri},{type:r.kdw}]},{type:void 0,decorators:[{type:r.Xx1},{type:r.B$B},{type:r.y_5,args:[V]}]},{type:void 0,decorators:[{type:r.Xx1},{type:r.B$B},{type:r.y_5,args:[D]}]}]),{name:[{type:r.pde,args:["formGroupName"]}]});const Ce={provide:Z,useExisting:(0,s.Rfq)((()=>be))};class be extends Z{_parent;name=null;constructor(t,e,n){super(),this._parent=t,this._setValidators(e),this._setAsyncValidators(n)}ngOnInit(){if(Ve(this._parent)&&("undefined"==typeof ngDevMode||ngDevMode))throw new s.buA(1054,'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  });');this.formDirective.addFormArray(this)}ngOnDestroy(){this.formDirective?.removeFormArray(this)}get control(){return this.formDirective.getFormArray(this)}get formDirective(){return this._parent?this._parent.formDirective:null}get path(){return Ft(null==this.name?this.name:this.name.toString(),this._parent)}static ɵfac=function(t){return new(t||be)(r.rXU(Z,13),r.rXU(V,10),r.rXU(D,10))};static ɵdir=r.FsC({type:be,selectors:[["","formArrayName",""]],inputs:{name:[0,"formArrayName","name"]},standalone:!1,features:[r.Jv_([Ce]),r.Vt3]})}function Ve(t){return!(t instanceof _e||t instanceof he||t instanceof be)}("undefined"==typeof ngDevMode||ngDevMode)&&r.cDI(be,[{type:r.WLR,args:[{selector:"[formArrayName]",providers:[Ce],standalone:!1}]}],(()=>[{type:Z,decorators:[{type:r.Xx1},{type:r.xri},{type:r.kdw}]},{type:void 0,decorators:[{type:r.Xx1},{type:r.B$B},{type:r.y_5,args:[V]}]},{type:void 0,decorators:[{type:r.Xx1},{type:r.B$B},{type:r.y_5,args:[D]}]}]),{name:[{type:r.pde,args:["formArrayName"]}]});const De={provide:Y,useExisting:(0,s.Rfq)((()=>Me))};class Me extends Y{_ngModelWarningConfig;_added=!1;viewModel;control;name=null;set isDisabled(t){("undefined"==typeof ngDevMode||ngDevMode)&&console.warn(lt)}model;update=new s.bkB;static _ngModelWarningSentOnce=!1;_ngModelWarningSent=!1;constructor(t,e,n,o,r){super(),this._ngModelWarningConfig=r,this._parent=t,this._setValidators(e),this._setAsyncValidators(n),this.valueAccessor=Tt(this,o)}ngOnChanges(t){this._added||this._setUpControl(),Bt(t,this.viewModel)&&(("undefined"==typeof ngDevMode||ngDevMode)&&qt("formControlName",Me,this,this._ngModelWarningConfig),this.viewModel=this.model,this.formDirective.updateModel(this,this.model))}ngOnDestroy(){this.formDirective?.removeControl(this)}viewToModelUpdate(t){this.viewModel=t,this.update.emit(t)}get path(){return Ft(null==this.name?this.name:this.name.toString(),this._parent)}get formDirective(){return this._parent?this._parent.formDirective:null}_setUpControl(){("undefined"==typeof ngDevMode||ngDevMode)&&function(t,e){if(!(t instanceof _e)&&t instanceof Ht)throw new s.buA(1051,`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      ${st}\n\n      Option 2: Use ngModel instead of formControlName (template-driven strategy)\n\n      ${it}`);if(!(t instanceof _e||t instanceof he||t instanceof be))throw n=e,new s.buA(1050,`formControlName must be used with a parent formGroup or formArray directive. You'll want to add a formGroup/formArray\n      directive and pass it an existing FormGroup/FormArray instance (you can create one in your class).\n\n      ${function(t){return null==t||""===t?"":`Affected Form Control ${"string"==typeof t?"name":"index"}: "${t}"`}(n)}\n\n    Example:\n\n    ${rt}`);var n}(this._parent,this.name),this.control=this.formDirective.addControl(this),this._added=!0}static ɵfac=function(t){return new(t||Me)(r.rXU(Z,13),r.rXU(V,10),r.rXU(D,10),r.rXU(g,10),r.rXU(me,8))};static ɵdir=r.FsC({type:Me,selectors:[["","formControlName",""]],inputs:{name:[0,"formControlName","name"],isDisabled:[0,"disabled","isDisabled"],model:[0,"ngModel","model"]},outputs:{update:"ngModelChange"},standalone:!1,features:[r.Jv_([De]),r.Vt3,r.OA$]})}("undefined"==typeof ngDevMode||ngDevMode)&&r.cDI(Me,[{type:r.WLR,args:[{selector:"[formControlName]",providers:[De],standalone:!1}]}],(()=>[{type:Z,decorators:[{type:r.Xx1},{type:r.xri},{type:r.kdw}]},{type:void 0,decorators:[{type:r.Xx1},{type:r.B$B},{type:r.y_5,args:[V]}]},{type:void 0,decorators:[{type:r.Xx1},{type:r.B$B},{type:r.y_5,args:[D]}]},{type:void 0,decorators:[{type:r.Xx1},{type:r.B$B},{type:r.y_5,args:[g]}]},{type:void 0,decorators:[{type:r.Xx1},{type:r.y_5,args:[me]}]}]),{name:[{type:r.pde,args:["formControlName"]}],isDisabled:[{type:r.pde,args:["disabled"]}],model:[{type:r.pde,args:["ngModel"]}],update:[{type:r.k7i,args:["ngModelChange"]}]});const Ae={provide:Z,useExisting:(0,s.Rfq)((()=>we))};class we extends he{form=null;ngSubmit=new s.bkB;get control(){return this.form}static ɵfac=(()=>{let t;return function(e){return(t||(t=r.xGo(we)))(e||we)}})();static ɵdir=r.FsC({type:we,selectors:[["","formGroup",""]],hostBindings:function(t,e){1&t&&r.bIt("submit",(function(t){return e.onSubmit(t)}))("reset",(function(){return e.onReset()}))},inputs:{form:[0,"formGroup","form"]},outputs:{ngSubmit:"ngSubmit"},exportAs:["ngForm"],standalone:!1,features:[r.Jv_([Ae]),r.Vt3]})}("undefined"==typeof ngDevMode||ngDevMode)&&r.cDI(we,[{type:r.WLR,args:[{selector:"[formGroup]",providers:[Ae],host:{"(submit)":"onSubmit($event)","(reset)":"onReset()"},exportAs:"ngForm",standalone:!1}]}],null,{form:[{type:r.pde,args:["formGroup"]}],ngSubmit:[{type:r.k7i}]});const xe={provide:g,useExisting:(0,s.Rfq)((()=>Oe)),multi:!0};function Ee(t,e){return null==t?`${e}`:(e&&"object"==typeof e&&(e="Object"),`${t}: ${e}`.slice(0,50))}class Oe extends p{value;_optionMap=new Map;_idCounter=0;set compareWith(t){if("function"!=typeof t&&("undefined"==typeof ngDevMode||ngDevMode))throw new s.buA(1201,`compareWith must be a function, but received ${JSON.stringify(t)}`);this._compareWith=t}_compareWith=Object.is;appRefInjector=(0,s.WQX)(r.o8S).injector;destroyRef=(0,s.WQX)(s.abz);cdr=(0,s.WQX)(o.gRc);_queuedWrite=!1;_writeValueAfterRender(){this._queuedWrite||this.appRefInjector.destroyed||(this._queuedWrite=!0,(0,r.mal)({write:()=>{this.destroyRef.destroyed||(this._queuedWrite=!1,this.writeValue(this.value))}},{injector:this.appRefInjector}))}writeValue(t){this.cdr.markForCheck(),this.value=t;const e=Ee(this._getOptionId(t),t);this.setProperty("value",e)}registerOnChange(t){this.onChange=e=>{this.value=this._getOptionValue(e),t(this.value)}}_registerOption(){return(this._idCounter++).toString()}_getOptionId(t){for(const e of this._optionMap.keys())if(this._compareWith(this._optionMap.get(e),t))return e;return null}_getOptionValue(t){const e=function(t){return t.split(":")[0]}(t);return this._optionMap.has(e)?this._optionMap.get(e):t}static ɵfac=(()=>{let t;return function(e){return(t||(t=r.xGo(Oe)))(e||Oe)}})();static ɵdir=r.FsC({type:Oe,selectors:[["select","formControlName","",3,"multiple",""],["select","formControl","",3,"multiple",""],["select","ngModel","",3,"multiple",""]],hostBindings:function(t,e){1&t&&r.bIt("change",(function(t){return e.onChange(t.target.value)}))("blur",(function(){return e.onTouched()}))},inputs:{compareWith:"compareWith"},standalone:!1,features:[r.Jv_([xe]),r.Vt3]})}("undefined"==typeof ngDevMode||ngDevMode)&&r.cDI(Oe,[{type:r.WLR,args:[{selector:"select:not([multiple])[formControlName],select:not([multiple])[formControl],select:not([multiple])[ngModel]",host:{"(change)":"onChange($any($event.target).value)","(blur)":"onTouched()"},providers:[xe],standalone:!1}]}],null,{compareWith:[{type:r.pde}]});class Se{_element;_renderer;_select;id;constructor(t,e,n){this._element=t,this._renderer=e,this._select=n,this._select&&(this.id=this._select._registerOption())}set ngValue(t){null!=this._select&&(this._select._optionMap.set(this.id,t),this._setElementValue(Ee(this.id,t)),this._select._writeValueAfterRender())}set value(t){this._setElementValue(t),this._select?._writeValueAfterRender()}_setElementValue(t){this._renderer.setProperty(this._element.nativeElement,"value",t)}ngOnDestroy(){this._select?._optionMap.delete(this.id),this._select?._writeValueAfterRender()}static ɵfac=function(t){return new(t||Se)(r.rXU(r.aKT),r.rXU(r.sFG),r.rXU(Oe,9))};static ɵdir=r.FsC({type:Se,selectors:[["option"]],inputs:{ngValue:"ngValue",value:"value"},standalone:!1})}("undefined"==typeof ngDevMode||ngDevMode)&&r.cDI(Se,[{type:r.WLR,args:[{selector:"option",standalone:!1}]}],(()=>[{type:r.aKT},{type:r.sFG},{type:Oe,decorators:[{type:r.Xx1},{type:r.xri}]}]),{ngValue:[{type:r.pde,args:["ngValue"]}],value:[{type:r.pde,args:["value"]}]});const Fe={provide:g,useExisting:(0,s.Rfq)((()=>ke)),multi:!0};function Ne(t,e){return null==t?`${e}`:("string"==typeof e&&(e=`'${e}'`),e&&"object"==typeof e&&(e="Object"),`${t}: ${e}`.slice(0,50))}class ke extends p{value;_optionMap=new Map;_idCounter=0;set compareWith(t){if("function"!=typeof t&&("undefined"==typeof ngDevMode||ngDevMode))throw new s.buA(1201,`compareWith must be a function, but received ${JSON.stringify(t)}`);this._compareWith=t}_compareWith=Object.is;writeValue(t){let e;if(this.value=t,Array.isArray(t)){const n=t.map((t=>this._getOptionId(t)));e=(t,e)=>{t._setSelected(n.indexOf(e.toString())>-1)}}else e=(t,e)=>{t._setSelected(!1)};this._optionMap.forEach(e)}registerOnChange(t){this.onChange=e=>{const n=[],o=e.selectedOptions;if(void 0!==o){const t=o;for(let e=0;e<t.length;e++){const o=t[e],r=this._getOptionValue(o.value);n.push(r)}}else{const t=e.options;for(let e=0;e<t.length;e++){const o=t[e];if(o.selected){const t=this._getOptionValue(o.value);n.push(t)}}}this.value=n,t(n)}}_registerOption(t){const e=(this._idCounter++).toString();return this._optionMap.set(e,t),e}_getOptionId(t){for(const e of this._optionMap.keys())if(this._compareWith(this._optionMap.get(e)._value,t))return e;return null}_getOptionValue(t){const e=function(t){return t.split(":")[0]}(t);return this._optionMap.has(e)?this._optionMap.get(e)._value:t}static ɵfac=(()=>{let t;return function(e){return(t||(t=r.xGo(ke)))(e||ke)}})();static ɵdir=r.FsC({type:ke,selectors:[["select","multiple","","formControlName",""],["select","multiple","","formControl",""],["select","multiple","","ngModel",""]],hostBindings:function(t,e){1&t&&r.bIt("change",(function(t){return e.onChange(t.target)}))("blur",(function(){return e.onTouched()}))},inputs:{compareWith:"compareWith"},standalone:!1,features:[r.Jv_([Fe]),r.Vt3]})}("undefined"==typeof ngDevMode||ngDevMode)&&r.cDI(ke,[{type:r.WLR,args:[{selector:"select[multiple][formControlName],select[multiple][formControl],select[multiple][ngModel]",host:{"(change)":"onChange($event.target)","(blur)":"onTouched()"},providers:[Fe],standalone:!1}]}],null,{compareWith:[{type:r.pde}]});class Re{_element;_renderer;_select;id;_value;constructor(t,e,n){this._element=t,this._renderer=e,this._select=n,this._select&&(this.id=this._select._registerOption(this))}set ngValue(t){null!=this._select&&(this._value=t,this._setElementValue(Ne(this.id,t)),this._select.writeValue(this._select.value))}set value(t){this._select?(this._value=t,this._setElementValue(Ne(this.id,t)),this._select.writeValue(this._select.value)):this._setElementValue(t)}_setElementValue(t){this._renderer.setProperty(this._element.nativeElement,"value",t)}_setSelected(t){this._renderer.setProperty(this._element.nativeElement,"selected",t)}ngOnDestroy(){this._select&&(this._select._optionMap.delete(this.id),this._select.writeValue(this._select.value))}static ɵfac=function(t){return new(t||Re)(r.rXU(r.aKT),r.rXU(r.sFG),r.rXU(ke,9))};static ɵdir=r.FsC({type:Re,selectors:[["option"]],inputs:{ngValue:"ngValue",value:"value"},standalone:!1})}function Ie(t){return"number"==typeof t?t:parseInt(t,10)}function Ge(t){return"number"==typeof t?t:parseFloat(t)}("undefined"==typeof ngDevMode||ngDevMode)&&r.cDI(Re,[{type:r.WLR,args:[{selector:"option",standalone:!1}]}],(()=>[{type:r.aKT},{type:r.sFG},{type:ke,decorators:[{type:r.Xx1},{type:r.xri}]}]),{ngValue:[{type:r.pde,args:["ngValue"]}],value:[{type:r.pde,args:["value"]}]});class Ue{_validator=R;_onChange;_enabled;ngOnChanges(t){if(this.inputName in t){const e=this.normalizeInput(t[this.inputName].currentValue);this._enabled=this.enabled(e),this._validator=this._enabled?this.createValidator(e):R,this._onChange?.()}}validate(t){return this._validator(t)}registerOnValidatorChange(t){this._onChange=t}enabled(t){return null!=t}static ɵfac=function(t){return new(t||Ue)};static ɵdir=r.FsC({type:Ue,features:[r.OA$]})}("undefined"==typeof ngDevMode||ngDevMode)&&r.cDI(Ue,[{type:r.WLR}],null,null);const $e={provide:V,useExisting:(0,s.Rfq)((()=>Xe)),multi:!0};class Xe extends Ue{max;inputName="max";normalizeInput=t=>Ge(t);createValidator=t=>x(t);static ɵfac=(()=>{let t;return function(e){return(t||(t=r.xGo(Xe)))(e||Xe)}})();static ɵdir=r.FsC({type:Xe,selectors:[["input","type","number","max","","formControlName",""],["input","type","number","max","","formControl",""],["input","type","number","max","","ngModel",""]],hostVars:1,hostBindings:function(t,e){2&t&&r.BMQ("max",e._enabled?e.max:null)},inputs:{max:"max"},standalone:!1,features:[r.Jv_([$e]),r.Vt3]})}("undefined"==typeof ngDevMode||ngDevMode)&&r.cDI(Xe,[{type:r.WLR,args:[{selector:"input[type=number][max][formControlName],input[type=number][max][formControl],input[type=number][max][ngModel]",providers:[$e],host:{"[attr.max]":"_enabled ? max : null"},standalone:!1}]}],null,{max:[{type:r.pde}]});const We={provide:V,useExisting:(0,s.Rfq)((()=>Be)),multi:!0};class Be extends Ue{min;inputName="min";normalizeInput=t=>Ge(t);createValidator=t=>w(t);static ɵfac=(()=>{let t;return function(e){return(t||(t=r.xGo(Be)))(e||Be)}})();static ɵdir=r.FsC({type:Be,selectors:[["input","type","number","min","","formControlName",""],["input","type","number","min","","formControl",""],["input","type","number","min","","ngModel",""]],hostVars:1,hostBindings:function(t,e){2&t&&r.BMQ("min",e._enabled?e.min:null)},inputs:{min:"min"},standalone:!1,features:[r.Jv_([We]),r.Vt3]})}("undefined"==typeof ngDevMode||ngDevMode)&&r.cDI(Be,[{type:r.WLR,args:[{selector:"input[type=number][min][formControlName],input[type=number][min][formControl],input[type=number][min][ngModel]",providers:[We],host:{"[attr.min]":"_enabled ? min : null"},standalone:!1}]}],null,{min:[{type:r.pde}]});const Pe={provide:V,useExisting:(0,s.Rfq)((()=>qe)),multi:!0},Te={provide:V,useExisting:(0,s.Rfq)((()=>Le)),multi:!0};class qe extends Ue{required;inputName="required";normalizeInput=o.L39;createValidator=t=>E;enabled(t){return t}static ɵfac=(()=>{let t;return function(e){return(t||(t=r.xGo(qe)))(e||qe)}})();static ɵdir=r.FsC({type:qe,selectors:[["","required","","formControlName","",3,"type","checkbox"],["","required","","formControl","",3,"type","checkbox"],["","required","","ngModel","",3,"type","checkbox"]],hostVars:1,hostBindings:function(t,e){2&t&&r.BMQ("required",e._enabled?"":null)},inputs:{required:"required"},standalone:!1,features:[r.Jv_([Pe]),r.Vt3]})}("undefined"==typeof ngDevMode||ngDevMode)&&r.cDI(qe,[{type:r.WLR,args:[{selector:":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]",providers:[Pe],host:{"[attr.required]":'_enabled ? "" : null'},standalone:!1}]}],null,{required:[{type:r.pde}]});class Le extends qe{createValidator=t=>O;static ɵfac=(()=>{let t;return function(e){return(t||(t=r.xGo(Le)))(e||Le)}})();static ɵdir=r.FsC({type:Le,selectors:[["input","type","checkbox","required","","formControlName",""],["input","type","checkbox","required","","formControl",""],["input","type","checkbox","required","","ngModel",""]],hostVars:1,hostBindings:function(t,e){2&t&&r.BMQ("required",e._enabled?"":null)},standalone:!1,features:[r.Jv_([Te]),r.Vt3]})}("undefined"==typeof ngDevMode||ngDevMode)&&r.cDI(Le,[{type:r.WLR,args:[{selector:"input[type=checkbox][required][formControlName],input[type=checkbox][required][formControl],input[type=checkbox][required][ngModel]",providers:[Te],host:{"[attr.required]":'_enabled ? "" : null'},standalone:!1}]}],null,null);const je={provide:V,useExisting:(0,s.Rfq)((()=>Je)),multi:!0};class Je extends Ue{email;inputName="email";normalizeInput=o.L39;createValidator=t=>S;enabled(t){return t}static ɵfac=(()=>{let t;return function(e){return(t||(t=r.xGo(Je)))(e||Je)}})();static ɵdir=r.FsC({type:Je,selectors:[["","email","","formControlName",""],["","email","","formControl",""],["","email","","ngModel",""]],inputs:{email:"email"},standalone:!1,features:[r.Jv_([je]),r.Vt3]})}("undefined"==typeof ngDevMode||ngDevMode)&&r.cDI(Je,[{type:r.WLR,args:[{selector:"[email][formControlName],[email][formControl],[email][ngModel]",providers:[je],standalone:!1}]}],null,{email:[{type:r.pde}]});const ze={provide:V,useExisting:(0,s.Rfq)((()=>Ke)),multi:!0};class Ke extends Ue{minlength;inputName="minlength";normalizeInput=t=>Ie(t);createValidator=t=>F(t);static ɵfac=(()=>{let t;return function(e){return(t||(t=r.xGo(Ke)))(e||Ke)}})();static ɵdir=r.FsC({type:Ke,selectors:[["","minlength","","formControlName",""],["","minlength","","formControl",""],["","minlength","","ngModel",""]],hostVars:1,hostBindings:function(t,e){2&t&&r.BMQ("minlength",e._enabled?e.minlength:null)},inputs:{minlength:"minlength"},standalone:!1,features:[r.Jv_([ze]),r.Vt3]})}("undefined"==typeof ngDevMode||ngDevMode)&&r.cDI(Ke,[{type:r.WLR,args:[{selector:"[minlength][formControlName],[minlength][formControl],[minlength][ngModel]",providers:[ze],host:{"[attr.minlength]":"_enabled ? minlength : null"},standalone:!1}]}],null,{minlength:[{type:r.pde}]});const Qe={provide:V,useExisting:(0,s.Rfq)((()=>He)),multi:!0};class He extends Ue{maxlength;inputName="maxlength";normalizeInput=t=>Ie(t);createValidator=t=>N(t);static ɵfac=(()=>{let t;return function(e){return(t||(t=r.xGo(He)))(e||He)}})();static ɵdir=r.FsC({type:He,selectors:[["","maxlength","","formControlName",""],["","maxlength","","formControl",""],["","maxlength","","ngModel",""]],hostVars:1,hostBindings:function(t,e){2&t&&r.BMQ("maxlength",e._enabled?e.maxlength:null)},inputs:{maxlength:"maxlength"},standalone:!1,features:[r.Jv_([Qe]),r.Vt3]})}("undefined"==typeof ngDevMode||ngDevMode)&&r.cDI(He,[{type:r.WLR,args:[{selector:"[maxlength][formControlName],[maxlength][formControl],[maxlength][ngModel]",providers:[Qe],host:{"[attr.maxlength]":"_enabled ? maxlength : null"},standalone:!1}]}],null,{maxlength:[{type:r.pde}]});const Ze={provide:V,useExisting:(0,s.Rfq)((()=>Ye)),multi:!0};class Ye extends Ue{pattern;inputName="pattern";normalizeInput=t=>t;createValidator=t=>k(t);static ɵfac=(()=>{let t;return function(e){return(t||(t=r.xGo(Ye)))(e||Ye)}})();static ɵdir=r.FsC({type:Ye,selectors:[["","pattern","","formControlName",""],["","pattern","","formControl",""],["","pattern","","ngModel",""]],hostVars:1,hostBindings:function(t,e){2&t&&r.BMQ("pattern",e._enabled?e.pattern:null)},inputs:{pattern:"pattern"},standalone:!1,features:[r.Jv_([Ze]),r.Vt3]})}("undefined"==typeof ngDevMode||ngDevMode)&&r.cDI(Ye,[{type:r.WLR,args:[{selector:"[pattern][formControlName],[pattern][formControl],[pattern][ngModel]",providers:[Ze],host:{"[attr.pattern]":"_enabled ? pattern : null"},standalone:!1}]}],null,{pattern:[{type:r.pde}]});const tn=[oe,Se,Re,_,se,de,f,Oe,ke,le,nt,ot,qe,Ke,He,Ye,Le,Je,Be,Xe],en=[ne,Yt,Jt],nn=[ye,we,ge,Me,_e,be];class on{static ɵfac=function(t){return new(t||on)};static ɵmod=r.$C({type:on});static ɵinj=s.G2t({})}function rn(t){return!!t&&(void 0!==t.asyncValidators||void 0!==t.validators||void 0!==t.updateOn)}("undefined"==typeof ngDevMode||ngDevMode)&&r.cDI(on,[{type:r.UQu,args:[{declarations:tn,exports:tn}]}],null,null);class sn{useNonNullable=!1;get nonNullable(){const t=new sn;return t.useNonNullable=!0,t}group(t,e=null){const n=this._reduceControls(t);let o={};return rn(e)?o=e:null!==e&&(o.validators=e.validator,o.asyncValidators=e.asyncValidator),new xt(n,o)}record(t,e=null){const n=this._reduceControls(t);return new Et(n,e)}control(t,e,n){let o={};return this.useNonNullable?(rn(e)?o=e:(o.validators=e,o.asyncValidators=n),new Qt(t,{...o,nonNullable:!0})):new Qt(t,e,n)}array(t,e,n){const o=t.map((t=>this._createControl(t)));return new ce(o,e,n)}_reduceControls(t){const e={};return Object.keys(t).forEach((n=>{e[n]=this._createControl(t[n])})),e}_createControl(t){if(t instanceof Qt)return t;if(t instanceof wt)return t;if(Array.isArray(t)){const e=t[0],n=t.length>1?t[1]:null,o=t.length>2?t[2]:null;return this.control(e,n,o)}return this.control(t)}static ɵfac=function(t){return new(t||sn)};static ɵprov=s.jDH({token:sn,factory:sn.ɵfac,providedIn:"root"})}("undefined"==typeof ngDevMode||ngDevMode)&&r.cDI(sn,[{type:r._qm,args:[{providedIn:"root"}]}],null,null);class an{static ɵfac=function(t){return new(t||an)};static ɵprov=s.jDH({token:an,factory:()=>(0,s.WQX)(sn).nonNullable,providedIn:"root"})}("undefined"==typeof ngDevMode||ngDevMode)&&r.cDI(an,[{type:r._qm,args:[{providedIn:"root",useFactory:()=>(0,s.WQX)(sn).nonNullable}]}],null,null);class ln extends sn{group(t,e=null){return super.group(t,e)}control(t,e,n){return super.control(t,e,n)}array(t,e,n){return super.array(t,e,n)}static ɵfac=(()=>{let t;return function(e){return(t||(t=r.xGo(ln)))(e||ln)}})();static ɵprov=s.jDH({token:ln,factory:ln.ɵfac,providedIn:"root"})}("undefined"==typeof ngDevMode||ngDevMode)&&r.cDI(ln,[{type:r._qm,args:[{providedIn:"root"}]}],null,null);class un{static withConfig(t){return{ngModule:un,providers:[{provide:Ot,useValue:t.callSetDisabledState??St}]}}static ɵfac=function(t){return new(t||un)};static ɵmod=r.$C({type:un});static ɵinj=s.G2t({imports:[on]})}("undefined"==typeof ngDevMode||ngDevMode)&&r.cDI(un,[{type:r.UQu,args:[{declarations:en,exports:[on,en]}]}],null,null);class dn{static withConfig(t){return{ngModule:dn,providers:[{provide:me,useValue:t.warnOnNgModelWithFormControl??"always"},{provide:Ot,useValue:t.callSetDisabledState??St}]}}static ɵfac=function(t){return new(t||dn)};static ɵmod=r.$C({type:dn});static ɵinj=s.G2t({imports:[on]})}("undefined"==typeof ngDevMode||ngDevMode)&&r.cDI(dn,[{type:r.UQu,args:[{declarations:[nn],exports:[on,nn]}]}],null,null)}}]);