openc3-cosmos-tool-handbooks 5.14.2 → 5.15.0

Sign up to get free protection for your applications and to get access to all the features.
@@ -0,0 +1,2 @@
1
+ (self["webpackChunk_openc3_cosmos_tool_handbooks"]=self["webpackChunk_openc3_cosmos_tool_handbooks"]||[]).push([[662],{2662:(e,n,t)=>{"use strict";function i(){var e="/openc3/plugins/packages/openc3-cosmos-tool-handbooks/src/tools/Handbooks/Handbooks.vue",n="81570936c0a0bbd6fe3204546810d59181e3d563",t=new Function("return this")(),l="__coverage__",o={path:"/openc3/plugins/packages/openc3-cosmos-tool-handbooks/src/tools/Handbooks/Handbooks.vue",statementMap:{0:{start:{line:1,column:13},end:{line:2,column:1}},1:{start:{line:1,column:39},end:{line:1,column:43}},2:{start:{line:1,column:47},end:{line:1,column:59}},3:{start:{line:1,column:60},end:{line:1,column:1751}},4:{start:{line:1,column:494},end:{line:1,column:889}},5:{start:{line:1,column:573},end:{line:1,column:597}},6:{start:{line:1,column:969},end:{line:1,column:996}},7:{start:{line:1,column:1125},end:{line:1,column:1174}},8:{start:{line:1,column:1418},end:{line:1,column:1433}},9:{start:{line:1,column:1591},end:{line:1,column:1745}},10:{start:{line:3,column:22},end:{line:3,column:24}}},fnMap:{0:{name:"render",decl:{start:{line:1,column:22},end:{line:1,column:28}},loc:{start:{line:1,column:30},end:{line:2,column:1}},line:1},1:{name:"(anonymous_1)",decl:{start:{line:1,column:483},end:{line:1,column:484}},loc:{start:{line:1,column:493},end:{line:1,column:890}},line:1},2:{name:"(anonymous_2)",decl:{start:{line:1,column:556},end:{line:1,column:557}},loc:{start:{line:1,column:572},end:{line:1,column:598}},line:1},3:{name:"(anonymous_3)",decl:{start:{line:1,column:953},end:{line:1,column:954}},loc:{start:{line:1,column:968},end:{line:1,column:997}},line:1},4:{name:"(anonymous_4)",decl:{start:{line:1,column:1108},end:{line:1,column:1109}},loc:{start:{line:1,column:1124},end:{line:1,column:1175}},line:1},5:{name:"(anonymous_5)",decl:{start:{line:1,column:1402},end:{line:1,column:1403}},loc:{start:{line:1,column:1417},end:{line:1,column:1434}},line:1},6:{name:"(anonymous_6)",decl:{start:{line:1,column:1574},end:{line:1,column:1575}},loc:{start:{line:1,column:1590},end:{line:1,column:1746}},line:1}},branchMap:{},s:{0:0,1:0,2:0,3:0,4:0,5:0,6:0,7:0,8:0,9:0,10:0},f:{0:0,1:0,2:0,3:0,4:0,5:0,6:0},b:{},_coverageSchema:"1a1c01bbd47fc00a2c39e90264f33305004495a9",hash:"81570936c0a0bbd6fe3204546810d59181e3d563"},s=t[l]||(t[l]={});s[e]&&s[e].hash===n||(s[e]=o);var a=s[e];return i=function(){return a},a}t.r(n),t.d(n,{default:()=>Y}),i(),i().s[0]++;var l=function(){i().f[0]++;var e=(i().s[1]++,this),n=(i().s[2]++,e._self._c);return i().s[3]++,n("div",[n("top-bar",{attrs:{menus:e.menus,title:e.title}}),e._v(" "),n("v-card",[n("v-container",{staticClass:"d-print-none"},[n("v-row",{attrs:{dense:""}},[n("v-col",[n("v-select",{staticClass:"ma-0 pa-0",attrs:{label:"Select Target(s)",dense:"","hide-details":"",outlined:"",items:e.targetNames,multiple:""},on:{change:e.targetSelect},scopedSlots:e._u([{key:"prepend-item",fn:function(){return i().f[1]++,i().s[4]++,[n("v-list-item",{attrs:{ripple:""},on:{mousedown:function(e){i().f[2]++,i().s[5]++,e.preventDefault()},click:e.toggleTargets}},[n("v-list-item-action",[n("v-icon",[e._v("\n "+e._s(e.icon)+"\n ")])],1),e._v(" "),n("v-list-item-content",[n("v-list-item-title",[e._v(" Select All ")])],1)],1),e._v(" "),n("v-divider",{staticClass:"mt-2"})]},proxy:!0}]),model:{value:e.selectedTargetNames,callback:function(n){i().f[3]++,i().s[6]++,e.selectedTargetNames=n},expression:"selectedTargetNames"}})],1),e._v(" "),n("v-col",[n("v-btn",{staticClass:"primary",on:{click:function(n){i().f[4]++,i().s[7]++,e.renderedTargetNames=e.selectedTargetNames}}},[e._v("\n Display\n ")])],1),e._v(" "),n("v-col",[n("v-select",{attrs:{label:"Item Columns",dense:"","hide-details":"",outlined:"",items:e.columnItems},model:{value:e.columns,callback:function(n){i().f[5]++,i().s[8]++,e.columns=n},expression:"columns"}})],1)],1)],1)],1),e._v(" "),n("div",{staticStyle:{height:"15px"}}),e._v(" "),e._l(e.renderedTargetNames,(function(t){return i().f[6]++,i().s[9]++,n("div",{key:t},[n("target",{attrs:{target:t,columns:e.columns,hideIgnored:e.hideIgnored,hideDerived:e.hideDerived}})],1)}))],2)},o=(i().s[10]++,[]),s=t(814),a=(t(7107),t(2682),t(785),t(8357),t(6196),t(821),t(6554),t(8472),t(7404),t(5803),t(3912),t(3647),t(9358),t(5114),t(7010),t(4625)),r=t(1649);const c=new r["default"],d=a.A.create({baseURL:location.origin,timeout:6e4,params:{}});d.interceptors.response.use((e=>e),(e=>{if(e.response){var n,t,i,l,o;if(401===e.response.status&&OpenC3Auth.updateToken(OpenC3Auth.defaultMinValidity,!0).then((function(e){e&&OpenC3Auth.setTokens()})),e.response.config.headers["Ignore-Errors"]&&e.response.config.headers["Ignore-Errors"].includes(e.response.status.toString()))return Promise.reject(e);let a=`HTTP ${e.response.status} - `;if(null!==(n=e.response)&&void 0!==n&&n.statusText&&(a+=`${e.response.statusText} `),null!==(t=e.response)&&void 0!==t&&null!==(t=t.config)&&void 0!==t&&t.data&&(a+=`${e.response.config.data} `),null!==(i=e.response)&&void 0!==i&&null!==(i=i.data)&&void 0!==i&&i.message)a+=`${e.response.data.message}`;else if(null!==(l=e.response)&&void 0!==l&&null!==(l=l.data)&&void 0!==l&&l.exception)a+=`${e.response.data.exception}`;else if(null!==(o=e.response)&&void 0!==o&&null!==(o=o.data)&&void 0!==o&&null!==(o=o.error)&&void 0!==o&&o.message)e.response.data.error.class&&(a+=`${e.response.data.error.class} `),a+=`${e.response.data.error.message}`;else{var s;a+=`${null===(s=e.response)||void 0===s?void 0:s.data}`}throw c.$notify&&c.$notify.serious({title:"Network error",body:a}),e}throw e}));const m=d;class u{constructor(){(0,s.A)(this,"id",1)}async exec(e,n,t={},i={},l=6e4){try{let e=await OpenC3Auth.updateToken(OpenC3Auth.defaultMinValidity);e&&OpenC3Auth.setTokens()}catch(s){OpenC3Auth.login()}this.id=this.id+1;try{t["scope"]=window.openc3Scope;const o=await m.post("/openc3-api/api",{jsonrpc:"2.0",method:e,params:n,id:this.id,keyword_params:t},{headers:{Authorization:localStorage.openc3Token,"Content-Type":"application/json-rpc",...i},timeout:l});return o.data.result}catch(s){var o=new Error;throw s.response?(o.name=s.response.data.error.data.class,o.message=s.response.data.error.data.message):s.request?(o.name="Request error",o.message="Request error, no response received"):o.name="Unknown error",o}}decode_openc3_type(e){if(null!==e&&"object"===typeof e&&"Float"==e.json_class&&e.raw){if("NaN"==e.raw)return NaN;if("Infinity"==e.raw)return 1/0;if("-Infinity"==e.raw)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,n){return this.exec("map_target_to_interface",[e,n])}connect_interface(e,...n){return n.length>0?this.exec("connect_interface",[e,...n]):this.exec("connect_interface",[e])}disconnect_interface(e){return this.exec("disconnect_interface",[e])}interface_cmd(e,n,...t){return this.exec("interface_cmd",[e,n,...t])}get_all_router_info(){return this.exec("get_all_router_info",[])}connect_router(e){return this.exec("connect_router",[e])}disconnect_router(e){return this.exec("disconnect_router",[e])}get_target_interfaces(){return this.exec("get_target_interfaces",[])}get_all_target_info(){return this.exec("get_all_target_info",[])}get_tlm_cnts(e){return this.exec("get_tlm_cnts",[e])}get_item(e,n,t){return this.exec("get_item",[e,n,t])}get_param(e,n,t){return this.exec("get_param",[e,n,t])}get_parameter(e,n,t){return this.exec("get_parameter",[e,n,t])}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_list",[])}get_tlm(e,n){return this.exec("get_tlm",[e,n])}get_telemetry(e,n){return this.exec("get_telemetry",[e,n])}get_all_tlm(e){return this.exec("get_all_tlm",[e])}get_all_telemetry(e){return this.exec("get_all_telemetry",[e])}get_all_tlm_names(e){return this.exec("get_all_tlm_names",[e])}get_all_telemetry_names(e){return this.exec("get_all_telemetry_names",[e])}async get_tlm_packet(e,n,t,i=30){const l=await this.exec("get_tlm_packet",[e,n],{type:t,stale_time:i});if(null!=l)for(var o=l.length,s=null,a=0;a<o;a++)s=this.decode_openc3_type(l[a][1]),null!==s&&(l[a][1]=s);return l}get_packet_derived_items(e,n){return this.exec("get_packet_derived_items",[e,n])}get_tlm_buffer(e,n){return this.exec("get_tlm_buffer",[e,n])}async get_tlm_values(e,n=30,t=null){let i={stale_time:n};null!==t&&(i["cache_timeout"]=t);const l=await this.exec("get_tlm_values",[e],i,{},1e4);for(var o=l[0].length,s=null,a=0;a<o;a++)s=this.decode_openc3_type(l[0][a]),null!==s&&(l[0][a]=s);return l}get_limits(e,n,t){return this.exec("get_limits",[e,n,t])}async tlm(e,n,t,i="CONVERTED"){let l=null;if(void 0===n)l=await this.exec("tlm",[e]);else if(void 0===t){if(!["RAW","CONVERTED","FORMATTED","WITH_UNITS"].includes(n)){var o=new Error;throw o.name="TypeError",o.message=`Invalid data type ${n}. Valid options are RAW, CONVERTED, FORMATTED, and WITH_UNITS.`,o}l=await this.exec("tlm",[e],{type:n})}else l=await this.exec("tlm",[e,n,t],{type:i});var s=this.decode_openc3_type(l);return null!==s&&(l=s),l}async inject_tlm(e,n,t=null,i="CONVERTED"){data=await this.exec("inject_tlm",[e,n,t],{type:i})}set_tlm(e,n,t,i){return this.exec("set_tlm",[e,n,t],{type:i})}override_tlm(e,n,t,i){return this.exec("override_tlm",[e,n,t],{type:i})}get_overrides(){return this.exec("get_overrides")}normalize_tlm(e,n,t,i){return this.exec("normalize_tlm",[e,n,t],{type:i})}get_all_cmds(e){return this.exec("get_all_cmds",[e])}get_all_commands(e){return this.exec("get_all_commands",[e])}get_all_cmd_names(e){return this.exec("get_all_cmd_names",[e])}get_all_command_names(e){return this.exec("get_all_command_names",[e])}get_cmd(e,n){return this.exec("get_cmd",[e,n])}get_command(e,n){return this.exec("get_command",[e,n])}get_cmd_cnts(e){return this.exec("get_cmd_cnts",[e])}get_cmd_value(e,n,t,i="CONVERTED"){return this.exec("get_cmd_value",[e,n,t,i])}get_cmd_buffer(e,n){return this.exec("get_cmd_buffer",[e,n])}_cmd(e,n,t,i,l){var o=null;for(var s in i)Object.prototype.hasOwnProperty.call(i,s)&&(o=this.encode_openc3_type(i[s]),null!==o&&(i[s]=o));return this.exec(e,[n,t,i],{},l)}get_cmd_hazardous(e,n,t){return void 0===n?this.exec("get_cmd_hazardous",e):this._cmd("get_cmd_hazardous",e,n,t)}cmd(e,n,t,i={}){return void 0===n?this.exec("cmd",e,{},i):this._cmd("cmd",e,n,t,i)}cmd_no_range_check(e,n,t){return void 0===n?this.exec("cmd_no_range_check",e):this._cmd("cmd_no_range_check",e,n,t)}cmd_raw(e,n,t){return void 0===n?this.exec("cmd_raw",e):this._cmd("cmd_raw",e,n,t)}cmd_raw_no_range_check(e,n,t){return void 0===n?this.exec("cmd_raw_no_range_check",e):this._cmd("cmd_raw_no_range_check",e,n,t)}cmd_no_hazardous_check(e,n,t){return void 0===n?this.exec("cmd_no_hazardous_check",e):this._cmd("cmd_no_hazardous_check",e,n,t)}cmd_no_checks(e,n,t){return void 0===n?this.exec("cmd_no_checks",e):this._cmd("cmd_no_checks",e,n,t)}cmd_raw_no_hazardous_check(e,n,t){return void 0===n?this.exec("cmd_raw_no_hazardous_check",e):this._cmd("cmd_raw_no_hazardous_check",e,n,t)}cmd_raw_no_checks(e,n,t){return void 0===n?this.exec("cmd_raw_no_checks",e):this._cmd("cmd_raw_no_checks",e,n,t)}build_cmd(e,n,t){return void 0===n?this.exec("build_cmd",e):this._cmd("build_cmd",e,n,t)}build_command(e,n,t){return void 0===n?this.exec("build_command",e):this._cmd("build_command",e,n,t)}get_interface_names(){return this.exec("get_interface_names",[])}send_raw(e,n){return this.exec("send_raw",[e,n])}list_configs(e){return this.exec("list_configs",[e])}load_config(e,n){return this.exec("load_config",[e,n])}save_config(e,n,t){return this.exec("save_config",[e,n,t])}delete_config(e,n){return this.exec("delete_config",[e,n])}enable_limits(e,n,t){return this.exec("enable_limits",[e,n,t])}disable_limits(e,n,t){return this.exec("disable_limits",[e,n,t])}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){return this.exec("get_setting",[e])}get_settings(e){return this.exec("get_settings",e)}set_setting(e,n){return this.exec("set_setting",[e,n])}save_setting(e,n){return this.exec("save_setting",[e,n])}get_metrics(){return this.exec("get_metrics",[])}async hashString(e){if(window.isSecureContext){const n=(new TextEncoder).encode(e),t=await crypto.subtle.digest("SHA-256",n),i=new Uint8Array(t);return Array.from(i).map((e=>e.toString(16).padStart(2,"0"))).join("")}}}var A=function(){var e=this,n=e._self._c;return n("mounting-portal",{attrs:{"mount-to":"#openc3-menu",append:""}},[n("v-row",{attrs:{"no-gutters":""}},[n("v-col",{attrs:{"align-self":"end"}},[n("span",{staticClass:"app-title mr-2"},[e._v(e._s(e.title))])])],1),e._v(" "),n("v-row",{staticClass:"flex-nowrap",attrs:{dense:""}},e._l(e.menus,(function(t,i){return n("v-menu",{key:i,ref:"topmenu",refInFor:!0,attrs:{"offset-y":""},scopedSlots:e._u([{key:"activator",fn:function({on:i,attrs:l}){return[n("v-btn",e._g(e._b({staticClass:"mx-1 menu-button",attrs:{outlined:"","data-test":e.formatDT(`${e.title} ${t.label}`)}},"v-btn",l,!1),i),[n("span",{domProps:{textContent:e._s(t.label)}}),e._v(" "),n("v-icon",{staticClass:"myicon",attrs:{right:""}},[e._v(" mdi-menu-down ")])],1)]}}],null,!0)},[e._v(" "),n("v-list",[n("v-radio-group",{staticClass:"ma-0 pa-0",attrs:{value:t.radioGroup,"hide-details":"",dense:""}},[e._l(t.items,(function(i,l){return[i.divider?n("v-divider",{key:l}):i.subMenu&&i.subMenu.length>0?n("div",{key:l},[n("v-menu",{key:e.k,attrs:{"open-on-hover":"","offset-x":"",bottom:""},scopedSlots:e._u([{key:"activator",fn:function({on:t,attrs:o}){return[n("v-list-item",e._g(e._b({key:l,attrs:{disabled:i.disabled}},"v-list-item",o,!1),t),[i.icon?n("v-list-item-icon",[n("v-icon",{attrs:{disabled:i.disabled}},[e._v(e._s(i.icon))])],1):e._e(),e._v(" "),i.radio||i.checkbox?e._e():n("v-list-item-title",{style:"cursor: pointer;"+(i.disabled?"opacity: 0.2":"")},[e._v(e._s(i.label)+"\n ")]),e._v(" "),n("v-icon",[e._v(" mdi-chevron-right ")])],1)]}}],null,!0)},[e._v(" "),n("v-list",e._l(i.subMenu,(function(t,i){return n("v-list-item",{key:i,on:{click:function(n){return e.subMenuClick(t)}}},[t.icon?n("v-list-item-icon",[n("v-icon",[e._v(e._s(t.icon))])],1):e._e(),e._v(" "),n("v-list-item-title",[e._v(e._s(t.label))])],1)})),1)],1)],1):n("v-list-item",{key:l,attrs:{disabled:i.disabled,"data-test":e.formatDT(`${e.title} ${t.label} ${i.label}`)},on:{click:function(e){return i.command(i)}}},[i.radio?n("v-list-item-action",[n("v-radio",{attrs:{color:"secondary",label:i.label,value:i.label}})],1):e._e(),e._v(" "),i.checkbox?n("v-list-item-action",[n("v-checkbox",{attrs:{color:"secondary",label:i.label},model:{value:i.checked,callback:function(n){e.$set(i,"checked",n)},expression:"option.checked"}})],1):e._e(),e._v(" "),i.icon?n("v-list-item-icon",[n("v-icon",{attrs:{disabled:i.disabled}},[e._v(e._s(i.icon))])],1):e._e(),e._v(" "),i.radio||i.checkbox?e._e():n("v-list-item-title",{style:"cursor: pointer;"+(i.disabled?"opacity: 0.2":"")},[e._v(e._s(i.label))])],1)]}))],2)],1)],1)})),1)],1)},_=[];t(4293),t(8715);const p={props:{menus:{type:Array,default:function(){return[]}},title:{type:String,default:""}},methods:{formatDT:function(e){return e.replaceAll(" ","-").toLowerCase()},subMenuClick(e){e.command(e),this.$refs.topmenu[0].isActive=!1}},mounted(){document.title=this.title}},h=p;t(1e3);var v=t(2401),f=(0,v.A)(h,A,_,!1,null,"57d4fdd2",null);const g=f.exports;function b(){var e="/openc3/plugins/packages/openc3-cosmos-tool-handbooks/src/tools/Handbooks/Target.vue",n="875817da524c0a0ab55ccb0359f74c9d5f7cd1f9",t=new Function("return this")(),i="__coverage__",l={path:"/openc3/plugins/packages/openc3-cosmos-tool-handbooks/src/tools/Handbooks/Target.vue",statementMap:{0:{start:{line:1,column:13},end:{line:2,column:1}},1:{start:{line:1,column:39},end:{line:1,column:43}},2:{start:{line:1,column:47},end:{line:1,column:59}},3:{start:{line:1,column:60},end:{line:1,column:1033}},4:{start:{line:1,column:340},end:{line:1,column:609}},5:{start:{line:1,column:755},end:{line:1,column:1023}},6:{start:{line:3,column:22},end:{line:3,column:24}}},fnMap:{0:{name:"render",decl:{start:{line:1,column:22},end:{line:1,column:28}},loc:{start:{line:1,column:30},end:{line:2,column:1}},line:1},1:{name:"(anonymous_1)",decl:{start:{line:1,column:323},end:{line:1,column:324}},loc:{start:{line:1,column:339},end:{line:1,column:610}},line:1},2:{name:"(anonymous_2)",decl:{start:{line:1,column:738},end:{line:1,column:739}},loc:{start:{line:1,column:754},end:{line:1,column:1024}},line:1}},branchMap:{},s:{0:0,1:0,2:0,3:0,4:0,5:0,6:0},f:{0:0,1:0,2:0},b:{},_coverageSchema:"1a1c01bbd47fc00a2c39e90264f33305004495a9",hash:"875817da524c0a0ab55ccb0359f74c9d5f7cd1f9"},o=t[i]||(t[i]={});o[e]&&o[e].hash===n||(o[e]=l);var s=o[e];return b=function(){return s},s}b(),b().s[0]++;var C=function(){b().f[0]++;var e=(b().s[1]++,this),n=(b().s[2]++,e._self._c);return b().s[3]++,n("v-card",[n("v-container",{attrs:{id:e.target}},[n("div",{staticClass:"text-h3 text-center"},[e._v(e._s(e.target))]),e._v(" "),n("v-row",[n("v-col",{staticClass:"ml-3 text-h4"},[e._v("Commands")])],1),e._v(" "),e._l(e.commands,(function(t){return b().f[1]++,b().s[4]++,n("v-row",{key:t.packetName,staticClass:"mb-4",attrs:{dense:""}},[n("v-col",{attrs:{cols:12}},[n("packet",{attrs:{packet:t,columns:e.columns,hideIgnored:e.hideIgnored,hideDerived:e.hideDerived,ignored:e.ignoredParams}})],1)],1)})),e._v(" "),n("v-row",[n("v-col",{staticClass:"ml-3 text-h4"},[e._v("Telemetry")])],1),e._v(" "),e._l(e.telemetry,(function(t){return b().f[2]++,b().s[5]++,n("v-row",{key:t.packetName,staticClass:"mb-4",attrs:{dense:""}},[n("v-col",{attrs:{cols:12}},[n("packet",{attrs:{packet:t,columns:e.columns,hideIgnored:e.hideIgnored,hideDerived:e.hideDerived,ignored:e.ignoredItems}})],1)],1)}))],2)],1)},y=(b().s[6]++,[]);function k(){var e="/openc3/plugins/packages/openc3-cosmos-tool-handbooks/src/tools/Handbooks/Packet.vue",n="d75352c938082f89d78ccdaa5d29f3f5128a164d",t=new Function("return this")(),i="__coverage__",l={path:"/openc3/plugins/packages/openc3-cosmos-tool-handbooks/src/tools/Handbooks/Packet.vue",statementMap:{0:{start:{line:1,column:13},end:{line:2,column:1}},1:{start:{line:1,column:39},end:{line:1,column:43}},2:{start:{line:1,column:47},end:{line:1,column:59}},3:{start:{line:1,column:60},end:{line:1,column:626}},4:{start:{line:1,column:511},end:{line:1,column:609}},5:{start:{line:3,column:22},end:{line:3,column:24}}},fnMap:{0:{name:"render",decl:{start:{line:1,column:22},end:{line:1,column:28}},loc:{start:{line:1,column:30},end:{line:2,column:1}},line:1},1:{name:"(anonymous_1)",decl:{start:{line:1,column:496},end:{line:1,column:497}},loc:{start:{line:1,column:510},end:{line:1,column:610}},line:1}},branchMap:{},s:{0:0,1:0,2:0,3:0,4:0,5:0},f:{0:0,1:0},b:{},_coverageSchema:"1a1c01bbd47fc00a2c39e90264f33305004495a9",hash:"d75352c938082f89d78ccdaa5d29f3f5128a164d"},o=t[i]||(t[i]={});o[e]&&o[e].hash===n||(o[e]=l);var s=o[e];return k=function(){return s},s}k(),k().s[0]++;var x=function(){k().f[0]++;var e=(k().s[1]++,this),n=(k().s[2]++,e._self._c);return k().s[3]++,n("v-card",[n("v-card-title",{staticClass:"text-h4 justify-center"},[e._v(e._s(e.packet.target_name)+" "+e._s(e.packet.packet_name))]),e._v(" "),n("v-card-subtitle",[e._v(e._s(e.packet.description)+"\n "),n("div",{staticClass:"float-right"},[e._v(e._s(e.packet.endianness))])]),e._v(" "),n("v-card-text",[n("v-container",{attrs:{fluid:""}},[n("v-row",{attrs:{dense:""}},e._l(e.items,(function(t){return k().f[1]++,k().s[4]++,n("v-col",{key:t.name,attrs:{cols:e.columns}},[n("item",{attrs:{item:t}})],1)})),1)],1)],1)],1)},w=(k().s[5]++,[]);t(2082);function T(){var e="/openc3/plugins/packages/openc3-cosmos-tool-handbooks/src/tools/Handbooks/Item.vue",n="d655a8b5b0b40e7153d6beeb5186c868d3ca4bd1",t=new Function("return this")(),i="__coverage__",l={path:"/openc3/plugins/packages/openc3-cosmos-tool-handbooks/src/tools/Handbooks/Item.vue",statementMap:{0:{start:{line:1,column:13},end:{line:2,column:1}},1:{start:{line:1,column:39},end:{line:1,column:43}},2:{start:{line:1,column:47},end:{line:1,column:59}},3:{start:{line:1,column:60},end:{line:1,column:1476}},4:{start:{line:3,column:22},end:{line:3,column:24}}},fnMap:{0:{name:"render",decl:{start:{line:1,column:22},end:{line:1,column:28}},loc:{start:{line:1,column:30},end:{line:2,column:1}},line:1}},branchMap:{0:{loc:{start:{line:1,column:722},end:{line:1,column:841}},type:"cond-expr",locations:[{start:{line:1,column:759},end:{line:1,column:832}},{start:{line:1,column:833},end:{line:1,column:841}}],line:1},1:{loc:{start:{line:1,column:854},end:{line:1,column:973}},type:"cond-expr",locations:[{start:{line:1,column:891},end:{line:1,column:964}},{start:{line:1,column:965},end:{line:1,column:973}}],line:1},2:{loc:{start:{line:1,column:986},end:{line:1,column:1105}},type:"cond-expr",locations:[{start:{line:1,column:1023},end:{line:1,column:1096}},{start:{line:1,column:1097},end:{line:1,column:1105}}],line:1},3:{loc:{start:{line:1,column:1118},end:{line:1,column:1249}},type:"cond-expr",locations:[{start:{line:1,column:1138},end:{line:1,column:1240}},{start:{line:1,column:1241},end:{line:1,column:1249}}],line:1},4:{loc:{start:{line:1,column:1262},end:{line:1,column:1358}},type:"cond-expr",locations:[{start:{line:1,column:1283},end:{line:1,column:1349}},{start:{line:1,column:1350},end:{line:1,column:1358}}],line:1},5:{loc:{start:{line:1,column:1371},end:{line:1,column:1470}},type:"cond-expr",locations:[{start:{line:1,column:1393},end:{line:1,column:1461}},{start:{line:1,column:1462},end:{line:1,column:1470}}],line:1}},s:{0:0,1:0,2:0,3:0,4:0},f:{0:0},b:{0:[0,0],1:[0,0],2:[0,0],3:[0,0],4:[0,0],5:[0,0]},_coverageSchema:"1a1c01bbd47fc00a2c39e90264f33305004495a9",hash:"d655a8b5b0b40e7153d6beeb5186c868d3ca4bd1"},o=t[i]||(t[i]={});o[e]&&o[e].hash===n||(o[e]=l);var s=o[e];return T=function(){return s},s}T(),T().s[0]++;var I=function(){T().f[0]++;var e=(T().s[1]++,this),n=(T().s[2]++,e._self._c);return T().s[3]++,n("v-card",{staticClass:"mx-auto",attrs:{outlined:""}},[n("v-card-title",{staticClass:"justify-center"},[e._v("\n "+e._s(e.item.name)+"\n ")]),e._v(" "),n("v-card-subtitle",[e._v(e._s(e.item.description))]),e._v(" "),n("v-card-text",{staticClass:"text--primary"},[n("div",[e._v("Bit Offset: "+e._s(e.item.bit_offset))]),e._v(" "),n("div",[e._v("Bit Size: "+e._s(e.item.bit_size))]),e._v(" "),n("div",[e._v("Data Type: "+e._s(e.item.data_type))]),e._v(" "),n("div",[e._v("Endianness: "+e._s(e.item.endianness))]),e._v(" "),n("div",[e._v("Overflow: "+e._s(e.item.overflow))]),e._v(" "),Object.hasOwn(e.item,"minimum")?(T().b[0][0]++,n("div",[e._v("\n Minimum: "+e._s(e.item.minimum)+"\n ")])):(T().b[0][1]++,e._e()),e._v(" "),Object.hasOwn(e.item,"maximum")?(T().b[1][0]++,n("div",[e._v("\n Maximum: "+e._s(e.item.maximum)+"\n ")])):(T().b[1][1]++,e._e()),e._v(" "),Object.hasOwn(e.item,"default")?(T().b[2][0]++,n("div",[e._v("\n Default: "+e._s(e.item.default)+"\n ")])):(T().b[2][1]++,e._e()),e._v(" "),e.item.id_value?(T().b[3][0]++,n("div",[n("strong",[e._v("ID Value: 0x"+e._s(e.item.id_value.toString(16).toUpperCase()))])])):(T().b[3][1]++,e._e()),e._v(" "),e.readConversion?(T().b[4][0]++,n("div",[e._v("Read Conversion: "+e._s(e.readConversion))])):(T().b[4][1]++,e._e()),e._v(" "),e.writeConversion?(T().b[5][0]++,n("div",[e._v("Write Conversion: "+e._s(e.writeConversion))])):(T().b[5][1]++,e._e())])],1)},N=(T().s[4]++,[]);function O(){var e="/openc3/plugins/packages/openc3-cosmos-tool-handbooks/src/tools/Handbooks/Item.vue",n="3eacf9f0880ca482c09c818817276ba630f0cc4a",t=new Function("return this")(),i="__coverage__",l={path:"/openc3/plugins/packages/openc3-cosmos-tool-handbooks/src/tools/Handbooks/Item.vue",statementMap:{0:{start:{line:19,column:6},end:{line:27,column:7}},1:{start:{line:20,column:21},end:{line:20,column:57}},2:{start:{line:21,column:8},end:{line:23,column:9}},3:{start:{line:22,column:10},end:{line:22,column:74}},4:{start:{line:24,column:8},end:{line:24,column:21}},5:{start:{line:26,column:8},end:{line:26,column:20}},6:{start:{line:30,column:6},end:{line:38,column:7}},7:{start:{line:31,column:21},end:{line:31,column:58}},8:{start:{line:32,column:8},end:{line:34,column:9}},9:{start:{line:33,column:10},end:{line:33,column:75}},10:{start:{line:35,column:8},end:{line:35,column:21}},11:{start:{line:37,column:8},end:{line:37,column:20}}},fnMap:{0:{name:"(anonymous_0)",decl:{start:{line:18,column:4},end:{line:18,column:5}},loc:{start:{line:18,column:21},end:{line:28,column:5}},line:18},1:{name:"(anonymous_1)",decl:{start:{line:29,column:4},end:{line:29,column:5}},loc:{start:{line:29,column:22},end:{line:39,column:5}},line:29}},branchMap:{0:{loc:{start:{line:19,column:6},end:{line:27,column:7}},type:"if",locations:[{start:{line:19,column:6},end:{line:27,column:7}},{start:{line:25,column:13},end:{line:27,column:7}}],line:19},1:{loc:{start:{line:21,column:8},end:{line:23,column:9}},type:"if",locations:[{start:{line:21,column:8},end:{line:23,column:9}},{start:{line:void 0,column:void 0},end:{line:void 0,column:void 0}}],line:21},2:{loc:{start:{line:30,column:6},end:{line:38,column:7}},type:"if",locations:[{start:{line:30,column:6},end:{line:38,column:7}},{start:{line:36,column:13},end:{line:38,column:7}}],line:30},3:{loc:{start:{line:32,column:8},end:{line:34,column:9}},type:"if",locations:[{start:{line:32,column:8},end:{line:34,column:9}},{start:{line:void 0,column:void 0},end:{line:void 0,column:void 0}}],line:32}},s:{0:0,1:0,2:0,3:0,4:0,5:0,6:0,7:0,8:0,9:0,10:0,11:0},f:{0:0,1:0},b:{0:[0,0],1:[0,0],2:[0,0],3:[0,0]},inputSourceMap:{version:3,sources:["Item.vue"],names:[],mappings:";AAuDA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA",file:"Item.vue",sourceRoot:"src/tools/Handbooks",sourcesContent:['\x3c!--\n# Copyright 2022 Ball Aerospace & Technologies Corp.\n# All Rights Reserved.\n#\n# This program is free software; you can modify and/or redistribute it\n# under the terms of the GNU Affero General Public License\n# as published by the Free Software Foundation; version 3 with\n# attribution addendums as found in the LICENSE.txt\n#\n# This program is distributed in the hope that it will be useful,\n# but WITHOUT ANY WARRANTY; without even the implied warranty of\n# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n# GNU Affero General Public License for more details.\n\n# Modified by OpenC3, Inc.\n# All changes Copyright 2022, OpenC3, Inc.\n# All Rights Reserved\n#\n# This file may also be used under the terms of a commercial license\n# if purchased from OpenC3, Inc.\n--\x3e\n\n<template>\n <v-card class="mx-auto" outlined>\n <v-card-title class="justify-center">\n {{ item.name }}\n </v-card-title>\n <v-card-subtitle>{{ item.description }}</v-card-subtitle>\n <v-card-text class="text--primary">\n <div>Bit Offset: {{ item.bit_offset }}</div>\n <div>Bit Size: {{ item.bit_size }}</div>\n <div>Data Type: {{ item.data_type }}</div>\n <div>Endianness: {{ item.endianness }}</div>\n <div>Overflow: {{ item.overflow }}</div>\n <div v-if="Object.hasOwn(item, \'minimum\')">\n Minimum: {{ item.minimum }}\n </div>\n <div v-if="Object.hasOwn(item, \'maximum\')">\n Maximum: {{ item.maximum }}\n </div>\n <div v-if="Object.hasOwn(item, \'default\')">\n Default: {{ item.default }}\n </div>\n <div v-if="item.id_value">\n <strong\n >ID Value: 0x{{ item.id_value.toString(16).toUpperCase() }}</strong\n >\n </div>\n <div v-if="readConversion">Read Conversion: {{ readConversion }}</div>\n <div v-if="writeConversion">Write Conversion: {{ writeConversion }}</div>\n </v-card-text>\n </v-card>\n</template>\n\n<script>\nexport default {\n props: {\n item: {\n type: Object,\n required: true,\n },\n hideIgnored: {\n type: Boolean,\n required: true,\n },\n hideDerived: {\n type: Boolean,\n required: true,\n },\n },\n computed: {\n readConversion() {\n if (Object.hasOwn(this.item, \'read_conversion\')) {\n let result = `${this.item.read_conversion.class}`\n if (this.item.read_conversion.params) {\n result += ` with ${this.item.read_conversion.params.join(\', \')}`\n }\n return result\n } else {\n return false\n }\n },\n writeConversion() {\n if (Object.hasOwn(this.item, \'write_conversion\')) {\n let result = `${this.item.write_conversion.class}`\n if (this.item.write_conversion.params) {\n result += ` with ${this.item.write_conversion.params.join(\', \')}`\n }\n return result\n } else {\n return false\n }\n },\n },\n}\n<\/script>\n']},_coverageSchema:"1a1c01bbd47fc00a2c39e90264f33305004495a9",hash:"3eacf9f0880ca482c09c818817276ba630f0cc4a"},o=t[i]||(t[i]={});o[e]&&o[e].hash===n||(o[e]=l);var s=o[e];return O=function(){return s},s}O();const S={props:{item:{type:Object,required:!0},hideIgnored:{type:Boolean,required:!0},hideDerived:{type:Boolean,required:!0}},computed:{readConversion(){if(O().f[0]++,O().s[0]++,Object.hasOwn(this.item,"read_conversion")){O().b[0][0]++;let e=(O().s[1]++,`${this.item.read_conversion.class}`);return O().s[2]++,this.item.read_conversion.params?(O().b[1][0]++,O().s[3]++,e+=` with ${this.item.read_conversion.params.join(", ")}`):O().b[1][1]++,O().s[4]++,e}return O().b[0][1]++,O().s[5]++,!1},writeConversion(){if(O().f[1]++,O().s[6]++,Object.hasOwn(this.item,"write_conversion")){O().b[2][0]++;let e=(O().s[7]++,`${this.item.write_conversion.class}`);return O().s[8]++,this.item.write_conversion.params?(O().b[3][0]++,O().s[9]++,e+=` with ${this.item.write_conversion.params.join(", ")}`):O().b[3][1]++,O().s[10]++,e}return O().b[2][1]++,O().s[11]++,!1}}},R=S;var D=(0,v.A)(R,I,N,!1,null,null,null);const E=D.exports;function M(){var e="/openc3/plugins/packages/openc3-cosmos-tool-handbooks/src/tools/Handbooks/Packet.vue",n="f783a71a31f15f56a79241a37b41800f6626a7c7",t=new Function("return this")(),i="__coverage__",l={path:"/openc3/plugins/packages/openc3-cosmos-tool-handbooks/src/tools/Handbooks/Packet.vue",statementMap:{0:{start:{line:31,column:18},end:{line:31,column:35}},1:{start:{line:32,column:6},end:{line:34,column:7}},2:{start:{line:33,column:8},end:{line:33,column:73}},3:{start:{line:33,column:39},end:{line:33,column:72}},4:{start:{line:35,column:6},end:{line:37,column:7}},5:{start:{line:36,column:8},end:{line:36,column:68}},6:{start:{line:36,column:39},end:{line:36,column:67}},7:{start:{line:38,column:6},end:{line:38,column:18}}},fnMap:{0:{name:"(anonymous_0)",decl:{start:{line:30,column:4},end:{line:30,column:5}},loc:{start:{line:30,column:12},end:{line:39,column:5}},line:30},1:{name:"(anonymous_1)",decl:{start:{line:33,column:29},end:{line:33,column:30}},loc:{start:{line:33,column:39},end:{line:33,column:72}},line:33},2:{name:"(anonymous_2)",decl:{start:{line:36,column:29},end:{line:36,column:30}},loc:{start:{line:36,column:39},end:{line:36,column:67}},line:36}},branchMap:{0:{loc:{start:{line:32,column:6},end:{line:34,column:7}},type:"if",locations:[{start:{line:32,column:6},end:{line:34,column:7}},{start:{line:void 0,column:void 0},end:{line:void 0,column:void 0}}],line:32},1:{loc:{start:{line:35,column:6},end:{line:37,column:7}},type:"if",locations:[{start:{line:35,column:6},end:{line:37,column:7}},{start:{line:void 0,column:void 0},end:{line:void 0,column:void 0}}],line:35}},s:{0:0,1:0,2:0,3:0,4:0,5:0,6:0,7:0},f:{0:0,1:0,2:0},b:{0:[0,0],1:[0,0]},inputSourceMap:{version:3,sources:["Packet.vue"],names:[],mappings:";AA4CA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA",file:"Packet.vue",sourceRoot:"src/tools/Handbooks",sourcesContent:['\x3c!--\n# Copyright 2022 Ball Aerospace & Technologies Corp.\n# All Rights Reserved.\n#\n# This program is free software; you can modify and/or redistribute it\n# under the terms of the GNU Affero General Public License\n# as published by the Free Software Foundation; version 3 with\n# attribution addendums as found in the LICENSE.txt\n#\n# This program is distributed in the hope that it will be useful,\n# but WITHOUT ANY WARRANTY; without even the implied warranty of\n# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n# GNU Affero General Public License for more details.\n\n# Modified by OpenC3, Inc.\n# All changes Copyright 2022, OpenC3, Inc.\n# All Rights Reserved\n#\n# This file may also be used under the terms of a commercial license \n# if purchased from OpenC3, Inc.\n--\x3e\n\n<template>\n <v-card>\n <v-card-title class="text-h4 justify-center"\n >{{ packet.target_name }} {{ packet.packet_name }}</v-card-title\n >\n <v-card-subtitle\n >{{ packet.description }}\n <div class="float-right">{{ packet.endianness }}</div>\n </v-card-subtitle>\n <v-card-text>\n <v-container fluid>\n <v-row dense>\n <v-col v-for="item in items" :key="item.name" :cols="columns">\n <item :item="item"></item>\n </v-col>\n </v-row>\n </v-container>\n </v-card-text>\n </v-card>\n</template>\n\n<script>\nimport Item from \'./Item\'\n\nexport default {\n components: {\n Item,\n },\n props: {\n packet: {\n type: Object,\n required: true,\n },\n columns: {\n type: Number,\n required: true,\n },\n hideIgnored: {\n type: Boolean,\n required: true,\n },\n hideDerived: {\n type: Boolean,\n required: true,\n },\n ignored: {\n type: Object,\n },\n },\n computed: {\n items() {\n let items = this.packet.items\n if (this.hideIgnored) {\n items = items.filter((item) => !this.ignored.includes(item.name))\n }\n if (this.hideDerived) {\n items = items.filter((item) => item.data_type !== \'DERIVED\')\n }\n return items\n },\n },\n}\n<\/script>\n']},_coverageSchema:"1a1c01bbd47fc00a2c39e90264f33305004495a9",hash:"f783a71a31f15f56a79241a37b41800f6626a7c7"},o=t[i]||(t[i]={});o[e]&&o[e].hash===n||(o[e]=l);var s=o[e];return M=function(){return s},s}M();const H={components:{Item:E},props:{packet:{type:Object,required:!0},columns:{type:Number,required:!0},hideIgnored:{type:Boolean,required:!0},hideDerived:{type:Boolean,required:!0},ignored:{type:Object}},computed:{items(){M().f[0]++;let e=(M().s[0]++,this.packet.items);return M().s[1]++,this.hideIgnored?(M().b[0][0]++,M().s[2]++,e=e.filter((e=>(M().f[1]++,M().s[3]++,!this.ignored.includes(e.name))))):M().b[0][1]++,M().s[4]++,this.hideDerived?(M().b[1][0]++,M().s[5]++,e=e.filter((e=>(M().f[2]++,M().s[6]++,"DERIVED"!==e.data_type)))):M().b[1][1]++,M().s[7]++,e}}},P=H;var j=(0,v.A)(P,x,w,!1,null,null,null);const F=j.exports;function B(){var e="/openc3/plugins/packages/openc3-cosmos-tool-handbooks/src/tools/Handbooks/Target.vue",n="0ae45f2219cf796a2d87bffd62f475f4a750b62d",t=new Function("return this")(),i="__coverage__",l={path:"/openc3/plugins/packages/openc3-cosmos-tool-handbooks/src/tools/Handbooks/Target.vue",statementMap:{0:{start:{line:28,column:4},end:{line:34,column:5}},1:{start:{line:38,column:4},end:{line:38,column:30}},2:{start:{line:39,column:4},end:{line:42,column:6}},3:{start:{line:40,column:6},end:{line:40,column:52}},4:{start:{line:41,column:6},end:{line:41,column:46}},5:{start:{line:44,column:4},end:{line:46,column:6}},6:{start:{line:45,column:6},end:{line:45,column:29}},7:{start:{line:47,column:4},end:{line:49,column:6}},8:{start:{line:48,column:6},end:{line:48,column:30}}},fnMap:{0:{name:"(anonymous_0)",decl:{start:{line:27,column:2},end:{line:27,column:3}},loc:{start:{line:27,column:9},end:{line:35,column:3}},line:27},1:{name:"(anonymous_1)",decl:{start:{line:37,column:2},end:{line:37,column:3}},loc:{start:{line:37,column:12},end:{line:50,column:3}},line:37},2:{name:"(anonymous_2)",decl:{start:{line:39,column:42},end:{line:39,column:43}},loc:{start:{line:39,column:54},end:{line:42,column:5}},line:39},3:{name:"(anonymous_3)",decl:{start:{line:44,column:44},end:{line:44,column:45}},loc:{start:{line:44,column:57},end:{line:46,column:5}},line:44},4:{name:"(anonymous_4)",decl:{start:{line:47,column:43},end:{line:47,column:44}},loc:{start:{line:47,column:56},end:{line:49,column:5}},line:47}},branchMap:{},s:{0:0,1:0,2:0,3:0,4:0,5:0,6:0,7:0,8:0},f:{0:0,1:0,2:0,3:0,4:0},b:{},inputSourceMap:{version:3,sources:["Target.vue"],names:[],mappings:";AAqEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA",file:"Target.vue",sourceRoot:"src/tools/Handbooks",sourcesContent:['\x3c!--\n# Copyright 2022 Ball Aerospace & Technologies Corp.\n# All Rights Reserved.\n#\n# This program is free software; you can modify and/or redistribute it\n# under the terms of the GNU Affero General Public License\n# as published by the Free Software Foundation; version 3 with\n# attribution addendums as found in the LICENSE.txt\n#\n# This program is distributed in the hope that it will be useful,\n# but WITHOUT ANY WARRANTY; without even the implied warranty of\n# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n# GNU Affero General Public License for more details.\n\n# Modified by OpenC3, Inc.\n# All changes Copyright 2022, OpenC3, Inc.\n# All Rights Reserved\n#\n# This file may also be used under the terms of a commercial license\n# if purchased from OpenC3, Inc.\n--\x3e\n\n<template>\n <v-card>\n <v-container :id="target">\n <div class="text-h3 text-center">{{ target }}</div>\n <v-row>\n <v-col class="ml-3 text-h4">Commands</v-col>\n </v-row>\n <v-row\n v-for="packet in commands"\n :key="packet.packetName"\n dense\n class="mb-4"\n >\n <v-col :cols="12">\n <packet\n :packet="packet"\n :columns="columns"\n :hideIgnored="hideIgnored"\n :hideDerived="hideDerived"\n :ignored="ignoredParams"\n ></packet>\n </v-col>\n </v-row>\n <v-row>\n <v-col class="ml-3 text-h4">Telemetry</v-col>\n </v-row>\n <v-row\n v-for="packet in telemetry"\n :key="packet.packetName"\n dense\n class="mb-4"\n >\n <v-col :cols="12">\n <packet\n :packet="packet"\n :columns="columns"\n :hideIgnored="hideIgnored"\n :hideDerived="hideDerived"\n :ignored="ignoredItems"\n ></packet>\n </v-col>\n </v-row>\n </v-container>\n </v-card>\n</template>\n\n<script>\nimport { OpenC3Api } from \'@openc3/tool-common/src/services/openc3-api\'\nimport Packet from \'./Packet\'\n\nexport default {\n components: {\n Packet,\n },\n props: {\n target: {\n type: String,\n required: true,\n },\n columns: {\n type: Number,\n required: true,\n },\n hideIgnored: {\n type: Boolean,\n required: true,\n },\n hideDerived: {\n type: Boolean,\n required: true,\n },\n },\n data() {\n return {\n api: null,\n commands: [],\n telemetry: [],\n ignoredParams: [],\n ignoredItems: [],\n }\n },\n\n created() {\n this.api = new OpenC3Api()\n this.api.get_target(this.target).then((target) => {\n this.ignoredParams = target.ignored_parameters\n this.ignoredItems = target.ignored_items\n })\n // TODO: Test with large DB as this returns ALL commands\n this.api.get_all_cmds(this.target).then((packets) => {\n this.commands = packets\n })\n this.api.get_all_tlm(this.target).then((packets) => {\n this.telemetry = packets\n })\n },\n}\n<\/script>\n']},_coverageSchema:"1a1c01bbd47fc00a2c39e90264f33305004495a9",hash:"0ae45f2219cf796a2d87bffd62f475f4a750b62d"},o=t[i]||(t[i]={});o[e]&&o[e].hash===n||(o[e]=l);var s=o[e];return B=function(){return s},s}B();const $={components:{Packet:F},props:{target:{type:String,required:!0},columns:{type:Number,required:!0},hideIgnored:{type:Boolean,required:!0},hideDerived:{type:Boolean,required:!0}},data(){return B().f[0]++,B().s[0]++,{api:null,commands:[],telemetry:[],ignoredParams:[],ignoredItems:[]}},created(){B().f[1]++,B().s[1]++,this.api=new u,B().s[2]++,this.api.get_target(this.target).then((e=>{B().f[2]++,B().s[3]++,this.ignoredParams=e.ignored_parameters,B().s[4]++,this.ignoredItems=e.ignored_items})),B().s[5]++,this.api.get_all_cmds(this.target).then((e=>{B().f[3]++,B().s[6]++,this.commands=e})),B().s[7]++,this.api.get_all_tlm(this.target).then((e=>{B().f[4]++,B().s[8]++,this.telemetry=e}))}},U=$;var q=(0,v.A)(U,C,y,!1,null,null,null);const L=q.exports;function G(){var e="/openc3/plugins/packages/openc3-cosmos-tool-handbooks/src/tools/Handbooks/Handbooks.vue",n="402b6aa52090d66f0201f2ff3cd0c515baeef5c6",t=new Function("return this")(),i="__coverage__",l={path:"/openc3/plugins/packages/openc3-cosmos-tool-handbooks/src/tools/Handbooks/Handbooks.vue",statementMap:{0:{start:{line:12,column:4},end:{line:50,column:5}},1:{start:{line:37,column:16},end:{line:37,column:52}},2:{start:{line:44,column:16},end:{line:44,column:52}},3:{start:{line:54,column:6},end:{line:54,column:72}},4:{start:{line:57,column:6},end:{line:57,column:76}},5:{start:{line:60,column:6},end:{line:60,column:57}},6:{start:{line:60,column:35},end:{line:60,column:57}},7:{start:{line:61,column:6},end:{line:61,column:58}},8:{start:{line:61,column:36},end:{line:61,column:58}},9:{start:{line:62,column:6},end:{line:62,column:41}},10:{start:{line:66,column:4},end:{line:66,column:30}},11:{start:{line:67,column:4},end:{line:71,column:8}},12:{start:{line:70,column:8},end:{line:70,column:34}},13:{start:{line:75,column:6},end:{line:81,column:8}},14:{start:{line:76,column:8},end:{line:80,column:9}},15:{start:{line:77,column:10},end:{line:77,column:39}},16:{start:{line:79,column:10},end:{line:79,column:61}}},fnMap:{0:{name:"(anonymous_0)",decl:{start:{line:11,column:2},end:{line:11,column:3}},loc:{start:{line:11,column:9},end:{line:51,column:3}},line:11},1:{name:"(anonymous_1)",decl:{start:{line:36,column:23},end:{line:36,column:24}},loc:{start:{line:36,column:29},end:{line:38,column:15}},line:36},2:{name:"(anonymous_2)",decl:{start:{line:43,column:23},end:{line:43,column:24}},loc:{start:{line:43,column:29},end:{line:45,column:15}},line:43},3:{name:"(anonymous_3)",decl:{start:{line:53,column:4},end:{line:53,column:5}},loc:{start:{line:53,column:25},end:{line:55,column:5}},line:53},4:{name:"(anonymous_4)",decl:{start:{line:56,column:4},end:{line:56,column:5}},loc:{start:{line:56,column:26},end:{line:58,column:5}},line:56},5:{name:"(anonymous_5)",decl:{start:{line:59,column:4},end:{line:59,column:5}},loc:{start:{line:59,column:11},end:{line:63,column:5}},line:59},6:{name:"(anonymous_6)",decl:{start:{line:65,column:2},end:{line:65,column:3}},loc:{start:{line:65,column:12},end:{line:72,column:3}},line:65},7:{name:"(anonymous_7)",decl:{start:{line:69,column:12},end:{line:69,column:13}},loc:{start:{line:69,column:25},end:{line:71,column:7}},line:69},8:{name:"(anonymous_8)",decl:{start:{line:74,column:4},end:{line:74,column:5}},loc:{start:{line:74,column:20},end:{line:82,column:5}},line:74},9:{name:"(anonymous_9)",decl:{start:{line:75,column:21},end:{line:75,column:22}},loc:{start:{line:75,column:27},end:{line:81,column:7}},line:75}},branchMap:{0:{loc:{start:{line:57,column:13},end:{line:57,column:76}},type:"binary-expr",locations:[{start:{line:57,column:13},end:{line:57,column:48}},{start:{line:57,column:52},end:{line:57,column:76}}],line:57},1:{loc:{start:{line:60,column:6},end:{line:60,column:57}},type:"if",locations:[{start:{line:60,column:6},end:{line:60,column:57}},{start:{line:void 0,column:void 0},end:{line:void 0,column:void 0}}],line:60},2:{loc:{start:{line:61,column:6},end:{line:61,column:58}},type:"if",locations:[{start:{line:61,column:6},end:{line:61,column:58}},{start:{line:void 0,column:void 0},end:{line:void 0,column:void 0}}],line:61},3:{loc:{start:{line:76,column:8},end:{line:80,column:9}},type:"if",locations:[{start:{line:76,column:8},end:{line:80,column:9}},{start:{line:78,column:15},end:{line:80,column:9}}],line:76}},s:{0:0,1:0,2:0,3:0,4:0,5:0,6:0,7:0,8:0,9:0,10:0,11:0,12:0,13:0,14:0,15:0,16:0},f:{0:0,1:0,2:0,3:0,4:0,5:0,6:0,7:0,8:0,9:0},b:{0:[0,0],1:[0,0],2:[0,0],3:[0,0]},inputSourceMap:{version:3,sources:["Handbooks.vue"],names:[],mappings:";AAyFA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA",file:"Handbooks.vue",sourceRoot:"src/tools/Handbooks",sourcesContent:['\x3c!--\n# Copyright 2022 Ball Aerospace & Technologies Corp.\n# All Rights Reserved.\n#\n# This program is free software; you can modify and/or redistribute it\n# under the terms of the GNU Affero General Public License\n# as published by the Free Software Foundation; version 3 with\n# attribution addendums as found in the LICENSE.txt\n#\n# This program is distributed in the hope that it will be useful,\n# but WITHOUT ANY WARRANTY; without even the implied warranty of\n# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n# GNU Affero General Public License for more details.\n\n# Modified by OpenC3, Inc.\n# All changes Copyright 2023, OpenC3, Inc.\n# All Rights Reserved\n#\n# This file may also be used under the terms of a commercial license\n# if purchased from OpenC3, Inc.\n--\x3e\n\n<template>\n <div>\n <top-bar :menus="menus" :title="title" />\n <v-card>\n <v-container class="d-print-none">\n <v-row dense>\n <v-col>\n <v-select\n class="ma-0 pa-0"\n label="Select Target(s)"\n dense\n hide-details\n outlined\n :items="targetNames"\n v-model="selectedTargetNames"\n @change="targetSelect"\n multiple\n >\n <template v-slot:prepend-item>\n <v-list-item ripple @mousedown.prevent @click="toggleTargets">\n <v-list-item-action>\n <v-icon>\n {{ icon }}\n </v-icon>\n </v-list-item-action>\n <v-list-item-content>\n <v-list-item-title> Select All </v-list-item-title>\n </v-list-item-content>\n </v-list-item>\n <v-divider class="mt-2"></v-divider>\n </template>\n </v-select>\n </v-col>\n <v-col>\n <v-btn\n class="primary"\n @click="renderedTargetNames = selectedTargetNames"\n >\n Display\n </v-btn>\n </v-col>\n <v-col>\n <v-select\n label="Item Columns"\n dense\n hide-details\n outlined\n v-model="columns"\n :items="columnItems"\n ></v-select>\n </v-col>\n </v-row>\n </v-container>\n </v-card>\n <div style="height: 15px" />\n <div v-for="target in renderedTargetNames" :key="target">\n <target\n :target="target"\n :columns="columns"\n :hideIgnored="hideIgnored"\n :hideDerived="hideDerived"\n ></target>\n </div>\n </div>\n</template>\n\n<script>\nimport { OpenC3Api } from \'@openc3/tool-common/src/services/openc3-api\'\nimport TopBar from \'@openc3/tool-common/src/components/TopBar\'\nimport Target from \'./Target\'\n\nexport default {\n components: {\n TopBar,\n Target,\n },\n data() {\n return {\n title: \'Handbooks\',\n targetNames: [],\n selectedTargetNames: [],\n renderedTargetNames: [],\n api: null,\n columns: 3,\n columnItems: [\n { text: \'1\', value: 12 },\n { text: \'2\', value: 6 },\n { text: \'3\', value: 4 },\n { text: \'4\', value: 3 },\n { text: \'6\', value: 2 },\n { text: \'12\', value: 1 },\n ],\n hideIgnored: false,\n hideDerived: false,\n menus: [\n {\n label: \'View\',\n items: [\n {\n label: \'Hide Ignored Items\',\n checkbox: true,\n command: () => {\n this.hideIgnored = !this.hideIgnored\n },\n },\n {\n label: \'Hide Derived Items\',\n checkbox: true,\n command: () => {\n this.hideDerived = !this.hideDerived\n },\n },\n ],\n },\n ],\n }\n },\n computed: {\n allTargetsSelected() {\n return this.targetNames.length === this.selectedTargetNames.length\n },\n someTargetsSelected() {\n return this.selectedTargetNames.length > 0 && !this.allTargetsSelected\n },\n icon() {\n if (this.allTargetsSelected) return \'mdi-close-box\'\n if (this.someTargetsSelected) return \'mdi-minus-box\'\n return \'mdi-checkbox-blank-outline\'\n },\n },\n created() {\n this.api = new OpenC3Api()\n this.api\n .get_target_names({ params: { scope: window.openc3Scope } })\n .then((targets) => {\n this.targetNames = targets\n })\n },\n methods: {\n toggleTargets() {\n this.$nextTick(() => {\n if (this.allTargetsSelected) {\n this.selectedTargetNames = []\n } else {\n this.selectedTargetNames = this.targetNames.slice()\n }\n })\n },\n },\n}\n<\/script>\n']},_coverageSchema:"1a1c01bbd47fc00a2c39e90264f33305004495a9",hash:"402b6aa52090d66f0201f2ff3cd0c515baeef5c6"},o=t[i]||(t[i]={});o[e]&&o[e].hash===n||(o[e]=l);var s=o[e];return G=function(){return s},s}G();const z={components:{TopBar:g,Target:L},data(){return G().f[0]++,G().s[0]++,{title:"Handbooks",targetNames:[],selectedTargetNames:[],renderedTargetNames:[],api:null,columns:3,columnItems:[{text:"1",value:12},{text:"2",value:6},{text:"3",value:4},{text:"4",value:3},{text:"6",value:2},{text:"12",value:1}],hideIgnored:!1,hideDerived:!1,menus:[{label:"View",items:[{label:"Hide Ignored Items",checkbox:!0,command:()=>{G().f[1]++,G().s[1]++,this.hideIgnored=!this.hideIgnored}},{label:"Hide Derived Items",checkbox:!0,command:()=>{G().f[2]++,G().s[2]++,this.hideDerived=!this.hideDerived}}]}]}},computed:{allTargetsSelected(){return G().f[3]++,G().s[3]++,this.targetNames.length===this.selectedTargetNames.length},someTargetsSelected(){return G().f[4]++,G().s[4]++,G().b[0][0]++,this.selectedTargetNames.length>0&&(G().b[0][1]++,!this.allTargetsSelected)},icon(){return G().f[5]++,G().s[5]++,this.allTargetsSelected?(G().b[1][0]++,G().s[6]++,"mdi-close-box"):(G().b[1][1]++,G().s[7]++,this.someTargetsSelected?(G().b[2][0]++,G().s[8]++,"mdi-minus-box"):(G().b[2][1]++,G().s[9]++,"mdi-checkbox-blank-outline"))}},created(){G().f[6]++,G().s[10]++,this.api=new u,G().s[11]++,this.api.get_target_names({params:{scope:window.openc3Scope}}).then((e=>{G().f[7]++,G().s[12]++,this.targetNames=e}))},methods:{toggleTargets(){G().f[8]++,G().s[13]++,this.$nextTick((()=>{G().f[9]++,G().s[14]++,this.allTargetsSelected?(G().b[3][0]++,G().s[15]++,this.selectedTargetNames=[]):(G().b[3][1]++,G().s[16]++,this.selectedTargetNames=this.targetNames.slice())}))}}},V=z;var W=(0,v.A)(V,l,o,!1,null,null,null);const Y=W.exports},9808:(e,n,t)=>{"use strict";t.r(n),t.d(n,{default:()=>r});var i=t(6758),l=t.n(i),o=t(935),s=t.n(o),a=s()(l());a.push([e.id,".app-title[data-v-57d4fdd2]{font-size:2rem}.menu-button[data-v-57d4fdd2]{border-color:var(--color-border-interactive-muted)!important;background-color:var(--color-background-base-default)!important;padding-right:3px!important}span.v-btn__content span[data-v-57d4fdd2]{padding-right:5px}.myicon[data-v-57d4fdd2]{background-color:var(--color-background-surface-selected);border:1px solid currentColor;border-radius:3px;height:36px!important;width:36px!important}.v-list[data-v-57d4fdd2] .v-label{margin-left:5px}.v-list-item__icon[data-v-57d4fdd2]{margin-right:15px!important}.v-list-item__title[data-v-57d4fdd2]{color:#fff}",""]);const r=a},1e3:(e,n,t)=>{var i=t(9808);i.__esModule&&(i=i.default),"string"===typeof i&&(i=[[e.id,i,""]]),i.locals&&(e.exports=i.locals);var l=t(4825).A;l("7de62207",i,!0,{sourceMap:!1,shadowMode:!1})}}]);
2
+ //# sourceMappingURL=662.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"js/204.js","mappings":"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","sources":["webpack://@openc3/cosmos-tool-handbooks/./src/tools/Handbooks/Handbooks.vue","webpack://@openc3/cosmos-tool-handbooks/../openc3-tool-common/src/services/axios.js","webpack://@openc3/cosmos-tool-handbooks/../openc3-tool-common/src/services/openc3-api.js","webpack://@openc3/cosmos-tool-handbooks/../openc3-tool-common/src/components/TopBar.vue","webpack://@openc3/cosmos-tool-handbooks/../openc3-tool-common/src/components/TopBar.vue?c4b5","webpack://@openc3/cosmos-tool-handbooks/../openc3-tool-common/src/components/TopBar.vue?a437","webpack://@openc3/cosmos-tool-handbooks/./src/tools/Handbooks/Target.vue","webpack://@openc3/cosmos-tool-handbooks/./src/tools/Handbooks/Packet.vue","webpack://@openc3/cosmos-tool-handbooks/./src/tools/Handbooks/Item.vue","webpack://@openc3/cosmos-tool-handbooks/src/tools/Handbooks/Item.vue","webpack://@openc3/cosmos-tool-handbooks/./src/tools/Handbooks/Item.vue?1221","webpack://@openc3/cosmos-tool-handbooks/./src/tools/Handbooks/Item.vue?85c4","webpack://@openc3/cosmos-tool-handbooks/src/tools/Handbooks/Packet.vue","webpack://@openc3/cosmos-tool-handbooks/./src/tools/Handbooks/Packet.vue?663c","webpack://@openc3/cosmos-tool-handbooks/./src/tools/Handbooks/Packet.vue?a8e2","webpack://@openc3/cosmos-tool-handbooks/src/tools/Handbooks/Target.vue","webpack://@openc3/cosmos-tool-handbooks/./src/tools/Handbooks/Target.vue?69b3","webpack://@openc3/cosmos-tool-handbooks/./src/tools/Handbooks/Target.vue?cdc5","webpack://@openc3/cosmos-tool-handbooks/src/tools/Handbooks/Handbooks.vue","webpack://@openc3/cosmos-tool-handbooks/./src/tools/Handbooks/Handbooks.vue?1265","webpack://@openc3/cosmos-tool-handbooks/./src/tools/Handbooks/Handbooks.vue?585c","webpack://@openc3/cosmos-tool-handbooks/../openc3-tool-common/src/components/TopBar.vue?92ac","webpack://@openc3/cosmos-tool-handbooks/../openc3-tool-common/src/components/TopBar.vue?9d44"],"sourcesContent":["var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',[_c('top-bar',{attrs:{\"menus\":_vm.menus,\"title\":_vm.title}}),_vm._v(\" \"),_c('v-card',[_c('v-container',{staticClass:\"d-print-none\"},[_c('v-row',{attrs:{\"dense\":\"\"}},[_c('v-col',[_c('v-select',{staticClass:\"ma-0 pa-0\",attrs:{\"label\":\"Select Target(s)\",\"dense\":\"\",\"hide-details\":\"\",\"outlined\":\"\",\"items\":_vm.targetNames,\"multiple\":\"\"},on:{\"change\":_vm.targetSelect},scopedSlots:_vm._u([{key:\"prepend-item\",fn:function(){return [_c('v-list-item',{attrs:{\"ripple\":\"\"},on:{\"mousedown\":function($event){$event.preventDefault();},\"click\":_vm.toggleTargets}},[_c('v-list-item-action',[_c('v-icon',[_vm._v(\"\\n \"+_vm._s(_vm.icon)+\"\\n \")])],1),_vm._v(\" \"),_c('v-list-item-content',[_c('v-list-item-title',[_vm._v(\" Select All \")])],1)],1),_vm._v(\" \"),_c('v-divider',{staticClass:\"mt-2\"})]},proxy:true}]),model:{value:(_vm.selectedTargetNames),callback:function ($$v) {_vm.selectedTargetNames=$$v},expression:\"selectedTargetNames\"}})],1),_vm._v(\" \"),_c('v-col',[_c('v-btn',{staticClass:\"primary\",on:{\"click\":function($event){_vm.renderedTargetNames = _vm.selectedTargetNames}}},[_vm._v(\"\\n Display\\n \")])],1),_vm._v(\" \"),_c('v-col',[_c('v-select',{attrs:{\"label\":\"Item Columns\",\"dense\":\"\",\"hide-details\":\"\",\"outlined\":\"\",\"items\":_vm.columnItems},model:{value:(_vm.columns),callback:function ($$v) {_vm.columns=$$v},expression:\"columns\"}})],1)],1)],1)],1),_vm._v(\" \"),_c('div',{staticStyle:{\"height\":\"15px\"}}),_vm._v(\" \"),_vm._l((_vm.renderedTargetNames),function(target){return _c('div',{key:target},[_c('target',{attrs:{\"target\":target,\"columns\":_vm.columns,\"hideIgnored\":_vm.hideIgnored,\"hideDerived\":_vm.hideDerived}})],1)})],2)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","/*\n# Copyright 2022 Ball Aerospace & Technologies Corp.\n# All Rights Reserved.\n#\n# This program is free software; you can modify and/or redistribute it\n# under the terms of the GNU Affero General Public License\n# as published by the Free Software Foundation; version 3 with\n# attribution addendums as found in the LICENSE.txt\n#\n# This program is distributed in the hope that it will be useful,\n# but WITHOUT ANY WARRANTY; without even the implied warranty of\n# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n# GNU Affero General Public License for more details.\n\n# Modified by OpenC3, Inc.\n# All changes Copyright 2022, OpenC3, Inc.\n# All Rights Reserved\n#\n# This file may also be used under the terms of a commercial license\n# if purchased from OpenC3, Inc.\n*/\n\nimport axios from 'axios'\nimport Vue from 'vue'\n\nconst vueInstance = new Vue()\n\nconst axiosInstance = axios.create({\n baseURL: location.origin,\n timeout: 60000,\n params: {},\n})\n\naxiosInstance.interceptors.response.use(\n (response) => response,\n (error) => {\n if (error.response) {\n if (error.response.status === 401) {\n OpenC3Auth.updateToken(OpenC3Auth.defaultMinValidity, true).then(\n function (refreshed) {\n if (refreshed) {\n OpenC3Auth.setTokens()\n }\n },\n )\n }\n // Individual tools can set 'Ignore-Errors' to an error code\n // they potentially expect, e.g. '500', in which case we ignore it\n // For example in CommandSender.vue:\n // obs = this.api.cmd(targetName, commandName, paramList, {\n // headers: {\n // 'Ignore-Errors': '404',\n // },\n // })\n if (\n error.response.config.headers['Ignore-Errors'] &&\n error.response.config.headers['Ignore-Errors'].includes(\n error.response.status.toString(),\n )\n ) {\n return Promise.reject(error)\n }\n let body = `HTTP ${error.response.status} - `\n if (error.response?.statusText) {\n body += `${error.response.statusText} `\n }\n if (error.response?.config?.data) {\n body += `${error.response.config.data} `\n }\n if (error.response?.data?.message) {\n body += `${error.response.data.message}`\n } else if (error.response?.data?.exception) {\n body += `${error.response.data.exception}`\n } else if (error.response?.data?.error?.message) {\n if (error.response.data.error.class) {\n body += `${error.response.data.error.class} `\n }\n body += `${error.response.data.error.message}`\n } else {\n body += `${error.response?.data}`\n }\n if (vueInstance.$notify) {\n vueInstance.$notify.serious({\n title: 'Network error',\n body,\n })\n }\n throw error\n } else {\n throw error\n }\n },\n)\n\nexport default axiosInstance\n","/*\n# Copyright 2022 Ball Aerospace & Technologies Corp.\n# All Rights Reserved.\n#\n# This program is free software; you can modify and/or redistribute it\n# under the terms of the GNU Affero General Public License\n# as published by the Free Software Foundation; version 3 with\n# attribution addendums as found in the LICENSE.txt\n#\n# This program is distributed in the hope that it will be useful,\n# but WITHOUT ANY WARRANTY; without even the implied warranty of\n# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n# GNU Affero General Public License for more details.\n\n# Modified by OpenC3, Inc.\n# All changes Copyright 2024, OpenC3, Inc.\n# All Rights Reserved\n#\n# This file may also be used under the terms of a commercial license\n# if purchased from OpenC3, Inc.\n*/\n\nimport axios from './axios.js'\n\nexport class OpenC3Api {\n id = 1\n\n constructor() {}\n\n async exec(\n method,\n params,\n kwparams = {},\n headerOptions = {},\n timeout = 60000\n ) {\n try {\n let refreshed = await OpenC3Auth.updateToken(\n OpenC3Auth.defaultMinValidity\n )\n if (refreshed) {\n OpenC3Auth.setTokens()\n }\n } catch (error) {\n OpenC3Auth.login()\n }\n this.id = this.id + 1\n try {\n kwparams['scope'] = window.openc3Scope\n const response = await axios.post(\n '/openc3-api/api',\n {\n jsonrpc: '2.0',\n method: method,\n params: params,\n id: this.id,\n keyword_params: kwparams,\n },\n {\n headers: {\n Authorization: localStorage.openc3Token,\n 'Content-Type': 'application/json-rpc',\n ...headerOptions,\n },\n timeout: timeout,\n }\n )\n // var data = response.data\n // if (data.error) {\n // var err = new Error()\n // err.name = data.error.data.class\n // err.message = data.error.data.message\n // console.log(data.error.data.backtrace.join('\\n'))\n // throw err\n // }\n return response.data.result\n } catch (error) {\n var err = new Error()\n if (error.response) {\n // The request was made and the server responded with a\n // status code that falls out of the range of 2xx\n err.name = error.response.data.error.data.class\n err.message = error.response.data.error.data.message\n } else if (error.request) {\n // The request was made but no response was received, `error.request`\n // is an instance of XMLHttpRequest in the browser and an instance\n // of http.ClientRequest in Node.js\n err.name = 'Request error'\n // NOTE: Openc3Screen.vue uses this specific message to determine\n // if the CmdTlmApi server is down. Don't change unless also changing there.\n err.message = 'Request error, no response received'\n } else {\n // Something happened in setting up the request and triggered an Error\n err.name = 'Unknown error'\n }\n throw err\n }\n }\n\n decode_openc3_type(val) {\n if (val !== null && typeof val === 'object') {\n if (val.json_class == 'Float' && val.raw) {\n if (val.raw == 'NaN') {\n return NaN\n } else if (val.raw == 'Infinity') {\n return Infinity\n } else if (val.raw == '-Infinity') {\n return -Infinity\n }\n }\n }\n return null\n }\n\n encode_openc3_type(val) {\n if (Number.isNaN(val)) {\n return { json_class: 'Float', raw: 'NaN' }\n } else if (val == Number.POSITIVE_INFINITY) {\n return { json_class: 'Float', raw: 'Infinity' }\n } else if (val == Number.NEGATIVE_INFINITY) {\n return { json_class: 'Float', raw: '-Infinity' }\n }\n return null\n }\n\n ensure_offline_access() {\n this.offline_access_needed().then((needed) => {\n if (needed) {\n if (localStorage.openc3OfflineToken) {\n this.set_offline_access(localStorage.openc3OfflineToken).then(() => {\n delete localStorage.openc3OfflineToken\n })\n } else {\n OpenC3Auth.getOfflineAccess()\n }\n }\n })\n }\n\n // ***********************************************\n // The following APIs are used by the CmdTlmServer\n // ***********************************************\n\n offline_access_needed() {\n return this.exec('offline_access_needed', [])\n }\n\n set_offline_access(offline_access_token) {\n return this.exec('set_offline_access', [offline_access_token])\n }\n\n get_all_interface_info() {\n return this.exec('get_all_interface_info', [])\n }\n\n map_target_to_interface(target_name, interface_name) {\n return this.exec('map_target_to_interface', [target_name, interface_name])\n }\n\n connect_interface(interface_name, ...interface_params) {\n if (interface_params.length > 0) {\n return this.exec('connect_interface', [\n interface_name,\n ...interface_params,\n ])\n } else {\n return this.exec('connect_interface', [interface_name])\n }\n }\n\n disconnect_interface(interface_name) {\n return this.exec('disconnect_interface', [interface_name])\n }\n\n interface_cmd(interface_name, command_name, ...command_params) {\n return this.exec('interface_cmd', [\n interface_name,\n command_name,\n ...command_params,\n ])\n }\n\n get_all_router_info() {\n return this.exec('get_all_router_info', [])\n }\n\n connect_router(router_name) {\n return this.exec('connect_router', [router_name])\n }\n\n disconnect_router(router_name) {\n return this.exec('disconnect_router', [router_name])\n }\n\n get_target_interfaces() {\n return this.exec('get_target_interfaces', [])\n }\n\n // DEPRECATED\n get_all_target_info() {\n return this.exec('get_all_target_info', [])\n }\n\n get_tlm_cnts(target_commands) {\n return this.exec('get_tlm_cnts', [target_commands])\n }\n\n get_item(target, packet, item) {\n return this.exec('get_item', [target, packet, item])\n }\n\n get_param(target, packet, item) {\n return this.exec('get_param', [target, packet, item])\n }\n // DEPRECATED for get_param\n get_parameter(target, packet, item) {\n return this.exec('get_parameter', [target, packet, item])\n }\n\n get_limits_sets() {\n return this.exec('get_limits_sets', [])\n }\n\n get_limits_set() {\n return this.exec('get_limits_set', [])\n }\n\n set_limits_set(limits_set) {\n return this.exec('set_limits_set', [limits_set])\n }\n\n // ***********************************************\n // End CmdTlmServer APIs\n // ***********************************************\n\n get_target(target_name) {\n return this.exec('get_target', [target_name])\n }\n\n get_target_names() {\n return this.exec('get_target_names', [])\n }\n // DEPRECATED\n get_target_list() {\n return this.exec('get_target_list', [])\n }\n\n get_tlm(target_name, packet_name) {\n return this.exec('get_tlm', [target_name, packet_name])\n }\n // DEPRECATED\n get_telemetry(target_name, packet_name) {\n return this.exec('get_telemetry', [target_name, packet_name])\n }\n\n get_all_tlm(target_name) {\n return this.exec('get_all_tlm', [target_name])\n }\n // DEPREACTE\n get_all_telemetry(target_name) {\n return this.exec('get_all_telemetry', [target_name])\n }\n\n get_all_tlm_names(target_name) {\n return this.exec('get_all_tlm_names', [target_name])\n }\n // DEPRECATED\n get_all_telemetry_names(target_name) {\n return this.exec('get_all_telemetry_names', [target_name])\n }\n\n async get_tlm_packet(target_name, packet_name, value_type, stale_time = 30) {\n const data = await this.exec('get_tlm_packet', [target_name, packet_name], {\n type: value_type,\n stale_time: stale_time,\n })\n // Make sure data isn't null or undefined. Note this is the only valid use of == or !=\n if (data != null) {\n var len = data.length\n var converted = null\n for (var i = 0; i < len; i++) {\n converted = this.decode_openc3_type(data[i][1])\n if (converted !== null) {\n data[i][1] = converted\n }\n }\n }\n return data\n }\n\n get_packet_derived_items(target_name, packet_name) {\n return this.exec('get_packet_derived_items', [target_name, packet_name])\n }\n\n get_tlm_buffer(target_name, packet_name) {\n return this.exec('get_tlm_buffer', [target_name, packet_name])\n }\n\n async get_tlm_values(items, stale_time = 30, cache_timeout = null) {\n let kw_args = {\n stale_time: stale_time,\n }\n if (cache_timeout !== null) {\n kw_args['cache_timeout'] = cache_timeout\n }\n const data = await this.exec(\n 'get_tlm_values',\n [items],\n kw_args,\n {},\n 10000 // 10s timeout ... should never be this long\n )\n var len = data[0].length\n var converted = null\n for (var i = 0; i < len; i++) {\n converted = this.decode_openc3_type(data[0][i])\n if (converted !== null) {\n data[0][i] = converted\n }\n }\n return data\n }\n\n get_limits(target_name, packet_name, item_name) {\n return this.exec('get_limits', [target_name, packet_name, item_name])\n }\n\n async tlm(target_name, packet_name, item_name, value_type = 'CONVERTED') {\n let data = null\n // Check for the single string syntax: tlm(\"TGT PKT ITEM\")\n if (packet_name === undefined) {\n data = await this.exec('tlm', [target_name])\n // Check for the single string syntax with type: tlm(\"TGT PKT ITEM\", \"RAW\")\n } else if (item_name === undefined) {\n if (\n ['RAW', 'CONVERTED', 'FORMATTED', 'WITH_UNITS'].includes(packet_name)\n ) {\n data = await this.exec('tlm', [target_name], { type: packet_name })\n } else {\n var err = new Error()\n err.name = 'TypeError'\n err.message = `Invalid data type ${packet_name}. Valid options are RAW, CONVERTED, FORMATTED, and WITH_UNITS.`\n throw err\n }\n } else {\n data = await this.exec('tlm', [target_name, packet_name, item_name], {\n type: value_type,\n })\n }\n var converted = this.decode_openc3_type(data)\n if (converted !== null) {\n data = converted\n }\n return data\n }\n\n async inject_tlm(\n target_name,\n packet_name,\n item_hash = null,\n value_type = 'CONVERTED'\n ) {\n data = await this.exec(\n 'inject_tlm',\n [target_name, packet_name, item_hash],\n {\n type: value_type,\n }\n )\n }\n\n set_tlm(target_name, packet_name, item_name, value_type) {\n return this.exec('set_tlm', [target_name, packet_name, item_name], {\n type: value_type,\n })\n }\n\n override_tlm(target_name, packet_name, item_name, value_type) {\n return this.exec('override_tlm', [target_name, packet_name, item_name], {\n type: value_type,\n })\n }\n\n get_overrides() {\n return this.exec('get_overrides')\n }\n\n normalize_tlm(target_name, packet_name, item_name, value_type) {\n return this.exec('normalize_tlm', [target_name, packet_name, item_name], {\n type: value_type,\n })\n }\n\n get_all_cmds(target_name) {\n return this.exec('get_all_cmds', [target_name])\n }\n // DEPRECATED for get_all_cmds\n get_all_commands(target_name) {\n return this.exec('get_all_commands', [target_name])\n }\n\n get_all_cmd_names(target_name) {\n return this.exec('get_all_cmd_names', [target_name])\n }\n // DEPRECATED for get_all_cmd_names\n get_all_command_names(target_name) {\n return this.exec('get_all_command_names', [target_name])\n }\n\n get_cmd(target_name, command_name) {\n return this.exec('get_cmd', [target_name, command_name])\n }\n // DEPRECATED for get_cmd\n get_command(target_name, command_name) {\n return this.exec('get_command', [target_name, command_name])\n }\n\n get_cmd_cnts(target_commands) {\n return this.exec('get_cmd_cnts', [target_commands])\n }\n\n get_cmd_value(\n target_name,\n packet_name,\n parameter_name,\n value_type = 'CONVERTED'\n ) {\n return this.exec('get_cmd_value', [\n target_name,\n packet_name,\n parameter_name,\n value_type,\n ])\n }\n\n get_cmd_buffer(target_name, packet_name) {\n return this.exec('get_cmd_buffer', [target_name, packet_name])\n }\n\n // Implementation of functionality shared by cmd methods with param_lists.\n _cmd(method, target_name, command_name, param_list, headerOptions) {\n var converted = null\n for (var key in param_list) {\n if (Object.prototype.hasOwnProperty.call(param_list, key)) {\n converted = this.encode_openc3_type(param_list[key])\n if (converted !== null) {\n param_list[key] = converted\n }\n }\n }\n return this.exec(\n method,\n [target_name, command_name, param_list],\n {},\n headerOptions\n )\n }\n\n get_cmd_hazardous(target_name, command_name, param_list) {\n if (command_name === undefined) {\n return this.exec('get_cmd_hazardous', target_name)\n } else {\n return this._cmd(\n 'get_cmd_hazardous',\n target_name,\n command_name,\n param_list\n )\n }\n }\n\n cmd(target_name, command_name, param_list, headerOptions = {}) {\n if (command_name === undefined) {\n return this.exec('cmd', target_name, {}, headerOptions)\n } else {\n return this._cmd(\n 'cmd',\n target_name,\n command_name,\n param_list,\n headerOptions\n )\n }\n }\n\n cmd_no_range_check(target_name, command_name, param_list) {\n if (command_name === undefined) {\n return this.exec('cmd_no_range_check', target_name)\n } else {\n return this._cmd(\n 'cmd_no_range_check',\n target_name,\n command_name,\n param_list\n )\n }\n }\n\n cmd_raw(target_name, command_name, param_list) {\n if (command_name === undefined) {\n return this.exec('cmd_raw', target_name)\n } else {\n return this._cmd('cmd_raw', target_name, command_name, param_list)\n }\n }\n\n cmd_raw_no_range_check(target_name, command_name, param_list) {\n if (command_name === undefined) {\n return this.exec('cmd_raw_no_range_check', target_name)\n } else {\n return this._cmd(\n 'cmd_raw_no_range_check',\n target_name,\n command_name,\n param_list\n )\n }\n }\n\n cmd_no_hazardous_check(target_name, command_name, param_list) {\n if (command_name === undefined) {\n return this.exec('cmd_no_hazardous_check', target_name)\n } else {\n return this._cmd(\n 'cmd_no_hazardous_check',\n target_name,\n command_name,\n param_list\n )\n }\n }\n\n cmd_no_checks(target_name, command_name, param_list) {\n if (command_name === undefined) {\n return this.exec('cmd_no_checks', target_name)\n } else {\n return this._cmd('cmd_no_checks', target_name, command_name, param_list)\n }\n }\n\n cmd_raw_no_hazardous_check(target_name, command_name, param_list) {\n if (command_name === undefined) {\n return this.exec('cmd_raw_no_hazardous_check', target_name)\n } else {\n return this._cmd(\n 'cmd_raw_no_hazardous_check',\n target_name,\n command_name,\n param_list\n )\n }\n }\n\n cmd_raw_no_checks(target_name, command_name, param_list) {\n if (command_name === undefined) {\n return this.exec('cmd_raw_no_checks', target_name)\n } else {\n return this._cmd(\n 'cmd_raw_no_checks',\n target_name,\n command_name,\n param_list\n )\n }\n }\n\n build_cmd(target_name, command_name, param_list) {\n if (command_name === undefined) {\n return this.exec('build_cmd', target_name)\n } else {\n return this._cmd('build_cmd', target_name, command_name, param_list)\n }\n }\n // DEPRECATED for build_cmd\n build_command(target_name, command_name, param_list) {\n if (command_name === undefined) {\n return this.exec('build_command', target_name)\n } else {\n return this._cmd('build_command', target_name, command_name, param_list)\n }\n }\n\n get_interface_names() {\n return this.exec('get_interface_names', [])\n }\n\n send_raw(interface_name, data) {\n return this.exec('send_raw', [interface_name, data])\n }\n\n list_configs(tool) {\n return this.exec('list_configs', [tool])\n }\n\n load_config(tool, name) {\n return this.exec('load_config', [tool, name])\n }\n\n save_config(tool, name, data) {\n return this.exec('save_config', [tool, name, data])\n }\n\n delete_config(tool, name) {\n return this.exec('delete_config', [tool, name])\n }\n\n enable_limits(target, packet, item) {\n return this.exec('enable_limits', [target, packet, item])\n }\n\n disable_limits(target, packet, item) {\n return this.exec('disable_limits', [target, packet, item])\n }\n\n get_out_of_limits() {\n return this.exec('get_out_of_limits', [])\n }\n\n get_overall_limits_state(ignored) {\n return this.exec('get_overall_limits_state', [ignored])\n }\n\n list_settings() {\n return this.exec('list_settings', [])\n }\n\n get_all_settings() {\n return this.exec('get_all_settings', [])\n }\n\n get_setting(name) {\n return this.exec('get_setting', [name])\n }\n\n get_settings(array) {\n return this.exec('get_settings', array)\n }\n\n set_setting(name, data) {\n return this.exec('set_setting', [name, data])\n }\n\n // DEPRECATED\n save_setting(name, data) {\n return this.exec('save_setting', [name, data])\n }\n\n get_metrics() {\n return this.exec('get_metrics', [])\n }\n\n // TODO: Currently unused but seemed like a useful function\n async hashString(string) {\n if (window.isSecureContext) {\n // Encode the string as an arrayBuffer which the subtle crypto API uses\n const arrayBuffer = new TextEncoder().encode(string)\n // Use the subtle crypto API to perform a SHA256 Sum of the array buffer\n // The resulting hash is stored in an array buffer\n const hashAsArrayBuffer = await crypto.subtle.digest(\n 'SHA-256',\n arrayBuffer\n )\n // To create a string we will get the hexadecimal value of each byte of the array buffer\n // This gets us an array where each byte of the array buffer becomes one item in the array\n const uint8ViewOfHash = new Uint8Array(hashAsArrayBuffer)\n // We then convert it to a regular array so we can convert each item to hexadecimal strings\n // Where to characters of 0-9 or a-f represent a number between 0 and 16, containing 4 bits of information, so 2 of them is 8 bits (1 byte).\n return Array.from(uint8ViewOfHash)\n .map((b) => b.toString(16).padStart(2, '0'))\n .join('')\n }\n // else ?\n }\n}\n","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('mounting-portal',{attrs:{\"mount-to\":\"#openc3-menu\",\"append\":\"\"}},[_c('v-row',{attrs:{\"no-gutters\":\"\"}},[_c('v-col',{attrs:{\"align-self\":\"end\"}},[_c('span',{staticClass:\"app-title mr-2\"},[_vm._v(_vm._s(_vm.title))])])],1),_vm._v(\" \"),_c('v-row',{staticClass:\"flex-nowrap\",attrs:{\"dense\":\"\"}},_vm._l((_vm.menus),function(menu,i){return _c('v-menu',{key:i,ref:\"topmenu\",refInFor:true,attrs:{\"offset-y\":\"\"},scopedSlots:_vm._u([{key:\"activator\",fn:function({ on, attrs }){return [_c('v-btn',_vm._g(_vm._b({staticClass:\"mx-1 menu-button\",attrs:{\"outlined\":\"\",\"data-test\":_vm.formatDT(`${_vm.title} ${menu.label}`)}},'v-btn',attrs,false),on),[_c('span',{domProps:{\"textContent\":_vm._s(menu.label)}}),_vm._v(\" \"),_c('v-icon',{staticClass:\"myicon\",attrs:{\"right\":\"\"}},[_vm._v(\" mdi-menu-down \")])],1)]}}],null,true)},[_vm._v(\" \"),_c('v-list',[_c('v-radio-group',{staticClass:\"ma-0 pa-0\",attrs:{\"value\":menu.radioGroup,\"hide-details\":\"\",\"dense\":\"\"}},[_vm._l((menu.items),function(option,j){return [(option.divider)?_c('v-divider',{key:j}):(option.subMenu && option.subMenu.length > 0)?_c('div',{key:j},[_c('v-menu',{key:_vm.k,attrs:{\"open-on-hover\":\"\",\"offset-x\":\"\",\"bottom\":\"\"},scopedSlots:_vm._u([{key:\"activator\",fn:function({ on, attrs }){return [_c('v-list-item',_vm._g(_vm._b({key:j,attrs:{\"disabled\":option.disabled}},'v-list-item',attrs,false),on),[(option.icon)?_c('v-list-item-icon',[_c('v-icon',{attrs:{\"disabled\":option.disabled}},[_vm._v(_vm._s(option.icon))])],1):_vm._e(),_vm._v(\" \"),(!option.radio && !option.checkbox)?_c('v-list-item-title',{style:('cursor: pointer;' +\n (option.disabled ? 'opacity: 0.2' : ''))},[_vm._v(_vm._s(option.label)+\"\\n \")]):_vm._e(),_vm._v(\" \"),_c('v-icon',[_vm._v(\" mdi-chevron-right \")])],1)]}}],null,true)},[_vm._v(\" \"),_c('v-list',_vm._l((option.subMenu),function(submenu,k){return _c('v-list-item',{key:k,on:{\"click\":function($event){return _vm.subMenuClick(submenu)}}},[(submenu.icon)?_c('v-list-item-icon',[_c('v-icon',[_vm._v(_vm._s(submenu.icon))])],1):_vm._e(),_vm._v(\" \"),_c('v-list-item-title',[_vm._v(_vm._s(submenu.label))])],1)}),1)],1)],1):_c('v-list-item',{key:j,attrs:{\"disabled\":option.disabled,\"data-test\":_vm.formatDT(`${_vm.title} ${menu.label} ${option.label}`)},on:{\"click\":function($event){return option.command(option)}}},[(option.radio)?_c('v-list-item-action',[_c('v-radio',{attrs:{\"color\":\"secondary\",\"label\":option.label,\"value\":option.label}})],1):_vm._e(),_vm._v(\" \"),(option.checkbox)?_c('v-list-item-action',[_c('v-checkbox',{attrs:{\"color\":\"secondary\",\"label\":option.label},model:{value:(option.checked),callback:function ($$v) {_vm.$set(option, \"checked\", $$v)},expression:\"option.checked\"}})],1):_vm._e(),_vm._v(\" \"),(option.icon)?_c('v-list-item-icon',[_c('v-icon',{attrs:{\"disabled\":option.disabled}},[_vm._v(_vm._s(option.icon))])],1):_vm._e(),_vm._v(\" \"),(!option.radio && !option.checkbox)?_c('v-list-item-title',{style:('cursor: pointer;' + (option.disabled ? 'opacity: 0.2' : ''))},[_vm._v(_vm._s(option.label))]):_vm._e()],1)]})],2)],1)],1)}),1)],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import mod from \"-!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/@vue/cli-plugin-babel/node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./TopBar.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/@vue/cli-plugin-babel/node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./TopBar.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./TopBar.vue?vue&type=template&id=57d4fdd2&scoped=true\"\nimport script from \"./TopBar.vue?vue&type=script&lang=js\"\nexport * from \"./TopBar.vue?vue&type=script&lang=js\"\nimport style0 from \"./TopBar.vue?vue&type=style&index=0&id=57d4fdd2&prod&scoped=true&lang=css\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"57d4fdd2\",\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('v-card',[_c('v-container',{attrs:{\"id\":_vm.target}},[_c('div',{staticClass:\"text-h3 text-center\"},[_vm._v(_vm._s(_vm.target))]),_vm._v(\" \"),_c('v-row',[_c('v-col',{staticClass:\"ml-3 text-h4\"},[_vm._v(\"Commands\")])],1),_vm._v(\" \"),_vm._l((_vm.commands),function(packet){return _c('v-row',{key:packet.packetName,staticClass:\"mb-4\",attrs:{\"dense\":\"\"}},[_c('v-col',{attrs:{\"cols\":12}},[_c('packet',{attrs:{\"packet\":packet,\"columns\":_vm.columns,\"hideIgnored\":_vm.hideIgnored,\"hideDerived\":_vm.hideDerived,\"ignored\":_vm.ignoredParams}})],1)],1)}),_vm._v(\" \"),_c('v-row',[_c('v-col',{staticClass:\"ml-3 text-h4\"},[_vm._v(\"Telemetry\")])],1),_vm._v(\" \"),_vm._l((_vm.telemetry),function(packet){return _c('v-row',{key:packet.packetName,staticClass:\"mb-4\",attrs:{\"dense\":\"\"}},[_c('v-col',{attrs:{\"cols\":12}},[_c('packet',{attrs:{\"packet\":packet,\"columns\":_vm.columns,\"hideIgnored\":_vm.hideIgnored,\"hideDerived\":_vm.hideDerived,\"ignored\":_vm.ignoredItems}})],1)],1)})],2)],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('v-card',[_c('v-card-title',{staticClass:\"text-h4 justify-center\"},[_vm._v(_vm._s(_vm.packet.target_name)+\" \"+_vm._s(_vm.packet.packet_name))]),_vm._v(\" \"),_c('v-card-subtitle',[_vm._v(_vm._s(_vm.packet.description)+\"\\n \"),_c('div',{staticClass:\"float-right\"},[_vm._v(_vm._s(_vm.packet.endianness))])]),_vm._v(\" \"),_c('v-card-text',[_c('v-container',{attrs:{\"fluid\":\"\"}},[_c('v-row',{attrs:{\"dense\":\"\"}},_vm._l((_vm.items),function(item){return _c('v-col',{key:item.name,attrs:{\"cols\":_vm.columns}},[_c('item',{attrs:{\"item\":item}})],1)}),1)],1)],1)],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('v-card',{staticClass:\"mx-auto\",attrs:{\"outlined\":\"\"}},[_c('v-card-title',{staticClass:\"justify-center\"},[_vm._v(\"\\n \"+_vm._s(_vm.item.name)+\"\\n \")]),_vm._v(\" \"),_c('v-card-subtitle',[_vm._v(_vm._s(_vm.item.description))]),_vm._v(\" \"),_c('v-card-text',{staticClass:\"text--primary\"},[_c('div',[_vm._v(\"Bit Offset: \"+_vm._s(_vm.item.bit_offset))]),_vm._v(\" \"),_c('div',[_vm._v(\"Bit Size: \"+_vm._s(_vm.item.bit_size))]),_vm._v(\" \"),_c('div',[_vm._v(\"Data Type: \"+_vm._s(_vm.item.data_type))]),_vm._v(\" \"),_c('div',[_vm._v(\"Endianness: \"+_vm._s(_vm.item.endianness))]),_vm._v(\" \"),_c('div',[_vm._v(\"Overflow: \"+_vm._s(_vm.item.overflow))]),_vm._v(\" \"),(Object.hasOwn(_vm.item, 'minimum'))?_c('div',[_vm._v(\"\\n Minimum: \"+_vm._s(_vm.item.minimum)+\"\\n \")]):_vm._e(),_vm._v(\" \"),(Object.hasOwn(_vm.item, 'maximum'))?_c('div',[_vm._v(\"\\n Maximum: \"+_vm._s(_vm.item.maximum)+\"\\n \")]):_vm._e(),_vm._v(\" \"),(Object.hasOwn(_vm.item, 'default'))?_c('div',[_vm._v(\"\\n Default: \"+_vm._s(_vm.item.default)+\"\\n \")]):_vm._e(),_vm._v(\" \"),(_vm.item.id_value)?_c('div',[_c('strong',[_vm._v(\"ID Value: 0x\"+_vm._s(_vm.item.id_value.toString(16).toUpperCase()))])]):_vm._e(),_vm._v(\" \"),(_vm.readConversion)?_c('div',[_vm._v(\"Read Conversion: \"+_vm._s(_vm.readConversion))]):_vm._e(),_vm._v(\" \"),(_vm.writeConversion)?_c('div',[_vm._v(\"Write Conversion: \"+_vm._s(_vm.writeConversion))]):_vm._e()])],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<!--\n# Copyright 2022 Ball Aerospace & Technologies Corp.\n# All Rights Reserved.\n#\n# This program is free software; you can modify and/or redistribute it\n# under the terms of the GNU Affero General Public License\n# as published by the Free Software Foundation; version 3 with\n# attribution addendums as found in the LICENSE.txt\n#\n# This program is distributed in the hope that it will be useful,\n# but WITHOUT ANY WARRANTY; without even the implied warranty of\n# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n# GNU Affero General Public License for more details.\n\n# Modified by OpenC3, Inc.\n# All changes Copyright 2022, OpenC3, Inc.\n# All Rights Reserved\n#\n# This file may also be used under the terms of a commercial license\n# if purchased from OpenC3, Inc.\n-->\n\n<template>\n <v-card class=\"mx-auto\" outlined>\n <v-card-title class=\"justify-center\">\n {{ item.name }}\n </v-card-title>\n <v-card-subtitle>{{ item.description }}</v-card-subtitle>\n <v-card-text class=\"text--primary\">\n <div>Bit Offset: {{ item.bit_offset }}</div>\n <div>Bit Size: {{ item.bit_size }}</div>\n <div>Data Type: {{ item.data_type }}</div>\n <div>Endianness: {{ item.endianness }}</div>\n <div>Overflow: {{ item.overflow }}</div>\n <div v-if=\"Object.hasOwn(item, 'minimum')\">\n Minimum: {{ item.minimum }}\n </div>\n <div v-if=\"Object.hasOwn(item, 'maximum')\">\n Maximum: {{ item.maximum }}\n </div>\n <div v-if=\"Object.hasOwn(item, 'default')\">\n Default: {{ item.default }}\n </div>\n <div v-if=\"item.id_value\">\n <strong\n >ID Value: 0x{{ item.id_value.toString(16).toUpperCase() }}</strong\n >\n </div>\n <div v-if=\"readConversion\">Read Conversion: {{ readConversion }}</div>\n <div v-if=\"writeConversion\">Write Conversion: {{ writeConversion }}</div>\n </v-card-text>\n </v-card>\n</template>\n\n<script>\nexport default {\n props: {\n item: {\n type: Object,\n required: true,\n },\n hideIgnored: {\n type: Boolean,\n required: true,\n },\n hideDerived: {\n type: Boolean,\n required: true,\n },\n },\n computed: {\n readConversion() {\n if (Object.hasOwn(this.item, 'read_conversion')) {\n let result = `${this.item.read_conversion.class}`\n if (this.item.read_conversion.params) {\n result += ` with ${this.item.read_conversion.params.join(', ')}`\n }\n return result\n } else {\n return false\n }\n },\n writeConversion() {\n if (Object.hasOwn(this.item, 'write_conversion')) {\n let result = `${this.item.write_conversion.class}`\n if (this.item.write_conversion.params) {\n result += ` with ${this.item.write_conversion.params.join(', ')}`\n }\n return result\n } else {\n return false\n }\n },\n },\n}\n</script>\n","import mod from \"-!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/@vue/cli-plugin-babel/node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./Item.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/@vue/cli-plugin-babel/node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./Item.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./Item.vue?vue&type=template&id=22d2b16a\"\nimport script from \"./Item.vue?vue&type=script&lang=js\"\nexport * from \"./Item.vue?vue&type=script&lang=js\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","<!--\n# Copyright 2022 Ball Aerospace & Technologies Corp.\n# All Rights Reserved.\n#\n# This program is free software; you can modify and/or redistribute it\n# under the terms of the GNU Affero General Public License\n# as published by the Free Software Foundation; version 3 with\n# attribution addendums as found in the LICENSE.txt\n#\n# This program is distributed in the hope that it will be useful,\n# but WITHOUT ANY WARRANTY; without even the implied warranty of\n# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n# GNU Affero General Public License for more details.\n\n# Modified by OpenC3, Inc.\n# All changes Copyright 2022, OpenC3, Inc.\n# All Rights Reserved\n#\n# This file may also be used under the terms of a commercial license \n# if purchased from OpenC3, Inc.\n-->\n\n<template>\n <v-card>\n <v-card-title class=\"text-h4 justify-center\"\n >{{ packet.target_name }} {{ packet.packet_name }}</v-card-title\n >\n <v-card-subtitle\n >{{ packet.description }}\n <div class=\"float-right\">{{ packet.endianness }}</div>\n </v-card-subtitle>\n <v-card-text>\n <v-container fluid>\n <v-row dense>\n <v-col v-for=\"item in items\" :key=\"item.name\" :cols=\"columns\">\n <item :item=\"item\"></item>\n </v-col>\n </v-row>\n </v-container>\n </v-card-text>\n </v-card>\n</template>\n\n<script>\nimport Item from './Item'\n\nexport default {\n components: {\n Item,\n },\n props: {\n packet: {\n type: Object,\n required: true,\n },\n columns: {\n type: Number,\n required: true,\n },\n hideIgnored: {\n type: Boolean,\n required: true,\n },\n hideDerived: {\n type: Boolean,\n required: true,\n },\n ignored: {\n type: Object,\n },\n },\n computed: {\n items() {\n let items = this.packet.items\n if (this.hideIgnored) {\n items = items.filter((item) => !this.ignored.includes(item.name))\n }\n if (this.hideDerived) {\n items = items.filter((item) => item.data_type !== 'DERIVED')\n }\n return items\n },\n },\n}\n</script>\n","import mod from \"-!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/@vue/cli-plugin-babel/node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./Packet.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/@vue/cli-plugin-babel/node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./Packet.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./Packet.vue?vue&type=template&id=69a31f4f\"\nimport script from \"./Packet.vue?vue&type=script&lang=js\"\nexport * from \"./Packet.vue?vue&type=script&lang=js\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","<!--\n# Copyright 2022 Ball Aerospace & Technologies Corp.\n# All Rights Reserved.\n#\n# This program is free software; you can modify and/or redistribute it\n# under the terms of the GNU Affero General Public License\n# as published by the Free Software Foundation; version 3 with\n# attribution addendums as found in the LICENSE.txt\n#\n# This program is distributed in the hope that it will be useful,\n# but WITHOUT ANY WARRANTY; without even the implied warranty of\n# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n# GNU Affero General Public License for more details.\n\n# Modified by OpenC3, Inc.\n# All changes Copyright 2022, OpenC3, Inc.\n# All Rights Reserved\n#\n# This file may also be used under the terms of a commercial license\n# if purchased from OpenC3, Inc.\n-->\n\n<template>\n <v-card>\n <v-container :id=\"target\">\n <div class=\"text-h3 text-center\">{{ target }}</div>\n <v-row>\n <v-col class=\"ml-3 text-h4\">Commands</v-col>\n </v-row>\n <v-row\n v-for=\"packet in commands\"\n :key=\"packet.packetName\"\n dense\n class=\"mb-4\"\n >\n <v-col :cols=\"12\">\n <packet\n :packet=\"packet\"\n :columns=\"columns\"\n :hideIgnored=\"hideIgnored\"\n :hideDerived=\"hideDerived\"\n :ignored=\"ignoredParams\"\n ></packet>\n </v-col>\n </v-row>\n <v-row>\n <v-col class=\"ml-3 text-h4\">Telemetry</v-col>\n </v-row>\n <v-row\n v-for=\"packet in telemetry\"\n :key=\"packet.packetName\"\n dense\n class=\"mb-4\"\n >\n <v-col :cols=\"12\">\n <packet\n :packet=\"packet\"\n :columns=\"columns\"\n :hideIgnored=\"hideIgnored\"\n :hideDerived=\"hideDerived\"\n :ignored=\"ignoredItems\"\n ></packet>\n </v-col>\n </v-row>\n </v-container>\n </v-card>\n</template>\n\n<script>\nimport { OpenC3Api } from '@openc3/tool-common/src/services/openc3-api'\nimport Packet from './Packet'\n\nexport default {\n components: {\n Packet,\n },\n props: {\n target: {\n type: String,\n required: true,\n },\n columns: {\n type: Number,\n required: true,\n },\n hideIgnored: {\n type: Boolean,\n required: true,\n },\n hideDerived: {\n type: Boolean,\n required: true,\n },\n },\n data() {\n return {\n api: null,\n commands: [],\n telemetry: [],\n ignoredParams: [],\n ignoredItems: [],\n }\n },\n\n created() {\n this.api = new OpenC3Api()\n this.api.get_target(this.target).then((target) => {\n this.ignoredParams = target.ignored_parameters\n this.ignoredItems = target.ignored_items\n })\n // TODO: Test with large DB as this returns ALL commands\n this.api.get_all_cmds(this.target).then((packets) => {\n this.commands = packets\n })\n this.api.get_all_tlm(this.target).then((packets) => {\n this.telemetry = packets\n })\n },\n}\n</script>\n","import mod from \"-!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/@vue/cli-plugin-babel/node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./Target.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/@vue/cli-plugin-babel/node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./Target.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./Target.vue?vue&type=template&id=045280e6\"\nimport script from \"./Target.vue?vue&type=script&lang=js\"\nexport * from \"./Target.vue?vue&type=script&lang=js\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","<!--\n# Copyright 2022 Ball Aerospace & Technologies Corp.\n# All Rights Reserved.\n#\n# This program is free software; you can modify and/or redistribute it\n# under the terms of the GNU Affero General Public License\n# as published by the Free Software Foundation; version 3 with\n# attribution addendums as found in the LICENSE.txt\n#\n# This program is distributed in the hope that it will be useful,\n# but WITHOUT ANY WARRANTY; without even the implied warranty of\n# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n# GNU Affero General Public License for more details.\n\n# Modified by OpenC3, Inc.\n# All changes Copyright 2023, OpenC3, Inc.\n# All Rights Reserved\n#\n# This file may also be used under the terms of a commercial license\n# if purchased from OpenC3, Inc.\n-->\n\n<template>\n <div>\n <top-bar :menus=\"menus\" :title=\"title\" />\n <v-card>\n <v-container class=\"d-print-none\">\n <v-row dense>\n <v-col>\n <v-select\n class=\"ma-0 pa-0\"\n label=\"Select Target(s)\"\n dense\n hide-details\n outlined\n :items=\"targetNames\"\n v-model=\"selectedTargetNames\"\n @change=\"targetSelect\"\n multiple\n >\n <template v-slot:prepend-item>\n <v-list-item ripple @mousedown.prevent @click=\"toggleTargets\">\n <v-list-item-action>\n <v-icon>\n {{ icon }}\n </v-icon>\n </v-list-item-action>\n <v-list-item-content>\n <v-list-item-title> Select All </v-list-item-title>\n </v-list-item-content>\n </v-list-item>\n <v-divider class=\"mt-2\"></v-divider>\n </template>\n </v-select>\n </v-col>\n <v-col>\n <v-btn\n class=\"primary\"\n @click=\"renderedTargetNames = selectedTargetNames\"\n >\n Display\n </v-btn>\n </v-col>\n <v-col>\n <v-select\n label=\"Item Columns\"\n dense\n hide-details\n outlined\n v-model=\"columns\"\n :items=\"columnItems\"\n ></v-select>\n </v-col>\n </v-row>\n </v-container>\n </v-card>\n <div style=\"height: 15px\" />\n <div v-for=\"target in renderedTargetNames\" :key=\"target\">\n <target\n :target=\"target\"\n :columns=\"columns\"\n :hideIgnored=\"hideIgnored\"\n :hideDerived=\"hideDerived\"\n ></target>\n </div>\n </div>\n</template>\n\n<script>\nimport { OpenC3Api } from '@openc3/tool-common/src/services/openc3-api'\nimport TopBar from '@openc3/tool-common/src/components/TopBar'\nimport Target from './Target'\n\nexport default {\n components: {\n TopBar,\n Target,\n },\n data() {\n return {\n title: 'Handbooks',\n targetNames: [],\n selectedTargetNames: [],\n renderedTargetNames: [],\n api: null,\n columns: 3,\n columnItems: [\n { text: '1', value: 12 },\n { text: '2', value: 6 },\n { text: '3', value: 4 },\n { text: '4', value: 3 },\n { text: '6', value: 2 },\n { text: '12', value: 1 },\n ],\n hideIgnored: false,\n hideDerived: false,\n menus: [\n {\n label: 'View',\n items: [\n {\n label: 'Hide Ignored Items',\n checkbox: true,\n command: () => {\n this.hideIgnored = !this.hideIgnored\n },\n },\n {\n label: 'Hide Derived Items',\n checkbox: true,\n command: () => {\n this.hideDerived = !this.hideDerived\n },\n },\n ],\n },\n ],\n }\n },\n computed: {\n allTargetsSelected() {\n return this.targetNames.length === this.selectedTargetNames.length\n },\n someTargetsSelected() {\n return this.selectedTargetNames.length > 0 && !this.allTargetsSelected\n },\n icon() {\n if (this.allTargetsSelected) return 'mdi-close-box'\n if (this.someTargetsSelected) return 'mdi-minus-box'\n return 'mdi-checkbox-blank-outline'\n },\n },\n created() {\n this.api = new OpenC3Api()\n this.api\n .get_target_names({ params: { scope: window.openc3Scope } })\n .then((targets) => {\n this.targetNames = targets\n })\n },\n methods: {\n toggleTargets() {\n this.$nextTick(() => {\n if (this.allTargetsSelected) {\n this.selectedTargetNames = []\n } else {\n this.selectedTargetNames = this.targetNames.slice()\n }\n })\n },\n },\n}\n</script>\n","import mod from \"-!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/@vue/cli-plugin-babel/node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./Handbooks.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/@vue/cli-plugin-babel/node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./Handbooks.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./Handbooks.vue?vue&type=template&id=e58fd9cc\"\nimport script from \"./Handbooks.vue?vue&type=script&lang=js\"\nexport * from \"./Handbooks.vue?vue&type=script&lang=js\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/noSourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `.app-title[data-v-57d4fdd2]{font-size:2rem}.menu-button[data-v-57d4fdd2]{border-color:var(--color-border-interactive-muted)!important;background-color:var(--color-background-base-default)!important;padding-right:3px!important}span.v-btn__content span[data-v-57d4fdd2]{padding-right:5px}.myicon[data-v-57d4fdd2]{background-color:var(--color-background-surface-selected);border:1px solid currentColor;border-radius:3px;height:36px!important;width:36px!important}.v-list[data-v-57d4fdd2] .v-label{margin-left:5px}.v-list-item__icon[data-v-57d4fdd2]{margin-right:15px!important}.v-list-item__title[data-v-57d4fdd2]{color:#fff}`, \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// style-loader: Adds some css to the DOM by adding a <style> tag\n\n// load the styles\nvar content = require(\"!!../../../../node_modules/css-loader/dist/cjs.js??clonedRuleSet-12.use[1]!../../../../node_modules/@vue/vue-loader-v15/lib/loaders/stylePostLoader.js!../../../../node_modules/postcss-loader/dist/cjs.js??clonedRuleSet-12.use[2]!../../../../node_modules/postcss-loader/dist/cjs.js??clonedRuleSet-12.use[3]!../../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./TopBar.vue?vue&type=style&index=0&id=57d4fdd2&prod&scoped=true&lang=css\");\nif(content.__esModule) content = content.default;\nif(typeof content === 'string') content = [[module.id, content, '']];\nif(content.locals) module.exports = content.locals;\n// add the styles to the DOM\nvar add = require(\"!../../../../node_modules/vue-style-loader/lib/addStylesClient.js\").default\nvar update = add(\"7de62207\", content, true, {\"sourceMap\":false,\"shadowMode\":false});"],"names":["cov_j54npvll7","actualCoverage","s","render","f","_vm","this","_c","_self","attrs","menus","title","_v","staticClass","targetNames","on","targetSelect","scopedSlots","_u","key","fn","$event","preventDefault","toggleTargets","_s","icon","proxy","model","value","selectedTargetNames","callback","$$v","expression","renderedTargetNames","columnItems","columns","staticStyle","_l","target","hideIgnored","hideDerived","staticRenderFns","vueInstance","Vue","axiosInstance","axios","create","baseURL","location","origin","timeout","params","interceptors","response","use","error","_error$response","_error$response2","_error$response3","_error$response4","_error$response5","status","OpenC3Auth","updateToken","defaultMinValidity","then","refreshed","setTokens","config","headers","includes","toString","Promise","reject","body","statusText","data","message","exception","class","_error$response6","$notify","serious","OpenC3Api","constructor","_defineProperty","exec","method","kwparams","headerOptions","login","id","window","openc3Scope","post","jsonrpc","keyword_params","Authorization","localStorage","openc3Token","result","err","Error","name","request","decode_openc3_type","val","json_class","raw","NaN","Infinity","encode_openc3_type","Number","isNaN","POSITIVE_INFINITY","NEGATIVE_INFINITY","ensure_offline_access","offline_access_needed","needed","openc3OfflineToken","set_offline_access","getOfflineAccess","offline_access_token","get_all_interface_info","map_target_to_interface","target_name","interface_name","connect_interface","interface_params","length","disconnect_interface","interface_cmd","command_name","command_params","get_all_router_info","connect_router","router_name","disconnect_router","get_target_interfaces","get_all_target_info","get_tlm_cnts","target_commands","get_item","packet","item","get_param","get_parameter","get_limits_sets","get_limits_set","set_limits_set","limits_set","get_target","get_target_names","get_target_list","get_tlm","packet_name","get_telemetry","get_all_tlm","get_all_telemetry","get_all_tlm_names","get_all_telemetry_names","get_tlm_packet","value_type","stale_time","type","len","converted","i","get_packet_derived_items","get_tlm_buffer","get_tlm_values","items","cache_timeout","kw_args","get_limits","item_name","tlm","undefined","inject_tlm","item_hash","set_tlm","override_tlm","get_overrides","normalize_tlm","get_all_cmds","get_all_commands","get_all_cmd_names","get_all_command_names","get_cmd","get_command","get_cmd_cnts","get_cmd_value","parameter_name","get_cmd_buffer","_cmd","param_list","Object","prototype","hasOwnProperty","call","get_cmd_hazardous","cmd","cmd_no_range_check","cmd_raw","cmd_raw_no_range_check","cmd_no_hazardous_check","cmd_no_checks","cmd_raw_no_hazardous_check","cmd_raw_no_checks","build_cmd","build_command","get_interface_names","send_raw","list_configs","tool","load_config","save_config","delete_config","enable_limits","disable_limits","get_out_of_limits","get_overall_limits_state","ignored","list_settings","get_all_settings","get_setting","get_settings","array","set_setting","save_setting","get_metrics","hashString","string","isSecureContext","arrayBuffer","TextEncoder","encode","hashAsArrayBuffer","crypto","subtle","digest","uint8ViewOfHash","Uint8Array","Array","from","map","b","padStart","join","menu","ref","refInFor","_g","_b","formatDT","label","domProps","radioGroup","option","j","divider","subMenu","k","disabled","_e","radio","checkbox","style","submenu","subMenuClick","command","checked","$set","props","default","String","methods","replaceAll","toLowerCase","$refs","topmenu","isActive","mounted","document","component","cov_iqqsvvixa","commands","packetName","ignoredParams","telemetry","ignoredItems","cov_1scjnunnk3","description","endianness","cov_ff9deo6d4","bit_offset","bit_size","data_type","overflow","hasOwn","minimum","maximum","id_value","toUpperCase","readConversion","writeConversion","required","Boolean","computed","read_conversion","write_conversion","components","Item","filter","Packet","api","created","ignored_parameters","ignored_items","packets","TopBar","Target","text","allTargetsSelected","someTargetsSelected","scope","targets","$nextTick","slice","___CSS_LOADER_EXPORT___","push","module","content","__esModule","locals","exports","add"],"sourceRoot":""}
1
+ {"version":3,"file":"js/662.js","mappings":"wyEAeY,OAAAA,EAAA,kBAAAC,CAAA,EAAAA,CAAA,C,8BAAAD,IAAAA,IAAAE,EAAA,KAfZ,IAAIC,EAAS,WAAiBH,IAAAI,EAAA,KAAC,IAAIC,GAAGL,IAAAE,EAAA,KAACI,MAAKC,GAAEP,IAAAE,EAAA,KAACG,EAAIG,MAAMD,IAAG,OAAAP,IAAAE,EAAA,KAAOK,EAAG,MAAM,CAACA,EAAG,UAAU,CAACE,MAAM,CAAC,MAAQJ,EAAIK,MAAM,MAAQL,EAAIM,SAASN,EAAIO,GAAG,KAAKL,EAAG,SAAS,CAACA,EAAG,cAAc,CAACM,YAAY,gBAAgB,CAACN,EAAG,QAAQ,CAACE,MAAM,CAAC,MAAQ,KAAK,CAACF,EAAG,QAAQ,CAACA,EAAG,WAAW,CAACM,YAAY,YAAYJ,MAAM,CAAC,MAAQ,mBAAmB,MAAQ,GAAG,eAAe,GAAG,SAAW,GAAG,MAAQJ,EAAIS,YAAY,SAAW,IAAIC,GAAG,CAAC,OAASV,EAAIW,cAAcC,YAAYZ,EAAIa,GAAG,CAAC,CAACC,IAAI,eAAeC,GAAG,WAAW,OAADpB,IAAAI,EAAA,KAAAJ,IAAAE,EAAA,KAAQ,CAACK,EAAG,cAAc,CAACE,MAAM,CAAC,OAAS,IAAIM,GAAG,CAAC,UAAY,SAASM,GAAOrB,IAAAI,EAAA,KAAAJ,IAAAE,EAAA,KAACmB,EAAOC,gBAAiB,EAAE,MAAQjB,EAAIkB,gBAAgB,CAAChB,EAAG,qBAAqB,CAACA,EAAG,SAAS,CAACF,EAAIO,GAAG,yBAAyBP,EAAImB,GAAGnB,EAAIoB,MAAM,2BAA2B,GAAGpB,EAAIO,GAAG,KAAKL,EAAG,sBAAsB,CAACA,EAAG,oBAAoB,CAACF,EAAIO,GAAG,mBAAmB,IAAI,GAAGP,EAAIO,GAAG,KAAKL,EAAG,YAAY,CAACM,YAAY,SAAS,EAAEa,OAAM,KAAQC,MAAM,CAACC,MAAOvB,EAAIwB,oBAAqBC,SAAS,SAAUC,GAAK/B,IAAAI,EAAA,KAAAJ,IAAAE,EAAA,KAACG,EAAIwB,oBAAoBE,CAAG,EAAEC,WAAW,0BAA0B,GAAG3B,EAAIO,GAAG,KAAKL,EAAG,QAAQ,CAACA,EAAG,QAAQ,CAACM,YAAY,UAAUE,GAAG,CAAC,MAAQ,SAASM,GAAOrB,IAAAI,EAAA,KAAAJ,IAAAE,EAAA,KAACG,EAAI4B,oBAAsB5B,EAAIwB,mBAAmB,IAAI,CAACxB,EAAIO,GAAG,wCAAwC,GAAGP,EAAIO,GAAG,KAAKL,EAAG,QAAQ,CAACA,EAAG,WAAW,CAACE,MAAM,CAAC,MAAQ,eAAe,MAAQ,GAAG,eAAe,GAAG,SAAW,GAAG,MAAQJ,EAAI6B,aAAaP,MAAM,CAACC,MAAOvB,EAAI8B,QAASL,SAAS,SAAUC,GAAK/B,IAAAI,EAAA,KAAAJ,IAAAE,EAAA,KAACG,EAAI8B,QAAQJ,CAAG,EAAEC,WAAW,cAAc,IAAI,IAAI,IAAI,GAAG3B,EAAIO,GAAG,KAAKL,EAAG,MAAM,CAAC6B,YAAY,CAAC,OAAS,UAAU/B,EAAIO,GAAG,KAAKP,EAAIgC,GAAIhC,EAAI4B,qBAAqB,SAASK,GAAQ,OAADtC,IAAAI,EAAA,KAAAJ,IAAAE,EAAA,KAAQK,EAAG,MAAM,CAACY,IAAImB,GAAQ,CAAC/B,EAAG,SAAS,CAACE,MAAM,CAAC,OAAS6B,EAAO,QAAUjC,EAAI8B,QAAQ,YAAc9B,EAAIkC,YAAY,YAAclC,EAAImC,gBAAgB,EAAE,KAAI,EACrtD,EACIC,GAAezC,IAAAE,EAAA,MAAG,I,qJCuBtB,MAAMwC,EAAc,IAAIC,EAAAA,WAElBC,EAAgBC,EAAAA,EAAMC,OAAO,CACjCC,QAASC,SAASC,OAClBC,QAAS,IACTC,OAAQ,CAAC,IAGXP,EAAcQ,aAAaC,SAASC,KACjCD,GAAaA,IACbE,IACC,GAAIA,EAAMF,SAAU,KAAAG,EAAAC,EAAAC,EAAAC,EAAAC,EAkBlB,GAjB8B,MAA1BL,EAAMF,SAASQ,QACjBC,WAAWC,YAAYD,WAAWE,oBAAoB,GAAMC,MAC1D,SAAUC,GACJA,GACFJ,WAAWK,WAEf,IAYFZ,EAAMF,SAASe,OAAOC,QAAQ,kBAC9Bd,EAAMF,SAASe,OAAOC,QAAQ,iBAAiBC,SAC7Cf,EAAMF,SAASQ,OAAOU,YAGxB,OAAOC,QAAQC,OAAOlB,GAExB,IAAImB,EAAQ,QAAOnB,EAAMF,SAASQ,YAOlC,GANkB,QAAlBL,EAAID,EAAMF,gBAAQ,IAAAG,GAAdA,EAAgBmB,aAClBD,GAAS,GAAEnB,EAAMF,SAASsB,eAEV,QAAlBlB,EAAIF,EAAMF,gBAAQ,IAAAI,GAAQ,QAARA,EAAdA,EAAgBW,cAAM,IAAAX,GAAtBA,EAAwBmB,OAC1BF,GAAS,GAAEnB,EAAMF,SAASe,OAAOQ,SAEjB,QAAlBlB,EAAIH,EAAMF,gBAAQ,IAAAK,GAAM,QAANA,EAAdA,EAAgBkB,YAAI,IAAAlB,GAApBA,EAAsBmB,QACxBH,GAAS,GAAEnB,EAAMF,SAASuB,KAAKC,eAC1B,GAAkB,QAAlBlB,EAAIJ,EAAMF,gBAAQ,IAAAM,GAAM,QAANA,EAAdA,EAAgBiB,YAAI,IAAAjB,GAApBA,EAAsBmB,UAC/BJ,GAAS,GAAEnB,EAAMF,SAASuB,KAAKE,iBAC1B,GAAkB,QAAlBlB,EAAIL,EAAMF,gBAAQ,IAAAO,GAAM,QAANA,EAAdA,EAAgBgB,YAAI,IAAAhB,GAAO,QAAPA,EAApBA,EAAsBL,aAAK,IAAAK,GAA3BA,EAA6BiB,QAClCtB,EAAMF,SAASuB,KAAKrB,MAAMwB,QAC5BL,GAAS,GAAEnB,EAAMF,SAASuB,KAAKrB,MAAMwB,UAEvCL,GAAS,GAAEnB,EAAMF,SAASuB,KAAKrB,MAAMsB,cAChC,KAAAG,EACLN,GAAS,GAAgB,QAAhBM,EAAEzB,EAAMF,gBAAQ,IAAA2B,OAAA,EAAdA,EAAgBJ,MAC7B,CAOA,MANIlC,EAAYuC,SACdvC,EAAYuC,QAAQC,QAAQ,CAC1BvE,MAAO,gBACP+D,SAGEnB,CACR,CACE,MAAMA,CACR,IAIJ,UCtEO,MAAM4B,EAGXC,WAAAA,IAAcC,EAAAA,EAAAA,GAAA,UAFT,EAEU,CAEf,UAAMC,CACJC,EACApC,EACAqC,EAAW,CAAC,EACZC,EAAgB,CAAC,EACjBvC,EAAU,KAEV,IACE,IAAIgB,QAAkBJ,WAAWC,YAC/BD,WAAWE,oBAETE,GACFJ,WAAWK,WAEf,CAAE,MAAOZ,GACPO,WAAW4B,OACb,CACApF,KAAKqF,GAAKrF,KAAKqF,GAAK,EACpB,IACEH,EAAS,SAAWI,OAAOC,YAC3B,MAAMxC,QAAiBR,EAAMiD,KAC3B,kBACA,CACEC,QAAS,MACTR,OAAQA,EACRpC,OAAQA,EACRwC,GAAIrF,KAAKqF,GACTK,eAAgBR,GAElB,CACEnB,QAAS,CACP4B,cAAeC,aAAaC,YAC5B,eAAgB,0BACbV,GAELvC,QAASA,IAWb,OAAOG,EAASuB,KAAKwB,MACvB,CAAE,MAAO7C,GACP,IAAI8C,EAAM,IAAIC,MAkBd,MAjBI/C,EAAMF,UAGRgD,EAAIE,KAAOhD,EAAMF,SAASuB,KAAKrB,MAAMqB,KAAKG,MAC1CsB,EAAIxB,QAAUtB,EAAMF,SAASuB,KAAKrB,MAAMqB,KAAKC,SACpCtB,EAAMiD,SAIfH,EAAIE,KAAO,gBAGXF,EAAIxB,QAAU,uCAGdwB,EAAIE,KAAO,gBAEPF,CACR,CACF,CAEAI,kBAAAA,CAAmBC,GACjB,GAAY,OAARA,GAA+B,kBAARA,GACH,SAAlBA,EAAIC,YAAyBD,EAAIE,IAAK,CACxC,GAAe,OAAXF,EAAIE,IACN,OAAOC,IACF,GAAe,YAAXH,EAAIE,IACb,OAAOE,IACF,GAAe,aAAXJ,EAAIE,IACb,OAAQE,GAEZ,CAEF,OAAO,IACT,CAEAC,kBAAAA,CAAmBL,GACjB,OAAIM,OAAOC,MAAMP,GACR,CAAEC,WAAY,QAASC,IAAK,OAC1BF,GAAOM,OAAOE,kBAChB,CAAEP,WAAY,QAASC,IAAK,YAC1BF,GAAOM,OAAOG,kBAChB,CAAER,WAAY,QAASC,IAAK,aAE9B,IACT,CAEAQ,qBAAAA,GACE9G,KAAK+G,wBAAwBpD,MAAMqD,IAC7BA,IACEpB,aAAaqB,mBACfjH,KAAKkH,mBAAmBtB,aAAaqB,oBAAoBtD,MAAK,YACrDiC,aAAaqB,kBAAkB,IAGxCzD,WAAW2D,mBAEf,GAEJ,CAMAJ,qBAAAA,GACE,OAAO/G,KAAKgF,KAAK,wBAAyB,GAC5C,CAEAkC,kBAAAA,CAAmBE,GACjB,OAAOpH,KAAKgF,KAAK,qBAAsB,CAACoC,GAC1C,CAEAC,sBAAAA,GACE,OAAOrH,KAAKgF,KAAK,yBAA0B,GAC7C,CAEAsC,uBAAAA,CAAwBC,EAAaC,GACnC,OAAOxH,KAAKgF,KAAK,0BAA2B,CAACuC,EAAaC,GAC5D,CAEAC,iBAAAA,CAAkBD,KAAmBE,GACnC,OAAIA,EAAiBC,OAAS,EACrB3H,KAAKgF,KAAK,oBAAqB,CACpCwC,KACGE,IAGE1H,KAAKgF,KAAK,oBAAqB,CAACwC,GAE3C,CAEAI,oBAAAA,CAAqBJ,GACnB,OAAOxH,KAAKgF,KAAK,uBAAwB,CAACwC,GAC5C,CAEAK,aAAAA,CAAcL,EAAgBM,KAAiBC,GAC7C,OAAO/H,KAAKgF,KAAK,gBAAiB,CAChCwC,EACAM,KACGC,GAEP,CAEAC,mBAAAA,GACE,OAAOhI,KAAKgF,KAAK,sBAAuB,GAC1C,CAEAiD,cAAAA,CAAeC,GACb,OAAOlI,KAAKgF,KAAK,iBAAkB,CAACkD,GACtC,CAEAC,iBAAAA,CAAkBD,GAChB,OAAOlI,KAAKgF,KAAK,oBAAqB,CAACkD,GACzC,CAEAE,qBAAAA,GACE,OAAOpI,KAAKgF,KAAK,wBAAyB,GAC5C,CAGAqD,mBAAAA,GACE,OAAOrI,KAAKgF,KAAK,sBAAuB,GAC1C,CAEAsD,YAAAA,CAAaC,GACX,OAAOvI,KAAKgF,KAAK,eAAgB,CAACuD,GACpC,CAEAC,QAAAA,CAASxG,EAAQyG,EAAQC,GACvB,OAAO1I,KAAKgF,KAAK,WAAY,CAAChD,EAAQyG,EAAQC,GAChD,CAEAC,SAAAA,CAAU3G,EAAQyG,EAAQC,GACxB,OAAO1I,KAAKgF,KAAK,YAAa,CAAChD,EAAQyG,EAAQC,GACjD,CAEAE,aAAAA,CAAc5G,EAAQyG,EAAQC,GAC5B,OAAO1I,KAAKgF,KAAK,gBAAiB,CAAChD,EAAQyG,EAAQC,GACrD,CAEAG,eAAAA,GACE,OAAO7I,KAAKgF,KAAK,kBAAmB,GACtC,CAEA8D,cAAAA,GACE,OAAO9I,KAAKgF,KAAK,iBAAkB,GACrC,CAEA+D,cAAAA,CAAeC,GACb,OAAOhJ,KAAKgF,KAAK,iBAAkB,CAACgE,GACtC,CAMAC,UAAAA,CAAW1B,GACT,OAAOvH,KAAKgF,KAAK,aAAc,CAACuC,GAClC,CAEA2B,gBAAAA,GACE,OAAOlJ,KAAKgF,KAAK,mBAAoB,GACvC,CAEAmE,eAAAA,GACE,OAAOnJ,KAAKgF,KAAK,kBAAmB,GACtC,CAEAoE,OAAAA,CAAQ7B,EAAa8B,GACnB,OAAOrJ,KAAKgF,KAAK,UAAW,CAACuC,EAAa8B,GAC5C,CAEAC,aAAAA,CAAc/B,EAAa8B,GACzB,OAAOrJ,KAAKgF,KAAK,gBAAiB,CAACuC,EAAa8B,GAClD,CAEAE,WAAAA,CAAYhC,GACV,OAAOvH,KAAKgF,KAAK,cAAe,CAACuC,GACnC,CAEAiC,iBAAAA,CAAkBjC,GAChB,OAAOvH,KAAKgF,KAAK,oBAAqB,CAACuC,GACzC,CAEAkC,iBAAAA,CAAkBlC,GAChB,OAAOvH,KAAKgF,KAAK,oBAAqB,CAACuC,GACzC,CAEAmC,uBAAAA,CAAwBnC,GACtB,OAAOvH,KAAKgF,KAAK,0BAA2B,CAACuC,GAC/C,CAEA,oBAAMoC,CAAepC,EAAa8B,EAAaO,EAAYC,EAAa,IACtE,MAAMvF,QAAatE,KAAKgF,KAAK,iBAAkB,CAACuC,EAAa8B,GAAc,CACzES,KAAMF,EACNC,WAAYA,IAGd,GAAY,MAARvF,EAGF,IAFA,IAAIyF,EAAMzF,EAAKqD,OACXqC,EAAY,KACPC,EAAI,EAAGA,EAAIF,EAAKE,IACvBD,EAAYhK,KAAKmG,mBAAmB7B,EAAK2F,GAAG,IAC1B,OAAdD,IACF1F,EAAK2F,GAAG,GAAKD,GAInB,OAAO1F,CACT,CAEA4F,wBAAAA,CAAyB3C,EAAa8B,GACpC,OAAOrJ,KAAKgF,KAAK,2BAA4B,CAACuC,EAAa8B,GAC7D,CAEAc,cAAAA,CAAe5C,EAAa8B,GAC1B,OAAOrJ,KAAKgF,KAAK,iBAAkB,CAACuC,EAAa8B,GACnD,CAEA,oBAAMe,CAAeC,EAAOR,EAAa,GAAIS,EAAgB,MAC3D,IAAIC,EAAU,CACZV,WAAYA,GAEQ,OAAlBS,IACFC,EAAQ,iBAAmBD,GAE7B,MAAMhG,QAAatE,KAAKgF,KACtB,iBACA,CAACqF,GACDE,EACA,CAAC,EACD,KAIF,IAFA,IAAIR,EAAMzF,EAAK,GAAGqD,OACdqC,EAAY,KACPC,EAAI,EAAGA,EAAIF,EAAKE,IACvBD,EAAYhK,KAAKmG,mBAAmB7B,EAAK,GAAG2F,IAC1B,OAAdD,IACF1F,EAAK,GAAG2F,GAAKD,GAGjB,OAAO1F,CACT,CAEAkG,UAAAA,CAAWjD,EAAa8B,EAAaoB,GACnC,OAAOzK,KAAKgF,KAAK,aAAc,CAACuC,EAAa8B,EAAaoB,GAC5D,CAEA,SAAMC,CAAInD,EAAa8B,EAAaoB,EAAWb,EAAa,aAC1D,IAAItF,EAAO,KAEX,QAAoBqG,IAAhBtB,EACF/E,QAAatE,KAAKgF,KAAK,MAAO,CAACuC,SAE1B,QAAkBoD,IAAdF,EAAyB,CAClC,IACE,CAAC,MAAO,YAAa,YAAa,cAAczG,SAASqF,GAGpD,CACL,IAAItD,EAAM,IAAIC,MAGd,MAFAD,EAAIE,KAAO,YACXF,EAAIxB,QAAW,qBAAoB8E,kEAC7BtD,CACR,CANEzB,QAAatE,KAAKgF,KAAK,MAAO,CAACuC,GAAc,CAAEuC,KAAMT,GAOzD,MACE/E,QAAatE,KAAKgF,KAAK,MAAO,CAACuC,EAAa8B,EAAaoB,GAAY,CACnEX,KAAMF,IAGV,IAAII,EAAYhK,KAAKmG,mBAAmB7B,GAIxC,OAHkB,OAAd0F,IACF1F,EAAO0F,GAEF1F,CACT,CAEA,gBAAMsG,CACJrD,EACA8B,EACAwB,EAAY,KACZjB,EAAa,aAEbtF,WAAatE,KAAKgF,KAChB,aACA,CAACuC,EAAa8B,EAAawB,GAC3B,CACEf,KAAMF,GAGZ,CAEAkB,OAAAA,CAAQvD,EAAa8B,EAAaoB,EAAWb,GAC3C,OAAO5J,KAAKgF,KAAK,UAAW,CAACuC,EAAa8B,EAAaoB,GAAY,CACjEX,KAAMF,GAEV,CAEAmB,YAAAA,CAAaxD,EAAa8B,EAAaoB,EAAWb,GAChD,OAAO5J,KAAKgF,KAAK,eAAgB,CAACuC,EAAa8B,EAAaoB,GAAY,CACtEX,KAAMF,GAEV,CAEAoB,aAAAA,GACE,OAAOhL,KAAKgF,KAAK,gBACnB,CAEAiG,aAAAA,CAAc1D,EAAa8B,EAAaoB,EAAWb,GACjD,OAAO5J,KAAKgF,KAAK,gBAAiB,CAACuC,EAAa8B,EAAaoB,GAAY,CACvEX,KAAMF,GAEV,CAEAsB,YAAAA,CAAa3D,GACX,OAAOvH,KAAKgF,KAAK,eAAgB,CAACuC,GACpC,CAEA4D,gBAAAA,CAAiB5D,GACf,OAAOvH,KAAKgF,KAAK,mBAAoB,CAACuC,GACxC,CAEA6D,iBAAAA,CAAkB7D,GAChB,OAAOvH,KAAKgF,KAAK,oBAAqB,CAACuC,GACzC,CAEA8D,qBAAAA,CAAsB9D,GACpB,OAAOvH,KAAKgF,KAAK,wBAAyB,CAACuC,GAC7C,CAEA+D,OAAAA,CAAQ/D,EAAaO,GACnB,OAAO9H,KAAKgF,KAAK,UAAW,CAACuC,EAAaO,GAC5C,CAEAyD,WAAAA,CAAYhE,EAAaO,GACvB,OAAO9H,KAAKgF,KAAK,cAAe,CAACuC,EAAaO,GAChD,CAEA0D,YAAAA,CAAajD,GACX,OAAOvI,KAAKgF,KAAK,eAAgB,CAACuD,GACpC,CAEAkD,aAAAA,CACElE,EACA8B,EACAqC,EACA9B,EAAa,aAEb,OAAO5J,KAAKgF,KAAK,gBAAiB,CAChCuC,EACA8B,EACAqC,EACA9B,GAEJ,CAEA+B,cAAAA,CAAepE,EAAa8B,GAC1B,OAAOrJ,KAAKgF,KAAK,iBAAkB,CAACuC,EAAa8B,GACnD,CAGAuC,IAAAA,CAAK3G,EAAQsC,EAAaO,EAAc+D,EAAY1G,GAClD,IAAI6E,EAAY,KAChB,IAAK,IAAInJ,KAAOgL,EACVC,OAAOC,UAAUC,eAAeC,KAAKJ,EAAYhL,KACnDmJ,EAAYhK,KAAKyG,mBAAmBoF,EAAWhL,IAC7B,OAAdmJ,IACF6B,EAAWhL,GAAOmJ,IAIxB,OAAOhK,KAAKgF,KACVC,EACA,CAACsC,EAAaO,EAAc+D,GAC5B,CAAC,EACD1G,EAEJ,CAEA+G,iBAAAA,CAAkB3E,EAAaO,EAAc+D,GAC3C,YAAqBlB,IAAjB7C,EACK9H,KAAKgF,KAAK,oBAAqBuC,GAE/BvH,KAAK4L,KACV,oBACArE,EACAO,EACA+D,EAGN,CAEAM,GAAAA,CAAI5E,EAAaO,EAAc+D,EAAY1G,EAAgB,CAAC,GAC1D,YAAqBwF,IAAjB7C,EACK9H,KAAKgF,KAAK,MAAOuC,EAAa,CAAC,EAAGpC,GAElCnF,KAAK4L,KACV,MACArE,EACAO,EACA+D,EACA1G,EAGN,CAEAiH,kBAAAA,CAAmB7E,EAAaO,EAAc+D,GAC5C,YAAqBlB,IAAjB7C,EACK9H,KAAKgF,KAAK,qBAAsBuC,GAEhCvH,KAAK4L,KACV,qBACArE,EACAO,EACA+D,EAGN,CAEAQ,OAAAA,CAAQ9E,EAAaO,EAAc+D,GACjC,YAAqBlB,IAAjB7C,EACK9H,KAAKgF,KAAK,UAAWuC,GAErBvH,KAAK4L,KAAK,UAAWrE,EAAaO,EAAc+D,EAE3D,CAEAS,sBAAAA,CAAuB/E,EAAaO,EAAc+D,GAChD,YAAqBlB,IAAjB7C,EACK9H,KAAKgF,KAAK,yBAA0BuC,GAEpCvH,KAAK4L,KACV,yBACArE,EACAO,EACA+D,EAGN,CAEAU,sBAAAA,CAAuBhF,EAAaO,EAAc+D,GAChD,YAAqBlB,IAAjB7C,EACK9H,KAAKgF,KAAK,yBAA0BuC,GAEpCvH,KAAK4L,KACV,yBACArE,EACAO,EACA+D,EAGN,CAEAW,aAAAA,CAAcjF,EAAaO,EAAc+D,GACvC,YAAqBlB,IAAjB7C,EACK9H,KAAKgF,KAAK,gBAAiBuC,GAE3BvH,KAAK4L,KAAK,gBAAiBrE,EAAaO,EAAc+D,EAEjE,CAEAY,0BAAAA,CAA2BlF,EAAaO,EAAc+D,GACpD,YAAqBlB,IAAjB7C,EACK9H,KAAKgF,KAAK,6BAA8BuC,GAExCvH,KAAK4L,KACV,6BACArE,EACAO,EACA+D,EAGN,CAEAa,iBAAAA,CAAkBnF,EAAaO,EAAc+D,GAC3C,YAAqBlB,IAAjB7C,EACK9H,KAAKgF,KAAK,oBAAqBuC,GAE/BvH,KAAK4L,KACV,oBACArE,EACAO,EACA+D,EAGN,CAEAc,SAAAA,CAAUpF,EAAaO,EAAc+D,GACnC,YAAqBlB,IAAjB7C,EACK9H,KAAKgF,KAAK,YAAauC,GAEvBvH,KAAK4L,KAAK,YAAarE,EAAaO,EAAc+D,EAE7D,CAEAe,aAAAA,CAAcrF,EAAaO,EAAc+D,GACvC,YAAqBlB,IAAjB7C,EACK9H,KAAKgF,KAAK,gBAAiBuC,GAE3BvH,KAAK4L,KAAK,gBAAiBrE,EAAaO,EAAc+D,EAEjE,CAEAgB,mBAAAA,GACE,OAAO7M,KAAKgF,KAAK,sBAAuB,GAC1C,CAEA8H,QAAAA,CAAStF,EAAgBlD,GACvB,OAAOtE,KAAKgF,KAAK,WAAY,CAACwC,EAAgBlD,GAChD,CAEAyI,YAAAA,CAAaC,GACX,OAAOhN,KAAKgF,KAAK,eAAgB,CAACgI,GACpC,CAEAC,WAAAA,CAAYD,EAAM/G,GAChB,OAAOjG,KAAKgF,KAAK,cAAe,CAACgI,EAAM/G,GACzC,CAEAiH,WAAAA,CAAYF,EAAM/G,EAAM3B,GACtB,OAAOtE,KAAKgF,KAAK,cAAe,CAACgI,EAAM/G,EAAM3B,GAC/C,CAEA6I,aAAAA,CAAcH,EAAM/G,GAClB,OAAOjG,KAAKgF,KAAK,gBAAiB,CAACgI,EAAM/G,GAC3C,CAEAmH,aAAAA,CAAcpL,EAAQyG,EAAQC,GAC5B,OAAO1I,KAAKgF,KAAK,gBAAiB,CAAChD,EAAQyG,EAAQC,GACrD,CAEA2E,cAAAA,CAAerL,EAAQyG,EAAQC,GAC7B,OAAO1I,KAAKgF,KAAK,iBAAkB,CAAChD,EAAQyG,EAAQC,GACtD,CAEA4E,iBAAAA,GACE,OAAOtN,KAAKgF,KAAK,oBAAqB,GACxC,CAEAuI,wBAAAA,CAAyBC,GACvB,OAAOxN,KAAKgF,KAAK,2BAA4B,CAACwI,GAChD,CAEAC,aAAAA,GACE,OAAOzN,KAAKgF,KAAK,gBAAiB,GACpC,CAEA0I,gBAAAA,GACE,OAAO1N,KAAKgF,KAAK,mBAAoB,GACvC,CAEA2I,WAAAA,CAAY1H,GACV,OAAOjG,KAAKgF,KAAK,cAAe,CAACiB,GACnC,CAEA2H,YAAAA,CAAaC,GACX,OAAO7N,KAAKgF,KAAK,eAAgB6I,EACnC,CAEAC,WAAAA,CAAY7H,EAAM3B,GAChB,OAAOtE,KAAKgF,KAAK,cAAe,CAACiB,EAAM3B,GACzC,CAGAyJ,YAAAA,CAAa9H,EAAM3B,GACjB,OAAOtE,KAAKgF,KAAK,eAAgB,CAACiB,EAAM3B,GAC1C,CAEA0J,WAAAA,GACE,OAAOhO,KAAKgF,KAAK,cAAe,GAClC,CAGA,gBAAMiJ,CAAWC,GACf,GAAI5I,OAAO6I,gBAAiB,CAE1B,MAAMC,GAAc,IAAIC,aAAcC,OAAOJ,GAGvCK,QAA0BC,OAAOC,OAAOC,OAC5C,UACAN,GAIIO,EAAkB,IAAIC,WAAWL,GAGvC,OAAOM,MAAMC,KAAKH,GACfI,KAAKC,GAAMA,EAAE/K,SAAS,IAAIgL,SAAS,EAAG,OACtCC,KAAK,GACV,CAEF,EChqBF,IAAIrP,EAAS,WAAkB,IAAIE,EAAIC,KAAKC,EAAGF,EAAIG,MAAMD,GAAG,OAAOA,EAAG,kBAAkB,CAACE,MAAM,CAAC,WAAW,eAAe,OAAS,KAAK,CAACF,EAAG,QAAQ,CAACE,MAAM,CAAC,aAAa,KAAK,CAACF,EAAG,QAAQ,CAACE,MAAM,CAAC,aAAa,QAAQ,CAACF,EAAG,OAAO,CAACM,YAAY,kBAAkB,CAACR,EAAIO,GAAGP,EAAImB,GAAGnB,EAAIM,aAAa,GAAGN,EAAIO,GAAG,KAAKL,EAAG,QAAQ,CAACM,YAAY,cAAcJ,MAAM,CAAC,MAAQ,KAAKJ,EAAIgC,GAAIhC,EAAIK,OAAO,SAAS+O,EAAKlF,GAAG,OAAOhK,EAAG,SAAS,CAACY,IAAIoJ,EAAEmF,IAAI,UAAUC,UAAS,EAAKlP,MAAM,CAAC,WAAW,IAAIQ,YAAYZ,EAAIa,GAAG,CAAC,CAACC,IAAI,YAAYC,GAAG,UAAS,GAAEL,EAAE,MAAEN,IAAS,MAAO,CAACF,EAAG,QAAQF,EAAIuP,GAAGvP,EAAIwP,GAAG,CAAChP,YAAY,mBAAmBJ,MAAM,CAAC,SAAW,GAAG,YAAYJ,EAAIyP,SAAU,GAAEzP,EAAIM,SAAS8O,EAAKM,WAAW,QAAQtP,GAAM,GAAOM,GAAI,CAACR,EAAG,OAAO,CAACyP,SAAS,CAAC,YAAc3P,EAAImB,GAAGiO,EAAKM,UAAU1P,EAAIO,GAAG,KAAKL,EAAG,SAAS,CAACM,YAAY,SAASJ,MAAM,CAAC,MAAQ,KAAK,CAACJ,EAAIO,GAAG,sBAAsB,GAAG,IAAI,MAAK,IAAO,CAACP,EAAIO,GAAG,KAAKL,EAAG,SAAS,CAACA,EAAG,gBAAgB,CAACM,YAAY,YAAYJ,MAAM,CAAC,MAAQgP,EAAKQ,WAAW,eAAe,GAAG,MAAQ,KAAK,CAAC5P,EAAIgC,GAAIoN,EAAK9E,OAAO,SAASuF,EAAOC,GAAG,MAAO,CAAED,EAAOE,QAAS7P,EAAG,YAAY,CAACY,IAAIgP,IAAKD,EAAOG,SAAWH,EAAOG,QAAQpI,OAAS,EAAG1H,EAAG,MAAM,CAACY,IAAIgP,GAAG,CAAC5P,EAAG,SAAS,CAACY,IAAId,EAAIiQ,EAAE7P,MAAM,CAAC,gBAAgB,GAAG,WAAW,GAAG,OAAS,IAAIQ,YAAYZ,EAAIa,GAAG,CAAC,CAACC,IAAI,YAAYC,GAAG,UAAS,GAAEL,EAAE,MAAEN,IAAS,MAAO,CAACF,EAAG,cAAcF,EAAIuP,GAAGvP,EAAIwP,GAAG,CAAC1O,IAAIgP,EAAE1P,MAAM,CAAC,SAAWyP,EAAOK,WAAW,cAAc9P,GAAM,GAAOM,GAAI,CAAEmP,EAAOzO,KAAMlB,EAAG,mBAAmB,CAACA,EAAG,SAAS,CAACE,MAAM,CAAC,SAAWyP,EAAOK,WAAW,CAAClQ,EAAIO,GAAGP,EAAImB,GAAG0O,EAAOzO,UAAU,GAAGpB,EAAImQ,KAAKnQ,EAAIO,GAAG,KAAOsP,EAAOO,OAAUP,EAAOQ,SACv7CrQ,EAAImQ,KAD67CjQ,EAAG,oBAAoB,CAACoQ,MAAO,oBAClkDT,EAAOK,SAAW,eAAiB,KAAM,CAAClQ,EAAIO,GAAGP,EAAImB,GAAG0O,EAAOH,OAAO,4BAAqC1P,EAAIO,GAAG,KAAKL,EAAG,SAAS,CAACF,EAAIO,GAAG,0BAA0B,GAAG,IAAI,MAAK,IAAO,CAACP,EAAIO,GAAG,KAAKL,EAAG,SAASF,EAAIgC,GAAI6N,EAAOG,SAAS,SAASO,EAAQN,GAAG,OAAO/P,EAAG,cAAc,CAACY,IAAImP,EAAEvP,GAAG,CAAC,MAAQ,SAASM,GAAQ,OAAOhB,EAAIwQ,aAAaD,EAAQ,IAAI,CAAEA,EAAQnP,KAAMlB,EAAG,mBAAmB,CAACA,EAAG,SAAS,CAACF,EAAIO,GAAGP,EAAImB,GAAGoP,EAAQnP,UAAU,GAAGpB,EAAImQ,KAAKnQ,EAAIO,GAAG,KAAKL,EAAG,oBAAoB,CAACF,EAAIO,GAAGP,EAAImB,GAAGoP,EAAQb,WAAW,EAAE,IAAG,IAAI,IAAI,GAAGxP,EAAG,cAAc,CAACY,IAAIgP,EAAE1P,MAAM,CAAC,SAAWyP,EAAOK,SAAS,YAAYlQ,EAAIyP,SAAU,GAAEzP,EAAIM,SAAS8O,EAAKM,SAASG,EAAOH,UAAUhP,GAAG,CAAC,MAAQ,SAASM,GAAQ,OAAO6O,EAAOY,QAAQZ,EAAO,IAAI,CAAEA,EAAOO,MAAOlQ,EAAG,qBAAqB,CAACA,EAAG,UAAU,CAACE,MAAM,CAAC,MAAQ,YAAY,MAAQyP,EAAOH,MAAM,MAAQG,EAAOH,UAAU,GAAG1P,EAAImQ,KAAKnQ,EAAIO,GAAG,KAAMsP,EAAOQ,SAAUnQ,EAAG,qBAAqB,CAACA,EAAG,aAAa,CAACE,MAAM,CAAC,MAAQ,YAAY,MAAQyP,EAAOH,OAAOpO,MAAM,CAACC,MAAOsO,EAAOa,QAASjP,SAAS,SAAUC,GAAM1B,EAAI2Q,KAAKd,EAAQ,UAAWnO,EAAI,EAAEC,WAAW,qBAAqB,GAAG3B,EAAImQ,KAAKnQ,EAAIO,GAAG,KAAMsP,EAAOzO,KAAMlB,EAAG,mBAAmB,CAACA,EAAG,SAAS,CAACE,MAAM,CAAC,SAAWyP,EAAOK,WAAW,CAAClQ,EAAIO,GAAGP,EAAImB,GAAG0O,EAAOzO,UAAU,GAAGpB,EAAImQ,KAAKnQ,EAAIO,GAAG,KAAOsP,EAAOO,OAAUP,EAAOQ,SAAwIrQ,EAAImQ,KAAlIjQ,EAAG,oBAAoB,CAACoQ,MAAO,oBAAsBT,EAAOK,SAAW,eAAiB,KAAM,CAAClQ,EAAIO,GAAGP,EAAImB,GAAG0O,EAAOH,WAAoB,GAAG,KAAI,IAAI,IAAI,EAAE,IAAG,IAAI,EACn9C,EACItN,EAAkB,G,gBAqItB,SACAwO,MAAA,CACAvQ,MAAA,CACA0J,KAAA+E,MACA+B,QAAA,WACA,QACA,GAEAvQ,MAAA,CACAyJ,KAAA+G,OACAD,QAAA,KAGAE,QAAA,CAEAtB,SAAA,SAAAtB,GACA,OAAAA,EAAA6C,WAAA,SAAAC,aACA,EACAT,YAAAA,CAAAD,GACAA,EAAAE,QAAAF,GACA,KAAAW,MAAAC,QAAA,GAAAC,UAAA,CACA,GAEAC,OAAAA,GACAC,SAAAhR,MAAA,KAAAA,KACA,GCjK0S,I,qBCQtSiR,GAAY,OACd,EACA,EACA,GACA,EACA,KACA,WACA,MAIF,QAAeA,EAAiB,Q,i0CCJpB,OAAAC,EAAA,kBAAA5R,CAAA,EAAAA,CAAA,CAAA4R,IAAAA,IAAA3R,EAAA,KAfZ,IAAIC,EAAS,WAAiB0R,IAAAzR,EAAA,KAAC,IAAIC,GAAGwR,IAAA3R,EAAA,KAACI,MAAKC,GAAEsR,IAAA3R,EAAA,KAACG,EAAIG,MAAMD,IAAG,OAAAsR,IAAA3R,EAAA,KAAOK,EAAG,SAAS,CAACA,EAAG,cAAc,CAACE,MAAM,CAAC,GAAKJ,EAAIiC,SAAS,CAAC/B,EAAG,MAAM,CAACM,YAAY,uBAAuB,CAACR,EAAIO,GAAGP,EAAImB,GAAGnB,EAAIiC,WAAWjC,EAAIO,GAAG,KAAKL,EAAG,QAAQ,CAACA,EAAG,QAAQ,CAACM,YAAY,gBAAgB,CAACR,EAAIO,GAAG,eAAe,GAAGP,EAAIO,GAAG,KAAKP,EAAIgC,GAAIhC,EAAIyR,UAAU,SAAS/I,GAAQ,OAAD8I,IAAAzR,EAAA,KAAAyR,IAAA3R,EAAA,KAAQK,EAAG,QAAQ,CAACY,IAAI4H,EAAOgJ,WAAWlR,YAAY,OAAOJ,MAAM,CAAC,MAAQ,KAAK,CAACF,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,KAAK,CAACF,EAAG,SAAS,CAACE,MAAM,CAAC,OAASsI,EAAO,QAAU1I,EAAI8B,QAAQ,YAAc9B,EAAIkC,YAAY,YAAclC,EAAImC,YAAY,QAAUnC,EAAI2R,kBAAkB,IAAI,EAAE,IAAG3R,EAAIO,GAAG,KAAKL,EAAG,QAAQ,CAACA,EAAG,QAAQ,CAACM,YAAY,gBAAgB,CAACR,EAAIO,GAAG,gBAAgB,GAAGP,EAAIO,GAAG,KAAKP,EAAIgC,GAAIhC,EAAI4R,WAAW,SAASlJ,GAAQ,OAAD8I,IAAAzR,EAAA,KAAAyR,IAAA3R,EAAA,KAAQK,EAAG,QAAQ,CAACY,IAAI4H,EAAOgJ,WAAWlR,YAAY,OAAOJ,MAAM,CAAC,MAAQ,KAAK,CAACF,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,KAAK,CAACF,EAAG,SAAS,CAACE,MAAM,CAAC,OAASsI,EAAO,QAAU1I,EAAI8B,QAAQ,YAAc9B,EAAIkC,YAAY,YAAclC,EAAImC,YAAY,QAAUnC,EAAI6R,iBAAiB,IAAI,EAAE,KAAI,IAAI,EACvgC,EACIzP,GAAeoP,IAAA3R,EAAA,KAAG,I,+mCCaV,OAAAiS,EAAA,kBAAAlS,CAAA,EAAAA,CAAA,CAAAkS,IAAAA,IAAAjS,EAAA,KAfZ,IAAIC,EAAS,WAAiBgS,IAAA/R,EAAA,KAAC,IAAIC,GAAG8R,IAAAjS,EAAA,KAACI,MAAKC,GAAE4R,IAAAjS,EAAA,KAACG,EAAIG,MAAMD,IAAG,OAAA4R,IAAAjS,EAAA,KAAOK,EAAG,SAAS,CAACA,EAAG,eAAe,CAACM,YAAY,0BAA0B,CAACR,EAAIO,GAAGP,EAAImB,GAAGnB,EAAI0I,OAAOlB,aAAa,IAAIxH,EAAImB,GAAGnB,EAAI0I,OAAOY,gBAAgBtJ,EAAIO,GAAG,KAAKL,EAAG,kBAAkB,CAACF,EAAIO,GAAGP,EAAImB,GAAGnB,EAAI0I,OAAOqJ,aAAa,UAAU7R,EAAG,MAAM,CAACM,YAAY,eAAe,CAACR,EAAIO,GAAGP,EAAImB,GAAGnB,EAAI0I,OAAOsJ,iBAAiBhS,EAAIO,GAAG,KAAKL,EAAG,cAAc,CAACA,EAAG,cAAc,CAACE,MAAM,CAAC,MAAQ,KAAK,CAACF,EAAG,QAAQ,CAACE,MAAM,CAAC,MAAQ,KAAKJ,EAAIgC,GAAIhC,EAAIsK,OAAO,SAAS3B,GAAM,OAADmJ,IAAA/R,EAAA,KAAA+R,IAAAjS,EAAA,KAAQK,EAAG,QAAQ,CAACY,IAAI6H,EAAKzC,KAAK9F,MAAM,CAAC,KAAOJ,EAAI8B,UAAU,CAAC5B,EAAG,OAAO,CAACE,MAAM,CAAC,KAAOuI,MAAS,EAAE,IAAG,IAAI,IAAI,IAAI,EAChnB,EACIvG,GAAe0P,IAAAjS,EAAA,KAAG,I,0pECaV,OAAAoS,EAAA,kBAAArS,CAAA,EAAAA,CAAA,CAAAqS,IAAAA,IAAApS,EAAA,KAfZ,IAAIC,EAAS,WAAiBmS,IAAAlS,EAAA,KAAC,IAAIC,GAAGiS,IAAApS,EAAA,KAACI,MAAKC,GAAE+R,IAAApS,EAAA,KAACG,EAAIG,MAAMD,IAAG,OAAA+R,IAAApS,EAAA,KAAOK,EAAG,SAAS,CAACM,YAAY,UAAUJ,MAAM,CAAC,SAAW,KAAK,CAACF,EAAG,eAAe,CAACM,YAAY,kBAAkB,CAACR,EAAIO,GAAG,SAASP,EAAImB,GAAGnB,EAAI2I,KAAKzC,MAAM,UAAUlG,EAAIO,GAAG,KAAKL,EAAG,kBAAkB,CAACF,EAAIO,GAAGP,EAAImB,GAAGnB,EAAI2I,KAAKoJ,gBAAgB/R,EAAIO,GAAG,KAAKL,EAAG,cAAc,CAACM,YAAY,iBAAiB,CAACN,EAAG,MAAM,CAACF,EAAIO,GAAG,eAAeP,EAAImB,GAAGnB,EAAI2I,KAAKuJ,eAAelS,EAAIO,GAAG,KAAKL,EAAG,MAAM,CAACF,EAAIO,GAAG,aAAaP,EAAImB,GAAGnB,EAAI2I,KAAKwJ,aAAanS,EAAIO,GAAG,KAAKL,EAAG,MAAM,CAACF,EAAIO,GAAG,cAAcP,EAAImB,GAAGnB,EAAI2I,KAAKyJ,cAAcpS,EAAIO,GAAG,KAAKL,EAAG,MAAM,CAACF,EAAIO,GAAG,eAAeP,EAAImB,GAAGnB,EAAI2I,KAAKqJ,eAAehS,EAAIO,GAAG,KAAKL,EAAG,MAAM,CAACF,EAAIO,GAAG,aAAaP,EAAImB,GAAGnB,EAAI2I,KAAK0J,aAAarS,EAAIO,GAAG,KAAMwL,OAAOuG,OAAOtS,EAAI2I,KAAM,YAAUsJ,IAAAhD,EAAA,QAAE/O,EAAG,MAAM,CAACF,EAAIO,GAAG,oBAAoBP,EAAImB,GAAGnB,EAAI2I,KAAK4J,SAAS,cAAWN,IAAAhD,EAAA,QAACjP,EAAImQ,MAAKnQ,EAAIO,GAAG,KAAMwL,OAAOuG,OAAOtS,EAAI2I,KAAM,YAAUsJ,IAAAhD,EAAA,QAAE/O,EAAG,MAAM,CAACF,EAAIO,GAAG,oBAAoBP,EAAImB,GAAGnB,EAAI2I,KAAK6J,SAAS,cAAWP,IAAAhD,EAAA,QAACjP,EAAImQ,MAAKnQ,EAAIO,GAAG,KAAMwL,OAAOuG,OAAOtS,EAAI2I,KAAM,YAAUsJ,IAAAhD,EAAA,QAAE/O,EAAG,MAAM,CAACF,EAAIO,GAAG,oBAAoBP,EAAImB,GAAGnB,EAAI2I,KAAKkI,SAAS,cAAWoB,IAAAhD,EAAA,QAACjP,EAAImQ,MAAKnQ,EAAIO,GAAG,KAAMP,EAAI2I,KAAK8J,UAAQR,IAAAhD,EAAA,QAAE/O,EAAG,MAAM,CAACA,EAAG,SAAS,CAACF,EAAIO,GAAG,eAAeP,EAAImB,GAAGnB,EAAI2I,KAAK8J,SAASvO,SAAS,IAAIwO,sBAAmBT,IAAAhD,EAAA,QAACjP,EAAImQ,MAAKnQ,EAAIO,GAAG,KAAMP,EAAI2S,gBAAcV,IAAAhD,EAAA,QAAE/O,EAAG,MAAM,CAACF,EAAIO,GAAG,oBAAoBP,EAAImB,GAAGnB,EAAI2S,qBAAkBV,IAAAhD,EAAA,QAACjP,EAAImQ,MAAKnQ,EAAIO,GAAG,KAAMP,EAAI4S,iBAAeX,IAAAhD,EAAA,QAAE/O,EAAG,MAAM,CAACF,EAAIO,GAAG,qBAAqBP,EAAImB,GAAGnB,EAAI4S,sBAAmBX,IAAAhD,EAAA,QAACjP,EAAImQ,SAAQ,EACl8C,EACI/N,GAAe6P,IAAApS,EAAA,KAAG,I,qgLCmEtB,OAAAoS,EAAA,kBAAArS,CAAA,EAAAA,CAAA,CAAAqS,IAdA,SACArB,MAAA,CACAjI,KAAA,CACAoB,KAAAgC,OACA8G,UAAA,GAEA3Q,YAAA,CACA6H,KAAA+I,QACAD,UAAA,GAEA1Q,YAAA,CACA4H,KAAA+I,QACAD,UAAA,IAGAE,SAAA,CACAJ,cAAAA,GACA,GADAV,IAAAlS,EAAA,KAAAkS,IAAApS,EAAA,KACAkM,OAAAuG,OAAA,KAAA3J,KAAA,oBAAAsJ,IAAAhD,EAAA,QACA,IAAAlJ,GAAAkM,IAAApS,EAAA,aAAA8I,KAAAqK,gBAAAtO,SAIA,OAJAuN,IAAApS,EAAA,KACA,KAAA8I,KAAAqK,gBAAAlQ,QAAAmP,IAAAhD,EAAA,QAAAgD,IAAApS,EAAA,KACAkG,GAAA,cAAA4C,KAAAqK,gBAAAlQ,OAAAqM,KAAA,SACA8C,IAAAhD,EAAA,QAAAgD,IAAApS,EAAA,KACAkG,CACA,CACA,OADAkM,IAAAhD,EAAA,QAAAgD,IAAApS,EAAA,MACA,CAEA,EACA+S,eAAAA,GACA,GADAX,IAAAlS,EAAA,KAAAkS,IAAApS,EAAA,KACAkM,OAAAuG,OAAA,KAAA3J,KAAA,qBAAAsJ,IAAAhD,EAAA,QACA,IAAAlJ,GAAAkM,IAAApS,EAAA,aAAA8I,KAAAsK,iBAAAvO,SAIA,OAJAuN,IAAApS,EAAA,KACA,KAAA8I,KAAAsK,iBAAAnQ,QAAAmP,IAAAhD,EAAA,QAAAgD,IAAApS,EAAA,KACAkG,GAAA,cAAA4C,KAAAsK,iBAAAnQ,OAAAqM,KAAA,SACA8C,IAAAhD,EAAA,QAAAgD,IAAApS,EAAA,MACAkG,CACA,CACA,OADAkM,IAAAhD,EAAA,QAAAgD,IAAApS,EAAA,OACA,CAEA,IC5FiT,ICOjT,IAAI,GAAY,OACd,EACA,EACA,GACA,EACA,KACA,KACA,MAIF,QAAe,EAAiB,Q,mwICwChC,OAAAiS,EAAA,kBAAAlS,CAAA,EAAAA,CAAA,CAAAkS,IAZA,SACAoB,WAAA,CACAC,KAAAA,GAEAvC,MAAA,CACAlI,OAAA,CACAqB,KAAAgC,OACA8G,UAAA,GAEA/Q,QAAA,CACAiI,KAAApD,OACAkM,UAAA,GAEA3Q,YAAA,CACA6H,KAAA+I,QACAD,UAAA,GAEA1Q,YAAA,CACA4H,KAAA+I,QACAD,UAAA,GAEApF,QAAA,CACA1D,KAAAgC,SAGAgH,SAAA,CACAzI,KAAAA,GAAAwH,IAAA/R,EAAA,KACA,IAAAuK,GAAAwH,IAAAjS,EAAA,UAAA6I,OAAA4B,OAOA,OAPAwH,IAAAjS,EAAA,KACA,KAAAqC,aAAA4P,IAAA7C,EAAA,QAAA6C,IAAAjS,EAAA,KACAyK,EAAAA,EAAA8I,QAAAzK,IAAAmJ,IAAA/R,EAAA,KAAA+R,IAAAjS,EAAA,WAAA4N,QAAAxJ,SAAA0E,EAAAzC,UACA4L,IAAA7C,EAAA,QAAA6C,IAAAjS,EAAA,KACA,KAAAsC,aAAA2P,IAAA7C,EAAA,QAAA6C,IAAAjS,EAAA,KACAyK,EAAAA,EAAA8I,QAAAzK,IAAAmJ,IAAA/R,EAAA,KAAA+R,IAAAjS,EAAA,iBAAA8I,EAAAyJ,cACAN,IAAA7C,EAAA,QAAA6C,IAAAjS,EAAA,KACAyK,CACA,ICjFmT,ICOnT,IAAI,GAAY,OACd,EACA,EACA,GACA,EACA,KACA,KACA,MAIF,QAAe,EAAiB,Q,mnKCiEhC,OAAAkH,EAAA,kBAAA5R,CAAA,EAAAA,CAAA,CAAA4R,IAXA,SACA0B,WAAA,CACAG,OAAAA,GAEAzC,MAAA,CACA3O,OAAA,CACA8H,KAAA+G,OACA+B,UAAA,GAEA/Q,QAAA,CACAiI,KAAApD,OACAkM,UAAA,GAEA3Q,YAAA,CACA6H,KAAA+I,QACAD,UAAA,GAEA1Q,YAAA,CACA4H,KAAA+I,QACAD,UAAA,IAGAtO,IAAAA,GACA,OADAiN,IAAAzR,EAAA,KAAAyR,IAAA3R,EAAA,KACA,CACAyT,IAAA,KACA7B,SAAA,GACAG,UAAA,GACAD,cAAA,GACAE,aAAA,GAEA,EAEA0B,OAAAA,GAAA/B,IAAAzR,EAAA,KAAAyR,IAAA3R,EAAA,KACA,KAAAyT,IAAA,IAAAxO,EAAA0M,IAAA3R,EAAA,KACA,KAAAyT,IAAApK,WAAA,KAAAjH,QAAA2B,MAAA3B,IAAAuP,IAAAzR,EAAA,KAAAyR,IAAA3R,EAAA,KACA,KAAA8R,cAAA1P,EAAAuR,mBAAAhC,IAAA3R,EAAA,KACA,KAAAgS,aAAA5P,EAAAwR,aAAA,IAEAjC,IAAA3R,EAAA,KACA,KAAAyT,IAAAnI,aAAA,KAAAlJ,QAAA2B,MAAA8P,IAAAlC,IAAAzR,EAAA,KAAAyR,IAAA3R,EAAA,KACA,KAAA4R,SAAAiC,CAAA,IACAlC,IAAA3R,EAAA,KACA,KAAAyT,IAAA9J,YAAA,KAAAvH,QAAA2B,MAAA8P,IAAAlC,IAAAzR,EAAA,KAAAyR,IAAA3R,EAAA,KACA,KAAA+R,UAAA8B,CAAA,GAEA,GCrHmT,ICOnT,IAAI,GAAY,OACd,EACA,EACA,GACA,EACA,KACA,KACA,MAIF,QAAe,EAAiB,Q,wnSCqFhC,OAAA/T,EAAA,kBAAAC,CAAA,EAAAA,CAAA,CAAAD,IAVA,SACAuT,WAAA,CACAS,OAAA,EACAC,OAAAA,GAEArP,IAAAA,GACA,OADA5E,IAAAI,EAAA,KAAAJ,IAAAE,EAAA,KACA,CACAS,MAAA,YACAG,YAAA,GACAe,oBAAA,GACAI,oBAAA,GACA0R,IAAA,KACAxR,QAAA,EACAD,YAAA,CACA,CAAAgS,KAAA,IAAAtS,MAAA,IACA,CAAAsS,KAAA,IAAAtS,MAAA,GACA,CAAAsS,KAAA,IAAAtS,MAAA,GACA,CAAAsS,KAAA,IAAAtS,MAAA,GACA,CAAAsS,KAAA,IAAAtS,MAAA,GACA,CAAAsS,KAAA,KAAAtS,MAAA,IAEAW,aAAA,EACAC,aAAA,EACA9B,MAAA,CACA,CACAqP,MAAA,OACApF,MAAA,CACA,CACAoF,MAAA,qBACAW,UAAA,EACAI,QAAAA,KAAA9Q,IAAAI,EAAA,KAAAJ,IAAAE,EAAA,KACA,KAAAqC,aAAA,KAAAA,WAAA,GAGA,CACAwN,MAAA,qBACAW,UAAA,EACAI,QAAAA,KAAA9Q,IAAAI,EAAA,KAAAJ,IAAAE,EAAA,KACA,KAAAsC,aAAA,KAAAA,WAAA,MAOA,EACA4Q,SAAA,CACAe,kBAAAA,GACA,OADAnU,IAAAI,EAAA,KAAAJ,IAAAE,EAAA,KACA,KAAAY,YAAAmH,SAAA,KAAApG,oBAAAoG,MACA,EACAmM,mBAAAA,GACA,OADApU,IAAAI,EAAA,KAAAJ,IAAAE,EAAA,KACAF,IAAAsP,EAAA,aAAAzN,oBAAAoG,OAAA,IAAAjI,IAAAsP,EAAA,cAAA6E,mBACA,EACA1S,IAAAA,GACA,OADAzB,IAAAI,EAAA,KAAAJ,IAAAE,EAAA,KACA,KAAAiU,oBAAAnU,IAAAsP,EAAA,QAAAtP,IAAAE,EAAA,uBAAAF,IAAAsP,EAAA,QAAAtP,IAAAE,EAAA,KACA,KAAAkU,qBAAApU,IAAAsP,EAAA,QAAAtP,IAAAE,EAAA,uBAAAF,IAAAsP,EAAA,QAAAtP,IAAAE,EAAA,KACA,8BACA,GAEA0T,OAAAA,GAAA5T,IAAAI,EAAA,KAAAJ,IAAAE,EAAA,MACA,KAAAyT,IAAA,IAAAxO,EAAAnF,IAAAE,EAAA,MACA,KAAAyT,IACAnK,iBAAA,CAAArG,OAAA,CAAAkR,MAAAzO,OAAAC,eACA5B,MAAAqQ,IAAAtU,IAAAI,EAAA,KAAAJ,IAAAE,EAAA,MACA,KAAAY,YAAAwT,CAAA,GAEA,EACAlD,QAAA,CACA7P,aAAAA,GAAAvB,IAAAI,EAAA,KAAAJ,IAAAE,EAAA,MACA,KAAAqU,WAAA,KAAAvU,IAAAI,EAAA,KAAAJ,IAAAE,EAAA,MACA,KAAAiU,oBAAAnU,IAAAsP,EAAA,QAAAtP,IAAAE,EAAA,MACA,KAAA2B,oBAAA,KACA7B,IAAAsP,EAAA,QAAAtP,IAAAE,EAAA,MACA,KAAA2B,oBAAA,KAAAf,YAAA0T,QACA,GAEA,ICzKsT,ICOtT,IAAI,GAAY,OACd,EACArU,EACAsC,GACA,EACA,KACA,KACA,MAIF,QAAe,EAAiB,O,qGCf5BgS,EAA0B,IAA4B,KAE1DA,EAAwBC,KAAK,CAACC,EAAOhP,GAAI,inBAAknB,KAE3pB,S,gBCJA,IAAIiP,EAAU,EAAQ,MACnBA,EAAQC,aAAYD,EAAUA,EAAQ1D,SACnB,kBAAZ0D,IAAsBA,EAAU,CAAC,CAACD,EAAOhP,GAAIiP,EAAS,MAC7DA,EAAQE,SAAQH,EAAOI,QAAUH,EAAQE,QAE5C,IAAIE,EAAM,UACGA,EAAI,WAAYJ,GAAS,EAAM,CAAC,WAAY,EAAM,YAAa,G","sources":["webpack://@openc3/cosmos-tool-handbooks/./src/tools/Handbooks/Handbooks.vue","webpack://@openc3/cosmos-tool-handbooks/../openc3-tool-common/src/services/axios.js","webpack://@openc3/cosmos-tool-handbooks/../openc3-tool-common/src/services/openc3-api.js","webpack://@openc3/cosmos-tool-handbooks/../openc3-tool-common/src/components/TopBar.vue","webpack://@openc3/cosmos-tool-handbooks/../openc3-tool-common/src/components/TopBar.vue?c4b5","webpack://@openc3/cosmos-tool-handbooks/../openc3-tool-common/src/components/TopBar.vue?a437","webpack://@openc3/cosmos-tool-handbooks/./src/tools/Handbooks/Target.vue","webpack://@openc3/cosmos-tool-handbooks/./src/tools/Handbooks/Packet.vue","webpack://@openc3/cosmos-tool-handbooks/./src/tools/Handbooks/Item.vue","webpack://@openc3/cosmos-tool-handbooks/src/tools/Handbooks/Item.vue","webpack://@openc3/cosmos-tool-handbooks/./src/tools/Handbooks/Item.vue?1221","webpack://@openc3/cosmos-tool-handbooks/./src/tools/Handbooks/Item.vue?85c4","webpack://@openc3/cosmos-tool-handbooks/src/tools/Handbooks/Packet.vue","webpack://@openc3/cosmos-tool-handbooks/./src/tools/Handbooks/Packet.vue?663c","webpack://@openc3/cosmos-tool-handbooks/./src/tools/Handbooks/Packet.vue?a8e2","webpack://@openc3/cosmos-tool-handbooks/src/tools/Handbooks/Target.vue","webpack://@openc3/cosmos-tool-handbooks/./src/tools/Handbooks/Target.vue?69b3","webpack://@openc3/cosmos-tool-handbooks/./src/tools/Handbooks/Target.vue?cdc5","webpack://@openc3/cosmos-tool-handbooks/src/tools/Handbooks/Handbooks.vue","webpack://@openc3/cosmos-tool-handbooks/./src/tools/Handbooks/Handbooks.vue?1265","webpack://@openc3/cosmos-tool-handbooks/./src/tools/Handbooks/Handbooks.vue?585c","webpack://@openc3/cosmos-tool-handbooks/../openc3-tool-common/src/components/TopBar.vue?92ac","webpack://@openc3/cosmos-tool-handbooks/../openc3-tool-common/src/components/TopBar.vue?9d44"],"sourcesContent":["var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',[_c('top-bar',{attrs:{\"menus\":_vm.menus,\"title\":_vm.title}}),_vm._v(\" \"),_c('v-card',[_c('v-container',{staticClass:\"d-print-none\"},[_c('v-row',{attrs:{\"dense\":\"\"}},[_c('v-col',[_c('v-select',{staticClass:\"ma-0 pa-0\",attrs:{\"label\":\"Select Target(s)\",\"dense\":\"\",\"hide-details\":\"\",\"outlined\":\"\",\"items\":_vm.targetNames,\"multiple\":\"\"},on:{\"change\":_vm.targetSelect},scopedSlots:_vm._u([{key:\"prepend-item\",fn:function(){return [_c('v-list-item',{attrs:{\"ripple\":\"\"},on:{\"mousedown\":function($event){$event.preventDefault();},\"click\":_vm.toggleTargets}},[_c('v-list-item-action',[_c('v-icon',[_vm._v(\"\\n \"+_vm._s(_vm.icon)+\"\\n \")])],1),_vm._v(\" \"),_c('v-list-item-content',[_c('v-list-item-title',[_vm._v(\" Select All \")])],1)],1),_vm._v(\" \"),_c('v-divider',{staticClass:\"mt-2\"})]},proxy:true}]),model:{value:(_vm.selectedTargetNames),callback:function ($$v) {_vm.selectedTargetNames=$$v},expression:\"selectedTargetNames\"}})],1),_vm._v(\" \"),_c('v-col',[_c('v-btn',{staticClass:\"primary\",on:{\"click\":function($event){_vm.renderedTargetNames = _vm.selectedTargetNames}}},[_vm._v(\"\\n Display\\n \")])],1),_vm._v(\" \"),_c('v-col',[_c('v-select',{attrs:{\"label\":\"Item Columns\",\"dense\":\"\",\"hide-details\":\"\",\"outlined\":\"\",\"items\":_vm.columnItems},model:{value:(_vm.columns),callback:function ($$v) {_vm.columns=$$v},expression:\"columns\"}})],1)],1)],1)],1),_vm._v(\" \"),_c('div',{staticStyle:{\"height\":\"15px\"}}),_vm._v(\" \"),_vm._l((_vm.renderedTargetNames),function(target){return _c('div',{key:target},[_c('target',{attrs:{\"target\":target,\"columns\":_vm.columns,\"hideIgnored\":_vm.hideIgnored,\"hideDerived\":_vm.hideDerived}})],1)})],2)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","/*\n# Copyright 2022 Ball Aerospace & Technologies Corp.\n# All Rights Reserved.\n#\n# This program is free software; you can modify and/or redistribute it\n# under the terms of the GNU Affero General Public License\n# as published by the Free Software Foundation; version 3 with\n# attribution addendums as found in the LICENSE.txt\n#\n# This program is distributed in the hope that it will be useful,\n# but WITHOUT ANY WARRANTY; without even the implied warranty of\n# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n# GNU Affero General Public License for more details.\n\n# Modified by OpenC3, Inc.\n# All changes Copyright 2022, OpenC3, Inc.\n# All Rights Reserved\n#\n# This file may also be used under the terms of a commercial license\n# if purchased from OpenC3, Inc.\n*/\n\nimport axios from 'axios'\nimport Vue from 'vue'\n\nconst vueInstance = new Vue()\n\nconst axiosInstance = axios.create({\n baseURL: location.origin,\n timeout: 60000,\n params: {},\n})\n\naxiosInstance.interceptors.response.use(\n (response) => response,\n (error) => {\n if (error.response) {\n if (error.response.status === 401) {\n OpenC3Auth.updateToken(OpenC3Auth.defaultMinValidity, true).then(\n function (refreshed) {\n if (refreshed) {\n OpenC3Auth.setTokens()\n }\n },\n )\n }\n // Individual tools can set 'Ignore-Errors' to an error code\n // they potentially expect, e.g. '500', in which case we ignore it\n // For example in CommandSender.vue:\n // obs = this.api.cmd(targetName, commandName, paramList, {\n // headers: {\n // 'Ignore-Errors': '404',\n // },\n // })\n if (\n error.response.config.headers['Ignore-Errors'] &&\n error.response.config.headers['Ignore-Errors'].includes(\n error.response.status.toString(),\n )\n ) {\n return Promise.reject(error)\n }\n let body = `HTTP ${error.response.status} - `\n if (error.response?.statusText) {\n body += `${error.response.statusText} `\n }\n if (error.response?.config?.data) {\n body += `${error.response.config.data} `\n }\n if (error.response?.data?.message) {\n body += `${error.response.data.message}`\n } else if (error.response?.data?.exception) {\n body += `${error.response.data.exception}`\n } else if (error.response?.data?.error?.message) {\n if (error.response.data.error.class) {\n body += `${error.response.data.error.class} `\n }\n body += `${error.response.data.error.message}`\n } else {\n body += `${error.response?.data}`\n }\n if (vueInstance.$notify) {\n vueInstance.$notify.serious({\n title: 'Network error',\n body,\n })\n }\n throw error\n } else {\n throw error\n }\n },\n)\n\nexport default axiosInstance\n","/*\n# Copyright 2022 Ball Aerospace & Technologies Corp.\n# All Rights Reserved.\n#\n# This program is free software; you can modify and/or redistribute it\n# under the terms of the GNU Affero General Public License\n# as published by the Free Software Foundation; version 3 with\n# attribution addendums as found in the LICENSE.txt\n#\n# This program is distributed in the hope that it will be useful,\n# but WITHOUT ANY WARRANTY; without even the implied warranty of\n# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n# GNU Affero General Public License for more details.\n\n# Modified by OpenC3, Inc.\n# All changes Copyright 2024, OpenC3, Inc.\n# All Rights Reserved\n#\n# This file may also be used under the terms of a commercial license\n# if purchased from OpenC3, Inc.\n*/\n\nimport axios from './axios.js'\n\nexport class OpenC3Api {\n id = 1\n\n constructor() {}\n\n async exec(\n method,\n params,\n kwparams = {},\n headerOptions = {},\n timeout = 60000\n ) {\n try {\n let refreshed = await OpenC3Auth.updateToken(\n OpenC3Auth.defaultMinValidity\n )\n if (refreshed) {\n OpenC3Auth.setTokens()\n }\n } catch (error) {\n OpenC3Auth.login()\n }\n this.id = this.id + 1\n try {\n kwparams['scope'] = window.openc3Scope\n const response = await axios.post(\n '/openc3-api/api',\n {\n jsonrpc: '2.0',\n method: method,\n params: params,\n id: this.id,\n keyword_params: kwparams,\n },\n {\n headers: {\n Authorization: localStorage.openc3Token,\n 'Content-Type': 'application/json-rpc',\n ...headerOptions,\n },\n timeout: timeout,\n }\n )\n // var data = response.data\n // if (data.error) {\n // var err = new Error()\n // err.name = data.error.data.class\n // err.message = data.error.data.message\n // console.log(data.error.data.backtrace.join('\\n'))\n // throw err\n // }\n return response.data.result\n } catch (error) {\n var err = new Error()\n if (error.response) {\n // The request was made and the server responded with a\n // status code that falls out of the range of 2xx\n err.name = error.response.data.error.data.class\n err.message = error.response.data.error.data.message\n } else if (error.request) {\n // The request was made but no response was received, `error.request`\n // is an instance of XMLHttpRequest in the browser and an instance\n // of http.ClientRequest in Node.js\n err.name = 'Request error'\n // NOTE: Openc3Screen.vue uses this specific message to determine\n // if the CmdTlmApi server is down. Don't change unless also changing there.\n err.message = 'Request error, no response received'\n } else {\n // Something happened in setting up the request and triggered an Error\n err.name = 'Unknown error'\n }\n throw err\n }\n }\n\n decode_openc3_type(val) {\n if (val !== null && typeof val === 'object') {\n if (val.json_class == 'Float' && val.raw) {\n if (val.raw == 'NaN') {\n return NaN\n } else if (val.raw == 'Infinity') {\n return Infinity\n } else if (val.raw == '-Infinity') {\n return -Infinity\n }\n }\n }\n return null\n }\n\n encode_openc3_type(val) {\n if (Number.isNaN(val)) {\n return { json_class: 'Float', raw: 'NaN' }\n } else if (val == Number.POSITIVE_INFINITY) {\n return { json_class: 'Float', raw: 'Infinity' }\n } else if (val == Number.NEGATIVE_INFINITY) {\n return { json_class: 'Float', raw: '-Infinity' }\n }\n return null\n }\n\n ensure_offline_access() {\n this.offline_access_needed().then((needed) => {\n if (needed) {\n if (localStorage.openc3OfflineToken) {\n this.set_offline_access(localStorage.openc3OfflineToken).then(() => {\n delete localStorage.openc3OfflineToken\n })\n } else {\n OpenC3Auth.getOfflineAccess()\n }\n }\n })\n }\n\n // ***********************************************\n // The following APIs are used by the CmdTlmServer\n // ***********************************************\n\n offline_access_needed() {\n return this.exec('offline_access_needed', [])\n }\n\n set_offline_access(offline_access_token) {\n return this.exec('set_offline_access', [offline_access_token])\n }\n\n get_all_interface_info() {\n return this.exec('get_all_interface_info', [])\n }\n\n map_target_to_interface(target_name, interface_name) {\n return this.exec('map_target_to_interface', [target_name, interface_name])\n }\n\n connect_interface(interface_name, ...interface_params) {\n if (interface_params.length > 0) {\n return this.exec('connect_interface', [\n interface_name,\n ...interface_params,\n ])\n } else {\n return this.exec('connect_interface', [interface_name])\n }\n }\n\n disconnect_interface(interface_name) {\n return this.exec('disconnect_interface', [interface_name])\n }\n\n interface_cmd(interface_name, command_name, ...command_params) {\n return this.exec('interface_cmd', [\n interface_name,\n command_name,\n ...command_params,\n ])\n }\n\n get_all_router_info() {\n return this.exec('get_all_router_info', [])\n }\n\n connect_router(router_name) {\n return this.exec('connect_router', [router_name])\n }\n\n disconnect_router(router_name) {\n return this.exec('disconnect_router', [router_name])\n }\n\n get_target_interfaces() {\n return this.exec('get_target_interfaces', [])\n }\n\n // DEPRECATED\n get_all_target_info() {\n return this.exec('get_all_target_info', [])\n }\n\n get_tlm_cnts(target_commands) {\n return this.exec('get_tlm_cnts', [target_commands])\n }\n\n get_item(target, packet, item) {\n return this.exec('get_item', [target, packet, item])\n }\n\n get_param(target, packet, item) {\n return this.exec('get_param', [target, packet, item])\n }\n // DEPRECATED for get_param\n get_parameter(target, packet, item) {\n return this.exec('get_parameter', [target, packet, item])\n }\n\n get_limits_sets() {\n return this.exec('get_limits_sets', [])\n }\n\n get_limits_set() {\n return this.exec('get_limits_set', [])\n }\n\n set_limits_set(limits_set) {\n return this.exec('set_limits_set', [limits_set])\n }\n\n // ***********************************************\n // End CmdTlmServer APIs\n // ***********************************************\n\n get_target(target_name) {\n return this.exec('get_target', [target_name])\n }\n\n get_target_names() {\n return this.exec('get_target_names', [])\n }\n // DEPRECATED\n get_target_list() {\n return this.exec('get_target_list', [])\n }\n\n get_tlm(target_name, packet_name) {\n return this.exec('get_tlm', [target_name, packet_name])\n }\n // DEPRECATED\n get_telemetry(target_name, packet_name) {\n return this.exec('get_telemetry', [target_name, packet_name])\n }\n\n get_all_tlm(target_name) {\n return this.exec('get_all_tlm', [target_name])\n }\n // DEPREACTE\n get_all_telemetry(target_name) {\n return this.exec('get_all_telemetry', [target_name])\n }\n\n get_all_tlm_names(target_name) {\n return this.exec('get_all_tlm_names', [target_name])\n }\n // DEPRECATED\n get_all_telemetry_names(target_name) {\n return this.exec('get_all_telemetry_names', [target_name])\n }\n\n async get_tlm_packet(target_name, packet_name, value_type, stale_time = 30) {\n const data = await this.exec('get_tlm_packet', [target_name, packet_name], {\n type: value_type,\n stale_time: stale_time,\n })\n // Make sure data isn't null or undefined. Note this is the only valid use of == or !=\n if (data != null) {\n var len = data.length\n var converted = null\n for (var i = 0; i < len; i++) {\n converted = this.decode_openc3_type(data[i][1])\n if (converted !== null) {\n data[i][1] = converted\n }\n }\n }\n return data\n }\n\n get_packet_derived_items(target_name, packet_name) {\n return this.exec('get_packet_derived_items', [target_name, packet_name])\n }\n\n get_tlm_buffer(target_name, packet_name) {\n return this.exec('get_tlm_buffer', [target_name, packet_name])\n }\n\n async get_tlm_values(items, stale_time = 30, cache_timeout = null) {\n let kw_args = {\n stale_time: stale_time,\n }\n if (cache_timeout !== null) {\n kw_args['cache_timeout'] = cache_timeout\n }\n const data = await this.exec(\n 'get_tlm_values',\n [items],\n kw_args,\n {},\n 10000 // 10s timeout ... should never be this long\n )\n var len = data[0].length\n var converted = null\n for (var i = 0; i < len; i++) {\n converted = this.decode_openc3_type(data[0][i])\n if (converted !== null) {\n data[0][i] = converted\n }\n }\n return data\n }\n\n get_limits(target_name, packet_name, item_name) {\n return this.exec('get_limits', [target_name, packet_name, item_name])\n }\n\n async tlm(target_name, packet_name, item_name, value_type = 'CONVERTED') {\n let data = null\n // Check for the single string syntax: tlm(\"TGT PKT ITEM\")\n if (packet_name === undefined) {\n data = await this.exec('tlm', [target_name])\n // Check for the single string syntax with type: tlm(\"TGT PKT ITEM\", \"RAW\")\n } else if (item_name === undefined) {\n if (\n ['RAW', 'CONVERTED', 'FORMATTED', 'WITH_UNITS'].includes(packet_name)\n ) {\n data = await this.exec('tlm', [target_name], { type: packet_name })\n } else {\n var err = new Error()\n err.name = 'TypeError'\n err.message = `Invalid data type ${packet_name}. Valid options are RAW, CONVERTED, FORMATTED, and WITH_UNITS.`\n throw err\n }\n } else {\n data = await this.exec('tlm', [target_name, packet_name, item_name], {\n type: value_type,\n })\n }\n var converted = this.decode_openc3_type(data)\n if (converted !== null) {\n data = converted\n }\n return data\n }\n\n async inject_tlm(\n target_name,\n packet_name,\n item_hash = null,\n value_type = 'CONVERTED'\n ) {\n data = await this.exec(\n 'inject_tlm',\n [target_name, packet_name, item_hash],\n {\n type: value_type,\n }\n )\n }\n\n set_tlm(target_name, packet_name, item_name, value_type) {\n return this.exec('set_tlm', [target_name, packet_name, item_name], {\n type: value_type,\n })\n }\n\n override_tlm(target_name, packet_name, item_name, value_type) {\n return this.exec('override_tlm', [target_name, packet_name, item_name], {\n type: value_type,\n })\n }\n\n get_overrides() {\n return this.exec('get_overrides')\n }\n\n normalize_tlm(target_name, packet_name, item_name, value_type) {\n return this.exec('normalize_tlm', [target_name, packet_name, item_name], {\n type: value_type,\n })\n }\n\n get_all_cmds(target_name) {\n return this.exec('get_all_cmds', [target_name])\n }\n // DEPRECATED for get_all_cmds\n get_all_commands(target_name) {\n return this.exec('get_all_commands', [target_name])\n }\n\n get_all_cmd_names(target_name) {\n return this.exec('get_all_cmd_names', [target_name])\n }\n // DEPRECATED for get_all_cmd_names\n get_all_command_names(target_name) {\n return this.exec('get_all_command_names', [target_name])\n }\n\n get_cmd(target_name, command_name) {\n return this.exec('get_cmd', [target_name, command_name])\n }\n // DEPRECATED for get_cmd\n get_command(target_name, command_name) {\n return this.exec('get_command', [target_name, command_name])\n }\n\n get_cmd_cnts(target_commands) {\n return this.exec('get_cmd_cnts', [target_commands])\n }\n\n get_cmd_value(\n target_name,\n packet_name,\n parameter_name,\n value_type = 'CONVERTED'\n ) {\n return this.exec('get_cmd_value', [\n target_name,\n packet_name,\n parameter_name,\n value_type,\n ])\n }\n\n get_cmd_buffer(target_name, packet_name) {\n return this.exec('get_cmd_buffer', [target_name, packet_name])\n }\n\n // Implementation of functionality shared by cmd methods with param_lists.\n _cmd(method, target_name, command_name, param_list, headerOptions) {\n var converted = null\n for (var key in param_list) {\n if (Object.prototype.hasOwnProperty.call(param_list, key)) {\n converted = this.encode_openc3_type(param_list[key])\n if (converted !== null) {\n param_list[key] = converted\n }\n }\n }\n return this.exec(\n method,\n [target_name, command_name, param_list],\n {},\n headerOptions\n )\n }\n\n get_cmd_hazardous(target_name, command_name, param_list) {\n if (command_name === undefined) {\n return this.exec('get_cmd_hazardous', target_name)\n } else {\n return this._cmd(\n 'get_cmd_hazardous',\n target_name,\n command_name,\n param_list\n )\n }\n }\n\n cmd(target_name, command_name, param_list, headerOptions = {}) {\n if (command_name === undefined) {\n return this.exec('cmd', target_name, {}, headerOptions)\n } else {\n return this._cmd(\n 'cmd',\n target_name,\n command_name,\n param_list,\n headerOptions\n )\n }\n }\n\n cmd_no_range_check(target_name, command_name, param_list) {\n if (command_name === undefined) {\n return this.exec('cmd_no_range_check', target_name)\n } else {\n return this._cmd(\n 'cmd_no_range_check',\n target_name,\n command_name,\n param_list\n )\n }\n }\n\n cmd_raw(target_name, command_name, param_list) {\n if (command_name === undefined) {\n return this.exec('cmd_raw', target_name)\n } else {\n return this._cmd('cmd_raw', target_name, command_name, param_list)\n }\n }\n\n cmd_raw_no_range_check(target_name, command_name, param_list) {\n if (command_name === undefined) {\n return this.exec('cmd_raw_no_range_check', target_name)\n } else {\n return this._cmd(\n 'cmd_raw_no_range_check',\n target_name,\n command_name,\n param_list\n )\n }\n }\n\n cmd_no_hazardous_check(target_name, command_name, param_list) {\n if (command_name === undefined) {\n return this.exec('cmd_no_hazardous_check', target_name)\n } else {\n return this._cmd(\n 'cmd_no_hazardous_check',\n target_name,\n command_name,\n param_list\n )\n }\n }\n\n cmd_no_checks(target_name, command_name, param_list) {\n if (command_name === undefined) {\n return this.exec('cmd_no_checks', target_name)\n } else {\n return this._cmd('cmd_no_checks', target_name, command_name, param_list)\n }\n }\n\n cmd_raw_no_hazardous_check(target_name, command_name, param_list) {\n if (command_name === undefined) {\n return this.exec('cmd_raw_no_hazardous_check', target_name)\n } else {\n return this._cmd(\n 'cmd_raw_no_hazardous_check',\n target_name,\n command_name,\n param_list\n )\n }\n }\n\n cmd_raw_no_checks(target_name, command_name, param_list) {\n if (command_name === undefined) {\n return this.exec('cmd_raw_no_checks', target_name)\n } else {\n return this._cmd(\n 'cmd_raw_no_checks',\n target_name,\n command_name,\n param_list\n )\n }\n }\n\n build_cmd(target_name, command_name, param_list) {\n if (command_name === undefined) {\n return this.exec('build_cmd', target_name)\n } else {\n return this._cmd('build_cmd', target_name, command_name, param_list)\n }\n }\n // DEPRECATED for build_cmd\n build_command(target_name, command_name, param_list) {\n if (command_name === undefined) {\n return this.exec('build_command', target_name)\n } else {\n return this._cmd('build_command', target_name, command_name, param_list)\n }\n }\n\n get_interface_names() {\n return this.exec('get_interface_names', [])\n }\n\n send_raw(interface_name, data) {\n return this.exec('send_raw', [interface_name, data])\n }\n\n list_configs(tool) {\n return this.exec('list_configs', [tool])\n }\n\n load_config(tool, name) {\n return this.exec('load_config', [tool, name])\n }\n\n save_config(tool, name, data) {\n return this.exec('save_config', [tool, name, data])\n }\n\n delete_config(tool, name) {\n return this.exec('delete_config', [tool, name])\n }\n\n enable_limits(target, packet, item) {\n return this.exec('enable_limits', [target, packet, item])\n }\n\n disable_limits(target, packet, item) {\n return this.exec('disable_limits', [target, packet, item])\n }\n\n get_out_of_limits() {\n return this.exec('get_out_of_limits', [])\n }\n\n get_overall_limits_state(ignored) {\n return this.exec('get_overall_limits_state', [ignored])\n }\n\n list_settings() {\n return this.exec('list_settings', [])\n }\n\n get_all_settings() {\n return this.exec('get_all_settings', [])\n }\n\n get_setting(name) {\n return this.exec('get_setting', [name])\n }\n\n get_settings(array) {\n return this.exec('get_settings', array)\n }\n\n set_setting(name, data) {\n return this.exec('set_setting', [name, data])\n }\n\n // DEPRECATED\n save_setting(name, data) {\n return this.exec('save_setting', [name, data])\n }\n\n get_metrics() {\n return this.exec('get_metrics', [])\n }\n\n // TODO: Currently unused but seemed like a useful function\n async hashString(string) {\n if (window.isSecureContext) {\n // Encode the string as an arrayBuffer which the subtle crypto API uses\n const arrayBuffer = new TextEncoder().encode(string)\n // Use the subtle crypto API to perform a SHA256 Sum of the array buffer\n // The resulting hash is stored in an array buffer\n const hashAsArrayBuffer = await crypto.subtle.digest(\n 'SHA-256',\n arrayBuffer\n )\n // To create a string we will get the hexadecimal value of each byte of the array buffer\n // This gets us an array where each byte of the array buffer becomes one item in the array\n const uint8ViewOfHash = new Uint8Array(hashAsArrayBuffer)\n // We then convert it to a regular array so we can convert each item to hexadecimal strings\n // Where to characters of 0-9 or a-f represent a number between 0 and 16, containing 4 bits of information, so 2 of them is 8 bits (1 byte).\n return Array.from(uint8ViewOfHash)\n .map((b) => b.toString(16).padStart(2, '0'))\n .join('')\n }\n // else ?\n }\n}\n","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('mounting-portal',{attrs:{\"mount-to\":\"#openc3-menu\",\"append\":\"\"}},[_c('v-row',{attrs:{\"no-gutters\":\"\"}},[_c('v-col',{attrs:{\"align-self\":\"end\"}},[_c('span',{staticClass:\"app-title mr-2\"},[_vm._v(_vm._s(_vm.title))])])],1),_vm._v(\" \"),_c('v-row',{staticClass:\"flex-nowrap\",attrs:{\"dense\":\"\"}},_vm._l((_vm.menus),function(menu,i){return _c('v-menu',{key:i,ref:\"topmenu\",refInFor:true,attrs:{\"offset-y\":\"\"},scopedSlots:_vm._u([{key:\"activator\",fn:function({ on, attrs }){return [_c('v-btn',_vm._g(_vm._b({staticClass:\"mx-1 menu-button\",attrs:{\"outlined\":\"\",\"data-test\":_vm.formatDT(`${_vm.title} ${menu.label}`)}},'v-btn',attrs,false),on),[_c('span',{domProps:{\"textContent\":_vm._s(menu.label)}}),_vm._v(\" \"),_c('v-icon',{staticClass:\"myicon\",attrs:{\"right\":\"\"}},[_vm._v(\" mdi-menu-down \")])],1)]}}],null,true)},[_vm._v(\" \"),_c('v-list',[_c('v-radio-group',{staticClass:\"ma-0 pa-0\",attrs:{\"value\":menu.radioGroup,\"hide-details\":\"\",\"dense\":\"\"}},[_vm._l((menu.items),function(option,j){return [(option.divider)?_c('v-divider',{key:j}):(option.subMenu && option.subMenu.length > 0)?_c('div',{key:j},[_c('v-menu',{key:_vm.k,attrs:{\"open-on-hover\":\"\",\"offset-x\":\"\",\"bottom\":\"\"},scopedSlots:_vm._u([{key:\"activator\",fn:function({ on, attrs }){return [_c('v-list-item',_vm._g(_vm._b({key:j,attrs:{\"disabled\":option.disabled}},'v-list-item',attrs,false),on),[(option.icon)?_c('v-list-item-icon',[_c('v-icon',{attrs:{\"disabled\":option.disabled}},[_vm._v(_vm._s(option.icon))])],1):_vm._e(),_vm._v(\" \"),(!option.radio && !option.checkbox)?_c('v-list-item-title',{style:('cursor: pointer;' +\n (option.disabled ? 'opacity: 0.2' : ''))},[_vm._v(_vm._s(option.label)+\"\\n \")]):_vm._e(),_vm._v(\" \"),_c('v-icon',[_vm._v(\" mdi-chevron-right \")])],1)]}}],null,true)},[_vm._v(\" \"),_c('v-list',_vm._l((option.subMenu),function(submenu,k){return _c('v-list-item',{key:k,on:{\"click\":function($event){return _vm.subMenuClick(submenu)}}},[(submenu.icon)?_c('v-list-item-icon',[_c('v-icon',[_vm._v(_vm._s(submenu.icon))])],1):_vm._e(),_vm._v(\" \"),_c('v-list-item-title',[_vm._v(_vm._s(submenu.label))])],1)}),1)],1)],1):_c('v-list-item',{key:j,attrs:{\"disabled\":option.disabled,\"data-test\":_vm.formatDT(`${_vm.title} ${menu.label} ${option.label}`)},on:{\"click\":function($event){return option.command(option)}}},[(option.radio)?_c('v-list-item-action',[_c('v-radio',{attrs:{\"color\":\"secondary\",\"label\":option.label,\"value\":option.label}})],1):_vm._e(),_vm._v(\" \"),(option.checkbox)?_c('v-list-item-action',[_c('v-checkbox',{attrs:{\"color\":\"secondary\",\"label\":option.label},model:{value:(option.checked),callback:function ($$v) {_vm.$set(option, \"checked\", $$v)},expression:\"option.checked\"}})],1):_vm._e(),_vm._v(\" \"),(option.icon)?_c('v-list-item-icon',[_c('v-icon',{attrs:{\"disabled\":option.disabled}},[_vm._v(_vm._s(option.icon))])],1):_vm._e(),_vm._v(\" \"),(!option.radio && !option.checkbox)?_c('v-list-item-title',{style:('cursor: pointer;' + (option.disabled ? 'opacity: 0.2' : ''))},[_vm._v(_vm._s(option.label))]):_vm._e()],1)]})],2)],1)],1)}),1)],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import mod from \"-!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/@vue/cli-plugin-babel/node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./TopBar.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/@vue/cli-plugin-babel/node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./TopBar.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./TopBar.vue?vue&type=template&id=57d4fdd2&scoped=true\"\nimport script from \"./TopBar.vue?vue&type=script&lang=js\"\nexport * from \"./TopBar.vue?vue&type=script&lang=js\"\nimport style0 from \"./TopBar.vue?vue&type=style&index=0&id=57d4fdd2&prod&scoped=true&lang=css\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"57d4fdd2\",\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('v-card',[_c('v-container',{attrs:{\"id\":_vm.target}},[_c('div',{staticClass:\"text-h3 text-center\"},[_vm._v(_vm._s(_vm.target))]),_vm._v(\" \"),_c('v-row',[_c('v-col',{staticClass:\"ml-3 text-h4\"},[_vm._v(\"Commands\")])],1),_vm._v(\" \"),_vm._l((_vm.commands),function(packet){return _c('v-row',{key:packet.packetName,staticClass:\"mb-4\",attrs:{\"dense\":\"\"}},[_c('v-col',{attrs:{\"cols\":12}},[_c('packet',{attrs:{\"packet\":packet,\"columns\":_vm.columns,\"hideIgnored\":_vm.hideIgnored,\"hideDerived\":_vm.hideDerived,\"ignored\":_vm.ignoredParams}})],1)],1)}),_vm._v(\" \"),_c('v-row',[_c('v-col',{staticClass:\"ml-3 text-h4\"},[_vm._v(\"Telemetry\")])],1),_vm._v(\" \"),_vm._l((_vm.telemetry),function(packet){return _c('v-row',{key:packet.packetName,staticClass:\"mb-4\",attrs:{\"dense\":\"\"}},[_c('v-col',{attrs:{\"cols\":12}},[_c('packet',{attrs:{\"packet\":packet,\"columns\":_vm.columns,\"hideIgnored\":_vm.hideIgnored,\"hideDerived\":_vm.hideDerived,\"ignored\":_vm.ignoredItems}})],1)],1)})],2)],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('v-card',[_c('v-card-title',{staticClass:\"text-h4 justify-center\"},[_vm._v(_vm._s(_vm.packet.target_name)+\" \"+_vm._s(_vm.packet.packet_name))]),_vm._v(\" \"),_c('v-card-subtitle',[_vm._v(_vm._s(_vm.packet.description)+\"\\n \"),_c('div',{staticClass:\"float-right\"},[_vm._v(_vm._s(_vm.packet.endianness))])]),_vm._v(\" \"),_c('v-card-text',[_c('v-container',{attrs:{\"fluid\":\"\"}},[_c('v-row',{attrs:{\"dense\":\"\"}},_vm._l((_vm.items),function(item){return _c('v-col',{key:item.name,attrs:{\"cols\":_vm.columns}},[_c('item',{attrs:{\"item\":item}})],1)}),1)],1)],1)],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('v-card',{staticClass:\"mx-auto\",attrs:{\"outlined\":\"\"}},[_c('v-card-title',{staticClass:\"justify-center\"},[_vm._v(\"\\n \"+_vm._s(_vm.item.name)+\"\\n \")]),_vm._v(\" \"),_c('v-card-subtitle',[_vm._v(_vm._s(_vm.item.description))]),_vm._v(\" \"),_c('v-card-text',{staticClass:\"text--primary\"},[_c('div',[_vm._v(\"Bit Offset: \"+_vm._s(_vm.item.bit_offset))]),_vm._v(\" \"),_c('div',[_vm._v(\"Bit Size: \"+_vm._s(_vm.item.bit_size))]),_vm._v(\" \"),_c('div',[_vm._v(\"Data Type: \"+_vm._s(_vm.item.data_type))]),_vm._v(\" \"),_c('div',[_vm._v(\"Endianness: \"+_vm._s(_vm.item.endianness))]),_vm._v(\" \"),_c('div',[_vm._v(\"Overflow: \"+_vm._s(_vm.item.overflow))]),_vm._v(\" \"),(Object.hasOwn(_vm.item, 'minimum'))?_c('div',[_vm._v(\"\\n Minimum: \"+_vm._s(_vm.item.minimum)+\"\\n \")]):_vm._e(),_vm._v(\" \"),(Object.hasOwn(_vm.item, 'maximum'))?_c('div',[_vm._v(\"\\n Maximum: \"+_vm._s(_vm.item.maximum)+\"\\n \")]):_vm._e(),_vm._v(\" \"),(Object.hasOwn(_vm.item, 'default'))?_c('div',[_vm._v(\"\\n Default: \"+_vm._s(_vm.item.default)+\"\\n \")]):_vm._e(),_vm._v(\" \"),(_vm.item.id_value)?_c('div',[_c('strong',[_vm._v(\"ID Value: 0x\"+_vm._s(_vm.item.id_value.toString(16).toUpperCase()))])]):_vm._e(),_vm._v(\" \"),(_vm.readConversion)?_c('div',[_vm._v(\"Read Conversion: \"+_vm._s(_vm.readConversion))]):_vm._e(),_vm._v(\" \"),(_vm.writeConversion)?_c('div',[_vm._v(\"Write Conversion: \"+_vm._s(_vm.writeConversion))]):_vm._e()])],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<!--\n# Copyright 2022 Ball Aerospace & Technologies Corp.\n# All Rights Reserved.\n#\n# This program is free software; you can modify and/or redistribute it\n# under the terms of the GNU Affero General Public License\n# as published by the Free Software Foundation; version 3 with\n# attribution addendums as found in the LICENSE.txt\n#\n# This program is distributed in the hope that it will be useful,\n# but WITHOUT ANY WARRANTY; without even the implied warranty of\n# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n# GNU Affero General Public License for more details.\n\n# Modified by OpenC3, Inc.\n# All changes Copyright 2022, OpenC3, Inc.\n# All Rights Reserved\n#\n# This file may also be used under the terms of a commercial license\n# if purchased from OpenC3, Inc.\n-->\n\n<template>\n <v-card class=\"mx-auto\" outlined>\n <v-card-title class=\"justify-center\">\n {{ item.name }}\n </v-card-title>\n <v-card-subtitle>{{ item.description }}</v-card-subtitle>\n <v-card-text class=\"text--primary\">\n <div>Bit Offset: {{ item.bit_offset }}</div>\n <div>Bit Size: {{ item.bit_size }}</div>\n <div>Data Type: {{ item.data_type }}</div>\n <div>Endianness: {{ item.endianness }}</div>\n <div>Overflow: {{ item.overflow }}</div>\n <div v-if=\"Object.hasOwn(item, 'minimum')\">\n Minimum: {{ item.minimum }}\n </div>\n <div v-if=\"Object.hasOwn(item, 'maximum')\">\n Maximum: {{ item.maximum }}\n </div>\n <div v-if=\"Object.hasOwn(item, 'default')\">\n Default: {{ item.default }}\n </div>\n <div v-if=\"item.id_value\">\n <strong\n >ID Value: 0x{{ item.id_value.toString(16).toUpperCase() }}</strong\n >\n </div>\n <div v-if=\"readConversion\">Read Conversion: {{ readConversion }}</div>\n <div v-if=\"writeConversion\">Write Conversion: {{ writeConversion }}</div>\n </v-card-text>\n </v-card>\n</template>\n\n<script>\nexport default {\n props: {\n item: {\n type: Object,\n required: true,\n },\n hideIgnored: {\n type: Boolean,\n required: true,\n },\n hideDerived: {\n type: Boolean,\n required: true,\n },\n },\n computed: {\n readConversion() {\n if (Object.hasOwn(this.item, 'read_conversion')) {\n let result = `${this.item.read_conversion.class}`\n if (this.item.read_conversion.params) {\n result += ` with ${this.item.read_conversion.params.join(', ')}`\n }\n return result\n } else {\n return false\n }\n },\n writeConversion() {\n if (Object.hasOwn(this.item, 'write_conversion')) {\n let result = `${this.item.write_conversion.class}`\n if (this.item.write_conversion.params) {\n result += ` with ${this.item.write_conversion.params.join(', ')}`\n }\n return result\n } else {\n return false\n }\n },\n },\n}\n</script>\n","import mod from \"-!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/@vue/cli-plugin-babel/node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./Item.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/@vue/cli-plugin-babel/node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./Item.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./Item.vue?vue&type=template&id=22d2b16a\"\nimport script from \"./Item.vue?vue&type=script&lang=js\"\nexport * from \"./Item.vue?vue&type=script&lang=js\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","<!--\n# Copyright 2022 Ball Aerospace & Technologies Corp.\n# All Rights Reserved.\n#\n# This program is free software; you can modify and/or redistribute it\n# under the terms of the GNU Affero General Public License\n# as published by the Free Software Foundation; version 3 with\n# attribution addendums as found in the LICENSE.txt\n#\n# This program is distributed in the hope that it will be useful,\n# but WITHOUT ANY WARRANTY; without even the implied warranty of\n# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n# GNU Affero General Public License for more details.\n\n# Modified by OpenC3, Inc.\n# All changes Copyright 2022, OpenC3, Inc.\n# All Rights Reserved\n#\n# This file may also be used under the terms of a commercial license \n# if purchased from OpenC3, Inc.\n-->\n\n<template>\n <v-card>\n <v-card-title class=\"text-h4 justify-center\"\n >{{ packet.target_name }} {{ packet.packet_name }}</v-card-title\n >\n <v-card-subtitle\n >{{ packet.description }}\n <div class=\"float-right\">{{ packet.endianness }}</div>\n </v-card-subtitle>\n <v-card-text>\n <v-container fluid>\n <v-row dense>\n <v-col v-for=\"item in items\" :key=\"item.name\" :cols=\"columns\">\n <item :item=\"item\"></item>\n </v-col>\n </v-row>\n </v-container>\n </v-card-text>\n </v-card>\n</template>\n\n<script>\nimport Item from './Item'\n\nexport default {\n components: {\n Item,\n },\n props: {\n packet: {\n type: Object,\n required: true,\n },\n columns: {\n type: Number,\n required: true,\n },\n hideIgnored: {\n type: Boolean,\n required: true,\n },\n hideDerived: {\n type: Boolean,\n required: true,\n },\n ignored: {\n type: Object,\n },\n },\n computed: {\n items() {\n let items = this.packet.items\n if (this.hideIgnored) {\n items = items.filter((item) => !this.ignored.includes(item.name))\n }\n if (this.hideDerived) {\n items = items.filter((item) => item.data_type !== 'DERIVED')\n }\n return items\n },\n },\n}\n</script>\n","import mod from \"-!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/@vue/cli-plugin-babel/node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./Packet.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/@vue/cli-plugin-babel/node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./Packet.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./Packet.vue?vue&type=template&id=69a31f4f\"\nimport script from \"./Packet.vue?vue&type=script&lang=js\"\nexport * from \"./Packet.vue?vue&type=script&lang=js\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","<!--\n# Copyright 2022 Ball Aerospace & Technologies Corp.\n# All Rights Reserved.\n#\n# This program is free software; you can modify and/or redistribute it\n# under the terms of the GNU Affero General Public License\n# as published by the Free Software Foundation; version 3 with\n# attribution addendums as found in the LICENSE.txt\n#\n# This program is distributed in the hope that it will be useful,\n# but WITHOUT ANY WARRANTY; without even the implied warranty of\n# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n# GNU Affero General Public License for more details.\n\n# Modified by OpenC3, Inc.\n# All changes Copyright 2022, OpenC3, Inc.\n# All Rights Reserved\n#\n# This file may also be used under the terms of a commercial license\n# if purchased from OpenC3, Inc.\n-->\n\n<template>\n <v-card>\n <v-container :id=\"target\">\n <div class=\"text-h3 text-center\">{{ target }}</div>\n <v-row>\n <v-col class=\"ml-3 text-h4\">Commands</v-col>\n </v-row>\n <v-row\n v-for=\"packet in commands\"\n :key=\"packet.packetName\"\n dense\n class=\"mb-4\"\n >\n <v-col :cols=\"12\">\n <packet\n :packet=\"packet\"\n :columns=\"columns\"\n :hideIgnored=\"hideIgnored\"\n :hideDerived=\"hideDerived\"\n :ignored=\"ignoredParams\"\n ></packet>\n </v-col>\n </v-row>\n <v-row>\n <v-col class=\"ml-3 text-h4\">Telemetry</v-col>\n </v-row>\n <v-row\n v-for=\"packet in telemetry\"\n :key=\"packet.packetName\"\n dense\n class=\"mb-4\"\n >\n <v-col :cols=\"12\">\n <packet\n :packet=\"packet\"\n :columns=\"columns\"\n :hideIgnored=\"hideIgnored\"\n :hideDerived=\"hideDerived\"\n :ignored=\"ignoredItems\"\n ></packet>\n </v-col>\n </v-row>\n </v-container>\n </v-card>\n</template>\n\n<script>\nimport { OpenC3Api } from '@openc3/tool-common/src/services/openc3-api'\nimport Packet from './Packet'\n\nexport default {\n components: {\n Packet,\n },\n props: {\n target: {\n type: String,\n required: true,\n },\n columns: {\n type: Number,\n required: true,\n },\n hideIgnored: {\n type: Boolean,\n required: true,\n },\n hideDerived: {\n type: Boolean,\n required: true,\n },\n },\n data() {\n return {\n api: null,\n commands: [],\n telemetry: [],\n ignoredParams: [],\n ignoredItems: [],\n }\n },\n\n created() {\n this.api = new OpenC3Api()\n this.api.get_target(this.target).then((target) => {\n this.ignoredParams = target.ignored_parameters\n this.ignoredItems = target.ignored_items\n })\n // TODO: Test with large DB as this returns ALL commands\n this.api.get_all_cmds(this.target).then((packets) => {\n this.commands = packets\n })\n this.api.get_all_tlm(this.target).then((packets) => {\n this.telemetry = packets\n })\n },\n}\n</script>\n","import mod from \"-!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/@vue/cli-plugin-babel/node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./Target.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/@vue/cli-plugin-babel/node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./Target.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./Target.vue?vue&type=template&id=045280e6\"\nimport script from \"./Target.vue?vue&type=script&lang=js\"\nexport * from \"./Target.vue?vue&type=script&lang=js\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","<!--\n# Copyright 2022 Ball Aerospace & Technologies Corp.\n# All Rights Reserved.\n#\n# This program is free software; you can modify and/or redistribute it\n# under the terms of the GNU Affero General Public License\n# as published by the Free Software Foundation; version 3 with\n# attribution addendums as found in the LICENSE.txt\n#\n# This program is distributed in the hope that it will be useful,\n# but WITHOUT ANY WARRANTY; without even the implied warranty of\n# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n# GNU Affero General Public License for more details.\n\n# Modified by OpenC3, Inc.\n# All changes Copyright 2023, OpenC3, Inc.\n# All Rights Reserved\n#\n# This file may also be used under the terms of a commercial license\n# if purchased from OpenC3, Inc.\n-->\n\n<template>\n <div>\n <top-bar :menus=\"menus\" :title=\"title\" />\n <v-card>\n <v-container class=\"d-print-none\">\n <v-row dense>\n <v-col>\n <v-select\n class=\"ma-0 pa-0\"\n label=\"Select Target(s)\"\n dense\n hide-details\n outlined\n :items=\"targetNames\"\n v-model=\"selectedTargetNames\"\n @change=\"targetSelect\"\n multiple\n >\n <template v-slot:prepend-item>\n <v-list-item ripple @mousedown.prevent @click=\"toggleTargets\">\n <v-list-item-action>\n <v-icon>\n {{ icon }}\n </v-icon>\n </v-list-item-action>\n <v-list-item-content>\n <v-list-item-title> Select All </v-list-item-title>\n </v-list-item-content>\n </v-list-item>\n <v-divider class=\"mt-2\"></v-divider>\n </template>\n </v-select>\n </v-col>\n <v-col>\n <v-btn\n class=\"primary\"\n @click=\"renderedTargetNames = selectedTargetNames\"\n >\n Display\n </v-btn>\n </v-col>\n <v-col>\n <v-select\n label=\"Item Columns\"\n dense\n hide-details\n outlined\n v-model=\"columns\"\n :items=\"columnItems\"\n ></v-select>\n </v-col>\n </v-row>\n </v-container>\n </v-card>\n <div style=\"height: 15px\" />\n <div v-for=\"target in renderedTargetNames\" :key=\"target\">\n <target\n :target=\"target\"\n :columns=\"columns\"\n :hideIgnored=\"hideIgnored\"\n :hideDerived=\"hideDerived\"\n ></target>\n </div>\n </div>\n</template>\n\n<script>\nimport { OpenC3Api } from '@openc3/tool-common/src/services/openc3-api'\nimport TopBar from '@openc3/tool-common/src/components/TopBar'\nimport Target from './Target'\n\nexport default {\n components: {\n TopBar,\n Target,\n },\n data() {\n return {\n title: 'Handbooks',\n targetNames: [],\n selectedTargetNames: [],\n renderedTargetNames: [],\n api: null,\n columns: 3,\n columnItems: [\n { text: '1', value: 12 },\n { text: '2', value: 6 },\n { text: '3', value: 4 },\n { text: '4', value: 3 },\n { text: '6', value: 2 },\n { text: '12', value: 1 },\n ],\n hideIgnored: false,\n hideDerived: false,\n menus: [\n {\n label: 'View',\n items: [\n {\n label: 'Hide Ignored Items',\n checkbox: true,\n command: () => {\n this.hideIgnored = !this.hideIgnored\n },\n },\n {\n label: 'Hide Derived Items',\n checkbox: true,\n command: () => {\n this.hideDerived = !this.hideDerived\n },\n },\n ],\n },\n ],\n }\n },\n computed: {\n allTargetsSelected() {\n return this.targetNames.length === this.selectedTargetNames.length\n },\n someTargetsSelected() {\n return this.selectedTargetNames.length > 0 && !this.allTargetsSelected\n },\n icon() {\n if (this.allTargetsSelected) return 'mdi-close-box'\n if (this.someTargetsSelected) return 'mdi-minus-box'\n return 'mdi-checkbox-blank-outline'\n },\n },\n created() {\n this.api = new OpenC3Api()\n this.api\n .get_target_names({ params: { scope: window.openc3Scope } })\n .then((targets) => {\n this.targetNames = targets\n })\n },\n methods: {\n toggleTargets() {\n this.$nextTick(() => {\n if (this.allTargetsSelected) {\n this.selectedTargetNames = []\n } else {\n this.selectedTargetNames = this.targetNames.slice()\n }\n })\n },\n },\n}\n</script>\n","import mod from \"-!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/@vue/cli-plugin-babel/node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./Handbooks.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/@vue/cli-plugin-babel/node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./Handbooks.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./Handbooks.vue?vue&type=template&id=e58fd9cc\"\nimport script from \"./Handbooks.vue?vue&type=script&lang=js\"\nexport * from \"./Handbooks.vue?vue&type=script&lang=js\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/noSourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `.app-title[data-v-57d4fdd2]{font-size:2rem}.menu-button[data-v-57d4fdd2]{border-color:var(--color-border-interactive-muted)!important;background-color:var(--color-background-base-default)!important;padding-right:3px!important}span.v-btn__content span[data-v-57d4fdd2]{padding-right:5px}.myicon[data-v-57d4fdd2]{background-color:var(--color-background-surface-selected);border:1px solid currentColor;border-radius:3px;height:36px!important;width:36px!important}.v-list[data-v-57d4fdd2] .v-label{margin-left:5px}.v-list-item__icon[data-v-57d4fdd2]{margin-right:15px!important}.v-list-item__title[data-v-57d4fdd2]{color:#fff}`, \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// style-loader: Adds some css to the DOM by adding a <style> tag\n\n// load the styles\nvar content = require(\"!!../../../../node_modules/css-loader/dist/cjs.js??clonedRuleSet-12.use[1]!../../../../node_modules/@vue/vue-loader-v15/lib/loaders/stylePostLoader.js!../../../../node_modules/postcss-loader/dist/cjs.js??clonedRuleSet-12.use[2]!../../../../node_modules/postcss-loader/dist/cjs.js??clonedRuleSet-12.use[3]!../../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./TopBar.vue?vue&type=style&index=0&id=57d4fdd2&prod&scoped=true&lang=css\");\nif(content.__esModule) content = content.default;\nif(typeof content === 'string') content = [[module.id, content, '']];\nif(content.locals) module.exports = content.locals;\n// add the styles to the DOM\nvar add = require(\"!../../../../node_modules/vue-style-loader/lib/addStylesClient.js\").default\nvar update = add(\"7de62207\", content, true, {\"sourceMap\":false,\"shadowMode\":false});"],"names":["cov_j54npvll7","actualCoverage","s","render","f","_vm","this","_c","_self","attrs","menus","title","_v","staticClass","targetNames","on","targetSelect","scopedSlots","_u","key","fn","$event","preventDefault","toggleTargets","_s","icon","proxy","model","value","selectedTargetNames","callback","$$v","expression","renderedTargetNames","columnItems","columns","staticStyle","_l","target","hideIgnored","hideDerived","staticRenderFns","vueInstance","Vue","axiosInstance","axios","create","baseURL","location","origin","timeout","params","interceptors","response","use","error","_error$response","_error$response2","_error$response3","_error$response4","_error$response5","status","OpenC3Auth","updateToken","defaultMinValidity","then","refreshed","setTokens","config","headers","includes","toString","Promise","reject","body","statusText","data","message","exception","class","_error$response6","$notify","serious","OpenC3Api","constructor","_defineProperty","exec","method","kwparams","headerOptions","login","id","window","openc3Scope","post","jsonrpc","keyword_params","Authorization","localStorage","openc3Token","result","err","Error","name","request","decode_openc3_type","val","json_class","raw","NaN","Infinity","encode_openc3_type","Number","isNaN","POSITIVE_INFINITY","NEGATIVE_INFINITY","ensure_offline_access","offline_access_needed","needed","openc3OfflineToken","set_offline_access","getOfflineAccess","offline_access_token","get_all_interface_info","map_target_to_interface","target_name","interface_name","connect_interface","interface_params","length","disconnect_interface","interface_cmd","command_name","command_params","get_all_router_info","connect_router","router_name","disconnect_router","get_target_interfaces","get_all_target_info","get_tlm_cnts","target_commands","get_item","packet","item","get_param","get_parameter","get_limits_sets","get_limits_set","set_limits_set","limits_set","get_target","get_target_names","get_target_list","get_tlm","packet_name","get_telemetry","get_all_tlm","get_all_telemetry","get_all_tlm_names","get_all_telemetry_names","get_tlm_packet","value_type","stale_time","type","len","converted","i","get_packet_derived_items","get_tlm_buffer","get_tlm_values","items","cache_timeout","kw_args","get_limits","item_name","tlm","undefined","inject_tlm","item_hash","set_tlm","override_tlm","get_overrides","normalize_tlm","get_all_cmds","get_all_commands","get_all_cmd_names","get_all_command_names","get_cmd","get_command","get_cmd_cnts","get_cmd_value","parameter_name","get_cmd_buffer","_cmd","param_list","Object","prototype","hasOwnProperty","call","get_cmd_hazardous","cmd","cmd_no_range_check","cmd_raw","cmd_raw_no_range_check","cmd_no_hazardous_check","cmd_no_checks","cmd_raw_no_hazardous_check","cmd_raw_no_checks","build_cmd","build_command","get_interface_names","send_raw","list_configs","tool","load_config","save_config","delete_config","enable_limits","disable_limits","get_out_of_limits","get_overall_limits_state","ignored","list_settings","get_all_settings","get_setting","get_settings","array","set_setting","save_setting","get_metrics","hashString","string","isSecureContext","arrayBuffer","TextEncoder","encode","hashAsArrayBuffer","crypto","subtle","digest","uint8ViewOfHash","Uint8Array","Array","from","map","b","padStart","join","menu","ref","refInFor","_g","_b","formatDT","label","domProps","radioGroup","option","j","divider","subMenu","k","disabled","_e","radio","checkbox","style","submenu","subMenuClick","command","checked","$set","props","default","String","methods","replaceAll","toLowerCase","$refs","topmenu","isActive","mounted","document","component","cov_iqqsvvixa","commands","packetName","ignoredParams","telemetry","ignoredItems","cov_1scjnunnk3","description","endianness","cov_ff9deo6d4","bit_offset","bit_size","data_type","overflow","hasOwn","minimum","maximum","id_value","toUpperCase","readConversion","writeConversion","required","Boolean","computed","read_conversion","write_conversion","components","Item","filter","Packet","api","created","ignored_parameters","ignored_items","packets","TopBar","Target","text","allTargetsSelected","someTargetsSelected","scope","targets","$nextTick","slice","___CSS_LOADER_EXPORT___","push","module","content","__esModule","locals","exports","add"],"sourceRoot":""}