/* Metro module 8874; source: stores/MaskedLinkStore.tsx; dependencies: [6, 7, 15, 17, 18, 6868, 8875, 1471, 587, 566, 694, 2] */ function _fun69166(global, require, importDefault, importAll, module, exports, dependencyMap) { // fn#69166, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:9059:6, offset: 0x01c6be61, size: 451 bytes, params: 8, frame: 21 var value6; const env0_0 = require; const Object = global.Object; Object.defineProperty(exports, '__esModule', {value: true}); const value = undefined; const env0_3 = importDefault(6) /* metro dependency 6 */; const env0_4 = importDefault(7) /* metro dependency 7 */; const env0_5 = importDefault(15) /* metro dependency 15 */; const env0_6 = importDefault(17) /* metro dependency 17 */; const env0_7 = importDefault(18) /* metro dependency 18 */; const env0_8 = (require(6868) /* metro dependency 6868: SpotifyConstants */).SPOTIFY_HOSTNAMES; let Set = global.Set; let set = new Set(); Set = global.Set; set = new Set(); const GLOBAL_ENV = global.window.GLOBAL_ENV; const MEDIA_PROXY_ENDPOINT = GLOBAL_ENV.MEDIA_PROXY_ENDPOINT; if (MEDIA_PROXY_ENDPOINT != null) { value6 = MEDIA_PROXY_ENDPOINT.replace('//', ''); } const Store = (importDefault(566) /* metro dependency 566: flux */).Store; const value7 = _fun69172(Store); value7.displayName = 'MaskedLinkStore'; const value10 = new value7(importDefault(694) /* metro dependency 694: Dispatcher */, {MASKED_LINK_ADD_TRUSTED_DOMAIN: MASKED_LINK_ADD_TRUSTED_DOMAIN, MASKED_LINK_ADD_TRUSTED_PROTOCOL: MASKED_LINK_ADD_TRUSTED_PROTOCOL}); (require(2) /* metro dependency 2 */).fileFinishedImporting('stores/MaskedLinkStore.tsx'); exports.default = value10; return value; } function _isNativeReflectConstruct_69167() { // fn#69167, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:9059:182, offset: 0x01c6c024, size: 98 bytes, params: 1, frame: 18 var Boolean; var prototype; var valueOf; var call; var Reflect; var construct; var closure; var value; var error; try { Boolean = global.Boolean; prototype = Boolean.prototype; valueOf = prototype.valueOf; call = valueOf.call; Reflect = global.Reflect; construct = Reflect.construct; Boolean = global.Boolean; closure = function() { }; value = Reflect.apply(construct, Reflect, [Boolean, [], closure]); value = Reflect.apply(call, valueOf, [value]); var result = !value; } catch (error) { } return (_isNativeReflectConstruct_69167_isNativeReflectConstruct = function() { return !!result; })(); } function _isTrustedDomain(a0) { // fn#69170, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:9059:496, offset: 0x01c6c086, size: 205 bytes, params: 2, frame: 15 const hostname = (require(8875) /* metro dependency 8875: MaskedLinkStoreMethodsAdditionalNative */).getHostname(a0); let GLOBAL_ENV = global.window.GLOBAL_ENV; const INVITE_HOST = GLOBAL_ENV.INVITE_HOST; if (INVITE_HOST === hostname) { return true; } GLOBAL_ENV = global.window.GLOBAL_ENV; const GIFT_CODE_HOST = GLOBAL_ENV.GIFT_CODE_HOST; if (GIFT_CODE_HOST === hostname) { return true; } GLOBAL_ENV = global.window.GLOBAL_ENV; const GUILD_TEMPLATE_HOST = GLOBAL_ENV.GUILD_TEMPLATE_HOST; if (GUILD_TEMPLATE_HOST === hostname) { return true; } if (env0_11 === hostname) { return true; } if (global.location.hostname === hostname) { return true; } let r0 = SPOTIFY_HOSTNAMES.includes(hostname) || (importDefault(1471) /* metro dependency 1471: URLUtils */).isDiscordHostname(hostname); r0 = !r0 ? env0_9.has(hostname) : r0; return r0; } function _isTrustedProtocol(a0) { // fn#69171, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:9059:789, offset: 0x01c6c153, size: 55 bytes, params: 2, frame: 12 return env0_10.has((require(8875) /* metro dependency 8875: MaskedLinkStoreMethodsAdditionalNative */).getProtocol(a0)); } function _fun69172(a0) { // fn#69172, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:9059:871, offset: 0x01c6c18a, size: 126 bytes, params: 2, frame: 16 const closure = MaskedLinkStore; env0_7(closure, a0); return env0_4(closure, [{key: 'initialize', value: value_69174}, {key: 'isTrustedDomain', value: function(a0) { return _isTrustedDomain(a0); }}, {key: 'isTrustedProtocol', value: function(a0) { return _isTrustedProtocol(a0); }}]); } function MASKED_LINK_ADD_TRUSTED_DOMAIN({url}) { // fn#69177, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:9059:1676, offset: 0x01c6c349, size: 131 bytes, params: 2, frame: 18 if (_isTrustedDomain(url)) { return false; } const binding = env0_9; const add = binding.add; const maskedLinkStoreMethodsAdditionalNativeModule = require(8875) /* metro dependency 8875: MaskedLinkStoreMethodsAdditionalNative */; const getHostname = maskedLinkStoreMethodsAdditionalNativeModule.getHostname; Reflect.apply(add, binding, [Reflect.apply(getHostname, maskedLinkStoreMethodsAdditionalNativeModule, [url])]); const Storage = (require(587) /* metro dependency 587: Storage */).Storage; Storage.set('MaskedLinkStore', {trustedDomains: env0_9, trustedProtocols: env0_10}); } function MASKED_LINK_ADD_TRUSTED_PROTOCOL({url}) { // fn#69178, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:9059:1874, offset: 0x01c6c3cc, size: 131 bytes, params: 2, frame: 18 if (_isTrustedProtocol(url)) { return false; } const binding = env0_10; const add = binding.add; const maskedLinkStoreMethodsAdditionalNativeModule = require(8875) /* metro dependency 8875: MaskedLinkStoreMethodsAdditionalNative */; const getProtocol = maskedLinkStoreMethodsAdditionalNativeModule.getProtocol; Reflect.apply(add, binding, [Reflect.apply(getProtocol, maskedLinkStoreMethodsAdditionalNativeModule, [url])]); const Storage = (require(587) /* metro dependency 587: Storage */).Storage; Storage.set('MaskedLinkStore', {trustedDomains: env0_9, trustedProtocols: env0_10}); } function value_69174() { // fn#69174, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:9059:1176, offset: 0x01c6c208, size: 302 bytes, params: 1, frame: 19 var r3; var r5; var trustedDomains; var trustedProtocols; var Set; var prototype; var value5; var set; var value6; var value8; var value9; var value11; var value12; var value13; var value14; const Storage = (require(587) /* metro dependency 587: Storage */).Storage; const value2 = Storage.get('MaskedLinkStore'); const value3 = null; const r4 = value3 != value2 ? value2 : {}; const Array = global.Array; if (Array.isArray(r4)) { Set = global.Set; r5 = value3 != r4 ? global.Array.from(r4) : value3; prototype = Set.prototype; value11 = Object.create(prototype, {constructor: {value: Set}}); set = new Set(); value12 = set instanceof Object ? set : value11; Set = global.Set; prototype = Set.prototype; value13 = Object.create(prototype, {constructor: {value: Set}}); set = new Set(); value14 = set instanceof Object ? set : value13; } else { trustedDomains = r4.trustedDomains; trustedProtocols = r4.trustedProtocols; Set = global.Set; r3 = value3 != trustedDomains ? global.Array.from(trustedDomains) : value3; prototype = Set.prototype; value5 = Object.create(prototype, {constructor: {value: Set}}); set = new Set(); value6 = set instanceof Object ? set : value5; Set = global.Set; r3 = value3 != trustedProtocols ? global.Array.from(trustedProtocols) : value3; prototype = Set.prototype; value8 = Object.create(prototype, {constructor: {value: Set}}); set = new Set(); value9 = set instanceof Object ? set : value8; } }