// Metro module 7917 (f7918). import ApplicationAssetsStore from "../modules/applications/ApplicationAssetsStore"; import { Endpoints, PlatformTypes } from "../Constants"; import Module38 from "../_bundle/Module38"; import Logger from "../modules/debug/Logger"; import { HTTP, getAPIBaseURL } from "../_bundle/sendRequest"; import Dispatcher from "../Dispatcher"; import { getBestMediaProxySize } from "../modules/image_upload/ImageLoaderUtils"; function $mk79522() { return (a0) => (a0 == null ? void 0 : a0.startsWith("http:")) || (a0 == null ? void 0 : a0.startsWith("https:")); } function $mk115082($env) { return function resolveExternalAssets() { return $env[18].apply(this, arguments); }; } function $mk115083($env) { return () => { const r5 = $env; return (0, fetchAssetIds)(r5[0], r5[1], r5[2] - 1); }; } let getApplicationAssetsMap, getAssets, updateUrlAssetIds, updateNonUrlAssetIds, fetchAssetIds, c5004_8, c5004_9, c5004_10, c5004_11, c5004_12; let env5004 = {}; const updateAssets = async function updateAssets(c26061_0) { let c29863_0 = c26061_0; let c29863_1 = (await HTTP.get({ url: Endpoints.APPLICATION_ASSETS(c26061_0), oldFormErrors: true, rejectWithError: false })).body; Dispatcher.dispatch({ type: "APPLICATION_ASSETS_UPDATE", applicationId: c29863_0, assets: c29863_1 }); return ApplicationAssetsStore.getApplicationAssets(c29863_0); }; getApplicationAssetsMap = function getApplicationAssetsMap(a0) { let r15; const applicationAssets = ApplicationAssetsStore.getApplicationAssets(a0); if (applicationAssets != null) { const lastUpdated = applicationAssets.lastUpdated; r15 = Date.now() - lastUpdated > 3600000 ? updateAssets(a0) : Promise.resolve(applicationAssets); } else { r15 = updateAssets(a0); } return r15; }; getAssets = async function getAssets(c26062_0) { let c29864_0 = await getApplicationAssetsMap(c26062_0); return c29864_0?.assets; }; env5004[18] = function _resolveExternalAssets() { const r8 = async (c26063_0, c26063_1) => { let r30; let c26063_2, c26063_3, c26063_4, c26063_5, c26063_6; let c26063_7 = 0; const r9 = env5004; L15: { try { let env29865; c26063_5 = r9; const r38 = env29865 = { $parent: r9 }; c26063_4 = r38; env29865[0] = void 0; env29865[1] = void 0; env29865[2] = void 0; env29865[3] = void 0; const urls = c26063_1.filter((item) => item != null && c5004_12.get(item) == null); if (urls.length !== 0) { env29865[0] = (await HTTP.post({ url: Endpoints.APPLICATION_EXTERNAL_ASSETS(c26063_0), body: { urls }, oldFormErrors: true, rejectWithError: false })).body; const r69 = env29865[0]; c26063_3 = r69; const r71 = r69[Symbol.iterator](); c26063_3 = r71.next; c26063_2 = r71; while (true) { const r73 = c26063_3; let r74 = c26063_2; const r75 = r74 === void 0 ? void 0 : (r30 = r73.call(r74)).done ? r74 = void 0 : r30.value; c26063_2 = r74; if (r74 === void 0) { break L15; } c26063_7 = 1; env29865[1] = r75; env29865[2] = env29865[1].url; env29865[3] = env29865[1].external_asset_path; c5004_12.set(env29865[2], env29865[3]); c26063_7 = 0; } } } catch ($e) { const r36 = $e; let r7 = r36; c26063_6 = r36; if (c26063_7 !== 0) { while (true) { try { const r93 = c26063_6; c26063_7 = 0; const r95 = c26063_2; if (r95 !== void 0 && typeof r95.return === "function") { try { r95.return(); } catch {} } throw r93; } catch (r91) { r7 = r91; c26063_6 = r91; if (c26063_7 === 0) { break; } } } } throw r7; } return void 0; } }; env5004[18] = r8; return r8.apply(this, arguments); }; updateUrlAssetIds = function updateUrlAssetIds(a0, a1) { let length; const r21 = a0.filter($mk79522()).length > 0; let r6 = 0; if (r21) { const r8 = 0 < a0.length; let r1 = 0; let r2 = 0; r6 = 0; if (r8) { do { const r18 = a0[r1]; const r25 = r1; const r3 = r2; let r0 = r3; if (r18 != null) { const r27 = c5004_12.get(r18); r0 = r3; if (r27 != null) { const r31 = c5004_11.mp.serialize(r27); a1[r25] = r31 ? `mp:${r31.toString()}` : null; r0 = r3 + 1; } } r1 = r25 + 1; length = a0.length; r2 = r0; r6 = r2; } while (r1 < length); } } return r6 === a0.length; }; updateNonUrlAssetIds = function updateNonUrlAssetIds(a0, a1, a2, a3) { let r1, r6, r20, length; const r4 = 0 < a0.length; let r5 = false; let r0 = 0; let r8 = false; if (r4) { do { L13: { const r18 = a0[r0]; r1 = r0; const r7 = r5; r20 = r7; if (r18 != null) { const r21 = a1[r1]; r20 = r7; if (r21 == null) { const r25 = Object.prototype.hasOwnProperty.call(a2, r18) && a2[r18]; L12: { r6 = r7; if (!r25) { if (a3 != null) { const r10 = a3 <= 0; r6 = true; if (!r10) { break L12; } } a1[r1] = null; r20 = r7; break L13; } } a1[r1] = r25.id; r20 = r6; } } } r0 = r1 + 1; length = a0.length; r5 = r20; r8 = r5; } while (r0 < length); } return r8; }; fetchAssetIds = async function fetchAssetIds(c26064_0, c26064_1, c26064_2) { let r91, r130; let c26064_3, c26064_4; L22: { let env29866; const r33 = env5004; c26064_4 = r33; const r10 = env29866 = { $parent: r33 }; c26064_3 = r10; env29866[2] = void 0; env29866[0] = c26064_0; env29866[1] = c26064_1; if (c26064_2 !== void 0) { env29866[2] = c26064_2; env29866[3] = void 0; env29866[4] = void 0; env29866[5] = void 0; } else { env29866[2] = 1; env29866[3] = void 0; env29866[4] = void 0; env29866[5] = void 0; } await void 0; Dispatcher.dispatch({ type: "APPLICATION_ASSETS_FETCH", applicationId: env29866[0] }); env29866[3] = []; env29866[4] = env29866[1].filter((item) => (item == null ? void 0 : item.startsWith("http:")) || (item == null ? void 0 : item.startsWith("https:"))); if (env29866[4].length > 0) { const r68 = env29866[0]; const r69 = env29866[4]; await $mk115082(env5004)(r68, r69); } if ((0, updateUrlAssetIds)(env29866[1], env29866[3])) { Dispatcher.dispatch({ type: "APPLICATION_ASSETS_FETCH_SUCCESS", applicationId: env29866[0] }); r91 = env29866[3]; break L22; } env29866[5] = await (0, getAssets)(env29866[0]); Dispatcher.dispatch({ type: "APPLICATION_ASSETS_UPDATE", applicationId: env29866[0], assets: env29866[5] }); const r122 = (0, updateNonUrlAssetIds)(env29866[1], env29866[3], env29866[5], env29866[2]); const r123 = c26064_3; if (r122) { r130 = (0, updateAssets)(env29866[0]).then($mk115083(r123)); } else { Dispatcher.dispatch({ type: "APPLICATION_ASSETS_FETCH_SUCCESS", applicationId: env29866[0] }); r130 = env29866[3]; } return r130; } return r91; }; const PlatformTypes2 = PlatformTypes; c5004_8 = "https://i.scdn.co/image/"; c5004_9 = /https:\/\/static-cdn\.jtvnw\.net\/previews-ttv\/live_user_(.+)-\{width\}x\{height\}.jpg/; c5004_10 = /https:\/\/i\.ytimg\.com\/vi\/([a-zA-Z0-9_-]+)\/hqdefault_live\.jpg/; const r39 = {}; r39[PlatformTypes2.SPOTIFY] = { deserialize: (a0) => `${c5004_8}${encodeURIComponent(a0)}`, serialize: (a0) => a0.split(c5004_8)[1] }; r39[PlatformTypes2.TWITCH] = { deserialize: (a0, a1) => `https://static-cdn.jtvnw.net/previews-ttv/live_user_${encodeURIComponent(a0)}-${a1[0]}x${a1[1]}.jpg`, serialize: (a0) => { const r5 = a0.match(c5004_9); return r5 != null ? r5[1] : null; } }; r39[PlatformTypes2.YOUTUBE] = { deserialize: (a0) => `https://i.ytimg.com/vi/${encodeURIComponent(a0)}/hqdefault_live.jpg`, serialize: (a0) => { const r5 = a0.match(c5004_10); return r5 != null ? r5[1] : null; } }; r39.mp = { deserialize: (a0) => { let uRL; Module38(window.GLOBAL_ENV.MEDIA_PROXY_ENDPOINT != null, "MEDIA_PROXY_ENDPOINT not configured"); try { uRL = new URL(a0, location.protocol + window.GLOBAL_ENV.MEDIA_PROXY_ENDPOINT); } catch ($e) { new Logger("ApplicationAssetUtils").warn(`getAssetImage: invalid media proxy asset path: ${a0}`); return void 0; } let r36 = a0.toLowerCase().endsWith(".gif"); const r40 = a0.toLowerCase().endsWith(".webp"); const r44 = a0.toLowerCase().endsWith(".avif"); if (r36 ? r36 : r44) { uRL.searchParams.set("format", "webp"); } if (!r36) { r36 = r40; } if (!r36) { r36 = r44; } if (r36) { uRL.searchParams.set("animated", "true"); } return uRL.toString(); }, serialize: (a0) => a0 }; c5004_11 = r39; c5004_12 = new Map(); export function getAssetFromImageURL(a0, a1) { const r8 = c5004_11[a0].serialize(a1); return r8 ? `${a0}:${r8.toString()}` : null; } export function getAssetImage(a0, a1, a2, r18 = "png") { let r90, r97; if (a1 != null && a1.includes(":")) { const [r79, r80] = a1.split(":"); if (r79 === PlatformTypes.TWITCH) { if (a2 != null && typeof a2 !== "number") { r97 = c5004_11[PlatformTypes.TWITCH].deserialize(r80, a2); } else { new Logger("ApplicationAssetUtils").warn("getAssetImage: size must === [number, number] for Twitch"); r97 = void 0; } r90 = r97; } else { const hasOwnProperty = Object.prototype.hasOwnProperty; r90 = hasOwnProperty.call(c5004_11, r79) ? c5004_11[r79].deserialize(r80) : void 0; } return r90; } if (a0 != null && a1 != null) { const isArray = Array.isArray(a2); let r10 = a2; if (isArray) { const r11 = Math; r10 = r11.max.apply(r11, [...a2]); } const r15 = typeof r10 === "number" ? `?size=${getBestMediaProxySize(r10)}` : ""; return window.GLOBAL_ENV.CDN_HOST != null ? `${location.protocol}//${window.GLOBAL_ENV.CDN_HOST}/app-assets/${a0}/${a1}.${r18}${r15}` : `${getAPIBaseURL()}/applications/${a0}/app-assets/${a1}.${r18}${r15}`; } } export { getAssets }; export { fetchAssetIds }; export function getAssetIds(a0, a1) { let length; const r10 = []; const r8 = a1.filter($mk79522()).length > 0; let r5 = 0; if (r8) { const r9 = 0 < a1.length; let r3 = 0; let r0 = 0; r5 = 0; if (r9) { do { const r20 = a1[r3]; const r7 = r3; const r4 = r0; let r1 = r4; if (r20 != null) { const r27 = c5004_12.get(r20); r1 = r4; if (r27 != null) { const r31 = c5004_11.mp.serialize(r27); r10[r7] = r31 ? `mp:${r31.toString()}` : null; r1 = r4 + 1; } } r3 = r7 + 1; length = a1.length; r0 = r1; r5 = r0; } while (r3 < length); } } if (r5 === a1.length) { return r10; } const assets = ApplicationAssetsStore.getApplicationAssets(a0)?.assets; if (assets != null) { const r47 = 0 < a1.length; let r50 = 0; if (r47) { do { const r51 = a1[r50]; const r52 = r50; if (r51 != null && r10[r52] == null) { const r58 = Object.prototype.hasOwnProperty.call(assets, r51) && assets[r51]; if (r58) { r10[r52] = r58.id; } else { r10[r52] = null; } } r50 = r52 + 1; } while (r50 < a1.length); } } return r10; }