/* Metro module 12478; source: utils/web/KeyboardUtils.tsx; dependencies: [57, 5047, 477, 22, 12479, 12480, 12481, 1360, 2] */ function _fun94906(global, require, importDefault, importAll, module, exports, dependencyMap) { // fn#94906, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:12664:6, offset: 0x0212ba02, size: 1076 bytes, params: 8, frame: 33 var r11; var r16; let env0_1 = require; const _arrayLikeToArray_94909 = 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 maybePlusConversion = function(a0) { var value = a0; return value === '+' ? 'plus' : value; }; const closure = getCodeToKeyLanguageCorrection; const closure2 = getEnv_94912; const closure3 = codeToKey; const closure4 = keyToCode; const closure5 = function(a0) { var value = a0.replace(RegExp('^(right|left) (shift|meta|ctrl|alt)$', ''), '$2'); value = value.replace('meta', 'command'); return value === 'pause' || value === 'break' ? 'pause/break' : value; }; const toMetaKeyIndexKey = function(a0) { return a0 + 'Key'; }; let Object = global.Object; Object.defineProperty(exports, '__esModule', {value: true}); const env0_4 = importDefault(57) /* metro dependency 57 */; let value = require(5047) /* metro dependency 5047: KeyboardConstants */; const env0_5 = value.KeyboardDeviceTypes; const LinuxKeyToCode = value.LinuxKeyToCode; const MacosKeyToCode = value.MacosKeyToCode; const WindowsKeyToCode = value.WindowsKeyToCode; const env0_9 = value.KeyboardEnvs; if (Reflect.apply((require(477) /* metro dependency 477: PlatformUtils */).isLinux, value, [])) { r16 = LinuxKeyToCode; } else { value = require(477) /* metro dependency 477: PlatformUtils */; if (value.isMac()) { r11 = MacosKeyToCode; } else { value = require(477) /* metro dependency 477: PlatformUtils */; r11 = value.isWindows() ? WindowsKeyToCode : {}; } r16 = r11; } let invert = (importDefault(22) /* metro dependency 22 */).invert; value = Reflect.apply(invert, value, [LinuxKeyToCode]); value[223] = '`'; Object = global.Object; let freeze = Object.freeze; Reflect.apply(freeze, Object, [value]); Object = global.Object; freeze = Object.freeze; value = importDefault(22) /* metro dependency 22 */; const env0_12 = Reflect.apply(freeze, Object, [value.invert(MacosKeyToCode)]); value = importDefault(22) /* metro dependency 22 */; value = value.invert(WindowsKeyToCode); value[223] = '`'; Object = global.Object; Object.freeze(value); invert = (importDefault(22) /* metro dependency 22 */).invert; r16 = r16 ?? ({}); value = Reflect.apply(invert, value, [r16]); const platformUtilsModule = require(477) /* metro dependency 477: PlatformUtils */; if (!platformUtilsModule.isMac()) { value[223] = '`'; } Object = global.Object; Object.freeze(value); object = [['META', '⌘'], ['CMD', '⌘'], ['RIGHT META', 'RIGHT ⌘'], ['RIGHT CMD', 'RIGHT ⌘'], ['SHIFT', '⇧'], ['RIGHT SHIFT', 'RIGHT ⇧'], ['ALT', '⌥'], ['RIGHT ALT', 'RIGHT ⌥'], ['CTRL', '⌃'], ['RIGHT CTRL', 'RIGHT ⌃'], ['ENTER', '↵'], ['BACKSPACE', '⌫'], ['DEL', '⌦'], ['ESC', '⎋'], ['PAGEUP', '⇞'], ['PAGEDOWN', '⇟'], ['UP', '↑'], ['DOWN', '↓'], ['LEFT', '←'], ['RIGHT', '→'], ['HOME', '↖'], ['END', '↘'], ['TAB', '⇥'], ['SPACE', '␣']]; const env0_16 = RegExp('shift|meta|ctrl|alt$', ''); (require(2) /* metro dependency 2 */).fileFinishedImporting('utils/web/KeyboardUtils.tsx'); exports.getRawCodeFromKey = getRawCodeFromKey; exports.getCodeToKeyLanguageCorrection = closure; exports.getEnv = closure2; exports.codeToKey = closure3; exports.keyToCode = closure4; exports.getKeyConversionForBrowser = closure5; exports.toBrowserEvents = function(a0) { var env0_0 = {'keyCode': 0, 'key': '', 'code': '', 'metaKey': false, 'shiftKey': false, 'altKey': false, 'ctrlKey': false}; return a0 == null ? [] : a0.reduce(_fun94920, []); }; exports.toCombo = toCombo; exports.toString = toString_94925; exports.areKeyCombosEqual = function(a0, a1) { var value = a2; var env0_0 = a1; var env0_1 = value !== undefined ? value : false; return a0.length === a1.length && a0.every(_fun94928); }; exports.isKeyboardActivatedMouseEvent = function(a0) { var r0; r0 = a0 != null && typeof a0 === 'object' && 'nativeEvent' in a0; r0 = r0 && a0.nativeEvent.clientX === 0 && a0.nativeEvent.clientY === 0; return r0; }; } function _createForOfIteratorHelperLoose_94907(a0, a1) { // fn#94907, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:12664:221, offset: 0x0212be36, size: 372 bytes, params: 3, frame: 20 var r6; var r9; var r5; var value3; var regexp; const env0_0 = a0; const Symbol = global.Symbol; let value = typeof Symbol !== 'undefined'; let r1 = value && a0[global.Symbol.iterator]; r1 = !r1 ? a0['@@iterator'] : r1; if (r1) { value = r1.call(a0); return value.next.bind(value); } const Array = global.Array; if (Array.isArray(a0)) { if (r1) { } return _fun94908; } value = undefined; if (a0) { if (typeof a0 === 'string') { value = _arrayLikeToArray_94909(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_94909(a0, value); r6 = value; } else { regexp = RegExp('^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$', ''); if (regexp.test(r9)) { value = _arrayLikeToArray_94909(a0, value); r6 = value; } else { r6 = value; } } r5 = r6; } } else { r5 = value; } if (r5) { if (r5) { } return _fun94908; } 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 getCodeToKeyLanguageCorrection(a0, a1, a2) { // fn#94911, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:12664:1428, offset: 0x0212bfc0, size: 253 bytes, params: 4, frame: 19 var r3; const BACKTICK_CODES = (require(12480) /* metro dependency 12480: KeyboardLayoutMapUtils */).BACKTICK_CODES; var value5; var moduleValue2; var value6; let value = a1; if (a2 != null) { var WINDOWS = KeyboardEnvs.WINDOWS; if (a2 !== WINDOWS) { return value; } } if (BACKTICK_CODES.has(a0)) { value5 = (require(12480) /* metro dependency 12480: KeyboardLayoutMapUtils */).getLayoutMap().get('Backquote'); if (value === value5) { return maybePlusConversion(value); } moduleValue2 = require(12480) /* metro dependency 12480: KeyboardLayoutMapUtils */; value6 = moduleValue2.getExactKeyboardEventMatchFromAny({key: value5, code: 'Backquote', keyCode: a0}); if (value === '\\') { if (value5 === '`') { r3 = value; } else { value = maybePlusConversion(value6 == null ? value5 ?? value : value6.key); r3 = value; } } else if (value !== "'") { value = maybePlusConversion(value6 == null ? value5 ?? value : value6.key); r3 = value; } else if (a0 === 192) { value = maybePlusConversion(value6 == null ? value5 ?? value : value6.key); r3 = value; } else if (value5 === '`') { r3 = value; } else { value = maybePlusConversion(value6 == null ? value5 ?? value : value6.key); r3 = value; } return r3; } return value; } function getEnv_94912() { // fn#94912, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:12664:1818, offset: 0x0212c0bd, size: 142 bytes, params: 1, frame: 13 var r0; var moduleValue2; const platformUtilsModule = require(477) /* metro dependency 477: PlatformUtils */; if (platformUtilsModule.isLinux()) { r0 = KeyboardEnvs.LINUX; } else { moduleValue2 = platformUtilsModule; r0 = moduleValue2.isMac() ? KeyboardEnvs.MACOS : (require(477) /* metro dependency 477: PlatformUtils */).isWindows() ? KeyboardEnvs.WINDOWS : KeyboardEnvs.BROWSER; } return r0; } function codeToKey(a0) { // fn#94913, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:12664:1936, offset: 0x0212c14b, size: 423 bytes, params: 2, frame: 26 var r1; var r2; var r11; var r112; var r9; var r4; var item3; var value5; var item4; var value6; var value7; var value8; var value10; const value2 = undefined; const value3 = env0_4(a0, 3); const property = value3[1]; const property2 = value3[2]; 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 value4 = item2 === value2; if (value4) { } if (value4) { r1 = item2; r2 = value4; r11 = value2; } else { item3 = Reflect.apply(iterator2, item2, []); item = item3.value; item3 = item3.done ? undefined : item2; value5 = item3 === value2; if (value5) { r1 = item3; r2 = value5; r11 = value2; } else { r1 = item3; r2 = value5; r11 = item; } } if (r2) { r112 = value2; } else { item4 = Reflect.apply(iterator2, r1, []); item = item4.value; item4 = item4.done ? undefined : r1; value6 = item4 === value2; if (value6) { r1 = item4; r2 = value6; r112 = value2; } else { r1 = item4; r2 = value6; r112 = item; } } if (!r2) { r1.return(); } const LINUX = KeyboardEnvs.LINUX; if (LINUX === r112) { r9 = env0_11[String(r11)]; value10 = null; r4 = value10 != r9 ? r9 : value10; } else if (KeyboardEnvs.MACOS === r112) { r9 = env0_12[String(r11)]; value10 = null; r4 = value10 != r9 ? r9 : value10; } else if (KeyboardEnvs.WINDOWS === r112) { r9 = env0_13[String(r11)]; value10 = null; r4 = value10 != r9 ? r9 : value10; } else if (KeyboardEnvs.BROWSER === r112) { value7 = (importDefault(12479) /* metro dependency 12479 */)(r11); value8 = null; if (value8 == value7) { r4 = value8; } else { r9 = getKeyConversionForBrowser(value7); value10 = null; r4 = value10 != r9 ? r9 : value10; } } else { r9 = env0_14[String(r11)]; value10 = null; r4 = value10 != r9 ? r9 : value10; } const value11 = null; if (value11 != r4) { return getCodeToKeyLanguageCorrection(property, r4, property2); } const keyboardEventShapeFromKeycode = (require(12480) /* metro dependency 12480: KeyboardLayoutMapUtils */).getKeyboardEventShapeFromKeycode(property); return value11 != keyboardEventShapeFromKeycode ? getCodeToKeyLanguageCorrection(keyboardEventShapeFromKeycode.keyCode, keyboardEventShapeFromKeycode.key, property2) : value11; } function keyToCode(a0) { // fn#94914, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:12664:2434, offset: 0x0212c2f2, size: 584 bytes, params: 2, frame: 20 var r0; var keyboardEventShapeFromKey; let value = a1; const value2 = a2; let r10 = value !== undefined ? value : getEnv_94912(); let r9 = value2 !== undefined ? value2 : KeyboardDeviceTypes.KEYBOARD_KEY; r10 = r10 === undefined ? getEnv_94912() : r10; r9 = r9 === undefined ? KeyboardDeviceTypes.KEYBOARD_KEY : r9; value = null; if (value == a0) { r0 = value; if (value != r0) { return r0; } keyboardEventShapeFromKey = (require(12480) /* metro dependency 12480: KeyboardLayoutMapUtils */).getKeyboardEventShapeFromKey(a0); return value != keyboardEventShapeFromKey ? keyboardEventShapeFromKey.keyCode : value; } const KEYBOARD_KEY = KeyboardDeviceTypes.KEYBOARD_KEY; let r2 = r9 === KEYBOARD_KEY || r9 === KeyboardDeviceTypes.KEYBOARD_MODIFIER_KEY; if ((r2 && r10 === KeyboardEnvs.LINUX) === true) { r2 = LinuxKeyToCode[a0]; r0 = value != r2 ? r2 : value; if (value != r0) { return r0; } keyboardEventShapeFromKey = (require(12480) /* metro dependency 12480: KeyboardLayoutMapUtils */).getKeyboardEventShapeFromKey(a0); return value != keyboardEventShapeFromKey ? keyboardEventShapeFromKey.keyCode : value; } if ((r2 && r10 === KeyboardEnvs.MACOS) === true) { r2 = MacosKeyToCode[a0]; r0 = value != r2 ? r2 : value; if (value != r0) { return r0; } keyboardEventShapeFromKey = (require(12480) /* metro dependency 12480: KeyboardLayoutMapUtils */).getKeyboardEventShapeFromKey(a0); return value != keyboardEventShapeFromKey ? keyboardEventShapeFromKey.keyCode : value; } if ((r2 && r10 === KeyboardEnvs.WINDOWS) === true) { r2 = a0 === '+' ? WindowsKeyToCode.plus : WindowsKeyToCode[a0]; r0 = value != r2 ? r2 : value; if (value != r0) { return r0; } keyboardEventShapeFromKey = (require(12480) /* metro dependency 12480: KeyboardLayoutMapUtils */).getKeyboardEventShapeFromKey(a0); return value != keyboardEventShapeFromKey ? keyboardEventShapeFromKey.keyCode : value; } if ((r2 && r10 === KeyboardEnvs.BROWSER) === true) { r2 = (importDefault(12479) /* metro dependency 12479 */)(getKeyConversionForBrowser(a0)); r0 = value != r2 ? r2 : value; if (value != r0) { return r0; } keyboardEventShapeFromKey = (require(12480) /* metro dependency 12480: KeyboardLayoutMapUtils */).getKeyboardEventShapeFromKey(a0); return value != keyboardEventShapeFromKey ? keyboardEventShapeFromKey.keyCode : value; } if (r2 === true) { r2 = env0_10[a0]; r0 = value != r2 ? r2 : value; if (value != r0) { return r0; } keyboardEventShapeFromKey = (require(12480) /* metro dependency 12480: KeyboardLayoutMapUtils */).getKeyboardEventShapeFromKey(a0); return value != keyboardEventShapeFromKey ? keyboardEventShapeFromKey.keyCode : value; } const MOUSE_BUTTON = KeyboardDeviceTypes.MOUSE_BUTTON; if (r9 === MOUSE_BUTTON === true) { r2 = global.parseInt(a0.replace('MOUSE', ''), 10); r0 = value != r2 ? r2 : value; if (value != r0) { return r0; } keyboardEventShapeFromKey = (require(12480) /* metro dependency 12480: KeyboardLayoutMapUtils */).getKeyboardEventShapeFromKey(a0); return value != keyboardEventShapeFromKey ? keyboardEventShapeFromKey.keyCode : value; } const GAMEPAD_BUTTON = KeyboardDeviceTypes.GAMEPAD_BUTTON; if (r9 === GAMEPAD_BUTTON === true) { r2 = global.parseInt(a0.replace('GAMEPAD', ''), 10); r0 = value != r2 ? r2 : value; if (value != r0) { return r0; } keyboardEventShapeFromKey = (require(12480) /* metro dependency 12480: KeyboardLayoutMapUtils */).getKeyboardEventShapeFromKey(a0); return value != keyboardEventShapeFromKey ? keyboardEventShapeFromKey.keyCode : value; } const Error = global.Error; value = 'Unrecognized DeviceType ' + r9 + '.'; const value10 = Object.create(Error.prototype, {constructor: {value: Error}}); const error = new Error(value); throw error instanceof Object ? error : value10; } function toPrettyKey(a0) { // fn#94916, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:12664:3823, offset: 0x0212c590, size: 102 bytes, params: 2, frame: 20 var value4; var value5; var property; var property2; var toUpperCase; var value6; const value2 = _createForOfIteratorHelperLoose_94907(env0_15); const value3 = value2(); let done = value3.done; if (done) { return a0; } let r3 = value3; loopExit1: while (true) { value4 = r3.value; value5 = env0_4(value4, 2); property = value5[0]; property2 = value5[1]; toUpperCase = a0.toUpperCase; if (property === Reflect.apply(toUpperCase, a0, [])) { break loopExit1; } value6 = value2(); done = value6.done; if (done) { return a0; } r3 = value6; continue; } return property2; } function getRawCodeFromKey(a0) { // fn#94918, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:12664:4145, offset: 0x0212c603, size: 77 bytes, params: 2, frame: 14 const value = a1; const r4 = value !== undefined ? value : getEnv_94912(); const BROWSER = KeyboardEnvs.BROWSER; return r4 === BROWSER ? (importDefault(12479) /* metro dependency 12479 */)(a0) : env0_10[a0]; } function toBrowserEvents(a0) { // fn#94919, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:12664:4428, offset: 0x0212c650, size: 60 bytes, params: 2, frame: 13 const env0_0 = {'keyCode': 0, 'key': '', 'code': '', 'metaKey': false, 'shiftKey': false, 'altKey': false, 'ctrlKey': false}; return a0 == null ? [] : a0.reduce(_fun94920, []); } function toCombo(a0) { // fn#94922, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:12664:4899, offset: 0x0212c78d, size: 225 bytes, params: 2, frame: 16 let value = a1; const value2 = a2; if (value === undefined) { value = getEnv_94912(); } const env0_1 = value2 !== undefined ? value2 : KeyboardDeviceTypes.KEYBOARD_KEY; value = a0.replace(RegExp('numpad plus', 'i'), ''); value = value.replace(RegExp('NUMPAD \\+', 'i'), 'numpad plus'); value = value.replace(RegExp('mod', 'i'), (require(12481) /* metro dependency 12481: KeybindModKeys */).modKey); value = value.split('+'); value = value.map(function(a0) { return a0.trim().replace('plus', '+'); }); return value.reduce(_fun94924, []); } function toString_94925(a0) { // fn#94925, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:12664:5372, offset: 0x0212c947, size: 181 bytes, params: 2, frame: 16 let value = a1; let r0 = value !== undefined ? value : false; value = Reflect.apply(a0.map(_fun94926).filter, value, [(require(1360) /* metro dependency 1360: GlobalUtils */).isNotNullish]); if (r0) { value = (env0_0.navigator.appVersion.indexOf('Mac OS X') === -1 ? value : value.map(toPrettyKey)).join(' + '); value = value.toUpperCase(); r0 = value; } else { value = value.join('+'); r0 = value; } return r0; } function areKeyCombosEqual(a0, a1) { // fn#94927, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:12664:5865, offset: 0x0212cb4d, size: 64 bytes, params: 3, frame: 13 const value = a2; const env0_0 = a1; const env0_1 = value !== undefined ? value : false; return a0.length === a1.length && a0.every(_fun94928); } function _fun94920(a0, a1) { // fn#94920, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:12664:4561, offset: 0x0212c68c, size: 225 bytes, params: 3, frame: 20 var environment; var r8; var push; var object3; let value = environment.__proto__; const value2 = codeToKey(a1); const env0_0 = value2; const object4 = {}; copyDataProperties(object4, env0_0, undefined); if (value2 == null) { push = a0.push; object3 = {}; copyDataProperties(object3, object4, undefined); object3['combo'] = a1; Reflect.apply(push, a0, [object3]); } else { var binding = env1_16; if (binding.test(value2)) { r8 = value2 === 'meta' || value2 === 'shift'; r8 = !r8 ? value2 === 'alt' : r8; r8 = !r8 ? value2 === 'ctrl' : r8; if (r8) { env0_0[toMetaKeyIndexKey(value2)] = true; return a0.map(_fun94921); } value = keyToCode(value2, KeyboardEnvs.BROWSER); if (value != null) { object4.keyCode = value; } a0.push(object4); return a0; } value = keyToCode(value2, KeyboardEnvs.BROWSER); if (value != null) { object4.keyCode = value; } a0.push(object4); } return a0; } function _fun94924(a0, a1) { // fn#94924, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:12664:5109, offset: 0x0212c892, size: 181 bytes, params: 3, frame: 23 var r4; var r5; var value5; var value6; var property; var property2; var toUpperCase; var value7; var toLowerCase; let value = a1; const value3 = _createForOfIteratorHelperLoose_94907(env1_15); const value4 = value3(); let done = value4.done; if (done) { r5 = value; } else { r4 = value4; loopExit1: while (true) { value5 = r4.value; value6 = env1_4(value5, 2); property = value6[0]; property2 = value6[1]; toUpperCase = value.toUpperCase; if (property2 === Reflect.apply(toUpperCase, value, [])) { toLowerCase = property.toLowerCase; value = Reflect.apply(toLowerCase, property, []); r5 = value; break loopExit1; } value7 = value3(); done = value7.done; if (done) { r5 = value; break loopExit1; } r4 = value7; continue; } } const value8 = keyToCode(r5, env0_0, env0_1); if (value8 != null) { a0.push([env0_1, value8, env0_0]); } return a0; } function _fun94926(a0) { // fn#94926, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:12664:5411, offset: 0x0212c9fc, size: 337 bytes, params: 2, frame: 19 var r0; var r1; var r3; var r6; var item3; var value3; var item4; var value4; var codeToKeyBinding; 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 r7 = value2 ? value : item; if (value2) { r0 = item2; r1 = value2; r3 = value; } else { item3 = Reflect.apply(iterator2, item2, []); item = item3.value; item3 = item3.done ? undefined : item2; value3 = item3 === value; if (value3) { r0 = item3; r1 = value3; r3 = value; } else { r0 = item3; r1 = value3; r3 = item; } } if (r1) { r6 = value; } else { item4 = Reflect.apply(iterator2, r0, []); item = item4.value; item4 = item4.done ? undefined : r0; value4 = item4 === value; if (value4) { r0 = item4; r1 = value4; r6 = value; } else { r0 = item4; r1 = value4; r6 = item; } } if (!r1) { r0.return(); } r6 = typeof r6 !== 'number' ? getEnv_94912() : r6; const KEYBOARD_KEY = KeyboardDeviceTypes.KEYBOARD_KEY; if (KEYBOARD_KEY === r7) { codeToKeyBinding = codeToKey; r0 = r6 != null ? [r7, r3, r6] : [r7, r3]; r0 = codeToKeyBinding(r0) ?? 'UNK' + r3; return r0; } const KEYBOARD_MODIFIER_KEY = KeyboardDeviceTypes.KEYBOARD_MODIFIER_KEY; if (KEYBOARD_MODIFIER_KEY === r7) { codeToKeyBinding = codeToKey; r0 = r6 != null ? [r7, r3, r6] : [r7, r3]; r0 = codeToKeyBinding(r0) ?? 'UNK' + r3; return r0; } const MOUSE_BUTTON = KeyboardDeviceTypes.MOUSE_BUTTON; if (MOUSE_BUTTON === r7) { return 'mouse' + r3; } const GAMEPAD_BUTTON = KeyboardDeviceTypes.GAMEPAD_BUTTON; if (GAMEPAD_BUTTON === r7) { return 'gamepad' + r3; } return 'dev' + r7 + ',' + r3; } function _fun94928(a0, a1) { // fn#94928, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:12664:5939, offset: 0x0212cb8d, size: 176 bytes, params: 3, frame: 18 var r0; var r1; var r5; var r3; var item3; var value3; var item4; var value4; const iterator = a0[Symbol.iterator](); const iterator2 = iterator.next; let item2 = Reflect.apply(iterator2, iterator, []); let item = item2.value; item2 = item2.done ? undefined : iterator; let value = undefined; const value2 = item2 === value; const r6 = value2 ? value : item; if (value2) { r0 = item2; r1 = value2; r5 = value; } else { item3 = Reflect.apply(iterator2, item2, []); item = item3.value; item3 = item3.done ? undefined : item2; value3 = item3 === value; if (value3) { r0 = item3; r1 = value3; r5 = value; } else { r0 = item3; r1 = value3; r5 = item; } } if (r1) { r3 = value; } else { item4 = Reflect.apply(iterator2, r0, []); item = item4.value; item4 = item4.done ? undefined : r0; value4 = item4 === value; if (value4) { r0 = item4; r1 = value4; r3 = value; } else { r0 = item4; r1 = value4; r3 = item; } } if (!r1) { r0.return(); } value = env1_4(require[a1], 3); return r6 === value[0] && r5 === value[1] && (env0_1 ? r3 === value[2] : !env0_1); } function _fun94921(a0) { // fn#94921, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:12664:4774, offset: 0x0212c76d, size: 32 bytes, params: 2, frame: 12 const value = environment.__proto__.__proto__; a0[toMetaKeyIndexKey(env0_0)] = true; return a0; }