Files
rustdesk-api/resources/web2/js/dist/index.js
2025-05-13 13:11:19 +08:00

12502 lines
474 KiB
JavaScript
Vendored

import {getServerConf} from "./ljw.js?v=7"
import {ids as langIds, lang} from './lang.js?v=7'
import {F as ka, J as H4, L as K4, l as Le, m as r, P as ha, s as ga, z as e4} from "./vendor.js?v=0b990c6e";
var _a = Object.defineProperty;
var va = (u, e, i) => e in u ? _a(u, e, {enumerable: !0, configurable: !0, writable: !0, value: i}) : u[e] = i;
var D = (u, e, i) => (va(u, typeof e != "symbol" ? e + "" : e, i), i), o4 = (u, e, i) => {
if (!e.has(u)) throw TypeError("Cannot " + i)
};
var h = (u, e, i) => (o4(u, e, "read from private field"), i ? i.call(u) : e.get(u)), Cu = (u, e, i) => {
if (e.has(u)) throw TypeError("Cannot add the same private member more than once");
e instanceof WeakSet ? e.add(u) : e.set(u, i)
}, _e = (u, e, i, n) => (o4(u, e, "write to private field"), n ? n.call(u, i) : e.set(u, i), i), V4 = (u, e, i, n) => ({
set _(a) {
_e(u, e, a, i)
}, get _() {
return h(u, e, n)
}
}), q4 = (u, e, i) => (o4(u, e, "access private method"), i);
const fa = function () {
const e = document.createElement("link").relList;
if (e && e.supports && e.supports("modulepreload")) return;
for (const a of document.querySelectorAll('link[rel="modulepreload"]')) n(a);
new MutationObserver(a => {
for (const t of a) if (t.type === "childList") for (const s of t.addedNodes) s.tagName === "LINK" && s.rel === "modulepreload" && n(s)
}).observe(document, {childList: !0, subtree: !0});
function i(a) {
const t = {};
return a.integrity && (t.integrity = a.integrity), a.referrerpolicy && (t.referrerPolicy = a.referrerpolicy), a.crossorigin === "use-credentials" ? t.credentials = "include" : a.crossorigin === "anonymous" ? t.credentials = "omit" : t.credentials = "same-origin", t
}
function n(a) {
if (a.ep) return;
a.ep = !0;
const t = i(a);
fetch(a.href, t)
}
};
fa();
var l4 = (u => (u[u.I420 = 0] = "I420", u[u.I444 = 1] = "I444", u[u.UNRECOGNIZED = -1] = "UNRECOGNIZED", u))(l4 || {});
function xa(u) {
switch (u) {
case 0:
case"I420":
return 0;
case 1:
case"I444":
return 1;
case-1:
case"UNRECOGNIZED":
default:
return -1
}
}
function ya(u) {
switch (u) {
case 0:
return "I420";
case 1:
return "I444";
case-1:
default:
return "UNRECOGNIZED"
}
}
var Fe = (u => (u[u.Legacy = 0] = "Legacy", u[u.Map = 1] = "Map", u[u.Translate = 2] = "Translate", u[u.Auto = 3] = "Auto", u[u.UNRECOGNIZED = -1] = "UNRECOGNIZED", u))(Fe || {});
function ba(u) {
switch (u) {
case 0:
case"Legacy":
return 0;
case 1:
case"Map":
return 1;
case 2:
case"Translate":
return 2;
case 3:
case"Auto":
return 3;
case-1:
case"UNRECOGNIZED":
default:
return -1
}
}
function wa(u) {
switch (u) {
case 0:
return "Legacy";
case 1:
return "Map";
case 2:
return "Translate";
case 3:
return "Auto";
case-1:
default:
return "UNRECOGNIZED"
}
}
var j = (u => (u[u.Unknown = 0] = "Unknown", u[u.Alt = 1] = "Alt", u[u.Backspace = 2] = "Backspace", u[u.CapsLock = 3] = "CapsLock", u[u.Control = 4] = "Control", u[u.Delete = 5] = "Delete", u[u.DownArrow = 6] = "DownArrow", u[u.End = 7] = "End", u[u.Escape = 8] = "Escape", u[u.F1 = 9] = "F1", u[u.F10 = 10] = "F10", u[u.F11 = 11] = "F11", u[u.F12 = 12] = "F12", u[u.F2 = 13] = "F2", u[u.F3 = 14] = "F3", u[u.F4 = 15] = "F4", u[u.F5 = 16] = "F5", u[u.F6 = 17] = "F6", u[u.F7 = 18] = "F7", u[u.F8 = 19] = "F8", u[u.F9 = 20] = "F9", u[u.Home = 21] = "Home", u[u.LeftArrow = 22] = "LeftArrow", u[u.Meta = 23] = "Meta", u[u.Option = 24] = "Option", u[u.PageDown = 25] = "PageDown", u[u.PageUp = 26] = "PageUp", u[u.Return = 27] = "Return", u[u.RightArrow = 28] = "RightArrow", u[u.Shift = 29] = "Shift", u[u.Space = 30] = "Space", u[u.Tab = 31] = "Tab", u[u.UpArrow = 32] = "UpArrow", u[u.Numpad0 = 33] = "Numpad0", u[u.Numpad1 = 34] = "Numpad1", u[u.Numpad2 = 35] = "Numpad2", u[u.Numpad3 = 36] = "Numpad3", u[u.Numpad4 = 37] = "Numpad4", u[u.Numpad5 = 38] = "Numpad5", u[u.Numpad6 = 39] = "Numpad6", u[u.Numpad7 = 40] = "Numpad7", u[u.Numpad8 = 41] = "Numpad8", u[u.Numpad9 = 42] = "Numpad9", u[u.Cancel = 43] = "Cancel", u[u.Clear = 44] = "Clear", u[u.Menu = 45] = "Menu", u[u.Pause = 46] = "Pause", u[u.Kana = 47] = "Kana", u[u.Hangul = 48] = "Hangul", u[u.Junja = 49] = "Junja", u[u.Final = 50] = "Final", u[u.Hanja = 51] = "Hanja", u[u.Kanji = 52] = "Kanji", u[u.Convert = 53] = "Convert", u[u.Select = 54] = "Select", u[u.Print = 55] = "Print", u[u.Execute = 56] = "Execute", u[u.Snapshot = 57] = "Snapshot", u[u.Insert = 58] = "Insert", u[u.Help = 59] = "Help", u[u.Sleep = 60] = "Sleep", u[u.Separator = 61] = "Separator", u[u.Scroll = 62] = "Scroll", u[u.NumLock = 63] = "NumLock", u[u.RWin = 64] = "RWin", u[u.Apps = 65] = "Apps", u[u.Multiply = 66] = "Multiply", u[u.Add = 67] = "Add", u[u.Subtract = 68] = "Subtract", u[u.Decimal = 69] = "Decimal", u[u.Divide = 70] = "Divide", u[u.Equals = 71] = "Equals", u[u.NumpadEnter = 72] = "NumpadEnter", u[u.RShift = 73] = "RShift", u[u.RControl = 74] = "RControl", u[u.RAlt = 75] = "RAlt", u[u.VolumeMute = 76] = "VolumeMute", u[u.VolumeUp = 77] = "VolumeUp", u[u.VolumeDown = 78] = "VolumeDown", u[u.Power = 79] = "Power", u[u.CtrlAltDel = 100] = "CtrlAltDel", u[u.LockScreen = 101] = "LockScreen", u[u.UNRECOGNIZED = -1] = "UNRECOGNIZED", u))(j || {});
function fe(u) {
switch (u) {
case 0:
case"Unknown":
return 0;
case 1:
case"Alt":
return 1;
case 2:
case"Backspace":
return 2;
case 3:
case"CapsLock":
return 3;
case 4:
case"Control":
return 4;
case 5:
case"Delete":
return 5;
case 6:
case"DownArrow":
return 6;
case 7:
case"End":
return 7;
case 8:
case"Escape":
return 8;
case 9:
case"F1":
return 9;
case 10:
case"F10":
return 10;
case 11:
case"F11":
return 11;
case 12:
case"F12":
return 12;
case 13:
case"F2":
return 13;
case 14:
case"F3":
return 14;
case 15:
case"F4":
return 15;
case 16:
case"F5":
return 16;
case 17:
case"F6":
return 17;
case 18:
case"F7":
return 18;
case 19:
case"F8":
return 19;
case 20:
case"F9":
return 20;
case 21:
case"Home":
return 21;
case 22:
case"LeftArrow":
return 22;
case 23:
case"Meta":
return 23;
case 24:
case"Option":
return 24;
case 25:
case"PageDown":
return 25;
case 26:
case"PageUp":
return 26;
case 27:
case"Return":
return 27;
case 28:
case"RightArrow":
return 28;
case 29:
case"Shift":
return 29;
case 30:
case"Space":
return 30;
case 31:
case"Tab":
return 31;
case 32:
case"UpArrow":
return 32;
case 33:
case"Numpad0":
return 33;
case 34:
case"Numpad1":
return 34;
case 35:
case"Numpad2":
return 35;
case 36:
case"Numpad3":
return 36;
case 37:
case"Numpad4":
return 37;
case 38:
case"Numpad5":
return 38;
case 39:
case"Numpad6":
return 39;
case 40:
case"Numpad7":
return 40;
case 41:
case"Numpad8":
return 41;
case 42:
case"Numpad9":
return 42;
case 43:
case"Cancel":
return 43;
case 44:
case"Clear":
return 44;
case 45:
case"Menu":
return 45;
case 46:
case"Pause":
return 46;
case 47:
case"Kana":
return 47;
case 48:
case"Hangul":
return 48;
case 49:
case"Junja":
return 49;
case 50:
case"Final":
return 50;
case 51:
case"Hanja":
return 51;
case 52:
case"Kanji":
return 52;
case 53:
case"Convert":
return 53;
case 54:
case"Select":
return 54;
case 55:
case"Print":
return 55;
case 56:
case"Execute":
return 56;
case 57:
case"Snapshot":
return 57;
case 58:
case"Insert":
return 58;
case 59:
case"Help":
return 59;
case 60:
case"Sleep":
return 60;
case 61:
case"Separator":
return 61;
case 62:
case"Scroll":
return 62;
case 63:
case"NumLock":
return 63;
case 64:
case"RWin":
return 64;
case 65:
case"Apps":
return 65;
case 66:
case"Multiply":
return 66;
case 67:
case"Add":
return 67;
case 68:
case"Subtract":
return 68;
case 69:
case"Decimal":
return 69;
case 70:
case"Divide":
return 70;
case 71:
case"Equals":
return 71;
case 72:
case"NumpadEnter":
return 72;
case 73:
case"RShift":
return 73;
case 74:
case"RControl":
return 74;
case 75:
case"RAlt":
return 75;
case 76:
case"VolumeMute":
return 76;
case 77:
case"VolumeUp":
return 77;
case 78:
case"VolumeDown":
return 78;
case 79:
case"Power":
return 79;
case 100:
case"CtrlAltDel":
return 100;
case 101:
case"LockScreen":
return 101;
case-1:
case"UNRECOGNIZED":
default:
return -1
}
}
function We(u) {
switch (u) {
case 0:
return "Unknown";
case 1:
return "Alt";
case 2:
return "Backspace";
case 3:
return "CapsLock";
case 4:
return "Control";
case 5:
return "Delete";
case 6:
return "DownArrow";
case 7:
return "End";
case 8:
return "Escape";
case 9:
return "F1";
case 10:
return "F10";
case 11:
return "F11";
case 12:
return "F12";
case 13:
return "F2";
case 14:
return "F3";
case 15:
return "F4";
case 16:
return "F5";
case 17:
return "F6";
case 18:
return "F7";
case 19:
return "F8";
case 20:
return "F9";
case 21:
return "Home";
case 22:
return "LeftArrow";
case 23:
return "Meta";
case 24:
return "Option";
case 25:
return "PageDown";
case 26:
return "PageUp";
case 27:
return "Return";
case 28:
return "RightArrow";
case 29:
return "Shift";
case 30:
return "Space";
case 31:
return "Tab";
case 32:
return "UpArrow";
case 33:
return "Numpad0";
case 34:
return "Numpad1";
case 35:
return "Numpad2";
case 36:
return "Numpad3";
case 37:
return "Numpad4";
case 38:
return "Numpad5";
case 39:
return "Numpad6";
case 40:
return "Numpad7";
case 41:
return "Numpad8";
case 42:
return "Numpad9";
case 43:
return "Cancel";
case 44:
return "Clear";
case 45:
return "Menu";
case 46:
return "Pause";
case 47:
return "Kana";
case 48:
return "Hangul";
case 49:
return "Junja";
case 50:
return "Final";
case 51:
return "Hanja";
case 52:
return "Kanji";
case 53:
return "Convert";
case 54:
return "Select";
case 55:
return "Print";
case 56:
return "Execute";
case 57:
return "Snapshot";
case 58:
return "Insert";
case 59:
return "Help";
case 60:
return "Sleep";
case 61:
return "Separator";
case 62:
return "Scroll";
case 63:
return "NumLock";
case 64:
return "RWin";
case 65:
return "Apps";
case 66:
return "Multiply";
case 67:
return "Add";
case 68:
return "Subtract";
case 69:
return "Decimal";
case 70:
return "Divide";
case 71:
return "Equals";
case 72:
return "NumpadEnter";
case 73:
return "RShift";
case 74:
return "RControl";
case 75:
return "RAlt";
case 76:
return "VolumeMute";
case 77:
return "VolumeUp";
case 78:
return "VolumeDown";
case 79:
return "Power";
case 100:
return "CtrlAltDel";
case 101:
return "LockScreen";
case-1:
default:
return "UNRECOGNIZED"
}
}
var Du = (u => (u[u.Text = 0] = "Text", u[u.Rtf = 1] = "Rtf", u[u.Html = 2] = "Html", u[u.ImageRgba = 21] = "ImageRgba", u[u.ImagePng = 22] = "ImagePng", u[u.ImageSvg = 23] = "ImageSvg", u[u.Special = 31] = "Special", u[u.UNRECOGNIZED = -1] = "UNRECOGNIZED", u))(Du || {});
function Sa(u) {
switch (u) {
case 0:
case"Text":
return 0;
case 1:
case"Rtf":
return 1;
case 2:
case"Html":
return 2;
case 21:
case"ImageRgba":
return 21;
case 22:
case"ImagePng":
return 22;
case 23:
case"ImageSvg":
return 23;
case 31:
case"Special":
return 31;
case-1:
case"UNRECOGNIZED":
default:
return -1
}
}
function za(u) {
switch (u) {
case 0:
return "Text";
case 1:
return "Rtf";
case 2:
return "Html";
case 21:
return "ImageRgba";
case 22:
return "ImagePng";
case 23:
return "ImageSvg";
case 31:
return "Special";
case-1:
default:
return "UNRECOGNIZED"
}
}
var ft = (u => (u[u.Dir = 0] = "Dir", u[u.DirLink = 2] = "DirLink", u[u.DirDrive = 3] = "DirDrive", u[u.File = 4] = "File", u[u.FileLink = 5] = "FileLink", u[u.UNRECOGNIZED = -1] = "UNRECOGNIZED", u))(ft || {});
function Pa(u) {
switch (u) {
case 0:
case"Dir":
return 0;
case 2:
case"DirLink":
return 2;
case 3:
case"DirDrive":
return 3;
case 4:
case"File":
return 4;
case 5:
case"FileLink":
return 5;
case-1:
case"UNRECOGNIZED":
default:
return -1
}
}
function Ra(u) {
switch (u) {
case 0:
return "Dir";
case 2:
return "DirLink";
case 3:
return "DirDrive";
case 4:
return "File";
case 5:
return "FileLink";
case-1:
default:
return "UNRECOGNIZED"
}
}
var Te = (u => (u[u.NotSet = 0] = "NotSet", u[u.Low = 2] = "Low", u[u.Balanced = 3] = "Balanced", u[u.Best = 4] = "Best", u[u.UNRECOGNIZED = -1] = "UNRECOGNIZED", u))(Te || {});
function Ia(u) {
switch (u) {
case 0:
case"NotSet":
return 0;
case 2:
case"Low":
return 2;
case 3:
case"Balanced":
return 3;
case 4:
case"Best":
return 4;
case-1:
case"UNRECOGNIZED":
default:
return -1
}
}
function Ta(u) {
switch (u) {
case 0:
return "NotSet";
case 2:
return "Low";
case 3:
return "Balanced";
case 4:
return "Best";
case-1:
default:
return "UNRECOGNIZED"
}
}
function ja(u) {
switch (u) {
case 0:
case"Generic":
return 0;
case 1:
case"Printer":
return 1;
case-1:
case"UNRECOGNIZED":
default:
return -1
}
}
function Na(u) {
switch (u) {
case 0:
return "Generic";
case 1:
return "Printer";
case-1:
default:
return "UNRECOGNIZED"
}
}
var a0 = (u => (u[u.Keyboard = 0] = "Keyboard", u[u.Clipboard = 2] = "Clipboard", u[u.Audio = 3] = "Audio", u[u.File = 4] = "File", u[u.Restart = 5] = "Restart", u[u.Recording = 6] = "Recording", u[u.BlockInput = 7] = "BlockInput", u[u.Camera = 8] = "Camera", u[u.UNRECOGNIZED = -1] = "UNRECOGNIZED", u))(a0 || {});
function Oa(u) {
switch (u) {
case 0:
case"Keyboard":
return 0;
case 2:
case"Clipboard":
return 2;
case 3:
case"Audio":
return 3;
case 4:
case"File":
return 4;
case 5:
case"Restart":
return 5;
case 6:
case"Recording":
return 6;
case 7:
case"BlockInput":
return 7;
case 8:
case"Camera":
return 8;
case-1:
case"UNRECOGNIZED":
default:
return -1
}
}
function Ua(u) {
switch (u) {
case 0:
return "Keyboard";
case 2:
return "Clipboard";
case 3:
return "Audio";
case 4:
return "File";
case 5:
return "Restart";
case 6:
return "Recording";
case 7:
return "BlockInput";
case 8:
return "Camera";
case-1:
default:
return "UNRECOGNIZED"
}
}
var mu = (u => (u[u.Auto = 0] = "Auto", u[u.VP9 = 1] = "VP9", u[u.H264 = 2] = "H264", u[u.H265 = 3] = "H265", u[u.VP8 = 4] = "VP8", u[u.AV1 = 5] = "AV1", u[u.UNRECOGNIZED = -1] = "UNRECOGNIZED", u))(mu || {});
function Ma(u) {
switch (u) {
case 0:
case"Auto":
return 0;
case 1:
case"VP9":
return 1;
case 2:
case"H264":
return 2;
case 3:
case"H265":
return 3;
case 4:
case"VP8":
return 4;
case 5:
case"AV1":
return 5;
case-1:
case"UNRECOGNIZED":
default:
return -1
}
}
function La(u) {
switch (u) {
case 0:
return "Auto";
case 1:
return "VP9";
case 2:
return "H264";
case 3:
return "H265";
case 4:
return "VP8";
case 5:
return "AV1";
case-1:
default:
return "UNRECOGNIZED"
}
}
var y = (u => (u[u.NotSet = 0] = "NotSet", u[u.No = 1] = "No", u[u.Yes = 2] = "Yes", u[u.UNRECOGNIZED = -1] = "UNRECOGNIZED", u))(y || {});
function X(u) {
switch (u) {
case 0:
case"NotSet":
return 0;
case 1:
case"No":
return 1;
case 2:
case"Yes":
return 2;
case-1:
case"UNRECOGNIZED":
default:
return -1
}
}
function Y(u) {
switch (u) {
case 0:
return "NotSet";
case 1:
return "No";
case 2:
return "Yes";
case-1:
default:
return "UNRECOGNIZED"
}
}
var ge = (u => (u[u.BlkStateUnknown = 0] = "BlkStateUnknown", u[u.BlkOnSucceeded = 2] = "BlkOnSucceeded", u[u.BlkOnFailed = 3] = "BlkOnFailed", u[u.BlkOffSucceeded = 4] = "BlkOffSucceeded", u[u.BlkOffFailed = 5] = "BlkOffFailed", u[u.UNRECOGNIZED = -1] = "UNRECOGNIZED", u))(ge || {});
function Wa(u) {
switch (u) {
case 0:
case"BlkStateUnknown":
return 0;
case 2:
case"BlkOnSucceeded":
return 2;
case 3:
case"BlkOnFailed":
return 3;
case 4:
case"BlkOffSucceeded":
return 4;
case 5:
case"BlkOffFailed":
return 5;
case-1:
case"UNRECOGNIZED":
default:
return -1
}
}
function Va(u) {
switch (u) {
case 0:
return "BlkStateUnknown";
case 2:
return "BlkOnSucceeded";
case 3:
return "BlkOnFailed";
case 4:
return "BlkOffSucceeded";
case 5:
return "BlkOffFailed";
case-1:
default:
return "UNRECOGNIZED"
}
}
var nu = (u => (u[u.PrvStateUnknown = 0] = "PrvStateUnknown", u[u.PrvOnByOther = 2] = "PrvOnByOther", u[u.PrvNotSupported = 3] = "PrvNotSupported", u[u.PrvOnSucceeded = 4] = "PrvOnSucceeded", u[u.PrvOnFailedDenied = 5] = "PrvOnFailedDenied", u[u.PrvOnFailedPlugin = 6] = "PrvOnFailedPlugin", u[u.PrvOnFailed = 7] = "PrvOnFailed", u[u.PrvOffSucceeded = 8] = "PrvOffSucceeded", u[u.PrvOffByPeer = 9] = "PrvOffByPeer", u[u.PrvOffFailed = 10] = "PrvOffFailed", u[u.PrvOffUnknown = 11] = "PrvOffUnknown", u[u.UNRECOGNIZED = -1] = "UNRECOGNIZED", u))(nu || {});
function qa(u) {
switch (u) {
case 0:
case"PrvStateUnknown":
return 0;
case 2:
case"PrvOnByOther":
return 2;
case 3:
case"PrvNotSupported":
return 3;
case 4:
case"PrvOnSucceeded":
return 4;
case 5:
case"PrvOnFailedDenied":
return 5;
case 6:
case"PrvOnFailedPlugin":
return 6;
case 7:
case"PrvOnFailed":
return 7;
case 8:
case"PrvOffSucceeded":
return 8;
case 9:
case"PrvOffByPeer":
return 9;
case 10:
case"PrvOffFailed":
return 10;
case 11:
case"PrvOffUnknown":
return 11;
case-1:
case"UNRECOGNIZED":
default:
return -1
}
}
function Ka(u) {
switch (u) {
case 0:
return "PrvStateUnknown";
case 2:
return "PrvOnByOther";
case 3:
return "PrvNotSupported";
case 4:
return "PrvOnSucceeded";
case 5:
return "PrvOnFailedDenied";
case 6:
return "PrvOnFailedPlugin";
case 7:
return "PrvOnFailed";
case 8:
return "PrvOffSucceeded";
case 9:
return "PrvOffByPeer";
case 10:
return "PrvOffFailed";
case 11:
return "PrvOffUnknown";
case-1:
default:
return "UNRECOGNIZED"
}
}
function J4() {
return {data: new Uint8Array(0), key: !1, pts: 0}
}
const n0 = {
encode(u, e = r.Writer.create()) {
return u.data.length !== 0 && e.uint32(10).bytes(u.data), u.key !== !1 && e.uint32(16).bool(u.key), u.pts !== 0 && e.uint32(24).int64(u.pts), e
}, decode(u, e) {
const i = u instanceof r.Reader ? u : r.Reader.create(u);
let n = e === void 0 ? i.len : i.pos + e;
const a = J4();
for (; i.pos < n;) {
const t = i.uint32();
switch (t >>> 3) {
case 1:
if (t !== 10) break;
a.data = i.bytes();
continue;
case 2:
if (t !== 16) break;
a.key = i.bool();
continue;
case 3:
if (t !== 24) break;
a.pts = q(i.int64());
continue
}
if ((t & 7) === 4 || t === 0) break;
i.skipType(t & 7)
}
return a
}, fromJSON(u) {
return {
data: o(u.data) ? z(u.data) : new Uint8Array(0),
key: o(u.key) ? globalThis.Boolean(u.key) : !1,
pts: o(u.pts) ? globalThis.Number(u.pts) : 0
}
}, toJSON(u) {
const e = {};
return u.data.length !== 0 && (e.data = P(u.data)), u.key !== !1 && (e.key = u.key), u.pts !== 0 && (e.pts = Math.round(u.pts)), e
}, create(u) {
return n0.fromPartial(u != null ? u : {})
}, fromPartial(u) {
var i, n, a;
const e = J4();
return e.data = (i = u.data) != null ? i : new Uint8Array(0), e.key = (n = u.key) != null ? n : !1, e.pts = (a = u.pts) != null ? a : 0, e
}
};
function G4() {
return {frames: []}
}
const g = {
encode(u, e = r.Writer.create()) {
for (const i of u.frames) n0.encode(i, e.uint32(10).fork()).ldelim();
return e
}, decode(u, e) {
const i = u instanceof r.Reader ? u : r.Reader.create(u);
let n = e === void 0 ? i.len : i.pos + e;
const a = G4();
for (; i.pos < n;) {
const t = i.uint32();
switch (t >>> 3) {
case 1:
if (t !== 10) break;
a.frames.push(n0.decode(i, i.uint32()));
continue
}
if ((t & 7) === 4 || t === 0) break;
i.skipType(t & 7)
}
return a
}, fromJSON(u) {
return {frames: globalThis.Array.isArray(u == null ? void 0 : u.frames) ? u.frames.map(e => n0.fromJSON(e)) : []}
}, toJSON(u) {
var i;
const e = {};
return (i = u.frames) != null && i.length && (e.frames = u.frames.map(n => n0.toJSON(n))), e
}, create(u) {
return g.fromPartial(u != null ? u : {})
}, fromPartial(u) {
var i;
const e = G4();
return e.frames = ((i = u.frames) == null ? void 0 : i.map(n => n0.fromPartial(n))) || [], e
}
};
function Z4() {
return {compress: !1}
}
const o0 = {
encode(u, e = r.Writer.create()) {
return u.compress !== !1 && e.uint32(8).bool(u.compress), e
}, decode(u, e) {
const i = u instanceof r.Reader ? u : r.Reader.create(u);
let n = e === void 0 ? i.len : i.pos + e;
const a = Z4();
for (; i.pos < n;) {
const t = i.uint32();
switch (t >>> 3) {
case 1:
if (t !== 8) break;
a.compress = i.bool();
continue
}
if ((t & 7) === 4 || t === 0) break;
i.skipType(t & 7)
}
return a
}, fromJSON(u) {
return {compress: o(u.compress) ? globalThis.Boolean(u.compress) : !1}
}, toJSON(u) {
const e = {};
return u.compress !== !1 && (e.compress = u.compress), e
}, create(u) {
return o0.fromPartial(u != null ? u : {})
}, fromPartial(u) {
var i;
const e = Z4();
return e.compress = (i = u.compress) != null ? i : !1, e
}
};
function Q4() {
return {compress: !1, stride: 0}
}
const r0 = {
encode(u, e = r.Writer.create()) {
return u.compress !== !1 && e.uint32(8).bool(u.compress), u.stride !== 0 && e.uint32(16).int32(u.stride), e
}, decode(u, e) {
const i = u instanceof r.Reader ? u : r.Reader.create(u);
let n = e === void 0 ? i.len : i.pos + e;
const a = Q4();
for (; i.pos < n;) {
const t = i.uint32();
switch (t >>> 3) {
case 1:
if (t !== 8) break;
a.compress = i.bool();
continue;
case 2:
if (t !== 16) break;
a.stride = i.int32();
continue
}
if ((t & 7) === 4 || t === 0) break;
i.skipType(t & 7)
}
return a
}, fromJSON(u) {
return {
compress: o(u.compress) ? globalThis.Boolean(u.compress) : !1,
stride: o(u.stride) ? globalThis.Number(u.stride) : 0
}
}, toJSON(u) {
const e = {};
return u.compress !== !1 && (e.compress = u.compress), u.stride !== 0 && (e.stride = Math.round(u.stride)), e
}, create(u) {
return r0.fromPartial(u != null ? u : {})
}, fromPartial(u) {
var i, n;
const e = Q4();
return e.compress = (i = u.compress) != null ? i : !1, e.stride = (n = u.stride) != null ? n : 0, e
}
};
function X4() {
return {
vp9s: void 0,
rgb: void 0,
yuv: void 0,
h264s: void 0,
h265s: void 0,
vp8s: void 0,
av1s: void 0,
display: 0
}
}
const s0 = {
encode(u, e = r.Writer.create()) {
return u.vp9s !== void 0 && g.encode(u.vp9s, e.uint32(50).fork()).ldelim(), u.rgb !== void 0 && o0.encode(u.rgb, e.uint32(58).fork()).ldelim(), u.yuv !== void 0 && r0.encode(u.yuv, e.uint32(66).fork()).ldelim(), u.h264s !== void 0 && g.encode(u.h264s, e.uint32(82).fork()).ldelim(), u.h265s !== void 0 && g.encode(u.h265s, e.uint32(90).fork()).ldelim(), u.vp8s !== void 0 && g.encode(u.vp8s, e.uint32(98).fork()).ldelim(), u.av1s !== void 0 && g.encode(u.av1s, e.uint32(106).fork()).ldelim(), u.display !== 0 && e.uint32(112).int32(u.display), e
}, decode(u, e) {
const i = u instanceof r.Reader ? u : r.Reader.create(u);
let n = e === void 0 ? i.len : i.pos + e;
const a = X4();
for (; i.pos < n;) {
const t = i.uint32();
switch (t >>> 3) {
case 6:
if (t !== 50) break;
a.vp9s = g.decode(i, i.uint32());
continue;
case 7:
if (t !== 58) break;
a.rgb = o0.decode(i, i.uint32());
continue;
case 8:
if (t !== 66) break;
a.yuv = r0.decode(i, i.uint32());
continue;
case 10:
if (t !== 82) break;
a.h264s = g.decode(i, i.uint32());
continue;
case 11:
if (t !== 90) break;
a.h265s = g.decode(i, i.uint32());
continue;
case 12:
if (t !== 98) break;
a.vp8s = g.decode(i, i.uint32());
continue;
case 13:
if (t !== 106) break;
a.av1s = g.decode(i, i.uint32());
continue;
case 14:
if (t !== 112) break;
a.display = i.int32();
continue
}
if ((t & 7) === 4 || t === 0) break;
i.skipType(t & 7)
}
return a
}, fromJSON(u) {
return {
vp9s: o(u.vp9s) ? g.fromJSON(u.vp9s) : void 0,
rgb: o(u.rgb) ? o0.fromJSON(u.rgb) : void 0,
yuv: o(u.yuv) ? r0.fromJSON(u.yuv) : void 0,
h264s: o(u.h264s) ? g.fromJSON(u.h264s) : void 0,
h265s: o(u.h265s) ? g.fromJSON(u.h265s) : void 0,
vp8s: o(u.vp8s) ? g.fromJSON(u.vp8s) : void 0,
av1s: o(u.av1s) ? g.fromJSON(u.av1s) : void 0,
display: o(u.display) ? globalThis.Number(u.display) : 0
}
}, toJSON(u) {
const e = {};
return u.vp9s !== void 0 && (e.vp9s = g.toJSON(u.vp9s)), u.rgb !== void 0 && (e.rgb = o0.toJSON(u.rgb)), u.yuv !== void 0 && (e.yuv = r0.toJSON(u.yuv)), u.h264s !== void 0 && (e.h264s = g.toJSON(u.h264s)), u.h265s !== void 0 && (e.h265s = g.toJSON(u.h265s)), u.vp8s !== void 0 && (e.vp8s = g.toJSON(u.vp8s)), u.av1s !== void 0 && (e.av1s = g.toJSON(u.av1s)), u.display !== 0 && (e.display = Math.round(u.display)), e
}, create(u) {
return s0.fromPartial(u != null ? u : {})
}, fromPartial(u) {
var i;
const e = X4();
return e.vp9s = u.vp9s !== void 0 && u.vp9s !== null ? g.fromPartial(u.vp9s) : void 0, e.rgb = u.rgb !== void 0 && u.rgb !== null ? o0.fromPartial(u.rgb) : void 0, e.yuv = u.yuv !== void 0 && u.yuv !== null ? r0.fromPartial(u.yuv) : void 0, e.h264s = u.h264s !== void 0 && u.h264s !== null ? g.fromPartial(u.h264s) : void 0, e.h265s = u.h265s !== void 0 && u.h265s !== null ? g.fromPartial(u.h265s) : void 0, e.vp8s = u.vp8s !== void 0 && u.vp8s !== null ? g.fromPartial(u.vp8s) : void 0, e.av1s = u.av1s !== void 0 && u.av1s !== null ? g.fromPartial(u.av1s) : void 0, e.display = (i = u.display) != null ? i : 0, e
}
};
function Y4() {
return {id: "", pk: new Uint8Array(0)}
}
const D4 = {
encode(u, e = r.Writer.create()) {
return u.id !== "" && e.uint32(10).string(u.id), u.pk.length !== 0 && e.uint32(18).bytes(u.pk), e
}, decode(u, e) {
const i = u instanceof r.Reader ? u : r.Reader.create(u);
let n = e === void 0 ? i.len : i.pos + e;
const a = Y4();
for (; i.pos < n;) {
const t = i.uint32();
switch (t >>> 3) {
case 1:
if (t !== 10) break;
a.id = i.string();
continue;
case 2:
if (t !== 18) break;
a.pk = i.bytes();
continue
}
if ((t & 7) === 4 || t === 0) break;
i.skipType(t & 7)
}
return a
}, fromJSON(u) {
return {id: o(u.id) ? globalThis.String(u.id) : "", pk: o(u.pk) ? z(u.pk) : new Uint8Array(0)}
}, toJSON(u) {
const e = {};
return u.id !== "" && (e.id = u.id), u.pk.length !== 0 && (e.pk = P(u.pk)), e
}, create(u) {
return D4.fromPartial(u != null ? u : {})
}, fromPartial(u) {
var i, n;
const e = Y4();
return e.id = (i = u.id) != null ? i : "", e.pk = (n = u.pk) != null ? n : new Uint8Array(0), e
}
};
function $4() {
return {
x: 0,
y: 0,
width: 0,
height: 0,
name: "",
online: !1,
cursor_embedded: !1,
original_resolution: void 0,
scale: 0
}
}
const E0 = {
encode(u, e = r.Writer.create()) {
return u.x !== 0 && e.uint32(8).sint32(u.x), u.y !== 0 && e.uint32(16).sint32(u.y), u.width !== 0 && e.uint32(24).int32(u.width), u.height !== 0 && e.uint32(32).int32(u.height), u.name !== "" && e.uint32(42).string(u.name), u.online !== !1 && e.uint32(48).bool(u.online), u.cursor_embedded !== !1 && e.uint32(56).bool(u.cursor_embedded), u.original_resolution !== void 0 && v.encode(u.original_resolution, e.uint32(66).fork()).ldelim(), u.scale !== 0 && e.uint32(73).double(u.scale), e
}, decode(u, e) {
const i = u instanceof r.Reader ? u : r.Reader.create(u);
let n = e === void 0 ? i.len : i.pos + e;
const a = $4();
for (; i.pos < n;) {
const t = i.uint32();
switch (t >>> 3) {
case 1:
if (t !== 8) break;
a.x = i.sint32();
continue;
case 2:
if (t !== 16) break;
a.y = i.sint32();
continue;
case 3:
if (t !== 24) break;
a.width = i.int32();
continue;
case 4:
if (t !== 32) break;
a.height = i.int32();
continue;
case 5:
if (t !== 42) break;
a.name = i.string();
continue;
case 6:
if (t !== 48) break;
a.online = i.bool();
continue;
case 7:
if (t !== 56) break;
a.cursor_embedded = i.bool();
continue;
case 8:
if (t !== 66) break;
a.original_resolution = v.decode(i, i.uint32());
continue;
case 9:
if (t !== 73) break;
a.scale = i.double();
continue
}
if ((t & 7) === 4 || t === 0) break;
i.skipType(t & 7)
}
return a
}, fromJSON(u) {
return {
x: o(u.x) ? globalThis.Number(u.x) : 0,
y: o(u.y) ? globalThis.Number(u.y) : 0,
width: o(u.width) ? globalThis.Number(u.width) : 0,
height: o(u.height) ? globalThis.Number(u.height) : 0,
name: o(u.name) ? globalThis.String(u.name) : "",
online: o(u.online) ? globalThis.Boolean(u.online) : !1,
cursor_embedded: o(u.cursor_embedded) ? globalThis.Boolean(u.cursor_embedded) : !1,
original_resolution: o(u.original_resolution) ? v.fromJSON(u.original_resolution) : void 0,
scale: o(u.scale) ? globalThis.Number(u.scale) : 0
}
}, toJSON(u) {
const e = {};
return u.x !== 0 && (e.x = Math.round(u.x)), u.y !== 0 && (e.y = Math.round(u.y)), u.width !== 0 && (e.width = Math.round(u.width)), u.height !== 0 && (e.height = Math.round(u.height)), u.name !== "" && (e.name = u.name), u.online !== !1 && (e.online = u.online), u.cursor_embedded !== !1 && (e.cursor_embedded = u.cursor_embedded), u.original_resolution !== void 0 && (e.original_resolution = v.toJSON(u.original_resolution)), u.scale !== 0 && (e.scale = u.scale), e
}, create(u) {
return E0.fromPartial(u != null ? u : {})
}, fromPartial(u) {
var i, n, a, t, s, E, l, d;
const e = $4();
return e.x = (i = u.x) != null ? i : 0, e.y = (n = u.y) != null ? n : 0, e.width = (a = u.width) != null ? a : 0, e.height = (t = u.height) != null ? t : 0, e.name = (s = u.name) != null ? s : "", e.online = (E = u.online) != null ? E : !1, e.cursor_embedded = (l = u.cursor_embedded) != null ? l : !1, e.original_resolution = u.original_resolution !== void 0 && u.original_resolution !== null ? v.fromPartial(u.original_resolution) : void 0, e.scale = (d = u.scale) != null ? d : 0, e
}
};
function u3() {
return {host: "", port: 0}
}
const l0 = {
encode(u, e = r.Writer.create()) {
return u.host !== "" && e.uint32(10).string(u.host), u.port !== 0 && e.uint32(16).int32(u.port), e
}, decode(u, e) {
const i = u instanceof r.Reader ? u : r.Reader.create(u);
let n = e === void 0 ? i.len : i.pos + e;
const a = u3();
for (; i.pos < n;) {
const t = i.uint32();
switch (t >>> 3) {
case 1:
if (t !== 10) break;
a.host = i.string();
continue;
case 2:
if (t !== 16) break;
a.port = i.int32();
continue
}
if ((t & 7) === 4 || t === 0) break;
i.skipType(t & 7)
}
return a
}, fromJSON(u) {
return {host: o(u.host) ? globalThis.String(u.host) : "", port: o(u.port) ? globalThis.Number(u.port) : 0}
}, toJSON(u) {
const e = {};
return u.host !== "" && (e.host = u.host), u.port !== 0 && (e.port = Math.round(u.port)), e
}, create(u) {
return l0.fromPartial(u != null ? u : {})
}, fromPartial(u) {
var i, n;
const e = u3();
return e.host = (i = u.host) != null ? i : "", e.port = (n = u.port) != null ? n : 0, e
}
};
function e3() {
return {dir: "", show_hidden: !1}
}
const Fu = {
encode(u, e = r.Writer.create()) {
return u.dir !== "" && e.uint32(10).string(u.dir), u.show_hidden !== !1 && e.uint32(16).bool(u.show_hidden), e
}, decode(u, e) {
const i = u instanceof r.Reader ? u : r.Reader.create(u);
let n = e === void 0 ? i.len : i.pos + e;
const a = e3();
for (; i.pos < n;) {
const t = i.uint32();
switch (t >>> 3) {
case 1:
if (t !== 10) break;
a.dir = i.string();
continue;
case 2:
if (t !== 16) break;
a.show_hidden = i.bool();
continue
}
if ((t & 7) === 4 || t === 0) break;
i.skipType(t & 7)
}
return a
}, fromJSON(u) {
return {
dir: o(u.dir) ? globalThis.String(u.dir) : "",
show_hidden: o(u.show_hidden) ? globalThis.Boolean(u.show_hidden) : !1
}
}, toJSON(u) {
const e = {};
return u.dir !== "" && (e.dir = u.dir), u.show_hidden !== !1 && (e.show_hidden = u.show_hidden), e
}, create(u) {
return Fu.fromPartial(u != null ? u : {})
}, fromPartial(u) {
var i, n;
const e = e3();
return e.dir = (i = u.dir) != null ? i : "", e.show_hidden = (n = u.show_hidden) != null ? n : !1, e
}
};
function i3() {
return {}
}
const _u = {
encode(u, e = r.Writer.create()) {
return e
}, decode(u, e) {
const i = u instanceof r.Reader ? u : r.Reader.create(u);
let n = e === void 0 ? i.len : i.pos + e;
const a = i3();
for (; i.pos < n;) {
const t = i.uint32();
if ((t & 7) === 4 || t === 0) break;
i.skipType(t & 7)
}
return a
}, fromJSON(u) {
return {}
}, toJSON(u) {
return {}
}, create(u) {
return _u.fromPartial(u != null ? u : {})
}, fromPartial(u) {
return i3()
}
};
function t3() {
return {username: "", password: ""}
}
const D0 = {
encode(u, e = r.Writer.create()) {
return u.username !== "" && e.uint32(10).string(u.username), u.password !== "" && e.uint32(18).string(u.password), e
}, decode(u, e) {
const i = u instanceof r.Reader ? u : r.Reader.create(u);
let n = e === void 0 ? i.len : i.pos + e;
const a = t3();
for (; i.pos < n;) {
const t = i.uint32();
switch (t >>> 3) {
case 1:
if (t !== 10) break;
a.username = i.string();
continue;
case 2:
if (t !== 18) break;
a.password = i.string();
continue
}
if ((t & 7) === 4 || t === 0) break;
i.skipType(t & 7)
}
return a
}, fromJSON(u) {
return {
username: o(u.username) ? globalThis.String(u.username) : "",
password: o(u.password) ? globalThis.String(u.password) : ""
}
}, toJSON(u) {
const e = {};
return u.username !== "" && (e.username = u.username), u.password !== "" && (e.password = u.password), e
}, create(u) {
return D0.fromPartial(u != null ? u : {})
}, fromPartial(u) {
var i, n;
const e = t3();
return e.username = (i = u.username) != null ? i : "", e.password = (n = u.password) != null ? n : "", e
}
};
function a3() {
return {
username: "",
password: new Uint8Array(0),
my_id: "",
my_name: "",
option: void 0,
file_transfer: void 0,
port_forward: void 0,
view_camera: void 0,
video_ack_required: !1,
session_id: 0,
version: "",
os_login: void 0,
my_platform: "",
hwid: new Uint8Array(0)
}
}
const J = {
encode(u, e = r.Writer.create()) {
return u.username !== "" && e.uint32(10).string(u.username), u.password.length !== 0 && e.uint32(18).bytes(u.password), u.my_id !== "" && e.uint32(34).string(u.my_id), u.my_name !== "" && e.uint32(42).string(u.my_name), u.option !== void 0 && R.encode(u.option, e.uint32(50).fork()).ldelim(), u.file_transfer !== void 0 && Fu.encode(u.file_transfer, e.uint32(58).fork()).ldelim(), u.port_forward !== void 0 && l0.encode(u.port_forward, e.uint32(66).fork()).ldelim(), u.view_camera !== void 0 && _u.encode(u.view_camera, e.uint32(122).fork()).ldelim(), u.video_ack_required !== !1 && e.uint32(72).bool(u.video_ack_required), u.session_id !== 0 && e.uint32(80).uint64(u.session_id), u.version !== "" && e.uint32(90).string(u.version), u.os_login !== void 0 && D0.encode(u.os_login, e.uint32(98).fork()).ldelim(), u.my_platform !== "" && e.uint32(106).string(u.my_platform), u.hwid.length !== 0 && e.uint32(114).bytes(u.hwid), e
}, decode(u, e) {
const i = u instanceof r.Reader ? u : r.Reader.create(u);
let n = e === void 0 ? i.len : i.pos + e;
const a = a3();
for (; i.pos < n;) {
const t = i.uint32();
switch (t >>> 3) {
case 1:
if (t !== 10) break;
a.username = i.string();
continue;
case 2:
if (t !== 18) break;
a.password = i.bytes();
continue;
case 4:
if (t !== 34) break;
a.my_id = i.string();
continue;
case 5:
if (t !== 42) break;
a.my_name = i.string();
continue;
case 6:
if (t !== 50) break;
a.option = R.decode(i, i.uint32());
continue;
case 7:
if (t !== 58) break;
a.file_transfer = Fu.decode(i, i.uint32());
continue;
case 8:
if (t !== 66) break;
a.port_forward = l0.decode(i, i.uint32());
continue;
case 15:
if (t !== 122) break;
a.view_camera = _u.decode(i, i.uint32());
continue;
case 9:
if (t !== 72) break;
a.video_ack_required = i.bool();
continue;
case 10:
if (t !== 80) break;
a.session_id = q(i.uint64());
continue;
case 11:
if (t !== 90) break;
a.version = i.string();
continue;
case 12:
if (t !== 98) break;
a.os_login = D0.decode(i, i.uint32());
continue;
case 13:
if (t !== 106) break;
a.my_platform = i.string();
continue;
case 14:
if (t !== 114) break;
a.hwid = i.bytes();
continue
}
if ((t & 7) === 4 || t === 0) break;
i.skipType(t & 7)
}
return a
}, fromJSON(u) {
return {
username: o(u.username) ? globalThis.String(u.username) : "",
password: o(u.password) ? z(u.password) : new Uint8Array(0),
my_id: o(u.my_id) ? globalThis.String(u.my_id) : "",
my_name: o(u.my_name) ? globalThis.String(u.my_name) : "",
option: o(u.option) ? R.fromJSON(u.option) : void 0,
file_transfer: o(u.file_transfer) ? Fu.fromJSON(u.file_transfer) : void 0,
port_forward: o(u.port_forward) ? l0.fromJSON(u.port_forward) : void 0,
view_camera: o(u.view_camera) ? _u.fromJSON(u.view_camera) : void 0,
video_ack_required: o(u.video_ack_required) ? globalThis.Boolean(u.video_ack_required) : !1,
session_id: o(u.session_id) ? globalThis.Number(u.session_id) : 0,
version: o(u.version) ? globalThis.String(u.version) : "",
os_login: o(u.os_login) ? D0.fromJSON(u.os_login) : void 0,
my_platform: o(u.my_platform) ? globalThis.String(u.my_platform) : "",
hwid: o(u.hwid) ? z(u.hwid) : new Uint8Array(0)
}
}, toJSON(u) {
const e = {};
return u.username !== "" && (e.username = u.username), u.password.length !== 0 && (e.password = P(u.password)), u.my_id !== "" && (e.my_id = u.my_id), u.my_name !== "" && (e.my_name = u.my_name), u.option !== void 0 && (e.option = R.toJSON(u.option)), u.file_transfer !== void 0 && (e.file_transfer = Fu.toJSON(u.file_transfer)), u.port_forward !== void 0 && (e.port_forward = l0.toJSON(u.port_forward)), u.view_camera !== void 0 && (e.view_camera = _u.toJSON(u.view_camera)), u.video_ack_required !== !1 && (e.video_ack_required = u.video_ack_required), u.session_id !== 0 && (e.session_id = Math.round(u.session_id)), u.version !== "" && (e.version = u.version), u.os_login !== void 0 && (e.os_login = D0.toJSON(u.os_login)), u.my_platform !== "" && (e.my_platform = u.my_platform), u.hwid.length !== 0 && (e.hwid = P(u.hwid)), e
}, create(u) {
return J.fromPartial(u != null ? u : {})
}, fromPartial(u) {
var i, n, a, t, s, E, l, d, c;
const e = a3();
return e.username = (i = u.username) != null ? i : "", e.password = (n = u.password) != null ? n : new Uint8Array(0), e.my_id = (a = u.my_id) != null ? a : "", e.my_name = (t = u.my_name) != null ? t : "", e.option = u.option !== void 0 && u.option !== null ? R.fromPartial(u.option) : void 0, e.file_transfer = u.file_transfer !== void 0 && u.file_transfer !== null ? Fu.fromPartial(u.file_transfer) : void 0, e.port_forward = u.port_forward !== void 0 && u.port_forward !== null ? l0.fromPartial(u.port_forward) : void 0, e.view_camera = u.view_camera !== void 0 && u.view_camera !== null ? _u.fromPartial(u.view_camera) : void 0, e.video_ack_required = (s = u.video_ack_required) != null ? s : !1, e.session_id = (E = u.session_id) != null ? E : 0, e.version = (l = u.version) != null ? l : "", e.os_login = u.os_login !== void 0 && u.os_login !== null ? D0.fromPartial(u.os_login) : void 0, e.my_platform = (d = u.my_platform) != null ? d : "", e.hwid = (c = u.hwid) != null ? c : new Uint8Array(0), e
}
};
function n3() {
return {code: "", hwid: new Uint8Array(0)}
}
const vu = {
encode(u, e = r.Writer.create()) {
return u.code !== "" && e.uint32(10).string(u.code), u.hwid.length !== 0 && e.uint32(18).bytes(u.hwid), e
}, decode(u, e) {
const i = u instanceof r.Reader ? u : r.Reader.create(u);
let n = e === void 0 ? i.len : i.pos + e;
const a = n3();
for (; i.pos < n;) {
const t = i.uint32();
switch (t >>> 3) {
case 1:
if (t !== 10) break;
a.code = i.string();
continue;
case 2:
if (t !== 18) break;
a.hwid = i.bytes();
continue
}
if ((t & 7) === 4 || t === 0) break;
i.skipType(t & 7)
}
return a
}, fromJSON(u) {
return {code: o(u.code) ? globalThis.String(u.code) : "", hwid: o(u.hwid) ? z(u.hwid) : new Uint8Array(0)}
}, toJSON(u) {
const e = {};
return u.code !== "" && (e.code = u.code), u.hwid.length !== 0 && (e.hwid = P(u.hwid)), e
}, create(u) {
return vu.fromPartial(u != null ? u : {})
}, fromPartial(u) {
var i, n;
const e = n3();
return e.code = (i = u.code) != null ? i : "", e.hwid = (n = u.hwid) != null ? n : new Uint8Array(0), e
}
};
function o3() {
return {text: ""}
}
const gu = {
encode(u, e = r.Writer.create()) {
return u.text !== "" && e.uint32(10).string(u.text), e
}, decode(u, e) {
const i = u instanceof r.Reader ? u : r.Reader.create(u);
let n = e === void 0 ? i.len : i.pos + e;
const a = o3();
for (; i.pos < n;) {
const t = i.uint32();
switch (t >>> 3) {
case 1:
if (t !== 10) break;
a.text = i.string();
continue
}
if ((t & 7) === 4 || t === 0) break;
i.skipType(t & 7)
}
return a
}, fromJSON(u) {
return {text: o(u.text) ? globalThis.String(u.text) : ""}
}, toJSON(u) {
const e = {};
return u.text !== "" && (e.text = u.text), e
}, create(u) {
return gu.fromPartial(u != null ? u : {})
}, fromPartial(u) {
var i;
const e = o3();
return e.text = (i = u.text) != null ? i : "", e
}
};
function r3() {
return {privacy_mode: !1}
}
const d0 = {
encode(u, e = r.Writer.create()) {
return u.privacy_mode !== !1 && e.uint32(8).bool(u.privacy_mode), e
}, decode(u, e) {
const i = u instanceof r.Reader ? u : r.Reader.create(u);
let n = e === void 0 ? i.len : i.pos + e;
const a = r3();
for (; i.pos < n;) {
const t = i.uint32();
switch (t >>> 3) {
case 1:
if (t !== 8) break;
a.privacy_mode = i.bool();
continue
}
if ((t & 7) === 4 || t === 0) break;
i.skipType(t & 7)
}
return a
}, fromJSON(u) {
return {privacy_mode: o(u.privacy_mode) ? globalThis.Boolean(u.privacy_mode) : !1}
}, toJSON(u) {
const e = {};
return u.privacy_mode !== !1 && (e.privacy_mode = u.privacy_mode), e
}, create(u) {
return d0.fromPartial(u != null ? u : {})
}, fromPartial(u) {
var i;
const e = r3();
return e.privacy_mode = (i = u.privacy_mode) != null ? i : !1, e
}
};
function s3() {
return {vp8: !1, vp9: !1, av1: !1, h264: !1, h265: !1}
}
const G = {
encode(u, e = r.Writer.create()) {
return u.vp8 !== !1 && e.uint32(8).bool(u.vp8), u.vp9 !== !1 && e.uint32(16).bool(u.vp9), u.av1 !== !1 && e.uint32(24).bool(u.av1), u.h264 !== !1 && e.uint32(32).bool(u.h264), u.h265 !== !1 && e.uint32(40).bool(u.h265), e
}, decode(u, e) {
const i = u instanceof r.Reader ? u : r.Reader.create(u);
let n = e === void 0 ? i.len : i.pos + e;
const a = s3();
for (; i.pos < n;) {
const t = i.uint32();
switch (t >>> 3) {
case 1:
if (t !== 8) break;
a.vp8 = i.bool();
continue;
case 2:
if (t !== 16) break;
a.vp9 = i.bool();
continue;
case 3:
if (t !== 24) break;
a.av1 = i.bool();
continue;
case 4:
if (t !== 32) break;
a.h264 = i.bool();
continue;
case 5:
if (t !== 40) break;
a.h265 = i.bool();
continue
}
if ((t & 7) === 4 || t === 0) break;
i.skipType(t & 7)
}
return a
}, fromJSON(u) {
return {
vp8: o(u.vp8) ? globalThis.Boolean(u.vp8) : !1,
vp9: o(u.vp9) ? globalThis.Boolean(u.vp9) : !1,
av1: o(u.av1) ? globalThis.Boolean(u.av1) : !1,
h264: o(u.h264) ? globalThis.Boolean(u.h264) : !1,
h265: o(u.h265) ? globalThis.Boolean(u.h265) : !1
}
}, toJSON(u) {
const e = {};
return u.vp8 !== !1 && (e.vp8 = u.vp8), u.vp9 !== !1 && (e.vp9 = u.vp9), u.av1 !== !1 && (e.av1 = u.av1), u.h264 !== !1 && (e.h264 = u.h264), u.h265 !== !1 && (e.h265 = u.h265), e
}, create(u) {
return G.fromPartial(u != null ? u : {})
}, fromPartial(u) {
var i, n, a, t, s;
const e = s3();
return e.vp8 = (i = u.vp8) != null ? i : !1, e.vp9 = (n = u.vp9) != null ? n : !1, e.av1 = (a = u.av1) != null ? a : !1, e.h264 = (t = u.h264) != null ? t : !1, e.h265 = (s = u.h265) != null ? s : !1, e
}
};
function E3() {
return {h264: !1, h265: !1, vp8: !1, av1: !1, i444: void 0}
}
const Z = {
encode(u, e = r.Writer.create()) {
return u.h264 !== !1 && e.uint32(8).bool(u.h264), u.h265 !== !1 && e.uint32(16).bool(u.h265), u.vp8 !== !1 && e.uint32(24).bool(u.vp8), u.av1 !== !1 && e.uint32(32).bool(u.av1), u.i444 !== void 0 && G.encode(u.i444, e.uint32(42).fork()).ldelim(), e
}, decode(u, e) {
const i = u instanceof r.Reader ? u : r.Reader.create(u);
let n = e === void 0 ? i.len : i.pos + e;
const a = E3();
for (; i.pos < n;) {
const t = i.uint32();
switch (t >>> 3) {
case 1:
if (t !== 8) break;
a.h264 = i.bool();
continue;
case 2:
if (t !== 16) break;
a.h265 = i.bool();
continue;
case 3:
if (t !== 24) break;
a.vp8 = i.bool();
continue;
case 4:
if (t !== 32) break;
a.av1 = i.bool();
continue;
case 5:
if (t !== 42) break;
a.i444 = G.decode(i, i.uint32());
continue
}
if ((t & 7) === 4 || t === 0) break;
i.skipType(t & 7)
}
return a
}, fromJSON(u) {
return {
h264: o(u.h264) ? globalThis.Boolean(u.h264) : !1,
h265: o(u.h265) ? globalThis.Boolean(u.h265) : !1,
vp8: o(u.vp8) ? globalThis.Boolean(u.vp8) : !1,
av1: o(u.av1) ? globalThis.Boolean(u.av1) : !1,
i444: o(u.i444) ? G.fromJSON(u.i444) : void 0
}
}, toJSON(u) {
const e = {};
return u.h264 !== !1 && (e.h264 = u.h264), u.h265 !== !1 && (e.h265 = u.h265), u.vp8 !== !1 && (e.vp8 = u.vp8), u.av1 !== !1 && (e.av1 = u.av1), u.i444 !== void 0 && (e.i444 = G.toJSON(u.i444)), e
}, create(u) {
return Z.fromPartial(u != null ? u : {})
}, fromPartial(u) {
var i, n, a, t;
const e = E3();
return e.h264 = (i = u.h264) != null ? i : !1, e.h265 = (n = u.h265) != null ? n : !1, e.vp8 = (a = u.vp8) != null ? a : !1, e.av1 = (t = u.av1) != null ? t : !1, e.i444 = u.i444 !== void 0 && u.i444 !== null ? G.fromPartial(u.i444) : void 0, e
}
};
function l3() {
return {
username: "",
hostname: "",
platform: "",
displays: [],
current_display: 0,
sas_enabled: !1,
version: "",
features: void 0,
encoding: void 0,
resolutions: void 0,
platform_additions: "",
windows_sessions: void 0
}
}
const uu = {
encode(u, e = r.Writer.create()) {
u.username !== "" && e.uint32(10).string(u.username), u.hostname !== "" && e.uint32(18).string(u.hostname), u.platform !== "" && e.uint32(26).string(u.platform);
for (const i of u.displays) E0.encode(i, e.uint32(34).fork()).ldelim();
return u.current_display !== 0 && e.uint32(40).int32(u.current_display), u.sas_enabled !== !1 && e.uint32(48).bool(u.sas_enabled), u.version !== "" && e.uint32(58).string(u.version), u.features !== void 0 && d0.encode(u.features, e.uint32(74).fork()).ldelim(), u.encoding !== void 0 && Z.encode(u.encoding, e.uint32(82).fork()).ldelim(), u.resolutions !== void 0 && iu.encode(u.resolutions, e.uint32(90).fork()).ldelim(), u.platform_additions !== "" && e.uint32(98).string(u.platform_additions), u.windows_sessions !== void 0 && J0.encode(u.windows_sessions, e.uint32(106).fork()).ldelim(), e
}, decode(u, e) {
const i = u instanceof r.Reader ? u : r.Reader.create(u);
let n = e === void 0 ? i.len : i.pos + e;
const a = l3();
for (; i.pos < n;) {
const t = i.uint32();
switch (t >>> 3) {
case 1:
if (t !== 10) break;
a.username = i.string();
continue;
case 2:
if (t !== 18) break;
a.hostname = i.string();
continue;
case 3:
if (t !== 26) break;
a.platform = i.string();
continue;
case 4:
if (t !== 34) break;
a.displays.push(E0.decode(i, i.uint32()));
continue;
case 5:
if (t !== 40) break;
a.current_display = i.int32();
continue;
case 6:
if (t !== 48) break;
a.sas_enabled = i.bool();
continue;
case 7:
if (t !== 58) break;
a.version = i.string();
continue;
case 9:
if (t !== 74) break;
a.features = d0.decode(i, i.uint32());
continue;
case 10:
if (t !== 82) break;
a.encoding = Z.decode(i, i.uint32());
continue;
case 11:
if (t !== 90) break;
a.resolutions = iu.decode(i, i.uint32());
continue;
case 12:
if (t !== 98) break;
a.platform_additions = i.string();
continue;
case 13:
if (t !== 106) break;
a.windows_sessions = J0.decode(i, i.uint32());
continue
}
if ((t & 7) === 4 || t === 0) break;
i.skipType(t & 7)
}
return a
}, fromJSON(u) {
return {
username: o(u.username) ? globalThis.String(u.username) : "",
hostname: o(u.hostname) ? globalThis.String(u.hostname) : "",
platform: o(u.platform) ? globalThis.String(u.platform) : "",
displays: globalThis.Array.isArray(u == null ? void 0 : u.displays) ? u.displays.map(e => E0.fromJSON(e)) : [],
current_display: o(u.current_display) ? globalThis.Number(u.current_display) : 0,
sas_enabled: o(u.sas_enabled) ? globalThis.Boolean(u.sas_enabled) : !1,
version: o(u.version) ? globalThis.String(u.version) : "",
features: o(u.features) ? d0.fromJSON(u.features) : void 0,
encoding: o(u.encoding) ? Z.fromJSON(u.encoding) : void 0,
resolutions: o(u.resolutions) ? iu.fromJSON(u.resolutions) : void 0,
platform_additions: o(u.platform_additions) ? globalThis.String(u.platform_additions) : "",
windows_sessions: o(u.windows_sessions) ? J0.fromJSON(u.windows_sessions) : void 0
}
}, toJSON(u) {
var i;
const e = {};
return u.username !== "" && (e.username = u.username), u.hostname !== "" && (e.hostname = u.hostname), u.platform !== "" && (e.platform = u.platform), (i = u.displays) != null && i.length && (e.displays = u.displays.map(n => E0.toJSON(n))), u.current_display !== 0 && (e.current_display = Math.round(u.current_display)), u.sas_enabled !== !1 && (e.sas_enabled = u.sas_enabled), u.version !== "" && (e.version = u.version), u.features !== void 0 && (e.features = d0.toJSON(u.features)), u.encoding !== void 0 && (e.encoding = Z.toJSON(u.encoding)), u.resolutions !== void 0 && (e.resolutions = iu.toJSON(u.resolutions)), u.platform_additions !== "" && (e.platform_additions = u.platform_additions), u.windows_sessions !== void 0 && (e.windows_sessions = J0.toJSON(u.windows_sessions)), e
}, create(u) {
return uu.fromPartial(u != null ? u : {})
}, fromPartial(u) {
var i, n, a, t, s, E, l, d;
const e = l3();
return e.username = (i = u.username) != null ? i : "", e.hostname = (n = u.hostname) != null ? n : "", e.platform = (a = u.platform) != null ? a : "", e.displays = ((t = u.displays) == null ? void 0 : t.map(c => E0.fromPartial(c))) || [], e.current_display = (s = u.current_display) != null ? s : 0, e.sas_enabled = (E = u.sas_enabled) != null ? E : !1, e.version = (l = u.version) != null ? l : "", e.features = u.features !== void 0 && u.features !== null ? d0.fromPartial(u.features) : void 0, e.encoding = u.encoding !== void 0 && u.encoding !== null ? Z.fromPartial(u.encoding) : void 0, e.resolutions = u.resolutions !== void 0 && u.resolutions !== null ? iu.fromPartial(u.resolutions) : void 0, e.platform_additions = (d = u.platform_additions) != null ? d : "", e.windows_sessions = u.windows_sessions !== void 0 && u.windows_sessions !== null ? J0.fromPartial(u.windows_sessions) : void 0, e
}
};
function D3() {
return {sid: 0, name: ""}
}
const c0 = {
encode(u, e = r.Writer.create()) {
return u.sid !== 0 && e.uint32(8).uint32(u.sid), u.name !== "" && e.uint32(18).string(u.name), e
}, decode(u, e) {
const i = u instanceof r.Reader ? u : r.Reader.create(u);
let n = e === void 0 ? i.len : i.pos + e;
const a = D3();
for (; i.pos < n;) {
const t = i.uint32();
switch (t >>> 3) {
case 1:
if (t !== 8) break;
a.sid = i.uint32();
continue;
case 2:
if (t !== 18) break;
a.name = i.string();
continue
}
if ((t & 7) === 4 || t === 0) break;
i.skipType(t & 7)
}
return a
}, fromJSON(u) {
return {sid: o(u.sid) ? globalThis.Number(u.sid) : 0, name: o(u.name) ? globalThis.String(u.name) : ""}
}, toJSON(u) {
const e = {};
return u.sid !== 0 && (e.sid = Math.round(u.sid)), u.name !== "" && (e.name = u.name), e
}, create(u) {
return c0.fromPartial(u != null ? u : {})
}, fromPartial(u) {
var i, n;
const e = D3();
return e.sid = (i = u.sid) != null ? i : 0, e.name = (n = u.name) != null ? n : "", e
}
};
function d3() {
return {error: void 0, peer_info: void 0, enable_trusted_devices: !1}
}
const C0 = {
encode(u, e = r.Writer.create()) {
return u.error !== void 0 && e.uint32(10).string(u.error), u.peer_info !== void 0 && uu.encode(u.peer_info, e.uint32(18).fork()).ldelim(), u.enable_trusted_devices !== !1 && e.uint32(24).bool(u.enable_trusted_devices), e
}, decode(u, e) {
const i = u instanceof r.Reader ? u : r.Reader.create(u);
let n = e === void 0 ? i.len : i.pos + e;
const a = d3();
for (; i.pos < n;) {
const t = i.uint32();
switch (t >>> 3) {
case 1:
if (t !== 10) break;
a.error = i.string();
continue;
case 2:
if (t !== 18) break;
a.peer_info = uu.decode(i, i.uint32());
continue;
case 3:
if (t !== 24) break;
a.enable_trusted_devices = i.bool();
continue
}
if ((t & 7) === 4 || t === 0) break;
i.skipType(t & 7)
}
return a
}, fromJSON(u) {
return {
error: o(u.error) ? globalThis.String(u.error) : void 0,
peer_info: o(u.peer_info) ? uu.fromJSON(u.peer_info) : void 0,
enable_trusted_devices: o(u.enable_trusted_devices) ? globalThis.Boolean(u.enable_trusted_devices) : !1
}
}, toJSON(u) {
const e = {};
return u.error !== void 0 && (e.error = u.error), u.peer_info !== void 0 && (e.peer_info = uu.toJSON(u.peer_info)), u.enable_trusted_devices !== !1 && (e.enable_trusted_devices = u.enable_trusted_devices), e
}, create(u) {
return C0.fromPartial(u != null ? u : {})
}, fromPartial(u) {
var i, n;
const e = d3();
return e.error = (i = u.error) != null ? i : void 0, e.peer_info = u.peer_info !== void 0 && u.peer_info !== null ? uu.fromPartial(u.peer_info) : void 0, e.enable_trusted_devices = (n = u.enable_trusted_devices) != null ? n : !1, e
}
};
function c3() {
return {scale: 0}
}
const p0 = {
encode(u, e = r.Writer.create()) {
return u.scale !== 0 && e.uint32(8).int32(u.scale), e
}, decode(u, e) {
const i = u instanceof r.Reader ? u : r.Reader.create(u);
let n = e === void 0 ? i.len : i.pos + e;
const a = c3();
for (; i.pos < n;) {
const t = i.uint32();
switch (t >>> 3) {
case 1:
if (t !== 8) break;
a.scale = i.int32();
continue
}
if ((t & 7) === 4 || t === 0) break;
i.skipType(t & 7)
}
return a
}, fromJSON(u) {
return {scale: o(u.scale) ? globalThis.Number(u.scale) : 0}
}, toJSON(u) {
const e = {};
return u.scale !== 0 && (e.scale = Math.round(u.scale)), e
}, create(u) {
return p0.fromPartial(u != null ? u : {})
}, fromPartial(u) {
var i;
const e = c3();
return e.scale = (i = u.scale) != null ? i : 0, e
}
};
function C3() {
return {x: 0, y: 0}
}
const B0 = {
encode(u, e = r.Writer.create()) {
return u.x !== 0 && e.uint32(8).int32(u.x), u.y !== 0 && e.uint32(16).int32(u.y), e
}, decode(u, e) {
const i = u instanceof r.Reader ? u : r.Reader.create(u);
let n = e === void 0 ? i.len : i.pos + e;
const a = C3();
for (; i.pos < n;) {
const t = i.uint32();
switch (t >>> 3) {
case 1:
if (t !== 8) break;
a.x = i.int32();
continue;
case 2:
if (t !== 16) break;
a.y = i.int32();
continue
}
if ((t & 7) === 4 || t === 0) break;
i.skipType(t & 7)
}
return a
}, fromJSON(u) {
return {x: o(u.x) ? globalThis.Number(u.x) : 0, y: o(u.y) ? globalThis.Number(u.y) : 0}
}, toJSON(u) {
const e = {};
return u.x !== 0 && (e.x = Math.round(u.x)), u.y !== 0 && (e.y = Math.round(u.y)), e
}, create(u) {
return B0.fromPartial(u != null ? u : {})
}, fromPartial(u) {
var i, n;
const e = C3();
return e.x = (i = u.x) != null ? i : 0, e.y = (n = u.y) != null ? n : 0, e
}
};
function p3() {
return {x: 0, y: 0}
}
const A0 = {
encode(u, e = r.Writer.create()) {
return u.x !== 0 && e.uint32(8).int32(u.x), u.y !== 0 && e.uint32(16).int32(u.y), e
}, decode(u, e) {
const i = u instanceof r.Reader ? u : r.Reader.create(u);
let n = e === void 0 ? i.len : i.pos + e;
const a = p3();
for (; i.pos < n;) {
const t = i.uint32();
switch (t >>> 3) {
case 1:
if (t !== 8) break;
a.x = i.int32();
continue;
case 2:
if (t !== 16) break;
a.y = i.int32();
continue
}
if ((t & 7) === 4 || t === 0) break;
i.skipType(t & 7)
}
return a
}, fromJSON(u) {
return {x: o(u.x) ? globalThis.Number(u.x) : 0, y: o(u.y) ? globalThis.Number(u.y) : 0}
}, toJSON(u) {
const e = {};
return u.x !== 0 && (e.x = Math.round(u.x)), u.y !== 0 && (e.y = Math.round(u.y)), e
}, create(u) {
return A0.fromPartial(u != null ? u : {})
}, fromPartial(u) {
var i, n;
const e = p3();
return e.x = (i = u.x) != null ? i : 0, e.y = (n = u.y) != null ? n : 0, e
}
};
function B3() {
return {x: 0, y: 0}
}
const m0 = {
encode(u, e = r.Writer.create()) {
return u.x !== 0 && e.uint32(8).int32(u.x), u.y !== 0 && e.uint32(16).int32(u.y), e
}, decode(u, e) {
const i = u instanceof r.Reader ? u : r.Reader.create(u);
let n = e === void 0 ? i.len : i.pos + e;
const a = B3();
for (; i.pos < n;) {
const t = i.uint32();
switch (t >>> 3) {
case 1:
if (t !== 8) break;
a.x = i.int32();
continue;
case 2:
if (t !== 16) break;
a.y = i.int32();
continue
}
if ((t & 7) === 4 || t === 0) break;
i.skipType(t & 7)
}
return a
}, fromJSON(u) {
return {x: o(u.x) ? globalThis.Number(u.x) : 0, y: o(u.y) ? globalThis.Number(u.y) : 0}
}, toJSON(u) {
const e = {};
return u.x !== 0 && (e.x = Math.round(u.x)), u.y !== 0 && (e.y = Math.round(u.y)), e
}, create(u) {
return m0.fromPartial(u != null ? u : {})
}, fromPartial(u) {
var i, n;
const e = B3();
return e.x = (i = u.x) != null ? i : 0, e.y = (n = u.y) != null ? n : 0, e
}
};
function A3() {
return {scale_update: void 0, pan_start: void 0, pan_update: void 0, pan_end: void 0}
}
const F0 = {
encode(u, e = r.Writer.create()) {
return u.scale_update !== void 0 && p0.encode(u.scale_update, e.uint32(10).fork()).ldelim(), u.pan_start !== void 0 && B0.encode(u.pan_start, e.uint32(18).fork()).ldelim(), u.pan_update !== void 0 && A0.encode(u.pan_update, e.uint32(26).fork()).ldelim(), u.pan_end !== void 0 && m0.encode(u.pan_end, e.uint32(34).fork()).ldelim(), e
}, decode(u, e) {
const i = u instanceof r.Reader ? u : r.Reader.create(u);
let n = e === void 0 ? i.len : i.pos + e;
const a = A3();
for (; i.pos < n;) {
const t = i.uint32();
switch (t >>> 3) {
case 1:
if (t !== 10) break;
a.scale_update = p0.decode(i, i.uint32());
continue;
case 2:
if (t !== 18) break;
a.pan_start = B0.decode(i, i.uint32());
continue;
case 3:
if (t !== 26) break;
a.pan_update = A0.decode(i, i.uint32());
continue;
case 4:
if (t !== 34) break;
a.pan_end = m0.decode(i, i.uint32());
continue
}
if ((t & 7) === 4 || t === 0) break;
i.skipType(t & 7)
}
return a
}, fromJSON(u) {
return {
scale_update: o(u.scale_update) ? p0.fromJSON(u.scale_update) : void 0,
pan_start: o(u.pan_start) ? B0.fromJSON(u.pan_start) : void 0,
pan_update: o(u.pan_update) ? A0.fromJSON(u.pan_update) : void 0,
pan_end: o(u.pan_end) ? m0.fromJSON(u.pan_end) : void 0
}
}, toJSON(u) {
const e = {};
return u.scale_update !== void 0 && (e.scale_update = p0.toJSON(u.scale_update)), u.pan_start !== void 0 && (e.pan_start = B0.toJSON(u.pan_start)), u.pan_update !== void 0 && (e.pan_update = A0.toJSON(u.pan_update)), u.pan_end !== void 0 && (e.pan_end = m0.toJSON(u.pan_end)), e
}, create(u) {
return F0.fromPartial(u != null ? u : {})
}, fromPartial(u) {
const e = A3();
return e.scale_update = u.scale_update !== void 0 && u.scale_update !== null ? p0.fromPartial(u.scale_update) : void 0, e.pan_start = u.pan_start !== void 0 && u.pan_start !== null ? B0.fromPartial(u.pan_start) : void 0, e.pan_update = u.pan_update !== void 0 && u.pan_update !== null ? A0.fromPartial(u.pan_update) : void 0, e.pan_end = u.pan_end !== void 0 && u.pan_end !== null ? m0.fromPartial(u.pan_end) : void 0, e
}
};
function m3() {
return {touch_event: void 0, modifiers: []}
}
const _0 = {
encode(u, e = r.Writer.create()) {
u.touch_event !== void 0 && F0.encode(u.touch_event, e.uint32(10).fork()).ldelim(), e.uint32(18).fork();
for (const i of u.modifiers) e.int32(i);
return e.ldelim(), e
}, decode(u, e) {
const i = u instanceof r.Reader ? u : r.Reader.create(u);
let n = e === void 0 ? i.len : i.pos + e;
const a = m3();
for (; i.pos < n;) {
const t = i.uint32();
switch (t >>> 3) {
case 1:
if (t !== 10) break;
a.touch_event = F0.decode(i, i.uint32());
continue;
case 2:
if (t === 16) {
a.modifiers.push(i.int32());
continue
}
if (t === 18) {
const s = i.uint32() + i.pos;
for (; i.pos < s;) a.modifiers.push(i.int32());
continue
}
break
}
if ((t & 7) === 4 || t === 0) break;
i.skipType(t & 7)
}
return a
}, fromJSON(u) {
return {
touch_event: o(u.touch_event) ? F0.fromJSON(u.touch_event) : void 0,
modifiers: globalThis.Array.isArray(u == null ? void 0 : u.modifiers) ? u.modifiers.map(e => fe(e)) : []
}
}, toJSON(u) {
var i;
const e = {};
return u.touch_event !== void 0 && (e.touch_event = F0.toJSON(u.touch_event)), (i = u.modifiers) != null && i.length && (e.modifiers = u.modifiers.map(n => We(n))), e
}, create(u) {
return _0.fromPartial(u != null ? u : {})
}, fromPartial(u) {
var i;
const e = m3();
return e.touch_event = u.touch_event !== void 0 && u.touch_event !== null ? F0.fromPartial(u.touch_event) : void 0, e.modifiers = ((i = u.modifiers) == null ? void 0 : i.map(n => n)) || [], e
}
};
function F3() {
return {mask: 0, x: 0, y: 0, modifiers: []}
}
const ku = {
encode(u, e = r.Writer.create()) {
u.mask !== 0 && e.uint32(8).int32(u.mask), u.x !== 0 && e.uint32(16).sint32(u.x), u.y !== 0 && e.uint32(24).sint32(u.y), e.uint32(34).fork();
for (const i of u.modifiers) e.int32(i);
return e.ldelim(), e
}, decode(u, e) {
const i = u instanceof r.Reader ? u : r.Reader.create(u);
let n = e === void 0 ? i.len : i.pos + e;
const a = F3();
for (; i.pos < n;) {
const t = i.uint32();
switch (t >>> 3) {
case 1:
if (t !== 8) break;
a.mask = i.int32();
continue;
case 2:
if (t !== 16) break;
a.x = i.sint32();
continue;
case 3:
if (t !== 24) break;
a.y = i.sint32();
continue;
case 4:
if (t === 32) {
a.modifiers.push(i.int32());
continue
}
if (t === 34) {
const s = i.uint32() + i.pos;
for (; i.pos < s;) a.modifiers.push(i.int32());
continue
}
break
}
if ((t & 7) === 4 || t === 0) break;
i.skipType(t & 7)
}
return a
}, fromJSON(u) {
return {
mask: o(u.mask) ? globalThis.Number(u.mask) : 0,
x: o(u.x) ? globalThis.Number(u.x) : 0,
y: o(u.y) ? globalThis.Number(u.y) : 0,
modifiers: globalThis.Array.isArray(u == null ? void 0 : u.modifiers) ? u.modifiers.map(e => fe(e)) : []
}
}, toJSON(u) {
var i;
const e = {};
return u.mask !== 0 && (e.mask = Math.round(u.mask)), u.x !== 0 && (e.x = Math.round(u.x)), u.y !== 0 && (e.y = Math.round(u.y)), (i = u.modifiers) != null && i.length && (e.modifiers = u.modifiers.map(n => We(n))), e
}, create(u) {
return ku.fromPartial(u != null ? u : {})
}, fromPartial(u) {
var i, n, a, t;
const e = F3();
return e.mask = (i = u.mask) != null ? i : 0, e.x = (n = u.x) != null ? n : 0, e.y = (a = u.y) != null ? a : 0, e.modifiers = ((t = u.modifiers) == null ? void 0 : t.map(s => s)) || [], e
}
};
function _3() {
return {
down: !1,
press: !1,
control_key: void 0,
chr: void 0,
unicode: void 0,
seq: void 0,
win2win_hotkey: void 0,
modifiers: [],
mode: 0
}
}
const S = {
encode(u, e = r.Writer.create()) {
u.down !== !1 && e.uint32(8).bool(u.down), u.press !== !1 && e.uint32(16).bool(u.press), u.control_key !== void 0 && e.uint32(24).int32(u.control_key), u.chr !== void 0 && e.uint32(32).uint32(u.chr), u.unicode !== void 0 && e.uint32(40).uint32(u.unicode), u.seq !== void 0 && e.uint32(50).string(u.seq), u.win2win_hotkey !== void 0 && e.uint32(56).uint32(u.win2win_hotkey), e.uint32(66).fork();
for (const i of u.modifiers) e.int32(i);
return e.ldelim(), u.mode !== 0 && e.uint32(72).int32(u.mode), e
}, decode(u, e) {
const i = u instanceof r.Reader ? u : r.Reader.create(u);
let n = e === void 0 ? i.len : i.pos + e;
const a = _3();
for (; i.pos < n;) {
const t = i.uint32();
switch (t >>> 3) {
case 1:
if (t !== 8) break;
a.down = i.bool();
continue;
case 2:
if (t !== 16) break;
a.press = i.bool();
continue;
case 3:
if (t !== 24) break;
a.control_key = i.int32();
continue;
case 4:
if (t !== 32) break;
a.chr = i.uint32();
continue;
case 5:
if (t !== 40) break;
a.unicode = i.uint32();
continue;
case 6:
if (t !== 50) break;
a.seq = i.string();
continue;
case 7:
if (t !== 56) break;
a.win2win_hotkey = i.uint32();
continue;
case 8:
if (t === 64) {
a.modifiers.push(i.int32());
continue
}
if (t === 66) {
const s = i.uint32() + i.pos;
for (; i.pos < s;) a.modifiers.push(i.int32());
continue
}
break;
case 9:
if (t !== 72) break;
a.mode = i.int32();
continue
}
if ((t & 7) === 4 || t === 0) break;
i.skipType(t & 7)
}
return a
}, fromJSON(u) {
return {
down: o(u.down) ? globalThis.Boolean(u.down) : !1,
press: o(u.press) ? globalThis.Boolean(u.press) : !1,
control_key: o(u.control_key) ? fe(u.control_key) : void 0,
chr: o(u.chr) ? globalThis.Number(u.chr) : void 0,
unicode: o(u.unicode) ? globalThis.Number(u.unicode) : void 0,
seq: o(u.seq) ? globalThis.String(u.seq) : void 0,
win2win_hotkey: o(u.win2win_hotkey) ? globalThis.Number(u.win2win_hotkey) : void 0,
modifiers: globalThis.Array.isArray(u == null ? void 0 : u.modifiers) ? u.modifiers.map(e => fe(e)) : [],
mode: o(u.mode) ? ba(u.mode) : 0
}
}, toJSON(u) {
var i;
const e = {};
return u.down !== !1 && (e.down = u.down), u.press !== !1 && (e.press = u.press), u.control_key !== void 0 && (e.control_key = We(u.control_key)), u.chr !== void 0 && (e.chr = Math.round(u.chr)), u.unicode !== void 0 && (e.unicode = Math.round(u.unicode)), u.seq !== void 0 && (e.seq = u.seq), u.win2win_hotkey !== void 0 && (e.win2win_hotkey = Math.round(u.win2win_hotkey)), (i = u.modifiers) != null && i.length && (e.modifiers = u.modifiers.map(n => We(n))), u.mode !== 0 && (e.mode = wa(u.mode)), e
}, create(u) {
return S.fromPartial(u != null ? u : {})
}, fromPartial(u) {
var i, n, a, t, s, E, l, d, c;
const e = _3();
return e.down = (i = u.down) != null ? i : !1, e.press = (n = u.press) != null ? n : !1, e.control_key = (a = u.control_key) != null ? a : void 0, e.chr = (t = u.chr) != null ? t : void 0, e.unicode = (s = u.unicode) != null ? s : void 0, e.seq = (E = u.seq) != null ? E : void 0, e.win2win_hotkey = (l = u.win2win_hotkey) != null ? l : void 0, e.modifiers = ((d = u.modifiers) == null ? void 0 : d.map(p => p)) || [], e.mode = (c = u.mode) != null ? c : 0, e
}
};
function v3() {
return {id: 0, hotx: 0, hoty: 0, width: 0, height: 0, colors: new Uint8Array(0)}
}
const v0 = {
encode(u, e = r.Writer.create()) {
return u.id !== 0 && e.uint32(8).uint64(u.id), u.hotx !== 0 && e.uint32(16).sint32(u.hotx), u.hoty !== 0 && e.uint32(24).sint32(u.hoty), u.width !== 0 && e.uint32(32).int32(u.width), u.height !== 0 && e.uint32(40).int32(u.height), u.colors.length !== 0 && e.uint32(50).bytes(u.colors), e
}, decode(u, e) {
const i = u instanceof r.Reader ? u : r.Reader.create(u);
let n = e === void 0 ? i.len : i.pos + e;
const a = v3();
for (; i.pos < n;) {
const t = i.uint32();
switch (t >>> 3) {
case 1:
if (t !== 8) break;
a.id = q(i.uint64());
continue;
case 2:
if (t !== 16) break;
a.hotx = i.sint32();
continue;
case 3:
if (t !== 24) break;
a.hoty = i.sint32();
continue;
case 4:
if (t !== 32) break;
a.width = i.int32();
continue;
case 5:
if (t !== 40) break;
a.height = i.int32();
continue;
case 6:
if (t !== 50) break;
a.colors = i.bytes();
continue
}
if ((t & 7) === 4 || t === 0) break;
i.skipType(t & 7)
}
return a
}, fromJSON(u) {
return {
id: o(u.id) ? globalThis.Number(u.id) : 0,
hotx: o(u.hotx) ? globalThis.Number(u.hotx) : 0,
hoty: o(u.hoty) ? globalThis.Number(u.hoty) : 0,
width: o(u.width) ? globalThis.Number(u.width) : 0,
height: o(u.height) ? globalThis.Number(u.height) : 0,
colors: o(u.colors) ? z(u.colors) : new Uint8Array(0)
}
}, toJSON(u) {
const e = {};
return u.id !== 0 && (e.id = Math.round(u.id)), u.hotx !== 0 && (e.hotx = Math.round(u.hotx)), u.hoty !== 0 && (e.hoty = Math.round(u.hoty)), u.width !== 0 && (e.width = Math.round(u.width)), u.height !== 0 && (e.height = Math.round(u.height)), u.colors.length !== 0 && (e.colors = P(u.colors)), e
}, create(u) {
return v0.fromPartial(u != null ? u : {})
}, fromPartial(u) {
var i, n, a, t, s, E;
const e = v3();
return e.id = (i = u.id) != null ? i : 0, e.hotx = (n = u.hotx) != null ? n : 0, e.hoty = (a = u.hoty) != null ? a : 0, e.width = (t = u.width) != null ? t : 0, e.height = (s = u.height) != null ? s : 0, e.colors = (E = u.colors) != null ? E : new Uint8Array(0), e
}
};
function g3() {
return {x: 0, y: 0}
}
const g0 = {
encode(u, e = r.Writer.create()) {
return u.x !== 0 && e.uint32(8).sint32(u.x), u.y !== 0 && e.uint32(16).sint32(u.y), e
}, decode(u, e) {
const i = u instanceof r.Reader ? u : r.Reader.create(u);
let n = e === void 0 ? i.len : i.pos + e;
const a = g3();
for (; i.pos < n;) {
const t = i.uint32();
switch (t >>> 3) {
case 1:
if (t !== 8) break;
a.x = i.sint32();
continue;
case 2:
if (t !== 16) break;
a.y = i.sint32();
continue
}
if ((t & 7) === 4 || t === 0) break;
i.skipType(t & 7)
}
return a
}, fromJSON(u) {
return {x: o(u.x) ? globalThis.Number(u.x) : 0, y: o(u.y) ? globalThis.Number(u.y) : 0}
}, toJSON(u) {
const e = {};
return u.x !== 0 && (e.x = Math.round(u.x)), u.y !== 0 && (e.y = Math.round(u.y)), e
}, create(u) {
return g0.fromPartial(u != null ? u : {})
}, fromPartial(u) {
var i, n;
const e = g3();
return e.x = (i = u.x) != null ? i : 0, e.y = (n = u.y) != null ? n : 0, e
}
};
function k3() {
return {salt: "", challenge: ""}
}
const k0 = {
encode(u, e = r.Writer.create()) {
return u.salt !== "" && e.uint32(10).string(u.salt), u.challenge !== "" && e.uint32(18).string(u.challenge), e
}, decode(u, e) {
const i = u instanceof r.Reader ? u : r.Reader.create(u);
let n = e === void 0 ? i.len : i.pos + e;
const a = k3();
for (; i.pos < n;) {
const t = i.uint32();
switch (t >>> 3) {
case 1:
if (t !== 10) break;
a.salt = i.string();
continue;
case 2:
if (t !== 18) break;
a.challenge = i.string();
continue
}
if ((t & 7) === 4 || t === 0) break;
i.skipType(t & 7)
}
return a
}, fromJSON(u) {
return {
salt: o(u.salt) ? globalThis.String(u.salt) : "",
challenge: o(u.challenge) ? globalThis.String(u.challenge) : ""
}
}, toJSON(u) {
const e = {};
return u.salt !== "" && (e.salt = u.salt), u.challenge !== "" && (e.challenge = u.challenge), e
}, create(u) {
return k0.fromPartial(u != null ? u : {})
}, fromPartial(u) {
var i, n;
const e = k3();
return e.salt = (i = u.salt) != null ? i : "", e.challenge = (n = u.challenge) != null ? n : "", e
}
};
function h3() {
return {compress: !1, content: new Uint8Array(0), width: 0, height: 0, format: 0, special_name: ""}
}
const W = {
encode(u, e = r.Writer.create()) {
return u.compress !== !1 && e.uint32(8).bool(u.compress), u.content.length !== 0 && e.uint32(18).bytes(u.content), u.width !== 0 && e.uint32(24).int32(u.width), u.height !== 0 && e.uint32(32).int32(u.height), u.format !== 0 && e.uint32(40).int32(u.format), u.special_name !== "" && e.uint32(50).string(u.special_name), e
}, decode(u, e) {
const i = u instanceof r.Reader ? u : r.Reader.create(u);
let n = e === void 0 ? i.len : i.pos + e;
const a = h3();
for (; i.pos < n;) {
const t = i.uint32();
switch (t >>> 3) {
case 1:
if (t !== 8) break;
a.compress = i.bool();
continue;
case 2:
if (t !== 18) break;
a.content = i.bytes();
continue;
case 3:
if (t !== 24) break;
a.width = i.int32();
continue;
case 4:
if (t !== 32) break;
a.height = i.int32();
continue;
case 5:
if (t !== 40) break;
a.format = i.int32();
continue;
case 6:
if (t !== 50) break;
a.special_name = i.string();
continue
}
if ((t & 7) === 4 || t === 0) break;
i.skipType(t & 7)
}
return a
}, fromJSON(u) {
return {
compress: o(u.compress) ? globalThis.Boolean(u.compress) : !1,
content: o(u.content) ? z(u.content) : new Uint8Array(0),
width: o(u.width) ? globalThis.Number(u.width) : 0,
height: o(u.height) ? globalThis.Number(u.height) : 0,
format: o(u.format) ? Sa(u.format) : 0,
special_name: o(u.special_name) ? globalThis.String(u.special_name) : ""
}
}, toJSON(u) {
const e = {};
return u.compress !== !1 && (e.compress = u.compress), u.content.length !== 0 && (e.content = P(u.content)), u.width !== 0 && (e.width = Math.round(u.width)), u.height !== 0 && (e.height = Math.round(u.height)), u.format !== 0 && (e.format = za(u.format)), u.special_name !== "" && (e.special_name = u.special_name), e
}, create(u) {
return W.fromPartial(u != null ? u : {})
}, fromPartial(u) {
var i, n, a, t, s, E;
const e = h3();
return e.compress = (i = u.compress) != null ? i : !1, e.content = (n = u.content) != null ? n : new Uint8Array(0), e.width = (a = u.width) != null ? a : 0, e.height = (t = u.height) != null ? t : 0, e.format = (s = u.format) != null ? s : 0, e.special_name = (E = u.special_name) != null ? E : "", e
}
};
function f3() {
return {clipboards: []}
}
const hu = {
encode(u, e = r.Writer.create()) {
for (const i of u.clipboards) W.encode(i, e.uint32(10).fork()).ldelim();
return e
}, decode(u, e) {
const i = u instanceof r.Reader ? u : r.Reader.create(u);
let n = e === void 0 ? i.len : i.pos + e;
const a = f3();
for (; i.pos < n;) {
const t = i.uint32();
switch (t >>> 3) {
case 1:
if (t !== 10) break;
a.clipboards.push(W.decode(i, i.uint32()));
continue
}
if ((t & 7) === 4 || t === 0) break;
i.skipType(t & 7)
}
return a
}, fromJSON(u) {
return {clipboards: globalThis.Array.isArray(u == null ? void 0 : u.clipboards) ? u.clipboards.map(e => W.fromJSON(e)) : []}
}, toJSON(u) {
var i;
const e = {};
return (i = u.clipboards) != null && i.length && (e.clipboards = u.clipboards.map(n => W.toJSON(n))), e
}, create(u) {
return hu.fromPartial(u != null ? u : {})
}, fromPartial(u) {
var i;
const e = f3();
return e.clipboards = ((i = u.clipboards) == null ? void 0 : i.map(n => W.fromPartial(n))) || [], e
}
};
function x3() {
return {entry_type: 0, name: "", is_hidden: !1, size: 0, modified_time: 0}
}
const V = {
encode(u, e = r.Writer.create()) {
return u.entry_type !== 0 && e.uint32(8).int32(u.entry_type), u.name !== "" && e.uint32(18).string(u.name), u.is_hidden !== !1 && e.uint32(24).bool(u.is_hidden), u.size !== 0 && e.uint32(32).uint64(u.size), u.modified_time !== 0 && e.uint32(40).uint64(u.modified_time), e
}, decode(u, e) {
const i = u instanceof r.Reader ? u : r.Reader.create(u);
let n = e === void 0 ? i.len : i.pos + e;
const a = x3();
for (; i.pos < n;) {
const t = i.uint32();
switch (t >>> 3) {
case 1:
if (t !== 8) break;
a.entry_type = i.int32();
continue;
case 2:
if (t !== 18) break;
a.name = i.string();
continue;
case 3:
if (t !== 24) break;
a.is_hidden = i.bool();
continue;
case 4:
if (t !== 32) break;
a.size = q(i.uint64());
continue;
case 5:
if (t !== 40) break;
a.modified_time = q(i.uint64());
continue
}
if ((t & 7) === 4 || t === 0) break;
i.skipType(t & 7)
}
return a
}, fromJSON(u) {
return {
entry_type: o(u.entry_type) ? Pa(u.entry_type) : 0,
name: o(u.name) ? globalThis.String(u.name) : "",
is_hidden: o(u.is_hidden) ? globalThis.Boolean(u.is_hidden) : !1,
size: o(u.size) ? globalThis.Number(u.size) : 0,
modified_time: o(u.modified_time) ? globalThis.Number(u.modified_time) : 0
}
}, toJSON(u) {
const e = {};
return u.entry_type !== 0 && (e.entry_type = Ra(u.entry_type)), u.name !== "" && (e.name = u.name), u.is_hidden !== !1 && (e.is_hidden = u.is_hidden), u.size !== 0 && (e.size = Math.round(u.size)), u.modified_time !== 0 && (e.modified_time = Math.round(u.modified_time)), e
}, create(u) {
return V.fromPartial(u != null ? u : {})
}, fromPartial(u) {
var i, n, a, t, s;
const e = x3();
return e.entry_type = (i = u.entry_type) != null ? i : 0, e.name = (n = u.name) != null ? n : "", e.is_hidden = (a = u.is_hidden) != null ? a : !1, e.size = (t = u.size) != null ? t : 0, e.modified_time = (s = u.modified_time) != null ? s : 0, e
}
};
function y3() {
return {id: 0, path: "", entries: []}
}
const eu = {
encode(u, e = r.Writer.create()) {
u.id !== 0 && e.uint32(8).int32(u.id), u.path !== "" && e.uint32(18).string(u.path);
for (const i of u.entries) V.encode(i, e.uint32(26).fork()).ldelim();
return e
}, decode(u, e) {
const i = u instanceof r.Reader ? u : r.Reader.create(u);
let n = e === void 0 ? i.len : i.pos + e;
const a = y3();
for (; i.pos < n;) {
const t = i.uint32();
switch (t >>> 3) {
case 1:
if (t !== 8) break;
a.id = i.int32();
continue;
case 2:
if (t !== 18) break;
a.path = i.string();
continue;
case 3:
if (t !== 26) break;
a.entries.push(V.decode(i, i.uint32()));
continue
}
if ((t & 7) === 4 || t === 0) break;
i.skipType(t & 7)
}
return a
}, fromJSON(u) {
return {
id: o(u.id) ? globalThis.Number(u.id) : 0,
path: o(u.path) ? globalThis.String(u.path) : "",
entries: globalThis.Array.isArray(u == null ? void 0 : u.entries) ? u.entries.map(e => V.fromJSON(e)) : []
}
}, toJSON(u) {
var i;
const e = {};
return u.id !== 0 && (e.id = Math.round(u.id)), u.path !== "" && (e.path = u.path), (i = u.entries) != null && i.length && (e.entries = u.entries.map(n => V.toJSON(n))), e
}, create(u) {
return eu.fromPartial(u != null ? u : {})
}, fromPartial(u) {
var i, n, a;
const e = y3();
return e.id = (i = u.id) != null ? i : 0, e.path = (n = u.path) != null ? n : "", e.entries = ((a = u.entries) == null ? void 0 : a.map(t => V.fromPartial(t))) || [], e
}
};
function b3() {
return {path: "", include_hidden: !1}
}
const fu = {
encode(u, e = r.Writer.create()) {
return u.path !== "" && e.uint32(10).string(u.path), u.include_hidden !== !1 && e.uint32(16).bool(u.include_hidden), e
}, decode(u, e) {
const i = u instanceof r.Reader ? u : r.Reader.create(u);
let n = e === void 0 ? i.len : i.pos + e;
const a = b3();
for (; i.pos < n;) {
const t = i.uint32();
switch (t >>> 3) {
case 1:
if (t !== 10) break;
a.path = i.string();
continue;
case 2:
if (t !== 16) break;
a.include_hidden = i.bool();
continue
}
if ((t & 7) === 4 || t === 0) break;
i.skipType(t & 7)
}
return a
}, fromJSON(u) {
return {
path: o(u.path) ? globalThis.String(u.path) : "",
include_hidden: o(u.include_hidden) ? globalThis.Boolean(u.include_hidden) : !1
}
}, toJSON(u) {
const e = {};
return u.path !== "" && (e.path = u.path), u.include_hidden !== !1 && (e.include_hidden = u.include_hidden), e
}, create(u) {
return fu.fromPartial(u != null ? u : {})
}, fromPartial(u) {
var i, n;
const e = b3();
return e.path = (i = u.path) != null ? i : "", e.include_hidden = (n = u.include_hidden) != null ? n : !1, e
}
};
function w3() {
return {path: "", include_hidden: !1}
}
const xu = {
encode(u, e = r.Writer.create()) {
return u.path !== "" && e.uint32(10).string(u.path), u.include_hidden !== !1 && e.uint32(16).bool(u.include_hidden), e
}, decode(u, e) {
const i = u instanceof r.Reader ? u : r.Reader.create(u);
let n = e === void 0 ? i.len : i.pos + e;
const a = w3();
for (; i.pos < n;) {
const t = i.uint32();
switch (t >>> 3) {
case 1:
if (t !== 10) break;
a.path = i.string();
continue;
case 2:
if (t !== 16) break;
a.include_hidden = i.bool();
continue
}
if ((t & 7) === 4 || t === 0) break;
i.skipType(t & 7)
}
return a
}, fromJSON(u) {
return {
path: o(u.path) ? globalThis.String(u.path) : "",
include_hidden: o(u.include_hidden) ? globalThis.Boolean(u.include_hidden) : !1
}
}, toJSON(u) {
const e = {};
return u.path !== "" && (e.path = u.path), u.include_hidden !== !1 && (e.include_hidden = u.include_hidden), e
}, create(u) {
return xu.fromPartial(u != null ? u : {})
}, fromPartial(u) {
var i, n;
const e = w3();
return e.path = (i = u.path) != null ? i : "", e.include_hidden = (n = u.include_hidden) != null ? n : !1, e
}
};
function S3() {
return {path: "", empty_dirs: []}
}
const h0 = {
encode(u, e = r.Writer.create()) {
u.path !== "" && e.uint32(10).string(u.path);
for (const i of u.empty_dirs) eu.encode(i, e.uint32(18).fork()).ldelim();
return e
}, decode(u, e) {
const i = u instanceof r.Reader ? u : r.Reader.create(u);
let n = e === void 0 ? i.len : i.pos + e;
const a = S3();
for (; i.pos < n;) {
const t = i.uint32();
switch (t >>> 3) {
case 1:
if (t !== 10) break;
a.path = i.string();
continue;
case 2:
if (t !== 18) break;
a.empty_dirs.push(eu.decode(i, i.uint32()));
continue
}
if ((t & 7) === 4 || t === 0) break;
i.skipType(t & 7)
}
return a
}, fromJSON(u) {
return {
path: o(u.path) ? globalThis.String(u.path) : "",
empty_dirs: globalThis.Array.isArray(u == null ? void 0 : u.empty_dirs) ? u.empty_dirs.map(e => eu.fromJSON(e)) : []
}
}, toJSON(u) {
var i;
const e = {};
return u.path !== "" && (e.path = u.path), (i = u.empty_dirs) != null && i.length && (e.empty_dirs = u.empty_dirs.map(n => eu.toJSON(n))), e
}, create(u) {
return h0.fromPartial(u != null ? u : {})
}, fromPartial(u) {
var i, n;
const e = S3();
return e.path = (i = u.path) != null ? i : "", e.empty_dirs = ((n = u.empty_dirs) == null ? void 0 : n.map(a => eu.fromPartial(a))) || [], e
}
};
function z3() {
return {id: 0, path: "", include_hidden: !1}
}
const yu = {
encode(u, e = r.Writer.create()) {
return u.id !== 0 && e.uint32(8).int32(u.id), u.path !== "" && e.uint32(18).string(u.path), u.include_hidden !== !1 && e.uint32(24).bool(u.include_hidden), e
}, decode(u, e) {
const i = u instanceof r.Reader ? u : r.Reader.create(u);
let n = e === void 0 ? i.len : i.pos + e;
const a = z3();
for (; i.pos < n;) {
const t = i.uint32();
switch (t >>> 3) {
case 1:
if (t !== 8) break;
a.id = i.int32();
continue;
case 2:
if (t !== 18) break;
a.path = i.string();
continue;
case 3:
if (t !== 24) break;
a.include_hidden = i.bool();
continue
}
if ((t & 7) === 4 || t === 0) break;
i.skipType(t & 7)
}
return a
}, fromJSON(u) {
return {
id: o(u.id) ? globalThis.Number(u.id) : 0,
path: o(u.path) ? globalThis.String(u.path) : "",
include_hidden: o(u.include_hidden) ? globalThis.Boolean(u.include_hidden) : !1
}
}, toJSON(u) {
const e = {};
return u.id !== 0 && (e.id = Math.round(u.id)), u.path !== "" && (e.path = u.path), u.include_hidden !== !1 && (e.include_hidden = u.include_hidden), e
}, create(u) {
return yu.fromPartial(u != null ? u : {})
}, fromPartial(u) {
var i, n, a;
const e = z3();
return e.id = (i = u.id) != null ? i : 0, e.path = (n = u.path) != null ? n : "", e.include_hidden = (a = u.include_hidden) != null ? a : !1, e
}
};
function P3() {
return {id: 0, path: "", new_name: ""}
}
const bu = {
encode(u, e = r.Writer.create()) {
return u.id !== 0 && e.uint32(8).int32(u.id), u.path !== "" && e.uint32(18).string(u.path), u.new_name !== "" && e.uint32(26).string(u.new_name), e
}, decode(u, e) {
const i = u instanceof r.Reader ? u : r.Reader.create(u);
let n = e === void 0 ? i.len : i.pos + e;
const a = P3();
for (; i.pos < n;) {
const t = i.uint32();
switch (t >>> 3) {
case 1:
if (t !== 8) break;
a.id = i.int32();
continue;
case 2:
if (t !== 18) break;
a.path = i.string();
continue;
case 3:
if (t !== 26) break;
a.new_name = i.string();
continue
}
if ((t & 7) === 4 || t === 0) break;
i.skipType(t & 7)
}
return a
}, fromJSON(u) {
return {
id: o(u.id) ? globalThis.Number(u.id) : 0,
path: o(u.path) ? globalThis.String(u.path) : "",
new_name: o(u.new_name) ? globalThis.String(u.new_name) : ""
}
}, toJSON(u) {
const e = {};
return u.id !== 0 && (e.id = Math.round(u.id)), u.path !== "" && (e.path = u.path), u.new_name !== "" && (e.new_name = u.new_name), e
}, create(u) {
return bu.fromPartial(u != null ? u : {})
}, fromPartial(u) {
var i, n, a;
const e = P3();
return e.id = (i = u.id) != null ? i : 0, e.path = (n = u.path) != null ? n : "", e.new_name = (a = u.new_name) != null ? a : "", e
}
};
function R3() {
return {
read_dir: void 0,
send: void 0,
receive: void 0,
create: void 0,
remove_dir: void 0,
remove_file: void 0,
all_files: void 0,
cancel: void 0,
send_confirm: void 0,
rename: void 0,
read_empty_dirs: void 0
}
}
const I = {
encode(u, e = r.Writer.create()) {
return u.read_dir !== void 0 && fu.encode(u.read_dir, e.uint32(10).fork()).ldelim(), u.send !== void 0 && Ru.encode(u.send, e.uint32(18).fork()).ldelim(), u.receive !== void 0 && Tu.encode(u.receive, e.uint32(26).fork()).ldelim(), u.create !== void 0 && Ou.encode(u.create, e.uint32(34).fork()).ldelim(), u.remove_dir !== void 0 && ju.encode(u.remove_dir, e.uint32(42).fork()).ldelim(), u.remove_file !== void 0 && Nu.encode(u.remove_file, e.uint32(50).fork()).ldelim(), u.all_files !== void 0 && yu.encode(u.all_files, e.uint32(58).fork()).ldelim(), u.cancel !== void 0 && wu.encode(u.cancel, e.uint32(66).fork()).ldelim(), u.send_confirm !== void 0 && du.encode(u.send_confirm, e.uint32(74).fork()).ldelim(), u.rename !== void 0 && bu.encode(u.rename, e.uint32(82).fork()).ldelim(), u.read_empty_dirs !== void 0 && xu.encode(u.read_empty_dirs, e.uint32(90).fork()).ldelim(), e
}, decode(u, e) {
const i = u instanceof r.Reader ? u : r.Reader.create(u);
let n = e === void 0 ? i.len : i.pos + e;
const a = R3();
for (; i.pos < n;) {
const t = i.uint32();
switch (t >>> 3) {
case 1:
if (t !== 10) break;
a.read_dir = fu.decode(i, i.uint32());
continue;
case 2:
if (t !== 18) break;
a.send = Ru.decode(i, i.uint32());
continue;
case 3:
if (t !== 26) break;
a.receive = Tu.decode(i, i.uint32());
continue;
case 4:
if (t !== 34) break;
a.create = Ou.decode(i, i.uint32());
continue;
case 5:
if (t !== 42) break;
a.remove_dir = ju.decode(i, i.uint32());
continue;
case 6:
if (t !== 50) break;
a.remove_file = Nu.decode(i, i.uint32());
continue;
case 7:
if (t !== 58) break;
a.all_files = yu.decode(i, i.uint32());
continue;
case 8:
if (t !== 66) break;
a.cancel = wu.decode(i, i.uint32());
continue;
case 9:
if (t !== 74) break;
a.send_confirm = du.decode(i, i.uint32());
continue;
case 10:
if (t !== 82) break;
a.rename = bu.decode(i, i.uint32());
continue;
case 11:
if (t !== 90) break;
a.read_empty_dirs = xu.decode(i, i.uint32());
continue
}
if ((t & 7) === 4 || t === 0) break;
i.skipType(t & 7)
}
return a
}, fromJSON(u) {
return {
read_dir: o(u.read_dir) ? fu.fromJSON(u.read_dir) : void 0,
send: o(u.send) ? Ru.fromJSON(u.send) : void 0,
receive: o(u.receive) ? Tu.fromJSON(u.receive) : void 0,
create: o(u.create) ? Ou.fromJSON(u.create) : void 0,
remove_dir: o(u.remove_dir) ? ju.fromJSON(u.remove_dir) : void 0,
remove_file: o(u.remove_file) ? Nu.fromJSON(u.remove_file) : void 0,
all_files: o(u.all_files) ? yu.fromJSON(u.all_files) : void 0,
cancel: o(u.cancel) ? wu.fromJSON(u.cancel) : void 0,
send_confirm: o(u.send_confirm) ? du.fromJSON(u.send_confirm) : void 0,
rename: o(u.rename) ? bu.fromJSON(u.rename) : void 0,
read_empty_dirs: o(u.read_empty_dirs) ? xu.fromJSON(u.read_empty_dirs) : void 0
}
}, toJSON(u) {
const e = {};
return u.read_dir !== void 0 && (e.read_dir = fu.toJSON(u.read_dir)), u.send !== void 0 && (e.send = Ru.toJSON(u.send)), u.receive !== void 0 && (e.receive = Tu.toJSON(u.receive)), u.create !== void 0 && (e.create = Ou.toJSON(u.create)), u.remove_dir !== void 0 && (e.remove_dir = ju.toJSON(u.remove_dir)), u.remove_file !== void 0 && (e.remove_file = Nu.toJSON(u.remove_file)), u.all_files !== void 0 && (e.all_files = yu.toJSON(u.all_files)), u.cancel !== void 0 && (e.cancel = wu.toJSON(u.cancel)), u.send_confirm !== void 0 && (e.send_confirm = du.toJSON(u.send_confirm)), u.rename !== void 0 && (e.rename = bu.toJSON(u.rename)), u.read_empty_dirs !== void 0 && (e.read_empty_dirs = xu.toJSON(u.read_empty_dirs)), e
}, create(u) {
return I.fromPartial(u != null ? u : {})
}, fromPartial(u) {
const e = R3();
return e.read_dir = u.read_dir !== void 0 && u.read_dir !== null ? fu.fromPartial(u.read_dir) : void 0, e.send = u.send !== void 0 && u.send !== null ? Ru.fromPartial(u.send) : void 0, e.receive = u.receive !== void 0 && u.receive !== null ? Tu.fromPartial(u.receive) : void 0, e.create = u.create !== void 0 && u.create !== null ? Ou.fromPartial(u.create) : void 0, e.remove_dir = u.remove_dir !== void 0 && u.remove_dir !== null ? ju.fromPartial(u.remove_dir) : void 0, e.remove_file = u.remove_file !== void 0 && u.remove_file !== null ? Nu.fromPartial(u.remove_file) : void 0, e.all_files = u.all_files !== void 0 && u.all_files !== null ? yu.fromPartial(u.all_files) : void 0, e.cancel = u.cancel !== void 0 && u.cancel !== null ? wu.fromPartial(u.cancel) : void 0, e.send_confirm = u.send_confirm !== void 0 && u.send_confirm !== null ? du.fromPartial(u.send_confirm) : void 0, e.rename = u.rename !== void 0 && u.rename !== null ? bu.fromPartial(u.rename) : void 0, e.read_empty_dirs = u.read_empty_dirs !== void 0 && u.read_empty_dirs !== null ? xu.fromPartial(u.read_empty_dirs) : void 0, e
}
};
function I3() {
return {id: 0}
}
const wu = {
encode(u, e = r.Writer.create()) {
return u.id !== 0 && e.uint32(8).int32(u.id), e
}, decode(u, e) {
const i = u instanceof r.Reader ? u : r.Reader.create(u);
let n = e === void 0 ? i.len : i.pos + e;
const a = I3();
for (; i.pos < n;) {
const t = i.uint32();
switch (t >>> 3) {
case 1:
if (t !== 8) break;
a.id = i.int32();
continue
}
if ((t & 7) === 4 || t === 0) break;
i.skipType(t & 7)
}
return a
}, fromJSON(u) {
return {id: o(u.id) ? globalThis.Number(u.id) : 0}
}, toJSON(u) {
const e = {};
return u.id !== 0 && (e.id = Math.round(u.id)), e
}, create(u) {
return wu.fromPartial(u != null ? u : {})
}, fromPartial(u) {
var i;
const e = I3();
return e.id = (i = u.id) != null ? i : 0, e
}
};
function T3() {
return {dir: void 0, block: void 0, error: void 0, done: void 0, digest: void 0, empty_dirs: void 0}
}
const ou = {
encode(u, e = r.Writer.create()) {
return u.dir !== void 0 && eu.encode(u.dir, e.uint32(10).fork()).ldelim(), u.block !== void 0 && zu.encode(u.block, e.uint32(18).fork()).ldelim(), u.error !== void 0 && Pu.encode(u.error, e.uint32(26).fork()).ldelim(), u.done !== void 0 && Iu.encode(u.done, e.uint32(34).fork()).ldelim(), u.digest !== void 0 && Su.encode(u.digest, e.uint32(42).fork()).ldelim(), u.empty_dirs !== void 0 && h0.encode(u.empty_dirs, e.uint32(50).fork()).ldelim(), e
}, decode(u, e) {
const i = u instanceof r.Reader ? u : r.Reader.create(u);
let n = e === void 0 ? i.len : i.pos + e;
const a = T3();
for (; i.pos < n;) {
const t = i.uint32();
switch (t >>> 3) {
case 1:
if (t !== 10) break;
a.dir = eu.decode(i, i.uint32());
continue;
case 2:
if (t !== 18) break;
a.block = zu.decode(i, i.uint32());
continue;
case 3:
if (t !== 26) break;
a.error = Pu.decode(i, i.uint32());
continue;
case 4:
if (t !== 34) break;
a.done = Iu.decode(i, i.uint32());
continue;
case 5:
if (t !== 42) break;
a.digest = Su.decode(i, i.uint32());
continue;
case 6:
if (t !== 50) break;
a.empty_dirs = h0.decode(i, i.uint32());
continue
}
if ((t & 7) === 4 || t === 0) break;
i.skipType(t & 7)
}
return a
}, fromJSON(u) {
return {
dir: o(u.dir) ? eu.fromJSON(u.dir) : void 0,
block: o(u.block) ? zu.fromJSON(u.block) : void 0,
error: o(u.error) ? Pu.fromJSON(u.error) : void 0,
done: o(u.done) ? Iu.fromJSON(u.done) : void 0,
digest: o(u.digest) ? Su.fromJSON(u.digest) : void 0,
empty_dirs: o(u.empty_dirs) ? h0.fromJSON(u.empty_dirs) : void 0
}
}, toJSON(u) {
const e = {};
return u.dir !== void 0 && (e.dir = eu.toJSON(u.dir)), u.block !== void 0 && (e.block = zu.toJSON(u.block)), u.error !== void 0 && (e.error = Pu.toJSON(u.error)), u.done !== void 0 && (e.done = Iu.toJSON(u.done)), u.digest !== void 0 && (e.digest = Su.toJSON(u.digest)), u.empty_dirs !== void 0 && (e.empty_dirs = h0.toJSON(u.empty_dirs)), e
}, create(u) {
return ou.fromPartial(u != null ? u : {})
}, fromPartial(u) {
const e = T3();
return e.dir = u.dir !== void 0 && u.dir !== null ? eu.fromPartial(u.dir) : void 0, e.block = u.block !== void 0 && u.block !== null ? zu.fromPartial(u.block) : void 0, e.error = u.error !== void 0 && u.error !== null ? Pu.fromPartial(u.error) : void 0, e.done = u.done !== void 0 && u.done !== null ? Iu.fromPartial(u.done) : void 0, e.digest = u.digest !== void 0 && u.digest !== null ? Su.fromPartial(u.digest) : void 0, e.empty_dirs = u.empty_dirs !== void 0 && u.empty_dirs !== null ? h0.fromPartial(u.empty_dirs) : void 0, e
}
};
function j3() {
return {id: 0, file_num: 0, last_modified: 0, file_size: 0, is_upload: !1, is_identical: !1}
}
const Su = {
encode(u, e = r.Writer.create()) {
return u.id !== 0 && e.uint32(8).int32(u.id), u.file_num !== 0 && e.uint32(16).sint32(u.file_num), u.last_modified !== 0 && e.uint32(24).uint64(u.last_modified), u.file_size !== 0 && e.uint32(32).uint64(u.file_size), u.is_upload !== !1 && e.uint32(40).bool(u.is_upload), u.is_identical !== !1 && e.uint32(48).bool(u.is_identical), e
}, decode(u, e) {
const i = u instanceof r.Reader ? u : r.Reader.create(u);
let n = e === void 0 ? i.len : i.pos + e;
const a = j3();
for (; i.pos < n;) {
const t = i.uint32();
switch (t >>> 3) {
case 1:
if (t !== 8) break;
a.id = i.int32();
continue;
case 2:
if (t !== 16) break;
a.file_num = i.sint32();
continue;
case 3:
if (t !== 24) break;
a.last_modified = q(i.uint64());
continue;
case 4:
if (t !== 32) break;
a.file_size = q(i.uint64());
continue;
case 5:
if (t !== 40) break;
a.is_upload = i.bool();
continue;
case 6:
if (t !== 48) break;
a.is_identical = i.bool();
continue
}
if ((t & 7) === 4 || t === 0) break;
i.skipType(t & 7)
}
return a
}, fromJSON(u) {
return {
id: o(u.id) ? globalThis.Number(u.id) : 0,
file_num: o(u.file_num) ? globalThis.Number(u.file_num) : 0,
last_modified: o(u.last_modified) ? globalThis.Number(u.last_modified) : 0,
file_size: o(u.file_size) ? globalThis.Number(u.file_size) : 0,
is_upload: o(u.is_upload) ? globalThis.Boolean(u.is_upload) : !1,
is_identical: o(u.is_identical) ? globalThis.Boolean(u.is_identical) : !1
}
}, toJSON(u) {
const e = {};
return u.id !== 0 && (e.id = Math.round(u.id)), u.file_num !== 0 && (e.file_num = Math.round(u.file_num)), u.last_modified !== 0 && (e.last_modified = Math.round(u.last_modified)), u.file_size !== 0 && (e.file_size = Math.round(u.file_size)), u.is_upload !== !1 && (e.is_upload = u.is_upload), u.is_identical !== !1 && (e.is_identical = u.is_identical), e
}, create(u) {
return Su.fromPartial(u != null ? u : {})
}, fromPartial(u) {
var i, n, a, t, s, E;
const e = j3();
return e.id = (i = u.id) != null ? i : 0, e.file_num = (n = u.file_num) != null ? n : 0, e.last_modified = (a = u.last_modified) != null ? a : 0, e.file_size = (t = u.file_size) != null ? t : 0, e.is_upload = (s = u.is_upload) != null ? s : !1, e.is_identical = (E = u.is_identical) != null ? E : !1, e
}
};
function N3() {
return {id: 0, file_num: 0, data: new Uint8Array(0), compressed: !1, blk_id: 0}
}
const zu = {
encode(u, e = r.Writer.create()) {
return u.id !== 0 && e.uint32(8).int32(u.id), u.file_num !== 0 && e.uint32(16).sint32(u.file_num), u.data.length !== 0 && e.uint32(26).bytes(u.data), u.compressed !== !1 && e.uint32(32).bool(u.compressed), u.blk_id !== 0 && e.uint32(40).uint32(u.blk_id), e
}, decode(u, e) {
const i = u instanceof r.Reader ? u : r.Reader.create(u);
let n = e === void 0 ? i.len : i.pos + e;
const a = N3();
for (; i.pos < n;) {
const t = i.uint32();
switch (t >>> 3) {
case 1:
if (t !== 8) break;
a.id = i.int32();
continue;
case 2:
if (t !== 16) break;
a.file_num = i.sint32();
continue;
case 3:
if (t !== 26) break;
a.data = i.bytes();
continue;
case 4:
if (t !== 32) break;
a.compressed = i.bool();
continue;
case 5:
if (t !== 40) break;
a.blk_id = i.uint32();
continue
}
if ((t & 7) === 4 || t === 0) break;
i.skipType(t & 7)
}
return a
}, fromJSON(u) {
return {
id: o(u.id) ? globalThis.Number(u.id) : 0,
file_num: o(u.file_num) ? globalThis.Number(u.file_num) : 0,
data: o(u.data) ? z(u.data) : new Uint8Array(0),
compressed: o(u.compressed) ? globalThis.Boolean(u.compressed) : !1,
blk_id: o(u.blk_id) ? globalThis.Number(u.blk_id) : 0
}
}, toJSON(u) {
const e = {};
return u.id !== 0 && (e.id = Math.round(u.id)), u.file_num !== 0 && (e.file_num = Math.round(u.file_num)), u.data.length !== 0 && (e.data = P(u.data)), u.compressed !== !1 && (e.compressed = u.compressed), u.blk_id !== 0 && (e.blk_id = Math.round(u.blk_id)), e
}, create(u) {
return zu.fromPartial(u != null ? u : {})
}, fromPartial(u) {
var i, n, a, t, s;
const e = N3();
return e.id = (i = u.id) != null ? i : 0, e.file_num = (n = u.file_num) != null ? n : 0, e.data = (a = u.data) != null ? a : new Uint8Array(0), e.compressed = (t = u.compressed) != null ? t : !1, e.blk_id = (s = u.blk_id) != null ? s : 0, e
}
};
function O3() {
return {id: 0, error: "", file_num: 0}
}
const Pu = {
encode(u, e = r.Writer.create()) {
return u.id !== 0 && e.uint32(8).int32(u.id), u.error !== "" && e.uint32(18).string(u.error), u.file_num !== 0 && e.uint32(24).sint32(u.file_num), e
}, decode(u, e) {
const i = u instanceof r.Reader ? u : r.Reader.create(u);
let n = e === void 0 ? i.len : i.pos + e;
const a = O3();
for (; i.pos < n;) {
const t = i.uint32();
switch (t >>> 3) {
case 1:
if (t !== 8) break;
a.id = i.int32();
continue;
case 2:
if (t !== 18) break;
a.error = i.string();
continue;
case 3:
if (t !== 24) break;
a.file_num = i.sint32();
continue
}
if ((t & 7) === 4 || t === 0) break;
i.skipType(t & 7)
}
return a
}, fromJSON(u) {
return {
id: o(u.id) ? globalThis.Number(u.id) : 0,
error: o(u.error) ? globalThis.String(u.error) : "",
file_num: o(u.file_num) ? globalThis.Number(u.file_num) : 0
}
}, toJSON(u) {
const e = {};
return u.id !== 0 && (e.id = Math.round(u.id)), u.error !== "" && (e.error = u.error), u.file_num !== 0 && (e.file_num = Math.round(u.file_num)), e
}, create(u) {
return Pu.fromPartial(u != null ? u : {})
}, fromPartial(u) {
var i, n, a;
const e = O3();
return e.id = (i = u.id) != null ? i : 0, e.error = (n = u.error) != null ? n : "", e.file_num = (a = u.file_num) != null ? a : 0, e
}
};
function U3() {
return {id: 0, path: "", include_hidden: !1, file_num: 0, file_type: 0}
}
const Ru = {
encode(u, e = r.Writer.create()) {
return u.id !== 0 && e.uint32(8).int32(u.id), u.path !== "" && e.uint32(18).string(u.path), u.include_hidden !== !1 && e.uint32(24).bool(u.include_hidden), u.file_num !== 0 && e.uint32(32).int32(u.file_num), u.file_type !== 0 && e.uint32(40).int32(u.file_type), e
}, decode(u, e) {
const i = u instanceof r.Reader ? u : r.Reader.create(u);
let n = e === void 0 ? i.len : i.pos + e;
const a = U3();
for (; i.pos < n;) {
const t = i.uint32();
switch (t >>> 3) {
case 1:
if (t !== 8) break;
a.id = i.int32();
continue;
case 2:
if (t !== 18) break;
a.path = i.string();
continue;
case 3:
if (t !== 24) break;
a.include_hidden = i.bool();
continue;
case 4:
if (t !== 32) break;
a.file_num = i.int32();
continue;
case 5:
if (t !== 40) break;
a.file_type = i.int32();
continue
}
if ((t & 7) === 4 || t === 0) break;
i.skipType(t & 7)
}
return a
}, fromJSON(u) {
return {
id: o(u.id) ? globalThis.Number(u.id) : 0,
path: o(u.path) ? globalThis.String(u.path) : "",
include_hidden: o(u.include_hidden) ? globalThis.Boolean(u.include_hidden) : !1,
file_num: o(u.file_num) ? globalThis.Number(u.file_num) : 0,
file_type: o(u.file_type) ? ja(u.file_type) : 0
}
}, toJSON(u) {
const e = {};
return u.id !== 0 && (e.id = Math.round(u.id)), u.path !== "" && (e.path = u.path), u.include_hidden !== !1 && (e.include_hidden = u.include_hidden), u.file_num !== 0 && (e.file_num = Math.round(u.file_num)), u.file_type !== 0 && (e.file_type = Na(u.file_type)), e
}, create(u) {
return Ru.fromPartial(u != null ? u : {})
}, fromPartial(u) {
var i, n, a, t, s;
const e = U3();
return e.id = (i = u.id) != null ? i : 0, e.path = (n = u.path) != null ? n : "", e.include_hidden = (a = u.include_hidden) != null ? a : !1, e.file_num = (t = u.file_num) != null ? t : 0, e.file_type = (s = u.file_type) != null ? s : 0, e
}
};
function M3() {
return {id: 0, file_num: 0, skip: void 0, offset_blk: void 0}
}
const du = {
encode(u, e = r.Writer.create()) {
return u.id !== 0 && e.uint32(8).int32(u.id), u.file_num !== 0 && e.uint32(16).sint32(u.file_num), u.skip !== void 0 && e.uint32(24).bool(u.skip), u.offset_blk !== void 0 && e.uint32(32).uint32(u.offset_blk), e
}, decode(u, e) {
const i = u instanceof r.Reader ? u : r.Reader.create(u);
let n = e === void 0 ? i.len : i.pos + e;
const a = M3();
for (; i.pos < n;) {
const t = i.uint32();
switch (t >>> 3) {
case 1:
if (t !== 8) break;
a.id = i.int32();
continue;
case 2:
if (t !== 16) break;
a.file_num = i.sint32();
continue;
case 3:
if (t !== 24) break;
a.skip = i.bool();
continue;
case 4:
if (t !== 32) break;
a.offset_blk = i.uint32();
continue
}
if ((t & 7) === 4 || t === 0) break;
i.skipType(t & 7)
}
return a
}, fromJSON(u) {
return {
id: o(u.id) ? globalThis.Number(u.id) : 0,
file_num: o(u.file_num) ? globalThis.Number(u.file_num) : 0,
skip: o(u.skip) ? globalThis.Boolean(u.skip) : void 0,
offset_blk: o(u.offset_blk) ? globalThis.Number(u.offset_blk) : void 0
}
}, toJSON(u) {
const e = {};
return u.id !== 0 && (e.id = Math.round(u.id)), u.file_num !== 0 && (e.file_num = Math.round(u.file_num)), u.skip !== void 0 && (e.skip = u.skip), u.offset_blk !== void 0 && (e.offset_blk = Math.round(u.offset_blk)), e
}, create(u) {
return du.fromPartial(u != null ? u : {})
}, fromPartial(u) {
var i, n, a, t;
const e = M3();
return e.id = (i = u.id) != null ? i : 0, e.file_num = (n = u.file_num) != null ? n : 0, e.skip = (a = u.skip) != null ? a : void 0, e.offset_blk = (t = u.offset_blk) != null ? t : void 0, e
}
};
function L3() {
return {id: 0, file_num: 0}
}
const Iu = {
encode(u, e = r.Writer.create()) {
return u.id !== 0 && e.uint32(8).int32(u.id), u.file_num !== 0 && e.uint32(16).sint32(u.file_num), e
}, decode(u, e) {
const i = u instanceof r.Reader ? u : r.Reader.create(u);
let n = e === void 0 ? i.len : i.pos + e;
const a = L3();
for (; i.pos < n;) {
const t = i.uint32();
switch (t >>> 3) {
case 1:
if (t !== 8) break;
a.id = i.int32();
continue;
case 2:
if (t !== 16) break;
a.file_num = i.sint32();
continue
}
if ((t & 7) === 4 || t === 0) break;
i.skipType(t & 7)
}
return a
}, fromJSON(u) {
return {id: o(u.id) ? globalThis.Number(u.id) : 0, file_num: o(u.file_num) ? globalThis.Number(u.file_num) : 0}
}, toJSON(u) {
const e = {};
return u.id !== 0 && (e.id = Math.round(u.id)), u.file_num !== 0 && (e.file_num = Math.round(u.file_num)), e
}, create(u) {
return Iu.fromPartial(u != null ? u : {})
}, fromPartial(u) {
var i, n;
const e = L3();
return e.id = (i = u.id) != null ? i : 0, e.file_num = (n = u.file_num) != null ? n : 0, e
}
};
function W3() {
return {id: 0, path: "", files: [], file_num: 0, total_size: 0}
}
const Tu = {
encode(u, e = r.Writer.create()) {
u.id !== 0 && e.uint32(8).int32(u.id), u.path !== "" && e.uint32(18).string(u.path);
for (const i of u.files) V.encode(i, e.uint32(26).fork()).ldelim();
return u.file_num !== 0 && e.uint32(32).int32(u.file_num), u.total_size !== 0 && e.uint32(40).uint64(u.total_size), e
}, decode(u, e) {
const i = u instanceof r.Reader ? u : r.Reader.create(u);
let n = e === void 0 ? i.len : i.pos + e;
const a = W3();
for (; i.pos < n;) {
const t = i.uint32();
switch (t >>> 3) {
case 1:
if (t !== 8) break;
a.id = i.int32();
continue;
case 2:
if (t !== 18) break;
a.path = i.string();
continue;
case 3:
if (t !== 26) break;
a.files.push(V.decode(i, i.uint32()));
continue;
case 4:
if (t !== 32) break;
a.file_num = i.int32();
continue;
case 5:
if (t !== 40) break;
a.total_size = q(i.uint64());
continue
}
if ((t & 7) === 4 || t === 0) break;
i.skipType(t & 7)
}
return a
}, fromJSON(u) {
return {
id: o(u.id) ? globalThis.Number(u.id) : 0,
path: o(u.path) ? globalThis.String(u.path) : "",
files: globalThis.Array.isArray(u == null ? void 0 : u.files) ? u.files.map(e => V.fromJSON(e)) : [],
file_num: o(u.file_num) ? globalThis.Number(u.file_num) : 0,
total_size: o(u.total_size) ? globalThis.Number(u.total_size) : 0
}
}, toJSON(u) {
var i;
const e = {};
return u.id !== 0 && (e.id = Math.round(u.id)), u.path !== "" && (e.path = u.path), (i = u.files) != null && i.length && (e.files = u.files.map(n => V.toJSON(n))), u.file_num !== 0 && (e.file_num = Math.round(u.file_num)), u.total_size !== 0 && (e.total_size = Math.round(u.total_size)), e
}, create(u) {
return Tu.fromPartial(u != null ? u : {})
}, fromPartial(u) {
var i, n, a, t, s;
const e = W3();
return e.id = (i = u.id) != null ? i : 0, e.path = (n = u.path) != null ? n : "", e.files = ((a = u.files) == null ? void 0 : a.map(E => V.fromPartial(E))) || [], e.file_num = (t = u.file_num) != null ? t : 0, e.total_size = (s = u.total_size) != null ? s : 0, e
}
};
function V3() {
return {id: 0, path: "", recursive: !1}
}
const ju = {
encode(u, e = r.Writer.create()) {
return u.id !== 0 && e.uint32(8).int32(u.id), u.path !== "" && e.uint32(18).string(u.path), u.recursive !== !1 && e.uint32(24).bool(u.recursive), e
}, decode(u, e) {
const i = u instanceof r.Reader ? u : r.Reader.create(u);
let n = e === void 0 ? i.len : i.pos + e;
const a = V3();
for (; i.pos < n;) {
const t = i.uint32();
switch (t >>> 3) {
case 1:
if (t !== 8) break;
a.id = i.int32();
continue;
case 2:
if (t !== 18) break;
a.path = i.string();
continue;
case 3:
if (t !== 24) break;
a.recursive = i.bool();
continue
}
if ((t & 7) === 4 || t === 0) break;
i.skipType(t & 7)
}
return a
}, fromJSON(u) {
return {
id: o(u.id) ? globalThis.Number(u.id) : 0,
path: o(u.path) ? globalThis.String(u.path) : "",
recursive: o(u.recursive) ? globalThis.Boolean(u.recursive) : !1
}
}, toJSON(u) {
const e = {};
return u.id !== 0 && (e.id = Math.round(u.id)), u.path !== "" && (e.path = u.path), u.recursive !== !1 && (e.recursive = u.recursive), e
}, create(u) {
return ju.fromPartial(u != null ? u : {})
}, fromPartial(u) {
var i, n, a;
const e = V3();
return e.id = (i = u.id) != null ? i : 0, e.path = (n = u.path) != null ? n : "", e.recursive = (a = u.recursive) != null ? a : !1, e
}
};
function q3() {
return {id: 0, path: "", file_num: 0}
}
const Nu = {
encode(u, e = r.Writer.create()) {
return u.id !== 0 && e.uint32(8).int32(u.id), u.path !== "" && e.uint32(18).string(u.path), u.file_num !== 0 && e.uint32(24).sint32(u.file_num), e
}, decode(u, e) {
const i = u instanceof r.Reader ? u : r.Reader.create(u);
let n = e === void 0 ? i.len : i.pos + e;
const a = q3();
for (; i.pos < n;) {
const t = i.uint32();
switch (t >>> 3) {
case 1:
if (t !== 8) break;
a.id = i.int32();
continue;
case 2:
if (t !== 18) break;
a.path = i.string();
continue;
case 3:
if (t !== 24) break;
a.file_num = i.sint32();
continue
}
if ((t & 7) === 4 || t === 0) break;
i.skipType(t & 7)
}
return a
}, fromJSON(u) {
return {
id: o(u.id) ? globalThis.Number(u.id) : 0,
path: o(u.path) ? globalThis.String(u.path) : "",
file_num: o(u.file_num) ? globalThis.Number(u.file_num) : 0
}
}, toJSON(u) {
const e = {};
return u.id !== 0 && (e.id = Math.round(u.id)), u.path !== "" && (e.path = u.path), u.file_num !== 0 && (e.file_num = Math.round(u.file_num)), e
}, create(u) {
return Nu.fromPartial(u != null ? u : {})
}, fromPartial(u) {
var i, n, a;
const e = q3();
return e.id = (i = u.id) != null ? i : 0, e.path = (n = u.path) != null ? n : "", e.file_num = (a = u.file_num) != null ? a : 0, e
}
};
function K3() {
return {id: 0, path: ""}
}
const Ou = {
encode(u, e = r.Writer.create()) {
return u.id !== 0 && e.uint32(8).int32(u.id), u.path !== "" && e.uint32(18).string(u.path), e
}, decode(u, e) {
const i = u instanceof r.Reader ? u : r.Reader.create(u);
let n = e === void 0 ? i.len : i.pos + e;
const a = K3();
for (; i.pos < n;) {
const t = i.uint32();
switch (t >>> 3) {
case 1:
if (t !== 8) break;
a.id = i.int32();
continue;
case 2:
if (t !== 18) break;
a.path = i.string();
continue
}
if ((t & 7) === 4 || t === 0) break;
i.skipType(t & 7)
}
return a
}, fromJSON(u) {
return {id: o(u.id) ? globalThis.Number(u.id) : 0, path: o(u.path) ? globalThis.String(u.path) : ""}
}, toJSON(u) {
const e = {};
return u.id !== 0 && (e.id = Math.round(u.id)), u.path !== "" && (e.path = u.path), e
}, create(u) {
return Ou.fromPartial(u != null ? u : {})
}, fromPartial(u) {
var i, n;
const e = K3();
return e.id = (i = u.id) != null ? i : 0, e.path = (n = u.path) != null ? n : "", e
}
};
function H3() {
return {}
}
const f0 = {
encode(u, e = r.Writer.create()) {
return e
}, decode(u, e) {
const i = u instanceof r.Reader ? u : r.Reader.create(u);
let n = e === void 0 ? i.len : i.pos + e;
const a = H3();
for (; i.pos < n;) {
const t = i.uint32();
if ((t & 7) === 4 || t === 0) break;
i.skipType(t & 7)
}
return a
}, fromJSON(u) {
return {}
}, toJSON(u) {
return {}
}, create(u) {
return f0.fromPartial(u != null ? u : {})
}, fromPartial(u) {
return H3()
}
};
function J3() {
return {id: 0, format: ""}
}
const x0 = {
encode(u, e = r.Writer.create()) {
return u.id !== 0 && e.uint32(16).int32(u.id), u.format !== "" && e.uint32(26).string(u.format), e
}, decode(u, e) {
const i = u instanceof r.Reader ? u : r.Reader.create(u);
let n = e === void 0 ? i.len : i.pos + e;
const a = J3();
for (; i.pos < n;) {
const t = i.uint32();
switch (t >>> 3) {
case 2:
if (t !== 16) break;
a.id = i.int32();
continue;
case 3:
if (t !== 26) break;
a.format = i.string();
continue
}
if ((t & 7) === 4 || t === 0) break;
i.skipType(t & 7)
}
return a
}, fromJSON(u) {
return {id: o(u.id) ? globalThis.Number(u.id) : 0, format: o(u.format) ? globalThis.String(u.format) : ""}
}, toJSON(u) {
const e = {};
return u.id !== 0 && (e.id = Math.round(u.id)), u.format !== "" && (e.format = u.format), e
}, create(u) {
return x0.fromPartial(u != null ? u : {})
}, fromPartial(u) {
var i, n;
const e = J3();
return e.id = (i = u.id) != null ? i : 0, e.format = (n = u.format) != null ? n : "", e
}
};
function G3() {
return {formats: []}
}
const y0 = {
encode(u, e = r.Writer.create()) {
for (const i of u.formats) x0.encode(i, e.uint32(18).fork()).ldelim();
return e
}, decode(u, e) {
const i = u instanceof r.Reader ? u : r.Reader.create(u);
let n = e === void 0 ? i.len : i.pos + e;
const a = G3();
for (; i.pos < n;) {
const t = i.uint32();
switch (t >>> 3) {
case 2:
if (t !== 18) break;
a.formats.push(x0.decode(i, i.uint32()));
continue
}
if ((t & 7) === 4 || t === 0) break;
i.skipType(t & 7)
}
return a
}, fromJSON(u) {
return {formats: globalThis.Array.isArray(u == null ? void 0 : u.formats) ? u.formats.map(e => x0.fromJSON(e)) : []}
}, toJSON(u) {
var i;
const e = {};
return (i = u.formats) != null && i.length && (e.formats = u.formats.map(n => x0.toJSON(n))), e
}, create(u) {
return y0.fromPartial(u != null ? u : {})
}, fromPartial(u) {
var i;
const e = G3();
return e.formats = ((i = u.formats) == null ? void 0 : i.map(n => x0.fromPartial(n))) || [], e
}
};
function Z3() {
return {msg_flags: 0}
}
const b0 = {
encode(u, e = r.Writer.create()) {
return u.msg_flags !== 0 && e.uint32(16).int32(u.msg_flags), e
}, decode(u, e) {
const i = u instanceof r.Reader ? u : r.Reader.create(u);
let n = e === void 0 ? i.len : i.pos + e;
const a = Z3();
for (; i.pos < n;) {
const t = i.uint32();
switch (t >>> 3) {
case 2:
if (t !== 16) break;
a.msg_flags = i.int32();
continue
}
if ((t & 7) === 4 || t === 0) break;
i.skipType(t & 7)
}
return a
}, fromJSON(u) {
return {msg_flags: o(u.msg_flags) ? globalThis.Number(u.msg_flags) : 0}
}, toJSON(u) {
const e = {};
return u.msg_flags !== 0 && (e.msg_flags = Math.round(u.msg_flags)), e
}, create(u) {
return b0.fromPartial(u != null ? u : {})
}, fromPartial(u) {
var i;
const e = Z3();
return e.msg_flags = (i = u.msg_flags) != null ? i : 0, e
}
};
function Q3() {
return {requested_format_id: 0}
}
const w0 = {
encode(u, e = r.Writer.create()) {
return u.requested_format_id !== 0 && e.uint32(16).int32(u.requested_format_id), e
}, decode(u, e) {
const i = u instanceof r.Reader ? u : r.Reader.create(u);
let n = e === void 0 ? i.len : i.pos + e;
const a = Q3();
for (; i.pos < n;) {
const t = i.uint32();
switch (t >>> 3) {
case 2:
if (t !== 16) break;
a.requested_format_id = i.int32();
continue
}
if ((t & 7) === 4 || t === 0) break;
i.skipType(t & 7)
}
return a
}, fromJSON(u) {
return {requested_format_id: o(u.requested_format_id) ? globalThis.Number(u.requested_format_id) : 0}
}, toJSON(u) {
const e = {};
return u.requested_format_id !== 0 && (e.requested_format_id = Math.round(u.requested_format_id)), e
}, create(u) {
return w0.fromPartial(u != null ? u : {})
}, fromPartial(u) {
var i;
const e = Q3();
return e.requested_format_id = (i = u.requested_format_id) != null ? i : 0, e
}
};
function X3() {
return {msg_flags: 0, format_data: new Uint8Array(0)}
}
const S0 = {
encode(u, e = r.Writer.create()) {
return u.msg_flags !== 0 && e.uint32(16).int32(u.msg_flags), u.format_data.length !== 0 && e.uint32(26).bytes(u.format_data), e
}, decode(u, e) {
const i = u instanceof r.Reader ? u : r.Reader.create(u);
let n = e === void 0 ? i.len : i.pos + e;
const a = X3();
for (; i.pos < n;) {
const t = i.uint32();
switch (t >>> 3) {
case 2:
if (t !== 16) break;
a.msg_flags = i.int32();
continue;
case 3:
if (t !== 26) break;
a.format_data = i.bytes();
continue
}
if ((t & 7) === 4 || t === 0) break;
i.skipType(t & 7)
}
return a
}, fromJSON(u) {
return {
msg_flags: o(u.msg_flags) ? globalThis.Number(u.msg_flags) : 0,
format_data: o(u.format_data) ? z(u.format_data) : new Uint8Array(0)
}
}, toJSON(u) {
const e = {};
return u.msg_flags !== 0 && (e.msg_flags = Math.round(u.msg_flags)), u.format_data.length !== 0 && (e.format_data = P(u.format_data)), e
}, create(u) {
return S0.fromPartial(u != null ? u : {})
}, fromPartial(u) {
var i, n;
const e = X3();
return e.msg_flags = (i = u.msg_flags) != null ? i : 0, e.format_data = (n = u.format_data) != null ? n : new Uint8Array(0), e
}
};
function Y3() {
return {
stream_id: 0,
list_index: 0,
dw_flags: 0,
n_position_low: 0,
n_position_high: 0,
cb_requested: 0,
have_clip_data_id: !1,
clip_data_id: 0
}
}
const z0 = {
encode(u, e = r.Writer.create()) {
return u.stream_id !== 0 && e.uint32(16).int32(u.stream_id), u.list_index !== 0 && e.uint32(24).int32(u.list_index), u.dw_flags !== 0 && e.uint32(32).int32(u.dw_flags), u.n_position_low !== 0 && e.uint32(40).int32(u.n_position_low), u.n_position_high !== 0 && e.uint32(48).int32(u.n_position_high), u.cb_requested !== 0 && e.uint32(56).int32(u.cb_requested), u.have_clip_data_id !== !1 && e.uint32(64).bool(u.have_clip_data_id), u.clip_data_id !== 0 && e.uint32(72).int32(u.clip_data_id), e
}, decode(u, e) {
const i = u instanceof r.Reader ? u : r.Reader.create(u);
let n = e === void 0 ? i.len : i.pos + e;
const a = Y3();
for (; i.pos < n;) {
const t = i.uint32();
switch (t >>> 3) {
case 2:
if (t !== 16) break;
a.stream_id = i.int32();
continue;
case 3:
if (t !== 24) break;
a.list_index = i.int32();
continue;
case 4:
if (t !== 32) break;
a.dw_flags = i.int32();
continue;
case 5:
if (t !== 40) break;
a.n_position_low = i.int32();
continue;
case 6:
if (t !== 48) break;
a.n_position_high = i.int32();
continue;
case 7:
if (t !== 56) break;
a.cb_requested = i.int32();
continue;
case 8:
if (t !== 64) break;
a.have_clip_data_id = i.bool();
continue;
case 9:
if (t !== 72) break;
a.clip_data_id = i.int32();
continue
}
if ((t & 7) === 4 || t === 0) break;
i.skipType(t & 7)
}
return a
}, fromJSON(u) {
return {
stream_id: o(u.stream_id) ? globalThis.Number(u.stream_id) : 0,
list_index: o(u.list_index) ? globalThis.Number(u.list_index) : 0,
dw_flags: o(u.dw_flags) ? globalThis.Number(u.dw_flags) : 0,
n_position_low: o(u.n_position_low) ? globalThis.Number(u.n_position_low) : 0,
n_position_high: o(u.n_position_high) ? globalThis.Number(u.n_position_high) : 0,
cb_requested: o(u.cb_requested) ? globalThis.Number(u.cb_requested) : 0,
have_clip_data_id: o(u.have_clip_data_id) ? globalThis.Boolean(u.have_clip_data_id) : !1,
clip_data_id: o(u.clip_data_id) ? globalThis.Number(u.clip_data_id) : 0
}
}, toJSON(u) {
const e = {};
return u.stream_id !== 0 && (e.stream_id = Math.round(u.stream_id)), u.list_index !== 0 && (e.list_index = Math.round(u.list_index)), u.dw_flags !== 0 && (e.dw_flags = Math.round(u.dw_flags)), u.n_position_low !== 0 && (e.n_position_low = Math.round(u.n_position_low)), u.n_position_high !== 0 && (e.n_position_high = Math.round(u.n_position_high)), u.cb_requested !== 0 && (e.cb_requested = Math.round(u.cb_requested)), u.have_clip_data_id !== !1 && (e.have_clip_data_id = u.have_clip_data_id), u.clip_data_id !== 0 && (e.clip_data_id = Math.round(u.clip_data_id)), e
}, create(u) {
return z0.fromPartial(u != null ? u : {})
}, fromPartial(u) {
var i, n, a, t, s, E, l, d;
const e = Y3();
return e.stream_id = (i = u.stream_id) != null ? i : 0, e.list_index = (n = u.list_index) != null ? n : 0, e.dw_flags = (a = u.dw_flags) != null ? a : 0, e.n_position_low = (t = u.n_position_low) != null ? t : 0, e.n_position_high = (s = u.n_position_high) != null ? s : 0, e.cb_requested = (E = u.cb_requested) != null ? E : 0, e.have_clip_data_id = (l = u.have_clip_data_id) != null ? l : !1, e.clip_data_id = (d = u.clip_data_id) != null ? d : 0, e
}
};
function $3() {
return {msg_flags: 0, stream_id: 0, requested_data: new Uint8Array(0)}
}
const P0 = {
encode(u, e = r.Writer.create()) {
return u.msg_flags !== 0 && e.uint32(24).int32(u.msg_flags), u.stream_id !== 0 && e.uint32(32).int32(u.stream_id), u.requested_data.length !== 0 && e.uint32(42).bytes(u.requested_data), e
}, decode(u, e) {
const i = u instanceof r.Reader ? u : r.Reader.create(u);
let n = e === void 0 ? i.len : i.pos + e;
const a = $3();
for (; i.pos < n;) {
const t = i.uint32();
switch (t >>> 3) {
case 3:
if (t !== 24) break;
a.msg_flags = i.int32();
continue;
case 4:
if (t !== 32) break;
a.stream_id = i.int32();
continue;
case 5:
if (t !== 42) break;
a.requested_data = i.bytes();
continue
}
if ((t & 7) === 4 || t === 0) break;
i.skipType(t & 7)
}
return a
}, fromJSON(u) {
return {
msg_flags: o(u.msg_flags) ? globalThis.Number(u.msg_flags) : 0,
stream_id: o(u.stream_id) ? globalThis.Number(u.stream_id) : 0,
requested_data: o(u.requested_data) ? z(u.requested_data) : new Uint8Array(0)
}
}, toJSON(u) {
const e = {};
return u.msg_flags !== 0 && (e.msg_flags = Math.round(u.msg_flags)), u.stream_id !== 0 && (e.stream_id = Math.round(u.stream_id)), u.requested_data.length !== 0 && (e.requested_data = P(u.requested_data)), e
}, create(u) {
return P0.fromPartial(u != null ? u : {})
}, fromPartial(u) {
var i, n, a;
const e = $3();
return e.msg_flags = (i = u.msg_flags) != null ? i : 0, e.stream_id = (n = u.stream_id) != null ? n : 0, e.requested_data = (a = u.requested_data) != null ? a : new Uint8Array(0), e
}
};
function ui() {
return {}
}
const R0 = {
encode(u, e = r.Writer.create()) {
return e
}, decode(u, e) {
const i = u instanceof r.Reader ? u : r.Reader.create(u);
let n = e === void 0 ? i.len : i.pos + e;
const a = ui();
for (; i.pos < n;) {
const t = i.uint32();
if ((t & 7) === 4 || t === 0) break;
i.skipType(t & 7)
}
return a
}, fromJSON(u) {
return {}
}, toJSON(u) {
return {}
}, create(u) {
return R0.fromPartial(u != null ? u : {})
}, fromPartial(u) {
return ui()
}
};
function ei() {
return {
ready: void 0,
format_list: void 0,
format_list_response: void 0,
format_data_request: void 0,
format_data_response: void 0,
file_contents_request: void 0,
file_contents_response: void 0,
try_empty: void 0
}
}
const I0 = {
encode(u, e = r.Writer.create()) {
return u.ready !== void 0 && f0.encode(u.ready, e.uint32(10).fork()).ldelim(), u.format_list !== void 0 && y0.encode(u.format_list, e.uint32(18).fork()).ldelim(), u.format_list_response !== void 0 && b0.encode(u.format_list_response, e.uint32(26).fork()).ldelim(), u.format_data_request !== void 0 && w0.encode(u.format_data_request, e.uint32(34).fork()).ldelim(), u.format_data_response !== void 0 && S0.encode(u.format_data_response, e.uint32(42).fork()).ldelim(), u.file_contents_request !== void 0 && z0.encode(u.file_contents_request, e.uint32(50).fork()).ldelim(), u.file_contents_response !== void 0 && P0.encode(u.file_contents_response, e.uint32(58).fork()).ldelim(), u.try_empty !== void 0 && R0.encode(u.try_empty, e.uint32(66).fork()).ldelim(), e
}, decode(u, e) {
const i = u instanceof r.Reader ? u : r.Reader.create(u);
let n = e === void 0 ? i.len : i.pos + e;
const a = ei();
for (; i.pos < n;) {
const t = i.uint32();
switch (t >>> 3) {
case 1:
if (t !== 10) break;
a.ready = f0.decode(i, i.uint32());
continue;
case 2:
if (t !== 18) break;
a.format_list = y0.decode(i, i.uint32());
continue;
case 3:
if (t !== 26) break;
a.format_list_response = b0.decode(i, i.uint32());
continue;
case 4:
if (t !== 34) break;
a.format_data_request = w0.decode(i, i.uint32());
continue;
case 5:
if (t !== 42) break;
a.format_data_response = S0.decode(i, i.uint32());
continue;
case 6:
if (t !== 50) break;
a.file_contents_request = z0.decode(i, i.uint32());
continue;
case 7:
if (t !== 58) break;
a.file_contents_response = P0.decode(i, i.uint32());
continue;
case 8:
if (t !== 66) break;
a.try_empty = R0.decode(i, i.uint32());
continue
}
if ((t & 7) === 4 || t === 0) break;
i.skipType(t & 7)
}
return a
}, fromJSON(u) {
return {
ready: o(u.ready) ? f0.fromJSON(u.ready) : void 0,
format_list: o(u.format_list) ? y0.fromJSON(u.format_list) : void 0,
format_list_response: o(u.format_list_response) ? b0.fromJSON(u.format_list_response) : void 0,
format_data_request: o(u.format_data_request) ? w0.fromJSON(u.format_data_request) : void 0,
format_data_response: o(u.format_data_response) ? S0.fromJSON(u.format_data_response) : void 0,
file_contents_request: o(u.file_contents_request) ? z0.fromJSON(u.file_contents_request) : void 0,
file_contents_response: o(u.file_contents_response) ? P0.fromJSON(u.file_contents_response) : void 0,
try_empty: o(u.try_empty) ? R0.fromJSON(u.try_empty) : void 0
}
}, toJSON(u) {
const e = {};
return u.ready !== void 0 && (e.ready = f0.toJSON(u.ready)), u.format_list !== void 0 && (e.format_list = y0.toJSON(u.format_list)), u.format_list_response !== void 0 && (e.format_list_response = b0.toJSON(u.format_list_response)), u.format_data_request !== void 0 && (e.format_data_request = w0.toJSON(u.format_data_request)), u.format_data_response !== void 0 && (e.format_data_response = S0.toJSON(u.format_data_response)), u.file_contents_request !== void 0 && (e.file_contents_request = z0.toJSON(u.file_contents_request)), u.file_contents_response !== void 0 && (e.file_contents_response = P0.toJSON(u.file_contents_response)), u.try_empty !== void 0 && (e.try_empty = R0.toJSON(u.try_empty)), e
}, create(u) {
return I0.fromPartial(u != null ? u : {})
}, fromPartial(u) {
const e = ei();
return e.ready = u.ready !== void 0 && u.ready !== null ? f0.fromPartial(u.ready) : void 0, e.format_list = u.format_list !== void 0 && u.format_list !== null ? y0.fromPartial(u.format_list) : void 0, e.format_list_response = u.format_list_response !== void 0 && u.format_list_response !== null ? b0.fromPartial(u.format_list_response) : void 0, e.format_data_request = u.format_data_request !== void 0 && u.format_data_request !== null ? w0.fromPartial(u.format_data_request) : void 0, e.format_data_response = u.format_data_response !== void 0 && u.format_data_response !== null ? S0.fromPartial(u.format_data_response) : void 0, e.file_contents_request = u.file_contents_request !== void 0 && u.file_contents_request !== null ? z0.fromPartial(u.file_contents_request) : void 0, e.file_contents_response = u.file_contents_response !== void 0 && u.file_contents_response !== null ? P0.fromPartial(u.file_contents_response) : void 0, e.try_empty = u.try_empty !== void 0 && u.try_empty !== null ? R0.fromPartial(u.try_empty) : void 0, e
}
};
function ii() {
return {width: 0, height: 0}
}
const v = {
encode(u, e = r.Writer.create()) {
return u.width !== 0 && e.uint32(8).int32(u.width), u.height !== 0 && e.uint32(16).int32(u.height), e
}, decode(u, e) {
const i = u instanceof r.Reader ? u : r.Reader.create(u);
let n = e === void 0 ? i.len : i.pos + e;
const a = ii();
for (; i.pos < n;) {
const t = i.uint32();
switch (t >>> 3) {
case 1:
if (t !== 8) break;
a.width = i.int32();
continue;
case 2:
if (t !== 16) break;
a.height = i.int32();
continue
}
if ((t & 7) === 4 || t === 0) break;
i.skipType(t & 7)
}
return a
}, fromJSON(u) {
return {
width: o(u.width) ? globalThis.Number(u.width) : 0,
height: o(u.height) ? globalThis.Number(u.height) : 0
}
}, toJSON(u) {
const e = {};
return u.width !== 0 && (e.width = Math.round(u.width)), u.height !== 0 && (e.height = Math.round(u.height)), e
}, create(u) {
return v.fromPartial(u != null ? u : {})
}, fromPartial(u) {
var i, n;
const e = ii();
return e.width = (i = u.width) != null ? i : 0, e.height = (n = u.height) != null ? n : 0, e
}
};
function ti() {
return {display: 0, resolution: void 0}
}
const Uu = {
encode(u, e = r.Writer.create()) {
return u.display !== 0 && e.uint32(8).int32(u.display), u.resolution !== void 0 && v.encode(u.resolution, e.uint32(18).fork()).ldelim(), e
}, decode(u, e) {
const i = u instanceof r.Reader ? u : r.Reader.create(u);
let n = e === void 0 ? i.len : i.pos + e;
const a = ti();
for (; i.pos < n;) {
const t = i.uint32();
switch (t >>> 3) {
case 1:
if (t !== 8) break;
a.display = i.int32();
continue;
case 2:
if (t !== 18) break;
a.resolution = v.decode(i, i.uint32());
continue
}
if ((t & 7) === 4 || t === 0) break;
i.skipType(t & 7)
}
return a
}, fromJSON(u) {
return {
display: o(u.display) ? globalThis.Number(u.display) : 0,
resolution: o(u.resolution) ? v.fromJSON(u.resolution) : void 0
}
}, toJSON(u) {
const e = {};
return u.display !== 0 && (e.display = Math.round(u.display)), u.resolution !== void 0 && (e.resolution = v.toJSON(u.resolution)), e
}, create(u) {
return Uu.fromPartial(u != null ? u : {})
}, fromPartial(u) {
var i;
const e = ti();
return e.display = (i = u.display) != null ? i : 0, e.resolution = u.resolution !== void 0 && u.resolution !== null ? v.fromPartial(u.resolution) : void 0, e
}
};
function ai() {
return {resolutions: []}
}
const iu = {
encode(u, e = r.Writer.create()) {
for (const i of u.resolutions) v.encode(i, e.uint32(10).fork()).ldelim();
return e
}, decode(u, e) {
const i = u instanceof r.Reader ? u : r.Reader.create(u);
let n = e === void 0 ? i.len : i.pos + e;
const a = ai();
for (; i.pos < n;) {
const t = i.uint32();
switch (t >>> 3) {
case 1:
if (t !== 10) break;
a.resolutions.push(v.decode(i, i.uint32()));
continue
}
if ((t & 7) === 4 || t === 0) break;
i.skipType(t & 7)
}
return a
}, fromJSON(u) {
return {resolutions: globalThis.Array.isArray(u == null ? void 0 : u.resolutions) ? u.resolutions.map(e => v.fromJSON(e)) : []}
}, toJSON(u) {
var i;
const e = {};
return (i = u.resolutions) != null && i.length && (e.resolutions = u.resolutions.map(n => v.toJSON(n))), e
}, create(u) {
return iu.fromPartial(u != null ? u : {})
}, fromPartial(u) {
var i;
const e = ai();
return e.resolutions = ((i = u.resolutions) == null ? void 0 : i.map(n => v.fromPartial(n))) || [], e
}
};
function ni() {
return {
display: 0,
x: 0,
y: 0,
width: 0,
height: 0,
cursor_embedded: !1,
resolutions: void 0,
original_resolution: void 0
}
}
const Mu = {
encode(u, e = r.Writer.create()) {
return u.display !== 0 && e.uint32(8).int32(u.display), u.x !== 0 && e.uint32(16).sint32(u.x), u.y !== 0 && e.uint32(24).sint32(u.y), u.width !== 0 && e.uint32(32).int32(u.width), u.height !== 0 && e.uint32(40).int32(u.height), u.cursor_embedded !== !1 && e.uint32(48).bool(u.cursor_embedded), u.resolutions !== void 0 && iu.encode(u.resolutions, e.uint32(58).fork()).ldelim(), u.original_resolution !== void 0 && v.encode(u.original_resolution, e.uint32(66).fork()).ldelim(), e
}, decode(u, e) {
const i = u instanceof r.Reader ? u : r.Reader.create(u);
let n = e === void 0 ? i.len : i.pos + e;
const a = ni();
for (; i.pos < n;) {
const t = i.uint32();
switch (t >>> 3) {
case 1:
if (t !== 8) break;
a.display = i.int32();
continue;
case 2:
if (t !== 16) break;
a.x = i.sint32();
continue;
case 3:
if (t !== 24) break;
a.y = i.sint32();
continue;
case 4:
if (t !== 32) break;
a.width = i.int32();
continue;
case 5:
if (t !== 40) break;
a.height = i.int32();
continue;
case 6:
if (t !== 48) break;
a.cursor_embedded = i.bool();
continue;
case 7:
if (t !== 58) break;
a.resolutions = iu.decode(i, i.uint32());
continue;
case 8:
if (t !== 66) break;
a.original_resolution = v.decode(i, i.uint32());
continue
}
if ((t & 7) === 4 || t === 0) break;
i.skipType(t & 7)
}
return a
}, fromJSON(u) {
return {
display: o(u.display) ? globalThis.Number(u.display) : 0,
x: o(u.x) ? globalThis.Number(u.x) : 0,
y: o(u.y) ? globalThis.Number(u.y) : 0,
width: o(u.width) ? globalThis.Number(u.width) : 0,
height: o(u.height) ? globalThis.Number(u.height) : 0,
cursor_embedded: o(u.cursor_embedded) ? globalThis.Boolean(u.cursor_embedded) : !1,
resolutions: o(u.resolutions) ? iu.fromJSON(u.resolutions) : void 0,
original_resolution: o(u.original_resolution) ? v.fromJSON(u.original_resolution) : void 0
}
}, toJSON(u) {
const e = {};
return u.display !== 0 && (e.display = Math.round(u.display)), u.x !== 0 && (e.x = Math.round(u.x)), u.y !== 0 && (e.y = Math.round(u.y)), u.width !== 0 && (e.width = Math.round(u.width)), u.height !== 0 && (e.height = Math.round(u.height)), u.cursor_embedded !== !1 && (e.cursor_embedded = u.cursor_embedded), u.resolutions !== void 0 && (e.resolutions = iu.toJSON(u.resolutions)), u.original_resolution !== void 0 && (e.original_resolution = v.toJSON(u.original_resolution)), e
}, create(u) {
return Mu.fromPartial(u != null ? u : {})
}, fromPartial(u) {
var i, n, a, t, s, E;
const e = ni();
return e.display = (i = u.display) != null ? i : 0, e.x = (n = u.x) != null ? n : 0, e.y = (a = u.y) != null ? a : 0, e.width = (t = u.width) != null ? t : 0, e.height = (s = u.height) != null ? s : 0, e.cursor_embedded = (E = u.cursor_embedded) != null ? E : !1, e.resolutions = u.resolutions !== void 0 && u.resolutions !== null ? iu.fromPartial(u.resolutions) : void 0, e.original_resolution = u.original_resolution !== void 0 && u.original_resolution !== null ? v.fromPartial(u.original_resolution) : void 0, e
}
};
function oi() {
return {add: [], sub: [], set: []}
}
const Lu = {
encode(u, e = r.Writer.create()) {
e.uint32(10).fork();
for (const i of u.add) e.int32(i);
e.ldelim(), e.uint32(18).fork();
for (const i of u.sub) e.int32(i);
e.ldelim(), e.uint32(26).fork();
for (const i of u.set) e.int32(i);
return e.ldelim(), e
}, decode(u, e) {
const i = u instanceof r.Reader ? u : r.Reader.create(u);
let n = e === void 0 ? i.len : i.pos + e;
const a = oi();
for (; i.pos < n;) {
const t = i.uint32();
switch (t >>> 3) {
case 1:
if (t === 8) {
a.add.push(i.int32());
continue
}
if (t === 10) {
const s = i.uint32() + i.pos;
for (; i.pos < s;) a.add.push(i.int32());
continue
}
break;
case 2:
if (t === 16) {
a.sub.push(i.int32());
continue
}
if (t === 18) {
const s = i.uint32() + i.pos;
for (; i.pos < s;) a.sub.push(i.int32());
continue
}
break;
case 3:
if (t === 24) {
a.set.push(i.int32());
continue
}
if (t === 26) {
const s = i.uint32() + i.pos;
for (; i.pos < s;) a.set.push(i.int32());
continue
}
break
}
if ((t & 7) === 4 || t === 0) break;
i.skipType(t & 7)
}
return a
}, fromJSON(u) {
return {
add: globalThis.Array.isArray(u == null ? void 0 : u.add) ? u.add.map(e => globalThis.Number(e)) : [],
sub: globalThis.Array.isArray(u == null ? void 0 : u.sub) ? u.sub.map(e => globalThis.Number(e)) : [],
set: globalThis.Array.isArray(u == null ? void 0 : u.set) ? u.set.map(e => globalThis.Number(e)) : []
}
}, toJSON(u) {
var i, n, a;
const e = {};
return (i = u.add) != null && i.length && (e.add = u.add.map(t => Math.round(t))), (n = u.sub) != null && n.length && (e.sub = u.sub.map(t => Math.round(t))), (a = u.set) != null && a.length && (e.set = u.set.map(t => Math.round(t))), e
}, create(u) {
return Lu.fromPartial(u != null ? u : {})
}, fromPartial(u) {
var i, n, a;
const e = oi();
return e.add = ((i = u.add) == null ? void 0 : i.map(t => t)) || [], e.sub = ((n = u.sub) == null ? void 0 : n.map(t => t)) || [], e.set = ((a = u.set) == null ? void 0 : a.map(t => t)) || [], e
}
};
function ri() {
return {display: 0, on: !1}
}
const Wu = {
encode(u, e = r.Writer.create()) {
return u.display !== 0 && e.uint32(8).int32(u.display), u.on !== !1 && e.uint32(16).bool(u.on), e
}, decode(u, e) {
const i = u instanceof r.Reader ? u : r.Reader.create(u);
let n = e === void 0 ? i.len : i.pos + e;
const a = ri();
for (; i.pos < n;) {
const t = i.uint32();
switch (t >>> 3) {
case 1:
if (t !== 8) break;
a.display = i.int32();
continue;
case 2:
if (t !== 16) break;
a.on = i.bool();
continue
}
if ((t & 7) === 4 || t === 0) break;
i.skipType(t & 7)
}
return a
}, fromJSON(u) {
return {display: o(u.display) ? globalThis.Number(u.display) : 0, on: o(u.on) ? globalThis.Boolean(u.on) : !1}
}, toJSON(u) {
const e = {};
return u.display !== 0 && (e.display = Math.round(u.display)), u.on !== !1 && (e.on = u.on), e
}, create(u) {
return Wu.fromPartial(u != null ? u : {})
}, fromPartial(u) {
var i, n;
const e = ri();
return e.display = (i = u.display) != null ? i : 0, e.on = (n = u.on) != null ? n : !1, e
}
};
function si() {
return {impl_key: "", on: !1}
}
const Vu = {
encode(u, e = r.Writer.create()) {
return u.impl_key !== "" && e.uint32(10).string(u.impl_key), u.on !== !1 && e.uint32(16).bool(u.on), e
}, decode(u, e) {
const i = u instanceof r.Reader ? u : r.Reader.create(u);
let n = e === void 0 ? i.len : i.pos + e;
const a = si();
for (; i.pos < n;) {
const t = i.uint32();
switch (t >>> 3) {
case 1:
if (t !== 10) break;
a.impl_key = i.string();
continue;
case 2:
if (t !== 16) break;
a.on = i.bool();
continue
}
if ((t & 7) === 4 || t === 0) break;
i.skipType(t & 7)
}
return a
}, fromJSON(u) {
return {
impl_key: o(u.impl_key) ? globalThis.String(u.impl_key) : "",
on: o(u.on) ? globalThis.Boolean(u.on) : !1
}
}, toJSON(u) {
const e = {};
return u.impl_key !== "" && (e.impl_key = u.impl_key), u.on !== !1 && (e.on = u.on), e
}, create(u) {
return Vu.fromPartial(u != null ? u : {})
}, fromPartial(u) {
var i, n;
const e = si();
return e.impl_key = (i = u.impl_key) != null ? i : "", e.on = (n = u.on) != null ? n : !1, e
}
};
function Ei() {
return {permission: 0, enabled: !1}
}
const T0 = {
encode(u, e = r.Writer.create()) {
return u.permission !== 0 && e.uint32(8).int32(u.permission), u.enabled !== !1 && e.uint32(16).bool(u.enabled), e
}, decode(u, e) {
const i = u instanceof r.Reader ? u : r.Reader.create(u);
let n = e === void 0 ? i.len : i.pos + e;
const a = Ei();
for (; i.pos < n;) {
const t = i.uint32();
switch (t >>> 3) {
case 1:
if (t !== 8) break;
a.permission = i.int32();
continue;
case 2:
if (t !== 16) break;
a.enabled = i.bool();
continue
}
if ((t & 7) === 4 || t === 0) break;
i.skipType(t & 7)
}
return a
}, fromJSON(u) {
return {
permission: o(u.permission) ? Oa(u.permission) : 0,
enabled: o(u.enabled) ? globalThis.Boolean(u.enabled) : !1
}
}, toJSON(u) {
const e = {};
return u.permission !== 0 && (e.permission = Ua(u.permission)), u.enabled !== !1 && (e.enabled = u.enabled), e
}, create(u) {
return T0.fromPartial(u != null ? u : {})
}, fromPartial(u) {
var i, n;
const e = Ei();
return e.permission = (i = u.permission) != null ? i : 0, e.enabled = (n = u.enabled) != null ? n : !1, e
}
};
function li() {
return {
ability_vp9: 0,
ability_h264: 0,
ability_h265: 0,
prefer: 0,
ability_vp8: 0,
ability_av1: 0,
i444: void 0,
prefer_chroma: 0
}
}
const qu = {
encode(u, e = r.Writer.create()) {
return u.ability_vp9 !== 0 && e.uint32(8).int32(u.ability_vp9), u.ability_h264 !== 0 && e.uint32(16).int32(u.ability_h264), u.ability_h265 !== 0 && e.uint32(24).int32(u.ability_h265), u.prefer !== 0 && e.uint32(32).int32(u.prefer), u.ability_vp8 !== 0 && e.uint32(40).int32(u.ability_vp8), u.ability_av1 !== 0 && e.uint32(48).int32(u.ability_av1), u.i444 !== void 0 && G.encode(u.i444, e.uint32(58).fork()).ldelim(), u.prefer_chroma !== 0 && e.uint32(64).int32(u.prefer_chroma), e
}, decode(u, e) {
const i = u instanceof r.Reader ? u : r.Reader.create(u);
let n = e === void 0 ? i.len : i.pos + e;
const a = li();
for (; i.pos < n;) {
const t = i.uint32();
switch (t >>> 3) {
case 1:
if (t !== 8) break;
a.ability_vp9 = i.int32();
continue;
case 2:
if (t !== 16) break;
a.ability_h264 = i.int32();
continue;
case 3:
if (t !== 24) break;
a.ability_h265 = i.int32();
continue;
case 4:
if (t !== 32) break;
a.prefer = i.int32();
continue;
case 5:
if (t !== 40) break;
a.ability_vp8 = i.int32();
continue;
case 6:
if (t !== 48) break;
a.ability_av1 = i.int32();
continue;
case 7:
if (t !== 58) break;
a.i444 = G.decode(i, i.uint32());
continue;
case 8:
if (t !== 64) break;
a.prefer_chroma = i.int32();
continue
}
if ((t & 7) === 4 || t === 0) break;
i.skipType(t & 7)
}
return a
}, fromJSON(u) {
return {
ability_vp9: o(u.ability_vp9) ? globalThis.Number(u.ability_vp9) : 0,
ability_h264: o(u.ability_h264) ? globalThis.Number(u.ability_h264) : 0,
ability_h265: o(u.ability_h265) ? globalThis.Number(u.ability_h265) : 0,
prefer: o(u.prefer) ? Ma(u.prefer) : 0,
ability_vp8: o(u.ability_vp8) ? globalThis.Number(u.ability_vp8) : 0,
ability_av1: o(u.ability_av1) ? globalThis.Number(u.ability_av1) : 0,
i444: o(u.i444) ? G.fromJSON(u.i444) : void 0,
prefer_chroma: o(u.prefer_chroma) ? xa(u.prefer_chroma) : 0
}
}, toJSON(u) {
const e = {};
return u.ability_vp9 !== 0 && (e.ability_vp9 = Math.round(u.ability_vp9)), u.ability_h264 !== 0 && (e.ability_h264 = Math.round(u.ability_h264)), u.ability_h265 !== 0 && (e.ability_h265 = Math.round(u.ability_h265)), u.prefer !== 0 && (e.prefer = La(u.prefer)), u.ability_vp8 !== 0 && (e.ability_vp8 = Math.round(u.ability_vp8)), u.ability_av1 !== 0 && (e.ability_av1 = Math.round(u.ability_av1)), u.i444 !== void 0 && (e.i444 = G.toJSON(u.i444)), u.prefer_chroma !== 0 && (e.prefer_chroma = ya(u.prefer_chroma)), e
}, create(u) {
return qu.fromPartial(u != null ? u : {})
}, fromPartial(u) {
var i, n, a, t, s, E, l;
const e = li();
return e.ability_vp9 = (i = u.ability_vp9) != null ? i : 0, e.ability_h264 = (n = u.ability_h264) != null ? n : 0, e.ability_h265 = (a = u.ability_h265) != null ? a : 0, e.prefer = (t = u.prefer) != null ? t : 0, e.ability_vp8 = (s = u.ability_vp8) != null ? s : 0, e.ability_av1 = (E = u.ability_av1) != null ? E : 0, e.i444 = u.i444 !== void 0 && u.i444 !== null ? G.fromPartial(u.i444) : void 0, e.prefer_chroma = (l = u.prefer_chroma) != null ? l : 0, e
}
};
function Di() {
return {
image_quality: 0,
lock_after_session_end: 0,
show_remote_cursor: 0,
privacy_mode: 0,
block_input: 0,
custom_image_quality: 0,
disable_audio: 0,
disable_clipboard: 0,
enable_file_transfer: 0,
supported_decoding: void 0,
custom_fps: 0,
disable_keyboard: 0,
follow_remote_cursor: 0,
follow_remote_window: 0,
disable_camera: 0
}
}
const R = {
encode(u, e = r.Writer.create()) {
return u.image_quality !== 0 && e.uint32(8).int32(u.image_quality), u.lock_after_session_end !== 0 && e.uint32(16).int32(u.lock_after_session_end), u.show_remote_cursor !== 0 && e.uint32(24).int32(u.show_remote_cursor), u.privacy_mode !== 0 && e.uint32(32).int32(u.privacy_mode), u.block_input !== 0 && e.uint32(40).int32(u.block_input), u.custom_image_quality !== 0 && e.uint32(48).int32(u.custom_image_quality), u.disable_audio !== 0 && e.uint32(56).int32(u.disable_audio), u.disable_clipboard !== 0 && e.uint32(64).int32(u.disable_clipboard), u.enable_file_transfer !== 0 && e.uint32(72).int32(u.enable_file_transfer), u.supported_decoding !== void 0 && qu.encode(u.supported_decoding, e.uint32(82).fork()).ldelim(), u.custom_fps !== 0 && e.uint32(88).int32(u.custom_fps), u.disable_keyboard !== 0 && e.uint32(96).int32(u.disable_keyboard), u.follow_remote_cursor !== 0 && e.uint32(120).int32(u.follow_remote_cursor), u.follow_remote_window !== 0 && e.uint32(128).int32(u.follow_remote_window), u.disable_camera !== 0 && e.uint32(136).int32(u.disable_camera), e
}, decode(u, e) {
const i = u instanceof r.Reader ? u : r.Reader.create(u);
let n = e === void 0 ? i.len : i.pos + e;
const a = Di();
for (; i.pos < n;) {
const t = i.uint32();
switch (t >>> 3) {
case 1:
if (t !== 8) break;
a.image_quality = i.int32();
continue;
case 2:
if (t !== 16) break;
a.lock_after_session_end = i.int32();
continue;
case 3:
if (t !== 24) break;
a.show_remote_cursor = i.int32();
continue;
case 4:
if (t !== 32) break;
a.privacy_mode = i.int32();
continue;
case 5:
if (t !== 40) break;
a.block_input = i.int32();
continue;
case 6:
if (t !== 48) break;
a.custom_image_quality = i.int32();
continue;
case 7:
if (t !== 56) break;
a.disable_audio = i.int32();
continue;
case 8:
if (t !== 64) break;
a.disable_clipboard = i.int32();
continue;
case 9:
if (t !== 72) break;
a.enable_file_transfer = i.int32();
continue;
case 10:
if (t !== 82) break;
a.supported_decoding = qu.decode(i, i.uint32());
continue;
case 11:
if (t !== 88) break;
a.custom_fps = i.int32();
continue;
case 12:
if (t !== 96) break;
a.disable_keyboard = i.int32();
continue;
case 15:
if (t !== 120) break;
a.follow_remote_cursor = i.int32();
continue;
case 16:
if (t !== 128) break;
a.follow_remote_window = i.int32();
continue;
case 17:
if (t !== 136) break;
a.disable_camera = i.int32();
continue
}
if ((t & 7) === 4 || t === 0) break;
i.skipType(t & 7)
}
return a
}, fromJSON(u) {
return {
image_quality: o(u.image_quality) ? Ia(u.image_quality) : 0,
lock_after_session_end: o(u.lock_after_session_end) ? X(u.lock_after_session_end) : 0,
show_remote_cursor: o(u.show_remote_cursor) ? X(u.show_remote_cursor) : 0,
privacy_mode: o(u.privacy_mode) ? X(u.privacy_mode) : 0,
block_input: o(u.block_input) ? X(u.block_input) : 0,
custom_image_quality: o(u.custom_image_quality) ? globalThis.Number(u.custom_image_quality) : 0,
disable_audio: o(u.disable_audio) ? X(u.disable_audio) : 0,
disable_clipboard: o(u.disable_clipboard) ? X(u.disable_clipboard) : 0,
enable_file_transfer: o(u.enable_file_transfer) ? X(u.enable_file_transfer) : 0,
supported_decoding: o(u.supported_decoding) ? qu.fromJSON(u.supported_decoding) : void 0,
custom_fps: o(u.custom_fps) ? globalThis.Number(u.custom_fps) : 0,
disable_keyboard: o(u.disable_keyboard) ? X(u.disable_keyboard) : 0,
follow_remote_cursor: o(u.follow_remote_cursor) ? X(u.follow_remote_cursor) : 0,
follow_remote_window: o(u.follow_remote_window) ? X(u.follow_remote_window) : 0,
disable_camera: o(u.disable_camera) ? X(u.disable_camera) : 0
}
}, toJSON(u) {
const e = {};
return u.image_quality !== 0 && (e.image_quality = Ta(u.image_quality)), u.lock_after_session_end !== 0 && (e.lock_after_session_end = Y(u.lock_after_session_end)), u.show_remote_cursor !== 0 && (e.show_remote_cursor = Y(u.show_remote_cursor)), u.privacy_mode !== 0 && (e.privacy_mode = Y(u.privacy_mode)), u.block_input !== 0 && (e.block_input = Y(u.block_input)), u.custom_image_quality !== 0 && (e.custom_image_quality = Math.round(u.custom_image_quality)), u.disable_audio !== 0 && (e.disable_audio = Y(u.disable_audio)), u.disable_clipboard !== 0 && (e.disable_clipboard = Y(u.disable_clipboard)), u.enable_file_transfer !== 0 && (e.enable_file_transfer = Y(u.enable_file_transfer)), u.supported_decoding !== void 0 && (e.supported_decoding = qu.toJSON(u.supported_decoding)), u.custom_fps !== 0 && (e.custom_fps = Math.round(u.custom_fps)), u.disable_keyboard !== 0 && (e.disable_keyboard = Y(u.disable_keyboard)), u.follow_remote_cursor !== 0 && (e.follow_remote_cursor = Y(u.follow_remote_cursor)), u.follow_remote_window !== 0 && (e.follow_remote_window = Y(u.follow_remote_window)), u.disable_camera !== 0 && (e.disable_camera = Y(u.disable_camera)), e
}, create(u) {
return R.fromPartial(u != null ? u : {})
}, fromPartial(u) {
var i, n, a, t, s, E, l, d, c, p, B, F, b, x;
const e = Di();
return e.image_quality = (i = u.image_quality) != null ? i : 0, e.lock_after_session_end = (n = u.lock_after_session_end) != null ? n : 0, e.show_remote_cursor = (a = u.show_remote_cursor) != null ? a : 0, e.privacy_mode = (t = u.privacy_mode) != null ? t : 0, e.block_input = (s = u.block_input) != null ? s : 0, e.custom_image_quality = (E = u.custom_image_quality) != null ? E : 0, e.disable_audio = (l = u.disable_audio) != null ? l : 0, e.disable_clipboard = (d = u.disable_clipboard) != null ? d : 0, e.enable_file_transfer = (c = u.enable_file_transfer) != null ? c : 0, e.supported_decoding = u.supported_decoding !== void 0 && u.supported_decoding !== null ? qu.fromPartial(u.supported_decoding) : void 0, e.custom_fps = (p = u.custom_fps) != null ? p : 0, e.disable_keyboard = (B = u.disable_keyboard) != null ? B : 0, e.follow_remote_cursor = (F = u.follow_remote_cursor) != null ? F : 0, e.follow_remote_window = (b = u.follow_remote_window) != null ? b : 0, e.disable_camera = (x = u.disable_camera) != null ? x : 0, e
}
};
function di() {
return {time: 0, from_client: !1, last_delay: 0, target_bitrate: 0}
}
const j0 = {
encode(u, e = r.Writer.create()) {
return u.time !== 0 && e.uint32(8).int64(u.time), u.from_client !== !1 && e.uint32(16).bool(u.from_client), u.last_delay !== 0 && e.uint32(24).uint32(u.last_delay), u.target_bitrate !== 0 && e.uint32(32).uint32(u.target_bitrate), e
}, decode(u, e) {
const i = u instanceof r.Reader ? u : r.Reader.create(u);
let n = e === void 0 ? i.len : i.pos + e;
const a = di();
for (; i.pos < n;) {
const t = i.uint32();
switch (t >>> 3) {
case 1:
if (t !== 8) break;
a.time = q(i.int64());
continue;
case 2:
if (t !== 16) break;
a.from_client = i.bool();
continue;
case 3:
if (t !== 24) break;
a.last_delay = i.uint32();
continue;
case 4:
if (t !== 32) break;
a.target_bitrate = i.uint32();
continue
}
if ((t & 7) === 4 || t === 0) break;
i.skipType(t & 7)
}
return a
}, fromJSON(u) {
return {
time: o(u.time) ? globalThis.Number(u.time) : 0,
from_client: o(u.from_client) ? globalThis.Boolean(u.from_client) : !1,
last_delay: o(u.last_delay) ? globalThis.Number(u.last_delay) : 0,
target_bitrate: o(u.target_bitrate) ? globalThis.Number(u.target_bitrate) : 0
}
}, toJSON(u) {
const e = {};
return u.time !== 0 && (e.time = Math.round(u.time)), u.from_client !== !1 && (e.from_client = u.from_client), u.last_delay !== 0 && (e.last_delay = Math.round(u.last_delay)), u.target_bitrate !== 0 && (e.target_bitrate = Math.round(u.target_bitrate)), e
}, create(u) {
return j0.fromPartial(u != null ? u : {})
}, fromPartial(u) {
var i, n, a, t;
const e = di();
return e.time = (i = u.time) != null ? i : 0, e.from_client = (n = u.from_client) != null ? n : !1, e.last_delay = (a = u.last_delay) != null ? a : 0, e.target_bitrate = (t = u.target_bitrate) != null ? t : 0, e
}
};
function ci() {
return {asymmetric_value: new Uint8Array(0), symmetric_value: new Uint8Array(0)}
}
const H = {
encode(u, e = r.Writer.create()) {
return u.asymmetric_value.length !== 0 && e.uint32(10).bytes(u.asymmetric_value), u.symmetric_value.length !== 0 && e.uint32(18).bytes(u.symmetric_value), e
}, decode(u, e) {
const i = u instanceof r.Reader ? u : r.Reader.create(u);
let n = e === void 0 ? i.len : i.pos + e;
const a = ci();
for (; i.pos < n;) {
const t = i.uint32();
switch (t >>> 3) {
case 1:
if (t !== 10) break;
a.asymmetric_value = i.bytes();
continue;
case 2:
if (t !== 18) break;
a.symmetric_value = i.bytes();
continue
}
if ((t & 7) === 4 || t === 0) break;
i.skipType(t & 7)
}
return a
}, fromJSON(u) {
return {
asymmetric_value: o(u.asymmetric_value) ? z(u.asymmetric_value) : new Uint8Array(0),
symmetric_value: o(u.symmetric_value) ? z(u.symmetric_value) : new Uint8Array(0)
}
}, toJSON(u) {
const e = {};
return u.asymmetric_value.length !== 0 && (e.asymmetric_value = P(u.asymmetric_value)), u.symmetric_value.length !== 0 && (e.symmetric_value = P(u.symmetric_value)), e
}, create(u) {
return H.fromPartial(u != null ? u : {})
}, fromPartial(u) {
var i, n;
const e = ci();
return e.asymmetric_value = (i = u.asymmetric_value) != null ? i : new Uint8Array(0), e.symmetric_value = (n = u.symmetric_value) != null ? n : new Uint8Array(0), e
}
};
function Ci() {
return {id: new Uint8Array(0)}
}
const N0 = {
encode(u, e = r.Writer.create()) {
return u.id.length !== 0 && e.uint32(10).bytes(u.id), e
}, decode(u, e) {
const i = u instanceof r.Reader ? u : r.Reader.create(u);
let n = e === void 0 ? i.len : i.pos + e;
const a = Ci();
for (; i.pos < n;) {
const t = i.uint32();
switch (t >>> 3) {
case 1:
if (t !== 10) break;
a.id = i.bytes();
continue
}
if ((t & 7) === 4 || t === 0) break;
i.skipType(t & 7)
}
return a
}, fromJSON(u) {
return {id: o(u.id) ? z(u.id) : new Uint8Array(0)}
}, toJSON(u) {
const e = {};
return u.id.length !== 0 && (e.id = P(u.id)), e
}, create(u) {
return N0.fromPartial(u != null ? u : {})
}, fromPartial(u) {
var i;
const e = Ci();
return e.id = (i = u.id) != null ? i : new Uint8Array(0), e
}
};
function pi() {
return {sample_rate: 0, channels: 0}
}
const O0 = {
encode(u, e = r.Writer.create()) {
return u.sample_rate !== 0 && e.uint32(8).uint32(u.sample_rate), u.channels !== 0 && e.uint32(16).uint32(u.channels), e
}, decode(u, e) {
const i = u instanceof r.Reader ? u : r.Reader.create(u);
let n = e === void 0 ? i.len : i.pos + e;
const a = pi();
for (; i.pos < n;) {
const t = i.uint32();
switch (t >>> 3) {
case 1:
if (t !== 8) break;
a.sample_rate = i.uint32();
continue;
case 2:
if (t !== 16) break;
a.channels = i.uint32();
continue
}
if ((t & 7) === 4 || t === 0) break;
i.skipType(t & 7)
}
return a
}, fromJSON(u) {
return {
sample_rate: o(u.sample_rate) ? globalThis.Number(u.sample_rate) : 0,
channels: o(u.channels) ? globalThis.Number(u.channels) : 0
}
}, toJSON(u) {
const e = {};
return u.sample_rate !== 0 && (e.sample_rate = Math.round(u.sample_rate)), u.channels !== 0 && (e.channels = Math.round(u.channels)), e
}, create(u) {
return O0.fromPartial(u != null ? u : {})
}, fromPartial(u) {
var i, n;
const e = pi();
return e.sample_rate = (i = u.sample_rate) != null ? i : 0, e.channels = (n = u.channels) != null ? n : 0, e
}
};
function Bi() {
return {data: new Uint8Array(0)}
}
const U0 = {
encode(u, e = r.Writer.create()) {
return u.data.length !== 0 && e.uint32(10).bytes(u.data), e
}, decode(u, e) {
const i = u instanceof r.Reader ? u : r.Reader.create(u);
let n = e === void 0 ? i.len : i.pos + e;
const a = Bi();
for (; i.pos < n;) {
const t = i.uint32();
switch (t >>> 3) {
case 1:
if (t !== 10) break;
a.data = i.bytes();
continue
}
if ((t & 7) === 4 || t === 0) break;
i.skipType(t & 7)
}
return a
}, fromJSON(u) {
return {data: o(u.data) ? z(u.data) : new Uint8Array(0)}
}, toJSON(u) {
const e = {};
return u.data.length !== 0 && (e.data = P(u.data)), e
}, create(u) {
return U0.fromPartial(u != null ? u : {})
}, fromPartial(u) {
var i;
const e = Bi();
return e.data = (i = u.data) != null ? i : new Uint8Array(0), e
}
};
function Ai() {
return {msgtype: "", title: "", text: "", link: ""}
}
const M0 = {
encode(u, e = r.Writer.create()) {
return u.msgtype !== "" && e.uint32(10).string(u.msgtype), u.title !== "" && e.uint32(18).string(u.title), u.text !== "" && e.uint32(26).string(u.text), u.link !== "" && e.uint32(34).string(u.link), e
}, decode(u, e) {
const i = u instanceof r.Reader ? u : r.Reader.create(u);
let n = e === void 0 ? i.len : i.pos + e;
const a = Ai();
for (; i.pos < n;) {
const t = i.uint32();
switch (t >>> 3) {
case 1:
if (t !== 10) break;
a.msgtype = i.string();
continue;
case 2:
if (t !== 18) break;
a.title = i.string();
continue;
case 3:
if (t !== 26) break;
a.text = i.string();
continue;
case 4:
if (t !== 34) break;
a.link = i.string();
continue
}
if ((t & 7) === 4 || t === 0) break;
i.skipType(t & 7)
}
return a
}, fromJSON(u) {
return {
msgtype: o(u.msgtype) ? globalThis.String(u.msgtype) : "",
title: o(u.title) ? globalThis.String(u.title) : "",
text: o(u.text) ? globalThis.String(u.text) : "",
link: o(u.link) ? globalThis.String(u.link) : ""
}
}, toJSON(u) {
const e = {};
return u.msgtype !== "" && (e.msgtype = u.msgtype), u.title !== "" && (e.title = u.title), u.text !== "" && (e.text = u.text), u.link !== "" && (e.link = u.link), e
}, create(u) {
return M0.fromPartial(u != null ? u : {})
}, fromPartial(u) {
var i, n, a, t;
const e = Ai();
return e.msgtype = (i = u.msgtype) != null ? i : "", e.title = (n = u.title) != null ? n : "", e.text = (a = u.text) != null ? a : "", e.link = (t = u.link) != null ? t : "", e
}
};
function mi() {
return {privacy_mode_state: void 0, block_input_state: void 0, details: "", impl_key: ""}
}
const L0 = {
encode(u, e = r.Writer.create()) {
return u.privacy_mode_state !== void 0 && e.uint32(8).int32(u.privacy_mode_state), u.block_input_state !== void 0 && e.uint32(16).int32(u.block_input_state), u.details !== "" && e.uint32(26).string(u.details), u.impl_key !== "" && e.uint32(34).string(u.impl_key), e
}, decode(u, e) {
const i = u instanceof r.Reader ? u : r.Reader.create(u);
let n = e === void 0 ? i.len : i.pos + e;
const a = mi();
for (; i.pos < n;) {
const t = i.uint32();
switch (t >>> 3) {
case 1:
if (t !== 8) break;
a.privacy_mode_state = i.int32();
continue;
case 2:
if (t !== 16) break;
a.block_input_state = i.int32();
continue;
case 3:
if (t !== 26) break;
a.details = i.string();
continue;
case 4:
if (t !== 34) break;
a.impl_key = i.string();
continue
}
if ((t & 7) === 4 || t === 0) break;
i.skipType(t & 7)
}
return a
}, fromJSON(u) {
return {
privacy_mode_state: o(u.privacy_mode_state) ? qa(u.privacy_mode_state) : void 0,
block_input_state: o(u.block_input_state) ? Wa(u.block_input_state) : void 0,
details: o(u.details) ? globalThis.String(u.details) : "",
impl_key: o(u.impl_key) ? globalThis.String(u.impl_key) : ""
}
}, toJSON(u) {
const e = {};
return u.privacy_mode_state !== void 0 && (e.privacy_mode_state = Ka(u.privacy_mode_state)), u.block_input_state !== void 0 && (e.block_input_state = Va(u.block_input_state)), u.details !== "" && (e.details = u.details), u.impl_key !== "" && (e.impl_key = u.impl_key), e
}, create(u) {
return L0.fromPartial(u != null ? u : {})
}, fromPartial(u) {
var i, n, a, t;
const e = mi();
return e.privacy_mode_state = (i = u.privacy_mode_state) != null ? i : void 0, e.block_input_state = (n = u.block_input_state) != null ? n : void 0, e.details = (a = u.details) != null ? a : "", e.impl_key = (t = u.impl_key) != null ? t : "", e
}
};
function Fi() {
return {username: "", password: ""}
}
const Ku = {
encode(u, e = r.Writer.create()) {
return u.username !== "" && e.uint32(10).string(u.username), u.password !== "" && e.uint32(18).string(u.password), e
}, decode(u, e) {
const i = u instanceof r.Reader ? u : r.Reader.create(u);
let n = e === void 0 ? i.len : i.pos + e;
const a = Fi();
for (; i.pos < n;) {
const t = i.uint32();
switch (t >>> 3) {
case 1:
if (t !== 10) break;
a.username = i.string();
continue;
case 2:
if (t !== 18) break;
a.password = i.string();
continue
}
if ((t & 7) === 4 || t === 0) break;
i.skipType(t & 7)
}
return a
}, fromJSON(u) {
return {
username: o(u.username) ? globalThis.String(u.username) : "",
password: o(u.password) ? globalThis.String(u.password) : ""
}
}, toJSON(u) {
const e = {};
return u.username !== "" && (e.username = u.username), u.password !== "" && (e.password = u.password), e
}, create(u) {
return Ku.fromPartial(u != null ? u : {})
}, fromPartial(u) {
var i, n;
const e = Fi();
return e.username = (i = u.username) != null ? i : "", e.password = (n = u.password) != null ? n : "", e
}
};
function _i() {
return {direct: void 0, logon: void 0}
}
const pu = {
encode(u, e = r.Writer.create()) {
return u.direct !== void 0 && e.uint32(8).bool(u.direct), u.logon !== void 0 && Ku.encode(u.logon, e.uint32(18).fork()).ldelim(), e
}, decode(u, e) {
const i = u instanceof r.Reader ? u : r.Reader.create(u);
let n = e === void 0 ? i.len : i.pos + e;
const a = _i();
for (; i.pos < n;) {
const t = i.uint32();
switch (t >>> 3) {
case 1:
if (t !== 8) break;
a.direct = i.bool();
continue;
case 2:
if (t !== 18) break;
a.logon = Ku.decode(i, i.uint32());
continue
}
if ((t & 7) === 4 || t === 0) break;
i.skipType(t & 7)
}
return a
}, fromJSON(u) {
return {
direct: o(u.direct) ? globalThis.Boolean(u.direct) : void 0,
logon: o(u.logon) ? Ku.fromJSON(u.logon) : void 0
}
}, toJSON(u) {
const e = {};
return u.direct !== void 0 && (e.direct = u.direct), u.logon !== void 0 && (e.logon = Ku.toJSON(u.logon)), e
}, create(u) {
return pu.fromPartial(u != null ? u : {})
}, fromPartial(u) {
var i;
const e = _i();
return e.direct = (i = u.direct) != null ? i : void 0, e.logon = u.logon !== void 0 && u.logon !== null ? Ku.fromPartial(u.logon) : void 0, e
}
};
function vi() {
return {uuid: new Uint8Array(0)}
}
const W0 = {
encode(u, e = r.Writer.create()) {
return u.uuid.length !== 0 && e.uint32(10).bytes(u.uuid), e
}, decode(u, e) {
const i = u instanceof r.Reader ? u : r.Reader.create(u);
let n = e === void 0 ? i.len : i.pos + e;
const a = vi();
for (; i.pos < n;) {
const t = i.uint32();
switch (t >>> 3) {
case 1:
if (t !== 10) break;
a.uuid = i.bytes();
continue
}
if ((t & 7) === 4 || t === 0) break;
i.skipType(t & 7)
}
return a
}, fromJSON(u) {
return {uuid: o(u.uuid) ? z(u.uuid) : new Uint8Array(0)}
}, toJSON(u) {
const e = {};
return u.uuid.length !== 0 && (e.uuid = P(u.uuid)), e
}, create(u) {
return W0.fromPartial(u != null ? u : {})
}, fromPartial(u) {
var i;
const e = vi();
return e.uuid = (i = u.uuid) != null ? i : new Uint8Array(0), e
}
};
function gi() {
return {uuid: new Uint8Array(0), lr: void 0}
}
const V0 = {
encode(u, e = r.Writer.create()) {
return u.uuid.length !== 0 && e.uint32(10).bytes(u.uuid), u.lr !== void 0 && J.encode(u.lr, e.uint32(18).fork()).ldelim(), e
}, decode(u, e) {
const i = u instanceof r.Reader ? u : r.Reader.create(u);
let n = e === void 0 ? i.len : i.pos + e;
const a = gi();
for (; i.pos < n;) {
const t = i.uint32();
switch (t >>> 3) {
case 1:
if (t !== 10) break;
a.uuid = i.bytes();
continue;
case 2:
if (t !== 18) break;
a.lr = J.decode(i, i.uint32());
continue
}
if ((t & 7) === 4 || t === 0) break;
i.skipType(t & 7)
}
return a
}, fromJSON(u) {
return {uuid: o(u.uuid) ? z(u.uuid) : new Uint8Array(0), lr: o(u.lr) ? J.fromJSON(u.lr) : void 0}
}, toJSON(u) {
const e = {};
return u.uuid.length !== 0 && (e.uuid = P(u.uuid)), u.lr !== void 0 && (e.lr = J.toJSON(u.lr)), e
}, create(u) {
return V0.fromPartial(u != null ? u : {})
}, fromPartial(u) {
var i;
const e = gi();
return e.uuid = (i = u.uuid) != null ? i : new Uint8Array(0), e.lr = u.lr !== void 0 && u.lr !== null ? J.fromPartial(u.lr) : void 0, e
}
};
function ki() {
return {}
}
const q0 = {
encode(u, e = r.Writer.create()) {
return e
}, decode(u, e) {
const i = u instanceof r.Reader ? u : r.Reader.create(u);
let n = e === void 0 ? i.len : i.pos + e;
const a = ki();
for (; i.pos < n;) {
const t = i.uint32();
if ((t & 7) === 4 || t === 0) break;
i.skipType(t & 7)
}
return a
}, fromJSON(u) {
return {}
}, toJSON(u) {
return {}
}, create(u) {
return q0.fromPartial(u != null ? u : {})
}, fromPartial(u) {
return ki()
}
};
function hi() {
return {id: "", content: new Uint8Array(0)}
}
const K0 = {
encode(u, e = r.Writer.create()) {
return u.id !== "" && e.uint32(10).string(u.id), u.content.length !== 0 && e.uint32(18).bytes(u.content), e
}, decode(u, e) {
const i = u instanceof r.Reader ? u : r.Reader.create(u);
let n = e === void 0 ? i.len : i.pos + e;
const a = hi();
for (; i.pos < n;) {
const t = i.uint32();
switch (t >>> 3) {
case 1:
if (t !== 10) break;
a.id = i.string();
continue;
case 2:
if (t !== 18) break;
a.content = i.bytes();
continue
}
if ((t & 7) === 4 || t === 0) break;
i.skipType(t & 7)
}
return a
}, fromJSON(u) {
return {id: o(u.id) ? globalThis.String(u.id) : "", content: o(u.content) ? z(u.content) : new Uint8Array(0)}
}, toJSON(u) {
const e = {};
return u.id !== "" && (e.id = u.id), u.content.length !== 0 && (e.content = P(u.content)), e
}, create(u) {
return K0.fromPartial(u != null ? u : {})
}, fromPartial(u) {
var i, n;
const e = hi();
return e.id = (i = u.id) != null ? i : "", e.content = (n = u.content) != null ? n : new Uint8Array(0), e
}
};
function fi() {
return {id: "", name: "", msg: ""}
}
const H0 = {
encode(u, e = r.Writer.create()) {
return u.id !== "" && e.uint32(10).string(u.id), u.name !== "" && e.uint32(18).string(u.name), u.msg !== "" && e.uint32(26).string(u.msg), e
}, decode(u, e) {
const i = u instanceof r.Reader ? u : r.Reader.create(u);
let n = e === void 0 ? i.len : i.pos + e;
const a = fi();
for (; i.pos < n;) {
const t = i.uint32();
switch (t >>> 3) {
case 1:
if (t !== 10) break;
a.id = i.string();
continue;
case 2:
if (t !== 18) break;
a.name = i.string();
continue;
case 3:
if (t !== 26) break;
a.msg = i.string();
continue
}
if ((t & 7) === 4 || t === 0) break;
i.skipType(t & 7)
}
return a
}, fromJSON(u) {
return {
id: o(u.id) ? globalThis.String(u.id) : "",
name: o(u.name) ? globalThis.String(u.name) : "",
msg: o(u.msg) ? globalThis.String(u.msg) : ""
}
}, toJSON(u) {
const e = {};
return u.id !== "" && (e.id = u.id), u.name !== "" && (e.name = u.name), u.msg !== "" && (e.msg = u.msg), e
}, create(u) {
return H0.fromPartial(u != null ? u : {})
}, fromPartial(u) {
var i, n, a;
const e = fi();
return e.id = (i = u.id) != null ? i : "", e.name = (n = u.name) != null ? n : "", e.msg = (a = u.msg) != null ? a : "", e
}
};
function xi() {
return {sessions: [], current_sid: 0}
}
const J0 = {
encode(u, e = r.Writer.create()) {
for (const i of u.sessions) c0.encode(i, e.uint32(10).fork()).ldelim();
return u.current_sid !== 0 && e.uint32(16).uint32(u.current_sid), e
}, decode(u, e) {
const i = u instanceof r.Reader ? u : r.Reader.create(u);
let n = e === void 0 ? i.len : i.pos + e;
const a = xi();
for (; i.pos < n;) {
const t = i.uint32();
switch (t >>> 3) {
case 1:
if (t !== 10) break;
a.sessions.push(c0.decode(i, i.uint32()));
continue;
case 2:
if (t !== 16) break;
a.current_sid = i.uint32();
continue
}
if ((t & 7) === 4 || t === 0) break;
i.skipType(t & 7)
}
return a
}, fromJSON(u) {
return {
sessions: globalThis.Array.isArray(u == null ? void 0 : u.sessions) ? u.sessions.map(e => c0.fromJSON(e)) : [],
current_sid: o(u.current_sid) ? globalThis.Number(u.current_sid) : 0
}
}, toJSON(u) {
var i;
const e = {};
return (i = u.sessions) != null && i.length && (e.sessions = u.sessions.map(n => c0.toJSON(n))), u.current_sid !== 0 && (e.current_sid = Math.round(u.current_sid)), e
}, create(u) {
return J0.fromPartial(u != null ? u : {})
}, fromPartial(u) {
var i, n;
const e = xi();
return e.sessions = ((i = u.sessions) == null ? void 0 : i.map(a => c0.fromPartial(a))) || [], e.current_sid = (n = u.current_sid) != null ? n : 0, e
}
};
function yi() {
return {switch_display: 0}
}
const G0 = {
encode(u, e = r.Writer.create()) {
return u.switch_display !== 0 && e.uint32(8).int32(u.switch_display), e
}, decode(u, e) {
const i = u instanceof r.Reader ? u : r.Reader.create(u);
let n = e === void 0 ? i.len : i.pos + e;
const a = yi();
for (; i.pos < n;) {
const t = i.uint32();
switch (t >>> 3) {
case 1:
if (t !== 8) break;
a.switch_display = i.int32();
continue
}
if ((t & 7) === 4 || t === 0) break;
i.skipType(t & 7)
}
return a
}, fromJSON(u) {
return {switch_display: o(u.switch_display) ? globalThis.Number(u.switch_display) : 0}
}, toJSON(u) {
const e = {};
return u.switch_display !== 0 && (e.switch_display = Math.round(u.switch_display)), e
}, create(u) {
return G0.fromPartial(u != null ? u : {})
}, fromPartial(u) {
var i;
const e = yi();
return e.switch_display = (i = u.switch_display) != null ? i : 0, e
}
};
function bi() {
return {
chat_message: void 0,
switch_display: void 0,
permission_info: void 0,
option: void 0,
audio_format: void 0,
close_reason: void 0,
refresh_video: void 0,
video_received: void 0,
back_notification: void 0,
restart_remote_device: void 0,
uac: void 0,
foreground_window_elevated: void 0,
stop_service: void 0,
elevation_request: void 0,
elevation_response: void 0,
portable_service_running: void 0,
switch_sides_request: void 0,
switch_back: void 0,
change_resolution: void 0,
plugin_request: void 0,
plugin_failure: void 0,
full_speed_fps: void 0,
auto_adjust_fps: void 0,
client_record_status: void 0,
capture_displays: void 0,
refresh_video_display: void 0,
toggle_virtual_display: void 0,
toggle_privacy_mode: void 0,
supported_encoding: void 0,
selected_sid: void 0,
change_display_resolution: void 0,
message_query: void 0,
follow_current_display: void 0
}
}
const f = {
encode(u, e = r.Writer.create()) {
return u.chat_message !== void 0 && gu.encode(u.chat_message, e.uint32(34).fork()).ldelim(), u.switch_display !== void 0 && Mu.encode(u.switch_display, e.uint32(42).fork()).ldelim(), u.permission_info !== void 0 && T0.encode(u.permission_info, e.uint32(50).fork()).ldelim(), u.option !== void 0 && R.encode(u.option, e.uint32(58).fork()).ldelim(), u.audio_format !== void 0 && O0.encode(u.audio_format, e.uint32(66).fork()).ldelim(), u.close_reason !== void 0 && e.uint32(74).string(u.close_reason), u.refresh_video !== void 0 && e.uint32(80).bool(u.refresh_video), u.video_received !== void 0 && e.uint32(96).bool(u.video_received), u.back_notification !== void 0 && L0.encode(u.back_notification, e.uint32(106).fork()).ldelim(), u.restart_remote_device !== void 0 && e.uint32(112).bool(u.restart_remote_device), u.uac !== void 0 && e.uint32(120).bool(u.uac), u.foreground_window_elevated !== void 0 && e.uint32(128).bool(u.foreground_window_elevated), u.stop_service !== void 0 && e.uint32(136).bool(u.stop_service), u.elevation_request !== void 0 && pu.encode(u.elevation_request, e.uint32(146).fork()).ldelim(), u.elevation_response !== void 0 && e.uint32(154).string(u.elevation_response), u.portable_service_running !== void 0 && e.uint32(160).bool(u.portable_service_running), u.switch_sides_request !== void 0 && W0.encode(u.switch_sides_request, e.uint32(170).fork()).ldelim(), u.switch_back !== void 0 && q0.encode(u.switch_back, e.uint32(178).fork()).ldelim(), u.change_resolution !== void 0 && v.encode(u.change_resolution, e.uint32(194).fork()).ldelim(), u.plugin_request !== void 0 && K0.encode(u.plugin_request, e.uint32(202).fork()).ldelim(), u.plugin_failure !== void 0 && H0.encode(u.plugin_failure, e.uint32(210).fork()).ldelim(), u.full_speed_fps !== void 0 && e.uint32(216).uint32(u.full_speed_fps), u.auto_adjust_fps !== void 0 && e.uint32(224).uint32(u.auto_adjust_fps), u.client_record_status !== void 0 && e.uint32(232).bool(u.client_record_status), u.capture_displays !== void 0 && Lu.encode(u.capture_displays, e.uint32(242).fork()).ldelim(), u.refresh_video_display !== void 0 && e.uint32(248).int32(u.refresh_video_display), u.toggle_virtual_display !== void 0 && Wu.encode(u.toggle_virtual_display, e.uint32(258).fork()).ldelim(), u.toggle_privacy_mode !== void 0 && Vu.encode(u.toggle_privacy_mode, e.uint32(266).fork()).ldelim(), u.supported_encoding !== void 0 && Z.encode(u.supported_encoding, e.uint32(274).fork()).ldelim(), u.selected_sid !== void 0 && e.uint32(280).uint32(u.selected_sid), u.change_display_resolution !== void 0 && Uu.encode(u.change_display_resolution, e.uint32(290).fork()).ldelim(), u.message_query !== void 0 && G0.encode(u.message_query, e.uint32(298).fork()).ldelim(), u.follow_current_display !== void 0 && e.uint32(304).int32(u.follow_current_display), e
}, decode(u, e) {
const i = u instanceof r.Reader ? u : r.Reader.create(u);
let n = e === void 0 ? i.len : i.pos + e;
const a = bi();
for (; i.pos < n;) {
const t = i.uint32();
switch (t >>> 3) {
case 4:
if (t !== 34) break;
a.chat_message = gu.decode(i, i.uint32());
continue;
case 5:
if (t !== 42) break;
a.switch_display = Mu.decode(i, i.uint32());
continue;
case 6:
if (t !== 50) break;
a.permission_info = T0.decode(i, i.uint32());
continue;
case 7:
if (t !== 58) break;
a.option = R.decode(i, i.uint32());
continue;
case 8:
if (t !== 66) break;
a.audio_format = O0.decode(i, i.uint32());
continue;
case 9:
if (t !== 74) break;
a.close_reason = i.string();
continue;
case 10:
if (t !== 80) break;
a.refresh_video = i.bool();
continue;
case 12:
if (t !== 96) break;
a.video_received = i.bool();
continue;
case 13:
if (t !== 106) break;
a.back_notification = L0.decode(i, i.uint32());
continue;
case 14:
if (t !== 112) break;
a.restart_remote_device = i.bool();
continue;
case 15:
if (t !== 120) break;
a.uac = i.bool();
continue;
case 16:
if (t !== 128) break;
a.foreground_window_elevated = i.bool();
continue;
case 17:
if (t !== 136) break;
a.stop_service = i.bool();
continue;
case 18:
if (t !== 146) break;
a.elevation_request = pu.decode(i, i.uint32());
continue;
case 19:
if (t !== 154) break;
a.elevation_response = i.string();
continue;
case 20:
if (t !== 160) break;
a.portable_service_running = i.bool();
continue;
case 21:
if (t !== 170) break;
a.switch_sides_request = W0.decode(i, i.uint32());
continue;
case 22:
if (t !== 178) break;
a.switch_back = q0.decode(i, i.uint32());
continue;
case 24:
if (t !== 194) break;
a.change_resolution = v.decode(i, i.uint32());
continue;
case 25:
if (t !== 202) break;
a.plugin_request = K0.decode(i, i.uint32());
continue;
case 26:
if (t !== 210) break;
a.plugin_failure = H0.decode(i, i.uint32());
continue;
case 27:
if (t !== 216) break;
a.full_speed_fps = i.uint32();
continue;
case 28:
if (t !== 224) break;
a.auto_adjust_fps = i.uint32();
continue;
case 29:
if (t !== 232) break;
a.client_record_status = i.bool();
continue;
case 30:
if (t !== 242) break;
a.capture_displays = Lu.decode(i, i.uint32());
continue;
case 31:
if (t !== 248) break;
a.refresh_video_display = i.int32();
continue;
case 32:
if (t !== 258) break;
a.toggle_virtual_display = Wu.decode(i, i.uint32());
continue;
case 33:
if (t !== 266) break;
a.toggle_privacy_mode = Vu.decode(i, i.uint32());
continue;
case 34:
if (t !== 274) break;
a.supported_encoding = Z.decode(i, i.uint32());
continue;
case 35:
if (t !== 280) break;
a.selected_sid = i.uint32();
continue;
case 36:
if (t !== 290) break;
a.change_display_resolution = Uu.decode(i, i.uint32());
continue;
case 37:
if (t !== 298) break;
a.message_query = G0.decode(i, i.uint32());
continue;
case 38:
if (t !== 304) break;
a.follow_current_display = i.int32();
continue
}
if ((t & 7) === 4 || t === 0) break;
i.skipType(t & 7)
}
return a
}, fromJSON(u) {
return {
chat_message: o(u.chat_message) ? gu.fromJSON(u.chat_message) : void 0,
switch_display: o(u.switch_display) ? Mu.fromJSON(u.switch_display) : void 0,
permission_info: o(u.permission_info) ? T0.fromJSON(u.permission_info) : void 0,
option: o(u.option) ? R.fromJSON(u.option) : void 0,
audio_format: o(u.audio_format) ? O0.fromJSON(u.audio_format) : void 0,
close_reason: o(u.close_reason) ? globalThis.String(u.close_reason) : void 0,
refresh_video: o(u.refresh_video) ? globalThis.Boolean(u.refresh_video) : void 0,
video_received: o(u.video_received) ? globalThis.Boolean(u.video_received) : void 0,
back_notification: o(u.back_notification) ? L0.fromJSON(u.back_notification) : void 0,
restart_remote_device: o(u.restart_remote_device) ? globalThis.Boolean(u.restart_remote_device) : void 0,
uac: o(u.uac) ? globalThis.Boolean(u.uac) : void 0,
foreground_window_elevated: o(u.foreground_window_elevated) ? globalThis.Boolean(u.foreground_window_elevated) : void 0,
stop_service: o(u.stop_service) ? globalThis.Boolean(u.stop_service) : void 0,
elevation_request: o(u.elevation_request) ? pu.fromJSON(u.elevation_request) : void 0,
elevation_response: o(u.elevation_response) ? globalThis.String(u.elevation_response) : void 0,
portable_service_running: o(u.portable_service_running) ? globalThis.Boolean(u.portable_service_running) : void 0,
switch_sides_request: o(u.switch_sides_request) ? W0.fromJSON(u.switch_sides_request) : void 0,
switch_back: o(u.switch_back) ? q0.fromJSON(u.switch_back) : void 0,
change_resolution: o(u.change_resolution) ? v.fromJSON(u.change_resolution) : void 0,
plugin_request: o(u.plugin_request) ? K0.fromJSON(u.plugin_request) : void 0,
plugin_failure: o(u.plugin_failure) ? H0.fromJSON(u.plugin_failure) : void 0,
full_speed_fps: o(u.full_speed_fps) ? globalThis.Number(u.full_speed_fps) : void 0,
auto_adjust_fps: o(u.auto_adjust_fps) ? globalThis.Number(u.auto_adjust_fps) : void 0,
client_record_status: o(u.client_record_status) ? globalThis.Boolean(u.client_record_status) : void 0,
capture_displays: o(u.capture_displays) ? Lu.fromJSON(u.capture_displays) : void 0,
refresh_video_display: o(u.refresh_video_display) ? globalThis.Number(u.refresh_video_display) : void 0,
toggle_virtual_display: o(u.toggle_virtual_display) ? Wu.fromJSON(u.toggle_virtual_display) : void 0,
toggle_privacy_mode: o(u.toggle_privacy_mode) ? Vu.fromJSON(u.toggle_privacy_mode) : void 0,
supported_encoding: o(u.supported_encoding) ? Z.fromJSON(u.supported_encoding) : void 0,
selected_sid: o(u.selected_sid) ? globalThis.Number(u.selected_sid) : void 0,
change_display_resolution: o(u.change_display_resolution) ? Uu.fromJSON(u.change_display_resolution) : void 0,
message_query: o(u.message_query) ? G0.fromJSON(u.message_query) : void 0,
follow_current_display: o(u.follow_current_display) ? globalThis.Number(u.follow_current_display) : void 0
}
}, toJSON(u) {
const e = {};
return u.chat_message !== void 0 && (e.chat_message = gu.toJSON(u.chat_message)), u.switch_display !== void 0 && (e.switch_display = Mu.toJSON(u.switch_display)), u.permission_info !== void 0 && (e.permission_info = T0.toJSON(u.permission_info)), u.option !== void 0 && (e.option = R.toJSON(u.option)), u.audio_format !== void 0 && (e.audio_format = O0.toJSON(u.audio_format)), u.close_reason !== void 0 && (e.close_reason = u.close_reason), u.refresh_video !== void 0 && (e.refresh_video = u.refresh_video), u.video_received !== void 0 && (e.video_received = u.video_received), u.back_notification !== void 0 && (e.back_notification = L0.toJSON(u.back_notification)), u.restart_remote_device !== void 0 && (e.restart_remote_device = u.restart_remote_device), u.uac !== void 0 && (e.uac = u.uac), u.foreground_window_elevated !== void 0 && (e.foreground_window_elevated = u.foreground_window_elevated), u.stop_service !== void 0 && (e.stop_service = u.stop_service), u.elevation_request !== void 0 && (e.elevation_request = pu.toJSON(u.elevation_request)), u.elevation_response !== void 0 && (e.elevation_response = u.elevation_response), u.portable_service_running !== void 0 && (e.portable_service_running = u.portable_service_running), u.switch_sides_request !== void 0 && (e.switch_sides_request = W0.toJSON(u.switch_sides_request)), u.switch_back !== void 0 && (e.switch_back = q0.toJSON(u.switch_back)), u.change_resolution !== void 0 && (e.change_resolution = v.toJSON(u.change_resolution)), u.plugin_request !== void 0 && (e.plugin_request = K0.toJSON(u.plugin_request)), u.plugin_failure !== void 0 && (e.plugin_failure = H0.toJSON(u.plugin_failure)), u.full_speed_fps !== void 0 && (e.full_speed_fps = Math.round(u.full_speed_fps)), u.auto_adjust_fps !== void 0 && (e.auto_adjust_fps = Math.round(u.auto_adjust_fps)), u.client_record_status !== void 0 && (e.client_record_status = u.client_record_status), u.capture_displays !== void 0 && (e.capture_displays = Lu.toJSON(u.capture_displays)), u.refresh_video_display !== void 0 && (e.refresh_video_display = Math.round(u.refresh_video_display)), u.toggle_virtual_display !== void 0 && (e.toggle_virtual_display = Wu.toJSON(u.toggle_virtual_display)), u.toggle_privacy_mode !== void 0 && (e.toggle_privacy_mode = Vu.toJSON(u.toggle_privacy_mode)), u.supported_encoding !== void 0 && (e.supported_encoding = Z.toJSON(u.supported_encoding)), u.selected_sid !== void 0 && (e.selected_sid = Math.round(u.selected_sid)), u.change_display_resolution !== void 0 && (e.change_display_resolution = Uu.toJSON(u.change_display_resolution)), u.message_query !== void 0 && (e.message_query = G0.toJSON(u.message_query)), u.follow_current_display !== void 0 && (e.follow_current_display = Math.round(u.follow_current_display)), e
}, create(u) {
return f.fromPartial(u != null ? u : {})
}, fromPartial(u) {
var i, n, a, t, s, E, l, d, c, p, B, F, b, x, k;
const e = bi();
return e.chat_message = u.chat_message !== void 0 && u.chat_message !== null ? gu.fromPartial(u.chat_message) : void 0, e.switch_display = u.switch_display !== void 0 && u.switch_display !== null ? Mu.fromPartial(u.switch_display) : void 0, e.permission_info = u.permission_info !== void 0 && u.permission_info !== null ? T0.fromPartial(u.permission_info) : void 0, e.option = u.option !== void 0 && u.option !== null ? R.fromPartial(u.option) : void 0, e.audio_format = u.audio_format !== void 0 && u.audio_format !== null ? O0.fromPartial(u.audio_format) : void 0, e.close_reason = (i = u.close_reason) != null ? i : void 0, e.refresh_video = (n = u.refresh_video) != null ? n : void 0, e.video_received = (a = u.video_received) != null ? a : void 0, e.back_notification = u.back_notification !== void 0 && u.back_notification !== null ? L0.fromPartial(u.back_notification) : void 0, e.restart_remote_device = (t = u.restart_remote_device) != null ? t : void 0, e.uac = (s = u.uac) != null ? s : void 0, e.foreground_window_elevated = (E = u.foreground_window_elevated) != null ? E : void 0, e.stop_service = (l = u.stop_service) != null ? l : void 0, e.elevation_request = u.elevation_request !== void 0 && u.elevation_request !== null ? pu.fromPartial(u.elevation_request) : void 0, e.elevation_response = (d = u.elevation_response) != null ? d : void 0, e.portable_service_running = (c = u.portable_service_running) != null ? c : void 0, e.switch_sides_request = u.switch_sides_request !== void 0 && u.switch_sides_request !== null ? W0.fromPartial(u.switch_sides_request) : void 0, e.switch_back = u.switch_back !== void 0 && u.switch_back !== null ? q0.fromPartial(u.switch_back) : void 0, e.change_resolution = u.change_resolution !== void 0 && u.change_resolution !== null ? v.fromPartial(u.change_resolution) : void 0, e.plugin_request = u.plugin_request !== void 0 && u.plugin_request !== null ? K0.fromPartial(u.plugin_request) : void 0, e.plugin_failure = u.plugin_failure !== void 0 && u.plugin_failure !== null ? H0.fromPartial(u.plugin_failure) : void 0, e.full_speed_fps = (p = u.full_speed_fps) != null ? p : void 0, e.auto_adjust_fps = (B = u.auto_adjust_fps) != null ? B : void 0, e.client_record_status = (F = u.client_record_status) != null ? F : void 0, e.capture_displays = u.capture_displays !== void 0 && u.capture_displays !== null ? Lu.fromPartial(u.capture_displays) : void 0, e.refresh_video_display = (b = u.refresh_video_display) != null ? b : void 0, e.toggle_virtual_display = u.toggle_virtual_display !== void 0 && u.toggle_virtual_display !== null ? Wu.fromPartial(u.toggle_virtual_display) : void 0, e.toggle_privacy_mode = u.toggle_privacy_mode !== void 0 && u.toggle_privacy_mode !== null ? Vu.fromPartial(u.toggle_privacy_mode) : void 0, e.supported_encoding = u.supported_encoding !== void 0 && u.supported_encoding !== null ? Z.fromPartial(u.supported_encoding) : void 0, e.selected_sid = (x = u.selected_sid) != null ? x : void 0, e.change_display_resolution = u.change_display_resolution !== void 0 && u.change_display_resolution !== null ? Uu.fromPartial(u.change_display_resolution) : void 0, e.message_query = u.message_query !== void 0 && u.message_query !== null ? G0.fromPartial(u.message_query) : void 0, e.follow_current_display = (k = u.follow_current_display) != null ? k : void 0, e
}
};
function wi() {
return {req_timestamp: 0, is_connect: !1}
}
const Z0 = {
encode(u, e = r.Writer.create()) {
return u.req_timestamp !== 0 && e.uint32(8).int64(u.req_timestamp), u.is_connect !== !1 && e.uint32(16).bool(u.is_connect), e
}, decode(u, e) {
const i = u instanceof r.Reader ? u : r.Reader.create(u);
let n = e === void 0 ? i.len : i.pos + e;
const a = wi();
for (; i.pos < n;) {
const t = i.uint32();
switch (t >>> 3) {
case 1:
if (t !== 8) break;
a.req_timestamp = q(i.int64());
continue;
case 2:
if (t !== 16) break;
a.is_connect = i.bool();
continue
}
if ((t & 7) === 4 || t === 0) break;
i.skipType(t & 7)
}
return a
}, fromJSON(u) {
return {
req_timestamp: o(u.req_timestamp) ? globalThis.Number(u.req_timestamp) : 0,
is_connect: o(u.is_connect) ? globalThis.Boolean(u.is_connect) : !1
}
}, toJSON(u) {
const e = {};
return u.req_timestamp !== 0 && (e.req_timestamp = Math.round(u.req_timestamp)), u.is_connect !== !1 && (e.is_connect = u.is_connect), e
}, create(u) {
return Z0.fromPartial(u != null ? u : {})
}, fromPartial(u) {
var i, n;
const e = wi();
return e.req_timestamp = (i = u.req_timestamp) != null ? i : 0, e.is_connect = (n = u.is_connect) != null ? n : !1, e
}
};
function Si() {
return {accepted: !1, req_timestamp: 0, ack_timestamp: 0}
}
const Q0 = {
encode(u, e = r.Writer.create()) {
return u.accepted !== !1 && e.uint32(8).bool(u.accepted), u.req_timestamp !== 0 && e.uint32(16).int64(u.req_timestamp), u.ack_timestamp !== 0 && e.uint32(24).int64(u.ack_timestamp), e
}, decode(u, e) {
const i = u instanceof r.Reader ? u : r.Reader.create(u);
let n = e === void 0 ? i.len : i.pos + e;
const a = Si();
for (; i.pos < n;) {
const t = i.uint32();
switch (t >>> 3) {
case 1:
if (t !== 8) break;
a.accepted = i.bool();
continue;
case 2:
if (t !== 16) break;
a.req_timestamp = q(i.int64());
continue;
case 3:
if (t !== 24) break;
a.ack_timestamp = q(i.int64());
continue
}
if ((t & 7) === 4 || t === 0) break;
i.skipType(t & 7)
}
return a
}, fromJSON(u) {
return {
accepted: o(u.accepted) ? globalThis.Boolean(u.accepted) : !1,
req_timestamp: o(u.req_timestamp) ? globalThis.Number(u.req_timestamp) : 0,
ack_timestamp: o(u.ack_timestamp) ? globalThis.Number(u.ack_timestamp) : 0
}
}, toJSON(u) {
const e = {};
return u.accepted !== !1 && (e.accepted = u.accepted), u.req_timestamp !== 0 && (e.req_timestamp = Math.round(u.req_timestamp)), u.ack_timestamp !== 0 && (e.ack_timestamp = Math.round(u.ack_timestamp)), e
}, create(u) {
return Q0.fromPartial(u != null ? u : {})
}, fromPartial(u) {
var i, n, a;
const e = Si();
return e.accepted = (i = u.accepted) != null ? i : !1, e.req_timestamp = (n = u.req_timestamp) != null ? n : 0, e.ack_timestamp = (a = u.ack_timestamp) != null ? a : 0, e
}
};
function zi() {
return {display: 0, sid: ""}
}
const X0 = {
encode(u, e = r.Writer.create()) {
return u.display !== 0 && e.uint32(8).int32(u.display), u.sid !== "" && e.uint32(18).string(u.sid), e
}, decode(u, e) {
const i = u instanceof r.Reader ? u : r.Reader.create(u);
let n = e === void 0 ? i.len : i.pos + e;
const a = zi();
for (; i.pos < n;) {
const t = i.uint32();
switch (t >>> 3) {
case 1:
if (t !== 8) break;
a.display = i.int32();
continue;
case 2:
if (t !== 18) break;
a.sid = i.string();
continue
}
if ((t & 7) === 4 || t === 0) break;
i.skipType(t & 7)
}
return a
}, fromJSON(u) {
return {display: o(u.display) ? globalThis.Number(u.display) : 0, sid: o(u.sid) ? globalThis.String(u.sid) : ""}
}, toJSON(u) {
const e = {};
return u.display !== 0 && (e.display = Math.round(u.display)), u.sid !== "" && (e.sid = u.sid), e
}, create(u) {
return X0.fromPartial(u != null ? u : {})
}, fromPartial(u) {
var i, n;
const e = zi();
return e.display = (i = u.display) != null ? i : 0, e.sid = (n = u.sid) != null ? n : "", e
}
};
function Pi() {
return {sid: "", msg: "", data: new Uint8Array(0)}
}
const Y0 = {
encode(u, e = r.Writer.create()) {
return u.sid !== "" && e.uint32(10).string(u.sid), u.msg !== "" && e.uint32(18).string(u.msg), u.data.length !== 0 && e.uint32(26).bytes(u.data), e
}, decode(u, e) {
const i = u instanceof r.Reader ? u : r.Reader.create(u);
let n = e === void 0 ? i.len : i.pos + e;
const a = Pi();
for (; i.pos < n;) {
const t = i.uint32();
switch (t >>> 3) {
case 1:
if (t !== 10) break;
a.sid = i.string();
continue;
case 2:
if (t !== 18) break;
a.msg = i.string();
continue;
case 3:
if (t !== 26) break;
a.data = i.bytes();
continue
}
if ((t & 7) === 4 || t === 0) break;
i.skipType(t & 7)
}
return a
}, fromJSON(u) {
return {
sid: o(u.sid) ? globalThis.String(u.sid) : "",
msg: o(u.msg) ? globalThis.String(u.msg) : "",
data: o(u.data) ? z(u.data) : new Uint8Array(0)
}
}, toJSON(u) {
const e = {};
return u.sid !== "" && (e.sid = u.sid), u.msg !== "" && (e.msg = u.msg), u.data.length !== 0 && (e.data = P(u.data)), e
}, create(u) {
return Y0.fromPartial(u != null ? u : {})
}, fromPartial(u) {
var i, n, a;
const e = Pi();
return e.sid = (i = u.sid) != null ? i : "", e.msg = (n = u.msg) != null ? n : "", e.data = (a = u.data) != null ? a : new Uint8Array(0), e
}
};
function Ri() {
return {
signed_id: void 0,
public_key: void 0,
test_delay: void 0,
video_frame: void 0,
login_request: void 0,
login_response: void 0,
hash: void 0,
mouse_event: void 0,
audio_frame: void 0,
cursor_data: void 0,
cursor_position: void 0,
cursor_id: void 0,
key_event: void 0,
clipboard: void 0,
file_action: void 0,
file_response: void 0,
misc: void 0,
cliprdr: void 0,
message_box: void 0,
switch_sides_response: void 0,
voice_call_request: void 0,
voice_call_response: void 0,
peer_info: void 0,
pointer_device_event: void 0,
auth_2fa: void 0,
multi_clipboards: void 0,
screenshot_request: void 0,
screenshot_response: void 0
}
}
const au = {
encode(u, e = r.Writer.create()) {
return u.signed_id !== void 0 && N0.encode(u.signed_id, e.uint32(26).fork()).ldelim(), u.public_key !== void 0 && H.encode(u.public_key, e.uint32(34).fork()).ldelim(), u.test_delay !== void 0 && j0.encode(u.test_delay, e.uint32(42).fork()).ldelim(), u.video_frame !== void 0 && s0.encode(u.video_frame, e.uint32(50).fork()).ldelim(), u.login_request !== void 0 && J.encode(u.login_request, e.uint32(58).fork()).ldelim(), u.login_response !== void 0 && C0.encode(u.login_response, e.uint32(66).fork()).ldelim(), u.hash !== void 0 && k0.encode(u.hash, e.uint32(74).fork()).ldelim(), u.mouse_event !== void 0 && ku.encode(u.mouse_event, e.uint32(82).fork()).ldelim(), u.audio_frame !== void 0 && U0.encode(u.audio_frame, e.uint32(90).fork()).ldelim(), u.cursor_data !== void 0 && v0.encode(u.cursor_data, e.uint32(98).fork()).ldelim(), u.cursor_position !== void 0 && g0.encode(u.cursor_position, e.uint32(106).fork()).ldelim(), u.cursor_id !== void 0 && e.uint32(112).uint64(u.cursor_id), u.key_event !== void 0 && S.encode(u.key_event, e.uint32(122).fork()).ldelim(), u.clipboard !== void 0 && W.encode(u.clipboard, e.uint32(130).fork()).ldelim(), u.file_action !== void 0 && I.encode(u.file_action, e.uint32(138).fork()).ldelim(), u.file_response !== void 0 && ou.encode(u.file_response, e.uint32(146).fork()).ldelim(), u.misc !== void 0 && f.encode(u.misc, e.uint32(154).fork()).ldelim(), u.cliprdr !== void 0 && I0.encode(u.cliprdr, e.uint32(162).fork()).ldelim(), u.message_box !== void 0 && M0.encode(u.message_box, e.uint32(170).fork()).ldelim(), u.switch_sides_response !== void 0 && V0.encode(u.switch_sides_response, e.uint32(178).fork()).ldelim(), u.voice_call_request !== void 0 && Z0.encode(u.voice_call_request, e.uint32(186).fork()).ldelim(), u.voice_call_response !== void 0 && Q0.encode(u.voice_call_response, e.uint32(194).fork()).ldelim(), u.peer_info !== void 0 && uu.encode(u.peer_info, e.uint32(202).fork()).ldelim(), u.pointer_device_event !== void 0 && _0.encode(u.pointer_device_event, e.uint32(210).fork()).ldelim(), u.auth_2fa !== void 0 && vu.encode(u.auth_2fa, e.uint32(218).fork()).ldelim(), u.multi_clipboards !== void 0 && hu.encode(u.multi_clipboards, e.uint32(226).fork()).ldelim(), u.screenshot_request !== void 0 && X0.encode(u.screenshot_request, e.uint32(234).fork()).ldelim(), u.screenshot_response !== void 0 && Y0.encode(u.screenshot_response, e.uint32(242).fork()).ldelim(), e
}, decode(u, e) {
const i = u instanceof r.Reader ? u : r.Reader.create(u);
let n = e === void 0 ? i.len : i.pos + e;
const a = Ri();
for (; i.pos < n;) {
const t = i.uint32();
switch (t >>> 3) {
case 3:
if (t !== 26) break;
a.signed_id = N0.decode(i, i.uint32());
continue;
case 4:
if (t !== 34) break;
a.public_key = H.decode(i, i.uint32());
continue;
case 5:
if (t !== 42) break;
a.test_delay = j0.decode(i, i.uint32());
continue;
case 6:
if (t !== 50) break;
a.video_frame = s0.decode(i, i.uint32());
continue;
case 7:
if (t !== 58) break;
a.login_request = J.decode(i, i.uint32());
continue;
case 8:
if (t !== 66) break;
a.login_response = C0.decode(i, i.uint32());
continue;
case 9:
if (t !== 74) break;
a.hash = k0.decode(i, i.uint32());
continue;
case 10:
if (t !== 82) break;
a.mouse_event = ku.decode(i, i.uint32());
continue;
case 11:
if (t !== 90) break;
a.audio_frame = U0.decode(i, i.uint32());
continue;
case 12:
if (t !== 98) break;
a.cursor_data = v0.decode(i, i.uint32());
continue;
case 13:
if (t !== 106) break;
a.cursor_position = g0.decode(i, i.uint32());
continue;
case 14:
if (t !== 112) break;
a.cursor_id = q(i.uint64());
continue;
case 15:
if (t !== 122) break;
a.key_event = S.decode(i, i.uint32());
continue;
case 16:
if (t !== 130) break;
a.clipboard = W.decode(i, i.uint32());
continue;
case 17:
if (t !== 138) break;
a.file_action = I.decode(i, i.uint32());
continue;
case 18:
if (t !== 146) break;
a.file_response = ou.decode(i, i.uint32());
continue;
case 19:
if (t !== 154) break;
a.misc = f.decode(i, i.uint32());
continue;
case 20:
if (t !== 162) break;
a.cliprdr = I0.decode(i, i.uint32());
continue;
case 21:
if (t !== 170) break;
a.message_box = M0.decode(i, i.uint32());
continue;
case 22:
if (t !== 178) break;
a.switch_sides_response = V0.decode(i, i.uint32());
continue;
case 23:
if (t !== 186) break;
a.voice_call_request = Z0.decode(i, i.uint32());
continue;
case 24:
if (t !== 194) break;
a.voice_call_response = Q0.decode(i, i.uint32());
continue;
case 25:
if (t !== 202) break;
a.peer_info = uu.decode(i, i.uint32());
continue;
case 26:
if (t !== 210) break;
a.pointer_device_event = _0.decode(i, i.uint32());
continue;
case 27:
if (t !== 218) break;
a.auth_2fa = vu.decode(i, i.uint32());
continue;
case 28:
if (t !== 226) break;
a.multi_clipboards = hu.decode(i, i.uint32());
continue;
case 29:
if (t !== 234) break;
a.screenshot_request = X0.decode(i, i.uint32());
continue;
case 30:
if (t !== 242) break;
a.screenshot_response = Y0.decode(i, i.uint32());
continue
}
if ((t & 7) === 4 || t === 0) break;
i.skipType(t & 7)
}
return a
}, fromJSON(u) {
return {
signed_id: o(u.signed_id) ? N0.fromJSON(u.signed_id) : void 0,
public_key: o(u.public_key) ? H.fromJSON(u.public_key) : void 0,
test_delay: o(u.test_delay) ? j0.fromJSON(u.test_delay) : void 0,
video_frame: o(u.video_frame) ? s0.fromJSON(u.video_frame) : void 0,
login_request: o(u.login_request) ? J.fromJSON(u.login_request) : void 0,
login_response: o(u.login_response) ? C0.fromJSON(u.login_response) : void 0,
hash: o(u.hash) ? k0.fromJSON(u.hash) : void 0,
mouse_event: o(u.mouse_event) ? ku.fromJSON(u.mouse_event) : void 0,
audio_frame: o(u.audio_frame) ? U0.fromJSON(u.audio_frame) : void 0,
cursor_data: o(u.cursor_data) ? v0.fromJSON(u.cursor_data) : void 0,
cursor_position: o(u.cursor_position) ? g0.fromJSON(u.cursor_position) : void 0,
cursor_id: o(u.cursor_id) ? globalThis.Number(u.cursor_id) : void 0,
key_event: o(u.key_event) ? S.fromJSON(u.key_event) : void 0,
clipboard: o(u.clipboard) ? W.fromJSON(u.clipboard) : void 0,
file_action: o(u.file_action) ? I.fromJSON(u.file_action) : void 0,
file_response: o(u.file_response) ? ou.fromJSON(u.file_response) : void 0,
misc: o(u.misc) ? f.fromJSON(u.misc) : void 0,
cliprdr: o(u.cliprdr) ? I0.fromJSON(u.cliprdr) : void 0,
message_box: o(u.message_box) ? M0.fromJSON(u.message_box) : void 0,
switch_sides_response: o(u.switch_sides_response) ? V0.fromJSON(u.switch_sides_response) : void 0,
voice_call_request: o(u.voice_call_request) ? Z0.fromJSON(u.voice_call_request) : void 0,
voice_call_response: o(u.voice_call_response) ? Q0.fromJSON(u.voice_call_response) : void 0,
peer_info: o(u.peer_info) ? uu.fromJSON(u.peer_info) : void 0,
pointer_device_event: o(u.pointer_device_event) ? _0.fromJSON(u.pointer_device_event) : void 0,
auth_2fa: o(u.auth_2fa) ? vu.fromJSON(u.auth_2fa) : void 0,
multi_clipboards: o(u.multi_clipboards) ? hu.fromJSON(u.multi_clipboards) : void 0,
screenshot_request: o(u.screenshot_request) ? X0.fromJSON(u.screenshot_request) : void 0,
screenshot_response: o(u.screenshot_response) ? Y0.fromJSON(u.screenshot_response) : void 0
}
}, toJSON(u) {
const e = {};
return u.signed_id !== void 0 && (e.signed_id = N0.toJSON(u.signed_id)), u.public_key !== void 0 && (e.public_key = H.toJSON(u.public_key)), u.test_delay !== void 0 && (e.test_delay = j0.toJSON(u.test_delay)), u.video_frame !== void 0 && (e.video_frame = s0.toJSON(u.video_frame)), u.login_request !== void 0 && (e.login_request = J.toJSON(u.login_request)), u.login_response !== void 0 && (e.login_response = C0.toJSON(u.login_response)), u.hash !== void 0 && (e.hash = k0.toJSON(u.hash)), u.mouse_event !== void 0 && (e.mouse_event = ku.toJSON(u.mouse_event)), u.audio_frame !== void 0 && (e.audio_frame = U0.toJSON(u.audio_frame)), u.cursor_data !== void 0 && (e.cursor_data = v0.toJSON(u.cursor_data)), u.cursor_position !== void 0 && (e.cursor_position = g0.toJSON(u.cursor_position)), u.cursor_id !== void 0 && (e.cursor_id = Math.round(u.cursor_id)), u.key_event !== void 0 && (e.key_event = S.toJSON(u.key_event)), u.clipboard !== void 0 && (e.clipboard = W.toJSON(u.clipboard)), u.file_action !== void 0 && (e.file_action = I.toJSON(u.file_action)), u.file_response !== void 0 && (e.file_response = ou.toJSON(u.file_response)), u.misc !== void 0 && (e.misc = f.toJSON(u.misc)), u.cliprdr !== void 0 && (e.cliprdr = I0.toJSON(u.cliprdr)), u.message_box !== void 0 && (e.message_box = M0.toJSON(u.message_box)), u.switch_sides_response !== void 0 && (e.switch_sides_response = V0.toJSON(u.switch_sides_response)), u.voice_call_request !== void 0 && (e.voice_call_request = Z0.toJSON(u.voice_call_request)), u.voice_call_response !== void 0 && (e.voice_call_response = Q0.toJSON(u.voice_call_response)), u.peer_info !== void 0 && (e.peer_info = uu.toJSON(u.peer_info)), u.pointer_device_event !== void 0 && (e.pointer_device_event = _0.toJSON(u.pointer_device_event)), u.auth_2fa !== void 0 && (e.auth_2fa = vu.toJSON(u.auth_2fa)), u.multi_clipboards !== void 0 && (e.multi_clipboards = hu.toJSON(u.multi_clipboards)), u.screenshot_request !== void 0 && (e.screenshot_request = X0.toJSON(u.screenshot_request)), u.screenshot_response !== void 0 && (e.screenshot_response = Y0.toJSON(u.screenshot_response)), e
}, create(u) {
return au.fromPartial(u != null ? u : {})
}, fromPartial(u) {
var i;
const e = Ri();
return e.signed_id = u.signed_id !== void 0 && u.signed_id !== null ? N0.fromPartial(u.signed_id) : void 0, e.public_key = u.public_key !== void 0 && u.public_key !== null ? H.fromPartial(u.public_key) : void 0, e.test_delay = u.test_delay !== void 0 && u.test_delay !== null ? j0.fromPartial(u.test_delay) : void 0, e.video_frame = u.video_frame !== void 0 && u.video_frame !== null ? s0.fromPartial(u.video_frame) : void 0, e.login_request = u.login_request !== void 0 && u.login_request !== null ? J.fromPartial(u.login_request) : void 0, e.login_response = u.login_response !== void 0 && u.login_response !== null ? C0.fromPartial(u.login_response) : void 0, e.hash = u.hash !== void 0 && u.hash !== null ? k0.fromPartial(u.hash) : void 0, e.mouse_event = u.mouse_event !== void 0 && u.mouse_event !== null ? ku.fromPartial(u.mouse_event) : void 0, e.audio_frame = u.audio_frame !== void 0 && u.audio_frame !== null ? U0.fromPartial(u.audio_frame) : void 0, e.cursor_data = u.cursor_data !== void 0 && u.cursor_data !== null ? v0.fromPartial(u.cursor_data) : void 0, e.cursor_position = u.cursor_position !== void 0 && u.cursor_position !== null ? g0.fromPartial(u.cursor_position) : void 0, e.cursor_id = (i = u.cursor_id) != null ? i : void 0, e.key_event = u.key_event !== void 0 && u.key_event !== null ? S.fromPartial(u.key_event) : void 0, e.clipboard = u.clipboard !== void 0 && u.clipboard !== null ? W.fromPartial(u.clipboard) : void 0, e.file_action = u.file_action !== void 0 && u.file_action !== null ? I.fromPartial(u.file_action) : void 0, e.file_response = u.file_response !== void 0 && u.file_response !== null ? ou.fromPartial(u.file_response) : void 0, e.misc = u.misc !== void 0 && u.misc !== null ? f.fromPartial(u.misc) : void 0, e.cliprdr = u.cliprdr !== void 0 && u.cliprdr !== null ? I0.fromPartial(u.cliprdr) : void 0, e.message_box = u.message_box !== void 0 && u.message_box !== null ? M0.fromPartial(u.message_box) : void 0, e.switch_sides_response = u.switch_sides_response !== void 0 && u.switch_sides_response !== null ? V0.fromPartial(u.switch_sides_response) : void 0, e.voice_call_request = u.voice_call_request !== void 0 && u.voice_call_request !== null ? Z0.fromPartial(u.voice_call_request) : void 0, e.voice_call_response = u.voice_call_response !== void 0 && u.voice_call_response !== null ? Q0.fromPartial(u.voice_call_response) : void 0, e.peer_info = u.peer_info !== void 0 && u.peer_info !== null ? uu.fromPartial(u.peer_info) : void 0, e.pointer_device_event = u.pointer_device_event !== void 0 && u.pointer_device_event !== null ? _0.fromPartial(u.pointer_device_event) : void 0, e.auth_2fa = u.auth_2fa !== void 0 && u.auth_2fa !== null ? vu.fromPartial(u.auth_2fa) : void 0, e.multi_clipboards = u.multi_clipboards !== void 0 && u.multi_clipboards !== null ? hu.fromPartial(u.multi_clipboards) : void 0, e.screenshot_request = u.screenshot_request !== void 0 && u.screenshot_request !== null ? X0.fromPartial(u.screenshot_request) : void 0, e.screenshot_response = u.screenshot_response !== void 0 && u.screenshot_response !== null ? Y0.fromPartial(u.screenshot_response) : void 0, e
}
};
function z(u) {
if (globalThis.Buffer) return Uint8Array.from(globalThis.Buffer.from(u, "base64"));
{
const e = globalThis.atob(u), i = new Uint8Array(e.length);
for (let n = 0; n < e.length; ++n) i[n] = e.charCodeAt(n);
return i
}
}
function P(u) {
if (globalThis.Buffer) return globalThis.Buffer.from(u).toString("base64");
{
const e = [];
return u.forEach(i => {
e.push(globalThis.String.fromCharCode(i))
}), globalThis.btoa(e.join(""))
}
}
function q(u) {
if (u.gt(globalThis.Number.MAX_SAFE_INTEGER)) throw new globalThis.Error("Value is larger than Number.MAX_SAFE_INTEGER");
if (u.lt(globalThis.Number.MIN_SAFE_INTEGER)) throw new globalThis.Error("Value is smaller than Number.MIN_SAFE_INTEGER");
return u.toNumber()
}
r.util.Long !== K4 && (r.util.Long = K4, r.configure());
function o(u) {
return u != null
}
var je = (u => (u[u.DEFAULT_CONN = 0] = "DEFAULT_CONN", u[u.FILE_TRANSFER = 1] = "FILE_TRANSFER", u[u.PORT_FORWARD = 2] = "PORT_FORWARD", u[u.RDP = 3] = "RDP", u[u.VIEW_CAMERA = 4] = "VIEW_CAMERA", u[u.UNRECOGNIZED = -1] = "UNRECOGNIZED", u))(je || {});
function xt(u) {
switch (u) {
case 0:
case"DEFAULT_CONN":
return 0;
case 1:
case"FILE_TRANSFER":
return 1;
case 2:
case"PORT_FORWARD":
return 2;
case 3:
case"RDP":
return 3;
case 4:
case"VIEW_CAMERA":
return 4;
case-1:
case"UNRECOGNIZED":
default:
return -1
}
}
function yt(u) {
switch (u) {
case 0:
return "DEFAULT_CONN";
case 1:
return "FILE_TRANSFER";
case 2:
return "PORT_FORWARD";
case 3:
return "RDP";
case 4:
return "VIEW_CAMERA";
case-1:
default:
return "UNRECOGNIZED"
}
}
var bt = (u => (u[u.UNKNOWN_NAT = 0] = "UNKNOWN_NAT", u[u.ASYMMETRIC = 1] = "ASYMMETRIC", u[u.SYMMETRIC = 2] = "SYMMETRIC", u[u.UNRECOGNIZED = -1] = "UNRECOGNIZED", u))(bt || {});
function i4(u) {
switch (u) {
case 0:
case"UNKNOWN_NAT":
return 0;
case 1:
case"ASYMMETRIC":
return 1;
case 2:
case"SYMMETRIC":
return 2;
case-1:
case"UNRECOGNIZED":
default:
return -1
}
}
function t4(u) {
switch (u) {
case 0:
return "UNKNOWN_NAT";
case 1:
return "ASYMMETRIC";
case 2:
return "SYMMETRIC";
case-1:
default:
return "UNRECOGNIZED"
}
}
function Ha(u) {
switch (u) {
case 0:
case"OK":
return 0;
case 2:
case"UUID_MISMATCH":
return 2;
case 3:
case"ID_EXISTS":
return 3;
case 4:
case"TOO_FREQUENT":
return 4;
case 5:
case"INVALID_ID_FORMAT":
return 5;
case 6:
case"NOT_SUPPORT":
return 6;
case 7:
case"SERVER_ERROR":
return 7;
case-1:
case"UNRECOGNIZED":
default:
return -1
}
}
function Ja(u) {
switch (u) {
case 0:
return "OK";
case 2:
return "UUID_MISMATCH";
case 3:
return "ID_EXISTS";
case 4:
return "TOO_FREQUENT";
case 5:
return "INVALID_ID_FORMAT";
case 6:
return "NOT_SUPPORT";
case 7:
return "SERVER_ERROR";
case-1:
default:
return "UNRECOGNIZED"
}
}
var $0 = (u => (u[u.ID_NOT_EXIST = 0] = "ID_NOT_EXIST", u[u.OFFLINE = 2] = "OFFLINE", u[u.LICENSE_MISMATCH = 3] = "LICENSE_MISMATCH", u[u.LICENSE_OVERUSE = 4] = "LICENSE_OVERUSE", u[u.UNRECOGNIZED = -1] = "UNRECOGNIZED", u))($0 || {});
function Ga(u) {
switch (u) {
case 0:
case"ID_NOT_EXIST":
return 0;
case 2:
case"OFFLINE":
return 2;
case 3:
case"LICENSE_MISMATCH":
return 3;
case 4:
case"LICENSE_OVERUSE":
return 4;
case-1:
case"UNRECOGNIZED":
default:
return -1
}
}
function Za(u) {
switch (u) {
case 0:
return "ID_NOT_EXIST";
case 2:
return "OFFLINE";
case 3:
return "LICENSE_MISMATCH";
case 4:
return "LICENSE_OVERUSE";
case-1:
default:
return "UNRECOGNIZED"
}
}
function Ii() {
return {id: "", serial: 0}
}
const ue = {
encode(u, e = r.Writer.create()) {
return u.id !== "" && e.uint32(10).string(u.id), u.serial !== 0 && e.uint32(16).int32(u.serial), e
}, decode(u, e) {
const i = u instanceof r.Reader ? u : r.Reader.create(u);
let n = e === void 0 ? i.len : i.pos + e;
const a = Ii();
for (; i.pos < n;) {
const t = i.uint32();
switch (t >>> 3) {
case 1:
if (t !== 10) break;
a.id = i.string();
continue;
case 2:
if (t !== 16) break;
a.serial = i.int32();
continue
}
if ((t & 7) === 4 || t === 0) break;
i.skipType(t & 7)
}
return a
}, fromJSON(u) {
return {id: C(u.id) ? globalThis.String(u.id) : "", serial: C(u.serial) ? globalThis.Number(u.serial) : 0}
}, toJSON(u) {
const e = {};
return u.id !== "" && (e.id = u.id), u.serial !== 0 && (e.serial = Math.round(u.serial)), e
}, create(u) {
return ue.fromPartial(u != null ? u : {})
}, fromPartial(u) {
var i, n;
const e = Ii();
return e.id = (i = u.id) != null ? i : "", e.serial = (n = u.serial) != null ? n : 0, e
}
};
function Ti() {
return {request_pk: !1}
}
const ee = {
encode(u, e = r.Writer.create()) {
return u.request_pk !== !1 && e.uint32(16).bool(u.request_pk), e
}, decode(u, e) {
const i = u instanceof r.Reader ? u : r.Reader.create(u);
let n = e === void 0 ? i.len : i.pos + e;
const a = Ti();
for (; i.pos < n;) {
const t = i.uint32();
switch (t >>> 3) {
case 2:
if (t !== 16) break;
a.request_pk = i.bool();
continue
}
if ((t & 7) === 4 || t === 0) break;
i.skipType(t & 7)
}
return a
}, fromJSON(u) {
return {request_pk: C(u.request_pk) ? globalThis.Boolean(u.request_pk) : !1}
}, toJSON(u) {
const e = {};
return u.request_pk !== !1 && (e.request_pk = u.request_pk), e
}, create(u) {
return ee.fromPartial(u != null ? u : {})
}, fromPartial(u) {
var i;
const e = Ti();
return e.request_pk = (i = u.request_pk) != null ? i : !1, e
}
};
function ji() {
return {id: "", nat_type: 0, licence_key: "", conn_type: 0, token: "", version: ""}
}
const Hu = {
encode(u, e = r.Writer.create()) {
return u.id !== "" && e.uint32(10).string(u.id), u.nat_type !== 0 && e.uint32(16).int32(u.nat_type), u.licence_key !== "" && e.uint32(26).string(u.licence_key), u.conn_type !== 0 && e.uint32(32).int32(u.conn_type), u.token !== "" && e.uint32(42).string(u.token), u.version !== "" && e.uint32(50).string(u.version), e
}, decode(u, e) {
const i = u instanceof r.Reader ? u : r.Reader.create(u);
let n = e === void 0 ? i.len : i.pos + e;
const a = ji();
for (; i.pos < n;) {
const t = i.uint32();
switch (t >>> 3) {
case 1:
if (t !== 10) break;
a.id = i.string();
continue;
case 2:
if (t !== 16) break;
a.nat_type = i.int32();
continue;
case 3:
if (t !== 26) break;
a.licence_key = i.string();
continue;
case 4:
if (t !== 32) break;
a.conn_type = i.int32();
continue;
case 5:
if (t !== 42) break;
a.token = i.string();
continue;
case 6:
if (t !== 50) break;
a.version = i.string();
continue
}
if ((t & 7) === 4 || t === 0) break;
i.skipType(t & 7)
}
return a
}, fromJSON(u) {
return {
id: C(u.id) ? globalThis.String(u.id) : "",
nat_type: C(u.nat_type) ? i4(u.nat_type) : 0,
licence_key: C(u.licence_key) ? globalThis.String(u.licence_key) : "",
conn_type: C(u.conn_type) ? xt(u.conn_type) : 0,
token: C(u.token) ? globalThis.String(u.token) : "",
version: C(u.version) ? globalThis.String(u.version) : ""
}
}, toJSON(u) {
const e = {};
return u.id !== "" && (e.id = u.id), u.nat_type !== 0 && (e.nat_type = t4(u.nat_type)), u.licence_key !== "" && (e.licence_key = u.licence_key), u.conn_type !== 0 && (e.conn_type = yt(u.conn_type)), u.token !== "" && (e.token = u.token), u.version !== "" && (e.version = u.version), e
}, create(u) {
return Hu.fromPartial(u != null ? u : {})
}, fromPartial(u) {
var i, n, a, t, s, E;
const e = ji();
return e.id = (i = u.id) != null ? i : "", e.nat_type = (n = u.nat_type) != null ? n : 0, e.licence_key = (a = u.licence_key) != null ? a : "", e.conn_type = (t = u.conn_type) != null ? t : 0, e.token = (s = u.token) != null ? s : "", e.version = (E = u.version) != null ? E : "", e
}
};
function Ni() {
return {socket_addr: new Uint8Array(0), relay_server: "", nat_type: 0}
}
const ie = {
encode(u, e = r.Writer.create()) {
return u.socket_addr.length !== 0 && e.uint32(10).bytes(u.socket_addr), u.relay_server !== "" && e.uint32(18).string(u.relay_server), u.nat_type !== 0 && e.uint32(24).int32(u.nat_type), e
}, decode(u, e) {
const i = u instanceof r.Reader ? u : r.Reader.create(u);
let n = e === void 0 ? i.len : i.pos + e;
const a = Ni();
for (; i.pos < n;) {
const t = i.uint32();
switch (t >>> 3) {
case 1:
if (t !== 10) break;
a.socket_addr = i.bytes();
continue;
case 2:
if (t !== 18) break;
a.relay_server = i.string();
continue;
case 3:
if (t !== 24) break;
a.nat_type = i.int32();
continue
}
if ((t & 7) === 4 || t === 0) break;
i.skipType(t & 7)
}
return a
}, fromJSON(u) {
return {
socket_addr: C(u.socket_addr) ? O(u.socket_addr) : new Uint8Array(0),
relay_server: C(u.relay_server) ? globalThis.String(u.relay_server) : "",
nat_type: C(u.nat_type) ? i4(u.nat_type) : 0
}
}, toJSON(u) {
const e = {};
return u.socket_addr.length !== 0 && (e.socket_addr = U(u.socket_addr)), u.relay_server !== "" && (e.relay_server = u.relay_server), u.nat_type !== 0 && (e.nat_type = t4(u.nat_type)), e
}, create(u) {
return ie.fromPartial(u != null ? u : {})
}, fromPartial(u) {
var i, n, a;
const e = Ni();
return e.socket_addr = (i = u.socket_addr) != null ? i : new Uint8Array(0), e.relay_server = (n = u.relay_server) != null ? n : "", e.nat_type = (a = u.nat_type) != null ? a : 0, e
}
};
function Oi() {
return {serial: 0}
}
const te = {
encode(u, e = r.Writer.create()) {
return u.serial !== 0 && e.uint32(8).int32(u.serial), e
}, decode(u, e) {
const i = u instanceof r.Reader ? u : r.Reader.create(u);
let n = e === void 0 ? i.len : i.pos + e;
const a = Oi();
for (; i.pos < n;) {
const t = i.uint32();
switch (t >>> 3) {
case 1:
if (t !== 8) break;
a.serial = i.int32();
continue
}
if ((t & 7) === 4 || t === 0) break;
i.skipType(t & 7)
}
return a
}, fromJSON(u) {
return {serial: C(u.serial) ? globalThis.Number(u.serial) : 0}
}, toJSON(u) {
const e = {};
return u.serial !== 0 && (e.serial = Math.round(u.serial)), e
}, create(u) {
return te.fromPartial(u != null ? u : {})
}, fromPartial(u) {
var i;
const e = Oi();
return e.serial = (i = u.serial) != null ? i : 0, e
}
};
function Ui() {
return {port: 0, cu: void 0}
}
const ae = {
encode(u, e = r.Writer.create()) {
return u.port !== 0 && e.uint32(8).int32(u.port), u.cu !== void 0 && tu.encode(u.cu, e.uint32(18).fork()).ldelim(), e
}, decode(u, e) {
const i = u instanceof r.Reader ? u : r.Reader.create(u);
let n = e === void 0 ? i.len : i.pos + e;
const a = Ui();
for (; i.pos < n;) {
const t = i.uint32();
switch (t >>> 3) {
case 1:
if (t !== 8) break;
a.port = i.int32();
continue;
case 2:
if (t !== 18) break;
a.cu = tu.decode(i, i.uint32());
continue
}
if ((t & 7) === 4 || t === 0) break;
i.skipType(t & 7)
}
return a
}, fromJSON(u) {
return {port: C(u.port) ? globalThis.Number(u.port) : 0, cu: C(u.cu) ? tu.fromJSON(u.cu) : void 0}
}, toJSON(u) {
const e = {};
return u.port !== 0 && (e.port = Math.round(u.port)), u.cu !== void 0 && (e.cu = tu.toJSON(u.cu)), e
}, create(u) {
return ae.fromPartial(u != null ? u : {})
}, fromPartial(u) {
var i;
const e = Ui();
return e.port = (i = u.port) != null ? i : 0, e.cu = u.cu !== void 0 && u.cu !== null ? tu.fromPartial(u.cu) : void 0, e
}
};
function Mi() {
return {socket_addr: new Uint8Array(0), id: "", relay_server: "", nat_type: 0, version: ""}
}
const ne = {
encode(u, e = r.Writer.create()) {
return u.socket_addr.length !== 0 && e.uint32(10).bytes(u.socket_addr), u.id !== "" && e.uint32(18).string(u.id), u.relay_server !== "" && e.uint32(26).string(u.relay_server), u.nat_type !== 0 && e.uint32(32).int32(u.nat_type), u.version !== "" && e.uint32(42).string(u.version), e
}, decode(u, e) {
const i = u instanceof r.Reader ? u : r.Reader.create(u);
let n = e === void 0 ? i.len : i.pos + e;
const a = Mi();
for (; i.pos < n;) {
const t = i.uint32();
switch (t >>> 3) {
case 1:
if (t !== 10) break;
a.socket_addr = i.bytes();
continue;
case 2:
if (t !== 18) break;
a.id = i.string();
continue;
case 3:
if (t !== 26) break;
a.relay_server = i.string();
continue;
case 4:
if (t !== 32) break;
a.nat_type = i.int32();
continue;
case 5:
if (t !== 42) break;
a.version = i.string();
continue
}
if ((t & 7) === 4 || t === 0) break;
i.skipType(t & 7)
}
return a
}, fromJSON(u) {
return {
socket_addr: C(u.socket_addr) ? O(u.socket_addr) : new Uint8Array(0),
id: C(u.id) ? globalThis.String(u.id) : "",
relay_server: C(u.relay_server) ? globalThis.String(u.relay_server) : "",
nat_type: C(u.nat_type) ? i4(u.nat_type) : 0,
version: C(u.version) ? globalThis.String(u.version) : ""
}
}, toJSON(u) {
const e = {};
return u.socket_addr.length !== 0 && (e.socket_addr = U(u.socket_addr)), u.id !== "" && (e.id = u.id), u.relay_server !== "" && (e.relay_server = u.relay_server), u.nat_type !== 0 && (e.nat_type = t4(u.nat_type)), u.version !== "" && (e.version = u.version), e
}, create(u) {
return ne.fromPartial(u != null ? u : {})
}, fromPartial(u) {
var i, n, a, t, s;
const e = Mi();
return e.socket_addr = (i = u.socket_addr) != null ? i : new Uint8Array(0), e.id = (n = u.id) != null ? n : "", e.relay_server = (a = u.relay_server) != null ? a : "", e.nat_type = (t = u.nat_type) != null ? t : 0, e.version = (s = u.version) != null ? s : "", e
}
};
function Li() {
return {id: "", uuid: new Uint8Array(0), pk: new Uint8Array(0), old_id: ""}
}
const oe = {
encode(u, e = r.Writer.create()) {
return u.id !== "" && e.uint32(10).string(u.id), u.uuid.length !== 0 && e.uint32(18).bytes(u.uuid), u.pk.length !== 0 && e.uint32(26).bytes(u.pk), u.old_id !== "" && e.uint32(34).string(u.old_id), e
}, decode(u, e) {
const i = u instanceof r.Reader ? u : r.Reader.create(u);
let n = e === void 0 ? i.len : i.pos + e;
const a = Li();
for (; i.pos < n;) {
const t = i.uint32();
switch (t >>> 3) {
case 1:
if (t !== 10) break;
a.id = i.string();
continue;
case 2:
if (t !== 18) break;
a.uuid = i.bytes();
continue;
case 3:
if (t !== 26) break;
a.pk = i.bytes();
continue;
case 4:
if (t !== 34) break;
a.old_id = i.string();
continue
}
if ((t & 7) === 4 || t === 0) break;
i.skipType(t & 7)
}
return a
}, fromJSON(u) {
return {
id: C(u.id) ? globalThis.String(u.id) : "",
uuid: C(u.uuid) ? O(u.uuid) : new Uint8Array(0),
pk: C(u.pk) ? O(u.pk) : new Uint8Array(0),
old_id: C(u.old_id) ? globalThis.String(u.old_id) : ""
}
}, toJSON(u) {
const e = {};
return u.id !== "" && (e.id = u.id), u.uuid.length !== 0 && (e.uuid = U(u.uuid)), u.pk.length !== 0 && (e.pk = U(u.pk)), u.old_id !== "" && (e.old_id = u.old_id), e
}, create(u) {
return oe.fromPartial(u != null ? u : {})
}, fromPartial(u) {
var i, n, a, t;
const e = Li();
return e.id = (i = u.id) != null ? i : "", e.uuid = (n = u.uuid) != null ? n : new Uint8Array(0), e.pk = (a = u.pk) != null ? a : new Uint8Array(0), e.old_id = (t = u.old_id) != null ? t : "", e
}
};
function Wi() {
return {result: 0, keep_alive: 0}
}
const re = {
encode(u, e = r.Writer.create()) {
return u.result !== 0 && e.uint32(8).int32(u.result), u.keep_alive !== 0 && e.uint32(16).int32(u.keep_alive), e
}, decode(u, e) {
const i = u instanceof r.Reader ? u : r.Reader.create(u);
let n = e === void 0 ? i.len : i.pos + e;
const a = Wi();
for (; i.pos < n;) {
const t = i.uint32();
switch (t >>> 3) {
case 1:
if (t !== 8) break;
a.result = i.int32();
continue;
case 2:
if (t !== 16) break;
a.keep_alive = i.int32();
continue
}
if ((t & 7) === 4 || t === 0) break;
i.skipType(t & 7)
}
return a
}, fromJSON(u) {
return {
result: C(u.result) ? Ha(u.result) : 0,
keep_alive: C(u.keep_alive) ? globalThis.Number(u.keep_alive) : 0
}
}, toJSON(u) {
const e = {};
return u.result !== 0 && (e.result = Ja(u.result)), u.keep_alive !== 0 && (e.keep_alive = Math.round(u.keep_alive)), e
}, create(u) {
return re.fromPartial(u != null ? u : {})
}, fromPartial(u) {
var i, n;
const e = Wi();
return e.result = (i = u.result) != null ? i : 0, e.keep_alive = (n = u.keep_alive) != null ? n : 0, e
}
};
function Vi() {
return {
socket_addr: new Uint8Array(0),
pk: new Uint8Array(0),
failure: 0,
relay_server: "",
nat_type: void 0,
is_local: void 0,
other_failure: "",
feedback: 0
}
}
const se = {
encode(u, e = r.Writer.create()) {
return u.socket_addr.length !== 0 && e.uint32(10).bytes(u.socket_addr), u.pk.length !== 0 && e.uint32(18).bytes(u.pk), u.failure !== 0 && e.uint32(24).int32(u.failure), u.relay_server !== "" && e.uint32(34).string(u.relay_server), u.nat_type !== void 0 && e.uint32(40).int32(u.nat_type), u.is_local !== void 0 && e.uint32(48).bool(u.is_local), u.other_failure !== "" && e.uint32(58).string(u.other_failure), u.feedback !== 0 && e.uint32(64).int32(u.feedback), e
}, decode(u, e) {
const i = u instanceof r.Reader ? u : r.Reader.create(u);
let n = e === void 0 ? i.len : i.pos + e;
const a = Vi();
for (; i.pos < n;) {
const t = i.uint32();
switch (t >>> 3) {
case 1:
if (t !== 10) break;
a.socket_addr = i.bytes();
continue;
case 2:
if (t !== 18) break;
a.pk = i.bytes();
continue;
case 3:
if (t !== 24) break;
a.failure = i.int32();
continue;
case 4:
if (t !== 34) break;
a.relay_server = i.string();
continue;
case 5:
if (t !== 40) break;
a.nat_type = i.int32();
continue;
case 6:
if (t !== 48) break;
a.is_local = i.bool();
continue;
case 7:
if (t !== 58) break;
a.other_failure = i.string();
continue;
case 8:
if (t !== 64) break;
a.feedback = i.int32();
continue
}
if ((t & 7) === 4 || t === 0) break;
i.skipType(t & 7)
}
return a
}, fromJSON(u) {
return {
socket_addr: C(u.socket_addr) ? O(u.socket_addr) : new Uint8Array(0),
pk: C(u.pk) ? O(u.pk) : new Uint8Array(0),
failure: C(u.failure) ? Ga(u.failure) : 0,
relay_server: C(u.relay_server) ? globalThis.String(u.relay_server) : "",
nat_type: C(u.nat_type) ? i4(u.nat_type) : void 0,
is_local: C(u.is_local) ? globalThis.Boolean(u.is_local) : void 0,
other_failure: C(u.other_failure) ? globalThis.String(u.other_failure) : "",
feedback: C(u.feedback) ? globalThis.Number(u.feedback) : 0
}
}, toJSON(u) {
const e = {};
return u.socket_addr.length !== 0 && (e.socket_addr = U(u.socket_addr)), u.pk.length !== 0 && (e.pk = U(u.pk)), u.failure !== 0 && (e.failure = Za(u.failure)), u.relay_server !== "" && (e.relay_server = u.relay_server), u.nat_type !== void 0 && (e.nat_type = t4(u.nat_type)), u.is_local !== void 0 && (e.is_local = u.is_local), u.other_failure !== "" && (e.other_failure = u.other_failure), u.feedback !== 0 && (e.feedback = Math.round(u.feedback)), e
}, create(u) {
return se.fromPartial(u != null ? u : {})
}, fromPartial(u) {
var i, n, a, t, s, E, l, d;
const e = Vi();
return e.socket_addr = (i = u.socket_addr) != null ? i : new Uint8Array(0), e.pk = (n = u.pk) != null ? n : new Uint8Array(0), e.failure = (a = u.failure) != null ? a : 0, e.relay_server = (t = u.relay_server) != null ? t : "", e.nat_type = (s = u.nat_type) != null ? s : void 0, e.is_local = (E = u.is_local) != null ? E : void 0, e.other_failure = (l = u.other_failure) != null ? l : "", e.feedback = (d = u.feedback) != null ? d : 0, e
}
};
function qi() {
return {serial: 0, rendezvous_servers: []}
}
const tu = {
encode(u, e = r.Writer.create()) {
u.serial !== 0 && e.uint32(8).int32(u.serial);
for (const i of u.rendezvous_servers) e.uint32(18).string(i);
return e
}, decode(u, e) {
const i = u instanceof r.Reader ? u : r.Reader.create(u);
let n = e === void 0 ? i.len : i.pos + e;
const a = qi();
for (; i.pos < n;) {
const t = i.uint32();
switch (t >>> 3) {
case 1:
if (t !== 8) break;
a.serial = i.int32();
continue;
case 2:
if (t !== 18) break;
a.rendezvous_servers.push(i.string());
continue
}
if ((t & 7) === 4 || t === 0) break;
i.skipType(t & 7)
}
return a
}, fromJSON(u) {
return {
serial: C(u.serial) ? globalThis.Number(u.serial) : 0,
rendezvous_servers: globalThis.Array.isArray(u == null ? void 0 : u.rendezvous_servers) ? u.rendezvous_servers.map(e => globalThis.String(e)) : []
}
}, toJSON(u) {
var i;
const e = {};
return u.serial !== 0 && (e.serial = Math.round(u.serial)), (i = u.rendezvous_servers) != null && i.length && (e.rendezvous_servers = u.rendezvous_servers), e
}, create(u) {
return tu.fromPartial(u != null ? u : {})
}, fromPartial(u) {
var i, n;
const e = qi();
return e.serial = (i = u.serial) != null ? i : 0, e.rendezvous_servers = ((n = u.rendezvous_servers) == null ? void 0 : n.map(a => a)) || [], e
}
};
function Ki() {
return {
id: "",
uuid: "",
socket_addr: new Uint8Array(0),
relay_server: "",
secure: !1,
licence_key: "",
conn_type: 0,
token: ""
}
}
const Ju = {
encode(u, e = r.Writer.create()) {
return u.id !== "" && e.uint32(10).string(u.id), u.uuid !== "" && e.uint32(18).string(u.uuid), u.socket_addr.length !== 0 && e.uint32(26).bytes(u.socket_addr), u.relay_server !== "" && e.uint32(34).string(u.relay_server), u.secure !== !1 && e.uint32(40).bool(u.secure), u.licence_key !== "" && e.uint32(50).string(u.licence_key), u.conn_type !== 0 && e.uint32(56).int32(u.conn_type), u.token !== "" && e.uint32(66).string(u.token), e
}, decode(u, e) {
const i = u instanceof r.Reader ? u : r.Reader.create(u);
let n = e === void 0 ? i.len : i.pos + e;
const a = Ki();
for (; i.pos < n;) {
const t = i.uint32();
switch (t >>> 3) {
case 1:
if (t !== 10) break;
a.id = i.string();
continue;
case 2:
if (t !== 18) break;
a.uuid = i.string();
continue;
case 3:
if (t !== 26) break;
a.socket_addr = i.bytes();
continue;
case 4:
if (t !== 34) break;
a.relay_server = i.string();
continue;
case 5:
if (t !== 40) break;
a.secure = i.bool();
continue;
case 6:
if (t !== 50) break;
a.licence_key = i.string();
continue;
case 7:
if (t !== 56) break;
a.conn_type = i.int32();
continue;
case 8:
if (t !== 66) break;
a.token = i.string();
continue
}
if ((t & 7) === 4 || t === 0) break;
i.skipType(t & 7)
}
return a
}, fromJSON(u) {
return {
id: C(u.id) ? globalThis.String(u.id) : "",
uuid: C(u.uuid) ? globalThis.String(u.uuid) : "",
socket_addr: C(u.socket_addr) ? O(u.socket_addr) : new Uint8Array(0),
relay_server: C(u.relay_server) ? globalThis.String(u.relay_server) : "",
secure: C(u.secure) ? globalThis.Boolean(u.secure) : !1,
licence_key: C(u.licence_key) ? globalThis.String(u.licence_key) : "",
conn_type: C(u.conn_type) ? xt(u.conn_type) : 0,
token: C(u.token) ? globalThis.String(u.token) : ""
}
}, toJSON(u) {
const e = {};
return u.id !== "" && (e.id = u.id), u.uuid !== "" && (e.uuid = u.uuid), u.socket_addr.length !== 0 && (e.socket_addr = U(u.socket_addr)), u.relay_server !== "" && (e.relay_server = u.relay_server), u.secure !== !1 && (e.secure = u.secure), u.licence_key !== "" && (e.licence_key = u.licence_key), u.conn_type !== 0 && (e.conn_type = yt(u.conn_type)), u.token !== "" && (e.token = u.token), e
}, create(u) {
return Ju.fromPartial(u != null ? u : {})
}, fromPartial(u) {
var i, n, a, t, s, E, l, d;
const e = Ki();
return e.id = (i = u.id) != null ? i : "", e.uuid = (n = u.uuid) != null ? n : "", e.socket_addr = (a = u.socket_addr) != null ? a : new Uint8Array(0), e.relay_server = (t = u.relay_server) != null ? t : "", e.secure = (s = u.secure) != null ? s : !1, e.licence_key = (E = u.licence_key) != null ? E : "", e.conn_type = (l = u.conn_type) != null ? l : 0, e.token = (d = u.token) != null ? d : "", e
}
};
function Hi() {
return {
socket_addr: new Uint8Array(0),
uuid: "",
relay_server: "",
id: void 0,
pk: void 0,
refuse_reason: "",
version: "",
feedback: 0
}
}
const Ee = {
encode(u, e = r.Writer.create()) {
return u.socket_addr.length !== 0 && e.uint32(10).bytes(u.socket_addr), u.uuid !== "" && e.uint32(18).string(u.uuid), u.relay_server !== "" && e.uint32(26).string(u.relay_server), u.id !== void 0 && e.uint32(34).string(u.id), u.pk !== void 0 && e.uint32(42).bytes(u.pk), u.refuse_reason !== "" && e.uint32(50).string(u.refuse_reason), u.version !== "" && e.uint32(58).string(u.version), u.feedback !== 0 && e.uint32(72).int32(u.feedback), e
}, decode(u, e) {
const i = u instanceof r.Reader ? u : r.Reader.create(u);
let n = e === void 0 ? i.len : i.pos + e;
const a = Hi();
for (; i.pos < n;) {
const t = i.uint32();
switch (t >>> 3) {
case 1:
if (t !== 10) break;
a.socket_addr = i.bytes();
continue;
case 2:
if (t !== 18) break;
a.uuid = i.string();
continue;
case 3:
if (t !== 26) break;
a.relay_server = i.string();
continue;
case 4:
if (t !== 34) break;
a.id = i.string();
continue;
case 5:
if (t !== 42) break;
a.pk = i.bytes();
continue;
case 6:
if (t !== 50) break;
a.refuse_reason = i.string();
continue;
case 7:
if (t !== 58) break;
a.version = i.string();
continue;
case 9:
if (t !== 72) break;
a.feedback = i.int32();
continue
}
if ((t & 7) === 4 || t === 0) break;
i.skipType(t & 7)
}
return a
}, fromJSON(u) {
return {
socket_addr: C(u.socket_addr) ? O(u.socket_addr) : new Uint8Array(0),
uuid: C(u.uuid) ? globalThis.String(u.uuid) : "",
relay_server: C(u.relay_server) ? globalThis.String(u.relay_server) : "",
id: C(u.id) ? globalThis.String(u.id) : void 0,
pk: C(u.pk) ? O(u.pk) : void 0,
refuse_reason: C(u.refuse_reason) ? globalThis.String(u.refuse_reason) : "",
version: C(u.version) ? globalThis.String(u.version) : "",
feedback: C(u.feedback) ? globalThis.Number(u.feedback) : 0
}
}, toJSON(u) {
const e = {};
return u.socket_addr.length !== 0 && (e.socket_addr = U(u.socket_addr)), u.uuid !== "" && (e.uuid = u.uuid), u.relay_server !== "" && (e.relay_server = u.relay_server), u.id !== void 0 && (e.id = u.id), u.pk !== void 0 && (e.pk = U(u.pk)), u.refuse_reason !== "" && (e.refuse_reason = u.refuse_reason), u.version !== "" && (e.version = u.version), u.feedback !== 0 && (e.feedback = Math.round(u.feedback)), e
}, create(u) {
return Ee.fromPartial(u != null ? u : {})
}, fromPartial(u) {
var i, n, a, t, s, E, l, d;
const e = Hi();
return e.socket_addr = (i = u.socket_addr) != null ? i : new Uint8Array(0), e.uuid = (n = u.uuid) != null ? n : "", e.relay_server = (a = u.relay_server) != null ? a : "", e.id = (t = u.id) != null ? t : void 0, e.pk = (s = u.pk) != null ? s : void 0, e.refuse_reason = (E = u.refuse_reason) != null ? E : "", e.version = (l = u.version) != null ? l : "", e.feedback = (d = u.feedback) != null ? d : 0, e
}
};
function Ji() {
return {url: ""}
}
const le = {
encode(u, e = r.Writer.create()) {
return u.url !== "" && e.uint32(10).string(u.url), e
}, decode(u, e) {
const i = u instanceof r.Reader ? u : r.Reader.create(u);
let n = e === void 0 ? i.len : i.pos + e;
const a = Ji();
for (; i.pos < n;) {
const t = i.uint32();
switch (t >>> 3) {
case 1:
if (t !== 10) break;
a.url = i.string();
continue
}
if ((t & 7) === 4 || t === 0) break;
i.skipType(t & 7)
}
return a
}, fromJSON(u) {
return {url: C(u.url) ? globalThis.String(u.url) : ""}
}, toJSON(u) {
const e = {};
return u.url !== "" && (e.url = u.url), e
}, create(u) {
return le.fromPartial(u != null ? u : {})
}, fromPartial(u) {
var i;
const e = Ji();
return e.url = (i = u.url) != null ? i : "", e
}
};
function Gi() {
return {socket_addr: new Uint8Array(0), relay_server: ""}
}
const De = {
encode(u, e = r.Writer.create()) {
return u.socket_addr.length !== 0 && e.uint32(10).bytes(u.socket_addr), u.relay_server !== "" && e.uint32(18).string(u.relay_server), e
}, decode(u, e) {
const i = u instanceof r.Reader ? u : r.Reader.create(u);
let n = e === void 0 ? i.len : i.pos + e;
const a = Gi();
for (; i.pos < n;) {
const t = i.uint32();
switch (t >>> 3) {
case 1:
if (t !== 10) break;
a.socket_addr = i.bytes();
continue;
case 2:
if (t !== 18) break;
a.relay_server = i.string();
continue
}
if ((t & 7) === 4 || t === 0) break;
i.skipType(t & 7)
}
return a
}, fromJSON(u) {
return {
socket_addr: C(u.socket_addr) ? O(u.socket_addr) : new Uint8Array(0),
relay_server: C(u.relay_server) ? globalThis.String(u.relay_server) : ""
}
}, toJSON(u) {
const e = {};
return u.socket_addr.length !== 0 && (e.socket_addr = U(u.socket_addr)), u.relay_server !== "" && (e.relay_server = u.relay_server), e
}, create(u) {
return De.fromPartial(u != null ? u : {})
}, fromPartial(u) {
var i, n;
const e = Gi();
return e.socket_addr = (i = u.socket_addr) != null ? i : new Uint8Array(0), e.relay_server = (n = u.relay_server) != null ? n : "", e
}
};
function Zi() {
return {socket_addr: new Uint8Array(0), local_addr: new Uint8Array(0), relay_server: "", id: "", version: ""}
}
const de = {
encode(u, e = r.Writer.create()) {
return u.socket_addr.length !== 0 && e.uint32(10).bytes(u.socket_addr), u.local_addr.length !== 0 && e.uint32(18).bytes(u.local_addr), u.relay_server !== "" && e.uint32(26).string(u.relay_server), u.id !== "" && e.uint32(34).string(u.id), u.version !== "" && e.uint32(42).string(u.version), e
}, decode(u, e) {
const i = u instanceof r.Reader ? u : r.Reader.create(u);
let n = e === void 0 ? i.len : i.pos + e;
const a = Zi();
for (; i.pos < n;) {
const t = i.uint32();
switch (t >>> 3) {
case 1:
if (t !== 10) break;
a.socket_addr = i.bytes();
continue;
case 2:
if (t !== 18) break;
a.local_addr = i.bytes();
continue;
case 3:
if (t !== 26) break;
a.relay_server = i.string();
continue;
case 4:
if (t !== 34) break;
a.id = i.string();
continue;
case 5:
if (t !== 42) break;
a.version = i.string();
continue
}
if ((t & 7) === 4 || t === 0) break;
i.skipType(t & 7)
}
return a
}, fromJSON(u) {
return {
socket_addr: C(u.socket_addr) ? O(u.socket_addr) : new Uint8Array(0),
local_addr: C(u.local_addr) ? O(u.local_addr) : new Uint8Array(0),
relay_server: C(u.relay_server) ? globalThis.String(u.relay_server) : "",
id: C(u.id) ? globalThis.String(u.id) : "",
version: C(u.version) ? globalThis.String(u.version) : ""
}
}, toJSON(u) {
const e = {};
return u.socket_addr.length !== 0 && (e.socket_addr = U(u.socket_addr)), u.local_addr.length !== 0 && (e.local_addr = U(u.local_addr)), u.relay_server !== "" && (e.relay_server = u.relay_server), u.id !== "" && (e.id = u.id), u.version !== "" && (e.version = u.version), e
}, create(u) {
return de.fromPartial(u != null ? u : {})
}, fromPartial(u) {
var i, n, a, t, s;
const e = Zi();
return e.socket_addr = (i = u.socket_addr) != null ? i : new Uint8Array(0), e.local_addr = (n = u.local_addr) != null ? n : new Uint8Array(0), e.relay_server = (a = u.relay_server) != null ? a : "", e.id = (t = u.id) != null ? t : "", e.version = (s = u.version) != null ? s : "", e
}
};
function Qi() {
return {cmd: "", mac: "", id: "", username: "", hostname: "", platform: "", misc: ""}
}
const ce = {
encode(u, e = r.Writer.create()) {
return u.cmd !== "" && e.uint32(10).string(u.cmd), u.mac !== "" && e.uint32(18).string(u.mac), u.id !== "" && e.uint32(26).string(u.id), u.username !== "" && e.uint32(34).string(u.username), u.hostname !== "" && e.uint32(42).string(u.hostname), u.platform !== "" && e.uint32(50).string(u.platform), u.misc !== "" && e.uint32(58).string(u.misc), e
}, decode(u, e) {
const i = u instanceof r.Reader ? u : r.Reader.create(u);
let n = e === void 0 ? i.len : i.pos + e;
const a = Qi();
for (; i.pos < n;) {
const t = i.uint32();
switch (t >>> 3) {
case 1:
if (t !== 10) break;
a.cmd = i.string();
continue;
case 2:
if (t !== 18) break;
a.mac = i.string();
continue;
case 3:
if (t !== 26) break;
a.id = i.string();
continue;
case 4:
if (t !== 34) break;
a.username = i.string();
continue;
case 5:
if (t !== 42) break;
a.hostname = i.string();
continue;
case 6:
if (t !== 50) break;
a.platform = i.string();
continue;
case 7:
if (t !== 58) break;
a.misc = i.string();
continue
}
if ((t & 7) === 4 || t === 0) break;
i.skipType(t & 7)
}
return a
}, fromJSON(u) {
return {
cmd: C(u.cmd) ? globalThis.String(u.cmd) : "",
mac: C(u.mac) ? globalThis.String(u.mac) : "",
id: C(u.id) ? globalThis.String(u.id) : "",
username: C(u.username) ? globalThis.String(u.username) : "",
hostname: C(u.hostname) ? globalThis.String(u.hostname) : "",
platform: C(u.platform) ? globalThis.String(u.platform) : "",
misc: C(u.misc) ? globalThis.String(u.misc) : ""
}
}, toJSON(u) {
const e = {};
return u.cmd !== "" && (e.cmd = u.cmd), u.mac !== "" && (e.mac = u.mac), u.id !== "" && (e.id = u.id), u.username !== "" && (e.username = u.username), u.hostname !== "" && (e.hostname = u.hostname), u.platform !== "" && (e.platform = u.platform), u.misc !== "" && (e.misc = u.misc), e
}, create(u) {
return ce.fromPartial(u != null ? u : {})
}, fromPartial(u) {
var i, n, a, t, s, E, l;
const e = Qi();
return e.cmd = (i = u.cmd) != null ? i : "", e.mac = (n = u.mac) != null ? n : "", e.id = (a = u.id) != null ? a : "", e.username = (t = u.username) != null ? t : "", e.hostname = (s = u.hostname) != null ? s : "", e.platform = (E = u.platform) != null ? E : "", e.misc = (l = u.misc) != null ? l : "", e
}
};
function Xi() {
return {id: "", peers: []}
}
const Gu = {
encode(u, e = r.Writer.create()) {
u.id !== "" && e.uint32(10).string(u.id);
for (const i of u.peers) e.uint32(18).string(i);
return e
}, decode(u, e) {
const i = u instanceof r.Reader ? u : r.Reader.create(u);
let n = e === void 0 ? i.len : i.pos + e;
const a = Xi();
for (; i.pos < n;) {
const t = i.uint32();
switch (t >>> 3) {
case 1:
if (t !== 10) break;
a.id = i.string();
continue;
case 2:
if (t !== 18) break;
a.peers.push(i.string());
continue
}
if ((t & 7) === 4 || t === 0) break;
i.skipType(t & 7)
}
return a
}, fromJSON(u) {
return {
id: C(u.id) ? globalThis.String(u.id) : "",
peers: globalThis.Array.isArray(u == null ? void 0 : u.peers) ? u.peers.map(e => globalThis.String(e)) : []
}
}, toJSON(u) {
var i;
const e = {};
return u.id !== "" && (e.id = u.id), (i = u.peers) != null && i.length && (e.peers = u.peers), e
}, create(u) {
return Gu.fromPartial(u != null ? u : {})
}, fromPartial(u) {
var i, n;
const e = Xi();
return e.id = (i = u.id) != null ? i : "", e.peers = ((n = u.peers) == null ? void 0 : n.map(a => a)) || [], e
}
};
function Yi() {
return {states: new Uint8Array(0)}
}
const Ce = {
encode(u, e = r.Writer.create()) {
return u.states.length !== 0 && e.uint32(10).bytes(u.states), e
}, decode(u, e) {
const i = u instanceof r.Reader ? u : r.Reader.create(u);
let n = e === void 0 ? i.len : i.pos + e;
const a = Yi();
for (; i.pos < n;) {
const t = i.uint32();
switch (t >>> 3) {
case 1:
if (t !== 10) break;
a.states = i.bytes();
continue
}
if ((t & 7) === 4 || t === 0) break;
i.skipType(t & 7)
}
return a
}, fromJSON(u) {
return {states: C(u.states) ? O(u.states) : new Uint8Array(0)}
}, toJSON(u) {
const e = {};
return u.states.length !== 0 && (e.states = U(u.states)), e
}, create(u) {
return Ce.fromPartial(u != null ? u : {})
}, fromPartial(u) {
var i;
const e = Yi();
return e.states = (i = u.states) != null ? i : new Uint8Array(0), e
}
};
function $i() {
return {keys: []}
}
const pe = {
encode(u, e = r.Writer.create()) {
for (const i of u.keys) e.uint32(10).bytes(i);
return e
}, decode(u, e) {
const i = u instanceof r.Reader ? u : r.Reader.create(u);
let n = e === void 0 ? i.len : i.pos + e;
const a = $i();
for (; i.pos < n;) {
const t = i.uint32();
switch (t >>> 3) {
case 1:
if (t !== 10) break;
a.keys.push(i.bytes());
continue
}
if ((t & 7) === 4 || t === 0) break;
i.skipType(t & 7)
}
return a
}, fromJSON(u) {
return {keys: globalThis.Array.isArray(u == null ? void 0 : u.keys) ? u.keys.map(e => O(e)) : []}
}, toJSON(u) {
var i;
const e = {};
return (i = u.keys) != null && i.length && (e.keys = u.keys.map(n => U(n))), e
}, create(u) {
return pe.fromPartial(u != null ? u : {})
}, fromPartial(u) {
var i;
const e = $i();
return e.keys = ((i = u.keys) == null ? void 0 : i.map(n => n)) || [], e
}
};
function ut() {
return {token: ""}
}
const Zu = {
encode(u, e = r.Writer.create()) {
return u.token !== "" && e.uint32(10).string(u.token), e
}, decode(u, e) {
const i = u instanceof r.Reader ? u : r.Reader.create(u);
let n = e === void 0 ? i.len : i.pos + e;
const a = ut();
for (; i.pos < n;) {
const t = i.uint32();
switch (t >>> 3) {
case 1:
if (t !== 10) break;
a.token = i.string();
continue
}
if ((t & 7) === 4 || t === 0) break;
i.skipType(t & 7)
}
return a
}, fromJSON(u) {
return {token: C(u.token) ? globalThis.String(u.token) : ""}
}, toJSON(u) {
const e = {};
return u.token !== "" && (e.token = u.token), e
}, create(u) {
return Zu.fromPartial(u != null ? u : {})
}, fromPartial(u) {
var i;
const e = ut();
return e.token = (i = u.token) != null ? i : "", e
}
};
function et() {
return {
register_peer: void 0,
register_peer_response: void 0,
punch_hole_request: void 0,
punch_hole: void 0,
punch_hole_sent: void 0,
punch_hole_response: void 0,
fetch_local_addr: void 0,
local_addr: void 0,
configure_update: void 0,
register_pk: void 0,
register_pk_response: void 0,
software_update: void 0,
request_relay: void 0,
relay_response: void 0,
test_nat_request: void 0,
test_nat_response: void 0,
peer_discovery: void 0,
online_request: void 0,
online_response: void 0,
key_exchange: void 0,
hc: void 0
}
}
const Ne = {
encode(u, e = r.Writer.create()) {
return u.register_peer !== void 0 && ue.encode(u.register_peer, e.uint32(50).fork()).ldelim(), u.register_peer_response !== void 0 && ee.encode(u.register_peer_response, e.uint32(58).fork()).ldelim(), u.punch_hole_request !== void 0 && Hu.encode(u.punch_hole_request, e.uint32(66).fork()).ldelim(), u.punch_hole !== void 0 && ie.encode(u.punch_hole, e.uint32(74).fork()).ldelim(), u.punch_hole_sent !== void 0 && ne.encode(u.punch_hole_sent, e.uint32(82).fork()).ldelim(), u.punch_hole_response !== void 0 && se.encode(u.punch_hole_response, e.uint32(90).fork()).ldelim(), u.fetch_local_addr !== void 0 && De.encode(u.fetch_local_addr, e.uint32(98).fork()).ldelim(), u.local_addr !== void 0 && de.encode(u.local_addr, e.uint32(106).fork()).ldelim(), u.configure_update !== void 0 && tu.encode(u.configure_update, e.uint32(114).fork()).ldelim(), u.register_pk !== void 0 && oe.encode(u.register_pk, e.uint32(122).fork()).ldelim(), u.register_pk_response !== void 0 && re.encode(u.register_pk_response, e.uint32(130).fork()).ldelim(), u.software_update !== void 0 && le.encode(u.software_update, e.uint32(138).fork()).ldelim(), u.request_relay !== void 0 && Ju.encode(u.request_relay, e.uint32(146).fork()).ldelim(), u.relay_response !== void 0 && Ee.encode(u.relay_response, e.uint32(154).fork()).ldelim(), u.test_nat_request !== void 0 && te.encode(u.test_nat_request, e.uint32(162).fork()).ldelim(), u.test_nat_response !== void 0 && ae.encode(u.test_nat_response, e.uint32(170).fork()).ldelim(), u.peer_discovery !== void 0 && ce.encode(u.peer_discovery, e.uint32(178).fork()).ldelim(), u.online_request !== void 0 && Gu.encode(u.online_request, e.uint32(186).fork()).ldelim(), u.online_response !== void 0 && Ce.encode(u.online_response, e.uint32(194).fork()).ldelim(), u.key_exchange !== void 0 && pe.encode(u.key_exchange, e.uint32(202).fork()).ldelim(), u.hc !== void 0 && Zu.encode(u.hc, e.uint32(210).fork()).ldelim(), e
}, decode(u, e) {
const i = u instanceof r.Reader ? u : r.Reader.create(u);
let n = e === void 0 ? i.len : i.pos + e;
const a = et();
for (; i.pos < n;) {
const t = i.uint32();
switch (t >>> 3) {
case 6:
if (t !== 50) break;
a.register_peer = ue.decode(i, i.uint32());
continue;
case 7:
if (t !== 58) break;
a.register_peer_response = ee.decode(i, i.uint32());
continue;
case 8:
if (t !== 66) break;
a.punch_hole_request = Hu.decode(i, i.uint32());
continue;
case 9:
if (t !== 74) break;
a.punch_hole = ie.decode(i, i.uint32());
continue;
case 10:
if (t !== 82) break;
a.punch_hole_sent = ne.decode(i, i.uint32());
continue;
case 11:
if (t !== 90) break;
a.punch_hole_response = se.decode(i, i.uint32());
continue;
case 12:
if (t !== 98) break;
a.fetch_local_addr = De.decode(i, i.uint32());
continue;
case 13:
if (t !== 106) break;
a.local_addr = de.decode(i, i.uint32());
continue;
case 14:
if (t !== 114) break;
a.configure_update = tu.decode(i, i.uint32());
continue;
case 15:
if (t !== 122) break;
a.register_pk = oe.decode(i, i.uint32());
continue;
case 16:
if (t !== 130) break;
a.register_pk_response = re.decode(i, i.uint32());
continue;
case 17:
if (t !== 138) break;
a.software_update = le.decode(i, i.uint32());
continue;
case 18:
if (t !== 146) break;
a.request_relay = Ju.decode(i, i.uint32());
continue;
case 19:
if (t !== 154) break;
a.relay_response = Ee.decode(i, i.uint32());
continue;
case 20:
if (t !== 162) break;
a.test_nat_request = te.decode(i, i.uint32());
continue;
case 21:
if (t !== 170) break;
a.test_nat_response = ae.decode(i, i.uint32());
continue;
case 22:
if (t !== 178) break;
a.peer_discovery = ce.decode(i, i.uint32());
continue;
case 23:
if (t !== 186) break;
a.online_request = Gu.decode(i, i.uint32());
continue;
case 24:
if (t !== 194) break;
a.online_response = Ce.decode(i, i.uint32());
continue;
case 25:
if (t !== 202) break;
a.key_exchange = pe.decode(i, i.uint32());
continue;
case 26:
if (t !== 210) break;
a.hc = Zu.decode(i, i.uint32());
continue
}
if ((t & 7) === 4 || t === 0) break;
i.skipType(t & 7)
}
return a
}, fromJSON(u) {
return {
register_peer: C(u.register_peer) ? ue.fromJSON(u.register_peer) : void 0,
register_peer_response: C(u.register_peer_response) ? ee.fromJSON(u.register_peer_response) : void 0,
punch_hole_request: C(u.punch_hole_request) ? Hu.fromJSON(u.punch_hole_request) : void 0,
punch_hole: C(u.punch_hole) ? ie.fromJSON(u.punch_hole) : void 0,
punch_hole_sent: C(u.punch_hole_sent) ? ne.fromJSON(u.punch_hole_sent) : void 0,
punch_hole_response: C(u.punch_hole_response) ? se.fromJSON(u.punch_hole_response) : void 0,
fetch_local_addr: C(u.fetch_local_addr) ? De.fromJSON(u.fetch_local_addr) : void 0,
local_addr: C(u.local_addr) ? de.fromJSON(u.local_addr) : void 0,
configure_update: C(u.configure_update) ? tu.fromJSON(u.configure_update) : void 0,
register_pk: C(u.register_pk) ? oe.fromJSON(u.register_pk) : void 0,
register_pk_response: C(u.register_pk_response) ? re.fromJSON(u.register_pk_response) : void 0,
software_update: C(u.software_update) ? le.fromJSON(u.software_update) : void 0,
request_relay: C(u.request_relay) ? Ju.fromJSON(u.request_relay) : void 0,
relay_response: C(u.relay_response) ? Ee.fromJSON(u.relay_response) : void 0,
test_nat_request: C(u.test_nat_request) ? te.fromJSON(u.test_nat_request) : void 0,
test_nat_response: C(u.test_nat_response) ? ae.fromJSON(u.test_nat_response) : void 0,
peer_discovery: C(u.peer_discovery) ? ce.fromJSON(u.peer_discovery) : void 0,
online_request: C(u.online_request) ? Gu.fromJSON(u.online_request) : void 0,
online_response: C(u.online_response) ? Ce.fromJSON(u.online_response) : void 0,
key_exchange: C(u.key_exchange) ? pe.fromJSON(u.key_exchange) : void 0,
hc: C(u.hc) ? Zu.fromJSON(u.hc) : void 0
}
}, toJSON(u) {
const e = {};
return u.register_peer !== void 0 && (e.register_peer = ue.toJSON(u.register_peer)), u.register_peer_response !== void 0 && (e.register_peer_response = ee.toJSON(u.register_peer_response)), u.punch_hole_request !== void 0 && (e.punch_hole_request = Hu.toJSON(u.punch_hole_request)), u.punch_hole !== void 0 && (e.punch_hole = ie.toJSON(u.punch_hole)), u.punch_hole_sent !== void 0 && (e.punch_hole_sent = ne.toJSON(u.punch_hole_sent)), u.punch_hole_response !== void 0 && (e.punch_hole_response = se.toJSON(u.punch_hole_response)), u.fetch_local_addr !== void 0 && (e.fetch_local_addr = De.toJSON(u.fetch_local_addr)), u.local_addr !== void 0 && (e.local_addr = de.toJSON(u.local_addr)), u.configure_update !== void 0 && (e.configure_update = tu.toJSON(u.configure_update)), u.register_pk !== void 0 && (e.register_pk = oe.toJSON(u.register_pk)), u.register_pk_response !== void 0 && (e.register_pk_response = re.toJSON(u.register_pk_response)), u.software_update !== void 0 && (e.software_update = le.toJSON(u.software_update)), u.request_relay !== void 0 && (e.request_relay = Ju.toJSON(u.request_relay)), u.relay_response !== void 0 && (e.relay_response = Ee.toJSON(u.relay_response)), u.test_nat_request !== void 0 && (e.test_nat_request = te.toJSON(u.test_nat_request)), u.test_nat_response !== void 0 && (e.test_nat_response = ae.toJSON(u.test_nat_response)), u.peer_discovery !== void 0 && (e.peer_discovery = ce.toJSON(u.peer_discovery)), u.online_request !== void 0 && (e.online_request = Gu.toJSON(u.online_request)), u.online_response !== void 0 && (e.online_response = Ce.toJSON(u.online_response)), u.key_exchange !== void 0 && (e.key_exchange = pe.toJSON(u.key_exchange)), u.hc !== void 0 && (e.hc = Zu.toJSON(u.hc)), e
}, create(u) {
return Ne.fromPartial(u != null ? u : {})
}, fromPartial(u) {
const e = et();
return e.register_peer = u.register_peer !== void 0 && u.register_peer !== null ? ue.fromPartial(u.register_peer) : void 0, e.register_peer_response = u.register_peer_response !== void 0 && u.register_peer_response !== null ? ee.fromPartial(u.register_peer_response) : void 0, e.punch_hole_request = u.punch_hole_request !== void 0 && u.punch_hole_request !== null ? Hu.fromPartial(u.punch_hole_request) : void 0, e.punch_hole = u.punch_hole !== void 0 && u.punch_hole !== null ? ie.fromPartial(u.punch_hole) : void 0, e.punch_hole_sent = u.punch_hole_sent !== void 0 && u.punch_hole_sent !== null ? ne.fromPartial(u.punch_hole_sent) : void 0, e.punch_hole_response = u.punch_hole_response !== void 0 && u.punch_hole_response !== null ? se.fromPartial(u.punch_hole_response) : void 0, e.fetch_local_addr = u.fetch_local_addr !== void 0 && u.fetch_local_addr !== null ? De.fromPartial(u.fetch_local_addr) : void 0, e.local_addr = u.local_addr !== void 0 && u.local_addr !== null ? de.fromPartial(u.local_addr) : void 0, e.configure_update = u.configure_update !== void 0 && u.configure_update !== null ? tu.fromPartial(u.configure_update) : void 0, e.register_pk = u.register_pk !== void 0 && u.register_pk !== null ? oe.fromPartial(u.register_pk) : void 0, e.register_pk_response = u.register_pk_response !== void 0 && u.register_pk_response !== null ? re.fromPartial(u.register_pk_response) : void 0, e.software_update = u.software_update !== void 0 && u.software_update !== null ? le.fromPartial(u.software_update) : void 0, e.request_relay = u.request_relay !== void 0 && u.request_relay !== null ? Ju.fromPartial(u.request_relay) : void 0, e.relay_response = u.relay_response !== void 0 && u.relay_response !== null ? Ee.fromPartial(u.relay_response) : void 0, e.test_nat_request = u.test_nat_request !== void 0 && u.test_nat_request !== null ? te.fromPartial(u.test_nat_request) : void 0, e.test_nat_response = u.test_nat_response !== void 0 && u.test_nat_response !== null ? ae.fromPartial(u.test_nat_response) : void 0, e.peer_discovery = u.peer_discovery !== void 0 && u.peer_discovery !== null ? ce.fromPartial(u.peer_discovery) : void 0, e.online_request = u.online_request !== void 0 && u.online_request !== null ? Gu.fromPartial(u.online_request) : void 0, e.online_response = u.online_response !== void 0 && u.online_response !== null ? Ce.fromPartial(u.online_response) : void 0, e.key_exchange = u.key_exchange !== void 0 && u.key_exchange !== null ? pe.fromPartial(u.key_exchange) : void 0, e.hc = u.hc !== void 0 && u.hc !== null ? Zu.fromPartial(u.hc) : void 0, e
}
};
function O(u) {
if (globalThis.Buffer) return Uint8Array.from(globalThis.Buffer.from(u, "base64"));
{
const e = globalThis.atob(u), i = new Uint8Array(e.length);
for (let n = 0; n < e.length; ++n) i[n] = e.charCodeAt(n);
return i
}
}
function U(u) {
if (globalThis.Buffer) return globalThis.Buffer.from(u).toString("base64");
{
const e = [];
return u.forEach(i => {
e.push(globalThis.String.fromCharCode(i))
}), globalThis.btoa(e.join(""))
}
}
function C(u) {
return u != null
}
class Ve {
constructor(e, i = !0, n = "") {
D(this, "_websocket");
D(this, "_eventHandlers");
D(this, "_buf");
D(this, "_status");
D(this, "_latency");
D(this, "_secretKey");
D(this, "_uri");
D(this, "_isRendezvous");
D(this, "_recvDataCount");
D(this, "_tag");
D(this, "_isProcessing");
this._eventHandlers = {
message: void 0,
open: void 0,
close: void 0,
error: void 0,
status_change: void 0
}, this._uri = e, this._status = "", this._buf = [], this._websocket = new WebSocket(e), this._websocket.onmessage = this._recv_message.bind(this), this._websocket.binaryType = "arraybuffer", this._latency = new Date().getTime(), this._isRendezvous = i, this._recvDataCount = 0, this._tag = n, this._isProcessing = !1
}
resetRecvDataCount() {
this._recvDataCount = 0
}
getRecvDataCount() {
return this._recvDataCount
}
latency() {
return this._latency
}
setSecretKey(e) {
this._secretKey = [e, 0, 0]
}
sendMessage(e) {
let i = au.encode(au.fromPartial(e)).finish(), n = this._secretKey;
n && (n[1] += 1, i = vt(i, n[1], n[0])), this._websocket.send(i)
}
sendRendezvous(e) {
this._websocket.send(Ne.encode(Ne.fromPartial(e)).finish())
}
sendBytes(e) {
let i = this._secretKey;
i && (i[1] += 1, e = vt(e, i[1], i[0])), this._websocket.send(e)
}
parseMessage(e) {
return au.decode(e)
}
parseRendezvous(e) {
return Ne.decode(e)
}
off(e) {
this._eventHandlers[e] = void 0
}
on(e, i) {
this._eventHandlers[e] = i
}
setStatus(e) {
this._status = e, this._eventHandlers.status_change && this._eventHandlers.status_change(e)
}
async open(e = 12e3) {
return new Promise((i, n) => {
setTimeout(() => {
this._status != "open" && n(this._status || "Timeout")
}, e), this._websocket.onopen = () => {
var a;
this._latency = new Date().getTime() - this._latency, this.setStatus("open"), console.debug(">> WebSock.onopen " + this._tag), (a = this._websocket) != null && a.protocol && console.info("Server " + this._tag + " choose sub-protocol: " + this._websocket.protocol), this._eventHandlers.open && this._eventHandlers.open(), console.info("WebSock.onopen " + this._tag), i(this)
}, this._websocket.onclose = a => {
this._status == "open", this.setStatus(a), this._tag == "query onlines" ? console.info("WebSock.onclose " + this._tag) : a.code == 1e3 ? console.info("WebSock.onclose " + this._tag + ": " + a.reason) : (console.error("WebSock.onclose: " + this._tag), console.error(a)), this._eventHandlers.close && this._eventHandlers.close(a), n("Reset by the peer")
}, this._websocket.onerror = a => {
if (!this._status) {
n("Failed to connect to " + (this._isRendezvous ? "rendezvous" : "relay") + " server, " + this._uri);
return
}
this.setStatus(a), console.error("WebSock.onerror: " + this._tag), console.error(a), this._eventHandlers.error && this._eventHandlers.error(a)
}
})
}
async next(e = 12e3) {
let i = this._eventHandlers.message;
this.off("message");
try {
let n = await this._next(e);
return this.on("message", i), n
} catch (n) {
throw this.on("message", i), n
}
}
async _next(e = 12e3) {
const i = (n, a, t) => {
if (this._buf.length) n(this._buf[0]), this._buf.splice(0, 1); else {
if (this._status != "open") {
a(this._status);
return
}
new Date().getTime() > t + e ? a("Timeout") : setTimeout(() => i(n, a, t), 1)
}
};
return new Promise((n, a) => {
i(n, a, new Date().getTime())
})
}
close() {
this.setStatus(""), this._websocket && ((this._websocket.readyState === WebSocket.OPEN || this._websocket.readyState === WebSocket.CONNECTING) && (console.info("Closing WebSocket(" + this._tag + ") connection"), this._websocket.close(1e3, "Normal closure")), this._websocket.onmessage = () => {
})
}
_recv_message(e) {
if (e.data instanceof window.ArrayBuffer) {
let i = new Uint8Array(e.data);
this._recvDataCount += i.length;
const n = this._secretKey;
n && (n[2] += 1, i = _r(i, n[2], n[0]));
let a;
i.length == 0 ? a = new Uint8Array : a = this._isRendezvous ? this.parseRendezvous(i) : this.parseMessage(i), this._buf.push(a), this._eventHandlers.message && (this._isProcessing || this.processQueue())
}
}
async processQueue() {
this._isProcessing = !0;
try {
for (; this._buf.length > 0 && this._eventHandlers.message;) {
const e = this._buf.shift();
await this._eventHandlers.message(e)
}
} catch (e) {
console.log("Error in processQueue: " + e)
}
this._isProcessing = !1
}
}
let Au = null;
const it = ".";
var $, Bu, u0, $e, lu, u4, wt, we;
class Qa {
constructor() {
Cu(this, u4);
Cu(this, $, null);
Cu(this, Bu, {});
Cu(this, u0, {});
Cu(this, $e, 0);
Cu(this, lu, []);
Cu(this, we, async (e, i) => {
const n = await (await fetch(e)).arrayBuffer(), a = new Blob([n], {type: i});
return URL.createObjectURL(a)
})
}
async load() {
if (!h(this, $)) {
_e(this, $, new Worker("./ffmpeg.js?v=dddac33a", {type: "module"})), q4(this, u4, wt).call(this);
const e = await h(this, we).call(this, `${it}/ffmpeg-core.js?v=16fa4bb1`, "text/javascript"),
i = await h(this, we).call(this, `${it}/ffmpeg-core.wasm?v=241ebe18`, "application/wasm");
return this.send({type: "LOAD", data: {coreURL: e, wasmURL: i}})
}
}
async decode(e, i) {
let n = [i];
var a = null;
return h(this, lu).length > 0 && (a = h(this, lu).pop(), n.push(a)), this.send({
type: "DECODE",
data: {codec: e, data: i, arrayBuffer: a}
}, n)
}
async send({type: e, data: i}, n) {
return h(this, $) ? new Promise((a, t) => {
const s = V4(this, $e)._++;
h(this, Bu)[s] = a, h(this, u0)[s] = t, h(this, $).postMessage({id: s, type: e, data: i}, n)
}) : Promise.reject("FFmpeg not loaded")
}
close() {
h(this, $) && (this.send({type: "CLOSE", data: {}}), h(this, $).terminate(), _e(this, $, null))
}
}
$ = new WeakMap, Bu = new WeakMap, u0 = new WeakMap, $e = new WeakMap, lu = new WeakMap, u4 = new WeakSet, wt = function () {
h(this, $).onmessage = ({data: {id: e, type: i, data: n}}) => {
i == "LOAD" ? (console.log("FFmpeg loaded"), h(this, Bu)[e](n)) : i == "DECODE" ? (h(this, lu).push(n.data.data), h(this, lu).length > 8 && h(this, lu).shift(), h(this, Bu)[e](n)) : i == "CLOSE" ? (_e(this, lu, []), h(this, Bu)[e](n)) : i == "ERROR" ? h(this, u0)[e](n) : h(this, u0)[e](n), delete h(this, Bu)[e], delete h(this, u0)[e]
}
}, we = new WeakMap;
async function Xa() {
try {
return Au = new Qa, Au ? Au.load() : Promise.reject("Failed to create FFmpeg instance")
} catch (u) {
return console.log("Failed to load FFmpeg", u), Promise.reject("Failed to load FFmpeg")
}
}
async function Ya(u, e) {
return Au ? Au.decode(u, e) : Promise.reject("FFmpeg is uninitialized")
}
async function $a() {
Au && (Au.close(), Au = null)
}
const un = "Desktop session not ready", en = "Desktop xsession failed", tn = "Desktop session another user login",
an = "Desktop xorg not found", nn = "Desktop none", on = "Desktop session not ready, password empty",
rn = "Desktop session not ready, password wrong", sn = "Empty Password", En = "Wrong Password",
ln = "Wrong 2FA Code", tt = "2FA Required", Dn = "No Password Access", dn = "Wayland login screen is not supported",
cn = "x11 expected", St = "https://rustdesk.com/docs/en/manual/linux/#x11-required",
Cn = "https://rustdesk.com/docs/en/", pn = St,
Bn = "https://github.com/rustdesk/rustdesk/wiki/Headless-Linux-Support",
at = {"rustdesk docs home": Cn, "rustdesk docs x11-required": pn, "rustdesk x11 headless": Bn},
nt = "Input source 1", An = "map", ot = "translate", mn = "ShiftLeft", Fn = "ShiftRight", ke = "ControlLeft",
zt = "ControlRight", v4 = "AltLeft", Pt = "AltRight", Rt = "MetaLeft", It = "MetaRight", a4 = "Windows",
g4 = "Linux", k4 = "Mac OS", Tt = "Android", _n = "iOS", vn = "web", gn = "ISO", kn = 1, hn = 2, rt = 3, st = 4,
Pe = 1, Re = 2, fn = 4, xn = 8, yn = 16, r4 = "public", Et = "OeVuKk5nlHiXp+APNn0Y3pC1Iwpwn44JGqrQCsWqmBw=",
bn = 1e3, wn = 6e4, d4 = lang, Sn = langIds;
function zn(u, e, i, n) {
return u == "error" && e == "Connection Error" && ((i.indexOf("10054") < 0 || i.indexOf("104") < 0) && n || i.toLowerCase().indexOf("offline") < 0 && i.toLowerCase().indexOf("exist") < 0 && i.toLowerCase().indexOf("handshake") < 0 && i.toLowerCase().indexOf("failed") < 0 && i.toLowerCase().indexOf("resolve") < 0 && i.toLowerCase().indexOf("mismatch") < 0 && i.toLowerCase().indexOf("manually") < 0 && i.toLowerCase().indexOf("not allowed") < 0)
}
const Pn = {
VK_A: "a",
VK_B: "b",
VK_C: "c",
VK_D: "d",
VK_E: "e",
VK_F: "f",
VK_G: "g",
VK_H: "h",
VK_I: "i",
VK_J: "j",
VK_K: "k",
VK_L: "l",
VK_M: "m",
VK_N: "n",
VK_O: "o",
VK_P: "p",
VK_Q: "q",
VK_R: "r",
VK_S: "s",
VK_T: "t",
VK_U: "u",
VK_V: "v",
VK_W: "w",
VK_X: "x",
VK_Y: "y",
VK_Z: "z",
VK_0: "0",
VK_1: "1",
VK_2: "2",
VK_3: "3",
VK_4: "4",
VK_5: "5",
VK_6: "6",
VK_7: "7",
VK_8: "8",
VK_9: "9",
VK_COMMA: ",",
VK_SLASH: "/",
VK_SEMICOLON: ";",
VK_QUOTE: "'",
VK_LBRACKET: "[",
VK_RBRACKET: "]",
VK_BACKSLASH: "\\",
VK_MINUS: "-",
VK_PLUS: "=",
VK_DIVIDE: "Divide",
VK_MULTIPLY: "Multiply",
VK_SUBTRACT: "Subtract",
VK_ADD: "Add",
VK_DECIMAL: "Decimal",
VK_F1: "F1",
VK_F2: "F2",
VK_F3: "F3",
VK_F4: "F4",
VK_F5: "F5",
VK_F6: "F6",
VK_F7: "F7",
VK_F8: "F8",
VK_F9: "F9",
VK_F10: "F10",
VK_F11: "F11",
VK_F12: "F12",
VK_ENTER: "Return",
VK_CANCEL: "Cancel",
VK_BACK: "Backspace",
VK_TAB: "Tab",
VK_CLEAR: "Clear",
VK_RETURN: "Return",
VK_SHIFT: "Shift",
VK_CONTROL: "Control",
VK_MENU: "Alt",
VK_PAUSE: "Pause",
VK_CAPITAL: "CapsLock",
VK_KANA: "Kana",
VK_HANGUL: "Hangul",
VK_JUNJA: "Junja",
VK_FINAL: "Final",
VK_HANJA: "Hanja",
VK_KANJI: "Kanji",
VK_ESCAPE: "Escape",
VK_CONVERT: "Convert",
VK_SPACE: "Space",
VK_PRIOR: "PageUp",
VK_NEXT: "PageDown",
VK_END: "End",
VK_HOME: "Home",
VK_LEFT: "LeftArrow",
VK_UP: "UpArrow",
VK_RIGHT: "RightArrow",
VK_DOWN: "DownArrow",
VK_SELECT: "Select",
VK_PRINT: "Print",
VK_EXECUTE: "Execute",
VK_SNAPSHOT: "Snapshot",
VK_SCROLL: "Scroll",
VK_INSERT: "Insert",
VK_DELETE: "Delete",
VK_HELP: "Help",
VK_SLEEP: "Sleep",
VK_SEPARATOR: "Separator",
VK_NUMPAD0: "Numpad0",
VK_NUMPAD1: "Numpad1",
VK_NUMPAD2: "Numpad2",
VK_NUMPAD3: "Numpad3",
VK_NUMPAD4: "Numpad4",
VK_NUMPAD5: "Numpad5",
VK_NUMPAD6: "Numpad6",
VK_NUMPAD7: "Numpad7",
VK_NUMPAD8: "Numpad8",
VK_NUMPAD9: "Numpad9",
Apps: "Apps",
Meta: "Meta",
RAlt: "RAlt",
RWin: "RWin",
RControl: "RControl",
RShift: "RShift",
CTRL_ALT_DEL: "CtrlAltDel",
LOCK_SCREEN: "LockScreen"
}, c4 = "1.4.0", Rn = "2025-05-11 20:56";
class m {
static setItem(e, i) {
localStorage.setItem(this.prefix + e, i)
}
static getItem(e) {
return localStorage.getItem(this.prefix + e)
}
static removeItem(e) {
localStorage.removeItem(this.prefix + e)
}
static clear() {
for (let e = localStorage.length - 1; e >= 0; e--) {
const i = localStorage.key(e);
i && i.startsWith(this.prefix) && localStorage.removeItem(i)
}
}
}
D(m, "prefix", "wc-");
class N {
static async init() {
if (!this.db) return new Promise((e, i) => {
const n = indexedDB.open(this.dbName, 1);
n.onupgradeneeded = a => {
const t = a.target.result;
t.objectStoreNames.contains(this.storeName) || t.createObjectStore(this.storeName)
}, n.onsuccess = async a => {
this.db = a.target.result;
try {
await this.loadCache(), e()
} catch (t) {
i(t)
}
}, n.onerror = a => {
i(a.target.error)
}
})
}
static async loadCache() {
return new Promise((e, i) => {
const a = this.db.transaction([this.storeName], "readonly").objectStore(this.storeName), t = a.getAllKeys();
t.onsuccess = s => {
const l = s.target.result.map(d => new Promise((c, p) => {
const B = a.get(d);
B.onsuccess = F => {
this.cache[d] = F.target.result, c()
}, B.onerror = F => {
p(F.target.error)
}
}));
Promise.all(l).then(() => e()).catch(i)
}, t.onerror = s => {
i(s.target.error)
}
})
}
static setItem(e, i) {
this.cache[this.prefix + e] = i;
const t = this.db.transaction([this.storeName], "readwrite").objectStore(this.storeName).put(i, this.prefix + e);
t.onerror = s => {
console.error("IndexedDB setItem error:", s.target.error)
}
}
static getItem(e) {
var i;
return (i = this.cache[this.prefix + e]) != null ? i : null
}
static removeItem(e) {
delete this.cache[this.prefix + e];
const a = this.db.transaction([this.storeName], "readwrite").objectStore(this.storeName).delete(this.prefix + e);
a.onerror = t => {
console.error("IndexedDB removeItem error:", t.target.error)
}
}
static clear() {
this.cache = {};
const n = this.db.transaction([this.storeName], "readwrite").objectStore(this.storeName).clear();
n.onerror = a => {
console.error("IndexedDB clear error:", a.target.error)
}
}
}
D(N, "dbName", "wc-database"), D(N, "storeName", "wc-store"), D(N, "prefix", "wc-"), D(N, "db", null), D(N, "cache", {});
const cu = () => {
try {
return JSON.parse(N.getItem("peers")) || {}
} catch {
return {}
}
}, h4 = u => {
N.setItem("peers", JSON.stringify(u))
}, In = u => {
const e = cu();
delete e[u], h4(e)
}, C4 = u => cu()[u], Tn = (u, e) => {
const i = cu();
i[u] = e, h4(i)
}, jn = (u, e) => {
var n;
return (n = C4(u)[e]) != null ? n : e0(e)
}, jt = (u, e, i) => {
const n = cu(), a = n[u] || {};
i == null ? delete a[e] : a[e] = i, a.tm = new Date().getTime(), n[u] = a, h4(n)
}, f4 = u => m.getItem(`option:local:${u}`), Nt = (u, e) => {
m.setItem(`option:local:${u}`, e)
}, Nn = u => m.getItem(`option:flutter:local:${u}`), On = (u, e) => {
m.setItem(`option:flutter:local:${u}`, e)
}, Ot = async u => {
const e = Ea(), i = Yu.publicKey, n = n4(0), a = e.from_string(u), t = await ca(a),
s = e.crypto_secretbox_easy(t, n, i);
return Q(s)
}, Ut = async u => {
const e = Ea(), i = Yu.publicKey, n = Be(u), a = e.crypto_secretbox_open_easy(n, n4(0), i), t = await Ca(a);
return e.to_string(t)
}, Un = async u => {
let e = await Ot(u);
N.setItem("ab", e)
}, Mt = async () => {
try {
let u = N.getItem("ab");
if (u) return JSON.parse(await Ut(u))
} catch (u) {
console.error("loadAb error", u)
}
return {access_token: "", ab_entries: []}
}, Mn = () => {
N.removeItem("ab")
}, Ln = async u => {
let e = await Ot(u);
N.setItem("group", e)
}, Wn = async () => {
try {
let u = N.getItem("group");
if (u) return JSON.parse(await Ut(u))
} catch (u) {
console.error("loadGroup error", u)
}
return {access_token: "", users: [], peers: []}
}, Vn = () => {
N.removeItem("group")
}, qn = u => u.name == "My address book" || u.name == "Legacy address book";
var Lt = Vt();
function Kn() {
Lt = Vt()
}
const Wt = {};
function Hn(u) {
const e = /\{(.*?)\}/, i = u.match(e);
if (i && i[1] !== void 0) {
const n = u.replace(e, "{}"), a = i[1];
return [n, a]
}
return [u, null]
}
function Jn(u, e) {
var l;
let i = (Lt || "").toLowerCase();
i || (u = u.toLowerCase(), u.startsWith("zh") ? i = u.includes("tw") ? "zh-tw" : "zh-cn" : i = ((l = u.split("-")[0]) == null ? void 0 : l.split("_")[0]) || "en");
const [n, a] = Hn(e);
let t = d4[i];
const s = d4.en;
let E = "";
return t && t[n] ? E = t[n] : i !== "en" && s[n] ? E = s[n] : E = n, a !== null && (E = E.replace("{}", a)), E
}
const Gn = "z".charCodeAt(0), Zn = "a".charCodeAt(0);
function Qn(u, e) {
const i = Pn[u] || u;
if (i.length == 1) {
const a = i.charCodeAt(0);
return !e && (a > Gn || a < Zn) ? S.fromPartial({unicode: a}) : S.fromPartial({chr: a})
}
const n = fe(i);
return n == j.UNRECOGNIZED && console.error("Unknown control key " + i), S.fromPartial({control_key: n})
}
async function s4(u) {
await new Promise(e => setTimeout(e, u))
}
function Vt() {
let u = m.getItem("option:local:lang");
if (u && (u.includes("-") && (u = u.split("-")[1]), u.includes("_") && (u = u.split("_")[1]), d4.hasOwnProperty(u))) return u;
try {
const e = window.location.search;
return new URLSearchParams(e).get("lang") || ""
} catch {
return ""
}
}
var Yu = {privateKey: new Uint8Array([]), publicKey: new Uint8Array([])};
async function Xn() {
try {
const u = "app-data";
try {
const i = m.getItem(u);
if (i) {
const n = JSON.parse(i);
if (Yu = {
privateKey: new Uint8Array(Be(n.a)),
publicKey: new Uint8Array(Be(n.b))
}, Yu.publicKey.length === 32 && Yu.privateKey.length === 64) return
}
} catch (i) {
console.error(i)
}
const e = await Yn();
m.setItem(u, JSON.stringify({a: Q(e.privateKey), b: Q(e.publicKey)})), Yu = e
} catch (u) {
console.error("failed to init key pair", u)
}
}
function Q(u) {
return Br(u)
}
function Be(u) {
return be(u)
}
async function Yn() {
return await br()
}
function qe() {
return "web"
}
function qt() {
return "web"
}
function Kt() {
return Q(Yu.publicKey)
}
function $n() {
return Qu([Kt()])
}
function Qu(u) {
const e = new ga.exports.Hash;
return u.forEach(i => (typeof i == "string" && (i = new TextEncoder().encode(i)), e.update(i))), e.digest()
}
function Ht() {
const u = navigator.userAgent.toLowerCase();
return u.includes("win") ? a4 : u.includes("mac") ? k4 : u.includes("linux") ? g4 : u.includes("android") ? Tt : u.includes("iphone") || u.includes("ipad") ? _n : "Unknown OS"
}
async function uo(u, e) {
for (let i = 0; i < 2; i++) {
const a = e === void 0 ? await u.next() : await u.next(e);
if (!(!a || (a == null ? void 0 : a.key_exchange))) return a
}
}
function Jt() {
return eo() || Wt.key || void 0
}
function eo() {
return m.getItem("key") || void 0
}
function Gt() {
return m.getItem("option:local:access_token") || void 0
}
function io() {
return m.getItem("option:local:user_info") || void 0
}
function he() {
return $u
}
function lt(u) {
Wt.key = u
}
const x4 = {
Alt: 56,
AltGr: 57400,
Backspace: 14,
CapsLock: 58,
ControlLeft: 29,
ControlRight: 57373,
Delete: 57427,
UpArrow: 57416,
DownArrow: 57424,
LeftArrow: 57419,
RightArrow: 57421,
End: 57423,
Escape: 1,
F1: 59,
F2: 60,
F3: 61,
F4: 62,
F5: 63,
F6: 64,
F7: 65,
F8: 66,
F9: 67,
F10: 68,
F11: 87,
F12: 88,
F13: 100,
F14: 101,
F15: 102,
F16: 103,
F17: 104,
F18: 105,
F19: 106,
F20: 107,
F21: 108,
F22: 109,
F23: 110,
F24: 118,
Home: 57415,
MetaLeft: 57435,
PageDown: 57425,
PageUp: 57417,
Return: 28,
ShiftLeft: 42,
ShiftRight: 54,
Space: 57,
Tab: 15,
PrintScreen: 57399,
ScrollLock: 70,
NumLock: 69,
BackQuote: 41,
Num1: 2,
Num2: 3,
Num3: 4,
Num4: 5,
Num5: 6,
Num6: 7,
Num7: 8,
Num8: 9,
Num9: 10,
Num0: 11,
Minus: 12,
Equal: 13,
KeyQ: 16,
KeyW: 17,
KeyE: 18,
KeyR: 19,
KeyT: 20,
KeyY: 21,
KeyU: 22,
KeyI: 23,
KeyO: 24,
KeyP: 25,
LeftBracket: 26,
RightBracket: 27,
BackSlash: 43,
KeyA: 30,
KeyS: 31,
KeyD: 32,
KeyF: 33,
KeyG: 34,
KeyH: 35,
KeyJ: 36,
KeyK: 37,
KeyL: 38,
SemiColon: 39,
Quote: 40,
IntlBackslash: 86,
IntlRo: 115,
IntlYen: 125,
KanaMode: 112,
KeyZ: 44,
KeyX: 45,
KeyC: 46,
KeyV: 47,
KeyB: 48,
KeyN: 49,
KeyM: 50,
Comma: 51,
Dot: 52,
Slash: 53,
Insert: 57426,
KpMinus: 74,
KpPlus: 78,
KpMultiply: 55,
KpDivide: 57397,
KpDecimal: 83,
KpReturn: 57372,
KpEqual: 89,
KpComma: 126,
Kp0: 82,
Kp1: 79,
Kp2: 80,
Kp3: 81,
Kp4: 75,
Kp5: 76,
Kp6: 77,
Kp7: 71,
Kp8: 72,
Kp9: 73,
MetaRight: 57436,
Apps: 57437,
VolumeUp: 57392,
VolumeDown: 57390,
VolumeMute: 57376,
Lang1: 123,
Lang2: 121,
Lang3: 120,
Lang4: 119,
Lang5: 118,
Kana: 128,
Hanja: 241
}, to = {
Alt: 64,
AltGr: 108,
Backspace: 22,
CapsLock: 66,
ControlLeft: 37,
ControlRight: 105,
Delete: 119,
DownArrow: 116,
End: 115,
Escape: 9,
F1: 67,
F10: 76,
F11: 95,
F12: 96,
F13: 191,
F14: 192,
F15: 193,
F16: 194,
F17: 195,
F18: 196,
F19: 197,
F20: 198,
F21: 199,
F22: 200,
F23: 201,
F24: 202,
F2: 68,
F3: 69,
F4: 70,
F5: 71,
F6: 72,
F7: 73,
F8: 74,
F9: 75,
Home: 110,
LeftArrow: 113,
MetaLeft: 133,
PageDown: 117,
PageUp: 112,
Return: 36,
RightArrow: 114,
ShiftLeft: 50,
ShiftRight: 62,
Space: 65,
Tab: 23,
UpArrow: 111,
PrintScreen: 107,
ScrollLock: 78,
Pause: 127,
NumLock: 77,
BackQuote: 49,
Num1: 10,
Num2: 11,
Num3: 12,
Num4: 13,
Num5: 14,
Num6: 15,
Num7: 16,
Num8: 17,
Num9: 18,
Num0: 19,
Minus: 20,
Equal: 21,
KeyQ: 24,
KeyW: 25,
KeyE: 26,
KeyR: 27,
KeyT: 28,
KeyY: 29,
KeyU: 30,
KeyI: 31,
KeyO: 32,
KeyP: 33,
LeftBracket: 34,
RightBracket: 35,
KeyA: 38,
KeyS: 39,
KeyD: 40,
KeyF: 41,
KeyG: 42,
KeyH: 43,
KeyJ: 44,
KeyK: 45,
KeyL: 46,
SemiColon: 47,
Quote: 48,
BackSlash: 51,
IntlBackslash: 94,
IntlRo: 97,
IntlYen: 132,
KanaMode: 101,
KeyZ: 52,
KeyX: 53,
KeyC: 54,
KeyV: 55,
KeyB: 56,
KeyN: 57,
KeyM: 58,
Comma: 59,
Dot: 60,
Slash: 61,
Insert: 118,
KpDecimal: 91,
KpReturn: 104,
KpMinus: 82,
KpPlus: 86,
KpMultiply: 63,
KpDivide: 106,
KpEqual: 125,
KpComma: 129,
Kp0: 90,
Kp1: 87,
Kp2: 88,
Kp3: 89,
Kp4: 83,
Kp5: 84,
Kp6: 85,
Kp7: 79,
Kp8: 80,
Kp9: 81,
MetaRight: 134,
Apps: 135,
VolumeUp: 123,
VolumeDown: 122,
VolumeMute: 121,
Lang1: 102,
Lang2: 100,
Lang3: 98,
Lang4: 99,
Lang5: 93
}, ao = {
Alt: 57,
AltGr: 58,
Backspace: 67,
CapsLock: 115,
ControlLeft: 113,
ControlRight: 114,
Delete: 112,
DownArrow: 20,
End: 123,
Escape: 111,
F1: 131,
F10: 140,
F11: 141,
F12: 142,
F2: 132,
F3: 133,
F4: 134,
F5: 135,
F6: 136,
F7: 137,
F8: 138,
F9: 139,
Home: 3,
LeftArrow: 21,
MetaLeft: 117,
PageDown: 93,
PageUp: 92,
Return: 66,
RightArrow: 22,
ShiftLeft: 59,
ShiftRight: 60,
Space: 62,
Tab: 61,
UpArrow: 19,
PrintScreen: 120,
ScrollLock: 116,
NumLock: 143,
Pause: 121,
BackQuote: 75,
Num1: 8,
Num2: 9,
Num3: 10,
Num4: 11,
Num5: 12,
Num6: 13,
Num7: 14,
Num8: 15,
Num9: 16,
Num0: 7,
Minus: 69,
Equal: 70,
KeyA: 29,
KeyB: 30,
KeyC: 31,
KeyD: 32,
KeyE: 33,
KeyF: 34,
KeyG: 35,
KeyH: 36,
KeyI: 37,
KeyJ: 38,
KeyK: 39,
KeyL: 40,
KeyM: 41,
KeyN: 42,
KeyO: 43,
KeyP: 44,
KeyQ: 45,
KeyR: 46,
KeyS: 47,
KeyT: 48,
KeyU: 49,
KeyV: 50,
KeyW: 51,
KeyX: 52,
KeyY: 53,
KeyZ: 54,
LeftBracket: 71,
RightBracket: 72,
SemiColon: 74,
Quote: 75,
BackSlash: 73,
KanaMode: 218,
Comma: 55,
Dot: 56,
Slash: 76,
Insert: 124
}, no = {
226: "Alt",
230: "AltGr",
42: "Backspace",
57: "CapsLock",
224: "ControlLeft",
228: "ControlRight",
76: "Delete",
82: "UpArrow",
81: "DownArrow",
80: "LeftArrow",
79: "RightArrow",
77: "End",
41: "Escape",
58: "F1",
59: "F2",
60: "F3",
61: "F4",
62: "F5",
63: "F6",
64: "F7",
65: "F8",
66: "F9",
67: "F10",
68: "F11",
69: "F12",
104: "F13",
105: "F14",
106: "F15",
107: "F16",
108: "F17",
109: "F18",
110: "F19",
111: "F20",
112: "F21",
113: "F22",
114: "F23",
115: "F24",
74: "Home",
227: "MetaLeft",
78: "PageDown",
75: "PageUp",
40: "Return",
225: "ShiftLeft",
229: "ShiftRight",
44: "Space",
43: "Tab",
70: "PrintScreen",
71: "ScrollLock",
83: "NumLock",
53: "BackQuote",
30: "Num1",
31: "Num2",
32: "Num3",
33: "Num4",
34: "Num5",
35: "Num6",
36: "Num7",
37: "Num8",
38: "Num9",
39: "Num0",
45: "Minus",
46: "Equal",
20: "KeyQ",
26: "KeyW",
8: "KeyE",
21: "KeyR",
23: "KeyT",
28: "KeyY",
24: "KeyU",
12: "KeyI",
18: "KeyO",
19: "KeyP",
47: "LeftBracket",
48: "RightBracket",
49: "BackSlash",
4: "KeyA",
22: "KeyS",
7: "KeyD",
9: "KeyF",
10: "KeyG",
11: "KeyH",
13: "KeyJ",
14: "KeyK",
15: "KeyL",
51: "SemiColon",
52: "Quote",
100: "IntlBackslash",
135: "IntlRo",
137: "IntlYen",
29: "KeyZ",
27: "KeyX",
6: "KeyC",
25: "KeyV",
5: "KeyB",
17: "KeyN",
16: "KeyM",
54: "Comma",
55: "Dot",
56: "Slash",
73: "Insert",
86: "KpMinus",
87: "KpPlus",
85: "KpMultiply",
84: "KpDivide",
99: "KpDecimal",
88: "KpReturn",
103: "KpEqual",
133: "KpComma",
98: "Kp0",
89: "Kp1",
90: "Kp2",
91: "Kp3",
92: "Kp4",
93: "Kp5",
94: "Kp6",
95: "Kp7",
96: "Kp8",
97: "Kp9",
231: "MetaRight",
128: "VolumeUp",
129: "VolumeDown",
127: "VolumeMute",
139: "Lang1",
138: "Lang2",
146: "Lang3",
147: "Lang4",
148: "Lang5",
155: "Cancel",
156: "Clear",
136: "Kana",
145: "Hanja",
119: "Select",
116: "Execute",
117: "Help",
159: "Separator"
}, oo = {
KeyA: 0,
KeyS: 1,
KeyD: 2,
KeyF: 3,
KeyH: 4,
KeyG: 5,
KeyZ: 6,
KeyX: 7,
KeyC: 8,
KeyV: 9,
IntlBackslash: 10,
KeyB: 11,
KeyQ: 12,
KeyW: 13,
KeyE: 14,
KeyR: 15,
KeyY: 16,
KeyT: 17,
Num1: 18,
Num2: 19,
Num3: 20,
Num4: 21,
Num6: 22,
Num5: 23,
Equal: 24,
Num9: 25,
Num7: 26,
Minus: 27,
Num8: 28,
Num0: 29,
RightBracket: 30,
KeyO: 31,
KeyU: 32,
LeftBracket: 33,
KeyI: 34,
KeyP: 35,
Return: 36,
KeyL: 37,
KeyJ: 38,
Quote: 39,
KeyK: 40,
SemiColon: 41,
BackSlash: 42,
Comma: 43,
Slash: 44,
KeyN: 45,
KeyM: 46,
Dot: 47,
Tab: 48,
Space: 49,
BackQuote: 50,
Backspace: 51,
Escape: 53,
MetaRight: 54,
MetaLeft: 55,
ShiftLeft: 56,
CapsLock: 57,
Alt: 58,
ControlLeft: 59,
ShiftRight: 60,
AltGr: 61,
ControlRight: 62,
Function: 63,
F17: 64,
KpDecimal: 65,
KpMultiply: 67,
KpPlus: 69,
NumLock: 71,
VolumeUp: 72,
VolumeDown: 73,
VolumeMute: 74,
KpDivide: 75,
KpReturn: 76,
KpMinus: 78,
F18: 79,
F19: 80,
KpEqual: 81,
Kp0: 82,
Kp1: 83,
Kp2: 84,
Kp3: 85,
Kp4: 86,
Kp5: 87,
Kp6: 88,
Kp7: 89,
F20: 90,
Kp8: 91,
Kp9: 92,
IntlYen: 93,
IntlRo: 94,
KpComma: 95,
F5: 96,
F6: 97,
F7: 98,
F3: 99,
F8: 100,
F9: 101,
Lang2: 102,
F11: 103,
Lang1: 104,
F13: 105,
F16: 106,
F14: 107,
F10: 109,
F12: 111,
F15: 113,
Insert: 114,
Home: 115,
PageUp: 116,
Delete: 117,
F4: 118,
End: 119,
F2: 120,
PageDown: 121,
F1: 122,
LeftArrow: 123,
RightArrow: 124,
DownArrow: 125,
UpArrow: 126,
Apps: 110
}, ro = {
AltLeft: "Alt",
AltRight: "AltGr",
Backspace: "Backspace",
CapsLock: "CapsLock",
ControlLeft: "ControlLeft",
ControlRight: "ControlRight",
Delete: "Delete",
ArrowUp: "UpArrow",
ArrowDown: "DownArrow",
ArrowLeft: "LeftArrow",
ArrowRight: "RightArrow",
End: "End",
Escape: "Escape",
F1: "F1",
F2: "F2",
F3: "F3",
F4: "F4",
F5: "F5",
F6: "F6",
F7: "F7",
F8: "F8",
F9: "F9",
F10: "F10",
F11: "F11",
F12: "F12",
F13: "F13",
F14: "F14",
F15: "F15",
F16: "F16",
F17: "F17",
F18: "F18",
F19: "F19",
F20: "F20",
F21: "F21",
F22: "F22",
F23: "F23",
F24: "F24",
Home: "Home",
MetaLeft: "MetaLeft",
PageDown: "PageDown",
PageUp: "PageUp",
Enter: "Return",
ShiftLeft: "ShiftLeft",
ShiftRight: "ShiftRight",
Space: "Space",
Tab: "Tab",
PrintScreen: "PrintScreen",
ScrollLock: "ScrollLock",
NumLock: "NumLock",
Backquote: "BackQuote",
Digit1: "Num1",
Digit2: "Num2",
Digit3: "Num3",
Digit4: "Num4",
Digit5: "Num5",
Digit6: "Num6",
Digit7: "Num7",
Digit8: "Num8",
Digit9: "Num9",
Digit0: "Num0",
Minus: "Minus",
Equal: "Equal",
KeyQ: "KeyQ",
KeyW: "KeyW",
KeyE: "KeyE",
KeyR: "KeyR",
KeyT: "KeyT",
KeyY: "KeyY",
KeyU: "KeyU",
KeyI: "KeyI",
KeyO: "KeyO",
KeyP: "KeyP",
BracketLeft: "LeftBracket",
BracketRight: "RightBracket",
Backslash: "BackSlash",
KeyA: "KeyA",
KeyS: "KeyS",
KeyD: "KeyD",
KeyF: "KeyF",
KeyG: "KeyG",
KeyH: "KeyH",
KeyJ: "KeyJ",
KeyK: "KeyK",
KeyL: "KeyL",
Semicolon: "SemiColon",
Quote: "Quote",
IntlBackslash: "IntlBackslash",
IntlRo: "IntlRo",
IntlYen: "IntlYen",
KanaMode: "KanaMode",
KeyZ: "KeyZ",
KeyX: "KeyX",
KeyC: "KeyC",
KeyV: "KeyV",
KeyB: "KeyB",
KeyN: "KeyN",
KeyM: "KeyM",
Comma: "Comma",
Period: "Dot",
Slash: "Slash",
Insert: "Insert",
NumpadSubtract: "KpMinus",
NumpadAdd: "KpPlus",
NumpadMultiply: "KpMultiply",
NumpadDivide: "KpDivide",
NumpadDecimal: "KpDecimal",
NumpadEnter: "KpReturn",
NumpadEqual: "KpEqual",
NumpadComma: "KpComma",
Numpad0: "Kp0",
Numpad1: "Kp1",
Numpad2: "Kp2",
Numpad3: "Kp3",
Numpad4: "Kp4",
Numpad5: "Kp5",
Numpad6: "Kp6",
Numpad7: "Kp7",
Numpad8: "Kp8",
Numpad9: "Kp9",
MetaRight: "MetaRight",
ContextMenu: "Apps",
AudioVolumeUp: "VolumeUp",
AudioVolumeDown: "VolumeDown",
AudioVolumeMute: "VolumeMute",
NonConvert: "Lang1",
Convert: "Lang2",
Lang3: "Lang3",
Lang4: "Lang4",
Lang5: "Lang5"
},
so = new Set(["BackQuote", "Num1", "Num2", "Num3", "Num4", "Num5", "Num6", "Num7", "Num8", "Num9", "Num0", "Minus", "Equal", "KeyA", "KeyB", "KeyC", "KeyD", "KeyE", "KeyF", "KeyG", "KeyH", "KeyI", "KeyJ", "KeyK", "KeyL", "KeyM", "KeyN", "KeyO", "KeyP", "KeyQ", "KeyR", "KeyS", "KeyT", "KeyU", "KeyV", "KeyW", "KeyX", "KeyY", "KeyZ", "LeftBracket", "RightBracket", "BackSlash", "SemiColon", "Quote", "Comma", "Dot", "Slash", "IntlBackslash", "Space"]),
Eo = new Set(["Kp0", "Kp1", "Kp2", "Kp3", "Kp4", "Kp5", "Kp6", "Kp7", "Kp8", "Kp9", "KpMinus", "KpMultiply", "KpDivide", "KpPlus", "KpDecimal"]);
let ve = !1, ru = !1;
const w = {};
w[mn] = !1;
w[Fn] = !1;
w[ke] = !1;
w[zt] = !1;
w[v4] = !1;
w[Pt] = !1;
w[Rt] = !1;
w[It] = !1;
const xe = {}, y4 = u => Eo.has(u), b4 = u => so.has(u), lo = () => w[ke] || w[zt] || w[v4] || w[Pt] || w[Rt] || w[It];
let _, Ke = !1;
function Do() {
if (Ke) {
console.info("Keyboard event listener is already started");
return
}
document.addEventListener("keydown", He), document.addEventListener("keyup", He), _ || (_ = document.createElement("div"), _.setAttribute("contenteditable", "true"), _.id = "hiddenInput", _.style.position = "absolute", _.style.left = "-9999px", _.style.height = "1px", _.style.width = "1px", document.body.appendChild(_), $u ? _.addEventListener("input", Je) : (Ye || Xu) && _.addEventListener("compositionend", Je), _.focus()), Ke = !0, console.info("Keyboard event listener started")
}
function p4() {
if (!Ke) {
console.info("Keyboard event listener is not started");
return
}
document.removeEventListener("keydown", He), document.removeEventListener("keyup", He), _ && ($u || Ye ? _.removeEventListener("input", Je) : Xu && _.removeEventListener("compositionend", Je), _.remove(), _ = void 0), Ke = !1, console.info("Keyboard event listener stopped")
}
function w4(u, e) {
u.sendMessage({key_event: e})
}
function He(u) {
const e = i0();
if (!e) return;
const i = u.type === "keydown";
i && !ru && u.preventDefault(), Zt(e, u, i)
}
function Je(u) {
var a, t;
const e = i0();
if (!e) return;
u.preventDefault();
let i = null;
if ((u instanceof InputEvent || u instanceof CompositionEvent) && (i = u.data), !i) return;
const n = S.fromPartial({seq: i, mode: Fe.Translate, down: !0, press: !1});
w4(e, n), ((t = (a = _ == null ? void 0 : _.textContent) == null ? void 0 : a.length) != null ? t : 0) > 10 && (_.textContent = "")
}
function Zt(u, e, i) {
const n = po(u, e, i);
for (const a of n) w4(u, a)
}
function co(u, e, i, n) {
const a = no[e];
if (!a) {
console.error("Unknown USB HID code " + e);
return
}
const t = Ge(u, a, i);
if (!t) return;
const s = y4(a), E = b4(a);
(E || s) && Qt(t, n, s, E);
for (const l of t) w4(u, l)
}
function Co() {
const u = i0();
if (!!u) for (const e in xe) {
const i = xe[e];
i && Zt(u, i, !1)
}
}
function po(u, e, i) {
var d;
const n = e.code, a = ro[n];
if (!a) return console.error("Key code is not supported " + n), [];
const t = u.getOption("keyboard_mode"), s = Bo(e);
mo(e, i), i ? xe[n] = e : delete xe[n];
let E = [];
switch (t) {
case An:
E = (d = Ge(u, a, i)) != null ? d : [];
break;
case ot:
E = Fo(u, e, a, i);
break
}
if (!E) return [];
const l = y4(a);
if (t !== ot || l) {
const c = b4(a);
Qt(E, s, l, c)
}
return E
}
function Qt(u, e, i, n) {
for (const s of u) n && (e & 1 << 1) != 0 && s.modifiers.push(j.CapsLock), i && (e & 1 << 2) != 0 && s.modifiers.push(j.NumLock)
}
function Bo(u) {
let a = 0;
return u.getModifierState("CapsLock") && (a |= 1 << 1), u.getModifierState("NumLock") && (a |= 1 << 2), u.getModifierState("ScrollLock") && (a |= 1 << 3), a
}
function Ao(u, e) {
return u == a4 ? x4[e] : u == g4 ? to[e] : u == Tt ? ao[e] : u == k4 ? (m.getItem("option:local:kb_layout") == gn && (e == "IntlBackslash" ? e = "BackQuote" : e == "BackQuote" && (e = "IntlBackslash")), oo[e]) : null
}
function mo(u, e) {
const i = u.code;
i in w && (w[i] = e)
}
function Ge(u, e, i) {
const n = u.getPeerPlatform(), a = u.isSwapControlCommand();
e == "ControlLeft" || e == "ControlRight" ? a && (e = "MetaLeft") : (e == "MetaLeft" || e == "MetaRight") && a && (e = "ControlLeft");
const t = Ao(n, e);
return t == null ? (console.error("Unknown key code " + e + " for platform " + n), []) : [S.fromPartial({
chr: t,
mode: Fe.Map,
down: i,
press: !1
})]
}
function Fo(u, e, i, n) {
const a = _ === document.activeElement;
if (_ && _.focus(), Ye && _ && a && e.key === "Process") return [];
const t = b4(i), s = e.key === "Dead";
if (n && ru && t) return Xu ? ru = s : ru = !1, [];
if (s) return n && (Xu ? ru = !0 : ru = !ru), ru && _ && !a && $u && _.dispatchEvent(new KeyboardEvent(e.type, {...e})), [];
if (ru = !1, !Xu && y4(i)) return Ge(u, i, n);
if (Xu && e.code === "AltRight") return [];
if (e.key === "AltGraph") return ve && !n && (ve = !1), !ve && n && w[ke] ? (ve = !0, w[ke] = !1, delete xe[ke], [S.fromPartial({
chr: x4.ControlLeft,
mode: Fe.Map,
down: !1,
press: !1
})]) : [];
const l = u.getPeerPlatform();
let d = [];
return $u && (d = _o(l, e, n)), ($u || Ye) && d.length === 0 && n && t && (d = Dt(e, n)), $u && ve || (Xu && n && t && !w[v4] && d.push(...Dt(e, n)), d.length === 0 && d.push(...Ge(u, i, n))), d
}
function _o(u, e, i) {
if (u !== a4 || !lo()) return [];
let n;
const a = x4[e.code];
return a === void 0 ? (console.error("Key code cannot be converted to scan code: " + e.code), []) : (i ? e.key.length === 1 && (n = e.key.charCodeAt(0) & 65535 | a << 16) : n = a << 16, n === void 0 ? [] : [S.fromPartial({
win2win_hotkey: n,
mode: Fe.Translate,
down: i,
press: !1
})])
}
function Dt(u, e) {
return u.key ? [S.fromPartial({seq: u.key, mode: Fe.Translate, down: e, press: !1})] : []
}
class vo {
constructor(e, i, n, a) {
D(this, "_uri");
D(this, "_feedback");
D(this, "_key");
D(this, "_token");
D(this, "_ws");
D(this, "_interval");
D(this, "_keepAlive");
D(this, "_lastRecvMsg");
D(this, "_aliveFailed");
this._uri = e, this._feedback = i, this._key = n, this._token = a, this._keepAlive = wn, this._lastRecvMsg = new Date, this._aliveFailed = !1
}
close() {
var e;
this._interval && (clearInterval(this._interval), this._interval = void 0), (e = this._ws) == null || e.close(), this._ws = void 0
}
async start() {
if (this._feedback == 0 || !this._uri || !this._token || !this._key) return;
const e = new Ve(this._uri, !0, "health check");
await e.open(), console.log(new Date + ": Connected to relay server"), this._ws = e;
const i = Zu.fromPartial({token: this._token});
e.sendRendezvous({hc: i}), this.startInterval(), await this.msgLoop(), this.close()
}
startInterval() {
this._interval = setInterval(() => {
new Date().getTime() - this._lastRecvMsg.getTime() > this._keepAlive * 3 / 2 && (this._aliveFailed = !0)
}, bn)
}
async msgLoop() {
var e;
for (this._lastRecvMsg = new Date; ;) {
if (!this._ws) {
console.info("HC connection is closed as controlling connection exits");
break
}
try {
const i = await ((e = this._ws) == null ? void 0 : e.next(300));
i && (this._lastRecvMsg = new Date, this.handleMsg(i))
} catch (i) {
if (i === "Timeout") {
if (this._aliveFailed) {
console.error("HC connection is timeout");
break
}
} else {
console.error("An error occurred on health check:", i);
break
}
}
}
}
handleMsg(e) {
var i;
if (e instanceof Uint8Array) {
(i = this._ws) == null || i.sendBytes(new Uint8Array);
return
} else {
const n = e.register_pk_response;
n && n.keep_alive > 0 && (this._keepAlive = n.keep_alive * 1e3, console.log("keep_alive: " + this._keepAlive + "ms"))
}
}
}
let Ae = [], me = "", Ze = [], ye = [], Qe, B4 = !1;
const S4 = ["text/plain", "text/html", "image/svg+xml", "image/png"];
function z4() {
Ze = [], ye = [], Qe = void 0
}
function go(u) {
B4 = u
}
async function ko() {
try {
Ae = await navigator.clipboard.read(), Ae.length === 0 && (me = await navigator.clipboard.readText())
} catch (u) {
console.error("Failed to read clipboard items before connection, ", u)
}
}
async function Xt(u) {
if (!B4) {
var e = [], i = "";
for (let n = 0; n < 3; n++) try {
e = await navigator.clipboard.read(), e.length === 0 && (i = await navigator.clipboard.readText());
break
} catch (a) {
if (a.name === "NotAllowedError" && a.message.includes("Document is not focused")) await new Promise(t => setTimeout(t, 300)); else return
}
e.length === 0 && i === "" || (B4 = !0, await ho(e) ? (Ae = e, await xo(u)) : i !== me && (me = i, await yo(u)))
}
}
async function ho(u) {
if (u.length !== Ae.length) return !0;
for (let e = 0; e < u.length; e++) {
const i = u[e], n = Ae[e];
if (!await fo(i, n)) return !0
}
return !1
}
async function fo(u, e) {
if (u.types.length !== e.types.length) return !1;
for (let i = 0; i < u.types.length; i++) {
if (u.types[i] !== e.types[i]) return !1;
if (!S4.includes(u.types[i])) continue;
const n = await u.getType(u.types[i]), a = await e.getType(e.types[i]);
if (n.size !== a.size) return !1;
const t = new Uint8Array(await n.arrayBuffer()), s = new Uint8Array(await a.arrayBuffer());
for (let E = 0; E < t.length; E++) if (t[E] !== s[E]) return !1
}
return !0
}
function Yt(u) {
switch (u) {
case"text/plain":
return Du.Text;
case"text/html":
return Du.Html;
case"image/svg+xml":
return Du.ImageSvg;
case"image/png":
return Du.ImagePng;
default:
return Du.UNRECOGNIZED
}
}
async function xo(u) {
const e = [], i = (await Promise.all(Ae.map(async n => {
const a = [];
for (const t of n.types) {
if (!S4.includes(t)) continue;
const s = await n.getType(t);
e.push(t), a.push(new Uint8Array(await s.arrayBuffer()))
}
return a
}))).flat();
e.length !== 0 && da(i, !0, n => {
const a = n.map((t, s) => {
let E = !1;
t && (E = t.length < me.length);
const l = E && t != null ? t : i[s];
return W.fromPartial({content: l, compress: E, format: Yt(e[s])})
});
u.sendMessage(au.fromPartial({multi_clipboards: hu.fromPartial({clipboards: a})}))
})
}
async function yo(u) {
const e = new TextEncoder().encode(me);
da(e, !1, i => {
let n = !1;
i && (n = i.length < me.length);
const a = n && i != null ? i : e;
let t = W.fromPartial({content: a, compress: n, format: Du.Text});
u.sendMessage(au.fromPartial({clipboard: t}))
})
}
function P4(u, e = void 0) {
const i = () => {
try {
xr(new TextDecoder().decode(u.content)), z4(), e == null || e()
} catch (n) {
console.error("Failed to copy to clipboard, ", n), document.hasFocus() || (Qe = u)
}
};
u.compress ? M4(u.content, !1, n => {
n && (u.content = n, i())
}) : i()
}
const Oe = document.createElement("canvas"), E4 = Oe.getContext("2d");
function bo(u, e, i) {
if (Oe.width = e, Oe.height = i, !E4) return new Uint8Array(0);
const n = E4.createImageData(e, i);
return n.data.set(u), E4.putImageData(n, 0, 0), Uint8Array.from(atob(Oe.toDataURL("image/png").split(",")[1]), a => a.charCodeAt(0))
}
function wo(u, e = void 0) {
z4();
const i = u.clipboards, n = i.filter(a => a.compress).map(a => a.content);
M4(n, !0, async a => {
var d;
let t = 0;
for (const c of i) c.compress && (c.content = (d = a[t]) != null ? d : c.content, t++), c.compress = !1;
const s = {};
for (const c of i) {
const p = S4.find(B => c.format === Yt(B));
if (p) {
const B = new Blob([c.content], {type: p});
s[p] = B
}
}
if (!(s["image/png"] !== void 0)) {
for (const c of i) if (c.format === Du.ImageRgba) {
const p = bo(c.content, c.width, c.height);
p.length > 0 && (s["image/png"] = new Blob([p], {type: "image/png"}));
break
}
}
if (Object.keys(s).length === 0) return;
const l = new ClipboardItem(s);
await $t(i, l, e)
})
}
async function $t(u, e, i = void 0) {
if (!document.hasFocus()) {
Ze = u, ye = [e];
return
}
try {
await navigator.clipboard.write([e]), z4(), i == null || i()
} catch (n) {
if (console.error("Failed to write to clipboard, ", n), !document.hasFocus()) {
Ze = u, ye = [e];
return
}
const a = u.find(t => t.format === Du.Text);
a && P4(a, i)
}
}
function dt() {
pr("info", "Clipboard is synchronized", 2e3)
}
window.addEventListener("focus", function () {
ye.length > 0 ? $t(Ze, ye[0], dt) : Qe && P4(Qe, dt)
});
class So {
constructor({id: e, path: i}) {
D(this, "id");
D(this, "path");
D(this, "empty_dirs");
this.id = e, this.path = i, this.empty_dirs = void 0
}
}
const su = class {
constructor({
id: e,
remote: i,
path: n,
show_hidden: a,
is_remote: t,
is_last_job: s,
file_num: E,
files: l,
conn_id: d,
total_size: c,
finished_size: p,
transferred: B,
enable_overwrite_detection: F,
file_confirmed: b,
file_skipped: x,
file_is_waiting: k,
is_dir: M
}) {
D(this, "id");
D(this, "remote");
D(this, "path");
D(this, "show_hidden");
D(this, "is_remote");
D(this, "is_last_job");
D(this, "file_num");
D(this, "files");
D(this, "conn_id");
D(this, "total_size");
D(this, "finished_size");
D(this, "transferred");
D(this, "lastTransferred");
D(this, "enable_overwrite_detection");
D(this, "file_confirmed");
D(this, "file_skipped");
D(this, "file_is_waiting");
D(this, "default_overwrite_strategy");
D(this, "is_dir");
D(this, "stream");
D(this, "writer");
D(this, "zip");
D(this, "currentData");
D(this, "fileHandles");
D(this, "currentReader");
D(this, "write", async (e, i) => {
var t;
if (e.id !== this.id) throw new Error("Wrong id");
const n = e.file_num;
if (n >= this.files.length) throw new Error("Wrong file number");
const a = this.is_dir;
if (n !== this.file_num || a && !this.zip || !a && !this.writer) if (a) {
if (this.zip || (this.zip = new H4), this.currentData) {
const s = this.files[this.file_num];
this.zip.file(s.name, this.currentData), this.currentData = void 0
}
this.file_num = e.file_num
} else {
this.writer && await this.writer.close(), this.stream && (this.stream = void 0), this.file_num = e.file_num;
const s = this.files[n], E = su.join(this.path, s.name);
this.stream = streamSaver.createWriteStream(E, {size: s.size}), this.writer = (t = this.stream) == null ? void 0 : t.getWriter()
}
if (e.compressed) {
const s = await Ca(e.data);
if (!s) throw new Error("Failed to decompress");
if (a) this.currentData ? this.currentData = new Uint8Array([...this.currentData, ...s]) : this.currentData = s; else {
if (!this.writer) throw new Error("file is None");
try {
await this.writer.write(s)
} catch (E) {
throw A4(this.id, "write failed", this.file_num), i(), E
}
}
this.finished_size += s.length
} else {
if (a) this.currentData ? this.currentData = new Uint8Array([...this.currentData, ...e.data]) : this.currentData = e.data; else {
if (!this.writer) throw new Error("file is None");
try {
await this.writer.write(e.data)
} catch (s) {
throw A4(this.id, "write failed", this.file_num), i(), s
}
}
this.finished_size += e.data.length
}
this.transferred += e.data.length
});
D(this, "read", async e => {
var d;
let i = this.file_num;
if (i >= this.files.length) {
(d = this.currentReader) == null || d.cancel(), this.currentReader = void 0;
return
}
let n = this.files[i];
if (!this.currentReader) {
if (!this.fileHandles || !this.fileHandles[i]) throw new Error("file is None");
let p = (await this.fileHandles[i].getFile()).stream();
this.currentReader = p.getReader({mode: "byob"}), this.file_confirmed = !1, this.file_is_waiting = !1
}
if (this.enable_overwrite_detection && !this.file_confirmed) {
this.file_is_waiting || (this.send_current_digest(e), this.file_is_waiting = !0);
return
}
const a = 128 * 1024;
let t = new ArrayBuffer(a), s = !1, E = 0;
for (; E < t.byteLength;) {
const {value: c, done: p} = await this.currentReader.read(new Uint8Array(t, E, t.byteLength - E));
if (!c) {
this.file_num += 1, this.file_confirmed = !1, this.file_is_waiting = !1, this.currentReader = void 0, t = new ArrayBuffer(0);
break
}
if (E += c.byteLength, t = c.buffer, p) break
}
let l = new Uint8Array(t, 0, E);
if (E === 0) this.file_num += 1, this.currentReader = void 0, this.file_confirmed = !1, this.file_is_waiting = !1; else {
if (this.finished_size += E, !Jo(su.join(this.path, n.name))) {
const c = await ca(new Uint8Array(t, 0, E));
if (c) c.length < E && (l = new Uint8Array(c), s = !0); else throw new Error("Failed to compress")
}
this.transferred += E
}
return zu.fromPartial({id: this.id, file_num: i, data: l, compressed: s})
});
D(this, "send_current_digest", async e => {
if (!this.fileHandles || !this.fileHandles[this.file_num]) throw new Error("file is None");
let i = await this.fileHandles[this.file_num].getFile();
if (!i) throw new Error("file is None");
let n = Math.floor(i.lastModified / 1e3), a = i.size,
t = Su.fromPartial({id: this.id, file_num: this.file_num, last_modified: n, file_size: a}),
s = ou.fromPartial({digest: t}), E = au.fromPartial({file_response: s});
e(E)
});
D(this, "read_digest", e => {
let i = this.files[e.file_num], n = su.join(this.path, i.name), a = this.default_overwrite_strategy;
if (a !== void 0) {
let t = du.fromPartial({
id: e.id,
file_num: e.file_num,
offset_blk: a ? 0 : void 0,
skip: a ? void 0 : !0
});
return this.confirm(t), su.new_send_confirm(t)
} else {
Go(e.id, e.file_num, n, !0, e.is_identical);
return
}
});
D(this, "write_digest", e => {
let i = du.fromPartial({id: e.id, file_num: e.file_num, offset_blk: 0});
return this.confirm(i), su.new_send_confirm(i)
});
D(this, "write_done", (e, i, n) => {
if (this.writer) {
this.writer.close();
return
}
if (this.zip || (this.zip = new H4), this.currentData) {
const t = this.files[this.file_num];
this.zip.file(t.name, this.currentData), this.currentData = void 0
}
if (i != null) {
const t = i();
if (t != null) if (t.empty_dirs != null) for (let s of t.empty_dirs) {
var a = s.substring(t.path.length + 1);
he() ? a = a.replace(/\//g, "\\") : a = a.replace(/\\/g, "/"), this.zip.folder(a)
} else {
setTimeout(() => {
this.write_done(e, i, n)
}, 1e3);
return
}
}
this.zip.generateAsync({type: "blob"}).then(t => {
ka.exports.saveAs(t, `${this.path}.zip`)
}), n()
});
D(this, "confirm", e => (this.file_num !== e.file_num ? console.log("file num truncated, ignoring") : e.skip !== void 0 ? e.skip ? this.set_file_skipped() : this.set_file_confirmed(!0) : e.offset_blk !== void 0 && this.set_file_confirmed(!0), !0));
D(this, "set_file_skipped", () => {
var e;
(e = this.writer) == null || e.abort(), this.writer = void 0, this.stream = void 0, this.set_file_confirmed(!1), this.set_file_is_waiting(!1), this.file_num += 1, this.file_skipped = !0
});
D(this, "set_file_confirmed", e => {
this.file_confirmed = e, this.file_skipped = !1
});
D(this, "set_file_is_waiting", e => {
this.file_is_waiting = e
});
D(this, "update_job_status", e => {
if (e <= 0) return;
let i = Math.floor((this.transferred - this.lastTransferred) / (e * 1 / 1e3));
this.lastTransferred = this.transferred;
let n = this.file_num - 1;
this.job_progress(this.id, n, i, this.finished_size)
});
D(this, "job_progress", (e, i, n, a) => {
A("job_progress", {
id: e.toString(),
file_num: i.toString(),
speed: n.toString(),
finished_size: a.toString()
})
});
D(this, "job_skipped", () => this.file_skipped && this.files.length === 1);
D(this, "job_error", () => {
if (this.job_skipped()) return "skipped"
});
D(this, "job_completed", () => !this.enable_overwrite_detection || !this.file_confirmed && !this.file_is_waiting);
D(this, "remove_download_file", () => {
if (this.writer) try {
this.writer.abort()
} catch {
}
this.writer = void 0, this.stream = void 0, this.currentData = void 0, this.zip = void 0
});
this.id = e, this.remote = i, this.path = n, this.show_hidden = a, this.is_remote = t, this.is_last_job = s, this.file_num = E, this.files = l, this.conn_id = d, this.total_size = c, this.finished_size = p, this.transferred = B, this.lastTransferred = 0, this.enable_overwrite_detection = F, this.file_confirmed = b, this.file_skipped = x, this.file_is_waiting = k, this.is_dir = M
}
};
let Eu = su;
D(Eu, "newWrite", (e, i, n, a, t, s, E, l, d) => {
let c = E.reduce((B, F) => B + F.size, 0);
return new su({
id: e,
remote: i,
path: n,
file_num: a,
show_hidden: t,
is_remote: s,
files: E,
total_size: c,
enable_overwrite_detection: l,
is_dir: d,
is_last_job: !1,
conn_id: 0,
finished_size: 0,
transferred: 0,
file_confirmed: !1,
file_skipped: !1,
file_is_waiting: !1
})
}), D(Eu, "newRead", (e, i, n, a, t, s, E, l, d) => {
let c = E.reduce((B, F) => B + F.size, 0), p = new su({
id: e,
remote: i,
path: n,
file_num: a,
show_hidden: t,
is_remote: s,
files: E,
total_size: c,
enable_overwrite_detection: l,
is_dir: !1,
is_last_job: !1,
conn_id: 0,
finished_size: 0,
transferred: 0,
file_confirmed: !1,
file_skipped: !1,
file_is_waiting: !1
});
return p.fileHandles = d, p
}), D(Eu, "new_send_confirm", e => au.fromPartial({file_action: I.fromPartial({send_confirm: e})})), D(Eu, "join", (e, i) => i === "" ? e : e.endsWith("/") || e.endsWith("\\") ? e + i : he() ? e + "\\" + i : e + "/" + i);
const zo = (u, e, i, n) => {
let a = Ru.fromPartial({id: u, path: e, include_hidden: n, file_num: i});
return I.fromPartial({send: a})
}, ct = (u, e, i, n) => {
if (!n) return;
let a = Nu.fromPartial({id: u, path: e, file_num: i});
return I.fromPartial({remove_file: a})
}, Po = (u, e, i) => {
let n = yu.fromPartial({id: u, path: e, include_hidden: i});
return I.fromPartial({all_files: n})
}, Ro = (u, e) => {
let i = Ou.fromPartial({id: u, path: e});
return I.fromPartial({create: i})
}, Io = u => {
let e = wu.fromPartial({id: u});
return I.fromPartial({cancel: e})
}, To = (u, e) => {
let i = ju.fromPartial({id: u, path: e, recursive: !0});
return I.fromPartial({remove_dir: i})
}, jo = (u, e, i) => {
let n = bu.fromPartial({id: u, path: e, new_name: i});
return I.fromPartial({rename: n})
}, No = (u, e, i, n, a) => {
let t = Tu.fromPartial({id: u, path: e, file_num: i, files: n, total_size: a});
return I.fromPartial({receive: t})
}, Oo = u => {
let e = ou.fromPartial({block: u});
return au.fromPartial({file_response: e})
}, Ct = (u, e, i) => {
let n = ou.fromPartial({error: Pu.fromPartial({id: u, error: e, file_num: i})});
return au.fromPartial({file_response: n})
}, Uo = (u, e) => {
let i = ou.fromPartial({done: Iu.fromPartial({id: u, file_num: e})});
return au.fromPartial({file_response: i})
}, Mo = (u, e) => {
let i = xu.fromPartial({path: u, include_hidden: e});
return I.fromPartial({read_empty_dirs: i})
}, pt = (u, e, i, n, a) => {
a ? A("update_folder_files", {info: Lo(u, e, a)}) : A("file_dir", {is_local: "false", value: Wo(u, i, e)})
}, Lo = (u, e, i) => {
let n = {
id: u,
entries: e.map(a => ({name: a.name, type: a.entry_type, time: a.modified_time, size: a.size})),
total_size: e.reduce((a, t) => a + t.size, 0)
};
return i && (n.num_entries = e.length, delete n.entries), JSON.stringify(n)
}, Wo = (u, e, i) => {
let n = {
id: u,
path: e,
entries: i.map(a => ({entry_type: a.entry_type, name: a.name, size: a.size, modified_time: a.modified_time}))
};
return JSON.stringify(n)
}, A4 = (u, e, i) => {
A("job_error", {id: u.toString(), err: e, file_num: i.toString()})
}, Vo = (u, e) => {
A("job_done", {id: u.toString(), file_num: e.toString()})
};
var t0 = 0;
const qo = async (u, e) => {
try {
if (u) {
const i = await window.showDirectoryPicker();
let n = {name: i.name, size: 0, entry_type: 2, modified_time: 0};
t0++, e(t0, i), A("selected_files", {handleIndex: t0, file: n})
} else {
const i = {multiple: !0}, n = await window.showOpenFilePicker(i);
for (const a of n) {
const t = await a.getFile();
let s = {name: t.name, size: t.size, entry_type: 4, modified_time: Math.floor(t.lastModified / 1e3)};
t0++, e(t0, a), A("selected_files", {handleIndex: t0, file: s})
}
}
} catch (i) {
console.error("Failed to choose file:", i)
}
}, Ko = async (u, e) => {
let i = [];
for (let n of u) if (!n.is_last_job) try {
let a = await n.read(e);
if (a) e(Oo(a)); else if (n.job_completed()) {
i.push(n.id);
let t = n.job_error();
e(t ? Ct(n.id, t, n.file_num) : Uo(n.id, n.file_num))
}
} catch (a) {
e(Ct(n.id, (a != null ? a : "read failed").toString(), n.file_num))
}
return i
}, Ho = u => {
let e = u.lastIndexOf(".");
return e >= 0 ? u.substring(e + 1) : ""
}, Jo = u => {
let e = Ho(u);
return e === "xz" || e === "gz" || e === "zip" || e === "7z" || e === "rar" || e === "bz2" || e === "tgz" || e === "png" || e === "jpg"
}, Go = (u, e, i, n, a) => {
A("override_file_confirm", {
id: u.toString(),
file_num: e.toString(),
read_path: i,
is_upload: n.toString(),
is_identical: a.toString()
})
}, Xe = (u, e) => u === "" ? e : Eu.join(u, e), ua = async (u, e) => {
const i = [];
let n = [];
for await(const a of u.values()) if (a.kind === "file") i.push(a.getFile().then(t => {
n.push({
entry: V.fromPartial({
name: Xe(e, t.name),
size: t.size,
entry_type: ft.File,
modified_time: Math.floor(t.lastModified / 1e3)
}), handle: a
})
})); else if (a.kind === "directory") {
let t = Xe(e, a.name);
const s = await ua(a, t);
n = n.concat(s)
}
return await Promise.all(i), n
}, ea = async (u, e) => {
let i = [], n = !0;
for await(const a of u.values()) {
if (a.kind === "directory") {
let t = Xe(e, a.name);
const s = await ea(a, t);
i = i.concat(s)
}
n = !1
}
return n && i.push(Xe(e, "")), i
}, Bt = 21116, ia = "rs-ny.rustdesk.com";
function Zo() {
const u = window.location.host;
if (u.indexOf("rustdesk.com") >= 0) return ia;
if (window.location.host.indexOf("localhost:") == 0) return "127.0.0.1";
const e = u.split(":");
return e.length > 1 ? e[0] + ":" + (parseInt(e[1]) + 2) : u
}
const Qo = Zo(), At = 100, Ie = "trust-this-device";
class ta {
constructor() {
D(this, "_msgs");
D(this, "_ws");
D(this, "_interval");
D(this, "_updateInterval");
D(this, "_id");
D(this, "_otherServer");
D(this, "_hash");
D(this, "_msgbox");
D(this, "_draw");
D(this, "_peerInfo");
D(this, "_firstFrame");
D(this, "_frameCount");
D(this, "_videoFormat");
D(this, "_password");
D(this, "_presetPassword");
D(this, "_sharedPassword");
D(this, "_passwordSource");
D(this, "_options");
D(this, "_fpsCalc");
D(this, "_updateTs");
D(this, "_serverPerms");
D(this, "_elevationRequested");
D(this, "_supportedEncoding");
D(this, "_i444");
D(this, "_healthCheck");
D(this, "_sessionId");
D(this, "_isFileTransfer");
D(this, "_isViewCamera");
D(this, "_readJobs");
D(this, "_writeJobs");
D(this, "_removeJobs");
D(this, "_readRemoteEmptyDirsJobs");
D(this, "_last_update_jobs_ms");
D(this, "_fileHandles");
D(this, "_ftTimer");
D(this, "_restartingRemoteDevice");
D(this, "_enableTrustedDevices");
D(this, "_lastChangeDisplay");
D(this, "_lastSendFps");
D(this, "_videoQueue");
D(this, "_decodingVideo");
D(this, "_selectedWindowsSessionId");
D(this, "enableEmptyDirs", () => {
var e;
return L((e = this._peerInfo) == null ? void 0 : e.version) >= L("1.3.3")
});
D(this, "enableOverwriteDetection", () => {
var e;
return L((e = this._peerInfo) == null ? void 0 : e.version) >= L("1.1.10")
});
this._msgbox = aa, this._draw = F4, this._msgs = [], this._id = "", this._frameCount = {}, this._fpsCalc = {
videoTestSpeed: [0, 0],
skipBegining: 0,
fps: void 0
}, this._updateTs = new Date().getTime(), this._serverPerms = {
keyboardEnabled: !0,
fileTransferEnabled: !0,
clipboardEnabled: !0
}, this._elevationRequested = !1, this._supportedEncoding = Z.fromPartial({}), this._sessionId = 0, this._isFileTransfer = !1, this._isViewCamera = !1, this._readJobs = [], this._writeJobs = [], this._removeJobs = {}, this._readRemoteEmptyDirsJobs = [], this._last_update_jobs_ms = 0, this._fileHandles = {}, this._restartingRemoteDevice = !1, this._enableTrustedDevices = !1, this._passwordSource = {type: "Undefined"}, this._videoQueue = [], this._decodingVideo = !1
}
getPeerPlatform() {
var e, i;
return (i = (e = this._peerInfo) == null ? void 0 : e.platform) != null ? i : ""
}
isSupportVirtualDisplay() {
if (!this._peerInfo || !this._peerInfo.platform_additions) return !1;
try {
const e = JSON.parse(this._peerInfo.platform_additions), i = e.is_installed, n = e.idd_impl;
return i && this._peerInfo.platform == "Windows" && (n == "rustdesk_idd" || n == "amyuni_idd")
} catch (e) {
return console.error("Failed to check virtual display support, ", e), !1
}
}
isSupportViewCamera() {
if (!this._peerInfo || !this._peerInfo.platform_additions) return !1;
try {
return JSON.parse(this._peerInfo.platform_additions).support_view_camera
} catch (e) {
return console.error("Failed to check view camera support, ", e), !1
}
}
sendMessage(e) {
var i;
(i = this._ws) == null || i.sendMessage(e)
}
handleRelayId(e) {
return e.endsWith("\\r") || e.endsWith("/r") ? e.substring(0, e.length - 2) : e
}
setRemoteId(e) {
var n, a, t, s, E;
let i = Math.floor(Math.random() * Number.MAX_SAFE_INTEGER);
if (i == 0 && (i = 1), this._sessionId = i, this._restartingRemoteDevice = !1, this._id = e, e.includes("@")) {
const l = e.split("@"), d = l[0], c = ((n = l[1]) != null ? n : "").split("?"),
p = (a = c[0]) != null ? a : "", B = (t = c[1]) != null ? t : "",
F = p == r4 ? Et : (s = B.split("&").reduce((x, k) => {
const M = k.indexOf("=");
if (M != -1) {
const Se = k.substring(0, M).toLowerCase(), ze = k.substring(M + 1);
x[Se] = ze
}
return x
}, {}).key) != null ? s : "", b = this.handleRelayId(d);
this._otherServer = {realId: b, server: p, key: F}, this._id = `${b}@${p}`
} else this._id = this.handleRelayId(e);
if (this._options = (E = cu()[this._id]) != null ? E : this.getUserDefaultToggleOptions(), this._otherServer && !this._otherServer.key) {
const l = this.getOption("other-server-key");
l && (this._otherServer.key = l)
}
}
setSessionInfo(e) {
this._isFileTransfer = e.isFileTransfer, this._isViewCamera = e.isViewCamera, e.is_shared_password ? this._sharedPassword = e.password : this._presetPassword = e.password
}
async start() {
if (Ba(!1)) {
qr(), ma();
return
}
try {
ko(), await this._start()
} catch (e) {
this.msgbox("error", "Connection Error", e.type == "close" ? "Reset by the peer" : String(e))
}
}
getId() {
var e, i;
return (i = (e = this._otherServer) == null ? void 0 : e.realId) != null ? i : this._id
}
async _start() {
var F, b;
let e = this.getId(), i = Jt(), n = Gt(), a = (F = this._otherServer) == null ? void 0 : F.server;
this._otherServer && (i = this._otherServer.key, n = "");
let t = "";
a ? a == r4 ? t = Me(ia) : t = Me(a) : t = Ue(), this._options || (this._options = (b = cu()[this._id]) != null ? b : this.getUserDefaultToggleOptions()), this._interval = setInterval(() => {
var x;
for (; this._msgs.length;) (x = this._ws) == null || x.sendMessage(this._msgs[0]), this._msgs.splice(0, 1)
}, 1);
const s = new Ve(t, !0, "rendezvous");
this._ws = s, console.log(new Date + ": Connecting to rendezvous server: " + t + ", for " + e), await s.open(), console.log(new Date + ": Connected to rendezvous server");
const E = this._isFileTransfer ? je.FILE_TRANSFER : this._isViewCamera ? je.VIEW_CAMERA : je.DEFAULT_CONN,
l = bt.SYMMETRIC,
d = Hu.fromPartial({id: e, licence_key: i, conn_type: E, nat_type: l, token: n, version: c4});
s.sendRendezvous({punch_hole_request: d});
const c = await s.next();
s.close(), console.log(new Date + ": Got relay response");
const p = c.punch_hole_response, B = c.relay_response;
if (p) {
if (p != null && p.other_failure) {
this.msgbox("error", "Error", p == null ? void 0 : p.other_failure);
return
}
if (p.failure != $0.UNRECOGNIZED) switch (p == null ? void 0 : p.failure) {
case $0.ID_NOT_EXIST:
this.msgbox("error", "Error", "ID does not exist");
break;
case $0.OFFLINE:
this.msgbox("error", "Error", "Remote desktop is offline");
break;
case $0.LICENSE_MISMATCH:
this.msgbox("error", "Error", "Key mismatch");
break;
case $0.LICENSE_OVERUSE:
this.msgbox("error", "Error", "Key overuse");
break
}
} else if (B) {
if (!B.version) {
this.msgbox("error", "Error", "Remote version is low, not support web");
return
}
this._healthCheck = new vo(t, B.feedback, i, n), this._healthCheck.start(), await this.connectRelay(B, i)
}
}
async connectRelay(e, i) {
var d, c;
const n = e.pk;
let a = e.relay_server;
a ? a = Me(a, !0) : a = Ue(!0);
const t = e.uuid;
console.log(new Date + ": Connecting to relay server: " + a);
const s = new Ve(a, !1, "relay");
await s.open(), console.log(new Date + ": Connected to relay server"), this._ws = s;
const E = Ju.fromPartial({licence_key: i, uuid: t});
s.sendRendezvous({request_relay: E});
const l = await this.secure(n, i) || !1;
A("connection_ready", {secure: l, direct: !1}), this._updateInterval = setInterval(() => {
this.updateStatus()
}, 1e3), (d = this._ws) == null || d.on("message", this.msgHandler.bind(this)), (c = this._ws) == null || c.on("status_change", this.onStatusChange.bind(this))
}
async secure(e, i) {
var F, b, x, k, M, Se, ze, W4;
if (e) {
try {
if (e = await _4(e, i || Et), e) {
const T = D4.decode(e);
T.id == this.getId() && (e = T.pk)
}
(e == null ? void 0 : e.length) != 32 && (e = void 0)
} catch (T) {
console.error("Failed to verify id pk, ", T), e = void 0
}
e || console.error("Handshake failed: invalid public key from rendezvous server")
}
if (!e) {
const T = H.fromPartial({});
(F = this._ws) == null || F.sendMessage({public_key: T});
return
}
const n = await ((b = this._ws) == null ? void 0 : b.next());
let a = n == null ? void 0 : n.signed_id;
if (!a) {
console.error("Handshake failed: invalid message type");
const T = H.fromPartial({});
(x = this._ws) == null || x.sendMessage({public_key: T});
return
}
try {
a = await _4(a.id, Uint8Array.from(e))
} catch (T) {
console.error("Failed to verify signed id pk, ", T), console.error("pk mismatch, fall back to non-secure");
const Fa = H.fromPartial({});
(k = this._ws) == null || k.sendMessage({public_key: Fa});
return
}
const t = D4.decode(a), s = t.id, E = t.pk;
if (s != this.getId()) {
console.error("Handshake failed: sign failure");
const T = H.fromPartial({});
(M = this._ws) == null || M.sendMessage({public_key: T});
return
}
if (E.length != 32) {
console.error("Handshake failed: invalid public box key length from peer");
const T = H.fromPartial({});
(Se = this._ws) == null || Se.sendMessage({public_key: T});
return
}
const [l, d] = Ar(), c = mr(), p = Fr(c, E, l), B = H.fromPartial({asymmetric_value: d, symmetric_value: p});
return (ze = this._ws) == null || ze.sendMessage({public_key: B}), (W4 = this._ws) == null || W4.setSecretKey(c), console.log("secured"), !0
}
async msgHandler(e) {
var i;
if (this._ws) {
if (e != null && e.hash) await this.handleHash(e.hash); else if (e != null && e.test_delay) {
const n = e == null ? void 0 : e.test_delay;
n.from_client || (A("update_quality_status", {
delay: `${n.last_delay}`,
target_bitrate: `${n.target_bitrate}`
}), (i = this._ws) == null || i.sendMessage({test_delay: n}))
} else if (e != null && e.login_response) this.handleLoginResponse(e == null ? void 0 : e.login_response); else if (e != null && e.video_frame) this.handleVideoFrame(e == null ? void 0 : e.video_frame); else if (e != null && e.clipboard) P4(e == null ? void 0 : e.clipboard); else if (e != null && e.multi_clipboards) wo(e == null ? void 0 : e.multi_clipboards); else if (e != null && e.cursor_data) {
const n = e == null ? void 0 : e.cursor_data;
M4(n.colors, !1, a => {
a && (n.colors = a, A("cursor_data", n))
})
} else if (e != null && e.cursor_id) A("cursor_id", {id: e == null ? void 0 : e.cursor_id}); else if (e != null && e.cursor_position) A("cursor_position", e == null ? void 0 : e.cursor_position); else if (e != null && e.misc) this.handleMisc(e == null ? void 0 : e.misc); else if (e != null && e.audio_frame) hr(e == null ? void 0 : e.audio_frame.data); else if (e != null && e.message_box) this.handleMsgBox(e == null ? void 0 : e.message_box); else if (e != null && e.peer_info) this.handleSyncPeerInfo(e.peer_info); else if (e.file_response) await this.handleFileResponse(e.file_response); else if (e.file_action) {
const n = e.file_action;
await this.handleFileAction(n)
}
}
}
onStatusChange(e) {
if (e === "" || e === "open") return;
if (this._restartingRemoteDevice) {
this.msgbox("restarting", "Restarting remote device", "remote_restarting_tip", "");
return
}
if (e instanceof CloseEvent && e.code == 1e3 || !this._ws) return;
e && console.error("msgLoop error: ", e);
const i = "Connection Error";
let n = "";
if (e === "Timeout") n = "Connection timeout"; else if (e instanceof CloseEvent) {
let a = `code: ${e.code}`;
e.reason && (a += `, reason: ${e.reason}`), n = `Connection closed, ${a}`
} else e instanceof Error ? n = e.message : typeof e.toString == "function" ? n = e.toString() : n = "";
this.msgbox("error", i, n, "")
}
enterOrLeave(e) {
e === !1 ? (Co(), p4(), go(!1)) : (m4(), Xt(this))
}
makeDisplaysMsg(e) {
let i = [];
return e.forEach(n => {
let a = {};
a.x = n.x, a.y = n.y, a.width = n.width, a.height = n.height, a.cursor_embedded = n.cursor_embedded ? 1 : 0, n.original_resolution && (a.original_width = n.original_resolution.width, a.original_height = n.original_resolution.height), a.scale = Math.floor(n.scale * 100), i.push(a)
}), JSON.stringify(i)
}
handleSyncPeerInfo(e) {
this._peerInfo && (this._peerInfo.displays = e.displays), A("sync_peer_info", {displays: this.makeDisplaysMsg(e.displays)}), A("sync_platform_additions", {platform_additions: e.platform_additions})
}
handleMsgBox(e) {
let i = e.link;
i in at ? i = at[i] : (console.warn("Message box ignore link " + i + " for security"), i = ""), this.msgbox(e.msgtype, e.title, e.text, i)
}
updateStatus() {
var s, E;
const e = new Date().getTime(), i = e - this._updateTs;
if (i < 1e3) return;
this._updateTs = e;
const n = ((s = this._ws) == null ? void 0 : s.getRecvDataCount()) || 0;
(E = this._ws) == null || E.resetRecvDataCount();
const a = `${(n / 1024 / i * 1e3).toFixed(2)} kb/s`, t = {};
for (const l in this._frameCount) if (this._frameCount.hasOwnProperty(l)) {
const d = this._frameCount[l];
t[l] = Math.floor(d / (i / 1e3))
}
this._frameCount = {}, A("update_quality_status", {speed: a, fps: JSON.stringify(t)})
}
handleLoginResponse(e) {
const i = {
[dn]: {
msgtype: "error",
title: "Login Error",
text: "Login screen using Wayland is not supported",
link: "https://rustdesk.com/docs/en/manual/linux/#login-screen",
try_again: !0
},
[un]: {msgtype: "session-login", title: "", text: "", link: "", try_again: !0},
[en]: {msgtype: "session-re-login", title: "", text: "", link: "", try_again: !0},
[tn]: {
msgtype: "info-nocancel",
title: "another_user_login_title_tip",
text: "another_user_login_text_tip",
link: "",
try_again: !1
},
[an]: {
msgtype: "info-nocancel",
title: "xorg_not_found_title_tip",
text: "xorg_not_found_text_tip",
link: "https://rustdesk.com/docs/en/manual/linux/#login-screen",
try_again: !0
},
[nn]: {
msgtype: "info-nocancel",
title: "no_desktop_title_tip",
text: "no_desktop_text_tip",
link: "https://rustdesk.com/docs/en/manual/linux/#login-screen",
try_again: !0
},
[on]: {msgtype: "session-login-password", title: "", text: "", link: "", try_again: !0},
[rn]: {msgtype: "session-login-re-password", title: "", text: "", link: "", try_again: !0},
[Dn]: {
msgtype: "wait-remote-accept-nook",
title: "Prompt",
text: "Please wait for the remote side to accept your session request...",
link: "",
try_again: !0
}
}, n = e.error;
if (n) if (n == tt && (this._enableTrustedDevices = e.enable_trusted_devices), n == sn && (this._password = void 0, this.msgbox("input-password", "Password Required", "", "")), n == En) this._password = void 0, this.msgbox("re-input-password", n, "Do you want to enter again?"); else if (n == ln || n == tt) this.getOption(Ie) == "Y" && this.setOption(Ie, void 0), this.msgbox("input-2fa", n, ""); else if (n in i) {
const a = i[n];
this.msgbox(a.msgtype, a.title, a.text, a.link)
} else n.includes(cn) ? this.msgbox("error", "Login Error", n, St) : this.msgbox("error", "Login Error", n); else e.peer_info && (this._firstFrame = !1, this.handlePeerInfo(e.peer_info))
}
enableTrustedDevices() {
return this._enableTrustedDevices
}
msgbox(e, i, n, a = "") {
var t;
(t = this._msgbox) == null || t.call(this, e, i, n, a)
}
cancelMsgbox(e) {
A("cancel_msgbox", {tag: e})
}
draw(e, i) {
F4(e, new Uint8Array(i.data))
}
close() {
var e, i;
this._msgs = [], this._interval && (clearInterval(this._interval), this._interval = void 0), this._updateInterval && (clearInterval(this._updateInterval), this._updateInterval = void 0), this._ftTimer && (clearTimeout(this._ftTimer), this._ftTimer = void 0), (e = this._ws) == null || e.close(), this._ws = void 0, (i = this._healthCheck) == null || i.close(), this._healthCheck = void 0, this._readJobs = [], this._writeJobs = [], this._removeJobs = {}, this._fileHandles = {}, this._readRemoteEmptyDirsJobs = [], p4(), this._lastChangeDisplay = void 0, this._lastSendFps = void 0, this._videoQueue = [], this._decodingVideo = !1
}
refresh() {
var i;
const e = f.fromPartial({refresh_video: !0});
(i = this._ws) == null || i.sendMessage({misc: e})
}
setMsgbox(e) {
this._msgbox = e
}
setDraw(e) {
this._draw = e
}
async handleHash(e) {
this._hash = e;
let i = this._password;
(!i || i.length === 0) && this._presetPassword && (i = Qu([this._presetPassword, e.salt]), this._passwordSource = {type: "Undefined"});
let n = this._sharedPassword;
if (this._sharedPassword = void 0, n && (i = Qu([n, e.salt]), this._passwordSource = {
type: "SharedAb",
value: n
}), !i || i.length === 0) {
const E = this.getOption("password");
typeof E == "string" && E.length > 0 && (i = Be(E), this._passwordSource = {type: "Undefined"})
}
if (!i || i.length === 0) {
let E = f4("access_token"), l = await Mt();
if (E && E === l.access_token) {
let d = l.ab_entries.find(c => qn(c));
if (d) {
let c = d.peers.find(p => p.id == this._id);
if (c) {
let p = Be(c.hash);
p.length > 0 && (i = p, this._passwordSource = {type: "PersonalAb", value: p})
}
}
}
}
this._password = i;
let a;
!i || i.length === 0 ? (a = new Uint8Array(0), this.msgbox("input-password", "Password Required", "")) : a = Qu([i, e.challenge]);
let t = this.getOption("os-username") || "", s = this.getOption("os-password") || "";
this._sendLoginMessage({os_login: {username: t, password: s}, password: a})
}
handle_login_from_ui(e, i, n, a) {
let t;
if (n === "") {
let E = this._password;
if (!E || E.length === 0) {
const l = this.getOption("password");
typeof l == "string" && l.length > 0 && (E = Be(l), this._passwordSource = {type: "Undefined"})
}
t = E
} else this._passwordSource = {type: "Undefined"}, t = Qu([n, this._hash.salt]), this.setRemember(a);
this._password = t;
let s = Qu([t != null ? t : Uint8Array.from([]), this._hash.challenge]);
this._sendLoginMessage({os_login: {username: e, password: i}, password: s})
}
changePreferCodec() {
var a;
const e = this.getSupportedDecoding(), i = R.fromPartial({supported_decoding: e}),
n = f.fromPartial({option: i});
(a = this._ws) == null || a.sendMessage({misc: n})
}
async reconnect() {
this.close(), await this.start()
}
_getHwid(e = void 0) {
return (e != null ? e : this.getOption(Ie) == "Y") ? $n() : new Uint8Array
}
_sendLoginMessage(e) {
var d;
const i = this._otherServer ? `${qe()}@${Ue()}` : qe(), n = io();
let a = qt();
if (n) try {
const c = JSON.parse(n);
c.name && (a = c.name)
} catch (c) {
console.error("Failed to get user info, ", c)
}
let t;
if (this._isFileTransfer) {
let c = this.getOption("remote_dir"), p = this.getOption("remote_show_hidden") === "Y";
t = Fu.fromPartial({dir: c, show_hidden: p})
}
let s;
this._isViewCamera && (s = _u.fromPartial({}));
const E = this._getHwid(), l = J.fromPartial({
username: this.getId(),
my_id: i,
my_name: a,
session_id: this._sessionId,
password: e.password,
option: this.getOptionMessage(),
video_ack_required: !0,
os_login: e.os_login,
version: c4,
my_platform: vn,
file_transfer: t,
view_camera: s,
hwid: E
});
(d = this._ws) == null || d.sendMessage({login_request: l})
}
getOptionMessage() {
if (this._isFileTransfer) return;
let e = 0;
const i = R.fromPartial({}), n = this.getImageQuality(), a = this.getImageQualityEnum(n, !0), t = y.Yes;
if (a != null) i.image_quality = a, e += 1; else if (n === "custom") {
let E = 50, l = this.getOption("custom_image_quality");
if (l) try {
E = parseInt(l)
} catch {
}
i.custom_image_quality = E << 8, e += 1;
let d = this.getOption("custom-fps");
if (d) try {
i.custom_fps = parseInt(d), this._lastSendFps = i.custom_fps, e += 1
} catch {
}
}
const s = this.getOption("view-only");
return s && (i.disable_keyboard = t), (s || this._options["show-remote-cursor"]) && (i.show_remote_cursor = t, e += 1), this._options["follow-remote-cursor"] && (i.follow_remote_cursor = t, e += 1), this._options["follow-remote-window"] && (i.follow_remote_window = t, e += 1), !s && this._options["lock-after-session-end"] && (i.lock_after_session_end = t, e += 1), this._options["disable-audio"] && (i.disable_audio = t, e += 1), (s || this._options["disable-clipboard"]) && (i.disable_clipboard = t, e += 1), i.supported_decoding = this.getSupportedDecoding(), e += 1, e > 0 ? i : void 0
}
sendVideoReceived() {
var i;
const e = f.fromPartial({video_received: !0});
(i = this._ws) == null || i.sendMessage({misc: e})
}
getCodecFormat(e) {
return e.vp9s ? "VP9" : e.vp8s ? "VP8" : e.av1s ? "AV1" : e.h264s ? "H264" : e.h265s ? "H265" : "Unknown"
}
getSupportedEncoding() {
return this._supportedEncoding
}
getSupportedDecoding() {
let e = this.getOption("codec-preference");
e == "vp8" ? e = mu.VP8 : e == "vp9" ? e = mu.VP9 : e == "av1" ? e = mu.AV1 : e == "h264" ? e = mu.H264 : e == "h265" ? e = mu.H265 : e = mu.Auto;
let i = this.getOption("i444") == "Y" ? l4.I444 : l4.I420;
return qu.fromPartial({
ability_vp8: 1,
ability_vp9: 1,
ability_av1: 1,
ability_h264: 1,
ability_h265: 1,
prefer: e,
prefer_chroma: i,
i444: G.fromPartial({vp9: !0, av1: !0})
})
}
getAlternativeCodecs() {
const e = this.getSupportedEncoding(), i = this.getSupportedDecoding();
return JSON.stringify({
vp8: e.vp8 && i.ability_vp8 == 1,
av1: e.av1 && i.ability_av1 == 1,
h264: e.h264 && i.ability_h264 == 1,
h265: e.h265 && i.ability_h265 == 1
})
}
fpsCalculate(e, i) {
if (e) {
this._fpsCalc.skipBegining = 0, this._fpsCalc.videoTestSpeed = [0, 0];
return
}
if (this._fpsCalc.skipBegining < 3) {
this._fpsCalc.skipBegining += 1;
return
}
this._fpsCalc.videoTestSpeed[1] += i, this._fpsCalc.videoTestSpeed[0] += 1, this._fpsCalc.videoTestSpeed[0] % 10 == 0 && i > 0 && (this._fpsCalc.fps = Math.floor(this._fpsCalc.videoTestSpeed[0] * 1e3 / this._fpsCalc.videoTestSpeed[1]), console.log("max decode fps: " + this._fpsCalc.fps)), this._fpsCalc.videoTestSpeed[0] >= 30 && (this._fpsCalc.videoTestSpeed = [0, 0])
}
handleVideoFrame(e) {
if (!this._firstFrame) {
this.msgbox("", "", ""), this._firstFrame = !0, this.sendToggleVirtualDisplayMsg(), this.sendTogglePrivacyModeMsg(), m4();
const i = 0;
for (let n = 0; n < i; n++) this.sendVideoReceived();
console.log(`send ${i} video received in advance for high fps`)
}
this._videoQueue.push(e), this._decodingVideo || this.processVideoQueue()
}
async processVideoQueue() {
this._decodingVideo = !0;
try {
for (; this._videoQueue.length > 0;) await this.handleOneVideoFrame(this._videoQueue.shift())
} catch (e) {
console.error("deal video queue failed", e)
}
this._decodingVideo = !1
}
async handleOneVideoFrame(e) {
const i = this.getCodecFormat(e), n = this._videoFormat != i;
n && (this._videoFormat = i, A("update_quality_status", {codec_format: i}));
var a = new Date().getTime(), t = 0, s = void 0;
if (e.vp8s) t = 0, s = e.vp8s; else if (e.vp9s) t = 1, s = e.vp9s; else if (e.av1s) t = 2, s = e.av1s; else if (e.h264s) t = 3, s = e.h264s; else if (e.h265s) t = 4, s = e.h265s; else {
console.log("unknown codec");
return
}
const E = s == null ? void 0 : s.frames.length;
this._frameCount[e.display] = (this._frameCount[e.display] || 0) + E, this.sendVideoReceived();
try {
for (let l = 0; l < E; l++) {
let d = s.frames[l];
const c = await Ya(t, d.data.slice(0).buffer);
if (c.data && E - 1 == l) {
this.draw(e.display, c.data);
const p = new Date().getTime();
this.fpsCalculate(n, p - a);
const B = c.data.yuvFormat == 5;
this._i444 != B && (this._i444 = B, A("update_quality_status", {chroma: B ? "4:4:4" : "4:2:0"}))
}
}
} catch (l) {
console.error("decode error: ", l)
}
}
sendToggleVirtualDisplayMsg() {
if (!this.isSupportVirtualDisplay()) return;
const e = this.getOption("virtual-display");
!e || e.split(",").forEach(i => {
const n = Number(i);
isNaN(n) || this._sendToggleVirtualDisplayMsg(n, !0)
})
}
sendTogglePrivacyModeMsg() {
if (!!this._peerInfo && !(L(this._peerInfo.version) < L("1.2.4")) && this.getOption("privacy-mode")) {
const e = this.getOption("privacy-mode-impl-key");
if (e == "privacy_mode_impl_virtual_display" && this.isSupportVirtualDisplay()) return;
this._sendTogglePrivacyModeMsg(e, !0)
}
}
handlePeerInfo(e) {
var a, t, s;
if (this._peerInfo = e, this._isViewCamera && !this.isSupportViewCamera()) {
L(e.version) < L("1.3.9") && (e.platform == "Windows" || e.platform == "Linux") ? this.msgbox("error", "Download new version", "upgrade_remote_rustdesk_client_to_{1.3.9}_tip") : this.msgbox("error", "Error", "view_camera_unsupported_tip"), this.lcHandlePeerInfo(e), this.close();
return
}
if (e.current_display > e.displays.length && (e.current_display = 0), L(e.version) < L("1.1.10") && this.setPermission("restart", !1), this._isFileTransfer) {
if (!e.username.length && !((a = e.windows_sessions) != null && a.sessions.length)) {
this.msgbox("error", "Error", "No active console user logged on, please connect and logon first.");
return
}
} else if (e.displays.length == 0) {
this.lcHandlePeerInfo(e), A("update_privacy_mode", {}), this.msgbox("error", "Remote Error", "No Display");
return
}
A("peer_info", {
...e,
displays: this.makeDisplaysMsg(e.displays),
resolutions: JSON.stringify(e.resolutions)
}), this._isFileTransfer || (this.msgbox("success", "Successful", "Connected, waiting for image..."), this.tryChangeInitResolution(e.current_display));
const i = this.shouldAutoLogin();
i && this.inputOsPassword(i);
const n = (t = this.getOption("info")) == null ? void 0 : t.username;
n && !e.username && (e.username = n), A("update_privacy_mode", {}), this.lcHandlePeerInfo(e), (s = e.windows_sessions) != null && s.sessions.length && (this._selectedWindowsSessionId == e.windows_sessions.current_sid ? this.sendSelectedSessionId(e.windows_sessions.current_sid.toString()) : this.setMultipleWindowsSession(e.windows_sessions.sessions))
}
lcHandlePeerInfo(e) {
var E;
let i = C4(this._id) || {};
i.info = {username: e.username, hostname: e.hostname, platform: e.platform};
let n = this._password, a = i.password, t = this.getRemember(), s = this._hash;
t ? n && n.length > 0 && Q(n) !== a && !mt(this._passwordSource, n, s) && (i.password = Q(n), console.log("remember password of " + this._id)) : n && n.length > 0 && Ft(this._passwordSource, n) ? (i.password = Q(n), console.log("save ab password of " + this._id + " to recent")) : a && (i.password = void 0, console.log("remove password of " + this._id)), (E = this._otherServer) != null && E.server && this._otherServer.server != r4 && this.setOption("other-server-key", this._otherServer.key), i.password && n && n.length > 0 && !mt(this._passwordSource, n, s) && !Ft(this._passwordSource, n) && A("sync_peer_hash_password_to_personal_ab", {
id: this._id,
hash: Q(n)
}), this.saveConfig(i), e.encoding && (this._supportedEncoding = e.encoding)
}
setPermission(e, i) {
A("permission", {[e]: i})
}
shouldAutoLogin() {
const e = this.getOption("lock-after-session-end"), i = !!this.getOption("auto-login"),
n = this.getOption("os-password");
return n && e && i ? n : ""
}
handleMisc(e) {
if (e.audio_format) kr(e.audio_format.channels, e.audio_format.sample_rate); else if (e.chat_message) A("chat_client_mode", {text: e.chat_message.text}); else if (e.permission_info) {
const i = e.permission_info;
console.info("Change permission " + i.permission + " -> " + i.enabled);
let n;
switch (i.permission) {
case a0.Keyboard:
this._serverPerms.keyboardEnabled = i.enabled, n = "keyboard";
break;
case a0.Clipboard:
this._serverPerms.clipboardEnabled = i.enabled, n = "clipboard";
break;
case a0.Audio:
n = "audio";
break;
case a0.Restart:
n = "restart";
break;
case a0.BlockInput:
n = "block_input";
break;
default:
return !0
}
this.setPermission(n, i.enabled)
} else if (e.switch_display) A("switch_display", e.switch_display), this.setCustomResolution(e.switch_display); else {
if (e.close_reason) return this.msgbox("error", "Connection Error", e.close_reason), this.close(), !1;
if (e.back_notification) {
if (!this.handleBackNotification(e.back_notification)) return this.close(), !1
} else e.uac !== void 0 ? e.uac && this._serverPerms.keyboardEnabled ? this.msgbox("on-uac", "Prompt", "Please wait for confirmation of UAC...", "") : (this.cancelMsgbox("on-uac"), this.cancelMsgbox("wait-uac"), this.cancelMsgbox("elevation-error")) : e.foreground_window_elevated !== void 0 ? e.foreground_window_elevated && this._serverPerms.keyboardEnabled ? this.msgbox("on-foreground-elevated", "Prompt", "elevated_foreground_window_tip", "") : (this.cancelMsgbox("on-foreground-elevated"), this.cancelMsgbox("wait-uac"), this.cancelMsgbox("elevation-error")) : e.elevation_response !== void 0 ? e.elevation_response === "" ? this.msgbox("wait-uac", "", "", "") : (this.cancelMsgbox("wait-uac"), this.msgbox("elevation-error", "Elevation Error", e.elevation_response, "")) : e.portable_service_running !== void 0 ? (this.portableServiceRunning(e.portable_service_running), this._elevationRequested && e.portable_service_running && this.msgbox("custom-nocancel-success", "Successful", "Elevate successfully", "")) : e.supported_encoding ? this._supportedEncoding = e.supported_encoding : e.follow_current_display !== void 0 && this.handleFollowCurrentDisplay(e.follow_current_display)
}
return !0
}
portableServiceRunning(e) {
A("portable_service_running", {running: e.toString()})
}
handleFollowCurrentDisplay(e) {
A("follow_current_display", {display_idx: e.toString()})
}
handleBackNotification(e) {
if (e.block_input_state) this.handleBackMsgBlockInput(e.block_input_state, e.details); else if (e.privacy_mode_state) return this.handleBackMsgPrivacyMode(e.privacy_mode_state, e.details, e.impl_key);
return !0
}
updateBlockInputState(e) {
A("update_block_input_state", {input_state: e ? "on" : "off"})
}
handleBackMsgBlockInput(e, i) {
switch (e) {
case ge.BlkOnSucceeded:
this.updateBlockInputState(!0);
break;
case ge.BlkOnFailed:
this.msgbox("custom-error", "Block user input", i == "" ? "Failed" : i, ""), this.updateBlockInputState(!1);
break;
case ge.BlkOffSucceeded:
this.updateBlockInputState(!1);
break;
case ge.BlkOffFailed:
this.msgbox("custom-error", "Unblock user input", i == "" ? "Failed" : i, "");
break
}
}
updatePrivacyMode(e, i) {
i && (e == "" && (e = "privacy_mode_impl_mag"), this.setOption("privacy-mode-impl-key", e)), this.setOption("privacy-mode", i), A("update_privacy_mode", {})
}
handleBackMsgPrivacyMode(e, i, n) {
switch (e) {
case nu.PrvOnByOther:
return this.msgbox("error", "Connecting...", "Someone turns on privacy mode, exit", ""), !1;
case nu.PrvNotSupported:
this.msgbox("custom-error", "Privacy mode", "Unsupported", ""), this.updatePrivacyMode(n, !1);
break;
case nu.PrvOnSucceeded:
this.msgbox("custom-nocancel", "Privacy mode", "Enter privacy mode", ""), this.updatePrivacyMode(n, !0);
break;
case nu.PrvOnFailedDenied:
this.msgbox("custom-error", "Privacy mode", "Peer denied", ""), this.updatePrivacyMode(n, !1);
break;
case nu.PrvOnFailedPlugin:
this.msgbox("custom-error", "Privacy mode", "Please install plugins", ""), this.updatePrivacyMode(n, !1);
break;
case nu.PrvOnFailed:
this.msgbox("custom-error", "Privacy mode", i == "" ? "Failed" : i, ""), this.updatePrivacyMode(n, !1);
break;
case nu.PrvOffSucceeded:
this.msgbox("custom-nocancel", "Privacy mode", "Exit privacy mode", ""), this.updatePrivacyMode(n, !1);
break;
case nu.PrvOffFailed:
this.msgbox("custom-error", "Privacy mode", i == "" ? "Failed to turn off" : i, "");
break;
case nu.PrvOffUnknown:
this.msgbox("custom-error", "Privacy mode", "Turned off", ""), this.updatePrivacyMode(n, !1);
break
}
return !0
}
getRemember() {
return this._options.remember || !1
}
setRemember(e) {
this.setOption("remember", e)
}
getOption(e) {
var i;
return (i = this._options[e]) != null ? i : e0(e)
}
getUserDefaultToggleOptions() {
const e = {}, i = {
"show-remote-cursor": "show_remote_cursor",
"lock-after-session-end": "lock_after_session_end",
"privacy-mode": "privacy_mode",
"enable-file-copy-paste": "enable-file-copy-paste",
"disable-audio": "disable_audio",
"disable-clipboard": "disable_clipboard",
"show-quality-monitor": "show_quality_monitor",
allow_swap_key: "allow_swap_key",
"view-only": "view_only",
"follow-remote-cursor": "follow_remote_cursor",
"follow-remote-window": "follow_remote_window"
};
for (const [a, t] of Object.entries(i)) e[a] = e0(t) == "Y";
const n = ["codec-preference", "custom-fps", "zoom-cursor", "touch-mode", "i444", "swap-left-right-mouse", "collapse_toolbar"];
for (const a of n) e[a] = e0(a);
return e
}
getToggleOption(e) {
const i = ["show-remote-cursor", "privacy-mode", "enable-file-copy-paste"], n = this._options[e];
return typeof n == "string" ? n != "" : n != null ? n : !!i.includes(e)
}
getStatus() {
return JSON.stringify({status_num: 10})
}
checkConnStatus() {
}
saveConfig(e) {
this._options = e, this._options.tm = new Date().getTime(), Tn(this._id, e)
}
loadConfig() {
return C4(this._id) || {}
}
setOption(e, i) {
i == null ? delete this._options[e] : this._options[e] = i, this._options.tm = new Date().getTime(), jt(this._id, e, i)
}
setFlutterUiOption(e, i) {
this.setOption(`flutter_ui:${e}`, i)
}
getFlutterUiOption(e) {
return this.getOption(`flutter_ui:${e}`)
}
inputKey(e, i, n, a, t, s, E) {
var d;
const l = Qn(e, Cr());
!l || (a && (e == "VK_MENU" || e == "RAlt") && (a = !1), t && (e == "VK_CONTROL" || e == "RControl") && (t = !1), s && (e == "VK_SHIFT" || e == "RShift") && (s = !1), E && (e == "Meta" || e == "RWin") && (E = !1), l.down = i, l.press = n, l.modifiers = this.getMod(a, t, s, E), (d = this._ws) == null || d.sendMessage({key_event: l}))
}
ctrlAltDel() {
var i, n;
const e = S.fromPartial({down: !0});
((i = this._peerInfo) == null ? void 0 : i.platform) == "Windows" ? e.control_key = j.CtrlAltDel : (e.control_key = j.Delete, e.modifiers = this.getMod(!0, !0, !1, !1)), (n = this._ws) == null || n.sendMessage({key_event: e})
}
restart() {
var i;
this._restartingRemoteDevice = !0;
const e = f.fromPartial({});
e.restart_remote_device = !0, (i = this._ws) == null || i.sendMessage({misc: e})
}
inputString(e) {
var n;
const i = S.fromPartial({seq: e});
(n = this._ws) == null || n.sendMessage({key_event: i})
}
send2fa(e) {
var i;
try {
const n = JSON.parse(e), a = n.code, t = n.trust_this_device;
t && this.setOption(Ie, "Y");
const s = this._getHwid(t), E = vu.fromPartial({code: a, hwid: s});
(i = this._ws) == null || i.sendMessage({auth_2fa: E})
} catch {
console.log('Failed to switch display, invalid param "' + e + '"')
}
}
_captureDisplays({add: e, sub: i, set: n}) {
var s;
const a = Lu.fromPartial({add: e, sub: i, set: n}), t = f.fromPartial({capture_displays: a});
(s = this._ws) == null || s.sendMessage({misc: t})
}
switchDisplay(e) {
var i;
try {
const n = JSON.parse(e), a = n.value, t = n.isDesktop;
if (a.length == 1) {
let s = this.getCustomResolution(a[0]);
const E = Mu.fromPartial({display: a[0], width: s ? s[0] : void 0, height: s ? s[1] : void 0}),
l = f.fromPartial({switch_display: E});
(i = this._ws) == null || i.sendMessage({misc: l}), t || this._captureDisplays({set: a})
} else this._captureDisplays({set: a})
} catch {
console.log('Failed to switch display, invalid param "' + e + '"')
}
}
elevateDirect() {
var n;
const e = pu.fromPartial({direct: !0}), i = f.fromPartial({elevation_request: e});
(n = this._ws) == null || n.sendMessage({misc: i}), this._elevationRequested = !0
}
elevateWithLogon(e) {
var i;
try {
const n = JSON.parse(e), a = Ku.fromPartial({username: n.username, password: n.password}),
t = pu.fromPartial({logon: a}), s = f.fromPartial({elevation_request: t});
(i = this._ws) == null || i.sendMessage({misc: s}), this._elevationRequested = !0
} catch {
console.log('Failed to elevate with logon, invalid param "' + e + '"')
}
}
async inputOsPassword(e) {
var a, t;
this.inputMouse(), await s4(50), this.inputMouse(0, 3, 3), await s4(50), this.inputMouse(1 | 1 << 3), this.inputMouse(2 | 1 << 3), await s4(1200);
const i = S.fromPartial({press: !0, seq: e});
(a = this._ws) == null || a.sendMessage({key_event: i});
const n = S.fromPartial({press: !0, control_key: j.Return});
(t = this._ws) == null || t.sendMessage({key_event: n})
}
lockScreen() {
var i;
const e = S.fromPartial({down: !0, control_key: j.LockScreen});
(i = this._ws) == null || i.sendMessage({key_event: e})
}
isSwapControlCommand() {
return this.getToggleOption("allow_swap_key")
}
getMod(e, i, n, a) {
const t = [];
return e && t.push(j.Alt), i && (this.isSwapControlCommand() ? t.push(j.Meta) : t.push(j.Control)), n && t.push(j.Shift), a && (this.isSwapControlCommand() ? t.push(j.Control) : t.push(j.Meta)), t
}
inputMouse(e = 0, i = 0, n = 0, a = !1, t = !1, s = !1, E = !1) {
var d;
const l = ku.fromPartial({mask: e, x: i, y: n, modifiers: this.getMod(a, t, s, E)});
(d = this._ws) == null || d.sendMessage({mouse_event: l})
}
toggleOption(e) {
var s;
const i = !this._options[e], n = R.fromPartial({}), a = i ? y.Yes : y.No;
switch (e) {
case"show-remote-cursor":
n.show_remote_cursor = a;
break;
case"follow-remote-cursor":
n.follow_remote_cursor = a;
break;
case"follow-remote-window":
n.follow_remote_window = a;
break;
case"disable-audio":
n.disable_audio = a;
break;
case"disable-clipboard":
n.disable_clipboard = a;
break;
case"lock-after-session-end":
n.lock_after_session_end = a;
break;
case"privacy-mode":
n.privacy_mode = a;
break;
case"enable-file-copy-paste":
n.enable_file_transfer = a;
break;
case"block-input":
n.block_input = y.Yes;
break;
case"unblock-input":
n.block_input = y.No;
break;
case"show-quality-monitor":
case"allow_swap_key":
break;
case"view-only":
i ? (n.disable_keyboard = y.Yes, n.disable_clipboard = y.Yes, n.show_remote_cursor = y.Yes, n.enable_file_transfer = y.No, n.lock_after_session_end = y.No) : (n.disable_keyboard = y.No, n.disable_clipboard = this.getToggleOption("disable-clipboard") ? y.Yes : y.No, n.show_remote_cursor = this.getToggleOption("show-remote-cursor") ? y.Yes : y.No, n.enable_file_transfer = this.getToggleOption("enable-file-copy-paste") ? y.Yes : y.No, n.lock_after_session_end = this.getToggleOption("lock-after-session-end") ? y.Yes : y.No);
break;
default:
this.setOption(e, this._options[e] ? void 0 : "Y");
return
}
e.indexOf("block-input") < 0 && this.setOption(e, i);
const t = f.fromPartial({option: n});
(s = this._ws) == null || s.sendMessage({misc: t})
}
toggleVirtualDisplay(e) {
try {
const i = JSON.parse(e);
this._sendToggleVirtualDisplayMsg(i.index, i.on), this.updateVirtualDisplay(i.index, i.on)
} catch {
console.log('Failed to toggle virtual display, invalid param "' + e + '"')
}
}
togglePrivacyMode(e) {
try {
const i = JSON.parse(e);
this._sendTogglePrivacyModeMsg(i.impl_key, i.on)
} catch {
console.log('Failed to toggle privacy mode, invalid param "' + e + '"')
}
}
_sendToggleVirtualDisplayMsg(e, i) {
var t;
const n = Wu.fromPartial({display: e, on: i}), a = f.fromPartial({toggle_virtual_display: n});
(t = this._ws) == null || t.sendMessage({misc: a})
}
_sendTogglePrivacyModeMsg(e, i) {
var t;
const n = Vu.fromPartial({impl_key: e, on: i}), a = f.fromPartial({toggle_privacy_mode: n});
(t = this._ws) == null || t.sendMessage({misc: a})
}
updateVirtualDisplay(e, i) {
const n = "virtual-display", a = this.getOption(n);
if (i) {
const t = a.split(","), s = t.length;
e == 0 ? t.splice(0, t.length) : t.indexOf(e.toString()) < 0 && t.push(e.toString()), t.length != s && this.setOption(n, t.join(","))
} else if (e == -1) a != "" && this.setOption(n, ""); else {
const t = a.split(","), s = t.length;
if (e == 0) t.pop(); else {
const E = t.indexOf(e.toString());
E >= 0 && t.splice(E, 1)
}
t.length != s && this.setOption(n, t.join(","))
}
}
getImageQuality() {
return this.getOption("image_quality")
}
getImageQualityEnum(e, i) {
switch (e) {
case"low":
return Te.Low;
case"best":
return Te.Best;
case"balanced":
return i ? void 0 : Te.Balanced;
default:
return
}
}
setImageQuality(e) {
var t;
this.setOption("image_quality", e);
const i = this.getImageQualityEnum(e, !1);
if (i == null) return;
const n = R.fromPartial({image_quality: i}), a = f.fromPartial({option: n});
(t = this._ws) == null || t.sendMessage({misc: a}), this._lastSendFps != 30 && this.setCustomFps(30, !1)
}
setCustomImageQuality(e) {
var t;
const i = e << 8, n = R.fromPartial({custom_image_quality: i}), a = f.fromPartial({option: n});
(t = this._ws) == null || t.sendMessage({misc: a}), this.setOption("custom_image_quality", e.toString()), this.setOption("image_quality", "custom")
}
setCustomFps(e, i) {
var s;
const n = e, a = R.fromPartial({custom_fps: n}), t = f.fromPartial({option: a});
(s = this._ws) == null || s.sendMessage({misc: t}), this._lastSendFps = n, i && this.setOption("custom-fps", e.toString())
}
sendNote(e, i) {
let n = i;
fetch(e, {
method: "POST",
headers: {"Content-Type": "application/json"},
body: JSON.stringify({id: this._id, session_id: this._sessionId, note: n})
}).then(a => {
if (!a.ok) throw new Error(a.statusText);
return a.text()
}).then(a => {
console.log("Send note response:", a)
}).catch(a => {
console.error("Failed to send note:", a)
})
}
getPlatform() {
var e;
return ((e = this._peerInfo) == null ? void 0 : e.platform) || ""
}
async handleFileResponse(e) {
var i, n;
if (e.dir) {
let a = e.dir, t = a.entries;
if (!he() && this.getPeerPlatform() == "Windows") for (let s = 0; s < t.length; s++) t[s].name = t[s].name.replace(/\\/g, "/");
pt(a.id, t, a.path, !1, !1), this._writeJobs.forEach(s => {
s.id == a.id && (s.files = t)
}), this._removeJobs[a.id] && (this._removeJobs[a.id].files = t)
} else if (e.empty_dirs != null) {
const a = e.empty_dirs;
for (let t = 0; t < this._readRemoteEmptyDirsJobs.length; t++) this._readRemoteEmptyDirsJobs[t].path == a.path && (this._readRemoteEmptyDirsJobs[t].empty_dirs = a.empty_dirs.map(s => s.path))
} else if (e.block) {
const a = e.block, t = this._writeJobs.find(s => s.id == a.id);
if (t) try {
await t.write(a, () => {
console.log(`cancel job ${t.id} due to write failed`), this.cancelJob(t.id)
})
} catch (s) {
console.log("write file failed", s)
}
this.update_jobs_status()
} else if (e.digest) {
const a = e.digest;
if (a.is_upload) {
const t = this._readJobs.find(s => s.id == a.id);
if (t) {
const s = t.read_digest(a);
s && ((i = this._ws) == null || i.sendMessage(s))
}
} else {
const t = this._writeJobs.find(s => s.id == a.id);
if (t) {
const s = t.write_digest(a);
s && ((n = this._ws) == null || n.sendMessage(s))
}
}
} else if (e.done) {
const a = e.done, t = this._writeJobs.find(E => E.id == a.id);
let s;
t && (t.write_done(a, () => this._readRemoteEmptyDirsJobs.find(E => E.id == a.id), () => this.removeReadRemoteEmptryDirJob(a.id)), s = t.job_error(), this._writeJobs = this._writeJobs.filter(E => E.id != a.id)), this.handle_job_status(a.id, a.file_num, s)
} else if (e.error) {
const a = e.error;
this._writeJobs = this._writeJobs.filter(t => t.id != a.id), this.removeReadRemoteEmptryDirJob(a.id), this.handle_job_status(a.id, a.file_num, a.error)
}
}
removeReadRemoteEmptryDirJob(e) {
this._readRemoteEmptyDirsJobs = this._readRemoteEmptyDirsJobs.filter(i => i.id != e)
}
readRemoteDir(e) {
var i;
try {
const n = JSON.parse(e),
a = I.fromPartial({read_dir: fu.fromPartial({path: n.path, include_hidden: n.include_hidden})});
(i = this._ws) == null || i.sendMessage({file_action: a})
} catch (n) {
console.error("Failed to read remote dir:", n)
}
}
async sendFiles(e) {
var i;
try {
const n = JSON.parse(e), {
id: a,
path: t,
to: s,
file_num: E,
include_hidden: l,
is_remote: d,
is_dir: c
} = n, p = this.enableOverwriteDetection();
if (d) {
this._writeJobs.push(Eu.newWrite(a, t, s, E, l, d, [], p, c));
const B = zo(a, t, E, l);
(i = this._ws) == null || i.sendMessage({file_action: B}), c && this.enableEmptyDirs() && (this._readRemoteEmptyDirsJobs.find(F => F.id == a) == null && this._readRemoteEmptyDirsJobs.push(new So({
id: a,
path: t
})), this.sendMessage({file_action: Mo(t, l)}))
}
} catch (n) {
console.error("Failed to send files:", n)
}
}
async sendLocalFiles(e) {
try {
const i = JSON.parse(e), {
handle_index: n,
id: a,
path: t,
to: s,
file_num: E,
include_hidden: l,
is_remote: d
} = i, c = this.enableOverwriteDetection();
if (!d) try {
let p = this._fileHandles[n];
if (!p) throw new Error("Failed to get file handle");
let B = [], F = [];
if (p instanceof FileSystemFileHandle) {
let k = await p.getFile();
B = [V.fromPartial({
size: k.size,
entry_type: 4,
modified_time: Math.floor(k.lastModified / 1e3)
})], F = [p]
} else {
let k = await ua(p, "");
B = k.map(M => M.entry), F = k.map(M => M.handle)
}
let b = Eu.newRead(a, t, s, E, l, d, B, c, F);
pt(a, B, t, !d, !0), this._readJobs.push(b), this._ftTimer || (this._ftTimer = setTimeout(this.readJobTimerCallback.bind(this), At));
let x = [...B];
if (he() && this.getPeerPlatform() != "Windows") for (let k = 0; k < x.length; k++) x[k].name = x[k].name.replace(/\\/g, "/");
if (this.sendMessage({file_action: No(a, s, E, x, b.total_size)}), this.enableEmptyDirs()) {
const k = await ea(p, p.name);
k.length > 0 && A("send_emptry_dirs", {dirs: k})
}
} catch (p) {
console.error("Failed to send files:", p), this.handle_job_status(a, -1, (p != null ? p : "Failed to send files").toString())
}
} catch (i) {
console.error("Failed to send files:", i)
}
}
async readJobTimerCallback() {
let e = await Ko(this._readJobs, this.sendMessage.bind(this));
this._readJobs = this._readJobs.filter(i => !e.includes(i.id)), this.update_jobs_status(), this._readJobs.length == 0 ? (clearTimeout(this._ftTimer), this._ftTimer = void 0) : this._ftTimer = setTimeout(this.readJobTimerCallback.bind(this), At)
}
update_jobs_status() {
const e = new Date().getTime() - this._last_update_jobs_ms;
e >= 1e3 && (this._readJobs.forEach(i => {
i.update_job_status(e)
}), this._writeJobs.forEach(i => {
i.update_job_status(e)
}), this._last_update_jobs_ms = new Date().getTime())
}
handle_job_status(e, i, n) {
var a;
if (this._removeJobs[e] && this._removeJobs[e].no_confirm) {
const t = this._removeJobs[e].files;
if (i + 1 < t.length) {
const s = this._removeJobs[e].path + this._removeJobs[e].sep + t[i + 1].name;
if ((a = this._ws) == null || a.sendMessage({file_action: ct(e, s, i + 1, this._removeJobs[e].is_remote)}), new Date().getTime() - this._removeJobs[e].last_update_job_status >= 1e3) this._removeJobs[e].last_update_job_status = new Date().getTime(); else return
} else delete this._removeJobs[e], console.log("remove jobs:", this._removeJobs)
}
n ? A4(e, n, i) : Vo(e, i)
}
cancelJob(e) {
var n;
(n = this._ws) == null || n.sendMessage({file_action: Io(e)});
let i = this._writeJobs.find(a => a.id == e);
i && i.remove_download_file(), this._writeJobs = this._writeJobs.filter(a => a.id != e), this._readJobs = this._readJobs.filter(a => a.id != e), delete this._removeJobs[e]
}
removeAllEmptyDirs(e) {
var i;
try {
const n = JSON.parse(e);
(i = this._ws) == null || i.sendMessage({file_action: To(n.id, n.path)})
} catch (n) {
console.error("Failed to remove all empty dirs:", n)
}
}
removeFile(e) {
var i;
try {
const n = JSON.parse(e), {id: a, path: t, file_num: s, is_remote: E} = n;
E && ((i = this._ws) == null || i.sendMessage({file_action: ct(a, t, s, E)}))
} catch (n) {
console.error("Failed to remove files:", n)
}
}
readDirToRemoveRecursive(e) {
var i;
try {
const n = JSON.parse(e), {id: a, path: t, is_remote: s, show_hidden: E} = n;
if (s) {
(i = this._ws) == null || i.sendMessage({file_action: Po(a, t, E)});
const l = (d, c) => (d ? c === "Windows" : he()) ? "\\" : "/";
this._removeJobs[a] = {
path: t,
files: [],
no_confirm: !1,
is_remote: s,
sep: l(s, this.getPeerPlatform()),
last_update_job_status: new Date().getTime()
}
}
} catch (n) {
console.error("Failed to read dir to remove recursive:", n)
}
}
createDir(e) {
var i;
try {
const n = JSON.parse(e), {id: a, path: t, is_remote: s} = n;
s && ((i = this._ws) == null || i.sendMessage({file_action: Ro(a, t)}))
} catch (n) {
console.error("Failed to create dir:", n)
}
}
renameFile(e) {
var i;
try {
const n = JSON.parse(e), {id: a, path: t, new_name: s, is_remote: E} = n;
E && ((i = this._ws) == null || i.sendMessage({file_action: jo(a, t, s)}))
} catch (n) {
console.error("Failed to rename file:", n)
}
}
async seletFiles(e) {
await qo(e, (i, n) => {
this._fileHandles[i] = n
})
}
async handleFileAction(e) {
if (e.send_confirm) {
const i = e.send_confirm, n = this._readJobs.find(a => a.id == i.id);
n && n.confirm(i)
}
}
async confirmOverrideFile(e) {
try {
const i = JSON.parse(e), {id: n, file_num: a, need_override: t, remember: s, is_upload: E} = i;
if (E) {
const l = this._readJobs.find(d => d.id == n);
l && (s && (l.default_overwrite_strategy = t), l.confirm(du.fromPartial({
id: n,
file_num: a,
offset_blk: t ? 0 : void 0,
skip: t ? void 0 : !0
})))
}
} catch (i) {
console.error("Failed to confirm override file:", i)
}
}
sendChat(e) {
const i = gu.fromPartial({text: e}), n = f.fromPartial({chat_message: i});
this.sendMessage({misc: n})
}
changeResolution(e) {
var i;
try {
const n = JSON.parse(e), a = v.fromPartial({width: n.width, height: n.height});
let t;
this._peerInfo && L(this._peerInfo.version) >= L("1.2.4") ? t = f.fromPartial({
change_display_resolution: Uu.fromPartial({
display: n.display,
resolution: a
})
}) : t = f.fromPartial({change_resolution: a}), (i = this._ws) == null || i.sendMessage({misc: t}), this._lastChangeDisplay = {
display: n.display,
width: n.width,
height: n.height,
time: new Date().getTime()
}
} catch (n) {
console.error("Failed to change resolution:", n)
}
}
setCustomResolution(e) {
var a, t;
const i = (s, E) => {
const l = s.toString(), d = this.loadConfig();
d.custom_resolutions || (d.custom_resolutions = {}), E ? d.custom_resolutions[l] = {
w: E[0],
h: E[1]
} : delete d.custom_resolutions[l], this.saveConfig(d)
}, n = () => {
var s, E, l;
return ((s = this._lastChangeDisplay) == null ? void 0 : s.display) == e.display && ((E = this._lastChangeDisplay) == null ? void 0 : E.width) == e.width && ((l = this._lastChangeDisplay) == null ? void 0 : l.height) == e.height && new Date().getTime() - this._lastChangeDisplay.time < 15e3
};
if (e.width == ((a = e.original_resolution) == null ? void 0 : a.width) && e.height == ((t = e.original_resolution) == null ? void 0 : t.height)) i(e.display, void 0); else {
const s = this._lastChangeDisplay;
if ((s == null ? void 0 : s.display) == e.display) {
const E = n() ? [e.width, e.height] : void 0;
i(e.display, E)
}
}
}
getCustomResolution(e) {
const n = this.loadConfig().custom_resolutions;
if (n) {
const a = n[e.toString()];
if (a && a.w && a.h) return [a.w, a.h]
}
}
tryChangeInitResolution(e) {
const i = this.getCustomResolution(e);
i && this.changeResolution(JSON.stringify({display: e, width: i[0], height: i[1]}))
}
setMultipleWindowsSession(e) {
let i = [];
e.forEach(n => {
let a = {};
a.sid = n.sid.toString(), a.name = n.name, i.push(a)
}), A("set_multiple_windows_session", {windows_sessions: JSON.stringify(i)})
}
sendSelectedSessionId(e) {
var n, a;
const i = parseInt(e);
if (isNaN(i)) console.error("selected invalid sid: ", e); else {
this._selectedWindowsSessionId = i;
const t = f.fromPartial({selected_sid: i});
(n = this._ws) == null || n.sendMessage({misc: t});
const s = this._peerInfo;
s && ((a = s.windows_sessions) == null ? void 0 : a.current_sid) == i && (this._isFileTransfer ? s.username || this.msgbox("error", "Error", "No active console user logged on, please connect and logon first.") : this.msgbox("success", "Successful", "Connected, waiting for image..."))
}
}
}
function Ue(u = !1) {
const e = m.getItem("custom-rendezvous-server");
return Me(e || Qo, u)
}
const Xo = 21118, Yo = 21119;
function $o(u) {
return /^(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)(:\d+)?$/.test(u)
}
function ur(u) {
return /^((([a-fA-F0-9]{1,4}:{1,2})+[a-fA-F0-9]{1,4})|(\[([a-fA-F0-9]{1,4}:{1,2})+[a-fA-F0-9]{1,4}\]:\d+))$/.test(u)
}
function er(u) {
return /^([a-z0-9]([a-z0-9-]{0,61}[a-z0-9])?\.)+[a-z][a-z-]{0,61}[a-z]:\d{1,5}$/i.test(u)
}
function ir(u) {
return /^([a-z0-9]([a-z0-9-]{0,61}[a-z0-9])?\.)+[a-z][a-z-]{0,61}[a-z]$/i.test(u)
}
function tr(u) {
return u.startsWith("ws://") || u.startsWith("wss://")
}
function ar() {
return window.location.protocol === "https:"
}
function isHttps() {
return window.location.protocol === "https:"
}
function getUriFromRs(uri, isRelay = false) {
if (window.ws_host) {
return window.ws_host + "/ws/" + (isRelay ? "relay" : "id")
}
const p = isHttps() ? "wss://" : "ws://"
const [domain, uriport] = uri.split(":")
if (!isHttps()) {
// http 直接走端口
if (uriport) {
const port = parseInt(uriport)
return p + domain + ":" + (port + 2)
}
return p + domain + ":" + (defaultIdServerPort + (isRelay ? 3 : 2))
}
// https 分情况
if (!window.location.port) {
// 443
return p + domain + "/ws/" + (isRelay ? "relay" : "id")
}
// 非443
return p + domain + ":" + window.location.port + "/ws/" + (isRelay ? "relay" : "id")
}
function Me(u, e = !1) {
if (tr(u)) return u;
return getUriFromRs(u, e)
const i = e ? Yo : Xo, n = e ? "/ws/relay" : "/ws/id", a = ar() ? "wss" : "ws";
if ($o(u)) { //是纯ip
const t = u.indexOf(":");
if (t !== -1) {
//带端口
const s = u.substring(0, t), E = u.substring(t + 1), l = parseInt(E);
return isNaN(l) ? `${a}://${s}:${i}` : `${a}://${s}:${l + 2}`
} else return `${a}://${u}:${i}`
}
if (ur(u)) {
const t = u.lastIndexOf("]");
if (t !== -1) {
const s = u.substring(0, t + 1), E = u.substring(t + 2), l = parseInt(E);
return isNaN(l) ? `${a}://${s}:${i}` : `${a}://${s}:${l + 2}`
} else return u.startsWith("[") ? `${a}://${u}:${i}` : `${a}://[${u}]:${i}`
}
if (u.includes(":")) {
const [t, s] = u.split(":");
if (er(u)) return `${a}://${t}${n}`
} else if (ir(u)) return `${a}://${u}${n}`;
return u
}
const mt = (u, e, i) => e && u.type == "SharedAb" ? Q(Qu([u.value, i.salt])) === Q(e) : !1,
Ft = (u, e) => e && u.type == "PersonalAb" ? Q(u.value) === Q(e) : !1;
function nr() {
return Ue()
}
function _t(u, e) {
I4("callback_query_onlines", {onlines: u.join(","), offlines: e.join(",")})
}
const onlineCache = {}
// Query onlines
async function myQueryOnline(id) {
const last_online = onlineCache[id]
if (last_online && new Date().getTime() - last_online < 20 * 1000) {
return true
}
// 映射 方便后期更新
const maps = {
uri: Ue(),
ws: Ve,
conn_type: je.DEFAULT_CONN,
nat_type: bt.SYMMETRIC,
token: Gt(),
version: c4,
licence_key: Jt(),
rendezvousPunchHoleRequest: Hu,
rendezvousPunchHoleResponse_Failure: $0
}
const s = new maps.ws(maps.uri, !0, "rendezvous");
await s.open();
const punch_hole_request = maps.rendezvousPunchHoleRequest.fromPartial({
id: id,
licence_key: maps.licence_key,
conn_type: maps.conn_type,
nat_type: maps.nat_type,
token: maps.token,
version: maps.version
});
s.sendRendezvous({punch_hole_request: punch_hole_request});
const msg = await s.next();
s.close();
let online = false
const phr = msg.punch_hole_response, rr = msg.relay_response;
if (phr) {
online = true
if (phr != null && phr.other_failure) {
online = false
return online
}
if (phr.failure != maps.rendezvousPunchHoleResponse_Failure.UNRECOGNIZED) switch (phr == null ? void 0 : phr.failure) {
case maps.rendezvousPunchHoleResponse_Failure.ID_NOT_EXIST:
case maps.rendezvousPunchHoleResponse_Failure.OFFLINE:
case maps.rendezvousPunchHoleResponse_Failure.LICENSE_MISMATCH:
case maps.rendezvousPunchHoleResponse_Failure.LICENSE_OVERUSE:
online = false
break
}
} else if (rr) {
online = true
if (!rr.version) {
online = false
return online
}
}
if (online) {
onlineCache[id] = new Date().getTime()
} else if (onlineCache[id]) {
delete onlineCache[id]
}
return online
}
async function or(u) {
let e = [];
try {
e = JSON.parse(u)
} catch (a) {
console.error("Failed to query onlines, ", a);
return
}
if (e.length === 0) return;
if (window.webclient_magic_queryonline) {
const onlines = []
const offlines = []
for (let i = 0; i < e.length; i++) {
let online = await myQueryOnline(e[i])
if (online) {
onlines.push(e[i])
} else {
offlines.push(e[i])
}
}
_t(onlines, offlines)
} else {
const i = nr(), n = new Ve(i, !0, "query onlines");
try {
await n.open();
const a = Gu.fromPartial({id: qe(), peers: e});
n.sendRendezvous({online_request: a})
} catch (a) {
console.error("Failed to query onlines, ", a), _t([], e), n.close();
return
}
for (let a = 0; a < 2; a++) {
const t = await uo(n, 3e3);
if (!t || (t == null ? void 0 : t.key_exchange) || (t == null ? void 0 : t.online_response) === void 0) continue;
const s = t.online_response.states;
let E = [], l = [];
for (let d = 0; d < e.length; d++) {
const c = 1 << 7 - d % 8;
(s[d / 8] & c) === c ? E.push(e[d]) : l.push(e[d])
}
_t(E, l), n.close();
return
}
n.close(), console.error("Failed to query online states, no online response")
}
}
const rr = "rustdesk-client";
function sr() {
if (typeof navigator != "undefined") {
const u = navigator.platform.toLowerCase();
return u.includes("win") ? "windows" : u.includes("mac") ? "macos" : u.includes("linux") ? "linux" : u
}
return "unknown"
}
function Er() {
const u = sr();
return u === "windows" ? navigator.userAgent.includes("Win64") ? "x86_64" : "x86" : u === "macos" ? navigator.userAgent.includes("Intel") ? "x86_64" : "arm64" : navigator.userAgent.includes("x64") ? "x86_64" : "x86"
}
function lr() {
const u = navigator.userAgent;
let e = "", i = "";
if (u.includes("Windows")) {
e = "windows";
const n = u.match(/Windows NT (\d+\.\d+)/);
n && (i = n[1])
} else if (u.includes("Mac OS X")) {
e = "macos";
const n = u.match(/Mac OS X (\d+[._]\d+[._]\d+)/);
n && (i = n[1].replace(/_/g, "."))
} else if (u.includes("Linux")) {
e = "linux";
const n = u.match(/Linux\s*([\d.]+)?/);
n && n[1] && (i = n[1])
} else e = "unknown", i = "";
return e += "-" + navigator.userAgent, {os: e, os_version: i}
}
async function Dr(u) {
const e = "https://api.rustdesk.com/version/latest", {os: i, os_version: n} = lr(), a = Er();
return [{os: i, os_version: n, arch: a, device_id: [], typ: u, host: window.location.host}, e]
}
async function dr() {
try {
const [u, e] = await Dr(rr);
return await (await fetch(e, {
method: "POST",
headers: {"Content-Type": "application/json"},
body: JSON.stringify(u)
})).json()
} catch {
return null
}
}
window.curConn = void 0;
window.isMobile = () => /(android|bb\d+|meego).+mobile|avantgo|bada\/|blackberry|blazer|compal|elaine|fennec|hiptop|iemobile|ip(hone|od)|ipad|iris|kindle|Android|Silk|lge |maemo|midp|mmp|netfront|opera m(ob|in)i|palm( os)?|phone|p(ixi|re)\/|plucker|pocket|psp|series(4|6)0|symbian|treo|up\.(browser|link)|vodafone|wap|windows (ce|phone)|xda|xiino/i.test(navigator.userAgent) || /1207|6310|6590|3gso|4thp|50[1-6]i|770s|802s|a wa|abac|ac(er|oo|s\-)|ai(ko|rn)|al(av|ca|co)|amoi|an(ex|ny|yw)|aptu|ar(ch|go)|as(te|us)|attw|au(di|\-m|r |s )|avan|be(ck|ll|nq)|bi(lb|rd)|bl(ac|az)|br(e|v)w|bumb|bw\-(n|u)|c55\/|capi|ccwa|cdm\-|cell|chtm|cldc|cmd\-|co(mp|nd)|craw|da(it|ll|ng)|dbte|dc\-s|devi|dica|dmob|do(c|p)o|ds(12|\-d)|el(49|ai)|em(l2|ul)|er(ic|k0)|esl8|ez([4-7]0|os|wa|ze)|fetc|fly(\-|_)|g1 u|g560|gene|gf\-5|g\-mo|go(\.w|od)|gr(ad|un)|haie|hcit|hd\-(m|p|t)|hei\-|hi(pt|ta)|hp( i|ip)|hs\-c|ht(c(\-| |_|a|g|p|s|t)|tp)|hu(aw|tc)|i\-(20|go|ma)|i230|iac( |\-|\/)|ibro|idea|ig01|ikom|im1k|inno|ipaq|iris|ja(t|v)a|jbro|jemu|jigs|kddi|keji|kgt( |\/)|klon|kpt |kwc\-|kyo(c|k)|le(no|xi)|lg( g|\/(k|l|u)|50|54|\-[a-w])|libw|lynx|m1\-w|m3ga|m50\/|ma(te|ui|xo)|mc(01|21|ca)|m\-cr|me(rc|ri)|mi(o8|oa|ts)|mmef|mo(01|02|bi|de|do|t(\-| |o|v)|zz)|mt(50|p1|v )|mwbp|mywa|n10[0-2]|n20[2-3]|n30(0|2)|n50(0|2|5)|n7(0(0|1)|10)|ne((c|m)\-|on|tf|wf|wg|wt)|nok(6|i)|nzph|o2im|op(ti|wv)|oran|owg1|p800|pan(a|d|t)|pdxg|pg(13|\-([1-8]|c))|phil|pire|pl(ay|uc)|pn\-2|po(ck|rt|se)|prox|psio|pt\-g|qa\-a|qc(07|12|21|32|60|\-[2-7]|i\-)|qtek|r380|r600|raks|rim9|ro(ve|zo)|s55\/|sa(ge|ma|mm|ms|ny|va)|sc(01|h\-|oo|p\-)|sdk\/|se(c(\-|0|1)|47|mc|nd|ri)|sgh\-|shar|sie(\-|m)|sk\-0|sl(45|id)|sm(al|ar|b3|it|t5)|so(ft|ny)|sp(01|h\-|v\-|v )|sy(01|mb)|t2(18|50)|t6(00|10|18)|ta(gt|lk)|tcl\-|tdg\-|tel(i|m)|tim\-|t\-mo|to(pl|sh)|ts(70|m\-|m3|m5)|tx\-9|up(\.b|g1|si)|utst|v400|v750|veri|vi(rg|te)|vk(40|5[0-3]|\-v)|vm40|voda|vulc|vx(52|53|60|61|70|80|81|83|85|98)|w3c(\-| )|webc|whit|wi(g |nc|nw)|wmlb|wonu|x700|yas\-|your|zeto|zte\-/i.test(navigator.userAgent.substr(0, 4));
const R4 = Ht(), $u = R4 === a4, Ye = R4 === g4, Xu = R4 === k4, cr = window.location.host;
function Cr() {
return !isMobile()
}
function aa(u, e, i, n) {
if (!(!u || u == "error" && !i)) {
i.toLowerCase();
var a = zn(u, e, i) ? "true" : "";
onGlobalEvent(JSON.stringify({
name: "msgbox",
type: u,
title: e,
text: i,
link: n != null ? n : "",
hasRetry: a
}))
}
}
function pr(u, e, i) {
onGlobalEvent(JSON.stringify({name: "toast", type: u, text: e, dur_msec: i}))
}
function na(u) {
var e = {};
for (const [i, n] of Object.entries(u)) !i || (n instanceof String || typeof n == "string" ? e[i] = n : n instanceof Uint8Array ? e[i] = "[" + n.toString() + "]" : e[i] = JSON.stringify(n));
return e
}
function A(u, e) {
e = na(e), e.name = u, onGlobalEvent(JSON.stringify(e))
}
function m4() {
var e;
((e = f4("input-source")) != null ? e : nt) === nt ? Do() : p4()
}
function I4(u, e) {
e = na(e), e.name = u, onRegisteredEvent(JSON.stringify(e))
}
function F4(u, e) {
onRgba(u, e)
}
function T4(u) {
window.curConn = u
}
function i0() {
return window.curConn
}
async function oa() {
await curConn.start()
}
function j4() {
var u;
(u = i0()) == null || u.close(), T4(void 0)
}
function ra() {
var e;
(e = window.curConn) == null || e.close();
const u = new ta;
return T4(u), u
}
let K;
async function sa() {
try {
K || (await Le.ready, K = Le)
} catch (u) {
console.error("Failed to init sodium: " + u.message)
}
}
function Ea() {
return K
}
async function _4(u, e) {
return await sa(), typeof u == "string" && (u = be(u)), typeof e == "string" && (e = be(e)), K.crypto_sign_open(u, e)
}
function be(u) {
return K.from_base64(u, K.base64_variants.ORIGINAL)
}
function Br(u) {
return K.to_base64(u, K.base64_variants.ORIGINAL)
}
function Ar() {
const u = K.crypto_box_keypair(), e = u.privateKey, i = u.publicKey;
return [e, i]
}
function mr() {
return K.crypto_secretbox_keygen()
}
function Fr(u, e, i) {
const n = Uint8Array.from(Array(24).fill(0));
return K.crypto_box_easy(u, n, e, i)
}
function n4(u) {
for (var e = Array(24).fill(0), i = 0; i < e.length && u > 0; i++) {
var n = u & 255;
e[i] = n, u = (u - n) / 256
}
return Uint8Array.from(e)
}
function vt(u, e, i) {
return K.crypto_secretbox_easy(u, n4(e), i)
}
function _r(u, e, i) {
return K.crypto_secretbox_open_easy(u, n4(e), i)
}
window.setByName = (u, e) => {
switch (u) {
case"connect":
ra(), oa();
break;
case"login":
e = JSON.parse(e), curConn.handle_login_from_ui(e.os_username, e.os_password, e.password, e.remember);
break;
case"close":
j4();
break;
case"refresh":
curConn.refresh();
break;
case"reconnect":
curConn == null || curConn.reconnect();
break;
case"toggle_virtual_display":
curConn.toggleVirtualDisplay(e);
break;
case"toggle_privacy_mode":
curConn.togglePrivacyMode(e);
break;
case"image_quality":
curConn.setImageQuality(e);
break;
case"custom_image_quality":
curConn.setCustomImageQuality(e);
break;
case"custom-fps":
curConn.setCustomFps(e, !0);
break;
case"lock_screen":
curConn.lockScreen();
break;
case"ctrl_alt_del":
curConn.ctrlAltDel();
break;
case"switch_display":
curConn.switchDisplay(e);
break;
case"remove_peer":
In(e);
break;
case"input_key":
e = JSON.parse(e), curConn.inputKey(e.name, e.down == "true", e.press == "true", e.alt == "true", e.ctrl == "true", e.shift == "true", e.command == "true");
break;
case"input_string":
curConn.inputString(e);
break;
case"flutter_key_event":
e = JSON.parse(e), co(curConn, e.usb_hid, e.down == "true", e.lock_modes);
break;
case"send_mouse":
vr(e);
break;
case"send_2fa":
curConn == null || curConn.send2fa(e);
break;
case"option":
e = JSON.parse(e), m.setItem(e.name, e.value);
break;
case"options":
e = JSON.parse(e);
for (const [n, a] of Object.entries(a)) m.setItem(n, a);
break;
case"option:local": {
let n = JSON.parse(e);
if (n.name == 'access_token' && n.value) {
getServerConf(n.value)
}
n.name === "verifier" && kt(n.value), n.name === "user_info" && (n.value || kt("")), Nt(n.name, n.value), n.name === "input-source" && m4(), n.name == "lang" && Kn()
}
break;
case"option:flutter:local":
e = JSON.parse(e), On(e.name, e.value);
break;
case"option:flutter:peer":
e = JSON.parse(e), curConn.setFlutterUiOption(e.name, e.value);
break;
case"option:user:default":
wr(e);
break;
case"option:session":
e = JSON.parse(e), curConn.setOption(e.name, e.value);
break;
case"option:peer":
try {
e = JSON.parse(e), jt(e.id, e.name, e.value)
} catch (n) {
console.error('Failed to set peer option: "' + e + '", ' + n.message)
}
break;
case"option:toggle":
return curConn.toggleOption(e);
case"input_os_password":
curConn.inputOsPassword(e);
break;
case"session_add_sync":
return Pr(e);
case"session_start":
Rr();
break;
case"session_close":
Ir();
break;
case"elevate_direct":
curConn.elevateDirect();
break;
case"elevate_with_logon":
curConn.elevateWithLogon(e);
break;
case"peer_exists":
return !!cu()[e];
case"restart":
curConn.restart();
break;
case"fav":
return m.setItem("fav", e);
case"query_onlines":
or(e);
break;
case"change_prefer_codec":
curConn.changePreferCodec(e);
break;
case"cursor":
yr(e);
break;
case"enter_or_leave":
curConn == null || curConn.enterOrLeave(e);
break;
case"fullscreen":
e == "Y" ? jr() : Nr();
break;
case"send_note":
const i = Da("conn");
i && (curConn == null || curConn.sendNote(i, e));
break;
case"read_remote_dir":
curConn == null || curConn.readRemoteDir(e);
break;
case"send_files":
curConn == null || curConn.sendFiles(e);
break;
case"send_local_files":
curConn == null || curConn.sendLocalFiles(e);
break;
case"cancel_job":
curConn == null || curConn.cancelJob(e);
break;
case"remove_all_empty_dirs":
curConn == null || curConn.removeAllEmptyDirs(e);
break;
case"remove_file":
curConn == null || curConn.removeFile(e);
break;
case"create_dir":
curConn == null || curConn.createDir(e);
break;
case"rename_file":
curConn == null || curConn.renameFile(e);
break;
case"read_dir_to_remove_recursive":
curConn == null || curConn.readDirToRemoveRecursive(e);
break;
case"select_files":
curConn == null || curConn.seletFiles(e);
break;
case"confirm_override_file":
curConn == null || curConn.confirmOverrideFile(e);
break;
case"send_chat":
curConn == null || curConn.sendChat(e);
break;
case"load_ab":
Mr();
break;
case"save_ab":
Un(e);
break;
case"clear_ab":
Mn();
break;
case"load_group":
Lr();
break;
case"save_group":
Ln(e);
break;
case"clear_group":
Vn();
break;
case"change_resolution":
curConn == null || curConn.changeResolution(e);
break;
case"selected_sid":
curConn == null || curConn.sendSelectedSessionId(e);
break
}
};
function vr(u) {
if (!curConn) return;
let e = 0;
switch (u = JSON.parse(u), u.type) {
case"down":
e = kn, setTimeout(() => {
Xt(curConn)
}, 100);
break;
case"up":
e = hn;
break;
case"wheel":
e = rt;
break;
case"trackpad":
e = st;
break
}
switch (u.buttons) {
case"left":
e |= Pe << 3;
break;
case"right":
e |= Re << 3;
break;
case"wheel":
e |= fn << 3;
break;
case"back":
e |= xn << 3;
break;
case"forward":
e |= yn << 3;
break
}
let i = parseInt(u.x || "0"), n = parseInt(u.y || "0");
(e == rt || e == st) && curConn.getOption("reverse_mouse_wheel") == "Y" && (i = -i, n = -n);
const a = (e & Pe << 3) > 0 ? 1 : 0, t = (e & Re << 3) > 0 ? 1 : 0;
a ^ t && curConn.getToggleOption("swap-left-right-mouse") && (a ? e = e & ~(Pe << 3) | Re << 3 : e = e & ~(Re << 3) | Pe << 3), curConn.inputMouse(e, i, n, u.alt == "true", u.ctrl == "true", u.shift == "true", u.command == "true")
}
window.getByName = (u, e) => {
let i = gr(u, e);
return typeof i == "string" || i instanceof String ? i : i == null || i == null ? "" : JSON.stringify(i)
};
function gr(u, e) {
var n, a, t, s;
switch (u) {
case"remember":
return curConn.getRemember();
case"option":
return m.getItem(e);
case"options":
const E = ["custom-rendezvous-server", "relay-server", "api-server", "key"], l = {};
return E.forEach(c => {
const p = m.getItem(c);
p && (l[c] = p)
}), JSON.stringify(l);
case"option:local":
const res = f4(e) || "";
if (e == 'access_token' && res) {
getServerConf(res)
}
return res;
case"option:flutter:local":
return Nn(e) || "";
case"option:flutter:peer":
return curConn.getFlutterUiOption(e) || "";
case"image_quality":
return curConn.getImageQuality();
case"translate":
return e = JSON.parse(e), Jn(e.locale, e.text);
case"option:user:default":
return e0(e);
case"option:session":
return curConn ? curConn.getOption(e) : e0(e);
case"option:peer":
try {
const c = JSON.parse(e);
return (n = jn(c.id, c.name)) != null ? n : e0(c.name)
} catch (c) {
return console.error('Failed to get peer option: "' + e + '", ' + c.message), ""
}
case"option:toggle":
return curConn == null ? void 0 : curConn.getToggleOption(e);
case"get_conn_status":
return curConn ? curConn.getStatus() : JSON.stringify({status_num: 0});
case"test_if_valid_server":
break;
case"version":
return c4;
case"load_recent_peers":
Sr();
break;
case"load_fav_peers":
zr();
break;
case"fav":
return (a = m.getItem("fav")) != null ? a : "[]";
case"load_recent_peers_sync":
return JSON.stringify({peers: JSON.stringify(O4())});
case"api_server":
return U4();
case"is_using_public_server":
return !m.getItem("custom-rendezvous-server");
case"get_version_number":
return L(e);
case"audit_server":
return Da(e);
case"alternative_codecs":
return curConn.getAlternativeCodecs();
case"screen_info":
return JSON.stringify({
frame: {
l: window.screenX,
t: window.screenY,
r: window.screenX + window.innerWidth,
b: window.screenY + window.innerHeight
},
visibleFrame: {
l: window.screen.availLeft,
t: window.screen.availTop,
r: window.screen.availLeft + window.screen.availWidth,
b: window.screen.availTop + window.screen.availHeight
},
scaleFactor: window.devicePixelRatio
});
case"main_display":
return JSON.stringify({
w: window.screen.availWidth,
h: window.screen.availHeight,
scaleFactor: window.devicePixelRatio
});
case"langs":
var i = Object.entries(Sn).map(([c, p]) => [c, `${p} (${c})`]);
return i.sort((c, p) => c[0].localeCompare(p[0])), JSON.stringify(i);
case"build_date":
return Rn;
case"my_id":
return qe();
case"my_name":
return qt();
case"uuid":
return Kt();
case"local_os":
return Ht();
case"peer_has_password":
return ((t = (cu()[e] || {}).password) != null ? t : "") !== "";
case"fullscreen":
return Or() ? "Y" : "N";
case"platform":
return curConn.getPlatform();
case"enable_trusted_devices":
return (s = curConn == null ? void 0 : curConn.enableTrustedDevices()) != null && s ? "Y" : "N"
}
return ""
}
let N4 = new Worker("./libopus.js?v=02816afa"), la;
function kr(u, e) {
la = fr(u, e), N4.postMessage({channels: u, sampleRate: e})
}
function hr(u) {
N4.postMessage(u, [u.buffer])
}
window.init = async () => {
try {
N4.onmessage = u => {
la.feed(u.data)
}, await sa(), await Xn(), await Xa(), await N.init(), console.log("init done"), onInitFinished(), dr(), await Vr(), Ba(!0)
} catch (u) {
console.error("Failed to init: " + u.message), onInitFinished()
}
};
window.onunload = () => {
console.log("window close"), $a()
};
function fr(u, e) {
return new ha({channels: u, sampleRate: e, flushingTime: 2e3})
}
function xr(u) {
if (window.clipboardData && window.clipboardData.setData) return window.clipboardData.setData("Text", u);
if (document.queryCommandSupported && document.queryCommandSupported("copy")) {
var e = document.createElement("textarea");
e.textContent = u, e.style.position = "fixed", document.body.appendChild(e), e.select();
try {
return document.execCommand("copy")
} catch (i) {
console.warn("Copy to clipboard failed.", i)
} finally {
document.body.removeChild(e)
}
}
}
function L(u) {
try {
let e = u.split("-"), i = 0;
if (e.length > 0) {
let n = 0;
for (let a of e[0].split(".")) n = parseInt(a) || 0, i = i * 1e3 + n;
i -= n, i += n * 10
}
return e.length > 1 && (i += parseInt(e[1]) || 0), i
} catch (e) {
return console.error('Failed to parse version number: "' + u + '" ' + e.message), 0
}
}
function yr(u) {
let e = "auto";
if (u != "auto") try {
const t = JSON.parse(u);
if (!t.url) return;
e = `url(${t.url}) ${t.hotx} ${t.hoty}, auto`
} catch (t) {
console.error("Failed to set custom cursor: " + t.message);
return
}
for (var i = document.body, n = 0; n < i.children.length; n++) {
var a = i.children[n];
a.tagName == "FLUTTER-VIEW" && (a.style.cursor = e)
}
}
async function br() {
await Le.ready;
const u = Le.crypto_sign_keypair();
return {publicKey: u.publicKey, privateKey: u.privateKey}
}
function wr(u) {
try {
const e = JSON.parse(u), i = JSON.parse(m.getItem("user-default-options")) || {};
i[e.name] = e.value, m.setItem("user-default-options", JSON.stringify(i))
} catch (e) {
console.error("Failed to set user default options: " + e.message)
}
}
function e0(u) {
var i, n, a;
const e = {
view_style: "original",
scroll_style: "scrollauto",
image_quality: "balanced",
"codec-preference": "auto",
custom_image_quality: "50",
"custom-fps": "30"
};
try {
return (n = (i = (JSON.parse(m.getItem("user-default-options")) || {})[u]) != null ? i : e[u]) != null ? n : ""
} catch (t) {
return console.error("Failed to get user default options: " + t.message), (a = e[u]) != null ? a : ""
}
}
function O4() {
const u = [];
for (const [e, i] of Object.entries(cu())) {
if (!e) continue;
const n = i.tm, a = i.info, t = {
id: e,
username: a.username || "",
hostname: a.hostname || "",
platform: a.platform || "",
alias: i.alias || ""
};
!n || !t || u.push([n, e, t])
}
return u.sort().reverse().map(e => e[2])
}
function Sr() {
const u = O4();
u && I4("load_recent_peers", {peers: JSON.stringify(u)})
}
function zr() {
var u;
try {
const e = (u = m.getItem("fav")) != null ? u : "[]", i = JSON.parse(e), n = O4().filter(a => i.includes(a.id));
n && I4("load_fav_peers", {peers: JSON.stringify(n)})
} catch (e) {
console.error("Failed to load fav peers: " + e.message)
}
}
function Pr(u) {
var e;
try {
const i = JSON.parse(u), n = i.id;
if (n) {
(e = window.curConn) == null || e.close();
const a = new ta;
return a.setRemoteId(n), a.setSessionInfo(i), T4(a), Nt("last_remote_id", n), ""
} else return "No id found in session data " + u
} catch (i) {
return i.message
}
}
function Rr(u) {
try {
if (!i0()) return;
oa()
} catch (e) {
aa("error", "Error", e.message, "")
}
}
function Ir(u) {
j4()
}
function Tr(u, e) {
function i(n) {
return /^([0-9a-fA-F]{0,4}:){1,7}[0-9a-fA-F]{0,4}$/.test(n)
}
if (i(u)) {
if (u.startsWith("[")) {
let n = u.split("]:");
if (n.length === 2) {
let a = parseInt(n[1]) || 0;
if (a > 0) return `${n[0]}]:${a + e}`
}
}
} else if (u.includes(":")) {
let n = u.split(":");
if (n.length === 2) {
let a = parseInt(n[1]) || 0;
if (a > 0) return `${n[0]}:${a + e}`
}
}
return u
}
function U4() {
const u = m.getItem("api-server");
if (u) return u;
const e = m.getItem("custom-rendezvous-server");
if (e) {
let i = Tr(e, -2);
return i == e ? `http://${i}:${Bt - 2}` : `http://${i}`
}
return window.location.host.indexOf("localhost:") == 0 ? `http://localhost:${Bt - 2}` : window.location.origin
}
function Da(u) {
return U4() + "/api/audit/" + u
}
function da(u, e, i) {
try {
e4.exports.ZstdCodec.run(a => {
var t = new a.Simple;
i(e ? u.map(s => t.compress(s, 3)) : t.compress(u, 3))
})
} catch (n) {
console.error("Compress failed: ", n)
}
}
function M4(u, e, i) {
try {
e4.exports.ZstdCodec.run(n => {
var a = new n.Simple;
i(e ? u.map(t => a.decompress(t)) : a.decompress(u))
})
} catch (n) {
console.error("Decompress failed: ", n)
}
}
async function ca(u, e) {
return new Promise((i, n) => {
try {
e4.exports.ZstdCodec.run(a => {
var t = new a.Simple;
i(t.compress(u, 3))
})
} catch (a) {
n(a)
}
})
}
async function Ca(u, e) {
return new Promise((i, n) => {
try {
e4.exports.ZstdCodec.run(a => {
var t = new a.Simple;
i(t.decompress(u))
})
} catch (a) {
n(a)
}
})
}
function jr() {
const u = document.documentElement;
u.requestFullscreen ? u.requestFullscreen() : u.mozRequestFullScreen ? u.mozRequestFullScreen() : u.webkitRequestFullscreen ? u.webkitRequestFullscreen() : u.msRequestFullscreen && u.msRequestFullscreen()
}
function Nr() {
document.exitFullscreen ? document.exitFullscreen() : document.mozCancelFullScreen ? document.mozCancelFullScreen() : document.webkitExitFullscreen ? document.webkitExitFullscreen() : document.msExitFullscreen && document.msExitFullscreen()
}
function Or() {
return document.fullscreenElement || document.webkitFullscreenElement || document.mozFullScreenElement || document.msFullscreenElement
}
var gt = !1;
function Ur() {
gt || (console.log("listen fullscreen"), gt = !0, document.addEventListener("fullscreenchange", () => onFullscreenChanged(!!document.fullscreenElement)), document.addEventListener("mozfullscreenchange", () => onFullscreenChanged(!!document.mozFullScreen)), document.addEventListener("webkitfullscreenchange", () => onFullscreenChanged(!!document.webkitFullscreenElement)), document.addEventListener("msfullscreenchange", () => onFullscreenChanged(!!document.msFullscreenElement)))
}
Ur();
async function Mr() {
try {
let u = await Mt();
onLoadAbFinished(JSON.stringify(u))
} catch (u) {
console.error("Failed to load ab: " + u.message), onLoadAbFinished("")
}
}
async function Lr() {
try {
let u = await Wn();
onLoadGroupFinished(JSON.stringify(u))
} catch (u) {
console.error("Failed to load group: " + u.message), onLoadGroupFinished("")
}
}
function pa() {
// return cr.indexOf(new TextDecoder().decode(be("cnVzdGRlc2suY29t"))) < 0
return false
}
function Ba(u) {
return pa() && (!Gt() && !Jt() || L4 < 400) ? (u && setTimeout(ma, 100), !0) : !1
}
let L4 = 0;
function Wr() {
return new TextDecoder().decode(be("L2FwaS9saWMvd2M="))
}
async function Vr() {
if (pa()) try {
const u = U4() + Wr(), i = await (await fetch(u)).text(), n = await Aa(i);
L4 = parseInt(n[0])
} catch {
}
}
async function kt(u) {
if (!u) {
lt("");
return
}
try {
const i = (await Aa(u))[2];
lt(i)
} catch (e) {
console.error("Failed to decode verifier: " + e.message)
}
}
async function Aa(u) {
try {
return new TextDecoder().decode(await _4(u, "IycjQd4TmWvjjLnYd796Rd+XkK+KG+7GU1Ia7u4+vSw=")).split(":")
} catch (e) {
return console.error("Failed to decode: " + e.message), []
}
}
function qr() {
window.closeConnection()
}
function ma() {
if (L4 < 400) {
window.dialog("error", "License Warning", "To run the web client, you need a license supporting at least 10 users and 300 devices, or an equivalent plan.");
return
}
window.loginDialog()
}
const ht = document.querySelector("#app");
if (ht) {
let e = function (i, n, a) {
!i0() || (i == "input-password" ? (document.querySelector("div#status").style.display = "none", document.querySelector("div#password").style.display = "block") : i ? i == "error" ? (document.querySelector("div#status").style.display = "block", document.querySelector("div#canvas").style.display = "none", document.querySelector("div#text").innerHTML = '<div style="color: red; font-weight: bold;">' + a + "</div>") : (document.querySelector("div#password").style.display = "none", document.querySelector("div#status").style.display = "block", document.querySelector("div#text").innerHTML = '<div style="font-weight: bold;">' + a + "</div>") : (document.querySelector("div#canvas").style.display = "block", document.querySelector("div#password").style.display = "none", document.querySelector("div#status").style.display = "none"))
};
ht.innerHTML = `
<div id="connect" style="text-align: center"><table style="display: inline-block">
<tr><td><span>Host: </span></td><td><input id="host" /></td></tr>
<tr><td><span>Key: </span></td><td><input id="key" /></td></tr>
<tr><td><span>Id: </span></td><td><input id="id" /></td></tr>
<tr><td></td><td><button onclick="connect();">Connect</button></td></tr>
</table></div>
<div id="password" style="display: none;">
<input type="password" id="password" />
<button id="confirm" onclick="confirm()">Confirm</button>
<button id="cancel" onclick="cancel();">Cancel</button>
</div>
<div id="status" style="display: none;">
<div id="text" style="line-height: 2em"></div>
<button id="cancel" onclick="cancel();">Cancel</button>
</div>
<div id="canvas" style="display: none;">
<button id="cancel" onclick="cancel();">Cancel</button>
<canvas id="player"></canvas>
<canvas id="test-yuv-decoder-canvas"></canvas>
</div>
`;
let u;
window.init(), document.body.onload = () => {
const i = document.querySelector("#host");
i.value = m.getItem("custom-rendezvous-server");
const n = document.querySelector("#id");
n.value = m.getItem("id");
const a = document.querySelector("#key");
a.value = m.getItem("key"), u = YUVCanvas.attach(document.getElementById("player"))
}, window.connect = () => {
const i = document.querySelector("#host");
m.setItem("custom-rendezvous-server", i.value);
const n = document.querySelector("#id");
m.setItem("id", n.value);
const a = document.querySelector("#key");
m.setItem("key", a.value), (async () => {
const s = ra();
s.setMsgbox(e), s.setDraw(E => {
F4(E), u.drawFrame(E)
}), document.querySelector("div#status").style.display = "block", document.querySelector("div#connect").style.display = "none", document.querySelector("div#text").innerHTML = "Connecting ...", s.setPeerId(n.value), await s.start()
})()
}, window.cancel = () => {
j4(), document.querySelector("div#connect").style.display = "block", document.querySelector("div#password").style.display = "none", document.querySelector("div#status").style.display = "none", document.querySelector("div#canvas").style.display = "none"
}, window.confirm = () => {
const i = document.querySelector("input#password").value;
i && (document.querySelector("div#password").style.display = "none", i0().login(i))
}
}