openc3-cosmos-tool-limitsmonitor 7.2.0 → 7.2.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.
- checksums.yaml +4 -4
- data/tools/limitsmonitor/{ArrayWidget-D1PArcGr-400791027cc4d28d3632.js → ArrayWidget-DMSm_P6c-758cfd44feebfe30b1e9.js} +2 -2
- data/tools/limitsmonitor/{ArrayplotWidget-DPUPy0qM-4986a1ea1ef56e8686fe.js → ArrayplotWidget-fdXLhGAl-e3e7143acc3764969eb8.js} +1 -1
- data/tools/limitsmonitor/{BarColumn-BpdscDQf-35b4ae46ea40ba6eac87.js → BarColumn-Bb305iCi-79a8ef39781f64eed269.js} +1 -1
- data/tools/limitsmonitor/{BlockWidget-_VUsK5T9-39f6af1b633dd73b7a8e.js → BlockWidget-Do3W6tZh-55e450760dca098564c5.js} +2 -2
- data/tools/limitsmonitor/{ButtonWidget-DE41o-cg-ab9c3ebc63e47ccacd95.js → ButtonWidget-DukCQt0F-2aab525a982d9af18352.js} +2 -2
- data/tools/limitsmonitor/CanvasWidget-BRdVWln5-9f7157d343603431edf8.js +1 -0
- data/tools/limitsmonitor/CanvasdotWidget-DV8PeDWz-9d294e7129956654497b.js +1 -0
- data/tools/limitsmonitor/{CanvasimageWidget-COv_Qnc8-cf7f9d214091eee59084.js → CanvasimageWidget-Czbq1GuF-f539316f0133f2bef6b5.js} +1 -1
- data/tools/limitsmonitor/{CanvasimagevalueWidget-BhuUqLOo-57f4e73a1af5378d3ab9.js → CanvasimagevalueWidget-DKt5JgEt-c5196e1871b66cf9d57c.js} +1 -1
- data/tools/limitsmonitor/CanvaslabelWidget-DW2I1ra1-c9c79d00047fa43f8198.js +1 -0
- data/tools/limitsmonitor/CanvaslabelvalueWidget-BhzvZVfD-aa0d4185d816f4865b21.js +1 -0
- data/tools/limitsmonitor/{CanvaslineWidget-D1K_6mAY-5eef588235d49c1c42bf.js → CanvaslineWidget-DsjY37tp-73c02d7eb6842bf59ee4.js} +1 -1
- data/tools/limitsmonitor/{CanvaslinevalueWidget-D4eaxWhR-ba03fa3c5c05e50d816e.js → CanvaslinevalueWidget-ihI97G8T-6f45568d902f0134ec2d.js} +1 -1
- data/tools/limitsmonitor/CheckbuttonWidget-B778Z-Zo-b3ae95bf21ca511e76d5.js +1 -0
- data/tools/limitsmonitor/ComboboxWidget-CuuvOL9K-862f7959f350ba49cdb0.js +1 -0
- data/tools/limitsmonitor/{DateWidget-DkNWx28s-c034abac0550f0ae841e.js → DateWidget-COvQTAeo-2a1d9352dc1f6b2b9134.js} +1 -1
- data/tools/limitsmonitor/{DetailsDialog-F4KgYM6m-99f16b4c0cd103cebe4d.js → DetailsDialog-DE7lK17G-9523ea864df66f3e37b8.js} +1 -1
- data/tools/limitsmonitor/{DynamicWidget-BuSbQVhf-c2433469a74318fe30f3.js → DynamicWidget-BuSbQVhf-0753353d5a9b32ed5e24.js} +1 -1
- data/tools/limitsmonitor/{FilechecksumWidget-DSfNEnDJ-7c61e5ae8d517c5788c9.js → FilechecksumWidget-DRnOt_UE-3e9b2eceec5b977e23ef.js} +1 -1
- data/tools/limitsmonitor/{FiledisplayWidget-D2cxMmrP-beb14f2cd124fc859fc3.js → FiledisplayWidget-26R46EjS-35b87dcf07a7d95cd83e.js} +1 -1
- data/tools/limitsmonitor/{FormatvalueWidget-6-bj_PJO-eaaa207a7419d38e5500.js → FormatvalueWidget-BxyscMJc-8302b4d5003f49a8185b.js} +1 -1
- data/tools/limitsmonitor/Graph-BKw7xw1a-820676b2302713d6d67b.js +1 -0
- data/tools/limitsmonitor/{GraphWidget-COXK3Dab-e98f9a1c9ba6e83f1aa3.js → GraphWidget-Cs9mvqUu-efd9e594ef7300c72bb5.js} +1 -1
- data/tools/limitsmonitor/{HorizontalWidget-C9UFBPsk-615f7e18b2fa8b12cfd4.js → HorizontalWidget-fWLFj7Kg-43f4c63ce87b9db74f2e.js} +1 -1
- data/tools/limitsmonitor/{HorizontalboxWidget-CWLfmRtr-9feaf86e99b232f286fa.js → HorizontalboxWidget-DEaXhKEz-8f75b9c9c74784f871f1.js} +1 -1
- data/tools/limitsmonitor/HorizontallineWidget-Bvu1QP3S-0df33b81905630850ce1.js +1 -0
- data/tools/limitsmonitor/{IframeWidget-Bn9eGzrq-9c2f9577a17909e38a53.js → IframeWidget-B143k4lo-769d74848916e51582f6.js} +1 -1
- data/tools/limitsmonitor/{ImageLoader-_gAudhVo-62c2ed958eb333a536c1.js → ImageLoader-BCpmQHIl-3d08c803417ff2eb7efa.js} +1 -1
- data/tools/limitsmonitor/{ImageviewerWidget-BUWhF32Z-512f2ed6139f449f32cf.js → ImageviewerWidget-CLrvr6dw-a9f4ee5861fddad31f58.js} +1 -1
- data/tools/limitsmonitor/{LabelWidget-BhzkN06D-879f024c11b660ee118b.js → LabelWidget-CA1bTX2B-503a07dc1e92e1246728.js} +1 -1
- data/tools/limitsmonitor/{LabelledWidget-vx8NvW1b-12d933e4ffaff922a2fa.js → LabelledWidget-BDhvr03J-57e6858f8977a2768dc1.js} +1 -1
- data/tools/limitsmonitor/{LabelprogressbarWidget-t5PvKuS4-507cc849018fe64d3f60.js → LabelprogressbarWidget-g7A5CE8S-7d88976db7d6246d16fd.js} +1 -1
- data/tools/limitsmonitor/LabelsparklineWidget-B27xXxWg-eba195b7c33281683bc6.js +1 -0
- data/tools/limitsmonitor/{LabelvalueWidget-Cbs1DBK2-eb95259251a8995558c5.js → LabelvalueWidget-DFn8o6LC-50a9865e818041e5c9a7.js} +1 -1
- data/tools/limitsmonitor/{LabelvaluedescWidget-B7OIOGc0-98065da10685719a70dd.js → LabelvaluedescWidget-BQpaxFaB-42c481ec4c983e508ff5.js} +1 -1
- data/tools/limitsmonitor/LabelvaluelimitsbarWidget-C-z96q8z-262fe4e7c88fcca1a21f.js +1 -0
- data/tools/limitsmonitor/LabelvaluelimitscolumnWidget-D2TMEv9O-340d375bcaf134252046.js +1 -0
- data/tools/limitsmonitor/{LabelvaluerangebarWidget-Pt_evm3v-658526bdbea98aa6336c.js → LabelvaluerangebarWidget-D99dZCjz-b47dd057dccec53dd507.js} +1 -1
- data/tools/limitsmonitor/{Layout-CKmC50QZ-73cee80023d9435e11da.js → Layout--_zNJWnw-28ebd6fb99cdd03f8b49.js} +1 -1
- data/tools/limitsmonitor/{LedWidget-D1lmNXpi-88f2a7caf9a460d704bc.js → LedWidget-D2uxHxe3-f3e4a9d7363ac51f7149.js} +1 -1
- data/tools/limitsmonitor/{LimitsBar-D5IZu7eX-c83defbeb54b6cfc8648.js → LimitsBar-DN1s8-MS-87bfe441f506b01bb80c.js} +1 -1
- data/tools/limitsmonitor/LimitsMonitor-939d997c957d6238d5e8.js +11 -0
- data/tools/limitsmonitor/{LimitsbarWidget-VpxQXE-e-1550e0d37fc190f68cb9.js → LimitsbarWidget-Cqhh7LKU-a1789aa61517526bcc09.js} +1 -1
- data/tools/limitsmonitor/{LimitscolorWidget-79P41CX7-9563cd9429c444ba0ef4.js → LimitscolorWidget-haGB4RbY-2fa17abea5f9c3e98dee.js} +1 -1
- data/tools/limitsmonitor/{LimitscolumnWidget-BFDXhJeZ-8998cb2a2a449a5300e6.js → LimitscolumnWidget-B1GdmlR_-9822570e890afde24370.js} +1 -1
- data/tools/limitsmonitor/{LinegraphWidget-VqkpOlws-2690117b6237093383c2.js → LinegraphWidget-COSOQ0uM-bbe31f4b114886e74712.js} +1 -1
- data/tools/limitsmonitor/{MatrixbycolumnsWidget--ihvirDP-1aa564b334b2bca31d04.js → MatrixbycolumnsWidget-coHlLETG-64183bbc0a247f2551a0.js} +1 -1
- data/tools/limitsmonitor/{OpenC3TimePicker-B0lAIU91-0172b8047df53a20c9a8.js → OpenC3TimePicker-B8Vu9GBz-2840b980fa4ee81bd205.js} +1 -1
- data/tools/limitsmonitor/{ProgressbarWidget-BIB3r9SL-b22b23a017f8b487b85c.js → ProgressbarWidget-D_yFssIZ-235f413989eea13e8daa.js} +1 -1
- data/tools/limitsmonitor/{RadiobuttonWidget-C5rxLM7K-5af958aa675329dfb400.js → RadiobuttonWidget-DL0jVTcb-ab3f38652aee1be60a35.js} +1 -1
- data/tools/limitsmonitor/{RadiogroupWidget-CciTCv1U-3241ca27dfb3e1b5c81b.js → RadiogroupWidget-2-td69IA-8b8e486e8b57afe77bed.js} +1 -1
- data/tools/limitsmonitor/{RangebarWidget-MPQYi2Km-efdc4e76bc2f89c883e7.js → RangebarWidget-i2mlnxys-91ae8bee9414bae8709f.js} +1 -1
- data/tools/limitsmonitor/{RollupWidget-CfjGAhzg-b61c7bfee6725f202c62.js → RollupWidget-BEJ2Icg1-7d1e13f221281dda7ce5.js} +1 -1
- data/tools/limitsmonitor/{ScrollwindowWidget-CupaygNN-c0d924e6d0e7b105cb24.js → ScrollwindowWidget-BU1cRpL8-06e05520339b779b4261.js} +1 -1
- data/tools/limitsmonitor/{SignalWidget-C-qecoTO-e941d3fd1446e9665ce9.js → SignalWidget-hiTkeem9-cee50ed98c4ed879dfe9.js} +1 -1
- data/tools/limitsmonitor/SpacerWidget-CBmzzS_X-f79cdc38c3247a117577.js +1 -0
- data/tools/limitsmonitor/SparklineWidget-CizRh6QR-8f36d6d0d14e9b0f305e.js +1 -0
- data/tools/limitsmonitor/{TabbookWidget-CXklff-l-44cc5fc242cdae28f3f4.js → TabbookWidget-CvL3Ozmx-128fcef17ed2c8d7806b.js} +1 -1
- data/tools/limitsmonitor/TextboxWidget-BtEwXzDO-cbf3f2de95e4c365c5ce.js +1 -0
- data/tools/limitsmonitor/TextfieldWidget-BDbb57HP-fd504ea1d7a4d99b047c.js +1 -0
- data/tools/limitsmonitor/TimeWidget-DzD8U8l8-8a00005bb155beb80051.js +1 -0
- data/tools/limitsmonitor/TitleWidget-CL53vf14-9ea9713e1084b2d6b33f.js +1 -0
- data/tools/limitsmonitor/{VWidget-oMbywhLA-85718f33edeb08e1e150.js → VWidget-5qOYva88-45447a85bf7f7f3e4fc1.js} +1 -1
- data/tools/limitsmonitor/ValueWidget-CAkuc_w_-fe817796128b0ef92a25.js +1 -0
- data/tools/limitsmonitor/ValuelimitsbarWidget-Y8sO05E1-d4a8c6bcef04142d2e5f.js +1 -0
- data/tools/limitsmonitor/{ValuelimitscolumnWidget-BVt6nLXq-4bacf2c800058cbbc5a4.js → ValuelimitscolumnWidget-iOjB_fCj-2e14a684190dfecbd460.js} +1 -1
- data/tools/limitsmonitor/{ValuerangebarWidget-uVZEI32U-9ae2932de717a0f1a3a2.js → ValuerangebarWidget-DsCoeAm6-b6746c170d00d5331090.js} +1 -1
- data/tools/limitsmonitor/{VerticalWidget-DlftYBjH-60b9591b4f0a132e1a8d.js → VerticalWidget-C6O0dhRU-1613f922f5d22944287f.js} +1 -1
- data/tools/limitsmonitor/{VerticalboxWidget-C7RrkfY0-64476f25b5e19b0885b3.js → VerticalboxWidget-B-CoqRJG-2c5328ad7974e365a15e.js} +1 -1
- data/tools/limitsmonitor/{Widget-D_HaosJK-cad59761cc9929d05ed1.js → Widget-CtYQauzA-b426b323af3e6d9eb01f.js} +1 -1
- data/tools/limitsmonitor/main-3f4adf203e54e3907c1d.js +1497 -0
- data/tools/limitsmonitor/main.js +1 -1
- metadata +72 -72
- data/tools/limitsmonitor/CanvasWidget-BEi8h3Mq-68eeaef2e593064f1b3b.js +0 -1
- data/tools/limitsmonitor/CanvasdotWidget-eZuMgkhL-224b35f28c1cee6bebbf.js +0 -1
- data/tools/limitsmonitor/CanvaslabelWidget-DtvbgeYH-14bc7362569406d89cba.js +0 -1
- data/tools/limitsmonitor/CanvaslabelvalueWidget-C_FRIeNb-7f329899b7a07e1eab53.js +0 -1
- data/tools/limitsmonitor/CheckbuttonWidget-ByxMDkiS-5f430af73175fe5208db.js +0 -1
- data/tools/limitsmonitor/ComboboxWidget-CAGxGv2r-fa7d7728ff40960a0982.js +0 -1
- data/tools/limitsmonitor/Graph-Cz0Ns1FD-458d3b3ff56b7f2f52b7.js +0 -1
- data/tools/limitsmonitor/HorizontallineWidget-DeFkOaYO-e3d95868298c39108931.js +0 -1
- data/tools/limitsmonitor/LabelsparklineWidget-CebbEH-j-3089b18cdd43379df5d5.js +0 -1
- data/tools/limitsmonitor/LabelvaluelimitsbarWidget-C57kf-oQ-750d1ff4d3d1a9cf8e5f.js +0 -1
- data/tools/limitsmonitor/LabelvaluelimitscolumnWidget-BRlNDEqp-0f4ed467df3ece4ce9f2.js +0 -1
- data/tools/limitsmonitor/LimitsMonitor-01b993d7a53cb284b983.js +0 -11
- data/tools/limitsmonitor/SpacerWidget-VVkOCb6N-03baa51755ea98050c5c.js +0 -1
- data/tools/limitsmonitor/SparklineWidget-Dsmn38z_-d452043105f69b70cde4.js +0 -1
- data/tools/limitsmonitor/TextboxWidget-CHs2VYIv-440f8fd6a73569d44751.js +0 -1
- data/tools/limitsmonitor/TextfieldWidget-CdANAW-6-2ef5fc5bbe335191148e.js +0 -1
- data/tools/limitsmonitor/TimeWidget-D0xT1wXR-7488c506361e77cf2e85.js +0 -1
- data/tools/limitsmonitor/TitleWidget-68NWCcXB-0f3f4ecc38383459c86a.js +0 -1
- data/tools/limitsmonitor/ValueWidget-B1aGUBP7-0812b73f73dcc59b379a.js +0 -1
- data/tools/limitsmonitor/ValuelimitsbarWidget-B7KcRjLS-a369a1c64f1c06fb65e1.js +0 -1
- data/tools/limitsmonitor/main-4c695d77b89b49cc35a4.js +0 -1497
|
@@ -1,11 +0,0 @@
|
|
|
1
|
-
System.register(["./main-4c695d77b89b49cc35a4.js","vue","single-spa","./ValueWidget-B1aGUBP7-0812b73f73dcc59b379a.js","./IframeWidget-Bn9eGzrq-9c2f9577a17909e38a53.js","./ValuelimitsbarWidget-B7KcRjLS-a369a1c64f1c06fb65e1.js","vue-router","pinia","vuetify","./DetailsDialog-F4KgYM6m-99f16b4c0cd103cebe4d.js","./LimitsBar-D5IZu7eX-c83defbeb54b6cfc8648.js","./LimitsColor-CBcpB-la-3bd861951380f642016e.js","./VWidget-oMbywhLA-85718f33edeb08e1e150.js","./Widget-D_HaosJK-cad59761cc9929d05ed1.js","./LimitsbarWidget-VpxQXE-e-1550e0d37fc190f68cb9.js","./BarColumn-BpdscDQf-35b4ae46ea40ba6eac87.js"],(function(Vs,co){"use strict";var xt,Pe,Qe,Ot,Ct,Rt,S,A,L,kt,g,m,z,X,J,ce,pe,At,F,Ne,je,et,ne,tt,It,Tt,Lt,Pt,Nt;return{setters:[C=>{xt=C.f,Pe=C._,Qe=C.R,Ot=C.k,Ct=C.M,Rt=C.I},C=>{S=C.resolveComponent,A=C.openBlock,L=C.createBlock,kt=C.Teleport,g=C.createVNode,m=C.withCtx,z=C.createElementVNode,X=C.toDisplayString,J=C.createElementBlock,ce=C.Fragment,pe=C.renderList,At=C.ref,F=C.createTextVNode,Ne=C.mergeProps,je=C.createSlots,et=C.normalizeStyle,ne=C.createCommentVNode,tt=C.normalizeClass,It=C.normalizeProps,Tt=C.guardReactiveProps,Lt=C.withKeys},null,C=>{Pt=C.default},null,C=>{Nt=C.default},null,null,null,null,null,null,null,null,null,null],execute:(function(){var C=document.createElement("style");C.textContent=`.footer[data-v-996d2580]{padding-top:5px}.v-input[data-v-996d2580]{background-color:var(--color-background-base-default)}.textfield-green[data-v-996d2580]{color:#00c800}.textfield-yellow[data-v-996d2580]{color:#ffdc00}.textfield-red[data-v-996d2580]{color:#ff2d2d}.limits-table[data-v-996d2580]{margin-top:5px;margin-bottom:10px}.limits-table[data-v-996d2580] th{font-weight:700;background-color:var(--color-background-base-default)}.limits-table[data-v-996d2580] .state-filtered-row{display:none}.card-height[data-v-192a6dcb]{height:calc(100vh - 150px)}
|
|
2
|
-
/*$vite$:1*/`,document.head.appendChild(C);const $s={__name:"TopBarMenu",props:{menu:{type:Object,required:!0},title:{type:String,required:!0}},emits:["submenu-click"],setup(t,{emit:e}){const s=e,r=At(!1);function n(){r.value=!1}function i(o){return o.replaceAll(" ","-").toLowerCase()}return(o,a)=>{const c=S("v-icon"),u=S("v-btn"),d=S("v-divider"),f=S("v-list-item-title"),b=S("v-list-item"),_=S("v-list"),x=S("v-menu"),h=S("v-radio"),O=S("v-list-item-action"),w=S("v-radio-group"),v=S("v-checkbox");return A(),L(x,{modelValue:r.value,"onUpdate:modelValue":a[0]||(a[0]=p=>r.value=p),"close-on-content-click":!1},{activator:m(({props:p})=>[g(u,Ne(p,{variant:"outlined",class:"mx-1 menu-button",text:t.menu.label,"data-test":i(`${t.title} ${t.menu.label}`)}),{append:m(()=>[g(c,{class:"menu-button-icon"},{default:m(()=>[...a[1]||(a[1]=[F(" mdi-menu-down ",-1)])]),_:1})]),_:1},16,["text","data-test"])]),default:m(()=>[g(_,null,{default:m(()=>[(A(!0),J(ce,null,pe(t.menu.items,(p,k)=>(A(),J(ce,null,[p.divider?(A(),L(d,{key:k+"-divider"})):p.subMenu&&p.subMenu.length>0?(A(),J("div",{key:k+"-submenu"},[(A(),L(x,{key:k,"open-on-hover":"",location:"right"},{activator:m(({props:N})=>[(A(),L(b,Ne({ref_for:!0},N,{key:k,disabled:p.disabled}),je({append:m(()=>[g(c,null,{default:m(()=>[...a[2]||(a[2]=[F(" mdi-chevron-right ",-1)])]),_:1})]),default:m(()=>[!p.radio&&!p.checkbox?(A(),L(f,{key:0,style:et("cursor: pointer;"+(p.disabled?"opacity: 0.2":""))},{default:m(()=>[F(X(p.label),1)]),_:2},1032,["style"])):ne("",!0)]),_:2},[p.icon?{name:"prepend",fn:m(()=>[g(c,{disabled:p.disabled},{default:m(()=>[F(X(p.icon),1)]),_:2},1032,["disabled"])]),key:"0"}:void 0]),1040,["disabled"]))]),default:m(()=>[g(_,null,{default:m(()=>[(A(!0),J(ce,null,pe(p.subMenu,(N,G)=>(A(),L(b,{key:G,"prepend-icon":N.icon,onClick:ie=>s("submenu-click",N)},{default:m(()=>[g(f,null,{default:m(()=>[F(X(N.label),1)]),_:2},1024)]),_:2},1032,["prepend-icon","onClick"]))),128))]),_:2},1024)]),_:2},1024))])):p.radioGroup?(A(),L(w,{key:k+"-radio-group",class:"ma-0 pa-0",density:"compact","hide-details":"","model-value":p.value,"onUpdate:modelValue":p.command},{default:m(()=>[(A(!0),J(ce,null,pe(p.choices,(N,G)=>(A(),L(b,{key:G+"-choice"},{default:m(()=>[g(O,{class:"list-action"},{default:m(()=>[g(h,{color:"secondary",label:N.label,value:N.value,density:"compact","hide-details":""},null,8,["label","value"])]),_:2},1024)]),_:2},1024))),128))]),_:2},1032,["model-value","onUpdate:modelValue"])):(A(),L(b,{key:k+"-list",disabled:p.disabled,"data-test":i(`${t.title} ${t.menu.label} ${p.label}`),onClick:()=>{p.command(p),p.checkbox||n()}},je({default:m(()=>[p.checkbox?(A(),L(O,{key:0,class:"list-action"},{default:m(()=>[g(v,{modelValue:p.checked,"onUpdate:modelValue":N=>p.checked=N,label:p.label,color:"secondary",density:"compact","hide-details":""},null,8,["modelValue","onUpdate:modelValue","label"])]),_:2},1024)):ne("",!0),!p.radio&&!p.checkbox?(A(),L(f,{key:1,style:et("cursor: pointer;"+(p.disabled?"opacity: 0.2":""))},{default:m(()=>[F(X(p.label),1)]),_:2},1032,["style"])):ne("",!0)]),_:2},[p.icon?{name:"prepend",fn:m(()=>[g(c,{icon:p.icon,disabled:p.disabled},null,8,["icon","disabled"])]),key:"0"}:void 0]),1032,["disabled","data-test","onClick"]))],64))),256))]),_:1})]),_:1},8,["modelValue"])}}},Ms={components:{TopBarMenu:$s},props:{menus:{type:Array,default:function(){return[]}},title:{type:String,default:""}},mounted(){document.title=this.title},methods:{subMenuClick(t){t.command(t),this.$refs.topmenu[0].isActive=!1}}},zs={class:"app-title mr-2"};function Ws(t,e,s,r,n,i){const o=S("v-col"),a=S("v-row"),c=S("TopBarMenu");return A(),L(kt,{to:"#openc3-menu"},[g(a,{"no-gutters":""},{default:m(()=>[g(o,{"align-self":"end"},{default:m(()=>[z("span",zs,X(s.title),1)]),_:1})]),_:1}),g(a,{dense:"",class:"flex-nowrap"},{default:m(()=>[(A(!0),J(ce,null,pe(s.menus,(u,d)=>(A(),L(c,{key:d+"-top-menu",ref_for:!0,ref:"topmenu",menu:u,title:s.title,onSubmenuClick:i.subMenuClick},null,8,["menu","title","onSubmenuClick"]))),128))]),_:1})])}const Hs=xt(Ms,[["render",Ws],["__scopeId","data-v-f4fb184e"]]);function jt(t,e){return function(){return t.apply(e,arguments)}}const{toString:Js}=Object.prototype,{getPrototypeOf:De}=Object,{iterator:Fe,toStringTag:Dt}=Symbol,Ue=(t=>e=>{const s=Js.call(e);return t[s]||(t[s]=s.slice(8,-1).toLowerCase())})(Object.create(null)),Z=t=>(t=t.toLowerCase(),e=>Ue(e)===t),Be=t=>e=>typeof e===t,{isArray:me}=Array,ge=Be("undefined");function we(t){return t!==null&&!ge(t)&&t.constructor!==null&&!ge(t.constructor)&&H(t.constructor.isBuffer)&&t.constructor.isBuffer(t)}const Ft=Z("ArrayBuffer");function Ks(t){let e;return typeof ArrayBuffer<"u"&&ArrayBuffer.isView?e=ArrayBuffer.isView(t):e=t&&t.buffer&&Ft(t.buffer),e}const Gs=Be("string"),H=Be("function"),Ut=Be("number"),ve=t=>t!==null&&typeof t=="object",Ys=t=>t===!0||t===!1,qe=t=>{if(Ue(t)!=="object")return!1;const e=De(t);return(e===null||e===Object.prototype||Object.getPrototypeOf(e)===null)&&!(Dt in t)&&!(Fe in t)},Xs=t=>{if(!ve(t)||we(t))return!1;try{return Object.keys(t).length===0&&Object.getPrototypeOf(t)===Object.prototype}catch{return!1}},Zs=Z("Date"),Qs=Z("File"),er=t=>!!(t&&typeof t.uri<"u"),tr=t=>t&&typeof t.getParts<"u",sr=Z("Blob"),rr=Z("FileList"),nr=t=>ve(t)&&H(t.pipe);function ir(){return typeof globalThis<"u"?globalThis:typeof self<"u"?self:typeof window<"u"?window:typeof global<"u"?global:{}}const Bt=ir(),qt=typeof Bt.FormData<"u"?Bt.FormData:void 0,or=t=>{if(!t)return!1;if(qt&&t instanceof qt)return!0;const e=De(t);if(!e||e===Object.prototype||!H(t.append))return!1;const s=Ue(t);return s==="formdata"||s==="object"&&H(t.toString)&&t.toString()==="[object FormData]"},ar=Z("URLSearchParams"),[cr,lr,ur,dr]=["ReadableStream","Request","Response","Headers"].map(Z),hr=t=>t.trim?t.trim():t.replace(/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g,"");function Se(t,e,{allOwnKeys:s=!1}={}){if(t===null||typeof t>"u")return;let r,n;if(typeof t!="object"&&(t=[t]),me(t))for(r=0,n=t.length;r<n;r++)e.call(null,t[r],r,t);else{if(we(t))return;const i=s?Object.getOwnPropertyNames(t):Object.keys(t),o=i.length;let a;for(r=0;r<o;r++)a=i[r],e.call(null,t[a],a,t)}}function Vt(t,e){if(we(t))return null;e=e.toLowerCase();const s=Object.keys(t);let r=s.length,n;for(;r-- >0;)if(n=s[r],e===n.toLowerCase())return n;return null}const le=typeof globalThis<"u"?globalThis:typeof self<"u"?self:typeof window<"u"?window:global,$t=t=>!ge(t)&&t!==le;function st(...t){const{caseless:e,skipUndefined:s}=$t(this)&&this||{},r={},n=(i,o)=>{if(o==="__proto__"||o==="constructor"||o==="prototype")return;const a=e&&Vt(r,o)||o,c=rt(r,a)?r[a]:void 0;qe(c)&&qe(i)?r[a]=st(c,i):qe(i)?r[a]=st({},i):me(i)?r[a]=i.slice():(!s||!ge(i))&&(r[a]=i)};for(let i=0,o=t.length;i<o;i++)t[i]&&Se(t[i],n);return r}const fr=(t,e,s,{allOwnKeys:r}={})=>(Se(e,(n,i)=>{s&&H(n)?Object.defineProperty(t,i,{__proto__:null,value:jt(n,s),writable:!0,enumerable:!0,configurable:!0}):Object.defineProperty(t,i,{__proto__:null,value:n,writable:!0,enumerable:!0,configurable:!0})},{allOwnKeys:r}),t),pr=t=>(t.charCodeAt(0)===65279&&(t=t.slice(1)),t),mr=(t,e,s,r)=>{t.prototype=Object.create(e.prototype,r),Object.defineProperty(t.prototype,"constructor",{__proto__:null,value:t,writable:!0,enumerable:!1,configurable:!0}),Object.defineProperty(t,"super",{__proto__:null,value:e.prototype}),s&&Object.assign(t.prototype,s)},gr=(t,e,s,r)=>{let n,i,o;const a={};if(e=e||{},t==null)return e;do{for(n=Object.getOwnPropertyNames(t),i=n.length;i-- >0;)o=n[i],(!r||r(o,t,e))&&!a[o]&&(e[o]=t[o],a[o]=!0);t=s!==!1&&De(t)}while(t&&(!s||s(t,e))&&t!==Object.prototype);return e},br=(t,e,s)=>{t=String(t),(s===void 0||s>t.length)&&(s=t.length),s-=e.length;const r=t.indexOf(e,s);return r!==-1&&r===s},_r=t=>{if(!t)return null;if(me(t))return t;let e=t.length;if(!Ut(e))return null;const s=new Array(e);for(;e-- >0;)s[e]=t[e];return s},yr=(t=>e=>t&&e instanceof t)(typeof Uint8Array<"u"&&De(Uint8Array)),wr=(t,e)=>{const s=(t&&t[Fe]).call(t);let r;for(;(r=s.next())&&!r.done;){const n=r.value;e.call(t,n[0],n[1])}},vr=(t,e)=>{let s;const r=[];for(;(s=t.exec(e))!==null;)r.push(s);return r},Sr=Z("HTMLFormElement"),Er=t=>t.toLowerCase().replace(/[-_\s]([a-z\d])(\w*)/g,function(e,s,r){return s.toUpperCase()+r}),rt=(({hasOwnProperty:t})=>(e,s)=>t.call(e,s))(Object.prototype),xr=Z("RegExp"),Mt=(t,e)=>{const s=Object.getOwnPropertyDescriptors(t),r={};Se(s,(n,i)=>{let o;(o=e(n,i,t))!==!1&&(r[i]=o||n)}),Object.defineProperties(t,r)},Or=t=>{Mt(t,(e,s)=>{if(H(t)&&["arguments","caller","callee"].includes(s))return!1;const r=t[s];if(H(r)){if(e.enumerable=!1,"writable"in e){e.writable=!1;return}e.set||(e.set=()=>{throw Error("Can not rewrite read-only method '"+s+"'")})}})},Cr=(t,e)=>{const s={},r=n=>{n.forEach(i=>{s[i]=!0})};return me(t)?r(t):r(String(t).split(e)),s},Rr=()=>{},kr=(t,e)=>t!=null&&Number.isFinite(t=+t)?t:e;function Ar(t){return!!(t&&H(t.append)&&t[Dt]==="FormData"&&t[Fe])}const Ir=t=>{const e=new WeakSet,s=r=>{if(ve(r)){if(e.has(r))return;if(we(r))return r;if(!("toJSON"in r)){e.add(r);const n=me(r)?[]:{};return Se(r,(i,o)=>{const a=s(i);!ge(a)&&(n[o]=a)}),e.delete(r),n}}return r};return s(t)},Tr=Z("AsyncFunction"),Lr=t=>t&&(ve(t)||H(t))&&H(t.then)&&H(t.catch),zt=((t,e)=>t?setImmediate:e?((s,r)=>(le.addEventListener("message",({source:n,data:i})=>{n===le&&i===s&&r.length&&r.shift()()},!1),n=>{r.push(n),le.postMessage(s,"*")}))(`axios@${Math.random()}`,[]):s=>setTimeout(s))(typeof setImmediate=="function",H(le.postMessage)),Pr=typeof queueMicrotask<"u"?queueMicrotask.bind(le):typeof process<"u"&&process.nextTick||zt,Nr=t=>t!=null&&H(t[Fe]),l={isArray:me,isArrayBuffer:Ft,isBuffer:we,isFormData:or,isArrayBufferView:Ks,isString:Gs,isNumber:Ut,isBoolean:Ys,isObject:ve,isPlainObject:qe,isEmptyObject:Xs,isReadableStream:cr,isRequest:lr,isResponse:ur,isHeaders:dr,isUndefined:ge,isDate:Zs,isFile:Qs,isReactNativeBlob:er,isReactNative:tr,isBlob:sr,isRegExp:xr,isFunction:H,isStream:nr,isURLSearchParams:ar,isTypedArray:yr,isFileList:rr,forEach:Se,merge:st,extend:fr,trim:hr,stripBOM:pr,inherits:mr,toFlatObject:gr,kindOf:Ue,kindOfTest:Z,endsWith:br,toArray:_r,forEachEntry:wr,matchAll:vr,isHTMLForm:Sr,hasOwnProperty:rt,hasOwnProp:rt,reduceDescriptors:Mt,freezeMethods:Or,toObjectSet:Cr,toCamelCase:Er,noop:Rr,toFiniteNumber:kr,findKey:Vt,global:le,isContextDefined:$t,isSpecCompliantForm:Ar,toJSONObject:Ir,isAsyncFn:Tr,isThenable:Lr,setImmediate:zt,asap:Pr,isIterable:Nr},jr=l.toObjectSet(["age","authorization","content-length","content-type","etag","expires","from","host","if-modified-since","if-unmodified-since","last-modified","location","max-forwards","proxy-authorization","referer","retry-after","user-agent"]),Dr=t=>{const e={};let s,r,n;return t&&t.split(`
|
|
3
|
-
`).forEach(function(i){n=i.indexOf(":"),s=i.substring(0,n).trim().toLowerCase(),r=i.substring(n+1).trim(),!(!s||e[s]&&jr[s])&&(s==="set-cookie"?e[s]?e[s].push(r):e[s]=[r]:e[s]=e[s]?e[s]+", "+r:r)}),e};function Fr(t){let e=0,s=t.length;for(;e<s;){const r=t.charCodeAt(e);if(r!==9&&r!==32)break;e+=1}for(;s>e;){const r=t.charCodeAt(s-1);if(r!==9&&r!==32)break;s-=1}return e===0&&s===t.length?t:t.slice(e,s)}const Ur=new RegExp("[\\u0000-\\u0008\\u000a-\\u001f\\u007f]+","g"),Br=new RegExp("[^\\u0009\\u0020-\\u007e\\u0080-\\u00ff]+","g");function nt(t,e){return l.isArray(t)?t.map(s=>nt(s,e)):Fr(String(t).replace(e,""))}const qr=t=>nt(t,Ur),Vr=t=>nt(t,Br);function Wt(t){const e=Object.create(null);return l.forEach(t.toJSON(),(s,r)=>{e[r]=Vr(s)}),e}const Ht=Symbol("internals");function Ee(t){return t&&String(t).trim().toLowerCase()}function Ve(t){return t===!1||t==null?t:l.isArray(t)?t.map(Ve):qr(String(t))}function $r(t){const e=Object.create(null),s=/([^\s,;=]+)\s*(?:=\s*([^,;]+))?/g;let r;for(;r=s.exec(t);)e[r[1]]=r[2];return e}const Mr=t=>/^[-_a-zA-Z0-9^`|~,!#$%&'*+.]+$/.test(t.trim());function it(t,e,s,r,n){if(l.isFunction(r))return r.call(this,e,s);if(n&&(e=s),!!l.isString(e)){if(l.isString(r))return e.indexOf(r)!==-1;if(l.isRegExp(r))return r.test(e)}}function zr(t){return t.trim().toLowerCase().replace(/([a-z\d])(\w*)/g,(e,s,r)=>s.toUpperCase()+r)}function Wr(t,e){const s=l.toCamelCase(" "+e);["get","set","has"].forEach(r=>{Object.defineProperty(t,r+s,{__proto__:null,value:function(n,i,o){return this[r].call(this,e,n,i,o)},configurable:!0})})}let W=class{constructor(t){t&&this.set(t)}set(t,e,s){const r=this;function n(o,a,c){const u=Ee(a);if(!u)throw new Error("header name must be a non-empty string");const d=l.findKey(r,u);(!d||r[d]===void 0||c===!0||c===void 0&&r[d]!==!1)&&(r[d||a]=Ve(o))}const i=(o,a)=>l.forEach(o,(c,u)=>n(c,u,a));if(l.isPlainObject(t)||t instanceof this.constructor)i(t,e);else if(l.isString(t)&&(t=t.trim())&&!Mr(t))i(Dr(t),e);else if(l.isObject(t)&&l.isIterable(t)){let o={},a,c;for(const u of t){if(!l.isArray(u))throw TypeError("Object iterator must return a key-value pair");o[c=u[0]]=(a=o[c])?l.isArray(a)?[...a,u[1]]:[a,u[1]]:u[1]}i(o,e)}else t!=null&&n(e,t,s);return this}get(t,e){if(t=Ee(t),t){const s=l.findKey(this,t);if(s){const r=this[s];if(!e)return r;if(e===!0)return $r(r);if(l.isFunction(e))return e.call(this,r,s);if(l.isRegExp(e))return e.exec(r);throw new TypeError("parser must be boolean|regexp|function")}}}has(t,e){if(t=Ee(t),t){const s=l.findKey(this,t);return!!(s&&this[s]!==void 0&&(!e||it(this,this[s],s,e)))}return!1}delete(t,e){const s=this;let r=!1;function n(i){if(i=Ee(i),i){const o=l.findKey(s,i);o&&(!e||it(s,s[o],o,e))&&(delete s[o],r=!0)}}return l.isArray(t)?t.forEach(n):n(t),r}clear(t){const e=Object.keys(this);let s=e.length,r=!1;for(;s--;){const n=e[s];(!t||it(this,this[n],n,t,!0))&&(delete this[n],r=!0)}return r}normalize(t){const e=this,s={};return l.forEach(this,(r,n)=>{const i=l.findKey(s,n);if(i){e[i]=Ve(r),delete e[n];return}const o=t?zr(n):String(n).trim();o!==n&&delete e[n],e[o]=Ve(r),s[o]=!0}),this}concat(...t){return this.constructor.concat(this,...t)}toJSON(t){const e=Object.create(null);return l.forEach(this,(s,r)=>{s!=null&&s!==!1&&(e[r]=t&&l.isArray(s)?s.join(", "):s)}),e}[Symbol.iterator](){return Object.entries(this.toJSON())[Symbol.iterator]()}toString(){return Object.entries(this.toJSON()).map(([t,e])=>t+": "+e).join(`
|
|
4
|
-
`)}getSetCookie(){return this.get("set-cookie")||[]}get[Symbol.toStringTag](){return"AxiosHeaders"}static from(t){return t instanceof this?t:new this(t)}static concat(t,...e){const s=new this(t);return e.forEach(r=>s.set(r)),s}static accessor(t){const e=(this[Ht]=this[Ht]={accessors:{}}).accessors,s=this.prototype;function r(n){const i=Ee(n);e[i]||(Wr(s,n),e[i]=!0)}return l.isArray(t)?t.forEach(r):r(t),this}};W.accessor(["Content-Type","Content-Length","Accept","Accept-Encoding","User-Agent","Authorization"]),l.reduceDescriptors(W.prototype,({value:t},e)=>{let s=e[0].toUpperCase()+e.slice(1);return{get:()=>t,set(r){this[s]=r}}}),l.freezeMethods(W);const Hr="[REDACTED ****]";function Jr(t){if(l.hasOwnProp(t,"toJSON"))return!0;let e=Object.getPrototypeOf(t);for(;e&&e!==Object.prototype;){if(l.hasOwnProp(e,"toJSON"))return!0;e=Object.getPrototypeOf(e)}return!1}function Kr(t,e){const s=new Set(e.map(i=>String(i).toLowerCase())),r=[],n=i=>{if(i===null||typeof i!="object"||l.isBuffer(i))return i;if(r.indexOf(i)!==-1)return;i instanceof W&&(i=i.toJSON()),r.push(i);let o;if(l.isArray(i))o=[],i.forEach((a,c)=>{const u=n(a);l.isUndefined(u)||(o[c]=u)});else{if(!l.isPlainObject(i)&&Jr(i))return r.pop(),i;o=Object.create(null);for(const[a,c]of Object.entries(i)){const u=s.has(a.toLowerCase())?Hr:n(c);l.isUndefined(u)||(o[a]=u)}}return r.pop(),o};return n(t)}let y=class Bs extends Error{static from(e,s,r,n,i,o){const a=new Bs(e.message,s||e.code,r,n,i);return a.cause=e,a.name=e.name,e.status!=null&&a.status==null&&(a.status=e.status),o&&Object.assign(a,o),a}constructor(e,s,r,n,i){super(e),Object.defineProperty(this,"message",{__proto__:null,value:e,enumerable:!0,writable:!0,configurable:!0}),this.name="AxiosError",this.isAxiosError=!0,s&&(this.code=s),r&&(this.config=r),n&&(this.request=n),i&&(this.response=i,this.status=i.status)}toJSON(){const e=this.config,s=e&&l.hasOwnProp(e,"redact")?e.redact:void 0,r=l.isArray(s)&&s.length>0?Kr(e,s):l.toJSONObject(e);return{message:this.message,name:this.name,description:this.description,number:this.number,fileName:this.fileName,lineNumber:this.lineNumber,columnNumber:this.columnNumber,stack:this.stack,config:r,code:this.code,status:this.status}}};y.ERR_BAD_OPTION_VALUE="ERR_BAD_OPTION_VALUE",y.ERR_BAD_OPTION="ERR_BAD_OPTION",y.ECONNABORTED="ECONNABORTED",y.ETIMEDOUT="ETIMEDOUT",y.ECONNREFUSED="ECONNREFUSED",y.ERR_NETWORK="ERR_NETWORK",y.ERR_FR_TOO_MANY_REDIRECTS="ERR_FR_TOO_MANY_REDIRECTS",y.ERR_DEPRECATED="ERR_DEPRECATED",y.ERR_BAD_RESPONSE="ERR_BAD_RESPONSE",y.ERR_BAD_REQUEST="ERR_BAD_REQUEST",y.ERR_CANCELED="ERR_CANCELED",y.ERR_NOT_SUPPORT="ERR_NOT_SUPPORT",y.ERR_INVALID_URL="ERR_INVALID_URL",y.ERR_FORM_DATA_DEPTH_EXCEEDED="ERR_FORM_DATA_DEPTH_EXCEEDED";const Gr=null;function ot(t){return l.isPlainObject(t)||l.isArray(t)}function Jt(t){return l.endsWith(t,"[]")?t.slice(0,-2):t}function at(t,e,s){return t?t.concat(e).map(function(r,n){return r=Jt(r),!s&&n?"["+r+"]":r}).join(s?".":""):e}function Yr(t){return l.isArray(t)&&!t.some(ot)}const Xr=l.toFlatObject(l,{},null,function(t){return/^is[A-Z]/.test(t)});function $e(t,e,s){if(!l.isObject(t))throw new TypeError("target must be an object");e=e||new FormData,s=l.toFlatObject(s,{metaTokens:!0,dots:!1,indexes:!1},!1,function(h,O){return!l.isUndefined(O[h])});const r=s.metaTokens,n=s.visitor||f,i=s.dots,o=s.indexes,a=s.Blob||typeof Blob<"u"&&Blob,c=s.maxDepth===void 0?100:s.maxDepth,u=a&&l.isSpecCompliantForm(e);if(!l.isFunction(n))throw new TypeError("visitor must be a function");function d(h){if(h===null)return"";if(l.isDate(h))return h.toISOString();if(l.isBoolean(h))return h.toString();if(!u&&l.isBlob(h))throw new y("Blob is not supported. Use a Buffer instead.");return l.isArrayBuffer(h)||l.isTypedArray(h)?u&&typeof Blob=="function"?new Blob([h]):Buffer.from(h):h}function f(h,O,w){let v=h;if(l.isReactNative(e)&&l.isReactNativeBlob(h))return e.append(at(w,O,i),d(h)),!1;if(h&&!w&&typeof h=="object"){if(l.endsWith(O,"{}"))O=r?O:O.slice(0,-2),h=JSON.stringify(h);else if(l.isArray(h)&&Yr(h)||(l.isFileList(h)||l.endsWith(O,"[]"))&&(v=l.toArray(h)))return O=Jt(O),v.forEach(function(p,k){!(l.isUndefined(p)||p===null)&&e.append(o===!0?at([O],k,i):o===null?O:O+"[]",d(p))}),!1}return ot(h)?!0:(e.append(at(w,O,i),d(h)),!1)}const b=[],_=Object.assign(Xr,{defaultVisitor:f,convertValue:d,isVisitable:ot});function x(h,O,w=0){if(!l.isUndefined(h)){if(w>c)throw new y("Object is too deeply nested ("+w+" levels). Max depth: "+c,y.ERR_FORM_DATA_DEPTH_EXCEEDED);if(b.indexOf(h)!==-1)throw Error("Circular reference detected in "+O.join("."));b.push(h),l.forEach(h,function(v,p){(!(l.isUndefined(v)||v===null)&&n.call(e,v,l.isString(p)?p.trim():p,O,_))===!0&&x(v,O?O.concat(p):[p],w+1)}),b.pop()}}if(!l.isObject(t))throw new TypeError("data must be an object");return x(t),e}function Kt(t){const e={"!":"%21","'":"%27","(":"%28",")":"%29","~":"%7E","%20":"+"};return encodeURIComponent(t).replace(/[!'()~]|%20/g,function(s){return e[s]})}function ct(t,e){this._pairs=[],t&&$e(t,this,e)}const Gt=ct.prototype;Gt.append=function(t,e){this._pairs.push([t,e])},Gt.toString=function(t){const e=t?function(s){return t.call(this,s,Kt)}:Kt;return this._pairs.map(function(s){return e(s[0])+"="+e(s[1])},"").join("&")};function Zr(t){return encodeURIComponent(t).replace(/%3A/gi,":").replace(/%24/g,"$").replace(/%2C/gi,",").replace(/%20/g,"+")}function Yt(t,e,s){if(!e)return t;const r=s&&s.encode||Zr,n=l.isFunction(s)?{serialize:s}:s,i=n&&n.serialize;let o;if(i?o=i(e,n):o=l.isURLSearchParams(e)?e.toString():new ct(e,n).toString(r),o){const a=t.indexOf("#");a!==-1&&(t=t.slice(0,a)),t+=(t.indexOf("?")===-1?"?":"&")+o}return t}class Xt{constructor(){this.handlers=[]}use(e,s,r){return this.handlers.push({fulfilled:e,rejected:s,synchronous:r?r.synchronous:!1,runWhen:r?r.runWhen:null}),this.handlers.length-1}eject(e){this.handlers[e]&&(this.handlers[e]=null)}clear(){this.handlers&&(this.handlers=[])}forEach(e){l.forEach(this.handlers,function(s){s!==null&&e(s)})}}const lt={silentJSONParsing:!0,forcedJSONParsing:!0,clarifyTimeoutError:!1,legacyInterceptorReqResOrdering:!0},Qr=typeof URLSearchParams<"u"?URLSearchParams:ct,en=typeof FormData<"u"?FormData:null,tn=typeof Blob<"u"?Blob:null,sn={isBrowser:!0,classes:{URLSearchParams:Qr,FormData:en,Blob:tn},protocols:["http","https","file","blob","url","data"]},ut=typeof window<"u"&&typeof document<"u",dt=typeof navigator=="object"&&navigator||void 0,rn=ut&&(!dt||["ReactNative","NativeScript","NS"].indexOf(dt.product)<0),nn=typeof WorkerGlobalScope<"u"&&self instanceof WorkerGlobalScope&&typeof self.importScripts=="function",on=ut&&window.location.href||"http://localhost",an=Object.freeze(Object.defineProperty({__proto__:null,hasBrowserEnv:ut,hasStandardBrowserEnv:rn,hasStandardBrowserWebWorkerEnv:nn,navigator:dt,origin:on},Symbol.toStringTag,{value:"Module"})),B={...an,...sn};function cn(t,e){return $e(t,new B.classes.URLSearchParams,{visitor:function(s,r,n,i){return B.isNode&&l.isBuffer(s)?(this.append(r,s.toString("base64")),!1):i.defaultVisitor.apply(this,arguments)},...e})}function ln(t){return l.matchAll(/\w+|\[(\w*)]/g,t).map(e=>e[0]==="[]"?"":e[1]||e[0])}function un(t){const e={},s=Object.keys(t);let r;const n=s.length;let i;for(r=0;r<n;r++)i=s[r],e[i]=t[i];return e}function Zt(t){function e(s,r,n,i){let o=s[i++];if(o==="__proto__")return!0;const a=Number.isFinite(+o),c=i>=s.length;return o=!o&&l.isArray(n)?n.length:o,c?(l.hasOwnProp(n,o)?n[o]=l.isArray(n[o])?n[o].concat(r):[n[o],r]:n[o]=r,!a):((!l.hasOwnProp(n,o)||!l.isObject(n[o]))&&(n[o]=[]),e(s,r,n[o],i)&&l.isArray(n[o])&&(n[o]=un(n[o])),!a)}if(l.isFormData(t)&&l.isFunction(t.entries)){const s={};return l.forEachEntry(t,(r,n)=>{e(ln(r),n,s,0)}),s}return null}const be=(t,e)=>t!=null&&l.hasOwnProp(t,e)?t[e]:void 0;function dn(t,e,s){if(l.isString(t))try{return(e||JSON.parse)(t),l.trim(t)}catch(r){if(r.name!=="SyntaxError")throw r}return(s||JSON.stringify)(t)}const xe={transitional:lt,adapter:["xhr","http","fetch"],transformRequest:[function(t,e){const s=e.getContentType()||"",r=s.indexOf("application/json")>-1,n=l.isObject(t);if(n&&l.isHTMLForm(t)&&(t=new FormData(t)),l.isFormData(t))return r?JSON.stringify(Zt(t)):t;if(l.isArrayBuffer(t)||l.isBuffer(t)||l.isStream(t)||l.isFile(t)||l.isBlob(t)||l.isReadableStream(t))return t;if(l.isArrayBufferView(t))return t.buffer;if(l.isURLSearchParams(t))return e.setContentType("application/x-www-form-urlencoded;charset=utf-8",!1),t.toString();let i;if(n){const o=be(this,"formSerializer");if(s.indexOf("application/x-www-form-urlencoded")>-1)return cn(t,o).toString();if((i=l.isFileList(t))||s.indexOf("multipart/form-data")>-1){const a=be(this,"env"),c=a&&a.FormData;return $e(i?{"files[]":t}:t,c&&new c,o)}}return n||r?(e.setContentType("application/json",!1),dn(t)):t}],transformResponse:[function(t){const e=be(this,"transitional")||xe.transitional,s=e&&e.forcedJSONParsing,r=be(this,"responseType"),n=r==="json";if(l.isResponse(t)||l.isReadableStream(t))return t;if(t&&l.isString(t)&&(s&&!r||n)){const i=!(e&&e.silentJSONParsing)&&n;try{return JSON.parse(t,be(this,"parseReviver"))}catch(o){if(i)throw o.name==="SyntaxError"?y.from(o,y.ERR_BAD_RESPONSE,this,null,be(this,"response")):o}}return t}],timeout:0,xsrfCookieName:"XSRF-TOKEN",xsrfHeaderName:"X-XSRF-TOKEN",maxContentLength:-1,maxBodyLength:-1,env:{FormData:B.classes.FormData,Blob:B.classes.Blob},validateStatus:function(t){return t>=200&&t<300},headers:{common:{Accept:"application/json, text/plain, */*","Content-Type":void 0}}};l.forEach(["delete","get","head","post","put","patch","query"],t=>{xe.headers[t]={}});function ht(t,e){const s=this||xe,r=e||s,n=W.from(r.headers);let i=r.data;return l.forEach(t,function(o){i=o.call(s,i,n.normalize(),e?e.status:void 0)}),n.normalize(),i}function Qt(t){return!!(t&&t.__CANCEL__)}let Oe=class extends y{constructor(t,e,s){super(t??"canceled",y.ERR_CANCELED,e,s),this.name="CanceledError",this.__CANCEL__=!0}};function es(t,e,s){const r=s.config.validateStatus;!s.status||!r||r(s.status)?t(s):e(new y("Request failed with status code "+s.status,s.status>=400&&s.status<500?y.ERR_BAD_REQUEST:y.ERR_BAD_RESPONSE,s.config,s.request,s))}function hn(t){const e=/^([-+\w]{1,25}):(?:\/\/)?/.exec(t);return e&&e[1]||""}function fn(t,e){t=t||10;const s=new Array(t),r=new Array(t);let n=0,i=0,o;return e=e!==void 0?e:1e3,function(a){const c=Date.now(),u=r[i];o||(o=c),s[n]=a,r[n]=c;let d=i,f=0;for(;d!==n;)f+=s[d++],d=d%t;if(n=(n+1)%t,n===i&&(i=(i+1)%t),c-o<e)return;const b=u&&c-u;return b?Math.round(f*1e3/b):void 0}}function pn(t,e){let s=0,r=1e3/e,n,i;const o=(a,c=Date.now())=>{s=c,n=null,i&&(clearTimeout(i),i=null),t(...a)};return[(...a)=>{const c=Date.now(),u=c-s;u>=r?o(a,c):(n=a,i||(i=setTimeout(()=>{i=null,o(n)},r-u)))},()=>n&&o(n)]}const Me=(t,e,s=3)=>{let r=0;const n=fn(50,250);return pn(i=>{if(!i||typeof i.loaded!="number")return;const o=i.loaded,a=i.lengthComputable?i.total:void 0,c=a!=null?Math.min(o,a):o,u=Math.max(0,c-r),d=n(u);r=Math.max(r,c);const f={loaded:c,total:a,progress:a?c/a:void 0,bytes:u,rate:d||void 0,estimated:d&&a?(a-c)/d:void 0,event:i,lengthComputable:a!=null,[e?"download":"upload"]:!0};t(f)},s)},ts=(t,e)=>{const s=t!=null;return[r=>e[0]({lengthComputable:s,total:t,loaded:r}),e[1]]},ss=t=>(...e)=>l.asap(()=>t(...e)),mn=B.hasStandardBrowserEnv?((t,e)=>s=>(s=new URL(s,B.origin),t.protocol===s.protocol&&t.host===s.host&&(e||t.port===s.port)))(new URL(B.origin),B.navigator&&/(msie|trident)/i.test(B.navigator.userAgent)):()=>!0,gn=B.hasStandardBrowserEnv?{write(t,e,s,r,n,i,o){if(typeof document>"u")return;const a=[`${t}=${encodeURIComponent(e)}`];l.isNumber(s)&&a.push(`expires=${new Date(s).toUTCString()}`),l.isString(r)&&a.push(`path=${r}`),l.isString(n)&&a.push(`domain=${n}`),i===!0&&a.push("secure"),l.isString(o)&&a.push(`SameSite=${o}`),document.cookie=a.join("; ")},read(t){if(typeof document>"u")return null;const e=document.cookie.split(";");for(let s=0;s<e.length;s++){const r=e[s].replace(/^\s+/,""),n=r.indexOf("=");if(n!==-1&&r.slice(0,n)===t)return decodeURIComponent(r.slice(n+1))}return null},remove(t){this.write(t,"",Date.now()-864e5,"/")}}:{write(){},read(){return null},remove(){}};function bn(t){return typeof t!="string"?!1:/^([a-z][a-z\d+\-.]*:)?\/\//i.test(t)}function _n(t,e){return e?t.replace(/\/?\/$/,"")+"/"+e.replace(/^\/+/,""):t}function rs(t,e,s){let r=!bn(e);return t&&(r||s===!1)?_n(t,e):e}const ns=t=>t instanceof W?{...t}:t;function ue(t,e){e=e||{};const s=Object.create(null);Object.defineProperty(s,"hasOwnProperty",{__proto__:null,value:Object.prototype.hasOwnProperty,enumerable:!1,writable:!0,configurable:!0});function r(u,d,f,b){return l.isPlainObject(u)&&l.isPlainObject(d)?l.merge.call({caseless:b},u,d):l.isPlainObject(d)?l.merge({},d):l.isArray(d)?d.slice():d}function n(u,d,f,b){if(l.isUndefined(d)){if(!l.isUndefined(u))return r(void 0,u,f,b)}else return r(u,d,f,b)}function i(u,d){if(!l.isUndefined(d))return r(void 0,d)}function o(u,d){if(l.isUndefined(d)){if(!l.isUndefined(u))return r(void 0,u)}else return r(void 0,d)}function a(u,d,f){if(l.hasOwnProp(e,f))return r(u,d);if(l.hasOwnProp(t,f))return r(void 0,u)}const c={url:i,method:i,data:i,baseURL:o,transformRequest:o,transformResponse:o,paramsSerializer:o,timeout:o,timeoutMessage:o,withCredentials:o,withXSRFToken:o,adapter:o,responseType:o,xsrfCookieName:o,xsrfHeaderName:o,onUploadProgress:o,onDownloadProgress:o,decompress:o,maxContentLength:o,maxBodyLength:o,beforeRedirect:o,transport:o,httpAgent:o,httpsAgent:o,cancelToken:o,socketPath:o,allowedSocketPaths:o,responseEncoding:o,validateStatus:a,headers:(u,d,f)=>n(ns(u),ns(d),f,!0)};return l.forEach(Object.keys({...t,...e}),function(u){if(u==="__proto__"||u==="constructor"||u==="prototype")return;const d=l.hasOwnProp(c,u)?c[u]:n,f=l.hasOwnProp(t,u)?t[u]:void 0,b=l.hasOwnProp(e,u)?e[u]:void 0,_=d(f,b,u);l.isUndefined(_)&&d!==a||(s[u]=_)}),s}const yn=["content-type","content-length"];function wn(t,e,s){if(s!=="content-only"){t.set(e);return}Object.entries(e).forEach(([r,n])=>{yn.includes(r.toLowerCase())&&t.set(r,n)})}const vn=t=>encodeURIComponent(t).replace(/%([0-9A-F]{2})/gi,(e,s)=>String.fromCharCode(parseInt(s,16))),is=t=>{const e=ue({},t),s=b=>l.hasOwnProp(e,b)?e[b]:void 0,r=s("data");let n=s("withXSRFToken");const i=s("xsrfHeaderName"),o=s("xsrfCookieName");let a=s("headers");const c=s("auth"),u=s("baseURL"),d=s("allowAbsoluteUrls"),f=s("url");if(e.headers=a=W.from(a),e.url=Yt(rs(u,f,d),t.params,t.paramsSerializer),c&&a.set("Authorization","Basic "+btoa((c.username||"")+":"+(c.password?vn(c.password):""))),l.isFormData(r)&&(B.hasStandardBrowserEnv||B.hasStandardBrowserWebWorkerEnv?a.setContentType(void 0):l.isFunction(r.getHeaders)&&wn(a,r.getHeaders(),s("formDataHeaderPolicy"))),B.hasStandardBrowserEnv&&(l.isFunction(n)&&(n=n(e)),n===!0||n==null&&mn(e.url))){const b=i&&o&&gn.read(o);b&&a.set(i,b)}return e},Sn=typeof XMLHttpRequest<"u",En=Sn&&function(t){return new Promise(function(e,s){const r=is(t);let n=r.data;const i=W.from(r.headers).normalize();let{responseType:o,onUploadProgress:a,onDownloadProgress:c}=r,u,d,f,b,_;function x(){b&&b(),_&&_(),r.cancelToken&&r.cancelToken.unsubscribe(u),r.signal&&r.signal.removeEventListener("abort",u)}let h=new XMLHttpRequest;h.open(r.method.toUpperCase(),r.url,!0),h.timeout=r.timeout;function O(){if(!h)return;const v=W.from("getAllResponseHeaders"in h&&h.getAllResponseHeaders()),p={data:!o||o==="text"||o==="json"?h.responseText:h.response,status:h.status,statusText:h.statusText,headers:v,config:t,request:h};es(function(k){e(k),x()},function(k){s(k),x()},p),h=null}"onloadend"in h?h.onloadend=O:h.onreadystatechange=function(){!h||h.readyState!==4||h.status===0&&!(h.responseURL&&h.responseURL.startsWith("file:"))||setTimeout(O)},h.onabort=function(){h&&(s(new y("Request aborted",y.ECONNABORTED,t,h)),x(),h=null)},h.onerror=function(v){const p=v&&v.message?v.message:"Network Error",k=new y(p,y.ERR_NETWORK,t,h);k.event=v||null,s(k),x(),h=null},h.ontimeout=function(){let v=r.timeout?"timeout of "+r.timeout+"ms exceeded":"timeout exceeded";const p=r.transitional||lt;r.timeoutErrorMessage&&(v=r.timeoutErrorMessage),s(new y(v,p.clarifyTimeoutError?y.ETIMEDOUT:y.ECONNABORTED,t,h)),x(),h=null},n===void 0&&i.setContentType(null),"setRequestHeader"in h&&l.forEach(Wt(i),function(v,p){h.setRequestHeader(p,v)}),l.isUndefined(r.withCredentials)||(h.withCredentials=!!r.withCredentials),o&&o!=="json"&&(h.responseType=r.responseType),c&&([f,_]=Me(c,!0),h.addEventListener("progress",f)),a&&h.upload&&([d,b]=Me(a),h.upload.addEventListener("progress",d),h.upload.addEventListener("loadend",b)),(r.cancelToken||r.signal)&&(u=v=>{h&&(s(!v||v.type?new Oe(null,t,h):v),h.abort(),x(),h=null)},r.cancelToken&&r.cancelToken.subscribe(u),r.signal&&(r.signal.aborted?u():r.signal.addEventListener("abort",u)));const w=hn(r.url);if(w&&!B.protocols.includes(w)){s(new y("Unsupported protocol "+w+":",y.ERR_BAD_REQUEST,t));return}h.send(n||null)})},xn=(t,e)=>{if(t=t?t.filter(Boolean):[],!e&&!t.length)return;const s=new AbortController;let r=!1;const n=function(c){if(!r){r=!0,o();const u=c instanceof Error?c:this.reason;s.abort(u instanceof y?u:new Oe(u instanceof Error?u.message:u))}};let i=e&&setTimeout(()=>{i=null,n(new y(`timeout of ${e}ms exceeded`,y.ETIMEDOUT))},e);const o=()=>{t&&(i&&clearTimeout(i),i=null,t.forEach(c=>{c.unsubscribe?c.unsubscribe(n):c.removeEventListener("abort",n)}),t=null)};t.forEach(c=>c.addEventListener("abort",n));const{signal:a}=s;return a.unsubscribe=()=>l.asap(o),a},On=function*(t,e){let s=t.byteLength;if(s<e){yield t;return}let r=0,n;for(;r<s;)n=r+e,yield t.slice(r,n),r=n},Cn=async function*(t,e){for await(const s of Rn(t))yield*On(s,e)},Rn=async function*(t){if(t[Symbol.asyncIterator]){yield*t;return}const e=t.getReader();try{for(;;){const{done:s,value:r}=await e.read();if(s)break;yield r}}finally{await e.cancel()}},os=(t,e,s,r)=>{const n=Cn(t,e);let i=0,o,a=c=>{o||(o=!0,r&&r(c))};return new ReadableStream({async pull(c){try{const{done:u,value:d}=await n.next();if(u){a(),c.close();return}let f=d.byteLength;if(s){let b=i+=f;s(b)}c.enqueue(new Uint8Array(d))}catch(u){throw a(u),u}},cancel(c){return a(c),n.return()}},{highWaterMark:2})};function kn(t){if(!t||typeof t!="string"||!t.startsWith("data:"))return 0;const e=t.indexOf(",");if(e<0)return 0;const s=t.slice(5,e),r=t.slice(e+1);if(/;base64/i.test(s)){let i=r.length;const o=r.length;for(let f=0;f<o;f++)if(r.charCodeAt(f)===37&&f+2<o){const b=r.charCodeAt(f+1),_=r.charCodeAt(f+2);(b>=48&&b<=57||b>=65&&b<=70||b>=97&&b<=102)&&(_>=48&&_<=57||_>=65&&_<=70||_>=97&&_<=102)&&(i-=2,f+=2)}let a=0,c=o-1;const u=f=>f>=2&&r.charCodeAt(f-2)===37&&r.charCodeAt(f-1)===51&&(r.charCodeAt(f)===68||r.charCodeAt(f)===100);c>=0&&(r.charCodeAt(c)===61?(a++,c--):u(c)&&(a++,c-=3)),a===1&&c>=0&&(r.charCodeAt(c)===61||u(c))&&a++;const d=Math.floor(i/4)*3-(a||0);return d>0?d:0}if(typeof Buffer<"u"&&typeof Buffer.byteLength=="function")return Buffer.byteLength(r,"utf8");let n=0;for(let i=0,o=r.length;i<o;i++){const a=r.charCodeAt(i);if(a<128)n+=1;else if(a<2048)n+=2;else if(a>=55296&&a<=56319&&i+1<o){const c=r.charCodeAt(i+1);c>=56320&&c<=57343?(n+=4,i++):n+=3}else n+=3}return n}const ft="1.16.1",as=64*1024,{isFunction:ze}=l,cs=(t,...e)=>{try{return!!t(...e)}catch{return!1}},An=t=>{const e=l.global!==void 0&&l.global!==null?l.global:globalThis,{ReadableStream:s,TextEncoder:r}=e;t=l.merge.call({skipUndefined:!0},{Request:e.Request,Response:e.Response},t);const{fetch:n,Request:i,Response:o}=t,a=n?ze(n):typeof fetch=="function",c=ze(i),u=ze(o);if(!a)return!1;const d=a&&ze(s),f=a&&(typeof r=="function"?(w=>v=>w.encode(v))(new r):async w=>new Uint8Array(await new i(w).arrayBuffer())),b=c&&d&&cs(()=>{let w=!1;const v=new i(B.origin,{body:new s,method:"POST",get duplex(){return w=!0,"half"}}),p=v.headers.has("Content-Type");return v.body!=null&&v.body.cancel(),w&&!p}),_=u&&d&&cs(()=>l.isReadableStream(new o("").body)),x={stream:_&&(w=>w.body)};a&&["text","arrayBuffer","blob","formData","stream"].forEach(w=>{!x[w]&&(x[w]=(v,p)=>{let k=v&&v[w];if(k)return k.call(v);throw new y(`Response type '${w}' is not supported`,y.ERR_NOT_SUPPORT,p)})});const h=async w=>{if(w==null)return 0;if(l.isBlob(w))return w.size;if(l.isSpecCompliantForm(w))return(await new i(B.origin,{method:"POST",body:w}).arrayBuffer()).byteLength;if(l.isArrayBufferView(w)||l.isArrayBuffer(w))return w.byteLength;if(l.isURLSearchParams(w)&&(w=w+""),l.isString(w))return(await f(w)).byteLength},O=async(w,v)=>l.toFiniteNumber(w.getContentLength())??h(v);return async w=>{let{url:v,method:p,data:k,signal:N,cancelToken:G,timeout:ie,onDownloadProgress:se,onUploadProgress:R,responseType:I,headers:q,withCredentials:ee="same-origin",fetchOptions:oe,maxContentLength:V,maxBodyLength:Ie}=is(w);const $=l.isNumber(V)&&V>-1,E=l.isNumber(Ie)&&Ie>-1;let j=n||fetch;I=I?(I+"").toLowerCase():"text";let U=xn([N,G&&G.toAbortSignal()],ie),D=null;const Y=U&&U.unsubscribe&&(()=>{U.unsubscribe()});let Te;try{if($&&typeof v=="string"&&v.startsWith("data:")&&kn(v)>V)throw new y("maxContentLength size of "+V+" exceeded",y.ERR_BAD_RESPONSE,w,D);if(E&&p!=="get"&&p!=="head"){const T=await O(q,k);if(typeof T=="number"&&isFinite(T)&&T>Ie)throw new y("Request body larger than maxBodyLength limit",y.ERR_BAD_REQUEST,w,D)}if(R&&b&&p!=="get"&&p!=="head"&&(Te=await O(q,k))!==0){let T=new i(v,{method:"POST",body:k,duplex:"half"}),ye;if(l.isFormData(k)&&(ye=T.headers.get("content-type"))&&q.setContentType(ye),T.body){const[Xe,Ze]=ts(Te,Me(ss(R)));k=os(T.body,as,Xe,Ze)}}l.isString(ee)||(ee=ee?"include":"omit");const M=c&&"credentials"in i.prototype;if(l.isFormData(k)){const T=q.getContentType();T&&/^multipart\/form-data/i.test(T)&&!/boundary=/i.test(T)&&q.delete("content-type")}q.set("User-Agent","axios/"+ft,!1);const ae={...oe,signal:U,method:p.toUpperCase(),headers:Wt(q.normalize()),body:k,duplex:"half",credentials:M?ee:void 0};D=c&&new i(v,ae);let te=await(c?j(D,oe):j(v,ae));if($){const T=l.toFiniteNumber(te.headers.get("content-length"));if(T!=null&&T>V)throw new y("maxContentLength size of "+V+" exceeded",y.ERR_BAD_RESPONSE,w,D)}const Et=_&&(I==="stream"||I==="response");if(_&&te.body&&(se||$||Et&&Y)){const T={};["status","statusText","headers"].forEach(Le=>{T[Le]=te[Le]});const ye=l.toFiniteNumber(te.headers.get("content-length")),[Xe,Ze]=se&&ts(ye,Me(ss(se),!0))||[];let Us=0;const ao=Le=>{if($&&(Us=Le,Us>V))throw new y("maxContentLength size of "+V+" exceeded",y.ERR_BAD_RESPONSE,w,D);Xe&&Xe(Le)};te=new o(os(te.body,as,ao,()=>{Ze&&Ze(),Y&&Y()}),T)}I=I||"text";let re=await x[l.findKey(x,I)||"text"](te,w);if($&&!_&&!Et){let T;if(re!=null&&(typeof re.byteLength=="number"?T=re.byteLength:typeof re.size=="number"?T=re.size:typeof re=="string"&&(T=typeof r=="function"?new r().encode(re).byteLength:re.length)),typeof T=="number"&&T>V)throw new y("maxContentLength size of "+V+" exceeded",y.ERR_BAD_RESPONSE,w,D)}return!Et&&Y&&Y(),await new Promise((T,ye)=>{es(T,ye,{data:re,headers:W.from(te.headers),status:te.status,statusText:te.statusText,config:w,request:D})})}catch(M){if(Y&&Y(),U&&U.aborted&&U.reason instanceof y){const ae=U.reason;throw ae.config=w,D&&(ae.request=D),M!==ae&&(ae.cause=M),ae}throw M&&M.name==="TypeError"&&/Load failed|fetch/i.test(M.message)?Object.assign(new y("Network Error",y.ERR_NETWORK,w,D,M&&M.response),{cause:M.cause||M}):y.from(M,M&&M.code,w,D,M&&M.response)}}},In=new Map,ls=t=>{let e=t&&t.env||{};const{fetch:s,Request:r,Response:n}=e,i=[r,n,s];let o=i.length,a=o,c,u,d=In;for(;a--;)c=i[a],u=d.get(c),u===void 0&&d.set(c,u=a?new Map:An(e)),d=u;return u};ls();const pt={http:Gr,xhr:En,fetch:{get:ls}};l.forEach(pt,(t,e)=>{if(t){try{Object.defineProperty(t,"name",{__proto__:null,value:e})}catch{}Object.defineProperty(t,"adapterName",{__proto__:null,value:e})}});const us=t=>`- ${t}`,Tn=t=>l.isFunction(t)||t===null||t===!1;function Ln(t,e){t=l.isArray(t)?t:[t];const{length:s}=t;let r,n;const i={};for(let o=0;o<s;o++){r=t[o];let a;if(n=r,!Tn(r)&&(n=pt[(a=String(r)).toLowerCase()],n===void 0))throw new y(`Unknown adapter '${a}'`);if(n&&(l.isFunction(n)||(n=n.get(e))))break;i[a||"#"+o]=n}if(!n){const o=Object.entries(i).map(([c,u])=>`adapter ${c} `+(u===!1?"is not supported by the environment":"is not available in the build"));let a=s?o.length>1?`since :
|
|
5
|
-
`+o.map(us).join(`
|
|
6
|
-
`):" "+us(o[0]):"as no adapter specified";throw new y("There is no suitable adapter to dispatch the request "+a,"ERR_NOT_SUPPORT")}return n}const ds={getAdapter:Ln,adapters:pt};function mt(t){if(t.cancelToken&&t.cancelToken.throwIfRequested(),t.signal&&t.signal.aborted)throw new Oe(null,t)}function hs(t){return mt(t),t.headers=W.from(t.headers),t.data=ht.call(t,t.transformRequest),["post","put","patch"].indexOf(t.method)!==-1&&t.headers.setContentType("application/x-www-form-urlencoded",!1),ds.getAdapter(t.adapter||xe.adapter,t)(t).then(function(e){mt(t),t.response=e;try{e.data=ht.call(t,t.transformResponse,e)}finally{delete t.response}return e.headers=W.from(e.headers),e},function(e){if(!Qt(e)&&(mt(t),e&&e.response)){t.response=e.response;try{e.response.data=ht.call(t,t.transformResponse,e.response)}finally{delete t.response}e.response.headers=W.from(e.response.headers)}return Promise.reject(e)})}const We={};["object","boolean","number","function","string","symbol"].forEach((t,e)=>{We[t]=function(s){return typeof s===t||"a"+(e<1?"n ":" ")+t}});const fs={};We.transitional=function(t,e,s){function r(n,i){return"[Axios v"+ft+"] Transitional option '"+n+"'"+i+(s?". "+s:"")}return(n,i,o)=>{if(t===!1)throw new y(r(i," has been removed"+(e?" in "+e:"")),y.ERR_DEPRECATED);return e&&!fs[i]&&(fs[i]=!0,console.warn(r(i," has been deprecated since v"+e+" and will be removed in the near future"))),t?t(n,i,o):!0}},We.spelling=function(t){return(e,s)=>(console.warn(`${s} is likely a misspelling of ${t}`),!0)};function Pn(t,e,s){if(typeof t!="object")throw new y("options must be an object",y.ERR_BAD_OPTION_VALUE);const r=Object.keys(t);let n=r.length;for(;n-- >0;){const i=r[n],o=Object.prototype.hasOwnProperty.call(e,i)?e[i]:void 0;if(o){const a=t[i],c=a===void 0||o(a,i,t);if(c!==!0)throw new y("option "+i+" must be "+c,y.ERR_BAD_OPTION_VALUE);continue}if(s!==!0)throw new y("Unknown option "+i,y.ERR_BAD_OPTION)}}const He={assertOptions:Pn,validators:We},K=He.validators;let de=class{constructor(t){this.defaults=t||{},this.interceptors={request:new Xt,response:new Xt}}async request(t,e){try{return await this._request(t,e)}catch(s){if(s instanceof Error){let r={};Error.captureStackTrace?Error.captureStackTrace(r):r=new Error;const n=(()=>{if(!r.stack)return"";const i=r.stack.indexOf(`
|
|
7
|
-
`);return i===-1?"":r.stack.slice(i+1)})();try{if(!s.stack)s.stack=n;else if(n){const i=n.indexOf(`
|
|
8
|
-
`),o=i===-1?-1:n.indexOf(`
|
|
9
|
-
`,i+1),a=o===-1?"":n.slice(o+1);String(s.stack).endsWith(a)||(s.stack+=`
|
|
10
|
-
`+n)}}catch{}}throw s}}_request(t,e){typeof t=="string"?(e=e||{},e.url=t):e=t||{},e=ue(this.defaults,e);const{transitional:s,paramsSerializer:r,headers:n}=e;s!==void 0&&He.assertOptions(s,{silentJSONParsing:K.transitional(K.boolean),forcedJSONParsing:K.transitional(K.boolean),clarifyTimeoutError:K.transitional(K.boolean),legacyInterceptorReqResOrdering:K.transitional(K.boolean)},!1),r!=null&&(l.isFunction(r)?e.paramsSerializer={serialize:r}:He.assertOptions(r,{encode:K.function,serialize:K.function},!0)),e.allowAbsoluteUrls!==void 0||(this.defaults.allowAbsoluteUrls!==void 0?e.allowAbsoluteUrls=this.defaults.allowAbsoluteUrls:e.allowAbsoluteUrls=!0),He.assertOptions(e,{baseUrl:K.spelling("baseURL"),withXsrfToken:K.spelling("withXSRFToken")},!0),e.method=(e.method||this.defaults.method||"get").toLowerCase();let i=n&&l.merge(n.common,n[e.method]);n&&l.forEach(["delete","get","head","post","put","patch","query","common"],_=>{delete n[_]}),e.headers=W.concat(i,n);const o=[];let a=!0;this.interceptors.request.forEach(function(_){if(typeof _.runWhen=="function"&&_.runWhen(e)===!1)return;a=a&&_.synchronous;const x=e.transitional||lt;x&&x.legacyInterceptorReqResOrdering?o.unshift(_.fulfilled,_.rejected):o.push(_.fulfilled,_.rejected)});const c=[];this.interceptors.response.forEach(function(_){c.push(_.fulfilled,_.rejected)});let u,d=0,f;if(!a){const _=[hs.bind(this),void 0];for(_.unshift(...o),_.push(...c),f=_.length,u=Promise.resolve(e);d<f;)u=u.then(_[d++],_[d++]);return u}f=o.length;let b=e;for(;d<f;){const _=o[d++],x=o[d++];try{b=_(b)}catch(h){x.call(this,h);break}}try{u=hs.call(this,b)}catch(_){return Promise.reject(_)}for(d=0,f=c.length;d<f;)u=u.then(c[d++],c[d++]);return u}getUri(t){t=ue(this.defaults,t);const e=rs(t.baseURL,t.url,t.allowAbsoluteUrls);return Yt(e,t.params,t.paramsSerializer)}};l.forEach(["delete","get","head","options"],function(t){de.prototype[t]=function(e,s){return this.request(ue(s||{},{method:t,url:e,data:(s||{}).data}))}}),l.forEach(["post","put","patch","query"],function(t){function e(s){return function(r,n,i){return this.request(ue(i||{},{method:t,headers:s?{"Content-Type":"multipart/form-data"}:{},url:r,data:n}))}}de.prototype[t]=e(),t!=="query"&&(de.prototype[t+"Form"]=e(!0))});let Nn=class qs{constructor(e){if(typeof e!="function")throw new TypeError("executor must be a function.");let s;this.promise=new Promise(function(n){s=n});const r=this;this.promise.then(n=>{if(!r._listeners)return;let i=r._listeners.length;for(;i-- >0;)r._listeners[i](n);r._listeners=null}),this.promise.then=n=>{let i;const o=new Promise(a=>{r.subscribe(a),i=a}).then(n);return o.cancel=function(){r.unsubscribe(i)},o},e(function(n,i,o){r.reason||(r.reason=new Oe(n,i,o),s(r.reason))})}throwIfRequested(){if(this.reason)throw this.reason}subscribe(e){if(this.reason){e(this.reason);return}this._listeners?this._listeners.push(e):this._listeners=[e]}unsubscribe(e){if(!this._listeners)return;const s=this._listeners.indexOf(e);s!==-1&&this._listeners.splice(s,1)}toAbortSignal(){const e=new AbortController,s=r=>{e.abort(r)};return this.subscribe(s),e.signal.unsubscribe=()=>this.unsubscribe(s),e.signal}static source(){let e;return{token:new qs(function(s){e=s}),cancel:e}}};function jn(t){return function(e){return t.apply(null,e)}}function Dn(t){return l.isObject(t)&&t.isAxiosError===!0}const gt={Continue:100,SwitchingProtocols:101,Processing:102,EarlyHints:103,Ok:200,Created:201,Accepted:202,NonAuthoritativeInformation:203,NoContent:204,ResetContent:205,PartialContent:206,MultiStatus:207,AlreadyReported:208,ImUsed:226,MultipleChoices:300,MovedPermanently:301,Found:302,SeeOther:303,NotModified:304,UseProxy:305,Unused:306,TemporaryRedirect:307,PermanentRedirect:308,BadRequest:400,Unauthorized:401,PaymentRequired:402,Forbidden:403,NotFound:404,MethodNotAllowed:405,NotAcceptable:406,ProxyAuthenticationRequired:407,RequestTimeout:408,Conflict:409,Gone:410,LengthRequired:411,PreconditionFailed:412,PayloadTooLarge:413,UriTooLong:414,UnsupportedMediaType:415,RangeNotSatisfiable:416,ExpectationFailed:417,ImATeapot:418,MisdirectedRequest:421,UnprocessableEntity:422,Locked:423,FailedDependency:424,TooEarly:425,UpgradeRequired:426,PreconditionRequired:428,TooManyRequests:429,RequestHeaderFieldsTooLarge:431,UnavailableForLegalReasons:451,InternalServerError:500,NotImplemented:501,BadGateway:502,ServiceUnavailable:503,GatewayTimeout:504,HttpVersionNotSupported:505,VariantAlsoNegotiates:506,InsufficientStorage:507,LoopDetected:508,NotExtended:510,NetworkAuthenticationRequired:511,WebServerIsDown:521,ConnectionTimedOut:522,OriginIsUnreachable:523,TimeoutOccurred:524,SslHandshakeFailed:525,InvalidSslCertificate:526};Object.entries(gt).forEach(([t,e])=>{gt[e]=t});function ps(t){const e=new de(t),s=jt(de.prototype.request,e);return l.extend(s,de.prototype,e,{allOwnKeys:!0}),l.extend(s,e,null,{allOwnKeys:!0}),s.create=function(r){return ps(ue(t,r))},s}const P=ps(xe);P.Axios=de,P.CanceledError=Oe,P.CancelToken=Nn,P.isCancel=Qt,P.VERSION=ft,P.toFormData=$e,P.AxiosError=y,P.Cancel=P.CanceledError,P.all=function(t){return Promise.all(t)},P.spread=jn,P.isAxiosError=Dn,P.mergeConfig=ue,P.AxiosHeaders=W,P.formToJSON=t=>Zt(l.isHTMLForm(t)?new FormData(t):t),P.getAdapter=ds.getAdapter,P.HttpStatusCode=gt,P.default=P;const{Axios:lo,AxiosError:uo,CanceledError:ho,isCancel:fo,CancelToken:po,VERSION:mo,all:go,Cancel:bo,isAxiosError:_o,spread:yo,toFormData:wo,AxiosHeaders:vo,HttpStatusCode:So,formToJSON:Eo,getAdapter:xo,mergeConfig:Oo,create:Co}=P,ms=P.create({baseURL:location.origin,timeout:6e4,params:{}});ms.interceptors.response.use(t=>t,t=>{if(t.response){if(t.response.status===401&&OpenC3Auth.updateToken(OpenC3Auth.defaultMinValidity,!0).then(function(r){r&&OpenC3Auth.setTokens()}),t.response.config.headers["Ignore-Errors"]&&t.response.config.headers["Ignore-Errors"].includes(t.response.status.toString()))return Promise.reject(t);let e=`HTTP ${t.response.status} - `;t.response?.statusText&&(e+=`${t.response.statusText} `),t.response?.config?.data&&(e+=`${t.response.config.data} `),t.response?.data?.message?e+=`${t.response.data.message}`:t.response?.data?.exception?e+=`${t.response.data.exception}`:t.response?.data?.error?.message?(t.response.data.error.class&&(e+=`${t.response.data.error.class} `),e+=`${t.response.data.error.message}`):e+=`${t.response?.data}`;const{$cosmosNotify:s}=window;throw s&&s.serious({title:"Network error",body:e}),t}else throw t});let Je=()=>({emit(t,...e){for(let s=this.events[t]||[],r=0,n=s.length;r<n;r++)s[r](...e)},events:{},on(t,e){return(this.events[t]||=[]).push(e),()=>{this.events[t]=this.events[t]?.filter(s=>e!==s)}}});class Ce extends Error{constructor(e,s){e instanceof Error?(super(e.message),this.cause=e):super(e),this.reason=s,this.name="ReasonError"}}class bt extends Ce{constructor(e){super("Rejected",e),this.name="SubscriptionRejectedError"}}class Fn extends Ce{constructor(e){super(e||"Timed out to receive subscription ack"),this.name="SubscriptionTimeoutError"}}class Q extends Ce{constructor(e,s){s?super(e,s):super("Disconnected",e),this.name="DisconnectedError"}}class Un extends Q{constructor(e){super(e,"stale_connection"),this.name="StaleConnectionError"}}function gs(t){return t?`{${Object.keys(t).sort().filter(e=>t[e]!==void 0).map(e=>{let s=JSON.stringify(t[e]);return`${JSON.stringify(e)}:${s}`}).join(",")}}`:""}class Bn{constructor(e){this.channel=e,this.listeners=[]}watch(){this.listeners.push(this.channel.on("presence",e=>{if(e.type==="info"){this._state||(this._state=this.stateFromInfo(e));return}this._state&&(e.type==="join"?this._state[e.id]=e.info:e.type==="leave"&&delete this._state[e.id])}))}reset(){delete this._state}dispose(){delete this._info,delete this._state,this.listeners.forEach(e=>e()),this.listeners.length=0}async join(e,s){if(!this._info)return this._info={id:String(e),info:s},this.channel.perform("$presence:join",this._info)}async leave(){if(!this._info)return;let e=await this.channel.perform("$presence:leave");return delete this._info,e}async info(){return this._state?this._state:(this._promise||(this._promise=this._sync()),await this._promise,this._state)}async _sync(){this.watch();try{let e=await this.channel.perform("$presence:info",{});return this._state=this.stateFromInfo(e),this._state}finally{delete this._promise}}stateFromInfo(e){return e.records.reduce((s,{id:r,info:n})=>(s[r]=n,s),{})}}const he=Symbol("state");class bs{constructor(e={}){this.emitter=Je(),this.params=Object.freeze(e),this.presence=new Bn(this),this.initialConnect=!0,this[he]="idle"}get identifier(){return this._identifier?this._identifier:(this._identifier=gs({channel:this.channelId,...this.params}),this._identifier)}get channelId(){return this.constructor.identifier}get state(){return this[he]}attached(e){if(this.receiver){if(this.receiver!==e)throw Error("Already connected to a different receiver");return!1}return this.receiver=e,!0}connecting(){this[he]="connecting"}connected(){if(this.state==="connected"||this.state==="closed")return;this[he]="connected";let e=!1;this.initialConnect?(this.initialConnect=!1,this.emit("connect",{reconnect:!1,restored:e})):this.emit("connect",{reconnect:!0,restored:e})}restored(){if(this.state==="connected")throw Error("Already connected");this[he]="connected";let e=!0,s=!0;this.initialConnect=!1,this.emit("connect",{reconnect:s,restored:e})}disconnected(e){this.state==="disconnected"||this.state==="closed"||(this[he]="disconnected",this.presence.reset(),this.emit("disconnect",e))}closed(e){this.state!=="closed"&&(this[he]="closed",delete this.receiver,this.initialConnect=!0,this.presence.dispose(),this.emit("close",e))}disconnect(){this.state==="idle"||this.state==="closed"||this.receiver.unsubscribe(this)}async perform(e,s){if(this.state==="idle"||this.state==="closed")throw Error("Channel is not subscribed");return this.receiver.perform(this.identifier,e,s)}async send(e){return this.perform(void 0,e)}async whisper(e){try{await this.perform("$whisper",e)}catch(s){let r=this.receiver?this.receiver.logger:null;r&&r.warn("whisper failed: ",s)}}receive(e,s){this.emit("message",e,s)}on(e,s){return this.emitter.on(e,s)}once(e,s){let r=this.emitter.on(e,(...n)=>{r(),s(...n)});return r}emit(e,...s){return this.emitter.emit(e,...s)}ensureSubscribed(){return this.state==="connected"?Promise.resolve():this.state==="closed"?Promise.reject(Error("Channel is unsubscribed")):this.pendingSubscribe()}pendingSubscribe(){return this._pendingSubscribe?this._pendingSubscribe:(this._pendingSubscribe=new Promise((e,s)=>{let r=[()=>delete this._pendingSubscribe];r.push(this.on("connect",()=>{r.forEach(n=>n()),e()})),r.push(this.on("close",n=>{r.forEach(i=>i()),s(n||new Ce("Channel was disconnected before subscribing","canceled"))}))}),this._pendingSubscribe)}}class qn{constructor(e){this.id=e,this.intent="unsubscribed",this.state="idle",this.channels=[],this.disposed=!1,this._pendings=[]}add(e){this.channels.includes(e)||this.channels.push(e)}remove(e){let s=this.channels.indexOf(e);s>-1&&this.channels.splice(s,1)}notify(e,...s){this.state=e==="restored"?"connected":e,s.length===1?this.channels.forEach(r=>r[e](s[0])):this.channels.forEach(r=>r[e]())}pending(e){this._checkIntent(e);let s=this._pendings[0];return!s||s.intent!==e?Promise.resolve():s.promise}ensureResubscribed(){this.disposed||(this.intent=void 0,this.ensureSubscribed())}ensureSubscribed(){if(this.intent!=="subscribed"){if(this.disposed)throw Error("Subscription is disposed");this.intent="subscribed",!this._mergeWithPending("unsubscribed")&&this.subscriber(this)}}maybeUnsubscribe(){this.disposed||this.intent==="unsubscribed"||this.channels.length>0||(this.intent="unsubscribed",this._mergeWithPending("subscribed"))||this.unsubscriber(this)}async acquire(e){this._checkIntent(e);let s,r={promise:new Promise(i=>{s=i}),intent:e,release:()=>{this._pendings.splice(this._pendings.indexOf(r),1),s(r)},canceled:!1,acquired:!1},n=this._pendingTop;return this._pendings.push(r),n&&await n.promise,this.gvl&&await this.gvl.acquire(r,e),r.acquired=!0,r}close(e){this.disposed=!0,this.intent=void 0,this.notify("closed",e)}_checkIntent(e){if(!(e==="unsubscribed"||e==="subscribed"))throw Error(`Unknown subscription intent: ${e}`)}get _pendingTop(){return this._pendings.length?this._pendings[this._pendings.length-1]:void 0}_mergeWithPending(e){let s=this._pendingTop;return!s||s.acquired||s.intent!==e?!1:(this._pendings.pop(),s.canceled=!0,!0)}}class Vn{constructor(){this.queue=[]}async acquire(e,s){s==="subscribed"&&(this.queue.push(e.promise.then(()=>{this.queue.splice(this.queue.indexOf(e),1)})),this.queue.length>1&&await this.queue[this.queue.length-2])}}class $n{constructor(e){e.concurrentSubscribes===!1&&(this.glv=new Vn),this._subscriptions={},this._localToRemote={}}all(){return Object.values(this._subscriptions)}get(e){return this._subscriptions[e]}create(e,{subscribe:s,unsubscribe:r}){let n=this._subscriptions[e]=new qn(e);return n.remoteId=this._localToRemote[e],n.subscriber=s,n.unsubscriber=r,n.gvl=this.glv,n}remove(e){delete this._subscriptions[e],delete this._localToRemote[e]}storeRemoteId(e,s){this._localToRemote[e]=s;let r=this.get(e);r&&(r.remoteId=s)}}class Mn{constructor(e={}){this.subscriptions=new $n(e),this._pendingMessages=[],this._remoteToLocal={}}subscribe(e,s){this._remoteToLocal[s]=e,this.subscriptions.storeRemoteId(e,s),this.flush(s)}unsubscribe(e){let s=this.subscriptions.get(e);if(!s)return;let r=s.remoteId;r&&delete this._remoteToLocal[r],this.subscriptions.remove(e)}transmit(e,s,r){let n=this._remoteToLocal[e];if(!n){this._pendingMessages.push([e,s,r]);return}let i=this.subscriptions.get(n);i&&i.channels.forEach(o=>{o.receive(s,r)})}notify(e,s,r){let n=this._remoteToLocal[e];if(!n)return;let i=this.subscriptions.get(n);i&&i.channels.forEach(o=>o.emit(s,r))}close(){this._pendingMessages.length=0}get size(){return this.channels.length}get channels(){return this.subscriptions.all().flatMap(e=>e.channels)}flush(e){let s=[];for(let r of this._pendingMessages)r[0]===e?this.transmit(r[0],r[1],r[2]):s.push(r);this._pendingMessages=s}}const _s={debug:0,info:1,warn:2,error:3};class ys{constructor(e){this.level=e||"warn"}log(e,s,r){_s[e]<_s[this.level]||this.writeLogEntry(e,s,r)}writeLogEntry(){throw Error("Not implemented")}debug(e,s){this.log("debug",e,s)}info(e,s){this.log("info",e,s)}warn(e,s){this.log("warn",e,s)}error(e,s){this.log("error",e,s)}}class Re extends ys{writeLogEntry(){}}class zn{encode(e){return JSON.stringify(e)}decode(e){try{return JSON.parse(e)}catch{}}}let Wn=0;class ws{constructor(e={}){let{logger:s}=e;this.logger=s||new Re,this.pendingSubscriptions={},this.pendingUnsubscriptions={},this.subscribeCooldownInterval=e.subscribeCooldownInterval||250,this.subscribeRetryInterval=e.subscribeRetryInterval||5e3}attached(e){this.cable=e}subscribe(e,s){let r={channel:e};s&&Object.assign(r,s);let n=gs(r);if(this.pendingUnsubscriptions[n]){let o=this.subscribeCooldownInterval*1.5;return this.logger.debug(`unsubscribed recently, cooldown for ${o}`,n),new Promise(a=>{setTimeout(()=>{a(this.subscribe(e,s))},o)})}if(this.pendingSubscriptions[n])return this.logger.warn("subscription is already pending, skipping",n),Promise.reject(Error("Already subscribing"));let i=this.subscribeRetryInterval;return new Promise((o,a)=>{let c=++Wn;this.pendingSubscriptions[n]={resolve:o,reject:a,id:c},this.cable.send(this.buildSubscribeRequest(n)),this.maybeRetrySubscribe(c,n,i)})}buildSubscribeRequest(e){return{command:"subscribe",identifier:e}}maybeRetrySubscribe(e,s,r){setTimeout(()=>{let n=this.pendingSubscriptions[s];n&&n.id===e&&(this.logger.warn(`no subscription ack received in ${r}ms, retrying subscribe`,s),this.cable.send(this.buildSubscribeRequest(s)),this.maybeExpireSubscribe(e,s,r))},r)}maybeExpireSubscribe(e,s,r){setTimeout(()=>{let n=this.pendingSubscriptions[s];n&&n.id===e&&(delete this.pendingSubscriptions[s],n.reject(new Fn(`Haven't received subscription ack in ${r*2}ms for ${s}`)))},r)}unsubscribe(e){return this.cable.send({command:"unsubscribe",identifier:e}),this.pendingUnsubscriptions[e]=!0,setTimeout(()=>{delete this.pendingUnsubscriptions[e]},this.subscribeCooldownInterval),Promise.resolve()}perform(e,s,r){return s==="$whisper"?this.whisper(e,r):(r||(r={}),r.action||=s,this.cable.send({command:"message",identifier:e,data:JSON.stringify(r)}),Promise.resolve())}whisper(e,s){return this.cable.send({command:"whisper",identifier:e,data:s}),Promise.resolve()}receive(e){if(typeof e!="object"){this.logger.error("unsupported message format",{message:e});return}let{type:s,identifier:r,message:n,reason:i,reconnect:o}=e;if(s==="ping")return this.cable.keepalive(e.message);if(this.cable.keepalive(),s==="welcome"){let a=e.sid;return a&&this.cable.setSessionId(a),this.cable.connected()}if(s==="disconnect"){let a=new Q(i);this.reset(a),o===!1?this.cable.closed(a):this.cable.disconnected(a);return}if(s==="confirm_subscription"){let a=this.pendingSubscriptions[r];if(!a){this.logger.error("subscription not found, unsubscribing",{type:s,identifier:r}),this.unsubscribe(r);return}return delete this.pendingSubscriptions[r],a.resolve(r)}if(s==="reject_subscription"){let a=this.pendingSubscriptions[r];return a?(delete this.pendingSubscriptions[r],a.reject(new bt)):this.logger.error("subscription not found",{type:s,identifier:r})}if(n)return{identifier:r,message:n};this.logger.warn(`unknown message type: ${s}`,{message:e})}reset(e){for(let s in this.pendingSubscriptions)this.pendingSubscriptions[s].reject(e);this.pendingSubscriptions={}}recoverableClosure(){return!1}}const vs=()=>Date.now()/1e3|0;class Hn extends ws{constructor(e={}){super(e),this.streamsPositions={},this.subscriptionStreams={},this.pendingHistory={},this.pendingPresence={},this.presenceInfo={},this.restoreSince=e.historyTimestamp,this.disableSessionRecovery=e.disableSessionRecovery,this.restoreSince===void 0&&(this.restoreSince=vs()),this.sessionId=void 0,this.sendPongs=e.pongs}reset(e){for(let s in this.pendingPresence)this.pendingPresence[s].reject(e);return this.pendingPresence={},super.reset()}receive(e){if(typeof e!="object"){this.logger.error("unsupported message format",{message:e});return}let{type:s,identifier:r,message:n}=e;if(s==="disconnect")return delete this.sessionId,this.cable.setSessionId(""),super.receive(e);if(s==="reject_subscription")return super.receive(e);if(s==="confirm_subscription")return this.subscriptionStreams[r]||(this.subscriptionStreams[r]=new Set),super.receive(e);if(s==="ping")return this.restoreSince&&(this.restoreSince=vs()),this.sendPongs&&this.sendPong(),this.cable.keepalive(e.message);if(this.cable.keepalive(),s==="confirm_history"){this.logger.debug("history result received",e),this.cable.notify("history_received",r);return}if(s==="reject_history"){this.logger.warn("failed to retrieve history",e),this.cable.notify("history_not_found",r);return}if(s==="welcome"){if(this.disableSessionRecovery||(this.sessionId=e.sid,this.sessionId&&this.cable.setSessionId(this.sessionId)),e.restored){let i=e.restored_ids||Object.keys(this.subscriptionStreams);for(let o of i)this.cable.send({identifier:o,command:"history",history:this.historyRequestFor(o)}),this.presenceInfo[o]&&this.cable.send({identifier:o,command:"join",presence:this.presenceInfo[o]});return this.cable.restored(i)}return this.cable.connected(this.sessionId)}if(s==="presence"){let i=n.type;if(i==="info"){let o=this.pendingPresence[r];o&&(delete this.pendingPresence[r],o.resolve(n))}else if(i==="error"){let o=this.pendingPresence[r];o&&(delete this.pendingPresence[r],o.reject(new Error("failed to retrieve presence")))}return{type:s,identifier:r,message:n}}if(n){let i=this.trackStreamPosition(r,e.stream_id,e.epoch,e.offset);return{identifier:r,message:n,meta:i}}this.logger.warn(`unknown message type: ${s}`,{message:e})}perform(e,s,r){switch(s){case"$presence:join":return this.join(e,r);case"$presence:leave":return this.leave(e,r);case"$presence:info":return this.presence(e,r)}return super.perform(e,s,r)}unsubscribe(e){return delete this.presenceInfo[e],super.unsubscribe(e)}buildSubscribeRequest(e){let s=super.buildSubscribeRequest(e),r=this.historyRequestFor(e);r&&(s.history=r,this.pendingHistory[e]=!0);let n=this.presenceInfo[e];return n&&(s.presence=n),s}recoverableClosure(){return!!this.sessionId}historyRequestFor(e){let s={},r=!1;if(this.subscriptionStreams[e])for(let n of this.subscriptionStreams[e]){let i=this.streamsPositions[n];i&&(r=!0,s[n]=i)}if(!(!r&&!this.restoreSince))return{since:this.restoreSince,streams:s}}trackStreamPosition(e,s,r,n){if(!(!s||!r))return this.subscriptionStreams[e]||(this.subscriptionStreams[e]=new Set),this.subscriptionStreams[e].add(s),this.streamsPositions[s]={epoch:r,offset:n},{stream:s,epoch:r,offset:n}}async sendPong(){await new Promise(e=>setTimeout(e,0)),this.cable.state==="connected"&&this.cable.send({command:"pong"})}async join(e,s){return this.presenceInfo[e]=s,this.cable.send({command:"join",identifier:e,presence:s}),Promise.resolve()}async leave(e,s){return delete this.presenceInfo[e],this.cable.send({command:"leave",identifier:e,presence:s}),Promise.resolve()}presence(e,s){return this.pendingPresence[e]?(this.logger.warn("presence is already pending, skipping",e),Promise.reject(Error("presence request is already pending"))):new Promise((r,n)=>{this.pendingPresence[e]={resolve:r,reject:n},this.cable.send({command:"presence",identifier:e,data:s})})}}class Jn extends Ce{constructor(){super("No connection","closed"),this.name="NoConnectionError"}}class Ss extends bs{static identifier="__ghost__";constructor(e,s){super(s),this.channelId=e}set channelId(e){this._channelId=e}get channelId(){return this._channelId}}const Kn="$pubsub";class Es extends bs{static identifier=Kn;async perform(e,s){if(e.startsWith("$"))return super.perform(e,s);throw Error("not implemented")}}const fe=Symbol("state");let Gn=class{constructor({transport:t,protocol:e,encoder:s,logger:r,lazy:n,hubOptions:i,performFailures:o,transportConfigurator:a}){this.emitter=Je(),this.transport=t,this.encoder=s,this.logger=r||new Re,this.protocol=e,this.performFailures=o||"throw",this.protocol.attached(this),this.hub=new Mn(i||{}),this[fe]="idle",this.handleClose=this.handleClose.bind(this),this.handleIncoming=this.handleIncoming.bind(this),this.transportConfigurator=a,this.transport.on("close",this.handleClose),this.transport.on("data",this.handleIncoming),this.initialConnect=!0,this.recovering=!1,n===!1&&this.connect().catch(()=>{})}get state(){return this[fe]}async connect(){if(this.state==="connected")return Promise.resolve();if(this.state==="connecting")return this.pendingConnect();let t=this.state==="idle";this[fe]="connecting";let e=this.pendingConnect();this.logger.debug("connecting");try{this.transportConfigurator&&await this.transportConfigurator(this.transport,{initial:t}),await this.transport.open()}catch(s){this.handleClose(s)}return e}setSessionId(t){this.sessionId=t,this.transport.setParam("sid",t)}connected(){if(this.state==="connected")return;this.logger.info("connected"),this[fe]="connected",this.recovering&&this.hub.subscriptions.all().forEach(e=>e.notify("disconnected",new Q("recovery_failed"))),this.hub.subscriptions.all().forEach(e=>this._resubscribe(e));let t=!1;this.recovering=!1,this.initialConnect?(this.initialConnect=!1,this.emit("connect",{reconnect:!1,restored:t})):this.emit("connect",{reconnect:!0,restored:t})}restored(t){this.logger.info("connection recovered",{remoteIds:t}),this[fe]="connected",this.hub.subscriptions.all().forEach(r=>{t&&r.remoteId&&t.includes(r.remoteId)?r.notify("restored"):(r.notify("disconnected",new Q("recovery_failed")),this._resubscribe(r))});let e=!this.initialConnect,s=!0;this.recovering=!1,this.initialConnect=!1,this.emit("connect",{reconnect:e,restored:s})}notify(t,e,s){e&&typeof e!="string"&&(s=e,e=void 0),e?this.hub.notify(e,"info",{type:t,data:s}):this.emit("info",{type:t,data:s})}handleClose(t){this.logger.debug("transport closed",{error:t}),this.disconnected(new Q(t,"transport_closed"))}disconnected(t){(this.state==="connected"||this.state==="connecting")&&(this.logger.info("disconnected",{reason:t}),this[fe]="disconnected",this.recovering=this.protocol.recoverableClosure(t),this.recovering?this.hub.subscriptions.all().forEach(e=>e.notify("connecting")):this.hub.subscriptions.all().forEach(e=>{e.notify("disconnected",t)}),this.protocol.reset(t),this.hub.close(),this.transport.close(),this.emit("disconnect",t))}closed(t){if(this.state==="closed"||this.state==="idle")return;let e;t&&(e=t instanceof Q?t:new Q(t,void 0)),this.logger.info("closed",{reason:t||"user"}),this[fe]="closed";let s=e||new Q("cable_closed");this.hub.subscriptions.all().forEach(r=>r.notify("disconnected",s)),this.hub.close(),this.protocol.reset(),this.transport.close(),this.initialConnect=!0,this.emit("close",e)}disconnect(){this.closed()}handleIncoming(t){if(this.state==="closed"||this.state==="idle")return;let e=this.encoder.decode(t);if(e===void 0){this.logger.error("failed to decode message",{message:t});return}this.logger.debug("incoming data",e);let s=this.protocol.receive(e);if(s){this.logger.debug("processed incoming message",s);let{type:r,identifier:n,message:i,meta:o}=s;r?this.hub.notify(n,r,i):this.hub.transmit(n,i,o)}}send(t){if(this.state==="closed")throw Error("Cable is closed");let e=this.encoder.encode(t);if(e===void 0){this.logger.error("failed to encode message",{message:t});return}this.logger.debug("outgoing message",t),this.transport.send(e)}keepalive(t){this.emit("keepalive",t)}streamFrom(t){let e=new Es({stream_name:t});return this.subscribe(e)}streamFromSigned(t){let e=new Es({signed_stream_name:t});return this.subscribe(e)}subscribeTo(t,e){let s,r;return typeof t=="string"&&(r=t,t=Ss),s=r?new t(r,e):new t(e),this.subscribe(s)}subscribe(t){if(!t.attached(this))return t;let e=t.identifier;t.connecting();let s=this.hub.subscriptions.get(e)||this.hub.subscriptions.create(e,{subscribe:r=>this._subscribe(r,t.channelId,t.params),unsubscribe:r=>this._unsubscribe(r)});return s.add(t),s.intent==="subscribed"&&s.state==="connected"&&t.connected(),s.ensureSubscribed(),t}async _resubscribe(t){t.intent!=="subscribed"||!t.channels[0]||(t.notify("connecting"),t.ensureResubscribed())}async _subscribe(t,e,s){let r=t.id;if(this.state==="idle"&&this.connect().catch(()=>{}),this.state!=="connected"){this.logger.debug("cancel subscribe, no connection",{identifier:r});return}this.logger.debug("acquiring subscribe lock",{identifier:r});let n=await t.acquire("subscribed");if(n.canceled){this.logger.debug("subscribe lock has been canceled",{identifier:r}),n.release();return}if(this.logger.debug("subscribe lock has been acquired",{identifier:r}),t.intent!=="subscribed"){this.logger.debug("cancel subscribe request, already unsubscribed"),n.release();return}if(this.state!=="connected"){this.logger.debug("cancel subscribe, no connection",{identifier:r}),n.release();return}if(t.state==="connected"){this.logger.debug("already connected, skip subscribe command",{identifier:r}),t.notify("connected"),n.release();return}let i={identifier:e,params:s};this.logger.debug("subscribing",i);try{let o=await this.protocol.subscribe(e,s);this.hub.subscribe(r,o),this.logger.debug("subscribed",{...i,remoteId:o}),t.notify("connected")}catch(o){if(o){if(o instanceof bt&&this.logger.warn("rejected",i),o instanceof Q){this.logger.debug("disconnected during subscription; will retry on connect",i),n.release();return}this.logger.error("failed to subscribe",{error:o,...i})}t.close(o),this.hub.unsubscribe(r)}n.release()}unsubscribe(t){let e=t.identifier,s=this.hub.subscriptions.get(e);if(!s)throw Error(`Subscription not found: ${e}`);s.remove(t),t.closed(),s.maybeUnsubscribe()}async _unsubscribe(t){let e=t.id;this.logger.debug("acquiring unsubscribe lock",{identifier:e});let s=await t.acquire("unsubscribed");if(s.canceled){this.logger.debug("unsubscribe lock has been canceled",{identifier:e}),s.release();return}if(this.logger.debug("unsubscribe lock has been acquired",{identifier:e}),t.intent!=="unsubscribed"){this.logger.debug("cancel unsubscribe, no longer needed",{identifier:e,intent:t.intent}),s.release();return}if(t.state==="disconnected"||t.state==="closed"){this.logger.debug(`already ${t.state} connected, skip unsubscribe command`,{identifier:e}),s.release();return}let r=t.remoteId;if(this.logger.debug("unsubscribing...",{remoteId:r}),this.state!=="connected"){this.logger.debug("unsubscribe skipped (cable is not connected)",{id:e}),t.close(),this.hub.unsubscribe(e),s.release();return}try{await this.protocol.unsubscribe(r),this.logger.debug("unsubscribed remotely",{id:e})}catch(n){n&&(n instanceof Q?this.logger.debug("cable disconnected during the unsubscribe command execution",{id:e,error:n}):this.logger.error("unsubscribe failed",{id:e,error:n}))}t.intent==="unsubscribed"?(t.close(),this.hub.unsubscribe(e)):t.state="closed",s.release()}async perform(t,e,s){if(this.performFailures==="throw")return this._perform(t,e,s);try{return await this._perform(t,e,s)}catch(r){this.performFailures==="warn"&&this.logger.warn("perform failed",{error:r});return}}async _perform(t,e,s){if(this.state==="connecting"&&await this.pendingConnect(),this.state==="closed"||this.state==="disconnected")throw new Jn;let r=this.hub.subscriptions.get(t);if(!r)throw Error(`Subscription not found: ${t}`);if(await r.pending("subscribed"),r.intent!=="subscribed")throw Error(`Subscription is closed: ${t}`);let n=r.remoteId,i={id:n,action:e,payload:s};this.logger.debug("perform",i);try{let o=await this.protocol.perform(n,e,s);return o&&this.logger.debug("perform result",{message:o,request:i}),o}catch(o){throw this.logger.error("perform failed",{error:o,request:i}),o}}on(t,e){return this.emitter.on(t,e)}once(t,e){let s=this.emitter.on(t,(...r)=>{s(),e(...r)});return s}emit(t,...e){return this.emitter.emit(t,...e)}pendingConnect(){return this._pendingConnect?this._pendingConnect:(this._pendingConnect=new Promise((t,e)=>{let s=[()=>delete this._pendingConnect];s.push(this.on("connect",()=>{s.forEach(r=>r()),t()})),s.push(this.on("close",r=>{s.forEach(n=>n()),e(r)})),s.push(this.on("disconnect",r=>{s.forEach(n=>n()),e(r)}))}),this._pendingConnect)}};const Yn={maxMissingPings:2,maxReconnectAttempts:1/0},_e=()=>Date.now(),xs=(t,e)=>{e=e||{};let{backoffRate:s,jitterRatio:r,maxInterval:n}=e;return s=s||2,r===void 0&&(r=.5),i=>{let o=t*s**i,a=o*s,c=o+(a-o)*Math.random(),u=2*(Math.random()-.5)*r;return c=c*(1+u),n&&n<c&&(c=n),c}};let Os=class{constructor({pingInterval:t,...e}){if(this.pingInterval=t,!this.pingInterval)throw Error(`Incorrect pingInterval is provided: ${t}`);if(e=Object.assign({},Yn,e),this.strategy=e.reconnectStrategy,!this.strategy)throw Error("Reconnect strategy must be provided");this.maxMissingPings=e.maxMissingPings,this.maxReconnectAttempts=e.maxReconnectAttempts,this.logger=e.logger||new Re,this.state="pending_connect",this.attempts=0,this.disconnectedAt=_e()}watch(t){this.target=t,this.initListeners()}reconnectNow(){return this.state==="connected"||this.state==="pending_connect"||this.state==="closed"?!1:(this.cancelReconnect(),this.state="pending_connect",this.target.connect().catch(t=>{this.logger.info("Failed at reconnecting: "+t)}),!0)}initListeners(){this.unbind=[],this.unbind.push(this.target.on("connect",()=>{this.attempts=0,this.pingedAt=_e(),this.state="connected",this.cancelReconnect(),this.startPolling()})),this.unbind.push(this.target.on("disconnect",()=>{this.disconnectedAt=_e(),this.state="disconnected",this.stopPolling(),this.scheduleReconnect()})),this.unbind.push(this.target.on("close",()=>{this.disconnectedAt=_e(),this.state="closed",this.cancelReconnect(),this.stopPolling()})),this.unbind.push(this.target.on("keepalive",()=>{this.pingedAt=_e()})),this.unbind.push(()=>{this.cancelReconnect(),this.stopPolling()})}dispose(){delete this.target,this.unbind&&this.unbind.forEach(t=>t()),delete this.unbind}startPolling(){this.pollId&&clearTimeout(this.pollId);let t=this.pingInterval+(Math.random()-.5)*this.pingInterval*.5;this.pollId=setTimeout(()=>{this.checkStale(),this.state==="connected"&&this.startPolling()},t)}stopPolling(){this.pollId&&clearTimeout(this.pollId)}checkStale(){let t=_e()-this.pingedAt;t>this.maxMissingPings*this.pingInterval&&(this.logger.warn(`Stale connection: ${t}ms without pings`),this.state="pending_disconnect",this.target.disconnected(new Un))}scheduleReconnect(){if(this.attempts>=this.maxReconnectAttempts){this.target.close();return}let t=this.strategy(this.attempts);this.attempts++,this.logger.info(`Reconnecting in ${t}ms (${this.attempts} attempt)`),this.state="pending_reconnect",this.reconnnectId=setTimeout(()=>this.reconnectNow(),t)}cancelReconnect(){this.reconnnectId&&(clearTimeout(this.reconnnectId),delete this.reconnnectId)}};class Xn{constructor(e,s={}){this.transports=e,this.transport=null,this.emitter=Je(),this.unbind=[],this.logger=s.logger||new Re}displayName(){return"fallbacked transport"}async open(){for(let e=0;e<this.transports.length;e++){let s=this.transports[e];try{this.transport=s,this.resetListeners(),this.logger.debug(`Trying to connect via ${s.displayName()}`),await s.open(),this.logger.debug(`Connected via ${s.displayName()}`);return}catch(r){this.logger.debug(`Failed to connect via ${s.displayName()}: ${r.message}`)}}throw this.transport=null,this.resetListeners(),new Error("Couldn't connect via any available transport")}send(e){if(!this.transport)throw new Error("No transport is open");this.transport.send(e)}async close(){if(!this.transport)throw new Error("No transport is open");await this.transport.close(),this.transport=null}setURL(){throw new Error("Not implemented. Set URL for each transport separately")}setParam(e,s){this.transports.forEach(r=>{r.setParam(e,s)})}setToken(e,s){this.transports.forEach(r=>{r.setToken(e,s)})}on(e,s){return this.emitter.on(e,s)}once(e,s){let r=this.emitter.on(e,(...n)=>{r(),s(...n)});return r}get url(){return this.transport?this.transport.url:""}resetListeners(){this.unbind.forEach(e=>e()),this.unbind.length=0,this.transport&&this.unbind.push(this.transport.on("open",()=>{this.emitter.emit("open")}),this.transport.on("data",e=>{this.emitter.emit("data",e)}),this.transport.on("close",e=>{this.emitter.emit("close",e)}),this.transport.on("error",e=>{this.emitter.emit("error",e)}))}}class Zn{constructor(e,s={}){this.url=e;let r=s.websocketImplementation;if(r)this.Impl=r;else if(typeof WebSocket<"u")this.Impl=WebSocket;else throw new Error("No WebSocket support");this.connected=!1,this.emitter=Je();let{format:n,subprotocol:i,authStrategy:o}=s;this.format=n||"text",this.connectionOptions=s.websocketOptions,this.authStrategy=o||"param",this.authProtocol="",this.subprotocol=i}displayName(){return"WebSocket("+this.url+")"}open(){let e=this.subprotocol;return this.authStrategy==="sub-protocol"&&(e=[this.subprotocol,this.authProtocol]),this.connectionOptions?this.ws=new this.Impl(this.url,e,this.connectionOptions):this.ws=new this.Impl(this.url,e),this.ws.binaryType="arraybuffer",this.initListeners(),new Promise((s,r)=>{let n=[];n.push(this.once("open",()=>{n.forEach(i=>i()),s()})),n.push(this.once("close",()=>{n.forEach(i=>i()),r(Error("WS connection closed"))}))})}setURL(e){this.url=e}setParam(e,s){let r=new URL(this.url);r.searchParams.set(e,s);let n=`${r.protocol}//${r.host}${r.pathname}?${r.searchParams}`;this.setURL(n)}setToken(e,s="jid"){if(this.authStrategy==="param")this.setParam(s,e);else if(this.authStrategy==="header"){this.connectionOptions=this.connectionOptions||{},this.connectionOptions.headers=this.connectionOptions.headers||{};let r=`x-${s}`.toLowerCase();r=Object.keys(this.connectionOptions.headers).find(n=>n.toLowerCase()===r)||r,this.connectionOptions.headers[r]=e}else if(this.authStrategy==="sub-protocol")this.authProtocol=`anycable-token.${e}`;else throw new Error("Unknown auth strategy: "+this.authStrategy)}send(e){if(!this.ws||!this.connected)throw Error("WebSocket is not connected");this.ws.send(e)}close(){this.ws?this.onclose():this.connected=!1}on(e,s){return this.emitter.on(e,s)}once(e,s){let r=this.emitter.on(e,(...n)=>{r(),s(...n)});return r}initListeners(){this.ws.onerror=e=>{this.connected&&this.emitter.emit("error",e.error||new Error("WS Error"))},this.ws.onclose=()=>{this.onclose()},this.ws.onmessage=e=>{let s=e.data;this.format==="binary"&&(s=new Uint8Array(s)),this.emitter.emit("data",s)},this.ws.onopen=()=>{this.connected=!0,this.emitter.emit("open")}}onclose(){this.ws.onclose=void 0,this.ws.onmessage=void 0,this.ws.onopen=void 0,this.ws.close(),delete this.ws,this.connected=!1,this.emitter.emit("close")}}class Qn{constructor(e){this.channel=e}notify(e,...s){typeof this[e]=="function"&&this[e](...s)}perform(e,s={}){this.channel.perform(e,s)}send(e){this.channel.send(e)}whisper(e){return this.channel.whisper(e)}get identifier(){return this.channel.identifier}unsubscribe(){return this.channel.disconnect()}}class ei extends Ss{constructor(e,s,r){super(e,s),this.subscription=new Qn(this),Object.assign(this.subscription,r),this.on("connect",({reconnect:n})=>this.subscription.notify("connected",{reconnected:n})),this.on("disconnect",()=>this.subscription.notify("disconnected",{allowReconnect:!0})),this.on("message",n=>this.subscription.notify("received",n)),this.on("close",n=>{n&&n instanceof bt?this.subscription.notify("rejected"):this.subscription.notify("disconnected",{allowReconnect:!1})})}}class ti{constructor(e){this.cable=e}create(e,s){let r,n;typeof e=="object"?(r=e.channel,delete e.channel,n=e):(r=e,n={});let i=new ei(r,n,s);return i.subscription.notify("initialized"),this.cable.subscribe(i),i.subscription}findAll(e){return this.cable.hub.channels.filter(s=>s.identifier===e).map(s=>s.subscription)}}class si{constructor(e){this.cable=e,this.subscriptions=new ti(e)}send(e){return this.cable.send(e)}connect(){return this.cable.connect()}disconnect(){return this.cable.disconnect()}ensureActiveConnection(){return this.cable.connect()}}const Cs={protocol:"actioncable-v1-json",pingInterval:3e3,maxReconnectAttempts:1/0,maxMissingPings:2,logLevel:"warn",lazy:!0};function ri(t,e){if(typeof t=="object"&&typeof e>"u"&&(e=t,t=void 0),e=e||{},!t&&!e.transport)throw Error("URL or transport must be specified");e=Object.assign({},Cs,e);let{protocol:s,websocketImplementation:r,websocketFormat:n,websocketOptions:i,websocketAuthStrategy:o,fallbacks:a,logLevel:c,logger:u,transport:d,encoder:f,lazy:b,monitor:_,pingInterval:x,reconnectStrategy:h,maxMissingPings:O,maxReconnectAttempts:w,subprotocol:v,tokenRefresher:p,historyTimestamp:k,protocolOptions:N,concurrentSubscribes:G,performFailures:ie,transportConfigurator:se,auth:R}=e;if(u=u||new Re(c),typeof s=="string"){v=v||s;let ee=s.substring(0,s.lastIndexOf("-")),oe=s.substring(s.lastIndexOf("-")+1);if(N=N||{},ee==="actioncable-v1")s=new ws({logger:u,...N});else if(ee==="actioncable-v1-ext")s=new Hn({logger:u,historyTimestamp:k,...N});else throw Error(`Protocol is not supported yet: ${s}`);if(oe==="json")f=f||new zn,n=n||"text";else if(oe==="msgpack"){if(n="binary",!f)throw Error("Msgpack encoder must be specified explicitly. Use `@anycable/msgpack-encoder` package or build your own")}else if(oe==="protobuf"){if(n=n||"binary",!f)throw Error("Protobuf encoder must be specified explicitly. Use `@anycable/protobuf-encoder` package or build your own")}else throw Error(`Protocol is not supported yet: ${s}`)}if(!s)throw Error("Protocol must be specified");d=d||new Zn(t,{websocketImplementation:r,websocketOptions:i,subprotocol:v,authStrategy:o,format:n}),a&&(d=new Xn([d,...a],{logger:u})),R&&R.token&&d.setToken(R.token,R.param||"jid"),h=h||xs(x),_!==!1&&(_=_||new Os({pingInterval:x,reconnectStrategy:h,maxMissingPings:O,maxReconnectAttempts:w,logger:u}));let I={concurrentSubscribes:G},q=new Gn({protocol:s,transport:d,encoder:f,logger:u,lazy:b,hubOptions:I,performFailures:ie,transportConfigurator:se});return _&&(_.watch(q),q.monitor=_),p&&ni(q,async()=>{try{await p(d)}catch(ee){return u.error("Failed to refresh authentication token: "+ee),!1}return q.connect().catch(()=>{}),!0}),q}function ni(t,e){let s=!1;t.on("connect",()=>s=!1),t.on("close",async r=>{if(r){if(s){t.logger.warn("Token auto-refresh is disabled",r);return}r.reason==="token_expired"&&(s=!0,await e())}})}class ii extends ys{writeLogEntry(e,s,r){r?console[e](s,r):console[e](s)}}class oi extends Os{watch(e){super.watch(e),this.initActivityListeners()}initActivityListeners(){if(typeof document<"u"&&typeof window<"u"&&document.addEventListener&&window.addEventListener){let e=()=>{document.hidden||this.reconnectNow()&&this.logger.debug("Trigger reconnect due to visibility change")},s=n=>{this.reconnectNow()&&this.logger.debug("Trigger reconnect",{event:n})},r=()=>this.disconnect(new Q("page_frozen"));document.addEventListener("visibilitychange",e,!1),window.addEventListener("focus",s,!1),window.addEventListener("online",s,!1),window.addEventListener("resume",s,!1),window.addEventListener("freeze",r,!1),this.unbind.push(()=>{document.removeEventListener("visibilitychange",e,!1),window.removeEventListener("focus",s,!1),window.removeEventListener("online",s,!1),window.removeEventListener("resume",s,!1),window.removeEventListener("freeze",r,!1)})}}disconnect(e){this.state==="disconnected"||this.state==="closed"||(this.logger.info("Disconnecting",{reason:e.message}),this.cancelReconnect(),this.stopPolling(),this.state="pending_disconnect",this.target.disconnected(e))}}const ai=["cable","action-cable"],ci="/cable",Ke=(t,e)=>{for(let s of ai){let r=t.head.querySelector(`meta[name='${s}-${e}']`);if(r)return r.getAttribute("content")}},Rs=t=>t.match(/wss?:\/\//)?t:typeof window<"u"?`${window.location.protocol.replace("http","ws")}//${window.location.host}${t}`:t,li=()=>{if(typeof document<"u"&&document.head){let t=Ke(document,"url");if(t)return Rs(t)}return Rs(ci)},ui=()=>{if(typeof document<"u"&&document.head){let t=Ke(document,"history-timestamp");if(t)return t|0}},di=()=>{if(typeof document<"u"&&document.head)return Ke(document,"token")},hi=()=>{if(typeof document<"u"&&document.head)return Ke(document,"token-param")};function fi(t,e){typeof t=="object"&&typeof e>"u"&&(e=t,t=void 0),t=t||li(),e=e||{},e.historyTimestamp||=ui();let s=di();if(s){let u=hi();e.auth=Object.assign({token:s,param:u},e.auth||{})}e=Object.assign({},Cs,e);let{logLevel:r,logger:n,pingInterval:i,reconnectStrategy:o,maxMissingPings:a,maxReconnectAttempts:c}=e;return n=e.logger=e.logger||new ii(r),o=e.reconnectStrategy=e.reconnectStrategy||xs(i),e.monitor!==!1&&(e.monitor=e.monitor||new oi({pingInterval:i,reconnectStrategy:o,maxMissingPings:a,maxReconnectAttempts:c,logger:n})),ri(t,e)}function pi(t,e){let s=fi(t,e);return new si(s)}class ks{constructor(e="/openc3-api/cable"){this._cable=null,this._url=e}disconnect(){this._cable&&(this._cable.cable.disconnect(),this._cable=null)}createSubscription(e,s,r={},n={}){return OpenC3Auth.updateToken(OpenC3Auth.defaultMinValidity).then(i=>{if(i&&OpenC3Auth.setTokens(),this._cable==null){const o=new URL(this._url,document.baseURI);o.searchParams.set("scope",s),this._cable=pi(o.href)}return this._cable.subscriptions.create({channel:e,token:localStorage.openc3Token,...n},r)})}recordPing(){}}function ke(t){return mi.test(t)}const mi=/^-?[0-9]+$/;function As(t){return gi.test(t)}const gi=/^-?(?:0|[1-9]\d*)(?:\.\d+)?(?:[eE][+-]?\d+)?$/;function Is(t,e){if(ke(t))return Number.isSafeInteger(Number.parseInt(t,10));const s=Number.parseFloat(t),r=String(s);if(t===r)return!0;const n=Ts(t),i=Ts(r);return!!(n===i||e?.approx===!0&&!ke(t)&&i.length>=14&&n.startsWith(i.substring(0,14)))}let Ae=(function(t){return t.underflow="underflow",t.overflow="overflow",t.truncate_integer="truncate_integer",t.truncate_float="truncate_float",t})({});function bi(t){if(Is(t,{approx:!1}))return;if(ke(t))return Ae.truncate_integer;const e=Number.parseFloat(t);return Number.isFinite(e)?e===0?Ae.underflow:Ae.truncate_float:Ae.overflow}function Ts(t){const{start:e,end:s}=_i(t),r=t.substring(e,s),n=r.indexOf(".");return n===-1?r:r.substring(0,n)+r.substring(n+1)}function _i(t){let e=0;for(t[0]==="-"&&e++;t[e]==="0"||t[e]===".";)e++;let s=t.lastIndexOf("e");for(s===-1&&(s=t.lastIndexOf("E")),s===-1&&(s=t.length);(t[s-1]==="0"||t[s-1]===".")&&s>e;)s--;return{start:e,end:s}}class yi{isLosslessNumber=!0;constructor(e){if(!As(e))throw new Error(`Invalid number (value: "${e}")`);this.value=e}valueOf(){const e=bi(this.value);if(e===void 0||e===Ae.truncate_float)return Number.parseFloat(this.value);if(ke(this.value))return BigInt(this.value);throw new Error(`Cannot safely convert to number: the value '${this.value}' would ${e} and become ${Number.parseFloat(this.value)}`)}toString(){return this.value}}function wi(t){return t&&typeof t=="object"&&t.isLosslessNumber||!1}function vi(t){return new yi(t)}function Si(t,e){return _t({"":t},"",t,e)}function _t(t,e,s,r){return Array.isArray(s)?r.call(t,e,xi(s,r)):s&&typeof s=="object"&&!wi(s)?r.call(t,e,Ei(s,r)):r.call(t,e,s)}function Ei(t,e){for(const s of Object.keys(t)){const r=_t(t,s,t[s],e);r!==void 0?t[s]=r:delete t[s]}return t}function xi(t,e){for(let s=0;s<t.length;s++)t[s]=_t(t,String(s),t[s],e);return t}function Oi(t,e,s){const r=typeof s=="function"?{parseNumber:s}:s,n=r?.parseNumber??vi,i=r?.onDuplicateKey??ie;let o=0;const a=d();return w(a),p(),e?Si(a,e):a;function c(){if(t.charCodeAt(o)===Ti){o++,b();const E={};let j=!0;for(;o<t.length&&t.charCodeAt(o)!==Ps;){j?j=!1:(h(),b());const U=o,D=_();if(D===void 0){G();return}b(),O();const Y=d();if(Y===void 0){ee();return}if(Object.prototype.hasOwnProperty.call(E,D)&&!yt(Y,E[D])){const Te=i({key:D,position:U+1,oldValue:E[D],newValue:Y});Te!==void 0&&(E[D]=Te)}else E[D]=Y}return t.charCodeAt(o)!==Ps&&se(),o++,E}}function u(){if(t.charCodeAt(o)===Li){o++,b();const E=[];let j=!0;for(;o<t.length&&t.charCodeAt(o)!==Ns;){j?j=!1:h();const U=d();v(U),E.push(U)}return t.charCodeAt(o)!==Ns&&R(),o++,E}}function d(){b();const E=_()??x()??c()??u()??f("true",!0)??f("false",!1)??f("null",null);return b(),E}function f(E,j){if(t.slice(o,o+E.length)===E)return o+=E.length,j}function b(){for(;Ci(t.charCodeAt(o));)o++}function _(){if(t.charCodeAt(o)===wt){o++;let E="";for(;o<t.length&&t.charCodeAt(o)!==wt;){if(t.charCodeAt(o)===Ii){const j=t[o+1],U=Ai[j];U!==void 0?(E+=U,o++):j==="u"?Ge(t.charCodeAt(o+2))&&Ge(t.charCodeAt(o+3))&&Ge(t.charCodeAt(o+4))&&Ge(t.charCodeAt(o+5))?(E+=String.fromCharCode(Number.parseInt(t.slice(o+2,o+6),16)),o+=5):oe(o):q(o)}else ki(t.charCodeAt(o))?E+=t[o]:I(t[o]);o++}return N(),o++,E}}function x(){const E=o;if(t.charCodeAt(o)===js&&(o++,k(E)),t.charCodeAt(o)===vt)o++;else if(Ri(t.charCodeAt(o)))for(o++;Ye(t.charCodeAt(o));)o++;if(t.charCodeAt(o)===qi)for(o++,k(E);Ye(t.charCodeAt(o));)o++;if(t.charCodeAt(o)===Wi||t.charCodeAt(o)===zi)for(o++,(t.charCodeAt(o)===js||t.charCodeAt(o)===Fi)&&o++,k(E);Ye(t.charCodeAt(o));)o++;if(o>E)return n(t.slice(E,o))}function h(){if(t.charCodeAt(o)!==Bi)throw new SyntaxError(`Comma ',' expected after value ${$()}`);o++}function O(){if(t.charCodeAt(o)!==Vi)throw new SyntaxError(`Colon ':' expected after property name ${$()}`);o++}function w(E){if(E===void 0)throw new SyntaxError(`JSON value expected ${$()}`)}function v(E){if(E===void 0)throw new SyntaxError(`Array item expected ${$()}`)}function p(){if(o<t.length)throw new SyntaxError(`Expected end of input ${$()}`)}function k(E){if(!Ye(t.charCodeAt(o))){const j=t.slice(E,o);throw new SyntaxError(`Invalid number '${j}', expecting a digit ${$()}`)}}function N(){if(t.charCodeAt(o)!==wt)throw new SyntaxError(`End of string '"' expected ${$()}`)}function G(){throw new SyntaxError(`Quoted object key expected ${$()}`)}function ie(E){let{key:j,position:U}=E;throw new SyntaxError(`Duplicate key '${j}' encountered at position ${U}`)}function se(){throw new SyntaxError(`Quoted object key or end of object '}' expected ${$()}`)}function R(){throw new SyntaxError(`Array item or end of array ']' expected ${$()}`)}function I(E){throw new SyntaxError(`Invalid character '${E}' ${V()}`)}function q(E){const j=t.slice(E,E+2);throw new SyntaxError(`Invalid escape character '${j}' ${V()}`)}function ee(){throw new SyntaxError(`Object value expected after ':' ${V()}`)}function oe(E){const j=t.slice(E,E+6);throw new SyntaxError(`Invalid unicode character '${j}' ${V()}`)}function V(){return`at position ${o}`}function Ie(){return o<t.length?`but got '${t[o]}'`:"but reached end of input"}function $(){return`${Ie()} ${V()}`}}function Ci(t){return t===Pi||t===Ni||t===ji||t===Di}function Ge(t){return t>=vt&&t<=St||t>=$i&&t<=Hi||t>=Mi&&t<=Ji}function Ye(t){return t>=vt&&t<=St}function Ri(t){return t>=Ui&&t<=St}function ki(t){return t>=32&&t<=1114111}function yt(t,e){return t===e?!0:Array.isArray(t)&&Array.isArray(e)?t.length===e.length&&t.every((s,r)=>yt(s,e[r])):Ls(t)&&Ls(e)?[...new Set([...Object.keys(t),...Object.keys(e)])].every(s=>yt(t[s],e[s])):!1}function Ls(t){return typeof t=="object"&&t!==null}const Ai={'"':'"',"\\":"\\","/":"/",b:"\b",f:"\f",n:`
|
|
11
|
-
`,r:"\r",t:" "},Ii=92,Ti=123,Ps=125,Li=91,Ns=93,Pi=32,Ni=10,ji=9,Di=13,wt=34,Fi=43,js=45,vt=48,Ui=49,St=57,Bi=44,qi=46,Vi=58,$i=65,Mi=97,zi=69,Wi=101,Hi=70,Ji=102;function Ds(t,e,s,r){return n(t);function n(c,u){if(Array.isArray(r)){const d=r.find(f=>f.test(c));if(d){const f=d.stringify(c);if(typeof f!="string"||!As(f))throw new Error(`Invalid JSON number: output of a number stringifier must be a string containing a JSON number (output: ${f})`);return f}}if(typeof c=="boolean"||typeof c=="number"||typeof c=="string"||c===null||c instanceof Date||c instanceof Boolean||c instanceof Number||c instanceof String)return JSON.stringify(c);if(c?.isLosslessNumber||typeof c=="bigint")return c.toString();if(Array.isArray(c))return i(c);if(c&&typeof c=="object")return o(c)}function i(c,u){if(c.length===0)return"[]";let d="[";for(let f=0;f<c.length;f++){const b=c[f];typeof b<"u"&&typeof b!="function"?d+=n(b):d+="null",f<c.length-1&&(d+=",")}return d+="]",d}function o(c,u){if(typeof c.toJSON=="function")return Ds(c.toJSON(),e,s,void 0);const d=Array.isArray(e)?e.map(String):Object.keys(c);if(d.length===0)return"{}";let f=!0,b="{";for(const _ of d){const x=c[_];if(a(_,x)){f?f=!1:b+=",";const h=JSON.stringify(_);b+=`${h}:`,b+=n(x)}}return b+="}",b}function a(c,u){return typeof u<"u"&&typeof u!="function"&&typeof u!="symbol"}}function Ki(t){return ke(t)&&!Is(t)?BigInt(t):parseFloat(t)}class Fs{id=1;constructor(){}async exec(e,s,r={},n={},i=6e4){try{await OpenC3Auth.updateToken(OpenC3Auth.defaultMinValidity)&&OpenC3Auth.setTokens()}catch{OpenC3Auth.login()}this.id=this.id+1;try{return r.scope=window.openc3Scope,n.manual=!0,(await ms.post("/openc3-api/api",{jsonrpc:"2.0",method:e,params:s,id:this.id,keyword_params:r},{headers:{Authorization:localStorage.openc3Token,"Content-Type":"application/json-rpc",...n},timeout:i,transformRequest:[(o,a)=>Ds(o)],transformResponse:[o=>{try{return Oi(o,void 0,Ki)}catch{const a=typeof o=="string"?o.substring(0,200):String(o),c=new Error(`Server returned non-JSON response: ${a}`);throw c.name="ServerError",c}}]})).data.result}catch(o){let a=new Error;throw o.response?(a.name=o.response.data.error.data.class,a.message=o.response.data.error.data.message,a.object=o.response.data.error):o.request?(a.name="Request error",a.message="Request error, no response received"):a=o,a}}decode_openc3_type(e){if(e!==null&&typeof e=="object"&&e.json_class=="Float"&&e.raw){if(e.raw=="NaN")return NaN;if(e.raw=="Infinity")return 1/0;if(e.raw=="-Infinity")return-1/0}return null}encode_openc3_type(e){return Number.isNaN(e)?{json_class:"Float",raw:"NaN"}:e==Number.POSITIVE_INFINITY?{json_class:"Float",raw:"Infinity"}:e==Number.NEGATIVE_INFINITY?{json_class:"Float",raw:"-Infinity"}:null}ensure_offline_access(){this.offline_access_needed().then(e=>{e&&(localStorage.openc3OfflineToken?this.set_offline_access(localStorage.openc3OfflineToken).then(()=>{delete localStorage.openc3OfflineToken}):OpenC3Auth.getOfflineAccess())})}offline_access_needed(){return this.exec("offline_access_needed",[])}set_offline_access(e){return this.exec("set_offline_access",[e])}get_all_interface_info(){return this.exec("get_all_interface_info",[])}map_target_to_interface(e,s,r,n,i){return this.exec("map_target_to_interface",[e,s],{cmd_only:r,tlm_only:n,unmap_old:i})}unmap_target_from_interface(e,s,r,n){return this.exec("unmap_target_from_interface",[e,s],{cmd_only:r,tlm_only:n})}connect_interface(e,...s){return s.length>0?this.exec("connect_interface",[e,...s]):this.exec("connect_interface",[e])}disconnect_interface(e){return this.exec("disconnect_interface",[e])}interface_cmd(e,s,...r){return this.exec("interface_cmd",[e,s,...r])}interface_target_enable(e,s,r=!1,n=!1){return this.exec("interface_target_enable",[e,s],{cmd_only:r,tlm_only:n})}interface_target_disable(e,s,r=!1,n=!1){return this.exec("interface_target_disable",[e,s],{cmd_only:r,tlm_only:n})}interface_details(e){return this.exec("interface_details",[e])}get_all_router_info(){return this.exec("get_all_router_info",[])}map_target_to_router(e,s,r,n,i){return this.exec("map_target_to_router",[e,s],{cmd_only:r,tlm_only:n,unmap_old:i})}unmap_target_from_router(e,s,r,n){return this.exec("unmap_target_from_router",[e,s],{cmd_only:r,tlm_only:n})}connect_router(e){return this.exec("connect_router",[e])}disconnect_router(e){return this.exec("disconnect_router",[e])}router_target_enable(e,s,r=!1,n=!1){return this.exec("router_target_enable",[e,s],{cmd_only:r,tlm_only:n})}router_target_disable(e,s,r=!1,n=!1){return this.exec("router_target_disable",[e,s],{cmd_only:r,tlm_only:n})}router_details(e){return this.exec("router_details",[e])}get_target_interfaces(){return this.exec("get_target_interfaces",[])}get_tlm_cnts(e){return this.exec("get_tlm_cnts",[e])}get_item(e,s,r){return this.exec("get_item",[e,s,r])}get_param(e,s,r){return this.exec("get_param",[e,s,r])}get_parameter(e,s,r){return this.exec("get_param",[e,s,r])}get_limits_sets(){return this.exec("get_limits_sets",[])}get_limits_set(){return this.exec("get_limits_set",[])}set_limits_set(e){return this.exec("set_limits_set",[e])}get_target(e){return this.exec("get_target",[e])}get_target_names(){return this.exec("get_target_names",[])}get_target_list(){return this.exec("get_target_names",[])}get_tlm(e,s){return this.exec("get_tlm",[e,s])}get_telemetry(e,s){return this.exec("get_tlm",[e,s])}get_all_tlm(e){return this.exec("get_all_tlm",[e])}get_all_telemetry(e){return this.exec("get_all_tlm",[e])}get_all_tlm_names(e,s=!1){return this.exec("get_all_tlm_names",[e],{hidden:s})}get_all_telemetry_names(e){return this.exec("get_all_tlm_names",[e])}get_all_tlm_item_names(e){return this.exec("get_all_tlm_item_names",[e])}async get_tlm_packet(e,s,r,n=30){const i=await this.exec("get_tlm_packet",[e,s],{type:r,stale_time:n});if(i!=null){let o=i.length,a=null;for(let c=0;c<o;c++)a=this.decode_openc3_type(i[c][1]),a!==null&&(i[c][1]=a)}return i}get_packet_derived_items(e,s){return this.exec("get_packet_derived_items",[e,s])}get_tlm_buffer(e,s){return this.exec("get_tlm_buffer",[e,s])}get_tlm_available(e){return this.exec("get_tlm_available",[e])}async get_tlm_values(e,s=30,r=null,n=null,i=null){let o={stale_time:s};r!==null&&(o.cache_timeout=r),n!==null&&(o.start_time=n.toISOString()),i!==null&&(o.end_time=i.toISOString());const a=await this.exec("get_tlm_values",[e],o,{},1e4);if(a&&a.length>0){let c=a.length,u=null;for(let d=0;d<c;d++)u=this.decode_openc3_type(a[d][0]),u!==null&&(a[d][0]=u)}return a}get_limits(e,s,r){return this.exec("get_limits",[e,s,r])}async tlm(e,s,r,n="CONVERTED"){let i=null;if(s===void 0)i=await this.exec("tlm",[e]);else if(r===void 0)if(["RAW","CONVERTED","FORMATTED"].includes(s))i=await this.exec("tlm",[e],{type:s});else{let a=new Error;throw a.name="TypeError",a.message=`Invalid data type ${s}. Valid options are RAW, CONVERTED or FORMATTED.`,a}else i=await this.exec("tlm",[e,s,r],{type:n});let o=this.decode_openc3_type(i);return o!==null&&(i=o),i}async inject_tlm(e,s,r=null,n="CONVERTED",i=!1){await this.exec("inject_tlm",[e,s,r],{type:n,stored:i})}set_tlm(e,s,r,n){return this.exec("set_tlm",[e,s,r],{type:n})}override_tlm(e,s,r,n){return this.exec("override_tlm",[e,s,r],{type:n})}get_overrides(){return this.exec("get_overrides")}normalize_tlm(e,s,r,n){return this.exec("normalize_tlm",[e,s,r],{type:n})}get_all_cmds(e){return this.exec("get_all_cmds",[e])}get_all_commands(e){return this.exec("get_all_cmds",[e])}get_all_cmd_names(e,s=!1){return this.exec("get_all_cmd_names",[e],{hidden:s})}get_all_command_names(e){return this.exec("get_all_cmd_names",[e])}get_cmd(e,s){return this.exec("get_cmd",[e,s])}get_command(e,s){return this.exec("get_cmd",[e,s])}get_cmd_cnts(e){return this.exec("get_cmd_cnts",[e])}get_cmd_value(e,s,r,n="CONVERTED"){return this.exec("get_cmd_value",[e,s,r,n])}get_cmd_buffer(e,s){return this.exec("get_cmd_buffer",[e,s])}_cmd(e,s,r,n,i,o={}){let a=null;for(let c in n)Object.prototype.hasOwnProperty.call(n,c)&&(a=this.encode_openc3_type(n[c]),a!==null&&(n[c]=a));return this.exec(e,[s,r,n],o,i)}get_cmd_hazardous(e,s,r,n={}){return s===void 0?this.exec("get_cmd_hazardous",e,{},n):this._cmd("get_cmd_hazardous",e,s,r,n)}cmd(e,s,r,n={},i={}){return s===void 0?this.exec("cmd",e,i,n):this._cmd("cmd",e,s,r,n,i)}cmd_no_range_check(e,s,r,n={},i={}){return s===void 0?this.exec("cmd_no_range_check",e,i,n):this._cmd("cmd_no_range_check",e,s,r,n,i)}cmd_raw(e,s,r,n={},i={}){return s===void 0?this.exec("cmd_raw",e,i,n):this._cmd("cmd_raw",e,s,r,n,i)}cmd_raw_no_range_check(e,s,r,n={},i={}){return s===void 0?this.exec("cmd_raw_no_range_check",e,i,n):this._cmd("cmd_raw_no_range_check",e,s,r,n,i)}cmd_no_hazardous_check(e,s,r,n={},i={}){return s===void 0?this.exec("cmd_no_hazardous_check",e,i,n):this._cmd("cmd_no_hazardous_check",e,s,r,n,i)}cmd_no_checks(e,s,r,n={},i={}){return s===void 0?this.exec("cmd_no_checks",e,i,n):this._cmd("cmd_no_checks",e,s,r,n,i)}cmd_raw_no_hazardous_check(e,s,r,n={},i={}){return s===void 0?this.exec("cmd_raw_no_hazardous_check",e,i,n):this._cmd("cmd_raw_no_hazardous_check",e,s,r,n,i)}cmd_raw_no_checks(e,s,r,n={},i={}){return s===void 0?this.exec("cmd_raw_no_checks",e,i,n):this._cmd("cmd_raw_no_checks",e,s,r,n,i)}build_cmd(e,s,r,n={},i={}){return s===void 0?this.exec("build_cmd",e,i,n):this._cmd("build_cmd",e,s,r,n,i)}build_command(e,s,r,n={},i={}){return s===void 0?this.exec("build_cmd",e,i,n):this._cmd("build_cmd",e,s,r,n,i)}get_interface_names(){return this.exec("get_interface_names",[])}get_router_names(){return this.exec("get_router_names",[])}send_raw(e,s){return this.exec("send_raw",[e,s])}list_configs(e){return this.exec("list_configs",[e])}load_config(e,s){return this.exec("load_config",[e,s])}save_config(e,s,r){return this.exec("save_config",[e,s,r])}delete_config(e,s){return this.exec("delete_config",[e,s])}enable_limits(e,s,r){return this.exec("enable_limits",[e,s,r])}disable_limits(e,s,r){return this.exec("disable_limits",[e,s,r])}get_out_of_limits(){return this.exec("get_out_of_limits",[])}get_overall_limits_state(e){return this.exec("get_overall_limits_state",[e])}list_settings(){return this.exec("list_settings",[])}get_all_settings(){return this.exec("get_all_settings",[])}get_setting(e,s){return this.exec("get_setting",[e],s)}get_settings(e,s){return this.exec("get_settings",e,s)}set_setting(e,s){return this.exec("set_setting",[e,s])}update_news(){return this.exec("update_news",[])}update_plugin_store(){return this.exec("update_plugin_store",[])}save_setting(e,s){return this.exec("set_setting",[e,s])}get_metrics(){return this.exec("get_metrics",[])}open_tab(e){window.open(e,"_blank")}async hashString(e){if(window.isSecureContext){const s=new TextEncoder().encode(e),r=await crypto.subtle.digest("SHA-256",s),n=new Uint8Array(r);return Array.from(n).map(i=>i.toString(16).padStart(2,"0")).join("")}}}const Gi={components:{ValueWidget:Pt,ValuelimitsbarWidget:Nt},mixins:[Qe],props:{modelValue:{type:Array,default:()=>[]},timeZone:{type:String,default:"local"}},emits:["update:modelValue"],data(){return{api:null,cable:new ks,ignored:[],ignoredItemsDialog:!1,overallState:"GREEN",currentLimitsSet:"",items:[],itemList:[],screenItems:[],availableItems:[],screenValues:{},updateCounter:0,itemsPerPage:25,search:"",stateFilter:[],stateFilterOptions:[{value:"RED",label:"Critical",status:"critical"},{value:"YELLOW",label:"Caution",status:"caution"},{value:"GREEN",label:"Normal",status:"normal"},{value:"BLUE",label:"Standby",status:"standby"}],headers:[{title:"Timestamp",key:"timestamp",width:"130px",sortable:!0,nowrap:!0},{title:"Item",key:"item",value:t=>t.parameters[2],sortable:!0,minWidth:"100px",width:"200px",maxWidth:"410px"},{title:"Value",key:"value",width:"380px",sortable:!1},{title:"Controls",key:"actions",width:"80px",sortable:!1},{title:"",key:"limits",sortable:!1}],valueLimitsBarWidgetSettings:[["WIDTH","380px"],["0","WIDTH","200px"],["1","WIDTH","180px"]],valueWidgetSettings:[["WIDTH","200px"]]}},computed:{textFieldClass(){return this.overallState?`textfield-${this.overallState.toLowerCase()}`:""},overallStateFormatted(){return this.ignored.length===0?this.overallState:`${this.overallState} (Some items ignored)`},ignoredFormatted(){return this.ignored.map(t=>t.split("__").join(" "))},astroStatus(){switch(this.overallState){case"GREEN":return"normal";case"YELLOW":return"caution";case"RED":return"critical";case"BLUE":return"standby";default:return null}}},created(){this.api=new Fs;for(let t of this.modelValue)t.match(/.+__.+__.+/)?this.ignoreItem(t,!0):this.ignorePacket(t,!0);this.updateOutOfLimits(),this.getCurrentLimitsSet(),this.currentSetRefreshInterval=setInterval(this.getCurrentLimitsSet,10*1e3),this.cable.createSubscription("LimitsEventsChannel",window.openc3Scope,{received:t=>{this.cable.recordPing(),this.handleMessages(t)}}).then(t=>{this.limitsSubscription=t}),this.cable.createSubscription("ConfigEventsChannel",window.openc3Scope,{received:t=>{this.cable.recordPing();const e=JSON.parse(t);this.handleConfigEvents(e)}}).then(t=>{this.configSubscription=t})},mounted(){this.updater=setInterval(()=>{this.update()},1e3)},unmounted(){this.updater!=null&&(clearInterval(this.updater),this.updater=null),this.limitsSubscription&&this.limitsSubscription.unsubscribe(),this.configSubscription&&this.configSubscription.unsubscribe(),this.cable.disconnect()},methods:{rowProps({item:t}){return this.stateFilter.length>0&&!this.stateFilter.some(e=>t.limitsState?.includes(e))?{class:"state-filtered-row"}:{}},escapeBrackets(t){return t.includes("[")?t.replace(/\[/g,"[[").replace(/\]/g,"]]"):t},getCurrentLimitsSet:function(){this.api.get_limits_set().then(t=>{this.currentLimitsSet=t})},updateOutOfLimits(){this.items=[],this.itemList=[],this.api.get_out_of_limits().then(t=>{for(const e of t){let s=e.join("__");if(this.ignored.find(n=>s.includes(n)))continue;this.itemList.push(s);let r={key:e.slice(0,3).join("__"),parameters:[e[0],e[1],this.escapeBrackets(e[2])],timestamp:this.formatDateTime(new Date,this.timeZone),limitsState:e[3]};e[3].includes("YELLOW")&&this.overallState!=="RED"&&(this.overallState="YELLOW"),e[3].includes("RED")&&(this.overallState="RED"),e[3]=="YELLOW"||e[3]=="RED"?r.limits=!1:r.limits=!0,this.items.push(r)}this.calcOverallState()})},calcOverallState(){let t="GREEN";for(let e of this.itemList)if(!this.ignored.find(s=>e.includes(s))&&(e.includes("YELLOW")&&t!=="RED"&&(t="YELLOW"),e.includes("RED"))){t="RED";break}this.overallState=t},ignorePacket(t,e){let[s,r,n]=t.split("__"),i=`${s}__${r}`;for(this.ignored.push(i),e||this.updateIgnored();;){let o=this.itemList.findIndex(a=>a.includes(i));if(o===-1)break;{let a=this.itemList[o].lastIndexOf("__");this.removeItem(this.itemList[o].substring(0,a))}}this.calcOverallState()},ignoreItem(t,e){this.ignored.push(t),e||this.updateIgnored(),this.removeItem(t),this.calcOverallState()},restoreItem(t){this.ignored.splice(t,1),this.updateIgnored(),this.updateOutOfLimits()},removeItem(t){const e=this.itemList.findIndex(s=>s.includes(t));this.items.splice(e,1),this.itemList.splice(e,1)},clearAll(){this.ignored=[],this.updateIgnored(),this.updateOutOfLimits()},updateIgnored(){this.$emit("update:modelValue",this.ignored)},handleConfigEvents(t){for(let e of t)e.kind==="deleted"&&e.type==="target"&&this.updateOutOfLimits()},handleMessages(t){for(let e of t){let s=JSON.parse(e.event);if(s.type!="LIMITS_CHANGE")continue;let r=`${s.target_name}__${s.packet_name}__${s.item_name}`;const n=this.itemList.findIndex(o=>o.includes(r));if(n!==-1){this.itemList[n]=`${r}__${s.new_limits_state}`,this.items[n].limitsState=s.new_limits_state,this.calcOverallState();continue}if(this.ignored.find(o=>r.includes(o))||s.new_limits_state&&!(s.new_limits_state.includes("YELLOW")||s.new_limits_state.includes("RED")))continue;let i={key:r,timestamp:this.formatNanoseconds(s.time_nsec,this.timeZone),parameters:[s.target_name,s.packet_name,this.escapeBrackets(s.item_name)],limitsState:s.new_limits_state};s.new_limits_state=="YELLOW"||s.new_limits_state=="RED"?i.limits=!1:i.limits=!0,this.itemList.push(`${r}__${s.new_limits_state}`),this.items.push(i),this.calcOverallState()}},update(){this.availableItems.length!==0&&this.api.get_tlm_values(this.availableItems).then(t=>{this.updateValues(t)})},updateValues:function(t){this.updateCounter+=1;for(let e=0;e<t.length;e++)t[e].push(this.updateCounter),this.screenValues[this.screenItems[e]]=t[e]},addItem:function(t){this.api.get_tlm_available([t]).then(e=>{this.screenItems.push(t),this.availableItems.push(e[0]),this.screenValues[e[0]]=[null,null,0]})},deleteItem:function(t){let e=this.screenItems.indexOf(t);this.availableItems.splice(e,1),this.screenItems.splice(e,1)},showIgnored(){this.ignoredItemsDialog=!0},customFilter(t,e,s){if(!e||e.trim()==="")return!0;if(e=e.toLowerCase(),s.parameters&&s.parameters.length>0){for(const r of s.parameters)if(r.toLowerCase().includes(e))return!0}return!!(s.timestamp&&s.timestamp.toLowerCase().includes(e)||s.key&&s.key.toLowerCase().includes(e))}}},Yi=["status"],Xi={key:0},Zi=["status"],Qi={class:"font-weight-black"};function eo(t,e,s,r,n,i){const o=S("v-text-field"),a=S("v-spacer"),c=S("v-list-item"),u=S("v-select"),d=S("v-row"),f=S("valuelimitsbar-widget"),b=S("value-widget"),_=S("v-btn"),x=S("v-icon"),h=S("v-list-item-title"),O=S("v-list"),w=S("v-menu"),v=S("v-data-table"),p=S("v-card"),k=S("v-toolbar"),N=S("v-divider"),G=S("v-card-text"),ie=S("v-card-actions"),se=S("v-dialog");return A(),J("div",null,[g(p,{class:"pa-5"},{default:m(()=>[g(d,{class:"ma-1"},{default:m(()=>[g(o,{density:"compact",variant:"outlined",readonly:"","hide-details":"",label:"Overall Limits State","model-value":i.overallStateFormatted,class:tt(i.textFieldClass),style:{"margin-right":"10px","max-width":"280px"},"data-test":"overall-state"},je({_:2},[i.astroStatus?{name:"prepend-inner",fn:m(()=>[z("rux-status",{status:i.astroStatus},null,8,Yi)]),key:"0"}:void 0]),1032,["model-value","class"]),g(o,{density:"compact",variant:"outlined",readonly:"","hide-details":"",label:"Current Limits Set","model-value":n.currentLimitsSet,style:{"max-width":"200px"},"data-test":"limits-set"},null,8,["model-value"]),g(a),g(u,{modelValue:n.stateFilter,"onUpdate:modelValue":e[0]||(e[0]=R=>n.stateFilter=R),items:n.stateFilterOptions,"item-title":"label","item-value":"value",label:"Filter by State",multiple:"",clearable:"",variant:"outlined",density:"compact","hide-details":"",class:"mr-2",style:{"max-width":"300px"},"data-test":"state-filter"},{selection:m(({index:R})=>[R===0?(A(),J("span",Xi,X(n.stateFilter.length)+" selected ",1)):ne("",!0)]),item:m(({props:R,item:I})=>[g(c,It(Tt(R)),{prepend:m(()=>[z("rux-status",{status:I.raw.status,class:"mr-2"},null,8,Zi)]),_:2},1040)]),_:1},8,["modelValue","items"]),g(o,{modelValue:n.search,"onUpdate:modelValue":e[1]||(e[1]=R=>n.search=R),label:"Search","prepend-inner-icon":"mdi-magnify",clearable:"",variant:"outlined",density:"compact","single-line":"","hide-details":"",style:{"max-width":"300px"},"data-test":"search"},null,8,["modelValue"])]),_:1}),g(v,{"items-per-page":n.itemsPerPage,"onUpdate:itemsPerPage":e[2]||(e[2]=R=>n.itemsPerPage=R),headers:n.headers,items:n.items,search:n.search,"custom-filter":i.customFilter,"row-props":i.rowProps,"item-value":"key","data-test":"limits-table",class:"limits-table",density:"compact"},{"item.timestamp":m(({item:R})=>[F(X(R.timestamp),1)]),"item.value":m(({item:R})=>[R.limits?(A(),L(f,{key:0,parameters:R.parameters,settings:n.valueLimitsBarWidgetSettings,"screen-values":n.screenValues,"screen-time-zone":s.timeZone,onAddItem:i.addItem,onDeleteItem:i.deleteItem},null,8,["parameters","settings","screen-values","screen-time-zone","onAddItem","onDeleteItem"])):(A(),L(b,{key:1,parameters:R.parameters,settings:n.valueWidgetSettings,"screen-values":n.screenValues,"screen-time-zone":s.timeZone,onAddItem:i.addItem,onDeleteItem:i.deleteItem},null,8,["parameters","settings","screen-values","screen-time-zone","onAddItem","onDeleteItem"]))]),"item.actions":m(({item:R})=>[g(w,null,{activator:m(({props:I})=>[g(_,Ne({icon:"mdi-dots-horizontal",variant:"text",density:"compact","aria-label":"Item Options"},I),null,16)]),default:m(()=>[g(O,null,{default:m(()=>[g(c,{onClick:I=>i.ignorePacket(R.key)},{prepend:m(()=>[g(x,null,{default:m(()=>[...e[5]||(e[5]=[F("mdi-close-circle-multiple",-1)])]),_:1})]),default:m(()=>[g(h,null,{default:m(()=>[...e[6]||(e[6]=[F("Ignore Entire Packet",-1)])]),_:1})]),_:1},8,["onClick"]),g(c,{onClick:I=>i.ignoreItem(R.key)},{prepend:m(()=>[g(x,null,{default:m(()=>[...e[7]||(e[7]=[F("mdi-close-circle",-1)])]),_:1})]),default:m(()=>[g(h,null,{default:m(()=>[...e[8]||(e[8]=[F("Ignore Item",-1)])]),_:1})]),_:1},8,["onClick"]),g(c,{onClick:I=>i.removeItem(R.key)},{prepend:m(()=>[g(x,null,{default:m(()=>[...e[9]||(e[9]=[F("mdi-eye-off",-1)])]),_:1})]),default:m(()=>[g(h,null,{default:m(()=>[...e[10]||(e[10]=[F("Temporarily Hide Item",-1)])]),_:1})]),_:1},8,["onClick"])]),_:2},1024)]),_:2},1024)]),"item.limits":m(({item:R})=>[g(a)]),_:1},8,["items-per-page","headers","items","search","custom-filter","row-props"]),e[11]||(e[11]=z("div",{class:"footer"},' Note: Timestamp is "now" for items currently out of limits when the page is loaded. ',-1))]),_:1}),g(se,{modelValue:n.ignoredItemsDialog,"onUpdate:modelValue":e[4]||(e[4]=R=>n.ignoredItemsDialog=R),"max-width":"600"},{default:m(()=>[g(p,null,{default:m(()=>[g(k,{height:"24"},{default:m(()=>[g(a),e[12]||(e[12]=z("span",null,"Ignored Items",-1)),g(a)]),_:1}),g(G,{class:"mt-2"},{default:m(()=>[z("div",null,[(A(!0),J(ce,null,pe(i.ignoredFormatted,(R,I)=>(A(),J("div",{key:I},[g(d,{class:"ma-1 align-center"},{default:m(()=>[z("span",Qi,X(R),1),g(a),g(_,{icon:"mdi-delete",density:"compact",variant:"text","aria-label":"Remove Ignored Item","data-test":`remove-ignore-${I}`,onClick:q=>i.restoreItem(I)},null,8,["data-test","onClick"])]),_:2},1024),I<i.ignoredFormatted.length-1?(A(),L(N,{key:I})):ne("",!0)]))),128))])]),_:1}),g(ie,{class:"px-2"},{default:m(()=>[g(_,{variant:"outlined",onClick:i.clearAll},{default:m(()=>[...e[13]||(e[13]=[F(" Clear All ",-1)])]),_:1},8,["onClick"]),g(a),g(_,{variant:"flat",onClick:e[3]||(e[3]=R=>n.ignoredItemsDialog=!1)},{default:m(()=>[...e[14]||(e[14]=[F(" Ok ",-1)])]),_:1})]),_:1})]),_:1})]),_:1},8,["modelValue"])])}const to=Pe(Gi,[["render",eo],["__scopeId","data-v-996d2580"]]),so={mixins:[Qe],props:{historyCount:{type:Number,default:1e3},timeZone:{type:String,default:"local"}},data(){return{data:[],cable:new ks,search:"",headers:[{title:"Time",value:"time_nsec",width:250},{title:"Level",value:"level",sortable:!1},{title:"Message",value:"message"}]}},created(){this.cable.createSubscription("LimitsEventsChannel",window.openc3Scope,{received:t=>{this.cable.recordPing(),this.handleMessages(t)}},{historyCount:1e3}).then(t=>{this.limitsSubscription=t})},unmounted(){this.limitsSubscription&&this.limitsSubscription.unsubscribe(),this.cable.disconnect()},methods:{handleMessages(t){for(let e=0;e<t.length;e++){let s=JSON.parse(t[e].event);this.data.unshift(s)}this.data.length>this.historyCount&&(this.data.length=this.historyCount)},getStatus(t){return t.includes("GREEN")?"normal":t.includes("YELLOW")?"caution":t.includes("RED")?"critical":t.includes("BLUE")?"standby":"off"},getColorClass(t){return t.includes("GREEN")?"openc3-green":t.includes("YELLOW")?"openc3-yellow":t.includes("RED")?"openc3-red":t.includes("BLUE")?"openc3-blue":"openc3-white"},calcTableHeight(){return window.innerHeight-250}}},ro=["status"];function no(t,e,s,r,n,i){const o=S("v-spacer"),a=S("v-text-field"),c=S("v-card-title"),u=S("v-data-table"),d=S("v-card");return A(),L(d,{class:"card-height"},{default:m(()=>[g(c,{class:"d-flex align-center"},{default:m(()=>[e[1]||(e[1]=F(" Limits Events ",-1)),g(o),g(a,{modelValue:n.search,"onUpdate:modelValue":e[0]||(e[0]=f=>n.search=f),label:"Search","prepend-inner-icon":"mdi-magnify",clearable:"",variant:"outlined",density:"compact","single-line":"","hide-details":"",class:"search"},null,8,["modelValue"])]),_:1}),g(u,{headers:n.headers,items:n.data,search:n.search,"items-per-page":-1,"hide-default-footer":"","multi-sort":"",density:"compact",height:i.calcTableHeight(),hover:"","data-test":"limits-events"},{"item.time_nsec":m(({item:f})=>[z("span",null,X(t.formatNanoseconds(f.time_nsec,s.timeZone)),1)]),"item.level":m(({item:f})=>[z("rux-status",{status:i.getStatus(f.message)},null,8,ro)]),"item.message":m(({item:f})=>[z("span",{class:tt(i.getColorClass(f.message))},X(f.message),3)]),_:1},8,["headers","items","search","height"])]),_:1})}const io={components:{LimitsControl:to,LimitsEvents:Pe(so,[["render",no],["__scopeId","data-v-192a6dcb"]]),TopBar:Hs,OpenConfigDialog:Rt,SaveConfigDialog:Ct},mixins:[Ot],data(){return{title:"Limits Monitor",configKey:"limits_monitor",api:new Fs,timeZone:"local",renderKey:0,ignored:[],openConfig:!1,saveConfig:!1,limitsSets:[],currentLimitsSet:null,currentSetRefreshInterval:null,limitsSetDialog:!1,menus:[{label:"File",items:[{label:"Show Ignored",icon:"mdi-magnify-close",command:()=>{this.$refs.control.showIgnored()}},{label:"Change Limits Set",icon:"mdi-swap-horizontal",command:()=>{this.limitsSetDialog=!0}},{divider:!0},{label:"Open Configuration",icon:"mdi-folder-open",command:()=>{this.openConfig=!0}},{label:"Save Configuration",icon:"mdi-content-save",command:()=>{this.saveConfig=!0}},{label:"Reset Configuration",icon:"mdi-monitor-shimmer",command:()=>{this.ignored=[],this.resetConfigBase(),this.renderKey++}}]}]}},created(){this.api.get_limits_sets().then(t=>{this.limitsSets=t}),this.api.get_setting("time_zone").then(t=>{t&&(this.timeZone=t)}).catch(t=>{})},mounted:function(){if(this.$route.query&&this.$route.query.config)this.openConfiguration(this.$route.query.config,!0);else{let t=this.loadDefaultConfig();JSON.stringify(t)!=="{}"&&(this.ignored=t,this.renderKey++)}},unmounted:function(){clearInterval(this.currentSetRefreshInterval)},methods:{setLimitsSet:function(){this.api.set_limits_set(this.currentLimitsSet),this.limitsSetDialog=!1,this.renderKey++},openConfiguration:function(t,e=!1){this.openConfigBase(t,e,s=>{this.ignored=s,this.renderKey++})},saveConfiguration:function(t){this.saveConfigBase(t,this.ignored)}}};function oo(t,e,s,r,n,i){const o=S("top-bar"),a=S("limits-control"),c=S("limits-events"),u=S("open-config-dialog"),d=S("save-config-dialog"),f=S("v-spacer"),b=S("v-toolbar"),_=S("v-select"),x=S("v-card-text"),h=S("v-btn"),O=S("v-card-actions"),w=S("v-card"),v=S("v-dialog");return A(),J("div",null,[g(o,{menus:n.menus,title:n.title},null,8,["menus","title"]),(A(),L(a,{ref:"control",key:n.renderKey,modelValue:n.ignored,"onUpdate:modelValue":e[0]||(e[0]=p=>n.ignored=p),"time-zone":n.timeZone},null,8,["modelValue","time-zone"])),e[12]||(e[12]=z("div",{style:{height:"15px"}},null,-1)),g(c,{"time-zone":n.timeZone},null,8,["time-zone"]),n.openConfig?(A(),L(u,{key:0,modelValue:n.openConfig,"onUpdate:modelValue":e[1]||(e[1]=p=>n.openConfig=p),"config-key":n.configKey,onSuccess:i.openConfiguration},null,8,["modelValue","config-key","onSuccess"])):ne("",!0),n.saveConfig?(A(),L(d,{key:1,modelValue:n.saveConfig,"onUpdate:modelValue":e[2]||(e[2]=p=>n.saveConfig=p),"config-key":n.configKey,onSuccess:i.saveConfiguration},null,8,["modelValue","config-key","onSuccess"])):ne("",!0),g(v,{modelValue:n.limitsSetDialog,"onUpdate:modelValue":e[5]||(e[5]=p=>n.limitsSetDialog=p),"max-width":"650",persistent:"",onKeydown:e[6]||(e[6]=Lt(p=>n.limitsSetDialog=!1,["esc"]))},{default:m(()=>[g(w,null,{default:m(()=>[g(b,{height:"24"},{default:m(()=>[g(f),e[7]||(e[7]=z("span",null,"Change Limits Set",-1)),g(f)]),_:1}),g(x,{class:"mt-6"},{default:m(()=>[e[8]||(e[8]=z("span",{style:{display:"block"}}," The Limits Set is a global option which changes the Limits Set across all tools. ",-1)),e[9]||(e[9]=z("span",{style:{display:"block"}}," NOTE: Changing this option clears the current list and recalculates based on the new set. ",-1)),g(_,{modelValue:n.currentLimitsSet,"onUpdate:modelValue":e[3]||(e[3]=p=>n.currentLimitsSet=p),label:"Limits Set",items:n.limitsSets,density:"compact",variant:"outlined","data-test":"change-limits-set","hide-details":"",class:"mt-3",style:{"max-width":"200px"}},null,8,["modelValue","items"])]),_:1}),g(O,{class:"px-2"},{default:m(()=>[g(f),g(h,{variant:"outlined",onClick:e[4]||(e[4]=p=>n.limitsSetDialog=!1)},{default:m(()=>[...e[10]||(e[10]=[F(" Cancel ",-1)])]),_:1}),g(h,{variant:"flat",onClick:i.setLimitsSet},{default:m(()=>[...e[11]||(e[11]=[F(" Ok ",-1)])]),_:1},8,["onClick"])]),_:1})]),_:1})]),_:1},8,["modelValue"])])}const ko=Vs("default",Pe(io,[["render",oo]]))})}}));
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
System.register(["./Widget-D_HaosJK-cad59761cc9929d05ed1.js","vue","./main-4c695d77b89b49cc35a4.js","vue-router","pinia","single-spa","vuetify"],(function(l,o){"use strict";var t,n,s,i,r;return{setters:[e=>{t=e.h},e=>{n=e.openBlock,s=e.createElementBlock,i=e.normalizeStyle},e=>{r=e.f},null,null,null,null],execute:(function(){const e={mixins:[t],created(){this.parameters[0]!==void 0&&this.appliedSettings.push(["WIDTH",this.parameters[0]]),this.parameters[1]!==void 0&&this.appliedSettings.push(["HEIGHT",this.parameters[1]])}};function a(u,p,m,d,h,f){return n(),s("div",{style:i(u.computedStyle)},null,4)}const c=l("default",r(e,[["render",a]]))})}}));
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
System.register(["./GraphWidget-COXK3Dab-e98f9a1c9ba6e83f1aa3.js","./main-4c695d77b89b49cc35a4.js","vue","./Graph-Cz0Ns1FD-458d3b3ff56b7f2f52b7.js","single-spa","./Widget-D_HaosJK-cad59761cc9929d05ed1.js","vue-router","pinia","vuetify","./OpenC3TimePicker-B0lAIU91-0172b8047df53a20c9a8.js"],(function(l,c){"use strict";var i,s,n,r,a,o,d;return{setters:[e=>{i=e.M},e=>{s=e.f},e=>{n=e.resolveComponent,r=e.openBlock,a=e.createBlock,o=e.normalizeStyle},e=>{d=e.R},null,null,null,null,null,null],execute:(function(){const e={components:{Graph:d},mixins:[i],data:function(){return{secondsGraphed:300,pointsSaved:300,pointsGraphed:300,size:{height:30,width:130}}}};function p(t,g,m,v,f,y){const h=n("graph");return r(),a(h,{id:t.id,ref:"graph"+t.id,state:t.state,"selected-graph-id":t.id,"start-time":t.startTime,"seconds-graphed":t.secondsGraphed,"points-saved":t.pointsSaved,"points-graphed":t.pointsGraphed,"initial-items":t.items,height:t.size.height,width:t.size.width,style:o(t.computedStyle),sparkline:""},null,8,["id","state","selected-graph-id","start-time","seconds-graphed","points-saved","points-graphed","initial-items","height","width","style"])}const u=l("default",s(e,[["render",p]]))})}}));
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
System.register(["./main-4c695d77b89b49cc35a4.js","vue","./DetailsDialog-F4KgYM6m-99f16b4c0cd103cebe4d.js","single-spa","./VWidget-oMbywhLA-85718f33edeb08e1e150.js","vue-router","pinia","vuetify","./LimitsBar-D5IZu7eX-c83defbeb54b6cfc8648.js","./LimitsColor-CBcpB-la-3bd861951380f642016e.js","./Widget-D_HaosJK-cad59761cc9929d05ed1.js"],(function(f,z){"use strict";var c,a,s,r,n,u,m,l,d,h,p,g,v,x,w,y;return{setters:[e=>{c=e.f},e=>{a=e.resolveComponent,s=e.openBlock,r=e.createElementBlock,n=e.createVNode,u=e.normalizeStyle,m=e.normalizeClass,l=e.withCtx,d=e.Fragment,h=e.renderList,p=e.createBlock,g=e.withModifiers,v=e.createTextVNode,x=e.toDisplayString},e=>{w=e.Z},null,e=>{y=e.T},null,null,null,null,null,null],execute:(function(){const e={components:{DetailsDialog:w},mixins:[y],data:function(){return{width:200,height:200}},computed:{aging(){return{"--aging":this.grayLevel}}},created:function(){this.width=this.setWidth(this.parameters[3],"px",this.width),this.height=this.setHeight(this.parameters[4],"px",this.height)},methods:{getType:function(){let t="CONVERTED";return this.parameters[5]&&(t=this.parameters[5]),t}}},C={class:"textbox-widget-container"};function V(t,o,N,E,F,k){const D=a("v-textarea"),B=a("v-list-item-title"),S=a("v-list-item"),_=a("v-list"),M=a("v-menu"),T=a("details-dialog");return s(),r("div",C,[n(D,{variant:"solo",density:"compact",readonly:"","no-resize":"","auto-grow":"",rows:"2","hide-details":"","model-value":t._value,class:m(t.valueClass),style:u([t.computedStyle,k.aging]),"data-test":"valueText",onContextmenu:t.showContextMenu},null,8,["model-value","class","style","onContextmenu"]),n(M,{modelValue:t.contextMenuShown,"onUpdate:modelValue":o[0]||(o[0]=i=>t.contextMenuShown=i),target:[t.x,t.y]},{default:l(()=>[n(_,null,{default:l(()=>[(s(!0),r(d,null,h(t.contextMenuOptions,(i,j)=>(s(),p(S,{key:j,onClick:g(i.action,["stop"])},{default:l(()=>[n(B,null,{default:l(()=>[v(x(i.title),1)]),_:2},1024)]),_:2},1032,["onClick"]))),128))]),_:1})]),_:1},8,["modelValue","target"]),n(T,{modelValue:t.viewDetails,"onUpdate:modelValue":o[1]||(o[1]=i=>t.viewDetails=i),"target-name":t.parameters[0],"packet-name":t.parameters[1],"item-name":t.parameters[2]},null,8,["modelValue","target-name","packet-name","item-name"])])}const L=f("default",c(e,[["render",V],["__scopeId","data-v-ce1e6683"]]))})}}));
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
System.register(["./Widget-D_HaosJK-cad59761cc9929d05ed1.js","vue","./main-4c695d77b89b49cc35a4.js","vue-router","pinia","single-spa","vuetify"],(function(u,p){"use strict";var t,l,n,a,s,r;return{setters:[e=>{t=e.h},e=>{l=e.resolveComponent,n=e.openBlock,a=e.createBlock,s=e.normalizeStyle},e=>{r=e.f},null,null,null,null],execute:(function(){const e={mixins:[t],data(){return{value:null}},created(){this.setWidth(this.parameters[0],"ch",12),this.parameters[1]&&(this.value=this.parameters[1])},methods:{text(){return this.value}}};function c(d,i,y,f,o,g){const h=l("v-text-field");return n(),a(h,{modelValue:o.value,"onUpdate:modelValue":i[0]||(i[0]=m=>o.value=m),variant:"solo",density:"compact","single-line":"","hide-no-data":"","hide-details":"",style:s(d.computedStyle)},null,8,["modelValue","style"])}const v=u("default",r(e,[["render",c]]))})}}));
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
System.register(["./Widget-D_HaosJK-cad59761cc9929d05ed1.js","./OpenC3TimePicker-B0lAIU91-0172b8047df53a20c9a8.js","./main-4c695d77b89b49cc35a4.js","vue","vue-router","pinia","single-spa","vuetify"],(function(c,f){"use strict";var l,i,n,a,r,s,o,m;return{setters:[e=>{l=e.h},e=>{i=e.w},e=>{n=e.f,a=e.R},e=>{r=e.resolveComponent,s=e.openBlock,o=e.createBlock,m=e.normalizeStyle},null,null,null,null],execute:(function(){const e={components:{OpenC3TimePicker:i},mixins:[l,a],data(){return{label:"Time",timeValue:""}},created(){this.parameters[0]&&(this.label=this.parameters[0]),this.timeValue=this.formatTimeHMS(new Date,this.screenTimeZone)},methods:{text(){return this.timeValue},time(){return this.timeValue}}};function p(h,u,y,T,t,v){const d=r("OpenC3TimePicker");return s(),o(d,{modelValue:t.timeValue,"onUpdate:modelValue":u[0]||(u[0]=V=>t.timeValue=V),label:t.label,style:m(h.computedStyle),"hide-details":""},null,8,["modelValue","label","style"])}const k=c("default",n(e,[["render",p]]))})}}));
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
System.register(["./Widget-D_HaosJK-cad59761cc9929d05ed1.js","vue","./main-4c695d77b89b49cc35a4.js","vue-router","pinia","single-spa","vuetify"],(function(s,p){"use strict";var t,r,n,l,a,i;return{setters:[e=>{t=e.h},e=>{r=e.openBlock,n=e.createElementBlock,l=e.normalizeStyle,a=e.toDisplayString},e=>{i=e.f},null,null,null,null],execute:(function(){const e={mixins:[t],computed:{labelText(){return this.parameters[0]}},created(){if(this.parameters.length<1)throw new Error("Not enough parameters for TITLE.")}};function o(c,f,h,y,d,u){return r(),n("div",{class:"text-h5 text-center pa-1 mt-1 label",style:l(c.computedStyle)},a(u.labelText),5)}const m=s("default",i(e,[["render",o]]))})}}));
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
System.register(["./main-4c695d77b89b49cc35a4.js","vue","./DetailsDialog-F4KgYM6m-99f16b4c0cd103cebe4d.js","single-spa","./VWidget-oMbywhLA-85718f33edeb08e1e150.js","vue-router","pinia","vuetify","./LimitsBar-D5IZu7eX-c83defbeb54b6cfc8648.js","./LimitsColor-CBcpB-la-3bd861951380f642016e.js","./Widget-D_HaosJK-cad59761cc9929d05ed1.js"],(function(D,I){"use strict";var d,a,o,u,p,i,v,c,n,l,g,m,f,h,y,x,C,k,V;return{setters:[t=>{d=t.f},t=>{a=t.resolveComponent,o=t.openBlock,u=t.createElementBlock,p=t.normalizeStyle,i=t.createBlock,v=t.normalizeClass,c=t.createSlots,n=t.withCtx,l=t.createVNode,g=t.createElementVNode,m=t.toDisplayString,f=t.mergeProps,h=t.Fragment,y=t.renderList,x=t.withModifiers,C=t.createTextVNode},t=>{k=t.Z},null,t=>{V=t.T},null,null,null,null,null,null],execute:(function(){const T={components:{DetailsDialog:k},mixins:[V],data:function(){return{width:16}},computed:{fullName(){return this.parameters[0]+" "+this.parameters[1]+" "+this.parameters[2]},aging(){return{"--aging":this.grayLevel}}},created(){this.verifyNumParams("VALUE",3,5,"VALUE <TARGET> <PACKET> <ITEM> <TYPE> <WIDTH>"),this.setWidth(Number.parseInt(this.parameters[4])+4,"ch",this.width)}};function B(e,r,U,W,F,w){const S=a("rux-status"),_=a("v-text-field"),E=a("v-tooltip"),M=a("v-list-item-title"),N=a("v-list-item"),L=a("v-list"),j=a("v-menu"),z=a("details-dialog");return o(),u("div",{class:"value-widget-container",style:p([e.computedStyle,w.aging])},[e.tooltipText?(o(),i(_,{key:1,variant:"solo",density:"compact",flat:"",readonly:"","hide-details":"","model-value":e._value,class:v(e.valueClass),"data-test":"value",onContextmenu:e.showContextMenu},c({_:2},[e.astroStatus?{name:"prepend-inner",fn:n(()=>[l(S,{status:e.astroStatus},null,8,["status"])]),key:"0"}:void 0]),1032,["model-value","class","onContextmenu"])):(o(),i(E,{key:0,"open-delay":600,location:"top"},{activator:n(({props:s})=>[l(_,f({variant:"solo",density:"compact",flat:"",readonly:"","hide-details":"","model-value":e._value,class:e.valueClass,"data-test":"value"},s,{onContextmenu:e.showContextMenu}),c({_:2},[e.astroStatus?{name:"prepend-inner",fn:n(()=>[l(S,{status:e.astroStatus},null,8,["status"])]),key:"0"}:void 0]),1040,["model-value","class","onContextmenu"])]),default:n(()=>[g("span",null,m(w.fullName),1)]),_:1})),l(j,{modelValue:e.contextMenuShown,"onUpdate:modelValue":r[0]||(r[0]=s=>e.contextMenuShown=s),target:[e.x,e.y],style:{"z-index":"3000"}},{default:n(()=>[l(L,null,{default:n(()=>[(o(!0),u(h,null,y(e.contextMenuOptions,(s,A)=>(o(),i(N,{key:A,onClick:x(s.action,["stop"])},{default:n(()=>[l(M,null,{default:n(()=>[C(m(s.title),1)]),_:2},1024)]),_:2},1032,["onClick"]))),128))]),_:1})]),_:1},8,["modelValue","target"]),l(z,{modelValue:e.viewDetails,"onUpdate:modelValue":r[1]||(r[1]=s=>e.viewDetails=s),"target-name":e.parameters[0],"packet-name":e.parameters[1],"item-name":e.parameters[2]},null,8,["modelValue","target-name","packet-name","item-name"])],4)}const P=D("default",d(T,[["render",B],["__scopeId","data-v-8340df7d"]]))})}}));
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
System.register(["./ValueWidget-B1aGUBP7-0812b73f73dcc59b379a.js","./LimitsbarWidget-VpxQXE-e-1550e0d37fc190f68cb9.js","./Widget-D_HaosJK-cad59761cc9929d05ed1.js","vue","./main-4c695d77b89b49cc35a4.js","./DetailsDialog-F4KgYM6m-99f16b4c0cd103cebe4d.js","./LimitsBar-D5IZu7eX-c83defbeb54b6cfc8648.js","./LimitsColor-CBcpB-la-3bd861951380f642016e.js","single-spa","./VWidget-oMbywhLA-85718f33edeb08e1e150.js","vue-router","pinia","vuetify","./BarColumn-BpdscDQf-35b4ae46ea40ba6eac87.js"],(function(g,v){"use strict";var r,i,a,n,u,o,c,s,l,m;return{setters:[e=>{r=e.default},e=>{i=e.default},e=>{a=e.h},e=>{n=e.resolveComponent,u=e.openBlock,o=e.createElementBlock,c=e.normalizeStyle,s=e.createVNode,l=e.mergeProps},e=>{m=e.f},null,null,null,null,null,null,null,null,null],execute:(function(){const e={components:{ValueWidget:r,LimitsbarWidget:i},mixins:[a]};function p(t,j,b,V,w,x){const d=n("value-widget"),f=n("limitsbar-widget");return u(),o("div",{ref:"container",class:"d-flex flex-row",style:c(t.computedStyle)},[s(d,l(t.$attrs,{parameters:t.parameters,settings:[...t.appliedSettings],"screen-values":t.screenValues,"screen-time-zone":t.screenTimeZone,"widget-index":0}),null,16,["parameters","settings","screen-values","screen-time-zone"]),s(f,l(t.$attrs,{parameters:t.parameters.slice(0,3),settings:[...t.appliedSettings],"screen-values":t.screenValues,"widget-index":1,line:t.line,"line-number":t.lineNumber}),null,16,["parameters","settings","screen-values","line","line-number"])],4)}const B=g("default",m(e,[["render",p]]))})}}));
|