=0?n&pm:WS:n}(t);if("function"==typeof o){if(!im(n,e,i))return i&re.Host?vm(r,0,i):_m(n,t,i,r);try{let s;if(s=o(i),null!=s||i&re.Optional)return s;iu()}finally{am()}}else if("number"==typeof o){let s=null,a=mm(e,n),l=cr,c=i&re.Host?n[Te][Xe]:null;for((-1===a||i&re.SkipSelf)&&(l=-1===a?Sa(e,n):n[a+8],l!==cr&&Em(i,!1)?(s=n[O],a=Io(l),n=Mo(l,n)):a=-1);-1!==a;){const u=n[O];if(wm(o,a,u.data)){const d=GS(a,n,t,s,i,c);if(d!==_n)return d}l=n[a+8],l!==cr&&Em(i,n[O].data[a+8]===c)&&wm(o,a,n)?(s=u,a=Io(l),n=Mo(l,n)):a=-1}}return r}function GS(e,n,t,i,r,o){const s=n[O],a=s.data[e+8],u=Ta(a,s,t,null==i?wi(a)&&$u:i!=s&&!!(3&a.type),r&re.Host&&o===a);return null!==u?Mi(n,s,u,a):_n}function Ta(e,n,t,i,r){const o=e.providerIndexes,s=n.data,a=1048575&o,l=e.directiveStart,u=o>>20,p=r?a+u:e.directiveEnd;for(let h=i?a:a+u;h=l&&g.type===t)return h}if(r){const h=s[l];if(h&&en(h)&&h.type===t)return l}return null}function Mi(e,n,t,i){let r=e[t];const o=n.data;if(function FS(e){return e instanceof bo}(r)){const s=r;s.resolving&&function h0(e,n){throw n&&n.join(" > "),new T(-200,e)}(function ce(e){return"function"==typeof e?e.name||e.toString():"object"==typeof e&&null!=e&&"function"==typeof e.type?e.type.name||e.type.toString():Z(e)}(o[t]));const a=Ia(s.canSeeViewProviders);s.resolving=!0;const c=s.injectImpl?yt(s.injectImpl):null;im(e,i,re.Default);try{r=e[t]=s.factory(void 0,o,e,i),n.firstCreatePass&&t>=i.directiveStart&&function PS(e,n,t){const{ngOnChanges:i,ngOnInit:r,ngDoCheck:o}=n.type.prototype;if(i){const s=Bg(n);(t.preOrderHooks??=[]).push(e,s),(t.preOrderCheckHooks??=[]).push(e,s)}r&&(t.preOrderHooks??=[]).push(0-e,r),o&&((t.preOrderHooks??=[]).push(e,o),(t.preOrderCheckHooks??=[]).push(e,o))}(t,o[t],n)}finally{null!==c&&yt(c),Ia(a),s.resolving=!1,am()}}return r}function wm(e,n,t){return!!(t[n+(e>>gm)]&1<{const n=e.prototype.constructor,t=n[Nn]||qu(n),i=Object.prototype;let r=Object.getPrototypeOf(e.prototype).constructor;for(;r&&r!==i;){const o=r[Nn]||qu(r);if(o&&o!==t)return o;r=Object.getPrototypeOf(r)}return o=>new o})}function qu(e){return Ks(e)?()=>{const n=qu(j(e));return n&&n()}:vi(e)}function Dm(e){const n=e[O],t=n.type;return 2===t?n.declTNode:1===t?e[Xe]:null}function Tm(e,n=null,t=null,i){const r=Om(e,n,t,i);return r.resolveInjectorInitializers(),r}function Om(e,n=null,t=null,i,r=new Set){const o=[t||ae,$0(e)];return i=i||("object"==typeof e?void 0:$e(e)),new tr(o,n||da(),i||null,r)}class We{static#e=this.THROW_IF_NOT_FOUND=fo;static#t=this.NULL=new oa;static create(n,t){if(Array.isArray(n))return Tm({name:""},t,n,"");{const i=n.name??"";return Tm({name:i},n.parent,n.providers,i)}}static#n=this.\u0275prov=ie({token:We,providedIn:"any",factory:()=>oe(_g)});static#i=this.__NG_ELEMENT_ID__=-1}new R("").__NG_ELEMENT_ID__=e=>{const n=ge();if(null===n)throw new T(204,!1);if(2&n.type)return n.value;if(e&re.Optional)return null;throw new T(204,!1)};function Zu(e){return e.ngOriginalError}class $t{constructor(){this._console=console}handleError(n){const t=this._findOriginalError(n);this._console.error("ERROR",n),t&&this._console.error("ORIGINAL ERROR",t)}_findOriginalError(n){let t=n&&Zu(n);for(;t&&Zu(t);)t=Zu(t);return t||null}}const Am=new R("",{providedIn:"root",factory:()=>L($t).handleError.bind(void 0)});let So=(()=>{class e{static#e=this.__NG_ELEMENT_ID__=rT;static#t=this.__NG_ENV_ID__=t=>t}return e})();class iT extends So{constructor(n){super(),this._lView=n}onDestroy(n){return ya(this._lView,n),()=>function Nu(e,n){if(null===e[Qn])return;const t=e[Qn].indexOf(n);-1!==t&&e[Qn].splice(t,1)}(this._lView,n)}}function rT(){return new iT(w())}function oT(){return fr(ge(),w())}function fr(e,n){return new dt(ct(e,n))}let dt=(()=>{class e{constructor(t){this.nativeElement=t}static#e=this.__NG_ELEMENT_ID__=oT}return e})();function Rm(e){return e instanceof dt?e.nativeElement:e}let hr=(()=>{class e{constructor(){this.taskId=0,this.pendingTasks=new Set,this.hasPendingTasks=new eM(!1)}get _hasPendingTasks(){return this.hasPendingTasks.value}add(){this._hasPendingTasks||this.hasPendingTasks.next(!0);const t=this.taskId++;return this.pendingTasks.add(t),t}remove(t){this.pendingTasks.delete(t),0===this.pendingTasks.size&&this._hasPendingTasks&&this.hasPendingTasks.next(!1)}ngOnDestroy(){this.pendingTasks.clear(),this._hasPendingTasks&&this.hasPendingTasks.next(!1)}static#e=this.\u0275prov=ie({token:e,providedIn:"root",factory:()=>new e})}return e})();const Ee=class sT extends un{constructor(n=!1){super(),this.destroyRef=void 0,this.pendingTasks=void 0,this.__isAsync=n,function xg(){return void 0!==dg()||null!=function _0(){return Ji}()}()&&(this.destroyRef=L(So,{optional:!0})??void 0,this.pendingTasks=L(hr,{optional:!0})??void 0)}emit(n){const t=J(null);try{super.next(n)}finally{J(t)}}subscribe(n,t,i){let r=n,o=t||(()=>null),s=i;if(n&&"object"==typeof n){const l=n;r=l.next?.bind(l),o=l.error?.bind(l),s=l.complete?.bind(l)}this.__isAsync&&(o=this.wrapInTimeout(o),r&&(r=this.wrapInTimeout(r)),s&&(s=this.wrapInTimeout(s)));const a=super.subscribe({next:r,error:o,complete:s});return n instanceof Ot&&n.add(a),a}wrapInTimeout(n){return t=>{const i=this.pendingTasks?.add();setTimeout(()=>{n(t),void 0!==i&&this.pendingTasks?.remove(i)})}}};function aT(){return this._results[Symbol.iterator]()}class Yu{static#e=Symbol.iterator;get changes(){return this._changes??=new Ee}constructor(n=!1){this._emitDistinctChangesOnly=n,this.dirty=!0,this._onDirty=void 0,this._results=[],this._changesDetected=!1,this._changes=void 0,this.length=0,this.first=void 0,this.last=void 0;const t=Yu.prototype;t[Symbol.iterator]||(t[Symbol.iterator]=aT)}get(n){return this._results[n]}map(n){return this._results.map(n)}filter(n){return this._results.filter(n)}find(n){return this._results.find(n)}reduce(n,t){return this._results.reduce(n,t)}forEach(n){this._results.forEach(n)}some(n){return this._results.some(n)}toArray(){return this._results.slice()}toString(){return this._results.toString()}reset(n,t){this.dirty=!1;const i=function Ct(e){return e.flat(Number.POSITIVE_INFINITY)}(n);(this._changesDetected=!function M0(e,n,t){if(e.length!==n.length)return!1;for(let i=0;iOT}),OT="ng",Xm=new R(""),mr=new R("",{providedIn:"platform",factory:()=>"unknown"}),ev=new R("",{providedIn:"root",factory:()=>Kn().body?.querySelector("[ngCspNonce]")?.getAttribute("ngCspNonce")||null});let tv=()=>null;function od(e,n,t=!1){return tv(e,n,t)}const cv=new R("",{providedIn:"root",factory:()=>!1});let Ua,$a;function yr(e){return function ud(){if(void 0===Ua&&(Ua=null,me.trustedTypes))try{Ua=me.trustedTypes.createPolicy("angular",{createHTML:e=>e,createScript:e=>e,createScriptURL:e=>e})}catch{}return Ua}()?.createHTML(e)||e}function fv(e){return function dd(){if(void 0===$a&&($a=null,me.trustedTypes))try{$a=me.trustedTypes.createPolicy("angular#unsafe-bypass",{createHTML:e=>e,createScript:e=>e,createScriptURL:e=>e})}catch{}return $a}()?.createHTML(e)||e}class gv{constructor(n){this.changingThisBreaksApplicationSecurity=n}toString(){return`SafeValue must use [property]=binding: ${this.changingThisBreaksApplicationSecurity} (see ${ng})`}}function Jn(e){return e instanceof gv?e.changingThisBreaksApplicationSecurity:e}function Po(e,n){const t=function ZT(e){return e instanceof gv&&e.getTypeName()||null}(e);if(null!=t&&t!==n){if("ResourceURL"===t&&"URL"===n)return!0;throw new Error(`Required a safe ${n}, got a ${t} (see ${ng})`)}return t===n}class YT{constructor(n){this.inertDocumentHelper=n}getInertBodyElement(n){n=""+n;try{const t=(new window.DOMParser).parseFromString(yr(n),"text/html").body;return null===t?this.inertDocumentHelper.getInertBodyElement(n):(t.removeChild(t.firstChild),t)}catch{return null}}}class QT{constructor(n){this.defaultDoc=n,this.inertDocument=this.defaultDoc.implementation.createHTMLDocument("sanitization-inert")}getInertBodyElement(n){const t=this.inertDocument.createElement("template");return t.innerHTML=yr(n),t}}const JT=/^(?!javascript:)(?:[a-z0-9+.-]+:|[^&:\/?#]*(?:[\/?#]|$))/i;function fd(e){return(e=String(e)).match(JT)?e:"unsafe:"+e}function Pn(e){const n={};for(const t of e.split(","))n[t]=!0;return n}function ko(...e){const n={};for(const t of e)for(const i in t)t.hasOwnProperty(i)&&(n[i]=!0);return n}const vv=Pn("area,br,col,hr,img,wbr"),_v=Pn("colgroup,dd,dt,li,p,tbody,td,tfoot,th,thead,tr"),yv=Pn("rp,rt"),hd=ko(vv,ko(_v,Pn("address,article,aside,blockquote,caption,center,del,details,dialog,dir,div,dl,figure,figcaption,footer,h1,h2,h3,h4,h5,h6,header,hgroup,hr,ins,main,map,menu,nav,ol,pre,section,summary,table,ul")),ko(yv,Pn("a,abbr,acronym,audio,b,bdi,bdo,big,br,cite,code,del,dfn,em,font,i,img,ins,kbd,label,map,mark,picture,q,ruby,rp,rt,s,samp,small,source,span,strike,strong,sub,sup,time,track,tt,u,var,video")),ko(yv,_v)),pd=Pn("background,cite,href,itemtype,longdesc,poster,src,xlink:href"),Cv=ko(pd,Pn("abbr,accesskey,align,alt,autoplay,axis,bgcolor,border,cellpadding,cellspacing,class,clear,color,cols,colspan,compact,controls,coords,datetime,default,dir,download,face,headers,height,hidden,hreflang,hspace,ismap,itemscope,itemprop,kind,label,lang,language,loop,media,muted,nohref,nowrap,open,preload,rel,rev,role,rows,rowspan,rules,scope,scrolling,shape,size,sizes,span,srclang,srcset,start,summary,tabindex,target,title,translate,type,usemap,valign,value,vspace,width"),Pn("aria-activedescendant,aria-atomic,aria-autocomplete,aria-busy,aria-checked,aria-colcount,aria-colindex,aria-colspan,aria-controls,aria-current,aria-describedby,aria-details,aria-disabled,aria-dropeffect,aria-errormessage,aria-expanded,aria-flowto,aria-grabbed,aria-haspopup,aria-hidden,aria-invalid,aria-keyshortcuts,aria-label,aria-labelledby,aria-level,aria-live,aria-modal,aria-multiline,aria-multiselectable,aria-orientation,aria-owns,aria-placeholder,aria-posinset,aria-pressed,aria-readonly,aria-relevant,aria-required,aria-roledescription,aria-rowcount,aria-rowindex,aria-rowspan,aria-selected,aria-setsize,aria-sort,aria-valuemax,aria-valuemin,aria-valuenow,aria-valuetext")),XT=Pn("script,style,template");class eO{constructor(){this.sanitizedSomething=!1,this.buf=[]}sanitizeChildren(n){let t=n.firstChild,i=!0,r=[];for(;t;)if(t.nodeType===Node.ELEMENT_NODE?i=this.startElement(t):t.nodeType===Node.TEXT_NODE?this.chars(t.nodeValue):this.sanitizedSomething=!0,i&&t.firstChild)r.push(t),t=iO(t);else for(;t;){t.nodeType===Node.ELEMENT_NODE&&this.endElement(t);let o=nO(t);if(o){t=o;break}t=r.pop()}return this.buf.join("")}startElement(n){const t=wv(n).toLowerCase();if(!hd.hasOwnProperty(t))return this.sanitizedSomething=!0,!XT.hasOwnProperty(t);this.buf.push("<"),this.buf.push(t);const i=n.attributes;for(let r=0;r"),!0}endElement(n){const t=wv(n).toLowerCase();hd.hasOwnProperty(t)&&!vv.hasOwnProperty(t)&&(this.buf.push(""),this.buf.push(t),this.buf.push(">"))}chars(n){this.buf.push(Dv(n))}}function nO(e){const n=e.nextSibling;if(n&&e!==n.previousSibling)throw Ev(n);return n}function iO(e){const n=e.firstChild;if(n&&function tO(e,n){return(e.compareDocumentPosition(n)&Node.DOCUMENT_POSITION_CONTAINED_BY)!==Node.DOCUMENT_POSITION_CONTAINED_BY}(e,n))throw Ev(n);return n}function wv(e){const n=e.nodeName;return"string"==typeof n?n:"FORM"}function Ev(e){return new Error(`Failed to sanitize html because the element is clobbered: ${e.outerHTML}`)}const rO=/[\uD800-\uDBFF][\uDC00-\uDFFF]/g,oO=/([^\#-~ |!])/g;function Dv(e){return e.replace(/&/g,"&").replace(rO,function(n){return""+(1024*(n.charCodeAt(0)-55296)+(n.charCodeAt(1)-56320)+65536)+";"}).replace(oO,function(n){return""+n.charCodeAt(0)+";"}).replace(//g,">")}let za;function gd(e){return"content"in e&&function aO(e){return e.nodeType===Node.ELEMENT_NODE&&"TEMPLATE"===e.nodeName}(e)?e.content:null}var Cr=function(e){return e[e.NONE=0]="NONE",e[e.HTML=1]="HTML",e[e.STYLE=2]="STYLE",e[e.SCRIPT=3]="SCRIPT",e[e.URL=4]="URL",e[e.RESOURCE_URL=5]="RESOURCE_URL",e}(Cr||{});function bv(e){const n=Fo();return n?fv(n.sanitize(Cr.HTML,e)||""):Po(e,"HTML")?fv(Jn(e)):function sO(e,n){let t=null;try{za=za||function mv(e){const n=new QT(e);return function KT(){try{return!!(new window.DOMParser).parseFromString(yr(""),"text/html")}catch{return!1}}()?new YT(n):n}(e);let i=n?String(n):"";t=za.getInertBodyElement(i);let r=5,o=i;do{if(0===r)throw new Error("Failed to sanitize html because the input is unstable");r--,i=o,o=t.innerHTML,t=za.getInertBodyElement(i)}while(i!==o);return yr((new eO).sanitizeChildren(gd(t)||t))}finally{if(t){const i=gd(t)||t;for(;i.firstChild;)i.removeChild(i.firstChild)}}}(Kn(),Z(e))}function Xn(e){const n=Fo();return n?n.sanitize(Cr.URL,e)||"":Po(e,"URL")?Jn(e):fd(Z(e))}function Fo(){const e=w();return e&&e[hn].sanitizer}const pO=/^>|^->||--!>|)/g,mO="\u200b$1\u200b";function Wa(e){return e.ownerDocument.defaultView}var ei=function(e){return e[e.Important=1]="Important",e[e.DashCase=2]="DashCase",e}(ei||{});let _d;function yd(e,n){return _d(e,n)}function Er(e,n,t,i,r){if(null!=i){let o,s=!1;it(i)?o=i:Ke(i)&&(s=!0,i=i[Se]);const a=le(i);0===e&&null!==t?null==r?Vv(n,t,a):Si(n,t,a,r||null,!0):1===e&&null!==t?Si(n,t,a,r||null,!0):2===e?function Ho(e,n,t){const i=Qa(e,n);i&&function RO(e,n,t,i){e.removeChild(n,t,i)}(e,i,n,t)}(n,a,s):3===e&&n.destroyNode(a),null!=o&&function kO(e,n,t,i,r){const o=t[pn];o!==le(t)&&Er(n,e,i,o,r);for(let a=xe;an.replace(gO,mO))}(n))}function Za(e,n,t){return e.createElement(n,t)}function Pv(e,n){n[hn].changeDetectionScheduler?.notify(8),Ja(e,n,n[U],2,null,null)}function kv(e,n){const t=e[lr],i=n[He];(Ke(i)||n[Te]!==i[He][Te])&&(e[V]|=ma.HasTransplantedViews),null===t?e[lr]=[n]:t.push(n)}function Ed(e,n){const t=e[lr],i=t.indexOf(n);t.splice(i,1)}function Vo(e,n){if(e.length<=xe)return;const t=xe+n,i=e[t];if(i){const r=i[Ci];null!==r&&r!==e&&Ed(r,i),n>0&&(e[t-1][Xt]=i[Xt]);const o=ia(e,xe+n);!function SO(e,n){Pv(e,n),n[Se]=null,n[Xe]=null}(i[O],i);const s=o[An];null!==s&&s.detachView(o[O]),i[He]=null,i[Xt]=null,i[V]&=-129}return i}function Ya(e,n){if(!(256&n[V])){const t=n[U];t.destroyNode&&Ja(e,n,t,3,null,null),function OO(e){let n=e[mo];if(!n)return Dd(e[O],e);for(;n;){let t=null;if(Ke(n))t=n[mo];else{const i=n[xe];i&&(t=i)}if(!t){for(;n&&!n[Xt]&&n!==e;)Ke(n)&&Dd(n[O],n),n=n[He];null===n&&(n=e),Ke(n)&&Dd(n[O],n),t=n&&n[Xt]}n=t}}(n)}}function Dd(e,n){if(256&n[V])return;const t=J(null);try{n[V]&=-129,n[V]|=256,n[jt]&&Tc(n[jt]),function xO(e,n){let t;if(null!=e&&null!=(t=e.destroyHooks))for(let i=0;i=0?i[s]():i[-s].unsubscribe(),o+=2}else t[o].call(i[t[o+1]]);null!==i&&(n[rr]=null);const r=n[Qn];if(null!==r){n[Qn]=null;for(let o=0;o-1){const{encapsulation:o}=e.data[i.directiveStart+r];if(o===Yt.None||o===Yt.Emulated)return null}return ct(i,t)}}(e,n.parent,t)}function Si(e,n,t,i,r){e.insertBefore(n,t,i,r)}function Vv(e,n,t){e.appendChild(n,t)}function Hv(e,n,t,i,r){null!==i?Si(e,n,t,i,r):Vv(e,n,t)}function Qa(e,n){return e.parentNode(n)}let Id,Uv=function jv(e,n,t){return 40&e.type?ct(e,t):null};function Ka(e,n,t,i){const r=bd(e,i,n),o=n[U],a=function Bv(e,n,t){return Uv(e,n,t)}(i.parent||n[Xe],i,n);if(null!=r)if(Array.isArray(t))for(let l=0;lP&&Yv(e,n,P,!1),mn(s?2:0,r),t(i,r)}finally{bi(o),mn(s?3:1,r)}}function Od(e,n,t){if(Du(n)){const i=J(null);try{const o=n.directiveEnd;for(let s=n.directiveStart;snull;function e_(e,n,t,i,r){for(let o in n){if(!n.hasOwnProperty(o))continue;const s=n[o];if(void 0===s)continue;i??={};let a,l=Zn.None;Array.isArray(s)?(a=s[0],l=s[1]):a=s;let c=o;if(null!==r){if(!r.hasOwnProperty(o))continue;c=r[o]}0===e?t_(i,t,c,a,l):t_(i,t,c,a)}return i}function t_(e,n,t,i,r){let o;e.hasOwnProperty(t)?(o=e[t]).push(n,i):o=e[t]=[n,i],void 0!==r&&o.push(r)}function bt(e,n,t,i,r,o,s,a){const l=ct(n,t);let u,c=n.inputs;!a&&null!=c&&(u=c[i])?(Fd(e,t,u,i,r),wi(n)&&function QO(e,n){const t=Lt(n,e);16&t[V]||(t[V]|=64)}(t,n.index)):3&n.type&&(i=function YO(e){return"class"===e?"className":"for"===e?"htmlFor":"formaction"===e?"formAction":"innerHtml"===e?"innerHTML":"readonly"===e?"readOnly":"tabindex"===e?"tabIndex":e}(i),r=null!=s?s(r,n.value||"",i):r,o.setProperty(l,i,r))}function Rd(e,n,t,i){if(Yg()){const r=null===i?null:{"":-1},o=function nN(e,n){const t=e.directiveRegistry;let i=null,r=null;if(t)for(let o=0;o0;){const t=e[--n];if("number"==typeof t&&t<0)return t}return 0})(s)!=a&&s.push(a),s.push(t,i,o)}}(e,n,i,Bo(e,t,r.hostVars,Y),r)}function yn(e,n,t,i,r,o){const s=ct(e,n);!function Pd(e,n,t,i,r,o,s){if(null==o)e.removeAttribute(n,r,t);else{const a=null==s?Z(o):s(o,i||"",r);e.setAttribute(n,r,a,t)}}(n[U],s,o,e.value,t,i,r)}function lN(e,n,t,i,r,o){const s=o[n];if(null!==s)for(let a=0;a{_a(e.lView)},consumerOnSignalRead(){this.lView[jt]=this}},_N={...Fs,consumerIsAlwaysLive:!0,consumerMarkedDirty:e=>{let n=xn(e.lView);for(;n&&!f_(n[O]);)n=xn(n);n&&qg(n)},consumerOnSignalRead(){this.lView[jt]=this}};function f_(e){return 2!==e.type}const yN=100;function nl(e,n=!0,t=0){const i=e[hn],r=i.rendererFactory;r.begin?.();try{!function CN(e,n){const t=Xg();try{em(!0),Bd(e,n);let i=0;for(;wo(e);){if(i===yN)throw new T(103,!1);i++,Bd(e,1)}}finally{em(t)}}(e,t)}catch(s){throw n&&tl(e,s),s}finally{r.end?.(),i.inlineEffectRunner?.flush()}}function wN(e,n,t,i){const r=n[V];if(!(256&~r))return;n[hn].inlineEffectRunner?.flush(),Fu(n);let a=!0,l=null,c=null;f_(e)?(c=function hN(e){return e[jt]??function pN(e){const n=d_.pop()??Object.create(mN);return n.lView=e,n}(e)}(n),l=Vs(c)):null===function Ep(){return Ae}()?(a=!1,c=function vN(e){const n=e[jt]??Object.create(_N);return n.lView=e,n}(n),l=Vs(c)):n[jt]&&(Tc(n[jt]),n[jt]=null);try{Gg(n),function tm(e){return $.lFrame.bindingIndex=e}(e.bindingStartIndex),null!==t&&Kv(e,n,t,2,i);const u=!(3&~r);if(u){const h=e.preOrderCheckHooks;null!==h&&Da(n,h,null)}else{const h=e.preOrderHooks;null!==h&&ba(n,h,0,null),Hu(n,0)}if(function EN(e){for(let n=$m(e);null!==n;n=zm(n)){if(!(n[V]&ma.HasTransplantedViews))continue;const t=n[lr];for(let i=0;i-1&&(Vo(n,i),ia(t,i))}this._attachedToViewContainer=!1}Ya(this._lView[O],this._lView)}onDestroy(n){ya(this._lView,n)}markForCheck(){Uo(this._cdRefInjectingView||this._lView,4)}detach(){this._lView[V]&=-129}reattach(){Ou(this._lView),this._lView[V]|=128}detectChanges(){this._lView[V]|=1024,nl(this._lView,this.notifyErrorHandler)}checkNoChanges(){}attachToViewContainerRef(){if(this._appRef)throw new T(902,!1);this._attachedToViewContainer=!0}detachFromAppRef(){this._appRef=null;const n=_o(this._lView),t=this._lView[Ci];null!==t&&!n&&Ed(t,this._lView),Pv(this._lView[O],this._lView)}attachToAppRef(n){if(this._attachedToViewContainer)throw new T(902,!1);this._appRef=n;const t=_o(this._lView),i=this._lView[Ci];null!==i&&!t&&kv(i,this._lView),Ou(this._lView)}}let Fn=(()=>{class e{static#e=this.__NG_ELEMENT_ID__=MN}return e})();const bN=Fn,IN=class extends bN{constructor(n,t,i){super(),this._declarationLView=n,this._declarationTContainer=t,this.elementRef=i}get ssrId(){return this._declarationTContainer.tView?.ssrId||null}createEmbeddedView(n,t){return this.createEmbeddedViewImpl(n,t)}createEmbeddedViewImpl(n,t,i){const r=function br(e,n,t,i){const r=J(null);try{const o=n.tView,l=Xa(e,o,t,4096&e[V]?4096:16,null,n,null,null,i?.injector??null,i?.embeddedViewInjector??null,i?.dehydratedView??null);l[Ci]=e[n.index];const u=e[An];return null!==u&&(l[An]=u.createEmbeddedView(o)),Vd(o,l,t),l}finally{J(r)}}(this._declarationLView,this._declarationTContainer,n,{embeddedViewInjector:t,dehydratedView:i});return new $o(r)}};function MN(){return il(ge(),w())}function il(e,n){return 4&e.type?new IN(n,e,fr(e,n)):null}class Sr{}const Ko=new R("",{providedIn:"root",factory:()=>!1}),V_=new R("");class _A{}class H_{}class CA{resolveComponentFactory(n){throw function yA(e){const n=Error(`No component factory found for ${$e(e)}.`);return n.ngComponent=e,n}(n)}}class cl{static#e=this.NULL=new CA}class Kd{}let rn=(()=>{class e{constructor(){this.destroyNode=null}static#e=this.__NG_ELEMENT_ID__=()=>function wA(){const e=w(),t=Lt(ge().index,e);return(Ke(t)?t:e)[U]}()}return e})(),EA=(()=>{class e{static#e=this.\u0275prov=ie({token:e,providedIn:"root",factory:()=>null})}return e})();const j_=new Set;function ft(e){j_.has(e)||(j_.add(e),performance?.mark?.("mark_feature_usage",{detail:{feature:e}}))}function U_(e){let n=!0;return setTimeout(()=>{n&&(n=!1,e())}),"function"==typeof me.requestAnimationFrame&&me.requestAnimationFrame(()=>{n&&(n=!1,e())}),()=>{n=!1}}function $_(e){let n=!0;return queueMicrotask(()=>{n&&e()}),()=>{n=!1}}function z_(...e){}class he{constructor({enableLongStackTrace:n=!1,shouldCoalesceEventChangeDetection:t=!1,shouldCoalesceRunChangeDetection:i=!1}){if(this.hasPendingMacrotasks=!1,this.hasPendingMicrotasks=!1,this.isStable=!0,this.onUnstable=new Ee(!1),this.onMicrotaskEmpty=new Ee(!1),this.onStable=new Ee(!1),this.onError=new Ee(!1),typeof Zone>"u")throw new T(908,!1);Zone.assertZonePatched();const r=this;r._nesting=0,r._outer=r._inner=Zone.current,Zone.TaskTrackingZoneSpec&&(r._inner=r._inner.fork(new Zone.TaskTrackingZoneSpec)),n&&Zone.longStackTraceZoneSpec&&(r._inner=r._inner.fork(Zone.longStackTraceZoneSpec)),r.shouldCoalesceEventChangeDetection=!i&&t,r.shouldCoalesceRunChangeDetection=i,r.callbackScheduled=!1,function IA(e){const n=()=>{!function bA(e){e.isCheckStableRunning||e.callbackScheduled||(e.callbackScheduled=!0,Zone.root.run(()=>{U_(()=>{e.callbackScheduled=!1,Xd(e),e.isCheckStableRunning=!0,Jd(e),e.isCheckStableRunning=!1})}),Xd(e))}(e)};e._inner=e._inner.fork({name:"angular",properties:{isAngularZone:!0},onInvokeTask:(t,i,r,o,s,a)=>{if(function MA(e){return W_(e,"__ignore_ng_zone__")}(a))return t.invokeTask(r,o,s,a);try{return G_(e),t.invokeTask(r,o,s,a)}finally{(e.shouldCoalesceEventChangeDetection&&"eventTask"===o.type||e.shouldCoalesceRunChangeDetection)&&n(),q_(e)}},onInvoke:(t,i,r,o,s,a,l)=>{try{return G_(e),t.invoke(r,o,s,a,l)}finally{e.shouldCoalesceRunChangeDetection&&!e.callbackScheduled&&!function SA(e){return W_(e,"__scheduler_tick__")}(a)&&n(),q_(e)}},onHasTask:(t,i,r,o)=>{t.hasTask(r,o),i===r&&("microTask"==o.change?(e._hasPendingMicrotasks=o.microTask,Xd(e),Jd(e)):"macroTask"==o.change&&(e.hasPendingMacrotasks=o.macroTask))},onHandleError:(t,i,r,o)=>(t.handleError(r,o),e.runOutsideAngular(()=>e.onError.emit(o)),!1)})}(r)}static isInAngularZone(){return typeof Zone<"u"&&!0===Zone.current.get("isAngularZone")}static assertInAngularZone(){if(!he.isInAngularZone())throw new T(909,!1)}static assertNotInAngularZone(){if(he.isInAngularZone())throw new T(909,!1)}run(n,t,i){return this._inner.run(n,t,i)}runTask(n,t,i,r){const o=this._inner,s=o.scheduleEventTask("NgZoneEvent: "+r,n,DA,z_,z_);try{return o.runTask(s,t,i)}finally{o.cancelTask(s)}}runGuarded(n,t,i){return this._inner.runGuarded(n,t,i)}runOutsideAngular(n){return this._outer.run(n)}}const DA={};function Jd(e){if(0==e._nesting&&!e.hasPendingMicrotasks&&!e.isStable)try{e._nesting++,e.onMicrotaskEmpty.emit(null)}finally{if(e._nesting--,!e.hasPendingMicrotasks)try{e.runOutsideAngular(()=>e.onStable.emit(null))}finally{e.isStable=!0}}}function Xd(e){e.hasPendingMicrotasks=!!(e._hasPendingMicrotasks||(e.shouldCoalesceEventChangeDetection||e.shouldCoalesceRunChangeDetection)&&!0===e.callbackScheduled)}function G_(e){e._nesting++,e.isStable&&(e.isStable=!1,e.onUnstable.emit(null))}function q_(e){e._nesting--,Jd(e)}class ef{constructor(){this.hasPendingMicrotasks=!1,this.hasPendingMacrotasks=!1,this.isStable=!0,this.onUnstable=new Ee,this.onMicrotaskEmpty=new Ee,this.onStable=new Ee,this.onError=new Ee}run(n,t,i){return n.apply(t,i)}runGuarded(n,t,i){return n.apply(t,i)}runOutsideAngular(n){return n()}runTask(n,t,i,r){return n.apply(t,i)}}function W_(e,n){return!(!Array.isArray(e)||1!==e.length)&&!0===e[0]?.data?.[n]}let ul=(()=>{class e{constructor(){this.handler=null,this.internalCallbacks=[]}execute(){this.executeInternalCallbacks(),this.handler?.execute()}executeInternalCallbacks(){const t=[...this.internalCallbacks];this.internalCallbacks.length=0;for(const i of t)i()}ngOnDestroy(){this.handler?.destroy(),this.handler=null,this.internalCallbacks.length=0}static#e=this.\u0275prov=ie({token:e,providedIn:"root",factory:()=>new e})}return e})();function fl(e,n,t){let i=t?e.styles:null,r=t?e.classes:null,o=0;if(null!==n)for(let s=0;s0&&Wv(e,t,o.join(" "))}}(h,Oe,_,i),void 0!==t&&function $A(e,n,t){const i=e.projection=[];for(let r=0;r{class e{static#e=this.__NG_ELEMENT_ID__=GA}return e})();function GA(){return ny(ge(),w())}const qA=Cn,ey=class extends qA{constructor(n,t,i){super(),this._lContainer=n,this._hostTNode=t,this._hostLView=i}get element(){return fr(this._hostTNode,this._hostLView)}get injector(){return new qe(this._hostTNode,this._hostLView)}get parentInjector(){const n=Sa(this._hostTNode,this._hostLView);if(Uu(n)){const t=Mo(n,this._hostLView),i=Io(n);return new qe(t[O].data[i+8],t)}return new qe(null,this._hostLView)}clear(){for(;this.length>0;)this.remove(this.length-1)}get(n){const t=ty(this._lContainer);return null!==t&&t[n]||null}get length(){return this._lContainer.length-xe}createEmbeddedView(n,t,i){let r,o;"number"==typeof i?r=i:null!=i&&(r=i.index,o=i.injector);const a=n.createEmbeddedViewImpl(t||{},o,null);return this.insertImpl(a,r,Oi(this._hostTNode,null)),a}createComponent(n,t,i,r,o){const s=n&&!function go(e){return"function"==typeof e}(n);let a;if(s)a=t;else{const g=t||{};a=g.index,i=g.injector,r=g.projectableNodes,o=g.environmentInjector||g.ngModuleRef}const l=s?n:new es(ee(n)),c=i||this.parentInjector;if(!o&&null==l.ngModule){const _=(s?c:this.parentInjector).get(Jt,null);_&&(o=_)}ee(l.componentType??{});const h=l.create(c,r,null,o);return this.insertImpl(h.hostView,a,Oi(this._hostTNode,null)),h}insert(n,t){return this.insertImpl(n,t,!0)}insertImpl(n,t,i){const r=n._lView;if(function _S(e){return it(e[He])}(r)){const a=this.indexOf(n);if(-1!==a)this.detach(a);else{const l=r[He],c=new ey(l,l[Xe],l[He]);c.detach(c.indexOf(n))}}const o=this._adjustIndex(t),s=this._lContainer;return function Ir(e,n,t,i=!0){const r=n[O];if(function NO(e,n,t,i){const r=xe+i,o=t.length;i>0&&(t[r-1][Xt]=n),i!1;class af{constructor(n){this.queryList=n,this.matches=null}clone(){return new af(this.queryList)}setDirty(){this.queryList.setDirty()}}class lf{constructor(n=[]){this.queries=n}createEmbeddedView(n){const t=n.queries;if(null!==t){const i=null!==n.contentQueries?n.contentQueries[0]:t.length,r=[];for(let o=0;on.trim())}(n):n}}class cf{constructor(n=[]){this.queries=n}elementStart(n,t){for(let i=0;i0)i.push(s[a/2]);else{const c=o[a+1],u=n[-l];for(let d=xe;d(Ic(n),n.value);return t[Zt]=n,t}(e),i=t[Zt];return n?.equal&&(i.equal=n.equal),t.set=r=>xp(i,r),t.update=r=>function HI(e,n){Ip()||Ap(),xp(e,n(e.value))}(i,r),t.asReadonly=py.bind(t),t}function py(){const e=this[Zt];if(void 0===e.readonlyFn){const n=()=>this();n[Zt]=e,e.readonlyFn=n}return e.readonlyFn}function gy(e){return function hy(e){return"function"==typeof e&&void 0!==e[Zt]}(e)&&"function"==typeof e.set}function ue(e){let n=function My(e){return Object.getPrototypeOf(e.prototype).constructor}(e.type),t=!0;const i=[e];for(;n;){let r;if(en(e))r=n.\u0275cmp||n.\u0275dir;else{if(n.\u0275cmp)throw new T(903,!1);r=n.\u0275dir}if(r){if(t){i.push(r);const s=e;s.inputs=pl(e.inputs),s.inputTransforms=pl(e.inputTransforms),s.declaredInputs=pl(e.declaredInputs),s.outputs=pl(e.outputs);const a=r.hostBindings;a&&mx(e,a);const l=r.viewQuery,c=r.contentQueries;if(l&&px(e,l),c&&gx(e,c),fx(e,r),r0(e.outputs,r.outputs),en(r)&&r.data.animation){const u=e.data;u.animation=(u.animation||[]).concat(r.data.animation)}}const o=r.features;if(o)for(let s=0;s=0;i--){const r=e[i];r.hostVars=n+=r.hostVars,r.hostAttrs=po(r.hostAttrs,t=po(t,r.hostAttrs))}}(i)}function fx(e,n){for(const t in n.inputs){if(!n.inputs.hasOwnProperty(t)||e.inputs.hasOwnProperty(t))continue;const i=n.inputs[t];if(void 0!==i&&(e.inputs[t]=i,e.declaredInputs[t]=n.declaredInputs[t],null!==n.inputTransforms)){const r=Array.isArray(i)?i[0]:i;if(!n.inputTransforms.hasOwnProperty(r))continue;e.inputTransforms??={},e.inputTransforms[r]=n.inputTransforms[r]}}}function pl(e){return e===dn?{}:e===ae?[]:e}function px(e,n){const t=e.viewQuery;e.viewQuery=t?(i,r)=>{n(i,r),t(i,r)}:n}function gx(e,n){const t=e.contentQueries;e.contentQueries=t?(i,r,o)=>{n(i,r,o),t(i,r,o)}:n}function mx(e,n){const t=e.hostBindings;e.hostBindings=t?(i,r)=>{n(i,r),t(i,r)}:n}class Ri{}class Dx{}class gf extends Ri{constructor(n,t,i){super(),this._parent=t,this._bootstrapComponents=[],this.destroyCbs=[],this.componentFactoryResolver=new J_(this);const r=function nt(e,n){const t=e[cg]||null;if(!t&&!0===n)throw new Error(`Type ${$e(e)} does not have '\u0275mod' property.`);return t}(n);this._bootstrapComponents=function Pt(e){return e instanceof Function?e():e}(r.bootstrap),this._r3Injector=Om(n,t,[{provide:Ri,useValue:this},{provide:cl,useValue:this.componentFactoryResolver},...i],$e(n),new Set(["environment"])),this._r3Injector.resolveInjectorInitializers(),this.instance=this._r3Injector.get(n)}get injector(){return this._r3Injector}destroy(){const n=this._r3Injector;!n.destroyed&&n.destroy(),this.destroyCbs.forEach(t=>t()),this.destroyCbs=null}onDestroy(n){this.destroyCbs.push(n)}}class mf extends Dx{constructor(n){super(),this.moduleType=n}create(n){return new gf(this.moduleType,n,[])}}function gl(e){return!!vf(e)&&(Array.isArray(e)||!(e instanceof Map)&&Symbol.iterator in e)}function vf(e){return null!==e&&("function"==typeof e||"object"==typeof e)}function wn(e,n,t){return e[n]=t}function Re(e,n,t){return!Object.is(e[n],t)&&(e[n]=t,!0)}function Li(e,n,t,i){const r=Re(e,n,t);return Re(e,n+1,i)||r}function is(e,n,t,i,r,o,s,a,l,c){const u=t+P,d=n.firstCreatePass?function Nx(e,n,t,i,r,o,s,a,l){const c=n.consts,u=Ti(n,e,4,s||null,a||null);Rd(n,t,u,Ut(c,l)),Ea(n,u);const d=u.tView=xd(2,u,i,r,o,n.directiveRegistry,n.pipeRegistry,null,n.schemas,c,null);return null!==n.queries&&(n.queries.template(n,u),d.queries=n.queries.embeddedTView(u)),u}(u,n,e,i,r,o,s,a,l):n.data[u];tn(d,!1);const p=xy(n,e,d,t);Do()&&Ka(n,e,p,d),ot(p,e);const h=r_(p,e,p,d);return e[u]=h,el(e,h),function ry(e,n,t){return sf(e,n,t)}(h,d,e),va(d)&&Nd(n,e,d),null!=l&&Ad(e,d,c),d}function H(e,n,t,i,r,o,s,a){const l=w(),c=X();return is(l,c,e,n,t,i,r,Ut(c.consts,o),s,a),H}let xy=function Ry(e,n,t,i){return vn(!0),n[U].createComment("")};function pt(e,n,t,i){const r=w();return Re(r,nn(),n)&&(X(),yn(we(),r,e,n,t,i)),pt}function Vr(e,n,t,i){return Re(e,nn(),t)?n+Z(t)+i:Y}function El(e,n){return e<<17|n<<2}function ii(e){return e>>17&32767}function Tf(e){return 2|e}function ki(e){return(131068&e)>>2}function Of(e,n){return-131069&e|n<<2}function Nf(e){return 1|e}function uC(e,n,t,i){const r=e[t+1],o=null===n;let s=i?ii(r):ki(r),a=!1;for(;0!==s&&(!1===a||o);){const c=e[s+1];g1(e[s],n)&&(a=!0,e[s+1]=i?Nf(c):Tf(c)),s=i?ii(c):ki(c)}a&&(e[t+1]=i?Tf(r):Nf(r))}function g1(e,n){return null===e||null==n||(Array.isArray(e)?e[1]:e)===n||!(!Array.isArray(e)||"string"!=typeof n)&&er(e,n)>=0}const Ze={textEnd:0,key:0,keyEnd:0,value:0,valueEnd:0};function dC(e){return e.substring(Ze.key,Ze.keyEnd)}function fC(e,n){const t=Ze.textEnd;return t===n?-1:(n=Ze.keyEnd=function y1(e,n,t){for(;n32;)n++;return n}(e,Ze.key=n,t),qr(e,n,t))}function qr(e,n,t){for(;n=0;t=fC(n,t))Rt(e,dC(n),!0)}function on(e,n,t,i){const r=w(),o=X(),s=Ln(2);o.firstUpdatePass&&_C(o,e,s,i),n!==Y&&Re(r,s,n)&&CC(o,o.data[et()],r,r[U],e,r[s+1]=function A1(e,n){return null==e||""===e||("string"==typeof n?e+=n:"object"==typeof e&&(e=$e(Jn(e)))),e}(n,t),i,s)}function vC(e,n){return n>=e.expandoStartIndex}function _C(e,n,t,i){const r=e.data;if(null===r[t+1]){const o=r[et()],s=vC(e,t);EC(o,i)&&null===n&&!s&&(n=!1),n=function b1(e,n,t,i){const r=function Pu(e){const n=$.lFrame.currentDirectiveIndex;return-1===n?null:e[n]}(e);let o=i?n.residualClasses:n.residualStyles;if(null===r)0===(i?n.classBindings:n.styleBindings)&&(t=as(t=xf(null,e,n,t,i),n.attrs,i),o=null);else{const s=n.directiveStylingLast;if(-1===s||e[s]!==r)if(t=xf(r,e,n,t,i),null===o){let l=function I1(e,n,t){const i=t?n.classBindings:n.styleBindings;if(0!==ki(i))return e[ii(i)]}(e,n,i);void 0!==l&&Array.isArray(l)&&(l=xf(null,e,n,l[1],i),l=as(l,n.attrs,i),function M1(e,n,t,i){e[ii(t?n.classBindings:n.styleBindings)]=i}(e,n,i,l))}else o=function S1(e,n,t){let i;const r=n.directiveEnd;for(let o=1+n.directiveStylingLast;o0)&&(c=!0)):u=t,r)if(0!==l){const p=ii(e[a+1]);e[i+1]=El(p,a),0!==p&&(e[p+1]=Of(e[p+1],i)),e[a+1]=function d1(e,n){return 131071&e|n<<17}(e[a+1],i)}else e[i+1]=El(a,0),0!==a&&(e[a+1]=Of(e[a+1],i)),a=i;else e[i+1]=El(l,0),0===a?a=i:e[l+1]=Of(e[l+1],i),l=i;c&&(e[i+1]=Tf(e[i+1])),uC(e,u,i,!0),uC(e,u,i,!1),function p1(e,n,t,i,r){const o=r?e.residualClasses:e.residualStyles;null!=o&&"string"==typeof n&&er(o,n)>=0&&(t[i+1]=Nf(t[i+1]))}(n,u,e,i,o),s=El(a,l),o?n.classBindings=s:n.styleBindings=s}(r,o,n,t,s,i)}}function xf(e,n,t,i,r){let o=null;const s=t.directiveEnd;let a=t.directiveStylingLast;for(-1===a?a=t.directiveStart:a++;a0;){const l=e[r],c=Array.isArray(l),u=c?l[1]:l,d=null===u;let p=t[r+1];p===Y&&(p=d?ae:void 0);let h=d?uu(p,i):u===i?p:void 0;if(c&&!bl(h)&&(h=uu(l,i)),bl(h)&&(a=h,s))return a;const g=e[r+1];r=s?ii(g):ki(g)}if(null!==n){let l=o?n.residualClasses:n.residualStyles;null!=l&&(a=uu(l,i))}return a}function bl(e){return void 0!==e}function EC(e,n){return!!(e.flags&(n?8:16))}function bn(e,n,t){!function sn(e,n,t,i){const r=X(),o=Ln(2);r.firstUpdatePass&&_C(r,null,o,i);const s=w();if(t!==Y&&Re(s,o,t)){const a=r.data[et()];if(EC(a,i)&&!vC(r,o)){let l=i?a.classesWithoutHost:a.stylesWithoutHost;null!==l&&(t=Zc(l,t||"")),Af(r,a,s,t,i)}else!function N1(e,n,t,i,r,o,s,a){r===Y&&(r=ae);let l=0,c=0,u=0(vn(!0),Za(i,r,function cm(){return $.lFrame.currentNamespace}()));function te(e,n,t){const i=w(),r=X(),o=e+P,s=r.firstCreatePass?function nR(e,n,t,i,r){const o=n.consts,s=Ut(o,i),a=Ti(n,e,8,"ng-container",s);return null!==s&&fl(a,s,!0),Rd(n,t,a,Ut(o,r)),null!==n.queries&&n.queries.elementStart(n,a),a}(o,r,i,n,t):r.data[o];tn(s,!0);const a=TC(r,i,s,e);return i[o]=a,Do()&&Ka(r,i,a,s),ot(a,i),va(s)&&(Nd(r,i,s),Od(r,s,i)),null!=t&&Ad(i,s),te}function ne(){let e=ge();const n=X();return xu()?Ru():(e=e.parent,tn(e,!1)),n.firstCreatePass&&(Ea(n,e),Du(e)&&n.queries.elementEnd(e)),ne}let TC=(e,n,t,i)=>(vn(!0),wd(n[U],""));function Ie(){return w()}const Zr="en-US";let RC=Zr;let JC=(e,n,t)=>{};function W(e,n,t,i){const r=w(),o=X(),s=ge();return Hf(o,r,r[U],s,e,n,i),W}function Hf(e,n,t,i,r,o,s){const a=va(i),c=e.firstCreatePass&&a_(e),u=n[Ce],d=s_(n);let p=!0;if(3&i.type||s){const _=ct(i,n),D=s?s(_):_,S=d.length,E=s?Q=>s(le(Q[i.index])):i.index;let F=null;if(!s&&a&&(F=function ZR(e,n,t,i){const r=e.cleanup;if(null!=r)for(let o=0;ol?a[l]:null}"string"==typeof s&&(o+=2)}return null}(e,n,r,i.index)),null!==F)(F.__ngLastListenerFn__||F).__ngNextListenerFn__=o,F.__ngLastListenerFn__=o,p=!1;else{o=tw(i,n,u,o),JC(_,r,o);const Q=t.listen(D,r,o);d.push(o,Q),c&&c.push(r,E,S,S+1)}}else o=tw(i,n,u,o);const h=i.outputs;let g;if(p&&null!==h&&(g=h[r])){const _=g.length;if(_)for(let D=0;D<_;D+=2){const se=n[g[D]][g[D+1]].subscribe(o),Oe=d.length;d.push(o,se),c&&c.push(r,i.index,Oe,-(Oe+1))}}}function ew(e,n,t,i){const r=J(null);try{return mn(6,n,t),!1!==t(i)}catch(o){return tl(e,o),!1}finally{mn(7,n,t),J(r)}}function tw(e,n,t,i){return function r(o){if(o===Function)return i;Uo(e.componentOffset>-1?Lt(e.index,n):n,5);let a=ew(n,t,i,o),l=r.__ngNextListenerFn__;for(;l;)a=ew(n,t,l,o)&&a,l=l.__ngNextListenerFn__;return a}}function v(e=1){return function AS(e){return($.lFrame.contextLView=function Wg(e,n){for(;e>0;)n=n[or],e--;return n}(e,$.lFrame.contextLView))[Ce]}(e)}function Hn(e,n,t){return Bf(e,"",n,"",t),Hn}function Bf(e,n,t,i,r){const o=w(),s=Vr(o,n,t,i);return s!==Y&&bt(X(),we(),o,e,s,o[U],r,!1),Bf}function uw(e,n,t,i){!function uy(e,n,t,i){const r=X();if(r.firstCreatePass){const o=ge();dy(r,new sy(n,t,i),o.index),function nx(e,n){const t=e.contentQueries||(e.contentQueries=[]);n!==(t.length?t[t.length-1]:-1)&&t.push(e.queries.length-1,n)}(r,e),!(2&~t)&&(r.staticContentQueries=!0)}return ly(r,w(),t)}(e,n,t,i)}function Ft(e,n,t){!function cy(e,n,t){const i=X();return i.firstCreatePass&&(dy(i,new sy(e,n,t),-1),!(2&~n)&&(i.staticViewQueries=!0)),ly(i,w(),n)}(e,n,t)}function Mt(e){const n=w(),t=X(),i=ku();wa(i+1);const r=hf(t,i);if(e.dirty&&function vS(e){return!(4&~e[V])}(n)===!(2&~r.metadata.flags)){if(null===r.matches)e.reset([]);else{const o=fy(n,i);e.reset(o,Rm),e.notifyOnChanges()}return!0}return!1}function St(){return function ff(e,n){return e[An].queries[n].queryList}(w(),ku())}function b(e,n=""){const t=w(),i=X(),r=e+P,o=i.firstCreatePass?Ti(i,r,1,n,null):i.data[r],s=Cw(i,t,o,n,e);t[r]=s,Do()&&Ka(i,t,s,o),tn(o,!1)}let Cw=(e,n,t,i,r)=>(vn(!0),function Cd(e,n){return e.createText(n)}(n[U],i));function A(e){return K("",e,""),A}function K(e,n,t){const i=w(),r=Vr(i,e,n,t);return r!==Y&&function kn(e,n,t){const i=yo(n,e);!function Lv(e,n,t){e.setValue(n,t)}(e[U],i,t)}(i,et(),r),K}function tt(e,n,t){gy(n)&&(n=n());const i=w();return Re(i,nn(),n)&&bt(X(),we(),i,e,n,i[U],t,!1),tt}function Ne(e,n){const t=gy(e);return t&&e.set(n),t}function st(e,n){const t=w(),i=X(),r=ge();return Hf(i,t,t[U],r,e,n),st}function Uf(e,n,t,i,r){if(e=j(e),Array.isArray(e))for(let o=0;o>20;if(yi(e)||!e.multi){const h=new bo(c,r,M),g=zf(l,n,r?u:u+p,d);-1===g?(Gu(Ma(a,s),o,l),$f(o,e,n.length),n.push(l),a.directiveStart++,a.directiveEnd++,r&&(a.providerIndexes+=1048576),t.push(h),s.push(h)):(t[g]=h,s[g]=h)}else{const h=zf(l,n,u+p,d),g=zf(l,n,u,u+p),D=g>=0&&t[g];if(r&&!D||!r&&!(h>=0&&t[h])){Gu(Ma(a,s),o,l);const S=function yL(e,n,t,i,r){const o=new bo(e,t,M);return o.multi=[],o.index=n,o.componentProviders=0,Aw(o,r,i&&!t),o}(r?_L:vL,t.length,r,i,c);!r&&D&&(t[g].providerFactory=S),$f(o,e,n.length,0),n.push(l),a.directiveStart++,a.directiveEnd++,r&&(a.providerIndexes+=1048576),t.push(S),s.push(S)}else $f(o,e,h>-1?h:g,Aw(t[r?g:h],c,!r&&i));!r&&i&&D&&t[g].componentProviders++}}}function $f(e,n,t,i){const r=yi(n),o=function G0(e){return!!e.useClass}(n);if(r||o){const l=(o?j(n.useClass):n).prototype.ngOnDestroy;if(l){const c=e.destroyHooks||(e.destroyHooks=[]);if(!r&&n.multi){const u=c.indexOf(t);-1===u?c.push(t,[i,l]):c[u+1].push(i,l)}else c.push(t,l)}}}function Aw(e,n,t){return t&&e.componentProviders++,e.multi.push(n)-1}function zf(e,n,t,i){for(let r=t;r{t.providersResolver=(i,r)=>function mL(e,n,t){const i=X();if(i.firstCreatePass){const r=en(e);Uf(t,i.data,i.blueprint,r,!0),Uf(n,i.data,i.blueprint,r,!1)}}(i,r?r(e):e,n)}}function hs(e,n,t,i){return function Lw(e,n,t,i,r,o){const s=n+t;return Re(e,s,r)?wn(e,s+1,o?i.call(o,r):i(r)):ps(e,s+1)}(w(),ut(),e,n,t,i)}function qf(e,n,t,i,r){return function Pw(e,n,t,i,r,o,s){const a=n+t;return Li(e,a,r,o)?wn(e,a+2,s?i.call(s,r,o):i(r,o)):ps(e,a+2)}(w(),ut(),e,n,t,i,r)}function Ye(e,n,t,i,r,o){return kw(w(),ut(),e,n,t,i,r,o)}function ps(e,n){const t=e[n];return t===Y?void 0:t}function kw(e,n,t,i,r,o,s,a){const l=n+t;return function ml(e,n,t,i,r){const o=Li(e,n,t,i);return Re(e,n+2,r)||o}(e,l,r,o,s)?wn(e,l+3,a?i.call(a,r,o,s):i(r,o,s)):ps(e,l+3)}function Bw(e,n,t,i,r){const o=e+P,s=w(),a=function Ei(e,n){return e[n]}(s,o);return function gs(e,n){return e[O].data[n].pure}(s,o)?kw(s,ut(),n,a.transform,t,i,r,a):a.transform(t,i,r)}const sE=new R(""),Ll=new R("");let eh,Jf=(()=>{class e{constructor(t,i,r){this._ngZone=t,this.registry=i,this._isZoneStable=!0,this._callbacks=[],this.taskTrackingZone=null,eh||(function AP(e){eh=e}(r),r.addToWindow(i)),this._watchAngularEvents(),t.run(()=>{this.taskTrackingZone=typeof Zone>"u"?null:Zone.current.get("TaskTrackingZone")})}_watchAngularEvents(){this._ngZone.onUnstable.subscribe({next:()=>{this._isZoneStable=!1}}),this._ngZone.runOutsideAngular(()=>{this._ngZone.onStable.subscribe({next:()=>{he.assertNotInAngularZone(),queueMicrotask(()=>{this._isZoneStable=!0,this._runCallbacksIfReady()})}})})}isStable(){return this._isZoneStable&&!this._ngZone.hasPendingMacrotasks}_runCallbacksIfReady(){if(this.isStable())queueMicrotask(()=>{for(;0!==this._callbacks.length;){let t=this._callbacks.pop();clearTimeout(t.timeoutId),t.doneCb()}});else{let t=this.getPendingTasks();this._callbacks=this._callbacks.filter(i=>!i.updateCb||!i.updateCb(t)||(clearTimeout(i.timeoutId),!1))}}getPendingTasks(){return this.taskTrackingZone?this.taskTrackingZone.macroTasks.map(t=>({source:t.source,creationLocation:t.creationLocation,data:t.data})):[]}addCallback(t,i,r){let o=-1;i&&i>0&&(o=setTimeout(()=>{this._callbacks=this._callbacks.filter(s=>s.timeoutId!==o),t()},i)),this._callbacks.push({doneCb:t,timeoutId:o,updateCb:r})}whenStable(t,i,r){if(r&&!this.taskTrackingZone)throw new Error('Task tracking zone is required when passing an update callback to whenStable(). Is "zone.js/plugins/task-tracking" loaded?');this.addCallback(t,i,r),this._runCallbacksIfReady()}registerApplication(t){this.registry.registerApplication(t,this)}unregisterApplication(t){this.registry.unregisterApplication(t)}findProviders(t,i,r){return[]}static#e=this.\u0275fac=function(i){return new(i||e)(oe(he),oe(Xf),oe(Ll))};static#t=this.\u0275prov=ie({token:e,factory:e.\u0275fac})}return e})(),Xf=(()=>{class e{constructor(){this._applications=new Map}registerApplication(t,i){this._applications.set(t,i)}unregisterApplication(t){this._applications.delete(t)}unregisterAllApplications(){this._applications.clear()}getTestability(t){return this._applications.get(t)||null}getAllTestabilities(){return Array.from(this._applications.values())}getAllRootElements(){return Array.from(this._applications.keys())}findTestabilityInTree(t,i=!0){return eh?.findTestabilityInTree(this,t,i)??null}static#e=this.\u0275fac=function(i){return new(i||e)};static#t=this.\u0275prov=ie({token:e,factory:e.\u0275fac,providedIn:"platform"})}return e})();function Pl(e){return!!e&&"function"==typeof e.then}function aE(e){return!!e&&"function"==typeof e.subscribe}const xP=new R("");let th=(()=>{class e{constructor(){this.initialized=!1,this.done=!1,this.donePromise=new Promise((t,i)=>{this.resolve=t,this.reject=i}),this.appInits=L(xP,{optional:!0})??[]}runInitializers(){if(this.initialized)return;const t=[];for(const r of this.appInits){const o=r();if(Pl(o))t.push(o);else if(aE(o)){const s=new Promise((a,l)=>{o.subscribe({complete:a,error:l})});t.push(s)}}const i=()=>{this.done=!0,this.resolve()};Promise.all(t).then(()=>{i()}).catch(r=>{this.reject(r)}),0===t.length&&i(),this.initialized=!0}static#e=this.\u0275fac=function(i){return new(i||e)};static#t=this.\u0275prov=ie({token:e,factory:e.\u0275fac,providedIn:"root"})}return e})();const nh=new R("");function uE(e,n){return Array.isArray(n)?n.reduce(uE,e):{...e,...n}}let In=(()=>{class e{constructor(){this._bootstrapListeners=[],this._runningTick=!1,this._destroyed=!1,this._destroyListeners=[],this._views=[],this.internalErrorHandler=L(Am),this.afterRenderEffectManager=L(ul),this.zonelessEnabled=L(Ko),this.externalTestViews=new Set,this.beforeRender=new un,this.afterTick=new un,this.componentTypes=[],this.components=[],this.isStable=L(hr).hasPendingTasks.pipe(Hc(t=>!t)),this._injector=L(Jt)}get allViews(){return[...this.externalTestViews.keys(),...this._views]}get destroyed(){return this._destroyed}get injector(){return this._injector}bootstrap(t,i){const r=t instanceof H_;if(!this._injector.get(th).done)throw!r&&function _i(e){const n=ee(e)||ze(e)||Je(e);return null!==n&&n.standalone}(t),new T(405,!1);let s;s=r?t:this._injector.get(cl).resolveComponentFactory(t),this.componentTypes.push(s.componentType);const a=function RP(e){return e.isBoundToModule}(s)?void 0:this._injector.get(Ri),c=s.create(We.NULL,[],i||s.selector,a),u=c.location.nativeElement,d=c.injector.get(sE,null);return d?.registerApplication(u),c.onDestroy(()=>{this.detachView(c.hostView),kl(this.components,c),d?.unregisterApplication(u)}),this._loadComponent(c),c}tick(){this._tick(!0)}_tick(t){if(this._runningTick)throw new T(101,!1);const i=J(null);try{this._runningTick=!0,this.detectChangesInAttachedViews(t)}catch(r){this.internalErrorHandler(r)}finally{this._runningTick=!1,J(i),this.afterTick.next()}}detectChangesInAttachedViews(t){let i=null;this._injector.destroyed||(i=this._injector.get(Kd,null,{optional:!0}));let r=0;const o=this.afterRenderEffectManager;for(;r<10;){const s=0===r;if(t||!s){this.beforeRender.next(s);for(let{_lView:a,notifyErrorHandler:l}of this._views)PP(a,l,s,this.zonelessEnabled)}else i?.begin?.(),i?.end?.();if(r++,o.executeInternalCallbacks(),!this.allViews.some(({_lView:a})=>wo(a))&&(o.execute(),!this.allViews.some(({_lView:a})=>wo(a))))break}}attachView(t){const i=t;this._views.push(i),i.attachToAppRef(this)}detachView(t){const i=t;kl(this._views,i),i.detachFromAppRef()}_loadComponent(t){this.attachView(t.hostView),this.tick(),this.components.push(t);const i=this._injector.get(nh,[]);[...this._bootstrapListeners,...i].forEach(r=>r(t))}ngOnDestroy(){if(!this._destroyed)try{this._destroyListeners.forEach(t=>t()),this._views.slice().forEach(t=>t.destroy())}finally{this._destroyed=!0,this._views=[],this._bootstrapListeners=[],this._destroyListeners=[]}}onDestroy(t){return this._destroyListeners.push(t),()=>kl(this._destroyListeners,t)}destroy(){if(this._destroyed)throw new T(406,!1);const t=this._injector;t.destroy&&!t.destroyed&&t.destroy()}get viewCount(){return this._views.length}warnIfDestroyed(){}static#e=this.\u0275fac=function(i){return new(i||e)};static#t=this.\u0275prov=ie({token:e,factory:e.\u0275fac,providedIn:"root"})}return e})();function kl(e,n){const t=e.indexOf(n);t>-1&&e.splice(t,1)}function PP(e,n,t,i){(t||wo(e))&&nl(e,n,t&&!i?0:1)}let HP=(()=>{class e{constructor(){this.zone=L(he),this.changeDetectionScheduler=L(Sr),this.applicationRef=L(In)}initialize(){this._onMicrotaskEmptySubscription||(this._onMicrotaskEmptySubscription=this.zone.onMicrotaskEmpty.subscribe({next:()=>{this.changeDetectionScheduler.runningTick||this.zone.run(()=>{this.applicationRef.tick()})}}))}ngOnDestroy(){this._onMicrotaskEmptySubscription?.unsubscribe()}static#e=this.\u0275fac=function(i){return new(i||e)};static#t=this.\u0275prov=ie({token:e,factory:e.\u0275fac,providedIn:"root"})}return e})();function ih({ngZoneFactory:e,ignoreChangesOutsideZone:n}){return e??=()=>new he(rh()),[{provide:he,useFactory:e},{provide:fn,multi:!0,useFactory:()=>{const t=L(HP,{optional:!0});return()=>t.initialize()}},{provide:fn,multi:!0,useFactory:()=>{const t=L(UP);return()=>{t.initialize()}}},{provide:Am,useFactory:jP},!0===n?{provide:V_,useValue:!0}:[]]}function jP(){const e=L(he),n=L($t);return t=>e.runOutsideAngular(()=>n.handleError(t))}function rh(e){return{enableLongStackTrace:!1,shouldCoalesceEventChangeDetection:e?.eventCoalescing??!1,shouldCoalesceRunChangeDetection:e?.runCoalescing??!1}}let UP=(()=>{class e{constructor(){this.subscription=new Ot,this.initialized=!1,this.zone=L(he),this.pendingTasks=L(hr)}initialize(){if(this.initialized)return;this.initialized=!0;let t=null;!this.zone.isStable&&!this.zone.hasPendingMacrotasks&&!this.zone.hasPendingMicrotasks&&(t=this.pendingTasks.add()),this.zone.runOutsideAngular(()=>{this.subscription.add(this.zone.onStable.subscribe(()=>{he.assertNotInAngularZone(),queueMicrotask(()=>{null!==t&&!this.zone.hasPendingMacrotasks&&!this.zone.hasPendingMicrotasks&&(this.pendingTasks.remove(t),t=null)})}))}),this.subscription.add(this.zone.onUnstable.subscribe(()=>{he.assertInAngularZone(),t??=this.pendingTasks.add()}))}ngOnDestroy(){this.subscription.unsubscribe()}static#e=this.\u0275fac=function(i){return new(i||e)};static#t=this.\u0275prov=ie({token:e,factory:e.\u0275fac,providedIn:"root"})}return e})(),_s=(()=>{class e{constructor(){this.appRef=L(In),this.taskService=L(hr),this.ngZone=L(he),this.zonelessEnabled=L(Ko),this.disableScheduling=L(V_,{optional:!0})??!1,this.zoneIsDefined=typeof Zone<"u"&&!!Zone.root.run,this.schedulerTickApplyArgs=[{data:{__scheduler_tick__:!0}}],this.subscriptions=new Ot,this.cancelScheduledCallback=null,this.shouldRefreshViews=!1,this.useMicrotaskScheduler=!1,this.runningTick=!1,this.pendingRenderTaskId=null,this.subscriptions.add(this.appRef.afterTick.subscribe(()=>{this.runningTick||this.cleanup()})),this.subscriptions.add(this.ngZone.onUnstable.subscribe(()=>{this.runningTick||this.cleanup()})),this.disableScheduling||=!this.zonelessEnabled&&(this.ngZone instanceof ef||!this.zoneIsDefined)}notify(t){if(!this.zonelessEnabled&&5===t)return;switch(t){case 3:case 2:case 0:case 4:case 5:case 1:this.shouldRefreshViews=!0}if(!this.shouldScheduleTick())return;const i=this.useMicrotaskScheduler?$_:U_;this.pendingRenderTaskId=this.taskService.add(),this.zoneIsDefined?Zone.root.run(()=>{this.cancelScheduledCallback=i(()=>{this.tick(this.shouldRefreshViews)})}):this.cancelScheduledCallback=i(()=>{this.tick(this.shouldRefreshViews)})}shouldScheduleTick(){return!(this.disableScheduling||null!==this.pendingRenderTaskId||this.runningTick||this.appRef._runningTick||!this.zonelessEnabled&&this.zoneIsDefined&&he.isInAngularZone())}tick(t){if(this.runningTick||this.appRef.destroyed)return;const i=this.taskService.add();try{this.ngZone.run(()=>{this.runningTick=!0,this.appRef._tick(t)},void 0,this.schedulerTickApplyArgs)}catch(r){throw this.taskService.remove(i),r}finally{this.cleanup()}this.useMicrotaskScheduler=!0,$_(()=>{this.useMicrotaskScheduler=!1,this.taskService.remove(i)})}ngOnDestroy(){this.subscriptions.unsubscribe(),this.cleanup()}cleanup(){if(this.shouldRefreshViews=!1,this.runningTick=!1,this.cancelScheduledCallback?.(),this.cancelScheduledCallback=null,null!==this.pendingRenderTaskId){const t=this.pendingRenderTaskId;this.pendingRenderTaskId=null,this.taskService.remove(t)}}static#e=this.\u0275fac=function(i){return new(i||e)};static#t=this.\u0275prov=ie({token:e,factory:e.\u0275fac,providedIn:"root"})}return e})();const Bn=new R("",{providedIn:"root",factory:()=>L(Bn,re.Optional|re.SkipSelf)||function $P(){return typeof $localize<"u"&&$localize.locale||Zr}()}),sh=new R("");let gE=(()=>{class e{constructor(t){this._injector=t,this._modules=[],this._destroyListeners=[],this._destroyed=!1}bootstrapModuleFactory(t,i){const r=function TA(e="zone.js",n){return"noop"===e?new ef:"zone.js"===e?new he(n):e}(i?.ngZone,rh({eventCoalescing:i?.ngZoneEventCoalescing,runCoalescing:i?.ngZoneRunCoalescing}));return r.run(()=>{const o=i?.ignoreChangesOutsideZone,s=function Ix(e,n,t){return new gf(e,n,t)}(t.moduleType,this.injector,[...ih({ngZoneFactory:()=>r,ignoreChangesOutsideZone:o}),{provide:Sr,useExisting:_s}]),a=s.injector.get($t,null);return r.runOutsideAngular(()=>{const l=r.onError.subscribe({next:c=>{a.handleError(c)}});s.onDestroy(()=>{kl(this._modules,s),l.unsubscribe()})}),function cE(e,n,t){try{const i=t();return Pl(i)?i.catch(r=>{throw n.runOutsideAngular(()=>e.handleError(r)),r}):i}catch(i){throw n.runOutsideAngular(()=>e.handleError(i)),i}}(a,r,()=>{const l=s.injector.get(th);return l.runInitializers(),l.donePromise.then(()=>(function LC(e){"string"==typeof e&&(RC=e.toLowerCase().replace(/_/g,"-"))}(s.injector.get(Bn,Zr)||Zr),this._moduleDoBootstrap(s),s))})})}bootstrapModule(t,i=[]){const r=uE({},i);return function VP(e,n,t){const i=new mf(t);return Promise.resolve(i)}(0,0,t).then(o=>this.bootstrapModuleFactory(o,r))}_moduleDoBootstrap(t){const i=t.injector.get(In);if(t._bootstrapComponents.length>0)t._bootstrapComponents.forEach(r=>i.bootstrap(r));else{if(!t.instance.ngDoBootstrap)throw new T(-403,!1);t.instance.ngDoBootstrap(i)}this._modules.push(t)}onDestroy(t){this._destroyListeners.push(t)}get injector(){return this._injector}destroy(){if(this._destroyed)throw new T(404,!1);this._modules.slice().forEach(i=>i.destroy()),this._destroyListeners.forEach(i=>i());const t=this._injector.get(sh,null);t&&(t.forEach(i=>i()),t.clear()),this._destroyed=!0}get destroyed(){return this._destroyed}static#e=this.\u0275fac=function(i){return new(i||e)(oe(We))};static#t=this.\u0275prov=ie({token:e,factory:e.\u0275fac,providedIn:"platform"})}return e})(),ri=null;const mE=new R("");function vE(e,n,t=[]){const i=`Platform: ${n}`,r=new R(i);return(o=[])=>{let s=ah();if(!s||s.injector.get(mE,!1)){const a=[...t,...o,{provide:r,useValue:!0}];e?e(a):function qP(e){if(ri&&!ri.get(mE,!1))throw new T(400,!1);(function lE(){!function FI(e){Np=e}(()=>{throw new T(600,!1)})})(),ri=e;const n=e.get(gE);(function yE(e){e.get(Xm,null)?.forEach(t=>t())})(e)}(function _E(e=[],n){return We.create({name:n,providers:[{provide:vu,useValue:"platform"},{provide:sh,useValue:new Set([()=>ri=null])},...e]})}(a,i))}return function WP(e){const n=ah();if(!n)throw new T(401,!1);return n}()}}function ah(){return ri?.get(gE)??null}let Vi=(()=>{class e{static#e=this.__NG_ELEMENT_ID__=YP}return e})();function YP(e){return function QP(e,n,t){if(wi(e)&&!t){const i=Lt(e.index,n);return new $o(i,i)}return 175&e.type?new $o(n[Te],n):null}(ge(),w(),!(16&~e))}class bE{constructor(){}supports(n){return gl(n)}create(n){return new tk(n)}}const ek=(e,n)=>n;class tk{constructor(n){this.length=0,this._linkedRecords=null,this._unlinkedRecords=null,this._previousItHead=null,this._itHead=null,this._itTail=null,this._additionsHead=null,this._additionsTail=null,this._movesHead=null,this._movesTail=null,this._removalsHead=null,this._removalsTail=null,this._identityChangesHead=null,this._identityChangesTail=null,this._trackByFn=n||ek}forEachItem(n){let t;for(t=this._itHead;null!==t;t=t._next)n(t)}forEachOperation(n){let t=this._itHead,i=this._removalsHead,r=0,o=null;for(;t||i;){const s=!i||t&&t.currentIndex{s=this._trackByFn(r,a),null!==t&&Object.is(t.trackById,s)?(i&&(t=this._verifyReinsertion(t,a,s,r)),Object.is(t.item,a)||this._addIdentityChange(t,a)):(t=this._mismatch(t,a,s,r),i=!0),t=t._next,r++}),this.length=r;return this._truncate(t),this.collection=n,this.isDirty}get isDirty(){return null!==this._additionsHead||null!==this._movesHead||null!==this._removalsHead||null!==this._identityChangesHead}_reset(){if(this.isDirty){let n;for(n=this._previousItHead=this._itHead;null!==n;n=n._next)n._nextPrevious=n._next;for(n=this._additionsHead;null!==n;n=n._nextAdded)n.previousIndex=n.currentIndex;for(this._additionsHead=this._additionsTail=null,n=this._movesHead;null!==n;n=n._nextMoved)n.previousIndex=n.currentIndex;this._movesHead=this._movesTail=null,this._removalsHead=this._removalsTail=null,this._identityChangesHead=this._identityChangesTail=null}}_mismatch(n,t,i,r){let o;return null===n?o=this._itTail:(o=n._prev,this._remove(n)),null!==(n=null===this._unlinkedRecords?null:this._unlinkedRecords.get(i,null))?(Object.is(n.item,t)||this._addIdentityChange(n,t),this._reinsertAfter(n,o,r)):null!==(n=null===this._linkedRecords?null:this._linkedRecords.get(i,r))?(Object.is(n.item,t)||this._addIdentityChange(n,t),this._moveAfter(n,o,r)):n=this._addAfter(new nk(t,i),o,r),n}_verifyReinsertion(n,t,i,r){let o=null===this._unlinkedRecords?null:this._unlinkedRecords.get(i,null);return null!==o?n=this._reinsertAfter(o,n._prev,r):n.currentIndex!=r&&(n.currentIndex=r,this._addToMoves(n,r)),n}_truncate(n){for(;null!==n;){const t=n._next;this._addToRemovals(this._unlink(n)),n=t}null!==this._unlinkedRecords&&this._unlinkedRecords.clear(),null!==this._additionsTail&&(this._additionsTail._nextAdded=null),null!==this._movesTail&&(this._movesTail._nextMoved=null),null!==this._itTail&&(this._itTail._next=null),null!==this._removalsTail&&(this._removalsTail._nextRemoved=null),null!==this._identityChangesTail&&(this._identityChangesTail._nextIdentityChange=null)}_reinsertAfter(n,t,i){null!==this._unlinkedRecords&&this._unlinkedRecords.remove(n);const r=n._prevRemoved,o=n._nextRemoved;return null===r?this._removalsHead=o:r._nextRemoved=o,null===o?this._removalsTail=r:o._prevRemoved=r,this._insertAfter(n,t,i),this._addToMoves(n,i),n}_moveAfter(n,t,i){return this._unlink(n),this._insertAfter(n,t,i),this._addToMoves(n,i),n}_addAfter(n,t,i){return this._insertAfter(n,t,i),this._additionsTail=null===this._additionsTail?this._additionsHead=n:this._additionsTail._nextAdded=n,n}_insertAfter(n,t,i){const r=null===t?this._itHead:t._next;return n._next=r,n._prev=t,null===r?this._itTail=n:r._prev=n,null===t?this._itHead=n:t._next=n,null===this._linkedRecords&&(this._linkedRecords=new IE),this._linkedRecords.put(n),n.currentIndex=i,n}_remove(n){return this._addToRemovals(this._unlink(n))}_unlink(n){null!==this._linkedRecords&&this._linkedRecords.remove(n);const t=n._prev,i=n._next;return null===t?this._itHead=i:t._next=i,null===i?this._itTail=t:i._prev=t,n}_addToMoves(n,t){return n.previousIndex===t||(this._movesTail=null===this._movesTail?this._movesHead=n:this._movesTail._nextMoved=n),n}_addToRemovals(n){return null===this._unlinkedRecords&&(this._unlinkedRecords=new IE),this._unlinkedRecords.put(n),n.currentIndex=null,n._nextRemoved=null,null===this._removalsTail?(this._removalsTail=this._removalsHead=n,n._prevRemoved=null):(n._prevRemoved=this._removalsTail,this._removalsTail=this._removalsTail._nextRemoved=n),n}_addIdentityChange(n,t){return n.item=t,this._identityChangesTail=null===this._identityChangesTail?this._identityChangesHead=n:this._identityChangesTail._nextIdentityChange=n,n}}class nk{constructor(n,t){this.item=n,this.trackById=t,this.currentIndex=null,this.previousIndex=null,this._nextPrevious=null,this._prev=null,this._next=null,this._prevDup=null,this._nextDup=null,this._prevRemoved=null,this._nextRemoved=null,this._nextAdded=null,this._nextMoved=null,this._nextIdentityChange=null}}class ik{constructor(){this._head=null,this._tail=null}add(n){null===this._head?(this._head=this._tail=n,n._nextDup=null,n._prevDup=null):(this._tail._nextDup=n,n._prevDup=this._tail,n._nextDup=null,this._tail=n)}get(n,t){let i;for(i=this._head;null!==i;i=i._nextDup)if((null===t||t<=i.currentIndex)&&Object.is(i.trackById,n))return i;return null}remove(n){const t=n._prevDup,i=n._nextDup;return null===t?this._head=i:t._nextDup=i,null===i?this._tail=t:i._prevDup=t,null===this._head}}class IE{constructor(){this.map=new Map}put(n){const t=n.trackById;let i=this.map.get(t);i||(i=new ik,this.map.set(t,i)),i.add(n)}get(n,t){const r=this.map.get(n);return r?r.get(n,t):null}remove(n){const t=n.trackById;return this.map.get(t).remove(n)&&this.map.delete(t),n}get isEmpty(){return 0===this.map.size}clear(){this.map.clear()}}function ME(e,n,t){const i=e.previousIndex;if(null===i)return i;let r=0;return t&&i{if(t&&t.key===r)this._maybeAddToChanges(t,i),this._appendAfter=t,t=t._next;else{const o=this._getOrCreateRecordForKey(r,i);t=this._insertBeforeOrAppend(t,o)}}),t){t._prev&&(t._prev._next=null),this._removalsHead=t;for(let i=t;null!==i;i=i._nextRemoved)i===this._mapHead&&(this._mapHead=null),this._records.delete(i.key),i._nextRemoved=i._next,i.previousValue=i.currentValue,i.currentValue=null,i._prev=null,i._next=null}return this._changesTail&&(this._changesTail._nextChanged=null),this._additionsTail&&(this._additionsTail._nextAdded=null),this.isDirty}_insertBeforeOrAppend(n,t){if(n){const i=n._prev;return t._next=n,t._prev=i,n._prev=t,i&&(i._next=t),n===this._mapHead&&(this._mapHead=t),this._appendAfter=n,n}return this._appendAfter?(this._appendAfter._next=t,t._prev=this._appendAfter):this._mapHead=t,this._appendAfter=t,null}_getOrCreateRecordForKey(n,t){if(this._records.has(n)){const r=this._records.get(n);this._maybeAddToChanges(r,t);const o=r._prev,s=r._next;return o&&(o._next=s),s&&(s._prev=o),r._next=null,r._prev=null,r}const i=new ok(n);return this._records.set(n,i),i.currentValue=t,this._addToAdditions(i),i}_reset(){if(this.isDirty){let n;for(this._previousMapHead=this._mapHead,n=this._previousMapHead;null!==n;n=n._next)n._nextPrevious=n._next;for(n=this._changesHead;null!==n;n=n._nextChanged)n.previousValue=n.currentValue;for(n=this._additionsHead;null!=n;n=n._nextAdded)n.previousValue=n.currentValue;this._changesHead=this._changesTail=null,this._additionsHead=this._additionsTail=null,this._removalsHead=null}}_maybeAddToChanges(n,t){Object.is(t,n.currentValue)||(n.previousValue=n.currentValue,n.currentValue=t,this._addToChanges(n))}_addToAdditions(n){null===this._additionsHead?this._additionsHead=this._additionsTail=n:(this._additionsTail._nextAdded=n,this._additionsTail=n)}_addToChanges(n){null===this._changesHead?this._changesHead=this._changesTail=n:(this._changesTail._nextChanged=n,this._changesTail=n)}_forEach(n,t){n instanceof Map?n.forEach(t):Object.keys(n).forEach(i=>t(n[i],i))}}class ok{constructor(n){this.key=n,this.previousValue=null,this.currentValue=null,this._nextPrevious=null,this._next=null,this._prev=null,this._nextAdded=null,this._nextRemoved=null,this._nextChanged=null}}function TE(){return new fh([new bE])}let fh=(()=>{class e{static#e=this.\u0275prov=ie({token:e,providedIn:"root",factory:TE});constructor(t){this.factories=t}static create(t,i){if(null!=i){const r=i.factories.slice();t=t.concat(r)}return new e(t)}static extend(t){return{provide:e,useFactory:i=>e.create(t,i||TE()),deps:[[e,new lu,new au]]}}find(t){const i=this.factories.find(r=>r.supports(t));if(null!=i)return i;throw new T(901,!1)}}return e})();function OE(){return new Bl([new SE])}let Bl=(()=>{class e{static#e=this.\u0275prov=ie({token:e,providedIn:"root",factory:OE});constructor(t){this.factories=t}static create(t,i){if(i){const r=i.factories.slice();t=t.concat(r)}return new e(t)}static extend(t){return{provide:e,useFactory:i=>e.create(t,i||OE()),deps:[[e,new lu,new au]]}}find(t){const i=this.factories.find(r=>r.supports(t));if(i)return i;throw new T(901,!1)}}return e})();const lk=vE(null,"core",[]);let ck=(()=>{class e{constructor(t){}static#e=this.\u0275fac=function(i){return new(i||e)(oe(In))};static#t=this.\u0275mod=Yn({type:e});static#n=this.\u0275inj=On({})}return e})();const qE=new R("");function Es(e,n){ft("NgSignals");const t=function LI(e){const n=Object.create(PI);n.computation=e;const t=()=>{if(Dp(n),Ic(n),n.value===js)throw n.error;return n.value};return t[Zt]=n,t}(e);return n?.equal&&(t[Zt].equal=n.equal),t}function Mn(e){const n=J(null);try{return e()}finally{J(n)}}let iD=null;function Ds(){return iD}class Jk{}const oi=new R(""),Mh=/\s+/,fD=[];let Jr=(()=>{class e{constructor(t,i){this._ngEl=t,this._renderer=i,this.initialClasses=fD,this.stateMap=new Map}set klass(t){this.initialClasses=null!=t?t.trim().split(Mh):fD}set ngClass(t){this.rawClass="string"==typeof t?t.trim().split(Mh):t}ngDoCheck(){for(const i of this.initialClasses)this._updateState(i,!0);const t=this.rawClass;if(Array.isArray(t)||t instanceof Set)for(const i of t)this._updateState(i,!0);else if(null!=t)for(const i of Object.keys(t))this._updateState(i,!!t[i]);this._applyStateDiff()}_updateState(t,i){const r=this.stateMap.get(t);void 0!==r?(r.enabled!==i&&(r.changed=!0,r.enabled=i),r.touched=!0):this.stateMap.set(t,{enabled:i,changed:!0,touched:!0})}_applyStateDiff(){for(const t of this.stateMap){const i=t[0],r=t[1];r.changed?(this._toggleClass(i,r.enabled),r.changed=!1):r.touched||(r.enabled&&this._toggleClass(i,!1),this.stateMap.delete(i)),r.touched=!1}}_toggleClass(t,i){(t=t.trim()).length>0&&t.split(Mh).forEach(r=>{i?this._renderer.addClass(this._ngEl.nativeElement,r):this._renderer.removeClass(this._ngEl.nativeElement,r)})}static#e=this.\u0275fac=function(i){return new(i||e)(M(dt),M(rn))};static#t=this.\u0275dir=z({type:e,selectors:[["","ngClass",""]],inputs:{klass:[0,"class","klass"],ngClass:"ngClass"},standalone:!0})}return e})();class BF{constructor(n,t,i,r){this.$implicit=n,this.ngForOf=t,this.index=i,this.count=r}get first(){return 0===this.index}get last(){return this.index===this.count-1}get even(){return this.index%2==0}get odd(){return!this.even}}let Bi=(()=>{class e{set ngForOf(t){this._ngForOf=t,this._ngForOfDirty=!0}set ngForTrackBy(t){this._trackByFn=t}get ngForTrackBy(){return this._trackByFn}constructor(t,i,r){this._viewContainer=t,this._template=i,this._differs=r,this._ngForOf=null,this._ngForOfDirty=!0,this._differ=null}set ngForTemplate(t){t&&(this._template=t)}ngDoCheck(){if(this._ngForOfDirty){this._ngForOfDirty=!1;const t=this._ngForOf;!this._differ&&t&&(this._differ=this._differs.find(t).create(this.ngForTrackBy))}if(this._differ){const t=this._differ.diff(this._ngForOf);t&&this._applyChanges(t)}}_applyChanges(t){const i=this._viewContainer;t.forEachOperation((r,o,s)=>{if(null==r.previousIndex)i.createEmbeddedView(this._template,new BF(r.item,this._ngForOf,-1,-1),null===s?void 0:s);else if(null==s)i.remove(null===o?void 0:o);else if(null!==o){const a=i.get(o);i.move(a,s),pD(a,r)}});for(let r=0,o=i.length;r{pD(i.get(r.currentIndex),r)})}static ngTemplateContextGuard(t,i){return!0}static#e=this.\u0275fac=function(i){return new(i||e)(M(Cn),M(Fn),M(fh))};static#t=this.\u0275dir=z({type:e,selectors:[["","ngFor","","ngForOf",""]],inputs:{ngForOf:"ngForOf",ngForTrackBy:"ngForTrackBy",ngForTemplate:"ngForTemplate"},standalone:!0})}return e})();function pD(e,n){e.context.$implicit=n.item}let $n=(()=>{class e{constructor(t,i){this._viewContainer=t,this._context=new jF,this._thenTemplateRef=null,this._elseTemplateRef=null,this._thenViewRef=null,this._elseViewRef=null,this._thenTemplateRef=i}set ngIf(t){this._context.$implicit=this._context.ngIf=t,this._updateView()}set ngIfThen(t){gD("ngIfThen",t),this._thenTemplateRef=t,this._thenViewRef=null,this._updateView()}set ngIfElse(t){gD("ngIfElse",t),this._elseTemplateRef=t,this._elseViewRef=null,this._updateView()}_updateView(){this._context.$implicit?this._thenViewRef||(this._viewContainer.clear(),this._elseViewRef=null,this._thenTemplateRef&&(this._thenViewRef=this._viewContainer.createEmbeddedView(this._thenTemplateRef,this._context))):this._elseViewRef||(this._viewContainer.clear(),this._thenViewRef=null,this._elseTemplateRef&&(this._elseViewRef=this._viewContainer.createEmbeddedView(this._elseTemplateRef,this._context)))}static ngTemplateContextGuard(t,i){return!0}static#e=this.\u0275fac=function(i){return new(i||e)(M(Cn),M(Fn))};static#t=this.\u0275dir=z({type:e,selectors:[["","ngIf",""]],inputs:{ngIf:"ngIf",ngIfThen:"ngIfThen",ngIfElse:"ngIfElse"},standalone:!0})}return e})();class jF{constructor(){this.$implicit=null,this.ngIf=null}}function gD(e,n){if(n&&!n.createEmbeddedView)throw new Error(`${e} must be a TemplateRef, but received '${$e(n)}'.`)}let vD=(()=>{class e{constructor(t,i,r){this._ngEl=t,this._differs=i,this._renderer=r,this._ngStyle=null,this._differ=null}set ngStyle(t){this._ngStyle=t,!this._differ&&t&&(this._differ=this._differs.find(t).create())}ngDoCheck(){if(this._differ){const t=this._differ.diff(this._ngStyle);t&&this._applyChanges(t)}}_setStyle(t,i){const[r,o]=t.split("."),s=-1===r.indexOf("-")?void 0:ei.DashCase;null!=i?this._renderer.setStyle(this._ngEl.nativeElement,r,o?`${i}${o}`:i,s):this._renderer.removeStyle(this._ngEl.nativeElement,r,s)}_applyChanges(t){t.forEachRemovedItem(i=>this._setStyle(i.key,null)),t.forEachAddedItem(i=>this._setStyle(i.key,i.currentValue)),t.forEachChangedItem(i=>this._setStyle(i.key,i.currentValue))}static#e=this.\u0275fac=function(i){return new(i||e)(M(dt),M(Bl),M(rn))};static#t=this.\u0275dir=z({type:e,selectors:[["","ngStyle",""]],inputs:{ngStyle:"ngStyle"},standalone:!0})}return e})(),_D=(()=>{class e{constructor(t){this._viewContainerRef=t,this._viewRef=null,this.ngTemplateOutletContext=null,this.ngTemplateOutlet=null,this.ngTemplateOutletInjector=null}ngOnChanges(t){if(this._shouldRecreateView(t)){const i=this._viewContainerRef;if(this._viewRef&&i.remove(i.indexOf(this._viewRef)),!this.ngTemplateOutlet)return void(this._viewRef=null);const r=this._createContextForwardProxy();this._viewRef=i.createEmbeddedView(this.ngTemplateOutlet,r,{injector:this.ngTemplateOutletInjector??void 0})}}_shouldRecreateView(t){return!!t.ngTemplateOutlet||!!t.ngTemplateOutletInjector}_createContextForwardProxy(){return new Proxy({},{set:(t,i,r)=>!!this.ngTemplateOutletContext&&Reflect.set(this.ngTemplateOutletContext,i,r),get:(t,i,r)=>{if(this.ngTemplateOutletContext)return Reflect.get(this.ngTemplateOutletContext,i,r)}})}static#e=this.\u0275fac=function(i){return new(i||e)(M(Cn))};static#t=this.\u0275dir=z({type:e,selectors:[["","ngTemplateOutlet",""]],inputs:{ngTemplateOutletContext:"ngTemplateOutletContext",ngTemplateOutlet:"ngTemplateOutlet",ngTemplateOutletInjector:"ngTemplateOutletInjector"},standalone:!0,features:[gn]})}return e})();let CD=(()=>{class e{transform(t,i,r){if(null==t)return null;if(!this.supports(t))throw function ln(e,n){return new T(2100,!1)}();return t.slice(i,r)}supports(t){return"string"==typeof t||Array.isArray(t)}static#e=this.\u0275fac=function(i){return new(i||e)};static#t=this.\u0275pipe=wt({name:"slice",type:e,pure:!1,standalone:!0})}return e})(),wD=(()=>{class e{static#e=this.\u0275fac=function(i){return new(i||e)};static#t=this.\u0275mod=Yn({type:e});static#n=this.\u0275inj=On({})}return e})();function DD(e){return"server"===e}class $V extends Jk{constructor(){super(...arguments),this.supportsDOMEvents=!0}}class Lh extends $V{static makeCurrent(){!function Kk(e){iD??=e}(new Lh)}onAndCancel(n,t,i){return n.addEventListener(t,i),()=>{n.removeEventListener(t,i)}}dispatchEvent(n,t){n.dispatchEvent(t)}remove(n){n.parentNode&&n.parentNode.removeChild(n)}createElement(n,t){return(t=t||this.getDefaultDocument()).createElement(n)}createHtmlDocument(){return document.implementation.createHTMLDocument("fakeTitle")}getDefaultDocument(){return document}isElementNode(n){return n.nodeType===Node.ELEMENT_NODE}isShadowRoot(n){return n instanceof DocumentFragment}getGlobalEventTarget(n,t){return"window"===t?window:"document"===t?n:"body"===t?n.body:null}getBaseHref(n){const t=function zV(){return Ss=Ss||document.querySelector("base"),Ss?Ss.getAttribute("href"):null}();return null==t?null:function GV(e){return new URL(e,document.baseURI).pathname}(t)}resetBaseElement(){Ss=null}getUserAgent(){return window.navigator.userAgent}getCookie(n){return function VF(e,n){n=encodeURIComponent(n);for(const t of e.split(";")){const i=t.indexOf("="),[r,o]=-1==i?[t,""]:[t.slice(0,i),t.slice(i+1)];if(r.trim()===n)return decodeURIComponent(o)}return null}(document.cookie,n)}}let Ss=null,WV=(()=>{class e{build(){return new XMLHttpRequest}static#e=this.\u0275fac=function(i){return new(i||e)};static#t=this.\u0275prov=ie({token:e,factory:e.\u0275fac})}return e})();const ac=new R("");let RD=(()=>{class e{constructor(t,i){this._zone=i,this._eventNameToPlugin=new Map,t.forEach(r=>{r.manager=this}),this._plugins=t.slice().reverse()}addEventListener(t,i,r){return this._findPluginFor(i).addEventListener(t,i,r)}getZone(){return this._zone}_findPluginFor(t){let i=this._eventNameToPlugin.get(t);if(i)return i;if(i=this._plugins.find(o=>o.supports(t)),!i)throw new T(5101,!1);return this._eventNameToPlugin.set(t,i),i}static#e=this.\u0275fac=function(i){return new(i||e)(oe(ac),oe(he))};static#t=this.\u0275prov=ie({token:e,factory:e.\u0275fac})}return e})();class Ph{constructor(n){this._doc=n}}const kh="ng-app-id";let LD=(()=>{class e{constructor(t,i,r,o={}){this.doc=t,this.appId=i,this.nonce=r,this.platformId=o,this.styleRef=new Map,this.hostNodes=new Set,this.styleNodesInDOM=this.collectServerRenderedStyles(),this.platformIsServer=DD(o),this.resetHostNodes()}addStyles(t){for(const i of t)1===this.changeUsageCount(i,1)&&this.onStyleAdded(i)}removeStyles(t){for(const i of t)this.changeUsageCount(i,-1)<=0&&this.onStyleRemoved(i)}ngOnDestroy(){const t=this.styleNodesInDOM;t&&(t.forEach(i=>i.remove()),t.clear());for(const i of this.getAllStyles())this.onStyleRemoved(i);this.resetHostNodes()}addHost(t){this.hostNodes.add(t);for(const i of this.getAllStyles())this.addStyleToHost(t,i)}removeHost(t){this.hostNodes.delete(t)}getAllStyles(){return this.styleRef.keys()}onStyleAdded(t){for(const i of this.hostNodes)this.addStyleToHost(i,t)}onStyleRemoved(t){const i=this.styleRef;i.get(t)?.elements?.forEach(r=>r.remove()),i.delete(t)}collectServerRenderedStyles(){const t=this.doc.head?.querySelectorAll(`style[${kh}="${this.appId}"]`);if(t?.length){const i=new Map;return t.forEach(r=>{null!=r.textContent&&i.set(r.textContent,r)}),i}return null}changeUsageCount(t,i){const r=this.styleRef;if(r.has(t)){const o=r.get(t);return o.usage+=i,o.usage}return r.set(t,{usage:i,elements:[]}),i}getStyleElement(t,i){const r=this.styleNodesInDOM,o=r?.get(i);if(o?.parentNode===t)return r.delete(i),o.removeAttribute(kh),o;{const s=this.doc.createElement("style");return this.nonce&&s.setAttribute("nonce",this.nonce),s.textContent=i,this.platformIsServer&&s.setAttribute(kh,this.appId),t.appendChild(s),s}}addStyleToHost(t,i){const r=this.getStyleElement(t,i),o=this.styleRef,s=o.get(i)?.elements;s?s.push(r):o.set(i,{elements:[r],usage:1})}resetHostNodes(){const t=this.hostNodes;t.clear(),t.add(this.doc.head)}static#e=this.\u0275fac=function(i){return new(i||e)(oe(oi),oe(gr),oe(ev,8),oe(mr))};static#t=this.\u0275prov=ie({token:e,factory:e.\u0275fac})}return e})();const Fh={svg:"http://www.w3.org/2000/svg",xhtml:"http://www.w3.org/1999/xhtml",xlink:"http://www.w3.org/1999/xlink",xml:"http://www.w3.org/XML/1998/namespace",xmlns:"http://www.w3.org/2000/xmlns/",math:"http://www.w3.org/1998/Math/MathML"},Vh=/%COMP%/g,KV=new R("",{providedIn:"root",factory:()=>!0});function kD(e,n){return n.map(t=>t.replace(Vh,e))}let FD=(()=>{class e{constructor(t,i,r,o,s,a,l,c=null){this.eventManager=t,this.sharedStylesHost=i,this.appId=r,this.removeStylesOnCompDestroy=o,this.doc=s,this.platformId=a,this.ngZone=l,this.nonce=c,this.rendererByCompId=new Map,this.platformIsServer=DD(a),this.defaultRenderer=new Hh(t,s,l,this.platformIsServer)}createRenderer(t,i){if(!t||!i)return this.defaultRenderer;this.platformIsServer&&i.encapsulation===Yt.ShadowDom&&(i={...i,encapsulation:Yt.Emulated});const r=this.getOrCreateRenderer(t,i);return r instanceof HD?r.applyToHost(t):r instanceof Bh&&r.applyStyles(),r}getOrCreateRenderer(t,i){const r=this.rendererByCompId;let o=r.get(i.id);if(!o){const s=this.doc,a=this.ngZone,l=this.eventManager,c=this.sharedStylesHost,u=this.removeStylesOnCompDestroy,d=this.platformIsServer;switch(i.encapsulation){case Yt.Emulated:o=new HD(l,c,i,this.appId,u,s,a,d);break;case Yt.ShadowDom:return new t2(l,c,t,i,s,a,this.nonce,d);default:o=new Bh(l,c,i,u,s,a,d)}r.set(i.id,o)}return o}ngOnDestroy(){this.rendererByCompId.clear()}static#e=this.\u0275fac=function(i){return new(i||e)(oe(RD),oe(LD),oe(gr),oe(KV),oe(oi),oe(mr),oe(he),oe(ev))};static#t=this.\u0275prov=ie({token:e,factory:e.\u0275fac})}return e})();class Hh{constructor(n,t,i,r){this.eventManager=n,this.doc=t,this.ngZone=i,this.platformIsServer=r,this.data=Object.create(null),this.throwOnSyntheticProps=!0,this.destroyNode=null}destroy(){}createElement(n,t){return t?this.doc.createElementNS(Fh[t]||t,n):this.doc.createElement(n)}createComment(n){return this.doc.createComment(n)}createText(n){return this.doc.createTextNode(n)}appendChild(n,t){(VD(n)?n.content:n).appendChild(t)}insertBefore(n,t,i){n&&(VD(n)?n.content:n).insertBefore(t,i)}removeChild(n,t){n&&n.removeChild(t)}selectRootElement(n,t){let i="string"==typeof n?this.doc.querySelector(n):n;if(!i)throw new T(-5104,!1);return t||(i.textContent=""),i}parentNode(n){return n.parentNode}nextSibling(n){return n.nextSibling}setAttribute(n,t,i,r){if(r){t=r+":"+t;const o=Fh[r];o?n.setAttributeNS(o,t,i):n.setAttribute(t,i)}else n.setAttribute(t,i)}removeAttribute(n,t,i){if(i){const r=Fh[i];r?n.removeAttributeNS(r,t):n.removeAttribute(`${i}:${t}`)}else n.removeAttribute(t)}addClass(n,t){n.classList.add(t)}removeClass(n,t){n.classList.remove(t)}setStyle(n,t,i,r){r&(ei.DashCase|ei.Important)?n.style.setProperty(t,i,r&ei.Important?"important":""):n.style[t]=i}removeStyle(n,t,i){i&ei.DashCase?n.style.removeProperty(t):n.style[t]=""}setProperty(n,t,i){null!=n&&(n[t]=i)}setValue(n,t){n.nodeValue=t}listen(n,t,i){if("string"==typeof n&&!(n=Ds().getGlobalEventTarget(this.doc,n)))throw new Error(`Unsupported event target ${n} for event ${t}`);return this.eventManager.addEventListener(n,t,this.decoratePreventDefault(i))}decoratePreventDefault(n){return t=>{if("__ngUnwrap__"===t)return n;!1===(this.platformIsServer?this.ngZone.runGuarded(()=>n(t)):n(t))&&t.preventDefault()}}}function VD(e){return"TEMPLATE"===e.tagName&&void 0!==e.content}class t2 extends Hh{constructor(n,t,i,r,o,s,a,l){super(n,o,s,l),this.sharedStylesHost=t,this.hostEl=i,this.shadowRoot=i.attachShadow({mode:"open"}),this.sharedStylesHost.addHost(this.shadowRoot);const c=kD(r.id,r.styles);for(const u of c){const d=document.createElement("style");a&&d.setAttribute("nonce",a),d.textContent=u,this.shadowRoot.appendChild(d)}}nodeOrShadowRoot(n){return n===this.hostEl?this.shadowRoot:n}appendChild(n,t){return super.appendChild(this.nodeOrShadowRoot(n),t)}insertBefore(n,t,i){return super.insertBefore(this.nodeOrShadowRoot(n),t,i)}removeChild(n,t){return super.removeChild(this.nodeOrShadowRoot(n),t)}parentNode(n){return this.nodeOrShadowRoot(super.parentNode(this.nodeOrShadowRoot(n)))}destroy(){this.sharedStylesHost.removeHost(this.shadowRoot)}}class Bh extends Hh{constructor(n,t,i,r,o,s,a,l){super(n,o,s,a),this.sharedStylesHost=t,this.removeStylesOnCompDestroy=r,this.styles=l?kD(l,i.styles):i.styles}applyStyles(){this.sharedStylesHost.addStyles(this.styles)}destroy(){this.removeStylesOnCompDestroy&&this.sharedStylesHost.removeStyles(this.styles)}}class HD extends Bh{constructor(n,t,i,r,o,s,a,l){const c=r+"-"+i.id;super(n,t,i,o,s,a,l,c),this.contentAttr=function JV(e){return"_ngcontent-%COMP%".replace(Vh,e)}(c),this.hostAttr=function XV(e){return"_nghost-%COMP%".replace(Vh,e)}(c)}applyToHost(n){this.applyStyles(),this.setAttribute(n,this.hostAttr,"")}createElement(n,t){const i=super.createElement(n,t);return super.setAttribute(i,this.contentAttr,""),i}}let n2=(()=>{class e extends Ph{constructor(t){super(t)}supports(t){return!0}addEventListener(t,i,r){return t.addEventListener(i,r,!1),()=>this.removeEventListener(t,i,r)}removeEventListener(t,i,r){return t.removeEventListener(i,r)}static#e=this.\u0275fac=function(i){return new(i||e)(oe(oi))};static#t=this.\u0275prov=ie({token:e,factory:e.\u0275fac})}return e})(),i2=(()=>{class e extends Ph{constructor(t){super(t),this.delegate=L(qE,{optional:!0})}supports(t){return!!this.delegate&&this.delegate.supports(t)}addEventListener(t,i,r){return this.delegate.addEventListener(t,i,r)}removeEventListener(t,i,r){return this.delegate.removeEventListener(t,i,r)}static#e=this.\u0275fac=function(i){return new(i||e)(oe(oi))};static#t=this.\u0275prov=ie({token:e,factory:e.\u0275fac})}return e})();const BD=["alt","control","meta","shift"],r2={"\b":"Backspace","\t":"Tab","\x7f":"Delete","\x1b":"Escape",Del:"Delete",Esc:"Escape",Left:"ArrowLeft",Right:"ArrowRight",Up:"ArrowUp",Down:"ArrowDown",Menu:"ContextMenu",Scroll:"ScrollLock",Win:"OS"},o2={alt:e=>e.altKey,control:e=>e.ctrlKey,meta:e=>e.metaKey,shift:e=>e.shiftKey};let s2=(()=>{class e extends Ph{constructor(t){super(t)}supports(t){return null!=e.parseEventName(t)}addEventListener(t,i,r){const o=e.parseEventName(i),s=e.eventCallback(o.fullKey,r,this.manager.getZone());return this.manager.getZone().runOutsideAngular(()=>Ds().onAndCancel(t,o.domEventName,s))}static parseEventName(t){const i=t.toLowerCase().split("."),r=i.shift();if(0===i.length||"keydown"!==r&&"keyup"!==r)return null;const o=e._normalizeKey(i.pop());let s="",a=i.indexOf("code");if(a>-1&&(i.splice(a,1),s="code."),BD.forEach(c=>{const u=i.indexOf(c);u>-1&&(i.splice(u,1),s+=c+".")}),s+=o,0!=i.length||0===o.length)return null;const l={};return l.domEventName=r,l.fullKey=s,l}static matchEventFullKeyCode(t,i){let r=r2[t.key]||t.key,o="";return i.indexOf("code.")>-1&&(r=t.code,o="code."),!(null==r||!r)&&(r=r.toLowerCase()," "===r?r="space":"."===r&&(r="dot"),BD.forEach(s=>{s!==r&&(0,o2[s])(t)&&(o+=s+".")}),o+=r,o===i)}static eventCallback(t,i,r){return o=>{e.matchEventFullKeyCode(o,t)&&r.runGuarded(()=>i(o))}}static _normalizeKey(t){return"esc"===t?"escape":t}static#e=this.\u0275fac=function(i){return new(i||e)(oe(oi))};static#t=this.\u0275prov=ie({token:e,factory:e.\u0275fac})}return e})();const u2=vE(lk,"browser",[{provide:mr,useValue:"browser"},{provide:Xm,useValue:function a2(){Lh.makeCurrent()},multi:!0},{provide:oi,useFactory:function c2(){return function TT(e){Ju=e}(document),document},deps:[]}]),d2=new R(""),$D=[{provide:Ll,useClass:class qV{addToWindow(n){me.getAngularTestability=(i,r=!0)=>{const o=n.findTestabilityInTree(i,r);if(null==o)throw new T(5103,!1);return o},me.getAllAngularTestabilities=()=>n.getAllTestabilities(),me.getAllAngularRootElements=()=>n.getAllRootElements(),me.frameworkStabilizers||(me.frameworkStabilizers=[]),me.frameworkStabilizers.push(i=>{const r=me.getAllAngularTestabilities();let o=r.length;const s=function(){o--,0==o&&i()};r.forEach(a=>{a.whenStable(s)})})}findTestabilityInTree(n,t,i){return null==t?null:n.getTestability(t)??(i?Ds().isShadowRoot(t)?this.findTestabilityInTree(n,t.host,!0):this.findTestabilityInTree(n,t.parentElement,!0):null)}},deps:[]},{provide:sE,useClass:Jf,deps:[he,Xf,Ll]},{provide:Jf,useClass:Jf,deps:[he,Xf,Ll]}],zD=[{provide:vu,useValue:"root"},{provide:$t,useFactory:function l2(){return new $t},deps:[]},{provide:ac,useClass:n2,multi:!0,deps:[oi,he,mr]},{provide:ac,useClass:s2,multi:!0,deps:[oi]},{provide:ac,useClass:i2,multi:!0},FD,LD,RD,{provide:Kd,useExisting:FD},{provide:class gV{},useClass:WV,deps:[]},[]];let f2=(()=>{class e{constructor(t){}static withServerTransition(t){return{ngModule:e,providers:[{provide:gr,useValue:t.appId}]}}static#e=this.\u0275fac=function(i){return new(i||e)(oe(d2,12))};static#t=this.\u0275mod=Yn({type:e});static#n=this.\u0275inj=On({providers:[...zD,...$D],imports:[wD,ck]})}return e})();function si(e){return this instanceof si?(this.v=e,this):new si(e)}function QD(e){if(!Symbol.asyncIterator)throw new TypeError("Symbol.asyncIterator is not defined.");var t,n=e[Symbol.asyncIterator];return n?n.call(e):(e=function zh(e){var n="function"==typeof Symbol&&Symbol.iterator,t=n&&e[n],i=0;if(t)return t.call(e);if(e&&"number"==typeof e.length)return{next:function(){return e&&i>=e.length&&(e=void 0),{value:e&&e[i++],done:!e}}};throw new TypeError(n?"Object is not iterable.":"Symbol.iterator is not defined.")}(e),t={},i("next"),i("throw"),i("return"),t[Symbol.asyncIterator]=function(){return this},t);function i(o){t[o]=e[o]&&function(s){return new Promise(function(a,l){!function r(o,s,a,l){Promise.resolve(l).then(function(c){o({value:c,done:a})},s)}(a,l,(s=e[o](s)).done,s.value)})}}}"function"==typeof SuppressedError&&SuppressedError;const KD=e=>e&&"number"==typeof e.length&&"function"!=typeof e;function JD(e){return Fe(e?.then)}function XD(e){return Fe(e[Fc])}function eb(e){return Symbol.asyncIterator&&Fe(e?.[Symbol.asyncIterator])}function tb(e){return new TypeError(`You provided ${null!==e&&"object"==typeof e?"an invalid object":`'${e}'`} where a stream was expected. You can provide an Observable, Promise, ReadableStream, Array, AsyncIterable, or Iterable.`)}const nb=function F2(){return"function"==typeof Symbol&&Symbol.iterator?Symbol.iterator:"@@iterator"}();function ib(e){return Fe(e?.[nb])}function rb(e){return function YD(e,n,t){if(!Symbol.asyncIterator)throw new TypeError("Symbol.asyncIterator is not defined.");var r,i=t.apply(e,n||[]),o=[];return r={},a("next"),a("throw"),a("return",function s(h){return function(g){return Promise.resolve(g).then(h,d)}}),r[Symbol.asyncIterator]=function(){return this},r;function a(h,g){i[h]&&(r[h]=function(_){return new Promise(function(D,S){o.push([h,_,D,S])>1||l(h,_)})},g&&(r[h]=g(r[h])))}function l(h,g){try{!function c(h){h.value instanceof si?Promise.resolve(h.value.v).then(u,d):p(o[0][2],h)}(i[h](g))}catch(_){p(o[0][3],_)}}function u(h){l("next",h)}function d(h){l("throw",h)}function p(h,g){h(g),o.shift(),o.length&&l(o[0][0],o[0][1])}}(this,arguments,function*(){const t=e.getReader();try{for(;;){const{value:i,done:r}=yield si(t.read());if(r)return yield si(void 0);yield yield si(i)}}finally{t.releaseLock()}})}function ob(e){return Fe(e?.getReader)}function Ts(e){if(e instanceof Nt)return e;if(null!=e){if(XD(e))return function V2(e){return new Nt(n=>{const t=e[Fc]();if(Fe(t.subscribe))return t.subscribe(n);throw new TypeError("Provided object does not correctly implement Symbol.observable")})}(e);if(KD(e))return function H2(e){return new Nt(n=>{for(let t=0;t{e.then(t=>{n.closed||(n.next(t),n.complete())},t=>n.error(t)).then(null,Vp)})}(e);if(eb(e))return sb(e);if(ib(e))return function j2(e){return new Nt(n=>{for(const t of e)if(n.next(t),n.closed)return;n.complete()})}(e);if(ob(e))return function U2(e){return sb(rb(e))}(e)}throw tb(e)}function sb(e){return new Nt(n=>{(function $2(e,n){var t,i,r,o;return function WD(e,n,t,i){return new(t||(t=Promise))(function(o,s){function a(u){try{c(i.next(u))}catch(d){s(d)}}function l(u){try{c(i.throw(u))}catch(d){s(d)}}function c(u){u.done?o(u.value):function r(o){return o instanceof t?o:new t(function(s){s(o)})}(u.value).then(a,l)}c((i=i.apply(e,n||[])).next())})}(this,void 0,void 0,function*(){try{for(t=QD(e);!(i=yield t.next()).done;)if(n.next(i.value),n.closed)return}catch(s){r={error:s}}finally{try{i&&!i.done&&(o=t.return)&&(yield o.call(t))}finally{if(r)throw r.error}}n.complete()})})(e,n).catch(t=>n.error(t))})}function Ui(e,n,t,i=0,r=!1){const o=n.schedule(function(){t(),r?e.add(this.schedule(null,i)):this.unsubscribe()},i);if(e.add(o),!r)return o}function ab(e,n=0){return gi((t,i)=>{t.subscribe(zn(i,r=>Ui(i,e,()=>i.next(r),n),()=>Ui(i,e,()=>i.complete(),n),r=>Ui(i,e,()=>i.error(r),n)))})}function lb(e,n=0){return gi((t,i)=>{i.add(e.schedule(()=>t.subscribe(i),n))})}function cb(e,n){if(!e)throw new Error("Iterable cannot be null");return new Nt(t=>{Ui(t,n,()=>{const i=e[Symbol.asyncIterator]();Ui(t,n,()=>{i.next().then(r=>{r.done?t.complete():t.next(r.value)})},0,!0)})})}const{isArray:K2}=Array,{getPrototypeOf:J2,prototype:X2,keys:eH}=Object;const{isArray:rH}=Array;function aH(e,n){return e.reduce((t,i,r)=>(t[i]=n[r],t),{})}function lH(...e){const n=function iH(e){return Fe(function Gh(e){return e[e.length-1]}(e))?e.pop():void 0}(e),{args:t,keys:i}=function tH(e){if(1===e.length){const n=e[0];if(K2(n))return{args:n,keys:null};if(function nH(e){return e&&"object"==typeof e&&J2(e)===X2}(n)){const t=eH(n);return{args:t.map(i=>n[i]),keys:t}}}return{args:e,keys:null}}(e),r=new Nt(o=>{const{length:s}=t;if(!s)return void o.complete();const a=new Array(s);let l=s,c=s;for(let u=0;u{d||(d=!0,c--),a[u]=p},()=>l--,void 0,()=>{(!l||!d)&&(c||o.next(i?aH(i,a):a),o.complete())}))}});return n?r.pipe(function sH(e){return Hc(n=>function oH(e,n){return rH(n)?e(...n):e(n)}(e,n))}(n)):r}let ub=(()=>{class e{constructor(t,i){this._renderer=t,this._elementRef=i,this.onChange=r=>{},this.onTouched=()=>{}}setProperty(t,i){this._renderer.setProperty(this._elementRef.nativeElement,t,i)}registerOnTouched(t){this.onTouched=t}registerOnChange(t){this.onChange=t}setDisabledState(t){this.setProperty("disabled",t)}static#e=this.\u0275fac=function(i){return new(i||e)(M(rn),M(dt))};static#t=this.\u0275dir=z({type:e})}return e})(),$i=(()=>{class e extends ub{static#e=this.\u0275fac=(()=>{let t;return function(r){return(t||(t=rt(e)))(r||e)}})();static#t=this.\u0275dir=z({type:e,features:[ue]})}return e})();const cn=new R(""),cH={provide:cn,useExisting:ve(()=>qh),multi:!0};let qh=(()=>{class e extends $i{writeValue(t){this.setProperty("checked",t)}static#e=this.\u0275fac=(()=>{let t;return function(r){return(t||(t=rt(e)))(r||e)}})();static#t=this.\u0275dir=z({type:e,selectors:[["input","type","checkbox","formControlName",""],["input","type","checkbox","formControl",""],["input","type","checkbox","ngModel",""]],hostBindings:function(i,r){1&i&&W("change",function(s){return r.onChange(s.target.checked)})("blur",function(){return r.onTouched()})},features:[Me([cH]),ue]})}return e})();const uH={provide:cn,useExisting:ve(()=>Os),multi:!0},fH=new R("");let Os=(()=>{class e extends ub{constructor(t,i,r){super(t,i),this._compositionMode=r,this._composing=!1,null==this._compositionMode&&(this._compositionMode=!function dH(){const e=Ds()?Ds().getUserAgent():"";return/android (\d+)/.test(e.toLowerCase())}())}writeValue(t){this.setProperty("value",t??"")}_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#e=this.\u0275fac=function(i){return new(i||e)(M(rn),M(dt),M(fH,8))};static#t=this.\u0275dir=z({type:e,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(i,r){1&i&&W("input",function(s){return r._handleInput(s.target.value)})("blur",function(){return r.onTouched()})("compositionstart",function(){return r._compositionStart()})("compositionend",function(s){return r._compositionEnd(s.target.value)})},features:[Me([uH]),ue]})}return e})();const at=new R(""),li=new R("");function Cb(e){return null!=e}function wb(e){return Pl(e)?function Q2(e,n){return n?function Y2(e,n){if(null!=e){if(XD(e))return function z2(e,n){return Ts(e).pipe(lb(n),ab(n))}(e,n);if(KD(e))return function q2(e,n){return new Nt(t=>{let i=0;return n.schedule(function(){i===e.length?t.complete():(t.next(e[i++]),t.closed||this.schedule())})})}(e,n);if(JD(e))return function G2(e,n){return Ts(e).pipe(lb(n),ab(n))}(e,n);if(eb(e))return cb(e,n);if(ib(e))return function W2(e,n){return new Nt(t=>{let i;return Ui(t,n,()=>{i=e[nb](),Ui(t,n,()=>{let r,o;try{({value:r,done:o}=i.next())}catch(s){return void t.error(s)}o?t.complete():t.next(r)},0,!0)}),()=>Fe(i?.return)&&i.return()})}(e,n);if(ob(e))return function Z2(e,n){return cb(rb(e),n)}(e,n)}throw tb(e)}(e,n):Ts(e)}(e):e}function Eb(e){let n={};return e.forEach(t=>{n=null!=t?{...n,...t}:n}),0===Object.keys(n).length?null:n}function Db(e,n){return n.map(t=>t(e))}function bb(e){return e.map(n=>function pH(e){return!e.validate}(n)?n:t=>n.validate(t))}function Wh(e){return null!=e?function Ib(e){if(!e)return null;const n=e.filter(Cb);return 0==n.length?null:function(t){return Eb(Db(t,n))}}(bb(e)):null}function Zh(e){return null!=e?function Mb(e){if(!e)return null;const n=e.filter(Cb);return 0==n.length?null:function(t){return lH(Db(t,n).map(wb)).pipe(Hc(Eb))}}(bb(e)):null}function Sb(e,n){return null===e?[n]:Array.isArray(e)?[...e,n]:[e,n]}function Yh(e){return e?Array.isArray(e)?e:[e]:[]}function uc(e,n){return Array.isArray(e)?e.includes(n):e===n}function Nb(e,n){const t=Yh(n);return Yh(e).forEach(r=>{uc(t,r)||t.push(r)}),t}function Ab(e,n){return Yh(n).filter(t=>!uc(e,t))}class xb{constructor(){this._rawValidators=[],this._rawAsyncValidators=[],this._onDestroyCallbacks=[]}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}_setValidators(n){this._rawValidators=n||[],this._composedValidatorFn=Wh(this._rawValidators)}_setAsyncValidators(n){this._rawAsyncValidators=n||[],this._composedAsyncValidatorFn=Zh(this._rawAsyncValidators)}get validator(){return this._composedValidatorFn||null}get asyncValidator(){return this._composedAsyncValidatorFn||null}_registerOnDestroy(n){this._onDestroyCallbacks.push(n)}_invokeOnDestroyCallbacks(){this._onDestroyCallbacks.forEach(n=>n()),this._onDestroyCallbacks=[]}reset(n=void 0){this.control&&this.control.reset(n)}hasError(n,t){return!!this.control&&this.control.hasError(n,t)}getError(n,t){return this.control?this.control.getError(n,t):null}}class _t extends xb{get formDirective(){return null}get path(){return null}}class ci extends xb{constructor(){super(...arguments),this._parent=null,this.name=null,this.valueAccessor=null}}class Rb{constructor(n){this._cd=n}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}}let dc=(()=>{class e extends Rb{constructor(t){super(t)}static#e=this.\u0275fac=function(i){return new(i||e)(M(ci,2))};static#t=this.\u0275dir=z({type:e,selectors:[["","formControlName",""],["","ngModel",""],["","formControl",""]],hostVars:14,hostBindings:function(i,r){2&i&&Vn("ng-untouched",r.isUntouched)("ng-touched",r.isTouched)("ng-pristine",r.isPristine)("ng-dirty",r.isDirty)("ng-valid",r.isValid)("ng-invalid",r.isInvalid)("ng-pending",r.isPending)},features:[ue]})}return e})();const Ns="VALID",hc="INVALID",eo="PENDING",As="DISABLED";class to{}class Pb extends to{constructor(n,t){super(),this.value=n,this.source=t}}class Jh extends to{constructor(n,t){super(),this.pristine=n,this.source=t}}class Xh extends to{constructor(n,t){super(),this.touched=n,this.source=t}}class pc extends to{constructor(n,t){super(),this.status=n,this.source=t}}function gc(e){return null!=e&&!Array.isArray(e)&&"object"==typeof e}class np{constructor(n,t){this._pendingDirty=!1,this._hasOwnPendingAsyncValidator=null,this._pendingTouched=!1,this._onCollectionChange=()=>{},this._parent=null,this._status=Es(()=>this.statusReactive()),this.statusReactive=Tr(void 0),this._pristine=Es(()=>this.pristineReactive()),this.pristineReactive=Tr(!0),this._touched=Es(()=>this.touchedReactive()),this.touchedReactive=Tr(!1),this._events=new un,this.events=this._events.asObservable(),this._onDisabledChange=[],this._assignValidators(n),this._assignAsyncValidators(t)}get validator(){return this._composedValidatorFn}set validator(n){this._rawValidators=this._composedValidatorFn=n}get asyncValidator(){return this._composedAsyncValidatorFn}set asyncValidator(n){this._rawAsyncValidators=this._composedAsyncValidatorFn=n}get parent(){return this._parent}get status(){return Mn(this.statusReactive)}set status(n){Mn(()=>this.statusReactive.set(n))}get valid(){return this.status===Ns}get invalid(){return this.status===hc}get pending(){return this.status==eo}get disabled(){return this.status===As}get enabled(){return this.status!==As}get pristine(){return Mn(this.pristineReactive)}set pristine(n){Mn(()=>this.pristineReactive.set(n))}get dirty(){return!this.pristine}get touched(){return Mn(this.touchedReactive)}set touched(n){Mn(()=>this.touchedReactive.set(n))}get untouched(){return!this.touched}get updateOn(){return this._updateOn?this._updateOn:this.parent?this.parent.updateOn:"change"}setValidators(n){this._assignValidators(n)}setAsyncValidators(n){this._assignAsyncValidators(n)}addValidators(n){this.setValidators(Nb(n,this._rawValidators))}addAsyncValidators(n){this.setAsyncValidators(Nb(n,this._rawAsyncValidators))}removeValidators(n){this.setValidators(Ab(n,this._rawValidators))}removeAsyncValidators(n){this.setAsyncValidators(Ab(n,this._rawAsyncValidators))}hasValidator(n){return uc(this._rawValidators,n)}hasAsyncValidator(n){return uc(this._rawAsyncValidators,n)}clearValidators(){this.validator=null}clearAsyncValidators(){this.asyncValidator=null}markAsTouched(n={}){const t=!1===this.touched;this.touched=!0;const i=n.sourceControl??this;this._parent&&!n.onlySelf&&this._parent.markAsTouched({...n,sourceControl:i}),t&&!1!==n.emitEvent&&this._events.next(new Xh(!0,i))}markAllAsTouched(n={}){this.markAsTouched({onlySelf:!0,emitEvent:n.emitEvent,sourceControl:this}),this._forEachChild(t=>t.markAllAsTouched(n))}markAsUntouched(n={}){const t=!0===this.touched;this.touched=!1,this._pendingTouched=!1;const i=n.sourceControl??this;this._forEachChild(r=>{r.markAsUntouched({onlySelf:!0,emitEvent:n.emitEvent,sourceControl:i})}),this._parent&&!n.onlySelf&&this._parent._updateTouched(n,i),t&&!1!==n.emitEvent&&this._events.next(new Xh(!1,i))}markAsDirty(n={}){const t=!0===this.pristine;this.pristine=!1;const i=n.sourceControl??this;this._parent&&!n.onlySelf&&this._parent.markAsDirty({...n,sourceControl:i}),t&&!1!==n.emitEvent&&this._events.next(new Jh(!1,i))}markAsPristine(n={}){const t=!1===this.pristine;this.pristine=!0,this._pendingDirty=!1;const i=n.sourceControl??this;this._forEachChild(r=>{r.markAsPristine({onlySelf:!0,emitEvent:n.emitEvent})}),this._parent&&!n.onlySelf&&this._parent._updatePristine(n,i),t&&!1!==n.emitEvent&&this._events.next(new Jh(!0,i))}markAsPending(n={}){this.status=eo;const t=n.sourceControl??this;!1!==n.emitEvent&&(this._events.next(new pc(this.status,t)),this.statusChanges.emit(this.status)),this._parent&&!n.onlySelf&&this._parent.markAsPending({...n,sourceControl:t})}disable(n={}){const t=this._parentMarkedDirty(n.onlySelf);this.status=As,this.errors=null,this._forEachChild(r=>{r.disable({...n,onlySelf:!0})}),this._updateValue();const i=n.sourceControl??this;!1!==n.emitEvent&&(this._events.next(new Pb(this.value,i)),this._events.next(new pc(this.status,i)),this.valueChanges.emit(this.value),this.statusChanges.emit(this.status)),this._updateAncestors({...n,skipPristineCheck:t},this),this._onDisabledChange.forEach(r=>r(!0))}enable(n={}){const t=this._parentMarkedDirty(n.onlySelf);this.status=Ns,this._forEachChild(i=>{i.enable({...n,onlySelf:!0})}),this.updateValueAndValidity({onlySelf:!0,emitEvent:n.emitEvent}),this._updateAncestors({...n,skipPristineCheck:t},this),this._onDisabledChange.forEach(i=>i(!1))}_updateAncestors(n,t){this._parent&&!n.onlySelf&&(this._parent.updateValueAndValidity(n),n.skipPristineCheck||this._parent._updatePristine({},t),this._parent._updateTouched({},t))}setParent(n){this._parent=n}getRawValue(){return this.value}updateValueAndValidity(n={}){if(this._setInitialStatus(),this._updateValue(),this.enabled){const i=this._cancelExistingSubscription();this.errors=this._runValidator(),this.status=this._calculateStatus(),(this.status===Ns||this.status===eo)&&this._runAsyncValidator(i,n.emitEvent)}const t=n.sourceControl??this;!1!==n.emitEvent&&(this._events.next(new Pb(this.value,t)),this._events.next(new pc(this.status,t)),this.valueChanges.emit(this.value),this.statusChanges.emit(this.status)),this._parent&&!n.onlySelf&&this._parent.updateValueAndValidity({...n,sourceControl:t})}_updateTreeValidity(n={emitEvent:!0}){this._forEachChild(t=>t._updateTreeValidity(n)),this.updateValueAndValidity({onlySelf:!0,emitEvent:n.emitEvent})}_setInitialStatus(){this.status=this._allControlsDisabled()?As:Ns}_runValidator(){return this.validator?this.validator(this):null}_runAsyncValidator(n,t){if(this.asyncValidator){this.status=eo,this._hasOwnPendingAsyncValidator={emitEvent:!1!==t};const i=wb(this.asyncValidator(this));this._asyncValidationSubscription=i.subscribe(r=>{this._hasOwnPendingAsyncValidator=null,this.setErrors(r,{emitEvent:t,shouldHaveEmitted:n})})}}_cancelExistingSubscription(){if(this._asyncValidationSubscription){this._asyncValidationSubscription.unsubscribe();const n=this._hasOwnPendingAsyncValidator?.emitEvent??!1;return this._hasOwnPendingAsyncValidator=null,n}return!1}setErrors(n,t={}){this.errors=n,this._updateControlsErrors(!1!==t.emitEvent,this,t.shouldHaveEmitted)}get(n){let t=n;return null==t||(Array.isArray(t)||(t=t.split(".")),0===t.length)?null:t.reduce((i,r)=>i&&i._find(r),this)}getError(n,t){const i=t?this.get(t):this;return i&&i.errors?i.errors[n]:null}hasError(n,t){return!!this.getError(n,t)}get root(){let n=this;for(;n._parent;)n=n._parent;return n}_updateControlsErrors(n,t,i){this.status=this._calculateStatus(),n&&this.statusChanges.emit(this.status),(n||i)&&this._events.next(new pc(this.status,t)),this._parent&&this._parent._updateControlsErrors(n,t,i)}_initObservables(){this.valueChanges=new Ee,this.statusChanges=new Ee}_calculateStatus(){return this._allControlsDisabled()?As:this.errors?hc:this._hasOwnPendingAsyncValidator||this._anyControlsHaveStatus(eo)?eo:this._anyControlsHaveStatus(hc)?hc:Ns}_anyControlsHaveStatus(n){return this._anyControls(t=>t.status===n)}_anyControlsDirty(){return this._anyControls(n=>n.dirty)}_anyControlsTouched(){return this._anyControls(n=>n.touched)}_updatePristine(n,t){const i=!this._anyControlsDirty(),r=this.pristine!==i;this.pristine=i,this._parent&&!n.onlySelf&&this._parent._updatePristine(n,t),r&&this._events.next(new Jh(this.pristine,t))}_updateTouched(n={},t){this.touched=this._anyControlsTouched(),this._events.next(new Xh(this.touched,t)),this._parent&&!n.onlySelf&&this._parent._updateTouched(n,t)}_registerOnCollectionChange(n){this._onCollectionChange=n}_setUpdateStrategy(n){gc(n)&&null!=n.updateOn&&(this._updateOn=n.updateOn)}_parentMarkedDirty(n){return!n&&!(!this._parent||!this._parent.dirty)&&!this._parent._anyControlsDirty()}_find(n){return null}_assignValidators(n){this._rawValidators=Array.isArray(n)?n.slice():n,this._composedValidatorFn=function EH(e){return Array.isArray(e)?Wh(e):e||null}(this._rawValidators)}_assignAsyncValidators(n){this._rawAsyncValidators=Array.isArray(n)?n.slice():n,this._composedAsyncValidatorFn=function DH(e){return Array.isArray(e)?Zh(e):e||null}(this._rawAsyncValidators)}}const no=new R("CallSetDisabledState",{providedIn:"root",factory:()=>mc}),mc="always";function xs(e,n,t=mc){(function rp(e,n){const t=function Tb(e){return e._rawValidators}(e);null!==n.validator?e.setValidators(Sb(t,n.validator)):"function"==typeof t&&e.setValidators([t]);const i=function Ob(e){return e._rawAsyncValidators}(e);null!==n.asyncValidator?e.setAsyncValidators(Sb(i,n.asyncValidator)):"function"==typeof i&&e.setAsyncValidators([i]);const r=()=>e.updateValueAndValidity();yc(n._rawValidators,r),yc(n._rawAsyncValidators,r)})(e,n),n.valueAccessor.writeValue(e.value),(e.disabled||"always"===t)&&n.valueAccessor.setDisabledState?.(e.disabled),function MH(e,n){n.valueAccessor.registerOnChange(t=>{e._pendingValue=t,e._pendingChange=!0,e._pendingDirty=!0,"change"===e.updateOn&&Vb(e,n)})}(e,n),function TH(e,n){const t=(i,r)=>{n.valueAccessor.writeValue(i),r&&n.viewToModelUpdate(i)};e.registerOnChange(t),n._registerOnDestroy(()=>{e._unregisterOnChange(t)})}(e,n),function SH(e,n){n.valueAccessor.registerOnTouched(()=>{e._pendingTouched=!0,"blur"===e.updateOn&&e._pendingChange&&Vb(e,n),"submit"!==e.updateOn&&e.markAsTouched()})}(e,n),function IH(e,n){if(n.valueAccessor.setDisabledState){const t=i=>{n.valueAccessor.setDisabledState(i)};e.registerOnDisabledChange(t),n._registerOnDestroy(()=>{e._unregisterOnDisabledChange(t)})}}(e,n)}function yc(e,n){e.forEach(t=>{t.registerOnValidatorChange&&t.registerOnValidatorChange(n)})}function Vb(e,n){e._pendingDirty&&e.markAsDirty(),e.setValue(e._pendingValue,{emitModelToViewChange:!1}),n.viewToModelUpdate(e._pendingValue),e._pendingChange=!1}function jb(e,n){const t=e.indexOf(n);t>-1&&e.splice(t,1)}function Ub(e){return"object"==typeof e&&null!==e&&2===Object.keys(e).length&&"value"in e&&"disabled"in e}Promise.resolve();const $b=class extends np{constructor(n=null,t,i){super(function ep(e){return(gc(e)?e.validators:e)||null}(t),function tp(e,n){return(gc(n)?n.asyncValidators:e)||null}(i,t)),this.defaultValue=null,this._onChange=[],this._pendingChange=!1,this._applyFormState(n),this._setUpdateStrategy(t),this._initObservables(),this.updateValueAndValidity({onlySelf:!0,emitEvent:!!this.asyncValidator}),gc(t)&&(t.nonNullable||t.initialValueIsDefault)&&(this.defaultValue=Ub(n)?n.value:n)}setValue(n,t={}){this.value=this._pendingValue=n,this._onChange.length&&!1!==t.emitModelToViewChange&&this._onChange.forEach(i=>i(this.value,!1!==t.emitViewToModelChange)),this.updateValueAndValidity(t)}patchValue(n,t={}){this.setValue(n,t)}reset(n=this.defaultValue,t={}){this._applyFormState(n),this.markAsPristine(t),this.markAsUntouched(t),this.setValue(this.value,t),this._pendingChange=!1}_updateValue(){}_anyControls(n){return!1}_allControlsDisabled(){return this.disabled}registerOnChange(n){this._onChange.push(n)}_unregisterOnChange(n){jb(this._onChange,n)}registerOnDisabledChange(n){this._onDisabledChange.push(n)}_unregisterOnDisabledChange(n){jb(this._onDisabledChange,n)}_forEachChild(n){}_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(n){Ub(n)?(this.value=this._pendingValue=n.value,n.disabled?this.disable({onlySelf:!0,emitEvent:!1}):this.enable({onlySelf:!0,emitEvent:!1})):this.value=this._pendingValue=n}},kH={provide:ci,useExisting:ve(()=>Ls)},qb=Promise.resolve();let Ls=(()=>{class e extends ci{constructor(t,i,r,o,s,a){super(),this._changeDetectorRef=s,this.callSetDisabledState=a,this.control=new $b,this._registered=!1,this.name="",this.update=new Ee,this._parent=t,this._setValidators(i),this._setAsyncValidators(r),this.valueAccessor=function ap(e,n){if(!n)return null;let t,i,r;return Array.isArray(n),n.forEach(o=>{o.constructor===Os?t=o:function AH(e){return Object.getPrototypeOf(e.constructor)===$i}(o)?i=o:r=o}),r||i||t||null}(0,o)}ngOnChanges(t){if(this._checkForErrors(),!this._registered||"name"in t){if(this._registered&&(this._checkName(),this.formDirective)){const i=t.name.previousValue;this.formDirective.removeControl({name:i,path:this._getPath(i)})}this._setUpControl()}"isDisabled"in t&&this._updateDisabled(t),function sp(e,n){if(!e.hasOwnProperty("model"))return!1;const t=e.model;return!!t.isFirstChange()||!Object.is(n,t.currentValue)}(t,this.viewModel)&&(this._updateValue(this.model),this.viewModel=this.model)}ngOnDestroy(){this.formDirective&&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(){xs(this.control,this,this.callSetDisabledState),this.control.updateValueAndValidity({emitEvent:!1})}_checkForErrors(){this._isStandalone()||this._checkParentType(),this._checkName()}_checkParentType(){}_checkName(){this.options&&this.options.name&&(this.name=this.options.name),this._isStandalone()}_updateValue(t){qb.then(()=>{this.control.setValue(t,{emitViewToModelChange:!1}),this._changeDetectorRef?.markForCheck()})}_updateDisabled(t){const i=t.isDisabled.currentValue,r=0!==i&&function mh(e){return"boolean"==typeof e?e:null!=e&&"false"!==e}(i);qb.then(()=>{r&&!this.control.disabled?this.control.disable():!r&&this.control.disabled&&this.control.enable(),this._changeDetectorRef?.markForCheck()})}_getPath(t){return this._parent?function vc(e,n){return[...n.path,e]}(t,this._parent):[t]}static#e=this.\u0275fac=function(i){return new(i||e)(M(_t,9),M(at,10),M(li,10),M(cn,10),M(Vi,8),M(no,8))};static#t=this.\u0275dir=z({type:e,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"],features:[Me([kH]),ue,gn]})}return e})();const jH={provide:cn,useExisting:ve(()=>cp),multi:!0};let cp=(()=>{class e extends $i{writeValue(t){this.setProperty("value",parseFloat(t))}registerOnChange(t){this.onChange=i=>{t(""==i?null:parseFloat(i))}}static#e=this.\u0275fac=(()=>{let t;return function(r){return(t||(t=rt(e)))(r||e)}})();static#t=this.\u0275dir=z({type:e,selectors:[["input","type","range","formControlName",""],["input","type","range","formControl",""],["input","type","range","ngModel",""]],hostBindings:function(i,r){1&i&&W("change",function(s){return r.onChange(s.target.value)})("input",function(s){return r.onChange(s.target.value)})("blur",function(){return r.onTouched()})},features:[Me([jH]),ue]})}return e})();const WH={provide:cn,useExisting:ve(()=>Ps),multi:!0};function Xb(e,n){return null==e?`${n}`:(n&&"object"==typeof n&&(n="Object"),`${e}: ${n}`.slice(0,50))}let Ps=(()=>{class e extends $i{constructor(){super(...arguments),this._optionMap=new Map,this._idCounter=0,this._compareWith=Object.is}set compareWith(t){this._compareWith=t}writeValue(t){this.value=t;const r=Xb(this._getOptionId(t),t);this.setProperty("value",r)}registerOnChange(t){this.onChange=i=>{this.value=this._getOptionValue(i),t(this.value)}}_registerOption(){return(this._idCounter++).toString()}_getOptionId(t){for(const i of this._optionMap.keys())if(this._compareWith(this._optionMap.get(i),t))return i;return null}_getOptionValue(t){const i=function ZH(e){return e.split(":")[0]}(t);return this._optionMap.has(i)?this._optionMap.get(i):t}static#e=this.\u0275fac=(()=>{let t;return function(r){return(t||(t=rt(e)))(r||e)}})();static#t=this.\u0275dir=z({type:e,selectors:[["select","formControlName","",3,"multiple",""],["select","formControl","",3,"multiple",""],["select","ngModel","",3,"multiple",""]],hostBindings:function(i,r){1&i&&W("change",function(s){return r.onChange(s.target.value)})("blur",function(){return r.onTouched()})},inputs:{compareWith:"compareWith"},features:[Me([WH]),ue]})}return e})(),hp=(()=>{class e{constructor(t,i,r){this._element=t,this._renderer=i,this._select=r,this._select&&(this.id=this._select._registerOption())}set ngValue(t){null!=this._select&&(this._select._optionMap.set(this.id,t),this._setElementValue(Xb(this.id,t)),this._select.writeValue(this._select.value))}set value(t){this._setElementValue(t),this._select&&this._select.writeValue(this._select.value)}_setElementValue(t){this._renderer.setProperty(this._element.nativeElement,"value",t)}ngOnDestroy(){this._select&&(this._select._optionMap.delete(this.id),this._select.writeValue(this._select.value))}static#e=this.\u0275fac=function(i){return new(i||e)(M(dt),M(rn),M(Ps,9))};static#t=this.\u0275dir=z({type:e,selectors:[["option"]],inputs:{ngValue:"ngValue",value:"value"}})}return e})();const YH={provide:cn,useExisting:ve(()=>pp),multi:!0};function eI(e,n){return null==e?`${n}`:("string"==typeof n&&(n=`'${n}'`),n&&"object"==typeof n&&(n="Object"),`${e}: ${n}`.slice(0,50))}let pp=(()=>{class e extends $i{constructor(){super(...arguments),this._optionMap=new Map,this._idCounter=0,this._compareWith=Object.is}set compareWith(t){this._compareWith=t}writeValue(t){let i;if(this.value=t,Array.isArray(t)){const r=t.map(o=>this._getOptionId(o));i=(o,s)=>{o._setSelected(r.indexOf(s.toString())>-1)}}else i=(r,o)=>{r._setSelected(!1)};this._optionMap.forEach(i)}registerOnChange(t){this.onChange=i=>{const r=[],o=i.selectedOptions;if(void 0!==o){const s=o;for(let a=0;a{let t;return function(r){return(t||(t=rt(e)))(r||e)}})();static#t=this.\u0275dir=z({type:e,selectors:[["select","multiple","","formControlName",""],["select","multiple","","formControl",""],["select","multiple","","ngModel",""]],hostBindings:function(i,r){1&i&&W("change",function(s){return r.onChange(s.target)})("blur",function(){return r.onTouched()})},inputs:{compareWith:"compareWith"},features:[Me([YH]),ue]})}return e})(),gp=(()=>{class e{constructor(t,i,r){this._element=t,this._renderer=i,this._select=r,this._select&&(this.id=this._select._registerOption(this))}set ngValue(t){null!=this._select&&(this._value=t,this._setElementValue(eI(this.id,t)),this._select.writeValue(this._select.value))}set value(t){this._select?(this._value=t,this._setElementValue(eI(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#e=this.\u0275fac=function(i){return new(i||e)(M(dt),M(rn),M(pp,9))};static#t=this.\u0275dir=z({type:e,selectors:[["option"]],inputs:{ngValue:"ngValue",value:"value"}})}return e})(),oB=(()=>{class e{static#e=this.\u0275fac=function(i){return new(i||e)};static#t=this.\u0275mod=Yn({type:e});static#n=this.\u0275inj=On({})}return e})(),aB=(()=>{class e{static withConfig(t){return{ngModule:e,providers:[{provide:no,useValue:t.callSetDisabledState??mc}]}}static#e=this.\u0275fac=function(i){return new(i||e)};static#t=this.\u0275mod=Yn({type:e});static#n=this.\u0275inj=On({imports:[oB]})}return e})();class lB extends Ot{constructor(n,t){super()}schedule(n,t=0){return this}}const wc={setInterval(e,n,...t){const{delegate:i}=wc;return i?.setInterval?i.setInterval(e,n,...t):setInterval(e,n,...t)},clearInterval(e){const{delegate:n}=wc;return(n?.clearInterval||clearInterval)(e)},delegate:void 0},uI={now:()=>(uI.delegate||Date).now(),delegate:void 0};class ks{constructor(n,t=ks.now){this.schedulerActionCtor=n,this.now=t}schedule(n,t=0,i){return new this.schedulerActionCtor(this,n).schedule(i,t)}}ks.now=uI.now;const dI=new class uB extends ks{constructor(n,t=ks.now){super(n,t),this.actions=[],this._active=!1}flush(n){const{actions:t}=this;if(this._active)return void t.push(n);let i;this._active=!0;do{if(i=n.execute(n.state,n.delay))break}while(n=t.shift());if(this._active=!1,i){for(;n=t.shift();)n.unsubscribe();throw i}}}(class cB extends lB{constructor(n,t){super(n,t),this.scheduler=n,this.work=t,this.pending=!1}schedule(n,t=0){var i;if(this.closed)return this;this.state=n;const r=this.id,o=this.scheduler;return null!=r&&(this.id=this.recycleAsyncId(o,r,t)),this.pending=!0,this.delay=t,this.id=null!==(i=this.id)&&void 0!==i?i:this.requestAsyncId(o,this.id,t),this}requestAsyncId(n,t,i=0){return wc.setInterval(n.flush.bind(n,this),i)}recycleAsyncId(n,t,i=0){if(null!=i&&this.delay===i&&!1===this.pending)return t;null!=t&&wc.clearInterval(t)}execute(n,t){if(this.closed)return new Error("executing a cancelled action");this.pending=!1;const i=this._execute(n,t);if(i)return i;!1===this.pending&&null!=this.id&&(this.id=this.recycleAsyncId(this.scheduler,this.id,null))}_execute(n,t){let r,i=!1;try{this.work(n)}catch(o){i=!0,r=o||new Error("Scheduled action threw falsy error")}if(i)return this.unsubscribe(),r}unsubscribe(){if(!this.closed){const{id:n,scheduler:t}=this,{actions:i}=t;this.work=this.state=this.scheduler=null,this.pending=!1,$s(i,this),null!=n&&(this.id=this.recycleAsyncId(t,n,null)),this.delay=null,super.unsubscribe()}}}),dB=dI;function fI(e,n=dI,t){const i=function gB(e=0,n,t=dB){let i=-1;return null!=n&&(function hB(e){return e&&Fe(e.schedule)}(n)?t=n:i=n),new Nt(r=>{let o=function pB(e){return e instanceof Date&&!isNaN(e)}(e)?+e-t.now():e;o<0&&(o=0);let s=0;return t.schedule(function(){r.closed||(r.next(s++),0<=i?this.schedule(void 0,i):r.complete())},o)})}(e,n);return function fB(e,n){return gi((t,i)=>{const{leading:r=!0,trailing:o=!1}=n??{};let s=!1,a=null,l=null,c=!1;const u=()=>{l?.unsubscribe(),l=null,o&&(h(),c&&i.complete())},d=()=>{l=null,c&&i.complete()},p=g=>l=Ts(e(g)).subscribe(zn(i,u,d)),h=()=>{if(s){s=!1;const g=a;a=null,i.next(g),!c&&p(g)}};t.subscribe(zn(i,g=>{s=!0,a=g,(!l||l.closed)&&(r?h():p(g))},()=>{c=!0,(!(o&&s&&l)||l.closed)&&i.complete()}))})}(()=>i,t)}function hI(e,n,t){const i=Fe(e)||n||t?{next:e,error:n,complete:t}:e;return i?gi((r,o)=>{var s;null===(s=i.subscribe)||void 0===s||s.call(i);let a=!0;r.subscribe(zn(o,l=>{var c;null===(c=i.next)||void 0===c||c.call(i,l),o.next(l)},()=>{var l;a=!1,null===(l=i.complete)||void 0===l||l.call(i),o.complete()},l=>{var c;a=!1,null===(c=i.error)||void 0===c||c.call(i,l),o.error(l)},()=>{var l,c;a&&(null===(l=i.unsubscribe)||void 0===l||l.call(i)),null===(c=i.finalize)||void 0===c||c.call(i)}))}):Vc}function pI(e,n=Vc){return e=e??mB,gi((t,i)=>{let r,o=!0;t.subscribe(zn(i,s=>{const a=n(s);(o||!e(r,a))&&(o=!1,r=a,i.next(s))}))})}function mB(e,n){return e===n}var Ht=typeof window<"u"?window:{screen:{},navigator:{}},io=(Ht.matchMedia||function(){return{matches:!1}}).bind(Ht),gI=!1,mI=function(){};Ht.addEventListener&&Ht.addEventListener("p",mI,{get passive(){return gI=!0}}),Ht.removeEventListener&&Ht.removeEventListener("p",mI,!1);var vI=gI,vp="ontouchstart"in Ht,yI=(vp||"TouchEvent"in Ht&&io("(any-pointer: coarse)"),Ht.navigator.userAgent||"");io("(pointer: coarse)").matches&&/iPad|Macintosh/.test(yI)&&Math.min(Ht.screen.width||0,Ht.screen.height||0);(io("(pointer: coarse)").matches||!io("(pointer: fine)").matches&&vp)&&/Windows.*Firefox/.test(yI),io("(any-pointer: fine)").matches||io("(any-hover: hover)");const DB=(e,n,t)=>({tooltip:e,placement:n,content:t});function bB(e,n){}function IB(e,n){1&e&&H(0,bB,0,0,"ng-template")}function MB(e,n){if(1&e&&(te(0),H(1,IB,1,0,null,1),ne()),2&e){const t=v();f(),m("ngTemplateOutlet",t.template)("ngTemplateOutletContext",Ye(2,DB,t.tooltip,t.placement,t.content))}}function SB(e,n){if(1&e&&(te(0),C(1,"div",2),b(2),y(),ne()),2&e){const t=v();f(),pt("title",t.tooltip)("data-tooltip-placement",t.placement),f(),K(" ",t.content," ")}}const TB=["tooltipTemplate"],OB=["leftOuterSelectionBar"],NB=["rightOuterSelectionBar"],AB=["fullBar"],xB=["selectionBar"],RB=["minHandle"],LB=["maxHandle"],PB=["floorLabel"],kB=["ceilLabel"],FB=["minHandleLabel"],VB=["maxHandleLabel"],HB=["combinedLabel"],BB=["ticksElement"],jB=e=>({"ngx-slider-selected":e});function UB(e,n){if(1&e&&N(0,"ngx-slider-tooltip-wrapper",32),2&e){const t=v().$implicit;m("template",v().tooltipTemplate)("tooltip",t.valueTooltip)("placement",t.valueTooltipPlacement)("content",t.value)}}function $B(e,n){1&e&&N(0,"span",33),2&e&&m("innerText",v().$implicit.legend)}function zB(e,n){1&e&&N(0,"span",34),2&e&&m("innerHTML",v().$implicit.legend,bv)}function GB(e,n){if(1&e&&(C(0,"span",27),N(1,"ngx-slider-tooltip-wrapper",28),H(2,UB,1,4,"ngx-slider-tooltip-wrapper",29)(3,$B,1,1,"span",30)(4,zB,1,1,"span",31),y()),2&e){const t=n.$implicit,i=v();m("ngClass",hs(8,jB,t.selected))("ngStyle",t.style),f(),m("template",i.tooltipTemplate)("tooltip",t.tooltip)("placement",t.tooltipPlacement),f(),m("ngIf",null!=t.value),f(),m("ngIf",null!=t.legend&&!1===i.allowUnsafeHtmlInSlider),f(),m("ngIf",null!=t.legend&&(null==i.allowUnsafeHtmlInSlider||i.allowUnsafeHtmlInSlider))}}var Sn=function(e){return e[e.Low=0]="Low",e[e.High=1]="High",e[e.Floor=2]="Floor",e[e.Ceil=3]="Ceil",e[e.TickValue=4]="TickValue",e}(Sn||{});class Ec{floor=0;ceil=null;step=1;minRange=null;maxRange=null;pushRange=!1;minLimit=null;maxLimit=null;translate=null;combineLabels=null;getLegend=null;getStepLegend=null;stepsArray=null;bindIndexForStepsArray=!1;draggableRange=!1;draggableRangeOnly=!1;showSelectionBar=!1;showSelectionBarEnd=!1;showSelectionBarFromValue=null;showOuterSelectionBars=!1;hidePointerLabels=!1;hideLimitLabels=!1;autoHideLimitLabels=!0;readOnly=!1;disabled=!1;showTicks=!1;showTicksValues=!1;tickStep=null;tickValueStep=null;ticksArray=null;ticksTooltip=null;ticksValuesTooltip=null;vertical=!1;getSelectionBarColor=null;getTickColor=null;getPointerColor=null;keyboardSupport=!0;scale=1;rotate=0;enforceStep=!0;enforceRange=!0;enforceStepsArray=!0;noSwitching=!1;onlyBindHandles=!1;rightToLeft=!1;reversedControls=!1;boundPointerLabels=!0;logScale=!1;customValueToPosition=null;customPositionToValue=null;precisionLimit=12;selectionBarGradient=null;ariaLabel="ngx-slider";ariaLabelledBy=null;ariaLabelHigh="ngx-slider-max";ariaLabelledByHigh=null;handleDimension=null;barDimension=null;animate=!0;animateOnMove=!1}const EI=new R("AllowUnsafeHtmlInSlider");var x=function(e){return e[e.Min=0]="Min",e[e.Max=1]="Max",e}(x||{});class qB{value;highValue;pointerType}class I{static isNullOrUndefined(n){return null==n}static areArraysEqual(n,t){if(n.length!==t.length)return!1;for(let i=0;iMath.abs(n-o.value));let r=0;for(let o=0;o{o.events.next(a)};return n.addEventListener(t,s,{passive:!0,capture:!1}),o.teardownCallback=()=>{n.removeEventListener(t,s,{passive:!0,capture:!1})},o.eventsSubscription=o.events.pipe(I.isNullOrUndefined(r)?hI(()=>{}):fI(r,void 0,{leading:!0,trailing:!0})).subscribe(a=>{i(a)}),o}detachEventListener(n){I.isNullOrUndefined(n.eventsSubscription)||(n.eventsSubscription.unsubscribe(),n.eventsSubscription=null),I.isNullOrUndefined(n.events)||(n.events.complete(),n.events=null),I.isNullOrUndefined(n.teardownCallback)||(n.teardownCallback(),n.teardownCallback=null)}attachEventListener(n,t,i,r){const o=new DI;return o.eventName=t,o.events=new un,o.teardownCallback=this.renderer.listen(n,t,a=>{o.events.next(a)}),o.eventsSubscription=o.events.pipe(I.isNullOrUndefined(r)?hI(()=>{}):fI(r,void 0,{leading:!0,trailing:!0})).subscribe(a=>{i(a)}),o}}let di=(()=>{class e{elemRef;renderer;changeDetectionRef;_position=0;get position(){return this._position}_dimension=0;get dimension(){return this._dimension}_alwaysHide=!1;get alwaysHide(){return this._alwaysHide}_vertical=!1;get vertical(){return this._vertical}_scale=1;get scale(){return this._scale}_rotate=0;get rotate(){return this._rotate}opacity=1;visibility="visible";left="";bottom="";height="";width="";transform="";eventListenerHelper;eventListeners=[];constructor(t,i,r){this.elemRef=t,this.renderer=i,this.changeDetectionRef=r,this.eventListenerHelper=new bI(this.renderer)}setAlwaysHide(t){this._alwaysHide=t,this.visibility=t?"hidden":"visible"}hide(){this.opacity=0}show(){this.alwaysHide||(this.opacity=1)}isVisible(){return!this.alwaysHide&&0!==this.opacity}setVertical(t){this._vertical=t,this._vertical?(this.left="",this.width=""):(this.bottom="",this.height="")}setScale(t){this._scale=t}setRotate(t){this._rotate=t,this.transform="rotate("+t+"deg)"}getRotate(){return this._rotate}setPosition(t){this._position!==t&&!this.isRefDestroyed()&&this.changeDetectionRef.markForCheck(),this._position=t,this._vertical?this.bottom=Math.round(t)+"px":this.left=Math.round(t)+"px"}calculateDimension(){const t=this.getBoundingClientRect();this._dimension=this.vertical?(t.bottom-t.top)*this.scale:(t.right-t.left)*this.scale}setDimension(t){this._dimension!==t&&!this.isRefDestroyed()&&this.changeDetectionRef.markForCheck(),this._dimension=t,this._vertical?this.height=Math.round(t)+"px":this.width=Math.round(t)+"px"}getBoundingClientRect(){return this.elemRef.nativeElement.getBoundingClientRect()}on(t,i,r){const o=this.eventListenerHelper.attachEventListener(this.elemRef.nativeElement,t,i,r);this.eventListeners.push(o)}onPassive(t,i,r){const o=this.eventListenerHelper.attachPassiveEventListener(this.elemRef.nativeElement,t,i,r);this.eventListeners.push(o)}off(t){let i,r;I.isNullOrUndefined(t)?(i=[],r=this.eventListeners):(i=this.eventListeners.filter(o=>o.eventName!==t),r=this.eventListeners.filter(o=>o.eventName===t));for(const o of r)this.eventListenerHelper.detachEventListener(o);this.eventListeners=i}isRefDestroyed(){return I.isNullOrUndefined(this.changeDetectionRef)||this.changeDetectionRef.destroyed}static \u0275fac=function(i){return new(i||e)(M(dt),M(rn),M(Vi))};static \u0275dir=z({type:e,selectors:[["","ngxSliderElement",""]],hostVars:14,hostBindings:function(i,r){2&i&&Dl("opacity",r.opacity)("visibility",r.visibility)("left",r.left)("bottom",r.bottom)("height",r.height)("width",r.width)("transform",r.transform)}})}return e})(),_p=(()=>{class e extends di{active=!1;role="";tabindex="";ariaOrientation="";ariaLabel="";ariaLabelledBy="";ariaValueNow="";ariaValueText="";ariaValueMin="";ariaValueMax="";focus(){this.elemRef.nativeElement.focus()}focusIfNeeded(){document.activeElement!==this.elemRef.nativeElement&&this.elemRef.nativeElement.focus()}constructor(t,i,r){super(t,i,r)}static \u0275fac=function(i){return new(i||e)(M(dt),M(rn),M(Vi))};static \u0275dir=z({type:e,selectors:[["","ngxSliderHandle",""]],hostVars:11,hostBindings:function(i,r){2&i&&(pt("role",r.role)("tabindex",r.tabindex)("aria-orientation",r.ariaOrientation)("aria-label",r.ariaLabel)("aria-labelledby",r.ariaLabelledBy)("aria-valuenow",r.ariaValueNow)("aria-valuetext",r.ariaValueText)("aria-valuemin",r.ariaValueMin)("aria-valuemax",r.ariaValueMax),Vn("ngx-slider-active",r.active))},features:[ue]})}return e})(),ro=(()=>{class e extends di{allowUnsafeHtmlInSlider;_value=null;get value(){return this._value}constructor(t,i,r,o){super(t,i,r),this.allowUnsafeHtmlInSlider=o}setValue(t){let i=!1;!this.alwaysHide&&(I.isNullOrUndefined(this.value)||this.value.length!==t.length||this.value.length>0&&0===this.dimension)&&(i=!0),this._value=t,!1===this.allowUnsafeHtmlInSlider?this.elemRef.nativeElement.innerText=t:this.elemRef.nativeElement.innerHTML=t,i&&this.calculateDimension()}static \u0275fac=function(i){return new(i||e)(M(dt),M(rn),M(Vi),M(EI,8))};static \u0275dir=z({type:e,selectors:[["","ngxSliderLabel",""]],features:[ue]})}return e})(),WB=(()=>{class e{template;tooltip;placement;content;static \u0275fac=function(i){return new(i||e)};static \u0275cmp=Kt({type:e,selectors:[["ngx-slider-tooltip-wrapper"]],inputs:{template:"template",tooltip:"tooltip",placement:"placement",content:"content"},decls:2,vars:2,consts:[[4,"ngIf"],[4,"ngTemplateOutlet","ngTemplateOutletContext"],[1,"ngx-slider-inner-tooltip"]],template:function(i,r){1&i&&H(0,MB,2,6,"ng-container",0)(1,SB,3,3,"ng-container",0),2&i&&(m("ngIf",r.template),f(),m("ngIf",!r.template))},dependencies:[$n,_D],styles:[".ngx-slider-inner-tooltip[_ngcontent-%COMP%]{height:100%}"]})}return e})();class ZB{selected=!1;style={};tooltip=null;tooltipPlacement=null;value=null;valueTooltip=null;valueTooltipPlacement=null;legend=null}class II{active=!1;value=0;difference=0;position=0;lowLimit=0;highLimit=0}class Dc{value;highValue;static compare(n,t){return!(I.isNullOrUndefined(n)&&I.isNullOrUndefined(t)||I.isNullOrUndefined(n)!==I.isNullOrUndefined(t))&&n.value===t.value&&n.highValue===t.highValue}}class MI extends Dc{forceChange;static compare(n,t){return!(I.isNullOrUndefined(n)&&I.isNullOrUndefined(t)||I.isNullOrUndefined(n)!==I.isNullOrUndefined(t))&&n.value===t.value&&n.highValue===t.highValue&&n.forceChange===t.forceChange}}const YB={provide:cn,useExisting:ve(()=>SI),multi:!0};let SI=(()=>{class e{renderer;elementRef;changeDetectionRef;zone;allowUnsafeHtmlInSlider;sliderElementNgxSliderClass=!0;value=null;valueChange=new Ee;highValue=null;highValueChange=new Ee;options=new Ec;userChangeStart=new Ee;userChange=new Ee;userChangeEnd=new Ee;manualRefreshSubscription;set manualRefresh(t){this.unsubscribeManualRefresh(),this.manualRefreshSubscription=t.subscribe(()=>{setTimeout(()=>this.calculateViewDimensionsAndDetectChanges())})}triggerFocusSubscription;set triggerFocus(t){this.unsubscribeTriggerFocus(),this.triggerFocusSubscription=t.subscribe(i=>{this.focusPointer(i)})}get range(){return!I.isNullOrUndefined(this.value)&&!I.isNullOrUndefined(this.highValue)}initHasRun=!1;inputModelChangeSubject=new un;inputModelChangeSubscription=null;outputModelChangeSubject=new un;outputModelChangeSubscription=null;viewLowValue=null;viewHighValue=null;viewOptions=new Ec;handleHalfDimension=0;maxHandlePosition=0;currentTrackingPointer=null;currentFocusPointer=null;firstKeyDown=!1;touchId=null;dragging=new II;leftOuterSelectionBarElement;rightOuterSelectionBarElement;fullBarElement;selectionBarElement;minHandleElement;maxHandleElement;floorLabelElement;ceilLabelElement;minHandleLabelElement;maxHandleLabelElement;combinedLabelElement;ticksElement;tooltipTemplate;sliderElementVerticalClass=!1;sliderElementAnimateClass=!1;sliderElementWithLegendClass=!1;sliderElementDisabledAttr=null;sliderElementAriaLabel="ngx-slider";barStyle={};minPointerStyle={};maxPointerStyle={};fullBarTransparentClass=!1;selectionBarDraggableClass=!1;ticksUnderValuesClass=!1;get showTicks(){return this.viewOptions.showTicks}intermediateTicks=!1;ticks=[];eventListenerHelper=null;onMoveEventListener=null;onEndEventListener=null;moving=!1;resizeObserver=null;onTouchedCallback=null;onChangeCallback=null;constructor(t,i,r,o,s){this.renderer=t,this.elementRef=i,this.changeDetectionRef=r,this.zone=o,this.allowUnsafeHtmlInSlider=s,this.eventListenerHelper=new bI(this.renderer)}ngOnInit(){this.viewOptions=new Ec,Object.assign(this.viewOptions,this.options),this.updateDisabledState(),this.updateVerticalState(),this.updateAriaLabel()}ngAfterViewInit(){this.applyOptions(),this.subscribeInputModelChangeSubject(),this.subscribeOutputModelChangeSubject(),this.renormaliseModelValues(),this.viewLowValue=this.modelValueToViewValue(this.value),this.viewHighValue=this.range?this.modelValueToViewValue(this.highValue):null,this.updateVerticalState(),this.manageElementsStyle(),this.updateDisabledState(),this.calculateViewDimensions(),this.addAccessibility(),this.updateCeilLabel(),this.updateFloorLabel(),this.initHandles(),this.manageEventsBindings(),this.updateAriaLabel(),this.subscribeResizeObserver(),this.initHasRun=!0,this.isRefDestroyed()||this.changeDetectionRef.detectChanges()}ngOnChanges(t){!I.isNullOrUndefined(t.options)&&JSON.stringify(t.options.previousValue)!==JSON.stringify(t.options.currentValue)&&this.onChangeOptions(),(!I.isNullOrUndefined(t.value)||!I.isNullOrUndefined(t.highValue))&&this.inputModelChangeSubject.next({value:this.value,highValue:this.highValue,forceChange:!1,internalChange:!1})}ngOnDestroy(){this.unbindEvents(),this.unsubscribeResizeObserver(),this.unsubscribeInputModelChangeSubject(),this.unsubscribeOutputModelChangeSubject(),this.unsubscribeManualRefresh(),this.unsubscribeTriggerFocus()}writeValue(t){t instanceof Array?(this.value=t[0],this.highValue=t[1]):this.value=t,this.inputModelChangeSubject.next({value:this.value,highValue:this.highValue,forceChange:!1,internalChange:!1})}registerOnChange(t){this.onChangeCallback=t}registerOnTouched(t){this.onTouchedCallback=t}setDisabledState(t){this.viewOptions.disabled=t,this.updateDisabledState()}setAriaLabel(t){this.viewOptions.ariaLabel=t,this.updateAriaLabel()}onResize(t){this.calculateViewDimensionsAndDetectChanges()}subscribeInputModelChangeSubject(){this.inputModelChangeSubscription=this.inputModelChangeSubject.pipe(pI(MI.compare),function vB(e,n){return gi((t,i)=>{let r=0;t.subscribe(zn(i,o=>e.call(n,o,r++)&&i.next(o)))})}(t=>!t.forceChange&&!t.internalChange)).subscribe(t=>this.applyInputModelChange(t))}subscribeOutputModelChangeSubject(){this.outputModelChangeSubscription=this.outputModelChangeSubject.pipe(pI(MI.compare)).subscribe(t=>this.publishOutputModelChange(t))}subscribeResizeObserver(){ui.isResizeObserverAvailable()&&(this.resizeObserver=new ResizeObserver(()=>this.calculateViewDimensionsAndDetectChanges()),this.resizeObserver.observe(this.elementRef.nativeElement))}unsubscribeResizeObserver(){ui.isResizeObserverAvailable()&&null!==this.resizeObserver&&(this.resizeObserver.disconnect(),this.resizeObserver=null)}unsubscribeOnMove(){I.isNullOrUndefined(this.onMoveEventListener)||(this.eventListenerHelper.detachEventListener(this.onMoveEventListener),this.onMoveEventListener=null)}unsubscribeOnEnd(){I.isNullOrUndefined(this.onEndEventListener)||(this.eventListenerHelper.detachEventListener(this.onEndEventListener),this.onEndEventListener=null)}unsubscribeInputModelChangeSubject(){I.isNullOrUndefined(this.inputModelChangeSubscription)||(this.inputModelChangeSubscription.unsubscribe(),this.inputModelChangeSubscription=null)}unsubscribeOutputModelChangeSubject(){I.isNullOrUndefined(this.outputModelChangeSubscription)||(this.outputModelChangeSubscription.unsubscribe(),this.outputModelChangeSubscription=null)}unsubscribeManualRefresh(){I.isNullOrUndefined(this.manualRefreshSubscription)||(this.manualRefreshSubscription.unsubscribe(),this.manualRefreshSubscription=null)}unsubscribeTriggerFocus(){I.isNullOrUndefined(this.triggerFocusSubscription)||(this.triggerFocusSubscription.unsubscribe(),this.triggerFocusSubscription=null)}getPointerElement(t){return t===x.Min?this.minHandleElement:t===x.Max?this.maxHandleElement:null}getCurrentTrackingValue(){return this.currentTrackingPointer===x.Min?this.viewLowValue:this.currentTrackingPointer===x.Max?this.viewHighValue:null}modelValueToViewValue(t){return I.isNullOrUndefined(t)?NaN:I.isNullOrUndefined(this.viewOptions.stepsArray)||this.viewOptions.bindIndexForStepsArray?+t:I.findStepIndex(+t,this.viewOptions.stepsArray)}viewValueToModelValue(t){return I.isNullOrUndefined(this.viewOptions.stepsArray)||this.viewOptions.bindIndexForStepsArray?t:this.getStepValue(t)}getStepValue(t){const i=this.viewOptions.stepsArray[t];return I.isNullOrUndefined(i)?NaN:i.value}applyViewChange(){this.value=this.viewValueToModelValue(this.viewLowValue),this.range&&(this.highValue=this.viewValueToModelValue(this.viewHighValue)),this.outputModelChangeSubject.next({value:this.value,highValue:this.highValue,userEventInitiated:!0,forceChange:!1}),this.inputModelChangeSubject.next({value:this.value,highValue:this.highValue,forceChange:!1,internalChange:!0})}applyInputModelChange(t){const i=this.normaliseModelValues(t),r=!Dc.compare(t,i);r&&(this.value=i.value,this.highValue=i.highValue),this.viewLowValue=this.modelValueToViewValue(i.value),this.viewHighValue=this.range?this.modelValueToViewValue(i.highValue):null,this.updateLowHandle(this.valueToPosition(this.viewLowValue)),this.range&&this.updateHighHandle(this.valueToPosition(this.viewHighValue)),this.updateSelectionBar(),this.updateTicksScale(),this.updateAriaAttributes(),this.range&&this.updateCombinedLabel(),this.outputModelChangeSubject.next({value:i.value,highValue:i.highValue,forceChange:r,userEventInitiated:!1})}publishOutputModelChange(t){const i=()=>{this.valueChange.emit(t.value),this.range&&this.highValueChange.emit(t.highValue),I.isNullOrUndefined(this.onChangeCallback)||this.onChangeCallback(this.range?[t.value,t.highValue]:t.value),I.isNullOrUndefined(this.onTouchedCallback)||this.onTouchedCallback(this.range?[t.value,t.highValue]:t.value)};t.userEventInitiated?(i(),this.userChange.emit(this.getChangeContext())):setTimeout(()=>{i()})}normaliseModelValues(t){const i=new Dc;if(i.value=t.value,i.highValue=t.highValue,!I.isNullOrUndefined(this.viewOptions.stepsArray)){if(this.viewOptions.enforceStepsArray){const r=I.findStepIndex(i.value,this.viewOptions.stepsArray);if(i.value=this.viewOptions.stepsArray[r].value,this.range){const o=I.findStepIndex(i.highValue,this.viewOptions.stepsArray);i.highValue=this.viewOptions.stepsArray[o].value}}return i}if(this.viewOptions.enforceStep&&(i.value=this.roundStep(i.value),this.range&&(i.highValue=this.roundStep(i.highValue))),this.viewOptions.enforceRange&&(i.value=ke.clampToRange(i.value,this.viewOptions.floor,this.viewOptions.ceil),this.range&&(i.highValue=ke.clampToRange(i.highValue,this.viewOptions.floor,this.viewOptions.ceil)),this.range&&t.value>t.highValue))if(this.viewOptions.noSwitching)i.value=i.highValue;else{const r=t.value;i.value=t.highValue,i.highValue=r}return i}renormaliseModelValues(){const t={value:this.value,highValue:this.highValue},i=this.normaliseModelValues(t);Dc.compare(i,t)||(this.value=i.value,this.highValue=i.highValue,this.outputModelChangeSubject.next({value:this.value,highValue:this.highValue,forceChange:!0,userEventInitiated:!1}))}onChangeOptions(){if(!this.initHasRun)return;const t=this.getOptionsInfluencingEventBindings(this.viewOptions);this.applyOptions();const i=this.getOptionsInfluencingEventBindings(this.viewOptions),r=!I.areArraysEqual(t,i);this.renormaliseModelValues(),this.viewLowValue=this.modelValueToViewValue(this.value),this.viewHighValue=this.range?this.modelValueToViewValue(this.highValue):null,this.resetSlider(r)}applyOptions(){if(this.viewOptions=new Ec,Object.assign(this.viewOptions,this.options),this.viewOptions.draggableRange=this.range&&this.viewOptions.draggableRange,this.viewOptions.draggableRangeOnly=this.range&&this.viewOptions.draggableRangeOnly,this.viewOptions.draggableRangeOnly&&(this.viewOptions.draggableRange=!0),this.viewOptions.showTicks=this.viewOptions.showTicks||this.viewOptions.showTicksValues||!I.isNullOrUndefined(this.viewOptions.ticksArray),this.viewOptions.showTicks&&(!I.isNullOrUndefined(this.viewOptions.tickStep)||!I.isNullOrUndefined(this.viewOptions.ticksArray))&&(this.intermediateTicks=!0),this.viewOptions.showSelectionBar=this.viewOptions.showSelectionBar||this.viewOptions.showSelectionBarEnd||!I.isNullOrUndefined(this.viewOptions.showSelectionBarFromValue),I.isNullOrUndefined(this.viewOptions.stepsArray)?this.applyFloorCeilOptions():this.applyStepsArrayOptions(),I.isNullOrUndefined(this.viewOptions.combineLabels)&&(this.viewOptions.combineLabels=(t,i)=>t+" - "+i),this.viewOptions.logScale&&0===this.viewOptions.floor)throw Error("Can't use floor=0 with logarithmic scale")}applyStepsArrayOptions(){this.viewOptions.floor=0,this.viewOptions.ceil=this.viewOptions.stepsArray.length-1,this.viewOptions.step=1,I.isNullOrUndefined(this.viewOptions.translate)&&(this.viewOptions.translate=t=>String(this.viewOptions.bindIndexForStepsArray?this.getStepValue(t):t))}applyFloorCeilOptions(){if(I.isNullOrUndefined(this.viewOptions.step)?this.viewOptions.step=1:(this.viewOptions.step=+this.viewOptions.step,this.viewOptions.step<=0&&(this.viewOptions.step=1)),I.isNullOrUndefined(this.viewOptions.ceil)||I.isNullOrUndefined(this.viewOptions.floor))throw Error("floor and ceil options must be supplied");this.viewOptions.ceil=+this.viewOptions.ceil,this.viewOptions.floor=+this.viewOptions.floor,I.isNullOrUndefined(this.viewOptions.translate)&&(this.viewOptions.translate=t=>String(t))}resetSlider(t=!0){this.manageElementsStyle(),this.addAccessibility(),this.updateCeilLabel(),this.updateFloorLabel(),t&&(this.unbindEvents(),this.manageEventsBindings()),this.updateDisabledState(),this.updateAriaLabel(),this.calculateViewDimensions(),this.refocusPointerIfNeeded()}focusPointer(t){t!==x.Min&&t!==x.Max&&(t=x.Min),t===x.Min?this.minHandleElement.focus():this.range&&t===x.Max&&this.maxHandleElement.focus()}refocusPointerIfNeeded(){I.isNullOrUndefined(this.currentFocusPointer)||this.getPointerElement(this.currentFocusPointer).focusIfNeeded()}manageElementsStyle(){this.updateScale(),this.floorLabelElement.setAlwaysHide(this.viewOptions.showTicksValues||this.viewOptions.hideLimitLabels),this.ceilLabelElement.setAlwaysHide(this.viewOptions.showTicksValues||this.viewOptions.hideLimitLabels);const t=this.viewOptions.showTicksValues&&!this.intermediateTicks;this.minHandleLabelElement.setAlwaysHide(t||this.viewOptions.hidePointerLabels),this.maxHandleLabelElement.setAlwaysHide(t||!this.range||this.viewOptions.hidePointerLabels),this.combinedLabelElement.setAlwaysHide(t||!this.range||this.viewOptions.hidePointerLabels),this.selectionBarElement.setAlwaysHide(!this.range&&!this.viewOptions.showSelectionBar),this.leftOuterSelectionBarElement.setAlwaysHide(!this.range||!this.viewOptions.showOuterSelectionBars),this.rightOuterSelectionBarElement.setAlwaysHide(!this.range||!this.viewOptions.showOuterSelectionBars),this.fullBarTransparentClass=this.range&&this.viewOptions.showOuterSelectionBars,this.selectionBarDraggableClass=this.viewOptions.draggableRange&&!this.viewOptions.onlyBindHandles,this.ticksUnderValuesClass=this.intermediateTicks&&this.options.showTicksValues,this.sliderElementVerticalClass!==this.viewOptions.vertical&&(this.updateVerticalState(),setTimeout(()=>{this.resetSlider()})),this.sliderElementAnimateClass!==this.viewOptions.animate&&setTimeout(()=>{this.sliderElementAnimateClass=this.viewOptions.animate}),this.updateRotate()}manageEventsBindings(){this.viewOptions.disabled||this.viewOptions.readOnly?this.unbindEvents():this.bindEvents()}updateDisabledState(){this.sliderElementDisabledAttr=this.viewOptions.disabled?"disabled":null}updateAriaLabel(){this.sliderElementAriaLabel=this.viewOptions.ariaLabel||"nxg-slider"}updateVerticalState(){this.sliderElementVerticalClass=this.viewOptions.vertical;for(const t of this.getAllSliderElements())I.isNullOrUndefined(t)||t.setVertical(this.viewOptions.vertical)}updateScale(){for(const t of this.getAllSliderElements())t.setScale(this.viewOptions.scale)}updateRotate(){for(const t of this.getAllSliderElements())t.setRotate(this.viewOptions.rotate)}getAllSliderElements(){return[this.leftOuterSelectionBarElement,this.rightOuterSelectionBarElement,this.fullBarElement,this.selectionBarElement,this.minHandleElement,this.maxHandleElement,this.floorLabelElement,this.ceilLabelElement,this.minHandleLabelElement,this.maxHandleLabelElement,this.combinedLabelElement,this.ticksElement]}initHandles(){this.updateLowHandle(this.valueToPosition(this.viewLowValue)),this.range&&this.updateHighHandle(this.valueToPosition(this.viewHighValue)),this.updateSelectionBar(),this.range&&this.updateCombinedLabel(),this.updateTicksScale()}addAccessibility(){this.updateAriaAttributes(),this.minHandleElement.role="slider",this.minHandleElement.tabindex=!this.viewOptions.keyboardSupport||this.viewOptions.readOnly||this.viewOptions.disabled?"":"0",this.minHandleElement.ariaOrientation=this.viewOptions.vertical||0!==this.viewOptions.rotate?"vertical":"horizontal",I.isNullOrUndefined(this.viewOptions.ariaLabel)?I.isNullOrUndefined(this.viewOptions.ariaLabelledBy)||(this.minHandleElement.ariaLabelledBy=this.viewOptions.ariaLabelledBy):this.minHandleElement.ariaLabel=this.viewOptions.ariaLabel,this.range&&(this.maxHandleElement.role="slider",this.maxHandleElement.tabindex=!this.viewOptions.keyboardSupport||this.viewOptions.readOnly||this.viewOptions.disabled?"":"0",this.maxHandleElement.ariaOrientation=this.viewOptions.vertical||0!==this.viewOptions.rotate?"vertical":"horizontal",I.isNullOrUndefined(this.viewOptions.ariaLabelHigh)?I.isNullOrUndefined(this.viewOptions.ariaLabelledByHigh)||(this.maxHandleElement.ariaLabelledBy=this.viewOptions.ariaLabelledByHigh):this.maxHandleElement.ariaLabel=this.viewOptions.ariaLabelHigh)}updateAriaAttributes(){this.minHandleElement.ariaValueNow=(+this.value).toString(),this.minHandleElement.ariaValueText=this.viewOptions.translate(+this.value,Sn.Low),this.minHandleElement.ariaValueMin=this.viewOptions.floor.toString(),this.minHandleElement.ariaValueMax=this.viewOptions.ceil.toString(),this.range&&(this.maxHandleElement.ariaValueNow=(+this.highValue).toString(),this.maxHandleElement.ariaValueText=this.viewOptions.translate(+this.highValue,Sn.High),this.maxHandleElement.ariaValueMin=this.viewOptions.floor.toString(),this.maxHandleElement.ariaValueMax=this.viewOptions.ceil.toString())}calculateViewDimensions(){I.isNullOrUndefined(this.viewOptions.handleDimension)?this.minHandleElement.calculateDimension():this.minHandleElement.setDimension(this.viewOptions.handleDimension);const t=this.minHandleElement.dimension;this.handleHalfDimension=t/2,I.isNullOrUndefined(this.viewOptions.barDimension)?this.fullBarElement.calculateDimension():this.fullBarElement.setDimension(this.viewOptions.barDimension),this.maxHandlePosition=this.fullBarElement.dimension-t,this.initHasRun&&(this.updateFloorLabel(),this.updateCeilLabel(),this.initHandles())}calculateViewDimensionsAndDetectChanges(){this.calculateViewDimensions(),this.isRefDestroyed()||this.changeDetectionRef.detectChanges()}isRefDestroyed(){return this.changeDetectionRef.destroyed}updateTicksScale(){if(!this.viewOptions.showTicks&&this.sliderElementWithLegendClass)return void setTimeout(()=>{this.sliderElementWithLegendClass=!1});const t=I.isNullOrUndefined(this.viewOptions.ticksArray)?this.getTicksArray():this.viewOptions.ticksArray,i=this.viewOptions.vertical?"translateY":"translateX";this.viewOptions.rightToLeft&&t.reverse();const r=I.isNullOrUndefined(this.viewOptions.tickValueStep)?I.isNullOrUndefined(this.viewOptions.tickStep)?this.viewOptions.step:this.viewOptions.tickStep:this.viewOptions.tickValueStep;let o=!1;const s=t.map(a=>{let l=this.valueToPosition(a);this.viewOptions.vertical&&(l=this.maxHandlePosition-l);const c=i+"("+Math.round(l)+"px)",u=new ZB;u.selected=this.isTickSelected(a),u.style={"-webkit-transform":c,"-moz-transform":c,"-o-transform":c,"-ms-transform":c,transform:c},u.selected&&!I.isNullOrUndefined(this.viewOptions.getSelectionBarColor)&&(u.style["background-color"]=this.getSelectionBarColor()),!u.selected&&!I.isNullOrUndefined(this.viewOptions.getTickColor)&&(u.style["background-color"]=this.getTickColor(a)),I.isNullOrUndefined(this.viewOptions.ticksTooltip)||(u.tooltip=this.viewOptions.ticksTooltip(a),u.tooltipPlacement=this.viewOptions.vertical?"right":"top"),this.viewOptions.showTicksValues&&!I.isNullOrUndefined(r)&&ke.isModuloWithinPrecisionLimit(a,r,this.viewOptions.precisionLimit)&&(u.value=this.getDisplayValue(a,Sn.TickValue),I.isNullOrUndefined(this.viewOptions.ticksValuesTooltip)||(u.valueTooltip=this.viewOptions.ticksValuesTooltip(a),u.valueTooltipPlacement=this.viewOptions.vertical?"right":"top"));let d=null;if(I.isNullOrUndefined(this.viewOptions.stepsArray))I.isNullOrUndefined(this.viewOptions.getLegend)||(d=this.viewOptions.getLegend(a));else{const p=this.viewOptions.stepsArray[a];I.isNullOrUndefined(this.viewOptions.getStepLegend)?I.isNullOrUndefined(p)||(d=p.legend):d=this.viewOptions.getStepLegend(p)}return I.isNullOrUndefined(d)||(u.legend=d,o=!0),u});if(this.sliderElementWithLegendClass!==o&&setTimeout(()=>{this.sliderElementWithLegendClass=o}),I.isNullOrUndefined(this.ticks)||this.ticks.length!==s.length)this.ticks=s,this.isRefDestroyed()||this.changeDetectionRef.detectChanges();else for(let a=0;a=this.viewLowValue)return!0}else if(this.viewOptions.showSelectionBar&&t<=this.viewLowValue)return!0}else{const i=this.viewOptions.showSelectionBarFromValue;if(this.viewLowValue>i&&t>=i&&t<=this.viewLowValue)return!0;if(this.viewLowValue=this.viewLowValue)return!0}return!!(this.range&&t>=this.viewLowValue&&t<=this.viewHighValue)}updateFloorLabel(){this.floorLabelElement.alwaysHide||(this.floorLabelElement.setValue(this.getDisplayValue(this.viewOptions.floor,Sn.Floor)),this.floorLabelElement.calculateDimension(),this.floorLabelElement.setPosition(this.viewOptions.rightToLeft?this.fullBarElement.dimension-this.floorLabelElement.dimension:0))}updateCeilLabel(){this.ceilLabelElement.alwaysHide||(this.ceilLabelElement.setValue(this.getDisplayValue(this.viewOptions.ceil,Sn.Ceil)),this.ceilLabelElement.calculateDimension(),this.ceilLabelElement.setPosition(this.viewOptions.rightToLeft?0:this.fullBarElement.dimension-this.ceilLabelElement.dimension))}updateHandles(t,i){t===x.Min?this.updateLowHandle(i):t===x.Max&&this.updateHighHandle(i),this.updateSelectionBar(),this.updateTicksScale(),this.range&&this.updateCombinedLabel()}getHandleLabelPos(t,i){const r=t===x.Min?this.minHandleLabelElement.dimension:this.maxHandleLabelElement.dimension,o=i-r/2+this.handleHalfDimension,s=this.fullBarElement.dimension-r;return this.viewOptions.boundPointerLabels?this.viewOptions.rightToLeft&&t===x.Min||!this.viewOptions.rightToLeft&&t===x.Max?Math.min(o,s):Math.min(Math.max(o,0),s):o}updateLowHandle(t){this.minHandleElement.setPosition(t),this.minHandleLabelElement.setValue(this.getDisplayValue(this.viewLowValue,Sn.Low)),this.minHandleLabelElement.setPosition(this.getHandleLabelPos(x.Min,t)),I.isNullOrUndefined(this.viewOptions.getPointerColor)||(this.minPointerStyle={backgroundColor:this.getPointerColor(x.Min)}),this.viewOptions.autoHideLimitLabels&&this.updateFloorAndCeilLabelsVisibility()}updateHighHandle(t){this.maxHandleElement.setPosition(t),this.maxHandleLabelElement.setValue(this.getDisplayValue(this.viewHighValue,Sn.High)),this.maxHandleLabelElement.setPosition(this.getHandleLabelPos(x.Max,t)),I.isNullOrUndefined(this.viewOptions.getPointerColor)||(this.maxPointerStyle={backgroundColor:this.getPointerColor(x.Max)}),this.viewOptions.autoHideLimitLabels&&this.updateFloorAndCeilLabelsVisibility()}updateFloorAndCeilLabelsVisibility(){if(this.viewOptions.hidePointerLabels)return;let t=!1,i=!1;const r=this.isLabelBelowFloorLabel(this.minHandleLabelElement),o=this.isLabelAboveCeilLabel(this.minHandleLabelElement),s=this.isLabelAboveCeilLabel(this.maxHandleLabelElement),a=this.isLabelBelowFloorLabel(this.combinedLabelElement),l=this.isLabelAboveCeilLabel(this.combinedLabelElement);if(r?(t=!0,this.floorLabelElement.hide()):(t=!1,this.floorLabelElement.show()),o?(i=!0,this.ceilLabelElement.hide()):(i=!1,this.ceilLabelElement.show()),this.range){const c=this.combinedLabelElement.isVisible()?l:s,u=this.combinedLabelElement.isVisible()?a:r;c?this.ceilLabelElement.hide():i||this.ceilLabelElement.show(),u?this.floorLabelElement.hide():t||this.floorLabelElement.show()}}isLabelBelowFloorLabel(t){const i=t.position,o=this.floorLabelElement.position;return this.viewOptions.rightToLeft?i+t.dimension>=o-2:i<=o+this.floorLabelElement.dimension+2}isLabelAboveCeilLabel(t){const i=t.position,o=this.ceilLabelElement.position;return this.viewOptions.rightToLeft?i<=o+this.ceilLabelElement.dimension+2:i+t.dimension>=o-2}updateSelectionBar(){let t=0,i=0;const r=this.viewOptions.rightToLeft?!this.viewOptions.showSelectionBarEnd:this.viewOptions.showSelectionBarEnd,o=this.viewOptions.rightToLeft?this.maxHandleElement.position+this.handleHalfDimension:this.minHandleElement.position+this.handleHalfDimension;if(this.range)i=Math.abs(this.maxHandleElement.position-this.minHandleElement.position),t=o;else if(I.isNullOrUndefined(this.viewOptions.showSelectionBarFromValue))r?(i=Math.ceil(Math.abs(this.maxHandlePosition-this.minHandleElement.position)+this.handleHalfDimension),t=Math.floor(this.minHandleElement.position+this.handleHalfDimension)):(i=this.minHandleElement.position+this.handleHalfDimension,t=0);else{const s=this.viewOptions.showSelectionBarFromValue,a=this.valueToPosition(s);(this.viewOptions.rightToLeft?this.viewLowValue<=s:this.viewLowValue>s)?(i=this.minHandleElement.position-a,t=a+this.handleHalfDimension):(i=a-this.minHandleElement.position,t=this.minHandleElement.position+this.handleHalfDimension)}if(this.selectionBarElement.setDimension(i),this.selectionBarElement.setPosition(t),this.range&&this.viewOptions.showOuterSelectionBars&&(this.viewOptions.rightToLeft?(this.rightOuterSelectionBarElement.setDimension(t),this.rightOuterSelectionBarElement.setPosition(0),this.fullBarElement.calculateDimension(),this.leftOuterSelectionBarElement.setDimension(this.fullBarElement.dimension-(t+i)),this.leftOuterSelectionBarElement.setPosition(t+i)):(this.leftOuterSelectionBarElement.setDimension(t),this.leftOuterSelectionBarElement.setPosition(0),this.fullBarElement.calculateDimension(),this.rightOuterSelectionBarElement.setDimension(this.fullBarElement.dimension-(t+i)),this.rightOuterSelectionBarElement.setPosition(t+i))),I.isNullOrUndefined(this.viewOptions.getSelectionBarColor)){if(!I.isNullOrUndefined(this.viewOptions.selectionBarGradient)){const s=I.isNullOrUndefined(this.viewOptions.showSelectionBarFromValue)?0:this.valueToPosition(this.viewOptions.showSelectionBarFromValue),a=s-t>0&&!r||s-t<=0&&r;this.barStyle={backgroundImage:"linear-gradient(to "+(this.viewOptions.vertical?a?"bottom":"top":a?"left":"right")+", "+this.viewOptions.selectionBarGradient.from+" 0%,"+this.viewOptions.selectionBarGradient.to+" 100%)"},this.viewOptions.vertical?(this.barStyle.backgroundPosition="center "+(s+i+t+(a?-this.handleHalfDimension:0))+"px",this.barStyle.backgroundSize="100% "+(this.fullBarElement.dimension-this.handleHalfDimension)+"px"):(this.barStyle.backgroundPosition=s-t+(a?this.handleHalfDimension:0)+"px center",this.barStyle.backgroundSize=this.fullBarElement.dimension-this.handleHalfDimension+"px 100%")}}else{const s=this.getSelectionBarColor();this.barStyle={backgroundColor:s}}}getSelectionBarColor(){return this.range?this.viewOptions.getSelectionBarColor(this.value,this.highValue):this.viewOptions.getSelectionBarColor(this.value)}getPointerColor(t){return this.viewOptions.getPointerColor(t===x.Max?this.highValue:this.value,t)}getTickColor(t){return this.viewOptions.getTickColor(t)}updateCombinedLabel(){let t=null;if(t=this.viewOptions.rightToLeft?this.minHandleLabelElement.position-this.minHandleLabelElement.dimension-10<=this.maxHandleLabelElement.position:this.minHandleLabelElement.position+this.minHandleLabelElement.dimension+10>=this.maxHandleLabelElement.position,t){const i=this.getDisplayValue(this.viewLowValue,Sn.Low),r=this.getDisplayValue(this.viewHighValue,Sn.High),o=this.viewOptions.rightToLeft?this.viewOptions.combineLabels(r,i):this.viewOptions.combineLabels(i,r);this.combinedLabelElement.setValue(o);const s=this.viewOptions.boundPointerLabels?Math.min(Math.max(this.selectionBarElement.position+this.selectionBarElement.dimension/2-this.combinedLabelElement.dimension/2,0),this.fullBarElement.dimension-this.combinedLabelElement.dimension):this.selectionBarElement.position+this.selectionBarElement.dimension/2-this.combinedLabelElement.dimension/2;this.combinedLabelElement.setPosition(s),this.minHandleLabelElement.hide(),this.maxHandleLabelElement.hide(),this.combinedLabelElement.show()}else this.updateHighHandle(this.valueToPosition(this.viewHighValue)),this.updateLowHandle(this.valueToPosition(this.viewLowValue)),this.maxHandleLabelElement.show(),this.minHandleLabelElement.show(),this.combinedLabelElement.hide();this.viewOptions.autoHideLimitLabels&&this.updateFloorAndCeilLabelsVisibility()}getDisplayValue(t,i){return!I.isNullOrUndefined(this.viewOptions.stepsArray)&&!this.viewOptions.bindIndexForStepsArray&&(t=this.getStepValue(t)),this.viewOptions.translate(t,i)}roundStep(t,i){const r=I.isNullOrUndefined(i)?this.viewOptions.step:i;let o=ke.roundToPrecisionLimit((t-this.viewOptions.floor)/r,this.viewOptions.precisionLimit);return o=Math.round(o)*r,ke.roundToPrecisionLimit(this.viewOptions.floor+o,this.viewOptions.precisionLimit)}valueToPosition(t){let i=I.linearValueToPosition;I.isNullOrUndefined(this.viewOptions.customValueToPosition)?this.viewOptions.logScale&&(i=I.logValueToPosition):i=this.viewOptions.customValueToPosition;let r=i(t=ke.clampToRange(t,this.viewOptions.floor,this.viewOptions.ceil),this.viewOptions.floor,this.viewOptions.ceil);return I.isNullOrUndefined(r)&&(r=0),this.viewOptions.rightToLeft&&(r=1-r),r*this.maxHandlePosition}positionToValue(t){let i=t/this.maxHandlePosition;this.viewOptions.rightToLeft&&(i=1-i);let r=I.linearPositionToValue;I.isNullOrUndefined(this.viewOptions.customPositionToValue)?this.viewOptions.logScale&&(r=I.logPositionToValue):r=this.viewOptions.customPositionToValue;const o=r(i,this.viewOptions.floor,this.viewOptions.ceil);return I.isNullOrUndefined(o)?0:o}getEventXY(t,i){if(t instanceof MouseEvent)return this.viewOptions.vertical||0!==this.viewOptions.rotate?t.clientY:t.clientX;let r=0;const o=t.touches;if(!I.isNullOrUndefined(i))for(let s=0;so?x.Max:this.viewOptions.rightToLeft?i>this.minHandleElement.position?x.Min:x.Max:ithis.onBarStart(null,t,i,!0,!0,!0)),this.viewOptions.draggableRangeOnly?(this.minHandleElement.on("mousedown",i=>this.onBarStart(x.Min,t,i,!0,!0)),this.maxHandleElement.on("mousedown",i=>this.onBarStart(x.Max,t,i,!0,!0))):(this.minHandleElement.on("mousedown",i=>this.onStart(x.Min,i,!0,!0)),this.range&&this.maxHandleElement.on("mousedown",i=>this.onStart(x.Max,i,!0,!0)),this.viewOptions.onlyBindHandles||(this.fullBarElement.on("mousedown",i=>this.onStart(null,i,!0,!0,!0)),this.ticksElement.on("mousedown",i=>this.onStart(null,i,!0,!0,!0,!0)))),this.viewOptions.onlyBindHandles||this.selectionBarElement.onPassive("touchstart",i=>this.onBarStart(null,t,i,!0,!0,!0)),this.viewOptions.draggableRangeOnly?(this.minHandleElement.onPassive("touchstart",i=>this.onBarStart(x.Min,t,i,!0,!0)),this.maxHandleElement.onPassive("touchstart",i=>this.onBarStart(x.Max,t,i,!0,!0))):(this.minHandleElement.onPassive("touchstart",i=>this.onStart(x.Min,i,!0,!0)),this.range&&this.maxHandleElement.onPassive("touchstart",i=>this.onStart(x.Max,i,!0,!0)),this.viewOptions.onlyBindHandles||(this.fullBarElement.onPassive("touchstart",i=>this.onStart(null,i,!0,!0,!0)),this.ticksElement.onPassive("touchstart",i=>this.onStart(null,i,!1,!1,!0,!0)))),this.viewOptions.keyboardSupport&&(this.minHandleElement.on("focus",()=>this.onPointerFocus(x.Min)),this.range&&this.maxHandleElement.on("focus",()=>this.onPointerFocus(x.Max)))}getOptionsInfluencingEventBindings(t){return[t.disabled,t.readOnly,t.draggableRange,t.draggableRangeOnly,t.onlyBindHandles,t.keyboardSupport]}unbindEvents(){this.unsubscribeOnMove(),this.unsubscribeOnEnd();for(const t of this.getAllSliderElements())I.isNullOrUndefined(t)||t.off()}onBarStart(t,i,r,o,s,a,l){i?this.onDragStart(t,r,o,s):this.onStart(t,r,o,s,a,l)}onStart(t,i,r,o,s,a){i.stopPropagation(),!ui.isTouchEvent(i)&&!vI&&i.preventDefault(),this.moving=!1,this.calculateViewDimensions(),I.isNullOrUndefined(t)&&(t=this.getNearestHandle(i)),this.currentTrackingPointer=t;const l=this.getPointerElement(t);if(l.active=!0,this.viewOptions.keyboardSupport&&l.focus(),r){this.unsubscribeOnMove();const c=u=>this.dragging.active?this.onDragMove(u):this.onMove(u);this.onMoveEventListener=ui.isTouchEvent(i)?this.eventListenerHelper.attachPassiveEventListener(document,"touchmove",c):this.eventListenerHelper.attachEventListener(document,"mousemove",c)}if(o){this.unsubscribeOnEnd();const c=u=>this.onEnd(u);this.onEndEventListener=ui.isTouchEvent(i)?this.eventListenerHelper.attachPassiveEventListener(document,"touchend",c):this.eventListenerHelper.attachEventListener(document,"mouseup",c)}this.userChangeStart.emit(this.getChangeContext()),ui.isTouchEvent(i)&&!I.isNullOrUndefined(i.changedTouches)&&I.isNullOrUndefined(this.touchId)&&(this.touchId=i.changedTouches[0].identifier),s&&this.onMove(i,!0),a&&this.onEnd(i)}onMove(t,i){let r=null;if(ui.isTouchEvent(t)){const c=t.changedTouches;for(let u=0;u=this.maxHandlePosition?s=this.viewOptions.rightToLeft?this.viewOptions.floor:this.viewOptions.ceil:(s=this.positionToValue(o),s=i&&!I.isNullOrUndefined(this.viewOptions.tickStep)?this.roundStep(s,this.viewOptions.tickStep):this.roundStep(s)),this.positionTrackingHandle(s)}onEnd(t){ui.isTouchEvent(t)&&t.changedTouches[0].identifier!==this.touchId||(this.moving=!1,this.viewOptions.animate&&(this.sliderElementAnimateClass=!0),this.touchId=null,this.viewOptions.keyboardSupport||(this.minHandleElement.active=!1,this.maxHandleElement.active=!1,this.currentTrackingPointer=null),this.dragging.active=!1,this.unsubscribeOnMove(),this.unsubscribeOnEnd(),this.userChangeEnd.emit(this.getChangeContext()))}onPointerFocus(t){const i=this.getPointerElement(t);i.on("blur",()=>this.onPointerBlur(i)),i.on("keydown",r=>this.onKeyboardEvent(r)),i.on("keyup",()=>this.onKeyUp()),i.active=!0,this.currentTrackingPointer=t,this.currentFocusPointer=t,this.firstKeyDown=!0}onKeyUp(){this.firstKeyDown=!0,this.userChangeEnd.emit(this.getChangeContext())}onPointerBlur(t){t.off("blur"),t.off("keydown"),t.off("keyup"),t.active=!1,I.isNullOrUndefined(this.touchId)&&(this.currentTrackingPointer=null,this.currentFocusPointer=null)}getKeyActions(t){const i=this.viewOptions.ceil-this.viewOptions.floor;let r=t+this.viewOptions.step,o=t-this.viewOptions.step,s=t+i/10,a=t-i/10;this.viewOptions.reversedControls&&(r=t-this.viewOptions.step,o=t+this.viewOptions.step,s=t-i/10,a=t+i/10);const l={UP:r,DOWN:o,LEFT:o,RIGHT:r,PAGEUP:s,PAGEDOWN:a,HOME:this.viewOptions.reversedControls?this.viewOptions.ceil:this.viewOptions.floor,END:this.viewOptions.reversedControls?this.viewOptions.floor:this.viewOptions.ceil};return this.viewOptions.rightToLeft&&(l.LEFT=r,l.RIGHT=o,(this.viewOptions.vertical||0!==this.viewOptions.rotate)&&(l.UP=o,l.DOWN=r)),l}onKeyboardEvent(t){const i=this.getCurrentTrackingValue(),r=I.isNullOrUndefined(t.keyCode)?t.which:t.keyCode,l=this.getKeyActions(i)[{38:"UP",40:"DOWN",37:"LEFT",39:"RIGHT",33:"PAGEUP",34:"PAGEDOWN",36:"HOME",35:"END"}[r]];if(I.isNullOrUndefined(l)||I.isNullOrUndefined(this.currentTrackingPointer))return;t.preventDefault(),this.firstKeyDown&&(this.firstKeyDown=!1,this.userChangeStart.emit(this.getChangeContext()));const c=ke.clampToRange(l,this.viewOptions.floor,this.viewOptions.ceil),u=this.roundStep(c);if(this.viewOptions.draggableRangeOnly){const d=this.viewHighValue-this.viewLowValue;let p,h;this.currentTrackingPointer===x.Min?(p=u,h=u+d,h>this.viewOptions.ceil&&(h=this.viewOptions.ceil,p=h-d)):this.currentTrackingPointer===x.Max&&(h=u,p=u-d,p=this.maxHandlePosition-r;let u,d;if(i<=o){if(0===s.position)return;u=this.getMinValue(i,!0,!1),d=this.getMaxValue(i,!0,!1)}else if(c){if(a.position===this.maxHandlePosition)return;d=this.getMaxValue(i,!0,!0),u=this.getMinValue(i,!0,!0)}else u=this.getMinValue(i,!1,!1),d=this.getMaxValue(i,!1,!1);this.positionTrackingBar(u,d)}positionTrackingBar(t,i){!I.isNullOrUndefined(this.viewOptions.minLimit)&&tthis.viewOptions.maxLimit&&(t=ke.roundToPrecisionLimit((i=this.viewOptions.maxLimit)-this.dragging.difference,this.viewOptions.precisionLimit)),this.viewLowValue=t,this.viewHighValue=i,this.applyViewChange(),this.updateHandles(x.Min,this.valueToPosition(t)),this.updateHandles(x.Max,this.valueToPosition(i))}positionTrackingHandle(t){t=this.applyMinMaxLimit(t),this.range&&(this.viewOptions.pushRange?t=this.applyPushRange(t):(this.viewOptions.noSwitching&&(this.currentTrackingPointer===x.Min&&t>this.viewHighValue?t=this.applyMinMaxRange(this.viewHighValue):this.currentTrackingPointer===x.Max&&tthis.viewHighValue?(this.viewLowValue=this.viewHighValue,this.applyViewChange(),this.updateHandles(x.Min,this.maxHandleElement.position),this.updateAriaAttributes(),this.currentTrackingPointer=x.Max,this.minHandleElement.active=!1,this.maxHandleElement.active=!0,this.viewOptions.keyboardSupport&&this.maxHandleElement.focus()):this.currentTrackingPointer===x.Max&&tthis.viewOptions.maxLimit?this.viewOptions.maxLimit:t}applyMinMaxRange(t){const r=Math.abs(t-(this.currentTrackingPointer===x.Min?this.viewHighValue:this.viewLowValue));if(!I.isNullOrUndefined(this.viewOptions.minRange)&&rthis.viewOptions.maxRange){if(this.currentTrackingPointer===x.Min)return ke.roundToPrecisionLimit(this.viewHighValue-this.viewOptions.maxRange,this.viewOptions.precisionLimit);if(this.currentTrackingPointer===x.Max)return ke.roundToPrecisionLimit(this.viewLowValue+this.viewOptions.maxRange,this.viewOptions.precisionLimit)}return t}applyPushRange(t){const i=this.currentTrackingPointer===x.Min?this.viewHighValue-t:t-this.viewLowValue,r=I.isNullOrUndefined(this.viewOptions.minRange)?this.viewOptions.step:this.viewOptions.minRange,o=this.viewOptions.maxRange;return io&&(this.currentTrackingPointer===x.Min?(this.viewHighValue=ke.roundToPrecisionLimit(t+o,this.viewOptions.precisionLimit),this.applyViewChange(),this.updateHandles(x.Max,this.valueToPosition(this.viewHighValue))):this.currentTrackingPointer===x.Max&&(this.viewLowValue=ke.roundToPrecisionLimit(t-o,this.viewOptions.precisionLimit),this.applyViewChange(),this.updateHandles(x.Min,this.valueToPosition(this.viewLowValue))),this.updateAriaAttributes()),t}getChangeContext(){const t=new qB;return t.pointerType=this.currentTrackingPointer,t.value=+this.value,this.range&&(t.highValue=+this.highValue),t}static \u0275fac=function(i){return new(i||e)(M(rn),M(dt),M(Vi),M(he),M(EI,8))};static \u0275cmp=Kt({type:e,selectors:[["ngx-slider"]],contentQueries:function(i,r,o){if(1&i&&uw(o,TB,5),2&i){let s;Mt(s=St())&&(r.tooltipTemplate=s.first)}},viewQuery:function(i,r){if(1&i&&(Ft(OB,5,di),Ft(NB,5,di),Ft(AB,5,di),Ft(xB,5,di),Ft(RB,5,_p),Ft(LB,5,_p),Ft(PB,5,ro),Ft(kB,5,ro),Ft(FB,5,ro),Ft(VB,5,ro),Ft(HB,5,ro),Ft(BB,5,di)),2&i){let o;Mt(o=St())&&(r.leftOuterSelectionBarElement=o.first),Mt(o=St())&&(r.rightOuterSelectionBarElement=o.first),Mt(o=St())&&(r.fullBarElement=o.first),Mt(o=St())&&(r.selectionBarElement=o.first),Mt(o=St())&&(r.minHandleElement=o.first),Mt(o=St())&&(r.maxHandleElement=o.first),Mt(o=St())&&(r.floorLabelElement=o.first),Mt(o=St())&&(r.ceilLabelElement=o.first),Mt(o=St())&&(r.minHandleLabelElement=o.first),Mt(o=St())&&(r.maxHandleLabelElement=o.first),Mt(o=St())&&(r.combinedLabelElement=o.first),Mt(o=St())&&(r.ticksElement=o.first)}},hostVars:10,hostBindings:function(i,r){1&i&&W("resize",function(s){return r.onResize(s)},0,Wa),2&i&&(pt("disabled",r.sliderElementDisabledAttr)("aria-label",r.sliderElementAriaLabel),Vn("ngx-slider",r.sliderElementNgxSliderClass)("vertical",r.sliderElementVerticalClass)("animate",r.sliderElementAnimateClass)("with-legend",r.sliderElementWithLegendClass))},inputs:{value:"value",highValue:"highValue",options:"options",manualRefresh:"manualRefresh",triggerFocus:"triggerFocus"},outputs:{valueChange:"valueChange",highValueChange:"highValueChange",userChangeStart:"userChangeStart",userChange:"userChange",userChangeEnd:"userChangeEnd"},features:[Me([YB]),gn],decls:29,vars:13,consts:[["leftOuterSelectionBar",""],["rightOuterSelectionBar",""],["fullBar",""],["selectionBar",""],["minHandle",""],["maxHandle",""],["floorLabel",""],["ceilLabel",""],["minHandleLabel",""],["maxHandleLabel",""],["combinedLabel",""],["ticksElement",""],["ngxSliderElement","",1,"ngx-slider-span","ngx-slider-bar-wrapper","ngx-slider-left-out-selection"],[1,"ngx-slider-span","ngx-slider-bar"],["ngxSliderElement","",1,"ngx-slider-span","ngx-slider-bar-wrapper","ngx-slider-right-out-selection"],["ngxSliderElement","",1,"ngx-slider-span","ngx-slider-bar-wrapper","ngx-slider-full-bar"],["ngxSliderElement","",1,"ngx-slider-span","ngx-slider-bar-wrapper","ngx-slider-selection-bar"],[1,"ngx-slider-span","ngx-slider-bar","ngx-slider-selection",3,"ngStyle"],["ngxSliderHandle","",1,"ngx-slider-span","ngx-slider-pointer","ngx-slider-pointer-min",3,"ngStyle"],["ngxSliderHandle","",1,"ngx-slider-span","ngx-slider-pointer","ngx-slider-pointer-max",3,"ngStyle"],["ngxSliderLabel","",1,"ngx-slider-span","ngx-slider-bubble","ngx-slider-limit","ngx-slider-floor"],["ngxSliderLabel","",1,"ngx-slider-span","ngx-slider-bubble","ngx-slider-limit","ngx-slider-ceil"],["ngxSliderLabel","",1,"ngx-slider-span","ngx-slider-bubble","ngx-slider-model-value"],["ngxSliderLabel","",1,"ngx-slider-span","ngx-slider-bubble","ngx-slider-model-high"],["ngxSliderLabel","",1,"ngx-slider-span","ngx-slider-bubble","ngx-slider-combined"],["ngxSliderElement","",1,"ngx-slider-ticks",3,"hidden"],["class","ngx-slider-tick",3,"ngClass","ngStyle",4,"ngFor","ngForOf"],[1,"ngx-slider-tick",3,"ngClass","ngStyle"],[3,"template","tooltip","placement"],["class","ngx-slider-span ngx-slider-tick-value",3,"template","tooltip","placement","content",4,"ngIf"],["class","ngx-slider-span ngx-slider-tick-legend",3,"innerText",4,"ngIf"],["class","ngx-slider-span ngx-slider-tick-legend",3,"innerHTML",4,"ngIf"],[1,"ngx-slider-span","ngx-slider-tick-value",3,"template","tooltip","placement","content"],[1,"ngx-slider-span","ngx-slider-tick-legend",3,"innerText"],[1,"ngx-slider-span","ngx-slider-tick-legend",3,"innerHTML"]],template:function(i,r){1&i&&(C(0,"span",12,0),N(2,"span",13),y(),C(3,"span",14,1),N(5,"span",13),y(),C(6,"span",15,2),N(8,"span",13),y(),C(9,"span",16,3),N(11,"span",17),y(),N(12,"span",18,4)(14,"span",19,5)(16,"span",20,6)(18,"span",21,7)(20,"span",22,8)(22,"span",23,9)(24,"span",24,10),C(26,"span",25,11),H(28,GB,5,10,"span",26),y()),2&i&&(f(6),Vn("ngx-slider-transparent",r.fullBarTransparentClass),f(3),Vn("ngx-slider-draggable",r.selectionBarDraggableClass),f(2),m("ngStyle",r.barStyle),f(),m("ngStyle",r.minPointerStyle),f(2),Dl("display",r.range?"inherit":"none"),m("ngStyle",r.maxPointerStyle),f(12),Vn("ngx-slider-ticks-values-under",r.ticksUnderValuesClass),m("hidden",!r.showTicks),f(2),m("ngForOf",r.ticks))},dependencies:[Jr,Bi,$n,vD,di,_p,ro,WB],styles:['.ngx-slider{display:inline-block;position:relative;height:4px;width:100%;margin:35px 0 15px;vertical-align:middle;-webkit-user-select:none;user-select:none;touch-action:pan-y} .ngx-slider.with-legend{margin-bottom:40px} .ngx-slider[disabled]{cursor:not-allowed} .ngx-slider[disabled] .ngx-slider-pointer{cursor:not-allowed;background-color:#d8e0f3} .ngx-slider[disabled] .ngx-slider-draggable{cursor:not-allowed} .ngx-slider[disabled] .ngx-slider-selection{background:#8b91a2} .ngx-slider[disabled] .ngx-slider-tick{cursor:not-allowed} .ngx-slider[disabled] .ngx-slider-tick.ngx-slider-selected{background:#8b91a2} .ngx-slider .ngx-slider-span{white-space:nowrap;position:absolute;display:inline-block} .ngx-slider .ngx-slider-base{width:100%;height:100%;padding:0} .ngx-slider .ngx-slider-bar-wrapper{left:0;box-sizing:border-box;margin-top:-16px;padding-top:16px;width:100%;height:32px;z-index:1} .ngx-slider .ngx-slider-draggable{cursor:move} .ngx-slider .ngx-slider-bar{left:0;width:100%;height:4px;z-index:1;background:#d8e0f3;-webkit-border-radius:2px;-moz-border-radius:2px;border-radius:2px} .ngx-slider .ngx-slider-bar-wrapper.ngx-slider-transparent .ngx-slider-bar{background:transparent} .ngx-slider .ngx-slider-bar-wrapper.ngx-slider-left-out-selection .ngx-slider-bar{background:#df002d} .ngx-slider .ngx-slider-bar-wrapper.ngx-slider-right-out-selection .ngx-slider-bar{background:#03a688} .ngx-slider .ngx-slider-selection{z-index:2;background:#0db9f0;-webkit-border-radius:2px;-moz-border-radius:2px;border-radius:2px} .ngx-slider .ngx-slider-pointer{cursor:pointer;width:32px;height:32px;top:-14px;background-color:#0db9f0;z-index:3;-webkit-border-radius:16px;-moz-border-radius:16px;border-radius:16px} .ngx-slider .ngx-slider-pointer:after{content:"";width:8px;height:8px;position:absolute;top:12px;left:12px;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px;background:#fff} .ngx-slider .ngx-slider-pointer:hover:after{background-color:#fff} .ngx-slider .ngx-slider-pointer.ngx-slider-active{z-index:4} .ngx-slider .ngx-slider-pointer.ngx-slider-active:after{background-color:#451aff} .ngx-slider .ngx-slider-bubble{cursor:default;bottom:16px;padding:1px 3px;color:#55637d;font-size:16px} .ngx-slider .ngx-slider-bubble.ngx-slider-limit{color:#55637d} .ngx-slider .ngx-slider-ticks{box-sizing:border-box;width:100%;height:0;position:absolute;left:0;top:-3px;margin:0;z-index:1;list-style:none} .ngx-slider .ngx-slider-ticks-values-under .ngx-slider-tick-value{top:auto;bottom:-36px} .ngx-slider .ngx-slider-tick{text-align:center;cursor:pointer;width:10px;height:10px;background:#d8e0f3;border-radius:50%;position:absolute;top:0;left:0;margin-left:11px} .ngx-slider .ngx-slider-tick.ngx-slider-selected{background:#0db9f0} .ngx-slider .ngx-slider-tick-value{position:absolute;top:-34px;transform:translate(-50%)} .ngx-slider .ngx-slider-tick-legend{position:absolute;top:24px;transform:translate(-50%);max-width:50px;white-space:normal} .ngx-slider.vertical{position:relative;width:4px;height:100%;margin:0 20px;padding:0;vertical-align:baseline;touch-action:pan-x} .ngx-slider.vertical .ngx-slider-base{width:100%;height:100%;padding:0} .ngx-slider.vertical .ngx-slider-bar-wrapper{top:auto;left:0;margin:0 0 0 -16px;padding:0 0 0 16px;height:100%;width:32px} .ngx-slider.vertical .ngx-slider-bar{bottom:0;left:auto;width:4px;height:100%} .ngx-slider.vertical .ngx-slider-pointer{left:-14px!important;top:auto;bottom:0} .ngx-slider.vertical .ngx-slider-bubble{left:16px!important;bottom:0} .ngx-slider.vertical .ngx-slider-ticks{height:100%;width:0;left:-3px;top:0;z-index:1} .ngx-slider.vertical .ngx-slider-tick{vertical-align:middle;margin-left:auto;margin-top:11px} .ngx-slider.vertical .ngx-slider-tick-value{left:24px;top:auto;transform:translateY(-28%)} .ngx-slider.vertical .ngx-slider-tick-legend{top:auto;right:24px;transform:translateY(-28%);max-width:none;white-space:nowrap} .ngx-slider.vertical .ngx-slider-ticks-values-under .ngx-slider-tick-value{bottom:auto;left:auto;right:24px} .ngx-slider *{transition:none} .ngx-slider.animate .ngx-slider-bar-wrapper{transition:all linear .3s} .ngx-slider.animate .ngx-slider-selection{transition:background-color linear .3s} .ngx-slider.animate .ngx-slider-pointer{transition:all linear .3s} .ngx-slider.animate .ngx-slider-pointer:after{transition:all linear .3s} .ngx-slider.animate .ngx-slider-bubble{transition:all linear .3s} .ngx-slider.animate .ngx-slider-bubble.ngx-slider-limit{transition:opacity linear .3s} .ngx-slider.animate .ngx-slider-bubble.ngx-slider-combined{transition:opacity linear .3s} .ngx-slider.animate .ngx-slider-tick{transition:background-color linear .3s}']})}return e})(),QB=(()=>{class e{static \u0275fac=function(i){return new(i||e)};static \u0275mod=Yn({type:e});static \u0275inj=On({imports:[wD]})}return e})();class TI{constructor(){this.riskHotspotsSettings=null,this.coverageInfoSettings=null}}class KB{constructor(){this.showLineCoverage=!0,this.showBranchCoverage=!0,this.showMethodCoverage=!0,this.visibleMetrics=[],this.groupingMaximum=0,this.grouping=0,this.historyComparisionDate="",this.historyComparisionType="",this.filter="",this.lineCoverageMin=0,this.lineCoverageMax=100,this.branchCoverageMin=0,this.branchCoverageMax=100,this.methodCoverageMin=0,this.methodCoverageMax=100,this.sortBy="name",this.sortOrder="asc",this.collapseStates=[]}}class JB{constructor(n){this.et="",this.et=n.et,this.cl=n.cl,this.ucl=n.ucl,this.cal=n.cal,this.tl=n.tl,this.lcq=n.lcq,this.cb=n.cb,this.tb=n.tb,this.bcq=n.bcq,this.cm=n.cm,this.tm=n.tm,this.mcq=n.mcq}get coverageRatioText(){return 0===this.tl?"-":this.cl+"/"+this.cal}get branchCoverageRatioText(){return 0===this.tb?"-":this.cb+"/"+this.tb}get methodCoverageRatioText(){return 0===this.tm?"-":this.cm+"/"+this.tm}}class Wt{static roundNumber(n){return Math.floor(n*Math.pow(10,Wt.maximumDecimalPlacesForCoverageQuotas))/Math.pow(10,Wt.maximumDecimalPlacesForCoverageQuotas)}static getNthOrLastIndexOf(n,t,i){let r=0,o=-1,s=-1;for(;r{this.historicCoverages.push(new JB(i))}),this.metrics=n.metrics}get coverage(){return 0===this.coverableLines?NaN:Wt.roundNumber(100*this.coveredLines/this.coverableLines)}visible(n){if(""!==n.filter&&-1===this.name.toLowerCase().indexOf(n.filter.toLowerCase()))return!1;let t=this.coverage,i=t;if(t=Number.isNaN(t)?0:t,i=Number.isNaN(i)?100:i,n.lineCoverageMin>t||n.lineCoverageMaxr||n.branchCoverageMaxs||n.methodCoverageMax=this.currentHistoricCoverage.lcq)return!1}else if("branchCoverageIncreaseOnly"===n.historyComparisionType){let l=this.branchCoverage;if(isNaN(l)||l<=this.currentHistoricCoverage.bcq)return!1}else if("branchCoverageDecreaseOnly"===n.historyComparisionType){let l=this.branchCoverage;if(isNaN(l)||l>=this.currentHistoricCoverage.bcq)return!1}else if("methodCoverageIncreaseOnly"===n.historyComparisionType){let l=this.methodCoverage;if(isNaN(l)||l<=this.currentHistoricCoverage.mcq)return!1}else if("methodCoverageDecreaseOnly"===n.historyComparisionType){let l=this.methodCoverage;if(isNaN(l)||l>=this.currentHistoricCoverage.mcq)return!1}return!0}updateCurrentHistoricCoverage(n){if(this.currentHistoricCoverage=null,""!==n)for(let t=0;t-1&&null===t}visible(n){if(""!==n.filter&&this.name.toLowerCase().indexOf(n.filter.toLowerCase())>-1)return!0;for(let t=0;t{class e{get nativeWindow(){return function XB(){return window}()}static#e=this.\u0275fac=function(i){return new(i||e)};static#t=this.\u0275prov=ie({token:e,factory:e.\u0275fac})}return e})(),ej=(()=>{class e{constructor(){this.translations={}}static#e=this.\u0275fac=function(i){return new(i||e)};static#t=this.\u0275cmp=Kt({type:e,selectors:[["pro-button"]],inputs:{translations:"translations"},decls:3,vars:1,consts:[["href","https://reportgenerator.io/pro","target","_blank",1,"pro-button","pro-button-tiny",3,"title"]],template:function(i,r){1&i&&(b(0,"\xa0"),C(1,"a",0),b(2,"PRO"),y()),2&i&&(f(),Hn("title",r.translations.methodCoverageProVersion))},encapsulation:2})}return e})();function tj(e,n){if(1&e){const t=Ie();C(0,"div",3)(1,"label")(2,"input",4),st("ngModelChange",function(r){G(t);const o=v();return Ne(o.showBranchCoverage,r)||(o.showBranchCoverage=r),q(r)}),W("change",function(){G(t);const r=v();return q(r.showBranchCoverageChange.emit(r.showBranchCoverage))}),y(),b(3),y()()}if(2&e){const t=v();f(2),tt("ngModel",t.showBranchCoverage),f(),K(" ",t.translations.branchCoverage,"")}}function nj(e,n){1&e&&N(0,"pro-button",9),2&e&&m("translations",v().translations)}function ij(e,n){1&e&&N(0,"pro-button",9),2&e&&m("translations",v(2).translations)}function rj(e,n){1&e&&(C(0,"a",13),N(1,"i",14),y()),2&e&&m("href",v().$implicit.explanationUrl,Xn)}function oj(e,n){if(1&e){const t=Ie();C(0,"div",3)(1,"label")(2,"input",11),W("change",function(){const r=G(t).$implicit;return q(v(2).toggleMetric(r))}),y(),b(3),y(),b(4,"\xa0"),H(5,rj,2,1,"a",12),y()}if(2&e){const t=n.$implicit,i=v(2);f(2),m("checked",i.isMetricSelected(t))("disabled",!i.methodCoverageAvailable),f(),K(" ",t.name,""),f(2),m("ngIf",t.explanationUrl)}}function sj(e,n){if(1&e&&(te(0),N(1,"br")(2,"br"),C(3,"b"),b(4),y(),H(5,ij,1,1,"pro-button",7)(6,oj,6,4,"div",10),ne()),2&e){const t=v();f(4),A(t.translations.metrics),f(),m("ngIf",!t.methodCoverageAvailable),f(),m("ngForOf",t.metrics)}}let aj=(()=>{class e{constructor(){this.visible=!1,this.visibleChange=new Ee,this.translations={},this.branchCoverageAvailable=!1,this.methodCoverageAvailable=!1,this.metrics=[],this.showLineCoverage=!1,this.showLineCoverageChange=new Ee,this.showBranchCoverage=!1,this.showBranchCoverageChange=new Ee,this.showMethodCoverage=!1,this.showMethodCoverageChange=new Ee,this.visibleMetrics=[],this.visibleMetricsChange=new Ee}isMetricSelected(t){return void 0!==this.visibleMetrics.find(i=>i.name===t.name)}toggleMetric(t){let i=this.visibleMetrics.find(r=>r.name===t.name);i?this.visibleMetrics.splice(this.visibleMetrics.indexOf(i),1):this.visibleMetrics.push(t),this.visibleMetrics=[...this.visibleMetrics],this.visibleMetricsChange.emit(this.visibleMetrics)}close(){this.visible=!1,this.visibleChange.emit(this.visible)}cancelEvent(t){t.stopPropagation()}static#e=this.\u0275fac=function(i){return new(i||e)};static#t=this.\u0275cmp=Kt({type:e,selectors:[["popup"]],inputs:{visible:"visible",translations:"translations",branchCoverageAvailable:"branchCoverageAvailable",methodCoverageAvailable:"methodCoverageAvailable",metrics:"metrics",showLineCoverage:"showLineCoverage",showBranchCoverage:"showBranchCoverage",showMethodCoverage:"showMethodCoverage",visibleMetrics:"visibleMetrics"},outputs:{visibleChange:"visibleChange",showLineCoverageChange:"showLineCoverageChange",showBranchCoverageChange:"showBranchCoverageChange",showMethodCoverageChange:"showMethodCoverageChange",visibleMetricsChange:"visibleMetricsChange"},decls:17,vars:9,consts:[[1,"popup-container",3,"click"],[1,"popup",3,"click"],[1,"close",3,"click"],[1,"mt-1"],["type","checkbox",3,"ngModelChange","change","ngModel"],["class","mt-1",4,"ngIf"],["type","checkbox",3,"ngModelChange","change","ngModel","disabled"],[3,"translations",4,"ngIf"],[4,"ngIf"],[3,"translations"],["class","mt-1",4,"ngFor","ngForOf"],["type","checkbox",3,"change","checked","disabled"],["target","_blank",3,"href",4,"ngIf"],["target","_blank",3,"href"],[1,"icon-info-circled"]],template:function(i,r){1&i&&(C(0,"div",0),W("click",function(){return r.close()}),C(1,"div",1),W("click",function(s){return r.cancelEvent(s)}),C(2,"div",2),W("click",function(){return r.close()}),b(3,"X"),y(),C(4,"b"),b(5),y(),C(6,"div",3)(7,"label")(8,"input",4),st("ngModelChange",function(s){return Ne(r.showLineCoverage,s)||(r.showLineCoverage=s),s}),W("change",function(){return r.showLineCoverageChange.emit(r.showLineCoverage)}),y(),b(9),y()(),H(10,tj,4,2,"div",5),C(11,"div",3)(12,"label")(13,"input",6),st("ngModelChange",function(s){return Ne(r.showMethodCoverage,s)||(r.showMethodCoverage=s),s}),W("change",function(){return r.showMethodCoverageChange.emit(r.showMethodCoverage)}),y(),b(14),y(),H(15,nj,1,1,"pro-button",7),y(),H(16,sj,7,3,"ng-container",8),y()()),2&i&&(f(5),A(r.translations.coverageTypes),f(3),tt("ngModel",r.showLineCoverage),f(),K(" ",r.translations.coverage,""),f(),m("ngIf",r.branchCoverageAvailable),f(3),tt("ngModel",r.showMethodCoverage),m("disabled",!r.methodCoverageAvailable),f(),K(" ",r.translations.methodCoverage,""),f(),m("ngIf",!r.methodCoverageAvailable),f(),m("ngIf",r.metrics.length>0))},dependencies:[Bi,$n,qh,dc,Ls,ej],encapsulation:2})}return e})();function lj(e,n){1&e&&N(0,"td",3)}function cj(e,n){1&e&&N(0,"td"),2&e&&bn("green ",v().greenClass,"")}function uj(e,n){1&e&&N(0,"td"),2&e&&bn("red ",v().redClass,"")}let NI=(()=>{class e{constructor(){this.grayVisible=!0,this.greenVisible=!1,this.redVisible=!1,this.greenClass="",this.redClass="",this._percentage=NaN}get percentage(){return this._percentage}set percentage(t){this._percentage=t,this.grayVisible=isNaN(t),this.greenVisible=!isNaN(t)&&Math.round(t)>0,this.redVisible=!isNaN(t)&&100-Math.round(t)>0,this.greenClass="covered"+Math.round(t),this.redClass="covered"+(100-Math.round(t))}static#e=this.\u0275fac=function(i){return new(i||e)};static#t=this.\u0275cmp=Kt({type:e,selectors:[["coverage-bar"]],inputs:{percentage:"percentage"},decls:4,vars:3,consts:[[1,"coverage"],["class","gray covered100",4,"ngIf"],[3,"class",4,"ngIf"],[1,"gray","covered100"]],template:function(i,r){1&i&&(C(0,"table",0),H(1,lj,1,0,"td",1)(2,cj,1,3,"td",2)(3,uj,1,3,"td",2),y()),2&i&&(f(),m("ngIf",r.grayVisible),f(),m("ngIf",r.greenVisible),f(),m("ngIf",r.redVisible))},dependencies:[$n],encapsulation:2,changeDetection:0})}return e})();const dj=["codeelement-row",""],fj=(e,n)=>({"icon-plus":e,"icon-minus":n});function hj(e,n){if(1&e&&(C(0,"th",5),b(1),y()),2&e){const t=v();f(),A(t.element.coveredLines)}}function pj(e,n){if(1&e&&(C(0,"th",5),b(1),y()),2&e){const t=v();f(),A(t.element.uncoveredLines)}}function gj(e,n){if(1&e&&(C(0,"th",5),b(1),y()),2&e){const t=v();f(),A(t.element.coverableLines)}}function mj(e,n){if(1&e&&(C(0,"th",5),b(1),y()),2&e){const t=v();f(),A(t.element.totalLines)}}function vj(e,n){if(1&e&&(C(0,"th",6),b(1),y()),2&e){const t=v();m("title",t.element.coverageRatioText),f(),A(t.element.coveragePercentage)}}function _j(e,n){if(1&e&&(C(0,"th",5),N(1,"coverage-bar",7),y()),2&e){const t=v();f(),m("percentage",t.element.coverage)}}function yj(e,n){if(1&e&&(C(0,"th",5),b(1),y()),2&e){const t=v();f(),A(t.element.coveredBranches)}}function Cj(e,n){if(1&e&&(C(0,"th",5),b(1),y()),2&e){const t=v();f(),A(t.element.totalBranches)}}function wj(e,n){if(1&e&&(C(0,"th",6),b(1),y()),2&e){const t=v();m("title",t.element.branchCoverageRatioText),f(),A(t.element.branchCoveragePercentage)}}function Ej(e,n){if(1&e&&(C(0,"th",5),N(1,"coverage-bar",7),y()),2&e){const t=v();f(),m("percentage",t.element.branchCoverage)}}function Dj(e,n){if(1&e&&(C(0,"th",5),b(1),y()),2&e){const t=v();f(),A(t.element.coveredMethods)}}function bj(e,n){if(1&e&&(C(0,"th",5),b(1),y()),2&e){const t=v();f(),A(t.element.totalMethods)}}function Ij(e,n){if(1&e&&(C(0,"th",6),b(1),y()),2&e){const t=v();m("title",t.element.methodCoverageRatioText),f(),A(t.element.methodCoveragePercentage)}}function Mj(e,n){if(1&e&&(C(0,"th",5),N(1,"coverage-bar",7),y()),2&e){const t=v();f(),m("percentage",t.element.methodCoverage)}}function Sj(e,n){1&e&&N(0,"th",5)}let Tj=(()=>{class e{constructor(){this.collapsed=!1,this.lineCoverageAvailable=!1,this.branchCoverageAvailable=!1,this.methodCoverageAvailable=!1,this.visibleMetrics=[]}static#e=this.\u0275fac=function(i){return new(i||e)};static#t=this.\u0275cmp=Kt({type:e,selectors:[["","codeelement-row",""]],inputs:{element:"element",collapsed:"collapsed",lineCoverageAvailable:"lineCoverageAvailable",branchCoverageAvailable:"branchCoverageAvailable",methodCoverageAvailable:"methodCoverageAvailable",visibleMetrics:"visibleMetrics"},attrs:dj,decls:19,vars:20,consts:[["href","#",3,"click"],[3,"ngClass"],["class","right",4,"ngIf"],["class","right",3,"title",4,"ngIf"],["class","right",4,"ngFor","ngForOf"],[1,"right"],[1,"right",3,"title"],[3,"percentage"]],template:function(i,r){1&i&&(C(0,"th")(1,"a",0),W("click",function(s){return r.element.toggleCollapse(s)}),N(2,"i",1),b(3),y()(),H(4,hj,2,1,"th",2)(5,pj,2,1,"th",2)(6,gj,2,1,"th",2)(7,mj,2,1,"th",2)(8,vj,2,2,"th",3)(9,_j,2,1,"th",2)(10,yj,2,1,"th",2)(11,Cj,2,1,"th",2)(12,wj,2,2,"th",3)(13,Ej,2,1,"th",2)(14,Dj,2,1,"th",2)(15,bj,2,1,"th",2)(16,Ij,2,2,"th",3)(17,Mj,2,1,"th",2)(18,Sj,1,0,"th",4)),2&i&&(f(2),m("ngClass",qf(17,fj,r.element.collapsed,!r.element.collapsed)),f(),K(" ",r.element.name,""),f(),m("ngIf",r.lineCoverageAvailable),f(),m("ngIf",r.lineCoverageAvailable),f(),m("ngIf",r.lineCoverageAvailable),f(),m("ngIf",r.lineCoverageAvailable),f(),m("ngIf",r.lineCoverageAvailable),f(),m("ngIf",r.lineCoverageAvailable),f(),m("ngIf",r.branchCoverageAvailable),f(),m("ngIf",r.branchCoverageAvailable),f(),m("ngIf",r.branchCoverageAvailable),f(),m("ngIf",r.branchCoverageAvailable),f(),m("ngIf",r.methodCoverageAvailable),f(),m("ngIf",r.methodCoverageAvailable),f(),m("ngIf",r.methodCoverageAvailable),f(),m("ngIf",r.methodCoverageAvailable),f(),m("ngForOf",r.visibleMetrics))},dependencies:[Jr,Bi,$n,NI],encapsulation:2,changeDetection:0})}return e})();const Oj=["coverage-history-chart",""];let Nj=(()=>{class e{constructor(){this.path=null,this._historicCoverages=[]}get historicCoverages(){return this._historicCoverages}set historicCoverages(t){if(this._historicCoverages=t,t.length>1){let i="";for(let r=0;r({historiccoverageoffset:e});function xj(e,n){if(1&e&&(C(0,"a",5),b(1),y()),2&e){const t=v();m("href",t.clazz.reportPath,Xn),f(),A(t.clazz.name)}}function Rj(e,n){if(1&e&&(te(0),b(1),ne()),2&e){const t=v();f(),A(t.clazz.name)}}function Lj(e,n){if(1&e&&(te(0),C(1,"div"),b(2),y(),C(3,"div",7),b(4),y(),ne()),2&e){const t=v(2);f(),bn("currenthistory ",t.getClassName(t.clazz.coveredLines,t.clazz.currentHistoricCoverage.cl),""),f(),K(" ",t.clazz.coveredLines," "),f(),m("title",t.clazz.currentHistoricCoverage.et),f(),K(" ",t.clazz.currentHistoricCoverage.cl," ")}}function Pj(e,n){if(1&e&&(te(0),b(1),ne()),2&e){const t=v(2);f(),K(" ",t.clazz.coveredLines," ")}}function kj(e,n){if(1&e&&(C(0,"td",6),H(1,Lj,5,6,"ng-container",1)(2,Pj,2,1,"ng-container",1),y()),2&e){const t=v();f(),m("ngIf",null!==t.clazz.currentHistoricCoverage),f(),m("ngIf",null===t.clazz.currentHistoricCoverage)}}function Fj(e,n){if(1&e&&(te(0),C(1,"div"),b(2),y(),C(3,"div",7),b(4),y(),ne()),2&e){const t=v(2);f(),bn("currenthistory ",t.getClassName(t.clazz.currentHistoricCoverage.ucl,t.clazz.uncoveredLines),""),f(),K(" ",t.clazz.uncoveredLines," "),f(),m("title",t.clazz.currentHistoricCoverage.et),f(),K(" ",t.clazz.currentHistoricCoverage.ucl," ")}}function Vj(e,n){if(1&e&&(te(0),b(1),ne()),2&e){const t=v(2);f(),K(" ",t.clazz.uncoveredLines," ")}}function Hj(e,n){if(1&e&&(C(0,"td",6),H(1,Fj,5,6,"ng-container",1)(2,Vj,2,1,"ng-container",1),y()),2&e){const t=v();f(),m("ngIf",null!==t.clazz.currentHistoricCoverage),f(),m("ngIf",null===t.clazz.currentHistoricCoverage)}}function Bj(e,n){if(1&e&&(te(0),C(1,"div",8),b(2),y(),C(3,"div",7),b(4),y(),ne()),2&e){const t=v(2);f(2),A(t.clazz.coverableLines),f(),m("title",t.clazz.currentHistoricCoverage.et),f(),A(t.clazz.currentHistoricCoverage.cal)}}function jj(e,n){if(1&e&&(te(0),b(1),ne()),2&e){const t=v(2);f(),K(" ",t.clazz.coverableLines," ")}}function Uj(e,n){if(1&e&&(C(0,"td",6),H(1,Bj,5,3,"ng-container",1)(2,jj,2,1,"ng-container",1),y()),2&e){const t=v();f(),m("ngIf",null!==t.clazz.currentHistoricCoverage),f(),m("ngIf",null===t.clazz.currentHistoricCoverage)}}function $j(e,n){if(1&e&&(te(0),C(1,"div",8),b(2),y(),C(3,"div",7),b(4),y(),ne()),2&e){const t=v(2);f(2),A(t.clazz.totalLines),f(),m("title",t.clazz.currentHistoricCoverage.et),f(),A(t.clazz.currentHistoricCoverage.tl)}}function zj(e,n){if(1&e&&(te(0),b(1),ne()),2&e){const t=v(2);f(),K(" ",t.clazz.totalLines," ")}}function Gj(e,n){if(1&e&&(C(0,"td",6),H(1,$j,5,3,"ng-container",1)(2,zj,2,1,"ng-container",1),y()),2&e){const t=v();f(),m("ngIf",null!==t.clazz.currentHistoricCoverage),f(),m("ngIf",null===t.clazz.currentHistoricCoverage)}}function qj(e,n){if(1&e&&N(0,"div",11),2&e){const t=v(2);Hn("title",t.translations.history+": "+t.translations.coverage),m("historicCoverages",t.clazz.lineCoverageHistory)("ngClass",hs(3,wp,null!==t.clazz.currentHistoricCoverage))}}function Wj(e,n){if(1&e&&(te(0),C(1,"div"),b(2),y(),C(3,"div",7),b(4),y(),ne()),2&e){const t=v(2);f(),bn("currenthistory ",t.getClassName(t.clazz.coverage,t.clazz.currentHistoricCoverage.lcq),""),f(),K(" ",t.clazz.coveragePercentage," "),f(),m("title",t.clazz.currentHistoricCoverage.et+": "+t.clazz.currentHistoricCoverage.coverageRatioText),f(),K("",t.clazz.currentHistoricCoverage.lcq,"%")}}function Zj(e,n){if(1&e&&(te(0),b(1),ne()),2&e){const t=v(2);f(),K(" ",t.clazz.coveragePercentage," ")}}function Yj(e,n){if(1&e&&(C(0,"td",9),H(1,qj,1,5,"div",10)(2,Wj,5,6,"ng-container",1)(3,Zj,2,1,"ng-container",1),y()),2&e){const t=v();m("title",t.clazz.coverageRatioText),f(),m("ngIf",t.clazz.lineCoverageHistory.length>1),f(),m("ngIf",null!==t.clazz.currentHistoricCoverage),f(),m("ngIf",null===t.clazz.currentHistoricCoverage)}}function Qj(e,n){if(1&e&&(C(0,"td",6),N(1,"coverage-bar",12),y()),2&e){const t=v();f(),m("percentage",t.clazz.coverage)}}function Kj(e,n){if(1&e&&(te(0),C(1,"div"),b(2),y(),C(3,"div",7),b(4),y(),ne()),2&e){const t=v(2);f(),bn("currenthistory ",t.getClassName(t.clazz.coveredBranches,t.clazz.currentHistoricCoverage.cb),""),f(),K(" ",t.clazz.coveredBranches," "),f(),m("title",t.clazz.currentHistoricCoverage.et),f(),K(" ",t.clazz.currentHistoricCoverage.cb," ")}}function Jj(e,n){if(1&e&&(te(0),b(1),ne()),2&e){const t=v(2);f(),K(" ",t.clazz.coveredBranches," ")}}function Xj(e,n){if(1&e&&(C(0,"td",6),H(1,Kj,5,6,"ng-container",1)(2,Jj,2,1,"ng-container",1),y()),2&e){const t=v();f(),m("ngIf",null!==t.clazz.currentHistoricCoverage),f(),m("ngIf",null===t.clazz.currentHistoricCoverage)}}function eU(e,n){if(1&e&&(te(0),C(1,"div",8),b(2),y(),C(3,"div",7),b(4),y(),ne()),2&e){const t=v(2);f(2),A(t.clazz.totalBranches),f(),m("title",t.clazz.currentHistoricCoverage.et),f(),A(t.clazz.currentHistoricCoverage.tb)}}function tU(e,n){if(1&e&&(te(0),b(1),ne()),2&e){const t=v(2);f(),K(" ",t.clazz.totalBranches," ")}}function nU(e,n){if(1&e&&(C(0,"td",6),H(1,eU,5,3,"ng-container",1)(2,tU,2,1,"ng-container",1),y()),2&e){const t=v();f(),m("ngIf",null!==t.clazz.currentHistoricCoverage),f(),m("ngIf",null===t.clazz.currentHistoricCoverage)}}function iU(e,n){if(1&e&&N(0,"div",14),2&e){const t=v(2);Hn("title",t.translations.history+": "+t.translations.branchCoverage),m("historicCoverages",t.clazz.branchCoverageHistory)("ngClass",hs(3,wp,null!==t.clazz.currentHistoricCoverage))}}function rU(e,n){if(1&e&&(te(0),C(1,"div"),b(2),y(),C(3,"div",7),b(4),y(),ne()),2&e){const t=v(2);f(),bn("currenthistory ",t.getClassName(t.clazz.branchCoverage,t.clazz.currentHistoricCoverage.bcq),""),f(),K(" ",t.clazz.branchCoveragePercentage," "),f(),m("title",t.clazz.currentHistoricCoverage.et+": "+t.clazz.currentHistoricCoverage.branchCoverageRatioText),f(),K("",t.clazz.currentHistoricCoverage.bcq,"%")}}function oU(e,n){if(1&e&&(te(0),b(1),ne()),2&e){const t=v(2);f(),K(" ",t.clazz.branchCoveragePercentage," ")}}function sU(e,n){if(1&e&&(C(0,"td",9),H(1,iU,1,5,"div",13)(2,rU,5,6,"ng-container",1)(3,oU,2,1,"ng-container",1),y()),2&e){const t=v();m("title",t.clazz.branchCoverageRatioText),f(),m("ngIf",t.clazz.branchCoverageHistory.length>1),f(),m("ngIf",null!==t.clazz.currentHistoricCoverage),f(),m("ngIf",null===t.clazz.currentHistoricCoverage)}}function aU(e,n){if(1&e&&(C(0,"td",6),N(1,"coverage-bar",12),y()),2&e){const t=v();f(),m("percentage",t.clazz.branchCoverage)}}function lU(e,n){if(1&e&&(te(0),C(1,"div"),b(2),y(),C(3,"div",7),b(4),y(),ne()),2&e){const t=v(2);f(),bn("currenthistory ",t.getClassName(t.clazz.coveredMethods,t.clazz.currentHistoricCoverage.cm),""),f(),K(" ",t.clazz.coveredMethods," "),f(),m("title",t.clazz.currentHistoricCoverage.et),f(),K(" ",t.clazz.currentHistoricCoverage.cm," ")}}function cU(e,n){if(1&e&&(te(0),b(1),ne()),2&e){const t=v(2);f(),K(" ",t.clazz.coveredMethods," ")}}function uU(e,n){if(1&e&&(C(0,"td",6),H(1,lU,5,6,"ng-container",1)(2,cU,2,1,"ng-container",1),y()),2&e){const t=v();f(),m("ngIf",null!==t.clazz.currentHistoricCoverage),f(),m("ngIf",null===t.clazz.currentHistoricCoverage)}}function dU(e,n){if(1&e&&(te(0),C(1,"div",8),b(2),y(),C(3,"div",7),b(4),y(),ne()),2&e){const t=v(2);f(2),A(t.clazz.totalMethods),f(),m("title",t.clazz.currentHistoricCoverage.et),f(),A(t.clazz.currentHistoricCoverage.tm)}}function fU(e,n){if(1&e&&(te(0),b(1),ne()),2&e){const t=v(2);f(),K(" ",t.clazz.totalMethods," ")}}function hU(e,n){if(1&e&&(C(0,"td",6),H(1,dU,5,3,"ng-container",1)(2,fU,2,1,"ng-container",1),y()),2&e){const t=v();f(),m("ngIf",null!==t.clazz.currentHistoricCoverage),f(),m("ngIf",null===t.clazz.currentHistoricCoverage)}}function pU(e,n){if(1&e&&N(0,"div",16),2&e){const t=v(2);Hn("title",t.translations.history+": "+t.translations.methodCoverage),m("historicCoverages",t.clazz.methodCoverageHistory)("ngClass",hs(3,wp,null!==t.clazz.currentHistoricCoverage))}}function gU(e,n){if(1&e&&(te(0),C(1,"div"),b(2),y(),C(3,"div",7),b(4),y(),ne()),2&e){const t=v(2);f(),bn("currenthistory ",t.getClassName(t.clazz.methodCoverage,t.clazz.currentHistoricCoverage.mcq),""),f(),K(" ",t.clazz.methodCoveragePercentage," "),f(),m("title",t.clazz.currentHistoricCoverage.et+": "+t.clazz.currentHistoricCoverage.methodCoverageRatioText),f(),K("",t.clazz.currentHistoricCoverage.mcq,"%")}}function mU(e,n){if(1&e&&(te(0),b(1),ne()),2&e){const t=v(2);f(),K(" ",t.clazz.methodCoveragePercentage," ")}}function vU(e,n){if(1&e&&(C(0,"td",9),H(1,pU,1,5,"div",15)(2,gU,5,6,"ng-container",1)(3,mU,2,1,"ng-container",1),y()),2&e){const t=v();m("title",t.clazz.methodCoverageRatioText),f(),m("ngIf",t.clazz.methodCoverageHistory.length>1),f(),m("ngIf",null!==t.clazz.currentHistoricCoverage),f(),m("ngIf",null===t.clazz.currentHistoricCoverage)}}function _U(e,n){if(1&e&&(C(0,"td",6),N(1,"coverage-bar",12),y()),2&e){const t=v();f(),m("percentage",t.clazz.methodCoverage)}}function yU(e,n){if(1&e&&(C(0,"td",6),b(1),y()),2&e){const t=n.$implicit,i=v();f(),A(i.clazz.metrics[t.abbreviation])}}let CU=(()=>{class e{constructor(){this.translations={},this.lineCoverageAvailable=!1,this.branchCoverageAvailable=!1,this.methodCoverageAvailable=!1,this.visibleMetrics=[],this.historyComparisionDate=""}getClassName(t,i){return t>i?"lightgreen":t({"icon-up-dir_active":e,"icon-down-dir_active":n,"icon-up-down-dir":t});function wU(e,n){if(1&e){const t=Ie();C(0,"popup",30),st("visibleChange",function(r){G(t);const o=v(2);return Ne(o.popupVisible,r)||(o.popupVisible=r),q(r)})("showLineCoverageChange",function(r){G(t);const o=v(2);return Ne(o.settings.showLineCoverage,r)||(o.settings.showLineCoverage=r),q(r)})("showBranchCoverageChange",function(r){G(t);const o=v(2);return Ne(o.settings.showBranchCoverage,r)||(o.settings.showBranchCoverage=r),q(r)})("showMethodCoverageChange",function(r){G(t);const o=v(2);return Ne(o.settings.showMethodCoverage,r)||(o.settings.showMethodCoverage=r),q(r)})("visibleMetricsChange",function(r){G(t);const o=v(2);return Ne(o.settings.visibleMetrics,r)||(o.settings.visibleMetrics=r),q(r)}),y()}if(2&e){const t=v(2);tt("visible",t.popupVisible),m("translations",t.translations)("branchCoverageAvailable",t.branchCoverageAvailable)("methodCoverageAvailable",t.methodCoverageAvailable)("metrics",t.metrics),tt("showLineCoverage",t.settings.showLineCoverage)("showBranchCoverage",t.settings.showBranchCoverage)("showMethodCoverage",t.settings.showMethodCoverage)("visibleMetrics",t.settings.visibleMetrics)}}function EU(e,n){if(1&e&&(te(0),b(1),ne()),2&e){const t=v(2);f(),A(t.translations.noGrouping)}}function DU(e,n){if(1&e&&(te(0),b(1),ne()),2&e){const t=v(2);f(),A(t.translations.byAssembly)}}function bU(e,n){if(1&e&&(te(0),b(1),ne()),2&e){const t=v(2);f(),A(t.translations.byNamespace+" "+t.settings.grouping)}}function IU(e,n){if(1&e&&(C(0,"option",34),b(1),y()),2&e){const t=n.$implicit;m("value",t),f(),A(t)}}function MU(e,n){1&e&&N(0,"br")}function SU(e,n){if(1&e&&(C(0,"option",42),b(1),y()),2&e){const t=v(4);f(),K(" ",t.translations.branchCoverageIncreaseOnly," ")}}function TU(e,n){if(1&e&&(C(0,"option",43),b(1),y()),2&e){const t=v(4);f(),K(" ",t.translations.branchCoverageDecreaseOnly," ")}}function OU(e,n){if(1&e&&(C(0,"option",44),b(1),y()),2&e){const t=v(4);f(),K(" ",t.translations.methodCoverageIncreaseOnly," ")}}function NU(e,n){if(1&e&&(C(0,"option",45),b(1),y()),2&e){const t=v(4);f(),K(" ",t.translations.methodCoverageDecreaseOnly," ")}}function AU(e,n){if(1&e){const t=Ie();C(0,"div")(1,"select",31),st("ngModelChange",function(r){G(t);const o=v(3);return Ne(o.settings.historyComparisionType,r)||(o.settings.historyComparisionType=r),q(r)}),C(2,"option",32),b(3),y(),C(4,"option",35),b(5),y(),C(6,"option",36),b(7),y(),C(8,"option",37),b(9),y(),H(10,SU,2,1,"option",38)(11,TU,2,1,"option",39)(12,OU,2,1,"option",40)(13,NU,2,1,"option",41),y()()}if(2&e){const t=v(3);f(),tt("ngModel",t.settings.historyComparisionType),f(2),A(t.translations.filter),f(2),A(t.translations.allChanges),f(2),A(t.translations.lineCoverageIncreaseOnly),f(2),A(t.translations.lineCoverageDecreaseOnly),f(),m("ngIf",t.branchCoverageAvailable),f(),m("ngIf",t.branchCoverageAvailable),f(),m("ngIf",t.methodCoverageAvailable),f(),m("ngIf",t.methodCoverageAvailable)}}function xU(e,n){if(1&e){const t=Ie();te(0),C(1,"div"),b(2),C(3,"select",31),st("ngModelChange",function(r){G(t);const o=v(2);return Ne(o.settings.historyComparisionDate,r)||(o.settings.historyComparisionDate=r),q(r)}),W("ngModelChange",function(){return G(t),q(v(2).updateCurrentHistoricCoverage())}),C(4,"option",32),b(5),y(),H(6,IU,2,2,"option",33),y()(),H(7,MU,1,0,"br",0)(8,AU,14,9,"div",0),ne()}if(2&e){const t=v(2);f(2),K(" ",t.translations.compareHistory," "),f(),tt("ngModel",t.settings.historyComparisionDate),f(2),A(t.translations.date),f(),m("ngForOf",t.historicCoverageExecutionTimes),f(),m("ngIf",""!==t.settings.historyComparisionDate),f(),m("ngIf",""!==t.settings.historyComparisionDate)}}function RU(e,n){1&e&&N(0,"col",46)}function LU(e,n){1&e&&N(0,"col",47)}function PU(e,n){1&e&&N(0,"col",48)}function kU(e,n){1&e&&N(0,"col",49)}function FU(e,n){1&e&&N(0,"col",50)}function VU(e,n){1&e&&N(0,"col",51)}function HU(e,n){1&e&&N(0,"col",46)}function BU(e,n){1&e&&N(0,"col",49)}function jU(e,n){1&e&&N(0,"col",50)}function UU(e,n){1&e&&N(0,"col",51)}function $U(e,n){1&e&&N(0,"col",46)}function zU(e,n){1&e&&N(0,"col",49)}function GU(e,n){1&e&&N(0,"col",50)}function qU(e,n){1&e&&N(0,"col",51)}function WU(e,n){1&e&&N(0,"col",51)}function ZU(e,n){if(1&e&&(C(0,"th",52),b(1),y()),2&e){const t=v(2);f(),A(t.translations.coverage)}}function YU(e,n){if(1&e&&(C(0,"th",53),b(1),y()),2&e){const t=v(2);f(),A(t.translations.branchCoverage)}}function QU(e,n){if(1&e&&(C(0,"th",53),b(1),y()),2&e){const t=v(2);f(),A(t.translations.methodCoverage)}}function KU(e,n){if(1&e&&(C(0,"th",54),b(1),y()),2&e){const t=v(2);pt("colspan",t.settings.visibleMetrics.length),f(),A(t.translations.metrics)}}function JU(e,n){if(1&e){const t=Ie();C(0,"td",52)(1,"ngx-slider",55),st("valueChange",function(r){G(t);const o=v(2);return Ne(o.settings.lineCoverageMin,r)||(o.settings.lineCoverageMin=r),q(r)})("highValueChange",function(r){G(t);const o=v(2);return Ne(o.settings.lineCoverageMax,r)||(o.settings.lineCoverageMax=r),q(r)}),y()()}if(2&e){const t=v(2);f(),tt("value",t.settings.lineCoverageMin)("highValue",t.settings.lineCoverageMax),m("options",t.sliderOptions)}}function XU(e,n){if(1&e){const t=Ie();C(0,"td",53)(1,"ngx-slider",55),st("valueChange",function(r){G(t);const o=v(2);return Ne(o.settings.branchCoverageMin,r)||(o.settings.branchCoverageMin=r),q(r)})("highValueChange",function(r){G(t);const o=v(2);return Ne(o.settings.branchCoverageMax,r)||(o.settings.branchCoverageMax=r),q(r)}),y()()}if(2&e){const t=v(2);f(),tt("value",t.settings.branchCoverageMin)("highValue",t.settings.branchCoverageMax),m("options",t.sliderOptions)}}function e3(e,n){if(1&e){const t=Ie();C(0,"td",53)(1,"ngx-slider",55),st("valueChange",function(r){G(t);const o=v(2);return Ne(o.settings.methodCoverageMin,r)||(o.settings.methodCoverageMin=r),q(r)})("highValueChange",function(r){G(t);const o=v(2);return Ne(o.settings.methodCoverageMax,r)||(o.settings.methodCoverageMax=r),q(r)}),y()()}if(2&e){const t=v(2);f(),tt("value",t.settings.methodCoverageMin)("highValue",t.settings.methodCoverageMax),m("options",t.sliderOptions)}}function t3(e,n){1&e&&N(0,"td",54),2&e&&pt("colspan",v(2).settings.visibleMetrics.length)}function n3(e,n){if(1&e){const t=Ie();C(0,"th",56)(1,"a",3),W("click",function(r){return G(t),q(v(2).updateSorting("covered",r))}),N(2,"i",26),b(3),y()()}if(2&e){const t=v(2);f(2),m("ngClass",Ye(2,Bt,"covered"===t.settings.sortBy&&"asc"===t.settings.sortOrder,"covered"===t.settings.sortBy&&"desc"===t.settings.sortOrder,"covered"!==t.settings.sortBy)),f(),A(t.translations.covered)}}function i3(e,n){if(1&e){const t=Ie();C(0,"th",56)(1,"a",3),W("click",function(r){return G(t),q(v(2).updateSorting("uncovered",r))}),N(2,"i",26),b(3),y()()}if(2&e){const t=v(2);f(2),m("ngClass",Ye(2,Bt,"uncovered"===t.settings.sortBy&&"asc"===t.settings.sortOrder,"uncovered"===t.settings.sortBy&&"desc"===t.settings.sortOrder,"uncovered"!==t.settings.sortBy)),f(),A(t.translations.uncovered)}}function r3(e,n){if(1&e){const t=Ie();C(0,"th",56)(1,"a",3),W("click",function(r){return G(t),q(v(2).updateSorting("coverable",r))}),N(2,"i",26),b(3),y()()}if(2&e){const t=v(2);f(2),m("ngClass",Ye(2,Bt,"coverable"===t.settings.sortBy&&"asc"===t.settings.sortOrder,"coverable"===t.settings.sortBy&&"desc"===t.settings.sortOrder,"coverable"!==t.settings.sortBy)),f(),A(t.translations.coverable)}}function o3(e,n){if(1&e){const t=Ie();C(0,"th",56)(1,"a",3),W("click",function(r){return G(t),q(v(2).updateSorting("total",r))}),N(2,"i",26),b(3),y()()}if(2&e){const t=v(2);f(2),m("ngClass",Ye(2,Bt,"total"===t.settings.sortBy&&"asc"===t.settings.sortOrder,"total"===t.settings.sortBy&&"desc"===t.settings.sortOrder,"total"!==t.settings.sortBy)),f(),A(t.translations.total)}}function s3(e,n){if(1&e){const t=Ie();C(0,"th",57)(1,"a",3),W("click",function(r){return G(t),q(v(2).updateSorting("coverage",r))}),N(2,"i",26),b(3),y()()}if(2&e){const t=v(2);f(2),m("ngClass",Ye(2,Bt,"coverage"===t.settings.sortBy&&"asc"===t.settings.sortOrder,"coverage"===t.settings.sortBy&&"desc"===t.settings.sortOrder,"coverage"!==t.settings.sortBy)),f(),A(t.translations.percentage)}}function a3(e,n){if(1&e){const t=Ie();C(0,"th",56)(1,"a",3),W("click",function(r){return G(t),q(v(2).updateSorting("covered_branches",r))}),N(2,"i",26),b(3),y()()}if(2&e){const t=v(2);f(2),m("ngClass",Ye(2,Bt,"covered_branches"===t.settings.sortBy&&"asc"===t.settings.sortOrder,"covered_branches"===t.settings.sortBy&&"desc"===t.settings.sortOrder,"covered_branches"!==t.settings.sortBy)),f(),A(t.translations.covered)}}function l3(e,n){if(1&e){const t=Ie();C(0,"th",56)(1,"a",3),W("click",function(r){return G(t),q(v(2).updateSorting("total_branches",r))}),N(2,"i",26),b(3),y()()}if(2&e){const t=v(2);f(2),m("ngClass",Ye(2,Bt,"total_branches"===t.settings.sortBy&&"asc"===t.settings.sortOrder,"total_branches"===t.settings.sortBy&&"desc"===t.settings.sortOrder,"total_branches"!==t.settings.sortBy)),f(),A(t.translations.total)}}function c3(e,n){if(1&e){const t=Ie();C(0,"th",57)(1,"a",3),W("click",function(r){return G(t),q(v(2).updateSorting("branchcoverage",r))}),N(2,"i",26),b(3),y()()}if(2&e){const t=v(2);f(2),m("ngClass",Ye(2,Bt,"branchcoverage"===t.settings.sortBy&&"asc"===t.settings.sortOrder,"branchcoverage"===t.settings.sortBy&&"desc"===t.settings.sortOrder,"branchcoverage"!==t.settings.sortBy)),f(),A(t.translations.percentage)}}function u3(e,n){if(1&e){const t=Ie();C(0,"th",56)(1,"a",3),W("click",function(r){return G(t),q(v(2).updateSorting("covered_methods",r))}),N(2,"i",26),b(3),y()()}if(2&e){const t=v(2);f(2),m("ngClass",Ye(2,Bt,"covered_methods"===t.settings.sortBy&&"asc"===t.settings.sortOrder,"covered_methods"===t.settings.sortBy&&"desc"===t.settings.sortOrder,"covered_methods"!==t.settings.sortBy)),f(),A(t.translations.covered)}}function d3(e,n){if(1&e){const t=Ie();C(0,"th",56)(1,"a",3),W("click",function(r){return G(t),q(v(2).updateSorting("total_methods",r))}),N(2,"i",26),b(3),y()()}if(2&e){const t=v(2);f(2),m("ngClass",Ye(2,Bt,"total_methods"===t.settings.sortBy&&"asc"===t.settings.sortOrder,"total_methods"===t.settings.sortBy&&"desc"===t.settings.sortOrder,"total_methods"!==t.settings.sortBy)),f(),A(t.translations.total)}}function f3(e,n){if(1&e){const t=Ie();C(0,"th",57)(1,"a",3),W("click",function(r){return G(t),q(v(2).updateSorting("methodcoverage",r))}),N(2,"i",26),b(3),y()()}if(2&e){const t=v(2);f(2),m("ngClass",Ye(2,Bt,"methodcoverage"===t.settings.sortBy&&"asc"===t.settings.sortOrder,"methodcoverage"===t.settings.sortBy&&"desc"===t.settings.sortOrder,"methodcoverage"!==t.settings.sortBy)),f(),A(t.translations.percentage)}}function h3(e,n){if(1&e){const t=Ie();C(0,"th")(1,"a",3),W("click",function(r){const o=G(t).$implicit;return q(v(2).updateSorting(o.abbreviation,r))}),N(2,"i",26),b(3),y(),C(4,"a",58),N(5,"i",59),y()()}if(2&e){const t=n.$implicit,i=v(2);f(2),m("ngClass",Ye(3,Bt,i.settings.sortBy===t.abbreviation&&"asc"===i.settings.sortOrder,i.settings.sortBy===t.abbreviation&&"desc"===i.settings.sortOrder,i.settings.sortBy!==t.abbreviation)),f(),A(t.name),f(),Hn("href",t.explanationUrl,Xn)}}function p3(e,n){if(1&e&&N(0,"tr",61),2&e){const t=v().$implicit,i=v(2);m("element",t)("collapsed",t.collapsed)("lineCoverageAvailable",i.settings.showLineCoverage)("branchCoverageAvailable",i.branchCoverageAvailable&&i.settings.showBranchCoverage)("methodCoverageAvailable",i.methodCoverageAvailable&&i.settings.showMethodCoverage)("visibleMetrics",i.settings.visibleMetrics)}}function g3(e,n){if(1&e&&N(0,"tr",63),2&e){const t=v().$implicit,i=v(3);m("clazz",t)("translations",i.translations)("lineCoverageAvailable",i.settings.showLineCoverage)("branchCoverageAvailable",i.branchCoverageAvailable&&i.settings.showBranchCoverage)("methodCoverageAvailable",i.methodCoverageAvailable&&i.settings.showMethodCoverage)("visibleMetrics",i.settings.visibleMetrics)("historyComparisionDate",i.settings.historyComparisionDate)}}function m3(e,n){if(1&e&&(te(0),H(1,g3,1,7,"tr",62),ne()),2&e){const t=n.$implicit,i=v().$implicit,r=v(2);f(),m("ngIf",!i.collapsed&&t.visible(r.settings))}}function v3(e,n){if(1&e&&N(0,"tr",66),2&e){const t=v().$implicit,i=v(5);m("clazz",t)("translations",i.translations)("lineCoverageAvailable",i.settings.showLineCoverage)("branchCoverageAvailable",i.branchCoverageAvailable&&i.settings.showBranchCoverage)("methodCoverageAvailable",i.methodCoverageAvailable&&i.settings.showMethodCoverage)("visibleMetrics",i.settings.visibleMetrics)("historyComparisionDate",i.settings.historyComparisionDate)}}function _3(e,n){if(1&e&&(te(0),H(1,v3,1,7,"tr",65),ne()),2&e){const t=n.$implicit,i=v(2).$implicit,r=v(3);f(),m("ngIf",!i.collapsed&&t.visible(r.settings))}}function y3(e,n){if(1&e&&(te(0),N(1,"tr",64),H(2,_3,2,1,"ng-container",29),ne()),2&e){const t=v().$implicit,i=v(3);f(),m("element",t)("collapsed",t.collapsed)("lineCoverageAvailable",i.settings.showLineCoverage)("branchCoverageAvailable",i.branchCoverageAvailable&&i.settings.showBranchCoverage)("methodCoverageAvailable",i.methodCoverageAvailable&&i.settings.showMethodCoverage)("visibleMetrics",i.settings.visibleMetrics),f(),m("ngForOf",t.classes)}}function C3(e,n){if(1&e&&(te(0),H(1,y3,3,7,"ng-container",0),ne()),2&e){const t=n.$implicit,i=v().$implicit,r=v(2);f(),m("ngIf",!i.collapsed&&t.visible(r.settings))}}function w3(e,n){if(1&e&&(te(0),H(1,p3,1,6,"tr",60)(2,m3,2,1,"ng-container",29)(3,C3,2,1,"ng-container",29),ne()),2&e){const t=n.$implicit,i=v(2);f(),m("ngIf",t.visible(i.settings)),f(),m("ngForOf",t.classes),f(),m("ngForOf",t.subElements)}}function E3(e,n){if(1&e){const t=Ie();C(0,"div"),H(1,wU,1,9,"popup",1),C(2,"div",2)(3,"div")(4,"a",3),W("click",function(r){return G(t),q(v().collapseAll(r))}),b(5),y(),b(6," | "),C(7,"a",3),W("click",function(r){return G(t),q(v().expandAll(r))}),b(8),y()(),C(9,"div",4)(10,"span",5),H(11,EU,2,1,"ng-container",0)(12,DU,2,1,"ng-container",0)(13,bU,2,1,"ng-container",0),y(),N(14,"br"),b(15),C(16,"input",6),st("ngModelChange",function(r){G(t);const o=v();return Ne(o.settings.grouping,r)||(o.settings.grouping=r),q(r)}),W("ngModelChange",function(){return G(t),q(v().updateCoverageInfo())}),y()(),C(17,"div",4),H(18,xU,9,6,"ng-container",0),y(),C(19,"div",7)(20,"button",8),W("click",function(){return G(t),q(v().popupVisible=!0)}),N(21,"i",9),b(22),y()()(),C(23,"div",10)(24,"table",11)(25,"colgroup"),N(26,"col",12),H(27,RU,1,0,"col",13)(28,LU,1,0,"col",14)(29,PU,1,0,"col",15)(30,kU,1,0,"col",16)(31,FU,1,0,"col",17)(32,VU,1,0,"col",18)(33,HU,1,0,"col",13)(34,BU,1,0,"col",16)(35,jU,1,0,"col",17)(36,UU,1,0,"col",18)(37,$U,1,0,"col",13)(38,zU,1,0,"col",16)(39,GU,1,0,"col",17)(40,qU,1,0,"col",18)(41,WU,1,0,"col",19),y(),C(42,"thead")(43,"tr",20),N(44,"th"),H(45,ZU,2,1,"th",21)(46,YU,2,1,"th",22)(47,QU,2,1,"th",22)(48,KU,2,2,"th",23),y(),C(49,"tr",24)(50,"td")(51,"input",25),st("ngModelChange",function(r){G(t);const o=v();return Ne(o.settings.filter,r)||(o.settings.filter=r),q(r)}),y()(),H(52,JU,2,3,"td",21)(53,XU,2,3,"td",22)(54,e3,2,3,"td",22)(55,t3,1,1,"td",23),y(),C(56,"tr")(57,"th")(58,"a",3),W("click",function(r){return G(t),q(v().updateSorting("name",r))}),N(59,"i",26),b(60),y()(),H(61,n3,4,6,"th",27)(62,i3,4,6,"th",27)(63,r3,4,6,"th",27)(64,o3,4,6,"th",27)(65,s3,4,6,"th",28)(66,a3,4,6,"th",27)(67,l3,4,6,"th",27)(68,c3,4,6,"th",28)(69,u3,4,6,"th",27)(70,d3,4,6,"th",27)(71,f3,4,6,"th",28)(72,h3,6,7,"th",29),y()(),C(73,"tbody"),H(74,w3,4,3,"ng-container",29),y()()()()}if(2&e){const t=v();f(),m("ngIf",t.popupVisible),f(4),A(t.translations.collapseAll),f(3),A(t.translations.expandAll),f(3),m("ngIf",-1===t.settings.grouping),f(),m("ngIf",0===t.settings.grouping),f(),m("ngIf",t.settings.grouping>0),f(2),K(" ",t.translations.grouping," "),f(),m("max",t.settings.groupingMaximum),tt("ngModel",t.settings.grouping),f(2),m("ngIf",t.historicCoverageExecutionTimes.length>0),f(4),A(t.metrics.length>0?t.translations.selectCoverageTypesAndMetrics:t.translations.selectCoverageTypes),f(5),m("ngIf",t.settings.showLineCoverage),f(),m("ngIf",t.settings.showLineCoverage),f(),m("ngIf",t.settings.showLineCoverage),f(),m("ngIf",t.settings.showLineCoverage),f(),m("ngIf",t.settings.showLineCoverage),f(),m("ngIf",t.settings.showLineCoverage),f(),m("ngIf",t.branchCoverageAvailable&&t.settings.showBranchCoverage),f(),m("ngIf",t.branchCoverageAvailable&&t.settings.showBranchCoverage),f(),m("ngIf",t.branchCoverageAvailable&&t.settings.showBranchCoverage),f(),m("ngIf",t.branchCoverageAvailable&&t.settings.showBranchCoverage),f(),m("ngIf",t.methodCoverageAvailable&&t.settings.showMethodCoverage),f(),m("ngIf",t.methodCoverageAvailable&&t.settings.showMethodCoverage),f(),m("ngIf",t.methodCoverageAvailable&&t.settings.showMethodCoverage),f(),m("ngIf",t.methodCoverageAvailable&&t.settings.showMethodCoverage),f(),m("ngForOf",t.settings.visibleMetrics),f(4),m("ngIf",t.settings.showLineCoverage),f(),m("ngIf",t.branchCoverageAvailable&&t.settings.showBranchCoverage),f(),m("ngIf",t.methodCoverageAvailable&&t.settings.showMethodCoverage),f(),m("ngIf",t.settings.visibleMetrics.length>0),f(3),Hn("placeholder",t.translations.filter),tt("ngModel",t.settings.filter),f(),m("ngIf",t.settings.showLineCoverage),f(),m("ngIf",t.branchCoverageAvailable&&t.settings.showBranchCoverage),f(),m("ngIf",t.methodCoverageAvailable&&t.settings.showMethodCoverage),f(),m("ngIf",t.settings.visibleMetrics.length>0),f(4),m("ngClass",Ye(51,Bt,"name"===t.settings.sortBy&&"asc"===t.settings.sortOrder,"name"===t.settings.sortBy&&"desc"===t.settings.sortOrder,"name"!==t.settings.sortBy)),f(),A(t.translations.name),f(),m("ngIf",t.settings.showLineCoverage),f(),m("ngIf",t.settings.showLineCoverage),f(),m("ngIf",t.settings.showLineCoverage),f(),m("ngIf",t.settings.showLineCoverage),f(),m("ngIf",t.settings.showLineCoverage),f(),m("ngIf",t.branchCoverageAvailable&&t.settings.showBranchCoverage),f(),m("ngIf",t.branchCoverageAvailable&&t.settings.showBranchCoverage),f(),m("ngIf",t.branchCoverageAvailable&&t.settings.showBranchCoverage),f(),m("ngIf",t.methodCoverageAvailable&&t.settings.showMethodCoverage),f(),m("ngIf",t.methodCoverageAvailable&&t.settings.showMethodCoverage),f(),m("ngIf",t.methodCoverageAvailable&&t.settings.showMethodCoverage),f(),m("ngForOf",t.settings.visibleMetrics),f(2),m("ngForOf",t.codeElements)}}let D3=(()=>{class e{constructor(t){this.queryString="",this.historicCoverageExecutionTimes=[],this.branchCoverageAvailable=!1,this.methodCoverageAvailable=!1,this.metrics=[],this.codeElements=[],this.translations={},this.popupVisible=!1,this.settings=new KB,this.sliderOptions={floor:0,ceil:100,step:1,ticksArray:[0,10,20,30,40,50,60,70,80,90,100],showTicks:!0},this.window=t.nativeWindow}ngOnInit(){this.historicCoverageExecutionTimes=this.window.historicCoverageExecutionTimes,this.branchCoverageAvailable=this.window.branchCoverageAvailable,this.methodCoverageAvailable=this.window.methodCoverageAvailable,this.metrics=this.window.metrics,this.translations=this.window.translations,Wt.maximumDecimalPlacesForCoverageQuotas=this.window.maximumDecimalPlacesForCoverageQuotas;let t=!1;if(void 0!==this.window.history&&void 0!==this.window.history.replaceState&&null!==this.window.history.state&&null!=this.window.history.state.coverageInfoSettings)console.log("Coverage info: Restoring from history",this.window.history.state.coverageInfoSettings),t=!0,this.settings=JSON.parse(JSON.stringify(this.window.history.state.coverageInfoSettings));else{let r=0,o=this.window.assemblies;for(let s=0;s-1&&(this.queryString=window.location.href.substring(i)),this.updateCoverageInfo(),t&&this.restoreCollapseState()}onBeforeUnload(){if(this.saveCollapseState(),void 0!==this.window.history&&void 0!==this.window.history.replaceState){console.log("Coverage info: Updating history",this.settings);let t=new TI;null!==window.history.state&&(t=JSON.parse(JSON.stringify(this.window.history.state))),t.coverageInfoSettings=JSON.parse(JSON.stringify(this.settings)),window.history.replaceState(t,"")}}updateCoverageInfo(){let t=(new Date).getTime(),i=this.window.assemblies,r=[],o=0;if(0===this.settings.grouping)for(let l=0;l{for(let r=0;r{for(let o=0;ot&&(r[o].collapsed=this.settings.collapseStates[t]),t++,i(r[o].subElements)};i(this.codeElements)}static#e=this.\u0275fac=function(i){return new(i||e)(M(Cp))};static#t=this.\u0275cmp=Kt({type:e,selectors:[["coverage-info"]],hostBindings:function(i,r){1&i&&W("beforeunload",function(){return r.onBeforeUnload()},0,Wa)},decls:1,vars:1,consts:[[4,"ngIf"],[3,"visible","translations","branchCoverageAvailable","methodCoverageAvailable","metrics","showLineCoverage","showBranchCoverage","showMethodCoverage","visibleMetrics","visibleChange","showLineCoverageChange","showBranchCoverageChange","showMethodCoverageChange","visibleMetricsChange",4,"ngIf"],[1,"customizebox"],["href","#",3,"click"],[1,"col-center"],[1,"slider-label"],["type","range","step","1","min","-1",3,"ngModelChange","max","ngModel"],[1,"col-right","right"],["type","button",3,"click"],[1,"icon-cog"],[1,"table-responsive"],[1,"overview","table-fixed","stripped"],[1,"column-min-200"],["class","column90",4,"ngIf"],["class","column105",4,"ngIf"],["class","column100",4,"ngIf"],["class","column70",4,"ngIf"],["class","column98",4,"ngIf"],["class","column112",4,"ngIf"],["class","column112",4,"ngFor","ngForOf"],[1,"header"],["class","center","colspan","6",4,"ngIf"],["class","center","colspan","4",4,"ngIf"],["class","center",4,"ngIf"],[1,"filterbar"],["type","text",3,"ngModelChange","ngModel","placeholder"],[3,"ngClass"],["class","right",4,"ngIf"],["class","center","colspan","2",4,"ngIf"],[4,"ngFor","ngForOf"],[3,"visibleChange","showLineCoverageChange","showBranchCoverageChange","showMethodCoverageChange","visibleMetricsChange","visible","translations","branchCoverageAvailable","methodCoverageAvailable","metrics","showLineCoverage","showBranchCoverage","showMethodCoverage","visibleMetrics"],[3,"ngModelChange","ngModel"],["value",""],[3,"value",4,"ngFor","ngForOf"],[3,"value"],["value","allChanges"],["value","lineCoverageIncreaseOnly"],["value","lineCoverageDecreaseOnly"],["value","branchCoverageIncreaseOnly",4,"ngIf"],["value","branchCoverageDecreaseOnly",4,"ngIf"],["value","methodCoverageIncreaseOnly",4,"ngIf"],["value","methodCoverageDecreaseOnly",4,"ngIf"],["value","branchCoverageIncreaseOnly"],["value","branchCoverageDecreaseOnly"],["value","methodCoverageIncreaseOnly"],["value","methodCoverageDecreaseOnly"],[1,"column90"],[1,"column105"],[1,"column100"],[1,"column70"],[1,"column98"],[1,"column112"],["colspan","6",1,"center"],["colspan","4",1,"center"],[1,"center"],[3,"valueChange","highValueChange","value","highValue","options"],[1,"right"],["colspan","2",1,"center"],["target","_blank",3,"href"],[1,"icon-info-circled"],["codeelement-row","",3,"element","collapsed","lineCoverageAvailable","branchCoverageAvailable","methodCoverageAvailable","visibleMetrics",4,"ngIf"],["codeelement-row","",3,"element","collapsed","lineCoverageAvailable","branchCoverageAvailable","methodCoverageAvailable","visibleMetrics"],["class-row","",3,"clazz","translations","lineCoverageAvailable","branchCoverageAvailable","methodCoverageAvailable","visibleMetrics","historyComparisionDate",4,"ngIf"],["class-row","",3,"clazz","translations","lineCoverageAvailable","branchCoverageAvailable","methodCoverageAvailable","visibleMetrics","historyComparisionDate"],["codeelement-row","",1,"namespace",3,"element","collapsed","lineCoverageAvailable","branchCoverageAvailable","methodCoverageAvailable","visibleMetrics"],["class","namespace","class-row","",3,"clazz","translations","lineCoverageAvailable","branchCoverageAvailable","methodCoverageAvailable","visibleMetrics","historyComparisionDate",4,"ngIf"],["class-row","",1,"namespace",3,"clazz","translations","lineCoverageAvailable","branchCoverageAvailable","methodCoverageAvailable","visibleMetrics","historyComparisionDate"]],template:function(i,r){1&i&&H(0,E3,75,55,"div",0),2&i&&m("ngIf",r.codeElements.length>0)},dependencies:[Jr,Bi,$n,hp,gp,Os,cp,Ps,dc,Ls,SI,aj,Tj,CU],encapsulation:2})}return e})();class b3{constructor(){this.assembly="",this.numberOfRiskHotspots=10,this.filter="",this.sortBy="",this.sortOrder="asc"}}const bc=(e,n,t)=>({"icon-up-dir_active":e,"icon-down-dir_active":n,"icon-up-down-dir":t}),I3=(e,n)=>({lightred:e,lightgreen:n});function M3(e,n){if(1&e&&(C(0,"option",16),b(1),y()),2&e){const t=n.$implicit;m("value",t),f(),A(t)}}function S3(e,n){if(1&e&&(C(0,"span"),b(1),y()),2&e){const t=v(2);f(),A(t.translations.top)}}function T3(e,n){1&e&&(C(0,"option",23),b(1,"20"),y())}function O3(e,n){1&e&&(C(0,"option",24),b(1,"50"),y())}function N3(e,n){1&e&&(C(0,"option",25),b(1,"100"),y())}function A3(e,n){if(1&e&&(C(0,"option",16),b(1),y()),2&e){const t=v(3);m("value",t.totalNumberOfRiskHotspots),f(),A(t.translations.all)}}function x3(e,n){if(1&e){const t=Ie();C(0,"select",17),st("ngModelChange",function(r){G(t);const o=v(2);return Ne(o.settings.numberOfRiskHotspots,r)||(o.settings.numberOfRiskHotspots=r),q(r)}),C(1,"option",18),b(2,"10"),y(),H(3,T3,2,0,"option",19)(4,O3,2,0,"option",20)(5,N3,2,0,"option",21)(6,A3,2,2,"option",22),y()}if(2&e){const t=v(2);tt("ngModel",t.settings.numberOfRiskHotspots),f(3),m("ngIf",t.totalNumberOfRiskHotspots>10),f(),m("ngIf",t.totalNumberOfRiskHotspots>20),f(),m("ngIf",t.totalNumberOfRiskHotspots>50),f(),m("ngIf",t.totalNumberOfRiskHotspots>100)}}function R3(e,n){1&e&&N(0,"col",26)}function L3(e,n){if(1&e){const t=Ie();C(0,"th")(1,"a",13),W("click",function(r){const o=G(t).index;return q(v(2).updateSorting(""+o,r))}),N(2,"i",14),b(3),y(),C(4,"a",27),N(5,"i",28),y()()}if(2&e){const t=n.$implicit,i=n.index,r=v(2);f(2),m("ngClass",Ye(3,bc,r.settings.sortBy===""+i&&"asc"===r.settings.sortOrder,r.settings.sortBy===""+i&&"desc"===r.settings.sortOrder,r.settings.sortBy!==""+i)),f(),A(t.name),f(),Hn("href",t.explanationUrl,Xn)}}function P3(e,n){if(1&e&&(C(0,"td",32),b(1),y()),2&e){const t=n.$implicit;m("ngClass",qf(2,I3,t.exceeded,!t.exceeded)),f(),A(t.value)}}function k3(e,n){if(1&e&&(C(0,"tr")(1,"td"),b(2),y(),C(3,"td")(4,"a",29),b(5),y()(),C(6,"td",30)(7,"a",29),b(8),y()(),H(9,P3,2,5,"td",31),y()),2&e){const t=n.$implicit,i=v(2);f(2),A(t.assembly),f(2),m("href",t.reportPath+i.queryString,Xn),f(),A(t.class),f(),m("title",t.methodName),f(),m("href",t.reportPath+i.queryString+"#file"+t.fileIndex+"_line"+t.line,Xn),f(),K(" ",t.methodShortName," "),f(),m("ngForOf",t.metrics)}}function F3(e,n){if(1&e){const t=Ie();C(0,"div")(1,"div",1)(2,"div")(3,"select",2),st("ngModelChange",function(r){G(t);const o=v();return Ne(o.settings.assembly,r)||(o.settings.assembly=r),q(r)}),W("ngModelChange",function(){return G(t),q(v().updateRiskHotpots())}),C(4,"option",3),b(5),y(),H(6,M3,2,2,"option",4),y()(),C(7,"div",5),H(8,S3,2,1,"span",0)(9,x3,7,5,"select",6),y(),N(10,"div",5),C(11,"div",7)(12,"span"),b(13),y(),C(14,"input",8),st("ngModelChange",function(r){G(t);const o=v();return Ne(o.settings.filter,r)||(o.settings.filter=r),q(r)}),W("ngModelChange",function(){return G(t),q(v().updateRiskHotpots())}),y()()(),C(15,"div",9)(16,"table",10)(17,"colgroup"),N(18,"col",11)(19,"col",11)(20,"col",11),H(21,R3,1,0,"col",12),y(),C(22,"thead")(23,"tr")(24,"th")(25,"a",13),W("click",function(r){return G(t),q(v().updateSorting("assembly",r))}),N(26,"i",14),b(27),y()(),C(28,"th")(29,"a",13),W("click",function(r){return G(t),q(v().updateSorting("class",r))}),N(30,"i",14),b(31),y()(),C(32,"th")(33,"a",13),W("click",function(r){return G(t),q(v().updateSorting("method",r))}),N(34,"i",14),b(35),y()(),H(36,L3,6,7,"th",15),y()(),C(37,"tbody"),H(38,k3,10,7,"tr",15),function Hw(e,n){const t=X();let i;const r=e+P;t.firstCreatePass?(i=function xL(e,n){if(n)for(let t=n.length-1;t>=0;t--){const i=n[t];if(e===i.name)return i}}(n,t.pipeRegistry),t.data[r]=i,i.onDestroy&&(t.destroyHooks??=[]).push(r,i.onDestroy)):i=t.data[r];const o=i.factory||(i.factory=vi(i.type)),a=yt(M);try{const l=Ia(!1),c=o();return Ia(l),function jf(e,n,t,i){t>=e.data.length&&(e.data[t]=null,e.blueprint[t]=null),n[t]=i}(t,w(),r,c),c}finally{yt(a)}}(39,"slice"),y()()()()}if(2&e){const t=v();f(3),tt("ngModel",t.settings.assembly),f(2),A(t.translations.assembly),f(),m("ngForOf",t.assemblies),f(2),m("ngIf",t.totalNumberOfRiskHotspots>10),f(),m("ngIf",t.totalNumberOfRiskHotspots>10),f(4),K("",t.translations.filter," "),f(),tt("ngModel",t.settings.filter),f(7),m("ngForOf",t.riskHotspotMetrics),f(5),m("ngClass",Ye(20,bc,"assembly"===t.settings.sortBy&&"asc"===t.settings.sortOrder,"assembly"===t.settings.sortBy&&"desc"===t.settings.sortOrder,"assembly"!==t.settings.sortBy)),f(),A(t.translations.assembly),f(3),m("ngClass",Ye(24,bc,"class"===t.settings.sortBy&&"asc"===t.settings.sortOrder,"class"===t.settings.sortBy&&"desc"===t.settings.sortOrder,"class"!==t.settings.sortBy)),f(),A(t.translations.class),f(3),m("ngClass",Ye(28,bc,"method"===t.settings.sortBy&&"asc"===t.settings.sortOrder,"method"===t.settings.sortBy&&"desc"===t.settings.sortOrder,"method"!==t.settings.sortBy)),f(),A(t.translations.method),f(),m("ngForOf",t.riskHotspotMetrics),f(2),m("ngForOf",Bw(39,16,t.riskHotspots,0,t.settings.numberOfRiskHotspots))}}let V3=(()=>{class e{constructor(t){this.queryString="",this.riskHotspotMetrics=[],this.riskHotspots=[],this.totalNumberOfRiskHotspots=0,this.assemblies=[],this.translations={},this.settings=new b3,this.window=t.nativeWindow}ngOnInit(){this.riskHotspotMetrics=this.window.riskHotspotMetrics,this.translations=this.window.translations,void 0!==this.window.history&&void 0!==this.window.history.replaceState&&null!==this.window.history.state&&null!=this.window.history.state.riskHotspotsSettings&&(console.log("Risk hotspots: Restoring from history",this.window.history.state.riskHotspotsSettings),this.settings=JSON.parse(JSON.stringify(this.window.history.state.riskHotspotsSettings)));const t=window.location.href.indexOf("?");t>-1&&(this.queryString=window.location.href.substring(t)),this.updateRiskHotpots()}onDonBeforeUnlodad(){if(void 0!==this.window.history&&void 0!==this.window.history.replaceState){console.log("Risk hotspots: Updating history",this.settings);let t=new TI;null!==window.history.state&&(t=JSON.parse(JSON.stringify(this.window.history.state))),t.riskHotspotsSettings=JSON.parse(JSON.stringify(this.settings)),window.history.replaceState(t,"")}}updateRiskHotpots(){const t=this.window.riskHotspots;if(this.totalNumberOfRiskHotspots=t.length,0===this.assemblies.length){let s=[];for(let a=0;a0)},dependencies:[Jr,Bi,$n,hp,gp,Os,Ps,dc,Ls,CD],encapsulation:2})}return e})(),H3=(()=>{class e{static#e=this.\u0275fac=function(i){return new(i||e)};static#t=this.\u0275mod=Yn({type:e,bootstrap:[V3,D3]});static#n=this.\u0275inj=On({providers:[Cp],imports:[f2,aB,QB]})}return e})();u2().bootstrapModule(H3).catch(e=>console.error(e))}},so=>{so(so.s=736)}]);
\ No newline at end of file
diff --git a/coveragereport/report.css b/coveragereport/report.css
new file mode 100644
index 0000000..6d1f766
--- /dev/null
+++ b/coveragereport/report.css
@@ -0,0 +1,819 @@
+:root {
+ --green: #0aad0a;
+ --lightgreen: #dcf4dc;
+}
+
+html { font-family: sans-serif; margin: 0; padding: 0; font-size: 0.9em; background-color: #d6d6d6; height: 100%; }
+body { margin: 0; padding: 0; height: 100%; color: #000; }
+h1 { font-family: 'Century Gothic', sans-serif; font-size: 1.2em; font-weight: normal; color: #fff; background-color: #6f6f6f; padding: 10px; margin: 20px -20px 20px -20px; }
+h1:first-of-type { margin-top: 0; }
+h2 { font-size: 1.0em; font-weight: bold; margin: 10px 0 15px 0; padding: 0; }
+h3 { font-size: 1.0em; font-weight: bold; margin: 0 0 10px 0; padding: 0; display: inline-block; }
+input, select, button { border: 1px solid #767676; border-radius: 0; }
+button { background-color: #ddd; cursor: pointer; }
+a { color: #c00; text-decoration: none; }
+a:hover { color: #000; text-decoration: none; }
+h1 a.back { color: #fff; background-color: #949494; display: inline-block; margin: -12px 5px -10px -10px; padding: 10px; border-right: 1px solid #fff; }
+h1 a.back:hover { background-color: #ccc; }
+h1 a.button { color: #000; background-color: #bebebe; margin: -5px 0 0 10px; padding: 5px 8px 5px 8px; border: 1px solid #fff; font-size: 0.9em; border-radius: 3px; float:right; }
+h1 a.button:hover { background-color: #ccc; }
+h1 a.button i { position: relative; top: 1px; }
+
+.container { margin: auto; max-width: 1650px; width: 90%; background-color: #fff; display: flex; box-shadow: 0 0 60px #7d7d7d; min-height: 100%; }
+.containerleft { padding: 0 20px 20px 20px; flex: 1; min-width: 1%; }
+.containerright { width: 340px; min-width: 340px; background-color: #e5e5e5; height: 100%; }
+.containerrightfixed { position: fixed; padding: 0 20px 20px 20px; border-left: 1px solid #6f6f6f; width: 300px; overflow-y: auto; height: 100%; top: 0; bottom: 0; }
+.containerrightfixed h1 { background-color: #c00; }
+.containerrightfixed label, .containerright a { white-space: nowrap; overflow: hidden; display: inline-block; width: 100%; max-width: 300px; text-overflow: ellipsis; }
+.containerright a { margin-bottom: 3px; }
+
+@media screen and (max-width:1200px){
+ .container { box-shadow: none; width: 100%; }
+ .containerright { display: none; }
+}
+
+.popup-container { position: fixed; left: 0; right: 0; top: 0; bottom: 0; background-color: rgb(0, 0, 0, 0.6); z-index: 100; }
+.popup { position: absolute; top: 50%; right: 50%; transform: translate(50%,-50%); background-color: #fff; padding: 25px; border-radius: 15px; min-width: 300px; }
+.popup .close { text-align: right; color: #979797; font-size: 25px;position: relative; left: 10px; bottom: 10px; cursor: pointer; }
+
+.footer { font-size: 0.7em; text-align: center; margin-top: 35px; }
+
+.card-group { display: flex; flex-wrap: wrap; margin-top: -15px; margin-left: -15px; }
+.card-group + .card-group { margin-top: 0; }
+.card-group .card { margin-top: 15px; margin-left: 15px; display: flex; flex-direction: column; background-color: #e4e4e4; background: radial-gradient(circle, #fefefe 0%, #f6f6f6 100%); border: 1px solid #c1c1c1; padding: 15px; color: #6f6f6f; max-width: 100% }
+.card-group .card .card-header { font-size: 1.5rem; font-family: 'Century Gothic', sans-serif; margin-bottom: 15px; flex-grow: 1; }
+.card-group .card .card-body { display: flex; flex-direction: row; gap: 15px; flex-grow: 1; }
+.card-group .card .card-body div.table { display: flex; flex-direction: column; }
+.card-group .card .large { font-size: 5rem; line-height: 5rem; font-weight: bold; align-self: flex-end; border-left-width: 4px; padding-left: 10px; }
+.card-group .card table { align-self: flex-end; border-collapse: collapse; }
+.card-group .card table tr { border-bottom: 1px solid #c1c1c1; }
+.card-group .card table tr:hover { background-color: #c1c1c1; }
+.card-group .card table tr:last-child { border-bottom: none; }
+.card-group .card table th, .card-group .card table td { padding: 2px; }
+.card-group td.limit-width { max-width: 200px; text-overflow: ellipsis; overflow: hidden; }
+.card-group td.overflow-wrap { overflow-wrap: anywhere; }
+
+.pro-button { color: #fff; background-color: #20A0D2; background-image: linear-gradient(50deg, #1c7ed6 0%, #23b8cf 100%); padding: 10px; border-radius: 3px; font-weight: bold; display: inline-block; }
+.pro-button:hover { color: #fff; background-color: #1C8EB7; background-image: linear-gradient(50deg, #1A6FBA 0%, #1EA1B5 100%); }
+.pro-button-tiny { border-radius: 10px; padding: 3px 8px; }
+
+th { text-align: left; }
+.table-fixed { table-layout: fixed; }
+.table-responsive { overflow-x: auto; }
+.table-responsive::-webkit-scrollbar { height: 20px; }
+.table-responsive::-webkit-scrollbar-thumb { background-color: #6f6f6f; border-radius: 20px; border: 5px solid #fff; }
+.overview { border: 1px solid #c1c1c1; border-collapse: collapse; width: 100%; word-wrap: break-word; }
+.overview th { border: 1px solid #c1c1c1; border-collapse: collapse; padding: 2px 4px 2px 4px; background-color: #ddd; }
+.overview tr.namespace th { background-color: #dcdcdc; }
+.overview thead th { background-color: #d1d1d1; }
+.overview th a { color: #000; }
+.overview tr.namespace a { margin-left: 15px; display: block; }
+.overview td { border: 1px solid #c1c1c1; border-collapse: collapse; padding: 2px 5px 2px 5px; }
+.overview tr.filterbar td { height: 60px; }
+.overview tr.header th { background-color: #d1d1d1; }
+.overview tr.header th:nth-child(2n+1) { background-color: #ddd; }
+.overview tr.header th:first-child { border-left: 1px solid #fff; border-top: 1px solid #fff; background-color: #fff; }
+.overview tbody tr:hover>td { background-color: #b0b0b0; }
+
+div.currenthistory { margin: -2px -5px 0 -5px; padding: 2px 5px 2px 5px; height: 16px; }
+.coverage { border-collapse: collapse; font-size: 5px; height: 10px; }
+.coverage td { padding: 0; border: none; }
+.stripped tr:nth-child(2n+1) { background-color: #F3F3F3; }
+
+.customizebox { font-size: 0.75em; margin-bottom: 7px; display: grid; grid-template-columns: 1fr; grid-template-rows: auto auto auto auto; grid-column-gap: 10px; grid-row-gap: 10px; }
+.customizebox>div { align-self: end; }
+.customizebox div.col-right input { width: 150px; }
+
+@media screen and (min-width: 1000px) {
+ .customizebox { grid-template-columns: repeat(4, 1fr); grid-template-rows: 1fr; }
+ .customizebox div.col-center { justify-self: center; }
+ .customizebox div.col-right { justify-self: end; }
+}
+.slider-label { position: relative; left: 85px; }
+
+.percentagebar {
+ padding-left: 3px;
+}
+a.percentagebar {
+ padding-left: 6px;
+}
+.percentagebarundefined {
+ border-left: 2px solid #fff;
+}
+.percentagebar0 {
+ border-left: 2px solid #c10909;
+}
+.percentagebar10 {
+ border-left: 2px solid;
+ border-image: linear-gradient(to bottom, #c10909 90%, var(--green) 90%, var(--green) 100%) 1;
+}
+.percentagebar20 {
+ border-left: 2px solid;
+ border-image: linear-gradient(to bottom, #c10909 80%, var(--green) 80%, var(--green) 100%) 1;
+}
+.percentagebar30 {
+ border-left: 2px solid;
+ border-image: linear-gradient(to bottom, #c10909 70%, var(--green) 70%, var(--green) 100%) 1;
+}
+.percentagebar40 {
+ border-left: 2px solid;
+ border-image: linear-gradient(to bottom, #c10909 60%, var(--green) 60%, var(--green) 100%) 1;
+}
+.percentagebar50 {
+ border-left: 2px solid;
+ border-image: linear-gradient(to bottom, #c10909 50%, var(--green) 50%, var(--green) 100%) 1;
+}
+.percentagebar60 {
+ border-left: 2px solid;
+ border-image: linear-gradient(to bottom, #c10909 40%, var(--green) 40%, var(--green) 100%) 1;
+}
+.percentagebar70 {
+ border-left: 2px solid;
+ border-image: linear-gradient(to bottom, #c10909 30%, var(--green) 30%, var(--green) 100%) 1;
+}
+.percentagebar80 {
+ border-left: 2px solid;
+ border-image: linear-gradient(to bottom, #c10909 20%, var(--green) 20%, var(--green) 100%) 1;
+}
+.percentagebar90 {
+ border-left: 2px solid;
+ border-image: linear-gradient(to bottom, #c10909 10%, var(--green) 10%, var(--green) 100%) 1;
+}
+.percentagebar100 {
+ border-left: 2px solid var(--green);
+}
+
+.mt-1 { margin-top: 4px; }
+.hidden, .ng-hide { display: none; }
+.right { text-align: right; }
+.center { text-align: center; }
+.rightmargin { padding-right: 8px; }
+.leftmargin { padding-left: 5px; }
+.green { background-color: var(--green); }
+.lightgreen { background-color: var(--lightgreen); }
+.red { background-color: #c10909; }
+.lightred { background-color: #f7dede; }
+.orange { background-color: #FFA500; }
+.lightorange { background-color: #FFEFD5; }
+.gray { background-color: #dcdcdc; }
+.lightgray { color: #888888; }
+.lightgraybg { background-color: #dadada; }
+
+code { font-family: Consolas, monospace; font-size: 0.9em; }
+
+.toggleZoom { text-align:right; }
+
+.historychart svg { max-width: 100%; }
+.ct-chart { position: relative; }
+.ct-chart .ct-line { stroke-width: 2px !important; }
+.ct-chart .ct-point { stroke-width: 6px !important; transition: stroke-width .2s; }
+.ct-chart .ct-point:hover { stroke-width: 10px !important; }
+.ct-chart .ct-series.ct-series-a .ct-line, .ct-chart .ct-series.ct-series-a .ct-point { stroke: #c00 !important;}
+.ct-chart .ct-series.ct-series-b .ct-line, .ct-chart .ct-series.ct-series-b .ct-point { stroke: #1c2298 !important;}
+.ct-chart .ct-series.ct-series-c .ct-line, .ct-chart .ct-series.ct-series-c .ct-point { stroke: #0aad0a !important;}
+
+.tinylinecoveragechart, .tinybranchcoveragechart, .tinymethodcoveragechart { background-color: #fff; margin-left: -3px; float: left; border: 1px solid #c1c1c1; width: 30px; height: 18px; }
+.historiccoverageoffset { margin-top: 7px; }
+
+.tinylinecoveragechart .ct-line, .tinybranchcoveragechart .ct-line, .tinymethodcoveragechart .ct-line { stroke-width: 1px !important; }
+.tinybranchcoveragechart .ct-series.ct-series-a .ct-line { stroke: #1c2298 !important; }
+.tinymethodcoveragechart .ct-series.ct-series-a .ct-line { stroke: #0aad0a !important; }
+
+.linecoverage { background-color: #c00; width: 10px; height: 8px; border: 1px solid #000; display: inline-block; }
+.branchcoverage { background-color: #1c2298; width: 10px; height: 8px; border: 1px solid #000; display: inline-block; }
+.codeelementcoverage { background-color: #0aad0a; width: 10px; height: 8px; border: 1px solid #000; display: inline-block; }
+
+.tooltip { position: absolute; display: none; padding: 5px; background: #F4C63D; color: #453D3F; pointer-events: none; z-index: 1; min-width: 250px; }
+
+.column-min-200 { min-width: 200px; }
+.column60 { width: 60px; }
+.column70 { width: 70px; }
+.column90 { width: 90px; }
+.column98 { width: 98px; }
+.column100 { width: 100px; }
+.column105 { width: 105px; }
+.column112 { width: 112px; }
+
+.cardpercentagebar { border-left-style: solid; }
+.cardpercentagebar0 { border-image: linear-gradient(to bottom, #c10909 0%, #c10909 0%, var(--green) 0%) 1; }
+.cardpercentagebar1 { border-image: linear-gradient(to bottom, #c10909 1%, #c10909 1%, var(--green) 1%) 1; }
+.cardpercentagebar2 { border-image: linear-gradient(to bottom, #c10909 2%, #c10909 2%, var(--green) 2%) 1; }
+.cardpercentagebar3 { border-image: linear-gradient(to bottom, #c10909 3%, #c10909 3%, var(--green) 3%) 1; }
+.cardpercentagebar4 { border-image: linear-gradient(to bottom, #c10909 4%, #c10909 4%, var(--green) 4%) 1; }
+.cardpercentagebar5 { border-image: linear-gradient(to bottom, #c10909 5%, #c10909 5%, var(--green) 5%) 1; }
+.cardpercentagebar6 { border-image: linear-gradient(to bottom, #c10909 6%, #c10909 6%, var(--green) 6%) 1; }
+.cardpercentagebar7 { border-image: linear-gradient(to bottom, #c10909 7%, #c10909 7%, var(--green) 7%) 1; }
+.cardpercentagebar8 { border-image: linear-gradient(to bottom, #c10909 8%, #c10909 8%, var(--green) 8%) 1; }
+.cardpercentagebar9 { border-image: linear-gradient(to bottom, #c10909 9%, #c10909 9%, var(--green) 9%) 1; }
+.cardpercentagebar10 { border-image: linear-gradient(to bottom, #c10909 0%, #c10909 10%, var(--green) 10%) 1; }
+.cardpercentagebar11 { border-image: linear-gradient(to bottom, #c10909 0%, #c10909 11%, var(--green) 11%) 1; }
+.cardpercentagebar12 { border-image: linear-gradient(to bottom, #c10909 0%, #c10909 12%, var(--green) 12%) 1; }
+.cardpercentagebar13 { border-image: linear-gradient(to bottom, #c10909 0%, #c10909 13%, var(--green) 13%) 1; }
+.cardpercentagebar14 { border-image: linear-gradient(to bottom, #c10909 0%, #c10909 14%, var(--green) 14%) 1; }
+.cardpercentagebar15 { border-image: linear-gradient(to bottom, #c10909 0%, #c10909 15%, var(--green) 15%) 1; }
+.cardpercentagebar16 { border-image: linear-gradient(to bottom, #c10909 0%, #c10909 16%, var(--green) 16%) 1; }
+.cardpercentagebar17 { border-image: linear-gradient(to bottom, #c10909 0%, #c10909 17%, var(--green) 17%) 1; }
+.cardpercentagebar18 { border-image: linear-gradient(to bottom, #c10909 0%, #c10909 18%, var(--green) 18%) 1; }
+.cardpercentagebar19 { border-image: linear-gradient(to bottom, #c10909 0%, #c10909 19%, var(--green) 19%) 1; }
+.cardpercentagebar20 { border-image: linear-gradient(to bottom, #c10909 0%, #c10909 20%, var(--green) 20%) 1; }
+.cardpercentagebar21 { border-image: linear-gradient(to bottom, #c10909 0%, #c10909 21%, var(--green) 21%) 1; }
+.cardpercentagebar22 { border-image: linear-gradient(to bottom, #c10909 0%, #c10909 22%, var(--green) 22%) 1; }
+.cardpercentagebar23 { border-image: linear-gradient(to bottom, #c10909 0%, #c10909 23%, var(--green) 23%) 1; }
+.cardpercentagebar24 { border-image: linear-gradient(to bottom, #c10909 0%, #c10909 24%, var(--green) 24%) 1; }
+.cardpercentagebar25 { border-image: linear-gradient(to bottom, #c10909 0%, #c10909 25%, var(--green) 25%) 1; }
+.cardpercentagebar26 { border-image: linear-gradient(to bottom, #c10909 0%, #c10909 26%, var(--green) 26%) 1; }
+.cardpercentagebar27 { border-image: linear-gradient(to bottom, #c10909 0%, #c10909 27%, var(--green) 27%) 1; }
+.cardpercentagebar28 { border-image: linear-gradient(to bottom, #c10909 0%, #c10909 28%, var(--green) 28%) 1; }
+.cardpercentagebar29 { border-image: linear-gradient(to bottom, #c10909 0%, #c10909 29%, var(--green) 29%) 1; }
+.cardpercentagebar30 { border-image: linear-gradient(to bottom, #c10909 0%, #c10909 30%, var(--green) 30%) 1; }
+.cardpercentagebar31 { border-image: linear-gradient(to bottom, #c10909 0%, #c10909 31%, var(--green) 31%) 1; }
+.cardpercentagebar32 { border-image: linear-gradient(to bottom, #c10909 0%, #c10909 32%, var(--green) 32%) 1; }
+.cardpercentagebar33 { border-image: linear-gradient(to bottom, #c10909 0%, #c10909 33%, var(--green) 33%) 1; }
+.cardpercentagebar34 { border-image: linear-gradient(to bottom, #c10909 0%, #c10909 34%, var(--green) 34%) 1; }
+.cardpercentagebar35 { border-image: linear-gradient(to bottom, #c10909 0%, #c10909 35%, var(--green) 35%) 1; }
+.cardpercentagebar36 { border-image: linear-gradient(to bottom, #c10909 0%, #c10909 36%, var(--green) 36%) 1; }
+.cardpercentagebar37 { border-image: linear-gradient(to bottom, #c10909 0%, #c10909 37%, var(--green) 37%) 1; }
+.cardpercentagebar38 { border-image: linear-gradient(to bottom, #c10909 0%, #c10909 38%, var(--green) 38%) 1; }
+.cardpercentagebar39 { border-image: linear-gradient(to bottom, #c10909 0%, #c10909 39%, var(--green) 39%) 1; }
+.cardpercentagebar40 { border-image: linear-gradient(to bottom, #c10909 0%, #c10909 40%, var(--green) 40%) 1; }
+.cardpercentagebar41 { border-image: linear-gradient(to bottom, #c10909 0%, #c10909 41%, var(--green) 41%) 1; }
+.cardpercentagebar42 { border-image: linear-gradient(to bottom, #c10909 0%, #c10909 42%, var(--green) 42%) 1; }
+.cardpercentagebar43 { border-image: linear-gradient(to bottom, #c10909 0%, #c10909 43%, var(--green) 43%) 1; }
+.cardpercentagebar44 { border-image: linear-gradient(to bottom, #c10909 0%, #c10909 44%, var(--green) 44%) 1; }
+.cardpercentagebar45 { border-image: linear-gradient(to bottom, #c10909 0%, #c10909 45%, var(--green) 45%) 1; }
+.cardpercentagebar46 { border-image: linear-gradient(to bottom, #c10909 0%, #c10909 46%, var(--green) 46%) 1; }
+.cardpercentagebar47 { border-image: linear-gradient(to bottom, #c10909 0%, #c10909 47%, var(--green) 47%) 1; }
+.cardpercentagebar48 { border-image: linear-gradient(to bottom, #c10909 0%, #c10909 48%, var(--green) 48%) 1; }
+.cardpercentagebar49 { border-image: linear-gradient(to bottom, #c10909 0%, #c10909 49%, var(--green) 49%) 1; }
+.cardpercentagebar50 { border-image: linear-gradient(to bottom, #c10909 0%, #c10909 50%, var(--green) 50%) 1; }
+.cardpercentagebar51 { border-image: linear-gradient(to bottom, #c10909 0%, #c10909 51%, var(--green) 51%) 1; }
+.cardpercentagebar52 { border-image: linear-gradient(to bottom, #c10909 0%, #c10909 52%, var(--green) 52%) 1; }
+.cardpercentagebar53 { border-image: linear-gradient(to bottom, #c10909 0%, #c10909 53%, var(--green) 53%) 1; }
+.cardpercentagebar54 { border-image: linear-gradient(to bottom, #c10909 0%, #c10909 54%, var(--green) 54%) 1; }
+.cardpercentagebar55 { border-image: linear-gradient(to bottom, #c10909 0%, #c10909 55%, var(--green) 55%) 1; }
+.cardpercentagebar56 { border-image: linear-gradient(to bottom, #c10909 0%, #c10909 56%, var(--green) 56%) 1; }
+.cardpercentagebar57 { border-image: linear-gradient(to bottom, #c10909 0%, #c10909 57%, var(--green) 57%) 1; }
+.cardpercentagebar58 { border-image: linear-gradient(to bottom, #c10909 0%, #c10909 58%, var(--green) 58%) 1; }
+.cardpercentagebar59 { border-image: linear-gradient(to bottom, #c10909 0%, #c10909 59%, var(--green) 59%) 1; }
+.cardpercentagebar60 { border-image: linear-gradient(to bottom, #c10909 0%, #c10909 60%, var(--green) 60%) 1; }
+.cardpercentagebar61 { border-image: linear-gradient(to bottom, #c10909 0%, #c10909 61%, var(--green) 61%) 1; }
+.cardpercentagebar62 { border-image: linear-gradient(to bottom, #c10909 0%, #c10909 62%, var(--green) 62%) 1; }
+.cardpercentagebar63 { border-image: linear-gradient(to bottom, #c10909 0%, #c10909 63%, var(--green) 63%) 1; }
+.cardpercentagebar64 { border-image: linear-gradient(to bottom, #c10909 0%, #c10909 64%, var(--green) 64%) 1; }
+.cardpercentagebar65 { border-image: linear-gradient(to bottom, #c10909 0%, #c10909 65%, var(--green) 65%) 1; }
+.cardpercentagebar66 { border-image: linear-gradient(to bottom, #c10909 0%, #c10909 66%, var(--green) 66%) 1; }
+.cardpercentagebar67 { border-image: linear-gradient(to bottom, #c10909 0%, #c10909 67%, var(--green) 67%) 1; }
+.cardpercentagebar68 { border-image: linear-gradient(to bottom, #c10909 0%, #c10909 68%, var(--green) 68%) 1; }
+.cardpercentagebar69 { border-image: linear-gradient(to bottom, #c10909 0%, #c10909 69%, var(--green) 69%) 1; }
+.cardpercentagebar70 { border-image: linear-gradient(to bottom, #c10909 0%, #c10909 70%, var(--green) 70%) 1; }
+.cardpercentagebar71 { border-image: linear-gradient(to bottom, #c10909 0%, #c10909 71%, var(--green) 71%) 1; }
+.cardpercentagebar72 { border-image: linear-gradient(to bottom, #c10909 0%, #c10909 72%, var(--green) 72%) 1; }
+.cardpercentagebar73 { border-image: linear-gradient(to bottom, #c10909 0%, #c10909 73%, var(--green) 73%) 1; }
+.cardpercentagebar74 { border-image: linear-gradient(to bottom, #c10909 0%, #c10909 74%, var(--green) 74%) 1; }
+.cardpercentagebar75 { border-image: linear-gradient(to bottom, #c10909 0%, #c10909 75%, var(--green) 75%) 1; }
+.cardpercentagebar76 { border-image: linear-gradient(to bottom, #c10909 0%, #c10909 76%, var(--green) 76%) 1; }
+.cardpercentagebar77 { border-image: linear-gradient(to bottom, #c10909 0%, #c10909 77%, var(--green) 77%) 1; }
+.cardpercentagebar78 { border-image: linear-gradient(to bottom, #c10909 0%, #c10909 78%, var(--green) 78%) 1; }
+.cardpercentagebar79 { border-image: linear-gradient(to bottom, #c10909 0%, #c10909 79%, var(--green) 79%) 1; }
+.cardpercentagebar80 { border-image: linear-gradient(to bottom, #c10909 0%, #c10909 80%, var(--green) 80%) 1; }
+.cardpercentagebar81 { border-image: linear-gradient(to bottom, #c10909 0%, #c10909 81%, var(--green) 81%) 1; }
+.cardpercentagebar82 { border-image: linear-gradient(to bottom, #c10909 0%, #c10909 82%, var(--green) 82%) 1; }
+.cardpercentagebar83 { border-image: linear-gradient(to bottom, #c10909 0%, #c10909 83%, var(--green) 83%) 1; }
+.cardpercentagebar84 { border-image: linear-gradient(to bottom, #c10909 0%, #c10909 84%, var(--green) 84%) 1; }
+.cardpercentagebar85 { border-image: linear-gradient(to bottom, #c10909 0%, #c10909 85%, var(--green) 85%) 1; }
+.cardpercentagebar86 { border-image: linear-gradient(to bottom, #c10909 0%, #c10909 86%, var(--green) 86%) 1; }
+.cardpercentagebar87 { border-image: linear-gradient(to bottom, #c10909 0%, #c10909 87%, var(--green) 87%) 1; }
+.cardpercentagebar88 { border-image: linear-gradient(to bottom, #c10909 0%, #c10909 88%, var(--green) 88%) 1; }
+.cardpercentagebar89 { border-image: linear-gradient(to bottom, #c10909 0%, #c10909 89%, var(--green) 89%) 1; }
+.cardpercentagebar90 { border-image: linear-gradient(to bottom, #c10909 0%, #c10909 90%, var(--green) 90%) 1; }
+.cardpercentagebar91 { border-image: linear-gradient(to bottom, #c10909 0%, #c10909 91%, var(--green) 91%) 1; }
+.cardpercentagebar92 { border-image: linear-gradient(to bottom, #c10909 0%, #c10909 92%, var(--green) 92%) 1; }
+.cardpercentagebar93 { border-image: linear-gradient(to bottom, #c10909 0%, #c10909 93%, var(--green) 93%) 1; }
+.cardpercentagebar94 { border-image: linear-gradient(to bottom, #c10909 0%, #c10909 94%, var(--green) 94%) 1; }
+.cardpercentagebar95 { border-image: linear-gradient(to bottom, #c10909 0%, #c10909 95%, var(--green) 95%) 1; }
+.cardpercentagebar96 { border-image: linear-gradient(to bottom, #c10909 0%, #c10909 96%, var(--green) 96%) 1; }
+.cardpercentagebar97 { border-image: linear-gradient(to bottom, #c10909 0%, #c10909 97%, var(--green) 97%) 1; }
+.cardpercentagebar98 { border-image: linear-gradient(to bottom, #c10909 0%, #c10909 98%, var(--green) 98%) 1; }
+.cardpercentagebar99 { border-image: linear-gradient(to bottom, #c10909 0%, #c10909 99%, var(--green) 99%) 1; }
+.cardpercentagebar100 { border-image: linear-gradient(to bottom, #c10909 0%, #c10909 100%, var(--green) 100%) 1; }
+
+.covered0 { width: 0px; }
+.covered1 { width: 1px; }
+.covered2 { width: 2px; }
+.covered3 { width: 3px; }
+.covered4 { width: 4px; }
+.covered5 { width: 5px; }
+.covered6 { width: 6px; }
+.covered7 { width: 7px; }
+.covered8 { width: 8px; }
+.covered9 { width: 9px; }
+.covered10 { width: 10px; }
+.covered11 { width: 11px; }
+.covered12 { width: 12px; }
+.covered13 { width: 13px; }
+.covered14 { width: 14px; }
+.covered15 { width: 15px; }
+.covered16 { width: 16px; }
+.covered17 { width: 17px; }
+.covered18 { width: 18px; }
+.covered19 { width: 19px; }
+.covered20 { width: 20px; }
+.covered21 { width: 21px; }
+.covered22 { width: 22px; }
+.covered23 { width: 23px; }
+.covered24 { width: 24px; }
+.covered25 { width: 25px; }
+.covered26 { width: 26px; }
+.covered27 { width: 27px; }
+.covered28 { width: 28px; }
+.covered29 { width: 29px; }
+.covered30 { width: 30px; }
+.covered31 { width: 31px; }
+.covered32 { width: 32px; }
+.covered33 { width: 33px; }
+.covered34 { width: 34px; }
+.covered35 { width: 35px; }
+.covered36 { width: 36px; }
+.covered37 { width: 37px; }
+.covered38 { width: 38px; }
+.covered39 { width: 39px; }
+.covered40 { width: 40px; }
+.covered41 { width: 41px; }
+.covered42 { width: 42px; }
+.covered43 { width: 43px; }
+.covered44 { width: 44px; }
+.covered45 { width: 45px; }
+.covered46 { width: 46px; }
+.covered47 { width: 47px; }
+.covered48 { width: 48px; }
+.covered49 { width: 49px; }
+.covered50 { width: 50px; }
+.covered51 { width: 51px; }
+.covered52 { width: 52px; }
+.covered53 { width: 53px; }
+.covered54 { width: 54px; }
+.covered55 { width: 55px; }
+.covered56 { width: 56px; }
+.covered57 { width: 57px; }
+.covered58 { width: 58px; }
+.covered59 { width: 59px; }
+.covered60 { width: 60px; }
+.covered61 { width: 61px; }
+.covered62 { width: 62px; }
+.covered63 { width: 63px; }
+.covered64 { width: 64px; }
+.covered65 { width: 65px; }
+.covered66 { width: 66px; }
+.covered67 { width: 67px; }
+.covered68 { width: 68px; }
+.covered69 { width: 69px; }
+.covered70 { width: 70px; }
+.covered71 { width: 71px; }
+.covered72 { width: 72px; }
+.covered73 { width: 73px; }
+.covered74 { width: 74px; }
+.covered75 { width: 75px; }
+.covered76 { width: 76px; }
+.covered77 { width: 77px; }
+.covered78 { width: 78px; }
+.covered79 { width: 79px; }
+.covered80 { width: 80px; }
+.covered81 { width: 81px; }
+.covered82 { width: 82px; }
+.covered83 { width: 83px; }
+.covered84 { width: 84px; }
+.covered85 { width: 85px; }
+.covered86 { width: 86px; }
+.covered87 { width: 87px; }
+.covered88 { width: 88px; }
+.covered89 { width: 89px; }
+.covered90 { width: 90px; }
+.covered91 { width: 91px; }
+.covered92 { width: 92px; }
+.covered93 { width: 93px; }
+.covered94 { width: 94px; }
+.covered95 { width: 95px; }
+.covered96 { width: 96px; }
+.covered97 { width: 97px; }
+.covered98 { width: 98px; }
+.covered99 { width: 99px; }
+.covered100 { width: 100px; }
+
+ @media print {
+ html, body { background-color: #fff; }
+ .container { max-width: 100%; width: 100%; padding: 0; }
+ .overview colgroup col:first-child { width: 300px; }
+}
+
+.icon-up-down-dir {
+ background-image: url(icon_up-down-dir.svg), url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4KPHN2ZyB3aWR0aD0iMTc5MiIgaGVpZ2h0PSIxNzkyIiB2aWV3Qm94PSIwIDAgMTc5MiAxNzkyIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjxwYXRoIGQ9Im0gMTQwOCw3NDIgcSAwLDI2IC0xOSw0NSAtMTksMTkgLTQ1LDE5IEggNDQ4IHEgLTI2LDAgLTQ1LC0xOSAtMTksLTE5IC0xOSwtNDUgMCwtMjYgMTksLTQ1IEwgODUxLDI0OSBxIDE5LC0xOSA0NSwtMTkgMjYsMCA0NSwxOSBsIDQ0OCw0NDggcSAxOSwxOSAxOSw0NSB6IiAvPjxwYXRoIGQ9Im0gMTQwOCwxMDUwIHEgMCwyNiAtMTksNDUgbCAtNDQ4LDQ0OCBxIC0xOSwxOSAtNDUsMTkgLTI2LDAgLTQ1LC0xOSBMIDQwMywxMDk1IHEgLTE5LC0xOSAtMTksLTQ1IDAsLTI2IDE5LC00NSAxOSwtMTkgNDUsLTE5IGggODk2IHEgMjYsMCA0NSwxOSAxOSwxOSAxOSw0NSB6IiAvPjwvc3ZnPg==);
+ background-repeat: no-repeat;
+ background-size: contain;
+ padding-left: 15px;
+ height: 0.9em;
+ display: inline-block;
+ position: relative;
+ top: 3px;
+}
+.icon-up-dir_active {
+ background-image: url(icon_up-dir.svg), url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4KPHN2ZyB3aWR0aD0iMTc5MiIgaGVpZ2h0PSIxNzkyIiB2aWV3Qm94PSIwIDAgMTc5MiAxNzkyIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjxwYXRoIGZpbGw9IiNjMDAiIGQ9Ik0xNDA4IDEyMTZxMCAyNi0xOSA0NXQtNDUgMTloLTg5NnEtMjYgMC00NS0xOXQtMTktNDUgMTktNDVsNDQ4LTQ0OHExOS0xOSA0NS0xOXQ0NSAxOWw0NDggNDQ4cTE5IDE5IDE5IDQ1eiIvPjwvc3ZnPg==);
+ background-repeat: no-repeat;
+ background-size: contain;
+ padding-left: 15px;
+ height: 0.9em;
+ display: inline-block;
+ position: relative;
+ top: 3px;
+}
+.icon-down-dir_active {
+ background-image: url(icon_up-dir_active.svg), url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4KPHN2ZyB3aWR0aD0iMTc5MiIgaGVpZ2h0PSIxNzkyIiB2aWV3Qm94PSIwIDAgMTc5MiAxNzkyIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjxwYXRoIGZpbGw9IiNjMDAiIGQ9Ik0xNDA4IDcwNHEwIDI2LTE5IDQ1bC00NDggNDQ4cS0xOSAxOS00NSAxOXQtNDUtMTlsLTQ0OC00NDhxLTE5LTE5LTE5LTQ1dDE5LTQ1IDQ1LTE5aDg5NnEyNiAwIDQ1IDE5dDE5IDQ1eiIvPjwvc3ZnPg==);
+ background-repeat: no-repeat;
+ background-size: contain;
+ padding-left: 15px;
+ height: 0.9em;
+ display: inline-block;
+ position: relative;
+ top: 3px;
+}
+.icon-info-circled {
+ background-image: url(icon_info-circled.svg), url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4KPHN2ZyB3aWR0aD0iMTc5MiIgaGVpZ2h0PSIxNzkyIiB2aWV3Qm94PSIwIDAgMTc5MiAxNzkyIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjxjaXJjbGUgY3g9Ijg5NiIgY3k9Ijg5NiIgcj0iNzUwIiBmaWxsPSIjZmZmIiAvPjxwYXRoIGZpbGw9IiMyOEE1RkYiIGQ9Ik0xMTUyIDEzNzZ2LTE2MHEwLTE0LTktMjN0LTIzLTloLTk2di01MTJxMC0xNC05LTIzdC0yMy05aC0zMjBxLTE0IDAtMjMgOXQtOSAyM3YxNjBxMCAxNCA5IDIzdDIzIDloOTZ2MzIwaC05NnEtMTQgMC0yMyA5dC05IDIzdjE2MHEwIDE0IDkgMjN0MjMgOWg0NDhxMTQgMCAyMy05dDktMjN6bS0xMjgtODk2di0xNjBxMC0xNC05LTIzdC0yMy05aC0xOTJxLTE0IDAtMjMgOXQtOSAyM3YxNjBxMCAxNCA5IDIzdDIzIDloMTkycTE0IDAgMjMtOXQ5LTIzem02NDAgNDE2cTAgMjA5LTEwMyAzODUuNXQtMjc5LjUgMjc5LjUtMzg1LjUgMTAzLTM4NS41LTEwMy0yNzkuNS0yNzkuNS0xMDMtMzg1LjUgMTAzLTM4NS41IDI3OS41LTI3OS41IDM4NS41LTEwMyAzODUuNSAxMDMgMjc5LjUgMjc5LjUgMTAzIDM4NS41eiIvPjwvc3ZnPg==);
+ background-repeat: no-repeat;
+ background-size: contain;
+ padding-left: 15px;
+ height: 0.9em;
+ display: inline-block;
+}
+.icon-plus {
+ background-image: url(icon_plus.svg), url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4KPHN2ZyB3aWR0aD0iMTc5MiIgaGVpZ2h0PSIxNzkyIiB2aWV3Qm94PSIwIDAgMTc5MiAxNzkyIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjxwYXRoIGQ9Ik0xNjAwIDczNnYxOTJxMCA0MC0yOCA2OHQtNjggMjhoLTQxNnY0MTZxMCA0MC0yOCA2OHQtNjggMjhoLTE5MnEtNDAgMC02OC0yOHQtMjgtNjh2LTQxNmgtNDE2cS00MCAwLTY4LTI4dC0yOC02OHYtMTkycTAtNDAgMjgtNjh0NjgtMjhoNDE2di00MTZxMC00MCAyOC02OHQ2OC0yOGgxOTJxNDAgMCA2OCAyOHQyOCA2OHY0MTZoNDE2cTQwIDAgNjggMjh0MjggNjh6Ii8+PC9zdmc+);
+ background-repeat: no-repeat;
+ background-size: contain;
+ padding-left: 15px;
+ height: 0.9em;
+ display: inline-block;
+ position: relative;
+ top: 3px;
+}
+.icon-minus {
+ background-image: url(icon_minus.svg), url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4KPHN2ZyB3aWR0aD0iMTc5MiIgaGVpZ2h0PSIxNzkyIiB2aWV3Qm94PSIwIDAgMTc5MiAxNzkyIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjxwYXRoIGZpbGw9IiNjMDAiIGQ9Ik0xNjAwIDczNnYxOTJxMCA0MC0yOCA2OHQtNjggMjhoLTEyMTZxLTQwIDAtNjgtMjh0LTI4LTY4di0xOTJxMC00MCAyOC02OHQ2OC0yOGgxMjE2cTQwIDAgNjggMjh0MjggNjh6Ii8+PC9zdmc+);
+ background-repeat: no-repeat;
+ background-size: contain;
+ padding-left: 15px;
+ height: 0.9em;
+ display: inline-block;
+ position: relative;
+ top: 3px;
+}
+.icon-wrench {
+ background-image: url(icon_wrench.svg), url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4KPHN2ZyB3aWR0aD0iMTc5MiIgaGVpZ2h0PSIxNzkyIiB2aWV3Qm94PSIwIDAgMTc5MiAxNzkyIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjxwYXRoIGQ9Ik00NDggMTQ3MnEwLTI2LTE5LTQ1dC00NS0xOS00NSAxOS0xOSA0NSAxOSA0NSA0NSAxOSA0NS0xOSAxOS00NXptNjQ0LTQyMGwtNjgyIDY4MnEtMzcgMzctOTAgMzctNTIgMC05MS0zN2wtMTA2LTEwOHEtMzgtMzYtMzgtOTAgMC01MyAzOC05MWw2ODEtNjgxcTM5IDk4IDExNC41IDE3My41dDE3My41IDExNC41em02MzQtNDM1cTAgMzktMjMgMTA2LTQ3IDEzNC0xNjQuNSAyMTcuNXQtMjU4LjUgODMuNXEtMTg1IDAtMzE2LjUtMTMxLjV0LTEzMS41LTMxNi41IDEzMS41LTMxNi41IDMxNi41LTEzMS41cTU4IDAgMTIxLjUgMTYuNXQxMDcuNSA0Ni41cTE2IDExIDE2IDI4dC0xNiAyOGwtMjkzIDE2OXYyMjRsMTkzIDEwN3E1LTMgNzktNDguNXQxMzUuNS04MSA3MC41LTM1LjVxMTUgMCAyMy41IDEwdDguNSAyNXoiLz48L3N2Zz4=);
+ background-repeat: no-repeat;
+ background-size: contain;
+ padding-left: 20px;
+ height: 0.9em;
+ display: inline-block;
+}
+.icon-cog {
+ background-image: url(icon_cog.svg), url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz48c3ZnIHdpZHRoPSI1MTIiIGhlaWdodD0iNTEyIiB2aWV3Qm94PSIwIDAgNTEyIDUxMiIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj48cGF0aCBkPSJNNDQ0Ljc4OCAyOTEuMWw0Mi42MTYgMjQuNTk5YzQuODY3IDIuODA5IDcuMTI2IDguNjE4IDUuNDU5IDEzLjk4NS0xMS4wNyAzNS42NDItMjkuOTcgNjcuODQyLTU0LjY4OSA5NC41ODZhMTIuMDE2IDEyLjAxNiAwIDAgMS0xNC44MzIgMi4yNTRsLTQyLjU4NC0yNC41OTVhMTkxLjU3NyAxOTEuNTc3IDAgMCAxLTYwLjc1OSAzNS4xM3Y0OS4xODJhMTIuMDEgMTIuMDEgMCAwIDEtOS4zNzcgMTEuNzE4Yy0zNC45NTYgNy44NS03Mi40OTkgOC4yNTYtMTA5LjIxOS4wMDctNS40OS0xLjIzMy05LjQwMy02LjA5Ni05LjQwMy0xMS43MjN2LTQ5LjE4NGExOTEuNTU1IDE5MS41NTUgMCAwIDEtNjAuNzU5LTM1LjEzbC00Mi41ODQgMjQuNTk1YTEyLjAxNiAxMi4wMTYgMCAwIDEtMTQuODMyLTIuMjU0Yy0yNC43MTgtMjYuNzQ0LTQzLjYxOS01OC45NDQtNTQuNjg5LTk0LjU4Ni0xLjY2Ny01LjM2Ni41OTItMTEuMTc1IDUuNDU5LTEzLjk4NUw2Ny4yMTIgMjkxLjFhMTkzLjQ4IDE5My40OCAwIDAgMSAwLTcwLjE5OWwtNDIuNjE2LTI0LjU5OWMtNC44NjctMi44MDktNy4xMjYtOC42MTgtNS40NTktMTMuOTg1IDExLjA3LTM1LjY0MiAyOS45Ny02Ny44NDIgNTQuNjg5LTk0LjU4NmExMi4wMTYgMTIuMDE2IDAgMCAxIDE0LjgzMi0yLjI1NGw0Mi41ODQgMjQuNTk1YTE5MS41NzcgMTkxLjU3NyAwIDAgMSA2MC43NTktMzUuMTNWMjUuNzU5YTEyLjAxIDEyLjAxIDAgMCAxIDkuMzc3LTExLjcxOGMzNC45NTYtNy44NSA3Mi40OTktOC4yNTYgMTA5LjIxOS0uMDA3IDUuNDkgMS4yMzMgOS40MDMgNi4wOTYgOS40MDMgMTEuNzIzdjQ5LjE4NGExOTEuNTU1IDE5MS41NTUgMCAwIDEgNjAuNzU5IDM1LjEzbDQyLjU4NC0yNC41OTVhMTIuMDE2IDEyLjAxNiAwIDAgMSAxNC44MzIgMi4yNTRjMjQuNzE4IDI2Ljc0NCA0My42MTkgNTguOTQ0IDU0LjY4OSA5NC41ODYgMS42NjcgNS4zNjYtLjU5MiAxMS4xNzUtNS40NTkgMTMuOTg1TDQ0NC43ODggMjIwLjlhMTkzLjQ4NSAxOTMuNDg1IDAgMCAxIDAgNzAuMnpNMzM2IDI1NmMwLTQ0LjExMi0zNS44ODgtODAtODAtODBzLTgwIDM1Ljg4OC04MCA4MCAzNS44ODggODAgODAgODAgODAtMzUuODg4IDgwLTgweiIvPjwvc3ZnPg==);
+ background-repeat: no-repeat;
+ background-size: contain;
+ padding-left: 16px;
+ height: 0.8em;
+ display: inline-block;
+}
+.icon-fork {
+ background-image: url(icon_fork.svg), url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4KPHN2ZyB3aWR0aD0iMTc5MiIgaGVpZ2h0PSIxNzkyIiB2aWV3Qm94PSIwIDAgMTc5MiAxNzkyIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjxyZWN0IHdpZHRoPSIxNzkyIiBoZWlnaHQ9IjE3OTIiIHN0eWxlPSJmaWxsOiNmZmYiIC8+PHBhdGggZD0iTTY3MiAxNDcycTAtNDAtMjgtNjh0LTY4LTI4LTY4IDI4LTI4IDY4IDI4IDY4IDY4IDI4IDY4LTI4IDI4LTY4em0wLTExNTJxMC00MC0yOC02OHQtNjgtMjgtNjggMjgtMjggNjggMjggNjggNjggMjggNjgtMjggMjgtNjh6bTY0MCAxMjhxMC00MC0yOC02OHQtNjgtMjgtNjggMjgtMjggNjggMjggNjggNjggMjggNjgtMjggMjgtNjh6bTk2IDBxMCA1Mi0yNiA5Ni41dC03MCA2OS41cS0yIDI4Ny0yMjYgNDE0LTY3IDM4LTIwMyA4MS0xMjggNDAtMTY5LjUgNzF0LTQxLjUgMTAwdjI2cTQ0IDI1IDcwIDY5LjV0MjYgOTYuNXEwIDgwLTU2IDEzNnQtMTM2IDU2LTEzNi01Ni01Ni0xMzZxMC01MiAyNi05Ni41dDcwLTY5LjV2LTgyMHEtNDQtMjUtNzAtNjkuNXQtMjYtOTYuNXEwLTgwIDU2LTEzNnQxMzYtNTYgMTM2IDU2IDU2IDEzNnEwIDUyLTI2IDk2LjV0LTcwIDY5LjV2NDk3cTU0LTI2IDE1NC01NyA1NS0xNyA4Ny41LTI5LjV0NzAuNS0zMSA1OS0zOS41IDQwLjUtNTEgMjgtNjkuNSA4LjUtOTEuNXEtNDQtMjUtNzAtNjkuNXQtMjYtOTYuNXEwLTgwIDU2LTEzNnQxMzYtNTYgMTM2IDU2IDU2IDEzNnoiLz48L3N2Zz4=);
+ background-repeat: no-repeat;
+ background-size: contain;
+ padding-left: 20px;
+ height: 0.9em;
+ display: inline-block;
+}
+.icon-cube {
+ background-image: url(icon_cube.svg), url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4KPHN2ZyB3aWR0aD0iMTc5MiIgaGVpZ2h0PSIxNzkyIiB2aWV3Qm94PSIwIDAgMTc5MiAxNzkyIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjxwYXRoIGQ9Ik04OTYgMTYyOWw2NDAtMzQ5di02MzZsLTY0MCAyMzN2NzUyem0tNjQtODY1bDY5OC0yNTQtNjk4LTI1NC02OTggMjU0em04MzItMjUydjc2OHEwIDM1LTE4IDY1dC00OSA0N2wtNzA0IDM4NHEtMjggMTYtNjEgMTZ0LTYxLTE2bC03MDQtMzg0cS0zMS0xNy00OS00N3QtMTgtNjV2LTc2OHEwLTQwIDIzLTczdDYxLTQ3bDcwNC0yNTZxMjItOCA0NC04dDQ0IDhsNzA0IDI1NnEzOCAxNCA2MSA0N3QyMyA3M3oiLz48L3N2Zz4=);
+ background-repeat: no-repeat;
+ background-size: contain;
+ padding-left: 20px;
+ height: 0.9em;
+ display: inline-block;
+}
+.icon-search-plus {
+ background-image: url(icon_search-plus.svg), url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4KPHN2ZyB3aWR0aD0iMTc5MiIgaGVpZ2h0PSIxNzkyIiB2aWV3Qm94PSIwIDAgMTc5MiAxNzkyIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjxwYXRoIGZpbGw9IiM2ZjZmNmYiIGQ9Ik0xMDg4IDgwMHY2NHEwIDEzLTkuNSAyMi41dC0yMi41IDkuNWgtMjI0djIyNHEwIDEzLTkuNSAyMi41dC0yMi41IDkuNWgtNjRxLTEzIDAtMjIuNS05LjV0LTkuNS0yMi41di0yMjRoLTIyNHEtMTMgMC0yMi41LTkuNXQtOS41LTIyLjV2LTY0cTAtMTMgOS41LTIyLjV0MjIuNS05LjVoMjI0di0yMjRxMC0xMyA5LjUtMjIuNXQyMi41LTkuNWg2NHExMyAwIDIyLjUgOS41dDkuNSAyMi41djIyNGgyMjRxMTMgMCAyMi41IDkuNXQ5LjUgMjIuNXptMTI4IDMycTAtMTg1LTEzMS41LTMxNi41dC0zMTYuNS0xMzEuNS0zMTYuNSAxMzEuNS0xMzEuNSAzMTYuNSAxMzEuNSAzMTYuNSAzMTYuNSAxMzEuNSAzMTYuNS0xMzEuNSAxMzEuNS0zMTYuNXptNTEyIDgzMnEwIDUzLTM3LjUgOTAuNXQtOTAuNSAzNy41cS01NCAwLTkwLTM4bC0zNDMtMzQycS0xNzkgMTI0LTM5OSAxMjQtMTQzIDAtMjczLjUtNTUuNXQtMjI1LTE1MC0xNTAtMjI1LTU1LjUtMjczLjUgNTUuNS0yNzMuNSAxNTAtMjI1IDIyNS0xNTAgMjczLjUtNTUuNSAyNzMuNSA1NS41IDIyNSAxNTAgMTUwIDIyNSA1NS41IDI3My41cTAgMjIwLTEyNCAzOTlsMzQzIDM0M3EzNyAzNyAzNyA5MHoiLz48L3N2Zz4=);
+ background-repeat: no-repeat;
+ background-size: contain;
+ padding-left: 20px;
+ height: 0.9em;
+ display: inline-block;
+}
+.icon-search-minus {
+ background-image: url(icon_search-minus.svg), url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4KPHN2ZyB3aWR0aD0iMTc5MiIgaGVpZ2h0PSIxNzkyIiB2aWV3Qm94PSIwIDAgMTc5MiAxNzkyIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjxwYXRoIGZpbGw9IiM2ZjZmNmYiIGQ9Ik0xMDg4IDgwMHY2NHEwIDEzLTkuNSAyMi41dC0yMi41IDkuNWgtNTc2cS0xMyAwLTIyLjUtOS41dC05LjUtMjIuNXYtNjRxMC0xMyA5LjUtMjIuNXQyMi41LTkuNWg1NzZxMTMgMCAyMi41IDkuNXQ5LjUgMjIuNXptMTI4IDMycTAtMTg1LTEzMS41LTMxNi41dC0zMTYuNS0xMzEuNS0zMTYuNSAxMzEuNS0xMzEuNSAzMTYuNSAxMzEuNSAzMTYuNSAzMTYuNSAxMzEuNSAzMTYuNS0xMzEuNSAxMzEuNS0zMTYuNXptNTEyIDgzMnEwIDUzLTM3LjUgOTAuNXQtOTAuNSAzNy41cS01NCAwLTkwLTM4bC0zNDMtMzQycS0xNzkgMTI0LTM5OSAxMjQtMTQzIDAtMjczLjUtNTUuNXQtMjI1LTE1MC0xNTAtMjI1LTU1LjUtMjczLjUgNTUuNS0yNzMuNSAxNTAtMjI1IDIyNS0xNTAgMjczLjUtNTUuNSAyNzMuNSA1NS41IDIyNSAxNTAgMTUwIDIyNSA1NS41IDI3My41cTAgMjIwLTEyNCAzOTlsMzQzIDM0M3EzNyAzNyAzNyA5MHoiLz48L3N2Zz4=);
+ background-repeat: no-repeat;
+ background-size: contain;
+ padding-left: 20px;
+ height: 0.9em;
+ display: inline-block;
+}
+.icon-star {
+ background-image: url(icon_star.svg), url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4KPHN2ZyB3aWR0aD0iMTc5MiIgaGVpZ2h0PSIxNzkyIiB2aWV3Qm94PSIwIDAgMTc5MiAxNzkyIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjxwYXRoIGQ9Ik0xNzI4IDY0N3EwIDIyLTI2IDQ4bC0zNjMgMzU0IDg2IDUwMHExIDcgMSAyMCAwIDIxLTEwLjUgMzUuNXQtMzAuNSAxNC41cS0xOSAwLTQwLTEybC00NDktMjM2LTQ0OSAyMzZxLTIyIDEyLTQwIDEyLTIxIDAtMzEuNS0xNC41dC0xMC41LTM1LjVxMC02IDItMjBsODYtNTAwLTM2NC0zNTRxLTI1LTI3LTI1LTQ4IDAtMzcgNTYtNDZsNTAyLTczIDIyNS00NTVxMTktNDEgNDktNDF0NDkgNDFsMjI1IDQ1NSA1MDIgNzNxNTYgOSA1NiA0NnoiIGZpbGw9IiMwMDAiLz48L3N2Zz4=);
+ background-repeat: no-repeat;
+ background-size: contain;
+ padding-left: 20px;
+ height: 0.9em;
+ display: inline-block;
+}
+.icon-sponsor {
+ background-image: url(icon_sponsor.svg), url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4KPHN2ZyB3aWR0aD0iMTc5MiIgaGVpZ2h0PSIxNzkyIiB2aWV3Qm94PSIwIDAgMTc5MiAxNzkyIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjxwYXRoIGQ9Ik04OTYgMTY2NHEtMjYgMC00NC0xOGwtNjI0LTYwMnEtMTAtOC0yNy41LTI2dC01NS41LTY1LjUtNjgtOTcuNS01My41LTEyMS0yMy41LTEzOHEwLTIyMCAxMjctMzQ0dDM1MS0xMjRxNjIgMCAxMjYuNSAyMS41dDEyMCA1OCA5NS41IDY4LjUgNzYgNjhxMzYtMzYgNzYtNjh0OTUuNS02OC41IDEyMC01OCAxMjYuNS0yMS41cTIyNCAwIDM1MSAxMjR0MTI3IDM0NHEwIDIyMS0yMjkgNDUwbC02MjMgNjAwcS0xOCAxOC00NCAxOHoiIGZpbGw9IiNlYTRhYWEiLz48L3N2Zz4=);
+ background-repeat: no-repeat;
+ background-size: contain;
+ padding-left: 20px;
+ height: 0.9em;
+ display: inline-block;
+}
+
+.ngx-slider .ngx-slider-bar {
+ background: #a9a9a9 !important;
+}
+
+.ngx-slider .ngx-slider-selection {
+ background: #818181 !important;
+}
+
+.ngx-slider .ngx-slider-bubble {
+ padding: 3px 4px !important;
+ font-size: 12px !important;
+}
+
+.ngx-slider .ngx-slider-pointer {
+ width: 20px !important;
+ height: 20px !important;
+ top: -8px !important;
+ background-color: #0075FF !important;
+ -webkit-border-radius: 10px !important;
+ -moz-border-radius: 10px !important;
+ border-radius: 10px !important;
+}
+
+ .ngx-slider .ngx-slider-pointer:after {
+ content: none !important;
+ }
+
+.ngx-slider .ngx-slider-tick.ngx-slider-selected {
+ background-color: #62a5f4 !important;
+ width: 8px !important;
+ height: 8px !important;
+ top: 1px !important;
+}
+
+
+
+@media (prefers-color-scheme: dark) {
+ @media screen {
+ html {
+ background-color: #333;
+ color: #fff;
+ }
+
+ body {
+ color: #fff;
+ }
+
+ h1 {
+ background-color: #555453;
+ color: #fff;
+ }
+
+ .container {
+ background-color: #333;
+ box-shadow: 0 0 60px #0c0c0c;
+ }
+
+ .containerrightfixed {
+ background-color: #3D3C3C;
+ border-left: 1px solid #515050;
+ }
+
+ .containerrightfixed h1 {
+ background-color: #484747;
+ }
+
+ .popup-container {
+ background-color: rgb(80, 80, 80, 0.6);
+ }
+
+ .popup {
+ background-color: #333;
+ }
+
+ .card-group .card {
+ background-color: #333;
+ background: radial-gradient(circle, #444 0%, #333 100%);
+ border: 1px solid #545454;
+ color: #fff;
+ }
+
+ .card-group .card table tr {
+ border-bottom: 1px solid #545454;
+ }
+
+ .card-group .card table tr:hover {
+ background-color: #2E2D2C;
+ }
+
+ .table-responsive::-webkit-scrollbar-thumb {
+ background-color: #555453;
+ border: 5px solid #333;
+ }
+
+ .overview tr:hover > td {
+ background-color: #2E2D2C;
+ }
+
+ .overview th {
+ background-color: #444;
+ border: 1px solid #3B3A39;
+ }
+
+ .overview tr.namespace th {
+ background-color: #444;
+ }
+
+ .overview thead th {
+ background-color: #444;
+ }
+
+ .overview th a {
+ color: #fff;
+ color: rgba(255, 255, 255, 0.95);
+ }
+
+ .overview th a:hover {
+ color: #0078d4;
+ }
+
+ .overview td {
+ border: 1px solid #3B3A39;
+ }
+
+ .overview .coverage td {
+ border: none;
+ }
+
+ .overview tr.header th {
+ background-color: #444;
+ }
+
+ .overview tr.header th:nth-child(2n+1) {
+ background-color: #3a3a3a;
+ }
+
+ .overview tr.header th:first-child {
+ border-left: 1px solid #333;
+ border-top: 1px solid #333;
+ background-color: #333;
+ }
+
+ .stripped tr:nth-child(2n+1) {
+ background-color: #3c3c3c;
+ }
+
+ input, select, button {
+ background-color: #333;
+ color: #fff;
+ border: 1px solid #A19F9D;
+ }
+
+ a {
+ color: #fff;
+ color: rgba(255, 255, 255, 0.95);
+ }
+
+ a:hover {
+ color: #0078d4;
+ }
+
+ h1 a.back {
+ background-color: #4a4846;
+ }
+
+ h1 a.button {
+ color: #fff;
+ background-color: #565656;
+ border-color: #c1c1c1;
+ }
+
+ h1 a.button:hover {
+ background-color: #8d8d8d;
+ }
+
+ .gray {
+ background-color: #484747;
+ }
+
+ .lightgray {
+ color: #ebebeb;
+ }
+
+ .lightgraybg {
+ background-color: #474747;
+ }
+
+ .lightgreen {
+ background-color: #406540;
+ }
+
+ .lightorange {
+ background-color: #ab7f36;
+ }
+
+ .lightred {
+ background-color: #954848;
+ }
+
+ .ct-label {
+ color: #fff !important;
+ fill: #fff !important;
+ }
+
+ .ct-grid {
+ stroke: #fff !important;
+ }
+
+ .ct-chart .ct-series.ct-series-a .ct-line, .ct-chart .ct-series.ct-series-a .ct-point {
+ stroke: #0078D4 !important;
+ }
+
+ .ct-chart .ct-series.ct-series-b .ct-line, .ct-chart .ct-series.ct-series-b .ct-point {
+ stroke: #6dc428 !important;
+ }
+
+ .ct-chart .ct-series.ct-series-c .ct-line, .ct-chart .ct-series.ct-series-c .ct-point {
+ stroke: #e58f1d !important;
+ }
+
+ .linecoverage {
+ background-color: #0078D4;
+ }
+
+ .branchcoverage {
+ background-color: #6dc428;
+ }
+ .codeelementcoverage {
+ background-color: #e58f1d;
+ }
+
+ .tinylinecoveragechart, .tinybranchcoveragechart, .tinymethodcoveragechart {
+ background-color: #333;
+ }
+
+ .tinybranchcoveragechart .ct-series.ct-series-a .ct-line {
+ stroke: #6dc428 !important;
+ }
+
+ .tinymethodcoveragechart .ct-series.ct-series-a .ct-line {
+ stroke: #e58f1d !important;
+ }
+
+ .icon-up-down-dir {
+ background-image: url(icon_up-down-dir_dark.svg), url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4KPHN2ZyB3aWR0aD0iMTc5MiIgaGVpZ2h0PSIxNzkyIiB2aWV3Qm94PSIwIDAgMTc5MiAxNzkyIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjxwYXRoIGZpbGw9IiNCRkJGQzAiIGQ9Im0gMTQwOCw3NDIgcSAwLDI2IC0xOSw0NSAtMTksMTkgLTQ1LDE5IEggNDQ4IHEgLTI2LDAgLTQ1LC0xOSAtMTksLTE5IC0xOSwtNDUgMCwtMjYgMTksLTQ1IEwgODUxLDI0OSBxIDE5LC0xOSA0NSwtMTkgMjYsMCA0NSwxOSBsIDQ0OCw0NDggcSAxOSwxOSAxOSw0NSB6IiAvPjxwYXRoIGZpbGw9IiNCRkJGQzAiIGQ9Im0gMTQwOCwxMDUwIHEgMCwyNiAtMTksNDUgbCAtNDQ4LDQ0OCBxIC0xOSwxOSAtNDUsMTkgLTI2LDAgLTQ1LC0xOSBMIDQwMywxMDk1IHEgLTE5LC0xOSAtMTksLTQ1IDAsLTI2IDE5LC00NSAxOSwtMTkgNDUsLTE5IGggODk2IHEgMjYsMCA0NSwxOSAxOSwxOSAxOSw0NSB6IiAvPjwvc3ZnPg==);
+ }
+ .icon-info-circled {
+ background-image: url(icon_info-circled_dark.svg), url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4KPHN2ZyB3aWR0aD0iMTc5MiIgaGVpZ2h0PSIxNzkyIiB2aWV3Qm94PSIwIDAgMTc5MiAxNzkyIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjxjaXJjbGUgY3g9Ijg5NiIgY3k9Ijg5NiIgcj0iNzUwIiBmaWxsPSIjZmZmIiAvPjxwYXRoIGZpbGw9IiMyOEE1RkYiIGQ9Ik0xMTUyIDEzNzZ2LTE2MHEwLTE0LTktMjN0LTIzLTloLTk2di01MTJxMC0xNC05LTIzdC0yMy05aC0zMjBxLTE0IDAtMjMgOXQtOSAyM3YxNjBxMCAxNCA5IDIzdDIzIDloOTZ2MzIwaC05NnEtMTQgMC0yMyA5dC05IDIzdjE2MHEwIDE0IDkgMjN0MjMgOWg0NDhxMTQgMCAyMy05dDktMjN6bS0xMjgtODk2di0xNjBxMC0xNC05LTIzdC0yMy05aC0xOTJxLTE0IDAtMjMgOXQtOSAyM3YxNjBxMCAxNCA5IDIzdDIzIDloMTkycTE0IDAgMjMtOXQ5LTIzem02NDAgNDE2cTAgMjA5LTEwMyAzODUuNXQtMjc5LjUgMjc5LjUtMzg1LjUgMTAzLTM4NS41LTEwMy0yNzkuNS0yNzkuNS0xMDMtMzg1LjUgMTAzLTM4NS41IDI3OS41LTI3OS41IDM4NS41LTEwMyAzODUuNSAxMDMgMjc5LjUgMjc5LjUgMTAzIDM4NS41eiIvPjwvc3ZnPg==);
+ }
+
+ .icon-plus {
+ background-image: url(icon_plus_dark.svg), url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz48c3ZnIHdpZHRoPSIxNzkyIiBoZWlnaHQ9IjE3OTIiIHZpZXdCb3g9IjAgMCAxNzkyIDE3OTIiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PHBhdGggZmlsbD0iI0JGQkZDMCIgZD0iTTE2MDAgNzM2djE5MnEwIDQwLTI4IDY4dC02OCAyOGgtNDE2djQxNnEwIDQwLTI4IDY4dC02OCAyOGgtMTkycS00MCAwLTY4LTI4dC0yOC02OHYtNDE2aC00MTZxLTQwIDAtNjgtMjh0LTI4LTY4di0xOTJxMC00MCAyOC02OHQ2OC0yOGg0MTZ2LTQxNnEwLTQwIDI4LTY4dDY4LTI4aDE5MnE0MCAwIDY4IDI4dDI4IDY4djQxNmg0MTZxNDAgMCA2OCAyOHQyOCA2OHoiLz48L3N2Zz4=);
+ }
+
+ .icon-minus {
+ background-image: url(icon_minus_dark.svg), url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz48c3ZnIHdpZHRoPSIxNzkyIiBoZWlnaHQ9IjE3OTIiIHZpZXdCb3g9IjAgMCAxNzkyIDE3OTIiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PHBhdGggZmlsbD0iI0JGQkZDMCIgZD0iTTE2MDAgNzM2djE5MnEwIDQwLTI4IDY4dC02OCAyOGgtMTIxNnEtNDAgMC02OC0yOHQtMjgtNjh2LTE5MnEwLTQwIDI4LTY4dDY4LTI4aDEyMTZxNDAgMCA2OCAyOHQyOCA2OHoiLz48L3N2Zz4=);
+ }
+
+ .icon-wrench {
+ background-image: url(icon_wrench_dark.svg), url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz48c3ZnIHdpZHRoPSIxNzkyIiBoZWlnaHQ9IjE3OTIiIHZpZXdCb3g9IjAgMCAxNzkyIDE3OTIiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PHBhdGggZmlsbD0iI0JEQkRCRiIgZD0iTTQ0OCAxNDcycTAtMjYtMTktNDV0LTQ1LTE5LTQ1IDE5LTE5IDQ1IDE5IDQ1IDQ1IDE5IDQ1LTE5IDE5LTQ1em02NDQtNDIwbC02ODIgNjgycS0zNyAzNy05MCAzNy01MiAwLTkxLTM3bC0xMDYtMTA4cS0zOC0zNi0zOC05MCAwLTUzIDM4LTkxbDY4MS02ODFxMzkgOTggMTE0LjUgMTczLjV0MTczLjUgMTE0LjV6bTYzNC00MzVxMCAzOS0yMyAxMDYtNDcgMTM0LTE2NC41IDIxNy41dC0yNTguNSA4My41cS0xODUgMC0zMTYuNS0xMzEuNXQtMTMxLjUtMzE2LjUgMTMxLjUtMzE2LjUgMzE2LjUtMTMxLjVxNTggMCAxMjEuNSAxNi41dDEwNy41IDQ2LjVxMTYgMTEgMTYgMjh0LTE2IDI4bC0yOTMgMTY5djIyNGwxOTMgMTA3cTUtMyA3OS00OC41dDEzNS41LTgxIDcwLjUtMzUuNXExNSAwIDIzLjUgMTB0OC41IDI1eiIvPjwvc3ZnPg==);
+ }
+
+ .icon-cog {
+ background-image: url(icon_cog_dark.svg), url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz48c3ZnIHdpZHRoPSI1MTIiIGhlaWdodD0iNTEyIiB2aWV3Qm94PSIwIDAgNTEyIDUxMiIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj48cGF0aCBmaWxsPSIjQkRCREJGIiBkPSJNNDQ0Ljc4OCAyOTEuMWw0Mi42MTYgMjQuNTk5YzQuODY3IDIuODA5IDcuMTI2IDguNjE4IDUuNDU5IDEzLjk4NS0xMS4wNyAzNS42NDItMjkuOTcgNjcuODQyLTU0LjY4OSA5NC41ODZhMTIuMDE2IDEyLjAxNiAwIDAgMS0xNC44MzIgMi4yNTRsLTQyLjU4NC0yNC41OTVhMTkxLjU3NyAxOTEuNTc3IDAgMCAxLTYwLjc1OSAzNS4xM3Y0OS4xODJhMTIuMDEgMTIuMDEgMCAwIDEtOS4zNzcgMTEuNzE4Yy0zNC45NTYgNy44NS03Mi40OTkgOC4yNTYtMTA5LjIxOS4wMDctNS40OS0xLjIzMy05LjQwMy02LjA5Ni05LjQwMy0xMS43MjN2LTQ5LjE4NGExOTEuNTU1IDE5MS41NTUgMCAwIDEtNjAuNzU5LTM1LjEzbC00Mi41ODQgMjQuNTk1YTEyLjAxNiAxMi4wMTYgMCAwIDEtMTQuODMyLTIuMjU0Yy0yNC43MTgtMjYuNzQ0LTQzLjYxOS01OC45NDQtNTQuNjg5LTk0LjU4Ni0xLjY2Ny01LjM2Ni41OTItMTEuMTc1IDUuNDU5LTEzLjk4NUw2Ny4yMTIgMjkxLjFhMTkzLjQ4IDE5My40OCAwIDAgMSAwLTcwLjE5OWwtNDIuNjE2LTI0LjU5OWMtNC44NjctMi44MDktNy4xMjYtOC42MTgtNS40NTktMTMuOTg1IDExLjA3LTM1LjY0MiAyOS45Ny02Ny44NDIgNTQuNjg5LTk0LjU4NmExMi4wMTYgMTIuMDE2IDAgMCAxIDE0LjgzMi0yLjI1NGw0Mi41ODQgMjQuNTk1YTE5MS41NzcgMTkxLjU3NyAwIDAgMSA2MC43NTktMzUuMTNWMjUuNzU5YTEyLjAxIDEyLjAxIDAgMCAxIDkuMzc3LTExLjcxOGMzNC45NTYtNy44NSA3Mi40OTktOC4yNTYgMTA5LjIxOS0uMDA3IDUuNDkgMS4yMzMgOS40MDMgNi4wOTYgOS40MDMgMTEuNzIzdjQ5LjE4NGExOTEuNTU1IDE5MS41NTUgMCAwIDEgNjAuNzU5IDM1LjEzbDQyLjU4NC0yNC41OTVhMTIuMDE2IDEyLjAxNiAwIDAgMSAxNC44MzIgMi4yNTRjMjQuNzE4IDI2Ljc0NCA0My42MTkgNTguOTQ0IDU0LjY4OSA5NC41ODYgMS42NjcgNS4zNjYtLjU5MiAxMS4xNzUtNS40NTkgMTMuOTg1TDQ0NC43ODggMjIwLjlhMTkzLjQ4NSAxOTMuNDg1IDAgMCAxIDAgNzAuMnpNMzM2IDI1NmMwLTQ0LjExMi0zNS44ODgtODAtODAtODBzLTgwIDM1Ljg4OC04MCA4MCAzNS44ODggODAgODAgODAgODAtMzUuODg4IDgwLTgweiIvPjwvc3ZnPg==);
+ }
+
+ .icon-fork {
+ background-image: url(icon_fork_dark.svg), url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz48c3ZnIHdpZHRoPSIxNzkyIiBoZWlnaHQ9IjE3OTIiIHZpZXdCb3g9IjAgMCAxNzkyIDE3OTIiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PHBhdGggZmlsbD0iI0JGQkZDMCIgZD0iTTY3MiAxNDcycTAtNDAtMjgtNjh0LTY4LTI4LTY4IDI4LTI4IDY4IDI4IDY4IDY4IDI4IDY4LTI4IDI4LTY4em0wLTExNTJxMC00MC0yOC02OHQtNjgtMjgtNjggMjgtMjggNjggMjggNjggNjggMjggNjgtMjggMjgtNjh6bTY0MCAxMjhxMC00MC0yOC02OHQtNjgtMjgtNjggMjgtMjggNjggMjggNjggNjggMjggNjgtMjggMjgtNjh6bTk2IDBxMCA1Mi0yNiA5Ni41dC03MCA2OS41cS0yIDI4Ny0yMjYgNDE0LTY3IDM4LTIwMyA4MS0xMjggNDAtMTY5LjUgNzF0LTQxLjUgMTAwdjI2cTQ0IDI1IDcwIDY5LjV0MjYgOTYuNXEwIDgwLTU2IDEzNnQtMTM2IDU2LTEzNi01Ni01Ni0xMzZxMC01MiAyNi05Ni41dDcwLTY5LjV2LTgyMHEtNDQtMjUtNzAtNjkuNXQtMjYtOTYuNXEwLTgwIDU2LTEzNnQxMzYtNTYgMTM2IDU2IDU2IDEzNnEwIDUyLTI2IDk2LjV0LTcwIDY5LjV2NDk3cTU0LTI2IDE1NC01NyA1NS0xNyA4Ny41LTI5LjV0NzAuNS0zMSA1OS0zOS41IDQwLjUtNTEgMjgtNjkuNSA4LjUtOTEuNXEtNDQtMjUtNzAtNjkuNXQtMjYtOTYuNXEwLTgwIDU2LTEzNnQxMzYtNTYgMTM2IDU2IDU2IDEzNnoiLz48L3N2Zz4=);
+ }
+
+ .icon-cube {
+ background-image: url(icon_cube_dark.svg), url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz48c3ZnIHdpZHRoPSIxNzkyIiBoZWlnaHQ9IjE3OTIiIHZpZXdCb3g9IjAgMCAxNzkyIDE3OTIiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PHBhdGggZmlsbD0iI0JGQkZDMCIgZD0iTTg5NiAxNjI5bDY0MC0zNDl2LTYzNmwtNjQwIDIzM3Y3NTJ6bS02NC04NjVsNjk4LTI1NC02OTgtMjU0LTY5OCAyNTR6bTgzMi0yNTJ2NzY4cTAgMzUtMTggNjV0LTQ5IDQ3bC03MDQgMzg0cS0yOCAxNi02MSAxNnQtNjEtMTZsLTcwNC0zODRxLTMxLTE3LTQ5LTQ3dC0xOC02NXYtNzY4cTAtNDAgMjMtNzN0NjEtNDdsNzA0LTI1NnEyMi04IDQ0LTh0NDQgOGw3MDQgMjU2cTM4IDE0IDYxIDQ3dDIzIDczeiIvPjwvc3ZnPg==);
+ }
+
+ .icon-search-plus {
+ background-image: url(icon_search-plus_dark.svg), url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz48c3ZnIHdpZHRoPSIxNzkyIiBoZWlnaHQ9IjE3OTIiIHZpZXdCb3g9IjAgMCAxNzkyIDE3OTIiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PHBhdGggZmlsbD0iI0JGQkZDMCIgZD0iTTEwODggODAwdjY0cTAgMTMtOS41IDIyLjV0LTIyLjUgOS41aC0yMjR2MjI0cTAgMTMtOS41IDIyLjV0LTIyLjUgOS41aC02NHEtMTMgMC0yMi41LTkuNXQtOS41LTIyLjV2LTIyNGgtMjI0cS0xMyAwLTIyLjUtOS41dC05LjUtMjIuNXYtNjRxMC0xMyA5LjUtMjIuNXQyMi41LTkuNWgyMjR2LTIyNHEwLTEzIDkuNS0yMi41dDIyLjUtOS41aDY0cTEzIDAgMjIuNSA5LjV0OS41IDIyLjV2MjI0aDIyNHExMyAwIDIyLjUgOS41dDkuNSAyMi41em0xMjggMzJxMC0xODUtMTMxLjUtMzE2LjV0LTMxNi41LTEzMS41LTMxNi41IDEzMS41LTEzMS41IDMxNi41IDEzMS41IDMxNi41IDMxNi41IDEzMS41IDMxNi41LTEzMS41IDEzMS41LTMxNi41em01MTIgODMycTAgNTMtMzcuNSA5MC41dC05MC41IDM3LjVxLTU0IDAtOTAtMzhsLTM0My0zNDJxLTE3OSAxMjQtMzk5IDEyNC0xNDMgMC0yNzMuNS01NS41dC0yMjUtMTUwLTE1MC0yMjUtNTUuNS0yNzMuNSA1NS41LTI3My41IDE1MC0yMjUgMjI1LTE1MCAyNzMuNS01NS41IDI3My41IDU1LjUgMjI1IDE1MCAxNTAgMjI1IDU1LjUgMjczLjVxMCAyMjAtMTI0IDM5OWwzNDMgMzQzcTM3IDM3IDM3IDkweiIvPjwvc3ZnPg==);
+ }
+
+ .icon-search-minus {
+ background-image: url(icon_search-minus_dark.svg), url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz48c3ZnIHdpZHRoPSIxNzkyIiBoZWlnaHQ9IjE3OTIiIHZpZXdCb3g9IjAgMCAxNzkyIDE3OTIiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PHBhdGggZmlsbD0iI0JGQkZDMCIgZD0iTTEwODggODAwdjY0cTAgMTMtOS41IDIyLjV0LTIyLjUgOS41aC01NzZxLTEzIDAtMjIuNS05LjV0LTkuNS0yMi41di02NHEwLTEzIDkuNS0yMi41dDIyLjUtOS41aDU3NnExMyAwIDIyLjUgOS41dDkuNSAyMi41em0xMjggMzJxMC0xODUtMTMxLjUtMzE2LjV0LTMxNi41LTEzMS41LTMxNi41IDEzMS41LTEzMS41IDMxNi41IDEzMS41IDMxNi41IDMxNi41IDEzMS41IDMxNi41LTEzMS41IDEzMS41LTMxNi41em01MTIgODMycTAgNTMtMzcuNSA5MC41dC05MC41IDM3LjVxLTU0IDAtOTAtMzhsLTM0My0zNDJxLTE3OSAxMjQtMzk5IDEyNC0xNDMgMC0yNzMuNS01NS41dC0yMjUtMTUwLTE1MC0yMjUtNTUuNS0yNzMuNSA1NS41LTI3My41IDE1MC0yMjUgMjI1LTE1MCAyNzMuNS01NS41IDI3My41IDU1LjUgMjI1IDE1MCAxNTAgMjI1IDU1LjUgMjczLjVxMCAyMjAtMTI0IDM5OWwzNDMgMzQzcTM3IDM3IDM3IDkweiIvPjwvc3ZnPg==);
+ }
+
+ .icon-star {
+ background-image: url(icon_star_dark.svg), url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4KPHN2ZyB3aWR0aD0iMTc5MiIgaGVpZ2h0PSIxNzkyIiB2aWV3Qm94PSIwIDAgMTc5MiAxNzkyIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjxwYXRoIGQ9Ik0xNzI4IDY0N3EwIDIyLTI2IDQ4bC0zNjMgMzU0IDg2IDUwMHExIDcgMSAyMCAwIDIxLTEwLjUgMzUuNXQtMzAuNSAxNC41cS0xOSAwLTQwLTEybC00NDktMjM2LTQ0OSAyMzZxLTIyIDEyLTQwIDEyLTIxIDAtMzEuNS0xNC41dC0xMC41LTM1LjVxMC02IDItMjBsODYtNTAwLTM2NC0zNTRxLTI1LTI3LTI1LTQ4IDAtMzcgNTYtNDZsNTAyLTczIDIyNS00NTVxMTktNDEgNDktNDF0NDkgNDFsMjI1IDQ1NSA1MDIgNzNxNTYgOSA1NiA0NnoiIGZpbGw9IiNmZmYiLz48L3N2Zz4=);
+ }
+ }
+}
+
+.ct-double-octave:after,.ct-golden-section:after,.ct-major-eleventh:after,.ct-major-second:after,.ct-major-seventh:after,.ct-major-sixth:after,.ct-major-tenth:after,.ct-major-third:after,.ct-major-twelfth:after,.ct-minor-second:after,.ct-minor-seventh:after,.ct-minor-sixth:after,.ct-minor-third:after,.ct-octave:after,.ct-perfect-fifth:after,.ct-perfect-fourth:after,.ct-square:after{content:"";clear:both}.ct-label{fill:rgba(0,0,0,.4);color:rgba(0,0,0,.4);font-size:.75rem;line-height:1}.ct-chart-bar .ct-label,.ct-chart-line .ct-label{display:block;display:-webkit-box;display:-moz-box;display:-ms-flexbox;display:-webkit-flex;display:flex}.ct-chart-donut .ct-label,.ct-chart-pie .ct-label{dominant-baseline:central}.ct-label.ct-horizontal.ct-start{-webkit-box-align:flex-end;-webkit-align-items:flex-end;-ms-flex-align:flex-end;align-items:flex-end;-webkit-box-pack:flex-start;-webkit-justify-content:flex-start;-ms-flex-pack:flex-start;justify-content:flex-start;text-align:left;text-anchor:start}.ct-label.ct-horizontal.ct-end{-webkit-box-align:flex-start;-webkit-align-items:flex-start;-ms-flex-align:flex-start;align-items:flex-start;-webkit-box-pack:flex-start;-webkit-justify-content:flex-start;-ms-flex-pack:flex-start;justify-content:flex-start;text-align:left;text-anchor:start}.ct-label.ct-vertical.ct-start{-webkit-box-align:flex-end;-webkit-align-items:flex-end;-ms-flex-align:flex-end;align-items:flex-end;-webkit-box-pack:flex-end;-webkit-justify-content:flex-end;-ms-flex-pack:flex-end;justify-content:flex-end;text-align:right;text-anchor:end}.ct-label.ct-vertical.ct-end{-webkit-box-align:flex-end;-webkit-align-items:flex-end;-ms-flex-align:flex-end;align-items:flex-end;-webkit-box-pack:flex-start;-webkit-justify-content:flex-start;-ms-flex-pack:flex-start;justify-content:flex-start;text-align:left;text-anchor:start}.ct-chart-bar .ct-label.ct-horizontal.ct-start{-webkit-box-align:flex-end;-webkit-align-items:flex-end;-ms-flex-align:flex-end;align-items:flex-end;-webkit-box-pack:center;-webkit-justify-content:center;-ms-flex-pack:center;justify-content:center;text-align:center;text-anchor:start}.ct-chart-bar .ct-label.ct-horizontal.ct-end{-webkit-box-align:flex-start;-webkit-align-items:flex-start;-ms-flex-align:flex-start;align-items:flex-start;-webkit-box-pack:center;-webkit-justify-content:center;-ms-flex-pack:center;justify-content:center;text-align:center;text-anchor:start}.ct-chart-bar.ct-horizontal-bars .ct-label.ct-horizontal.ct-start{-webkit-box-align:flex-end;-webkit-align-items:flex-end;-ms-flex-align:flex-end;align-items:flex-end;-webkit-box-pack:flex-start;-webkit-justify-content:flex-start;-ms-flex-pack:flex-start;justify-content:flex-start;text-align:left;text-anchor:start}.ct-chart-bar.ct-horizontal-bars .ct-label.ct-horizontal.ct-end{-webkit-box-align:flex-start;-webkit-align-items:flex-start;-ms-flex-align:flex-start;align-items:flex-start;-webkit-box-pack:flex-start;-webkit-justify-content:flex-start;-ms-flex-pack:flex-start;justify-content:flex-start;text-align:left;text-anchor:start}.ct-chart-bar.ct-horizontal-bars .ct-label.ct-vertical.ct-start{-webkit-box-align:center;-webkit-align-items:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:flex-end;-webkit-justify-content:flex-end;-ms-flex-pack:flex-end;justify-content:flex-end;text-align:right;text-anchor:end}.ct-chart-bar.ct-horizontal-bars .ct-label.ct-vertical.ct-end{-webkit-box-align:center;-webkit-align-items:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:flex-start;-webkit-justify-content:flex-start;-ms-flex-pack:flex-start;justify-content:flex-start;text-align:left;text-anchor:end}.ct-grid{stroke:rgba(0,0,0,.2);stroke-width:1px;stroke-dasharray:2px}.ct-grid-background{fill:none}.ct-point{stroke-width:10px;stroke-linecap:round}.ct-line{fill:none;stroke-width:4px}.ct-area{stroke:none;fill-opacity:.1}.ct-bar{fill:none;stroke-width:10px}.ct-slice-donut{fill:none;stroke-width:60px}.ct-series-a .ct-bar,.ct-series-a .ct-line,.ct-series-a .ct-point,.ct-series-a .ct-slice-donut{stroke:#d70206}.ct-series-a .ct-area,.ct-series-a .ct-slice-donut-solid,.ct-series-a .ct-slice-pie{fill:#d70206}.ct-series-b .ct-bar,.ct-series-b .ct-line,.ct-series-b .ct-point,.ct-series-b .ct-slice-donut{stroke:#f05b4f}.ct-series-b .ct-area,.ct-series-b .ct-slice-donut-solid,.ct-series-b .ct-slice-pie{fill:#f05b4f}.ct-series-c .ct-bar,.ct-series-c .ct-line,.ct-series-c .ct-point,.ct-series-c .ct-slice-donut{stroke:#f4c63d}.ct-series-c .ct-area,.ct-series-c .ct-slice-donut-solid,.ct-series-c .ct-slice-pie{fill:#f4c63d}.ct-series-d .ct-bar,.ct-series-d .ct-line,.ct-series-d .ct-point,.ct-series-d .ct-slice-donut{stroke:#d17905}.ct-series-d .ct-area,.ct-series-d .ct-slice-donut-solid,.ct-series-d .ct-slice-pie{fill:#d17905}.ct-series-e .ct-bar,.ct-series-e .ct-line,.ct-series-e .ct-point,.ct-series-e .ct-slice-donut{stroke:#453d3f}.ct-series-e .ct-area,.ct-series-e .ct-slice-donut-solid,.ct-series-e .ct-slice-pie{fill:#453d3f}.ct-series-f .ct-bar,.ct-series-f .ct-line,.ct-series-f .ct-point,.ct-series-f .ct-slice-donut{stroke:#59922b}.ct-series-f .ct-area,.ct-series-f .ct-slice-donut-solid,.ct-series-f .ct-slice-pie{fill:#59922b}.ct-series-g .ct-bar,.ct-series-g .ct-line,.ct-series-g .ct-point,.ct-series-g .ct-slice-donut{stroke:#0544d3}.ct-series-g .ct-area,.ct-series-g .ct-slice-donut-solid,.ct-series-g .ct-slice-pie{fill:#0544d3}.ct-series-h .ct-bar,.ct-series-h .ct-line,.ct-series-h .ct-point,.ct-series-h .ct-slice-donut{stroke:#6b0392}.ct-series-h .ct-area,.ct-series-h .ct-slice-donut-solid,.ct-series-h .ct-slice-pie{fill:#6b0392}.ct-series-i .ct-bar,.ct-series-i .ct-line,.ct-series-i .ct-point,.ct-series-i .ct-slice-donut{stroke:#f05b4f}.ct-series-i .ct-area,.ct-series-i .ct-slice-donut-solid,.ct-series-i .ct-slice-pie{fill:#f05b4f}.ct-series-j .ct-bar,.ct-series-j .ct-line,.ct-series-j .ct-point,.ct-series-j .ct-slice-donut{stroke:#dda458}.ct-series-j .ct-area,.ct-series-j .ct-slice-donut-solid,.ct-series-j .ct-slice-pie{fill:#dda458}.ct-series-k .ct-bar,.ct-series-k .ct-line,.ct-series-k .ct-point,.ct-series-k .ct-slice-donut{stroke:#eacf7d}.ct-series-k .ct-area,.ct-series-k .ct-slice-donut-solid,.ct-series-k .ct-slice-pie{fill:#eacf7d}.ct-series-l .ct-bar,.ct-series-l .ct-line,.ct-series-l .ct-point,.ct-series-l .ct-slice-donut{stroke:#86797d}.ct-series-l .ct-area,.ct-series-l .ct-slice-donut-solid,.ct-series-l .ct-slice-pie{fill:#86797d}.ct-series-m .ct-bar,.ct-series-m .ct-line,.ct-series-m .ct-point,.ct-series-m .ct-slice-donut{stroke:#b2c326}.ct-series-m .ct-area,.ct-series-m .ct-slice-donut-solid,.ct-series-m .ct-slice-pie{fill:#b2c326}.ct-series-n .ct-bar,.ct-series-n .ct-line,.ct-series-n .ct-point,.ct-series-n .ct-slice-donut{stroke:#6188e2}.ct-series-n .ct-area,.ct-series-n .ct-slice-donut-solid,.ct-series-n .ct-slice-pie{fill:#6188e2}.ct-series-o .ct-bar,.ct-series-o .ct-line,.ct-series-o .ct-point,.ct-series-o .ct-slice-donut{stroke:#a748ca}.ct-series-o .ct-area,.ct-series-o .ct-slice-donut-solid,.ct-series-o .ct-slice-pie{fill:#a748ca}.ct-square{display:block;position:relative;width:100%}.ct-square:before{display:block;float:left;content:"";width:0;height:0;padding-bottom:100%}.ct-square:after{display:table}.ct-square>svg{display:block;position:absolute;top:0;left:0}.ct-minor-second{display:block;position:relative;width:100%}.ct-minor-second:before{display:block;float:left;content:"";width:0;height:0;padding-bottom:93.75%}.ct-minor-second:after{display:table}.ct-minor-second>svg{display:block;position:absolute;top:0;left:0}.ct-major-second{display:block;position:relative;width:100%}.ct-major-second:before{display:block;float:left;content:"";width:0;height:0;padding-bottom:88.8888888889%}.ct-major-second:after{display:table}.ct-major-second>svg{display:block;position:absolute;top:0;left:0}.ct-minor-third{display:block;position:relative;width:100%}.ct-minor-third:before{display:block;float:left;content:"";width:0;height:0;padding-bottom:83.3333333333%}.ct-minor-third:after{display:table}.ct-minor-third>svg{display:block;position:absolute;top:0;left:0}.ct-major-third{display:block;position:relative;width:100%}.ct-major-third:before{display:block;float:left;content:"";width:0;height:0;padding-bottom:80%}.ct-major-third:after{display:table}.ct-major-third>svg{display:block;position:absolute;top:0;left:0}.ct-perfect-fourth{display:block;position:relative;width:100%}.ct-perfect-fourth:before{display:block;float:left;content:"";width:0;height:0;padding-bottom:75%}.ct-perfect-fourth:after{display:table}.ct-perfect-fourth>svg{display:block;position:absolute;top:0;left:0}.ct-perfect-fifth{display:block;position:relative;width:100%}.ct-perfect-fifth:before{display:block;float:left;content:"";width:0;height:0;padding-bottom:66.6666666667%}.ct-perfect-fifth:after{display:table}.ct-perfect-fifth>svg{display:block;position:absolute;top:0;left:0}.ct-minor-sixth{display:block;position:relative;width:100%}.ct-minor-sixth:before{display:block;float:left;content:"";width:0;height:0;padding-bottom:62.5%}.ct-minor-sixth:after{display:table}.ct-minor-sixth>svg{display:block;position:absolute;top:0;left:0}.ct-golden-section{display:block;position:relative;width:100%}.ct-golden-section:before{display:block;float:left;content:"";width:0;height:0;padding-bottom:61.804697157%}.ct-golden-section:after{display:table}.ct-golden-section>svg{display:block;position:absolute;top:0;left:0}.ct-major-sixth{display:block;position:relative;width:100%}.ct-major-sixth:before{display:block;float:left;content:"";width:0;height:0;padding-bottom:60%}.ct-major-sixth:after{display:table}.ct-major-sixth>svg{display:block;position:absolute;top:0;left:0}.ct-minor-seventh{display:block;position:relative;width:100%}.ct-minor-seventh:before{display:block;float:left;content:"";width:0;height:0;padding-bottom:56.25%}.ct-minor-seventh:after{display:table}.ct-minor-seventh>svg{display:block;position:absolute;top:0;left:0}.ct-major-seventh{display:block;position:relative;width:100%}.ct-major-seventh:before{display:block;float:left;content:"";width:0;height:0;padding-bottom:53.3333333333%}.ct-major-seventh:after{display:table}.ct-major-seventh>svg{display:block;position:absolute;top:0;left:0}.ct-octave{display:block;position:relative;width:100%}.ct-octave:before{display:block;float:left;content:"";width:0;height:0;padding-bottom:50%}.ct-octave:after{display:table}.ct-octave>svg{display:block;position:absolute;top:0;left:0}.ct-major-tenth{display:block;position:relative;width:100%}.ct-major-tenth:before{display:block;float:left;content:"";width:0;height:0;padding-bottom:40%}.ct-major-tenth:after{display:table}.ct-major-tenth>svg{display:block;position:absolute;top:0;left:0}.ct-major-eleventh{display:block;position:relative;width:100%}.ct-major-eleventh:before{display:block;float:left;content:"";width:0;height:0;padding-bottom:37.5%}.ct-major-eleventh:after{display:table}.ct-major-eleventh>svg{display:block;position:absolute;top:0;left:0}.ct-major-twelfth{display:block;position:relative;width:100%}.ct-major-twelfth:before{display:block;float:left;content:"";width:0;height:0;padding-bottom:33.3333333333%}.ct-major-twelfth:after{display:table}.ct-major-twelfth>svg{display:block;position:absolute;top:0;left:0}.ct-double-octave{display:block;position:relative;width:100%}.ct-double-octave:before{display:block;float:left;content:"";width:0;height:0;padding-bottom:25%}.ct-double-octave:after{display:table}.ct-double-octave>svg{display:block;position:absolute;top:0;left:0}
\ No newline at end of file
diff --git a/project-metadata.json b/project-metadata.json
index 9ce81a1..c42f40f 100644
--- a/project-metadata.json
+++ b/project-metadata.json
@@ -2,7 +2,7 @@
"name": "task-chaining",
"description": "Extension methods to System.Threading.Task to allow Promise-like chaining",
"title": "TaskChaining",
- "version": "2.16.1",
+ "version": "2.17.0",
"ciEnvironment": {
"variables": [
{
diff --git a/src/TaskExtensions.cs b/src/TaskExtensions.cs
index 7a84bd0..e5f6f11 100644
--- a/src/TaskExtensions.cs
+++ b/src/TaskExtensions.cs
@@ -14,6 +14,20 @@ private static Exception PotentiallyUnwindException(AggregateException exception
? exception.InnerException
: exception;
+ private static Exception HandleCancellation(this Task task)
+ {
+ try
+ {
+ T result = task.Result;
+
+ return new Exception("Expected canceled task");
+ }
+ catch (OperationCanceledException exception)
+ {
+ return exception;
+ }
+ }
+
///
/// Monadic 'alt'.
///
@@ -49,7 +63,7 @@ public static Task Ap(
Task> morphismTask
) => morphismTask.IsFaulted
? Task.FromException(PotentiallyUnwindException(morphismTask.Exception!))
- : task.ResultMap(async value => (await morphismTask)(value)).Unwrap();
+ : task.ResultMap(value => morphismTask.Result(value));
///
/// Monadic 'bimap'.
@@ -99,24 +113,17 @@ public static Task BiBind(
this Task task,
Func> onFaulted,
Func> onFulfilled
- ) => task.ContinueWith(async continuationTask =>
+ ) => task.ContinueWith(continuationTask =>
{
if (continuationTask.IsCanceled)
{
- try
- {
- await continuationTask;
- }
- catch (OperationCanceledException exception)
- {
- return Task.FromException(exception);
- }
+ return Task.FromException(HandleCancellation(task));
}
return continuationTask.IsFaulted
? onFaulted(PotentiallyUnwindException(continuationTask.Exception!))
- : onFulfilled(await continuationTask);
- }).Unwrap().Unwrap();
+ : onFulfilled(continuationTask.Result);
+ }).Unwrap();
///
/// Disjunctive `leftMap`.
@@ -132,10 +139,10 @@ public static Task ExceptionMap(this Task task, Func task.BiMap(onFaulted, Identity);
public static Task ExceptionMap(this Task task, Func> onFaulted)
- => task.ContinueWith(async continuationTask => continuationTask.IsFaulted
- ? Task.FromException(await onFaulted(PotentiallyUnwindException(continuationTask.Exception)))
+ => task.ContinueWith(continuationTask => continuationTask.IsFaulted
+ ? Task.FromException(onFaulted(PotentiallyUnwindException(continuationTask.Exception)).Exception)
: continuationTask
- ).Unwrap().Unwrap();
+ ).Unwrap();
///
/// Allows a fulfilled to be transitioned to a faulted one if the
@@ -211,11 +218,17 @@ public static Task Filter(
this Task task,
Predicate predicate,
Func> morphism
- ) where E : Exception => task.Bind(
- async value => predicate(value)
- ? Task.FromResult(value)
- : Task.FromException(await morphism(value))
- ).Unwrap();
+ ) where E: Exception
+ {
+ return task.ContinueWith(continuationTask =>
+ {
+ T result = continuationTask.Result;
+
+ return predicate(result) == true
+ ? Task.FromResult(result)
+ : morphism(result).ContinueWith(failureTask => Task.FromException(failureTask.Result)).Unwrap();
+ }).Unwrap();
+ }
///
/// Allows a fulfilled to be transitioned to a faulted one if the
@@ -256,9 +269,23 @@ public static Task Filter(this Task task, Func> predicate
/// A function that produces the exception to fault with if the
/// returns false
.
/// The transformed task.
- public static Task Filter(this Task task, Func> predicate, Func morphism)
- => task.Bind(async value => await predicate(value) ? Task.FromResult(value) : Task.FromException(morphism(value)))
- .Unwrap();
+ public static Task Filter(
+ this Task task,
+ Func> predicate,
+ Func morphism
+ )
+ {
+ return task.ContinueWith(continuationTask =>
+ {
+ T predicateValue = continuationTask.Result;
+
+ return predicate(predicateValue)
+ .ContinueWith(predicateTask => predicateTask.Result
+ ? Task.FromResult(predicateValue)
+ : Task.FromException(morphism(predicateValue))
+ ).Unwrap();
+ }).Unwrap();
+ }
///
/// Allows a fulfilled to be transitioned to a faulted one if the
@@ -275,7 +302,20 @@ public static Task Filter(
this Task task,
Func> predicate,
Func> morphism
- ) where E : Exception => task.Filter(predicate, _ => morphism());
+ ) where E : Exception
+ {
+ return task.ContinueWith(continuationTask =>
+ {
+ T continuationValue = continuationTask.Result;
+
+ return predicate(continuationValue).ContinueWith(predicateTask =>
+ {
+ return predicateTask.Result
+ ? Task.FromResult(continuationValue)
+ : morphism().ContinueWith(morphismTask => Task.FromException(morphismTask.Result)).Unwrap();
+ }).Unwrap();
+ }).Unwrap();
+ }
///
/// Allows a fulfilled to be transitioned to a faulted one if the
@@ -292,11 +332,20 @@ public static Task Filter(
this Task task,
Func> predicate,
Func> morphism
- ) where E : Exception => task.Bind(
- async value => (await predicate(value))
- ? Task.FromResult(value)
- : Task.FromException(await morphism(value))
- ).Unwrap();
+ ) where E : Exception
+ {
+ return task.ContinueWith(continuationTask =>
+ {
+ T continuationValue = continuationTask.Result;
+
+ return predicate(continuationValue).ContinueWith(predicateTask =>
+ {
+ return predicateTask.Result
+ ? Task.FromResult(continuationValue)
+ : morphism(continuationValue).ContinueWith(morphismTask => Task.FromException(morphismTask.Result)).Unwrap();
+ }).Unwrap();
+ }).Unwrap();
+ }
///
/// Disjunctive 'rightMap'. Can be thought of as 'fmap' for s.
@@ -391,12 +440,11 @@ public static Task Delay(
this Task task,
TimeSpan delayInterval,
CancellationToken cancellationToken = default
- ) => task.ContinueWith(async continuationTask =>
+ ) => task.ContinueWith(continuationTask =>
{
- await Task.Delay(delayInterval, cancellationToken);
-
- return continuationTask;
- }).Unwrap().Unwrap();
+ return Task.Delay(delayInterval, cancellationToken)
+ .ContinueWith(delayTask => continuationTask.Result);
+ }).Unwrap();
///
/// Faults a with a provided .
@@ -455,89 +503,4 @@ public static Task Retry(this Task task, Func
public static Task Retry(this Task task, Func retryFunc)
=> task.Retry(retryFunc, RetryParams.Default);
-
- ///
- /// Transforms the value in a fulfilled to another type.
- ///
- /// This method is an alias to Task.ResultMap
.
- /// The task's underlying type.
- /// The transformed type.
- /// The transformation function.
- /// The transformed task.
- public static Task Then(this Task task, Func onFulfilled)
- => task.ResultMap(onFulfilled);
-
- ///
- /// Transforms the value in a fulfilled to another type.
- ///
- /// This method is an alias to Task.Bind
.
- /// The task's underlying type.
- /// The transformed type.
- /// The transformation function.
- /// The transformed task.
- public static Task Then(this Task task, Func> onFulfilled)
- => task.Bind(onFulfilled);
-
- ///
- /// Transforms both sides of a .
- ///
- /// This method is an alias to Task.BiBind
.
- /// The task's underlying type.
- /// The transformed type.
- /// The transformation function for a fulfilled task.
- /// The transformation function for a faulted task.
- /// The transformed task.
- public static Task Then(
- this Task task,
- Func onFulfilled,
- Func onFaulted
- ) => task.BiBind(
- Pipe2(onFaulted, Task.FromResult),
- Pipe2(onFulfilled, Task.FromResult)
- );
-
- ///
- /// Transforms both sides of a .
- ///
- /// This method is an alias to Task.BiBind
.
- /// The task's underlying type.
- /// The transformed type.
- /// The transformation function for a fulfilled task.
- /// The transformation function for a faulted task.
- /// The transformed task.
- public static Task Then(
- this Task task,
- Func onFulfilled,
- Func> onFaulted
- ) => task.BiBind(onFaulted, Pipe2(onFulfilled, Task.FromResult));
-
- ///
- /// Transforms both sides of a .
- ///
- /// This method is an alias to Task.BiBind
.
- /// The task's underlying type.
- /// The transformed type.
- /// The transformation function for a fulfilled task.
- /// The transformation function for a faulted task.
- /// The transformed task.
- public static Task Then(
- this Task task,
- Func> onFulfilled,
- Func onFaulted
- ) => task.BiBind(Pipe2(onFaulted, Task.FromResult), onFulfilled);
-
- ///
- /// Transforms both sides of a .
- ///
- /// This method is an alias to Task.BiBind
.
- /// The task's underlying type.
- /// The transformed type.
- /// The transformation function for a fulfilled task.
- /// The transformation function for a faulted task.
- /// The transformed task.
- public static Task Then(
- this Task task,
- Func> onFulfilled,
- Func> onFaulted
- ) => task.BiBind(onFaulted, onFulfilled);
}
diff --git a/src/TaskExtensionsThen.cs b/src/TaskExtensionsThen.cs
new file mode 100644
index 0000000..c74a71a
--- /dev/null
+++ b/src/TaskExtensionsThen.cs
@@ -0,0 +1,296 @@
+using System;
+using System.Threading;
+using System.Threading.Tasks;
+
+namespace RLC.TaskChaining;
+
+using static TaskStatics;
+
+public static partial class TaskExtensions
+{
+ ///
+ /// Transforms the value in a fulfilled to another type.
+ ///
+ /// This method is an alias to Task.ResultMap
.
+ /// The task's underlying type.
+ /// The transformed type.
+ /// The transformation function.
+ /// The transformed task.
+ public static Task Then(this Task task, Func onFulfilled)
+ => task.ResultMap(onFulfilled);
+
+ ///
+ /// Transforms the value in a fulfilled to another type.
+ ///
+ /// This method is an alias to Task.Bind
.
+ /// The task's underlying type.
+ /// The transformed type.
+ /// The transformation function.
+ /// The transformed task.
+ public static Task Then(this Task task, Func> onFulfilled)
+ => task.Bind(onFulfilled);
+
+ ///
+ /// Transforms both sides of a .
+ ///
+ /// This method is an alias to Task.BiBind
.
+ /// The task's underlying type.
+ /// The transformed type.
+ /// The transformation function for a fulfilled task.
+ /// The transformation function for a faulted task.
+ /// The transformed task.
+ public static Task Then(
+ this Task task,
+ Func onFulfilled,
+ Func onFaulted
+ ) => task.BiBind(
+ Pipe2(onFaulted, Task.FromResult),
+ Pipe2(onFulfilled, Task.FromResult)
+ );
+
+ ///
+ /// Transforms both sides of a .
+ ///
+ /// This method is an alias to Task.BiBind
.
+ /// The task's underlying type.
+ /// The transformed type.
+ /// The transformation function for a fulfilled task.
+ /// The transformation function for a faulted task.
+ /// The transformed task.
+ public static Task Then(
+ this Task task,
+ Func onFulfilled,
+ Func> onFaulted
+ ) => task.BiBind(onFaulted, Pipe2(onFulfilled, Task.FromResult));
+
+ ///
+ /// Transforms both sides of a .
+ ///
+ /// This method is an alias to Task.BiBind
.
+ /// The task's underlying type.
+ /// The transformed type.
+ /// The transformation function for a fulfilled task.
+ /// The transformation function for a faulted task.
+ /// The transformed task.
+ public static Task Then(
+ this Task task,
+ Func> onFulfilled,
+ Func onFaulted
+ ) => task.BiBind(Pipe2(onFaulted, Task.FromResult), onFulfilled);
+
+ ///
+ /// Transforms both sides of a .
+ ///
+ /// This method is an alias to Task.BiBind
.
+ /// The task's underlying type.
+ /// The transformed type.
+ /// The transformation function for a fulfilled task.
+ /// The transformation function for a faulted task.
+ /// The transformed task.
+ public static Task Then(
+ this Task task,
+ Func> onFulfilled,
+ Func> onFaulted
+ ) => task.BiBind(onFaulted, onFulfilled);
+
+ ///
+ /// Transforms the value in a fulfilled to another type.
+ ///
+ /// The task's underlying type.
+ /// The transformed type.
+ /// The transformation function.
+ /// A cancellation token
+ /// The transformed task
+ public static Task Then(
+ this Task task,
+ Func> onFulfilled,
+ CancellationToken cancellationToken = default
+ )
+ {
+ return task.ContinueWith(continuationTask =>
+ {
+ if (continuationTask.IsCanceled)
+ {
+ return Task.FromException(HandleCancellation(continuationTask));
+ }
+
+ return continuationTask.IsFaulted
+ ? Task.FromException(PotentiallyUnwindException(continuationTask.Exception))
+ : onFulfilled(continuationTask.Result, cancellationToken);
+ }).Unwrap();
+ }
+
+ ///
+ /// Transforms both sides of a .
+ ///
+ /// The task's underlying type.
+ /// The transformed type.
+ /// The transformation function for a fulfilled task.
+ /// The transformation function for a faulted task.
+ /// A cancellation token.
+ /// The transformed task.
+ public static Task Then(
+ this Task task,
+ Func> onFulfilled,
+ Func onFaulted,
+ CancellationToken cancellationToken = default
+ )
+ {
+ return task.ContinueWith(continuationTask =>
+ {
+ if (continuationTask.IsCanceled)
+ {
+ return Task.FromException(HandleCancellation(task));
+ }
+
+ return continuationTask.IsFaulted
+ ? Task.FromException(onFaulted())
+ : onFulfilled(continuationTask.Result, cancellationToken);
+ }).Unwrap();
+ }
+
+ ///
+ /// Transforms both sides of a .
+ ///
+ /// The task's underlying type.
+ /// The transformed type.
+ /// The transformation function for a fulfilled task.
+ /// The transformation function for a faulted task.
+ /// A cancellation token.
+ /// The transformed task.
+ public static Task Then(
+ this Task task,
+ Func> onFulfilled,
+ Func onFaulted,
+ CancellationToken cancellationToken = default
+ )
+ {
+ return task.ContinueWith(continuationTask =>
+ {
+ if (continuationTask.IsCanceled)
+ {
+ return Task.FromException(HandleCancellation(task));
+ }
+
+ return continuationTask.IsFaulted
+ ? Task.FromResult(onFaulted())
+ : onFulfilled(continuationTask.Result, cancellationToken);
+ }).Unwrap();
+ }
+
+ ///
+ /// Transforms both sides of a .
+ ///
+ /// The task's underlying type.
+ /// The transformed type.
+ /// The transformation function for a fulfilled task.
+ /// The transformation function for a faulted task.
+ /// A cancellation token.
+ /// The transformed task.
+ public static Task Then(
+ this Task task,
+ Func> onFulfilled,
+ Func> onFaulted,
+ CancellationToken cancellationToken = default
+ )
+ {
+ return task.ContinueWith(continuationTask =>
+ {
+ if (continuationTask.IsCanceled)
+ {
+ return Task.FromException(HandleCancellation(task));
+ }
+
+ return continuationTask.IsFaulted
+ ? onFaulted()
+ : onFulfilled(continuationTask.Result, cancellationToken);
+ }).Unwrap();
+ }
+
+ ///
+ /// Transforms both sides of a .
+ ///
+ /// The task's underlying type.
+ /// The transformed type.
+ /// The transformation function for a fulfilled task.
+ /// The transformation function for a faulted task.
+ /// A cancellation token.
+ /// The transformed task.
+ public static Task Then(
+ this Task task,
+ Func> onFulfilled,
+ Func onFaulted,
+ CancellationToken cancellationToken = default
+ )
+ {
+ return task.ContinueWith(continuationTask =>
+ {
+ if (continuationTask.IsCanceled)
+ {
+ return Task.FromException