-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathpatcher.js
24 lines (24 loc) · 39.8 KB
/
patcher.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
// Vencord fcf8690
// Standalone: true
// Platform: Universal
// Updater Disabled: false
"use strict";var Pn=Object.create;var _e=Object.defineProperty;var Rn=Object.getOwnPropertyDescriptor;var An=Object.getOwnPropertyNames;var _n=Object.getPrototypeOf,On=Object.prototype.hasOwnProperty;var d=(e,t)=>()=>(e&&(t=e(e=0)),t);var se=(e,t)=>{for(var r in t)_e(e,r,{get:t[r],enumerable:!0})},At=(e,t,r,i)=>{if(t&&typeof t=="object"||typeof t=="function")for(let n of An(t))!On.call(e,n)&&n!==r&&_e(e,n,{get:()=>t[n],enumerable:!(i=Rn(t,n))||i.enumerable});return e};var We=(e,t,r)=>(r=e!=null?Pn(_n(e)):{},At(t||!e||!e.__esModule?_e(r,"default",{value:e,enumerable:!0}):r,e)),Ze=e=>At(_e({},"__esModule",{value:!0}),e);var c=d(()=>{"use strict"});function ce(e,t={}){return new Promise((r,i)=>{_t.default.get(e,t,n=>{let{statusCode:o,statusMessage:a,headers:s}=n;if(o>=400)return void i(`${o}: ${a} - ${e}`);if(o>=300)return void r(ce(s.location,t));let l=[];n.on("error",i),n.on("data",v=>l.push(v)),n.once("end",()=>r(Buffer.concat(l)))})})}var _t,Be=d(()=>{"use strict";c();_t=We(require("https"))});var Se=d(()=>{"use strict";c()});var xe,He=d(()=>{c();xe="fcf8690"});var le,$e=d(()=>{c();le="Vendicated/Vencord"});var Ot,Ct=d(()=>{"use strict";c();He();$e();Ot=`Vencord/${xe}${le?` (https://github.com/${le})`:""}`});function Te(e){return async function(){try{return{ok:!0,value:await e(...arguments)}}catch(t){return{ok:!1,error:t instanceof Error?{...t}:t}}}}var Mt,kt=d(()=>{"use strict";c();Mt=["patcher.js","preload.js","renderer.js","renderer.css"]});var Nn={};async function zt(e){return ce(Cn+e,{headers:{Accept:"application/vnd.github+json","User-Agent":Ot}})}async function Mn(){if(!await Vt())return[];let t=await zt(`/compare/${xe}...HEAD`);return JSON.parse(t.toString("utf-8")).commits.map(i=>({hash:i.sha.slice(0,7),author:i.author.login,message:i.commit.message.split(`
`)[0]}))}async function Vt(){let e=await zt("/releases/latest"),t=JSON.parse(e.toString());return t.name.slice(t.name.lastIndexOf(" ")+1)===xe?!1:(t.assets.forEach(({name:i,browser_download_url:n})=>{Mt.some(o=>i.startsWith(o))&&Ke.push([i,n])}),!0)}async function kn(){return await Promise.all(Ke.map(async([e,t])=>(0,Nt.writeFile)((0,Lt.join)(__dirname,e),await ce(t)))),Ke=[],!0}var Ee,Nt,Lt,Cn,Ke,Ut=d(()=>{"use strict";c();Be();Se();Ct();Ee=require("electron"),Nt=require("fs/promises"),Lt=require("path");He();$e();kt();Cn=`https://api.github.com/repos/${le}`,Ke=[];Ee.ipcMain.handle("VencordGetRepo",Te(()=>`https://github.com/${le}`));Ee.ipcMain.handle("VencordGetUpdates",Te(Mn));Ee.ipcMain.handle("VencordUpdate",Te(Vt));Ee.ipcMain.handle("VencordBuild",Te(kn))});var Gt=d(()=>{"use strict";c();Ut()});function Wt(e,t,r,i){return BigInt(e)|BigInt(t)<<16n|BigInt(r)<<32n|BigInt(i)<<48n}function F(e,t){return BigInt(e[t])|BigInt(e[t+1])<<8n|BigInt(e[t+2])<<16n|BigInt(e[t+3])<<24n|BigInt(e[t+4])<<32n|BigInt(e[t+5])<<40n|BigInt(e[t+6])<<48n|BigInt(e[t+7])<<56n}function S(e,t){return e<<t&Ln|e>>Zt-t}function f(e){return BigInt.asUintN(64,e)}function Bt(e,t=0){return new qe(t).update(e).digest()}var w,E,jt,be,Ft,Zt,Ln,zn,qe,Ht=d(()=>{c();w=11400714785074694791n,E=14029467366897019727n,jt=1609587929392839161n,be=9650029242287828579n,Ft=2870177450012600261n,Zt=64n,Ln=2n**Zt-1n,zn=new TextEncoder;qe=class{#t;#r;#n;#i;#o;#a;#s;#e;constructor(t=0){this.reset(t)}reset(t=this.#t){return this.#t=BigInt.asUintN(32,BigInt(t)),this.#r=f(this.#t+w+E),this.#n=f(this.#t+E),this.#i=this.#t,this.#o=f(this.#t-w),this.#a=null,this.#s=0,this.#e=0,this}update(t){typeof t=="string"&&(t=zn.encode(t));let r=0,i=t.length,n=r+i;if(i===0)return this;if(this.#s+=i,this.#e===0&&(this.#a=new Uint8Array(32)),this.#e+i<32)return this.#a.set(t.subarray(0,i),this.#e),this.#e+=i,this;if(this.#e>0){this.#a.set(t.subarray(0,32-this.#e),this.#e);let o=0,a;a=F(this.#a,o),this.#r=f(S(f(this.#r+a*E),31n)*w),o+=8,a=F(this.memory,o),this.#n=f(S(f(this.#n+a*E),31n)*w),o+=8,a=F(this.memory,o),this.#i=f(S(f(this.#i+a*E),31n)*w),o+=8,a=F(this.memory,o),this.#o=f(S(f(this.#o+a*E),31n)*w),r+=32-this.#e,this.#e=0}if(r<=n-32){let o=n-32;do{let a;a=F(t,r),this.#r=f(S(f(this.#r+a*E),31n)*w),r+=8,a=F(t,r),this.#n=f(S(f(this.#n+a*E),31n)*w),r+=8,a=F(t,r),this.#i=f(S(f(this.#i+a*E),31n)*w),r+=8,a=F(t,r),this.#o=f(S(f(this.#o+a*E),31n)*w),r+=8}while(r<=o)}return r<n&&(this.#a.set(t.subarray(r,n),this.#e),this.#e=n-r),this}digest(){let t=this.#a,r=this.#e,i=0,n=0n,o=0n,a=0n;for(this.#s>=32?(n=S(this.#r,1n)+S(this.#n,7n)+S(this.#i,12n)+S(this.#o,18n),n=f(n^S(f(this.#r*E),31n)*w),n=f(n*w+be),n=f(n^S(f(this.#n*E),31n)*w),n=f(n*w+be),n=f(n^S(f(this.#i*E),31n)*w),n=f(n*w+be),n=f(n^S(f(this.#o*E),31n)*w),n=f(n*w+be)):n=f(this.#t+Ft),n+=BigInt(this.#s);i<=r-8;)a=F(t,i),a=f(S(f(a*E),31n)*w),n=f(S(n^a,27n)*w+be),i+=8;for(i+4<=r&&(a=Wt(t[i+1]<<8|t[i],t[i+3]<<8|t[i+2],0,0),n=f(S(n^f(a*w),23n)*E+jt),i+=4);i<r;)a=Wt(t[i++],0,0,0),n=f(S(n^f(a*Ft),11n)*w);return o=f(n>>33n),n=f((n^o)*E),o=f(n>>29n),n=f((n^o)*jt),o=f(n>>32n),n=f(n^o),n}}});function Un(e){e=BigInt(e);let t=[],r=Math.ceil(Math.floor(Math.log2(Number(e))+1)/8);for(let n=0;n<r;n++)t.unshift(Number(e>>BigInt(8*n)&BigInt(255)));let i=new Uint8Array(t);return Vn?i:i.reverse()}function $t(e){let t=Bt(e,0),r=Un(t);return[ue[r[0]>>2],ue[(r[0]&3)<<4|r[1]>>4],ue[(r[1]&15)<<2|r[2]>>6],ue[r[2]&63],ue[r[3]>>2],ue[(r[3]&3)<<4|r[3]>>4]].join("")}var ue,Vn,Kt=d(()=>{"use strict";c();Ht();ue="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/".split(""),Vn=(()=>{let e=new Uint8Array(4),t=new Uint32Array(e.buffer);return!((t[0]=1)&e[0])})()});function Yt(e){let t=typeof e=="string"?e:e.source;if(t=t.replaceAll(/#{intl::([\w$+/]*)(?:::(\w+))?}/g,(i,n,o)=>{let a=o==="raw"?n:$t(n),s=typeof e=="string";return!Number.isNaN(Number(a[0]))||a.includes("+")||a.includes("/")?s?`["${a}"]`:String.raw`(?:\["${a}"\])`.replaceAll("+","\\+"):s?`.${a}`:String.raw`(?:\.${a})`}),typeof e=="string")return t;let r=t.replaceAll("\\i",String.raw`(?:[A-Za-z_$][\w$]*)`);return new RegExp(r,e.flags)}var qt=d(()=>{"use strict";c();Kt()});var Qe={};se(Qe,{fetchTrackData:()=>Zn});async function Je(e){let{stdout:t}=await Qt("osascript",e.map(r=>["-e",r]).flat());return t}async function Wn({id:e,name:t,artist:r,album:i}){if(e===N?.id){if("data"in N)return N.data;if("failures"in N&&N.failures>=5)return null}try{let n=new URL("https://amp-api-edge.music.apple.com/v1/catalog/us/search");n.searchParams.set("platform","web"),n.searchParams.set("l","en-US"),n.searchParams.set("limit","1"),n.searchParams.set("with","serverBubbles"),n.searchParams.set("types","songs"),n.searchParams.set("term",`${t} ${r} ${i}`),n.searchParams.set("include[songs]","artists");let o=await Fn(),a=await fetch(n,{headers:{accept:"*/*","accept-language":"en-US,en;q=0.9",authorization:`Bearer ${o}`,"user-agent":"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/128.0.0.0 Safari/537.36",origin:"https://music.apple.com"}}).then(s=>s.json()).then(s=>s.results.song.data[0]);return N={id:e,data:{appleMusicLink:a.attributes.url,songLink:`https://song.link/i/${a.id}`,albumArtwork:a.attributes.artwork.url.replace("{w}x{h}","512x512"),artistArtwork:a.relationships.artists.data[0].attributes.artwork.url.replace("{w}x{h}","512x512")}},N.data}catch(n){return console.error("[AppleMusicRichPresence] Failed to fetch remote data:",n),N={id:e,failures:(e===N?.id&&"failures"in N?N.failures:0)+1},null}}async function Zn(){try{await Qt("pgrep",["^Music$"])}catch{return null}if(await Je(['tell application "Music"',"get player state","end tell"]).then(m=>m.trim())!=="playing")return null;let t=await Je(['tell application "Music"',"get player position","end tell"]).then(m=>Number.parseFloat(m.trim())),r=await Je(['set output to ""','tell application "Music"',"set t_id to database id of current track","set t_name to name of current track","set t_album to album of current track","set t_artist to artist of current track","set t_duration to duration of current track",'set output to "" & t_id & "\\n" & t_name & "\\n" & t_album & "\\n" & t_artist & "\\n" & t_duration',"end tell","return output"]),[i,n,o,a,s]=r.split(`
`).filter(m=>!!m),l=Number.parseFloat(s),v=await Wn({id:i,name:n,artist:a,album:o});return{name:n,album:o,artist:a,playerPosition:t,duration:l,...v}}var Jt,Xt,Qt,N,Gn,jn,Xe,Fn,er=d(()=>{"use strict";c();qt();Jt=require("child_process"),Xt=require("util"),Qt=(0,Xt.promisify)(Jt.execFile);N=null,Gn=/<script type="module" crossorigin src="([a-zA-Z0-9.\-/]+)"><\/script>/,jn=Yt(/Promise.allSettled\(\i\)\}const \i="([A-Za-z0-9-_]*\.[A-Za-z0-9-_]*\.[A-Za-z0-9-_]*)"/),Fn=async()=>{if(Xe)return Xe;let e=await fetch("https://music.apple.com/").then(n=>n.text()),t=new URL(e.match(Gn)[1],"https://music.apple.com/"),i=(await fetch(t).then(n=>n.text())).match(jn)[1];return Xe=i,i}});var et={};se(et,{initDevtoolsOpenEagerLoad:()=>Bn});function Bn(e){let t=()=>e.sender.executeJavaScript("Vencord.Plugins.plugins.ConsoleShortcuts.eagerLoad(true)");e.sender.isDevToolsOpened()?t():e.sender.once("devtools-opened",()=>t())}var tr=d(()=>{"use strict";c()});var tt,rr,De,nr=d(()=>{"use strict";c();tt=Symbol("SettingsStore.isProxy"),rr=Symbol("SettingsStore.getRawTarget"),De=class{pathListeners=new Map;globalListeners=new Set;proxyContexts=new WeakMap;proxyHandler=(()=>{let t=this;return{get(r,i,n){if(i===tt)return!0;if(i===rr)return r;let o=Reflect.get(r,i,n),a=t.proxyContexts.get(r);if(a==null)return o;let{root:s,path:l}=a;if(!(i in r)&&t.getDefaultValue!=null&&(o=t.getDefaultValue({target:r,key:i,root:s,path:l})),typeof o=="object"&&o!==null&&!o[tt]){let v=`${l}${l&&"."}${i}`;return t.makeProxy(o,s,v)}return o},set(r,i,n){if(n?.[tt]&&(n=n[rr]),r[i]===n)return!0;if(!Reflect.set(r,i,n))return!1;let o=t.proxyContexts.get(r);if(o==null)return!0;let{root:a,path:s}=o,l=`${s}${s&&"."}${i}`;return t.notifyListeners(l,n,a),!0},deleteProperty(r,i){if(!Reflect.deleteProperty(r,i))return!1;let n=t.proxyContexts.get(r);if(n==null)return!0;let{root:o,path:a}=n,s=`${a}${a&&"."}${i}`;return t.notifyListeners(s,void 0,o),!0}}})();constructor(t,r={}){this.plain=t,this.store=this.makeProxy(t),Object.assign(this,r)}makeProxy(t,r=t,i=""){return this.proxyContexts.set(t,{root:r,path:i}),new Proxy(t,this.proxyHandler)}notifyListeners(t,r,i){let n=t.split(".");if(n.length>2&&n[0]==="plugins"){let o=n.slice(0,3),a=o.join("."),s=o.reduce((l,v)=>l[v],i);this.globalListeners.forEach(l=>l(i,a)),this.pathListeners.get(a)?.forEach(l=>l(s))}else this.globalListeners.forEach(o=>o(i,t));this.pathListeners.get(t)?.forEach(o=>o(r))}setData(t,r){if(this.readOnly)throw new Error("SettingsStore is read-only");if(this.plain=t,this.store=this.makeProxy(t),r){let i=t,n=r.split(".");for(let o of n){if(!i){console.warn(`Settings#setData: Path ${r} does not exist in new data. Not dispatching update`);return}i=i[o]}this.pathListeners.get(r)?.forEach(o=>o(i))}this.markAsChanged()}addGlobalChangeListener(t){this.globalListeners.add(t)}addChangeListener(t,r){let i=this.pathListeners.get(t)??new Set;i.add(r),this.pathListeners.set(t,i)}removeGlobalChangeListener(t){this.globalListeners.delete(t)}removeChangeListener(t,r){let i=this.pathListeners.get(t);!i||(i.delete(r),i.size||this.pathListeners.delete(t))}markAsChanged(){this.globalListeners.forEach(t=>t(this.plain,""))}}});function rt(e,t){for(let r in t){let i=t[r];typeof i=="object"&&!Array.isArray(i)?(e[r]??={},rt(e[r],i)):e[r]??=i}return e}var ir=d(()=>{"use strict";c()});var or,H,Oe,fe,$,he,nt,it,ar,Ce,pe=d(()=>{"use strict";c();or=require("electron"),H=require("path"),Oe=process.env.VENCORD_USER_DATA_DIR??(process.env.DISCORD_USER_DATA_DIR?(0,H.join)(process.env.DISCORD_USER_DATA_DIR,"..","VencordData"):(0,H.join)(or.app.getPath("userData"),"..","Vencord")),fe=(0,H.join)(Oe,"settings"),$=(0,H.join)(Oe,"themes"),he=(0,H.join)(fe,"quickCss.css"),nt=(0,H.join)(fe,"settings.json"),it=(0,H.join)(fe,"native-settings.json"),ar=["https:","http:","steam:","spotify:","com.epicgames.launcher:","tidal:","itunes:"],Ce=process.argv.includes("--vanilla")});function cr(e,t){try{return JSON.parse((0,q.readFileSync)(t,"utf-8"))}catch(r){return r?.code!=="ENOENT"&&console.error(`Failed to read ${e} settings`,r),{}}}var Me,q,R,Hn,lr,sr,J=d(()=>{"use strict";c();Se();nr();ir();Me=require("electron"),q=require("fs");pe();(0,q.mkdirSync)(fe,{recursive:!0});R=new De(cr("renderer",nt));R.addGlobalChangeListener(()=>{try{(0,q.writeFileSync)(nt,JSON.stringify(R.plain,null,4))}catch(e){console.error("Failed to write renderer settings",e)}});Me.ipcMain.handle("VencordGetSettingsDir",()=>fe);Me.ipcMain.on("VencordGetSettings",e=>e.returnValue=R.plain);Me.ipcMain.handle("VencordSetSettings",(e,t,r)=>{R.setData(t,r)});Hn={plugins:{}},lr=cr("native",it);rt(lr,Hn);sr=new De(lr);sr.addGlobalChangeListener(()=>{try{(0,q.writeFileSync)(it,JSON.stringify(sr.plain,null,4))}catch(e){console.error("Failed to write native settings",e)}})});var fr={};var ur,hr=d(()=>{"use strict";c();J();ur=require("electron");ur.app.on("browser-window-created",(e,t)=>{t.webContents.on("frame-created",(r,{frame:i})=>{i.once("dom-ready",()=>{if(i.url.startsWith("https://open.spotify.com/embed/")){let n=R.store.plugins?.FixSpotifyEmbeds;if(!n?.enabled)return;i.executeJavaScript(`
const original = Audio.prototype.play;
Audio.prototype.play = function() {
this.volume = ${n.volume/100||.1};
return original.apply(this, arguments);
}
`)}})})})});var dr={};var pr,mr=d(()=>{"use strict";c();J();pr=require("electron");pr.app.on("browser-window-created",(e,t)=>{t.webContents.on("frame-created",(r,{frame:i})=>{i.once("dom-ready",()=>{if(i.url.startsWith("https://www.youtube.com/")){if(!R.store.plugins?.FixYoutubeEmbeds?.enabled)return;i.executeJavaScript(`
new MutationObserver(() => {
if(
document.querySelector('div.ytp-error-content-wrap-subreason a[href*="www.youtube.com/watch?v="]')
) location.reload()
}).observe(document.body, { childList: true, subtree:true });
`)}})})})});var ot={};se(ot,{resolveRedirect:()=>Kn});function gr(e){return new Promise((t,r)=>{let i=(0,vr.request)(new URL(e),{method:"HEAD"},n=>{t(n.headers.location?gr(n.headers.location):e)});i.on("error",r),i.end()})}async function Kn(e,t){return $n.test(t)?gr(t):t}var vr,$n,yr=d(()=>{"use strict";c();vr=require("https"),$n=/^https:\/\/(spotify\.link|s\.team)\/.+$/});var at={};se(at,{makeDeeplTranslateRequest:()=>Yn});async function Yn(e,t,r,i){let n=t?"https://api.deepl.com/v2/translate":"https://api-free.deepl.com/v2/translate";try{let o=await fetch(n,{method:"POST",headers:{"Content-Type":"application/json",Authorization:`DeepL-Auth-Key ${r}`},body:i}),a=await o.text();return{status:o.status,data:a}}catch(o){return{status:-1,data:String(o)}}}var wr=d(()=>{"use strict";c()});var st={};se(st,{readRecording:()=>qn});async function qn(e,t){t=(0,Ie.normalize)(t);let r=(0,Ie.basename)(t),i=(0,Ie.normalize)(Sr.app.getPath("userData")+"/");if(console.log(r,i,t),r!=="recording.ogg"||!t.startsWith(i))return null;try{let n=await(0,xr.readFile)(t);return new Uint8Array(n.buffer)}catch{return null}}var Sr,xr,Ie,Tr=d(()=>{"use strict";c();Sr=require("electron"),xr=require("fs/promises"),Ie=require("path")});var ct={};se(ct,{sendToOverlay:()=>Jn});function Jn(e,t){t.messageType=t.type;let r=JSON.stringify(t);Er??=(0,br.createSocket)("udp4"),Er.send(r,42069,"127.0.0.1")}var br,Er,Dr=d(()=>{"use strict";c();br=require("dgram")});var Ir,Pr=d(()=>{c();Ir=`"use strict";const hiddenCSS=["#__ffYoutube1","#__ffYoutube2","#__ffYoutube3","#__ffYoutube4","#feed-pyv-container","#feedmodule-PRO","#homepage-chrome-side-promo","#merch-shelf","#offer-module",'#pla-shelf > ytd-pla-shelf-renderer[class="style-scope ytd-watch"]',"#pla-shelf","#premium-yva","#promo-info","#promo-list","#promotion-shelf","#related > ytd-watch-next-secondary-results-renderer > #items > ytd-compact-promoted-video-renderer.ytd-watch-next-secondary-results-renderer","#search-pva","#shelf-pyv-container","#video-masthead","#watch-branded-actions","#watch-buy-urls","#watch-channel-brand-div","#watch7-branded-banner","#YtKevlarVisibilityIdentifier","#YtSparklesVisibilityIdentifier",".carousel-offer-url-container",".companion-ad-container",".GoogleActiveViewElement",'.list-view[style="margin: 7px 0pt;"]',".promoted-sparkles-text-search-root-container",".promoted-videos",".searchView.list-view",".sparkles-light-cta",".watch-extra-info-column",".watch-extra-info-right",".ytd-carousel-ad-renderer",".ytd-compact-promoted-video-renderer",".ytd-companion-slot-renderer",".ytd-merch-shelf-renderer",".ytd-player-legacy-desktop-watch-ads-renderer",".ytd-promoted-sparkles-text-search-renderer",".ytd-promoted-video-renderer",".ytd-search-pyv-renderer",".ytd-video-masthead-ad-v3-renderer",".ytp-ad-action-interstitial-background-container",".ytp-ad-action-interstitial-slot",".ytp-ad-image-overlay",".ytp-ad-overlay-container",".ytp-ad-progress",".ytp-ad-progress-list",'[class*="ytd-display-ad-"]','[layout*="display-ad-"]','a[href^="http://www.youtube.com/cthru?"]','a[href^="https://www.youtube.com/cthru?"]',"ytd-action-companion-ad-renderer","ytd-banner-promo-renderer","ytd-compact-promoted-video-renderer","ytd-companion-slot-renderer","ytd-display-ad-renderer","ytd-promoted-sparkles-text-search-renderer","ytd-promoted-sparkles-web-renderer","ytd-search-pyv-renderer","ytd-single-option-survey-renderer","ytd-video-masthead-ad-advertiser-info-renderer","ytd-video-masthead-ad-v3-renderer","YTM-PROMOTED-VIDEO-RENDERER"],hideElements=()=>{const e=hiddenCSS;if(!e)return;const t=e.join(", ")+" { display: none!important; }",r=document.createElement("style");r.textContent=t,document.head.appendChild(r)},observeDomChanges=e=>{new MutationObserver(r=>{e(r)}).observe(document.documentElement,{childList:!0,subtree:!0})},hideDynamicAds=()=>{const e=document.querySelectorAll("#contents > ytd-rich-item-renderer ytd-display-ad-renderer");e.length!==0&&e.forEach(t=>{if(t.parentNode&&t.parentNode.parentNode){const r=t.parentNode.parentNode;r.localName==="ytd-rich-item-renderer"&&(r.style.display="none")}})},autoSkipAds=()=>{if(document.querySelector(".ad-showing")){const e=document.querySelector("video");e&&e.duration&&(e.currentTime=e.duration,setTimeout(()=>{const t=document.querySelector("button.ytp-ad-skip-button");t&&t.click()},100))}},overrideObject=(e,t,r)=>{if(!e)return!1;let n=!1;for(const o in e)e.hasOwnProperty(o)&&o===t?(e[o]=r,n=!0):e.hasOwnProperty(o)&&typeof e[o]=="object"&&overrideObject(e[o],t,r)&&(n=!0);return n},jsonOverride=(e,t)=>{const r=JSON.parse;JSON.parse=(...n)=>{const o=r.apply(this,n);return overrideObject(o,e,t),o},Response.prototype.json=new Proxy(Response.prototype.json,{async apply(...n){const o=await Reflect.apply(...n);return overrideObject(o,e,t),o}})};jsonOverride("adPlacements",[]),jsonOverride("playerAds",[]),hideElements(),hideDynamicAds(),autoSkipAds(),observeDomChanges(()=>{hideDynamicAds(),autoSkipAds()});
`});var Ar={};var Rr,_r=d(()=>{"use strict";c();J();Rr=require("electron");Pr();Rr.app.on("browser-window-created",(e,t)=>{t.webContents.on("frame-created",(r,{frame:i})=>{i.once("dom-ready",()=>{!R.store.plugins?.YoutubeAdblock?.enabled||(i.url.includes("youtube.com/embed/")||i.url.includes("discordsays")&&i.url.includes("youtube.com"))&&i.executeJavaScript(Ir)})})})});var Or,Cr=d(()=>{c();er();tr();hr();mr();yr();wr();Tr();Dr();_r();Or={AppleMusicRichPresence:Qe,ConsoleShortcuts:et,FixSpotifyEmbeds:fr,FixYoutubeEmbeds:dr,OpenInApp:ot,Translate:at,VoiceMessages:st,XSOverlay:ct,YoutubeAdblock:Ar}});var lt,Mr,kr=d(()=>{"use strict";c();Se();lt=require("electron");Cr();Mr={};for(let[e,t]of Object.entries(Or)){let r=Object.entries(t);if(!r.length)continue;let i=Mr[e]={};for(let[n,o]of r){let a=`VencordPluginNative_${e}_${n}`;lt.ipcMain.handle(a,o),i[n]=a}}lt.ipcMain.on("VencordGetPluginIpcMethodMap",e=>{e.returnValue=Mr})});function ut(e,t=300){let r;return function(...i){clearTimeout(r),r=setTimeout(()=>{e(...i)},t)}}var Nr=d(()=>{"use strict";c()});var Lr,zr=d(()=>{c();Lr="PCFkb2N0eXBlIGh0bWw+PGh0bWwgbGFuZz0iZW4iPjxoZWFkPjxtZXRhIGNoYXJzZXQ9InV0Zi04Ij48dGl0bGU+VmVuY29yZCBRdWlja0NTUyBFZGl0b3I8L3RpdGxlPjxsaW5rIHJlbD0ic3R5bGVzaGVldCIgaHJlZj0iaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L25wbS9tb25hY28tZWRpdG9yQDAuNTAuMC9taW4vdnMvZWRpdG9yL2VkaXRvci5tYWluLmNzcyIgaW50ZWdyaXR5PSJzaGEyNTYtdGlKUFEyTzA0ei9wWi9Bd2R5SWdock9NemV3ZitQSXZFbDFZS2JRdnNaaz0iIGNyb3Nzb3JpZ2luPSJhbm9ueW1vdXMiIHJlZmVycmVycG9saWN5PSJuby1yZWZlcnJlciI+PHN0eWxlPiNjb250YWluZXIsYm9keSxodG1se3Bvc2l0aW9uOmFic29sdXRlO2xlZnQ6MDt0b3A6MDt3aWR0aDoxMDAlO2hlaWdodDoxMDAlO21hcmdpbjowO3BhZGRpbmc6MDtvdmVyZmxvdzpoaWRkZW59PC9zdHlsZT48L2hlYWQ+PGJvZHk+PGRpdiBpZD0iY29udGFpbmVyIj48L2Rpdj48c2NyaXB0IHNyYz0iaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L25wbS9tb25hY28tZWRpdG9yQDAuNTAuMC9taW4vdnMvbG9hZGVyLmpzIiBpbnRlZ3JpdHk9InNoYTI1Ni1LY1U0OFRHcjg0cjd1bkY3SjVJZ0JvOTVhZVZyRWJyR2UwNFM3VGNGVWpzPSIgY3Jvc3NvcmlnaW49ImFub255bW91cyIgcmVmZXJyZXJwb2xpY3k9Im5vLXJlZmVycmVyIj48L3NjcmlwdD48c2NyaXB0PnJlcXVpcmUuY29uZmlnKHtwYXRoczp7dnM6Imh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9ucG0vbW9uYWNvLWVkaXRvckAwLjUwLjAvbWluL3ZzIn19KSxyZXF1aXJlKFsidnMvZWRpdG9yL2VkaXRvci5tYWluIl0sKCgpPT57Z2V0Q3VycmVudENzcygpLnRoZW4oKGU9Pnt2YXIgdD1tb25hY28uZWRpdG9yLmNyZWF0ZShkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIikse3ZhbHVlOmUsbGFuZ3VhZ2U6ImNzcyIsdGhlbWU6Z2V0VGhlbWUoKX0pO3Qub25EaWRDaGFuZ2VNb2RlbENvbnRlbnQoKCgpPT5zZXRDc3ModC5nZXRWYWx1ZSgpKSkpLHdpbmRvdy5hZGRFdmVudExpc3RlbmVyKCJyZXNpemUiLCgoKT0+e3QubGF5b3V0KCl9KSl9KSl9KSk8L3NjcmlwdD48L2JvZHk+PC9odG1sPg=="});function ft(e,t={}){return{fileName:e,name:t.name??e.replace(/\.css$/i,""),author:t.author??"Unknown Author",description:t.description??"A Discord Theme.",version:t.version,license:t.license,source:t.source,website:t.website,invite:t.invite}}function Vr(e){return e.charCodeAt(0)===65279&&(e=e.slice(1)),e}function Ur(e,t){if(!e)return ft(t);let r=e.split("/**",2)?.[1]?.split("*/",1)?.[0];if(!r)return ft(t);let i={},n="",o="";for(let a of r.split(Xn))if(a.length!==0)if(a.charAt(0)==="@"&&a.charAt(1)!==" "){i[n]=o.trim();let s=a.indexOf(" ");n=a.substring(1,s),o=a.substring(s+1)}else o+=" "+a.replace("\\n",`
`).replace(Qn,"@");return i[n]=o.trim(),delete i[""],ft(t,i)}var Xn,Qn,Gr=d(()=>{"use strict";c();Xn=/[^\S\r\n]*?\r?(?:\r\n|\n)[^\S\r\n]*?\*[^\S\r\n]?/,Qn=/^\\@/});function Fr(e){e.webContents.setWindowOpenHandler(({url:t})=>{switch(t){case"about:blank":case"https://discord.com/popout":case"https://ptb.discord.com/popout":case"https://canary.discord.com/popout":return{action:"allow"}}try{var{protocol:r}=new URL(t)}catch{return{action:"deny"}}switch(r){case"http:":case"https:":case"mailto:":case"steam:":case"spotify:":jr.shell.openExternal(t)}return{action:"deny"}})}var jr,Wr=d(()=>{"use strict";c();jr=require("electron")});function ht(e,t){let r=(0,de.normalize)(e),i=(0,de.join)(e,t),n=(0,de.normalize)(i);return n.startsWith(r)?n:null}function Zr(){return(0,Q.readFile)(he,"utf-8").catch(()=>"")}async function ei(){let e=await(0,Q.readdir)($).catch(()=>[]),t=[];for(let r of e){if(!r.endsWith(".css"))continue;let i=await Br(r).then(Vr).catch(()=>null);i!=null&&t.push(Ur(i,r))}return t}function Br(e){e=e.replace(/\?v=\d+$/,"");let t=ht($,e);return t?(0,Q.readFile)(t,"utf-8"):Promise.reject(`Unsafe path ${e}`)}function Hr(e){let t;(0,Q.open)(he,"a+").then(i=>{i.close(),t=(0,X.watch)(he,{persistent:!1},ut(async()=>{e.webContents.postMessage("VencordQuickCssUpdate",await Zr())},50))}).catch(()=>{});let r=(0,X.watch)($,{persistent:!1},ut(()=>{e.webContents.postMessage("VencordThemeUpdate",void 0)}));e.once("closed",()=>{t?.close(),r.close()})}var x,X,Q,de,pt=d(()=>{"use strict";c();Gt();kr();J();Nr();Se();x=require("electron");zr();X=require("fs"),Q=require("fs/promises"),de=require("path");Gr();pe();Wr();(0,X.mkdirSync)($,{recursive:!0});x.ipcMain.handle("VencordOpenQuickCss",()=>x.shell.openPath(he));x.ipcMain.handle("VencordOpenExternal",(e,t)=>{try{var{protocol:r}=new URL(t)}catch{throw"Malformed URL"}if(!ar.includes(r))throw"Disallowed protocol.";x.shell.openExternal(t)});x.ipcMain.handle("VencordGetQuickCss",()=>Zr());x.ipcMain.handle("VencordSetQuickCss",(e,t)=>(0,X.writeFileSync)(he,t));x.ipcMain.handle("VencordGetThemesDir",()=>$);x.ipcMain.handle("VencordGetThemesList",()=>ei());x.ipcMain.handle("VencordGetThemeData",(e,t)=>Br(t));x.ipcMain.handle("VencordGetThemeSystemValues",()=>({"os-accent-color":`#${x.systemPreferences.getAccentColor?.()||""}`}));x.ipcMain.handle("VencordOpenMonacoEditor",async()=>{let e="Vencord QuickCSS Editor",t=x.BrowserWindow.getAllWindows().find(i=>i.title===e);if(t&&!t.isDestroyed()){t.focus();return}let r=new x.BrowserWindow({title:e,autoHideMenuBar:!0,darkTheme:!0,webPreferences:{preload:(0,de.join)(__dirname,"preload.js"),contextIsolation:!0,nodeIntegration:!1,sandbox:!1}});Fr(r),await r.loadURL(`data:text/html;base64,${Lr}`)})});function vn(e,t,r){let i=t;if(t in e)return void r(e[i]);Object.defineProperty(e,t,{set(n){delete e[i],e[i]=n,r(n)},configurable:!0,enumerable:!1})}var gn=d(()=>{"use strict";c()});var Ti={};function Si(e,t){let r=e.slice(4).split(".").map(Number),i=t.slice(4).split(".").map(Number);for(let n=0;n<i.length;n++){if(r[n]>i[n])return!0;if(r[n]<i[n])return!1}return!1}function xi(){if(!process.env.DISABLE_UPDATER_AUTO_PATCHING)try{let e=(0,k.dirname)(process.execPath),t=(0,k.basename)(e),r=(0,k.join)(e,".."),i=(0,A.readdirSync)(r).reduce((s,l)=>l.startsWith("app-")&&Si(l,s)?l:s,t);if(i===t)return;let n=(0,k.join)(r,i,"resources"),o=(0,k.join)(n,"app.asar"),a=(0,k.join)(n,"_app.asar");if(!(0,A.existsSync)(o)||(0,A.statSync)(o).isDirectory())return;console.info("[Vencord] Detected Host Update. Repatching..."),(0,A.renameSync)(o,a),(0,A.mkdirSync)(o),(0,A.writeFileSync)((0,k.join)(o,"package.json"),JSON.stringify({name:"discord",main:"index.js"})),(0,A.writeFileSync)((0,k.join)(o,"index.js"),`require(${JSON.stringify((0,k.join)(__dirname,"patcher.js"))});`)}catch(e){console.error("[Vencord] Failed to repatch latest host update",e)}}var yn,A,k,wn=d(()=>{"use strict";c();yn=require("electron"),A=require("original-fs"),k=require("path");yn.app.on("before-quit",xi)});var Ii={};var b,K,Ei,bi,St,Di,Sn=d(()=>{"use strict";c();gn();b=We(require("electron")),K=require("path");pt();J();pe();console.log("[Vencord] Starting up...");Ei=require.main.filename,bi=require.main.path.endsWith("app.asar")?"_app.asar":"app.asar",St=(0,K.join)((0,K.dirname)(Ei),"..",bi),Di=require((0,K.join)(St,"package.json"));require.main.filename=(0,K.join)(St,Di.main);b.app.setAppPath(St);if(Ce)console.log("[Vencord] Running in vanilla mode. Not loading Vencord");else{let e=R.store;if(process.platform==="win32"&&(wn(),e.winCtrlQ)){let n=b.Menu.buildFromTemplate;b.Menu.buildFromTemplate=function(o){if(o[0]?.label==="&File"){let{submenu:a}=o[0];Array.isArray(a)&&a.push({label:"Quit (Hidden)",visible:!1,acceleratorWorksWhenHidden:!0,accelerator:"Control+Q",click:()=>b.app.quit()})}return n.call(this,o)}}class t extends b.default.BrowserWindow{constructor(o){if(o?.webPreferences?.preload&&o.title){let a=o.webPreferences.preload;o.webPreferences.preload=(0,K.join)(__dirname,"preload.js"),o.webPreferences.sandbox=!1,o.webPreferences.backgroundThrottling=!1,e.frameless?o.frame=!1:process.platform==="win32"&&e.winNativeTitleBar&&delete o.frame,e.transparent&&(o.transparent=!0,o.backgroundColor="#00000000"),process.platform==="darwin"&&e.macosVibrancyStyle&&(o.backgroundColor="#00000000",e.macosVibrancyStyle&&(o.vibrancy=e.macosVibrancyStyle)),process.env.DISCORD_PRELOAD=a,super(o),Hr(this)}else super(o)}}Object.assign(t,b.default.BrowserWindow),Object.defineProperty(t,"name",{value:"BrowserWindow",configurable:!0});let r=require.resolve("electron");delete require.cache[r].exports,require.cache[r].exports={...b.default,BrowserWindow:t},vn(global,"appSettings",n=>{n.set("DANGEROUS_ENABLE_DEVTOOLS_ONLY_ENABLE_IF_YOU_KNOW_WHAT_YOURE_DOING",!0),e.disableMinSize?(n.set("MIN_WIDTH",0),n.set("MIN_HEIGHT",0)):(n.set("MIN_WIDTH",940),n.set("MIN_HEIGHT",500))}),process.env.DATA_DIR=(0,K.join)(b.app.getPath("userData"),"..","Vencord");let i=b.app.commandLine.appendSwitch;b.app.commandLine.appendSwitch=function(...n){if(n[0]==="disable-features"){let o=new Set((n[1]??"").split(","));o.add("WidgetLayering"),o.add("UseEcoQoSForBackgroundProcess"),n[1]+=[...o].join(",")}return i.apply(this,n)},b.app.commandLine.appendSwitch("disable-renderer-backgrounding"),b.app.commandLine.appendSwitch("disable-background-timer-throttling"),b.app.commandLine.appendSwitch("disable-backgrounding-occluded-windows")}console.log("[Vencord] Loading original Discord app.asar");require(require.main.filename)});c();var te=require("electron"),xn=require("path");pt();J();pe();c();var pn=require("electron");c();var Yr=require("module"),ti=(0,Yr.createRequire)("/"),Ne,ri=";var __w=require('worker_threads');__w.parentPort.on('message',function(m){onmessage({data:m})}),postMessage=function(m,t){__w.parentPort.postMessage(m,t)},close=process.exit;self=global";try{Ne=ti("worker_threads").Worker}catch{}var ni=Ne?function(e,t,r,i,n){var o=!1,a=new Ne(e+ri,{eval:!0}).on("error",function(s){return n(s,null)}).on("message",function(s){return n(null,s)}).on("exit",function(s){s&&!o&&n(new Error("exited with code "+s),null)});return a.postMessage(r,i),a.terminate=function(){return o=!0,Ne.prototype.terminate.call(a)},a}:function(e,t,r,i,n){setImmediate(function(){return n(new Error("async operations unsupported - update to Node 12+ (or Node 10-11 with the --experimental-worker CLI flag)"),null)});var o=function(){};return{terminate:o,postMessage:o}},P=Uint8Array,ee=Uint16Array,qr=Int32Array,vt=new P([0,0,0,0,0,0,0,0,1,1,1,1,2,2,2,2,3,3,3,3,4,4,4,4,5,5,5,5,0,0,0,0]),gt=new P([0,0,0,0,1,1,2,2,3,3,4,4,5,5,6,6,7,7,8,8,9,9,10,10,11,11,12,12,13,13,0,0]),Jr=new P([16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15]),Xr=function(e,t){for(var r=new ee(31),i=0;i<31;++i)r[i]=t+=1<<e[i-1];for(var n=new qr(r[30]),i=1;i<30;++i)for(var o=r[i];o<r[i+1];++o)n[o]=o-r[i]<<5|i;return{b:r,r:n}},Qr=Xr(vt,2),yt=Qr.b,ii=Qr.r;yt[28]=258,ii[258]=28;var en=Xr(gt,0),tn=en.b,sa=en.r,Ve=new ee(32768);for(g=0;g<32768;++g)W=(g&43690)>>1|(g&21845)<<1,W=(W&52428)>>2|(W&13107)<<2,W=(W&61680)>>4|(W&3855)<<4,Ve[g]=((W&65280)>>8|(W&255)<<8)>>1;var W,g,me=function(e,t,r){for(var i=e.length,n=0,o=new ee(t);n<i;++n)e[n]&&++o[e[n]-1];var a=new ee(t);for(n=1;n<t;++n)a[n]=a[n-1]+o[n-1]<<1;var s;if(r){s=new ee(1<<t);var l=15-t;for(n=0;n<i;++n)if(e[n])for(var v=n<<4|e[n],m=t-e[n],u=a[e[n]-1]++<<m,y=u|(1<<m)-1;u<=y;++u)s[Ve[u]>>l]=v}else for(s=new ee(i),n=0;n<i;++n)e[n]&&(s[n]=Ve[a[e[n]-1]++]>>15-e[n]);return s},Pe=new P(288);for(g=0;g<144;++g)Pe[g]=8;var g;for(g=144;g<256;++g)Pe[g]=9;var g;for(g=256;g<280;++g)Pe[g]=7;var g;for(g=280;g<288;++g)Pe[g]=8;var g,rn=new P(32);for(g=0;g<32;++g)rn[g]=5;var g;var nn=me(Pe,9,1);var on=me(rn,5,1),Le=function(e){for(var t=e[0],r=1;r<e.length;++r)e[r]>t&&(t=e[r]);return t},M=function(e,t,r){var i=t/8|0;return(e[i]|e[i+1]<<8)>>(t&7)&r},ze=function(e,t){var r=t/8|0;return(e[r]|e[r+1]<<8|e[r+2]<<16)>>(t&7)},an=function(e){return(e+7)/8|0},Ue=function(e,t,r){return(t==null||t<0)&&(t=0),(r==null||r>e.length)&&(r=e.length),new P(e.subarray(t,r))};var sn=["unexpected EOF","invalid block type","invalid length/literal","invalid distance","stream finished","no stream handler",,"no callback","invalid UTF-8 data","extra field too long","date not in range 1980-2099","filename too long","stream finishing","invalid zip data"],I=function(e,t,r){var i=new Error(t||sn[e]);if(i.code=e,Error.captureStackTrace&&Error.captureStackTrace(i,I),!r)throw i;return i},cn=function(e,t,r,i){var n=e.length,o=i?i.length:0;if(!n||t.f&&!t.l)return r||new P(0);var a=!r,s=a||t.i!=2,l=t.i;a&&(r=new P(n*3));var v=function(It){var Pt=r.length;if(It>Pt){var Rt=new P(Math.max(Pt*2,It));Rt.set(r),r=Rt}},m=t.f||0,u=t.p||0,y=t.b||0,z=t.l,re=t.d,G=t.m,_=t.n,O=n*8;do{if(!z){m=M(e,u,1);var Z=M(e,u+1,3);if(u+=3,Z)if(Z==1)z=nn,re=on,G=9,_=5;else if(Z==2){var ge=M(e,u,31)+257,Re=M(e,u+10,15)+4,Y=ge+M(e,u+5,31)+1;u+=14;for(var C=new P(Y),ie=new P(19),T=0;T<Re;++T)ie[Jr[T]]=M(e,u+T*3,7);u+=Re*3;for(var ye=Le(ie),Tn=(1<<ye)-1,En=me(ie,ye,1),T=0;T<Y;){var xt=En[M(e,u,Tn)];u+=xt&15;var D=xt>>4;if(D<16)C[T++]=D;else{var oe=0,Ae=0;for(D==16?(Ae=3+M(e,u,3),u+=2,oe=C[T-1]):D==17?(Ae=3+M(e,u,7),u+=3):D==18&&(Ae=11+M(e,u,127),u+=7);Ae--;)C[T++]=oe}}var Tt=C.subarray(0,ge),B=C.subarray(ge);G=Le(Tt),_=Le(B),z=me(Tt,G,1),re=me(B,_,1)}else I(1);else{var D=an(u)+4,j=e[D-4]|e[D-3]<<8,ne=D+j;if(ne>n){l&&I(0);break}s&&v(y+j),r.set(e.subarray(D,ne),y),t.b=y+=j,t.p=u=ne*8,t.f=m;continue}if(u>O){l&&I(0);break}}s&&v(y+131072);for(var bn=(1<<G)-1,Dn=(1<<_)-1,Ge=u;;Ge=u){var oe=z[ze(e,u)&bn],ae=oe>>4;if(u+=oe&15,u>O){l&&I(0);break}if(oe||I(2),ae<256)r[y++]=ae;else if(ae==256){Ge=u,z=null;break}else{var Et=ae-254;if(ae>264){var T=ae-257,we=vt[T];Et=M(e,u,(1<<we)-1)+yt[T],u+=we}var je=re[ze(e,u)&Dn],Fe=je>>4;je||I(3),u+=je&15;var B=tn[Fe];if(Fe>3){var we=gt[Fe];B+=ze(e,u)&(1<<we)-1,u+=we}if(u>O){l&&I(0);break}s&&v(y+131072);var bt=y+Et;if(y<B){var Dt=o-B,In=Math.min(B,bt);for(Dt+y<0&&I(3);y<In;++y)r[y]=i[Dt+y]}for(;y<bt;++y)r[y]=r[y-B]}}t.l=z,t.p=Ge,t.b=y,t.f=m,z&&(m=1,t.m=G,t.d=re,t.n=_)}while(!m);return y!=r.length&&a?Ue(r,0,y):r.subarray(0,y)};var oi=new P(0);var ai=function(e,t){var r={};for(var i in e)r[i]=e[i];for(var i in t)r[i]=t[i];return r},$r=function(e,t,r){for(var i=e(),n=e.toString(),o=n.slice(n.indexOf("[")+1,n.lastIndexOf("]")).replace(/\s+/g,"").split(","),a=0;a<i.length;++a){var s=i[a],l=o[a];if(typeof s=="function"){t+=";"+l+"=";var v=s.toString();if(s.prototype)if(v.indexOf("[native code]")!=-1){var m=v.indexOf(" ",8)+1;t+=v.slice(m,v.indexOf("(",m))}else{t+=v;for(var u in s.prototype)t+=";"+l+".prototype."+u+"="+s.prototype[u].toString()}else t+=v}else r[l]=s}return t},ke=[],si=function(e){var t=[];for(var r in e)e[r].buffer&&t.push((e[r]=new e[r].constructor(e[r])).buffer);return t},ci=function(e,t,r,i){if(!ke[r]){for(var n="",o={},a=e.length-1,s=0;s<a;++s)n=$r(e[s],n,o);ke[r]={c:$r(e[a],n,o),e:o}}var l=ai({},ke[r].e);return ni(ke[r].c+";onmessage=function(e){for(var k in e.data)self[k]=e.data[k];onmessage="+t.toString()+"}",r,l,si(l),i)},li=function(){return[P,ee,qr,vt,gt,Jr,yt,tn,nn,on,Ve,sn,me,Le,M,ze,an,Ue,I,cn,wt,ln,un]};var ln=function(e){return postMessage(e,[e.buffer])},un=function(e){return e&&{out:e.size&&new P(e.size),dictionary:e.dictionary}},ui=function(e,t,r,i,n,o){var a=ci(r,i,n,function(s,l){a.terminate(),o(s,l)});return a.postMessage([e,t],t.consume?[e.buffer]:[]),function(){a.terminate()}};var V=function(e,t){return e[t]|e[t+1]<<8},L=function(e,t){return(e[t]|e[t+1]<<8|e[t+2]<<16|e[t+3]<<24)>>>0},dt=function(e,t){return L(e,t)+L(e,t+4)*4294967296};function fi(e,t,r){return r||(r=t,t={}),typeof r!="function"&&I(7),ui(e,t,[li],function(i){return ln(wt(i.data[0],un(i.data[1])))},1,r)}function wt(e,t){return cn(e,{i:2},t&&t.out,t&&t.dictionary)}var mt=typeof TextDecoder<"u"&&new TextDecoder,hi=0;try{mt.decode(oi,{stream:!0}),hi=1}catch{}var pi=function(e){for(var t="",r=0;;){var i=e[r++],n=(i>127)+(i>223)+(i>239);if(r+n>e.length)return{s:t,r:Ue(e,r-1)};n?n==3?(i=((i&15)<<18|(e[r++]&63)<<12|(e[r++]&63)<<6|e[r++]&63)-65536,t+=String.fromCharCode(55296|i>>10,56320|i&1023)):n&1?t+=String.fromCharCode((i&31)<<6|e[r++]&63):t+=String.fromCharCode((i&15)<<12|(e[r++]&63)<<6|e[r++]&63):t+=String.fromCharCode(i)}};function di(e,t){if(t){for(var r="",i=0;i<e.length;i+=16384)r+=String.fromCharCode.apply(null,e.subarray(i,i+16384));return r}else{if(mt)return mt.decode(e);var n=pi(e),o=n.s,r=n.r;return r.length&&I(8),o}}var mi=function(e,t){return t+30+V(e,t+26)+V(e,t+28)},vi=function(e,t,r){var i=V(e,t+28),n=di(e.subarray(t+46,t+46+i),!(V(e,t+8)&2048)),o=t+46+i,a=L(e,t+20),s=r&&a==4294967295?gi(e,o):[a,L(e,t+24),L(e,t+42)],l=s[0],v=s[1],m=s[2];return[V(e,t+10),l,v,n,o+V(e,t+30)+V(e,t+32),m]},gi=function(e,t){for(;V(e,t)!=1;t+=4+V(e,t+2));return[dt(e,t+12),dt(e,t+4),dt(e,t+20)]};var Kr=typeof queueMicrotask=="function"?queueMicrotask:typeof setTimeout=="function"?setTimeout:function(e){e()};function fn(e,t,r){r||(r=t,t={}),typeof r!="function"&&I(7);var i=[],n=function(){for(var _=0;_<i.length;++_)i[_]()},o={},a=function(_,O){Kr(function(){r(_,O)})};Kr(function(){a=r});for(var s=e.length-22;L(e,s)!=101010256;--s)if(!s||e.length-s>65558)return a(I(13,0,1),null),n;var l=V(e,s+8);if(l){var v=l,m=L(e,s+16),u=m==4294967295||v==65535;if(u){var y=L(e,s-12);u=L(e,y)==101075792,u&&(v=l=L(e,y+32),m=L(e,y+48))}for(var z=t&&t.filter,re=function(_){var O=vi(e,m,u),Z=O[0],D=O[1],j=O[2],ne=O[3],ge=O[4],Re=O[5],Y=mi(e,Re);m=ge;var C=function(T,ye){T?(n(),a(T,null)):(ye&&(o[ne]=ye),--l||a(null,o))};if(!z||z({name:ne,size:D,originalSize:j,compression:Z}))if(!Z)C(null,Ue(e,Y,Y+D));else if(Z==8){var ie=e.subarray(Y,Y+D);if(j<524288||D>.8*j)try{C(null,wt(ie,{out:new P(j)}))}catch(T){C(T,null)}else i.push(fi(ie,{size:j},C))}else C(I(14,"unknown compression type "+Z,1),null);else C(null,null)},G=0;G<v;++G)re(G)}else a(null,{});return n}var dn=require("fs"),U=require("fs/promises"),ve=require("path");pe();c();function hn(e){function t(a,s,l,v){let m=0;return m+=a<<0,m+=s<<8,m+=l<<16,m+=v<<24>>>0,m}if(e[0]===80&&e[1]===75&&e[2]===3&&e[3]===4)return e;if(e[0]!==67||e[1]!==114||e[2]!==50||e[3]!==52)throw new Error("Invalid header: Does not start with Cr24");let r=e[4]===3,i=e[4]===2;if(!i&&!r||e[5]||e[6]||e[7])throw new Error("Unexpected crx format version number.");if(i){let a=t(e[8],e[9],e[10],e[11]),s=t(e[12],e[13],e[14],e[15]),l=16+a+s;return e.subarray(l,e.length)}let o=12+t(e[8],e[9],e[10],e[11]);return e.subarray(o,e.length)}Be();var yi=(0,ve.join)(Oe,"ExtensionCache");async function wi(e,t){return await(0,U.mkdir)(t,{recursive:!0}),new Promise((r,i)=>{fn(e,(n,o)=>{if(n)return void i(n);Promise.all(Object.keys(o).map(async a=>{if(a.startsWith("_metadata/"))return;if(a.endsWith("/"))return void(0,U.mkdir)((0,ve.join)(t,a),{recursive:!0});let s=a.split("/"),l=s.pop(),v=s.join("/"),m=(0,ve.join)(t,v);v&&await(0,U.mkdir)(m,{recursive:!0}),await(0,U.writeFile)((0,ve.join)(m,l),o[a])})).then(()=>r()).catch(a=>{(0,U.rm)(t,{recursive:!0,force:!0}),i(a)})})})}async function mn(e){let t=(0,ve.join)(yi,`${e}`);try{await(0,U.access)(t,dn.constants.F_OK)}catch{let i=e==="fmkadmapgofadopljbjfkapdkoienihi"?"https://raw.githubusercontent.com/Vendicated/random-files/f6f550e4c58ac5f2012095a130406c2ab25b984d/fmkadmapgofadopljbjfkapdkoienihi.zip":`https://clients2.google.com/service/update2/crx?response=redirect&acceptformat=crx2,crx3&x=id%3D${e}%26uc&prodversion=${process.versions.chrome}`,n=await ce(i,{headers:{"User-Agent":`Electron ${process.versions.electron} ~ Vencord (https://github.com/Vendicated/Vencord)`}});await wi(hn(n),t).catch(console.error)}pn.session.defaultSession.loadExtension(t)}Ce||te.app.whenReady().then(()=>{te.protocol.registerFileProtocol("vencord",({url:n},o)=>{let a=n.slice(10);if(a.endsWith("/")&&(a=a.slice(0,-1)),a.startsWith("/themes/")){let s=a.slice(8),l=ht($,s);if(!l){o({statusCode:403});return}o(l.replace(/\?v=\d+$/,""));return}switch(a){case"renderer.js.map":case"vencordDesktopRenderer.js.map":case"preload.js.map":case"vencordDesktopPreload.js.map":case"patcher.js.map":case"vencordDesktopMain.js.map":o((0,xn.join)(__dirname,a));break;default:o({statusCode:403})}});try{R.store.enableReactDevtools&&mn("fmkadmapgofadopljbjfkapdkoienihi").then(()=>console.info("[Vencord] Installed React Developer Tools")).catch(n=>console.error("[Vencord] Failed to install React Developer Tools",n))}catch{}let e=(n,o)=>Object.keys(n).find(a=>a.toLowerCase()===o),t=n=>{let o={};return n.split(";").forEach(a=>{let[s,...l]=a.trim().split(/\s+/g);s&&!Object.prototype.hasOwnProperty.call(o,s)&&(o[s]=l)}),o},r=n=>Object.entries(n).filter(([,o])=>o?.length).map(o=>o.flat().join(" ")).join("; "),i=n=>{let o=e(n,"content-security-policy");if(o){let a=t(n[o][0]);for(let s of["style-src","connect-src","img-src","font-src","media-src","worker-src"])a[s]??=[],a[s].push("*","blob:","data:","vencord:","'unsafe-inline'");a["script-src"]??=[],a["script-src"].push("'unsafe-eval'","https://unpkg.com","https://cdnjs.cloudflare.com"),n[o]=[r(a)]}};te.session.defaultSession.webRequest.onHeadersReceived(({responseHeaders:n,resourceType:o},a)=>{if(n&&(o==="mainFrame"&&i(n),o==="stylesheet")){let s=e(n,"content-type");s&&(n[s]=["text/css"])}a({cancel:!1,responseHeaders:n})}),te.session.defaultSession.webRequest.onHeadersReceived=()=>{}});Sn();
//# sourceURL=VencordPatcher
//# sourceMappingURL=vencord://patcher.js.map
/*! For license information please see patcher.js.LEGAL.txt */