@mxtommy/kip 4.8.4 → 4.9.0-beta.1

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.
Files changed (68) hide show
  1. package/CHANGELOG.md +5 -0
  2. package/package.json +2 -2
  3. package/plugin/history-series.service.js +637 -0
  4. package/plugin/index.js +1322 -0
  5. package/plugin/kip-series-contract.js +31 -0
  6. package/plugin/openApi.json +855 -0
  7. package/plugin/sqlite-history-storage.service.js +1124 -0
  8. package/public/3rdpartylicenses.txt +78 -78
  9. package/public/assets/help-docs/ais-radar.md +261 -0
  10. package/public/assets/help-docs/dashboards.md +1 -1
  11. package/public/assets/help-docs/kiosk.md +4 -2
  12. package/public/assets/help-docs/menu.json +17 -2
  13. package/public/{chunk-CIGP2YJm.js → chunk-5jtM3b20.js} +1 -1
  14. package/public/{chunk-_zRMMvCu.js → chunk-B1H8b4W3.js} +1 -1
  15. package/public/{chunk-BJ-wyixK.js → chunk-BJObkbow.js} +1 -1
  16. package/public/{chunk-C6b8CVno.js → chunk-BLEfD_P7.js} +1 -1
  17. package/public/{chunk-BLEZOsfR.js → chunk-BO34LrGA.js} +1 -1
  18. package/public/{chunk-BeM64etA.js → chunk-BSNfaGK3.js} +1 -1
  19. package/public/{chunk-07zHjmg-.js → chunk-BbE36LU3.js} +1 -1
  20. package/public/{chunk-JhFkJS7i.js → chunk-BoY2UDvb.js} +1 -1
  21. package/public/{chunk-x7L6DXVK.js → chunk-BrjwTjz7.js} +1 -1
  22. package/public/{chunk-BFpzxIIT.js → chunk-BufDbUf3.js} +1 -1
  23. package/public/{chunk-C_OZJltF.js → chunk-C11zYqw7.js} +1 -1
  24. package/public/{chunk-CLs_NL1y.js → chunk-C8uxDv1M.js} +1 -1
  25. package/public/{chunk-DIl1k00y.js → chunk-CDG3g9Eq.js} +1 -1
  26. package/public/{chunk-q9NoPvcx.js → chunk-CEtt0kr-.js} +1 -1
  27. package/public/{chunk-BpcNrtxJ.js → chunk-CKnQ07BR.js} +1 -1
  28. package/public/{chunk-0z3nIRXw.js → chunk-COM48ir-.js} +1 -1
  29. package/public/{chunk-eQ1pa34Q.js → chunk-CSCVkGWE.js} +1 -1
  30. package/public/{chunk-BuvyF0y5.js → chunk-C_mCGLT_.js} +1 -1
  31. package/public/{chunk-BUguZ7cK.js → chunk-CnVELVOx.js} +1 -1
  32. package/public/{chunk-CLTHuhlN.js → chunk-Csxy6yVz.js} +1 -1
  33. package/public/{chunk-BZx964-p.js → chunk-CvG4thmf.js} +1 -1
  34. package/public/{chunk-CCfhzpE8.js → chunk-CxOyBrqL.js} +1 -1
  35. package/public/{chunk-otzyItXL.js → chunk-CzY2nk08.js} +1 -1
  36. package/public/{chunk-D-_-GUVr.js → chunk-CzquTNBp.js} +1 -1
  37. package/public/{chunk-ibauGmSP.js → chunk-D59G2Xua.js} +1 -1
  38. package/public/chunk-D8CQ-x45.js +1 -0
  39. package/public/{chunk-BTOTKeBo.js → chunk-DA2JBQHi.js} +1 -1
  40. package/public/chunk-DCdZRAXa.js +1 -0
  41. package/public/{chunk-BN7A4g6c.js → chunk-DES7U9G6.js} +1 -1
  42. package/public/{chunk-BIb-xYiS.js → chunk-DHj2hm9r.js} +1 -1
  43. package/public/{chunk-DPnbM-aB.js → chunk-DJVnrrxC.js} +1 -1
  44. package/public/{chunk-CxPx4NZv.js → chunk-DN6HP97P.js} +1 -1
  45. package/public/{chunk-COI6IBXH.js → chunk-DTznNQod.js} +1 -1
  46. package/public/{chunk-szQs8fiq.js → chunk-DZQzZeIV.js} +1 -1
  47. package/public/{chunk-DTN-sa1K.js → chunk-DakdT7bi.js} +1 -1
  48. package/public/{chunk-CHAFm_nM.js → chunk-DizMY7FW.js} +1 -1
  49. package/public/{chunk-OeQDZKFO.js → chunk-DjPkdMGz.js} +1 -1
  50. package/public/{chunk-BfiyH3nV.js → chunk-DlLiKS0n.js} +1 -1
  51. package/public/{chunk-CYYBxjrc.js → chunk-Dt2HCrSr.js} +1 -1
  52. package/public/{chunk-CyVRpGoJ.js → chunk-Duhmjpm9.js} +1 -1
  53. package/public/{chunk-B9nVBlGj.js → chunk-DulH4zwM.js} +1 -1
  54. package/public/{chunk-B09jfNia.js → chunk-DwAXe6Wn.js} +1 -1
  55. package/public/{chunk-CoCQ3DW2.js → chunk-DxD20B-E.js} +1 -1
  56. package/public/{chunk-DmkAKXR1.js → chunk-DzQ_fUpO.js} +1 -1
  57. package/public/{chunk-B0eE4udE.js → chunk-GyA81uXZ.js} +1 -1
  58. package/public/{chunk-Co2wVrD6.js → chunk-GzqVKhHm.js} +1 -1
  59. package/public/{chunk-BjINKQ03.js → chunk-MPbL1AwE.js} +1 -1
  60. package/public/{chunk-CQMVIDcp.js → chunk-Qlya07CF.js} +1 -1
  61. package/public/{chunk-CXvWM_vF.js → chunk-VshNFG3q.js} +1 -1
  62. package/public/{chunk-DUEKoZhd.js → chunk-YBp9CH_2.js} +1 -1
  63. package/public/{chunk-D1HYfaL_.js → chunk-_S08GvV8.js} +1 -1
  64. package/public/{chunk-B0D54iJs.js → chunk-dvm9QV-B.js} +1 -1
  65. package/public/{chunk-D2953Rfp.js → chunk-ipFM9wbJ.js} +1 -1
  66. package/public/index.html +1 -1
  67. package/public/{main-YKDNK5VZ.js → main-IINF7HD6.js} +473 -473
  68. package/public/chunk-Do8wqING.js +0 -1
@@ -1 +1 @@
1
- import {w as w$1,dl as E,dm as G,N,aY as xe,bu as ut,dd as $e,$ as $j,W as Wp,v as vt,bG as Bj,D as Dt,F as Fa,dn as ge,a$ as Zr,dp as n,cw as z,cv as G$1,b0 as Wl,J as JD,dq as Ht,di as jt,de as Nt,df as Vt,dr as Ot,ds as bt,dt as nt,O as Op,o as eu,y as yt,b as wt,b2 as Ln,b5 as Pn,b9 as rn,P as Pi,T as TT,u as ul,bi as Eg,k as Qh,bk as cD,_ as _w,e as EE,aA as gg,B as Bh,bm as Ig,bo as lD,M as Mw,f as eg,K as Kw,g as qw,bp as gl,c as $h,bj as ST}from'./main-YKDNK5VZ.js';import'./chunk-BTOTKeBo.js';var y={"widget-bms":{expansionMode:"bms-battery-tree",metricOrder:["soc","current"],metrics:{soc:{metric:"soc",axisId:"ySoc",pathSuffixes:[".capacity.stateOfCharge",".stateOfCharge"],transform:a=>a*100},current:{metric:"current",axisId:"yCurrent",pathSuffixes:[".current"],transform:a=>a}},axes:{ySoc:{axisId:"ySoc",position:"left",title:"SoC (%)",tickSuffix:"%",min:0,max:100},yCurrent:{axisId:"yCurrent",position:"right",title:"Current (A)",tickSuffix:"A",drawOnChartArea:false}},pathRules:[{metric:"soc",axisId:"ySoc",regex:/^electrical\.batteries\.([^.]+)\.(?:capacity\.)?stateOfCharge$/i},{metric:"current",axisId:"yCurrent",regex:/^electrical\.batteries\.([^.]+)\.current$/i}]},"widget-solar-charger":{expansionMode:"solar-tree",metricOrder:["panelPower","current"],metrics:{panelPower:{metric:"panelPower",axisId:"yPower",pathSuffixes:[".panelPower"],transform:a=>a/1e3},current:{metric:"current",axisId:"yCurrent",pathSuffixes:[".current"],transform:a=>a}},axes:{yPower:{axisId:"yPower",position:"left",title:"Power (kW)",tickSuffix:"kW"},yCurrent:{axisId:"yCurrent",position:"right",title:"Current (A)",tickSuffix:"A",drawOnChartArea:false}},pathRules:[{metric:"current",axisId:"yCurrent",regex:/^electrical\.solar\.([^.]+)\.current$/i},{metric:"panelPower",axisId:"yPower",regex:/^electrical\.solar\.([^.]+)\.panelPower$/i}]},"widget-charger":{expansionMode:"charger-tree",metricOrder:["voltage","current"],metrics:{voltage:{metric:"voltage",axisId:"yVoltage",pathSuffixes:[".voltage"],transform:a=>a},current:{metric:"current",axisId:"yCurrent",pathSuffixes:[".current"],transform:a=>a}},axes:{yVoltage:{axisId:"yVoltage",position:"left",title:"Voltage (V)",tickSuffix:"V"},yCurrent:{axisId:"yCurrent",position:"right",title:"Current (A)",tickSuffix:"A",drawOnChartArea:false}},pathRules:[{metric:"voltage",axisId:"yVoltage",regex:/^electrical\.chargers\.([^.]+)\.voltage$/i},{metric:"current",axisId:"yCurrent",regex:/^electrical\.chargers\.([^.]+)\.current$/i}]},"widget-inverter":{expansionMode:"inverter-tree",metricOrder:["voltage","current"],metrics:{voltage:{metric:"voltage",axisId:"yVoltage",pathSuffixes:[".voltage"],transform:a=>a},current:{metric:"current",axisId:"yCurrent",pathSuffixes:[".current"],transform:a=>a}},axes:{yVoltage:{axisId:"yVoltage",position:"left",title:"Voltage (V)",tickSuffix:"V"},yCurrent:{axisId:"yCurrent",position:"right",title:"Current (A)",tickSuffix:"A",drawOnChartArea:false}},pathRules:[{metric:"voltage",axisId:"yVoltage",regex:/^electrical\.inverters\.([^.]+)\.voltage$/i},{metric:"current",axisId:"yCurrent",regex:/^electrical\.inverters\.([^.]+)\.current$/i}]},"widget-alternator":{expansionMode:"alternator-tree",metricOrder:["voltage","current"],metrics:{voltage:{metric:"voltage",axisId:"yVoltage",pathSuffixes:[".voltage"],transform:a=>a},current:{metric:"current",axisId:"yCurrent",pathSuffixes:[".current"],transform:a=>a}},axes:{yVoltage:{axisId:"yVoltage",position:"left",title:"Voltage (V)",tickSuffix:"V"},yCurrent:{axisId:"yCurrent",position:"right",title:"Current (A)",tickSuffix:"A",drawOnChartArea:false}},pathRules:[{metric:"voltage",axisId:"yVoltage",regex:/^electrical\.alternators\.([^.]+)\.voltage$/i},{metric:"current",axisId:"yCurrent",regex:/^electrical\.alternators\.([^.]+)\.current$/i}]},"widget-ac":{expansionMode:"ac-tree",metricOrder:["voltage","current","frequency"],metrics:{voltage:{metric:"voltage",axisId:"yVoltage",pathSuffixes:[".line1.voltage",".line2.voltage",".line3.voltage"],transform:a=>a},current:{metric:"current",axisId:"yCurrent",pathSuffixes:[".line1.current",".line2.current",".line3.current"],transform:a=>a},frequency:{metric:"frequency",axisId:"yFrequency",pathSuffixes:[".line1.frequency",".line2.frequency",".line3.frequency"],transform:a=>a}},axes:{yVoltage:{axisId:"yVoltage",position:"left",title:"Voltage (V)",tickSuffix:"V"},yCurrent:{axisId:"yCurrent",position:"right",title:"Current (A)",tickSuffix:"A",drawOnChartArea:false},yFrequency:{axisId:"yFrequency",position:"left",title:"Frequency (Hz)",tickSuffix:"Hz",drawOnChartArea:false}},pathRules:[{metric:"voltage",axisId:"yVoltage",regex:/^electrical\.ac\.([^.]+)\.line[123]\.voltage$/i},{metric:"current",axisId:"yCurrent",regex:/^electrical\.ac\.([^.]+)\.line[123]\.current$/i},{metric:"frequency",axisId:"yFrequency",regex:/^electrical\.ac\.([^.]+)\.line[123]\.frequency$/i}]}},Ie={"bms-battery-tree":"widget-bms","solar-tree":"widget-solar-charger","charger-tree":"widget-charger","inverter-tree":"widget-inverter","alternator-tree":"widget-alternator","ac-tree":"widget-ac"};function Me(a){return !!a&&a in y}function D(a){return y[a]}function w(a){let l=Ie[a],e=y[l],t=[];return e.metricOrder.forEach(r=>{let i=e.metrics[r];i&&i.pathSuffixes.forEach(n=>{t.includes(n)||t.push(n);});}),t}function ve(a,l){let e=y[a.widgetType].metrics[a.metric];return e?e.transform(l):l}function P(a){let l=y[a],e=[];return l.metricOrder.forEach(t=>{let r=l.metrics[t]?.axisId;!r||e.includes(r)||e.push(r);}),e.map(t=>l.axes[t]).filter(t=>!!t)}function De(a,l){if(!Me(a))return null;let e=P(a),t=new Set(e.map(i=>i.axisId));return t.size===0?null:l.some(i=>!!i&&t.has(i))?a:null}function Se(a){for(let[l,e]of Object.entries(y))for(let t of e.pathRules){let r=t.regex.exec(a);if(r)return {widgetType:l,entityId:r[1],metric:t.metric,axisId:t.axisId}}return null}var Ae=["historyCanvas"];function we(a,l){a&1&&(Pi(0,"p",12),TT(1,"Loading historical data\u2026"),ul());}function Pe(a,l){if(a&1&&(Pi(0,"p",13),TT(1),ul()),a&2){let e=qw();EE(),gl("503: ",e.error());}}function Te(a,l){a&1&&(Pi(0,"p",12),TT(1,"No historical data is available for this widget. If you are not using the built-in KIP History API provider, validate your plugin configuration supports the widget's path and try again."),ul());}function _e(a,l){a&1&&(Pi(0,"div",14),$h(1,"canvas",null,0),ul());}var rt=(()=>{class a{historyApiClient=w$1(E);historyMapper=w$1(G);app=w$1(N);destroyRef=w$1(xe);units=w$1(ut);data=w$1($e);chartCanvas=$j("historyCanvas");theme=Wp(this.app.cssThemeColorRoles$,{requireSync:true});loading=vt(true);error=vt(null);datasetCount=vt(0);selectedPeriod=Bj("PT1H");hasNoData=Dt(()=>!this.loading()&&!this.error()&&this.datasetCount()===0);chart=null;viewReady=false;pendingDatasets=[];dualAxisDescriptorCache=new Map;constructor(){Fa(()=>{let e=this.chartCanvas(),t=this.loading(),r=this.datasetCount();!e||t||r<=0||ge(()=>{this.tryRenderChart();});});}loadHistoryDatasets(){return Zr(this,null,function*(){this.loading.set(true),this.error.set(null),this.dualAxisDescriptorCache.clear();try{let e=yield this.resolveQueryableSeriesDefinitions(),t=yield Promise.all(e.map((r,i)=>this.buildDatasetForSeries(r,i)));this.pendingDatasets=t.filter(r=>!!r),this.datasetCount.set(this.pendingDatasets.length),this.tryRenderChart();}catch(e){console.error("[WidgetHistoryChartDialogComponent] Failed to load widget history datasets:",e),this.error.set("Unable to load historical data for this widget."),this.pendingDatasets=[],this.datasetCount.set(0);}finally{this.loading.set(false),queueMicrotask(()=>{this.tryRenderChart();});}})}ngOnInit(){this.loadHistoryDatasets(),this.destroyRef.onDestroy(()=>{this.chart?.destroy(),this.chart=null;});}ngAfterViewInit(){this.onCanvasReady();}ngOnDestroy(){this.chart?.destroy(),this.chart=null;}onCanvasReady(){this.viewReady=true,this.tryRenderChart();}buildDatasetForSeries(e,t){return Zr(this,null,function*(){let r=e.path;if(!r)return null;let i=this.resolveDuration(e),n=this.resolveResolutionSeconds(i),o=this.buildHistoryRequestCandidates(r,e.context),s=this.describeDualAxisSeries(r),u=[],x=this.normalizeHistoryPath(r),T=this.resolveConvertUnitTo(r);for(let I of o){let k=yield this.historyApiClient.getValues({paths:I.paths,context:I.context,duration:i,resolution:n});if(!k?.data?.length)continue;if(u=this.historyMapper.mapValuesToChartDatapoints(k,{unit:"number",domain:"scalar"}).map(O=>{let m=O.data.value;return typeof m=="number"&&Number.isFinite(m)&&(s?m=ve(s,m):T&&(m=this.units.convertToUnit(T,m)??m)),{x:O.timestamp,y:m}}),u.length){x=I.labelPath;break}}if(!u.length)return null;let _=this.resolveSeriesColor(t,s),be=e.source?` (${e.source})`:"";return {label:`${x}${be}`,data:u,borderColor:_,backgroundColor:_,pointRadius:0,borderWidth:2,tension:.25,yAxisID:s?.axisId??"y",borderDash:this.isDualAxisDashedSeries(s)?[6,4]:void 0,fill:false}})}describeDualAxisSeries(e){let t=this.normalizeHistoryPath(e??"");if(!t.length)return null;if(this.dualAxisDescriptorCache.has(t))return this.dualAxisDescriptorCache.get(t)??null;let r=Se(t);return this.dualAxisDescriptorCache.set(t,r),r}resolveSeriesColor(e,t){let r=this.getSeriesPalette();return t?this.getDualAxisMetricColor(t.widgetType,t.metric):r[e%r.length]}getSeriesPalette(){let e=this.data.widget?.config?.color||"blue",t=this.resolveThemeColor(e),r=[this.theme().green,this.theme().orange,this.theme().pink,this.theme().purple,this.theme().yellow,this.theme().grey,this.theme().blue,this.theme().contrast],i=r.findIndex(n=>n?.toLowerCase()===t.toLowerCase());return i!==-1?r=[r[i],...r.slice(0,i),...r.slice(i+1)]:r=[t,...r],r}resolveThemeColor(e){let t=this.theme()[e];return typeof t=="string"&&t.length>0?t:e}isDualAxisDashedSeries(e){return e?this.getDualAxisEntityOrderIndex(e.entityId,e.widgetType)%2===1:false}getDualAxisEntityOrderIndex(e,t){let r=[];this.data.seriesDefinitions.forEach(n=>{let o=this.describeDualAxisSeries(n.path);!o||o.widgetType!==t||r.includes(o.entityId)||r.push(o.entityId);});let i=r.indexOf(e);return i>=0?i:0}getDualAxisMetricColor(e,t){let r=this.getSeriesPalette(),n=D(e).metricOrder.indexOf(t),o=n>=0?n:0;return r[o%r.length]}buildHistoryRequestCandidates(e,t){let r=this.normalizeHistoryPath(e),i=this.resolveHistoryContext(e,t),n=[r].filter(s=>s.length>0),o=[];return n.forEach(s=>{o.push({paths:`${s}:avg`,context:i,labelPath:this.normalizeHistoryPath(s)});}),o}resolveQueryableSeriesDefinitions(){return Zr(this,null,function*(){let e=[];for(let t of this.data.seriesDefinitions){let r=yield this.expandTemplateSeries(t);e.push(...r);}return this.sortExpandedSeries(e)})}sortExpandedSeries(e){return e.some(r=>this.describeDualAxisSeries(r.path)!==null)?[...e].sort((r,i)=>{let n=this.describeDualAxisSeries(r.path),o=this.describeDualAxisSeries(i.path);if(!n&&!o)return 0;if(!n)return 1;if(!o)return -1;if(n.entityId!==o.entityId)return n.entityId.localeCompare(o.entityId);let s=D(n.widgetType).metricOrder.indexOf(n.metric),u=D(o.widgetType).metricOrder.indexOf(o.metric);return s-u}):e}expandTemplateSeries(e){return Zr(this,null,function*(){let t=this.normalizeHistoryPath(e.path??""),r=t.endsWith(".*");if(!n(e)&&!r)return [e];let i=t.replace(/\.\*$/,"");if(!i.length)return [e];let n$1=this.resolveDuration(e),o=yield this.historyApiClient.getPaths({duration:n$1});if(!o?.length)return [e];let s=this.findConcreteTemplatePaths(e,i,o);return s.length===0?[e]:s.map((u,x)=>z(G$1({},e),{seriesId:`${e.seriesId}:resolved:${x}`,datasetUuid:`${e.datasetUuid}:resolved:${x}`,path:u,expansionMode:null,familyKey:null,allowedIds:null,trackedDevices:void 0}))})}findConcreteTemplatePaths(e,t,r){let i=Array.from(new Set(r.map(o=>this.normalizeHistoryPath(o)).filter(o=>o.startsWith(`${t}.`))));return i.length===0?[]:n(e)?i.filter(o=>this.matchesTemplateMetric(o,t,e)).filter(o=>this.matchesTemplateAllowedIds(o,t,e)):i}matchesTemplateMetric(e,t,r){let i=e.slice(t.length+1);return w(r.expansionMode).some(o=>i.endsWith(o))}matchesTemplateAllowedIds(e,t,r){let i=Array.isArray(r.allowedIds)?r.allowedIds.map(o=>String(o).trim()).filter(o=>o.length>0):[];if(i.length===0)return true;let n=this.extractEntityId(e,t,r);return !!n&&i.includes(n)}extractEntityId(e,t,r){let i=e.slice(t.length+1);if(!i.length)return null;let o=w(r.expansionMode).find(u=>i.endsWith(u));if(!o)return null;let s=i.slice(0,-o.length).replace(/\.$/,"").trim();return s.length?s:null}normalizeHistoryPath(e){let t=e.trim();return t.length?t.replace(/^(vessels\.)?self\./,""):""}resolveHistoryContext(e,t){let r=this.normalizeContext(t);if(r)return r;if(/^(vessels\.)?self\./.test(e))return "vessels.self"}tryRenderChart(){if(!this.viewReady)return;if(!this.pendingDatasets.length){this.chart?.destroy(),this.chart=null;return}let e=this.chartCanvas();if(!e)return;this.chart?.destroy();let t=this.getPrimaryAxisUnitLabel(),r={type:"line",data:{datasets:this.pendingDatasets},options:{responsive:true,maintainAspectRatio:false,parsing:false,interaction:{mode:"nearest",intersect:false,axis:"x"},scales:G$1({x:{type:"time",time:{tooltipFormat:"PPpp",displayFormats:{second:"HH:mm:ss",minute:"HH:mm",hour:"HH:mm",day:"MMM d",week:"MMM d",month:"MMM yyyy"},unit:"minute",minUnit:"second"},ticks:{color:this.theme().contrastDim},grid:{color:this.theme().contrastDimmer}}},this.buildYScales(t)),plugins:{legend:{labels:{color:this.theme().contrastDim,generateLabels:i=>this.buildLegendLabels(i)}},tooltip:{boxWidth:15,boxHeight:15,bodyFont:{size:14},multiKeyBackground:"rgba(0, 0, 0, 0)",callbacks:{labelColor:i=>{let n=this.getLegendItemForDataset(i.chart,i.datasetIndex),o=Array.isArray(n?.lineDash)&&n.lineDash.length>=2?[n.lineDash[0],n.lineDash[1]]:void 0;return {borderColor:n?.strokeStyle??this.theme().contrast,backgroundColor:"rgba(0, 0, 0, 0)",borderWidth:2,borderRadius:0,borderDash:o}}}}}}};this.chart=new Wl(e.nativeElement.getContext("2d"),r);}getPrimaryAxisUnitLabel(){let e=this.resolveConvertUnitTo();return this.getUnitsLabel(e)}getWidgetPathConfig(e,t){let r=e?.config?.paths;if(!(!r||Array.isArray(r)))return r[t]}resolveConvertUnitTo(e){let t=this.data.widget?.config;if(!t)return null;if(t.paths&&!Array.isArray(t.paths)){if(e)for(let n of Object.keys(t.paths)){let o=this.getWidgetPathConfig(this.data.widget,n);if(o?.path===e&&o.convertUnitTo)return o.convertUnitTo}let r=Object.keys(t.paths)[0],i=r?this.getWidgetPathConfig(this.data.widget,r):void 0;if(i?.convertUnitTo)return i.convertUnitTo}return t.convertUnitTo??null}buildYScales(e){let t=this.resolveDualAxisWidgetType();if(!t)return {y:{ticks:{color:this.theme().contrastDim},grid:{color:this.theme().contrastDimmer},title:{display:!!e,text:e?`${e}`:"",color:this.theme().contrastDim}}};let r=P(t),i={};return r.forEach(n=>{let o=this.resolvePrimaryMetricForAxis(t,n.axisId),s=o?this.getDualAxisMetricColor(t,o):this.theme().contrastDim;i[n.axisId]=z(G$1(G$1({type:"linear",position:n.position},n.min!=null?{min:n.min}:{}),n.max!=null?{max:n.max}:{}),{ticks:{color:this.theme().contrastDim,callback:u=>this.formatAxisTick(u,n.tickSuffix)},grid:G$1({color:this.theme().contrastDimmer},n.drawOnChartArea===false?{drawOnChartArea:false}:{}),title:{display:true,text:n.title,color:s}});}),i}resolvePrimaryMetricForAxis(e,t){let r=D(e);return r.metricOrder.find(n=>r.metrics[n]?.axisId===t)??null}formatAxisTick(e,t){return t==="%"?`${e}%`:`${e} ${t}`}buildLegendLabels(e){return Wl.defaults.plugins.legend.labels.generateLabels(e).map(t=>{let r=t.datasetIndex!=null?e.data.datasets[t.datasetIndex]:null,i=Array.isArray(r?.borderDash)?r.borderDash.filter(n=>typeof n=="number"):[];return z(G$1({},t),{fillStyle:"transparent",lineDash:i})})}getLegendItemForDataset(e,t){return this.buildLegendLabels(e).find(r=>r.datasetIndex===t)??null}resolveDualAxisWidgetType(){return De(this.data.widget?.type,this.pendingDatasets.map(e=>typeof e.yAxisID=="string"?e.yAxisID:null))}setPeriod(e){this.selectedPeriod.set(e),this.loadHistoryDatasets();}resolveDuration(e){return e.timeScale&&e.period&&Number.isFinite(e.period)?this.durationFromScaleAndPeriod(e.timeScale,e.period):this.selectedPeriod()}durationFromScaleAndPeriod(e,t){let r=Math.max(1,Math.round(t)),i=e.trim().toLowerCase(),n=i.match(/^last\s+(\d+)\s+([a-z]+)/i);if(n){let o=Number(n[1]),s=n[2];if(Number.isFinite(o)&&o>0)return this.durationFromToken(s,o)}return this.durationFromToken(i,r)}durationFromToken(e,t){let r=e.toLowerCase();return r.startsWith("second")?`PT${t}S`:r.startsWith("minute")?`PT${t}M`:r.startsWith("hour")?`PT${t}H`:r.startsWith("day")?`P${t}D`:r.startsWith("week")?`P${t*7}D`:r.startsWith("month")?`P${t}M`:"PT24H"}resolveResolutionSeconds(e){let t=this.parseDurationToSeconds(e);return !Number.isFinite(t)||t<=0?1:Math.max(1,Math.round(t/120))}parseDurationToSeconds(e){let r=/^P(?:(\d+)D)?(?:T(?:(\d+)H)?(?:(\d+)M)?(?:(\d+)S)?)?$/i.exec(e.trim());if(!r)return NaN;let i=Number(r[1]??0),n=Number(r[2]??0),o=Number(r[3]??0),s=Number(r[4]??0);return i*86400+n*3600+o*60+s}normalizeContext(e){let t=typeof e=="string"?e.trim():"";return t.length?t:void 0}getUnitsLabel(e){if(!e)return "";switch(e){case "percent":case "percentraw":return "%";case "latitudeMin":return "latitude in minutes";case "latitudeSec":return "latitude in secondes";case "longitudeMin":return "longitude in minutes";case "longitudeSec":return "longitude in secondes";default:return e}}static \u0275fac=function(t){return new(t||a)};static \u0275cmp=JD({type:a,selectors:[["widget-history-chart-dialog"]],viewQuery:function(t,r){t&1&&eg(r.chartCanvas,Ae,5),t&2&&Kw();},inputs:{selectedPeriod:[1,"selectedPeriod"]},outputs:{selectedPeriod:"selectedPeriodChange"},decls:22,vars:4,consts:[["historyCanvas",""],[1,"dialogue-header"],["mat-dialog-title",""],["mat-icon-button","",1,"dialog-close-icon",3,"mat-dialog-close"],[1,"history-dialog-content"],[1,"time-select"],["hideSingleSelectionIndicator","true","aria-label","Chart Time Span Selection",3,"ngModelChange","ngModel"],["value","PT15M",3,"click"],["value","PT1H",3,"click"],["value","PT8H",3,"click"],["value","PT24H",3,"click"],[1,"chart-area"],[1,"history-message"],[1,"history-message","error"],[1,"chart-wrapper"]],template:function(t,r){t&1&&(Pi(0,"div",1)(1,"h5",2),TT(2),ul(),Pi(3,"button",3)(4,"mat-icon"),TT(5,"close"),ul()()(),Pi(6,"mat-dialog-content",4)(7,"div",5)(8,"mat-button-toggle-group",6),Eg("ngModelChange",function(n){return ST(r.selectedPeriod,n)||(r.selectedPeriod=n),n}),Pi(9,"mat-button-toggle",7),Qh("click",function(){return r.setPeriod("PT15M")}),TT(10,"15 Minutes"),ul(),Pi(11,"mat-button-toggle",8),Qh("click",function(){return r.setPeriod("PT1H")}),TT(12,"1 Hour"),ul(),Pi(13,"mat-button-toggle",9),Qh("click",function(){return r.setPeriod("PT8H")}),TT(14,"8 Hours"),ul(),Pi(15,"mat-button-toggle",10),Qh("click",function(){return r.setPeriod("PT24H")}),TT(16,"24 Hours"),ul()(),cD(),ul(),Pi(17,"div",11),_w(18,we,2,0,"p",12)(19,Pe,2,1,"p",13)(20,Te,2,0,"p",12)(21,_e,3,0,"div",14),ul()()),t&2&&(EE(2),gg(r.data.title),EE(),Bh("mat-dialog-close",false),EE(5),Ig("ngModel",r.selectedPeriod),lD(),EE(10),Mw(r.loading()?18:r.error()?19:r.hasNoData()?20:21));},dependencies:[Ht,jt,Nt,Vt,Ot,bt,nt,Op,eu,yt,wt,Ln,Pn,rn],styles:["[_nghost-%COMP%]{display:block;height:100%;width:100%}.dialogue-header[_ngcontent-%COMP%]{display:flex;justify-content:space-between;align-items:baseline}.dialog-close-icon[_ngcontent-%COMP%]{margin-right:15px}mat-dialog-content.history-dialog-content[_ngcontent-%COMP%]{padding:0 24px 20px;display:flex;flex-direction:column;width:100%;height:100%;min-width:70vw;min-height:55vh;justify-content:flex-start;align-items:stretch}.time-select[_ngcontent-%COMP%]{flex-grow:0;text-align:center;width:100%}.chart-area[_ngcontent-%COMP%], .chart-wrapper[_ngcontent-%COMP%]{display:flex;flex-direction:column;flex:1 1 0;min-height:0;width:100%}.chart-wrapper[_ngcontent-%COMP%] canvas[_ngcontent-%COMP%]{flex:1 1 0;min-height:0}.history-message[_ngcontent-%COMP%]{margin:0;padding:1rem 0}.error[_ngcontent-%COMP%]{color:var(--mat-sys-error)}"]})}return a})();export{rt as WidgetHistoryChartDialogComponent};
1
+ import {w as w$1,dl as E,dm as G,N,aY as xe,bu as ut,dd as $e,$ as $j,W as Wp,v as vt,bG as Bj,D as Dt,F as Fa,dn as ge,a$ as Zr,dp as n,cw as z,cv as G$1,b0 as Wl,J as JD,dq as Ht,di as jt,de as Nt,df as Vt,dr as Ot,ds as bt,dt as nt,O as Op,o as eu,y as yt,b as wt,b2 as Ln,b5 as Pn,b9 as rn,P as Pi,T as TT,u as ul,bi as Eg,k as Qh,bk as cD,_ as _w,e as EE,aA as gg,B as Bh,bm as Ig,bo as lD,M as Mw,f as eg,K as Kw,g as qw,bp as gl,c as $h,bj as ST}from'./main-IINF7HD6.js';import'./chunk-DA2JBQHi.js';var y={"widget-bms":{expansionMode:"bms-battery-tree",metricOrder:["soc","current"],metrics:{soc:{metric:"soc",axisId:"ySoc",pathSuffixes:[".capacity.stateOfCharge",".stateOfCharge"],transform:a=>a*100},current:{metric:"current",axisId:"yCurrent",pathSuffixes:[".current"],transform:a=>a}},axes:{ySoc:{axisId:"ySoc",position:"left",title:"SoC (%)",tickSuffix:"%",min:0,max:100},yCurrent:{axisId:"yCurrent",position:"right",title:"Current (A)",tickSuffix:"A",drawOnChartArea:false}},pathRules:[{metric:"soc",axisId:"ySoc",regex:/^electrical\.batteries\.([^.]+)\.(?:capacity\.)?stateOfCharge$/i},{metric:"current",axisId:"yCurrent",regex:/^electrical\.batteries\.([^.]+)\.current$/i}]},"widget-solar-charger":{expansionMode:"solar-tree",metricOrder:["panelPower","current"],metrics:{panelPower:{metric:"panelPower",axisId:"yPower",pathSuffixes:[".panelPower"],transform:a=>a/1e3},current:{metric:"current",axisId:"yCurrent",pathSuffixes:[".current"],transform:a=>a}},axes:{yPower:{axisId:"yPower",position:"left",title:"Power (kW)",tickSuffix:"kW"},yCurrent:{axisId:"yCurrent",position:"right",title:"Current (A)",tickSuffix:"A",drawOnChartArea:false}},pathRules:[{metric:"current",axisId:"yCurrent",regex:/^electrical\.solar\.([^.]+)\.current$/i},{metric:"panelPower",axisId:"yPower",regex:/^electrical\.solar\.([^.]+)\.panelPower$/i}]},"widget-charger":{expansionMode:"charger-tree",metricOrder:["voltage","current"],metrics:{voltage:{metric:"voltage",axisId:"yVoltage",pathSuffixes:[".voltage"],transform:a=>a},current:{metric:"current",axisId:"yCurrent",pathSuffixes:[".current"],transform:a=>a}},axes:{yVoltage:{axisId:"yVoltage",position:"left",title:"Voltage (V)",tickSuffix:"V"},yCurrent:{axisId:"yCurrent",position:"right",title:"Current (A)",tickSuffix:"A",drawOnChartArea:false}},pathRules:[{metric:"voltage",axisId:"yVoltage",regex:/^electrical\.chargers\.([^.]+)\.voltage$/i},{metric:"current",axisId:"yCurrent",regex:/^electrical\.chargers\.([^.]+)\.current$/i}]},"widget-inverter":{expansionMode:"inverter-tree",metricOrder:["voltage","current"],metrics:{voltage:{metric:"voltage",axisId:"yVoltage",pathSuffixes:[".voltage"],transform:a=>a},current:{metric:"current",axisId:"yCurrent",pathSuffixes:[".current"],transform:a=>a}},axes:{yVoltage:{axisId:"yVoltage",position:"left",title:"Voltage (V)",tickSuffix:"V"},yCurrent:{axisId:"yCurrent",position:"right",title:"Current (A)",tickSuffix:"A",drawOnChartArea:false}},pathRules:[{metric:"voltage",axisId:"yVoltage",regex:/^electrical\.inverters\.([^.]+)\.voltage$/i},{metric:"current",axisId:"yCurrent",regex:/^electrical\.inverters\.([^.]+)\.current$/i}]},"widget-alternator":{expansionMode:"alternator-tree",metricOrder:["voltage","current"],metrics:{voltage:{metric:"voltage",axisId:"yVoltage",pathSuffixes:[".voltage"],transform:a=>a},current:{metric:"current",axisId:"yCurrent",pathSuffixes:[".current"],transform:a=>a}},axes:{yVoltage:{axisId:"yVoltage",position:"left",title:"Voltage (V)",tickSuffix:"V"},yCurrent:{axisId:"yCurrent",position:"right",title:"Current (A)",tickSuffix:"A",drawOnChartArea:false}},pathRules:[{metric:"voltage",axisId:"yVoltage",regex:/^electrical\.alternators\.([^.]+)\.voltage$/i},{metric:"current",axisId:"yCurrent",regex:/^electrical\.alternators\.([^.]+)\.current$/i}]},"widget-ac":{expansionMode:"ac-tree",metricOrder:["voltage","current","frequency"],metrics:{voltage:{metric:"voltage",axisId:"yVoltage",pathSuffixes:[".line1.voltage",".line2.voltage",".line3.voltage"],transform:a=>a},current:{metric:"current",axisId:"yCurrent",pathSuffixes:[".line1.current",".line2.current",".line3.current"],transform:a=>a},frequency:{metric:"frequency",axisId:"yFrequency",pathSuffixes:[".line1.frequency",".line2.frequency",".line3.frequency"],transform:a=>a}},axes:{yVoltage:{axisId:"yVoltage",position:"left",title:"Voltage (V)",tickSuffix:"V"},yCurrent:{axisId:"yCurrent",position:"right",title:"Current (A)",tickSuffix:"A",drawOnChartArea:false},yFrequency:{axisId:"yFrequency",position:"left",title:"Frequency (Hz)",tickSuffix:"Hz",drawOnChartArea:false}},pathRules:[{metric:"voltage",axisId:"yVoltage",regex:/^electrical\.ac\.([^.]+)\.line[123]\.voltage$/i},{metric:"current",axisId:"yCurrent",regex:/^electrical\.ac\.([^.]+)\.line[123]\.current$/i},{metric:"frequency",axisId:"yFrequency",regex:/^electrical\.ac\.([^.]+)\.line[123]\.frequency$/i}]}},Ie={"bms-battery-tree":"widget-bms","solar-tree":"widget-solar-charger","charger-tree":"widget-charger","inverter-tree":"widget-inverter","alternator-tree":"widget-alternator","ac-tree":"widget-ac"};function Me(a){return !!a&&a in y}function D(a){return y[a]}function w(a){let l=Ie[a],e=y[l],t=[];return e.metricOrder.forEach(r=>{let i=e.metrics[r];i&&i.pathSuffixes.forEach(n=>{t.includes(n)||t.push(n);});}),t}function ve(a,l){let e=y[a.widgetType].metrics[a.metric];return e?e.transform(l):l}function P(a){let l=y[a],e=[];return l.metricOrder.forEach(t=>{let r=l.metrics[t]?.axisId;!r||e.includes(r)||e.push(r);}),e.map(t=>l.axes[t]).filter(t=>!!t)}function De(a,l){if(!Me(a))return null;let e=P(a),t=new Set(e.map(i=>i.axisId));return t.size===0?null:l.some(i=>!!i&&t.has(i))?a:null}function Se(a){for(let[l,e]of Object.entries(y))for(let t of e.pathRules){let r=t.regex.exec(a);if(r)return {widgetType:l,entityId:r[1],metric:t.metric,axisId:t.axisId}}return null}var Ae=["historyCanvas"];function we(a,l){a&1&&(Pi(0,"p",12),TT(1,"Loading historical data\u2026"),ul());}function Pe(a,l){if(a&1&&(Pi(0,"p",13),TT(1),ul()),a&2){let e=qw();EE(),gl("503: ",e.error());}}function Te(a,l){a&1&&(Pi(0,"p",12),TT(1,"No historical data is available for this widget. If you are not using the built-in KIP History API provider, validate your plugin configuration supports the widget's path and try again."),ul());}function _e(a,l){a&1&&(Pi(0,"div",14),$h(1,"canvas",null,0),ul());}var rt=(()=>{class a{historyApiClient=w$1(E);historyMapper=w$1(G);app=w$1(N);destroyRef=w$1(xe);units=w$1(ut);data=w$1($e);chartCanvas=$j("historyCanvas");theme=Wp(this.app.cssThemeColorRoles$,{requireSync:true});loading=vt(true);error=vt(null);datasetCount=vt(0);selectedPeriod=Bj("PT1H");hasNoData=Dt(()=>!this.loading()&&!this.error()&&this.datasetCount()===0);chart=null;viewReady=false;pendingDatasets=[];dualAxisDescriptorCache=new Map;constructor(){Fa(()=>{let e=this.chartCanvas(),t=this.loading(),r=this.datasetCount();!e||t||r<=0||ge(()=>{this.tryRenderChart();});});}loadHistoryDatasets(){return Zr(this,null,function*(){this.loading.set(true),this.error.set(null),this.dualAxisDescriptorCache.clear();try{let e=yield this.resolveQueryableSeriesDefinitions(),t=yield Promise.all(e.map((r,i)=>this.buildDatasetForSeries(r,i)));this.pendingDatasets=t.filter(r=>!!r),this.datasetCount.set(this.pendingDatasets.length),this.tryRenderChart();}catch(e){console.error("[WidgetHistoryChartDialogComponent] Failed to load widget history datasets:",e),this.error.set("Unable to load historical data for this widget."),this.pendingDatasets=[],this.datasetCount.set(0);}finally{this.loading.set(false),queueMicrotask(()=>{this.tryRenderChart();});}})}ngOnInit(){this.loadHistoryDatasets(),this.destroyRef.onDestroy(()=>{this.chart?.destroy(),this.chart=null;});}ngAfterViewInit(){this.onCanvasReady();}ngOnDestroy(){this.chart?.destroy(),this.chart=null;}onCanvasReady(){this.viewReady=true,this.tryRenderChart();}buildDatasetForSeries(e,t){return Zr(this,null,function*(){let r=e.path;if(!r)return null;let i=this.resolveDuration(e),n=this.resolveResolutionSeconds(i),o=this.buildHistoryRequestCandidates(r,e.context),s=this.describeDualAxisSeries(r),u=[],x=this.normalizeHistoryPath(r),T=this.resolveConvertUnitTo(r);for(let I of o){let k=yield this.historyApiClient.getValues({paths:I.paths,context:I.context,duration:i,resolution:n});if(!k?.data?.length)continue;if(u=this.historyMapper.mapValuesToChartDatapoints(k,{unit:"number",domain:"scalar"}).map(O=>{let m=O.data.value;return typeof m=="number"&&Number.isFinite(m)&&(s?m=ve(s,m):T&&(m=this.units.convertToUnit(T,m)??m)),{x:O.timestamp,y:m}}),u.length){x=I.labelPath;break}}if(!u.length)return null;let _=this.resolveSeriesColor(t,s),be=e.source?` (${e.source})`:"";return {label:`${x}${be}`,data:u,borderColor:_,backgroundColor:_,pointRadius:0,borderWidth:2,tension:.25,yAxisID:s?.axisId??"y",borderDash:this.isDualAxisDashedSeries(s)?[6,4]:void 0,fill:false}})}describeDualAxisSeries(e){let t=this.normalizeHistoryPath(e??"");if(!t.length)return null;if(this.dualAxisDescriptorCache.has(t))return this.dualAxisDescriptorCache.get(t)??null;let r=Se(t);return this.dualAxisDescriptorCache.set(t,r),r}resolveSeriesColor(e,t){let r=this.getSeriesPalette();return t?this.getDualAxisMetricColor(t.widgetType,t.metric):r[e%r.length]}getSeriesPalette(){let e=this.data.widget?.config?.color||"blue",t=this.resolveThemeColor(e),r=[this.theme().green,this.theme().orange,this.theme().pink,this.theme().purple,this.theme().yellow,this.theme().grey,this.theme().blue,this.theme().contrast],i=r.findIndex(n=>n?.toLowerCase()===t.toLowerCase());return i!==-1?r=[r[i],...r.slice(0,i),...r.slice(i+1)]:r=[t,...r],r}resolveThemeColor(e){let t=this.theme()[e];return typeof t=="string"&&t.length>0?t:e}isDualAxisDashedSeries(e){return e?this.getDualAxisEntityOrderIndex(e.entityId,e.widgetType)%2===1:false}getDualAxisEntityOrderIndex(e,t){let r=[];this.data.seriesDefinitions.forEach(n=>{let o=this.describeDualAxisSeries(n.path);!o||o.widgetType!==t||r.includes(o.entityId)||r.push(o.entityId);});let i=r.indexOf(e);return i>=0?i:0}getDualAxisMetricColor(e,t){let r=this.getSeriesPalette(),n=D(e).metricOrder.indexOf(t),o=n>=0?n:0;return r[o%r.length]}buildHistoryRequestCandidates(e,t){let r=this.normalizeHistoryPath(e),i=this.resolveHistoryContext(e,t),n=[r].filter(s=>s.length>0),o=[];return n.forEach(s=>{o.push({paths:`${s}:avg`,context:i,labelPath:this.normalizeHistoryPath(s)});}),o}resolveQueryableSeriesDefinitions(){return Zr(this,null,function*(){let e=[];for(let t of this.data.seriesDefinitions){let r=yield this.expandTemplateSeries(t);e.push(...r);}return this.sortExpandedSeries(e)})}sortExpandedSeries(e){return e.some(r=>this.describeDualAxisSeries(r.path)!==null)?[...e].sort((r,i)=>{let n=this.describeDualAxisSeries(r.path),o=this.describeDualAxisSeries(i.path);if(!n&&!o)return 0;if(!n)return 1;if(!o)return -1;if(n.entityId!==o.entityId)return n.entityId.localeCompare(o.entityId);let s=D(n.widgetType).metricOrder.indexOf(n.metric),u=D(o.widgetType).metricOrder.indexOf(o.metric);return s-u}):e}expandTemplateSeries(e){return Zr(this,null,function*(){let t=this.normalizeHistoryPath(e.path??""),r=t.endsWith(".*");if(!n(e)&&!r)return [e];let i=t.replace(/\.\*$/,"");if(!i.length)return [e];let n$1=this.resolveDuration(e),o=yield this.historyApiClient.getPaths({duration:n$1});if(!o?.length)return [e];let s=this.findConcreteTemplatePaths(e,i,o);return s.length===0?[e]:s.map((u,x)=>z(G$1({},e),{seriesId:`${e.seriesId}:resolved:${x}`,datasetUuid:`${e.datasetUuid}:resolved:${x}`,path:u,expansionMode:null,familyKey:null,allowedIds:null,trackedDevices:void 0}))})}findConcreteTemplatePaths(e,t,r){let i=Array.from(new Set(r.map(o=>this.normalizeHistoryPath(o)).filter(o=>o.startsWith(`${t}.`))));return i.length===0?[]:n(e)?i.filter(o=>this.matchesTemplateMetric(o,t,e)).filter(o=>this.matchesTemplateAllowedIds(o,t,e)):i}matchesTemplateMetric(e,t,r){let i=e.slice(t.length+1);return w(r.expansionMode).some(o=>i.endsWith(o))}matchesTemplateAllowedIds(e,t,r){let i=Array.isArray(r.allowedIds)?r.allowedIds.map(o=>String(o).trim()).filter(o=>o.length>0):[];if(i.length===0)return true;let n=this.extractEntityId(e,t,r);return !!n&&i.includes(n)}extractEntityId(e,t,r){let i=e.slice(t.length+1);if(!i.length)return null;let o=w(r.expansionMode).find(u=>i.endsWith(u));if(!o)return null;let s=i.slice(0,-o.length).replace(/\.$/,"").trim();return s.length?s:null}normalizeHistoryPath(e){let t=e.trim();return t.length?t.replace(/^(vessels\.)?self\./,""):""}resolveHistoryContext(e,t){let r=this.normalizeContext(t);if(r)return r;if(/^(vessels\.)?self\./.test(e))return "vessels.self"}tryRenderChart(){if(!this.viewReady)return;if(!this.pendingDatasets.length){this.chart?.destroy(),this.chart=null;return}let e=this.chartCanvas();if(!e)return;this.chart?.destroy();let t=this.getPrimaryAxisUnitLabel(),r={type:"line",data:{datasets:this.pendingDatasets},options:{responsive:true,maintainAspectRatio:false,parsing:false,interaction:{mode:"nearest",intersect:false,axis:"x"},scales:G$1({x:{type:"time",time:{tooltipFormat:"PPpp",displayFormats:{second:"HH:mm:ss",minute:"HH:mm",hour:"HH:mm",day:"MMM d",week:"MMM d",month:"MMM yyyy"},unit:"minute",minUnit:"second"},ticks:{color:this.theme().contrastDim},grid:{color:this.theme().contrastDimmer}}},this.buildYScales(t)),plugins:{legend:{labels:{color:this.theme().contrastDim,generateLabels:i=>this.buildLegendLabels(i)}},tooltip:{boxWidth:15,boxHeight:15,bodyFont:{size:14},multiKeyBackground:"rgba(0, 0, 0, 0)",callbacks:{labelColor:i=>{let n=this.getLegendItemForDataset(i.chart,i.datasetIndex),o=Array.isArray(n?.lineDash)&&n.lineDash.length>=2?[n.lineDash[0],n.lineDash[1]]:void 0;return {borderColor:n?.strokeStyle??this.theme().contrast,backgroundColor:"rgba(0, 0, 0, 0)",borderWidth:2,borderRadius:0,borderDash:o}}}}}}};this.chart=new Wl(e.nativeElement.getContext("2d"),r);}getPrimaryAxisUnitLabel(){let e=this.resolveConvertUnitTo();return this.getUnitsLabel(e)}getWidgetPathConfig(e,t){let r=e?.config?.paths;if(!(!r||Array.isArray(r)))return r[t]}resolveConvertUnitTo(e){let t=this.data.widget?.config;if(!t)return null;if(t.paths&&!Array.isArray(t.paths)){if(e)for(let n of Object.keys(t.paths)){let o=this.getWidgetPathConfig(this.data.widget,n);if(o?.path===e&&o.convertUnitTo)return o.convertUnitTo}let r=Object.keys(t.paths)[0],i=r?this.getWidgetPathConfig(this.data.widget,r):void 0;if(i?.convertUnitTo)return i.convertUnitTo}return t.convertUnitTo??null}buildYScales(e){let t=this.resolveDualAxisWidgetType();if(!t)return {y:{ticks:{color:this.theme().contrastDim},grid:{color:this.theme().contrastDimmer},title:{display:!!e,text:e?`${e}`:"",color:this.theme().contrastDim}}};let r=P(t),i={};return r.forEach(n=>{let o=this.resolvePrimaryMetricForAxis(t,n.axisId),s=o?this.getDualAxisMetricColor(t,o):this.theme().contrastDim;i[n.axisId]=z(G$1(G$1({type:"linear",position:n.position},n.min!=null?{min:n.min}:{}),n.max!=null?{max:n.max}:{}),{ticks:{color:this.theme().contrastDim,callback:u=>this.formatAxisTick(u,n.tickSuffix)},grid:G$1({color:this.theme().contrastDimmer},n.drawOnChartArea===false?{drawOnChartArea:false}:{}),title:{display:true,text:n.title,color:s}});}),i}resolvePrimaryMetricForAxis(e,t){let r=D(e);return r.metricOrder.find(n=>r.metrics[n]?.axisId===t)??null}formatAxisTick(e,t){return t==="%"?`${e}%`:`${e} ${t}`}buildLegendLabels(e){return Wl.defaults.plugins.legend.labels.generateLabels(e).map(t=>{let r=t.datasetIndex!=null?e.data.datasets[t.datasetIndex]:null,i=Array.isArray(r?.borderDash)?r.borderDash.filter(n=>typeof n=="number"):[];return z(G$1({},t),{fillStyle:"transparent",lineDash:i})})}getLegendItemForDataset(e,t){return this.buildLegendLabels(e).find(r=>r.datasetIndex===t)??null}resolveDualAxisWidgetType(){return De(this.data.widget?.type,this.pendingDatasets.map(e=>typeof e.yAxisID=="string"?e.yAxisID:null))}setPeriod(e){this.selectedPeriod.set(e),this.loadHistoryDatasets();}resolveDuration(e){return e.timeScale&&e.period&&Number.isFinite(e.period)?this.durationFromScaleAndPeriod(e.timeScale,e.period):this.selectedPeriod()}durationFromScaleAndPeriod(e,t){let r=Math.max(1,Math.round(t)),i=e.trim().toLowerCase(),n=i.match(/^last\s+(\d+)\s+([a-z]+)/i);if(n){let o=Number(n[1]),s=n[2];if(Number.isFinite(o)&&o>0)return this.durationFromToken(s,o)}return this.durationFromToken(i,r)}durationFromToken(e,t){let r=e.toLowerCase();return r.startsWith("second")?`PT${t}S`:r.startsWith("minute")?`PT${t}M`:r.startsWith("hour")?`PT${t}H`:r.startsWith("day")?`P${t}D`:r.startsWith("week")?`P${t*7}D`:r.startsWith("month")?`P${t}M`:"PT24H"}resolveResolutionSeconds(e){let t=this.parseDurationToSeconds(e);return !Number.isFinite(t)||t<=0?1:Math.max(1,Math.round(t/120))}parseDurationToSeconds(e){let r=/^P(?:(\d+)D)?(?:T(?:(\d+)H)?(?:(\d+)M)?(?:(\d+)S)?)?$/i.exec(e.trim());if(!r)return NaN;let i=Number(r[1]??0),n=Number(r[2]??0),o=Number(r[3]??0),s=Number(r[4]??0);return i*86400+n*3600+o*60+s}normalizeContext(e){let t=typeof e=="string"?e.trim():"";return t.length?t:void 0}getUnitsLabel(e){if(!e)return "";switch(e){case "percent":case "percentraw":return "%";case "latitudeMin":return "latitude in minutes";case "latitudeSec":return "latitude in secondes";case "longitudeMin":return "longitude in minutes";case "longitudeSec":return "longitude in secondes";default:return e}}static \u0275fac=function(t){return new(t||a)};static \u0275cmp=JD({type:a,selectors:[["widget-history-chart-dialog"]],viewQuery:function(t,r){t&1&&eg(r.chartCanvas,Ae,5),t&2&&Kw();},inputs:{selectedPeriod:[1,"selectedPeriod"]},outputs:{selectedPeriod:"selectedPeriodChange"},decls:22,vars:4,consts:[["historyCanvas",""],[1,"dialogue-header"],["mat-dialog-title",""],["mat-icon-button","",1,"dialog-close-icon",3,"mat-dialog-close"],[1,"history-dialog-content"],[1,"time-select"],["hideSingleSelectionIndicator","true","aria-label","Chart Time Span Selection",3,"ngModelChange","ngModel"],["value","PT15M",3,"click"],["value","PT1H",3,"click"],["value","PT8H",3,"click"],["value","PT24H",3,"click"],[1,"chart-area"],[1,"history-message"],[1,"history-message","error"],[1,"chart-wrapper"]],template:function(t,r){t&1&&(Pi(0,"div",1)(1,"h5",2),TT(2),ul(),Pi(3,"button",3)(4,"mat-icon"),TT(5,"close"),ul()()(),Pi(6,"mat-dialog-content",4)(7,"div",5)(8,"mat-button-toggle-group",6),Eg("ngModelChange",function(n){return ST(r.selectedPeriod,n)||(r.selectedPeriod=n),n}),Pi(9,"mat-button-toggle",7),Qh("click",function(){return r.setPeriod("PT15M")}),TT(10,"15 Minutes"),ul(),Pi(11,"mat-button-toggle",8),Qh("click",function(){return r.setPeriod("PT1H")}),TT(12,"1 Hour"),ul(),Pi(13,"mat-button-toggle",9),Qh("click",function(){return r.setPeriod("PT8H")}),TT(14,"8 Hours"),ul(),Pi(15,"mat-button-toggle",10),Qh("click",function(){return r.setPeriod("PT24H")}),TT(16,"24 Hours"),ul()(),cD(),ul(),Pi(17,"div",11),_w(18,we,2,0,"p",12)(19,Pe,2,1,"p",13)(20,Te,2,0,"p",12)(21,_e,3,0,"div",14),ul()()),t&2&&(EE(2),gg(r.data.title),EE(),Bh("mat-dialog-close",false),EE(5),Ig("ngModel",r.selectedPeriod),lD(),EE(10),Mw(r.loading()?18:r.error()?19:r.hasNoData()?20:21));},dependencies:[Ht,jt,Nt,Vt,Ot,bt,nt,Op,eu,yt,wt,Ln,Pn,rn],styles:["[_nghost-%COMP%]{display:block;height:100%;width:100%}.dialogue-header[_ngcontent-%COMP%]{display:flex;justify-content:space-between;align-items:baseline}.dialog-close-icon[_ngcontent-%COMP%]{margin-right:15px}mat-dialog-content.history-dialog-content[_ngcontent-%COMP%]{padding:0 24px 20px;display:flex;flex-direction:column;width:100%;height:100%;min-width:70vw;min-height:55vh;justify-content:flex-start;align-items:stretch}.time-select[_ngcontent-%COMP%]{flex-grow:0;text-align:center;width:100%}.chart-area[_ngcontent-%COMP%], .chart-wrapper[_ngcontent-%COMP%]{display:flex;flex-direction:column;flex:1 1 0;min-height:0;width:100%}.chart-wrapper[_ngcontent-%COMP%] canvas[_ngcontent-%COMP%]{flex:1 1 0;min-height:0}.history-message[_ngcontent-%COMP%]{margin:0;padding:1rem 0}.error[_ngcontent-%COMP%]{color:var(--mat-sys-error)}"]})}return a})();export{rt as WidgetHistoryChartDialogComponent};
@@ -1 +1 @@
1
- import {c}from'./chunk-BIb-xYiS.js';import {d1 as Hj,w,du as p,dv as rt,ao as ue,$ as $j,v as vt,D as Dt,F as Fa,dn as ge,J as JD,ci as dl,cn as wd,cp as Uh,cj as fl,X as xw,cs as Sw,T as TT,e as EE,Y as Aw,d as ig,s as sg,an as Hh,aA as gg,bp as gl,f as eg,K as Kw}from'./main-YKDNK5VZ.js';var ae=["finePath"],oe=["coarsePath"];function re(i,c){if(i&1&&(wd(),Uh(0,"line")),i&2){let e=c.$implicit;Hh("x1",e.x1)("y1",e.y1)("x2",e.x2)("y2",e.y2)("stroke-width",e.major?1.5:1);}}function se(i,c){if(i&1&&(wd(),Uh(0,"line",20)),i&2){let e=c.$implicit;Hh("x1",e.x1)("y1",e.y1)("x2",e.x2)("y2",e.y2)("stroke-width",e.major?1.2:.8);}}function le(i,c){if(i&1&&(wd(),dl(0,"text"),TT(1),fl()),i&2){let e=c.$implicit;Hh("x",e.x)("y",e.y),EE(),gl("",e.text,"\xB0");}}function ce(i,c){if(i&1&&(wd(),Uh(0,"line")),i&2){let e=c.$implicit;Hh("x1",e.x1)("y1",e.y1)("x2",e.x2)("y2",e.y2)("stroke-width",e.major?1.5:1);}}function me(i,c){if(i&1&&(wd(),Uh(0,"line",20)),i&2){let e=c.$implicit;Hh("x1",e.x1)("y1",e.y1)("x2",e.x2)("y2",e.y2)("stroke-width",e.major?1.2:.8);}}function de(i,c){if(i&1&&(wd(),dl(0,"text"),TT(1),fl()),i&2){let e=c.$implicit;Hh("x",e.x)("y",e.y),EE(),gl("",e.text,"\xB0");}}var be=(()=>{class i{id=Hj.required();type=Hj.required();theme=Hj.required();runtime=w(p);streams=w(rt);ngZone=w(ue);finePathRef=$j("finePath");coarsePathRef=$j("coarsePath");angleDeg=vt(0);absAngle=Dt(()=>{let e=this.angleDeg();return e==null?null:Math.abs(e)});angleSide=Dt(()=>{let e=this.angleDeg();if(e==null)return "";let n=e>0?"Stbd":e<0?"Port":"Level";return this.runtime.options()?.gauge?.sideLabel?n:""});displayValue=Dt(()=>{let e=this.absAngle();if(e==null)return "--";let n=this.runtime.options()?.numDecimal??1;return e.toFixed(n)});themeColorValue=vt("contrast");normalizedConfig=Dt(()=>this.runtime.options()??i.DEFAULT_CONFIG);anglePathConfig=Dt(()=>this.normalizedConfig().paths?.angle);ready=vt(false);pointerTransition=Dt(()=>{let e=this.anglePathConfig()?.sampleTime??1e3;return `transform ${Math.max(100,e*.95)}ms ease-in-out`});fineTicks=vt([]);fineInnerTicks=vt([]);fineLabels=vt([]);coarseTicks=vt([]);coarseInnerTicks=vt([]);coarseLabels=vt([]);finePointerTransform=this.makePointerTransform("fine");coarsePointerTransform=this.makePointerTransform("coarse");displayName=Dt(()=>this.runtime.options()?.displayName||"Heel");static DEFAULT_CONFIG={supportAutomaticHistoricalSeries:true,displayName:"Heel",filterSelfPaths:true,paths:{angle:{description:"Heel / Roll / Other Angle",path:"self.navigation.attitude.roll",source:"default",pathType:"number",isPathConfigurable:true,convertUnitTo:"deg",sampleTime:1e3,pathRequired:true}},gauge:{type:"angle",invertAngle:false,sideLabel:true},numInt:2,numDecimal:0,color:"contrast",enableTimeout:false,dataTimeout:5};constructor(){Fa(()=>{let e=this.normalizedConfig();this.anglePathConfig()?.path&&ge(()=>this.streams.observe("angle",t=>{let s=t?.data?.value;if(s==null){this.angleDeg.set(null);return}let m=e.gauge?.invertAngle?-s:s;this.angleDeg.set(m);}));}),Fa(()=>{let e=this.theme(),n=this.runtime.options();!e||!n||this.themeColorValue.set(c(n.color||"contrast",e).color);});}ngAfterViewInit(){this.ngZone.runOutsideAngular(()=>{requestAnimationFrame(()=>{let e=this.finePathRef()?.nativeElement,n=this.coarsePathRef()?.nativeElement;if(e){let t=this.buildScale(e,-5,5,1,.5);this.fineTicks.set(t.ticks),this.fineInnerTicks.set(t.innerTicks),this.fineLabels.set(t.labels);}if(n){let t=this.buildScale(n,-40,40,10,5);this.coarseTicks.set(t.ticks),this.coarseInnerTicks.set(t.innerTicks),this.coarseLabels.set(t.labels);}this.angleDeg()==null&&this.angleDeg.set(0),this.ready.set(true);});});}makePointerTransform(e){return Dt(()=>this.computePointerTransform(this.angleDeg(),e))}setColors(e){let n=this.runtime.options();!e||!n||this.themeColorValue.set(c(n.color||"contrast",e).color);}computePointerTransform(e,n){let t=e??0,s=n==="fine"?this.finePathRef()?.nativeElement:this.coarsePathRef()?.nativeElement;if(!s)return n==="fine"?"translate(200px, 20px) rotate(0deg)":"translate(200px, 10px) rotate(0deg)";let m=n==="fine"?{min:-5,max:5}:{min:-40,max:40},A=Math.max(m.min,Math.min(m.max,t)),C=s.getTotalLength(),h=(A-m.min)/(m.max-m.min)*C,D=s.getPointAtLength(h),k=h<10||h>C-10?5:1,N=s.getPointAtLength(Math.max(0,h-k)),p=s.getPointAtLength(Math.min(C,h+k)),x=p.x-N.x,_=p.y-N.y,S=Math.atan2(_,x)*180/Math.PI,f=Math.hypot(x,_)||1,L=-_/f,O=x/f,y=-10,v=D.x+L*y,I=D.y+O*y;return `translate(${v}px, ${I}px) rotate(${S}deg)`}buildScale(e,n,t,s,m){let A=e.getTotalLength(),C=[],V=[],h=[],D=t-n,k=Math.round(D/m),N=Math.round(s/m);for(let p=0;p<=k;p++){let x=n+p*m,_=p/k,S=p===k?A:_*A,f=e.getPointAtLength(S),L=e.getPointAtLength(Math.max(0,S-1)),O=e.getPointAtLength(Math.min(A,S+1)),y=Math.atan2(O.y-L.y,O.x-L.x)*180/Math.PI,v=p%N===0||Math.abs(x)<1e-9,I=v?8:4,ie=v?6:3,W=this.pointFromAngle(f,y+90,0),Z=this.pointFromAngle(f,y+90,I);C.push({x1:W.x,y1:W.y,x2:Z.x,y2:Z.y,major:v});let q=this.pointFromAngle(f,y-90,0),Q=this.pointFromAngle(f,y-90,ie);if(V.push({x1:q.x,y1:q.y,x2:Q.x,y2:Q.y,major:v}),v){let U=this.pointFromAngle(f,y+90,I+8);h.push({x:U.x,y:U.y,text:`${Math.abs(x)}`,value:x});}}return {ticks:C,innerTicks:V,labels:h}}pointFromAngle(e,n,t){let s=n*Math.PI/180;return {x:e.x+Math.cos(s)*t,y:e.y+Math.sin(s)*t}}static \u0275fac=function(n){return new(n||i)};static \u0275cmp=JD({type:i,selectors:[["widget-heel-gauge"]],viewQuery:function(n,t){n&1&&eg(t.finePathRef,ae,5)(t.coarsePathRef,oe,5),n&2&&Kw(2);},inputs:{id:[1,"id"],type:[1,"type"],theme:[1,"theme"]},decls:54,vars:18,consts:[["finePath",""],["coarsePath",""],[1,"container"],["viewBox","0 0 400 105","preserveAspectRatio","xMidYMid meet",1,"flex-element","scale","fine"],["id","fineTubeGradient","x1","0%","y1","0%","x2","0%","y2","100%"],["offset","0%",1,"tube-highlight-color","opacity1"],["offset","45%",1,"tube-highlight-color","opacity2"],["offset","100%",1,"tube-highlight-color","opacity3"],["id","tubeEffect"],["in","SourceAlpha","stdDeviation","1.5","result","blur"],["in","blur","surfaceScale","4","specularConstant",".6","specularExponent","30","lighting-color","currentColor","result","specular"],["x","200","y","-50","z","150"],["x","200","y","150","z","80"],["in","specular","in2","SourceAlpha","operator","in","result","specular"],["in","SourceGraphic","in2","specular","operator","arithmetic","k1","0","k2","1","k3","0.7","k4","0"],["d","M 60,10 A 2400,2400 0 0,0 340,10 A 10,10 0 0,1 340,30 A 2400,2400 0 0,1 60,30 A 10,10 0 0,1 60,10 Z",1,"tube-background"],["d","M 60,11 A 2400,2400 0 0,0 340,11 A 8,8 0 0,1 340,17 A 2400,2400 0 0,1 60,17 A 8,8 0 0,1 60,11 Z",1,"tube-highlight"],["d","M 60,23 A 2400,2400 0 0,0 340,23 A 8,8 0 0,1 340,26 A 2400,2400 0 0,1 60,26 A 8,8 0 0,1 60,23 Z",1,"tube-highlight-secondary"],["d","M 60,30 A 2400,2400 0 0,0 340,30",1,"scale-line"],[1,"tick-marks"],["opacity","0.6"],[1,"scale-values"],["transform","translate(200 20) rotate(0)",1,"pointer"],["rx","6","ry","9"],["x","200","y","93","text-anchor","middle",1,"brand"],["viewBox","0 0 400 115","preserveAspectRatio","xMidYMid meet",1,"flex-element","scale"],["transform","translate(0,15)"],["x","200","y","22","text-anchor","middle",1,"angle"],["dx","-16",1,"side"],["d","M 40,0 A 400,400 0 0,0 360,0 A 10,10 0 0,1 360,20 A 400,400 0 0,1 40,20 A 10,10 0 0,1 40,0 Z",1,"tube-background"],["d","M 40,1 A 400,400 0 0,0 360,1 A 8,8 0 0,1 360,7 A 400,400 0 0,1 40,7 A 8,8 0 0,1 40,1 Z",1,"tube-highlight"],["d","M 40,13 A 400,400 0 0,0 360,13 A 8,8 0 0,1 360,16 A 400,400 0 0,1 40,16 A 8,8 0 0,1 40,13 Z",1,"tube-highlight-secondary"],["d","M 40,20 A 400,400 0 0,0 360,20",1,"scale-line"],["transform","translate(200 10) rotate(0)",1,"pointer"]],template:function(n,t){n&1&&(dl(0,"div",2),wd(),dl(1,"svg",3)(2,"defs")(3,"linearGradient",4),Uh(4,"stop",5)(5,"stop",6)(6,"stop",7),fl(),dl(7,"filter",8),Uh(8,"feGaussianBlur",9),dl(9,"feSpecularLighting",10),Uh(10,"fePointLight",11)(11,"fePointLight",12),fl(),Uh(12,"feComposite",13)(13,"feComposite",14),fl()(),Uh(14,"path",15)(15,"path",16)(16,"path",17)(17,"path",18,0),dl(19,"g",19),xw(20,re,1,5,":svg:line",null,Sw),fl(),dl(22,"g",19),xw(23,se,1,5,":svg:line",20,Sw),fl(),dl(25,"g",21),xw(26,le,2,3,":svg:text",null,Sw),fl(),dl(28,"g",22),Uh(29,"ellipse",23),fl(),dl(30,"text",24),TT(31),fl()(),dl(32,"svg",25)(33,"g",26)(34,"text",27),TT(35),dl(36,"tspan",28),TT(37),fl()(),Uh(38,"path",29)(39,"path",30)(40,"path",31)(41,"path",32,1),dl(43,"g",19),xw(44,ce,1,5,":svg:line",null,Sw),fl(),dl(46,"g",19),xw(47,me,1,5,":svg:line",20,Sw),fl(),dl(49,"g",21),xw(50,de,2,3,":svg:text",null,Sw),fl(),dl(52,"g",33),Uh(53,"ellipse",23),fl()()()()),n&2&&(EE(20),Aw(t.fineTicks()),EE(3),Aw(t.fineInnerTicks()),EE(3),Aw(t.fineLabels()),EE(2),ig("transition",t.ready()?t.pointerTransition():"none")("transform",t.finePointerTransform()),sg("ready",t.ready()),EE(),Hh("fill",t.themeColorValue()),EE(2),gg(t.displayName()),EE(3),Hh("fill",t.themeColorValue()),EE(),gl(" ",t.displayValue(),"\xB0 "),EE(2),gg(t.angleSide()),EE(7),Aw(t.coarseTicks()),EE(3),Aw(t.coarseInnerTicks()),EE(3),Aw(t.coarseLabels()),EE(2),ig("transition",t.ready()?t.pointerTransition():"none")("transform",t.coarsePointerTransform()),sg("ready",t.ready()),EE(),Hh("fill",t.themeColorValue()));},styles:["[_nghost-%COMP%]{display:block;height:100%;width:100%;font-family:Roboto}.container[_ngcontent-%COMP%]{display:flex;flex-direction:column;flex-wrap:nowrap;align-items:stretch;justify-content:center;height:100%;width:100%;box-sizing:border-box;gap:0px}.brand[_ngcontent-%COMP%]{font-size:25px;font-weight:700;fill:var(--kip-contrast-dim-color)}.angle[_ngcontent-%COMP%]{font-size:50px;font-weight:700}.side[_ngcontent-%COMP%]{font-size:16px}svg.scale[_ngcontent-%COMP%]{width:100%;height:auto}svg.scale[_ngcontent-%COMP%] .tube-background[_ngcontent-%COMP%]{fill:var(--mat-sys-surface-container);filter:url(#tubeEffect)}svg.scale[_ngcontent-%COMP%] .tube-highlight[_ngcontent-%COMP%]{fill:url(#fineTubeGradient);opacity:.15;mix-blend-mode:soft-light;transition:fill .3s ease,opacity .3s ease}svg.scale[_ngcontent-%COMP%] .tube-highlight-secondary[_ngcontent-%COMP%]{fill:url(#fineTubeGradient);opacity:.2;mix-blend-mode:overlay;transition:fill .3s ease,opacity .3s ease}.tube-highlight-color[_ngcontent-%COMP%]{stop-color:var(--kip-contrast-color)}.opacity1[_ngcontent-%COMP%]{stop-opacity:.12}.opacity2[_ngcontent-%COMP%]{stop-opacity:.05}.opacity3[_ngcontent-%COMP%]{stop-opacity:0}svg.scale[_ngcontent-%COMP%] .scale-line[_ngcontent-%COMP%]{stroke:none;fill:none}.tick-marks[_ngcontent-%COMP%]{stroke:var(--kip-contrast-dim-color)}.scale-values[_ngcontent-%COMP%]{fill:var(--kip-contrast-color);text-anchor:middle;dominant-baseline:hanging;font-size:12;font-weight:700}.pointer[_ngcontent-%COMP%] ellipse[_ngcontent-%COMP%]{stroke:#ffffff59;stroke-width:.7;paint-order:stroke fill;filter:drop-shadow(0 0 1px rgba(0,0,0,.55)) drop-shadow(0 1px 1.5px rgba(0,0,0,.55)) drop-shadow(0 -1px 1px rgba(255,255,255,.25));transition:filter .25s,stroke .25s}"]})}return i})();export{be as WidgetHeelGaugeComponent};
1
+ import {c}from'./chunk-DHj2hm9r.js';import {d1 as Hj,w,du as p,dv as rt,ao as ue,$ as $j,v as vt,D as Dt,F as Fa,dn as ge,J as JD,ci as dl,cn as wd,cp as Uh,cj as fl,X as xw,cs as Sw,T as TT,e as EE,Y as Aw,d as ig,s as sg,an as Hh,aA as gg,bp as gl,f as eg,K as Kw}from'./main-IINF7HD6.js';var ae=["finePath"],oe=["coarsePath"];function re(i,c){if(i&1&&(wd(),Uh(0,"line")),i&2){let e=c.$implicit;Hh("x1",e.x1)("y1",e.y1)("x2",e.x2)("y2",e.y2)("stroke-width",e.major?1.5:1);}}function se(i,c){if(i&1&&(wd(),Uh(0,"line",20)),i&2){let e=c.$implicit;Hh("x1",e.x1)("y1",e.y1)("x2",e.x2)("y2",e.y2)("stroke-width",e.major?1.2:.8);}}function le(i,c){if(i&1&&(wd(),dl(0,"text"),TT(1),fl()),i&2){let e=c.$implicit;Hh("x",e.x)("y",e.y),EE(),gl("",e.text,"\xB0");}}function ce(i,c){if(i&1&&(wd(),Uh(0,"line")),i&2){let e=c.$implicit;Hh("x1",e.x1)("y1",e.y1)("x2",e.x2)("y2",e.y2)("stroke-width",e.major?1.5:1);}}function me(i,c){if(i&1&&(wd(),Uh(0,"line",20)),i&2){let e=c.$implicit;Hh("x1",e.x1)("y1",e.y1)("x2",e.x2)("y2",e.y2)("stroke-width",e.major?1.2:.8);}}function de(i,c){if(i&1&&(wd(),dl(0,"text"),TT(1),fl()),i&2){let e=c.$implicit;Hh("x",e.x)("y",e.y),EE(),gl("",e.text,"\xB0");}}var be=(()=>{class i{id=Hj.required();type=Hj.required();theme=Hj.required();runtime=w(p);streams=w(rt);ngZone=w(ue);finePathRef=$j("finePath");coarsePathRef=$j("coarsePath");angleDeg=vt(0);absAngle=Dt(()=>{let e=this.angleDeg();return e==null?null:Math.abs(e)});angleSide=Dt(()=>{let e=this.angleDeg();if(e==null)return "";let n=e>0?"Stbd":e<0?"Port":"Level";return this.runtime.options()?.gauge?.sideLabel?n:""});displayValue=Dt(()=>{let e=this.absAngle();if(e==null)return "--";let n=this.runtime.options()?.numDecimal??1;return e.toFixed(n)});themeColorValue=vt("contrast");normalizedConfig=Dt(()=>this.runtime.options()??i.DEFAULT_CONFIG);anglePathConfig=Dt(()=>this.normalizedConfig().paths?.angle);ready=vt(false);pointerTransition=Dt(()=>{let e=this.anglePathConfig()?.sampleTime??1e3;return `transform ${Math.max(100,e*.95)}ms ease-in-out`});fineTicks=vt([]);fineInnerTicks=vt([]);fineLabels=vt([]);coarseTicks=vt([]);coarseInnerTicks=vt([]);coarseLabels=vt([]);finePointerTransform=this.makePointerTransform("fine");coarsePointerTransform=this.makePointerTransform("coarse");displayName=Dt(()=>this.runtime.options()?.displayName||"Heel");static DEFAULT_CONFIG={supportAutomaticHistoricalSeries:true,displayName:"Heel",filterSelfPaths:true,paths:{angle:{description:"Heel / Roll / Other Angle",path:"self.navigation.attitude.roll",source:"default",pathType:"number",isPathConfigurable:true,convertUnitTo:"deg",sampleTime:1e3,pathRequired:true}},gauge:{type:"angle",invertAngle:false,sideLabel:true},numInt:2,numDecimal:0,color:"contrast",enableTimeout:false,dataTimeout:5};constructor(){Fa(()=>{let e=this.normalizedConfig();this.anglePathConfig()?.path&&ge(()=>this.streams.observe("angle",t=>{let s=t?.data?.value;if(s==null){this.angleDeg.set(null);return}let m=e.gauge?.invertAngle?-s:s;this.angleDeg.set(m);}));}),Fa(()=>{let e=this.theme(),n=this.runtime.options();!e||!n||this.themeColorValue.set(c(n.color||"contrast",e).color);});}ngAfterViewInit(){this.ngZone.runOutsideAngular(()=>{requestAnimationFrame(()=>{let e=this.finePathRef()?.nativeElement,n=this.coarsePathRef()?.nativeElement;if(e){let t=this.buildScale(e,-5,5,1,.5);this.fineTicks.set(t.ticks),this.fineInnerTicks.set(t.innerTicks),this.fineLabels.set(t.labels);}if(n){let t=this.buildScale(n,-40,40,10,5);this.coarseTicks.set(t.ticks),this.coarseInnerTicks.set(t.innerTicks),this.coarseLabels.set(t.labels);}this.angleDeg()==null&&this.angleDeg.set(0),this.ready.set(true);});});}makePointerTransform(e){return Dt(()=>this.computePointerTransform(this.angleDeg(),e))}setColors(e){let n=this.runtime.options();!e||!n||this.themeColorValue.set(c(n.color||"contrast",e).color);}computePointerTransform(e,n){let t=e??0,s=n==="fine"?this.finePathRef()?.nativeElement:this.coarsePathRef()?.nativeElement;if(!s)return n==="fine"?"translate(200px, 20px) rotate(0deg)":"translate(200px, 10px) rotate(0deg)";let m=n==="fine"?{min:-5,max:5}:{min:-40,max:40},A=Math.max(m.min,Math.min(m.max,t)),C=s.getTotalLength(),h=(A-m.min)/(m.max-m.min)*C,D=s.getPointAtLength(h),k=h<10||h>C-10?5:1,N=s.getPointAtLength(Math.max(0,h-k)),p=s.getPointAtLength(Math.min(C,h+k)),x=p.x-N.x,_=p.y-N.y,S=Math.atan2(_,x)*180/Math.PI,f=Math.hypot(x,_)||1,L=-_/f,O=x/f,y=-10,v=D.x+L*y,I=D.y+O*y;return `translate(${v}px, ${I}px) rotate(${S}deg)`}buildScale(e,n,t,s,m){let A=e.getTotalLength(),C=[],V=[],h=[],D=t-n,k=Math.round(D/m),N=Math.round(s/m);for(let p=0;p<=k;p++){let x=n+p*m,_=p/k,S=p===k?A:_*A,f=e.getPointAtLength(S),L=e.getPointAtLength(Math.max(0,S-1)),O=e.getPointAtLength(Math.min(A,S+1)),y=Math.atan2(O.y-L.y,O.x-L.x)*180/Math.PI,v=p%N===0||Math.abs(x)<1e-9,I=v?8:4,ie=v?6:3,W=this.pointFromAngle(f,y+90,0),Z=this.pointFromAngle(f,y+90,I);C.push({x1:W.x,y1:W.y,x2:Z.x,y2:Z.y,major:v});let q=this.pointFromAngle(f,y-90,0),Q=this.pointFromAngle(f,y-90,ie);if(V.push({x1:q.x,y1:q.y,x2:Q.x,y2:Q.y,major:v}),v){let U=this.pointFromAngle(f,y+90,I+8);h.push({x:U.x,y:U.y,text:`${Math.abs(x)}`,value:x});}}return {ticks:C,innerTicks:V,labels:h}}pointFromAngle(e,n,t){let s=n*Math.PI/180;return {x:e.x+Math.cos(s)*t,y:e.y+Math.sin(s)*t}}static \u0275fac=function(n){return new(n||i)};static \u0275cmp=JD({type:i,selectors:[["widget-heel-gauge"]],viewQuery:function(n,t){n&1&&eg(t.finePathRef,ae,5)(t.coarsePathRef,oe,5),n&2&&Kw(2);},inputs:{id:[1,"id"],type:[1,"type"],theme:[1,"theme"]},decls:54,vars:18,consts:[["finePath",""],["coarsePath",""],[1,"container"],["viewBox","0 0 400 105","preserveAspectRatio","xMidYMid meet",1,"flex-element","scale","fine"],["id","fineTubeGradient","x1","0%","y1","0%","x2","0%","y2","100%"],["offset","0%",1,"tube-highlight-color","opacity1"],["offset","45%",1,"tube-highlight-color","opacity2"],["offset","100%",1,"tube-highlight-color","opacity3"],["id","tubeEffect"],["in","SourceAlpha","stdDeviation","1.5","result","blur"],["in","blur","surfaceScale","4","specularConstant",".6","specularExponent","30","lighting-color","currentColor","result","specular"],["x","200","y","-50","z","150"],["x","200","y","150","z","80"],["in","specular","in2","SourceAlpha","operator","in","result","specular"],["in","SourceGraphic","in2","specular","operator","arithmetic","k1","0","k2","1","k3","0.7","k4","0"],["d","M 60,10 A 2400,2400 0 0,0 340,10 A 10,10 0 0,1 340,30 A 2400,2400 0 0,1 60,30 A 10,10 0 0,1 60,10 Z",1,"tube-background"],["d","M 60,11 A 2400,2400 0 0,0 340,11 A 8,8 0 0,1 340,17 A 2400,2400 0 0,1 60,17 A 8,8 0 0,1 60,11 Z",1,"tube-highlight"],["d","M 60,23 A 2400,2400 0 0,0 340,23 A 8,8 0 0,1 340,26 A 2400,2400 0 0,1 60,26 A 8,8 0 0,1 60,23 Z",1,"tube-highlight-secondary"],["d","M 60,30 A 2400,2400 0 0,0 340,30",1,"scale-line"],[1,"tick-marks"],["opacity","0.6"],[1,"scale-values"],["transform","translate(200 20) rotate(0)",1,"pointer"],["rx","6","ry","9"],["x","200","y","93","text-anchor","middle",1,"brand"],["viewBox","0 0 400 115","preserveAspectRatio","xMidYMid meet",1,"flex-element","scale"],["transform","translate(0,15)"],["x","200","y","22","text-anchor","middle",1,"angle"],["dx","-16",1,"side"],["d","M 40,0 A 400,400 0 0,0 360,0 A 10,10 0 0,1 360,20 A 400,400 0 0,1 40,20 A 10,10 0 0,1 40,0 Z",1,"tube-background"],["d","M 40,1 A 400,400 0 0,0 360,1 A 8,8 0 0,1 360,7 A 400,400 0 0,1 40,7 A 8,8 0 0,1 40,1 Z",1,"tube-highlight"],["d","M 40,13 A 400,400 0 0,0 360,13 A 8,8 0 0,1 360,16 A 400,400 0 0,1 40,16 A 8,8 0 0,1 40,13 Z",1,"tube-highlight-secondary"],["d","M 40,20 A 400,400 0 0,0 360,20",1,"scale-line"],["transform","translate(200 10) rotate(0)",1,"pointer"]],template:function(n,t){n&1&&(dl(0,"div",2),wd(),dl(1,"svg",3)(2,"defs")(3,"linearGradient",4),Uh(4,"stop",5)(5,"stop",6)(6,"stop",7),fl(),dl(7,"filter",8),Uh(8,"feGaussianBlur",9),dl(9,"feSpecularLighting",10),Uh(10,"fePointLight",11)(11,"fePointLight",12),fl(),Uh(12,"feComposite",13)(13,"feComposite",14),fl()(),Uh(14,"path",15)(15,"path",16)(16,"path",17)(17,"path",18,0),dl(19,"g",19),xw(20,re,1,5,":svg:line",null,Sw),fl(),dl(22,"g",19),xw(23,se,1,5,":svg:line",20,Sw),fl(),dl(25,"g",21),xw(26,le,2,3,":svg:text",null,Sw),fl(),dl(28,"g",22),Uh(29,"ellipse",23),fl(),dl(30,"text",24),TT(31),fl()(),dl(32,"svg",25)(33,"g",26)(34,"text",27),TT(35),dl(36,"tspan",28),TT(37),fl()(),Uh(38,"path",29)(39,"path",30)(40,"path",31)(41,"path",32,1),dl(43,"g",19),xw(44,ce,1,5,":svg:line",null,Sw),fl(),dl(46,"g",19),xw(47,me,1,5,":svg:line",20,Sw),fl(),dl(49,"g",21),xw(50,de,2,3,":svg:text",null,Sw),fl(),dl(52,"g",33),Uh(53,"ellipse",23),fl()()()()),n&2&&(EE(20),Aw(t.fineTicks()),EE(3),Aw(t.fineInnerTicks()),EE(3),Aw(t.fineLabels()),EE(2),ig("transition",t.ready()?t.pointerTransition():"none")("transform",t.finePointerTransform()),sg("ready",t.ready()),EE(),Hh("fill",t.themeColorValue()),EE(2),gg(t.displayName()),EE(3),Hh("fill",t.themeColorValue()),EE(),gl(" ",t.displayValue(),"\xB0 "),EE(2),gg(t.angleSide()),EE(7),Aw(t.coarseTicks()),EE(3),Aw(t.coarseInnerTicks()),EE(3),Aw(t.coarseLabels()),EE(2),ig("transition",t.ready()?t.pointerTransition():"none")("transform",t.coarsePointerTransform()),sg("ready",t.ready()),EE(),Hh("fill",t.themeColorValue()));},styles:["[_nghost-%COMP%]{display:block;height:100%;width:100%;font-family:Roboto}.container[_ngcontent-%COMP%]{display:flex;flex-direction:column;flex-wrap:nowrap;align-items:stretch;justify-content:center;height:100%;width:100%;box-sizing:border-box;gap:0px}.brand[_ngcontent-%COMP%]{font-size:25px;font-weight:700;fill:var(--kip-contrast-dim-color)}.angle[_ngcontent-%COMP%]{font-size:50px;font-weight:700}.side[_ngcontent-%COMP%]{font-size:16px}svg.scale[_ngcontent-%COMP%]{width:100%;height:auto}svg.scale[_ngcontent-%COMP%] .tube-background[_ngcontent-%COMP%]{fill:var(--mat-sys-surface-container);filter:url(#tubeEffect)}svg.scale[_ngcontent-%COMP%] .tube-highlight[_ngcontent-%COMP%]{fill:url(#fineTubeGradient);opacity:.15;mix-blend-mode:soft-light;transition:fill .3s ease,opacity .3s ease}svg.scale[_ngcontent-%COMP%] .tube-highlight-secondary[_ngcontent-%COMP%]{fill:url(#fineTubeGradient);opacity:.2;mix-blend-mode:overlay;transition:fill .3s ease,opacity .3s ease}.tube-highlight-color[_ngcontent-%COMP%]{stop-color:var(--kip-contrast-color)}.opacity1[_ngcontent-%COMP%]{stop-opacity:.12}.opacity2[_ngcontent-%COMP%]{stop-opacity:.05}.opacity3[_ngcontent-%COMP%]{stop-opacity:0}svg.scale[_ngcontent-%COMP%] .scale-line[_ngcontent-%COMP%]{stroke:none;fill:none}.tick-marks[_ngcontent-%COMP%]{stroke:var(--kip-contrast-dim-color)}.scale-values[_ngcontent-%COMP%]{fill:var(--kip-contrast-color);text-anchor:middle;dominant-baseline:hanging;font-size:12;font-weight:700}.pointer[_ngcontent-%COMP%] ellipse[_ngcontent-%COMP%]{stroke:#ffffff59;stroke-width:.7;paint-order:stroke fill;filter:drop-shadow(0 0 1px rgba(0,0,0,.55)) drop-shadow(0 1px 1.5px rgba(0,0,0,.55)) drop-shadow(0 -1px 1px rgba(255,255,255,.25));transition:filter .25s,stroke .25s}"]})}return i})();export{be as WidgetHeelGaugeComponent};
@@ -1,2 +1,2 @@
1
- import {w,n as G,cD as V,aY as xe,v as vt,W as Wp,as as ke,cE as Xl,D as Dt,F as Fa,J as JD,cF as Un,O as Op,bh as xp,o as eu,cG as Ht,cH as R,cI as ee,cJ as Nt,cK as Lt,r as f,bt as u,y as yt,b as wt,P as Pi,c as $h,T as TT,u as ul,_ as _w,cf as xh,k as Qh,bl as Jw,e as EE,d as ig,aA as gg,B as Bh,M as Mw,g as qw,X as xw,Y as Aw,h as Fw,l as ud,m as dd,bp as gl,cL as vb,cM as yb}from'./main-YKDNK5VZ.js';var Ue=yb((ft,ce)=>{var Ye=typeof window<"u"?window:typeof WorkerGlobalScope<"u"&&self instanceof WorkerGlobalScope?self:{};var p=(function(r){var f=/(?:^|\s)lang(?:uage)?-([\w-]+)(?=\s|$)/i,i=0,o={},e={manual:r.Prism&&r.Prism.manual,disableWorkerMessageHandler:r.Prism&&r.Prism.disableWorkerMessageHandler,util:{encode:function t(n){return n instanceof a?new a(n.type,t(n.content),n.alias):Array.isArray(n)?n.map(t):n.replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/\u00a0/g," ")},type:function(t){return Object.prototype.toString.call(t).slice(8,-1)},objId:function(t){return t.__id||Object.defineProperty(t,"__id",{value:++i}),t.__id},clone:function t(n,s){s=s||{};var l,u;switch(e.util.type(n)){case "Object":if(u=e.util.objId(n),s[u])return s[u];l={},s[u]=l;for(var m in n)n.hasOwnProperty(m)&&(l[m]=t(n[m],s));return l;case "Array":return u=e.util.objId(n),s[u]?s[u]:(l=[],s[u]=l,n.forEach(function(E,g){l[g]=t(E,s);}),l);default:return n}},getLanguage:function(t){for(;t;){var n=f.exec(t.className);if(n)return n[1].toLowerCase();t=t.parentElement;}return "none"},setLanguage:function(t,n){t.className=t.className.replace(RegExp(f,"gi"),""),t.classList.add("language-"+n);},currentScript:function(){if(typeof document>"u")return null;if(document.currentScript&&document.currentScript.tagName==="SCRIPT")return document.currentScript;try{throw new Error}catch(l){var t=(/at [^(\r\n]*\((.*):[^:]+:[^:]+\)$/i.exec(l.stack)||[])[1];if(t){var n=document.getElementsByTagName("script");for(var s in n)if(n[s].src==t)return n[s]}return null}},isActive:function(t,n,s){for(var l="no-"+n;t;){var u=t.classList;if(u.contains(n))return !0;if(u.contains(l))return !1;t=t.parentElement;}return !!s}},languages:{plain:o,plaintext:o,text:o,txt:o,extend:function(t,n){var s=e.util.clone(e.languages[t]);for(var l in n)s[l]=n[l];return s},insertBefore:function(t,n,s,l){l=l||e.languages;var u=l[t],m={};for(var E in u)if(u.hasOwnProperty(E)){if(E==n)for(var g in s)s.hasOwnProperty(g)&&(m[g]=s[g]);s.hasOwnProperty(E)||(m[E]=u[E]);}var T=l[t];return l[t]=m,e.languages.DFS(e.languages,function(O,z){z===T&&O!=t&&(this[O]=m);}),m},DFS:function t(n,s,l,u){u=u||{};var m=e.util.objId;for(var E in n)if(n.hasOwnProperty(E)){s.call(n,E,n[E],l||E);var g=n[E],T=e.util.type(g);T==="Object"&&!u[m(g)]?(u[m(g)]=!0,t(g,s,null,u)):T==="Array"&&!u[m(g)]&&(u[m(g)]=!0,t(g,s,E,u));}}},plugins:{},highlightAll:function(t,n){e.highlightAllUnder(document,t,n);},highlightAllUnder:function(t,n,s){var l={callback:s,container:t,selector:'code[class*="language-"], [class*="language-"] code, code[class*="lang-"], [class*="lang-"] code'};e.hooks.run("before-highlightall",l),l.elements=Array.prototype.slice.apply(l.container.querySelectorAll(l.selector)),e.hooks.run("before-all-elements-highlight",l);for(var u=0,m;m=l.elements[u++];)e.highlightElement(m,n===!0,l.callback);},highlightElement:function(t,n,s){var l=e.util.getLanguage(t),u=e.languages[l];e.util.setLanguage(t,l);var m=t.parentElement;m&&m.nodeName.toLowerCase()==="pre"&&e.util.setLanguage(m,l);var E=t.textContent,g={element:t,language:l,grammar:u,code:E};function T(z){g.highlightedCode=z,e.hooks.run("before-insert",g),g.element.innerHTML=g.highlightedCode,e.hooks.run("after-highlight",g),e.hooks.run("complete",g),s&&s.call(g.element);}if(e.hooks.run("before-sanity-check",g),m=g.element.parentElement,m&&m.nodeName.toLowerCase()==="pre"&&!m.hasAttribute("tabindex")&&m.setAttribute("tabindex","0"),!g.code){e.hooks.run("complete",g),s&&s.call(g.element);return}if(e.hooks.run("before-highlight",g),!g.grammar){T(e.util.encode(g.code));return}if(n&&r.Worker){var O=new Worker(e.filename);O.onmessage=function(z){T(z.data);},O.postMessage(JSON.stringify({language:g.language,code:g.code,immediateClose:!0}));}else T(e.highlight(g.code,g.grammar,g.language));},highlight:function(t,n,s){var l={code:t,grammar:n,language:s};if(e.hooks.run("before-tokenize",l),!l.grammar)throw new Error('The language "'+l.language+'" has no grammar.');return l.tokens=e.tokenize(l.code,l.grammar),e.hooks.run("after-tokenize",l),a.stringify(e.util.encode(l.tokens),l.language)},tokenize:function(t,n){var s=n.rest;if(s){for(var l in s)n[l]=s[l];delete n.rest;}var u=new F;return C(u,u.head,t),S(t,u,n,u.head,0),L(u)},hooks:{all:{},add:function(t,n){var s=e.hooks.all;s[t]=s[t]||[],s[t].push(n);},run:function(t,n){var s=e.hooks.all[t];if(!(!s||!s.length))for(var l=0,u;u=s[l++];)u(n);}},Token:a};r.Prism=e;function a(t,n,s,l){this.type=t,this.content=n,this.alias=s,this.length=(l||"").length|0;}a.stringify=function t(n,s){if(typeof n=="string")return n;if(Array.isArray(n)){var l="";return n.forEach(function(T){l+=t(T,s);}),l}var u={type:n.type,content:t(n.content,s),tag:"span",classes:["token",n.type],attributes:{},language:s},m=n.alias;m&&(Array.isArray(m)?Array.prototype.push.apply(u.classes,m):u.classes.push(m)),e.hooks.run("wrap",u);var E="";for(var g in u.attributes)E+=" "+g+'="'+(u.attributes[g]||"").replace(/"/g,"&quot;")+'"';return "<"+u.tag+' class="'+u.classes.join(" ")+'"'+E+">"+u.content+"</"+u.tag+">"};function h(t,n,s,l){t.lastIndex=n;var u=t.exec(s);if(u&&l&&u[1]){var m=u[1].length;u.index+=m,u[0]=u[0].slice(m);}return u}function S(t,n,s,l,u,m){for(var E in s)if(!(!s.hasOwnProperty(E)||!s[E])){var g=s[E];g=Array.isArray(g)?g:[g];for(var T=0;T<g.length;++T){if(m&&m.cause==E+","+T)return;var O=g[T],z=O.inside,ae=!!O.lookbehind,X=!!O.greedy,de=O.alias;if(X&&!O.pattern.global){var pe=O.pattern.toString().match(/[imsuy]*$/)[0];O.pattern=RegExp(O.pattern.source,pe+"g");}for(var oe=O.pattern||O,$=l.next,N=u;$!==n.tail&&!(m&&N>=m.reach);N+=$.value.length,$=$.next){var U=$.value;if(n.length>t.length)return;if(!(U instanceof a)){var q=1,G;if(X){if(G=h(oe,N,t,ae),!G||G.index>=t.length)break;var _=G.index,A=G.index+G[0].length,c=N;for(c+=$.value.length;_>=c;)$=$.next,c+=$.value.length;if(c-=$.value.length,N=c,$.value instanceof a)continue;for(var d=$;d!==n.tail&&(c<A||typeof d.value=="string");d=d.next)q++,c+=d.value.length;q--,U=t.slice(N,c),G.index-=N;}else if(G=h(oe,0,U,ae),!G)continue;var _=G.index,x=G[0],w=U.slice(0,_),H=U.slice(_+x.length),B=N+U.length;m&&B>m.reach&&(m.reach=B);var K=$.prev;w&&(K=C(n,K,w),N+=w.length),k(n,K,q);var qe=new a(E,z?e.tokenize(x,z):x,de,x);if($=C(n,K,qe),H&&C(n,$,H),q>1){var fe={cause:E+","+T,reach:B};S(t,n,s,$.prev,N,fe),m&&fe.reach>m.reach&&(m.reach=fe.reach);}}}}}}function F(){var t={value:null,prev:null,next:null},n={value:null,prev:t,next:null};t.next=n,this.head=t,this.tail=n,this.length=0;}function C(t,n,s){var l=n.next,u={value:s,prev:n,next:l};return n.next=u,l.prev=u,t.length++,u}function k(t,n,s){for(var l=n.next,u=0;u<s&&l!==t.tail;u++)l=l.next;n.next=l,l.prev=n,t.length-=u;}function L(t){for(var n=[],s=t.head.next;s!==t.tail;)n.push(s.value),s=s.next;return n}if(!r.document)return r.addEventListener&&(e.disableWorkerMessageHandler||r.addEventListener("message",function(t){var n=JSON.parse(t.data),s=n.language,l=n.code,u=n.immediateClose;r.postMessage(e.highlight(l,e.languages[s],s)),u&&r.close();},!1)),e;var y=e.util.currentScript();y&&(e.filename=y.src,y.hasAttribute("data-manual")&&(e.manual=!0));function v(){e.manual||e.highlightAll();}if(!e.manual){var b=document.readyState;b==="loading"||b==="interactive"&&y&&y.defer?document.addEventListener("DOMContentLoaded",v):window.requestAnimationFrame?window.requestAnimationFrame(v):window.setTimeout(v,16);}return e})(Ye);typeof ce<"u"&&ce.exports&&(ce.exports=p);typeof global<"u"&&(global.Prism=p);p.languages.markup={comment:{pattern:/<!--(?:(?!<!--)[\s\S])*?-->/,greedy:!0},prolog:{pattern:/<\?[\s\S]+?\?>/,greedy:!0},doctype:{pattern:/<!DOCTYPE(?:[^>"'[\]]|"[^"]*"|'[^']*')+(?:\[(?:[^<"'\]]|"[^"]*"|'[^']*'|<(?!!--)|<!--(?:[^-]|-(?!->))*-->)*\]\s*)?>/i,greedy:!0,inside:{"internal-subset":{pattern:/(^[^\[]*\[)[\s\S]+(?=\]>$)/,lookbehind:!0,greedy:!0,inside:null},string:{pattern:/"[^"]*"|'[^']*'/,greedy:!0},punctuation:/^<!|>$|[[\]]/,"doctype-tag":/^DOCTYPE/i,name:/[^\s<>'"]+/}},cdata:{pattern:/<!\[CDATA\[[\s\S]*?\]\]>/i,greedy:!0},tag:{pattern:/<\/?(?!\d)[^\s>\/=$<%]+(?:\s(?:\s*[^\s>\/=]+(?:\s*=\s*(?:"[^"]*"|'[^']*'|[^\s'">=]+(?=[\s>]))|(?=[\s/>])))+)?\s*\/?>/,greedy:!0,inside:{tag:{pattern:/^<\/?[^\s>\/]+/,inside:{punctuation:/^<\/?/,namespace:/^[^\s>\/:]+:/}},"special-attr":[],"attr-value":{pattern:/=\s*(?:"[^"]*"|'[^']*'|[^\s'">=]+)/,inside:{punctuation:[{pattern:/^=/,alias:"attr-equals"},{pattern:/^(\s*)["']|["']$/,lookbehind:!0}]}},punctuation:/\/?>/,"attr-name":{pattern:/[^\s>\/]+/,inside:{namespace:/^[^\s>\/:]+:/}}}},entity:[{pattern:/&[\da-z]{1,8};/i,alias:"named-entity"},/&#x?[\da-f]{1,8};/i]};p.languages.markup.tag.inside["attr-value"].inside.entity=p.languages.markup.entity;p.languages.markup.doctype.inside["internal-subset"].inside=p.languages.markup;p.hooks.add("wrap",function(r){r.type==="entity"&&(r.attributes.title=r.content.replace(/&amp;/,"&"));});Object.defineProperty(p.languages.markup.tag,"addInlined",{value:function(f,i){var o={};o["language-"+i]={pattern:/(^<!\[CDATA\[)[\s\S]+?(?=\]\]>$)/i,lookbehind:!0,inside:p.languages[i]},o.cdata=/^<!\[CDATA\[|\]\]>$/i;var e={"included-cdata":{pattern:/<!\[CDATA\[[\s\S]*?\]\]>/i,inside:o}};e["language-"+i]={pattern:/[\s\S]+/,inside:p.languages[i]};var a={};a[f]={pattern:RegExp(/(<__[^>]*>)(?:<!\[CDATA\[(?:[^\]]|\](?!\]>))*\]\]>|(?!<!\[CDATA\[)[\s\S])*?(?=<\/__>)/.source.replace(/__/g,function(){return f}),"i"),lookbehind:!0,greedy:!0,inside:e},p.languages.insertBefore("markup","cdata",a);}});Object.defineProperty(p.languages.markup.tag,"addAttribute",{value:function(r,f){p.languages.markup.tag.inside["special-attr"].push({pattern:RegExp(/(^|["'\s])/.source+"(?:"+r+")"+/\s*=\s*(?:"[^"]*"|'[^']*'|[^\s'">=]+(?=[\s>]))/.source,"i"),lookbehind:!0,inside:{"attr-name":/^[^\s=]+/,"attr-value":{pattern:/=[\s\S]+/,inside:{value:{pattern:/(^=\s*(["']|(?!["'])))\S[\s\S]*(?=\2$)/,lookbehind:!0,alias:[f,"language-"+f],inside:p.languages[f]},punctuation:[{pattern:/^=/,alias:"attr-equals"},/"|'/]}}}});}});p.languages.html=p.languages.markup;p.languages.mathml=p.languages.markup;p.languages.svg=p.languages.markup;p.languages.xml=p.languages.extend("markup",{});p.languages.ssml=p.languages.xml;p.languages.atom=p.languages.xml;p.languages.rss=p.languages.xml;(function(r){var f=/(?:"(?:\\(?:\r\n|[\s\S])|[^"\\\r\n])*"|'(?:\\(?:\r\n|[\s\S])|[^'\\\r\n])*')/;r.languages.css={comment:/\/\*[\s\S]*?\*\//,atrule:{pattern:RegExp("@[\\w-](?:"+/[^;{\s"']|\s+(?!\s)/.source+"|"+f.source+")*?"+/(?:;|(?=\s*\{))/.source),inside:{rule:/^@[\w-]+/,"selector-function-argument":{pattern:/(\bselector\s*\(\s*(?![\s)]))(?:[^()\s]|\s+(?![\s)])|\((?:[^()]|\([^()]*\))*\))+(?=\s*\))/,lookbehind:!0,alias:"selector"},keyword:{pattern:/(^|[^\w-])(?:and|not|only|or)(?![\w-])/,lookbehind:!0}}},url:{pattern:RegExp("\\burl\\((?:"+f.source+"|"+/(?:[^\\\r\n()"']|\\[\s\S])*/.source+")\\)","i"),greedy:!0,inside:{function:/^url/i,punctuation:/^\(|\)$/,string:{pattern:RegExp("^"+f.source+"$"),alias:"url"}}},selector:{pattern:RegExp(`(^|[{}\\s])[^{}\\s](?:[^{};"'\\s]|\\s+(?![\\s{])|`+f.source+")*(?=\\s*\\{)"),lookbehind:!0},string:{pattern:f,greedy:!0},property:{pattern:/(^|[^-\w\xA0-\uFFFF])(?!\s)[-_a-z\xA0-\uFFFF](?:(?!\s)[-\w\xA0-\uFFFF])*(?=\s*:)/i,lookbehind:!0},important:/!important\b/i,function:{pattern:/(^|[^-a-z0-9])[-a-z0-9]+(?=\()/i,lookbehind:!0},punctuation:/[(){};:,]/},r.languages.css.atrule.inside.rest=r.languages.css;var i=r.languages.markup;i&&(i.tag.addInlined("style","css"),i.tag.addAttribute("style","css"));})(p);p.languages.clike={comment:[{pattern:/(^|[^\\])\/\*[\s\S]*?(?:\*\/|$)/,lookbehind:!0,greedy:!0},{pattern:/(^|[^\\:])\/\/.*/,lookbehind:!0,greedy:!0}],string:{pattern:/(["'])(?:\\(?:\r\n|[\s\S])|(?!\1)[^\\\r\n])*\1/,greedy:!0},"class-name":{pattern:/(\b(?:class|extends|implements|instanceof|interface|new|trait)\s+|\bcatch\s+\()[\w.\\]+/i,lookbehind:!0,inside:{punctuation:/[.\\]/}},keyword:/\b(?:break|catch|continue|do|else|finally|for|function|if|in|instanceof|new|null|return|throw|try|while)\b/,boolean:/\b(?:false|true)\b/,function:/\b\w+(?=\()/,number:/\b0x[\da-f]+\b|(?:\b\d+(?:\.\d*)?|\B\.\d+)(?:e[+-]?\d+)?/i,operator:/[<>]=?|[!=]=?=?|--?|\+\+?|&&?|\|\|?|[?*/~^%]/,punctuation:/[{}[\];(),.:]/};p.languages.javascript=p.languages.extend("clike",{"class-name":[p.languages.clike["class-name"],{pattern:/(^|[^$\w\xA0-\uFFFF])(?!\s)[_$A-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*(?=\.(?:constructor|prototype))/,lookbehind:!0}],keyword:[{pattern:/((?:^|\})\s*)catch\b/,lookbehind:!0},{pattern:/(^|[^.]|\.\.\.\s*)\b(?:as|assert(?=\s*\{)|async(?=\s*(?:function\b|\(|[$\w\xA0-\uFFFF]|$))|await|break|case|class|const|continue|debugger|default|delete|do|else|enum|export|extends|finally(?=\s*(?:\{|$))|for|from(?=\s*(?:['"]|$))|function|(?:get|set)(?=\s*(?:[#\[$\w\xA0-\uFFFF]|$))|if|implements|import|in|instanceof|interface|let|new|null|of|package|private|protected|public|return|static|super|switch|this|throw|try|typeof|undefined|var|void|while|with|yield)\b/,lookbehind:!0}],function:/#?(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*(?=\s*(?:\.\s*(?:apply|bind|call)\s*)?\()/,number:{pattern:RegExp(/(^|[^\w$])/.source+"(?:"+(/NaN|Infinity/.source+"|"+/0[bB][01]+(?:_[01]+)*n?/.source+"|"+/0[oO][0-7]+(?:_[0-7]+)*n?/.source+"|"+/0[xX][\dA-Fa-f]+(?:_[\dA-Fa-f]+)*n?/.source+"|"+/\d+(?:_\d+)*n/.source+"|"+/(?:\d+(?:_\d+)*(?:\.(?:\d+(?:_\d+)*)?)?|\.\d+(?:_\d+)*)(?:[Ee][+-]?\d+(?:_\d+)*)?/.source)+")"+/(?![\w$])/.source),lookbehind:!0},operator:/--|\+\+|\*\*=?|=>|&&=?|\|\|=?|[!=]==|<<=?|>>>?=?|[-+*/%&|^!=<>]=?|\.{3}|\?\?=?|\?\.?|[~:]/});p.languages.javascript["class-name"][0].pattern=/(\b(?:class|extends|implements|instanceof|interface|new)\s+)[\w.\\]+/;p.languages.insertBefore("javascript","keyword",{regex:{pattern:RegExp(/((?:^|[^$\w\xA0-\uFFFF."'\])\s]|\b(?:return|yield))\s*)/.source+/\//.source+"(?:"+/(?:\[(?:[^\]\\\r\n]|\\.)*\]|\\.|[^/\\\[\r\n])+\/[dgimyus]{0,7}/.source+"|"+/(?:\[(?:[^[\]\\\r\n]|\\.|\[(?:[^[\]\\\r\n]|\\.|\[(?:[^[\]\\\r\n]|\\.)*\])*\])*\]|\\.|[^/\\\[\r\n])+\/[dgimyus]{0,7}v[dgimyus]{0,7}/.source+")"+/(?=(?:\s|\/\*(?:[^*]|\*(?!\/))*\*\/)*(?:$|[\r\n,.;:})\]]|\/\/))/.source),lookbehind:!0,greedy:!0,inside:{"regex-source":{pattern:/^(\/)[\s\S]+(?=\/[a-z]*$)/,lookbehind:!0,alias:"language-regex",inside:p.languages.regex},"regex-delimiter":/^\/|\/$/,"regex-flags":/^[a-z]+$/}},"function-variable":{pattern:/#?(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*(?=\s*[=:]\s*(?:async\s*)?(?:\bfunction\b|(?:\((?:[^()]|\([^()]*\))*\)|(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*)\s*=>))/,alias:"function"},parameter:[{pattern:/(function(?:\s+(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*)?\s*\(\s*)(?!\s)(?:[^()\s]|\s+(?![\s)])|\([^()]*\))+(?=\s*\))/,lookbehind:!0,inside:p.languages.javascript},{pattern:/(^|[^$\w\xA0-\uFFFF])(?!\s)[_$a-z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*(?=\s*=>)/i,lookbehind:!0,inside:p.languages.javascript},{pattern:/(\(\s*)(?!\s)(?:[^()\s]|\s+(?![\s)])|\([^()]*\))+(?=\s*\)\s*=>)/,lookbehind:!0,inside:p.languages.javascript},{pattern:/((?:\b|\s|^)(?!(?:as|async|await|break|case|catch|class|const|continue|debugger|default|delete|do|else|enum|export|extends|finally|for|from|function|get|if|implements|import|in|instanceof|interface|let|new|null|of|package|private|protected|public|return|set|static|super|switch|this|throw|try|typeof|undefined|var|void|while|with|yield)(?![$\w\xA0-\uFFFF]))(?:(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*\s*)\(\s*|\]\s*\(\s*)(?!\s)(?:[^()\s]|\s+(?![\s)])|\([^()]*\))+(?=\s*\)\s*\{)/,lookbehind:!0,inside:p.languages.javascript}],constant:/\b[A-Z](?:[A-Z_]|\dx?)*\b/});p.languages.insertBefore("javascript","string",{hashbang:{pattern:/^#!.*/,greedy:!0,alias:"comment"},"template-string":{pattern:/`(?:\\[\s\S]|\$\{(?:[^{}]|\{(?:[^{}]|\{[^}]*\})*\})+\}|(?!\$\{)[^\\`])*`/,greedy:!0,inside:{"template-punctuation":{pattern:/^`|`$/,alias:"string"},interpolation:{pattern:/((?:^|[^\\])(?:\\{2})*)\$\{(?:[^{}]|\{(?:[^{}]|\{[^}]*\})*\})+\}/,lookbehind:!0,inside:{"interpolation-punctuation":{pattern:/^\$\{|\}$/,alias:"punctuation"},rest:p.languages.javascript}},string:/[\s\S]+/}},"string-property":{pattern:/((?:^|[,{])[ \t]*)(["'])(?:\\(?:\r\n|[\s\S])|(?!\2)[^\\\r\n])*\2(?=\s*:)/m,lookbehind:!0,greedy:!0,alias:"property"}});p.languages.insertBefore("javascript","operator",{"literal-property":{pattern:/((?:^|[,{])[ \t]*)(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*(?=\s*:)/m,lookbehind:!0,alias:"property"}});p.languages.markup&&(p.languages.markup.tag.addInlined("script","javascript"),p.languages.markup.tag.addAttribute(/on(?:abort|blur|change|click|composition(?:end|start|update)|dblclick|error|focus(?:in|out)?|key(?:down|up)|load|mouse(?:down|enter|leave|move|out|over|up)|reset|resize|scroll|select|slotchange|submit|unload|wheel)/.source,"javascript"));p.languages.js=p.languages.javascript;(function(){if(typeof p>"u"||typeof document>"u")return;Element.prototype.matches||(Element.prototype.matches=Element.prototype.msMatchesSelector||Element.prototype.webkitMatchesSelector);var r="Loading\u2026",f=function(y,v){return "\u2716 Error "+y+" while fetching file: "+v},i="\u2716 Error: File does not exist or is empty",o={js:"javascript",py:"python",rb:"ruby",ps1:"powershell",psm1:"powershell",sh:"bash",bat:"batch",h:"c",tex:"latex"},e="data-src-status",a="loading",h="loaded",S="failed",F="pre[data-src]:not(["+e+'="'+h+'"]):not(['+e+'="'+a+'"])';function C(y,v,b){var t=new XMLHttpRequest;t.open("GET",y,!0),t.onreadystatechange=function(){t.readyState==4&&(t.status<400&&t.responseText?v(t.responseText):t.status>=400?b(f(t.status,t.statusText)):b(i));},t.send(null);}function k(y){var v=/^\s*(\d+)\s*(?:(,)\s*(?:(\d+)\s*)?)?$/.exec(y||"");if(v){var b=Number(v[1]),t=v[2],n=v[3];return t?n?[b,Number(n)]:[b,void 0]:[b,b]}}p.hooks.add("before-highlightall",function(y){y.selector+=", "+F;}),p.hooks.add("before-sanity-check",function(y){var v=y.element;if(v.matches(F)){y.code="",v.setAttribute(e,a);var b=v.appendChild(document.createElement("CODE"));b.textContent=r;var t=v.getAttribute("data-src"),n=y.language;if(n==="none"){var s=(/\.(\w+)$/.exec(t)||[,"none"])[1];n=o[s]||s;}p.util.setLanguage(b,n),p.util.setLanguage(v,n);var l=p.plugins.autoloader;l&&l.loadLanguages(n),C(t,function(u){v.setAttribute(e,h);var m=k(v.getAttribute("data-range"));if(m){var E=u.split(/\r\n?|\n/g),g=m[0],T=m[1]==null?E.length:m[1];g<0&&(g+=E.length),g=Math.max(0,Math.min(g-1,E.length)),T<0&&(T+=E.length),T=Math.max(0,Math.min(T,E.length)),u=E.slice(g,T).join(`
1
+ import {w,n as G,cD as V,aY as xe,v as vt,W as Wp,as as ke,cE as Xl,D as Dt,F as Fa,J as JD,cF as Un,O as Op,bh as xp,o as eu,cG as Ht,cH as R,cI as ee,cJ as Nt,cK as Lt,r as f,bt as u,y as yt,b as wt,P as Pi,c as $h,T as TT,u as ul,_ as _w,cf as xh,k as Qh,bl as Jw,e as EE,d as ig,aA as gg,B as Bh,M as Mw,g as qw,X as xw,Y as Aw,h as Fw,l as ud,m as dd,bp as gl,cL as vb,cM as yb}from'./main-IINF7HD6.js';var Ue=yb((ft,ce)=>{var Ye=typeof window<"u"?window:typeof WorkerGlobalScope<"u"&&self instanceof WorkerGlobalScope?self:{};var p=(function(r){var f=/(?:^|\s)lang(?:uage)?-([\w-]+)(?=\s|$)/i,i=0,o={},e={manual:r.Prism&&r.Prism.manual,disableWorkerMessageHandler:r.Prism&&r.Prism.disableWorkerMessageHandler,util:{encode:function t(n){return n instanceof a?new a(n.type,t(n.content),n.alias):Array.isArray(n)?n.map(t):n.replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/\u00a0/g," ")},type:function(t){return Object.prototype.toString.call(t).slice(8,-1)},objId:function(t){return t.__id||Object.defineProperty(t,"__id",{value:++i}),t.__id},clone:function t(n,s){s=s||{};var l,u;switch(e.util.type(n)){case "Object":if(u=e.util.objId(n),s[u])return s[u];l={},s[u]=l;for(var m in n)n.hasOwnProperty(m)&&(l[m]=t(n[m],s));return l;case "Array":return u=e.util.objId(n),s[u]?s[u]:(l=[],s[u]=l,n.forEach(function(E,g){l[g]=t(E,s);}),l);default:return n}},getLanguage:function(t){for(;t;){var n=f.exec(t.className);if(n)return n[1].toLowerCase();t=t.parentElement;}return "none"},setLanguage:function(t,n){t.className=t.className.replace(RegExp(f,"gi"),""),t.classList.add("language-"+n);},currentScript:function(){if(typeof document>"u")return null;if(document.currentScript&&document.currentScript.tagName==="SCRIPT")return document.currentScript;try{throw new Error}catch(l){var t=(/at [^(\r\n]*\((.*):[^:]+:[^:]+\)$/i.exec(l.stack)||[])[1];if(t){var n=document.getElementsByTagName("script");for(var s in n)if(n[s].src==t)return n[s]}return null}},isActive:function(t,n,s){for(var l="no-"+n;t;){var u=t.classList;if(u.contains(n))return !0;if(u.contains(l))return !1;t=t.parentElement;}return !!s}},languages:{plain:o,plaintext:o,text:o,txt:o,extend:function(t,n){var s=e.util.clone(e.languages[t]);for(var l in n)s[l]=n[l];return s},insertBefore:function(t,n,s,l){l=l||e.languages;var u=l[t],m={};for(var E in u)if(u.hasOwnProperty(E)){if(E==n)for(var g in s)s.hasOwnProperty(g)&&(m[g]=s[g]);s.hasOwnProperty(E)||(m[E]=u[E]);}var T=l[t];return l[t]=m,e.languages.DFS(e.languages,function(O,z){z===T&&O!=t&&(this[O]=m);}),m},DFS:function t(n,s,l,u){u=u||{};var m=e.util.objId;for(var E in n)if(n.hasOwnProperty(E)){s.call(n,E,n[E],l||E);var g=n[E],T=e.util.type(g);T==="Object"&&!u[m(g)]?(u[m(g)]=!0,t(g,s,null,u)):T==="Array"&&!u[m(g)]&&(u[m(g)]=!0,t(g,s,E,u));}}},plugins:{},highlightAll:function(t,n){e.highlightAllUnder(document,t,n);},highlightAllUnder:function(t,n,s){var l={callback:s,container:t,selector:'code[class*="language-"], [class*="language-"] code, code[class*="lang-"], [class*="lang-"] code'};e.hooks.run("before-highlightall",l),l.elements=Array.prototype.slice.apply(l.container.querySelectorAll(l.selector)),e.hooks.run("before-all-elements-highlight",l);for(var u=0,m;m=l.elements[u++];)e.highlightElement(m,n===!0,l.callback);},highlightElement:function(t,n,s){var l=e.util.getLanguage(t),u=e.languages[l];e.util.setLanguage(t,l);var m=t.parentElement;m&&m.nodeName.toLowerCase()==="pre"&&e.util.setLanguage(m,l);var E=t.textContent,g={element:t,language:l,grammar:u,code:E};function T(z){g.highlightedCode=z,e.hooks.run("before-insert",g),g.element.innerHTML=g.highlightedCode,e.hooks.run("after-highlight",g),e.hooks.run("complete",g),s&&s.call(g.element);}if(e.hooks.run("before-sanity-check",g),m=g.element.parentElement,m&&m.nodeName.toLowerCase()==="pre"&&!m.hasAttribute("tabindex")&&m.setAttribute("tabindex","0"),!g.code){e.hooks.run("complete",g),s&&s.call(g.element);return}if(e.hooks.run("before-highlight",g),!g.grammar){T(e.util.encode(g.code));return}if(n&&r.Worker){var O=new Worker(e.filename);O.onmessage=function(z){T(z.data);},O.postMessage(JSON.stringify({language:g.language,code:g.code,immediateClose:!0}));}else T(e.highlight(g.code,g.grammar,g.language));},highlight:function(t,n,s){var l={code:t,grammar:n,language:s};if(e.hooks.run("before-tokenize",l),!l.grammar)throw new Error('The language "'+l.language+'" has no grammar.');return l.tokens=e.tokenize(l.code,l.grammar),e.hooks.run("after-tokenize",l),a.stringify(e.util.encode(l.tokens),l.language)},tokenize:function(t,n){var s=n.rest;if(s){for(var l in s)n[l]=s[l];delete n.rest;}var u=new F;return C(u,u.head,t),S(t,u,n,u.head,0),L(u)},hooks:{all:{},add:function(t,n){var s=e.hooks.all;s[t]=s[t]||[],s[t].push(n);},run:function(t,n){var s=e.hooks.all[t];if(!(!s||!s.length))for(var l=0,u;u=s[l++];)u(n);}},Token:a};r.Prism=e;function a(t,n,s,l){this.type=t,this.content=n,this.alias=s,this.length=(l||"").length|0;}a.stringify=function t(n,s){if(typeof n=="string")return n;if(Array.isArray(n)){var l="";return n.forEach(function(T){l+=t(T,s);}),l}var u={type:n.type,content:t(n.content,s),tag:"span",classes:["token",n.type],attributes:{},language:s},m=n.alias;m&&(Array.isArray(m)?Array.prototype.push.apply(u.classes,m):u.classes.push(m)),e.hooks.run("wrap",u);var E="";for(var g in u.attributes)E+=" "+g+'="'+(u.attributes[g]||"").replace(/"/g,"&quot;")+'"';return "<"+u.tag+' class="'+u.classes.join(" ")+'"'+E+">"+u.content+"</"+u.tag+">"};function h(t,n,s,l){t.lastIndex=n;var u=t.exec(s);if(u&&l&&u[1]){var m=u[1].length;u.index+=m,u[0]=u[0].slice(m);}return u}function S(t,n,s,l,u,m){for(var E in s)if(!(!s.hasOwnProperty(E)||!s[E])){var g=s[E];g=Array.isArray(g)?g:[g];for(var T=0;T<g.length;++T){if(m&&m.cause==E+","+T)return;var O=g[T],z=O.inside,ae=!!O.lookbehind,X=!!O.greedy,de=O.alias;if(X&&!O.pattern.global){var pe=O.pattern.toString().match(/[imsuy]*$/)[0];O.pattern=RegExp(O.pattern.source,pe+"g");}for(var oe=O.pattern||O,$=l.next,N=u;$!==n.tail&&!(m&&N>=m.reach);N+=$.value.length,$=$.next){var U=$.value;if(n.length>t.length)return;if(!(U instanceof a)){var q=1,G;if(X){if(G=h(oe,N,t,ae),!G||G.index>=t.length)break;var _=G.index,A=G.index+G[0].length,c=N;for(c+=$.value.length;_>=c;)$=$.next,c+=$.value.length;if(c-=$.value.length,N=c,$.value instanceof a)continue;for(var d=$;d!==n.tail&&(c<A||typeof d.value=="string");d=d.next)q++,c+=d.value.length;q--,U=t.slice(N,c),G.index-=N;}else if(G=h(oe,0,U,ae),!G)continue;var _=G.index,x=G[0],w=U.slice(0,_),H=U.slice(_+x.length),B=N+U.length;m&&B>m.reach&&(m.reach=B);var K=$.prev;w&&(K=C(n,K,w),N+=w.length),k(n,K,q);var qe=new a(E,z?e.tokenize(x,z):x,de,x);if($=C(n,K,qe),H&&C(n,$,H),q>1){var fe={cause:E+","+T,reach:B};S(t,n,s,$.prev,N,fe),m&&fe.reach>m.reach&&(m.reach=fe.reach);}}}}}}function F(){var t={value:null,prev:null,next:null},n={value:null,prev:t,next:null};t.next=n,this.head=t,this.tail=n,this.length=0;}function C(t,n,s){var l=n.next,u={value:s,prev:n,next:l};return n.next=u,l.prev=u,t.length++,u}function k(t,n,s){for(var l=n.next,u=0;u<s&&l!==t.tail;u++)l=l.next;n.next=l,l.prev=n,t.length-=u;}function L(t){for(var n=[],s=t.head.next;s!==t.tail;)n.push(s.value),s=s.next;return n}if(!r.document)return r.addEventListener&&(e.disableWorkerMessageHandler||r.addEventListener("message",function(t){var n=JSON.parse(t.data),s=n.language,l=n.code,u=n.immediateClose;r.postMessage(e.highlight(l,e.languages[s],s)),u&&r.close();},!1)),e;var y=e.util.currentScript();y&&(e.filename=y.src,y.hasAttribute("data-manual")&&(e.manual=!0));function v(){e.manual||e.highlightAll();}if(!e.manual){var b=document.readyState;b==="loading"||b==="interactive"&&y&&y.defer?document.addEventListener("DOMContentLoaded",v):window.requestAnimationFrame?window.requestAnimationFrame(v):window.setTimeout(v,16);}return e})(Ye);typeof ce<"u"&&ce.exports&&(ce.exports=p);typeof global<"u"&&(global.Prism=p);p.languages.markup={comment:{pattern:/<!--(?:(?!<!--)[\s\S])*?-->/,greedy:!0},prolog:{pattern:/<\?[\s\S]+?\?>/,greedy:!0},doctype:{pattern:/<!DOCTYPE(?:[^>"'[\]]|"[^"]*"|'[^']*')+(?:\[(?:[^<"'\]]|"[^"]*"|'[^']*'|<(?!!--)|<!--(?:[^-]|-(?!->))*-->)*\]\s*)?>/i,greedy:!0,inside:{"internal-subset":{pattern:/(^[^\[]*\[)[\s\S]+(?=\]>$)/,lookbehind:!0,greedy:!0,inside:null},string:{pattern:/"[^"]*"|'[^']*'/,greedy:!0},punctuation:/^<!|>$|[[\]]/,"doctype-tag":/^DOCTYPE/i,name:/[^\s<>'"]+/}},cdata:{pattern:/<!\[CDATA\[[\s\S]*?\]\]>/i,greedy:!0},tag:{pattern:/<\/?(?!\d)[^\s>\/=$<%]+(?:\s(?:\s*[^\s>\/=]+(?:\s*=\s*(?:"[^"]*"|'[^']*'|[^\s'">=]+(?=[\s>]))|(?=[\s/>])))+)?\s*\/?>/,greedy:!0,inside:{tag:{pattern:/^<\/?[^\s>\/]+/,inside:{punctuation:/^<\/?/,namespace:/^[^\s>\/:]+:/}},"special-attr":[],"attr-value":{pattern:/=\s*(?:"[^"]*"|'[^']*'|[^\s'">=]+)/,inside:{punctuation:[{pattern:/^=/,alias:"attr-equals"},{pattern:/^(\s*)["']|["']$/,lookbehind:!0}]}},punctuation:/\/?>/,"attr-name":{pattern:/[^\s>\/]+/,inside:{namespace:/^[^\s>\/:]+:/}}}},entity:[{pattern:/&[\da-z]{1,8};/i,alias:"named-entity"},/&#x?[\da-f]{1,8};/i]};p.languages.markup.tag.inside["attr-value"].inside.entity=p.languages.markup.entity;p.languages.markup.doctype.inside["internal-subset"].inside=p.languages.markup;p.hooks.add("wrap",function(r){r.type==="entity"&&(r.attributes.title=r.content.replace(/&amp;/,"&"));});Object.defineProperty(p.languages.markup.tag,"addInlined",{value:function(f,i){var o={};o["language-"+i]={pattern:/(^<!\[CDATA\[)[\s\S]+?(?=\]\]>$)/i,lookbehind:!0,inside:p.languages[i]},o.cdata=/^<!\[CDATA\[|\]\]>$/i;var e={"included-cdata":{pattern:/<!\[CDATA\[[\s\S]*?\]\]>/i,inside:o}};e["language-"+i]={pattern:/[\s\S]+/,inside:p.languages[i]};var a={};a[f]={pattern:RegExp(/(<__[^>]*>)(?:<!\[CDATA\[(?:[^\]]|\](?!\]>))*\]\]>|(?!<!\[CDATA\[)[\s\S])*?(?=<\/__>)/.source.replace(/__/g,function(){return f}),"i"),lookbehind:!0,greedy:!0,inside:e},p.languages.insertBefore("markup","cdata",a);}});Object.defineProperty(p.languages.markup.tag,"addAttribute",{value:function(r,f){p.languages.markup.tag.inside["special-attr"].push({pattern:RegExp(/(^|["'\s])/.source+"(?:"+r+")"+/\s*=\s*(?:"[^"]*"|'[^']*'|[^\s'">=]+(?=[\s>]))/.source,"i"),lookbehind:!0,inside:{"attr-name":/^[^\s=]+/,"attr-value":{pattern:/=[\s\S]+/,inside:{value:{pattern:/(^=\s*(["']|(?!["'])))\S[\s\S]*(?=\2$)/,lookbehind:!0,alias:[f,"language-"+f],inside:p.languages[f]},punctuation:[{pattern:/^=/,alias:"attr-equals"},/"|'/]}}}});}});p.languages.html=p.languages.markup;p.languages.mathml=p.languages.markup;p.languages.svg=p.languages.markup;p.languages.xml=p.languages.extend("markup",{});p.languages.ssml=p.languages.xml;p.languages.atom=p.languages.xml;p.languages.rss=p.languages.xml;(function(r){var f=/(?:"(?:\\(?:\r\n|[\s\S])|[^"\\\r\n])*"|'(?:\\(?:\r\n|[\s\S])|[^'\\\r\n])*')/;r.languages.css={comment:/\/\*[\s\S]*?\*\//,atrule:{pattern:RegExp("@[\\w-](?:"+/[^;{\s"']|\s+(?!\s)/.source+"|"+f.source+")*?"+/(?:;|(?=\s*\{))/.source),inside:{rule:/^@[\w-]+/,"selector-function-argument":{pattern:/(\bselector\s*\(\s*(?![\s)]))(?:[^()\s]|\s+(?![\s)])|\((?:[^()]|\([^()]*\))*\))+(?=\s*\))/,lookbehind:!0,alias:"selector"},keyword:{pattern:/(^|[^\w-])(?:and|not|only|or)(?![\w-])/,lookbehind:!0}}},url:{pattern:RegExp("\\burl\\((?:"+f.source+"|"+/(?:[^\\\r\n()"']|\\[\s\S])*/.source+")\\)","i"),greedy:!0,inside:{function:/^url/i,punctuation:/^\(|\)$/,string:{pattern:RegExp("^"+f.source+"$"),alias:"url"}}},selector:{pattern:RegExp(`(^|[{}\\s])[^{}\\s](?:[^{};"'\\s]|\\s+(?![\\s{])|`+f.source+")*(?=\\s*\\{)"),lookbehind:!0},string:{pattern:f,greedy:!0},property:{pattern:/(^|[^-\w\xA0-\uFFFF])(?!\s)[-_a-z\xA0-\uFFFF](?:(?!\s)[-\w\xA0-\uFFFF])*(?=\s*:)/i,lookbehind:!0},important:/!important\b/i,function:{pattern:/(^|[^-a-z0-9])[-a-z0-9]+(?=\()/i,lookbehind:!0},punctuation:/[(){};:,]/},r.languages.css.atrule.inside.rest=r.languages.css;var i=r.languages.markup;i&&(i.tag.addInlined("style","css"),i.tag.addAttribute("style","css"));})(p);p.languages.clike={comment:[{pattern:/(^|[^\\])\/\*[\s\S]*?(?:\*\/|$)/,lookbehind:!0,greedy:!0},{pattern:/(^|[^\\:])\/\/.*/,lookbehind:!0,greedy:!0}],string:{pattern:/(["'])(?:\\(?:\r\n|[\s\S])|(?!\1)[^\\\r\n])*\1/,greedy:!0},"class-name":{pattern:/(\b(?:class|extends|implements|instanceof|interface|new|trait)\s+|\bcatch\s+\()[\w.\\]+/i,lookbehind:!0,inside:{punctuation:/[.\\]/}},keyword:/\b(?:break|catch|continue|do|else|finally|for|function|if|in|instanceof|new|null|return|throw|try|while)\b/,boolean:/\b(?:false|true)\b/,function:/\b\w+(?=\()/,number:/\b0x[\da-f]+\b|(?:\b\d+(?:\.\d*)?|\B\.\d+)(?:e[+-]?\d+)?/i,operator:/[<>]=?|[!=]=?=?|--?|\+\+?|&&?|\|\|?|[?*/~^%]/,punctuation:/[{}[\];(),.:]/};p.languages.javascript=p.languages.extend("clike",{"class-name":[p.languages.clike["class-name"],{pattern:/(^|[^$\w\xA0-\uFFFF])(?!\s)[_$A-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*(?=\.(?:constructor|prototype))/,lookbehind:!0}],keyword:[{pattern:/((?:^|\})\s*)catch\b/,lookbehind:!0},{pattern:/(^|[^.]|\.\.\.\s*)\b(?:as|assert(?=\s*\{)|async(?=\s*(?:function\b|\(|[$\w\xA0-\uFFFF]|$))|await|break|case|class|const|continue|debugger|default|delete|do|else|enum|export|extends|finally(?=\s*(?:\{|$))|for|from(?=\s*(?:['"]|$))|function|(?:get|set)(?=\s*(?:[#\[$\w\xA0-\uFFFF]|$))|if|implements|import|in|instanceof|interface|let|new|null|of|package|private|protected|public|return|static|super|switch|this|throw|try|typeof|undefined|var|void|while|with|yield)\b/,lookbehind:!0}],function:/#?(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*(?=\s*(?:\.\s*(?:apply|bind|call)\s*)?\()/,number:{pattern:RegExp(/(^|[^\w$])/.source+"(?:"+(/NaN|Infinity/.source+"|"+/0[bB][01]+(?:_[01]+)*n?/.source+"|"+/0[oO][0-7]+(?:_[0-7]+)*n?/.source+"|"+/0[xX][\dA-Fa-f]+(?:_[\dA-Fa-f]+)*n?/.source+"|"+/\d+(?:_\d+)*n/.source+"|"+/(?:\d+(?:_\d+)*(?:\.(?:\d+(?:_\d+)*)?)?|\.\d+(?:_\d+)*)(?:[Ee][+-]?\d+(?:_\d+)*)?/.source)+")"+/(?![\w$])/.source),lookbehind:!0},operator:/--|\+\+|\*\*=?|=>|&&=?|\|\|=?|[!=]==|<<=?|>>>?=?|[-+*/%&|^!=<>]=?|\.{3}|\?\?=?|\?\.?|[~:]/});p.languages.javascript["class-name"][0].pattern=/(\b(?:class|extends|implements|instanceof|interface|new)\s+)[\w.\\]+/;p.languages.insertBefore("javascript","keyword",{regex:{pattern:RegExp(/((?:^|[^$\w\xA0-\uFFFF."'\])\s]|\b(?:return|yield))\s*)/.source+/\//.source+"(?:"+/(?:\[(?:[^\]\\\r\n]|\\.)*\]|\\.|[^/\\\[\r\n])+\/[dgimyus]{0,7}/.source+"|"+/(?:\[(?:[^[\]\\\r\n]|\\.|\[(?:[^[\]\\\r\n]|\\.|\[(?:[^[\]\\\r\n]|\\.)*\])*\])*\]|\\.|[^/\\\[\r\n])+\/[dgimyus]{0,7}v[dgimyus]{0,7}/.source+")"+/(?=(?:\s|\/\*(?:[^*]|\*(?!\/))*\*\/)*(?:$|[\r\n,.;:})\]]|\/\/))/.source),lookbehind:!0,greedy:!0,inside:{"regex-source":{pattern:/^(\/)[\s\S]+(?=\/[a-z]*$)/,lookbehind:!0,alias:"language-regex",inside:p.languages.regex},"regex-delimiter":/^\/|\/$/,"regex-flags":/^[a-z]+$/}},"function-variable":{pattern:/#?(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*(?=\s*[=:]\s*(?:async\s*)?(?:\bfunction\b|(?:\((?:[^()]|\([^()]*\))*\)|(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*)\s*=>))/,alias:"function"},parameter:[{pattern:/(function(?:\s+(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*)?\s*\(\s*)(?!\s)(?:[^()\s]|\s+(?![\s)])|\([^()]*\))+(?=\s*\))/,lookbehind:!0,inside:p.languages.javascript},{pattern:/(^|[^$\w\xA0-\uFFFF])(?!\s)[_$a-z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*(?=\s*=>)/i,lookbehind:!0,inside:p.languages.javascript},{pattern:/(\(\s*)(?!\s)(?:[^()\s]|\s+(?![\s)])|\([^()]*\))+(?=\s*\)\s*=>)/,lookbehind:!0,inside:p.languages.javascript},{pattern:/((?:\b|\s|^)(?!(?:as|async|await|break|case|catch|class|const|continue|debugger|default|delete|do|else|enum|export|extends|finally|for|from|function|get|if|implements|import|in|instanceof|interface|let|new|null|of|package|private|protected|public|return|set|static|super|switch|this|throw|try|typeof|undefined|var|void|while|with|yield)(?![$\w\xA0-\uFFFF]))(?:(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*\s*)\(\s*|\]\s*\(\s*)(?!\s)(?:[^()\s]|\s+(?![\s)])|\([^()]*\))+(?=\s*\)\s*\{)/,lookbehind:!0,inside:p.languages.javascript}],constant:/\b[A-Z](?:[A-Z_]|\dx?)*\b/});p.languages.insertBefore("javascript","string",{hashbang:{pattern:/^#!.*/,greedy:!0,alias:"comment"},"template-string":{pattern:/`(?:\\[\s\S]|\$\{(?:[^{}]|\{(?:[^{}]|\{[^}]*\})*\})+\}|(?!\$\{)[^\\`])*`/,greedy:!0,inside:{"template-punctuation":{pattern:/^`|`$/,alias:"string"},interpolation:{pattern:/((?:^|[^\\])(?:\\{2})*)\$\{(?:[^{}]|\{(?:[^{}]|\{[^}]*\})*\})+\}/,lookbehind:!0,inside:{"interpolation-punctuation":{pattern:/^\$\{|\}$/,alias:"punctuation"},rest:p.languages.javascript}},string:/[\s\S]+/}},"string-property":{pattern:/((?:^|[,{])[ \t]*)(["'])(?:\\(?:\r\n|[\s\S])|(?!\2)[^\\\r\n])*\2(?=\s*:)/m,lookbehind:!0,greedy:!0,alias:"property"}});p.languages.insertBefore("javascript","operator",{"literal-property":{pattern:/((?:^|[,{])[ \t]*)(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*(?=\s*:)/m,lookbehind:!0,alias:"property"}});p.languages.markup&&(p.languages.markup.tag.addInlined("script","javascript"),p.languages.markup.tag.addAttribute(/on(?:abort|blur|change|click|composition(?:end|start|update)|dblclick|error|focus(?:in|out)?|key(?:down|up)|load|mouse(?:down|enter|leave|move|out|over|up)|reset|resize|scroll|select|slotchange|submit|unload|wheel)/.source,"javascript"));p.languages.js=p.languages.javascript;(function(){if(typeof p>"u"||typeof document>"u")return;Element.prototype.matches||(Element.prototype.matches=Element.prototype.msMatchesSelector||Element.prototype.webkitMatchesSelector);var r="Loading\u2026",f=function(y,v){return "\u2716 Error "+y+" while fetching file: "+v},i="\u2716 Error: File does not exist or is empty",o={js:"javascript",py:"python",rb:"ruby",ps1:"powershell",psm1:"powershell",sh:"bash",bat:"batch",h:"c",tex:"latex"},e="data-src-status",a="loading",h="loaded",S="failed",F="pre[data-src]:not(["+e+'="'+h+'"]):not(['+e+'="'+a+'"])';function C(y,v,b){var t=new XMLHttpRequest;t.open("GET",y,!0),t.onreadystatechange=function(){t.readyState==4&&(t.status<400&&t.responseText?v(t.responseText):t.status>=400?b(f(t.status,t.statusText)):b(i));},t.send(null);}function k(y){var v=/^\s*(\d+)\s*(?:(,)\s*(?:(\d+)\s*)?)?$/.exec(y||"");if(v){var b=Number(v[1]),t=v[2],n=v[3];return t?n?[b,Number(n)]:[b,void 0]:[b,b]}}p.hooks.add("before-highlightall",function(y){y.selector+=", "+F;}),p.hooks.add("before-sanity-check",function(y){var v=y.element;if(v.matches(F)){y.code="",v.setAttribute(e,a);var b=v.appendChild(document.createElement("CODE"));b.textContent=r;var t=v.getAttribute("data-src"),n=y.language;if(n==="none"){var s=(/\.(\w+)$/.exec(t)||[,"none"])[1];n=o[s]||s;}p.util.setLanguage(b,n),p.util.setLanguage(v,n);var l=p.plugins.autoloader;l&&l.loadLanguages(n),C(t,function(u){v.setAttribute(e,h);var m=k(v.getAttribute("data-range"));if(m){var E=u.split(/\r\n?|\n/g),g=m[0],T=m[1]==null?E.length:m[1];g<0&&(g+=E.length),g=Math.max(0,Math.min(g-1,E.length)),T<0&&(T+=E.length),T=Math.max(0,Math.min(T,E.length)),u=E.slice(g,T).join(`
2
2
  `),v.hasAttribute("data-start")||v.setAttribute("data-start",String(g+1));}b.textContent=u,p.highlightElement(b);},function(u){v.setAttribute(e,S),b.textContent=u;});}}),p.plugins.fileHighlight={highlight:function(v){for(var b=(v||document).querySelectorAll(F),t=0,n;n=b[t++];)p.highlightElement(n);}};var L=!1;p.fileHighlight=function(){L||(console.warn("Prism.fileHighlight is deprecated. Use `Prism.plugins.fileHighlight.highlight` instead."),L=!0),p.plugins.fileHighlight.highlight.apply(this,arguments);};})();});var je=yb((re,he)=>{(function(f,i){typeof re=="object"&&typeof he=="object"?he.exports=i():typeof define=="function"&&define.amd?define([],i):typeof re=="object"?re.ClipboardJS=i():f.ClipboardJS=i();})(re,function(){return (function(){var r={686:(function(o,e,a){"use strict";a.d(e,{default:function(){return G}});var h=a(279),S=a.n(h),F=a(370),C=a.n(F),k=a(817),L=a.n(k);function y(A){try{return document.execCommand(A)}catch(c){return !1}}var v=function(c){var d=L()(c);return y("cut"),d},b=v;function t(A){var c=document.documentElement.getAttribute("dir")==="rtl",d=document.createElement("textarea");d.style.fontSize="12pt",d.style.border="0",d.style.padding="0",d.style.margin="0",d.style.position="absolute",d.style[c?"right":"left"]="-9999px";var _=window.pageYOffset||document.documentElement.scrollTop;return d.style.top="".concat(_,"px"),d.setAttribute("readonly",""),d.value=A,d}var n=function(c,d){var _=t(c);d.container.appendChild(_);var x=L()(_);return y("copy"),_.remove(),x},s=function(c){var d=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{container:document.body},_="";return typeof c=="string"?_=n(c,d):c instanceof HTMLInputElement&&!["text","search","url","tel","password"].includes(c?.type)?_=n(c.value,d):(_=L()(c),y("copy")),_},l=s;function u(A){"@babel/helpers - typeof";return typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?u=function(d){return typeof d}:u=function(d){return d&&typeof Symbol=="function"&&d.constructor===Symbol&&d!==Symbol.prototype?"symbol":typeof d},u(A)}var m=function(){var c=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},d=c.action,_=d===void 0?"copy":d,x=c.container,w=c.target,H=c.text;if(_!=="copy"&&_!=="cut")throw new Error('Invalid "action" value, use either "copy" or "cut"');if(w!==void 0)if(w&&u(w)==="object"&&w.nodeType===1){if(_==="copy"&&w.hasAttribute("disabled"))throw new Error('Invalid "target" attribute. Please use "readonly" instead of "disabled" attribute');if(_==="cut"&&(w.hasAttribute("readonly")||w.hasAttribute("disabled")))throw new Error(`Invalid "target" attribute. You can't cut text from elements with "readonly" or "disabled" attributes`)}else throw new Error('Invalid "target" value, use a valid Element');if(H)return l(H,{container:x});if(w)return _==="cut"?b(w):l(w,{container:x})},E=m;function g(A){"@babel/helpers - typeof";return typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?g=function(d){return typeof d}:g=function(d){return d&&typeof Symbol=="function"&&d.constructor===Symbol&&d!==Symbol.prototype?"symbol":typeof d},g(A)}function T(A,c){if(!(A instanceof c))throw new TypeError("Cannot call a class as a function")}function O(A,c){for(var d=0;d<c.length;d++){var _=c[d];_.enumerable=_.enumerable||!1,_.configurable=!0,"value"in _&&(_.writable=!0),Object.defineProperty(A,_.key,_);}}function z(A,c,d){return c&&O(A.prototype,c),d&&O(A,d),A}function ae(A,c){if(typeof c!="function"&&c!==null)throw new TypeError("Super expression must either be null or a function");A.prototype=Object.create(c&&c.prototype,{constructor:{value:A,writable:!0,configurable:!0}}),c&&X(A,c);}function X(A,c){return X=Object.setPrototypeOf||function(_,x){return _.__proto__=x,_},X(A,c)}function de(A){var c=$();return function(){var _=N(A),x;if(c){var w=N(this).constructor;x=Reflect.construct(_,arguments,w);}else x=_.apply(this,arguments);return pe(this,x)}}function pe(A,c){return c&&(g(c)==="object"||typeof c=="function")?c:oe(A)}function oe(A){if(A===void 0)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return A}function $(){if(typeof Reflect>"u"||!Reflect.construct||Reflect.construct.sham)return !1;if(typeof Proxy=="function")return !0;try{return Date.prototype.toString.call(Reflect.construct(Date,[],function(){})),!0}catch(A){return !1}}function N(A){return N=Object.setPrototypeOf?Object.getPrototypeOf:function(d){return d.__proto__||Object.getPrototypeOf(d)},N(A)}function U(A,c){var d="data-clipboard-".concat(A);if(c.hasAttribute(d))return c.getAttribute(d)}var q=(function(A){ae(d,A);var c=de(d);function d(_,x){var w;return T(this,d),w=c.call(this),w.resolveOptions(x),w.listenClick(_),w}return z(d,[{key:"resolveOptions",value:function(){var x=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};this.action=typeof x.action=="function"?x.action:this.defaultAction,this.target=typeof x.target=="function"?x.target:this.defaultTarget,this.text=typeof x.text=="function"?x.text:this.defaultText,this.container=g(x.container)==="object"?x.container:document.body;}},{key:"listenClick",value:function(x){var w=this;this.listener=C()(x,"click",function(H){return w.onClick(H)});}},{key:"onClick",value:function(x){var w=x.delegateTarget||x.currentTarget,H=this.action(w)||"copy",B=E({action:H,container:this.container,target:this.target(w),text:this.text(w)});this.emit(B?"success":"error",{action:H,text:B,trigger:w,clearSelection:function(){w&&w.focus(),window.getSelection().removeAllRanges();}});}},{key:"defaultAction",value:function(x){return U("action",x)}},{key:"defaultTarget",value:function(x){var w=U("target",x);if(w)return document.querySelector(w)}},{key:"defaultText",value:function(x){return U("text",x)}},{key:"destroy",value:function(){this.listener.destroy();}}],[{key:"copy",value:function(x){var w=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{container:document.body};return l(x,w)}},{key:"cut",value:function(x){return b(x)}},{key:"isSupported",value:function(){var x=arguments.length>0&&arguments[0]!==void 0?arguments[0]:["copy","cut"],w=typeof x=="string"?[x]:x,H=!!document.queryCommandSupported;return w.forEach(function(B){H=H&&!!document.queryCommandSupported(B);}),H}}]),d})(S()),G=q;}),828:(function(o){var e=9;if(typeof Element<"u"&&!Element.prototype.matches){var a=Element.prototype;a.matches=a.matchesSelector||a.mozMatchesSelector||a.msMatchesSelector||a.oMatchesSelector||a.webkitMatchesSelector;}function h(S,F){for(;S&&S.nodeType!==e;){if(typeof S.matches=="function"&&S.matches(F))return S;S=S.parentNode;}}o.exports=h;}),438:(function(o,e,a){var h=a(828);function S(k,L,y,v,b){var t=C.apply(this,arguments);return k.addEventListener(y,t,b),{destroy:function(){k.removeEventListener(y,t,b);}}}function F(k,L,y,v,b){return typeof k.addEventListener=="function"?S.apply(null,arguments):typeof y=="function"?S.bind(null,document).apply(null,arguments):(typeof k=="string"&&(k=document.querySelectorAll(k)),Array.prototype.map.call(k,function(t){return S(t,L,y,v,b)}))}function C(k,L,y,v){return function(b){b.delegateTarget=h(b.target,L),b.delegateTarget&&v.call(k,b);}}o.exports=F;}),879:(function(o,e){e.node=function(a){return a!==void 0&&a instanceof HTMLElement&&a.nodeType===1},e.nodeList=function(a){var h=Object.prototype.toString.call(a);return a!==void 0&&(h==="[object NodeList]"||h==="[object HTMLCollection]")&&"length"in a&&(a.length===0||e.node(a[0]))},e.string=function(a){return typeof a=="string"||a instanceof String},e.fn=function(a){var h=Object.prototype.toString.call(a);return h==="[object Function]"};}),370:(function(o,e,a){var h=a(879),S=a(438);function F(y,v,b){if(!y&&!v&&!b)throw new Error("Missing required arguments");if(!h.string(v))throw new TypeError("Second argument must be a String");if(!h.fn(b))throw new TypeError("Third argument must be a Function");if(h.node(y))return C(y,v,b);if(h.nodeList(y))return k(y,v,b);if(h.string(y))return L(y,v,b);throw new TypeError("First argument must be a String, HTMLElement, HTMLCollection, or NodeList")}function C(y,v,b){return y.addEventListener(v,b),{destroy:function(){y.removeEventListener(v,b);}}}function k(y,v,b){return Array.prototype.forEach.call(y,function(t){t.addEventListener(v,b);}),{destroy:function(){Array.prototype.forEach.call(y,function(t){t.removeEventListener(v,b);});}}}function L(y,v,b){return S(document.body,y,v,b)}o.exports=F;}),817:(function(o){function e(a){var h;if(a.nodeName==="SELECT")a.focus(),h=a.value;else if(a.nodeName==="INPUT"||a.nodeName==="TEXTAREA"){var S=a.hasAttribute("readonly");S||a.setAttribute("readonly",""),a.select(),a.setSelectionRange(0,a.value.length),S||a.removeAttribute("readonly"),h=a.value;}else {a.hasAttribute("contenteditable")&&a.focus();var F=window.getSelection(),C=document.createRange();C.selectNodeContents(a),F.removeAllRanges(),F.addRange(C),h=F.toString();}return h}o.exports=e;}),279:(function(o){function e(){}e.prototype={on:function(a,h,S){var F=this.e||(this.e={});return (F[a]||(F[a]=[])).push({fn:h,ctx:S}),this},once:function(a,h,S){var F=this;function C(){F.off(a,C),h.apply(S,arguments);}return C._=h,this.on(a,C,S)},emit:function(a){var h=[].slice.call(arguments,1),S=((this.e||(this.e={}))[a]||[]).slice(),F=0,C=S.length;for(F;F<C;F++)S[F].fn.apply(S[F].ctx,h);return this},off:function(a,h){var S=this.e||(this.e={}),F=S[a],C=[];if(F&&h)for(var k=0,L=F.length;k<L;k++)F[k].fn!==h&&F[k].fn._!==h&&C.push(F[k]);return C.length?S[a]=C:delete S[a],this}},o.exports=e,o.exports.TinyEmitter=e;})},f={};function i(o){if(f[o])return f[o].exports;var e=f[o]={exports:{}};return r[o](e,e.exports,i),e.exports}return (function(){i.n=function(o){var e=o&&o.__esModule?function(){return o.default}:function(){return o};return i.d(e,{a:e}),e};})(),(function(){i.d=function(o,e){for(var a in e)i.o(e,a)&&!i.o(o,a)&&Object.defineProperty(o,a,{enumerable:!0,get:e[a]});};})(),(function(){i.o=function(o,e){return Object.prototype.hasOwnProperty.call(o,e)};})(),i(686)})().default});});vb(Ue());(function(r){var f="\\b(?:BASH|BASHOPTS|BASH_ALIASES|BASH_ARGC|BASH_ARGV|BASH_CMDS|BASH_COMPLETION_COMPAT_DIR|BASH_LINENO|BASH_REMATCH|BASH_SOURCE|BASH_VERSINFO|BASH_VERSION|COLORTERM|COLUMNS|COMP_WORDBREAKS|DBUS_SESSION_BUS_ADDRESS|DEFAULTS_PATH|DESKTOP_SESSION|DIRSTACK|DISPLAY|EUID|GDMSESSION|GDM_LANG|GNOME_KEYRING_CONTROL|GNOME_KEYRING_PID|GPG_AGENT_INFO|GROUPS|HISTCONTROL|HISTFILE|HISTFILESIZE|HISTSIZE|HOME|HOSTNAME|HOSTTYPE|IFS|INSTANCE|JOB|LANG|LANGUAGE|LC_ADDRESS|LC_ALL|LC_IDENTIFICATION|LC_MEASUREMENT|LC_MONETARY|LC_NAME|LC_NUMERIC|LC_PAPER|LC_TELEPHONE|LC_TIME|LESSCLOSE|LESSOPEN|LINES|LOGNAME|LS_COLORS|MACHTYPE|MAILCHECK|MANDATORY_PATH|NO_AT_BRIDGE|OLDPWD|OPTERR|OPTIND|ORBIT_SOCKETDIR|OSTYPE|PAPERSIZE|PATH|PIPESTATUS|PPID|PS1|PS2|PS3|PS4|PWD|RANDOM|REPLY|SECONDS|SELINUX_INIT|SESSION|SESSIONTYPE|SESSION_MANAGER|SHELL|SHELLOPTS|SHLVL|SSH_AUTH_SOCK|TERM|UID|UPSTART_EVENTS|UPSTART_INSTANCE|UPSTART_JOB|UPSTART_SESSION|USER|WINDOWID|XAUTHORITY|XDG_CONFIG_DIRS|XDG_CURRENT_DESKTOP|XDG_DATA_DIRS|XDG_GREETER_DATA_DIR|XDG_MENU_PREFIX|XDG_RUNTIME_DIR|XDG_SEAT|XDG_SEAT_PATH|XDG_SESSION_DESKTOP|XDG_SESSION_ID|XDG_SESSION_PATH|XDG_SESSION_TYPE|XDG_VTNR|XMODIFIERS)\\b",i={pattern:/(^(["']?)\w+\2)[ \t]+\S.*/,lookbehind:true,alias:"punctuation",inside:null},o={bash:i,environment:{pattern:RegExp("\\$"+f),alias:"constant"},variable:[{pattern:/\$?\(\([\s\S]+?\)\)/,greedy:true,inside:{variable:[{pattern:/(^\$\(\([\s\S]+)\)\)/,lookbehind:true},/^\$\(\(/],number:/\b0x[\dA-Fa-f]+\b|(?:\b\d+(?:\.\d*)?|\B\.\d+)(?:[Ee]-?\d+)?/,operator:/--|\+\+|\*\*=?|<<=?|>>=?|&&|\|\||[=!+\-*/%<>^&|]=?|[?~:]/,punctuation:/\(\(?|\)\)?|,|;/}},{pattern:/\$\((?:\([^)]+\)|[^()])+\)|`[^`]+`/,greedy:true,inside:{variable:/^\$\(|^`|\)$|`$/}},{pattern:/\$\{[^}]+\}/,greedy:true,inside:{operator:/:[-=?+]?|[!\/]|##?|%%?|\^\^?|,,?/,punctuation:/[\[\]]/,environment:{pattern:RegExp("(\\{)"+f),lookbehind:true,alias:"constant"}}},/\$(?:\w+|[#?*!@$])/],entity:/\\(?:[abceEfnrtv\\"]|O?[0-7]{1,3}|U[0-9a-fA-F]{8}|u[0-9a-fA-F]{4}|x[0-9a-fA-F]{1,2})/};r.languages.bash={shebang:{pattern:/^#!\s*\/.*/,alias:"important"},comment:{pattern:/(^|[^"{\\$])#.*/,lookbehind:true},"function-name":[{pattern:/(\bfunction\s+)[\w-]+(?=(?:\s*\(?:\s*\))?\s*\{)/,lookbehind:true,alias:"function"},{pattern:/\b[\w-]+(?=\s*\(\s*\)\s*\{)/,alias:"function"}],"for-or-select":{pattern:/(\b(?:for|select)\s+)\w+(?=\s+in\s)/,alias:"variable",lookbehind:true},"assign-left":{pattern:/(^|[\s;|&]|[<>]\()\w+(?:\.\w+)*(?=\+?=)/,inside:{environment:{pattern:RegExp("(^|[\\s;|&]|[<>]\\()"+f),lookbehind:true,alias:"constant"}},alias:"variable",lookbehind:true},parameter:{pattern:/(^|\s)-{1,2}(?:\w+:[+-]?)?\w+(?:\.\w+)*(?=[=\s]|$)/,alias:"variable",lookbehind:true},string:[{pattern:/((?:^|[^<])<<-?\s*)(\w+)\s[\s\S]*?(?:\r?\n|\r)\2/,lookbehind:true,greedy:true,inside:o},{pattern:/((?:^|[^<])<<-?\s*)(["'])(\w+)\2\s[\s\S]*?(?:\r?\n|\r)\3/,lookbehind:true,greedy:true,inside:{bash:i}},{pattern:/(^|[^\\](?:\\\\)*)"(?:\\[\s\S]|\$\([^)]+\)|\$(?!\()|`[^`]+`|[^"\\`$])*"/,lookbehind:true,greedy:true,inside:o},{pattern:/(^|[^$\\])'[^']*'/,lookbehind:true,greedy:true},{pattern:/\$'(?:[^'\\]|\\[\s\S])*'/,greedy:true,inside:{entity:o.entity}}],environment:{pattern:RegExp("\\$?"+f),alias:"constant"},variable:o.variable,function:{pattern:/(^|[\s;|&]|[<>]\()(?:add|apropos|apt|apt-cache|apt-get|aptitude|aspell|automysqlbackup|awk|basename|bash|bc|bconsole|bg|bzip2|cal|cargo|cat|cfdisk|chgrp|chkconfig|chmod|chown|chroot|cksum|clear|cmp|column|comm|composer|cp|cron|crontab|csplit|curl|cut|date|dc|dd|ddrescue|debootstrap|df|diff|diff3|dig|dir|dircolors|dirname|dirs|dmesg|docker|docker-compose|du|egrep|eject|env|ethtool|expand|expect|expr|fdformat|fdisk|fg|fgrep|file|find|fmt|fold|format|free|fsck|ftp|fuser|gawk|git|gparted|grep|groupadd|groupdel|groupmod|groups|grub-mkconfig|gzip|halt|head|hg|history|host|hostname|htop|iconv|id|ifconfig|ifdown|ifup|import|install|ip|java|jobs|join|kill|killall|less|link|ln|locate|logname|logrotate|look|lpc|lpr|lprint|lprintd|lprintq|lprm|ls|lsof|lynx|make|man|mc|mdadm|mkconfig|mkdir|mke2fs|mkfifo|mkfs|mkisofs|mknod|mkswap|mmv|more|most|mount|mtools|mtr|mutt|mv|nano|nc|netstat|nice|nl|node|nohup|notify-send|npm|nslookup|op|open|parted|passwd|paste|pathchk|ping|pkill|pnpm|podman|podman-compose|popd|pr|printcap|printenv|ps|pushd|pv|quota|quotacheck|quotactl|ram|rar|rcp|reboot|remsync|rename|renice|rev|rm|rmdir|rpm|rsync|scp|screen|sdiff|sed|sendmail|seq|service|sftp|sh|shellcheck|shuf|shutdown|sleep|slocate|sort|split|ssh|stat|strace|su|sudo|sum|suspend|swapon|sync|sysctl|tac|tail|tar|tee|time|timeout|top|touch|tr|traceroute|tsort|tty|umount|uname|unexpand|uniq|units|unrar|unshar|unzip|update-grub|uptime|useradd|userdel|usermod|users|uudecode|uuencode|v|vcpkg|vdir|vi|vim|virsh|vmstat|wait|watch|wc|wget|whereis|which|who|whoami|write|xargs|xdg-open|yarn|yes|zenity|zip|zsh|zypper)(?=$|[)\s;|&])/,lookbehind:true},keyword:{pattern:/(^|[\s;|&]|[<>]\()(?:case|do|done|elif|else|esac|fi|for|function|if|in|select|then|until|while)(?=$|[)\s;|&])/,lookbehind:true},builtin:{pattern:/(^|[\s;|&]|[<>]\()(?:\.|:|alias|bind|break|builtin|caller|cd|command|continue|declare|echo|enable|eval|exec|exit|export|getopts|hash|help|let|local|logout|mapfile|printf|pwd|read|readarray|readonly|return|set|shift|shopt|source|test|times|trap|type|typeset|ulimit|umask|unalias|unset)(?=$|[)\s;|&])/,lookbehind:true,alias:"class-name"},boolean:{pattern:/(^|[\s;|&]|[<>]\()(?:false|true)(?=$|[)\s;|&])/,lookbehind:true},"file-descriptor":{pattern:/\B&\d\b/,alias:"important"},operator:{pattern:/\d?<>|>\||\+=|=[=~]?|!=?|<<[<-]?|[&\d]?>>|\d[<>]&?|[<>][&=]?|&[>&]?|\|[&|]?/,inside:{"file-descriptor":{pattern:/^\d/,alias:"important"}}},punctuation:/\$?\(\(?|\)\)?|\.\.|[{}[\];\\]/,number:{pattern:/(^|\s)(?:[1-9]\d*|0)(?:[.,]\d+)?\b/,lookbehind:true}},i.inside=r.languages.bash;for(var e=["comment","function-name","for-or-select","assign-left","parameter","string","environment","function","keyword","builtin","boolean","file-descriptor","operator","punctuation","number"],a=o.variable[1].inside,h=0;h<e.length;h++)a[e[h]]=r.languages.bash[e[h]];r.languages.sh=r.languages.bash,r.languages.shell=r.languages.bash;})(Prism);(function(r){r.languages.typescript=r.languages.extend("javascript",{"class-name":{pattern:/(\b(?:class|extends|implements|instanceof|interface|new|type)\s+)(?!keyof\b)(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*(?:\s*<(?:[^<>]|<(?:[^<>]|<[^<>]*>)*>)*>)?/,lookbehind:true,greedy:true,inside:null},builtin:/\b(?:Array|Function|Promise|any|boolean|console|never|number|string|symbol|unknown)\b/}),r.languages.typescript.keyword.push(/\b(?:abstract|declare|is|keyof|readonly|require)\b/,/\b(?:asserts|infer|interface|module|namespace|type)\b(?=\s*(?:[{_$a-zA-Z\xA0-\uFFFF]|$))/,/\btype\b(?=\s*(?:[\{*]|$))/),delete r.languages.typescript.parameter,delete r.languages.typescript["literal-property"];var f=r.languages.extend("typescript",{});delete f["class-name"],r.languages.typescript["class-name"].inside=f,r.languages.insertBefore("typescript","function",{decorator:{pattern:/@[$\w\xA0-\uFFFF]+/,inside:{at:{pattern:/^@/,alias:"operator"},function:/^[\s\S]+/}},"generic-function":{pattern:/#?(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*\s*<(?:[^<>]|<(?:[^<>]|<[^<>]*>)*>)*>(?=\s*\()/,greedy:true,inside:{function:/^#?(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*/,generic:{pattern:/<[\s\S]+/,alias:"class-name",inside:f}}}}),r.languages.ts=r.languages.typescript;})(Prism);var Be=vb(je());var Ve=(r,f)=>f.title,Xe=(r,f)=>f.file;function We(r,f){r&1&&TT(0," Loading... ");}function Ze(r,f){r&1&&TT(0," Table of Content ");}function Ke(r,f){r&1&&(Pi(0,"button",12),TT(1,"Error loading menu"),ul());}function Je(r,f){r&1&&(Pi(0,"button",12),TT(1,"No help entries"),ul());}function Qe(r,f){if(r&1){let i=Fw();Pi(0,"button",15),Qh("click",function(){let e=ud(i).$implicit,a=qw(5);return dd(a.selectFile(e.file))}),TT(1),ul();}if(r&2){let i=f.$implicit,o=qw(5);Bh("disabled",o.selectedFile()===i.file),EE(),gl(" ",i.title," ");}}function et(r,f){if(r&1&&(Pi(0,"button",14),TT(1),ul(),xw(2,Qe,2,2,"button",13,Xe)),r&2){let i=qw().$implicit;EE(),gg(i.title),EE(),Aw(i.items);}}function tt(r,f){if(r&1){let i=Fw();Pi(0,"button",15),Qh("click",function(){ud(i);let e=qw().$implicit,a=qw(3);return dd(a.selectFile(e.file))}),TT(1),ul();}if(r&2){let i=qw().$implicit,o=qw(3);Bh("disabled",o.selectedFile()===i.file),EE(),gl(" ",i.title," ");}}function nt(r,f){if(r&1&&_w(0,et,4,1)(1,tt,2,2,"button",13),r&2){let i=f.$implicit,o=qw(3);Mw(o.isGroup(i)?0:1);}}function it(r,f){if(r&1&&xw(0,nt,2,1,null,null,Ve),r&2){let i=qw(2);Aw(i.helpMenuItems());}}function rt(r,f){if(r&1){let i=Fw();Pi(0,"button",15),Qh("click",function(){let e=ud(i).$implicit,a=qw(5);return dd(a.selectFile(e.file))}),TT(1),ul();}if(r&2){let i=f.$implicit,o=qw(5);Bh("disabled",o.selectedFile()===i.file),EE(),gl(" ",i.title," ");}}function at(r,f){if(r&1&&(Pi(0,"button",16),TT(1),ul(),Pi(2,"mat-menu",17,1),xw(4,rt,2,2,"button",13,Xe),ul()),r&2){let i=Jw(3),o=qw().$implicit;Bh("matMenuTriggerFor",i),EE(),gg(o.title),EE(),Bh("overlapTrigger",false),EE(2),Aw(o.items);}}function ot(r,f){if(r&1){let i=Fw();Pi(0,"button",15),Qh("click",function(){ud(i);let e=qw().$implicit,a=qw(3);return dd(a.selectFile(e.file))}),TT(1),ul();}if(r&2){let i=qw().$implicit,o=qw(3);Bh("disabled",o.selectedFile()===i.file),EE(),gl(" ",i.title," ");}}function st(r,f){if(r&1&&_w(0,at,6,3)(1,ot,2,2,"button",13),r&2){let i=f.$implicit,o=qw(3);Mw(o.isGroup(i)?0:1);}}function lt(r,f){if(r&1&&xw(0,st,2,1,null,null,Ve),r&2){let i=qw(2);Aw(i.helpMenuItems());}}function ut(r,f){if(r&1&&_w(0,Ke,2,0,"button",12)(1,Je,2,0,"button",12)(2,it,2,0)(3,lt,2,0),r&2){let i=qw();Mw(i.hasError()?0:!i.isLoading()&&i.helpFiles().length===0?1:i.isMobileMenuMode()?2:3);}}function ct(r,f){r&1&&(Pi(0,"div",11),TT(1,"Unable to load help content."),ul());}function dt(r,f){r&1&&(Pi(0,"div",11),TT(1,"Loading help..."),ul());}function pt(r,f){if(r&1&&(Pi(0,"div",11),$h(1,"markdown",18),ul()),r&2){let i=qw();EE(),Bh("src",`assets/help-docs/${i.selectedFile()}`);}}window.ClipboardJS=Be.default;var $t=(()=>{class r{pageTitle="Help";_router=w(G);_route=w(V);_destroyRef=w(xe);_isMobileMenuMode=vt(this.detectMobileMenuMode());_selectedPageFromRoute=Wp(this._route.paramMap.pipe(ke(i=>i.get("page"))),{initialValue:null});constructor(){let i=this.getMobileMenuMediaQuery();if(i===null)return;this._isMobileMenuMode.set(i.matches);let o=e=>{this._isMobileMenuMode.set(e.matches);};i.addEventListener("change",o),this._destroyRef.onDestroy(()=>{i.removeEventListener("change",o);});}_helpMenuRes=Xl(()=>"assets/help-docs/menu.json");helpMenuItems=Dt(()=>this._helpMenuRes.hasValue()?this.normalizeMenu(this._helpMenuRes.value()??[]):[]);helpFiles=Dt(()=>{let i=this.helpMenuItems();return i.length===0?[]:i.flatMap(o=>this.isGroup(o)?o.items:[o])});selectedFile=vt("");_syncEffect=Fa(()=>{let i=this.helpFiles(),o=this._selectedPageFromRoute();if(i.length===0)return;let e=this.resolveSelectedFile(o,i);this.selectedFile()!==e&&this.selectedFile.set(e);});hasError=Dt(()=>this._helpMenuRes.error()!=null);isLoading=Dt(()=>this._helpMenuRes.isLoading());isMobileMenuMode=Dt(()=>this._isMobileMenuMode());isGroup(i){return "items"in i}selectFile(i){this.selectedFile.set(i),this._router.navigate(["/help",this.toPageSegment(i)]);}backPage(){this._router.navigate(["/settings"]);}closePage(){this._router.navigate(["/dashboard"]);}resolveSelectedFile(i,o){if(i){let e=i.endsWith(".md")?i:`${i}.md`,a=o.find(h=>h.file===e);if(a)return a.file}return o[0].file}toPageSegment(i){return i.endsWith(".md")?i.slice(0,-3):i}normalizeMenu(i){let o=[];return i.forEach(e=>{let a=(e.title??"").trim();if(Array.isArray(e.items)){let h=e.items.filter(this.isValidLeaf).filter(S=>S.file.endsWith(".md")).map(S=>({title:S.title.trim(),file:S.file.trim()}));if(!a||h.length===0)return;o.push({title:a,items:h});return}this.isValidLeaf(e)&&e.file.endsWith(".md")&&o.push({title:e.title.trim(),file:e.file.trim()});}),o}isValidLeaf(i){return typeof i.title=="string"&&i.title.trim().length>0&&typeof i.file=="string"&&i.file.trim().length>0}detectMobileMenuMode(){return this.getMobileMenuMediaQuery()?.matches??false}getMobileMenuMediaQuery(){return typeof window>"u"||typeof window.matchMedia!="function"?null:window.matchMedia("(max-width: 900px), (hover: none) and (pointer: coarse)")}static \u0275fac=function(o){return new(o||r)};static \u0275cmp=JD({type:r,selectors:[["app-help"]],decls:22,vars:9,consts:[["helpMenu","matMenu"],["childMenu","matMenu"],[1,"fullpage-header"],[1,"page-icon"],["svgIcon","help-center","aria-hidden","false"],[1,"page-title"],["mat-flat-button","",3,"matMenuTriggerFor","disabled"],[1,"help-menu-panel"],["matMenuContent",""],[1,"dialog-close-icon"],["mat-icon-button","",3,"click"],[1,"markdown-content"],["mat-menu-item","","disabled",""],["mat-menu-item","",3,"disabled"],["mat-menu-item","","disabled","",1,"help-menu-group-title"],["mat-menu-item","",3,"click","disabled"],["mat-menu-item","",3,"matMenuTriggerFor"],[1,"help-menu-panel",3,"overlapTrigger"],["clipboard","",3,"src"]],template:function(o,e){if(o&1&&(Pi(0,"div",2)(1,"div",3),$h(2,"mat-icon",4),Pi(3,"h6",5),TT(4),ul()(),Pi(5,"button",6),_w(6,We,1,0)(7,Ze,1,0),ul(),Pi(8,"mat-menu",7,0),xh(10,ut,4,1,"ng-template",8),ul(),Pi(11,"div",9)(12,"button",10),Qh("click",function(){return e.backPage()}),Pi(13,"mat-icon"),TT(14,"arrow_back_ios"),ul()(),Pi(15,"button",10),Qh("click",function(){return e.closePage()}),Pi(16,"mat-icon"),TT(17,"close"),ul()()()(),$h(18,"mat-divider"),_w(19,ct,2,0,"div",11)(20,dt,2,0,"div",11)(21,pt,2,1,"div",11)),o&2){let a=Jw(9);EE(2),ig("width",24,"px")("height",24,"px"),EE(2),gg(e.pageTitle),EE(),Bh("matMenuTriggerFor",a)("disabled",e.isLoading()||e.hasError()||e.helpFiles().length===0),EE(),Mw(e.isLoading()?6:7),EE(13),Mw(e.hasError()?19:e.isLoading()&&e.helpFiles().length===0?20:e.selectedFile()?21:-1);}},dependencies:[Un,Op,xp,eu,Ht,R,ee,Nt,Lt,f,u,yt,wt],styles:[".fullpage-header[_ngcontent-%COMP%]{display:flex;justify-content:space-between;align-items:center}.page-icon[_ngcontent-%COMP%]{display:flex;flex-direction:row;flex-wrap:nowrap;justify-content:flex-start;align-items:center;margin-left:15px}.page-title[_ngcontent-%COMP%]{margin-block-start:0px;margin-block-end:0px;padding:18px 0 13px 5px;color:var(--mat-dialog-subhead-color, var(--mat-sys-on-surface, rgba(0, 0, 0, .87)));font-family:var(--mat-dialog-subhead-font, var(--mat-sys-headline-small-font, inherit));line-height:var(--mat-dialog-subhead-line-height, var(--mat-sys-headline-small-line-height, 1.5rem));font-size:var(--mat-dialog-subhead-size, var(--mat-sys-headline-small-size, 1rem));font-weight:var(--mat-dialog-subhead-weight, var(--mat-sys-headline-small-weight, 400));letter-spacing:var(--mat-dialog-subhead-tracking, var(--mat-sys-headline-small-tracking, .03125em))}.mat-mdc-dialog-content[_ngcontent-%COMP%]{max-height:max-content}.dialog-close-icon[_ngcontent-%COMP%]{display:flex;flex-direction:row;flex-wrap:nowrap;gap:5px;padding-right:15px}.help-menu-group-title[_ngcontent-%COMP%]{font-weight:600;opacity:.9} .mat-mdc-menu-panel.help-menu-panel{border:1px solid var(--mat-sys-outline);background:var(--mat-sys-surface-container-high)} .markdown-content{display:block;height:calc(100% - 75px);width:100%;overflow-x:scroll;padding:25px;font-size:1.1rem;line-height:1.7;background:var(--mat-sys-surface-container, #fff);color:var(--mat-sys-on-surface, #222);border-radius:12px;box-shadow:0 2px 8px #00000012;max-width:900px;margin:0 auto} .markdown-content h1, .markdown-content h2, .markdown-content h3, .markdown-content h4{color:var(--mat-sys-primary, #1976d2);margin-top:1.5em;margin-bottom:.5em;font-weight:600} .markdown-content pre{padding:1em;overflow-x:auto} .markdown-content table{border:1px solid var(--mat-sys-on-background);border-collapse:collapse;width:100%;margin:1em 0} .markdown-content table td{border:1px solid var(--mat-sys-on-background);padding:8px;text-align:left} .markdown-content th{color:var(--mat-sys-primary, #1976d2);font-weight:600;padding:.5em 1em;border:2px solid var(--mat-sys-primary, #1976d2);text-align:left} .markdown-content table tr:nth-child(2n){background-color:var(--mat-sys-surface-container-high)} .markdown-content a{color:var(--mat-sys-primary, #1976d2);text-decoration:underline} .markdown-content a:hover{text-decoration:none;color:var(--mat-sys-secondary, #005fa3)} .markdown-content ul, .markdown-content ol{margin-left:2em;margin-bottom:1em} .markdown-content blockquote{border-left:4px solid var(--mat-sys-tertiary);background:var(--mat-sys-on-tertiary-fixed-variant);padding:.5em 1em;color:var(--mat-sys-on-surface-variant, #555);margin:1em 0}"]})}return r})();export{$t as AppHelpComponent};
@@ -1 +1 @@
1
- import {d1 as Hj,w,du as p,dv as rt,D as Dt,$ as $j,ao as ue,F as Fa,dn as ge,J as JD,ci as dl,T as TT,cj as fl,d as ig,e as EE,b_ as Gh,f as eg,K as Kw}from'./main-YKDNK5VZ.js';var T=["hWrapper"];function P(i){return {Red:i.ColorDef.RED,Green:i.ColorDef.GREEN,Blue:i.ColorDef.BLUE,Orange:i.ColorDef.ORANGE,Yellow:i.ColorDef.YELLOW,Cyan:i.ColorDef.CYAN,Magenta:i.ColorDef.MAGENTA,White:i.ColorDef.WHITE,Gray:i.ColorDef.GRAY,Black:i.ColorDef.BLACK,Raith:i.ColorDef.RAITH,"Green LCD":i.ColorDef.GREEN_LCD,"JUG Green":i.ColorDef.JUG_GREEN}}function A(i){return {blackMetal:i.FrameDesign.BLACK_METAL,metal:i.FrameDesign.METAL,shinyMetal:i.FrameDesign.SHINY_METAL,brass:i.FrameDesign.BRASS,steel:i.FrameDesign.STEEL,chrome:i.FrameDesign.CHROME,gold:i.FrameDesign.GOLD,anthracite:i.FrameDesign.ANTHRACITE,tiltedGray:i.FrameDesign.TILTED_GRAY,tiltedBlack:i.FrameDesign.TILTED_BLACK,glossyMetal:i.FrameDesign.GLOSSY_METAL}}var I=(()=>{class i{id=Hj.required();type=Hj.required();theme=Hj.required();runtime=w(p);streams=w(rt);normalizedConfig=Dt(()=>this.runtime.options()??i.DEFAULT_CONFIG);horizonPaths=Dt(()=>this.normalizedConfig().paths??{});static DEFAULT_CONFIG={supportAutomaticHistoricalSeries:true,displayName:"Horizon",filterSelfPaths:true,paths:{gaugePitchPath:{description:"Attitude Pitch Data",path:"self.navigation.attitude.pitch",source:"default",pathType:"number",pathRequired:false,isPathConfigurable:true,showPathSkUnitsFilter:false,pathSkUnitsFilter:"rad",convertUnitTo:"deg",sampleTime:1e3},gaugeRollPath:{description:"Attitude Roll Data",path:"self.navigation.attitude.roll",source:"default",pathType:"number",pathRequired:false,isPathConfigurable:true,showPathSkUnitsFilter:false,pathSkUnitsFilter:"rad",convertUnitTo:"deg",sampleTime:1e3}},gauge:{type:"horizon",noFrameVisible:false,faceColor:"anthracite",invertPitch:false,invertRoll:false},enableTimeout:false,dataTimeout:5};wrapperRef=$j("hWrapper");resizeObserver=null;currentSize=0;structuralKey="";pendingSize=null;sizeCommitTimer=null;SIZE_STABLE_MS=180;ngZone=w(ue);gaugeOptions={};frameVisibleView=Dt(()=>!(this.runtime.options()?.gauge?.noFrameVisible??false));gauge=null;latestPitch=0;latestRoll=0;constructor(){Fa(()=>{let t=this.normalizedConfig();this.horizonPaths().gaugePitchPath?.path&&ge(()=>this.streams.observe("gaugePitchPath",n=>{let a=n?.data?.value??0;if(this.latestPitch=a,this.gauge){let r=t.gauge?.invertPitch?-a:a;try{this.gauge.setPitchAnimated(r);}catch(s){}}}));}),Fa(()=>{let t=this.normalizedConfig();this.horizonPaths().gaugeRollPath?.path&&ge(()=>this.streams.observe("gaugeRollPath",n=>{let a=n?.data?.value??0;if(this.latestRoll=a,this.gauge){let r=t.gauge?.invertRoll?-a:a;try{this.gauge.setRollAnimated(r);}catch(s){}}}));}),Fa(()=>{let t=this.runtime.options();if(!t)return;let e=`${t.gauge?.noFrameVisible??false}|${t.gauge?.faceColor??"anthracite"}`;if(e===this.structuralKey){this.applyInversions(t);return}this.structuralKey=e,this.currentSize>=50&&(this.buildOptions(t,this.currentSize),this.rebuildGauge());});}ngAfterViewInit(){let t=this.wrapperRef()?.nativeElement;if(!t)return;let e=()=>{if(this.pendingSize==null||this.pendingSize===this.currentSize||this.pendingSize<50)return;let r=this.pendingSize,s=this.runtime.options();if(!s)return;this.currentSize=r;let o=document.getElementById(this.id()+"-canvas");o&&((o.width!==r||o.height!==r)&&(o.width=r,o.height=r),o.style.width=r+"px",o.style.height=r+"px"),this.buildOptions(s,r),this.rebuildGauge(),this.pendingSize=null;},n=()=>{this.sizeCommitTimer&&clearTimeout(this.sizeCommitTimer),this.sizeCommitTimer=window.setTimeout(()=>{e(),this.sizeCommitTimer=null;},this.SIZE_STABLE_MS);},a=()=>{let r=t.getBoundingClientRect(),s=Math.round(Math.min(r.width,r.height)),o=this.pendingSize??this.currentSize;if(!s||s<50||o&&Math.abs(o-s)<4)return;if(this.currentSize===0&&this.pendingSize===null){this.pendingSize=s,e();return}this.pendingSize=s;let u=document.getElementById(this.id()+"-canvas");u&&(u.style.width=s+"px",u.style.height=s+"px"),n();};this.ngZone.runOutsideAngular(()=>{this.resizeObserver=new ResizeObserver(()=>a()),this.resizeObserver.observe(t),a();});}buildOptions(t,e){if(typeof steelseries>"u")return;let n=A(steelseries),a=P(steelseries),r=t.gauge?.faceColor??"anthracite";this.gaugeOptions={pointerColor:a.Red,frameVisible:!(t.gauge?.noFrameVisible??false),frameDesign:n[r],foregroundVisible:false,size:e};}rebuildGauge(){let t=this.id()+"-canvas";if(this.gauge)try{this.gauge=null;}catch(n){}let e=document.getElementById(t);if(e){this.currentSize&&(e.width!==this.currentSize||e.height!==this.currentSize)&&(e.width=this.currentSize,e.height=this.currentSize);let n=e.getContext("2d");n&&n.clearRect(0,0,e.width,e.height);}try{this.gauge=new steelseries.Horizon(t,this.gaugeOptions);let n=this.runtime.options();n&&this.gauge&&this.applyInversions(n);}catch(n){}}applyInversions(t){if(this.gauge){try{this.gauge.setPitchAnimated(t.gauge?.invertPitch?-this.latestPitch:this.latestPitch);}catch(e){}try{this.gauge.setRollAnimated(t.gauge?.invertRoll?-this.latestRoll:this.latestRoll);}catch(e){}}}ngOnDestroy(){if(this.resizeObserver){try{this.resizeObserver.disconnect();}catch(e){}this.resizeObserver=null;}this.sizeCommitTimer&&(clearTimeout(this.sizeCommitTimer),this.sizeCommitTimer=null);let t=document.getElementById(this.id()+"-canvas");if(t)try{let e=t.getContext("2d");e&&e.clearRect(0,0,t.width,t.height),t.width=0,t.height=0;}catch(e){}this.gauge=null;}static \u0275fac=function(e){return new(e||i)};static \u0275cmp=JD({type:i,selectors:[["widget-horizon"]],viewQuery:function(e,n){e&1&&eg(n.wrapperRef,T,5),e&2&&Kw();},inputs:{id:[1,"id"],type:[1,"type"],theme:[1,"theme"]},decls:4,vars:3,consts:[["hWrapper",""],[1,"canvas-wrap"],[2,"z-index","inherit",3,"id"]],template:function(e,n){e&1&&(dl(0,"div",1,0)(2,"canvas",2),TT(3," Browser does not support canvas element. "),fl()()),e&2&&(ig("padding",n.frameVisibleView()?"10px":"0px"),EE(2),Gh("id",n.id()+"-canvas"));},styles:["[_nghost-%COMP%]{display:block;width:100%;height:100%}.canvas-wrap[_ngcontent-%COMP%]{position:relative;display:flex;align-items:center;justify-content:center;width:100%;height:100%;padding:0}.canvas-wrap[_ngcontent-%COMP%] > canvas[_ngcontent-%COMP%]{display:block;position:static;transform:none}"]})}return i})();export{I as WidgetHorizonComponent};
1
+ import {d1 as Hj,w,du as p,dv as rt,D as Dt,$ as $j,ao as ue,F as Fa,dn as ge,J as JD,ci as dl,T as TT,cj as fl,d as ig,e as EE,b_ as Gh,f as eg,K as Kw}from'./main-IINF7HD6.js';var T=["hWrapper"];function P(i){return {Red:i.ColorDef.RED,Green:i.ColorDef.GREEN,Blue:i.ColorDef.BLUE,Orange:i.ColorDef.ORANGE,Yellow:i.ColorDef.YELLOW,Cyan:i.ColorDef.CYAN,Magenta:i.ColorDef.MAGENTA,White:i.ColorDef.WHITE,Gray:i.ColorDef.GRAY,Black:i.ColorDef.BLACK,Raith:i.ColorDef.RAITH,"Green LCD":i.ColorDef.GREEN_LCD,"JUG Green":i.ColorDef.JUG_GREEN}}function A(i){return {blackMetal:i.FrameDesign.BLACK_METAL,metal:i.FrameDesign.METAL,shinyMetal:i.FrameDesign.SHINY_METAL,brass:i.FrameDesign.BRASS,steel:i.FrameDesign.STEEL,chrome:i.FrameDesign.CHROME,gold:i.FrameDesign.GOLD,anthracite:i.FrameDesign.ANTHRACITE,tiltedGray:i.FrameDesign.TILTED_GRAY,tiltedBlack:i.FrameDesign.TILTED_BLACK,glossyMetal:i.FrameDesign.GLOSSY_METAL}}var I=(()=>{class i{id=Hj.required();type=Hj.required();theme=Hj.required();runtime=w(p);streams=w(rt);normalizedConfig=Dt(()=>this.runtime.options()??i.DEFAULT_CONFIG);horizonPaths=Dt(()=>this.normalizedConfig().paths??{});static DEFAULT_CONFIG={supportAutomaticHistoricalSeries:true,displayName:"Horizon",filterSelfPaths:true,paths:{gaugePitchPath:{description:"Attitude Pitch Data",path:"self.navigation.attitude.pitch",source:"default",pathType:"number",pathRequired:false,isPathConfigurable:true,showPathSkUnitsFilter:false,pathSkUnitsFilter:"rad",convertUnitTo:"deg",sampleTime:1e3},gaugeRollPath:{description:"Attitude Roll Data",path:"self.navigation.attitude.roll",source:"default",pathType:"number",pathRequired:false,isPathConfigurable:true,showPathSkUnitsFilter:false,pathSkUnitsFilter:"rad",convertUnitTo:"deg",sampleTime:1e3}},gauge:{type:"horizon",noFrameVisible:false,faceColor:"anthracite",invertPitch:false,invertRoll:false},enableTimeout:false,dataTimeout:5};wrapperRef=$j("hWrapper");resizeObserver=null;currentSize=0;structuralKey="";pendingSize=null;sizeCommitTimer=null;SIZE_STABLE_MS=180;ngZone=w(ue);gaugeOptions={};frameVisibleView=Dt(()=>!(this.runtime.options()?.gauge?.noFrameVisible??false));gauge=null;latestPitch=0;latestRoll=0;constructor(){Fa(()=>{let t=this.normalizedConfig();this.horizonPaths().gaugePitchPath?.path&&ge(()=>this.streams.observe("gaugePitchPath",n=>{let a=n?.data?.value??0;if(this.latestPitch=a,this.gauge){let r=t.gauge?.invertPitch?-a:a;try{this.gauge.setPitchAnimated(r);}catch(s){}}}));}),Fa(()=>{let t=this.normalizedConfig();this.horizonPaths().gaugeRollPath?.path&&ge(()=>this.streams.observe("gaugeRollPath",n=>{let a=n?.data?.value??0;if(this.latestRoll=a,this.gauge){let r=t.gauge?.invertRoll?-a:a;try{this.gauge.setRollAnimated(r);}catch(s){}}}));}),Fa(()=>{let t=this.runtime.options();if(!t)return;let e=`${t.gauge?.noFrameVisible??false}|${t.gauge?.faceColor??"anthracite"}`;if(e===this.structuralKey){this.applyInversions(t);return}this.structuralKey=e,this.currentSize>=50&&(this.buildOptions(t,this.currentSize),this.rebuildGauge());});}ngAfterViewInit(){let t=this.wrapperRef()?.nativeElement;if(!t)return;let e=()=>{if(this.pendingSize==null||this.pendingSize===this.currentSize||this.pendingSize<50)return;let r=this.pendingSize,s=this.runtime.options();if(!s)return;this.currentSize=r;let o=document.getElementById(this.id()+"-canvas");o&&((o.width!==r||o.height!==r)&&(o.width=r,o.height=r),o.style.width=r+"px",o.style.height=r+"px"),this.buildOptions(s,r),this.rebuildGauge(),this.pendingSize=null;},n=()=>{this.sizeCommitTimer&&clearTimeout(this.sizeCommitTimer),this.sizeCommitTimer=window.setTimeout(()=>{e(),this.sizeCommitTimer=null;},this.SIZE_STABLE_MS);},a=()=>{let r=t.getBoundingClientRect(),s=Math.round(Math.min(r.width,r.height)),o=this.pendingSize??this.currentSize;if(!s||s<50||o&&Math.abs(o-s)<4)return;if(this.currentSize===0&&this.pendingSize===null){this.pendingSize=s,e();return}this.pendingSize=s;let u=document.getElementById(this.id()+"-canvas");u&&(u.style.width=s+"px",u.style.height=s+"px"),n();};this.ngZone.runOutsideAngular(()=>{this.resizeObserver=new ResizeObserver(()=>a()),this.resizeObserver.observe(t),a();});}buildOptions(t,e){if(typeof steelseries>"u")return;let n=A(steelseries),a=P(steelseries),r=t.gauge?.faceColor??"anthracite";this.gaugeOptions={pointerColor:a.Red,frameVisible:!(t.gauge?.noFrameVisible??false),frameDesign:n[r],foregroundVisible:false,size:e};}rebuildGauge(){let t=this.id()+"-canvas";if(this.gauge)try{this.gauge=null;}catch(n){}let e=document.getElementById(t);if(e){this.currentSize&&(e.width!==this.currentSize||e.height!==this.currentSize)&&(e.width=this.currentSize,e.height=this.currentSize);let n=e.getContext("2d");n&&n.clearRect(0,0,e.width,e.height);}try{this.gauge=new steelseries.Horizon(t,this.gaugeOptions);let n=this.runtime.options();n&&this.gauge&&this.applyInversions(n);}catch(n){}}applyInversions(t){if(this.gauge){try{this.gauge.setPitchAnimated(t.gauge?.invertPitch?-this.latestPitch:this.latestPitch);}catch(e){}try{this.gauge.setRollAnimated(t.gauge?.invertRoll?-this.latestRoll:this.latestRoll);}catch(e){}}}ngOnDestroy(){if(this.resizeObserver){try{this.resizeObserver.disconnect();}catch(e){}this.resizeObserver=null;}this.sizeCommitTimer&&(clearTimeout(this.sizeCommitTimer),this.sizeCommitTimer=null);let t=document.getElementById(this.id()+"-canvas");if(t)try{let e=t.getContext("2d");e&&e.clearRect(0,0,t.width,t.height),t.width=0,t.height=0;}catch(e){}this.gauge=null;}static \u0275fac=function(e){return new(e||i)};static \u0275cmp=JD({type:i,selectors:[["widget-horizon"]],viewQuery:function(e,n){e&1&&eg(n.wrapperRef,T,5),e&2&&Kw();},inputs:{id:[1,"id"],type:[1,"type"],theme:[1,"theme"]},decls:4,vars:3,consts:[["hWrapper",""],[1,"canvas-wrap"],[2,"z-index","inherit",3,"id"]],template:function(e,n){e&1&&(dl(0,"div",1,0)(2,"canvas",2),TT(3," Browser does not support canvas element. "),fl()()),e&2&&(ig("padding",n.frameVisibleView()?"10px":"0px"),EE(2),Gh("id",n.id()+"-canvas"));},styles:["[_nghost-%COMP%]{display:block;width:100%;height:100%}.canvas-wrap[_ngcontent-%COMP%]{position:relative;display:flex;align-items:center;justify-content:center;width:100%;height:100%;padding:0}.canvas-wrap[_ngcontent-%COMP%] > canvas[_ngcontent-%COMP%]{display:block;position:static;transform:none}"]})}return i})();export{I as WidgetHorizonComponent};
@@ -1 +1 @@
1
- import {ad as Qe,w,a6 as Lr,ak as nw}from'./main-YKDNK5VZ.js';var u=(()=>{class t{resizeChange=new Qe;kipResize=new Qe;el=w(Lr);ro=null;constructor(){this.ro=new ResizeObserver(i=>{let e=i[i.length-1],{width:c,height:h}=e.contentRect;this.resizeChange.emit(e),this.kipResize.emit({width:c,height:h,entry:e});}),this.ro.observe(this.el.nativeElement);}ngOnDestroy(){this.ro?.disconnect(),this.ro=null;}static \u0275fac=function(e){return new(e||t)};static \u0275dir=nw({type:t,selectors:[["","kipResizeObserver",""]],outputs:{resizeChange:"resizeChange",kipResize:"kipResize"}})}return t})();export{u};
1
+ import {ad as Qe,w,a6 as Lr,ak as nw}from'./main-IINF7HD6.js';var u=(()=>{class t{resizeChange=new Qe;kipResize=new Qe;el=w(Lr);ro=null;constructor(){this.ro=new ResizeObserver(i=>{let e=i[i.length-1],{width:c,height:h}=e.contentRect;this.resizeChange.emit(e),this.kipResize.emit({width:c,height:h,entry:e});}),this.ro.observe(this.el.nativeElement);}ngOnDestroy(){this.ro?.disconnect(),this.ro=null;}static \u0275fac=function(e){return new(e||t)};static \u0275dir=nw({type:t,selectors:[["","kipResizeObserver",""]],outputs:{resizeChange:"resizeChange",kipResize:"kipResize"}})}return t})();export{u};