var __FLURX_IIFE__=function(i){"use strict";const e=(i,e=null)=>new Promise(((a,n)=>{const s=t(),o=`_${s}`;window.ipc.postMessage(JSON.stringify((e=>null==e?{type:"Command",message:{id:i,resolve_id:s}}:{type:"Command",message:{id:i,args:JSON.stringify(e),resolve_id:s}})(e))),Object.defineProperty(window.__FLURX__,o,{value:i=>{Reflect.deleteProperty(window.__FLURX__,o),(i=>!(!i||i&&"object"!=typeof i)&&void 0!==i.Ok)(i)?a(i.Ok):(i=>!(!i||i&&"object"!=typeof i)&&void 0!==i.Err)(i)?n(i.Err):a(i)},writable:!1,configurable:!0})})),a=(i,e)=>{window.ipc.postMessage(JSON.stringify({type:"Event",message:{event_id:i,payload:JSON.stringify(e)}}))},t=()=>window.crypto.getRandomValues(new Uint32Array(1))[0];var n,s,o,r,w,c,d;i.app=void 0,(n=i.app||(i.app={})).getName=()=>e("FLURX|app::get_name"),n.getVersion=()=>e("FLURX|app::get_version"),n.exit=()=>e("FLURX|app::exit"),i.log=void 0,function(i){i.println=i=>a("FLURX|log::println",{message:t(i)}),i.trace=i=>e(i,"trace"),i.info=i=>e(i,"info"),i.warn=i=>e(i,"warn"),i.error=i=>e(i,"error");const e=(i,e)=>{a("FLURX|log::log",{message:t(i),level:e})},t=i=>"object"==typeof i?JSON.stringify(i,null,2):i.toString()}(i.log||(i.log={})),i.fs=void 0,(s=i.fs||(i.fs={})).copyFile=async(i,a,t)=>{await e("FLURX|fs::copy_file",{from:i,to:a,...t})},s.createDir=async(i,a)=>{await e("FLURX|fs::create_dir",{path:i,...a})},s.exists=async(i,a)=>await e("FLURX|fs::exists",{path:i,...a}),s.readBinaryFile=async(i,a)=>await e("FLURX|fs::read_binary_file",{path:i,...a}),s.readTextFile=async(i,a)=>await e("FLURX|fs::read_text_file",{path:i,...a}),s.removeFile=async(i,a)=>{await e("FLURX|fs::remove_file",{path:i,...a})},s.renameFile=async(i,a,t)=>{await e("FLURX|fs::rename_file",{oldPath:i,newPath:a,...t})},s.writeTextFile=async(i,a,t)=>{await e("FLURX|fs::write_text_file",{path:i,contents:a,...t})},s.writeBinaryFile=async(i,a,t)=>{await e("FLURX|fs::write_binary_file",{path:i,contents:a,...t})},s.readDir=async(i,a)=>await e("FLURX|fs::read_dir",{path:i,...a}),s.removeDir=async(i,a)=>{await e("FLURX|fs::remove_dir",{path:i,...a})},i.dialog=void 0,(o=i.dialog||(i.dialog={})).ask=async(i,a)=>await e("FLURX|dialog::ask",{questionMessage:i,...a}),o.confirm=async(i,a)=>await e("FLURX|dialog::confirm",{questionMessage:i,...a}),o.message=async(i,a)=>{await e("FLURX|dialog::message",{questionMessage:i,...a})},o.open=async i=>{const a=await e("FLURX|dialog::open",i);return t=a,t?.Single?a.Single:a.Multiple;var t},o.save=async i=>await e("FLURX|dialog::save",{...i}),i.path=void 0,(r=i.path||(i.path={})).config=async()=>await e("FLURX|path::config"),r.configLocal=async()=>await e("FLURX|path::config_local"),r.data=async()=>await e("FLURX|path::data"),r.dataLocal=async()=>await e("FLURX|path::data_local"),r.audio=async()=>await e("FLURX|path::audio"),r.cache=async()=>await e("FLURX|path::cache"),r.desktop=async()=>await e("FLURX|path::desktop"),r.document=async()=>await e("FLURX|path::document"),r.download=async()=>await e("FLURX|path::download"),r.executable=async()=>await e("FLURX|path::executable"),r.publicDir=async()=>await e("FLURX|path::public"),r.runtime=async()=>await e("FLURX|path::runtime"),r.temp=async()=>await e("FLURX|path::temp"),r.template=async()=>await e("FLURX|path::template"),r.video=async()=>await e("FLURX|path::video"),r.home=async()=>await e("FLURX|path::home"),r.picture=async()=>await e("FLURX|path::picture"),i.clipboard=void 0,(w=i.clipboard||(i.clipboard={})).getText=async()=>await e("FLURX|clipboard::get_text"),w.setText=async i=>{await e("FLURX|clipboard::set_text",i)},i.notification=void 0,(i.notification||(i.notification={})).send=async(i,a)=>{await e("FLURX|notification::send",{message:i,...a})},i.os=void 0,(c=i.os||(i.os={})).arch=async()=>await e("FLURX|os::arch"),c.family=async()=>await e("FLURX|os::family"),c.version=async()=>await e("FLURX|os::os_version"),c.longOsVersion=async()=>await e("FLURX|os::long_os_version"),c.kernelVersion=async()=>await e("FLURX|os::kernel_version"),c.systemName=async()=>await e("FLURX|os::system_name"),c.hostName=async()=>await e("FLURX|os::host_name"),c.locale=async()=>await e("FLURX|os::locale"),i.monitor=void 0,(d=i.monitor||(i.monitor={})).availables=async()=>await e("FLURX|monitor::availables"),d.current=async()=>await e("FLURX|monitor::current"),d.primary=async()=>await e("FLURX|monitor::primary"),i.http=void 0,(i.http||(i.http={})).fetch=async(i,a)=>{a?.body&&(a.body=Array.from(await new Response(a.body).bytes()));const t=await e("FLURX|http::fetch",{url:i.toString(),...a});return new Response(new Uint8Array(t.body),{headers:t.headers,status:t.status,statusText:t.statusText})};class _{constructor(i){this.identifier=i}listen(i,e){const a=`_event_${this.identifier}_${i}`;return Object.defineProperty(window.__FLURX__,a,{value:e,writable:!1,configurable:!0}),()=>{Reflect.deleteProperty(window.__FLURX__,a)}}async innerPosition(){return await e("FLURX|web_window::inner_position",this.identifier)}async outerPosition(){return await e("FLURX|web_window::outer_position",this.identifier)}async setPosition(i){await e("FLURX|web_window::set_position",[this.identifier,i])}async title(){return await e("FLURX|web_window::title",this.identifier)}async center(){await e("FLURX|web_window::center",this.identifier)}async hide(){await e("FLURX|web_window::hide",this.identifier)}async show(){await e("FLURX|web_window::show",this.identifier)}async innerSize(){return await e("FLURX|web_window::inner_size",this.identifier)}async isDecorated(){return await e("FLURX|web_window::is_decorated",this.identifier)}async hasFocused(){return await e("FLURX|web_window::is_focused",this.identifier)}async isFullscreen(){return await e("FLURX|web_window::is_fullscreen",this.identifier)}async isMaximized(){return await e("FLURX|web_window::is_maximized",this.identifier)}async isMaximizable(){return await e("FLURX|web_window::is_maximizable",this.identifier)}async isMinimizable(){return await e("FLURX|web_window::is_minimizable",this.identifier)}async isMinimized(){return await e("FLURX|web_window::is_minimized",this.identifier)}async isResizable(){return await e("FLURX|web_window::is_resizable",this.identifier)}async isVisible(){return await e("FLURX|web_window::is_visible",this.identifier)}async maximize(){await e("FLURX|web_window::maximize",this.identifier)}async unMaximize(){await e("FLURX|web_window::un_maximize",this.identifier)}async minimize(){await e("FLURX|web_window::minimize",this.identifier)}async unMinimize(){await e("FLURX|web_window::un_minimize",this.identifier)}async setDecorations(i){await e("FLURX|web_window::set_decorations",[this.identifier,i])}async focus(){await e("FLURX|web_window::focus",this.identifier)}async unFocus(){await e("FLURX|web_window::un_focus",this.identifier)}async setWindowMode(i){await e("FLURX|web_window::set_window_mode",[this.identifier,i])}async setCursorHitTest(i){await e("FLURX|web_window::set_cursor_hit_test",[this.identifier,i])}static current(){return new _(window.__FLURX__.windowIdentifier)}static async newWindow(i){return await e("FLURX|webWindow::create",i),new _(i.identifier)}}return i.WebWindow=_,i.__emitEvent=(i,e,a)=>{window.__FLURX__[`_event_${i}_${e}`]?.(a)},i.__resolveIpc=(i,e)=>{window.__FLURX__[`_${i}`]?.(e)},i.emit=a,i.invoke=e,i}({});Object.defineProperty(window,"__FLURX__",{value:__FLURX_IIFE__});