@skill-map/cli 0.48.0 → 0.49.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1 @@
1
+ import{b as jr,c as Qe,s as kr}from"./chunk-FDJ5FDGM.js";import{$ as Mt,A as At,C as hr,D as L,Dc as _t,E as qe,F as x,H as S,Ha as Cr,Hb as _r,Hc as We,I as fr,K as w,Kc as xr,M as pr,N as E,O as He,P as h,Q as gr,Ra as Sr,S as G,Sa as se,T as U,Ta as wr,Va as br,Xa as Dt,Ya as Ir,Z as vr,_a as Ge,a as or,aa as mr,b as ar,ba as ae,c as sr,d as J,db as Er,e as N,ea as Be,eb as Ar,f as _,ga as R,gb as Mr,h as O,hb as Tr,i as g,j as cr,ja as Ve,k as wt,ka as Tt,kb as Dr,l as ur,la as yr,ma as Rr,n as I,o as bt,p as B,q as lr,r as Fe,rc as Or,sc as y,tc as Nt,u as ie,uc as Ur,v as It,vc as Pr,w as Et,wb as Nr,x as oe,xc as Lr,y as dr,z as V}from"./chunk-NV5DRQPL.js";import{a as d,b as D}from"./chunk-WCABR6TI.js";var f="primary",xe=Symbol("RouteTitle"),xt=class{params;constructor(n){this.params=n||{}}has(n){return Object.prototype.hasOwnProperty.call(this.params,n)}get(n){if(this.has(n)){let e=this.params[n];return Array.isArray(e)?e[0]:e}return null}getAll(n){if(this.has(n)){let e=this.params[n];return Array.isArray(e)?e:[e]}return[]}get keys(){return Object.keys(this.params)}};function ee(t){return new xt(t)}function Ot(t,n,e){for(let r=0;r<t.length;r++){let i=t[r],o=n[r];if(i[0]===":")e[i.substring(1)]=o;else if(i!==o.path)return!1}return!0}function Gr(t,n,e){let r=e.path.split("/"),i=r.indexOf("**");if(i===-1){if(r.length>t.length||e.pathMatch==="full"&&(n.hasChildren()||r.length<t.length))return null;let c={},u=t.slice(0,r.length);return Ot(r,u,c)?{consumed:u,posParams:c}:null}if(i!==r.lastIndexOf("**"))return null;let o=r.slice(0,i),s=r.slice(i+1);if(o.length+s.length>t.length||e.pathMatch==="full"&&n.hasChildren()&&e.path!=="**")return null;let a={};return!Ot(o,t.slice(0,o.length),a)||!Ot(s,t.slice(t.length-s.length),a)?null:{consumed:t,posParams:a}}function et(t){return new Promise((n,e)=>{t.pipe(V()).subscribe({next:r=>n(r),error:r=>e(r)})})}function $n(t,n){if(t.length!==n.length)return!1;for(let e=0;e<t.length;++e)if(!k(t[e],n[e]))return!1;return!0}function k(t,n){let e=t?jt(t):void 0,r=n?jt(n):void 0;if(!e||!r||e.length!=r.length)return!1;let i;for(let o=0;o<e.length;o++)if(i=e[o],!Wr(t[i],n[i]))return!1;return!0}function jt(t){return[...Object.keys(t),...Object.getOwnPropertySymbols(t)]}function Wr(t,n){if(Array.isArray(t)&&Array.isArray(n)){if(t.length!==n.length)return!1;let e=[...t].sort(),r=[...n].sort();return e.every((i,o)=>r[o]===i)}else return t===n}function zn(t){return t.length>0?t[t.length-1]:null}function ne(t){return wt(t)?t:Ar(t)?O(Promise.resolve(t)):g(t)}function Qr(t){return wt(t)?et(t):Promise.resolve(t)}var Fn={exact:Zr,subset:Jr},Kr={exact:qn,subset:Hn,ignored:()=>!0},Yr={paths:"exact",fragment:"ignored",matrixParams:"ignored",queryParams:"exact"},kt={paths:"subset",fragment:"ignored",matrixParams:"ignored",queryParams:"subset"};function $r(t,n,e){return Fn[e.paths](t.root,n.root,e.matrixParams)&&Kr[e.queryParams](t.queryParams,n.queryParams)&&!(e.fragment==="exact"&&t.fragment!==n.fragment)}function qn(t,n){return k(t,n)}function Zr(t,n,e){if(!X(t.segments,n.segments)||!Ze(t.segments,n.segments,e)||t.numberOfChildren!==n.numberOfChildren)return!1;for(let r in n.children)if(!t.children[r]||!Zr(t.children[r],n.children[r],e))return!1;return!0}function Hn(t,n){return Object.keys(n).length<=Object.keys(t).length&&Object.keys(n).every(e=>Wr(t[e],n[e]))}function Jr(t,n,e){return Xr(t,n,n.segments,e)}function Xr(t,n,e,r){if(t.segments.length>e.length){let i=t.segments.slice(0,e.length);return!(!X(i,e)||n.hasChildren()||!Ze(i,e,r))}else if(t.segments.length===e.length){if(!X(t.segments,e)||!Ze(t.segments,e,r))return!1;for(let i in n.children)if(!t.children[i]||!Jr(t.children[i],n.children[i],r))return!1;return!0}else{let i=e.slice(0,t.segments.length),o=e.slice(t.segments.length);return!X(t.segments,i)||!Ze(t.segments,i,r)||!t.children[f]?!1:Xr(t.children[f],n,o,r)}}function Ze(t,n,e){return n.every((r,i)=>Kr[e](t[i].parameters,r.parameters))}var M=class{root;queryParams;fragment;_queryParamMap;constructor(n=new v([],{}),e={},r=null){this.root=n,this.queryParams=e,this.fragment=r}get queryParamMap(){return this._queryParamMap??=ee(this.queryParams),this._queryParamMap}toString(){return Gn.serialize(this)}},v=class{segments;children;parent=null;constructor(n,e){this.segments=n,this.children=e,Object.values(e).forEach(r=>r.parent=this)}hasChildren(){return this.numberOfChildren>0}get numberOfChildren(){return Object.keys(this.children).length}toString(){return Je(this)}},W=class{path;parameters;_parameterMap;constructor(n,e){this.path=n,this.parameters=e}get parameterMap(){return this._parameterMap??=ee(this.parameters),this._parameterMap}toString(){return tn(this)}};function Bn(t,n){return X(t,n)&&t.every((e,r)=>k(e.parameters,n[r].parameters))}function X(t,n){return t.length!==n.length?!1:t.every((e,r)=>e.path===n[r].path)}function Vn(t,n){let e=[];return Object.entries(t.children).forEach(([r,i])=>{r===f&&(e=e.concat(n(i,r)))}),Object.entries(t.children).forEach(([r,i])=>{r!==f&&(e=e.concat(n(i,r)))}),e}var ve=(()=>{class t{static \u0275fac=function(r){return new(r||t)};static \u0275prov=w({token:t,factory:()=>new Q,providedIn:"root"})}return t})(),Q=class{parse(n){let e=new zt(n);return new M(e.parseRootSegment(),e.parseQueryParams(),e.parseFragment())}serialize(n){let e=`/${be(n.root,!0)}`,r=Kn(n.queryParams),i=typeof n.fragment=="string"?`#${Wn(n.fragment)}`:"";return`${e}${r}${i}`}},Gn=new Q;function Je(t){return t.segments.map(n=>tn(n)).join("/")}function be(t,n){if(!t.hasChildren())return Je(t);if(n){let e=t.children[f]?be(t.children[f],!1):"",r=[];return Object.entries(t.children).forEach(([i,o])=>{i!==f&&r.push(`${i}:${be(o,!1)}`)}),r.length>0?`${e}(${r.join("//")})`:e}else{let e=Vn(t,(r,i)=>i===f?[be(t.children[f],!1)]:[`${i}:${be(r,!1)}`]);return Object.keys(t.children).length===1&&t.children[f]!=null?`${Je(t)}/${e[0]}`:`${Je(t)}/(${e.join("//")})`}}function en(t){return encodeURIComponent(t).replace(/%40/g,"@").replace(/%3A/gi,":").replace(/%24/g,"$").replace(/%2C/gi,",")}function Ke(t){return en(t).replace(/%3B/gi,";")}function Wn(t){return encodeURI(t)}function $t(t){return en(t).replace(/\(/g,"%28").replace(/\)/g,"%29").replace(/%26/gi,"&")}function Xe(t){return decodeURIComponent(t)}function zr(t){return Xe(t.replace(/\+/g,"%20"))}function tn(t){return`${$t(t.path)}${Qn(t.parameters)}`}function Qn(t){return Object.entries(t).map(([n,e])=>`;${$t(n)}=${$t(e)}`).join("")}function Kn(t){let n=Object.entries(t).map(([e,r])=>Array.isArray(r)?r.map(i=>`${Ke(e)}=${Ke(i)}`).join("&"):`${Ke(e)}=${Ke(r)}`).filter(e=>e);return n.length?`?${n.join("&")}`:""}var Yn=/^[^\/()?;#]+/;function Ut(t){let n=t.match(Yn);return n?n[0]:""}var Zn=/^[^\/()?;=#]+/;function Jn(t){let n=t.match(Zn);return n?n[0]:""}var Xn=/^[^=?&#]+/;function ei(t){let n=t.match(Xn);return n?n[0]:""}var ti=/^[^&#]+/;function ri(t){let n=t.match(ti);return n?n[0]:""}var zt=class{url;remaining;constructor(n){this.url=n,this.remaining=n}parseRootSegment(){for(;this.consumeOptional("/"););return this.remaining===""||this.peekStartsWith("?")||this.peekStartsWith("#")?new v([],{}):new v([],this.parseChildren())}parseQueryParams(){let n={};if(this.consumeOptional("?"))do this.parseQueryParam(n);while(this.consumeOptional("&"));return n}parseFragment(){return this.consumeOptional("#")?decodeURIComponent(this.remaining):null}parseChildren(n=0){if(n>50)throw new S(4010,!1);if(this.remaining==="")return{};this.consumeOptional("/");let e=[];for(this.peekStartsWith("(")||e.push(this.parseSegment());this.peekStartsWith("/")&&!this.peekStartsWith("//")&&!this.peekStartsWith("/(");)this.capture("/"),e.push(this.parseSegment());let r={};this.peekStartsWith("/(")&&(this.capture("/"),r=this.parseParens(!0,n));let i={};return this.peekStartsWith("(")&&(i=this.parseParens(!1,n)),(e.length>0||Object.keys(r).length>0)&&(i[f]=new v(e,r)),i}parseSegment(){let n=Ut(this.remaining);if(n===""&&this.peekStartsWith(";"))throw new S(4009,!1);return this.capture(n),new W(Xe(n),this.parseMatrixParams())}parseMatrixParams(){let n={};for(;this.consumeOptional(";");)this.parseParam(n);return n}parseParam(n){let e=Jn(this.remaining);if(!e)return;this.capture(e);let r="";if(this.consumeOptional("=")){let i=Ut(this.remaining);i&&(r=i,this.capture(r))}n[Xe(e)]=Xe(r)}parseQueryParam(n){let e=ei(this.remaining);if(!e)return;this.capture(e);let r="";if(this.consumeOptional("=")){let s=ri(this.remaining);s&&(r=s,this.capture(r))}let i=zr(e),o=zr(r);if(n.hasOwnProperty(i)){let s=n[i];Array.isArray(s)||(s=[s],n[i]=s),s.push(o)}else n[i]=o}parseParens(n,e){let r={};for(this.capture("(");!this.consumeOptional(")")&&this.remaining.length>0;){let i=Ut(this.remaining),o=this.remaining[i.length];if(o!=="/"&&o!==")"&&o!==";")throw new S(4010,!1);let s;i.indexOf(":")>-1?(s=i.slice(0,i.indexOf(":")),this.capture(s),this.capture(":")):n&&(s=f);let a=this.parseChildren(e+1);r[s??f]=Object.keys(a).length===1&&a[f]?a[f]:new v([],a),this.consumeOptional("//")}return r}peekStartsWith(n){return this.remaining.startsWith(n)}consumeOptional(n){return this.peekStartsWith(n)?(this.remaining=this.remaining.substring(n.length),!0):!1}capture(n){if(!this.consumeOptional(n))throw new S(4011,!1)}};function rn(t){return t.segments.length>0?new v([],{[f]:t}):t}function nn(t){let n={};for(let[r,i]of Object.entries(t.children)){let o=nn(i);if(r===f&&o.segments.length===0&&o.hasChildren())for(let[s,a]of Object.entries(o.children))n[s]=a;else(o.segments.length>0||o.hasChildren())&&(n[r]=o)}let e=new v(t.segments,n);return ni(e)}function ni(t){if(t.numberOfChildren===1&&t.children[f]){let n=t.children[f];return new v(t.segments.concat(n.segments),n.children)}return t}function K(t){return t instanceof M}function on(t,n,e=null,r=null,i=new Q){let o=an(t);return sn(o,n,e,r,i)}function an(t){let n;function e(o){let s={};for(let c of o.children){let u=e(c);s[c.outlet]=u}let a=new v(o.url,s);return o===t&&(n=a),a}let r=e(t.root),i=rn(r);return n??i}function sn(t,n,e,r,i){let o=t;for(;o.parent;)o=o.parent;if(n.length===0)return Pt(o,o,o,e,r,i);let s=ii(n);if(s.toRoot())return Pt(o,o,new v([],{}),e,r,i);let a=oi(s,o,t),c=a.processChildren?Ee(a.segmentGroup,a.index,s.commands):un(a.segmentGroup,a.index,s.commands);return Pt(o,a.segmentGroup,c,e,r,i)}function tt(t){return typeof t=="object"&&t!=null&&!t.outlets&&!t.segmentPath}function Te(t){return typeof t=="object"&&t!=null&&t.outlets}function Fr(t,n,e){t||="\u0275";let r=new M;return r.queryParams={[t]:n},e.parse(e.serialize(r)).queryParams[t]}function Pt(t,n,e,r,i,o){let s={};for(let[u,l]of Object.entries(r??{}))s[u]=Array.isArray(l)?l.map(p=>Fr(u,p,o)):Fr(u,l,o);let a;t===n?a=e:a=cn(t,n,e);let c=rn(nn(a));return new M(c,s,i)}function cn(t,n,e){let r={};return Object.entries(t.children).forEach(([i,o])=>{o===n?r[i]=e:r[i]=cn(o,n,e)}),new v(t.segments,r)}var rt=class{isAbsolute;numberOfDoubleDots;commands;constructor(n,e,r){if(this.isAbsolute=n,this.numberOfDoubleDots=e,this.commands=r,n&&r.length>0&&tt(r[0]))throw new S(4003,!1);let i=r.find(Te);if(i&&i!==zn(r))throw new S(4004,!1)}toRoot(){return this.isAbsolute&&this.commands.length===1&&this.commands[0]=="/"}};function ii(t){if(typeof t[0]=="string"&&t.length===1&&t[0]==="/")return new rt(!0,0,t);let n=0,e=!1,r=t.reduce((i,o,s)=>{if(typeof o=="object"&&o!=null){if(o.outlets){let a={};return Object.entries(o.outlets).forEach(([c,u])=>{a[c]=typeof u=="string"?u.split("/"):u}),[...i,{outlets:a}]}if(o.segmentPath)return[...i,o.segmentPath]}return typeof o!="string"?[...i,o]:s===0?(o.split("/").forEach((a,c)=>{c==0&&a==="."||(c==0&&a===""?e=!0:a===".."?n++:a!=""&&i.push(a))}),i):[...i,o]},[]);return new rt(e,n,r)}var ue=class{segmentGroup;processChildren;index;constructor(n,e,r){this.segmentGroup=n,this.processChildren=e,this.index=r}};function oi(t,n,e){if(t.isAbsolute)return new ue(n,!0,0);if(!e)return new ue(n,!1,NaN);if(e.parent===null)return new ue(e,!0,0);let r=tt(t.commands[0])?0:1,i=e.segments.length-1+r;return ai(e,i,t.numberOfDoubleDots)}function ai(t,n,e){let r=t,i=n,o=e;for(;o>i;){if(o-=i,r=r.parent,!r)throw new S(4005,!1);i=r.segments.length}return new ue(r,!1,i-o)}function si(t){return Te(t[0])?t[0].outlets:{[f]:t}}function un(t,n,e){if(t??=new v([],{}),t.segments.length===0&&t.hasChildren())return Ee(t,n,e);let r=ci(t,n,e),i=e.slice(r.commandIndex);if(r.match&&r.pathIndex<t.segments.length){let o=new v(t.segments.slice(0,r.pathIndex),{});return o.children[f]=new v(t.segments.slice(r.pathIndex),t.children),Ee(o,0,i)}else return r.match&&i.length===0?new v(t.segments,{}):r.match&&!t.hasChildren()?Ft(t,n,e):r.match?Ee(t,0,i):Ft(t,n,e)}function Ee(t,n,e){if(e.length===0)return new v(t.segments,{});{let r=si(e),i={};if(Object.keys(r).some(o=>o!==f)&&t.children[f]&&t.numberOfChildren===1&&t.children[f].segments.length===0){let o=Ee(t.children[f],n,e);return new v(t.segments,o.children)}return Object.entries(r).forEach(([o,s])=>{typeof s=="string"&&(s=[s]),s!==null&&(i[o]=un(t.children[o],n,s))}),Object.entries(t.children).forEach(([o,s])=>{r[o]===void 0&&(i[o]=s)}),new v(t.segments,i)}}function ci(t,n,e){let r=0,i=n,o={match:!1,pathIndex:0,commandIndex:0};for(;i<t.segments.length;){if(r>=e.length)return o;let s=t.segments[i],a=e[r];if(Te(a))break;let c=`${a}`,u=r<e.length-1?e[r+1]:null;if(i>0&&c===void 0)break;if(c&&u&&typeof u=="object"&&u.outlets===void 0){if(!Hr(c,u,s))return o;r+=2}else{if(!Hr(c,{},s))return o;r++}i++}return{match:!0,pathIndex:i,commandIndex:r}}function Ft(t,n,e){let r=t.segments.slice(0,n),i=0;for(;i<e.length;){let o=e[i];if(Te(o)){let c=ui(o.outlets);return new v(r,c)}if(i===0&&tt(e[0])){let c=t.segments[n];r.push(new W(c.path,qr(e[0]))),i++;continue}let s=Te(o)?o.outlets[f]:`${o}`,a=i<e.length-1?e[i+1]:null;s&&a&&tt(a)?(r.push(new W(s,qr(a))),i+=2):(r.push(new W(s,{})),i++)}return new v(r,{})}function ui(t){let n={};return Object.entries(t).forEach(([e,r])=>{typeof r=="string"&&(r=[r]),r!==null&&(n[e]=Ft(new v([],{}),0,r))}),n}function qr(t){let n={};return Object.entries(t).forEach(([e,r])=>n[e]=`${r}`),n}function Hr(t,n,e){return t==e.path&&k(n,e.parameters)}var Ae="imperative",C=(function(t){return t[t.NavigationStart=0]="NavigationStart",t[t.NavigationEnd=1]="NavigationEnd",t[t.NavigationCancel=2]="NavigationCancel",t[t.NavigationError=3]="NavigationError",t[t.RoutesRecognized=4]="RoutesRecognized",t[t.ResolveStart=5]="ResolveStart",t[t.ResolveEnd=6]="ResolveEnd",t[t.GuardsCheckStart=7]="GuardsCheckStart",t[t.GuardsCheckEnd=8]="GuardsCheckEnd",t[t.RouteConfigLoadStart=9]="RouteConfigLoadStart",t[t.RouteConfigLoadEnd=10]="RouteConfigLoadEnd",t[t.ChildActivationStart=11]="ChildActivationStart",t[t.ChildActivationEnd=12]="ChildActivationEnd",t[t.ActivationStart=13]="ActivationStart",t[t.ActivationEnd=14]="ActivationEnd",t[t.Scroll=15]="Scroll",t[t.NavigationSkipped=16]="NavigationSkipped",t})(C||{}),T=class{id;url;constructor(n,e){this.id=n,this.url=e}},te=class extends T{type=C.NavigationStart;navigationTrigger;restoredState;constructor(n,e,r="imperative",i=null){super(n,e),this.navigationTrigger=r,this.restoredState=i}toString(){return`NavigationStart(id: ${this.id}, url: '${this.url}')`}},$=class extends T{urlAfterRedirects;type=C.NavigationEnd;constructor(n,e,r){super(n,e),this.urlAfterRedirects=r}toString(){return`NavigationEnd(id: ${this.id}, url: '${this.url}', urlAfterRedirects: '${this.urlAfterRedirects}')`}},b=(function(t){return t[t.Redirect=0]="Redirect",t[t.SupersededByNewNavigation=1]="SupersededByNewNavigation",t[t.NoDataFromResolver=2]="NoDataFromResolver",t[t.GuardRejected=3]="GuardRejected",t[t.Aborted=4]="Aborted",t})(b||{}),De=(function(t){return t[t.IgnoredSameUrlNavigation=0]="IgnoredSameUrlNavigation",t[t.IgnoredByUrlHandlingStrategy=1]="IgnoredByUrlHandlingStrategy",t})(De||{}),P=class extends T{reason;code;type=C.NavigationCancel;constructor(n,e,r,i){super(n,e),this.reason=r,this.code=i}toString(){return`NavigationCancel(id: ${this.id}, url: '${this.url}')`}};function ln(t){return t instanceof P&&(t.code===b.Redirect||t.code===b.SupersededByNewNavigation)}var q=class extends T{reason;code;type=C.NavigationSkipped;constructor(n,e,r,i){super(n,e),this.reason=r,this.code=i}},re=class extends T{error;target;type=C.NavigationError;constructor(n,e,r,i){super(n,e),this.error=r,this.target=i}toString(){return`NavigationError(id: ${this.id}, url: '${this.url}', error: ${this.error})`}},Ne=class extends T{urlAfterRedirects;state;type=C.RoutesRecognized;constructor(n,e,r,i){super(n,e),this.urlAfterRedirects=r,this.state=i}toString(){return`RoutesRecognized(id: ${this.id}, url: '${this.url}', urlAfterRedirects: '${this.urlAfterRedirects}', state: ${this.state})`}},nt=class extends T{urlAfterRedirects;state;type=C.GuardsCheckStart;constructor(n,e,r,i){super(n,e),this.urlAfterRedirects=r,this.state=i}toString(){return`GuardsCheckStart(id: ${this.id}, url: '${this.url}', urlAfterRedirects: '${this.urlAfterRedirects}', state: ${this.state})`}},it=class extends T{urlAfterRedirects;state;shouldActivate;type=C.GuardsCheckEnd;constructor(n,e,r,i,o){super(n,e),this.urlAfterRedirects=r,this.state=i,this.shouldActivate=o}toString(){return`GuardsCheckEnd(id: ${this.id}, url: '${this.url}', urlAfterRedirects: '${this.urlAfterRedirects}', state: ${this.state}, shouldActivate: ${this.shouldActivate})`}},ot=class extends T{urlAfterRedirects;state;type=C.ResolveStart;constructor(n,e,r,i){super(n,e),this.urlAfterRedirects=r,this.state=i}toString(){return`ResolveStart(id: ${this.id}, url: '${this.url}', urlAfterRedirects: '${this.urlAfterRedirects}', state: ${this.state})`}},at=class extends T{urlAfterRedirects;state;type=C.ResolveEnd;constructor(n,e,r,i){super(n,e),this.urlAfterRedirects=r,this.state=i}toString(){return`ResolveEnd(id: ${this.id}, url: '${this.url}', urlAfterRedirects: '${this.urlAfterRedirects}', state: ${this.state})`}},st=class{route;type=C.RouteConfigLoadStart;constructor(n){this.route=n}toString(){return`RouteConfigLoadStart(path: ${this.route.path})`}},ct=class{route;type=C.RouteConfigLoadEnd;constructor(n){this.route=n}toString(){return`RouteConfigLoadEnd(path: ${this.route.path})`}},ut=class{snapshot;type=C.ChildActivationStart;constructor(n){this.snapshot=n}toString(){return`ChildActivationStart(path: '${this.snapshot.routeConfig&&this.snapshot.routeConfig.path||""}')`}},lt=class{snapshot;type=C.ChildActivationEnd;constructor(n){this.snapshot=n}toString(){return`ChildActivationEnd(path: '${this.snapshot.routeConfig&&this.snapshot.routeConfig.path||""}')`}},dt=class{snapshot;type=C.ActivationStart;constructor(n){this.snapshot=n}toString(){return`ActivationStart(path: '${this.snapshot.routeConfig&&this.snapshot.routeConfig.path||""}')`}},ht=class{snapshot;type=C.ActivationEnd;constructor(n){this.snapshot=n}toString(){return`ActivationEnd(path: '${this.snapshot.routeConfig&&this.snapshot.routeConfig.path||""}')`}};var de=class{},_e=class{},he=class{url;navigationBehaviorOptions;constructor(n,e){this.url=n,this.navigationBehaviorOptions=e}};function li(t){return!(t instanceof de)&&!(t instanceof he)&&!(t instanceof _e)}var ft=class{rootInjector;outlet=null;route=null;children;attachRef=null;get injector(){return this.route?.snapshot._environmentInjector??this.rootInjector}constructor(n){this.rootInjector=n,this.children=new me(this.rootInjector)}},me=(()=>{class t{rootInjector;contexts=new Map;constructor(e){this.rootInjector=e}onChildOutletCreated(e,r){let i=this.getOrCreateContext(e);i.outlet=r,this.contexts.set(e,i)}onChildOutletDestroyed(e){let r=this.getContext(e);r&&(r.outlet=null,r.attachRef=null)}onOutletDeactivated(){let e=this.contexts;return this.contexts=new Map,e}onOutletReAttached(e){this.contexts=e}getOrCreateContext(e){let r=this.getContext(e);return r||(r=new ft(this.rootInjector),this.contexts.set(e,r)),r}getContext(e){return this.contexts.get(e)||null}static \u0275fac=function(r){return new(r||t)(He(G))};static \u0275prov=w({token:t,factory:t.\u0275fac,providedIn:"root"})}return t})(),pt=class{_root;constructor(n){this._root=n}get root(){return this._root.value}parent(n){let e=this.pathFromRoot(n);return e.length>1?e[e.length-2]:null}children(n){let e=qt(n,this._root);return e?e.children.map(r=>r.value):[]}firstChild(n){let e=qt(n,this._root);return e&&e.children.length>0?e.children[0].value:null}siblings(n){let e=Ht(n,this._root);return e.length<2?[]:e[e.length-2].children.map(i=>i.value).filter(i=>i!==n)}pathFromRoot(n){return Ht(n,this._root).map(e=>e.value)}};function qt(t,n){if(t===n.value)return n;for(let e of n.children){let r=qt(t,e);if(r)return r}return null}function Ht(t,n){if(t===n.value)return[n];for(let e of n.children){let r=Ht(t,e);if(r.length)return r.unshift(n),r}return[]}var A=class{value;children;constructor(n,e){this.value=n,this.children=e}toString(){return`TreeNode(${this.value})`}};function ce(t){let n={};return t&&t.children.forEach(e=>n[e.value.outlet]=e),n}var Oe=class extends pt{snapshot;constructor(n,e){super(n),this.snapshot=e,Jt(this,n)}toString(){return this.snapshot.toString()}};function dn(t,n){let e=di(t,n),r=new N([new W("",{})]),i=new N({}),o=new N({}),s=new N({}),a=new N(""),c=new H(r,i,s,a,o,f,t,e.root);return c.snapshot=e.root,new Oe(new A(c,[]),e)}function di(t,n){let e={},r={},i={},s=new fe([],e,i,"",r,f,t,null,{},n);return new Ue("",new A(s,[]))}var H=class{urlSubject;paramsSubject;queryParamsSubject;fragmentSubject;dataSubject;outlet;component;snapshot;_futureSnapshot;_routerState;_paramMap;_queryParamMap;title;url;params;queryParams;fragment;data;constructor(n,e,r,i,o,s,a,c){this.urlSubject=n,this.paramsSubject=e,this.queryParamsSubject=r,this.fragmentSubject=i,this.dataSubject=o,this.outlet=s,this.component=a,this._futureSnapshot=c,this.title=this.dataSubject?.pipe(I(u=>u[xe]))??g(void 0),this.url=n,this.params=e,this.queryParams=r,this.fragment=i,this.data=o}get routeConfig(){return this._futureSnapshot.routeConfig}get root(){return this._routerState.root}get parent(){return this._routerState.parent(this)}get firstChild(){return this._routerState.firstChild(this)}get children(){return this._routerState.children(this)}get pathFromRoot(){return this._routerState.pathFromRoot(this)}get paramMap(){return this._paramMap??=this.params.pipe(I(n=>ee(n))),this._paramMap}get queryParamMap(){return this._queryParamMap??=this.queryParams.pipe(I(n=>ee(n))),this._queryParamMap}toString(){return this.snapshot?this.snapshot.toString():`Future(${this._futureSnapshot})`}};function Zt(t,n,e="emptyOnly"){let r,{routeConfig:i}=t;return n!==null&&(e==="always"||i?.path===""||!n.component&&!n.routeConfig?.loadComponent)?r={params:d(d({},n.params),t.params),data:d(d({},n.data),t.data),resolve:d(d(d(d({},t.data),n.data),i?.data),t._resolvedData)}:r={params:d({},t.params),data:d({},t.data),resolve:d(d({},t.data),t._resolvedData??{})},i&&fn(i)&&(r.resolve[xe]=i.title),r}var fe=class{url;params;queryParams;fragment;data;outlet;component;routeConfig;_resolve;_resolvedData;_routerState;_paramMap;_queryParamMap;_environmentInjector;get title(){return this.data?.[xe]}constructor(n,e,r,i,o,s,a,c,u,l){this.url=n,this.params=e,this.queryParams=r,this.fragment=i,this.data=o,this.outlet=s,this.component=a,this.routeConfig=c,this._resolve=u,this._environmentInjector=l}get root(){return this._routerState.root}get parent(){return this._routerState.parent(this)}get firstChild(){return this._routerState.firstChild(this)}get children(){return this._routerState.children(this)}get pathFromRoot(){return this._routerState.pathFromRoot(this)}get paramMap(){return this._paramMap??=ee(this.params),this._paramMap}get queryParamMap(){return this._queryParamMap??=ee(this.queryParams),this._queryParamMap}toString(){let n=this.url.map(r=>r.toString()).join("/"),e=this.routeConfig?this.routeConfig.path:"";return`Route(url:'${n}', path:'${e}')`}},Ue=class extends pt{url;constructor(n,e){super(e),this.url=n,Jt(this,e)}toString(){return hn(this._root)}};function Jt(t,n){n.value._routerState=t,n.children.forEach(e=>Jt(t,e))}function hn(t){let n=t.children.length>0?` { ${t.children.map(hn).join(", ")} } `:"";return`${t.value}${n}`}function Lt(t){if(t.snapshot){let n=t.snapshot,e=t._futureSnapshot;t.snapshot=e,k(n.queryParams,e.queryParams)||t.queryParamsSubject.next(e.queryParams),n.fragment!==e.fragment&&t.fragmentSubject.next(e.fragment),k(n.params,e.params)||t.paramsSubject.next(e.params),$n(n.url,e.url)||t.urlSubject.next(e.url),k(n.data,e.data)||t.dataSubject.next(e.data)}else t.snapshot=t._futureSnapshot,t.dataSubject.next(t._futureSnapshot.data)}function Bt(t,n){let e=k(t.params,n.params)&&Bn(t.url,n.url),r=!t.parent!=!n.parent;return e&&!r&&(!t.parent||Bt(t.parent,n.parent))}function fn(t){return typeof t.title=="string"||t.title===null}var pn=new E(""),Xt=(()=>{class t{activated=null;get activatedComponentRef(){return this.activated}_activatedRoute=null;name=f;activateEvents=new ae;deactivateEvents=new ae;attachEvents=new ae;detachEvents=new ae;routerOutletData=Lr();parentContexts=h(me);location=h(wr);changeDetector=h(_t);inputBinder=h(je,{optional:!0});supportsBindingToComponentInputs=!0;ngOnChanges(e){if(e.name){let{firstChange:r,previousValue:i}=e.name;if(r)return;this.isTrackedInParentContexts(i)&&(this.deactivate(),this.parentContexts.onChildOutletDestroyed(i)),this.initializeOutletWithName()}}ngOnDestroy(){this.isTrackedInParentContexts(this.name)&&this.parentContexts.onChildOutletDestroyed(this.name),this.inputBinder?.unsubscribeFromRouteData(this)}isTrackedInParentContexts(e){return this.parentContexts.getContext(e)?.outlet===this}ngOnInit(){this.initializeOutletWithName()}initializeOutletWithName(){if(this.parentContexts.onChildOutletCreated(this.name,this),this.activated)return;let e=this.parentContexts.getContext(this.name);e?.route&&(e.attachRef?this.attach(e.attachRef,e.route):this.activateWith(e.route,e.injector))}get isActivated(){return!!this.activated}get component(){if(!this.activated)throw new S(4012,!1);return this.activated.instance}get activatedRoute(){if(!this.activated)throw new S(4012,!1);return this._activatedRoute}get activatedRouteData(){return this._activatedRoute?this._activatedRoute.snapshot.data:{}}detach(){if(!this.activated)throw new S(4012,!1);this.location.detach();let e=this.activated;return this.activated=null,this._activatedRoute=null,this.detachEvents.emit(e.instance),e}attach(e,r){this.activated=e,this._activatedRoute=r,this.location.insert(e.hostView),this.inputBinder?.bindActivatedRouteToOutletComponent(this),this.attachEvents.emit(e.instance)}deactivate(){if(this.activated){let e=this.component;this.activated.destroy(),this.activated=null,this._activatedRoute=null,this.deactivateEvents.emit(e)}}activateWith(e,r){if(this.isActivated)throw new S(4013,!1);this._activatedRoute=e;let i=this.location,s=e.snapshot.component,a=this.parentContexts.getOrCreateContext(this.name).children,c=new Vt(e,a,i.injector,this.routerOutletData);this.activated=i.createComponent(s,{index:i.length,injector:c,environmentInjector:r}),this.changeDetector.markForCheck(),this.inputBinder?.bindActivatedRouteToOutletComponent(this),this.activateEvents.emit(this.activated.instance)}static \u0275fac=function(r){return new(r||t)};static \u0275dir=Ge({type:t,selectors:[["router-outlet"]],inputs:{name:"name",routerOutletData:[1,"routerOutletData"]},outputs:{activateEvents:"activate",deactivateEvents:"deactivate",attachEvents:"attach",detachEvents:"detach"},exportAs:["outlet"],features:[Ve]})}return t})(),Vt=class{route;childContexts;parent;outletData;constructor(n,e,r,i){this.route=n,this.childContexts=e,this.parent=r,this.outletData=i}get(n,e){return n===H?this.route:n===me?this.childContexts:n===pn?this.outletData:this.parent.get(n,e)}},je=new E(""),er=(()=>{class t{outletDataSubscriptions=new Map;bindActivatedRouteToOutletComponent(e){this.unsubscribeFromRouteData(e),this.subscribeToRouteData(e)}unsubscribeFromRouteData(e){this.outletDataSubscriptions.get(e)?.unsubscribe(),this.outletDataSubscriptions.delete(e)}subscribeToRouteData(e){let{activatedRoute:r}=e,i=bt([r.queryParams,r.params,r.data]).pipe(L(([o,s,a],c)=>(a=d(d(d({},o),s),a),c===0?g(a):Promise.resolve(a)))).subscribe(o=>{if(!e.isActivated||!e.activatedComponentRef||e.activatedRoute!==r||r.component===null){this.unsubscribeFromRouteData(e);return}let s=xr(r.component);if(!s){this.unsubscribeFromRouteData(e);return}for(let{templateName:a}of s.inputs)e.activatedComponentRef.setInput(a,o[a])});this.outletDataSubscriptions.set(e,i)}static \u0275fac=function(r){return new(r||t)};static \u0275prov=w({token:t,factory:t.\u0275fac})}return t})(),tr=(()=>{class t{static \u0275fac=function(r){return new(r||t)};static \u0275cmp=Ir({type:t,selectors:[["ng-component"]],exportAs:["emptyRouterOutlet"],decls:1,vars:0,template:function(r,i){r&1&&Nr(0,"router-outlet")},dependencies:[Xt],encapsulation:2})}return t})();function rr(t){let n=t.children&&t.children.map(rr),e=n?D(d({},t),{children:n}):d({},t);return!e.component&&!e.loadComponent&&(n||e.loadChildren)&&e.outlet&&e.outlet!==f&&(e.component=tr),e}function hi(t,n,e){let r=Pe(t,n._root,e?e._root:void 0);return new Oe(r,n)}function Pe(t,n,e){if(e&&t.shouldReuseRoute(n.value,e.value.snapshot)){let r=e.value;r._futureSnapshot=n.value;let i=fi(t,n,e);return new A(r,i)}else{if(t.shouldAttach(n.value)){let o=t.retrieve(n.value);if(o!==null){let s=o.route;return s.value._futureSnapshot=n.value,s.children=n.children.map(a=>Pe(t,a)),s}}let r=pi(n.value),i=n.children.map(o=>Pe(t,o));return new A(r,i)}}function fi(t,n,e){return n.children.map(r=>{for(let i of e.children)if(t.shouldReuseRoute(r.value,i.value.snapshot))return Pe(t,r,i);return Pe(t,r)})}function pi(t){return new H(new N(t.url),new N(t.params),new N(t.queryParams),new N(t.fragment),new N(t.data),t.outlet,t.component,t)}var pe=class{redirectTo;navigationBehaviorOptions;constructor(n,e){this.redirectTo=n,this.navigationBehaviorOptions=e}},gn="ngNavigationCancelingError";function gt(t,n){let{redirectTo:e,navigationBehaviorOptions:r}=K(n)?{redirectTo:n,navigationBehaviorOptions:void 0}:n,i=vn(!1,b.Redirect);return i.url=e,i.navigationBehaviorOptions=r,i}function vn(t,n){let e=new Error(`NavigationCancelingError: ${t||""}`);return e[gn]=!0,e.cancellationCode=n,e}function gi(t){return mn(t)&&K(t.url)}function mn(t){return!!t&&t[gn]}var Gt=class{routeReuseStrategy;futureState;currState;forwardEvent;inputBindingEnabled;constructor(n,e,r,i,o){this.routeReuseStrategy=n,this.futureState=e,this.currState=r,this.forwardEvent=i,this.inputBindingEnabled=o}activate(n){let e=this.futureState._root,r=this.currState?this.currState._root:null;this.deactivateChildRoutes(e,r,n),Lt(this.futureState.root),this.activateChildRoutes(e,r,n)}deactivateChildRoutes(n,e,r){let i=ce(e);n.children.forEach(o=>{let s=o.value.outlet;this.deactivateRoutes(o,i[s],r),delete i[s]}),Object.values(i).forEach(o=>{this.deactivateRouteAndItsChildren(o,r)})}deactivateRoutes(n,e,r){let i=n.value,o=e?e.value:null;if(i===o)if(i.component){let s=r.getContext(i.outlet);s&&this.deactivateChildRoutes(n,e,s.children)}else this.deactivateChildRoutes(n,e,r);else o&&this.deactivateRouteAndItsChildren(e,r)}deactivateRouteAndItsChildren(n,e){n.value.component&&this.routeReuseStrategy.shouldDetach(n.value.snapshot)?this.detachAndStoreRouteSubtree(n,e):this.deactivateRouteAndOutlet(n,e)}detachAndStoreRouteSubtree(n,e){let r=e.getContext(n.value.outlet),i=r&&n.value.component?r.children:e,o=ce(n);for(let s of Object.values(o))this.deactivateRouteAndItsChildren(s,i);if(r&&r.outlet){let s=r.outlet.detach(),a=r.children.onOutletDeactivated();this.routeReuseStrategy.store(n.value.snapshot,{componentRef:s,route:n,contexts:a})}}deactivateRouteAndOutlet(n,e){let r=e.getContext(n.value.outlet),i=r&&n.value.component?r.children:e,o=ce(n);for(let s of Object.values(o))this.deactivateRouteAndItsChildren(s,i);r&&(r.outlet&&(r.outlet.deactivate(),r.children.onOutletDeactivated()),r.attachRef=null,r.route=null)}activateChildRoutes(n,e,r){let i=ce(e);n.children.forEach(o=>{this.activateRoutes(o,i[o.value.outlet],r),this.forwardEvent(new ht(o.value.snapshot))}),n.children.length&&this.forwardEvent(new lt(n.value.snapshot))}activateRoutes(n,e,r){let i=n.value,o=e?e.value:null;if(Lt(i),i===o)if(i.component){let s=r.getOrCreateContext(i.outlet);this.activateChildRoutes(n,e,s.children)}else this.activateChildRoutes(n,e,r);else if(i.component){let s=r.getOrCreateContext(i.outlet);if(this.routeReuseStrategy.shouldAttach(i.snapshot)){let a=this.routeReuseStrategy.retrieve(i.snapshot);this.routeReuseStrategy.store(i.snapshot,null),s.children.onOutletReAttached(a.contexts),s.attachRef=a.componentRef,s.route=a.route.value,s.outlet&&s.outlet.attach(a.componentRef,a.route.value),Lt(a.route.value),this.activateChildRoutes(n,null,s.children)}else s.attachRef=null,s.route=i,s.outlet&&s.outlet.activateWith(i,s.injector),this.activateChildRoutes(n,null,s.children)}else this.activateChildRoutes(n,null,r)}},vt=class{path;route;constructor(n){this.path=n,this.route=this.path[this.path.length-1]}},le=class{component;route;constructor(n,e){this.component=n,this.route=e}};function vi(t,n,e){let r=t._root,i=n?n._root:null;return Ie(r,i,e,[r.value])}function mi(t){let n=t.routeConfig?t.routeConfig.canActivateChild:null;return!n||n.length===0?null:{node:t,guards:n}}function ye(t,n){let e=Symbol(),r=n.get(t,e);return r===e?typeof t=="function"&&!pr(t)?t:n.get(t):r}function Ie(t,n,e,r,i={canDeactivateChecks:[],canActivateChecks:[]}){let o=ce(n);return t.children.forEach(s=>{yi(s,o[s.value.outlet],e,r.concat([s.value]),i),delete o[s.value.outlet]}),Object.entries(o).forEach(([s,a])=>Me(a,e.getContext(s),i)),i}function yi(t,n,e,r,i={canDeactivateChecks:[],canActivateChecks:[]}){let o=t.value,s=n?n.value:null,a=e?e.getContext(t.value.outlet):null;if(s&&o.routeConfig===s.routeConfig){let c=Ri(s,o,o.routeConfig.runGuardsAndResolvers);c?i.canActivateChecks.push(new vt(r)):(o.data=s.data,o._resolvedData=s._resolvedData),o.component?Ie(t,n,a?a.children:null,r,i):Ie(t,n,e,r,i),c&&a&&a.outlet&&a.outlet.isActivated&&i.canDeactivateChecks.push(new le(a.outlet.component,s))}else s&&Me(n,a,i),i.canActivateChecks.push(new vt(r)),o.component?Ie(t,null,a?a.children:null,r,i):Ie(t,null,e,r,i);return i}function Ri(t,n,e){if(typeof e=="function")return U(n._environmentInjector,()=>e(t,n));switch(e){case"pathParamsChange":return!X(t.url,n.url);case"pathParamsOrQueryParamsChange":return!X(t.url,n.url)||!k(t.queryParams,n.queryParams);case"always":return!0;case"paramsOrQueryParamsChange":return!Bt(t,n)||!k(t.queryParams,n.queryParams);default:return!Bt(t,n)}}function Me(t,n,e){let r=ce(t),i=t.value;Object.entries(r).forEach(([o,s])=>{i.component?n?Me(s,n.children.getContext(o),e):Me(s,null,e):Me(s,n,e)}),i.component?n&&n.outlet&&n.outlet.isActivated?e.canDeactivateChecks.push(new le(n.outlet.component,i)):e.canDeactivateChecks.push(new le(null,i)):e.canDeactivateChecks.push(new le(null,i))}function ke(t){return typeof t=="function"}function Ci(t){return typeof t=="boolean"}function Si(t){return t&&ke(t.canLoad)}function wi(t){return t&&ke(t.canActivate)}function bi(t){return t&&ke(t.canActivateChild)}function Ii(t){return t&&ke(t.canDeactivate)}function Ei(t){return t&&ke(t.canMatch)}function yn(t){return t instanceof ur||t?.name==="EmptyError"}var Ye=Symbol("INITIAL_VALUE");function ge(){return L(t=>bt(t.map(n=>n.pipe(oe(1),hr(Ye)))).pipe(I(n=>{for(let e of n)if(e!==!0){if(e===Ye)return Ye;if(e===!1||Ai(e))return e}return!0}),ie(n=>n!==Ye),oe(1)))}function Ai(t){return K(t)||t instanceof pe}function Rn(t){return t.aborted?g(void 0).pipe(oe(1)):new sr(n=>{let e=()=>{n.next(),n.complete()};return t.addEventListener("abort",e),()=>t.removeEventListener("abort",e)})}function Cn(t){return qe(Rn(t))}function Mi(t){return B(n=>{let{targetSnapshot:e,currentSnapshot:r,guards:{canActivateChecks:i,canDeactivateChecks:o}}=n;return o.length===0&&i.length===0?g(D(d({},n),{guardsResult:!0})):Ti(o,e,r).pipe(B(s=>s&&Ci(s)?Di(e,i,t):g(s)),I(s=>D(d({},n),{guardsResult:s})))})}function Ti(t,n,e){return O(t).pipe(B(r=>Pi(r.component,r.route,e,n)),V(r=>r!==!0,!0))}function Di(t,n,e){return O(n).pipe(Et(r=>lr(_i(r.route.parent,e),Ni(r.route,e),Ui(t,r.path),Oi(t,r.route))),V(r=>r!==!0,!0))}function Ni(t,n){return t!==null&&n&&n(new dt(t)),g(!0)}function _i(t,n){return t!==null&&n&&n(new ut(t)),g(!0)}function Oi(t,n){let e=n.routeConfig?n.routeConfig.canActivate:null;if(!e||e.length===0)return g(!0);let r=e.map(i=>Fe(()=>{let o=n._environmentInjector,s=ye(i,o),a=wi(s)?s.canActivate(n,t):U(o,()=>s(n,t));return ne(a).pipe(V())}));return g(r).pipe(ge())}function Ui(t,n){let e=n[n.length-1],i=n.slice(0,n.length-1).reverse().map(o=>mi(o)).filter(o=>o!==null).map(o=>Fe(()=>{let s=o.guards.map(a=>{let c=o.node._environmentInjector,u=ye(a,c),l=bi(u)?u.canActivateChild(e,t):U(c,()=>u(e,t));return ne(l).pipe(V())});return g(s).pipe(ge())}));return g(i).pipe(ge())}function Pi(t,n,e,r){let i=n&&n.routeConfig?n.routeConfig.canDeactivate:null;if(!i||i.length===0)return g(!0);let o=i.map(s=>{let a=n._environmentInjector,c=ye(s,a),u=Ii(c)?c.canDeactivate(t,n,e,r):U(a,()=>c(t,n,e,r));return ne(u).pipe(V())});return g(o).pipe(ge())}function Li(t,n,e,r,i){let o=n.canLoad;if(o===void 0||o.length===0)return g(!0);let s=o.map(a=>{let c=ye(a,t),u=Si(c)?c.canLoad(n,e):U(t,()=>c(n,e)),l=ne(u);return i?l.pipe(Cn(i)):l});return g(s).pipe(ge(),Sn(r))}function Sn(t){return ar(x(n=>{if(typeof n!="boolean")throw gt(t,n)}),I(n=>n===!0))}function xi(t,n,e,r,i,o){let s=n.canMatch;if(!s||s.length===0)return g(!0);let a=s.map(c=>{let u=ye(c,t),l=Ei(u)?u.canMatch(n,e,i):U(t,()=>u(n,e,i));return ne(l).pipe(Cn(o))});return g(a).pipe(ge(),Sn(r))}var F=class t extends Error{segmentGroup;constructor(n){super(),this.segmentGroup=n||null,Object.setPrototypeOf(this,t.prototype)}},Le=class t extends Error{urlTree;constructor(n){super(),this.urlTree=n,Object.setPrototypeOf(this,t.prototype)}};function ji(t){throw new S(4e3,!1)}function ki(t){throw vn(!1,b.GuardRejected)}var Wt=class{urlSerializer;urlTree;constructor(n,e){this.urlSerializer=n,this.urlTree=e}async lineralizeSegments(n,e){let r=[],i=e.root;for(;;){if(r=r.concat(i.segments),i.numberOfChildren===0)return r;if(i.numberOfChildren>1||!i.children[f])throw ji(`${n.redirectTo}`);i=i.children[f]}}async applyRedirectCommands(n,e,r,i,o){let s=await $i(e,i,o);if(s instanceof M)throw new Le(s);let a=this.applyRedirectCreateUrlTree(s,this.urlSerializer.parse(s),n,r);if(s[0]==="/")throw new Le(a);return a}applyRedirectCreateUrlTree(n,e,r,i){let o=this.createSegmentGroup(n,e.root,r,i);return new M(o,this.createQueryParams(e.queryParams,this.urlTree.queryParams),e.fragment)}createQueryParams(n,e){let r={};return Object.entries(n).forEach(([i,o])=>{if(typeof o=="string"&&o[0]===":"){let a=o.substring(1);r[i]=e[a]}else r[i]=o}),r}createSegmentGroup(n,e,r,i){let o=this.createSegments(n,e.segments,r,i),s={};return Object.entries(e.children).forEach(([a,c])=>{s[a]=this.createSegmentGroup(n,c,r,i)}),new v(o,s)}createSegments(n,e,r,i){return e.map(o=>o.path[0]===":"?this.findPosParam(n,o,i):this.findOrReturn(o,r))}findPosParam(n,e,r){let i=r[e.path.substring(1)];if(!i)throw new S(4001,!1);return i}findOrReturn(n,e){let r=0;for(let i of e){if(i.path===n.path)return e.splice(r),i;r++}return n}};function $i(t,n,e){if(typeof t=="string")return Promise.resolve(t);let r=t;return et(ne(U(e,()=>r(n))))}function zi(t,n){return t.providers&&!t._injector&&(t._injector=Dt(t.providers,n,`Route: ${t.path}`)),t._injector??n}function j(t){return t.outlet||f}function Fi(t,n){let e=t.filter(r=>j(r)===n);return e.push(...t.filter(r=>j(r)!==n)),e}var Qt={matched:!1,consumedSegments:[],remainingSegments:[],parameters:{},positionalParamSegments:{}};function wn(t){return{routeConfig:t.routeConfig,url:t.url,params:t.params,queryParams:t.queryParams,fragment:t.fragment,data:t.data,outlet:t.outlet,title:t.title,paramMap:t.paramMap,queryParamMap:t.queryParamMap}}function qi(t,n,e,r,i,o,s){let a=bn(t,n,e);if(!a.matched)return g(a);let c=wn(o(a));return r=zi(n,r),xi(r,n,e,i,c,s).pipe(I(u=>u===!0?a:d({},Qt)))}function bn(t,n,e){if(n.path==="")return n.pathMatch==="full"&&(t.hasChildren()||e.length>0)?d({},Qt):{matched:!0,consumedSegments:[],remainingSegments:e,parameters:{},positionalParamSegments:{}};let i=(n.matcher||Gr)(e,t,n);if(!i)return d({},Qt);let o={};Object.entries(i.posParams??{}).forEach(([a,c])=>{o[a]=c.path});let s=i.consumed.length>0?d(d({},o),i.consumed[i.consumed.length-1].parameters):o;return{matched:!0,consumedSegments:i.consumed,remainingSegments:e.slice(i.consumed.length),parameters:s,positionalParamSegments:i.posParams??{}}}function Br(t,n,e,r,i){return e.length>0&&Vi(t,e,r,i)?{segmentGroup:new v(n,Bi(r,new v(e,t.children))),slicedSegments:[]}:e.length===0&&Gi(t,e,r)?{segmentGroup:new v(t.segments,Hi(t,e,r,t.children)),slicedSegments:e}:{segmentGroup:new v(t.segments,t.children),slicedSegments:e}}function Hi(t,n,e,r){let i={};for(let o of e)if(yt(t,n,o)&&!r[j(o)]){let s=new v([],{});i[j(o)]=s}return d(d({},r),i)}function Bi(t,n){let e={};e[f]=n;for(let r of t)if(r.path===""&&j(r)!==f){let i=new v([],{});e[j(r)]=i}return e}function Vi(t,n,e,r){return e.some(i=>!yt(t,n,i)||!(j(i)!==f)?!1:!(r!==void 0&&j(i)===r))}function Gi(t,n,e){return e.some(r=>yt(t,n,r))}function yt(t,n,e){return(t.hasChildren()||n.length>0)&&e.pathMatch==="full"?!1:e.path===""}function Wi(t,n,e){return n.length===0&&!t.children[e]}var Kt=class{};async function Qi(t,n,e,r,i,o,s="emptyOnly",a){return new Yt(t,n,e,r,i,s,o,a).recognize()}var Ki=31,Yt=class{injector;configLoader;rootComponentType;config;urlTree;paramsInheritanceStrategy;urlSerializer;abortSignal;applyRedirects;absoluteRedirectCount=0;allowRedirects=!0;constructor(n,e,r,i,o,s,a,c){this.injector=n,this.configLoader=e,this.rootComponentType=r,this.config=i,this.urlTree=o,this.paramsInheritanceStrategy=s,this.urlSerializer=a,this.abortSignal=c,this.applyRedirects=new Wt(this.urlSerializer,this.urlTree)}noMatchError(n){return new S(4002,`'${n.segmentGroup}'`)}async recognize(){let n=Br(this.urlTree.root,[],[],this.config).segmentGroup,{children:e,rootSnapshot:r}=await this.match(n),i=new A(r,e),o=new Ue("",i),s=on(r,[],this.urlTree.queryParams,this.urlTree.fragment);return s.queryParams=this.urlTree.queryParams,o.url=this.urlSerializer.serialize(s),{state:o,tree:s}}async match(n){let e=new fe([],Object.freeze({}),Object.freeze(d({},this.urlTree.queryParams)),this.urlTree.fragment,Object.freeze({}),f,this.rootComponentType,null,{},this.injector);try{return{children:await this.processSegmentGroup(this.injector,this.config,n,f,e),rootSnapshot:e}}catch(r){if(r instanceof Le)return this.urlTree=r.urlTree,this.match(r.urlTree.root);throw r instanceof F?this.noMatchError(r):r}}async processSegmentGroup(n,e,r,i,o){if(r.segments.length===0&&r.hasChildren())return this.processChildren(n,e,r,o);let s=await this.processSegment(n,e,r,r.segments,i,!0,o);return s instanceof A?[s]:[]}async processChildren(n,e,r,i){let o=[];for(let c of Object.keys(r.children))c==="primary"?o.unshift(c):o.push(c);let s=[];for(let c of o){let u=r.children[c],l=Fi(e,c),p=await this.processSegmentGroup(n,l,u,c,i);s.push(...p)}let a=In(s);return Yi(a),a}async processSegment(n,e,r,i,o,s,a){for(let c of e)try{return await this.processSegmentAgainstRoute(c._injector??n,e,c,r,i,o,s,a)}catch(u){if(u instanceof F||yn(u))continue;throw u}if(Wi(r,i,o))return new Kt;throw new F(r)}async processSegmentAgainstRoute(n,e,r,i,o,s,a,c){if(j(r)!==s&&(s===f||!yt(i,o,r)))throw new F(i);if(r.redirectTo===void 0)return this.matchSegmentAgainstRoute(n,i,r,o,s,c);if(this.allowRedirects&&a)return this.expandSegmentAgainstRouteUsingRedirect(n,i,e,r,o,s,c);throw new F(i)}async expandSegmentAgainstRouteUsingRedirect(n,e,r,i,o,s,a){let{matched:c,parameters:u,consumedSegments:l,positionalParamSegments:p,remainingSegments:m}=bn(e,i,o);if(!c)throw new F(e);typeof i.redirectTo=="string"&&i.redirectTo[0]==="/"&&(this.absoluteRedirectCount++,this.absoluteRedirectCount>Ki&&(this.allowRedirects=!1));let Y=this.createSnapshot(n,i,o,u,a);if(this.abortSignal.aborted)throw new Error(this.abortSignal.reason);let z=await this.applyRedirects.applyRedirectCommands(l,i.redirectTo,p,wn(Y),n),Z=await this.applyRedirects.lineralizeSegments(i,z);return this.processSegment(n,r,e,Z.concat(m),s,!1,a)}createSnapshot(n,e,r,i,o){let s=new fe(r,i,Object.freeze(d({},this.urlTree.queryParams)),this.urlTree.fragment,Ji(e),j(e),e.component??e._loadedComponent??null,e,Xi(e),n),a=Zt(s,o,this.paramsInheritanceStrategy);return s.params=Object.freeze(a.params),s.data=Object.freeze(a.data),s}async matchSegmentAgainstRoute(n,e,r,i,o,s){if(this.abortSignal.aborted)throw new Error(this.abortSignal.reason);let a=ze=>this.createSnapshot(n,r,ze.consumedSegments,ze.parameters,s),c=await et(qi(e,r,i,n,this.urlSerializer,a,this.abortSignal));if(r.path==="**"&&(e.children={}),!c?.matched)throw new F(e);n=r._injector??n;let{routes:u}=await this.getChildConfig(n,r,i),l=r._loadedInjector??n,{parameters:p,consumedSegments:m,remainingSegments:Y}=c,z=this.createSnapshot(n,r,m,p,s),{segmentGroup:Z,slicedSegments:Se}=Br(e,m,Y,u,o);if(Se.length===0&&Z.hasChildren()){let ze=await this.processChildren(l,u,Z,z);return new A(z,ze)}if(u.length===0&&Se.length===0)return new A(z,[]);let St=j(r)===o,we=await this.processSegment(l,u,Z,Se,St?f:o,!0,z);return new A(z,we instanceof A?[we]:[])}async getChildConfig(n,e,r){if(e.children)return{routes:e.children,injector:n};if(e.loadChildren){if(e._loadedRoutes!==void 0){let o=e._loadedNgModuleFactory;return o&&!e._loadedInjector&&(e._loadedInjector=o.create(n).injector),{routes:e._loadedRoutes,injector:e._loadedInjector}}if(this.abortSignal.aborted)throw new Error(this.abortSignal.reason);if(await et(Li(n,e,r,this.urlSerializer,this.abortSignal))){let o=await this.configLoader.loadChildren(n,e);return e._loadedRoutes=o.routes,e._loadedInjector=o.injector,e._loadedNgModuleFactory=o.factory,o}throw ki(e)}return{routes:[],injector:n}}};function Yi(t){t.sort((n,e)=>n.value.outlet===f?-1:e.value.outlet===f?1:n.value.outlet.localeCompare(e.value.outlet))}function Zi(t){let n=t.value.routeConfig;return n&&n.path===""}function In(t){let n=[],e=new Set;for(let r of t){if(!Zi(r)){n.push(r);continue}let i=n.find(o=>r.value.routeConfig===o.value.routeConfig);i!==void 0?(i.children.push(...r.children),e.add(i)):n.push(r)}for(let r of e){let i=In(r.children);n.push(new A(r.value,i))}return n.filter(r=>!e.has(r))}function Ji(t){return t.data||{}}function Xi(t){return t.resolve||{}}function eo(t,n,e,r,i,o,s){return B(async a=>{let{state:c,tree:u}=await Qi(t,n,e,r,a.extractedUrl,i,o,s);return D(d({},a),{targetSnapshot:c,urlAfterRedirects:u})})}function to(t){return B(n=>{let{targetSnapshot:e,guards:{canActivateChecks:r}}=n;if(!r.length)return g(n);let i=new Set(r.map(a=>a.route)),o=new Set;for(let a of i)if(!o.has(a))for(let c of En(a))o.add(c);let s=0;return O(o).pipe(Et(a=>i.has(a)?ro(a,e,t):(a.data=Zt(a,a.parent,t).resolve,g(void 0))),x(()=>s++),At(1),B(a=>s===o.size?g(n):_))})}function En(t){let n=t.children.map(e=>En(e)).flat();return[t,...n]}function ro(t,n,e){let r=t.routeConfig,i=t._resolve;return r?.title!==void 0&&!fn(r)&&(i[xe]=r.title),Fe(()=>(t.data=Zt(t,t.parent,e).resolve,no(i,t,n).pipe(I(o=>(t._resolvedData=o,t.data=d(d({},t.data),o),null)))))}function no(t,n,e){let r=jt(t);if(r.length===0)return g({});let i={};return O(r).pipe(B(o=>io(t[o],n,e).pipe(V(),x(s=>{if(s instanceof pe)throw gt(new Q,s);i[o]=s}))),At(1),I(()=>i),It(o=>yn(o)?_:cr(o)))}function io(t,n,e){let r=n._environmentInjector,i=ye(t,r),o=i.resolve?i.resolve(n,e):U(r,()=>i(n,e));return ne(o)}function Vr(t){return L(n=>{let e=t(n);return e?O(e).pipe(I(()=>n)):g(n)})}var nr=(()=>{class t{buildTitle(e){let r,i=e.root;for(;i!==void 0;)r=this.getResolvedTitleForRoute(i)??r,i=i.children.find(o=>o.outlet===f);return r}getResolvedTitleForRoute(e){return e.data[xe]}static \u0275fac=function(r){return new(r||t)};static \u0275prov=w({token:t,factory:()=>h(An),providedIn:"root"})}return t})(),An=(()=>{class t extends nr{title;constructor(e){super(),this.title=e}updateTitle(e){let r=this.buildTitle(e);r!==void 0&&this.title.setTitle(r)}static \u0275fac=function(r){return new(r||t)(He(kr))};static \u0275prov=w({token:t,factory:t.\u0275fac,providedIn:"root"})}return t})(),Re=new E("",{factory:()=>({})}),$e=new E(""),Mn=(()=>{class t{componentLoaders=new WeakMap;childrenLoaders=new WeakMap;onLoadStartListener;onLoadEndListener;compiler=h(Or);async loadComponent(e,r){if(this.componentLoaders.get(r))return this.componentLoaders.get(r);if(r._loadedComponent)return Promise.resolve(r._loadedComponent);this.onLoadStartListener&&this.onLoadStartListener(r);let i=(async()=>{try{let o=await Qr(U(e,()=>r.loadComponent())),s=await Nn(Dn(o));return this.onLoadEndListener&&this.onLoadEndListener(r),r._loadedComponent=s,s}finally{this.componentLoaders.delete(r)}})();return this.componentLoaders.set(r,i),i}loadChildren(e,r){if(this.childrenLoaders.get(r))return this.childrenLoaders.get(r);if(r._loadedRoutes)return Promise.resolve({routes:r._loadedRoutes,injector:r._loadedInjector});this.onLoadStartListener&&this.onLoadStartListener(r);let i=(async()=>{try{let o=await Tn(r,this.compiler,e,this.onLoadEndListener);return r._loadedRoutes=o.routes,r._loadedInjector=o.injector,r._loadedNgModuleFactory=o.factory,o}finally{this.childrenLoaders.delete(r)}})();return this.childrenLoaders.set(r,i),i}static \u0275fac=function(r){return new(r||t)};static \u0275prov=w({token:t,factory:t.\u0275fac,providedIn:"root"})}return t})();async function Tn(t,n,e,r){let i=await Qr(U(e,()=>t.loadChildren())),o=await Nn(Dn(i)),s;o instanceof br||Array.isArray(o)?s=o:s=await n.compileModuleAsync(o),r&&r(t);let a,c,u=!1,l;return Array.isArray(s)?(c=s,u=!0):(a=s.create(e).injector,l=s,c=a.get($e,[],{optional:!0,self:!0}).flat()),{routes:c.map(rr),injector:a,factory:l}}function oo(t){return t&&typeof t=="object"&&"default"in t}function Dn(t){return oo(t)?t.default:t}async function Nn(t){return t}var Rt=(()=>{class t{static \u0275fac=function(r){return new(r||t)};static \u0275prov=w({token:t,factory:()=>h(ao),providedIn:"root"})}return t})(),ao=(()=>{class t{shouldProcessUrl(e){return!0}extract(e){return e}merge(e,r){return e}static \u0275fac=function(r){return new(r||t)};static \u0275prov=w({token:t,factory:t.\u0275fac,providedIn:"root"})}return t})(),_n=new E("");var so=()=>{},On=new E(""),Un=(()=>{class t{currentNavigation=R(null,{equal:()=>!1});currentTransition=null;lastSuccessfulNavigation=R(null);events=new J;transitionAbortWithErrorSubject=new J;configLoader=h(Mn);environmentInjector=h(G);destroyRef=h(Mt);urlSerializer=h(ve);rootContexts=h(me);location=h(Qe);inputBindingEnabled=h(je,{optional:!0})!==null;titleStrategy=h(nr);options=h(Re,{optional:!0})||{};paramsInheritanceStrategy=this.options.paramsInheritanceStrategy||"emptyOnly";urlHandlingStrategy=h(Rt);createViewTransition=h(_n,{optional:!0});navigationErrorHandler=h(On,{optional:!0});navigationId=0;get hasRequestedNavigation(){return this.navigationId!==0}transitions;afterPreactivation=()=>g(void 0);rootComponentType=null;destroyed=!1;constructor(){let e=i=>this.events.next(new st(i)),r=i=>this.events.next(new ct(i));this.configLoader.onLoadEndListener=r,this.configLoader.onLoadStartListener=e,this.destroyRef.onDestroy(()=>{this.destroyed=!0})}complete(){this.transitions?.complete()}handleNavigationRequest(e){let r=++this.navigationId;y(()=>{this.transitions?.next(D(d({},e),{extractedUrl:this.urlHandlingStrategy.extract(e.rawUrl),targetSnapshot:null,targetRouterState:null,guards:{canActivateChecks:[],canDeactivateChecks:[]},guardsResult:null,id:r,routesRecognizeHandler:{},beforeActivateHandler:{}}))})}setupNavigations(e){return this.transitions=new N(null),this.transitions.pipe(ie(r=>r!==null),L(r=>{let i=!1,o=new AbortController,s=()=>!i&&this.currentTransition?.id===r.id;return g(r).pipe(L(a=>{if(this.navigationId>r.id)return this.cancelNavigationTransition(r,"",b.SupersededByNewNavigation),_;this.currentTransition=r;let c=this.lastSuccessfulNavigation();this.currentNavigation.set({id:a.id,initialUrl:a.rawUrl,extractedUrl:a.extractedUrl,targetBrowserUrl:typeof a.extras.browserUrl=="string"?this.urlSerializer.parse(a.extras.browserUrl):a.extras.browserUrl,trigger:a.source,extras:a.extras,previousNavigation:c?D(d({},c),{previousNavigation:null}):null,abort:()=>o.abort(),routesRecognizeHandler:a.routesRecognizeHandler,beforeActivateHandler:a.beforeActivateHandler});let u=!e.navigated||this.isUpdatingInternalState()||this.isUpdatedBrowserUrl(),l=a.extras.onSameUrlNavigation??e.onSameUrlNavigation;if(!u&&l!=="reload")return this.events.next(new q(a.id,this.urlSerializer.serialize(a.rawUrl),"",De.IgnoredSameUrlNavigation)),a.resolve(!1),_;if(this.urlHandlingStrategy.shouldProcessUrl(a.rawUrl))return g(a).pipe(L(p=>(this.events.next(new te(p.id,this.urlSerializer.serialize(p.extractedUrl),p.source,p.restoredState)),p.id!==this.navigationId?_:Promise.resolve(p))),eo(this.environmentInjector,this.configLoader,this.rootComponentType,e.config,this.urlSerializer,this.paramsInheritanceStrategy,o.signal),x(p=>{r.targetSnapshot=p.targetSnapshot,r.urlAfterRedirects=p.urlAfterRedirects,this.currentNavigation.update(m=>(m.finalUrl=p.urlAfterRedirects,m)),this.events.next(new _e)}),L(p=>O(r.routesRecognizeHandler.deferredHandle??g(void 0)).pipe(I(()=>p))),x(()=>{let p=new Ne(a.id,this.urlSerializer.serialize(a.extractedUrl),this.urlSerializer.serialize(a.urlAfterRedirects),a.targetSnapshot);this.events.next(p)}));if(u&&this.urlHandlingStrategy.shouldProcessUrl(a.currentRawUrl)){let{id:p,extractedUrl:m,source:Y,restoredState:z,extras:Z}=a,Se=new te(p,this.urlSerializer.serialize(m),Y,z);this.events.next(Se);let St=dn(this.rootComponentType,this.environmentInjector).snapshot;return this.currentTransition=r=D(d({},a),{targetSnapshot:St,urlAfterRedirects:m,extras:D(d({},Z),{skipLocationChange:!1,replaceUrl:!1})}),this.currentNavigation.update(we=>(we.finalUrl=m,we)),g(r)}else return this.events.next(new q(a.id,this.urlSerializer.serialize(a.extractedUrl),"",De.IgnoredByUrlHandlingStrategy)),a.resolve(!1),_}),I(a=>{let c=new nt(a.id,this.urlSerializer.serialize(a.extractedUrl),this.urlSerializer.serialize(a.urlAfterRedirects),a.targetSnapshot);return this.events.next(c),this.currentTransition=r=D(d({},a),{guards:vi(a.targetSnapshot,a.currentSnapshot,this.rootContexts)}),r}),Mi(a=>this.events.next(a)),L(a=>{if(r.guardsResult=a.guardsResult,a.guardsResult&&typeof a.guardsResult!="boolean")throw gt(this.urlSerializer,a.guardsResult);let c=new it(a.id,this.urlSerializer.serialize(a.extractedUrl),this.urlSerializer.serialize(a.urlAfterRedirects),a.targetSnapshot,!!a.guardsResult);if(this.events.next(c),!s())return _;if(!a.guardsResult)return this.cancelNavigationTransition(a,"",b.GuardRejected),_;if(a.guards.canActivateChecks.length===0)return g(a);let u=new ot(a.id,this.urlSerializer.serialize(a.extractedUrl),this.urlSerializer.serialize(a.urlAfterRedirects),a.targetSnapshot);if(this.events.next(u),!s())return _;let l=!1;return g(a).pipe(to(this.paramsInheritanceStrategy),x({next:()=>{l=!0;let p=new at(a.id,this.urlSerializer.serialize(a.extractedUrl),this.urlSerializer.serialize(a.urlAfterRedirects),a.targetSnapshot);this.events.next(p)},complete:()=>{l||this.cancelNavigationTransition(a,"",b.NoDataFromResolver)}}))}),Vr(a=>{let c=l=>{let p=[];if(l.routeConfig?._loadedComponent)l.component=l.routeConfig?._loadedComponent;else if(l.routeConfig?.loadComponent){let m=l._environmentInjector;p.push(this.configLoader.loadComponent(m,l.routeConfig).then(Y=>{l.component=Y}))}for(let m of l.children)p.push(...c(m));return p},u=c(a.targetSnapshot.root);return u.length===0?g(a):O(Promise.all(u).then(()=>a))}),Vr(()=>this.afterPreactivation()),L(()=>{let{currentSnapshot:a,targetSnapshot:c}=r,u=this.createViewTransition?.(this.environmentInjector,a.root,c.root);return u?O(u).pipe(I(()=>r)):g(r)}),oe(1),L(a=>{let c=hi(e.routeReuseStrategy,a.targetSnapshot,a.currentRouterState);this.currentTransition=r=a=D(d({},a),{targetRouterState:c}),this.currentNavigation.update(l=>(l.targetRouterState=c,l)),this.events.next(new de);let u=r.beforeActivateHandler.deferredHandle;return u?O(u.then(()=>a)):g(a)}),x(a=>{new Gt(e.routeReuseStrategy,r.targetRouterState,r.currentRouterState,c=>this.events.next(c),this.inputBindingEnabled).activate(this.rootContexts),s()&&(i=!0,this.currentNavigation.update(c=>(c.abort=so,c)),this.lastSuccessfulNavigation.set(y(this.currentNavigation)),this.events.next(new $(a.id,this.urlSerializer.serialize(a.extractedUrl),this.urlSerializer.serialize(a.urlAfterRedirects))),this.titleStrategy?.updateTitle(a.targetRouterState.snapshot),a.resolve(!0))}),qe(Rn(o.signal).pipe(ie(()=>!i&&!r.targetRouterState),x(()=>{this.cancelNavigationTransition(r,o.signal.reason+"",b.Aborted)}))),x({complete:()=>{i=!0}}),qe(this.transitionAbortWithErrorSubject.pipe(x(a=>{throw a}))),dr(()=>{o.abort(),i||this.cancelNavigationTransition(r,"",b.SupersededByNewNavigation),this.currentTransition?.id===r.id&&(this.currentNavigation.set(null),this.currentTransition=null)}),It(a=>{if(i=!0,this.destroyed)return r.resolve(!1),_;if(mn(a))this.events.next(new P(r.id,this.urlSerializer.serialize(r.extractedUrl),a.message,a.cancellationCode)),gi(a)?this.events.next(new he(a.url,a.navigationBehaviorOptions)):r.resolve(!1);else{let c=new re(r.id,this.urlSerializer.serialize(r.extractedUrl),a,r.targetSnapshot??void 0);try{let u=U(this.environmentInjector,()=>this.navigationErrorHandler?.(c));if(u instanceof pe){let{message:l,cancellationCode:p}=gt(this.urlSerializer,u);this.events.next(new P(r.id,this.urlSerializer.serialize(r.extractedUrl),l,p)),this.events.next(new he(u.redirectTo,u.navigationBehaviorOptions))}else throw this.events.next(c),a}catch(u){this.options.resolveNavigationPromiseOnError?r.resolve(!1):r.reject(u)}}return _}))}))}cancelNavigationTransition(e,r,i){let o=new P(e.id,this.urlSerializer.serialize(e.extractedUrl),r,i);this.events.next(o),e.resolve(!1)}isUpdatingInternalState(){return this.currentTransition?.extractedUrl.toString()!==this.currentTransition?.currentUrlTree.toString()}isUpdatedBrowserUrl(){let e=this.urlHandlingStrategy.extract(this.urlSerializer.parse(this.location.path(!0))),r=y(this.currentNavigation),i=r?.targetBrowserUrl??r?.extractedUrl;return e.toString()!==i?.toString()&&!r?.extras.skipLocationChange}static \u0275fac=function(r){return new(r||t)};static \u0275prov=w({token:t,factory:t.\u0275fac,providedIn:"root"})}return t})();function co(t){return t!==Ae}var Pn=new E("");var Ln=(()=>{class t{static \u0275fac=function(r){return new(r||t)};static \u0275prov=w({token:t,factory:()=>h(uo),providedIn:"root"})}return t})(),mt=class{shouldDetach(n){return!1}store(n,e){}shouldAttach(n){return!1}retrieve(n){return null}shouldReuseRoute(n,e){return n.routeConfig===e.routeConfig}shouldDestroyInjector(n){return!0}},uo=(()=>{class t extends mt{static \u0275fac=(()=>{let e;return function(i){return(e||(e=Tt(t)))(i||t)}})();static \u0275prov=w({token:t,factory:t.\u0275fac,providedIn:"root"})}return t})(),Ct=(()=>{class t{urlSerializer=h(ve);options=h(Re,{optional:!0})||{};canceledNavigationResolution=this.options.canceledNavigationResolution||"replace";location=h(Qe);urlHandlingStrategy=h(Rt);urlUpdateStrategy=this.options.urlUpdateStrategy||"deferred";currentUrlTree=new M;getCurrentUrlTree(){return this.currentUrlTree}rawUrlTree=this.currentUrlTree;getRawUrlTree(){return this.rawUrlTree}createBrowserPath({finalUrl:e,initialUrl:r,targetBrowserUrl:i}){let o=e!==void 0?this.urlHandlingStrategy.merge(e,r):r,s=i??o;return s instanceof M?this.urlSerializer.serialize(s):s}commitTransition({targetRouterState:e,finalUrl:r,initialUrl:i}){r&&e?(this.currentUrlTree=r,this.rawUrlTree=this.urlHandlingStrategy.merge(r,i),this.routerState=e):this.rawUrlTree=i}routerState=dn(null,h(G));getRouterState(){return this.routerState}_stateMemento=this.createStateMemento();get stateMemento(){return this._stateMemento}updateStateMemento(){this._stateMemento=this.createStateMemento()}createStateMemento(){return{rawUrlTree:this.rawUrlTree,currentUrlTree:this.currentUrlTree,routerState:this.routerState}}restoredState(){return this.location.getState()}static \u0275fac=function(r){return new(r||t)};static \u0275prov=w({token:t,factory:()=>h(lo),providedIn:"root"})}return t})(),lo=(()=>{class t extends Ct{currentPageId=0;lastSuccessfulId=-1;get browserPageId(){return this.canceledNavigationResolution!=="computed"?this.currentPageId:this.restoredState()?.\u0275routerPageId??this.currentPageId}registerNonRouterCurrentEntryChangeListener(e){return this.location.subscribe(r=>{r.type==="popstate"&&setTimeout(()=>{e(r.url,r.state,"popstate",{replaceUrl:!0})})})}handleRouterEvent(e,r){e instanceof te?this.updateStateMemento():e instanceof q?this.commitTransition(r):e instanceof Ne?this.urlUpdateStrategy==="eager"&&(r.extras.skipLocationChange||this.setBrowserUrl(this.createBrowserPath(r),r)):e instanceof de?(this.commitTransition(r),this.urlUpdateStrategy==="deferred"&&!r.extras.skipLocationChange&&this.setBrowserUrl(this.createBrowserPath(r),r)):e instanceof P&&!ln(e)?this.restoreHistory(r):e instanceof re?this.restoreHistory(r,!0):e instanceof $&&(this.lastSuccessfulId=e.id,this.currentPageId=this.browserPageId)}setBrowserUrl(e,{extras:r,id:i}){let{replaceUrl:o,state:s}=r;if(this.location.isCurrentPathEqualTo(e)||o){let a=this.browserPageId,c=d(d({},s),this.generateNgRouterState(i,a));this.location.replaceState(e,"",c)}else{let a=d(d({},s),this.generateNgRouterState(i,this.browserPageId+1));this.location.go(e,"",a)}}restoreHistory(e,r=!1){if(this.canceledNavigationResolution==="computed"){let i=this.browserPageId,o=this.currentPageId-i;o!==0?this.location.historyGo(o):this.getCurrentUrlTree()===e.finalUrl&&o===0&&(this.resetInternalState(e),this.resetUrlToCurrentUrlTree())}else this.canceledNavigationResolution==="replace"&&(r&&this.resetInternalState(e),this.resetUrlToCurrentUrlTree())}resetInternalState({finalUrl:e}){this.routerState=this.stateMemento.routerState,this.currentUrlTree=this.stateMemento.currentUrlTree,this.rawUrlTree=this.urlHandlingStrategy.merge(this.currentUrlTree,e??this.rawUrlTree)}resetUrlToCurrentUrlTree(){this.location.replaceState(this.urlSerializer.serialize(this.getRawUrlTree()),"",this.generateNgRouterState(this.lastSuccessfulId,this.currentPageId))}generateNgRouterState(e,r){return this.canceledNavigationResolution==="computed"?{navigationId:e,\u0275routerPageId:r}:{navigationId:e}}static \u0275fac=(()=>{let e;return function(i){return(e||(e=Tt(t)))(i||t)}})();static \u0275prov=w({token:t,factory:t.\u0275fac,providedIn:"root"})}return t})();function ir(t,n){t.events.pipe(ie(e=>e instanceof $||e instanceof P||e instanceof re||e instanceof q),I(e=>e instanceof $||e instanceof q?0:(e instanceof P?e.code===b.Redirect||e.code===b.SupersededByNewNavigation:!1)?2:1),ie(e=>e!==2),oe(1)).subscribe(()=>{n()})}var Ce=(()=>{class t{get currentUrlTree(){return this.stateManager.getCurrentUrlTree()}get rawUrlTree(){return this.stateManager.getRawUrlTree()}disposed=!1;nonRouterCurrentEntryChangeSubscription;console=h(Er);stateManager=h(Ct);options=h(Re,{optional:!0})||{};pendingTasks=h(mr);urlUpdateStrategy=this.options.urlUpdateStrategy||"deferred";navigationTransitions=h(Un);urlSerializer=h(ve);location=h(Qe);urlHandlingStrategy=h(Rt);injector=h(G);_events=new J;get events(){return this._events}get routerState(){return this.stateManager.getRouterState()}navigated=!1;routeReuseStrategy=h(Ln);injectorCleanup=h(Pn,{optional:!0});onSameUrlNavigation=this.options.onSameUrlNavigation||"ignore";config=h($e,{optional:!0})?.flat()??[];componentInputBindingEnabled=!!h(je,{optional:!0});currentNavigation=this.navigationTransitions.currentNavigation.asReadonly();constructor(){this.resetConfig(this.config),this.navigationTransitions.setupNavigations(this).subscribe({error:e=>{}}),this.subscribeToNavigationEvents()}eventsSubscription=new or;subscribeToNavigationEvents(){let e=this.navigationTransitions.events.subscribe(r=>{try{let i=this.navigationTransitions.currentTransition,o=y(this.navigationTransitions.currentNavigation);if(i!==null&&o!==null){if(this.stateManager.handleRouterEvent(r,o),r instanceof P&&r.code!==b.Redirect&&r.code!==b.SupersededByNewNavigation)this.navigated=!0;else if(r instanceof $)this.navigated=!0,this.injectorCleanup?.(this.routeReuseStrategy,this.routerState,this.config);else if(r instanceof he){let s=r.navigationBehaviorOptions,a=this.urlHandlingStrategy.merge(r.url,i.currentRawUrl),c=d({scroll:i.extras.scroll,browserUrl:i.extras.browserUrl,info:i.extras.info,skipLocationChange:i.extras.skipLocationChange,replaceUrl:i.extras.replaceUrl||this.urlUpdateStrategy==="eager"||co(i.source)},s);this.scheduleNavigation(a,Ae,null,c,{resolve:i.resolve,reject:i.reject,promise:i.promise})}}li(r)&&this._events.next(r)}catch(i){this.navigationTransitions.transitionAbortWithErrorSubject.next(i)}});this.eventsSubscription.add(e)}resetRootComponentType(e){this.routerState.root.component=e,this.navigationTransitions.rootComponentType=e}initialNavigation(){this.setUpLocationChangeListener(),this.navigationTransitions.hasRequestedNavigation||this.navigateToSyncWithBrowser(this.location.path(!0),Ae,this.stateManager.restoredState(),{replaceUrl:!0})}setUpLocationChangeListener(){this.nonRouterCurrentEntryChangeSubscription??=this.stateManager.registerNonRouterCurrentEntryChangeListener((e,r,i,o)=>{this.navigateToSyncWithBrowser(e,i,r,o)})}navigateToSyncWithBrowser(e,r,i,o){let s=i?.navigationId?i:null;if(i){let c=d({},i);delete c.navigationId,delete c.\u0275routerPageId,Object.keys(c).length!==0&&(o.state=c)}let a=this.parseUrl(e);this.scheduleNavigation(a,r,s,o).catch(c=>{this.disposed||this.injector.get(Be)(c)})}get url(){return this.serializeUrl(this.currentUrlTree)}getCurrentNavigation(){return y(this.navigationTransitions.currentNavigation)}get lastSuccessfulNavigation(){return this.navigationTransitions.lastSuccessfulNavigation}resetConfig(e){this.config=e.map(rr),this.navigated=!1}ngOnDestroy(){this.dispose()}dispose(){this._events.unsubscribe(),this.navigationTransitions.complete(),this.nonRouterCurrentEntryChangeSubscription?.unsubscribe(),this.nonRouterCurrentEntryChangeSubscription=void 0,this.disposed=!0,this.eventsSubscription.unsubscribe()}createUrlTree(e,r={}){let{relativeTo:i,queryParams:o,fragment:s,queryParamsHandling:a,preserveFragment:c}=r,u=c?this.currentUrlTree.fragment:s,l=null;switch(a??this.options.defaultQueryParamsHandling){case"merge":l=d(d({},this.currentUrlTree.queryParams),o);break;case"preserve":l=this.currentUrlTree.queryParams;break;default:l=o||null}l!==null&&(l=this.removeEmptyProps(l));let p;try{let m=i?i.snapshot:this.routerState.snapshot.root;p=an(m)}catch{(typeof e[0]!="string"||e[0][0]!=="/")&&(e=[]),p=this.currentUrlTree.root}return sn(p,e,l,u??null,this.urlSerializer)}navigateByUrl(e,r={skipLocationChange:!1}){let i=K(e)?e:this.parseUrl(e),o=this.urlHandlingStrategy.merge(i,this.rawUrlTree);return this.scheduleNavigation(o,Ae,null,r)}navigate(e,r={skipLocationChange:!1}){return ho(e),this.navigateByUrl(this.createUrlTree(e,r),r)}serializeUrl(e){return this.urlSerializer.serialize(e)}parseUrl(e){try{return this.urlSerializer.parse(e)}catch{return this.console.warn(fr(4018,!1)),this.urlSerializer.parse("/")}}isActive(e,r){let i;if(r===!0?i=d({},Yr):r===!1?i=d({},kt):i=d(d({},kt),r),K(e))return $r(this.currentUrlTree,e,i);let o=this.parseUrl(e);return $r(this.currentUrlTree,o,i)}removeEmptyProps(e){return Object.entries(e).reduce((r,[i,o])=>(o!=null&&(r[i]=o),r),{})}scheduleNavigation(e,r,i,o,s){if(this.disposed)return Promise.resolve(!1);let a,c,u;s?(a=s.resolve,c=s.reject,u=s.promise):u=new Promise((p,m)=>{a=p,c=m});let l=this.pendingTasks.add();return ir(this,()=>{queueMicrotask(()=>this.pendingTasks.remove(l))}),this.navigationTransitions.handleNavigationRequest({source:r,restoredState:i,currentUrlTree:this.currentUrlTree,currentRawUrl:this.currentUrlTree,rawUrl:e,extras:o,resolve:a,reject:c,promise:u,currentSnapshot:this.routerState.snapshot,currentRouterState:this.routerState}),u.catch(Promise.reject.bind(Promise))}static \u0275fac=function(r){return new(r||t)};static \u0275prov=w({token:t,factory:t.\u0275fac,providedIn:"root"})}return t})();function ho(t){for(let n=0;n<t.length;n++)if(t[n]==null)throw new S(4008,!1)}var go=(()=>{class t{router=h(Ce);stateManager=h(Ct);fragment=R("");queryParams=R({});path=R("");serializer=h(ve);constructor(){this.updateState(),this.router.events?.subscribe(e=>{e instanceof $&&this.updateState()})}updateState(){let{fragment:e,root:r,queryParams:i}=this.stateManager.getCurrentUrlTree();this.fragment.set(e),this.queryParams.set(i),this.path.set(this.serializer.serialize(new M(r)))}static \u0275fac=function(r){return new(r||t)};static \u0275prov=w({token:t,factory:t.\u0275fac,providedIn:"root"})}return t})(),xn=(()=>{class t{router;route;tabIndexAttribute;renderer;el;locationStrategy;hrefAttributeValue=h(new Pr("href"),{optional:!0});reactiveHref=Ur(()=>this.isAnchorElement?this.computeHref(this._urlTree()):this.hrefAttributeValue);get href(){return y(this.reactiveHref)}set href(e){this.reactiveHref.set(e)}set target(e){this._target.set(e)}get target(){return y(this._target)}_target=R(void 0);set queryParams(e){this._queryParams.set(e)}get queryParams(){return y(this._queryParams)}_queryParams=R(void 0,{equal:()=>!1});set fragment(e){this._fragment.set(e)}get fragment(){return y(this._fragment)}_fragment=R(void 0);set queryParamsHandling(e){this._queryParamsHandling.set(e)}get queryParamsHandling(){return y(this._queryParamsHandling)}_queryParamsHandling=R(void 0);set state(e){this._state.set(e)}get state(){return y(this._state)}_state=R(void 0,{equal:()=>!1});set info(e){this._info.set(e)}get info(){return y(this._info)}_info=R(void 0,{equal:()=>!1});set relativeTo(e){this._relativeTo.set(e)}get relativeTo(){return y(this._relativeTo)}_relativeTo=R(void 0);set preserveFragment(e){this._preserveFragment.set(e)}get preserveFragment(){return y(this._preserveFragment)}_preserveFragment=R(!1);set skipLocationChange(e){this._skipLocationChange.set(e)}get skipLocationChange(){return y(this._skipLocationChange)}_skipLocationChange=R(!1);set replaceUrl(e){this._replaceUrl.set(e)}get replaceUrl(){return y(this._replaceUrl)}_replaceUrl=R(!1);isAnchorElement;onChanges=new J;applicationErrorHandler=h(Be);options=h(Re,{optional:!0});reactiveRouterState=h(go);constructor(e,r,i,o,s,a){this.router=e,this.route=r,this.tabIndexAttribute=i,this.renderer=o,this.el=s,this.locationStrategy=a;let c=s.nativeElement.tagName?.toLowerCase();this.isAnchorElement=c==="a"||c==="area"||!!(typeof customElements=="object"&&customElements.get(c)?.observedAttributes?.includes?.("href"))}setTabIndexIfNotOnNativeEl(e){this.tabIndexAttribute!=null||this.isAnchorElement||this.applyAttributeValue("tabindex",e)}ngOnChanges(e){this.onChanges.next(this)}routerLinkInput=R(null);set routerLink(e){e==null?(this.routerLinkInput.set(null),this.setTabIndexIfNotOnNativeEl(null)):(K(e)?this.routerLinkInput.set(e):this.routerLinkInput.set(Array.isArray(e)?e:[e]),this.setTabIndexIfNotOnNativeEl("0"))}onClick(e,r,i,o,s){let a=this._urlTree();if(a===null||this.isAnchorElement&&(e!==0||r||i||o||s||typeof this.target=="string"&&this.target!="_self"))return!0;let c={skipLocationChange:this.skipLocationChange,replaceUrl:this.replaceUrl,state:this.state,info:this.info};return this.router.navigateByUrl(a,c)?.catch(u=>{this.applicationErrorHandler(u)}),!this.isAnchorElement}ngOnDestroy(){}applyAttributeValue(e,r){let i=this.renderer,o=this.el.nativeElement;r!==null?i.setAttribute(o,e,r):i.removeAttribute(o,e)}_urlTree=Nt(()=>{this.reactiveRouterState.path(),this._preserveFragment()&&this.reactiveRouterState.fragment();let e=i=>i==="preserve"||i==="merge";(e(this._queryParamsHandling())||e(this.options?.defaultQueryParamsHandling))&&this.reactiveRouterState.queryParams();let r=this.routerLinkInput();return r===null||!this.router.createUrlTree?null:K(r)?r:this.router.createUrlTree(r,{relativeTo:this._relativeTo()!==void 0?this._relativeTo():this.route,queryParams:this._queryParams(),fragment:this._fragment(),queryParamsHandling:this._queryParamsHandling(),preserveFragment:this._preserveFragment()})},{equal:(e,r)=>this.computeHref(e)===this.computeHref(r)});get urlTree(){return y(this._urlTree)}computeHref(e){return e!==null&&this.locationStrategy?this.locationStrategy?.prepareExternalUrl(this.router.serializeUrl(e))??"":null}static \u0275fac=function(r){return new(r||t)(se(Ce),se(H),yr("tabindex"),se(Sr),se(Rr),se(jr))};static \u0275dir=Ge({type:t,selectors:[["","routerLink",""]],hostVars:2,hostBindings:function(r,i){r&1&&_r("click",function(s){return i.onClick(s.button,s.ctrlKey,s.shiftKey,s.altKey,s.metaKey)}),r&2&&Dr("href",i.reactiveHref(),Cr)("target",i._target())},inputs:{target:"target",queryParams:"queryParams",fragment:"fragment",queryParamsHandling:"queryParamsHandling",state:"state",info:"info",relativeTo:"relativeTo",preserveFragment:[2,"preserveFragment","preserveFragment",We],skipLocationChange:[2,"skipLocationChange","skipLocationChange",We],replaceUrl:[2,"replaceUrl","replaceUrl",We],routerLink:"routerLink"},features:[Ve]})}return t})();var vo=new E("");function mo(t,...n){return gr([{provide:$e,multi:!0,useValue:t},[],{provide:H,useFactory:yo},{provide:Mr,multi:!0,useFactory:Co},n.map(e=>e.\u0275providers)])}function yo(){return h(Ce).routerState.root}function Ro(t,n){return{\u0275kind:t,\u0275providers:n}}function Co(){let t=h(vr);return n=>{let e=t.get(Tr);if(n!==e.components[0])return;let r=t.get(Ce),i=t.get(So);t.get(wo)===1&&r.initialNavigation(),t.get(bo,null,{optional:!0})?.setUpPreloading(),t.get(vo,null,{optional:!0})?.init(),r.resetRootComponentType(e.componentTypes[0]),i.closed||(i.next(),i.complete(),i.unsubscribe())}}var So=new E("",{factory:()=>new J}),wo=new E("",{factory:()=>1});var bo=new E("");function Io(){return Ro(8,[er,{provide:je,useExisting:er}])}export{te as a,$ as b,P as c,re as d,at as e,H as f,Xt as g,nr as h,Ce as i,xn as j,mo as k,Io as l};
@@ -1 +1 @@
1
- import{M as l,N as d,R as p}from"./chunk-AVGEDQNI.js";import{L as a,Q as s,ha as o,uc as r}from"./chunk-HAWX5WNM.js";import{a as c}from"./chunk-WCABR6TI.js";var S={triggerLabel:"Settings",triggerTooltip:"Settings",modalTitle:"Settings",closeLabel:"Close",sections:{plugins:"Plugins",general:"General",project:"Project",changelog:"Changelog",about:"About"},general:{heading:"General",intro:"Per-machine preferences.",loadErrorPrefix:"Could not load preferences:",saveErrorPrefix:"Could not save preferences:",toggles:{"updateCheck.enabled":{label:"Check for updates",description:"Check npm for newer @skill-map/cli releases."},telemetry:{label:"Send anonymous error & usage reports",description:"Report crashes and which features you use. No file contents or paths.",hint:"Restart sm for this to take effect."}},extraTheme:{label:"Theme",description:"Pick a specialty theme.",options:{none:{label:"None",description:"Use the topbar dark/light toggle."}}},storageHintLabel:"Settings are stored in:",storageHintPath:"~/.skill-map/settings.json"},project:{heading:"Project",introPrefix:"These settings apply only to this project and are saved in",introPath:".skill-map/settings.local.json",introSuffix:".",loadErrorPrefix:"Could not load project settings:",saveErrorPrefix:"Could not save project settings:",referencePathsLabel:"Folders for link validation",referencePathsDescription:"If your notes link to files outside this project, list those folders here. Skill-map checks them only to confirm the links work, nothing from these folders shows up in the map.",referencePathsPlaceholder:"~/Documents/research",commaForbidden:"Add one path at a time, without commas.",addPathLabel:"Add path",removePathLabel:"Remove",confirmDialogHeader:"Allow access to folders outside this project?",confirmDialogIntro:"This change lets the scan read files in:",confirmDialogAccept:"Allow access",confirmDialogReject:"Cancel",ignorePatternsLabel:"Ignored patterns",ignorePatternsDescriptionPrefix:"Patterns that exclude files and folders from the scan, stored in",ignorePatternsDescriptionFile:".skillmapignore",ignorePatternsDescriptionMiddle:"at the project root. Same syntax as",ignorePatternsDescriptionGitignore:".gitignore",ignorePatternsDescriptionSuffix:"(one pattern per line).",ignorePatternsPlaceholder:"secrets.md",ignorePatternEmpty:"Pattern cannot be empty or whitespace-only.",ignorePatternHasControlChar:"Pattern must be a single line without control characters.",ignorePatternDuplicate:"This pattern is already in the list.",addIgnorePatternLabel:"Add pattern",removeIgnorePatternLabel:"Remove",activeProviderLabel:"Active provider",activeProviderDescription:"Selects which provider sees this project. The map reflects how the chosen provider interprets your files.",activeProviderSourceAutodetect:"Auto-detected from your files (no value saved yet).",activeProviderSourceNone:"No provider detected. Install or enable a provider to start.",activeProviderDetectedPrefix:"Detected:",activeProviderEmptyOption:"(none)",activeProviderConfirmHeader:"Switch the active provider?",activeProviderConfirmIntro:"Switching will clear the persisted scan (nodes, links, issues). Jobs and history are kept. You will need to run `sm scan` after the switch.",activeProviderConfirmAccept:"Switch and clear scan",activeProviderConfirmReject:"Cancel",activeProviderSwitchedPrefix:"Lens switched. Cleared",activeProviderSwitchedSuffix:"scan table(s). Run `sm scan` to repopulate.",activeProviderSwitchedNoDb:"Lens switched. Run `sm scan` to populate the map under the new lens."},changelogHeading:"Changelog",changelogIntro:"What's new in skill-map. Each entry covers a release of @skill-map/cli (the CLI + bundled UI) and lists the user-facing changes plus the workspace(s) each one affects.",changelogEmpty:"No release notes yet. Future releases will populate this list automatically from the changesets shipped in each PR.",changelogInternalRelease:"Internal release. Focus on stability, infra, and refactors. No user-facing changes this time.",changelogAffectedPackages:"Affected packages",changelogFooterText:"Want the full changelog?",changelogFooterLinkLabel:"See it on GitHub \u2192",changelogFooterUrl:"https://github.com/crystian/skill-map/blob/main/src/CHANGELOG.md",aboutHeading:"About",aboutIntro:"Version information for the running CLI / server.",aboutCliLabel:"skill-map CLI",aboutSpecLabel:"Spec version",aboutSchemaLabel:"Schema version",aboutFolderLabel:"Project folder",aboutDbLabel:"Project DB",aboutDbValue:(e,i)=>e==="present"?i:`${e} \xB7 ${i}`,aboutLoading:"Loading\u2026",aboutUnknown:"-",aboutErrorPrefix:"Could not read health endpoint:",aboutLinksHeading:"Links",aboutWebsiteLabel:"Website",aboutGithubLabel:"GitHub",aboutWebsiteUrl:"https://skill-map.ai/",aboutGithubUrl:"https://github.com/crystian/skill-map",aboutStarHeading:"Enjoying skill-map?",aboutStarBody:"If it's useful to you, drop us a star on GitHub, it helps a lot and keeps the project alive.",aboutStarCta:"Star on GitHub",aboutStarA11y:"Open the skill-map repository on GitHub to give it a star",pluginsHeading:"Plugins",pluginsIntro:"Enable or disable installed plugins.",pluginsSearchPlaceholder:"Filter by name\u2026",pluginsSearchA11y:"Filter plugins by name",pluginsSearchEmpty:e=>`No plugins match "${e}".`,pluginsKindFilterAll:"All",pluginsKindFilterOptionA11y:(e,i)=>i?`Show only ${e} extensions`:"Show all kinds",pluginsSourceFilterOptionA11y:(e,i)=>i?`Show only ${e} plugins`:"Show all sources",pluginsFilterA11y:"Filter plugins by source and kind",pluginsFilterAllA11y:"Show every plugin (clear the source and kind filters)",pluginsProjectEmpty:"No project plugins yet. Drop one under .skill-map/plugins/ or create it with sm plugins create <id>.",unsavedChangesMessage:e=>e===1?'1 unsaved change. Click "Apply" to persist it.':`${e} unsaved changes. Click "Apply" to persist them.`,startsAsDisabledRowHint:"This plugin started disabled and is not loaded in memory. Restart `sm serve` for the change to take effect.",startsAsDisabledFooterHint:"Some plugins were disabled when the server started. Consider restarting `sm serve` so they take effect.",discardChanges:"Discard",applyAndClose:"Apply",discardA11y:"Discard pending plugin changes",applyA11y:"Apply pending plugin changes and refresh the map",confirmCloseTitle:"Apply pending changes?",confirmCloseBody:e=>e===1?"You have 1 unsaved change.":`You have ${e} unsaved changes.`,keepEditing:"Keep editing",sourceBuiltIn:"Built-in",sourceProject:"Project",enabledLabel:"Enabled",disabledLabel:"Disabled",lockedLabel:"Locked",lockedTooltip:"Locked by the host (cannot be toggled).",expandLabel:"Show extensions",collapseLabel:"Hide extensions",statusFailure:{"incompatible-spec":"Incompatible spec version","invalid-manifest":"Invalid manifest","load-error":"Failed to load","id-collision":"Plugin id collision"},loading:"Loading plugins\u2026",empty:"No plugins installed.",errorPrefix:"Could not load plugins:",toggleErrorPrefix:"Toggle failed:",a11y:{triggerLabel:"Open settings",pluginToggle:(e,i)=>i?`Enable plugin ${e}`:`Disable plugin ${e}`,extensionToggle:(e,i)=>i?`Enable ${e}`:`Disable ${e}`,pluginRow:e=>`Plugin ${e} row`,extensionRow:e=>`Extension ${e} row`}};var y="#9ca3af",k="#6b7280",A=(()=>{class e{_entries=o([]);providers=this._entries.asReadonly();index=r(()=>{let t=new Map;for(let n of this._entries())t.set(n.id,n);return t});ingest(t){if(!t)return;let n=[];for(let[b,v]of Object.entries(t))n.push(c({id:b},v));P(this._entries(),n)||this._entries.set(n)}lookup(t){return this.index().get(t)}cardChip(t){if(!t)return null;let n=this.lookup(t);return n?n.hideChip?null:u(n):g(t)}lensChip(t){if(!t)return null;let n=this.lookup(t);return n?u(n):g(t)}static \u0275fac=function(n){return new(n||e)};static \u0275prov=a({token:e,factory:e.\u0275fac,providedIn:"root"})}return e})();function u(e){let i={label:e.label,color:e.color};return e.colorDark!==void 0&&(i.colorDark=e.colorDark),i}function g(e){return{label:e,color:y,colorDark:k}}function P(e,i){if(e.length!==i.length)return!1;for(let t=0;t<e.length;t++)if(JSON.stringify(e[t])!==JSON.stringify(i[t]))return!1;return!0}var f={available:"Update available",copiedLabel:"Copied!",tooltip:e=>`v${e} is available. Click to copy the install command.`,copyCommand:"npm i -g @skill-map/cli@latest",copiedTooltip:"Copied! Paste it in your terminal.",npmLinkUrl:"https://www.npmjs.com/package/@skill-map/cli",npmLinkTooltip:"Open on npm",npmLinkA11y:"Open the @skill-map/cli package page on npm",a11yLabel:e=>`Update available: version ${e}, click to copy the install command`,versionLabel:e=>`v${e}`,versionTooltip:e=>`skill-map CLI v${e}`,versionA11yLabel:e=>`Running version ${e}`,fetchFailed:e=>`UpdateCheckService: fetch failed (${e})`};var R=(()=>{class e{dataSource=s(l);status=o(null);isOutdated=r(()=>this.status()?.isOutdated===!0);latest=r(()=>this.status()?.latest??null);current=r(()=>this.status()?.current??null);async load(){try{let t=await this.dataSource.getUpdateStatus();this.status.set(t)}catch(t){let n=t instanceof Error?t.message:String(t);console.warn(f.fetchFailed(n))}}static \u0275fac=function(n){return new(n||e)};static \u0275prov=a({token:e,factory:e.\u0275fac,providedIn:"root"})}return e})();var m={scanFailed:e=>`scan-trigger failed: ${e}`};var M=(()=>{class e{dataSource=s(l);loader=s(p);scanning=o(!1);scanError=o(null);async run(){if(!this.scanning()){this.scanning.set(!0),this.scanError.set(null);try{await this.dataSource.runScan(),await this.loader.load()}catch(t){let n=t instanceof d||t instanceof Error?t.message:String(t);this.scanError.set(n),console.warn(m.scanFailed(n))}finally{this.scanning.set(!1)}}}static \u0275fac=function(n){return new(n||e)};static \u0275prov=a({token:e,factory:e.\u0275fac,providedIn:"root"})}return e})();export{A as a,f as b,R as c,S as d,M as e};
1
+ import{V as l,W as d,_ as p}from"./chunk-7EVKMO5A.js";import{K as a,P as s,ga as o,tc as r}from"./chunk-NV5DRQPL.js";import{a as c}from"./chunk-WCABR6TI.js";var S={triggerLabel:"Settings",triggerTooltip:"Settings",modalTitle:"Settings",closeLabel:"Close",sections:{plugins:"Plugins",general:"General",project:"Project",changelog:"Changelog",about:"About"},general:{heading:"General",intro:"Per-machine preferences.",loadErrorPrefix:"Could not load preferences:",saveErrorPrefix:"Could not save preferences:",toggles:{"updateCheck.enabled":{label:"Check for updates",description:"Check npm for newer @skill-map/cli releases."},telemetry:{label:"Send anonymous error & usage reports",description:"Report crashes and which features you use. No file contents or paths.",hint:"Restart sm for this to take effect."}},extraTheme:{label:"Theme",description:"Pick a specialty theme.",options:{none:{label:"None",description:"Use the topbar dark/light toggle."}}},storageHintLabel:"Settings are stored in:",storageHintPath:"~/.skill-map/settings.json"},project:{heading:"Project",introPrefix:"These settings apply only to this project and are saved in",introPath:".skill-map/settings.local.json",introSuffix:".",loadErrorPrefix:"Could not load project settings:",saveErrorPrefix:"Could not save project settings:",referencePathsLabel:"Folders for link validation",referencePathsDescription:"If your notes link to files outside this project, list those folders here. Skill-map checks them only to confirm the links work, nothing from these folders shows up in the map.",referencePathsPlaceholder:"~/Documents/research",commaForbidden:"Add one path at a time, without commas.",addPathLabel:"Add path",removePathLabel:"Remove",confirmDialogHeader:"Allow access to folders outside this project?",confirmDialogIntro:"This change lets the scan read files in:",confirmDialogAccept:"Allow access",confirmDialogReject:"Cancel",ignorePatternsLabel:"Ignored patterns",ignorePatternsDescriptionPrefix:"Patterns that exclude files and folders from the scan, stored in",ignorePatternsDescriptionFile:".skillmapignore",ignorePatternsDescriptionMiddle:"at the project root. Same syntax as",ignorePatternsDescriptionGitignore:".gitignore",ignorePatternsDescriptionSuffix:"(one pattern per line).",ignorePatternsPlaceholder:"secrets.md",ignorePatternEmpty:"Pattern cannot be empty or whitespace-only.",ignorePatternHasControlChar:"Pattern must be a single line without control characters.",ignorePatternDuplicate:"This pattern is already in the list.",addIgnorePatternLabel:"Add pattern",removeIgnorePatternLabel:"Remove",activeProviderLabel:"Active provider",activeProviderDescription:"Selects which provider sees this project. The map reflects how the chosen provider interprets your files.",activeProviderSourceAutodetect:"Auto-detected from your files (no value saved yet).",activeProviderSourceNone:"No provider detected. Install or enable a provider to start.",activeProviderDetectedPrefix:"Detected:",activeProviderEmptyOption:"(none)",activeProviderConfirmHeader:"Switch the active provider?",activeProviderConfirmIntro:"Switching will clear the persisted scan (nodes, links, issues). Jobs and history are kept. You will need to run `sm scan` after the switch.",activeProviderConfirmAccept:"Switch and clear scan",activeProviderConfirmReject:"Cancel",activeProviderSwitchedPrefix:"Lens switched. Cleared",activeProviderSwitchedSuffix:"scan table(s). Run `sm scan` to repopulate.",activeProviderSwitchedNoDb:"Lens switched. Run `sm scan` to populate the map under the new lens."},changelogHeading:"Changelog",changelogIntro:"What's new in skill-map. Each entry covers a release of @skill-map/cli (the CLI + bundled UI) and lists the user-facing changes plus the workspace(s) each one affects.",changelogEmpty:"No release notes yet. Future releases will populate this list automatically from the changesets shipped in each PR.",changelogInternalRelease:"Internal release. Focus on stability, infra, and refactors. No user-facing changes this time.",changelogAffectedPackages:"Affected packages",changelogFooterText:"Want the full changelog?",changelogFooterLinkLabel:"See it on GitHub \u2192",changelogFooterUrl:"https://github.com/crystian/skill-map/blob/main/src/CHANGELOG.md",aboutHeading:"About",aboutIntro:"Version information for the running CLI / server.",aboutCliLabel:"skill-map CLI",aboutSpecLabel:"Spec version",aboutSchemaLabel:"Schema version",aboutFolderLabel:"Project folder",aboutDbLabel:"Project DB",aboutDbValue:(e,i)=>e==="present"?i:`${e} \xB7 ${i}`,aboutLoading:"Loading\u2026",aboutUnknown:"-",aboutErrorPrefix:"Could not read health endpoint:",aboutLinksHeading:"Links",aboutWebsiteLabel:"Website",aboutGithubLabel:"GitHub",aboutWebsiteUrl:"https://skill-map.ai/",aboutGithubUrl:"https://github.com/crystian/skill-map",aboutStarHeading:"Enjoying skill-map?",aboutStarBody:"If it's useful to you, drop us a star on GitHub, it helps a lot and keeps the project alive.",aboutStarCta:"Star on GitHub",aboutStarA11y:"Open the skill-map repository on GitHub to give it a star",pluginsHeading:"Plugins",pluginsIntro:"Enable or disable installed plugins.",pluginsSearchPlaceholder:"Filter by name\u2026",pluginsSearchA11y:"Filter plugins by name",pluginsSearchEmpty:e=>`No plugins match "${e}".`,pluginsKindFilterAll:"All",pluginsKindFilterOptionA11y:(e,i)=>i?`Show only ${e} extensions`:"Show all kinds",pluginsSourceFilterOptionA11y:(e,i)=>i?`Show only ${e} plugins`:"Show all sources",pluginsFilterA11y:"Filter plugins by source and kind",pluginsFilterAllA11y:"Show every plugin (clear the source and kind filters)",pluginsProjectEmpty:"No project plugins yet. Drop one under .skill-map/plugins/ or create it with sm plugins create <id>.",unsavedChangesMessage:e=>e===1?'1 unsaved change. Click "Apply" to persist it.':`${e} unsaved changes. Click "Apply" to persist them.`,startsAsDisabledRowHint:"This plugin started disabled and is not loaded in memory. Restart `sm serve` for the change to take effect.",startsAsDisabledFooterHint:"Some plugins were disabled when the server started. Consider restarting `sm serve` so they take effect.",discardChanges:"Discard",applyAndClose:"Apply",discardA11y:"Discard pending plugin changes",applyA11y:"Apply pending plugin changes and refresh the map",confirmCloseTitle:"Apply pending changes?",confirmCloseBody:e=>e===1?"You have 1 unsaved change.":`You have ${e} unsaved changes.`,keepEditing:"Keep editing",sourceBuiltIn:"Built-in",sourceProject:"Project",enabledLabel:"Enabled",disabledLabel:"Disabled",lockedLabel:"Locked",lockedTooltip:"Locked by the host (cannot be toggled).",expandLabel:"Show extensions",collapseLabel:"Hide extensions",statusFailure:{"incompatible-spec":"Incompatible spec version","invalid-manifest":"Invalid manifest","load-error":"Failed to load","id-collision":"Plugin id collision"},loading:"Loading plugins\u2026",empty:"No plugins installed.",errorPrefix:"Could not load plugins:",toggleErrorPrefix:"Toggle failed:",a11y:{triggerLabel:"Open settings",pluginToggle:(e,i)=>i?`Enable plugin ${e}`:`Disable plugin ${e}`,extensionToggle:(e,i)=>i?`Enable ${e}`:`Disable ${e}`,pluginRow:e=>`Plugin ${e} row`,extensionRow:e=>`Extension ${e} row`}};var y="#9ca3af",k="#6b7280",A=(()=>{class e{_entries=o([]);providers=this._entries.asReadonly();index=r(()=>{let t=new Map;for(let n of this._entries())t.set(n.id,n);return t});ingest(t){if(!t)return;let n=[];for(let[b,v]of Object.entries(t))n.push(c({id:b},v));P(this._entries(),n)||this._entries.set(n)}lookup(t){return this.index().get(t)}cardChip(t){if(!t)return null;let n=this.lookup(t);return n?n.hideChip?null:u(n):g(t)}lensChip(t){if(!t)return null;let n=this.lookup(t);return n?u(n):g(t)}static \u0275fac=function(n){return new(n||e)};static \u0275prov=a({token:e,factory:e.\u0275fac,providedIn:"root"})}return e})();function u(e){let i={label:e.label,color:e.color};return e.colorDark!==void 0&&(i.colorDark=e.colorDark),i}function g(e){return{label:e,color:y,colorDark:k}}function P(e,i){if(e.length!==i.length)return!1;for(let t=0;t<e.length;t++)if(JSON.stringify(e[t])!==JSON.stringify(i[t]))return!1;return!0}var f={available:"Update available",copiedLabel:"Copied!",tooltip:e=>`v${e} is available. Click to copy the install command.`,copyCommand:"npm i -g @skill-map/cli@latest",copiedTooltip:"Copied! Paste it in your terminal.",npmLinkUrl:"https://www.npmjs.com/package/@skill-map/cli",npmLinkTooltip:"Open on npm",npmLinkA11y:"Open the @skill-map/cli package page on npm",a11yLabel:e=>`Update available: version ${e}, click to copy the install command`,versionLabel:e=>`v${e}`,versionTooltip:e=>`skill-map CLI v${e}`,versionA11yLabel:e=>`Running version ${e}`,fetchFailed:e=>`UpdateCheckService: fetch failed (${e})`};var R=(()=>{class e{dataSource=s(l);status=o(null);isOutdated=r(()=>this.status()?.isOutdated===!0);latest=r(()=>this.status()?.latest??null);current=r(()=>this.status()?.current??null);async load(){try{let t=await this.dataSource.getUpdateStatus();this.status.set(t)}catch(t){let n=t instanceof Error?t.message:String(t);console.warn(f.fetchFailed(n))}}static \u0275fac=function(n){return new(n||e)};static \u0275prov=a({token:e,factory:e.\u0275fac,providedIn:"root"})}return e})();var m={scanFailed:e=>`scan-trigger failed: ${e}`};var M=(()=>{class e{dataSource=s(l);loader=s(p);scanning=o(!1);scanError=o(null);async run(){if(!this.scanning()){this.scanning.set(!0),this.scanError.set(null);try{await this.dataSource.runScan(),await this.loader.load()}catch(t){let n=t instanceof d||t instanceof Error?t.message:String(t);this.scanError.set(n),console.warn(m.scanFailed(n))}finally{this.scanning.set(!1)}}}static \u0275fac=function(n){return new(n||e)};static \u0275prov=a({token:e,factory:e.\u0275fac,providedIn:"root"})}return e})();export{A as a,f as b,R as c,S as d,M as e};