/* Metro module 1945; source: stores/GuildMemberStore.tsx; dependencies: [6, 7, 15, 17, 18, 1946, 1937, 1226, 1379, 1938, 1867, 3772, 3, 3773, 1940, 1391, 21, 1857, 1858, 1888, 1360, 1908, 22, 3774, 566, 694, 2] */ function _fun21588(global, require, importDefault, importAll, module, exports, dependencyMap) { // fn#21588, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:2072:6, offset: 0x00ef477e, size: 1100 bytes, params: 8, frame: 30 var object2; const env0_0 = require; const _arrayLikeToArray_21594 = 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 closure = getCommunicationDisabledUserKey; const closure2 = getUserIdFromCommunicationDisabledUserKey; const closure3 = getGuildIdFromCommunicationDisabledUserKey; const closure4 = GUILD_MEMBER_ADD_21605; const closure5 = GUILD_ROLE_UPDATE_21613; const closure6 = IMPERSONATE_UPDATE_21615; const closure7 = function({message, guildId}) { return processMessageResolvedMembers(message, guildId); }; const closure8 = function({messages}) { messages.forEach(_fun21624); }; const closure9 = function({data}) { data.forEach(_fun21626); LOAD_MESSAGES_SUCCESS_21623({messages: []}); }; const Object = global.Object; Object.defineProperty(exports, '__esModule', {value: true}); const env0_3 = importDefault(6) /* metro dependency 6 */; const env0_4 = importDefault(7) /* metro dependency 7 */; const env0_5 = importDefault(15) /* metro dependency 15 */; const env0_6 = importDefault(17) /* metro dependency 17 */; const env0_7 = importDefault(18) /* metro dependency 18 */; const env0_8 = (require(1946) /* metro dependency 1946: useCommunicationDisabledNoticeStore */).clearCommunicationDisabledNotice; const impersonateStore = importDefault(1937) /* metro dependency 1937: ImpersonateStore */; const authenticationStore = importDefault(1226) /* metro dependency 1226: AuthenticationStore */; const channelStore = importDefault(1379) /* metro dependency 1379: ChannelStore */; const guildRoleStore = importDefault(1938) /* metro dependency 1938: GuildRoleStore */; const guildStore = importDefault(1867) /* metro dependency 1867: GuildStore */; const env0_14 = (require(3772) /* metro dependency 3772: GuildMemberConstants */).GuildMemberFlags; let value = importDefault(3) /* metro dependency 3: Logger */; value = new value('GuildMemberStore'); let env0_16 = {}; let env0_17 = {}; const env0_18 = {}; let env0_19 = {}; const env0_20 = {}; const env0_24 = {}; const env0_25 = {}; object2 = {added: [], removed: []}; object2 = {GUILD: 0}; object2[0] = 'GUILD'; object2.USER = 1; object2[1] = 'USER'; const Store = (importDefault(566) /* metro dependency 566: flux */).Store; _fun21629(Store).displayName = 'GuildMemberStore'; value = new value(importDefault(694) /* metro dependency 694: Dispatcher */, {CONNECTION_OPEN: CONNECTION_OPEN_21654, CONNECTION_OPEN_SUPPLEMENTAL: function({guilds}) { guilds.forEach(_fun21658); }, OVERLAY_INITIALIZE: function({guildMembers}) { var r1; var object = {}; copyDataProperties(object, guildMembers, r1); env0_16 = object; env0_17 = {}; }, CACHE_LOADED: function({guildMembers, guilds}) { var r3; env0_21 = true; var object = {}; copyDataProperties(object, guildMembers, r3); env0_16 = object; env0_17 = {}; env0_19 = {}; handleCachedGuilds(guilds); }, CACHE_LOADED_LAZY: function({guilds}) { handleCachedGuilds(guilds); }, GUILD_CREATE: function({guild}) { return buildMembers(guild); }, GUILD_DELETE: GUILD_DELETE_21664, GUILD_MEMBER_ADD: closure4, GUILD_MEMBER_UPDATE: closure4, GUILD_MEMBER_UPDATE_LOCAL: GUILD_MEMBER_UPDATE_LOCAL_21665, GUILD_MEMBERS_CHUNK_BATCH: function(a0) { var r2; var r3; var r7; var r0; var value5; var batchUpdateGuildMembersBinding; var guildId; var value6; var value7; var value2 = _createForOfIteratorHelperLoose_21592(a0.chunks); var value3 = value2(); var value4 = false; if (value3.done) { r0 = value4; } else { r2 = value4; r3 = value3; while (true) { value5 = r3.value; batchUpdateGuildMembersBinding = batchUpdateGuildMembers; guildId = value5.guildId; value6 = batchUpdateGuildMembersBinding(guildId, value5.members); r7 = value6 || r2; value7 = value2(); if (value7.done) { r0 = r7; break; } r2 = r7; r3 = value7; continue; } } return r0; }, GUILD_MEMBER_REMOVE: function({guildId, user}) { _removeMemberFromGuild(guildId, user.id); }, GUILD_MEMBER_REMOVE_LOCAL: function({guildId, userId}) { _removeMemberFromGuild(guildId, userId); }, THREAD_MEMBER_LIST_UPDATE: function({guildId, members}) { return batchUpdateGuildMembers(guildId, members.map(_fun21670).filter(require(dependencyMap[20]).isNotNullish)); }, THREAD_MEMBERS_UPDATE: THREAD_MEMBERS_UPDATE, LOAD_ARCHIVED_THREADS_SUCCESS: function({guildId, owners}) { return batchUpdateGuildMembers(guildId, owners); }, LOAD_FORUM_POSTS: LOAD_FORUM_POSTS, GUILD_ROLE_UPDATE: closure5, GUILD_ROLE_DELETE: closure5, GUILD_ROLE_MEMBER_REMOVE: GUILD_ROLE_MEMBER_REMOVE, GUILD_ROLE_MEMBER_ADD: GUILD_ROLE_MEMBER_ADD, GUILD_MEMBER_PROFILE_UPDATE: GUILD_MEMBER_PROFILE_UPDATE, IMPERSONATE_UPDATE: closure6, IMPERSONATE_STOP: closure6, PASSIVE_UPDATE_V2: PASSIVE_UPDATE_V2, CLEAR_PENDING_CHANNEL_AND_ROLE_UPDATES: CLEAR_PENDING_CHANNEL_AND_ROLE_UPDATES, LOCAL_MESSAGES_LOADED: LOCAL_MESSAGES_LOADED, MESSAGE_CREATE: closure7, MESSAGE_UPDATE: closure7, LOAD_MESSAGES_SUCCESS: closure8, LOAD_MESSAGES_AROUND_SUCCESS: closure8, LOAD_RECENT_MENTIONS_SUCCESS: closure8, LOAD_PINNED_MESSAGES_SUCCESS: function({pins}) { pins.forEach(_fun21684); }, SEARCH_MESSAGES_SUCCESS: closure9, MOD_VIEW_SEARCH_MESSAGES_SUCCESS: closure9, MEMBER_SAFETY_GUILD_MEMBER_SEARCH_SUCCESS: MEMBER_SAFETY_GUILD_MEMBER_SEARCH_SUCCESS, EMBEDDED_ACTIVITY_UPDATE_V2: EMBEDDED_ACTIVITY_UPDATE_V2_21687, INTERACTION_MODAL_CREATE: INTERACTION_MODAL_CREATE}); (require(2) /* metro dependency 2 */).fileFinishedImporting('stores/GuildMemberStore.tsx'); exports.default = value; exports.getUserCommunicationDisabledVersion = getUserCommunicationDisabledVersion; exports.getCommunicationDisabledUserKey = closure; exports.getUserIdFromCommunicationDisabledUserKey = closure2; exports.getGuildIdFromCommunicationDisabledUserKey = closure3; } function _isNativeReflectConstruct_21589() { // fn#21589, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:2072:274, offset: 0x00ef4bca, size: 94 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_21589_isNativeReflectConstruct = function() { return !!result; })(); } function _createForOfIteratorHelperLoose_21592(a0, a1) { // fn#21592, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:2072:467, offset: 0x00ef4c28, 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 _fun21593; } value = undefined; if (a0) { if (typeof a0 === 'string') { value = _arrayLikeToArray_21594(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_21594(a0, value); r6 = value; } else { regexp = RegExp('^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$', ''); if (regexp.test(r9)) { value = _arrayLikeToArray_21594(a0, value); r6 = value; } else { r6 = value; } } r5 = r6; } } else { r5 = value; } if (r5) { if (r5) { } return _fun21593; } 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 trackCommunicationDisabled(a0, a1) { // fn#21595, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:2072:1489, offset: 0x00ef4d9a, size: 174 bytes, params: 3, frame: 18 var communicationDisabledUserKey; if (a1.communicationDisabledUntil == null) { removeCommunicationDisabled(a0, a1.userId); } else { var moduleValue = require(3773) /* metro dependency 3773: CommunicationDisabledUtils */; if (moduleValue.isMemberCommunicationDisabled(a1)) { communicationDisabledUserKey = getCommunicationDisabledUserKey(a0, a1.userId); if (env0_20[communicationDisabledUserKey] !== a1.communicationDisabledUntil && (require(3773) /* metro dependency 3773: CommunicationDisabledUtils */).isMemberCommunicationDisabled(a1)) { env0_20[communicationDisabledUserKey] = a1.communicationDisabledUntil; incrementCommunicationDisabledVersion(communicationDisabledUserKey); } return undefined; } removeCommunicationDisabled(a0, a1.userId); } } function removeCommunicationDisabled(a0, a1) { // fn#21596, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:2072:1868, offset: 0x00ef4e48, size: 133 bytes, params: 3, frame: 21 var r7; var propertyName; var propertyName2; var communicationDisabledUserKey; if (a1 != null) { communicationDisabledUserKey = getCommunicationDisabledUserKey(a0, a1); if (env0_20[communicationDisabledUserKey] != null) { incrementCommunicationDisabledVersion(communicationDisabledUserKey); } _removeCommunicationDisabledFromMap(getCommunicationDisabledUserKey(a0, a1)); } else { for (propertyName in env0_20) { if (getGuildIdFromCommunicationDisabledUserKey(propertyName) !== a0) { r7 = propertyName2; continue; } incrementCommunicationDisabledVersion(propertyName); _removeCommunicationDisabledFromMap(propertyName); r7 = propertyName2; } } } function incrementCommunicationDisabledVersion(a0) { // fn#21597, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:2072:2255, offset: 0x00ef4ecd, size: 33 bytes, params: 2, frame: 3 env0_24[a0] = env0_22 + 1; } function _removeCommunicationDisabledFromMap(a0) { // fn#21598, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:2072:2317, offset: 0x00ef4eee, size: 63 bytes, params: 2, frame: 14 const userIdFromCommunicationDisabledUserKey = getUserIdFromCommunicationDisabledUserKey(a0); const getId = AuthenticationStore.getId; if (userIdFromCommunicationDisabledUserKey === Reflect.apply(getId, AuthenticationStore, [])) { clearCommunicationDisabledNotice(getGuildIdFromCommunicationDisabledUserKey(a0)); } delete env0_20[a0]; } function getCommunicationDisabledUserKey(a0, a1) { // fn#21599, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:2072:2559, offset: 0x00ef4f2d, size: 57 bytes, params: 3, frame: 12 const items2 = []; const GUILD = env0_27.GUILD; items2[GUILD] = a0; const USER = env0_27.USER; items2[USER] = a1; return items2.join('-'); } function getUserIdFromCommunicationDisabledUserKey(a0) { // fn#21600, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:2072:2658, offset: 0x00ef4f66, size: 36 bytes, params: 2, frame: 11 const value = a0.split('-'); const USER = env0_27.USER; return value[USER]; } function getGuildIdFromCommunicationDisabledUserKey(a0) { // fn#21601, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:2072:2740, offset: 0x00ef4f8a, size: 36 bytes, params: 2, frame: 11 const value = a0.split('-'); const GUILD = env0_27.GUILD; return value[GUILD]; } function computeDerivedMemberState(a0, a1) { // fn#21602, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:2072:2824, offset: 0x00ef4fae, size: 578 bytes, params: 3, frame: 37 var r4; var r8; var r9; var r10; var r11; var r22; var r0; var r23; var r24; var r25; var r17; var r18; var r19; var r20; var r2; var r5; var r6; var r7; var value6; var property; var value7; var moduleValue; var value8; var color; var value9; var value10; var moduleValue2; var value11; var hoist; var value12; var moduleValue3; var value13; var icon; var value14; var unicodeEmoji; var value15; var value16; var moduleValue4; var value17; var value18; if (a1.length === 0) { return {'colorString': null, 'colorStrings': null, colorRoleId: undefined, hoistRoleId: undefined, iconRoleId: undefined, highestRoleId: undefined}; } const _createForOfIteratorHelperLoose_21592Binding = _createForOfIteratorHelperLoose_21592; const value2 = undefined; const value3 = _createForOfIteratorHelperLoose_21592Binding(a1); const value4 = value3(); let done = value4.done; const value5 = null; if (done) { r2 = value2; r5 = value2; r6 = value2; r7 = value2; } else { r4 = value4; r8 = value2; r9 = value2; r10 = value2; r11 = value2; while (true) { value6 = r4.value; property = a0[value6]; if (value5 != property) { value7 = value5 == r8; if (value7) { r22 = value7; continue; } moduleValue = require(1940) /* metro dependency 1940: GuildRoleUtils */; value8 = moduleValue.doesRoleSortHigher(property, r8); r22 = value8; if (r22) { r0 = property; continue; } r0 = r8; continue; color = property.color; value9 = color > 0; if (!value9) { r22 = value9; continue; } value10 = value5 == r11; if (value10) { r23 = value10; continue; } moduleValue2 = require(1940) /* metro dependency 1940: GuildRoleUtils */; value11 = moduleValue2.doesRoleSortHigher(property, r11); r23 = value11; r22 = r23; if (r22) { r23 = property; continue; } r23 = r11; continue; hoist = property.hoist; if (!hoist) { r24 = hoist; continue; } value12 = value5 == r10; if (value12) { r22 = value12; continue; } moduleValue3 = require(1940) /* metro dependency 1940: GuildRoleUtils */; value13 = moduleValue3.doesRoleSortHigher(property, r10); r22 = value13; r24 = r22; if (r24) { r22 = property; continue; } r22 = r10; continue; icon = property.icon; value14 = value5 != icon; if (value14) { r24 = value14; continue; } unicodeEmoji = property.unicodeEmoji; value15 = value5 != unicodeEmoji; r24 = value15; if (!r24) { continue; } value16 = value5 == r9; if (value16) { r25 = value16; continue; } moduleValue4 = require(1940) /* metro dependency 1940: GuildRoleUtils */; value17 = moduleValue4.doesRoleSortHigher(property, r9); r25 = value17; r24 = r25; if (r24) { r17 = r0; r18 = property; r19 = r22; r20 = r23; break; } r17 = r0; r18 = r9; r19 = r22; r20 = r23; break; } r17 = r8; r18 = r9; r19 = r10; r20 = r11; value18 = value3(); done = value18.done; if (done) { r2 = r17; r5 = r19; r6 = r18; r7 = r20; break; } r4 = value18; r8 = r17; r9 = r18; r10 = r19; r11 = r20; continue; } } const colorString = value5 == r7 ? value2 : r7.colorString; const colorStrings = value5 == r7 ? value2 : r7.colorStrings; return {colorString: value5 != colorString ? colorString : value5, colorStrings: value5 != colorStrings ? colorStrings : value5, colorRoleId: value5 == r7 ? value2 : r7.id, iconRoleId: value5 == r6 ? value2 : r6.id, hoistRoleId: value5 == r5 ? value2 : r5.id, highestRoleId: value5 == r2 ? value2 : r2.id}; } function createMember({userId, nick, guildId, avatar, avatarDecoration, guildRoles, roles, premiumSince, isPending, joinedAt, communicationDisabledUntil, unusualDMActivityUntil, fullProfileLoadedTimestamp, flags, collectibles, displayNameStyles}) { // fn#21603, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:2072:3664, offset: 0x00ef51f0, size: 585 bytes, params: 2, frame: 29 var r5; var moduleValue2; var viewingRoles; var binding; var object3; var value; const derivedMemberState = computeDerivedMemberState(guildRoles, roles); const object4 = {userId: userId, nick: nick, guildId: guildId, avatar: avatar, avatarDecoration: avatarDecoration, roles: roles}; object4.colorString = derivedMemberState.colorString; object4.colorStrings = derivedMemberState.colorStrings; object4.colorRoleId = derivedMemberState.colorRoleId; object4.iconRoleId = derivedMemberState.iconRoleId; object4.hoistRoleId = derivedMemberState.hoistRoleId; object4.highestRoleId = derivedMemberState.highestRoleId; object4.premiumSince = premiumSince; object4.isPending = isPending; object4.joinedAt = joinedAt; object4.communicationDisabledUntil = communicationDisabledUntil; object4.unusualDMActivityUntil = unusualDMActivityUntil; object4.fullProfileLoadedTimestamp = fullProfileLoadedTimestamp; object4.flags = flags; object4.collectibles = collectibles; object4.displayNameStyles = displayNameStyles; const flagUtilsModule = require(1391) /* metro dependency 1391: FlagUtils */; const hasFlag = flagUtilsModule.hasFlag; const r6 = object4.flags ?? 0; const IS_GUEST = GuildMemberFlags.IS_GUEST; if (Reflect.apply(hasFlag, flagUtilsModule, [r6, IS_GUEST])) { moduleValue2 = flagUtilsModule; object4.flags = moduleValue2.addFlag(object4.flags ?? 0, GuildMemberFlags.BYPASSES_VERIFICATION); } if (env0_16[guildId] != null) { var getId = AuthenticationStore.getId; if (userId === Reflect.apply(getId, AuthenticationStore, [])) { if (ImpersonateStore.isViewingRoles(guildId)) { viewingRoles = ImpersonateStore.getViewingRoles(guildId); binding = env0_18; object3 = {}; copyDataProperties(object3, object4, undefined); copyDataProperties(object3, ImpersonateStore.getMemberOptions(guildId), undefined); if (viewingRoles != null) { value = importDefault(21) /* metro dependency 21: SnowflakeUtils */; value = value.keys(viewingRoles); r5 = value; } else { r5 = []; } object3['roles'] = r5; binding[guildId] = object3; } else if (ImpersonateStore.isFullServerPreview(guildId)) { viewingRoles = ImpersonateStore.getViewingRoles(guildId); binding = env0_18; object3 = {}; copyDataProperties(object3, object4, undefined); copyDataProperties(object3, ImpersonateStore.getMemberOptions(guildId), undefined); if (viewingRoles != null) { value = importDefault(21) /* metro dependency 21: SnowflakeUtils */; value = value.keys(viewingRoles); r5 = value; } else { r5 = []; } object3['roles'] = r5; binding[guildId] = object3; } else if (env0_18[guildId] != null) { delete env0_18[guildId]; } } } return object4; } function handleCachedGuilds(a0) { // fn#21604, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:2072:4713, offset: 0x00ef5439, size: 271 bytes, params: 2, frame: 22 var r12; var r3; var r1; var value4; var member; var binding; var id; var property; var object2; var roles; var userId; var userId2; var value5; var value6; const value2 = _createForOfIteratorHelperLoose_21592(a0); const value3 = value2(); let done = value3.done; if (!done) { r3 = value3; while (true) { value4 = r3.value; member = value4.member; if (member != null) { binding = env0_19; id = value4.id; property = binding[id]; binding = env0_19; id = value4.id; if (property == null) { r1 = value4.member; } else { object2 = {}; member = value4.member; copyDataProperties(object2, member, r12); member = value4.member; roles = member.roles; object2['roles'] = roles; r1 = object2; r12 = roles; } binding[id] = r1; binding = env0_16; id = value4.id; if (binding[id] == null) { break; } binding = env0_16; id = value4.id; property = binding[id]; member = value4.member; userId = member.userId; if (property[userId] == null) { break; } member = value4.member; userId = member.userId; object2 = {}; member = value4.member; userId2 = member.userId; value5 = copyDataProperties(object2, property[userId2], userId2); member = value4.member; roles = member.roles; object2['roles'] = roles; property[userId] = object2; r12 = value5; break; } value6 = value2(); done = value6.done; if (done) { break; } r3 = value6; continue; } } } function GUILD_MEMBER_ADD_21605({guildId, user, nick, avatar, avatarDecoration, roles, premiumSince, isPending, joinedAt, communicationDisabledUntil, unusualDMActivityUntil, flags, collectibles, displayNameStyles}) { // fn#21605, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:2072:5041, offset: 0x00ef5548, size: 379 bytes, params: 2, frame: 31 const property = env0_16[guildId]; if (property == null) { return false; } const guild = GuildStore.getGuild(guildId); if (guild == null) { env0_15.warn('Guild ' + guildId + ' not found during GUILD_MEMBER_UPDATE.'); return false; } const id = user.id; const createMemberBinding = createMember; const object2 = {}; object2.userId = user.id; object2.nick = nick; object2.guildId = guildId; object2.avatar = avatar; object2.avatarDecoration = (require(1857) /* metro dependency 1857: AvatarDecorationUtils */).parseAvatarDecorationData(avatarDecoration); object2.guildRoles = GuildRoleStore.getUnsafeMutableRoles(guild.id); object2.roles = roles; object2.premiumSince = premiumSince; object2.isPending = isPending; object2.joinedAt = joinedAt; object2.communicationDisabledUntil = communicationDisabledUntil; object2.unusualDMActivityUntil = unusualDMActivityUntil; object2.fullProfileLoadedTimestamp = property[user.id]?.fullProfileLoadedTimestamp; object2.flags = flags; object2.collectibles = collectibles; object2.displayNameStyles = displayNameStyles; property[id] = createMemberBinding(object2); trackCommunicationDisabled(guildId, property[user.id]); } function batchUpdateGuildMembers(a0, a1) { // fn#21606, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:2072:5826, offset: 0x00ef56c3, size: 139 bytes, params: 3, frame: 16 var r0; var binding; const env0_0 = a0; if (env0_16[a0] == null) { return false; } if (GuildStore.getGuild(a0) == null) { env0_15.warn('Guild ' + a0 + ' not found during batchUpdateGuildMembers.'); r0 = false; } else { a1.forEach(_fun21607); binding = env0_23; env0_23 = typeof binding === 'bigint' ? binding + 1n : +binding + 1; r0 = true; } return r0; } function getAvatarDecorationFromServerMember({avatar_decoration_data}) { // fn#21608, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:2072:6747, offset: 0x00ef58c0, size: 47 bytes, params: 2, frame: 11 return (require(1857) /* metro dependency 1857: AvatarDecorationUtils */).parseAvatarDecorationData(avatar_decoration_data); } function _removeMemberFromGuild(a0, a1) { // fn#21609, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:2072:6864, offset: 0x00ef58ef, size: 64 bytes, params: 3, frame: 15 const property = env0_16[a0]; if (property == null) { return false; } if (property[a1] == null) { return false; } delete property[a1]; removeCommunicationDisabled(a0, a1); const binding = env0_23; env0_23 = typeof binding === 'bigint' ? binding + 1n : +binding + 1; } function buildMembersFromActivityParticipants(a0, a1) { // fn#21610, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:2072:6993, offset: 0x00ef592f, size: 80 bytes, params: 3, frame: 15 const buildMembersBinding = buildMembers; const object2 = {id: a0}; object2.members = a1.filter(importDefault(1908) /* metro dependency 1908: isActivityParticipantValidGuildMember */).map(function(a0) { return a0.member; }); return buildMembersBinding(object2); } function buildMembers(a0) { // fn#21612, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:2072:7118, offset: 0x00ef598a, size: 438 bytes, params: 2, frame: 29 var r1; var fullProfileLoadedTimestamp; var unusualDMActivityUntil; var r15; var value6; var user; var id3; var property2; var createMemberBinding; var object2; var nick; var id4; var avatar; var getUnsafeMutableRoles; var id5; var roles; var premium_since; var pending; var joined_at; var communication_disabled_until; var flags; var unusual_dm_activity_until; var moduleValue; var parseServerUserCollectibles; var collectibles; var moduleValue2; var parseServerDisplayNameStyles; var display_name_styles; var member; var value7; const id = a0.id; if (!(id in env0_16)) { env0_16[a0.id] = {}; } const guild = GuildStore.getGuild(id); if (guild == null) { return false; } const property = env0_16[id]; const _createForOfIteratorHelperLoose_21592Binding = _createForOfIteratorHelperLoose_21592; const members = a0.members; const value3 = undefined; const value4 = _createForOfIteratorHelperLoose_21592Binding(members); const value5 = value4(); let done = value5.done; if (!done) { r1 = value5; while (true) { value6 = r1.value; user = value6.user; id3 = user.id; property2 = property[id3]; createMemberBinding = createMember; object2 = {userId: id3}; nick = value6.nick; object2.nick = nick; id4 = a0.id; object2.guildId = id4; avatar = value6.avatar; object2.avatar = avatar; object2.avatarDecoration = getAvatarDecorationFromServerMember(value6); getUnsafeMutableRoles = GuildRoleStore.getUnsafeMutableRoles; id5 = guild.id; object2.guildRoles = Reflect.apply(getUnsafeMutableRoles, GuildRoleStore, [id5]); roles = value6.roles; object2.roles = roles; premium_since = value6.premium_since; object2.premiumSince = premium_since; pending = value6.pending; object2.isPending = pending; joined_at = value6.joined_at; object2.joinedAt = joined_at; communication_disabled_until = value6.communication_disabled_until; object2.communicationDisabledUntil = communication_disabled_until; fullProfileLoadedTimestamp = property2 == null ? value3 : property2.fullProfileLoadedTimestamp; object2.fullProfileLoadedTimestamp = fullProfileLoadedTimestamp; flags = value6.flags; object2.flags = flags; unusual_dm_activity_until = value6.unusual_dm_activity_until; if (unusual_dm_activity_until != null) { r15 = unusual_dm_activity_until; continue; } if (property2 == null) { unusualDMActivityUntil = value3; continue; } unusualDMActivityUntil = property2.unusualDMActivityUntil; r15 = unusualDMActivityUntil; object2.unusualDMActivityUntil = r15; moduleValue = require(1858) /* metro dependency 1858: mappers */; parseServerUserCollectibles = moduleValue.parseServerUserCollectibles; collectibles = value6.collectibles; object2.collectibles = Reflect.apply(parseServerUserCollectibles, moduleValue, [collectibles]); moduleValue2 = require(1888) /* metro dependency 1888: DisplayNameStylesUtils */; parseServerDisplayNameStyles = moduleValue2.parseServerDisplayNameStyles; display_name_styles = value6.display_name_styles; object2.displayNameStyles = Reflect.apply(parseServerDisplayNameStyles, moduleValue2, [display_name_styles]); member = createMemberBinding(object2); property[id3] = member; trackCommunicationDisabled(id, member); value7 = value4(); done = value7.done; if (done) { break; } r1 = value7; continue; } } return true; } function GUILD_ROLE_DELETE_21613(a0) { // fn#21613, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:2072:8018, offset: 0x00ef5b40, size: 515 bytes, params: 2, frame: 31 var r4; var r16; var fullProfileLoadedTimestamp; var value7; var property2; var roles; var length; var colorString; var hoistRoleId; var type; var filter; var value8; var createMemberBinding; var object2; var nick; var avatar; var avatarDecoration; var getUnsafeMutableRoles; var id; var premiumSince; var isPending; var joinedAt; var flags; var collectibles; var displayNameStyles; var trackCommunicationDisabledBinding; var value9; const env0_0 = a0; let binding = env0_16; let guildId = a0.guildId; const property = binding[guildId]; if (property == null) { return false; } const guild = GuildStore.getGuild(a0.guildId); if (guild == null) { binding = env0_15; binding.warn('Guild ' + a0.guildId + ' not found during ' + a0.type + '.'); return false; } const id2 = AuthenticationStore.getId(); const _createForOfIteratorHelperLoose_21592Binding = _createForOfIteratorHelperLoose_21592; const value4 = undefined; const defaultImport = importDefault(21) /* metro dependency 21: SnowflakeUtils */; const value5 = _createForOfIteratorHelperLoose_21592Binding(defaultImport.keys(property)); const value6 = value5(); let done = value6.done; if (!done) { r4 = value6; reducibleLoop3: while (true) { value7 = r4.value; property2 = property[value7]; roles = property2.roles; reducibleJoin14: while (true) { reducibleJoin13: while (true) { if (roles == null) { colorString = property2.colorString; if (colorString == null) { hoistRoleId = property2.hoistRoleId; if (hoistRoleId == null) { break reducibleJoin14; } } reducibleJoin11: while (true) { reducibleJoin9: while (true) { if (value7 !== id2) { break reducibleJoin9; } type = a0.type; if (type === 'GUILD_ROLE_DELETE') { roles = property2.roles; filter = roles.filter; value8 = Reflect.apply(filter, roles, [_fun21614]); r16 = value8; break reducibleJoin11; } break reducibleJoin9; } roles = property2.roles; r16 = roles; break reducibleJoin11; } createMemberBinding = createMember; object2 = {userId: value7}; object2.nick = property2.nick; object2.guildId = a0.guildId; object2.avatar = property2.avatar; object2.avatarDecoration = property2.avatarDecoration; object2.guildRoles = GuildRoleStore.getUnsafeMutableRoles(guild.id); object2.roles = r16; object2.premiumSince = property2.premiumSince; object2.isPending = property2.isPending; object2.joinedAt = property2.joinedAt; object2.flags = property2.flags; if (property2 == null) { fullProfileLoadedTimestamp = value4; break reducibleJoin13; } fullProfileLoadedTimestamp = property2.fullProfileLoadedTimestamp; break reducibleJoin13; } roles = property2.roles; length = roles.length; if (!(length > 0)) { colorString = property2.colorString; if (colorString == null) { hoistRoleId = property2.hoistRoleId; if (hoistRoleId == null) { break reducibleJoin14; } } } reducibleJoin11: while (true) { reducibleJoin9: while (true) { if (value7 !== id2) { break reducibleJoin9; } type = a0.type; if (type === 'GUILD_ROLE_DELETE') { roles = property2.roles; filter = roles.filter; value8 = Reflect.apply(filter, roles, [_fun21614]); r16 = value8; break reducibleJoin11; } break reducibleJoin9; } roles = property2.roles; r16 = roles; break reducibleJoin11; } createMemberBinding = createMember; object2 = {userId: value7}; nick = property2.nick; object2.nick = nick; guildId = a0.guildId; object2.guildId = guildId; avatar = property2.avatar; object2.avatar = avatar; avatarDecoration = property2.avatarDecoration; object2.avatarDecoration = avatarDecoration; getUnsafeMutableRoles = GuildRoleStore.getUnsafeMutableRoles; id = guild.id; object2.guildRoles = Reflect.apply(getUnsafeMutableRoles, GuildRoleStore, [id]); object2.roles = r16; premiumSince = property2.premiumSince; object2.premiumSince = premiumSince; isPending = property2.isPending; object2.isPending = isPending; joinedAt = property2.joinedAt; object2.joinedAt = joinedAt; flags = property2.flags; object2.flags = flags; if (property2 == null) { fullProfileLoadedTimestamp = value4; break reducibleJoin13; } fullProfileLoadedTimestamp = property2.fullProfileLoadedTimestamp; break reducibleJoin13; } object2.fullProfileLoadedTimestamp = fullProfileLoadedTimestamp; collectibles = property2.collectibles; object2.collectibles = collectibles; displayNameStyles = property2.displayNameStyles; object2.displayNameStyles = displayNameStyles; property[value7] = createMemberBinding(object2); trackCommunicationDisabledBinding = trackCommunicationDisabled; guildId = a0.guildId; trackCommunicationDisabledBinding(guildId, property[value7]); break reducibleJoin14; } value9 = value5(); done = value9.done; if (done) { break reducibleLoop3; } r4 = value9; continue reducibleLoop3; } } return value4; } function IMPERSONATE_STOP_21615({guildId}) { // fn#21615, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:2072:8905, offset: 0x00ef5d59, size: 303 bytes, params: 2, frame: 19 const property = env0_16[guildId]; if (property == null) { return false; } const guild = GuildStore.getGuild(guildId); if (guild == null) { env0_15.warn('Guild ' + guildId + ' not found during IMPERSONATE_UPDATE.'); return false; } const id = AuthenticationStore.getId(); const property2 = property[id]; const createMemberBinding = createMember; const getUnsafeMutableRoles = GuildRoleStore.getUnsafeMutableRoles; property[id] = createMemberBinding({userId: id, nick: property2.nick, guildId: guildId, avatar: property2.avatar, avatarDecoration: property2.avatarDecoration, guildRoles: Reflect.apply(getUnsafeMutableRoles, GuildRoleStore, [guild.id]), roles: property2.roles, premiumSince: property2.premiumSince, isPending: property2.isPending, joinedAt: property2.joinedAt, communicationDisabledUntil: property2.communicationDisabledUntil, fullProfileLoadedTimestamp: property2.fullProfileLoadedTimestamp, flags: property2.flags, collectibles: property2.collectibles, displayNameStyles: property2.displayNameStyles}); } function processResolvedMembers(a0, a1) { // fn#21616, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:2072:9525, offset: 0x00ef5e88, size: 125 bytes, params: 3, frame: 16 var buildMembersBinding; var object2; var Object; const env0_0 = a0; let r0 = a0?.members != null && a1 != null; if (r0) { buildMembersBinding = buildMembers; object2 = {id: a1}; Object = global.Object; object2.members = Object.entries(a0.members).map(_fun21617).filter(function(a0) { return a0 != null; }); r0 = buildMembersBinding(object2); } return r0; } function processMessageResolvedMembers(a0, a1) { // fn#21619, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:2072:9784, offset: 0x00ef5f8a, size: 75 bytes, params: 3, frame: 14 const env0_0 = a0; const env0_1 = false; const message_snapshots = a0.message_snapshots; if (message_snapshots != null) { message_snapshots.forEach(_fun21620); } return processResolvedMembers(a0.resolved, a1) || env0_1; } function mergeMessageResolvedMembers(a0) { // fn#21622, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:2072:10157, offset: 0x00ef6041, size: 55 bytes, params: 2, frame: 15 const channel = ChannelStore.getChannel(a0.channel_id); const processMessageResolvedMembersBinding = processMessageResolvedMembers; const value = undefined; processMessageResolvedMembersBinding(a0, channel == null ? value : channel.guild_id); return value; } function LOAD_MESSAGES_AROUND_SUCCESS_21623({messages}) { // fn#21623, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:2072:10289, offset: 0x00ef6078, size: 30 bytes, params: 2, frame: 11 messages.forEach(function(a0) { mergeMessageResolvedMembers(a0); }); } function MOD_VIEW_SEARCH_MESSAGES_SUCCESS_21625({data}) { // fn#21625, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:2072:10378, offset: 0x00ef60a9, size: 56 bytes, params: 2, frame: 12 data.forEach(function({messages}) { messages.forEach(_fun21627); }); LOAD_MESSAGES_SUCCESS_21623({messages: []}); } function _fun21629(a0) { // fn#21629, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:2072:10546, offset: 0x00ef612f, size: 544 bytes, params: 2, frame: 16 const closure = GuildMemberStore; env0_7(closure, a0); return env0_4(closure, [{key: 'initialize', value: function() { this.waitFor(AuthenticationStore, ChannelStore, GuildRoleStore, GuildStore, ImpersonateStore); }}, {key: 'getMutableAllGuildsAndMembers', value: value_21632}, {key: 'memberOf', value: value_21633}, {key: 'getNicknameGuildsMapping', value: value_21636}, {key: 'getNicknames', value: function(a0) { var Object = global.Object; return Object.keys(this.getNicknameGuildsMapping(a0)); }}, {key: 'isMember', value: value_21638}, {key: 'isGuestOrLurker', value: value_21639}, {key: 'isCurrentUserGuest', value: value_21640}, {key: 'getMemberIds', value: value_21641}, {key: 'getMembers', value: value_21642}, {key: 'getTrueMember', value: value_21643}, {key: 'getMember', value: value_21644}, {key: 'getSelfMember', value: value_21645}, {key: 'getSelfMemberJoinedAt', value: value_21646}, {key: 'getCachedSelfMember', value: value_21647}, {key: 'getNick', value: function(a0, a1) { var value = null; if (value == a0) { return value; } if (value == a1) { return value; } var value2 = this.getMember(a0, a1); return value != value2 ? value2.nick : value; }}, {key: 'getCommunicationDisabledUserMap', value: value_21649}, {key: 'getCommunicationDisabledVersion', value: value_21650}, {key: 'getPendingRoleUpdates', value: value_21651}, {key: 'getMemberRoleWithPendingUpdates', value: value_21652}, {key: 'getMemberVersion', value: value_21653}]); } function CONNECTION_OPEN_21654(a0) { // fn#21654, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:2072:13312, offset: 0x00ef68bb, size: 55 bytes, params: 2, frame: 11 if (!env0_21) { env0_16 = {}; env0_17 = {}; } env0_20 = {}; (({guilds}) => { guilds.forEach(_fun21656); })(a0); } function CONNECTION_OPEN_SUPPLEMENTAL_21657({guilds}) { // fn#21657, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:2072:13474, offset: 0x00ef6923, size: 30 bytes, params: 2, frame: 11 guilds.forEach(function(a0) { var property = a0.id; var env0_0 = property; buildMembers({id: property, members: a0.members}); property = a0.activity_instances; if (property != null) { property.forEach(_fun21659); } }); } function GUILD_DELETE_21664({guild}) { // fn#21664, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:2072:14070, offset: 0x00ef6a3e, size: 55 bytes, params: 2, frame: 12 delete env0_16[guild.id]; delete env0_17[guild.id]; removeCommunicationDisabled(guild.id); } function GUILD_MEMBER_UPDATE_LOCAL_21665({guildId, roles, addedRoleIds, removedRoleIds, flags}) { // fn#21665, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:2072:14284, offset: 0x00ef6a75, size: 471 bytes, params: 2, frame: 31 const id = AuthenticationStore.getId(); const property = env0_16[guildId]; const r5 = property != null ? property[id] : null; if (r5 == null) { return false; } const guild = GuildStore.getGuild(guildId); if (guild == null) { return false; } const r13 = env0_25[guildId] ?? ({}); const binding = env0_25; const object2 = {}; const defaultImport = importDefault(22) /* metro dependency 22 */; let difference = defaultImport.difference; const defaultImport2 = defaultImport; object2.added = Reflect.apply(difference, defaultImport, [defaultImport2.union(r13.added ?? [], addedRoleIds), removedRoleIds ?? []]); const defaultImport3 = defaultImport; difference = defaultImport3.difference; const defaultImport4 = defaultImport; object2.removed = Reflect.apply(difference, defaultImport3, [defaultImport4.union(r13.removed ?? [], removedRoleIds), addedRoleIds ?? []]); binding[guildId] = object2; const createMemberBinding = createMember; const getUnsafeMutableRoles = GuildRoleStore.getUnsafeMutableRoles; roles = roles ?? r5.roles; flags = flags ?? r5.flags; property[id] = createMemberBinding({userId: id, guildId: guildId, nick: r5.nick, avatar: r5.avatar, avatarDecoration: r5.avatarDecoration, guildRoles: Reflect.apply(getUnsafeMutableRoles, GuildRoleStore, [guild.id]), roles: roles, premiumSince: r5.premiumSince, isPending: r5.isPending, joinedAt: r5.joinedAt, flags: flags, fullProfileLoadedTimestamp: r5.fullProfileLoadedTimestamp, collectibles: r5.collectibles, displayNameStyles: r5.displayNameStyles}); } function THREAD_MEMBER_LIST_UPDATE({guildId, members}) { // fn#21669, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:2072:15539, offset: 0x00ef6cee, size: 84 bytes, params: 2, frame: 16 const batchUpdateGuildMembersBinding = batchUpdateGuildMembers; const value2 = members.map(function(a0) { return a0.member; }); return batchUpdateGuildMembersBinding(guildId, value2.filter((require(1360) /* metro dependency 1360: GlobalUtils */).isNotNullish)); } function THREAD_MEMBERS_UPDATE({guildId, addedMembers}) { // fn#21671, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:2072:15709, offset: 0x00ef6d42, size: 93 bytes, params: 2, frame: 17 var r0; var batchUpdateGuildMembersBinding; var value2; const value = addedMembers != null; if (value) { batchUpdateGuildMembersBinding = batchUpdateGuildMembers; value2 = addedMembers.map(function(a0) { return a0.member; }); r0 = batchUpdateGuildMembersBinding(guildId, value2.filter((require(1360) /* metro dependency 1360: GlobalUtils */).isNotNullish)); } else { r0 = value; } return r0; } function LOAD_FORUM_POSTS({guildId, threads}) { // fn#21674, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:2072:16016, offset: 0x00ef6dbe, size: 72 bytes, params: 2, frame: 15 const batchUpdateGuildMembersBinding = batchUpdateGuildMembers; const Object = global.Object; let value = Object.values(threads); value = value.reduce(_fun21675, []); return batchUpdateGuildMembersBinding(guildId, value); } function GUILD_ROLE_MEMBER_REMOVE({guildId, userId, roleId}) { // fn#21676, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:2072:16645, offset: 0x00ef6ebc, size: 250 bytes, params: 2, frame: 19 var computeDerivedMemberStateBinding; var object2; var value; const property = env0_16[guildId]; if (property != null) { var guild = GuildStore.getGuild(guildId); if (guild == null) { env0_15.warn('Guild ' + guildId + ' not found during GUILD_MEMBER_UPDATE.'); return false; } var property2 = property[userId]; if (property2 == null) { return false; } var roles = property2.roles; if (roles.includes(roleId)) { roles = property2.roles; property2.roles = roles.filter(function(a0) { return a0 !== roleId; }); computeDerivedMemberStateBinding = computeDerivedMemberState; value = GuildRoleStore.getUnsafeMutableRoles(guild.id); roles = property2.roles; value = computeDerivedMemberStateBinding(value, roles); object2 = {}; copyDataProperties(object2, property2, roleId); copyDataProperties(object2, value, roleId); property[userId] = object2; return true; } } return false; } function GUILD_ROLE_MEMBER_ADD({guildId, userId, roleId}) { // fn#21678, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:2072:17064, offset: 0x00ef6fb6, size: 257 bytes, params: 2, frame: 20 const property = env0_16[guildId]; if (property == null) { return false; } const guild = GuildStore.getGuild(guildId); if (guild == null) { env0_15.warn('Guild ' + guildId + ' not found during GUILD_MEMBER_UPDATE.'); return false; } const property2 = property[userId]; if (property2 == null) { return false; } let roles = property2.roles; if (roles.includes(roleId)) { return false; } roles = property2.roles; let object = []; const value3 = arraySpread(object, roles, 0, undefined); object[value3] = roleId; value3 + 1; property2.roles = object; const computeDerivedMemberStateBinding = computeDerivedMemberState; let value = GuildRoleStore.getUnsafeMutableRoles(guild.id); value = computeDerivedMemberStateBinding(value, property2.roles); object = {}; copyDataProperties(object, property2, 0); copyDataProperties(object, value, 0); property[userId] = object; return true; } function GUILD_MEMBER_PROFILE_UPDATE({guildMember, guildId}) { // fn#21679, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:2072:17473, offset: 0x00ef70b7, size: 414 bytes, params: 2, frame: 22 const property = env0_16[guildId]; if (property == null) { return false; } const guild = GuildStore.getGuild(guildId); if (guild == null) { env0_15.warn('Guild ' + guildId + ' not found during GUILD_MEMBER_UPDATE.'); return false; } let user = guildMember.user; const id = user.id; const createMemberBinding = createMember; const object2 = {}; user = guildMember.user; object2.userId = user.id; object2.nick = guildMember.nick; object2.guildId = guildId; object2.avatar = guildMember.avatar; object2.avatarDecoration = getAvatarDecorationFromServerMember(guildMember); object2.guildRoles = GuildRoleStore.getUnsafeMutableRoles(guild.id); object2.roles = guildMember.roles; object2.premiumSince = guildMember.premium_since; object2.isPending = guildMember.pending; object2.joinedAt = guildMember.joined_at; object2.communicationDisabledUntil = guildMember.communication_disabled_until; object2.unusualDMActivityUntil = guildMember.unusual_dm_activity_until; object2.flags = guildMember.flags; const Date = global.Date; object2.fullProfileLoadedTimestamp = Date.now(); const mappersModule = require(1858) /* metro dependency 1858: mappers */; object2.collectibles = mappersModule.parseServerUserCollectibles(guildMember.collectibles); const displayNameStylesUtilsModule = require(1888) /* metro dependency 1888: DisplayNameStylesUtils */; object2.displayNameStyles = displayNameStylesUtilsModule.parseServerDisplayNameStyles(guildMember.display_name_styles); property[id] = createMemberBinding(object2); const trackCommunicationDisabledBinding = trackCommunicationDisabled; user = guildMember.user; trackCommunicationDisabledBinding(guildId, property[user.id]); } function PASSIVE_UPDATE_V2(a0) { // fn#21680, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:2072:18390, offset: 0x00ef7255, size: 51 bytes, params: 2, frame: 14 return a0.members.length > 0 && batchUpdateGuildMembers(a0.guildId, a0.members); } function CLEAR_PENDING_CHANNEL_AND_ROLE_UPDATES({guildId}) { // fn#21681, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:2072:18536, offset: 0x00ef7288, size: 33 bytes, params: 2, frame: 2 if (guildId == null) { return false; } delete env0_25[guildId]; } function LOCAL_MESSAGES_LOADED(a0) { // fn#21682, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:2072:18639, offset: 0x00ef72a9, size: 233 bytes, params: 2, frame: 20 var r2; var r3; var value6; var userId; var value7; let guildId = a0.guildId; if (guildId == null) { return false; } const getGuild = GuildStore.getGuild; if (Reflect.apply(getGuild, GuildStore, [a0.guildId]) == null) { return false; } const value2 = true; let binding = env0_16; guildId = a0.guildId; let property = env0_16[a0.guildId]; let r0 = property ?? ({}); binding[guildId] = r0; env0_16[a0.guildId] = env0_16[a0.guildId] ?? ({}); const value3 = _createForOfIteratorHelperLoose_21592(a0.members); const value4 = value3(); let done = value4.done; const value5 = false; if (done) { r0 = value5; } else { r2 = value4; r3 = value5; while (true) { value6 = r2.value; binding = env0_16; guildId = a0.guildId; property = binding[guildId]; userId = value6.userId; if (property[userId] == null) { binding = env0_16; guildId = a0.guildId; property = binding[guildId]; userId = value6.userId; property[userId] = value6; r3 = value2; } value7 = value3(); done = value7.done; if (done) { r0 = r3; break; } r2 = value7; continue; } } return r0; } function LOAD_PINNED_MESSAGES_SUCCESS({pins}) { // fn#21683, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:2072:19240, offset: 0x00ef7392, size: 30 bytes, params: 2, frame: 11 pins.forEach(function({message}) { mergeMessageResolvedMembers(message); }); } function MEMBER_SAFETY_GUILD_MEMBER_SEARCH_SUCCESS({guildId, members}) { // fn#21685, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:2072:19491, offset: 0x00ef73c8, size: 48 bytes, params: 2, frame: 14 return batchUpdateGuildMembers(guildId, members.map(function(a0) { return a0.member; })); } function EMBEDDED_ACTIVITY_UPDATE_V2_21687({location, participants}) { // fn#21687, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:2072:19655, offset: 0x00ef73f8, size: 71 bytes, params: 2, frame: 15 const embeddedActivityLocationGuildId = (require(3774) /* metro dependency 3774: embeddedActivityLocationUtils */).getEmbeddedActivityLocationGuildId(location); return embeddedActivityLocationGuildId != null && buildMembersFromActivityParticipants(embeddedActivityLocationGuildId, participants); } function INTERACTION_MODAL_CREATE({channelId, resolved}) { // fn#21688, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:2072:19862, offset: 0x00ef743f, size: 61 bytes, params: 2, frame: 15 return processResolvedMembers(resolved, ChannelStore.getChannel(channelId)?.guild_id); } function getUserCommunicationDisabledVersion(a0, a1) { // fn#21689, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:2072:20121, offset: 0x00ef747c, size: 48 bytes, params: 3, frame: 14 const communicationDisabledUserKey = getCommunicationDisabledUserKey(a0, a1); return communicationDisabledUserKey in env0_24 ? env0_24[communicationDisabledUserKey] : -1; } function _fun21607(a0) { // fn#21607, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:2072:6010, offset: 0x00ef574e, size: 370 bytes, params: 2, frame: 22 let binding = env0_1; let user = a0.user; let id = user.id; const property = binding[id]; user = a0.user; id = user.id; const createMemberBinding = createMember; const object2 = {}; user = a0.user; object2.userId = user.id; object2.nick = a0.nick; object2.guildId = env0_0; object2.avatar = a0.avatar; const getAvatarDecorationFromServerMemberBinding = getAvatarDecorationFromServerMember; const value3 = undefined; object2.avatarDecoration = getAvatarDecorationFromServerMemberBinding(a0); object2.guildRoles = GuildRoleStore.getUnsafeMutableRoles(env0_2.id); object2.roles = a0.roles; object2.premiumSince = a0.premium_since; object2.isPending = a0.pending; object2.joinedAt = a0.joined_at; object2.communicationDisabledUntil = a0.communication_disabled_until; object2.flags = a0.flags; object2.fullProfileLoadedTimestamp = property == null ? value3 : property.fullProfileLoadedTimestamp; object2.unusualDMActivityUntil = a0.unusual_dm_activity_until ?? (property == null ? value3 : property.unusualDMActivityUntil); const mappersModule = require(1858) /* metro dependency 1858: mappers */; object2.collectibles = mappersModule.parseServerUserCollectibles(a0.collectibles); const displayNameStylesUtilsModule = require(1888) /* metro dependency 1888: DisplayNameStylesUtils */; object2.displayNameStyles = displayNameStylesUtilsModule.parseServerDisplayNameStyles(a0.display_name_styles); binding[id] = createMemberBinding(object2); const trackCommunicationDisabledBinding = trackCommunicationDisabled; binding = env0_0; const binding2 = env0_1; user = a0.user; trackCommunicationDisabledBinding(binding, binding2[user.id]); return value3; } function _fun21617(a0) { // fn#21617, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:2072:9670, offset: 0x00ef5f05, size: 133 bytes, params: 2, frame: 17 var r1; var r2; var r3; var item3; var value3; var object2; const iterator = a0[Symbol.iterator](); const iterator2 = iterator.next; let item2 = Reflect.apply(iterator2, iterator, []); let item = item2.value; item2 = item2.done ? undefined : iterator; const value = undefined; const value2 = item2 === value; const r5 = value2 ? value : item; if (value2) { r1 = value; r2 = item2; r3 = value2; } else { item3 = Reflect.apply(iterator2, item2, []); item = item3.value; item3 = item3.done ? undefined : item2; value3 = item3 === value; if (value3) { r1 = value; r2 = item3; r3 = value3; } else { r1 = item; r2 = item3; r3 = value3; } } if (!r3) { r2.return(); } r2 = env0_0 == null || env0_0.users == null ? value : env0_0.users[r5]; if (r2 != null) { object2 = {}; copyDataProperties(object2, r1, undefined); object2['user'] = r2; return object2; } return value; } function _fun21620({message}) { // fn#21620, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:2072:9888, offset: 0x00ef5fd5, size: 78 bytes, params: 2, frame: 16 let value = environment.__proto__; const processResolvedMembersBinding = processResolvedMembers; value = undefined; const resolved = message == null ? value : message.resolved; const message_reference = env0_0.message_reference; if (processResolvedMembersBinding(resolved, message_reference == null ? value : message_reference.guild_id)) { } return value; } function _fun21626({messages}) { // fn#21626, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:2072:10441, offset: 0x00ef60e1, size: 30 bytes, params: 2, frame: 11 messages.forEach(function(a0) { a0.forEach(_fun21628); }); } function GuildMemberStore() { // fn#21630, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:2072:10558, offset: 0x00ef634f, size: 113 bytes, params: 1, frame: 20 const value = environment.__proto__; env1_3(this, GuildMemberStore); const value3 = env1_6(GuildMemberStore); return env1_5(this, _isNativeReflectConstruct_21589() ? global.Reflect.construct(value3, arguments, env1_6(this).constructor) : value3.apply(this, arguments)); } function value_21633(a0) { // fn#21633, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:2072:10980, offset: 0x00ef63eb, size: 94 bytes, params: 2, frame: 13 var environment; const env0_0 = a0; let value = environment.__proto__; value = (importDefault(22) /* metro dependency 22 */)(env1_16); value = value.toPairs(); value = value.filter(_fun21634); value = value.map(function(a0) { var iterator = a0[Symbol.iterator](); var item2 = iterator.next(); var item = item2.value; item2 = item2.done ? undefined : iterator; var value = undefined; var value2 = item2 === value; var r0 = value2 ? value : item; if (!value2) { item2.return(); } return r0; }); return value.value(); } function value_21636(a0) { // fn#21636, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:2072:11115, offset: 0x00ef64b4, size: 124 bytes, params: 2, frame: 24 var r7; var nick; var propertyName; var propertyName2; var property; var Object; var prototype; var hasOwnProperty; var call; const object2 = {}; const properties = Object.keys(env1_16); const properties2 = 0; const properties3 = properties.length; const value2 = undefined; if (properties !== value2) { r7 = properties2; while (true) { propertyName = properties[r7]; propertyName2 = r7 + 1; if (propertyName === value2) { break; } property = env1_16[propertyName][a0]; if (property == null) { nick = value2; continue; } nick = property.nick; if (nick == null) { r7 = propertyName2; continue; } Object = global.Object; prototype = Object.prototype; hasOwnProperty = prototype.hasOwnProperty; call = hasOwnProperty.call; if (Reflect.apply(call, hasOwnProperty, [object2, nick])) { continue; } object2[nick] = []; property = object2[nick]; property.push(propertyName); r7 = propertyName2; } } return object2; } function value_21638(a0, a1) { // fn#21638, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:2072:11395, offset: 0x00ef6557, size: 48 bytes, params: 3, frame: 5 if (a0 == null) { return false; } if (a1 == null) { return false; } const value = environment.__proto__; const property = env1_16[a0]; return property != null && property[a1] != null; } function value_21639(a0, a1) { // fn#21639, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:2072:11507, offset: 0x00ef6587, size: 63 bytes, params: 3, frame: 5 var r0; if (a0 == null) { return false; } if (a1 == null) { return false; } let value = environment.__proto__; let property = env1_16[a0]; value = property != null; if (value) { property = property[a1]; value = undefined; value = (property == null ? value : property.joinedAt) == null; r0 = value; } else { r0 = value; } return r0; } function value_21640(a0) { // fn#21640, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:2072:11658, offset: 0x00ef65c6, size: 116 bytes, params: 2, frame: 15 var r0; var moduleValue; if (a0 == null) { return false; } const value = environment.__proto__; const id = AuthenticationStore.getId(); const property = env1_16[a0]; if (property == null) { return false; } if (property[id] == null) { return false; } const flags = property[id].flags; const value3 = flags != null; if (value3) { moduleValue = require(1391) /* metro dependency 1391: FlagUtils */; r0 = moduleValue.hasFlag(flags, GuildMemberFlags.IS_GUEST); } else { r0 = value3; } return r0; } function value_21641(a0) { // fn#21641, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:2072:11838, offset: 0x00ef663a, size: 70 bytes, params: 2, frame: 12 var r0; if (a0 == null) { return []; } let value = environment.__proto__; const property = env1_16[a0]; if (property == null) { r0 = []; } else { value = importDefault(21) /* metro dependency 21: SnowflakeUtils */; value = value.keys(property); r0 = value; } return r0; } function value_21642(a0) { // fn#21642, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:2072:11942, offset: 0x00ef6680, size: 56 bytes, params: 2, frame: 11 if (a0 == null) { return []; } const value = environment.__proto__; const property = env1_16[a0]; return property == null ? [] : global.Object.values(property); } function value_21643(a0, a1) { // fn#21643, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:2072:12049, offset: 0x00ef66b8, size: 32 bytes, params: 3, frame: 3 let value = environment.__proto__; const property = env1_16[a0]; value = null; return value != property ? property[a1] : value; } function value_21644(a0, a1) { // fn#21644, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:2072:12124, offset: 0x00ef66d8, size: 113 bytes, params: 3, frame: 17 const trueMember = this.getTrueMember(a0, a1); return trueMember == null || a1 !== AuthenticationStore.getId() ? trueMember : ImpersonateStore.isViewingRoles(a0) || ImpersonateStore.isFullServerPreview(a0) ? env1_18[a0] ?? trueMember : trueMember; } function value_21645(a0) { // fn#21645, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:2072:12298, offset: 0x00ef6749, size: 37 bytes, params: 2, frame: 13 const getMember = this.getMember; const value = environment.__proto__; return Reflect.apply(getMember, this, [a0, AuthenticationStore.getId()]); } function value_21646(a0) { // fn#21646, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:2072:12382, offset: 0x00ef676e, size: 96 bytes, params: 2, frame: 15 const property = env1_17[a0]; if (property != null) { return property; } const selfMember = this.getSelfMember(a0); if (selfMember == null) { return null; } if (selfMember.joinedAt == null) { return null; } const Date = global.Date; const date = new Date(selfMember.joinedAt); env1_17[a0] = date; return date; } function value_21647(a0) { // fn#21647, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:2072:12572, offset: 0x00ef67ce, size: 28 bytes, params: 2, frame: 3 let value = environment.__proto__; const property = env1_19[a0]; value = null; return value != property ? property : value; } function value_21651(a0) { // fn#21651, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:2072:12912, offset: 0x00ef681c, size: 26 bytes, params: 2, frame: 3 return env1_25[a0] ?? env1_26; } function value_21652(a0, a1) { // fn#21652, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:2072:13003, offset: 0x00ef6836, size: 133 bytes, params: 3, frame: 18 var r0; var difference; var defaultImport; const r7 = this.getMember(a0, a1)?.roles ?? []; value = environment.__proto__; const property = env1_25[a0]; if (property == null) { r0 = r7; } else { value = importDefault(22) /* metro dependency 22 */; difference = value.difference; defaultImport = importDefault(22) /* metro dependency 22 */; value = Reflect.apply(difference, value, [defaultImport.union(r7, property.added), property.removed]); r0 = value; } return r0; } function mergeGuildMembers({guilds}) { // fn#21655, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:2072:13369, owner: CONNECTION_OPEN_21654.mergeGuildMembers, offset: 0x00ef68f2, size: 30 bytes, params: 2, frame: 11 guilds.forEach(function(a0) { buildMembers(a0); }); } function _fun21658({id, members, activity_instances}) { // fn#21658, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:2072:13537, offset: 0x00ef6941, size: 74 bytes, params: 2, frame: 14 buildMembers({id: id, members: members}); if (activity_instances != null) { activity_instances.forEach(function(a0) { buildMembersFromActivityParticipants(id, a0.participants); }); } } function _fun21675(a0, a1) { // fn#21675, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:2072:16127, offset: 0x00ef6e06, size: 182 bytes, params: 3, frame: 15 var property; var moderator_report; if (a1.owner != null) { a0.push(a1.owner); } const value = undefined; if ((a1 == null || a1.first_message == null ? value : a1.first_message.message_snapshots) != null) { property = a1.first_message.message_snapshots[0]; moderator_report = property.moderator_report; if ((moderator_report == null ? value : moderator_report.reported_member) != null) { a0.push(property.moderator_report.reported_member); } moderator_report = property.moderator_report; if ((moderator_report == null ? value : moderator_report.reporting_member) != null) { a0.push(property.moderator_report.reporting_member); } } return a0; } function _fun21627(a0) { // fn#21627, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:2072:10469, offset: 0x00ef60ff, size: 24 bytes, params: 2, frame: 11 a0.forEach(_fun21628); } function _fun21634(a0) { // fn#21634, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:2072:11029, offset: 0x00ef6449, size: 74 bytes, params: 2, frame: 6 var r0; var r1; var r2; var item3; var value3; const iterator = a0[Symbol.iterator](); const iterator2 = iterator.next; let item2 = Reflect.apply(iterator2, iterator, []); let item = item2.value; item2 = item2.done ? undefined : iterator; const value = undefined; const value2 = item2 === value; if (value2) { r0 = item2; r1 = value; r2 = value2; } else { item3 = Reflect.apply(iterator2, item2, []); item = item3.value; item3 = item3.done ? undefined : item2; value3 = item3 === value; if (value3) { r0 = item3; r1 = value; r2 = value3; } else { r0 = item3; r1 = item; r2 = value3; } } if (!r2) { r0.return(); } return r1[env0_0] != null; }