define(function(require,exports,module){const OVERRIDE_FILE_NAME="phoenix_override_config.json",READ_TIMEOUT_MS=5e3,OVERRIDABLE_KEYS=["app_update_url","app_update_linux_installer_url","prodMCPOverrideDate"];function _getOverrideFilePath(){if(!Phoenix.isNativeApp)return"";let platformPath;if("win"===Phoenix.platform)platformPath=`C:\\Program Files\\Phoenix Code Control\\${OVERRIDE_FILE_NAME}`;else if("mac"===Phoenix.platform)platformPath=`/Library/Application Support/Phoenix Code Control/${OVERRIDE_FILE_NAME}`;else{if("linux"!==Phoenix.platform)return console.error("System config override: unsupported platform",Phoenix.platform),"";platformPath=`/etc/phoenix-code-control/${OVERRIDE_FILE_NAME}`}return Phoenix.VFS.getTauriVirtualPath(platformPath)}const OVERRIDE_FILE_PATH=_getOverrideFilePath();let overridesPromise=null;function getOverrides(){return overridesPromise||(overridesPromise=async function(){if(!OVERRIDE_FILE_PATH)return{};const fileData=await Promise.race([Phoenix.VFS.readFileResolves(OVERRIDE_FILE_PATH,"utf8"),new Promise(resolve=>{setTimeout(()=>resolve({error:new Error("timed out")}),READ_TIMEOUT_MS)})]);if(fileData.error||!fileData.data)return{};try{const rawOverrides=JSON.parse(fileData.data),overrides={};for(const key of OVERRIDABLE_KEYS)void 0!==rawOverrides[key]&&(overrides[key]=rawOverrides[key]);return console.warn(`System config override in effect from ${OVERRIDE_FILE_PATH}:`,overrides),overrides}catch(e){return console.error(`Error parsing system config override ${OVERRIDE_FILE_PATH}`,e),logger.reportError(e,"Error parsing system config override file"),{}}}())}exports.OVERRIDE_FILE_PATH=OVERRIDE_FILE_PATH,exports.getOverrides=getOverrides});