/* Metro module 6465; source: unknown; dependencies: [31, 6466, 27, 6467, 6468, 6445, 6446, 6469, 6473, 6474, 6458, 6476, 6449, 6452, 6461, 6457, 6456] */ function _fun50772(global, require, importDefault, importAll, module, exports, dependencyMap) { // fn#50772, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:6643:6, offset: 0x01220e9c, size: 1105 bytes, params: 8, frame: 20 var object2; var closure; let value = this; const env0_0 = require; if (value && value.__extends) { } if (!(value && value.__assign)) { closure = function() { var r3; r3 = global.Object.assign || _fun50779; env0_4 = r3; return r3.apply(this, arguments); }; } const Object = global.Object; Object.defineProperty(exports, '__esModule', {value: true}); const env0_5 = require(31) /* metro dependency 31 */; const env0_6 = require(6466) /* metro dependency 6466 */; value = require(27) /* metro dependency 27 */; const Platform = value.Platform; const env0_7 = Platform ? value.Platform.OS === 'web' : !Platform; const ComponentCompat = (require(6449) /* metro dependency 6449 */).ComponentCompat; value = _fun50780(ComponentCompat); exports.default = value; object2 = {}; const value3 = require(6452) /* metro dependency 6452 */; let instanceOf = value3.instanceOf; const BaseLayoutProvider = (require(6461) /* metro dependency 6461 */).BaseLayoutProvider; object2.layoutProvider = Reflect.apply(instanceOf, value3, [BaseLayoutProvider]).isRequired; const value4 = value3; instanceOf = value4.instanceOf; const BaseDataProvider = (require(6457) /* metro dependency 6457 */).BaseDataProvider; object2.dataProvider = Reflect.apply(instanceOf, value4, [BaseDataProvider]).isRequired; object2.contextProvider = value3.instanceOf((require(6456) /* metro dependency 6456 */).default); const func = value3.func; object2.rowRenderer = func.isRequired; const number = value3.number; object2.initialOffset = number; object2.renderAheadOffset = number; const bool = value3.bool; object2.isHorizontal = bool; object2.onScroll = func; object2.onRecreate = func; const value6 = value3; let oneOfType = value6.oneOfType; const items3 = [func]; items3[1] = value3.object; object2.externalScrollView = Reflect.apply(oneOfType, value6, [items3]); object2.onEndReached = func; object2.onEndReachedThreshold = number; object2.onEndReachedThresholdRelative = number; object2.onVisibleIndexesChanged = func; object2.onVisibleIndicesChanged = func; object2.renderFooter = func; object2.initialRenderIndex = number; object2.layoutSize = value3.object; object2.scrollThrottle = number; object2.canChangeSize = bool; object2.useWindowScroll = bool; object2.disableRecycling = bool; object2.forceNonDeterministicRendering = bool; object2.extendedState = value3.object; const value7 = value3; instanceOf = value7.instanceOf; const BaseItemAnimator = (require(6468) /* metro dependency 6468 */).BaseItemAnimator; object2.itemAnimator = Reflect.apply(instanceOf, value7, [BaseItemAnimator]); object2.renderContentContainer = func; object2.renderItemContainer = func; object2.optimizeForInsertDeleteAnimations = bool; const value8 = value3; oneOfType = value8.oneOfType; const items2 = [value3.object]; items2[1] = number; object2.style = Reflect.apply(oneOfType, value8, [items2]); object2.scrollViewProps = value3.object; object2.applyWindowCorrection = func; object2.onItemLayout = func; object2.windowCorrectionConfig = value3.object; value.propTypes = object2; } function extendStatics_50773(a0, a1) { // fn#50773, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:6643:78, offset: 0x012212ed, size: 78 bytes, params: 3, frame: 13 var r3; var Array; var value; const Object = global.Object; const setPrototypeOf = Object.setPrototypeOf; if (setPrototypeOf) { r3 = setPrototypeOf; } else { Array = global.Array; value = Object.create([]); value = value instanceof Array; r3 = value && (function(a0, a1) { a0.__proto__ = a1; }); } r3 = !r3 ? function(a0, a1) { var r3; var propertyName; var propertyName2; var hasOwnProperty; for (propertyName in a1) { hasOwnProperty = global.Object.prototype.hasOwnProperty; if (!hasOwnProperty.call(a1, propertyName)) { r3 = propertyName2; continue; } a0[propertyName] = a1[propertyName]; r3 = propertyName2; } } : r3; return r3(a0, a1); } function _fun50776(a0, a1) { // fn#50776, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:6643:293, offset: 0x0122133b, size: 177 bytes, params: 3, frame: 15 var r1; var value; var prototype; var closure2; var TypeError; var value3; var typeError; const env0_0 = a0; const closure = ___50777; if (typeof a1 === 'function') { extendStatics_50773(a0, a1); if (a1 === null) { r1 = global.Object.create(a1); } else { prototype = a1.prototype; closure.prototype = prototype; prototype = closure.prototype; value = Object.create(prototype, {constructor: {value: closure}}); closure2 = new closure(); value = closure2 instanceof Object ? closure2 : value; r1 = value; } a0.prototype = r1; } else { if (a1 !== null) { TypeError = global.TypeError; value = global.String(a1); value = 'Class extends value ' + value; value3 = Object.create(TypeError.prototype, {constructor: {value: TypeError}}); value += ' is not a constructor or null'; typeError = new TypeError(); value = typeError instanceof Object ? typeError : value3; throw value; } extendStatics_50773(a0, a1); if (a1 === null) { r1 = global.Object.create(a1); } else { prototype = a1.prototype; closure.prototype = prototype; prototype = closure.prototype; value = Object.create(prototype, {constructor: {value: closure}}); closure2 = new closure(); value = closure2 instanceof Object ? closure2 : value; r1 = value; } a0.prototype = r1; } } function _fun50778() { // fn#50778, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:6643:564, offset: 0x012213ec, size: 53 bytes, params: 1, frame: 13 const Object = global.Object; return (Object.assign || (function(a0) { var r2; var r10; var value3; var propertyName; var propertyName2; var hasOwnProperty; var value4; var value = arguments.length; var value2 = 1; if (value2 < value) { r2 = value2; while (true) { value3 = arguments[r2]; for (propertyName in value3) { hasOwnProperty = global.Object.prototype.hasOwnProperty; if (!hasOwnProperty.call(value3, propertyName)) { r10 = propertyName2; continue; } a0[propertyName] = value3[propertyName]; r10 = propertyName2; } value4 = typeof r2 === 'bigint' ? r2 + 1n : +r2 + 1; if (value4 < value) { r2 = value4; continue; } break; } } return a0; })).apply(this, arguments); } function _fun50780(a0) { // fn#50780, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:6643:895, offset: 0x01221421, size: 676 bytes, params: 2, frame: 15 let env0_0 = a0; const closure = RecyclerListView; env0_3(closure, a0); closure.prototype.componentWillReceivePropsCompat = componentWillReceivePropsCompat_50793; closure.prototype.componentDidUpdate = function() { this._processInitialOffset(); this._processOnEndReached(); this._checkAndChangeLayouts(this.props); this._virtualRenderer.setOptimizeForAnimations(false); }; closure.prototype.componentDidMount = function() { if (this._initComplete) { this._processInitialOffset(); this._processOnEndReached(); } }; closure.prototype.componentWillUnmount = componentWillUnmount_50796; closure.prototype.scrollToIndex = scrollToIndex; closure.prototype.bringToFocus = bringToFocus; closure.prototype.scrollToItem = function(a0, a1) { var r0; var value3; var dataProvider = this.props.dataProvider; var value = dataProvider.getSize(); var value2 = 0; if (value2 < value) { r0 = value2; loopExit1: while (true) { dataProvider = this.props.dataProvider; if (dataProvider.getDataForIndex(r0) === a0) { this.scrollToIndex(r0, a1); break loopExit1; } value3 = typeof r0 === 'bigint' ? r0 + 1n : +r0 + 1; if (value3 < value) { r0 = value3; continue; } break loopExit1; } } }; closure.prototype.getLayout = function(a0) { var r0; var value = this._virtualRenderer.getLayoutManager(); if (value) { value = value.getLayouts(); r0 = value[a0]; } else { r0 = undefined; } return r0; }; closure.prototype.scrollToTop = function(a0) { this.scrollToOffset(0, 0, a0); }; closure.prototype.scrollToEnd = function(a0) { var value = this.props.dataProvider.getSize(); value -= 1; this.scrollToIndex(value, a0); }; closure.prototype.updateRenderAheadOffset = function(a0) { var r0; var value = this._virtualRenderer.getViewabilityTracker(); if (value) { value.updateRenderAheadOffset(a0); value = true; r0 = value; } else { r0 = !!value; } return r0; }; closure.prototype.getCurrentRenderAheadOffset = function() { var r0; var value = this._virtualRenderer.getViewabilityTracker(); if (value) { value = value.getCurrentRenderAheadOffset(); r0 = value; } else { r0 = this.props.renderAheadOffset; } return r0; }; closure.prototype.getCurrentScrollOffset = function() { var r0; var value = this._virtualRenderer.getViewabilityTracker(); if (value) { value = value.getLastActualOffset(); r0 = value; } else { r0 = 0; } return r0; }; closure.prototype.findApproxFirstVisibleIndex = function() { var r0; var value = this._virtualRenderer.getViewabilityTracker(); if (value) { value = value.findFirstLogicallyVisibleIndex(); r0 = value; } else { r0 = 0; } return r0; }; closure.prototype.getRenderedSize = function() { return this._layout; }; closure.prototype.getContentDimension = function() { return this._virtualRenderer.getLayoutDimension(); }; closure.prototype.forceRerender = function() { this.setState({internalSnapshot: {}}); }; closure.prototype.getScrollableNode = function() { return this._scrollComponent && this._scrollComponent.getScrollableNode ? this._scrollComponent.getScrollableNode() : null; }; closure.prototype.getNativeScrollRef = function() { return this._scrollComponent && this._scrollComponent.getNativeScrollRef ? this._scrollComponent.getNativeScrollRef() : null; }; closure.prototype.renderCompat = renderCompat_50812; closure.prototype.prepareForLayoutAnimationRender = function() { this._virtualRenderer.setOptimizeForAnimations(true); }; closure.prototype.getVirtualRenderer = function() { return this._virtualRenderer; }; closure.prototype.onItemLayout = function(a0) { if (this.props.onItemLayout) { this.props.onItemLayout(a0); } }; closure.prototype._processInitialOffset = function() { var env0_0 = this; if (this._pendingScrollToOffset) { global.setTimeout(_fun50818, 0); } }; closure.prototype._getContextFromContextProvider = _getContextFromContextProvider; closure.prototype._checkAndChangeLayouts = _checkAndChangeLayouts; closure.prototype._refreshViewability = function() { this._virtualRenderer.refresh(); this._queueStateRefresh(); }; closure.prototype._queueStateRefresh = function() { var env0_0 = this; this.refreshRequestDebouncer(_fun50823); }; closure.prototype._initStateIfRequired = function(a0) { var r0; r0 = !this.state && !this.getHasRenderedOnce(); if (r0) { this.state = {internalSnapshot: {}, renderStack: a0}; r0 = true; } return r0; }; closure.prototype._initTrackers = _initTrackers; closure.prototype._getWindowCorrection = function(a0, a1, a2) { var r0; r0 = a2.applyWindowCorrection && a2.applyWindowCorrection(a0, a1, this._windowCorrectionConfig.value); r0 = !r0 ? this._windowCorrectionConfig.value : r0; return r0; }; closure.prototype._assertDependencyPresence = _assertDependencyPresence; closure.prototype._assertType = _assertType; closure.prototype._renderRowUsingMeta = _renderRowUsingMeta; closure.prototype._checkExpectedDimensionDiscrepancy = function(a0, a1, a2) { if (this.props.layoutProvider.checkDimensionDiscrepancy(a0, a1, a2)) { if (this._relayoutReqIndex === -1) { this._relayoutReqIndex = a2; } else { this._relayoutReqIndex = global.Math.min(this._relayoutReqIndex, a2); } } }; closure.prototype._generateRenderStack = function() { var r3; var propertyName; var propertyName2; var renderStack2; var items = []; if (this.state) { for (propertyName in this.state.renderStack) { renderStack2 = this.state.renderStack; if (!renderStack2.hasOwnProperty(propertyName)) { r3 = propertyName2; continue; } items.push(this._renderRowUsingMeta(this.state.renderStack[propertyName])); r3 = propertyName2; } } return items; }; closure.prototype._processOnEndReached = _processOnEndReached; closure.defaultProps = {'canChangeSize': false, 'disableRecycling': false, 'initialOffset': 0, 'initialRenderIndex': 0, 'isHorizontal': false, 'onEndReachedThreshold': 0, 'onEndReachedThresholdRelative': 0, renderAheadOffset: env0_7 ? 1000 : 250}; closure.propTypes = {}; return closure; } function RecyclerListView(a0, a1) { // fn#50781, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:6643:907, offset: 0x012216c5, size: 660 bytes, params: 3, frame: 21 var environment; var r4; var object2; var _layout; let value = this; const r0 = env0_0.call(value, a0, a1) || value; value = environment.__proto__; r0.refreshRequestDebouncer = (require(6467) /* metro dependency 6467 */)(function(a0) { a0(); }); r0._onEndReachedCalled = false; r0._initComplete = false; r0._isMounted = true; r0._relayoutReqIndex = -1; r0._params = {'initialOffset': 0, 'initialRenderIndex': 0, 'isHorizontal': false, 'itemCount': 0, 'renderAheadOffset': 250}; r0._layout = {'height': 0, 'width': 0}; r0._pendingScrollToOffset = null; r0._tempDim = {'height': 0, 'width': 0}; r0._initialOffset = 0; r0._scrollComponent = null; const BaseItemAnimator = (require(6468) /* metro dependency 6468 */).BaseItemAnimator; r0._defaultItemAnimator = new BaseItemAnimator(); r0.scrollToOffset = scrollToOffset_50783; r0._onItemLayout = _onItemLayout; r0._onSizeChanged = _onSizeChanged; r0._renderStackWhenReady = _renderStackWhenReady; r0._dataHasChanged = _dataHasChanged; r0._onViewContainerSizeChange = _onViewContainerSizeChange; r0._onScroll = _onScroll; const property = (require(6469) /* metro dependency 6469 */).default; var _renderStackWhenReady = r0._renderStackWhenReady; r0._virtualRenderer = new property(_renderStackWhenReady, _fun50791, _fun50792, !a0.disableRecycling); let props = r0.props; let windowCorrectionConfig = props.windowCorrectionConfig; if (windowCorrectionConfig) { props = r0.props; windowCorrectionConfig = props.windowCorrectionConfig; r4 = windowCorrectionConfig.value ? r0.props.windowCorrectionConfig.value : {'startCorrection': 0, 'endCorrection': 0, 'windowShift': 0}; object2 = {}; props = r0.props; windowCorrectionConfig = props.windowCorrectionConfig; object2.applyToItemScroll = !!windowCorrectionConfig.applyToItemScroll; props = r0.props; windowCorrectionConfig = props.windowCorrectionConfig; object2.applyToInitialOffset = !!windowCorrectionConfig.applyToInitialOffset; object2.value = r4; r0._windowCorrectionConfig = object2; } else { r0._windowCorrectionConfig = {'applyToItemScroll': false, 'applyToInitialOffset': false, value: {'startCorrection': 0, 'endCorrection': 0, 'windowShift': 0}}; } r0._getContextFromContextProvider(a0); let layoutSize = a0.layoutSize; if (layoutSize) { _layout = r0._layout; layoutSize = a0.layoutSize; _layout.height = layoutSize.height; _layout = r0._layout; layoutSize = a0.layoutSize; _layout.width = layoutSize.width; r0._initComplete = true; r0._initTrackers(a0); } else { r0.state = {internalSnapshot: {}, renderStack: {}}; } return r0; } function componentWillReceivePropsCompat_50793(a0) { // fn#50793, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:6643:4085, offset: 0x01221df0, size: 173 bytes, params: 2, frame: 13 var _virtualRenderer; var value; var property; var usingOldVisibleIndexesChangedParam; this._assertDependencyPresence(a0); this._checkAndChangeLayouts(a0); if (!a0.onVisibleIndicesChanged) { this._virtualRenderer.removeVisibleItemsListener(); } if (a0.onVisibleIndexesChanged) { value = environment.__proto__; property = (require(6445) /* metro dependency 6445 */).default; usingOldVisibleIndexesChangedParam = (require(6446) /* metro dependency 6446 */).default.usingOldVisibleIndexesChangedParam; throw new property(); } if (a0.onVisibleIndicesChanged) { _virtualRenderer = this._virtualRenderer; _virtualRenderer.attachVisibleItemsListener(a0.onVisibleIndicesChanged); } } function componentWillUnmount_50796() { // fn#50796, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:6643:4844, offset: 0x01221eff, size: 236 bytes, params: 1, frame: 16 var value; var save; var value2; var layoutManager; var layouts; var JSON; this._isMounted = false; let props = this.props; let contextProvider = props.contextProvider; if (contextProvider) { props = this.props; contextProvider = props.contextProvider; value = contextProvider.getUniqueKey(); if (value) { props = this.props; contextProvider = props.contextProvider; save = contextProvider.save; value2 = environment.__proto__; Reflect.apply(save, contextProvider, [value + env1_6.Constants.CONTEXT_PROVIDER_OFFSET_KEY_SUFFIX, this.getCurrentScrollOffset()]); props = this.props; if (props.forceNonDeterministicRendering) { if (this._virtualRenderer) { layoutManager = this._virtualRenderer.getLayoutManager(); if (layoutManager) { layouts = layoutManager.getLayouts(); contextProvider = this.props.contextProvider; save = contextProvider.save; value += env1_6.Constants.CONTEXT_PROVIDER_LAYOUT_KEY_SUFFIX; JSON = global.JSON; Reflect.apply(save, contextProvider, [value, JSON.stringify({layoutArray: layouts})]); } } } } } } function scrollToIndex(a0, a1) { // fn#50797, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:6643:5372, offset: 0x01221feb, size: 135 bytes, params: 3, frame: 18 var console; var warn; let value = this._virtualRenderer.getLayoutManager(); if (value) { value = value.getOffsetForIndex(a0); this.scrollToOffset(value.x, value.y, a1, this._windowCorrectionConfig.applyToItemScroll); } else { console = global.console; warn = console.warn; value = environment.__proto__; Reflect.apply(warn, console, [(require(6473) /* metro dependency 6473 */).Messages.WARN_SCROLL_TO_INDEX]); } } function bringToFocus(a0, a1) { // fn#50798, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:6643:5645, offset: 0x01222072, size: 188 bytes, params: 3, frame: 20 var r5; var r0; var r6; var value6; let value = this.getRenderedSize(); const layout = this.getLayout(a0); const value5 = this.getCurrentScrollOffset() + this._windowCorrectionConfig.value.windowShift; const isHorizontal = this.props.isHorizontal; if (layout) { r5 = isHorizontal ? layout.width : layout.height; r0 = isHorizontal ? layout.x : layout.y; r6 = isHorizontal ? value.width : value.height; value = r6 + value5; if (r5 > r6) { this.scrollToIndex(a0); } else if (r0 < value5) { this.scrollToIndex(a0); } else if (r0 > value) { this.scrollToIndex(a0); } else { value6 = r0 + r5; if (value6 > value) { value = value6 - value; this.scrollToOffset(value + value5, value + value5, a1, true); } } } } function renderCompat_50812() { // fn#50812, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:6643:7843, offset: 0x01222343, size: 230 bytes, params: 1, frame: 25 var environment; let value = environment.__proto__; const binding = env1_5; const createElement = binding.createElement; const property = (require(6474) /* metro dependency 6474 */).default; const binding2 = env1_4; const object3 = {ref: ref_50813}; const props = this.props; const scrollViewProps = this.props.scrollViewProps; const object4 = {}; object4.onScroll = this._onScroll; object4.onSizeChanged = this._onSizeChanged; const _initComplete = this._initComplete; value = 0; object4.contentHeight = _initComplete ? this._virtualRenderer.getLayoutDimension().height : value; object4.contentWidth = this._initComplete ? this._virtualRenderer.getLayoutDimension().width : value; object4.renderAheadOffset = this.getCurrentRenderAheadOffset(); return Reflect.apply(createElement, binding, [property, binding2(object3, props, scrollViewProps, object4), this._generateRenderStack()]); } function _processInitialOffset() { // fn#50817, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:6643:8671, offset: 0x01222488, size: 45 bytes, params: 1, frame: 13 if (this._pendingScrollToOffset) { global.setTimeout(_fun50818, 0); } } function _getContextFromContextProvider(a0) { // fn#50819, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:6643:9110, offset: 0x0122254b, size: 320 bytes, params: 2, frame: 16 var uniqueKey; var get; var value2; var value3; var value6; var JSON; let contextProvider = a0.contextProvider; if (contextProvider) { contextProvider = a0.contextProvider; uniqueKey = contextProvider.getUniqueKey(); if (uniqueKey) { contextProvider = a0.contextProvider; get = contextProvider.get; value2 = environment.__proto__; value3 = Reflect.apply(get, contextProvider, [uniqueKey + env1_6.Constants.CONTEXT_PROVIDER_OFFSET_KEY_SUFFIX]); if (typeof value3 === 'number' && value3 > 0) { this._initialOffset = value3; if (a0.onRecreate) { a0.onRecreate({lastOffset: this._initialOffset}); } contextProvider = a0.contextProvider; contextProvider.remove(uniqueKey + env1_6.Constants.CONTEXT_PROVIDER_OFFSET_KEY_SUFFIX); } if (a0.forceNonDeterministicRendering) { contextProvider = a0.contextProvider; value6 = contextProvider.get(uniqueKey + env1_6.Constants.CONTEXT_PROVIDER_LAYOUT_KEY_SUFFIX); if (value6 && typeof value6 === 'string') { JSON = global.JSON; this._cachedLayouts = JSON.parse(value6).layoutArray; contextProvider = a0.contextProvider; contextProvider.remove(uniqueKey + env1_6.Constants.CONTEXT_PROVIDER_LAYOUT_KEY_SUFFIX); } } } } } function _checkAndChangeLayouts(a0, a1) { // fn#50820, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:6643:9767, offset: 0x0122268b, size: 814 bytes, params: 3, frame: 21 var console; var warn; var size; var relayoutFromIndex; var Math; var setLayoutManager; var firstIndexToProcessInternal; var shouldRefreshWithAnchoring; let _params = this._params; _params.isHorizontal = a0.isHorizontal; _params = this._params; let dataProvider = a0.dataProvider; _params.itemCount = dataProvider.getSize(); let _virtualRenderer = this._virtualRenderer; _virtualRenderer.setParamsAndDimensions(this._params, this._layout); _virtualRenderer = this._virtualRenderer; const setLayoutProvider = _virtualRenderer.setLayoutProvider; let layoutProvider = a0.layoutProvider; Reflect.apply(setLayoutProvider, _virtualRenderer, [layoutProvider]); let value = a0.dataProvider.hasStableIds(); if (value && this.props.dataProvider !== a0.dataProvider) { value = a0.dataProvider.requiresDataChangeHandling(); _virtualRenderer = this._virtualRenderer; if (value) { _virtualRenderer.handleDataSetChange(a0.dataProvider); } else if (_virtualRenderer.hasPendingAnimationOptimization()) { console = global.console; warn = console.warn; value = environment.__proto__; Reflect.apply(warn, console, [(require(6473) /* metro dependency 6473 */).Messages.ANIMATION_ON_PAGINATION]); } } layoutProvider = this.props.layoutProvider; if (layoutProvider !== a0.layoutProvider) { _virtualRenderer = this._virtualRenderer; setLayoutManager = _virtualRenderer.setLayoutManager; layoutProvider = a0.layoutProvider; Reflect.apply(setLayoutManager, _virtualRenderer, [layoutProvider.createLayoutManager(this._layout, a0.isHorizontal)]); layoutProvider = a0.layoutProvider; shouldRefreshWithAnchoring = layoutProvider.shouldRefreshWithAnchoring; _virtualRenderer = this._virtualRenderer; if (shouldRefreshWithAnchoring) { _virtualRenderer.refreshWithAnchor(); } else { _virtualRenderer.refresh(); } this._refreshViewability(); } else if (this.props.isHorizontal !== a0.isHorizontal) { _virtualRenderer = this._virtualRenderer; setLayoutManager = _virtualRenderer.setLayoutManager; layoutProvider = a0.layoutProvider; Reflect.apply(setLayoutManager, _virtualRenderer, [layoutProvider.createLayoutManager(this._layout, a0.isHorizontal)]); layoutProvider = a0.layoutProvider; shouldRefreshWithAnchoring = layoutProvider.shouldRefreshWithAnchoring; _virtualRenderer = this._virtualRenderer; if (shouldRefreshWithAnchoring) { _virtualRenderer.refreshWithAnchor(); } else { _virtualRenderer.refresh(); } this._refreshViewability(); } else { dataProvider = this.props.dataProvider; if (dataProvider !== a0.dataProvider) { dataProvider = a0.dataProvider; value = dataProvider.getSize(); dataProvider = this.props.dataProvider; if (value > dataProvider.getSize()) { this._onEndReachedCalled = false; } value = this._virtualRenderer.getLayoutManager(); if (value) { relayoutFromIndex = value.relayoutFromIndex; dataProvider = a0.dataProvider; firstIndexToProcessInternal = dataProvider.getFirstIndexToProcessInternal(); dataProvider = a0.dataProvider; Reflect.apply(relayoutFromIndex, value, [firstIndexToProcessInternal, dataProvider.getSize()]); this._virtualRenderer.refresh(); } } else if (a1) { _virtualRenderer = this._virtualRenderer; value = _virtualRenderer.getLayoutManager(); if (value) { value = value.getLayouts(); _virtualRenderer = this._virtualRenderer; setLayoutManager = _virtualRenderer.setLayoutManager; layoutProvider = a0.layoutProvider; Reflect.apply(setLayoutManager, _virtualRenderer, [layoutProvider.createLayoutManager(this._layout, a0.isHorizontal, value)]); this._refreshViewability(); } } else if (this._relayoutReqIndex >= 0) { value = this._virtualRenderer.getLayoutManager(); if (value) { size = a0.dataProvider.getSize(); relayoutFromIndex = value.relayoutFromIndex; Math = global.Math; Reflect.apply(relayoutFromIndex, value, [Math.min(global.Math.max(size - 1, 0), this._relayoutReqIndex), size]); this._relayoutReqIndex = -1; this._refreshViewability(); } } } } function _queueStateRefresh() { // fn#50822, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:6643:11570, offset: 0x012229da, size: 29 bytes, params: 1, frame: 11 this.refreshRequestDebouncer(_fun50823); } function _initTrackers(a0) { // fn#50826, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:6643:11888, offset: 0x01222a5a, size: 513 bytes, params: 2, frame: 18 var _virtualRenderer; var value; var property; var usingOldVisibleIndexesChangedParam; this._assertDependencyPresence(a0); if (a0.onVisibleIndexesChanged) { value = environment.__proto__; property = (require(6445) /* metro dependency 6445 */).default; usingOldVisibleIndexesChangedParam = (require(6446) /* metro dependency 6446 */).default.usingOldVisibleIndexesChangedParam; throw new property(); } if (a0.onVisibleIndicesChanged) { _virtualRenderer = this._virtualRenderer; _virtualRenderer.attachVisibleItemsListener(a0.onVisibleIndicesChanged); } const object2 = {}; object2.initialOffset = this._initialOffset || a0.initialOffset; object2.initialRenderIndex = a0.initialRenderIndex; object2.isHorizontal = a0.isHorizontal; object2.itemCount = a0.dataProvider.getSize(); object2.renderAheadOffset = a0.renderAheadOffset; this._params = object2; _virtualRenderer = this._virtualRenderer; _virtualRenderer.setParamsAndDimensions(this._params, this._layout); const layoutProvider = a0.layoutProvider; this._virtualRenderer.setLayoutManager(layoutProvider.createLayoutManager(this._layout, a0.isHorizontal, this._cachedLayouts)); _virtualRenderer = this._virtualRenderer; _virtualRenderer.setLayoutProvider(a0.layoutProvider); this._virtualRenderer.init(); const initialOffset = this._virtualRenderer.getInitialOffset(); value = value.getContentDimension(); if (initialOffset.y > 0) { if (value.height > this._layout.height) { this._pendingScrollToOffset = initialOffset; if (!this._initStateIfRequired()) { this.setState({}); } } else if (initialOffset.x > 0) { if (value.width > this._layout.width) { this._pendingScrollToOffset = initialOffset; if (!this._initStateIfRequired()) { this.setState({}); } } else { _virtualRenderer = this._virtualRenderer; _virtualRenderer.startViewabilityTracker(this._getWindowCorrection(initialOffset.x, initialOffset.y, a0)); } } else { _virtualRenderer = this._virtualRenderer; _virtualRenderer.startViewabilityTracker(this._getWindowCorrection(initialOffset.x, initialOffset.y, a0)); } } else if (initialOffset.x > 0) { if (value.width > this._layout.width) { this._pendingScrollToOffset = initialOffset; if (!this._initStateIfRequired()) { this.setState({}); } } else { _virtualRenderer = this._virtualRenderer; _virtualRenderer.startViewabilityTracker(this._getWindowCorrection(initialOffset.x, initialOffset.y, a0)); } } else { _virtualRenderer = this._virtualRenderer; _virtualRenderer.startViewabilityTracker(this._getWindowCorrection(initialOffset.x, initialOffset.y, a0)); } } function _assertDependencyPresence(a0) { // fn#50828, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:6643:13224, offset: 0x01222c98, size: 100 bytes, params: 2, frame: 13 var value; const property = (require(6445) /* metro dependency 6445 */).default; var unresolvedDependenciesException; if (a0.dataProvider) { if (a0.layoutProvider) { return undefined; } value = environment.__proto__; unresolvedDependenciesException = (require(6446) /* metro dependency 6446 */).default.unresolvedDependenciesException; throw new property(); } value = environment.__proto__; unresolvedDependenciesException = (require(6446) /* metro dependency 6446 */).default.unresolvedDependenciesException; throw new property(); } function _assertType(a0) { // fn#50829, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:6643:13392, offset: 0x01222cfc, size: 91 bytes, params: 2, frame: 13 if (a0) { return undefined; } if (a0 === 0) { return undefined; } const value = environment.__proto__; throw new (require(6445) /* metro dependency 6445 */).default((require(6446) /* metro dependency 6446 */).default.itemTypeNullException); } function _renderRowUsingMeta({dataIndex}) { // fn#50830, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:6643:13533, offset: 0x01222d57, size: 544 bytes, params: 2, frame: 25 var _virtualRenderer; var property; var layoutProvider; var layoutTypeForIndex; var value4; var styleOverridesForIndex; var forceNonDeterministicRendering; var binding; var createElement; var property2; var object2; var Default; let props = this.props; let value = props.dataProvider.getSize(); const ObjectUtil = (require(6458) /* metro dependency 6458 */).ObjectUtil; if (!ObjectUtil.isNullOrUndefined(dataIndex)) { if (dataIndex < value) { _virtualRenderer = this._virtualRenderer; value = _virtualRenderer.getLayoutManager(); property = value.getLayouts()[dataIndex]; props = this.props; value = props.dataProvider.getDataForIndex(dataIndex); props = this.props; layoutProvider = props.layoutProvider; layoutTypeForIndex = layoutProvider.getLayoutTypeForIndex(dataIndex); _virtualRenderer = this._virtualRenderer; value4 = _virtualRenderer.syncAndGetKey(dataIndex); _virtualRenderer = this._virtualRenderer; styleOverridesForIndex = _virtualRenderer.getLayoutManager().getStyleOverridesForIndex(dataIndex); this._assertType(layoutTypeForIndex); props = this.props; forceNonDeterministicRendering = props.forceNonDeterministicRendering; if (!forceNonDeterministicRendering) { this._checkExpectedDimensionDiscrepancy(property, layoutTypeForIndex, dataIndex); } binding = env1_5; createElement = binding.createElement; property2 = (require(6476) /* metro dependency 6476 */).default; object2 = {key: value4, data: value}; object2.dataHasChanged = this._dataHasChanged; object2.x = property.x; object2.y = property.y; object2.layoutType = layoutTypeForIndex; object2.index = dataIndex; object2.styleOverrides = styleOverridesForIndex; props = this.props; layoutProvider = props.layoutProvider; object2.layoutProvider = layoutProvider; props = this.props; forceNonDeterministicRendering = props.forceNonDeterministicRendering; object2.forceNonDeterministicRendering = forceNonDeterministicRendering; props = this.props; object2.isHorizontal = props.isHorizontal; object2.onSizeChanged = this._onViewContainerSizeChange; props = this.props; object2.childRenderer = props.rowRenderer; object2.height = property.height; object2.width = property.width; Default = (require(6458) /* metro dependency 6458 */).Default; value = Default.value; props = this.props; object2.itemAnimator = Reflect.apply(value, Default, [props.itemAnimator, this._defaultItemAnimator]); props = this.props; object2.extendedState = props.extendedState; object2.internalSnapshot = this.state.internalSnapshot; props = this.props; object2.renderItemContainer = props.renderItemContainer; object2.onItemLayout = this._onItemLayout; return Reflect.apply(createElement, binding, [property2, object2]); } } return null; } function _processOnEndReached() { // fn#50833, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:6643:15240, offset: 0x01223048, size: 344 bytes, params: 1, frame: 20 var r2; var r8; var _virtualRenderer; var value; var viewabilityTracker; var isHorizontal; var _layout; var value4; var value5; const Default = (require(6458) /* metro dependency 6458 */).Default; var value6; var value7; var value8; let props = this.props; if (props.onEndReached) { _virtualRenderer = this._virtualRenderer; if (_virtualRenderer) { _virtualRenderer = this._virtualRenderer; value = _virtualRenderer.getLayoutDimension(); _virtualRenderer = this._virtualRenderer; viewabilityTracker = _virtualRenderer.getViewabilityTracker(); if (viewabilityTracker) { props = this.props; isHorizontal = props.isHorizontal; r2 = isHorizontal ? value.width - this._layout.width : value.height - this._layout.height; value = 0; value4 = r2 - (viewabilityTracker ? viewabilityTracker.getLastOffset() : value); props = this.props; isHorizontal = props.isHorizontal; _layout = this._layout; r8 = isHorizontal ? _layout.width : _layout.height; value5 = environment.__proto__; value6 = Default.value; props = this.props; value7 = r8 * Reflect.apply(value6, Default, [props.onEndReachedThresholdRelative, value]); value8 = Default.value; props = this.props; value = Reflect.apply(value8, Default, [props.onEndReachedThreshold, value]); if (value4 <= value7) { if (this.props.onEndReached && !this._onEndReachedCalled) { this._onEndReachedCalled = true; this.props.onEndReached(); } } else if (value4 <= value) { if (this.props.onEndReached && !this._onEndReachedCalled) { this._onEndReachedCalled = true; this.props.onEndReached(); } } else { this._onEndReachedCalled = false; } } } } } function RecyclerListViewScrollToOffset(a0, a1, a2, a3) { // fn#50783, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:6643:1410, owner: RecyclerListView.scrollToOffset, offset: 0x01221959, size: 156 bytes, params: 5, frame: 18 var r4; var r6; var r3; let value = a0; const value2 = a1; const value3 = a2; const value4 = a3; const r5 = value3 !== undefined ? value3 : false; const r2 = value4 !== undefined ? value4 : false; if (env0_0._scrollComponent) { if (env0_0.props.isHorizontal) { if (r2) { value -= env0_0._windowCorrectionConfig.value.windowShift; r6 = value; } else { r6 = value; } value = 0; r3 = r6; r4 = value; } else { if (r2) { value = env0_0._windowCorrectionConfig.value; value = value2 - value.windowShift; r4 = value; } else { r4 = value2; } value = 0; r3 = value; } env0_0._scrollComponent.scrollTo(r3, r4, r5); } } function _onItemLayout(a0) { // fn#50784, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:6643:1677, owner: RecyclerListView._onItemLayout, offset: 0x012219f5, size: 25 bytes, params: 2, frame: 11 env0_0.onItemLayout(a0); } function _onSizeChanged(a0) { // fn#50785, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:6643:1725, owner: RecyclerListView._onSizeChanged, offset: 0x01221a0e, size: 421 bytes, params: 2, frame: 15 var value; var _layout; var value2; var value3; var binding; const property = (require(6445) /* metro dependency 6445 */).default; var layoutException; let height = a0.height; if (height === 0) { if (env0_0.props.suppressBoundedSizeException) { return undefined; } value = environment.__proto__.__proto__; layoutException = (require(6446) /* metro dependency 6446 */).default.layoutException; throw new property(); } let width = a0.width; if (width === 0) { if (env0_0.props.suppressBoundedSizeException) { return undefined; } value = environment.__proto__.__proto__; layoutException = (require(6446) /* metro dependency 6446 */).default.layoutException; throw new property(); } if (env0_0.props.canChangeSize) { _layout = env0_0._layout; height = _layout.height; value2 = height !== a0.height; _layout = env0_0._layout; width = _layout.width; value3 = width !== a0.width; _layout = env0_0._layout; height = a0.height; _layout.height = height; _layout = env0_0._layout; width = a0.width; _layout.width = width; if (env0_0._initComplete) { if (value2) { if (value3) { binding = env0_0; binding._checkAndChangeLayouts(env0_0.props, true); } else if (value2) { if (env0_0.props.isHorizontal) { binding = env0_0; binding._checkAndChangeLayouts(env0_0.props, true); } else if (value3) { if (env0_0.props.isHorizontal) { env0_0._refreshViewability(); } else { binding = env0_0; binding._checkAndChangeLayouts(env0_0.props, true); } } else { env0_0._refreshViewability(); } } else if (value3) { if (env0_0.props.isHorizontal) { env0_0._refreshViewability(); } else { binding = env0_0; binding._checkAndChangeLayouts(env0_0.props, true); } } else { env0_0._refreshViewability(); } } else if (value2) { if (env0_0.props.isHorizontal) { binding = env0_0; binding._checkAndChangeLayouts(env0_0.props, true); } else if (value3) { if (env0_0.props.isHorizontal) { env0_0._refreshViewability(); } else { binding = env0_0; binding._checkAndChangeLayouts(env0_0.props, true); } } else { env0_0._refreshViewability(); } } else if (value3) { if (env0_0.props.isHorizontal) { env0_0._refreshViewability(); } else { binding = env0_0; binding._checkAndChangeLayouts(env0_0.props, true); } } else { env0_0._refreshViewability(); } } else { env0_0._initComplete = true; binding = env0_0; binding._initTrackers(env0_0.props); binding = env0_0; binding._processOnEndReached(); } } else if (!env0_0.props.layoutSize) { _layout = env0_0._layout; height = _layout.height; value2 = height !== a0.height; _layout = env0_0._layout; width = _layout.width; value3 = width !== a0.width; _layout = env0_0._layout; height = a0.height; _layout.height = height; _layout = env0_0._layout; width = a0.width; _layout.width = width; if (env0_0._initComplete) { if (value2) { if (value3) { binding = env0_0; binding._checkAndChangeLayouts(env0_0.props, true); } else if (value2) { if (env0_0.props.isHorizontal) { binding = env0_0; binding._checkAndChangeLayouts(env0_0.props, true); } else if (value3) { if (env0_0.props.isHorizontal) { env0_0._refreshViewability(); } else { binding = env0_0; binding._checkAndChangeLayouts(env0_0.props, true); } } else { env0_0._refreshViewability(); } } else if (value3) { if (env0_0.props.isHorizontal) { env0_0._refreshViewability(); } else { binding = env0_0; binding._checkAndChangeLayouts(env0_0.props, true); } } else { env0_0._refreshViewability(); } } else if (value2) { if (env0_0.props.isHorizontal) { binding = env0_0; binding._checkAndChangeLayouts(env0_0.props, true); } else if (value3) { if (env0_0.props.isHorizontal) { env0_0._refreshViewability(); } else { binding = env0_0; binding._checkAndChangeLayouts(env0_0.props, true); } } else { env0_0._refreshViewability(); } } else if (value3) { if (env0_0.props.isHorizontal) { env0_0._refreshViewability(); } else { binding = env0_0; binding._checkAndChangeLayouts(env0_0.props, true); } } else { env0_0._refreshViewability(); } } else { env0_0._initComplete = true; binding = env0_0; binding._initTrackers(env0_0.props); binding = env0_0; binding._processOnEndReached(); } } } function _renderStackWhenReady(a0) { // fn#50786, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:6643:2265, owner: RecyclerListView._renderStackWhenReady, offset: 0x01221bb3, size: 75 bytes, params: 2, frame: 13 const env0_0 = a0; const _pendingScrollToOffset = env0_0._pendingScrollToOffset; const binding = env0_0; if (_pendingScrollToOffset) { binding._pendingRenderStack = a0; } else if (!binding._initStateIfRequired(a0)) { env0_0.setState(_fun50787); } } function _dataHasChanged(a0, a1) { // fn#50788, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:6643:2420, owner: RecyclerListView._dataHasChanged, offset: 0x01221c0e, size: 38 bytes, params: 3, frame: 13 return env0_0.props.dataProvider.rowHasChanged(a0, a1); } function _onViewContainerSizeChange(a0, a1) { // fn#50789, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:6643:2511, owner: RecyclerListView._onViewContainerSizeChange, offset: 0x01221c34, size: 263 bytes, params: 3, frame: 19 var property; var binding; var Math; const layoutManager = env0_0._virtualRenderer.getLayoutManager(); if (env0_0.props.debugHandlers) { if (env0_0.props.debugHandlers.resizeDebugHandler) { property = layoutManager.getLayouts()[a1]; env0_0.props.debugHandlers.resizeDebugHandler.resizeDebug({width: property.width, height: property.height}, a0, a1); } } if (env0_0.props.forceNonDeterministicRendering && layoutManager.overrideLayout(a1, a0)) { if (env0_0._relayoutReqIndex === -1) { env0_0._relayoutReqIndex = a1; } else { binding = env0_0; Math = global.Math; binding._relayoutReqIndex = Math.min(env0_0._relayoutReqIndex, a1); } binding = env0_0; binding._queueStateRefresh(); } } function RecyclerListView_onScroll(a0, a1, a2) { // fn#50790, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:6643:2951, owner: RecyclerListView._onScroll, offset: 0x01221d3b, size: 127 bytes, params: 4, frame: 19 const _virtualRenderer = env0_0._virtualRenderer; const updateOffset = _virtualRenderer.updateOffset; const binding = env0_0; Reflect.apply(updateOffset, _virtualRenderer, [a0, a1, true, binding._getWindowCorrection(a0, a1, env0_0.props)]); if (env0_0.props.onScroll) { env0_0.props.onScroll(a2, a0, a1); } env0_0._processOnEndReached(); } function _fun50791(a0) { // fn#50791, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:6643:3177, offset: 0x01221dba, size: 20 bytes, params: 2, frame: 2 env0_0._pendingScrollToOffset = a0; } function _fun50792(a0) { // fn#50792, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:6643:3219, offset: 0x01221dce, size: 34 bytes, params: 2, frame: 11 return env0_0.props.dataProvider.getStableId(a0); } function renderCompat_50812Ref(a0) { // fn#50813, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:6643:7912, owner: renderCompat_50812.ref, offset: 0x01222429, size: 18 bytes, params: 2, frame: 2 env0_0._scrollComponent = a0; return a0; } function _fun50818() { // fn#50818, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:6643:8734, offset: 0x012224b5, size: 150 bytes, params: 1, frame: 18 var binding; let _pendingScrollToOffset = env0_0._pendingScrollToOffset; if (_pendingScrollToOffset) { binding = env0_0; _pendingScrollToOffset = binding._pendingScrollToOffset; binding._pendingScrollToOffset = null; if (binding.props.isHorizontal) { _pendingScrollToOffset.y = 0; } else { _pendingScrollToOffset.x = 0; } binding = env0_0; binding.scrollToOffset(_pendingScrollToOffset.x, _pendingScrollToOffset.y, false, binding._windowCorrectionConfig.applyToInitialOffset); if (binding._pendingRenderStack) { binding = env0_0; binding._renderStackWhenReady(binding._pendingRenderStack); binding._pendingRenderStack = undefined; } } } function _fun50823() { // fn#50823, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:6643:11622, offset: 0x012229f7, size: 42 bytes, params: 1, frame: 11 if (env0_0._isMounted) { env0_0.setState(function(a0) { return a0; }); } } function _fun50787() { // fn#50787, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:6643:2365, offset: 0x01221bfe, size: 16 bytes, params: 1, frame: 2 return {renderStack: env0_0}; }