/* Metro module 13605; source: modules/quests/native/VideoQuestModal/VideoQuestPlayer.tsx; dependencies: [57, 31, 27, 7030, 7095, 6528, 661, 33, 697, 8011, 4501, 674, 13597, 9483, 9495, 3769, 4017, 4577, 4581, 4504, 4507, 13603, 7116, 9564, 13606, 1582, 477, 1239, 9522, 9484, 566, 1216, 1585, 1244, 13614, 5278, 13524, 13526, 13528, 13529, 10234, 9376, 9554, 13530, 13531, 2] */ import Module00057 from '../../../../by-id/module-00057.js'; /* Metro dependency 57 */ import Module00674 from '../../../../by-id/module-00674.js'; /* Metro dependency 674 */ import UseSafeAreaInsetsNative from '../../../safe_area/useSafeAreaInsets.native.tsx'; /* Metro dependency 1585 */ import AppStateStore from '../../../../stores/native/AppStateStore.tsx'; /* Metro dependency 7030 */ import VideoQuestUIStore from '../../VideoQuestUIStore.tsx'; /* Metro dependency 7095 */ import Module08011 from '../../../../by-id/module-08011.jsx'; /* Metro dependency 8011 */ import UseVideoQuestPlayerAnalytics from './hooks/useVideoQuestPlayerAnalytics.tsx'; /* Metro dependency 13603 */ import * as FileImportTrackerModule from '../../../../by-id/module-00002-FileImportTracker.js'; /* Metro dependency 2 */ import * as ReactNativeModule from '../../../../by-id/module-00027-ReactNative.js'; /* Metro dependency 27 */ import * as ReactModule from '../../../../by-id/module-00031-React.js'; /* Metro dependency 31 */ import * as JsxRuntimeModule from '../../../../by-id/module-00033-JsxRuntime.js'; /* Metro dependency 33 */ import * as ConstantsModule from '../../../../Constants.tsx'; /* Metro dependency 661 */ import * as ComponentDispatchUtilsModule from '../../../../utils/ComponentDispatchUtils.tsx'; /* Metro dependency 1239 */ import * as Module03769Module from '../../../../by-id/module-03769.js'; /* Metro dependency 3769 */ import * as ReanimatedRexportModule from '../../../reanimated/ReanimatedRexport.tsx'; /* Metro dependency 4017 */ import * as CreateStylesModule from '../../../../design/components/Styles/native/createStyles.tsx'; /* Metro dependency 4501 */ import * as SpringModule from '../../../../design/animation/reanimated/spring/spring.tsx'; /* Metro dependency 4577 */ import * as SpringPresetsModule from '../../../../design/animation/reanimated/spring/springPresets.tsx'; /* Metro dependency 4581 */ import * as PressablesModule from '../../../../design/void/Pressables/native/Pressables.tsx'; /* Metro dependency 5278 */ import * as QuestConstantsModule from '../../QuestConstants.tsx'; /* Metro dependency 6528 */ import * as QuestTaskUtilsModule from '../../utils/QuestTaskUtils.tsx'; /* Metro dependency 7116 */ import * as QuestHooksModule from '../../hooks/QuestHooks.tsx'; /* Metro dependency 9483 */ import * as VideoQuestUtilsModule from '../../utils/VideoQuestUtils.tsx'; /* Metro dependency 9522 */ import * as AndroidRNVHttpEngineExperimentModule from '../../../media_uploads/experiments/AndroidRNVHttpEngineExperiment.tsx'; /* Metro dependency 9564 */ import * as VideoQuestPlayerControlButtonModule from './VideoQuestPlayerControlButton.tsx'; /* Metro dependency 13528 */ import * as SkipBackwardIconModule from './icons/SkipBackwardIcon.tsx'; /* Metro dependency 13529 */ import * as SkipForwardIconModule from './icons/SkipForwardIcon.tsx'; /* Metro dependency 13530 */ import * as VideoQuestModalContextModule from './VideoQuestModalContext.tsx'; /* Metro dependency 13597 */ import * as VideoQuestCaptionsModule from './captions/VideoQuestCaptions.tsx'; /* Metro dependency 13614 */ function _fun103435(global, require, importDefault, importAll, module, exports, dependencyMap) { // fn#103435, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:13795:6, offset: 0x0226855b, size: 1271 bytes, params: 8, frame: 30 const env0_0 = require; const Object = global.Object; Object.defineProperty(exports, '__esModule', {value: true}); let value = ReactModule; const StyleSheet = ReactNativeModule.StyleSheet; object = {}; let PX_16 = (importDefault(697) /* metro dependency 697: native */).space.PX_16; object.left = PX_16; PX_16 = (importDefault(697) /* metro dependency 697: native */).space.PX_16; object.right = PX_16; PX_16 = (importDefault(697) /* metro dependency 697: native */).space.PX_16; object.top = PX_16; PX_16 = (importDefault(697) /* metro dependency 697: native */).space.PX_16; object.bottom = PX_16; const env0_16 = value.memo(Module08011); object = {code: 'function hasVideoEnded_VideoQuestPlayerTsx1(currentTime,videoDuration){return currentTime>=videoDuration-1;}'}; const value5 = _fun103437(); const __1034392 = __103439; __1034392.__closure = {hasVideoEnded: value5}; __1034392.__workletHash = 6684695599942; __1034392.__initData = {code: 'function VideoQuestPlayerTsx2(currentTime,maxTimestamp,videoDuration,isQuestCompleted){const{hasVideoEnded}=this.__closure;return!hasVideoEnded(currentTime,videoDuration)&&(isQuestCompleted||currentTime<=maxTimestamp-1);}'}; const createStyles = CreateStylesModule.createStyles; object = {}; const object3 = {}; copyDataProperties(object3, StyleSheet.absoluteFillObject, undefined); object.container = object3; const object4 = {}; copyDataProperties(object4, StyleSheet.absoluteFillObject, undefined); const BACKGROUND_BASE_LOWEST = (importDefault(697) /* metro dependency 697: native */).colors.BACKGROUND_BASE_LOWEST; object4['backgroundColor'] = BACKGROUND_BASE_LOWEST; object4['justifyContent'] = 'center'; object4['alignItems'] = 'center'; object.loadingContainer = object4; object.bufferingSpinner = {position: 'absolute'}; const object6 = {}; copyDataProperties(object6, StyleSheet.absoluteFillObject, undefined); object6['justifyContent'] = 'center'; object6['alignItems'] = 'center'; object.bufferingSpinnerCentered = object6; object.video = {'height': '100%', 'width': '100%'}; object.videoContainer = {'position': 'relative', 'height': '100%', 'width': '100%'}; const object7 = {}; copyDataProperties(object7, StyleSheet.absoluteFillObject, undefined); const BLACK = (importDefault(697) /* metro dependency 697: native */).unsafe_rawColors.BLACK; const value9 = Module00674(BLACK).alpha(0.5); object7['backgroundColor'] = value9.hex(); object7['justifyContent'] = 'center'; object7['alignItems'] = 'center'; object7['flexDirection'] = 'column'; object.controls = object7; let PX_8 = (importDefault(697) /* metro dependency 697: native */).space.PX_8; object.controlsTopBottom = {'flexDirection': 'row', 'justifyContent': 'flex-end', 'padding': null, 'position': 'absolute', 'left': 0, 'right': 0, padding: PX_8}; const PX_24 = (importDefault(697) /* metro dependency 697: native */).space.PX_24; object.controlsMiddle = {'justifyContent': 'center', 'alignItems': 'center', 'flexGrow': 1, 'flexDirection': 'row', 'gap': null, 'pointerEvents': 'box-none', gap: PX_24}; object.controlsTop = {top: 0}; object.controlsBottom = {bottom: 0}; PX_16 = (importDefault(697) /* metro dependency 697: native */).space.PX_16; object.progressContainer = {'position': 'absolute', 'bottom': 0, 'right': 0, 'left': 0, 'justifyContent': 'flex-end', 'height': null, 'overflow': 'hidden', height: PX_16}; const WHITE = (importDefault(697) /* metro dependency 697: native */).colors.WHITE; object.progress = {'height': 1, 'backgroundColor': null, 'shadowOffset': null, 'shadowRadius': 6, 'shadowOpacity': 1, 'elevation': 5, 'shadowColor': '#FFFFFF', backgroundColor: WHITE, shadowOffset: {'width': 0, 'height': 0}}; const TEXT_DEFAULT = (importDefault(697) /* metro dependency 697: native */).colors.TEXT_DEFAULT; object.icon = {color: TEXT_DEFAULT}; const TEXT_SUBTLE = (importDefault(697) /* metro dependency 697: native */).colors.TEXT_SUBTLE; object.iconDisabled = {color: TEXT_SUBTLE}; PX_8 = (importDefault(697) /* metro dependency 697: native */).space.PX_8; object.controlButton = {padding: PX_8}; const env0_20 = Reflect.apply(createStyles, CreateStylesModule, [object]); const env0_22 = {code: 'function VideoQuestPlayerTsx3(){const{hasLoaded,showControls,playerState,PlayerState,isVideoEnded,externallyPaused}=this.__closure;return hasLoaded&&(showControls.get()||playerState===PlayerState.PAUSED||playerState===PlayerState.ENDED||playerState===PlayerState.ERRORED||isVideoEnded||externallyPaused);}'}; const env0_23 = {code: "function VideoQuestPlayerTsx4(){const{shouldShowControls,withSpring,SUBTLE_SPRING}=this.__closure;const show=shouldShowControls();return{opacity:withSpring(show?1:0,SUBTLE_SPRING),pointerEvents:show?'auto':'none'};}"}; const env0_24 = {code: 'function VideoQuestPlayerTsx5(){const{withTiming,progress,timingFast}=this.__closure;return{width:withTiming(progress.get()*100+"%",timingFast,\'animate-always\')};}'}; value = value.memo(_fun103440); (FileImportTrackerModule).fileFinishedImporting('modules/quests/native/VideoQuestModal/VideoQuestPlayer.tsx'); exports.PlayerState = {PAUSED: 'paused', PLAYING: 'playing', ENDED: 'ended', LOADING: 'loading', ERRORED: 'errored'}; exports.VideoQuestPlayer = value; function getSafeAreaInsetOrPadding_103436(a0, a1) { // fn#103436, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:13795:420, offset: 0x02268a52, size: 42 bytes, params: 3, frame: 14 const Math = global.Math; return Math.max(a0[a1], env0_15[a1]); } function _fun103437() { // fn#103437, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:13795:633, offset: 0x02268a7c, size: 48 bytes, params: 1, frame: 2 const closure = function(a0, a1) { return a0 >= a1 - 1; }; closure.__closure = {}; closure.__workletHash = 3281537893520; closure.__initData = env0_17; return closure; } function __103439(a0, a1, a2, a3) { // fn#103439, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:13795:1050, offset: 0x02268aac, size: 52 bytes, params: 5, frame: 14 return !env0_18(a0, a2) && (a3 || a0 <= a1 - 1); } function _fun103440({style, onLoad, onEnd, onToggleFullscreen, orientation, contentInsets, handleToggleCaptions, handleOpenTranscript, isFullscreen, externallyPaused, captionsEnabled, sourceQuestContent, hasCaptionAsset, hasTranscriptAsset}) { // fn#103440, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:13795:3378, offset: 0x02268ae0, size: 5093 bytes, params: 2, frame: 72 var getSafeAreaInsetOrPadding_103436Binding; var object2; const PressableOpacity = (PressablesModule).PressableOpacity; var items7; const orientation2 = orientation; const externallyPaused2 = externallyPaused; captionsEnabled = !(captionsEnabled === undefined) && captionsEnabled; hasCaptionAsset = hasCaptionAsset === undefined || hasCaptionAsset; hasTranscriptAsset = hasTranscriptAsset === undefined || hasTranscriptAsset; let env0_21 = undefined; const styles = useStyles(); let binding = externallyPaused2; const value6 = binding.useRef(null); const {quest, videoSessionId} = (VideoQuestModalContextModule).useVideoQuestModalContext(); const value8 = (QuestHooksModule).useQuestTaskDetails(quest); const userStatus = quest.userStatus; const value9 = userStatus?.completedAt != null; binding = externallyPaused2; const value10 = binding.useMemo(_fun103441, [quest]); const value11 = binding.useMemo(_fun103442, [quest]); let r18 = value11?.url != null ? (require(9495) /* metro dependency 9495: AssetUtils */).QuestAssetType.VIDEO_PLAYER_VIDEO_HLS : (require(9495) /* metro dependency 9495: AssetUtils */).QuestAssetType.VIDEO_PLAYER_VIDEO; binding = externallyPaused2; let useState = binding.useState; let targetSeconds = value8.targetSeconds; const value12 = Reflect.apply(useState, binding, [targetSeconds]); const binding2 = orientation2; const value13 = binding2(value12, 2); const property = value13[0]; const env0_12 = value13[1]; targetSeconds = value8.targetSeconds; const videoQuestUIStoreBinding = VideoQuestUIStore; const value15 = videoQuestUIStoreBinding(function(a0) { return a0.setVideoProgress; }); const value16 = videoQuestUIStoreBinding(_fun103444, (Module03769Module).shallow); useState = binding.useState; const LOADING = env0_21.LOADING; const value17 = binding2(Reflect.apply(useState, binding, [LOADING]), 2); const property2 = value17[0]; const property22 = property2; const env0_17 = value17[1]; const env0_18 = binding.useRef(false); useState = binding.useState; const value18 = binding2(Reflect.apply(useState, binding, [false]), 2); const property3 = value18[0]; const env0_20 = value18[1]; env0_21 = binding.useRef(value8.progressSeconds); const env0_22 = binding.useRef(null); const env0_23 = binding.useRef(0); const r33 = property3 && property2 === env0_21.ENDED && env0_18(value16.timestampSec, value16.duration); const env0_24 = r33; const value21 = (ReanimatedRexportModule).useSharedValue(false); let closure = shouldShowControls_103445; closure.__closure = {hasLoaded: property3, showControls: value21, playerState: property2, PlayerState: env0_21, isVideoEnded: r33, externallyPaused: externallyPaused}; closure.__workletHash = 9198261161185; closure.__initData = env0_22; let useAnimatedStyle = ReanimatedRexportModule.useAnimatedStyle; const W_1034462 = W_103446; object = {shouldShowControls: closure}; object.withSpring = (require(4577) /* metro dependency 4577: spring */).withSpring; const SUBTLE_SPRING = (SpringPresetsModule).SUBTLE_SPRING; object.SUBTLE_SPRING = SUBTLE_SPRING; W_1034462.__closure = object; W_1034462.__workletHash = 6174625876255; W_1034462.__initData = env0_23; const value22 = Reflect.apply(useAnimatedStyle, ReanimatedRexportModule, [W_1034462]); const value23 = closure(); const value24 = ReanimatedRexportModule.useSharedValue(0); useAnimatedStyle = ReanimatedRexportModule.useAnimatedStyle; closure = Z_103447; closure.__closure = {withTiming: (require(4504) /* metro dependency 4504: timing */).withTiming, progress: value24, timingFast: (require(4507) /* metro dependency 4507: timingPresets */).timingFast}; closure.__workletHash = 4647711667921; closure.__initData = env0_24; const value25 = Reflect.apply(useAnimatedStyle, ReanimatedRexportModule, [closure]); binding = externallyPaused2; const env0_28 = binding.useRef(-1); let useCallback = binding.useCallback; const value26 = Reflect.apply(useCallback, binding, [function(a0) { var env0_0 = a0; return _fun103449; }, [value21]]); const defaultImport = UseVideoQuestPlayerAnalytics; let id = quest.id; const {handleBufferAnalytics, handleEndAnalytics, handleErrorAnalytics, handleLoadAnalytics, handleLoadStartAnalytics, handlePausePlaybackAnalytics, handleProgressAnalytics, handleReadyForDisplayAnalytics, handleResumePlaybackAnalytics, handleSeekAnalytics} = defaultImport({duration: property, isQuestCompleted: value9, playerState: property2, questId: id, videoSessionId: videoSessionId, videoAssetId: r18, sourceQuestContent: sourceQuestContent}); const value28 = binding.useRef(null); id = quest.id; const gameTitle = quest.config.messages.gameTitle; const r57 = value11?.url ?? value10?.url; const defaultWatchVideoTask = (QuestTaskUtilsModule).getDefaultWatchVideoTask(quest.config); const videoTitle = defaultWatchVideoTask == null ? undefined : defaultWatchVideoTask.messages.videoTitle; const r10 = value11?.url != null ? 'hls' : 'mp4'; const value32 = (AndroidRNVHttpEngineExperimentModule).useRnvHttpEngine(); binding = externallyPaused2; binding.useEffect(_fun103451, [id, gameTitle, targetSeconds, r57, videoTitle, r10, value32]); const [property4, env0_45] = orientation2(binding.useState(false), 2); const value35 = binding.useCallback(_fun103453, [handleReadyForDisplayAnalytics]); const value36 = binding.useCallback(_fun103454, [value16.maxTimestampSec]); const value37 = binding.useCallback(_fun103455, [value9, value16.timestampSec, handleLoadAnalytics, onLoad, value36]); const value38 = binding.useCallback(_fun103456, [property2, handlePausePlaybackAnalytics, handleResumePlaybackAnalytics, r33, value36]); const value39 = binding.useCallback(_fun103457, [value38]); binding.useEffect(_fun103460, [binding.useCallback(_fun103458, [property2, handlePausePlaybackAnalytics]), binding.useCallback(_fun103459, [property2, handleResumePlaybackAnalytics])]); const value42 = binding.useCallback(function() { if (onToggleFullscreen != null) { onToggleFullscreen({orientation: orientation}); } }, [onToggleFullscreen, orientation]); const value43 = binding.useCallback(_fun103463, [value21, value38]); const value44 = binding.useCallback(_fun103464, [property, value24, handleSeekAnalytics, quest.id, value15]); let ERRORED = env0_21.ERRORED; const r32 = property2 === ERRORED || !__103439(value16.timestampSec, value16.maxTimestampSec, value16.duration, value9); binding = externallyPaused2; const value47 = binding.useCallback(_fun103465, [value36, property, value24, r32]); useCallback = binding.useCallback; const value48 = value26(Reflect.apply(useCallback, binding, [_fun103466, [value36, property, value24, property2]])); const value49 = value26(value47); const value50 = binding.useRef(0); const value51 = binding.useRef(0); useCallback = binding.useCallback; object = [value24, quest, value50, value51]; object[4] = value8.taskType; object[5] = value15; object[6] = handleProgressAnalytics; const value52 = Reflect.apply(useCallback, binding, [_fun103467, object]); const value53 = binding.useCallback(_fun103468, [property, quest, handleEndAnalytics, onEnd]); const value54 = binding.useCallback(_fun103469, [handleLoadStartAnalytics]); const value55 = binding.useCallback(_fun103470, [handleErrorAnalytics]); const value56 = binding.useCallback(_fun103471, []); const value57 = binding.useCallback(_fun103472, []); const state = (require(566) /* metro dependency 566: flux */).useStateFromStores([AppStateStore], function() { return AppStateStore.getState(); }); const ACTIVE = AppStates.ACTIVE; const value58 = state === ACTIVE; const value59 = binding.useMemo(_fun103474, [value11, value10]); binding.useLayoutEffect(_fun103475, []); let r31 = value58 ? property2 === env0_21.PAUSED : !value58; r31 = !r31 ? property2 === env0_21.LOADING : r31; r31 = !r31 ? externallyPaused : r31; const {isBuffering, toggleBuffering} = useBufferingState_103477({handleBufferAnalytics: handleBufferAnalytics, videoQoETracker: value28}); binding = externallyPaused2; const value64 = binding.useCallback(_fun103479, [toggleBuffering, property2]); const value65 = binding.useCallback(_fun103480, [toggleBuffering]); const value66 = binding.useCallback(_fun103481, [toggleBuffering]); const value67 = (UseSafeAreaInsetsNative)(); if (value59 == null) { return null; } let r23 = isFullscreen && value67 != null; if (r23) { object = {}; getSafeAreaInsetOrPadding_103436Binding = getSafeAreaInsetOrPadding_103436; object.paddingRight = getSafeAreaInsetOrPadding_103436Binding(value67, 'right'); object.paddingLeft = getSafeAreaInsetOrPadding_103436Binding(value67, 'left'); r23 = object; } const items2 = [styles.container, style]; const pressableBindingProps = {style: [styles.videoContainer], onPress: value43, accessible: !value23}; const intl = (require(1244) /* metro dependency 1244: indexNative */).intl; let string = intl.string; const t = (require(1244) /* metro dependency 1244: indexNative */).t; pressableBindingProps.accessibilityLabel = Reflect.apply(string, intl, [r31 ? t.R3aFPe : t.fTMEUi]); ERRORED = env0_21.ERRORED; const items3 = [ property2 !== ERRORED && ((Component) => )(property22), ]; const VideoQuestCaptions = (VideoQuestCaptionsModule).VideoQuestCaptions; items3[1] = ( ); items3[2] = isBuffering && ; items3[3] = !property4 && ; const View2 = (importDefault(4017) /* metro dependency 4017: ReanimatedRexport */).View; const items5 = [styles.controls, value22]; const value74 = orientation === 'landscape'; if (value74) { var viewProps = {style: [styles.controlsTopBottom, styles.controlsTop, r23]}; items7 = [ hasCaptionAsset && {((ClosedCaptionsOutlineIcon) => )((require(13524) /* metro dependency 13524: ClosedCaptionsOutlineIcon */).ClosedCaptionsOutlineIcon)}, ]; items7[1] = hasTranscriptAsset && {((TranscriptOutlineIcon) => )((require(13526) /* metro dependency 13526: TranscriptOutlineIcon */).TranscriptOutlineIcon)}; r18 = ( {items7} ); } else { r18 = value74; } const items8 = [r18]; const VideoQuestPlayerControlButton = (VideoQuestPlayerControlButtonModule).VideoQuestPlayerControlButton; ERRORED = env0_21.ERRORED; string = intl.string; const r9s3Uv = (require(1244) /* metro dependency 1244: indexNative */).t.r9s3Uv; const SkipBackwardIcon = (SkipBackwardIconModule).SkipBackwardIcon; const items9 = [ , ]; string = intl.string; const r36 = r33 || property2 === env0_21.ERRORED ? (require(1244) /* metro dependency 1244: indexNative */).t.K0e7M9 : r31 ? t.R3aFPe : t.fTMEUi; if (r33 || property2 === env0_21.ERRORED) { const RetryIcon = (require(10234) /* metro dependency 10234: RetryIcon */).RetryIcon; r31 = ; } else { r31 = ((Component) => )(r31 ? (require(9376) /* metro dependency 9376: PlayIcon */).PlayIcon : (require(9554) /* metro dependency 9554: PauseIcon */).PauseIcon); } items9[1] = ( {r31} ); string = intl.string; const zWDcNP = (require(1244) /* metro dependency 1244: indexNative */).t.zWDcNP; const SkipForwardIcon = (SkipForwardIconModule).SkipForwardIcon; items9[2] = ( ); items8[1] = ( {items9} ); items8[2] = value74 && {((FullscreenEnterIcon) => )((require(13531) /* metro dependency 13531: FullscreenEnterIcon */).FullscreenEnterIcon)}; items3[4] = ( {items8} ); items3[5] = value74 && {((View) => )((importDefault(4017) /* metro dependency 4017: ReanimatedRexport */).View)}; return ( {items3} ); function _fun103441() { // fn#103441, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:13795:3861, offset: 0x02269ec5, size: 75 bytes, params: 1, frame: 18 let value = environment.__proto__; value = require(9495) /* metro dependency 9495: AssetUtils */; const getQuestAsset = value.getQuestAsset; const questBinding = quest; const QuestAssetType = (require(9495) /* metro dependency 9495: AssetUtils */).QuestAssetType; const VIDEO_PLAYER_VIDEO = QuestAssetType.VIDEO_PLAYER_VIDEO; return Reflect.apply(getQuestAsset, value, [questBinding, VIDEO_PLAYER_VIDEO, undefined, true]); } function _fun103442() { // fn#103442, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:13795:3966, offset: 0x02269f10, size: 75 bytes, params: 1, frame: 18 let value = environment.__proto__; value = require(9495) /* metro dependency 9495: AssetUtils */; const getQuestAsset = value.getQuestAsset; const questBinding = quest; const QuestAssetType = (require(9495) /* metro dependency 9495: AssetUtils */).QuestAssetType; const VIDEO_PLAYER_VIDEO_HLS = QuestAssetType.VIDEO_PLAYER_VIDEO_HLS; return Reflect.apply(getQuestAsset, value, [questBinding, VIDEO_PLAYER_VIDEO_HLS, undefined, true]); } function _fun103444({videoProgress}) { // fn#103444, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:13795:4302, offset: 0x02269f5b, size: 76 bytes, params: 2, frame: 4 var r0; var object; var progressSeconds; const property = videoProgress[quest.id]; if (property != null) { r0 = property; } else { object = {}; progressSeconds = ReactNativeModule.ActivityIndicator.progressSeconds; object.timestampSec = progressSeconds; object.duration = ConstantsModule.AppStates; progressSeconds = ReactNativeModule.ActivityIndicator.progressSeconds; object.maxTimestampSec = progressSeconds; r0 = object; } return r0; } function shouldShowControls_103445() { // fn#103445, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:13795:4727, offset: 0x02269fa7, size: 114 bytes, params: 1, frame: 12 var r1; var r0; const binding = env0_19; if (binding) { r1 = env0_25.get() || env0_16 === env1_21.PAUSED; r1 = !r1 ? env0_16 === env1_21.ENDED : r1; r1 = !r1 ? env0_16 === env1_21.ERRORED : r1; r1 = !r1 ? env0_24 : r1; r1 = !r1 ? externallyPaused : r1; r0 = r1; } else { r0 = binding; } return r0; } function W_103446() { // fn#103446, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:13795:5000, offset: 0x0226a019, size: 105 bytes, params: 1, frame: 18 const shouldShowControls_1034452 = shouldShowControls_103445(); const withSpring = SpringModule.withSpring; const r3 = shouldShowControls_1034452 ? 1 : 0; const SUBTLE_SPRING = (SpringPresetsModule).SUBTLE_SPRING; return {opacity: Reflect.apply(withSpring, SpringModule, [r3, SUBTLE_SPRING]), pointerEvents: shouldShowControls_1034452 ? 'auto' : 'none'}; } function Z_103447() { // fn#103447, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:13795:5342, offset: 0x0226a082, size: 100 bytes, params: 1, frame: 18 const object = {}; let value = environment.__proto__; value = require(4504) /* metro dependency 4504: timing */; object.width = value.withTiming(100 * env0_27.get() + '%', (require(4507) /* metro dependency 4507: timingPresets */).timingFast, 'animate-always'); return object; } function _fun103448(a0) { // fn#103448, offset: 0x0226a0e6, size: 18 bytes, params: 2, frame: 2 const env0_0 = a0; return _fun103449; function _fun103449(a0) { // fn#103449, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:13795:5604, offset: 0x0226a0f8, size: 135 bytes, params: 2, frame: 18 var binding3; var items2; const value = copyRestArgs(0, undefined); global.clearTimeout(env1_28.current); const binding = env1_25; binding.set(true); env1_28.current = global.setTimeout(_fun103450, 2000); if (env0_0 != null) { binding3 = env0_0; items2 = []; arraySpread(items2, value, 0, binding); return apply(binding3, items2, undefined, binding); } function _fun103450() { // fn#103450, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:13795:5675, offset: 0x0226a17f, size: 23 bytes, params: 1, frame: 11 env2_25.set(false); } } } function _fun103451() { // fn#103451, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:13795:6461, offset: 0x0226a196, size: 404 bytes, params: 1, frame: 18 var r3; var constants; var binding; var MobileMuxWrapper; var value6; var mobileMuxWrapper; let current = ReactNativeModule.View.current; if (current != null) { if (env0_41 == null) { return undefined; } if (env0_41.length === 0) { return undefined; } var value3 = undefined; var moduleValue = require(13606) /* metro dependency 13606: videoQoe */; var getVideoQoEMetricsConfig = moduleValue.getVideoQoEMetricsConfig; var object = {}; var VIDEO_MODAL_MOBILE = QuestsExperimentLocations.VIDEO_MODAL_MOBILE; object.location = VIDEO_MODAL_MOBILE; if (Reflect.apply(getVideoQoEMetricsConfig, moduleValue, [object]).externalAnalyticsEnabled) { constants = (require(1582) /* metro dependency 1582: ClientInfoUtils */).getConstants(); r3 = env0_44 != null ? (require(9564) /* metro dependency 9564: AndroidRNVHttpEngineExperiment */).getMuxExperimentDimension() ?? value3 : value3; object = {}; current = ReactNativeModule.View.current; object.videoRef = current; object.feature = 'quests'; object.appVersion = constants.Version; object.releaseChannel = constants.ReleaseChannel; object.contentMetadata = {contentId: env0_41, videoStreamType: env0_43, contentType: 'quests', durationMs: 1000 * targetSeconds, title: videoTitle, questId: id, gameName: gameTitle, experimentName: r3}; binding = env0_38; MobileMuxWrapper = (require(13606) /* metro dependency 13606: videoQoe */).MobileMuxWrapper; value6 = Object.create(MobileMuxWrapper.prototype, {constructor: {value: MobileMuxWrapper}}); mobileMuxWrapper = new MobileMuxWrapper(object); binding.current = mobileMuxWrapper instanceof Object ? mobileMuxWrapper : value6; current = env0_38.current; current.initialize(); return _fun103452; } } function _fun103452() { // fn#103452, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:13795:7015, offset: 0x0226a32a, size: 80 bytes, params: 1, frame: 13 let current = env1_38.current; if (current != null) { current = env1_38.current; current.onProgress(env1_21.current); current = env1_38.current; current.destroy(); env1_38.current = null; } } } function _fun103453() { // fn#103453, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:13795:7208, offset: 0x0226a37a, size: 51 bytes, params: 1, frame: 12 handleReadyForDisplayAnalytics(); const current = env0_38.current; if (current != null) { current.onReadyForDisplay(); } env0_45(true); } function _fun103454(a0) { // fn#103454, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:13795:7301, offset: 0x0226a3ad, size: 222 bytes, params: 2, frame: 16 var Math; var max; var Math2; var value3; var value4; var moduleValue; var binding; let current = ReactNativeModule.View.current; if (current != null) { Math = global.Math; max = Math.max; Math2 = global.Math; value3 = Reflect.apply(max, Math, [0, Math2.min(a0, env0_15.maxTimestampSec)]); value4 = environment.__proto__; moduleValue = require(477) /* metro dependency 477: PlatformUtils */; if (moduleValue.isAndroid()) { binding = env0_23; current = binding.current; binding.current = (current + 1) % 100; current = ReactNativeModule.View.current; current.seek(value3 + 0.0001 * env0_23.current); } else { ReactNativeModule.View.current.seek(value3); } env0_22.current = value3; } } function _fun103455(a0) { // fn#103455, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:13795:7535, offset: 0x0226a48b, size: 305 bytes, params: 2, frame: 20 var timestampSec; var binding; var value9; const duration = a0.duration; const videoTracks = a0.videoTracks; const trackId = a0.trackId; const naturalSize = a0.naturalSize; env0_12(duration); env0_20(true); handleLoadAnalytics(); let current = env0_38.current; if (current != null) { current.onLoad(duration); } if (naturalSize != null) { current = env0_38.current; if (current != null) { current.updateVideoSourceDimensions(naturalSize.width, naturalSize.height); } } let r3 = videoTracks != null && videoTracks.length > 0 && trackId != null && trackId.length > 0; if (r3) { current = env0_38.current; if (current != null) { current.onVideoTrackChange(trackId, videoTracks); } } if (ReactNativeModule.View.current != null) { timestampSec = env0_15.timestampSec; binding = env0_8; r3 = !binding && timestampSec > 5; r3 = r3 && timestampSec < duration - 3; if (r3) { env0_46(timestampSec - 1); } binding = env0_17; value9 = environment.__proto__; binding(env1_21.PLAYING); if (onLoad != null) { onLoad(a0); } } } function _fun103456() { // fn#103456, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:13795:7979, offset: 0x0226a5bc, size: 296 bytes, params: 1, frame: 14 var current; const value = a0; let shouldRestartVideo = (value !== undefined ? value : {}).shouldRestartVideo; shouldRestartVideo = shouldRestartVideo === undefined || shouldRestartVideo; const binding = env0_16; const ERRORED = env1_21.ERRORED; if (binding === ERRORED) { env0_46(0); env0_17(env1_21.PLAYING); handleResumePlaybackAnalytics(); current = env0_38.current; if (current != null) { current.onPlay(); } } else if (env0_24) { if (shouldRestartVideo) { env0_46(0); env0_17(env1_21.PLAYING); handleResumePlaybackAnalytics(); current = env0_38.current; if (current != null) { current.onPlay(); } } else if (env0_16 === env1_21.PAUSED) { env0_17(env1_21.PLAYING); handleResumePlaybackAnalytics(); current = env0_38.current; if (current != null) { current.onPlay(); } } else if (env0_16 === env1_21.LOADING) { env0_17(env1_21.PLAYING); handleResumePlaybackAnalytics(); current = env0_38.current; if (current != null) { current.onPlay(); } } else if (env0_16 === env1_21.PLAYING) { env0_17(env1_21.PAUSED); handlePausePlaybackAnalytics(); current = env0_38.current; if (current != null) { current.onPause(); } } } else if (env0_16 === env1_21.PAUSED) { env0_17(env1_21.PLAYING); handleResumePlaybackAnalytics(); current = env0_38.current; if (current != null) { current.onPlay(); } } else if (env0_16 === env1_21.LOADING) { env0_17(env1_21.PLAYING); handleResumePlaybackAnalytics(); current = env0_38.current; if (current != null) { current.onPlay(); } } else if (env0_16 === env1_21.PLAYING) { env0_17(env1_21.PAUSED); handlePausePlaybackAnalytics(); current = env0_38.current; if (current != null) { current.onPause(); } } } function _fun103457() { // fn#103457, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:13795:8319, offset: 0x0226a6e4, size: 15 bytes, params: 1, frame: 9 return env0_47(); } function _fun103458() { // fn#103458, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:13795:8353, offset: 0x0226a6f3, size: 106 bytes, params: 1, frame: 12 var current; env0_18.current = false; const binding = env0_16; const PLAYING = env1_21.PLAYING; if (binding === PLAYING) { env0_18.current = true; env0_17(env1_21.PAUSED); handlePausePlaybackAnalytics(); current = env0_38.current; if (current != null) { current.onPause(); } } } function _fun103459() { // fn#103459, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:13795:8493, offset: 0x0226a75d, size: 106 bytes, params: 1, frame: 12 var binding; var value2; let current = env0_18.current; if (current) { env0_18.current = false; binding = env0_16; value2 = environment.__proto__; if (binding !== env1_21.ERRORED) { env0_17(env1_21.PLAYING); handleResumePlaybackAnalytics(); current = env0_38.current; if (current != null) { current.onPlay(); } } } } function _fun103460() { // fn#103460, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:13795:8626, offset: 0x0226a7c7, size: 108 bytes, params: 1, frame: 19 const ComponentDispatch = (ComponentDispatchUtilsModule).ComponentDispatch; let subscribe = ComponentDispatch.subscribe; const QUEST_GAME_LINK_OPENED = ComponentActions.QUEST_GAME_LINK_OPENED; Reflect.apply(subscribe, ComponentDispatch, [QUEST_GAME_LINK_OPENED, env0_48]); subscribe = ComponentDispatch.subscribe; const QUEST_APP_STORE_OVERLAY_FINISHED = ComponentActions.QUEST_APP_STORE_OVERLAY_FINISHED; Reflect.apply(subscribe, ComponentDispatch, [QUEST_APP_STORE_OVERLAY_FINISHED, env0_49]); return _fun103461; function _fun103461() { // fn#103461, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:13795:8773, offset: 0x0226a833, size: 99 bytes, params: 1, frame: 19 const ComponentDispatch = (ComponentDispatchUtilsModule).ComponentDispatch; let unsubscribe = ComponentDispatch.unsubscribe; const QUEST_GAME_LINK_OPENED = ComponentActions.QUEST_GAME_LINK_OPENED; Reflect.apply(unsubscribe, ComponentDispatch, [QUEST_GAME_LINK_OPENED, env1_48]); unsubscribe = ComponentDispatch.unsubscribe; const QUEST_APP_STORE_OVERLAY_FINISHED = ComponentActions.QUEST_APP_STORE_OVERLAY_FINISHED; Reflect.apply(unsubscribe, ComponentDispatch, [QUEST_APP_STORE_OVERLAY_FINISHED, env1_49]); } } function _fun103463() { // fn#103463, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:13795:9018, offset: 0x0226a896, size: 57 bytes, params: 1, frame: 12 const binding = env0_25; const get = binding.get; if (Reflect.apply(get, binding, [])) { env0_25.set(false); } env0_47({shouldRestartVideo: false}); } function _fun103464(a0) { // fn#103464, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:13795:9101, offset: 0x0226a8cf, size: 187 bytes, params: 2, frame: 18 var binding; var currentTime; var set; var id; let current = ReactNativeModule.View.current; if (current != null) { binding = env0_21; currentTime = a0.currentTime; binding.current = currentTime; env0_22.current = null; if (ConstantsModule.AppStates > 0) { binding = env0_27; set = binding.set; currentTime = a0.currentTime; Reflect.apply(set, binding, [currentTime / ConstantsModule.AppStates]); binding = JsxRuntimeModule.jsxs; id = quest.id; currentTime = a0.currentTime; binding(id, currentTime, ConstantsModule.AppStates); } handleSeekAnalytics(); current = env0_38.current; if (current != null) { current.updatePlayheadTime(a0.currentTime); } current = env0_38.current; if (current != null) { current.onSeek(); } } } function _fun103465() { // fn#103465, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:13795:9443, offset: 0x0226a98a, size: 68 bytes, params: 1, frame: 12 if (!env0_50) { env0_46((env0_22.current ?? env0_27.get() * ConstantsModule.AppStates) + 10); } } function _fun103466() { // fn#103466, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:13795:9551, offset: 0x0226a9ce, size: 99 bytes, params: 1, frame: 13 env0_46((env0_22.current ?? env0_27.get() * ConstantsModule.AppStates) - 10); const binding = env0_16; const ENDED = env1_21.ENDED; if (binding === ENDED) { env0_17(env1_21.PLAYING); } } function _fun103467(a0) { // fn#103467, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:13795:9712, offset: 0x0226aa31, size: 381 bytes, params: 2, frame: 18 var value2; var moduleValue; var sendVideoProgress; var questBinding; var handleProgressAnalyticsBinding; var value5; var moduleValue2; var updateOptimisticProgress; var id; var taskType; let seekableDuration = a0.seekableDuration; const value = 0; const r5 = value === seekableDuration ? value : a0.currentTime / a0.seekableDuration; let binding = env0_21; binding.current = a0.currentTime; let currentTime = a0.currentTime; let current = env0_51.current; if (currentTime >= current) { value2 = environment.__proto__; moduleValue = require(9522) /* metro dependency 9522: VideoQuestUtils */; sendVideoProgress = moduleValue.sendVideoProgress; questBinding = quest; currentTime = a0.currentTime; Reflect.apply(sendVideoProgress, moduleValue, [questBinding, currentTime]); handleProgressAnalyticsBinding = handleProgressAnalytics; seekableDuration = a0.seekableDuration; currentTime = a0.currentTime; handleProgressAnalyticsBinding(r5, seekableDuration, currentTime); binding = env0_51; currentTime = a0.currentTime; binding.current = currentTime + 6 + 2 * global.Math.random(); } currentTime = a0.currentTime; if (currentTime >= env0_52.current) { value5 = environment.__proto__; moduleValue2 = require(9484) /* metro dependency 9484: QuestActionCreators */; updateOptimisticProgress = moduleValue2.updateOptimisticProgress; id = quest.id; taskType = ReactNativeModule.ActivityIndicator.taskType; currentTime = a0.currentTime; Reflect.apply(updateOptimisticProgress, moduleValue2, [id, taskType, currentTime]); binding = env0_52; currentTime = a0.currentTime; binding.current = currentTime + 1; } (0, JsxRuntimeModule.jsxs)(quest.id, a0.currentTime, a0.seekableDuration); env0_27.set(r5); current = env0_38.current; if (current != null) { current.onProgress(a0.currentTime); } } function _fun103468() { // fn#103468, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:13795:10242, offset: 0x0226abae, size: 146 bytes, params: 1, frame: 16 VideoQuestUtilsModule.sendVideoProgress(quest, ConstantsModule.AppStates); handleEndAnalytics(); const binding = env0_17; const ENDED = env1_21.ENDED; binding(ENDED); let current = env0_38.current; if (current != null) { current.onProgress(ConstantsModule.AppStates); } current = env0_38.current; if (current != null) { current.onEnd(); } if (onEnd != null) { onEnd(); } } function _fun103469() { // fn#103469, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:13795:10424, offset: 0x0226ac40, size: 85 bytes, params: 1, frame: 13 const binding = env0_17; const LOADING = env1_21.LOADING; binding(LOADING); handleLoadStartAnalytics(); let current = env0_38.current; if (current != null) { current.onLoadStart(); } current = env0_38.current; if (current != null) { current.onPlay(); } } function _fun103470(a0) { // fn#103470, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:13795:10553, offset: 0x0226ac95, size: 67 bytes, params: 2, frame: 13 const binding = env0_17; const ERRORED = env1_21.ERRORED; binding(ERRORED); handleErrorAnalytics(a0); const current = env0_38.current; if (current != null) { current.onError(a0); } } function _fun103471(a0) { // fn#103471, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:13795:10644, offset: 0x0226acd8, size: 122 bytes, params: 2, frame: 14 var current; let r2 = a0 != null && a0.videoTracks != null && a0.videoTracks.length > 0; r2 = r2 && a0.selectedVideoTrackId != null && a0.selectedVideoTrackId.length > 0; if (r2) { current = env0_38.current; if (current != null) { current.onVideoTrackChange(a0.selectedVideoTrackId, a0.videoTracks); } } } function _fun103472(a0) { // fn#103472, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:13795:10878, offset: 0x0226ad52, size: 103 bytes, params: 2, frame: 15 var width; var height; var current; const value = undefined; let layout = a0 == null || a0.nativeEvent == null ? value : a0.nativeEvent.layout; if (layout != null) { layout = a0.nativeEvent.layout; width = layout.width; height = layout.height; if (width > 0) { if (height > 0) { current = env0_38.current; if (current != null) { current.updateVideoDimensions(width, height); } } } } return value; } function _fun103474() { // fn#103474, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:13795:11149, offset: 0x0226adb9, size: 64 bytes, params: 1, frame: 6 var url; var r0; const value2 = null; if (value2 == env0_9) { r0 = value2; } else { url = value2 == QuestConstantsModule.QuestsExperimentLocations ? undefined : QuestConstantsModule.QuestsExperimentLocations.url; url = value2 == url ? env0_9.url : url; r0 = {uri: url}; } return r0; } function _fun103475() { // fn#103475, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:13795:11259, offset: 0x0226adf9, size: 67 bytes, params: 1, frame: 12 var environment; var current; let value = environment.__proto__; value = require(477) /* metro dependency 477: PlatformUtils */; if (value.isAndroid()) { current = ReactNativeModule.View.current; return _fun103476; } function _fun103476() { // fn#103476, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:13795:11311, offset: 0x0226ae3c, size: 115 bytes, params: 1, frame: 13 var r1; var value; var value2; var setNativeProps; var value3; var error; try { value = environment; value2 = current == null; if (value2) { r1 = value2; } else { setNativeProps = current.setNativeProps; value3 = setNativeProps == null; r1 = value3; } if (!r1) { current.setNativeProps({paused: true, src: {uri: null}}); } } catch (error) { value = environment.__proto__.__proto__; value = importDefault(1216) /* metro dependency 1216: SentryUtilsNative */; value.captureException(error); } } } function useBufferingState_103477({handleBufferAnalytics, videoQoETracker}) { // fn#103477, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:13795:11493, offset: 0x0226aeaf, size: 134 bytes, params: 2, frame: 17 var environment; let value = environment.__proto__; const binding = env1_4; const env0_2 = binding.useRef(false); value = env1_3(binding.useState(false), 2); const property = value[0]; const env0_3 = value[1]; const useCallback = binding.useCallback; let object = [handleBufferAnalytics, videoQoETracker]; object = {isBuffering: property, toggleBuffering: Reflect.apply(useCallback, binding, [_fun103478, object])}; return object; function _fun103478(a0) { // fn#103478, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:13795:11641, offset: 0x0226af35, size: 77 bytes, params: 2, frame: 12 env0_3(a0); let current = env0_2.current; if (a0 !== current) { env0_2.current = a0; handleBufferAnalytics(a0); current = videoQoETracker.current; if (current != null) { current.onBuffer(a0); } } } } function _fun103479({isBuffering}) { // fn#103479, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:13795:11880, offset: 0x0226af82, size: 109 bytes, params: 2, frame: 13 var binding; var value2; var moduleValue; if (isBuffering) { binding = env0_16; value2 = environment.__proto__; if (binding === env1_21.LOADING) { toggleBuffering(true); } else { moduleValue = require(477) /* metro dependency 477: PlatformUtils */; if (moduleValue.isIOS()) { if (!isBuffering) { toggleBuffering(false); } } else { toggleBuffering(true); } } } else if (!isBuffering) { toggleBuffering(false); } } function _fun103480() { // fn#103480, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:13795:11983, offset: 0x0226afef, size: 54 bytes, params: 1, frame: 11 let value = environment.__proto__; value = require(477) /* metro dependency 477: PlatformUtils */; if (value.isIOS()) { toggleBuffering(true); } } function _fun103481() { // fn#103481, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:13795:12039, offset: 0x0226b025, size: 54 bytes, params: 1, frame: 11 let value = environment.__proto__; value = require(477) /* metro dependency 477: PlatformUtils */; if (value.isIOS()) { toggleBuffering(false); } } } } global.__d(_fun103435, 13605, [57, 31, 27, 7030, 7095, 6528, 661, 33, 697, 8011, 4501, 674, 13597, 9483, 9495, 3769, 4017, 4577, 4581, 4504, 4507, 13603, 7116, 9564, 13606, 1582, 477, 1239, 9522, 9484, 566, 1216, 1585, 1244, 13614, 5278, 13524, 13526, 13528, 13529, 10234, 9376, 9554, 13530, 13531, 2]) /* metro module 13605, dependencies: [57, 31, 27, 7030, 7095, 6528, 661, 33, 697, 8011, 4501, 674, 13597, 9483, 9495, 3769, 4017, 4577, 4581, 4504, 4507, 13603, 7116, 9564, 13606, 1582, 477, 1239, 9522, 9484, 566, 1216, 1585, 1244, 13614, 5278, 13524, 13526, 13528, 13529, 10234, 9376, 9554, 13530, 13531, 2] */;