@signalk/freeboard-sk 3.4.0-beta.2 → 3.4.0-beta.3
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.
- package/README.md +6 -0
- package/package.json +2 -2
- package/public/assets/features/action-button-1.jpg +0 -0
- package/public/assets/features/action-button-2.jpg +0 -0
- package/public/assets/features-corpus.json +1 -1
- package/public/assets/help/img/navigation-route.svg +4 -0
- package/public/assets/help/index.html +21 -3
- package/public/{chunk-UIEE3YOF.js → chunk-A3USDUNB.js} +1 -1
- package/public/{chunk-6XBJQDQZ.js → chunk-AZQNOMPD.js} +1 -1
- package/public/{chunk-N6FC7TMF.js → chunk-ECLVX6LA.js} +1 -1
- package/public/{chunk-VG2HTHDN.js → chunk-F7CTV67V.js} +99 -99
- package/public/chunk-FGHHJ7U2.js +1 -0
- package/public/chunk-FJGK2Y72.js +1 -0
- package/public/{chunk-CZWRDBMY.js → chunk-IP2UNZAT.js} +1 -1
- package/public/{chunk-26ZBWNUQ.js → chunk-KAAC4VTV.js} +1 -1
- package/public/chunk-LEEF5WZZ.js +1 -0
- package/public/{chunk-ZHXEZBYI.js → chunk-MWETYHR7.js} +1 -1
- package/public/chunk-NFMYMYDJ.js +1 -0
- package/public/{chunk-B5DI22LT.js → chunk-PWZFOOT4.js} +1 -1
- package/public/chunk-ROH43CFA.js +1 -0
- package/public/{chunk-CKZDFNLJ.js → chunk-VBSJZWSI.js} +1 -1
- package/public/{chunk-3E3U7Z7O.js → chunk-VXYZIAGN.js} +1 -1
- package/public/chunk-WARJYBQ7.js +7 -0
- package/public/{chunk-VAE47BFB.js → chunk-WOU2FNU3.js} +1 -1
- package/public/{chunk-UXZI7A6H.js → chunk-XHJJSLEL.js} +1 -1
- package/public/{chunk-IZEHULJO.js → chunk-ZYGXQZX6.js} +1 -1
- package/public/index.html +1 -1
- package/public/main-NXVNOJR5.js +358 -0
- package/public/{worker-2QCQHBWQ.js → worker-6LLSDQNK.js} +40 -20
- package/public/chunk-6W3TVG4T.js +0 -1
- package/public/chunk-FFPCEPCR.js +0 -7
- package/public/chunk-L766X4HH.js +0 -1
- package/public/chunk-NUFT6SHL.js +0 -1
- package/public/chunk-PKC2MOZE.js +0 -1
- package/public/chunk-VCZ35SJT.js +0 -1
- package/public/main-YMAIP3FL.js +0 -358
|
@@ -0,0 +1,358 @@
|
|
|
1
|
+
import{d as Mr}from"./chunk-V44P57GA.js";import{$b as Tr,A as We,Aa as Eo,Ab as Cn,B as Le,Ba as To,Bb as ur,C as sn,Ca as Mo,Cb as mr,D as Zi,Da as So,Db as fr,E as lt,Ea as Ao,Eb as hr,F as pt,Fa as Po,Fb as Ve,Ga as ko,Gb as wn,Ha as Ro,Hb as bn,I as Qi,Ib as _r,J as Yi,Ja as Io,Jb as Ge,K as Ji,Ka as Oo,Kb as gr,L as eo,La as Do,Lb as vt,M as to,Ma as Lo,Mb as vr,N as ct,Na as gn,Nb as Cr,O as no,Oa as vn,Ob as wr,P as io,Pa as Vo,Pb as br,Q as oo,Qa as Fo,R as ro,Ra as No,S as ln,Sa as Bo,Ta as $o,Tb as xr,U as dt,Ua as zo,V as ao,Va as Uo,Vb as yr,W as un,Wa as qo,Wb as Er,X as lo,Xa as Ho,Xb as xn,Y as ut,Ya as Wo,Z as mn,Za as Go,_ as po,_a as jo,_b as Ct,a as Ti,b as Bi,ca as X,cb as Ko,d as $i,da as co,db as Xo,ea as fn,eb as Zo,fa as hn,fb as Qo,ga as uo,gb as Yo,h as on,ha as _n,hb as Jo,i as rn,ia as mt,ib as er,ja as mo,jb as tr,ka as fo,kb as nr,la as ho,lb as ir,ma as _o,mb as or,na as go,nb as rr,oa as vo,pa as ft,q as Wi,qa as ht,ra as _t,sa as gt,t as Gi,ta as Co,ua as wo,ub as ar,v as ji,vb as sr,w as He,wa as bo,wb as lr,x as Ki,xa as xo,xb as pr,y as an,yb as cr,z as Xi,za as yo,zb as dr}from"./chunk-F7CTV67V.js";import{c as De}from"./chunk-O2XN7DIT.js";import{d as so}from"./chunk-CI2BDMX2.js";import{a as zi,g as Ui,i as qi,k as Hi}from"./chunk-M4EXFQJE.js";import"./chunk-UBRYY245.js";import"./chunk-A7RX2LBX.js";import{a as Oe}from"./chunk-ON6WKWFV.js";import"./chunk-Z2OUIJPL.js";import"./chunk-FX2SMI5S.js";import"./chunk-I3RHGD62.js";import"./chunk-EX2EX65O.js";import{$a as Ie,C as Ai,E as Pi,F as ke,G as ki,Ha as Fi,K as nn,Na as de,Oa as ue,U as Ri,Wa as Re,Y as st,_a as Ni,a as wi,b as rt,e as bi,f as xi,ha as Ii,k as yi,l as Ei,m as ce,ma as Oi,n as at,na as Di,pa as Li,q as Mi,ua as Te,w as tn,xa as Vi,y as Si}from"./chunk-GJFI75CP.js";import"./chunk-LEEF5WZZ.js";import"./chunk-7FANVIZX.js";import"./chunk-ZYGXQZX6.js";import{c as pn,f as cn,j as dn}from"./chunk-RYULE37H.js";import{$a as si,C as Jn,Cb as qe,Cc as K,D as ei,Db as E,Dc as en,E as Gt,Eb as Ae,Hb as h,Hc as Ci,Ib as ci,Jb as p,Jc as ot,Ka as oi,Kb as ye,La as ae,Lb as oe,M as jt,Ma as ri,Mb as Qt,Na as ze,Nb as J,O as re,Oa as c,Ob as V,Pb as F,Rb as di,Sa as Zt,Sb as ui,T as ti,Tb as Ee,U as ni,Ub as j,V as Kt,Va as ai,Vb as N,Wa as Se,Wb as Yt,X as v,Xb as it,Yb as u,Zb as z,_a as I,_b as ve,ba as m,ca as f,d as ge,db as Ue,eb as tt,ec as mi,fa as Xt,fb as se,fc as fi,ga as Ye,gc as hi,ia as Je,ic as Pe,ja as Q,jb as le,jc as _i,kb as pe,kc as Jt,la as L,lc as gi,mb as Y,na as $,nb as _,ob as g,p as Be,pa as et,qb as xe,ra as ee,rb as q,sa as ii,sb as H,tb as w,tc as vi,ub as a,vb as l,vc as Ce,w as Yn,wb as T,wc as O,x as $e,xb as li,yb as pi,zb as nt}from"./chunk-3PBISOLT.js";import"./chunk-MWETYHR7.js";import"./chunk-WARJYBQ7.js";import{a as ie,b as fe,d as A,f as Vs,g as B}from"./chunk-BZGM3F3K.js";var Fe=A((of,kr)=>{"use strict";var Zs="2.0.0",Qs=Number.MAX_SAFE_INTEGER||9007199254740991,Ys=16,Js=250,el=["major","premajor","minor","preminor","patch","prepatch","prerelease"];kr.exports={MAX_LENGTH:256,MAX_SAFE_COMPONENT_LENGTH:Ys,MAX_SAFE_BUILD_LENGTH:Js,MAX_SAFE_INTEGER:Qs,RELEASE_TYPES:el,SEMVER_SPEC_VERSION:Zs,FLAG_INCLUDE_PRERELEASE:1,FLAG_LOOSE:2}});var je=A((rf,Rr)=>{"use strict";var tl=typeof process=="object"&&process.env&&process.env.NODE_DEBUG&&/\bsemver\b/i.test(process.env.NODE_DEBUG)?(...i)=>console.error("SEMVER",...i):()=>{};Rr.exports=tl});var Ne=A((me,Ir)=>{"use strict";var{MAX_SAFE_COMPONENT_LENGTH:Sn,MAX_SAFE_BUILD_LENGTH:nl,MAX_LENGTH:il}=Fe(),ol=je();me=Ir.exports={};var rl=me.re=[],al=me.safeRe=[],b=me.src=[],sl=me.safeSrc=[],x=me.t={},ll=0,An="[a-zA-Z0-9-]",pl=[["\\s",1],["\\d",il],[An,nl]],cl=i=>{for(let[t,e]of pl)i=i.split(`${t}*`).join(`${t}{0,${e}}`).split(`${t}+`).join(`${t}{1,${e}}`);return i},P=(i,t,e)=>{let n=cl(t),o=ll++;ol(i,o,t),x[i]=o,b[o]=t,sl[o]=n,rl[o]=new RegExp(t,e?"g":void 0),al[o]=new RegExp(n,e?"g":void 0)};P("NUMERICIDENTIFIER","0|[1-9]\\d*");P("NUMERICIDENTIFIERLOOSE","\\d+");P("NONNUMERICIDENTIFIER",`\\d*[a-zA-Z-]${An}*`);P("MAINVERSION",`(${b[x.NUMERICIDENTIFIER]})\\.(${b[x.NUMERICIDENTIFIER]})\\.(${b[x.NUMERICIDENTIFIER]})`);P("MAINVERSIONLOOSE",`(${b[x.NUMERICIDENTIFIERLOOSE]})\\.(${b[x.NUMERICIDENTIFIERLOOSE]})\\.(${b[x.NUMERICIDENTIFIERLOOSE]})`);P("PRERELEASEIDENTIFIER",`(?:${b[x.NONNUMERICIDENTIFIER]}|${b[x.NUMERICIDENTIFIER]})`);P("PRERELEASEIDENTIFIERLOOSE",`(?:${b[x.NONNUMERICIDENTIFIER]}|${b[x.NUMERICIDENTIFIERLOOSE]})`);P("PRERELEASE",`(?:-(${b[x.PRERELEASEIDENTIFIER]}(?:\\.${b[x.PRERELEASEIDENTIFIER]})*))`);P("PRERELEASELOOSE",`(?:-?(${b[x.PRERELEASEIDENTIFIERLOOSE]}(?:\\.${b[x.PRERELEASEIDENTIFIERLOOSE]})*))`);P("BUILDIDENTIFIER",`${An}+`);P("BUILD",`(?:\\+(${b[x.BUILDIDENTIFIER]}(?:\\.${b[x.BUILDIDENTIFIER]})*))`);P("FULLPLAIN",`v?${b[x.MAINVERSION]}${b[x.PRERELEASE]}?${b[x.BUILD]}?`);P("FULL",`^${b[x.FULLPLAIN]}$`);P("LOOSEPLAIN",`[v=\\s]*${b[x.MAINVERSIONLOOSE]}${b[x.PRERELEASELOOSE]}?${b[x.BUILD]}?`);P("LOOSE",`^${b[x.LOOSEPLAIN]}$`);P("GTLT","((?:<|>)?=?)");P("XRANGEIDENTIFIERLOOSE",`${b[x.NUMERICIDENTIFIERLOOSE]}|x|X|\\*`);P("XRANGEIDENTIFIER",`${b[x.NUMERICIDENTIFIER]}|x|X|\\*`);P("XRANGEPLAIN",`[v=\\s]*(${b[x.XRANGEIDENTIFIER]})(?:\\.(${b[x.XRANGEIDENTIFIER]})(?:\\.(${b[x.XRANGEIDENTIFIER]})(?:${b[x.PRERELEASE]})?${b[x.BUILD]}?)?)?`);P("XRANGEPLAINLOOSE",`[v=\\s]*(${b[x.XRANGEIDENTIFIERLOOSE]})(?:\\.(${b[x.XRANGEIDENTIFIERLOOSE]})(?:\\.(${b[x.XRANGEIDENTIFIERLOOSE]})(?:${b[x.PRERELEASELOOSE]})?${b[x.BUILD]}?)?)?`);P("XRANGE",`^${b[x.GTLT]}\\s*${b[x.XRANGEPLAIN]}$`);P("XRANGELOOSE",`^${b[x.GTLT]}\\s*${b[x.XRANGEPLAINLOOSE]}$`);P("COERCEPLAIN",`(^|[^\\d])(\\d{1,${Sn}})(?:\\.(\\d{1,${Sn}}))?(?:\\.(\\d{1,${Sn}}))?`);P("COERCE",`${b[x.COERCEPLAIN]}(?:$|[^\\d])`);P("COERCEFULL",b[x.COERCEPLAIN]+`(?:${b[x.PRERELEASE]})?(?:${b[x.BUILD]})?(?:$|[^\\d])`);P("COERCERTL",b[x.COERCE],!0);P("COERCERTLFULL",b[x.COERCEFULL],!0);P("LONETILDE","(?:~>?)");P("TILDETRIM",`(\\s*)${b[x.LONETILDE]}\\s+`,!0);me.tildeTrimReplace="$1~";P("TILDE",`^${b[x.LONETILDE]}${b[x.XRANGEPLAIN]}$`);P("TILDELOOSE",`^${b[x.LONETILDE]}${b[x.XRANGEPLAINLOOSE]}$`);P("LONECARET","(?:\\^)");P("CARETTRIM",`(\\s*)${b[x.LONECARET]}\\s+`,!0);me.caretTrimReplace="$1^";P("CARET",`^${b[x.LONECARET]}${b[x.XRANGEPLAIN]}$`);P("CARETLOOSE",`^${b[x.LONECARET]}${b[x.XRANGEPLAINLOOSE]}$`);P("COMPARATORLOOSE",`^${b[x.GTLT]}\\s*(${b[x.LOOSEPLAIN]})$|^$`);P("COMPARATOR",`^${b[x.GTLT]}\\s*(${b[x.FULLPLAIN]})$|^$`);P("COMPARATORTRIM",`(\\s*)${b[x.GTLT]}\\s*(${b[x.LOOSEPLAIN]}|${b[x.XRANGEPLAIN]})`,!0);me.comparatorTrimReplace="$1$2$3";P("HYPHENRANGE",`^\\s*(${b[x.XRANGEPLAIN]})\\s+-\\s+(${b[x.XRANGEPLAIN]})\\s*$`);P("HYPHENRANGELOOSE",`^\\s*(${b[x.XRANGEPLAINLOOSE]})\\s+-\\s+(${b[x.XRANGEPLAINLOOSE]})\\s*$`);P("STAR","(<|>)?=?\\s*\\*");P("GTE0","^\\s*>=\\s*0\\.0\\.0\\s*$");P("GTE0PRE","^\\s*>=\\s*0\\.0\\.0-0\\s*$")});var yt=A((af,Or)=>{"use strict";var dl=Object.freeze({loose:!0}),ul=Object.freeze({}),ml=i=>i?typeof i!="object"?dl:i:ul;Or.exports=ml});var Pn=A((sf,Vr)=>{"use strict";var Dr=/^[0-9]+$/,Lr=(i,t)=>{if(typeof i=="number"&&typeof t=="number")return i===t?0:i<t?-1:1;let e=Dr.test(i),n=Dr.test(t);return e&&n&&(i=+i,t=+t),i===t?0:e&&!n?-1:n&&!e?1:i<t?-1:1},fl=(i,t)=>Lr(t,i);Vr.exports={compareIdentifiers:Lr,rcompareIdentifiers:fl}});var W=A((lf,Nr)=>{"use strict";var Et=je(),{MAX_LENGTH:Fr,MAX_SAFE_INTEGER:Tt}=Fe(),{safeRe:Mt,t:St}=Ne(),hl=yt(),{compareIdentifiers:kn}=Pn(),_l=(i,t)=>{let e=t.split(".");if(e.length>i.length)return!1;for(let n=0;n<e.length;n++)if(kn(i[n],e[n])!==0)return!1;return!0},Rn=class i{constructor(t,e){if(e=hl(e),t instanceof i){if(t.loose===!!e.loose&&t.includePrerelease===!!e.includePrerelease)return t;t=t.version}else if(typeof t!="string")throw new TypeError(`Invalid version. Must be a string. Got type "${typeof t}".`);if(t.length>Fr)throw new TypeError(`version is longer than ${Fr} characters`);Et("SemVer",t,e),this.options=e,this.loose=!!e.loose,this.includePrerelease=!!e.includePrerelease;let n=t.trim().match(e.loose?Mt[St.LOOSE]:Mt[St.FULL]);if(!n)throw new TypeError(`Invalid Version: ${t}`);if(this.raw=t,this.major=+n[1],this.minor=+n[2],this.patch=+n[3],this.major>Tt||this.major<0)throw new TypeError("Invalid major version");if(this.minor>Tt||this.minor<0)throw new TypeError("Invalid minor version");if(this.patch>Tt||this.patch<0)throw new TypeError("Invalid patch version");n[4]?this.prerelease=n[4].split(".").map(o=>{if(/^[0-9]+$/.test(o)){let r=+o;if(r>=0&&r<Tt)return r}return o}):this.prerelease=[],this.build=n[5]?n[5].split("."):[],this.format()}format(){return this.version=`${this.major}.${this.minor}.${this.patch}`,this.prerelease.length&&(this.version+=`-${this.prerelease.join(".")}`),this.version}toString(){return this.version}compare(t){if(Et("SemVer.compare",this.version,this.options,t),!(t instanceof i)){if(typeof t=="string"&&t===this.version)return 0;t=new i(t,this.options)}return t.version===this.version?0:this.compareMain(t)||this.comparePre(t)}compareMain(t){return t instanceof i||(t=new i(t,this.options)),this.major<t.major?-1:this.major>t.major?1:this.minor<t.minor?-1:this.minor>t.minor?1:this.patch<t.patch?-1:this.patch>t.patch?1:0}comparePre(t){if(t instanceof i||(t=new i(t,this.options)),this.prerelease.length&&!t.prerelease.length)return-1;if(!this.prerelease.length&&t.prerelease.length)return 1;if(!this.prerelease.length&&!t.prerelease.length)return 0;let e=0;do{let n=this.prerelease[e],o=t.prerelease[e];if(Et("prerelease compare",e,n,o),n===void 0&&o===void 0)return 0;if(o===void 0)return 1;if(n===void 0)return-1;if(n===o)continue;return kn(n,o)}while(++e)}compareBuild(t){t instanceof i||(t=new i(t,this.options));let e=0;do{let n=this.build[e],o=t.build[e];if(Et("build compare",e,n,o),n===void 0&&o===void 0)return 0;if(o===void 0)return 1;if(n===void 0)return-1;if(n===o)continue;return kn(n,o)}while(++e)}inc(t,e,n){if(t.startsWith("pre")){if(!e&&n===!1)throw new Error("invalid increment argument: identifier is empty");if(e){let o=`-${e}`.match(this.options.loose?Mt[St.PRERELEASELOOSE]:Mt[St.PRERELEASE]);if(!o||o[1]!==e)throw new Error(`invalid identifier: ${e}`)}}switch(t){case"premajor":this.prerelease.length=0,this.patch=0,this.minor=0,this.major++,this.inc("pre",e,n);break;case"preminor":this.prerelease.length=0,this.patch=0,this.minor++,this.inc("pre",e,n);break;case"prepatch":this.prerelease.length=0,this.inc("patch",e,n),this.inc("pre",e,n);break;case"prerelease":this.prerelease.length===0&&this.inc("patch",e,n),this.inc("pre",e,n);break;case"release":if(this.prerelease.length===0)throw new Error(`version ${this.raw} is not a prerelease`);this.prerelease.length=0;break;case"major":(this.minor!==0||this.patch!==0||this.prerelease.length===0)&&this.major++,this.minor=0,this.patch=0,this.prerelease=[];break;case"minor":(this.patch!==0||this.prerelease.length===0)&&this.minor++,this.patch=0,this.prerelease=[];break;case"patch":this.prerelease.length===0&&this.patch++,this.prerelease=[];break;case"pre":{let o=Number(n)?1:0;if(this.prerelease.length===0)this.prerelease=[o];else{let r=this.prerelease.length;for(;--r>=0;)typeof this.prerelease[r]=="number"&&(this.prerelease[r]++,r=-2);if(r===-1){if(e===this.prerelease.join(".")&&n===!1)throw new Error("invalid increment argument: identifier already exists");this.prerelease.push(o)}}if(e){let r=[e,o];if(n===!1&&(r=[e]),_l(this.prerelease,e)){let s=this.prerelease[e.split(".").length];isNaN(s)&&(this.prerelease=r)}else this.prerelease=r}break}default:throw new Error(`invalid increment argument: ${t}`)}return this.raw=this.format(),this.build.length&&(this.raw+=`+${this.build.join(".")}`),this}};Nr.exports=Rn});var we=A((pf,$r)=>{"use strict";var Br=W(),gl=(i,t,e=!1)=>{if(i instanceof Br)return i;try{return new Br(i,t)}catch(n){if(!e)return null;throw n}};$r.exports=gl});var Ur=A((cf,zr)=>{"use strict";var vl=we(),Cl=(i,t)=>{let e=vl(i,t);return e?e.version:null};zr.exports=Cl});var Hr=A((df,qr)=>{"use strict";var wl=we(),bl=(i,t)=>{let e=wl(i.trim().replace(/^[=v]+/,""),t);return e?e.version:null};qr.exports=bl});var jr=A((uf,Gr)=>{"use strict";var Wr=W(),xl=(i,t,e,n,o)=>{typeof e=="string"&&(o=n,n=e,e=void 0);try{return new Wr(i instanceof Wr?i.version:i,e).inc(t,n,o).version}catch(r){return null}};Gr.exports=xl});var Zr=A((mf,Xr)=>{"use strict";var Kr=we(),yl=(i,t)=>{let e=Kr(i,null,!0),n=Kr(t,null,!0),o=e.compare(n);if(o===0)return null;let r=o>0,s=r?e:n,d=r?n:e,C=!!s.prerelease.length;if(!!d.prerelease.length&&!C){if(!d.patch&&!d.minor)return"major";if(d.compareMain(s)===0)return d.minor&&!d.patch?"minor":"patch"}let k=C?"pre":"";return e.major!==n.major?k+"major":e.minor!==n.minor?k+"minor":e.patch!==n.patch?k+"patch":"prerelease"};Xr.exports=yl});var Yr=A((ff,Qr)=>{"use strict";var El=W(),Tl=(i,t)=>new El(i,t).major;Qr.exports=Tl});var ea=A((hf,Jr)=>{"use strict";var Ml=W(),Sl=(i,t)=>new Ml(i,t).minor;Jr.exports=Sl});var na=A((_f,ta)=>{"use strict";var Al=W(),Pl=(i,t)=>new Al(i,t).patch;ta.exports=Pl});var oa=A((gf,ia)=>{"use strict";var kl=we(),Rl=(i,t)=>{let e=kl(i,t);return e&&e.prerelease.length?e.prerelease:null};ia.exports=Rl});var te=A((vf,aa)=>{"use strict";var ra=W(),Il=(i,t,e)=>new ra(i,e).compare(new ra(t,e));aa.exports=Il});var la=A((Cf,sa)=>{"use strict";var Ol=te(),Dl=(i,t,e)=>Ol(t,i,e);sa.exports=Dl});var ca=A((wf,pa)=>{"use strict";var Ll=te(),Vl=(i,t)=>Ll(i,t,!0);pa.exports=Vl});var At=A((bf,ua)=>{"use strict";var da=W(),Fl=(i,t,e)=>{let n=new da(i,e),o=new da(t,e);return n.compare(o)||n.compareBuild(o)};ua.exports=Fl});var fa=A((xf,ma)=>{"use strict";var Nl=At(),Bl=(i,t)=>i.sort((e,n)=>Nl(e,n,t));ma.exports=Bl});var _a=A((yf,ha)=>{"use strict";var $l=At(),zl=(i,t)=>i.sort((e,n)=>$l(n,e,t));ha.exports=zl});var Ke=A((Ef,ga)=>{"use strict";var Ul=te(),ql=(i,t,e)=>Ul(i,t,e)>0;ga.exports=ql});var Pt=A((Tf,va)=>{"use strict";var Hl=te(),Wl=(i,t,e)=>Hl(i,t,e)<0;va.exports=Wl});var In=A((Mf,Ca)=>{"use strict";var Gl=te(),jl=(i,t,e)=>Gl(i,t,e)===0;Ca.exports=jl});var On=A((Sf,wa)=>{"use strict";var Kl=te(),Xl=(i,t,e)=>Kl(i,t,e)!==0;wa.exports=Xl});var kt=A((Af,ba)=>{"use strict";var Zl=te(),Ql=(i,t,e)=>Zl(i,t,e)>=0;ba.exports=Ql});var Rt=A((Pf,xa)=>{"use strict";var Yl=te(),Jl=(i,t,e)=>Yl(i,t,e)<=0;xa.exports=Jl});var Dn=A((kf,ya)=>{"use strict";var ep=In(),tp=On(),np=Ke(),ip=kt(),op=Pt(),rp=Rt(),ap=(i,t,e,n)=>{switch(t){case"===":return typeof i=="object"&&(i=i.version),typeof e=="object"&&(e=e.version),i===e;case"!==":return typeof i=="object"&&(i=i.version),typeof e=="object"&&(e=e.version),i!==e;case"":case"=":case"==":return ep(i,e,n);case"!=":return tp(i,e,n);case">":return np(i,e,n);case">=":return ip(i,e,n);case"<":return op(i,e,n);case"<=":return rp(i,e,n);default:throw new TypeError(`Invalid operator: ${t}`)}};ya.exports=ap});var Ta=A((Rf,Ea)=>{"use strict";var sp=W(),lp=we(),{safeRe:It,t:Ot}=Ne(),pp=(i,t)=>{if(i instanceof sp)return i;if(typeof i=="number"&&(i=String(i)),typeof i!="string")return null;t=t||{};let e=null;if(!t.rtl)e=i.match(t.includePrerelease?It[Ot.COERCEFULL]:It[Ot.COERCE]);else{let C=t.includePrerelease?It[Ot.COERCERTLFULL]:It[Ot.COERCERTL],y;for(;(y=C.exec(i))&&(!e||e.index+e[0].length!==i.length);)(!e||y.index+y[0].length!==e.index+e[0].length)&&(e=y),C.lastIndex=y.index+y[1].length+y[2].length;C.lastIndex=-1}if(e===null)return null;let n=e[2],o=e[3]||"0",r=e[4]||"0",s=t.includePrerelease&&e[5]?`-${e[5]}`:"",d=t.includePrerelease&&e[6]?`+${e[6]}`:"";return lp(`${n}.${o}.${r}${s}${d}`,t)};Ea.exports=pp});var Sa=A((If,Ma)=>{"use strict";var cp=we(),dp=Fe(),up=W(),mp=(i,t,e)=>{if(!dp.RELEASE_TYPES.includes(t))return null;let n=fp(i,e);return n&&hp(n,t)},fp=(i,t)=>{let e=i instanceof up?i.version:i;return cp(e,t)},hp=(i,t)=>{if(_p(t))return i.version;switch(i.prerelease=[],t){case"major":i.minor=0,i.patch=0;break;case"minor":i.patch=0;break}return i.format()},_p=i=>i.startsWith("pre");Ma.exports=mp});var Pa=A((Of,Aa)=>{"use strict";var Ln=class{constructor(){this.max=1e3,this.map=new Map}get(t){let e=this.map.get(t);if(e!==void 0)return this.map.delete(t),this.map.set(t,e),e}delete(t){return this.map.delete(t)}set(t,e){if(!this.delete(t)&&e!==void 0){if(this.map.size>=this.max){let o=this.map.keys().next().value;this.delete(o)}this.map.set(t,e)}return this}};Aa.exports=Ln});var ne=A((Df,Oa)=>{"use strict";var gp=/\s+/g,Vn=class i{constructor(t,e){if(e=Cp(e),t instanceof i)return t.loose===!!e.loose&&t.includePrerelease===!!e.includePrerelease?t:new i(t.raw,e);if(t instanceof Fn)return this.raw=t.value,this.set=[[t]],this.formatted=void 0,this;if(this.options=e,this.loose=!!e.loose,this.includePrerelease=!!e.includePrerelease,this.raw=t.trim().replace(gp," "),this.set=this.raw.split("||").map(n=>this.parseRange(n.trim())).filter(n=>n.length),!this.set.length)throw new TypeError(`Invalid SemVer Range: ${this.raw}`);if(this.set.length>1){let n=this.set[0];if(this.set=this.set.filter(o=>!Ra(o[0])),this.set.length===0)this.set=[n];else if(this.set.length>1){for(let o of this.set)if(o.length===1&&Ap(o[0])){this.set=[o];break}}}this.formatted=void 0}get range(){if(this.formatted===void 0){this.formatted="";for(let t=0;t<this.set.length;t++){t>0&&(this.formatted+="||");let e=this.set[t];for(let n=0;n<e.length;n++)n>0&&(this.formatted+=" "),this.formatted+=e[n].toString().trim()}}return this.formatted}format(){return this.range}toString(){return this.range}parseRange(t){t=t.replace(Sp,"");let n=((this.options.includePrerelease&&Tp)|(this.options.loose&&Mp))+":"+t,o=ka.get(n);if(o)return o;let r=this.options.loose,s=r?Z[G.HYPHENRANGELOOSE]:Z[G.HYPHENRANGE];t=t.replace(s,Bp(this.options.includePrerelease)),D("hyphen replace",t),t=t.replace(Z[G.COMPARATORTRIM],xp),D("comparator trim",t),t=t.replace(Z[G.TILDETRIM],yp),D("tilde trim",t),t=t.replace(Z[G.CARETTRIM],Ep),D("caret trim",t);let d=t.split(" ").map(M=>Pp(M,this.options)).join(" ").split(/\s+/).map(M=>Np(M,this.options));r&&(d=d.filter(M=>(D("loose invalid filter",M,this.options),!!M.match(Z[G.COMPARATORLOOSE])))),D("range list",d);let C=new Map,y=d.map(M=>new Fn(M,this.options));for(let M of y){if(Ra(M))return[M];C.set(M.value,M)}C.size>1&&C.has("")&&C.delete("");let k=[...C.values()];return ka.set(n,k),k}intersects(t,e){if(!(t instanceof i))throw new TypeError("a Range is required");return this.set.some(n=>Ia(n,e)&&t.set.some(o=>Ia(o,e)&&n.every(r=>o.every(s=>r.intersects(s,e)))))}test(t){if(!t)return!1;if(typeof t=="string")try{t=new wp(t,this.options)}catch(e){return!1}for(let e=0;e<this.set.length;e++)if($p(this.set[e],t,this.options))return!0;return!1}};Oa.exports=Vn;var vp=Pa(),ka=new vp,Cp=yt(),Fn=Xe(),D=je(),wp=W(),{safeRe:Z,src:bp,t:G,comparatorTrimReplace:xp,tildeTrimReplace:yp,caretTrimReplace:Ep}=Ne(),{FLAG_INCLUDE_PRERELEASE:Tp,FLAG_LOOSE:Mp}=Fe(),Sp=new RegExp(bp[G.BUILD],"g"),Ra=i=>i.value==="<0.0.0-0",Ap=i=>i.value==="",Ia=(i,t)=>{let e=!0,n=i.slice(),o=n.pop();for(;e&&n.length;)e=n.every(r=>o.intersects(r,t)),o=n.pop();return e},Pp=(i,t)=>(i=i.replace(Z[G.BUILD],""),D("comp",i,t),i=Op(i,t),D("caret",i),i=Rp(i,t),D("tildes",i),i=Lp(i,t),D("xrange",i),i=Fp(i,t),D("stars",i),i),U=i=>!i||i.toLowerCase()==="x"||i==="*",kp=(i,t,e)=>U(i)&&!U(t)||U(t)&&e&&!U(e),Rp=(i,t)=>i.trim().split(/\s+/).map(e=>Ip(e,t)).join(" "),Ip=(i,t)=>{let e=t.loose?Z[G.TILDELOOSE]:Z[G.TILDE],n=t.includePrerelease?"-0":"";return i.replace(e,(o,r,s,d,C)=>{D("tilde",i,o,r,s,d,C);let y;return U(r)?y="":U(s)?y=`>=${r}.0.0${n} <${+r+1}.0.0-0`:U(d)?y=`>=${r}.${s}.0${n} <${r}.${+s+1}.0-0`:C?(D("replaceTilde pr",C),y=`>=${r}.${s}.${d}-${C} <${r}.${+s+1}.0-0`):y=`>=${r}.${s}.${d} <${r}.${+s+1}.0-0`,D("tilde return",y),y})},Op=(i,t)=>i.trim().split(/\s+/).map(e=>Dp(e,t)).join(" "),Dp=(i,t)=>{D("caret",i,t);let e=t.loose?Z[G.CARETLOOSE]:Z[G.CARET],n=t.includePrerelease?"-0":"";return i.replace(e,(o,r,s,d,C)=>{D("caret",i,o,r,s,d,C);let y;return U(r)?y="":U(s)?y=`>=${r}.0.0${n} <${+r+1}.0.0-0`:U(d)?r==="0"?y=`>=${r}.${s}.0${n} <${r}.${+s+1}.0-0`:y=`>=${r}.${s}.0${n} <${+r+1}.0.0-0`:C?(D("replaceCaret pr",C),r==="0"?s==="0"?y=`>=${r}.${s}.${d}-${C} <${r}.${s}.${+d+1}-0`:y=`>=${r}.${s}.${d}-${C} <${r}.${+s+1}.0-0`:y=`>=${r}.${s}.${d}-${C} <${+r+1}.0.0-0`):(D("no pr"),r==="0"?s==="0"?y=`>=${r}.${s}.${d} <${r}.${s}.${+d+1}-0`:y=`>=${r}.${s}.${d} <${r}.${+s+1}.0-0`:y=`>=${r}.${s}.${d} <${+r+1}.0.0-0`),D("caret return",y),y})},Lp=(i,t)=>(D("replaceXRanges",i,t),i.split(/\s+/).map(e=>Vp(e,t)).join(" ")),Vp=(i,t)=>{i=i.trim();let e=t.loose?Z[G.XRANGELOOSE]:Z[G.XRANGE];return i.replace(e,(n,o,r,s,d,C)=>{if(D("xRange",i,n,o,r,s,d,C),kp(r,s,d))return i;let y=U(r),k=y||U(s),M=k||U(d),R=M;return o==="="&&R&&(o=""),C=t.includePrerelease?"-0":"",y?o===">"||o==="<"?n="<0.0.0-0":n="*":o&&R?(k&&(s=0),d=0,o===">"?(o=">=",k?(r=+r+1,s=0,d=0):(s=+s+1,d=0)):o==="<="&&(o="<",k?r=+r+1:s=+s+1),o==="<"&&(C="-0"),n=`${o+r}.${s}.${d}${C}`):k?n=`>=${r}.0.0${C} <${+r+1}.0.0-0`:M&&(n=`>=${r}.${s}.0${C} <${r}.${+s+1}.0-0`),D("xRange return",n),n})},Fp=(i,t)=>(D("replaceStars",i,t),i.trim().replace(Z[G.STAR],"")),Np=(i,t)=>(D("replaceGTE0",i,t),i.trim().replace(Z[t.includePrerelease?G.GTE0PRE:G.GTE0],"")),Bp=i=>(t,e,n,o,r,s,d,C,y,k,M,R)=>(U(n)?e="":U(o)?e=`>=${n}.0.0${i?"-0":""}`:U(r)?e=`>=${n}.${o}.0${i?"-0":""}`:s?e=`>=${e}`:e=`>=${e}${i?"-0":""}`,U(y)?C="":U(k)?C=`<${+y+1}.0.0-0`:U(M)?C=`<${y}.${+k+1}.0-0`:R?C=`<=${y}.${k}.${M}-${R}`:i?C=`<${y}.${k}.${+M+1}-0`:C=`<=${C}`,`${e} ${C}`.trim()),$p=(i,t,e)=>{for(let n=0;n<i.length;n++)if(!i[n].test(t))return!1;if(t.prerelease.length&&!e.includePrerelease){for(let n=0;n<i.length;n++)if(D(i[n].semver),i[n].semver!==Fn.ANY&&i[n].semver.prerelease.length>0){let o=i[n].semver;if(o.major===t.major&&o.minor===t.minor&&o.patch===t.patch)return!0}return!1}return!0}});var Xe=A((Lf,Ba)=>{"use strict";var Ze=Symbol("SemVer ANY"),$n=class i{static get ANY(){return Ze}constructor(t,e){if(e=Da(e),t instanceof i){if(t.loose===!!e.loose)return t;t=t.value}t=t.trim().split(/\s+/).join(" "),Bn("comparator",t,e),this.options=e,this.loose=!!e.loose,this.parse(t),this.semver===Ze?this.value="":this.value=this.operator+this.semver.version,Bn("comp",this)}parse(t){let e=this.options.loose?La[Va.COMPARATORLOOSE]:La[Va.COMPARATOR],n=t.match(e);if(!n)throw new TypeError(`Invalid comparator: ${t}`);this.operator=n[1]!==void 0?n[1]:"",this.operator==="="&&(this.operator=""),n[2]?this.semver=new Fa(n[2],this.options.loose):this.semver=Ze}toString(){return this.value}test(t){if(Bn("Comparator.test",t,this.options.loose),this.semver===Ze||t===Ze)return!0;if(typeof t=="string")try{t=new Fa(t,this.options)}catch(e){return!1}return Nn(t,this.operator,this.semver,this.options)}intersects(t,e){if(!(t instanceof i))throw new TypeError("a Comparator is required");return this.operator===""?this.value===""?!0:new Na(t.value,e).test(this.value):t.operator===""?t.value===""?!0:new Na(this.value,e).test(t.semver):(e=Da(e),e.includePrerelease&&(this.value==="<0.0.0-0"||t.value==="<0.0.0-0")||!e.includePrerelease&&(this.value.startsWith("<0.0.0")||t.value.startsWith("<0.0.0"))?!1:!!(this.operator.startsWith(">")&&t.operator.startsWith(">")||this.operator.startsWith("<")&&t.operator.startsWith("<")||this.semver.version===t.semver.version&&this.operator.includes("=")&&t.operator.includes("=")||Nn(this.semver,"<",t.semver,e)&&this.operator.startsWith(">")&&t.operator.startsWith("<")||Nn(this.semver,">",t.semver,e)&&this.operator.startsWith("<")&&t.operator.startsWith(">")))}};Ba.exports=$n;var Da=yt(),{safeRe:La,t:Va}=Ne(),Nn=Dn(),Bn=je(),Fa=W(),Na=ne()});var Qe=A((Vf,$a)=>{"use strict";var zp=ne(),Up=(i,t,e)=>{try{t=new zp(t,e)}catch(n){return!1}return t.test(i)};$a.exports=Up});var Ua=A((Ff,za)=>{"use strict";var qp=ne(),Hp=(i,t)=>new qp(i,t).set.map(e=>e.map(n=>n.value).join(" ").trim().split(" "));za.exports=Hp});var Ha=A((Nf,qa)=>{"use strict";var Wp=W(),Gp=ne(),jp=(i,t,e)=>{let n=null,o=null,r=null;try{r=new Gp(t,e)}catch(s){return null}return i.forEach(s=>{r.test(s)&&(!n||o.compare(s)===-1)&&(n=s,o=new Wp(n,e))}),n};qa.exports=jp});var Ga=A((Bf,Wa)=>{"use strict";var Kp=W(),Xp=ne(),Zp=(i,t,e)=>{let n=null,o=null,r=null;try{r=new Xp(t,e)}catch(s){return null}return i.forEach(s=>{r.test(s)&&(!n||o.compare(s)===1)&&(n=s,o=new Kp(n,e))}),n};Wa.exports=Zp});var Xa=A(($f,Ka)=>{"use strict";var zn=W(),Qp=ne(),ja=Ke(),Yp=(i,t)=>{i=new Qp(i,t);let e=new zn("0.0.0");if(i.test(e)||(e=new zn("0.0.0-0"),i.test(e)))return e;e=null;for(let n=0;n<i.set.length;++n){let o=i.set[n],r=null;o.forEach(s=>{let d=new zn(s.semver.version);switch(s.operator){case">":d.prerelease.length===0?d.patch++:d.prerelease.push(0),d.raw=d.format();case"":case">=":(!r||ja(d,r))&&(r=d);break;case"<":case"<=":break;default:throw new Error(`Unexpected operation: ${s.operator}`)}}),r&&(!e||ja(e,r))&&(e=r)}return e&&i.test(e)?e:null};Ka.exports=Yp});var Qa=A((zf,Za)=>{"use strict";var Jp=ne(),ec=(i,t)=>{try{return new Jp(i,t).range||"*"}catch(e){return null}};Za.exports=ec});var Dt=A((Uf,ts)=>{"use strict";var tc=W(),es=Xe(),{ANY:nc}=es,ic=ne(),oc=Qe(),Ya=Ke(),Ja=Pt(),rc=Rt(),ac=kt(),sc=(i,t,e,n)=>{i=new tc(i,n),t=new ic(t,n);let o,r,s,d,C;switch(e){case">":o=Ya,r=rc,s=Ja,d=">",C=">=";break;case"<":o=Ja,r=ac,s=Ya,d="<",C="<=";break;default:throw new TypeError('Must provide a hilo val of "<" or ">"')}if(oc(i,t,n))return!1;for(let y=0;y<t.set.length;++y){let k=t.set[y],M=null,R=null;if(k.forEach(S=>{S.semver===nc&&(S=new es(">=0.0.0")),M=M||S,R=R||S,o(S.semver,M.semver,n)?M=S:s(S.semver,R.semver,n)&&(R=S)}),M.operator===d||M.operator===C||(!R.operator||R.operator===d)&&r(i,R.semver))return!1;if(R.operator===C&&s(i,R.semver))return!1}return!0};ts.exports=sc});var is=A((qf,ns)=>{"use strict";var lc=Dt(),pc=(i,t,e)=>lc(i,t,">",e);ns.exports=pc});var rs=A((Hf,os)=>{"use strict";var cc=Dt(),dc=(i,t,e)=>cc(i,t,"<",e);os.exports=dc});var ls=A((Wf,ss)=>{"use strict";var as=ne(),uc=(i,t,e)=>(i=new as(i,e),t=new as(t,e),i.intersects(t,e));ss.exports=uc});var cs=A((Gf,ps)=>{"use strict";var mc=Qe(),fc=te();ps.exports=(i,t,e)=>{let n=[],o=null,r=null,s=i.sort((k,M)=>fc(k,M,e));for(let k of s)mc(k,t,e)?(r=k,o||(o=k)):(r&&n.push([o,r]),r=null,o=null);o&&n.push([o,null]);let d=[];for(let[k,M]of n)k===M?d.push(k):!M&&k===s[0]?d.push("*"):M?k===s[0]?d.push(`<=${M}`):d.push(`${k} - ${M}`):d.push(`>=${k}`);let C=d.join(" || "),y=typeof t.raw=="string"?t.raw:String(t);return C.length<y.length?C:t}});var _s=A((jf,hs)=>{"use strict";var ds=ne(),Hn=Xe(),{ANY:Un}=Hn,qn=Qe(),Wn=te(),hc=(i,t,e={})=>{if(i===t)return!0;i=new ds(i,e),t=new ds(t,e);let n=!1;e:for(let o of i.set){for(let r of t.set){let s=gc(o,r,e);if(n=n||s!==null,s)continue e}if(n)return!1}return!0},_c=[new Hn(">=0.0.0-0")],us=[new Hn(">=0.0.0")],gc=(i,t,e)=>{if(i===t)return!0;if(i.length===1&&i[0].semver===Un){if(t.length===1&&t[0].semver===Un)return!0;e.includePrerelease?i=_c:i=us}if(t.length===1&&t[0].semver===Un){if(e.includePrerelease)return!0;t=us}let n=new Set,o,r;for(let S of i)S.operator===">"||S.operator===">="?o=ms(o,S,e):S.operator==="<"||S.operator==="<="?r=fs(r,S,e):n.add(S.semver);if(n.size>1)return null;let s;if(o&&r){if(s=Wn(o.semver,r.semver,e),s>0)return null;if(s===0&&(o.operator!==">="||r.operator!=="<="))return null}for(let S of n){if(o&&!qn(S,String(o),e)||r&&!qn(S,String(r),e))return null;for(let Wt of t)if(!qn(S,String(Wt),e))return!1;return!0}let d,C,y,k,M=r&&!e.includePrerelease&&r.semver.prerelease.length?r.semver:!1,R=o&&!e.includePrerelease&&o.semver.prerelease.length?o.semver:!1;M&&M.prerelease.length===1&&r.operator==="<"&&M.prerelease[0]===0&&(M=!1);for(let S of t){if(k=k||S.operator===">"||S.operator===">=",y=y||S.operator==="<"||S.operator==="<=",o){if(R&&S.semver.prerelease&&S.semver.prerelease.length&&S.semver.major===R.major&&S.semver.minor===R.minor&&S.semver.patch===R.patch&&(R=!1),S.operator===">"||S.operator===">="){if(d=ms(o,S,e),d===S&&d!==o)return!1}else if(o.operator===">="&&!S.test(o.semver))return!1}if(r){if(M&&S.semver.prerelease&&S.semver.prerelease.length&&S.semver.major===M.major&&S.semver.minor===M.minor&&S.semver.patch===M.patch&&(M=!1),S.operator==="<"||S.operator==="<="){if(C=fs(r,S,e),C===S&&C!==r)return!1}else if(r.operator==="<="&&!S.test(r.semver))return!1}if(!S.operator&&(r||o)&&s!==0)return!1}return!(o&&y&&!r&&s!==0||r&&k&&!o&&s!==0||R||M)},ms=(i,t,e)=>{if(!i)return t;let n=Wn(i.semver,t.semver,e);return n>0?i:n<0||t.operator===">"&&i.operator===">="?t:i},fs=(i,t,e)=>{if(!i)return t;let n=Wn(i.semver,t.semver,e);return n<0?i:n>0||t.operator==="<"&&i.operator==="<="?t:i};hs.exports=hc});var ws=A((Kf,Cs)=>{"use strict";var Gn=Ne(),gs=Fe(),vc=W(),vs=Pn(),Cc=we(),wc=Ur(),bc=Hr(),xc=jr(),yc=Zr(),Ec=Yr(),Tc=ea(),Mc=na(),Sc=oa(),Ac=te(),Pc=la(),kc=ca(),Rc=At(),Ic=fa(),Oc=_a(),Dc=Ke(),Lc=Pt(),Vc=In(),Fc=On(),Nc=kt(),Bc=Rt(),$c=Dn(),zc=Ta(),Uc=Sa(),qc=Xe(),Hc=ne(),Wc=Qe(),Gc=Ua(),jc=Ha(),Kc=Ga(),Xc=Xa(),Zc=Qa(),Qc=Dt(),Yc=is(),Jc=rs(),ed=ls(),td=cs(),nd=_s();Cs.exports={parse:Cc,valid:wc,clean:bc,inc:xc,diff:yc,major:Ec,minor:Tc,patch:Mc,prerelease:Sc,compare:Ac,rcompare:Pc,compareLoose:kc,compareBuild:Rc,sort:Ic,rsort:Oc,gt:Dc,lt:Lc,eq:Vc,neq:Fc,gte:Nc,lte:Bc,cmp:$c,coerce:zc,truncate:Uc,Comparator:qc,Range:Hc,satisfies:Wc,toComparators:Gc,maxSatisfying:jc,minSatisfying:Kc,minVersion:Xc,validRange:Zc,outside:Qc,gtr:Yc,ltr:Jc,intersects:ed,simplifyRange:td,subset:nd,SemVer:vc,re:Gn.re,src:Gn.src,tokens:Gn.t,SEMVER_SPEC_VERSION:gs.SEMVER_SPEC_VERSION,RELEASE_TYPES:gs.RELEASE_TYPES,compareIdentifiers:vs.compareIdentifiers,rcompareIdentifiers:vs.rcompareIdentifiers}});var xt=["*"],Ns=["content"],Bs=[[["mat-drawer"]],[["mat-drawer-content"]],"*"],$s=["mat-drawer","mat-drawer-content","*"];function zs(i,t){if(i&1){let e=E();a(0,"div",1),h("click",function(){m(e);let o=p();return f(o._onBackdropClicked())}),l()}if(i&2){let e=p();N("mat-drawer-shown",e._isShowingBackdrop())}}function Us(i,t){i&1&&(a(0,"mat-drawer-content"),oe(1,2),l())}var qs=[[["mat-sidenav"]],[["mat-sidenav-content"]],"*"],Hs=["mat-sidenav","mat-sidenav-content","*"];function Ws(i,t){if(i&1){let e=E();a(0,"div",1),h("click",function(){m(e);let o=p();return f(o._onBackdropClicked())}),l()}if(i&2){let e=p();N("mat-drawer-shown",e._isShowingBackdrop())}}function Gs(i,t){i&1&&(a(0,"mat-sidenav-content"),oe(1,2),l())}var js=`.mat-drawer-container {
|
|
2
|
+
position: relative;
|
|
3
|
+
z-index: 1;
|
|
4
|
+
color: var(--mat-sidenav-content-text-color, var(--mat-sys-on-background));
|
|
5
|
+
background-color: var(--mat-sidenav-content-background-color, var(--mat-sys-background));
|
|
6
|
+
box-sizing: border-box;
|
|
7
|
+
display: block;
|
|
8
|
+
overflow: hidden;
|
|
9
|
+
}
|
|
10
|
+
.mat-drawer-container[fullscreen] {
|
|
11
|
+
top: 0;
|
|
12
|
+
left: 0;
|
|
13
|
+
right: 0;
|
|
14
|
+
bottom: 0;
|
|
15
|
+
position: absolute;
|
|
16
|
+
}
|
|
17
|
+
.mat-drawer-container[fullscreen].mat-drawer-container-has-open {
|
|
18
|
+
overflow: hidden;
|
|
19
|
+
}
|
|
20
|
+
.mat-drawer-container.mat-drawer-container-explicit-backdrop .mat-drawer-side {
|
|
21
|
+
z-index: 3;
|
|
22
|
+
}
|
|
23
|
+
.mat-drawer-container.ng-animate-disabled .mat-drawer-backdrop,
|
|
24
|
+
.mat-drawer-container.ng-animate-disabled .mat-drawer-content, .ng-animate-disabled .mat-drawer-container .mat-drawer-backdrop,
|
|
25
|
+
.ng-animate-disabled .mat-drawer-container .mat-drawer-content {
|
|
26
|
+
transition: none;
|
|
27
|
+
}
|
|
28
|
+
|
|
29
|
+
.mat-drawer-backdrop {
|
|
30
|
+
top: 0;
|
|
31
|
+
left: 0;
|
|
32
|
+
right: 0;
|
|
33
|
+
bottom: 0;
|
|
34
|
+
position: absolute;
|
|
35
|
+
display: block;
|
|
36
|
+
z-index: 3;
|
|
37
|
+
visibility: hidden;
|
|
38
|
+
}
|
|
39
|
+
.mat-drawer-backdrop.mat-drawer-shown {
|
|
40
|
+
visibility: visible;
|
|
41
|
+
background-color: var(--mat-sidenav-scrim-color, color-mix(in srgb, var(--mat-sys-neutral-variant20) 40%, transparent));
|
|
42
|
+
}
|
|
43
|
+
.mat-drawer-transition .mat-drawer-backdrop {
|
|
44
|
+
transition-duration: 400ms;
|
|
45
|
+
transition-timing-function: cubic-bezier(0.25, 0.8, 0.25, 1);
|
|
46
|
+
transition-property: background-color, visibility;
|
|
47
|
+
}
|
|
48
|
+
@media (forced-colors: active) {
|
|
49
|
+
.mat-drawer-backdrop {
|
|
50
|
+
opacity: 0.5;
|
|
51
|
+
}
|
|
52
|
+
}
|
|
53
|
+
|
|
54
|
+
.mat-drawer-content {
|
|
55
|
+
position: relative;
|
|
56
|
+
z-index: 1;
|
|
57
|
+
display: block;
|
|
58
|
+
height: 100%;
|
|
59
|
+
overflow: auto;
|
|
60
|
+
}
|
|
61
|
+
.mat-drawer-content.mat-drawer-content-hidden {
|
|
62
|
+
opacity: 0;
|
|
63
|
+
}
|
|
64
|
+
.mat-drawer-transition .mat-drawer-content {
|
|
65
|
+
transition-duration: 400ms;
|
|
66
|
+
transition-timing-function: cubic-bezier(0.25, 0.8, 0.25, 1);
|
|
67
|
+
transition-property: transform, margin-left, margin-right;
|
|
68
|
+
}
|
|
69
|
+
|
|
70
|
+
.mat-drawer {
|
|
71
|
+
position: relative;
|
|
72
|
+
z-index: 4;
|
|
73
|
+
color: var(--mat-sidenav-container-text-color, var(--mat-sys-on-surface-variant));
|
|
74
|
+
box-shadow: var(--mat-sidenav-container-elevation-shadow, none);
|
|
75
|
+
background-color: var(--mat-sidenav-container-background-color, var(--mat-sys-surface));
|
|
76
|
+
border-top-right-radius: var(--mat-sidenav-container-shape, var(--mat-sys-corner-large));
|
|
77
|
+
border-bottom-right-radius: var(--mat-sidenav-container-shape, var(--mat-sys-corner-large));
|
|
78
|
+
width: var(--mat-sidenav-container-width, 360px);
|
|
79
|
+
display: block;
|
|
80
|
+
position: absolute;
|
|
81
|
+
top: 0;
|
|
82
|
+
bottom: 0;
|
|
83
|
+
z-index: 3;
|
|
84
|
+
outline: 0;
|
|
85
|
+
box-sizing: border-box;
|
|
86
|
+
overflow-y: auto;
|
|
87
|
+
transform: translate3d(-100%, 0, 0);
|
|
88
|
+
}
|
|
89
|
+
@media (forced-colors: active) {
|
|
90
|
+
.mat-drawer, [dir=rtl] .mat-drawer.mat-drawer-end {
|
|
91
|
+
border-right: solid 1px currentColor;
|
|
92
|
+
}
|
|
93
|
+
}
|
|
94
|
+
@media (forced-colors: active) {
|
|
95
|
+
[dir=rtl] .mat-drawer, .mat-drawer.mat-drawer-end {
|
|
96
|
+
border-left: solid 1px currentColor;
|
|
97
|
+
border-right: none;
|
|
98
|
+
}
|
|
99
|
+
}
|
|
100
|
+
.mat-drawer.mat-drawer-side {
|
|
101
|
+
z-index: 2;
|
|
102
|
+
}
|
|
103
|
+
.mat-drawer.mat-drawer-end {
|
|
104
|
+
right: 0;
|
|
105
|
+
transform: translate3d(100%, 0, 0);
|
|
106
|
+
border-top-left-radius: var(--mat-sidenav-container-shape, var(--mat-sys-corner-large));
|
|
107
|
+
border-bottom-left-radius: var(--mat-sidenav-container-shape, var(--mat-sys-corner-large));
|
|
108
|
+
border-top-right-radius: 0;
|
|
109
|
+
border-bottom-right-radius: 0;
|
|
110
|
+
}
|
|
111
|
+
[dir=rtl] .mat-drawer {
|
|
112
|
+
border-top-left-radius: var(--mat-sidenav-container-shape, var(--mat-sys-corner-large));
|
|
113
|
+
border-bottom-left-radius: var(--mat-sidenav-container-shape, var(--mat-sys-corner-large));
|
|
114
|
+
border-top-right-radius: 0;
|
|
115
|
+
border-bottom-right-radius: 0;
|
|
116
|
+
transform: translate3d(100%, 0, 0);
|
|
117
|
+
}
|
|
118
|
+
[dir=rtl] .mat-drawer.mat-drawer-end {
|
|
119
|
+
border-top-right-radius: var(--mat-sidenav-container-shape, var(--mat-sys-corner-large));
|
|
120
|
+
border-bottom-right-radius: var(--mat-sidenav-container-shape, var(--mat-sys-corner-large));
|
|
121
|
+
border-top-left-radius: 0;
|
|
122
|
+
border-bottom-left-radius: 0;
|
|
123
|
+
left: 0;
|
|
124
|
+
right: auto;
|
|
125
|
+
transform: translate3d(-100%, 0, 0);
|
|
126
|
+
}
|
|
127
|
+
.mat-drawer-transition .mat-drawer {
|
|
128
|
+
transition: transform 400ms cubic-bezier(0.25, 0.8, 0.25, 1);
|
|
129
|
+
}
|
|
130
|
+
.mat-drawer:not(.mat-drawer-opened):not(.mat-drawer-animating) {
|
|
131
|
+
visibility: hidden;
|
|
132
|
+
box-shadow: none;
|
|
133
|
+
}
|
|
134
|
+
.mat-drawer:not(.mat-drawer-opened):not(.mat-drawer-animating) .mat-drawer-inner-container {
|
|
135
|
+
display: none;
|
|
136
|
+
}
|
|
137
|
+
.mat-drawer.mat-drawer-opened.mat-drawer-opened {
|
|
138
|
+
transform: none;
|
|
139
|
+
}
|
|
140
|
+
|
|
141
|
+
.mat-drawer-side {
|
|
142
|
+
box-shadow: none;
|
|
143
|
+
border-right-color: var(--mat-sidenav-container-divider-color, transparent);
|
|
144
|
+
border-right-width: 1px;
|
|
145
|
+
border-right-style: solid;
|
|
146
|
+
}
|
|
147
|
+
.mat-drawer-side.mat-drawer-end {
|
|
148
|
+
border-left-color: var(--mat-sidenav-container-divider-color, transparent);
|
|
149
|
+
border-left-width: 1px;
|
|
150
|
+
border-left-style: solid;
|
|
151
|
+
border-right: none;
|
|
152
|
+
}
|
|
153
|
+
[dir=rtl] .mat-drawer-side {
|
|
154
|
+
border-left-color: var(--mat-sidenav-container-divider-color, transparent);
|
|
155
|
+
border-left-width: 1px;
|
|
156
|
+
border-left-style: solid;
|
|
157
|
+
border-right: none;
|
|
158
|
+
}
|
|
159
|
+
[dir=rtl] .mat-drawer-side.mat-drawer-end {
|
|
160
|
+
border-right-color: var(--mat-sidenav-container-divider-color, transparent);
|
|
161
|
+
border-right-width: 1px;
|
|
162
|
+
border-right-style: solid;
|
|
163
|
+
border-left: none;
|
|
164
|
+
}
|
|
165
|
+
|
|
166
|
+
.mat-drawer-inner-container {
|
|
167
|
+
width: 100%;
|
|
168
|
+
height: 100%;
|
|
169
|
+
overflow: auto;
|
|
170
|
+
}
|
|
171
|
+
|
|
172
|
+
.mat-sidenav-fixed {
|
|
173
|
+
position: fixed;
|
|
174
|
+
}
|
|
175
|
+
`;var Ks=new Kt("MAT_DRAWER_DEFAULT_AUTOSIZE",{providedIn:"root",factory:()=>!1}),Tn=new Kt("MAT_DRAWER_CONTAINER"),wt=(()=>{class i extends ke{_platform=v(at);_changeDetectorRef=v(ot);_container=v(En);constructor(){let e=v(ee),n=v(Pi),o=v(Q);super(e,n,o)}ngAfterContentInit(){this._container._contentMarginChanges.subscribe(()=>{this._changeDetectorRef.markForCheck()})}_shouldBeHidden(){if(this._platform.isBrowser)return!1;let{start:e,end:n}=this._container;return e!=null&&e.mode!=="over"&&e.opened||n!=null&&n.mode!=="over"&&n.opened}static \u0275fac=function(n){return new(n||i)};static \u0275cmp=I({type:i,selectors:[["mat-drawer-content"]],hostAttrs:[1,"mat-drawer-content"],hostVars:6,hostBindings:function(n,o){n&2&&(j("margin-left",o._container._contentMargins.left,"px")("margin-right",o._container._contentMargins.right,"px"),N("mat-drawer-content-hidden",o._shouldBeHidden()))},features:[Pe([{provide:ke,useExisting:i}]),Ue],ngContentSelectors:xt,decls:1,vars:0,template:function(n,o){n&1&&(ye(),oe(0))},encapsulation:2,changeDetection:0})}return i})(),yn=(()=>{class i{_elementRef=v(ee);_focusTrapFactory=v(Di);_focusMonitor=v(Ii);_platform=v(at);_ngZone=v(Q);_renderer=v(ai);_interactivityChecker=v(Oi);_doc=v(Ye);_container=v(Tn,{optional:!0});_focusTrap=null;_elementFocusedBeforeDrawerWasOpened=null;_eventCleanups;_isAttached=!1;_anchor=null;get position(){return this._position}set position(e){e=e==="end"?"end":"start",e!==this._position&&(this._isAttached&&this._updatePositionInParent(e),this._position=e,this.onPositionChanged.emit())}_position="start";get mode(){return this._mode}set mode(e){this._mode=e,this._updateFocusTrapState(),this._modeChanged.next()}_mode="over";get disableClose(){return this._disableClose}set disableClose(e){this._disableClose=Te(e)}_disableClose=!1;get autoFocus(){let e=this._autoFocus;return e??(this.mode==="side"?"dialog":"first-tabbable")}set autoFocus(e){(e==="true"||e==="false"||e==null)&&(e=Te(e)),this._autoFocus=e}_autoFocus;get opened(){return this._opened()}set opened(e){this.toggle(Te(e))}_opened=L(!1);_openedVia=null;_animationStarted=new ge;_animationEnd=new ge;openedChange=new Je(!0);_openedStream=this.openedChange.pipe($e(e=>e),Be(()=>{}));openedStart=this._animationStarted.pipe($e(()=>this.opened),Gt(void 0));_closedStream=this.openedChange.pipe($e(e=>!e),Be(()=>{}));closedStart=this._animationStarted.pipe($e(()=>!this.opened),Gt(void 0));_destroyed=new ge;onPositionChanged=new Je;_content;_modeChanged=new ge;_injector=v(Xt);_changeDetectorRef=v(ot);constructor(){this.openedChange.pipe(re(this._destroyed)).subscribe(e=>{e?(this._elementFocusedBeforeDrawerWasOpened=this._doc.activeElement,this._takeFocus()):this._isFocusWithinDrawer()&&this._restoreFocus(this._openedVia||"program")}),this._eventCleanups=this._ngZone.runOutsideAngular(()=>{let e=this._renderer,n=this._elementRef.nativeElement;return[e.listen(n,"keydown",o=>{o.keyCode===27&&!this.disableClose&&!Ri(o)&&this._ngZone.run(()=>{this.close(),o.stopPropagation(),o.preventDefault()})}),e.listen(n,"transitionend",this._handleTransitionEvent),e.listen(n,"transitioncancel",this._handleTransitionEvent)]}),this._animationEnd.subscribe(()=>{this.openedChange.emit(this.opened)})}_forceFocus(e,n){this._interactivityChecker.isFocusable(e)||(e.tabIndex=-1,this._ngZone.runOutsideAngular(()=>{let o=()=>{r(),s(),e.removeAttribute("tabindex")},r=this._renderer.listen(e,"blur",o),s=this._renderer.listen(e,"mousedown",o)})),e.focus(n)}_focusByCssSelector(e,n){let o=this._elementRef.nativeElement.querySelector(e);o&&this._forceFocus(o,n)}_takeFocus(){if(!this._focusTrap)return;let e=this._elementRef.nativeElement;switch(this.autoFocus){case!1:case"dialog":return;case!0:case"first-tabbable":Zt(()=>{!this._focusTrap.focusInitialElement()&&typeof e.focus=="function"&&e.focus()},{injector:this._injector});break;case"first-heading":this._focusByCssSelector('h1, h2, h3, h4, h5, h6, [role="heading"]');break;default:this._focusByCssSelector(this.autoFocus);break}}_restoreFocus(e){this.autoFocus!=="dialog"&&(this._elementFocusedBeforeDrawerWasOpened?this._focusMonitor.focusVia(this._elementFocusedBeforeDrawerWasOpened,e):this._elementRef.nativeElement.blur(),this._elementFocusedBeforeDrawerWasOpened=null)}_isFocusWithinDrawer(){let e=this._doc.activeElement;return!!e&&this._elementRef.nativeElement.contains(e)}ngAfterViewInit(){this._isAttached=!0,this._position==="end"&&this._updatePositionInParent("end"),this._platform.isBrowser&&(this._focusTrap=this._focusTrapFactory.create(this._elementRef.nativeElement),this._updateFocusTrapState())}ngOnDestroy(){this._eventCleanups.forEach(e=>e()),this._focusTrap?.destroy(),this._anchor?.remove(),this._anchor=null,this._animationStarted.complete(),this._animationEnd.complete(),this._modeChanged.complete(),this._destroyed.next(),this._destroyed.complete()}open(e){return this.toggle(!0,e)}close(){return this.toggle(!1)}_closeViaBackdropClick(){return this._setOpen(!1,!0,"mouse")}toggle(e=!this.opened,n){e&&n&&(this._openedVia=n);let o=this._setOpen(e,!e&&this._isFocusWithinDrawer(),this._openedVia||"program");return e||(this._openedVia=null),o}_setOpen(e,n,o){return e===this.opened?Promise.resolve(e?"open":"close"):(this._opened.set(e),this._container?._transitionsEnabled?(this._setIsAnimating(!0),setTimeout(()=>this._animationStarted.next())):setTimeout(()=>{this._animationStarted.next(),this._animationEnd.next()}),this._elementRef.nativeElement.classList.toggle("mat-drawer-opened",e),!e&&n&&this._restoreFocus(o),this._changeDetectorRef.markForCheck(),this._updateFocusTrapState(),new Promise(r=>{this.openedChange.pipe(ei(1)).subscribe(s=>r(s?"open":"close"))}))}_setIsAnimating(e){this._elementRef.nativeElement.classList.toggle("mat-drawer-animating",e)}_getWidth(){return this._elementRef.nativeElement.offsetWidth||0}_updateFocusTrapState(){this._focusTrap&&(this._focusTrap.enabled=this.opened&&!!this._container?._isShowingBackdrop())}_updatePositionInParent(e){if(!this._platform.isBrowser)return;let n=this._elementRef.nativeElement,o=n.parentNode;e==="end"?(this._anchor||(this._anchor=this._doc.createComment("mat-drawer-anchor"),o.insertBefore(this._anchor,n)),o.appendChild(n)):this._anchor&&this._anchor.parentNode.insertBefore(n,this._anchor)}_handleTransitionEvent=e=>{let n=this._elementRef.nativeElement;e.target===n&&this._ngZone.run(()=>{e.type==="transitionend"&&this._setIsAnimating(!1),this._animationEnd.next(e)})};static \u0275fac=function(n){return new(n||i)};static \u0275cmp=I({type:i,selectors:[["mat-drawer"]],viewQuery:function(n,o){if(n&1&&J(Ns,5),n&2){let r;V(r=F())&&(o._content=r.first)}},hostAttrs:[1,"mat-drawer"],hostVars:12,hostBindings:function(n,o){n&2&&(Y("align",null)("tabIndex",o.mode!=="side"?"-1":null),j("visibility",!o._container&&!o.opened?"hidden":null),N("mat-drawer-end",o.position==="end")("mat-drawer-over",o.mode==="over")("mat-drawer-push",o.mode==="push")("mat-drawer-side",o.mode==="side"))},inputs:{position:"position",mode:"mode",disableClose:"disableClose",autoFocus:"autoFocus",opened:"opened"},outputs:{openedChange:"openedChange",_openedStream:"opened",openedStart:"openedStart",_closedStream:"closed",closedStart:"closedStart",onPositionChanged:"positionChanged"},exportAs:["matDrawer"],ngContentSelectors:xt,decls:3,vars:0,consts:[["content",""],["cdkScrollable","",1,"mat-drawer-inner-container"]],template:function(n,o){n&1&&(ye(),a(0,"div",1,0),oe(2),l())},dependencies:[ke],encapsulation:2,changeDetection:0})}return i})(),En=(()=>{class i{_dir=v(Si,{optional:!0});_element=v(ee);_ngZone=v(Q);_changeDetectorRef=v(ot);_animationDisabled=Vi();_transitionsEnabled=!1;_allDrawers;_drawers=new ii;_content;_userContent;get start(){return this._start}get end(){return this._end}get autosize(){return this._autosize}set autosize(e){this._autosize=Te(e)}_autosize=v(Ks);get hasBackdrop(){return this._drawerHasBackdrop(this._start)||this._drawerHasBackdrop(this._end)}set hasBackdrop(e){this._backdropOverride=e==null?null:Te(e)}_backdropOverride=null;backdropClick=new Je;_start=null;_end=null;_left=null;_right=null;_destroyed=new ge;_doCheckSubject=new ge;_contentMargins={left:null,right:null};_contentMarginChanges=new ge;get scrollable(){return this._userContent||this._content}_injector=v(Xt);constructor(){let e=v(at),n=v(ki);this._dir?.change.pipe(re(this._destroyed)).subscribe(()=>{this._validateDrawers(),this.updateContentMargins()}),n.change().pipe(re(this._destroyed)).subscribe(()=>this.updateContentMargins()),!this._animationDisabled&&e.isBrowser&&this._ngZone.runOutsideAngular(()=>{setTimeout(()=>{this._element.nativeElement.classList.add("mat-drawer-transition"),this._transitionsEnabled=!0},200)})}ngAfterContentInit(){this._allDrawers.changes.pipe(jt(this._allDrawers),re(this._destroyed)).subscribe(e=>{this._drawers.reset(e.filter(n=>!n._container||n._container===this)),this._drawers.notifyOnChanges()}),this._drawers.changes.pipe(jt(null)).subscribe(()=>{this._validateDrawers(),this._drawers.forEach(e=>{this._watchDrawerToggle(e),this._watchDrawerPosition(e),this._watchDrawerMode(e)}),(!this._drawers.length||this._isDrawerOpen(this._start)||this._isDrawerOpen(this._end))&&this.updateContentMargins(),this._changeDetectorRef.markForCheck()}),this._ngZone.runOutsideAngular(()=>{this._doCheckSubject.pipe(Jn(10),re(this._destroyed)).subscribe(()=>this.updateContentMargins())})}ngOnDestroy(){this._contentMarginChanges.complete(),this._doCheckSubject.complete(),this._drawers.destroy(),this._destroyed.next(),this._destroyed.complete()}open(){this._drawers.forEach(e=>e.open())}close(){this._drawers.forEach(e=>e.close())}updateContentMargins(){let e=0,n=0;if(this._left&&this._left.opened){if(this._left.mode=="side")e+=this._left._getWidth();else if(this._left.mode=="push"){let o=this._left._getWidth();e+=o,n-=o}}if(this._right&&this._right.opened){if(this._right.mode=="side")n+=this._right._getWidth();else if(this._right.mode=="push"){let o=this._right._getWidth();n+=o,e-=o}}e=e||null,n=n||null,(e!==this._contentMargins.left||n!==this._contentMargins.right)&&(this._contentMargins={left:e,right:n},this._ngZone.run(()=>this._contentMarginChanges.next(this._contentMargins)))}ngDoCheck(){this._autosize&&this._isPushed()&&this._ngZone.runOutsideAngular(()=>this._doCheckSubject.next())}_watchDrawerToggle(e){e._animationStarted.pipe(re(this._drawers.changes)).subscribe(()=>{this.updateContentMargins(),this._changeDetectorRef.markForCheck()}),e.mode!=="side"&&e.openedChange.pipe(re(this._drawers.changes)).subscribe(()=>this._setContainerClass(e.opened))}_watchDrawerPosition(e){e.onPositionChanged.pipe(re(this._drawers.changes)).subscribe(()=>{Zt({read:()=>this._validateDrawers()},{injector:this._injector})})}_watchDrawerMode(e){e._modeChanged.pipe(re(Yn(this._drawers.changes,this._destroyed))).subscribe(()=>{this.updateContentMargins(),this._changeDetectorRef.markForCheck()})}_setContainerClass(e){let n=this._element.nativeElement.classList,o="mat-drawer-container-has-open";e?n.add(o):n.remove(o)}_validateDrawers(){this._start=this._end=null,this._drawers.forEach(e=>{e.position=="end"?(this._end!=null,this._end=e):(this._start!=null,this._start=e)}),this._right=this._left=null,this._dir&&this._dir.value==="rtl"?(this._left=this._end,this._right=this._start):(this._left=this._start,this._right=this._end)}_isPushed(){return this._isDrawerOpen(this._start)&&this._start.mode!="over"||this._isDrawerOpen(this._end)&&this._end.mode!="over"}_onBackdropClicked(){this.backdropClick.emit(),this._closeModalDrawersViaBackdrop()}_closeModalDrawersViaBackdrop(){[this._start,this._end].filter(e=>e&&!e.disableClose&&this._drawerHasBackdrop(e)).forEach(e=>e._closeViaBackdropClick())}_isShowingBackdrop(){return this._isDrawerOpen(this._start)&&this._drawerHasBackdrop(this._start)||this._isDrawerOpen(this._end)&&this._drawerHasBackdrop(this._end)}_isDrawerOpen(e){return e!=null&&e.opened}_drawerHasBackdrop(e){return this._backdropOverride==null?!!e&&e.mode!=="side":this._backdropOverride}static \u0275fac=function(n){return new(n||i)};static \u0275cmp=I({type:i,selectors:[["mat-drawer-container"]],contentQueries:function(n,o,r){if(n&1&&Qt(r,wt,5)(r,yn,5),n&2){let s;V(s=F())&&(o._content=s.first),V(s=F())&&(o._allDrawers=s)}},viewQuery:function(n,o){if(n&1&&J(wt,5),n&2){let r;V(r=F())&&(o._userContent=r.first)}},hostAttrs:[1,"mat-drawer-container"],hostVars:2,hostBindings:function(n,o){n&2&&N("mat-drawer-container-explicit-backdrop",o._backdropOverride)},inputs:{autosize:"autosize",hasBackdrop:"hasBackdrop"},outputs:{backdropClick:"backdropClick"},exportAs:["matDrawerContainer"],features:[Pe([{provide:Tn,useExisting:i}])],ngContentSelectors:$s,decls:4,vars:2,consts:[[1,"mat-drawer-backdrop",3,"mat-drawer-shown"],[1,"mat-drawer-backdrop",3,"click"]],template:function(n,o){n&1&&(ye(Bs),_(0,zs,1,2,"div",0),oe(1),oe(2,1),_(3,Us,2,0,"mat-drawer-content")),n&2&&(g(o.hasBackdrop?0:-1),c(3),g(o._content?-1:3))},dependencies:[wt],styles:[`.mat-drawer-container {
|
|
176
|
+
position: relative;
|
|
177
|
+
z-index: 1;
|
|
178
|
+
color: var(--mat-sidenav-content-text-color, var(--mat-sys-on-background));
|
|
179
|
+
background-color: var(--mat-sidenav-content-background-color, var(--mat-sys-background));
|
|
180
|
+
box-sizing: border-box;
|
|
181
|
+
display: block;
|
|
182
|
+
overflow: hidden;
|
|
183
|
+
}
|
|
184
|
+
.mat-drawer-container[fullscreen] {
|
|
185
|
+
top: 0;
|
|
186
|
+
left: 0;
|
|
187
|
+
right: 0;
|
|
188
|
+
bottom: 0;
|
|
189
|
+
position: absolute;
|
|
190
|
+
}
|
|
191
|
+
.mat-drawer-container[fullscreen].mat-drawer-container-has-open {
|
|
192
|
+
overflow: hidden;
|
|
193
|
+
}
|
|
194
|
+
.mat-drawer-container.mat-drawer-container-explicit-backdrop .mat-drawer-side {
|
|
195
|
+
z-index: 3;
|
|
196
|
+
}
|
|
197
|
+
.mat-drawer-container.ng-animate-disabled .mat-drawer-backdrop,
|
|
198
|
+
.mat-drawer-container.ng-animate-disabled .mat-drawer-content, .ng-animate-disabled .mat-drawer-container .mat-drawer-backdrop,
|
|
199
|
+
.ng-animate-disabled .mat-drawer-container .mat-drawer-content {
|
|
200
|
+
transition: none;
|
|
201
|
+
}
|
|
202
|
+
|
|
203
|
+
.mat-drawer-backdrop {
|
|
204
|
+
top: 0;
|
|
205
|
+
left: 0;
|
|
206
|
+
right: 0;
|
|
207
|
+
bottom: 0;
|
|
208
|
+
position: absolute;
|
|
209
|
+
display: block;
|
|
210
|
+
z-index: 3;
|
|
211
|
+
visibility: hidden;
|
|
212
|
+
}
|
|
213
|
+
.mat-drawer-backdrop.mat-drawer-shown {
|
|
214
|
+
visibility: visible;
|
|
215
|
+
background-color: var(--mat-sidenav-scrim-color, color-mix(in srgb, var(--mat-sys-neutral-variant20) 40%, transparent));
|
|
216
|
+
}
|
|
217
|
+
.mat-drawer-transition .mat-drawer-backdrop {
|
|
218
|
+
transition-duration: 400ms;
|
|
219
|
+
transition-timing-function: cubic-bezier(0.25, 0.8, 0.25, 1);
|
|
220
|
+
transition-property: background-color, visibility;
|
|
221
|
+
}
|
|
222
|
+
@media (forced-colors: active) {
|
|
223
|
+
.mat-drawer-backdrop {
|
|
224
|
+
opacity: 0.5;
|
|
225
|
+
}
|
|
226
|
+
}
|
|
227
|
+
|
|
228
|
+
.mat-drawer-content {
|
|
229
|
+
position: relative;
|
|
230
|
+
z-index: 1;
|
|
231
|
+
display: block;
|
|
232
|
+
height: 100%;
|
|
233
|
+
overflow: auto;
|
|
234
|
+
}
|
|
235
|
+
.mat-drawer-content.mat-drawer-content-hidden {
|
|
236
|
+
opacity: 0;
|
|
237
|
+
}
|
|
238
|
+
.mat-drawer-transition .mat-drawer-content {
|
|
239
|
+
transition-duration: 400ms;
|
|
240
|
+
transition-timing-function: cubic-bezier(0.25, 0.8, 0.25, 1);
|
|
241
|
+
transition-property: transform, margin-left, margin-right;
|
|
242
|
+
}
|
|
243
|
+
|
|
244
|
+
.mat-drawer {
|
|
245
|
+
position: relative;
|
|
246
|
+
z-index: 4;
|
|
247
|
+
color: var(--mat-sidenav-container-text-color, var(--mat-sys-on-surface-variant));
|
|
248
|
+
box-shadow: var(--mat-sidenav-container-elevation-shadow, none);
|
|
249
|
+
background-color: var(--mat-sidenav-container-background-color, var(--mat-sys-surface));
|
|
250
|
+
border-top-right-radius: var(--mat-sidenav-container-shape, var(--mat-sys-corner-large));
|
|
251
|
+
border-bottom-right-radius: var(--mat-sidenav-container-shape, var(--mat-sys-corner-large));
|
|
252
|
+
width: var(--mat-sidenav-container-width, 360px);
|
|
253
|
+
display: block;
|
|
254
|
+
position: absolute;
|
|
255
|
+
top: 0;
|
|
256
|
+
bottom: 0;
|
|
257
|
+
z-index: 3;
|
|
258
|
+
outline: 0;
|
|
259
|
+
box-sizing: border-box;
|
|
260
|
+
overflow-y: auto;
|
|
261
|
+
transform: translate3d(-100%, 0, 0);
|
|
262
|
+
}
|
|
263
|
+
@media (forced-colors: active) {
|
|
264
|
+
.mat-drawer, [dir=rtl] .mat-drawer.mat-drawer-end {
|
|
265
|
+
border-right: solid 1px currentColor;
|
|
266
|
+
}
|
|
267
|
+
}
|
|
268
|
+
@media (forced-colors: active) {
|
|
269
|
+
[dir=rtl] .mat-drawer, .mat-drawer.mat-drawer-end {
|
|
270
|
+
border-left: solid 1px currentColor;
|
|
271
|
+
border-right: none;
|
|
272
|
+
}
|
|
273
|
+
}
|
|
274
|
+
.mat-drawer.mat-drawer-side {
|
|
275
|
+
z-index: 2;
|
|
276
|
+
}
|
|
277
|
+
.mat-drawer.mat-drawer-end {
|
|
278
|
+
right: 0;
|
|
279
|
+
transform: translate3d(100%, 0, 0);
|
|
280
|
+
border-top-left-radius: var(--mat-sidenav-container-shape, var(--mat-sys-corner-large));
|
|
281
|
+
border-bottom-left-radius: var(--mat-sidenav-container-shape, var(--mat-sys-corner-large));
|
|
282
|
+
border-top-right-radius: 0;
|
|
283
|
+
border-bottom-right-radius: 0;
|
|
284
|
+
}
|
|
285
|
+
[dir=rtl] .mat-drawer {
|
|
286
|
+
border-top-left-radius: var(--mat-sidenav-container-shape, var(--mat-sys-corner-large));
|
|
287
|
+
border-bottom-left-radius: var(--mat-sidenav-container-shape, var(--mat-sys-corner-large));
|
|
288
|
+
border-top-right-radius: 0;
|
|
289
|
+
border-bottom-right-radius: 0;
|
|
290
|
+
transform: translate3d(100%, 0, 0);
|
|
291
|
+
}
|
|
292
|
+
[dir=rtl] .mat-drawer.mat-drawer-end {
|
|
293
|
+
border-top-right-radius: var(--mat-sidenav-container-shape, var(--mat-sys-corner-large));
|
|
294
|
+
border-bottom-right-radius: var(--mat-sidenav-container-shape, var(--mat-sys-corner-large));
|
|
295
|
+
border-top-left-radius: 0;
|
|
296
|
+
border-bottom-left-radius: 0;
|
|
297
|
+
left: 0;
|
|
298
|
+
right: auto;
|
|
299
|
+
transform: translate3d(-100%, 0, 0);
|
|
300
|
+
}
|
|
301
|
+
.mat-drawer-transition .mat-drawer {
|
|
302
|
+
transition: transform 400ms cubic-bezier(0.25, 0.8, 0.25, 1);
|
|
303
|
+
}
|
|
304
|
+
.mat-drawer:not(.mat-drawer-opened):not(.mat-drawer-animating) {
|
|
305
|
+
visibility: hidden;
|
|
306
|
+
box-shadow: none;
|
|
307
|
+
}
|
|
308
|
+
.mat-drawer:not(.mat-drawer-opened):not(.mat-drawer-animating) .mat-drawer-inner-container {
|
|
309
|
+
display: none;
|
|
310
|
+
}
|
|
311
|
+
.mat-drawer.mat-drawer-opened.mat-drawer-opened {
|
|
312
|
+
transform: none;
|
|
313
|
+
}
|
|
314
|
+
|
|
315
|
+
.mat-drawer-side {
|
|
316
|
+
box-shadow: none;
|
|
317
|
+
border-right-color: var(--mat-sidenav-container-divider-color, transparent);
|
|
318
|
+
border-right-width: 1px;
|
|
319
|
+
border-right-style: solid;
|
|
320
|
+
}
|
|
321
|
+
.mat-drawer-side.mat-drawer-end {
|
|
322
|
+
border-left-color: var(--mat-sidenav-container-divider-color, transparent);
|
|
323
|
+
border-left-width: 1px;
|
|
324
|
+
border-left-style: solid;
|
|
325
|
+
border-right: none;
|
|
326
|
+
}
|
|
327
|
+
[dir=rtl] .mat-drawer-side {
|
|
328
|
+
border-left-color: var(--mat-sidenav-container-divider-color, transparent);
|
|
329
|
+
border-left-width: 1px;
|
|
330
|
+
border-left-style: solid;
|
|
331
|
+
border-right: none;
|
|
332
|
+
}
|
|
333
|
+
[dir=rtl] .mat-drawer-side.mat-drawer-end {
|
|
334
|
+
border-right-color: var(--mat-sidenav-container-divider-color, transparent);
|
|
335
|
+
border-right-width: 1px;
|
|
336
|
+
border-right-style: solid;
|
|
337
|
+
border-left: none;
|
|
338
|
+
}
|
|
339
|
+
|
|
340
|
+
.mat-drawer-inner-container {
|
|
341
|
+
width: 100%;
|
|
342
|
+
height: 100%;
|
|
343
|
+
overflow: auto;
|
|
344
|
+
}
|
|
345
|
+
|
|
346
|
+
.mat-sidenav-fixed {
|
|
347
|
+
position: fixed;
|
|
348
|
+
}
|
|
349
|
+
`],encapsulation:2,changeDetection:0})}return i})(),bt=(()=>{class i extends wt{static \u0275fac=(()=>{let e;return function(o){return(e||(e=et(i)))(o||i)}})();static \u0275cmp=I({type:i,selectors:[["mat-sidenav-content"]],hostAttrs:[1,"mat-drawer-content","mat-sidenav-content"],features:[Pe([{provide:ke,useExisting:i}]),Ue],ngContentSelectors:xt,decls:1,vars:0,template:function(n,o){n&1&&(ye(),oe(0))},encapsulation:2,changeDetection:0})}return i})(),Mn=(()=>{class i extends yn{get fixedInViewport(){return this._fixedInViewport}set fixedInViewport(e){this._fixedInViewport=Te(e)}_fixedInViewport=!1;get fixedTopGap(){return this._fixedTopGap}set fixedTopGap(e){this._fixedTopGap=tn(e)}_fixedTopGap=0;get fixedBottomGap(){return this._fixedBottomGap}set fixedBottomGap(e){this._fixedBottomGap=tn(e)}_fixedBottomGap=0;static \u0275fac=(()=>{let e;return function(o){return(e||(e=et(i)))(o||i)}})();static \u0275cmp=I({type:i,selectors:[["mat-sidenav"]],hostAttrs:[1,"mat-drawer","mat-sidenav"],hostVars:16,hostBindings:function(n,o){n&2&&(Y("tabIndex",o.mode!=="side"?"-1":null)("align",null),j("top",o.fixedInViewport?o.fixedTopGap:null,"px")("bottom",o.fixedInViewport?o.fixedBottomGap:null,"px"),N("mat-drawer-end",o.position==="end")("mat-drawer-over",o.mode==="over")("mat-drawer-push",o.mode==="push")("mat-drawer-side",o.mode==="side")("mat-sidenav-fixed",o.fixedInViewport))},inputs:{fixedInViewport:"fixedInViewport",fixedTopGap:"fixedTopGap",fixedBottomGap:"fixedBottomGap"},exportAs:["matSidenav"],features:[Pe([{provide:yn,useExisting:i}]),Ue],ngContentSelectors:xt,decls:3,vars:0,consts:[["content",""],["cdkScrollable","",1,"mat-drawer-inner-container"]],template:function(n,o){n&1&&(ye(),a(0,"div",1,0),oe(2),l())},dependencies:[ke],encapsulation:2,changeDetection:0})}return i})(),Sr=(()=>{class i extends En{_allDrawers=void 0;_content=void 0;static \u0275fac=(()=>{let e;return function(o){return(e||(e=et(i)))(o||i)}})();static \u0275cmp=I({type:i,selectors:[["mat-sidenav-container"]],contentQueries:function(n,o,r){if(n&1&&Qt(r,bt,5)(r,Mn,5),n&2){let s;V(s=F())&&(o._content=s.first),V(s=F())&&(o._allDrawers=s)}},hostAttrs:[1,"mat-drawer-container","mat-sidenav-container"],hostVars:2,hostBindings:function(n,o){n&2&&N("mat-drawer-container-explicit-backdrop",o._backdropOverride)},exportAs:["matSidenavContainer"],features:[Pe([{provide:Tn,useExisting:i},{provide:En,useExisting:i}]),Ue],ngContentSelectors:Hs,decls:4,vars:2,consts:[[1,"mat-drawer-backdrop",3,"mat-drawer-shown"],[1,"mat-drawer-backdrop",3,"click"]],template:function(n,o){n&1&&(ye(qs),_(0,Ws,1,2,"div",0),oe(1),oe(2,1),_(3,Gs,2,0,"mat-sidenav-content")),n&2&&(g(o.hasBackdrop?0:-1),c(3),g(o._content?-1:3))},dependencies:[bt],styles:[js],encapsulation:2,changeDetection:0})}return i})(),Ar=(()=>{class i{static \u0275fac=function(n){return new(n||i)};static \u0275mod=si({type:i});static \u0275inj=ni({imports:[nn,Ai,nn]})}return i})();function Pr(i){if(!((i.ctrlKey||i.metaKey)&&!i.shiftKey&&i.key.toLowerCase()==="z"))return!1;let e=i.target,n=e?.tagName;return!(n==="INPUT"||n==="TEXTAREA"||n==="SELECT"||e?.isContentEditable)}var Zn=Vs(ws(),1);function jn(i){let t=[];for(let e of i)for(let n of e.events)t.push(`${e.id}:${n.pr}`);return t}function bs(i,t){if(!Array.isArray(t))return i;let e=new Set(t.filter(n=>typeof n=="string"));return i.filter(n=>!e.has(n))}var xs="fb-whats-new-seen",Lt=class i{corpus=v(Mr);_hasUnseen=L(!1);hasUnseen=this._hasUnseen.asReadonly();init(){return B(this,null,function*(){let t=yield this.corpus.load(),e=bs(jn(t),this.readSeen());this._hasUnseen.set(e.length>0)})}markAllSeen(){return B(this,null,function*(){let t=yield this.corpus.load();this.writeSeen(jn(t)),this._hasUnseen.set(!1)})}readSeen(){try{let t=localStorage.getItem(xs);return t===null?null:JSON.parse(t)}catch(t){return null}}writeSeen(t){try{localStorage.setItem(xs,JSON.stringify(t))}catch(e){}}static \u0275fac=function(e){return new(e||i)};static \u0275prov=ti({token:i,factory:i.\u0275fac,providedIn:"root"})};var rd=["frame"],Vt=class i{constructor(t,e){this.service=t;this.sanitizer=e}service;sanitizer;placed=K.required();frame;url;detach=null;ngOnInit(){let t=this.service.widgetDef(this.placed().extension,this.placed().widget);this.url=this.sanitizer.bypassSecurityTrustResourceUrl(t?.url?this.service.resolveAssetUrl(t.url):"about:blank"),this.detach=this.service.attachWidget(this.frame.nativeElement,this.placed())}onFrameLoad(){}ngOnDestroy(){this.detach?.(),this.detach=null}static \u0275fac=function(e){return new(e||i)(Se(X),Se(ce))};static \u0275cmp=I({type:i,selectors:[["fb-plotterext-widget"]],viewQuery:function(e,n){if(e&1&&J(rd,7),e&2){let o;V(o=F())&&(n.frame=o.first)}},inputs:{placed:[1,"placed"]},decls:2,vars:2,consts:[["frame",""],["sandbox","allow-scripts allow-same-origin allow-forms",3,"load","src","title"]],template:function(e,n){e&1&&(li(0,"iframe",1,0),ci("load",function(){return n.onFrameLoad()}),pi()),e&2&&Ae("src",n.url,ae)("title",n.placed().widget)},styles:["[_nghost-%COMP%]{display:block;width:100%;height:100%}iframe[_ngcontent-%COMP%]{display:block;width:100%;height:100%;border:none;background:transparent}"]})};var ad=(i,t)=>t.type+t.extension,sd=(i,t)=>t.instanceId;function ld(i,t){if(i&1){let e=E();a(0,"div",3)(1,"mat-icon",4),u(2,"filter_alt"),l(),a(3,"span",5),u(4),l(),a(5,"button",6),h("click",function(){let o=m(e).$implicit,r=p(2);return f(r.clearChip(o))}),a(6,"mat-icon"),u(7,"close"),l()()()}if(i&2){let e=t.$implicit;c(4),z(e.label)}}function pd(i,t){if(i&1&&(a(0,"div",2),q(1,ld,8,1,"div",3,ad),l()),i&2){let e=p();N("pe-chips-low",e.byAnchor().ct.length>0),c(),H(e.service.filterChips())}}function cd(i,t){if(i&1&&(a(0,"div",9),T(1,"fb-plotterext-widget",10),l()),i&2){let e=t.$implicit,n=p(2);Yt(n.cellStyle(e)),c(),w("placed",e)}}function dd(i,t){if(i&1&&(a(0,"div",7),q(1,cd,2,3,"div",8,sd),l()),i&2){let e=t.$implicit,n=p();Yt(n.anchorStyle(e)),it("pe-"+e),Y("data-anchor",e),c(),H(n.byAnchor()[e])}}var ud=1500,ys=8,Ft=class i{anchors=pn;byAnchor=O(()=>{let t={};for(let e of pn)t[e]=[];for(let e of this.service.activeWidgets())t[e.anchor]?.push(e);return t});service=v(X);zone=v(Q);host=v(ee);holdTimer=null;downPoint=null;onPointerDown=t=>this.pointerDown(t);onPointerMove=t=>this.pointerMove(t);onPointerEnd=()=>this.cancelHold();unregisterHitTester=null;ngOnInit(){this.unregisterHitTester=this.service.registerHitTester((t,e)=>this.hitTest(t,e)),this.zone.runOutsideAngular(()=>{document.addEventListener("pointerdown",this.onPointerDown,!0),document.addEventListener("pointermove",this.onPointerMove,!0),document.addEventListener("pointerup",this.onPointerEnd,!0),document.addEventListener("pointercancel",this.onPointerEnd,!0)})}ngOnDestroy(){this.cancelHold(),this.unregisterHitTester?.(),this.unregisterHitTester=null,document.removeEventListener("pointerdown",this.onPointerDown,!0),document.removeEventListener("pointermove",this.onPointerMove,!0),document.removeEventListener("pointerup",this.onPointerEnd,!0),document.removeEventListener("pointercancel",this.onPointerEnd,!0)}anchorStyle(t){let e={"grid-template-columns":`repeat(${cn[t].cols}, var(--pe-cell-w))`};if(t!=="ct"&&t!=="cb")return e;let n=new Set;for(let r of this.byAnchor()[t]??[]){let s=this.service.widgetDef(r.extension,r.widget),{cols:d}=dn(s?.size??"1x1");for(let C=r.col;C<r.col+d&&C<2;C++)n.add(C)}let o="0px";return n.size===1&&(o=n.has(0)?"calc((var(--pe-cell-w) + var(--pe-gap)) / 2)":"calc((var(--pe-cell-w) + var(--pe-gap)) / -2)"),e["--pe-center-shift"]=o,e}cellStyle(t){let e=this.service.widgetDef(t.extension,t.widget),{cols:n,rows:o}=dn(e?.size??"1x1");return{"grid-column":`${t.col+1} / span ${n}`,"grid-row":`${t.row+1} / span ${o}`}}clearChip(t){this.service.clearResourceFilter(t.extension,t.type)}pointerDown(t){if(this.cancelHold(),!t.isPrimary||t.pointerType==="mouse"&&t.button!==0||t.target?.closest(".cdk-overlay-container, mat-dialog-container, button, mat-toolbar, .pe-cell, .pe-chips, .fb-pe-window, .fb-pe-window-backdrop, [fbMovablePanel]"))return;let n=this.hitTest(t.clientX,t.clientY);n&&(this.service.cellOccupied(n.anchor,n.cell)||(this.downPoint={x:t.clientX,y:t.clientY},this.holdTimer=setTimeout(()=>{this.holdTimer=null,this.zone.run(()=>this.service.openAddWidgetPicker(n.anchor,n.cell))},ud)))}pointerMove(t){if(!this.holdTimer||!this.downPoint)return;let e=t.clientX-this.downPoint.x,n=t.clientY-this.downPoint.y;e*e+n*n>ys*ys&&this.cancelHold()}cancelHold(){this.holdTimer&&clearTimeout(this.holdTimer),this.holdTimer=null,this.downPoint=null}hitTest(t,e){let n=this.host.nativeElement.querySelectorAll(".pe-anchor");for(let o of Array.from(n)){let r=o.getBoundingClientRect();if(t<r.left||t>r.right||e<r.top||e>r.bottom)continue;let s=o.dataset.anchor,{cols:d,rows:C}=cn[s],y=Math.min(d-1,Math.max(0,Math.floor((t-r.left)/r.width*d))),k=Math.min(C-1,Math.max(0,Math.floor((e-r.top)/r.height*C)));return{anchor:s,cell:{col:y,row:k}}}return null}static \u0275fac=function(e){return new(e||i)};static \u0275cmp=I({type:i,selectors:[["fb-plotterext-overlay"]],decls:3,vars:1,consts:[[1,"pe-chips",3,"pe-chips-low"],[1,"pe-anchor",3,"class","style"],[1,"pe-chips"],[1,"pe-chip"],[1,"pe-chip-icon"],[1,"pe-chip-label"],["aria-label","Clear filter",1,"pe-chip-clear",3,"click"],[1,"pe-anchor"],[1,"pe-cell",3,"style"],[1,"pe-cell"],[3,"placed"]],template:function(e,n){e&1&&(_(0,pd,3,2,"div",0),q(1,dd,3,5,"div",1,xe)),e&2&&(g(n.service.filterChips().length?0:-1),c(),H(n.anchors))},dependencies:[Vt,ue,de],styles:["[_nghost-%COMP%]{position:absolute;inset:0;z-index:2000;pointer-events:none;--pe-cell-w: clamp(96px, 11vw, 150px);--pe-cell-h: clamp(84px, 9.5vw, 124px);--pe-gap: 6px;--pe-margin: 10px}.pe-anchor[_ngcontent-%COMP%]{position:absolute;display:grid;grid-template-rows:repeat(2,var(--pe-cell-h));gap:var(--pe-gap);pointer-events:none}.pe-tr[_ngcontent-%COMP%]{top:0;right:0}.pe-ct[_ngcontent-%COMP%]{top:0;left:50%;transform:translate(calc(-50% + var(--pe-center-shift, 0px)))}.pe-cb[_ngcontent-%COMP%]{bottom:0;left:50%;transform:translate(calc(-50% + var(--pe-center-shift, 0px)))}.pe-bl[_ngcontent-%COMP%]{bottom:0;left:0}.pe-br[_ngcontent-%COMP%]{bottom:0;right:0}.pe-cell[_ngcontent-%COMP%]{pointer-events:auto;overflow:hidden;border-radius:10px;box-shadow:0 1px 5px #00000059}.pe-chips[_ngcontent-%COMP%]{position:absolute;top:8px;left:50%;transform:translate(-50%);display:flex;gap:6px;pointer-events:auto;z-index:1}.pe-chips-low[_ngcontent-%COMP%]{top:calc(2 * var(--pe-cell-h) + var(--pe-gap) + 10px)}.pe-chip[_ngcontent-%COMP%]{display:flex;align-items:center;gap:4px;background:#141a20d9;color:#e8edf2;border-radius:16px;padding:3px 6px 3px 10px;font-size:12px;max-width:320px;box-shadow:0 1px 4px #00000059}.pe-chip-icon[_ngcontent-%COMP%]{font-size:16px;width:16px;height:16px;color:#29b6f6}.pe-chip-label[_ngcontent-%COMP%]{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.pe-chip-clear[_ngcontent-%COMP%]{display:flex;align-items:center;justify-content:center;border:none;background:#ffffff26;color:#e8edf2;border-radius:50%;width:20px;height:20px;padding:0;cursor:pointer}.pe-chip-clear[_ngcontent-%COMP%] mat-icon[_ngcontent-%COMP%]{font-size:14px;width:14px;height:14px}"]})};var md=["frame"],fd=(i,t)=>t.key;function hd(i,t){if(i&1&&T(0,"fb-plotterext-runtime",0),i&2){let e=t.$implicit;w("entry",e)}}var Kn=class i{constructor(t,e){this.service=t;this.sanitizer=e}service;sanitizer;entry=K.required();frame;url;detach=null;ngOnInit(){let{extension:t,runtime:e}=this.entry();this.url=this.sanitizer.bypassSecurityTrustResourceUrl(e.url?this.service.resolveAssetUrl(e.url):"about:blank"),this.detach=this.service.attachBackground(this.frame.nativeElement,{extension:t,runtime:e})}ngOnDestroy(){this.detach?.(),this.detach=null}static \u0275fac=function(e){return new(e||i)(Se(X),Se(ce))};static \u0275cmp=I({type:i,selectors:[["fb-plotterext-runtime"]],viewQuery:function(e,n){if(e&1&&J(md,7),e&2){let o;V(o=F())&&(n.frame=o.first)}},inputs:{entry:[1,"entry"]},decls:2,vars:2,consts:[["frame",""],["sandbox","allow-scripts allow-same-origin allow-forms","aria-hidden","true",3,"src","title"]],template:function(e,n){e&1&&nt(0,"iframe",1,0),e&2&&Ae("src",n.url,ae)("title",n.entry().runtime.id)},styles:["[_nghost-%COMP%]{display:none}"]})},Bt=class i{service=v(X);static \u0275fac=function(e){return new(e||i)};static \u0275cmp=I({type:i,selectors:[["fb-plotterext-runtimes"]],decls:2,vars:0,consts:[[3,"entry"]],template:function(e,n){e&1&&q(0,hd,1,1,"fb-plotterext-runtime",0,fd),e&2&&H(n.service.backgroundRuntimes())},dependencies:[Kn],styles:["[_nghost-%COMP%]{display:none}"]})};var _d=["frame"],gd=(i,t)=>t.key;function vd(i,t){if(i&1){let e=E();a(0,"div",1)(1,"span"),u(2),l(),a(3,"button",4),h("click",function(){m(e);let o=p();return f(o.service.closeVisiblePanel())}),a(4,"mat-icon"),u(5,"close"),l()()()}i&2&&(c(2),z(t.panel.title))}function Cd(i,t){if(i&1&&(a(0,"div",5),T(1,"fb-plotterext-panel-frame",6),l()),i&2){let e=t.$implicit;N("pe-body-hidden",!e.visible),c(),w("panelKey",e.key)("extension",e.extension)("panel",e.panel)("invocation",e.invocation)}}var Xn=class i{panelKey=K.required();extension=K.required();panel=K.required();invocation=K();frame;url;detach=null;service=v(X);sanitizer=v(ce);ngOnInit(){let{url:t}=this.panel();this.url=this.sanitizer.bypassSecurityTrustResourceUrl(t?this.service.resolveAssetUrl(t):"about:blank"),this.detach=this.service.attachPanel(this.frame.nativeElement,{extension:this.extension(),panel:this.panel(),invocation:this.invocation(),close:()=>this.service.closePanel(this.panelKey())})}ngOnDestroy(){this.detach?.(),this.detach=null}static \u0275fac=function(e){return new(e||i)};static \u0275cmp=I({type:i,selectors:[["fb-plotterext-panel-frame"]],viewQuery:function(e,n){if(e&1&&J(_d,7),e&2){let o;V(o=F())&&(n.frame=o.first)}},inputs:{panelKey:[1,"panelKey"],extension:[1,"extension"],panel:[1,"panel"],invocation:[1,"invocation"]},decls:2,vars:2,consts:[["frame",""],["sandbox","allow-scripts allow-same-origin allow-forms",3,"src","title"]],template:function(e,n){e&1&&nt(0,"iframe",1,0),e&2&&Ae("src",n.url,ae)("title",n.panel().title)},styles:["[_nghost-%COMP%]{display:block;width:100%;height:100%}iframe[_ngcontent-%COMP%]{display:block;width:100%;height:100%;border:none}"]})},$t=class i{service=v(X);isOpen=O(()=>!!this.service.visiblePanel());constructor(){let t=!0;$(()=>{if(this.isOpen(),t){t=!1;return}this.service.pulseMapResize()})}onTransitionEnd(t){t.propertyName==="width"&&this.service.pulseMapResize(80)}static \u0275fac=function(e){return new(e||i)};static \u0275cmp=I({type:i,selectors:[["fb-plotterext-panel-drawer"]],hostVars:2,hostBindings:function(e,n){e&2&&N("pe-open",n.isOpen())},decls:5,vars:1,consts:[[1,"pe-drawer-inner",3,"transitionend"],[1,"pe-drawer-head"],[1,"pe-drawer-bodies"],[1,"pe-drawer-body",3,"pe-body-hidden"],["mat-icon-button","","aria-label","Close panel",3,"click"],[1,"pe-drawer-body"],[3,"panelKey","extension","panel","invocation"]],template:function(e,n){if(e&1&&(a(0,"div",0),h("transitionend",function(r){return n.onTransitionEnd(r)}),_(1,vd,6,1,"div",1),a(2,"div",2),q(3,Cd,2,6,"div",3,gd),l()()),e&2){let o;c(),g((o=n.service.visiblePanel())?1:-1,o),c(2),H(n.service.openPanels())}},dependencies:[Ie,Re,ue,de,Xn],styles:["[_nghost-%COMP%]{flex:0 0 auto;height:100%;width:0;max-width:92vw;overflow:hidden;background:#1d242b;color:#e8edf2}.pe-open[_nghost-%COMP%]{width:390px;box-shadow:-2px 0 8px #0006}.pe-drawer-inner[_ngcontent-%COMP%]{width:390px;max-width:92vw;height:100%;display:flex;flex-direction:column}.pe-drawer-head[_ngcontent-%COMP%]{display:flex;align-items:center;justify-content:space-between;padding:4px 4px 4px 14px;font-weight:600;border-bottom:1px solid rgba(255,255,255,.12);flex:0 0 auto}.pe-drawer-bodies[_ngcontent-%COMP%]{flex:1;min-height:0;position:relative}.pe-drawer-body[_ngcontent-%COMP%]{position:absolute;inset:0}.pe-body-hidden[_ngcontent-%COMP%]{visibility:hidden;pointer-events:none}"]})};var bd=["frame"];function xd(i,t){if(i&1){let e=E();a(0,"button",10),h("pointerenter",function(o){m(e);let r=p();return f(r.onHoverReveal(o))})("pointerdown",function(o){m(e);let r=p();return r.revealBar(),f(r.startGesture(o,"move"))})("click",function(){m(e);let o=p();return f(o.revealBar())}),l()}if(i&2){let e=p();Y("tabindex",e.barShown()?-1:0)}}function yd(i,t){if(i&1){let e=E();a(0,"button",5),h("click",function(){m(e);let o=p();return f(o.toggleCollapsed())}),a(1,"mat-icon"),u(2),l()(),a(3,"button",11),h("menuOpened",function(){m(e);let o=p();return f(o.holdBar("menu"))})("menuClosed",function(){m(e);let o=p();return f(o.releaseBar("menu"))}),a(4,"mat-icon"),u(5,"more_vert"),l()()}if(i&2){let e=p(),n=Ee(9);w("matTooltip",e.def().collapsed?"Expand":"Collapse"),Y("aria-label",e.def().collapsed?"Expand":"Collapse"),c(2),z(e.def().collapsed?"expand_more":"expand_less"),c(),w("matMenuTriggerFor",n)}}function Ed(i,t){if(i&1){let e=E();a(0,"button",12),h("click",function(){let o=m(e).$implicit,r=p();return f(r.windows.setOpacity(r.def().id,o))}),a(1,"mat-icon"),u(2),l(),a(3,"span"),u(4),l()()}if(i&2){let e=t.$implicit,n=p();Y("aria-checked",n.def().opacity===e),c(2),z(n.def().opacity===e?"radio_button_checked":"radio_button_unchecked"),c(2),ve("Opacity ",e*100,"%")}}function Td(i,t){if(i&1){let e=E();a(0,"div",14),h("pointerenter",function(o){let r=m(e).$implicit,s=p(2);return f(r.includes("n")&&s.onHoverReveal(o))})("pointerdown",function(o){let r=m(e).$implicit,s=p(2);return f(s.startGesture(o,r))}),l()}if(i&2){let e=t.$implicit;Y("data-mode",e)}}function Md(i,t){if(i&1&&q(0,Td,1,1,"div",13,xe),i&2){let e=p();H(e.resizeModes)}}var Sd=un.barH,Ts=3e3,Ad=1e3,zt=class i{def=K.required();frame;resizeModes=["n","s","e","w","ne","nw","se","sw"];opacities=[1,.8,.6,.4];windows=v(ut);host=v(X);sanitizer=v(ce);zone=v(Q);el=v(ee).nativeElement;src;detach=null;z=O(()=>(this.windows.zOrder().indexOf(this.def().id)+1)*2);blocked=O(()=>{let t=this.windows.activeModal();return!!t&&t.id!==this.def().id});front=O(()=>this.windows.zOrder().at(-1)===this.def().id);presentation=O(()=>this.windows.presentation(this.def(),this.windows.area()));floating=O(()=>this.presentation()==="floating");movable=O(()=>this.floating()&&this.def().movable);resizable=O(()=>this.floating()&&this.def().resizable&&!this.def().collapsed);hides=O(()=>this.def().userClose==="hide"&&!this.def().modal);rect=O(()=>this.windows.rectOf(this.def(),this.windows.area()));drawn=O(()=>{let t=this.rect();return this.def().collapsed?fe(ie({},t),{h:Sd}):t});autoHide=O(()=>this.def().titleBar==="autoHide"&&!this.def().collapsed);barShown=L(!0);barHolds=new Set;barTimer;gesture=null;frameReq=0;constructor(){$(()=>{this.autoHide()&&Ce(()=>this.revealBar())}),$(()=>{let t=this.drawn();this.gesture||this.applyRect(t)})}ngOnInit(){let t=this.def().panel.url;this.src=this.sanitizer.bypassSecurityTrustResourceUrl(t?this.host.resolveAssetUrl(t):"about:blank"),this.detach=this.host.attachWindow(this.frame.nativeElement,this.def()),this.frame.nativeElement.addEventListener("load",this.watchEscape)}watchEscape=()=>{try{this.frame.nativeElement.contentWindow?.addEventListener("keydown",t=>{t.key==="Escape"&&this.def().modal&&this.zone.run(()=>this.windows.close(this.def().id,"user"))})}catch(t){}};ngOnDestroy(){this.frame.nativeElement.removeEventListener("load",this.watchEscape),this.endGesture(),clearTimeout(this.barTimer),this.detach?.(),this.detach=null}revealBar(){this.barShown.set(!0),this.scheduleBarHide(Ts)}holdBar(t){this.barHolds.add(t),clearTimeout(this.barTimer),this.barShown.set(!0)}releaseBar(t,e=Ts){this.barHolds.delete(t)&&this.scheduleBarHide(e)}scheduleBarHide(t){clearTimeout(this.barTimer),!this.barHolds.size&&(this.barTimer=setTimeout(()=>this.barShown.set(!1),t))}isHover(t){return t.pointerType==="mouse"||t.pointerType==="pen"}onHoverReveal(t){this.autoHide()&&this.isHover(t)&&this.revealBar()}onBarEnter(t){this.isHover(t)&&this.holdBar("hover")}onBarLeave(t){this.isHover(t)&&this.releaseBar("hover",Ad)}onFocusIn(t){let e=t.target;e.closest(".fb-pe-window__bar, .fb-pe-window__grip")&&e.matches(":focus-visible")&&this.holdBar("focus")}startGesture(t,e){if(this.gesture||!t.isPrimary||t.pointerType==="mouse"&&t.button!==0||(e==="move"?!this.movable():!this.resizable()))return;let n=t.currentTarget,o=t.target.closest("a, button");if(e==="move"&&o&&o!==n)return;t.preventDefault();let r=this.drawn();this.gesture={pointerId:t.pointerId,mode:e,startX:t.clientX,startY:t.clientY,start:r,current:r,target:n},n.setPointerCapture(t.pointerId),this.holdBar("gesture"),this.windows.gestureActive.set(!0),this.zone.runOutsideAngular(()=>{n.addEventListener("pointermove",this.onMove),n.addEventListener("pointerup",this.onEnd),n.addEventListener("pointercancel",this.onEnd),n.addEventListener("lostpointercapture",this.onEnd)})}onMove=t=>{let e=this.gesture;if(!e||t.pointerId!==e.pointerId)return;let n=this.windows.area(),o=this.windows.gestureArea(this.def(),n);e.current=lo(e.start,e.mode,t.clientX-e.startX,t.clientY-e.startY,o,un,o.w>n.w?n.w:void 0),this.frameReq||(this.frameReq=requestAnimationFrame(()=>{this.frameReq=0,this.gesture&&this.applyRect(this.gesture.current)}))};onEnd=t=>{this.gesture&&t.pointerId===this.gesture.pointerId&&this.zone.run(()=>this.endGesture(!0))};endGesture(t=!1){let e=this.gesture;if(e){if(this.gesture=null,this.frameReq&&(cancelAnimationFrame(this.frameReq),this.frameReq=0),e.target.removeEventListener("pointermove",this.onMove),e.target.removeEventListener("pointerup",this.onEnd),e.target.removeEventListener("pointercancel",this.onEnd),e.target.removeEventListener("lostpointercapture",this.onEnd),e.target.hasPointerCapture(e.pointerId)&&e.target.releasePointerCapture(e.pointerId),this.windows.gestureActive.set(!1),this.releaseBar("gesture"),t&&e.current!==e.start){let{w:n,h:o}=this.def().collapsed?this.rect():e.current;this.windows.setRectFromGesture(this.def().id,{x:e.current.x,y:e.current.y,w:n,h:o})}this.applyRect(t?e.current:this.drawn())}}toggleCollapsed(){this.windows.setCollapsed(this.def().id,!this.def().collapsed)}onBarDoubleClick(t){this.def().modal||t.target.closest("a, button")||this.toggleCollapsed()}applyRect(t){this.el.style.transform=`translate(${Math.round(t.x)}px, ${Math.round(t.y)}px)`,this.el.style.width=`${Math.round(t.w)}px`,this.el.style.height=`${Math.round(t.h)}px`}static \u0275fac=function(e){return new(e||i)};static \u0275cmp=I({type:i,selectors:[["fb-pe-window"]],viewQuery:function(e,n){if(e&1&&J(bd,7),e&2){let o;V(o=F())&&(n.frame=o.first)}},hostAttrs:[1,"fb-pe-window"],hostVars:20,hostBindings:function(e,n){e&1&&h("pointerdown",function(){return n.windows.focus(n.def().id)})("focusin",function(r){return n.onFocusIn(r)})("focusout",function(){return n.releaseBar("focus")}),e&2&&(Y("data-window-id",n.def().id)("inert",n.blocked()?"":null),j("z-index",n.z())("opacity",n.def().opacity),N("collapsed",n.def().collapsed)("hidden",!n.def().visible)("modal",n.def().modal)("fullscreen",n.presentation()==="fullscreen")("fixed-place",!n.movable())("bar-overlay",n.autoHide())("bar-hidden",n.autoHide()&&!n.barShown()))},inputs:{def:[1,"def"]},decls:16,vars:12,consts:[["moremenu","matMenu"],["frame",""],["aria-label","Show title bar",1,"fb-pe-window__grip"],[1,"fb-pe-window__bar",3,"pointerenter","pointerleave","pointerdown","dblclick"],[1,"fb-pe-window__title",3,"title"],["mat-icon-button","",1,"fb-pe-window__btn",3,"click","matTooltip"],["xPosition","before"],["mat-menu-item","","role","menuitemradio"],[1,"fb-pe-window__body"],["sandbox","allow-scripts allow-same-origin allow-forms",3,"src","title"],["aria-label","Show title bar",1,"fb-pe-window__grip",3,"pointerenter","pointerdown","click"],["mat-icon-button","","matTooltip","More","aria-label","More",1,"fb-pe-window__btn",3,"menuOpened","menuClosed","matMenuTriggerFor"],["mat-menu-item","","role","menuitemradio",3,"click"],[1,"fb-pe-window__handle"],[1,"fb-pe-window__handle",3,"pointerenter","pointerdown"]],template:function(e,n){if(e&1){let o=E();_(0,xd,1,1,"button",2),a(1,"div",3),h("pointerenter",function(s){return n.onBarEnter(s)})("pointerleave",function(s){return n.onBarLeave(s)})("pointerdown",function(s){return m(o),n.revealBar(),f(n.startGesture(s,"move"))})("dblclick",function(s){return n.onBarDoubleClick(s)}),a(2,"span",4),u(3),l(),_(4,yd,6,4),a(5,"button",5),h("click",function(){return n.windows.userClose(n.def().id)}),a(6,"mat-icon"),u(7),l()()(),a(8,"mat-menu",6,0),q(10,Ed,5,3,"button",7,xe),l(),a(12,"div",8),T(13,"iframe",9,1),l(),_(15,Md,2,0)}e&2&&(g(n.autoHide()?0:-1),c(),N("front",n.front()),c(),w("title",n.def().title),c(),z(n.def().title),c(),g(n.def().modal?-1:4),c(),w("matTooltip",n.hides()?"Hide":"Close"),Y("aria-label",n.hides()?"Hide":"Close"),c(2),z(n.hides()?"remove":"close"),c(3),H(n.opacities),c(3),w("src",n.src,ae)("title",n.def().title),c(2),g(n.resizable()?15:-1))},dependencies:[Ie,Re,ue,de,gt,ht,ft,_t,De,Oe],styles:['[_nghost-%COMP%]{position:absolute;top:0;left:0;display:flex;flex-direction:column;pointer-events:auto;box-sizing:border-box;background:#fafafa;border:1px solid rgba(0,0,0,.3);border-radius:6px;box-shadow:0 4px 16px #00000059;overflow:visible}.dark-theme[_nghost-%COMP%], .dark-theme [_nghost-%COMP%]{background:#303030;border-color:#ffffff40}.fb-pe-window__bar[_ngcontent-%COMP%]{flex:0 0 32px;height:32px;display:flex;align-items:center;gap:2px;padding-left:8px;cursor:grab;touch-action:none;-webkit-user-select:none;user-select:none;border-radius:6px 6px 0 0;background:#e0e0e0;color:#000000de}.fb-pe-window__bar.front[_ngcontent-%COMP%]{background:#c5cae9}.dark-theme[_nghost-%COMP%] .fb-pe-window__bar[_ngcontent-%COMP%], .dark-theme [_nghost-%COMP%] .fb-pe-window__bar[_ngcontent-%COMP%]{background:#424242;color:#fff}.dark-theme[_nghost-%COMP%] .fb-pe-window__bar.front[_ngcontent-%COMP%], .dark-theme [_nghost-%COMP%] .fb-pe-window__bar.front[_ngcontent-%COMP%]{background:#3949ab}.fb-pe-window__title[_ngcontent-%COMP%]{flex:1 1 auto;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;font-size:13px;font-weight:500}.fb-pe-window__btn[_ngcontent-%COMP%]{--mat-icon-button-state-layer-size: 28px;width:28px;height:28px;padding:2px;cursor:pointer}.fb-pe-window__btn[_ngcontent-%COMP%] mat-icon[_ngcontent-%COMP%]{font-size:18px;width:18px;height:18px}.fb-pe-window__body[_ngcontent-%COMP%]{position:relative;flex:1 1 auto;min-height:0;border-radius:0 0 6px 6px;overflow:hidden}.fb-pe-window__body[_ngcontent-%COMP%] iframe[_ngcontent-%COMP%]{display:block;width:100%;height:100%;border:0;background:#fff}.bar-overlay[_nghost-%COMP%] .fb-pe-window__bar[_ngcontent-%COMP%]{position:absolute;top:0;left:0;right:0;z-index:2;transition:opacity .15s ease-out,transform .15s ease-out}.bar-overlay[_nghost-%COMP%] .fb-pe-window__body[_ngcontent-%COMP%]{border-radius:6px}.bar-hidden[_nghost-%COMP%] .fb-pe-window__bar[_ngcontent-%COMP%]{opacity:0;transform:translateY(-6px);visibility:hidden;transition:opacity .3s ease-in,transform .3s ease-in,visibility 0s linear .3s}.fb-pe-window__grip[_ngcontent-%COMP%]{position:absolute;top:0;left:50%;z-index:1;width:64px;height:16px;margin:0 0 0 -32px;padding:0;border:0;background:transparent;cursor:grab;touch-action:none;transition:opacity .15s ease-out}.fb-pe-window__grip[_ngcontent-%COMP%]:before{content:"";position:absolute;top:5px;left:14px;right:14px;height:5px;border-radius:3px;background:#00000073;box-shadow:0 0 0 1px #fff9}[_nghost-%COMP%]:not(.bar-hidden) .fb-pe-window__grip[_ngcontent-%COMP%]{opacity:0}@media(pointer:coarse){.fb-pe-window__grip[_ngcontent-%COMP%]{width:96px;height:24px;margin-left:-48px}.fb-pe-window__grip[_ngcontent-%COMP%]:before{top:9px;left:24px;right:24px}}@media(prefers-reduced-motion:reduce){.fb-pe-window__bar[_ngcontent-%COMP%], .fb-pe-window__grip[_ngcontent-%COMP%]{transition:none!important}}.collapsed[_nghost-%COMP%] .fb-pe-window__body[_ngcontent-%COMP%]{visibility:hidden}.collapsed[_nghost-%COMP%] .fb-pe-window__bar[_ngcontent-%COMP%]{border-radius:6px}.collapsed[_nghost-%COMP%] .fb-pe-window__handle[_ngcontent-%COMP%]{display:none}.fb-pe-window__handle[_ngcontent-%COMP%]{position:absolute;z-index:3;touch-action:none;--edge: 10px;--out: calc(var(--edge) / -2)}@media(pointer:coarse){.fb-pe-window__handle[_ngcontent-%COMP%]{--edge: 16px}}.fb-pe-window__handle[data-mode*=n][_ngcontent-%COMP%]{top:var(--out)}.fb-pe-window__handle[data-mode*=s][_ngcontent-%COMP%]{bottom:var(--out)}.fb-pe-window__handle[data-mode*=e][_ngcontent-%COMP%]{right:var(--out)}.fb-pe-window__handle[data-mode*=w][_ngcontent-%COMP%]{left:var(--out)}.fb-pe-window__handle[data-mode=n][_ngcontent-%COMP%], .fb-pe-window__handle[data-mode=s][_ngcontent-%COMP%]{left:var(--edge);right:var(--edge);height:var(--edge);cursor:ns-resize}.fb-pe-window__handle[data-mode=e][_ngcontent-%COMP%], .fb-pe-window__handle[data-mode=w][_ngcontent-%COMP%]{top:var(--edge);bottom:var(--edge);width:var(--edge);cursor:ew-resize}.fb-pe-window__handle[data-mode=ne][_ngcontent-%COMP%], .fb-pe-window__handle[data-mode=nw][_ngcontent-%COMP%], .fb-pe-window__handle[data-mode=se][_ngcontent-%COMP%], .fb-pe-window__handle[data-mode=sw][_ngcontent-%COMP%]{width:calc(var(--edge) * 1.5);height:calc(var(--edge) * 1.5)}.fb-pe-window__handle[data-mode=ne][_ngcontent-%COMP%], .fb-pe-window__handle[data-mode=sw][_ngcontent-%COMP%]{cursor:nesw-resize}.fb-pe-window__handle[data-mode=nw][_ngcontent-%COMP%], .fb-pe-window__handle[data-mode=se][_ngcontent-%COMP%]{cursor:nwse-resize}.hidden[_nghost-%COMP%]{display:none}.fullscreen[_nghost-%COMP%]{border-radius:0}.fullscreen[_nghost-%COMP%] .fb-pe-window__bar[_ngcontent-%COMP%], .fullscreen[_nghost-%COMP%] .fb-pe-window__body[_ngcontent-%COMP%]{border-radius:0;cursor:default}.fixed-place[_nghost-%COMP%] .fb-pe-window__bar[_ngcontent-%COMP%]{cursor:default}'],changeDetection:0})};var Pd=(i,t)=>t.id;function kd(i,t){if(i&1&&(a(0,"div",2),h("pointerdown",function(n){return n.stopPropagation()}),l()),i&2){let e=p();j("z-index",t)("right",e.inset(),"px")}}function Rd(i,t){if(i&1&&T(0,"fb-pe-window",1),i&2){let e=t.$implicit;w("def",e)}}var Id="fb-pe-window-gesture",Ut=class i{inset=K(0);service=v(ut);overlays=v(st);document=v(Ye);el=v(ee).nativeElement;zone=v(Q);observer=null;backdropZ=O(()=>{let t=this.service.activeModal();return t?(this.service.zOrder().indexOf(t.id)+1)*2-1:0});constructor(){$(()=>{this.document.body.classList.toggle(Id,this.service.gestureActive())})}ngAfterViewInit(){this.measure(),!(typeof ResizeObserver>"u")&&(this.observer=new ResizeObserver(()=>this.zone.run(()=>this.measure())),this.observer.observe(this.el))}ngOnDestroy(){this.observer?.disconnect()}measure(){let t=this.el.getBoundingClientRect(),e=this.inset();t.width>e&&t.height>0&&this.service.setArea({w:t.width-e,h:t.height},e)}onEscape(t){if(t.defaultPrevented||this.overlays.getContainerElement().querySelector(".cdk-overlay-pane"))return;let e=this.service.activeModal();e&&this.service.close(e.id,"user")}onWindowBlur(){setTimeout(()=>{let t=this.document.activeElement;if(t?.tagName!=="IFRAME")return;let e=t.closest("[data-window-id]")?.getAttribute("data-window-id");e&&this.service.focus(e)})}static \u0275fac=function(e){return new(e||i)};static \u0275cmp=I({type:i,selectors:[["fb-pe-window-layer"]],hostVars:2,hostBindings:function(e,n){e&1&&h("blur",function(){return n.onWindowBlur()},ri)("keydown.escape",function(r){return n.onEscape(r)},ze),e&2&&j("left",n.inset(),"px")},inputs:{inset:[1,"inset"]},decls:3,vars:1,consts:[[1,"fb-pe-window-backdrop",3,"z-index","right"],[3,"def"],[1,"fb-pe-window-backdrop",3,"pointerdown"]],template:function(e,n){if(e&1&&(_(0,kd,1,4,"div",0),q(1,Rd,1,1,"fb-pe-window",1,Pd)),e&2){let o;g((o=n.backdropZ())?0:-1,o),c(),H(n.service.windows())}},dependencies:[zt],styles:["[_nghost-%COMP%]{position:absolute;inset:0;z-index:4850;pointer-events:none;overflow:hidden}.fb-pe-window-backdrop[_ngcontent-%COMP%]{position:absolute;inset:0;pointer-events:auto;background:#00000052}"],changeDetection:0})};var As=new Set(["map","layers",_n]),Ss=new WeakSet;function Od(i){let t=document.createElement("div"),e=null;return new We({source:i.getSource()??void 0,render:n=>{let o=e?.style.cssText,r=i.render(n,null);return r instanceof HTMLElement&&(e=r,t.className=r.className,t.style.cssText=r.style.cssText,o!==void 0?r.style.cssText=o:i.changed()),t}})}function Dd(i){if(i instanceof lt){let n=new lt;return{twin:n,stopChildren:Ps(i.getLayers(),n.getLayers())}}let t=i.getClassName(),e=i instanceof Le?{declutter:i.getDeclutter(),renderBuffer:i.getRenderBuffer(),updateWhileAnimating:i.getUpdateWhileAnimating(),updateWhileInteracting:i.getUpdateWhileInteracting()}:{};return i instanceof vn?{twin:new vn(fe(ie({className:t},e),{renderMode:i.getRenderMode()}))}:i instanceof sn?{twin:new sn(ie({className:t},e))}:i instanceof Cn?{twin:new Cn({className:t,source:i.getSource()??void 0})}:i instanceof fn?{twin:new fn({className:t})}:i instanceof gn?i.getSource()instanceof Vo?null:{twin:new gn({className:t})}:Object.getPrototypeOf(i)===We.prototype?{twin:Od(i)}:null}function Ld(i,t){let e=ie({},i.getProperties());As.forEach(n=>delete e[n]),t.setProperties(e)}function Vd(i){let t=null,e=[],n,o=()=>{He(e),t?.stopChildren?.(),n?.()};try{if(t=Dd(i),!t)return Ss.has(i)||(Ss.add(i),console.warn("Split view: a layer of this kind is not shown in the second pane",i)),null;let{twin:r}=t;Ld(i,r);let s=i.getBackground();return s&&r.setBackground(s),e.push(i.on("propertychange",d=>{As.has(d.key)||r.set(d.key,i.get(d.key))})),r instanceof We&&(e.push(...Fo(r)),n=i.get(_n)?.(r),i instanceof Le&&r instanceof Le&&r.setStyle(i.getStyle()),e.push(i.on("change",()=>{let d=i.getBackground()||void 0;r.getBackground()!==d&&r.setBackground(d),i instanceof Le&&r instanceof Le&&r.getStyle()!==i.getStyle()?r.setStyle(i.getStyle()):r.changed()}))),{layer:r,stop:o}}catch(r){return o(),t?.twin.dispose(),console.warn("Split view: a layer could not be shown in both panes",r),null}}function Ps(i,t){let e=new Map,n=s=>{if(e.has(s))return;let d=Vd(s);if(!d)return;e.set(s,d);let C=i.getArray().filter(y=>e.has(y)).indexOf(s);t.insertAt(C<0?t.getLength():C,d.layer)},o=s=>{let d=e.get(s);if(!d)return;t.remove(d.layer),d.stop();let C=d.layer;C instanceof We&&(C.setSource(null),mo(C)),setTimeout(()=>C.dispose(),0),e.delete(s)};i.forEach(n);let r=[i.on("add",s=>n(s.element)),i.on("remove",s=>o(s.element))];return()=>{He(r),[...e.keys()].forEach(o)}}function ks(i,t){let e=new lt;t.addLayer(e);let n=Ps(i.getLayers(),e.getLayers());return()=>{n(),t.removeLayer(e),e.dispose()}}function Fd(i,t){i&1&&(a(0,"ol-control")(1,"ol-content"),qe(2,3),l()()),i&2&&(c(2),w("ngTemplateOutlet",t))}var Rs=100;function Is(i){return getComputedStyle(i).position!=="static"?[i]:[...i.children].flatMap(Is)}var qt=class i{app=v(Ct);skstream=v(dt);split=v(vt);mapInteract=v(pt);host=v(ee);interactionList=[];interactionsFor;olControls=wr;scaleUnits=K("");statusBar=K(null);zoom=L(10);center=L([0,0]);heading=L(0);rotation=O(()=>this.split.northUp()?0:0-this.heading());footprint=L(null);map;mainMap;stopMirror;stopUseWatch=[];panelSize;gripFrame=0;gripRatio=null;vessels;commands;pressedAt=0;gripRect=null;gripPanel=null;gripStacked=!1;gripStart=0;gripOffset=0;overscans=[];endDrag=null;zone=v(Q);announcer=v(Li);dragging=L(!1);tabbed=!1;documentListeners=[];constructor(){$(()=>{this.split.follow()&&Ce(()=>this.centerOnVessel())}),$(()=>{let e=this.scaleUnits();Ce(()=>this.setScaleUnits(e))}),$(()=>{this.interacting()&&Ce(()=>this.split.activate("main"))});let t;$(()=>{let e=this.split.secondaryActive();t!==void 0&&e!==t&&this.announcer.announce(e?"Second chart active":"Main chart active"),t=e})}ngOnInit(){this.heading.set(this.app.data.vessels.active.orientation??0);let{min:t,max:e}=this.app.MAP_ZOOM_EXTENT,n=this.split.lastView();this.zoom.set(Math.min(e,Math.max(t,n.zoom??this.app.config.map.zoomLevel-3))),!this.split.follow()&&n.center?this.center.set(n.center):this.centerOnVessel()||this.center.set(n.center??[...this.app.config.map.center]),this.vessels=this.skstream.vessels$().subscribe(()=>this.onVessels()),this.commands=this.split.commands$.subscribe(o=>this.onCommand(o))}ngAfterViewInit(){this.documentListeners=[["keydown",e=>this.onDocumentKey(e)],["pointerdown",()=>this.onDocumentPress()]],this.zone.runOutsideAngular(()=>this.documentListeners.forEach(([e,n])=>document.addEventListener(e,n,!0)));let t=this.host.nativeElement.parentElement;t&&(this.panelSize=new ResizeObserver(()=>{let[e,n]=[t.clientWidth,t.clientHeight];this.split.setPanelSize(e,n);let o=this.gripPanel;o&&(o[0]!==e||o[1]!==n)&&this.zone.run(()=>this.gripUp())}),this.panelSize.observe(t))}ngOnDestroy(){this.documentListeners.forEach(([t,e])=>document.removeEventListener(t,e,!0)),this.vessels?.unsubscribe(),this.commands?.unsubscribe(),this.split.flush(),this.panelSize?.disconnect(),cancelAnimationFrame(this.gripFrame),this.endDrag?.(),this.stopMirror?.(),this.stopUseWatch.forEach(t=>t()),this.mainMap?.un("moveend",this.onMainMoved),this.split.setSecondaryMap(null)}onMapReady(t){this.map=t.map,this.mainMap=t.mapService.getMaps().find(e=>e!==t.map),this.mainMap&&(this.stopMirror=ks(this.mainMap,t.map),this.mainMap.on("moveend",this.onMainMoved),this.stopUseWatch.push(this.activateOnUse(this.mainMap,"main"),this.nameChart(this.mainMap,"Main chart"))),this.stopUseWatch.push(this.activateOnUse(t.map,"secondary"),this.nameChart(t.map,"Second chart")),this.updateFootprint(),this.setScaleUnits(this.scaleUnits()),this.split.rememberView(this.zoom(),this.center(),!1),this.split.setSecondaryMap(t.map)}activateOnUse(t,e){let n=t.getViewport(),o=d=>!t.getOverlayContainerStopEvent().contains(d.target),r=d=>{o(d)&&this.split.activate(e)},s=d=>{o(d)&&this.tabbed&&this.split.activate(e)};return n.addEventListener("pointerdown",r),t.getTargetElement()?.addEventListener("focusin",s),()=>{n.removeEventListener("pointerdown",r),t.getTargetElement()?.removeEventListener("focusin",s)}}onDocumentKey(t){this.tabbed=t.key==="Tab"}onDocumentPress(){this.tabbed=!1}nameChart(t,e){let n=t.getTargetElement();if(!n)return()=>{};let o=n.tabIndex;return n.tabIndex=0,n.setAttribute("role","region"),n.setAttribute("aria-label",e),()=>{n.tabIndex=o,n.removeAttribute("role"),n.removeAttribute("aria-label")}}interacting(){return this.mapInteract.isDrawing()||this.mapInteract.isModifying()||this.mapInteract.isMeasuring()||this.mapInteract.isBoxSelecting()}onPress(){this.pressedAt=Date.now()}onPointerMove(t){this.split.forwardPointer(t.lonlat)}onTap(t){this.map&&!this.interacting()&&this.split.forwardTap({kind:"click",event:t,map:this.map,pressedAt:this.pressedAt})}onContextMenu(t){t.preventDefault();let e=this.map;if(!e||this.interacting())return;let n=e.getEventCoordinate(t),o=an(e.getView().getProjection().getExtent());this.split.forwardTap(fe(ie({kind:"contextmenu",event:t},fo(e,e.getEventPixel(t),uo(t.pointerType,ho,_o))),{lonlat:Xi(n),worldOffset:hn(n[0],o),map:e,zoom:e.getView().getZoom()??this.zoom()}))}onMoveEnd(t){if(this.zoom.set(t.zoom),t.map?.get(mt))return;let e=this.split.follow()&&t.zoom===this.split.zoom();this.split.rememberView(t.zoom,[t.lonlat[0],t.lonlat[1]],!e)}setScaleUnits(t){this.map?.getControls().getArray().find(n=>n instanceof sr)?.setUnits(vr(t))}onDrag(){this.split.follow()&&this.split.setFollow(!1)}interactions(){let t=!!this.app.config.map.doubleClickZoom;return t!==this.interactionsFor&&(this.interactionsFor=t,this.interactionList=Cr(t)),this.interactionList}onKeydown(t){this.map?.getOverlayContainerStopEvent().contains(t.target)||this.split.activate("secondary");let e=fr(t);e?(t.preventDefault(),this.onCommand({kind:"zoom",step:e==="in"?1:-1})):hr(t)&&this.onDrag()}onCommand(t){let{min:e,max:n}=this.app.MAP_ZOOM_EXTENT,o=r=>Math.min(n,Math.max(e,r));if(t.kind==="zoom"){this.zoom.set(o(this.zoom()+t.step));return}this.split.follow()&&this.split.setFollow(!1),this.center.set([...t.position]),typeof t.zoom=="number"&&t.zoom>this.zoom()&&this.zoom.set(o(t.zoom))}centerOnVessel(){let t=this.app.data.vessels.active;return!t?.positionReceived||!Array.isArray(t.position)?!1:(this.center.set([...t.position]),!0)}splitPercent(){return this.percent(this.split.shownRatio())}percent(t){return Math.round(t*100)}gripDown(t){let e=this.host.nativeElement.parentElement;if(!e||this.endDrag||!t.isPrimary||t.button!==0)return;this.gripRect=e.getBoundingClientRect(),this.gripPanel=[e.clientWidth,e.clientHeight],this.gripStacked=this.split.stacked(),this.gripRatio=null;let n=t.currentTarget;n.setPointerCapture?.(t.pointerId),t.preventDefault(),this.dragging.set(!0);let o=this.gripStacked?this.gripRect.height:this.gripRect.width,r=this.split.shownRatio();this.gripStart=r,this.gripOffset=this.gripStacked?t.clientY-(this.gripRect.top+r*o):t.clientX-(this.gripRect.left+r*o),this.zone.runOutsideAngular(()=>{let s=y=>this.gripMove(y),d=()=>this.zone.run(()=>this.gripUp()),C=["pointerup","pointercancel","lostpointercapture"];n.addEventListener("pointermove",s),C.forEach(y=>n.addEventListener(y,d)),this.endDrag=()=>{n.removeEventListener("pointermove",s),C.forEach(y=>n.removeEventListener(y,d)),cancelAnimationFrame(this.gripFrame),this.overscans.forEach(y=>this.release(y)),this.overscans=[],e.style.removeProperty(Ve)}}),this.overscan(this.mainMap,(Ge(bn,o)-r)*o,1),this.overscan(this.map,(r-Ge(wn,o))*o,-1)}gripMove(t){let e=this.host.nativeElement.parentElement;if(!this.gripRect||!e)return;let n=_r(this.gripRect,t.clientX-(this.gripStacked?0:this.gripOffset),t.clientY-(this.gripStacked?this.gripOffset:0),this.gripStacked);if(n===null)return;this.gripRatio=n;let o=this.gripStacked?this.gripRect.height:this.gripRect.width,r=Ge(n,o),s=(r-this.gripStart)*o;cancelAnimationFrame(this.gripFrame),this.gripFrame=requestAnimationFrame(()=>{e.style.setProperty(Ve,`${r*100}%`),this.overscans.forEach(d=>this.shift(d,d.shown+d.grows*s))})}gripUp(){let t=this.gripRect;if(t){if(this.gripRect=null,this.gripPanel=null,this.gripRatio!==null){let e=this.gripStacked?t.height:t.width;this.host.nativeElement.parentElement?.style.setProperty(Ve,`${Ge(this.gripRatio,e)*100}%`),this.split.setRatio(this.gripRatio),this.gripRatio=null}this.endDrag?.(),this.endDrag=null,this.dragging.set(!1),this.updateFootprint()}}overscan(t,e,n){let o=t?.getTargetElement();if(!t||!o)return;let r=this.gripStacked?"height":"width",s=o.getBoundingClientRect()[r],d=Math.round(s+Math.max(0,e)),{width:C,height:y,transform:k,willChange:M}=o.style,R=[...t.getOverlayContainerStopEvent()?.children??[]].filter(be=>!be.classList.contains("ol-overlay-container")).flatMap(Is),S=be=>{let _e=be.getBoundingClientRect();return this.gripStacked?_e.top+_e.height/2:_e.left+_e.width/2},Wt=R.map(S);o.style[r]=`${s+Rs}px`;let Ls=R.map((be,_e)=>(S(be)-Wt[_e])/Rs);o.style[r]=`${d}px`;let Qn={map:t,target:o,shown:s,max:d,grows:n,controls:R.map((be,_e)=>({el:be,k:Ls[_e]})),style:{width:C,height:y,transform:k,willChange:M}};this.overscans.push(Qn),o.style.willChange="transform",this.shift(Qn,s),t.set(mt,!0),t.updateSize(),t.renderSync()}shift(t,e){let n=Math.round((e-t.max)/2);t.target.style.transform=this.gripStacked?`translateY(${n}px)`:`translateX(${n}px)`,t.controls.forEach(({el:o,k:r})=>{let s=Math.round((2*r-1)*n);o.style.translate=this.gripStacked?`0 ${s}px`:`${s}px 0`})}release(t){if(Object.assign(t.target.style,t.style),t.controls.forEach(({el:o})=>o.style.translate=""),t.map.set(mt,!1),!t.map.getTargetElement())return;let e=!1,n=t.map.once("moveend",()=>e=!0);t.map.updateSize(),t.map.renderSync(),He(n),e||t.map.dispatchEvent(new Zi("moveend",t.map))}gripKey(t){let e=this.split.stacked(),n=e?"ArrowUp":"ArrowLeft",o=e?"ArrowDown":"ArrowRight",r=t.key==="Home"?wn:t.key==="End"?bn:t.key===n?this.split.shownRatio()-.05:t.key===o?this.split.shownRatio()+.05:null;r!==null&&(t.preventDefault(),this.split.setRatio(r))}onVessels(){this.split.follow()&&this.centerOnVessel();let t=this.app.data.vessels.active;typeof t.orientation=="number"&&this.heading.set(t.orientation)}onMainMoved=()=>{this.dragging()||this.updateFootprint()};updateFootprint(){let t=this.mainMap,e=t?gr(t):null;if(!t||!e){this.footprint.set(null);return}let n=t.getView(),o=hn(n.getCenter()[0],an(n.getProjection().getExtent()));this.footprint.set(e.map(([r,s])=>[r-o,s]))}static \u0275fac=function(e){return new(e||i)};static \u0275cmp=I({type:i,selectors:[["fb-split-map"]],hostVars:4,hostBindings:function(e,n){e&2&&N("active-pane",n.split.secondaryActive())("stacked",n.split.stacked())},inputs:{scaleUnits:[1,"scaleUnits"],statusBar:[1,"statusBar"]},decls:6,vars:18,consts:[["role","separator","tabindex","0","aria-label","Main chart","aria-controls","fb-main-chart","matTooltip","Drag, or use the arrow keys, to resize",1,"split-grip",3,"pointerdown","contextmenu","keydown","matTooltipDisabled"],["olView","",1,"split-ol-map",3,"mapReady","mapMoveEnd","mapPointerDown","mapPointerDrag","mapPointerMove","mapSingleClick","mapContextMenu","contextmenu","keydown","secondary","logo","olInteractions","olControls","zoom","center","rotation","minZoom","maxZoom","enableAnimation"],[3,"ring","zIndex"],[3,"ngTemplateOutlet"]],template:function(e,n){if(e&1&&(a(0,"div",0),h("pointerdown",function(r){return n.gripDown(r)})("contextmenu",function(r){return r.preventDefault()})("keydown",function(r){return n.gripKey(r)}),a(1,"mat-icon"),u(2,"drag_indicator"),l()(),a(3,"ol-map",1),h("mapReady",function(r){return n.onMapReady(r)})("mapMoveEnd",function(r){return n.onMoveEnd(r)})("mapPointerDown",function(){return n.onPress()})("mapPointerDrag",function(){return n.onDrag()})("mapPointerMove",function(r){return n.onPointerMove(r)})("mapSingleClick",function(r){return n.onTap(r)})("mapContextMenu",function(r){return n.onContextMenu(r)})("contextmenu",function(r){return n.onContextMenu(r)})("keydown",function(r){return n.onKeydown(r)}),T(4,"fb-view-footprint",2),_(5,Fd,3,1,"ol-control"),l()),e&2){let o;w("matTooltipDisabled",n.dragging()),Y("aria-orientation",n.split.stacked()?"horizontal":"vertical")("aria-valuenow",n.splitPercent())("aria-valuemin",n.percent(n.split.shownRange().min))("aria-valuemax",n.percent(n.split.shownRange().max)),c(3),w("secondary",!0)("logo",!1)("olInteractions",n.interactions())("olControls",n.olControls)("zoom",n.zoom())("center",n.center())("rotation",n.rotation())("minZoom",n.app.MAP_ZOOM_EXTENT.min)("maxZoom",n.app.MAP_ZOOM_EXTENT.max)("enableAnimation",!1),c(),w("ring",n.footprint())("zIndex",950),c(),g((o=n.split.secondaryActive()&&n.statusBar())?5:-1,o)}},dependencies:[mr,cr,lr,ar,go,pr,dr,ur,ue,de,De,Oe,rt],styles:['[_nghost-%COMP%]{position:relative;display:block;flex:1 1 0;min-width:0;min-height:0;box-sizing:border-box;border-left:8px solid #2b3846}.split-ol-map[_ngcontent-%COMP%]{display:block;width:100%;height:100%;overflow:hidden}.active-pane[_nghost-%COMP%]:after{content:"";position:absolute;inset:0;z-index:2;pointer-events:none;box-shadow:inset 0 0 0 3px #367abe}@media(forced-colors:active){.active-pane[_nghost-%COMP%]:after{box-shadow:none;outline:3px solid Highlight;outline-offset:-3px}}.split-grip[_ngcontent-%COMP%]{position:absolute;top:50%;left:-4px;transform:translate(-50%,-50%);z-index:3;width:28px;height:56px;padding:0;border:1px solid #8c95bd;border-radius:14px;background-color:#e0e0ff;color:#2b3846;display:flex;align-items:center;justify-content:center;cursor:col-resize;touch-action:none}.split-grip[_ngcontent-%COMP%]:before{content:"";position:absolute;inset:-10px}.split-grip[_ngcontent-%COMP%]:focus-visible{outline:3px solid rgb(54,122,190);outline-offset:2px}.stacked[_nghost-%COMP%]{border-left:0;border-top:8px solid #2b3846}.stacked[_nghost-%COMP%] .split-grip[_ngcontent-%COMP%]{top:-4px;left:75%;width:56px;height:28px;cursor:row-resize}.stacked[_nghost-%COMP%] .split-grip[_ngcontent-%COMP%] mat-icon[_ngcontent-%COMP%]{transform:rotate(90deg)}']})};var Nd=["leftToolbar"],Bd=["sideright"],$d=["fbMap"],zd=["layersmenu"],Ud=["editmenu"],qd=["settingsmenu"],Hd=()=>[$o],Wd=()=>[Go],Gd=()=>[No],jd=()=>[Mo],Kd=()=>[Ao],Xd=()=>[Bo],Zd=()=>[Io],Qd=()=>[Ko],Yd=()=>[Qo],Jd=(i,t)=>({"dark-theme":i,"app-night":t}),eu=()=>[],Ds=i=>({$implicit:i}),tu=(i,t)=>t.id,nu=(i,t)=>t[0];function iu(i,t){if(i&1){let e=E();a(0,"button",11),h("click",function(){m(e);let o=p();return f(o.displayLeftMenu("resourceGroups",!0))}),a(1,"mat-icon"),u(2,"category"),l(),u(3," \xA0Groups "),l()}}function ou(i,t){if(i&1){let e=E();a(0,"button",11),h("click",function(){m(e);let o=p();return f(o.showOverlaysMoved())}),a(1,"mat-icon"),u(2,"layers"),l(),u(3," \xA0Overlays "),l()}}function ru(i,t){if(i&1){let e=E();a(0,"button",11),h("click",function(){m(e);let o=p();return f(o.displayLeftMenu("trackList",!0))}),a(1,"mat-icon",40),u(2,"show_chart"),l(),u(3," \xA0Tracks "),l()}}function au(i,t){if(i&1){let e=E();a(0,"div")(1,"button",11),h("click",function(){let o=m(e).$implicit,r=p(2);return f(r.openExperiment({choice:o,value:null}))}),T(2,"mat-icon",41),u(3),l()()}if(i&2){let e=t.$implicit;c(3),ve(" \xA0",e," ")}}function su(i,t){if(i&1&&(a(0,"div"),q(1,au,4,1,"div",null,xe),l()),i&2){let e=p();c(),H(e.app.config.resources.paths.sort())}}function lu(i,t){i&1&&qe(0)}function pu(i,t){if(i&1&&(a(0,"button",42),tt(1,lu,1,0,"ng-container",44),a(2,"span"),u(3),l()()),i&2){let e=p().$implicit,n=p(),o=Ee(49);w("disabled",e.disabled)("matMenuTriggerFor",e.menu),c(),w("ngTemplateOutlet",o)("ngTemplateOutletContext",Jt(5,Ds,e)),c(2),z(n.toolbarMenuLabel(e))}}function cu(i,t){i&1&&qe(0)}function du(i,t){if(i&1){let e=E();a(0,"button",45),h("click",function(){let o;m(e);let r=p().$implicit,s=p();return f((o=s.leftToolbar())==null?null:o.run(r))}),tt(1,cu,1,0,"ng-container",44),a(2,"span"),u(3),l()()}if(i&2){let e=p().$implicit,n=p(),o=Ee(49);w("disabled",e.disabled),c(),w("ngTemplateOutlet",o)("ngTemplateOutletContext",Jt(4,Ds,e)),c(2),z(n.toolbarMenuLabel(e))}}function uu(i,t){if(i&1&&_(0,pu,4,7,"button",42)(1,du,4,6,"button",43),i&2){let e=t.$implicit;g(e.menu?0:1)}}function mu(i,t){i&1&&T(0,"mat-divider")}function fu(i,t){if(i&1){let e=E();a(0,"a",11),h("click",function(){m(e);let o=p(2);return f(o.clearTrail(o.app.data.serverTrail))}),a(1,"mat-icon"),u(2,"clear_all"),l(),a(3,"span"),u(4),l()(),a(5,"a",11),h("click",function(){m(e);let o=p(2);return f(o.trailToRoute())}),a(6,"mat-icon"),u(7,"insights"),l(),a(8,"span"),u(9,"Trail to Route"),l()(),T(10,"mat-divider")}if(i&2){let e=p(2);c(4),ve("",e.app.data.serverTrail?"Refresh":"Clear"," Trail")}}function hu(i,t){if(i&1){let e=E();a(0,"a",11),h("click",function(){m(e);let o=p(2);return f(o.clearDestination())}),a(1,"mat-icon"),u(2,"clear_all"),l(),a(3,"span"),u(4,"Stop Navigating"),l()(),a(5,"a",11),h("click",function(){m(e);let o=p(2);return f(o.clearCourseData())}),a(6,"mat-icon"),u(7,"clear_all"),l(),a(8,"span"),u(9,"Clear Course Data"),l()(),T(10,"mat-divider")}}function _u(i,t){if(i&1){let e=E();T(0,"mat-divider"),a(1,"a",11),h("click",function(){m(e);let o=p(2);return f(o.showWeather("forecast"))}),a(2,"mat-icon"),u(3,"air"),l(),a(4,"span"),u(5,"Weather Forecast"),l()()}}function gu(i,t){if(i&1){let e=E();T(0,"mat-divider"),a(1,"a",11),h("click",function(){m(e);let o=p(2);return f(o.openFeatureBrowser())}),a(2,"mat-icon",22),u(3,"tips_and_updates"),l(),a(4,"span"),u(5,"What's New"),l()()}}function vu(i,t){if(i&1){let e=E();_(0,fu,11,1),_(1,hu,11,0),a(2,"a",11),h("click",function(){m(e);let o=p();return f(o.toggleCourseData())}),a(3,"mat-icon"),u(4),l(),a(5,"span"),u(6),l()(),a(7,"a",11),h("click",function(){m(e);let o=p();return f(o.toggleAisTargets())}),a(8,"mat-icon"),u(9),l(),a(10,"span"),u(11),l()(),a(12,"a",11),h("click",function(){m(e);let o=p();return f(o.toggleNotes())}),a(13,"mat-icon"),u(14),l(),a(15,"span"),u(16),l()(),_(17,_u,6,0),T(18,"mat-divider"),a(19,"a",11),h("click",function(){m(e);let o=p();return f(o.openSettings())}),a(20,"mat-icon"),u(21,"settings"),l(),a(22,"span"),u(23,"Settings"),l()(),_(24,gu,6,0)}if(i&2){let e=p(),n=hi(43);g(e.app.config.vessels.trail&&e.app.selfTrail().length!==0?0:-1),c(),g(e.course.courseData().position?1:-1),c(3),z(e.app.config.ui.showCourseData?"visibility_off":"compare_arrows"),c(2),ve("",e.app.config.ui.showCourseData?"Hide":"Show"," Course Data"),c(3),z(e.app.config.ui.showAisTargets?"visibility_off":"directions_boat"),c(2),ve("",e.app.config.ui.showAisTargets?"Hide":"Show"," Vessels"),c(3),z(e.app.config.ui.showNotes?"visibility_off":"local_offer"),c(2),ve("",e.app.config.ui.showNotes?"Hide":"Show"," Notes"),c(),g(e.app.featureFlags().weatherApi&&e.app.data.vessels.showSelf?17:-1),c(7),g(e.overflowHas(n,"whatsNew")?-1:24)}}function Cu(i,t){if(i&1&&(a(0,"mat-icon",46),u(1),l()),i&2){let e=t.$implicit;it((e.iconClass??"")+(e.active?" icon-primary":"")),w("svgIcon",e.svgIcon),c(),z(e.svgIcon?"":e.icon)}}function wu(i,t){if(i&1){let e=E();a(0,"a",11),h("click",function(){m(e);let o=p();return f(o.newWaypointAtVessel())}),a(1,"mat-icon",13),u(2,"add_location"),l(),a(3,"span"),u(4,"Add Waypoint at Vessel"),l()()}}function bu(i,t){if(i&1){let e=E();a(0,"a",11),h("click",function(){m(e);let o=p();return f(o.drawFeature("note"))}),a(1,"mat-icon"),u(2,"local_offer"),l(),a(3,"span"),u(4,"Add Note"),l()()}}function xu(i,t){if(i&1){let e=E();a(0,"a",11),h("click",function(){m(e);let o=p();return f(o.showLogin(null,!1))}),a(1,"mat-icon",47),u(2," account_circle "),l(),a(3,"span"),u(4),l()(),T(5,"mat-divider")}if(i&2){let e=p();c(),w("matBadgeHidden",e.app.isLoggedIn()),c(3),z(e.app.isLoggedIn()?"Change User":"Login")}}function yu(i,t){if(i&1){let e=E();a(0,"a",11),h("click",function(){m(e);let o=p();return f(o.displayLeftMenu("anchorWatch",!0))}),a(1,"mat-icon"),u(2,"anchor"),l(),a(3,"span"),u(4,"Anchor Watch"),l()()}}function Eu(i,t){i&1&&(a(0,"mat-icon",22),u(1,"check_box"),l())}function Tu(i,t){i&1&&T(0,"mat-icon",48)}function Mu(i,t){if(i&1){let e=E();a(0,"a",11),h("click",function(){m(e);let o=p();return f(o.toggleRadarOverlay())}),_(1,Eu,2,0,"mat-icon",22)(2,Tu,1,0,"mat-icon",48),a(3,"span"),u(4,"Radar Overlay"),l()()}if(i&2){let e=p();c(),g(e.app.uiCtrl().radarLayer?1:2)}}function Su(i,t){if(i&1){let e=E();a(0,"a",11),h("click",function(){m(e);let o=p();return f(o.showPlaybackSettings())}),a(1,"mat-icon"),u(2,"history"),l(),a(3,"span"),u(4,"Playback History"),l()()}}function Au(i,t){if(i&1){let e=E();a(0,"radar-panel",54),h("connect",function(){m(e);let o=p(3);return f(o.connectRadar())})("disconnect",function(){m(e);let o=p(3);return f(o.disconnectRadar())}),l()}}function Pu(i,t){if(i&1){let e=E();a(0,"note-panel",55),h("edit",function(o){m(e);let r=p(3);return f(r.skres.showNoteEditor({id:o}))})("move",function(o){m(e);let r=p(3);return f(r.onNoteMove(o))})("panTo",function(o){m(e);let r=p(3);return f(r.centerAndZoom(o.center,o.zoomLevel))}),l()}if(i&2){let e=p(),n=p(2);w("note",e.resource)("id",e.id)("interacting",n.isInteracting())}}function ku(i,t){if(i&1){let e=E();a(0,"region-panel",56),h("edit",function(o){m(e);let r=p(3);return f(r.skres.editRegionInfo(o))})("panTo",function(o){m(e);let r=p(3);return f(r.centerAndZoom(o.center,o.zoomLevel))}),l()}if(i&2){let e=p(),n=p(2);w("region",e.resource)("id",e.id)("related",n.infoPanel.related())("interacting",n.isInteracting())}}function Ru(i,t){if(i&1){let e=E();a(0,"waypoint-panel",57),h("edit",function(o){m(e);let r=p(3);return f(r.skres.editWaypointInfo(o))})("panTo",function(o){m(e);let r=p(3);return f(r.centerAndZoom(o.center,o.zoomLevel))}),l()}if(i&2){let e=p(),n=p(2);w("waypoint",e.resource)("id",e.id)("related",n.infoPanel.related())("interacting",n.isInteracting())}}function Iu(i,t){if(i&1){let e=E();a(0,"route-panel",58),h("edit",function(o){m(e);let r=p(3);return f(r.onRouteInfoEdit(o))})("activate",function(o){m(e);let r=p(3);return f(r.activateRoute(o))})("panTo",function(o){m(e);let r=p(3);return f(r.centerAndZoom(o.center,o.zoomLevel))}),l()}if(i&2){let e=p(),n=p(2);w("route",e.resource)("id",e.id)("related",n.infoPanel.related())("interacting",n.isInteracting())}}function Ou(i,t){if(i&1&&(_(0,Au,1,0,"radar-panel"),_(1,Pu,1,3,"note-panel",50),_(2,ku,1,4,"region-panel",51),_(3,Ru,1,4,"waypoint-panel",52),_(4,Iu,1,4,"route-panel",53)),i&2){let e=t;g(e.type==="radars"?0:-1),c(),g(e.type==="notes"?1:-1),c(),g(e.type==="regions"?2:-1),c(),g(e.type==="waypoints"?3:-1),c(),g(e.type==="routes"?4:-1)}}function Du(i,t){if(i&1){let e=E();a(0,"info-panel",49),h("closed",function(){m(e);let o=p();return f(o.closeDrawer())}),_(1,Ou,5,5),l()}if(i&2){let e,n=p();c(),g((e=n.infoPanel.item())?1:-1,e)}}function Lu(i,t){if(i&1){let e=E();a(0,"a",66),h("click",function(){m(e);let o=p(2);return f(o.closeInstrumentPanel())}),a(1,"mat-icon"),u(2,"open_in_new"),l()()}if(i&2){let e=p(2);w("href",e.instUrl(),oi)}}function Vu(i,t){if(i&1&&T(0,"iframe",65),i&2){let e=p(2);w("src",e.instUrl(),ae)}}function Fu(i,t){if(i&1){let e=E();a(0,"div",26)(1,"mat-nav-list")(2,"a",59)(3,"a",60),h("click",function(){m(e);let o=p();return f(o.closeInstrumentPanel())}),a(4,"mat-icon"),u(5,"arrow_forward"),l()(),u(6," \xA0\xA0\xA0\xA0 "),_(7,Lu,3,1,"a",61),a(8,"a",62),h("click",function(){m(e);let o=p();return f(o.selectPlugin())}),a(9,"mat-icon"),u(10,"arrow_back_ios"),l()(),a(11,"a",63),h("click",function(){m(e);let o=p();return f(o.selectPlugin(!0))}),a(12,"mat-icon"),u(13,"arrow_forward_ios"),l()()(),T(14,"mat-divider"),l(),a(15,"div",64),_(16,Vu,1,1,"iframe",65),l()()}if(i&2){let e=p();c(7),g(e.app.config.display.plugins.instruments?7:-1),c(),w("disabled",e.app.config.display.plugins.favourites.length===0),c(3),w("disabled",e.app.config.display.plugins.favourites.length===0),c(5),g(e.app.instrumentPanel().activate?16:-1)}}function Nu(i,t){i&1&&(a(0,"div",28),T(1,"mat-progress-bar",67),l())}function Bu(i,t){if(i&1){let e=E();a(0,"autopilot-console",68),h("close",function(){m(e);let o=p();return f(o.toggleAutopilotConsole(!1))}),l()}if(i&2){let e=p();w("apData",e.app.data.vessels.self.autopilot)}}function $u(i,t){if(i&1){let e=E();a(0,"route-builder",69),h("save",function(o){m(e);let r=p();return f(r.skres.newRouteAt(o.coordinates,o.meta))})("close",function(){m(e);let o=p();return f(o.toggleRouteBuilderConsole(!1))}),l()}}function zu(i,t){if(i&1&&T(0,"fb-map-toolbar",73,8),i&2){let e=p(2);w("items",e.leftToolbarItems())}}function Uu(i,t){if(i&1){let e=E();a(0,"route-list",80),h("activate",function(o){m(e);let r=p(4);return f(r.activateRoute(o.id))})("deactivate",function(){m(e);let o=p(4);return f(o.clearDestination())})("select",function(o){m(e);let r=p(4);return f(r.handleResourceInfo("routes",o.id))})("points",function(o){m(e);let r=p(4);return f(r.featureProperties({id:o.id,type:"route"}))})("notes",function(o){m(e);let r=p(4);return f(r.skres.showRelatedNotes(o.id,"route",o.readOnly))})("closed",function(){m(e);let o=p(4);return f(o.displayLeftMenu())}),l()}if(i&2){let e=p(4);w("activeRoute",e.app.data.activeRoute)("editingRouteId",e.app.data.editingId)}}function qu(i,t){i&1&&(se(0,Uu,1,2),le(1,0,Hd),pe())}function Hu(i,t){if(i&1){let e=E();a(0,"waypoint-list",81),h("select",function(o){m(e);let r=p(4);return f(r.handleResourceInfo("waypoints",o.id))})("goto",function(o){m(e);let r=p(4);return f(r.course.navigateToWaypoint(o.id))})("deactivate",function(){m(e);let o=p(4);return f(o.clearDestination())})("center",function(o){m(e);let r=p(4);return f(r.centerAndZoom(o))})("notes",function(o){m(e);let r=p(4);return f(r.skres.showRelatedNotes(o.id,"waypoint",o.readOnly))})("closed",function(){m(e);let o=p(4);return f(o.displayLeftMenu())}),l()}if(i&2){let e=p(4);w("activeWaypoint",e.app.data.activeWaypoint)("editingWaypointId",e.app.data.editingId)}}function Wu(i,t){i&1&&(se(0,Hu,1,2),le(1,0,Wd),pe())}function Gu(i,t){if(i&1){let e=E();a(0,"chart-list",82),h("closed",function(){m(e);let o=p(4);return f(o.displayLeftMenu())}),l()}if(i&2){let e=p(4);w("selectedCharts",e.app.config.selections.charts)}}function ju(i,t){i&1&&(se(0,Gu,1,1),le(1,0,Gd),pe())}function Ku(i,t){if(i&1){let e=E();a(0,"note-list",83),h("select",function(o){m(e);let r=p(4);return f(r.handleResourceInfo("notes",o.id))})("pan",function(o){m(e);let r=p(4);return f(r.centerAndZoom(o.center,o.zoomLevel))})("closed",function(){m(e);let o=p(4);return f(o.displayLeftMenu())}),l()}if(i&2){let e=p(4);w("notes",e.skres.notes())}}function Xu(i,t){i&1&&(se(0,Ku,1,1),le(1,0,jd),pe())}function Zu(i,t){if(i&1){let e=E();a(0,"region-list",84),h("select",function(o){m(e);let r=p(4);return f(r.handleResourceInfo("regions",o.id))})("pan",function(o){m(e);let r=p(4);return f(r.centerAndZoom(o.center,o.zoomLevel))})("closed",function(){m(e);let o=p(4);return f(o.displayLeftMenu())}),l()}if(i&2){let e=p(4);w("regions",e.skres.regions())}}function Qu(i,t){i&1&&(se(0,Zu,1,1),le(1,0,Kd),pe())}function Yu(i,t){if(i&1){let e=E();a(0,"track-list",85),h("center",function(o){m(e);let r=p(4);return f(r.centerAndZoom(o))})("closed",function(){m(e);let o=p(4);return f(o.displayLeftMenu())}),l()}}function Ju(i,t){i&1&&(se(0,Yu,1,0),le(1,0,Xd),pe())}function em(i,t){if(i&1){let e=E();a(0,"ais-list",86),h("properties",function(o){m(e);let r=p(4);return f(r.featureProperties({id:o,type:"ais"}))})("closed",function(){m(e);let o=p(4);return f(o.displayLeftMenu())})("focusVessel",function(o){m(e);let r=p(4);return f(r.switchActiveVessel(o))})("pan",function(o){m(e);let r=p(4);return f(r.centerAndZoom(o.center,o.zoomLevel))}),l()}if(i&2){let e=p(4);w("focusId",e.app.data.vessels.activeId)}}function tm(i,t){i&1&&(se(0,em,1,1),le(1,0,Zd),pe())}function nm(i,t){if(i&1){let e=E();a(0,"group-list",49),h("closed",function(){m(e);let o=p(4);return f(o.displayLeftMenu())}),l()}}function im(i,t){i&1&&(se(0,nm,1,0),le(1,0,Qd),pe())}function om(i,t){if(i&1){let e=E();a(0,"anchor-watch",87),h("closed",function(){m(e);let o=p(3);return f(o.displayLeftMenu())}),l()}if(i&2){let e=p(3);w("showSelf",e.app.data.vessels.showSelf)("radius",e.anchor.radius())("raised",e.anchor.raised())}}function rm(i,t){if(i&1){let e=E();a(0,"weather-list",49),h("closed",function(){m(e);let o=p(4);return f(o.displayLeftMenu())}),l()}}function am(i,t){i&1&&(se(0,rm,1,0),le(1,0,Yd),pe())}function sm(i,t){if(i&1&&(a(0,"div",74),_(1,qu,3,0),_(2,Wu,3,0),_(3,ju,3,0),_(4,Xu,3,0),_(5,Qu,3,0),_(6,Ju,3,0),_(7,tm,3,0),_(8,im,3,0),_(9,om,1,3,"anchor-watch",79),_(10,am,3,0),l()),i&2){let e=p(2);c(),g(e.leftMenuCtrl().routeList?1:-1),c(),g(e.leftMenuCtrl().waypointList?2:-1),c(),g(e.leftMenuCtrl().chartList?3:-1),c(),g(e.leftMenuCtrl().noteList?4:-1),c(),g(e.leftMenuCtrl().regionList?5:-1),c(),g(e.leftMenuCtrl().trackList?6:-1),c(),g(e.leftMenuCtrl().aisList?7:-1),c(),g(e.leftMenuCtrl().resourceGroups?8:-1),c(),g(e.leftMenuCtrl().anchorWatch?9:-1),c(),g(e.leftMenuCtrl().weatherList?10:-1)}}function lm(i,t){i&1&&(a(0,"div",76)(1,"mat-icon",88),u(2,"visibility_off "),l()())}function pm(i,t){i&1&&(a(0,"div",76)(1,"mat-icon",89),u(2,"compare_arrows "),l()())}function cm(i,t){i&1&&(a(0,"div",76)(1,"mat-icon",90),u(2,"directions_boat "),l()())}function dm(i,t){i&1&&(a(0,"div",76)(1,"mat-icon",91),u(2,"local_offer "),l()())}function um(i,t){i&1&&(a(0,"div",76)(1,"mat-icon",92),u(2,"signal_wifi_statusbar_connected_no_internet_4 "),l()())}function mm(i,t){if(i&1){let e=E();a(0,"pip-video",95),h("click",function(){m(e);let o=p(3);return f(o.focusMap())}),l()}if(i&2){let e=p(3);w("src",e.vidUrl())("muted",!0)}}function fm(i,t){if(i&1&&(T(0,"fb-map-toolbar",93),_(1,mm,1,2,"pip-video",94)),i&2){let e=p(2);j("top",60+e.plotterExt.toolbarTopOffset(),"px")("bottom",e.rightToolbarBottom(),"px"),w("items",e.rightToolbarItems()),c(),g(e.app.config.resources.video.enable&&e.app.config.resources.video.url?1:-1)}}function hm(i,t){if(i&1){let e=E();a(0,"div",70)(1,"div",71)(2,"button",72)(3,"mat-icon"),u(4,"menu"),l()()()(),_(5,zu,2,1,"fb-map-toolbar",73),_(6,sm,11,10,"div",74),a(7,"div",75),_(8,lm,3,0,"div",76),_(9,pm,3,0,"div",76),_(10,cm,3,0,"div",76),_(11,dm,3,0,"div",76),_(12,um,3,0,"div",76),l(),a(13,"div",77)(14,"div",71)(15,"button",78),h("click",function(){m(e);let o=p();return f(o.toggleToolbarButtons())}),a(16,"mat-icon"),u(17),l()()()(),_(18,fm,2,6)}if(i&2){let e=p(),n=Ee(86);c(2),w("disabled",e.isInteracting())("matBadgeHidden",e.app.isLoggedIn())("matMenuTriggerFor",n),c(3),g(e.app.uiConfig().toolbarButtons?5:-1),c(),g(e.leftMenuCtrl().leftMenuPanel?6:-1),c(),j("top",20+e.plotterExt.toolbarTopOffset(),"px"),c(),g(!e.wakeLock.enabled()&&e.wakeLock.isAvailable?8:-1),c(),g(e.app.uiConfig().showCourseData?-1:9),c(),g(e.app.uiConfig().showAisTargets?-1:10),c(),g(e.app.uiConfig().showNotes?-1:11),c(),g(e.stream.watchDogAlarm()?12:-1),c(),j("top",e.plotterExt.toolbarTopOffset(),"px"),c(2),w("matTooltip",e.app.uiConfig().toolbarButtons?"Hide Toolbars":"Show Toolbars"),c(2),z(e.app.uiConfig().toolbarButtons?"apps":"apps_outage"),c(),g(e.app.uiConfig().toolbarButtons?18:-1)}}function _m(i,t){if(i&1&&T(0,"fb-split-map",33),i&2){let e=p(),n=Ee(137);w("scaleUnits",e.app.config.units.distance)("statusBar",n.statusBar)}}function gm(i,t){if(i&1&&(a(0,"div",37)(1,"div",96)(2,"mat-icon"),u(3,"access_time"),l(),a(4,"b"),u(5,"Playback:"),l()(),a(6,"div",97),u(7),l()()),i&2){let e=p();c(7),z(e.playbackTime())}}function vm(i,t){if(i&1){let e=E();a(0,"alert-list",101),h("closed",function(){m(e);let o=p(2);return f(o.toggleAlertList(!1))}),l()}if(i&2){let e=p(2);w("alerts",e.notiMgr.alerts())}}function Cm(i,t){if(i&1){let e=E();a(0,"span",100)(1,"fb-alert",102),h("nextPoint",function(){m(e);let o=p(2);return f(o.course.coursePointIndex(o.course.courseData().pointIndex+1))})("routeEnd",function(){m(e);let o=p(2);return f(o.clearDestination())}),l()()}if(i&2){let e=t.$implicit,n=p(2);c(),w("audioStatus",n.audioStatus())("alert",e[1])("acknowledged",e[1].acknowledged)("silenced",e[1].silenced)("doNotPlaySound",n.app.config.display.muteSound)}}function wm(i,t){if(i&1&&(_(0,vm,1,1,"alert-list",98),a(1,"div",99),q(2,Cm,2,5,"span",100,nu),l()),i&2){let e=p();g(e.app.uiCtrl().alertList?0:-1),c(2),H(e.notiMgr.alerts())}}function bm(i,t){if(i&1){let e=E();a(0,"fb-interact-help",103),h("finish",function(){m(e);let o=p();return f(o.handleInteractionFinish())})("cancel",function(){m(e);let o=p();return f(o.closeInteraction())})("undo",function(){m(e);let o=p();return f(o.handleInteractionUndo())}),l()}}function xm(i,t){if(i&1){let e=E();a(0,"fb-interact-help",104),h("cancel",function(){m(e);let o=p();return f(o.mapInteract.cancelPick("user"))}),l()}}function ym(i,t){if(i&1){let e=E();a(0,"route-nextpoint",107),h("selected",function(o){m(e);let r=p(2);return f(r.routeNextPoint(o))}),l()}if(i&2){let e=p(2);w("index",e.course.courseData().pointIndex)("total",e.course.courseData().pointTotal)("circular",e.app.data.activeRouteCircular)}}function Em(i,t){if(i&1&&T(0,"ap-dial-text",117),i&2){let e=p(3);w("title","VMG")("value",e.app.formatSpeed(e.course.courseData().vmg,!0))("units",e.app.formattedSpeedUnits)}}function Tm(i,t){if(i&1&&T(0,"ap-dial-text",117),i&2){let e=p(3);w("title","BRG")("value",t.toFixed(1))("units",e.course.courseData().bearing.type==="M"?"deg (M)":"deg (T)")}}function Mm(i,t){if(i&1&&T(0,"ap-dial-text",117),i&2){let e=t,n=p(3);w("title","XTE")("value",e>10?e.toFixed(1):e.toFixed(3))("units",n.convert.getSymbol(n.app.config.units.distance))}}function Sm(i,t){if(i&1&&T(0,"ap-dial-text",120),i&2){let e=p(4);w("title","DTG")("value",t.toFixed(1))("units",e.convert.getSymbol(e.app.config.units.distance))}}function Am(i,t){i&1&&T(0,"ap-dial-ttg",121),i&2&&w("value",t)}function Pm(i,t){i&1&&T(0,"ap-dial-eta",122),i&2&&w("title","ETA")("value",t)}function km(i,t){if(i&1&&(_(0,Sm,1,3,"ap-dial-text",120),_(1,Am,1,1,"ap-dial-ttg",121),_(2,Pm,1,2,"ap-dial-eta",122)),i&2){let e,n,o,r=p(3);g((e=r.course.courseData().route.dtg)?0:-1,e),c(),g((n=r.course.courseData().route.ttg)?1:-1,n),c(),g((o=r.course.courseData().route.eta)?2:-1,o)}}function Rm(i,t){if(i&1&&T(0,"ap-dial-text",117),i&2){let e=p(3);w("title","DTG")("value",t.toFixed(1))("units",e.convert.getSymbol(e.app.config.units.distance))}}function Im(i,t){i&1&&T(0,"ap-dial-ttg",118),i&2&&w("value",t)}function Om(i,t){i&1&&T(0,"ap-dial-eta",119),i&2&&w("title","ETA")("value",t)}function Dm(i,t){if(i&1){let e=E();a(0,"div",106)(1,"div",108)(2,"div",109)(3,"button",110),h("click",function(){m(e);let o=p(2);return f(o.openCourseSettings())}),T(4,"mat-icon",111),l(),T(5,"br"),a(6,"button",112),h("click",function(){m(e);let o=p(2);return f(o.autopilot.engage())}),T(7,"mat-icon",113),l()(),a(8,"div")(9,"button",114),h("click",function(){m(e);let o=p(2);return f(o.course.courseRestart())}),a(10,"mat-icon"),u(11,"replay"),l()(),T(12,"br"),a(13,"button",115),h("click",function(){m(e);let o=p(2);return f(o.course.courseReverse())}),a(14,"mat-icon",116),u(15," multiple_stop "),l()()()(),_(16,Em,1,3,"ap-dial-text",117),_(17,Tm,1,3,"ap-dial-text",117),_(18,Mm,1,3,"ap-dial-text",117),_(19,km,3,3),_(20,Rm,1,3,"ap-dial-text",117),_(21,Im,1,1,"ap-dial-ttg",118),_(22,Om,1,2,"ap-dial-eta",119),l()}if(i&2){let e,n,o,r,s,d=p(2);c(6),w("disabled",!d.app.featureFlags().autopilotApi||!d.app.data.vessels.self.autopilot.default),c(),w("color",d.navDataPanel().apModeColor),c(6),w("disabled",!d.app.data.activeRoute),c(),w("color",d.app.data.activeRouteReversed?"primary":"none"),c(2),g(d.course.courseData().vmg?16:-1),c(),g((e=d.course.courseData().bearing.value)?17:-1,e),c(),g((n=d.course.courseData().xte)?18:-1,n),c(),g(d.app.data.activeRoute?19:-1),c(),g((o=d.course.courseData().dtg)?20:-1,o),c(),g((r=d.course.courseData().ttg)?21:-1,r),c(),g((s=d.course.courseData().eta)?22:-1,s)}}function Lm(i,t){if(i&1&&(a(0,"div",38),_(1,ym,1,3,"route-nextpoint",105),_(2,Dm,23,11,"div",106),l()),i&2){let e=p();c(),g(e.navDataPanel().nextPointCtrl?1:-1),c(),g(e.app.config.ui.showCourseData&&e.navDataPanel().show?2:-1)}}function Vm(i,t){if(i&1){let e=E();a(0,"mfb-container",123),h("radarClick",function(){m(e);let o=p();return f(o.toggleRadarPanel())}),l()}if(i&2){let e=p();w("action",e.app.config.display.fab)("extensionButton",e.extensionActionButton())}}var Os="fb-track-api-notice-dismissed",Ht=class i{sideright;fbMap;layersMenu;editMenu;settingsMenu;experiments;pipVideo=en(ct);leftToolbar=en("leftToolbar");navDataPanel=L({show:!1,nextPointCtrl:!1,apModeColor:"",apModeText:""});playbackTime=L(null);leftMenuCtrl=L({leftMenuPanel:!1,routeList:!1,waypointList:!1,chartList:!1,noteList:!1,regionList:!1,trackList:!1,aisList:!1,resourceGroups:!1,anchorWatch:!1,weatherList:!1});displayFullscreen=L({active:!1,enabled:document.fullscreenEnabled});features={playbackAPI:!0};mode=0;timers=[];userConfigLoaded=Promise.resolve(!1);trackApiNoticeShown=!1;instUrl=L(null);selFavourite=-1;vidUrl=L(null);convert=on;toolbarMenuLabel=oo;obsList=[];streamOptions={options:null,toMode:null};mapSetFocus=L("");mapCenter=L([0,0]);audioStatus=L("");isInteracting=O(()=>this.mapInteract.isMeasuring()||this.mapInteract.isDrawing()||this.mapInteract.isModifying()||this.mapInteract.isBoxSelecting());app=v(Ct);splitView=v(vt);viewNorthUp=O(()=>this.splitView.secondaryActive()?this.splitView.northUp():this.app.uiConfig().mapNorthUp);infoPanel=v(zo);mapInteract=v(pt);anchor=v(tr);notiMgr=v(Yo);course=v(Eo);stream=v(dt);skres=v(bo);gpxExport=v(Tr);skresOther=v(xo);signalk=v(ji);dom=v(ce);overlayContainer=v(st);bottomSheet=v(Wi);dialog=v(Fi);wakeLock=v(Bi);settings=v(yr);autopilot=v(ir);radarApi=v(ao);symbols=v(Ki);routeBuffers=v(po);plotterExt=v(X);temporaryRoutes=v(Uo);whatsNew=v(Lt);narrowScreen=Ti(v(Mi).observe("(max-width: 800px)").pipe(Be(t=>t.matches)),{initialValue:!1});rightToolbarBottom=O(()=>{let t=this.plotterExt.actionButtonLift();return(t>0?t:23)+57});constructor(){this.app.data.vessels.active=this.app.data.vessels.self,$(()=>{this.app.debug("** skAuthChange Event:",this.app.skAuthChange()),this.handleSKAuthChange()}),$(()=>{this.app.debug("** kioskMode Event:",this.app.kioskMode()),this.toggleSuppressContextMenu(this.app.kioskMode())}),$(()=>{this.handleSelectionEnded(this.mapInteract.selection())}),$(()=>{this.app.uiConfig(),this.handleSettingChangeEvent()}),$(()=>{this.infoPanel.opened()||this.app.instrumentPanel().activate?this.sideright?.opened||this.openDrawer():this.sideright?.opened&&this.closeDrawer()}),$(()=>{let t=this.app.mapMoveRequest();t&&Ce(()=>this.applyMapMove(t))})}ngAfterViewInit(){setTimeout(()=>{this.app.config.display.disableWakelock||this.wakeLock.enable()},500)}enableAudio(){this.app.audio.context&&this.app.audio.context.resume()}ngOnInit(){this.whatsNew.init(),this.audioStatus.update(()=>this.app.audio.context.state),this.app.debug("audio state:",this.audioStatus()),this.app.audio.context.onstatechange=()=>{this.app.debug("audio statechange:",this.app.audio.context.state),this.audioStatus.update(()=>this.app.audio.context.state)},this.mapCenter.update(()=>this.app.config.map.center),this.app.instrumentPanel.update(t=>Object.assign({},t,{activate:!this.app.config.display.plugins.startOnOpen})),this.setDarkTheme(),this.instUrl.update(()=>this.dom.bypassSecurityTrustResourceUrl(this.formatInstrumentsUrl())),this.vidUrl.update(()=>this.dom.bypassSecurityTrustResourceUrl(`${this.app.config.resources.video.url}`)),this.connectSignalKServer(),this.obsList.push(this.stream.delta$().subscribe(t=>this.onMessage(t))),this.obsList.push(this.stream.connect$().subscribe(t=>this.onConnect(t))),this.obsList.push(this.stream.close$().subscribe(t=>this.onClose(t))),this.obsList.push(this.stream.error$().subscribe(t=>this.onError(t))),this.obsList.push(this.stream.trail$().subscribe(t=>this.handleTrailUpdate(t))),this.obsList.push(this.stream.trackSource$().subscribe(t=>this.handleTrackSource(t))),this.obsList.push(this.settings.change$.subscribe(t=>this.handleSettingChangeEvent(t))),document.addEventListener("fullscreenchange",()=>{this.displayFullscreen.update(t=>Object.assign({},t,{active:!!document.fullscreenElement}))}),document.addEventListener("fullscreenerror",()=>{this.displayFullscreen.update(t=>Object.assign({},t,{active:!1}))})}ngOnDestroy(){this.stopTimers(),this.stream.terminate(),this.signalk.disconnect(),this.obsList.forEach(t=>t.unsubscribe())}getOrientation(){return this.app.uiConfig().mapNorthUp?"rotate(0deg)":"rotate("+(0-this.app.data.vessels.active.orientation)+"rad)"}showRadarPanel(){if(!this.radarApi.hasWebGL){this.radarApi.showNoWebGLMessage();return}this.app.instrumentPanel().open&&this.closeInstrumentPanel(),this.connectRadar(),this.infoPanel.openRadar(this.radarApi.radar()),this.focusMap()}toggleRadarPanel(){this.infoPanel.item()?.type==="radars"?(this.infoPanel.close(),this.closeDrawer()):this.showRadarPanel()}connectRadar(){this.app.uiCtrl().radarLayer||this.app.uiCtrl.update(t=>Object.assign({},t,{radarLayer:!0}))}toggleRadarOverlay(){this.app.uiCtrl().radarLayer?this.disconnectRadar():this.showRadarPanel()}disconnectRadar(){this.app.uiCtrl().radarLayer&&this.app.uiCtrl.update(t=>Object.assign({},t,{radarLayer:!1}))}toggleMoveMap(t=!1){this.app.uiConfig.update(e=>{let n=t?!1:!e.mapMove;return Object.assign({},e,{mapMove:n})}),this.focusMap()}resumeMoveMap(){this.app.uiConfig.update(t=>Object.assign({},t,{mapMove:!0})),this.focusMap()}toggleFollow(){if(this.splitView.secondaryActive()){this.splitView.setFollow(!this.splitView.follow()),this.focusMap();return}this.toggleMoveMap()}toggleNorthUp(){if(this.splitView.secondaryActive()){this.splitView.setNorthUp(!this.splitView.northUp()),this.focusMap();return}this.app.uiConfig.update(t=>Object.assign({},t,{mapNorthUp:!t.mapNorthUp})),this.focusMap()}toggleToolbarButtons(){this.app.uiConfig.update(t=>Object.assign({},t,{toolbarButtons:!t.toolbarButtons})),this.focusMap()}leftToolbarItems(){let t=this.isInteracting(),e=this.viewNorthUp(),n=this.app.activePaneFollows(),o=[{id:"alarms",svgIcon:"alert-list",iconClass:"ob",tooltip:"Alarms",buttonClass:"button-warn",badge:this.notiMgr.alerts().length,action:()=>this.toggleAlertList(!0)},{id:"layers",icon:"layers",tooltip:"Routes, Waypoints, Notes, etc.",buttonClass:"button-accent",disabled:t,menu:this.layersMenu},{id:"draw",icon:"edit",tooltip:"Draw / Measure / Select",disabled:t,menu:this.editMenu},{id:"northUp",svgIcon:e?"heading-n-up":"heading-h-up",iconClass:"ob",tooltip:e?"Show Heading Up":"Show North Up",active:!e,action:()=>this.toggleNorthUp()},{id:"follow",svgIcon:"cent-iec",iconClass:"ob",tooltip:n?"Turn off Follow Vessel":"Center & Follow Vessel",active:n,disabled:!this.app.data.vessels.showSelf,action:()=>this.toggleFollow()},{id:"more",icon:"more_horiz",tooltip:"More actions",disabled:t,menu:this.settingsMenu,overflowAnchor:!0}];return this.mode===1&&o.push({id:"exitPlayback",icon:"cancel",tooltip:"Exit playback mode",buttonClass:"button-warn",active:!0,action:()=>this.showSelectMode()}),this.whatsNew.hasUnseen()&&o.push({id:"whatsNew",icon:"tips_and_updates",tooltip:"What's New",buttonClass:"button-accent",active:!0,action:()=>this.openFeatureBrowser()}),o}overflowHas(t,e){return t.some(n=>n.id===e)}rightToolbarItems(){let t=[],e=this.app.uiConfig();if(this.app.instrumentPanelAvailable()&&this.app.config.display.plugins.instruments&&!this.narrowScreen()&&t.push({id:"instruments",icon:"av_timer",tooltip:"Instruments",disabled:this.app.instrumentPanel().open||this.infoPanel.opened()||this.isInteracting()||!!this.app.data.vessels.activeId,action:()=>this.openInstrumentPanel()}),this.audioStatus()!=="running"&&t.push({id:"audio",icon:"volume_off",iconClass:"icon-warn",tooltip:"Web Audio off! Click to enable.",buttonClass:"button-toolbar",active:!0,action:()=>this.enableAudio()}),this.app.isTopWindow()&&this.displayFullscreen().enabled){let n=this.displayFullscreen().active;t.push({id:"fullscreen",icon:n?"fullscreen_exit":"fullscreen",tooltip:n?"Exit Fullscreen":"Go Fullscreen",active:n,action:()=>this.toggleFullscreen()})}if(t.push({id:"constrainZoom",icon:"zoom_in_map",tooltip:"Constrain map zoom",active:e.mapConstrainZoom,action:()=>this.toggleConstrainMapZoom()},{id:"invertColor",icon:"invert_colors",tooltip:"Invert feature text color",active:e.invertColor,action:()=>this.invertFeatureLabelColor()}),this.app.config.display.splitView){let n=this.splitView.enabled();t.push({id:"splitView",icon:"vertical_split",tooltip:n?"Close split view":"Split view: a second chart",active:n,action:()=>this.splitView.toggle()})}return this.app.config.experiments&&t.push({id:"experiments",icon:"science",tooltip:"Experiments",menu:this.experiments.menu}),this.app.config.resources.video.enable&&this.app.config.resources.video.url&&t.push({id:"pip",icon:"videocam",tooltip:"Show Video",disabled:!this.pipVideo()?.canStart(),action:()=>this.pipVideo()?.initPiP()}),this.app.featureFlags().autopilotApi&&this.app.data.vessels.self.autopilot.default&&this.app.config.display.fab!=="autopilot"&&t.push({id:"autopilot",svgIcon:"command-autopilot",iconClass:"ob",tooltip:"Autopilot",active:this.app.data.vessels.self.autopilot.enabled,action:()=>this.toggleAutopilotConsole(!this.app.uiCtrl().autopilotConsole)}),this.app.featureFlags().radarApi&&this.radarApi.radarId()&&this.app.config.display.fab!=="radar"&&t.push({id:"radar",svgIcon:"radar-iec",iconClass:"ob",tooltip:"Radar",active:this.app.uiCtrl().radarLayer,disabled:this.app.instrumentPanel().open,action:()=>this.toggleRadarPanel()}),t.push(...ln(this.extensionToolbarItems(),this.app.config.display.fab).toolbar),t}extensionActionButton(){return ln(this.extensionToolbarItems(),this.app.config.display.fab).actionButton}extensionToolbarItems(){return this.plotterExt.toolbarButtons().map(t=>fe(ie({id:ro(t.extension,t.button.id),icon:t.button.icon||"extension",tooltip:t.button.title||t.extensionName},so(t.decoration)),{action:()=>this.plotterExt.handleButtonAction(t.extension,t.button)}))}splitActive(){return!!this.app.config.display.splitView&&!this.app.kioskMode()&&this.splitView.enabled()}mainShare=O(()=>`var(${Ve}, ${this.splitView.shownRatio()*100}%)`);toggleConstrainMapZoom(){this.app.uiConfig.update(t=>Object.assign({},t,{mapConstrainZoom:!t.mapConstrainZoom})),this.skres.setMapZoomRange(),this.focusMap()}invertFeatureLabelColor(){this.app.uiConfig.update(t=>Object.assign({},t,{invertColor:!t.invertColor})),this.focusMap()}toggleAlertList(t){this.app.uiCtrl.update(e=>Object.assign({},e,{alertList:t}))}toggleAutopilotConsole(t){this.app.uiCtrl.update(e=>Object.assign({},e,{autopilotConsole:t}))}toggleRouteBuilderConsole(t){this.app.uiCtrl.update(e=>Object.assign({},e,{routeBuilder:t}))}toggleSuppressContextMenu(t){this.app.uiCtrl.update(e=>Object.assign({},e,{suppressContextMenu:t}))}toggleFullscreen(){let t=document.documentElement,e=t.requestFullscreen||t.webkitRequestFullScreen||t.mozRequestFullscreen||t.msRequestFullscreen;e&&(document.fullscreenElement?document.exitFullscreen&&document.exitFullscreen():e.call(t),this.focusMap())}darkThemeApplied;setDarkTheme(){let t=window.matchMedia("(prefers-color-scheme: dark)"),e=this.app.config.display.darkMode.source===0&&t.matches||this.app.config.display.darkMode.source===1&&this.app.data.vessels.self.environment.mode==="night"||this.app.config.display.darkMode.source===-1;if(e===this.darkThemeApplied)return;this.darkThemeApplied=e;let n=this.overlayContainer.getContainerElement();e?n.classList.add("dark-theme"):n.classList.remove("dark-theme"),this.app.config.display.darkMode.enabled=e}formatInstrumentsUrl(){let t=`${this.app.hostDef.url}${this.app.config.display.plugins.instruments}`,e=this.app.config.display.plugins.parameters?this.app.config.display.plugins.parameters.length>0&&this.app.config.display.plugins.parameters[0]!=="?"?`?${this.app.config.display.plugins.parameters}`:this.app.config.display.plugins.parameters:"";return e?`${t}/${e}`:t}selectPlugin(t=!1){t?this.selFavourite===-1?this.selFavourite=0:this.selFavourite===this.app.config.display.plugins.favourites.length-1?this.selFavourite=-1:this.selFavourite++:this.selFavourite===-1?this.selFavourite=this.app.config.display.plugins.favourites.length-1:this.selFavourite===0?this.selFavourite=-1:this.selFavourite--;let e=this.selFavourite===-1?this.formatInstrumentsUrl():`${this.app.hostDef.url}${this.app.config.display.plugins.favourites[this.selFavourite]}`;this.instUrl.update(()=>this.dom.bypassSecurityTrustResourceUrl(e))}showOverlaysMoved(){this.app.showMsgBox("Overlays have moved",`Overlays have moved to the Chart list.
|
|
350
|
+
|
|
351
|
+
Your existing overlays appear there as charts, with the same Time control and auto-refresh.`)}handleContextMenuSelection(t){switch(t){case"cleartrail":this.clearTrail(this.app.data.serverTrail);break;case"trail2route":this.trailToRoute();break;case"cleardestination":this.clearDestination();break;case"anchor":this.displayLeftMenu("anchorWatch",!0);break;case"weather_forecast":this.showWeather("forecast");break}}trailToRoute(){return B(this,null,function*(){let{Trail2RouteDialog:t}=yield import("./chunk-FJGK2Y72.js");this.dialog.open(t,{disableClose:!0,data:{trail:this.app.selfTrail()}}).afterClosed().subscribe(e=>{e.result&&this.skres.newRouteAt(e.data),this.focusMap()})})}showWeather(t){t==="forecast"&&this.bottomSheet.open(Er,{disableClose:!0,data:{title:"Forecast",position:this.app.data.vessels.self.position,subTitle:"Location: Vessel Position"}}).afterDismissed().subscribe(()=>{this.focusMap()})}openExperiment(t){t.choice==="debugCapture"?window.isSecureContext?(navigator.clipboard.writeText(JSON.stringify({data:this.app.data,config:this.app.config})),this.app.showMessage("Debug data catpured to clipboard.")):this.app.showAlert("Feature Unavailable",`This feature is only available in a secure context!
|
|
352
|
+
e.g. https, http://localhost, http://127.0.0.1`):this.app.config.resources.paths.includes(t.choice)&&this.bottomSheet.open(Xo,{disableClose:!0,data:{path:t.choice}}).afterDismissed().subscribe(()=>{this.focusMap()})}openCourseSettings(){this.bottomSheet.open(yo,{disableClose:!0,data:{title:"Course Settings"}}).afterDismissed().subscribe(()=>{this.focusMap()})}handleSKAuthChange(){this.signalk.getLoginStatus().subscribe({next:t=>{this.app.data.loginRequired=t.authenticationRequired??!1,this.app.isLoggedIn.update(()=>t.status==="loggedIn"),this.signalk.get("/plugins/freeboard-sk").subscribe(()=>{this.app.debug("User Authenticated"),this.app.isLoggedIn.set(!0)},e=>{e.status===401&&(this.app.debug("User NOT Authenticated"),this.app.isLoggedIn.set(!1))})},error:()=>this.app.debug("Login status not available")})}connectSignalKServer(){this.app.data.selfId=null,this.app.data.server=null,this.signalk.proxied=this.app.config.signalk.proxied,this.signalk.connect(this.app.hostDef.name,this.app.hostDef.port,this.app.hostDef.ssl).subscribe({next:()=>{this.signalk.authToken=this.app.getFBToken(),this.app.watchSKLogin(),this.userConfigLoaded=this.app.loadUserConfigfromServer().finally(()=>{this.loadSymbolsThenFetchResources(),this.plotterExt.init()}),this.getFeatures(),this.app.data.server=this.signalk.server.info,this.openSKStream()},error:()=>{this.app.showMessage("Unable to contact Signal K server! (Retrying in 5 secs)",!1,5e3),setTimeout(()=>this.connectSignalKServer(),5e3)}})}getFeatures(){return B(this,null,function*(){let t={anchorApi:!1,autopilotApi:!1,weatherApi:!1,radarApi:!1,notificationApi:!1,buddyList:!1,tidalApi:!1};this.signalk.get("/signalk/v2/features?enabled=1").subscribe(o=>{t.weatherApi=o.apis.includes("weather"),t.autopilotApi=o.apis.includes("autopilot"),t.radarApi=o.apis.includes("radar"),t.notificationApi=o.apis.includes("notifications");let r={charts:!1,pmTiles:!1,anchorAlarm:!1,hoekensAnchorAlarm:!1};o.plugins.forEach(s=>{s.id==="anchoralarm"&&(this.app.debug("*** found anchoralarm plugin"),t.anchorApi=!0,r.anchorAlarm=!0),s.id==="hoekens-anchor-alarm"&&Zn.satisfies(s.version,">=2.12.0")&&(this.app.debug("*** found hoekens-anchor-alarm plugin"),t.anchorApi=!0,r.hoekensAnchorAlarm=!0),s.id==="signalk-buddylist-plugin"&&(this.app.debug("*** found buddylist plugin"),t.buddyList=!!Zn.satisfies(s.version,">1.2.0")),s.id==="signalk-pmtiles-plugin"&&(this.app.debug("*** found PMTiles plugin"),r.pmTiles=!0),s.id==="signalk-tidal-currents"&&(this.app.debug("*** found signalk-tidal-currents plugin"),t.tidalApi=!0)}),this.anchor.setPlugin(r.hoekensAnchorAlarm&&!r.anchorAlarm?"hoekens-anchor-alarm":"anchoralarm"),this.app.featureFlags.update(s=>Object.assign({},s,t))},()=>{this.app.debug("*** Features API not present!")}),this.app.fetchUnitPrefsFromSKServer();let e=yield this.skres.detectTrackStore(),n=yield this.skresOther.initCustomCollections(e?["tracks"]:[]);this.app.featureFlags.update(o=>Object.assign({},o,n,{trackStore:e})),e&&this.app.featureFlags().resourceTracks&&((yield this.userConfigLoaded)||!this.app.isLoggedIn())&&(yield this.moveResourceTracks()),this.app.tracksAvailable()&&this.skres.refreshTracks()})}moveResourceTracks(){return B(this,null,function*(){try{let t=yield this.skres.migrateResourceTracks();t!==0&&(this.app.saveConfig(),this.app.showMessage(`Moved ${t} track${t===1?"":"s"} to the Track API.`))}catch(t){console.warn("Tracks not moved to the Track API:",t)}})}startTimers(){this.app.debug("Starting Trail logging timer..."),this.timers.push(setInterval(()=>{this.processTrail()},5e3))}stopTimers(){this.app.debug("Stopping timers:"),this.timers.forEach(t=>clearInterval(t)),this.timers=[]}processTrail(t){if(!this.app.config.vessels.trail)return;let e=this.app.selfTrail().slice(-1),n=this.app.data.vessels.self.position;if(this.app.data.vessels.showSelf&&n){if(e.length===0){this.app.stampTrailPoint(n),this.app.selfTrail.update(r=>{let s=[].concat(r);return s.push(n),s});return}(n[0]!==e[0][0]||n[1]!==e[0][1])&&(this.app.stampTrailPoint(n),this.app.selfTrail.update(r=>{let s=[].concat(r);return s.push(n),s}))}if(!t||t.length===0)this.app.selfTrail().length%60===0&&this.app.data.serverTrail&&this.app.serverTrailWanted()&&this.stream.requestTrailFromServer(!0),this.app.selfTrail.update(r=>r.slice(-5e3));else{let r=t.slice(-1),s=r.length!==0?r[0].slice(-1):t.length>1?t[t.length-2].slice(-1):[],d=this.app.selfTrailTimed()?.times,C=d?.[d.length-1]?.slice(-1)[0];s[0]&&C&&this.app.stampTrailPoint(s[0],C),this.app.selfTrail.update(()=>s)}let o=this.mode===1?"history":"self";this.app.db.saveTrail(o,this.app.selfTrail())}handleTrackSource(t){this.app.debug("Track source:",t),this.app.config.vessels.trail&&this.app.serverTrailWanted()&&this.stream.requestTrailFromServer(),this.showTrackApiNotice(t)}onVisibilityChange(){document.visibilityState==="visible"&&this.mode===0&&this.app.config.vessels.trail&&this.app.serverTrailWanted()&&this.stream.requestTrailFromServer()}showTrackApiNotice(t){if(!(t.api!=="v1"||this.trackApiNoticeShown)){try{if(localStorage.getItem(Os))return}catch(e){}this.trackApiNoticeShown=!0,this.app.showAlert("Vessel Tracks",$i(t),"OK","Don't show this message again").subscribe(e=>{if(e?.checked)try{localStorage.setItem(Os,"1")}catch(n){}})}}handleTrailUpdate(t){t.action==="get"&&t.mode==="trail"&&(this.app.serverTrailWanted()&&this.app.selfTrailFromServer.update(()=>t.data),this.processTrail(t.data))}handleSettingChangeEvent(t){t?.includes("darkTheme")&&this.setDarkTheme(),t?.includes("headingAttribute")&&(this.app.debug("True / Magnetic selection changed.."),this.app.data.vessels.self.heading=this.app.useMagnetic?this.app.data.vessels.self.headingMagnetic:this.app.data.vessels.self.headingTrue,this.app.data.vessels.self.cog=this.app.useMagnetic?this.app.data.vessels.self.cogMagnetic:this.app.data.vessels.self.cogTrue,this.app.data.vessels.self.wind.direction=this.app.useMagnetic?this.app.data.vessels.self.wind.mwd:this.app.data.vessels.self.wind.twd,this.app.data.vessels.aisTargets.forEach(e=>{e.heading=this.app.useMagnetic?e.headingMagnetic:e.headingTrue,e.cog=this.app.useMagnetic?e.cogMagnetic:e.cogTrue,e.wind.direction=this.app.useMagnetic?e.wind.mwd:e.wind.twd}),this.app.sTrueMagChoice.set(this.app.config.units.headingAttribute)),(t?.includes("pluginParameters")||t?.includes("pluginInstruments")||t?.includes("pluginStartOnOpen"))&&(this.instUrl.update(()=>this.dom.bypassSecurityTrustResourceUrl(this.formatInstrumentsUrl())),this.app.instrumentPanel.update(e=>Object.assign({},e,{activate:this.app.config.display.plugins.startOnOpen?!!e.open:!0}))),t?.includes("videoUrl")&&this.vidUrl.update(()=>this.dom.bypassSecurityTrustResourceUrl(`${this.app.config.resources.video.url}`)),(t?.includes("vesselTrail")||t?.includes("trailSource"))&&this.app.config.vessels.trail&&(this.app.serverTrailWanted()?this.stream.requestTrailFromServer():this.app.data.serverTrail=!1)}focusMap(){let t=this.splitView.secondaryActive()?this.splitView.secondaryMap():null;if(t){t.getTargetElement()?.focus();return}this.mapSetFocus.update(()=>Date().valueOf())}openDrawer(){this.sideright.open()}closeDrawer(){this.sideright.close()}openInstrumentPanel(){this.app.instrumentPanel().open||(this.infoPanel.opened()&&this.infoPanel.close(),this.app.instrumentPanel.update(t=>Object.assign({},t,{open:!0,activate:!0})))}closeInstrumentPanel(){this.app.instrumentPanel.update(t=>Object.assign({},t,{open:!1,activate:this.app.config.display.plugins.startOnOpen?!1:t.activate})),this.focusMap()}displayLeftMenu(t="",e=!1){let n={leftMenuPanel:e,routeList:!1,waypointList:!1,chartList:!1,noteList:!1,regionList:!1,trackList:!1,aisList:!1,resourceGroups:!1,anchorWatch:!1,weatherList:!1};switch(t){case"routeList":n.routeList=e;break;case"waypointList":n.waypointList=e;break;case"chartList":n.chartList=e;break;case"noteList":n.noteList=e;break;case"regionList":n.regionList=e;break;case"trackList":n.trackList=e;break;case"anchorWatch":n.anchorWatch=e;break;case"aisList":n.aisList=e;break;case"resourceGroups":n.resourceGroups=e;break;case"weatherList":n.weatherList=e;break;default:n.leftMenuPanel=!1}this.leftMenuCtrl.update(()=>n),e||this.focusMap()}handleResourceInfo(t,e){t==="notes"&&!this.app.useInfoPanel()?this.skres.noteSelected(e,!1):t==="regions"&&!this.app.useInfoPanel()?this.skres.editRegionInfo(e):t==="waypoints"&&!this.app.useInfoPanel()?this.skres.editWaypointInfo(e):t==="routes"&&!this.app.useInfoPanel()?this.skres.editRouteInfo(e):this.infoPanel.open(t,e)}onNoteMove(t){this.infoPanel.opened()&&(this.infoPanel.close(),this.closeDrawer()),this.skres.startNoteModify(t)}openAbout(){return B(this,null,function*(){let{AboutDialog:t}=yield import("./chunk-XPTNBYFH.js");this.dialog.open(t,{disableClose:!1,data:{name:this.app.name,version:this.app.version,description:this.app.description,logo:this.app.logo,url:this.app.url}}).afterClosed().subscribe(()=>this.focusMap())})}openSettings(){return B(this,null,function*(){let{SettingsDialog:t}=yield import("./chunk-NFMYMYDJ.js");this.dialog.open(t,{disableClose:!0,data:{},width:"1000px",maxWidth:"96vw",height:"80vh"}).afterClosed().subscribe(()=>{this.focusMap()})})}openFeatureBrowser(){return B(this,null,function*(){this.whatsNew.markAllSeen();let{FeatureBrowserDialog:t}=yield import("./chunk-I6KNDLKZ.js");this.dialog.open(t,{data:{},width:"900px",maxWidth:"96vw"}).afterClosed().subscribe(()=>{this.focusMap()})})}importFile(t){t.data.indexOf("<gpx ")!==-1?this.processGPX(t):t.data.indexOf('"type": "FeatureCollection",')!==-1?this.processGeoJSON(t):this.app.showAlert("Import","File format not supported!"),this.focusMap()}processGPX(t){return B(this,null,function*(){let{GPXImportDialog:e}=yield import("./chunk-XHJJSLEL.js");this.dialog.open(e,{disableClose:!0,data:{fileData:t.data,fileName:t.name}}).afterClosed().subscribe(n=>{if(typeof n.errCount>"u"||n.errCount<0){this.focusMap();return}this.fetchResources(),n.errCount===0?this.app.showMsgBox("GPX Load","GPX file resources loaded successfully."):this.app.showErrorList(n.errList),this.focusMap()})})}exportToGPX(){return B(this,null,function*(){yield this.gpxExport.exportResources(),this.focusMap()})}processGeoJSON(t){return B(this,null,function*(){let{GeoJSONImportDialog:e}=yield import("./chunk-ROH43CFA.js");this.dialog.open(e,{disableClose:!0,data:{fileData:t.data,fileName:t.name}}).afterClosed().subscribe(n=>{n<0||(this.fetchResources(),n===0?this.app.showMsgBox("GeoJSON Load","GeoJSON features loaded successfully."):this.app.showAlert("GeoJSON Load",`Completed with errors!
|
|
353
|
+
Not all features were loaded.`),this.focusMap())})})}importResourceSet(){return B(this,null,function*(){let{ResourceImportDialog:t}=yield import("./chunk-ECLVX6LA.js");this.dialog.open(t,{disableClose:!0,data:{}}).afterClosed().subscribe(e=>{if(e){try{let n=JSON.parse(e.data);this.skres.postToServer(e.path,n)}catch(n){this.app.showAlert("Load Resource",`Resources were not loaded!
|
|
354
|
+
Invalid JSON.`)}this.focusMap()}})})}showLogin(t,e=!0,n){return B(this,null,function*(){let{LoginDialog:o}=yield import("./chunk-XPTNBYFH.js");this.dialog.open(o,{disableClose:!0,data:{message:t||"Login to Signal K server."}}).afterClosed().subscribe(r=>{r.cancel?(this.app.hasAuthToken.set(!1),this.signalk.isLoggedIn().subscribe(s=>{this.app.isLoggedIn.set(s)}),n?this.showLogin(null,!1,!0):e&&this.app.showAlert("Login Cancelled:","Update operations are NOT available until you have authenticated to the Signal K server.")):this.signalk.login(r.user,r.pwd).subscribe({next:s=>{this.app.setAuthToken(s.token),this.app.loadUserConfigfromServer().then(d=>{d&&(this.loadSymbolsThenFetchResources(),this.plotterExt.init())}),n&&this.queryAfterConnect(),this.app.isLoggedIn.set(!0)},error:()=>{this.app.setAuthToken(null),this.signalk.isLoggedIn().subscribe(s=>{this.app.isLoggedIn.set(s)}),n?this.app.showConfirm("Invalid Username or Password.","Authentication Failed:","Try Again").subscribe(()=>{this.showLogin(null,!1,!0)}):this.app.showConfirm(`Invalid Username or Password.
|
|
355
|
+
Note: Choosing CLOSE may make operations requiring authentication unavailable.`,"Authentication Failed:","Try Again","Close").subscribe(s=>{s&&this.showLogin()})}}),this.focusMap()})})}showPlaybackSettings(){return B(this,null,function*(){let{PlaybackDialog:t}=yield import("./chunk-P2M2PBKT.js");this.dialog.open(t,{disableClose:!1}).afterClosed().subscribe(e=>{e.result?this.switchMode(1,e.query):this.switchMode(0),this.focusMap()})})}centerAndZoom(t,e){if(this.splitView.secondaryActive()){this.splitView.centerOn(t,e??void 0);return}this.centerMainChart(t,typeof e=="number"&&e>this.app.config.map.zoomLevel?e:void 0)}applyMapMove(t){if(t.activePane&&this.splitView.secondaryActive()){this.splitView.centerOn(t.center,t.zoom);return}this.app.uiConfig.update(e=>e.mapMove?fe(ie({},e),{mapMove:!1}):e),this.centerMainChart(t.center,t.zoom)}centerMainChart(t,e){this.mapCenter.update(()=>t),typeof e=="number"&&(this.app.config.map.zoomLevel=e)}toggleAisTargets(){this.app.config.ui.showAisTargets=!this.app.config.ui.showAisTargets,this.app.config.ui.showAisTargets&&this.stream.aisTargetUpdated(),this.app.saveConfig()}toggleCourseData(){this.app.config.ui.showCourseData=!this.app.config.ui.showCourseData,this.app.saveConfig()}toggleNotes(){this.app.config.ui.showNotes=!this.app.config.ui.showNotes,this.app.saveConfig()}clearTrail(t=!1){let e=()=>{this.app.data.serverTrail?this.app.serverTrailWanted()&&this.stream.requestTrailFromServer():this.app.selfTrail.set([])};t?e():this.app.data.serverTrail||this.app.showConfirm("Clear Vessel Trail","Do you want to delete the vessel trail?").subscribe(n=>{n&&e()})}clearCourseData(){this.course.initCourseData()}clearDestination(){this.course.clearCourse()}activateRoute(t){return B(this,null,function*(){let e=this.routeBuffers.get(t);e?.saved&&e.href&&(t=e.href);let n=this.temporaryRoutes.isDraft(t),o=n?this.routeBuffers.get(t)?.points.map(d=>d.position):this.skres.fromCache("routes",t)?.[1].feature.geometry.coordinates;if(!o)try{o=(yield this.skres.fromServer("routes",t)).feature.geometry.coordinates}catch(d){this.app.parseHttpErrorResponse(d);return}let r=d=>n?this.temporaryRoutes.start(t,d):this.course.activateRoute(t,d),s=rn.closestForwardPoint(o,this.app.data.vessels.self.position,on.radiansToDegrees(this.app.data.vessels.self.heading??void 0));if(s===-1){this.app.showConfirm(`Closest point is behind vessel!
|
|
356
|
+
Do you want to start from the first point?`,"Start Route").subscribe(d=>{d&&r()});return}r(s)})}routeNextPoint(t){this.course.rejoinRouteAt(t),this.focusMap()}featureProperties(t){return B(this,null,function*(){let e;if(t.type==="route")try{let n=!!t.resource,o;t.resource?o=t.resource[1]:(this.app.sIsFetching.set(!0),o=yield this.skres.fromServer("routes",t.id),this.app.sIsFetching.set(!1)),o&&this.bottomSheet.open(To,{disableClose:!0,data:{title:"Route Properties",resource:[t.id,o,!1],type:t.type,noButtons:n}}).afterDismissed().subscribe(r=>{r&&this.clearDestination(),this.focusMap()})}catch(n){this.app.sIsFetching.set(!1),this.app.parseHttpErrorResponse(n)}else if(t.type==="aton"||t.type==="meteo"){let n,o,r;t.type==="meteo"?(e=this.app.data.meteo.get(t.id),n="Meteo Properties",o="air",r=t.type):t.id.slice(0,3)==="sar"?(e=this.app.data.sar.get(t.id),n="SaR Properties",o="tour",r="sar"):(e=this.app.data.atons.get(t.id),n="AtoN Properties",o="beenhere",r="aton"),e&&this.bottomSheet.open(Do,{disableClose:!0,data:{title:n,target:e,id:t.id,icon:o,type:r}}).afterDismissed().subscribe(()=>this.focusMap())}else if(t.type==="aircraft")e=this.app.data.aircraft.get(t.id),e&&this.bottomSheet.open(Lo,{disableClose:!0,data:{title:"Aircraft Properties",target:e,id:t.id}}).afterDismissed().subscribe(()=>this.focusMap());else if(t.type==="alarm")this.notiMgr.showAlertInfo(t.id);else if(t.type==="rset"){let n=this.skresOther.fromResourceSetCache(t.id);n&&this.bottomSheet.open(Zo,{disableClose:!0,data:{id:t.id,item:n}}).afterDismissed().subscribe(()=>{this.focusMap()})}else{let n=t.type==="self"?t.type:t.id.includes("vessels.")?t.id.split(".")[1]:t.id;try{this.app.sIsFetching.set(!0),e=yield this.skres.vesselFromServer(n),this.app.sIsFetching.set(!1),e&&this.bottomSheet.open(Oo,{disableClose:!0,data:{title:"Vessel Properties",target:e}}).afterDismissed().subscribe(()=>this.focusMap())}catch(o){this.app.sIsFetching.set(!1),this.app.parseHttpErrorResponse(o)}}})}mapDragOver(t){t.preventDefault()}mapDrop(t){t.preventDefault();let e=t.dataTransfer?.files;if(e)if(e.length>1)this.app.showAlert("Load Resources",`Multiple files provided!
|
|
357
|
+
Please select only one file for processing.`);else{let n=new FileReader;if(n.onerror=()=>{this.app.showAlert("File Load error","There was an error reading the file contents!")},!e[0]?.name)return;let o=e[0].name;n.onload=()=>{this.processGPX({name:o,data:n.result})},n.readAsText(e[0])}}switchActiveVessel(t=null){if(this.app.data.vessels.activeId=t,!t)this.app.data.vessels.active=this.app.data.vessels.self;else{let e=this.app.data.vessels.aisTargets.get(t);e?(this.app.data.vessels.active=e,this.sideright.close()):(this.app.data.vessels.active=this.app.data.vessels.self,this.app.data.vessels.activeId=null)}this.app.data.activeRoute=null,this.clearCourseData(),this.app.debug(`** Active vessel: ${this.app.data.vessels.activeId} `),this.app.debug(this.app.data.vessels.active)}switchMode(t,e){this.app.debug(`switchMode from: ${this.mode} to ${t}`),t===1?(this.app.db.saveTrail("self",this.app.selfTrail()),this.app.selfTrail.set([])):this.app.db.getTrail("self").then(n=>{this.app.selfTrail.update(()=>n&&n.value?n.value:[])}),this.switchActiveVessel(),this.openSKStream(e,t,!0)}showSelectMode(){this.mode===0?this.app.showConfirm("Do you want to change to History Playback mode?","Switch Mode").subscribe(t=>{t&&this.showPlaybackSettings()}):this.app.showConfirm("Do you want to exit History Playback mode?","Exit History Playback").subscribe(t=>{t&&this.switchMode(0)})}handleSelectionEnded(t){t.mode==="seedChart"&&this.skres.seedChartCache(t.data,t.bbox)}drawFeature(t){this.mapInteract.startDrawing(t)}newWaypointAtVessel(){let t=this.app.data.vessels.active.position;t&&this.skres.newWaypointAt(t)}onRouteInfoEdit(t){let e=this.routeBuffers.getForRoute(t);e&&(!e.saved||e.dirty)?this.saveRouteBuffer(e.routeId):this.skres.editRouteInfo(t)}saveRouteBuffer(t){return B(this,null,function*(){try{let e=yield this.plotterExt.saveBuffer(t,{dialog:!0,promote:!0});e&&this.infoPanel.open("routes",e.href)}catch(e){}})}handleDrawEnded(t){switch(this.mapInteract.isDrawing(),this.app.data.editingId="",this.mapInteract.draw.resourceType){case"note":{let e={position:t.coordinates};this.mapInteract.draw.properties.group&&(e.group=this.mapInteract.draw.properties.group),this.skres.showNoteEditor(e);break}case"waypoint":this.skres.newWaypointAt(t.coordinates);break;case"route":this.routeBuffers.create({points:mn(t.coordinates,t.coordsMetadata)});break;case"region":{let e=new Qi;e.feature.geometry.coordinates=[rn.normaliseCoords(t.coordinates)],this.skres.newRegion(e);break}}}handleInteractionFinish(){this.mapInteract.isDrawing()?this.fbMap.finishDrawing():this.closeInteraction(!0)}handleInteractionUndo(){this.fbMap.undoInteraction()}onDocumentKeydown(t){!Pr(t)||!this.mapInteract.canUndo()||(t.preventDefault(),this.handleInteractionUndo())}closeInteraction(t=!1){if(this.app.data.editingId="",this.mapInteract.isBoxSelecting()&&this.mapInteract.stopBoxSelection(),this.mapInteract.isMeasuring()&&this.mapInteract.stopMeasuring(),this.mapInteract.isDrawing()&&this.mapInteract.stopDrawing(),this.mapInteract.isModifying()&&(this.mapInteract.stopModifying(),this.app.data.activeRouteIsEditing=!1,this.mapInteract.draw.forSave?.id)){if(this.mapInteract.draw.forSave.id==="anchor"){this.mapInteract.draw.forSave=null,this.focusMap();return}let e=this.mapInteract.draw.forSave.id.split(".");if(e[0]==="route"){this.applyModifyResult(t);return}this.app.showConfirm(`Do you want to save the changes made to ${e[0]}?`,"Save Changes").subscribe(n=>this.applyModifyResult(n))}}applyModifyResult(t){let e=this.mapInteract.draw.forSave;if(!e?.id)return;let n=e.id.split("."),o=e.coords;if(t){if(n[0]==="route"){let r=this.routeBuffers.get(n[1]);if(r&&!r.saved){let s=e.coordsMetadata;this.routeBuffers.replace(n[1],mn(o,s))}else this.plotterExt.saveNativeRouteEdit(n[1],o,e.coordsMetadata)}n[0]==="waypoint"&&(this.skres.updateWaypointPosition(n[1],o),n[1]===this.app.data.activeWaypoint&&this.course.setDestination({latitude:o[1],longitude:o[0]})),n[0]==="note"&&this.skres.updateNotePosition(n[1],o),n[0]==="region"&&this.skres.updateRegionCoords(n[1],o)}else{if(n[0]==="route"){let r=this.routeBuffers.get(n[1]);r&&(!r.saved||r.dirty)?this.routeBuffers.refresh():this.skres.refreshRoutes()}n[0]==="waypoint"&&this.skres.refreshWaypoints(),n[0]==="note"&&this.skres.refreshNotes(),n[0]==="region"&&this.skres.refreshRegions()}this.mapInteract.draw.forSave=null,this.focusMap()}loadSymbolsThenFetchResources(){return B(this,null,function*(){yield this.symbols.load(),Gi(this.symbols),this.fetchResources(!0)})}fetchResources(t=!1){this.skres.refreshRoutes(),this.skres.refreshWaypoints(),this.skres.refreshCharts(),this.skres.refreshRegions(),t&&this.fetchOtherResources()}fetchOtherResources(){this.skres.refreshTracks(),this.skresOther.refreshResourceSetsInBounds()}openSKStream(t=null,e=0,n=!1){if(n){this.streamOptions={options:t,toMode:e},this.stream.close();return}this.stream.sendConfig(this.app.config),this.stream.open(t??void 0)}queryAfterConnect(){this.signalk.server.info.version.split(".")[0]==="1"&&this.app.showAlert("Unsupported Server Version:",`The connected Signal K server is not supported by this version of Freeboard-SK.
|
|
358
|
+
Signal K server version 2 or later is required!`),this.app.alignCustomResourcesPaths(),this.signalk.api.getSelf().subscribe(t=>{this.stream.post({cmd:"vessel",options:{context:"self",name:t.name}}),this.anchor.queryAnchorStatus("self",this.app.data.vessels.self.position??void 0),this.radarApi.init()},t=>{t.status&&t.status===401&&this.showLogin(null,!1,!0),this.app.debug("No vessel data available!")})}onConnect(t){this.app.showMessage("Connection Open.",!1,2e3),this.app.debug(t),this.queryAfterConnect(),this.startTimers(),this.temporaryRoutes.sweep()}onClose(t){if(this.app.debug("onClose: STREAM connection closed..."),this.app.debug(t),this.stopTimers(),t.result)this.openSKStream(this.streamOptions.options,this.streamOptions.toMode);else{let e={title:"Connection Closed:",buttonText:"Re-connect",message:""};t.playback?(e.buttonText="OK",e.message="Unable to open Playback connection.",this.app.showAlert(e.message,e.title,e.buttonText).subscribe(()=>{this.mode===0?this.switchMode(this.mode):this.showPlaybackSettings()})):this.reconnecting||(this.reconnecting=!0,setTimeout(()=>{this.reconnecting=!1,this.openSKStream(this.streamOptions.options,this.mode)},5e3))}}reconnecting=!1;onError(t){this.app.showMessage("Connection Error!",!1,2e3),console.warn("Stream Error!",t)}onMessage(t){if(t.action==="hello"){this.app.debug(t),t.playback?this.mode=1:(this.mode=0,this.stream.subscribe()),this.app.data.selfId=t.self;return}else if(t.action==="update"){if(this.mode===1){let e=new Date(t.timestamp);this.playbackTime.update(()=>`${e.toDateString().slice(4)} ${e.toTimeString().slice(0,8)}`)}else this.playbackTime.set(null),this.setDarkTheme();this.updateNavPanel()}}updateNavPanel(){this.navDataPanel.update(()=>({show:!!(this.app.data.activeRoute||this.app.data.activeWaypoint||this.course.courseData().position),nextPointCtrl:!!this.app.data.activeRoute,apModeColor:this.app.data.vessels.self.autopilot.enabled?"primary":"",apModeText:this.app.data.vessels.self.autopilot.default?`Autopilot: ${this.app.data.vessels.self.autopilot.default}`:""}))}static \u0275fac=function(e){return new(e||i)};static \u0275cmp=I({type:i,selectors:[["app-root"]],viewQuery:function(e,n){if(e&1&&(di(n.pipVideo,ct,5)(n.leftToolbar,Nd,5),J(Bd,5)($d,5)(zd,7)(Ud,7)(qd,7)(xn,7)),e&2){ui(2);let o;V(o=F())&&(n.sideright=o.first),V(o=F())&&(n.fbMap=o.first),V(o=F())&&(n.layersMenu=o.first),V(o=F())&&(n.editMenu=o.first),V(o=F())&&(n.settingsMenu=o.first),V(o=F())&&(n.experiments=o.first)}},hostBindings:function(e,n){e&1&&h("visibilitychange",function(){return n.onVisibilityChange()},ze)("keydown",function(r){return n.onDocumentKeydown(r)},ze)},decls:152,vars:56,consts:[["layersmenu","matMenu"],["settingsmenu","matMenu"],["toolbarMenuIcon",""],["editmenu","matMenu"],["mainmenu","matMenu"],["sideright",""],["fbMap",""],["northArrow",""],["leftToolbar",""],[3,"ngClass"],[1,"appframe","mat-app-background"],["mat-menu-item","",3,"click"],["svgIcon","route",1,"icon-route"],[1,"icon-waypoint"],["mat-menu-item",""],["accept",".gpx,.json",3,"chosen","astext"],["svgIcon","route-import",1,"ob"],["svgIcon","route-export",1,"ob"],[3,"selected"],["svgIcon","bearing-distance"],[1,"icon-route"],["svgIcon","route-planning",1,"icon-route"],[1,"icon-accent"],["theme-main","",1,"view"],["hasBackdrop","false",1,"pe-view-main"],["mode","side","position","end",3,"disableClose"],[2,"display","flex","flex-direction","column","position","relative"],[2,"overflow","hidden"],[2,"z-index","4700","position","fixed","top","0px","left","0px","width","100%"],[3,"apData"],[1,"mapPanel",3,"dragover","drop"],["id","fb-main-chart",1,"mapMain"],[3,"drawEnded","activate","deactivate","exitMovingMap","resumeMovingMap","focusVessel","info","menuItemSelected","scaleUnits","setFocus","mapCenter","mapZoom","northUp","movingMap","vesselTrail","activeRoute","dblClickZoom","overZoomTiles","measureMode","drawMode"],[3,"scaleUnits","statusBar"],[3,"inset"],[2,"position","absolute","top","60px","left","56px","width","50px"],["src","./assets/img/north_arrow.svg","width","50","height","70"],[1,"playbackPanel","mat-app-background"],["fbMovablePanel","fb-navdata-panel-position",1,"navdataPanel"],[3,"action","extensionButton"],[1,"icon-warn"],["svgIcon","chart-display-settings-iec",1,"ob"],["mat-menu-item","",3,"disabled","matMenuTriggerFor"],["mat-menu-item","",3,"disabled"],[4,"ngTemplateOutlet","ngTemplateOutletContext"],["mat-menu-item","",3,"click","disabled"],[3,"svgIcon"],["matBadge","!","matBadgeOverlap","true","matBadgeSize","medium","matBadgePosition","below after","aria-hidden","false",3,"matBadgeHidden"],["svgIcon","radar-iec",1,"ob"],[3,"closed"],[3,"note","id","interacting"],[3,"region","id","related","interacting"],[3,"waypoint","id","related","interacting"],[3,"route","id","related","interacting"],[3,"connect","disconnect"],[3,"edit","move","panTo","note","id","interacting"],[3,"edit","panTo","region","id","related","interacting"],[3,"edit","panTo","waypoint","id","related","interacting"],[3,"edit","activate","panTo","route","id","related","interacting"],["mat-list-item",""],["mat-icon-button","",3,"click"],["mat-icon-button","","target","_blank","matTooltip","Open Instruments in window.","matTooltipPosition","right",3,"href"],["mat-icon-button","","matTooltip","Previous plugin","matTooltipPosition","below",3,"click","disabled"],["mat-icon-button","","matTooltip","Next plugin","matTooltipPosition","below",3,"click","disabled"],[2,"position","fixed","bottom","0","top","48px","overflow","auto","-webkit-overfow-scrolling","touch"],["sandbox","allow-scripts allow-same-origin allow-forms",2,"width","345px","height","100%",3,"src"],["mat-icon-button","","target","_blank","matTooltip","Open Instruments in window.","matTooltipPosition","right",3,"click","href"],["mode","query"],[3,"close","apData"],[3,"save","close"],[1,"leftTop","buttonPanel"],[1,"buttonPanelItem"],["mat-mini-fab","","matBadge","!","matBadgeOverlap","true","matTooltip","Menu","matTooltipPosition","right","aria-hidden","false",1,"button-secondary",3,"disabled","matBadgeHidden","matMenuTriggerFor"],["side","left",2,"top","60px","bottom","0",3,"items"],[1,"leftMenuPanel"],[1,"statusBar"],[1,"statusBarItem"],[1,"rightTop","buttonPanel"],["mat-mini-fab","","matTooltipPosition","before",1,"button-secondary",3,"click","matTooltip"],[3,"showSelf","radius","raised"],[3,"activate","deactivate","select","points","notes","closed","activeRoute","editingRouteId"],[3,"select","goto","deactivate","center","notes","closed","activeWaypoint","editingWaypointId"],[3,"closed","selectedCharts"],[3,"select","pan","closed","notes"],[3,"select","pan","closed","regions"],[3,"center","closed"],[3,"properties","closed","focusVessel","pan","focusId"],[3,"closed","showSelf","radius","raised"],["matTooltip","WakeLock is turned off","matTooltipPosition","below"],["matTooltip","Course data is hidden","matTooltipPosition","below"],["matTooltip","Vessels are hidden","matTooltipPosition","below"],["matTooltip","Notes are hidden","matTooltipPosition","below"],["matTooltip","No server messages!","matTooltipPosition","below",2,"background-color","red","color","white"],["side","right",3,"items"],[3,"src","muted"],[3,"click","src","muted"],[2,"border-radius","5px"],[2,"text-align","center"],[3,"alerts"],[1,"alarmPanel"],[2,"margin-bottom","5px"],[3,"closed","alerts"],[3,"nextPoint","routeEnd","audioStatus","alert","acknowledged","silenced","doNotPlaySound"],[3,"finish","cancel","undo"],[3,"cancel"],[3,"index","total","circular"],[2,"display","flex","flex-wrap","nowrap"],[3,"selected","index","total","circular"],[1,"mat-app-background",2,"display","flex"],[2,"width","40px"],["mat-icon-button","","matTooltip","Course Settings",3,"click"],["svgIcon","navigation-route",1,"ob"],["mat-icon-button","","matTooltip","Autopilot Console","matTooltipPosition","above","matTooltip","Engage Autopilot",3,"click","disabled"],["svgIcon","command-autopilot",1,"ob",3,"color"],["mat-icon-button","","matTooltip","Restart XTE",3,"click"],["mat-icon-button","","matTooltip","Reverse route direction","matTooltipPosition","above",3,"click","disabled"],[3,"color"],[3,"title","value","units"],[3,"value"],[3,"title","value"],["subTitle","RT",3,"title","value","units"],["subTitle","RT",3,"value"],["subTitle","RT",3,"title","value"],[3,"radarClick","action","extensionButton"]],template:function(e,n){if(e&1&&(a(0,"div",9)(1,"div",10)(2,"mat-menu",null,0)(4,"button",11),h("click",function(){return n.displayLeftMenu("routeList",!0)}),T(5,"mat-icon",12),u(6," \xA0Routes "),l(),a(7,"button",11),h("click",function(){return n.displayLeftMenu("waypointList",!0)}),a(8,"mat-icon",13),u(9,"location_on"),l(),u(10," \xA0Waypoints "),l(),a(11,"button",11),h("click",function(){return n.displayLeftMenu("noteList",!0)}),a(12,"mat-icon"),u(13,"local_offer"),l(),u(14," \xA0Notes "),l(),a(15,"button",11),h("click",function(){return n.displayLeftMenu("regionList",!0)}),a(16,"mat-icon"),u(17,"tab_unselected"),l(),u(18," \xA0Regions "),l(),a(19,"button",11),h("click",function(){return n.displayLeftMenu("chartList",!0)}),a(20,"mat-icon"),u(21,"map"),l(),u(22," \xA0Charts "),l(),a(23,"button",11),h("click",function(){return n.displayLeftMenu("weatherList",!0)}),a(24,"mat-icon"),u(25,"cloud"),l(),u(26," \xA0Weather "),l(),_(27,iu,4,0,"button",14),_(28,ou,4,0,"button",14),T(29,"mat-divider"),a(30,"button",14)(31,"ap-file-input",15),h("chosen",function(r){return n.importFile(r)}),T(32,"mat-icon",16),u(33," Import "),l()(),a(34,"button",11),h("click",function(){return n.exportToGPX()}),T(35,"mat-icon",17),u(36," \xA0Export "),l(),T(37,"mat-divider"),_(38,ru,4,0,"button",14),_(39,su,3,0,"div"),l(),a(40,"fb-experiments",18),h("selected",function(r){return n.openExperiment(r)}),l(),a(41,"mat-menu",null,1),mi(43),q(44,uu,2,1,null,null,tu),_(46,mu,1,0,"mat-divider"),_(47,vu,25,10),l(),tt(48,Cu,2,4,"ng-template",null,2,vi),a(50,"mat-menu",null,3)(52,"a",11),h("click",function(){return n.mapInteract.startMeasuring("LineString")}),a(53,"mat-icon"),u(54,"straighten"),l(),a(55,"span"),u(56,"Measure"),l()(),a(57,"a",11),h("click",function(){return n.mapInteract.startMeasuring("BearingDistance")}),T(58,"mat-icon",19),a(59,"span"),u(60,"Bearing & Distance"),l()(),T(61,"mat-divider"),a(62,"a",11),h("click",function(){return n.drawFeature("route")}),a(63,"mat-icon",20),u(64,"draw"),l(),a(65,"span"),u(66,"Draw Route"),l()(),a(67,"a",11),h("click",function(){return n.toggleRouteBuilderConsole(!0)}),T(68,"mat-icon",21),a(69,"span"),u(70,"Build Route"),l()(),T(71,"mat-divider"),_(72,wu,5,0,"a",14),a(73,"a",11),h("click",function(){return n.drawFeature("waypoint")}),a(74,"mat-icon",13),u(75,"add_location_alt"),l(),a(76,"span"),u(77,"Drop Waypoint"),l()(),T(78,"mat-divider"),_(79,bu,5,0,"a",14),a(80,"a",11),h("click",function(){return n.drawFeature("region")}),a(81,"mat-icon"),u(82,"tab_unselected"),l(),a(83,"span"),u(84,"Draw Region"),l()()(),a(85,"mat-menu",null,4),_(87,xu,6,2),_(88,yu,5,0,"a",14),_(89,Mu,5,1,"a",14),a(90,"a",11),h("click",function(){return n.displayLeftMenu("aisList",!0)}),a(91,"mat-icon"),u(92,"directions_boat"),l(),a(93,"span"),u(94,"Vessels"),l()(),a(95,"a",11),h("click",function(){return n.importResourceSet()}),a(96,"mat-icon"),u(97,"upload"),l(),a(98,"span"),u(99,"Resource Sets"),l()(),_(100,Su,5,0,"a",14),T(101,"mat-divider"),a(102,"a",11),h("click",function(){return n.openSettings()}),a(103,"mat-icon"),u(104,"settings"),l(),a(105,"span"),u(106,"Settings"),l()(),T(107,"mat-divider"),a(108,"a",11),h("click",function(){return n.openAbout()}),a(109,"mat-icon",22),u(110,"info_outline"),l(),a(111,"span"),u(112,"About"),l()(),a(113,"a",11),h("click",function(){return n.openFeatureBrowser()}),a(114,"mat-icon",22),u(115,"tips_and_updates"),l(),a(116,"span"),u(117,"What's New"),l()(),a(118,"button",11),h("click",function(){return n.app.showHelp()}),a(119,"mat-icon",22),u(120,"help"),l(),a(121,"span"),u(122,"Help"),l()()(),a(123,"div",23)(124,"mat-sidenav-container",24)(125,"mat-sidenav",25,5),_(127,Du,2,1,"info-panel")(128,Fu,17,4,"div",26),l(),a(129,"mat-sidenav-content",27),_(130,Nu,2,0,"div",28),_(131,Bu,1,1,"autopilot-console",29),_(132,$u,1,0,"route-builder"),_(133,hm,19,17),a(134,"div",30),h("dragover",function(r){return n.mapDragOver(r)})("drop",function(r){return n.mapDrop(r)}),a(135,"div",31)(136,"fb-map",32,6),h("drawEnded",function(r){return n.handleDrawEnded(r)})("activate",function(r){return n.activateRoute(r)})("deactivate",function(){return n.clearDestination()})("exitMovingMap",function(r){return n.toggleMoveMap(r)})("resumeMovingMap",function(){return n.resumeMoveMap()})("focusVessel",function(r){return n.switchActiveVessel(r)})("info",function(r){return n.featureProperties(r)})("menuItemSelected",function(r){return n.handleContextMenuSelection(r)}),l()(),_(138,_m,1,2,"fb-split-map",33),l(),T(139,"fb-plotterext-overlay")(140,"fb-pe-window-layer",34),a(141,"div",35),T(142,"img",36,7),l(),_(144,gm,8,1,"div",37),_(145,wm,4,1),_(146,bm,1,0,"fb-interact-help")(147,xm,1,0,"fb-interact-help"),_(148,Lm,3,2,"div",38),_(149,Vm,1,2,"mfb-container",39),l()(),T(150,"fb-plotterext-panel-drawer")(151,"fb-plotterext-runtimes"),l()()()),e&2){let o;w("ngClass",gi(52,Jd,n.app.config.display.darkMode.enabled,n.stream.selfNightMode()||n.app.uiCtrl().forceNightMode)),c(27),g(n.app.featureFlags().resourceGroups?27:-1),c(),g(n.app.featureFlags().infoLayers?28:-1),c(3),w("astext",!0),c(7),g(n.app.tracksAvailable()?38:-1),c(),g(n.app.config.resources.paths.length!==0?39:-1),c(4);let r=fi(((o=n.leftToolbar())==null?null:o.overflow())??_i(55,eu));c(),H(r),c(2),g(r.length!==0?46:-1),c(),g(n.isInteracting()?-1:47),c(25),g(n.app.data.vessels.showSelf?72:-1),c(7),g(n.app.config.map.zoomLevel>=n.app.config.resources.notes.minZoom?79:-1),c(8),g(!n.app.hostDef.params.token&&n.app.data.loginRequired?87:-1),c(),g(!n.isInteracting()&&n.app.featureFlags().anchorApi?88:-1),c(),g(!n.isInteracting()&&n.app.featureFlags().radarApi&&n.radarApi.radarId()&&!n.app.instrumentPanel().open&&n.app.data.vessels.showSelf?89:-1),c(11),g(n.features.playbackAPI?100:-1),c(25),j("width",n.app.instrumentPanel().open?"350px":"250px"),w("disableClose",!1),c(2),g(n.app.instrumentPanel().open?128:127),c(3),g(n.app.sIsFetching()?130:-1),c(),g(n.app.uiCtrl().autopilotConsole?131:-1),c(),g(n.app.uiCtrl().routeBuilder?132:-1),c(),g(!n.app.kioskMode()&&!n.app.uiCtrl().suppressContextMenu?133:-1),c(),N("split",n.splitActive())("stacked",n.splitActive()&&n.splitView.stacked()),c(),j("flex-basis",n.splitActive()?n.mainShare():"100%"),N("active-pane",n.splitActive()&&!n.splitView.secondaryActive()),c(),w("scaleUnits",n.app.config.units.distance)("setFocus",n.mapSetFocus())("mapCenter",n.mapCenter())("mapZoom",n.app.config.map.zoomLevel)("northUp",n.app.uiConfig().mapNorthUp)("movingMap",n.app.uiConfig().mapMove)("vesselTrail",n.app.selfTrail())("activeRoute",n.app.data.activeRoute)("dblClickZoom",n.app.config.map.doubleClickZoom)("overZoomTiles",n.app.config.map.overZoomTiles)("measureMode",n.mapInteract.isMeasuring())("drawMode",n.mapInteract.isDrawing()),c(2),g(n.splitActive()?138:-1),c(2),w("inset",!n.app.kioskMode()&&!n.app.uiCtrl().suppressContextMenu?54:0),c(2),j("transform",n.getOrientation()),c(2),g(n.mode===1?144:-1),c(),g(n.app.kioskMode()?-1:145),c(),g(n.isInteracting()?146:n.mapInteract.pick()?147:-1),c(2),g(n.isInteracting()?-1:148),c(),g(!n.isInteracting()&&!n.app.kioskMode()?149:-1)}},dependencies:[gt,ht,ft,_t,Ar,Mn,Sr,bt,io,no,Ie,Ni,Re,Hi,qi,Ui,zi,ue,de,De,Oe,Ro,ko,bi,wi,rt,Yi,Ji,eo,to,ct,Co,co,vo,br,xn,nr,er,Jo,or,Wo,wo,Ho,rr,So,Po,jo,qo,xr,Ft,Bt,$t,Ut,qt],styles:["mat-sidenav-container[_ngcontent-%COMP%]{height:100%}mat-sidenav[_ngcontent-%COMP%]{width:200px}mat-nav-list[_ngcontent-%COMP%]{padding-top:0}.appframe[_ngcontent-%COMP%]{width:100vw;height:100vh;background-color:#000;color:#fff;overflow:hidden}.view[_ngcontent-%COMP%]{inset:0;overflow:hidden;scrollbar-width:none;position:fixed;border-top:silver 0px solid;display:flex;flex-direction:row}.view[_ngcontent-%COMP%] .pe-view-main[_ngcontent-%COMP%]{flex:1 1 auto;min-width:0;height:100%}.leftMenuPanel[_ngcontent-%COMP%]{position:absolute;top:0;left:0;bottom:0;padding-left:0;z-index:5000;background-color:#c8c8c866;width:315px}.statusBar[_ngcontent-%COMP%]{width:max-content;z-index:4800;position:absolute;right:55px;top:20px;padding:1px;overflow:hidden;text-align:right;display:flex}.statusBarItem[_ngcontent-%COMP%]{padding-left:5px}.statusBarItem[_ngcontent-%COMP%] .mat-icon[_ngcontent-%COMP%]{background-color:#ffffff80;color:#000;border-radius:10px}.buttonPanel[_ngcontent-%COMP%]{width:50px;z-index:4800;position:absolute;padding:5px 2px 2px;overflow:auto;scrollbar-width:none}.buttonPanel.rightTop[_ngcontent-%COMP%]{right:0;top:0;padding:9px 2px 10px}.buttonPanel.leftTop[_ngcontent-%COMP%]{left:0;top:0;padding:9px 2px 10px}.buttonPanel.left[_ngcontent-%COMP%]{top:60px;left:0;bottom:0}.buttonPanel.right[_ngcontent-%COMP%]{top:60px;right:0;bottom:80px}.buttonPanel[_ngcontent-%COMP%] .buttonPanelItem[_ngcontent-%COMP%]{text-align:center;height:48px;padding:5px 0}.mapButton[_ngcontent-%COMP%]{position:fixed;z-index:4900}.alarmPanel[_ngcontent-%COMP%]{position:absolute;z-index:4902;top:55px;left:15%;right:15%}.measurePanel[_ngcontent-%COMP%]{font-family:roboto;font-size:10pt}.playbackPanel[_ngcontent-%COMP%]{position:absolute;z-index:4900;bottom:150px;left:50px;top:auto;width:100px;border:gray 1px solid;border-radius:5px;font-family:roboto;text-align:center}.navdataPanel[_ngcontent-%COMP%]{position:absolute;z-index:4901;bottom:30px;left:10px;max-width:calc(100% - 75px);max-height:100px;text-align:center;display:flex;flex-wrap:nowrap;overflow-x:auto;overflow-y:hidden;border:gray 1px solid}.bottomSheet[_ngcontent-%COMP%]{position:absolute;z-index:4902;bottom:0;left:15%;min-width:400px;max-width:100%;height:180px;overflow:auto}.bottomSheet[_ngcontent-%COMP%] .title[_ngcontent-%COMP%]{flex:1 1 auto;text-align:center;font-family:roboto;font-weight:500;line-height:2.5em}.control[_ngcontent-%COMP%]{display:flex;align-items:center;justify-content:flex-start;margin:20px}.ol-mouse-position[_ngcontent-%COMP%]{position:fixed;bottom:10px;right:45%;color:#1e1e1e;font-family:roboto;background-color:#fafafab3}.ol-zoom[_ngcontent-%COMP%]{position:fixed;top:10px;left:100px;color:#1e1e1e;font-family:roboto;background-color:transparent;height:45px}.instrumentPanelToggle[_ngcontent-%COMP%]{display:block}@media only screen and (max-width:650px){.bottomSheet[_ngcontent-%COMP%]{left:0;min-width:100%}}@media only screen and (max-width:800px){.instrumentPanelToggle[_ngcontent-%COMP%]{display:none}}@media only screen and (max-height:600px){.navdataPanel[_ngcontent-%COMP%]{left:50px;max-width:calc(100% - 115px)}}"]})};xi(Ht,{providers:[Ci({eventCoalescing:!0,runCoalescing:!0}),yi(Ei())]}).then(i=>{try{if(new URLSearchParams(window.location.search).has("perfprobe")){let t=i.injector.get(Q),e=window;e.__cd=0,t.onMicrotaskEmpty.subscribe(()=>{e.__cd++})}}catch(t){}}).catch(i=>console.error(i));
|