LibAcc: 0.8438=27/32, ProjAcc: 1.0000=0/0, Missing: 171
Module: main/common
const 𝓟9{IS_DEBUG}: [miss]𝓛[ty]8666{Boolean} = 𝓛1{<UNKNOWN>}.NODE_ENV.EqualsEqualsEqualsToken(𝓛8743{String});
const 𝓟10{IS_DARWIN}: [miss]𝓛[ty]8666{Boolean} = 𝓛1{<UNKNOWN>}.EqualsEqualsEqualsToken(𝓛8743{String});
const 𝓟11{IS_WINDOWS}: [miss]𝓛[ty]8666{Boolean} = 𝓛1{<UNKNOWN>}.EqualsEqualsEqualsToken(𝓛8743{String});
const 𝓟12{APP_ICON} = 𝓛2363{join}(𝓛10058{__dirname},𝓛8743{String},𝓛8743{String},𝓛8743{String},𝓛8743{String});
const 𝓟13{PRELOAD_JS} = 𝓛2363{join}(𝓛10058{__dirname},𝓛8743{String},𝓛8743{String},𝓛8743{String});
const 𝓟14{DATA_DIR} = 𝓟379{app}.getPath(𝓛8743{String});
const 𝓟15{CONFIG_FILE} = 𝓛2363{join}(𝓟14{DATA_DIR},𝓛8743{String});
const 𝓟16{USER_CSS} = 𝓛2363{join}(𝓟14{DATA_DIR},𝓛8743{String});
const 𝓟17{IOS_SAFARI_USERAGENT}: [miss]𝓛[ty]10051{String} = 𝓛8743{String};
function 𝓟18{trayIcon} (𝓟19{color}: 𝓛[ty]10051{String}): (𝓟20: [OOV]any)
{
return 𝓟20 = 𝓛2363{join}(𝓛10058{__dirname},𝓛8743{String},𝓛8743{String},𝓛8743{String},𝓛12554{$Template}((𝓟19{color}.EqualsEqualsEqualsToken(𝓛8743{String}) ? 𝓛8743{String} : 𝓛8743{String}))
}
Module: main/account_switcher
function 𝓟21{partitionForAccount} (𝓟22{account}: [OOV]𝓟[ty]1314{Account}): (𝓟23: [miss]𝓛[ty]10051{String})
{
let 𝓟24{host}: [miss]𝓛[ty]10051{String} = 𝓟22{account}.host;
if (𝓟22{account}.host.startsWith(𝓛8743{String}))
{
𝓟24{host} ⟵ 𝓟24{host}.slice(𝓛8745{Number});
}
else
{
if (𝓟22{account}.host.startsWith(𝓛8743{String}))
{
𝓟24{host} ⟵ 𝓟24{host}.slice(𝓛8745{Number});
}
}
return 𝓟23 = 𝓛12554{$Template}(𝓟22{account}.name,𝓟24{host})
}
function 𝓟25{CONSTRUCTOR} (𝓟26{accounts}: 𝓛[ty]8670{Array}): (𝓟[ty]46{AccountSwitcher})
{
const 𝓟[ty]46{AccountSwitcher};
const 𝓟[ty]46{AccountSwitcher};
function 𝓟30{$Lambda2} (): (𝓟31: [miss]𝓛[ty]10033{Void})
{
if (𝓟[ty]46{AccountSwitcher}.accounts.length.LessThanEqualsToken(𝓛8745{Number}))
{
𝓛1{<UNKNOWN>}(𝓛8743{String})
}
let 𝓟32{idx}: [miss]𝓛[ty]8655{Number} = 𝓟[ty]46{AccountSwitcher}.getAccountIndex(𝓟[ty]46{AccountSwitcher}.current).PlusToken(𝓛8745{Number});
if (𝓟32{idx}.GreaterThanEqualsToken(𝓟[ty]46{AccountSwitcher}.accounts.length))
{
𝓟32{idx} ⟵ 𝓛8745{Number};
}
𝓛1{<UNKNOWN>}(𝓛8743{String})
𝓟[ty]46{AccountSwitcher}.switchTo(𝓟[ty]46{AccountSwitcher}.accounts.access(𝓟32{idx}))
}
function 𝓟33{$Lambda3} (): (𝓟34: [miss]𝓛[ty]10033{Void})
{
if (𝓟[ty]46{AccountSwitcher}.accounts.length.LessThanEqualsToken(𝓛8745{Number}))
{
𝓛1{<UNKNOWN>}(𝓛8743{String})
}
let 𝓟35{idx}: [miss]𝓛[ty]8655{Number} = 𝓟[ty]46{AccountSwitcher}.getAccountIndex(𝓟[ty]46{AccountSwitcher}.current);
if (𝓟35{idx}.LessThanEqualsToken(𝓛8745{Number}))
{
𝓟35{idx} ⟵ 𝓟[ty]46{AccountSwitcher}.accounts.length;
}
𝓛12556{MinusMinusToken}(𝓟35{idx})
𝓛1{<UNKNOWN>}(𝓛8743{String})
𝓟[ty]46{AccountSwitcher}.switchTo(𝓟[ty]46{AccountSwitcher}.accounts.access(𝓟35{idx}))
}
𝓟[ty]46{AccountSwitcher}.switchToNext ⟵ 𝓟30{$Lambda2};
𝓟[ty]46{AccountSwitcher}.switchToPrev ⟵ 𝓟33{$Lambda3};
𝓟[ty]46{AccountSwitcher}()
const 𝓟36{submenu}: [miss]𝓛[ty]8670{Array} = 𝓛8757{Array}() as 𝓛[ty]8670{Array};
function 𝓟37{$Lambda0} (𝓟38{a}): (𝓟39: [miss]𝓛[ty]8666{Boolean})
{
return 𝓟39 = 𝓟38{a}.name.ExclamationEqualsEqualsToken(𝓛8743{String})
}
{
const 𝓟40{account}: [OOV]𝓟[ty]1314{Account} = 𝓛12552{$ArrayAccess}(𝓟26{accounts}.filter(𝓟37{$Lambda0}));
while (𝓛8744{Boolean})
{
let 𝓟41{name}: [miss]𝓛[ty]10051{String} = 𝓟40{account}.name;
if (𝓛12548{ExclamationToken}(𝓟41{name}.startsWith(𝓛8743{String})))
{
𝓟41{name} ⟵ 𝓛8743{String}.PlusToken(𝓟41{name});
}
𝓟41{name}.FirstCompoundAssignment(𝓛8743{String}.PlusToken(𝓟40{account}.host))
function 𝓟42{$Lambda1} (): (𝓟43: [miss]𝓛[ty]10033{Void})
{
return 𝓟43 = 𝓟[ty]46{AccountSwitcher}.switchTo(𝓟40{account})
}
𝓟36{submenu}.push({label: 𝓟41{name},type: 𝓛8743{String},checked: 𝓛8744{Boolean},click: 𝓟42{$Lambda1}})
}
}
𝓟[ty]46{AccountSwitcher}.accounts ⟵ 𝓟26{accounts};
if (𝓟26{accounts}.length.EqualsEqualsEqualsToken(𝓛8745{Number}))
{
}
𝓟36{submenu}.access(𝓛8745{Number}).checked ⟵ 𝓛8744{Boolean};
𝓟[ty]46{AccountSwitcher}.current ⟵ 𝓟26{accounts}.access(𝓛8745{Number});
const 𝓟44{item} = 𝓟381{MenuItem}.CONSTRUCTOR({label: 𝓛8743{String},type: 𝓛8743{String},submenu: 𝓟36{submenu}});
const 𝓟45{menu} = 𝓟380{Menu}.getApplicationMenu() as any;
if (𝓟45{menu}.ExclamationEqualsEqualsToken(𝓛12563{undefined}))
{
𝓟45{menu}.insert(𝓟45{menu}.items.length.MinusToken(𝓛8745{Number}),𝓟44{item})
𝓟380{Menu}.setApplicationMenu(𝓟45{menu})
}
𝓟382{ipc}.on(𝓛8743{String} as 𝓟[ty]6{IpcChannelFromRenderer},𝓟[ty]46{AccountSwitcher}.switchToNext)
𝓟382{ipc}.on(𝓛8743{String} as 𝓟[ty]6{IpcChannelFromRenderer},𝓟[ty]46{AccountSwitcher}.switchToPrev)
}
class 𝓟[ty]46{AccountSwitcher} extends 𝓛[ty]6152{EventEmitter}{
𝓟48{accounts}: 𝓛[ty]8670{Array};
𝓟49{current}: [OOV]𝓟[ty]1314{Account};
𝓟50{switchToNext}: [miss]𝓛[ty]8696{Function};
𝓟51{switchToPrev}: [miss]𝓛[ty]8696{Function};
function 𝓟52{switchTo} (𝓟53{account}: [OOV]𝓟[ty]1314{Account}): (𝓟54: [miss]𝓛[ty]10033{Void})
{
if (𝓟[ty]46{AccountSwitcher}.current.name.EqualsEqualsEqualsToken(𝓟53{account}.name).AmpersandAmpersandToken(𝓟[ty]46{AccountSwitcher}.current.host.EqualsEqualsEqualsToken(𝓟53{account}.host)))
{
𝓛1{<UNKNOWN>}(𝓛8743{String}.PlusToken(𝓟53{account}.name))
}
𝓛1{<UNKNOWN>}(𝓛8743{String},𝓟53{account})
𝓟[ty]46{AccountSwitcher}.emit(𝓛8743{String},𝓟53{account},𝓟[ty]46{AccountSwitcher}.current)
𝓟[ty]46{AccountSwitcher}.current ⟵ 𝓟53{account};
}
function 𝓟55{getAccountIndex} (𝓟56{account}: [OOV]𝓟[ty]1314{Account}): (𝓟57: [miss]𝓛[ty]8655{Number})
{
{
let 𝓟58{i}: [miss]𝓛[ty]8655{Number} = 𝓛8745{Number};
while (𝓟58{i}.FirstBinaryOperator(𝓟[ty]46{AccountSwitcher}.accounts.length))
{
{
const 𝓟59{a}: [OOV]𝓟[ty]1314{Account} = 𝓟[ty]46{AccountSwitcher}.accounts.access(𝓟58{i});
if (𝓟59{a}.name.EqualsEqualsEqualsToken(𝓟56{account}.name).AmpersandAmpersandToken(𝓟59{a}.host.EqualsEqualsEqualsToken(𝓟56{account}.host)))
{
return 𝓟57 = 𝓟58{i}
}
}
𝓛12553{PlusPlusToken}(𝓟58{i})
}
}
return 𝓟57 = 𝓛12557{MinusToken}(𝓛8745{Number})
}
}
Module: main/default_menu
function 𝓟60{defaultMenu} (): (𝓟61: [OOV]any)
{
const 𝓟62{template}: 𝓛[ty]8670{Array} = 𝓛8757{Array}({label: 𝓛8743{String},submenu: 𝓛8757{Array}({label: 𝓛8743{String}},{type: 𝓛8743{String}},{role: 𝓛8743{String}},{role: 𝓛8743{String}},{type: 𝓛8743{String}},{role: 𝓛8743{String}},{role: 𝓛8743{String}},{role: 𝓛8743{String}},{role: 𝓛8743{String}},{role: 𝓛8743{String}},{role: 𝓛8743{String}})},{label: 𝓛8743{String},submenu: 𝓛8757{Array}({role: 𝓛8743{String}},{role: 𝓛8743{String}},{type: 𝓛8743{String}},{role: 𝓛8743{String}},{role: 𝓛8743{String}},{role: 𝓛8743{String}},{type: 𝓛8743{String}},{role: 𝓛8743{String}})},{role: 𝓛8743{String},submenu: 𝓛8757{Array}({role: 𝓛8743{String}},{role: 𝓛8743{String}})},{role: 𝓛8743{String},submenu: 𝓛8757{Array}({label: 𝓛8743{String}},{label: 𝓛8743{String}})});
if (𝓛1{<UNKNOWN>}.EqualsEqualsEqualsToken(𝓛8743{String}))
{
𝓟62{template}.unshift({label: 𝓛8743{String},submenu: 𝓛8757{Array}({role: 𝓛8743{String}},{type: 𝓛8743{String}},{role: 𝓛8743{String},submenu: 𝓛8757{Array}()},{type: 𝓛8743{String}},{role: 𝓛8743{String}},{role: 𝓛8743{String}},{role: 𝓛8743{String}},{type: 𝓛8743{String}},{role: 𝓛8743{String}})})
𝓟62{template}.access(𝓛8745{Number}).submenu as 𝓛[ty]8670{Array}.push({type: 𝓛8743{String}},{label: 𝓛8743{String},submenu: 𝓛8757{Array}({role: 𝓛8743{String}},{role: 𝓛8743{String}})})
𝓟62{template}.access(𝓛8745{Number}).submenu ⟵ 𝓛8757{Array}({role: 𝓛8743{String}},{role: 𝓛8743{String}},{role: 𝓛8743{String}},{type: 𝓛8743{String}},{role: 𝓛8743{String}});
}
else
{
𝓟62{template}.unshift({label: 𝓛8743{String},submenu: 𝓛8757{Array}({role: 𝓛8743{String}})})
}
return 𝓟61 = 𝓟380{Menu}.buildFromTemplate(𝓟62{template})
}
Module: main/config
type 𝓟[ty]1313{Config} = {keymaps: {access: (𝓛[ty]10051{String})->𝓛[ty]10051{String}}, hot_key: 𝓛[ty]10051{String}, __DATA_DIR: 𝓛[ty]10051{String}, always_on_top: 𝓛[ty]8666{Boolean}, normal_window: 𝓛[ty]8666{Boolean}, hide_menu: 𝓛[ty]8666{Boolean}, chromium_sandbox: 𝓛[ty]8666{Boolean}, icon_color: 𝓛[ty]10051{String}, accounts: 𝓛[ty]8670{Array}, zoom_factor: 𝓛[ty]8655{Number}}
type 𝓟[ty]1314{Account} = {host: 𝓛[ty]10051{String}, name: 𝓛[ty]10051{String}, default_page: 𝓛[ty]10051{String}, plugins: 𝓛[ty]8670{Array}}
function 𝓟65{makeDefaultConfig} (): (𝓟66: [OOV]𝓟[ty]1313{Config})
{
const 𝓟67{IsDarkMode} = 𝓟10{IS_DARWIN}.AmpersandAmpersandToken(𝓟384{systemPreferences}.isDarkMode());
const 𝓟68{menubarBroken}: [miss]𝓛[ty]8666{Boolean} = 𝓟11{IS_WINDOWS};
return 𝓟66 = {keymaps: {4: 𝓛8743{String},j: 𝓛8743{String},5: 𝓛8743{String},m: 𝓛8743{String},i: 𝓛8743{String},6: 𝓛8743{String},1: 𝓛8743{String},2: 𝓛8743{String},3: 𝓛8743{String},k: 𝓛8743{String}},hot_key: 𝓛8743{String},always_on_top: 𝓛8744{Boolean},normal_window: 𝓟68{menubarBroken},hide_menu: 𝓛8744{Boolean},chromium_sandbox: 𝓛8744{Boolean},icon_color: (𝓟67{IsDarkMode} ? 𝓛8743{String} : 𝓛8743{String},accounts: 𝓛8757{Array}({name: 𝓛8743{String},host: 𝓛8743{String},default_page: 𝓛8743{String},plugins: 𝓛8757{Array}()}),zoom_factor: 𝓛8745{Number}}
}
function 𝓟69{showDyingDialog} (𝓟70{title}: 𝓛[ty]10051{String},𝓟71{detail}: 𝓛[ty]10051{String}): (𝓟72: [miss]𝓛[ty]10033{Void})
{
function 𝓟73{$Lambda8} (): (𝓟74: [miss]𝓛[ty]10033{Void})
{
𝓟379{app}.quit()
}
𝓟385{dialog}.showMessageBox({type: 𝓛8743{String},message: 𝓟70{title},detail: 𝓟71{detail}},𝓟73{$Lambda8})
}
function 𝓟75{recommendConfigAndDie} (𝓟76{file}: 𝓛[ty]10051{String}): (𝓟77: [miss]𝓛[ty]10033{Void})
{
const 𝓟78{title}: [miss]𝓛[ty]10051{String} = 𝓛8743{String};
const 𝓟79{detail}: [miss]𝓛[ty]10051{String} = 𝓛8743{String};
𝓟383{shell}.openItem(𝓟76{file})
𝓟69{showDyingDialog}(𝓟78{title},𝓟79{detail})
}
function 𝓟80{hostUrl} (𝓟81{a}: [OOV]𝓟[ty]1314{Account}): (𝓟82: [miss]𝓛[ty]10051{String})
{
if (𝓟81{a}.host.startsWith(𝓛8743{String}).BarBarToken(𝓟81{a}.host.startsWith(𝓛8743{String})))
{
return 𝓟82 = 𝓟81{a}.host
}
else
{
return 𝓟82 = 𝓛8743{String}.PlusToken(𝓟81{a}.host)
}
}
function 𝓟83{loadConfig} (): (𝓟84: (𝓛[ty]10033{Void} ≠ 𝓛[ty]8654{Promise}))
{
function 𝓟85{$Lambda9} (𝓟86{resolve}): (𝓟87: [miss]𝓛[ty]10033{Void})
{
function 𝓟88{$Lambda10} (𝓟89{err},𝓟90{json}): (𝓟91: [miss]𝓛[ty]10033{Void})
{
if (𝓟89{err})
{
𝓛1{<UNKNOWN>}(𝓛8743{String},𝓟15{CONFIG_FILE})
const 𝓟92{default_config}: [OOV]𝓟[ty]1313{Config} = 𝓟65{makeDefaultConfig}();
if (𝓟379{app}.isReady())
{
𝓛7919{writeFileSync}(𝓟15{CONFIG_FILE},𝓛8756{JSON}.stringify(𝓟92{default_config},𝓛12563{undefined},𝓛8745{Number}))
𝓟75{recommendConfigAndDie}(𝓟15{CONFIG_FILE})
}
else
{
function 𝓟93{$Lambda11} (): (𝓟94: [miss]𝓛[ty]10033{Void})
{
𝓛7919{writeFileSync}(𝓟15{CONFIG_FILE},𝓛8756{JSON}.stringify(𝓟92{default_config},𝓛12563{undefined},𝓛8745{Number}))
𝓟75{recommendConfigAndDie}(𝓟15{CONFIG_FILE})
}
𝓟379{app}.once(𝓛8743{String},𝓟93{$Lambda11})
}
}
{
const 𝓟95{config} = 𝓛8756{JSON}.parse(𝓟90{json});
if (𝓟95{config}.hot_key.AmpersandAmpersandToken(𝓟95{config}.hot_key.startsWith(𝓛8743{String})))
{
𝓟95{config}.hot_key ⟵ 𝓛12554{$Template}(𝓟95{config}.hot_key.slice(𝓛8745{Number}));
}
𝓛1{<UNKNOWN>}(𝓛8743{String},𝓟95{config})
if (𝓛12548{ExclamationToken}(𝓟95{config}.accounts).BarBarToken(𝓟95{config}.accounts.access(𝓛8745{Number}).host.EqualsEqualsEqualsToken(𝓛8743{String})).BarBarToken(𝓟95{config}.accounts.access(𝓛8745{Number}).name.EqualsEqualsEqualsToken(𝓛8743{String})))
{
𝓟75{recommendConfigAndDie}(𝓟15{CONFIG_FILE})
}
else
{
𝓟95{config}.__DATA_DIR ⟵ 𝓟14{DATA_DIR};
if (𝓟95{config}.chromium_sandbox.EqualsEqualsEqualsToken(𝓛12563{undefined}))
{
𝓟95{config}.chromium_sandbox ⟵ 𝓛8744{Boolean};
}
𝓟86{resolve}(𝓟95{config})
}
}
}
𝓛7875{readFile}(𝓟15{CONFIG_FILE},𝓛8743{String},𝓟88{$Lambda10})
}
return 𝓟84 = 𝓛1062{Promise}.CONSTRUCTOR(𝓟85{$Lambda9})
}
Module: main/index
𝓟379{app}.removeAllListeners()
𝓛12563{undefined}()
function 𝓟96{$Lambda12} (𝓟97{resolve}): (𝓟98: [OOV]any)
{
return 𝓟98 = 𝓟379{app}.once(𝓛8743{String},𝓟97{resolve})
}
const 𝓟99{appReady}: [miss]𝓛[ty]8654{Promise} = 𝓛1062{Promise}.CONSTRUCTOR(𝓟96{$Lambda12});
function 𝓟100{$Lambda13} (𝓟101{reason}: 𝓛[ty]10051{String}): (𝓟102: [miss]𝓛[ty]10033{Void})
{
const 𝓟103{msg}: [miss]𝓛[ty]10051{String} = 𝓛8743{String}.PlusToken(𝓟101{reason});
function 𝓟104{$Lambda14} (): (𝓟105: [OOV]any)
{
function 𝓟106{$Lambda15} (): (𝓟107: [miss]𝓛[ty]10033{Void})
{
𝓟379{app}.quit()
}
return 𝓟105 = 𝓟385{dialog}.showMessageBox({type: 𝓛8743{String},buttons: 𝓛8757{Array}(𝓛8743{String}),message: 𝓟103{msg}},𝓟106{$Lambda15})
}
𝓟99{appReady}.then(𝓟104{$Lambda14})
𝓛1{<UNKNOWN>}(𝓟103{msg})
}
𝓛1{<UNKNOWN>}(𝓛8743{String},𝓟100{$Lambda13})
function 𝓟108{$Lambda16} (): (𝓟109: [miss]𝓛[ty]10033{Void})
{
𝓛1{<UNKNOWN>}(𝓛8743{String})
}
𝓟379{app}.on(𝓛8743{String},𝓟108{$Lambda16})
function 𝓟110{$Lambda17} (𝓟111{_}): (𝓟112: [miss]𝓛[ty]8654{Promise})
{
}
function 𝓟113{$Lambda18} (𝓟114{mstdn}): (𝓟115: [miss]𝓛[ty]10033{Void})
{
𝓟114{mstdn}.start()
𝓛1{<UNKNOWN>}(𝓛8743{String})
}
𝓛1062{Promise}.all(𝓛8757{Array}(𝓟83{loadConfig}(),𝓟99{appReady})).then(𝓟110{$Lambda17}).then(𝓟113{$Lambda18})
Module: renderer/log
if (𝓛1{<UNKNOWN>}.NODE_ENV.EqualsEqualsEqualsToken(𝓛8743{String}))
{
𝓛1{<UNKNOWN>}(𝓛8743{String})
}
else
{
𝓛1{<UNKNOWN>}(𝓛8743{String})
}
Module: main/app
function 𝓟116{CONSTRUCTOR} (𝓟117{win}: [OOV]𝓟[ty]268{Window},𝓟118{config}: [OOV]𝓟[ty]1313{Config}): (𝓟[ty]128{App})
{
const 𝓟[ty]128{App};
const 𝓟[ty]128{App};
function 𝓟122{$Lambda5} (𝓟123{next}: [OOV]𝓟[ty]1314{Account}): (𝓟124: [miss]𝓛[ty]10033{Void})
{
𝓟[ty]128{App}.win.close()
function 𝓟125{$Lambda6} (𝓟126{win}): (𝓟127: [miss]𝓛[ty]10033{Void})
{
𝓛1{<UNKNOWN>}(𝓛8743{String},𝓟123{next})
𝓟[ty]128{App}.win ⟵ 𝓟126{win};
𝓟[ty]128{App}.start()
}
𝓟258{create}(𝓟123{next},𝓟[ty]128{App}.config,𝓟[ty]128{App}.win.menubar).then(𝓟125{$Lambda6})
}
𝓟[ty]128{App}.onAccountSwitch ⟵ 𝓟122{$Lambda5};
if (𝓟118{config}.accounts.length.EqualsEqualsEqualsToken(𝓛8745{Number}))
{
𝓛8749{Error}.CONSTRUCTOR(𝓛8743{String})
}
if (𝓟10{IS_DARWIN})
{
𝓟379{app}.dock.setIcon(𝓟12{APP_ICON})
}
𝓟380{Menu}.setApplicationMenu(𝓟60{defaultMenu}())
𝓟[ty]128{App}.switcher ⟵ 𝓟25{CONSTRUCTOR}(𝓟[ty]128{App}.config.accounts);
𝓟[ty]128{App}.switcher.on(𝓛8743{String},𝓟[ty]128{App}.onAccountSwitch)
𝓟[ty]128{App}.setupTray()
𝓟[ty]128{App}.setupHotkey()
}
class 𝓟[ty]128{App}{
𝓟130{switcher}: [OOV]𝓟[ty]46{AccountSwitcher};
𝓟131{onAccountSwitch}: [miss]𝓛[ty]8696{Function};
function 𝓟132{start} (): (𝓟133: [miss]𝓛[ty]10033{Void})
{
const 𝓟134{a}: [OOV]𝓟[ty]1314{Account} = 𝓟[ty]128{App}.switcher.current;
const 𝓟135{url}: [miss]𝓛[ty]10051{String} = 𝓟80{hostUrl}(𝓟134{a}).PlusToken(𝓟134{a}.default_page);
𝓟[ty]128{App}.win.open(𝓟135{url})
𝓛1{<UNKNOWN>}(𝓛8743{String},𝓟134{a},𝓟135{url})
}
function 𝓟136{setupHotkey} (): (𝓟137: [miss]𝓛[ty]10033{Void})
{
if (𝓛12548{ExclamationToken}(𝓟[ty]128{App}.config.hot_key))
{
}
function 𝓟138{$Lambda4} (): (𝓟139: [miss]𝓛[ty]10033{Void})
{
return 𝓟139 = 𝓟[ty]128{App}.win.toggle()
}
𝓟386{globalShortcut}.register(𝓟[ty]128{App}.config.hot_key,𝓟138{$Lambda4})
𝓛1{<UNKNOWN>}(𝓛8743{String},𝓟[ty]128{App}.config.hot_key)
}
function 𝓟140{setupTray} (): (𝓟141: [miss]𝓛[ty]10033{Void})
{
if (𝓟[ty]128{App}.win.menubar)
{
}
const 𝓟142{icon} = 𝓟18{trayIcon}(𝓟[ty]128{App}.config.icon_color);
const 𝓟143{tray} = 𝓟387{Tray}.CONSTRUCTOR(𝓟142{icon});
const 𝓟144{toggle} = 𝓟[ty]128{App}.win.toggle.bind(𝓟[ty]128{App}.win);
𝓟143{tray}.on(𝓛8743{String},𝓟144{toggle})
𝓟143{tray}.on(𝓛8743{String},𝓟144{toggle})
if (𝓟10{IS_DARWIN})
{
𝓟143{tray}.setHighlightMode(𝓛8743{String})
}
}
}
function 𝓟145{startApp} (𝓟146{config}: [OOV]𝓟[ty]1313{Config}): (𝓟147: [miss]𝓛[ty]8654{Promise})
{
const 𝓟148{default_account}: [OOV]𝓟[ty]1314{Account} = 𝓟146{config}.accounts.access(𝓛8745{Number});
function 𝓟149{$Lambda7} (𝓟150{win}): (𝓟151: [OOV]𝓟[ty]128{App})
{
return 𝓟151 = 𝓟116{CONSTRUCTOR}(𝓟150{win},𝓟146{config})
}
return 𝓟147 = 𝓟258{create}(𝓟148{default_account},𝓟146{config}).then(𝓟149{$Lambda7})
}
Module: main/log
if (𝓛1{<UNKNOWN>}.NODE_ENV.EqualsEqualsEqualsToken(𝓛8743{String}))
{
𝓛1{<UNKNOWN>}(𝓛8743{String})
}
else
{
𝓛1{<UNKNOWN>}(𝓛8743{String})
}
Module: renderer/ipc
function 𝓟152{on} (𝓟153{channel}: [OOV]𝓟[ty]5{IpcChannelFromMain},𝓟154{callback}: 𝓛[ty]8696{Function}): (𝓟155: [miss]𝓛[ty]10033{Void})
{
function 𝓟156{$Lambda36} (𝓟157{_}: [OOV]any,𝓟158{args}: 𝓛[ty]8670{Array}): (𝓟159: [miss]𝓛[ty]10033{Void})
{
𝓛1{<UNKNOWN>}(𝓛8743{String},𝓟153{channel},𝓟158{args})
𝓟154{callback}(𝓛12551{$Spread}(𝓟158{args}))
}
𝓟382{ipc}.on(𝓟153{channel},𝓟156{$Lambda36})
}
function 𝓟160{send} (𝓟161{channel}: [OOV]𝓟[ty]6{IpcChannelFromRenderer},𝓟162{args}: 𝓛[ty]8670{Array}): (𝓟163: [miss]𝓛[ty]10033{Void})
{
𝓛1{<UNKNOWN>}(𝓛8743{String},𝓟161{channel},𝓟162{args})
𝓟382{ipc}.send(𝓟161{channel},𝓛12551{$Spread}(𝓟162{args}))
}
Module: renderer/key_handler
function 𝓟164{scrollable} (𝓟165{pred}: 𝓛[ty]8696{Function}): (𝓟166: [miss]𝓛[ty]10033{Void})
{
const 𝓟167{scrollables}: [miss]𝓛[ty]11412{NodeListOf} = 𝓛12160{document}.querySelectorAll(𝓛8743{String}) as 𝓛[ty]11412{NodeListOf};
if (𝓟167{scrollables}.length.EqualsEqualsEqualsToken(𝓛8745{Number}))
{
𝓛1{<UNKNOWN>}(𝓛8743{String})
}
{
const 𝓟168{elem}: [miss]𝓛[ty]10921{HTMLElement} = 𝓛12552{$ArrayAccess}(𝓟167{scrollables});
while (𝓛8744{Boolean})
{
𝓟165{pred}(𝓟168{elem})
}
}
}
function 𝓟169{navigateTo} (𝓟170{host}: 𝓛[ty]10051{String},𝓟171{path}: 𝓛[ty]10051{String}): (𝓟172: [miss]𝓛[ty]10033{Void})
{
const 𝓟173{url}: [miss]𝓛[ty]10051{String} = 𝓛12554{$Template}(𝓟170{host},𝓟171{path});
if (𝓛12233{window}.location.href.EqualsEqualsEqualsToken(𝓟173{url}))
{
𝓛1{<UNKNOWN>}(𝓛8743{String},𝓟173{url})
}
const 𝓟174{link}: [miss]𝓛[ty]10661{Element} = 𝓛12160{document}.querySelector(𝓛12554{$Template}(𝓟171{path}));
if (𝓟174{link})
{
𝓛1{<UNKNOWN>}(𝓛8743{String},𝓟171{path})
𝓟174{link} as 𝓛[ty]10534{HTMLAnchorElement}.click()
}
else
{
𝓛1{<UNKNOWN>}(𝓛8743{String},𝓟171{path})
𝓛12233{window}.location.href ⟵ 𝓟173{url};
}
}
function 𝓟175{$Lambda37} (): (𝓟176: [miss]𝓛[ty]10033{Void})
{
function 𝓟177{$Lambda38} (𝓟178{s}): (𝓟179: [miss]𝓛[ty]10033{Void})
{
𝓟178{s}.scrollTop ⟵ 𝓛8745{Number};
}
𝓟164{scrollable}(𝓟177{$Lambda38})
}
function 𝓟180{$Lambda39} (): (𝓟181: [miss]𝓛[ty]10033{Void})
{
function 𝓟182{$Lambda40} (𝓟183{s}): (𝓟184: [miss]𝓛[ty]10033{Void})
{
𝓟183{s}.scrollTop ⟵ 𝓛12160{document}.body.scrollHeight;
}
𝓟164{scrollable}(𝓟182{$Lambda40})
}
function 𝓟185{$Lambda41} (): (𝓟186: [miss]𝓛[ty]10033{Void})
{
function 𝓟187{$Lambda42} (𝓟188{s}): (𝓟189: [miss]𝓛[ty]10033{Void})
{
𝓟188{s}.scrollTop.FirstCompoundAssignment(𝓛12233{window}.innerHeight.SlashToken(𝓛8745{Number}))
}
𝓟164{scrollable}(𝓟187{$Lambda42})
}
function 𝓟190{$Lambda43} (): (𝓟191: [miss]𝓛[ty]10033{Void})
{
function 𝓟192{$Lambda44} (𝓟193{s}): (𝓟194: [miss]𝓛[ty]10033{Void})
{
𝓟193{s}.scrollTop.MinusEqualsToken(𝓛12233{window}.innerHeight.SlashToken(𝓛8745{Number}))
}
𝓟164{scrollable}(𝓟192{$Lambda44})
}
function 𝓟195{$Lambda45} (): (𝓟196: [miss]𝓛[ty]10033{Void})
{
𝓟160{send}(𝓛8743{String})
}
function 𝓟197{$Lambda46} (): (𝓟198: [miss]𝓛[ty]10033{Void})
{
𝓟160{send}(𝓛8743{String})
}
function 𝓟199{$Lambda47} (): (𝓟200: [miss]𝓛[ty]10033{Void})
{
𝓟388{remote}.shell.openExternal(𝓛12233{window}.location.href)
}
const 𝓟201{ShortcutActions}: [miss]𝓛[ty]8642{Object} = {'scroll-up': 𝓟190{$Lambda43},'next-account': 𝓟195{$Lambda45},'scroll-top': 𝓟175{$Lambda37},'prev-account': 𝓟197{$Lambda46},'scroll-bottom': 𝓟180{$Lambda39},'scroll-down': 𝓟185{$Lambda41},'open-in-browser': 𝓟199{$Lambda47}} as {access: (𝓛[ty]10051{String})->()->𝓛[ty]10033{Void}};
function 𝓟202{setupKeymaps} (𝓟203{config}: [OOV]𝓟[ty]1313{Config},𝓟204{account}: [OOV]𝓟[ty]1314{Account},𝓟205{loader}: [OOV]𝓟[ty]347{PluginsLoader}): (𝓟206: [miss]𝓛[ty]10033{Void})
{
const 𝓟207{dataDir}: [miss]𝓛[ty]10051{String} = 𝓟203{config}.__DATA_DIR.BarBarToken(𝓛8743{String});
{
const 𝓟208{key}: [miss]𝓛[ty]10051{String} = 𝓛12552{$ArrayAccess}(𝓟203{config}.keymaps);
while (𝓛8744{Boolean})
{
const 𝓟209{action}: [miss]𝓛[ty]10051{String} = 𝓟203{config}.keymaps.access(𝓟208{key});
if (𝓟209{action}.endsWith(𝓛8743{String}))
{
if (𝓟203{config}.chromium_sandbox)
{
𝓛1{<UNKNOWN>}(𝓛8743{String},𝓟209{action})
}
const 𝓟210{script} = 𝓛2363{join}(𝓟207{dataDir},𝓟209{action});
let 𝓟211{plugin}: 𝓛[ty]8696{Function};
{
𝓟211{plugin} ⟵ 𝓛10097{require}(𝓟210{script});
}
function 𝓟212{$Lambda48} (𝓟213{e}): (𝓟214: [miss]𝓛[ty]10033{Void})
{
𝓟213{e}.preventDefault()
𝓛1{<UNKNOWN>}(𝓛8743{String},𝓟209{action})
{
𝓟211{plugin}(𝓟203{config},𝓟204{account})
}
}
𝓛1{<UNKNOWN>}(𝓟208{key},𝓟212{$Lambda48})
}
else
{
if (𝓟209{action}.startsWith(𝓛8743{String}))
{
const 𝓟215{split}: [miss]𝓛[ty]8670{Array} = 𝓟209{action}.split(𝓛8743{String}).slice(𝓛8745{Number});
if (𝓟215{split}.length.LessThanEqualsToken(𝓛8745{Number}))
{
𝓛1{<UNKNOWN>}(𝓛8743{String},𝓟209{action})
}
function 𝓟216{$Lambda49} (𝓟217{e}): (𝓟218: [miss]𝓛[ty]10033{Void})
{
𝓟205{loader}.runKeyShortcut(𝓟217{e},𝓟215{split}.access(𝓛8745{Number}),𝓟215{split}.access(𝓛8745{Number}))
}
𝓛1{<UNKNOWN>}(𝓟208{key},𝓟216{$Lambda49})
}
else
{
if (𝓟209{action}.startsWith(𝓛8743{String}))
{
function 𝓟219{$Lambda50} (𝓟220{e}): (𝓟221: [miss]𝓛[ty]10033{Void})
{
𝓟220{e}.preventDefault()
𝓟169{navigateTo}(𝓟204{account}.host,𝓟209{action})
}
𝓛1{<UNKNOWN>}(𝓟208{key},𝓟219{$Lambda50})
}
else
{
const 𝓟222{func}: [miss]𝓛[ty]8696{Function} = 𝓟201{ShortcutActions}.access(𝓟209{action});
if (𝓛12548{ExclamationToken}(𝓟222{func}))
{
𝓛1{<UNKNOWN>}(𝓛8743{String},𝓟209{action})
}
function 𝓟223{$Lambda51} (𝓟224{e}): (𝓟225: [miss]𝓛[ty]10033{Void})
{
𝓛1{<UNKNOWN>}(𝓛8743{String},𝓟209{action})
𝓟224{e}.preventDefault()
𝓟222{func}()
}
𝓛1{<UNKNOWN>}(𝓟208{key},𝓟223{$Lambda51})
}
}
}
}
}
}
Module: main/window
function 𝓟226{shouldOpenInternal} (𝓟227{host}: 𝓛[ty]10051{String},𝓟228{url}: 𝓛[ty]10051{String}): (𝓟229: 𝓛[ty]8666{Boolean})
{
if (𝓟227{host}.startsWith(𝓛8743{String}).AmpersandAmpersandToken(𝓛1{<UNKNOWN>}(𝓛8743{String})))
{
𝓛1{<UNKNOWN>}(𝓛8743{String})
return 𝓟229 = 𝓛8744{Boolean}
}
return 𝓟229 = 𝓛8744{Boolean}
}
function 𝓟230{CONSTRUCTOR} (𝓟231{browser}: [OOV]𝓛[ty]2{<UNKNOWN>},𝓟232{state}: [OOV]any,𝓟233{account}: [OOV]𝓟[ty]1314{Account},𝓟234{menubar}: [OOV]any): (𝓟[ty]268{Window})
{
const 𝓟[ty]268{Window};
const 𝓟[ty]268{Window};
𝓟[ty]268{Window}.account ⟵ 𝓟233{account};
𝓟[ty]268{Window}.state ⟵ 𝓟232{state};
𝓟[ty]268{Window}.browser ⟵ 𝓟231{browser};
𝓟[ty]268{Window}.menubar ⟵ 𝓟234{menubar};
if (𝓛12548{ExclamationToken}(𝓟10{IS_DARWIN}))
{
𝓟231{browser}.setMenu(𝓟380{Menu}.getApplicationMenu())
}
function 𝓟238{$Lambda21} (𝓟239{e},𝓟240{url}): (𝓟241: [miss]𝓛[ty]10033{Void})
{
const 𝓟242{host}: [miss]𝓛[ty]10051{String} = 𝓟80{hostUrl}(𝓟[ty]268{Window}.account);
if (𝓛1{<UNKNOWN>}(𝓟242{host}))
{
}
if (𝓟226{shouldOpenInternal}(𝓟242{host},𝓟240{url}))
{
}
𝓟239{e}.preventDefault()
𝓟383{shell}.openExternal(𝓟240{url})
𝓛1{<UNKNOWN>}(𝓛8743{String},𝓟240{url})
}
𝓟231{browser}.webContents.on(𝓛8743{String},𝓟238{$Lambda21})
function 𝓟243{$Lambda22} (𝓟244{e},𝓟245{url}): (𝓟246: [miss]𝓛[ty]10033{Void})
{
𝓟244{e}.preventDefault()
𝓟383{shell}.openExternal(𝓟245{url})
𝓛1{<UNKNOWN>}(𝓛8743{String},𝓟245{url})
}
𝓟231{browser}.webContents.on(𝓛8743{String},𝓟243{$Lambda22})
function 𝓟247{$Lambda23} (𝓟248{contents},𝓟249{permission},𝓟250{callback}): (𝓟251: [miss]𝓛[ty]10033{Void})
{
const 𝓟252{url} = 𝓟248{contents}.getURL();
const 𝓟253{grantedByDefault}: [miss]𝓛[ty]8666{Boolean} = 𝓛1{<UNKNOWN>}(𝓟80{hostUrl}(𝓟[ty]268{Window}.account)).AmpersandAmpersandToken(𝓟249{permission}.ExclamationEqualsEqualsToken(𝓛8743{String})).AmpersandAmpersandToken(𝓟249{permission}.ExclamationEqualsEqualsToken(𝓛8743{String}));
if (𝓟253{grantedByDefault})
{
𝓛1{<UNKNOWN>}(𝓛8743{String},𝓟249{permission})
𝓟250{callback}(𝓛8744{Boolean})
}
𝓛1{<UNKNOWN>}(𝓛8743{String},𝓟249{permission})
function 𝓟254{$Lambda24} (𝓟255{buttonIndex}: 𝓛[ty]8655{Number}): (𝓟256: [miss]𝓛[ty]10033{Void})
{
const 𝓟257{granted}: [miss]𝓛[ty]8666{Boolean} = 𝓟255{buttonIndex}.EqualsEqualsEqualsToken(𝓛8745{Number});
𝓟250{callback}(𝓟257{granted})
}
𝓟385{dialog}.showMessageBox({type: 𝓛8743{String},buttons: 𝓛8757{Array}(𝓛8743{String},𝓛8743{String}),message: 𝓛12554{$Template}(𝓟249{permission},𝓟252{url}),detail: 𝓛8743{String}},𝓟254{$Lambda24})
}
𝓟231{browser}.webContents.session.setPermissionRequestHandler(𝓟247{$Lambda23})
}
function 𝓟258{create} (𝓟259{account}: [OOV]𝓟[ty]1314{Account},𝓟260{config}: [OOV]𝓟[ty]1313{Config},𝓟261{mb}: [OOV]any): (𝓟262: [miss]𝓛[ty]8654{Promise})
{
function 𝓟263{$Lambda19} (𝓟264{win}): (𝓟265: [OOV]𝓟[ty]268{Window})
{
function 𝓟266{$Lambda20} (): (𝓟267: [miss]𝓛[ty]10033{Void})
{
𝓟286{applyUserCss}(𝓟264{win}.browser,𝓟260{config})
𝓟264{win}.browser.webContents.setZoomFactor(𝓟260{config}.zoom_factor)
𝓛1{<UNKNOWN>}(𝓛8743{String})
𝓟264{win}.browser.webContents.send(𝓛8743{String},𝓟260{config},𝓟259{account})
}
𝓟264{win}.browser.webContents.on(𝓛8743{String},𝓟266{$Lambda20})
return 𝓟265 = 𝓟264{win}
}
return 𝓟262 = (𝓟260{config}.normal_window ? 𝓟294{startNormalWindow}(𝓟259{account},𝓟260{config}) : 𝓟314{startMenuBar}(𝓟259{account},𝓟260{config},𝓟261{mb}).then(𝓟263{$Lambda19})
}
class 𝓟[ty]268{Window}{
𝓟270{browser}: [OOV]𝓛[ty]2{<UNKNOWN>};
𝓟271{state}: [OOV]any;
𝓟272{account}: [OOV]𝓟[ty]1314{Account};
𝓟273{menubar}: [OOV]any;
function 𝓟274{open} (𝓟275{url}: 𝓛[ty]10051{String}): (𝓟276: [miss]𝓛[ty]10033{Void})
{
𝓛1{<UNKNOWN>}(𝓛8743{String},𝓟275{url})
function 𝓟277{$Lambda25} (𝓟278{e}: (𝓛[ty]10051{String} ≠ 𝓛[ty]11364{Event}),𝓟279{_}: 𝓛[ty]10051{String},𝓟280{newUrl}: 𝓛[ty]10051{String}): (𝓟281: [miss]𝓛[ty]10033{Void})
{
if (𝓛1{<UNKNOWN>}(𝓟280{newUrl}))
{
}
𝓛1{<UNKNOWN>}(𝓛8743{String}.PlusToken(𝓟280{newUrl}).PlusToken(𝓛8743{String}))
𝓟278{e}.preventDefault()
𝓟[ty]268{Window}.browser.loadURL(𝓟80{hostUrl}(𝓟[ty]268{Window}.account).PlusToken(𝓛8743{String}))
}
𝓟[ty]268{Window}.browser.webContents.once(𝓛8743{String},𝓟277{$Lambda25})
if (𝓛1{<UNKNOWN>}(𝓛8743{String}))
{
𝓟[ty]268{Window}.browser.loadURL(𝓟275{url},{userAgent: 𝓟17{IOS_SAFARI_USERAGENT}})
}
else
{
𝓟[ty]268{Window}.browser.loadURL(𝓟275{url})
}
}
function 𝓟282{close} (): (𝓟283: [miss]𝓛[ty]10033{Void})
{
𝓛1{<UNKNOWN>}(𝓛8743{String},𝓟[ty]268{Window}.account)
𝓟[ty]268{Window}.state.saveState()
𝓟[ty]268{Window}.state.unmanage()
𝓟[ty]268{Window}.browser.webContents.removeAllListeners()
𝓟[ty]268{Window}.browser.removeAllListeners()
if (𝓟[ty]268{Window}.menubar)
{
𝓛12560{$Delete}(𝓟[ty]268{Window}.menubar.window)
}
𝓟[ty]268{Window}.browser.close()
}
function 𝓟284{toggle} (): (𝓟285: [miss]𝓛[ty]10033{Void})
{
if (𝓟[ty]268{Window}.menubar)
{
if (𝓟[ty]268{Window}.browser.isFocused())
{
𝓛1{<UNKNOWN>}(𝓛8743{String})
𝓟[ty]268{Window}.menubar.hideWindow()
}
else
{
𝓛1{<UNKNOWN>}(𝓛8743{String})
𝓟[ty]268{Window}.menubar.showWindow()
}
}
else
{
if (𝓟[ty]268{Window}.browser.isFocused())
{
𝓛1{<UNKNOWN>}(𝓛8743{String})
if (𝓟10{IS_DARWIN})
{
𝓟379{app}.hide()
}
else
{
if (𝓟11{IS_WINDOWS})
{
𝓟[ty]268{Window}.browser.minimize()
}
else
{
𝓟[ty]268{Window}.browser.hide()
}
}
}
else
{
𝓛1{<UNKNOWN>}(𝓛8743{String})
𝓟[ty]268{Window}.browser.show()
if (𝓟11{IS_WINDOWS})
{
𝓟[ty]268{Window}.browser.focus()
}
}
}
}
}
function 𝓟286{applyUserCss} (𝓟287{win}: [OOV]𝓛[ty]2{<UNKNOWN>},𝓟288{config}: [OOV]𝓟[ty]1313{Config}): (𝓟289: [miss]𝓛[ty]10033{Void})
{
if (𝓟288{config}.chromium_sandbox)
{
𝓛1{<UNKNOWN>}(𝓛8743{String})
}
function 𝓟290{$Lambda26} (𝓟291{err},𝓟292{css}): (𝓟293: [miss]𝓛[ty]10033{Void})
{
if (𝓟291{err})
{
𝓛1{<UNKNOWN>}(𝓛8743{String},𝓟291{err}.message)
}
𝓟287{win}.webContents.insertCSS(𝓟292{css})
𝓛1{<UNKNOWN>}(𝓛8743{String},𝓟16{USER_CSS})
}
𝓛7875{readFile}(𝓟16{USER_CSS},𝓛8743{String},𝓟290{$Lambda26})
}
function 𝓟294{startNormalWindow} (𝓟295{account}: [OOV]𝓟[ty]1314{Account},𝓟296{config}: [OOV]𝓟[ty]1313{Config}): (𝓟297: (𝓛[ty]10033{Void} ≠ 𝓛[ty]8654{Promise}))
{
𝓛1{<UNKNOWN>}(𝓛8743{String})
function 𝓟298{$Lambda27} (𝓟299{resolve}): (𝓟300: [miss]𝓛[ty]10033{Void})
{
const 𝓟301{state} = 𝓟390{windowState}({defaultWidth: 𝓛8745{Number},defaultHeight: 𝓛8745{Number}});
const 𝓟302{win} = 𝓟389{BrowserWindow}.CONSTRUCTOR({x: 𝓟301{state}.x,show: 𝓛8744{Boolean},y: 𝓟301{state}.y,icon: 𝓟12{APP_ICON},height: 𝓟301{state}.height,autoHideMenuBar: 𝓛12548{ExclamationToken}(𝓛12548{ExclamationToken}(𝓟296{config}.hide_menu)),webPreferences: {nodeIntegration: 𝓛8744{Boolean},partition: 𝓟21{partitionForAccount}(𝓟295{account}),zoomFactor: 𝓟296{config}.zoom_factor,sandbox: 𝓟309{sandboxFlag}(𝓟296{config},𝓟295{account}),preload: 𝓟13{PRELOAD_JS}},width: 𝓟301{state}.width});
function 𝓟303{$Lambda28} (): (𝓟304: [miss]𝓛[ty]10033{Void})
{
𝓟302{win}.show()
}
𝓟302{win}.once(𝓛8743{String},𝓟303{$Lambda28})
function 𝓟305{$Lambda29} (): (𝓟306: [miss]𝓛[ty]10033{Void})
{
𝓟379{app}.quit()
}
𝓟302{win}.once(𝓛8743{String},𝓟305{$Lambda29})
if (𝓟301{state}.isFullScreen)
{
𝓟302{win}.setFullScreen(𝓛8744{Boolean})
}
else
{
if (𝓟301{state}.isMaximized)
{
𝓟302{win}.maximize()
}
}
𝓟301{state}.manage(𝓟302{win})
function 𝓟307{$Lambda30} (): (𝓟308: [miss]𝓛[ty]10033{Void})
{
𝓛1{<UNKNOWN>}(𝓛8743{String})
if (𝓟9{IS_DEBUG})
{
𝓟302{win}.webContents.openDevTools({mode: 𝓛8743{String}})
}
}
𝓟302{win}.webContents.once(𝓛8743{String},𝓟307{$Lambda30})
𝓟299{resolve}(𝓟230{CONSTRUCTOR}(𝓟302{win},𝓟301{state},𝓟295{account},𝓛12563{undefined}))
}
return 𝓟297 = 𝓛1062{Promise}.CONSTRUCTOR(𝓟298{$Lambda27})
}
function 𝓟309{sandboxFlag} (𝓟310{config}: [OOV]𝓟[ty]1313{Config},𝓟311{account}: [OOV]𝓟[ty]1314{Account}): (𝓟312: [miss]𝓛[ty]8666{Boolean})
{
const 𝓟313{electronBugIssue9276}: [miss]𝓛[ty]8666{Boolean} = 𝓟311{account}.host.EqualsEqualsEqualsToken(𝓛8743{String}).BarBarToken(𝓟311{account}.host.EqualsEqualsEqualsToken(𝓛8743{String}));
if (𝓟313{electronBugIssue9276})
{
return 𝓟312 = 𝓛8744{Boolean}
}
return 𝓟312 = 𝓛12548{ExclamationToken}(𝓛12548{ExclamationToken}(𝓟310{config}.chromium_sandbox))
}
function 𝓟314{startMenuBar} (𝓟315{account}: [OOV]𝓟[ty]1314{Account},𝓟316{config}: [OOV]𝓟[ty]1313{Config},𝓟317{bar}: [OOV]any): (𝓟318: (𝓛[ty]10033{Void} ≠ 𝓛[ty]8654{Promise}))
{
𝓛1{<UNKNOWN>}(𝓛8743{String})
function 𝓟319{$Lambda31} (𝓟320{resolve}): (𝓟321: [miss]𝓛[ty]10033{Void})
{
const 𝓟322{state} = 𝓟390{windowState}({defaultWidth: 𝓛8745{Number},defaultHeight: 𝓛8745{Number}});
const 𝓟323{icon} = 𝓟18{trayIcon}(𝓟316{config}.icon_color);
const 𝓟324{mb} = 𝓟317{bar}.BarBarToken(𝓛12172{menubar}({alwaysOnTop: 𝓟9{IS_DEBUG}.BarBarToken(𝓛12548{ExclamationToken}(𝓛12548{ExclamationToken}(𝓟316{config}.always_on_top))),show: 𝓛8744{Boolean},showDockIcon: 𝓛8744{Boolean},icon: 𝓟323{icon},height: 𝓟322{state}.height,autoHideMenuBar: 𝓛12548{ExclamationToken}(𝓛12548{ExclamationToken}(𝓟316{config}.hide_menu)),webPreferences: {nodeIntegration: 𝓛8744{Boolean},partition: 𝓟21{partitionForAccount}(𝓟315{account}),zoomFactor: 𝓟316{config}.zoom_factor,sandbox: 𝓟309{sandboxFlag}(𝓟316{config},𝓟315{account}),preload: 𝓟13{PRELOAD_JS}},tooltip: 𝓛8743{String},width: 𝓟322{state}.width}));
function 𝓟325{$Lambda32} (): (𝓟326: [miss]𝓛[ty]10033{Void})
{
𝓛1{<UNKNOWN>}(𝓛8743{String})
if (𝓟9{IS_DEBUG})
{
𝓟324{mb}.window.webContents.openDevTools({mode: 𝓛8743{String}})
}
𝓟322{state}.manage(𝓟324{mb}.window)
𝓟320{resolve}(𝓟230{CONSTRUCTOR}(𝓟324{mb}.window,𝓟322{state},𝓟315{account},𝓟324{mb}))
}
𝓟324{mb}.once(𝓛8743{String},𝓟325{$Lambda32})
function 𝓟327{$Lambda33} (): (𝓟328: [miss]𝓛[ty]10033{Void})
{
𝓟379{app}.quit()
}
𝓟324{mb}.once(𝓛8743{String},𝓟327{$Lambda33})
if (𝓟317{bar})
{
𝓛1{<UNKNOWN>}(𝓛8743{String},𝓟315{account})
const 𝓟329{pref} = 𝓟324{mb}.getOption(𝓛8743{String});
𝓟329{pref}.partition ⟵ 𝓟21{partitionForAccount}(𝓟315{account});
𝓟329{pref}.sandbox ⟵ 𝓟309{sandboxFlag}(𝓟316{config},𝓟315{account});
𝓟324{mb}.setOption(𝓛8743{String},𝓟329{pref})
𝓟324{mb}.showWindow()
}
else
{
𝓛1{<UNKNOWN>}(𝓛8743{String},𝓟315{account})
function 𝓟330{$Lambda34} (): (𝓟331: [OOV]any)
{
return 𝓟331 = 𝓟324{mb}.showWindow()
}
𝓟324{mb}.once(𝓛8743{String},𝓟330{$Lambda34})
}
}
return 𝓟318 = 𝓛1062{Promise}.CONSTRUCTOR(𝓟319{$Lambda31})
}
Module: renderer/plugins
type 𝓟[ty]1310{Plugins} = {access: (𝓛[ty]10051{String})->𝓟[ty]1319{Plugin}}
type 𝓟[ty]1319{Plugin} = {keymaps: {access: (𝓛[ty]10051{String})->(𝓛[ty]10781{KeyboardEvent},𝓟[ty]1313{Config},𝓟[ty]1314{Account})->𝓛[ty]10033{Void}}, preload: (𝓟[ty]1313{Config},𝓟[ty]1314{Account})->𝓛[ty]10033{Void}}
function 𝓟334{CONSTRUCTOR} (𝓟335{config}: [OOV]𝓟[ty]1313{Config},𝓟336{account}: [OOV]𝓟[ty]1314{Account}): (𝓟[ty]347{PluginsLoader})
{
const 𝓟[ty]347{PluginsLoader};
const 𝓟[ty]347{PluginsLoader};
function 𝓟340{$Lambda54} (): (𝓟341: [miss]𝓛[ty]8666{Boolean})
{
if (𝓛12160{document}.querySelector(𝓛8743{String}).EqualsEqualsEqualsToken(𝓛12563{undefined}))
{
𝓛1{<UNKNOWN>}(𝓛8743{String})
return 𝓟341 = 𝓛8744{Boolean}
}
{
const 𝓟342{key}: [miss]𝓛[ty]10051{String} = 𝓛12552{$ArrayAccess}(𝓟[ty]347{PluginsLoader}.preloads);
while (𝓛8744{Boolean})
{
const 𝓟343{f}: [miss]𝓛[ty]8696{Function} = 𝓟[ty]347{PluginsLoader}.preloads.access(𝓟342{key}).preload;
if (𝓛12548{ExclamationToken}(𝓟343{f}))
{
𝓛1{<UNKNOWN>}(𝓛8743{String},𝓟342{key})
}
{
𝓟343{f}(𝓟[ty]347{PluginsLoader}.config,𝓟[ty]347{PluginsLoader}.account)
}
}
}
𝓛1{<UNKNOWN>}(𝓛8743{String},𝓟[ty]347{PluginsLoader}.preloads)
return 𝓟341 = 𝓛8744{Boolean}
}
𝓟[ty]347{PluginsLoader}.tryLoading ⟵ 𝓟340{$Lambda54};
𝓟[ty]347{PluginsLoader}.loaded ⟵ 𝓛8744{Boolean};
𝓟[ty]347{PluginsLoader}.preloads ⟵ {};
if (𝓟335{config}.chromium_sandbox)
{
𝓛1{<UNKNOWN>}(𝓛8743{String})
}
const 𝓟344{dir_base} = 𝓛2363{join}(𝓟335{config}.__DATA_DIR,𝓛8743{String});
{
const 𝓟345{plugin}: [miss]𝓛[ty]10051{String} = 𝓛12552{$ArrayAccess}(𝓟[ty]347{PluginsLoader}.account.plugins.BarBarToken(𝓛8757{Array}()));
while (𝓛8744{Boolean})
{
const 𝓟346{plugin_path} = 𝓛2363{join}(𝓟344{dir_base},𝓛12554{$Template}(𝓟345{plugin}));
{
𝓟[ty]347{PluginsLoader}.preloads.access(𝓟346{plugin_path}) ⟵ 𝓛10097{require}(𝓟346{plugin_path}) as 𝓟[ty]1319{Plugin};
}
}
}
}
class 𝓟[ty]347{PluginsLoader}{
𝓟349{preloads}: [OOV]𝓟[ty]1310{Plugins};
𝓟350{loaded}: 𝓛[ty]8666{Boolean};
𝓟351{tryLoading}: [miss]𝓛[ty]8696{Function};
function 𝓟352{loadAfterAppPrepared} (): (𝓟353: [miss]𝓛[ty]8654{Promise})
{
if (𝓛8741{Object}.keys(𝓟[ty]347{PluginsLoader}.preloads).length.EqualsEqualsEqualsToken(𝓛8745{Number}))
{
𝓛1{<UNKNOWN>}(𝓛8743{String})
𝓟[ty]347{PluginsLoader}.loaded ⟵ 𝓛8744{Boolean};
}
function 𝓟354{$Lambda52} (𝓟355{resolve}): (𝓟356: [miss]𝓛[ty]10033{Void})
{
function 𝓟357{$Lambda53} (): (𝓟358: [miss]𝓛[ty]10033{Void})
{
𝓛1{<UNKNOWN>}(𝓛8743{String},𝓟[ty]347{PluginsLoader}.preloads)
if (𝓟[ty]347{PluginsLoader}.tryLoading())
{
return 𝓟358 = 𝓟355{resolve}()
}
𝓟[ty]347{PluginsLoader}.observeAppPrepared(𝓟[ty]347{PluginsLoader}.tryLoading).then(𝓟355{resolve})
}
𝓛12233{window}.requestIdleCallback(𝓟357{$Lambda53})
}
return 𝓟353 = 𝓛1062{Promise}.CONSTRUCTOR(𝓟354{$Lambda52})
}
function 𝓟359{observeAppPrepared} (𝓟360{callback}: 𝓛[ty]8696{Function}): (𝓟361: [miss]𝓛[ty]8654{Promise})
{
return 𝓟361 = 𝓛1062{Promise}.resolve(𝓟360{callback}())
}
function 𝓟362{findPluginByName} (𝓟363{name}: 𝓛[ty]10051{String}): (𝓟364: [OOV]any)
{
const 𝓟365{pluginName}: [miss]𝓛[ty]10051{String} = 𝓛12554{$Template}(𝓟363{name});
{
const 𝓟366{p}: [miss]𝓛[ty]10051{String} = 𝓛12552{$ArrayAccess}(𝓟[ty]347{PluginsLoader}.preloads);
while (𝓛8744{Boolean})
{
if (𝓟366{p}.endsWith(𝓟365{pluginName}))
{
return 𝓟364 = 𝓟[ty]347{PluginsLoader}.preloads.access(𝓟366{p})
}
}
}
return 𝓟364 = 𝓛12563{undefined}
}
function 𝓟367{runKeyShortcut} (𝓟368{event}: (𝓛[ty]10051{String} ≠ 𝓛[ty]10781{KeyboardEvent}),𝓟369{name}: 𝓛[ty]10051{String},𝓟370{action}: 𝓛[ty]10051{String}): (𝓟371: [miss]𝓛[ty]10033{Void})
{
const 𝓟372{plugin}: [OOV]𝓟[ty]1319{Plugin} = 𝓟[ty]347{PluginsLoader}.findPluginByName(𝓟369{name});
if (𝓟372{plugin}.EqualsEqualsEqualsToken(𝓛12563{undefined}))
{
𝓛1{<UNKNOWN>}(𝓛12554{$Template}(𝓟370{action},𝓟369{name}),𝓟[ty]347{PluginsLoader}.preloads)
}
const 𝓟373{f}: [miss]𝓛[ty]8696{Function} = 𝓟372{plugin}.keymaps.BarBarToken({}).access(𝓟370{action});
if (𝓛12548{ExclamationToken}(𝓟373{f}))
{
𝓛1{<UNKNOWN>}(𝓛12554{$Template}(𝓟370{action},𝓟369{name}),𝓟372{plugin})
}
{
𝓟373{f}(𝓟368{event},𝓟[ty]347{PluginsLoader}.config,𝓟[ty]347{PluginsLoader}.account)
}
}
}