/* Metro module 15668; source: modules/user_settings/voice/AudioSettingsManager.tsx; dependencies: [7, 6, 15, 17, 18, 57, 4295, 4613, 1226, 4259, 4291, 8902, 21, 1314, 587, 1362, 8901, 22, 12484, 9422, 4860, 2] */ import ClassCallCheck from '../../../by-id/module-00006-ClassCallCheck.js'; /* Metro dependency 6 */ import CreateClass from '../../../by-id/module-00007-CreateClass.js'; /* Metro dependency 7 */ import PossibleConstructorReturn from '../../../by-id/module-00015-PossibleConstructorReturn.js'; /* Metro dependency 15 */ import Module00017 from '../../../by-id/module-00017.js'; /* Metro dependency 17 */ import Inherits from '../../../by-id/module-00018-Inherits.js'; /* Metro dependency 18 */ import SnowflakeUtils from '../../../utils/SnowflakeUtils.tsx'; /* Metro dependency 21 */ import Module00057 from '../../../by-id/module-00057.js'; /* Metro dependency 57 */ import AuthenticationStore from '../../../stores/AuthenticationStore.tsx'; /* Metro dependency 1226 */ import MediaEngineStore from '../../../stores/MediaEngineStore.tsx'; /* Metro dependency 4259 */ import GameConsoleStore from '../../game_console/GameConsoleStore.tsx'; /* Metro dependency 4295 */ import SoundboardStore from '../../soundboard/SoundboardStore.tsx'; /* Metro dependency 4613 */ import * as FileImportTrackerModule from '../../../by-id/module-00002-FileImportTracker.js'; /* Metro dependency 2 */ import * as StorageModule from '../../../external/discord_common/js/packages/storage/Storage.tsx'; /* Metro dependency 587 */ import * as UserSettingsProtoActionCreatorsModule from '../UserSettingsProtoActionCreators.tsx'; /* Metro dependency 1362 */ import * as ConstantsModule from '../../../external/discord_common/js/packages/media-engine/Constants.tsx'; /* Metro dependency 4291 */ import * as AudioSettingsUtilsModule from './AudioSettingsUtils.tsx'; /* Metro dependency 8901 */ import * as GameConsoleActionCreatorsModule from '../../game_console/GameConsoleActionCreators.tsx'; /* Metro dependency 9422 */ import * as AudioSettingsPendingModule from './AudioSettingsPending.tsx'; /* Metro dependency 12484 */ function _fun120127(global, require, importDefault, importAll, module, exports, dependencyMap) { // fn#120127, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:15876:6, offset: 0x02521946, size: 551 bytes, params: 8, frame: 22 const env0_0 = require; const _arrayLikeToArray_120133 = function(a0, a1) { var r0; var r1; var r2; var value3; var length; var value5; var value = undefined; var value2 = value == null; reducibleJoin2: while (true) { if (value2) { r0 = value2; break reducibleJoin2; } value3 = value > a0.length; r0 = value3; break reducibleJoin2; } reducibleJoin4: while (true) { if (r0) { length = a0.length; r1 = length; break reducibleJoin4; } r1 = value; break reducibleJoin4; } value = (0, global.Array)(r1); var value4 = 0; if (value4 < r1) { r2 = value4; reducibleLoop5: while (true) { value[r2] = a0[r2]; value5 = typeof r2 === 'bigint' ? r2 + 1n : +r2 + 1; if (value5 < r1) { r2 = value5; continue reducibleLoop5; } break reducibleLoop5; } } return value; }; const handleConnectionOpen_120137 = function() { _fun120138(); }; const writeRemoteSettings = function() { var PreloadedUserSettingsActionCreators = require(dependencyMap[15]).PreloadedUserSettingsActionCreators; var INFREQUENT_USER_ACTION = require(dependencyMap[15]).UserSettingsDelay.INFREQUENT_USER_ACTION; PreloadedUserSettingsActionCreators.updateAsync('audioContextSettings', _fun120141, INFREQUENT_USER_ACTION); }; const handleResetMediaEngineSettings = function(a0) { var r7; if (a0 == null) { throwTypeError(a0, "Cannot destructure 'undefined' or 'null'.", r7); throw undefined; } var PreloadedUserSettingsActionCreators = require(dependencyMap[15]).PreloadedUserSettingsActionCreators; var INFREQUENT_USER_ACTION = require(dependencyMap[15]).UserSettingsDelay.INFREQUENT_USER_ACTION; PreloadedUserSettingsActionCreators.updateAsync('audioContextSettings', _fun120148, INFREQUENT_USER_ACTION); }; const Object = global.Object; Object.defineProperty(exports, '__esModule', {value: true}); const SETTINGS_MIGRATION_KEY = function(a0) { return 'AudioContextSettingsMigrated:' + a0; }; const DEFAULT_VOLUME_FOR_CONTEXT = function(a0) { return a0 === MediaEngineContextTypes.STREAM ? require(dependencyMap[11]).AudioSettingsDefaultVolumes.STREAM : require(dependencyMap[11]).AudioSettingsDefaultVolumes.USER; }; let value = importDefault(22) /* metro dependency 22 */; const env0_16 = value.debounce(function() { writeRemoteSettings(); }, 2000); value = importDefault(22) /* metro dependency 22 */; const env0_17 = value.debounce((GameConsoleActionCreatorsModule).remoteAudioSettingsUpdate, 500, {maxWait: 500}); value = importDefault(4860) /* metro dependency 4860: AutomaticLifecycleManager */; value = _fun120152(value); value = new value(); (FileImportTrackerModule).fileFinishedImporting('modules/user_settings/voice/AudioSettingsManager.tsx'); exports.default = value; function _isNativeReflectConstruct_120128() { // fn#120128, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:15876:258, offset: 0x02521b6d, size: 98 bytes, params: 1, frame: 18 var Boolean; var prototype; var valueOf; var call; var Reflect; var construct; var closure; var value; var error; try { Boolean = global.Boolean; prototype = Boolean.prototype; valueOf = prototype.valueOf; call = valueOf.call; Reflect = global.Reflect; construct = Reflect.construct; Boolean = global.Boolean; closure = function() { }; value = Reflect.apply(construct, Reflect, [Boolean, [], closure]); value = Reflect.apply(call, valueOf, [value]); var result = !value; } catch (error) { } return (_isNativeReflectConstruct_120128_isNativeReflectConstruct = function() { return !!result; })(); } function _createForOfIteratorHelperLoose_120131(a0, a1) { // fn#120131, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:15876:451, offset: 0x02521bcf, size: 372 bytes, params: 3, frame: 20 var r6; var r9; var r5; var value3; var regexp; const env0_0 = a0; const Symbol = global.Symbol; let value = typeof Symbol !== 'undefined'; let r1 = value && a0[global.Symbol.iterator]; r1 = !r1 ? a0['@@iterator'] : r1; if (r1) { value = r1.call(a0); return value.next.bind(value); } const Array = global.Array; if (Array.isArray(a0)) { if (r1) { } return _fun120132; } value = undefined; if (a0) { if (typeof a0 === 'string') { value = _arrayLikeToArray_120133(a0, value); r5 = value; } else { value3 = ({}).toString.call(a0).slice(8, -1); r6 = value3 === 'Object' && a0.constructor; r9 = r6 ? a0.constructor.name : value3; if (r9 === 'Map') { r6 = global.Array.from(a0); } else if (r9 === 'Set') { r6 = global.Array.from(a0); } else if (r9 === 'Arguments') { value = _arrayLikeToArray_120133(a0, value); r6 = value; } else { regexp = RegExp('^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$', ''); if (regexp.test(r9)) { value = _arrayLikeToArray_120133(a0, value); r6 = value; } else { r6 = value; } } r5 = r6; } } else { r5 = value; } if (r5) { if (r5) { } return _fun120132; } const TypeError = global.TypeError; throw new TypeError('Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.'); function _fun120132() { // fn#120132, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:15876:1022, offset: 0x00c39d73, size: 69 bytes, params: 1, frame: 5 return env0_1 >= env0_0.length ? {done: true} : {done: false, value: env0_0[typeof env0_1 === 'bigint' ? env0_1 : +env0_1]}; } } function updateAudioSettingsProto(a0, a1, a2, a3) { // fn#120134, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:15876:1558, offset: 0x02521d43, size: 268 bytes, params: 5, frame: 19 var r6; var AudioContextSetting; var create; var object; undefined !== undefined; const value2 = (AudioSettingsUtilsModule).coerceAudioContextForProto(a2); if (value2 == null) { return false; } const property = a0[value2]; const property2 = property[a1]; if (property2 != null) { r6 = property2; } else { AudioContextSetting = (require(1314) /* metro dependency 1314: preloaded_user_settings */).AudioContextSetting; create = AudioContextSetting.create; object = {muted: false}; object.volume = DEFAULT_VOLUME_FOR_CONTEXT(a2); r6 = Reflect.apply(create, AudioContextSetting, [object]); } property[a1] = r6; a3(property[a1]); const property3 = property[a1]; const String = global.String; const Date = global.Date; property3.modifiedAt = String(Date.now()); let r3 = property[a1].volume !== DEFAULT_VOLUME_FOR_CONTEXT(a2) || property[a1].muted; r3 = !r3 ? property[a1].soundboardMuted : r3; if (!r3) { delete property[a1]; } trimOldestEntries(property); return true; function trimOldestEntries(a0) { // fn#120135, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:15876:2056, owner: updateAudioSettingsProto.trimOldestEntries, offset: 0x02521e4f, size: 124 bytes, params: 2, frame: 20 var r2; var sort; var value3; var value4; var binding; var value5; const value2 = (SnowflakeUtils).entries(a0); const length = value2.length; reducibleJoin3: while (true) { if (length <= 300) { break reducibleJoin3; } sort = value2.sort; value3 = Reflect.apply(sort, value2, [_fun120136]); value4 = 0; if (!(value4 < length - 300)) { break reducibleJoin3; } r2 = value4; reducibleLoop2: while (true) { binding = env1_8; delete a0[binding(value3[r2], 1)[value4]]; value5 = typeof r2 === 'bigint' ? r2 + 1n : +r2 + 1; if (value5 < length - 300) { r2 = value5; continue reducibleLoop2; } break reducibleJoin3; } } } } function handleConnectionOpen_120137() { // fn#120137, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:15876:2265, offset: 0x02521f99, size: 17 bytes, params: 1, frame: 9 handleMigrateSettings(); function handleMigrateSettings() { // fn#120138, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:15876:2298, owner: handleConnectionOpen_120137.handleMigrateSettings, offset: 0x02521faa, size: 142 bytes, params: 1, frame: 17 var PreloadedUserSettingsActionCreators; const Storage = (StorageModule).Storage; const get = Storage.get; const authenticationStoreBinding = AuthenticationStore; const getId = authenticationStoreBinding.getId; if (!Reflect.apply(get, Storage, [SETTINGS_MIGRATION_KEY(Reflect.apply(getId, authenticationStoreBinding, []))])) { PreloadedUserSettingsActionCreators = (require(1362) /* metro dependency 1362: UserSettingsProtoActionCreators */).PreloadedUserSettingsActionCreators; PreloadedUserSettingsActionCreators.updateAsync('audioContextSettings', _fun120139, (require(1362) /* metro dependency 1362: UserSettingsProtoActionCreators */).UserSettingsDelay.AUTOMATED); } function _fun120139(a0) { // fn#120139, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:15876:2471, offset: 0x02522038, size: 838 bytes, params: 2, frame: 57 var r17; var r18; var r35; var r33; var r34; var r30; var r0; var property; var value6; var property2; var moduleValue; var coerceAudioContextForProto; var value7; var property3; var String; var Date; var now; var value8; var object; var localMutes; var value9; var property4; var value10; var property5; var property6; var object2; var value11; var localVolumes; var value12; var property7; var value13; var property8; var property9; var object3; var moduleValue2; var snapVolumeToDefault; var value14; var keys; var _createForOfIteratorHelperLoose_120131Binding; var value15; var value16; var value17; var done; var value18; var value19; var binding; var value20; var property10; var property11; var value21; var value22; var value23; let Object = global.Object; let entries = Object.entries; const mediaEngineStoreBinding = MediaEngineStore; const getState = mediaEngineStoreBinding.getState; const value2 = Reflect.apply(entries, Object, [Reflect.apply(getState, mediaEngineStoreBinding, []).settingsByContext]); let length = value2.length; const value3 = 0; const value4 = false; const value5 = true; if (value3 < length) { r17 = value3; r18 = value4; reducibleLoop1: while (true) { property = value2[r17]; value6 = env2_8(property, 2); property = value6[value3]; property2 = value6[1]; moduleValue = require(8901) /* metro dependency 8901: AudioSettingsUtils */; coerceAudioContextForProto = moduleValue.coerceAudioContextForProto; value7 = Reflect.apply(coerceAudioContextForProto, moduleValue, [property]); reducibleJoin11: while (true) { if (value7 == null) { r30 = r18; break reducibleJoin11; } property3 = a0[value7]; String = global.String; Date = global.Date; now = Date.now; value8 = String(Reflect.apply(now, Date, [])); object = {}; Object = global.Object; entries = Object.entries; localMutes = property2.localMutes; value9 = Reflect.apply(entries, Object, [localMutes]); length = value9.length; if (value3 < length) { r35 = value3; reducibleLoop3: while (true) { property4 = value9[r35]; value10 = env2_8(property4, 2); property5 = value10[value3]; property6 = value10[1]; object2 = {muted: property6}; object2.volume = DEFAULT_VOLUME_FOR_CONTEXT(property); object2.modifiedAt = value8; object2.soundboardMuted = value4; object[property5] = object2; value11 = typeof r35 === 'bigint' ? r35 + 1n : +r35 + 1; length = value9.length; if (value11 < length) { r35 = value11; continue reducibleLoop3; } break reducibleLoop3; } } Object = global.Object; entries = Object.entries; localVolumes = property2.localVolumes; value12 = Reflect.apply(entries, Object, [localVolumes]); length = value12.length; if (value3 < length) { r33 = value3; reducibleLoop5: while (true) { property7 = value12[r33]; value13 = env2_8(property7, 2); property8 = value13[value3]; property9 = value13[1]; object3 = {muted: value4, modifiedAt: value8}; copyDataProperties(object3, object[property8], undefined); moduleValue2 = require(8901) /* metro dependency 8901: AudioSettingsUtils */; snapVolumeToDefault = moduleValue2.snapVolumeToDefault; object3['volume'] = Reflect.apply(snapVolumeToDefault, moduleValue2, [property9, property]); object[property8] = object3; value14 = typeof r33 === 'bigint' ? r33 + 1n : +r33 + 1; length = value12.length; if (value14 < length) { r33 = value14; continue reducibleLoop5; } break reducibleLoop5; } } Object = global.Object; keys = Object.keys; length = Reflect.apply(keys, Object, [property3]).length; _createForOfIteratorHelperLoose_120131Binding = _createForOfIteratorHelperLoose_120131; Object = global.Object; entries = Object.entries; value15 = Reflect.apply(entries, Object, [object]); entries = value15.entries; value16 = _createForOfIteratorHelperLoose_120131Binding(Reflect.apply(entries, value15, [])); value17 = value16(); done = value17.done; if (done) { r30 = r18; break reducibleJoin11; } r33 = value17; r34 = r18; reducibleLoop7: while (true) { value18 = r33.value; value19 = env2_8(value18, 2); property = value19[value3]; binding = env2_8; value20 = binding(value19[1], 2); property10 = value20[value3]; property11 = value20[1]; value21 = 300 - length; if (value21 - (property + 1) <= value3) { r30 = r34; break reducibleJoin11; } reducibleJoin10: while (true) { if (property3[property10] != null) { break reducibleJoin10; } property3[property10] = property11; r34 = value5; break reducibleJoin10; } value22 = value16(); done = value22.done; if (done) { r30 = r34; break reducibleJoin11; } r33 = value22; continue reducibleLoop7; } } value23 = typeof r17 === 'bigint' ? r17 + 1n : +r17 + 1; length = value2.length; if (value23 < length) { r17 = value23; r18 = r30; continue reducibleLoop1; } r0 = r30; break reducibleLoop1; } } else { r0 = value4; } const Storage = (StorageModule).Storage; const set = Storage.set; const authenticationStoreBinding = AuthenticationStore; const getId = authenticationStoreBinding.getId; Reflect.apply(set, Storage, [SETTINGS_MIGRATION_KEY(Reflect.apply(getId, authenticationStoreBinding, [])), value5]); return r0; } } } function writeRemoteSettings() { // fn#120140, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:15876:3505, offset: 0x0252237e, size: 80 bytes, params: 1, frame: 16 const PreloadedUserSettingsActionCreators = (UserSettingsProtoActionCreatorsModule).PreloadedUserSettingsActionCreators; const updateAsync = PreloadedUserSettingsActionCreators.updateAsync; const UserSettingsDelay = (UserSettingsProtoActionCreatorsModule).UserSettingsDelay; const INFREQUENT_USER_ACTION = UserSettingsDelay.INFREQUENT_USER_ACTION; Reflect.apply(updateAsync, PreloadedUserSettingsActionCreators, ['audioContextSettings', _fun120141, INFREQUENT_USER_ACTION]); function _fun120141(a0) { // fn#120141, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:15876:3618, offset: 0x025223ce, size: 64 bytes, params: 2, frame: 12 var environment; const env0_0 = a0; const env0_1 = false; const value = environment.__proto__; (AudioSettingsPendingModule).drainPendingAudioSettings(_fun120142); return env0_1; function _fun120142(a0, a1, a2) { // fn#120142, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:15876:3675, offset: 0x0252240e, size: 60 bytes, params: 4, frame: 18 env0_1 = env0_1 || updateAudioSettingsProto(a2, a1, a0, function(a0) { var Object = global.Object; Object.assign(a0, importDefault); }); } } } function handleSetLocalVolume({context, userId, volume}) { // fn#120144, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:15876:3815, offset: 0x0252246b, size: 164 bytes, params: 2, frame: 20 var remoteSessionId; var binding; var object; const authenticationStoreBinding = AuthenticationStore; const getId = authenticationStoreBinding.getId; if (userId !== Reflect.apply(getId, authenticationStoreBinding, [])) { remoteSessionId = GameConsoleStore.getRemoteSessionId(); if (remoteSessionId != null) { binding = env0_17; object = {}; object.muted = MediaEngineStore.isLocalMute(userId, context); object.volume = volume; binding(remoteSessionId, userId, context, object); } (require(12484) /* metro dependency 12484: AudioSettingsPending */).updatePendingSettings(context, userId, {volume: volume}); env0_16(); } } function handleSetLocalMute({context, userId}) { // fn#120145, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:15876:4066, offset: 0x0252250f, size: 118 bytes, params: 2, frame: 18 var isLocalMute2; var moduleValue; const authenticationStoreBinding = AuthenticationStore; const getId = authenticationStoreBinding.getId; if (userId !== Reflect.apply(getId, authenticationStoreBinding, [])) { isLocalMute2 = MediaEngineStore.isLocalMute(userId, context); moduleValue = require(12484) /* metro dependency 12484: AudioSettingsPending */; moduleValue.updatePendingSettings(context, userId, {muted: isLocalMute2}); env0_16.cancel(); writeRemoteSettings(); } } function handleSetLocalSoundboardMute({context, userId}) { // fn#120146, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:15876:4262, offset: 0x02522585, size: 117 bytes, params: 2, frame: 18 var isLocalSoundboardMuted2; var moduleValue; const authenticationStoreBinding = AuthenticationStore; const getId = authenticationStoreBinding.getId; if (userId !== Reflect.apply(getId, authenticationStoreBinding, [])) { isLocalSoundboardMuted2 = SoundboardStore.isLocalSoundboardMuted(userId); moduleValue = require(12484) /* metro dependency 12484: AudioSettingsPending */; moduleValue.updatePendingSettings(context, userId, {soundboardMuted: isLocalSoundboardMuted2}); env0_16.cancel(); writeRemoteSettings(); } } function handleResetMediaEngineSettings(a0) { // fn#120147, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:15876:4497, offset: 0x025225fa, size: 106 bytes, params: 2, frame: 17 if (a0 == null) { throwTypeError(a0, "Cannot destructure 'undefined' or 'null'.", undefined); throw undefined; } const PreloadedUserSettingsActionCreators = (UserSettingsProtoActionCreatorsModule).PreloadedUserSettingsActionCreators; const updateAsync = PreloadedUserSettingsActionCreators.updateAsync; const UserSettingsDelay = (UserSettingsProtoActionCreatorsModule).UserSettingsDelay; const INFREQUENT_USER_ACTION = UserSettingsDelay.INFREQUENT_USER_ACTION; Reflect.apply(updateAsync, PreloadedUserSettingsActionCreators, ['audioContextSettings', function(a0) { a0.user = {}; a0.stream = {}; }, INFREQUENT_USER_ACTION]); } function _fun120152(a0) { // fn#120152, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:15876:4713, offset: 0x02522703, size: 42 bytes, params: 2, frame: 14 const AudioSettingsManager2 = AudioSettingsManager; Inherits(AudioSettingsManager2, a0); return CreateClass(AudioSettingsManager2); function AudioSettingsManager(a0) { // fn#120153, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:15876:4725, offset: 0x0252272d, size: 179 bytes, params: 2, frame: 20 var r0; var Reflect; let value = copyRestArgs(0, undefined); let binding = env1_4; binding(this, AudioSettingsManager); const items2 = []; arraySpread(items2, value, 0, items2); value = env1_6(AudioSettingsManager); binding = env1_5; if (_isNativeReflectConstruct_120128()) { Reflect = global.Reflect; value = Reflect.construct(value, items2, env1_6(this).constructor); r0 = value; } else { value = value.apply(this, items2); r0 = value; } value = binding(this, r0); value.actions = {POST_CONNECTION_OPEN: handleConnectionOpen_120137, AUDIO_SET_LOCAL_VOLUME: handleSetLocalVolume, AUDIO_TOGGLE_LOCAL_MUTE: handleSetLocalMute, AUDIO_TOGGLE_LOCAL_SOUNDBOARD_MUTE: handleSetLocalSoundboardMute, MEDIA_ENGINE_RESET_SETTINGS: handleResetMediaEngineSettings}; return value; } } } function _fun120136(a0, a1) { // fn#120136, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:15876:2156, offset: 0x02521ecb, size: 206 bytes, params: 3, frame: 22 var r1; var r2; var r3; var r4; var r5; var r8; var item3; var value3; var modifiedAt; var item5; var value5; var modifiedAt2; var error; let iterator = a0[Symbol.iterator](); const iterator2 = iterator.next; const value = undefined; let item2 = Reflect.apply(iterator2, iterator, []); let item = item2.value; item2 = item2.done ? undefined : iterator; const value2 = item2 === value; if (value2) { } if (value2) { r1 = item2; r2 = value2; r3 = value; } else { item3 = Reflect.apply(iterator2, item2, []); item = item3.value; item3 = item3.done ? undefined : item2; value3 = item3 === value; if (value3) { r1 = item3; r2 = value3; r3 = value; } else { r1 = item3; r2 = value3; r3 = item; } } try { modifiedAt = r3.modifiedAt; } catch (error) { if (!r2) { try { r1.return(); } catch { } } throw error; } if (!r2) { r1.return(); } iterator = a1[Symbol.iterator](); const iterator3 = iterator.next; let item4 = Reflect.apply(iterator3, iterator, []); item = item4.value; item4 = item4.done ? undefined : iterator; const value4 = item4 === value; if (value4) { } if (value4) { r4 = item4; r5 = value4; r8 = value; } else { item5 = Reflect.apply(iterator3, item4, []); item = item5.value; item5 = item5.done ? undefined : item4; value5 = item5 === value; if (value5) { r4 = item5; r5 = value5; r8 = value; } else { r4 = item5; r5 = value5; r8 = item; } } try { modifiedAt2 = r8.modifiedAt; } catch (error) { if (!r5) { try { r4.return(); } catch { } } throw error; } if (!r5) { r4.return(); } let Number = global.Number; const value6 = Number(modifiedAt); Number = global.Number; return value6 - Number(modifiedAt2); } function _fun120148(a0) { // fn#120148, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:15876:4623, offset: 0x02522664, size: 23 bytes, params: 2, frame: 2 a0.user = {}; a0.stream = {}; } global.__d(_fun120127, 15668, [7, 6, 15, 17, 18, 57, 4295, 4613, 1226, 4259, 4291, 8902, 21, 1314, 587, 1362, 8901, 22, 12484, 9422, 4860, 2]) /* metro module 15668, dependencies: [7, 6, 15, 17, 18, 57, 4295, 4613, 1226, 4259, 4291, 8902, 21, 1314, 587, 1362, 8901, 22, 12484, 9422, 4860, 2] */;