/* Metro module 1362; source: modules/user_settings/UserSettingsProtoActionCreators.tsx; dependencies: [5, 6, 7, 1348, 670, 661, 694, 44, 1350, 507, 672, 3, 1363, 587, 1351, 1314, 1349, 1364, 683, 1365, 1366, 1367, 2] */ import Module00005 from '../../by-id/module-00005.js'; /* Metro dependency 5 */ 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 defaultImport2 from '../../by-id/module-00044.js'; /* Metro dependency 44 */ import Dispatcher from '../../Dispatcher.tsx'; /* Metro dependency 694 */ import UserSettingsProtoStore from './UserSettingsProtoStore.tsx'; /* Metro dependency 1348 */ import * as FileImportTrackerModule from '../../by-id/module-00002-FileImportTracker.js'; /* Metro dependency 2 */ import * as Preloaded_user_settingsModule from '../../external/discord_common/js/packages/protos/discord_protos/discord_users/v1/preloaded_user_settings.tsx'; /* Metro dependency 1314 */ import * as Frecency_user_settingsModule from '../../external/discord_common/js/packages/protos/discord_protos/discord_users/v1/frecency_user_settings.tsx'; /* Metro dependency 1349 */ import * as UserSettingsUtilsModule from './UserSettingsUtils.tsx'; /* Metro dependency 1350 */ import * as Uint8ArrayUtilsModule from '../../utils/Uint8ArrayUtils.tsx'; /* Metro dependency 1364 */ function _fun15596(global, require, importDefault, importAll, module, exports, dependencyMap) { // fn#15596, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:1489:6, offset: 0x00e36dca, size: 773 bytes, params: 8, frame: 28 let env0_0 = require; const _arrayLikeToArray_15599 = 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 updateUserAllGuildSettings2 = updateUserAllGuildSettings; const updateUserGuildSettings2 = updateUserGuildSettings; const closure3 = function(a0, a1) { var env0_0 = a1; var updateUserGuildSettingsBinding = updateUserGuildSettings; var INFREQUENT_USER_ACTION = UserSettingsDelay.INFREQUENT_USER_ACTION; return updateUserGuildSettingsBinding(a0, _fun15605, INFREQUENT_USER_ACTION); }; const closure4 = function() { return _updateRecurringDismissibleContentState.apply(this, arguments); }; const Object = global.Object; Object.defineProperty(exports, '__esModule', {value: true}); let value = require(670) /* metro dependency 670: UserSettingsConstants */; const UserSettingsTypes = value.UserSettingsTypes; let UserSettingsDelay = value.UserSettingsDelay; value = require(661) /* metro dependency 661: Constants */; const env0_9 = value.AbortCodes; const env0_10 = value.Endpoints; const env0_11 = value.AnalyticEvents; UserSettingsDelay = (require(670) /* metro dependency 670: UserSettingsConstants */).UserSettingsDelay; let Date = global.Date; Date.now(); (importDefault(694) /* metro dependency 694: Dispatcher */).subscribe('CONNECTION_OPEN', function() { var Date = global.Date; Date.now(); }); (importDefault(694) /* metro dependency 694: Dispatcher */).subscribe('CONNECTION_CLOSED', function() { var Date = global.Date; Date.now(); }); let document = global.document; if (typeof document !== 'undefined') { document = global.document; document.addEventListener('mousedown', function() { }); document = global.document; document.addEventListener('keydown', _fun15618); } value = _fun15619(); const PreloadedUserSettings = (Preloaded_user_settingsModule).PreloadedUserSettings; let PRELOADED_USER_SETTINGS = UserSettingsTypes.PRELOADED_USER_SETTINGS; let value3 = new value(PreloadedUserSettings, PRELOADED_USER_SETTINGS); const FrecencyUserSettings = (Frecency_user_settingsModule).FrecencyUserSettings; let FRECENCY_AND_FAVORITES_SETTINGS = UserSettingsTypes.FRECENCY_AND_FAVORITES_SETTINGS; const value6 = new value(FrecencyUserSettings, FRECENCY_AND_FAVORITES_SETTINGS); object = {}; PRELOADED_USER_SETTINGS = UserSettingsTypes.PRELOADED_USER_SETTINGS; object[PRELOADED_USER_SETTINGS] = value3; FRECENCY_AND_FAVORITES_SETTINGS = UserSettingsTypes.FRECENCY_AND_FAVORITES_SETTINGS; object[FRECENCY_AND_FAVORITES_SETTINGS] = value6; (FileImportTrackerModule).fileFinishedImporting('modules/user_settings/UserSettingsProtoActionCreators.tsx'); exports.UserSettingsDelay = UserSettingsDelay; exports.markUserSettingsLoadOkayForDevelopment = function() { }; exports.UserSettingsProtoActionCreators = value; exports.PreloadedUserSettingsActionCreators = value3; exports.FrecencyUserSettingsActionCreators = value6; exports.UserSettingsActionCreatorsByType = object; exports.updateUserAllGuildSettings = updateUserAllGuildSettings2; exports.updateUserGuildSettings = updateUserGuildSettings2; exports.setDefaultGuildThemePreference = setDefaultGuildThemePreference; exports.setGuildThemeSourcePreferenceOverride = closure3; exports.clearGuildThemeSourcePreferenceOverride = function(a0) { var setGuildThemeSourcePreferenceOverrideBinding = setGuildThemeSourcePreferenceOverride; var UNSPECIFIED = require(dependencyMap[15]).GuildThemeSourcePreference.UNSPECIFIED; return setGuildThemeSourcePreferenceOverrideBinding(a0, UNSPECIFIED); }; exports.updateUserChannelSettings = function(a0, a1, a2, a3) { var env0_0 = a1; var env0_1 = a2; return updateUserGuildSettings(a0, _fun15648, a3); }; exports.addDismissedContent = addDismissedContent; exports.updateRecurringDismissibleContentState = closure4; exports.updateGuildDismissedContent = function() { return _updateGuildDismissedContent.apply(this, arguments); }; exports.removeDismissedContent = removeDismissedContent; exports.removeDismissedRecurringContent = function(a0) { return updateRecurringDismissibleContentState(a0, {'lastDismissedVersion': 0, 'lastDismissedAtMs': '0', 'lastDismissedObjectId': '0', 'numTimesDismissed': 0}); }; exports.clearGuildDismissedContents = function() { var updateUserAllGuildSettingsBinding = updateUserAllGuildSettings; var INFREQUENT_USER_ACTION = UserSettingsDelay.INFREQUENT_USER_ACTION; return updateUserAllGuildSettingsBinding(_fun15657, INFREQUENT_USER_ACTION); }; exports.clearDismissedContents = clearDismissedContents; exports.checkAllDismissedContents = checkAllDismissedContents; function _createForOfIteratorHelperLoose_15597(a0, a1) { // fn#15597, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:1489:254, offset: 0x00e370cf, size: 370 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 _fun15598; } value = undefined; if (a0) { if (typeof a0 === 'string') { value = _arrayLikeToArray_15599(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_15599(a0, value); r6 = value; } else { regexp = RegExp('^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$', ''); if (regexp.test(r9)) { value = _arrayLikeToArray_15599(a0, value); r6 = value; } else { r6 = value; } } r5 = r6; } } else { r5 = value; } if (r5) { if (r5) { } return _fun15598; } 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 _fun15598() { // fn#15598, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:1489:825, 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 updateUserAllGuildSettings(a0, a1) { // fn#15600, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:1489:7376, offset: 0x00e37241, size: 43 bytes, params: 3, frame: 15 const env0_0 = a0; return env0_12.updateAsync('guilds', _fun15601, a1); function _fun15601(a0) { // fn#15601, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:1489:7448, offset: 0x00c3fb7a, size: 19 bytes, params: 2, frame: 11 return env0_0(a0); } } function updateUserGuildSettings(a0, a1, a2) { // fn#15602, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:1489:7460, offset: 0x00e3726c, size: 50 bytes, params: 4, frame: 15 const env0_0 = a0; const env0_1 = a1; return env0_12.updateAsync('guilds', _fun15603, a2); function _fun15603(a0) { // fn#15603, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:1489:7531, offset: 0x00e3729e, size: 54 bytes, params: 2, frame: 15 let value = environment.__proto__; value = require(1350) /* metro dependency 1350: UserSettingsUtils */; return value.mutateUserGuildSettingsInternal(a0, env0_0, require); } } function setGuildThemeSourcePreferenceOverride(a0, a1) { // fn#15604, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:1489:7586, offset: 0x00e372d4, size: 45 bytes, params: 3, frame: 15 const env0_0 = a1; const updateUserGuildSettingsBinding = updateUserGuildSettings; const INFREQUENT_USER_ACTION = UserSettingsDelay.INFREQUENT_USER_ACTION; return updateUserGuildSettingsBinding(a0, function(a0) { a0.guildThemeSourcePreference = require; }, INFREQUENT_USER_ACTION); function _fun15605(a0) { // fn#15605, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:1489:7672, offset: 0x00e37301, size: 20 bytes, params: 2, frame: 2 a0.guildThemeSourcePreference = require; } } function _updateRecurringDismissibleContentState() { // fn#15607, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:1489:7854, offset: 0x00e37333, size: 48 bytes, params: 1, frame: 14 return Module00005(_fun15609).apply(this, arguments); function* _fun15609(a0, a1) { // fn#15609, original name: ?anon_0_, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:1489:7955, offset: 0x00e3736c, size: 81 bytes, params: 3, frame: 16 var environment; if (true) { var env0_0 = a0; var env0_1 = a1; value = environment.__proto__.__proto__; var binding = env2_12; var updateAsync = binding.updateAsync; var INFREQUENT_USER_ACTION = env2_8.INFREQUENT_USER_ACTION; yield Reflect.apply(updateAsync, binding, ['userContent', _fun15610, INFREQUENT_USER_ACTION]); } function _fun15610(a0) { // fn#15610, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:1489:8012, offset: 0x00e373bd, size: 54 bytes, params: 2, frame: 14 const recurringDismissibleContentStates = a0.recurringDismissibleContentStates; const binding = env0_0; const object = {}; const recurringDismissibleContentStates2 = a0.recurringDismissibleContentStates; copyDataProperties(object, require, copyDataProperties(object, recurringDismissibleContentStates2[binding], recurringDismissibleContentStates2)); recurringDismissibleContentStates[binding] = object; } } } function _updateGuildDismissedContent() { // fn#15611, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:1489:8158, offset: 0x00e373f3, size: 48 bytes, params: 1, frame: 14 return Module00005(_fun15613).apply(this, arguments); function* _fun15613(a0, a1, a2) { // fn#15613, original name: ?anon_0_, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:1489:8237, offset: 0x00e3742c, size: 76 bytes, params: 4, frame: 16 var environment; if (true) { var env0_0 = a0; var env0_1 = a2; value = environment.__proto__.__proto__; var binding = env2_16; var INFREQUENT_USER_ACTION = env2_8.INFREQUENT_USER_ACTION; yield binding(a1, _fun15614, INFREQUENT_USER_ACTION); } function _fun15614(a0) { // fn#15614, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:1489:8294, offset: 0x00e37478, size: 54 bytes, params: 2, frame: 14 const guildDismissibleContentStates = a0.guildDismissibleContentStates; const binding = env0_0; const object = {}; const guildDismissibleContentStates2 = a0.guildDismissibleContentStates; copyDataProperties(object, importDefault, copyDataProperties(object, guildDismissibleContentStates2[binding], guildDismissibleContentStates2)); guildDismissibleContentStates[binding] = object; } } } function _fun15619() { // fn#15619, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:1489:1492, offset: 0x00e374c3, size: 327 bytes, params: 1, frame: 18 const UserSettingsProtoActionCreators2 = UserSettingsProtoActionCreators; const items2 = [{key: 'getEditInfo', value: value_15627}]; items2[1] = {key: 'getCurrentValue', value: function() { return this.getEditInfo().proto; }}; const env0_1 = Module00005(_fun15630); items2[2] = {key: 'updateAsync', value: value_15631}; items2[3] = {key: 'markDirty', value: value_15632}; items2[4] = {key: 'dispatchChanges', value: value_15633}; items2[5] = {key: 'saveLastSendTime', value: function() { var r3; var property = require(dependencyMap[13]).Storage; r3 = property.get('UserSettingsProtoLastWriteTimes') ?? ({}); property = this.type; var Date = global.Date; r3[property] = Date.now(); require(dependencyMap[13]).Storage.set('UserSettingsProtoLastWriteTimes', r3); }}; items2[6] = {key: 'loadIfUncached', value: value_15635}; const env0_0 = Module00005(_fun15637); items2[7] = {key: 'loadIfNecessary', value: value_15638}; items2[8] = {key: 'markDirtyFromMigration', value: value_15639}; items2[9] = {key: 'markDirtyIfHasPendingChange', value: function(a0) { if (this.beforeSendCallbacks.some(_fun15641)) { this.markDirty(this.ProtoClass.create(), {'dispatch': false, 'delaySeconds': 0, cleanup: a0}); } }}; items2[10] = {key: 'scheduleSaveFromOfflineEdit', value: value_15642}; return CreateClass(UserSettingsProtoActionCreators2, items2); function UserSettingsProtoActionCreators(a0, a1) { // fn#15620, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:1489:1513, offset: 0x00e3760a, size: 149 bytes, params: 3, frame: 15 var environment; let value = environment.__proto__; env1_4(this, UserSettingsProtoActionCreators); this.ProtoClass = a0; this.type = a1; this.beforeSendCallbacks = []; this.lastSendTime = 0; this.persistChanges = env1_3(_fun15622); value = importDefault(3) /* metro dependency 3: Logger */; const ProtoClass = this.ProtoClass; value = new value(ProtoClass.typeName); this.logger = value; function* _fun15622() { // fn#15622, original name: ?anon_0_, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:1489:1711, offset: 0x00e376a8, size: 1059 bytes, params: 1, frame: 30 var environment; var r16; var code; var value3; var binding; var value4; var value5; var logger; var log; var getEditInfo; var editInfo; var protoToSave; var beforeSendCallbacks; var forEach; var binding2; var value6; var protoToB64; var ProtoClass; var value7; var saveLastSendTime; var binding3; var binding4; var property; var value8; var HTTP; var patch; var object; var binding5; var USER_SETTINGS_PROTO; var type; var value9; var object2; var offlineEditDataVersion; var value10; var value11; var value12; var body; var out_of_date; var value13; var cleanupFuncs; var closure; var binding6; var binding7; var value14; var b64ToProto; var settings; var value15; var value16; var binding8; var value17; var dispatch; var object3; var error; var status; var parseInt; var headers; var int; var isNaN; var value18; var setTimeout; var persistChanges; var Math; var min; var binding9; var binding10; var Millis; var SECOND; var value19; var value20; var dispatchChanges; var INVALID_USER_SETTINGS_DATA; var errorCallbacks; var loadIfNecessary; let value = undefined; if (true) { reduciblePort80: while (true) { exceptionLanding76: while (true) { value = undefined; var env0_0 = value; value3 = environment.__proto__.__proto__.__proto__; binding = env3_1; value4 = binding(env3_2[7]); value4(true, 'this cannot run in the overlay'); value5 = environment.__proto__; binding = env1_0; logger = binding.logger; log = logger.log; Reflect.apply(log, logger, ['Persisting proto']); getEditInfo = binding.getEditInfo; editInfo = Reflect.apply(getEditInfo, binding, []).editInfo; env0_0 = editInfo; protoToSave = editInfo.protoToSave; if (protoToSave != null) { binding = env1_0; beforeSendCallbacks = binding.beforeSendCallbacks; forEach = beforeSendCallbacks.forEach; Reflect.apply(forEach, beforeSendCallbacks, [function({processProto}) { return processProto(editInfo.protoToSave); }]); binding2 = env3_0; value6 = binding2(env3_2[8]); protoToB64 = value6.protoToB64; ProtoClass = binding.ProtoClass; protoToSave = editInfo.protoToSave; value7 = Reflect.apply(protoToB64, value6, [ProtoClass, protoToSave]); if (value7 != null) { reducibleJoin5: while (true) { if (value7 !== '') { try { binding = env1_0; } catch (error) { break exceptionLanding76; } try { saveLastSendTime = binding.saveLastSendTime; } catch (error) { break exceptionLanding76; } try { Reflect.apply(saveLastSendTime, binding, []); } catch (error) { break exceptionLanding76; } try { binding3 = env3_0; } catch (error) { break exceptionLanding76; } try { binding4 = env3_2; } catch (error) { break exceptionLanding76; } try { property = binding4[9]; } catch (error) { break exceptionLanding76; } try { value8 = binding3(property); } catch (error) { break exceptionLanding76; } try { HTTP = value8.HTTP; } catch (error) { break exceptionLanding76; } try { patch = HTTP.patch; } catch (error) { break exceptionLanding76; } try { object = {}; } catch (error) { break exceptionLanding76; } try { binding5 = env3_10; } catch (error) { break exceptionLanding76; } try { USER_SETTINGS_PROTO = binding5.USER_SETTINGS_PROTO; } catch (error) { break exceptionLanding76; } try { type = binding.type; } catch (error) { break exceptionLanding76; } try { value9 = Reflect.apply(USER_SETTINGS_PROTO, binding5, [type]); } catch (error) { break exceptionLanding76; } try { object.url = value9; } catch (error) { break exceptionLanding76; } try { object2 = {}; } catch (error) { break exceptionLanding76; } try { object2.settings = value7; } catch (error) { break exceptionLanding76; } try { offlineEditDataVersion = editInfo.offlineEditDataVersion; } catch (error) { break exceptionLanding76; } try { object2.required_data_version = offlineEditDataVersion; } catch (error) { break exceptionLanding76; } try { object.body = object2; } catch (error) { break exceptionLanding76; } try { object.rejectWithError = false; } catch (error) { break exceptionLanding76; } try { value10 = Reflect.apply(patch, HTTP, [object]); } catch (error) { break exceptionLanding76; } yield value10; try { value11 = undefined; value12 = false; } catch (error) { break exceptionLanding76; } if (value12) { return value11; } try { body = value11.body; } catch (error) { break exceptionLanding76; } try { out_of_date = body.out_of_date; } catch (error) { break exceptionLanding76; } reducibleJoin42: while (true) { if (out_of_date) { try { binding = env1_0; } catch (error) { break exceptionLanding76; } try { logger = binding.logger; } catch (error) { break exceptionLanding76; } try { log = logger.log; } catch (error) { break exceptionLanding76; } try { Reflect.apply(log, logger, ['Proto was out of date, discarding changes']); } catch (error) { break exceptionLanding76; } break reducibleJoin42; } break reducibleJoin42; } try { binding = env1_0; } catch (error) { break exceptionLanding76; } try { getEditInfo = binding.getEditInfo; } catch (error) { break exceptionLanding76; } try { value13 = Reflect.apply(getEditInfo, binding, []); } catch (error) { break exceptionLanding76; } try { editInfo = value13.editInfo; } catch (error) { break exceptionLanding76; } try { cleanupFuncs = editInfo.cleanupFuncs; } catch (error) { break exceptionLanding76; } try { forEach = cleanupFuncs.forEach; } catch (error) { break exceptionLanding76; } try { closure = _fun15624; } catch (error) { break exceptionLanding76; } try { Reflect.apply(forEach, cleanupFuncs, [closure]); } catch (error) { break exceptionLanding76; } try { binding6 = env3_0; } catch (error) { break exceptionLanding76; } try { binding7 = env3_2; } catch (error) { break exceptionLanding76; } try { property = binding7[8]; } catch (error) { break exceptionLanding76; } try { value14 = binding6(property); } catch (error) { break exceptionLanding76; } try { b64ToProto = value14.b64ToProto; } catch (error) { break exceptionLanding76; } try { ProtoClass = binding.ProtoClass; } catch (error) { break exceptionLanding76; } try { settings = body.settings; } catch (error) { break exceptionLanding76; } try { value15 = Reflect.apply(b64ToProto, value14, [ProtoClass, settings]); } catch (error) { break exceptionLanding76; } try { value16 = value15 == null; } catch (error) { break exceptionLanding76; } if (value16) { return value; } try { binding = env3_1; } catch (error) { break exceptionLanding76; } try { binding8 = env3_2; } catch (error) { break exceptionLanding76; } try { property = binding8[6]; } catch (error) { break exceptionLanding76; } try { value17 = binding(property); } catch (error) { break exceptionLanding76; } try { dispatch = value17.dispatch; } catch (error) { break exceptionLanding76; } try { object = {'type': 'USER_SETTINGS_PROTO_UPDATE', 'settings': null, 'resetEditInfo': true, 'wasSaved': true, 'local': false}; } catch (error) { break exceptionLanding76; } try { object3 = {}; } catch (error) { break exceptionLanding76; } try { object3.proto = value15; } catch (error) { break exceptionLanding76; } try { binding = env1_0; } catch (error) { break exceptionLanding76; } try { type = binding.type; } catch (error) { break exceptionLanding76; } try { object3.type = type; } catch (error) { break exceptionLanding76; } try { object.settings = object3; } catch (error) { break exceptionLanding76; } try { Reflect.apply(dispatch, value17, [object]); } catch (error) { break exceptionLanding76; } break reduciblePort80; } break reducibleJoin5; } } logger = env1_0.logger; log = logger.log; Reflect.apply(log, logger, ['Not persisting proto because there is nothing to change']); break reduciblePort80; } logger = env1_0.logger; log = logger.log; Reflect.apply(log, logger, ['Not persisting proto because the proto was null']); break reduciblePort80; } status = error.status; if (status !== 429) { status = error.status; reducibleJoin87: while (true) { reducibleJoin85: while (true) { if (status !== 400) { break reducibleJoin85; } body = error.body; reducibleJoin84: while (true) { if (body == null) { code = value; break reducibleJoin84; } code = body.code; break reducibleJoin84; } INVALID_USER_SETTINGS_DATA = env3_9.INVALID_USER_SETTINGS_DATA; if (code === INVALID_USER_SETTINGS_DATA) { binding = env1_0; logger = binding.logger; log = logger.log; Reflect.apply(log, logger, ['Reloading do to invalid data']); getEditInfo = binding.getEditInfo; editInfo = Reflect.apply(getEditInfo, binding, []).editInfo; errorCallbacks = editInfo.errorCallbacks; forEach = errorCallbacks.forEach; Reflect.apply(forEach, errorCallbacks, [_fun15625]); loadIfNecessary = binding.loadIfNecessary; Reflect.apply(loadIfNecessary, binding, [true]); break reducibleJoin87; } break reducibleJoin85; } binding = env1_0; logger = binding.logger; log = logger.log; Reflect.apply(log, logger, ['Unknown user settings error']); getEditInfo = binding.getEditInfo; editInfo = Reflect.apply(getEditInfo, binding, []).editInfo; errorCallbacks = editInfo.errorCallbacks; forEach = errorCallbacks.forEach; Reflect.apply(forEach, errorCallbacks, [_fun15626]); break reducibleJoin87; } throw error; } logger = env1_0.logger; log = logger.log; Reflect.apply(log, logger, ['Rate limited, scheduling retry']); parseInt = global.parseInt; headers = error.headers; int = parseInt(headers['retry-after']); isNaN = global.isNaN; reducibleJoin79: while (true) { if (isNaN(int)) { value18 = 60; r16 = value18; break reducibleJoin79; } r16 = int; break reducibleJoin79; } setTimeout = global.setTimeout; binding = env1_0; persistChanges = binding.persistChanges; Math = global.Math; min = Math.min; binding9 = env3_1; binding10 = env3_2; Millis = binding9(binding10[10]).Millis; SECOND = Millis.SECOND; value19 = 30 * SECOND; Millis = binding9(binding10[10]).Millis; SECOND = Millis.SECOND; value20 = setTimeout(persistChanges, Reflect.apply(min, Math, [value19, r16 * SECOND])); dispatchChanges = binding.dispatchChanges; Reflect.apply(dispatchChanges, binding, [{rateLimited: true, timeout: value20}]); break reduciblePort80; } } return value; } } function value_15627() { // fn#15627, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:1489:3335, offset: 0x00e37aea, size: 31 bytes, params: 1, frame: 9 const value = environment.__proto__; return UserSettingsProtoStore.getFullState()[this.type]; } function* _fun15630(a0, a1, a2, a3) { // fn#15630, original name: ?anon_0_, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:1489:3488, offset: 0x00e37b27, size: 277 bytes, params: 5, frame: 25 var logger; if (true) { yield this.loadIfNecessary(); if (false) { return undefined; } value = environment.__proto__.__proto__; var binding = env2_0; var binding2 = env2_2; var value4 = binding(binding2[12]); var getProtoFieldClass = value4.getProtoFieldClass; var ProtoClass = this.ProtoClass; var value5 = Reflect.apply(getProtoFieldClass, value4, [ProtoClass, a0]); var getCurrentValue = this.getCurrentValue; var property = Reflect.apply(getCurrentValue, this, [])[a0]; var value6 = binding(binding2[12]); var createModifiedProto = value6.createModifiedProto; ProtoClass = this.ProtoClass; var modifiedProto = Reflect.apply(createModifiedProto, value6, [property, a1, value5, ProtoClass, a0]); if (modifiedProto != null) { logger = this.logger; logger.log('Updating ' + global.String(a0) + ' with delay ' + a2); this.markDirty(modifiedProto, {delaySeconds: a2, jitter: a2 === env2_8.AUTOMATED || a2 === env2_8.DAILY, onError: a3}); } } } function value_15631() { // fn#15631, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:1489:3827, offset: 0x00c3b2ba, size: 30 bytes, params: 1, frame: 13 return env0_1.apply(this, arguments); } function value_15632(a0, a1) { // fn#15632, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:1489:3907, offset: 0x00e37c3c, size: 690 bytes, params: 3, frame: 30 var r19; var r6; var r9; var r12; var delaySeconds; var value2; var value6; var value7; var Math; var floor; var value8; var Math3; var cleanupFuncs; var items3; var value11; var errorCallbacks; var items2; var value13; let value = environment.__proto__; (defaultImport2)(true, 'this cannot run in the overlay'); const getEditInfo = this.getEditInfo; const editInfo = Reflect.apply(getEditInfo, this, []).editInfo; const object = {}; let timeout = editInfo.timeout; object.timeout = timeout; if (editInfo.loaded) { if (a1.dispatch !== false) { (importDefault(694) /* metro dependency 694: Dispatcher */).dispatch({'type': 'USER_SETTINGS_PROTO_UPDATE', 'settings': null, 'partial': true, 'local': true, settings: {type: this.type, proto: a0}}); } delaySeconds = a1.delaySeconds; value2 = 0; r6 = delaySeconds ?? value2; timeout = object.timeout; r9 = timeout != null && r6 < editInfo.timeoutDelay; r9 = r9 && !editInfo.rateLimited; if (r9) { global.clearTimeout(object.timeout); object.timeout = undefined; } timeout = object.timeout; if (timeout == null) { value6 = 10; value7 = r6 * importDefault(dependencyMap[value6]).Millis.SECOND; if (a1.jitter) { Math = global.Math; floor = Math.floor; value8 = global.Math.random(); Math3 = global.Math; r12 = value7 + Reflect.apply(floor, Math, [value8 * Math3.min(value7, 30 * importDefault(dependencyMap[value6]).Millis.SECOND)]); } else { r12 = value7; } this.logger.log('Scheduling save from markDirty'); object.timeout = global.setTimeout(this.persistChanges, r12); object.timeoutDelay = r6; r19 = value6; } if (a1.cleanup != null) { cleanupFuncs = editInfo.cleanupFuncs; items3 = []; arraySpread(items3, a1.cleanup, arraySpread(items3, cleanupFuncs, value2, r19), r19); object.cleanupFuncs = items3; } value11 = a1.onError == null; if (value11) { r6 = value11; } else { errorCallbacks = editInfo.errorCallbacks; r6 = errorCallbacks.includes(a1.onError); } if (!r6) { errorCallbacks = editInfo.errorCallbacks; items2 = []; value13 = arraySpread(items2, errorCallbacks, value2, r19); items2[value13] = a1.onError; value13 + 1; object.errorCallbacks = items2; } if (editInfo.protoToSave == null) { object.protoToSave = a0; } else { value = require(1350) /* metro dependency 1350: UserSettingsUtils */; object.protoToSave = value.mergeTopLevelFields(this.ProtoClass, editInfo.protoToSave, a0); } this.dispatchChanges(object); return undefined; } const Error = global.Error; throw Error('Cannot edit user settings proto because we have not yet loaded the stored version from the DB'); } function value_15633(a0) { // fn#15633, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:1489:4985, offset: 0x00e37eee, size: 74 bytes, params: 2, frame: 14 const value = environment.__proto__; (Dispatcher).dispatch({type: 'USER_SETTINGS_PROTO_UPDATE_EDIT_INFO', settings: {changes: a0, type: this.type}}); } function value_15635(a0, a1) { // fn#15635, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:1489:5269, offset: 0x00e37fb0, size: 54 bytes, params: 3, frame: 13 const value = environment.__proto__; if (!(UserSettingsProtoStore.hasLoaded(a0) && a1 !== true)) { this.loadIfNecessary(a1); } } function* _fun15637(a0) { // fn#15637, original name: ?anon_0_, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:1489:5368, offset: 0x00e37fef, size: 493 bytes, params: 2, frame: 25 var dispatchChanges; var object; var binding; var binding2; var property; var value5; var HTTP; var get; var USER_SETTINGS_PROTO; var type; var value6; var value7; var value8; var value9; var body; var settings; var binding3; var value10; var b64ToProto; var ProtoClass; var value11; var value12; var binding4; var value13; var binding5; var property2; var value14; var runMigrations; var value15; var proto; var isDirty; var cleanupFuncs; var value16; var dispatch; var object2; var value17; var markDirtyFromMigration; var error; let value = a0; if (false) { return undefined; } const getEditInfo = this.getEditInfo; const editInfo = Reflect.apply(getEditInfo, this, []).editInfo; if (value) { this.logger.log('Loading proto'); this.dispatchChanges({loading: true}); } else { if (editInfo.loaded) { return undefined; } if (editInfo.loading) { return undefined; } this.logger.log('Loading proto'); this.dispatchChanges({loading: true}); } try { binding = env2_0; } catch (error) { this.dispatchChanges({loading: false}); throw error; } try { binding2 = env2_2; } catch (error) { this.dispatchChanges({loading: false}); throw error; } try { property = binding2[9]; } catch (error) { this.dispatchChanges({loading: false}); throw error; } try { value5 = binding(property); } catch (error) { this.dispatchChanges({loading: false}); throw error; } try { HTTP = value5.HTTP; } catch (error) { this.dispatchChanges({loading: false}); throw error; } try { get = HTTP.get; } catch (error) { this.dispatchChanges({loading: false}); throw error; } try { object = {}; } catch (error) { this.dispatchChanges({loading: false}); throw error; } try { binding = env2_10; } catch (error) { this.dispatchChanges({loading: false}); throw error; } try { USER_SETTINGS_PROTO = binding.USER_SETTINGS_PROTO; } catch (error) { this.dispatchChanges({loading: false}); throw error; } try { type = this.type; } catch (error) { this.dispatchChanges({loading: false}); throw error; } try { value6 = Reflect.apply(USER_SETTINGS_PROTO, binding, [type]); } catch (error) { this.dispatchChanges({loading: false}); throw error; } try { object.url = value6; } catch (error) { this.dispatchChanges({loading: false}); throw error; } try { object.rejectWithError = false; } catch (error) { this.dispatchChanges({loading: false}); throw error; } try { value7 = Reflect.apply(get, HTTP, [object]); } catch (error) { this.dispatchChanges({loading: false}); throw error; } yield value7; try { value8 = undefined; value9 = false; } catch (error) { this.dispatchChanges({loading: false}); throw error; } if (value9) { return value8; } try { body = value8.body; } catch (error) { this.dispatchChanges({loading: false}); throw error; } try { settings = body.settings; } catch (error) { this.dispatchChanges({loading: false}); throw error; } try { binding = env2_0; } catch (error) { this.dispatchChanges({loading: false}); throw error; } try { binding3 = env2_2; } catch (error) { this.dispatchChanges({loading: false}); throw error; } try { property = binding3[8]; } catch (error) { this.dispatchChanges({loading: false}); throw error; } try { value10 = binding(property); } catch (error) { this.dispatchChanges({loading: false}); throw error; } try { b64ToProto = value10.b64ToProto; } catch (error) { this.dispatchChanges({loading: false}); throw error; } try { ProtoClass = this.ProtoClass; } catch (error) { this.dispatchChanges({loading: false}); throw error; } try { value11 = Reflect.apply(b64ToProto, value10, [ProtoClass, settings]); } catch (error) { this.dispatchChanges({loading: false}); throw error; } try { value12 = value11 == null; } catch (error) { this.dispatchChanges({loading: false}); throw error; } if (value12) { try { dispatchChanges = this.dispatchChanges; } catch (error) { this.dispatchChanges({loading: false}); throw error; } try { object = {'loading': false, 'loaded': true}; } catch (error) { this.dispatchChanges({loading: false}); throw error; } try { Reflect.apply(dispatchChanges, this, [object]); } catch (error) { this.dispatchChanges({loading: false}); throw error; } return undefined; } try { binding = env2_1; } catch (error) { this.dispatchChanges({loading: false}); throw error; } try { binding4 = env2_2; } catch (error) { this.dispatchChanges({loading: false}); throw error; } try { property = binding4[14]; } catch (error) { this.dispatchChanges({loading: false}); throw error; } try { value13 = binding(property); } catch (error) { this.dispatchChanges({loading: false}); throw error; } try { type = this.type; } catch (error) { this.dispatchChanges({loading: false}); throw error; } try { property = value13[type]; } catch (error) { this.dispatchChanges({loading: false}); throw error; } try { binding5 = env2_0; } catch (error) { this.dispatchChanges({loading: false}); throw error; } try { property2 = binding4[8]; } catch (error) { this.dispatchChanges({loading: false}); throw error; } try { value14 = binding5(property2); } catch (error) { this.dispatchChanges({loading: false}); throw error; } try { runMigrations = value14.runMigrations; } catch (error) { this.dispatchChanges({loading: false}); throw error; } try { value15 = Reflect.apply(runMigrations, value14, [value11, property]); } catch (error) { this.dispatchChanges({loading: false}); throw error; } try { proto = value15.proto; } catch (error) { this.dispatchChanges({loading: false}); throw error; } try { isDirty = value15.isDirty; } catch (error) { this.dispatchChanges({loading: false}); throw error; } try { cleanupFuncs = value15.cleanupFuncs; } catch (error) { this.dispatchChanges({loading: false}); throw error; } try { property = binding4[6]; } catch (error) { this.dispatchChanges({loading: false}); throw error; } try { value16 = binding(property); } catch (error) { this.dispatchChanges({loading: false}); throw error; } try { dispatch = value16.dispatch; } catch (error) { this.dispatchChanges({loading: false}); throw error; } try { object = {}; } catch (error) { this.dispatchChanges({loading: false}); throw error; } try { object.type = 'USER_SETTINGS_PROTO_UPDATE'; } catch (error) { this.dispatchChanges({loading: false}); throw error; } try { object2 = {}; } catch (error) { this.dispatchChanges({loading: false}); throw error; } try { type = this.type; } catch (error) { this.dispatchChanges({loading: false}); throw error; } try { object2.type = type; } catch (error) { this.dispatchChanges({loading: false}); throw error; } try { object2.proto = value11; } catch (error) { this.dispatchChanges({loading: false}); throw error; } try { object.settings = object2; } catch (error) { this.dispatchChanges({loading: false}); throw error; } try { object.resetEditInfo = isDirty || value; } catch (error) { this.dispatchChanges({loading: false}); throw error; } try { object.local = false; } catch (error) { this.dispatchChanges({loading: false}); throw error; } try { value = Reflect.apply(dispatch, value16, [object]); } catch (error) { this.dispatchChanges({loading: false}); throw error; } yield value; try { value = undefined; value17 = false; } catch (error) { this.dispatchChanges({loading: false}); throw error; } if (value17) { return value; } if (isDirty) { try { markDirtyFromMigration = this.markDirtyFromMigration; } catch (error) { this.dispatchChanges({loading: false}); throw error; } try { Reflect.apply(markDirtyFromMigration, this, [proto, cleanupFuncs]); } catch (error) { this.dispatchChanges({loading: false}); throw error; } } return value11; } function value_15638() { // fn#15638, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:1489:6049, offset: 0x00c3945f, size: 30 bytes, params: 1, frame: 13 return env0_0.apply(this, arguments); } function value_15639(a0, a1) { // fn#15639, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:1489:6146, offset: 0x00e381dc, size: 167 bytes, params: 3, frame: 19 (defaultImport2)(true, 'this cannot run in the overlay'); this.logger.log('Marking dirty due to migrates'); const getEditInfo = this.getEditInfo; defaultImport2(Reflect.apply(getEditInfo, this, []).editInfo.offlineEditDataVersion == null, 'offline changes are not supported with migrations'); const markDirty = this.markDirty; const AUTOMATED = UserSettingsDelay.AUTOMATED; Reflect.apply(markDirty, this, [a0, {cleanup: a1, dispatch: false, delaySeconds: AUTOMATED, jitter: true}]); } function value_15640(a0) { // fn#15640, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:1489:6492, offset: 0x00e38283, size: 79 bytes, params: 2, frame: 14 const beforeSendCallbacks = this.beforeSendCallbacks; if (beforeSendCallbacks.some(function(a0) { return (0, a0.hasChanges)(); })) { this.markDirty(this.ProtoClass.create(), {'dispatch': false, 'delaySeconds': 0, cleanup: a0}); } } function value_15642() { // fn#15642, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:1489:6683, offset: 0x00e382e3, size: 268 bytes, params: 1, frame: 19 let value = environment.__proto__; (defaultImport2)(true, 'this cannot run in the overlay'); this.logger.log('Scheduling save from offline edit'); const getEditInfo = this.getEditInfo; const editInfo = Reflect.apply(getEditInfo, this, []).editInfo; (defaultImport2)(editInfo.protoToSave != null, 'protoToSave cannot be null'); (defaultImport2)(editInfo.offlineEditDataVersion != null, 'offlineEditDataVersion cannot be null'); (defaultImport2)(editInfo.timeout == null, 'timeout must not be set already'); const Math = global.Math; const floor = Math.floor; const Math2 = global.Math; value = Math2.random(); value = 5000 + Reflect.apply(floor, Math, [5000 * value]); this.dispatchChanges({timeout: global.setTimeout(this.persistChanges, value), timeoutDelay: value}); } } function setDefaultGuildThemePreference(a0) { // fn#15644, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:1489:8940, offset: 0x00e383ef, size: 50 bytes, params: 2, frame: 15 const env0_0 = a0; const binding = env0_12; const updateAsync = binding.updateAsync; const INFREQUENT_USER_ACTION = UserSettingsDelay.INFREQUENT_USER_ACTION; return Reflect.apply(updateAsync, binding, ['appearance', _fun15645, INFREQUENT_USER_ACTION]); function _fun15645(a0) { // fn#15645, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:1489:9018, offset: 0x00e38421, size: 81 bytes, params: 2, frame: 13 if ((a0.defaultGuildThemePreference ?? (require(1314) /* metro dependency 1314: preloaded_user_settings */).GuildThemeSourcePreference.UNSPECIFIED) === env0_0) { return false; } a0.defaultGuildThemePreference = env0_0; } } function updateUserChannelSettings(a0, a1, a2, a3) { // fn#15647, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:1489:9499, offset: 0x00e384a6, size: 45 bytes, params: 5, frame: 15 const env0_0 = a1; const env0_1 = a2; return updateUserGuildSettings(a0, _fun15648, a3); function _fun15648(a0) { // fn#15648, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:1489:9577, offset: 0x00e384d3, size: 54 bytes, params: 2, frame: 15 const value = environment.__proto__; return (UserSettingsUtilsModule).mutateUserChannelSettingsInternal(a0, require, importDefault); } } function addDismissedContent(a0) { // fn#15649, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:1489:9658, offset: 0x00e38509, size: 62 bytes, params: 2, frame: 15 const env0_0 = a0; trackDismissibleContentDismissedBeforeConnectionOpen(a0); const binding = env0_12; const updateAsync = binding.updateAsync; const INFREQUENT_USER_ACTION = UserSettingsDelay.INFREQUENT_USER_ACTION; return Reflect.apply(updateAsync, binding, ['userContent', _fun15651, INFREQUENT_USER_ACTION]); function trackDismissibleContentDismissedBeforeConnectionOpen(a0) { // fn#15650, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:1489:9697, owner: addDismissedContent.trackDismissibleContentDismissedBeforeConnectionOpen, offset: 0x00e38547, size: 196 bytes, params: 2, frame: 18 const userSettingsProtoStoreBinding = UserSettingsProtoStore; const hasLoaded = userSettingsProtoStoreBinding.hasLoaded; const PRELOADED_USER_SETTINGS = UserSettingsTypes.PRELOADED_USER_SETTINGS; if (Reflect.apply(hasLoaded, userSettingsProtoStoreBinding, [PRELOADED_USER_SETTINGS])) { return undefined; } const userContent = UserSettingsProtoStore.settings.userContent; const value2 = undefined; const dismissedContents = userContent == null ? value2 : userContent.dismissedContents; if (!(dismissedContents != null && (require(1364) /* metro dependency 1364: Uint8ArrayUtils */).hasBit(dismissedContents, a0))) { var defaultImport = importDefault(683) /* metro dependency 683: AnalyticsUtils */; var track = defaultImport.track; var DISMISSIBLE_CONTENT_DISMISSED_BEFORE_CONNECTION_OPEN = AnalyticEvents.DISMISSIBLE_CONTENT_DISMISSED_BEFORE_CONNECTION_OPEN; var DismissibleContent = (require(1365) /* metro dependency 1365: dismissible_content */).DismissibleContent; Reflect.apply(track, defaultImport, [DISMISSIBLE_CONTENT_DISMISSED_BEFORE_CONNECTION_OPEN, {content_type: DismissibleContent[a0]}]); } return value2; } function _fun15651(a0) { // fn#15651, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:1489:10120, offset: 0x00e3860b, size: 107 bytes, params: 2, frame: 18 let value = environment.__proto__; if (Uint8ArrayUtilsModule.hasBit(a0.dismissedContents, env0_0)) { return false; } value = Uint8ArrayUtilsModule; a0.dismissedContents = value.addBit(a0.dismissedContents, env0_0); } } function removeDismissedContent(a0) { // fn#15653, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:1489:10501, offset: 0x00e38694, size: 50 bytes, params: 2, frame: 15 const env0_0 = a0; const binding = env0_12; const updateAsync = binding.updateAsync; const INFREQUENT_USER_ACTION = UserSettingsDelay.INFREQUENT_USER_ACTION; return Reflect.apply(updateAsync, binding, ['userContent', _fun15654, INFREQUENT_USER_ACTION]); function _fun15654(a0) { // fn#15654, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:1489:10572, offset: 0x00e386c6, size: 107 bytes, params: 2, frame: 18 let value = environment.__proto__; if (Uint8ArrayUtilsModule.hasBit(a0.dismissedContents, env0_0)) { value = Uint8ArrayUtilsModule; a0.dismissedContents = value.removeBit(a0.dismissedContents, env0_0); return undefined; } return false; } } function clearGuildDismissedContents() { // fn#15656, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:1489:10974, offset: 0x00e3874f, size: 34 bytes, params: 1, frame: 13 const updateUserAllGuildSettingsBinding = updateUserAllGuildSettings; const INFREQUENT_USER_ACTION = UserSettingsDelay.INFREQUENT_USER_ACTION; return updateUserAllGuildSettingsBinding(function(a0) { var r1; var property; var value; var value2; var Uint8Array; var value4; var value6; if (a0.guilds != null) { property = global.Object; value = property.values(a0.guilds); value2 = 0; if (value2 < value.length) { r1 = value2; while (true) { property = value[r1]; if (property != null) { property.guildDismissibleContentStates = {}; Uint8Array = global.Uint8Array; value4 = new Uint8Array(); property.dismissedGuildContent = value4; } value6 = typeof r1 === 'bigint' ? r1 + 1n : +r1 + 1; if (value6 < value.length) { r1 = value6; continue; } break; } } } }, INFREQUENT_USER_ACTION); } function clearDismissedContents() { // fn#15658, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:1489:11276, offset: 0x00e387e6, size: 43 bytes, params: 1, frame: 15 const binding = env0_12; const updateAsync = binding.updateAsync; const INFREQUENT_USER_ACTION = UserSettingsDelay.INFREQUENT_USER_ACTION; return Reflect.apply(updateAsync, binding, ['userContent', function(a0) { var Uint8Array = global.Uint8Array; a0.dismissedContents = new Uint8Array(); a0.recurringDismissibleContentStates = {}; }, INFREQUENT_USER_ACTION]); } function checkAllDismissedContents() { // fn#15660, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:1489:11482, offset: 0x00e38842, size: 43 bytes, params: 1, frame: 15 const binding = env0_12; const updateAsync = binding.updateAsync; const INFREQUENT_USER_ACTION = UserSettingsDelay.INFREQUENT_USER_ACTION; return Reflect.apply(updateAsync, binding, ['userContent', _fun15661, INFREQUENT_USER_ACTION]); function _fun15661(a0) { // fn#15661, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:1489:11555, offset: 0x00e3886d, size: 238 bytes, params: 2, frame: 23 var r4; var r5; var r11; var r1; var moduleValue; var isSingleUseDismissibleContent; var recurringDismissibleContentStates; var moduleValue2; var getDismissedRecurringDismissibleContentState; var moduleValue3; const Uint8Array = global.Uint8Array; let uint8Array = new Uint8Array(); const _createForOfIteratorHelperLoose_15597Binding = _createForOfIteratorHelperLoose_15597; const ALL_DISMISSIBLE_CONTENT = (require(1366) /* metro dependency 1366: DismissibleContentTypes */).ALL_DISMISSIBLE_CONTENT; const value3 = _createForOfIteratorHelperLoose_15597Binding(ALL_DISMISSIBLE_CONTENT); const value4 = value3(); let done = value4.done; if (done) { r1 = uint8Array; } else { r4 = uint8Array; r5 = value4; while (true) { uint8Array = r5.value; moduleValue = require(1366) /* metro dependency 1366: DismissibleContentTypes */; isSingleUseDismissibleContent = moduleValue.isSingleUseDismissibleContent; if (Reflect.apply(isSingleUseDismissibleContent, moduleValue, [uint8Array])) { moduleValue3 = require(1364) /* metro dependency 1364: Uint8ArrayUtils */; uint8Array = moduleValue3.addBit(r4, uint8Array); r11 = uint8Array; } else { recurringDismissibleContentStates = a0.recurringDismissibleContentStates; moduleValue2 = require(1367) /* metro dependency 1367: DismissibleContentUtils */; getDismissedRecurringDismissibleContentState = moduleValue2.getDismissedRecurringDismissibleContentState; recurringDismissibleContentStates[uint8Array] = Reflect.apply(getDismissedRecurringDismissibleContentState, moduleValue2, [uint8Array]); r11 = r4; } uint8Array = value3(); done = uint8Array.done; if (done) { r1 = r11; break; } r4 = r11; r5 = uint8Array; continue; } } a0.dismissedContents = r1; } } } function _fun15618() { // fn#15618, offset: 0x00c37b63, size: 4 bytes, params: 1, frame: 1 } function _fun15624(a0) { // fn#15624, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:1489:2304, offset: 0x00c78604, size: 11 bytes, params: 2, frame: 9 return a0(); } function _fun15625(a0) { // fn#15625, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:1489:2719, offset: 0x00c78604, size: 11 bytes, params: 2, frame: 9 return a0(); } function _fun15626(a0) { // fn#15626, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:1489:2847, offset: 0x00c78604, size: 11 bytes, params: 2, frame: 9 return a0(); } function _fun15641({hasChanges}) { // fn#15641, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:1489:6535, offset: 0x00e382d2, size: 17 bytes, params: 2, frame: 9 return hasChanges(); } function _fun15657(a0) { // fn#15657, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:1489:11048, offset: 0x00e38771, size: 117 bytes, params: 2, frame: 15 var r1; var Object; var value; var length; var value2; var property; var Uint8Array; var prototype; var value3; var uint8Array; var value4; var value5; if (a0.guilds != null) { Object = global.Object; value = Object.values(a0.guilds); length = value.length; value2 = 0; if (value2 < length) { r1 = value2; while (true) { property = value[r1]; if (property != null) { property.guildDismissibleContentStates = {}; Uint8Array = global.Uint8Array; prototype = Uint8Array.prototype; value3 = Object.create(prototype, {constructor: {value: Uint8Array}}); uint8Array = new Uint8Array(); value4 = uint8Array instanceof Object ? uint8Array : value3; property.dismissedGuildContent = value4; } value5 = typeof r1 === 'bigint' ? r1 + 1n : +r1 + 1; length = value.length; if (value5 < length) { r1 = value5; continue; } break; } } } } global.__d(_fun15596, 1362, [5, 6, 7, 1348, 670, 661, 694, 44, 1350, 507, 672, 3, 1363, 587, 1351, 1314, 1349, 1364, 683, 1365, 1366, 1367, 2]) /* metro module 1362, dependencies: [5, 6, 7, 1348, 670, 661, 694, 44, 1350, 507, 672, 3, 1363, 587, 1351, 1314, 1349, 1364, 683, 1365, 1366, 1367, 2] */;