/* Metro module 4660; source: utils/native/UploadUtils.tsx; dependencies: [29, 5, 27, 1312, 4401, 1878, 661, 4661, 3, 4662, 4673, 4651, 4679, 477, 3856, 1244, 3802, 4650, 1279, 4682, 4683, 4655, 4092, 4684, 4685, 4686, 1360, 4687, 4688, 4689, 4630, 4690, 2] */ function _fun40269(global, require, importDefault, importAll, module, exports, dependencyMap) { // fn#40269, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:4838:6, offset: 0x010faff0, size: 986 bytes, params: 8, frame: 41 var object2; const env0_0 = require; const closure = function() { return _openImagePickerUnhandled.apply(this, arguments); }; const closure2 = function() { return _openImagePicker.apply(this, arguments); }; const closure3 = function() { return _mediaManager.apply(this, arguments); }; const closure4 = getVideoQuality; const closure5 = function(a0) { if (VideoQualitySettings.DATA_SAVER === a0) { return VideoCompressionQuality.LOW; } if (VideoQualitySettings.STANDARD === a0) { return VideoCompressionQuality.HIGH; } if (VideoQualitySettings.BEST === a0) { return VideoCompressionQuality.VERY_HIGH; } return VideoCompressionQuality.MEDIUM; }; const closure6 = function(a0) { if (VideoQualitySettings.DATA_SAVER !== a0) { if (VideoQualitySettings.STANDARD === a0) { return VideoCompressionQuality.MEDIUM; } if (VideoQualitySettings.BEST === a0) { return VideoCompressionQuality.HIGH; } } return VideoCompressionQuality.LOW; }; const closure7 = getAppDir; const closure8 = getFileInfo; const isPhotoKitAsset = function(a0, a1) { var value = a0.match(RegExp('^ph:\\/\\/', 'i')); value = value != null; return value && a1 != null; }; const closure9 = shouldForceConvertToJPG; const closure10 = shouldConvertToJPG; const closure11 = shouldResolveToMediaFilePath; const closure12 = isVideo; const closure13 = isImage_40300; const closure14 = getType_40301; const buildResolvedUpload = function(a0) { return _buildResolvedUpload.apply(this, arguments); }; const closure15 = getCaptionLabel; const closure16 = function(a0, a1, a2, a3) { return _getImageDimensionsIfMissing.apply(this, arguments); }; const closure17 = function() { return _isHEVCEncodingSupported.apply(this, arguments); }; const closure18 = function(a0) { return _checkVideoEncodingSupport.apply(this, arguments); }; const closure19 = function(a0, a1, a2, a3, a4) { return _calculateImageQualityMetrics.apply(this, arguments); }; const env0_3 = ['filename']; const Object = global.Object; Object.defineProperty(exports, '__esModule', {value: true}); const env0_4 = importDefault(29) /* metro dependency 29 */; const env0_5 = importDefault(5) /* metro dependency 5 */; let value = require(27) /* metro dependency 27 */; const env0_6 = value.NativeModules; const env0_7 = value.Image; value = require(1312) /* metro dependency 1312: UnsyncedUserSettingsStore */; const env0_8 = value.VideoCompressionQuality; const env0_9 = value.VideoQualitySettings; const unsyncedUserSettingsStore = importDefault(1312) /* metro dependency 1312: UnsyncedUserSettingsStore */; const networkStore = importDefault(4401) /* metro dependency 4401: NetworkStore */; const userStore = importDefault(1878) /* metro dependency 1878: UserStore */; value = require(661) /* metro dependency 661: Constants */; const env0_13 = value.Base64PNGPrefix; const Base64GIFPrefix = value.Base64GIFPrefix; const Base64JPEGPrefix = value.Base64JPEGPrefix; const env0_15 = value.NetworkConnectionTypes; const env0_16 = value.CompressionQuality; const env0_17 = value.Base64WEBPPrefix; const env0_18 = value.Base64AVIFPrefix; const env0_19 = (require(4661) /* metro dependency 4661: NativePermissionConstants */).NativePermissionTypes; value = importDefault(3) /* metro dependency 3: Logger */; value = new value('UploadUtils.tsx'); let RegExp = global.RegExp; let regExp = new RegExp('^' + Base64JPEGPrefix, 'i'); RegExp = global.RegExp; regExp = new RegExp('^' + Base64GIFPrefix, 'i'); object2 = {getFileInfo: closure8, isVideo: closure12, getType: closure14, openImagePickerUnhandled: closure, openImagePicker: closure2, getCaptionLabel: closure15, getImageDimensionsIfMissing: closure16, isHEVCEncodingSupported: closure17, getAppDir: closure7}; (require(2) /* metro dependency 2 */).fileFinishedImporting('utils/native/UploadUtils.tsx'); exports.default = object2; exports.base64JPEGRegex = regExp; exports.base64GIFRegex = regExp; exports.openImagePicker = closure2; exports.mediaManager = closure3; exports.getImageCompressionQuality = function() { return UnsyncedUserSettingsStore.dataSavingMode && NetworkStore.getType() === NetworkConnectionTypes.CELLULAR ? CompressionQuality.LOW : CompressionQuality.HIGH; }; exports.getVideoQuality = closure4; exports.resolveModeToVideoQualityForUserWithFeature = closure5; exports.resolveModeToVideoQualityForFreeUser = closure6; exports.cancelGetFileInfo = function({item}) { var Promise = global.Promise; var value = Object.create(Promise.prototype, {constructor: {value: Promise}}); var value2 = new Promise(_fun40358); return value2 instanceof Object ? value2 : value; }; exports.getFileSize = getFileSize; exports.getAppDir = closure7; exports.getFileInfo = closure8; exports.shouldForceConvertToJPG = closure9; exports.shouldConvertToJPG = closure10; exports.shouldResolveToMediaFilePath = closure11; exports.isVideo = closure12; exports.isImage = closure13; exports.getType = closure14; exports.getCaptionLabel = closure15; exports.getImageDimensionsIfMissing = closure16; exports.isHEVCEncodingSupported = closure17; exports.checkVideoEncodingSupport = closure18; exports.calculateImageQualityMetrics = closure19; } function _openImagePickerUnhandled() { // fn#40271, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:4838:657, offset: 0x010fb3ca, size: 48 bytes, params: 1, frame: 14 return env0_5(_fun40273).apply(this, arguments); } function _openImagePicker() { // fn#40278, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:4838:2196, offset: 0x010fb922, size: 48 bytes, params: 1, frame: 14 return env0_5(_fun40280).apply(this, arguments); } function _mediaManager() { // fn#40282, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:4838:2907, offset: 0x010fbb2d, size: 48 bytes, params: 1, frame: 14 return env0_5(_fun40284).apply(this, arguments); } function getVideoQuality() { // fn#40285, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:4838:3064, offset: 0x010fbbd7, size: 137 bytes, params: 1, frame: 14 if (UnsyncedUserSettingsStore.dataSavingMode) { if (NetworkStore.getType() === NetworkConnectionTypes.CELLULAR) { return VideoCompressionQuality.LOW; } } const currentUser = UserStore.getCurrentUser(); const videoUploadQuality = UnsyncedUserSettingsStore.videoUploadQuality; const defaultImport = importDefault(3802) /* metro dependency 3802: PremiumUtils */; return defaultImport.canUseHighVideoUploadQuality(currentUser) ? resolveModeToVideoQualityForUserWithFeature(videoUploadQuality) : resolveModeToVideoQualityForFreeUser(videoUploadQuality); } function getAppDir() { // fn#40288, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:4838:3669, offset: 0x010fbd20, size: 221 bytes, params: 1, frame: 15 var value; const platformUtilsModule = require(477) /* metro dependency 477: PlatformUtils */; if (platformUtilsModule.isAndroid()) { if ((importDefault(1279) /* metro dependency 1279: NativeFileModule */) == null) { throw new global.Error("RTNFileManager doesn't exist?"); } value = importDefault(1279) /* metro dependency 1279: NativeFileModule */; return value.getConstants().CacheDirPath.replace(RegExp('cache$', ''), ''); } const DCDFileManager = NativeModules.DCDFileManager; const DocumentsDirPath = DCDFileManager.DocumentsDirPath; return '/private' + DocumentsDirPath.replace(RegExp('Documents$', ''), ''); } function getFileInfo({item, spoiler, description, mimeType, allowOptimization}) { // fn#40289, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:4838:3925, offset: 0x010fbdfd, size: 287 bytes, params: 2, frame: 22 const value = a1; const r4 = value !== undefined ? value : ''; const platform = item.platform; const UploadPlatform = (require(4650) /* metro dependency 4650: Upload */).UploadPlatform; const REACT_NATIVE = UploadPlatform.REACT_NATIVE; if (platform !== REACT_NATIVE) { throw new global.Error('Try to get file info for unsupported upload item'); } const originalUri = item.originalUri; const filename = item.filename; const r8 = item.mimeType ?? mimeType; return isVideo(originalUri, r8) ? (function(a0) { return _processVideoUpload.apply(this, arguments); })({originalUri: originalUri, filename: filename, mimeType: r8, fileSize: item.size, spoiler: spoiler, description: description, i: r4}) : (function(a0) { return _processImageOrFileUpload.apply(this, arguments); })({originalUri: originalUri, filename: filename, mimeType: r8, spoiler: spoiler, description: description, i: r4, width: item.width, height: item.height, allowOptimization: allowOptimization}); } function shouldForceConvertToJPG(a0, a1) { // fn#40293, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:4838:4670, offset: 0x010fbf86, size: 139 bytes, params: 3, frame: 16 const value2 = undefined; const isIOS2 = (require(477) /* metro dependency 477: PlatformUtils */).isIOS(); return isIOS2 ? isPhotoKitAsset(a0, a1) ? (a1 == null ? value2 : a1.match(RegExp('\\.HEI[CF]$', 'i'))) != null : a0.match(RegExp('^(assets-library|file):\\/\\/.+(&ext=|\\.)(HEI[CF])$', 'i')) != null : !!isIOS2; } function shouldConvertToJPG(a0, a1, a2, a3) { // fn#40294, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:4838:4871, offset: 0x010fc011, size: 423 bytes, params: 5, frame: 21 var r4; var r11; var value4; var defaultImport; let value = a4; const value2 = undefined; let r5 = !(value !== value2) || value; const platformUtilsModule = require(477) /* metro dependency 477: PlatformUtils */; if (platformUtilsModule.isIOS()) { r4 = a1 == null ? value2 : a1.lastIndexOf('.'); value4 = -1; r11 = r4 ?? value4; r4 = value4 === r11 ? value2 : a1.substring(r11 + 1).toLowerCase(); if (r5) { if (isPhotoKitAsset(a0, a1)) { if (r4 == null) { return false; } if (r4 === 'png') { if (a3) { return true; } if (a2) { return true; } return false; } defaultImport = importDefault(4682) /* metro dependency 4682: IosImageTypesManager */; if (defaultImport.isExtensionAnimated(r4)) { return false; } value = importDefault(4682) /* metro dependency 4682: IosImageTypesManager */; value = value.getSupportedExtensions(); if (value === null) { return false; } if (value.has(r4)) { return true; } return false; } value = a0.match(RegExp('^(assets-library|file):\\/\\/.+(&ext=|\\.)(hei[cf]|jpe?g|dng)$', 'i')) != null; if (value) { r5 = value; } else { value = a0.match(RegExp('^(assets-library|file):\\/\\/.+(&ext=|\\.)png$', 'i')) == null; value = !(value || !a2 && !a3); r5 = value; } return r5; } value = a0.match(RegExp('(&ext=|\\.)(hei[cf])$', 'i')) != null; r5 = r4 === 'heic' || r4 === 'heif'; r5 = !r5 ? value : r5; return r5; } return false; } function _shouldConvertToPNG() { // fn#40295, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:4838:5510, offset: 0x010fc1b8, size: 48 bytes, params: 1, frame: 14 return env0_5(_fun40297).apply(this, arguments); } function shouldResolveToMediaFilePath(a0) { // fn#40298, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:4838:5941, offset: 0x010fc2e7, size: 74 bytes, params: 2, frame: 12 var r0; let value = require(477) /* metro dependency 477: PlatformUtils */; value = value.isAndroid(); if (value) { value = a0.match(RegExp('^content:\\/\\/.+$', 'i')); value = value != null; r0 = value; } else { r0 = value; } return r0; } function isVideo(a0, a1) { // fn#40299, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:4838:6046, offset: 0x010fc331, size: 61 bytes, params: 3, frame: 12 const value = require(4651) /* metro dependency 4651: UploadUtils */; const getFile = value.getFile; return Reflect.apply(getFile, value, [{uri: a0, overrideType: a1}]).isVideo; } function isImage_40300(a0, a1) { // fn#40300, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:4838:6124, offset: 0x010fc36e, size: 61 bytes, params: 3, frame: 12 const value = require(4651) /* metro dependency 4651: UploadUtils */; const getFile = value.getFile; return Reflect.apply(getFile, value, [{uri: a0, overrideType: a1}]).isImage; } function getType_40301(a0) { // fn#40301, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:4838:6202, offset: 0x010fc3ab, size: 52 bytes, params: 2, frame: 12 const value = require(4651) /* metro dependency 4651: UploadUtils */; const getFile = value.getFile; return Reflect.apply(getFile, value, [{uri: a0}]).type; } function convertVideo({uri, filename, isLowQuality, compressionQuality, videoQualitySetting, videoMetadata, fileSize}) { // fn#40302, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:4838:6260, offset: 0x010fc3df, size: 527 bytes, params: 2, frame: 24 const VideoQualityTarget = (require(4683) /* metro dependency 4683: VideoUploadUtils */).VideoQualityTarget; const value2 = VideoQualityTarget.fromCompressionQuality(videoQualitySetting); const videoUploadUtilsModule = require(4683) /* metro dependency 4683: VideoUploadUtils */; const canSkipVideoTranscode = videoUploadUtilsModule.canSkipVideoTranscode; const fileUtilsModule = require(4655) /* metro dependency 4655: FileUtils */; const canSkipVideoTranscode2 = Reflect.apply(canSkipVideoTranscode, videoUploadUtilsModule, [value2, videoMetadata, fileSize, fileUtilsModule.maxFileSize()]); const moduleValue3 = videoUploadUtilsModule; const value3 = moduleValue3.calculateTargetDimensions(videoMetadata, value2.targetResolution); const moduleValue4 = videoUploadUtilsModule; const calculateOptimalBitrate = moduleValue4.calculateOptimalBitrate; const DEFAULT_VIDEO_ENCODING_CONFIG = videoUploadUtilsModule.DEFAULT_VIDEO_ENCODING_CONFIG; const value4 = Reflect.apply(calculateOptimalBitrate, moduleValue4, [videoMetadata, value2, DEFAULT_VIDEO_ENCODING_CONFIG.bitrateFloor]); const object2 = {}; copyDataProperties(object2, DEFAULT_VIDEO_ENCODING_CONFIG, fileSize); object2['videoQuality'] = value2; object2['targetWidth'] = value3.width; object2['targetHeight'] = value3.height; object2['targetBitrate'] = value4; const platformUtilsModule = require(477) /* metro dependency 477: PlatformUtils */; object2['frameRate'] = platformUtilsModule.isAndroid() && (require(4092) /* metro dependency 4092: DeviceUtils */).getSystemVersionMajor() > 34 ? global.Math.min(videoMetadata.frameRate, DEFAULT_VIDEO_ENCODING_CONFIG.frameRate) : videoMetadata.frameRate; object2['skipVideoTranscode'] = canSkipVideoTranscode2; object2['createHDR'] = videoMetadata.isHDRContent; object2['rotationDegrees'] = videoMetadata.rotationDegrees; const Promise = global.Promise; let value = Object.create(Promise.prototype, {constructor: {value: Promise}}); const promise = new Promise(function(a0, a1) { var env0_0 = a0; var env0_1 = a1; var env0_2 = _fun40304; var value = _fun40305()(); value = value.then(_fun40316); value.catch(a1); }); return promise instanceof Object ? promise : value; } function _buildResolvedUpload() { // fn#40318, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:4838:10734, offset: 0x010fd25e, size: 48 bytes, params: 1, frame: 14 return env0_5(_fun40320).apply(this, arguments); } function _processVideoUpload() { // fn#40321, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:4838:11700, offset: 0x010fd474, size: 48 bytes, params: 1, frame: 14 return env0_5(_fun40323).apply(this, arguments); } function _processImageOrFileUpload() { // fn#40325, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:4838:12834, offset: 0x010fd71b, size: 48 bytes, params: 1, frame: 14 return env0_5(_fun40327).apply(this, arguments); } function _tryConvertImage() { // fn#40329, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:4838:15354, offset: 0x010fdc8c, size: 48 bytes, params: 1, frame: 14 return env0_5(_fun40331).apply(this, arguments); } function _fetchVideoMetadata() { // fn#40333, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:4838:17048, offset: 0x010fe0b5, size: 48 bytes, params: 1, frame: 14 return env0_5(_fun40335).apply(this, arguments); } function getCaptionLabel(a0, a1, a2) { // fn#40336, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:4838:17345, offset: 0x010fe181, size: 96 bytes, params: 4, frame: 14 var r1; var r0; var value; var playableDuration; if (a1) { playableDuration = a2.playableDuration; value = 'VIDEO'; if (playableDuration != null) { value = require(4690) /* metro dependency 4690: TimeUtils */; value = value.getTimeFormat(a2.playableDuration); r1 = value; } else { r1 = value; } r0 = r1; } else { r0 = a0 !== 'image/gif' ? null : 'GIF'; } return r0; } function _getImageDimensionsIfMissing() { // fn#40338, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:4838:17608, offset: 0x010fe1ff, size: 48 bytes, params: 1, frame: 14 return env0_5(_fun40340).apply(this, arguments); } function _isHEVCEncodingSupported() { // fn#40345, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:4838:18287, offset: 0x010fe432, size: 48 bytes, params: 1, frame: 14 return env0_5(_fun40347).apply(this, arguments); } function _checkVideoEncodingSupport() { // fn#40349, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:4838:18609, offset: 0x010fe4d9, size: 48 bytes, params: 1, frame: 14 return env0_5(_fun40351).apply(this, arguments); } function _calculateImageQualityMetrics() { // fn#40353, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:4838:19057, offset: 0x010fe5be, size: 48 bytes, params: 1, frame: 14 return env0_5(_fun40355).apply(this, arguments); } function cancelGetFileInfo({item}) { // fn#40357, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:4838:20668, offset: 0x010fe83c, size: 49 bytes, params: 2, frame: 11 const Promise = global.Promise; const value = Object.create(Promise.prototype, {constructor: {value: Promise}}); const promise = new Promise(_fun40358); return promise instanceof Object ? promise : value; } function getFileSize(a0) { // fn#40359, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:4838:20889, offset: 0x010fe8f6, size: 212 bytes, params: 2, frame: 17 var r3; var r1; var r0; let value = a0; const platformUtilsModule = require(477) /* metro dependency 477: PlatformUtils */; if (platformUtilsModule.isIOS()) { value = value.replace(RegExp('file:\\/\\/', ''), ''); r3 = value; } else { r3 = value; } if (Reflect.apply(platformUtilsModule.isAndroid, value, [])) { value = importDefault(1279) /* metro dependency 1279: NativeFileModule */; if (value == null) { r1 = global.Promise.reject("RTNFileManager doesn't exist?"); } else { value = importDefault(1279) /* metro dependency 1279: NativeFileModule */; value = value.getSize(r3); r1 = value; } r0 = r1; } else { r0 = NativeModules.DCDFileManager.getSize(r3); } return r0; } function* _fun40273(a0) { // fn#40273, original name: ?anon_0_, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:4838:730, offset: 0x010fb403, size: 1007 bytes, params: 2, frame: 30 var environment; var r13; var error; var size; var value16; var type; var binding3; var property; var value19; var launchCropper; var preferredMimeType; var value20; var value21; var value22; var value23; var mime; var data; var concat; var value24; var value25; var value26; var code; var message; var value27; if (false) { return undefined; } value = environment.__proto__.__proto__; let binding = env2_1; const value3 = binding(env2_2[9]); const requestPermission = value3.requestPermission; const PHOTOS = env2_19.PHOTOS; yield Reflect.apply(requestPermission, value3, [PHOTOS]); const value4 = undefined; if (false) { return value4; } if (!value4) { throw new global.Error('Missing permission'); } const value6 = 'size' in a0; let object2 = {}; if (value6) { size = a0.size; object2.width = size; size = a0.size; object2.height = size; } else { object2.width = a0.width; object2.height = a0.height; } const width = object2.width; const height = object2.height; const Promise = global.Promise; const value7 = Object.create(Promise.prototype, {constructor: {value: Promise}}); const promise = new Promise(_fun40274); yield promise instanceof Object ? promise : value7; const value9 = undefined; if (false) { return value9; } binding = env2_0; const binding2 = env2_2; const value11 = binding(binding2[11]); const getFile = value11.getFile; object2 = {}; let uri = value9.uri; object2.uri = uri; object2.i = ''; const value12 = Reflect.apply(getFile, value11, [object2]); const value13 = env2_1(binding2[12]); const value15 = value13.fromFileUri(value9.uri).catch(function() { return null; }); let base64 = value9.base64; if (base64 == null) { type = value12.type; if (type === 'image/gif') { object2 = {}; object2.base64 = env2_14 + value9.base64; object2.mimeType = 'image/gif'; yield value15; value = undefined; if (false) { return value; } object2.originalMd5 = value; return object2; } } else { binding = env2_0; value16 = binding(env2_2[13]); if (value16.isAndroid()) { base64 = value9.base64; if (base64.startsWith('UklGR')) { object2 = {}; object2.base64 = env2_17 + value9.base64; object2.mimeType = 'image/webp'; yield value15; value = undefined; if (false) { return value; } object2.originalMd5 = value; return object2; } base64 = value9.base64; if (base64.indexOf('ZnR5cA==') !== 4) { type = value12.type; if (type === 'image/gif') { object2 = {}; object2.base64 = env2_14 + value9.base64; object2.mimeType = 'image/gif'; yield value15; value = undefined; if (false) { return value; } object2.originalMd5 = value; return object2; } } else { base64 = value9.base64; if (base64.indexOf('YXZpZg==') === 8) { object2 = {}; object2.base64 = env2_18 + value9.base64; object2.mimeType = 'image/avif'; yield value15; value = undefined; if (false) { return value; } object2.originalMd5 = value; return object2; } base64 = value9.base64; if (base64.indexOf('YXZpcw==') === 8) { object2 = {}; object2.base64 = env2_18 + value9.base64; object2.mimeType = 'image/avif'; yield value15; value = undefined; if (false) { return value; } object2.originalMd5 = value; return object2; } type = value12.type; if (type === 'image/gif') { object2 = {}; object2.base64 = env2_14 + value9.base64; object2.mimeType = 'image/gif'; yield value15; value = undefined; if (false) { return value; } object2.originalMd5 = value; return object2; } } } else { type = value12.type; if (type === 'image/gif') { object2 = {}; object2.base64 = env2_14 + value9.base64; object2.mimeType = 'image/gif'; yield value15; value = undefined; if (false) { return value; } object2.originalMd5 = value; return object2; } } } try { binding = env2_1; } catch (error) { code = error.code; if (code === 'E_PICKER_CANCELLED') { throw error; } object2 = {}; binding = env2_13; base64 = value9.base64; object2.base64 = binding + base64; type = value12.type; object2.mimeType = type; message = error.message; object2.errorStr = message; yield value15; value = undefined; value27 = false; if (value27) { return value; } object2.originalMd5 = value; return object2; } try { binding3 = env2_2; } catch (error) { code = error.code; if (code === 'E_PICKER_CANCELLED') { throw error; } object2 = {}; binding = env2_13; base64 = value9.base64; object2.base64 = binding + base64; type = value12.type; object2.mimeType = type; message = error.message; object2.errorStr = message; yield value15; value = undefined; value27 = false; if (value27) { return value; } object2.originalMd5 = value; return object2; } try { property = binding3[10]; } catch (error) { code = error.code; if (code === 'E_PICKER_CANCELLED') { throw error; } object2 = {}; binding = env2_13; base64 = value9.base64; object2.base64 = binding + base64; type = value12.type; object2.mimeType = type; message = error.message; object2.errorStr = message; yield value15; value = undefined; value27 = false; if (value27) { return value; } object2.originalMd5 = value; return object2; } try { value19 = binding(property); } catch (error) { code = error.code; if (code === 'E_PICKER_CANCELLED') { throw error; } object2 = {}; binding = env2_13; base64 = value9.base64; object2.base64 = binding + base64; type = value12.type; object2.mimeType = type; message = error.message; object2.errorStr = message; yield value15; value = undefined; value27 = false; if (value27) { return value; } object2.originalMd5 = value; return object2; } try { launchCropper = value19.launchCropper; } catch (error) { code = error.code; if (code === 'E_PICKER_CANCELLED') { throw error; } object2 = {}; binding = env2_13; base64 = value9.base64; object2.base64 = binding + base64; type = value12.type; object2.mimeType = type; message = error.message; object2.errorStr = message; yield value15; value = undefined; value27 = false; if (value27) { return value; } object2.originalMd5 = value; return object2; } try { object2 = {}; } catch (error) { code = error.code; if (code === 'E_PICKER_CANCELLED') { throw error; } object2 = {}; binding = env2_13; base64 = value9.base64; object2.base64 = binding + base64; type = value12.type; object2.mimeType = type; message = error.message; object2.errorStr = message; yield value15; value = undefined; value27 = false; if (value27) { return value; } object2.originalMd5 = value; return object2; } try { uri = value9.uri; } catch (error) { code = error.code; if (code === 'E_PICKER_CANCELLED') { throw error; } object2 = {}; binding = env2_13; base64 = value9.base64; object2.base64 = binding + base64; type = value12.type; object2.mimeType = type; message = error.message; object2.errorStr = message; yield value15; value = undefined; value27 = false; if (value27) { return value; } object2.originalMd5 = value; return object2; } try { object2.uri = uri; } catch (error) { code = error.code; if (code === 'E_PICKER_CANCELLED') { throw error; } object2 = {}; binding = env2_13; base64 = value9.base64; object2.base64 = binding + base64; type = value12.type; object2.mimeType = type; message = error.message; object2.errorStr = message; yield value15; value = undefined; value27 = false; if (value27) { return value; } object2.originalMd5 = value; return object2; } try { object2.width = width; } catch (error) { code = error.code; if (code === 'E_PICKER_CANCELLED') { throw error; } object2 = {}; binding = env2_13; base64 = value9.base64; object2.base64 = binding + base64; type = value12.type; object2.mimeType = type; message = error.message; object2.errorStr = message; yield value15; value = undefined; value27 = false; if (value27) { return value; } object2.originalMd5 = value; return object2; } try { object2.height = height; } catch (error) { code = error.code; if (code === 'E_PICKER_CANCELLED') { throw error; } object2 = {}; binding = env2_13; base64 = value9.base64; object2.base64 = binding + base64; type = value12.type; object2.mimeType = type; message = error.message; object2.errorStr = message; yield value15; value = undefined; value27 = false; if (value27) { return value; } object2.originalMd5 = value; return object2; } try { object2.includeBase64 = true; } catch (error) { code = error.code; if (code === 'E_PICKER_CANCELLED') { throw error; } object2 = {}; binding = env2_13; base64 = value9.base64; object2.base64 = binding + base64; type = value12.type; object2.mimeType = type; message = error.message; object2.errorStr = message; yield value15; value = undefined; value27 = false; if (value27) { return value; } object2.originalMd5 = value; return object2; } try { preferredMimeType = a0.preferredMimeType; } catch (error) { code = error.code; if (code === 'E_PICKER_CANCELLED') { throw error; } object2 = {}; binding = env2_13; base64 = value9.base64; object2.base64 = binding + base64; type = value12.type; object2.mimeType = type; message = error.message; object2.errorStr = message; yield value15; value = undefined; value27 = false; if (value27) { return value; } object2.originalMd5 = value; return object2; } try { value20 = preferredMimeType != null; } catch (error) { code = error.code; if (code === 'E_PICKER_CANCELLED') { throw error; } object2 = {}; binding = env2_13; base64 = value9.base64; object2.base64 = binding + base64; type = value12.type; object2.mimeType = type; message = error.message; object2.errorStr = message; yield value15; value = undefined; value27 = false; if (value27) { return value; } object2.originalMd5 = value; return object2; } if (value20) { r13 = preferredMimeType; } else { try { type = value12.type; } catch (error) { code = error.code; if (code === 'E_PICKER_CANCELLED') { throw error; } object2 = {}; binding = env2_13; base64 = value9.base64; object2.base64 = binding + base64; type = value12.type; object2.mimeType = type; message = error.message; object2.errorStr = message; yield value15; value = undefined; value27 = false; if (value27) { return value; } object2.originalMd5 = value; return object2; } r13 = type; } try { object2.mimeType = r13; } catch (error) { code = error.code; if (code === 'E_PICKER_CANCELLED') { throw error; } object2 = {}; binding = env2_13; base64 = value9.base64; object2.base64 = binding + base64; type = value12.type; object2.mimeType = type; message = error.message; object2.errorStr = message; yield value15; value = undefined; value27 = false; if (value27) { return value; } object2.originalMd5 = value; return object2; } try { value21 = Reflect.apply(launchCropper, value19, [object2]); } catch (error) { code = error.code; if (code === 'E_PICKER_CANCELLED') { throw error; } object2 = {}; binding = env2_13; base64 = value9.base64; object2.base64 = binding + base64; type = value12.type; object2.mimeType = type; message = error.message; object2.errorStr = message; yield value15; value = undefined; value27 = false; if (value27) { return value; } object2.originalMd5 = value; return object2; } yield value21; try { value22 = undefined; value23 = false; } catch (error) { code = error.code; if (code === 'E_PICKER_CANCELLED') { throw error; } object2 = {}; binding = env2_13; base64 = value9.base64; object2.base64 = binding + base64; type = value12.type; object2.mimeType = type; message = error.message; object2.errorStr = message; yield value15; value = undefined; value27 = false; if (value27) { return value; } object2.originalMd5 = value; return object2; } if (value23) { return value22; } try { object2 = {}; } catch (error) { code = error.code; if (code === 'E_PICKER_CANCELLED') { throw error; } object2 = {}; binding = env2_13; base64 = value9.base64; object2.base64 = binding + base64; type = value12.type; object2.mimeType = type; message = error.message; object2.errorStr = message; yield value15; value = undefined; value27 = false; if (value27) { return value; } object2.originalMd5 = value; return object2; } try { mime = value22.mime; } catch (error) { code = error.code; if (code === 'E_PICKER_CANCELLED') { throw error; } object2 = {}; binding = env2_13; base64 = value9.base64; object2.base64 = binding + base64; type = value12.type; object2.mimeType = type; message = error.message; object2.errorStr = message; yield value15; value = undefined; value27 = false; if (value27) { return value; } object2.originalMd5 = value; return object2; } try { data = value22.data; } catch (error) { code = error.code; if (code === 'E_PICKER_CANCELLED') { throw error; } object2 = {}; binding = env2_13; base64 = value9.base64; object2.base64 = binding + base64; type = value12.type; object2.mimeType = type; message = error.message; object2.errorStr = message; yield value15; value = undefined; value27 = false; if (value27) { return value; } object2.originalMd5 = value; return object2; } try { } catch (error) { code = error.code; if (code === 'E_PICKER_CANCELLED') { throw error; } object2 = {}; binding = env2_13; base64 = value9.base64; object2.base64 = binding + base64; type = value12.type; object2.mimeType = type; message = error.message; object2.errorStr = message; yield value15; value = undefined; value27 = false; if (value27) { return value; } object2.originalMd5 = value; return object2; } try { } catch (error) { code = error.code; if (code === 'E_PICKER_CANCELLED') { throw error; } object2 = {}; binding = env2_13; base64 = value9.base64; object2.base64 = binding + base64; type = value12.type; object2.mimeType = type; message = error.message; object2.errorStr = message; yield value15; value = undefined; value27 = false; if (value27) { return value; } object2.originalMd5 = value; return object2; } try { value24 = Reflect.apply(concat, 'data:', [mime, ';base64,', data]); } catch (error) { code = error.code; if (code === 'E_PICKER_CANCELLED') { throw error; } object2 = {}; binding = env2_13; base64 = value9.base64; object2.base64 = binding + base64; type = value12.type; object2.mimeType = type; message = error.message; object2.errorStr = message; yield value15; value = undefined; value27 = false; if (value27) { return value; } object2.originalMd5 = value; return object2; } try { object2.base64 = value24; } catch (error) { code = error.code; if (code === 'E_PICKER_CANCELLED') { throw error; } object2 = {}; binding = env2_13; base64 = value9.base64; object2.base64 = binding + base64; type = value12.type; object2.mimeType = type; message = error.message; object2.errorStr = message; yield value15; value = undefined; value27 = false; if (value27) { return value; } object2.originalMd5 = value; return object2; } try { mime = value22.mime; } catch (error) { code = error.code; if (code === 'E_PICKER_CANCELLED') { throw error; } object2 = {}; binding = env2_13; base64 = value9.base64; object2.base64 = binding + base64; type = value12.type; object2.mimeType = type; message = error.message; object2.errorStr = message; yield value15; value = undefined; value27 = false; if (value27) { return value; } object2.originalMd5 = value; return object2; } try { object2.mimeType = mime; } catch (error) { code = error.code; if (code === 'E_PICKER_CANCELLED') { throw error; } object2 = {}; binding = env2_13; base64 = value9.base64; object2.base64 = binding + base64; type = value12.type; object2.mimeType = type; message = error.message; object2.errorStr = message; yield value15; value = undefined; value27 = false; if (value27) { return value; } object2.originalMd5 = value; return object2; } yield value15; try { value25 = undefined; value26 = false; } catch (error) { code = error.code; if (code === 'E_PICKER_CANCELLED') { throw error; } object2 = {}; binding = env2_13; base64 = value9.base64; object2.base64 = binding + base64; type = value12.type; object2.mimeType = type; message = error.message; object2.errorStr = message; yield value15; value = undefined; value27 = false; if (value27) { return value; } object2.originalMd5 = value; return object2; } if (value26) { return value25; } try { object2.originalMd5 = value25; } catch (error) { code = error.code; if (code === 'E_PICKER_CANCELLED') { throw error; } object2 = {}; binding = env2_13; base64 = value9.base64; object2.base64 = binding + base64; type = value12.type; object2.mimeType = type; message = error.message; object2.errorStr = message; yield value15; value = undefined; value27 = false; if (value27) { return value; } object2.originalMd5 = value; return object2; } return object2; } function* _fun40280(a0) { // fn#40280, original name: ?anon_0_, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:4838:2251, offset: 0x010fb95b, size: 466 bytes, params: 2, frame: 23 var object2; var value6; var value7; var value8; var errorStr; var value9; var binding2; var property; var value10; var presentFailedToast; var value11; var intl; var formatToPlainString; var value12; var t; var Ex162J; var value13; var error; var code; var message; var binding3; var string; var TTzyzW; if (false) { return undefined; } value = environment.__proto__.__proto__; let binding = env2_1; const value3 = binding(env2_2[9]); const requestPermission = value3.requestPermission; const PHOTOS = env2_19.PHOTOS; yield Reflect.apply(requestPermission, value3, [PHOTOS]); const value4 = undefined; if (false) { return value4; } if (!value4) { return {errorStr: 'Missing permission'}; } try { binding = env2_24; } catch (error) { code = error.code; if (code === 'E_PICKER_CANCELLED') { return {errorStr: 'Cancelled'}; } message = error.message; if (message === env2_23) { return {errorStr: 'Cancelled'}; } code = error.code; if (code === 'E_CROPPER_IMAGE_NOT_FOUND') { binding = env2_0; binding3 = env2_2; value = binding(binding3[14]); presentFailedToast = value.presentFailedToast; intl = binding(binding3[15]).intl; string = intl.string; t = binding(binding3[15]).t; TTzyzW = t.TTzyzW; Reflect.apply(presentFailedToast, value, [Reflect.apply(string, intl, [TTzyzW])]); return {errorStr: 'No select photo access'}; } binding = env2_0; value = binding(env2_2[14]); presentFailedToast = value.presentFailedToast; message = error.message; Reflect.apply(presentFailedToast, value, [message]); message = error.message; return {errorStr: message}; } try { value6 = binding(a0); } catch (error) { code = error.code; if (code === 'E_PICKER_CANCELLED') { return {errorStr: 'Cancelled'}; } message = error.message; if (message === env2_23) { return {errorStr: 'Cancelled'}; } code = error.code; if (code === 'E_CROPPER_IMAGE_NOT_FOUND') { binding = env2_0; binding3 = env2_2; value = binding(binding3[14]); presentFailedToast = value.presentFailedToast; intl = binding(binding3[15]).intl; string = intl.string; t = binding(binding3[15]).t; TTzyzW = t.TTzyzW; Reflect.apply(presentFailedToast, value, [Reflect.apply(string, intl, [TTzyzW])]); return {errorStr: 'No select photo access'}; } binding = env2_0; value = binding(env2_2[14]); presentFailedToast = value.presentFailedToast; message = error.message; Reflect.apply(presentFailedToast, value, [message]); message = error.message; return {errorStr: message}; } yield value6; try { value7 = undefined; value8 = false; } catch (error) { code = error.code; if (code === 'E_PICKER_CANCELLED') { return {errorStr: 'Cancelled'}; } message = error.message; if (message === env2_23) { return {errorStr: 'Cancelled'}; } code = error.code; if (code === 'E_CROPPER_IMAGE_NOT_FOUND') { binding = env2_0; binding3 = env2_2; value = binding(binding3[14]); presentFailedToast = value.presentFailedToast; intl = binding(binding3[15]).intl; string = intl.string; t = binding(binding3[15]).t; TTzyzW = t.TTzyzW; Reflect.apply(presentFailedToast, value, [Reflect.apply(string, intl, [TTzyzW])]); return {errorStr: 'No select photo access'}; } binding = env2_0; value = binding(env2_2[14]); presentFailedToast = value.presentFailedToast; message = error.message; Reflect.apply(presentFailedToast, value, [message]); message = error.message; return {errorStr: message}; } if (!value8) { try { errorStr = value7.errorStr; } catch (error) { code = error.code; if (code === 'E_PICKER_CANCELLED') { return {errorStr: 'Cancelled'}; } message = error.message; if (message === env2_23) { return {errorStr: 'Cancelled'}; } code = error.code; if (code === 'E_CROPPER_IMAGE_NOT_FOUND') { binding = env2_0; binding3 = env2_2; value = binding(binding3[14]); presentFailedToast = value.presentFailedToast; intl = binding(binding3[15]).intl; string = intl.string; t = binding(binding3[15]).t; TTzyzW = t.TTzyzW; Reflect.apply(presentFailedToast, value, [Reflect.apply(string, intl, [TTzyzW])]); return {errorStr: 'No select photo access'}; } binding = env2_0; value = binding(env2_2[14]); presentFailedToast = value.presentFailedToast; message = error.message; Reflect.apply(presentFailedToast, value, [message]); message = error.message; return {errorStr: message}; } try { value9 = errorStr == null; } catch (error) { code = error.code; if (code === 'E_PICKER_CANCELLED') { return {errorStr: 'Cancelled'}; } message = error.message; if (message === env2_23) { return {errorStr: 'Cancelled'}; } code = error.code; if (code === 'E_CROPPER_IMAGE_NOT_FOUND') { binding = env2_0; binding3 = env2_2; value = binding(binding3[14]); presentFailedToast = value.presentFailedToast; intl = binding(binding3[15]).intl; string = intl.string; t = binding(binding3[15]).t; TTzyzW = t.TTzyzW; Reflect.apply(presentFailedToast, value, [Reflect.apply(string, intl, [TTzyzW])]); return {errorStr: 'No select photo access'}; } binding = env2_0; value = binding(env2_2[14]); presentFailedToast = value.presentFailedToast; message = error.message; Reflect.apply(presentFailedToast, value, [message]); message = error.message; return {errorStr: message}; } if (!value9) { try { binding = env2_0; } catch (error) { code = error.code; if (code === 'E_PICKER_CANCELLED') { return {errorStr: 'Cancelled'}; } message = error.message; if (message === env2_23) { return {errorStr: 'Cancelled'}; } code = error.code; if (code === 'E_CROPPER_IMAGE_NOT_FOUND') { binding = env2_0; binding3 = env2_2; value = binding(binding3[14]); presentFailedToast = value.presentFailedToast; intl = binding(binding3[15]).intl; string = intl.string; t = binding(binding3[15]).t; TTzyzW = t.TTzyzW; Reflect.apply(presentFailedToast, value, [Reflect.apply(string, intl, [TTzyzW])]); return {errorStr: 'No select photo access'}; } binding = env2_0; value = binding(env2_2[14]); presentFailedToast = value.presentFailedToast; message = error.message; Reflect.apply(presentFailedToast, value, [message]); message = error.message; return {errorStr: message}; } try { binding2 = env2_2; } catch (error) { code = error.code; if (code === 'E_PICKER_CANCELLED') { return {errorStr: 'Cancelled'}; } message = error.message; if (message === env2_23) { return {errorStr: 'Cancelled'}; } code = error.code; if (code === 'E_CROPPER_IMAGE_NOT_FOUND') { binding = env2_0; binding3 = env2_2; value = binding(binding3[14]); presentFailedToast = value.presentFailedToast; intl = binding(binding3[15]).intl; string = intl.string; t = binding(binding3[15]).t; TTzyzW = t.TTzyzW; Reflect.apply(presentFailedToast, value, [Reflect.apply(string, intl, [TTzyzW])]); return {errorStr: 'No select photo access'}; } binding = env2_0; value = binding(env2_2[14]); presentFailedToast = value.presentFailedToast; message = error.message; Reflect.apply(presentFailedToast, value, [message]); message = error.message; return {errorStr: message}; } try { property = binding2[14]; } catch (error) { code = error.code; if (code === 'E_PICKER_CANCELLED') { return {errorStr: 'Cancelled'}; } message = error.message; if (message === env2_23) { return {errorStr: 'Cancelled'}; } code = error.code; if (code === 'E_CROPPER_IMAGE_NOT_FOUND') { binding = env2_0; binding3 = env2_2; value = binding(binding3[14]); presentFailedToast = value.presentFailedToast; intl = binding(binding3[15]).intl; string = intl.string; t = binding(binding3[15]).t; TTzyzW = t.TTzyzW; Reflect.apply(presentFailedToast, value, [Reflect.apply(string, intl, [TTzyzW])]); return {errorStr: 'No select photo access'}; } binding = env2_0; value = binding(env2_2[14]); presentFailedToast = value.presentFailedToast; message = error.message; Reflect.apply(presentFailedToast, value, [message]); message = error.message; return {errorStr: message}; } try { value10 = binding(property); } catch (error) { code = error.code; if (code === 'E_PICKER_CANCELLED') { return {errorStr: 'Cancelled'}; } message = error.message; if (message === env2_23) { return {errorStr: 'Cancelled'}; } code = error.code; if (code === 'E_CROPPER_IMAGE_NOT_FOUND') { binding = env2_0; binding3 = env2_2; value = binding(binding3[14]); presentFailedToast = value.presentFailedToast; intl = binding(binding3[15]).intl; string = intl.string; t = binding(binding3[15]).t; TTzyzW = t.TTzyzW; Reflect.apply(presentFailedToast, value, [Reflect.apply(string, intl, [TTzyzW])]); return {errorStr: 'No select photo access'}; } binding = env2_0; value = binding(env2_2[14]); presentFailedToast = value.presentFailedToast; message = error.message; Reflect.apply(presentFailedToast, value, [message]); message = error.message; return {errorStr: message}; } try { presentFailedToast = value10.presentFailedToast; } catch (error) { code = error.code; if (code === 'E_PICKER_CANCELLED') { return {errorStr: 'Cancelled'}; } message = error.message; if (message === env2_23) { return {errorStr: 'Cancelled'}; } code = error.code; if (code === 'E_CROPPER_IMAGE_NOT_FOUND') { binding = env2_0; binding3 = env2_2; value = binding(binding3[14]); presentFailedToast = value.presentFailedToast; intl = binding(binding3[15]).intl; string = intl.string; t = binding(binding3[15]).t; TTzyzW = t.TTzyzW; Reflect.apply(presentFailedToast, value, [Reflect.apply(string, intl, [TTzyzW])]); return {errorStr: 'No select photo access'}; } binding = env2_0; value = binding(env2_2[14]); presentFailedToast = value.presentFailedToast; message = error.message; Reflect.apply(presentFailedToast, value, [message]); message = error.message; return {errorStr: message}; } try { property = binding2[15]; } catch (error) { code = error.code; if (code === 'E_PICKER_CANCELLED') { return {errorStr: 'Cancelled'}; } message = error.message; if (message === env2_23) { return {errorStr: 'Cancelled'}; } code = error.code; if (code === 'E_CROPPER_IMAGE_NOT_FOUND') { binding = env2_0; binding3 = env2_2; value = binding(binding3[14]); presentFailedToast = value.presentFailedToast; intl = binding(binding3[15]).intl; string = intl.string; t = binding(binding3[15]).t; TTzyzW = t.TTzyzW; Reflect.apply(presentFailedToast, value, [Reflect.apply(string, intl, [TTzyzW])]); return {errorStr: 'No select photo access'}; } binding = env2_0; value = binding(env2_2[14]); presentFailedToast = value.presentFailedToast; message = error.message; Reflect.apply(presentFailedToast, value, [message]); message = error.message; return {errorStr: message}; } try { value11 = binding(property); } catch (error) { code = error.code; if (code === 'E_PICKER_CANCELLED') { return {errorStr: 'Cancelled'}; } message = error.message; if (message === env2_23) { return {errorStr: 'Cancelled'}; } code = error.code; if (code === 'E_CROPPER_IMAGE_NOT_FOUND') { binding = env2_0; binding3 = env2_2; value = binding(binding3[14]); presentFailedToast = value.presentFailedToast; intl = binding(binding3[15]).intl; string = intl.string; t = binding(binding3[15]).t; TTzyzW = t.TTzyzW; Reflect.apply(presentFailedToast, value, [Reflect.apply(string, intl, [TTzyzW])]); return {errorStr: 'No select photo access'}; } binding = env2_0; value = binding(env2_2[14]); presentFailedToast = value.presentFailedToast; message = error.message; Reflect.apply(presentFailedToast, value, [message]); message = error.message; return {errorStr: message}; } try { intl = value11.intl; } catch (error) { code = error.code; if (code === 'E_PICKER_CANCELLED') { return {errorStr: 'Cancelled'}; } message = error.message; if (message === env2_23) { return {errorStr: 'Cancelled'}; } code = error.code; if (code === 'E_CROPPER_IMAGE_NOT_FOUND') { binding = env2_0; binding3 = env2_2; value = binding(binding3[14]); presentFailedToast = value.presentFailedToast; intl = binding(binding3[15]).intl; string = intl.string; t = binding(binding3[15]).t; TTzyzW = t.TTzyzW; Reflect.apply(presentFailedToast, value, [Reflect.apply(string, intl, [TTzyzW])]); return {errorStr: 'No select photo access'}; } binding = env2_0; value = binding(env2_2[14]); presentFailedToast = value.presentFailedToast; message = error.message; Reflect.apply(presentFailedToast, value, [message]); message = error.message; return {errorStr: message}; } try { formatToPlainString = intl.formatToPlainString; } catch (error) { code = error.code; if (code === 'E_PICKER_CANCELLED') { return {errorStr: 'Cancelled'}; } message = error.message; if (message === env2_23) { return {errorStr: 'Cancelled'}; } code = error.code; if (code === 'E_CROPPER_IMAGE_NOT_FOUND') { binding = env2_0; binding3 = env2_2; value = binding(binding3[14]); presentFailedToast = value.presentFailedToast; intl = binding(binding3[15]).intl; string = intl.string; t = binding(binding3[15]).t; TTzyzW = t.TTzyzW; Reflect.apply(presentFailedToast, value, [Reflect.apply(string, intl, [TTzyzW])]); return {errorStr: 'No select photo access'}; } binding = env2_0; value = binding(env2_2[14]); presentFailedToast = value.presentFailedToast; message = error.message; Reflect.apply(presentFailedToast, value, [message]); message = error.message; return {errorStr: message}; } try { property = binding2[15]; } catch (error) { code = error.code; if (code === 'E_PICKER_CANCELLED') { return {errorStr: 'Cancelled'}; } message = error.message; if (message === env2_23) { return {errorStr: 'Cancelled'}; } code = error.code; if (code === 'E_CROPPER_IMAGE_NOT_FOUND') { binding = env2_0; binding3 = env2_2; value = binding(binding3[14]); presentFailedToast = value.presentFailedToast; intl = binding(binding3[15]).intl; string = intl.string; t = binding(binding3[15]).t; TTzyzW = t.TTzyzW; Reflect.apply(presentFailedToast, value, [Reflect.apply(string, intl, [TTzyzW])]); return {errorStr: 'No select photo access'}; } binding = env2_0; value = binding(env2_2[14]); presentFailedToast = value.presentFailedToast; message = error.message; Reflect.apply(presentFailedToast, value, [message]); message = error.message; return {errorStr: message}; } try { value12 = binding(property); } catch (error) { code = error.code; if (code === 'E_PICKER_CANCELLED') { return {errorStr: 'Cancelled'}; } message = error.message; if (message === env2_23) { return {errorStr: 'Cancelled'}; } code = error.code; if (code === 'E_CROPPER_IMAGE_NOT_FOUND') { binding = env2_0; binding3 = env2_2; value = binding(binding3[14]); presentFailedToast = value.presentFailedToast; intl = binding(binding3[15]).intl; string = intl.string; t = binding(binding3[15]).t; TTzyzW = t.TTzyzW; Reflect.apply(presentFailedToast, value, [Reflect.apply(string, intl, [TTzyzW])]); return {errorStr: 'No select photo access'}; } binding = env2_0; value = binding(env2_2[14]); presentFailedToast = value.presentFailedToast; message = error.message; Reflect.apply(presentFailedToast, value, [message]); message = error.message; return {errorStr: message}; } try { t = value12.t; } catch (error) { code = error.code; if (code === 'E_PICKER_CANCELLED') { return {errorStr: 'Cancelled'}; } message = error.message; if (message === env2_23) { return {errorStr: 'Cancelled'}; } code = error.code; if (code === 'E_CROPPER_IMAGE_NOT_FOUND') { binding = env2_0; binding3 = env2_2; value = binding(binding3[14]); presentFailedToast = value.presentFailedToast; intl = binding(binding3[15]).intl; string = intl.string; t = binding(binding3[15]).t; TTzyzW = t.TTzyzW; Reflect.apply(presentFailedToast, value, [Reflect.apply(string, intl, [TTzyzW])]); return {errorStr: 'No select photo access'}; } binding = env2_0; value = binding(env2_2[14]); presentFailedToast = value.presentFailedToast; message = error.message; Reflect.apply(presentFailedToast, value, [message]); message = error.message; return {errorStr: message}; } try { Ex162J = t.Ex162J; } catch (error) { code = error.code; if (code === 'E_PICKER_CANCELLED') { return {errorStr: 'Cancelled'}; } message = error.message; if (message === env2_23) { return {errorStr: 'Cancelled'}; } code = error.code; if (code === 'E_CROPPER_IMAGE_NOT_FOUND') { binding = env2_0; binding3 = env2_2; value = binding(binding3[14]); presentFailedToast = value.presentFailedToast; intl = binding(binding3[15]).intl; string = intl.string; t = binding(binding3[15]).t; TTzyzW = t.TTzyzW; Reflect.apply(presentFailedToast, value, [Reflect.apply(string, intl, [TTzyzW])]); return {errorStr: 'No select photo access'}; } binding = env2_0; value = binding(env2_2[14]); presentFailedToast = value.presentFailedToast; message = error.message; Reflect.apply(presentFailedToast, value, [message]); message = error.message; return {errorStr: message}; } try { object2 = {}; } catch (error) { code = error.code; if (code === 'E_PICKER_CANCELLED') { return {errorStr: 'Cancelled'}; } message = error.message; if (message === env2_23) { return {errorStr: 'Cancelled'}; } code = error.code; if (code === 'E_CROPPER_IMAGE_NOT_FOUND') { binding = env2_0; binding3 = env2_2; value = binding(binding3[14]); presentFailedToast = value.presentFailedToast; intl = binding(binding3[15]).intl; string = intl.string; t = binding(binding3[15]).t; TTzyzW = t.TTzyzW; Reflect.apply(presentFailedToast, value, [Reflect.apply(string, intl, [TTzyzW])]); return {errorStr: 'No select photo access'}; } binding = env2_0; value = binding(env2_2[14]); presentFailedToast = value.presentFailedToast; message = error.message; Reflect.apply(presentFailedToast, value, [message]); message = error.message; return {errorStr: message}; } try { errorStr = value7.errorStr; } catch (error) { code = error.code; if (code === 'E_PICKER_CANCELLED') { return {errorStr: 'Cancelled'}; } message = error.message; if (message === env2_23) { return {errorStr: 'Cancelled'}; } code = error.code; if (code === 'E_CROPPER_IMAGE_NOT_FOUND') { binding = env2_0; binding3 = env2_2; value = binding(binding3[14]); presentFailedToast = value.presentFailedToast; intl = binding(binding3[15]).intl; string = intl.string; t = binding(binding3[15]).t; TTzyzW = t.TTzyzW; Reflect.apply(presentFailedToast, value, [Reflect.apply(string, intl, [TTzyzW])]); return {errorStr: 'No select photo access'}; } binding = env2_0; value = binding(env2_2[14]); presentFailedToast = value.presentFailedToast; message = error.message; Reflect.apply(presentFailedToast, value, [message]); message = error.message; return {errorStr: message}; } try { object2.reason = errorStr; } catch (error) { code = error.code; if (code === 'E_PICKER_CANCELLED') { return {errorStr: 'Cancelled'}; } message = error.message; if (message === env2_23) { return {errorStr: 'Cancelled'}; } code = error.code; if (code === 'E_CROPPER_IMAGE_NOT_FOUND') { binding = env2_0; binding3 = env2_2; value = binding(binding3[14]); presentFailedToast = value.presentFailedToast; intl = binding(binding3[15]).intl; string = intl.string; t = binding(binding3[15]).t; TTzyzW = t.TTzyzW; Reflect.apply(presentFailedToast, value, [Reflect.apply(string, intl, [TTzyzW])]); return {errorStr: 'No select photo access'}; } binding = env2_0; value = binding(env2_2[14]); presentFailedToast = value.presentFailedToast; message = error.message; Reflect.apply(presentFailedToast, value, [message]); message = error.message; return {errorStr: message}; } try { value13 = Reflect.apply(formatToPlainString, intl, [Ex162J, object2]); } catch (error) { code = error.code; if (code === 'E_PICKER_CANCELLED') { return {errorStr: 'Cancelled'}; } message = error.message; if (message === env2_23) { return {errorStr: 'Cancelled'}; } code = error.code; if (code === 'E_CROPPER_IMAGE_NOT_FOUND') { binding = env2_0; binding3 = env2_2; value = binding(binding3[14]); presentFailedToast = value.presentFailedToast; intl = binding(binding3[15]).intl; string = intl.string; t = binding(binding3[15]).t; TTzyzW = t.TTzyzW; Reflect.apply(presentFailedToast, value, [Reflect.apply(string, intl, [TTzyzW])]); return {errorStr: 'No select photo access'}; } binding = env2_0; value = binding(env2_2[14]); presentFailedToast = value.presentFailedToast; message = error.message; Reflect.apply(presentFailedToast, value, [message]); message = error.message; return {errorStr: message}; } try { Reflect.apply(presentFailedToast, value10, [value13]); } catch (error) { code = error.code; if (code === 'E_PICKER_CANCELLED') { return {errorStr: 'Cancelled'}; } message = error.message; if (message === env2_23) { return {errorStr: 'Cancelled'}; } code = error.code; if (code === 'E_CROPPER_IMAGE_NOT_FOUND') { binding = env2_0; binding3 = env2_2; value = binding(binding3[14]); presentFailedToast = value.presentFailedToast; intl = binding(binding3[15]).intl; string = intl.string; t = binding(binding3[15]).t; TTzyzW = t.TTzyzW; Reflect.apply(presentFailedToast, value, [Reflect.apply(string, intl, [TTzyzW])]); return {errorStr: 'No select photo access'}; } binding = env2_0; value = binding(env2_2[14]); presentFailedToast = value.presentFailedToast; message = error.message; Reflect.apply(presentFailedToast, value, [message]); message = error.message; return {errorStr: message}; } } } return value7; } async function _fun40284(a0, a1) { // fn#40284, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:4838:2956, offset: 0x010fbb6f, size: 104 bytes, params: 3, frame: 17 var binding; var MediaManager; var property; var value5; var value6; var value7; var error; let value = a2; if (false) { return undefined; } const r1 = value !== undefined ? value : null; await undefined; if (false) { return undefined; } value = environment.__proto__.__proto__; try { binding = env2_6; } catch (error) { binding = env2_20; binding.warn(error); return undefined; } try { MediaManager = binding.MediaManager; } catch (error) { binding = env2_20; binding.warn(error); return undefined; } try { property = MediaManager[a0]; } catch (error) { binding = env2_20; binding.warn(error); return undefined; } try { value5 = Reflect.apply(property, MediaManager, [a1, r1]); } catch (error) { binding = env2_20; binding.warn(error); return undefined; } await value5; try { value6 = undefined; value7 = false; } catch (error) { binding = env2_20; binding.warn(error); return undefined; } return value7 ? value6 : value6; } function* _fun40297(a0, a1) { // fn#40297, original name: ?anon_0_, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:4838:5571, offset: 0x010fc1f1, size: 246 bytes, params: 3, frame: 18 var MediaManager; var imageHasTransparency; var value7; var value8; var value9; var error; if (false) { return undefined; } value = environment.__proto__.__proto__; let binding = env2_0; const value3 = undefined; const value4 = binding(env2_2[13]); if (!value4.isIOS()) { return false; } if (env2_32(a0, a1)) { if ((a1 == null ? value3 : a1.match(RegExp('\\.png$', 'i'))) == null) { return false; } } else if (a0.match(RegExp('^(assets-library|file):\\/\\/.+(&ext=|\\.)png$', 'i')) == null) { return false; } try { binding = env2_6; } catch (error) { binding = env2_20; binding.error('shouldConvertToPNG: imageHasTransparency failed: ' + error); return false; } try { MediaManager = binding.MediaManager; } catch (error) { binding = env2_20; binding.error('shouldConvertToPNG: imageHasTransparency failed: ' + error); return false; } try { imageHasTransparency = MediaManager.imageHasTransparency; } catch (error) { binding = env2_20; binding.error('shouldConvertToPNG: imageHasTransparency failed: ' + error); return false; } try { value7 = Reflect.apply(imageHasTransparency, MediaManager, [a0]); } catch (error) { binding = env2_20; binding.error('shouldConvertToPNG: imageHasTransparency failed: ' + error); return false; } yield value7; try { value8 = undefined; value9 = false; } catch (error) { binding = env2_20; binding.error('shouldConvertToPNG: imageHasTransparency failed: ' + error); return false; } return value9 ? value8 : value8; } function _fun40303(a0, a1) { // fn#40303, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:4838:7035, offset: 0x010fc5ee, size: 68 bytes, params: 3, frame: 13 const env0_0 = a0; const env0_1 = a1; let value = _fun40305()(); value = value.then(_fun40316); value.catch(a1); } function* _fun40320(a0) { // fn#40320, original name: ?anon_0_, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:4838:10797, offset: 0x010fd297, size: 477 bytes, params: 2, frame: 24 var object2; var r14; var r3; var originalUri; var filename2; var sourceImageDimensions; if (false) { return undefined; } value = environment.__proto__.__proto__; let binding = env2_0; const value3 = binding(env2_2[11]); const getFile = value3.getFile; let path = a0.path; let filename = a0.filename; const value4 = Reflect.apply(getFile, value3, [{uri: path, i: a0.i, overrideType: a0.mimeType, overrideFilename: filename}]); filename = value4.filename; const value5 = env2_4(value4, env2_3); object2 = {}; if (a0.isImage && a0.path !== a0.originalUri) { binding = env2_50; originalUri = a0.originalUri; path = a0.path; filename2 = a0.filename; yield binding(originalUri, path, filename2, a0.attachmentQualityMetricsEnabled, a0.attachmentOriginDetectionEnabled); value = undefined; if (false) { return value; } r3 = value; r14 = filename2; object2 = {}; copyDataProperties(object2, value5, r14); object2['name'] = filename; object2['spoiler'] = a0.spoiler; object2['description'] = a0.description; object2['imageCompressionQuality'] = a0.compressionQuality; object2['imageEncoderType'] = a0.imageEncoderType; object2['videoCompressionQuality'] = a0.videoQualitySetting; object2['videoMetadata'] = a0.videoMetadata; object2['encodingConfig'] = a0.encodingConfig; sourceImageDimensions = a0.sourceImageDimensions; object2['sourceWidth'] = sourceImageDimensions.width; sourceImageDimensions = a0.sourceImageDimensions; object2['sourceHeight'] = sourceImageDimensions.height; } else { r3 = object2; object2 = {}; copyDataProperties(object2, value5, r14); object2['name'] = filename; object2['spoiler'] = a0.spoiler; object2['description'] = a0.description; object2['imageCompressionQuality'] = a0.compressionQuality; object2['imageEncoderType'] = a0.imageEncoderType; object2['videoCompressionQuality'] = a0.videoQualitySetting; object2['videoMetadata'] = a0.videoMetadata; object2['encodingConfig'] = a0.encodingConfig; object2['sourceWidth'] = a0.sourceImageDimensions.width; object2['sourceHeight'] = a0.sourceImageDimensions.height; } object2['uploadedImageWidth'] = a0.uploadedImageWidth; object2['uploadedImageHeight'] = a0.uploadedImageHeight; object2['psnr'] = r3.psnr; object2['ssim'] = r3.ssim; object2['origin'] = r3.origin; object2['psnrMeasurementLatencyMs'] = r3.psnrMeasurementLatencyMs; object2['ssimMeasurementLatencyMs'] = r3.ssimMeasurementLatencyMs; return object2; } async function _fun40323({originalUri, filename, mimeType, fileSize, spoiler, description, i}) { // fn#40323, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:4838:11761, offset: 0x010fd4b6, size: 583 bytes, params: 2, frame: 28 var environment; var binding; var frameRate; var Number; var isFinite; var LOW; var value10; var path; var encodingConfig; var Error; if (false) { return undefined; } await undefined; if (false) { return undefined; } value = environment.__proto__.__proto__; const value4 = env2_29(); const r16 = env2_10.dataSavingMode && env2_11.getType() === env2_15.CELLULAR; await fetchVideoMetadata(originalUri, mimeType); if (false) { return undefined; } if (null == undefined) { throw new global.Error('Video metadata is required for video conversion'); } const value9 = env2_0(env2_2[23]); const getVideoFrameRateValidationExperimentConfig = value9.getVideoFrameRateValidationExperimentConfig; if (Reflect.apply(getVideoFrameRateValidationExperimentConfig, value9, [{location: 'upload_utils.process_video_upload'}]).enableFrameRateValidation) { frameRate = undefined.frameRate; if (frameRate == null) { throw new global.Error('Invalid video frame rate: ' + undefined.frameRate); } Number = global.Number; isFinite = Number.isFinite; frameRate = undefined.frameRate; if (Reflect.apply(isFinite, Number, [frameRate])) { if (undefined.frameRate <= 0) { throw new global.Error('Invalid video frame rate: ' + undefined.frameRate); } binding = env2_39; LOW = env2_16.LOW; await binding({uri: originalUri, filename: filename, isLowQuality: r16, compressionQuality: LOW, videoQualitySetting: value4, videoMetadata: undefined, fileSize: fileSize}); value10 = undefined; if (false) { return value10; } path = value10.path; encodingConfig = value10.encodingConfig; if (path == null) { throw new global.Error('Failed to get video file path'); } binding = env2_40; LOW = env2_16.LOW; return binding({path: path, i: i, mimeType: mimeType, filename: filename, originalUri: originalUri, spoiler: spoiler, description: description, compressionQuality: LOW, videoQualitySetting: value4, videoMetadata: undefined, encodingConfig: encodingConfig, sourceImageDimensions: {}, isImage: false}); } Error = global.Error; frameRate = undefined.frameRate; throw new Error('Invalid video frame rate: ' + frameRate); } binding = env2_39; LOW = env2_16.LOW; await binding({uri: originalUri, filename: filename, isLowQuality: r16, compressionQuality: LOW, videoQualitySetting: value4, videoMetadata: undefined, fileSize: fileSize}); value10 = undefined; if (false) { return value10; } path = value10.path; encodingConfig = value10.encodingConfig; if (path == null) { throw new global.Error('Failed to get video file path'); } binding = env2_40; LOW = env2_16.LOW; return binding({path: path, i: i, mimeType: mimeType, filename: filename, originalUri: originalUri, spoiler: spoiler, description: description, compressionQuality: LOW, videoQualitySetting: value4, videoMetadata: undefined, encodingConfig: encodingConfig, sourceImageDimensions: {}, isImage: false}); } async function _fun40327({originalUri, filename, mimeType, spoiler, description, i, width, height, allowOptimization}) { // fn#40327, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:4838:12907, offset: 0x010fd75d, size: 1297 bytes, params: 2, frame: 47 var r26; var r27; var r23; var enableOriginDetection; var enableQualityMetrics; var useJpegliEncoder; var targetHeight; var targetWidth; var r12; var r19; var r21; var encoderUsed; var r8; var binding; var object2; var binding2; var ADAPTIVE_COMPRESSION_CONFIG; var useOriginalIfSmaller; var value11; var getAdaptiveImageCompressionQuality; var value12; var binding3; var value16; var isDiscordFrontendDevelopment2; var config; var isDiscordFrontendDevelopment3; var value22; var value23; var value24; var encodingConfig; var value25; var path; if (false) { return undefined; } value = undefined; await value; if (false) { return undefined; } const r22 = env2_10.dataSavingMode && env2_11.getType() === env2_15.CELLULAR; const value8 = env2_38(originalUri, mimeType); const r9 = value8 ? {width: width, height: height} : {}; const LOW = env2_16.LOW; if (value8 && !r22) { binding = env2_0; binding2 = env2_2; ADAPTIVE_COMPRESSION_CONFIG = binding(binding2[24]).ADAPTIVE_COMPRESSION_CONFIG; useOriginalIfSmaller = ADAPTIVE_COMPRESSION_CONFIG.useOriginalIfSmaller; value11 = binding(binding2[24]); getAdaptiveImageCompressionQuality = value11.getAdaptiveImageCompressionQuality; ADAPTIVE_COMPRESSION_CONFIG = binding(binding2[24]).ADAPTIVE_COMPRESSION_CONFIG; value12 = Reflect.apply(getAdaptiveImageCompressionQuality, value11, [r9, ADAPTIVE_COMPRESSION_CONFIG]); binding = env2_20; binding.log('Got image compression quality: ' + value12 + ' for ' + originalUri + ' with dimensions: ' + width + 'x' + height + ' and useOriginalIfSmaller: ' + useOriginalIfSmaller); r26 = useOriginalIfSmaller; r27 = value12; } else { r26 = false; r27 = LOW; } const value13 = env2_0(env2_2[13]); const r20 = value13.isIOS() && originalUri.startsWith('ph://'); if (value8) { binding = env2_0; binding3 = env2_2; value16 = binding(binding3[25]).useMobileLosslessImageUploadV2Experiment({location: 'upload_utils.process_image_upload'}); isDiscordFrontendDevelopment2 = binding(binding3[26]).isDiscordFrontendDevelopment(); r23 = isDiscordFrontendDevelopment2 ? !!isDiscordFrontendDevelopment2 : value16.enabled; } else { r23 = false; } if (value8) { config = env2_0(env2_2[27]).AttachmentQualityMetricsExperiment.getConfig({location: 'upload_utils.process_image_upload'}); enableQualityMetrics = config.enableQualityMetrics; enableOriginDetection = config.enableOriginDetection; } else { enableOriginDetection = false; enableQualityMetrics = false; } const value20 = env2_0(env2_2[13]); if (value20.isIOS()) { if (value8) { isDiscordFrontendDevelopment3 = env2_0(env2_2[26]).isDiscordFrontendDevelopment(); value22 = true; if (isDiscordFrontendDevelopment3) { useJpegliEncoder = value22; } else { value23 = env2_0(env2_2[28]); useJpegliEncoder = value23.getIosJpegliConfig({location: 'upload_utils.process_image_upload'}).useJpegliEncoder; } if (r22) { targetHeight = value; targetWidth = value; r12 = r27; r19 = useJpegliEncoder; r21 = r26; } else if (r9.width != null) { if (r9.height != null) { value24 = env2_0(env2_2[29]); if (value24.getMobileImageEncodingLadderConfig({location: 'upload_utils.process_image_upload'}).useImageEncodingLadder) { encodingConfig = env2_0(env2_2[24]).ImageEncodingLadder.selectEncodingConfig({width: r9.width, height: r9.height}); value25 = encodingConfig.compressionQuality / 100; targetWidth = encodingConfig.targetWidth; targetHeight = encodingConfig.targetHeight; r12 = value25; r19 = useJpegliEncoder; r21 = value22; } else { targetHeight = value; targetWidth = value; r12 = r27; r19 = useJpegliEncoder; r21 = r26; } } else { targetHeight = value; targetWidth = value; r12 = r27; r19 = useJpegliEncoder; r21 = r26; } } else { targetHeight = value; targetWidth = value; r12 = r27; r19 = useJpegliEncoder; r21 = r26; } } else { targetHeight = value; targetWidth = value; r12 = r27; r19 = false; r21 = r26; } } else { targetHeight = value; targetWidth = value; r12 = r27; r19 = false; r21 = r26; } await tryConvertImage({uri: originalUri, filename: filename, isLowQuality: r22, compressionQuality: r12, mobileLosslessImageEnabled: r23, useEnhancedConversion: r20, useJpegliEncoder: r19, allowOptimization: allowOptimization, targetWidth: targetWidth, targetHeight: targetHeight}); if (false) { return undefined; } if (null != undefined) { path = undefined.path; encoderUsed = undefined.encoderUsed; r19 = path; if (r19 == null) { throw new global.Error('Failed to get image file path'); } binding = env2_40; object2 = {path: r19, i: i, mimeType: mimeType, filename: filename, originalUri: originalUri, spoiler: spoiler, description: description, compressionQuality: r12, sourceImageDimensions: r9, isImage: value8, imageEncoderType: encoderUsed}; r8 = (null == undefined ? value : undefined.outputWidth) ?? r9.width; object2.uploadedImageWidth = r8; r8 = (null == undefined ? value : undefined.outputHeight) ?? r9.height; object2.uploadedImageHeight = r8; object2.attachmentQualityMetricsEnabled = enableQualityMetrics; object2.attachmentOriginDetectionEnabled = enableOriginDetection; return binding(object2); } allowOptimization = allowOptimization === value || allowOptimization; await (env2_36(originalUri) ? env2_27('resolveToMediaFilePath', originalUri, {compressionQuality: r12, isLowQuality: r22, skipVideoTranscode: true, useOriginalIfSmaller: r21, allowOptimization: allowOptimization}) : global.Promise.resolve(originalUri)); if (false) { return undefined; } encoderUsed = value; r19 = undefined; if (r19 == null) { throw new global.Error('Failed to get image file path'); } return env2_40({path: r19, i: i, mimeType: mimeType, filename: filename, originalUri: originalUri, spoiler: spoiler, description: description, compressionQuality: r12, sourceImageDimensions: r9, isImage: value8, imageEncoderType: encoderUsed, uploadedImageWidth: (null == undefined ? value : undefined.outputWidth) ?? r9.width, uploadedImageHeight: (null == undefined ? value : undefined.outputHeight) ?? r9.height, attachmentQualityMetricsEnabled: enableQualityMetrics, attachmentOriginDetectionEnabled: enableOriginDetection}); } async function _fun40331({uri, filename, isLowQuality, compressionQuality, mobileLosslessImageEnabled, useEnhancedConversion, useJpegliEncoder, allowOptimization, targetWidth, targetHeight}) { // fn#40331, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:4838:15409, offset: 0x010fdcce, size: 969 bytes, params: 2, frame: 33 var r14; var r10; var r8; var path; var r13; var encoderUsed; var outputWidth; var outputHeight; var r3; var match; var object2; var MediaManager; var getLosslessImageData; var value14; var value15; var value16; var binding2; var property; var value17; var ImageEncoder; var PASSTHROUGH; var error; var value18; var isIOS4; var value19; var value20; var value21; var value22; var value23; var value24; var value25; var value26; var value27; var value28; var value29; var value33; var value34; if (false) { return undefined; } await undefined; if (false) { return undefined; } let binding = env2_0; if (binding(env2_2[13]).isIOS() && uri.match(env2_21) != null) { binding = env2_27; value33 = uri.replace(env2_21, ''); object2 = {compressionQuality: compressionQuality}; await binding('convertBase64ToJPEG', value33, object2); value34 = undefined; if (false) { return value34; } if (value34) { object2 = {path: value34}; object2.encoderUsed = env2_0(env2_2[30]).ImageEncoder.NATIVE; r3 = object2; } else { r3 = null; } return r3; } if (env2_0(env2_2[13]).isIOS() && uri.match(env2_22) != null) { await env2_27('convertBase64ToGIF', uri.replace(env2_22, '')); value = undefined; if (false) { return value; } return value ? {path: value} : null; } if (!mobileLosslessImageEnabled) { if (env2_34(uri, filename, isLowQuality, mobileLosslessImageEnabled, allowOptimization)) { await env2_27('convertToJPEG', uri, {compressionQuality: compressionQuality, forceConvertToJPG: env2_33(uri, filename), useEnhancedConversion: useEnhancedConversion, useJpegliEncoder: useJpegliEncoder, targetWidth: targetWidth, targetHeight: targetHeight}); value27 = undefined; if (false) { return value27; } value29 = null; path = value29 == value27 ? value : value27.path; r13 = value29 == path ? value27 : path; return r13 ? {path: r13, encoderUsed: value29 == value27 ? value : value27.encoderUsed, outputWidth: value29 == value27 ? value : value27.outputWidth, outputHeight: value29 == value27 ? value : value27.outputHeight} : value29; } isIOS4 = env2_0(env2_2[13]).isIOS(); if (isIOS4 ? env2_32(uri, filename) ? (filename == null ? value : filename.match(RegExp('\\.gif$', 'i'))) != null : uri.match(RegExp('^assets-library:\\/\\/.+&ext=gif$', 'i')) != null : !!isIOS4) { await env2_27('convertToGIFFilePath', uri); value = undefined; if (false) { return value; } return value ? {path: value} : null; } return null; } await shouldConvertToPNG(uri, filename); if (false) { return undefined; } if (!undefined) { if (env2_34(uri, filename, isLowQuality, mobileLosslessImageEnabled, allowOptimization)) { await env2_27('convertToJPEG', uri, {compressionQuality: compressionQuality, forceConvertToJPG: env2_33(uri, filename), useEnhancedConversion: useEnhancedConversion, useJpegliEncoder: useJpegliEncoder, targetWidth: targetWidth, targetHeight: targetHeight}); value27 = undefined; if (false) { return value27; } value29 = null; path = value29 == value27 ? value : value27.path; r13 = value29 == path ? value27 : path; return r13 ? {path: r13, encoderUsed: value29 == value27 ? value : value27.encoderUsed, outputWidth: value29 == value27 ? value : value27.outputWidth, outputHeight: value29 == value27 ? value : value27.outputHeight} : value29; } isIOS4 = env2_0(env2_2[13]).isIOS(); if (isIOS4 ? env2_32(uri, filename) ? (filename == null ? value : filename.match(RegExp('\\.gif$', 'i'))) != null : uri.match(RegExp('^assets-library:\\/\\/.+&ext=gif$', 'i')) != null : !!isIOS4) { await env2_27('convertToGIFFilePath', uri); value = undefined; if (false) { return value; } return value ? {path: value} : null; } return null; } try { object2 = {}; } catch (error) { binding = env2_20; binding.error('getLosslessImageData failed, falling through to JPEG conversion: ' + error); if (env2_34(uri, filename, isLowQuality, mobileLosslessImageEnabled, allowOptimization)) { value26 = env2_33(uri, filename); await env2_27('convertToJPEG', uri, {compressionQuality: compressionQuality, forceConvertToJPG: value26, useEnhancedConversion: useEnhancedConversion, useJpegliEncoder: useJpegliEncoder, targetWidth: targetWidth, targetHeight: targetHeight}); value27 = undefined; value28 = false; if (value28) { return value27; } value29 = null; path = value29 == value27 ? value : value27.path; r13 = value29 == path ? value27 : path; encoderUsed = value29 == value27 ? value : value27.encoderUsed; outputWidth = value29 == value27 ? value : value27.outputWidth; outputHeight = value29 == value27 ? value : value27.outputHeight; return r13 ? {path: r13, encoderUsed: encoderUsed, outputWidth: outputWidth, outputHeight: outputHeight} : value29; } binding = env2_0; value18 = binding(env2_2[13]); isIOS4 = value18.isIOS(); value19 = !!isIOS4; if (isIOS4) { value20 = env2_32(uri, filename); if (value20) { if (filename == null) { r14 = value; } else { value22 = filename.match(RegExp('\\.gif$', 'i')); r14 = value22; } value23 = r14 != null; r10 = value23; } else { match = uri.match; value21 = Reflect.apply(match, uri, [RegExp('^assets-library:\\/\\/.+&ext=gif$', 'i')]) != null; r10 = value21; } r8 = r10; } else { r8 = value19; } if (r8) { await env2_27('convertToGIFFilePath', uri); value = undefined; value24 = false; if (value24) { return value; } value25 = null; r10 = value ? {path: value} : value25; return r10; } return null; } try { binding = env2_6; } catch (error) { binding = env2_20; binding.error('getLosslessImageData failed, falling through to JPEG conversion: ' + error); if (env2_34(uri, filename, isLowQuality, mobileLosslessImageEnabled, allowOptimization)) { value26 = env2_33(uri, filename); await env2_27('convertToJPEG', uri, {compressionQuality: compressionQuality, forceConvertToJPG: value26, useEnhancedConversion: useEnhancedConversion, useJpegliEncoder: useJpegliEncoder, targetWidth: targetWidth, targetHeight: targetHeight}); value27 = undefined; value28 = false; if (value28) { return value27; } value29 = null; path = value29 == value27 ? value : value27.path; r13 = value29 == path ? value27 : path; encoderUsed = value29 == value27 ? value : value27.encoderUsed; outputWidth = value29 == value27 ? value : value27.outputWidth; outputHeight = value29 == value27 ? value : value27.outputHeight; return r13 ? {path: r13, encoderUsed: encoderUsed, outputWidth: outputWidth, outputHeight: outputHeight} : value29; } binding = env2_0; value18 = binding(env2_2[13]); isIOS4 = value18.isIOS(); value19 = !!isIOS4; if (isIOS4) { value20 = env2_32(uri, filename); if (value20) { if (filename == null) { r14 = value; } else { value22 = filename.match(RegExp('\\.gif$', 'i')); r14 = value22; } value23 = r14 != null; r10 = value23; } else { match = uri.match; value21 = Reflect.apply(match, uri, [RegExp('^assets-library:\\/\\/.+&ext=gif$', 'i')]) != null; r10 = value21; } r8 = r10; } else { r8 = value19; } if (r8) { await env2_27('convertToGIFFilePath', uri); value = undefined; value24 = false; if (value24) { return value; } value25 = null; r10 = value ? {path: value} : value25; return r10; } return null; } try { MediaManager = binding.MediaManager; } catch (error) { binding = env2_20; binding.error('getLosslessImageData failed, falling through to JPEG conversion: ' + error); if (env2_34(uri, filename, isLowQuality, mobileLosslessImageEnabled, allowOptimization)) { value26 = env2_33(uri, filename); await env2_27('convertToJPEG', uri, {compressionQuality: compressionQuality, forceConvertToJPG: value26, useEnhancedConversion: useEnhancedConversion, useJpegliEncoder: useJpegliEncoder, targetWidth: targetWidth, targetHeight: targetHeight}); value27 = undefined; value28 = false; if (value28) { return value27; } value29 = null; path = value29 == value27 ? value : value27.path; r13 = value29 == path ? value27 : path; encoderUsed = value29 == value27 ? value : value27.encoderUsed; outputWidth = value29 == value27 ? value : value27.outputWidth; outputHeight = value29 == value27 ? value : value27.outputHeight; return r13 ? {path: r13, encoderUsed: encoderUsed, outputWidth: outputWidth, outputHeight: outputHeight} : value29; } binding = env2_0; value18 = binding(env2_2[13]); isIOS4 = value18.isIOS(); value19 = !!isIOS4; if (isIOS4) { value20 = env2_32(uri, filename); if (value20) { if (filename == null) { r14 = value; } else { value22 = filename.match(RegExp('\\.gif$', 'i')); r14 = value22; } value23 = r14 != null; r10 = value23; } else { match = uri.match; value21 = Reflect.apply(match, uri, [RegExp('^assets-library:\\/\\/.+&ext=gif$', 'i')]) != null; r10 = value21; } r8 = r10; } else { r8 = value19; } if (r8) { await env2_27('convertToGIFFilePath', uri); value = undefined; value24 = false; if (value24) { return value; } value25 = null; r10 = value ? {path: value} : value25; return r10; } return null; } try { getLosslessImageData = MediaManager.getLosslessImageData; } catch (error) { binding = env2_20; binding.error('getLosslessImageData failed, falling through to JPEG conversion: ' + error); if (env2_34(uri, filename, isLowQuality, mobileLosslessImageEnabled, allowOptimization)) { value26 = env2_33(uri, filename); await env2_27('convertToJPEG', uri, {compressionQuality: compressionQuality, forceConvertToJPG: value26, useEnhancedConversion: useEnhancedConversion, useJpegliEncoder: useJpegliEncoder, targetWidth: targetWidth, targetHeight: targetHeight}); value27 = undefined; value28 = false; if (value28) { return value27; } value29 = null; path = value29 == value27 ? value : value27.path; r13 = value29 == path ? value27 : path; encoderUsed = value29 == value27 ? value : value27.encoderUsed; outputWidth = value29 == value27 ? value : value27.outputWidth; outputHeight = value29 == value27 ? value : value27.outputHeight; return r13 ? {path: r13, encoderUsed: encoderUsed, outputWidth: outputWidth, outputHeight: outputHeight} : value29; } binding = env2_0; value18 = binding(env2_2[13]); isIOS4 = value18.isIOS(); value19 = !!isIOS4; if (isIOS4) { value20 = env2_32(uri, filename); if (value20) { if (filename == null) { r14 = value; } else { value22 = filename.match(RegExp('\\.gif$', 'i')); r14 = value22; } value23 = r14 != null; r10 = value23; } else { match = uri.match; value21 = Reflect.apply(match, uri, [RegExp('^assets-library:\\/\\/.+&ext=gif$', 'i')]) != null; r10 = value21; } r8 = r10; } else { r8 = value19; } if (r8) { await env2_27('convertToGIFFilePath', uri); value = undefined; value24 = false; if (value24) { return value; } value25 = null; r10 = value ? {path: value} : value25; return r10; } return null; } try { value14 = Reflect.apply(getLosslessImageData, MediaManager, [uri]); } catch (error) { binding = env2_20; binding.error('getLosslessImageData failed, falling through to JPEG conversion: ' + error); if (env2_34(uri, filename, isLowQuality, mobileLosslessImageEnabled, allowOptimization)) { value26 = env2_33(uri, filename); await env2_27('convertToJPEG', uri, {compressionQuality: compressionQuality, forceConvertToJPG: value26, useEnhancedConversion: useEnhancedConversion, useJpegliEncoder: useJpegliEncoder, targetWidth: targetWidth, targetHeight: targetHeight}); value27 = undefined; value28 = false; if (value28) { return value27; } value29 = null; path = value29 == value27 ? value : value27.path; r13 = value29 == path ? value27 : path; encoderUsed = value29 == value27 ? value : value27.encoderUsed; outputWidth = value29 == value27 ? value : value27.outputWidth; outputHeight = value29 == value27 ? value : value27.outputHeight; return r13 ? {path: r13, encoderUsed: encoderUsed, outputWidth: outputWidth, outputHeight: outputHeight} : value29; } binding = env2_0; value18 = binding(env2_2[13]); isIOS4 = value18.isIOS(); value19 = !!isIOS4; if (isIOS4) { value20 = env2_32(uri, filename); if (value20) { if (filename == null) { r14 = value; } else { value22 = filename.match(RegExp('\\.gif$', 'i')); r14 = value22; } value23 = r14 != null; r10 = value23; } else { match = uri.match; value21 = Reflect.apply(match, uri, [RegExp('^assets-library:\\/\\/.+&ext=gif$', 'i')]) != null; r10 = value21; } r8 = r10; } else { r8 = value19; } if (r8) { await env2_27('convertToGIFFilePath', uri); value = undefined; value24 = false; if (value24) { return value; } value25 = null; r10 = value ? {path: value} : value25; return r10; } return null; } await value14; try { value15 = undefined; value16 = false; } catch (error) { binding = env2_20; binding.error('getLosslessImageData failed, falling through to JPEG conversion: ' + error); if (env2_34(uri, filename, isLowQuality, mobileLosslessImageEnabled, allowOptimization)) { value26 = env2_33(uri, filename); await env2_27('convertToJPEG', uri, {compressionQuality: compressionQuality, forceConvertToJPG: value26, useEnhancedConversion: useEnhancedConversion, useJpegliEncoder: useJpegliEncoder, targetWidth: targetWidth, targetHeight: targetHeight}); value27 = undefined; value28 = false; if (value28) { return value27; } value29 = null; path = value29 == value27 ? value : value27.path; r13 = value29 == path ? value27 : path; encoderUsed = value29 == value27 ? value : value27.encoderUsed; outputWidth = value29 == value27 ? value : value27.outputWidth; outputHeight = value29 == value27 ? value : value27.outputHeight; return r13 ? {path: r13, encoderUsed: encoderUsed, outputWidth: outputWidth, outputHeight: outputHeight} : value29; } binding = env2_0; value18 = binding(env2_2[13]); isIOS4 = value18.isIOS(); value19 = !!isIOS4; if (isIOS4) { value20 = env2_32(uri, filename); if (value20) { if (filename == null) { r14 = value; } else { value22 = filename.match(RegExp('\\.gif$', 'i')); r14 = value22; } value23 = r14 != null; r10 = value23; } else { match = uri.match; value21 = Reflect.apply(match, uri, [RegExp('^assets-library:\\/\\/.+&ext=gif$', 'i')]) != null; r10 = value21; } r8 = r10; } else { r8 = value19; } if (r8) { await env2_27('convertToGIFFilePath', uri); value = undefined; value24 = false; if (value24) { return value; } value25 = null; r10 = value ? {path: value} : value25; return r10; } return null; } if (value16) { return value15; } try { object2.path = value15; } catch (error) { binding = env2_20; binding.error('getLosslessImageData failed, falling through to JPEG conversion: ' + error); if (env2_34(uri, filename, isLowQuality, mobileLosslessImageEnabled, allowOptimization)) { value26 = env2_33(uri, filename); await env2_27('convertToJPEG', uri, {compressionQuality: compressionQuality, forceConvertToJPG: value26, useEnhancedConversion: useEnhancedConversion, useJpegliEncoder: useJpegliEncoder, targetWidth: targetWidth, targetHeight: targetHeight}); value27 = undefined; value28 = false; if (value28) { return value27; } value29 = null; path = value29 == value27 ? value : value27.path; r13 = value29 == path ? value27 : path; encoderUsed = value29 == value27 ? value : value27.encoderUsed; outputWidth = value29 == value27 ? value : value27.outputWidth; outputHeight = value29 == value27 ? value : value27.outputHeight; return r13 ? {path: r13, encoderUsed: encoderUsed, outputWidth: outputWidth, outputHeight: outputHeight} : value29; } binding = env2_0; value18 = binding(env2_2[13]); isIOS4 = value18.isIOS(); value19 = !!isIOS4; if (isIOS4) { value20 = env2_32(uri, filename); if (value20) { if (filename == null) { r14 = value; } else { value22 = filename.match(RegExp('\\.gif$', 'i')); r14 = value22; } value23 = r14 != null; r10 = value23; } else { match = uri.match; value21 = Reflect.apply(match, uri, [RegExp('^assets-library:\\/\\/.+&ext=gif$', 'i')]) != null; r10 = value21; } r8 = r10; } else { r8 = value19; } if (r8) { await env2_27('convertToGIFFilePath', uri); value = undefined; value24 = false; if (value24) { return value; } value25 = null; r10 = value ? {path: value} : value25; return r10; } return null; } try { binding = env2_0; } catch (error) { binding = env2_20; binding.error('getLosslessImageData failed, falling through to JPEG conversion: ' + error); if (env2_34(uri, filename, isLowQuality, mobileLosslessImageEnabled, allowOptimization)) { value26 = env2_33(uri, filename); await env2_27('convertToJPEG', uri, {compressionQuality: compressionQuality, forceConvertToJPG: value26, useEnhancedConversion: useEnhancedConversion, useJpegliEncoder: useJpegliEncoder, targetWidth: targetWidth, targetHeight: targetHeight}); value27 = undefined; value28 = false; if (value28) { return value27; } value29 = null; path = value29 == value27 ? value : value27.path; r13 = value29 == path ? value27 : path; encoderUsed = value29 == value27 ? value : value27.encoderUsed; outputWidth = value29 == value27 ? value : value27.outputWidth; outputHeight = value29 == value27 ? value : value27.outputHeight; return r13 ? {path: r13, encoderUsed: encoderUsed, outputWidth: outputWidth, outputHeight: outputHeight} : value29; } binding = env2_0; value18 = binding(env2_2[13]); isIOS4 = value18.isIOS(); value19 = !!isIOS4; if (isIOS4) { value20 = env2_32(uri, filename); if (value20) { if (filename == null) { r14 = value; } else { value22 = filename.match(RegExp('\\.gif$', 'i')); r14 = value22; } value23 = r14 != null; r10 = value23; } else { match = uri.match; value21 = Reflect.apply(match, uri, [RegExp('^assets-library:\\/\\/.+&ext=gif$', 'i')]) != null; r10 = value21; } r8 = r10; } else { r8 = value19; } if (r8) { await env2_27('convertToGIFFilePath', uri); value = undefined; value24 = false; if (value24) { return value; } value25 = null; r10 = value ? {path: value} : value25; return r10; } return null; } try { binding2 = env2_2; } catch (error) { binding = env2_20; binding.error('getLosslessImageData failed, falling through to JPEG conversion: ' + error); if (env2_34(uri, filename, isLowQuality, mobileLosslessImageEnabled, allowOptimization)) { value26 = env2_33(uri, filename); await env2_27('convertToJPEG', uri, {compressionQuality: compressionQuality, forceConvertToJPG: value26, useEnhancedConversion: useEnhancedConversion, useJpegliEncoder: useJpegliEncoder, targetWidth: targetWidth, targetHeight: targetHeight}); value27 = undefined; value28 = false; if (value28) { return value27; } value29 = null; path = value29 == value27 ? value : value27.path; r13 = value29 == path ? value27 : path; encoderUsed = value29 == value27 ? value : value27.encoderUsed; outputWidth = value29 == value27 ? value : value27.outputWidth; outputHeight = value29 == value27 ? value : value27.outputHeight; return r13 ? {path: r13, encoderUsed: encoderUsed, outputWidth: outputWidth, outputHeight: outputHeight} : value29; } binding = env2_0; value18 = binding(env2_2[13]); isIOS4 = value18.isIOS(); value19 = !!isIOS4; if (isIOS4) { value20 = env2_32(uri, filename); if (value20) { if (filename == null) { r14 = value; } else { value22 = filename.match(RegExp('\\.gif$', 'i')); r14 = value22; } value23 = r14 != null; r10 = value23; } else { match = uri.match; value21 = Reflect.apply(match, uri, [RegExp('^assets-library:\\/\\/.+&ext=gif$', 'i')]) != null; r10 = value21; } r8 = r10; } else { r8 = value19; } if (r8) { await env2_27('convertToGIFFilePath', uri); value = undefined; value24 = false; if (value24) { return value; } value25 = null; r10 = value ? {path: value} : value25; return r10; } return null; } try { property = binding2[30]; } catch (error) { binding = env2_20; binding.error('getLosslessImageData failed, falling through to JPEG conversion: ' + error); if (env2_34(uri, filename, isLowQuality, mobileLosslessImageEnabled, allowOptimization)) { value26 = env2_33(uri, filename); await env2_27('convertToJPEG', uri, {compressionQuality: compressionQuality, forceConvertToJPG: value26, useEnhancedConversion: useEnhancedConversion, useJpegliEncoder: useJpegliEncoder, targetWidth: targetWidth, targetHeight: targetHeight}); value27 = undefined; value28 = false; if (value28) { return value27; } value29 = null; path = value29 == value27 ? value : value27.path; r13 = value29 == path ? value27 : path; encoderUsed = value29 == value27 ? value : value27.encoderUsed; outputWidth = value29 == value27 ? value : value27.outputWidth; outputHeight = value29 == value27 ? value : value27.outputHeight; return r13 ? {path: r13, encoderUsed: encoderUsed, outputWidth: outputWidth, outputHeight: outputHeight} : value29; } binding = env2_0; value18 = binding(env2_2[13]); isIOS4 = value18.isIOS(); value19 = !!isIOS4; if (isIOS4) { value20 = env2_32(uri, filename); if (value20) { if (filename == null) { r14 = value; } else { value22 = filename.match(RegExp('\\.gif$', 'i')); r14 = value22; } value23 = r14 != null; r10 = value23; } else { match = uri.match; value21 = Reflect.apply(match, uri, [RegExp('^assets-library:\\/\\/.+&ext=gif$', 'i')]) != null; r10 = value21; } r8 = r10; } else { r8 = value19; } if (r8) { await env2_27('convertToGIFFilePath', uri); value = undefined; value24 = false; if (value24) { return value; } value25 = null; r10 = value ? {path: value} : value25; return r10; } return null; } try { value17 = binding(property); } catch (error) { binding = env2_20; binding.error('getLosslessImageData failed, falling through to JPEG conversion: ' + error); if (env2_34(uri, filename, isLowQuality, mobileLosslessImageEnabled, allowOptimization)) { value26 = env2_33(uri, filename); await env2_27('convertToJPEG', uri, {compressionQuality: compressionQuality, forceConvertToJPG: value26, useEnhancedConversion: useEnhancedConversion, useJpegliEncoder: useJpegliEncoder, targetWidth: targetWidth, targetHeight: targetHeight}); value27 = undefined; value28 = false; if (value28) { return value27; } value29 = null; path = value29 == value27 ? value : value27.path; r13 = value29 == path ? value27 : path; encoderUsed = value29 == value27 ? value : value27.encoderUsed; outputWidth = value29 == value27 ? value : value27.outputWidth; outputHeight = value29 == value27 ? value : value27.outputHeight; return r13 ? {path: r13, encoderUsed: encoderUsed, outputWidth: outputWidth, outputHeight: outputHeight} : value29; } binding = env2_0; value18 = binding(env2_2[13]); isIOS4 = value18.isIOS(); value19 = !!isIOS4; if (isIOS4) { value20 = env2_32(uri, filename); if (value20) { if (filename == null) { r14 = value; } else { value22 = filename.match(RegExp('\\.gif$', 'i')); r14 = value22; } value23 = r14 != null; r10 = value23; } else { match = uri.match; value21 = Reflect.apply(match, uri, [RegExp('^assets-library:\\/\\/.+&ext=gif$', 'i')]) != null; r10 = value21; } r8 = r10; } else { r8 = value19; } if (r8) { await env2_27('convertToGIFFilePath', uri); value = undefined; value24 = false; if (value24) { return value; } value25 = null; r10 = value ? {path: value} : value25; return r10; } return null; } try { ImageEncoder = value17.ImageEncoder; } catch (error) { binding = env2_20; binding.error('getLosslessImageData failed, falling through to JPEG conversion: ' + error); if (env2_34(uri, filename, isLowQuality, mobileLosslessImageEnabled, allowOptimization)) { value26 = env2_33(uri, filename); await env2_27('convertToJPEG', uri, {compressionQuality: compressionQuality, forceConvertToJPG: value26, useEnhancedConversion: useEnhancedConversion, useJpegliEncoder: useJpegliEncoder, targetWidth: targetWidth, targetHeight: targetHeight}); value27 = undefined; value28 = false; if (value28) { return value27; } value29 = null; path = value29 == value27 ? value : value27.path; r13 = value29 == path ? value27 : path; encoderUsed = value29 == value27 ? value : value27.encoderUsed; outputWidth = value29 == value27 ? value : value27.outputWidth; outputHeight = value29 == value27 ? value : value27.outputHeight; return r13 ? {path: r13, encoderUsed: encoderUsed, outputWidth: outputWidth, outputHeight: outputHeight} : value29; } binding = env2_0; value18 = binding(env2_2[13]); isIOS4 = value18.isIOS(); value19 = !!isIOS4; if (isIOS4) { value20 = env2_32(uri, filename); if (value20) { if (filename == null) { r14 = value; } else { value22 = filename.match(RegExp('\\.gif$', 'i')); r14 = value22; } value23 = r14 != null; r10 = value23; } else { match = uri.match; value21 = Reflect.apply(match, uri, [RegExp('^assets-library:\\/\\/.+&ext=gif$', 'i')]) != null; r10 = value21; } r8 = r10; } else { r8 = value19; } if (r8) { await env2_27('convertToGIFFilePath', uri); value = undefined; value24 = false; if (value24) { return value; } value25 = null; r10 = value ? {path: value} : value25; return r10; } return null; } try { PASSTHROUGH = ImageEncoder.PASSTHROUGH; } catch (error) { binding = env2_20; binding.error('getLosslessImageData failed, falling through to JPEG conversion: ' + error); if (env2_34(uri, filename, isLowQuality, mobileLosslessImageEnabled, allowOptimization)) { value26 = env2_33(uri, filename); await env2_27('convertToJPEG', uri, {compressionQuality: compressionQuality, forceConvertToJPG: value26, useEnhancedConversion: useEnhancedConversion, useJpegliEncoder: useJpegliEncoder, targetWidth: targetWidth, targetHeight: targetHeight}); value27 = undefined; value28 = false; if (value28) { return value27; } value29 = null; path = value29 == value27 ? value : value27.path; r13 = value29 == path ? value27 : path; encoderUsed = value29 == value27 ? value : value27.encoderUsed; outputWidth = value29 == value27 ? value : value27.outputWidth; outputHeight = value29 == value27 ? value : value27.outputHeight; return r13 ? {path: r13, encoderUsed: encoderUsed, outputWidth: outputWidth, outputHeight: outputHeight} : value29; } binding = env2_0; value18 = binding(env2_2[13]); isIOS4 = value18.isIOS(); value19 = !!isIOS4; if (isIOS4) { value20 = env2_32(uri, filename); if (value20) { if (filename == null) { r14 = value; } else { value22 = filename.match(RegExp('\\.gif$', 'i')); r14 = value22; } value23 = r14 != null; r10 = value23; } else { match = uri.match; value21 = Reflect.apply(match, uri, [RegExp('^assets-library:\\/\\/.+&ext=gif$', 'i')]) != null; r10 = value21; } r8 = r10; } else { r8 = value19; } if (r8) { await env2_27('convertToGIFFilePath', uri); value = undefined; value24 = false; if (value24) { return value; } value25 = null; r10 = value ? {path: value} : value25; return r10; } return null; } try { object2.encoderUsed = PASSTHROUGH; } catch (error) { binding = env2_20; binding.error('getLosslessImageData failed, falling through to JPEG conversion: ' + error); if (env2_34(uri, filename, isLowQuality, mobileLosslessImageEnabled, allowOptimization)) { value26 = env2_33(uri, filename); await env2_27('convertToJPEG', uri, {compressionQuality: compressionQuality, forceConvertToJPG: value26, useEnhancedConversion: useEnhancedConversion, useJpegliEncoder: useJpegliEncoder, targetWidth: targetWidth, targetHeight: targetHeight}); value27 = undefined; value28 = false; if (value28) { return value27; } value29 = null; path = value29 == value27 ? value : value27.path; r13 = value29 == path ? value27 : path; encoderUsed = value29 == value27 ? value : value27.encoderUsed; outputWidth = value29 == value27 ? value : value27.outputWidth; outputHeight = value29 == value27 ? value : value27.outputHeight; return r13 ? {path: r13, encoderUsed: encoderUsed, outputWidth: outputWidth, outputHeight: outputHeight} : value29; } binding = env2_0; value18 = binding(env2_2[13]); isIOS4 = value18.isIOS(); value19 = !!isIOS4; if (isIOS4) { value20 = env2_32(uri, filename); if (value20) { if (filename == null) { r14 = value; } else { value22 = filename.match(RegExp('\\.gif$', 'i')); r14 = value22; } value23 = r14 != null; r10 = value23; } else { match = uri.match; value21 = Reflect.apply(match, uri, [RegExp('^assets-library:\\/\\/.+&ext=gif$', 'i')]) != null; r10 = value21; } r8 = r10; } else { r8 = value19; } if (r8) { await env2_27('convertToGIFFilePath', uri); value = undefined; value24 = false; if (value24) { return value; } value25 = null; r10 = value ? {path: value} : value25; return r10; } return null; } return object2; } function* _fun40335(a0, a1) { // fn#40335, original name: ?anon_0_, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:4838:17109, offset: 0x010fe0ee, size: 147 bytes, params: 3, frame: 18 var binding; var value3; var value4; var value5; var rotationDegrees; var value6; var error; if (false) { return undefined; } value = environment.__proto__.__proto__; if (!env2_37(a0, a1)) { return undefined; } try { binding = env2_27; } catch (error) { binding = env2_20; binding.warn('Failed to fetch video metadata', {uri: a0, error: error}); return undefined; } try { value3 = binding('getVideoMetadata', a0); } catch (error) { binding = env2_20; binding.warn('Failed to fetch video metadata', {uri: a0, error: error}); return undefined; } yield value3; try { value4 = undefined; value5 = false; } catch (error) { binding = env2_20; binding.warn('Failed to fetch video metadata', {uri: a0, error: error}); return undefined; } if (!value5) { try { rotationDegrees = value4.rotationDegrees; } catch (error) { binding = env2_20; binding.warn('Failed to fetch video metadata', {uri: a0, error: error}); return undefined; } try { value6 = rotationDegrees != null; } catch (error) { binding = env2_20; binding.warn('Failed to fetch video metadata', {uri: a0, error: error}); return undefined; } try { value4.rotationDegrees = value6 ? rotationDegrees : 0; } catch (error) { binding = env2_20; binding.warn('Failed to fetch video metadata', {uri: a0, error: error}); return undefined; } } return value4; } function* _fun40340(a0, a1, a2, a3) { // fn#40340, original name: ?anon_0_, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:4838:17687, offset: 0x010fe238, size: 354 bytes, params: 5, frame: 23 var environment; var r8; var r7; var binding; var file; var isVideo; var closure; var value5; var value6; var value7; var binding2; var property; var value8; var isIOS; var isIOS2; var width; var height; var DCDFileManager; var getVideoDimensions; var value11; var value12; var value13; var error; if (false) { return undefined; } const object2 = {width: a1, height: a2}; if (a1 == null) { value = environment.__proto__.__proto__; binding = env2_0; file = binding(env2_2[11]).getFile({uri: a0, overrideFilename: a3}); if (file.isImage) { try { } catch (error) { binding = env2_20; binding.warn('Unable to get width and height of media file: ' + a0, error); return object2; } try { closure = function(a0) { var env0_0 = a0; var Promise = global.Promise; var value = Object.create(Promise.prototype, {constructor: {value: Promise}}); var value2 = new Promise(_fun40342); return value2 instanceof Object ? value2 : value; }; } catch (error) { binding = env2_20; binding.warn('Unable to get width and height of media file: ' + a0, error); return object2; } try { value5 = closure(a0); } catch (error) { binding = env2_20; binding.warn('Unable to get width and height of media file: ' + a0, error); return object2; } yield value5; try { value6 = undefined; value7 = false; } catch (error) { binding = env2_20; binding.warn('Unable to get width and height of media file: ' + a0, error); return object2; } if (value7) { return value6; } try { binding = env2_0; } catch (error) { binding = env2_20; binding.warn('Unable to get width and height of media file: ' + a0, error); return object2; } try { binding2 = env2_2; } catch (error) { binding = env2_20; binding.warn('Unable to get width and height of media file: ' + a0, error); return object2; } try { property = binding2[13]; } catch (error) { binding = env2_20; binding.warn('Unable to get width and height of media file: ' + a0, error); return object2; } try { value8 = binding(property); } catch (error) { binding = env2_20; binding.warn('Unable to get width and height of media file: ' + a0, error); return object2; } try { isIOS = value8.isIOS; } catch (error) { binding = env2_20; binding.warn('Unable to get width and height of media file: ' + a0, error); return object2; } try { isIOS2 = Reflect.apply(isIOS, value8, []); } catch (error) { binding = env2_20; binding.warn('Unable to get width and height of media file: ' + a0, error); return object2; } if (isIOS2) { try { isVideo = file.isVideo; r8 = isVideo; } catch (error) { binding = env2_20; binding.warn('Unable to get width and height of media file: ' + a0, error); return object2; } if (r8) { try { width = value6.width; } catch (error) { binding = env2_20; binding.warn('Unable to get width and height of media file: ' + a0, error); return object2; } r7 = width === 0; if (r7) { try { height = value6.height; } catch (error) { binding = env2_20; binding.warn('Unable to get width and height of media file: ' + a0, error); return object2; } if (height === 0) { try { binding = env2_6; } catch (error) { binding = env2_20; binding.warn('Unable to get width and height of media file: ' + a0, error); return object2; } try { DCDFileManager = binding.DCDFileManager; } catch (error) { binding = env2_20; binding.warn('Unable to get width and height of media file: ' + a0, error); return object2; } try { getVideoDimensions = DCDFileManager.getVideoDimensions; } catch (error) { binding = env2_20; binding.warn('Unable to get width and height of media file: ' + a0, error); return object2; } try { value11 = Reflect.apply(getVideoDimensions, DCDFileManager, [a0]); } catch (error) { binding = env2_20; binding.warn('Unable to get width and height of media file: ' + a0, error); return object2; } yield value11; try { value12 = undefined; value13 = false; } catch (error) { binding = env2_20; binding.warn('Unable to get width and height of media file: ' + a0, error); return object2; } if (value13) { return value12; } return value12; } return value6; } if (r7) { try { binding = env2_6; } catch (error) { binding = env2_20; binding.warn('Unable to get width and height of media file: ' + a0, error); return object2; } try { DCDFileManager = binding.DCDFileManager; } catch (error) { binding = env2_20; binding.warn('Unable to get width and height of media file: ' + a0, error); return object2; } try { getVideoDimensions = DCDFileManager.getVideoDimensions; } catch (error) { binding = env2_20; binding.warn('Unable to get width and height of media file: ' + a0, error); return object2; } try { value11 = Reflect.apply(getVideoDimensions, DCDFileManager, [a0]); } catch (error) { binding = env2_20; binding.warn('Unable to get width and height of media file: ' + a0, error); return object2; } yield value11; try { value12 = undefined; value13 = false; } catch (error) { binding = env2_20; binding.warn('Unable to get width and height of media file: ' + a0, error); return object2; } if (value13) { return value12; } return value12; } return value6; } r7 = r8; if (r7) { try { height = value6.height; } catch (error) { binding = env2_20; binding.warn('Unable to get width and height of media file: ' + a0, error); return object2; } if (height === 0) { try { binding = env2_6; } catch (error) { binding = env2_20; binding.warn('Unable to get width and height of media file: ' + a0, error); return object2; } try { DCDFileManager = binding.DCDFileManager; } catch (error) { binding = env2_20; binding.warn('Unable to get width and height of media file: ' + a0, error); return object2; } try { getVideoDimensions = DCDFileManager.getVideoDimensions; } catch (error) { binding = env2_20; binding.warn('Unable to get width and height of media file: ' + a0, error); return object2; } try { value11 = Reflect.apply(getVideoDimensions, DCDFileManager, [a0]); } catch (error) { binding = env2_20; binding.warn('Unable to get width and height of media file: ' + a0, error); return object2; } yield value11; try { value12 = undefined; value13 = false; } catch (error) { binding = env2_20; binding.warn('Unable to get width and height of media file: ' + a0, error); return object2; } if (value13) { return value12; } return value12; } return value6; } if (r7) { try { binding = env2_6; } catch (error) { binding = env2_20; binding.warn('Unable to get width and height of media file: ' + a0, error); return object2; } try { DCDFileManager = binding.DCDFileManager; } catch (error) { binding = env2_20; binding.warn('Unable to get width and height of media file: ' + a0, error); return object2; } try { getVideoDimensions = DCDFileManager.getVideoDimensions; } catch (error) { binding = env2_20; binding.warn('Unable to get width and height of media file: ' + a0, error); return object2; } try { value11 = Reflect.apply(getVideoDimensions, DCDFileManager, [a0]); } catch (error) { binding = env2_20; binding.warn('Unable to get width and height of media file: ' + a0, error); return object2; } yield value11; try { value12 = undefined; value13 = false; } catch (error) { binding = env2_20; binding.warn('Unable to get width and height of media file: ' + a0, error); return object2; } if (value13) { return value12; } return value12; } return value6; } r8 = isIOS2; if (r8) { try { width = value6.width; } catch (error) { binding = env2_20; binding.warn('Unable to get width and height of media file: ' + a0, error); return object2; } r7 = width === 0; if (r7) { try { height = value6.height; } catch (error) { binding = env2_20; binding.warn('Unable to get width and height of media file: ' + a0, error); return object2; } if (height === 0) { try { binding = env2_6; } catch (error) { binding = env2_20; binding.warn('Unable to get width and height of media file: ' + a0, error); return object2; } try { DCDFileManager = binding.DCDFileManager; } catch (error) { binding = env2_20; binding.warn('Unable to get width and height of media file: ' + a0, error); return object2; } try { getVideoDimensions = DCDFileManager.getVideoDimensions; } catch (error) { binding = env2_20; binding.warn('Unable to get width and height of media file: ' + a0, error); return object2; } try { value11 = Reflect.apply(getVideoDimensions, DCDFileManager, [a0]); } catch (error) { binding = env2_20; binding.warn('Unable to get width and height of media file: ' + a0, error); return object2; } yield value11; try { value12 = undefined; value13 = false; } catch (error) { binding = env2_20; binding.warn('Unable to get width and height of media file: ' + a0, error); return object2; } if (value13) { return value12; } return value12; } return value6; } if (r7) { try { binding = env2_6; } catch (error) { binding = env2_20; binding.warn('Unable to get width and height of media file: ' + a0, error); return object2; } try { DCDFileManager = binding.DCDFileManager; } catch (error) { binding = env2_20; binding.warn('Unable to get width and height of media file: ' + a0, error); return object2; } try { getVideoDimensions = DCDFileManager.getVideoDimensions; } catch (error) { binding = env2_20; binding.warn('Unable to get width and height of media file: ' + a0, error); return object2; } try { value11 = Reflect.apply(getVideoDimensions, DCDFileManager, [a0]); } catch (error) { binding = env2_20; binding.warn('Unable to get width and height of media file: ' + a0, error); return object2; } yield value11; try { value12 = undefined; value13 = false; } catch (error) { binding = env2_20; binding.warn('Unable to get width and height of media file: ' + a0, error); return object2; } if (value13) { return value12; } return value12; } return value6; } r7 = r8; if (r7) { try { height = value6.height; } catch (error) { binding = env2_20; binding.warn('Unable to get width and height of media file: ' + a0, error); return object2; } if (height === 0) { try { binding = env2_6; } catch (error) { binding = env2_20; binding.warn('Unable to get width and height of media file: ' + a0, error); return object2; } try { DCDFileManager = binding.DCDFileManager; } catch (error) { binding = env2_20; binding.warn('Unable to get width and height of media file: ' + a0, error); return object2; } try { getVideoDimensions = DCDFileManager.getVideoDimensions; } catch (error) { binding = env2_20; binding.warn('Unable to get width and height of media file: ' + a0, error); return object2; } try { value11 = Reflect.apply(getVideoDimensions, DCDFileManager, [a0]); } catch (error) { binding = env2_20; binding.warn('Unable to get width and height of media file: ' + a0, error); return object2; } yield value11; try { value12 = undefined; value13 = false; } catch (error) { binding = env2_20; binding.warn('Unable to get width and height of media file: ' + a0, error); return object2; } if (value13) { return value12; } return value12; } return value6; } if (r7) { try { binding = env2_6; } catch (error) { binding = env2_20; binding.warn('Unable to get width and height of media file: ' + a0, error); return object2; } try { DCDFileManager = binding.DCDFileManager; } catch (error) { binding = env2_20; binding.warn('Unable to get width and height of media file: ' + a0, error); return object2; } try { getVideoDimensions = DCDFileManager.getVideoDimensions; } catch (error) { binding = env2_20; binding.warn('Unable to get width and height of media file: ' + a0, error); return object2; } try { value11 = Reflect.apply(getVideoDimensions, DCDFileManager, [a0]); } catch (error) { binding = env2_20; binding.warn('Unable to get width and height of media file: ' + a0, error); return object2; } yield value11; try { value12 = undefined; value13 = false; } catch (error) { binding = env2_20; binding.warn('Unable to get width and height of media file: ' + a0, error); return object2; } if (value13) { return value12; } return value12; } return value6; } isVideo = file.isVideo; if (isVideo) { try { } catch (error) { binding = env2_20; binding.warn('Unable to get width and height of media file: ' + a0, error); return object2; } try { closure = getImageDimensionByUri; } catch (error) { binding = env2_20; binding.warn('Unable to get width and height of media file: ' + a0, error); return object2; } try { value5 = closure(a0); } catch (error) { binding = env2_20; binding.warn('Unable to get width and height of media file: ' + a0, error); return object2; } yield value5; try { value6 = undefined; value7 = false; } catch (error) { binding = env2_20; binding.warn('Unable to get width and height of media file: ' + a0, error); return object2; } if (value7) { return value6; } try { binding = env2_0; } catch (error) { binding = env2_20; binding.warn('Unable to get width and height of media file: ' + a0, error); return object2; } try { binding2 = env2_2; } catch (error) { binding = env2_20; binding.warn('Unable to get width and height of media file: ' + a0, error); return object2; } try { property = binding2[13]; } catch (error) { binding = env2_20; binding.warn('Unable to get width and height of media file: ' + a0, error); return object2; } try { value8 = binding(property); } catch (error) { binding = env2_20; binding.warn('Unable to get width and height of media file: ' + a0, error); return object2; } try { isIOS = value8.isIOS; } catch (error) { binding = env2_20; binding.warn('Unable to get width and height of media file: ' + a0, error); return object2; } try { isIOS2 = Reflect.apply(isIOS, value8, []); } catch (error) { binding = env2_20; binding.warn('Unable to get width and height of media file: ' + a0, error); return object2; } if (isIOS2) { try { isVideo = file.isVideo; r8 = isVideo; } catch (error) { binding = env2_20; binding.warn('Unable to get width and height of media file: ' + a0, error); return object2; } if (r8) { try { width = value6.width; } catch (error) { binding = env2_20; binding.warn('Unable to get width and height of media file: ' + a0, error); return object2; } r7 = width === 0; if (r7) { try { height = value6.height; } catch (error) { binding = env2_20; binding.warn('Unable to get width and height of media file: ' + a0, error); return object2; } if (height === 0) { try { binding = env2_6; } catch (error) { binding = env2_20; binding.warn('Unable to get width and height of media file: ' + a0, error); return object2; } try { DCDFileManager = binding.DCDFileManager; } catch (error) { binding = env2_20; binding.warn('Unable to get width and height of media file: ' + a0, error); return object2; } try { getVideoDimensions = DCDFileManager.getVideoDimensions; } catch (error) { binding = env2_20; binding.warn('Unable to get width and height of media file: ' + a0, error); return object2; } try { value11 = Reflect.apply(getVideoDimensions, DCDFileManager, [a0]); } catch (error) { binding = env2_20; binding.warn('Unable to get width and height of media file: ' + a0, error); return object2; } yield value11; try { value12 = undefined; value13 = false; } catch (error) { binding = env2_20; binding.warn('Unable to get width and height of media file: ' + a0, error); return object2; } if (value13) { return value12; } return value12; } return value6; } if (r7) { try { binding = env2_6; } catch (error) { binding = env2_20; binding.warn('Unable to get width and height of media file: ' + a0, error); return object2; } try { DCDFileManager = binding.DCDFileManager; } catch (error) { binding = env2_20; binding.warn('Unable to get width and height of media file: ' + a0, error); return object2; } try { getVideoDimensions = DCDFileManager.getVideoDimensions; } catch (error) { binding = env2_20; binding.warn('Unable to get width and height of media file: ' + a0, error); return object2; } try { value11 = Reflect.apply(getVideoDimensions, DCDFileManager, [a0]); } catch (error) { binding = env2_20; binding.warn('Unable to get width and height of media file: ' + a0, error); return object2; } yield value11; try { value12 = undefined; value13 = false; } catch (error) { binding = env2_20; binding.warn('Unable to get width and height of media file: ' + a0, error); return object2; } if (value13) { return value12; } return value12; } return value6; } r7 = r8; if (r7) { try { height = value6.height; } catch (error) { binding = env2_20; binding.warn('Unable to get width and height of media file: ' + a0, error); return object2; } if (height === 0) { try { binding = env2_6; } catch (error) { binding = env2_20; binding.warn('Unable to get width and height of media file: ' + a0, error); return object2; } try { DCDFileManager = binding.DCDFileManager; } catch (error) { binding = env2_20; binding.warn('Unable to get width and height of media file: ' + a0, error); return object2; } try { getVideoDimensions = DCDFileManager.getVideoDimensions; } catch (error) { binding = env2_20; binding.warn('Unable to get width and height of media file: ' + a0, error); return object2; } try { value11 = Reflect.apply(getVideoDimensions, DCDFileManager, [a0]); } catch (error) { binding = env2_20; binding.warn('Unable to get width and height of media file: ' + a0, error); return object2; } yield value11; try { value12 = undefined; value13 = false; } catch (error) { binding = env2_20; binding.warn('Unable to get width and height of media file: ' + a0, error); return object2; } if (value13) { return value12; } return value12; } return value6; } if (r7) { try { binding = env2_6; } catch (error) { binding = env2_20; binding.warn('Unable to get width and height of media file: ' + a0, error); return object2; } try { DCDFileManager = binding.DCDFileManager; } catch (error) { binding = env2_20; binding.warn('Unable to get width and height of media file: ' + a0, error); return object2; } try { getVideoDimensions = DCDFileManager.getVideoDimensions; } catch (error) { binding = env2_20; binding.warn('Unable to get width and height of media file: ' + a0, error); return object2; } try { value11 = Reflect.apply(getVideoDimensions, DCDFileManager, [a0]); } catch (error) { binding = env2_20; binding.warn('Unable to get width and height of media file: ' + a0, error); return object2; } yield value11; try { value12 = undefined; value13 = false; } catch (error) { binding = env2_20; binding.warn('Unable to get width and height of media file: ' + a0, error); return object2; } if (value13) { return value12; } return value12; } return value6; } r8 = isIOS2; if (r8) { try { width = value6.width; } catch (error) { binding = env2_20; binding.warn('Unable to get width and height of media file: ' + a0, error); return object2; } r7 = width === 0; if (r7) { try { height = value6.height; } catch (error) { binding = env2_20; binding.warn('Unable to get width and height of media file: ' + a0, error); return object2; } if (height === 0) { try { binding = env2_6; } catch (error) { binding = env2_20; binding.warn('Unable to get width and height of media file: ' + a0, error); return object2; } try { DCDFileManager = binding.DCDFileManager; } catch (error) { binding = env2_20; binding.warn('Unable to get width and height of media file: ' + a0, error); return object2; } try { getVideoDimensions = DCDFileManager.getVideoDimensions; } catch (error) { binding = env2_20; binding.warn('Unable to get width and height of media file: ' + a0, error); return object2; } try { value11 = Reflect.apply(getVideoDimensions, DCDFileManager, [a0]); } catch (error) { binding = env2_20; binding.warn('Unable to get width and height of media file: ' + a0, error); return object2; } yield value11; try { value12 = undefined; value13 = false; } catch (error) { binding = env2_20; binding.warn('Unable to get width and height of media file: ' + a0, error); return object2; } if (value13) { return value12; } return value12; } return value6; } if (r7) { try { binding = env2_6; } catch (error) { binding = env2_20; binding.warn('Unable to get width and height of media file: ' + a0, error); return object2; } try { DCDFileManager = binding.DCDFileManager; } catch (error) { binding = env2_20; binding.warn('Unable to get width and height of media file: ' + a0, error); return object2; } try { getVideoDimensions = DCDFileManager.getVideoDimensions; } catch (error) { binding = env2_20; binding.warn('Unable to get width and height of media file: ' + a0, error); return object2; } try { value11 = Reflect.apply(getVideoDimensions, DCDFileManager, [a0]); } catch (error) { binding = env2_20; binding.warn('Unable to get width and height of media file: ' + a0, error); return object2; } yield value11; try { value12 = undefined; value13 = false; } catch (error) { binding = env2_20; binding.warn('Unable to get width and height of media file: ' + a0, error); return object2; } if (value13) { return value12; } return value12; } return value6; } r7 = r8; if (r7) { try { height = value6.height; } catch (error) { binding = env2_20; binding.warn('Unable to get width and height of media file: ' + a0, error); return object2; } if (height === 0) { try { binding = env2_6; } catch (error) { binding = env2_20; binding.warn('Unable to get width and height of media file: ' + a0, error); return object2; } try { DCDFileManager = binding.DCDFileManager; } catch (error) { binding = env2_20; binding.warn('Unable to get width and height of media file: ' + a0, error); return object2; } try { getVideoDimensions = DCDFileManager.getVideoDimensions; } catch (error) { binding = env2_20; binding.warn('Unable to get width and height of media file: ' + a0, error); return object2; } try { value11 = Reflect.apply(getVideoDimensions, DCDFileManager, [a0]); } catch (error) { binding = env2_20; binding.warn('Unable to get width and height of media file: ' + a0, error); return object2; } yield value11; try { value12 = undefined; value13 = false; } catch (error) { binding = env2_20; binding.warn('Unable to get width and height of media file: ' + a0, error); return object2; } if (value13) { return value12; } return value12; } return value6; } if (r7) { try { binding = env2_6; } catch (error) { binding = env2_20; binding.warn('Unable to get width and height of media file: ' + a0, error); return object2; } try { DCDFileManager = binding.DCDFileManager; } catch (error) { binding = env2_20; binding.warn('Unable to get width and height of media file: ' + a0, error); return object2; } try { getVideoDimensions = DCDFileManager.getVideoDimensions; } catch (error) { binding = env2_20; binding.warn('Unable to get width and height of media file: ' + a0, error); return object2; } try { value11 = Reflect.apply(getVideoDimensions, DCDFileManager, [a0]); } catch (error) { binding = env2_20; binding.warn('Unable to get width and height of media file: ' + a0, error); return object2; } yield value11; try { value12 = undefined; value13 = false; } catch (error) { binding = env2_20; binding.warn('Unable to get width and height of media file: ' + a0, error); return object2; } if (value13) { return value12; } return value12; } return value6; } } else { if (a2 != null) { return object2; } value = environment.__proto__.__proto__; file = env2_0(env2_2[11]).getFile({uri: a0, overrideFilename: a3}); if (file.isImage) { try { } catch (error) { binding = env2_20; binding.warn('Unable to get width and height of media file: ' + a0, error); return object2; } try { closure = function(a0) { var env0_0 = a0; var Promise = global.Promise; var value = Object.create(Promise.prototype, {constructor: {value: Promise}}); var value2 = new Promise(_fun40342); return value2 instanceof Object ? value2 : value; }; } catch (error) { binding = env2_20; binding.warn('Unable to get width and height of media file: ' + a0, error); return object2; } try { value5 = closure(a0); } catch (error) { binding = env2_20; binding.warn('Unable to get width and height of media file: ' + a0, error); return object2; } yield value5; try { value6 = undefined; value7 = false; } catch (error) { binding = env2_20; binding.warn('Unable to get width and height of media file: ' + a0, error); return object2; } if (value7) { return value6; } try { binding = env2_0; } catch (error) { binding = env2_20; binding.warn('Unable to get width and height of media file: ' + a0, error); return object2; } try { binding2 = env2_2; } catch (error) { binding = env2_20; binding.warn('Unable to get width and height of media file: ' + a0, error); return object2; } try { property = binding2[13]; } catch (error) { binding = env2_20; binding.warn('Unable to get width and height of media file: ' + a0, error); return object2; } try { value8 = binding(property); } catch (error) { binding = env2_20; binding.warn('Unable to get width and height of media file: ' + a0, error); return object2; } try { isIOS = value8.isIOS; } catch (error) { binding = env2_20; binding.warn('Unable to get width and height of media file: ' + a0, error); return object2; } try { isIOS2 = Reflect.apply(isIOS, value8, []); } catch (error) { binding = env2_20; binding.warn('Unable to get width and height of media file: ' + a0, error); return object2; } if (isIOS2) { try { isVideo = file.isVideo; r8 = isVideo; } catch (error) { binding = env2_20; binding.warn('Unable to get width and height of media file: ' + a0, error); return object2; } if (r8) { try { width = value6.width; } catch (error) { binding = env2_20; binding.warn('Unable to get width and height of media file: ' + a0, error); return object2; } r7 = width === 0; if (r7) { try { height = value6.height; } catch (error) { binding = env2_20; binding.warn('Unable to get width and height of media file: ' + a0, error); return object2; } if (height === 0) { try { binding = env2_6; } catch (error) { binding = env2_20; binding.warn('Unable to get width and height of media file: ' + a0, error); return object2; } try { DCDFileManager = binding.DCDFileManager; } catch (error) { binding = env2_20; binding.warn('Unable to get width and height of media file: ' + a0, error); return object2; } try { getVideoDimensions = DCDFileManager.getVideoDimensions; } catch (error) { binding = env2_20; binding.warn('Unable to get width and height of media file: ' + a0, error); return object2; } try { value11 = Reflect.apply(getVideoDimensions, DCDFileManager, [a0]); } catch (error) { binding = env2_20; binding.warn('Unable to get width and height of media file: ' + a0, error); return object2; } yield value11; try { value12 = undefined; value13 = false; } catch (error) { binding = env2_20; binding.warn('Unable to get width and height of media file: ' + a0, error); return object2; } if (value13) { return value12; } return value12; } return value6; } if (r7) { try { binding = env2_6; } catch (error) { binding = env2_20; binding.warn('Unable to get width and height of media file: ' + a0, error); return object2; } try { DCDFileManager = binding.DCDFileManager; } catch (error) { binding = env2_20; binding.warn('Unable to get width and height of media file: ' + a0, error); return object2; } try { getVideoDimensions = DCDFileManager.getVideoDimensions; } catch (error) { binding = env2_20; binding.warn('Unable to get width and height of media file: ' + a0, error); return object2; } try { value11 = Reflect.apply(getVideoDimensions, DCDFileManager, [a0]); } catch (error) { binding = env2_20; binding.warn('Unable to get width and height of media file: ' + a0, error); return object2; } yield value11; try { value12 = undefined; value13 = false; } catch (error) { binding = env2_20; binding.warn('Unable to get width and height of media file: ' + a0, error); return object2; } if (value13) { return value12; } return value12; } return value6; } r7 = r8; if (r7) { try { height = value6.height; } catch (error) { binding = env2_20; binding.warn('Unable to get width and height of media file: ' + a0, error); return object2; } if (height === 0) { try { binding = env2_6; } catch (error) { binding = env2_20; binding.warn('Unable to get width and height of media file: ' + a0, error); return object2; } try { DCDFileManager = binding.DCDFileManager; } catch (error) { binding = env2_20; binding.warn('Unable to get width and height of media file: ' + a0, error); return object2; } try { getVideoDimensions = DCDFileManager.getVideoDimensions; } catch (error) { binding = env2_20; binding.warn('Unable to get width and height of media file: ' + a0, error); return object2; } try { value11 = Reflect.apply(getVideoDimensions, DCDFileManager, [a0]); } catch (error) { binding = env2_20; binding.warn('Unable to get width and height of media file: ' + a0, error); return object2; } yield value11; try { value12 = undefined; value13 = false; } catch (error) { binding = env2_20; binding.warn('Unable to get width and height of media file: ' + a0, error); return object2; } if (value13) { return value12; } return value12; } return value6; } if (r7) { try { binding = env2_6; } catch (error) { binding = env2_20; binding.warn('Unable to get width and height of media file: ' + a0, error); return object2; } try { DCDFileManager = binding.DCDFileManager; } catch (error) { binding = env2_20; binding.warn('Unable to get width and height of media file: ' + a0, error); return object2; } try { getVideoDimensions = DCDFileManager.getVideoDimensions; } catch (error) { binding = env2_20; binding.warn('Unable to get width and height of media file: ' + a0, error); return object2; } try { value11 = Reflect.apply(getVideoDimensions, DCDFileManager, [a0]); } catch (error) { binding = env2_20; binding.warn('Unable to get width and height of media file: ' + a0, error); return object2; } yield value11; try { value12 = undefined; value13 = false; } catch (error) { binding = env2_20; binding.warn('Unable to get width and height of media file: ' + a0, error); return object2; } if (value13) { return value12; } return value12; } return value6; } r8 = isIOS2; if (r8) { try { width = value6.width; } catch (error) { binding = env2_20; binding.warn('Unable to get width and height of media file: ' + a0, error); return object2; } r7 = width === 0; if (r7) { try { height = value6.height; } catch (error) { binding = env2_20; binding.warn('Unable to get width and height of media file: ' + a0, error); return object2; } if (height === 0) { try { binding = env2_6; } catch (error) { binding = env2_20; binding.warn('Unable to get width and height of media file: ' + a0, error); return object2; } try { DCDFileManager = binding.DCDFileManager; } catch (error) { binding = env2_20; binding.warn('Unable to get width and height of media file: ' + a0, error); return object2; } try { getVideoDimensions = DCDFileManager.getVideoDimensions; } catch (error) { binding = env2_20; binding.warn('Unable to get width and height of media file: ' + a0, error); return object2; } try { value11 = Reflect.apply(getVideoDimensions, DCDFileManager, [a0]); } catch (error) { binding = env2_20; binding.warn('Unable to get width and height of media file: ' + a0, error); return object2; } yield value11; try { value12 = undefined; value13 = false; } catch (error) { binding = env2_20; binding.warn('Unable to get width and height of media file: ' + a0, error); return object2; } if (value13) { return value12; } return value12; } return value6; } if (r7) { try { binding = env2_6; } catch (error) { binding = env2_20; binding.warn('Unable to get width and height of media file: ' + a0, error); return object2; } try { DCDFileManager = binding.DCDFileManager; } catch (error) { binding = env2_20; binding.warn('Unable to get width and height of media file: ' + a0, error); return object2; } try { getVideoDimensions = DCDFileManager.getVideoDimensions; } catch (error) { binding = env2_20; binding.warn('Unable to get width and height of media file: ' + a0, error); return object2; } try { value11 = Reflect.apply(getVideoDimensions, DCDFileManager, [a0]); } catch (error) { binding = env2_20; binding.warn('Unable to get width and height of media file: ' + a0, error); return object2; } yield value11; try { value12 = undefined; value13 = false; } catch (error) { binding = env2_20; binding.warn('Unable to get width and height of media file: ' + a0, error); return object2; } if (value13) { return value12; } return value12; } return value6; } r7 = r8; if (r7) { try { height = value6.height; } catch (error) { binding = env2_20; binding.warn('Unable to get width and height of media file: ' + a0, error); return object2; } if (height === 0) { try { binding = env2_6; } catch (error) { binding = env2_20; binding.warn('Unable to get width and height of media file: ' + a0, error); return object2; } try { DCDFileManager = binding.DCDFileManager; } catch (error) { binding = env2_20; binding.warn('Unable to get width and height of media file: ' + a0, error); return object2; } try { getVideoDimensions = DCDFileManager.getVideoDimensions; } catch (error) { binding = env2_20; binding.warn('Unable to get width and height of media file: ' + a0, error); return object2; } try { value11 = Reflect.apply(getVideoDimensions, DCDFileManager, [a0]); } catch (error) { binding = env2_20; binding.warn('Unable to get width and height of media file: ' + a0, error); return object2; } yield value11; try { value12 = undefined; value13 = false; } catch (error) { binding = env2_20; binding.warn('Unable to get width and height of media file: ' + a0, error); return object2; } if (value13) { return value12; } return value12; } return value6; } if (r7) { try { binding = env2_6; } catch (error) { binding = env2_20; binding.warn('Unable to get width and height of media file: ' + a0, error); return object2; } try { DCDFileManager = binding.DCDFileManager; } catch (error) { binding = env2_20; binding.warn('Unable to get width and height of media file: ' + a0, error); return object2; } try { getVideoDimensions = DCDFileManager.getVideoDimensions; } catch (error) { binding = env2_20; binding.warn('Unable to get width and height of media file: ' + a0, error); return object2; } try { value11 = Reflect.apply(getVideoDimensions, DCDFileManager, [a0]); } catch (error) { binding = env2_20; binding.warn('Unable to get width and height of media file: ' + a0, error); return object2; } yield value11; try { value12 = undefined; value13 = false; } catch (error) { binding = env2_20; binding.warn('Unable to get width and height of media file: ' + a0, error); return object2; } if (value13) { return value12; } return value12; } return value6; } isVideo = file.isVideo; if (isVideo) { try { } catch (error) { binding = env2_20; binding.warn('Unable to get width and height of media file: ' + a0, error); return object2; } try { closure = function(a0) { var env0_0 = a0; var Promise = global.Promise; var value = Object.create(Promise.prototype, {constructor: {value: Promise}}); var value2 = new Promise(_fun40342); return value2 instanceof Object ? value2 : value; }; } catch (error) { binding = env2_20; binding.warn('Unable to get width and height of media file: ' + a0, error); return object2; } try { value5 = closure(a0); } catch (error) { binding = env2_20; binding.warn('Unable to get width and height of media file: ' + a0, error); return object2; } yield value5; try { value6 = undefined; value7 = false; } catch (error) { binding = env2_20; binding.warn('Unable to get width and height of media file: ' + a0, error); return object2; } if (value7) { return value6; } try { binding = env2_0; } catch (error) { binding = env2_20; binding.warn('Unable to get width and height of media file: ' + a0, error); return object2; } try { binding2 = env2_2; } catch (error) { binding = env2_20; binding.warn('Unable to get width and height of media file: ' + a0, error); return object2; } try { property = binding2[13]; } catch (error) { binding = env2_20; binding.warn('Unable to get width and height of media file: ' + a0, error); return object2; } try { value8 = binding(property); } catch (error) { binding = env2_20; binding.warn('Unable to get width and height of media file: ' + a0, error); return object2; } try { isIOS = value8.isIOS; } catch (error) { binding = env2_20; binding.warn('Unable to get width and height of media file: ' + a0, error); return object2; } try { isIOS2 = Reflect.apply(isIOS, value8, []); } catch (error) { binding = env2_20; binding.warn('Unable to get width and height of media file: ' + a0, error); return object2; } if (isIOS2) { try { isVideo = file.isVideo; r8 = isVideo; } catch (error) { binding = env2_20; binding.warn('Unable to get width and height of media file: ' + a0, error); return object2; } if (r8) { try { width = value6.width; } catch (error) { binding = env2_20; binding.warn('Unable to get width and height of media file: ' + a0, error); return object2; } r7 = width === 0; if (r7) { try { height = value6.height; } catch (error) { binding = env2_20; binding.warn('Unable to get width and height of media file: ' + a0, error); return object2; } if (height === 0) { try { binding = env2_6; } catch (error) { binding = env2_20; binding.warn('Unable to get width and height of media file: ' + a0, error); return object2; } try { DCDFileManager = binding.DCDFileManager; } catch (error) { binding = env2_20; binding.warn('Unable to get width and height of media file: ' + a0, error); return object2; } try { getVideoDimensions = DCDFileManager.getVideoDimensions; } catch (error) { binding = env2_20; binding.warn('Unable to get width and height of media file: ' + a0, error); return object2; } try { value11 = Reflect.apply(getVideoDimensions, DCDFileManager, [a0]); } catch (error) { binding = env2_20; binding.warn('Unable to get width and height of media file: ' + a0, error); return object2; } yield value11; try { value12 = undefined; value13 = false; } catch (error) { binding = env2_20; binding.warn('Unable to get width and height of media file: ' + a0, error); return object2; } if (value13) { return value12; } return value12; } return value6; } if (r7) { try { binding = env2_6; } catch (error) { binding = env2_20; binding.warn('Unable to get width and height of media file: ' + a0, error); return object2; } try { DCDFileManager = binding.DCDFileManager; } catch (error) { binding = env2_20; binding.warn('Unable to get width and height of media file: ' + a0, error); return object2; } try { getVideoDimensions = DCDFileManager.getVideoDimensions; } catch (error) { binding = env2_20; binding.warn('Unable to get width and height of media file: ' + a0, error); return object2; } try { value11 = Reflect.apply(getVideoDimensions, DCDFileManager, [a0]); } catch (error) { binding = env2_20; binding.warn('Unable to get width and height of media file: ' + a0, error); return object2; } yield value11; try { value12 = undefined; value13 = false; } catch (error) { binding = env2_20; binding.warn('Unable to get width and height of media file: ' + a0, error); return object2; } if (value13) { return value12; } return value12; } return value6; } r7 = r8; if (r7) { try { height = value6.height; } catch (error) { binding = env2_20; binding.warn('Unable to get width and height of media file: ' + a0, error); return object2; } if (height === 0) { try { binding = env2_6; } catch (error) { binding = env2_20; binding.warn('Unable to get width and height of media file: ' + a0, error); return object2; } try { DCDFileManager = binding.DCDFileManager; } catch (error) { binding = env2_20; binding.warn('Unable to get width and height of media file: ' + a0, error); return object2; } try { getVideoDimensions = DCDFileManager.getVideoDimensions; } catch (error) { binding = env2_20; binding.warn('Unable to get width and height of media file: ' + a0, error); return object2; } try { value11 = Reflect.apply(getVideoDimensions, DCDFileManager, [a0]); } catch (error) { binding = env2_20; binding.warn('Unable to get width and height of media file: ' + a0, error); return object2; } yield value11; try { value12 = undefined; value13 = false; } catch (error) { binding = env2_20; binding.warn('Unable to get width and height of media file: ' + a0, error); return object2; } if (value13) { return value12; } return value12; } return value6; } if (r7) { try { binding = env2_6; } catch (error) { binding = env2_20; binding.warn('Unable to get width and height of media file: ' + a0, error); return object2; } try { DCDFileManager = binding.DCDFileManager; } catch (error) { binding = env2_20; binding.warn('Unable to get width and height of media file: ' + a0, error); return object2; } try { getVideoDimensions = DCDFileManager.getVideoDimensions; } catch (error) { binding = env2_20; binding.warn('Unable to get width and height of media file: ' + a0, error); return object2; } try { value11 = Reflect.apply(getVideoDimensions, DCDFileManager, [a0]); } catch (error) { binding = env2_20; binding.warn('Unable to get width and height of media file: ' + a0, error); return object2; } yield value11; try { value12 = undefined; value13 = false; } catch (error) { binding = env2_20; binding.warn('Unable to get width and height of media file: ' + a0, error); return object2; } if (value13) { return value12; } return value12; } return value6; } r8 = isIOS2; if (r8) { try { width = value6.width; } catch (error) { binding = env2_20; binding.warn('Unable to get width and height of media file: ' + a0, error); return object2; } r7 = width === 0; if (r7) { try { height = value6.height; } catch (error) { binding = env2_20; binding.warn('Unable to get width and height of media file: ' + a0, error); return object2; } if (height === 0) { try { binding = env2_6; } catch (error) { binding = env2_20; binding.warn('Unable to get width and height of media file: ' + a0, error); return object2; } try { DCDFileManager = binding.DCDFileManager; } catch (error) { binding = env2_20; binding.warn('Unable to get width and height of media file: ' + a0, error); return object2; } try { getVideoDimensions = DCDFileManager.getVideoDimensions; } catch (error) { binding = env2_20; binding.warn('Unable to get width and height of media file: ' + a0, error); return object2; } try { value11 = Reflect.apply(getVideoDimensions, DCDFileManager, [a0]); } catch (error) { binding = env2_20; binding.warn('Unable to get width and height of media file: ' + a0, error); return object2; } yield value11; try { value12 = undefined; value13 = false; } catch (error) { binding = env2_20; binding.warn('Unable to get width and height of media file: ' + a0, error); return object2; } if (value13) { return value12; } return value12; } return value6; } if (r7) { try { binding = env2_6; } catch (error) { binding = env2_20; binding.warn('Unable to get width and height of media file: ' + a0, error); return object2; } try { DCDFileManager = binding.DCDFileManager; } catch (error) { binding = env2_20; binding.warn('Unable to get width and height of media file: ' + a0, error); return object2; } try { getVideoDimensions = DCDFileManager.getVideoDimensions; } catch (error) { binding = env2_20; binding.warn('Unable to get width and height of media file: ' + a0, error); return object2; } try { value11 = Reflect.apply(getVideoDimensions, DCDFileManager, [a0]); } catch (error) { binding = env2_20; binding.warn('Unable to get width and height of media file: ' + a0, error); return object2; } yield value11; try { value12 = undefined; value13 = false; } catch (error) { binding = env2_20; binding.warn('Unable to get width and height of media file: ' + a0, error); return object2; } if (value13) { return value12; } return value12; } return value6; } r7 = r8; if (r7) { try { height = value6.height; } catch (error) { binding = env2_20; binding.warn('Unable to get width and height of media file: ' + a0, error); return object2; } if (height === 0) { try { binding = env2_6; } catch (error) { binding = env2_20; binding.warn('Unable to get width and height of media file: ' + a0, error); return object2; } try { DCDFileManager = binding.DCDFileManager; } catch (error) { binding = env2_20; binding.warn('Unable to get width and height of media file: ' + a0, error); return object2; } try { getVideoDimensions = DCDFileManager.getVideoDimensions; } catch (error) { binding = env2_20; binding.warn('Unable to get width and height of media file: ' + a0, error); return object2; } try { value11 = Reflect.apply(getVideoDimensions, DCDFileManager, [a0]); } catch (error) { binding = env2_20; binding.warn('Unable to get width and height of media file: ' + a0, error); return object2; } yield value11; try { value12 = undefined; value13 = false; } catch (error) { binding = env2_20; binding.warn('Unable to get width and height of media file: ' + a0, error); return object2; } if (value13) { return value12; } return value12; } return value6; } if (r7) { try { binding = env2_6; } catch (error) { binding = env2_20; binding.warn('Unable to get width and height of media file: ' + a0, error); return object2; } try { DCDFileManager = binding.DCDFileManager; } catch (error) { binding = env2_20; binding.warn('Unable to get width and height of media file: ' + a0, error); return object2; } try { getVideoDimensions = DCDFileManager.getVideoDimensions; } catch (error) { binding = env2_20; binding.warn('Unable to get width and height of media file: ' + a0, error); return object2; } try { value11 = Reflect.apply(getVideoDimensions, DCDFileManager, [a0]); } catch (error) { binding = env2_20; binding.warn('Unable to get width and height of media file: ' + a0, error); return object2; } yield value11; try { value12 = undefined; value13 = false; } catch (error) { binding = env2_20; binding.warn('Unable to get width and height of media file: ' + a0, error); return object2; } if (value13) { return value12; } return value12; } return value6; } } return object2; } function* _fun40347() { // fn#40347, original name: ?anon_0_, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:4838:18358, offset: 0x010fe46b, size: 80 bytes, params: 1, frame: 14 var binding; var MediaManager; var isHEVCEncodingSupported; var isHEVCEncodingSupported2; var value3; var value4; var error; if (false) { return undefined; } value = environment.__proto__.__proto__; try { binding = env2_6; } catch (error) { binding = env2_20; binding.warn('Error checking HEVC support:', error); return false; } try { MediaManager = binding.MediaManager; } catch (error) { binding = env2_20; binding.warn('Error checking HEVC support:', error); return false; } try { isHEVCEncodingSupported = MediaManager.isHEVCEncodingSupported; } catch (error) { binding = env2_20; binding.warn('Error checking HEVC support:', error); return false; } try { isHEVCEncodingSupported2 = Reflect.apply(isHEVCEncodingSupported, MediaManager, []); } catch (error) { binding = env2_20; binding.warn('Error checking HEVC support:', error); return false; } yield isHEVCEncodingSupported2; try { value3 = undefined; value4 = false; } catch (error) { binding = env2_20; binding.warn('Error checking HEVC support:', error); return false; } return value4 ? value3 : value3; } function* _fun40351(a0) { // fn#40351, original name: ?anon_0_, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:4838:18684, offset: 0x010fe512, size: 142 bytes, params: 2, frame: 15 var binding; var MediaManager; var isVideoEncodingSupported; var object2; var targetWidth; var targetHeight; var frameRate; var useHEVC; var isVideoEncodingSupported2; var value3; var value4; var error; if (false) { return undefined; } value = environment.__proto__.__proto__; try { binding = env2_6; } catch (error) { binding = env2_20; binding.warn('Error checking video encoding support:', error); return {isSupported: true}; } try { MediaManager = binding.MediaManager; } catch (error) { binding = env2_20; binding.warn('Error checking video encoding support:', error); return {isSupported: true}; } try { isVideoEncodingSupported = MediaManager.isVideoEncodingSupported; } catch (error) { binding = env2_20; binding.warn('Error checking video encoding support:', error); return {isSupported: true}; } try { object2 = {}; } catch (error) { binding = env2_20; binding.warn('Error checking video encoding support:', error); return {isSupported: true}; } try { targetWidth = a0.targetWidth; } catch (error) { binding = env2_20; binding.warn('Error checking video encoding support:', error); return {isSupported: true}; } try { object2.width = targetWidth; } catch (error) { binding = env2_20; binding.warn('Error checking video encoding support:', error); return {isSupported: true}; } try { targetHeight = a0.targetHeight; } catch (error) { binding = env2_20; binding.warn('Error checking video encoding support:', error); return {isSupported: true}; } try { object2.height = targetHeight; } catch (error) { binding = env2_20; binding.warn('Error checking video encoding support:', error); return {isSupported: true}; } try { frameRate = a0.frameRate; } catch (error) { binding = env2_20; binding.warn('Error checking video encoding support:', error); return {isSupported: true}; } try { object2.frameRate = frameRate; } catch (error) { binding = env2_20; binding.warn('Error checking video encoding support:', error); return {isSupported: true}; } try { useHEVC = a0.useHEVC; } catch (error) { binding = env2_20; binding.warn('Error checking video encoding support:', error); return {isSupported: true}; } try { object2.isHEVC = useHEVC; } catch (error) { binding = env2_20; binding.warn('Error checking video encoding support:', error); return {isSupported: true}; } try { isVideoEncodingSupported2 = Reflect.apply(isVideoEncodingSupported, MediaManager, [object2]); } catch (error) { binding = env2_20; binding.warn('Error checking video encoding support:', error); return {isSupported: true}; } yield isVideoEncodingSupported2; try { value3 = undefined; value4 = false; } catch (error) { binding = env2_20; binding.warn('Error checking video encoding support:', error); return {isSupported: true}; } return value4 ? value3 : value3; } function* _fun40355(a0, a1, a2, a3, a4) { // fn#40355, original name: ?anon_0_, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:4838:19138, offset: 0x010fe5f7, size: 513 bytes, params: 6, frame: 22 var r6; var r2; var value3; var binding; var binding2; var property; var value4; var NativeModules; var MediaManager; var getMediaOrigin; var value5; var value6; var value7; var source; var error; var value8; var binding3; var value9; var includes; var value10; var value11; var value12; var startsWith; var value13; var concat; var calculateImageQualityMetrics; var value14; var psnr; var ssim; var psnrCalculationTimeMs; var ssimCalculationTimeMs; var log; if (false) { return undefined; } value = a1; const object2 = {}; if (a4) { value3 = environment.__proto__.__proto__; try { binding = env2_0; } catch (error) { binding = env2_20; binding.warn('Failed to detect media origin', error); if (a3) { value8 = environment.__proto__.__proto__; try { binding = env2_0; } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { binding3 = env2_2; } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { property = binding3[2]; } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { value9 = binding(property); } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { NativeModules = value9.NativeModules; } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { MediaManager = NativeModules.MediaManager; } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { includes = value.includes; } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { value10 = Reflect.apply(includes, value, ['://']); } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } if (value10) { r2 = value; try { calculateImageQualityMetrics = MediaManager.calculateImageQualityMetrics; } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { value = Reflect.apply(calculateImageQualityMetrics, MediaManager, [a0, r2]); } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } yield value; try { value = undefined; value14 = false; } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } if (value14) { return value; } try { psnr = value.psnr; } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { object2.psnr = psnr; } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { ssim = value.ssim; } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { object2.ssim = ssim; } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { psnrCalculationTimeMs = value.psnrCalculationTimeMs; } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { object2.psnrMeasurementLatencyMs = psnrCalculationTimeMs; } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { ssimCalculationTimeMs = value.ssimCalculationTimeMs; } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { object2.ssimMeasurementLatencyMs = ssimCalculationTimeMs; } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { binding = env2_20; } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { log = binding.log; } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { psnr = value.psnr; } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { ssim = value.ssim; } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { value = Reflect.apply(concat, 'Quality metrics calculated: PSNR=', [psnr, 'dB, SSIM=', ssim]); } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { Reflect.apply(log, binding, [value]); } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); } return object2; } try { includes = value.includes; } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { value11 = Reflect.apply(includes, value, ['/']); } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } if (value11) { try { } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { value = Reflect.apply(concat, 'file://', [value]); r6 = value; } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } r2 = r6; try { calculateImageQualityMetrics = MediaManager.calculateImageQualityMetrics; } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { value = Reflect.apply(calculateImageQualityMetrics, MediaManager, [a0, r2]); } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } yield value; try { value = undefined; value14 = false; } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } if (value14) { return value; } try { psnr = value.psnr; } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { object2.psnr = psnr; } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { ssim = value.ssim; } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { object2.ssim = ssim; } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { psnrCalculationTimeMs = value.psnrCalculationTimeMs; } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { object2.psnrMeasurementLatencyMs = psnrCalculationTimeMs; } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { ssimCalculationTimeMs = value.ssimCalculationTimeMs; } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { object2.ssimMeasurementLatencyMs = ssimCalculationTimeMs; } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { binding = env2_20; } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { log = binding.log; } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { psnr = value.psnr; } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { ssim = value.ssim; } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { value = Reflect.apply(concat, 'Quality metrics calculated: PSNR=', [psnr, 'dB, SSIM=', ssim]); } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { Reflect.apply(log, binding, [value]); } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); } return object2; } try { includes = value.includes; } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { value12 = Reflect.apply(includes, value, ['\\']); } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } if (value12) { try { } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { value = Reflect.apply(concat, 'file://', [value]); r6 = value; } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } r2 = r6; try { calculateImageQualityMetrics = MediaManager.calculateImageQualityMetrics; } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { value = Reflect.apply(calculateImageQualityMetrics, MediaManager, [a0, r2]); } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } yield value; try { value = undefined; value14 = false; } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } if (value14) { return value; } try { psnr = value.psnr; } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { object2.psnr = psnr; } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { ssim = value.ssim; } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { object2.ssim = ssim; } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { psnrCalculationTimeMs = value.psnrCalculationTimeMs; } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { object2.psnrMeasurementLatencyMs = psnrCalculationTimeMs; } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { ssimCalculationTimeMs = value.ssimCalculationTimeMs; } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { object2.ssimMeasurementLatencyMs = ssimCalculationTimeMs; } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { binding = env2_20; } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { log = binding.log; } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { psnr = value.psnr; } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { ssim = value.ssim; } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { value = Reflect.apply(concat, 'Quality metrics calculated: PSNR=', [psnr, 'dB, SSIM=', ssim]); } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { Reflect.apply(log, binding, [value]); } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); } return object2; } try { startsWith = a0.startsWith; } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { value13 = Reflect.apply(startsWith, a0, ['ph://']); } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } if (value13) { try { value = Reflect.apply(concat, 'ph://', [value]); r6 = value; } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } r2 = r6; try { calculateImageQualityMetrics = MediaManager.calculateImageQualityMetrics; } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { value = Reflect.apply(calculateImageQualityMetrics, MediaManager, [a0, r2]); } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } yield value; try { value = undefined; value14 = false; } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } if (value14) { return value; } try { psnr = value.psnr; } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { object2.psnr = psnr; } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { ssim = value.ssim; } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { object2.ssim = ssim; } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { psnrCalculationTimeMs = value.psnrCalculationTimeMs; } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { object2.psnrMeasurementLatencyMs = psnrCalculationTimeMs; } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { ssimCalculationTimeMs = value.ssimCalculationTimeMs; } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { object2.ssimMeasurementLatencyMs = ssimCalculationTimeMs; } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { binding = env2_20; } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { log = binding.log; } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { psnr = value.psnr; } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { ssim = value.ssim; } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { value = Reflect.apply(concat, 'Quality metrics calculated: PSNR=', [psnr, 'dB, SSIM=', ssim]); } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { Reflect.apply(log, binding, [value]); } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); } return object2; } try { value = Reflect.apply(concat, 'file://', [value]); r6 = value; } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } r2 = r6; try { calculateImageQualityMetrics = MediaManager.calculateImageQualityMetrics; } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { value = Reflect.apply(calculateImageQualityMetrics, MediaManager, [a0, r2]); } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } yield value; try { value = undefined; value14 = false; } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } if (value14) { return value; } try { psnr = value.psnr; } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { object2.psnr = psnr; } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { ssim = value.ssim; } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { object2.ssim = ssim; } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { psnrCalculationTimeMs = value.psnrCalculationTimeMs; } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { object2.psnrMeasurementLatencyMs = psnrCalculationTimeMs; } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { ssimCalculationTimeMs = value.ssimCalculationTimeMs; } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { object2.ssimMeasurementLatencyMs = ssimCalculationTimeMs; } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { binding = env2_20; } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { log = binding.log; } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { psnr = value.psnr; } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { ssim = value.ssim; } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { value = Reflect.apply(concat, 'Quality metrics calculated: PSNR=', [psnr, 'dB, SSIM=', ssim]); } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { Reflect.apply(log, binding, [value]); } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); } return object2; } return object2; } try { binding2 = env2_2; } catch (error) { binding = env2_20; binding.warn('Failed to detect media origin', error); if (a3) { value8 = environment.__proto__.__proto__; try { binding = env2_0; } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { binding3 = env2_2; } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { property = binding3[2]; } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { value9 = binding(property); } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { NativeModules = value9.NativeModules; } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { MediaManager = NativeModules.MediaManager; } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { includes = value.includes; } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { value10 = Reflect.apply(includes, value, ['://']); } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } if (value10) { r2 = value; try { calculateImageQualityMetrics = MediaManager.calculateImageQualityMetrics; } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { value = Reflect.apply(calculateImageQualityMetrics, MediaManager, [a0, r2]); } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } yield value; try { value = undefined; value14 = false; } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } if (value14) { return value; } try { psnr = value.psnr; } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { object2.psnr = psnr; } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { ssim = value.ssim; } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { object2.ssim = ssim; } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { psnrCalculationTimeMs = value.psnrCalculationTimeMs; } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { object2.psnrMeasurementLatencyMs = psnrCalculationTimeMs; } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { ssimCalculationTimeMs = value.ssimCalculationTimeMs; } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { object2.ssimMeasurementLatencyMs = ssimCalculationTimeMs; } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { binding = env2_20; } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { log = binding.log; } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { psnr = value.psnr; } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { ssim = value.ssim; } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { value = Reflect.apply(concat, 'Quality metrics calculated: PSNR=', [psnr, 'dB, SSIM=', ssim]); } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { Reflect.apply(log, binding, [value]); } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); } return object2; } try { includes = value.includes; } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { value11 = Reflect.apply(includes, value, ['/']); } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } if (value11) { try { } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { value = Reflect.apply(concat, 'file://', [value]); r6 = value; } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } r2 = r6; try { calculateImageQualityMetrics = MediaManager.calculateImageQualityMetrics; } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { value = Reflect.apply(calculateImageQualityMetrics, MediaManager, [a0, r2]); } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } yield value; try { value = undefined; value14 = false; } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } if (value14) { return value; } try { psnr = value.psnr; } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { object2.psnr = psnr; } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { ssim = value.ssim; } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { object2.ssim = ssim; } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { psnrCalculationTimeMs = value.psnrCalculationTimeMs; } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { object2.psnrMeasurementLatencyMs = psnrCalculationTimeMs; } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { ssimCalculationTimeMs = value.ssimCalculationTimeMs; } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { object2.ssimMeasurementLatencyMs = ssimCalculationTimeMs; } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { binding = env2_20; } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { log = binding.log; } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { psnr = value.psnr; } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { ssim = value.ssim; } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { value = Reflect.apply(concat, 'Quality metrics calculated: PSNR=', [psnr, 'dB, SSIM=', ssim]); } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { Reflect.apply(log, binding, [value]); } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); } return object2; } try { includes = value.includes; } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { value12 = Reflect.apply(includes, value, ['\\']); } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } if (value12) { try { } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { value = Reflect.apply(concat, 'file://', [value]); r6 = value; } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } r2 = r6; try { calculateImageQualityMetrics = MediaManager.calculateImageQualityMetrics; } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { value = Reflect.apply(calculateImageQualityMetrics, MediaManager, [a0, r2]); } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } yield value; try { value = undefined; value14 = false; } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } if (value14) { return value; } try { psnr = value.psnr; } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { object2.psnr = psnr; } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { ssim = value.ssim; } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { object2.ssim = ssim; } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { psnrCalculationTimeMs = value.psnrCalculationTimeMs; } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { object2.psnrMeasurementLatencyMs = psnrCalculationTimeMs; } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { ssimCalculationTimeMs = value.ssimCalculationTimeMs; } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { object2.ssimMeasurementLatencyMs = ssimCalculationTimeMs; } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { binding = env2_20; } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { log = binding.log; } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { psnr = value.psnr; } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { ssim = value.ssim; } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { value = Reflect.apply(concat, 'Quality metrics calculated: PSNR=', [psnr, 'dB, SSIM=', ssim]); } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { Reflect.apply(log, binding, [value]); } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); } return object2; } try { startsWith = a0.startsWith; } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { value13 = Reflect.apply(startsWith, a0, ['ph://']); } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } if (value13) { try { value = Reflect.apply(concat, 'ph://', [value]); r6 = value; } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } r2 = r6; try { calculateImageQualityMetrics = MediaManager.calculateImageQualityMetrics; } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { value = Reflect.apply(calculateImageQualityMetrics, MediaManager, [a0, r2]); } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } yield value; try { value = undefined; value14 = false; } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } if (value14) { return value; } try { psnr = value.psnr; } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { object2.psnr = psnr; } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { ssim = value.ssim; } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { object2.ssim = ssim; } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { psnrCalculationTimeMs = value.psnrCalculationTimeMs; } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { object2.psnrMeasurementLatencyMs = psnrCalculationTimeMs; } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { ssimCalculationTimeMs = value.ssimCalculationTimeMs; } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { object2.ssimMeasurementLatencyMs = ssimCalculationTimeMs; } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { binding = env2_20; } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { log = binding.log; } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { psnr = value.psnr; } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { ssim = value.ssim; } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { value = Reflect.apply(concat, 'Quality metrics calculated: PSNR=', [psnr, 'dB, SSIM=', ssim]); } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { Reflect.apply(log, binding, [value]); } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); } return object2; } try { value = Reflect.apply(concat, 'file://', [value]); r6 = value; } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } r2 = r6; try { calculateImageQualityMetrics = MediaManager.calculateImageQualityMetrics; } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { value = Reflect.apply(calculateImageQualityMetrics, MediaManager, [a0, r2]); } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } yield value; try { value = undefined; value14 = false; } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } if (value14) { return value; } try { psnr = value.psnr; } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { object2.psnr = psnr; } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { ssim = value.ssim; } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { object2.ssim = ssim; } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { psnrCalculationTimeMs = value.psnrCalculationTimeMs; } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { object2.psnrMeasurementLatencyMs = psnrCalculationTimeMs; } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { ssimCalculationTimeMs = value.ssimCalculationTimeMs; } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { object2.ssimMeasurementLatencyMs = ssimCalculationTimeMs; } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { binding = env2_20; } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { log = binding.log; } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { psnr = value.psnr; } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { ssim = value.ssim; } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { value = Reflect.apply(concat, 'Quality metrics calculated: PSNR=', [psnr, 'dB, SSIM=', ssim]); } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { Reflect.apply(log, binding, [value]); } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); } return object2; } return object2; } try { property = binding2[2]; } catch (error) { binding = env2_20; binding.warn('Failed to detect media origin', error); if (a3) { value8 = environment.__proto__.__proto__; try { binding = env2_0; } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { binding3 = env2_2; } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { property = binding3[2]; } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { value9 = binding(property); } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { NativeModules = value9.NativeModules; } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { MediaManager = NativeModules.MediaManager; } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { includes = value.includes; } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { value10 = Reflect.apply(includes, value, ['://']); } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } if (value10) { r2 = value; try { calculateImageQualityMetrics = MediaManager.calculateImageQualityMetrics; } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { value = Reflect.apply(calculateImageQualityMetrics, MediaManager, [a0, r2]); } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } yield value; try { value = undefined; value14 = false; } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } if (value14) { return value; } try { psnr = value.psnr; } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { object2.psnr = psnr; } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { ssim = value.ssim; } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { object2.ssim = ssim; } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { psnrCalculationTimeMs = value.psnrCalculationTimeMs; } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { object2.psnrMeasurementLatencyMs = psnrCalculationTimeMs; } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { ssimCalculationTimeMs = value.ssimCalculationTimeMs; } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { object2.ssimMeasurementLatencyMs = ssimCalculationTimeMs; } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { binding = env2_20; } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { log = binding.log; } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { psnr = value.psnr; } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { ssim = value.ssim; } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { value = Reflect.apply(concat, 'Quality metrics calculated: PSNR=', [psnr, 'dB, SSIM=', ssim]); } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { Reflect.apply(log, binding, [value]); } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); } return object2; } try { includes = value.includes; } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { value11 = Reflect.apply(includes, value, ['/']); } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } if (value11) { try { } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { value = Reflect.apply(concat, 'file://', [value]); r6 = value; } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } r2 = r6; try { calculateImageQualityMetrics = MediaManager.calculateImageQualityMetrics; } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { value = Reflect.apply(calculateImageQualityMetrics, MediaManager, [a0, r2]); } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } yield value; try { value = undefined; value14 = false; } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } if (value14) { return value; } try { psnr = value.psnr; } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { object2.psnr = psnr; } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { ssim = value.ssim; } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { object2.ssim = ssim; } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { psnrCalculationTimeMs = value.psnrCalculationTimeMs; } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { object2.psnrMeasurementLatencyMs = psnrCalculationTimeMs; } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { ssimCalculationTimeMs = value.ssimCalculationTimeMs; } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { object2.ssimMeasurementLatencyMs = ssimCalculationTimeMs; } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { binding = env2_20; } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { log = binding.log; } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { psnr = value.psnr; } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { ssim = value.ssim; } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { value = Reflect.apply(concat, 'Quality metrics calculated: PSNR=', [psnr, 'dB, SSIM=', ssim]); } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { Reflect.apply(log, binding, [value]); } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); } return object2; } try { includes = value.includes; } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { value12 = Reflect.apply(includes, value, ['\\']); } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } if (value12) { try { } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { value = Reflect.apply(concat, 'file://', [value]); r6 = value; } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } r2 = r6; try { calculateImageQualityMetrics = MediaManager.calculateImageQualityMetrics; } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { value = Reflect.apply(calculateImageQualityMetrics, MediaManager, [a0, r2]); } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } yield value; try { value = undefined; value14 = false; } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } if (value14) { return value; } try { psnr = value.psnr; } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { object2.psnr = psnr; } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { ssim = value.ssim; } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { object2.ssim = ssim; } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { psnrCalculationTimeMs = value.psnrCalculationTimeMs; } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { object2.psnrMeasurementLatencyMs = psnrCalculationTimeMs; } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { ssimCalculationTimeMs = value.ssimCalculationTimeMs; } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { object2.ssimMeasurementLatencyMs = ssimCalculationTimeMs; } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { binding = env2_20; } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { log = binding.log; } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { psnr = value.psnr; } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { ssim = value.ssim; } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { value = Reflect.apply(concat, 'Quality metrics calculated: PSNR=', [psnr, 'dB, SSIM=', ssim]); } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { Reflect.apply(log, binding, [value]); } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); } return object2; } try { startsWith = a0.startsWith; } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { value13 = Reflect.apply(startsWith, a0, ['ph://']); } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } if (value13) { try { value = Reflect.apply(concat, 'ph://', [value]); r6 = value; } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } r2 = r6; try { calculateImageQualityMetrics = MediaManager.calculateImageQualityMetrics; } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { value = Reflect.apply(calculateImageQualityMetrics, MediaManager, [a0, r2]); } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } yield value; try { value = undefined; value14 = false; } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } if (value14) { return value; } try { psnr = value.psnr; } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { object2.psnr = psnr; } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { ssim = value.ssim; } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { object2.ssim = ssim; } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { psnrCalculationTimeMs = value.psnrCalculationTimeMs; } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { object2.psnrMeasurementLatencyMs = psnrCalculationTimeMs; } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { ssimCalculationTimeMs = value.ssimCalculationTimeMs; } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { object2.ssimMeasurementLatencyMs = ssimCalculationTimeMs; } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { binding = env2_20; } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { log = binding.log; } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { psnr = value.psnr; } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { ssim = value.ssim; } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { value = Reflect.apply(concat, 'Quality metrics calculated: PSNR=', [psnr, 'dB, SSIM=', ssim]); } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { Reflect.apply(log, binding, [value]); } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); } return object2; } try { value = Reflect.apply(concat, 'file://', [value]); r6 = value; } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } r2 = r6; try { calculateImageQualityMetrics = MediaManager.calculateImageQualityMetrics; } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { value = Reflect.apply(calculateImageQualityMetrics, MediaManager, [a0, r2]); } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } yield value; try { value = undefined; value14 = false; } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } if (value14) { return value; } try { psnr = value.psnr; } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { object2.psnr = psnr; } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { ssim = value.ssim; } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { object2.ssim = ssim; } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { psnrCalculationTimeMs = value.psnrCalculationTimeMs; } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { object2.psnrMeasurementLatencyMs = psnrCalculationTimeMs; } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { ssimCalculationTimeMs = value.ssimCalculationTimeMs; } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { object2.ssimMeasurementLatencyMs = ssimCalculationTimeMs; } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { binding = env2_20; } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { log = binding.log; } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { psnr = value.psnr; } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { ssim = value.ssim; } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { value = Reflect.apply(concat, 'Quality metrics calculated: PSNR=', [psnr, 'dB, SSIM=', ssim]); } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { Reflect.apply(log, binding, [value]); } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); } return object2; } return object2; } try { value4 = binding(property); } catch (error) { binding = env2_20; binding.warn('Failed to detect media origin', error); if (a3) { value8 = environment.__proto__.__proto__; try { binding = env2_0; } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { binding3 = env2_2; } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { property = binding3[2]; } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { value9 = binding(property); } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { NativeModules = value9.NativeModules; } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { MediaManager = NativeModules.MediaManager; } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { includes = value.includes; } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { value10 = Reflect.apply(includes, value, ['://']); } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } if (value10) { r2 = value; try { calculateImageQualityMetrics = MediaManager.calculateImageQualityMetrics; } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { value = Reflect.apply(calculateImageQualityMetrics, MediaManager, [a0, r2]); } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } yield value; try { value = undefined; value14 = false; } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } if (value14) { return value; } try { psnr = value.psnr; } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { object2.psnr = psnr; } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { ssim = value.ssim; } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { object2.ssim = ssim; } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { psnrCalculationTimeMs = value.psnrCalculationTimeMs; } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { object2.psnrMeasurementLatencyMs = psnrCalculationTimeMs; } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { ssimCalculationTimeMs = value.ssimCalculationTimeMs; } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { object2.ssimMeasurementLatencyMs = ssimCalculationTimeMs; } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { binding = env2_20; } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { log = binding.log; } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { psnr = value.psnr; } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { ssim = value.ssim; } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { value = Reflect.apply(concat, 'Quality metrics calculated: PSNR=', [psnr, 'dB, SSIM=', ssim]); } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { Reflect.apply(log, binding, [value]); } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); } return object2; } try { includes = value.includes; } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { value11 = Reflect.apply(includes, value, ['/']); } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } if (value11) { try { } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { value = Reflect.apply(concat, 'file://', [value]); r6 = value; } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } r2 = r6; try { calculateImageQualityMetrics = MediaManager.calculateImageQualityMetrics; } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { value = Reflect.apply(calculateImageQualityMetrics, MediaManager, [a0, r2]); } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } yield value; try { value = undefined; value14 = false; } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } if (value14) { return value; } try { psnr = value.psnr; } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { object2.psnr = psnr; } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { ssim = value.ssim; } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { object2.ssim = ssim; } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { psnrCalculationTimeMs = value.psnrCalculationTimeMs; } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { object2.psnrMeasurementLatencyMs = psnrCalculationTimeMs; } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { ssimCalculationTimeMs = value.ssimCalculationTimeMs; } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { object2.ssimMeasurementLatencyMs = ssimCalculationTimeMs; } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { binding = env2_20; } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { log = binding.log; } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { psnr = value.psnr; } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { ssim = value.ssim; } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { value = Reflect.apply(concat, 'Quality metrics calculated: PSNR=', [psnr, 'dB, SSIM=', ssim]); } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { Reflect.apply(log, binding, [value]); } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); } return object2; } try { includes = value.includes; } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { value12 = Reflect.apply(includes, value, ['\\']); } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } if (value12) { try { } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { value = Reflect.apply(concat, 'file://', [value]); r6 = value; } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } r2 = r6; try { calculateImageQualityMetrics = MediaManager.calculateImageQualityMetrics; } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { value = Reflect.apply(calculateImageQualityMetrics, MediaManager, [a0, r2]); } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } yield value; try { value = undefined; value14 = false; } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } if (value14) { return value; } try { psnr = value.psnr; } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { object2.psnr = psnr; } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { ssim = value.ssim; } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { object2.ssim = ssim; } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { psnrCalculationTimeMs = value.psnrCalculationTimeMs; } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { object2.psnrMeasurementLatencyMs = psnrCalculationTimeMs; } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { ssimCalculationTimeMs = value.ssimCalculationTimeMs; } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { object2.ssimMeasurementLatencyMs = ssimCalculationTimeMs; } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { binding = env2_20; } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { log = binding.log; } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { psnr = value.psnr; } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { ssim = value.ssim; } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { value = Reflect.apply(concat, 'Quality metrics calculated: PSNR=', [psnr, 'dB, SSIM=', ssim]); } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { Reflect.apply(log, binding, [value]); } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); } return object2; } try { startsWith = a0.startsWith; } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { value13 = Reflect.apply(startsWith, a0, ['ph://']); } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } if (value13) { try { value = Reflect.apply(concat, 'ph://', [value]); r6 = value; } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } r2 = r6; try { calculateImageQualityMetrics = MediaManager.calculateImageQualityMetrics; } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { value = Reflect.apply(calculateImageQualityMetrics, MediaManager, [a0, r2]); } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } yield value; try { value = undefined; value14 = false; } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } if (value14) { return value; } try { psnr = value.psnr; } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { object2.psnr = psnr; } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { ssim = value.ssim; } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { object2.ssim = ssim; } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { psnrCalculationTimeMs = value.psnrCalculationTimeMs; } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { object2.psnrMeasurementLatencyMs = psnrCalculationTimeMs; } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { ssimCalculationTimeMs = value.ssimCalculationTimeMs; } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { object2.ssimMeasurementLatencyMs = ssimCalculationTimeMs; } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { binding = env2_20; } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { log = binding.log; } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { psnr = value.psnr; } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { ssim = value.ssim; } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { value = Reflect.apply(concat, 'Quality metrics calculated: PSNR=', [psnr, 'dB, SSIM=', ssim]); } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { Reflect.apply(log, binding, [value]); } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); } return object2; } try { value = Reflect.apply(concat, 'file://', [value]); r6 = value; } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } r2 = r6; try { calculateImageQualityMetrics = MediaManager.calculateImageQualityMetrics; } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { value = Reflect.apply(calculateImageQualityMetrics, MediaManager, [a0, r2]); } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } yield value; try { value = undefined; value14 = false; } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } if (value14) { return value; } try { psnr = value.psnr; } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { object2.psnr = psnr; } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { ssim = value.ssim; } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { object2.ssim = ssim; } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { psnrCalculationTimeMs = value.psnrCalculationTimeMs; } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { object2.psnrMeasurementLatencyMs = psnrCalculationTimeMs; } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { ssimCalculationTimeMs = value.ssimCalculationTimeMs; } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { object2.ssimMeasurementLatencyMs = ssimCalculationTimeMs; } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { binding = env2_20; } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { log = binding.log; } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { psnr = value.psnr; } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { ssim = value.ssim; } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { value = Reflect.apply(concat, 'Quality metrics calculated: PSNR=', [psnr, 'dB, SSIM=', ssim]); } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { Reflect.apply(log, binding, [value]); } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); } return object2; } return object2; } try { NativeModules = value4.NativeModules; } catch (error) { binding = env2_20; binding.warn('Failed to detect media origin', error); if (a3) { value8 = environment.__proto__.__proto__; try { binding = env2_0; } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { binding3 = env2_2; } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { property = binding3[2]; } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { value9 = binding(property); } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { NativeModules = value9.NativeModules; } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { MediaManager = NativeModules.MediaManager; } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { includes = value.includes; } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { value10 = Reflect.apply(includes, value, ['://']); } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } if (value10) { r2 = value; try { calculateImageQualityMetrics = MediaManager.calculateImageQualityMetrics; } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { value = Reflect.apply(calculateImageQualityMetrics, MediaManager, [a0, r2]); } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } yield value; try { value = undefined; value14 = false; } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } if (value14) { return value; } try { psnr = value.psnr; } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { object2.psnr = psnr; } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { ssim = value.ssim; } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { object2.ssim = ssim; } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { psnrCalculationTimeMs = value.psnrCalculationTimeMs; } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { object2.psnrMeasurementLatencyMs = psnrCalculationTimeMs; } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { ssimCalculationTimeMs = value.ssimCalculationTimeMs; } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { object2.ssimMeasurementLatencyMs = ssimCalculationTimeMs; } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { binding = env2_20; } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { log = binding.log; } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { psnr = value.psnr; } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { ssim = value.ssim; } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { value = Reflect.apply(concat, 'Quality metrics calculated: PSNR=', [psnr, 'dB, SSIM=', ssim]); } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { Reflect.apply(log, binding, [value]); } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); } return object2; } try { includes = value.includes; } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { value11 = Reflect.apply(includes, value, ['/']); } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } if (value11) { try { } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { value = Reflect.apply(concat, 'file://', [value]); r6 = value; } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } r2 = r6; try { calculateImageQualityMetrics = MediaManager.calculateImageQualityMetrics; } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { value = Reflect.apply(calculateImageQualityMetrics, MediaManager, [a0, r2]); } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } yield value; try { value = undefined; value14 = false; } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } if (value14) { return value; } try { psnr = value.psnr; } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { object2.psnr = psnr; } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { ssim = value.ssim; } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { object2.ssim = ssim; } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { psnrCalculationTimeMs = value.psnrCalculationTimeMs; } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { object2.psnrMeasurementLatencyMs = psnrCalculationTimeMs; } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { ssimCalculationTimeMs = value.ssimCalculationTimeMs; } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { object2.ssimMeasurementLatencyMs = ssimCalculationTimeMs; } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { binding = env2_20; } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { log = binding.log; } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { psnr = value.psnr; } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { ssim = value.ssim; } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { value = Reflect.apply(concat, 'Quality metrics calculated: PSNR=', [psnr, 'dB, SSIM=', ssim]); } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { Reflect.apply(log, binding, [value]); } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); } return object2; } try { includes = value.includes; } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { value12 = Reflect.apply(includes, value, ['\\']); } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } if (value12) { try { } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { value = Reflect.apply(concat, 'file://', [value]); r6 = value; } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } r2 = r6; try { calculateImageQualityMetrics = MediaManager.calculateImageQualityMetrics; } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { value = Reflect.apply(calculateImageQualityMetrics, MediaManager, [a0, r2]); } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } yield value; try { value = undefined; value14 = false; } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } if (value14) { return value; } try { psnr = value.psnr; } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { object2.psnr = psnr; } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { ssim = value.ssim; } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { object2.ssim = ssim; } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { psnrCalculationTimeMs = value.psnrCalculationTimeMs; } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { object2.psnrMeasurementLatencyMs = psnrCalculationTimeMs; } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { ssimCalculationTimeMs = value.ssimCalculationTimeMs; } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { object2.ssimMeasurementLatencyMs = ssimCalculationTimeMs; } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { binding = env2_20; } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { log = binding.log; } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { psnr = value.psnr; } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { ssim = value.ssim; } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { value = Reflect.apply(concat, 'Quality metrics calculated: PSNR=', [psnr, 'dB, SSIM=', ssim]); } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { Reflect.apply(log, binding, [value]); } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); } return object2; } try { startsWith = a0.startsWith; } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { value13 = Reflect.apply(startsWith, a0, ['ph://']); } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } if (value13) { try { value = Reflect.apply(concat, 'ph://', [value]); r6 = value; } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } r2 = r6; try { calculateImageQualityMetrics = MediaManager.calculateImageQualityMetrics; } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { value = Reflect.apply(calculateImageQualityMetrics, MediaManager, [a0, r2]); } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } yield value; try { value = undefined; value14 = false; } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } if (value14) { return value; } try { psnr = value.psnr; } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { object2.psnr = psnr; } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { ssim = value.ssim; } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { object2.ssim = ssim; } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { psnrCalculationTimeMs = value.psnrCalculationTimeMs; } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { object2.psnrMeasurementLatencyMs = psnrCalculationTimeMs; } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { ssimCalculationTimeMs = value.ssimCalculationTimeMs; } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { object2.ssimMeasurementLatencyMs = ssimCalculationTimeMs; } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { binding = env2_20; } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { log = binding.log; } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { psnr = value.psnr; } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { ssim = value.ssim; } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { value = Reflect.apply(concat, 'Quality metrics calculated: PSNR=', [psnr, 'dB, SSIM=', ssim]); } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { Reflect.apply(log, binding, [value]); } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); } return object2; } try { value = Reflect.apply(concat, 'file://', [value]); r6 = value; } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } r2 = r6; try { calculateImageQualityMetrics = MediaManager.calculateImageQualityMetrics; } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { value = Reflect.apply(calculateImageQualityMetrics, MediaManager, [a0, r2]); } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } yield value; try { value = undefined; value14 = false; } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } if (value14) { return value; } try { psnr = value.psnr; } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { object2.psnr = psnr; } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { ssim = value.ssim; } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { object2.ssim = ssim; } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { psnrCalculationTimeMs = value.psnrCalculationTimeMs; } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { object2.psnrMeasurementLatencyMs = psnrCalculationTimeMs; } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { ssimCalculationTimeMs = value.ssimCalculationTimeMs; } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { object2.ssimMeasurementLatencyMs = ssimCalculationTimeMs; } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { binding = env2_20; } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { log = binding.log; } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { psnr = value.psnr; } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { ssim = value.ssim; } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { value = Reflect.apply(concat, 'Quality metrics calculated: PSNR=', [psnr, 'dB, SSIM=', ssim]); } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { Reflect.apply(log, binding, [value]); } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); } return object2; } return object2; } try { MediaManager = NativeModules.MediaManager; } catch (error) { binding = env2_20; binding.warn('Failed to detect media origin', error); if (a3) { value8 = environment.__proto__.__proto__; try { binding = env2_0; } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { binding3 = env2_2; } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { property = binding3[2]; } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { value9 = binding(property); } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { NativeModules = value9.NativeModules; } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { MediaManager = NativeModules.MediaManager; } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { includes = value.includes; } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { value10 = Reflect.apply(includes, value, ['://']); } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } if (value10) { r2 = value; try { calculateImageQualityMetrics = MediaManager.calculateImageQualityMetrics; } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { value = Reflect.apply(calculateImageQualityMetrics, MediaManager, [a0, r2]); } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } yield value; try { value = undefined; value14 = false; } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } if (value14) { return value; } try { psnr = value.psnr; } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { object2.psnr = psnr; } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { ssim = value.ssim; } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { object2.ssim = ssim; } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { psnrCalculationTimeMs = value.psnrCalculationTimeMs; } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { object2.psnrMeasurementLatencyMs = psnrCalculationTimeMs; } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { ssimCalculationTimeMs = value.ssimCalculationTimeMs; } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { object2.ssimMeasurementLatencyMs = ssimCalculationTimeMs; } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { binding = env2_20; } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { log = binding.log; } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { psnr = value.psnr; } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { ssim = value.ssim; } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { value = Reflect.apply(concat, 'Quality metrics calculated: PSNR=', [psnr, 'dB, SSIM=', ssim]); } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { Reflect.apply(log, binding, [value]); } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); } return object2; } try { includes = value.includes; } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { value11 = Reflect.apply(includes, value, ['/']); } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } if (value11) { try { } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { value = Reflect.apply(concat, 'file://', [value]); r6 = value; } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } r2 = r6; try { calculateImageQualityMetrics = MediaManager.calculateImageQualityMetrics; } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { value = Reflect.apply(calculateImageQualityMetrics, MediaManager, [a0, r2]); } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } yield value; try { value = undefined; value14 = false; } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } if (value14) { return value; } try { psnr = value.psnr; } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { object2.psnr = psnr; } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { ssim = value.ssim; } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { object2.ssim = ssim; } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { psnrCalculationTimeMs = value.psnrCalculationTimeMs; } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { object2.psnrMeasurementLatencyMs = psnrCalculationTimeMs; } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { ssimCalculationTimeMs = value.ssimCalculationTimeMs; } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { object2.ssimMeasurementLatencyMs = ssimCalculationTimeMs; } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { binding = env2_20; } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { log = binding.log; } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { psnr = value.psnr; } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { ssim = value.ssim; } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { value = Reflect.apply(concat, 'Quality metrics calculated: PSNR=', [psnr, 'dB, SSIM=', ssim]); } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { Reflect.apply(log, binding, [value]); } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); } return object2; } try { includes = value.includes; } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { value12 = Reflect.apply(includes, value, ['\\']); } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } if (value12) { try { } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { value = Reflect.apply(concat, 'file://', [value]); r6 = value; } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } r2 = r6; try { calculateImageQualityMetrics = MediaManager.calculateImageQualityMetrics; } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { value = Reflect.apply(calculateImageQualityMetrics, MediaManager, [a0, r2]); } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } yield value; try { value = undefined; value14 = false; } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } if (value14) { return value; } try { psnr = value.psnr; } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { object2.psnr = psnr; } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { ssim = value.ssim; } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { object2.ssim = ssim; } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { psnrCalculationTimeMs = value.psnrCalculationTimeMs; } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { object2.psnrMeasurementLatencyMs = psnrCalculationTimeMs; } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { ssimCalculationTimeMs = value.ssimCalculationTimeMs; } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { object2.ssimMeasurementLatencyMs = ssimCalculationTimeMs; } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { binding = env2_20; } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { log = binding.log; } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { psnr = value.psnr; } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { ssim = value.ssim; } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { value = Reflect.apply(concat, 'Quality metrics calculated: PSNR=', [psnr, 'dB, SSIM=', ssim]); } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { Reflect.apply(log, binding, [value]); } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); } return object2; } try { startsWith = a0.startsWith; } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { value13 = Reflect.apply(startsWith, a0, ['ph://']); } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } if (value13) { try { value = Reflect.apply(concat, 'ph://', [value]); r6 = value; } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } r2 = r6; try { calculateImageQualityMetrics = MediaManager.calculateImageQualityMetrics; } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { value = Reflect.apply(calculateImageQualityMetrics, MediaManager, [a0, r2]); } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } yield value; try { value = undefined; value14 = false; } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } if (value14) { return value; } try { psnr = value.psnr; } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { object2.psnr = psnr; } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { ssim = value.ssim; } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { object2.ssim = ssim; } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { psnrCalculationTimeMs = value.psnrCalculationTimeMs; } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { object2.psnrMeasurementLatencyMs = psnrCalculationTimeMs; } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { ssimCalculationTimeMs = value.ssimCalculationTimeMs; } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { object2.ssimMeasurementLatencyMs = ssimCalculationTimeMs; } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { binding = env2_20; } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { log = binding.log; } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { psnr = value.psnr; } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { ssim = value.ssim; } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { value = Reflect.apply(concat, 'Quality metrics calculated: PSNR=', [psnr, 'dB, SSIM=', ssim]); } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { Reflect.apply(log, binding, [value]); } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); } return object2; } try { value = Reflect.apply(concat, 'file://', [value]); r6 = value; } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } r2 = r6; try { calculateImageQualityMetrics = MediaManager.calculateImageQualityMetrics; } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { value = Reflect.apply(calculateImageQualityMetrics, MediaManager, [a0, r2]); } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } yield value; try { value = undefined; value14 = false; } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } if (value14) { return value; } try { psnr = value.psnr; } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { object2.psnr = psnr; } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { ssim = value.ssim; } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { object2.ssim = ssim; } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { psnrCalculationTimeMs = value.psnrCalculationTimeMs; } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { object2.psnrMeasurementLatencyMs = psnrCalculationTimeMs; } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { ssimCalculationTimeMs = value.ssimCalculationTimeMs; } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { object2.ssimMeasurementLatencyMs = ssimCalculationTimeMs; } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { binding = env2_20; } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { log = binding.log; } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { psnr = value.psnr; } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { ssim = value.ssim; } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { value = Reflect.apply(concat, 'Quality metrics calculated: PSNR=', [psnr, 'dB, SSIM=', ssim]); } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { Reflect.apply(log, binding, [value]); } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); } return object2; } return object2; } try { getMediaOrigin = MediaManager.getMediaOrigin; } catch (error) { binding = env2_20; binding.warn('Failed to detect media origin', error); if (a3) { value8 = environment.__proto__.__proto__; try { binding = env2_0; } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { binding3 = env2_2; } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { property = binding3[2]; } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { value9 = binding(property); } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { NativeModules = value9.NativeModules; } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { MediaManager = NativeModules.MediaManager; } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { includes = value.includes; } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { value10 = Reflect.apply(includes, value, ['://']); } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } if (value10) { r2 = value; try { calculateImageQualityMetrics = MediaManager.calculateImageQualityMetrics; } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { value = Reflect.apply(calculateImageQualityMetrics, MediaManager, [a0, r2]); } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } yield value; try { value = undefined; value14 = false; } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } if (value14) { return value; } try { psnr = value.psnr; } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { object2.psnr = psnr; } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { ssim = value.ssim; } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { object2.ssim = ssim; } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { psnrCalculationTimeMs = value.psnrCalculationTimeMs; } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { object2.psnrMeasurementLatencyMs = psnrCalculationTimeMs; } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { ssimCalculationTimeMs = value.ssimCalculationTimeMs; } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { object2.ssimMeasurementLatencyMs = ssimCalculationTimeMs; } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { binding = env2_20; } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { log = binding.log; } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { psnr = value.psnr; } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { ssim = value.ssim; } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { value = Reflect.apply(concat, 'Quality metrics calculated: PSNR=', [psnr, 'dB, SSIM=', ssim]); } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { Reflect.apply(log, binding, [value]); } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); } return object2; } try { includes = value.includes; } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { value11 = Reflect.apply(includes, value, ['/']); } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } if (value11) { try { } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { value = Reflect.apply(concat, 'file://', [value]); r6 = value; } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } r2 = r6; try { calculateImageQualityMetrics = MediaManager.calculateImageQualityMetrics; } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { value = Reflect.apply(calculateImageQualityMetrics, MediaManager, [a0, r2]); } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } yield value; try { value = undefined; value14 = false; } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } if (value14) { return value; } try { psnr = value.psnr; } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { object2.psnr = psnr; } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { ssim = value.ssim; } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { object2.ssim = ssim; } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { psnrCalculationTimeMs = value.psnrCalculationTimeMs; } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { object2.psnrMeasurementLatencyMs = psnrCalculationTimeMs; } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { ssimCalculationTimeMs = value.ssimCalculationTimeMs; } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { object2.ssimMeasurementLatencyMs = ssimCalculationTimeMs; } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { binding = env2_20; } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { log = binding.log; } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { psnr = value.psnr; } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { ssim = value.ssim; } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { value = Reflect.apply(concat, 'Quality metrics calculated: PSNR=', [psnr, 'dB, SSIM=', ssim]); } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { Reflect.apply(log, binding, [value]); } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); } return object2; } try { includes = value.includes; } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { value12 = Reflect.apply(includes, value, ['\\']); } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } if (value12) { try { } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { value = Reflect.apply(concat, 'file://', [value]); r6 = value; } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } r2 = r6; try { calculateImageQualityMetrics = MediaManager.calculateImageQualityMetrics; } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { value = Reflect.apply(calculateImageQualityMetrics, MediaManager, [a0, r2]); } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } yield value; try { value = undefined; value14 = false; } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } if (value14) { return value; } try { psnr = value.psnr; } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { object2.psnr = psnr; } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { ssim = value.ssim; } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { object2.ssim = ssim; } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { psnrCalculationTimeMs = value.psnrCalculationTimeMs; } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { object2.psnrMeasurementLatencyMs = psnrCalculationTimeMs; } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { ssimCalculationTimeMs = value.ssimCalculationTimeMs; } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { object2.ssimMeasurementLatencyMs = ssimCalculationTimeMs; } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { binding = env2_20; } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { log = binding.log; } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { psnr = value.psnr; } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { ssim = value.ssim; } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { value = Reflect.apply(concat, 'Quality metrics calculated: PSNR=', [psnr, 'dB, SSIM=', ssim]); } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { Reflect.apply(log, binding, [value]); } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); } return object2; } try { startsWith = a0.startsWith; } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { value13 = Reflect.apply(startsWith, a0, ['ph://']); } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } if (value13) { try { value = Reflect.apply(concat, 'ph://', [value]); r6 = value; } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } r2 = r6; try { calculateImageQualityMetrics = MediaManager.calculateImageQualityMetrics; } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { value = Reflect.apply(calculateImageQualityMetrics, MediaManager, [a0, r2]); } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } yield value; try { value = undefined; value14 = false; } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } if (value14) { return value; } try { psnr = value.psnr; } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { object2.psnr = psnr; } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { ssim = value.ssim; } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { object2.ssim = ssim; } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { psnrCalculationTimeMs = value.psnrCalculationTimeMs; } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { object2.psnrMeasurementLatencyMs = psnrCalculationTimeMs; } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { ssimCalculationTimeMs = value.ssimCalculationTimeMs; } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { object2.ssimMeasurementLatencyMs = ssimCalculationTimeMs; } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { binding = env2_20; } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { log = binding.log; } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { psnr = value.psnr; } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { ssim = value.ssim; } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { value = Reflect.apply(concat, 'Quality metrics calculated: PSNR=', [psnr, 'dB, SSIM=', ssim]); } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { Reflect.apply(log, binding, [value]); } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); } return object2; } try { value = Reflect.apply(concat, 'file://', [value]); r6 = value; } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } r2 = r6; try { calculateImageQualityMetrics = MediaManager.calculateImageQualityMetrics; } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { value = Reflect.apply(calculateImageQualityMetrics, MediaManager, [a0, r2]); } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } yield value; try { value = undefined; value14 = false; } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } if (value14) { return value; } try { psnr = value.psnr; } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { object2.psnr = psnr; } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { ssim = value.ssim; } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { object2.ssim = ssim; } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { psnrCalculationTimeMs = value.psnrCalculationTimeMs; } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { object2.psnrMeasurementLatencyMs = psnrCalculationTimeMs; } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { ssimCalculationTimeMs = value.ssimCalculationTimeMs; } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { object2.ssimMeasurementLatencyMs = ssimCalculationTimeMs; } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { binding = env2_20; } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { log = binding.log; } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { psnr = value.psnr; } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { ssim = value.ssim; } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { value = Reflect.apply(concat, 'Quality metrics calculated: PSNR=', [psnr, 'dB, SSIM=', ssim]); } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { Reflect.apply(log, binding, [value]); } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); } return object2; } return object2; } try { value5 = Reflect.apply(getMediaOrigin, MediaManager, [a0]); } catch (error) { binding = env2_20; binding.warn('Failed to detect media origin', error); if (a3) { value8 = environment.__proto__.__proto__; try { binding = env2_0; } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { binding3 = env2_2; } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { property = binding3[2]; } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { value9 = binding(property); } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { NativeModules = value9.NativeModules; } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { MediaManager = NativeModules.MediaManager; } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { includes = value.includes; } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { value10 = Reflect.apply(includes, value, ['://']); } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } if (value10) { r2 = value; try { calculateImageQualityMetrics = MediaManager.calculateImageQualityMetrics; } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { value = Reflect.apply(calculateImageQualityMetrics, MediaManager, [a0, r2]); } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } yield value; try { value = undefined; value14 = false; } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } if (value14) { return value; } try { psnr = value.psnr; } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { object2.psnr = psnr; } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { ssim = value.ssim; } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { object2.ssim = ssim; } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { psnrCalculationTimeMs = value.psnrCalculationTimeMs; } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { object2.psnrMeasurementLatencyMs = psnrCalculationTimeMs; } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { ssimCalculationTimeMs = value.ssimCalculationTimeMs; } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { object2.ssimMeasurementLatencyMs = ssimCalculationTimeMs; } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { binding = env2_20; } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { log = binding.log; } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { psnr = value.psnr; } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { ssim = value.ssim; } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { value = Reflect.apply(concat, 'Quality metrics calculated: PSNR=', [psnr, 'dB, SSIM=', ssim]); } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { Reflect.apply(log, binding, [value]); } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); } return object2; } try { includes = value.includes; } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { value11 = Reflect.apply(includes, value, ['/']); } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } if (value11) { try { } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { value = Reflect.apply(concat, 'file://', [value]); r6 = value; } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } r2 = r6; try { calculateImageQualityMetrics = MediaManager.calculateImageQualityMetrics; } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { value = Reflect.apply(calculateImageQualityMetrics, MediaManager, [a0, r2]); } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } yield value; try { value = undefined; value14 = false; } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } if (value14) { return value; } try { psnr = value.psnr; } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { object2.psnr = psnr; } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { ssim = value.ssim; } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { object2.ssim = ssim; } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { psnrCalculationTimeMs = value.psnrCalculationTimeMs; } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { object2.psnrMeasurementLatencyMs = psnrCalculationTimeMs; } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { ssimCalculationTimeMs = value.ssimCalculationTimeMs; } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { object2.ssimMeasurementLatencyMs = ssimCalculationTimeMs; } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { binding = env2_20; } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { log = binding.log; } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { psnr = value.psnr; } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { ssim = value.ssim; } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { value = Reflect.apply(concat, 'Quality metrics calculated: PSNR=', [psnr, 'dB, SSIM=', ssim]); } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { Reflect.apply(log, binding, [value]); } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); } return object2; } try { includes = value.includes; } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { value12 = Reflect.apply(includes, value, ['\\']); } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } if (value12) { try { } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { value = Reflect.apply(concat, 'file://', [value]); r6 = value; } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } r2 = r6; try { calculateImageQualityMetrics = MediaManager.calculateImageQualityMetrics; } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { value = Reflect.apply(calculateImageQualityMetrics, MediaManager, [a0, r2]); } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } yield value; try { value = undefined; value14 = false; } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } if (value14) { return value; } try { psnr = value.psnr; } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { object2.psnr = psnr; } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { ssim = value.ssim; } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { object2.ssim = ssim; } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { psnrCalculationTimeMs = value.psnrCalculationTimeMs; } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { object2.psnrMeasurementLatencyMs = psnrCalculationTimeMs; } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { ssimCalculationTimeMs = value.ssimCalculationTimeMs; } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { object2.ssimMeasurementLatencyMs = ssimCalculationTimeMs; } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { binding = env2_20; } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { log = binding.log; } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { psnr = value.psnr; } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { ssim = value.ssim; } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { value = Reflect.apply(concat, 'Quality metrics calculated: PSNR=', [psnr, 'dB, SSIM=', ssim]); } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { Reflect.apply(log, binding, [value]); } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); } return object2; } try { startsWith = a0.startsWith; } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { value13 = Reflect.apply(startsWith, a0, ['ph://']); } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } if (value13) { try { value = Reflect.apply(concat, 'ph://', [value]); r6 = value; } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } r2 = r6; try { calculateImageQualityMetrics = MediaManager.calculateImageQualityMetrics; } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { value = Reflect.apply(calculateImageQualityMetrics, MediaManager, [a0, r2]); } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } yield value; try { value = undefined; value14 = false; } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } if (value14) { return value; } try { psnr = value.psnr; } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { object2.psnr = psnr; } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { ssim = value.ssim; } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { object2.ssim = ssim; } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { psnrCalculationTimeMs = value.psnrCalculationTimeMs; } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { object2.psnrMeasurementLatencyMs = psnrCalculationTimeMs; } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { ssimCalculationTimeMs = value.ssimCalculationTimeMs; } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { object2.ssimMeasurementLatencyMs = ssimCalculationTimeMs; } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { binding = env2_20; } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { log = binding.log; } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { psnr = value.psnr; } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { ssim = value.ssim; } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { value = Reflect.apply(concat, 'Quality metrics calculated: PSNR=', [psnr, 'dB, SSIM=', ssim]); } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { Reflect.apply(log, binding, [value]); } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); } return object2; } try { value = Reflect.apply(concat, 'file://', [value]); r6 = value; } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } r2 = r6; try { calculateImageQualityMetrics = MediaManager.calculateImageQualityMetrics; } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { value = Reflect.apply(calculateImageQualityMetrics, MediaManager, [a0, r2]); } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } yield value; try { value = undefined; value14 = false; } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } if (value14) { return value; } try { psnr = value.psnr; } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { object2.psnr = psnr; } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { ssim = value.ssim; } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { object2.ssim = ssim; } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { psnrCalculationTimeMs = value.psnrCalculationTimeMs; } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { object2.psnrMeasurementLatencyMs = psnrCalculationTimeMs; } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { ssimCalculationTimeMs = value.ssimCalculationTimeMs; } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { object2.ssimMeasurementLatencyMs = ssimCalculationTimeMs; } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { binding = env2_20; } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { log = binding.log; } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { psnr = value.psnr; } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { ssim = value.ssim; } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { value = Reflect.apply(concat, 'Quality metrics calculated: PSNR=', [psnr, 'dB, SSIM=', ssim]); } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { Reflect.apply(log, binding, [value]); } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); } return object2; } return object2; } yield value5; try { value6 = undefined; value7 = false; } catch (error) { binding = env2_20; binding.warn('Failed to detect media origin', error); if (a3) { value8 = environment.__proto__.__proto__; try { binding = env2_0; } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { binding3 = env2_2; } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { property = binding3[2]; } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { value9 = binding(property); } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { NativeModules = value9.NativeModules; } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { MediaManager = NativeModules.MediaManager; } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { includes = value.includes; } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { value10 = Reflect.apply(includes, value, ['://']); } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } if (value10) { r2 = value; try { calculateImageQualityMetrics = MediaManager.calculateImageQualityMetrics; } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { value = Reflect.apply(calculateImageQualityMetrics, MediaManager, [a0, r2]); } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } yield value; try { value = undefined; value14 = false; } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } if (value14) { return value; } try { psnr = value.psnr; } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { object2.psnr = psnr; } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { ssim = value.ssim; } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { object2.ssim = ssim; } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { psnrCalculationTimeMs = value.psnrCalculationTimeMs; } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { object2.psnrMeasurementLatencyMs = psnrCalculationTimeMs; } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { ssimCalculationTimeMs = value.ssimCalculationTimeMs; } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { object2.ssimMeasurementLatencyMs = ssimCalculationTimeMs; } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { binding = env2_20; } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { log = binding.log; } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { psnr = value.psnr; } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { ssim = value.ssim; } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { value = Reflect.apply(concat, 'Quality metrics calculated: PSNR=', [psnr, 'dB, SSIM=', ssim]); } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { Reflect.apply(log, binding, [value]); } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); } return object2; } try { includes = value.includes; } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { value11 = Reflect.apply(includes, value, ['/']); } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } if (value11) { try { } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { value = Reflect.apply(concat, 'file://', [value]); r6 = value; } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } r2 = r6; try { calculateImageQualityMetrics = MediaManager.calculateImageQualityMetrics; } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { value = Reflect.apply(calculateImageQualityMetrics, MediaManager, [a0, r2]); } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } yield value; try { value = undefined; value14 = false; } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } if (value14) { return value; } try { psnr = value.psnr; } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { object2.psnr = psnr; } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { ssim = value.ssim; } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { object2.ssim = ssim; } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { psnrCalculationTimeMs = value.psnrCalculationTimeMs; } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { object2.psnrMeasurementLatencyMs = psnrCalculationTimeMs; } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { ssimCalculationTimeMs = value.ssimCalculationTimeMs; } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { object2.ssimMeasurementLatencyMs = ssimCalculationTimeMs; } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { binding = env2_20; } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { log = binding.log; } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { psnr = value.psnr; } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { ssim = value.ssim; } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { value = Reflect.apply(concat, 'Quality metrics calculated: PSNR=', [psnr, 'dB, SSIM=', ssim]); } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { Reflect.apply(log, binding, [value]); } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); } return object2; } try { includes = value.includes; } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { value12 = Reflect.apply(includes, value, ['\\']); } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } if (value12) { try { } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { value = Reflect.apply(concat, 'file://', [value]); r6 = value; } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } r2 = r6; try { calculateImageQualityMetrics = MediaManager.calculateImageQualityMetrics; } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { value = Reflect.apply(calculateImageQualityMetrics, MediaManager, [a0, r2]); } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } yield value; try { value = undefined; value14 = false; } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } if (value14) { return value; } try { psnr = value.psnr; } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { object2.psnr = psnr; } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { ssim = value.ssim; } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { object2.ssim = ssim; } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { psnrCalculationTimeMs = value.psnrCalculationTimeMs; } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { object2.psnrMeasurementLatencyMs = psnrCalculationTimeMs; } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { ssimCalculationTimeMs = value.ssimCalculationTimeMs; } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { object2.ssimMeasurementLatencyMs = ssimCalculationTimeMs; } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { binding = env2_20; } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { log = binding.log; } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { psnr = value.psnr; } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { ssim = value.ssim; } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { value = Reflect.apply(concat, 'Quality metrics calculated: PSNR=', [psnr, 'dB, SSIM=', ssim]); } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { Reflect.apply(log, binding, [value]); } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); } return object2; } try { startsWith = a0.startsWith; } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { value13 = Reflect.apply(startsWith, a0, ['ph://']); } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } if (value13) { try { value = Reflect.apply(concat, 'ph://', [value]); r6 = value; } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } r2 = r6; try { calculateImageQualityMetrics = MediaManager.calculateImageQualityMetrics; } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { value = Reflect.apply(calculateImageQualityMetrics, MediaManager, [a0, r2]); } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } yield value; try { value = undefined; value14 = false; } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } if (value14) { return value; } try { psnr = value.psnr; } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { object2.psnr = psnr; } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { ssim = value.ssim; } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { object2.ssim = ssim; } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { psnrCalculationTimeMs = value.psnrCalculationTimeMs; } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { object2.psnrMeasurementLatencyMs = psnrCalculationTimeMs; } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { ssimCalculationTimeMs = value.ssimCalculationTimeMs; } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { object2.ssimMeasurementLatencyMs = ssimCalculationTimeMs; } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { binding = env2_20; } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { log = binding.log; } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { psnr = value.psnr; } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { ssim = value.ssim; } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { value = Reflect.apply(concat, 'Quality metrics calculated: PSNR=', [psnr, 'dB, SSIM=', ssim]); } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { Reflect.apply(log, binding, [value]); } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); } return object2; } try { value = Reflect.apply(concat, 'file://', [value]); r6 = value; } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } r2 = r6; try { calculateImageQualityMetrics = MediaManager.calculateImageQualityMetrics; } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { value = Reflect.apply(calculateImageQualityMetrics, MediaManager, [a0, r2]); } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } yield value; try { value = undefined; value14 = false; } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } if (value14) { return value; } try { psnr = value.psnr; } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { object2.psnr = psnr; } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { ssim = value.ssim; } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { object2.ssim = ssim; } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { psnrCalculationTimeMs = value.psnrCalculationTimeMs; } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { object2.psnrMeasurementLatencyMs = psnrCalculationTimeMs; } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { ssimCalculationTimeMs = value.ssimCalculationTimeMs; } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { object2.ssimMeasurementLatencyMs = ssimCalculationTimeMs; } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { binding = env2_20; } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { log = binding.log; } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { psnr = value.psnr; } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { ssim = value.ssim; } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { value = Reflect.apply(concat, 'Quality metrics calculated: PSNR=', [psnr, 'dB, SSIM=', ssim]); } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { Reflect.apply(log, binding, [value]); } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); } return object2; } return object2; } if (value7) { return value6; } try { source = value6.source; } catch (error) { binding = env2_20; binding.warn('Failed to detect media origin', error); if (a3) { value8 = environment.__proto__.__proto__; try { binding = env2_0; } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { binding3 = env2_2; } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { property = binding3[2]; } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { value9 = binding(property); } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { NativeModules = value9.NativeModules; } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { MediaManager = NativeModules.MediaManager; } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { includes = value.includes; } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { value10 = Reflect.apply(includes, value, ['://']); } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } if (value10) { r2 = value; try { calculateImageQualityMetrics = MediaManager.calculateImageQualityMetrics; } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { value = Reflect.apply(calculateImageQualityMetrics, MediaManager, [a0, r2]); } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } yield value; try { value = undefined; value14 = false; } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } if (value14) { return value; } try { psnr = value.psnr; } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { object2.psnr = psnr; } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { ssim = value.ssim; } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { object2.ssim = ssim; } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { psnrCalculationTimeMs = value.psnrCalculationTimeMs; } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { object2.psnrMeasurementLatencyMs = psnrCalculationTimeMs; } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { ssimCalculationTimeMs = value.ssimCalculationTimeMs; } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { object2.ssimMeasurementLatencyMs = ssimCalculationTimeMs; } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { binding = env2_20; } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { log = binding.log; } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { psnr = value.psnr; } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { ssim = value.ssim; } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { value = Reflect.apply(concat, 'Quality metrics calculated: PSNR=', [psnr, 'dB, SSIM=', ssim]); } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { Reflect.apply(log, binding, [value]); } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); } return object2; } try { includes = value.includes; } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { value11 = Reflect.apply(includes, value, ['/']); } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } if (value11) { try { } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { value = Reflect.apply(concat, 'file://', [value]); r6 = value; } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } r2 = r6; try { calculateImageQualityMetrics = MediaManager.calculateImageQualityMetrics; } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { value = Reflect.apply(calculateImageQualityMetrics, MediaManager, [a0, r2]); } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } yield value; try { value = undefined; value14 = false; } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } if (value14) { return value; } try { psnr = value.psnr; } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { object2.psnr = psnr; } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { ssim = value.ssim; } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { object2.ssim = ssim; } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { psnrCalculationTimeMs = value.psnrCalculationTimeMs; } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { object2.psnrMeasurementLatencyMs = psnrCalculationTimeMs; } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { ssimCalculationTimeMs = value.ssimCalculationTimeMs; } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { object2.ssimMeasurementLatencyMs = ssimCalculationTimeMs; } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { binding = env2_20; } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { log = binding.log; } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { psnr = value.psnr; } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { ssim = value.ssim; } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { value = Reflect.apply(concat, 'Quality metrics calculated: PSNR=', [psnr, 'dB, SSIM=', ssim]); } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { Reflect.apply(log, binding, [value]); } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); } return object2; } try { includes = value.includes; } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { value12 = Reflect.apply(includes, value, ['\\']); } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } if (value12) { try { } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { value = Reflect.apply(concat, 'file://', [value]); r6 = value; } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } r2 = r6; try { calculateImageQualityMetrics = MediaManager.calculateImageQualityMetrics; } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { value = Reflect.apply(calculateImageQualityMetrics, MediaManager, [a0, r2]); } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } yield value; try { value = undefined; value14 = false; } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } if (value14) { return value; } try { psnr = value.psnr; } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { object2.psnr = psnr; } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { ssim = value.ssim; } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { object2.ssim = ssim; } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { psnrCalculationTimeMs = value.psnrCalculationTimeMs; } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { object2.psnrMeasurementLatencyMs = psnrCalculationTimeMs; } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { ssimCalculationTimeMs = value.ssimCalculationTimeMs; } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { object2.ssimMeasurementLatencyMs = ssimCalculationTimeMs; } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { binding = env2_20; } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { log = binding.log; } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { psnr = value.psnr; } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { ssim = value.ssim; } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { value = Reflect.apply(concat, 'Quality metrics calculated: PSNR=', [psnr, 'dB, SSIM=', ssim]); } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { Reflect.apply(log, binding, [value]); } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); } return object2; } try { startsWith = a0.startsWith; } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { value13 = Reflect.apply(startsWith, a0, ['ph://']); } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } if (value13) { try { value = Reflect.apply(concat, 'ph://', [value]); r6 = value; } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } r2 = r6; try { calculateImageQualityMetrics = MediaManager.calculateImageQualityMetrics; } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { value = Reflect.apply(calculateImageQualityMetrics, MediaManager, [a0, r2]); } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } yield value; try { value = undefined; value14 = false; } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } if (value14) { return value; } try { psnr = value.psnr; } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { object2.psnr = psnr; } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { ssim = value.ssim; } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { object2.ssim = ssim; } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { psnrCalculationTimeMs = value.psnrCalculationTimeMs; } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { object2.psnrMeasurementLatencyMs = psnrCalculationTimeMs; } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { ssimCalculationTimeMs = value.ssimCalculationTimeMs; } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { object2.ssimMeasurementLatencyMs = ssimCalculationTimeMs; } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { binding = env2_20; } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { log = binding.log; } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { psnr = value.psnr; } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { ssim = value.ssim; } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { value = Reflect.apply(concat, 'Quality metrics calculated: PSNR=', [psnr, 'dB, SSIM=', ssim]); } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { Reflect.apply(log, binding, [value]); } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); } return object2; } try { value = Reflect.apply(concat, 'file://', [value]); r6 = value; } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } r2 = r6; try { calculateImageQualityMetrics = MediaManager.calculateImageQualityMetrics; } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { value = Reflect.apply(calculateImageQualityMetrics, MediaManager, [a0, r2]); } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } yield value; try { value = undefined; value14 = false; } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } if (value14) { return value; } try { psnr = value.psnr; } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { object2.psnr = psnr; } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { ssim = value.ssim; } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { object2.ssim = ssim; } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { psnrCalculationTimeMs = value.psnrCalculationTimeMs; } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { object2.psnrMeasurementLatencyMs = psnrCalculationTimeMs; } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { ssimCalculationTimeMs = value.ssimCalculationTimeMs; } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { object2.ssimMeasurementLatencyMs = ssimCalculationTimeMs; } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { binding = env2_20; } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { log = binding.log; } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { psnr = value.psnr; } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { ssim = value.ssim; } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { value = Reflect.apply(concat, 'Quality metrics calculated: PSNR=', [psnr, 'dB, SSIM=', ssim]); } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { Reflect.apply(log, binding, [value]); } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); } return object2; } return object2; } try { object2.origin = source; } catch (error) { binding = env2_20; binding.warn('Failed to detect media origin', error); } if (a3) { value8 = environment.__proto__.__proto__; try { binding = env2_0; } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { binding3 = env2_2; } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { property = binding3[2]; } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { value9 = binding(property); } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { NativeModules = value9.NativeModules; } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { MediaManager = NativeModules.MediaManager; } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { includes = value.includes; } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { value10 = Reflect.apply(includes, value, ['://']); } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } if (value10) { r2 = value; try { calculateImageQualityMetrics = MediaManager.calculateImageQualityMetrics; } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { value = Reflect.apply(calculateImageQualityMetrics, MediaManager, [a0, r2]); } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } yield value; try { value = undefined; value14 = false; } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } if (value14) { return value; } try { psnr = value.psnr; } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { object2.psnr = psnr; } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { ssim = value.ssim; } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { object2.ssim = ssim; } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { psnrCalculationTimeMs = value.psnrCalculationTimeMs; } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { object2.psnrMeasurementLatencyMs = psnrCalculationTimeMs; } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { ssimCalculationTimeMs = value.ssimCalculationTimeMs; } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { object2.ssimMeasurementLatencyMs = ssimCalculationTimeMs; } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { binding = env2_20; } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { log = binding.log; } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { psnr = value.psnr; } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { ssim = value.ssim; } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { value = Reflect.apply(concat, 'Quality metrics calculated: PSNR=', [psnr, 'dB, SSIM=', ssim]); } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { Reflect.apply(log, binding, [value]); } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); } return object2; } try { includes = value.includes; } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { value11 = Reflect.apply(includes, value, ['/']); } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } if (value11) { try { } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { value = Reflect.apply(concat, 'file://', [value]); r6 = value; } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } r2 = r6; try { calculateImageQualityMetrics = MediaManager.calculateImageQualityMetrics; } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { value = Reflect.apply(calculateImageQualityMetrics, MediaManager, [a0, r2]); } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } yield value; try { value = undefined; value14 = false; } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } if (value14) { return value; } try { psnr = value.psnr; } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { object2.psnr = psnr; } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { ssim = value.ssim; } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { object2.ssim = ssim; } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { psnrCalculationTimeMs = value.psnrCalculationTimeMs; } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { object2.psnrMeasurementLatencyMs = psnrCalculationTimeMs; } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { ssimCalculationTimeMs = value.ssimCalculationTimeMs; } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { object2.ssimMeasurementLatencyMs = ssimCalculationTimeMs; } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { binding = env2_20; } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { log = binding.log; } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { psnr = value.psnr; } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { ssim = value.ssim; } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { value = Reflect.apply(concat, 'Quality metrics calculated: PSNR=', [psnr, 'dB, SSIM=', ssim]); } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { Reflect.apply(log, binding, [value]); } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); } return object2; } try { includes = value.includes; } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { value12 = Reflect.apply(includes, value, ['\\']); } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } if (value12) { try { } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { value = Reflect.apply(concat, 'file://', [value]); r6 = value; } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } r2 = r6; try { calculateImageQualityMetrics = MediaManager.calculateImageQualityMetrics; } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { value = Reflect.apply(calculateImageQualityMetrics, MediaManager, [a0, r2]); } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } yield value; try { value = undefined; value14 = false; } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } if (value14) { return value; } try { psnr = value.psnr; } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { object2.psnr = psnr; } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { ssim = value.ssim; } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { object2.ssim = ssim; } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { psnrCalculationTimeMs = value.psnrCalculationTimeMs; } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { object2.psnrMeasurementLatencyMs = psnrCalculationTimeMs; } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { ssimCalculationTimeMs = value.ssimCalculationTimeMs; } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { object2.ssimMeasurementLatencyMs = ssimCalculationTimeMs; } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { binding = env2_20; } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { log = binding.log; } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { psnr = value.psnr; } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { ssim = value.ssim; } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { value = Reflect.apply(concat, 'Quality metrics calculated: PSNR=', [psnr, 'dB, SSIM=', ssim]); } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { Reflect.apply(log, binding, [value]); } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); } return object2; } try { startsWith = a0.startsWith; } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { value13 = Reflect.apply(startsWith, a0, ['ph://']); } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } if (value13) { try { value = Reflect.apply(concat, 'ph://', [value]); r6 = value; } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } r2 = r6; try { calculateImageQualityMetrics = MediaManager.calculateImageQualityMetrics; } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { value = Reflect.apply(calculateImageQualityMetrics, MediaManager, [a0, r2]); } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } yield value; try { value = undefined; value14 = false; } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } if (value14) { return value; } try { psnr = value.psnr; } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { object2.psnr = psnr; } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { ssim = value.ssim; } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { object2.ssim = ssim; } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { psnrCalculationTimeMs = value.psnrCalculationTimeMs; } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { object2.psnrMeasurementLatencyMs = psnrCalculationTimeMs; } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { ssimCalculationTimeMs = value.ssimCalculationTimeMs; } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { object2.ssimMeasurementLatencyMs = ssimCalculationTimeMs; } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { binding = env2_20; } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { log = binding.log; } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { psnr = value.psnr; } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { ssim = value.ssim; } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { value = Reflect.apply(concat, 'Quality metrics calculated: PSNR=', [psnr, 'dB, SSIM=', ssim]); } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { Reflect.apply(log, binding, [value]); } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); } return object2; } try { value = Reflect.apply(concat, 'file://', [value]); r6 = value; } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } r2 = r6; try { calculateImageQualityMetrics = MediaManager.calculateImageQualityMetrics; } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { value = Reflect.apply(calculateImageQualityMetrics, MediaManager, [a0, r2]); } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } yield value; try { value = undefined; value14 = false; } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } if (value14) { return value; } try { psnr = value.psnr; } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { object2.psnr = psnr; } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { ssim = value.ssim; } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { object2.ssim = ssim; } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { psnrCalculationTimeMs = value.psnrCalculationTimeMs; } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { object2.psnrMeasurementLatencyMs = psnrCalculationTimeMs; } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { ssimCalculationTimeMs = value.ssimCalculationTimeMs; } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { object2.ssimMeasurementLatencyMs = ssimCalculationTimeMs; } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { binding = env2_20; } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { log = binding.log; } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { psnr = value.psnr; } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { ssim = value.ssim; } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { value = Reflect.apply(concat, 'Quality metrics calculated: PSNR=', [psnr, 'dB, SSIM=', ssim]); } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { Reflect.apply(log, binding, [value]); } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); } return object2; } } else if (a3) { value8 = environment.__proto__.__proto__; try { binding = env2_0; } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { binding3 = env2_2; } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { property = binding3[2]; } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { value9 = binding(property); } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { NativeModules = value9.NativeModules; } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { MediaManager = NativeModules.MediaManager; } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { includes = value.includes; } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { value10 = Reflect.apply(includes, value, ['://']); } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } if (value10) { r2 = value; try { calculateImageQualityMetrics = MediaManager.calculateImageQualityMetrics; } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { value = Reflect.apply(calculateImageQualityMetrics, MediaManager, [a0, r2]); } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } yield value; try { value = undefined; value14 = false; } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } if (value14) { return value; } try { psnr = value.psnr; } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { object2.psnr = psnr; } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { ssim = value.ssim; } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { object2.ssim = ssim; } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { psnrCalculationTimeMs = value.psnrCalculationTimeMs; } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { object2.psnrMeasurementLatencyMs = psnrCalculationTimeMs; } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { ssimCalculationTimeMs = value.ssimCalculationTimeMs; } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { object2.ssimMeasurementLatencyMs = ssimCalculationTimeMs; } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { binding = env2_20; } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { log = binding.log; } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { psnr = value.psnr; } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { ssim = value.ssim; } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { value = Reflect.apply(concat, 'Quality metrics calculated: PSNR=', [psnr, 'dB, SSIM=', ssim]); } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { Reflect.apply(log, binding, [value]); } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); } return object2; } try { includes = value.includes; } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { value11 = Reflect.apply(includes, value, ['/']); } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } if (value11) { try { } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { value = Reflect.apply(concat, 'file://', [value]); r6 = value; } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } r2 = r6; try { calculateImageQualityMetrics = MediaManager.calculateImageQualityMetrics; } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { value = Reflect.apply(calculateImageQualityMetrics, MediaManager, [a0, r2]); } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } yield value; try { value = undefined; value14 = false; } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } if (value14) { return value; } try { psnr = value.psnr; } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { object2.psnr = psnr; } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { ssim = value.ssim; } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { object2.ssim = ssim; } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { psnrCalculationTimeMs = value.psnrCalculationTimeMs; } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { object2.psnrMeasurementLatencyMs = psnrCalculationTimeMs; } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { ssimCalculationTimeMs = value.ssimCalculationTimeMs; } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { object2.ssimMeasurementLatencyMs = ssimCalculationTimeMs; } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { binding = env2_20; } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { log = binding.log; } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { psnr = value.psnr; } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { ssim = value.ssim; } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { value = Reflect.apply(concat, 'Quality metrics calculated: PSNR=', [psnr, 'dB, SSIM=', ssim]); } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { Reflect.apply(log, binding, [value]); } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); } return object2; } try { includes = value.includes; } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { value12 = Reflect.apply(includes, value, ['\\']); } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } if (value12) { try { } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { value = Reflect.apply(concat, 'file://', [value]); r6 = value; } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } r2 = r6; try { calculateImageQualityMetrics = MediaManager.calculateImageQualityMetrics; } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { value = Reflect.apply(calculateImageQualityMetrics, MediaManager, [a0, r2]); } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } yield value; try { value = undefined; value14 = false; } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } if (value14) { return value; } try { psnr = value.psnr; } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { object2.psnr = psnr; } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { ssim = value.ssim; } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { object2.ssim = ssim; } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { psnrCalculationTimeMs = value.psnrCalculationTimeMs; } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { object2.psnrMeasurementLatencyMs = psnrCalculationTimeMs; } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { ssimCalculationTimeMs = value.ssimCalculationTimeMs; } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { object2.ssimMeasurementLatencyMs = ssimCalculationTimeMs; } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { binding = env2_20; } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { log = binding.log; } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { psnr = value.psnr; } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { ssim = value.ssim; } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { value = Reflect.apply(concat, 'Quality metrics calculated: PSNR=', [psnr, 'dB, SSIM=', ssim]); } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { Reflect.apply(log, binding, [value]); } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); } return object2; } try { startsWith = a0.startsWith; } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { value13 = Reflect.apply(startsWith, a0, ['ph://']); } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } if (value13) { try { value = Reflect.apply(concat, 'ph://', [value]); r6 = value; } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } r2 = r6; try { calculateImageQualityMetrics = MediaManager.calculateImageQualityMetrics; } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { value = Reflect.apply(calculateImageQualityMetrics, MediaManager, [a0, r2]); } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } yield value; try { value = undefined; value14 = false; } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } if (value14) { return value; } try { psnr = value.psnr; } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { object2.psnr = psnr; } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { ssim = value.ssim; } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { object2.ssim = ssim; } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { psnrCalculationTimeMs = value.psnrCalculationTimeMs; } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { object2.psnrMeasurementLatencyMs = psnrCalculationTimeMs; } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { ssimCalculationTimeMs = value.ssimCalculationTimeMs; } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { object2.ssimMeasurementLatencyMs = ssimCalculationTimeMs; } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { binding = env2_20; } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { log = binding.log; } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { psnr = value.psnr; } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { ssim = value.ssim; } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { value = Reflect.apply(concat, 'Quality metrics calculated: PSNR=', [psnr, 'dB, SSIM=', ssim]); } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { Reflect.apply(log, binding, [value]); } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); } return object2; } try { value = Reflect.apply(concat, 'file://', [value]); r6 = value; } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } r2 = r6; try { calculateImageQualityMetrics = MediaManager.calculateImageQualityMetrics; } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { value = Reflect.apply(calculateImageQualityMetrics, MediaManager, [a0, r2]); } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } yield value; try { value = undefined; value14 = false; } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } if (value14) { return value; } try { psnr = value.psnr; } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { object2.psnr = psnr; } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { ssim = value.ssim; } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { object2.ssim = ssim; } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { psnrCalculationTimeMs = value.psnrCalculationTimeMs; } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { object2.psnrMeasurementLatencyMs = psnrCalculationTimeMs; } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { ssimCalculationTimeMs = value.ssimCalculationTimeMs; } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { object2.ssimMeasurementLatencyMs = ssimCalculationTimeMs; } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { binding = env2_20; } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { log = binding.log; } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { psnr = value.psnr; } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { ssim = value.ssim; } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { value = Reflect.apply(concat, 'Quality metrics calculated: PSNR=', [psnr, 'dB, SSIM=', ssim]); } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); return object2; } try { Reflect.apply(log, binding, [value]); } catch (error) { binding = env2_20; binding.warn('Error in quality metrics calculation', error); } return object2; } return object2; } function _fun40358(a0, a1) { // fn#40358, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:4838:20725, offset: 0x010fe86d, size: 137 bytes, params: 3, frame: 17 const value = environment.__proto__; const platformUtilsModule = require(477) /* metro dependency 477: PlatformUtils */; if (platformUtilsModule.isAndroid()) { if (item.platform === (require(4650) /* metro dependency 4650: Upload */).UploadPlatform.REACT_NATIVE) { mediaManager('cancelResolveToMediaFilePath', item.uri).then(a0, a1); } else { a0(); } } else { a0(); } } function _fun40274(a0, a1) { // fn#40274, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:4838:950, offset: 0x010fb7f2, size: 74 bytes, params: 3, frame: 14 var environment; const env0_0 = a0; const env0_1 = a1; const value = environment.__proto__.__proto__.__proto__; env3_1(env3_2[10]).launchImageLibrary({'mediaType': 'photo', 'includeBase64': true, 'disableNewIOSPicker': true}, _fun40275); } function resolveWithConfig(a0) { // fn#40304, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:4838:9056, offset: 0x010fc632, size: 38 bytes, params: 2, frame: 11 return env0_0({path: a0, encodingConfig: env1_6}); } function _fun40305() { // fn#40305, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:4838:7049, offset: 0x010fc658, size: 32 bytes, params: 1, frame: 12 const env0_0 = env2_5(_fun40307); return findCompatibleConfig; } function _fun40316(a0) { // fn#40316, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:4838:9132, offset: 0x010fce3e, size: 1056 bytes, params: 2, frame: 22 var r4; var r1; var r0; var binding; var error; var object2; var value2; var shouldResolveToMediaFilePathBinding; var value3; var uriBinding; var value4; var filenameBinding; var isIOS2; var isIOS3; var value13; var mediaManagerBinding; let value = environment.__proto__.__proto__; if (a0) { shouldResolveToMediaFilePathBinding = shouldResolveToMediaFilePath; value3 = environment.__proto__; uriBinding = uri; value4 = undefined; if (shouldResolveToMediaFilePathBinding(uriBinding)) { value = mediaManager('resolveToMediaFilePath', uri, {encodingConfig: env1_6, compressionQuality: compressionQuality, isLowQuality: isLowQuality, videoQuality: videoQualitySetting, skipVideoTranscode: env1_5}); value = value.then(resolveWithConfig, require); r1 = value; } else { uriBinding = uri; filenameBinding = filename; isIOS2 = (require(477) /* metro dependency 477: PlatformUtils */).isIOS(); r1 = isIOS2 ? isPhotoKitAsset(uriBinding, filenameBinding) ? (filenameBinding == null ? value4 : filenameBinding.match(RegExp('\\.(mov|qt)$', 'i'))) != null : uriBinding.match(RegExp('^assets-library:\\/\\/.+&ext=(mov|qt)$', 'i')) != null && isVideo(uriBinding) : !!isIOS2; if (r1) { value = mediaManager('compressVideo', uri, {encodingConfig: env1_6, videoQuality: videoQualitySetting, isMov: true, skipVideoTranscode: env1_5}); value = value.then(resolveWithConfig, require); r1 = value; } else { uriBinding = uri; filenameBinding = filename; isIOS3 = (require(477) /* metro dependency 477: PlatformUtils */).isIOS(); r1 = isIOS3 ? isPhotoKitAsset(uriBinding, filenameBinding) ? (filenameBinding == null ? value4 : filenameBinding.match(RegExp('\\.mp4$', 'i'))) != null : uriBinding.match(RegExp('^assets-library:\\/\\/.+&ext=mp4$', 'i')) != null && isVideo(uriBinding) : !!isIOS3; if (r1) { value = mediaManager('compressVideo', uri, {encodingConfig: env1_6, videoQuality: videoQualitySetting, skipVideoTranscode: env1_5}); value = value.then(resolveWithConfig, require); r1 = value; } else { uriBinding = uri; value13 = uriBinding.toLowerCase(); r1 = (require(477) /* metro dependency 477: PlatformUtils */).isIOS() && uriBinding.startsWith('file'); if (r1) { r4 = value13.endsWith('mov') || value13.endsWith('mp4'); r4 = !r4 ? value13.endsWith('qt') : r4; r1 = r4; } if (r1) { mediaManagerBinding = mediaManager; uriBinding = uri; object2 = {encodingConfig: env1_6}; object2.videoQuality = videoQualitySetting; value = uriBinding.toLowerCase(); value = value.endsWith('mov'); if (value) { r4 = value; } else { value = uri.toLowerCase(); value = value.endsWith('qt'); r4 = value; } object2.isMov = r4; object2.skipVideoTranscode = env1_5; value = mediaManagerBinding('compressVideo', uriBinding, object2); value = value.then(resolveWithConfig, require); r1 = value; } else { binding = env2_20; error = binding.error; uriBinding = uri; Reflect.apply(error, binding, ['Unsupported video URI format', {uri: uriBinding, filename: filename}]); error = new global.Error('Unsupported video URI format: ' + uriBinding); require(error); r1 = value4; } } } } r0 = r1; } else { binding = env2_20; error = binding.error; value = environment.__proto__; Reflect.apply(error, binding, ['Could not find compatible encoding configuration after multiple attempts', {finalConfig: env1_6, attempts: env1_7}]); error = new global.Error('Could not find compatible encoding configuration after multiple attempts'); value2 = undefined; require(error); r0 = value2; } return r0; } function fetchVideoMetadata(a0, a1) { // fn#40324, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:4838:11926, offset: 0x010fd6fd, size: 30 bytes, params: 3, frame: 13 return env3_45.apply(this, arguments); } function tryConvertImage(a0) { // fn#40328, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:4838:14302, offset: 0x010fdc6e, size: 30 bytes, params: 2, frame: 13 return env3_44.apply(this, arguments); } function getImageDimensionByUri(a0) { // fn#40341, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:4838:17862, offset: 0x010fe39a, size: 44 bytes, params: 2, frame: 11 const env0_0 = a0; const Promise = global.Promise; const value = Object.create(Promise.prototype, {constructor: {value: Promise}}); const promise = new Promise(_fun40342); return promise instanceof Object ? promise : value; } function _fun40275(a0) { // fn#40275, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:4838:1048, offset: 0x010fb83c, size: 230 bytes, params: 2, frame: 14 var binding; var Error; var errorMessage; const assets = a0.assets; let value = null; const r4 = value != assets && a0.assets.length > 0 ? a0.assets[0] : value; if (a0.didCancel) { Error = global.Error; value = environment.__proto__.__proto__.__proto__.__proto__; binding = env4_23; require(new Error()); } else if (value != a0.errorCode) { Error = global.Error; errorMessage = a0.errorMessage; require(new Error()); } else if (value == (value == r4 ? undefined : r4.uri)) { Error = global.Error; errorMessage = a0.errorMessage; require(new Error()); } else { env0_0({uri: r4.uri, base64: r4.base64}); } } function* _fun40307() { // fn#40307, original name: ?anon_0_, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:4838:7069, offset: 0x010fc681, size: 633 bytes, params: 1, frame: 32 var r22; var environment; var r3; var r5; var r6; var r7; var r8; var r9; var r10; var r11; var r13; var r16; var r17; var r23; var r1; var r2; var r4; var r20; var r21; var r14; var value4; var value5; var value6; var Symbol; var iterator; var value7; var value8; var next; var value9; var value10; var value11; var done; var error; var value12; var value13; var value14; var value15; var value16; var value18; var value19; var value20; var value21; var value22; if (false) { return undefined; } const generator = loop_40309; value = environment.__proto__.__proto__.__proto__; const value3 = 4; if (Image < value3) { value4 = undefined; value5 = generator(); value6 = global; Symbol = value6.Symbol; iterator = Symbol.iterator; value7 = value5[iterator](); value8 = 'iterator is not an object'; ensureObject(value7, value8, r22); next = value7.next; value9 = 'iterator.throw() did not return an object'; value10 = 'throw'; value11 = 'iterator.next() did not return an object'; r3 = value7; r5 = value11; r6 = value10; r7 = value9; r8 = value8; r9 = value6; r10 = value4; r11 = value3; r13 = generator; r16 = value4; r17 = next; reduciblePort20: while (true) { exceptionLanding6: while (true) { reducibleLoop3: while (true) { value = Reflect.apply(r17, r3, [r16]); ensureObject(value, r5, r22); done = value.done; if (done) { r1 = value; break reduciblePort20; } try { generatorSetDelegated(value); } catch (error) { break exceptionLanding6; } yield value; reducibleLoop9: while (true) { try { value = undefined; value12 = false; } catch (error) { break exceptionLanding6; } if (value12) { value13 = getMethod(r3, 'return', r22); if (value13 === r10) { return value; } value = Reflect.apply(value13, r3, [value]); ensureObject(value, 'iterator.return() did not return an object', r22); done = value.done; if (done) { return value.value; } generatorSetDelegated(value); yield value; continue reducibleLoop9; } r16 = value; continue reducibleLoop3; } continue reducibleLoop3; } break reduciblePort20; } exceptionRetry6: while (true) { value = getMethod(r3, r6, r22); if (value === r10) { value = 'return'; value14 = getMethod(r3, value, r22); reducibleJoin19: while (true) { if (value14 === r10) { r23 = value; break reducibleJoin19; } value = Reflect.apply(value14, r3, []); value15 = 'iterator.return() did not return an object'; ensureObject(value, value15, r22); r23 = value15; break reducibleJoin19; } throwTypeError('yield* delegate must have a .throw() method', r23); throw r10; } value = Reflect.apply(value, r3, [error]); ensureObject(value, r7, r22); done = value.done; reducibleJoin20: while (true) { if (done) { r1 = value; break reducibleJoin20; } generatorSetDelegated(value); yield value; reducibleLoop9: while (true) { try { value = undefined; value12 = false; } catch (error) { continue exceptionRetry6; } reducibleJoin11: while (true) { if (value12) { break reducibleJoin11; } r16 = value; value = Reflect.apply(r17, r3, [r16]); ensureObject(value, r5, r22); done = value.done; if (done) { r1 = value; break reducibleJoin20; } try { generatorSetDelegated(value); } catch (error) { continue exceptionRetry6; } yield value; continue reducibleLoop9; } value13 = getMethod(r3, 'return', r22); if (value13 === r10) { return value; } value = Reflect.apply(value13, r3, [value]); ensureObject(value, 'iterator.return() did not return an object', r22); done = value.done; if (done) { return value.value; } generatorSetDelegated(value); yield value; continue reducibleLoop9; } } break reduciblePort20; } } value = r1.value; value16 = 0; reducibleJoin43: while (true) { if (value16 === value) { break reducibleJoin43; } r2 = 1; r3 = value16; r4 = value; reducibleLoop21: while (true) { if (r2 !== r4) { reducibleJoin23: while (true) { if (r4) { return r4.v; } break reducibleJoin23; } } if (env0_7 < r11) { value = Reflect.apply(r13, r10, []); Symbol = r9.Symbol; iterator = Symbol.iterator; value = value[iterator](); ensureObject(value, r8, r22); next = value.next; r16 = value; r20 = value4; r21 = next; reduciblePort42: while (true) { exceptionLanding28: while (true) { reducibleLoop25: while (true) { value = Reflect.apply(r21, r16, [r20]); ensureObject(value, r5, r22); done = value.done; if (done) { r14 = value; break reduciblePort42; } try { generatorSetDelegated(value); } catch (error) { break exceptionLanding28; } yield value; reducibleLoop31: while (true) { try { value = undefined; value18 = false; } catch (error) { break exceptionLanding28; } if (value18) { value19 = getMethod(r16, 'return', r22); if (value19 === r10) { return value; } value = Reflect.apply(value19, r16, [value]); ensureObject(value, 'iterator.return() did not return an object', value19); done = value.done; if (done) { return value.value; } value20 = generatorSetDelegated(value); yield value; r22 = value20; continue reducibleLoop31; } r20 = value; continue reducibleLoop25; } continue reducibleLoop25; } break reduciblePort42; } exceptionRetry28: while (true) { value = getMethod(r16, r6, r22); if (value === r10) { value = 'return'; value21 = getMethod(r16, value, r22); reducibleJoin41: while (true) { if (value21 === r10) { r23 = value; break reducibleJoin41; } value = Reflect.apply(value21, r16, []); value22 = 'iterator.return() did not return an object'; ensureObject(value, value22, r22); r23 = value22; break reducibleJoin41; } throwTypeError('yield* delegate must have a .throw() method', r23); throw r10; } value = Reflect.apply(value, r16, [error]); ensureObject(value, r7, r22); done = value.done; reducibleJoin42: while (true) { if (done) { r14 = value; break reducibleJoin42; } generatorSetDelegated(value); yield value; reducibleLoop31: while (true) { try { value = undefined; value18 = false; } catch (error) { continue exceptionRetry28; } reducibleJoin33: while (true) { if (value18) { break reducibleJoin33; } r20 = value; value = Reflect.apply(r21, r16, [r20]); ensureObject(value, r5, r22); done = value.done; if (done) { r14 = value; break reducibleJoin42; } try { generatorSetDelegated(value); } catch (error) { continue exceptionRetry28; } yield value; continue reducibleLoop31; } value19 = getMethod(r16, 'return', r22); if (value19 === r10) { return value; } value = Reflect.apply(value19, r16, [value]); ensureObject(value, 'iterator.return() did not return an object', value19); done = value.done; if (done) { return value.value; } value20 = generatorSetDelegated(value); yield value; r22 = value20; continue reducibleLoop31; } } break reduciblePort42; } } value = r14.value; if (r3 !== value) { r4 = value; continue reducibleLoop21; } break reducibleJoin43; } break reducibleJoin43; } } } return false; } function _fun40342(a0, a1) { // fn#40342, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:4838:17917, offset: 0x010fe3c6, size: 46 bytes, params: 3, frame: 15 return env4_7.getSize(a0, _fun40343, a1); } function* loop_40309() { // fn#40309, original name: ?anon_0__loop, inferred name: loop_40309, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:4838:7097, offset: 0x010fc903, size: 1218 bytes, params: 1, frame: 25 var environment; var r4; var r10; var r9; var min; var r8; var resolution; var targetHeight; var targetWidth; var maxWidth; var maxHeight; var value9; var Math; var value10; var value11; var blockSize; var widthAlignment; var heightAlignment; var floor; var value14; var value15; var value19; var message; var error; var value24; var Error; var value25; var value27; var value28; var value30; var value31; if (false) { return undefined; } value = undefined; let binding = env6_48; yield binding(env5_6); const value5 = undefined; if (false) { return value5; } if (value5.isSupported) { return {v: true}; } if (value5 == null) { binding = env6_20; binding.warn('Unable to determine device capabilities or adjust parameters', {config: env5_6, attempt: env5_7 + 1}); return 0; } let capabilities = value5.capabilities; if (capabilities == null) { binding = env6_20; binding.warn('Unable to determine device capabilities or adjust parameters', {config: env5_6, attempt: env5_7 + 1}); return 0; } let failures = value5.failures; if (failures == null) { binding = env6_20; binding.warn('Unable to determine device capabilities or adjust parameters', {config: env5_6, attempt: env5_7 + 1}); return 0; } if (value5.failures.length === 0) { binding = env6_20; binding.warn('Unable to determine device capabilities or adjust parameters', {config: env5_6, attempt: env5_7 + 1}); return 0; } failures = value5.failures; if (failures.find(function(a0) { return a0.type === 'codec_not_found'; }) != null) { if (env5_6.useHEVC) { env5_6.useHEVC = false; r4 = 1; } else { env6_20.error('No supported video encoder found'); value30 = environment.__proto__.__proto__.__proto__.__proto__; Error = global.Error; value31 = Object.create(Error.prototype, {constructor: {value: Error}}); error = new Error('No supported video encoder found'); importDefault(error instanceof Object ? error : value31); r4 = {v: false}; } return r4; } failures = value5.failures; const value7 = failures.find(function(a0) { return a0.type === 'resolution' || a0.type === 'resolution_alignment'; }) != null; const value8 = false; if (value7) { capabilities = value5.capabilities; resolution = capabilities.resolution; if (resolution != null) { targetHeight = env5_6.targetHeight; if (targetHeight === 0) { value27 = environment.__proto__.__proto__.__proto__.__proto__; Error = global.Error; value28 = Object.create(Error.prototype, {constructor: {value: Error}}); error = new Error('Invalid video dimensions: width or height is 0'); importDefault(error instanceof Object ? error : value28); return {v: value8}; } targetWidth = env5_6.targetWidth; if (targetWidth === 0) { value27 = environment.__proto__.__proto__.__proto__.__proto__; Error = global.Error; value28 = Object.create(Error.prototype, {constructor: {value: Error}}); error = new Error('Invalid video dimensions: width or height is 0'); importDefault(error instanceof Object ? error : value28); return {v: value8}; } capabilities = value5.capabilities; resolution = capabilities.resolution; maxWidth = resolution.maxWidth; capabilities = value5.capabilities; resolution = capabilities.resolution; maxHeight = resolution.maxHeight; targetWidth = env5_6.targetWidth; targetHeight = env5_6.targetHeight; value9 = targetWidth / targetHeight; Math = global.Math; min = Math.min; targetWidth = env5_6.targetWidth; value10 = Reflect.apply(min, Math, [targetWidth, maxWidth]); Math = global.Math; min = Math.min; targetHeight = env5_6.targetHeight; value11 = Reflect.apply(min, Math, [targetHeight, maxHeight]); targetWidth = env5_6.targetWidth; r4 = value10 === targetWidth ? value11 : global.Math.round(value10 / value9); targetHeight = env5_6.targetHeight; r10 = r4 === targetHeight ? value10 : global.Math.round(r4 * value9); capabilities = value5.capabilities; blockSize = capabilities.blockSize; widthAlignment = blockSize.widthAlignment; heightAlignment = blockSize.heightAlignment; Math = global.Math; floor = Math.floor; value14 = Reflect.apply(floor, Math, [r10 / widthAlignment]) * widthAlignment; Math = global.Math; floor = Math.floor; value15 = Reflect.apply(floor, Math, [r4 / heightAlignment]) * heightAlignment; targetWidth = env5_6.targetWidth; r4 = value14 === targetWidth && value15 === env5_6.targetHeight; if (r4) { r9 = value8; } else { env5_6.targetWidth = value14; env5_6.targetHeight = value15; r9 = true; } failures = value5.failures; value19 = failures.find(function(a0) { return a0.type === 'frameRate'; }); capabilities = value5.capabilities; if (value19 == null) { r4 = r9; } else if ((capabilities == null || capabilities.frameRate == null ? value : capabilities.frameRate.min) == null) { r4 = r9; } else if ((capabilities == null || capabilities.frameRate == null ? value : capabilities.frameRate.max) == null) { r4 = r9; } else { env5_6.frameRate; message = value19.message; r8 = message.includes('not supported at resolution') ? [60, 30, 29.97, 24, 15].sort(_fun40313).find(_fun40314) ?? capabilities.frameRate.min : global.Math.min(env5_6.frameRate, capabilities.frameRate.max); if (r8 === env5_6.frameRate) { r4 = r9; } else { env5_6.frameRate = r8; r4 = true; } } if (r4) { binding = env5_7; env5_7 = typeof binding === 'bigint' ? binding + 1n : +binding + 1; return value; } binding = env6_20; error = binding.error; failures = value5.failures; capabilities = value5.capabilities; Reflect.apply(error, binding, ['No adjustments possible for current failures', {currentFailures: failures, config: env5_6, capabilities: capabilities, attempt: env5_7 + 1}]); value24 = environment.__proto__.__proto__.__proto__.__proto__; Error = global.Error; value25 = Object.create(Error.prototype, {constructor: {value: Error}}); error = new Error('No adjustments possible for current failures'); importDefault(error instanceof Object ? error : value25); return {v: value8}; } r9 = value8; failures = value5.failures; value19 = failures.find(_fun40312); capabilities = value5.capabilities; if (value19 == null) { r4 = r9; } else if ((capabilities == null || capabilities.frameRate == null ? value : capabilities.frameRate.min) == null) { r4 = r9; } else if ((capabilities == null || capabilities.frameRate == null ? value : capabilities.frameRate.max) == null) { r4 = r9; } else { env5_6.frameRate; message = value19.message; r8 = message.includes('not supported at resolution') ? [60, 30, 29.97, 24, 15].sort(_fun40313).find(_fun40314) ?? capabilities.frameRate.min : global.Math.min(env5_6.frameRate, capabilities.frameRate.max); if (r8 === env5_6.frameRate) { r4 = r9; } else { env5_6.frameRate = r8; r4 = true; } } if (r4) { binding = env5_7; env5_7 = typeof binding === 'bigint' ? binding + 1n : +binding + 1; return value; } binding = env6_20; error = binding.error; failures = value5.failures; capabilities = value5.capabilities; Reflect.apply(error, binding, ['No adjustments possible for current failures', {currentFailures: failures, config: env5_6, capabilities: capabilities, attempt: env5_7 + 1}]); value24 = environment.__proto__.__proto__.__proto__.__proto__; } else { r9 = value8; value19 = value5.failures.find(function(a0) { return a0.type === 'frameRate'; }); capabilities = value5.capabilities; if (value19 == null) { r4 = r9; } else if ((capabilities == null || capabilities.frameRate == null ? value : capabilities.frameRate.min) == null) { r4 = r9; } else if ((capabilities == null || capabilities.frameRate == null ? value : capabilities.frameRate.max) == null) { r4 = r9; } else { env5_6.frameRate; message = value19.message; r8 = message.includes('not supported at resolution') ? [60, 30, 29.97, 24, 15].sort(function(a0, a1) { return a1 - a0; }).find(_fun40314) ?? capabilities.frameRate.min : global.Math.min(env5_6.frameRate, capabilities.frameRate.max); if (r8 === env5_6.frameRate) { r4 = r9; } else { env5_6.frameRate = r8; r4 = true; } } if (r4) { binding = env5_7; env5_7 = typeof binding === 'bigint' ? binding + 1n : +binding + 1; return value; } binding = env6_20; binding.error('No adjustments possible for current failures', {currentFailures: value5.failures, config: env5_6, capabilities: value5.capabilities, attempt: env5_7 + 1}); } Error = global.Error; value25 = Object.create(Error.prototype, {constructor: {value: Error}}); error = new Error('No adjustments possible for current failures'); importDefault(error instanceof Object ? error : value25); return {v: value8}; } function _fun40312({type}) { // fn#40312, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:4838:8265, offset: 0x010fcdfd, size: 18 bytes, params: 2, frame: 2 return type === 'frameRate'; } function _fun40314(a0) { // fn#40314, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:4838:8549, offset: 0x010fce0f, size: 47 bytes, params: 2, frame: 3 const value = environment.__proto__.__proto__.__proto__.__proto__.__proto__.__proto__; return a0 < env6_6.frameRate && a0 >= capabilities.frameRate.min; }