From 8dae2e8e8b0c26c2eaf2a6bf59607c1a83fafbd3 Mon Sep 17 00:00:00 2001 From: dkastl Date: Thu, 3 Oct 2024 08:40:35 +0000 Subject: [PATCH] deploy: dd92db59aeac7b6c9916d4c6af61c8c6a8d8d6bc --- CNAME | 1 - .../{index-BFEbd7Zy.js => index-fk-fHULq.js} | 16 +- index.html | 197 +++++++++++++++--- 3 files changed, 180 insertions(+), 34 deletions(-) delete mode 100644 CNAME rename assets/{index-BFEbd7Zy.js => index-fk-fHULq.js} (54%) diff --git a/CNAME b/CNAME deleted file mode 100644 index 30d6af5..0000000 --- a/CNAME +++ /dev/null @@ -1 +0,0 @@ -meshtastic.lobsta.works \ No newline at end of file diff --git a/assets/index-BFEbd7Zy.js b/assets/index-fk-fHULq.js similarity index 54% rename from assets/index-BFEbd7Zy.js rename to assets/index-fk-fHULq.js index 1cd0400..9859296 100644 --- a/assets/index-BFEbd7Zy.js +++ b/assets/index-fk-fHULq.js @@ -1,16 +1,16 @@ -var No=Object.defineProperty;var Mo=(e,n,t)=>n in e?No(e,n,{enumerable:!0,configurable:!0,writable:!0,value:t}):e[n]=t;var p=(e,n,t)=>Mo(e,typeof n!="symbol"?n+"":n,t);(function(){const n=document.createElement("link").relList;if(n&&n.supports&&n.supports("modulepreload"))return;for(const a of document.querySelectorAll('link[rel="modulepreload"]'))o(a);new MutationObserver(a=>{for(const r of a)if(r.type==="childList")for(const i of r.addedNodes)i.tagName==="LINK"&&i.rel==="modulepreload"&&o(i)}).observe(document,{childList:!0,subtree:!0});function t(a){const r={};return a.integrity&&(r.integrity=a.integrity),a.referrerPolicy&&(r.referrerPolicy=a.referrerPolicy),a.crossOrigin==="use-credentials"?r.credentials="include":a.crossOrigin==="anonymous"?r.credentials="omit":r.credentials="same-origin",r}function o(a){if(a.ep)return;a.ep=!0;const r=t(a);fetch(a.href,r)}})();var C={},te={},Fe={},J={},ge={};Object.defineProperty(ge,"__esModule",{value:!0});ge.DispatcherWrapper=void 0;class Io{constructor(n){this._subscribe=t=>n.subscribe(t),this._unsubscribe=t=>n.unsubscribe(t),this._one=t=>n.one(t),this._has=t=>n.has(t),this._clear=()=>n.clear(),this._count=()=>n.count,this._onSubscriptionChange=()=>n.onSubscriptionChange}get onSubscriptionChange(){return this._onSubscriptionChange()}get count(){return this._count()}subscribe(n){return this._subscribe(n)}sub(n){return this.subscribe(n)}unsubscribe(n){this._unsubscribe(n)}unsub(n){this.unsubscribe(n)}one(n){return this._one(n)}has(n){return this._has(n)}clear(){this._clear()}}ge.DispatcherWrapper=Io;var he={};Object.defineProperty(he,"__esModule",{value:!0});he.Subscription=void 0;class Ao{constructor(n,t){this.handler=n,this.isOnce=t,this.isExecuted=!1}execute(n,t,o){if(!this.isOnce||!this.isExecuted){this.isExecuted=!0;var a=this.handler;n?setTimeout(()=>{a.apply(t,o)},1):a.apply(t,o)}}}he.Subscription=Ao;var ae={};Object.defineProperty(ae,"__esModule",{value:!0});ae.EventManagement=void 0;class Ro{constructor(n){this.unsub=n,this.propagationStopped=!1}stopPropagation(){this.propagationStopped=!0}}ae.EventManagement=Ro;Object.defineProperty(J,"__esModule",{value:!0});J.SubscriptionChangeEventDispatcher=J.DispatcherBase=void 0;const Po=ge,Oo=he,Do=ae;class Et{constructor(){this._subscriptions=new Array}get count(){return this._subscriptions.length}get onSubscriptionChange(){return this._onSubscriptionChange==null&&(this._onSubscriptionChange=new bt),this._onSubscriptionChange.asEvent()}subscribe(n){return n&&(this._subscriptions.push(this.createSubscription(n,!1)),this.triggerSubscriptionChange()),()=>{this.unsubscribe(n)}}sub(n){return this.subscribe(n)}one(n){return n&&(this._subscriptions.push(this.createSubscription(n,!0)),this.triggerSubscriptionChange()),()=>{this.unsubscribe(n)}}has(n){return n?this._subscriptions.some(t=>t.handler==n):!1}unsubscribe(n){if(!n)return;let t=!1;for(let o=0;othis.unsub(a.handler)),i=Array.prototype.slice.call(o);if(i.push(r),a.execute(n,t,i),this.cleanup(a),!n&&r.propagationStopped)return{propagationStopped:!0}}return n?null:{propagationStopped:!1}}createSubscription(n,t){return new Oo.Subscription(n,t)}cleanup(n){let t=!1;if(n.isOnce&&n.isExecuted){let o=this._subscriptions.indexOf(n);o>-1&&(this._subscriptions.splice(o,1),t=!0)}t&&this.triggerSubscriptionChange()}asEvent(){return this._wrap==null&&(this._wrap=new Po.DispatcherWrapper(this)),this._wrap}clear(){this._subscriptions.length!=0&&(this._subscriptions.splice(0,this._subscriptions.length),this.triggerSubscriptionChange())}triggerSubscriptionChange(){this._onSubscriptionChange!=null&&this._onSubscriptionChange.dispatch(this.count)}}J.DispatcherBase=Et;class bt extends Et{dispatch(n){this._dispatch(!1,this,arguments)}}J.SubscriptionChangeEventDispatcher=bt;var pe={};Object.defineProperty(pe,"__esModule",{value:!0});pe.DispatchError=void 0;class Lo extends Error{constructor(n){super(n)}}pe.DispatchError=Lo;var Ue={};Object.defineProperty(Ue,"__esModule",{value:!0});Ue.EventListBase=void 0;class xo{constructor(){this._events={}}get(n){let t=this._events[n];return t||(t=this.createDispatcher(),this._events[n]=t,t)}remove(n){delete this._events[n]}}Ue.EventListBase=xo;var He={};Object.defineProperty(He,"__esModule",{value:!0});He.HandlingBase=void 0;class Bo{constructor(n){this.events=n}one(n,t){this.events.get(n).one(t)}has(n,t){return this.events.get(n).has(t)}subscribe(n,t){this.events.get(n).subscribe(t)}sub(n,t){this.subscribe(n,t)}unsubscribe(n,t){this.events.get(n).unsubscribe(t)}unsub(n,t){this.unsubscribe(n,t)}}He.HandlingBase=Bo;var Ge={},_e={};Object.defineProperty(_e,"__esModule",{value:!0});_e.PromiseSubscription=void 0;class Fo{constructor(n,t){this.handler=n,this.isOnce=t,this.isExecuted=!1}async execute(n,t,o){if(!this.isOnce||!this.isExecuted){this.isExecuted=!0;var a=this.handler;if(n){setTimeout(()=>{a.apply(t,o)},1);return}await a.apply(t,o)}}}_e.PromiseSubscription=Fo;Object.defineProperty(Ge,"__esModule",{value:!0});Ge.PromiseDispatcherBase=void 0;const Uo=_e,Ho=ae,Go=J,Vo=pe;class $o extends Go.DispatcherBase{_dispatch(n,t,o){throw new Vo.DispatchError("_dispatch not supported. Use _dispatchAsPromise.")}createSubscription(n,t){return new Uo.PromiseSubscription(n,t)}async _dispatchAsPromise(n,t,o){for(let a of[...this._subscriptions]){let r=new Ho.EventManagement(()=>this.unsub(a.handler)),i=Array.prototype.slice.call(o);if(i.push(r),await a.execute(n,t,i),this.cleanup(a),!n&&r.propagationStopped)return{propagationStopped:!0}}return n?null:{propagationStopped:!1}}}Ge.PromiseDispatcherBase=$o;(function(e){/*! +var Io=Object.defineProperty;var Ao=(e,n,t)=>n in e?Io(e,n,{enumerable:!0,configurable:!0,writable:!0,value:t}):e[n]=t;var _=(e,n,t)=>Ao(e,typeof n!="symbol"?n+"":n,t);(function(){const n=document.createElement("link").relList;if(n&&n.supports&&n.supports("modulepreload"))return;for(const a of document.querySelectorAll('link[rel="modulepreload"]'))o(a);new MutationObserver(a=>{for(const r of a)if(r.type==="childList")for(const i of r.addedNodes)i.tagName==="LINK"&&i.rel==="modulepreload"&&o(i)}).observe(document,{childList:!0,subtree:!0});function t(a){const r={};return a.integrity&&(r.integrity=a.integrity),a.referrerPolicy&&(r.referrerPolicy=a.referrerPolicy),a.crossOrigin==="use-credentials"?r.credentials="include":a.crossOrigin==="anonymous"?r.credentials="omit":r.credentials="same-origin",r}function o(a){if(a.ep)return;a.ep=!0;const r=t(a);fetch(a.href,r)}})();var Ro=Lo,x=[],at="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/";for(var Ee=0,Po=at.length;Ee>18&63]+x[e>>12&63]+x[e>>6&63]+x[e&63]}function Do(e,n,t){for(var o,a=[],r=n;rs?s:i+r));return o===1?(n=e[t-1],a.push(x[n>>2]+x[n<<4&63]+"==")):o===2&&(n=(e[t-2]<<8)+e[t-1],a.push(x[n>>10]+x[n>>4&63]+x[n<<2&63]+"=")),a.join("")}function Bo(e){return new TextEncoder().encode(e).length}function Et(){return Math.floor(Math.random()*4294967295).toString(16).toUpperCase()}function xo(e){return Ro(e).replace(/=/g,"").replace(/\+/g,"-").replace(/\//g,"_")}function Fo(){const e=document.getElementById("meshtasticForm");if(!e)throw new Error("Form element not found.");const n=new FormData(e),t=n.get("channelName"),o=n.get("pskType"),a=n.get("psk"),r=Number(n.get("region")),i=Number(n.get("role")),s=Number(n.get("index")),c=Number(n.get("modemPreset")),d=Number(n.get("hopLimit")),m=n.get("uplinkEnabled")==="on",g=n.get("downlinkEnabled")==="on",f=Number(n.get("positionPrecision")),h=n.get("isClientMuted")==="on",p=n.get("configOkToMqtt")==="on",E=n.get("ignoreMqtt")==="on",M=n.get("channelId")||Et();return{channelName:t,pskType:o,psk:a,region:r,role:i,index:s,modemPreset:c,hopLimit:d,channelId:M,uplinkEnabled:m,downlinkEnabled:g,positionPrecision:f,isClientMuted:h,configOkToMqtt:p,ignoreMqtt:E}}function Uo(e){let n;if(e==="aes128")n=new Uint8Array(16);else if(e==="aes256")n=new Uint8Array(32);else return"";return window.crypto.getRandomValues(n),Array.from(n).map(t=>("0"+t.toString(16)).slice(-2)).join("")}var C={},ae={},Fe={},J={},ge={};Object.defineProperty(ge,"__esModule",{value:!0});ge.DispatcherWrapper=void 0;class Ho{constructor(n){this._subscribe=t=>n.subscribe(t),this._unsubscribe=t=>n.unsubscribe(t),this._one=t=>n.one(t),this._has=t=>n.has(t),this._clear=()=>n.clear(),this._count=()=>n.count,this._onSubscriptionChange=()=>n.onSubscriptionChange}get onSubscriptionChange(){return this._onSubscriptionChange()}get count(){return this._count()}subscribe(n){return this._subscribe(n)}sub(n){return this.subscribe(n)}unsubscribe(n){this._unsubscribe(n)}unsub(n){this.unsubscribe(n)}one(n){return this._one(n)}has(n){return this._has(n)}clear(){this._clear()}}ge.DispatcherWrapper=Ho;var he={};Object.defineProperty(he,"__esModule",{value:!0});he.Subscription=void 0;class Go{constructor(n,t){this.handler=n,this.isOnce=t,this.isExecuted=!1}execute(n,t,o){if(!this.isOnce||!this.isExecuted){this.isExecuted=!0;var a=this.handler;n?setTimeout(()=>{a.apply(t,o)},1):a.apply(t,o)}}}he.Subscription=Go;var oe={};Object.defineProperty(oe,"__esModule",{value:!0});oe.EventManagement=void 0;class Vo{constructor(n){this.unsub=n,this.propagationStopped=!1}stopPropagation(){this.propagationStopped=!0}}oe.EventManagement=Vo;Object.defineProperty(J,"__esModule",{value:!0});J.SubscriptionChangeEventDispatcher=J.DispatcherBase=void 0;const $o=ge,qo=he,Xo=oe;class bt{constructor(){this._subscriptions=new Array}get count(){return this._subscriptions.length}get onSubscriptionChange(){return this._onSubscriptionChange==null&&(this._onSubscriptionChange=new vt),this._onSubscriptionChange.asEvent()}subscribe(n){return n&&(this._subscriptions.push(this.createSubscription(n,!1)),this.triggerSubscriptionChange()),()=>{this.unsubscribe(n)}}sub(n){return this.subscribe(n)}one(n){return n&&(this._subscriptions.push(this.createSubscription(n,!0)),this.triggerSubscriptionChange()),()=>{this.unsubscribe(n)}}has(n){return n?this._subscriptions.some(t=>t.handler==n):!1}unsubscribe(n){if(!n)return;let t=!1;for(let o=0;othis.unsub(a.handler)),i=Array.prototype.slice.call(o);if(i.push(r),a.execute(n,t,i),this.cleanup(a),!n&&r.propagationStopped)return{propagationStopped:!0}}return n?null:{propagationStopped:!1}}createSubscription(n,t){return new qo.Subscription(n,t)}cleanup(n){let t=!1;if(n.isOnce&&n.isExecuted){let o=this._subscriptions.indexOf(n);o>-1&&(this._subscriptions.splice(o,1),t=!0)}t&&this.triggerSubscriptionChange()}asEvent(){return this._wrap==null&&(this._wrap=new $o.DispatcherWrapper(this)),this._wrap}clear(){this._subscriptions.length!=0&&(this._subscriptions.splice(0,this._subscriptions.length),this.triggerSubscriptionChange())}triggerSubscriptionChange(){this._onSubscriptionChange!=null&&this._onSubscriptionChange.dispatch(this.count)}}J.DispatcherBase=bt;class vt extends bt{dispatch(n){this._dispatch(!1,this,arguments)}}J.SubscriptionChangeEventDispatcher=vt;var pe={};Object.defineProperty(pe,"__esModule",{value:!0});pe.DispatchError=void 0;class Ko extends Error{constructor(n){super(n)}}pe.DispatchError=Ko;var Ue={};Object.defineProperty(Ue,"__esModule",{value:!0});Ue.EventListBase=void 0;class Wo{constructor(){this._events={}}get(n){let t=this._events[n];return t||(t=this.createDispatcher(),this._events[n]=t,t)}remove(n){delete this._events[n]}}Ue.EventListBase=Wo;var He={};Object.defineProperty(He,"__esModule",{value:!0});He.HandlingBase=void 0;class Yo{constructor(n){this.events=n}one(n,t){this.events.get(n).one(t)}has(n,t){return this.events.get(n).has(t)}subscribe(n,t){this.events.get(n).subscribe(t)}sub(n,t){this.subscribe(n,t)}unsubscribe(n,t){this.events.get(n).unsubscribe(t)}unsub(n,t){this.unsubscribe(n,t)}}He.HandlingBase=Yo;var Ge={},_e={};Object.defineProperty(_e,"__esModule",{value:!0});_e.PromiseSubscription=void 0;class Jo{constructor(n,t){this.handler=n,this.isOnce=t,this.isExecuted=!1}async execute(n,t,o){if(!this.isOnce||!this.isExecuted){this.isExecuted=!0;var a=this.handler;if(n){setTimeout(()=>{a.apply(t,o)},1);return}await a.apply(t,o)}}}_e.PromiseSubscription=Jo;Object.defineProperty(Ge,"__esModule",{value:!0});Ge.PromiseDispatcherBase=void 0;const jo=_e,zo=oe,Qo=J,Zo=pe;class er extends Qo.DispatcherBase{_dispatch(n,t,o){throw new Zo.DispatchError("_dispatch not supported. Use _dispatchAsPromise.")}createSubscription(n,t){return new jo.PromiseSubscription(n,t)}async _dispatchAsPromise(n,t,o){for(let a of[...this._subscriptions]){let r=new zo.EventManagement(()=>this.unsub(a.handler)),i=Array.prototype.slice.call(o);if(i.push(r),await a.execute(n,t,i),this.cleanup(a),!n&&r.propagationStopped)return{propagationStopped:!0}}return n?null:{propagationStopped:!1}}}Ge.PromiseDispatcherBase=er;(function(e){/*! * Strongly Typed Events for TypeScript - Core * https://github.com/KeesCBakker/StronlyTypedEvents/ * http://keestalkstech.com * * Copyright Kees C. Bakker / KeesTalksTech * Released under the MIT license - */Object.defineProperty(e,"__esModule",{value:!0}),e.SubscriptionChangeEventDispatcher=e.HandlingBase=e.PromiseDispatcherBase=e.PromiseSubscription=e.DispatchError=e.EventManagement=e.EventListBase=e.DispatcherWrapper=e.DispatcherBase=e.Subscription=void 0;const n=J;Object.defineProperty(e,"DispatcherBase",{enumerable:!0,get:function(){return n.DispatcherBase}}),Object.defineProperty(e,"SubscriptionChangeEventDispatcher",{enumerable:!0,get:function(){return n.SubscriptionChangeEventDispatcher}});const t=pe;Object.defineProperty(e,"DispatchError",{enumerable:!0,get:function(){return t.DispatchError}});const o=ge;Object.defineProperty(e,"DispatcherWrapper",{enumerable:!0,get:function(){return o.DispatcherWrapper}});const a=Ue;Object.defineProperty(e,"EventListBase",{enumerable:!0,get:function(){return a.EventListBase}});const r=ae;Object.defineProperty(e,"EventManagement",{enumerable:!0,get:function(){return r.EventManagement}});const i=He;Object.defineProperty(e,"HandlingBase",{enumerable:!0,get:function(){return i.HandlingBase}});const s=Ge;Object.defineProperty(e,"PromiseDispatcherBase",{enumerable:!0,get:function(){return s.PromiseDispatcherBase}});const c=_e;Object.defineProperty(e,"PromiseSubscription",{enumerable:!0,get:function(){return c.PromiseSubscription}});const d=he;Object.defineProperty(e,"Subscription",{enumerable:!0,get:function(){return d.Subscription}})})(Fe);Object.defineProperty(te,"__esModule",{value:!0});te.SimpleEventDispatcher=void 0;const at=Fe;class qo extends at.DispatcherBase{constructor(){super()}dispatch(n){const t=this._dispatch(!1,this,arguments);if(t==null)throw new at.DispatchError("Got `null` back from dispatch.");return t}dispatchAsync(n){this._dispatch(!0,this,arguments)}asEvent(){return super.asEvent()}}te.SimpleEventDispatcher=qo;var Ve={},Te={};Object.defineProperty(Te,"__esModule",{value:!0});Te.SimpleEventList=void 0;const Xo=Fe,Ko=te;class Wo extends Xo.EventListBase{constructor(){super()}createDispatcher(){return new Ko.SimpleEventDispatcher}}Te.SimpleEventList=Wo;Object.defineProperty(Ve,"__esModule",{value:!0});Ve.SimpleEventHandlingBase=void 0;const Yo=Fe,Jo=Te;class jo extends Yo.HandlingBase{constructor(){super(new Jo.SimpleEventList)}}Ve.SimpleEventHandlingBase=jo;var $e={};Object.defineProperty($e,"__esModule",{value:!0});$e.NonUniformSimpleEventList=void 0;const zo=te;class Qo{constructor(){this._events={}}get(n){if(this._events[n])return this._events[n];const t=this.createDispatcher();return this._events[n]=t,t}remove(n){delete this._events[n]}createDispatcher(){return new zo.SimpleEventDispatcher}}$e.NonUniformSimpleEventList=Qo;(function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.NonUniformSimpleEventList=e.SimpleEventList=e.SimpleEventHandlingBase=e.SimpleEventDispatcher=void 0;const n=te;Object.defineProperty(e,"SimpleEventDispatcher",{enumerable:!0,get:function(){return n.SimpleEventDispatcher}});const t=Ve;Object.defineProperty(e,"SimpleEventHandlingBase",{enumerable:!0,get:function(){return t.SimpleEventHandlingBase}});const o=$e;Object.defineProperty(e,"NonUniformSimpleEventList",{enumerable:!0,get:function(){return o.NonUniformSimpleEventList}});const a=Te;Object.defineProperty(e,"SimpleEventList",{enumerable:!0,get:function(){return a.SimpleEventList}})})(C);let cn=[0,4129,8258,12387,16516,20645,24774,28903,33032,37161,41290,45419,49548,53677,57806,61935,4657,528,12915,8786,21173,17044,29431,25302,37689,33560,45947,41818,54205,50076,62463,58334,9314,13379,1056,5121,25830,29895,17572,21637,42346,46411,34088,38153,58862,62927,50604,54669,13907,9842,5649,1584,30423,26358,22165,18100,46939,42874,38681,34616,63455,59390,55197,51132,18628,22757,26758,30887,2112,6241,10242,14371,51660,55789,59790,63919,35144,39273,43274,47403,23285,19156,31415,27286,6769,2640,14899,10770,56317,52188,64447,60318,39801,35672,47931,43802,27814,31879,19684,23749,11298,15363,3168,7233,60846,64911,52716,56781,44330,48395,36200,40265,32407,28342,24277,20212,15891,11826,7761,3696,65439,61374,57309,53244,48923,44858,40793,36728,37256,33193,45514,41451,53516,49453,61774,57711,4224,161,12482,8419,20484,16421,28742,24679,33721,37784,41979,46042,49981,54044,58239,62302,689,4752,8947,13010,16949,21012,25207,29270,46570,42443,38312,34185,62830,58703,54572,50445,13538,9411,5280,1153,29798,25671,21540,17413,42971,47098,34713,38840,59231,63358,50973,55100,9939,14066,1681,5808,26199,30326,17941,22068,55628,51565,63758,59695,39368,35305,47498,43435,22596,18533,30726,26663,6336,2273,14466,10403,52093,56156,60223,64286,35833,39896,43963,48026,19061,23124,27191,31254,2801,6864,10931,14994,64814,60687,56684,52557,48554,44427,40424,36297,31782,27655,23652,19525,15522,11395,7392,3265,61215,65342,53085,57212,44955,49082,36825,40952,28183,32310,20053,24180,11923,16050,3793,7920];typeof Int32Array<"u"&&(cn=new Int32Array(cn));const Qe=(e,n)=>{let t=typeof n<"u"?~~n:65535;for(let o=0;o>8^e[o])&255]^t<<8)&65535;return t};var ot={},Zo=Object.defineProperty,N=(e,n)=>{for(var t in n)Zo(e,t,{get:n[t],enumerable:!0})},se={};N(se,{Admin:()=>vt,AppOnly:()=>Ga,CannedMessages:()=>Va,Channel:()=>qt,ClientOnly:()=>$a,Config:()=>Wt,ConnectionStatus:()=>Ra,DeviceOnly:()=>Xa,LocalOnly:()=>qa,Mesh:()=>W,ModuleConfig:()=>da,Mqtt:()=>ja,PaxCount:()=>za,Portnums:()=>ra,RemoteHardware:()=>Qa,Rtttl:()=>eo,StoreForward:()=>no,Telemetry:()=>ia,Xmodem:()=>R});var vt={};N(vt,{AdminMessage:()=>ai,AdminMessage_ConfigType:()=>Ba,AdminMessage_ModuleConfigType:()=>Fa,HamParameters:()=>Ua,NodeRemoteHardwarePinsResponse:()=>Ha});function S(e,n){if(!e)throw new Error(n)}var er=34028234663852886e22,nr=-34028234663852886e22,tr=4294967295,ar=2147483647,or=-2147483648;function Se(e){if(typeof e!="number")throw new Error("invalid int 32: "+typeof e);if(!Number.isInteger(e)||e>ar||etr||e<0)throw new Error("invalid uint 32: "+e)}function wt(e){if(typeof e!="number")throw new Error("invalid float 32: "+typeof e);if(Number.isFinite(e)&&(e>er||e({no:a.no,name:a.name,localName:e[a.no]})))}function Mt(e,n,t){const o=Object.create(null),a=Object.create(null),r=[];for(const i of n){const s=It(i);r.push(s),o[i.name]=s,a[i.no]=s}return{typeName:e,values:r,findName(i){return o[i]},findNumber(i){return a[i]}}}function ir(e,n,t){const o={};for(const a of n){const r=It(a);o[r.localName]=r.no,o[r.no]=r.localName}return Nt(o,e,n),o}function It(e){return"localName"in e?e:Object.assign(Object.assign({},e),{localName:e.name})}var At=class{equals(e){return this.getType().runtime.util.equals(this.getType(),this,e)}clone(){return this.getType().runtime.util.clone(this)}fromBinary(e,n){const t=this.getType(),o=t.runtime.bin,a=o.makeReadOptions(n);return o.readMessage(this,a.readerFactory(e),e.byteLength,a),this}fromJson(e,n){const t=this.getType(),o=t.runtime.json,a=o.makeReadOptions(n);return o.readMessage(t,e,a,this),this}fromJsonString(e,n){let t;try{t=JSON.parse(e)}catch(o){throw new Error(`cannot decode ${this.getType().typeName} from JSON: ${o instanceof Error?o.message:String(o)}`)}return this.fromJson(t,n)}toBinary(e){const n=this.getType(),t=n.runtime.bin,o=t.makeWriteOptions(e),a=o.writerFactory();return t.writeMessage(this,a,o),a.finish()}toJson(e){const n=this.getType(),t=n.runtime.json,o=t.makeWriteOptions(e);return t.writeMessage(this,o)}toJsonString(e){var n;const t=this.toJson(e);return JSON.stringify(t,null,(n=e==null?void 0:e.prettySpaces)!==null&&n!==void 0?n:0)}toJSON(){return this.toJson({emitDefaultValues:!0})}getType(){return Object.getPrototypeOf(this).constructor}};function sr(e,n,t,o){var a;const r=(a=o==null?void 0:o.localName)!==null&&a!==void 0?a:n.substring(n.lastIndexOf(".")+1),i={[r]:function(s){e.util.initFields(this),e.util.initPartial(s,this)}}[r];return Object.setPrototypeOf(i.prototype,new At),Object.assign(i,{runtime:e,typeName:n,fields:e.util.newFieldList(t),fromBinary(s,c){return new i().fromBinary(s,c)},fromJson(s,c){return new i().fromJson(s,c)},fromJsonString(s,c){return new i().fromJsonString(s,c)},equals(s,c){return e.util.equals(i,s,c)}}),i}function cr(){let e=0,n=0;for(let o=0;o<28;o+=7){let a=this.buf[this.pos++];if(e|=(a&127)<>4,!(t&128))return this.assertBounds(),[e,n];for(let o=3;o<=31;o+=7){let a=this.buf[this.pos++];if(n|=(a&127)<>>r,s=!(!(i>>>7)&&n==0),c=(s?i|128:i)&255;if(t.push(c),!s)return}const o=e>>>28&15|(n&7)<<4,a=!!(n>>3);if(t.push((a?o|128:o)&255),!!a){for(let r=3;r<31;r=r+7){const i=n>>>r,s=!!(i>>>7),c=(s?i|128:i)&255;if(t.push(c),!s)return}t.push(n>>>31&1)}}var Ne=4294967296;function rt(e){const n=e[0]==="-";n&&(e=e.slice(1));const t=1e6;let o=0,a=0;function r(i,s){const c=Number(e.slice(i,s));a*=t,o=o*t+c,o>=Ne&&(a=a+(o/Ne|0),o=o%Ne)}return r(-24,-18),r(-18,-12),r(-12,-6),r(-6),n?Pt(o,a):hn(o,a)}function lr(e,n){let t=hn(e,n);const o=t.hi&2147483648;o&&(t=Pt(t.lo,t.hi));const a=Rt(t.lo,t.hi);return o?"-"+a:a}function Rt(e,n){if({lo:e,hi:n}=mr(e,n),n<=2097151)return String(Ne*n+e);const t=e&16777215,o=(e>>>24|n<<8)&16777215,a=n>>16&65535;let r=t+o*6777216+a*6710656,i=o+a*8147497,s=a*2;const c=1e7;return r>=c&&(i+=Math.floor(r/c),r%=c),i>=c&&(s+=Math.floor(i/c),i%=c),s.toString()+it(i)+it(r)}function mr(e,n){return{lo:e>>>0,hi:n>>>0}}function hn(e,n){return{lo:e|0,hi:n|0}}function Pt(e,n){return n=~n,e?e=~e+1:n+=1,hn(e,n)}var it=e=>{const n=String(e);return"0000000".slice(n.length)+n};function st(e,n){if(e>=0){for(;e>127;)n.push(e&127|128),e=e>>>7;n.push(e)}else{for(let t=0;t<9;t++)n.push(e&127|128),e=e>>7;n.push(1)}}function dr(){let e=this.buf[this.pos++],n=e&127;if(!(e&128))return this.assertBounds(),n;if(e=this.buf[this.pos++],n|=(e&127)<<7,!(e&128))return this.assertBounds(),n;if(e=this.buf[this.pos++],n|=(e&127)<<14,!(e&128))return this.assertBounds(),n;if(e=this.buf[this.pos++],n|=(e&127)<<21,!(e&128))return this.assertBounds(),n;e=this.buf[this.pos++],n|=(e&15)<<28;for(let t=5;e&128&&t<10;t++)e=this.buf[this.pos++];if(e&128)throw new Error("invalid varint");return this.assertBounds(),n>>>0}function ur(){const e=new DataView(new ArrayBuffer(8));if(typeof BigInt=="function"&&typeof e.getBigInt64=="function"&&typeof e.getBigUint64=="function"&&typeof e.setBigInt64=="function"&&typeof e.setBigUint64=="function"&&(typeof process!="object"||typeof ot!="object"||ot.BUF_BIGINT_DISABLE!=="1")){const a=BigInt("-9223372036854775808"),r=BigInt("9223372036854775807"),i=BigInt("0"),s=BigInt("18446744073709551615");return{zero:BigInt(0),supported:!0,parse(c){const d=typeof c=="bigint"?c:BigInt(c);if(d>r||ds||dS(/^-?[0-9]+$/.test(a),`int64 invalid: ${a}`),o=a=>S(/^[0-9]+$/.test(a),`uint64 invalid: ${a}`);return{zero:"0",supported:!1,parse(a){return typeof a!="string"&&(a=a.toString()),t(a),a},uParse(a){return typeof a!="string"&&(a=a.toString()),o(a),a},enc(a){return typeof a!="string"&&(a=a.toString()),t(a),rt(a)},uEnc(a){return typeof a!="string"&&(a=a.toString()),o(a),rt(a)},dec(a,r){return lr(a,r)},uDec(a,r){return Rt(a,r)}}}var P=ur(),u;(function(e){e[e.DOUBLE=1]="DOUBLE",e[e.FLOAT=2]="FLOAT",e[e.INT64=3]="INT64",e[e.UINT64=4]="UINT64",e[e.INT32=5]="INT32",e[e.FIXED64=6]="FIXED64",e[e.FIXED32=7]="FIXED32",e[e.BOOL=8]="BOOL",e[e.STRING=9]="STRING",e[e.BYTES=12]="BYTES",e[e.UINT32=13]="UINT32",e[e.SFIXED32=15]="SFIXED32",e[e.SFIXED64=16]="SFIXED64",e[e.SINT32=17]="SINT32",e[e.SINT64=18]="SINT64"})(u||(u={}));var q;(function(e){e[e.BIGINT=0]="BIGINT",e[e.STRING=1]="STRING"})(q||(q={}));function V(e,n,t){if(n===t)return!0;if(e==u.BYTES){if(!(n instanceof Uint8Array)||!(t instanceof Uint8Array)||n.length!==t.length)return!1;for(let o=0;o>>0)}raw(e){return this.buf.length&&(this.chunks.push(new Uint8Array(this.buf)),this.buf=[]),this.chunks.push(e),this}uint32(e){for(ln(e);e>127;)this.buf.push(e&127|128),e=e>>>7;return this.buf.push(e),this}int32(e){return Se(e),st(e,this.buf),this}bool(e){return this.buf.push(e?1:0),this}bytes(e){return this.uint32(e.byteLength),this.raw(e)}string(e){let n=this.textEncoder.encode(e);return this.uint32(n.byteLength),this.raw(n)}float(e){wt(e);let n=new Uint8Array(4);return new DataView(n.buffer).setFloat32(0,e,!0),this.raw(n)}double(e){let n=new Uint8Array(8);return new DataView(n.buffer).setFloat64(0,e,!0),this.raw(n)}fixed32(e){ln(e);let n=new Uint8Array(4);return new DataView(n.buffer).setUint32(0,e,!0),this.raw(n)}sfixed32(e){Se(e);let n=new Uint8Array(4);return new DataView(n.buffer).setInt32(0,e,!0),this.raw(n)}sint32(e){return Se(e),e=(e<<1^e>>31)>>>0,st(e,this.buf),this}sfixed64(e){let n=new Uint8Array(8),t=new DataView(n.buffer),o=P.enc(e);return t.setInt32(0,o.lo,!0),t.setInt32(4,o.hi,!0),this.raw(n)}fixed64(e){let n=new Uint8Array(8),t=new DataView(n.buffer),o=P.uEnc(e);return t.setInt32(0,o.lo,!0),t.setInt32(4,o.hi,!0),this.raw(n)}int64(e){let n=P.enc(e);return Ze(n.lo,n.hi,this.buf),this}sint64(e){let n=P.enc(e),t=n.hi>>31,o=n.lo<<1^t,a=(n.hi<<1|n.lo>>>31)^t;return Ze(o,a,this.buf),this}uint64(e){let n=P.uEnc(e);return Ze(n.lo,n.hi,this.buf),this}},gr=class{constructor(e,n){this.varint64=cr,this.uint32=dr,this.buf=e,this.len=e.length,this.pos=0,this.view=new DataView(e.buffer,e.byteOffset,e.byteLength),this.textDecoder=n??new TextDecoder}tag(){let e=this.uint32(),n=e>>>3,t=e&7;if(n<=0||t<0||t>5)throw new Error("illegal tag: field no "+n+" wire type "+t);return[n,t]}skip(e,n){let t=this.pos;switch(e){case M.Varint:for(;this.buf[this.pos++]&128;);break;case M.Bit64:this.pos+=4;case M.Bit32:this.pos+=4;break;case M.LengthDelimited:let o=this.uint32();this.pos+=o;break;case M.StartGroup:for(;;){const[a,r]=this.tag();if(r===M.EndGroup){if(n!==void 0&&a!==n)throw new Error("invalid end group tag");break}this.skip(r,a)}break;default:throw new Error("cant skip wire type "+e)}return this.assertBounds(),this.buf.subarray(t,this.pos)}assertBounds(){if(this.pos>this.len)throw new RangeError("premature EOF")}int32(){return this.uint32()|0}sint32(){let e=this.uint32();return e>>>1^-(e&1)}int64(){return P.dec(...this.varint64())}uint64(){return P.uDec(...this.varint64())}sint64(){let[e,n]=this.varint64(),t=-(e&1);return e=(e>>>1|(n&1)<<31)^t,n=n>>>1^t,P.dec(e,n)}bool(){let[e,n]=this.varint64();return e!==0||n!==0}fixed32(){return this.view.getUint32((this.pos+=4)-4,!0)}sfixed32(){return this.view.getInt32((this.pos+=4)-4,!0)}fixed64(){return P.uDec(this.sfixed32(),this.sfixed32())}sfixed64(){return P.dec(this.sfixed32(),this.sfixed32())}float(){return this.view.getFloat32((this.pos+=4)-4,!0)}double(){return this.view.getFloat64((this.pos+=8)-8,!0)}bytes(){let e=this.uint32(),n=this.pos;return this.pos+=e,this.assertBounds(),this.buf.subarray(n,n+e)}string(){return this.textDecoder.decode(this.bytes())}};function hr(e,n,t,o){let a;return{typeName:n,extendee:t,get field(){if(!a){const r=typeof o=="function"?o():o;r.name=n.split(".").pop(),r.jsonName=`[${n}]`,a=e.util.newFieldList([r]).list()[0]}return a},runtime:e}}function Dt(e){const n=e.field.localName,t=Object.create(null);return t[n]=pr(e),[t,()=>t[n]]}function pr(e){const n=e.field;if(n.repeated)return[];if(n.default!==void 0)return n.default;switch(n.kind){case"enum":return n.T.values[0].no;case"scalar":return z(n.T,n.L);case"message":const t=n.T,o=new t;return t.fieldWrapper?t.fieldWrapper.unwrapField(o):o;case"map":throw"map fields are not allowed to be extensions"}}function _r(e,n){if(!n.repeated&&(n.kind=="enum"||n.kind=="scalar")){for(let t=e.length-1;t>=0;--t)if(e[t].no==n.no)return[e[t]];return[]}return e.filter(t=>t.no===n.no)}var H="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/".split(""),qe=[];for(let e=0;e>4,i=r,a=2;break;case 2:t[o++]=(i&15)<<4|(r&60)>>2,i=r,a=3;break;case 3:t[o++]=(i&3)<<6|r,a=0;break}}if(a==1)throw Error("invalid base64 string.");return t.subarray(0,o)},enc(e){let n="",t=0,o,a=0;for(let r=0;r>2],a=(o&3)<<4,t=1;break;case 1:n+=H[a|o>>4],a=(o&15)<<2,t=2;break;case 2:n+=H[a|o>>6],n+=H[o&63],t=0;break}return t&&(n+=H[a],n+="=",t==1&&(n+="=")),n}};function Tr(e,n,t){Bt(n,e);const o=n.runtime.bin.makeReadOptions(t),a=_r(e.getType().runtime.bin.listUnknownFields(e),n.field),[r,i]=Dt(n);for(const s of a)n.runtime.bin.readField(r,o.readerFactory(s.data),n.field,s.wireType,o);return i()}function kr(e,n,t,o){Bt(n,e);const a=n.runtime.bin.makeReadOptions(o),r=n.runtime.bin.makeWriteOptions(o);if(xt(e,n)){const d=e.getType().runtime.bin.listUnknownFields(e).filter(m=>m.no!=n.field.no);e.getType().runtime.bin.discardUnknownFields(e);for(const m of d)e.getType().runtime.bin.onUnknownField(e,m.no,m.wireType,m.data)}const i=r.writerFactory();let s=n.field;!s.opt&&!s.repeated&&(s.kind=="enum"||s.kind=="scalar")&&(s=Object.assign(Object.assign({},n.field),{opt:!0})),n.runtime.bin.writeField(s,t,i,r);const c=a.readerFactory(i.finish());for(;c.poso.no==n.field.no)}function Bt(e,n){S(e.extendee.typeName==n.getType().typeName,`extension ${e.typeName} can only be applied to message ${e.extendee.typeName}`)}function Ft(e,n){const t=e.localName;if(e.repeated)return n[t].length>0;if(e.oneof)return n[e.oneof.localName].case===t;switch(e.kind){case"enum":case"scalar":return e.opt||e.req?n[t]!==void 0:e.kind=="enum"?n[t]!==e.T.values[0].no:!Ot(e.T,n[t]);case"message":return n[t]!==void 0;case"map":return Object.keys(n[t]).length>0}}function ct(e,n){const t=e.localName,o=!e.opt&&!e.req;if(e.repeated)n[t]=[];else if(e.oneof)n[e.oneof.localName]={case:void 0};else switch(e.kind){case"map":n[t]={};break;case"enum":n[t]=o?e.T.values[0].no:void 0;break;case"scalar":n[t]=o?z(e.T,e.L):void 0;break;case"message":n[t]=void 0;break}}function K(e,n){if(e===null||typeof e!="object"||!Object.getOwnPropertyNames(At.prototype).every(o=>o in e&&typeof e[o]=="function"))return!1;const t=e.getType();return t===null||typeof t!="function"||!("typeName"in t)||typeof t.typeName!="string"?!1:n===void 0?!0:t.typeName==n.typeName}function Ut(e,n){return K(n)||!e.fieldWrapper?n:e.fieldWrapper.wrapField(n)}u.DOUBLE,u.FLOAT,u.INT64,u.UINT64,u.INT32,u.UINT32,u.BOOL,u.STRING,u.BYTES;var lt={ignoreUnknownFields:!1},mt={emitDefaultValues:!1,enumAsInteger:!1,useProtoFieldName:!1,prettySpaces:0};function yr(e){return e?Object.assign(Object.assign({},lt),e):lt}function Cr(e){return e?Object.assign(Object.assign({},mt),e):mt}var Pe=Symbol(),Me=Symbol();function Er(){return{makeReadOptions:yr,makeWriteOptions:Cr,readMessage(e,n,t,o){if(n==null||Array.isArray(n)||typeof n!="object")throw new Error(`cannot decode message ${e.typeName} from JSON: ${x(n)}`);o=o??new e;const a=new Map,r=t.typeRegistry;for(const[i,s]of Object.entries(n)){const c=e.fields.findJsonName(i);if(c){if(c.oneof){if(s===null&&c.kind=="scalar")continue;const d=a.get(c.oneof);if(d!==void 0)throw new Error(`cannot decode message ${e.typeName} from JSON: multiple keys for oneof "${c.oneof.name}" present: "${d}", "${i}"`);a.set(c.oneof,i)}dt(o,s,c,t,e)}else{let d=!1;if(r!=null&&r.findExtension&&i.startsWith("[")&&i.endsWith("]")){const m=r.findExtension(i.substring(1,i.length-1));if(m&&m.extendee.typeName==e.typeName){d=!0;const[g,f]=Dt(m);dt(g,s,m.field,t,m),kr(o,m,f(),t)}}if(!d&&!t.ignoreUnknownFields)throw new Error(`cannot decode message ${e.typeName} from JSON: key "${i}" is unknown`)}}return o},writeMessage(e,n){const t=e.getType(),o={};let a;try{for(a of t.fields.byNumber()){if(!Ft(a,e)){if(a.req)throw"required field not set";if(!n.emitDefaultValues||!vr(a))continue}const i=a.oneof?e[a.oneof.localName].value:e[a.localName],s=ut(a,i,n);s!==void 0&&(o[n.useProtoFieldName?a.name:a.jsonName]=s)}const r=n.typeRegistry;if(r!=null&&r.findExtensionFor)for(const i of t.runtime.bin.listUnknownFields(e)){const s=r.findExtensionFor(t.typeName,i.no);if(s&&xt(e,s)){const c=Tr(e,s,n),d=ut(s.field,c,n);d!==void 0&&(o[s.field.jsonName]=d)}}}catch(r){const i=a?`cannot encode field ${t.typeName}.${a.name} to JSON`:`cannot encode message ${t.typeName} to JSON`,s=r instanceof Error?r.message:String(r);throw new Error(i+(s.length>0?`: ${s}`:""))}return o},readScalar(e,n,t){return ce(e,n,t??q.BIGINT,!0)},writeScalar(e,n,t){if(n!==void 0&&(t||Ot(e,n)))return Ie(e,n)},debug:x}}function x(e){if(e===null)return"null";switch(typeof e){case"object":return Array.isArray(e)?"array":"object";case"string":return e.length>100?"string":`"${e.split('"').join('\\"')}"`;default:return String(e)}}function dt(e,n,t,o,a){let r=t.localName;if(t.repeated){if(S(t.kind!="map"),n===null)return;if(!Array.isArray(n))throw new Error(`cannot decode field ${a.typeName}.${t.name} from JSON: ${x(n)}`);const i=e[r];for(const s of n){if(s===null)throw new Error(`cannot decode field ${a.typeName}.${t.name} from JSON: ${x(s)}`);switch(t.kind){case"message":i.push(t.T.fromJson(s,o));break;case"enum":const c=en(t.T,s,o.ignoreUnknownFields,!0);c!==Me&&i.push(c);break;case"scalar":try{i.push(ce(t.T,s,t.L,!0))}catch(d){let m=`cannot decode field ${a.typeName}.${t.name} from JSON: ${x(s)}`;throw d instanceof Error&&d.message.length>0&&(m+=`: ${d.message}`),new Error(m)}break}}}else if(t.kind=="map"){if(n===null)return;if(typeof n!="object"||Array.isArray(n))throw new Error(`cannot decode field ${a.typeName}.${t.name} from JSON: ${x(n)}`);const i=e[r];for(const[s,c]of Object.entries(n)){if(c===null)throw new Error(`cannot decode field ${a.typeName}.${t.name} from JSON: map value null`);let d;try{d=br(t.K,s)}catch(m){let g=`cannot decode map key for field ${a.typeName}.${t.name} from JSON: ${x(n)}`;throw m instanceof Error&&m.message.length>0&&(g+=`: ${m.message}`),new Error(g)}switch(t.V.kind){case"message":i[d]=t.V.T.fromJson(c,o);break;case"enum":const m=en(t.V.T,c,o.ignoreUnknownFields,!0);m!==Me&&(i[d]=m);break;case"scalar":try{i[d]=ce(t.V.T,c,q.BIGINT,!0)}catch(g){let f=`cannot decode map value for field ${a.typeName}.${t.name} from JSON: ${x(n)}`;throw g instanceof Error&&g.message.length>0&&(f+=`: ${g.message}`),new Error(f)}break}}}else switch(t.oneof&&(e=e[t.oneof.localName]={case:r},r="value"),t.kind){case"message":const i=t.T;if(n===null&&i.typeName!="google.protobuf.Value")return;let s=e[r];K(s)?s.fromJson(n,o):(e[r]=s=i.fromJson(n,o),i.fieldWrapper&&!t.oneof&&(e[r]=i.fieldWrapper.unwrapField(s)));break;case"enum":const c=en(t.T,n,o.ignoreUnknownFields,!1);switch(c){case Pe:ct(t,e);break;case Me:break;default:e[r]=c;break}break;case"scalar":try{const d=ce(t.T,n,t.L,!1);switch(d){case Pe:ct(t,e);break;default:e[r]=d;break}}catch(d){let m=`cannot decode field ${a.typeName}.${t.name} from JSON: ${x(n)}`;throw d instanceof Error&&d.message.length>0&&(m+=`: ${d.message}`),new Error(m)}break}}function br(e,n){if(e===u.BOOL)switch(n){case"true":n=!0;break;case"false":n=!1;break}return ce(e,n,q.BIGINT,!0).toString()}function ce(e,n,t,o){if(n===null)return o?z(e,t):Pe;switch(e){case u.DOUBLE:case u.FLOAT:if(n==="NaN")return Number.NaN;if(n==="Infinity")return Number.POSITIVE_INFINITY;if(n==="-Infinity")return Number.NEGATIVE_INFINITY;if(n===""||typeof n=="string"&&n.trim().length!==n.length||typeof n!="string"&&typeof n!="number")break;const a=Number(n);if(Number.isNaN(a)||!Number.isFinite(a))break;return e==u.FLOAT&&wt(a),a;case u.INT32:case u.FIXED32:case u.SFIXED32:case u.SINT32:case u.UINT32:let r;if(typeof n=="number"?r=n:typeof n=="string"&&n.length>0&&n.trim().length===n.length&&(r=Number(n)),r===void 0)break;return e==u.UINT32||e==u.FIXED32?ln(r):Se(r),r;case u.INT64:case u.SFIXED64:case u.SINT64:if(typeof n!="number"&&typeof n!="string")break;const i=P.parse(n);return t?i.toString():i;case u.FIXED64:case u.UINT64:if(typeof n!="number"&&typeof n!="string")break;const s=P.uParse(n);return t?s.toString():s;case u.BOOL:if(typeof n!="boolean")break;return n;case u.STRING:if(typeof n!="string")break;try{encodeURIComponent(n)}catch{throw new Error("invalid UTF8")}return n;case u.BYTES:if(n==="")return new Uint8Array(0);if(typeof n!="string")break;return Lt.dec(n)}throw new Error}function en(e,n,t,o){if(n===null)return e.typeName=="google.protobuf.NullValue"?0:o?e.values[0].no:Pe;switch(typeof n){case"number":if(Number.isInteger(n))return n;break;case"string":const a=e.findName(n);if(a!==void 0)return a.no;if(t)return Me;break}throw new Error(`cannot decode enum ${e.typeName} from JSON: ${x(n)}`)}function vr(e){return e.repeated||e.kind=="map"?!0:!(e.oneof||e.kind=="message"||e.opt||e.req)}function ut(e,n,t){if(e.kind=="map"){S(typeof n=="object"&&n!=null);const o={},a=Object.entries(n);switch(e.V.kind){case"scalar":for(const[i,s]of a)o[i.toString()]=Ie(e.V.T,s);break;case"message":for(const[i,s]of a)o[i.toString()]=s.toJson(t);break;case"enum":const r=e.V.T;for(const[i,s]of a)o[i.toString()]=nn(r,s,t.enumAsInteger);break}return t.emitDefaultValues||a.length>0?o:void 0}if(e.repeated){S(Array.isArray(n));const o=[];switch(e.kind){case"scalar":for(let a=0;a0?o:void 0}switch(e.kind){case"scalar":return Ie(e.T,n);case"enum":return nn(e.T,n,t.enumAsInteger);case"message":return Ut(e.T,n).toJson(t)}}function nn(e,n,t){var o;if(S(typeof n=="number"),e.typeName=="google.protobuf.NullValue")return null;if(t)return n;const a=e.findNumber(n);return(o=a==null?void 0:a.name)!==null&&o!==void 0?o:n}function Ie(e,n){switch(e){case u.INT32:case u.SFIXED32:case u.SINT32:case u.FIXED32:case u.UINT32:return S(typeof n=="number"),n;case u.FLOAT:case u.DOUBLE:return S(typeof n=="number"),Number.isNaN(n)?"NaN":n===Number.POSITIVE_INFINITY?"Infinity":n===Number.NEGATIVE_INFINITY?"-Infinity":n;case u.STRING:return S(typeof n=="string"),n;case u.BOOL:return S(typeof n=="boolean"),n;case u.UINT64:case u.FIXED64:case u.INT64:case u.SFIXED64:case u.SINT64:return S(typeof n=="bigint"||typeof n=="string"||typeof n=="number"),n.toString();case u.BYTES:return S(n instanceof Uint8Array),Lt.enc(n)}}var j=Symbol("@bufbuild/protobuf/unknown-fields"),ft={readUnknownFields:!0,readerFactory:e=>new gr(e)},gt={writeUnknownFields:!0,writerFactory:()=>new fr};function wr(e){return e?Object.assign(Object.assign({},ft),e):ft}function Sr(e){return e?Object.assign(Object.assign({},gt),e):gt}function Nr(){return{makeReadOptions:wr,makeWriteOptions:Sr,listUnknownFields(e){var n;return(n=e[j])!==null&&n!==void 0?n:[]},discardUnknownFields(e){delete e[j]},writeUnknownFields(e,n){const o=e[j];if(o)for(const a of o)n.tag(a.no,a.wireType).raw(a.data)},onUnknownField(e,n,t,o){const a=e;Array.isArray(a[j])||(a[j]=[]),a[j].push({no:n,wireType:t,data:o})},readMessage(e,n,t,o,a){const r=e.getType(),i=a?n.len:n.pos+t;let s,c;for(;n.pos0&&(c=Ir),r){let f=e[i];if(o==M.LengthDelimited&&s!=u.STRING&&s!=u.BYTES){let _=n.uint32()+n.pos;for(;n.pos<_;)f.push(c(n,s))}else f.push(c(n,s))}else e[i]=c(n,s);break;case"message":const d=t.T;r?e[i].push(Ae(n,new d,a,t)):K(e[i])?Ae(n,e[i],a,t):(e[i]=Ae(n,new d,a,t),d.fieldWrapper&&!t.oneof&&!t.repeated&&(e[i]=d.fieldWrapper.unwrapField(e[i])));break;case"map":let[m,g]=Mr(t,n,a);e[i][m]=g;break}}function Ae(e,n,t,o){const a=n.getType().runtime.bin,r=o==null?void 0:o.delimited;return a.readMessage(n,e,r?o.no:e.uint32(),t,r),n}function Mr(e,n,t){const o=n.uint32(),a=n.pos+o;let r,i;for(;n.posK(f,g)?f:new g(f));else{const f=i[a];g.fieldWrapper?g.typeName==="google.protobuf.BytesValue"?r[a]=ie(f):r[a]=f:r[a]=K(f,g)?f:new g(f)}break}}},equals(e,n,t){return n===t?!0:!n||!t?!1:e.fields.byMember().every(o=>{const a=n[o.localName],r=t[o.localName];if(o.repeated){if(a.length!==r.length)return!1;switch(o.kind){case"message":return a.every((i,s)=>o.T.equals(i,r[s]));case"scalar":return a.every((i,s)=>V(o.T,i,r[s]));case"enum":return a.every((i,s)=>V(u.INT32,i,r[s]))}throw new Error(`repeated cannot contain ${o.kind}`)}switch(o.kind){case"message":return o.T.equals(a,r);case"enum":return V(u.INT32,a,r);case"scalar":return V(o.T,a,r);case"oneof":if(a.case!==r.case)return!1;const i=o.findField(a.case);if(i===void 0)return!0;switch(i.kind){case"message":return i.T.equals(a.value,r.value);case"enum":return V(u.INT32,a.value,r.value);case"scalar":return V(i.T,a.value,r.value)}throw new Error(`oneof cannot contain ${i.kind}`);case"map":const s=Object.keys(a).concat(Object.keys(r));switch(o.V.kind){case"message":const c=o.V.T;return s.every(m=>c.equals(a[m],r[m]));case"enum":return s.every(m=>V(u.INT32,a[m],r[m]));case"scalar":const d=o.V.T;return s.every(m=>V(d,a[m],r[m]))}break}})},clone(e){const n=e.getType(),t=new n,o=t;for(const a of n.fields.byMember()){const r=e[a.localName];let i;if(a.repeated)i=r.map(Ee);else if(a.kind=="map"){i=o[a.localName];for(const[s,c]of Object.entries(r))i[s]=Ee(c)}else a.kind=="oneof"?i=a.findField(r.case)?{case:r.case,value:Ee(r.value)}:{case:void 0}:i=Ee(r);o[a.localName]=i}for(const a of n.runtime.bin.listUnknownFields(e))n.runtime.bin.onUnknownField(o,a.no,a.wireType,a.data);return t}}}function Ee(e){if(e===void 0)return e;if(K(e))return e.clone();if(e instanceof Uint8Array){const n=new Uint8Array(e.byteLength);return n.set(e),n}return e}function ie(e){return e instanceof Uint8Array?e:new Uint8Array(e)}function Or(e,n,t){return{syntax:e,json:Er(),bin:Nr(),util:Object.assign(Object.assign({},Pr()),{newFieldList:n,initFields:t}),makeMessageType(o,a,r){return sr(this,o,a,r)},makeEnum:ir,makeEnumType:Mt,getEnumType:rr,makeExtension(o,a,r){return hr(this,o,a,r)}}}var Dr=class{constructor(e,n){this._fields=e,this._normalizer=n}findJsonName(e){if(!this.jsonNames){const n={};for(const t of this.list())n[t.jsonName]=n[t.name]=t;this.jsonNames=n}return this.jsonNames[e]}find(e){if(!this.numbers){const n={};for(const t of this.list())n[t.no]=t;this.numbers=n}return this.numbers[e]}list(){return this.all||(this.all=this._normalizer(this._fields)),this.all}byNumber(){return this.numbersAsc||(this.numbersAsc=this.list().concat().sort((e,n)=>e.no-n.no)),this.numbersAsc}byMember(){if(!this.members){this.members=[];const e=this.members;let n;for(const t of this.list())t.oneof?t.oneof!==n&&(n=t.oneof,e.push(n)):e.push(t)}return this.members}};function Gt(e,n){const t=Vt(e);return n?t:Hr(Ur(t))}function Lr(e){return Gt(e,!1)}var xr=Vt;function Vt(e){let n=!1;const t=[];for(let o=0;o`${e}$`,Ur=e=>Fr.has(e)?$t(e):e,Hr=e=>Br.has(e)?$t(e):e,Gr=class{constructor(e){this.kind="oneof",this.repeated=!1,this.packed=!1,this.opt=!1,this.req=!1,this.default=void 0,this.fields=[],this.name=e,this.localName=Lr(e)}addField(e){S(e.oneof===this,`field ${e.name} not one of ${this.name}`),this.fields.push(e)}findField(e){if(!this._lookup){this._lookup=Object.create(null);for(let n=0;nnew Dr(e,n=>Vr(n)),e=>{for(const n of e.getType().fields.byMember()){if(n.opt)continue;const t=n.localName,o=e;if(n.repeated){o[t]=[];continue}switch(n.kind){case"oneof":o[t]={case:void 0};break;case"enum":o[t]=0;break;case"map":o[t]={};break;case"scalar":o[t]=z(n.T,n.L);break}}}),qt={};N(qt,{Channel:()=>de,ChannelSettings:()=>pn,Channel_Role:()=>Kt,ModuleSettings:()=>Xt});var pn=l.makeMessageType("meshtastic.ChannelSettings",()=>[{no:1,name:"channel_num",kind:"scalar",T:13},{no:2,name:"psk",kind:"scalar",T:12},{no:3,name:"name",kind:"scalar",T:9},{no:4,name:"id",kind:"scalar",T:7},{no:5,name:"uplink_enabled",kind:"scalar",T:8},{no:6,name:"downlink_enabled",kind:"scalar",T:8},{no:7,name:"module_settings",kind:"message",T:Xt}]),Xt=l.makeMessageType("meshtastic.ModuleSettings",()=>[{no:1,name:"position_precision",kind:"scalar",T:13},{no:2,name:"is_client_muted",kind:"scalar",T:8}]),de=l.makeMessageType("meshtastic.Channel",()=>[{no:1,name:"index",kind:"scalar",T:5},{no:2,name:"settings",kind:"message",T:pn},{no:3,name:"role",kind:"enum",T:l.getEnumType(Kt)}]),Kt=l.makeEnum("meshtastic.Channel.Role",[{no:0,name:"DISABLED"},{no:1,name:"PRIMARY"},{no:2,name:"SECONDARY"}]),W={};N(W,{ChunkedPayload:()=>ni,ChunkedPayloadResponse:()=>ti,ClientNotification:()=>Sa,Compressed:()=>Zr,Constants:()=>Wr,CriticalErrorCode:()=>Yr,Data:()=>ya,DeviceMetadata:()=>Wn,FileInfo:()=>Na,FromRadio:()=>zr,HardwareModel:()=>ke,Heartbeat:()=>Ia,LogRecord:()=>va,LogRecord_Level:()=>Kn,MeshPacket:()=>Y,MeshPacket_Delayed:()=>Ea,MeshPacket_Priority:()=>Ca,MqttClientProxyMessage:()=>qn,MyNodeInfo:()=>Xn,Neighbor:()=>Ma,NeighborInfo:()=>ei,NodeInfo:()=>ba,NodeRemoteHardwarePin:()=>Yn,Position:()=>Vn,Position_AltSource:()=>Ta,Position_LocSource:()=>$n,QueueStatus:()=>wa,RouteDiscovery:()=>mn,Routing:()=>Jr,Routing_Error:()=>ka,ToRadio:()=>Qr,User:()=>ue,Waypoint:()=>jr,resend_chunks:()=>Aa});var Wt={};N(Wt,{Config:()=>De,Config_BluetoothConfig:()=>vn,Config_BluetoothConfig_PairingMode:()=>aa,Config_DeviceConfig:()=>_n,Config_DeviceConfig_RebroadcastMode:()=>Yt,Config_DeviceConfig_Role:()=>oe,Config_DisplayConfig:()=>Cn,Config_DisplayConfig_CompassOrientation:()=>ta,Config_DisplayConfig_DisplayMode:()=>na,Config_DisplayConfig_DisplayUnits:()=>Zt,Config_DisplayConfig_GpsCoordinateFormat:()=>Qt,Config_DisplayConfig_OledType:()=>ea,Config_LoRaConfig:()=>Xe,Config_LoRaConfig_ModemPreset:()=>bn,Config_LoRaConfig_RegionCode:()=>En,Config_NetworkConfig:()=>yn,Config_NetworkConfig_AddressMode:()=>jt,Config_NetworkConfig_IpV4Config:()=>zt,Config_PositionConfig:()=>Tn,Config_PositionConfig_GpsMode:()=>Jt,Config_PositionConfig_PositionFlags:()=>$r,Config_PowerConfig:()=>kn,Config_SecurityConfig:()=>wn,Config_SessionkeyConfig:()=>oa});var De=l.makeMessageType("meshtastic.Config",()=>[{no:1,name:"device",kind:"message",T:_n,oneof:"payload_variant"},{no:2,name:"position",kind:"message",T:Tn,oneof:"payload_variant"},{no:3,name:"power",kind:"message",T:kn,oneof:"payload_variant"},{no:4,name:"network",kind:"message",T:yn,oneof:"payload_variant"},{no:5,name:"display",kind:"message",T:Cn,oneof:"payload_variant"},{no:6,name:"lora",kind:"message",T:Xe,oneof:"payload_variant"},{no:7,name:"bluetooth",kind:"message",T:vn,oneof:"payload_variant"},{no:8,name:"security",kind:"message",T:wn,oneof:"payload_variant"},{no:9,name:"sessionkey",kind:"message",T:oa,oneof:"payload_variant"}]),_n=l.makeMessageType("meshtastic.Config.DeviceConfig",()=>[{no:1,name:"role",kind:"enum",T:l.getEnumType(oe)},{no:2,name:"serial_enabled",kind:"scalar",T:8},{no:4,name:"button_gpio",kind:"scalar",T:13},{no:5,name:"buzzer_gpio",kind:"scalar",T:13},{no:6,name:"rebroadcast_mode",kind:"enum",T:l.getEnumType(Yt)},{no:7,name:"node_info_broadcast_secs",kind:"scalar",T:13},{no:8,name:"double_tap_as_button_press",kind:"scalar",T:8},{no:9,name:"is_managed",kind:"scalar",T:8},{no:10,name:"disable_triple_click",kind:"scalar",T:8},{no:11,name:"tzdef",kind:"scalar",T:9},{no:12,name:"led_heartbeat_disabled",kind:"scalar",T:8}],{localName:"Config_DeviceConfig"}),oe=l.makeEnum("meshtastic.Config.DeviceConfig.Role",[{no:0,name:"CLIENT"},{no:1,name:"CLIENT_MUTE"},{no:2,name:"ROUTER"},{no:3,name:"ROUTER_CLIENT"},{no:4,name:"REPEATER"},{no:5,name:"TRACKER"},{no:6,name:"SENSOR"},{no:7,name:"TAK"},{no:8,name:"CLIENT_HIDDEN"},{no:9,name:"LOST_AND_FOUND"},{no:10,name:"TAK_TRACKER"}]),Yt=l.makeEnum("meshtastic.Config.DeviceConfig.RebroadcastMode",[{no:0,name:"ALL"},{no:1,name:"ALL_SKIP_DECODING"},{no:2,name:"LOCAL_ONLY"},{no:3,name:"KNOWN_ONLY"}]),Tn=l.makeMessageType("meshtastic.Config.PositionConfig",()=>[{no:1,name:"position_broadcast_secs",kind:"scalar",T:13},{no:2,name:"position_broadcast_smart_enabled",kind:"scalar",T:8},{no:3,name:"fixed_position",kind:"scalar",T:8},{no:4,name:"gps_enabled",kind:"scalar",T:8},{no:5,name:"gps_update_interval",kind:"scalar",T:13},{no:6,name:"gps_attempt_time",kind:"scalar",T:13},{no:7,name:"position_flags",kind:"scalar",T:13},{no:8,name:"rx_gpio",kind:"scalar",T:13},{no:9,name:"tx_gpio",kind:"scalar",T:13},{no:10,name:"broadcast_smart_minimum_distance",kind:"scalar",T:13},{no:11,name:"broadcast_smart_minimum_interval_secs",kind:"scalar",T:13},{no:12,name:"gps_en_gpio",kind:"scalar",T:13},{no:13,name:"gps_mode",kind:"enum",T:l.getEnumType(Jt)}],{localName:"Config_PositionConfig"}),$r=l.makeEnum("meshtastic.Config.PositionConfig.PositionFlags",[{no:0,name:"UNSET"},{no:1,name:"ALTITUDE"},{no:2,name:"ALTITUDE_MSL"},{no:4,name:"GEOIDAL_SEPARATION"},{no:8,name:"DOP"},{no:16,name:"HVDOP"},{no:32,name:"SATINVIEW"},{no:64,name:"SEQ_NO"},{no:128,name:"TIMESTAMP"},{no:256,name:"HEADING"},{no:512,name:"SPEED"}]),Jt=l.makeEnum("meshtastic.Config.PositionConfig.GpsMode",[{no:0,name:"DISABLED"},{no:1,name:"ENABLED"},{no:2,name:"NOT_PRESENT"}]),kn=l.makeMessageType("meshtastic.Config.PowerConfig",()=>[{no:1,name:"is_power_saving",kind:"scalar",T:8},{no:2,name:"on_battery_shutdown_after_secs",kind:"scalar",T:13},{no:3,name:"adc_multiplier_override",kind:"scalar",T:2},{no:4,name:"wait_bluetooth_secs",kind:"scalar",T:13},{no:6,name:"sds_secs",kind:"scalar",T:13},{no:7,name:"ls_secs",kind:"scalar",T:13},{no:8,name:"min_wake_secs",kind:"scalar",T:13},{no:9,name:"device_battery_ina_address",kind:"scalar",T:13},{no:32,name:"powermon_enables",kind:"scalar",T:4}],{localName:"Config_PowerConfig"}),yn=l.makeMessageType("meshtastic.Config.NetworkConfig",()=>[{no:1,name:"wifi_enabled",kind:"scalar",T:8},{no:3,name:"wifi_ssid",kind:"scalar",T:9},{no:4,name:"wifi_psk",kind:"scalar",T:9},{no:5,name:"ntp_server",kind:"scalar",T:9},{no:6,name:"eth_enabled",kind:"scalar",T:8},{no:7,name:"address_mode",kind:"enum",T:l.getEnumType(jt)},{no:8,name:"ipv4_config",kind:"message",T:zt},{no:9,name:"rsyslog_server",kind:"scalar",T:9}],{localName:"Config_NetworkConfig"}),jt=l.makeEnum("meshtastic.Config.NetworkConfig.AddressMode",[{no:0,name:"DHCP"},{no:1,name:"STATIC"}]),zt=l.makeMessageType("meshtastic.Config.NetworkConfig.IpV4Config",()=>[{no:1,name:"ip",kind:"scalar",T:7},{no:2,name:"gateway",kind:"scalar",T:7},{no:3,name:"subnet",kind:"scalar",T:7},{no:4,name:"dns",kind:"scalar",T:7}],{localName:"Config_NetworkConfig_IpV4Config"}),Cn=l.makeMessageType("meshtastic.Config.DisplayConfig",()=>[{no:1,name:"screen_on_secs",kind:"scalar",T:13},{no:2,name:"gps_format",kind:"enum",T:l.getEnumType(Qt)},{no:3,name:"auto_screen_carousel_secs",kind:"scalar",T:13},{no:4,name:"compass_north_top",kind:"scalar",T:8},{no:5,name:"flip_screen",kind:"scalar",T:8},{no:6,name:"units",kind:"enum",T:l.getEnumType(Zt)},{no:7,name:"oled",kind:"enum",T:l.getEnumType(ea)},{no:8,name:"displaymode",kind:"enum",T:l.getEnumType(na)},{no:9,name:"heading_bold",kind:"scalar",T:8},{no:10,name:"wake_on_tap_or_motion",kind:"scalar",T:8},{no:11,name:"compass_orientation",kind:"enum",T:l.getEnumType(ta)}],{localName:"Config_DisplayConfig"}),Qt=l.makeEnum("meshtastic.Config.DisplayConfig.GpsCoordinateFormat",[{no:0,name:"DEC"},{no:1,name:"DMS"},{no:2,name:"UTM"},{no:3,name:"MGRS"},{no:4,name:"OLC"},{no:5,name:"OSGR"}]),Zt=l.makeEnum("meshtastic.Config.DisplayConfig.DisplayUnits",[{no:0,name:"METRIC"},{no:1,name:"IMPERIAL"}]),ea=l.makeEnum("meshtastic.Config.DisplayConfig.OledType",[{no:0,name:"OLED_AUTO"},{no:1,name:"OLED_SSD1306"},{no:2,name:"OLED_SH1106"},{no:3,name:"OLED_SH1107"}]),na=l.makeEnum("meshtastic.Config.DisplayConfig.DisplayMode",[{no:0,name:"DEFAULT"},{no:1,name:"TWOCOLOR"},{no:2,name:"INVERTED"},{no:3,name:"COLOR"}]),ta=l.makeEnum("meshtastic.Config.DisplayConfig.CompassOrientation",[{no:0,name:"DEGREES_0"},{no:1,name:"DEGREES_90"},{no:2,name:"DEGREES_180"},{no:3,name:"DEGREES_270"},{no:4,name:"DEGREES_0_INVERTED"},{no:5,name:"DEGREES_90_INVERTED"},{no:6,name:"DEGREES_180_INVERTED"},{no:7,name:"DEGREES_270_INVERTED"}]),Xe=l.makeMessageType("meshtastic.Config.LoRaConfig",()=>[{no:1,name:"use_preset",kind:"scalar",T:8},{no:2,name:"modem_preset",kind:"enum",T:l.getEnumType(bn)},{no:3,name:"bandwidth",kind:"scalar",T:13},{no:4,name:"spread_factor",kind:"scalar",T:13},{no:5,name:"coding_rate",kind:"scalar",T:13},{no:6,name:"frequency_offset",kind:"scalar",T:2},{no:7,name:"region",kind:"enum",T:l.getEnumType(En)},{no:8,name:"hop_limit",kind:"scalar",T:13},{no:9,name:"tx_enabled",kind:"scalar",T:8},{no:10,name:"tx_power",kind:"scalar",T:5},{no:11,name:"channel_num",kind:"scalar",T:13},{no:12,name:"override_duty_cycle",kind:"scalar",T:8},{no:13,name:"sx126x_rx_boosted_gain",kind:"scalar",T:8},{no:14,name:"override_frequency",kind:"scalar",T:2},{no:15,name:"pa_fan_disabled",kind:"scalar",T:8},{no:103,name:"ignore_incoming",kind:"scalar",T:13,repeated:!0},{no:104,name:"ignore_mqtt",kind:"scalar",T:8},{no:105,name:"config_ok_to_mqtt",kind:"scalar",T:8}],{localName:"Config_LoRaConfig"}),En=l.makeEnum("meshtastic.Config.LoRaConfig.RegionCode",[{no:0,name:"UNSET"},{no:1,name:"US"},{no:2,name:"EU_433"},{no:3,name:"EU_868"},{no:4,name:"CN"},{no:5,name:"JP"},{no:6,name:"ANZ"},{no:7,name:"KR"},{no:8,name:"TW"},{no:9,name:"RU"},{no:10,name:"IN"},{no:11,name:"NZ_865"},{no:12,name:"TH"},{no:13,name:"LORA_24"},{no:14,name:"UA_433"},{no:15,name:"UA_868"},{no:16,name:"MY_433"},{no:17,name:"MY_919"},{no:18,name:"SG_923"}]),bn=l.makeEnum("meshtastic.Config.LoRaConfig.ModemPreset",[{no:0,name:"LONG_FAST"},{no:1,name:"LONG_SLOW"},{no:2,name:"VERY_LONG_SLOW"},{no:3,name:"MEDIUM_SLOW"},{no:4,name:"MEDIUM_FAST"},{no:5,name:"SHORT_SLOW"},{no:6,name:"SHORT_FAST"},{no:7,name:"LONG_MODERATE"},{no:8,name:"SHORT_TURBO"}]),vn=l.makeMessageType("meshtastic.Config.BluetoothConfig",()=>[{no:1,name:"enabled",kind:"scalar",T:8},{no:2,name:"mode",kind:"enum",T:l.getEnumType(aa)},{no:3,name:"fixed_pin",kind:"scalar",T:13}],{localName:"Config_BluetoothConfig"}),aa=l.makeEnum("meshtastic.Config.BluetoothConfig.PairingMode",[{no:0,name:"RANDOM_PIN"},{no:1,name:"FIXED_PIN"},{no:2,name:"NO_PIN"}]),wn=l.makeMessageType("meshtastic.Config.SecurityConfig",()=>[{no:1,name:"public_key",kind:"scalar",T:12},{no:2,name:"private_key",kind:"scalar",T:12},{no:3,name:"admin_key",kind:"scalar",T:12,repeated:!0},{no:4,name:"is_managed",kind:"scalar",T:8},{no:5,name:"serial_enabled",kind:"scalar",T:8},{no:6,name:"debug_log_api_enabled",kind:"scalar",T:8},{no:8,name:"admin_channel_enabled",kind:"scalar",T:8}],{localName:"Config_SecurityConfig"}),oa=l.makeMessageType("meshtastic.Config.SessionkeyConfig",[],{localName:"Config_SessionkeyConfig"}),ra={};N(ra,{PortNum:()=>Sn});var Sn=l.makeEnum("meshtastic.PortNum",[{no:0,name:"UNKNOWN_APP"},{no:1,name:"TEXT_MESSAGE_APP"},{no:2,name:"REMOTE_HARDWARE_APP"},{no:3,name:"POSITION_APP"},{no:4,name:"NODEINFO_APP"},{no:5,name:"ROUTING_APP"},{no:6,name:"ADMIN_APP"},{no:7,name:"TEXT_MESSAGE_COMPRESSED_APP"},{no:8,name:"WAYPOINT_APP"},{no:9,name:"AUDIO_APP"},{no:10,name:"DETECTION_SENSOR_APP"},{no:32,name:"REPLY_APP"},{no:33,name:"IP_TUNNEL_APP"},{no:34,name:"PAXCOUNTER_APP"},{no:64,name:"SERIAL_APP"},{no:65,name:"STORE_FORWARD_APP"},{no:66,name:"RANGE_TEST_APP"},{no:67,name:"TELEMETRY_APP"},{no:68,name:"ZPS_APP"},{no:69,name:"SIMULATOR_APP"},{no:70,name:"TRACEROUTE_APP"},{no:71,name:"NEIGHBORINFO_APP"},{no:72,name:"ATAK_PLUGIN"},{no:73,name:"MAP_REPORT_APP"},{no:74,name:"POWERSTRESS_APP"},{no:256,name:"PRIVATE_APP"},{no:257,name:"ATAK_FORWARDER"},{no:511,name:"MAX"}]),ia={};N(ia,{AirQualityMetrics:()=>la,DeviceMetrics:()=>Ke,EnvironmentMetrics:()=>sa,LocalStats:()=>ma,Nau7802Config:()=>Kr,PowerMetrics:()=>ca,Telemetry:()=>Xr,TelemetrySensorType:()=>qr});var qr=l.makeEnum("meshtastic.TelemetrySensorType",[{no:0,name:"SENSOR_UNSET"},{no:1,name:"BME280"},{no:2,name:"BME680"},{no:3,name:"MCP9808"},{no:4,name:"INA260"},{no:5,name:"INA219"},{no:6,name:"BMP280"},{no:7,name:"SHTC3"},{no:8,name:"LPS22"},{no:9,name:"QMC6310"},{no:10,name:"QMI8658"},{no:11,name:"QMC5883L"},{no:12,name:"SHT31"},{no:13,name:"PMSA003I"},{no:14,name:"INA3221"},{no:15,name:"BMP085"},{no:16,name:"RCWL9620"},{no:17,name:"SHT4X"},{no:18,name:"VEML7700"},{no:19,name:"MLX90632"},{no:20,name:"OPT3001"},{no:21,name:"LTR390UV"},{no:22,name:"TSL25911FN"},{no:23,name:"AHT10"},{no:24,name:"DFROBOT_LARK"},{no:25,name:"NAU7802"},{no:26,name:"BMP3XX"},{no:27,name:"ICM20948"},{no:28,name:"MAX17048"},{no:29,name:"CUSTOM_SENSOR"}]),Ke=l.makeMessageType("meshtastic.DeviceMetrics",()=>[{no:1,name:"battery_level",kind:"scalar",T:13,opt:!0},{no:2,name:"voltage",kind:"scalar",T:2,opt:!0},{no:3,name:"channel_utilization",kind:"scalar",T:2,opt:!0},{no:4,name:"air_util_tx",kind:"scalar",T:2,opt:!0},{no:5,name:"uptime_seconds",kind:"scalar",T:13,opt:!0}]),sa=l.makeMessageType("meshtastic.EnvironmentMetrics",()=>[{no:1,name:"temperature",kind:"scalar",T:2,opt:!0},{no:2,name:"relative_humidity",kind:"scalar",T:2,opt:!0},{no:3,name:"barometric_pressure",kind:"scalar",T:2,opt:!0},{no:4,name:"gas_resistance",kind:"scalar",T:2,opt:!0},{no:5,name:"voltage",kind:"scalar",T:2,opt:!0},{no:6,name:"current",kind:"scalar",T:2,opt:!0},{no:7,name:"iaq",kind:"scalar",T:13,opt:!0},{no:8,name:"distance",kind:"scalar",T:2,opt:!0},{no:9,name:"lux",kind:"scalar",T:2,opt:!0},{no:10,name:"white_lux",kind:"scalar",T:2,opt:!0},{no:11,name:"ir_lux",kind:"scalar",T:2,opt:!0},{no:12,name:"uv_lux",kind:"scalar",T:2,opt:!0},{no:13,name:"wind_direction",kind:"scalar",T:13,opt:!0},{no:14,name:"wind_speed",kind:"scalar",T:2,opt:!0},{no:15,name:"weight",kind:"scalar",T:2,opt:!0},{no:16,name:"wind_gust",kind:"scalar",T:2,opt:!0},{no:17,name:"wind_lull",kind:"scalar",T:2,opt:!0}]),ca=l.makeMessageType("meshtastic.PowerMetrics",()=>[{no:1,name:"ch1_voltage",kind:"scalar",T:2,opt:!0},{no:2,name:"ch1_current",kind:"scalar",T:2,opt:!0},{no:3,name:"ch2_voltage",kind:"scalar",T:2,opt:!0},{no:4,name:"ch2_current",kind:"scalar",T:2,opt:!0},{no:5,name:"ch3_voltage",kind:"scalar",T:2,opt:!0},{no:6,name:"ch3_current",kind:"scalar",T:2,opt:!0}]),la=l.makeMessageType("meshtastic.AirQualityMetrics",()=>[{no:1,name:"pm10_standard",kind:"scalar",T:13,opt:!0},{no:2,name:"pm25_standard",kind:"scalar",T:13,opt:!0},{no:3,name:"pm100_standard",kind:"scalar",T:13,opt:!0},{no:4,name:"pm10_environmental",kind:"scalar",T:13,opt:!0},{no:5,name:"pm25_environmental",kind:"scalar",T:13,opt:!0},{no:6,name:"pm100_environmental",kind:"scalar",T:13,opt:!0},{no:7,name:"particles_03um",kind:"scalar",T:13,opt:!0},{no:8,name:"particles_05um",kind:"scalar",T:13,opt:!0},{no:9,name:"particles_10um",kind:"scalar",T:13,opt:!0},{no:10,name:"particles_25um",kind:"scalar",T:13,opt:!0},{no:11,name:"particles_50um",kind:"scalar",T:13,opt:!0},{no:12,name:"particles_100um",kind:"scalar",T:13,opt:!0}]),ma=l.makeMessageType("meshtastic.LocalStats",()=>[{no:1,name:"uptime_seconds",kind:"scalar",T:13},{no:2,name:"channel_utilization",kind:"scalar",T:2},{no:3,name:"air_util_tx",kind:"scalar",T:2},{no:4,name:"num_packets_tx",kind:"scalar",T:13},{no:5,name:"num_packets_rx",kind:"scalar",T:13},{no:6,name:"num_packets_rx_bad",kind:"scalar",T:13},{no:7,name:"num_online_nodes",kind:"scalar",T:13},{no:8,name:"num_total_nodes",kind:"scalar",T:13}]),Xr=l.makeMessageType("meshtastic.Telemetry",()=>[{no:1,name:"time",kind:"scalar",T:7},{no:2,name:"device_metrics",kind:"message",T:Ke,oneof:"variant"},{no:3,name:"environment_metrics",kind:"message",T:sa,oneof:"variant"},{no:4,name:"air_quality_metrics",kind:"message",T:la,oneof:"variant"},{no:5,name:"power_metrics",kind:"message",T:ca,oneof:"variant"},{no:6,name:"local_stats",kind:"message",T:ma,oneof:"variant"}]),Kr=l.makeMessageType("meshtastic.Nau7802Config",()=>[{no:1,name:"zeroOffset",kind:"scalar",T:5},{no:2,name:"calibrationFactor",kind:"scalar",T:2}]),da={};N(da,{ModuleConfig:()=>Le,ModuleConfig_AmbientLightingConfig:()=>Un,ModuleConfig_AudioConfig:()=>Rn,ModuleConfig_AudioConfig_Audio_Baud:()=>ga,ModuleConfig_CannedMessageConfig:()=>Fn,ModuleConfig_CannedMessageConfig_InputEventChar:()=>Re,ModuleConfig_DetectionSensorConfig:()=>An,ModuleConfig_ExternalNotificationConfig:()=>Dn,ModuleConfig_MQTTConfig:()=>Nn,ModuleConfig_MapReportSettings:()=>fa,ModuleConfig_NeighborInfoConfig:()=>In,ModuleConfig_PaxcounterConfig:()=>Pn,ModuleConfig_RangeTestConfig:()=>xn,ModuleConfig_RemoteHardwareConfig:()=>Mn,ModuleConfig_SerialConfig:()=>On,ModuleConfig_SerialConfig_Serial_Baud:()=>ha,ModuleConfig_SerialConfig_Serial_Mode:()=>pa,ModuleConfig_StoreForwardConfig:()=>Ln,ModuleConfig_TelemetryConfig:()=>Bn,RemoteHardwarePin:()=>Hn,RemoteHardwarePinType:()=>ua});var ua=l.makeEnum("meshtastic.RemoteHardwarePinType",[{no:0,name:"UNKNOWN"},{no:1,name:"DIGITAL_READ"},{no:2,name:"DIGITAL_WRITE"}]),Le=l.makeMessageType("meshtastic.ModuleConfig",()=>[{no:1,name:"mqtt",kind:"message",T:Nn,oneof:"payload_variant"},{no:2,name:"serial",kind:"message",T:On,oneof:"payload_variant"},{no:3,name:"external_notification",kind:"message",T:Dn,oneof:"payload_variant"},{no:4,name:"store_forward",kind:"message",T:Ln,oneof:"payload_variant"},{no:5,name:"range_test",kind:"message",T:xn,oneof:"payload_variant"},{no:6,name:"telemetry",kind:"message",T:Bn,oneof:"payload_variant"},{no:7,name:"canned_message",kind:"message",T:Fn,oneof:"payload_variant"},{no:8,name:"audio",kind:"message",T:Rn,oneof:"payload_variant"},{no:9,name:"remote_hardware",kind:"message",T:Mn,oneof:"payload_variant"},{no:10,name:"neighbor_info",kind:"message",T:In,oneof:"payload_variant"},{no:11,name:"ambient_lighting",kind:"message",T:Un,oneof:"payload_variant"},{no:12,name:"detection_sensor",kind:"message",T:An,oneof:"payload_variant"},{no:13,name:"paxcounter",kind:"message",T:Pn,oneof:"payload_variant"}]),Nn=l.makeMessageType("meshtastic.ModuleConfig.MQTTConfig",()=>[{no:1,name:"enabled",kind:"scalar",T:8},{no:2,name:"address",kind:"scalar",T:9},{no:3,name:"username",kind:"scalar",T:9},{no:4,name:"password",kind:"scalar",T:9},{no:5,name:"encryption_enabled",kind:"scalar",T:8},{no:6,name:"json_enabled",kind:"scalar",T:8},{no:7,name:"tls_enabled",kind:"scalar",T:8},{no:8,name:"root",kind:"scalar",T:9},{no:9,name:"proxy_to_client_enabled",kind:"scalar",T:8},{no:10,name:"map_reporting_enabled",kind:"scalar",T:8},{no:11,name:"map_report_settings",kind:"message",T:fa}],{localName:"ModuleConfig_MQTTConfig"}),fa=l.makeMessageType("meshtastic.ModuleConfig.MapReportSettings",()=>[{no:1,name:"publish_interval_secs",kind:"scalar",T:13},{no:2,name:"position_precision",kind:"scalar",T:13}],{localName:"ModuleConfig_MapReportSettings"}),Mn=l.makeMessageType("meshtastic.ModuleConfig.RemoteHardwareConfig",()=>[{no:1,name:"enabled",kind:"scalar",T:8},{no:2,name:"allow_undefined_pin_access",kind:"scalar",T:8},{no:3,name:"available_pins",kind:"message",T:Hn,repeated:!0}],{localName:"ModuleConfig_RemoteHardwareConfig"}),In=l.makeMessageType("meshtastic.ModuleConfig.NeighborInfoConfig",()=>[{no:1,name:"enabled",kind:"scalar",T:8},{no:2,name:"update_interval",kind:"scalar",T:13}],{localName:"ModuleConfig_NeighborInfoConfig"}),An=l.makeMessageType("meshtastic.ModuleConfig.DetectionSensorConfig",()=>[{no:1,name:"enabled",kind:"scalar",T:8},{no:2,name:"minimum_broadcast_secs",kind:"scalar",T:13},{no:3,name:"state_broadcast_secs",kind:"scalar",T:13},{no:4,name:"send_bell",kind:"scalar",T:8},{no:5,name:"name",kind:"scalar",T:9},{no:6,name:"monitor_pin",kind:"scalar",T:13},{no:7,name:"detection_triggered_high",kind:"scalar",T:8},{no:8,name:"use_pullup",kind:"scalar",T:8}],{localName:"ModuleConfig_DetectionSensorConfig"}),Rn=l.makeMessageType("meshtastic.ModuleConfig.AudioConfig",()=>[{no:1,name:"codec2_enabled",kind:"scalar",T:8},{no:2,name:"ptt_pin",kind:"scalar",T:13},{no:3,name:"bitrate",kind:"enum",T:l.getEnumType(ga)},{no:4,name:"i2s_ws",kind:"scalar",T:13},{no:5,name:"i2s_sd",kind:"scalar",T:13},{no:6,name:"i2s_din",kind:"scalar",T:13},{no:7,name:"i2s_sck",kind:"scalar",T:13}],{localName:"ModuleConfig_AudioConfig"}),ga=l.makeEnum("meshtastic.ModuleConfig.AudioConfig.Audio_Baud",[{no:0,name:"CODEC2_DEFAULT"},{no:1,name:"CODEC2_3200"},{no:2,name:"CODEC2_2400"},{no:3,name:"CODEC2_1600"},{no:4,name:"CODEC2_1400"},{no:5,name:"CODEC2_1300"},{no:6,name:"CODEC2_1200"},{no:7,name:"CODEC2_700"},{no:8,name:"CODEC2_700B"}]),Pn=l.makeMessageType("meshtastic.ModuleConfig.PaxcounterConfig",()=>[{no:1,name:"enabled",kind:"scalar",T:8},{no:2,name:"paxcounter_update_interval",kind:"scalar",T:13},{no:3,name:"wifi_threshold",kind:"scalar",T:5},{no:4,name:"ble_threshold",kind:"scalar",T:5}],{localName:"ModuleConfig_PaxcounterConfig"}),On=l.makeMessageType("meshtastic.ModuleConfig.SerialConfig",()=>[{no:1,name:"enabled",kind:"scalar",T:8},{no:2,name:"echo",kind:"scalar",T:8},{no:3,name:"rxd",kind:"scalar",T:13},{no:4,name:"txd",kind:"scalar",T:13},{no:5,name:"baud",kind:"enum",T:l.getEnumType(ha)},{no:6,name:"timeout",kind:"scalar",T:13},{no:7,name:"mode",kind:"enum",T:l.getEnumType(pa)},{no:8,name:"override_console_serial_port",kind:"scalar",T:8}],{localName:"ModuleConfig_SerialConfig"}),ha=l.makeEnum("meshtastic.ModuleConfig.SerialConfig.Serial_Baud",[{no:0,name:"BAUD_DEFAULT"},{no:1,name:"BAUD_110"},{no:2,name:"BAUD_300"},{no:3,name:"BAUD_600"},{no:4,name:"BAUD_1200"},{no:5,name:"BAUD_2400"},{no:6,name:"BAUD_4800"},{no:7,name:"BAUD_9600"},{no:8,name:"BAUD_19200"},{no:9,name:"BAUD_38400"},{no:10,name:"BAUD_57600"},{no:11,name:"BAUD_115200"},{no:12,name:"BAUD_230400"},{no:13,name:"BAUD_460800"},{no:14,name:"BAUD_576000"},{no:15,name:"BAUD_921600"}]),pa=l.makeEnum("meshtastic.ModuleConfig.SerialConfig.Serial_Mode",[{no:0,name:"DEFAULT"},{no:1,name:"SIMPLE"},{no:2,name:"PROTO"},{no:3,name:"TEXTMSG"},{no:4,name:"NMEA"},{no:5,name:"CALTOPO"},{no:6,name:"WS85"}]),Dn=l.makeMessageType("meshtastic.ModuleConfig.ExternalNotificationConfig",()=>[{no:1,name:"enabled",kind:"scalar",T:8},{no:2,name:"output_ms",kind:"scalar",T:13},{no:3,name:"output",kind:"scalar",T:13},{no:8,name:"output_vibra",kind:"scalar",T:13},{no:9,name:"output_buzzer",kind:"scalar",T:13},{no:4,name:"active",kind:"scalar",T:8},{no:5,name:"alert_message",kind:"scalar",T:8},{no:10,name:"alert_message_vibra",kind:"scalar",T:8},{no:11,name:"alert_message_buzzer",kind:"scalar",T:8},{no:6,name:"alert_bell",kind:"scalar",T:8},{no:12,name:"alert_bell_vibra",kind:"scalar",T:8},{no:13,name:"alert_bell_buzzer",kind:"scalar",T:8},{no:7,name:"use_pwm",kind:"scalar",T:8},{no:14,name:"nag_timeout",kind:"scalar",T:13},{no:15,name:"use_i2s_as_buzzer",kind:"scalar",T:8}],{localName:"ModuleConfig_ExternalNotificationConfig"}),Ln=l.makeMessageType("meshtastic.ModuleConfig.StoreForwardConfig",()=>[{no:1,name:"enabled",kind:"scalar",T:8},{no:2,name:"heartbeat",kind:"scalar",T:8},{no:3,name:"records",kind:"scalar",T:13},{no:4,name:"history_return_max",kind:"scalar",T:13},{no:5,name:"history_return_window",kind:"scalar",T:13},{no:6,name:"is_server",kind:"scalar",T:8}],{localName:"ModuleConfig_StoreForwardConfig"}),xn=l.makeMessageType("meshtastic.ModuleConfig.RangeTestConfig",()=>[{no:1,name:"enabled",kind:"scalar",T:8},{no:2,name:"sender",kind:"scalar",T:13},{no:3,name:"save",kind:"scalar",T:8}],{localName:"ModuleConfig_RangeTestConfig"}),Bn=l.makeMessageType("meshtastic.ModuleConfig.TelemetryConfig",()=>[{no:1,name:"device_update_interval",kind:"scalar",T:13},{no:2,name:"environment_update_interval",kind:"scalar",T:13},{no:3,name:"environment_measurement_enabled",kind:"scalar",T:8},{no:4,name:"environment_screen_enabled",kind:"scalar",T:8},{no:5,name:"environment_display_fahrenheit",kind:"scalar",T:8},{no:6,name:"air_quality_enabled",kind:"scalar",T:8},{no:7,name:"air_quality_interval",kind:"scalar",T:13},{no:8,name:"power_measurement_enabled",kind:"scalar",T:8},{no:9,name:"power_update_interval",kind:"scalar",T:13},{no:10,name:"power_screen_enabled",kind:"scalar",T:8}],{localName:"ModuleConfig_TelemetryConfig"}),Fn=l.makeMessageType("meshtastic.ModuleConfig.CannedMessageConfig",()=>[{no:1,name:"rotary1_enabled",kind:"scalar",T:8},{no:2,name:"inputbroker_pin_a",kind:"scalar",T:13},{no:3,name:"inputbroker_pin_b",kind:"scalar",T:13},{no:4,name:"inputbroker_pin_press",kind:"scalar",T:13},{no:5,name:"inputbroker_event_cw",kind:"enum",T:l.getEnumType(Re)},{no:6,name:"inputbroker_event_ccw",kind:"enum",T:l.getEnumType(Re)},{no:7,name:"inputbroker_event_press",kind:"enum",T:l.getEnumType(Re)},{no:8,name:"updown1_enabled",kind:"scalar",T:8},{no:9,name:"enabled",kind:"scalar",T:8},{no:10,name:"allow_input_source",kind:"scalar",T:9},{no:11,name:"send_bell",kind:"scalar",T:8}],{localName:"ModuleConfig_CannedMessageConfig"}),Re=l.makeEnum("meshtastic.ModuleConfig.CannedMessageConfig.InputEventChar",[{no:0,name:"NONE"},{no:17,name:"UP"},{no:18,name:"DOWN"},{no:19,name:"LEFT"},{no:20,name:"RIGHT"},{no:10,name:"SELECT"},{no:27,name:"BACK"},{no:24,name:"CANCEL"}]),Un=l.makeMessageType("meshtastic.ModuleConfig.AmbientLightingConfig",()=>[{no:1,name:"led_state",kind:"scalar",T:8},{no:2,name:"current",kind:"scalar",T:13},{no:3,name:"red",kind:"scalar",T:13},{no:4,name:"green",kind:"scalar",T:13},{no:5,name:"blue",kind:"scalar",T:13}],{localName:"ModuleConfig_AmbientLightingConfig"}),Hn=l.makeMessageType("meshtastic.RemoteHardwarePin",()=>[{no:1,name:"gpio_pin",kind:"scalar",T:13},{no:2,name:"name",kind:"scalar",T:9},{no:3,name:"type",kind:"enum",T:l.getEnumType(ua)}]),R={};N(R,{XModem:()=>Gn,XModem_Control:()=>_a});var Gn=l.makeMessageType("meshtastic.XModem",()=>[{no:1,name:"control",kind:"enum",T:l.getEnumType(_a)},{no:2,name:"seq",kind:"scalar",T:13},{no:3,name:"crc16",kind:"scalar",T:13},{no:4,name:"buffer",kind:"scalar",T:12}]),_a=l.makeEnum("meshtastic.XModem.Control",[{no:0,name:"NUL"},{no:1,name:"SOH"},{no:2,name:"STX"},{no:4,name:"EOT"},{no:6,name:"ACK"},{no:21,name:"NAK"},{no:24,name:"CAN"},{no:26,name:"CTRLZ"}]),ke=l.makeEnum("meshtastic.HardwareModel",[{no:0,name:"UNSET"},{no:1,name:"TLORA_V2"},{no:2,name:"TLORA_V1"},{no:3,name:"TLORA_V2_1_1P6"},{no:4,name:"TBEAM"},{no:5,name:"HELTEC_V2_0"},{no:6,name:"TBEAM_V0P7"},{no:7,name:"T_ECHO"},{no:8,name:"TLORA_V1_1P3"},{no:9,name:"RAK4631"},{no:10,name:"HELTEC_V2_1"},{no:11,name:"HELTEC_V1"},{no:12,name:"LILYGO_TBEAM_S3_CORE"},{no:13,name:"RAK11200"},{no:14,name:"NANO_G1"},{no:15,name:"TLORA_V2_1_1P8"},{no:16,name:"TLORA_T3_S3"},{no:17,name:"NANO_G1_EXPLORER"},{no:18,name:"NANO_G2_ULTRA"},{no:19,name:"LORA_TYPE"},{no:20,name:"WIPHONE"},{no:21,name:"WIO_WM1110"},{no:22,name:"RAK2560"},{no:23,name:"HELTEC_HRU_3601"},{no:25,name:"STATION_G1"},{no:26,name:"RAK11310"},{no:27,name:"SENSELORA_RP2040"},{no:28,name:"SENSELORA_S3"},{no:29,name:"CANARYONE"},{no:30,name:"RP2040_LORA"},{no:31,name:"STATION_G2"},{no:32,name:"LORA_RELAY_V1"},{no:33,name:"NRF52840DK"},{no:34,name:"PPR"},{no:35,name:"GENIEBLOCKS"},{no:36,name:"NRF52_UNKNOWN"},{no:37,name:"PORTDUINO"},{no:38,name:"ANDROID_SIM"},{no:39,name:"DIY_V1"},{no:40,name:"NRF52840_PCA10059"},{no:41,name:"DR_DEV"},{no:42,name:"M5STACK"},{no:43,name:"HELTEC_V3"},{no:44,name:"HELTEC_WSL_V3"},{no:45,name:"BETAFPV_2400_TX"},{no:46,name:"BETAFPV_900_NANO_TX"},{no:47,name:"RPI_PICO"},{no:48,name:"HELTEC_WIRELESS_TRACKER"},{no:49,name:"HELTEC_WIRELESS_PAPER"},{no:50,name:"T_DECK"},{no:51,name:"T_WATCH_S3"},{no:52,name:"PICOMPUTER_S3"},{no:53,name:"HELTEC_HT62"},{no:54,name:"EBYTE_ESP32_S3"},{no:55,name:"ESP32_S3_PICO"},{no:56,name:"CHATTER_2"},{no:57,name:"HELTEC_WIRELESS_PAPER_V1_0"},{no:58,name:"HELTEC_WIRELESS_TRACKER_V1_0"},{no:59,name:"UNPHONE"},{no:60,name:"TD_LORAC"},{no:61,name:"CDEBYTE_EORA_S3"},{no:62,name:"TWC_MESH_V4"},{no:63,name:"NRF52_PROMICRO_DIY"},{no:64,name:"RADIOMASTER_900_BANDIT_NANO"},{no:65,name:"HELTEC_CAPSULE_SENSOR_V3"},{no:66,name:"HELTEC_VISION_MASTER_T190"},{no:67,name:"HELTEC_VISION_MASTER_E213"},{no:68,name:"HELTEC_VISION_MASTER_E290"},{no:69,name:"HELTEC_MESH_NODE_T114"},{no:70,name:"SENSECAP_INDICATOR"},{no:71,name:"TRACKER_T1000_E"},{no:72,name:"RAK3172"},{no:73,name:"WIO_E5"},{no:74,name:"RADIOMASTER_900_BANDIT"},{no:75,name:"ME25LS01_4Y10TD"},{no:76,name:"RP2040_FEATHER_RFM95"},{no:77,name:"M5STACK_COREBASIC"},{no:78,name:"M5STACK_CORE2"},{no:255,name:"PRIVATE_HW"}]),Wr=l.makeEnum("meshtastic.Constants",[{no:0,name:"ZERO"},{no:237,name:"DATA_PAYLOAD_LEN"}]),Yr=l.makeEnum("meshtastic.CriticalErrorCode",[{no:0,name:"NONE"},{no:1,name:"TX_WATCHDOG"},{no:2,name:"SLEEP_ENTER_WAIT"},{no:3,name:"NO_RADIO"},{no:4,name:"UNSPECIFIED"},{no:5,name:"UBLOX_UNIT_FAILED"},{no:6,name:"NO_AXP192"},{no:7,name:"INVALID_RADIO_SETTING"},{no:8,name:"TRANSMIT_FAILED"},{no:9,name:"BROWNOUT"},{no:10,name:"SX1262_FAILURE"},{no:11,name:"RADIO_SPI_BUG"},{no:12,name:"FLASH_CORRUPTION_RECOVERABLE"},{no:13,name:"FLASH_CORRUPTION_UNRECOVERABLE"}]),Vn=l.makeMessageType("meshtastic.Position",()=>[{no:1,name:"latitude_i",kind:"scalar",T:15,opt:!0},{no:2,name:"longitude_i",kind:"scalar",T:15,opt:!0},{no:3,name:"altitude",kind:"scalar",T:5,opt:!0},{no:4,name:"time",kind:"scalar",T:7},{no:5,name:"location_source",kind:"enum",T:l.getEnumType($n)},{no:6,name:"altitude_source",kind:"enum",T:l.getEnumType(Ta)},{no:7,name:"timestamp",kind:"scalar",T:7},{no:8,name:"timestamp_millis_adjust",kind:"scalar",T:5},{no:9,name:"altitude_hae",kind:"scalar",T:17,opt:!0},{no:10,name:"altitude_geoidal_separation",kind:"scalar",T:17,opt:!0},{no:11,name:"PDOP",kind:"scalar",T:13},{no:12,name:"HDOP",kind:"scalar",T:13},{no:13,name:"VDOP",kind:"scalar",T:13},{no:14,name:"gps_accuracy",kind:"scalar",T:13},{no:15,name:"ground_speed",kind:"scalar",T:13,opt:!0},{no:16,name:"ground_track",kind:"scalar",T:13,opt:!0},{no:17,name:"fix_quality",kind:"scalar",T:13},{no:18,name:"fix_type",kind:"scalar",T:13},{no:19,name:"sats_in_view",kind:"scalar",T:13},{no:20,name:"sensor_id",kind:"scalar",T:13},{no:21,name:"next_update",kind:"scalar",T:13},{no:22,name:"seq_number",kind:"scalar",T:13},{no:23,name:"precision_bits",kind:"scalar",T:13}]),$n=l.makeEnum("meshtastic.Position.LocSource",[{no:0,name:"LOC_UNSET"},{no:1,name:"LOC_MANUAL"},{no:2,name:"LOC_INTERNAL"},{no:3,name:"LOC_EXTERNAL"}]),Ta=l.makeEnum("meshtastic.Position.AltSource",[{no:0,name:"ALT_UNSET"},{no:1,name:"ALT_MANUAL"},{no:2,name:"ALT_INTERNAL"},{no:3,name:"ALT_EXTERNAL"},{no:4,name:"ALT_BAROMETRIC"}]),ue=l.makeMessageType("meshtastic.User",()=>[{no:1,name:"id",kind:"scalar",T:9},{no:2,name:"long_name",kind:"scalar",T:9},{no:3,name:"short_name",kind:"scalar",T:9},{no:4,name:"macaddr",kind:"scalar",T:12},{no:5,name:"hw_model",kind:"enum",T:l.getEnumType(ke)},{no:6,name:"is_licensed",kind:"scalar",T:8},{no:7,name:"role",kind:"enum",T:l.getEnumType(oe)},{no:8,name:"public_key",kind:"scalar",T:12}]),mn=l.makeMessageType("meshtastic.RouteDiscovery",()=>[{no:1,name:"route",kind:"scalar",T:7,repeated:!0},{no:2,name:"snr_towards",kind:"scalar",T:5,repeated:!0},{no:3,name:"route_back",kind:"scalar",T:7,repeated:!0},{no:4,name:"snr_back",kind:"scalar",T:5,repeated:!0}]),Jr=l.makeMessageType("meshtastic.Routing",()=>[{no:1,name:"route_request",kind:"message",T:mn,oneof:"variant"},{no:2,name:"route_reply",kind:"message",T:mn,oneof:"variant"},{no:3,name:"error_reason",kind:"enum",T:l.getEnumType(ka),oneof:"variant"}]),ka=l.makeEnum("meshtastic.Routing.Error",[{no:0,name:"NONE"},{no:1,name:"NO_ROUTE"},{no:2,name:"GOT_NAK"},{no:3,name:"TIMEOUT"},{no:4,name:"NO_INTERFACE"},{no:5,name:"MAX_RETRANSMIT"},{no:6,name:"NO_CHANNEL"},{no:7,name:"TOO_LARGE"},{no:8,name:"NO_RESPONSE"},{no:9,name:"DUTY_CYCLE_LIMIT"},{no:32,name:"BAD_REQUEST"},{no:33,name:"NOT_AUTHORIZED"},{no:34,name:"PKI_FAILED"},{no:35,name:"PKI_UNKNOWN_PUBKEY"}]),ya=l.makeMessageType("meshtastic.Data",()=>[{no:1,name:"portnum",kind:"enum",T:l.getEnumType(Sn)},{no:2,name:"payload",kind:"scalar",T:12},{no:3,name:"want_response",kind:"scalar",T:8},{no:4,name:"dest",kind:"scalar",T:7},{no:5,name:"source",kind:"scalar",T:7},{no:6,name:"request_id",kind:"scalar",T:7},{no:7,name:"reply_id",kind:"scalar",T:7},{no:8,name:"emoji",kind:"scalar",T:7},{no:9,name:"bitfield",kind:"scalar",T:13,opt:!0}]),jr=l.makeMessageType("meshtastic.Waypoint",()=>[{no:1,name:"id",kind:"scalar",T:13},{no:2,name:"latitude_i",kind:"scalar",T:15,opt:!0},{no:3,name:"longitude_i",kind:"scalar",T:15,opt:!0},{no:4,name:"expire",kind:"scalar",T:13},{no:5,name:"locked_to",kind:"scalar",T:13},{no:6,name:"name",kind:"scalar",T:9},{no:7,name:"description",kind:"scalar",T:9},{no:8,name:"icon",kind:"scalar",T:7}]),qn=l.makeMessageType("meshtastic.MqttClientProxyMessage",()=>[{no:1,name:"topic",kind:"scalar",T:9},{no:2,name:"data",kind:"scalar",T:12,oneof:"payload_variant"},{no:3,name:"text",kind:"scalar",T:9,oneof:"payload_variant"},{no:4,name:"retained",kind:"scalar",T:8}]),Y=l.makeMessageType("meshtastic.MeshPacket",()=>[{no:1,name:"from",kind:"scalar",T:7},{no:2,name:"to",kind:"scalar",T:7},{no:3,name:"channel",kind:"scalar",T:13},{no:4,name:"decoded",kind:"message",T:ya,oneof:"payload_variant"},{no:5,name:"encrypted",kind:"scalar",T:12,oneof:"payload_variant"},{no:6,name:"id",kind:"scalar",T:7},{no:7,name:"rx_time",kind:"scalar",T:7},{no:8,name:"rx_snr",kind:"scalar",T:2},{no:9,name:"hop_limit",kind:"scalar",T:13},{no:10,name:"want_ack",kind:"scalar",T:8},{no:11,name:"priority",kind:"enum",T:l.getEnumType(Ca)},{no:12,name:"rx_rssi",kind:"scalar",T:5},{no:13,name:"delayed",kind:"enum",T:l.getEnumType(Ea)},{no:14,name:"via_mqtt",kind:"scalar",T:8},{no:15,name:"hop_start",kind:"scalar",T:13},{no:16,name:"public_key",kind:"scalar",T:12},{no:17,name:"pki_encrypted",kind:"scalar",T:8}]),Ca=l.makeEnum("meshtastic.MeshPacket.Priority",[{no:0,name:"UNSET"},{no:1,name:"MIN"},{no:10,name:"BACKGROUND"},{no:64,name:"DEFAULT"},{no:70,name:"RELIABLE"},{no:80,name:"RESPONSE"},{no:100,name:"HIGH"},{no:120,name:"ACK"},{no:127,name:"MAX"}]),Ea=l.makeEnum("meshtastic.MeshPacket.Delayed",[{no:0,name:"NO_DELAY"},{no:1,name:"DELAYED_BROADCAST"},{no:2,name:"DELAYED_DIRECT"}]),ba=l.makeMessageType("meshtastic.NodeInfo",()=>[{no:1,name:"num",kind:"scalar",T:13},{no:2,name:"user",kind:"message",T:ue},{no:3,name:"position",kind:"message",T:Vn},{no:4,name:"snr",kind:"scalar",T:2},{no:5,name:"last_heard",kind:"scalar",T:7},{no:6,name:"device_metrics",kind:"message",T:Ke},{no:7,name:"channel",kind:"scalar",T:13},{no:8,name:"via_mqtt",kind:"scalar",T:8},{no:9,name:"hops_away",kind:"scalar",T:13},{no:10,name:"is_favorite",kind:"scalar",T:8}]),Xn=l.makeMessageType("meshtastic.MyNodeInfo",()=>[{no:1,name:"my_node_num",kind:"scalar",T:13},{no:8,name:"reboot_count",kind:"scalar",T:13},{no:11,name:"min_app_version",kind:"scalar",T:13}]),va=l.makeMessageType("meshtastic.LogRecord",()=>[{no:1,name:"message",kind:"scalar",T:9},{no:2,name:"time",kind:"scalar",T:7},{no:3,name:"source",kind:"scalar",T:9},{no:4,name:"level",kind:"enum",T:l.getEnumType(Kn)}]),Kn=l.makeEnum("meshtastic.LogRecord.Level",[{no:0,name:"UNSET"},{no:50,name:"CRITICAL"},{no:40,name:"ERROR"},{no:30,name:"WARNING"},{no:20,name:"INFO"},{no:10,name:"DEBUG"},{no:5,name:"TRACE"}]),wa=l.makeMessageType("meshtastic.QueueStatus",()=>[{no:1,name:"res",kind:"scalar",T:5},{no:2,name:"free",kind:"scalar",T:13},{no:3,name:"maxlen",kind:"scalar",T:13},{no:4,name:"mesh_packet_id",kind:"scalar",T:13}]),zr=l.makeMessageType("meshtastic.FromRadio",()=>[{no:1,name:"id",kind:"scalar",T:13},{no:2,name:"packet",kind:"message",T:Y,oneof:"payload_variant"},{no:3,name:"my_info",kind:"message",T:Xn,oneof:"payload_variant"},{no:4,name:"node_info",kind:"message",T:ba,oneof:"payload_variant"},{no:5,name:"config",kind:"message",T:De,oneof:"payload_variant"},{no:6,name:"log_record",kind:"message",T:va,oneof:"payload_variant"},{no:7,name:"config_complete_id",kind:"scalar",T:13,oneof:"payload_variant"},{no:8,name:"rebooted",kind:"scalar",T:8,oneof:"payload_variant"},{no:9,name:"moduleConfig",kind:"message",T:Le,oneof:"payload_variant"},{no:10,name:"channel",kind:"message",T:de,oneof:"payload_variant"},{no:11,name:"queueStatus",kind:"message",T:wa,oneof:"payload_variant"},{no:12,name:"xmodemPacket",kind:"message",T:Gn,oneof:"payload_variant"},{no:13,name:"metadata",kind:"message",T:Wn,oneof:"payload_variant"},{no:14,name:"mqttClientProxyMessage",kind:"message",T:qn,oneof:"payload_variant"},{no:15,name:"fileInfo",kind:"message",T:Na,oneof:"payload_variant"},{no:16,name:"clientNotification",kind:"message",T:Sa,oneof:"payload_variant"}]),Sa=l.makeMessageType("meshtastic.ClientNotification",()=>[{no:1,name:"reply_id",kind:"scalar",T:13,opt:!0},{no:2,name:"time",kind:"scalar",T:7},{no:3,name:"level",kind:"enum",T:l.getEnumType(Kn)},{no:4,name:"message",kind:"scalar",T:9}]),Na=l.makeMessageType("meshtastic.FileInfo",()=>[{no:1,name:"file_name",kind:"scalar",T:9},{no:2,name:"size_bytes",kind:"scalar",T:13}]),Qr=l.makeMessageType("meshtastic.ToRadio",()=>[{no:1,name:"packet",kind:"message",T:Y,oneof:"payload_variant"},{no:3,name:"want_config_id",kind:"scalar",T:13,oneof:"payload_variant"},{no:4,name:"disconnect",kind:"scalar",T:8,oneof:"payload_variant"},{no:5,name:"xmodemPacket",kind:"message",T:Gn,oneof:"payload_variant"},{no:6,name:"mqttClientProxyMessage",kind:"message",T:qn,oneof:"payload_variant"},{no:7,name:"heartbeat",kind:"message",T:Ia,oneof:"payload_variant"}]),Zr=l.makeMessageType("meshtastic.Compressed",()=>[{no:1,name:"portnum",kind:"enum",T:l.getEnumType(Sn)},{no:2,name:"data",kind:"scalar",T:12}]),ei=l.makeMessageType("meshtastic.NeighborInfo",()=>[{no:1,name:"node_id",kind:"scalar",T:13},{no:2,name:"last_sent_by_id",kind:"scalar",T:13},{no:3,name:"node_broadcast_interval_secs",kind:"scalar",T:13},{no:4,name:"neighbors",kind:"message",T:Ma,repeated:!0}]),Ma=l.makeMessageType("meshtastic.Neighbor",()=>[{no:1,name:"node_id",kind:"scalar",T:13},{no:2,name:"snr",kind:"scalar",T:2},{no:3,name:"last_rx_time",kind:"scalar",T:7},{no:4,name:"node_broadcast_interval_secs",kind:"scalar",T:13}]),Wn=l.makeMessageType("meshtastic.DeviceMetadata",()=>[{no:1,name:"firmware_version",kind:"scalar",T:9},{no:2,name:"device_state_version",kind:"scalar",T:13},{no:3,name:"canShutdown",kind:"scalar",T:8},{no:4,name:"hasWifi",kind:"scalar",T:8},{no:5,name:"hasBluetooth",kind:"scalar",T:8},{no:6,name:"hasEthernet",kind:"scalar",T:8},{no:7,name:"role",kind:"enum",T:l.getEnumType(oe)},{no:8,name:"position_flags",kind:"scalar",T:13},{no:9,name:"hw_model",kind:"enum",T:l.getEnumType(ke)},{no:10,name:"hasRemoteHardware",kind:"scalar",T:8}]),Ia=l.makeMessageType("meshtastic.Heartbeat",[]),Yn=l.makeMessageType("meshtastic.NodeRemoteHardwarePin",()=>[{no:1,name:"node_num",kind:"scalar",T:13},{no:2,name:"pin",kind:"message",T:Hn}]),ni=l.makeMessageType("meshtastic.ChunkedPayload",()=>[{no:1,name:"payload_id",kind:"scalar",T:13},{no:2,name:"chunk_count",kind:"scalar",T:13},{no:3,name:"chunk_index",kind:"scalar",T:13},{no:4,name:"payload_chunk",kind:"scalar",T:12}]),Aa=l.makeMessageType("meshtastic.resend_chunks",()=>[{no:1,name:"chunks",kind:"scalar",T:13,repeated:!0}]),ti=l.makeMessageType("meshtastic.ChunkedPayloadResponse",()=>[{no:1,name:"payload_id",kind:"scalar",T:13},{no:2,name:"request_transfer",kind:"scalar",T:8,oneof:"payload_variant"},{no:3,name:"accept_transfer",kind:"scalar",T:8,oneof:"payload_variant"},{no:4,name:"resend_chunks",kind:"message",T:Aa,oneof:"payload_variant"}]),Ra={};N(Ra,{BluetoothConnectionStatus:()=>La,DeviceConnectionStatus:()=>Pa,EthernetConnectionStatus:()=>Da,NetworkConnectionStatus:()=>Jn,SerialConnectionStatus:()=>xa,WifiConnectionStatus:()=>Oa});var Pa=l.makeMessageType("meshtastic.DeviceConnectionStatus",()=>[{no:1,name:"wifi",kind:"message",T:Oa,opt:!0},{no:2,name:"ethernet",kind:"message",T:Da,opt:!0},{no:3,name:"bluetooth",kind:"message",T:La,opt:!0},{no:4,name:"serial",kind:"message",T:xa,opt:!0}]),Oa=l.makeMessageType("meshtastic.WifiConnectionStatus",()=>[{no:1,name:"status",kind:"message",T:Jn},{no:2,name:"ssid",kind:"scalar",T:9},{no:3,name:"rssi",kind:"scalar",T:5}]),Da=l.makeMessageType("meshtastic.EthernetConnectionStatus",()=>[{no:1,name:"status",kind:"message",T:Jn}]),Jn=l.makeMessageType("meshtastic.NetworkConnectionStatus",()=>[{no:1,name:"ip_address",kind:"scalar",T:7},{no:2,name:"is_connected",kind:"scalar",T:8},{no:3,name:"is_mqtt_connected",kind:"scalar",T:8},{no:4,name:"is_syslog_connected",kind:"scalar",T:8}]),La=l.makeMessageType("meshtastic.BluetoothConnectionStatus",()=>[{no:1,name:"pin",kind:"scalar",T:13},{no:2,name:"rssi",kind:"scalar",T:5},{no:3,name:"is_connected",kind:"scalar",T:8}]),xa=l.makeMessageType("meshtastic.SerialConnectionStatus",()=>[{no:1,name:"baud",kind:"scalar",T:13},{no:2,name:"is_connected",kind:"scalar",T:8}]),ai=l.makeMessageType("meshtastic.AdminMessage",()=>[{no:101,name:"session_passkey",kind:"scalar",T:12},{no:1,name:"get_channel_request",kind:"scalar",T:13,oneof:"payload_variant"},{no:2,name:"get_channel_response",kind:"message",T:de,oneof:"payload_variant"},{no:3,name:"get_owner_request",kind:"scalar",T:8,oneof:"payload_variant"},{no:4,name:"get_owner_response",kind:"message",T:ue,oneof:"payload_variant"},{no:5,name:"get_config_request",kind:"enum",T:l.getEnumType(Ba),oneof:"payload_variant"},{no:6,name:"get_config_response",kind:"message",T:De,oneof:"payload_variant"},{no:7,name:"get_module_config_request",kind:"enum",T:l.getEnumType(Fa),oneof:"payload_variant"},{no:8,name:"get_module_config_response",kind:"message",T:Le,oneof:"payload_variant"},{no:10,name:"get_canned_message_module_messages_request",kind:"scalar",T:8,oneof:"payload_variant"},{no:11,name:"get_canned_message_module_messages_response",kind:"scalar",T:9,oneof:"payload_variant"},{no:12,name:"get_device_metadata_request",kind:"scalar",T:8,oneof:"payload_variant"},{no:13,name:"get_device_metadata_response",kind:"message",T:Wn,oneof:"payload_variant"},{no:14,name:"get_ringtone_request",kind:"scalar",T:8,oneof:"payload_variant"},{no:15,name:"get_ringtone_response",kind:"scalar",T:9,oneof:"payload_variant"},{no:16,name:"get_device_connection_status_request",kind:"scalar",T:8,oneof:"payload_variant"},{no:17,name:"get_device_connection_status_response",kind:"message",T:Pa,oneof:"payload_variant"},{no:18,name:"set_ham_mode",kind:"message",T:Ua,oneof:"payload_variant"},{no:19,name:"get_node_remote_hardware_pins_request",kind:"scalar",T:8,oneof:"payload_variant"},{no:20,name:"get_node_remote_hardware_pins_response",kind:"message",T:Ha,oneof:"payload_variant"},{no:21,name:"enter_dfu_mode_request",kind:"scalar",T:8,oneof:"payload_variant"},{no:22,name:"delete_file_request",kind:"scalar",T:9,oneof:"payload_variant"},{no:23,name:"set_scale",kind:"scalar",T:13,oneof:"payload_variant"},{no:32,name:"set_owner",kind:"message",T:ue,oneof:"payload_variant"},{no:33,name:"set_channel",kind:"message",T:de,oneof:"payload_variant"},{no:34,name:"set_config",kind:"message",T:De,oneof:"payload_variant"},{no:35,name:"set_module_config",kind:"message",T:Le,oneof:"payload_variant"},{no:36,name:"set_canned_message_module_messages",kind:"scalar",T:9,oneof:"payload_variant"},{no:37,name:"set_ringtone_message",kind:"scalar",T:9,oneof:"payload_variant"},{no:38,name:"remove_by_nodenum",kind:"scalar",T:13,oneof:"payload_variant"},{no:39,name:"set_favorite_node",kind:"scalar",T:13,oneof:"payload_variant"},{no:40,name:"remove_favorite_node",kind:"scalar",T:13,oneof:"payload_variant"},{no:41,name:"set_fixed_position",kind:"message",T:Vn,oneof:"payload_variant"},{no:42,name:"remove_fixed_position",kind:"scalar",T:8,oneof:"payload_variant"},{no:43,name:"set_time_only",kind:"scalar",T:7,oneof:"payload_variant"},{no:64,name:"begin_edit_settings",kind:"scalar",T:8,oneof:"payload_variant"},{no:65,name:"commit_edit_settings",kind:"scalar",T:8,oneof:"payload_variant"},{no:94,name:"factory_reset_device",kind:"scalar",T:5,oneof:"payload_variant"},{no:95,name:"reboot_ota_seconds",kind:"scalar",T:5,oneof:"payload_variant"},{no:96,name:"exit_simulator",kind:"scalar",T:8,oneof:"payload_variant"},{no:97,name:"reboot_seconds",kind:"scalar",T:5,oneof:"payload_variant"},{no:98,name:"shutdown_seconds",kind:"scalar",T:5,oneof:"payload_variant"},{no:99,name:"factory_reset_config",kind:"scalar",T:5,oneof:"payload_variant"},{no:100,name:"nodedb_reset",kind:"scalar",T:5,oneof:"payload_variant"}]),Ba=l.makeEnum("meshtastic.AdminMessage.ConfigType",[{no:0,name:"DEVICE_CONFIG"},{no:1,name:"POSITION_CONFIG"},{no:2,name:"POWER_CONFIG"},{no:3,name:"NETWORK_CONFIG"},{no:4,name:"DISPLAY_CONFIG"},{no:5,name:"LORA_CONFIG"},{no:6,name:"BLUETOOTH_CONFIG"},{no:7,name:"SECURITY_CONFIG"},{no:8,name:"SESSIONKEY_CONFIG"}]),Fa=l.makeEnum("meshtastic.AdminMessage.ModuleConfigType",[{no:0,name:"MQTT_CONFIG"},{no:1,name:"SERIAL_CONFIG"},{no:2,name:"EXTNOTIF_CONFIG"},{no:3,name:"STOREFORWARD_CONFIG"},{no:4,name:"RANGETEST_CONFIG"},{no:5,name:"TELEMETRY_CONFIG"},{no:6,name:"CANNEDMSG_CONFIG"},{no:7,name:"AUDIO_CONFIG"},{no:8,name:"REMOTEHARDWARE_CONFIG"},{no:9,name:"NEIGHBORINFO_CONFIG"},{no:10,name:"AMBIENTLIGHTING_CONFIG"},{no:11,name:"DETECTIONSENSOR_CONFIG"},{no:12,name:"PAXCOUNTER_CONFIG"}]),Ua=l.makeMessageType("meshtastic.HamParameters",()=>[{no:1,name:"call_sign",kind:"scalar",T:9},{no:2,name:"tx_power",kind:"scalar",T:5},{no:3,name:"frequency",kind:"scalar",T:2},{no:4,name:"short_name",kind:"scalar",T:9}]),Ha=l.makeMessageType("meshtastic.NodeRemoteHardwarePinsResponse",()=>[{no:1,name:"node_remote_hardware_pins",kind:"message",T:Yn,repeated:!0}]),Ga={};N(Ga,{ChannelSet:()=>oi});var oi=l.makeMessageType("meshtastic.ChannelSet",()=>[{no:1,name:"settings",kind:"message",T:pn,repeated:!0},{no:2,name:"lora_config",kind:"message",T:Xe}]),Va={};N(Va,{CannedMessageModuleConfig:()=>ri});var ri=l.makeMessageType("meshtastic.CannedMessageModuleConfig",()=>[{no:1,name:"messages",kind:"scalar",T:9}]),$a={};N($a,{DeviceProfile:()=>ii});var qa={};N(qa,{LocalConfig:()=>jn,LocalModuleConfig:()=>zn});var jn=l.makeMessageType("meshtastic.LocalConfig",()=>[{no:1,name:"device",kind:"message",T:_n},{no:2,name:"position",kind:"message",T:Tn},{no:3,name:"power",kind:"message",T:kn},{no:4,name:"network",kind:"message",T:yn},{no:5,name:"display",kind:"message",T:Cn},{no:6,name:"lora",kind:"message",T:Xe},{no:7,name:"bluetooth",kind:"message",T:vn},{no:8,name:"version",kind:"scalar",T:13},{no:9,name:"security",kind:"message",T:wn}]),zn=l.makeMessageType("meshtastic.LocalModuleConfig",()=>[{no:1,name:"mqtt",kind:"message",T:Nn},{no:2,name:"serial",kind:"message",T:On},{no:3,name:"external_notification",kind:"message",T:Dn},{no:4,name:"store_forward",kind:"message",T:Ln},{no:5,name:"range_test",kind:"message",T:xn},{no:6,name:"telemetry",kind:"message",T:Bn},{no:7,name:"canned_message",kind:"message",T:Fn},{no:9,name:"audio",kind:"message",T:Rn},{no:10,name:"remote_hardware",kind:"message",T:Mn},{no:11,name:"neighbor_info",kind:"message",T:In},{no:12,name:"ambient_lighting",kind:"message",T:Un},{no:13,name:"detection_sensor",kind:"message",T:An},{no:14,name:"paxcounter",kind:"message",T:Pn},{no:8,name:"version",kind:"scalar",T:13}]),ii=l.makeMessageType("meshtastic.DeviceProfile",()=>[{no:1,name:"long_name",kind:"scalar",T:9,opt:!0},{no:2,name:"short_name",kind:"scalar",T:9,opt:!0},{no:3,name:"channel_url",kind:"scalar",T:9,opt:!0},{no:4,name:"config",kind:"message",T:jn,opt:!0},{no:5,name:"module_config",kind:"message",T:zn,opt:!0}]),Xa={};N(Xa,{ChannelFile:()=>ci,DeviceState:()=>si,NodeInfoLite:()=>Ja,OEMStore:()=>li,PositionLite:()=>Wa,ScreenFonts:()=>Ka,UserLite:()=>Ya});var Ka=l.makeEnum("meshtastic.ScreenFonts",[{no:0,name:"FONT_SMALL"},{no:1,name:"FONT_MEDIUM"},{no:2,name:"FONT_LARGE"}]),Wa=l.makeMessageType("meshtastic.PositionLite",()=>[{no:1,name:"latitude_i",kind:"scalar",T:15},{no:2,name:"longitude_i",kind:"scalar",T:15},{no:3,name:"altitude",kind:"scalar",T:5},{no:4,name:"time",kind:"scalar",T:7},{no:5,name:"location_source",kind:"enum",T:l.getEnumType($n)}]),Ya=l.makeMessageType("meshtastic.UserLite",()=>[{no:1,name:"macaddr",kind:"scalar",T:12},{no:2,name:"long_name",kind:"scalar",T:9},{no:3,name:"short_name",kind:"scalar",T:9},{no:4,name:"hw_model",kind:"enum",T:l.getEnumType(ke)},{no:5,name:"is_licensed",kind:"scalar",T:8},{no:6,name:"role",kind:"enum",T:l.getEnumType(oe)},{no:7,name:"public_key",kind:"scalar",T:12}]),Ja=l.makeMessageType("meshtastic.NodeInfoLite",()=>[{no:1,name:"num",kind:"scalar",T:13},{no:2,name:"user",kind:"message",T:Ya},{no:3,name:"position",kind:"message",T:Wa},{no:4,name:"snr",kind:"scalar",T:2},{no:5,name:"last_heard",kind:"scalar",T:7},{no:6,name:"device_metrics",kind:"message",T:Ke},{no:7,name:"channel",kind:"scalar",T:13},{no:8,name:"via_mqtt",kind:"scalar",T:8},{no:9,name:"hops_away",kind:"scalar",T:13},{no:10,name:"is_favorite",kind:"scalar",T:8}]),si=l.makeMessageType("meshtastic.DeviceState",()=>[{no:2,name:"my_node",kind:"message",T:Xn},{no:3,name:"owner",kind:"message",T:ue},{no:5,name:"receive_queue",kind:"message",T:Y,repeated:!0},{no:8,name:"version",kind:"scalar",T:13},{no:7,name:"rx_text_message",kind:"message",T:Y},{no:9,name:"no_save",kind:"scalar",T:8},{no:11,name:"did_gps_reset",kind:"scalar",T:8},{no:12,name:"rx_waypoint",kind:"message",T:Y},{no:13,name:"node_remote_hardware_pins",kind:"message",T:Yn,repeated:!0},{no:14,name:"node_db_lite",kind:"message",T:Ja,repeated:!0}]),ci=l.makeMessageType("meshtastic.ChannelFile",()=>[{no:1,name:"channels",kind:"message",T:de,repeated:!0},{no:2,name:"version",kind:"scalar",T:13}]),li=l.makeMessageType("meshtastic.OEMStore",()=>[{no:1,name:"oem_icon_width",kind:"scalar",T:13},{no:2,name:"oem_icon_height",kind:"scalar",T:13},{no:3,name:"oem_icon_bits",kind:"scalar",T:12},{no:4,name:"oem_font",kind:"enum",T:l.getEnumType(Ka)},{no:5,name:"oem_text",kind:"scalar",T:9},{no:6,name:"oem_aes_key",kind:"scalar",T:12},{no:7,name:"oem_local_config",kind:"message",T:jn},{no:8,name:"oem_local_module_config",kind:"message",T:zn}]),ja={};N(ja,{MapReport:()=>di,ServiceEnvelope:()=>mi});var mi=l.makeMessageType("meshtastic.ServiceEnvelope",()=>[{no:1,name:"packet",kind:"message",T:Y},{no:2,name:"channel_id",kind:"scalar",T:9},{no:3,name:"gateway_id",kind:"scalar",T:9}]),di=l.makeMessageType("meshtastic.MapReport",()=>[{no:1,name:"long_name",kind:"scalar",T:9},{no:2,name:"short_name",kind:"scalar",T:9},{no:3,name:"role",kind:"enum",T:l.getEnumType(oe)},{no:4,name:"hw_model",kind:"enum",T:l.getEnumType(ke)},{no:5,name:"firmware_version",kind:"scalar",T:9},{no:6,name:"region",kind:"enum",T:l.getEnumType(En)},{no:7,name:"modem_preset",kind:"enum",T:l.getEnumType(bn)},{no:8,name:"has_default_channel",kind:"scalar",T:8},{no:9,name:"latitude_i",kind:"scalar",T:15},{no:10,name:"longitude_i",kind:"scalar",T:15},{no:11,name:"altitude",kind:"scalar",T:5},{no:12,name:"position_precision",kind:"scalar",T:13},{no:13,name:"num_online_local_nodes",kind:"scalar",T:13}]),za={};N(za,{Paxcount:()=>ui});var ui=l.makeMessageType("meshtastic.Paxcount",()=>[{no:1,name:"wifi",kind:"scalar",T:13},{no:2,name:"ble",kind:"scalar",T:13},{no:3,name:"uptime",kind:"scalar",T:13}]),Qa={};N(Qa,{HardwareMessage:()=>fi,HardwareMessage_Type:()=>Za});var fi=l.makeMessageType("meshtastic.HardwareMessage",()=>[{no:1,name:"type",kind:"enum",T:l.getEnumType(Za)},{no:2,name:"gpio_mask",kind:"scalar",T:4},{no:3,name:"gpio_value",kind:"scalar",T:4}]),Za=l.makeEnum("meshtastic.HardwareMessage.Type",[{no:0,name:"UNSET"},{no:1,name:"WRITE_GPIOS"},{no:2,name:"WATCH_GPIOS"},{no:3,name:"GPIOS_CHANGED"},{no:4,name:"READ_GPIOS"},{no:5,name:"READ_GPIOS_REPLY"}]),eo={};N(eo,{RTTTLConfig:()=>gi});var gi=l.makeMessageType("meshtastic.RTTTLConfig",()=>[{no:1,name:"ringtone",kind:"scalar",T:9}]),no={};N(no,{StoreAndForward:()=>hi,StoreAndForward_Heartbeat:()=>ro,StoreAndForward_History:()=>oo,StoreAndForward_RequestResponse:()=>to,StoreAndForward_Statistics:()=>ao});var hi=l.makeMessageType("meshtastic.StoreAndForward",()=>[{no:1,name:"rr",kind:"enum",T:l.getEnumType(to)},{no:2,name:"stats",kind:"message",T:ao,oneof:"variant"},{no:3,name:"history",kind:"message",T:oo,oneof:"variant"},{no:4,name:"heartbeat",kind:"message",T:ro,oneof:"variant"},{no:5,name:"text",kind:"scalar",T:12,oneof:"variant"}]),to=l.makeEnum("meshtastic.StoreAndForward.RequestResponse",[{no:0,name:"UNSET"},{no:1,name:"ROUTER_ERROR"},{no:2,name:"ROUTER_HEARTBEAT"},{no:3,name:"ROUTER_PING"},{no:4,name:"ROUTER_PONG"},{no:5,name:"ROUTER_BUSY"},{no:6,name:"ROUTER_HISTORY"},{no:7,name:"ROUTER_STATS"},{no:8,name:"ROUTER_TEXT_DIRECT"},{no:9,name:"ROUTER_TEXT_BROADCAST"},{no:64,name:"CLIENT_ERROR"},{no:65,name:"CLIENT_HISTORY"},{no:66,name:"CLIENT_STATS"},{no:67,name:"CLIENT_PING"},{no:68,name:"CLIENT_PONG"},{no:106,name:"CLIENT_ABORT"}]),ao=l.makeMessageType("meshtastic.StoreAndForward.Statistics",()=>[{no:1,name:"messages_total",kind:"scalar",T:13},{no:2,name:"messages_saved",kind:"scalar",T:13},{no:3,name:"messages_max",kind:"scalar",T:13},{no:4,name:"up_time",kind:"scalar",T:13},{no:5,name:"requests",kind:"scalar",T:13},{no:6,name:"requests_history",kind:"scalar",T:13},{no:7,name:"heartbeat",kind:"scalar",T:8},{no:8,name:"return_max",kind:"scalar",T:13},{no:9,name:"return_window",kind:"scalar",T:13}],{localName:"StoreAndForward_Statistics"}),oo=l.makeMessageType("meshtastic.StoreAndForward.History",()=>[{no:1,name:"history_messages",kind:"scalar",T:13},{no:2,name:"window",kind:"scalar",T:13},{no:3,name:"last_request",kind:"scalar",T:13}],{localName:"StoreAndForward_History"}),ro=l.makeMessageType("meshtastic.StoreAndForward.Heartbeat",()=>[{no:1,name:"period",kind:"scalar",T:13},{no:2,name:"secondary",kind:"scalar",T:13}],{localName:"StoreAndForward_Heartbeat"}),pi={};N(pi,{ChannelNumber:()=>lo,DeviceStatusEnum:()=>io,Emitter:()=>co,EmitterScope:()=>so});var io=(e=>(e[e.DeviceRestarting=1]="DeviceRestarting",e[e.DeviceDisconnected=2]="DeviceDisconnected",e[e.DeviceConnecting=3]="DeviceConnecting",e[e.DeviceReconnecting=4]="DeviceReconnecting",e[e.DeviceConnected=5]="DeviceConnected",e[e.DeviceConfiguring=6]="DeviceConfiguring",e[e.DeviceConfigured=7]="DeviceConfigured",e))(io||{}),so=(e=>(e[e.MeshDevice=1]="MeshDevice",e[e.SerialConnection=2]="SerialConnection",e[e.NodeSerialConnection=3]="NodeSerialConnection",e[e.BleConnection=4]="BleConnection",e[e.HttpConnection=5]="HttpConnection",e))(so||{}),co=(e=>(e[e.Constructor=0]="Constructor",e[e.SendText=1]="SendText",e[e.SendWaypoint=2]="SendWaypoint",e[e.SendPacket=3]="SendPacket",e[e.SendRaw=4]="SendRaw",e[e.SetConfig=5]="SetConfig",e[e.SetModuleConfig=6]="SetModuleConfig",e[e.ConfirmSetConfig=7]="ConfirmSetConfig",e[e.SetOwner=8]="SetOwner",e[e.SetChannel=9]="SetChannel",e[e.ConfirmSetChannel=10]="ConfirmSetChannel",e[e.ClearChannel=11]="ClearChannel",e[e.GetChannel=12]="GetChannel",e[e.GetAllChannels=13]="GetAllChannels",e[e.GetConfig=14]="GetConfig",e[e.GetModuleConfig=15]="GetModuleConfig",e[e.GetOwner=16]="GetOwner",e[e.Configure=17]="Configure",e[e.HandleFromRadio=18]="HandleFromRadio",e[e.HandleMeshPacket=19]="HandleMeshPacket",e[e.Connect=20]="Connect",e[e.Ping=21]="Ping",e[e.ReadFromRadio=22]="ReadFromRadio",e[e.WriteToRadio=23]="WriteToRadio",e[e.SetDebugMode=24]="SetDebugMode",e[e.GetMetadata=25]="GetMetadata",e[e.ResetNodes=26]="ResetNodes",e[e.Shutdown=27]="Shutdown",e[e.Reboot=28]="Reboot",e[e.RebootOta=29]="RebootOta",e[e.FactoryReset=30]="FactoryReset",e[e.EnterDfuMode=31]="EnterDfuMode",e[e.RemoveNodeByNum=32]="RemoveNodeByNum",e[e.SetCannedMessages=33]="SetCannedMessages",e))(co||{}),lo=(e=>(e[e.Primary=0]="Primary",e[e.Channel1=1]="Channel1",e[e.Channel2=2]="Channel2",e[e.Channel3=3]="Channel3",e[e.Channel4=4]="Channel4",e[e.Channel5=5]="Channel5",e[e.Channel6=6]="Channel6",e[e.Admin=7]="Admin",e))(lo||{}),_i={};N(_i,{EventSystem:()=>Ti,Queue:()=>yi,Xmodem:()=>Ei,transformHandler:()=>Ci,typedArrayToBuffer:()=>ki});var Ti=class{constructor(){p(this,"onLogEvent",new C.SimpleEventDispatcher);p(this,"onFromRadio",new C.SimpleEventDispatcher);p(this,"onMeshPacket",new C.SimpleEventDispatcher);p(this,"onMyNodeInfo",new C.SimpleEventDispatcher);p(this,"onNodeInfoPacket",new C.SimpleEventDispatcher);p(this,"onChannelPacket",new C.SimpleEventDispatcher);p(this,"onConfigPacket",new C.SimpleEventDispatcher);p(this,"onModuleConfigPacket",new C.SimpleEventDispatcher);p(this,"onAtakPacket",new C.SimpleEventDispatcher);p(this,"onMessagePacket",new C.SimpleEventDispatcher);p(this,"onRemoteHardwarePacket",new C.SimpleEventDispatcher);p(this,"onPositionPacket",new C.SimpleEventDispatcher);p(this,"onUserPacket",new C.SimpleEventDispatcher);p(this,"onRoutingPacket",new C.SimpleEventDispatcher);p(this,"onDeviceMetadataPacket",new C.SimpleEventDispatcher);p(this,"onWaypointPacket",new C.SimpleEventDispatcher);p(this,"onAudioPacket",new C.SimpleEventDispatcher);p(this,"onDetectionSensorPacket",new C.SimpleEventDispatcher);p(this,"onPingPacket",new C.SimpleEventDispatcher);p(this,"onIpTunnelPacket",new C.SimpleEventDispatcher);p(this,"onPaxcounterPacket",new C.SimpleEventDispatcher);p(this,"onSerialPacket",new C.SimpleEventDispatcher);p(this,"onStoreForwardPacket",new C.SimpleEventDispatcher);p(this,"onRangeTestPacket",new C.SimpleEventDispatcher);p(this,"onTelemetryPacket",new C.SimpleEventDispatcher);p(this,"onZpsPacket",new C.SimpleEventDispatcher);p(this,"onSimulatorPacket",new C.SimpleEventDispatcher);p(this,"onTraceRoutePacket",new C.SimpleEventDispatcher);p(this,"onNeighborInfoPacket",new C.SimpleEventDispatcher);p(this,"onAtakPluginPacket",new C.SimpleEventDispatcher);p(this,"onMapReportPacket",new C.SimpleEventDispatcher);p(this,"onPrivatePacket",new C.SimpleEventDispatcher);p(this,"onAtakForwarderPacket",new C.SimpleEventDispatcher);p(this,"onDeviceStatus",new C.SimpleEventDispatcher);p(this,"onLogRecord",new C.SimpleEventDispatcher);p(this,"onMeshHeartbeat",new C.SimpleEventDispatcher);p(this,"onDeviceDebugLog",new C.SimpleEventDispatcher);p(this,"onPendingSettingsChange",new C.SimpleEventDispatcher);p(this,"onQueueStatus",new C.SimpleEventDispatcher)}},ki=e=>e.buffer.slice(e.byteOffset,e.byteLength+e.byteOffset),yi=class{constructor(){p(this,"queue",[]);p(this,"lock",!1);p(this,"ackNotifier",new C.SimpleEventDispatcher);p(this,"errorNotifier",new C.SimpleEventDispatcher);p(this,"timeout");this.timeout=6e4}getState(){return this.queue}clear(){this.queue=[]}push(e){const n={...e,sent:!1,added:new Date,promise:new Promise((t,o)=>{this.ackNotifier.subscribe(a=>{e.id===a&&(this.remove(e.id),t(a))}),this.errorNotifier.subscribe(a=>{e.id===a.id&&(this.remove(e.id),o(a))}),setTimeout(()=>{if(this.queue.findIndex(a=>a.id===e.id)!==-1){this.remove(e.id);const a=W.ToRadio.fromBinary(e.data);console.warn(`Packet ${e.id} of type ${a.payloadVariant.case} timed out`),o({id:e.id,error:W.Routing_Error.TIMEOUT})}},this.timeout)})};this.queue.push(n)}remove(e){if(this.lock){setTimeout(()=>this.remove(e),100);return}this.queue=this.queue.filter(n=>n.id!==e)}processAck(e){this.ackNotifier.dispatch(e)}processError(e){console.error(`Error received for packet ${e.id}: ${W.Routing_Error[e.error]}`),this.errorNotifier.dispatch(e)}async wait(e){const n=this.queue.find(t=>t.id===e);if(!n)throw new Error("Packet does not exist");return n.promise}async processQueue(e){if(!this.lock){for(this.lock=!0;this.queue.filter(n=>!n.sent).length>0;){const n=this.queue.filter(t=>!t.sent)[0];if(n){await new Promise(t=>setTimeout(t,200));try{await e(n.data),n.sent=!0}catch(t){console.error(`Error sending packet ${n.id}`,t)}}}this.lock=!1}}},Ci=(e,n,t,o)=>{let a=new Uint8Array([]);return new TransformStream({transform(r,i){e=e.getSubLogger({name:"streamTransformer"}),n.subscribe(()=>{i.terminate()}),a=new Uint8Array([...a,...r]);let s=!1;for(;a.length!==0&&!s;){const c=a.findIndex(m=>m===148);if(a[c+1]===195){a.subarray(0,c).length&&(o?t.dispatch(a.subarray(0,c)):e.warn(2,20,`⚠️ Found unneccesary message padding, removing: ${a.subarray(0,c).toString()}`),a=a.subarray(c));const m=a[2],g=a[3];if(m!==void 0&&g!==void 0&&a.length>=4+(m<<8)+g){const f=a.subarray(4,4+(m<<8)+g),h=f.findIndex(_=>_===148);h!==-1&&f[h+1]===195?(e.warn(2,20,`⚠️ Malformed packet found, discarding: ${a.subarray(0,h-1).toString()}`,W.LogRecord_Level.WARNING),a=a.subarray(h)):(a=a.subarray(3+(m<<8)+g+1),i.enqueue(f))}else s=!0}else s=!0}}})},Ei=class{constructor(e){p(this,"sendRaw");p(this,"rxBuffer");p(this,"txBuffer");p(this,"textEncoder");p(this,"counter");this.sendRaw=e,this.rxBuffer=[],this.txBuffer=[],this.textEncoder=new TextEncoder,this.counter=0}async downloadFile(e){return await this.sendCommand(R.XModem_Control.STX,this.textEncoder.encode(e),0)}async uploadFile(e,n){for(let t=0;tsetTimeout(n,100)),e.control){case R.XModem_Control.NUL:break;case R.XModem_Control.SOH:return this.counter=e.seq,this.validateCrc16(e)?(this.rxBuffer[this.counter]=e.buffer,this.sendCommand(R.XModem_Control.ACK)):await this.sendCommand(R.XModem_Control.NAK,void 0,e.seq);case R.XModem_Control.STX:break;case R.XModem_Control.EOT:break;case R.XModem_Control.ACK:{if(this.counter++,this.txBuffer[this.counter-1])return this.sendCommand(R.XModem_Control.SOH,this.txBuffer[this.counter-1],this.counter,Qe(this.txBuffer[this.counter-1]??new Uint8Array));if(this.counter===this.txBuffer.length+1)return this.sendCommand(R.XModem_Control.EOT);this.clear();break}case R.XModem_Control.NAK:return this.sendCommand(R.XModem_Control.SOH,this.txBuffer[this.counter],this.counter,Qe(this.txBuffer[this.counter-1]??new Uint8Array));case R.XModem_Control.CAN:{this.clear();break}case R.XModem_Control.CTRLZ:break}return Promise.resolve(0)}validateCrc16(e){return Qe(e.buffer)===e.crc16}clear(){this.counter=0,this.rxBuffer=[],this.txBuffer=[]}},ye={},bi=function(){return typeof Promise=="function"&&Promise.prototype&&Promise.prototype.then},mo={},O={};let Qn;const vi=[0,26,44,70,100,134,172,196,242,292,346,404,466,532,581,655,733,815,901,991,1085,1156,1258,1364,1474,1588,1706,1828,1921,2051,2185,2323,2465,2611,2761,2876,3034,3196,3362,3532,3706];O.getSymbolSize=function(n){if(!n)throw new Error('"version" cannot be null or undefined');if(n<1||n>40)throw new Error('"version" should be in range from 1 to 40');return n*4+17};O.getSymbolTotalCodewords=function(n){return vi[n]};O.getBCHDigit=function(e){let n=0;for(;e!==0;)n++,e>>>=1;return n};O.setToSJISFunction=function(n){if(typeof n!="function")throw new Error('"toSJISFunc" is not a valid function.');Qn=n};O.isKanjiModeEnabled=function(){return typeof Qn<"u"};O.toSJIS=function(n){return Qn(n)};var We={};(function(e){e.L={bit:1},e.M={bit:0},e.Q={bit:3},e.H={bit:2};function n(t){if(typeof t!="string")throw new Error("Param is not a string");switch(t.toLowerCase()){case"l":case"low":return e.L;case"m":case"medium":return e.M;case"q":case"quartile":return e.Q;case"h":case"high":return e.H;default:throw new Error("Unknown EC Level: "+t)}}e.isValid=function(o){return o&&typeof o.bit<"u"&&o.bit>=0&&o.bit<4},e.from=function(o,a){if(e.isValid(o))return o;try{return n(o)}catch{return a}}})(We);function uo(){this.buffer=[],this.length=0}uo.prototype={get:function(e){const n=Math.floor(e/8);return(this.buffer[n]>>>7-e%8&1)===1},put:function(e,n){for(let t=0;t>>n-t-1&1)===1)},getLengthInBits:function(){return this.length},putBit:function(e){const n=Math.floor(this.length/8);this.buffer.length<=n&&this.buffer.push(0),e&&(this.buffer[n]|=128>>>this.length%8),this.length++}};var wi=uo;function Ce(e){if(!e||e<1)throw new Error("BitMatrix size must be defined and greater than 0");this.size=e,this.data=new Uint8Array(e*e),this.reservedBit=new Uint8Array(e*e)}Ce.prototype.set=function(e,n,t,o){const a=e*this.size+n;this.data[a]=t,o&&(this.reservedBit[a]=!0)};Ce.prototype.get=function(e,n){return this.data[e*this.size+n]};Ce.prototype.xor=function(e,n,t){this.data[e*this.size+n]^=t};Ce.prototype.isReserved=function(e,n){return this.reservedBit[e*this.size+n]};var Si=Ce,fo={};(function(e){const n=O.getSymbolSize;e.getRowColCoords=function(o){if(o===1)return[];const a=Math.floor(o/7)+2,r=n(o),i=r===145?26:Math.ceil((r-13)/(2*a-2))*2,s=[r-7];for(let c=1;c=0&&a<=7},e.from=function(a){return e.isValid(a)?parseInt(a,10):void 0},e.getPenaltyN1=function(a){const r=a.size;let i=0,s=0,c=0,d=null,m=null;for(let g=0;g=5&&(i+=n.N1+(s-5)),d=h,s=1),h=a.get(f,g),h===m?c++:(c>=5&&(i+=n.N1+(c-5)),m=h,c=1)}s>=5&&(i+=n.N1+(s-5)),c>=5&&(i+=n.N1+(c-5))}return i},e.getPenaltyN2=function(a){const r=a.size;let i=0;for(let s=0;s=10&&(s===1488||s===93)&&i++,c=c<<1&2047|a.get(m,d),m>=10&&(c===1488||c===93)&&i++}return i*n.N3},e.getPenaltyN4=function(a){let r=0;const i=a.data.length;for(let c=0;c=0;){const i=r[0];for(let c=0;c0){const r=new Uint8Array(this.degree);return r.set(o,a),r}return o};var Mi=Zn,To={},X={},et={};et.isValid=function(n){return!isNaN(n)&&n>=1&&n<=40};var F={};const ko="[0-9]+",Ii="[A-Z $%*+\\-./:]+";let fe="(?:[u3000-u303F]|[u3040-u309F]|[u30A0-u30FF]|[uFF00-uFFEF]|[u4E00-u9FAF]|[u2605-u2606]|[u2190-u2195]|u203B|[u2010u2015u2018u2019u2025u2026u201Cu201Du2225u2260]|[u0391-u0451]|[u00A7u00A8u00B1u00B4u00D7u00F7])+";fe=fe.replace(/u/g,"\\u");const Ai="(?:(?![A-Z0-9 $%*+\\-./:]|"+fe+`)(?:.|[\r -]))+`;F.KANJI=new RegExp(fe,"g");F.BYTE_KANJI=new RegExp("[^A-Z0-9 $%*+\\-./:]+","g");F.BYTE=new RegExp(Ai,"g");F.NUMERIC=new RegExp(ko,"g");F.ALPHANUMERIC=new RegExp(Ii,"g");const Ri=new RegExp("^"+fe+"$"),Pi=new RegExp("^"+ko+"$"),Oi=new RegExp("^[A-Z0-9 $%*+\\-./:]+$");F.testKanji=function(n){return Ri.test(n)};F.testNumeric=function(n){return Pi.test(n)};F.testAlphanumeric=function(n){return Oi.test(n)};(function(e){const n=et,t=F;e.NUMERIC={id:"Numeric",bit:1,ccBits:[10,12,14]},e.ALPHANUMERIC={id:"Alphanumeric",bit:2,ccBits:[9,11,13]},e.BYTE={id:"Byte",bit:4,ccBits:[8,16,16]},e.KANJI={id:"Kanji",bit:8,ccBits:[8,10,12]},e.MIXED={bit:-1},e.getCharCountIndicator=function(r,i){if(!r.ccBits)throw new Error("Invalid mode: "+r);if(!n.isValid(i))throw new Error("Invalid version: "+i);return i>=1&&i<10?r.ccBits[0]:i<27?r.ccBits[1]:r.ccBits[2]},e.getBestModeForData=function(r){return t.testNumeric(r)?e.NUMERIC:t.testAlphanumeric(r)?e.ALPHANUMERIC:t.testKanji(r)?e.KANJI:e.BYTE},e.toString=function(r){if(r&&r.id)return r.id;throw new Error("Invalid mode")},e.isValid=function(r){return r&&r.bit&&r.ccBits};function o(a){if(typeof a!="string")throw new Error("Param is not a string");switch(a.toLowerCase()){case"numeric":return e.NUMERIC;case"alphanumeric":return e.ALPHANUMERIC;case"kanji":return e.KANJI;case"byte":return e.BYTE;default:throw new Error("Unknown mode: "+a)}}e.from=function(r,i){if(e.isValid(r))return r;try{return o(r)}catch{return i}}})(X);(function(e){const n=O,t=Ye,o=We,a=X,r=et,i=7973,s=n.getBCHDigit(i);function c(f,h,_){for(let E=1;E<=40;E++)if(h<=e.getCapacity(E,_,f))return E}function d(f,h){return a.getCharCountIndicator(f,h)+4}function m(f,h){let _=0;return f.forEach(function(E){const A=d(E.mode,h);_+=A+E.getBitsLength()}),_}function g(f,h){for(let _=1;_<=40;_++)if(m(f,_)<=e.getCapacity(_,h,a.MIXED))return _}e.from=function(h,_){return r.isValid(h)?parseInt(h,10):_},e.getCapacity=function(h,_,E){if(!r.isValid(h))throw new Error("Invalid QR Code version");typeof E>"u"&&(E=a.BYTE);const A=n.getSymbolTotalCodewords(h),y=t.getTotalCodewordsCount(h,_),b=(A-y)*8;if(E===a.MIXED)return b;const k=b-d(E,h);switch(E){case a.NUMERIC:return Math.floor(k/10*3);case a.ALPHANUMERIC:return Math.floor(k/11*2);case a.KANJI:return Math.floor(k/13);case a.BYTE:default:return Math.floor(k/8)}},e.getBestVersionForData=function(h,_){let E;const A=o.from(_,o.M);if(Array.isArray(h)){if(h.length>1)return g(h,A);if(h.length===0)return 1;E=h[0]}else E=h;return c(E.mode,E.getLength(),A)},e.getEncodedBits=function(h){if(!r.isValid(h)||h<7)throw new Error("Invalid QR Code version");let _=h<<12;for(;n.getBCHDigit(_)-s>=0;)_^=i<=0;)a^=Co<0&&(o=this.data.substr(t),a=parseInt(o,10),n.put(a,r*3+1))};var xi=Q;const Bi=X,tn=["0","1","2","3","4","5","6","7","8","9","A","B","C","D","E","F","G","H","I","J","K","L","M","N","O","P","Q","R","S","T","U","V","W","X","Y","Z"," ","$","%","*","+","-",".","/",":"];function Z(e){this.mode=Bi.ALPHANUMERIC,this.data=e}Z.getBitsLength=function(n){return 11*Math.floor(n/2)+6*(n%2)};Z.prototype.getLength=function(){return this.data.length};Z.prototype.getBitsLength=function(){return Z.getBitsLength(this.data.length)};Z.prototype.write=function(n){let t;for(t=0;t+2<=this.data.length;t+=2){let o=tn.indexOf(this.data[t])*45;o+=tn.indexOf(this.data[t+1]),n.put(o,11)}this.data.length%2&&n.put(tn.indexOf(this.data[t]),6)};var Fi=Z;const Ui=X;function ee(e){this.mode=Ui.BYTE,typeof e=="string"?this.data=new TextEncoder().encode(e):this.data=new Uint8Array(e)}ee.getBitsLength=function(n){return n*8};ee.prototype.getLength=function(){return this.data.length};ee.prototype.getBitsLength=function(){return ee.getBitsLength(this.data.length)};ee.prototype.write=function(e){for(let n=0,t=this.data.length;n=33088&&t<=40956)t-=33088;else if(t>=57408&&t<=60351)t-=49472;else throw new Error("Invalid SJIS character: "+this.data[n]+` -Make sure your charset is UTF-8`);t=(t>>>8&255)*192+(t&255),e.put(t,13)}};var $i=ne,bo={exports:{}};(function(e){var n={single_source_shortest_paths:function(t,o,a){var r={},i={};i[o]=0;var s=n.PriorityQueue.make();s.push(o,0);for(var c,d,m,g,f,h,_,E,A;!s.empty();){c=s.pop(),d=c.value,g=c.cost,f=t[d]||{};for(m in f)f.hasOwnProperty(m)&&(h=f[m],_=g+h,E=i[m],A=typeof i[m]>"u",(A||E>_)&&(i[m]=_,s.push(m,_),r[m]=d))}if(typeof a<"u"&&typeof i[a]>"u"){var y=["Could not find a path from ",o," to ",a,"."].join("");throw new Error(y)}return r},extract_shortest_path_from_predecessor_list:function(t,o){for(var a=[],r=o;r;)a.push(r),t[r],r=t[r];return a.reverse(),a},find_path:function(t,o,a){var r=n.single_source_shortest_paths(t,o,a);return n.extract_shortest_path_from_predecessor_list(r,a)},PriorityQueue:{make:function(t){var o=n.PriorityQueue,a={},r;t=t||{};for(r in o)o.hasOwnProperty(r)&&(a[r]=o[r]);return a.queue=[],a.sorter=t.sorter||o.default_sorter,a},default_sorter:function(t,o){return t.cost-o.cost},push:function(t,o){var a={value:t,cost:o};this.queue.push(a),this.queue.sort(this.sorter)},pop:function(){return this.queue.shift()},empty:function(){return this.queue.length===0}}};e.exports=n})(bo);var qi=bo.exports;(function(e){const n=X,t=xi,o=Fi,a=Hi,r=$i,i=F,s=O,c=qi;function d(y){return unescape(encodeURIComponent(y)).length}function m(y,b,k){const T=[];let v;for(;(v=y.exec(k))!==null;)T.push({data:v[0],index:v.index,mode:b,length:v[0].length});return T}function g(y){const b=m(i.NUMERIC,n.NUMERIC,y),k=m(i.ALPHANUMERIC,n.ALPHANUMERIC,y);let T,v;return s.isKanjiModeEnabled()?(T=m(i.BYTE,n.BYTE,y),v=m(i.KANJI,n.KANJI,y)):(T=m(i.BYTE_KANJI,n.BYTE,y),v=[]),b.concat(k,T,v).sort(function(I,D){return I.index-D.index}).map(function(I){return{data:I.data,mode:I.mode,length:I.length}})}function f(y,b){switch(b){case n.NUMERIC:return t.getBitsLength(y);case n.ALPHANUMERIC:return o.getBitsLength(y);case n.KANJI:return r.getBitsLength(y);case n.BYTE:return a.getBitsLength(y)}}function h(y){return y.reduce(function(b,k){const T=b.length-1>=0?b[b.length-1]:null;return T&&T.mode===k.mode?(b[b.length-1].data+=k.data,b):(b.push(k),b)},[])}function _(y){const b=[];for(let k=0;k=0&&s<=6&&(c===0||c===6)||c>=0&&c<=6&&(s===0||s===6)||s>=2&&s<=4&&c>=2&&c<=4?e.set(r+s,i+c,!0,!0):e.set(r+s,i+c,!1,!0))}}function Zi(e){const n=e.size;for(let t=8;t>s&1)===1,e.set(a,r,i,!0),e.set(r,a,i,!0)}function rn(e,n,t){const o=e.size,a=ji.getEncodedBits(n,t);let r,i;for(r=0;r<15;r++)i=(a>>r&1)===1,r<6?e.set(r,8,i,!0):r<8?e.set(r+1,8,i,!0):e.set(o-15+r,8,i,!0),r<8?e.set(8,o-r-1,i,!0):r<9?e.set(8,15-r-1+1,i,!0):e.set(8,15-r-1,i,!0);e.set(o-8,8,1,!0)}function ts(e,n){const t=e.size;let o=-1,a=t-1,r=7,i=0;for(let s=t-1;s>0;s-=2)for(s===6&&s--;;){for(let c=0;c<2;c++)if(!e.isReserved(a,s-c)){let d=!1;i>>r&1)===1),e.set(a,s-c,d),r--,r===-1&&(i++,r=7)}if(a+=o,a<0||t<=a){a-=o,o=-o;break}}}function as(e,n,t){const o=new Xi;t.forEach(function(c){o.put(c.mode.bit,4),o.put(c.getLength(),zi.getCharCountIndicator(c.mode,e)),c.write(o)});const a=je.getSymbolTotalCodewords(e),r=fn.getTotalCodewordsCount(e,n),i=(a-r)*8;for(o.getLengthInBits()+4<=i&&o.put(0,4);o.getLengthInBits()%8!==0;)o.putBit(0);const s=(i-o.getLengthInBits())/8;for(let c=0;c{let t=typeof n<"u"?~~n:65535;for(let o=0;o>8^e[o])&255]^t<<8)&65535;return t};var rt={},mr=Object.defineProperty,N=(e,n)=>{for(var t in n)mr(e,t,{get:n[t],enumerable:!0})},z={};N(z,{Admin:()=>wt,AppOnly:()=>Va,CannedMessages:()=>$a,Channel:()=>Xt,ClientOnly:()=>qa,Config:()=>Yt,ConnectionStatus:()=>Pa,DeviceOnly:()=>Ka,LocalOnly:()=>Xa,Mesh:()=>W,ModuleConfig:()=>ua,Mqtt:()=>za,PaxCount:()=>Qa,Portnums:()=>ia,RemoteHardware:()=>Za,Rtttl:()=>no,StoreForward:()=>to,Telemetry:()=>sa,Xmodem:()=>R});var wt={};N(wt,{AdminMessage:()=>gi,AdminMessage_ConfigType:()=>Fa,AdminMessage_ModuleConfigType:()=>Ua,HamParameters:()=>Ha,NodeRemoteHardwarePinsResponse:()=>Ga});function S(e,n){if(!e)throw new Error(n)}var dr=34028234663852886e22,ur=-34028234663852886e22,fr=4294967295,gr=2147483647,hr=-2147483648;function Se(e){if(typeof e!="number")throw new Error("invalid int 32: "+typeof e);if(!Number.isInteger(e)||e>gr||efr||e<0)throw new Error("invalid uint 32: "+e)}function St(e){if(typeof e!="number")throw new Error("invalid float 32: "+typeof e);if(Number.isFinite(e)&&(e>dr||e({no:a.no,name:a.name,localName:e[a.no]})))}function It(e,n,t){const o=Object.create(null),a=Object.create(null),r=[];for(const i of n){const s=At(i);r.push(s),o[i.name]=s,a[i.no]=s}return{typeName:e,values:r,findName(i){return o[i]},findNumber(i){return a[i]}}}function _r(e,n,t){const o={};for(const a of n){const r=At(a);o[r.localName]=r.no,o[r.no]=r.localName}return Mt(o,e,n),o}function At(e){return"localName"in e?e:Object.assign(Object.assign({},e),{localName:e.name})}var Rt=class{equals(e){return this.getType().runtime.util.equals(this.getType(),this,e)}clone(){return this.getType().runtime.util.clone(this)}fromBinary(e,n){const t=this.getType(),o=t.runtime.bin,a=o.makeReadOptions(n);return o.readMessage(this,a.readerFactory(e),e.byteLength,a),this}fromJson(e,n){const t=this.getType(),o=t.runtime.json,a=o.makeReadOptions(n);return o.readMessage(t,e,a,this),this}fromJsonString(e,n){let t;try{t=JSON.parse(e)}catch(o){throw new Error(`cannot decode ${this.getType().typeName} from JSON: ${o instanceof Error?o.message:String(o)}`)}return this.fromJson(t,n)}toBinary(e){const n=this.getType(),t=n.runtime.bin,o=t.makeWriteOptions(e),a=o.writerFactory();return t.writeMessage(this,a,o),a.finish()}toJson(e){const n=this.getType(),t=n.runtime.json,o=t.makeWriteOptions(e);return t.writeMessage(this,o)}toJsonString(e){var n;const t=this.toJson(e);return JSON.stringify(t,null,(n=e==null?void 0:e.prettySpaces)!==null&&n!==void 0?n:0)}toJSON(){return this.toJson({emitDefaultValues:!0})}getType(){return Object.getPrototypeOf(this).constructor}};function Tr(e,n,t,o){var a;const r=(a=o==null?void 0:o.localName)!==null&&a!==void 0?a:n.substring(n.lastIndexOf(".")+1),i={[r]:function(s){e.util.initFields(this),e.util.initPartial(s,this)}}[r];return Object.setPrototypeOf(i.prototype,new Rt),Object.assign(i,{runtime:e,typeName:n,fields:e.util.newFieldList(t),fromBinary(s,c){return new i().fromBinary(s,c)},fromJson(s,c){return new i().fromJson(s,c)},fromJsonString(s,c){return new i().fromJsonString(s,c)},equals(s,c){return e.util.equals(i,s,c)}}),i}function kr(){let e=0,n=0;for(let o=0;o<28;o+=7){let a=this.buf[this.pos++];if(e|=(a&127)<>4,!(t&128))return this.assertBounds(),[e,n];for(let o=3;o<=31;o+=7){let a=this.buf[this.pos++];if(n|=(a&127)<>>r,s=!(!(i>>>7)&&n==0),c=(s?i|128:i)&255;if(t.push(c),!s)return}const o=e>>>28&15|(n&7)<<4,a=!!(n>>3);if(t.push((a?o|128:o)&255),!!a){for(let r=3;r<31;r=r+7){const i=n>>>r,s=!!(i>>>7),c=(s?i|128:i)&255;if(t.push(c),!s)return}t.push(n>>>31&1)}}var Ne=4294967296;function it(e){const n=e[0]==="-";n&&(e=e.slice(1));const t=1e6;let o=0,a=0;function r(i,s){const c=Number(e.slice(i,s));a*=t,o=o*t+c,o>=Ne&&(a=a+(o/Ne|0),o=o%Ne)}return r(-24,-18),r(-18,-12),r(-12,-6),r(-6),n?Ot(o,a):hn(o,a)}function yr(e,n){let t=hn(e,n);const o=t.hi&2147483648;o&&(t=Ot(t.lo,t.hi));const a=Pt(t.lo,t.hi);return o?"-"+a:a}function Pt(e,n){if({lo:e,hi:n}=Cr(e,n),n<=2097151)return String(Ne*n+e);const t=e&16777215,o=(e>>>24|n<<8)&16777215,a=n>>16&65535;let r=t+o*6777216+a*6710656,i=o+a*8147497,s=a*2;const c=1e7;return r>=c&&(i+=Math.floor(r/c),r%=c),i>=c&&(s+=Math.floor(i/c),i%=c),s.toString()+st(i)+st(r)}function Cr(e,n){return{lo:e>>>0,hi:n>>>0}}function hn(e,n){return{lo:e|0,hi:n|0}}function Ot(e,n){return n=~n,e?e=~e+1:n+=1,hn(e,n)}var st=e=>{const n=String(e);return"0000000".slice(n.length)+n};function ct(e,n){if(e>=0){for(;e>127;)n.push(e&127|128),e=e>>>7;n.push(e)}else{for(let t=0;t<9;t++)n.push(e&127|128),e=e>>7;n.push(1)}}function Er(){let e=this.buf[this.pos++],n=e&127;if(!(e&128))return this.assertBounds(),n;if(e=this.buf[this.pos++],n|=(e&127)<<7,!(e&128))return this.assertBounds(),n;if(e=this.buf[this.pos++],n|=(e&127)<<14,!(e&128))return this.assertBounds(),n;if(e=this.buf[this.pos++],n|=(e&127)<<21,!(e&128))return this.assertBounds(),n;e=this.buf[this.pos++],n|=(e&15)<<28;for(let t=5;e&128&&t<10;t++)e=this.buf[this.pos++];if(e&128)throw new Error("invalid varint");return this.assertBounds(),n>>>0}function br(){const e=new DataView(new ArrayBuffer(8));if(typeof BigInt=="function"&&typeof e.getBigInt64=="function"&&typeof e.getBigUint64=="function"&&typeof e.setBigInt64=="function"&&typeof e.setBigUint64=="function"&&(typeof process!="object"||typeof rt!="object"||rt.BUF_BIGINT_DISABLE!=="1")){const a=BigInt("-9223372036854775808"),r=BigInt("9223372036854775807"),i=BigInt("0"),s=BigInt("18446744073709551615");return{zero:BigInt(0),supported:!0,parse(c){const d=typeof c=="bigint"?c:BigInt(c);if(d>r||ds||dS(/^-?[0-9]+$/.test(a),`int64 invalid: ${a}`),o=a=>S(/^[0-9]+$/.test(a),`uint64 invalid: ${a}`);return{zero:"0",supported:!1,parse(a){return typeof a!="string"&&(a=a.toString()),t(a),a},uParse(a){return typeof a!="string"&&(a=a.toString()),o(a),a},enc(a){return typeof a!="string"&&(a=a.toString()),t(a),it(a)},uEnc(a){return typeof a!="string"&&(a=a.toString()),o(a),it(a)},dec(a,r){return yr(a,r)},uDec(a,r){return Pt(a,r)}}}var P=br(),u;(function(e){e[e.DOUBLE=1]="DOUBLE",e[e.FLOAT=2]="FLOAT",e[e.INT64=3]="INT64",e[e.UINT64=4]="UINT64",e[e.INT32=5]="INT32",e[e.FIXED64=6]="FIXED64",e[e.FIXED32=7]="FIXED32",e[e.BOOL=8]="BOOL",e[e.STRING=9]="STRING",e[e.BYTES=12]="BYTES",e[e.UINT32=13]="UINT32",e[e.SFIXED32=15]="SFIXED32",e[e.SFIXED64=16]="SFIXED64",e[e.SINT32=17]="SINT32",e[e.SINT64=18]="SINT64"})(u||(u={}));var q;(function(e){e[e.BIGINT=0]="BIGINT",e[e.STRING=1]="STRING"})(q||(q={}));function V(e,n,t){if(n===t)return!0;if(e==u.BYTES){if(!(n instanceof Uint8Array)||!(t instanceof Uint8Array)||n.length!==t.length)return!1;for(let o=0;o>>0)}raw(e){return this.buf.length&&(this.chunks.push(new Uint8Array(this.buf)),this.buf=[]),this.chunks.push(e),this}uint32(e){for(ln(e);e>127;)this.buf.push(e&127|128),e=e>>>7;return this.buf.push(e),this}int32(e){return Se(e),ct(e,this.buf),this}bool(e){return this.buf.push(e?1:0),this}bytes(e){return this.uint32(e.byteLength),this.raw(e)}string(e){let n=this.textEncoder.encode(e);return this.uint32(n.byteLength),this.raw(n)}float(e){St(e);let n=new Uint8Array(4);return new DataView(n.buffer).setFloat32(0,e,!0),this.raw(n)}double(e){let n=new Uint8Array(8);return new DataView(n.buffer).setFloat64(0,e,!0),this.raw(n)}fixed32(e){ln(e);let n=new Uint8Array(4);return new DataView(n.buffer).setUint32(0,e,!0),this.raw(n)}sfixed32(e){Se(e);let n=new Uint8Array(4);return new DataView(n.buffer).setInt32(0,e,!0),this.raw(n)}sint32(e){return Se(e),e=(e<<1^e>>31)>>>0,ct(e,this.buf),this}sfixed64(e){let n=new Uint8Array(8),t=new DataView(n.buffer),o=P.enc(e);return t.setInt32(0,o.lo,!0),t.setInt32(4,o.hi,!0),this.raw(n)}fixed64(e){let n=new Uint8Array(8),t=new DataView(n.buffer),o=P.uEnc(e);return t.setInt32(0,o.lo,!0),t.setInt32(4,o.hi,!0),this.raw(n)}int64(e){let n=P.enc(e);return Ze(n.lo,n.hi,this.buf),this}sint64(e){let n=P.enc(e),t=n.hi>>31,o=n.lo<<1^t,a=(n.hi<<1|n.lo>>>31)^t;return Ze(o,a,this.buf),this}uint64(e){let n=P.uEnc(e);return Ze(n.lo,n.hi,this.buf),this}},wr=class{constructor(e,n){this.varint64=kr,this.uint32=Er,this.buf=e,this.len=e.length,this.pos=0,this.view=new DataView(e.buffer,e.byteOffset,e.byteLength),this.textDecoder=n??new TextDecoder}tag(){let e=this.uint32(),n=e>>>3,t=e&7;if(n<=0||t<0||t>5)throw new Error("illegal tag: field no "+n+" wire type "+t);return[n,t]}skip(e,n){let t=this.pos;switch(e){case I.Varint:for(;this.buf[this.pos++]&128;);break;case I.Bit64:this.pos+=4;case I.Bit32:this.pos+=4;break;case I.LengthDelimited:let o=this.uint32();this.pos+=o;break;case I.StartGroup:for(;;){const[a,r]=this.tag();if(r===I.EndGroup){if(n!==void 0&&a!==n)throw new Error("invalid end group tag");break}this.skip(r,a)}break;default:throw new Error("cant skip wire type "+e)}return this.assertBounds(),this.buf.subarray(t,this.pos)}assertBounds(){if(this.pos>this.len)throw new RangeError("premature EOF")}int32(){return this.uint32()|0}sint32(){let e=this.uint32();return e>>>1^-(e&1)}int64(){return P.dec(...this.varint64())}uint64(){return P.uDec(...this.varint64())}sint64(){let[e,n]=this.varint64(),t=-(e&1);return e=(e>>>1|(n&1)<<31)^t,n=n>>>1^t,P.dec(e,n)}bool(){let[e,n]=this.varint64();return e!==0||n!==0}fixed32(){return this.view.getUint32((this.pos+=4)-4,!0)}sfixed32(){return this.view.getInt32((this.pos+=4)-4,!0)}fixed64(){return P.uDec(this.sfixed32(),this.sfixed32())}sfixed64(){return P.dec(this.sfixed32(),this.sfixed32())}float(){return this.view.getFloat32((this.pos+=4)-4,!0)}double(){return this.view.getFloat64((this.pos+=8)-8,!0)}bytes(){let e=this.uint32(),n=this.pos;return this.pos+=e,this.assertBounds(),this.buf.subarray(n,n+e)}string(){return this.textDecoder.decode(this.bytes())}};function Sr(e,n,t,o){let a;return{typeName:n,extendee:t,get field(){if(!a){const r=typeof o=="function"?o():o;r.name=n.split(".").pop(),r.jsonName=`[${n}]`,a=e.util.newFieldList([r]).list()[0]}return a},runtime:e}}function Lt(e){const n=e.field.localName,t=Object.create(null);return t[n]=Nr(e),[t,()=>t[n]]}function Nr(e){const n=e.field;if(n.repeated)return[];if(n.default!==void 0)return n.default;switch(n.kind){case"enum":return n.T.values[0].no;case"scalar":return Q(n.T,n.L);case"message":const t=n.T,o=new t;return t.fieldWrapper?t.fieldWrapper.unwrapField(o):o;case"map":throw"map fields are not allowed to be extensions"}}function Mr(e,n){if(!n.repeated&&(n.kind=="enum"||n.kind=="scalar")){for(let t=e.length-1;t>=0;--t)if(e[t].no==n.no)return[e[t]];return[]}return e.filter(t=>t.no===n.no)}var H="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/".split(""),qe=[];for(let e=0;e>4,i=r,a=2;break;case 2:t[o++]=(i&15)<<4|(r&60)>>2,i=r,a=3;break;case 3:t[o++]=(i&3)<<6|r,a=0;break}}if(a==1)throw Error("invalid base64 string.");return t.subarray(0,o)},enc(e){let n="",t=0,o,a=0;for(let r=0;r>2],a=(o&3)<<4,t=1;break;case 1:n+=H[a|o>>4],a=(o&15)<<2,t=2;break;case 2:n+=H[a|o>>6],n+=H[o&63],t=0;break}return t&&(n+=H[a],n+="=",t==1&&(n+="=")),n}};function Ir(e,n,t){Ft(n,e);const o=n.runtime.bin.makeReadOptions(t),a=Mr(e.getType().runtime.bin.listUnknownFields(e),n.field),[r,i]=Lt(n);for(const s of a)n.runtime.bin.readField(r,o.readerFactory(s.data),n.field,s.wireType,o);return i()}function Ar(e,n,t,o){Ft(n,e);const a=n.runtime.bin.makeReadOptions(o),r=n.runtime.bin.makeWriteOptions(o);if(xt(e,n)){const d=e.getType().runtime.bin.listUnknownFields(e).filter(m=>m.no!=n.field.no);e.getType().runtime.bin.discardUnknownFields(e);for(const m of d)e.getType().runtime.bin.onUnknownField(e,m.no,m.wireType,m.data)}const i=r.writerFactory();let s=n.field;!s.opt&&!s.repeated&&(s.kind=="enum"||s.kind=="scalar")&&(s=Object.assign(Object.assign({},n.field),{opt:!0})),n.runtime.bin.writeField(s,t,i,r);const c=a.readerFactory(i.finish());for(;c.poso.no==n.field.no)}function Ft(e,n){S(e.extendee.typeName==n.getType().typeName,`extension ${e.typeName} can only be applied to message ${e.extendee.typeName}`)}function Ut(e,n){const t=e.localName;if(e.repeated)return n[t].length>0;if(e.oneof)return n[e.oneof.localName].case===t;switch(e.kind){case"enum":case"scalar":return e.opt||e.req?n[t]!==void 0:e.kind=="enum"?n[t]!==e.T.values[0].no:!Dt(e.T,n[t]);case"message":return n[t]!==void 0;case"map":return Object.keys(n[t]).length>0}}function lt(e,n){const t=e.localName,o=!e.opt&&!e.req;if(e.repeated)n[t]=[];else if(e.oneof)n[e.oneof.localName]={case:void 0};else switch(e.kind){case"map":n[t]={};break;case"enum":n[t]=o?e.T.values[0].no:void 0;break;case"scalar":n[t]=o?Q(e.T,e.L):void 0;break;case"message":n[t]=void 0;break}}function K(e,n){if(e===null||typeof e!="object"||!Object.getOwnPropertyNames(Rt.prototype).every(o=>o in e&&typeof e[o]=="function"))return!1;const t=e.getType();return t===null||typeof t!="function"||!("typeName"in t)||typeof t.typeName!="string"?!1:n===void 0?!0:t.typeName==n.typeName}function Ht(e,n){return K(n)||!e.fieldWrapper?n:e.fieldWrapper.wrapField(n)}u.DOUBLE,u.FLOAT,u.INT64,u.UINT64,u.INT32,u.UINT32,u.BOOL,u.STRING,u.BYTES;var mt={ignoreUnknownFields:!1},dt={emitDefaultValues:!1,enumAsInteger:!1,useProtoFieldName:!1,prettySpaces:0};function Rr(e){return e?Object.assign(Object.assign({},mt),e):mt}function Pr(e){return e?Object.assign(Object.assign({},dt),e):dt}var Pe=Symbol(),Me=Symbol();function Or(){return{makeReadOptions:Rr,makeWriteOptions:Pr,readMessage(e,n,t,o){if(n==null||Array.isArray(n)||typeof n!="object")throw new Error(`cannot decode message ${e.typeName} from JSON: ${B(n)}`);o=o??new e;const a=new Map,r=t.typeRegistry;for(const[i,s]of Object.entries(n)){const c=e.fields.findJsonName(i);if(c){if(c.oneof){if(s===null&&c.kind=="scalar")continue;const d=a.get(c.oneof);if(d!==void 0)throw new Error(`cannot decode message ${e.typeName} from JSON: multiple keys for oneof "${c.oneof.name}" present: "${d}", "${i}"`);a.set(c.oneof,i)}ut(o,s,c,t,e)}else{let d=!1;if(r!=null&&r.findExtension&&i.startsWith("[")&&i.endsWith("]")){const m=r.findExtension(i.substring(1,i.length-1));if(m&&m.extendee.typeName==e.typeName){d=!0;const[g,f]=Lt(m);ut(g,s,m.field,t,m),Ar(o,m,f(),t)}}if(!d&&!t.ignoreUnknownFields)throw new Error(`cannot decode message ${e.typeName} from JSON: key "${i}" is unknown`)}}return o},writeMessage(e,n){const t=e.getType(),o={};let a;try{for(a of t.fields.byNumber()){if(!Ut(a,e)){if(a.req)throw"required field not set";if(!n.emitDefaultValues||!Lr(a))continue}const i=a.oneof?e[a.oneof.localName].value:e[a.localName],s=ft(a,i,n);s!==void 0&&(o[n.useProtoFieldName?a.name:a.jsonName]=s)}const r=n.typeRegistry;if(r!=null&&r.findExtensionFor)for(const i of t.runtime.bin.listUnknownFields(e)){const s=r.findExtensionFor(t.typeName,i.no);if(s&&xt(e,s)){const c=Ir(e,s,n),d=ft(s.field,c,n);d!==void 0&&(o[s.field.jsonName]=d)}}}catch(r){const i=a?`cannot encode field ${t.typeName}.${a.name} to JSON`:`cannot encode message ${t.typeName} to JSON`,s=r instanceof Error?r.message:String(r);throw new Error(i+(s.length>0?`: ${s}`:""))}return o},readScalar(e,n,t){return ce(e,n,t??q.BIGINT,!0)},writeScalar(e,n,t){if(n!==void 0&&(t||Dt(e,n)))return Ie(e,n)},debug:B}}function B(e){if(e===null)return"null";switch(typeof e){case"object":return Array.isArray(e)?"array":"object";case"string":return e.length>100?"string":`"${e.split('"').join('\\"')}"`;default:return String(e)}}function ut(e,n,t,o,a){let r=t.localName;if(t.repeated){if(S(t.kind!="map"),n===null)return;if(!Array.isArray(n))throw new Error(`cannot decode field ${a.typeName}.${t.name} from JSON: ${B(n)}`);const i=e[r];for(const s of n){if(s===null)throw new Error(`cannot decode field ${a.typeName}.${t.name} from JSON: ${B(s)}`);switch(t.kind){case"message":i.push(t.T.fromJson(s,o));break;case"enum":const c=en(t.T,s,o.ignoreUnknownFields,!0);c!==Me&&i.push(c);break;case"scalar":try{i.push(ce(t.T,s,t.L,!0))}catch(d){let m=`cannot decode field ${a.typeName}.${t.name} from JSON: ${B(s)}`;throw d instanceof Error&&d.message.length>0&&(m+=`: ${d.message}`),new Error(m)}break}}}else if(t.kind=="map"){if(n===null)return;if(typeof n!="object"||Array.isArray(n))throw new Error(`cannot decode field ${a.typeName}.${t.name} from JSON: ${B(n)}`);const i=e[r];for(const[s,c]of Object.entries(n)){if(c===null)throw new Error(`cannot decode field ${a.typeName}.${t.name} from JSON: map value null`);let d;try{d=Dr(t.K,s)}catch(m){let g=`cannot decode map key for field ${a.typeName}.${t.name} from JSON: ${B(n)}`;throw m instanceof Error&&m.message.length>0&&(g+=`: ${m.message}`),new Error(g)}switch(t.V.kind){case"message":i[d]=t.V.T.fromJson(c,o);break;case"enum":const m=en(t.V.T,c,o.ignoreUnknownFields,!0);m!==Me&&(i[d]=m);break;case"scalar":try{i[d]=ce(t.V.T,c,q.BIGINT,!0)}catch(g){let f=`cannot decode map value for field ${a.typeName}.${t.name} from JSON: ${B(n)}`;throw g instanceof Error&&g.message.length>0&&(f+=`: ${g.message}`),new Error(f)}break}}}else switch(t.oneof&&(e=e[t.oneof.localName]={case:r},r="value"),t.kind){case"message":const i=t.T;if(n===null&&i.typeName!="google.protobuf.Value")return;let s=e[r];K(s)?s.fromJson(n,o):(e[r]=s=i.fromJson(n,o),i.fieldWrapper&&!t.oneof&&(e[r]=i.fieldWrapper.unwrapField(s)));break;case"enum":const c=en(t.T,n,o.ignoreUnknownFields,!1);switch(c){case Pe:lt(t,e);break;case Me:break;default:e[r]=c;break}break;case"scalar":try{const d=ce(t.T,n,t.L,!1);switch(d){case Pe:lt(t,e);break;default:e[r]=d;break}}catch(d){let m=`cannot decode field ${a.typeName}.${t.name} from JSON: ${B(n)}`;throw d instanceof Error&&d.message.length>0&&(m+=`: ${d.message}`),new Error(m)}break}}function Dr(e,n){if(e===u.BOOL)switch(n){case"true":n=!0;break;case"false":n=!1;break}return ce(e,n,q.BIGINT,!0).toString()}function ce(e,n,t,o){if(n===null)return o?Q(e,t):Pe;switch(e){case u.DOUBLE:case u.FLOAT:if(n==="NaN")return Number.NaN;if(n==="Infinity")return Number.POSITIVE_INFINITY;if(n==="-Infinity")return Number.NEGATIVE_INFINITY;if(n===""||typeof n=="string"&&n.trim().length!==n.length||typeof n!="string"&&typeof n!="number")break;const a=Number(n);if(Number.isNaN(a)||!Number.isFinite(a))break;return e==u.FLOAT&&St(a),a;case u.INT32:case u.FIXED32:case u.SFIXED32:case u.SINT32:case u.UINT32:let r;if(typeof n=="number"?r=n:typeof n=="string"&&n.length>0&&n.trim().length===n.length&&(r=Number(n)),r===void 0)break;return e==u.UINT32||e==u.FIXED32?ln(r):Se(r),r;case u.INT64:case u.SFIXED64:case u.SINT64:if(typeof n!="number"&&typeof n!="string")break;const i=P.parse(n);return t?i.toString():i;case u.FIXED64:case u.UINT64:if(typeof n!="number"&&typeof n!="string")break;const s=P.uParse(n);return t?s.toString():s;case u.BOOL:if(typeof n!="boolean")break;return n;case u.STRING:if(typeof n!="string")break;try{encodeURIComponent(n)}catch{throw new Error("invalid UTF8")}return n;case u.BYTES:if(n==="")return new Uint8Array(0);if(typeof n!="string")break;return Bt.dec(n)}throw new Error}function en(e,n,t,o){if(n===null)return e.typeName=="google.protobuf.NullValue"?0:o?e.values[0].no:Pe;switch(typeof n){case"number":if(Number.isInteger(n))return n;break;case"string":const a=e.findName(n);if(a!==void 0)return a.no;if(t)return Me;break}throw new Error(`cannot decode enum ${e.typeName} from JSON: ${B(n)}`)}function Lr(e){return e.repeated||e.kind=="map"?!0:!(e.oneof||e.kind=="message"||e.opt||e.req)}function ft(e,n,t){if(e.kind=="map"){S(typeof n=="object"&&n!=null);const o={},a=Object.entries(n);switch(e.V.kind){case"scalar":for(const[i,s]of a)o[i.toString()]=Ie(e.V.T,s);break;case"message":for(const[i,s]of a)o[i.toString()]=s.toJson(t);break;case"enum":const r=e.V.T;for(const[i,s]of a)o[i.toString()]=nn(r,s,t.enumAsInteger);break}return t.emitDefaultValues||a.length>0?o:void 0}if(e.repeated){S(Array.isArray(n));const o=[];switch(e.kind){case"scalar":for(let a=0;a0?o:void 0}switch(e.kind){case"scalar":return Ie(e.T,n);case"enum":return nn(e.T,n,t.enumAsInteger);case"message":return Ht(e.T,n).toJson(t)}}function nn(e,n,t){var o;if(S(typeof n=="number"),e.typeName=="google.protobuf.NullValue")return null;if(t)return n;const a=e.findNumber(n);return(o=a==null?void 0:a.name)!==null&&o!==void 0?o:n}function Ie(e,n){switch(e){case u.INT32:case u.SFIXED32:case u.SINT32:case u.FIXED32:case u.UINT32:return S(typeof n=="number"),n;case u.FLOAT:case u.DOUBLE:return S(typeof n=="number"),Number.isNaN(n)?"NaN":n===Number.POSITIVE_INFINITY?"Infinity":n===Number.NEGATIVE_INFINITY?"-Infinity":n;case u.STRING:return S(typeof n=="string"),n;case u.BOOL:return S(typeof n=="boolean"),n;case u.UINT64:case u.FIXED64:case u.INT64:case u.SFIXED64:case u.SINT64:return S(typeof n=="bigint"||typeof n=="string"||typeof n=="number"),n.toString();case u.BYTES:return S(n instanceof Uint8Array),Bt.enc(n)}}var j=Symbol("@bufbuild/protobuf/unknown-fields"),gt={readUnknownFields:!0,readerFactory:e=>new wr(e)},ht={writeUnknownFields:!0,writerFactory:()=>new vr};function Br(e){return e?Object.assign(Object.assign({},gt),e):gt}function xr(e){return e?Object.assign(Object.assign({},ht),e):ht}function Fr(){return{makeReadOptions:Br,makeWriteOptions:xr,listUnknownFields(e){var n;return(n=e[j])!==null&&n!==void 0?n:[]},discardUnknownFields(e){delete e[j]},writeUnknownFields(e,n){const o=e[j];if(o)for(const a of o)n.tag(a.no,a.wireType).raw(a.data)},onUnknownField(e,n,t,o){const a=e;Array.isArray(a[j])||(a[j]=[]),a[j].push({no:n,wireType:t,data:o})},readMessage(e,n,t,o,a){const r=e.getType(),i=a?n.len:n.pos+t;let s,c;for(;n.pos0&&(c=Hr),r){let f=e[i];if(o==I.LengthDelimited&&s!=u.STRING&&s!=u.BYTES){let p=n.uint32()+n.pos;for(;n.posK(f,g)?f:new g(f));else{const f=i[a];g.fieldWrapper?g.typeName==="google.protobuf.BytesValue"?r[a]=se(f):r[a]=f:r[a]=K(f,g)?f:new g(f)}break}}},equals(e,n,t){return n===t?!0:!n||!t?!1:e.fields.byMember().every(o=>{const a=n[o.localName],r=t[o.localName];if(o.repeated){if(a.length!==r.length)return!1;switch(o.kind){case"message":return a.every((i,s)=>o.T.equals(i,r[s]));case"scalar":return a.every((i,s)=>V(o.T,i,r[s]));case"enum":return a.every((i,s)=>V(u.INT32,i,r[s]))}throw new Error(`repeated cannot contain ${o.kind}`)}switch(o.kind){case"message":return o.T.equals(a,r);case"enum":return V(u.INT32,a,r);case"scalar":return V(o.T,a,r);case"oneof":if(a.case!==r.case)return!1;const i=o.findField(a.case);if(i===void 0)return!0;switch(i.kind){case"message":return i.T.equals(a.value,r.value);case"enum":return V(u.INT32,a.value,r.value);case"scalar":return V(i.T,a.value,r.value)}throw new Error(`oneof cannot contain ${i.kind}`);case"map":const s=Object.keys(a).concat(Object.keys(r));switch(o.V.kind){case"message":const c=o.V.T;return s.every(m=>c.equals(a[m],r[m]));case"enum":return s.every(m=>V(u.INT32,a[m],r[m]));case"scalar":const d=o.V.T;return s.every(m=>V(d,a[m],r[m]))}break}})},clone(e){const n=e.getType(),t=new n,o=t;for(const a of n.fields.byMember()){const r=e[a.localName];let i;if(a.repeated)i=r.map(be);else if(a.kind=="map"){i=o[a.localName];for(const[s,c]of Object.entries(r))i[s]=be(c)}else a.kind=="oneof"?i=a.findField(r.case)?{case:r.case,value:be(r.value)}:{case:void 0}:i=be(r);o[a.localName]=i}for(const a of n.runtime.bin.listUnknownFields(e))n.runtime.bin.onUnknownField(o,a.no,a.wireType,a.data);return t}}}function be(e){if(e===void 0)return e;if(K(e))return e.clone();if(e instanceof Uint8Array){const n=new Uint8Array(e.byteLength);return n.set(e),n}return e}function se(e){return e instanceof Uint8Array?e:new Uint8Array(e)}function qr(e,n,t){return{syntax:e,json:Or(),bin:Fr(),util:Object.assign(Object.assign({},$r()),{newFieldList:n,initFields:t}),makeMessageType(o,a,r){return Tr(this,o,a,r)},makeEnum:_r,makeEnumType:It,getEnumType:pr,makeExtension(o,a,r){return Sr(this,o,a,r)}}}var Xr=class{constructor(e,n){this._fields=e,this._normalizer=n}findJsonName(e){if(!this.jsonNames){const n={};for(const t of this.list())n[t.jsonName]=n[t.name]=t;this.jsonNames=n}return this.jsonNames[e]}find(e){if(!this.numbers){const n={};for(const t of this.list())n[t.no]=t;this.numbers=n}return this.numbers[e]}list(){return this.all||(this.all=this._normalizer(this._fields)),this.all}byNumber(){return this.numbersAsc||(this.numbersAsc=this.list().concat().sort((e,n)=>e.no-n.no)),this.numbersAsc}byMember(){if(!this.members){this.members=[];const e=this.members;let n;for(const t of this.list())t.oneof?t.oneof!==n&&(n=t.oneof,e.push(n)):e.push(t)}return this.members}};function Vt(e,n){const t=$t(e);return n?t:zr(jr(t))}function Kr(e){return Vt(e,!1)}var Wr=$t;function $t(e){let n=!1;const t=[];for(let o=0;o`${e}$`,jr=e=>Jr.has(e)?qt(e):e,zr=e=>Yr.has(e)?qt(e):e,Qr=class{constructor(e){this.kind="oneof",this.repeated=!1,this.packed=!1,this.opt=!1,this.req=!1,this.default=void 0,this.fields=[],this.name=e,this.localName=Kr(e)}addField(e){S(e.oneof===this,`field ${e.name} not one of ${this.name}`),this.fields.push(e)}findField(e){if(!this._lookup){this._lookup=Object.create(null);for(let n=0;nnew Xr(e,n=>Zr(n)),e=>{for(const n of e.getType().fields.byMember()){if(n.opt)continue;const t=n.localName,o=e;if(n.repeated){o[t]=[];continue}switch(n.kind){case"oneof":o[t]={case:void 0};break;case"enum":o[t]=0;break;case"map":o[t]={};break;case"scalar":o[t]=Q(n.T,n.L);break}}}),Xt={};N(Xt,{Channel:()=>de,ChannelSettings:()=>pn,Channel_Role:()=>Wt,ModuleSettings:()=>Kt});var pn=l.makeMessageType("meshtastic.ChannelSettings",()=>[{no:1,name:"channel_num",kind:"scalar",T:13},{no:2,name:"psk",kind:"scalar",T:12},{no:3,name:"name",kind:"scalar",T:9},{no:4,name:"id",kind:"scalar",T:7},{no:5,name:"uplink_enabled",kind:"scalar",T:8},{no:6,name:"downlink_enabled",kind:"scalar",T:8},{no:7,name:"module_settings",kind:"message",T:Kt}]),Kt=l.makeMessageType("meshtastic.ModuleSettings",()=>[{no:1,name:"position_precision",kind:"scalar",T:13},{no:2,name:"is_client_muted",kind:"scalar",T:8}]),de=l.makeMessageType("meshtastic.Channel",()=>[{no:1,name:"index",kind:"scalar",T:5},{no:2,name:"settings",kind:"message",T:pn},{no:3,name:"role",kind:"enum",T:l.getEnumType(Wt)}]),Wt=l.makeEnum("meshtastic.Channel.Role",[{no:0,name:"DISABLED"},{no:1,name:"PRIMARY"},{no:2,name:"SECONDARY"}]),W={};N(W,{ChunkedPayload:()=>ui,ChunkedPayloadResponse:()=>fi,ClientNotification:()=>Na,Compressed:()=>mi,Constants:()=>oi,CriticalErrorCode:()=>ri,Data:()=>Ca,DeviceMetadata:()=>Wn,FileInfo:()=>Ma,FromRadio:()=>ci,HardwareModel:()=>ke,Heartbeat:()=>Aa,LogRecord:()=>wa,LogRecord_Level:()=>Kn,MeshPacket:()=>Y,MeshPacket_Delayed:()=>ba,MeshPacket_Priority:()=>Ea,MqttClientProxyMessage:()=>qn,MyNodeInfo:()=>Xn,Neighbor:()=>Ia,NeighborInfo:()=>di,NodeInfo:()=>va,NodeRemoteHardwarePin:()=>Yn,Position:()=>Vn,Position_AltSource:()=>ka,Position_LocSource:()=>$n,QueueStatus:()=>Sa,RouteDiscovery:()=>mn,Routing:()=>ii,Routing_Error:()=>ya,ToRadio:()=>li,User:()=>ue,Waypoint:()=>si,resend_chunks:()=>Ra});var Yt={};N(Yt,{Config:()=>De,Config_BluetoothConfig:()=>vn,Config_BluetoothConfig_PairingMode:()=>oa,Config_DeviceConfig:()=>_n,Config_DeviceConfig_RebroadcastMode:()=>Jt,Config_DeviceConfig_Role:()=>re,Config_DisplayConfig:()=>Cn,Config_DisplayConfig_CompassOrientation:()=>aa,Config_DisplayConfig_DisplayMode:()=>ta,Config_DisplayConfig_DisplayUnits:()=>ea,Config_DisplayConfig_GpsCoordinateFormat:()=>Zt,Config_DisplayConfig_OledType:()=>na,Config_LoRaConfig:()=>Xe,Config_LoRaConfig_ModemPreset:()=>bn,Config_LoRaConfig_RegionCode:()=>En,Config_NetworkConfig:()=>yn,Config_NetworkConfig_AddressMode:()=>zt,Config_NetworkConfig_IpV4Config:()=>Qt,Config_PositionConfig:()=>Tn,Config_PositionConfig_GpsMode:()=>jt,Config_PositionConfig_PositionFlags:()=>ei,Config_PowerConfig:()=>kn,Config_SecurityConfig:()=>wn,Config_SessionkeyConfig:()=>ra});var De=l.makeMessageType("meshtastic.Config",()=>[{no:1,name:"device",kind:"message",T:_n,oneof:"payload_variant"},{no:2,name:"position",kind:"message",T:Tn,oneof:"payload_variant"},{no:3,name:"power",kind:"message",T:kn,oneof:"payload_variant"},{no:4,name:"network",kind:"message",T:yn,oneof:"payload_variant"},{no:5,name:"display",kind:"message",T:Cn,oneof:"payload_variant"},{no:6,name:"lora",kind:"message",T:Xe,oneof:"payload_variant"},{no:7,name:"bluetooth",kind:"message",T:vn,oneof:"payload_variant"},{no:8,name:"security",kind:"message",T:wn,oneof:"payload_variant"},{no:9,name:"sessionkey",kind:"message",T:ra,oneof:"payload_variant"}]),_n=l.makeMessageType("meshtastic.Config.DeviceConfig",()=>[{no:1,name:"role",kind:"enum",T:l.getEnumType(re)},{no:2,name:"serial_enabled",kind:"scalar",T:8},{no:4,name:"button_gpio",kind:"scalar",T:13},{no:5,name:"buzzer_gpio",kind:"scalar",T:13},{no:6,name:"rebroadcast_mode",kind:"enum",T:l.getEnumType(Jt)},{no:7,name:"node_info_broadcast_secs",kind:"scalar",T:13},{no:8,name:"double_tap_as_button_press",kind:"scalar",T:8},{no:9,name:"is_managed",kind:"scalar",T:8},{no:10,name:"disable_triple_click",kind:"scalar",T:8},{no:11,name:"tzdef",kind:"scalar",T:9},{no:12,name:"led_heartbeat_disabled",kind:"scalar",T:8}],{localName:"Config_DeviceConfig"}),re=l.makeEnum("meshtastic.Config.DeviceConfig.Role",[{no:0,name:"CLIENT"},{no:1,name:"CLIENT_MUTE"},{no:2,name:"ROUTER"},{no:3,name:"ROUTER_CLIENT"},{no:4,name:"REPEATER"},{no:5,name:"TRACKER"},{no:6,name:"SENSOR"},{no:7,name:"TAK"},{no:8,name:"CLIENT_HIDDEN"},{no:9,name:"LOST_AND_FOUND"},{no:10,name:"TAK_TRACKER"}]),Jt=l.makeEnum("meshtastic.Config.DeviceConfig.RebroadcastMode",[{no:0,name:"ALL"},{no:1,name:"ALL_SKIP_DECODING"},{no:2,name:"LOCAL_ONLY"},{no:3,name:"KNOWN_ONLY"}]),Tn=l.makeMessageType("meshtastic.Config.PositionConfig",()=>[{no:1,name:"position_broadcast_secs",kind:"scalar",T:13},{no:2,name:"position_broadcast_smart_enabled",kind:"scalar",T:8},{no:3,name:"fixed_position",kind:"scalar",T:8},{no:4,name:"gps_enabled",kind:"scalar",T:8},{no:5,name:"gps_update_interval",kind:"scalar",T:13},{no:6,name:"gps_attempt_time",kind:"scalar",T:13},{no:7,name:"position_flags",kind:"scalar",T:13},{no:8,name:"rx_gpio",kind:"scalar",T:13},{no:9,name:"tx_gpio",kind:"scalar",T:13},{no:10,name:"broadcast_smart_minimum_distance",kind:"scalar",T:13},{no:11,name:"broadcast_smart_minimum_interval_secs",kind:"scalar",T:13},{no:12,name:"gps_en_gpio",kind:"scalar",T:13},{no:13,name:"gps_mode",kind:"enum",T:l.getEnumType(jt)}],{localName:"Config_PositionConfig"}),ei=l.makeEnum("meshtastic.Config.PositionConfig.PositionFlags",[{no:0,name:"UNSET"},{no:1,name:"ALTITUDE"},{no:2,name:"ALTITUDE_MSL"},{no:4,name:"GEOIDAL_SEPARATION"},{no:8,name:"DOP"},{no:16,name:"HVDOP"},{no:32,name:"SATINVIEW"},{no:64,name:"SEQ_NO"},{no:128,name:"TIMESTAMP"},{no:256,name:"HEADING"},{no:512,name:"SPEED"}]),jt=l.makeEnum("meshtastic.Config.PositionConfig.GpsMode",[{no:0,name:"DISABLED"},{no:1,name:"ENABLED"},{no:2,name:"NOT_PRESENT"}]),kn=l.makeMessageType("meshtastic.Config.PowerConfig",()=>[{no:1,name:"is_power_saving",kind:"scalar",T:8},{no:2,name:"on_battery_shutdown_after_secs",kind:"scalar",T:13},{no:3,name:"adc_multiplier_override",kind:"scalar",T:2},{no:4,name:"wait_bluetooth_secs",kind:"scalar",T:13},{no:6,name:"sds_secs",kind:"scalar",T:13},{no:7,name:"ls_secs",kind:"scalar",T:13},{no:8,name:"min_wake_secs",kind:"scalar",T:13},{no:9,name:"device_battery_ina_address",kind:"scalar",T:13},{no:32,name:"powermon_enables",kind:"scalar",T:4}],{localName:"Config_PowerConfig"}),yn=l.makeMessageType("meshtastic.Config.NetworkConfig",()=>[{no:1,name:"wifi_enabled",kind:"scalar",T:8},{no:3,name:"wifi_ssid",kind:"scalar",T:9},{no:4,name:"wifi_psk",kind:"scalar",T:9},{no:5,name:"ntp_server",kind:"scalar",T:9},{no:6,name:"eth_enabled",kind:"scalar",T:8},{no:7,name:"address_mode",kind:"enum",T:l.getEnumType(zt)},{no:8,name:"ipv4_config",kind:"message",T:Qt},{no:9,name:"rsyslog_server",kind:"scalar",T:9}],{localName:"Config_NetworkConfig"}),zt=l.makeEnum("meshtastic.Config.NetworkConfig.AddressMode",[{no:0,name:"DHCP"},{no:1,name:"STATIC"}]),Qt=l.makeMessageType("meshtastic.Config.NetworkConfig.IpV4Config",()=>[{no:1,name:"ip",kind:"scalar",T:7},{no:2,name:"gateway",kind:"scalar",T:7},{no:3,name:"subnet",kind:"scalar",T:7},{no:4,name:"dns",kind:"scalar",T:7}],{localName:"Config_NetworkConfig_IpV4Config"}),Cn=l.makeMessageType("meshtastic.Config.DisplayConfig",()=>[{no:1,name:"screen_on_secs",kind:"scalar",T:13},{no:2,name:"gps_format",kind:"enum",T:l.getEnumType(Zt)},{no:3,name:"auto_screen_carousel_secs",kind:"scalar",T:13},{no:4,name:"compass_north_top",kind:"scalar",T:8},{no:5,name:"flip_screen",kind:"scalar",T:8},{no:6,name:"units",kind:"enum",T:l.getEnumType(ea)},{no:7,name:"oled",kind:"enum",T:l.getEnumType(na)},{no:8,name:"displaymode",kind:"enum",T:l.getEnumType(ta)},{no:9,name:"heading_bold",kind:"scalar",T:8},{no:10,name:"wake_on_tap_or_motion",kind:"scalar",T:8},{no:11,name:"compass_orientation",kind:"enum",T:l.getEnumType(aa)}],{localName:"Config_DisplayConfig"}),Zt=l.makeEnum("meshtastic.Config.DisplayConfig.GpsCoordinateFormat",[{no:0,name:"DEC"},{no:1,name:"DMS"},{no:2,name:"UTM"},{no:3,name:"MGRS"},{no:4,name:"OLC"},{no:5,name:"OSGR"}]),ea=l.makeEnum("meshtastic.Config.DisplayConfig.DisplayUnits",[{no:0,name:"METRIC"},{no:1,name:"IMPERIAL"}]),na=l.makeEnum("meshtastic.Config.DisplayConfig.OledType",[{no:0,name:"OLED_AUTO"},{no:1,name:"OLED_SSD1306"},{no:2,name:"OLED_SH1106"},{no:3,name:"OLED_SH1107"}]),ta=l.makeEnum("meshtastic.Config.DisplayConfig.DisplayMode",[{no:0,name:"DEFAULT"},{no:1,name:"TWOCOLOR"},{no:2,name:"INVERTED"},{no:3,name:"COLOR"}]),aa=l.makeEnum("meshtastic.Config.DisplayConfig.CompassOrientation",[{no:0,name:"DEGREES_0"},{no:1,name:"DEGREES_90"},{no:2,name:"DEGREES_180"},{no:3,name:"DEGREES_270"},{no:4,name:"DEGREES_0_INVERTED"},{no:5,name:"DEGREES_90_INVERTED"},{no:6,name:"DEGREES_180_INVERTED"},{no:7,name:"DEGREES_270_INVERTED"}]),Xe=l.makeMessageType("meshtastic.Config.LoRaConfig",()=>[{no:1,name:"use_preset",kind:"scalar",T:8},{no:2,name:"modem_preset",kind:"enum",T:l.getEnumType(bn)},{no:3,name:"bandwidth",kind:"scalar",T:13},{no:4,name:"spread_factor",kind:"scalar",T:13},{no:5,name:"coding_rate",kind:"scalar",T:13},{no:6,name:"frequency_offset",kind:"scalar",T:2},{no:7,name:"region",kind:"enum",T:l.getEnumType(En)},{no:8,name:"hop_limit",kind:"scalar",T:13},{no:9,name:"tx_enabled",kind:"scalar",T:8},{no:10,name:"tx_power",kind:"scalar",T:5},{no:11,name:"channel_num",kind:"scalar",T:13},{no:12,name:"override_duty_cycle",kind:"scalar",T:8},{no:13,name:"sx126x_rx_boosted_gain",kind:"scalar",T:8},{no:14,name:"override_frequency",kind:"scalar",T:2},{no:15,name:"pa_fan_disabled",kind:"scalar",T:8},{no:103,name:"ignore_incoming",kind:"scalar",T:13,repeated:!0},{no:104,name:"ignore_mqtt",kind:"scalar",T:8},{no:105,name:"config_ok_to_mqtt",kind:"scalar",T:8}],{localName:"Config_LoRaConfig"}),En=l.makeEnum("meshtastic.Config.LoRaConfig.RegionCode",[{no:0,name:"UNSET"},{no:1,name:"US"},{no:2,name:"EU_433"},{no:3,name:"EU_868"},{no:4,name:"CN"},{no:5,name:"JP"},{no:6,name:"ANZ"},{no:7,name:"KR"},{no:8,name:"TW"},{no:9,name:"RU"},{no:10,name:"IN"},{no:11,name:"NZ_865"},{no:12,name:"TH"},{no:13,name:"LORA_24"},{no:14,name:"UA_433"},{no:15,name:"UA_868"},{no:16,name:"MY_433"},{no:17,name:"MY_919"},{no:18,name:"SG_923"}]),bn=l.makeEnum("meshtastic.Config.LoRaConfig.ModemPreset",[{no:0,name:"LONG_FAST"},{no:1,name:"LONG_SLOW"},{no:2,name:"VERY_LONG_SLOW"},{no:3,name:"MEDIUM_SLOW"},{no:4,name:"MEDIUM_FAST"},{no:5,name:"SHORT_SLOW"},{no:6,name:"SHORT_FAST"},{no:7,name:"LONG_MODERATE"},{no:8,name:"SHORT_TURBO"}]),vn=l.makeMessageType("meshtastic.Config.BluetoothConfig",()=>[{no:1,name:"enabled",kind:"scalar",T:8},{no:2,name:"mode",kind:"enum",T:l.getEnumType(oa)},{no:3,name:"fixed_pin",kind:"scalar",T:13}],{localName:"Config_BluetoothConfig"}),oa=l.makeEnum("meshtastic.Config.BluetoothConfig.PairingMode",[{no:0,name:"RANDOM_PIN"},{no:1,name:"FIXED_PIN"},{no:2,name:"NO_PIN"}]),wn=l.makeMessageType("meshtastic.Config.SecurityConfig",()=>[{no:1,name:"public_key",kind:"scalar",T:12},{no:2,name:"private_key",kind:"scalar",T:12},{no:3,name:"admin_key",kind:"scalar",T:12,repeated:!0},{no:4,name:"is_managed",kind:"scalar",T:8},{no:5,name:"serial_enabled",kind:"scalar",T:8},{no:6,name:"debug_log_api_enabled",kind:"scalar",T:8},{no:8,name:"admin_channel_enabled",kind:"scalar",T:8}],{localName:"Config_SecurityConfig"}),ra=l.makeMessageType("meshtastic.Config.SessionkeyConfig",[],{localName:"Config_SessionkeyConfig"}),ia={};N(ia,{PortNum:()=>Sn});var Sn=l.makeEnum("meshtastic.PortNum",[{no:0,name:"UNKNOWN_APP"},{no:1,name:"TEXT_MESSAGE_APP"},{no:2,name:"REMOTE_HARDWARE_APP"},{no:3,name:"POSITION_APP"},{no:4,name:"NODEINFO_APP"},{no:5,name:"ROUTING_APP"},{no:6,name:"ADMIN_APP"},{no:7,name:"TEXT_MESSAGE_COMPRESSED_APP"},{no:8,name:"WAYPOINT_APP"},{no:9,name:"AUDIO_APP"},{no:10,name:"DETECTION_SENSOR_APP"},{no:32,name:"REPLY_APP"},{no:33,name:"IP_TUNNEL_APP"},{no:34,name:"PAXCOUNTER_APP"},{no:64,name:"SERIAL_APP"},{no:65,name:"STORE_FORWARD_APP"},{no:66,name:"RANGE_TEST_APP"},{no:67,name:"TELEMETRY_APP"},{no:68,name:"ZPS_APP"},{no:69,name:"SIMULATOR_APP"},{no:70,name:"TRACEROUTE_APP"},{no:71,name:"NEIGHBORINFO_APP"},{no:72,name:"ATAK_PLUGIN"},{no:73,name:"MAP_REPORT_APP"},{no:74,name:"POWERSTRESS_APP"},{no:256,name:"PRIVATE_APP"},{no:257,name:"ATAK_FORWARDER"},{no:511,name:"MAX"}]),sa={};N(sa,{AirQualityMetrics:()=>ma,DeviceMetrics:()=>Ke,EnvironmentMetrics:()=>ca,LocalStats:()=>da,Nau7802Config:()=>ai,PowerMetrics:()=>la,Telemetry:()=>ti,TelemetrySensorType:()=>ni});var ni=l.makeEnum("meshtastic.TelemetrySensorType",[{no:0,name:"SENSOR_UNSET"},{no:1,name:"BME280"},{no:2,name:"BME680"},{no:3,name:"MCP9808"},{no:4,name:"INA260"},{no:5,name:"INA219"},{no:6,name:"BMP280"},{no:7,name:"SHTC3"},{no:8,name:"LPS22"},{no:9,name:"QMC6310"},{no:10,name:"QMI8658"},{no:11,name:"QMC5883L"},{no:12,name:"SHT31"},{no:13,name:"PMSA003I"},{no:14,name:"INA3221"},{no:15,name:"BMP085"},{no:16,name:"RCWL9620"},{no:17,name:"SHT4X"},{no:18,name:"VEML7700"},{no:19,name:"MLX90632"},{no:20,name:"OPT3001"},{no:21,name:"LTR390UV"},{no:22,name:"TSL25911FN"},{no:23,name:"AHT10"},{no:24,name:"DFROBOT_LARK"},{no:25,name:"NAU7802"},{no:26,name:"BMP3XX"},{no:27,name:"ICM20948"},{no:28,name:"MAX17048"},{no:29,name:"CUSTOM_SENSOR"}]),Ke=l.makeMessageType("meshtastic.DeviceMetrics",()=>[{no:1,name:"battery_level",kind:"scalar",T:13,opt:!0},{no:2,name:"voltage",kind:"scalar",T:2,opt:!0},{no:3,name:"channel_utilization",kind:"scalar",T:2,opt:!0},{no:4,name:"air_util_tx",kind:"scalar",T:2,opt:!0},{no:5,name:"uptime_seconds",kind:"scalar",T:13,opt:!0}]),ca=l.makeMessageType("meshtastic.EnvironmentMetrics",()=>[{no:1,name:"temperature",kind:"scalar",T:2,opt:!0},{no:2,name:"relative_humidity",kind:"scalar",T:2,opt:!0},{no:3,name:"barometric_pressure",kind:"scalar",T:2,opt:!0},{no:4,name:"gas_resistance",kind:"scalar",T:2,opt:!0},{no:5,name:"voltage",kind:"scalar",T:2,opt:!0},{no:6,name:"current",kind:"scalar",T:2,opt:!0},{no:7,name:"iaq",kind:"scalar",T:13,opt:!0},{no:8,name:"distance",kind:"scalar",T:2,opt:!0},{no:9,name:"lux",kind:"scalar",T:2,opt:!0},{no:10,name:"white_lux",kind:"scalar",T:2,opt:!0},{no:11,name:"ir_lux",kind:"scalar",T:2,opt:!0},{no:12,name:"uv_lux",kind:"scalar",T:2,opt:!0},{no:13,name:"wind_direction",kind:"scalar",T:13,opt:!0},{no:14,name:"wind_speed",kind:"scalar",T:2,opt:!0},{no:15,name:"weight",kind:"scalar",T:2,opt:!0},{no:16,name:"wind_gust",kind:"scalar",T:2,opt:!0},{no:17,name:"wind_lull",kind:"scalar",T:2,opt:!0}]),la=l.makeMessageType("meshtastic.PowerMetrics",()=>[{no:1,name:"ch1_voltage",kind:"scalar",T:2,opt:!0},{no:2,name:"ch1_current",kind:"scalar",T:2,opt:!0},{no:3,name:"ch2_voltage",kind:"scalar",T:2,opt:!0},{no:4,name:"ch2_current",kind:"scalar",T:2,opt:!0},{no:5,name:"ch3_voltage",kind:"scalar",T:2,opt:!0},{no:6,name:"ch3_current",kind:"scalar",T:2,opt:!0}]),ma=l.makeMessageType("meshtastic.AirQualityMetrics",()=>[{no:1,name:"pm10_standard",kind:"scalar",T:13,opt:!0},{no:2,name:"pm25_standard",kind:"scalar",T:13,opt:!0},{no:3,name:"pm100_standard",kind:"scalar",T:13,opt:!0},{no:4,name:"pm10_environmental",kind:"scalar",T:13,opt:!0},{no:5,name:"pm25_environmental",kind:"scalar",T:13,opt:!0},{no:6,name:"pm100_environmental",kind:"scalar",T:13,opt:!0},{no:7,name:"particles_03um",kind:"scalar",T:13,opt:!0},{no:8,name:"particles_05um",kind:"scalar",T:13,opt:!0},{no:9,name:"particles_10um",kind:"scalar",T:13,opt:!0},{no:10,name:"particles_25um",kind:"scalar",T:13,opt:!0},{no:11,name:"particles_50um",kind:"scalar",T:13,opt:!0},{no:12,name:"particles_100um",kind:"scalar",T:13,opt:!0}]),da=l.makeMessageType("meshtastic.LocalStats",()=>[{no:1,name:"uptime_seconds",kind:"scalar",T:13},{no:2,name:"channel_utilization",kind:"scalar",T:2},{no:3,name:"air_util_tx",kind:"scalar",T:2},{no:4,name:"num_packets_tx",kind:"scalar",T:13},{no:5,name:"num_packets_rx",kind:"scalar",T:13},{no:6,name:"num_packets_rx_bad",kind:"scalar",T:13},{no:7,name:"num_online_nodes",kind:"scalar",T:13},{no:8,name:"num_total_nodes",kind:"scalar",T:13}]),ti=l.makeMessageType("meshtastic.Telemetry",()=>[{no:1,name:"time",kind:"scalar",T:7},{no:2,name:"device_metrics",kind:"message",T:Ke,oneof:"variant"},{no:3,name:"environment_metrics",kind:"message",T:ca,oneof:"variant"},{no:4,name:"air_quality_metrics",kind:"message",T:ma,oneof:"variant"},{no:5,name:"power_metrics",kind:"message",T:la,oneof:"variant"},{no:6,name:"local_stats",kind:"message",T:da,oneof:"variant"}]),ai=l.makeMessageType("meshtastic.Nau7802Config",()=>[{no:1,name:"zeroOffset",kind:"scalar",T:5},{no:2,name:"calibrationFactor",kind:"scalar",T:2}]),ua={};N(ua,{ModuleConfig:()=>Le,ModuleConfig_AmbientLightingConfig:()=>Un,ModuleConfig_AudioConfig:()=>Rn,ModuleConfig_AudioConfig_Audio_Baud:()=>ha,ModuleConfig_CannedMessageConfig:()=>Fn,ModuleConfig_CannedMessageConfig_InputEventChar:()=>Re,ModuleConfig_DetectionSensorConfig:()=>An,ModuleConfig_ExternalNotificationConfig:()=>Dn,ModuleConfig_MQTTConfig:()=>Nn,ModuleConfig_MapReportSettings:()=>ga,ModuleConfig_NeighborInfoConfig:()=>In,ModuleConfig_PaxcounterConfig:()=>Pn,ModuleConfig_RangeTestConfig:()=>Bn,ModuleConfig_RemoteHardwareConfig:()=>Mn,ModuleConfig_SerialConfig:()=>On,ModuleConfig_SerialConfig_Serial_Baud:()=>pa,ModuleConfig_SerialConfig_Serial_Mode:()=>_a,ModuleConfig_StoreForwardConfig:()=>Ln,ModuleConfig_TelemetryConfig:()=>xn,RemoteHardwarePin:()=>Hn,RemoteHardwarePinType:()=>fa});var fa=l.makeEnum("meshtastic.RemoteHardwarePinType",[{no:0,name:"UNKNOWN"},{no:1,name:"DIGITAL_READ"},{no:2,name:"DIGITAL_WRITE"}]),Le=l.makeMessageType("meshtastic.ModuleConfig",()=>[{no:1,name:"mqtt",kind:"message",T:Nn,oneof:"payload_variant"},{no:2,name:"serial",kind:"message",T:On,oneof:"payload_variant"},{no:3,name:"external_notification",kind:"message",T:Dn,oneof:"payload_variant"},{no:4,name:"store_forward",kind:"message",T:Ln,oneof:"payload_variant"},{no:5,name:"range_test",kind:"message",T:Bn,oneof:"payload_variant"},{no:6,name:"telemetry",kind:"message",T:xn,oneof:"payload_variant"},{no:7,name:"canned_message",kind:"message",T:Fn,oneof:"payload_variant"},{no:8,name:"audio",kind:"message",T:Rn,oneof:"payload_variant"},{no:9,name:"remote_hardware",kind:"message",T:Mn,oneof:"payload_variant"},{no:10,name:"neighbor_info",kind:"message",T:In,oneof:"payload_variant"},{no:11,name:"ambient_lighting",kind:"message",T:Un,oneof:"payload_variant"},{no:12,name:"detection_sensor",kind:"message",T:An,oneof:"payload_variant"},{no:13,name:"paxcounter",kind:"message",T:Pn,oneof:"payload_variant"}]),Nn=l.makeMessageType("meshtastic.ModuleConfig.MQTTConfig",()=>[{no:1,name:"enabled",kind:"scalar",T:8},{no:2,name:"address",kind:"scalar",T:9},{no:3,name:"username",kind:"scalar",T:9},{no:4,name:"password",kind:"scalar",T:9},{no:5,name:"encryption_enabled",kind:"scalar",T:8},{no:6,name:"json_enabled",kind:"scalar",T:8},{no:7,name:"tls_enabled",kind:"scalar",T:8},{no:8,name:"root",kind:"scalar",T:9},{no:9,name:"proxy_to_client_enabled",kind:"scalar",T:8},{no:10,name:"map_reporting_enabled",kind:"scalar",T:8},{no:11,name:"map_report_settings",kind:"message",T:ga}],{localName:"ModuleConfig_MQTTConfig"}),ga=l.makeMessageType("meshtastic.ModuleConfig.MapReportSettings",()=>[{no:1,name:"publish_interval_secs",kind:"scalar",T:13},{no:2,name:"position_precision",kind:"scalar",T:13}],{localName:"ModuleConfig_MapReportSettings"}),Mn=l.makeMessageType("meshtastic.ModuleConfig.RemoteHardwareConfig",()=>[{no:1,name:"enabled",kind:"scalar",T:8},{no:2,name:"allow_undefined_pin_access",kind:"scalar",T:8},{no:3,name:"available_pins",kind:"message",T:Hn,repeated:!0}],{localName:"ModuleConfig_RemoteHardwareConfig"}),In=l.makeMessageType("meshtastic.ModuleConfig.NeighborInfoConfig",()=>[{no:1,name:"enabled",kind:"scalar",T:8},{no:2,name:"update_interval",kind:"scalar",T:13}],{localName:"ModuleConfig_NeighborInfoConfig"}),An=l.makeMessageType("meshtastic.ModuleConfig.DetectionSensorConfig",()=>[{no:1,name:"enabled",kind:"scalar",T:8},{no:2,name:"minimum_broadcast_secs",kind:"scalar",T:13},{no:3,name:"state_broadcast_secs",kind:"scalar",T:13},{no:4,name:"send_bell",kind:"scalar",T:8},{no:5,name:"name",kind:"scalar",T:9},{no:6,name:"monitor_pin",kind:"scalar",T:13},{no:7,name:"detection_triggered_high",kind:"scalar",T:8},{no:8,name:"use_pullup",kind:"scalar",T:8}],{localName:"ModuleConfig_DetectionSensorConfig"}),Rn=l.makeMessageType("meshtastic.ModuleConfig.AudioConfig",()=>[{no:1,name:"codec2_enabled",kind:"scalar",T:8},{no:2,name:"ptt_pin",kind:"scalar",T:13},{no:3,name:"bitrate",kind:"enum",T:l.getEnumType(ha)},{no:4,name:"i2s_ws",kind:"scalar",T:13},{no:5,name:"i2s_sd",kind:"scalar",T:13},{no:6,name:"i2s_din",kind:"scalar",T:13},{no:7,name:"i2s_sck",kind:"scalar",T:13}],{localName:"ModuleConfig_AudioConfig"}),ha=l.makeEnum("meshtastic.ModuleConfig.AudioConfig.Audio_Baud",[{no:0,name:"CODEC2_DEFAULT"},{no:1,name:"CODEC2_3200"},{no:2,name:"CODEC2_2400"},{no:3,name:"CODEC2_1600"},{no:4,name:"CODEC2_1400"},{no:5,name:"CODEC2_1300"},{no:6,name:"CODEC2_1200"},{no:7,name:"CODEC2_700"},{no:8,name:"CODEC2_700B"}]),Pn=l.makeMessageType("meshtastic.ModuleConfig.PaxcounterConfig",()=>[{no:1,name:"enabled",kind:"scalar",T:8},{no:2,name:"paxcounter_update_interval",kind:"scalar",T:13},{no:3,name:"wifi_threshold",kind:"scalar",T:5},{no:4,name:"ble_threshold",kind:"scalar",T:5}],{localName:"ModuleConfig_PaxcounterConfig"}),On=l.makeMessageType("meshtastic.ModuleConfig.SerialConfig",()=>[{no:1,name:"enabled",kind:"scalar",T:8},{no:2,name:"echo",kind:"scalar",T:8},{no:3,name:"rxd",kind:"scalar",T:13},{no:4,name:"txd",kind:"scalar",T:13},{no:5,name:"baud",kind:"enum",T:l.getEnumType(pa)},{no:6,name:"timeout",kind:"scalar",T:13},{no:7,name:"mode",kind:"enum",T:l.getEnumType(_a)},{no:8,name:"override_console_serial_port",kind:"scalar",T:8}],{localName:"ModuleConfig_SerialConfig"}),pa=l.makeEnum("meshtastic.ModuleConfig.SerialConfig.Serial_Baud",[{no:0,name:"BAUD_DEFAULT"},{no:1,name:"BAUD_110"},{no:2,name:"BAUD_300"},{no:3,name:"BAUD_600"},{no:4,name:"BAUD_1200"},{no:5,name:"BAUD_2400"},{no:6,name:"BAUD_4800"},{no:7,name:"BAUD_9600"},{no:8,name:"BAUD_19200"},{no:9,name:"BAUD_38400"},{no:10,name:"BAUD_57600"},{no:11,name:"BAUD_115200"},{no:12,name:"BAUD_230400"},{no:13,name:"BAUD_460800"},{no:14,name:"BAUD_576000"},{no:15,name:"BAUD_921600"}]),_a=l.makeEnum("meshtastic.ModuleConfig.SerialConfig.Serial_Mode",[{no:0,name:"DEFAULT"},{no:1,name:"SIMPLE"},{no:2,name:"PROTO"},{no:3,name:"TEXTMSG"},{no:4,name:"NMEA"},{no:5,name:"CALTOPO"},{no:6,name:"WS85"}]),Dn=l.makeMessageType("meshtastic.ModuleConfig.ExternalNotificationConfig",()=>[{no:1,name:"enabled",kind:"scalar",T:8},{no:2,name:"output_ms",kind:"scalar",T:13},{no:3,name:"output",kind:"scalar",T:13},{no:8,name:"output_vibra",kind:"scalar",T:13},{no:9,name:"output_buzzer",kind:"scalar",T:13},{no:4,name:"active",kind:"scalar",T:8},{no:5,name:"alert_message",kind:"scalar",T:8},{no:10,name:"alert_message_vibra",kind:"scalar",T:8},{no:11,name:"alert_message_buzzer",kind:"scalar",T:8},{no:6,name:"alert_bell",kind:"scalar",T:8},{no:12,name:"alert_bell_vibra",kind:"scalar",T:8},{no:13,name:"alert_bell_buzzer",kind:"scalar",T:8},{no:7,name:"use_pwm",kind:"scalar",T:8},{no:14,name:"nag_timeout",kind:"scalar",T:13},{no:15,name:"use_i2s_as_buzzer",kind:"scalar",T:8}],{localName:"ModuleConfig_ExternalNotificationConfig"}),Ln=l.makeMessageType("meshtastic.ModuleConfig.StoreForwardConfig",()=>[{no:1,name:"enabled",kind:"scalar",T:8},{no:2,name:"heartbeat",kind:"scalar",T:8},{no:3,name:"records",kind:"scalar",T:13},{no:4,name:"history_return_max",kind:"scalar",T:13},{no:5,name:"history_return_window",kind:"scalar",T:13},{no:6,name:"is_server",kind:"scalar",T:8}],{localName:"ModuleConfig_StoreForwardConfig"}),Bn=l.makeMessageType("meshtastic.ModuleConfig.RangeTestConfig",()=>[{no:1,name:"enabled",kind:"scalar",T:8},{no:2,name:"sender",kind:"scalar",T:13},{no:3,name:"save",kind:"scalar",T:8}],{localName:"ModuleConfig_RangeTestConfig"}),xn=l.makeMessageType("meshtastic.ModuleConfig.TelemetryConfig",()=>[{no:1,name:"device_update_interval",kind:"scalar",T:13},{no:2,name:"environment_update_interval",kind:"scalar",T:13},{no:3,name:"environment_measurement_enabled",kind:"scalar",T:8},{no:4,name:"environment_screen_enabled",kind:"scalar",T:8},{no:5,name:"environment_display_fahrenheit",kind:"scalar",T:8},{no:6,name:"air_quality_enabled",kind:"scalar",T:8},{no:7,name:"air_quality_interval",kind:"scalar",T:13},{no:8,name:"power_measurement_enabled",kind:"scalar",T:8},{no:9,name:"power_update_interval",kind:"scalar",T:13},{no:10,name:"power_screen_enabled",kind:"scalar",T:8}],{localName:"ModuleConfig_TelemetryConfig"}),Fn=l.makeMessageType("meshtastic.ModuleConfig.CannedMessageConfig",()=>[{no:1,name:"rotary1_enabled",kind:"scalar",T:8},{no:2,name:"inputbroker_pin_a",kind:"scalar",T:13},{no:3,name:"inputbroker_pin_b",kind:"scalar",T:13},{no:4,name:"inputbroker_pin_press",kind:"scalar",T:13},{no:5,name:"inputbroker_event_cw",kind:"enum",T:l.getEnumType(Re)},{no:6,name:"inputbroker_event_ccw",kind:"enum",T:l.getEnumType(Re)},{no:7,name:"inputbroker_event_press",kind:"enum",T:l.getEnumType(Re)},{no:8,name:"updown1_enabled",kind:"scalar",T:8},{no:9,name:"enabled",kind:"scalar",T:8},{no:10,name:"allow_input_source",kind:"scalar",T:9},{no:11,name:"send_bell",kind:"scalar",T:8}],{localName:"ModuleConfig_CannedMessageConfig"}),Re=l.makeEnum("meshtastic.ModuleConfig.CannedMessageConfig.InputEventChar",[{no:0,name:"NONE"},{no:17,name:"UP"},{no:18,name:"DOWN"},{no:19,name:"LEFT"},{no:20,name:"RIGHT"},{no:10,name:"SELECT"},{no:27,name:"BACK"},{no:24,name:"CANCEL"}]),Un=l.makeMessageType("meshtastic.ModuleConfig.AmbientLightingConfig",()=>[{no:1,name:"led_state",kind:"scalar",T:8},{no:2,name:"current",kind:"scalar",T:13},{no:3,name:"red",kind:"scalar",T:13},{no:4,name:"green",kind:"scalar",T:13},{no:5,name:"blue",kind:"scalar",T:13}],{localName:"ModuleConfig_AmbientLightingConfig"}),Hn=l.makeMessageType("meshtastic.RemoteHardwarePin",()=>[{no:1,name:"gpio_pin",kind:"scalar",T:13},{no:2,name:"name",kind:"scalar",T:9},{no:3,name:"type",kind:"enum",T:l.getEnumType(fa)}]),R={};N(R,{XModem:()=>Gn,XModem_Control:()=>Ta});var Gn=l.makeMessageType("meshtastic.XModem",()=>[{no:1,name:"control",kind:"enum",T:l.getEnumType(Ta)},{no:2,name:"seq",kind:"scalar",T:13},{no:3,name:"crc16",kind:"scalar",T:13},{no:4,name:"buffer",kind:"scalar",T:12}]),Ta=l.makeEnum("meshtastic.XModem.Control",[{no:0,name:"NUL"},{no:1,name:"SOH"},{no:2,name:"STX"},{no:4,name:"EOT"},{no:6,name:"ACK"},{no:21,name:"NAK"},{no:24,name:"CAN"},{no:26,name:"CTRLZ"}]),ke=l.makeEnum("meshtastic.HardwareModel",[{no:0,name:"UNSET"},{no:1,name:"TLORA_V2"},{no:2,name:"TLORA_V1"},{no:3,name:"TLORA_V2_1_1P6"},{no:4,name:"TBEAM"},{no:5,name:"HELTEC_V2_0"},{no:6,name:"TBEAM_V0P7"},{no:7,name:"T_ECHO"},{no:8,name:"TLORA_V1_1P3"},{no:9,name:"RAK4631"},{no:10,name:"HELTEC_V2_1"},{no:11,name:"HELTEC_V1"},{no:12,name:"LILYGO_TBEAM_S3_CORE"},{no:13,name:"RAK11200"},{no:14,name:"NANO_G1"},{no:15,name:"TLORA_V2_1_1P8"},{no:16,name:"TLORA_T3_S3"},{no:17,name:"NANO_G1_EXPLORER"},{no:18,name:"NANO_G2_ULTRA"},{no:19,name:"LORA_TYPE"},{no:20,name:"WIPHONE"},{no:21,name:"WIO_WM1110"},{no:22,name:"RAK2560"},{no:23,name:"HELTEC_HRU_3601"},{no:25,name:"STATION_G1"},{no:26,name:"RAK11310"},{no:27,name:"SENSELORA_RP2040"},{no:28,name:"SENSELORA_S3"},{no:29,name:"CANARYONE"},{no:30,name:"RP2040_LORA"},{no:31,name:"STATION_G2"},{no:32,name:"LORA_RELAY_V1"},{no:33,name:"NRF52840DK"},{no:34,name:"PPR"},{no:35,name:"GENIEBLOCKS"},{no:36,name:"NRF52_UNKNOWN"},{no:37,name:"PORTDUINO"},{no:38,name:"ANDROID_SIM"},{no:39,name:"DIY_V1"},{no:40,name:"NRF52840_PCA10059"},{no:41,name:"DR_DEV"},{no:42,name:"M5STACK"},{no:43,name:"HELTEC_V3"},{no:44,name:"HELTEC_WSL_V3"},{no:45,name:"BETAFPV_2400_TX"},{no:46,name:"BETAFPV_900_NANO_TX"},{no:47,name:"RPI_PICO"},{no:48,name:"HELTEC_WIRELESS_TRACKER"},{no:49,name:"HELTEC_WIRELESS_PAPER"},{no:50,name:"T_DECK"},{no:51,name:"T_WATCH_S3"},{no:52,name:"PICOMPUTER_S3"},{no:53,name:"HELTEC_HT62"},{no:54,name:"EBYTE_ESP32_S3"},{no:55,name:"ESP32_S3_PICO"},{no:56,name:"CHATTER_2"},{no:57,name:"HELTEC_WIRELESS_PAPER_V1_0"},{no:58,name:"HELTEC_WIRELESS_TRACKER_V1_0"},{no:59,name:"UNPHONE"},{no:60,name:"TD_LORAC"},{no:61,name:"CDEBYTE_EORA_S3"},{no:62,name:"TWC_MESH_V4"},{no:63,name:"NRF52_PROMICRO_DIY"},{no:64,name:"RADIOMASTER_900_BANDIT_NANO"},{no:65,name:"HELTEC_CAPSULE_SENSOR_V3"},{no:66,name:"HELTEC_VISION_MASTER_T190"},{no:67,name:"HELTEC_VISION_MASTER_E213"},{no:68,name:"HELTEC_VISION_MASTER_E290"},{no:69,name:"HELTEC_MESH_NODE_T114"},{no:70,name:"SENSECAP_INDICATOR"},{no:71,name:"TRACKER_T1000_E"},{no:72,name:"RAK3172"},{no:73,name:"WIO_E5"},{no:74,name:"RADIOMASTER_900_BANDIT"},{no:75,name:"ME25LS01_4Y10TD"},{no:76,name:"RP2040_FEATHER_RFM95"},{no:77,name:"M5STACK_COREBASIC"},{no:78,name:"M5STACK_CORE2"},{no:255,name:"PRIVATE_HW"}]),oi=l.makeEnum("meshtastic.Constants",[{no:0,name:"ZERO"},{no:237,name:"DATA_PAYLOAD_LEN"}]),ri=l.makeEnum("meshtastic.CriticalErrorCode",[{no:0,name:"NONE"},{no:1,name:"TX_WATCHDOG"},{no:2,name:"SLEEP_ENTER_WAIT"},{no:3,name:"NO_RADIO"},{no:4,name:"UNSPECIFIED"},{no:5,name:"UBLOX_UNIT_FAILED"},{no:6,name:"NO_AXP192"},{no:7,name:"INVALID_RADIO_SETTING"},{no:8,name:"TRANSMIT_FAILED"},{no:9,name:"BROWNOUT"},{no:10,name:"SX1262_FAILURE"},{no:11,name:"RADIO_SPI_BUG"},{no:12,name:"FLASH_CORRUPTION_RECOVERABLE"},{no:13,name:"FLASH_CORRUPTION_UNRECOVERABLE"}]),Vn=l.makeMessageType("meshtastic.Position",()=>[{no:1,name:"latitude_i",kind:"scalar",T:15,opt:!0},{no:2,name:"longitude_i",kind:"scalar",T:15,opt:!0},{no:3,name:"altitude",kind:"scalar",T:5,opt:!0},{no:4,name:"time",kind:"scalar",T:7},{no:5,name:"location_source",kind:"enum",T:l.getEnumType($n)},{no:6,name:"altitude_source",kind:"enum",T:l.getEnumType(ka)},{no:7,name:"timestamp",kind:"scalar",T:7},{no:8,name:"timestamp_millis_adjust",kind:"scalar",T:5},{no:9,name:"altitude_hae",kind:"scalar",T:17,opt:!0},{no:10,name:"altitude_geoidal_separation",kind:"scalar",T:17,opt:!0},{no:11,name:"PDOP",kind:"scalar",T:13},{no:12,name:"HDOP",kind:"scalar",T:13},{no:13,name:"VDOP",kind:"scalar",T:13},{no:14,name:"gps_accuracy",kind:"scalar",T:13},{no:15,name:"ground_speed",kind:"scalar",T:13,opt:!0},{no:16,name:"ground_track",kind:"scalar",T:13,opt:!0},{no:17,name:"fix_quality",kind:"scalar",T:13},{no:18,name:"fix_type",kind:"scalar",T:13},{no:19,name:"sats_in_view",kind:"scalar",T:13},{no:20,name:"sensor_id",kind:"scalar",T:13},{no:21,name:"next_update",kind:"scalar",T:13},{no:22,name:"seq_number",kind:"scalar",T:13},{no:23,name:"precision_bits",kind:"scalar",T:13}]),$n=l.makeEnum("meshtastic.Position.LocSource",[{no:0,name:"LOC_UNSET"},{no:1,name:"LOC_MANUAL"},{no:2,name:"LOC_INTERNAL"},{no:3,name:"LOC_EXTERNAL"}]),ka=l.makeEnum("meshtastic.Position.AltSource",[{no:0,name:"ALT_UNSET"},{no:1,name:"ALT_MANUAL"},{no:2,name:"ALT_INTERNAL"},{no:3,name:"ALT_EXTERNAL"},{no:4,name:"ALT_BAROMETRIC"}]),ue=l.makeMessageType("meshtastic.User",()=>[{no:1,name:"id",kind:"scalar",T:9},{no:2,name:"long_name",kind:"scalar",T:9},{no:3,name:"short_name",kind:"scalar",T:9},{no:4,name:"macaddr",kind:"scalar",T:12},{no:5,name:"hw_model",kind:"enum",T:l.getEnumType(ke)},{no:6,name:"is_licensed",kind:"scalar",T:8},{no:7,name:"role",kind:"enum",T:l.getEnumType(re)},{no:8,name:"public_key",kind:"scalar",T:12}]),mn=l.makeMessageType("meshtastic.RouteDiscovery",()=>[{no:1,name:"route",kind:"scalar",T:7,repeated:!0},{no:2,name:"snr_towards",kind:"scalar",T:5,repeated:!0},{no:3,name:"route_back",kind:"scalar",T:7,repeated:!0},{no:4,name:"snr_back",kind:"scalar",T:5,repeated:!0}]),ii=l.makeMessageType("meshtastic.Routing",()=>[{no:1,name:"route_request",kind:"message",T:mn,oneof:"variant"},{no:2,name:"route_reply",kind:"message",T:mn,oneof:"variant"},{no:3,name:"error_reason",kind:"enum",T:l.getEnumType(ya),oneof:"variant"}]),ya=l.makeEnum("meshtastic.Routing.Error",[{no:0,name:"NONE"},{no:1,name:"NO_ROUTE"},{no:2,name:"GOT_NAK"},{no:3,name:"TIMEOUT"},{no:4,name:"NO_INTERFACE"},{no:5,name:"MAX_RETRANSMIT"},{no:6,name:"NO_CHANNEL"},{no:7,name:"TOO_LARGE"},{no:8,name:"NO_RESPONSE"},{no:9,name:"DUTY_CYCLE_LIMIT"},{no:32,name:"BAD_REQUEST"},{no:33,name:"NOT_AUTHORIZED"},{no:34,name:"PKI_FAILED"},{no:35,name:"PKI_UNKNOWN_PUBKEY"}]),Ca=l.makeMessageType("meshtastic.Data",()=>[{no:1,name:"portnum",kind:"enum",T:l.getEnumType(Sn)},{no:2,name:"payload",kind:"scalar",T:12},{no:3,name:"want_response",kind:"scalar",T:8},{no:4,name:"dest",kind:"scalar",T:7},{no:5,name:"source",kind:"scalar",T:7},{no:6,name:"request_id",kind:"scalar",T:7},{no:7,name:"reply_id",kind:"scalar",T:7},{no:8,name:"emoji",kind:"scalar",T:7},{no:9,name:"bitfield",kind:"scalar",T:13,opt:!0}]),si=l.makeMessageType("meshtastic.Waypoint",()=>[{no:1,name:"id",kind:"scalar",T:13},{no:2,name:"latitude_i",kind:"scalar",T:15,opt:!0},{no:3,name:"longitude_i",kind:"scalar",T:15,opt:!0},{no:4,name:"expire",kind:"scalar",T:13},{no:5,name:"locked_to",kind:"scalar",T:13},{no:6,name:"name",kind:"scalar",T:9},{no:7,name:"description",kind:"scalar",T:9},{no:8,name:"icon",kind:"scalar",T:7}]),qn=l.makeMessageType("meshtastic.MqttClientProxyMessage",()=>[{no:1,name:"topic",kind:"scalar",T:9},{no:2,name:"data",kind:"scalar",T:12,oneof:"payload_variant"},{no:3,name:"text",kind:"scalar",T:9,oneof:"payload_variant"},{no:4,name:"retained",kind:"scalar",T:8}]),Y=l.makeMessageType("meshtastic.MeshPacket",()=>[{no:1,name:"from",kind:"scalar",T:7},{no:2,name:"to",kind:"scalar",T:7},{no:3,name:"channel",kind:"scalar",T:13},{no:4,name:"decoded",kind:"message",T:Ca,oneof:"payload_variant"},{no:5,name:"encrypted",kind:"scalar",T:12,oneof:"payload_variant"},{no:6,name:"id",kind:"scalar",T:7},{no:7,name:"rx_time",kind:"scalar",T:7},{no:8,name:"rx_snr",kind:"scalar",T:2},{no:9,name:"hop_limit",kind:"scalar",T:13},{no:10,name:"want_ack",kind:"scalar",T:8},{no:11,name:"priority",kind:"enum",T:l.getEnumType(Ea)},{no:12,name:"rx_rssi",kind:"scalar",T:5},{no:13,name:"delayed",kind:"enum",T:l.getEnumType(ba)},{no:14,name:"via_mqtt",kind:"scalar",T:8},{no:15,name:"hop_start",kind:"scalar",T:13},{no:16,name:"public_key",kind:"scalar",T:12},{no:17,name:"pki_encrypted",kind:"scalar",T:8}]),Ea=l.makeEnum("meshtastic.MeshPacket.Priority",[{no:0,name:"UNSET"},{no:1,name:"MIN"},{no:10,name:"BACKGROUND"},{no:64,name:"DEFAULT"},{no:70,name:"RELIABLE"},{no:80,name:"RESPONSE"},{no:100,name:"HIGH"},{no:120,name:"ACK"},{no:127,name:"MAX"}]),ba=l.makeEnum("meshtastic.MeshPacket.Delayed",[{no:0,name:"NO_DELAY"},{no:1,name:"DELAYED_BROADCAST"},{no:2,name:"DELAYED_DIRECT"}]),va=l.makeMessageType("meshtastic.NodeInfo",()=>[{no:1,name:"num",kind:"scalar",T:13},{no:2,name:"user",kind:"message",T:ue},{no:3,name:"position",kind:"message",T:Vn},{no:4,name:"snr",kind:"scalar",T:2},{no:5,name:"last_heard",kind:"scalar",T:7},{no:6,name:"device_metrics",kind:"message",T:Ke},{no:7,name:"channel",kind:"scalar",T:13},{no:8,name:"via_mqtt",kind:"scalar",T:8},{no:9,name:"hops_away",kind:"scalar",T:13},{no:10,name:"is_favorite",kind:"scalar",T:8}]),Xn=l.makeMessageType("meshtastic.MyNodeInfo",()=>[{no:1,name:"my_node_num",kind:"scalar",T:13},{no:8,name:"reboot_count",kind:"scalar",T:13},{no:11,name:"min_app_version",kind:"scalar",T:13}]),wa=l.makeMessageType("meshtastic.LogRecord",()=>[{no:1,name:"message",kind:"scalar",T:9},{no:2,name:"time",kind:"scalar",T:7},{no:3,name:"source",kind:"scalar",T:9},{no:4,name:"level",kind:"enum",T:l.getEnumType(Kn)}]),Kn=l.makeEnum("meshtastic.LogRecord.Level",[{no:0,name:"UNSET"},{no:50,name:"CRITICAL"},{no:40,name:"ERROR"},{no:30,name:"WARNING"},{no:20,name:"INFO"},{no:10,name:"DEBUG"},{no:5,name:"TRACE"}]),Sa=l.makeMessageType("meshtastic.QueueStatus",()=>[{no:1,name:"res",kind:"scalar",T:5},{no:2,name:"free",kind:"scalar",T:13},{no:3,name:"maxlen",kind:"scalar",T:13},{no:4,name:"mesh_packet_id",kind:"scalar",T:13}]),ci=l.makeMessageType("meshtastic.FromRadio",()=>[{no:1,name:"id",kind:"scalar",T:13},{no:2,name:"packet",kind:"message",T:Y,oneof:"payload_variant"},{no:3,name:"my_info",kind:"message",T:Xn,oneof:"payload_variant"},{no:4,name:"node_info",kind:"message",T:va,oneof:"payload_variant"},{no:5,name:"config",kind:"message",T:De,oneof:"payload_variant"},{no:6,name:"log_record",kind:"message",T:wa,oneof:"payload_variant"},{no:7,name:"config_complete_id",kind:"scalar",T:13,oneof:"payload_variant"},{no:8,name:"rebooted",kind:"scalar",T:8,oneof:"payload_variant"},{no:9,name:"moduleConfig",kind:"message",T:Le,oneof:"payload_variant"},{no:10,name:"channel",kind:"message",T:de,oneof:"payload_variant"},{no:11,name:"queueStatus",kind:"message",T:Sa,oneof:"payload_variant"},{no:12,name:"xmodemPacket",kind:"message",T:Gn,oneof:"payload_variant"},{no:13,name:"metadata",kind:"message",T:Wn,oneof:"payload_variant"},{no:14,name:"mqttClientProxyMessage",kind:"message",T:qn,oneof:"payload_variant"},{no:15,name:"fileInfo",kind:"message",T:Ma,oneof:"payload_variant"},{no:16,name:"clientNotification",kind:"message",T:Na,oneof:"payload_variant"}]),Na=l.makeMessageType("meshtastic.ClientNotification",()=>[{no:1,name:"reply_id",kind:"scalar",T:13,opt:!0},{no:2,name:"time",kind:"scalar",T:7},{no:3,name:"level",kind:"enum",T:l.getEnumType(Kn)},{no:4,name:"message",kind:"scalar",T:9}]),Ma=l.makeMessageType("meshtastic.FileInfo",()=>[{no:1,name:"file_name",kind:"scalar",T:9},{no:2,name:"size_bytes",kind:"scalar",T:13}]),li=l.makeMessageType("meshtastic.ToRadio",()=>[{no:1,name:"packet",kind:"message",T:Y,oneof:"payload_variant"},{no:3,name:"want_config_id",kind:"scalar",T:13,oneof:"payload_variant"},{no:4,name:"disconnect",kind:"scalar",T:8,oneof:"payload_variant"},{no:5,name:"xmodemPacket",kind:"message",T:Gn,oneof:"payload_variant"},{no:6,name:"mqttClientProxyMessage",kind:"message",T:qn,oneof:"payload_variant"},{no:7,name:"heartbeat",kind:"message",T:Aa,oneof:"payload_variant"}]),mi=l.makeMessageType("meshtastic.Compressed",()=>[{no:1,name:"portnum",kind:"enum",T:l.getEnumType(Sn)},{no:2,name:"data",kind:"scalar",T:12}]),di=l.makeMessageType("meshtastic.NeighborInfo",()=>[{no:1,name:"node_id",kind:"scalar",T:13},{no:2,name:"last_sent_by_id",kind:"scalar",T:13},{no:3,name:"node_broadcast_interval_secs",kind:"scalar",T:13},{no:4,name:"neighbors",kind:"message",T:Ia,repeated:!0}]),Ia=l.makeMessageType("meshtastic.Neighbor",()=>[{no:1,name:"node_id",kind:"scalar",T:13},{no:2,name:"snr",kind:"scalar",T:2},{no:3,name:"last_rx_time",kind:"scalar",T:7},{no:4,name:"node_broadcast_interval_secs",kind:"scalar",T:13}]),Wn=l.makeMessageType("meshtastic.DeviceMetadata",()=>[{no:1,name:"firmware_version",kind:"scalar",T:9},{no:2,name:"device_state_version",kind:"scalar",T:13},{no:3,name:"canShutdown",kind:"scalar",T:8},{no:4,name:"hasWifi",kind:"scalar",T:8},{no:5,name:"hasBluetooth",kind:"scalar",T:8},{no:6,name:"hasEthernet",kind:"scalar",T:8},{no:7,name:"role",kind:"enum",T:l.getEnumType(re)},{no:8,name:"position_flags",kind:"scalar",T:13},{no:9,name:"hw_model",kind:"enum",T:l.getEnumType(ke)},{no:10,name:"hasRemoteHardware",kind:"scalar",T:8}]),Aa=l.makeMessageType("meshtastic.Heartbeat",[]),Yn=l.makeMessageType("meshtastic.NodeRemoteHardwarePin",()=>[{no:1,name:"node_num",kind:"scalar",T:13},{no:2,name:"pin",kind:"message",T:Hn}]),ui=l.makeMessageType("meshtastic.ChunkedPayload",()=>[{no:1,name:"payload_id",kind:"scalar",T:13},{no:2,name:"chunk_count",kind:"scalar",T:13},{no:3,name:"chunk_index",kind:"scalar",T:13},{no:4,name:"payload_chunk",kind:"scalar",T:12}]),Ra=l.makeMessageType("meshtastic.resend_chunks",()=>[{no:1,name:"chunks",kind:"scalar",T:13,repeated:!0}]),fi=l.makeMessageType("meshtastic.ChunkedPayloadResponse",()=>[{no:1,name:"payload_id",kind:"scalar",T:13},{no:2,name:"request_transfer",kind:"scalar",T:8,oneof:"payload_variant"},{no:3,name:"accept_transfer",kind:"scalar",T:8,oneof:"payload_variant"},{no:4,name:"resend_chunks",kind:"message",T:Ra,oneof:"payload_variant"}]),Pa={};N(Pa,{BluetoothConnectionStatus:()=>Ba,DeviceConnectionStatus:()=>Oa,EthernetConnectionStatus:()=>La,NetworkConnectionStatus:()=>Jn,SerialConnectionStatus:()=>xa,WifiConnectionStatus:()=>Da});var Oa=l.makeMessageType("meshtastic.DeviceConnectionStatus",()=>[{no:1,name:"wifi",kind:"message",T:Da,opt:!0},{no:2,name:"ethernet",kind:"message",T:La,opt:!0},{no:3,name:"bluetooth",kind:"message",T:Ba,opt:!0},{no:4,name:"serial",kind:"message",T:xa,opt:!0}]),Da=l.makeMessageType("meshtastic.WifiConnectionStatus",()=>[{no:1,name:"status",kind:"message",T:Jn},{no:2,name:"ssid",kind:"scalar",T:9},{no:3,name:"rssi",kind:"scalar",T:5}]),La=l.makeMessageType("meshtastic.EthernetConnectionStatus",()=>[{no:1,name:"status",kind:"message",T:Jn}]),Jn=l.makeMessageType("meshtastic.NetworkConnectionStatus",()=>[{no:1,name:"ip_address",kind:"scalar",T:7},{no:2,name:"is_connected",kind:"scalar",T:8},{no:3,name:"is_mqtt_connected",kind:"scalar",T:8},{no:4,name:"is_syslog_connected",kind:"scalar",T:8}]),Ba=l.makeMessageType("meshtastic.BluetoothConnectionStatus",()=>[{no:1,name:"pin",kind:"scalar",T:13},{no:2,name:"rssi",kind:"scalar",T:5},{no:3,name:"is_connected",kind:"scalar",T:8}]),xa=l.makeMessageType("meshtastic.SerialConnectionStatus",()=>[{no:1,name:"baud",kind:"scalar",T:13},{no:2,name:"is_connected",kind:"scalar",T:8}]),gi=l.makeMessageType("meshtastic.AdminMessage",()=>[{no:101,name:"session_passkey",kind:"scalar",T:12},{no:1,name:"get_channel_request",kind:"scalar",T:13,oneof:"payload_variant"},{no:2,name:"get_channel_response",kind:"message",T:de,oneof:"payload_variant"},{no:3,name:"get_owner_request",kind:"scalar",T:8,oneof:"payload_variant"},{no:4,name:"get_owner_response",kind:"message",T:ue,oneof:"payload_variant"},{no:5,name:"get_config_request",kind:"enum",T:l.getEnumType(Fa),oneof:"payload_variant"},{no:6,name:"get_config_response",kind:"message",T:De,oneof:"payload_variant"},{no:7,name:"get_module_config_request",kind:"enum",T:l.getEnumType(Ua),oneof:"payload_variant"},{no:8,name:"get_module_config_response",kind:"message",T:Le,oneof:"payload_variant"},{no:10,name:"get_canned_message_module_messages_request",kind:"scalar",T:8,oneof:"payload_variant"},{no:11,name:"get_canned_message_module_messages_response",kind:"scalar",T:9,oneof:"payload_variant"},{no:12,name:"get_device_metadata_request",kind:"scalar",T:8,oneof:"payload_variant"},{no:13,name:"get_device_metadata_response",kind:"message",T:Wn,oneof:"payload_variant"},{no:14,name:"get_ringtone_request",kind:"scalar",T:8,oneof:"payload_variant"},{no:15,name:"get_ringtone_response",kind:"scalar",T:9,oneof:"payload_variant"},{no:16,name:"get_device_connection_status_request",kind:"scalar",T:8,oneof:"payload_variant"},{no:17,name:"get_device_connection_status_response",kind:"message",T:Oa,oneof:"payload_variant"},{no:18,name:"set_ham_mode",kind:"message",T:Ha,oneof:"payload_variant"},{no:19,name:"get_node_remote_hardware_pins_request",kind:"scalar",T:8,oneof:"payload_variant"},{no:20,name:"get_node_remote_hardware_pins_response",kind:"message",T:Ga,oneof:"payload_variant"},{no:21,name:"enter_dfu_mode_request",kind:"scalar",T:8,oneof:"payload_variant"},{no:22,name:"delete_file_request",kind:"scalar",T:9,oneof:"payload_variant"},{no:23,name:"set_scale",kind:"scalar",T:13,oneof:"payload_variant"},{no:32,name:"set_owner",kind:"message",T:ue,oneof:"payload_variant"},{no:33,name:"set_channel",kind:"message",T:de,oneof:"payload_variant"},{no:34,name:"set_config",kind:"message",T:De,oneof:"payload_variant"},{no:35,name:"set_module_config",kind:"message",T:Le,oneof:"payload_variant"},{no:36,name:"set_canned_message_module_messages",kind:"scalar",T:9,oneof:"payload_variant"},{no:37,name:"set_ringtone_message",kind:"scalar",T:9,oneof:"payload_variant"},{no:38,name:"remove_by_nodenum",kind:"scalar",T:13,oneof:"payload_variant"},{no:39,name:"set_favorite_node",kind:"scalar",T:13,oneof:"payload_variant"},{no:40,name:"remove_favorite_node",kind:"scalar",T:13,oneof:"payload_variant"},{no:41,name:"set_fixed_position",kind:"message",T:Vn,oneof:"payload_variant"},{no:42,name:"remove_fixed_position",kind:"scalar",T:8,oneof:"payload_variant"},{no:43,name:"set_time_only",kind:"scalar",T:7,oneof:"payload_variant"},{no:64,name:"begin_edit_settings",kind:"scalar",T:8,oneof:"payload_variant"},{no:65,name:"commit_edit_settings",kind:"scalar",T:8,oneof:"payload_variant"},{no:94,name:"factory_reset_device",kind:"scalar",T:5,oneof:"payload_variant"},{no:95,name:"reboot_ota_seconds",kind:"scalar",T:5,oneof:"payload_variant"},{no:96,name:"exit_simulator",kind:"scalar",T:8,oneof:"payload_variant"},{no:97,name:"reboot_seconds",kind:"scalar",T:5,oneof:"payload_variant"},{no:98,name:"shutdown_seconds",kind:"scalar",T:5,oneof:"payload_variant"},{no:99,name:"factory_reset_config",kind:"scalar",T:5,oneof:"payload_variant"},{no:100,name:"nodedb_reset",kind:"scalar",T:5,oneof:"payload_variant"}]),Fa=l.makeEnum("meshtastic.AdminMessage.ConfigType",[{no:0,name:"DEVICE_CONFIG"},{no:1,name:"POSITION_CONFIG"},{no:2,name:"POWER_CONFIG"},{no:3,name:"NETWORK_CONFIG"},{no:4,name:"DISPLAY_CONFIG"},{no:5,name:"LORA_CONFIG"},{no:6,name:"BLUETOOTH_CONFIG"},{no:7,name:"SECURITY_CONFIG"},{no:8,name:"SESSIONKEY_CONFIG"}]),Ua=l.makeEnum("meshtastic.AdminMessage.ModuleConfigType",[{no:0,name:"MQTT_CONFIG"},{no:1,name:"SERIAL_CONFIG"},{no:2,name:"EXTNOTIF_CONFIG"},{no:3,name:"STOREFORWARD_CONFIG"},{no:4,name:"RANGETEST_CONFIG"},{no:5,name:"TELEMETRY_CONFIG"},{no:6,name:"CANNEDMSG_CONFIG"},{no:7,name:"AUDIO_CONFIG"},{no:8,name:"REMOTEHARDWARE_CONFIG"},{no:9,name:"NEIGHBORINFO_CONFIG"},{no:10,name:"AMBIENTLIGHTING_CONFIG"},{no:11,name:"DETECTIONSENSOR_CONFIG"},{no:12,name:"PAXCOUNTER_CONFIG"}]),Ha=l.makeMessageType("meshtastic.HamParameters",()=>[{no:1,name:"call_sign",kind:"scalar",T:9},{no:2,name:"tx_power",kind:"scalar",T:5},{no:3,name:"frequency",kind:"scalar",T:2},{no:4,name:"short_name",kind:"scalar",T:9}]),Ga=l.makeMessageType("meshtastic.NodeRemoteHardwarePinsResponse",()=>[{no:1,name:"node_remote_hardware_pins",kind:"message",T:Yn,repeated:!0}]),Va={};N(Va,{ChannelSet:()=>hi});var hi=l.makeMessageType("meshtastic.ChannelSet",()=>[{no:1,name:"settings",kind:"message",T:pn,repeated:!0},{no:2,name:"lora_config",kind:"message",T:Xe}]),$a={};N($a,{CannedMessageModuleConfig:()=>pi});var pi=l.makeMessageType("meshtastic.CannedMessageModuleConfig",()=>[{no:1,name:"messages",kind:"scalar",T:9}]),qa={};N(qa,{DeviceProfile:()=>_i});var Xa={};N(Xa,{LocalConfig:()=>jn,LocalModuleConfig:()=>zn});var jn=l.makeMessageType("meshtastic.LocalConfig",()=>[{no:1,name:"device",kind:"message",T:_n},{no:2,name:"position",kind:"message",T:Tn},{no:3,name:"power",kind:"message",T:kn},{no:4,name:"network",kind:"message",T:yn},{no:5,name:"display",kind:"message",T:Cn},{no:6,name:"lora",kind:"message",T:Xe},{no:7,name:"bluetooth",kind:"message",T:vn},{no:8,name:"version",kind:"scalar",T:13},{no:9,name:"security",kind:"message",T:wn}]),zn=l.makeMessageType("meshtastic.LocalModuleConfig",()=>[{no:1,name:"mqtt",kind:"message",T:Nn},{no:2,name:"serial",kind:"message",T:On},{no:3,name:"external_notification",kind:"message",T:Dn},{no:4,name:"store_forward",kind:"message",T:Ln},{no:5,name:"range_test",kind:"message",T:Bn},{no:6,name:"telemetry",kind:"message",T:xn},{no:7,name:"canned_message",kind:"message",T:Fn},{no:9,name:"audio",kind:"message",T:Rn},{no:10,name:"remote_hardware",kind:"message",T:Mn},{no:11,name:"neighbor_info",kind:"message",T:In},{no:12,name:"ambient_lighting",kind:"message",T:Un},{no:13,name:"detection_sensor",kind:"message",T:An},{no:14,name:"paxcounter",kind:"message",T:Pn},{no:8,name:"version",kind:"scalar",T:13}]),_i=l.makeMessageType("meshtastic.DeviceProfile",()=>[{no:1,name:"long_name",kind:"scalar",T:9,opt:!0},{no:2,name:"short_name",kind:"scalar",T:9,opt:!0},{no:3,name:"channel_url",kind:"scalar",T:9,opt:!0},{no:4,name:"config",kind:"message",T:jn,opt:!0},{no:5,name:"module_config",kind:"message",T:zn,opt:!0}]),Ka={};N(Ka,{ChannelFile:()=>ki,DeviceState:()=>Ti,NodeInfoLite:()=>ja,OEMStore:()=>yi,PositionLite:()=>Ya,ScreenFonts:()=>Wa,UserLite:()=>Ja});var Wa=l.makeEnum("meshtastic.ScreenFonts",[{no:0,name:"FONT_SMALL"},{no:1,name:"FONT_MEDIUM"},{no:2,name:"FONT_LARGE"}]),Ya=l.makeMessageType("meshtastic.PositionLite",()=>[{no:1,name:"latitude_i",kind:"scalar",T:15},{no:2,name:"longitude_i",kind:"scalar",T:15},{no:3,name:"altitude",kind:"scalar",T:5},{no:4,name:"time",kind:"scalar",T:7},{no:5,name:"location_source",kind:"enum",T:l.getEnumType($n)}]),Ja=l.makeMessageType("meshtastic.UserLite",()=>[{no:1,name:"macaddr",kind:"scalar",T:12},{no:2,name:"long_name",kind:"scalar",T:9},{no:3,name:"short_name",kind:"scalar",T:9},{no:4,name:"hw_model",kind:"enum",T:l.getEnumType(ke)},{no:5,name:"is_licensed",kind:"scalar",T:8},{no:6,name:"role",kind:"enum",T:l.getEnumType(re)},{no:7,name:"public_key",kind:"scalar",T:12}]),ja=l.makeMessageType("meshtastic.NodeInfoLite",()=>[{no:1,name:"num",kind:"scalar",T:13},{no:2,name:"user",kind:"message",T:Ja},{no:3,name:"position",kind:"message",T:Ya},{no:4,name:"snr",kind:"scalar",T:2},{no:5,name:"last_heard",kind:"scalar",T:7},{no:6,name:"device_metrics",kind:"message",T:Ke},{no:7,name:"channel",kind:"scalar",T:13},{no:8,name:"via_mqtt",kind:"scalar",T:8},{no:9,name:"hops_away",kind:"scalar",T:13},{no:10,name:"is_favorite",kind:"scalar",T:8}]),Ti=l.makeMessageType("meshtastic.DeviceState",()=>[{no:2,name:"my_node",kind:"message",T:Xn},{no:3,name:"owner",kind:"message",T:ue},{no:5,name:"receive_queue",kind:"message",T:Y,repeated:!0},{no:8,name:"version",kind:"scalar",T:13},{no:7,name:"rx_text_message",kind:"message",T:Y},{no:9,name:"no_save",kind:"scalar",T:8},{no:11,name:"did_gps_reset",kind:"scalar",T:8},{no:12,name:"rx_waypoint",kind:"message",T:Y},{no:13,name:"node_remote_hardware_pins",kind:"message",T:Yn,repeated:!0},{no:14,name:"node_db_lite",kind:"message",T:ja,repeated:!0}]),ki=l.makeMessageType("meshtastic.ChannelFile",()=>[{no:1,name:"channels",kind:"message",T:de,repeated:!0},{no:2,name:"version",kind:"scalar",T:13}]),yi=l.makeMessageType("meshtastic.OEMStore",()=>[{no:1,name:"oem_icon_width",kind:"scalar",T:13},{no:2,name:"oem_icon_height",kind:"scalar",T:13},{no:3,name:"oem_icon_bits",kind:"scalar",T:12},{no:4,name:"oem_font",kind:"enum",T:l.getEnumType(Wa)},{no:5,name:"oem_text",kind:"scalar",T:9},{no:6,name:"oem_aes_key",kind:"scalar",T:12},{no:7,name:"oem_local_config",kind:"message",T:jn},{no:8,name:"oem_local_module_config",kind:"message",T:zn}]),za={};N(za,{MapReport:()=>Ei,ServiceEnvelope:()=>Ci});var Ci=l.makeMessageType("meshtastic.ServiceEnvelope",()=>[{no:1,name:"packet",kind:"message",T:Y},{no:2,name:"channel_id",kind:"scalar",T:9},{no:3,name:"gateway_id",kind:"scalar",T:9}]),Ei=l.makeMessageType("meshtastic.MapReport",()=>[{no:1,name:"long_name",kind:"scalar",T:9},{no:2,name:"short_name",kind:"scalar",T:9},{no:3,name:"role",kind:"enum",T:l.getEnumType(re)},{no:4,name:"hw_model",kind:"enum",T:l.getEnumType(ke)},{no:5,name:"firmware_version",kind:"scalar",T:9},{no:6,name:"region",kind:"enum",T:l.getEnumType(En)},{no:7,name:"modem_preset",kind:"enum",T:l.getEnumType(bn)},{no:8,name:"has_default_channel",kind:"scalar",T:8},{no:9,name:"latitude_i",kind:"scalar",T:15},{no:10,name:"longitude_i",kind:"scalar",T:15},{no:11,name:"altitude",kind:"scalar",T:5},{no:12,name:"position_precision",kind:"scalar",T:13},{no:13,name:"num_online_local_nodes",kind:"scalar",T:13}]),Qa={};N(Qa,{Paxcount:()=>bi});var bi=l.makeMessageType("meshtastic.Paxcount",()=>[{no:1,name:"wifi",kind:"scalar",T:13},{no:2,name:"ble",kind:"scalar",T:13},{no:3,name:"uptime",kind:"scalar",T:13}]),Za={};N(Za,{HardwareMessage:()=>vi,HardwareMessage_Type:()=>eo});var vi=l.makeMessageType("meshtastic.HardwareMessage",()=>[{no:1,name:"type",kind:"enum",T:l.getEnumType(eo)},{no:2,name:"gpio_mask",kind:"scalar",T:4},{no:3,name:"gpio_value",kind:"scalar",T:4}]),eo=l.makeEnum("meshtastic.HardwareMessage.Type",[{no:0,name:"UNSET"},{no:1,name:"WRITE_GPIOS"},{no:2,name:"WATCH_GPIOS"},{no:3,name:"GPIOS_CHANGED"},{no:4,name:"READ_GPIOS"},{no:5,name:"READ_GPIOS_REPLY"}]),no={};N(no,{RTTTLConfig:()=>wi});var wi=l.makeMessageType("meshtastic.RTTTLConfig",()=>[{no:1,name:"ringtone",kind:"scalar",T:9}]),to={};N(to,{StoreAndForward:()=>Si,StoreAndForward_Heartbeat:()=>io,StoreAndForward_History:()=>ro,StoreAndForward_RequestResponse:()=>ao,StoreAndForward_Statistics:()=>oo});var Si=l.makeMessageType("meshtastic.StoreAndForward",()=>[{no:1,name:"rr",kind:"enum",T:l.getEnumType(ao)},{no:2,name:"stats",kind:"message",T:oo,oneof:"variant"},{no:3,name:"history",kind:"message",T:ro,oneof:"variant"},{no:4,name:"heartbeat",kind:"message",T:io,oneof:"variant"},{no:5,name:"text",kind:"scalar",T:12,oneof:"variant"}]),ao=l.makeEnum("meshtastic.StoreAndForward.RequestResponse",[{no:0,name:"UNSET"},{no:1,name:"ROUTER_ERROR"},{no:2,name:"ROUTER_HEARTBEAT"},{no:3,name:"ROUTER_PING"},{no:4,name:"ROUTER_PONG"},{no:5,name:"ROUTER_BUSY"},{no:6,name:"ROUTER_HISTORY"},{no:7,name:"ROUTER_STATS"},{no:8,name:"ROUTER_TEXT_DIRECT"},{no:9,name:"ROUTER_TEXT_BROADCAST"},{no:64,name:"CLIENT_ERROR"},{no:65,name:"CLIENT_HISTORY"},{no:66,name:"CLIENT_STATS"},{no:67,name:"CLIENT_PING"},{no:68,name:"CLIENT_PONG"},{no:106,name:"CLIENT_ABORT"}]),oo=l.makeMessageType("meshtastic.StoreAndForward.Statistics",()=>[{no:1,name:"messages_total",kind:"scalar",T:13},{no:2,name:"messages_saved",kind:"scalar",T:13},{no:3,name:"messages_max",kind:"scalar",T:13},{no:4,name:"up_time",kind:"scalar",T:13},{no:5,name:"requests",kind:"scalar",T:13},{no:6,name:"requests_history",kind:"scalar",T:13},{no:7,name:"heartbeat",kind:"scalar",T:8},{no:8,name:"return_max",kind:"scalar",T:13},{no:9,name:"return_window",kind:"scalar",T:13}],{localName:"StoreAndForward_Statistics"}),ro=l.makeMessageType("meshtastic.StoreAndForward.History",()=>[{no:1,name:"history_messages",kind:"scalar",T:13},{no:2,name:"window",kind:"scalar",T:13},{no:3,name:"last_request",kind:"scalar",T:13}],{localName:"StoreAndForward_History"}),io=l.makeMessageType("meshtastic.StoreAndForward.Heartbeat",()=>[{no:1,name:"period",kind:"scalar",T:13},{no:2,name:"secondary",kind:"scalar",T:13}],{localName:"StoreAndForward_Heartbeat"}),Ni={};N(Ni,{ChannelNumber:()=>mo,DeviceStatusEnum:()=>so,Emitter:()=>lo,EmitterScope:()=>co});var so=(e=>(e[e.DeviceRestarting=1]="DeviceRestarting",e[e.DeviceDisconnected=2]="DeviceDisconnected",e[e.DeviceConnecting=3]="DeviceConnecting",e[e.DeviceReconnecting=4]="DeviceReconnecting",e[e.DeviceConnected=5]="DeviceConnected",e[e.DeviceConfiguring=6]="DeviceConfiguring",e[e.DeviceConfigured=7]="DeviceConfigured",e))(so||{}),co=(e=>(e[e.MeshDevice=1]="MeshDevice",e[e.SerialConnection=2]="SerialConnection",e[e.NodeSerialConnection=3]="NodeSerialConnection",e[e.BleConnection=4]="BleConnection",e[e.HttpConnection=5]="HttpConnection",e))(co||{}),lo=(e=>(e[e.Constructor=0]="Constructor",e[e.SendText=1]="SendText",e[e.SendWaypoint=2]="SendWaypoint",e[e.SendPacket=3]="SendPacket",e[e.SendRaw=4]="SendRaw",e[e.SetConfig=5]="SetConfig",e[e.SetModuleConfig=6]="SetModuleConfig",e[e.ConfirmSetConfig=7]="ConfirmSetConfig",e[e.SetOwner=8]="SetOwner",e[e.SetChannel=9]="SetChannel",e[e.ConfirmSetChannel=10]="ConfirmSetChannel",e[e.ClearChannel=11]="ClearChannel",e[e.GetChannel=12]="GetChannel",e[e.GetAllChannels=13]="GetAllChannels",e[e.GetConfig=14]="GetConfig",e[e.GetModuleConfig=15]="GetModuleConfig",e[e.GetOwner=16]="GetOwner",e[e.Configure=17]="Configure",e[e.HandleFromRadio=18]="HandleFromRadio",e[e.HandleMeshPacket=19]="HandleMeshPacket",e[e.Connect=20]="Connect",e[e.Ping=21]="Ping",e[e.ReadFromRadio=22]="ReadFromRadio",e[e.WriteToRadio=23]="WriteToRadio",e[e.SetDebugMode=24]="SetDebugMode",e[e.GetMetadata=25]="GetMetadata",e[e.ResetNodes=26]="ResetNodes",e[e.Shutdown=27]="Shutdown",e[e.Reboot=28]="Reboot",e[e.RebootOta=29]="RebootOta",e[e.FactoryReset=30]="FactoryReset",e[e.EnterDfuMode=31]="EnterDfuMode",e[e.RemoveNodeByNum=32]="RemoveNodeByNum",e[e.SetCannedMessages=33]="SetCannedMessages",e))(lo||{}),mo=(e=>(e[e.Primary=0]="Primary",e[e.Channel1=1]="Channel1",e[e.Channel2=2]="Channel2",e[e.Channel3=3]="Channel3",e[e.Channel4=4]="Channel4",e[e.Channel5=5]="Channel5",e[e.Channel6=6]="Channel6",e[e.Admin=7]="Admin",e))(mo||{}),Mi={};N(Mi,{EventSystem:()=>Ii,Queue:()=>Ri,Xmodem:()=>Oi,transformHandler:()=>Pi,typedArrayToBuffer:()=>Ai});var Ii=class{constructor(){_(this,"onLogEvent",new C.SimpleEventDispatcher);_(this,"onFromRadio",new C.SimpleEventDispatcher);_(this,"onMeshPacket",new C.SimpleEventDispatcher);_(this,"onMyNodeInfo",new C.SimpleEventDispatcher);_(this,"onNodeInfoPacket",new C.SimpleEventDispatcher);_(this,"onChannelPacket",new C.SimpleEventDispatcher);_(this,"onConfigPacket",new C.SimpleEventDispatcher);_(this,"onModuleConfigPacket",new C.SimpleEventDispatcher);_(this,"onAtakPacket",new C.SimpleEventDispatcher);_(this,"onMessagePacket",new C.SimpleEventDispatcher);_(this,"onRemoteHardwarePacket",new C.SimpleEventDispatcher);_(this,"onPositionPacket",new C.SimpleEventDispatcher);_(this,"onUserPacket",new C.SimpleEventDispatcher);_(this,"onRoutingPacket",new C.SimpleEventDispatcher);_(this,"onDeviceMetadataPacket",new C.SimpleEventDispatcher);_(this,"onWaypointPacket",new C.SimpleEventDispatcher);_(this,"onAudioPacket",new C.SimpleEventDispatcher);_(this,"onDetectionSensorPacket",new C.SimpleEventDispatcher);_(this,"onPingPacket",new C.SimpleEventDispatcher);_(this,"onIpTunnelPacket",new C.SimpleEventDispatcher);_(this,"onPaxcounterPacket",new C.SimpleEventDispatcher);_(this,"onSerialPacket",new C.SimpleEventDispatcher);_(this,"onStoreForwardPacket",new C.SimpleEventDispatcher);_(this,"onRangeTestPacket",new C.SimpleEventDispatcher);_(this,"onTelemetryPacket",new C.SimpleEventDispatcher);_(this,"onZpsPacket",new C.SimpleEventDispatcher);_(this,"onSimulatorPacket",new C.SimpleEventDispatcher);_(this,"onTraceRoutePacket",new C.SimpleEventDispatcher);_(this,"onNeighborInfoPacket",new C.SimpleEventDispatcher);_(this,"onAtakPluginPacket",new C.SimpleEventDispatcher);_(this,"onMapReportPacket",new C.SimpleEventDispatcher);_(this,"onPrivatePacket",new C.SimpleEventDispatcher);_(this,"onAtakForwarderPacket",new C.SimpleEventDispatcher);_(this,"onDeviceStatus",new C.SimpleEventDispatcher);_(this,"onLogRecord",new C.SimpleEventDispatcher);_(this,"onMeshHeartbeat",new C.SimpleEventDispatcher);_(this,"onDeviceDebugLog",new C.SimpleEventDispatcher);_(this,"onPendingSettingsChange",new C.SimpleEventDispatcher);_(this,"onQueueStatus",new C.SimpleEventDispatcher)}},Ai=e=>e.buffer.slice(e.byteOffset,e.byteLength+e.byteOffset),Ri=class{constructor(){_(this,"queue",[]);_(this,"lock",!1);_(this,"ackNotifier",new C.SimpleEventDispatcher);_(this,"errorNotifier",new C.SimpleEventDispatcher);_(this,"timeout");this.timeout=6e4}getState(){return this.queue}clear(){this.queue=[]}push(e){const n={...e,sent:!1,added:new Date,promise:new Promise((t,o)=>{this.ackNotifier.subscribe(a=>{e.id===a&&(this.remove(e.id),t(a))}),this.errorNotifier.subscribe(a=>{e.id===a.id&&(this.remove(e.id),o(a))}),setTimeout(()=>{if(this.queue.findIndex(a=>a.id===e.id)!==-1){this.remove(e.id);const a=W.ToRadio.fromBinary(e.data);console.warn(`Packet ${e.id} of type ${a.payloadVariant.case} timed out`),o({id:e.id,error:W.Routing_Error.TIMEOUT})}},this.timeout)})};this.queue.push(n)}remove(e){if(this.lock){setTimeout(()=>this.remove(e),100);return}this.queue=this.queue.filter(n=>n.id!==e)}processAck(e){this.ackNotifier.dispatch(e)}processError(e){console.error(`Error received for packet ${e.id}: ${W.Routing_Error[e.error]}`),this.errorNotifier.dispatch(e)}async wait(e){const n=this.queue.find(t=>t.id===e);if(!n)throw new Error("Packet does not exist");return n.promise}async processQueue(e){if(!this.lock){for(this.lock=!0;this.queue.filter(n=>!n.sent).length>0;){const n=this.queue.filter(t=>!t.sent)[0];if(n){await new Promise(t=>setTimeout(t,200));try{await e(n.data),n.sent=!0}catch(t){console.error(`Error sending packet ${n.id}`,t)}}}this.lock=!1}}},Pi=(e,n,t,o)=>{let a=new Uint8Array([]);return new TransformStream({transform(r,i){e=e.getSubLogger({name:"streamTransformer"}),n.subscribe(()=>{i.terminate()}),a=new Uint8Array([...a,...r]);let s=!1;for(;a.length!==0&&!s;){const c=a.findIndex(m=>m===148);if(a[c+1]===195){a.subarray(0,c).length&&(o?t.dispatch(a.subarray(0,c)):e.warn(2,20,`⚠️ Found unneccesary message padding, removing: ${a.subarray(0,c).toString()}`),a=a.subarray(c));const m=a[2],g=a[3];if(m!==void 0&&g!==void 0&&a.length>=4+(m<<8)+g){const f=a.subarray(4,4+(m<<8)+g),h=f.findIndex(p=>p===148);h!==-1&&f[h+1]===195?(e.warn(2,20,`⚠️ Malformed packet found, discarding: ${a.subarray(0,h-1).toString()}`,W.LogRecord_Level.WARNING),a=a.subarray(h)):(a=a.subarray(3+(m<<8)+g+1),i.enqueue(f))}else s=!0}else s=!0}}})},Oi=class{constructor(e){_(this,"sendRaw");_(this,"rxBuffer");_(this,"txBuffer");_(this,"textEncoder");_(this,"counter");this.sendRaw=e,this.rxBuffer=[],this.txBuffer=[],this.textEncoder=new TextEncoder,this.counter=0}async downloadFile(e){return await this.sendCommand(R.XModem_Control.STX,this.textEncoder.encode(e),0)}async uploadFile(e,n){for(let t=0;tsetTimeout(n,100)),e.control){case R.XModem_Control.NUL:break;case R.XModem_Control.SOH:return this.counter=e.seq,this.validateCrc16(e)?(this.rxBuffer[this.counter]=e.buffer,this.sendCommand(R.XModem_Control.ACK)):await this.sendCommand(R.XModem_Control.NAK,void 0,e.seq);case R.XModem_Control.STX:break;case R.XModem_Control.EOT:break;case R.XModem_Control.ACK:{if(this.counter++,this.txBuffer[this.counter-1])return this.sendCommand(R.XModem_Control.SOH,this.txBuffer[this.counter-1],this.counter,Qe(this.txBuffer[this.counter-1]??new Uint8Array));if(this.counter===this.txBuffer.length+1)return this.sendCommand(R.XModem_Control.EOT);this.clear();break}case R.XModem_Control.NAK:return this.sendCommand(R.XModem_Control.SOH,this.txBuffer[this.counter],this.counter,Qe(this.txBuffer[this.counter-1]??new Uint8Array));case R.XModem_Control.CAN:{this.clear();break}case R.XModem_Control.CTRLZ:break}return Promise.resolve(0)}validateCrc16(e){return Qe(e.buffer)===e.crc16}clear(){this.counter=0,this.rxBuffer=[],this.txBuffer=[]}};function Di({channelName:e,psk:n,pskType:t,region:o,modemPreset:a,hopLimit:r,role:i,index:s,channelId:c,uplinkEnabled:d,downlinkEnabled:m,positionPrecision:g,isClientMuted:f,ignoreMqtt:h,configOkToMqtt:p}){const E=new z.Config.Config_LoRaConfig({region:o||5,usePreset:!0,modemPreset:a||0,hopLimit:r||3,ignoreMqtt:h||!1,configOkToMqtt:p||!1});console.log(p,h);const M=new z.Channel.ModuleSettings({positionPrecision:g||0,isClientMuted:f||!1}),k=new z.Channel.ChannelSettings({psk:t==="none"?new Uint8Array:new TextEncoder().encode(n),name:e,uplinkEnabled:d||!1,downlinkEnabled:m||!1,moduleSettings:M});new z.Channel.Channel({index:s,role:i});const b=new z.AppOnly.ChannelSet({settings:[k],loraConfig:E});return console.log("Generated Protobuf message:",b),b}var ye={},Li=function(){return typeof Promise=="function"&&Promise.prototype&&Promise.prototype.then},uo={},O={};let Qn;const Bi=[0,26,44,70,100,134,172,196,242,292,346,404,466,532,581,655,733,815,901,991,1085,1156,1258,1364,1474,1588,1706,1828,1921,2051,2185,2323,2465,2611,2761,2876,3034,3196,3362,3532,3706];O.getSymbolSize=function(n){if(!n)throw new Error('"version" cannot be null or undefined');if(n<1||n>40)throw new Error('"version" should be in range from 1 to 40');return n*4+17};O.getSymbolTotalCodewords=function(n){return Bi[n]};O.getBCHDigit=function(e){let n=0;for(;e!==0;)n++,e>>>=1;return n};O.setToSJISFunction=function(n){if(typeof n!="function")throw new Error('"toSJISFunc" is not a valid function.');Qn=n};O.isKanjiModeEnabled=function(){return typeof Qn<"u"};O.toSJIS=function(n){return Qn(n)};var We={};(function(e){e.L={bit:1},e.M={bit:0},e.Q={bit:3},e.H={bit:2};function n(t){if(typeof t!="string")throw new Error("Param is not a string");switch(t.toLowerCase()){case"l":case"low":return e.L;case"m":case"medium":return e.M;case"q":case"quartile":return e.Q;case"h":case"high":return e.H;default:throw new Error("Unknown EC Level: "+t)}}e.isValid=function(o){return o&&typeof o.bit<"u"&&o.bit>=0&&o.bit<4},e.from=function(o,a){if(e.isValid(o))return o;try{return n(o)}catch{return a}}})(We);function fo(){this.buffer=[],this.length=0}fo.prototype={get:function(e){const n=Math.floor(e/8);return(this.buffer[n]>>>7-e%8&1)===1},put:function(e,n){for(let t=0;t>>n-t-1&1)===1)},getLengthInBits:function(){return this.length},putBit:function(e){const n=Math.floor(this.length/8);this.buffer.length<=n&&this.buffer.push(0),e&&(this.buffer[n]|=128>>>this.length%8),this.length++}};var xi=fo;function Ce(e){if(!e||e<1)throw new Error("BitMatrix size must be defined and greater than 0");this.size=e,this.data=new Uint8Array(e*e),this.reservedBit=new Uint8Array(e*e)}Ce.prototype.set=function(e,n,t,o){const a=e*this.size+n;this.data[a]=t,o&&(this.reservedBit[a]=!0)};Ce.prototype.get=function(e,n){return this.data[e*this.size+n]};Ce.prototype.xor=function(e,n,t){this.data[e*this.size+n]^=t};Ce.prototype.isReserved=function(e,n){return this.reservedBit[e*this.size+n]};var Fi=Ce,go={};(function(e){const n=O.getSymbolSize;e.getRowColCoords=function(o){if(o===1)return[];const a=Math.floor(o/7)+2,r=n(o),i=r===145?26:Math.ceil((r-13)/(2*a-2))*2,s=[r-7];for(let c=1;c=0&&a<=7},e.from=function(a){return e.isValid(a)?parseInt(a,10):void 0},e.getPenaltyN1=function(a){const r=a.size;let i=0,s=0,c=0,d=null,m=null;for(let g=0;g=5&&(i+=n.N1+(s-5)),d=h,s=1),h=a.get(f,g),h===m?c++:(c>=5&&(i+=n.N1+(c-5)),m=h,c=1)}s>=5&&(i+=n.N1+(s-5)),c>=5&&(i+=n.N1+(c-5))}return i},e.getPenaltyN2=function(a){const r=a.size;let i=0;for(let s=0;s=10&&(s===1488||s===93)&&i++,c=c<<1&2047|a.get(m,d),m>=10&&(c===1488||c===93)&&i++}return i*n.N3},e.getPenaltyN4=function(a){let r=0;const i=a.data.length;for(let c=0;c=0;){const i=r[0];for(let c=0;c0){const r=new Uint8Array(this.degree);return r.set(o,a),r}return o};var Hi=Zn,ko={},X={},et={};et.isValid=function(n){return!isNaN(n)&&n>=1&&n<=40};var F={};const yo="[0-9]+",Gi="[A-Z $%*+\\-./:]+";let fe="(?:[u3000-u303F]|[u3040-u309F]|[u30A0-u30FF]|[uFF00-uFFEF]|[u4E00-u9FAF]|[u2605-u2606]|[u2190-u2195]|u203B|[u2010u2015u2018u2019u2025u2026u201Cu201Du2225u2260]|[u0391-u0451]|[u00A7u00A8u00B1u00B4u00D7u00F7])+";fe=fe.replace(/u/g,"\\u");const Vi="(?:(?![A-Z0-9 $%*+\\-./:]|"+fe+`)(?:.|[\r +]))+`;F.KANJI=new RegExp(fe,"g");F.BYTE_KANJI=new RegExp("[^A-Z0-9 $%*+\\-./:]+","g");F.BYTE=new RegExp(Vi,"g");F.NUMERIC=new RegExp(yo,"g");F.ALPHANUMERIC=new RegExp(Gi,"g");const $i=new RegExp("^"+fe+"$"),qi=new RegExp("^"+yo+"$"),Xi=new RegExp("^[A-Z0-9 $%*+\\-./:]+$");F.testKanji=function(n){return $i.test(n)};F.testNumeric=function(n){return qi.test(n)};F.testAlphanumeric=function(n){return Xi.test(n)};(function(e){const n=et,t=F;e.NUMERIC={id:"Numeric",bit:1,ccBits:[10,12,14]},e.ALPHANUMERIC={id:"Alphanumeric",bit:2,ccBits:[9,11,13]},e.BYTE={id:"Byte",bit:4,ccBits:[8,16,16]},e.KANJI={id:"Kanji",bit:8,ccBits:[8,10,12]},e.MIXED={bit:-1},e.getCharCountIndicator=function(r,i){if(!r.ccBits)throw new Error("Invalid mode: "+r);if(!n.isValid(i))throw new Error("Invalid version: "+i);return i>=1&&i<10?r.ccBits[0]:i<27?r.ccBits[1]:r.ccBits[2]},e.getBestModeForData=function(r){return t.testNumeric(r)?e.NUMERIC:t.testAlphanumeric(r)?e.ALPHANUMERIC:t.testKanji(r)?e.KANJI:e.BYTE},e.toString=function(r){if(r&&r.id)return r.id;throw new Error("Invalid mode")},e.isValid=function(r){return r&&r.bit&&r.ccBits};function o(a){if(typeof a!="string")throw new Error("Param is not a string");switch(a.toLowerCase()){case"numeric":return e.NUMERIC;case"alphanumeric":return e.ALPHANUMERIC;case"kanji":return e.KANJI;case"byte":return e.BYTE;default:throw new Error("Unknown mode: "+a)}}e.from=function(r,i){if(e.isValid(r))return r;try{return o(r)}catch{return i}}})(X);(function(e){const n=O,t=Ye,o=We,a=X,r=et,i=7973,s=n.getBCHDigit(i);function c(f,h,p){for(let E=1;E<=40;E++)if(h<=e.getCapacity(E,p,f))return E}function d(f,h){return a.getCharCountIndicator(f,h)+4}function m(f,h){let p=0;return f.forEach(function(E){const M=d(E.mode,h);p+=M+E.getBitsLength()}),p}function g(f,h){for(let p=1;p<=40;p++)if(m(f,p)<=e.getCapacity(p,h,a.MIXED))return p}e.from=function(h,p){return r.isValid(h)?parseInt(h,10):p},e.getCapacity=function(h,p,E){if(!r.isValid(h))throw new Error("Invalid QR Code version");typeof E>"u"&&(E=a.BYTE);const M=n.getSymbolTotalCodewords(h),k=t.getTotalCodewordsCount(h,p),b=(M-k)*8;if(E===a.MIXED)return b;const y=b-d(E,h);switch(E){case a.NUMERIC:return Math.floor(y/10*3);case a.ALPHANUMERIC:return Math.floor(y/11*2);case a.KANJI:return Math.floor(y/13);case a.BYTE:default:return Math.floor(y/8)}},e.getBestVersionForData=function(h,p){let E;const M=o.from(p,o.M);if(Array.isArray(h)){if(h.length>1)return g(h,M);if(h.length===0)return 1;E=h[0]}else E=h;return c(E.mode,E.getLength(),M)},e.getEncodedBits=function(h){if(!r.isValid(h)||h<7)throw new Error("Invalid QR Code version");let p=h<<12;for(;n.getBCHDigit(p)-s>=0;)p^=i<=0;)a^=Eo<0&&(o=this.data.substr(t),a=parseInt(o,10),n.put(a,r*3+1))};var Yi=Z;const Ji=X,tn=["0","1","2","3","4","5","6","7","8","9","A","B","C","D","E","F","G","H","I","J","K","L","M","N","O","P","Q","R","S","T","U","V","W","X","Y","Z"," ","$","%","*","+","-",".","/",":"];function ee(e){this.mode=Ji.ALPHANUMERIC,this.data=e}ee.getBitsLength=function(n){return 11*Math.floor(n/2)+6*(n%2)};ee.prototype.getLength=function(){return this.data.length};ee.prototype.getBitsLength=function(){return ee.getBitsLength(this.data.length)};ee.prototype.write=function(n){let t;for(t=0;t+2<=this.data.length;t+=2){let o=tn.indexOf(this.data[t])*45;o+=tn.indexOf(this.data[t+1]),n.put(o,11)}this.data.length%2&&n.put(tn.indexOf(this.data[t]),6)};var ji=ee;const zi=X;function ne(e){this.mode=zi.BYTE,typeof e=="string"?this.data=new TextEncoder().encode(e):this.data=new Uint8Array(e)}ne.getBitsLength=function(n){return n*8};ne.prototype.getLength=function(){return this.data.length};ne.prototype.getBitsLength=function(){return ne.getBitsLength(this.data.length)};ne.prototype.write=function(e){for(let n=0,t=this.data.length;n=33088&&t<=40956)t-=33088;else if(t>=57408&&t<=60351)t-=49472;else throw new Error("Invalid SJIS character: "+this.data[n]+` +Make sure your charset is UTF-8`);t=(t>>>8&255)*192+(t&255),e.put(t,13)}};var ns=te,vo={exports:{}};(function(e){var n={single_source_shortest_paths:function(t,o,a){var r={},i={};i[o]=0;var s=n.PriorityQueue.make();s.push(o,0);for(var c,d,m,g,f,h,p,E,M;!s.empty();){c=s.pop(),d=c.value,g=c.cost,f=t[d]||{};for(m in f)f.hasOwnProperty(m)&&(h=f[m],p=g+h,E=i[m],M=typeof i[m]>"u",(M||E>p)&&(i[m]=p,s.push(m,p),r[m]=d))}if(typeof a<"u"&&typeof i[a]>"u"){var k=["Could not find a path from ",o," to ",a,"."].join("");throw new Error(k)}return r},extract_shortest_path_from_predecessor_list:function(t,o){for(var a=[],r=o;r;)a.push(r),t[r],r=t[r];return a.reverse(),a},find_path:function(t,o,a){var r=n.single_source_shortest_paths(t,o,a);return n.extract_shortest_path_from_predecessor_list(r,a)},PriorityQueue:{make:function(t){var o=n.PriorityQueue,a={},r;t=t||{};for(r in o)o.hasOwnProperty(r)&&(a[r]=o[r]);return a.queue=[],a.sorter=t.sorter||o.default_sorter,a},default_sorter:function(t,o){return t.cost-o.cost},push:function(t,o){var a={value:t,cost:o};this.queue.push(a),this.queue.sort(this.sorter)},pop:function(){return this.queue.shift()},empty:function(){return this.queue.length===0}}};e.exports=n})(vo);var ts=vo.exports;(function(e){const n=X,t=Yi,o=ji,a=Qi,r=ns,i=F,s=O,c=ts;function d(k){return unescape(encodeURIComponent(k)).length}function m(k,b,y){const T=[];let v;for(;(v=k.exec(y))!==null;)T.push({data:v[0],index:v.index,mode:b,length:v[0].length});return T}function g(k){const b=m(i.NUMERIC,n.NUMERIC,k),y=m(i.ALPHANUMERIC,n.ALPHANUMERIC,k);let T,v;return s.isKanjiModeEnabled()?(T=m(i.BYTE,n.BYTE,k),v=m(i.KANJI,n.KANJI,k)):(T=m(i.BYTE_KANJI,n.BYTE,k),v=[]),b.concat(y,T,v).sort(function(A,D){return A.index-D.index}).map(function(A){return{data:A.data,mode:A.mode,length:A.length}})}function f(k,b){switch(b){case n.NUMERIC:return t.getBitsLength(k);case n.ALPHANUMERIC:return o.getBitsLength(k);case n.KANJI:return r.getBitsLength(k);case n.BYTE:return a.getBitsLength(k)}}function h(k){return k.reduce(function(b,y){const T=b.length-1>=0?b[b.length-1]:null;return T&&T.mode===y.mode?(b[b.length-1].data+=y.data,b):(b.push(y),b)},[])}function p(k){const b=[];for(let y=0;y=0&&s<=6&&(c===0||c===6)||c>=0&&c<=6&&(s===0||s===6)||s>=2&&s<=4&&c>=2&&c<=4?e.set(r+s,i+c,!0,!0):e.set(r+s,i+c,!1,!0))}}function ds(e){const n=e.size;for(let t=8;t>s&1)===1,e.set(a,r,i,!0),e.set(r,a,i,!0)}function rn(e,n,t){const o=e.size,a=cs.getEncodedBits(n,t);let r,i;for(r=0;r<15;r++)i=(a>>r&1)===1,r<6?e.set(r,8,i,!0):r<8?e.set(r+1,8,i,!0):e.set(o-15+r,8,i,!0),r<8?e.set(8,o-r-1,i,!0):r<9?e.set(8,15-r-1+1,i,!0):e.set(8,15-r-1,i,!0);e.set(o-8,8,1,!0)}function gs(e,n){const t=e.size;let o=-1,a=t-1,r=7,i=0;for(let s=t-1;s>0;s-=2)for(s===6&&s--;;){for(let c=0;c<2;c++)if(!e.isReserved(a,s-c)){let d=!1;i>>r&1)===1),e.set(a,s-c,d),r--,r===-1&&(i++,r=7)}if(a+=o,a<0||t<=a){a-=o,o=-o;break}}}function hs(e,n,t){const o=new as;t.forEach(function(c){o.put(c.mode.bit,4),o.put(c.getLength(),ls.getCharCountIndicator(c.mode,e)),c.write(o)});const a=je.getSymbolTotalCodewords(e),r=fn.getTotalCodewordsCount(e,n),i=(a-r)*8;for(o.getLengthInBits()+4<=i&&o.put(0,4);o.getLengthInBits()%8!==0;)o.putBit(0);const s=(i-o.getLengthInBits())/8;for(let c=0;c=7&&ns(c,n),ts(c,i),isNaN(o)&&(o=un.getBestMask(c,rn.bind(null,c,t))),un.applyMask(o,c),rn(c,t,o),{modules:c,version:n,errorCorrectionLevel:t,maskPattern:o,segments:a}}mo.create=function(n,t){if(typeof n>"u"||n==="")throw new Error("No input text");let o=an.M,a,r;return typeof t<"u"&&(o=an.from(t.errorCorrectionLevel,an.M),a=Be.from(t.version),r=un.from(t.maskPattern),t.toSJISFunc&&je.setToSJISFunction(t.toSJISFunc)),rs(n,a,o,r)};var vo={},nt={};(function(e){function n(t){if(typeof t=="number"&&(t=t.toString()),typeof t!="string")throw new Error("Color should be defined as hex string");let o=t.slice().replace("#","").split("");if(o.length<3||o.length===5||o.length>8)throw new Error("Invalid hex color: "+t);(o.length===3||o.length===4)&&(o=Array.prototype.concat.apply([],o.map(function(r){return[r,r]}))),o.length===6&&o.push("F","F");const a=parseInt(o.join(""),16);return{r:a>>24&255,g:a>>16&255,b:a>>8&255,a:a&255,hex:"#"+o.slice(0,6).join("")}}e.getOptions=function(o){o||(o={}),o.color||(o.color={});const a=typeof o.margin>"u"||o.margin===null||o.margin<0?4:o.margin,r=o.width&&o.width>=21?o.width:void 0,i=o.scale||4;return{width:r,scale:r?4:i,margin:a,color:{dark:n(o.color.dark||"#000000ff"),light:n(o.color.light||"#ffffffff")},type:o.type,rendererOpts:o.rendererOpts||{}}},e.getScale=function(o,a){return a.width&&a.width>=o+a.margin*2?a.width/(o+a.margin*2):a.scale},e.getImageWidth=function(o,a){const r=e.getScale(o,a);return Math.floor((o+a.margin*2)*r)},e.qrToImageData=function(o,a,r){const i=a.modules.size,s=a.modules.data,c=e.getScale(i,r),d=Math.floor((i+r.margin*2)*c),m=r.margin*c,g=[r.color.light,r.color.dark];for(let f=0;f=m&&h>=m&&f"u"&&(!i||!i.getContext)&&(c=i,i=void 0),i||(d=o()),c=n.getOptions(c);const m=n.getImageWidth(r.modules.size,c),g=d.getContext("2d"),f=g.createImageData(m,m);return n.qrToImageData(f.data,r,c),t(g,d,m),g.putImageData(f,0,0),d},e.renderToDataURL=function(r,i,s){let c=s;typeof c>"u"&&(!i||!i.getContext)&&(c=i,i=void 0),c||(c={});const d=e.render(r,i,c),m=c.type||"image/png",g=c.rendererOpts||{};return d.toDataURL(m,g.quality)}})(vo);var wo={};const is=nt;function yt(e,n){const t=e.a/255,o=n+'="'+e.hex+'"';return t<1?o+" "+n+'-opacity="'+t.toFixed(2).slice(1)+'"':o}function sn(e,n,t){let o=e+n;return typeof t<"u"&&(o+=" "+t),o}function ss(e,n,t){let o="",a=0,r=!1,i=0;for(let s=0;s0&&c>0&&e[s-1]||(o+=r?sn("M",c+t,.5+d+t):sn("m",a,0),a=0,r=!1),c+1':"",d="',m='viewBox="0 0 '+s+" "+s+'"',f=''+c+d+` -`;return typeof o=="function"&&o(null,f),f};const cs=bi,gn=mo,So=vo,ls=wo;function tt(e,n,t,o,a){const r=[].slice.call(arguments,1),i=r.length,s=typeof r[i-1]=="function";if(!s&&!cs())throw new Error("Callback required as last argument");if(s){if(i<2)throw new Error("Too few arguments provided");i===2?(a=t,t=n,n=o=void 0):i===3&&(n.getContext&&typeof a>"u"?(a=o,o=void 0):(a=o,o=t,t=n,n=void 0))}else{if(i<1)throw new Error("Too few arguments provided");return i===1?(t=n,n=o=void 0):i===2&&!n.getContext&&(o=t,t=n,n=void 0),new Promise(function(c,d){try{const m=gn.create(t,o);c(e(m,n,o))}catch(m){d(m)}})}try{const c=gn.create(t,o);a(null,e(c,n,o))}catch(c){a(c)}}ye.create=gn.create;ye.toCanvas=tt.bind(null,So.render);ye.toDataURL=tt.bind(null,So.renderToDataURL);ye.toString=tt.bind(null,function(e,n,t){return ls.render(e,t)});var ms=gs,B=[],Ct="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/";for(var we=0,ds=Ct.length;we>18&63]+B[e>>12&63]+B[e>>6&63]+B[e&63]}function fs(e,n,t){for(var o,a=[],r=n;rs?s:i+r));return o===1?(n=e[t-1],a.push(B[n>>2]+B[n<<4&63]+"==")):o===2&&(n=(e[t-2]<<8)+e[t-1],a.push(B[n>>10]+B[n>>4&63]+B[n<<2&63]+"=")),a.join("")}document.addEventListener("DOMContentLoaded",()=>{var e,n,t;(e=document.getElementById("generateQRCode"))==null||e.addEventListener("click",ps),(n=document.getElementById("generatePSK"))==null||n.addEventListener("click",hs),(t=document.getElementById("copyUrlButton"))==null||t.addEventListener("click",_s)});function hs(){const e=document.getElementById("psk"),n=new Uint8Array(16);window.crypto.getRandomValues(n);let t="";for(let o=0;o{alert("URL copied to clipboard!")}).catch(n=>{console.error("Failed to copy text: ",n),alert("Failed to copy URL")})} +`);const i=hs(n,t,a),s=je.getSymbolSize(n),c=new os(s);return ms(c,n),ds(c),us(c,n),rn(c,t,0),n>=7&&fs(c,n),gs(c,i),isNaN(o)&&(o=un.getBestMask(c,rn.bind(null,c,t))),un.applyMask(o,c),rn(c,t,o),{modules:c,version:n,errorCorrectionLevel:t,maskPattern:o,segments:a}}uo.create=function(n,t){if(typeof n>"u"||n==="")throw new Error("No input text");let o=an.M,a,r;return typeof t<"u"&&(o=an.from(t.errorCorrectionLevel,an.M),a=xe.from(t.version),r=un.from(t.maskPattern),t.toSJISFunc&&je.setToSJISFunction(t.toSJISFunc)),_s(n,a,o,r)};var wo={},nt={};(function(e){function n(t){if(typeof t=="number"&&(t=t.toString()),typeof t!="string")throw new Error("Color should be defined as hex string");let o=t.slice().replace("#","").split("");if(o.length<3||o.length===5||o.length>8)throw new Error("Invalid hex color: "+t);(o.length===3||o.length===4)&&(o=Array.prototype.concat.apply([],o.map(function(r){return[r,r]}))),o.length===6&&o.push("F","F");const a=parseInt(o.join(""),16);return{r:a>>24&255,g:a>>16&255,b:a>>8&255,a:a&255,hex:"#"+o.slice(0,6).join("")}}e.getOptions=function(o){o||(o={}),o.color||(o.color={});const a=typeof o.margin>"u"||o.margin===null||o.margin<0?4:o.margin,r=o.width&&o.width>=21?o.width:void 0,i=o.scale||4;return{width:r,scale:r?4:i,margin:a,color:{dark:n(o.color.dark||"#000000ff"),light:n(o.color.light||"#ffffffff")},type:o.type,rendererOpts:o.rendererOpts||{}}},e.getScale=function(o,a){return a.width&&a.width>=o+a.margin*2?a.width/(o+a.margin*2):a.scale},e.getImageWidth=function(o,a){const r=e.getScale(o,a);return Math.floor((o+a.margin*2)*r)},e.qrToImageData=function(o,a,r){const i=a.modules.size,s=a.modules.data,c=e.getScale(i,r),d=Math.floor((i+r.margin*2)*c),m=r.margin*c,g=[r.color.light,r.color.dark];for(let f=0;f=m&&h>=m&&f"u"&&(!i||!i.getContext)&&(c=i,i=void 0),i||(d=o()),c=n.getOptions(c);const m=n.getImageWidth(r.modules.size,c),g=d.getContext("2d"),f=g.createImageData(m,m);return n.qrToImageData(f.data,r,c),t(g,d,m),g.putImageData(f,0,0),d},e.renderToDataURL=function(r,i,s){let c=s;typeof c>"u"&&(!i||!i.getContext)&&(c=i,i=void 0),c||(c={});const d=e.render(r,i,c),m=c.type||"image/png",g=c.rendererOpts||{};return d.toDataURL(m,g.quality)}})(wo);var So={};const Ts=nt;function Ct(e,n){const t=e.a/255,o=n+'="'+e.hex+'"';return t<1?o+" "+n+'-opacity="'+t.toFixed(2).slice(1)+'"':o}function sn(e,n,t){let o=e+n;return typeof t<"u"&&(o+=" "+t),o}function ks(e,n,t){let o="",a=0,r=!1,i=0;for(let s=0;s0&&c>0&&e[s-1]||(o+=r?sn("M",c+t,.5+d+t):sn("m",a,0),a=0,r=!1),c+1':"",d="',m='viewBox="0 0 '+s+" "+s+'"',f=''+c+d+` +`;return typeof o=="function"&&o(null,f),f};const ys=Li,gn=uo,No=wo,Cs=So;function tt(e,n,t,o,a){const r=[].slice.call(arguments,1),i=r.length,s=typeof r[i-1]=="function";if(!s&&!ys())throw new Error("Callback required as last argument");if(s){if(i<2)throw new Error("Too few arguments provided");i===2?(a=t,t=n,n=o=void 0):i===3&&(n.getContext&&typeof a>"u"?(a=o,o=void 0):(a=o,o=t,t=n,n=void 0))}else{if(i<1)throw new Error("Too few arguments provided");return i===1?(t=n,n=o=void 0):i===2&&!n.getContext&&(o=t,t=n,n=void 0),new Promise(function(c,d){try{const m=gn.create(t,o);c(e(m,n,o))}catch(m){d(m)}})}try{const c=gn.create(t,o);a(null,e(c,n,o))}catch(c){a(c)}}ye.create=gn.create;ye.toCanvas=tt.bind(null,No.render);ye.toDataURL=tt.bind(null,No.renderToDataURL);ye.toString=tt.bind(null,function(e,n,t){return Cs.render(e,t)});async function Es(e){const n=document.getElementById("qrcode");n.innerHTML="";try{await ye.toCanvas(n,e)}catch(t){t instanceof Error?(console.error(t.message),alert("QR Code generation failed: "+t.message)):(console.error("An unknown error occurred:",t),alert("An unknown error occurred"))}}document.addEventListener("DOMContentLoaded",()=>{var e,n,t,o,a;(e=document.getElementById("generateConfig"))==null||e.addEventListener("click",ws),(n=document.getElementById("generatePSK"))==null||n.addEventListener("click",Mo),(t=document.getElementById("generateChannelId"))==null||t.addEventListener("click",vs),(o=document.getElementById("pskType"))==null||o.addEventListener("change",bs),(a=document.getElementById("copyUrlButton"))==null||a.addEventListener("click",Ss)});function bs(){const e=document.getElementById("pskType").value,n=document.getElementById("psk");e==="none"?(n.value="",n.disabled=!0):(n.disabled=!1,Mo())}function Mo(){const e=document.getElementById("pskType").value,n=Uo(e);document.getElementById("psk").value=n}function vs(){const e=Et();document.getElementById("channelId").value=e}async function ws(){const e=Fo(),n=Bo(e.channelName);if(n>12){alert(`Channel name must be less than or equal to 12 bytes (current byte length: ${n}).`);return}const o=Di(e).toBinary(),r=`https://meshtastic.org/e/#${xo(o)}`;console.log("Generated Meshtastic URL:",r);const i=document.getElementById("generatedUrl");i.value=r,await Es(r)}function Ss(){const e=document.getElementById("generatedUrl");navigator.clipboard.writeText(e.value).then(()=>{alert("URL copied to clipboard!")}).catch(n=>{console.error("Failed to copy text: ",n),alert("Failed to copy URL")})} diff --git a/index.html b/index.html index e0dc70d..52d963b 100644 --- a/index.html +++ b/index.html @@ -4,37 +4,184 @@ Meshtastic Configurator - + +

Meshtastic QR Code Generator

+
- - -

- - - - -

- - - -

- - -
+ + +
+ + +
+ + + +
+ Channel Settings + +
+ + +
+ +
+ + +
+ +
+ + +
+ +
+ + + +
- +
+ + +
-
- - -
+
+ + +
+
+ +
+ Module Settings + +
+ + +
+ +
+ + +
+
+ +
+ LoRa Configuration + +
+ + +
+ +
+ + +
+ +
+ + +
+ +
+ + + +
+ +
+ + +
+ +
+ + +
+
+ +
+ Other Settings + +
+ + +
+
+