Files
discord-decomp/sources/lib/uploader/webpConversion.tsx
T
2026-07-28 01:06:53 +03:00

1967 lines
101 KiB
TypeScript

/* Metro module 4699; source: lib/uploader/webpConversion.tsx; dependencies: [5, 3, 4700, 1225, 2] */
import Logger from '../../modules/debug/Logger.tsx'; /* Metro dependency 3 */
import Module00005 from '../../by-id/module-00005.js'; /* Metro dependency 5 */
import * as FileImportTrackerModule from '../../by-id/module-00002-FileImportTracker.js'; /* Metro dependency 2 */
function _fun40614(global, require, importDefault, importAll, module, exports, dependencyMap) { // fn#40614, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:4877:6, offset: 0x01105ead, size: 367 bytes, params: 8, frame: 20
const env0_0 = require;
const closure = function() {
return _shouldConvertToWebP2.apply(this, arguments);
};
const hashImageData = function(a0) {
var Uint8Array = global.Uint8Array;
var value2 = new Uint8Array(a0.data.buffer);
value2 = importDefault(dependencyMap[3])(value2);
return value2.toString(16);
};
const Object = global.Object;
Object.defineProperty(exports, '__esModule', {value: true});
let value = Logger;
value = new value('WebP');
(FileImportTrackerModule).fileFinishedImporting('lib/uploader/webpConversion.tsx');
exports.ConversionFailureReason = {ALREADY_WEBP: 'already_webp', UNSUPPORTED_FORMAT: 'unsupported_format',
ANIMATED_IMAGE: 'animated_image', HAS_TRANSPARENCY: 'has_transparency', PNG8_FORMAT: 'png8_format',
INSUFFICIENT_SAVINGS: 'insufficient_savings', CONVERSION_FAILED: 'conversion_failed',
CORRUPTED_FILE: 'corrupted_file', PIXEL_HASH_MISMATCH: 'pixel_hash_mismatch',
ICC_NON_SRGB_PROFILE: 'icc_non_srgb_profile', ICC_DETECTION_FAILED: 'icc_detection_failed',
UNKNOWN_ERROR: 'unknown_error'};
exports._shouldConvertToWebP = closure;
exports.maybeConvertToWebP = function() {
return _maybeConvertToWebP.apply(this, arguments);
};
function _shouldConvertToWebP2() { // fn#40616, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:4877:700, offset: 0x0110601c, size: 48 bytes, params: 1, frame: 14
return Module00005(_fun40618).apply(this, arguments);
function* _fun40618(a0) { // fn#40618, original name: ?anon_0_, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:4877:765, offset: 0x01106055, size: 695 bytes, params: 2, frame: 21
var environment;
var r2;
var value;
var value2;
var type;
var items2;
var includes;
var binding;
var verbose;
var concat;
var arrayBuffer;
var Promise;
var prototype;
var closure;
var promise;
var value3;
var value4;
var binding2;
var property;
var value5;
var DiscordImageFactory;
var create;
var value6;
var value7;
var hasTransparency;
var hasTransparency2;
var isAnimated;
var isAnimated2;
var isPng8;
var isPng82;
var hasSrgbIccProfile;
var hasSrgbIccProfile2;
var value8;
var value9;
var ICC_NON_SRGB_PROFILE;
var error;
var warn;
var PNG8_FORMAT;
var ANIMATED_IMAGE;
var HAS_TRANSPARENCY;
var Error;
var value11;
exceptionSkip94: while (true) {
exceptionLanding94: while (true) {
exceptionSkip92: while (true) {
exceptionLanding92: while (true) {
exceptionSkip62: while (true) {
exceptionLanding62: while (true) {
value = undefined;
value2 = false;
if (value2) {
return value;
}
var env0_0 = a0;
type = a0.type;
if (type === 'image/webp') {
value = environment.__proto__.__proto__;
binding = env2_4;
binding.verbose('[WebP] File already WebP format');
return env2_5.ALREADY_WEBP;
}
items2 = ['image/png'];
includes = items2.includes;
type = a0.type;
if (!Reflect.apply(includes, items2, [type])) {
value = environment.__proto__.__proto__;
binding = env2_4;
verbose = binding.verbose;
type = a0.type;
concat = global.HermesInternal.concat;
Reflect.apply(verbose, binding, ['[WebP] Unsupported format: ' + type]);
return env2_5.UNSUPPORTED_FORMAT;
}
try {
arrayBuffer = a0.arrayBuffer;
} catch (error) {
break exceptionLanding94;
}
try {
value = typeof arrayBuffer === 'function';
} catch (error) {
break exceptionLanding94;
}
if (value) {
try {
arrayBuffer = a0.arrayBuffer;
} catch (error) {
break exceptionLanding94;
}
try {
value = Reflect.apply(arrayBuffer, a0, []);
} catch (error) {
break exceptionLanding94;
}
yield value;
try {
value = undefined;
value4 = false;
} catch (error) {
break exceptionLanding94;
}
if (value4) {
return value;
}
r2 = value;
value = environment.__proto__.__proto__;
try {
binding = env2_0;
} catch (error) {
break exceptionLanding92;
}
try {
binding2 = env2_2;
} catch (error) {
break exceptionLanding92;
}
try {
property = binding2[2];
} catch (error) {
break exceptionLanding92;
}
try {
value5 = binding(property);
} catch (error) {
break exceptionLanding92;
}
try {
DiscordImageFactory = value5.DiscordImageFactory;
} catch (error) {
break exceptionLanding92;
}
try {
create = DiscordImageFactory.create;
} catch (error) {
break exceptionLanding92;
}
try {
value6 = Reflect.apply(create, DiscordImageFactory, [r2]);
} catch (error) {
break exceptionLanding92;
}
try {
value7 = value6 == null;
} catch (error) {
break exceptionLanding92;
}
if (!value7) {
try {
hasTransparency = value6.hasTransparency;
} catch (error) {
break exceptionLanding92;
}
try {
hasTransparency2 = Reflect.apply(hasTransparency, value6, []);
} catch (error) {
break exceptionLanding92;
}
if (hasTransparency2) {
try {
binding = env2_4;
} catch (error) {
break exceptionLanding92;
}
try {
verbose = binding.verbose;
} catch (error) {
break exceptionLanding92;
}
try {
Reflect.apply(verbose, binding,
['[webp] png uses actual transparency - skipping conversion']);
} catch (error) {
break exceptionLanding92;
}
try {
binding = env2_5;
} catch (error) {
break exceptionLanding92;
}
try {
HAS_TRANSPARENCY = binding.HAS_TRANSPARENCY;
} catch (error) {
break exceptionLanding92;
}
return HAS_TRANSPARENCY;
}
try {
isAnimated = value6.isAnimated;
} catch (error) {
break exceptionLanding92;
}
try {
isAnimated2 = Reflect.apply(isAnimated, value6, []);
} catch (error) {
break exceptionLanding92;
}
if (isAnimated2) {
try {
binding = env2_4;
} catch (error) {
break exceptionLanding92;
}
try {
verbose = binding.verbose;
} catch (error) {
break exceptionLanding92;
}
try {
Reflect.apply(verbose, binding,
['[webp] png is animated (apng) - skipping conversion']);
} catch (error) {
break exceptionLanding92;
}
try {
binding = env2_5;
} catch (error) {
break exceptionLanding92;
}
try {
ANIMATED_IMAGE = binding.ANIMATED_IMAGE;
} catch (error) {
break exceptionLanding92;
}
return ANIMATED_IMAGE;
}
try {
isPng8 = value6.isPng8;
} catch (error) {
break exceptionLanding92;
}
try {
isPng82 = Reflect.apply(isPng8, value6, []);
} catch (error) {
break exceptionLanding92;
}
if (isPng82) {
try {
binding = env2_4;
} catch (error) {
break exceptionLanding92;
}
try {
verbose = binding.verbose;
} catch (error) {
break exceptionLanding92;
}
try {
Reflect.apply(verbose, binding,
['[webp] png is PNG8 format (indexed color) - skipping conversion']);
} catch (error) {
break exceptionLanding92;
}
try {
binding = env2_5;
} catch (error) {
break exceptionLanding92;
}
try {
PNG8_FORMAT = binding.PNG8_FORMAT;
} catch (error) {
break exceptionLanding92;
}
return PNG8_FORMAT;
}
try {
hasSrgbIccProfile = value6.hasSrgbIccProfile;
} catch (error) {
break exceptionLanding62;
}
try {
hasSrgbIccProfile2 = Reflect.apply(hasSrgbIccProfile, value6, []);
} catch (error) {
break exceptionLanding62;
}
yield hasSrgbIccProfile2;
try {
value8 = undefined;
value9 = false;
} catch (error) {
break exceptionLanding62;
}
if (value9) {
return value8;
}
if (value8) {
return null;
}
try {
binding = env2_5;
} catch (error) {
break exceptionLanding62;
}
try {
ICC_NON_SRGB_PROFILE = binding.ICC_NON_SRGB_PROFILE;
} catch (error) {
break exceptionLanding62;
}
return ICC_NON_SRGB_PROFILE;
}
try {
Error = global.Error;
} catch (error) {
break exceptionLanding92;
}
try {
prototype = Error.prototype;
} catch (error) {
break exceptionLanding92;
}
try {
} catch (error) {
break exceptionLanding92;
}
try {
error = new Error('DiscordImage.create returned null');
} catch (error) {
break exceptionLanding92;
}
try {
value11 = error instanceof Object ? error : undefined;
} catch (error) {
break exceptionLanding92;
}
try {
throw value11;
} catch (error) {
break exceptionLanding92;
}
} else {
try {
Promise = global.Promise;
} catch (error) {
break exceptionLanding94;
}
try {
prototype = Promise.prototype;
} catch (error) {
break exceptionLanding94;
}
try {
} catch (error) {
break exceptionLanding94;
}
try {
closure = _fun40619;
} catch (error) {
break exceptionLanding94;
}
try {
promise = new Promise();
} catch (error) {
break exceptionLanding94;
}
try {
value = promise instanceof Object ? promise : value;
} catch (error) {
break exceptionLanding94;
}
yield value;
try {
value = undefined;
value3 = false;
} catch (error) {
break exceptionLanding94;
}
if (value3) {
return value;
}
r2 = value;
value = environment.__proto__.__proto__;
try {
binding = env2_0;
} catch (error) {
break exceptionLanding92;
}
try {
binding2 = env2_2;
} catch (error) {
break exceptionLanding92;
}
try {
property = binding2[2];
} catch (error) {
break exceptionLanding92;
}
try {
value5 = binding(property);
} catch (error) {
break exceptionLanding92;
}
try {
DiscordImageFactory = value5.DiscordImageFactory;
} catch (error) {
break exceptionLanding92;
}
try {
create = DiscordImageFactory.create;
} catch (error) {
break exceptionLanding92;
}
try {
value6 = Reflect.apply(create, DiscordImageFactory, [r2]);
} catch (error) {
break exceptionLanding92;
}
try {
value7 = value6 == null;
} catch (error) {
break exceptionLanding92;
}
if (!value7) {
try {
hasTransparency = value6.hasTransparency;
} catch (error) {
break exceptionLanding92;
}
try {
hasTransparency2 = Reflect.apply(hasTransparency, value6, []);
} catch (error) {
break exceptionLanding92;
}
if (hasTransparency2) {
try {
binding = env2_4;
} catch (error) {
break exceptionLanding92;
}
try {
verbose = binding.verbose;
} catch (error) {
break exceptionLanding92;
}
try {
Reflect.apply(verbose, binding,
['[webp] png uses actual transparency - skipping conversion']);
} catch (error) {
break exceptionLanding92;
}
try {
binding = env2_5;
} catch (error) {
break exceptionLanding92;
}
try {
HAS_TRANSPARENCY = binding.HAS_TRANSPARENCY;
} catch (error) {
break exceptionLanding92;
}
return HAS_TRANSPARENCY;
}
try {
isAnimated = value6.isAnimated;
} catch (error) {
break exceptionLanding92;
}
try {
isAnimated2 = Reflect.apply(isAnimated, value6, []);
} catch (error) {
break exceptionLanding92;
}
if (isAnimated2) {
try {
binding = env2_4;
} catch (error) {
break exceptionLanding92;
}
try {
verbose = binding.verbose;
} catch (error) {
break exceptionLanding92;
}
try {
Reflect.apply(verbose, binding,
['[webp] png is animated (apng) - skipping conversion']);
} catch (error) {
break exceptionLanding92;
}
try {
binding = env2_5;
} catch (error) {
break exceptionLanding92;
}
try {
ANIMATED_IMAGE = binding.ANIMATED_IMAGE;
} catch (error) {
break exceptionLanding92;
}
return ANIMATED_IMAGE;
}
try {
isPng8 = value6.isPng8;
} catch (error) {
break exceptionLanding92;
}
try {
isPng82 = Reflect.apply(isPng8, value6, []);
} catch (error) {
break exceptionLanding92;
}
if (isPng82) {
try {
binding = env2_4;
} catch (error) {
break exceptionLanding92;
}
try {
verbose = binding.verbose;
} catch (error) {
break exceptionLanding92;
}
try {
Reflect.apply(verbose, binding,
['[webp] png is PNG8 format (indexed color) - skipping conversion']);
} catch (error) {
break exceptionLanding92;
}
try {
binding = env2_5;
} catch (error) {
break exceptionLanding92;
}
try {
PNG8_FORMAT = binding.PNG8_FORMAT;
} catch (error) {
break exceptionLanding92;
}
return PNG8_FORMAT;
}
try {
hasSrgbIccProfile = value6.hasSrgbIccProfile;
} catch (error) {
break exceptionLanding62;
}
try {
hasSrgbIccProfile2 = Reflect.apply(hasSrgbIccProfile, value6, []);
} catch (error) {
break exceptionLanding62;
}
yield hasSrgbIccProfile2;
try {
value8 = undefined;
value9 = false;
} catch (error) {
break exceptionLanding62;
}
if (value9) {
return value8;
}
if (value8) {
return null;
}
try {
binding = env2_5;
} catch (error) {
break exceptionLanding62;
}
try {
ICC_NON_SRGB_PROFILE = binding.ICC_NON_SRGB_PROFILE;
} catch (error) {
break exceptionLanding62;
}
return ICC_NON_SRGB_PROFILE;
}
try {
Error = global.Error;
} catch (error) {
break exceptionLanding92;
}
try {
prototype = Error.prototype;
} catch (error) {
break exceptionLanding92;
}
try {
} catch (error) {
break exceptionLanding92;
}
try {
error = new Error('DiscordImage.create returned null');
} catch (error) {
break exceptionLanding92;
}
try {
value11 = error instanceof Object ? error : undefined;
} catch (error) {
break exceptionLanding92;
}
try {
throw value11;
} catch (error) {
break exceptionLanding92;
}
}
break exceptionSkip62;
}
binding = env2_4;
warn = binding.warn;
Reflect.apply(warn, binding, ['[WebP] ICC profile detection failed:', error]);
return env2_5.ICC_DETECTION_FAILED;
break exceptionSkip62;
}
break exceptionSkip92;
}
binding = env2_4;
warn = binding.warn;
Reflect.apply(warn, binding, ['[WebP] PNG analysis failed:', error]);
return env2_5.CORRUPTED_FILE;
break exceptionSkip92;
}
break exceptionSkip94;
}
value = environment.__proto__.__proto__;
binding = env2_4;
warn = binding.warn;
Reflect.apply(warn, binding, ['[WebP] Failed to read file data:', error]);
return env2_5.CONVERSION_FAILED;
break exceptionSkip94;
}
function _fun40619(a0, a1) { // fn#40619, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:4877:1071, offset: 0x0110630c, size: 92 bytes, params: 3, frame: 11
const env0_0 = a0;
const env0_1 = a1;
const FileReader = global.FileReader;
const fileReader = new FileReader();
fileReader.onload = onload_40620;
fileReader.onerror = onerror_40621;
fileReader.readAsArrayBuffer(env0_0);
function onload_40620() { // fn#40620, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:4877:1109, offset: 0x01106368, size: 26 bytes, params: 1, frame: 11
return env0_0(env0_2.result);
}
function onerror_40621() { // fn#40621, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:4877:1135, offset: 0x01106382, size: 50 bytes, params: 1, frame: 12
const Error = global.Error;
return require(new Error('Failed to read file as ArrayBuffer'));
}
}
}
}
function _performWebPConversion() { // fn#40623, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:4877:2104, offset: 0x0110640b, size: 48 bytes, params: 1, frame: 14
return Module00005(_fun40625).apply(this, arguments);
function* _fun40625(a0) { // fn#40625, original name: ?anon_0_, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:4877:2171, offset: 0x01106444, size: 1037 bytes, params: 2, frame: 57
var environment;
var value;
var value2;
var document;
var createElement;
var getContext;
var value3;
var Image;
var prototype;
var value4;
var image;
var value5;
var URL;
var createObjectURL;
var objectURL;
var Promise;
var closure;
var promise;
var value7;
var value8;
var value9;
var width;
var height;
var drawImage;
var revokeObjectURL;
var value10;
var value11;
var value12;
var value13;
var performance;
var now;
var value14;
var getImageData;
var value15;
var value16;
var clearRect;
var value17;
var value18;
var objectURL2;
var value20;
var value21;
var value22;
var value23;
var value24;
var binding;
var value25;
var value26;
var value27;
var verbose;
var name;
var size;
var size2;
var Math;
var round;
var value28;
var HermesInternal;
var concat;
var object;
var PIXEL_HASH_MISMATCH;
var error;
exceptionSkip55: while (true) {
exceptionLanding55: while (true) {
exceptionSkip50: while (true) {
exceptionLanding50: while (true) {
value = undefined;
value2 = false;
if (value2) {
return value;
}
var env0_0 = undefined;
var env0_1 = undefined;
var env0_2 = undefined;
var env0_3 = undefined;
var env0_4 = undefined;
document = global.document;
createElement = document.createElement;
value = Reflect.apply(createElement, document, ['canvas']);
env0_0 = value;
getContext = value.getContext;
value3 = Reflect.apply(getContext, value, ['2d']);
if (value3 == null) {
throw new global.Error('could not get canvas context');
}
Image = global.Image;
prototype = Image.prototype;
value4 = Object.create(prototype, {constructor: {value: Image}});
image = new Image();
value5 = image instanceof Object ? image : value4;
env0_1 = value5;
URL = global.URL;
createObjectURL = URL.createObjectURL;
objectURL = Reflect.apply(createObjectURL, URL, [a0]);
env0_2 = objectURL;
try {
Promise = global.Promise;
} catch (error) {
break exceptionLanding55;
}
try {
prototype = Promise.prototype;
} catch (error) {
break exceptionLanding55;
}
try {
} catch (error) {
break exceptionLanding55;
}
try {
closure = _fun40626;
} catch (error) {
break exceptionLanding55;
}
try {
promise = new Promise();
} catch (error) {
break exceptionLanding55;
}
try {
value7 = promise instanceof Object ? promise : undefined;
} catch (error) {
break exceptionLanding55;
}
yield value7;
try {
value8 = undefined;
value9 = false;
} catch (error) {
break exceptionLanding55;
}
if (value9) {
URL = global.URL;
URL.revokeObjectURL(objectURL);
return value8;
}
try {
width = value5.width;
} catch (error) {
break exceptionLanding55;
}
try {
value.width = width;
} catch (error) {
break exceptionLanding55;
}
try {
height = value5.height;
} catch (error) {
break exceptionLanding55;
}
try {
value.height = height;
} catch (error) {
break exceptionLanding55;
}
try {
drawImage = value3.drawImage;
} catch (error) {
break exceptionLanding55;
}
try {
Reflect.apply(drawImage, value3, [value5, 0, 0]);
} catch (error) {
break exceptionLanding55;
}
URL = global.URL;
revokeObjectURL = URL.revokeObjectURL;
Reflect.apply(revokeObjectURL, URL, [objectURL]);
Promise = global.Promise;
prototype = Promise.prototype;
value10 = Object.create(prototype, {constructor: {value: Promise}});
closure = _fun40629;
promise = new Promise();
value11 = promise instanceof Object ? promise : value10;
yield value11;
value12 = undefined;
value13 = false;
if (value13) {
return value12;
}
if (value12 == null) {
throw new global.Error('failed to convert to webp');
}
performance = global.performance;
now = performance.now;
value14 = Reflect.apply(now, performance, []);
getImageData = value3.getImageData;
width = value.width;
height = value.height;
yield Reflect.apply(getImageData, value3, [0, 0, width, height]);
value15 = undefined;
value16 = false;
if (value16) {
return value15;
}
clearRect = value3.clearRect;
width = value.width;
height = value.height;
Reflect.apply(clearRect, value3, [0, 0, width, height]);
Image = global.Image;
prototype = Image.prototype;
value17 = Object.create(prototype, {constructor: {value: Image}});
image = new Image();
value18 = image instanceof Object ? image : value17;
env0_3 = value18;
URL = global.URL;
createObjectURL = URL.createObjectURL;
objectURL2 = Reflect.apply(createObjectURL, URL, [value12]);
env0_4 = objectURL2;
try {
Promise = global.Promise;
} catch (error) {
break exceptionLanding50;
}
try {
prototype = Promise.prototype;
} catch (error) {
break exceptionLanding50;
}
try {
} catch (error) {
break exceptionLanding50;
}
try {
closure = _fun40630;
} catch (error) {
break exceptionLanding50;
}
try {
promise = new Promise();
} catch (error) {
break exceptionLanding50;
}
try {
value20 = promise instanceof Object ? promise : undefined;
} catch (error) {
break exceptionLanding50;
}
yield value20;
try {
value21 = undefined;
value22 = false;
} catch (error) {
break exceptionLanding50;
}
if (value22) {
URL = global.URL;
URL.revokeObjectURL(objectURL2);
return value21;
}
try {
drawImage = value3.drawImage;
} catch (error) {
break exceptionLanding50;
}
try {
Reflect.apply(drawImage, value3, [value18, 0, 0]);
} catch (error) {
break exceptionLanding50;
}
URL = global.URL;
revokeObjectURL = URL.revokeObjectURL;
Reflect.apply(revokeObjectURL, URL, [objectURL2]);
getImageData = value3.getImageData;
width = value.width;
height = value.height;
yield Reflect.apply(getImageData, value3, [0, 0, width, height]);
value = undefined;
value23 = false;
if (value23) {
return value;
}
value24 = environment.__proto__.__proto__;
binding = env2_8;
value25 = binding(value15);
value = binding(value);
value26 = value25 === value;
performance = global.performance;
now = performance.now;
value27 = Reflect.apply(now, performance, []) - value14;
binding = env2_4;
verbose = binding.verbose;
name = a0.name;
size = a0.size;
width = value18.width;
height = value18.height;
size2 = value12.size;
Math = global.Math;
round = Math.round;
value28 = Reflect.apply(round, Math, [value27]);
HermesInternal = global.HermesInternal;
concat = HermesInternal.concat;
value = '[WebP] Pixel hash results: fileName=' + name + ' fileLength={' + size + '} width=' + width + ' height=' + height + ' pixelHash=' + value25 + ' mezzanineFileLength={' + size2 + '} mezzaninePixelHash=' + value + ' match=' + value26 + ' elapsed_ms=' + value28;
Reflect.apply(verbose, binding, [value]);
object = {};
if (value26) {
object.success = true;
object.webpBlob = value12;
object.pixelHashTimeMs = value27;
} else {
object.success = false;
PIXEL_HASH_MISMATCH = env2_5.PIXEL_HASH_MISMATCH;
object.reason = PIXEL_HASH_MISMATCH;
object.pixelHashTimeMs = value27;
}
return object;
break exceptionSkip50;
}
URL = global.URL;
revokeObjectURL = URL.revokeObjectURL;
Reflect.apply(revokeObjectURL, URL, [objectURL2]);
throw error;
break exceptionSkip50;
}
break exceptionSkip55;
}
URL = global.URL;
revokeObjectURL = URL.revokeObjectURL;
Reflect.apply(revokeObjectURL, URL, [objectURL]);
throw error;
break exceptionSkip55;
}
function _fun40626(a0, a1) { // fn#40626, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:4877:2367, offset: 0x01106851, size: 67 bytes, params: 3, frame: 4
const env0_0 = a0;
const env0_1 = a1;
env0_1.onload = onload_40627;
env0_1.onerror = onerror_40628;
env0_1.src = env0_2;
function onload_40627() { // fn#40627, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:4877:2384, offset: 0x00cefeb4, size: 15 bytes, params: 1, frame: 9
return env0_0();
}
function onerror_40628() { // fn#40628, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:4877:2402, offset: 0x01106894, size: 50 bytes, params: 1, frame: 12
const Error = global.Error;
return require(new Error('failed to load image'));
}
}
function _fun40629(a0) { // fn#40629, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:4877:2563, offset: 0x011068c6, size: 36 bytes, params: 2, frame: 15
env0_0.toBlob(a0, 'image/webp', 1);
}
function _fun40630(a0, a1) { // fn#40630, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:4877:2820, offset: 0x011068ea, size: 67 bytes, params: 3, frame: 4
const env0_0 = a0;
const env0_1 = a1;
env0_3.onload = onload_40631;
env0_3.onerror = onerror_40632;
env0_3.src = env0_4;
function onload_40631() { // fn#40631, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:4877:2837, offset: 0x00cefeb4, size: 15 bytes, params: 1, frame: 9
return env0_0();
}
function onerror_40632() { // fn#40632, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:4877:2855, offset: 0x01106894, size: 50 bytes, params: 1, frame: 12
const Error = global.Error;
return require(new Error('failed to load image'));
}
}
}
}
function _maybeConvertToWebP() { // fn#40633, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:4877:3439, offset: 0x0110692d, size: 48 bytes, params: 1, frame: 14
return Module00005(_fun40635).apply(this, arguments);
function* _fun40635(a0) { // fn#40635, original name: ?anon_0_, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:4877:3500, offset: 0x01106966, size: 787 bytes, params: 2, frame: 38
var environment;
var r16;
var r10;
var r9;
var value4;
var value5;
var value6;
var value7;
var performWebPConversion2;
var value8;
var value9;
var value10;
var success;
var webpBlob;
var value11;
var size;
var value12;
var value13;
var size2;
var value14;
var value15;
var value16;
var value17;
var value18;
var Math;
var round;
var value19;
var value20;
var object;
var pixelHashTimeMs;
var value21;
var value22;
var value23;
var size3;
var value24;
var INSUFFICIENT_SAVINGS;
var failedResult2;
var reason;
var value26;
var UNKNOWN_ERROR;
var failedResult22;
var value28;
var failedResult23;
var error;
var error2;
var CONVERSION_FAILED;
if (false) {
return undefined;
}
const env0_0 = a0;
const createFailedResult2 = createFailedResult;
if (a0 == null) {
throw new global.Error('file is null or undefined');
}
value = environment.__proto__.__proto__;
let binding = env2_4;
let verbose = binding.verbose;
let name = a0.name;
Reflect.apply(verbose, binding, ['[WebP] Starting conversion for: ' + name]);
let performance = global.performance;
const value3 = performance.now();
try {
binding = env2_6;
} catch (error) {
binding = env2_4;
error2 = binding.error;
name = a0.name;
Reflect.apply(error2, binding, ['[WebP] Conversion failed for ' + name + ':', error]);
CONVERSION_FAILED = env2_5.CONVERSION_FAILED;
return createFailedResult2(CONVERSION_FAILED);
}
try {
value4 = binding(a0);
} catch (error) {
binding = env2_4;
error2 = binding.error;
name = a0.name;
Reflect.apply(error2, binding, ['[WebP] Conversion failed for ' + name + ':', error]);
CONVERSION_FAILED = env2_5.CONVERSION_FAILED;
return createFailedResult2(CONVERSION_FAILED);
}
yield value4;
try {
value5 = undefined;
value6 = false;
} catch (error) {
binding = env2_4;
error2 = binding.error;
name = a0.name;
Reflect.apply(error2, binding, ['[WebP] Conversion failed for ' + name + ':', error]);
CONVERSION_FAILED = env2_5.CONVERSION_FAILED;
return createFailedResult2(CONVERSION_FAILED);
}
if (value6) {
return value5;
}
try {
value7 = value5 != null;
} catch (error) {
binding = env2_4;
error2 = binding.error;
name = a0.name;
Reflect.apply(error2, binding, ['[WebP] Conversion failed for ' + name + ':', error]);
CONVERSION_FAILED = env2_5.CONVERSION_FAILED;
return createFailedResult2(CONVERSION_FAILED);
}
if (value7) {
try {
binding = env2_4;
} catch (error) {
binding = env2_4;
error2 = binding.error;
name = a0.name;
Reflect.apply(error2, binding, ['[WebP] Conversion failed for ' + name + ':', error]);
CONVERSION_FAILED = env2_5.CONVERSION_FAILED;
return createFailedResult2(CONVERSION_FAILED);
}
try {
verbose = binding.verbose;
} catch (error) {
binding = env2_4;
error2 = binding.error;
name = a0.name;
Reflect.apply(error2, binding, ['[WebP] Conversion failed for ' + name + ':', error]);
CONVERSION_FAILED = env2_5.CONVERSION_FAILED;
return createFailedResult2(CONVERSION_FAILED);
}
try {
} catch (error) {
binding = env2_4;
error2 = binding.error;
name = a0.name;
Reflect.apply(error2, binding, ['[WebP] Conversion failed for ' + name + ':', error]);
CONVERSION_FAILED = env2_5.CONVERSION_FAILED;
return createFailedResult2(CONVERSION_FAILED);
}
try {
} catch (error) {
binding = env2_4;
error2 = binding.error;
name = a0.name;
Reflect.apply(error2, binding, ['[WebP] Conversion failed for ' + name + ':', error]);
CONVERSION_FAILED = env2_5.CONVERSION_FAILED;
return createFailedResult2(CONVERSION_FAILED);
}
try {
value28 = '[WebP] Conversion rejected: ' + value5;
} catch (error) {
binding = env2_4;
error2 = binding.error;
name = a0.name;
Reflect.apply(error2, binding, ['[WebP] Conversion failed for ' + name + ':', error]);
CONVERSION_FAILED = env2_5.CONVERSION_FAILED;
return createFailedResult2(CONVERSION_FAILED);
}
try {
Reflect.apply(verbose, binding, [value28]);
} catch (error) {
binding = env2_4;
error2 = binding.error;
name = a0.name;
Reflect.apply(error2, binding, ['[WebP] Conversion failed for ' + name + ':', error]);
CONVERSION_FAILED = env2_5.CONVERSION_FAILED;
return createFailedResult2(CONVERSION_FAILED);
}
try {
failedResult23 = createFailedResult2(value5);
} catch (error) {
binding = env2_4;
error2 = binding.error;
name = a0.name;
Reflect.apply(error2, binding, ['[WebP] Conversion failed for ' + name + ':', error]);
CONVERSION_FAILED = env2_5.CONVERSION_FAILED;
return createFailedResult2(CONVERSION_FAILED);
}
return failedResult23;
}
try {
performWebPConversion2 = performWebPConversion;
} catch (error) {
binding = env2_4;
error2 = binding.error;
name = a0.name;
Reflect.apply(error2, binding, ['[WebP] Conversion failed for ' + name + ':', error]);
CONVERSION_FAILED = env2_5.CONVERSION_FAILED;
return createFailedResult2(CONVERSION_FAILED);
}
try {
value8 = performWebPConversion2(a0);
} catch (error) {
binding = env2_4;
error2 = binding.error;
name = a0.name;
Reflect.apply(error2, binding, ['[WebP] Conversion failed for ' + name + ':', error]);
CONVERSION_FAILED = env2_5.CONVERSION_FAILED;
return createFailedResult2(CONVERSION_FAILED);
}
yield value8;
try {
value9 = undefined;
value10 = false;
} catch (error) {
binding = env2_4;
error2 = binding.error;
name = a0.name;
Reflect.apply(error2, binding, ['[WebP] Conversion failed for ' + name + ':', error]);
CONVERSION_FAILED = env2_5.CONVERSION_FAILED;
return createFailedResult2(CONVERSION_FAILED);
}
if (value10) {
return value9;
}
try {
success = value9.success;
} catch (error) {
binding = env2_4;
error2 = binding.error;
name = a0.name;
Reflect.apply(error2, binding, ['[WebP] Conversion failed for ' + name + ':', error]);
CONVERSION_FAILED = env2_5.CONVERSION_FAILED;
return createFailedResult2(CONVERSION_FAILED);
}
if (success) {
try {
webpBlob = value9.webpBlob;
} catch (error) {
binding = env2_4;
error2 = binding.error;
name = a0.name;
Reflect.apply(error2, binding, ['[WebP] Conversion failed for ' + name + ':', error]);
CONVERSION_FAILED = env2_5.CONVERSION_FAILED;
return createFailedResult2(CONVERSION_FAILED);
}
try {
value11 = webpBlob == null;
} catch (error) {
binding = env2_4;
error2 = binding.error;
name = a0.name;
Reflect.apply(error2, binding, ['[WebP] Conversion failed for ' + name + ':', error]);
CONVERSION_FAILED = env2_5.CONVERSION_FAILED;
return createFailedResult2(CONVERSION_FAILED);
}
if (value11) {
try {
reason = value9.reason;
} catch (error) {
binding = env2_4;
error2 = binding.error;
name = a0.name;
Reflect.apply(error2, binding, ['[WebP] Conversion failed for ' + name + ':', error]);
CONVERSION_FAILED = env2_5.CONVERSION_FAILED;
return createFailedResult2(CONVERSION_FAILED);
}
try {
value26 = reason != null;
} catch (error) {
binding = env2_4;
error2 = binding.error;
name = a0.name;
Reflect.apply(error2, binding, ['[WebP] Conversion failed for ' + name + ':', error]);
CONVERSION_FAILED = env2_5.CONVERSION_FAILED;
return createFailedResult2(CONVERSION_FAILED);
}
if (value26) {
r9 = reason;
} else {
try {
binding = env2_5;
} catch (error) {
binding = env2_4;
error2 = binding.error;
name = a0.name;
Reflect.apply(error2, binding, ['[WebP] Conversion failed for ' + name + ':', error]);
CONVERSION_FAILED = env2_5.CONVERSION_FAILED;
return createFailedResult2(CONVERSION_FAILED);
}
try {
UNKNOWN_ERROR = binding.UNKNOWN_ERROR;
} catch (error) {
binding = env2_4;
error2 = binding.error;
name = a0.name;
Reflect.apply(error2, binding, ['[WebP] Conversion failed for ' + name + ':', error]);
CONVERSION_FAILED = env2_5.CONVERSION_FAILED;
return createFailedResult2(CONVERSION_FAILED);
}
r9 = UNKNOWN_ERROR;
}
try {
failedResult22 = createFailedResult2(r9);
} catch (error) {
binding = env2_4;
error2 = binding.error;
name = a0.name;
Reflect.apply(error2, binding, ['[WebP] Conversion failed for ' + name + ':', error]);
CONVERSION_FAILED = env2_5.CONVERSION_FAILED;
return createFailedResult2(CONVERSION_FAILED);
}
return failedResult22;
}
try {
webpBlob = value9.webpBlob;
} catch (error) {
binding = env2_4;
error2 = binding.error;
name = a0.name;
Reflect.apply(error2, binding, ['[WebP] Conversion failed for ' + name + ':', error]);
CONVERSION_FAILED = env2_5.CONVERSION_FAILED;
return createFailedResult2(CONVERSION_FAILED);
}
try {
size = a0.size;
} catch (error) {
binding = env2_4;
error2 = binding.error;
name = a0.name;
Reflect.apply(error2, binding, ['[WebP] Conversion failed for ' + name + ':', error]);
CONVERSION_FAILED = env2_5.CONVERSION_FAILED;
return createFailedResult2(CONVERSION_FAILED);
}
try {
value12 = size > 0;
} catch (error) {
binding = env2_4;
error2 = binding.error;
name = a0.name;
Reflect.apply(error2, binding, ['[WebP] Conversion failed for ' + name + ':', error]);
CONVERSION_FAILED = env2_5.CONVERSION_FAILED;
return createFailedResult2(CONVERSION_FAILED);
}
value13 = 1;
if (value12) {
try {
size = webpBlob.size;
} catch (error) {
binding = env2_4;
error2 = binding.error;
name = a0.name;
Reflect.apply(error2, binding, ['[WebP] Conversion failed for ' + name + ':', error]);
CONVERSION_FAILED = env2_5.CONVERSION_FAILED;
return createFailedResult2(CONVERSION_FAILED);
}
try {
size2 = a0.size;
} catch (error) {
binding = env2_4;
error2 = binding.error;
name = a0.name;
Reflect.apply(error2, binding, ['[WebP] Conversion failed for ' + name + ':', error]);
CONVERSION_FAILED = env2_5.CONVERSION_FAILED;
return createFailedResult2(CONVERSION_FAILED);
}
try {
value14 = size / size2;
} catch (error) {
binding = env2_4;
error2 = binding.error;
name = a0.name;
Reflect.apply(error2, binding, ['[WebP] Conversion failed for ' + name + ':', error]);
CONVERSION_FAILED = env2_5.CONVERSION_FAILED;
return createFailedResult2(CONVERSION_FAILED);
}
r16 = value14;
} else {
r16 = value13;
}
try {
value15 = value13 - r16;
} catch (error) {
binding = env2_4;
error2 = binding.error;
name = a0.name;
Reflect.apply(error2, binding, ['[WebP] Conversion failed for ' + name + ':', error]);
CONVERSION_FAILED = env2_5.CONVERSION_FAILED;
return createFailedResult2(CONVERSION_FAILED);
}
try {
value16 = value15 < 0;
} catch (error) {
binding = env2_4;
error2 = binding.error;
name = a0.name;
Reflect.apply(error2, binding, ['[WebP] Conversion failed for ' + name + ':', error]);
CONVERSION_FAILED = env2_5.CONVERSION_FAILED;
return createFailedResult2(CONVERSION_FAILED);
}
if (value16) {
try {
binding = env2_4;
} catch (error) {
binding = env2_4;
error2 = binding.error;
name = a0.name;
Reflect.apply(error2, binding, ['[WebP] Conversion failed for ' + name + ':', error]);
CONVERSION_FAILED = env2_5.CONVERSION_FAILED;
return createFailedResult2(CONVERSION_FAILED);
}
try {
verbose = binding.verbose;
} catch (error) {
binding = env2_4;
error2 = binding.error;
name = a0.name;
Reflect.apply(error2, binding, ['[WebP] Conversion failed for ' + name + ':', error]);
CONVERSION_FAILED = env2_5.CONVERSION_FAILED;
return createFailedResult2(CONVERSION_FAILED);
}
try {
Math = global.Math;
} catch (error) {
binding = env2_4;
error2 = binding.error;
name = a0.name;
Reflect.apply(error2, binding, ['[WebP] Conversion failed for ' + name + ':', error]);
CONVERSION_FAILED = env2_5.CONVERSION_FAILED;
return createFailedResult2(CONVERSION_FAILED);
}
try {
round = Math.round;
} catch (error) {
binding = env2_4;
error2 = binding.error;
name = a0.name;
Reflect.apply(error2, binding, ['[WebP] Conversion failed for ' + name + ':', error]);
CONVERSION_FAILED = env2_5.CONVERSION_FAILED;
return createFailedResult2(CONVERSION_FAILED);
}
try {
value22 = 100 * value15;
} catch (error) {
binding = env2_4;
error2 = binding.error;
name = a0.name;
Reflect.apply(error2, binding, ['[WebP] Conversion failed for ' + name + ':', error]);
CONVERSION_FAILED = env2_5.CONVERSION_FAILED;
return createFailedResult2(CONVERSION_FAILED);
}
try {
value23 = Reflect.apply(round, Math, [value22]);
} catch (error) {
binding = env2_4;
error2 = binding.error;
name = a0.name;
Reflect.apply(error2, binding, ['[WebP] Conversion failed for ' + name + ':', error]);
CONVERSION_FAILED = env2_5.CONVERSION_FAILED;
return createFailedResult2(CONVERSION_FAILED);
}
try {
size = a0.size;
} catch (error) {
binding = env2_4;
error2 = binding.error;
name = a0.name;
Reflect.apply(error2, binding, ['[WebP] Conversion failed for ' + name + ':', error]);
CONVERSION_FAILED = env2_5.CONVERSION_FAILED;
return createFailedResult2(CONVERSION_FAILED);
}
try {
size3 = webpBlob.size;
} catch (error) {
binding = env2_4;
error2 = binding.error;
name = a0.name;
Reflect.apply(error2, binding, ['[WebP] Conversion failed for ' + name + ':', error]);
CONVERSION_FAILED = env2_5.CONVERSION_FAILED;
return createFailedResult2(CONVERSION_FAILED);
}
try {
} catch (error) {
binding = env2_4;
error2 = binding.error;
name = a0.name;
Reflect.apply(error2, binding, ['[WebP] Conversion failed for ' + name + ':', error]);
CONVERSION_FAILED = env2_5.CONVERSION_FAILED;
return createFailedResult2(CONVERSION_FAILED);
}
try {
} catch (error) {
binding = env2_4;
error2 = binding.error;
name = a0.name;
Reflect.apply(error2, binding, ['[WebP] Conversion failed for ' + name + ':', error]);
CONVERSION_FAILED = env2_5.CONVERSION_FAILED;
return createFailedResult2(CONVERSION_FAILED);
}
try {
value24 = '[WebP] Insufficient savings: ' + value23 + '% < 0% (' + size + ' -> ' + size3 + ' bytes)';
} catch (error) {
binding = env2_4;
error2 = binding.error;
name = a0.name;
Reflect.apply(error2, binding, ['[WebP] Conversion failed for ' + name + ':', error]);
CONVERSION_FAILED = env2_5.CONVERSION_FAILED;
return createFailedResult2(CONVERSION_FAILED);
}
try {
Reflect.apply(verbose, binding, [value24]);
} catch (error) {
binding = env2_4;
error2 = binding.error;
name = a0.name;
Reflect.apply(error2, binding, ['[WebP] Conversion failed for ' + name + ':', error]);
CONVERSION_FAILED = env2_5.CONVERSION_FAILED;
return createFailedResult2(CONVERSION_FAILED);
}
try {
binding = env2_5;
} catch (error) {
binding = env2_4;
error2 = binding.error;
name = a0.name;
Reflect.apply(error2, binding, ['[WebP] Conversion failed for ' + name + ':', error]);
CONVERSION_FAILED = env2_5.CONVERSION_FAILED;
return createFailedResult2(CONVERSION_FAILED);
}
try {
INSUFFICIENT_SAVINGS = binding.INSUFFICIENT_SAVINGS;
} catch (error) {
binding = env2_4;
error2 = binding.error;
name = a0.name;
Reflect.apply(error2, binding, ['[WebP] Conversion failed for ' + name + ':', error]);
CONVERSION_FAILED = env2_5.CONVERSION_FAILED;
return createFailedResult2(CONVERSION_FAILED);
}
try {
size = webpBlob.size;
} catch (error) {
binding = env2_4;
error2 = binding.error;
name = a0.name;
Reflect.apply(error2, binding, ['[WebP] Conversion failed for ' + name + ':', error]);
CONVERSION_FAILED = env2_5.CONVERSION_FAILED;
return createFailedResult2(CONVERSION_FAILED);
}
try {
failedResult2 = createFailedResult2(INSUFFICIENT_SAVINGS, size);
} catch (error) {
binding = env2_4;
error2 = binding.error;
name = a0.name;
Reflect.apply(error2, binding, ['[WebP] Conversion failed for ' + name + ':', error]);
CONVERSION_FAILED = env2_5.CONVERSION_FAILED;
return createFailedResult2(CONVERSION_FAILED);
}
r10 = failedResult2;
} else {
try {
performance = global.performance;
} catch (error) {
binding = env2_4;
error2 = binding.error;
name = a0.name;
Reflect.apply(error2, binding, ['[WebP] Conversion failed for ' + name + ':', error]);
CONVERSION_FAILED = env2_5.CONVERSION_FAILED;
return createFailedResult2(CONVERSION_FAILED);
}
try {
now = performance.now;
} catch (error) {
binding = env2_4;
error2 = binding.error;
name = a0.name;
Reflect.apply(error2, binding, ['[WebP] Conversion failed for ' + name + ':', error]);
CONVERSION_FAILED = env2_5.CONVERSION_FAILED;
return createFailedResult2(CONVERSION_FAILED);
}
try {
value17 = Reflect.apply(now, performance, []);
} catch (error) {
binding = env2_4;
error2 = binding.error;
name = a0.name;
Reflect.apply(error2, binding, ['[WebP] Conversion failed for ' + name + ':', error]);
CONVERSION_FAILED = env2_5.CONVERSION_FAILED;
return createFailedResult2(CONVERSION_FAILED);
}
try {
value18 = value17 - value3;
} catch (error) {
binding = env2_4;
error2 = binding.error;
name = a0.name;
Reflect.apply(error2, binding, ['[WebP] Conversion failed for ' + name + ':', error]);
CONVERSION_FAILED = env2_5.CONVERSION_FAILED;
return createFailedResult2(CONVERSION_FAILED);
}
try {
binding = env2_4;
} catch (error) {
binding = env2_4;
error2 = binding.error;
name = a0.name;
Reflect.apply(error2, binding, ['[WebP] Conversion failed for ' + name + ':', error]);
CONVERSION_FAILED = env2_5.CONVERSION_FAILED;
return createFailedResult2(CONVERSION_FAILED);
}
try {
verbose = binding.verbose;
} catch (error) {
binding = env2_4;
error2 = binding.error;
name = a0.name;
Reflect.apply(error2, binding, ['[WebP] Conversion failed for ' + name + ':', error]);
CONVERSION_FAILED = env2_5.CONVERSION_FAILED;
return createFailedResult2(CONVERSION_FAILED);
}
try {
name = a0.name;
} catch (error) {
binding = env2_4;
error2 = binding.error;
name = a0.name;
Reflect.apply(error2, binding, ['[WebP] Conversion failed for ' + name + ':', error]);
CONVERSION_FAILED = env2_5.CONVERSION_FAILED;
return createFailedResult2(CONVERSION_FAILED);
}
try {
Math = global.Math;
} catch (error) {
binding = env2_4;
error2 = binding.error;
name = a0.name;
Reflect.apply(error2, binding, ['[WebP] Conversion failed for ' + name + ':', error]);
CONVERSION_FAILED = env2_5.CONVERSION_FAILED;
return createFailedResult2(CONVERSION_FAILED);
}
try {
round = Math.round;
} catch (error) {
binding = env2_4;
error2 = binding.error;
name = a0.name;
Reflect.apply(error2, binding, ['[WebP] Conversion failed for ' + name + ':', error]);
CONVERSION_FAILED = env2_5.CONVERSION_FAILED;
return createFailedResult2(CONVERSION_FAILED);
}
try {
value19 = Reflect.apply(round, Math, [value18]);
} catch (error) {
binding = env2_4;
error2 = binding.error;
name = a0.name;
Reflect.apply(error2, binding, ['[WebP] Conversion failed for ' + name + ':', error]);
CONVERSION_FAILED = env2_5.CONVERSION_FAILED;
return createFailedResult2(CONVERSION_FAILED);
}
try {
} catch (error) {
binding = env2_4;
error2 = binding.error;
name = a0.name;
Reflect.apply(error2, binding, ['[WebP] Conversion failed for ' + name + ':', error]);
CONVERSION_FAILED = env2_5.CONVERSION_FAILED;
return createFailedResult2(CONVERSION_FAILED);
}
try {
} catch (error) {
binding = env2_4;
error2 = binding.error;
name = a0.name;
Reflect.apply(error2, binding, ['[WebP] Conversion failed for ' + name + ':', error]);
CONVERSION_FAILED = env2_5.CONVERSION_FAILED;
return createFailedResult2(CONVERSION_FAILED);
}
try {
value20 = '[WebP] Conversion successful: ' + name + ' to WebP in ' + value19 + 'ms';
} catch (error) {
binding = env2_4;
error2 = binding.error;
name = a0.name;
Reflect.apply(error2, binding, ['[WebP] Conversion failed for ' + name + ':', error]);
CONVERSION_FAILED = env2_5.CONVERSION_FAILED;
return createFailedResult2(CONVERSION_FAILED);
}
try {
Reflect.apply(verbose, binding, [value20]);
} catch (error) {
binding = env2_4;
error2 = binding.error;
name = a0.name;
Reflect.apply(error2, binding, ['[WebP] Conversion failed for ' + name + ':', error]);
CONVERSION_FAILED = env2_5.CONVERSION_FAILED;
return createFailedResult2(CONVERSION_FAILED);
}
try {
object = {};
} catch (error) {
binding = env2_4;
error2 = binding.error;
name = a0.name;
Reflect.apply(error2, binding, ['[WebP] Conversion failed for ' + name + ':', error]);
CONVERSION_FAILED = env2_5.CONVERSION_FAILED;
return createFailedResult2(CONVERSION_FAILED);
}
try {
object.success = true;
} catch (error) {
binding = env2_4;
error2 = binding.error;
name = a0.name;
Reflect.apply(error2, binding, ['[WebP] Conversion failed for ' + name + ':', error]);
CONVERSION_FAILED = env2_5.CONVERSION_FAILED;
return createFailedResult2(CONVERSION_FAILED);
}
try {
object.originalFile = a0;
} catch (error) {
binding = env2_4;
error2 = binding.error;
name = a0.name;
Reflect.apply(error2, binding, ['[WebP] Conversion failed for ' + name + ':', error]);
CONVERSION_FAILED = env2_5.CONVERSION_FAILED;
return createFailedResult2(CONVERSION_FAILED);
}
try {
object.convertedBlob = webpBlob;
} catch (error) {
binding = env2_4;
error2 = binding.error;
name = a0.name;
Reflect.apply(error2, binding, ['[WebP] Conversion failed for ' + name + ':', error]);
CONVERSION_FAILED = env2_5.CONVERSION_FAILED;
return createFailedResult2(CONVERSION_FAILED);
}
try {
size = a0.size;
} catch (error) {
binding = env2_4;
error2 = binding.error;
name = a0.name;
Reflect.apply(error2, binding, ['[WebP] Conversion failed for ' + name + ':', error]);
CONVERSION_FAILED = env2_5.CONVERSION_FAILED;
return createFailedResult2(CONVERSION_FAILED);
}
try {
object.sizeBefore = size;
} catch (error) {
binding = env2_4;
error2 = binding.error;
name = a0.name;
Reflect.apply(error2, binding, ['[WebP] Conversion failed for ' + name + ':', error]);
CONVERSION_FAILED = env2_5.CONVERSION_FAILED;
return createFailedResult2(CONVERSION_FAILED);
}
try {
size = webpBlob.size;
} catch (error) {
binding = env2_4;
error2 = binding.error;
name = a0.name;
Reflect.apply(error2, binding, ['[WebP] Conversion failed for ' + name + ':', error]);
CONVERSION_FAILED = env2_5.CONVERSION_FAILED;
return createFailedResult2(CONVERSION_FAILED);
}
try {
object.sizeAfter = size;
} catch (error) {
binding = env2_4;
error2 = binding.error;
name = a0.name;
Reflect.apply(error2, binding, ['[WebP] Conversion failed for ' + name + ':', error]);
CONVERSION_FAILED = env2_5.CONVERSION_FAILED;
return createFailedResult2(CONVERSION_FAILED);
}
try {
object.compressionRatio = r16;
} catch (error) {
binding = env2_4;
error2 = binding.error;
name = a0.name;
Reflect.apply(error2, binding, ['[WebP] Conversion failed for ' + name + ':', error]);
CONVERSION_FAILED = env2_5.CONVERSION_FAILED;
return createFailedResult2(CONVERSION_FAILED);
}
try {
pixelHashTimeMs = value9.pixelHashTimeMs;
} catch (error) {
binding = env2_4;
error2 = binding.error;
name = a0.name;
Reflect.apply(error2, binding, ['[WebP] Conversion failed for ' + name + ':', error]);
CONVERSION_FAILED = env2_5.CONVERSION_FAILED;
return createFailedResult2(CONVERSION_FAILED);
}
try {
object.hashTimeMs = pixelHashTimeMs;
} catch (error) {
binding = env2_4;
error2 = binding.error;
name = a0.name;
Reflect.apply(error2, binding, ['[WebP] Conversion failed for ' + name + ':', error]);
CONVERSION_FAILED = env2_5.CONVERSION_FAILED;
return createFailedResult2(CONVERSION_FAILED);
}
try {
Math = global.Math;
} catch (error) {
binding = env2_4;
error2 = binding.error;
name = a0.name;
Reflect.apply(error2, binding, ['[WebP] Conversion failed for ' + name + ':', error]);
CONVERSION_FAILED = env2_5.CONVERSION_FAILED;
return createFailedResult2(CONVERSION_FAILED);
}
try {
round = Math.round;
} catch (error) {
binding = env2_4;
error2 = binding.error;
name = a0.name;
Reflect.apply(error2, binding, ['[WebP] Conversion failed for ' + name + ':', error]);
CONVERSION_FAILED = env2_5.CONVERSION_FAILED;
return createFailedResult2(CONVERSION_FAILED);
}
try {
value21 = Reflect.apply(round, Math, [value18]);
} catch (error) {
binding = env2_4;
error2 = binding.error;
name = a0.name;
Reflect.apply(error2, binding, ['[WebP] Conversion failed for ' + name + ':', error]);
CONVERSION_FAILED = env2_5.CONVERSION_FAILED;
return createFailedResult2(CONVERSION_FAILED);
}
try {
object.compressTimeMs = value21;
} catch (error) {
binding = env2_4;
error2 = binding.error;
name = a0.name;
Reflect.apply(error2, binding, ['[WebP] Conversion failed for ' + name + ':', error]);
CONVERSION_FAILED = env2_5.CONVERSION_FAILED;
return createFailedResult2(CONVERSION_FAILED);
}
r10 = object;
}
return r10;
}
try {
reason = value9.reason;
} catch (error) {
binding = env2_4;
error2 = binding.error;
name = a0.name;
Reflect.apply(error2, binding, ['[WebP] Conversion failed for ' + name + ':', error]);
CONVERSION_FAILED = env2_5.CONVERSION_FAILED;
return createFailedResult2(CONVERSION_FAILED);
}
try {
value26 = reason != null;
} catch (error) {
binding = env2_4;
error2 = binding.error;
name = a0.name;
Reflect.apply(error2, binding, ['[WebP] Conversion failed for ' + name + ':', error]);
CONVERSION_FAILED = env2_5.CONVERSION_FAILED;
return createFailedResult2(CONVERSION_FAILED);
}
if (value26) {
r9 = reason;
} else {
try {
binding = env2_5;
} catch (error) {
binding = env2_4;
error2 = binding.error;
name = a0.name;
Reflect.apply(error2, binding, ['[WebP] Conversion failed for ' + name + ':', error]);
CONVERSION_FAILED = env2_5.CONVERSION_FAILED;
return createFailedResult2(CONVERSION_FAILED);
}
try {
UNKNOWN_ERROR = binding.UNKNOWN_ERROR;
} catch (error) {
binding = env2_4;
error2 = binding.error;
name = a0.name;
Reflect.apply(error2, binding, ['[WebP] Conversion failed for ' + name + ':', error]);
CONVERSION_FAILED = env2_5.CONVERSION_FAILED;
return createFailedResult2(CONVERSION_FAILED);
}
r9 = UNKNOWN_ERROR;
}
try {
failedResult22 = createFailedResult2(r9);
} catch (error) {
binding = env2_4;
error2 = binding.error;
name = a0.name;
Reflect.apply(error2, binding, ['[WebP] Conversion failed for ' + name + ':', error]);
CONVERSION_FAILED = env2_5.CONVERSION_FAILED;
return createFailedResult2(CONVERSION_FAILED);
}
return failedResult22;
function createFailedResult(a0) { // fn#40636, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:4877:3650, offset: 0x01106c79, size: 148 bytes, params: 2, frame: 14
const value = a1;
const r4 = value !== undefined ? value : env0_0.size;
const object = {success: false};
const binding = env0_0;
object.originalFile = binding;
object.sizeBefore = binding.size;
object.sizeAfter = r4;
object.compressionRatio = binding.size > 0 ? r4 / env0_0.size : 1;
object.reason = a0;
const Math = global.Math;
object.compressTimeMs = Math.round(global.performance.now() - env0_1);
return object;
}
function performWebPConversion() { // fn#40637, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:4877:3987, offset: 0x01106d0d, size: 30 bytes, params: 1, frame: 13
return env3_9.apply(this, arguments);
}
}
}
}
global.__d(_fun40614, 4699, [5, 3, 4700, 1225, 2]) /* metro module 4699, dependencies: [5, 3, 4700, 1225, 2] */;