| 'use strict'; | 
| var globalThis = require('../internals/global-this'); | 
| var shared = require('../internals/shared'); | 
| var hasOwn = require('../internals/has-own-property'); | 
| var uid = require('../internals/uid'); | 
| var NATIVE_SYMBOL = require('../internals/symbol-constructor-detection'); | 
| var USE_SYMBOL_AS_UID = require('../internals/use-symbol-as-uid'); | 
|   | 
| var Symbol = globalThis.Symbol; | 
| var WellKnownSymbolsStore = shared('wks'); | 
| var createWellKnownSymbol = USE_SYMBOL_AS_UID ? Symbol['for'] || Symbol : Symbol && Symbol.withoutSetter || uid; | 
|   | 
| module.exports = function (name) { | 
|   if (!hasOwn(WellKnownSymbolsStore, name)) { | 
|     WellKnownSymbolsStore[name] = NATIVE_SYMBOL && hasOwn(Symbol, name) | 
|       ? Symbol[name] | 
|       : createWellKnownSymbol('Symbol.' + name); | 
|   } return WellKnownSymbolsStore[name]; | 
| }; |