File manager - Edit - /home/web/vm-3fadc827.na4u.ru/www/bitrix/modules/main/install/js/main/core/minimal/dist/main.core.minimal.bundle.js.map
Back
{"version":3,"sources":["../../src/internal/wrap-start.js","../../../polyfill/core/lib/babel-external-helpers.js","../../../polyfill/core/lib/babel-regenerator-runtime.js","../../../polyfill/core/node_modules/core-js/internals/global.js","../../../polyfill/core/node_modules/core-js/internals/fails.js","../../../polyfill/core/node_modules/core-js/internals/descriptors.js","../../../polyfill/core/node_modules/core-js/internals/function-call.js","../../../polyfill/core/node_modules/core-js/internals/object-property-is-enumerable.js","../../../polyfill/core/node_modules/core-js/internals/create-property-descriptor.js","../../../polyfill/core/node_modules/core-js/internals/function-uncurry-this.js","../../../polyfill/core/node_modules/core-js/internals/classof-raw.js","../../../polyfill/core/node_modules/core-js/internals/indexed-object.js","../../../polyfill/core/node_modules/core-js/internals/require-object-coercible.js","../../../polyfill/core/node_modules/core-js/internals/to-indexed-object.js","../../../polyfill/core/node_modules/core-js/internals/is-callable.js","../../../polyfill/core/node_modules/core-js/internals/is-object.js","../../../polyfill/core/node_modules/core-js/internals/get-built-in.js","../../../polyfill/core/node_modules/core-js/internals/engine-v8-version.js","../../../polyfill/core/node_modules/core-js/internals/native-symbol.js","../../../polyfill/core/node_modules/core-js/internals/use-symbol-as-uid.js","../../../polyfill/core/node_modules/core-js/internals/is-symbol.js","../../../polyfill/core/node_modules/core-js/internals/try-to-string.js","../../../polyfill/core/node_modules/core-js/internals/a-callable.js","../../../polyfill/core/node_modules/core-js/internals/get-method.js","../../../polyfill/core/node_modules/core-js/internals/ordinary-to-primitive.js","../../../polyfill/core/node_modules/core-js/internals/is-pure.js","../../../polyfill/core/node_modules/core-js/internals/set-global.js","../../../polyfill/core/node_modules/core-js/internals/shared-store.js","../../../polyfill/core/node_modules/core-js/internals/shared.js","../../../polyfill/core/node_modules/core-js/internals/to-object.js","../../../polyfill/core/node_modules/core-js/internals/has-own-property.js","../../../polyfill/core/node_modules/core-js/internals/uid.js","../../../polyfill/core/node_modules/core-js/internals/well-known-symbol.js","../../../polyfill/core/node_modules/core-js/internals/to-primitive.js","../../../polyfill/core/node_modules/core-js/internals/to-property-key.js","../../../polyfill/core/node_modules/core-js/internals/document-create-element.js","../../../polyfill/core/node_modules/core-js/internals/ie8-dom-define.js","../../../polyfill/core/node_modules/core-js/internals/object-get-own-property-descriptor.js","../../../polyfill/core/node_modules/core-js/internals/an-object.js","../../../polyfill/core/node_modules/core-js/internals/object-define-property.js","../../../polyfill/core/node_modules/core-js/internals/create-non-enumerable-property.js","../../../polyfill/core/node_modules/core-js/internals/inspect-source.js","../../../polyfill/core/node_modules/core-js/internals/native-weak-map.js","../../../polyfill/core/node_modules/core-js/internals/shared-key.js","../../../polyfill/core/node_modules/core-js/internals/hidden-keys.js","../../../polyfill/core/node_modules/core-js/internals/internal-state.js","../../../polyfill/core/node_modules/core-js/internals/function-name.js","../../../polyfill/core/node_modules/core-js/internals/redefine.js","../../../polyfill/core/node_modules/core-js/internals/to-integer-or-infinity.js","../../../polyfill/core/node_modules/core-js/internals/to-absolute-index.js","../../../polyfill/core/node_modules/core-js/internals/to-length.js","../../../polyfill/core/node_modules/core-js/internals/length-of-array-like.js","../../../polyfill/core/node_modules/core-js/internals/array-includes.js","../../../polyfill/core/node_modules/core-js/internals/object-keys-internal.js","../../../polyfill/core/node_modules/core-js/internals/enum-bug-keys.js","../../../polyfill/core/node_modules/core-js/internals/object-get-own-property-names.js","../../../polyfill/core/node_modules/core-js/internals/object-get-own-property-symbols.js","../../../polyfill/core/node_modules/core-js/internals/own-keys.js","../../../polyfill/core/node_modules/core-js/internals/copy-constructor-properties.js","../../../polyfill/core/node_modules/core-js/internals/is-forced.js","../../../polyfill/core/node_modules/core-js/internals/export.js","../../../polyfill/core/node_modules/core-js/internals/correct-prototype-getter.js","../../../polyfill/core/node_modules/core-js/internals/object-get-prototype-of.js","../../../polyfill/core/node_modules/core-js/internals/a-possible-prototype.js","../../../polyfill/core/node_modules/core-js/internals/object-set-prototype-of.js","../../../polyfill/core/node_modules/core-js/internals/object-keys.js","../../../polyfill/core/node_modules/core-js/internals/object-define-properties.js","../../../polyfill/core/node_modules/core-js/internals/object-create.js","../../../polyfill/core/node_modules/core-js/internals/array-slice-simple.js","../../../polyfill/core/node_modules/core-js/internals/clear-error-stack.js","../../../polyfill/core/node_modules/core-js/internals/install-error-cause.js","../../../polyfill/core/node_modules/core-js/internals/function-bind-context.js","../../../polyfill/core/node_modules/core-js/internals/iterators.js","../../../polyfill/core/node_modules/core-js/internals/is-array-iterator-method.js","../../../polyfill/core/node_modules/core-js/internals/to-string-tag-support.js","../../../polyfill/core/node_modules/core-js/internals/classof.js","../../../polyfill/core/node_modules/core-js/internals/get-iterator-method.js","../../../polyfill/core/node_modules/core-js/internals/get-iterator.js","../../../polyfill/core/node_modules/core-js/internals/iterator-close.js","../../../polyfill/core/node_modules/core-js/internals/iterate.js","../../../polyfill/core/node_modules/core-js/internals/to-string.js","../../../polyfill/core/node_modules/core-js/internals/normalize-string-argument.js","../../../polyfill/core/node_modules/core-js/internals/error-stack-installable.js","../../../polyfill/core/node_modules/core-js/modules/es.aggregate-error.js","../../../polyfill/core/node_modules/core-js/internals/add-to-unscopables.js","../../../polyfill/core/node_modules/core-js/modules/es.array.at.js","../../../polyfill/core/node_modules/core-js/internals/is-array.js","../../../polyfill/core/node_modules/core-js/modules/es.array.reverse.js","../../../polyfill/core/node_modules/core-js/internals/array-buffer-native.js","../../../polyfill/core/node_modules/core-js/internals/redefine-all.js","../../../polyfill/core/node_modules/core-js/internals/an-instance.js","../../../polyfill/core/node_modules/core-js/internals/to-index.js","../../../polyfill/core/node_modules/core-js/internals/ieee754.js","../../../polyfill/core/node_modules/core-js/internals/array-fill.js","../../../polyfill/core/node_modules/core-js/internals/set-to-string-tag.js","../../../polyfill/core/node_modules/core-js/internals/array-buffer.js","../../../polyfill/core/node_modules/core-js/internals/is-constructor.js","../../../polyfill/core/node_modules/core-js/internals/a-constructor.js","../../../polyfill/core/node_modules/core-js/internals/species-constructor.js","../../../polyfill/core/node_modules/core-js/modules/es.array-buffer.slice.js","../../../polyfill/core/node_modules/core-js/modules/es.object.from-entries.js","../../../polyfill/core/node_modules/core-js/modules/es.object.has-own.js","../../../polyfill/core/node_modules/core-js/internals/new-promise-capability.js","../../../polyfill/core/node_modules/core-js/internals/perform.js","../../../polyfill/core/node_modules/core-js/modules/es.promise.all-settled.js","../../../polyfill/core/node_modules/core-js/modules/es.promise.any.js","../../../polyfill/core/node_modules/core-js/internals/promise-resolve.js","../../../polyfill/core/node_modules/core-js/modules/es.promise.finally.js","../../../polyfill/core/node_modules/core-js/internals/iterators-core.js","../../../polyfill/core/node_modules/core-js/internals/create-iterator-constructor.js","../../../polyfill/core/node_modules/core-js/internals/is-regexp.js","../../../polyfill/core/node_modules/core-js/internals/regexp-flags.js","../../../polyfill/core/node_modules/core-js/internals/string-multibyte.js","../../../polyfill/core/node_modules/core-js/internals/advance-string-index.js","../../../polyfill/core/node_modules/core-js/internals/regexp-sticky-helpers.js","../../../polyfill/core/node_modules/core-js/internals/regexp-unsupported-dot-all.js","../../../polyfill/core/node_modules/core-js/internals/regexp-unsupported-ncg.js","../../../polyfill/core/node_modules/core-js/internals/regexp-exec.js","../../../polyfill/core/node_modules/core-js/internals/regexp-exec-abstract.js","../../../polyfill/core/node_modules/core-js/modules/es.string.match-all.js","../../../polyfill/core/node_modules/core-js/internals/check-correctness-of-iteration.js","../../../polyfill/core/node_modules/core-js/internals/array-buffer-view-core.js","../../../polyfill/core/node_modules/core-js/internals/typed-array-constructors-require-wrappers.js","../../../polyfill/core/node_modules/core-js/internals/is-integral-number.js","../../../polyfill/core/node_modules/core-js/internals/to-positive-integer.js","../../../polyfill/core/node_modules/core-js/internals/to-offset.js","../../../polyfill/core/node_modules/core-js/internals/typed-array-from.js","../../../polyfill/core/node_modules/core-js/internals/array-species-constructor.js","../../../polyfill/core/node_modules/core-js/internals/array-species-create.js","../../../polyfill/core/node_modules/core-js/internals/array-iteration.js","../../../polyfill/core/node_modules/core-js/internals/set-species.js","../../../polyfill/core/node_modules/core-js/internals/inherit-if-required.js","../../../polyfill/core/node_modules/core-js/internals/typed-array-constructor.js","../../../polyfill/core/node_modules/core-js/modules/es.typed-array.float32-array.js","../../../polyfill/core/node_modules/core-js/modules/es.typed-array.float64-array.js","../../../polyfill/core/node_modules/core-js/modules/es.typed-array.int8-array.js","../../../polyfill/core/node_modules/core-js/modules/es.typed-array.int16-array.js","../../../polyfill/core/node_modules/core-js/modules/es.typed-array.int32-array.js","../../../polyfill/core/node_modules/core-js/modules/es.typed-array.uint8-array.js","../../../polyfill/core/node_modules/core-js/modules/es.typed-array.uint8-clamped-array.js","../../../polyfill/core/node_modules/core-js/modules/es.typed-array.uint16-array.js","../../../polyfill/core/node_modules/core-js/modules/es.typed-array.uint32-array.js","../../../polyfill/core/node_modules/core-js/modules/es.typed-array.at.js","../../../polyfill/core/node_modules/core-js/modules/es.typed-array.of.js","../../../polyfill/core/node_modules/core-js/internals/array-sort.js","../../../polyfill/core/node_modules/core-js/internals/engine-ff-version.js","../../../polyfill/core/node_modules/core-js/internals/engine-webkit-version.js","../../../polyfill/core/node_modules/core-js/modules/es.typed-array.sort.js","../../../polyfill/core/node_modules/core-js/internals/dom-iterables.js","../../../polyfill/core/node_modules/core-js/internals/dom-token-list-prototype.js","../../../polyfill/core/node_modules/core-js/internals/define-iterator.js","../../../polyfill/core/node_modules/core-js/modules/es.array.iterator.js","../../../polyfill/core/node_modules/core-js/modules/web.dom-collections.iterator.js","../../../polyfill/core/node_modules/core-js/internals/function-apply.js","../../../polyfill/core/node_modules/core-js/internals/task.js","../../../polyfill/core/node_modules/core-js/modules/web.immediate.js","../../../polyfill/core/node_modules/core-js/internals/microtask.js","../../../polyfill/core/node_modules/core-js/modules/web.queue-microtask.js","../../../polyfill/core/src/polyfill.js","../../../polyfill/core/lib/alert-message.js","../../src/internal/get-tag.js","../../src/lib/type.js","../../src/lib/reflection.js","../../src/lib/text.js","../../src/lib/event/aliases.js","../../src/lib/event/registry.js","../../src/lib/event/fetch-supported-listener-options.js","../../src/lib/event/bind.js","../../src/lib/event/unbind.js","../../src/lib/event/unbind-all.js","../../src/lib/event/bind-once.js","../../src/lib/runtime/debug.js","../../src/lib/runtime/loadextension/internal/fetch-extension-settings.js","../../src/lib/runtime/loadextension/load.extension.entity.js","../../src/lib/runtime/loadextension/lib/load.extension.constants.js","../../src/lib/runtime/loadextension/lib/load.extension.utils.js","../../src/lib/runtime/loadextension/load.extension.js","../../src/lib/runtime/clone.js","../../src/lib/runtime/merge.js","../../src/lib/runtime/create-comparator.js","../../src/lib/runtime.js","../../src/lib/base-error.js","../../src/lib/event/base-event.js","../../src/lib/event/event-emitter/eventstore.js","../../src/lib/event/event-emitter/warningstore.js","../../src/lib/event/event-emitter.js","../../src/lib/event/ready.js","../../src/lib/event.js","../../src/internal/encode-attribute-value.js","../../src/internal/decode-attribute-value.js","../../src/internal/get-page-scroll.js","../../src/lib/dom.js","../../src/lib/browser.js","../../src/lib/http/cookie.js","../../src/lib/http/internal/convert-object-to-form-data.js","../../src/lib/http/data.js","../../src/lib/http.js","../../src/lib/loc/message.js","../../src/lib/loc.js","../../src/lib/tag/render.js","../../src/lib/tag.js","../../src/lib/uri/parse-url.js","../../src/lib/uri/build-query-string.js","../../src/lib/uri/prepare-param-value.js","../../src/lib/uri.js","../../src/lib/validation.js","../../src/lib/cache/base-cache.js","../../src/lib/cache/memory-cache.js","../../src/lib/cache/storage/ls-storage.js","../../src/lib/cache/local-storage-cache.js","../../src/lib/cache.js","../../src/lib/collections/ordered-array.js","../../src/lib/z-index/z-index-component.js","../../src/lib/z-index/z-index-stack.js","../../src/lib/z-index/z-index-manager.js","../../src/lib/extension/internal/convert-path.js","../../src/lib/extension/internal/settings-collection.js","../../src/lib/extension/internal/deep-freeze.js","../../src/lib/extension/extension.js","../../src/internal/get-element.js","../../src/internal/get-window.js","../../src/core-compatibility.js","../src/main.core.minimal.js","../../src/internal/wrap-end.js"],"names":["check","module","exec","error","get","call","Function","prototype","apply","arguments","$propertyIsEnumerable","propertyIsEnumerable","getOwnPropertyDescriptor","Object","NASHORN_BUG","exports","f","descriptor","V","enumerable","bitmap","configurable","writable","value","FunctionPrototype","bind","callBind","fn","stringSlice","uncurryThis","split","it","TypeError","argument","Deno","global","versions","v8","match","userAgent","getBuiltIn","pref","isCallable","toString","isObject","val","store","commonjsHelpers.createCommonjsModule","version","mode","copyright","postfix","Symbol","symbolFor","createWellKnownSymbol","WellKnownSymbolsStore","TO_PRIMITIVE","input","exoticToPrim","getMethod","result","O","P","anObject","createPropertyDescriptor","object","WeakMap","set","has","wmget","shared","wmhas","wmset","metadata","facade","hiddenKeys","hasOwn","createNonEnumerableProperty","STATE","enforce","getterFor","EXISTS","PROPER","CONFIGURABLE","TEMPLATE","String","options","InternalStateModule","name","replace","state","key","simple","ceil","Math","floor","number","min","IS_INCLUDES","includes","indexOf","names","getOwnPropertySymbols","getOwnPropertySymbolsModule","defineProperty","i","POLYFILL","string","NATIVE","target","sourceProperty","targetProperty","FORCED","isForced","STATIC","sham","redefine","ObjectPrototype","constructor","setter","CORRECT_SETTER","aPossiblePrototype","index","NullProtoObjectViaActiveX","activeXDocument","NullProtoObjectViaIFrame","iframe","html","iframeDocument","NullProtoObject","max","k","length","fin","join","IS_V8_OR_CHAKRA_STACK","V8_OR_CHAKRA_STACK_ENTRY","test","IS_FIREFOX_OR_SAFARI_STACK","stack","aCallable","ArrayPrototype","Array","CORRECT_ARGUMENTS","classofRaw","innerResult","innerError","that","AS_ENTRIES","IS_ITERATOR","INTERRUPTED","iterator","iterFn","iteratorClose","message","$","AggregateError","definePropertyModule","addToUnscopables","proto","forced","reverse","ArrayBuffer","DataView","src","toLength","RangeError","log","LN2","pack","eBias","rt","pow","sign","exponent","c","mantissa","buffer","mantissaLength","exponentLength","eMax","nBits","bytes","NaN","FunctionName","addGetter","getInternalState","PROTOTYPE","intIndex","anInstance","setInternalState","byteLength","ArrayBufferPrototype","byteOffset","DataViewPrototype","DESCRIPTORS","$ArrayBuffer","redefineAll","getInt8","getUint8","getInt16","getUint16","getInt32","getUint32","getFloat32","getFloat64","unpackIEEE754","setInt8","packInt8","setInt16","setUint16","packInt16","setInt32","setUint32","setFloat32","setFloat64","PROPER_FUNCTION_NAME","NativeArrayBuffer","ARRAY_BUFFER","setPrototypeOf","testView","$setInt8","setUint8","unsafe","setToStringTag","construct","constructorRegExp","INCORRECT_TO_STRING","called","S","slice","toAbsoluteIndex","undefined","end","fromEntries","obj","iterate","createProperty","resolve","reject","remaining","alreadyCalled","values","status","reason","capability","alreadyResolved","alreadyRejected","errors","promiseCapability","C","then","method","NativePromise","NEW_ITERATOR_PROTOTYPE","IteratorPrototype","BUGGY_SAFARI_ITERATORS","dotAll","unicode","sticky","charCodeAt","$this","position","size","first","second","codeAt","charAt","re","BROKEN_CARET","MISSED_STICKY","UNSUPPORTED_Y","PATCH","patchedExec","raw","source","flags","strCopy","charsAdded","reCopy","RegExp","lastIndex","nativeExec","group","done","$matchAll","flagsValue","RegExpPrototype","matcher","$global","fullUnicode","matchAll","rx","IS_PURE","SAFE_CLOSING","ITERATION_SUPPORT","next","Int32Array","isTypedArray","TypedArrayConstructorsList","aTypedArray","aTypedArrayConstructor","KEY","TypedArrayConstructor","property","Constructor","Prototype","TypedArray","TypedArrayPrototype","TYPED_ARRAY_TAG_REQIRED","NATIVE_ARRAY_BUFFER_VIEWS","TYPED_ARRAY_TAG","exportTypedArrayMethod","isView","iterable","Int8Array","toPositiveInteger","offset","BYTES","mapfn","mapping","iteratorMethod","getIterator","push","IS_FILTER","IS_SOME","IS_EVERY","IS_FIND_INDEX","IS_FILTER_REJECT","NO_HOLES","callbackfn","specificCreate","self","boundFunction","create","IS_MAP","TYPE","forEach","map","filter","some","every","find","findIndex","filterReject","wrappedGetOwnPropertyDescriptor","getOwnPropertyDescriptorModule","stat","CONSTRUCTOR_NAME","data","$length","WRONG_LENGTH","view","addElement","TypedArrayConstructorPrototype","toIndex","exported","setSpecies","createTypedArrayConstructor","exportTypedArrayStaticMethod","middle","element","j","array","rlength","right","lindex","rindex","llength","mod","ArrayBufferViewCore","expected","un$Sort","b","y","comparefn","CSSRuleList","CSSStyleDeclaration","CSSValueList","ClientRectList","DOMRectList","DOMStringList","DOMTokenList","DataTransferItemList","FileList","HTMLAllCollection","HTMLCollection","HTMLFormElement","HTMLSelectElement","MediaList","MimeTypeArray","NamedNodeMap","NodeList","PaintRequestList","Plugin","PluginArray","SVGLengthList","SVGNumberList","SVGPathSegList","SVGPointList","SVGStringList","SVGTransformList","SourceBufferList","StyleSheetList","TextTrackCueList","TextTrackList","TouchList","IteratorConstructor","nativeIterator","ITERATOR","entries","anyNativeIterator","CurrentIteratorPrototype","getPrototypeOf","INCORRECT_VALUES_NAME","defaultIterator","methods","keys","getIterationMethod","Iterators","kind","type","TO_STRING_TAG","ArrayValues","CollectionPrototype","handlePrototype","clear","process","Dispatch","MessageChannel","counter","queue","ONREADYSTATECHANGE","location","id","run","args","defer","channel","IS_IOS","port","onmessage","setTimeout","setImmediate","clearImmediate","document","Promise","head","toggle","node","MutationObserver","characterData","notify","promise","nextTick","macrotask","noTargetGet","queueMicrotask","microtask","domain","getTag","objectCtorString","Type","isString","isObjectLike","ctor","hasOwnProperty","Number","isNaN","isNumber","isInteger","isNil","isArray","isFunction","MAX_SAFE_INTEGER","isPlainObject","isDomNode","nodeType","Node","ELEMENT_NODE","TEXT_NODE","regExpTypedTag","isBlob","lastModified","lastModifiedDate","FormData","Reflection","className","classFn","currentNamespace","window","namespaces","namespace","namespaceName","parts","parent","BX","isUndefined","reEscape","reUnescape","escapeEntities","unescapeEntities","Text","item","random","parsedValue","parseFloat","toNumber","parseInt","trueValues","transformedValue","toLowerCase","str","isStringFilled","regex","letter","toUpperCase","substr","capitalize","toCamelCase","matches","x","aliases","mousewheel","bxchange","animationend","transitionend","fullscreenchange","fullscreenerror","Registry","event","listener","events","isSet","Set","add","registry","isOptionSupported","isSupported","addEventListener","err","fetchSupportedListenerOptions","reduce","acc","eventName","handler","listenerOptions","unbind","removeEventListener","unbindAll","currentEvent","bindOnce","once","debugState","enableDebug","disableDebug","isDebugEnabled","debug","console","Error","trace","fetchExtensionSettings","scripts","isArrayFilled","script","extension","Extension","config","processHTML","inlineScripts","SCRIPT","externalScripts","externalStyles","STYLE","settingsScripts","HTML","loadPromise","warn","entry","isLoaded","querySelector","body","insertAdjacentHTML","evalGlobal","all","loadAll","getClass","initialized","ajaxController","makeIterable","isInitialized","getInitialized","isAllInitialized","extensions","loadExtensions","load","mergeExports","currentExports","isInternal","JS","request","ajax","runAction","prepareExtensions","response","initializedExtension","items","itemsList","loadExtension","utils","initializedExtensions","cloneableTags","isCloneable","isCloneableValue","internalClone","cloned","from","cloneNode","isMap","Map","isDate","Date","isRegExp","regExpFlags","assign","clone","merge","current","createComparator","fields","orders","a","field","order","valueA","valueB","Runtime","func","wait","context","timeoutId","debounced","clearTimeout","timer","invoke","wrapper","q","params","innerHTML","parsedHtml","externalCss","externalJs","inlineJs","htmlFirst","useAdjacentHTML","callback","targets","unshift","collection","comparator","sort","errorMessage","onPropertyAccess","ownProperties","prototypeProperties","targetPrototype","getOwnPropertyNames","uniquePropertiesList","isError","BaseError","code","customData","setMessage","setCode","setCustomData","getCode","getMessage","BaseEvent","compatData","defaultPrevented","immediatePropagationStopped","setData","setCompatData","isArrayLike","EventStore","defaultMaxListeners","eventStore","record","getRecordScheme","maxListeners","eventsMap","onceMap","getDefaultMaxListeners","eventsMaxListeners","WarningStore","warnings","printDelayed","debounce","print","listeners","contextWarnings","groupCollapsed","dir","groupEnd","warningStore","aliasStore","globalTarget","GLOBAL_TARGET","isEmitterProperty","namespaceProperty","EventEmitter","setEventNamespace","subscribe","compatMode","normalizeAliases","normalizeListener","normalizeEventName","actualName","subscribeOnce","unsubscribe","unsubscribeAll","getEventNamespace","emit","emitAsync","setMaxListeners","getMaxListeners","incrementMaxListeners","decrementMaxListeners","getListeners","makeFullEventName","isEventEmitter","targetProto","emitter","fullEventName","resolveEventName","useGlobalNaming","getOrAdd","onceListeners","getNextSequenceValue","targetInfo","globalEvents","globalListeners","targetListeners","targetEvents","preparedEvent","prepareEvent","isImmediatePropagationStopped","listenerResult","getCompatData","cloneData","thisArg","setTarget","setType","sequenceValue","count","DEFAULT_MAX_LISTENERS","destructMaxListenersArgs","increment","addMaxListeners","abs","alias","mergeEventAliases","aliasListeners","aliasOnceListeners","aliasMaxListeners","eventMaxListeners","getFullEventName","actualEventName","fullName","isReady","ready","readyState","Event","encodeAttributeValue","JSON","stringify","encode","decode","decodeAttributeValue","decodedValue","parse","e","Boolean","getPageScroll","documentElement","scrollTop","pageYOffset","scrollLeft","pageXOffset","Dom","oldElement","newElement","parentNode","replaceChild","removeChild","childNodes","firstChild","clean","getElementById","insertBefore","nextSibling","appendChild","append","isElementNode","preparedClassName","trim","hasClass","classList","contains","baseVal","getAttribute","addClass","removeClass","remove","toggleClass","prop","isNull","removeAttribute","currentKey","currentValue","style","DOCUMENT_NODE","computedStyle","getComputedStyle","getPropertyValue","attrs","setAttribute","props","dataset","children","text","innerText","tag","tagName","adjust","createElement","hidden","isShown","hide","show","elementRect","getBoundingClientRect","DOMRect","left","top","width","height","relationElement","elementPosition","getPosition","relationElementPosition","attr","attrKey","attrValue","UA","navigator","Browser","isOpera","documentMode","isSafari","isFirefox","isChrome","rv","MSStream","ActiveXObject","isIE10","isIE9","isIE","appName","res","detectIEVersion","isAndroid","isMac","isTouchDevice","isIPad","isIPhone","devicePixelRatio","maxTouchPoints","msMaxTouchPoints","doc","clientHeight","localStorage","setItem","removeItem","globalClass","isIOS","isMobile","isRetina","ieVersion","isDoctype","jsProperty","returnCSSName","getCssName","propertyName","getJsName","cssName","reg","bReturnCSSName","ucProperty","properties","lowerProp","prefix","features","classNames","support","isPropertySupported","Cookie","cookie","subItem","decodeURIComponent","cookiesList","getList","attributes","expires","now","days","dayInMs","toUTCString","safeName","escape","safeValue","encodeURIComponent","stringifiedAttributes","attributeValue","objectToFormData","formData","pre","toISOString","isFile","preparedProperty","lastIndexOf","substring","Data","Http","Loc","messageId","replacements","mess","replacement","globalRegexp","hasMessage","getPluralForm","languageId","pluralForm","handlers","getUid","incremental","bindAll","handlersMap","currentElement","childrenMap","render","sections","eventAttrRe","uselessSymbolsRe","substitutions","preparedAcc","attrName","attribute","childKey","lowercaseHtml","startsWith","implementation","createHTMLDocument","parser","DOMParser","parsedDocument","parseFromString","el","parseProps","nextSectionIndex","splitted","substitutionPlaceholderExp","Tag","styleTagHandler","attrsTagHandler","getParser","format","sourceKey","accumulator","concat","getKeyFormat","parseQuery","url","param","keyFormat","formatter","urlExp","parseUrl","queryParams","useShort","href","schema","host","path","query","hash","username","password","origin","buildQueryString","queryString","paramValue","paramIndex","prepareParamValue","Uri","setQueryParams","removableParams","removeQueryParam","getQueryParams","currentParams","newParams","serialized","protocol","getHost","getPath","Validation","exp","BaseCache","defaultValue","storage","MemoryCache","MemoryStorage","LsStorage","getItem","stackKey","parsedStack","preparedStack","getStack","saveStack","LocalStorageCache","LsCacheStorage","Cache","OrderedArray","splice","last","getIndex","getComparator","indexes","index1","index2","low","high","mid","ZIndexComponent","componentOptions","setAlwaysOnTop","alwaysOnTop","setOverlay","overlay","setOverlayGap","overlayGap","subscribeFromOptions","zIndex","changed","getZIndex","getElement","setProperty","getOverlay","getOverlayGap","component","isBoolean","gap","ZIndexStack","container","componentA","componentB","getAlwaysOnTop","getSort","components","baseIndex","step","baseStep","getComponent","setStack","setSort","sortCount","elements","getAll","getLast","setZIndex","ZIndexManager","getOrAddStack","register","unregister","stacks","addStack","bringToFront","suppressWarnings","convertPath","SettingsCollection","convertedPath","deepFreeze","freeze","settingsStorage","extensionName","settingsScriptNode","decodedSettings","frozenSettings","getWindow","ownerDocument","parentWindow","defaultView","messageFunction","insertAfter","prepend","cleanNode","removeElement","getCookie","setCookie","debugEnableFlag","debugNs","debugStatus","debugEnable","loadExt","throttle","isNotEmptyString","isNotEmptyObject","isMapKey","stringToInt","parsed","browser","IsOpera","IsIE","IsIE6","isIE6","IsIE7","isIE7","IsIE8","isIE8","IsIE9","IsIE10","IsIE11","isIE11","IsSafari","IsFirefox","IsChrome","DetectIeVersion","IsMac","IsAndroid","IsIOS","IsMobile","IsDoctype","SupportLocalStorage","isLocalStorageSupported","addGlobalClass","DetectAndroidVersion","detectAndroidVersion","addGlobalFeatures","GetWindowScrollSize","scrollWidth","scrollHeight","GetWindowScrollPos","win","GetWindowInnerSize","innerWidth","innerHeight","GetWindowSize","GetContext","pos","relative","toJSON","clientRect","root","round","bottom","w","offsetWidth","h","offsetHeight","offsetParent","is_relative","offsetLeft","offsetTop","addCustomEvent","eventObject","eventHandler","onCustomEvent","eventParams","secureParams","removeCustomEvent","removeAllCustomEvents"],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;;ACLA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACl/BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A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CACD;CACA;CACA;CACA;CACA;CACA;;;;;CA+CC;CACD;CACA;CACA;CACA;CACA;iCACaa,WAAmBb,UAC/B;CACCmL,MAAAA,YAAY,CAACS,WAAb,CAAyB,IAAzB,EAA+B/K,SAA/B,EAA0Cb,QAA1C;CAEA,aAAO,IAAP;CACA;CAED;CACD;CACA;CACA;CACA;CACA;;;;;CAuCC;CACD;CACA;CACA;oCACgBa,WACf;CACCsK,MAAAA,YAAY,CAACU,cAAb,CAA4B,IAA5B,EAAkChL,SAAlC;CACA;CAED;CACD;CACA;CACA;CACA;CACA;CACA;CACA;;;;;CAiGC;CACD;CACA;CACA;CACA;CACA;0BACMA,WAAmBd,OACxB;CACC,UAAI,KAAK+L,iBAAL,OAA6B,IAAjC,EACA;CACCnK,QAAAA,OAAO,CAACmB,IAAR,CACC,mFACA,6DAFD;CAIA;;CAEDqI,MAAAA,YAAY,CAACY,IAAb,CAAkB,IAAlB,EAAwBlL,SAAxB,EAAmCd,KAAnC;CAEA,aAAO,IAAP;CACA;CAED;CACD;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;;;;;CAaC;CACD;CACA;CACA;CACA;CACA;CACA;CACA;CACA;+BACWc,WAAmBd,OAC7B;CACC,UAAI,KAAK+L,iBAAL,OAA6B,IAAjC,EACA;CACCnK,QAAAA,OAAO,CAACmB,IAAR,CACC,mFACA,6DAFD;CAIA;;CAED,aAAOqI,YAAY,CAACa,SAAb,CAAuB,IAAvB,EAA6BnL,SAA7B,EAAwCd,KAAxC,CAAP;CACA;CAED;CACD;CACA;CACA;CACA;CACA;CACA;;;;;CA6FC;CACD;CACA;CACA;CACA;CACA;CACA;uCAEC;CAAA,wCADmB9F,IACnB;CADmBA,QAAAA,IACnB;CAAA;;CACCkR,MAAAA,YAAY,CAACc,eAAb,OAAAd,YAAY,GAAiB,IAAjB,SAA0BlR,IAA1B,EAAZ;CAEA,aAAO,IAAP;CACA;CAED;CACD;CACA;CACA;CACA;CACA;;;;;CAkCC;CACD;CACA;CACA;CACA;qCACiB4G,WAChB;CACC,aAAOsK,YAAY,CAACe,eAAb,CAA6B,IAA7B,EA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","file":"main.core.minimal.bundle.js.map","sourcesContent":[null,null,null,"var check = function (it) {\n return it && it.Math == Math && it;\n};\n\n// https://github.com/zloirock/core-js/issues/86#issuecomment-115759028\nmodule.exports =\n // eslint-disable-next-line es/no-global-this -- safe\n check(typeof globalThis == 'object' && globalThis) ||\n check(typeof window == 'object' && window) ||\n // eslint-disable-next-line no-restricted-globals -- safe\n check(typeof self == 'object' && self) ||\n check(typeof global == 'object' && global) ||\n // eslint-disable-next-line no-new-func -- fallback\n (function () { return this; })() || Function('return this')();\n","module.exports = function (exec) {\n try {\n return !!exec();\n } catch (error) {\n return true;\n }\n};\n","var fails = require('../internals/fails');\n\n// Detect IE8's incomplete defineProperty implementation\nmodule.exports = !fails(function () {\n // eslint-disable-next-line es/no-object-defineproperty -- required for testing\n return Object.defineProperty({}, 1, { get: function () { return 7; } })[1] != 7;\n});\n","var call = Function.prototype.call;\n\nmodule.exports = call.bind ? call.bind(call) : function () {\n return call.apply(call, arguments);\n};\n","'use strict';\nvar $propertyIsEnumerable = {}.propertyIsEnumerable;\n// eslint-disable-next-line es/no-object-getownpropertydescriptor -- safe\nvar getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;\n\n// Nashorn ~ JDK8 bug\nvar NASHORN_BUG = getOwnPropertyDescriptor && !$propertyIsEnumerable.call({ 1: 2 }, 1);\n\n// `Object.prototype.propertyIsEnumerable` method implementation\n// https://tc39.es/ecma262/#sec-object.prototype.propertyisenumerable\nexports.f = NASHORN_BUG ? function propertyIsEnumerable(V) {\n var descriptor = getOwnPropertyDescriptor(this, V);\n return !!descriptor && descriptor.enumerable;\n} : $propertyIsEnumerable;\n","module.exports = function (bitmap, value) {\n return {\n enumerable: !(bitmap & 1),\n configurable: !(bitmap & 2),\n writable: !(bitmap & 4),\n value: value\n };\n};\n","var FunctionPrototype = Function.prototype;\nvar bind = FunctionPrototype.bind;\nvar call = FunctionPrototype.call;\nvar callBind = bind && bind.bind(call);\n\nmodule.exports = bind ? function (fn) {\n return fn && callBind(call, fn);\n} : function (fn) {\n return fn && function () {\n return call.apply(fn, arguments);\n };\n};\n","var uncurryThis = require('../internals/function-uncurry-this');\n\nvar toString = uncurryThis({}.toString);\nvar stringSlice = uncurryThis(''.slice);\n\nmodule.exports = function (it) {\n return stringSlice(toString(it), 8, -1);\n};\n","var global = require('../internals/global');\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar fails = require('../internals/fails');\nvar classof = require('../internals/classof-raw');\n\nvar Object = global.Object;\nvar split = uncurryThis(''.split);\n\n// fallback for non-array-like ES3 and non-enumerable old V8 strings\nmodule.exports = fails(function () {\n // throws an error in rhino, see https://github.com/mozilla/rhino/issues/346\n // eslint-disable-next-line no-prototype-builtins -- safe\n return !Object('z').propertyIsEnumerable(0);\n}) ? function (it) {\n return classof(it) == 'String' ? split(it, '') : Object(it);\n} : Object;\n","var global = require('../internals/global');\n\nvar TypeError = global.TypeError;\n\n// `RequireObjectCoercible` abstract operation\n// https://tc39.es/ecma262/#sec-requireobjectcoercible\nmodule.exports = function (it) {\n if (it == undefined) throw TypeError(\"Can't call method on \" + it);\n return it;\n};\n","// toObject with fallback for non-array-like ES3 strings\nvar IndexedObject = require('../internals/indexed-object');\nvar requireObjectCoercible = require('../internals/require-object-coercible');\n\nmodule.exports = function (it) {\n return IndexedObject(requireObjectCoercible(it));\n};\n","// `IsCallable` abstract operation\n// https://tc39.es/ecma262/#sec-iscallable\nmodule.exports = function (argument) {\n return typeof argument == 'function';\n};\n","var isCallable = require('../internals/is-callable');\n\nmodule.exports = function (it) {\n return typeof it == 'object' ? it !== null : isCallable(it);\n};\n","var global = require('../internals/global');\nvar isCallable = require('../internals/is-callable');\n\nvar aFunction = function (argument) {\n return isCallable(argument) ? argument : undefined;\n};\n\nmodule.exports = function (namespace, method) {\n return arguments.length < 2 ? aFunction(global[namespace]) : global[namespace] && global[namespace][method];\n};\n","var global = require('../internals/global');\nvar userAgent = require('../internals/engine-user-agent');\n\nvar process = global.process;\nvar Deno = global.Deno;\nvar versions = process && process.versions || Deno && Deno.version;\nvar v8 = versions && versions.v8;\nvar match, version;\n\nif (v8) {\n match = v8.split('.');\n // in old Chrome, versions of V8 isn't V8 = Chrome / 10\n // but their correct versions are not interesting for us\n version = match[0] > 0 && match[0] < 4 ? 1 : +(match[0] + match[1]);\n}\n\n// BrowserFS NodeJS `process` polyfill incorrectly set `.v8` to `0.0`\n// so check `userAgent` even if `.v8` exists, but 0\nif (!version && userAgent) {\n match = userAgent.match(/Edge\\/(\\d+)/);\n if (!match || match[1] >= 74) {\n match = userAgent.match(/Chrome\\/(\\d+)/);\n if (match) version = +match[1];\n }\n}\n\nmodule.exports = version;\n","/* eslint-disable es/no-symbol -- required for testing */\nvar V8_VERSION = require('../internals/engine-v8-version');\nvar fails = require('../internals/fails');\n\n// eslint-disable-next-line es/no-object-getownpropertysymbols -- required for testing\nmodule.exports = !!Object.getOwnPropertySymbols && !fails(function () {\n var symbol = Symbol();\n // Chrome 38 Symbol has incorrect toString conversion\n // `get-own-property-symbols` polyfill symbols converted to object are not Symbol instances\n return !String(symbol) || !(Object(symbol) instanceof Symbol) ||\n // Chrome 38-40 symbols are not inherited from DOM collections prototypes to instances\n !Symbol.sham && V8_VERSION && V8_VERSION < 41;\n});\n","/* eslint-disable es/no-symbol -- required for testing */\nvar NATIVE_SYMBOL = require('../internals/native-symbol');\n\nmodule.exports = NATIVE_SYMBOL\n && !Symbol.sham\n && typeof Symbol.iterator == 'symbol';\n","var global = require('../internals/global');\nvar getBuiltIn = require('../internals/get-built-in');\nvar isCallable = require('../internals/is-callable');\nvar isPrototypeOf = require('../internals/object-is-prototype-of');\nvar USE_SYMBOL_AS_UID = require('../internals/use-symbol-as-uid');\n\nvar Object = global.Object;\n\nmodule.exports = USE_SYMBOL_AS_UID ? function (it) {\n return typeof it == 'symbol';\n} : function (it) {\n var $Symbol = getBuiltIn('Symbol');\n return isCallable($Symbol) && isPrototypeOf($Symbol.prototype, Object(it));\n};\n","var global = require('../internals/global');\n\nvar String = global.String;\n\nmodule.exports = function (argument) {\n try {\n return String(argument);\n } catch (error) {\n return 'Object';\n }\n};\n","var global = require('../internals/global');\nvar isCallable = require('../internals/is-callable');\nvar tryToString = require('../internals/try-to-string');\n\nvar TypeError = global.TypeError;\n\n// `Assert: IsCallable(argument) is true`\nmodule.exports = function (argument) {\n if (isCallable(argument)) return argument;\n throw TypeError(tryToString(argument) + ' is not a function');\n};\n","var aCallable = require('../internals/a-callable');\n\n// `GetMethod` abstract operation\n// https://tc39.es/ecma262/#sec-getmethod\nmodule.exports = function (V, P) {\n var func = V[P];\n return func == null ? undefined : aCallable(func);\n};\n","var global = require('../internals/global');\nvar call = require('../internals/function-call');\nvar isCallable = require('../internals/is-callable');\nvar isObject = require('../internals/is-object');\n\nvar TypeError = global.TypeError;\n\n// `OrdinaryToPrimitive` abstract operation\n// https://tc39.es/ecma262/#sec-ordinarytoprimitive\nmodule.exports = function (input, pref) {\n var fn, val;\n if (pref === 'string' && isCallable(fn = input.toString) && !isObject(val = call(fn, input))) return val;\n if (isCallable(fn = input.valueOf) && !isObject(val = call(fn, input))) return val;\n if (pref !== 'string' && isCallable(fn = input.toString) && !isObject(val = call(fn, input))) return val;\n throw TypeError(\"Can't convert object to primitive value\");\n};\n","module.exports = false;\n","var global = require('../internals/global');\n\n// eslint-disable-next-line es/no-object-defineproperty -- safe\nvar defineProperty = Object.defineProperty;\n\nmodule.exports = function (key, value) {\n try {\n defineProperty(global, key, { value: value, configurable: true, writable: true });\n } catch (error) {\n global[key] = value;\n } return value;\n};\n","var global = require('../internals/global');\nvar setGlobal = require('../internals/set-global');\n\nvar SHARED = '__core-js_shared__';\nvar store = global[SHARED] || setGlobal(SHARED, {});\n\nmodule.exports = store;\n","var IS_PURE = require('../internals/is-pure');\nvar store = require('../internals/shared-store');\n\n(module.exports = function (key, value) {\n\treturn store[key] || (store[key] = value !== undefined ? value : {});\n})('versions', []).push({\n\tversion: '3.19.2',\n\tmode: IS_PURE ? 'pure' : 'global',\n\tcopyright: '(c) 2021 Denis Pushkarev (zloirock.ru)'\n});\n","var global = require('../internals/global');\nvar requireObjectCoercible = require('../internals/require-object-coercible');\n\nvar Object = global.Object;\n\n// `ToObject` abstract operation\n// https://tc39.es/ecma262/#sec-toobject\nmodule.exports = function (argument) {\n return Object(requireObjectCoercible(argument));\n};\n","var uncurryThis = require('../internals/function-uncurry-this');\nvar toObject = require('../internals/to-object');\n\nvar hasOwnProperty = uncurryThis({}.hasOwnProperty);\n\n// `HasOwnProperty` abstract operation\n// https://tc39.es/ecma262/#sec-hasownproperty\nmodule.exports = Object.hasOwn || function hasOwn(it, key) {\n return hasOwnProperty(toObject(it), key);\n};\n","var uncurryThis = require('../internals/function-uncurry-this');\n\nvar id = 0;\nvar postfix = Math.random();\nvar toString = uncurryThis(1.0.toString);\n\nmodule.exports = function (key) {\n return 'Symbol(' + (key === undefined ? '' : key) + ')_' + toString(++id + postfix, 36);\n};\n","var global = require('../internals/global');\nvar shared = require('../internals/shared');\nvar hasOwn = require('../internals/has-own-property');\nvar uid = require('../internals/uid');\nvar NATIVE_SYMBOL = require('../internals/native-symbol');\nvar USE_SYMBOL_AS_UID = require('../internals/use-symbol-as-uid');\n\nvar WellKnownSymbolsStore = shared('wks');\nvar Symbol = global.Symbol;\nvar symbolFor = Symbol && Symbol['for'];\nvar createWellKnownSymbol = USE_SYMBOL_AS_UID ? Symbol : Symbol && Symbol.withoutSetter || uid;\n\nmodule.exports = function (name) {\n if (!hasOwn(WellKnownSymbolsStore, name) || !(NATIVE_SYMBOL || typeof WellKnownSymbolsStore[name] == 'string')) {\n var description = 'Symbol.' + name;\n if (NATIVE_SYMBOL && hasOwn(Symbol, name)) {\n WellKnownSymbolsStore[name] = Symbol[name];\n } else if (USE_SYMBOL_AS_UID && symbolFor) {\n WellKnownSymbolsStore[name] = symbolFor(description);\n } else {\n WellKnownSymbolsStore[name] = createWellKnownSymbol(description);\n }\n } return WellKnownSymbolsStore[name];\n};\n","var global = require('../internals/global');\nvar call = require('../internals/function-call');\nvar isObject = require('../internals/is-object');\nvar isSymbol = require('../internals/is-symbol');\nvar getMethod = require('../internals/get-method');\nvar ordinaryToPrimitive = require('../internals/ordinary-to-primitive');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar TypeError = global.TypeError;\nvar TO_PRIMITIVE = wellKnownSymbol('toPrimitive');\n\n// `ToPrimitive` abstract operation\n// https://tc39.es/ecma262/#sec-toprimitive\nmodule.exports = function (input, pref) {\n if (!isObject(input) || isSymbol(input)) return input;\n var exoticToPrim = getMethod(input, TO_PRIMITIVE);\n var result;\n if (exoticToPrim) {\n if (pref === undefined) pref = 'default';\n result = call(exoticToPrim, input, pref);\n if (!isObject(result) || isSymbol(result)) return result;\n throw TypeError(\"Can't convert object to primitive value\");\n }\n if (pref === undefined) pref = 'number';\n return ordinaryToPrimitive(input, pref);\n};\n","var toPrimitive = require('../internals/to-primitive');\nvar isSymbol = require('../internals/is-symbol');\n\n// `ToPropertyKey` abstract operation\n// https://tc39.es/ecma262/#sec-topropertykey\nmodule.exports = function (argument) {\n var key = toPrimitive(argument, 'string');\n return isSymbol(key) ? key : key + '';\n};\n","var global = require('../internals/global');\nvar isObject = require('../internals/is-object');\n\nvar document = global.document;\n// typeof document.createElement is 'object' in old IE\nvar EXISTS = isObject(document) && isObject(document.createElement);\n\nmodule.exports = function (it) {\n return EXISTS ? document.createElement(it) : {};\n};\n","var DESCRIPTORS = require('../internals/descriptors');\nvar fails = require('../internals/fails');\nvar createElement = require('../internals/document-create-element');\n\n// Thank's IE8 for his funny defineProperty\nmodule.exports = !DESCRIPTORS && !fails(function () {\n // eslint-disable-next-line es/no-object-defineproperty -- requied for testing\n return Object.defineProperty(createElement('div'), 'a', {\n get: function () { return 7; }\n }).a != 7;\n});\n","var DESCRIPTORS = require('../internals/descriptors');\nvar call = require('../internals/function-call');\nvar propertyIsEnumerableModule = require('../internals/object-property-is-enumerable');\nvar createPropertyDescriptor = require('../internals/create-property-descriptor');\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar toPropertyKey = require('../internals/to-property-key');\nvar hasOwn = require('../internals/has-own-property');\nvar IE8_DOM_DEFINE = require('../internals/ie8-dom-define');\n\n// eslint-disable-next-line es/no-object-getownpropertydescriptor -- safe\nvar $getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;\n\n// `Object.getOwnPropertyDescriptor` method\n// https://tc39.es/ecma262/#sec-object.getownpropertydescriptor\nexports.f = DESCRIPTORS ? $getOwnPropertyDescriptor : function getOwnPropertyDescriptor(O, P) {\n O = toIndexedObject(O);\n P = toPropertyKey(P);\n if (IE8_DOM_DEFINE) try {\n return $getOwnPropertyDescriptor(O, P);\n } catch (error) { /* empty */ }\n if (hasOwn(O, P)) return createPropertyDescriptor(!call(propertyIsEnumerableModule.f, O, P), O[P]);\n};\n","var global = require('../internals/global');\nvar isObject = require('../internals/is-object');\n\nvar String = global.String;\nvar TypeError = global.TypeError;\n\n// `Assert: Type(argument) is Object`\nmodule.exports = function (argument) {\n if (isObject(argument)) return argument;\n throw TypeError(String(argument) + ' is not an object');\n};\n","var global = require('../internals/global');\nvar DESCRIPTORS = require('../internals/descriptors');\nvar IE8_DOM_DEFINE = require('../internals/ie8-dom-define');\nvar anObject = require('../internals/an-object');\nvar toPropertyKey = require('../internals/to-property-key');\n\nvar TypeError = global.TypeError;\n// eslint-disable-next-line es/no-object-defineproperty -- safe\nvar $defineProperty = Object.defineProperty;\n\n// `Object.defineProperty` method\n// https://tc39.es/ecma262/#sec-object.defineproperty\nexports.f = DESCRIPTORS ? $defineProperty : function defineProperty(O, P, Attributes) {\n anObject(O);\n P = toPropertyKey(P);\n anObject(Attributes);\n if (IE8_DOM_DEFINE) try {\n return $defineProperty(O, P, Attributes);\n } catch (error) { /* empty */ }\n if ('get' in Attributes || 'set' in Attributes) throw TypeError('Accessors not supported');\n if ('value' in Attributes) O[P] = Attributes.value;\n return O;\n};\n","var DESCRIPTORS = require('../internals/descriptors');\nvar definePropertyModule = require('../internals/object-define-property');\nvar createPropertyDescriptor = require('../internals/create-property-descriptor');\n\nmodule.exports = DESCRIPTORS ? function (object, key, value) {\n return definePropertyModule.f(object, key, createPropertyDescriptor(1, value));\n} : function (object, key, value) {\n object[key] = value;\n return object;\n};\n","var uncurryThis = require('../internals/function-uncurry-this');\nvar isCallable = require('../internals/is-callable');\nvar store = require('../internals/shared-store');\n\nvar functionToString = uncurryThis(Function.toString);\n\n// this helper broken in `core-js@3.4.1-3.4.4`, so we can't use `shared` helper\nif (!isCallable(store.inspectSource)) {\n store.inspectSource = function (it) {\n return functionToString(it);\n };\n}\n\nmodule.exports = store.inspectSource;\n","var global = require('../internals/global');\nvar isCallable = require('../internals/is-callable');\nvar inspectSource = require('../internals/inspect-source');\n\nvar WeakMap = global.WeakMap;\n\nmodule.exports = isCallable(WeakMap) && /native code/.test(inspectSource(WeakMap));\n","var shared = require('../internals/shared');\nvar uid = require('../internals/uid');\n\nvar keys = shared('keys');\n\nmodule.exports = function (key) {\n return keys[key] || (keys[key] = uid(key));\n};\n","module.exports = {};\n","var NATIVE_WEAK_MAP = require('../internals/native-weak-map');\nvar global = require('../internals/global');\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar isObject = require('../internals/is-object');\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\nvar hasOwn = require('../internals/has-own-property');\nvar shared = require('../internals/shared-store');\nvar sharedKey = require('../internals/shared-key');\nvar hiddenKeys = require('../internals/hidden-keys');\n\nvar OBJECT_ALREADY_INITIALIZED = 'Object already initialized';\nvar TypeError = global.TypeError;\nvar WeakMap = global.WeakMap;\nvar set, get, has;\n\nvar enforce = function (it) {\n return has(it) ? get(it) : set(it, {});\n};\n\nvar getterFor = function (TYPE) {\n return function (it) {\n var state;\n if (!isObject(it) || (state = get(it)).type !== TYPE) {\n throw TypeError('Incompatible receiver, ' + TYPE + ' required');\n } return state;\n };\n};\n\nif (NATIVE_WEAK_MAP || shared.state) {\n var store = shared.state || (shared.state = new WeakMap());\n var wmget = uncurryThis(store.get);\n var wmhas = uncurryThis(store.has);\n var wmset = uncurryThis(store.set);\n set = function (it, metadata) {\n if (wmhas(store, it)) throw new TypeError(OBJECT_ALREADY_INITIALIZED);\n metadata.facade = it;\n wmset(store, it, metadata);\n return metadata;\n };\n get = function (it) {\n return wmget(store, it) || {};\n };\n has = function (it) {\n return wmhas(store, it);\n };\n} else {\n var STATE = sharedKey('state');\n hiddenKeys[STATE] = true;\n set = function (it, metadata) {\n if (hasOwn(it, STATE)) throw new TypeError(OBJECT_ALREADY_INITIALIZED);\n metadata.facade = it;\n createNonEnumerableProperty(it, STATE, metadata);\n return metadata;\n };\n get = function (it) {\n return hasOwn(it, STATE) ? it[STATE] : {};\n };\n has = function (it) {\n return hasOwn(it, STATE);\n };\n}\n\nmodule.exports = {\n set: set,\n get: get,\n has: has,\n enforce: enforce,\n getterFor: getterFor\n};\n","var DESCRIPTORS = require('../internals/descriptors');\nvar hasOwn = require('../internals/has-own-property');\n\nvar FunctionPrototype = Function.prototype;\n// eslint-disable-next-line es/no-object-getownpropertydescriptor -- safe\nvar getDescriptor = DESCRIPTORS && Object.getOwnPropertyDescriptor;\n\nvar EXISTS = hasOwn(FunctionPrototype, 'name');\n// additional protection from minified / mangled / dropped function names\nvar PROPER = EXISTS && (function something() { /* empty */ }).name === 'something';\nvar CONFIGURABLE = EXISTS && (!DESCRIPTORS || (DESCRIPTORS && getDescriptor(FunctionPrototype, 'name').configurable));\n\nmodule.exports = {\n EXISTS: EXISTS,\n PROPER: PROPER,\n CONFIGURABLE: CONFIGURABLE\n};\n","var global = require('../internals/global');\nvar isCallable = require('../internals/is-callable');\nvar hasOwn = require('../internals/has-own-property');\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\nvar setGlobal = require('../internals/set-global');\nvar inspectSource = require('../internals/inspect-source');\nvar InternalStateModule = require('../internals/internal-state');\nvar CONFIGURABLE_FUNCTION_NAME = require('../internals/function-name').CONFIGURABLE;\n\nvar getInternalState = InternalStateModule.get;\nvar enforceInternalState = InternalStateModule.enforce;\nvar TEMPLATE = String(String).split('String');\n\n(module.exports = function (O, key, value, options) {\n var unsafe = options ? !!options.unsafe : false;\n var simple = options ? !!options.enumerable : false;\n var noTargetGet = options ? !!options.noTargetGet : false;\n var name = options && options.name !== undefined ? options.name : key;\n var state;\n if (isCallable(value)) {\n if (String(name).slice(0, 7) === 'Symbol(') {\n name = '[' + String(name).replace(/^Symbol\\(([^)]*)\\)/, '$1') + ']';\n }\n if (!hasOwn(value, 'name') || (CONFIGURABLE_FUNCTION_NAME && value.name !== name)) {\n createNonEnumerableProperty(value, 'name', name);\n }\n state = enforceInternalState(value);\n if (!state.source) {\n state.source = TEMPLATE.join(typeof name == 'string' ? name : '');\n }\n }\n if (O === global) {\n if (simple) O[key] = value;\n else setGlobal(key, value);\n return;\n } else if (!unsafe) {\n delete O[key];\n } else if (!noTargetGet && O[key]) {\n simple = true;\n }\n if (simple) O[key] = value;\n else createNonEnumerableProperty(O, key, value);\n// add fake Function#toString for correct work wrapped methods / constructors with methods like LoDash isNative\n})(Function.prototype, 'toString', function toString() {\n return isCallable(this) && getInternalState(this).source || inspectSource(this);\n});\n","var ceil = Math.ceil;\nvar floor = Math.floor;\n\n// `ToIntegerOrInfinity` abstract operation\n// https://tc39.es/ecma262/#sec-tointegerorinfinity\nmodule.exports = function (argument) {\n var number = +argument;\n // eslint-disable-next-line no-self-compare -- safe\n return number !== number || number === 0 ? 0 : (number > 0 ? floor : ceil)(number);\n};\n","var toIntegerOrInfinity = require('../internals/to-integer-or-infinity');\n\nvar max = Math.max;\nvar min = Math.min;\n\n// Helper for a popular repeating case of the spec:\n// Let integer be ? ToInteger(index).\n// If integer < 0, let result be max((length + integer), 0); else let result be min(integer, length).\nmodule.exports = function (index, length) {\n var integer = toIntegerOrInfinity(index);\n return integer < 0 ? max(integer + length, 0) : min(integer, length);\n};\n","var toIntegerOrInfinity = require('../internals/to-integer-or-infinity');\n\nvar min = Math.min;\n\n// `ToLength` abstract operation\n// https://tc39.es/ecma262/#sec-tolength\nmodule.exports = function (argument) {\n return argument > 0 ? min(toIntegerOrInfinity(argument), 0x1FFFFFFFFFFFFF) : 0; // 2 ** 53 - 1 == 9007199254740991\n};\n","var toLength = require('../internals/to-length');\n\n// `LengthOfArrayLike` abstract operation\n// https://tc39.es/ecma262/#sec-lengthofarraylike\nmodule.exports = function (obj) {\n return toLength(obj.length);\n};\n","var toIndexedObject = require('../internals/to-indexed-object');\nvar toAbsoluteIndex = require('../internals/to-absolute-index');\nvar lengthOfArrayLike = require('../internals/length-of-array-like');\n\n// `Array.prototype.{ indexOf, includes }` methods implementation\nvar createMethod = function (IS_INCLUDES) {\n return function ($this, el, fromIndex) {\n var O = toIndexedObject($this);\n var length = lengthOfArrayLike(O);\n var index = toAbsoluteIndex(fromIndex, length);\n var value;\n // Array#includes uses SameValueZero equality algorithm\n // eslint-disable-next-line no-self-compare -- NaN check\n if (IS_INCLUDES && el != el) while (length > index) {\n value = O[index++];\n // eslint-disable-next-line no-self-compare -- NaN check\n if (value != value) return true;\n // Array#indexOf ignores holes, Array#includes - not\n } else for (;length > index; index++) {\n if ((IS_INCLUDES || index in O) && O[index] === el) return IS_INCLUDES || index || 0;\n } return !IS_INCLUDES && -1;\n };\n};\n\nmodule.exports = {\n // `Array.prototype.includes` method\n // https://tc39.es/ecma262/#sec-array.prototype.includes\n includes: createMethod(true),\n // `Array.prototype.indexOf` method\n // https://tc39.es/ecma262/#sec-array.prototype.indexof\n indexOf: createMethod(false)\n};\n","var uncurryThis = require('../internals/function-uncurry-this');\nvar hasOwn = require('../internals/has-own-property');\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar indexOf = require('../internals/array-includes').indexOf;\nvar hiddenKeys = require('../internals/hidden-keys');\n\nvar push = uncurryThis([].push);\n\nmodule.exports = function (object, names) {\n var O = toIndexedObject(object);\n var i = 0;\n var result = [];\n var key;\n for (key in O) !hasOwn(hiddenKeys, key) && hasOwn(O, key) && push(result, key);\n // Don't enum bug & hidden keys\n while (names.length > i) if (hasOwn(O, key = names[i++])) {\n ~indexOf(result, key) || push(result, key);\n }\n return result;\n};\n","// IE8- don't enum bug keys\nmodule.exports = [\n 'constructor',\n 'hasOwnProperty',\n 'isPrototypeOf',\n 'propertyIsEnumerable',\n 'toLocaleString',\n 'toString',\n 'valueOf'\n];\n","var internalObjectKeys = require('../internals/object-keys-internal');\nvar enumBugKeys = require('../internals/enum-bug-keys');\n\nvar hiddenKeys = enumBugKeys.concat('length', 'prototype');\n\n// `Object.getOwnPropertyNames` method\n// https://tc39.es/ecma262/#sec-object.getownpropertynames\n// eslint-disable-next-line es/no-object-getownpropertynames -- safe\nexports.f = Object.getOwnPropertyNames || function getOwnPropertyNames(O) {\n return internalObjectKeys(O, hiddenKeys);\n};\n","// eslint-disable-next-line es/no-object-getownpropertysymbols -- safe\nexports.f = Object.getOwnPropertySymbols;\n","var getBuiltIn = require('../internals/get-built-in');\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar getOwnPropertyNamesModule = require('../internals/object-get-own-property-names');\nvar getOwnPropertySymbolsModule = require('../internals/object-get-own-property-symbols');\nvar anObject = require('../internals/an-object');\n\nvar concat = uncurryThis([].concat);\n\n// all object keys, includes non-enumerable and symbols\nmodule.exports = getBuiltIn('Reflect', 'ownKeys') || function ownKeys(it) {\n var keys = getOwnPropertyNamesModule.f(anObject(it));\n var getOwnPropertySymbols = getOwnPropertySymbolsModule.f;\n return getOwnPropertySymbols ? concat(keys, getOwnPropertySymbols(it)) : keys;\n};\n","var hasOwn = require('../internals/has-own-property');\nvar ownKeys = require('../internals/own-keys');\nvar getOwnPropertyDescriptorModule = require('../internals/object-get-own-property-descriptor');\nvar definePropertyModule = require('../internals/object-define-property');\n\nmodule.exports = function (target, source) {\n var keys = ownKeys(source);\n var defineProperty = definePropertyModule.f;\n var getOwnPropertyDescriptor = getOwnPropertyDescriptorModule.f;\n for (var i = 0; i < keys.length; i++) {\n var key = keys[i];\n if (!hasOwn(target, key)) defineProperty(target, key, getOwnPropertyDescriptor(source, key));\n }\n};\n","var fails = require('../internals/fails');\nvar isCallable = require('../internals/is-callable');\n\nvar replacement = /#|\\.prototype\\./;\n\nvar isForced = function (feature, detection) {\n var value = data[normalize(feature)];\n return value == POLYFILL ? true\n : value == NATIVE ? false\n : isCallable(detection) ? fails(detection)\n : !!detection;\n};\n\nvar normalize = isForced.normalize = function (string) {\n return String(string).replace(replacement, '.').toLowerCase();\n};\n\nvar data = isForced.data = {};\nvar NATIVE = isForced.NATIVE = 'N';\nvar POLYFILL = isForced.POLYFILL = 'P';\n\nmodule.exports = isForced;\n","var global = require('../internals/global');\nvar getOwnPropertyDescriptor = require('../internals/object-get-own-property-descriptor').f;\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\nvar redefine = require('../internals/redefine');\nvar setGlobal = require('../internals/set-global');\nvar copyConstructorProperties = require('../internals/copy-constructor-properties');\nvar isForced = require('../internals/is-forced');\n\n/*\n options.target - name of the target object\n options.global - target is the global object\n options.stat - export as static methods of target\n options.proto - export as prototype methods of target\n options.real - real prototype method for the `pure` version\n options.forced - export even if the native feature is available\n options.bind - bind methods to the target, required for the `pure` version\n options.wrap - wrap constructors to preventing global pollution, required for the `pure` version\n options.unsafe - use the simple assignment of property instead of delete + defineProperty\n options.sham - add a flag to not completely full polyfills\n options.enumerable - export as enumerable property\n options.noTargetGet - prevent calling a getter on target\n options.name - the .name of the function if it does not match the key\n*/\nmodule.exports = function (options, source) {\n var TARGET = options.target;\n var GLOBAL = options.global;\n var STATIC = options.stat;\n var FORCED, target, key, targetProperty, sourceProperty, descriptor;\n if (GLOBAL) {\n target = global;\n } else if (STATIC) {\n target = global[TARGET] || setGlobal(TARGET, {});\n } else {\n target = (global[TARGET] || {}).prototype;\n }\n if (target) for (key in source) {\n sourceProperty = source[key];\n if (options.noTargetGet) {\n descriptor = getOwnPropertyDescriptor(target, key);\n targetProperty = descriptor && descriptor.value;\n } else targetProperty = target[key];\n FORCED = isForced(GLOBAL ? key : TARGET + (STATIC ? '.' : '#') + key, options.forced);\n // contained in target\n if (!FORCED && targetProperty !== undefined) {\n if (typeof sourceProperty == typeof targetProperty) continue;\n copyConstructorProperties(sourceProperty, targetProperty);\n }\n // add a flag to not completely full polyfills\n if (options.sham || (targetProperty && targetProperty.sham)) {\n createNonEnumerableProperty(sourceProperty, 'sham', true);\n }\n // extend global\n redefine(target, key, sourceProperty, options);\n }\n};\n","var fails = require('../internals/fails');\n\nmodule.exports = !fails(function () {\n function F() { /* empty */ }\n F.prototype.constructor = null;\n // eslint-disable-next-line es/no-object-getprototypeof -- required for testing\n return Object.getPrototypeOf(new F()) !== F.prototype;\n});\n","var global = require('../internals/global');\nvar hasOwn = require('../internals/has-own-property');\nvar isCallable = require('../internals/is-callable');\nvar toObject = require('../internals/to-object');\nvar sharedKey = require('../internals/shared-key');\nvar CORRECT_PROTOTYPE_GETTER = require('../internals/correct-prototype-getter');\n\nvar IE_PROTO = sharedKey('IE_PROTO');\nvar Object = global.Object;\nvar ObjectPrototype = Object.prototype;\n\n// `Object.getPrototypeOf` method\n// https://tc39.es/ecma262/#sec-object.getprototypeof\nmodule.exports = CORRECT_PROTOTYPE_GETTER ? Object.getPrototypeOf : function (O) {\n var object = toObject(O);\n if (hasOwn(object, IE_PROTO)) return object[IE_PROTO];\n var constructor = object.constructor;\n if (isCallable(constructor) && object instanceof constructor) {\n return constructor.prototype;\n } return object instanceof Object ? ObjectPrototype : null;\n};\n","var global = require('../internals/global');\nvar isCallable = require('../internals/is-callable');\n\nvar String = global.String;\nvar TypeError = global.TypeError;\n\nmodule.exports = function (argument) {\n if (typeof argument == 'object' || isCallable(argument)) return argument;\n throw TypeError(\"Can't set \" + String(argument) + ' as a prototype');\n};\n","/* eslint-disable no-proto -- safe */\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar anObject = require('../internals/an-object');\nvar aPossiblePrototype = require('../internals/a-possible-prototype');\n\n// `Object.setPrototypeOf` method\n// https://tc39.es/ecma262/#sec-object.setprototypeof\n// Works with __proto__ only. Old v8 can't work with null proto objects.\n// eslint-disable-next-line es/no-object-setprototypeof -- safe\nmodule.exports = Object.setPrototypeOf || ('__proto__' in {} ? function () {\n var CORRECT_SETTER = false;\n var test = {};\n var setter;\n try {\n // eslint-disable-next-line es/no-object-getownpropertydescriptor -- safe\n setter = uncurryThis(Object.getOwnPropertyDescriptor(Object.prototype, '__proto__').set);\n setter(test, []);\n CORRECT_SETTER = test instanceof Array;\n } catch (error) { /* empty */ }\n return function setPrototypeOf(O, proto) {\n anObject(O);\n aPossiblePrototype(proto);\n if (CORRECT_SETTER) setter(O, proto);\n else O.__proto__ = proto;\n return O;\n };\n}() : undefined);\n","var internalObjectKeys = require('../internals/object-keys-internal');\nvar enumBugKeys = require('../internals/enum-bug-keys');\n\n// `Object.keys` method\n// https://tc39.es/ecma262/#sec-object.keys\n// eslint-disable-next-line es/no-object-keys -- safe\nmodule.exports = Object.keys || function keys(O) {\n return internalObjectKeys(O, enumBugKeys);\n};\n","var DESCRIPTORS = require('../internals/descriptors');\nvar definePropertyModule = require('../internals/object-define-property');\nvar anObject = require('../internals/an-object');\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar objectKeys = require('../internals/object-keys');\n\n// `Object.defineProperties` method\n// https://tc39.es/ecma262/#sec-object.defineproperties\n// eslint-disable-next-line es/no-object-defineproperties -- safe\nmodule.exports = DESCRIPTORS ? Object.defineProperties : function defineProperties(O, Properties) {\n anObject(O);\n var props = toIndexedObject(Properties);\n var keys = objectKeys(Properties);\n var length = keys.length;\n var index = 0;\n var key;\n while (length > index) definePropertyModule.f(O, key = keys[index++], props[key]);\n return O;\n};\n","/* global ActiveXObject -- old IE, WSH */\nvar anObject = require('../internals/an-object');\nvar defineProperties = require('../internals/object-define-properties');\nvar enumBugKeys = require('../internals/enum-bug-keys');\nvar hiddenKeys = require('../internals/hidden-keys');\nvar html = require('../internals/html');\nvar documentCreateElement = require('../internals/document-create-element');\nvar sharedKey = require('../internals/shared-key');\n\nvar GT = '>';\nvar LT = '<';\nvar PROTOTYPE = 'prototype';\nvar SCRIPT = 'script';\nvar IE_PROTO = sharedKey('IE_PROTO');\n\nvar EmptyConstructor = function () { /* empty */ };\n\nvar scriptTag = function (content) {\n return LT + SCRIPT + GT + content + LT + '/' + SCRIPT + GT;\n};\n\n// Create object with fake `null` prototype: use ActiveX Object with cleared prototype\nvar NullProtoObjectViaActiveX = function (activeXDocument) {\n activeXDocument.write(scriptTag(''));\n activeXDocument.close();\n var temp = activeXDocument.parentWindow.Object;\n activeXDocument = null; // avoid memory leak\n return temp;\n};\n\n// Create object with fake `null` prototype: use iframe Object with cleared prototype\nvar NullProtoObjectViaIFrame = function () {\n // Thrash, waste and sodomy: IE GC bug\n var iframe = documentCreateElement('iframe');\n var JS = 'java' + SCRIPT + ':';\n var iframeDocument;\n iframe.style.display = 'none';\n html.appendChild(iframe);\n // https://github.com/zloirock/core-js/issues/475\n iframe.src = String(JS);\n iframeDocument = iframe.contentWindow.document;\n iframeDocument.open();\n iframeDocument.write(scriptTag('document.F=Object'));\n iframeDocument.close();\n return iframeDocument.F;\n};\n\n// Check for document.domain and active x support\n// No need to use active x approach when document.domain is not set\n// see https://github.com/es-shims/es5-shim/issues/150\n// variation of https://github.com/kitcambridge/es5-shim/commit/4f738ac066346\n// avoid IE GC bug\nvar activeXDocument;\nvar NullProtoObject = function () {\n try {\n activeXDocument = new ActiveXObject('htmlfile');\n } catch (error) { /* ignore */ }\n NullProtoObject = typeof document != 'undefined'\n ? document.domain && activeXDocument\n ? NullProtoObjectViaActiveX(activeXDocument) // old IE\n : NullProtoObjectViaIFrame()\n : NullProtoObjectViaActiveX(activeXDocument); // WSH\n var length = enumBugKeys.length;\n while (length--) delete NullProtoObject[PROTOTYPE][enumBugKeys[length]];\n return NullProtoObject();\n};\n\nhiddenKeys[IE_PROTO] = true;\n\n// `Object.create` method\n// https://tc39.es/ecma262/#sec-object.create\nmodule.exports = Object.create || function create(O, Properties) {\n var result;\n if (O !== null) {\n EmptyConstructor[PROTOTYPE] = anObject(O);\n result = new EmptyConstructor();\n EmptyConstructor[PROTOTYPE] = null;\n // add \"__proto__\" for Object.getPrototypeOf polyfill\n result[IE_PROTO] = O;\n } else result = NullProtoObject();\n return Properties === undefined ? result : defineProperties(result, Properties);\n};\n","var global = require('../internals/global');\nvar toAbsoluteIndex = require('../internals/to-absolute-index');\nvar lengthOfArrayLike = require('../internals/length-of-array-like');\nvar createProperty = require('../internals/create-property');\n\nvar Array = global.Array;\nvar max = Math.max;\n\nmodule.exports = function (O, start, end) {\n var length = lengthOfArrayLike(O);\n var k = toAbsoluteIndex(start, length);\n var fin = toAbsoluteIndex(end === undefined ? length : end, length);\n var result = Array(max(fin - k, 0));\n for (var n = 0; k < fin; k++, n++) createProperty(result, n, O[k]);\n result.length = n;\n return result;\n};\n","var uncurryThis = require('../internals/function-uncurry-this');\nvar arraySlice = require('../internals/array-slice-simple');\n\nvar replace = uncurryThis(''.replace);\nvar split = uncurryThis(''.split);\nvar join = uncurryThis([].join);\n\nvar TEST = (function (arg) { return String(Error(arg).stack); })('zxcasd');\nvar V8_OR_CHAKRA_STACK_ENTRY = /\\n\\s*at [^:]*:[^\\n]*/;\nvar IS_V8_OR_CHAKRA_STACK = V8_OR_CHAKRA_STACK_ENTRY.test(TEST);\nvar IS_FIREFOX_OR_SAFARI_STACK = /@[^\\n]*\\n/.test(TEST) && !/zxcasd/.test(TEST);\n\nmodule.exports = function (stack, dropEntries) {\n if (typeof stack != 'string') return stack;\n if (IS_V8_OR_CHAKRA_STACK) {\n while (dropEntries--) stack = replace(stack, V8_OR_CHAKRA_STACK_ENTRY, '');\n } else if (IS_FIREFOX_OR_SAFARI_STACK) {\n return join(arraySlice(split(stack, '\\n'), dropEntries), '\\n');\n } return stack;\n};\n","var isObject = require('../internals/is-object');\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\n\n// `InstallErrorCause` abstract operation\n// https://tc39.es/proposal-error-cause/#sec-errorobjects-install-error-cause\nmodule.exports = function (O, options) {\n if (isObject(options) && 'cause' in options) {\n createNonEnumerableProperty(O, 'cause', options.cause);\n }\n};\n","var uncurryThis = require('../internals/function-uncurry-this');\nvar aCallable = require('../internals/a-callable');\n\nvar bind = uncurryThis(uncurryThis.bind);\n\n// optional / simple context binding\nmodule.exports = function (fn, that) {\n aCallable(fn);\n return that === undefined ? fn : bind ? bind(fn, that) : function (/* ...args */) {\n return fn.apply(that, arguments);\n };\n};\n","module.exports = {};\n","var wellKnownSymbol = require('../internals/well-known-symbol');\nvar Iterators = require('../internals/iterators');\n\nvar ITERATOR = wellKnownSymbol('iterator');\nvar ArrayPrototype = Array.prototype;\n\n// check on default Array iterator\nmodule.exports = function (it) {\n return it !== undefined && (Iterators.Array === it || ArrayPrototype[ITERATOR] === it);\n};\n","var wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar TO_STRING_TAG = wellKnownSymbol('toStringTag');\nvar test = {};\n\ntest[TO_STRING_TAG] = 'z';\n\nmodule.exports = String(test) === '[object z]';\n","var global = require('../internals/global');\nvar TO_STRING_TAG_SUPPORT = require('../internals/to-string-tag-support');\nvar isCallable = require('../internals/is-callable');\nvar classofRaw = require('../internals/classof-raw');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar TO_STRING_TAG = wellKnownSymbol('toStringTag');\nvar Object = global.Object;\n\n// ES3 wrong here\nvar CORRECT_ARGUMENTS = classofRaw(function () { return arguments; }()) == 'Arguments';\n\n// fallback for IE11 Script Access Denied error\nvar tryGet = function (it, key) {\n try {\n return it[key];\n } catch (error) { /* empty */ }\n};\n\n// getting tag from ES6+ `Object.prototype.toString`\nmodule.exports = TO_STRING_TAG_SUPPORT ? classofRaw : function (it) {\n var O, tag, result;\n return it === undefined ? 'Undefined' : it === null ? 'Null'\n // @@toStringTag case\n : typeof (tag = tryGet(O = Object(it), TO_STRING_TAG)) == 'string' ? tag\n // builtinTag case\n : CORRECT_ARGUMENTS ? classofRaw(O)\n // ES3 arguments fallback\n : (result = classofRaw(O)) == 'Object' && isCallable(O.callee) ? 'Arguments' : result;\n};\n","var classof = require('../internals/classof');\nvar getMethod = require('../internals/get-method');\nvar Iterators = require('../internals/iterators');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar ITERATOR = wellKnownSymbol('iterator');\n\nmodule.exports = function (it) {\n if (it != undefined) return getMethod(it, ITERATOR)\n || getMethod(it, '@@iterator')\n || Iterators[classof(it)];\n};\n","var global = require('../internals/global');\nvar call = require('../internals/function-call');\nvar aCallable = require('../internals/a-callable');\nvar anObject = require('../internals/an-object');\nvar tryToString = require('../internals/try-to-string');\nvar getIteratorMethod = require('../internals/get-iterator-method');\n\nvar TypeError = global.TypeError;\n\nmodule.exports = function (argument, usingIterator) {\n var iteratorMethod = arguments.length < 2 ? getIteratorMethod(argument) : usingIterator;\n if (aCallable(iteratorMethod)) return anObject(call(iteratorMethod, argument));\n throw TypeError(tryToString(argument) + ' is not iterable');\n};\n","var call = require('../internals/function-call');\nvar anObject = require('../internals/an-object');\nvar getMethod = require('../internals/get-method');\n\nmodule.exports = function (iterator, kind, value) {\n var innerResult, innerError;\n anObject(iterator);\n try {\n innerResult = getMethod(iterator, 'return');\n if (!innerResult) {\n if (kind === 'throw') throw value;\n return value;\n }\n innerResult = call(innerResult, iterator);\n } catch (error) {\n innerError = true;\n innerResult = error;\n }\n if (kind === 'throw') throw value;\n if (innerError) throw innerResult;\n anObject(innerResult);\n return value;\n};\n","var global = require('../internals/global');\nvar bind = require('../internals/function-bind-context');\nvar call = require('../internals/function-call');\nvar anObject = require('../internals/an-object');\nvar tryToString = require('../internals/try-to-string');\nvar isArrayIteratorMethod = require('../internals/is-array-iterator-method');\nvar lengthOfArrayLike = require('../internals/length-of-array-like');\nvar isPrototypeOf = require('../internals/object-is-prototype-of');\nvar getIterator = require('../internals/get-iterator');\nvar getIteratorMethod = require('../internals/get-iterator-method');\nvar iteratorClose = require('../internals/iterator-close');\n\nvar TypeError = global.TypeError;\n\nvar Result = function (stopped, result) {\n this.stopped = stopped;\n this.result = result;\n};\n\nvar ResultPrototype = Result.prototype;\n\nmodule.exports = function (iterable, unboundFunction, options) {\n var that = options && options.that;\n var AS_ENTRIES = !!(options && options.AS_ENTRIES);\n var IS_ITERATOR = !!(options && options.IS_ITERATOR);\n var INTERRUPTED = !!(options && options.INTERRUPTED);\n var fn = bind(unboundFunction, that);\n var iterator, iterFn, index, length, result, next, step;\n\n var stop = function (condition) {\n if (iterator) iteratorClose(iterator, 'normal', condition);\n return new Result(true, condition);\n };\n\n var callFn = function (value) {\n if (AS_ENTRIES) {\n anObject(value);\n return INTERRUPTED ? fn(value[0], value[1], stop) : fn(value[0], value[1]);\n } return INTERRUPTED ? fn(value, stop) : fn(value);\n };\n\n if (IS_ITERATOR) {\n iterator = iterable;\n } else {\n iterFn = getIteratorMethod(iterable);\n if (!iterFn) throw TypeError(tryToString(iterable) + ' is not iterable');\n // optimisation for array iterators\n if (isArrayIteratorMethod(iterFn)) {\n for (index = 0, length = lengthOfArrayLike(iterable); length > index; index++) {\n result = callFn(iterable[index]);\n if (result && isPrototypeOf(ResultPrototype, result)) return result;\n } return new Result(false);\n }\n iterator = getIterator(iterable, iterFn);\n }\n\n next = iterator.next;\n while (!(step = call(next, iterator)).done) {\n try {\n result = callFn(step.value);\n } catch (error) {\n iteratorClose(iterator, 'throw', error);\n }\n if (typeof result == 'object' && result && isPrototypeOf(ResultPrototype, result)) return result;\n } return new Result(false);\n};\n","var global = require('../internals/global');\nvar classof = require('../internals/classof');\n\nvar String = global.String;\n\nmodule.exports = function (argument) {\n if (classof(argument) === 'Symbol') throw TypeError('Cannot convert a Symbol value to a string');\n return String(argument);\n};\n","var toString = require('../internals/to-string');\n\nmodule.exports = function (argument, $default) {\n return argument === undefined ? arguments.length < 2 ? '' : $default : toString(argument);\n};\n","var fails = require('../internals/fails');\nvar createPropertyDescriptor = require('../internals/create-property-descriptor');\n\nmodule.exports = !fails(function () {\n var error = Error('a');\n if (!('stack' in error)) return true;\n // eslint-disable-next-line es/no-object-defineproperty -- safe\n Object.defineProperty(error, 'stack', createPropertyDescriptor(1, 7));\n return error.stack !== 7;\n});\n","'use strict';\nvar $ = require('../internals/export');\nvar global = require('../internals/global');\nvar isPrototypeOf = require('../internals/object-is-prototype-of');\nvar getPrototypeOf = require('../internals/object-get-prototype-of');\nvar setPrototypeOf = require('../internals/object-set-prototype-of');\nvar copyConstructorProperties = require('../internals/copy-constructor-properties');\nvar create = require('../internals/object-create');\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\nvar createPropertyDescriptor = require('../internals/create-property-descriptor');\nvar clearErrorStack = require('../internals/clear-error-stack');\nvar installErrorCause = require('../internals/install-error-cause');\nvar iterate = require('../internals/iterate');\nvar normalizeStringArgument = require('../internals/normalize-string-argument');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\nvar ERROR_STACK_INSTALLABLE = require('../internals/error-stack-installable');\n\nvar TO_STRING_TAG = wellKnownSymbol('toStringTag');\nvar Error = global.Error;\nvar push = [].push;\n\nvar $AggregateError = function AggregateError(errors, message /* , options */) {\n var options = arguments.length > 2 ? arguments[2] : undefined;\n var isInstance = isPrototypeOf(AggregateErrorPrototype, this);\n var that;\n if (setPrototypeOf) {\n that = setPrototypeOf(new Error(undefined), isInstance ? getPrototypeOf(this) : AggregateErrorPrototype);\n } else {\n that = isInstance ? this : create(AggregateErrorPrototype);\n createNonEnumerableProperty(that, TO_STRING_TAG, 'Error');\n }\n createNonEnumerableProperty(that, 'message', normalizeStringArgument(message, ''));\n if (ERROR_STACK_INSTALLABLE) createNonEnumerableProperty(that, 'stack', clearErrorStack(that.stack, 1));\n installErrorCause(that, options);\n var errorsArray = [];\n iterate(errors, push, { that: errorsArray });\n createNonEnumerableProperty(that, 'errors', errorsArray);\n return that;\n};\n\nif (setPrototypeOf) setPrototypeOf($AggregateError, Error);\nelse copyConstructorProperties($AggregateError, Error);\n\nvar AggregateErrorPrototype = $AggregateError.prototype = create(Error.prototype, {\n constructor: createPropertyDescriptor(1, $AggregateError),\n message: createPropertyDescriptor(1, ''),\n name: createPropertyDescriptor(1, 'AggregateError')\n});\n\n// `AggregateError` constructor\n// https://tc39.es/ecma262/#sec-aggregate-error-constructor\n$({ global: true }, {\n AggregateError: $AggregateError\n});\n","var wellKnownSymbol = require('../internals/well-known-symbol');\nvar create = require('../internals/object-create');\nvar definePropertyModule = require('../internals/object-define-property');\n\nvar UNSCOPABLES = wellKnownSymbol('unscopables');\nvar ArrayPrototype = Array.prototype;\n\n// Array.prototype[@@unscopables]\n// https://tc39.es/ecma262/#sec-array.prototype-@@unscopables\nif (ArrayPrototype[UNSCOPABLES] == undefined) {\n definePropertyModule.f(ArrayPrototype, UNSCOPABLES, {\n configurable: true,\n value: create(null)\n });\n}\n\n// add a key to Array.prototype[@@unscopables]\nmodule.exports = function (key) {\n ArrayPrototype[UNSCOPABLES][key] = true;\n};\n","'use strict';\nvar $ = require('../internals/export');\nvar toObject = require('../internals/to-object');\nvar lengthOfArrayLike = require('../internals/length-of-array-like');\nvar toIntegerOrInfinity = require('../internals/to-integer-or-infinity');\nvar addToUnscopables = require('../internals/add-to-unscopables');\n\n// `Array.prototype.at` method\n// https://github.com/tc39/proposal-relative-indexing-method\n$({ target: 'Array', proto: true }, {\n at: function at(index) {\n var O = toObject(this);\n var len = lengthOfArrayLike(O);\n var relativeIndex = toIntegerOrInfinity(index);\n var k = relativeIndex >= 0 ? relativeIndex : len + relativeIndex;\n return (k < 0 || k >= len) ? undefined : O[k];\n }\n});\n\naddToUnscopables('at');\n","var classof = require('../internals/classof-raw');\n\n// `IsArray` abstract operation\n// https://tc39.es/ecma262/#sec-isarray\n// eslint-disable-next-line es/no-array-isarray -- safe\nmodule.exports = Array.isArray || function isArray(argument) {\n return classof(argument) == 'Array';\n};\n","'use strict';\nvar $ = require('../internals/export');\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar isArray = require('../internals/is-array');\n\nvar un$Reverse = uncurryThis([].reverse);\nvar test = [1, 2];\n\n// `Array.prototype.reverse` method\n// https://tc39.es/ecma262/#sec-array.prototype.reverse\n// fix for Safari 12.0 bug\n// https://bugs.webkit.org/show_bug.cgi?id=188794\n$({ target: 'Array', proto: true, forced: String(test) === String(test.reverse()) }, {\n reverse: function reverse() {\n // eslint-disable-next-line no-self-assign -- dirty hack\n if (isArray(this)) this.length = this.length;\n return un$Reverse(this);\n }\n});\n","// eslint-disable-next-line es/no-typed-arrays -- safe\nmodule.exports = typeof ArrayBuffer != 'undefined' && typeof DataView != 'undefined';\n","var redefine = require('../internals/redefine');\n\nmodule.exports = function (target, src, options) {\n for (var key in src) redefine(target, key, src[key], options);\n return target;\n};\n","var global = require('../internals/global');\nvar isPrototypeOf = require('../internals/object-is-prototype-of');\n\nvar TypeError = global.TypeError;\n\nmodule.exports = function (it, Prototype) {\n if (isPrototypeOf(Prototype, it)) return it;\n throw TypeError('Incorrect invocation');\n};\n","var global = require('../internals/global');\nvar toIntegerOrInfinity = require('../internals/to-integer-or-infinity');\nvar toLength = require('../internals/to-length');\n\nvar RangeError = global.RangeError;\n\n// `ToIndex` abstract operation\n// https://tc39.es/ecma262/#sec-toindex\nmodule.exports = function (it) {\n if (it === undefined) return 0;\n var number = toIntegerOrInfinity(it);\n var length = toLength(number);\n if (number !== length) throw RangeError('Wrong length or index');\n return length;\n};\n","// IEEE754 conversions based on https://github.com/feross/ieee754\nvar global = require('../internals/global');\n\nvar Array = global.Array;\nvar abs = Math.abs;\nvar pow = Math.pow;\nvar floor = Math.floor;\nvar log = Math.log;\nvar LN2 = Math.LN2;\n\nvar pack = function (number, mantissaLength, bytes) {\n var buffer = Array(bytes);\n var exponentLength = bytes * 8 - mantissaLength - 1;\n var eMax = (1 << exponentLength) - 1;\n var eBias = eMax >> 1;\n var rt = mantissaLength === 23 ? pow(2, -24) - pow(2, -77) : 0;\n var sign = number < 0 || number === 0 && 1 / number < 0 ? 1 : 0;\n var index = 0;\n var exponent, mantissa, c;\n number = abs(number);\n // eslint-disable-next-line no-self-compare -- NaN check\n if (number != number || number === Infinity) {\n // eslint-disable-next-line no-self-compare -- NaN check\n mantissa = number != number ? 1 : 0;\n exponent = eMax;\n } else {\n exponent = floor(log(number) / LN2);\n c = pow(2, -exponent);\n if (number * c < 1) {\n exponent--;\n c *= 2;\n }\n if (exponent + eBias >= 1) {\n number += rt / c;\n } else {\n number += rt * pow(2, 1 - eBias);\n }\n if (number * c >= 2) {\n exponent++;\n c /= 2;\n }\n if (exponent + eBias >= eMax) {\n mantissa = 0;\n exponent = eMax;\n } else if (exponent + eBias >= 1) {\n mantissa = (number * c - 1) * pow(2, mantissaLength);\n exponent = exponent + eBias;\n } else {\n mantissa = number * pow(2, eBias - 1) * pow(2, mantissaLength);\n exponent = 0;\n }\n }\n while (mantissaLength >= 8) {\n buffer[index++] = mantissa & 255;\n mantissa /= 256;\n mantissaLength -= 8;\n }\n exponent = exponent << mantissaLength | mantissa;\n exponentLength += mantissaLength;\n while (exponentLength > 0) {\n buffer[index++] = exponent & 255;\n exponent /= 256;\n exponentLength -= 8;\n }\n buffer[--index] |= sign * 128;\n return buffer;\n};\n\nvar unpack = function (buffer, mantissaLength) {\n var bytes = buffer.length;\n var exponentLength = bytes * 8 - mantissaLength - 1;\n var eMax = (1 << exponentLength) - 1;\n var eBias = eMax >> 1;\n var nBits = exponentLength - 7;\n var index = bytes - 1;\n var sign = buffer[index--];\n var exponent = sign & 127;\n var mantissa;\n sign >>= 7;\n while (nBits > 0) {\n exponent = exponent * 256 + buffer[index--];\n nBits -= 8;\n }\n mantissa = exponent & (1 << -nBits) - 1;\n exponent >>= -nBits;\n nBits += mantissaLength;\n while (nBits > 0) {\n mantissa = mantissa * 256 + buffer[index--];\n nBits -= 8;\n }\n if (exponent === 0) {\n exponent = 1 - eBias;\n } else if (exponent === eMax) {\n return mantissa ? NaN : sign ? -Infinity : Infinity;\n } else {\n mantissa = mantissa + pow(2, mantissaLength);\n exponent = exponent - eBias;\n } return (sign ? -1 : 1) * mantissa * pow(2, exponent - mantissaLength);\n};\n\nmodule.exports = {\n pack: pack,\n unpack: unpack\n};\n","'use strict';\nvar toObject = require('../internals/to-object');\nvar toAbsoluteIndex = require('../internals/to-absolute-index');\nvar lengthOfArrayLike = require('../internals/length-of-array-like');\n\n// `Array.prototype.fill` method implementation\n// https://tc39.es/ecma262/#sec-array.prototype.fill\nmodule.exports = function fill(value /* , start = 0, end = @length */) {\n var O = toObject(this);\n var length = lengthOfArrayLike(O);\n var argumentsLength = arguments.length;\n var index = toAbsoluteIndex(argumentsLength > 1 ? arguments[1] : undefined, length);\n var end = argumentsLength > 2 ? arguments[2] : undefined;\n var endPos = end === undefined ? length : toAbsoluteIndex(end, length);\n while (endPos > index) O[index++] = value;\n return O;\n};\n","var defineProperty = require('../internals/object-define-property').f;\nvar hasOwn = require('../internals/has-own-property');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar TO_STRING_TAG = wellKnownSymbol('toStringTag');\n\nmodule.exports = function (it, TAG, STATIC) {\n if (it && !hasOwn(it = STATIC ? it : it.prototype, TO_STRING_TAG)) {\n defineProperty(it, TO_STRING_TAG, { configurable: true, value: TAG });\n }\n};\n","'use strict';\nvar global = require('../internals/global');\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar DESCRIPTORS = require('../internals/descriptors');\nvar NATIVE_ARRAY_BUFFER = require('../internals/array-buffer-native');\nvar FunctionName = require('../internals/function-name');\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\nvar redefineAll = require('../internals/redefine-all');\nvar fails = require('../internals/fails');\nvar anInstance = require('../internals/an-instance');\nvar toIntegerOrInfinity = require('../internals/to-integer-or-infinity');\nvar toLength = require('../internals/to-length');\nvar toIndex = require('../internals/to-index');\nvar IEEE754 = require('../internals/ieee754');\nvar getPrototypeOf = require('../internals/object-get-prototype-of');\nvar setPrototypeOf = require('../internals/object-set-prototype-of');\nvar getOwnPropertyNames = require('../internals/object-get-own-property-names').f;\nvar defineProperty = require('../internals/object-define-property').f;\nvar arrayFill = require('../internals/array-fill');\nvar arraySlice = require('../internals/array-slice-simple');\nvar setToStringTag = require('../internals/set-to-string-tag');\nvar InternalStateModule = require('../internals/internal-state');\n\nvar PROPER_FUNCTION_NAME = FunctionName.PROPER;\nvar CONFIGURABLE_FUNCTION_NAME = FunctionName.CONFIGURABLE;\nvar getInternalState = InternalStateModule.get;\nvar setInternalState = InternalStateModule.set;\nvar ARRAY_BUFFER = 'ArrayBuffer';\nvar DATA_VIEW = 'DataView';\nvar PROTOTYPE = 'prototype';\nvar WRONG_LENGTH = 'Wrong length';\nvar WRONG_INDEX = 'Wrong index';\nvar NativeArrayBuffer = global[ARRAY_BUFFER];\nvar $ArrayBuffer = NativeArrayBuffer;\nvar ArrayBufferPrototype = $ArrayBuffer && $ArrayBuffer[PROTOTYPE];\nvar $DataView = global[DATA_VIEW];\nvar DataViewPrototype = $DataView && $DataView[PROTOTYPE];\nvar ObjectPrototype = Object.prototype;\nvar Array = global.Array;\nvar RangeError = global.RangeError;\nvar fill = uncurryThis(arrayFill);\nvar reverse = uncurryThis([].reverse);\n\nvar packIEEE754 = IEEE754.pack;\nvar unpackIEEE754 = IEEE754.unpack;\n\nvar packInt8 = function (number) {\n return [number & 0xFF];\n};\n\nvar packInt16 = function (number) {\n return [number & 0xFF, number >> 8 & 0xFF];\n};\n\nvar packInt32 = function (number) {\n return [number & 0xFF, number >> 8 & 0xFF, number >> 16 & 0xFF, number >> 24 & 0xFF];\n};\n\nvar unpackInt32 = function (buffer) {\n return buffer[3] << 24 | buffer[2] << 16 | buffer[1] << 8 | buffer[0];\n};\n\nvar packFloat32 = function (number) {\n return packIEEE754(number, 23, 4);\n};\n\nvar packFloat64 = function (number) {\n return packIEEE754(number, 52, 8);\n};\n\nvar addGetter = function (Constructor, key) {\n defineProperty(Constructor[PROTOTYPE], key, { get: function () { return getInternalState(this)[key]; } });\n};\n\nvar get = function (view, count, index, isLittleEndian) {\n var intIndex = toIndex(index);\n var store = getInternalState(view);\n if (intIndex + count > store.byteLength) throw RangeError(WRONG_INDEX);\n var bytes = getInternalState(store.buffer).bytes;\n var start = intIndex + store.byteOffset;\n var pack = arraySlice(bytes, start, start + count);\n return isLittleEndian ? pack : reverse(pack);\n};\n\nvar set = function (view, count, index, conversion, value, isLittleEndian) {\n var intIndex = toIndex(index);\n var store = getInternalState(view);\n if (intIndex + count > store.byteLength) throw RangeError(WRONG_INDEX);\n var bytes = getInternalState(store.buffer).bytes;\n var start = intIndex + store.byteOffset;\n var pack = conversion(+value);\n for (var i = 0; i < count; i++) bytes[start + i] = pack[isLittleEndian ? i : count - i - 1];\n};\n\nif (!NATIVE_ARRAY_BUFFER) {\n $ArrayBuffer = function ArrayBuffer(length) {\n anInstance(this, ArrayBufferPrototype);\n var byteLength = toIndex(length);\n setInternalState(this, {\n bytes: fill(Array(byteLength), 0),\n byteLength: byteLength\n });\n if (!DESCRIPTORS) this.byteLength = byteLength;\n };\n\n ArrayBufferPrototype = $ArrayBuffer[PROTOTYPE];\n\n $DataView = function DataView(buffer, byteOffset, byteLength) {\n anInstance(this, DataViewPrototype);\n anInstance(buffer, ArrayBufferPrototype);\n var bufferLength = getInternalState(buffer).byteLength;\n var offset = toIntegerOrInfinity(byteOffset);\n if (offset < 0 || offset > bufferLength) throw RangeError('Wrong offset');\n byteLength = byteLength === undefined ? bufferLength - offset : toLength(byteLength);\n if (offset + byteLength > bufferLength) throw RangeError(WRONG_LENGTH);\n setInternalState(this, {\n buffer: buffer,\n byteLength: byteLength,\n byteOffset: offset\n });\n if (!DESCRIPTORS) {\n this.buffer = buffer;\n this.byteLength = byteLength;\n this.byteOffset = offset;\n }\n };\n\n DataViewPrototype = $DataView[PROTOTYPE];\n\n if (DESCRIPTORS) {\n addGetter($ArrayBuffer, 'byteLength');\n addGetter($DataView, 'buffer');\n addGetter($DataView, 'byteLength');\n addGetter($DataView, 'byteOffset');\n }\n\n redefineAll(DataViewPrototype, {\n getInt8: function getInt8(byteOffset) {\n return get(this, 1, byteOffset)[0] << 24 >> 24;\n },\n getUint8: function getUint8(byteOffset) {\n return get(this, 1, byteOffset)[0];\n },\n getInt16: function getInt16(byteOffset /* , littleEndian */) {\n var bytes = get(this, 2, byteOffset, arguments.length > 1 ? arguments[1] : undefined);\n return (bytes[1] << 8 | bytes[0]) << 16 >> 16;\n },\n getUint16: function getUint16(byteOffset /* , littleEndian */) {\n var bytes = get(this, 2, byteOffset, arguments.length > 1 ? arguments[1] : undefined);\n return bytes[1] << 8 | bytes[0];\n },\n getInt32: function getInt32(byteOffset /* , littleEndian */) {\n return unpackInt32(get(this, 4, byteOffset, arguments.length > 1 ? arguments[1] : undefined));\n },\n getUint32: function getUint32(byteOffset /* , littleEndian */) {\n return unpackInt32(get(this, 4, byteOffset, arguments.length > 1 ? arguments[1] : undefined)) >>> 0;\n },\n getFloat32: function getFloat32(byteOffset /* , littleEndian */) {\n return unpackIEEE754(get(this, 4, byteOffset, arguments.length > 1 ? arguments[1] : undefined), 23);\n },\n getFloat64: function getFloat64(byteOffset /* , littleEndian */) {\n return unpackIEEE754(get(this, 8, byteOffset, arguments.length > 1 ? arguments[1] : undefined), 52);\n },\n setInt8: function setInt8(byteOffset, value) {\n set(this, 1, byteOffset, packInt8, value);\n },\n setUint8: function setUint8(byteOffset, value) {\n set(this, 1, byteOffset, packInt8, value);\n },\n setInt16: function setInt16(byteOffset, value /* , littleEndian */) {\n set(this, 2, byteOffset, packInt16, value, arguments.length > 2 ? arguments[2] : undefined);\n },\n setUint16: function setUint16(byteOffset, value /* , littleEndian */) {\n set(this, 2, byteOffset, packInt16, value, arguments.length > 2 ? arguments[2] : undefined);\n },\n setInt32: function setInt32(byteOffset, value /* , littleEndian */) {\n set(this, 4, byteOffset, packInt32, value, arguments.length > 2 ? arguments[2] : undefined);\n },\n setUint32: function setUint32(byteOffset, value /* , littleEndian */) {\n set(this, 4, byteOffset, packInt32, value, arguments.length > 2 ? arguments[2] : undefined);\n },\n setFloat32: function setFloat32(byteOffset, value /* , littleEndian */) {\n set(this, 4, byteOffset, packFloat32, value, arguments.length > 2 ? arguments[2] : undefined);\n },\n setFloat64: function setFloat64(byteOffset, value /* , littleEndian */) {\n set(this, 8, byteOffset, packFloat64, value, arguments.length > 2 ? arguments[2] : undefined);\n }\n });\n} else {\n var INCORRECT_ARRAY_BUFFER_NAME = PROPER_FUNCTION_NAME && NativeArrayBuffer.name !== ARRAY_BUFFER;\n /* eslint-disable no-new -- required for testing */\n if (!fails(function () {\n NativeArrayBuffer(1);\n }) || !fails(function () {\n new NativeArrayBuffer(-1);\n }) || fails(function () {\n new NativeArrayBuffer();\n new NativeArrayBuffer(1.5);\n new NativeArrayBuffer(NaN);\n return INCORRECT_ARRAY_BUFFER_NAME && !CONFIGURABLE_FUNCTION_NAME;\n })) {\n /* eslint-enable no-new -- required for testing */\n $ArrayBuffer = function ArrayBuffer(length) {\n anInstance(this, ArrayBufferPrototype);\n return new NativeArrayBuffer(toIndex(length));\n };\n\n $ArrayBuffer[PROTOTYPE] = ArrayBufferPrototype;\n\n for (var keys = getOwnPropertyNames(NativeArrayBuffer), j = 0, key; keys.length > j;) {\n if (!((key = keys[j++]) in $ArrayBuffer)) {\n createNonEnumerableProperty($ArrayBuffer, key, NativeArrayBuffer[key]);\n }\n }\n\n ArrayBufferPrototype.constructor = $ArrayBuffer;\n } else if (INCORRECT_ARRAY_BUFFER_NAME && CONFIGURABLE_FUNCTION_NAME) {\n createNonEnumerableProperty(NativeArrayBuffer, 'name', ARRAY_BUFFER);\n }\n\n // WebKit bug - the same parent prototype for typed arrays and data view\n if (setPrototypeOf && getPrototypeOf(DataViewPrototype) !== ObjectPrototype) {\n setPrototypeOf(DataViewPrototype, ObjectPrototype);\n }\n\n // iOS Safari 7.x bug\n var testView = new $DataView(new $ArrayBuffer(2));\n var $setInt8 = uncurryThis(DataViewPrototype.setInt8);\n testView.setInt8(0, 2147483648);\n testView.setInt8(1, 2147483649);\n if (testView.getInt8(0) || !testView.getInt8(1)) redefineAll(DataViewPrototype, {\n setInt8: function setInt8(byteOffset, value) {\n $setInt8(this, byteOffset, value << 24 >> 24);\n },\n setUint8: function setUint8(byteOffset, value) {\n $setInt8(this, byteOffset, value << 24 >> 24);\n }\n }, { unsafe: true });\n}\n\nsetToStringTag($ArrayBuffer, ARRAY_BUFFER);\nsetToStringTag($DataView, DATA_VIEW);\n\nmodule.exports = {\n ArrayBuffer: $ArrayBuffer,\n DataView: $DataView\n};\n","var uncurryThis = require('../internals/function-uncurry-this');\nvar fails = require('../internals/fails');\nvar isCallable = require('../internals/is-callable');\nvar classof = require('../internals/classof');\nvar getBuiltIn = require('../internals/get-built-in');\nvar inspectSource = require('../internals/inspect-source');\n\nvar noop = function () { /* empty */ };\nvar empty = [];\nvar construct = getBuiltIn('Reflect', 'construct');\nvar constructorRegExp = /^\\s*(?:class|function)\\b/;\nvar exec = uncurryThis(constructorRegExp.exec);\nvar INCORRECT_TO_STRING = !constructorRegExp.exec(noop);\n\nvar isConstructorModern = function (argument) {\n if (!isCallable(argument)) return false;\n try {\n construct(noop, empty, argument);\n return true;\n } catch (error) {\n return false;\n }\n};\n\nvar isConstructorLegacy = function (argument) {\n if (!isCallable(argument)) return false;\n switch (classof(argument)) {\n case 'AsyncFunction':\n case 'GeneratorFunction':\n case 'AsyncGeneratorFunction': return false;\n // we can't check .prototype since constructors produced by .bind haven't it\n } return INCORRECT_TO_STRING || !!exec(constructorRegExp, inspectSource(argument));\n};\n\n// `IsConstructor` abstract operation\n// https://tc39.es/ecma262/#sec-isconstructor\nmodule.exports = !construct || fails(function () {\n var called;\n return isConstructorModern(isConstructorModern.call)\n || !isConstructorModern(Object)\n || !isConstructorModern(function () { called = true; })\n || called;\n}) ? isConstructorLegacy : isConstructorModern;\n","var global = require('../internals/global');\nvar isConstructor = require('../internals/is-constructor');\nvar tryToString = require('../internals/try-to-string');\n\nvar TypeError = global.TypeError;\n\n// `Assert: IsConstructor(argument) is true`\nmodule.exports = function (argument) {\n if (isConstructor(argument)) return argument;\n throw TypeError(tryToString(argument) + ' is not a constructor');\n};\n","var anObject = require('../internals/an-object');\nvar aConstructor = require('../internals/a-constructor');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar SPECIES = wellKnownSymbol('species');\n\n// `SpeciesConstructor` abstract operation\n// https://tc39.es/ecma262/#sec-speciesconstructor\nmodule.exports = function (O, defaultConstructor) {\n var C = anObject(O).constructor;\n var S;\n return C === undefined || (S = anObject(C)[SPECIES]) == undefined ? defaultConstructor : aConstructor(S);\n};\n","'use strict';\nvar $ = require('../internals/export');\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar fails = require('../internals/fails');\nvar ArrayBufferModule = require('../internals/array-buffer');\nvar anObject = require('../internals/an-object');\nvar toAbsoluteIndex = require('../internals/to-absolute-index');\nvar toLength = require('../internals/to-length');\nvar speciesConstructor = require('../internals/species-constructor');\n\nvar ArrayBuffer = ArrayBufferModule.ArrayBuffer;\nvar DataView = ArrayBufferModule.DataView;\nvar DataViewPrototype = DataView.prototype;\nvar un$ArrayBufferSlice = uncurryThis(ArrayBuffer.prototype.slice);\nvar getUint8 = uncurryThis(DataViewPrototype.getUint8);\nvar setUint8 = uncurryThis(DataViewPrototype.setUint8);\n\nvar INCORRECT_SLICE = fails(function () {\n return !new ArrayBuffer(2).slice(1, undefined).byteLength;\n});\n\n// `ArrayBuffer.prototype.slice` method\n// https://tc39.es/ecma262/#sec-arraybuffer.prototype.slice\n$({ target: 'ArrayBuffer', proto: true, unsafe: true, forced: INCORRECT_SLICE }, {\n slice: function slice(start, end) {\n if (un$ArrayBufferSlice && end === undefined) {\n return un$ArrayBufferSlice(anObject(this), start); // FF fix\n }\n var length = anObject(this).byteLength;\n var first = toAbsoluteIndex(start, length);\n var fin = toAbsoluteIndex(end === undefined ? length : end, length);\n var result = new (speciesConstructor(this, ArrayBuffer))(toLength(fin - first));\n var viewSource = new DataView(this);\n var viewTarget = new DataView(result);\n var index = 0;\n while (first < fin) {\n setUint8(viewTarget, index++, getUint8(viewSource, first++));\n } return result;\n }\n});\n","var $ = require('../internals/export');\nvar iterate = require('../internals/iterate');\nvar createProperty = require('../internals/create-property');\n\n// `Object.fromEntries` method\n// https://github.com/tc39/proposal-object-from-entries\n$({ target: 'Object', stat: true }, {\n fromEntries: function fromEntries(iterable) {\n var obj = {};\n iterate(iterable, function (k, v) {\n createProperty(obj, k, v);\n }, { AS_ENTRIES: true });\n return obj;\n }\n});\n","var $ = require('../internals/export');\nvar hasOwn = require('../internals/has-own-property');\n\n// `Object.hasOwn` method\n// https://github.com/tc39/proposal-accessible-object-hasownproperty\n$({ target: 'Object', stat: true }, {\n hasOwn: hasOwn\n});\n","'use strict';\nvar aCallable = require('../internals/a-callable');\n\nvar PromiseCapability = function (C) {\n var resolve, reject;\n this.promise = new C(function ($$resolve, $$reject) {\n if (resolve !== undefined || reject !== undefined) throw TypeError('Bad Promise constructor');\n resolve = $$resolve;\n reject = $$reject;\n });\n this.resolve = aCallable(resolve);\n this.reject = aCallable(reject);\n};\n\n// `NewPromiseCapability` abstract operation\n// https://tc39.es/ecma262/#sec-newpromisecapability\nmodule.exports.f = function (C) {\n return new PromiseCapability(C);\n};\n","module.exports = function (exec) {\n try {\n return { error: false, value: exec() };\n } catch (error) {\n return { error: true, value: error };\n }\n};\n","'use strict';\nvar $ = require('../internals/export');\nvar call = require('../internals/function-call');\nvar aCallable = require('../internals/a-callable');\nvar newPromiseCapabilityModule = require('../internals/new-promise-capability');\nvar perform = require('../internals/perform');\nvar iterate = require('../internals/iterate');\n\n// `Promise.allSettled` method\n// https://tc39.es/ecma262/#sec-promise.allsettled\n$({ target: 'Promise', stat: true }, {\n allSettled: function allSettled(iterable) {\n var C = this;\n var capability = newPromiseCapabilityModule.f(C);\n var resolve = capability.resolve;\n var reject = capability.reject;\n var result = perform(function () {\n var promiseResolve = aCallable(C.resolve);\n var values = [];\n var counter = 0;\n var remaining = 1;\n iterate(iterable, function (promise) {\n var index = counter++;\n var alreadyCalled = false;\n remaining++;\n call(promiseResolve, C, promise).then(function (value) {\n if (alreadyCalled) return;\n alreadyCalled = true;\n values[index] = { status: 'fulfilled', value: value };\n --remaining || resolve(values);\n }, function (error) {\n if (alreadyCalled) return;\n alreadyCalled = true;\n values[index] = { status: 'rejected', reason: error };\n --remaining || resolve(values);\n });\n });\n --remaining || resolve(values);\n });\n if (result.error) reject(result.value);\n return capability.promise;\n }\n});\n","'use strict';\nvar $ = require('../internals/export');\nvar aCallable = require('../internals/a-callable');\nvar getBuiltIn = require('../internals/get-built-in');\nvar call = require('../internals/function-call');\nvar newPromiseCapabilityModule = require('../internals/new-promise-capability');\nvar perform = require('../internals/perform');\nvar iterate = require('../internals/iterate');\n\nvar PROMISE_ANY_ERROR = 'No one promise resolved';\n\n// `Promise.any` method\n// https://tc39.es/ecma262/#sec-promise.any\n$({ target: 'Promise', stat: true }, {\n any: function any(iterable) {\n var C = this;\n var AggregateError = getBuiltIn('AggregateError');\n var capability = newPromiseCapabilityModule.f(C);\n var resolve = capability.resolve;\n var reject = capability.reject;\n var result = perform(function () {\n var promiseResolve = aCallable(C.resolve);\n var errors = [];\n var counter = 0;\n var remaining = 1;\n var alreadyResolved = false;\n iterate(iterable, function (promise) {\n var index = counter++;\n var alreadyRejected = false;\n remaining++;\n call(promiseResolve, C, promise).then(function (value) {\n if (alreadyRejected || alreadyResolved) return;\n alreadyResolved = true;\n resolve(value);\n }, function (error) {\n if (alreadyRejected || alreadyResolved) return;\n alreadyRejected = true;\n errors[index] = error;\n --remaining || reject(new AggregateError(errors, PROMISE_ANY_ERROR));\n });\n });\n --remaining || reject(new AggregateError(errors, PROMISE_ANY_ERROR));\n });\n if (result.error) reject(result.value);\n return capability.promise;\n }\n});\n","var anObject = require('../internals/an-object');\nvar isObject = require('../internals/is-object');\nvar newPromiseCapability = require('../internals/new-promise-capability');\n\nmodule.exports = function (C, x) {\n anObject(C);\n if (isObject(x) && x.constructor === C) return x;\n var promiseCapability = newPromiseCapability.f(C);\n var resolve = promiseCapability.resolve;\n resolve(x);\n return promiseCapability.promise;\n};\n","'use strict';\nvar $ = require('../internals/export');\nvar IS_PURE = require('../internals/is-pure');\nvar NativePromise = require('../internals/native-promise-constructor');\nvar fails = require('../internals/fails');\nvar getBuiltIn = require('../internals/get-built-in');\nvar isCallable = require('../internals/is-callable');\nvar speciesConstructor = require('../internals/species-constructor');\nvar promiseResolve = require('../internals/promise-resolve');\nvar redefine = require('../internals/redefine');\n\n// Safari bug https://bugs.webkit.org/show_bug.cgi?id=200829\nvar NON_GENERIC = !!NativePromise && fails(function () {\n NativePromise.prototype['finally'].call({ then: function () { /* empty */ } }, function () { /* empty */ });\n});\n\n// `Promise.prototype.finally` method\n// https://tc39.es/ecma262/#sec-promise.prototype.finally\n$({ target: 'Promise', proto: true, real: true, forced: NON_GENERIC }, {\n 'finally': function (onFinally) {\n var C = speciesConstructor(this, getBuiltIn('Promise'));\n var isFunction = isCallable(onFinally);\n return this.then(\n isFunction ? function (x) {\n return promiseResolve(C, onFinally()).then(function () { return x; });\n } : onFinally,\n isFunction ? function (e) {\n return promiseResolve(C, onFinally()).then(function () { throw e; });\n } : onFinally\n );\n }\n});\n\n// makes sure that native promise-based APIs `Promise#finally` properly works with patched `Promise#then`\nif (!IS_PURE && isCallable(NativePromise)) {\n var method = getBuiltIn('Promise').prototype['finally'];\n if (NativePromise.prototype['finally'] !== method) {\n redefine(NativePromise.prototype, 'finally', method, { unsafe: true });\n }\n}\n","'use strict';\nvar fails = require('../internals/fails');\nvar isCallable = require('../internals/is-callable');\nvar create = require('../internals/object-create');\nvar getPrototypeOf = require('../internals/object-get-prototype-of');\nvar redefine = require('../internals/redefine');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\nvar IS_PURE = require('../internals/is-pure');\n\nvar ITERATOR = wellKnownSymbol('iterator');\nvar BUGGY_SAFARI_ITERATORS = false;\n\n// `%IteratorPrototype%` object\n// https://tc39.es/ecma262/#sec-%iteratorprototype%-object\nvar IteratorPrototype, PrototypeOfArrayIteratorPrototype, arrayIterator;\n\n/* eslint-disable es/no-array-prototype-keys -- safe */\nif ([].keys) {\n arrayIterator = [].keys();\n // Safari 8 has buggy iterators w/o `next`\n if (!('next' in arrayIterator)) BUGGY_SAFARI_ITERATORS = true;\n else {\n PrototypeOfArrayIteratorPrototype = getPrototypeOf(getPrototypeOf(arrayIterator));\n if (PrototypeOfArrayIteratorPrototype !== Object.prototype) IteratorPrototype = PrototypeOfArrayIteratorPrototype;\n }\n}\n\nvar NEW_ITERATOR_PROTOTYPE = IteratorPrototype == undefined || fails(function () {\n var test = {};\n // FF44- legacy iterators case\n return IteratorPrototype[ITERATOR].call(test) !== test;\n});\n\nif (NEW_ITERATOR_PROTOTYPE) IteratorPrototype = {};\nelse if (IS_PURE) IteratorPrototype = create(IteratorPrototype);\n\n// `%IteratorPrototype%[@@iterator]()` method\n// https://tc39.es/ecma262/#sec-%iteratorprototype%-@@iterator\nif (!isCallable(IteratorPrototype[ITERATOR])) {\n redefine(IteratorPrototype, ITERATOR, function () {\n return this;\n });\n}\n\nmodule.exports = {\n IteratorPrototype: IteratorPrototype,\n BUGGY_SAFARI_ITERATORS: BUGGY_SAFARI_ITERATORS\n};\n","'use strict';\nvar IteratorPrototype = require('../internals/iterators-core').IteratorPrototype;\nvar create = require('../internals/object-create');\nvar createPropertyDescriptor = require('../internals/create-property-descriptor');\nvar setToStringTag = require('../internals/set-to-string-tag');\nvar Iterators = require('../internals/iterators');\n\nvar returnThis = function () { return this; };\n\nmodule.exports = function (IteratorConstructor, NAME, next) {\n var TO_STRING_TAG = NAME + ' Iterator';\n IteratorConstructor.prototype = create(IteratorPrototype, { next: createPropertyDescriptor(1, next) });\n setToStringTag(IteratorConstructor, TO_STRING_TAG, false, true);\n Iterators[TO_STRING_TAG] = returnThis;\n return IteratorConstructor;\n};\n","var isObject = require('../internals/is-object');\nvar classof = require('../internals/classof-raw');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar MATCH = wellKnownSymbol('match');\n\n// `IsRegExp` abstract operation\n// https://tc39.es/ecma262/#sec-isregexp\nmodule.exports = function (it) {\n var isRegExp;\n return isObject(it) && ((isRegExp = it[MATCH]) !== undefined ? !!isRegExp : classof(it) == 'RegExp');\n};\n","'use strict';\nvar anObject = require('../internals/an-object');\n\n// `RegExp.prototype.flags` getter implementation\n// https://tc39.es/ecma262/#sec-get-regexp.prototype.flags\nmodule.exports = function () {\n var that = anObject(this);\n var result = '';\n if (that.global) result += 'g';\n if (that.ignoreCase) result += 'i';\n if (that.multiline) result += 'm';\n if (that.dotAll) result += 's';\n if (that.unicode) result += 'u';\n if (that.sticky) result += 'y';\n return result;\n};\n","var uncurryThis = require('../internals/function-uncurry-this');\nvar toIntegerOrInfinity = require('../internals/to-integer-or-infinity');\nvar toString = require('../internals/to-string');\nvar requireObjectCoercible = require('../internals/require-object-coercible');\n\nvar charAt = uncurryThis(''.charAt);\nvar charCodeAt = uncurryThis(''.charCodeAt);\nvar stringSlice = uncurryThis(''.slice);\n\nvar createMethod = function (CONVERT_TO_STRING) {\n return function ($this, pos) {\n var S = toString(requireObjectCoercible($this));\n var position = toIntegerOrInfinity(pos);\n var size = S.length;\n var first, second;\n if (position < 0 || position >= size) return CONVERT_TO_STRING ? '' : undefined;\n first = charCodeAt(S, position);\n return first < 0xD800 || first > 0xDBFF || position + 1 === size\n || (second = charCodeAt(S, position + 1)) < 0xDC00 || second > 0xDFFF\n ? CONVERT_TO_STRING\n ? charAt(S, position)\n : first\n : CONVERT_TO_STRING\n ? stringSlice(S, position, position + 2)\n : (first - 0xD800 << 10) + (second - 0xDC00) + 0x10000;\n };\n};\n\nmodule.exports = {\n // `String.prototype.codePointAt` method\n // https://tc39.es/ecma262/#sec-string.prototype.codepointat\n codeAt: createMethod(false),\n // `String.prototype.at` method\n // https://github.com/mathiasbynens/String.prototype.at\n charAt: createMethod(true)\n};\n","'use strict';\nvar charAt = require('../internals/string-multibyte').charAt;\n\n// `AdvanceStringIndex` abstract operation\n// https://tc39.es/ecma262/#sec-advancestringindex\nmodule.exports = function (S, index, unicode) {\n return index + (unicode ? charAt(S, index).length : 1);\n};\n","var fails = require('../internals/fails');\nvar global = require('../internals/global');\n\n// babel-minify and Closure Compiler transpiles RegExp('a', 'y') -> /a/y and it causes SyntaxError\nvar $RegExp = global.RegExp;\n\nvar UNSUPPORTED_Y = fails(function () {\n var re = $RegExp('a', 'y');\n re.lastIndex = 2;\n return re.exec('abcd') != null;\n});\n\n// UC Browser bug\n// https://github.com/zloirock/core-js/issues/1008\nvar MISSED_STICKY = UNSUPPORTED_Y || fails(function () {\n return !$RegExp('a', 'y').sticky;\n});\n\nvar BROKEN_CARET = UNSUPPORTED_Y || fails(function () {\n // https://bugzilla.mozilla.org/show_bug.cgi?id=773687\n var re = $RegExp('^r', 'gy');\n re.lastIndex = 2;\n return re.exec('str') != null;\n});\n\nmodule.exports = {\n BROKEN_CARET: BROKEN_CARET,\n MISSED_STICKY: MISSED_STICKY,\n UNSUPPORTED_Y: UNSUPPORTED_Y\n};\n","var fails = require('../internals/fails');\nvar global = require('../internals/global');\n\n// babel-minify and Closure Compiler transpiles RegExp('.', 's') -> /./s and it causes SyntaxError\nvar $RegExp = global.RegExp;\n\nmodule.exports = fails(function () {\n var re = $RegExp('.', 's');\n return !(re.dotAll && re.exec('\\n') && re.flags === 's');\n});\n","var fails = require('../internals/fails');\nvar global = require('../internals/global');\n\n// babel-minify and Closure Compiler transpiles RegExp('(?<a>b)', 'g') -> /(?<a>b)/g and it causes SyntaxError\nvar $RegExp = global.RegExp;\n\nmodule.exports = fails(function () {\n var re = $RegExp('(?<a>b)', 'g');\n return re.exec('b').groups.a !== 'b' ||\n 'b'.replace(re, '$<a>c') !== 'bc';\n});\n","'use strict';\n/* eslint-disable regexp/no-empty-capturing-group, regexp/no-empty-group, regexp/no-lazy-ends -- testing */\n/* eslint-disable regexp/no-useless-quantifier -- testing */\nvar call = require('../internals/function-call');\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar toString = require('../internals/to-string');\nvar regexpFlags = require('../internals/regexp-flags');\nvar stickyHelpers = require('../internals/regexp-sticky-helpers');\nvar shared = require('../internals/shared');\nvar create = require('../internals/object-create');\nvar getInternalState = require('../internals/internal-state').get;\nvar UNSUPPORTED_DOT_ALL = require('../internals/regexp-unsupported-dot-all');\nvar UNSUPPORTED_NCG = require('../internals/regexp-unsupported-ncg');\n\nvar nativeReplace = shared('native-string-replace', String.prototype.replace);\nvar nativeExec = RegExp.prototype.exec;\nvar patchedExec = nativeExec;\nvar charAt = uncurryThis(''.charAt);\nvar indexOf = uncurryThis(''.indexOf);\nvar replace = uncurryThis(''.replace);\nvar stringSlice = uncurryThis(''.slice);\n\nvar UPDATES_LAST_INDEX_WRONG = (function () {\n var re1 = /a/;\n var re2 = /b*/g;\n call(nativeExec, re1, 'a');\n call(nativeExec, re2, 'a');\n return re1.lastIndex !== 0 || re2.lastIndex !== 0;\n})();\n\nvar UNSUPPORTED_Y = stickyHelpers.BROKEN_CARET;\n\n// nonparticipating capturing group, copied from es5-shim's String#split patch.\nvar NPCG_INCLUDED = /()??/.exec('')[1] !== undefined;\n\nvar PATCH = UPDATES_LAST_INDEX_WRONG || NPCG_INCLUDED || UNSUPPORTED_Y || UNSUPPORTED_DOT_ALL || UNSUPPORTED_NCG;\n\nif (PATCH) {\n patchedExec = function exec(string) {\n var re = this;\n var state = getInternalState(re);\n var str = toString(string);\n var raw = state.raw;\n var result, reCopy, lastIndex, match, i, object, group;\n\n if (raw) {\n raw.lastIndex = re.lastIndex;\n result = call(patchedExec, raw, str);\n re.lastIndex = raw.lastIndex;\n return result;\n }\n\n var groups = state.groups;\n var sticky = UNSUPPORTED_Y && re.sticky;\n var flags = call(regexpFlags, re);\n var source = re.source;\n var charsAdded = 0;\n var strCopy = str;\n\n if (sticky) {\n flags = replace(flags, 'y', '');\n if (indexOf(flags, 'g') === -1) {\n flags += 'g';\n }\n\n strCopy = stringSlice(str, re.lastIndex);\n // Support anchored sticky behavior.\n if (re.lastIndex > 0 && (!re.multiline || re.multiline && charAt(str, re.lastIndex - 1) !== '\\n')) {\n source = '(?: ' + source + ')';\n strCopy = ' ' + strCopy;\n charsAdded++;\n }\n // ^(? + rx + ) is needed, in combination with some str slicing, to\n // simulate the 'y' flag.\n reCopy = new RegExp('^(?:' + source + ')', flags);\n }\n\n if (NPCG_INCLUDED) {\n reCopy = new RegExp('^' + source + '$(?!\\\\s)', flags);\n }\n if (UPDATES_LAST_INDEX_WRONG) lastIndex = re.lastIndex;\n\n match = call(nativeExec, sticky ? reCopy : re, strCopy);\n\n if (sticky) {\n if (match) {\n match.input = stringSlice(match.input, charsAdded);\n match[0] = stringSlice(match[0], charsAdded);\n match.index = re.lastIndex;\n re.lastIndex += match[0].length;\n } else re.lastIndex = 0;\n } else if (UPDATES_LAST_INDEX_WRONG && match) {\n re.lastIndex = re.global ? match.index + match[0].length : lastIndex;\n }\n if (NPCG_INCLUDED && match && match.length > 1) {\n // Fix browsers whose `exec` methods don't consistently return `undefined`\n // for NPCG, like IE8. NOTE: This doesn' work for /(.?)?/\n call(nativeReplace, match[0], reCopy, function () {\n for (i = 1; i < arguments.length - 2; i++) {\n if (arguments[i] === undefined) match[i] = undefined;\n }\n });\n }\n\n if (match && groups) {\n match.groups = object = create(null);\n for (i = 0; i < groups.length; i++) {\n group = groups[i];\n object[group[0]] = match[group[1]];\n }\n }\n\n return match;\n };\n}\n\nmodule.exports = patchedExec;\n","var global = require('../internals/global');\nvar call = require('../internals/function-call');\nvar anObject = require('../internals/an-object');\nvar isCallable = require('../internals/is-callable');\nvar classof = require('../internals/classof-raw');\nvar regexpExec = require('../internals/regexp-exec');\n\nvar TypeError = global.TypeError;\n\n// `RegExpExec` abstract operation\n// https://tc39.es/ecma262/#sec-regexpexec\nmodule.exports = function (R, S) {\n var exec = R.exec;\n if (isCallable(exec)) {\n var result = call(exec, R, S);\n if (result !== null) anObject(result);\n return result;\n }\n if (classof(R) === 'RegExp') return call(regexpExec, R, S);\n throw TypeError('RegExp#exec called on incompatible receiver');\n};\n","'use strict';\n/* eslint-disable es/no-string-prototype-matchall -- safe */\nvar $ = require('../internals/export');\nvar global = require('../internals/global');\nvar call = require('../internals/function-call');\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar createIteratorConstructor = require('../internals/create-iterator-constructor');\nvar requireObjectCoercible = require('../internals/require-object-coercible');\nvar toLength = require('../internals/to-length');\nvar toString = require('../internals/to-string');\nvar anObject = require('../internals/an-object');\nvar classof = require('../internals/classof-raw');\nvar isPrototypeOf = require('../internals/object-is-prototype-of');\nvar isRegExp = require('../internals/is-regexp');\nvar regExpFlags = require('../internals/regexp-flags');\nvar getMethod = require('../internals/get-method');\nvar redefine = require('../internals/redefine');\nvar fails = require('../internals/fails');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\nvar speciesConstructor = require('../internals/species-constructor');\nvar advanceStringIndex = require('../internals/advance-string-index');\nvar regExpExec = require('../internals/regexp-exec-abstract');\nvar InternalStateModule = require('../internals/internal-state');\nvar IS_PURE = require('../internals/is-pure');\n\nvar MATCH_ALL = wellKnownSymbol('matchAll');\nvar REGEXP_STRING = 'RegExp String';\nvar REGEXP_STRING_ITERATOR = REGEXP_STRING + ' Iterator';\nvar setInternalState = InternalStateModule.set;\nvar getInternalState = InternalStateModule.getterFor(REGEXP_STRING_ITERATOR);\nvar RegExpPrototype = RegExp.prototype;\nvar TypeError = global.TypeError;\nvar getFlags = uncurryThis(regExpFlags);\nvar stringIndexOf = uncurryThis(''.indexOf);\nvar un$MatchAll = uncurryThis(''.matchAll);\n\nvar WORKS_WITH_NON_GLOBAL_REGEX = !!un$MatchAll && !fails(function () {\n un$MatchAll('a', /./);\n});\n\nvar $RegExpStringIterator = createIteratorConstructor(function RegExpStringIterator(regexp, string, $global, fullUnicode) {\n setInternalState(this, {\n type: REGEXP_STRING_ITERATOR,\n regexp: regexp,\n string: string,\n global: $global,\n unicode: fullUnicode,\n done: false\n });\n}, REGEXP_STRING, function next() {\n var state = getInternalState(this);\n if (state.done) return { value: undefined, done: true };\n var R = state.regexp;\n var S = state.string;\n var match = regExpExec(R, S);\n if (match === null) return { value: undefined, done: state.done = true };\n if (state.global) {\n if (toString(match[0]) === '') R.lastIndex = advanceStringIndex(S, toLength(R.lastIndex), state.unicode);\n return { value: match, done: false };\n }\n state.done = true;\n return { value: match, done: false };\n});\n\nvar $matchAll = function (string) {\n var R = anObject(this);\n var S = toString(string);\n var C, flagsValue, flags, matcher, $global, fullUnicode;\n C = speciesConstructor(R, RegExp);\n flagsValue = R.flags;\n if (flagsValue === undefined && isPrototypeOf(RegExpPrototype, R) && !('flags' in RegExpPrototype)) {\n flagsValue = getFlags(R);\n }\n flags = flagsValue === undefined ? '' : toString(flagsValue);\n matcher = new C(C === RegExp ? R.source : R, flags);\n $global = !!~stringIndexOf(flags, 'g');\n fullUnicode = !!~stringIndexOf(flags, 'u');\n matcher.lastIndex = toLength(R.lastIndex);\n return new $RegExpStringIterator(matcher, S, $global, fullUnicode);\n};\n\n// `String.prototype.matchAll` method\n// https://tc39.es/ecma262/#sec-string.prototype.matchall\n$({ target: 'String', proto: true, forced: WORKS_WITH_NON_GLOBAL_REGEX }, {\n matchAll: function matchAll(regexp) {\n var O = requireObjectCoercible(this);\n var flags, S, matcher, rx;\n if (regexp != null) {\n if (isRegExp(regexp)) {\n flags = toString(requireObjectCoercible('flags' in RegExpPrototype\n ? regexp.flags\n : getFlags(regexp)\n ));\n if (!~stringIndexOf(flags, 'g')) throw TypeError('`.matchAll` does not allow non-global regexes');\n }\n if (WORKS_WITH_NON_GLOBAL_REGEX) return un$MatchAll(O, regexp);\n matcher = getMethod(regexp, MATCH_ALL);\n if (matcher === undefined && IS_PURE && classof(regexp) == 'RegExp') matcher = $matchAll;\n if (matcher) return call(matcher, regexp, O);\n } else if (WORKS_WITH_NON_GLOBAL_REGEX) return un$MatchAll(O, regexp);\n S = toString(O);\n rx = new RegExp(regexp, 'g');\n return IS_PURE ? call($matchAll, rx, S) : rx[MATCH_ALL](S);\n }\n});\n\nIS_PURE || MATCH_ALL in RegExpPrototype || redefine(RegExpPrototype, MATCH_ALL, $matchAll);\n","var wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar ITERATOR = wellKnownSymbol('iterator');\nvar SAFE_CLOSING = false;\n\ntry {\n var called = 0;\n var iteratorWithReturn = {\n next: function () {\n return { done: !!called++ };\n },\n 'return': function () {\n SAFE_CLOSING = true;\n }\n };\n iteratorWithReturn[ITERATOR] = function () {\n return this;\n };\n // eslint-disable-next-line es/no-array-from, no-throw-literal -- required for testing\n Array.from(iteratorWithReturn, function () { throw 2; });\n} catch (error) { /* empty */ }\n\nmodule.exports = function (exec, SKIP_CLOSING) {\n if (!SKIP_CLOSING && !SAFE_CLOSING) return false;\n var ITERATION_SUPPORT = false;\n try {\n var object = {};\n object[ITERATOR] = function () {\n return {\n next: function () {\n return { done: ITERATION_SUPPORT = true };\n }\n };\n };\n exec(object);\n } catch (error) { /* empty */ }\n return ITERATION_SUPPORT;\n};\n","'use strict';\nvar NATIVE_ARRAY_BUFFER = require('../internals/array-buffer-native');\nvar DESCRIPTORS = require('../internals/descriptors');\nvar global = require('../internals/global');\nvar isCallable = require('../internals/is-callable');\nvar isObject = require('../internals/is-object');\nvar hasOwn = require('../internals/has-own-property');\nvar classof = require('../internals/classof');\nvar tryToString = require('../internals/try-to-string');\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\nvar redefine = require('../internals/redefine');\nvar defineProperty = require('../internals/object-define-property').f;\nvar isPrototypeOf = require('../internals/object-is-prototype-of');\nvar getPrototypeOf = require('../internals/object-get-prototype-of');\nvar setPrototypeOf = require('../internals/object-set-prototype-of');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\nvar uid = require('../internals/uid');\n\nvar Int8Array = global.Int8Array;\nvar Int8ArrayPrototype = Int8Array && Int8Array.prototype;\nvar Uint8ClampedArray = global.Uint8ClampedArray;\nvar Uint8ClampedArrayPrototype = Uint8ClampedArray && Uint8ClampedArray.prototype;\nvar TypedArray = Int8Array && getPrototypeOf(Int8Array);\nvar TypedArrayPrototype = Int8ArrayPrototype && getPrototypeOf(Int8ArrayPrototype);\nvar ObjectPrototype = Object.prototype;\nvar TypeError = global.TypeError;\n\nvar TO_STRING_TAG = wellKnownSymbol('toStringTag');\nvar TYPED_ARRAY_TAG = uid('TYPED_ARRAY_TAG');\nvar TYPED_ARRAY_CONSTRUCTOR = uid('TYPED_ARRAY_CONSTRUCTOR');\n// Fixing native typed arrays in Opera Presto crashes the browser, see #595\nvar NATIVE_ARRAY_BUFFER_VIEWS = NATIVE_ARRAY_BUFFER && !!setPrototypeOf && classof(global.opera) !== 'Opera';\nvar TYPED_ARRAY_TAG_REQIRED = false;\nvar NAME, Constructor, Prototype;\n\nvar TypedArrayConstructorsList = {\n Int8Array: 1,\n Uint8Array: 1,\n Uint8ClampedArray: 1,\n Int16Array: 2,\n Uint16Array: 2,\n Int32Array: 4,\n Uint32Array: 4,\n Float32Array: 4,\n Float64Array: 8\n};\n\nvar BigIntArrayConstructorsList = {\n BigInt64Array: 8,\n BigUint64Array: 8\n};\n\nvar isView = function isView(it) {\n if (!isObject(it)) return false;\n var klass = classof(it);\n return klass === 'DataView'\n || hasOwn(TypedArrayConstructorsList, klass)\n || hasOwn(BigIntArrayConstructorsList, klass);\n};\n\nvar isTypedArray = function (it) {\n if (!isObject(it)) return false;\n var klass = classof(it);\n return hasOwn(TypedArrayConstructorsList, klass)\n || hasOwn(BigIntArrayConstructorsList, klass);\n};\n\nvar aTypedArray = function (it) {\n if (isTypedArray(it)) return it;\n throw TypeError('Target is not a typed array');\n};\n\nvar aTypedArrayConstructor = function (C) {\n if (isCallable(C) && (!setPrototypeOf || isPrototypeOf(TypedArray, C))) return C;\n throw TypeError(tryToString(C) + ' is not a typed array constructor');\n};\n\nvar exportTypedArrayMethod = function (KEY, property, forced) {\n if (!DESCRIPTORS) return;\n if (forced) for (var ARRAY in TypedArrayConstructorsList) {\n var TypedArrayConstructor = global[ARRAY];\n if (TypedArrayConstructor && hasOwn(TypedArrayConstructor.prototype, KEY)) try {\n delete TypedArrayConstructor.prototype[KEY];\n } catch (error) { /* empty */ }\n }\n if (!TypedArrayPrototype[KEY] || forced) {\n redefine(TypedArrayPrototype, KEY, forced ? property\n : NATIVE_ARRAY_BUFFER_VIEWS && Int8ArrayPrototype[KEY] || property);\n }\n};\n\nvar exportTypedArrayStaticMethod = function (KEY, property, forced) {\n var ARRAY, TypedArrayConstructor;\n if (!DESCRIPTORS) return;\n if (setPrototypeOf) {\n if (forced) for (ARRAY in TypedArrayConstructorsList) {\n TypedArrayConstructor = global[ARRAY];\n if (TypedArrayConstructor && hasOwn(TypedArrayConstructor, KEY)) try {\n delete TypedArrayConstructor[KEY];\n } catch (error) { /* empty */ }\n }\n if (!TypedArray[KEY] || forced) {\n // V8 ~ Chrome 49-50 `%TypedArray%` methods are non-writable non-configurable\n try {\n return redefine(TypedArray, KEY, forced ? property : NATIVE_ARRAY_BUFFER_VIEWS && TypedArray[KEY] || property);\n } catch (error) { /* empty */ }\n } else return;\n }\n for (ARRAY in TypedArrayConstructorsList) {\n TypedArrayConstructor = global[ARRAY];\n if (TypedArrayConstructor && (!TypedArrayConstructor[KEY] || forced)) {\n redefine(TypedArrayConstructor, KEY, property);\n }\n }\n};\n\nfor (NAME in TypedArrayConstructorsList) {\n Constructor = global[NAME];\n Prototype = Constructor && Constructor.prototype;\n if (Prototype) createNonEnumerableProperty(Prototype, TYPED_ARRAY_CONSTRUCTOR, Constructor);\n else NATIVE_ARRAY_BUFFER_VIEWS = false;\n}\n\nfor (NAME in BigIntArrayConstructorsList) {\n Constructor = global[NAME];\n Prototype = Constructor && Constructor.prototype;\n if (Prototype) createNonEnumerableProperty(Prototype, TYPED_ARRAY_CONSTRUCTOR, Constructor);\n}\n\n// WebKit bug - typed arrays constructors prototype is Object.prototype\nif (!NATIVE_ARRAY_BUFFER_VIEWS || !isCallable(TypedArray) || TypedArray === Function.prototype) {\n // eslint-disable-next-line no-shadow -- safe\n TypedArray = function TypedArray() {\n throw TypeError('Incorrect invocation');\n };\n if (NATIVE_ARRAY_BUFFER_VIEWS) for (NAME in TypedArrayConstructorsList) {\n if (global[NAME]) setPrototypeOf(global[NAME], TypedArray);\n }\n}\n\nif (!NATIVE_ARRAY_BUFFER_VIEWS || !TypedArrayPrototype || TypedArrayPrototype === ObjectPrototype) {\n TypedArrayPrototype = TypedArray.prototype;\n if (NATIVE_ARRAY_BUFFER_VIEWS) for (NAME in TypedArrayConstructorsList) {\n if (global[NAME]) setPrototypeOf(global[NAME].prototype, TypedArrayPrototype);\n }\n}\n\n// WebKit bug - one more object in Uint8ClampedArray prototype chain\nif (NATIVE_ARRAY_BUFFER_VIEWS && getPrototypeOf(Uint8ClampedArrayPrototype) !== TypedArrayPrototype) {\n setPrototypeOf(Uint8ClampedArrayPrototype, TypedArrayPrototype);\n}\n\nif (DESCRIPTORS && !hasOwn(TypedArrayPrototype, TO_STRING_TAG)) {\n TYPED_ARRAY_TAG_REQIRED = true;\n defineProperty(TypedArrayPrototype, TO_STRING_TAG, { get: function () {\n return isObject(this) ? this[TYPED_ARRAY_TAG] : undefined;\n } });\n for (NAME in TypedArrayConstructorsList) if (global[NAME]) {\n createNonEnumerableProperty(global[NAME], TYPED_ARRAY_TAG, NAME);\n }\n}\n\nmodule.exports = {\n NATIVE_ARRAY_BUFFER_VIEWS: NATIVE_ARRAY_BUFFER_VIEWS,\n TYPED_ARRAY_CONSTRUCTOR: TYPED_ARRAY_CONSTRUCTOR,\n TYPED_ARRAY_TAG: TYPED_ARRAY_TAG_REQIRED && TYPED_ARRAY_TAG,\n aTypedArray: aTypedArray,\n aTypedArrayConstructor: aTypedArrayConstructor,\n exportTypedArrayMethod: exportTypedArrayMethod,\n exportTypedArrayStaticMethod: exportTypedArrayStaticMethod,\n isView: isView,\n isTypedArray: isTypedArray,\n TypedArray: TypedArray,\n TypedArrayPrototype: TypedArrayPrototype\n};\n","/* eslint-disable no-new -- required for testing */\nvar global = require('../internals/global');\nvar fails = require('../internals/fails');\nvar checkCorrectnessOfIteration = require('../internals/check-correctness-of-iteration');\nvar NATIVE_ARRAY_BUFFER_VIEWS = require('../internals/array-buffer-view-core').NATIVE_ARRAY_BUFFER_VIEWS;\n\nvar ArrayBuffer = global.ArrayBuffer;\nvar Int8Array = global.Int8Array;\n\nmodule.exports = !NATIVE_ARRAY_BUFFER_VIEWS || !fails(function () {\n Int8Array(1);\n}) || !fails(function () {\n new Int8Array(-1);\n}) || !checkCorrectnessOfIteration(function (iterable) {\n new Int8Array();\n new Int8Array(null);\n new Int8Array(1.5);\n new Int8Array(iterable);\n}, true) || fails(function () {\n // Safari (11+) bug - a reason why even Safari 13 should load a typed array polyfill\n return new Int8Array(new ArrayBuffer(2), 1, undefined).length !== 1;\n});\n","var isObject = require('../internals/is-object');\n\nvar floor = Math.floor;\n\n// `IsIntegralNumber` abstract operation\n// https://tc39.es/ecma262/#sec-isintegralnumber\n// eslint-disable-next-line es/no-number-isinteger -- safe\nmodule.exports = Number.isInteger || function isInteger(it) {\n return !isObject(it) && isFinite(it) && floor(it) === it;\n};\n","var global = require('../internals/global');\nvar toIntegerOrInfinity = require('../internals/to-integer-or-infinity');\n\nvar RangeError = global.RangeError;\n\nmodule.exports = function (it) {\n var result = toIntegerOrInfinity(it);\n if (result < 0) throw RangeError(\"The argument can't be less than 0\");\n return result;\n};\n","var global = require('../internals/global');\nvar toPositiveInteger = require('../internals/to-positive-integer');\n\nvar RangeError = global.RangeError;\n\nmodule.exports = function (it, BYTES) {\n var offset = toPositiveInteger(it);\n if (offset % BYTES) throw RangeError('Wrong offset');\n return offset;\n};\n","var bind = require('../internals/function-bind-context');\nvar call = require('../internals/function-call');\nvar aConstructor = require('../internals/a-constructor');\nvar toObject = require('../internals/to-object');\nvar lengthOfArrayLike = require('../internals/length-of-array-like');\nvar getIterator = require('../internals/get-iterator');\nvar getIteratorMethod = require('../internals/get-iterator-method');\nvar isArrayIteratorMethod = require('../internals/is-array-iterator-method');\nvar aTypedArrayConstructor = require('../internals/array-buffer-view-core').aTypedArrayConstructor;\n\nmodule.exports = function from(source /* , mapfn, thisArg */) {\n var C = aConstructor(this);\n var O = toObject(source);\n var argumentsLength = arguments.length;\n var mapfn = argumentsLength > 1 ? arguments[1] : undefined;\n var mapping = mapfn !== undefined;\n var iteratorMethod = getIteratorMethod(O);\n var i, length, result, step, iterator, next;\n if (iteratorMethod && !isArrayIteratorMethod(iteratorMethod)) {\n iterator = getIterator(O, iteratorMethod);\n next = iterator.next;\n O = [];\n while (!(step = call(next, iterator)).done) {\n O.push(step.value);\n }\n }\n if (mapping && argumentsLength > 2) {\n mapfn = bind(mapfn, arguments[2]);\n }\n length = lengthOfArrayLike(O);\n result = new (aTypedArrayConstructor(C))(length);\n for (i = 0; length > i; i++) {\n result[i] = mapping ? mapfn(O[i], i) : O[i];\n }\n return result;\n};\n","var global = require('../internals/global');\nvar isArray = require('../internals/is-array');\nvar isConstructor = require('../internals/is-constructor');\nvar isObject = require('../internals/is-object');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar SPECIES = wellKnownSymbol('species');\nvar Array = global.Array;\n\n// a part of `ArraySpeciesCreate` abstract operation\n// https://tc39.es/ecma262/#sec-arrayspeciescreate\nmodule.exports = function (originalArray) {\n var C;\n if (isArray(originalArray)) {\n C = originalArray.constructor;\n // cross-realm fallback\n if (isConstructor(C) && (C === Array || isArray(C.prototype))) C = undefined;\n else if (isObject(C)) {\n C = C[SPECIES];\n if (C === null) C = undefined;\n }\n } return C === undefined ? Array : C;\n};\n","var arraySpeciesConstructor = require('../internals/array-species-constructor');\n\n// `ArraySpeciesCreate` abstract operation\n// https://tc39.es/ecma262/#sec-arrayspeciescreate\nmodule.exports = function (originalArray, length) {\n return new (arraySpeciesConstructor(originalArray))(length === 0 ? 0 : length);\n};\n","var bind = require('../internals/function-bind-context');\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar IndexedObject = require('../internals/indexed-object');\nvar toObject = require('../internals/to-object');\nvar lengthOfArrayLike = require('../internals/length-of-array-like');\nvar arraySpeciesCreate = require('../internals/array-species-create');\n\nvar push = uncurryThis([].push);\n\n// `Array.prototype.{ forEach, map, filter, some, every, find, findIndex, filterReject }` methods implementation\nvar createMethod = function (TYPE) {\n var IS_MAP = TYPE == 1;\n var IS_FILTER = TYPE == 2;\n var IS_SOME = TYPE == 3;\n var IS_EVERY = TYPE == 4;\n var IS_FIND_INDEX = TYPE == 6;\n var IS_FILTER_REJECT = TYPE == 7;\n var NO_HOLES = TYPE == 5 || IS_FIND_INDEX;\n return function ($this, callbackfn, that, specificCreate) {\n var O = toObject($this);\n var self = IndexedObject(O);\n var boundFunction = bind(callbackfn, that);\n var length = lengthOfArrayLike(self);\n var index = 0;\n var create = specificCreate || arraySpeciesCreate;\n var target = IS_MAP ? create($this, length) : IS_FILTER || IS_FILTER_REJECT ? create($this, 0) : undefined;\n var value, result;\n for (;length > index; index++) if (NO_HOLES || index in self) {\n value = self[index];\n result = boundFunction(value, index, O);\n if (TYPE) {\n if (IS_MAP) target[index] = result; // map\n else if (result) switch (TYPE) {\n case 3: return true; // some\n case 5: return value; // find\n case 6: return index; // findIndex\n case 2: push(target, value); // filter\n } else switch (TYPE) {\n case 4: return false; // every\n case 7: push(target, value); // filterReject\n }\n }\n }\n return IS_FIND_INDEX ? -1 : IS_SOME || IS_EVERY ? IS_EVERY : target;\n };\n};\n\nmodule.exports = {\n // `Array.prototype.forEach` method\n // https://tc39.es/ecma262/#sec-array.prototype.foreach\n forEach: createMethod(0),\n // `Array.prototype.map` method\n // https://tc39.es/ecma262/#sec-array.prototype.map\n map: createMethod(1),\n // `Array.prototype.filter` method\n // https://tc39.es/ecma262/#sec-array.prototype.filter\n filter: createMethod(2),\n // `Array.prototype.some` method\n // https://tc39.es/ecma262/#sec-array.prototype.some\n some: createMethod(3),\n // `Array.prototype.every` method\n // https://tc39.es/ecma262/#sec-array.prototype.every\n every: createMethod(4),\n // `Array.prototype.find` method\n // https://tc39.es/ecma262/#sec-array.prototype.find\n find: createMethod(5),\n // `Array.prototype.findIndex` method\n // https://tc39.es/ecma262/#sec-array.prototype.findIndex\n findIndex: createMethod(6),\n // `Array.prototype.filterReject` method\n // https://github.com/tc39/proposal-array-filtering\n filterReject: createMethod(7)\n};\n","'use strict';\nvar getBuiltIn = require('../internals/get-built-in');\nvar definePropertyModule = require('../internals/object-define-property');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\nvar DESCRIPTORS = require('../internals/descriptors');\n\nvar SPECIES = wellKnownSymbol('species');\n\nmodule.exports = function (CONSTRUCTOR_NAME) {\n var Constructor = getBuiltIn(CONSTRUCTOR_NAME);\n var defineProperty = definePropertyModule.f;\n\n if (DESCRIPTORS && Constructor && !Constructor[SPECIES]) {\n defineProperty(Constructor, SPECIES, {\n configurable: true,\n get: function () { return this; }\n });\n }\n};\n","var isCallable = require('../internals/is-callable');\nvar isObject = require('../internals/is-object');\nvar setPrototypeOf = require('../internals/object-set-prototype-of');\n\n// makes subclassing work correct for wrapped built-ins\nmodule.exports = function ($this, dummy, Wrapper) {\n var NewTarget, NewTargetPrototype;\n if (\n // it can work only with native `setPrototypeOf`\n setPrototypeOf &&\n // we haven't completely correct pre-ES6 way for getting `new.target`, so use this\n isCallable(NewTarget = dummy.constructor) &&\n NewTarget !== Wrapper &&\n isObject(NewTargetPrototype = NewTarget.prototype) &&\n NewTargetPrototype !== Wrapper.prototype\n ) setPrototypeOf($this, NewTargetPrototype);\n return $this;\n};\n","'use strict';\nvar $ = require('../internals/export');\nvar global = require('../internals/global');\nvar call = require('../internals/function-call');\nvar DESCRIPTORS = require('../internals/descriptors');\nvar TYPED_ARRAYS_CONSTRUCTORS_REQUIRES_WRAPPERS = require('../internals/typed-array-constructors-require-wrappers');\nvar ArrayBufferViewCore = require('../internals/array-buffer-view-core');\nvar ArrayBufferModule = require('../internals/array-buffer');\nvar anInstance = require('../internals/an-instance');\nvar createPropertyDescriptor = require('../internals/create-property-descriptor');\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\nvar isIntegralNumber = require('../internals/is-integral-number');\nvar toLength = require('../internals/to-length');\nvar toIndex = require('../internals/to-index');\nvar toOffset = require('../internals/to-offset');\nvar toPropertyKey = require('../internals/to-property-key');\nvar hasOwn = require('../internals/has-own-property');\nvar classof = require('../internals/classof');\nvar isObject = require('../internals/is-object');\nvar isSymbol = require('../internals/is-symbol');\nvar create = require('../internals/object-create');\nvar isPrototypeOf = require('../internals/object-is-prototype-of');\nvar setPrototypeOf = require('../internals/object-set-prototype-of');\nvar getOwnPropertyNames = require('../internals/object-get-own-property-names').f;\nvar typedArrayFrom = require('../internals/typed-array-from');\nvar forEach = require('../internals/array-iteration').forEach;\nvar setSpecies = require('../internals/set-species');\nvar definePropertyModule = require('../internals/object-define-property');\nvar getOwnPropertyDescriptorModule = require('../internals/object-get-own-property-descriptor');\nvar InternalStateModule = require('../internals/internal-state');\nvar inheritIfRequired = require('../internals/inherit-if-required');\n\nvar getInternalState = InternalStateModule.get;\nvar setInternalState = InternalStateModule.set;\nvar nativeDefineProperty = definePropertyModule.f;\nvar nativeGetOwnPropertyDescriptor = getOwnPropertyDescriptorModule.f;\nvar round = Math.round;\nvar RangeError = global.RangeError;\nvar ArrayBuffer = ArrayBufferModule.ArrayBuffer;\nvar ArrayBufferPrototype = ArrayBuffer.prototype;\nvar DataView = ArrayBufferModule.DataView;\nvar NATIVE_ARRAY_BUFFER_VIEWS = ArrayBufferViewCore.NATIVE_ARRAY_BUFFER_VIEWS;\nvar TYPED_ARRAY_CONSTRUCTOR = ArrayBufferViewCore.TYPED_ARRAY_CONSTRUCTOR;\nvar TYPED_ARRAY_TAG = ArrayBufferViewCore.TYPED_ARRAY_TAG;\nvar TypedArray = ArrayBufferViewCore.TypedArray;\nvar TypedArrayPrototype = ArrayBufferViewCore.TypedArrayPrototype;\nvar aTypedArrayConstructor = ArrayBufferViewCore.aTypedArrayConstructor;\nvar isTypedArray = ArrayBufferViewCore.isTypedArray;\nvar BYTES_PER_ELEMENT = 'BYTES_PER_ELEMENT';\nvar WRONG_LENGTH = 'Wrong length';\n\nvar fromList = function (C, list) {\n aTypedArrayConstructor(C);\n var index = 0;\n var length = list.length;\n var result = new C(length);\n while (length > index) result[index] = list[index++];\n return result;\n};\n\nvar addGetter = function (it, key) {\n nativeDefineProperty(it, key, { get: function () {\n return getInternalState(this)[key];\n } });\n};\n\nvar isArrayBuffer = function (it) {\n var klass;\n return isPrototypeOf(ArrayBufferPrototype, it) || (klass = classof(it)) == 'ArrayBuffer' || klass == 'SharedArrayBuffer';\n};\n\nvar isTypedArrayIndex = function (target, key) {\n return isTypedArray(target)\n && !isSymbol(key)\n && key in target\n && isIntegralNumber(+key)\n && key >= 0;\n};\n\nvar wrappedGetOwnPropertyDescriptor = function getOwnPropertyDescriptor(target, key) {\n key = toPropertyKey(key);\n return isTypedArrayIndex(target, key)\n ? createPropertyDescriptor(2, target[key])\n : nativeGetOwnPropertyDescriptor(target, key);\n};\n\nvar wrappedDefineProperty = function defineProperty(target, key, descriptor) {\n key = toPropertyKey(key);\n if (isTypedArrayIndex(target, key)\n && isObject(descriptor)\n && hasOwn(descriptor, 'value')\n && !hasOwn(descriptor, 'get')\n && !hasOwn(descriptor, 'set')\n // TODO: add validation descriptor w/o calling accessors\n && !descriptor.configurable\n && (!hasOwn(descriptor, 'writable') || descriptor.writable)\n && (!hasOwn(descriptor, 'enumerable') || descriptor.enumerable)\n ) {\n target[key] = descriptor.value;\n return target;\n } return nativeDefineProperty(target, key, descriptor);\n};\n\nif (DESCRIPTORS) {\n if (!NATIVE_ARRAY_BUFFER_VIEWS) {\n getOwnPropertyDescriptorModule.f = wrappedGetOwnPropertyDescriptor;\n definePropertyModule.f = wrappedDefineProperty;\n addGetter(TypedArrayPrototype, 'buffer');\n addGetter(TypedArrayPrototype, 'byteOffset');\n addGetter(TypedArrayPrototype, 'byteLength');\n addGetter(TypedArrayPrototype, 'length');\n }\n\n $({ target: 'Object', stat: true, forced: !NATIVE_ARRAY_BUFFER_VIEWS }, {\n getOwnPropertyDescriptor: wrappedGetOwnPropertyDescriptor,\n defineProperty: wrappedDefineProperty\n });\n\n module.exports = function (TYPE, wrapper, CLAMPED) {\n var BYTES = TYPE.match(/\\d+$/)[0] / 8;\n var CONSTRUCTOR_NAME = TYPE + (CLAMPED ? 'Clamped' : '') + 'Array';\n var GETTER = 'get' + TYPE;\n var SETTER = 'set' + TYPE;\n var NativeTypedArrayConstructor = global[CONSTRUCTOR_NAME];\n var TypedArrayConstructor = NativeTypedArrayConstructor;\n var TypedArrayConstructorPrototype = TypedArrayConstructor && TypedArrayConstructor.prototype;\n var exported = {};\n\n var getter = function (that, index) {\n var data = getInternalState(that);\n return data.view[GETTER](index * BYTES + data.byteOffset, true);\n };\n\n var setter = function (that, index, value) {\n var data = getInternalState(that);\n if (CLAMPED) value = (value = round(value)) < 0 ? 0 : value > 0xFF ? 0xFF : value & 0xFF;\n data.view[SETTER](index * BYTES + data.byteOffset, value, true);\n };\n\n var addElement = function (that, index) {\n nativeDefineProperty(that, index, {\n get: function () {\n return getter(this, index);\n },\n set: function (value) {\n return setter(this, index, value);\n },\n enumerable: true\n });\n };\n\n if (!NATIVE_ARRAY_BUFFER_VIEWS) {\n TypedArrayConstructor = wrapper(function (that, data, offset, $length) {\n anInstance(that, TypedArrayConstructorPrototype);\n var index = 0;\n var byteOffset = 0;\n var buffer, byteLength, length;\n if (!isObject(data)) {\n length = toIndex(data);\n byteLength = length * BYTES;\n buffer = new ArrayBuffer(byteLength);\n } else if (isArrayBuffer(data)) {\n buffer = data;\n byteOffset = toOffset(offset, BYTES);\n var $len = data.byteLength;\n if ($length === undefined) {\n if ($len % BYTES) throw RangeError(WRONG_LENGTH);\n byteLength = $len - byteOffset;\n if (byteLength < 0) throw RangeError(WRONG_LENGTH);\n } else {\n byteLength = toLength($length) * BYTES;\n if (byteLength + byteOffset > $len) throw RangeError(WRONG_LENGTH);\n }\n length = byteLength / BYTES;\n } else if (isTypedArray(data)) {\n return fromList(TypedArrayConstructor, data);\n } else {\n return call(typedArrayFrom, TypedArrayConstructor, data);\n }\n setInternalState(that, {\n buffer: buffer,\n byteOffset: byteOffset,\n byteLength: byteLength,\n length: length,\n view: new DataView(buffer)\n });\n while (index < length) addElement(that, index++);\n });\n\n if (setPrototypeOf) setPrototypeOf(TypedArrayConstructor, TypedArray);\n TypedArrayConstructorPrototype = TypedArrayConstructor.prototype = create(TypedArrayPrototype);\n } else if (TYPED_ARRAYS_CONSTRUCTORS_REQUIRES_WRAPPERS) {\n TypedArrayConstructor = wrapper(function (dummy, data, typedArrayOffset, $length) {\n anInstance(dummy, TypedArrayConstructorPrototype);\n return inheritIfRequired(function () {\n if (!isObject(data)) return new NativeTypedArrayConstructor(toIndex(data));\n if (isArrayBuffer(data)) return $length !== undefined\n ? new NativeTypedArrayConstructor(data, toOffset(typedArrayOffset, BYTES), $length)\n : typedArrayOffset !== undefined\n ? new NativeTypedArrayConstructor(data, toOffset(typedArrayOffset, BYTES))\n : new NativeTypedArrayConstructor(data);\n if (isTypedArray(data)) return fromList(TypedArrayConstructor, data);\n return call(typedArrayFrom, TypedArrayConstructor, data);\n }(), dummy, TypedArrayConstructor);\n });\n\n if (setPrototypeOf) setPrototypeOf(TypedArrayConstructor, TypedArray);\n forEach(getOwnPropertyNames(NativeTypedArrayConstructor), function (key) {\n if (!(key in TypedArrayConstructor)) {\n createNonEnumerableProperty(TypedArrayConstructor, key, NativeTypedArrayConstructor[key]);\n }\n });\n TypedArrayConstructor.prototype = TypedArrayConstructorPrototype;\n }\n\n if (TypedArrayConstructorPrototype.constructor !== TypedArrayConstructor) {\n createNonEnumerableProperty(TypedArrayConstructorPrototype, 'constructor', TypedArrayConstructor);\n }\n\n createNonEnumerableProperty(TypedArrayConstructorPrototype, TYPED_ARRAY_CONSTRUCTOR, TypedArrayConstructor);\n\n if (TYPED_ARRAY_TAG) {\n createNonEnumerableProperty(TypedArrayConstructorPrototype, TYPED_ARRAY_TAG, CONSTRUCTOR_NAME);\n }\n\n exported[CONSTRUCTOR_NAME] = TypedArrayConstructor;\n\n $({\n global: true, forced: TypedArrayConstructor != NativeTypedArrayConstructor, sham: !NATIVE_ARRAY_BUFFER_VIEWS\n }, exported);\n\n if (!(BYTES_PER_ELEMENT in TypedArrayConstructor)) {\n createNonEnumerableProperty(TypedArrayConstructor, BYTES_PER_ELEMENT, BYTES);\n }\n\n if (!(BYTES_PER_ELEMENT in TypedArrayConstructorPrototype)) {\n createNonEnumerableProperty(TypedArrayConstructorPrototype, BYTES_PER_ELEMENT, BYTES);\n }\n\n setSpecies(CONSTRUCTOR_NAME);\n };\n} else module.exports = function () { /* empty */ };\n","var createTypedArrayConstructor = require('../internals/typed-array-constructor');\n\n// `Float32Array` constructor\n// https://tc39.es/ecma262/#sec-typedarray-objects\ncreateTypedArrayConstructor('Float32', function (init) {\n return function Float32Array(data, byteOffset, length) {\n return init(this, data, byteOffset, length);\n };\n});\n","var createTypedArrayConstructor = require('../internals/typed-array-constructor');\n\n// `Float64Array` constructor\n// https://tc39.es/ecma262/#sec-typedarray-objects\ncreateTypedArrayConstructor('Float64', function (init) {\n return function Float64Array(data, byteOffset, length) {\n return init(this, data, byteOffset, length);\n };\n});\n","var createTypedArrayConstructor = require('../internals/typed-array-constructor');\n\n// `Int8Array` constructor\n// https://tc39.es/ecma262/#sec-typedarray-objects\ncreateTypedArrayConstructor('Int8', function (init) {\n return function Int8Array(data, byteOffset, length) {\n return init(this, data, byteOffset, length);\n };\n});\n","var createTypedArrayConstructor = require('../internals/typed-array-constructor');\n\n// `Int16Array` constructor\n// https://tc39.es/ecma262/#sec-typedarray-objects\ncreateTypedArrayConstructor('Int16', function (init) {\n return function Int16Array(data, byteOffset, length) {\n return init(this, data, byteOffset, length);\n };\n});\n","var createTypedArrayConstructor = require('../internals/typed-array-constructor');\n\n// `Int32Array` constructor\n// https://tc39.es/ecma262/#sec-typedarray-objects\ncreateTypedArrayConstructor('Int32', function (init) {\n return function Int32Array(data, byteOffset, length) {\n return init(this, data, byteOffset, length);\n };\n});\n","var createTypedArrayConstructor = require('../internals/typed-array-constructor');\n\n// `Uint8Array` constructor\n// https://tc39.es/ecma262/#sec-typedarray-objects\ncreateTypedArrayConstructor('Uint8', function (init) {\n return function Uint8Array(data, byteOffset, length) {\n return init(this, data, byteOffset, length);\n };\n});\n","var createTypedArrayConstructor = require('../internals/typed-array-constructor');\n\n// `Uint8ClampedArray` constructor\n// https://tc39.es/ecma262/#sec-typedarray-objects\ncreateTypedArrayConstructor('Uint8', function (init) {\n return function Uint8ClampedArray(data, byteOffset, length) {\n return init(this, data, byteOffset, length);\n };\n}, true);\n","var createTypedArrayConstructor = require('../internals/typed-array-constructor');\n\n// `Uint16Array` constructor\n// https://tc39.es/ecma262/#sec-typedarray-objects\ncreateTypedArrayConstructor('Uint16', function (init) {\n return function Uint16Array(data, byteOffset, length) {\n return init(this, data, byteOffset, length);\n };\n});\n","var createTypedArrayConstructor = require('../internals/typed-array-constructor');\n\n// `Uint32Array` constructor\n// https://tc39.es/ecma262/#sec-typedarray-objects\ncreateTypedArrayConstructor('Uint32', function (init) {\n return function Uint32Array(data, byteOffset, length) {\n return init(this, data, byteOffset, length);\n };\n});\n","'use strict';\nvar ArrayBufferViewCore = require('../internals/array-buffer-view-core');\nvar lengthOfArrayLike = require('../internals/length-of-array-like');\nvar toIntegerOrInfinity = require('../internals/to-integer-or-infinity');\n\nvar aTypedArray = ArrayBufferViewCore.aTypedArray;\nvar exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod;\n\n// `%TypedArray%.prototype.at` method\n// https://github.com/tc39/proposal-relative-indexing-method\nexportTypedArrayMethod('at', function at(index) {\n var O = aTypedArray(this);\n var len = lengthOfArrayLike(O);\n var relativeIndex = toIntegerOrInfinity(index);\n var k = relativeIndex >= 0 ? relativeIndex : len + relativeIndex;\n return (k < 0 || k >= len) ? undefined : O[k];\n});\n","'use strict';\nvar ArrayBufferViewCore = require('../internals/array-buffer-view-core');\nvar TYPED_ARRAYS_CONSTRUCTORS_REQUIRES_WRAPPERS = require('../internals/typed-array-constructors-require-wrappers');\n\nvar aTypedArrayConstructor = ArrayBufferViewCore.aTypedArrayConstructor;\nvar exportTypedArrayStaticMethod = ArrayBufferViewCore.exportTypedArrayStaticMethod;\n\n// `%TypedArray%.of` method\n// https://tc39.es/ecma262/#sec-%typedarray%.of\nexportTypedArrayStaticMethod('of', function of(/* ...items */) {\n var index = 0;\n var length = arguments.length;\n var result = new (aTypedArrayConstructor(this))(length);\n while (length > index) result[index] = arguments[index++];\n return result;\n}, TYPED_ARRAYS_CONSTRUCTORS_REQUIRES_WRAPPERS);\n","var arraySlice = require('../internals/array-slice-simple');\n\nvar floor = Math.floor;\n\nvar mergeSort = function (array, comparefn) {\n var length = array.length;\n var middle = floor(length / 2);\n return length < 8 ? insertionSort(array, comparefn) : merge(\n array,\n mergeSort(arraySlice(array, 0, middle), comparefn),\n mergeSort(arraySlice(array, middle), comparefn),\n comparefn\n );\n};\n\nvar insertionSort = function (array, comparefn) {\n var length = array.length;\n var i = 1;\n var element, j;\n\n while (i < length) {\n j = i;\n element = array[i];\n while (j && comparefn(array[j - 1], element) > 0) {\n array[j] = array[--j];\n }\n if (j !== i++) array[j] = element;\n } return array;\n};\n\nvar merge = function (array, left, right, comparefn) {\n var llength = left.length;\n var rlength = right.length;\n var lindex = 0;\n var rindex = 0;\n\n while (lindex < llength || rindex < rlength) {\n array[lindex + rindex] = (lindex < llength && rindex < rlength)\n ? comparefn(left[lindex], right[rindex]) <= 0 ? left[lindex++] : right[rindex++]\n : lindex < llength ? left[lindex++] : right[rindex++];\n } return array;\n};\n\nmodule.exports = mergeSort;\n","var userAgent = require('../internals/engine-user-agent');\n\nvar firefox = userAgent.match(/firefox\\/(\\d+)/i);\n\nmodule.exports = !!firefox && +firefox[1];\n","var userAgent = require('../internals/engine-user-agent');\n\nvar webkit = userAgent.match(/AppleWebKit\\/(\\d+)\\./);\n\nmodule.exports = !!webkit && +webkit[1];\n","'use strict';\nvar global = require('../internals/global');\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar fails = require('../internals/fails');\nvar aCallable = require('../internals/a-callable');\nvar internalSort = require('../internals/array-sort');\nvar ArrayBufferViewCore = require('../internals/array-buffer-view-core');\nvar FF = require('../internals/engine-ff-version');\nvar IE_OR_EDGE = require('../internals/engine-is-ie-or-edge');\nvar V8 = require('../internals/engine-v8-version');\nvar WEBKIT = require('../internals/engine-webkit-version');\n\nvar Array = global.Array;\nvar aTypedArray = ArrayBufferViewCore.aTypedArray;\nvar exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod;\nvar Uint16Array = global.Uint16Array;\nvar un$Sort = Uint16Array && uncurryThis(Uint16Array.prototype.sort);\n\n// WebKit\nvar ACCEPT_INCORRECT_ARGUMENTS = !!un$Sort && !(fails(function () {\n un$Sort(new Uint16Array(2), null);\n}) && fails(function () {\n un$Sort(new Uint16Array(2), {});\n}));\n\nvar STABLE_SORT = !!un$Sort && !fails(function () {\n // feature detection can be too slow, so check engines versions\n if (V8) return V8 < 74;\n if (FF) return FF < 67;\n if (IE_OR_EDGE) return true;\n if (WEBKIT) return WEBKIT < 602;\n\n var array = new Uint16Array(516);\n var expected = Array(516);\n var index, mod;\n\n for (index = 0; index < 516; index++) {\n mod = index % 4;\n array[index] = 515 - index;\n expected[index] = index - 2 * mod + 3;\n }\n\n un$Sort(array, function (a, b) {\n return (a / 4 | 0) - (b / 4 | 0);\n });\n\n for (index = 0; index < 516; index++) {\n if (array[index] !== expected[index]) return true;\n }\n});\n\nvar getSortCompare = function (comparefn) {\n return function (x, y) {\n if (comparefn !== undefined) return +comparefn(x, y) || 0;\n // eslint-disable-next-line no-self-compare -- NaN check\n if (y !== y) return -1;\n // eslint-disable-next-line no-self-compare -- NaN check\n if (x !== x) return 1;\n if (x === 0 && y === 0) return 1 / x > 0 && 1 / y < 0 ? 1 : -1;\n return x > y;\n };\n};\n\n// `%TypedArray%.prototype.sort` method\n// https://tc39.es/ecma262/#sec-%typedarray%.prototype.sort\nexportTypedArrayMethod('sort', function sort(comparefn) {\n if (comparefn !== undefined) aCallable(comparefn);\n if (STABLE_SORT) return un$Sort(this, comparefn);\n\n return internalSort(aTypedArray(this), getSortCompare(comparefn));\n}, !STABLE_SORT || ACCEPT_INCORRECT_ARGUMENTS);\n","// iterable DOM collections\n// flag - `iterable` interface - 'entries', 'keys', 'values', 'forEach' methods\nmodule.exports = {\n CSSRuleList: 0,\n CSSStyleDeclaration: 0,\n CSSValueList: 0,\n ClientRectList: 0,\n DOMRectList: 0,\n DOMStringList: 0,\n DOMTokenList: 1,\n DataTransferItemList: 0,\n FileList: 0,\n HTMLAllCollection: 0,\n HTMLCollection: 0,\n HTMLFormElement: 0,\n HTMLSelectElement: 0,\n MediaList: 0,\n MimeTypeArray: 0,\n NamedNodeMap: 0,\n NodeList: 1,\n PaintRequestList: 0,\n Plugin: 0,\n PluginArray: 0,\n SVGLengthList: 0,\n SVGNumberList: 0,\n SVGPathSegList: 0,\n SVGPointList: 0,\n SVGStringList: 0,\n SVGTransformList: 0,\n SourceBufferList: 0,\n StyleSheetList: 0,\n TextTrackCueList: 0,\n TextTrackList: 0,\n TouchList: 0\n};\n","// in old WebKit versions, `element.classList` is not an instance of global `DOMTokenList`\nvar documentCreateElement = require('../internals/document-create-element');\n\nvar classList = documentCreateElement('span').classList;\nvar DOMTokenListPrototype = classList && classList.constructor && classList.constructor.prototype;\n\nmodule.exports = DOMTokenListPrototype === Object.prototype ? undefined : DOMTokenListPrototype;\n","'use strict';\nvar $ = require('../internals/export');\nvar call = require('../internals/function-call');\nvar IS_PURE = require('../internals/is-pure');\nvar FunctionName = require('../internals/function-name');\nvar isCallable = require('../internals/is-callable');\nvar createIteratorConstructor = require('../internals/create-iterator-constructor');\nvar getPrototypeOf = require('../internals/object-get-prototype-of');\nvar setPrototypeOf = require('../internals/object-set-prototype-of');\nvar setToStringTag = require('../internals/set-to-string-tag');\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\nvar redefine = require('../internals/redefine');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\nvar Iterators = require('../internals/iterators');\nvar IteratorsCore = require('../internals/iterators-core');\n\nvar PROPER_FUNCTION_NAME = FunctionName.PROPER;\nvar CONFIGURABLE_FUNCTION_NAME = FunctionName.CONFIGURABLE;\nvar IteratorPrototype = IteratorsCore.IteratorPrototype;\nvar BUGGY_SAFARI_ITERATORS = IteratorsCore.BUGGY_SAFARI_ITERATORS;\nvar ITERATOR = wellKnownSymbol('iterator');\nvar KEYS = 'keys';\nvar VALUES = 'values';\nvar ENTRIES = 'entries';\n\nvar returnThis = function () { return this; };\n\nmodule.exports = function (Iterable, NAME, IteratorConstructor, next, DEFAULT, IS_SET, FORCED) {\n createIteratorConstructor(IteratorConstructor, NAME, next);\n\n var getIterationMethod = function (KIND) {\n if (KIND === DEFAULT && defaultIterator) return defaultIterator;\n if (!BUGGY_SAFARI_ITERATORS && KIND in IterablePrototype) return IterablePrototype[KIND];\n switch (KIND) {\n case KEYS: return function keys() { return new IteratorConstructor(this, KIND); };\n case VALUES: return function values() { return new IteratorConstructor(this, KIND); };\n case ENTRIES: return function entries() { return new IteratorConstructor(this, KIND); };\n } return function () { return new IteratorConstructor(this); };\n };\n\n var TO_STRING_TAG = NAME + ' Iterator';\n var INCORRECT_VALUES_NAME = false;\n var IterablePrototype = Iterable.prototype;\n var nativeIterator = IterablePrototype[ITERATOR]\n || IterablePrototype['@@iterator']\n || DEFAULT && IterablePrototype[DEFAULT];\n var defaultIterator = !BUGGY_SAFARI_ITERATORS && nativeIterator || getIterationMethod(DEFAULT);\n var anyNativeIterator = NAME == 'Array' ? IterablePrototype.entries || nativeIterator : nativeIterator;\n var CurrentIteratorPrototype, methods, KEY;\n\n // fix native\n if (anyNativeIterator) {\n CurrentIteratorPrototype = getPrototypeOf(anyNativeIterator.call(new Iterable()));\n if (CurrentIteratorPrototype !== Object.prototype && CurrentIteratorPrototype.next) {\n if (!IS_PURE && getPrototypeOf(CurrentIteratorPrototype) !== IteratorPrototype) {\n if (setPrototypeOf) {\n setPrototypeOf(CurrentIteratorPrototype, IteratorPrototype);\n } else if (!isCallable(CurrentIteratorPrototype[ITERATOR])) {\n redefine(CurrentIteratorPrototype, ITERATOR, returnThis);\n }\n }\n // Set @@toStringTag to native iterators\n setToStringTag(CurrentIteratorPrototype, TO_STRING_TAG, true, true);\n if (IS_PURE) Iterators[TO_STRING_TAG] = returnThis;\n }\n }\n\n // fix Array.prototype.{ values, @@iterator }.name in V8 / FF\n if (PROPER_FUNCTION_NAME && DEFAULT == VALUES && nativeIterator && nativeIterator.name !== VALUES) {\n if (!IS_PURE && CONFIGURABLE_FUNCTION_NAME) {\n createNonEnumerableProperty(IterablePrototype, 'name', VALUES);\n } else {\n INCORRECT_VALUES_NAME = true;\n defaultIterator = function values() { return call(nativeIterator, this); };\n }\n }\n\n // export additional methods\n if (DEFAULT) {\n methods = {\n values: getIterationMethod(VALUES),\n keys: IS_SET ? defaultIterator : getIterationMethod(KEYS),\n entries: getIterationMethod(ENTRIES)\n };\n if (FORCED) for (KEY in methods) {\n if (BUGGY_SAFARI_ITERATORS || INCORRECT_VALUES_NAME || !(KEY in IterablePrototype)) {\n redefine(IterablePrototype, KEY, methods[KEY]);\n }\n } else $({ target: NAME, proto: true, forced: BUGGY_SAFARI_ITERATORS || INCORRECT_VALUES_NAME }, methods);\n }\n\n // define iterator\n if ((!IS_PURE || FORCED) && IterablePrototype[ITERATOR] !== defaultIterator) {\n redefine(IterablePrototype, ITERATOR, defaultIterator, { name: DEFAULT });\n }\n Iterators[NAME] = defaultIterator;\n\n return methods;\n};\n","'use strict';\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar addToUnscopables = require('../internals/add-to-unscopables');\nvar Iterators = require('../internals/iterators');\nvar InternalStateModule = require('../internals/internal-state');\nvar defineIterator = require('../internals/define-iterator');\n\nvar ARRAY_ITERATOR = 'Array Iterator';\nvar setInternalState = InternalStateModule.set;\nvar getInternalState = InternalStateModule.getterFor(ARRAY_ITERATOR);\n\n// `Array.prototype.entries` method\n// https://tc39.es/ecma262/#sec-array.prototype.entries\n// `Array.prototype.keys` method\n// https://tc39.es/ecma262/#sec-array.prototype.keys\n// `Array.prototype.values` method\n// https://tc39.es/ecma262/#sec-array.prototype.values\n// `Array.prototype[@@iterator]` method\n// https://tc39.es/ecma262/#sec-array.prototype-@@iterator\n// `CreateArrayIterator` internal method\n// https://tc39.es/ecma262/#sec-createarrayiterator\nmodule.exports = defineIterator(Array, 'Array', function (iterated, kind) {\n setInternalState(this, {\n type: ARRAY_ITERATOR,\n target: toIndexedObject(iterated), // target\n index: 0, // next index\n kind: kind // kind\n });\n// `%ArrayIteratorPrototype%.next` method\n// https://tc39.es/ecma262/#sec-%arrayiteratorprototype%.next\n}, function () {\n var state = getInternalState(this);\n var target = state.target;\n var kind = state.kind;\n var index = state.index++;\n if (!target || index >= target.length) {\n state.target = undefined;\n return { value: undefined, done: true };\n }\n if (kind == 'keys') return { value: index, done: false };\n if (kind == 'values') return { value: target[index], done: false };\n return { value: [index, target[index]], done: false };\n}, 'values');\n\n// argumentsList[@@iterator] is %ArrayProto_values%\n// https://tc39.es/ecma262/#sec-createunmappedargumentsobject\n// https://tc39.es/ecma262/#sec-createmappedargumentsobject\nIterators.Arguments = Iterators.Array;\n\n// https://tc39.es/ecma262/#sec-array.prototype-@@unscopables\naddToUnscopables('keys');\naddToUnscopables('values');\naddToUnscopables('entries');\n","var global = require('../internals/global');\nvar DOMIterables = require('../internals/dom-iterables');\nvar DOMTokenListPrototype = require('../internals/dom-token-list-prototype');\nvar ArrayIteratorMethods = require('../modules/es.array.iterator');\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar ITERATOR = wellKnownSymbol('iterator');\nvar TO_STRING_TAG = wellKnownSymbol('toStringTag');\nvar ArrayValues = ArrayIteratorMethods.values;\n\nvar handlePrototype = function (CollectionPrototype, COLLECTION_NAME) {\n if (CollectionPrototype) {\n // some Chrome versions have non-configurable methods on DOMTokenList\n if (CollectionPrototype[ITERATOR] !== ArrayValues) try {\n createNonEnumerableProperty(CollectionPrototype, ITERATOR, ArrayValues);\n } catch (error) {\n CollectionPrototype[ITERATOR] = ArrayValues;\n }\n if (!CollectionPrototype[TO_STRING_TAG]) {\n createNonEnumerableProperty(CollectionPrototype, TO_STRING_TAG, COLLECTION_NAME);\n }\n if (DOMIterables[COLLECTION_NAME]) for (var METHOD_NAME in ArrayIteratorMethods) {\n // some Chrome versions have non-configurable methods on DOMTokenList\n if (CollectionPrototype[METHOD_NAME] !== ArrayIteratorMethods[METHOD_NAME]) try {\n createNonEnumerableProperty(CollectionPrototype, METHOD_NAME, ArrayIteratorMethods[METHOD_NAME]);\n } catch (error) {\n CollectionPrototype[METHOD_NAME] = ArrayIteratorMethods[METHOD_NAME];\n }\n }\n }\n};\n\nfor (var COLLECTION_NAME in DOMIterables) {\n handlePrototype(global[COLLECTION_NAME] && global[COLLECTION_NAME].prototype, COLLECTION_NAME);\n}\n\nhandlePrototype(DOMTokenListPrototype, 'DOMTokenList');\n","var FunctionPrototype = Function.prototype;\nvar apply = FunctionPrototype.apply;\nvar bind = FunctionPrototype.bind;\nvar call = FunctionPrototype.call;\n\n// eslint-disable-next-line es/no-reflect -- safe\nmodule.exports = typeof Reflect == 'object' && Reflect.apply || (bind ? call.bind(apply) : function () {\n return call.apply(apply, arguments);\n});\n","var global = require('../internals/global');\nvar apply = require('../internals/function-apply');\nvar bind = require('../internals/function-bind-context');\nvar isCallable = require('../internals/is-callable');\nvar hasOwn = require('../internals/has-own-property');\nvar fails = require('../internals/fails');\nvar html = require('../internals/html');\nvar arraySlice = require('../internals/array-slice');\nvar createElement = require('../internals/document-create-element');\nvar IS_IOS = require('../internals/engine-is-ios');\nvar IS_NODE = require('../internals/engine-is-node');\n\nvar set = global.setImmediate;\nvar clear = global.clearImmediate;\nvar process = global.process;\nvar Dispatch = global.Dispatch;\nvar Function = global.Function;\nvar MessageChannel = global.MessageChannel;\nvar String = global.String;\nvar counter = 0;\nvar queue = {};\nvar ONREADYSTATECHANGE = 'onreadystatechange';\nvar location, defer, channel, port;\n\ntry {\n // Deno throws a ReferenceError on `location` access without `--location` flag\n location = global.location;\n} catch (error) { /* empty */ }\n\nvar run = function (id) {\n if (hasOwn(queue, id)) {\n var fn = queue[id];\n delete queue[id];\n fn();\n }\n};\n\nvar runner = function (id) {\n return function () {\n run(id);\n };\n};\n\nvar listener = function (event) {\n run(event.data);\n};\n\nvar post = function (id) {\n // old engines have not location.origin\n global.postMessage(String(id), location.protocol + '//' + location.host);\n};\n\n// Node.js 0.9+ & IE10+ has setImmediate, otherwise:\nif (!set || !clear) {\n set = function setImmediate(fn) {\n var args = arraySlice(arguments, 1);\n queue[++counter] = function () {\n apply(isCallable(fn) ? fn : Function(fn), undefined, args);\n };\n defer(counter);\n return counter;\n };\n clear = function clearImmediate(id) {\n delete queue[id];\n };\n // Node.js 0.8-\n if (IS_NODE) {\n defer = function (id) {\n process.nextTick(runner(id));\n };\n // Sphere (JS game engine) Dispatch API\n } else if (Dispatch && Dispatch.now) {\n defer = function (id) {\n Dispatch.now(runner(id));\n };\n // Browsers with MessageChannel, includes WebWorkers\n // except iOS - https://github.com/zloirock/core-js/issues/624\n } else if (MessageChannel && !IS_IOS) {\n channel = new MessageChannel();\n port = channel.port2;\n channel.port1.onmessage = listener;\n defer = bind(port.postMessage, port);\n // Browsers with postMessage, skip WebWorkers\n // IE8 has postMessage, but it's sync & typeof its postMessage is 'object'\n } else if (\n global.addEventListener &&\n isCallable(global.postMessage) &&\n !global.importScripts &&\n location && location.protocol !== 'file:' &&\n !fails(post)\n ) {\n defer = post;\n global.addEventListener('message', listener, false);\n // IE8-\n } else if (ONREADYSTATECHANGE in createElement('script')) {\n defer = function (id) {\n html.appendChild(createElement('script'))[ONREADYSTATECHANGE] = function () {\n html.removeChild(this);\n run(id);\n };\n };\n // Rest old browsers\n } else {\n defer = function (id) {\n setTimeout(runner(id), 0);\n };\n }\n}\n\nmodule.exports = {\n set: set,\n clear: clear\n};\n","var $ = require('../internals/export');\nvar global = require('../internals/global');\nvar task = require('../internals/task');\n\nvar FORCED = !global.setImmediate || !global.clearImmediate;\n\n// http://w3c.github.io/setImmediate/\n$({ global: true, bind: true, enumerable: true, forced: FORCED }, {\n // `setImmediate` method\n // http://w3c.github.io/setImmediate/#si-setImmediate\n setImmediate: task.set,\n // `clearImmediate` method\n // http://w3c.github.io/setImmediate/#si-clearImmediate\n clearImmediate: task.clear\n});\n","var global = require('../internals/global');\nvar bind = require('../internals/function-bind-context');\nvar getOwnPropertyDescriptor = require('../internals/object-get-own-property-descriptor').f;\nvar macrotask = require('../internals/task').set;\nvar IS_IOS = require('../internals/engine-is-ios');\nvar IS_IOS_PEBBLE = require('../internals/engine-is-ios-pebble');\nvar IS_WEBOS_WEBKIT = require('../internals/engine-is-webos-webkit');\nvar IS_NODE = require('../internals/engine-is-node');\n\nvar MutationObserver = global.MutationObserver || global.WebKitMutationObserver;\nvar document = global.document;\nvar process = global.process;\nvar Promise = global.Promise;\n// Node.js 11 shows ExperimentalWarning on getting `queueMicrotask`\nvar queueMicrotaskDescriptor = getOwnPropertyDescriptor(global, 'queueMicrotask');\nvar queueMicrotask = queueMicrotaskDescriptor && queueMicrotaskDescriptor.value;\n\nvar flush, head, last, notify, toggle, node, promise, then;\n\n// modern engines have queueMicrotask method\nif (!queueMicrotask) {\n flush = function () {\n var parent, fn;\n if (IS_NODE && (parent = process.domain)) parent.exit();\n while (head) {\n fn = head.fn;\n head = head.next;\n try {\n fn();\n } catch (error) {\n if (head) notify();\n else last = undefined;\n throw error;\n }\n } last = undefined;\n if (parent) parent.enter();\n };\n\n // browsers with MutationObserver, except iOS - https://github.com/zloirock/core-js/issues/339\n // also except WebOS Webkit https://github.com/zloirock/core-js/issues/898\n if (!IS_IOS && !IS_NODE && !IS_WEBOS_WEBKIT && MutationObserver && document) {\n toggle = true;\n node = document.createTextNode('');\n new MutationObserver(flush).observe(node, { characterData: true });\n notify = function () {\n node.data = toggle = !toggle;\n };\n // environments with maybe non-completely correct, but existent Promise\n } else if (!IS_IOS_PEBBLE && Promise && Promise.resolve) {\n // Promise.resolve without an argument throws an error in LG WebOS 2\n promise = Promise.resolve(undefined);\n // workaround of WebKit ~ iOS Safari 10.1 bug\n promise.constructor = Promise;\n then = bind(promise.then, promise);\n notify = function () {\n then(flush);\n };\n // Node.js without promises\n } else if (IS_NODE) {\n notify = function () {\n process.nextTick(flush);\n };\n // for other environments - macrotask based on:\n // - setImmediate\n // - MessageChannel\n // - window.postMessag\n // - onreadystatechange\n // - setTimeout\n } else {\n // strange IE + webpack dev server bug - use .bind(global)\n macrotask = bind(macrotask, global);\n notify = function () {\n macrotask(flush);\n };\n }\n}\n\nmodule.exports = queueMicrotask || function (fn) {\n var task = { fn: fn, next: undefined };\n if (last) last.next = task;\n if (!head) {\n head = task;\n notify();\n } last = task;\n};\n","var $ = require('../internals/export');\nvar global = require('../internals/global');\nvar microtask = require('../internals/microtask');\nvar IS_NODE = require('../internals/engine-is-node');\n\nvar process = global.process;\n\n// `queueMicrotask` method\n// https://html.spec.whatwg.org/multipage/timers-and-user-prompts.html#dom-queuemicrotask\n$({ global: true, enumerable: true, noTargetGet: true }, {\n queueMicrotask: function queueMicrotask(fn) {\n var domain = IS_NODE && process.domain;\n microtask(domain ? domain.bind(fn) : fn);\n }\n});\n","// File generated automatically. Don't modify it.\nimport 'core-js/modules/es.aggregate-error';\nimport 'core-js/modules/es.array.at';\nimport 'core-js/modules/es.array.reverse';\nimport 'core-js/modules/es.array-buffer.slice';\nimport 'core-js/modules/es.object.from-entries';\nimport 'core-js/modules/es.object.has-own';\nimport 'core-js/modules/es.promise.all-settled';\nimport 'core-js/modules/es.promise.any';\nimport 'core-js/modules/es.promise.finally';\nimport 'core-js/modules/es.string.match-all';\nimport 'core-js/modules/es.typed-array.float32-array';\nimport 'core-js/modules/es.typed-array.float64-array';\nimport 'core-js/modules/es.typed-array.int8-array';\nimport 'core-js/modules/es.typed-array.int16-array';\nimport 'core-js/modules/es.typed-array.int32-array';\nimport 'core-js/modules/es.typed-array.uint8-array';\nimport 'core-js/modules/es.typed-array.uint8-clamped-array';\nimport 'core-js/modules/es.typed-array.uint16-array';\nimport 'core-js/modules/es.typed-array.uint32-array';\nimport 'core-js/modules/es.typed-array.at';\nimport 'core-js/modules/es.typed-array.from';\nimport 'core-js/modules/es.typed-array.of';\nimport 'core-js/modules/es.typed-array.sort';\nimport 'core-js/modules/web.dom-collections.iterator';\nimport 'core-js/modules/web.immediate';\nimport 'core-js/modules/web.queue-microtask';\n",null,"/**\n * Gets object.toString result\n * @param value\n * @return {string}\n */\nexport default function getTag(value: any)\n{\n\treturn Object.prototype.toString.call(value);\n}","import getTag from '../internal/get-tag';\n\nconst objectCtorString = Function.prototype.toString.call(Object);\n\n/**\n * @memberOf BX\n */\nexport default class Type\n{\n\t/**\n\t * Checks that value is string\n\t * @param value\n\t * @return {boolean}\n\t */\n\tstatic isString(value: any): boolean\n\t{\n\t\treturn typeof value === 'string';\n\t}\n\n\t/**\n\t * Returns true if a value is not empty string\n\t * @param value\n\t * @returns {boolean}\n\t */\n\tstatic isStringFilled(value: any): boolean\n\t{\n\t\treturn this.isString(value) && value !== '';\n\t}\n\n\t/**\n\t * Checks that value is function\n\t * @param value\n\t * @return {boolean}\n\t */\n\tstatic isFunction(value: any): boolean\n\t{\n\t\treturn typeof value === 'function';\n\t}\n\n\t/**\n\t * Checks that value is object\n\t * @param value\n\t * @return {boolean}\n\t */\n\tstatic isObject(value: any): boolean\n\t{\n\t\treturn !!value && (typeof value === 'object' || typeof value === 'function');\n\t}\n\n\t/**\n\t * Checks that value is object like\n\t * @param value\n\t * @return {boolean}\n\t */\n\tstatic isObjectLike(value: any): boolean\n\t{\n\t\treturn !!value && typeof value === 'object';\n\t}\n\n\t/**\n\t * Checks that value is plain object\n\t * @param value\n\t * @return {boolean}\n\t */\n\tstatic isPlainObject(value: any): boolean\n\t{\n\t\tif (!Type.isObjectLike(value) || getTag(value) !== '[object Object]')\n\t\t{\n\t\t\treturn false;\n\t\t}\n\n\t\tconst proto = Object.getPrototypeOf(value);\n\t\tif (proto === null)\n\t\t{\n\t\t\treturn true;\n\t\t}\n\n\t\tconst ctor = proto.hasOwnProperty('constructor') && proto.constructor;\n\n\t\treturn (\n\t\t\ttypeof ctor === 'function' &&\n\t\t\tFunction.prototype.toString.call(ctor) === objectCtorString\n\t\t);\n\t}\n\n\t/**\n\t * Checks that value is boolean\n\t * @param value\n\t * @return {boolean}\n\t */\n\tstatic isBoolean(value: any): boolean\n\t{\n\t\treturn value === true || value === false;\n\t}\n\n\t/**\n\t * Checks that value is number\n\t * @param value\n\t * @return {boolean}\n\t */\n\tstatic isNumber(value: any): boolean\n\t{\n\t\treturn !Number.isNaN(value) && typeof value === 'number';\n\t}\n\n\t/**\n\t * Checks that value is integer\n\t * @param value\n\t * @return {boolean}\n\t */\n\tstatic isInteger(value: any): boolean\n\t{\n\t\treturn Type.isNumber(value) && (value % 1) === 0;\n\t}\n\n\t/**\n\t * Checks that value is float\n\t * @param value\n\t * @return {boolean}\n\t */\n\tstatic isFloat(value: any): boolean\n\t{\n\t\treturn Type.isNumber(value) && !Type.isInteger(value);\n\t}\n\n\t/**\n\t * Checks that value is nil\n\t * @param value\n\t * @return {boolean}\n\t */\n\tstatic isNil(value: any): boolean\n\t{\n\t\treturn value === null || value === undefined;\n\t}\n\n\t/**\n\t * Checks that value is array\n\t * @param value\n\t * @return {boolean}\n\t */\n\tstatic isArray(value: any): boolean\n\t{\n\t\treturn !Type.isNil(value) && Array.isArray(value);\n\t}\n\n\t/**\n\t * Returns true if a value is an array and it has at least one element\n\t * @param value\n\t * @returns {boolean}\n\t */\n\tstatic isArrayFilled(value: any): boolean\n\t{\n\t\treturn this.isArray(value) && value.length > 0;\n\t}\n\n\t/**\n\t * Checks that value is array like\n\t * @param value\n\t * @return {boolean}\n\t */\n\tstatic isArrayLike(value: any): boolean\n\t{\n\t\treturn (\n\t\t\t!Type.isNil(value)\n\t\t\t&& !Type.isFunction(value)\n\t\t\t&& value.length > -1\n\t\t\t&& value.length <= Number.MAX_SAFE_INTEGER\n\t\t);\n\t}\n\n\t/**\n\t * Checks that value is Date\n\t * @param value\n\t * @return {boolean}\n\t */\n\tstatic isDate(value: any): boolean\n\t{\n\t\treturn Type.isObjectLike(value) && getTag(value) === '[object Date]';\n\t}\n\n\t/**\n\t * Checks that is DOM node\n\t * @param value\n\t * @return {boolean}\n\t */\n\tstatic isDomNode(value: any): boolean\n\t{\n\t\treturn Type.isObjectLike(value) && !Type.isPlainObject(value) && 'nodeType' in value;\n\t}\n\n\t/**\n\t * Checks that value is element node\n\t * @param value\n\t * @return {boolean}\n\t */\n\tstatic isElementNode(value: any): boolean\n\t{\n\t\treturn Type.isDomNode(value) && value.nodeType === Node.ELEMENT_NODE;\n\t}\n\n\t/**\n\t * Checks that value is text node\n\t * @param value\n\t * @return {boolean}\n\t */\n\tstatic isTextNode(value: any): boolean\n\t{\n\t\treturn Type.isDomNode(value) && value.nodeType === Node.TEXT_NODE;\n\t}\n\n\t/**\n\t * Checks that value is Map\n\t * @param value\n\t * @return {boolean}\n\t */\n\tstatic isMap(value: any): boolean\n\t{\n\t\treturn Type.isObjectLike(value) && getTag(value) === '[object Map]';\n\t}\n\n\t/**\n\t * Checks that value is Set\n\t * @param value\n\t * @return {boolean}\n\t */\n\tstatic isSet(value: any): boolean\n\t{\n\t\treturn Type.isObjectLike(value) && getTag(value) === '[object Set]';\n\t}\n\n\t/**\n\t * Checks that value is WeakMap\n\t * @param value\n\t * @return {boolean}\n\t */\n\tstatic isWeakMap(value: any): boolean\n\t{\n\t\treturn Type.isObjectLike(value) && getTag(value) === '[object WeakMap]';\n\t}\n\n\t/**\n\t * Checks that value is WeakSet\n\t * @param value\n\t * @return {boolean}\n\t */\n\tstatic isWeakSet(value: any): boolean\n\t{\n\t\treturn Type.isObjectLike(value) && getTag(value) === '[object WeakSet]';\n\t}\n\n\t/**\n\t * Checks that value is prototype\n\t * @param value\n\t * @return {boolean}\n\t */\n\tstatic isPrototype(value: any): boolean\n\t{\n\t\treturn (\n\t\t\t(((typeof (value && value.constructor) === 'function') && value.constructor.prototype) || Object.prototype) === value\n\t\t);\n\t}\n\n\t/**\n\t * Checks that value is regexp\n\t * @param value\n\t * @return {boolean}\n\t */\n\tstatic isRegExp(value: any): boolean\n\t{\n\t\treturn Type.isObjectLike(value) && getTag(value) === '[object RegExp]';\n\t}\n\n\t/**\n\t * Checks that value is null\n\t * @param value\n\t * @return {boolean}\n\t */\n\tstatic isNull(value: any): boolean\n\t{\n\t\treturn value === null;\n\t}\n\n\t/**\n\t * Checks that value is undefined\n\t * @param value\n\t * @return {boolean}\n\t */\n\tstatic isUndefined(value: any): boolean\n\t{\n\t\treturn typeof value === 'undefined';\n\t}\n\n\t/**\n\t * Checks that value is ArrayBuffer\n\t * @param value\n\t * @return {boolean}\n\t */\n\tstatic isArrayBuffer(value: any): boolean\n\t{\n\t\treturn Type.isObjectLike(value) && getTag(value) === '[object ArrayBuffer]';\n\t}\n\n\t/**\n\t * Checks that value is typed array\n\t * @param value\n\t * @return {boolean}\n\t */\n\tstatic isTypedArray(value: any): boolean\n\t{\n\t\tconst regExpTypedTag = (\n\t\t\t/^\\[object (?:Float(?:32|64)|(?:Int|Uint)(?:8|16|32)|Uint8Clamped)]$/\n\t\t);\n\t\treturn Type.isObjectLike(value) && regExpTypedTag.test(getTag(value));\n\t}\n\n\t/**\n\t * Checks that value is Blob\n\t * @param value\n\t * @return {boolean}\n\t */\n\tstatic isBlob(value: any): boolean\n\t{\n\t\treturn (\n\t\t\tType.isObjectLike(value)\n\t\t\t&& Type.isNumber(value.size)\n\t\t\t&& Type.isString(value.type)\n\t\t\t&& Type.isFunction(value.slice)\n\t\t);\n\t}\n\n\t/**\n\t * Checks that value is File\n\t * @param value\n\t * @return {boolean}\n\t */\n\tstatic isFile(value: any): boolean\n\t{\n\t\treturn (\n\t\t\tType.isBlob(value)\n\t\t\t&& Type.isString(value.name)\n\t\t\t&& (Type.isNumber(value.lastModified) || Type.isObjectLike(value.lastModifiedDate))\n\t\t);\n\t}\n\n\t/**\n\t * Checks that value is FormData\n\t * @param value\n\t * @return {boolean}\n\t */\n\tstatic isFormData(value: any)\n\t{\n\t\treturn value instanceof FormData;\n\t}\n}","import Type from './type';\n\n/**\n * @memberOf BX\n */\nexport default class Reflection\n{\n\t/**\n\t * Gets link to function by function name\n\t * @param className\n\t * @return {?Function}\n\t */\n\tstatic getClass(className: string | Function): Function | null\n\t{\n\t\tif (Type.isString(className) && !!className)\n\t\t{\n\t\t\tlet classFn = null;\n\t\t\tlet currentNamespace = window;\n\t\t\tconst namespaces = className.split('.');\n\n\t\t\tfor (let i = 0; i < namespaces.length; i += 1)\n\t\t\t{\n\t\t\t\tconst namespace = namespaces[i];\n\n\t\t\t\tif (!currentNamespace[namespace])\n\t\t\t\t{\n\t\t\t\t\treturn null;\n\t\t\t\t}\n\n\t\t\t\tcurrentNamespace = currentNamespace[namespace];\n\t\t\t\tclassFn = currentNamespace;\n\t\t\t}\n\n\t\t\treturn classFn;\n\t\t}\n\n\t\tif (Type.isFunction(className))\n\t\t{\n\t\t\treturn className;\n\t\t}\n\n\t\treturn null;\n\t}\n\n\t/**\n\t * Creates a namespace or returns a link to a previously created one\n\t * @param {String} namespaceName\n\t * @return {Object<string, any> | Function | null}\n\t */\n\tstatic namespace(namespaceName: string): {[key: string]: any} | Function\n\t{\n\t\tlet parts = namespaceName.split('.');\n\t\tlet parent = window.BX;\n\n\t\tif (parts[0] === 'BX')\n\t\t{\n\t\t\tparts = parts.slice(1);\n\t\t}\n\n\t\tfor (let i = 0; i < parts.length; i += 1)\n\t\t{\n\t\t\tif (Type.isUndefined(parent[parts[i]]))\n\t\t\t{\n\t\t\t\tparent[parts[i]] = {};\n\t\t\t}\n\n\t\t\tparent = parent[parts[i]];\n\t\t}\n\n\t\treturn parent;\n\t}\n}","import Type from './type';\n\nconst reEscape = /[&<>'\"]/g;\nconst reUnescape = /&(?:amp|#38|lt|#60|gt|#62|apos|#39|quot|#34);/g;\n\nconst escapeEntities = {\n\t'&': '&',\n\t'<': '<',\n\t'>': '>',\n\t\"'\": ''',\n\t'\"': '"',\n};\n\nconst unescapeEntities = {\n\t'&': '&',\n\t'&': '&',\n\t'<': '<',\n\t'<': '<',\n\t'>': '>',\n\t'>': '>',\n\t''': \"'\",\n\t''': \"'\",\n\t'"': '\"',\n\t'"': '\"',\n};\n\n/**\n * @memberOf BX\n */\nexport default class Text\n{\n\t/**\n\t * Encodes all unsafe entities\n\t * @param {string} value\n\t * @return {string}\n\t */\n\tstatic encode(value: string): string\n\t{\n\t\tif (Type.isString(value))\n\t\t{\n\t\t\treturn value.replace(reEscape, item => escapeEntities[item]);\n\t\t}\n\n\t\treturn value;\n\t}\n\n\t/**\n\t * Decodes all encoded entities\n\t * @param {string} value\n\t * @return {string}\n\t */\n\tstatic decode(value: string): string\n\t{\n\t\tif (Type.isString(value))\n\t\t{\n\t\t\treturn value.replace(reUnescape, item => unescapeEntities[item]);\n\t\t}\n\n\t\treturn value;\n\t}\n\n\tstatic getRandom(length = 8)\n\t{\n\t\t// eslint-disable-next-line\n\t\treturn [...Array(length)].map(() => (~~(Math.random() * 36)).toString(36)).join('');\n\t}\n\n\tstatic toNumber(value: any): number\n\t{\n\t\tconst parsedValue = Number.parseFloat(value);\n\n\t\tif (Type.isNumber(parsedValue))\n\t\t{\n\t\t\treturn parsedValue;\n\t\t}\n\n\t\treturn 0;\n\t}\n\n\tstatic toInteger(value: any): number\n\t{\n\t\treturn Text.toNumber(Number.parseInt(value, 10));\n\t}\n\n\tstatic toBoolean(value: any, trueValues = []): boolean\n\t{\n\t\tconst transformedValue = Type.isString(value) ? value.toLowerCase() : value;\n\t\treturn ['true', 'y', '1', 1, true, ...trueValues].includes(transformedValue);\n\t}\n\n\tstatic toCamelCase(str: string)\n\t{\n\t\tif (!Type.isStringFilled(str))\n\t\t{\n\t\t\treturn str;\n\t\t}\n\n\t\tconst regex = /[-_\\s]+(.)?/g;\n\t\tif (!regex.test(str))\n\t\t{\n\t\t\treturn str.match(/^[A-Z]+$/) ? str.toLowerCase() : str[0].toLowerCase() + str.slice(1);\n\t\t}\n\n\t\tstr = str.toLowerCase();\n\t\tstr = str.replace(regex, function(match, letter) {\n\t\t\treturn letter ? letter.toUpperCase() : '';\n\t\t});\n\n\t\treturn str[0].toLowerCase() + str.substr(1);\n\t}\n\n\tstatic toPascalCase(str: string)\n\t{\n\t\tif (!Type.isStringFilled(str))\n\t\t{\n\t\t\treturn str;\n\t\t}\n\n\t\treturn this.capitalize(this.toCamelCase(str));\n\t}\n\n\tstatic toKebabCase(str: string)\n\t{\n\t\tif (!Type.isStringFilled(str))\n\t\t{\n\t\t\treturn str;\n\t\t}\n\n\t\tconst matches = str.match(/[A-Z]{2,}(?=[A-Z][a-z]+[0-9]*|\\b)|[A-Z]?[a-z]+[0-9]*|[A-Z]|[0-9]+/g);\n\t\tif (!matches)\n\t\t{\n\t\t\treturn str;\n\t\t}\n\n\t\treturn matches.map(x => x.toLowerCase()).join('-');\n\t}\n\n\tstatic capitalize(str: string)\n\t{\n\t\tif (!Type.isStringFilled(str))\n\t\t{\n\t\t\treturn str;\n\t\t}\n\n\t\treturn str[0].toUpperCase() + str.substr(1);\n\t}\n}","const aliases = {\n\tmousewheel: [\n\t\t'DOMMouseScroll',\n\t],\n\tbxchange: [\n\t\t'change',\n\t\t'cut',\n\t\t'paste',\n\t\t'drop',\n\t\t'keyup',\n\t],\n\tanimationend: [\n\t\t'animationend',\n\t\t'oAnimationEnd',\n\t\t'webkitAnimationEnd',\n\t\t'MSAnimationEnd',\n\t],\n\ttransitionend: [\n\t\t'webkitTransitionEnd',\n\t\t'otransitionend',\n\t\t'oTransitionEnd',\n\t\t'msTransitionEnd',\n\t\t'transitionend',\n\t],\n\tfullscreenchange: [\n\t\t'fullscreenchange',\n\t\t'webkitfullscreenchange',\n\t\t'mozfullscreenchange',\n\t\t'MSFullscreenChange',\n\t],\n\tfullscreenerror: [\n\t\t'fullscreenerror',\n\t\t'webkitfullscreenerror',\n\t\t'mozfullscreenerror',\n\t\t'MSFullscreenError',\n\t],\n};\n\nexport default aliases;","import Type from '../type';\n\nexport class Registry\n{\n\tregistry: WeakMap = new WeakMap();\n\n\tset(target: Element, event: string, listener: Function)\n\t{\n\t\tconst events = this.get(target);\n\n\t\tif (!Type.isSet(events[event]))\n\t\t{\n\t\t\tevents[event] = new Set();\n\t\t}\n\n\t\tevents[event].add(listener);\n\n\t\tthis.registry.set(target, events);\n\t}\n\n\tget(target: Element): {[event: string]: Set<Function>}\n\t{\n\t\treturn this.registry.get(target) || {};\n\t}\n\n\thas(target: Element, event?: string, listener?: Function): boolean\n\t{\n\t\tif (event && listener)\n\t\t{\n\t\t\treturn (\n\t\t\t\tthis.registry.has(target)\n\t\t\t\t&& this.registry.get(target)[event].has(listener)\n\t\t\t);\n\t\t}\n\n\t\treturn this.registry.has(target);\n\t}\n\n\tdelete(target: Element, event?: string, listener?: Function)\n\t{\n\t\tif (!Type.isDomNode(target))\n\t\t{\n\t\t\treturn;\n\t\t}\n\n\t\tif (Type.isString(event) && Type.isFunction(listener))\n\t\t{\n\t\t\tconst events = this.registry.get(target);\n\n\t\t\tif (Type.isPlainObject(events) && Type.isSet(events[event]))\n\t\t\t{\n\t\t\t\tevents[event].delete(listener);\n\t\t\t}\n\n\t\t\treturn;\n\t\t}\n\n\t\tif (Type.isString(event))\n\t\t{\n\t\t\tconst events = this.registry.get(target);\n\n\t\t\tif (Type.isPlainObject(events) && Type.isSet(events[event]))\n\t\t\t{\n\t\t\t\tevents[event] = new Set();\n\t\t\t}\n\n\t\t\treturn;\n\t\t}\n\n\t\tthis.registry.delete(target);\n\t}\n}\n\nexport default new Registry();","import Type from '../type';\n\nfunction isOptionSupported(name)\n{\n\tlet isSupported = false;\n\n\ttry {\n\t\tconst options = Object.defineProperty({}, name, {\n\t\t\tget() {\n\t\t\t\tisSupported = true;\n\t\t\t\treturn undefined;\n\t\t\t},\n\t\t});\n\n\t\twindow.addEventListener('test', null, options);\n\t}\n\t// eslint-disable-next-line\n\tcatch (err) {}\n\n\treturn isSupported;\n}\n\nexport default function fetchSupportedListenerOptions(\n\toptions?: T<{\n\t\tcapture?: boolean,\n\t\tonce?: boolean,\n\t\tpassive?: boolean,\n\t}>,\n): ?T\n{\n\tif (!Type.isPlainObject(options))\n\t{\n\t\treturn options;\n\t}\n\n\treturn Object\n\t\t.keys(options)\n\t\t.reduce((acc, name) => {\n\t\t\tif (isOptionSupported(name))\n\t\t\t{\n\t\t\t\tacc[name] = options[name];\n\t\t\t}\n\n\t\t\treturn acc;\n\t\t}, {});\n}","import Type from '../type';\nimport aliases from './aliases';\nimport registry from './registry';\nimport fetchSupportedListenerOptions from './fetch-supported-listener-options';\n\nexport default function bind(\n\ttarget: Element,\n\teventName: string,\n\thandler: (event: Event) => void,\n\toptions?: {\n\t\tcapture?: boolean,\n\t\tonce?: boolean,\n\t\tpassive?: boolean,\n\t},\n): void\n{\n\tif (\n\t\t!Type.isObject(target)\n\t\t|| !Type.isFunction(target.addEventListener)\n\t)\n\t{\n\t\treturn;\n\t}\n\n\tconst listenerOptions = fetchSupportedListenerOptions(options);\n\n\tif (eventName in aliases)\n\t{\n\t\taliases[eventName].forEach((key) => {\n\t\t\ttarget.addEventListener(key, handler, listenerOptions);\n\t\t\tregistry.set(target, eventName, handler);\n\t\t});\n\n\t\treturn;\n\t}\n\n\ttarget.addEventListener(eventName, handler, listenerOptions);\n\tregistry.set(target, eventName, handler);\n}","import Type from '../type';\nimport aliases from './aliases';\nimport registry from './registry';\nimport fetchSupportedListenerOptions from './fetch-supported-listener-options';\n\nexport default function unbind(\n\ttarget: Element,\n\teventName: string,\n\thandler: Function,\n\toptions?: {\n\t\tcapture?: boolean,\n\t\tonce?: boolean,\n\t\tpassive?: boolean,\n\t},\n): void\n{\n\tif (\n\t\t!Type.isObject(target)\n\t\t|| !Type.isFunction(target.removeEventListener)\n\t)\n\t{\n\t\treturn;\n\t}\n\n\tconst listenerOptions = fetchSupportedListenerOptions(options);\n\n\tif (eventName in aliases)\n\t{\n\t\taliases[eventName].forEach((key) => {\n\t\t\ttarget.removeEventListener(key, handler, listenerOptions);\n\t\t\tregistry.delete(target, key, handler);\n\t\t});\n\n\t\treturn;\n\t}\n\n\ttarget.removeEventListener(eventName, handler, listenerOptions);\n\tregistry.delete(target, eventName, handler);\n}","import Type from '../type';\nimport unbind from './unbind';\nimport registry from './registry';\n\nexport default function unbindAll(target: any, eventName?: string): void\n{\n\tconst events = registry.get(target);\n\n\tObject.keys(events).forEach((currentEvent) => {\n\t\tevents[currentEvent].forEach((handler) => {\n\t\t\tif (!Type.isString(eventName) || eventName === currentEvent)\n\t\t\t{\n\t\t\t\tunbind(target, currentEvent, handler);\n\t\t\t}\n\t\t});\n\t});\n}","import bind from './bind';\nimport unbind from './unbind';\n\nexport default function bindOnce(\n\ttarget: Element,\n\teventName: string,\n\thandler: (event: Event) => void,\n\toptions?: {\n\t\tcapture?: boolean,\n\t\tonce?: boolean,\n\t\tpassive?: boolean,\n\t},\n): void\n{\n\tconst once = function once(...args) {\n\t\tunbind(target, eventName, once, options);\n\t\thandler(...args);\n\t};\n\n\tbind(target, eventName, once, options);\n}","import Type from '../type';\n\n// eslint-disable-next-line\nexport let debugState = true;\n\nexport function enableDebug()\n{\n\tdebugState = true;\n}\n\nexport function disableDebug()\n{\n\tdebugState = false;\n}\n\nexport function isDebugEnabled()\n{\n\treturn debugState;\n}\n\nexport default function debug(...args: any)\n{\n\tif (\n\t\tisDebugEnabled()\n\t\t&& Type.isObject(window.console)\n\t)\n\t{\n\t\tif (Type.isFunction(window.console.log))\n\t\t{\n\t\t\twindow.console.log('BX.debug: ', args.length > 0 ? args : args[0]);\n\n\t\t\tif (args[0] instanceof Error && args[0].stack)\n\t\t\t{\n\t\t\t\twindow.console.log('BX.debug error stack trace', args[0].stack);\n\t\t\t}\n\t\t}\n\n\t\tif (Type.isFunction(window.console.trace))\n\t\t{\n\t\t\t// eslint-disable-next-line\n\t\t\tconsole.trace();\n\t\t}\n\t}\n}","import Type from '../../../type';\n\ntype SettingsEntry = {extension: string, script: string};\n\nexport default function fetchExtensionSettings(html: string): Array<SettingsEntry>\n{\n\tif (Type.isStringFilled(html))\n\t{\n\t\tconst scripts = html.match(/<script type=\"extension\\/settings\" \\b[^>]*>([\\s\\S]*?)<\\/script>/g);\n\t\tif (Type.isArrayFilled(scripts))\n\t\t{\n\t\t\treturn scripts.map((script) => {\n\t\t\t\tconst [, extension] = script.match(/data-extension=\"(.[a-z0-9_.-]+)\"/);\n\t\t\t\treturn {\n\t\t\t\t\textension,\n\t\t\t\t\tscript,\n\t\t\t\t};\n\t\t\t});\n\t\t}\n\t}\n\n\treturn [];\n}","import type {ExtensionOptions, State} from './type/load.extension.types';\n\nimport {\n\tloadAll,\n\tinlineScripts,\n\texternalStyles,\n\texternalScripts,\n} from './lib/load.extension.utils';\n\nimport Type from '../../type';\nimport Reflection from '../../reflection';\nimport fetchExtensionSettings from './internal/fetch-extension-settings';\n\nexport default class Extension\n{\n\tname: string;\n\tstate: State;\n\tinlineScripts: Array<string>;\n\texternalScripts: Array<string>;\n\texternalStyles: Array<string>;\n\tloadPromise: Promise<Extension>;\n\tconfig: {[key: string]: string};\n\n\tconstructor(options: ExtensionOptions)\n\t{\n\t\tthis.config = options.config || {};\n\t\tthis.name = options.extension;\n\t\tthis.state = 'scheduled';\n\n\t\t// eslint-disable-next-line\n\t\tconst result = BX.processHTML(options.html || '');\n\t\tthis.inlineScripts = result.SCRIPT.reduce(inlineScripts, []);\n\t\tthis.externalScripts = result.SCRIPT.reduce(externalScripts, []);\n\t\tthis.externalStyles = result.STYLE.reduce(externalStyles, []);\n\t\tthis.settingsScripts = fetchExtensionSettings(result.HTML);\n\t}\n\n\tload(): Promise<Extension>\n\t{\n\t\tif (this.state === 'error')\n\t\t{\n\t\t\tthis.loadPromise = this.loadPromise || Promise.resolve(this);\n\t\t\tconsole.warn('Extension', this.name, 'not found');\n\t\t}\n\n\t\tif (!this.loadPromise && this.state)\n\t\t{\n\t\t\tthis.state = 'load';\n\t\t\tthis.settingsScripts.forEach((entry) => {\n\t\t\t\tconst isLoaded = !!document.querySelector(\n\t\t\t\t\t`script[data-extension=\"${entry.extension}\"]`,\n\t\t\t\t);\n\t\t\t\tif (!isLoaded)\n\t\t\t\t{\n\t\t\t\t\tdocument.body.insertAdjacentHTML('beforeend', entry.script);\n\t\t\t\t}\n\t\t\t});\n\t\t\tthis.inlineScripts.forEach(BX.evalGlobal);\n\n\t\t\tthis.loadPromise = Promise\n\t\t\t\t.all([\n\t\t\t\t\tloadAll(this.externalScripts),\n\t\t\t\t\tloadAll(this.externalStyles),\n\t\t\t\t])\n\t\t\t\t.then(() => {\n\t\t\t\t\tthis.state = 'loaded';\n\n\t\t\t\t\tif (Type.isPlainObject(this.config) && this.config.namespace)\n\t\t\t\t\t{\n\t\t\t\t\t\treturn Reflection.getClass(this.config.namespace);\n\t\t\t\t\t}\n\n\t\t\t\t\treturn window;\n\t\t\t\t});\n\t\t}\n\n\t\treturn this.loadPromise;\n\t}\n}","import type Extension from '../load.extension.entity';\n\nexport const initialized: {[name: string]: Extension} = {};\nexport const ajaxController: string = 'main.bitrix.main.controller.loadext.getextensions';\nexport const Status: {[key: string]: string} = {\n\tSCHEDULED: 'scheduled',\n\tLOAD: 'load',\n\tLOADED: 'loaded',\n\tERROR: 'error',\n};","import Type from '../../../type';\n\nimport Extension from '../load.extension.entity';\nimport {initialized, ajaxController} from './load.extension.constants';\nimport type {JsItem, Response} from '../type/load.extension.types';\n\nexport function makeIterable(value: any): Array<any>\n{\n\treturn Type.isArray(value) ? value : [value];\n}\n\nexport function isInitialized(extension: string): boolean\n{\n\treturn extension in initialized;\n}\n\nexport function getInitialized(extension: string): Extension\n{\n\treturn initialized[extension];\n}\n\nexport function isAllInitialized(extensions: Array<string>): boolean\n{\n\treturn extensions.every(isInitialized);\n}\n\nexport function loadExtensions(extensions: Array<Extension>): Promise<Array<Extension>>\n{\n\treturn Promise.all(extensions.map(item => item.load()));\n}\n\nexport function mergeExports(exports: Array<Object>): {[key: string]: any}\n{\n\treturn exports.reduce((acc, currentExports) => {\n\t\tif (Type.isObject(currentExports))\n\t\t{\n\t\t\treturn {...currentExports};\n\t\t}\n\n\t\treturn currentExports;\n\t}, {});\n}\n\nexport function inlineScripts(acc: Array<string>, item: JsItem)\n{\n\tif (item.isInternal)\n\t{\n\t\tacc.push(item.JS);\n\t}\n\n\treturn acc;\n}\n\nexport function externalScripts(acc: Array<string>, item: JsItem)\n{\n\tif (!item.isInternal)\n\t{\n\t\tacc.push(item.JS);\n\t}\n\n\treturn acc;\n}\n\nexport function externalStyles(acc: Array<string>, item: ?string)\n{\n\tif (Type.isString(item) && item !== '')\n\t{\n\t\tacc.push(item);\n\t}\n\n\treturn acc;\n}\n\nexport function request(options: {extension: Array<string>}): Promise<any>\n{\n\treturn new Promise((resolve) => {\n\t\t// eslint-disable-next-line\n\t\tBX.ajax.runAction(ajaxController, {data: options}).then(resolve);\n\t});\n}\n\nexport function prepareExtensions(response: Response)\n{\n\tif (response.status !== 'success')\n\t{\n\t\tresponse.errors.map(console.warn);\n\t\treturn [];\n\t}\n\n\treturn response.data.map((item) => {\n\t\tconst initializedExtension = (\n\t\t\tgetInitialized(item.extension)\n\t\t);\n\n\t\tif (initializedExtension)\n\t\t{\n\t\t\treturn initializedExtension;\n\t\t}\n\n\t\tinitialized[item.extension] = new Extension(item);\n\n\t\treturn initialized[item.extension];\n\t});\n}\n\nexport function loadAll(items: Array<string>): Promise<void>\n{\n\tconst itemsList = makeIterable(items);\n\n\tif (!itemsList.length)\n\t{\n\t\treturn Promise.resolve();\n\t}\n\n\treturn new Promise((resolve) => {\n\t\t// eslint-disable-next-line\n\t\tBX.load(itemsList, resolve);\n\t});\n}","import * as utils from './lib/load.extension.utils';\nimport type Extension from './load.extension.entity';\n\ntype names = string | Array<string>;\ntype result = Promise<Array<Extension>>;\n\n/**\n * Loads extensions asynchronously\n * @param {string|Array<string>} extension\n * @return {Promise<Array<Extension>>}\n */\nexport default function loadExtension(extension: names): result\n{\n\tconst extensions = utils.makeIterable(extension);\n\tconst isAllInitialized = utils.isAllInitialized(extensions);\n\n\tif (isAllInitialized)\n\t{\n\t\tconst initializedExtensions = extensions.map(utils.getInitialized);\n\t\treturn utils.loadExtensions(initializedExtensions)\n\t\t\t.then(utils.mergeExports);\n\t}\n\n\treturn utils.request({extension: extensions})\n\t\t.then(utils.prepareExtensions)\n\t\t.then(utils.loadExtensions)\n\t\t.then(utils.mergeExports);\n}","import Type from '../type';\nimport getTag from '../../internal/get-tag';\n\nconst cloneableTags = [\n\t'[object Object]',\n\t'[object Array]',\n\t'[object RegExp]',\n\t'[object Arguments]',\n\t'[object Date]',\n\t'[object Error]',\n\t'[object Map]',\n\t'[object Set]',\n\t'[object ArrayBuffer]',\n\t'[object DataView]',\n\t'[object Float32Array]',\n\t'[object Float64Array]',\n\t'[object Int8Array]',\n\t'[object Int16Array]',\n\t'[object Int32Array]',\n\t'[object Uint8Array]',\n\t'[object Uint16Array]',\n\t'[object Uint32Array]',\n\t'[object Uint8ClampedArray]',\n];\n\nfunction isCloneable(value: any): boolean %checks\n{\n\tconst isCloneableValue = Type.isObjectLike(value)\n\t\t&& cloneableTags.includes(getTag(value));\n\n\treturn isCloneableValue || Type.isDomNode(value);\n}\n\nexport function internalClone(value: any, map: WeakMap<any, any>): any\n{\n\tif (map.has(value))\n\t{\n\t\treturn map.get(value);\n\t}\n\n\tif (isCloneable(value))\n\t{\n\t\tif (Type.isArray(value))\n\t\t{\n\t\t\tconst cloned = Array.from(value);\n\n\t\t\tmap.set(value, cloned);\n\n\t\t\tvalue.forEach((item, index) => {\n\t\t\t\tcloned[index] = internalClone(item, map);\n\t\t\t});\n\n\t\t\treturn map.get(value);\n\t\t}\n\n\t\tif (Type.isDomNode(value))\n\t\t{\n\t\t\treturn value.cloneNode(true);\n\t\t}\n\n\t\tif (Type.isMap(value))\n\t\t{\n\t\t\tconst result = new Map();\n\n\t\t\tmap.set(value, result);\n\n\t\t\tvalue.forEach((item, key) => {\n\t\t\t\tresult.set(\n\t\t\t\t\tinternalClone(key, map),\n\t\t\t\t\tinternalClone(item, map)\n\t\t\t\t);\n\t\t\t});\n\n\t\t\treturn result;\n\t\t}\n\n\t\tif (Type.isSet(value))\n\t\t{\n\t\t\tconst result = new Set();\n\n\t\t\tmap.set(value, result);\n\n\t\t\tvalue.forEach((item) => {\n\t\t\t\tresult.add(internalClone(item, map));\n\t\t\t});\n\n\t\t\treturn result;\n\t\t}\n\n\t\tif (Type.isDate(value))\n\t\t{\n\t\t\treturn new Date(value);\n\t\t}\n\n\t\tif (Type.isRegExp(value))\n\t\t{\n\t\t\tconst regExpFlags = /\\w*$/;\n\t\t\tconst flags = regExpFlags.exec(value);\n\n\t\t\tlet result = new RegExp(value.source);\n\n\t\t\tif (flags && Type.isArray(flags))\n\t\t\t{\n\t\t\t\tresult = new RegExp(value.source, flags[0]);\n\t\t\t}\n\n\t\t\tresult.lastIndex = value.lastIndex;\n\n\t\t\treturn result;\n\t\t}\n\n\t\tconst proto = Object.getPrototypeOf(value);\n\t\tconst result = Object.assign(Object.create(proto), value);\n\n\t\tmap.set(value, result);\n\n\t\tObject.keys(value).forEach((key) => {\n\t\t\tresult[key] = internalClone(value[key], map);\n\t\t});\n\n\t\treturn result;\n\t}\n\n\treturn value;\n}\n\n/**\n * Clones any cloneable object\n * @param value\n * @return {*}\n */\nexport default function clone(value: any): any\n{\n\treturn internalClone(value, new WeakMap());\n}","import Type from '../type';\n\nexport default function merge(current, target)\n{\n\treturn Object.entries(target).reduce((acc, [key, value]) => {\n\t\tif (\n\t\t\t!Type.isDomNode(acc[key])\n\t\t\t&& Type.isObjectLike(acc[key])\n\t\t\t&& Type.isObjectLike(value)\n\t\t)\n\t\t{\n\t\t\tacc[key] = merge(acc[key], value);\n\t\t\treturn acc;\n\t\t}\n\n\t\tacc[key] = value;\n\t\treturn acc;\n\t}, current);\n}","import Type from '../type';\n\nexport default function createComparator(fields, orders = [])\n{\n\treturn (a, b) => {\n\t\tconst field = fields[0];\n\t\tconst order = orders[0] || 'asc';\n\n\t\tif (Type.isUndefined(field))\n\t\t{\n\t\t\treturn 0;\n\t\t}\n\n\t\tlet valueA = a[field];\n\t\tlet valueB = b[field];\n\n\t\tif (Type.isString(valueA) && Type.isString(valueB))\n\t\t{\n\t\t\tvalueA = valueA.toLowerCase();\n\t\t\tvalueB = valueB.toLowerCase();\n\t\t}\n\n\t\tif (valueA < valueB)\n\t\t{\n\t\t\treturn order === 'asc' ? -1 : 1;\n\t\t}\n\n\t\tif (valueA > valueB)\n\t\t{\n\t\t\treturn order === 'asc' ? 1 : -1;\n\t\t}\n\n\t\treturn createComparator(fields.slice(1), orders.slice(1))(a, b);\n\t};\n}","import Type from './type';\nimport debug from './runtime/debug';\nimport loadExtension from './runtime/loadextension/load.extension';\nimport clone from './runtime/clone';\nimport {\n\texternalScripts,\n\texternalStyles,\n\tinlineScripts,\n\tloadAll,\n} from './runtime/loadextension/lib/load.extension.utils';\nimport merge from './runtime/merge';\nimport createComparator from './runtime/create-comparator';\n\n/**\n * @memberOf BX\n */\nexport default class Runtime\n{\n\tstatic debug = debug;\n\tstatic loadExtension = loadExtension;\n\tstatic clone = clone;\n\n\tstatic debounce(func: Function, wait: number = 0, context = null): Function\n\t{\n\t\tlet timeoutId;\n\n\t\treturn function debounced(...args)\n\t\t{\n\t\t\tif (Type.isNumber(timeoutId))\n\t\t\t{\n\t\t\t\tclearTimeout(timeoutId);\n\t\t\t}\n\n\t\t\ttimeoutId = setTimeout(() => {\n\t\t\t\tfunc.apply((context || this), args);\n\t\t\t}, wait);\n\t\t};\n\t}\n\n\tstatic throttle(func: Function, wait: number = 0, context = null): Function\n\t{\n\t\tlet timer = 0;\n\t\tlet invoke;\n\n\t\treturn function wrapper(...args)\n\t\t{\n\t\t\tinvoke = true;\n\n\t\t\tif (!timer)\n\t\t\t{\n\t\t\t\tconst q = function q()\n\t\t\t\t{\n\t\t\t\t\tif (invoke)\n\t\t\t\t\t{\n\t\t\t\t\t\tfunc.apply((context || this), args);\n\t\t\t\t\t\tinvoke = false;\n\t\t\t\t\t\ttimer = setTimeout(q, wait);\n\t\t\t\t\t}\n\t\t\t\t\telse\n\t\t\t\t\t{\n\t\t\t\t\t\ttimer = null;\n\t\t\t\t\t}\n\t\t\t\t};\n\t\t\t\tq();\n\t\t\t}\n\t\t};\n\t}\n\n\tstatic html(node: HTMLElement, html, params = {}): Promise | string\n\t{\n\t\tif (Type.isNil(html) && Type.isDomNode(node))\n\t\t{\n\t\t\treturn node.innerHTML;\n\t\t}\n\n\t\t// eslint-disable-next-line\n\t\tconst parsedHtml = BX.processHTML(html);\n\t\tconst externalCss = parsedHtml.STYLE.reduce(externalStyles, []);\n\t\tconst externalJs = parsedHtml.SCRIPT.reduce(externalScripts, []);\n\t\tconst inlineJs = parsedHtml.SCRIPT.reduce(inlineScripts, []);\n\n\t\tif (Type.isDomNode(node))\n\t\t{\n\t\t\tif (params.htmlFirst || (!externalJs.length && !externalCss.length))\n\t\t\t{\n\t\t\t\tif (params.useAdjacentHTML)\n\t\t\t\t{\n\t\t\t\t\tnode.insertAdjacentHTML('beforeend', parsedHtml.HTML);\n\t\t\t\t}\n\t\t\t\telse\n\t\t\t\t{\n\t\t\t\t\tnode.innerHTML = parsedHtml.HTML;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\treturn Promise\n\t\t\t.all([\n\t\t\t\tloadAll(externalJs),\n\t\t\t\tloadAll(externalCss),\n\t\t\t])\n\t\t\t.then(() => {\n\t\t\t\tif (Type.isDomNode(node) && (externalJs.length > 0 || externalCss.length > 0))\n\t\t\t\t{\n\t\t\t\t\tif (params.useAdjacentHTML)\n\t\t\t\t\t{\n\t\t\t\t\t\tnode.insertAdjacentHTML('beforeend', parsedHtml.HTML);\n\t\t\t\t\t}\n\t\t\t\t\telse\n\t\t\t\t\t{\n\t\t\t\t\t\tnode.innerHTML = parsedHtml.HTML;\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\t// eslint-disable-next-line\n\t\t\t\tinlineJs.forEach(script => BX.evalGlobal(script));\n\n\t\t\t\tif (Type.isFunction(params.callback))\n\t\t\t\t{\n\t\t\t\t\tparams.callback();\n\t\t\t\t}\n\t\t\t});\n\t}\n\n\t/**\n\t * Merges objects or arrays\n\t * @param targets\n\t * @return {any}\n\t */\n\tstatic merge(...targets)\n\t{\n\t\tif (Type.isArray(targets[0]))\n\t\t{\n\t\t\ttargets.unshift([]);\n\t\t}\n\t\telse if (Type.isObject(targets[0]))\n\t\t{\n\t\t\ttargets.unshift({});\n\t\t}\n\n\t\treturn targets.reduce((acc, item) => {\n\t\t\treturn merge(acc, item);\n\t\t}, targets[0]);\n\t}\n\n\tstatic orderBy(\n\t\tcollection: Array<{[key: string]: any}> | {[key: string]: {[key: string]: any}},\n\t\tfields: Array<string> = [],\n\t\torders: Array<string> = [],\n\t)\n\t{\n\t\tconst comparator = createComparator(fields, orders);\n\t\treturn Object.values(collection).sort(comparator);\n\t}\n\n\tstatic destroy(target, errorMessage = 'Object is destroyed')\n\t{\n\t\tif (Type.isObject(target))\n\t\t{\n\t\t\tconst onPropertyAccess = () => {\n\t\t\t\tthrow new Error(errorMessage);\n\t\t\t};\n\t\t\tconst ownProperties = Object.keys(target);\n\t\t\tconst prototypeProperties = (() => {\n\t\t\t\tconst targetPrototype = Object.getPrototypeOf(target);\n\t\t\t\tif (Type.isObject(targetPrototype))\n\t\t\t\t{\n\t\t\t\t\treturn Object.getOwnPropertyNames(targetPrototype);\n\t\t\t\t}\n\n\t\t\t\treturn [];\n\t\t\t})();\n\n\t\t\tconst uniquePropertiesList = [\n\t\t\t\t...new Set([...ownProperties, ...prototypeProperties]),\n\t\t\t];\n\n\t\t\tuniquePropertiesList\n\t\t\t\t.filter((name) => {\n\t\t\t\t\tconst descriptor = Object.getOwnPropertyDescriptor(target, name);\n\t\t\t\t\treturn (\n\t\t\t\t\t\t!/__(.+)__/.test(name)\n\t\t\t\t\t\t&& (\n\t\t\t\t\t\t\t!Type.isObject(descriptor)\n\t\t\t\t\t\t\t|| descriptor.configurable === true\n\t\t\t\t\t\t)\n\t\t\t\t\t);\n\t\t\t\t})\n\t\t\t\t.forEach((name) => {\n\t\t\t\t\tObject.defineProperty(target, name, {\n\t\t\t\t\t\tget: onPropertyAccess,\n\t\t\t\t\t\tset: onPropertyAccess,\n\t\t\t\t\t\tconfigurable: false,\n\t\t\t\t\t});\n\t\t\t\t});\n\n\t\t\tObject.setPrototypeOf(target, null);\n\t\t}\n\t}\n}","import Type from './type';\n\nconst isError = Symbol.for('BX.BaseError.isError');\n\n/**\n * @memberOf BX\n */\nexport default class BaseError\n{\n\tconstructor(message?: string, code?: string, customData?: any)\n\t{\n\t\tthis[isError] = true;\n\t\tthis.message = '';\n\t\tthis.code = null;\n\t\tthis.customData = null;\n\n\t\tthis.setMessage(message);\n\t\tthis.setCode(code);\n\t\tthis.setCustomData(customData);\n\t}\n\n\t/**\n\t * Returns a brief description of the error\n\t * @returns {string}\n\t */\n\tgetMessage(): string\n\t{\n\t\treturn this.message;\n\t}\n\n\t/**\n\t * Sets a message of the error\n\t * @param {string} message\n\t * @returns {this}\n\t */\n\tsetMessage(message: string): this\n\t{\n\t\tif (Type.isString(message))\n\t\t{\n\t\t\tthis.message = message;\n\t\t}\n\n\t\treturn this;\n\t}\n\n\t/**\n\t * Returns a code of the error\n\t * @returns {?string}\n\t */\n\tgetCode(): string\n\t{\n\t\treturn this.code;\n\t}\n\n\t/**\n\t * Sets a code of the error\n\t * @param {string} code\n\t * @returns {this}\n\t */\n\tsetCode(code: string): this\n\t{\n\t\tif (Type.isStringFilled(code) || code === null)\n\t\t{\n\t\t\tthis.code = code;\n\t\t}\n\n\t\treturn this;\n\t}\n\n\n\t/**\n\t * Returns custom data of the error\n\t * @returns {null|*}\n\t */\n\tgetCustomData(): any\n\t{\n\t\treturn this.customData;\n\t}\n\n\t/**\n\t * Sets custom data of the error\n\t * @returns {this}\n\t */\n\tsetCustomData(customData: any): this\n\t{\n\t\tif (!Type.isUndefined(customData))\n\t\t{\n\t\t\tthis.customData = customData;\n\t\t}\n\n\t\treturn this;\n\t}\n\n\ttoString()\n\t{\n\t\tconst code = this.getCode();\n\t\tconst message = this.getMessage();\n\n\t\tif (!Type.isStringFilled(code) && !Type.isStringFilled(message))\n\t\t{\n\t\t\treturn '';\n\t\t}\n\t\telse if (!Type.isStringFilled(code))\n\t\t{\n\t\t\treturn `Error: ${message}`;\n\t\t}\n\t\telse if (!Type.isStringFilled(message))\n\t\t{\n\t\t\treturn code;\n\t\t}\n\t\telse\n\t\t{\n\t\t\treturn `${code}: ${message}`;\n\t\t}\n\t}\n\n\t/**\n\t * Returns true if the object is an instance of BaseError\n\t * @param error\n\t * @returns {boolean}\n\t */\n\tstatic isError(error: BaseError)\n\t{\n\t\treturn Type.isObject(error) && error[isError] === true;\n\t}\n}","import Type from '../type';\nimport BaseError from \"../base-error\";\n/**\n * Implements base event object interface\n */\nexport default class BaseEvent\n{\n\tconstructor(\n\t\toptions: {\n\t\t\tdata?: any,\n\t\t\tcompatData?: Array\n\t\t} = {\n\t\t\tdata: {},\n\t\t},\n\t)\n\t{\n\t\tthis.type = '';\n\t\tthis.data = null;\n\t\tthis.target = null;\n\t\tthis.compatData = null;\n\t\tthis.defaultPrevented = false;\n\t\tthis.immediatePropagationStopped = false;\n\t\tthis.errors = [];\n\n\t\tthis.setData(options.data);\n\t\tthis.setCompatData(options.compatData);\n\t}\n\n\tstatic create(options): this\n\t{\n\t\treturn new this(options);\n\t}\n\n\t/**\n\t * Returns the name of the event\n\t * @returns {string}\n\t */\n\tgetType(): string\n\t{\n\t\treturn this.type;\n\t}\n\n\t/**\n\t *\n\t * @param {string} type\n\t */\n\tsetType(type: string): this\n\t{\n\t\tif (Type.isStringFilled(type))\n\t\t{\n\t\t\tthis.type = type;\n\t\t}\n\n\t\treturn this;\n\t}\n\n\t/**\n\t * Returns an event data\n\t */\n\tgetData()\n\t{\n\t\treturn this.data;\n\t}\n\n\t/**\n\t * Sets an event data\n\t * @param data\n\t */\n\tsetData(data: any): this\n\t{\n\t\tif (!Type.isUndefined(data))\n\t\t{\n\t\t\tthis.data = data;\n\t\t}\n\n\t\treturn this;\n\t}\n\n\t/**\n\t * Returns arguments for BX.addCustomEvent handlers (deprecated).\n\t * @returns {array | null}\n\t */\n\tgetCompatData(): Array | null\n\t{\n\t\treturn this.compatData;\n\t}\n\n\t/**\n\t * Sets arguments for BX.addCustomEvent handlers (deprecated)\n\t * @param data\n\t */\n\tsetCompatData(data: Array): this\n\t{\n\t\tif (Type.isArrayLike(data))\n\t\t{\n\t\t\tthis.compatData = data;\n\t\t}\n\n\t\treturn this;\n\t}\n\n\t/**\n\t * Sets a event target\n\t * @param target\n\t */\n\tsetTarget(target): this\n\t{\n\t\tthis.target = target;\n\n\t\treturn this;\n\t}\n\n\t/**\n\t * Returns a event target\n\t */\n\tgetTarget(): any\n\t{\n\t\treturn this.target;\n\t}\n\n\t/**\n\t * Returns an array of event errors\n\t * @returns {[]}\n\t */\n\tgetErrors(): Array<BaseError>\n\t{\n\t\treturn this.errors;\n\t}\n\n\t/**\n\t * Adds an error of the event.\n\t * Event listeners can prevent emitter's default action and set the reason of this behavior.\n\t * @param error\n\t */\n\tsetError(error: BaseError)\n\t{\n\t\tif (BaseError.isError(error))\n\t\t{\n\t\t\tthis.errors.push(error);\n\t\t}\n\t}\n\n\t/**\n\t * Prevents default action\n\t */\n\tpreventDefault()\n\t{\n\t\tthis.defaultPrevented = true;\n\t}\n\n\t/**\n\t * Checks that is default action prevented\n\t * @return {boolean}\n\t */\n\tisDefaultPrevented(): boolean\n\t{\n\t\treturn this.defaultPrevented;\n\t}\n\n\t/**\n\t * Stops event immediate propagation\n\t */\n\tstopImmediatePropagation()\n\t{\n\t\tthis.immediatePropagationStopped = true;\n\t}\n\n\t/**\n\t * Checks that is immediate propagation stopped\n\t * @return {boolean}\n\t */\n\tisImmediatePropagationStopped(): boolean\n\t{\n\t\treturn this.immediatePropagationStopped;\n\t}\n}","import Type from \"../../type\";\n\nexport default class EventStore\n{\n\tconstructor(options: { defaultMaxListeners?: number } = {})\n\t{\n\t\tthis.defaultMaxListeners = Type.isNumber(options.defaultMaxListeners) ? options.defaultMaxListeners : 10;\n\t\tthis.eventStore = new WeakMap();\n\t}\n\n\tadd(target: Object, options: { maxListeners?: number } = {})\n\t{\n\t\tconst record = this.getRecordScheme();\n\t\tif (Type.isNumber(options.maxListeners))\n\t\t{\n\t\t\trecord.maxListeners = options.maxListeners;\n\t\t}\n\n\t\tthis.eventStore.set(target, record);\n\n\t\treturn record;\n\t}\n\n\tget(target: Object)\n\t{\n\t\treturn this.eventStore.get(target);\n\t}\n\n\tgetOrAdd(target: Object, options: { maxListeners?: number } = {})\n\t{\n\t\treturn this.get(target) || this.add(target, options);\n\t}\n\n\tdelete(context: any)\n\t{\n\t\tthis.eventStore.delete(context);\n\t}\n\n\tgetRecordScheme()\n\t{\n\t\treturn {\n\t\t\teventsMap: new Map(),\n\t\t\tonceMap: new Map(),\n\t\t\tmaxListeners: this.getDefaultMaxListeners(),\n\t\t\teventsMaxListeners: new Map(),\n\t\t};\n\t}\n\n\tgetDefaultMaxListeners()\n\t{\n\t\treturn this.defaultMaxListeners;\n\t}\n}\n\n","import Type from \"../../type\";\nimport Runtime from \"../../runtime\";\n\nexport default class WarningStore\n{\n\tconstructor()\n\t{\n\t\tthis.warnings = new Map();\n\t\tthis.printDelayed = Runtime.debounce(this.print.bind(this), 500);\n\t}\n\n\tadd(target, eventName, listeners)\n\t{\n\t\tlet contextWarnings = this.warnings.get(target);\n\t\tif (!contextWarnings)\n\t\t{\n\t\t\tcontextWarnings = Object.create(null);\n\t\t\tthis.warnings.set(target, contextWarnings);\n\t\t}\n\n\t\tif (!contextWarnings[eventName])\n\t\t{\n\t\t\tcontextWarnings[eventName] = {};\n\t\t}\n\n\t\tcontextWarnings[eventName].size = listeners.size;\n\t\tif (!Type.isArray(contextWarnings[eventName].errors))\n\t\t{\n\t\t\tcontextWarnings[eventName].errors = [];\n\t\t}\n\n\t\tcontextWarnings[eventName].errors.push(new Error());\n\t}\n\n\tprint()\n\t{\n\t\tthis.warnings.forEach((warnings) => {\n\t\t\tfor (let eventName in warnings)\n\t\t\t{\n\t\t\t\tconsole.groupCollapsed(\n\t\t\t\t\t'Possible BX.Event.EventEmitter memory leak detected. ' +\n\t\t\t\t\twarnings[eventName].size + ' \"' + eventName + '\" listeners added. ' +\n\t\t\t\t\t'Use emitter.setMaxListeners() to increase limit.'\n\t\t\t\t);\n\t\t\t\tconsole.dir(warnings[eventName].errors);\n\t\t\t\tconsole.groupEnd();\n\t\t\t}\n\t\t});\n\n\t\tthis.clear();\n\t}\n\n\tclear()\n\t{\n\t\tthis.warnings.clear();\n\t}\n\n\tprintDelayed()\n\t{\n\t}\n}","import Type from '../type';\nimport Runtime from '../runtime';\nimport Reflection from '../reflection';\nimport BaseEvent from './base-event';\nimport EventStore from './event-emitter/eventstore';\nimport WarningStore from './event-emitter/warningstore';\n\nconst eventStore = new EventStore({ defaultMaxListeners: 10 });\nconst warningStore = new WarningStore();\nconst aliasStore = new Map();\n\nconst globalTarget = {\n\tGLOBAL_TARGET: 'GLOBAL_TARGET' // this key only for debugging purposes\n};\neventStore.add(globalTarget, { maxListeners: 25 });\n\nconst isEmitterProperty = Symbol.for('BX.Event.EventEmitter.isEmitter');\nconst namespaceProperty = Symbol('namespaceProperty');\nconst targetProperty = Symbol('targetProperty');\n\nexport default class EventEmitter\n{\n\tstatic GLOBAL_TARGET = globalTarget;\n\tstatic DEFAULT_MAX_LISTENERS = eventStore.getDefaultMaxListeners();\n\n\t/** @private */\n\tstatic sequenceValue = 1;\n\n\tconstructor(...args)\n\t{\n\t\tthis[targetProperty] = null;\n\t\tthis[namespaceProperty] = null;\n\t\tthis[isEmitterProperty] = true;\n\n\t\tlet target = this;\n\t\tif (Object.getPrototypeOf(this) === EventEmitter.prototype && args.length > 0) //new EventEmitter(obj) case\n\t\t{\n\t\t\tif (!Type.isObject(args[0]))\n\t\t\t{\n\t\t\t\tthrow new TypeError(`The \"target\" argument must be an object.`);\n\t\t\t}\n\n\t\t\ttarget = args[0];\n\n\t\t\tthis.setEventNamespace(args[1]);\n\t\t}\n\n\t\tthis[targetProperty] = target;\n\t}\n\n\t/**\n\t * Makes a target observable\n\t * @param {object} target\n\t * @param {string} namespace\n\t */\n\tstatic makeObservable(target: Object, namespace: string): void\n\t{\n\t\tif (!Type.isObject(target))\n\t\t{\n\t\t\tthrow new TypeError('The \"target\" argument must be an object.');\n\t\t}\n\n\t\tif (!Type.isStringFilled(namespace))\n\t\t{\n\t\t\tthrow new TypeError('The \"namespace\" must be an non-empty string.');\n\t\t}\n\n\t\tif (EventEmitter.isEventEmitter(target))\n\t\t{\n\t\t\tthrow new TypeError('The \"target\" is an event emitter already.');\n\t\t}\n\n\t\tconst targetProto = Object.getPrototypeOf(target);\n\t\tconst emitter = new EventEmitter();\n\t\temitter.setEventNamespace(namespace);\n\n\t\tObject.setPrototypeOf(emitter, targetProto);\n\t\tObject.setPrototypeOf(target, emitter);\n\n\t\tObject.getOwnPropertyNames(EventEmitter.prototype).forEach(method => {\n\n\t\t\tif (['constructor'].includes(method))\n\t\t\t{\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\temitter[method] = function(...args) {\n\t\t\t\treturn EventEmitter.prototype[method].apply(target, args);\n\t\t\t}\n\t\t});\n\t}\n\n\tsetEventNamespace(namespace)\n\t{\n\t\tif (Type.isStringFilled(namespace))\n\t\t{\n\t\t\tthis[namespaceProperty] = namespace;\n\t\t}\n\t}\n\n\tgetEventNamespace()\n\t{\n\t\treturn this[namespaceProperty];\n\t}\n\n\t/**\n\t * Subscribes listener on specified global event\n\t * @param {object} target\n\t * @param {string} eventName\n\t * @param {Function<BaseEvent>} listener\n\t * @param {object} options\n\t */\n\tstatic subscribe(\n\t\ttarget: Object,\n\t\teventName: string,\n\t\tlistener: (event: BaseEvent) => void,\n\t\toptions?: {\n\t\t\tcompatMode?: boolean,\n\t\t\tuseGlobalNaming?: boolean\n\t\t}\n\t): void\n\t{\n\t\tif (Type.isString(target))\n\t\t{\n\t\t\toptions = listener;\n\t\t\tlistener = eventName;\n\t\t\teventName = target;\n\t\t\ttarget = this.GLOBAL_TARGET;\n\t\t}\n\n\t\tif (!Type.isObject(target))\n\t\t{\n\t\t\tthrow new TypeError(`The \"target\" argument must be an object.`);\n\t\t}\n\n\t\teventName = this.normalizeEventName(eventName);\n\t\tif (!Type.isStringFilled(eventName))\n\t\t{\n\t\t\tthrow new TypeError(`The \"eventName\" argument must be a string.`);\n\t\t}\n\n\t\tlistener = this.normalizeListener(listener);\n\n\t\toptions = Type.isPlainObject(options) ? options : {};\n\t\tconst fullEventName = this.resolveEventName(eventName, target, options.useGlobalNaming === true);\n\t\tconst { eventsMap, onceMap } = eventStore.getOrAdd(target);\n\t\tconst onceListeners = onceMap.get(fullEventName);\n\t\tlet listeners = eventsMap.get(fullEventName);\n\n\t\tif ((listeners && listeners.has(listener)) || (onceListeners && onceListeners.has(listener)))\n\t\t{\n\t\t\tconsole.error(`You cannot subscribe the same \"${fullEventName}\" event listener twice.`);\n\t\t}\n\t\telse\n\t\t{\n\t\t\tif (listeners)\n\t\t\t{\n\t\t\t\tlisteners.set(\n\t\t\t\t\tlistener,\n\t\t\t\t\t{\n\t\t\t\t\t\tlistener,\n\t\t\t\t\t\toptions,\n\t\t\t\t\t\tsort: this.getNextSequenceValue()\n\t\t\t\t\t}\n\t\t\t\t)\n\t\t\t}\n\t\t\telse\n\t\t\t{\n\t\t\t\tlisteners = new Map([[\n\t\t\t\t\tlistener,\n\t\t\t\t\t{\n\t\t\t\t\t\tlistener,\n\t\t\t\t\t\toptions,\n\t\t\t\t\t\tsort: this.getNextSequenceValue()\n\t\t\t\t\t}\n\t\t\t\t]]);\n\n\t\t\t\teventsMap.set(fullEventName, listeners);\n\t\t\t}\n\t\t}\n\n\t\tconst maxListeners = this.getMaxListeners(target, eventName);\n\t\tif (listeners.size > maxListeners)\n\t\t{\n\t\t\twarningStore.add(target, fullEventName, listeners);\n\t\t\twarningStore.printDelayed();\n\t\t}\n\t}\n\n\t/**\n\t * Subscribes a listener on a specified event\n\t * @param {string} eventName\n\t * @param {Function<BaseEvent>} listener\n\t * @return {this}\n\t */\n\tsubscribe(eventName: string, listener: (event: BaseEvent) => void): this\n\t{\n\t\tEventEmitter.subscribe(this, eventName, listener);\n\n\t\treturn this;\n\t}\n\n\t/**\n\t *\n\t * @param {object} options\n\t * @param {object} [aliases]\n\t * @param {boolean} [compatMode=false]\n\t */\n\tsubscribeFromOptions(\n\t\toptions: { [eventName: string]: Function },\n\t\taliases?: { [alias: string]: { eventName: string, namespace: string } },\n\t\tcompatMode?: boolean\n\t)\n\t{\n\t\tif (!Type.isPlainObject(options))\n\t\t{\n\t\t\treturn;\n\t\t}\n\n\t\taliases = Type.isPlainObject(aliases) ? EventEmitter.normalizeAliases(aliases) : {};\n\n\t\tObject.keys(options).forEach((eventName) => {\n\n\t\t\tconst listener = EventEmitter.normalizeListener(options[eventName]);\n\t\t\teventName = EventEmitter.normalizeEventName(eventName);\n\n\t\t\tif (aliases[eventName])\n\t\t\t{\n\t\t\t\tconst { eventName: actualName } = aliases[eventName];\n\t\t\t\tEventEmitter.subscribe(this, actualName, listener, { compatMode: compatMode !== false });\n\t\t\t}\n\t\t\telse\n\t\t\t{\n\t\t\t\tEventEmitter.subscribe(this, eventName, listener, { compatMode: compatMode === true });\n\t\t\t}\n\t\t})\n\t}\n\n\t/**\n\t * Subscribes a listener that is called at\n\t * most once for a specified event.\n\t * @param {object} target\n\t * @param {string} eventName\n\t * @param {Function<BaseEvent>} listener\n\t */\n\tstatic subscribeOnce(\n\t\ttarget: Object,\n\t\teventName: string,\n\t\tlistener: (event: BaseEvent) => void\n\t): void\n\t{\n\t\tif (Type.isString(target))\n\t\t{\n\t\t\tlistener = eventName;\n\t\t\teventName = target;\n\t\t\ttarget = this.GLOBAL_TARGET;\n\t\t}\n\n\t\tif (!Type.isObject(target))\n\t\t{\n\t\t\tthrow new TypeError(`The \"target\" argument must be an object.`);\n\t\t}\n\n\t\teventName = this.normalizeEventName(eventName);\n\t\tif (!Type.isStringFilled(eventName))\n\t\t{\n\t\t\tthrow new TypeError(`The \"eventName\" argument must be a string.`);\n\t\t}\n\n\t\tlistener = this.normalizeListener(listener);\n\n\t\tconst fullEventName = this.resolveEventName(eventName, target);\n\t\tconst { eventsMap, onceMap } = eventStore.getOrAdd(target);\n\t\tconst listeners = eventsMap.get(fullEventName);\n\t\tlet onceListeners = onceMap.get(fullEventName);\n\n\t\tif ((listeners && listeners.has(listener)) || (onceListeners && onceListeners.has(listener)))\n\t\t{\n\t\t\tconsole.error(`You cannot subscribe the same \"${fullEventName}\" event listener twice.`);\n\t\t}\n\t\telse\n\t\t{\n\t\t\tconst once = (...args) => {\n\t\t\t\tthis.unsubscribe(target, eventName, once);\n\t\t\t\tonceListeners.delete(listener);\n\t\t\t\tlistener(...args);\n\t\t\t};\n\n\t\t\tif (onceListeners)\n\t\t\t{\n\t\t\t\tonceListeners.set(listener, once);\n\t\t\t}\n\t\t\telse\n\t\t\t{\n\t\t\t\tonceListeners = new Map([[listener, once]]);\n\t\t\t\tonceMap.set(fullEventName, onceListeners);\n\t\t\t}\n\n\t\t\tthis.subscribe(target, eventName, once);\n\t\t}\n\t}\n\n\t/**\n\t * Subscribes a listener that is called at most once for a specified event.\n\t * @param {string} eventName\n\t * @param {Function<BaseEvent>} listener\n\t * @return {this}\n\t */\n\tsubscribeOnce(eventName: string, listener: (event: BaseEvent) => void): this\n\t{\n\t\tEventEmitter.subscribeOnce(this, eventName, listener);\n\n\t\treturn this;\n\t}\n\n\t/**\n\t * Unsubscribes an event listener\n\t * @param {object} target\n\t * @param {string} eventName\n\t * @param {Function<BaseEvent>} listener\n\t * @param options\n\t */\n\tstatic unsubscribe(\n\t\ttarget: Object,\n\t\teventName: string,\n\t\tlistener: (event: BaseEvent) => void,\n\t\toptions?: {\n\t\t\tuseGlobalNaming?: boolean\n\t\t}\n\t): void\n\t{\n\t\tif (Type.isString(target))\n\t\t{\n\t\t\tlistener = eventName;\n\t\t\teventName = target;\n\t\t\ttarget = this.GLOBAL_TARGET;\n\t\t}\n\n\t\teventName = this.normalizeEventName(eventName);\n\t\tif (!Type.isStringFilled(eventName))\n\t\t{\n\t\t\tthrow new TypeError(`The \"eventName\" argument must be a string.`);\n\t\t}\n\n\t\tlistener = this.normalizeListener(listener);\n\t\toptions = Type.isPlainObject(options) ? options : {};\n\n\t\tconst fullEventName = this.resolveEventName(eventName, target, options.useGlobalNaming === true);\n\t\tconst targetInfo = eventStore.get(target);\n\t\tconst listeners = targetInfo && targetInfo.eventsMap.get(fullEventName);\n\t\tconst onceListeners = targetInfo && targetInfo.onceMap.get(fullEventName);\n\n\t\tif (listeners)\n\t\t{\n\t\t\tlisteners.delete(listener);\n\t\t}\n\n\t\tif (onceListeners)\n\t\t{\n\t\t\tconst once = onceListeners.get(listener);\n\t\t\tif (once)\n\t\t\t{\n\t\t\t\tonceListeners.delete(listener);\n\t\t\t\tlisteners.delete(once);\n\t\t\t}\n\t\t}\n\t}\n\n\t/**\n\t * Unsubscribes an event listener\n\t * @param {string} eventName\n\t * @param {Function<BaseEvent>} listener\n\t * @return {this}\n\t */\n\tunsubscribe(eventName: string, listener: (event: BaseEvent) => void): this\n\t{\n\t\tEventEmitter.unsubscribe(this, eventName, listener);\n\n\t\treturn this;\n\t}\n\n\t/**\n\t * Unsubscribes all event listeners\n\t * @param {object} target\n\t * @param {string} eventName\n\t * @param options\n\t */\n\tstatic unsubscribeAll(\n\t\ttarget: Object,\n\t\teventName?: string,\n\t\toptions?: {\n\t\t\tuseGlobalNaming?: boolean\n\t\t}\n\t): void\n\t{\n\t\tif (Type.isString(target))\n\t\t{\n\t\t\teventName = target;\n\t\t\ttarget = this.GLOBAL_TARGET;\n\t\t}\n\n\t\tif (Type.isStringFilled(eventName))\n\t\t{\n\t\t\tconst targetInfo = eventStore.get(target);\n\t\t\tif (targetInfo)\n\t\t\t{\n\t\t\t\toptions = Type.isPlainObject(options) ? options : {};\n\t\t\t\tconst fullEventName = this.resolveEventName(eventName, target, options.useGlobalNaming === true);\n\t\t\t\ttargetInfo.eventsMap.delete(fullEventName);\n\t\t\t\ttargetInfo.onceMap.delete(fullEventName)\n\t\t\t}\n\t\t}\n\t\telse if (Type.isNil(eventName))\n\t\t{\n\t\t\tif (target === this.GLOBAL_TARGET)\n\t\t\t{\n\t\t\t\tconsole.error('You cannot unsubscribe all global listeners.');\n\t\t\t}\n\t\t\telse\n\t\t\t{\n\t\t\t\teventStore.delete(target);\n\t\t\t}\n\t\t}\n\t}\n\n\t/**\n\t * Unsubscribes all event listeners\n\t * @param {string} [eventName]\n\t */\n\tunsubscribeAll(eventName?: string): void\n\t{\n\t\tEventEmitter.unsubscribeAll(this, eventName);\n\t}\n\n\t/**\n\t *\n\t * @param {object} target\n\t * @param {string} eventName\n\t * @param {BaseEvent | any} event\n\t * @param {object} options\n\t * @returns {Array}\n\t */\n\tstatic emit(\n\t\ttarget: Object,\n\t\teventName: string,\n\t\tevent?: BaseEvent | {[key: string]: any},\n\t\toptions?: {\n\t\t\tcloneData?: boolean,\n\t\t\tthisArg?: Object,\n\t\t\tuseGlobalNaming?: boolean\n\t\t}\n\t): this\n\t{\n\t\tif (Type.isString(target))\n\t\t{\n\t\t\toptions = event;\n\t\t\tevent = eventName;\n\t\t\teventName = target;\n\t\t\ttarget = this.GLOBAL_TARGET;\n\t\t}\n\n\t\tif (!Type.isObject(target))\n\t\t{\n\t\t\tthrow new TypeError(`The \"target\" argument must be an object.`);\n\t\t}\n\n\t\teventName = this.normalizeEventName(eventName);\n\t\tif (!Type.isStringFilled(eventName))\n\t\t{\n\t\t\tthrow new TypeError(`The \"eventName\" argument must be a string.`);\n\t\t}\n\n\t\toptions = Type.isPlainObject(options) ? options : {};\n\n\t\tconst fullEventName = this.resolveEventName(eventName, target, options.useGlobalNaming === true);\n\t\tconst globalEvents = eventStore.get(this.GLOBAL_TARGET);\n\t\tconst globalListeners = (globalEvents && globalEvents.eventsMap.get(fullEventName)) || new Map();\n\n\t\tlet targetListeners = new Set();\n\t\tif (target !== this.GLOBAL_TARGET)\n\t\t{\n\t\t\tconst targetEvents = eventStore.get(target);\n\t\t\ttargetListeners = (targetEvents && targetEvents.eventsMap.get(fullEventName)) || new Map();\n\t\t}\n\n\t\tconst listeners = [...globalListeners.values(), ...targetListeners.values()];\n\t\tlisteners.sort(function(a, b) {\n\t\t\treturn a.sort - b.sort;\n\t\t});\n\n\t\tconst preparedEvent = this.prepareEvent(target, fullEventName, event);\n\t\tconst result = [];\n\n\t\tfor (let i = 0; i < listeners.length; i++)\n\t\t{\n\t\t\tif (preparedEvent.isImmediatePropagationStopped())\n\t\t\t{\n\t\t\t\tbreak;\n\t\t\t}\n\n\t\t\tconst { listener, options: listenerOptions } = listeners[i];\n\n\t\t\t//A previous listener could remove a current listener.\n\t\t\tif (globalListeners.has(listener) || targetListeners.has(listener))\n\t\t\t{\n\t\t\t\tlet listenerResult;\n\t\t\t\tif (listenerOptions.compatMode)\n\t\t\t\t{\n\t\t\t\t\tlet params = [];\n\t\t\t\t\tconst compatData = preparedEvent.getCompatData();\n\t\t\t\t\tif (compatData !== null)\n\t\t\t\t\t{\n\t\t\t\t\t\tparams = options.cloneData === true ? Runtime.clone(compatData) : compatData\n\t\t\t\t\t}\n\t\t\t\t\telse\n\t\t\t\t\t{\n\t\t\t\t\t\tparams = [preparedEvent];\n\t\t\t\t\t}\n\n\t\t\t\t\tconst context = Type.isUndefined(options.thisArg) ? target : options.thisArg;\n\t\t\t\t\tlistenerResult = listener.apply(context, params);\n\t\t\t\t}\n\t\t\t\telse\n\t\t\t\t{\n\t\t\t\t\tlistenerResult =\n\t\t\t\t\t\tType.isUndefined(options.thisArg)\n\t\t\t\t\t\t\t? listener(preparedEvent)\n\t\t\t\t\t\t\t: listener.call(options.thisArg, preparedEvent)\n\t\t\t\t\t;\n\t\t\t\t}\n\n\t\t\t\tresult.push(listenerResult);\n\t\t\t}\n\t\t}\n\n\t\treturn result;\n\t}\n\n\t/**\n\t * Emits specified event with specified event object\n\t * @param {string} eventName\n\t * @param {BaseEvent | any} event\n\t * @return {this}\n\t */\n\temit(eventName: string, event?: BaseEvent | {[key: string]: any}): this\n\t{\n\t\tif (this.getEventNamespace() === null)\n\t\t{\n\t\t\tconsole.warn(\n\t\t\t\t'The instance of BX.Event.EventEmitter is supposed to have an event namespace. ' +\n\t\t\t\t'Use emitter.setEventNamespace() to make events more unique.'\n\t\t\t);\n\t\t}\n\n\t\tEventEmitter.emit(this, eventName, event);\n\n\t\treturn this;\n\t}\n\n\t/**\n\t * Emits global event and returns a promise that is resolved when\n\t * all promise returned from event handlers are resolved,\n\t * or rejected when at least one of the returned promise is rejected.\n\t * Importantly. You can return any value from synchronous handlers, not just promise\n\t * @param {object} target\n\t * @param {string} eventName\n\t * @param {BaseEvent | any} event\n\t * @return {Promise<Array>}\n\t */\n\tstatic emitAsync(target: Object, eventName: string, event?: BaseEvent | {[key: string]: any}): Promise<Array>\n\t{\n\t\tif (Type.isString(target))\n\t\t{\n\t\t\tevent = eventName;\n\t\t\teventName = target;\n\t\t\ttarget = this.GLOBAL_TARGET;\n\t\t}\n\n\t\treturn Promise.all(this.emit(target, eventName, event));\n\t}\n\n\t/**\n\t * Emits event and returns a promise that is resolved when\n\t * all promise returned from event handlers are resolved,\n\t * or rejected when at least one of the returned promise is rejected.\n\t * Importantly. You can return any value from synchronous handlers, not just promise\n\t * @param {string} eventName\n\t * @param {BaseEvent|any} event\n\t * @return {Promise<Array>}\n\t */\n\temitAsync(eventName: string, event?: BaseEvent | {[key: string]: any}): Promise<Array>\n\t{\n\t\tif (this.getEventNamespace() === null)\n\t\t{\n\t\t\tconsole.warn(\n\t\t\t\t'The instance of BX.Event.EventEmitter is supposed to have an event namespace. ' +\n\t\t\t\t'Use emitter.setEventNamespace() to make events more unique.'\n\t\t\t);\n\t\t}\n\n\t\treturn EventEmitter.emitAsync(this, eventName, event);\n\t}\n\n\t/**\n\t * @private\n\t * @param {object} target\n\t * @param {string} eventName\n\t * @param {BaseEvent|any} event\n\t * @returns {BaseEvent}\n\t */\n\tstatic prepareEvent(\n\t\ttarget: Object,\n\t\teventName: string,\n\t\tevent?: BaseEvent | {[key: string]: any},\n\t): BaseEvent\n\t{\n\t\tlet preparedEvent = event;\n\t\tif (!(event instanceof BaseEvent))\n\t\t{\n\t\t\tpreparedEvent = new BaseEvent();\n\t\t\tpreparedEvent.setData(event);\n\t\t}\n\n\t\tpreparedEvent.setTarget(this.isEventEmitter(target) ? target[targetProperty] : target);\n\t\tpreparedEvent.setType(eventName);\n\n\t\treturn preparedEvent;\n\t}\n\n\t/**\n\t * @private\n\t * @returns {number}\n\t */\n\tstatic getNextSequenceValue(): number\n\t{\n\t\treturn this.sequenceValue++;\n\t}\n\n\t/**\n\t * Sets max global events listeners count\n\t * Event.EventEmitter.setMaxListeners(10) - sets the default value for all events (global target)\n\t * Event.EventEmitter.setMaxListeners(\"onClose\", 10) - sets the value for onClose event (global target)\n\t * Event.EventEmitter.setMaxListeners(obj, 10) - sets the default value for all events (obj target)\n\t * Event.EventEmitter.setMaxListeners(obj, \"onClose\", 10); - sets the value for onClose event (obj target)\n\t * @return {void}\n\t * @param args\n\t */\n\tstatic setMaxListeners(...args): void\n\t{\n\t\tlet target = this.GLOBAL_TARGET;\n\t\tlet eventName = null;\n\t\tlet count = undefined;\n\n\t\tif (args.length === 1)\n\t\t{\n\t\t\tcount = args[0];\n\t\t}\n\t\telse if (args.length === 2)\n\t\t{\n\t\t\tif (Type.isString(args[0]))\n\t\t\t{\n\t\t\t\t[eventName, count] = args;\n\t\t\t}\n\t\t\telse\n\t\t\t{\n\t\t\t\t[target, count] = args;\n\t\t\t}\n\t\t}\n\t\telse if (args.length >= 3)\n\t\t{\n\t\t\t[target, eventName, count] = args;\n\t\t}\n\n\t\tif (!Type.isObject(target))\n\t\t{\n\t\t\tthrow new TypeError(`The \"target\" argument must be an object.`);\n\t\t}\n\n\t\tif (eventName !== null && !Type.isStringFilled(eventName))\n\t\t{\n\t\t\tthrow new TypeError(`The \"eventName\" argument must be a string.`);\n\t\t}\n\n\t\tif (!Type.isNumber(count) || count < 0)\n\t\t{\n\t\t\tthrow new TypeError(\n\t\t\t\t`The value of \"count\" is out of range. It must be a non-negative number. Received ${count}.`\n\t\t\t);\n\t\t}\n\n\t\tconst targetInfo = eventStore.getOrAdd(target);\n\t\tif (Type.isStringFilled(eventName))\n\t\t{\n\t\t\tconst fullEventName = this.resolveEventName(eventName, target);\n\t\t\ttargetInfo.eventsMaxListeners.set(fullEventName, count);\n\t\t}\n\t\telse\n\t\t{\n\t\t\ttargetInfo.maxListeners = count;\n\t\t}\n\t}\n\n\t/**\n\t * Sets max events listeners count\n\t * this.setMaxListeners(10) - sets the default value for all events\n\t * this.setMaxListeners(\"onClose\", 10) sets the value for onClose event\n\t * @return {this}\n\t * @param args\n\t */\n\tsetMaxListeners(...args): this\n\t{\n\t\tEventEmitter.setMaxListeners(this, ...args);\n\n\t\treturn this;\n\t}\n\n\t/**\n\t * Returns max event listeners count\n\t * @param {object} target\n\t * @param {string} [eventName]\n\t * @returns {number}\n\t */\n\tstatic getMaxListeners(target: Object, eventName?: string): number\n\t{\n\t\tif (Type.isString(target))\n\t\t{\n\t\t\teventName = target;\n\t\t\ttarget = this.GLOBAL_TARGET;\n\t\t}\n\t\telse if (Type.isNil(target))\n\t\t{\n\t\t\ttarget = this.GLOBAL_TARGET;\n\t\t}\n\n\t\tif (!Type.isObject(target))\n\t\t{\n\t\t\tthrow new TypeError(`The \"target\" argument must be an object.`);\n\t\t}\n\n\t\tconst targetInfo = eventStore.get(target);\n\t\tif (targetInfo)\n\t\t{\n\t\t\tlet maxListeners = targetInfo.maxListeners;\n\t\t\tif (Type.isStringFilled(eventName))\n\t\t\t{\n\t\t\t\tconst fullEventName = this.resolveEventName(eventName, target);\n\t\t\t\tmaxListeners = targetInfo.eventsMaxListeners.get(fullEventName) || maxListeners;\n\t\t\t}\n\n\t\t\treturn maxListeners;\n\t\t}\n\n\t\treturn this.DEFAULT_MAX_LISTENERS;\n\t}\n\n\t/**\n\t * Returns max event listeners count\n\t * @param {string} [eventName]\n\t * @returns {number}\n\t */\n\tgetMaxListeners(eventName?: string): number\n\t{\n\t\treturn EventEmitter.getMaxListeners(this, eventName);\n\t}\n\n\t/**\n\t * Adds or subtracts max listeners count\n\t * Event.EventEmitter.addMaxListeners() - adds one max listener for all events of global target\n\t * Event.EventEmitter.addMaxListeners(3) - adds three max listeners for all events of global target\n\t * Event.EventEmitter.addMaxListeners(-1) - subtracts one max listener for all events of global target\n\t * Event.EventEmitter.addMaxListeners('onClose') - adds one max listener for onClose event of global target\n\t * Event.EventEmitter.addMaxListeners('onClose', 2) - adds two max listeners for onClose event of global target\n\t * Event.EventEmitter.addMaxListeners('onClose', -1) - subtracts one max listener for onClose event of global target\n\t *\n\t * Event.EventEmitter.addMaxListeners(obj) - adds one max listener for all events of 'obj' target\n\t * Event.EventEmitter.addMaxListeners(obj, 3) - adds three max listeners for all events of 'obj' target\n\t * Event.EventEmitter.addMaxListeners(obj, -1) - subtracts one max listener for all events of 'obj' target\n\t * Event.EventEmitter.addMaxListeners(obj, 'onClose') - adds one max listener for onClose event of 'obj' target\n\t * Event.EventEmitter.addMaxListeners(obj, 'onClose', 2) - adds two max listeners for onClose event of 'obj' target\n\t * Event.EventEmitter.addMaxListeners(obj, 'onClose', -1) - subtracts one max listener for onClose event of 'obj' target\n\t * @param args\n\t * @returns {number}\n\t */\n\tstatic addMaxListeners(...args)\n\t{\n\t\tconst [target, eventName, increment] = this.destructMaxListenersArgs(...args);\n\t\tconst maxListeners = Math.max(this.getMaxListeners(target, eventName) + increment, 0);\n\t\tif (Type.isStringFilled(eventName))\n\t\t{\n\t\t\tEventEmitter.setMaxListeners(target, eventName, maxListeners);\n\t\t}\n\t\telse\n\t\t{\n\t\t\tEventEmitter.setMaxListeners(target, maxListeners);\n\t\t}\n\n\t\treturn maxListeners;\n\t}\n\n\t/**\n\t * Increases max listeners count\n\t *\n\t * Event.EventEmitter.incrementMaxListeners() - adds one max listener for all events of global target\n\t * Event.EventEmitter.incrementMaxListeners(3) - adds three max listeners for all events of global target\n\t * Event.EventEmitter.incrementMaxListeners('onClose') - adds one max listener for onClose event of global target\n\t * Event.EventEmitter.incrementMaxListeners('onClose', 2) - adds two max listeners for onClose event of global target\n\t *\n\t * Event.EventEmitter.incrementMaxListeners(obj) - adds one max listener for all events of 'obj' target\n\t * Event.EventEmitter.incrementMaxListeners(obj, 3) - adds three max listeners for all events of 'obj' target\n\t * Event.EventEmitter.incrementMaxListeners(obj, 'onClose') - adds one max listener for onClose event of 'obj' target\n\t * Event.EventEmitter.incrementMaxListeners(obj, 'onClose', 2) - adds two max listeners for onClose event of 'obj' target\n\t */\n\tstatic incrementMaxListeners(...args): number\n\t{\n\t\tconst [target, eventName, increment] = this.destructMaxListenersArgs(...args);\n\n\t\treturn this.addMaxListeners(target, eventName, Math.abs(increment));\n\t}\n\n\t/**\n\t * Increases max listeners count\n\t * this.incrementMaxListeners() - adds one max listener for all events\n\t * this.incrementMaxListeners(3) - adds three max listeners for all events\n\t * this.incrementMaxListeners('onClose') - adds one max listener for onClose event\n\t * this.incrementMaxListeners('onClose', 2) - adds two max listeners for onClose event\n\t */\n\tincrementMaxListeners(...args): number\n\t{\n\t\treturn EventEmitter.incrementMaxListeners(this, ...args);\n\t}\n\n\t/**\n\t * Decreases max listeners count\n\t *\n\t * Event.EventEmitter.decrementMaxListeners() - subtracts one max listener for all events of global target\n\t * Event.EventEmitter.decrementMaxListeners(3) - subtracts three max listeners for all events of global target\n\t * Event.EventEmitter.decrementMaxListeners('onClose') - subtracts one max listener for onClose event of global target\n\t * Event.EventEmitter.decrementMaxListeners('onClose', 2) - subtracts two max listeners for onClose event of global target\n\t *\n\t * Event.EventEmitter.decrementMaxListeners(obj) - subtracts one max listener for all events of 'obj' target\n\t * Event.EventEmitter.decrementMaxListeners(obj, 3) - subtracts three max listeners for all events of 'obj' target\n\t * Event.EventEmitter.decrementMaxListeners(obj, 'onClose') - subtracts one max listener for onClose event of 'obj' target\n\t * Event.EventEmitter.decrementMaxListeners(obj, 'onClose', 2) - subtracts two max listeners for onClose event of 'obj' target\n\t */\n\tstatic decrementMaxListeners(...args): number\n\t{\n\t\tconst [target, eventName, increment] = this.destructMaxListenersArgs(...args);\n\n\t\treturn this.addMaxListeners(target, eventName, -Math.abs(increment));\n\t}\n\n\t/**\n\t * Increases max listeners count\n\t * this.decrementMaxListeners() - subtracts one max listener for all events\n\t * this.decrementMaxListeners(3) - subtracts three max listeners for all events\n\t * this.decrementMaxListeners('onClose') - subtracts one max listener for onClose event\n\t * this.decrementMaxListeners('onClose', 2) - subtracts two max listeners for onClose event\n\t */\n\tdecrementMaxListeners(...args): number\n\t{\n\t\treturn EventEmitter.decrementMaxListeners(this, ...args);\n\t}\n\n\t/**\n\t * @private\n\t * @param {Array} args\n\t * @returns Array\n\t */\n\tstatic destructMaxListenersArgs(...args)\n\t{\n\t\tlet eventName = null;\n\t\tlet increment = 1;\n\t\tlet target = this.GLOBAL_TARGET;\n\n\t\tif (args.length === 1)\n\t\t{\n\t\t\tif (Type.isNumber(args[0]))\n\t\t\t{\n\t\t\t\tincrement = args[0];\n\t\t\t}\n\t\t\telse if (Type.isString(args[0]))\n\t\t\t{\n\t\t\t\teventName = args[0];\n\t\t\t}\n\t\t\telse\n\t\t\t{\n\t\t\t\ttarget = args[0];\n\t\t\t}\n\t\t}\n\t\telse if (args.length === 2)\n\t\t{\n\t\t\tif (Type.isString(args[0]))\n\t\t\t{\n\t\t\t\t[eventName, increment] = args;\n\t\t\t}\n\t\t\telse if (Type.isString(args[1]))\n\t\t\t{\n\t\t\t\t[target, eventName] = args;\n\t\t\t}\n\t\t\telse\n\t\t\t{\n\t\t\t\t[target, increment] = args;\n\t\t\t}\n\t\t}\n\t\telse if (args.length >= 3)\n\t\t{\n\t\t\t[target, eventName, increment] = args;\n\t\t}\n\n\t\tif (!Type.isObject(target))\n\t\t{\n\t\t\tthrow new TypeError(`The \"target\" argument must be an object.`);\n\t\t}\n\n\t\tif (eventName !== null && !Type.isStringFilled(eventName))\n\t\t{\n\t\t\tthrow new TypeError(`The \"eventName\" argument must be a string.`);\n\t\t}\n\n\t\tif (!Type.isNumber(increment))\n\t\t{\n\t\t\tthrow new TypeError(`The value of \"increment\" must be a number.`);\n\t\t}\n\n\t\treturn [target, eventName, increment];\n\t}\n\n\t/**\n\t * Gets listeners list for a specified event\n\t * @param {object} target\n\t * @param {string} eventName\n\t */\n\tstatic getListeners(target: Object, eventName: string): Function[]\n\t{\n\t\tif (Type.isString(target))\n\t\t{\n\t\t\teventName = target;\n\t\t\ttarget = this.GLOBAL_TARGET;\n\t\t}\n\n\t\tif (!Type.isObject(target))\n\t\t{\n\t\t\tthrow new TypeError(`The \"target\" argument must be an object.`);\n\t\t}\n\n\t\teventName = this.normalizeEventName(eventName);\n\t\tif (!Type.isStringFilled(eventName))\n\t\t{\n\t\t\tthrow new TypeError(`The \"eventName\" argument must be a string.`);\n\t\t}\n\n\t\tconst targetInfo = eventStore.get(target);\n\t\tif (!targetInfo)\n\t\t{\n\t\t\treturn new Map();\n\t\t}\n\n\t\tconst fullEventName = this.resolveEventName(eventName, target);\n\t\treturn targetInfo.eventsMap.get(fullEventName) || new Map();\n\t}\n\n\t/**\n\t * Gets listeners list for specified event\n\t * @param {string} eventName\n\t */\n\tgetListeners(eventName: string): Function[]\n\t{\n\t\treturn EventEmitter.getListeners(this, eventName);\n\t}\n\n\t/**\n\t * Returns a full event name with namespace\n\t * @param {string} eventName\n\t * @returns {string}\n\t */\n\tgetFullEventName(eventName: string)\n\t{\n\t\tif (!Type.isStringFilled(eventName))\n\t\t{\n\t\t\tthrow new TypeError(`The \"eventName\" argument must be a string.`);\n\t\t}\n\n\t\treturn EventEmitter.makeFullEventName(this.getEventNamespace(), eventName);\n\t}\n\n\t/**\n\t * Registers aliases (old event names for BX.onCustomEvent)\n\t * @param aliases\n\t */\n\tstatic registerAliases(aliases: { [alias: string]: { eventName: string, namespace: string } })\n\t{\n\t\taliases = this.normalizeAliases(aliases);\n\n\t\tObject.keys(aliases).forEach((alias) => {\n\t\t\taliasStore.set(alias, {\n\t\t\t\teventName: aliases[alias].eventName,\n\t\t\t\tnamespace: aliases[alias].namespace\n\t\t\t});\n\t\t});\n\n\t\tEventEmitter.mergeEventAliases(aliases);\n\t}\n\n\t/**\n\t * @private\n\t * @param aliases\n\t */\n\tstatic normalizeAliases(aliases: { [alias: string]: { eventName: string, namespace: string } })\n\t{\n\t\tif (!Type.isPlainObject(aliases))\n\t\t{\n\t\t\tthrow new TypeError(`The \"aliases\" argument must be an object.`);\n\t\t}\n\n\t\tconst result = Object.create(null);\n\t\tfor (let alias in aliases)\n\t\t{\n\t\t\tif (!Type.isStringFilled(alias))\n\t\t\t{\n\t\t\t\tthrow new TypeError(`The alias must be an non-empty string.`);\n\t\t\t}\n\n\t\t\tconst options = aliases[alias];\n\t\t\tif (!options || !Type.isStringFilled(options.eventName) || !Type.isStringFilled(options.namespace))\n\t\t\t{\n\t\t\t\tthrow new TypeError(`The alias options must set the \"eventName\" and the \"namespace\".`);\n\t\t\t}\n\n\t\t\talias = this.normalizeEventName(alias);\n\n\t\t\tresult[alias] = {\n\t\t\t\teventName: options.eventName,\n\t\t\t\tnamespace: options.namespace\n\t\t\t};\n\t\t}\n\n\t\treturn result;\n\t}\n\n\t/**\n\t * @private\n\t */\n\tstatic mergeEventAliases(aliases)\n\t{\n\t\tconst globalEvents = eventStore.get(this.GLOBAL_TARGET);\n\t\tif (!globalEvents)\n\t\t{\n\t\t\treturn;\n\t\t}\n\n\t\tObject.keys(aliases).forEach((alias) => {\n\t\t\tconst options = aliases[alias];\n\t\t\talias = this.normalizeEventName(alias);\n\t\t\tconst fullEventName = this.makeFullEventName(options.namespace, options.eventName);\n\n\t\t\tconst aliasListeners = globalEvents.eventsMap.get(alias);\n\t\t\tif (aliasListeners)\n\t\t\t{\n\t\t\t\tconst listeners = globalEvents.eventsMap.get(fullEventName) || new Map();\n\t\t\t\tglobalEvents.eventsMap.set(fullEventName, new Map([...listeners, ...aliasListeners]));\n\t\t\t\tglobalEvents.eventsMap.delete(alias);\n\t\t\t}\n\n\t\t\tconst aliasOnceListeners = globalEvents.onceMap.get(alias);\n\t\t\tif (aliasOnceListeners)\n\t\t\t{\n\t\t\t\tconst onceListeners = globalEvents.onceMap.get(fullEventName) || new Map();\n\t\t\t\tglobalEvents.onceMap.set(fullEventName, new Map([...onceListeners, ...aliasOnceListeners]));\n\t\t\t\tglobalEvents.onceMap.delete(alias);\n\t\t\t}\n\n\t\t\tconst aliasMaxListeners = globalEvents.eventsMaxListeners.get(alias);\n\t\t\tif (aliasMaxListeners)\n\t\t\t{\n\t\t\t\tconst eventMaxListeners = globalEvents.eventsMaxListeners.get(fullEventName) || 0;\n\t\t\t\tglobalEvents.eventsMaxListeners.set(fullEventName, Math.max(eventMaxListeners, aliasMaxListeners));\n\t\t\t\tglobalEvents.eventsMaxListeners.delete(alias);\n\t\t\t}\n\t\t});\n\t}\n\n\t/**\n\t * Returns true if the target is an instance of Event.EventEmitter\n\t * @param {object} target\n\t * @returns {boolean}\n\t */\n\tstatic isEventEmitter(target: Object)\n\t{\n\t\treturn Type.isObject(target) && target[isEmitterProperty] === true;\n\t}\n\n\t/**\n\t * @private\n\t * @param {string} eventName\n\t * @returns {string}\n\t */\n\tstatic normalizeEventName(eventName: string): string\n\t{\n\t\tif (!Type.isStringFilled(eventName))\n\t\t{\n\t\t\treturn '';\n\t\t}\n\n\t\treturn eventName.toLowerCase();\n\t}\n\n\t/**\n\t * @private\n\t */\n\tstatic normalizeListener(listener: Function | string): Function\n\t{\n\t\tif (Type.isString(listener))\n\t\t{\n\t\t\tlistener = Reflection.getClass(listener);\n\t\t}\n\n\t\tif (!Type.isFunction(listener))\n\t\t{\n\t\t\tthrow new TypeError(\n\t\t\t\t`The \"listener\" argument must be of type Function. Received type ${typeof listener}.`\n\t\t\t);\n\t\t}\n\n\t\treturn listener;\n\t}\n\n\t/**\n\t * @private\n\t * @param eventName\n\t * @param target\n\t * @param useGlobalNaming\n\t * @returns {string}\n\t */\n\tstatic resolveEventName(eventName: string, target: Object, useGlobalNaming: boolean = false)\n\t{\n\t\teventName = this.normalizeEventName(eventName);\n\t\tif (!Type.isStringFilled(eventName))\n\t\t{\n\t\t\treturn '';\n\t\t}\n\n\t\tif (this.isEventEmitter(target) && useGlobalNaming !== true)\n\t\t{\n\t\t\tif (target.getEventNamespace() !== null && eventName.includes('.'))\n\t\t\t{\n\t\t\t\tconsole.warn(`Possible the wrong event name \"${eventName}\".`);\n\t\t\t}\n\n\t\t\teventName = target.getFullEventName(eventName);\n\t\t}\n\t\telse if (aliasStore.has(eventName))\n\t\t{\n\t\t\tconst { namespace, eventName: actualEventName } = aliasStore.get(eventName);\n\t\t\teventName = this.makeFullEventName(namespace, actualEventName);\n\t\t}\n\n\t\treturn eventName;\n\t}\n\n\t/**\n\t * @private\n\t * @param {string} namespace\n\t * @param {string} eventName\n\t * @returns {string}\n\t */\n\tstatic makeFullEventName(namespace: string, eventName: string)\n\t{\n\t\tconst fullName = Type.isStringFilled(namespace) ? `${namespace}:${eventName}` : eventName;\n\n\t\treturn Type.isStringFilled(fullName) ? fullName.toLowerCase() : '';\n\t}\n}","import Type from '../type';\n\nlet stack: Array<Function> = [];\n/**\n * For compatibility only\n * @type {boolean}\n */\n// eslint-disable-next-line\nexport let isReady = false;\n\nexport default function ready(handler: () => void)\n{\n\tswitch (document.readyState)\n\t{\n\t\tcase 'loading':\n\t\t\tstack.push(handler);\n\t\t\tbreak;\n\t\tcase 'interactive':\n\t\tcase 'complete':\n\t\t\tif (Type.isFunction(handler))\n\t\t\t{\n\t\t\t\thandler();\n\t\t\t}\n\n\t\t\tisReady = true;\n\t\t\tbreak;\n\t\tdefault:\n\t\t\tbreak;\n\t}\n}\n\ndocument.addEventListener('readystatechange', () => {\n\tif (!isReady)\n\t{\n\t\tstack.forEach(ready);\n\t\tstack = [];\n\t}\n});","import bind from './event/bind';\nimport unbind from './event/unbind';\nimport unbindAll from './event/unbind-all';\nimport bindOnce from './event/bind-once';\nimport EventEmitter from './event/event-emitter';\nimport BaseEvent from './event/base-event';\nimport ready from './event/ready';\n\n/**\n * @memberOf BX\n */\nexport default class Event\n{\n\tstatic bind: bind = bind;\n\tstatic bindOnce: bindOnce = bindOnce;\n\tstatic unbind: unbind = unbind;\n\tstatic unbindAll: unbindAll = unbindAll;\n\tstatic ready: ready = ready;\n\n\t/**\n\t * @deprecated use import { EventEmitter } from 'main.core.events'\n\t */\n\tstatic EventEmitter: EventEmitter = EventEmitter;\n\t/**\n\t * @deprecated use import { BaseEvent } from 'main.core.events'\n\t */\n\tstatic BaseEvent: BaseEvent = BaseEvent;\n\n}","import Type from '../lib/type';\nimport Text from '../lib/text';\n\nexport default function encodeAttributeValue(value: any)\n{\n\tif (Type.isPlainObject(value) || Type.isArray(value))\n\t{\n\t\treturn JSON.stringify(value);\n\t}\n\n\treturn Text.encode(Text.decode(value));\n}","import Type from '../lib/type';\nimport Text from '../lib/text';\n\nexport default function decodeAttributeValue(value: any)\n{\n\tif (Type.isString(value))\n\t{\n\t\tconst decodedValue = Text.decode(value);\n\t\tlet result;\n\n\t\ttry\n\t\t{\n\t\t\tresult = JSON.parse(decodedValue);\n\t\t}\n\t\tcatch (e)\n\t\t{\n\t\t\tresult = decodedValue;\n\t\t}\n\n\t\tif (result === decodedValue)\n\t\t{\n\t\t\tif (/^[\\d.]+[.]?\\d+$/.test(result))\n\t\t\t{\n\t\t\t\treturn Number(result);\n\t\t\t}\n\t\t}\n\n\t\tif (result === 'true' || result === 'false')\n\t\t{\n\t\t\treturn Boolean(result);\n\t\t}\n\n\t\treturn result;\n\t}\n\n\treturn value;\n}","export default function getPageScroll(): {scrollTop: number, scrollLeft: number}\n{\n\tconst {documentElement, body} = document;\n\n\tconst scrollTop = Math.max(\n\t\t(window.pageYOffset || 0),\n\t\t(documentElement ? documentElement.scrollTop : 0),\n\t\t(body ? body.scrollTop : 0),\n\t);\n\n\tconst scrollLeft = Math.max(\n\t\t(window.pageXOffset || 0),\n\t\t(documentElement ? documentElement.scrollLeft : 0),\n\t\t(body ? body.scrollLeft : 0),\n\t);\n\n\treturn {scrollTop, scrollLeft};\n}","import Type from './type';\nimport Event from './event';\nimport encodeAttributeValue from '../internal/encode-attribute-value';\nimport decodeAttributeValue from '../internal/decode-attribute-value';\nimport getPageScroll from '../internal/get-page-scroll';\n\n/**\n * @memberOf BX\n */\nexport default class Dom\n{\n\t/**\n\t * Replaces old html element to new html element\n\t * @param oldElement\n\t * @param newElement\n\t */\n\tstatic replace(oldElement: ?HTMLElement, newElement: ?HTMLElement)\n\t{\n\t\tif (Type.isDomNode(oldElement) && Type.isDomNode(newElement))\n\t\t{\n\t\t\tif (Type.isDomNode(oldElement.parentNode))\n\t\t\t{\n\t\t\t\toldElement.parentNode.replaceChild(newElement, oldElement);\n\t\t\t}\n\t\t}\n\t}\n\n\t/**\n\t * Removes element\n\t * @param element\n\t */\n\tstatic remove(element: ?HTMLElement)\n\t{\n\t\tif (Type.isDomNode(element) && Type.isDomNode(element.parentNode))\n\t\t{\n\t\t\telement.parentNode.removeChild(element);\n\t\t}\n\t}\n\n\t/**\n\t * Cleans element\n\t * @param element\n\t */\n\tstatic clean(element: HTMLElement | string)\n\t{\n\t\tif (Type.isDomNode(element))\n\t\t{\n\t\t\twhile (element.childNodes.length > 0)\n\t\t\t{\n\t\t\t\telement.removeChild(element.firstChild);\n\t\t\t}\n\n\t\t\treturn;\n\t\t}\n\n\t\tif (Type.isString(element))\n\t\t{\n\t\t\tDom.clean(document.getElementById(element));\n\t\t}\n\t}\n\n\t/**\n\t * Inserts element before target element\n\t * @param current\n\t * @param target\n\t */\n\tstatic insertBefore(current: ?HTMLElement, target: ?HTMLElement)\n\t{\n\t\tif (Type.isDomNode(current) && Type.isDomNode(target))\n\t\t{\n\t\t\tif (Type.isDomNode(target.parentNode))\n\t\t\t{\n\t\t\t\ttarget.parentNode.insertBefore(current, target);\n\t\t\t}\n\t\t}\n\t}\n\n\t/**\n\t * Inserts element after target element\n\t * @param current\n\t * @param target\n\t */\n\tstatic insertAfter(current: ?HTMLElement, target: ?HTMLElement)\n\t{\n\t\tif (Type.isDomNode(current) && Type.isDomNode(target))\n\t\t{\n\t\t\tif (Type.isDomNode(target.parentNode))\n\t\t\t{\n\t\t\t\tconst parent = target.parentNode;\n\n\t\t\t\tif (Type.isDomNode(target.nextSibling))\n\t\t\t\t{\n\t\t\t\t\tparent.insertBefore(current, target.nextSibling);\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\tparent.appendChild(current);\n\t\t\t}\n\t\t}\n\t}\n\n\t/**\n\t * Appends element to target element\n\t * @param current\n\t * @param target\n\t */\n\tstatic append(current: ?HTMLElement, target: ?HTMLElement)\n\t{\n\t\tif (Type.isDomNode(current) && Type.isDomNode(target))\n\t\t{\n\t\t\ttarget.appendChild(current);\n\t\t}\n\t}\n\n\t/**\n\t * Prepends element to target element\n\t * @param current\n\t * @param target\n\t */\n\tstatic prepend(current: ?HTMLElement, target: ?HTMLElement)\n\t{\n\t\tif (Type.isDomNode(current) && Type.isDomNode(target))\n\t\t{\n\t\t\tif (Type.isDomNode(target.firstChild))\n\t\t\t{\n\t\t\t\ttarget.insertBefore(current, target.firstChild);\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tDom.append(current, target);\n\t\t}\n\t}\n\n\t/**\n\t * Checks that element contains class name or class names\n\t * @param element\n\t * @param className\n\t * @return {Boolean}\n\t */\n\tstatic hasClass(element: any, className: string | Array<string>): boolean\n\t{\n\t\tif (Type.isElementNode(element))\n\t\t{\n\t\t\tif (Type.isString(className))\n\t\t\t{\n\t\t\t\tconst preparedClassName = className.trim();\n\n\t\t\t\tif (preparedClassName.length > 0)\n\t\t\t\t{\n\t\t\t\t\tif (preparedClassName.includes(' '))\n\t\t\t\t\t{\n\t\t\t\t\t\treturn preparedClassName.split(' ')\n\t\t\t\t\t\t\t.every(name => Dom.hasClass(element, name));\n\t\t\t\t\t}\n\n\t\t\t\t\tif ('classList' in element)\n\t\t\t\t\t{\n\t\t\t\t\t\treturn element.classList.contains(preparedClassName);\n\t\t\t\t\t}\n\n\t\t\t\t\tif (\n\t\t\t\t\t\tType.isObject(element.className)\n\t\t\t\t\t\t&& Type.isString(element.className.baseVal)\n\t\t\t\t\t)\n\t\t\t\t\t{\n\t\t\t\t\t\treturn element.getAttribute('class').split(' ')\n\t\t\t\t\t\t\t.some(name => name === preparedClassName);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tif (Type.isArray(className) && className.length > 0)\n\t\t\t{\n\t\t\t\treturn className.every(name => Dom.hasClass(element, name));\n\t\t\t}\n\t\t}\n\n\t\treturn false;\n\t}\n\n\t/**\n\t * Adds class name\n\t * @param element\n\t * @param className\n\t */\n\tstatic addClass(element: any, className: string | Array<string>)\n\t{\n\t\tif (Type.isElementNode(element))\n\t\t{\n\t\t\tif (Type.isString(className))\n\t\t\t{\n\t\t\t\tconst preparedClassName = className.trim();\n\n\t\t\t\tif (preparedClassName.length > 0)\n\t\t\t\t{\n\t\t\t\t\tif (preparedClassName.includes(' '))\n\t\t\t\t\t{\n\t\t\t\t\t\tDom.addClass(element, preparedClassName.split(' '));\n\t\t\t\t\t\treturn;\n\t\t\t\t\t}\n\n\t\t\t\t\tif ('classList' in element)\n\t\t\t\t\t{\n\t\t\t\t\t\telement.classList.add(preparedClassName);\n\t\t\t\t\t\treturn;\n\t\t\t\t\t}\n\n\t\t\t\t\tif (\n\t\t\t\t\t\tType.isObject(element.className)\n\t\t\t\t\t\t&& Type.isString(element.className.baseVal)\n\t\t\t\t\t)\n\t\t\t\t\t{\n\t\t\t\t\t\tif (element.className.baseVal === '')\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\telement.className.baseVal = preparedClassName;\n\t\t\t\t\t\t\treturn;\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\tconst names = element.className.baseVal.split(' ');\n\n\t\t\t\t\t\tif (!names.includes(preparedClassName))\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tnames.push(preparedClassName);\n\t\t\t\t\t\t\telement.className.baseVal = names.join(' ').trim();\n\t\t\t\t\t\t\treturn;\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tif (Type.isArray(className))\n\t\t\t{\n\t\t\t\tclassName.forEach(name => Dom.addClass(element, name));\n\t\t\t}\n\t\t}\n\t}\n\n\t/**\n\t * Removes class name\n\t * @param element\n\t * @param className\n\t */\n\tstatic removeClass(element: any, className: string | Array<string>)\n\t{\n\t\tif (Type.isElementNode(element))\n\t\t{\n\t\t\tif (Type.isString(className))\n\t\t\t{\n\t\t\t\tconst preparedClassName = className.trim();\n\n\t\t\t\tif (preparedClassName.length > 0)\n\t\t\t\t{\n\t\t\t\t\tif (preparedClassName.includes(' '))\n\t\t\t\t\t{\n\t\t\t\t\t\tDom.removeClass(element, preparedClassName.split(' '));\n\t\t\t\t\t\treturn;\n\t\t\t\t\t}\n\n\t\t\t\t\tif ('classList' in element)\n\t\t\t\t\t{\n\t\t\t\t\t\telement.classList.remove(preparedClassName);\n\t\t\t\t\t\treturn;\n\t\t\t\t\t}\n\n\t\t\t\t\tif (\n\t\t\t\t\t\tType.isObject(element.className)\n\t\t\t\t\t\t&& Type.isString(element.className.baseVal)\n\t\t\t\t\t)\n\t\t\t\t\t{\n\t\t\t\t\t\tconst names = element.className.baseVal.split(' ')\n\t\t\t\t\t\t\t.filter(name => name !== preparedClassName);\n\n\t\t\t\t\t\telement.className.baseVal = names.join(' ');\n\t\t\t\t\t\treturn;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tif (Type.isArray(className))\n\t\t\t{\n\t\t\t\tclassName.forEach(name => Dom.removeClass(element, name));\n\t\t\t}\n\t\t}\n\t}\n\n\t/**\n\t * Toggles class name\n\t * @param element\n\t * @param className\n\t */\n\tstatic toggleClass(element: any, className: string | Array<string>)\n\t{\n\t\tif (Type.isElementNode(element))\n\t\t{\n\t\t\tif (Type.isString(className))\n\t\t\t{\n\t\t\t\tconst preparedClassName = className.trim();\n\n\t\t\t\tif (preparedClassName.length > 0)\n\t\t\t\t{\n\t\t\t\t\tif (preparedClassName.includes(' '))\n\t\t\t\t\t{\n\t\t\t\t\t\tDom.toggleClass(element, preparedClassName.split(' '));\n\t\t\t\t\t\treturn;\n\t\t\t\t\t}\n\n\t\t\t\t\telement.classList.toggle(preparedClassName);\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tif (Type.isArray(className))\n\t\t\t{\n\t\t\t\tclassName.forEach(name => Dom.toggleClass(element, name));\n\t\t\t}\n\t\t}\n\t}\n\n\t/**\n\t * Styles element\n\t */\n\tstatic style(\n\t\telement: ?HTMLElement,\n\t\tprop: ?string | {[key: string]: any},\n\t\tvalue?: any,\n\t): ?string | number | Element\n\t{\n\t\tif (Type.isElementNode(element))\n\t\t{\n\t\t\tif (Type.isNull(prop))\n\t\t\t{\n\t\t\t\telement.removeAttribute('style');\n\t\t\t\treturn element;\n\t\t\t}\n\n\t\t\tif (Type.isPlainObject(prop))\n\t\t\t{\n\t\t\t\tObject.entries(prop).forEach((item) => {\n\t\t\t\t\tconst [currentKey, currentValue] = item;\n\t\t\t\t\tDom.style(element, currentKey, currentValue);\n\t\t\t\t});\n\n\t\t\t\treturn element;\n\t\t\t}\n\n\t\t\tif (Type.isString(prop))\n\t\t\t{\n\t\t\t\tif (Type.isUndefined(value)\n\t\t\t\t\t&& element.nodeType !== Node.DOCUMENT_NODE)\n\t\t\t\t{\n\t\t\t\t\tconst computedStyle = getComputedStyle(element);\n\n\t\t\t\t\tif (prop in computedStyle)\n\t\t\t\t\t{\n\t\t\t\t\t\treturn computedStyle[prop];\n\t\t\t\t\t}\n\n\t\t\t\t\treturn computedStyle.getPropertyValue(prop);\n\t\t\t\t}\n\n\t\t\t\tif (\n\t\t\t\t\tType.isNull(value)\n\t\t\t\t\t|| value === ''\n\t\t\t\t\t|| value === 'null'\n\t\t\t\t)\n\t\t\t\t{\n\t\t\t\t\t// eslint-disable-next-line\n\t\t\t\t\telement.style[prop] = '';\n\t\t\t\t\treturn element;\n\t\t\t\t}\n\n\t\t\t\tif (Type.isString(value) || Type.isNumber(value))\n\t\t\t\t{\n\t\t\t\t\t// eslint-disable-next-line\n\t\t\t\t\telement.style[prop] = value;\n\t\t\t\t\treturn element;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\treturn null;\n\t}\n\n\t/**\n\t * Adjusts element\n\t * @param target\n\t * @param data\n\t * @return {*}\n\t */\n\tstatic adjust(\n\t\ttarget: HTMLElement | HTMLDocument,\n\t\tdata: Object = {},\n\t): HTMLElement | HTMLBodyElement\n\t{\n\t\tif (!target.nodeType)\n\t\t{\n\t\t\treturn null;\n\t\t}\n\n\t\tlet element = target;\n\n\t\tif (target.nodeType === Node.DOCUMENT_NODE)\n\t\t{\n\t\t\telement = target.body;\n\t\t}\n\n\t\tif (Type.isPlainObject(data))\n\t\t{\n\t\t\tif (Type.isPlainObject(data.attrs))\n\t\t\t{\n\t\t\t\tObject.keys(data.attrs).forEach((key) => {\n\t\t\t\t\tif (key === 'class' || key.toLowerCase() === 'classname')\n\t\t\t\t\t{\n\t\t\t\t\t\telement.className = data.attrs[key];\n\t\t\t\t\t\treturn;\n\t\t\t\t\t}\n\n\t\t\t\t\t// eslint-disable-next-line\n\t\t\t\t\tif (data.attrs[key] == '')\n\t\t\t\t\t{\n\t\t\t\t\t\telement.removeAttribute(key);\n\t\t\t\t\t\treturn;\n\t\t\t\t\t}\n\n\t\t\t\t\telement.setAttribute(key, data.attrs[key]);\n\t\t\t\t});\n\t\t\t}\n\n\t\t\tif (Type.isPlainObject(data.style))\n\t\t\t{\n\t\t\t\tDom.style(element, data.style);\n\t\t\t}\n\n\t\t\tif (Type.isPlainObject(data.props))\n\t\t\t{\n\t\t\t\tObject.keys(data.props).forEach((key) => {\n\t\t\t\t\telement[key] = data.props[key];\n\t\t\t\t});\n\t\t\t}\n\n\t\t\tif (Type.isPlainObject(data.events))\n\t\t\t{\n\t\t\t\tObject.keys(data.events).forEach((key) => {\n\t\t\t\t\tEvent.bind(element, key, data.events[key]);\n\t\t\t\t});\n\t\t\t}\n\n\t\t\tif (Type.isPlainObject(data.dataset))\n\t\t\t{\n\t\t\t\tObject.keys(data.dataset).forEach((key) => {\n\t\t\t\t\telement.dataset[key] = data.dataset[key];\n\t\t\t\t});\n\t\t\t}\n\n\t\t\tif (Type.isString(data.children))\n\t\t\t{\n\t\t\t\tdata.children = [data.children];\n\t\t\t}\n\n\t\t\tif (Type.isArray(data.children) && data.children.length > 0)\n\t\t\t{\n\t\t\t\tdata.children.forEach((item) => {\n\t\t\t\t\tif (Type.isDomNode(item))\n\t\t\t\t\t{\n\t\t\t\t\t\tDom.append(item, element);\n\t\t\t\t\t}\n\n\t\t\t\t\tif (Type.isString(item))\n\t\t\t\t\t{\n\t\t\t\t\t\telement.insertAdjacentHTML('beforeend', item);\n\t\t\t\t\t}\n\t\t\t\t});\n\n\t\t\t\treturn element;\n\t\t\t}\n\n\t\t\tif ('text' in data && !Type.isNil(data.text))\n\t\t\t{\n\t\t\t\telement.innerText = data.text;\n\t\t\t\treturn element;\n\t\t\t}\n\n\t\t\tif ('html' in data && !Type.isNil(data.html))\n\t\t\t{\n\t\t\t\telement.innerHTML = data.html;\n\t\t\t}\n\t\t}\n\n\t\treturn element;\n\t}\n\n\t/**\n\t * Creates element\n\t * @param tag\n\t * @param data\n\t * @param context\n\t * @return {HTMLElement|HTMLBodyElement}\n\t */\n\tstatic create(\n\t\ttag: string | {[key: string]: any},\n\t\tdata?: Object = {},\n\t\tcontext: HTMLDocument = document,\n\t)\n\t{\n\t\tlet tagName = tag;\n\t\tlet options = data;\n\n\t\tif (Type.isObjectLike(tag))\n\t\t{\n\t\t\toptions = tag;\n\t\t\ttagName = tag.tag;\n\t\t}\n\n\t\treturn Dom.adjust(context.createElement(tagName), options);\n\t}\n\n\t/**\n\t * Shows element\n\t * @param element\n\t */\n\tstatic show(element: ?HTMLElement)\n\t{\n\t\tif (Type.isDomNode(element))\n\t\t{\n\t\t\t// eslint-disable-next-line\n\t\t\telement.hidden = false;\n\t\t}\n\t}\n\n\t/**\n\t * Hides element\n\t * @param element\n\t */\n\tstatic hide(element: ?HTMLElement)\n\t{\n\t\tif (Type.isDomNode(element))\n\t\t{\n\t\t\t// eslint-disable-next-line\n\t\t\telement.hidden = true;\n\t\t}\n\t}\n\n\t/**\n\t * Checks that element is shown\n\t * @param element\n\t * @return {*|boolean}\n\t */\n\tstatic isShown(element: ?HTMLElement)\n\t{\n\t\treturn (\n\t\t\tType.isDomNode(element)\n\t\t\t&& !element.hidden\n\t\t\t&& element.style.getPropertyValue('display') !== 'none'\n\t\t);\n\t}\n\n\t/**\n\t * Toggles element visibility\n\t * @param element\n\t */\n\tstatic toggle(element: HTMLElement)\n\t{\n\t\tif (Type.isDomNode(element))\n\t\t{\n\t\t\tif (Dom.isShown(element))\n\t\t\t{\n\t\t\t\tDom.hide(element);\n\t\t\t}\n\t\t\telse\n\t\t\t{\n\t\t\t\tDom.show(element);\n\t\t\t}\n\t\t}\n\t}\n\n\t/**\n\t * Gets element position relative page\n\t * @param {HTMLElement} element\n\t * @return {DOMRect}\n\t */\n\tstatic getPosition(element: HTMLElement): DOMRect\n\t{\n\t\tif (Type.isDomNode(element))\n\t\t{\n\t\t\tconst elementRect = element.getBoundingClientRect();\n\t\t\tconst {scrollLeft, scrollTop} = getPageScroll();\n\n\t\t\treturn new DOMRect(\n\t\t\t\t(elementRect.left + scrollLeft),\n\t\t\t\t(elementRect.top + scrollTop),\n\t\t\t\telementRect.width,\n\t\t\t\telementRect.height,\n\t\t\t);\n\t\t}\n\n\t\treturn new DOMRect();\n\t}\n\n\t/**\n\t * Gets element position relative specified element position\n\t * @param {HTMLElement} element\n\t * @param {HTMLElement} relationElement\n\t * @return {DOMRect}\n\t */\n\tstatic getRelativePosition(element: HTMLElement, relationElement: HTMLElement): DOMRect\n\t{\n\t\tif (Type.isDomNode(element) && Type.isDomNode(relationElement))\n\t\t{\n\t\t\tconst elementPosition = Dom.getPosition(element);\n\t\t\tconst relationElementPosition = Dom.getPosition(relationElement);\n\n\t\t\treturn new DOMRect(\n\t\t\t\telementPosition.left - relationElementPosition.left,\n\t\t\t\telementPosition.top - relationElementPosition.top,\n\t\t\t\telementPosition.width,\n\t\t\t\telementPosition.height,\n\t\t\t);\n\t\t}\n\n\t\treturn new DOMRect();\n\t}\n\n\tstatic attr(\n\t\telement: ?HTMLElement,\n\t\tattr: string | {[key: string]: any},\n\t\tvalue?: any,\n\t)\n\t{\n\t\tif (Type.isElementNode(element))\n\t\t{\n\t\t\tif (Type.isString(attr))\n\t\t\t{\n\t\t\t\tif (!Type.isNil(value))\n\t\t\t\t{\n\t\t\t\t\treturn element.setAttribute(attr, encodeAttributeValue(value));\n\t\t\t\t}\n\n\t\t\t\tif (Type.isNull(value))\n\t\t\t\t{\n\t\t\t\t\treturn element.removeAttribute(attr);\n\t\t\t\t}\n\n\t\t\t\treturn decodeAttributeValue(element.getAttribute(attr));\n\t\t\t}\n\n\t\t\tif (Type.isPlainObject(attr))\n\t\t\t{\n\t\t\t\treturn Object.entries(attr).forEach(([attrKey, attrValue]) => {\n\t\t\t\t\tDom.attr(element, attrKey, attrValue);\n\t\t\t\t});\n\t\t\t}\n\t\t}\n\n\t\treturn null;\n\t}\n}","import Type from './type';\nimport Dom from './dom';\n\nconst UA = navigator.userAgent.toLowerCase();\n\n/**\n * @memberOf BX\n */\nexport default class Browser\n{\n\tstatic isOpera()\n\t{\n\t\treturn UA.includes('opera');\n\t}\n\n\tstatic isIE()\n\t{\n\t\treturn ('attachEvent' in document) && !Browser.isOpera();\n\t}\n\n\tstatic isIE6()\n\t{\n\t\treturn UA.includes('msie 6');\n\t}\n\n\tstatic isIE7()\n\t{\n\t\treturn UA.includes('msie 7');\n\t}\n\n\tstatic isIE8()\n\t{\n\t\treturn UA.includes('msie 8');\n\t}\n\n\tstatic isIE9()\n\t{\n\t\treturn ('documentMode' in document) && document.documentMode >= 9;\n\t}\n\n\tstatic isIE10()\n\t{\n\t\treturn ('documentMode' in document) && document.documentMode >= 10;\n\t}\n\n\tstatic isSafari()\n\t{\n\t\treturn UA.includes('webkit');\n\t}\n\n\tstatic isFirefox()\n\t{\n\t\treturn UA.includes('firefox');\n\t}\n\n\tstatic isChrome()\n\t{\n\t\treturn UA.includes('chrome');\n\t}\n\n\tstatic detectIEVersion()\n\t{\n\t\tif (Browser.isOpera() || Browser.isSafari() || Browser.isFirefox() || Browser.isChrome())\n\t\t{\n\t\t\treturn -1;\n\t\t}\n\n\t\tlet rv = -1;\n\n\t\tif (\n\t\t\t!!(window.MSStream)\n\t\t\t&& !(window.ActiveXObject)\n\t\t\t&& ('ActiveXObject' in window)\n\t\t)\n\t\t{\n\t\t\trv = 11;\n\t\t}\n\t\telse if (Browser.isIE10())\n\t\t{\n\t\t\trv = 10;\n\t\t}\n\t\telse if (Browser.isIE9())\n\t\t{\n\t\t\trv = 9;\n\t\t}\n\t\telse if (Browser.isIE())\n\t\t{\n\t\t\trv = 8;\n\t\t}\n\n\t\tif (rv === -1 || rv === 8)\n\t\t{\n\t\t\tif (navigator.appName === 'Microsoft Internet Explorer')\n\t\t\t{\n\t\t\t\tconst re = new RegExp('MSIE ([0-9]+[.0-9]*)');\n\t\t\t\tconst res = navigator.userAgent.match(re);\n\n\t\t\t\tif (Type.isArrayLike(res) && res.length > 0)\n\t\t\t\t{\n\t\t\t\t\trv = parseFloat(res[1]);\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tif (navigator.appName === 'Netscape')\n\t\t\t{\n\t\t\t\t// Alternative check for IE 11\n\t\t\t\trv = 11;\n\t\t\t\tconst re = new RegExp('Trident/.*rv:([0-9]+[.0-9]*)');\n\n\t\t\t\tif (re.exec(navigator.userAgent) != null)\n\t\t\t\t{\n\t\t\t\t\tconst res = navigator.userAgent.match(re);\n\n\t\t\t\t\tif (Type.isArrayLike(res) && res.length > 0)\n\t\t\t\t\t{\n\t\t\t\t\t\trv = parseFloat(res[1]);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\treturn rv;\n\t}\n\n\tstatic isIE11()\n\t{\n\t\treturn Browser.detectIEVersion() >= 11;\n\t}\n\n\tstatic isMac()\n\t{\n\t\treturn UA.includes('macintosh');\n\t}\n\n\tstatic isWin()\n\t{\n\t\treturn UA.includes('windows');\n\t}\n\n\tstatic isLinux()\n\t{\n\t\treturn UA.includes('linux') && !Browser.isAndroid();\n\t}\n\n\tstatic isAndroid()\n\t{\n\t\treturn UA.includes('android');\n\t}\n\n\tstatic isIPad()\n\t{\n\t\treturn UA.includes('ipad;') || (this.isMac() && this.isTouchDevice());\n\t}\n\n\tstatic isIPhone()\n\t{\n\t\treturn UA.includes('iphone;');\n\t}\n\n\tstatic isIOS()\n\t{\n\t\treturn Browser.isIPad() || Browser.isIPhone();\n\t}\n\n\tstatic isMobile()\n\t{\n\t\treturn (\n\t\t\tBrowser.isIPhone()\n\t\t\t|| Browser.isIPad()\n\t\t\t|| Browser.isAndroid()\n\t\t\t|| UA.includes('mobile')\n\t\t\t|| UA.includes('touch')\n\t\t);\n\t}\n\n\tstatic isRetina()\n\t{\n\t\treturn window.devicePixelRatio && window.devicePixelRatio >= 2;\n\t}\n\n\tstatic isTouchDevice()\n\t{\n\t\treturn (\n\t\t\t('ontouchstart' in window) || navigator.maxTouchPoints > 0 || navigator.msMaxTouchPoints > 0\n\t\t);\n\t}\n\n\tstatic isDoctype(target: any)\n\t{\n\t\tconst doc = target || document;\n\n\t\tif (doc.compatMode)\n\t\t{\n\t\t\treturn (doc.compatMode === 'CSS1Compat');\n\t\t}\n\n\t\treturn (doc.documentElement && doc.documentElement.clientHeight);\n\t}\n\n\tstatic isLocalStorageSupported()\n\t{\n\t\ttry\n\t\t{\n\t\t\tlocalStorage.setItem('test', 'test');\n\t\t\tlocalStorage.removeItem('test');\n\t\t\treturn true;\n\t\t}\n\t\tcatch (e)\n\t\t{\n\t\t\treturn false;\n\t\t}\n\t}\n\n\tstatic addGlobalClass()\n\t{\n\t\tlet globalClass = 'bx-core';\n\n\t\tif (Dom.hasClass(document.documentElement, globalClass))\n\t\t{\n\t\t\treturn;\n\t\t}\n\n\t\tif (Browser.isIOS())\n\t\t{\n\t\t\tglobalClass += ' bx-ios';\n\t\t}\n\t\telse if (Browser.isMac())\n\t\t{\n\t\t\tglobalClass += ' bx-mac';\n\t\t}\n\t\telse if (Browser.isAndroid())\n\t\t{\n\t\t\tglobalClass += ' bx-android';\n\t\t}\n\n\t\tglobalClass += (Browser.isMobile() ? ' bx-touch' : ' bx-no-touch');\n\t\tglobalClass += (Browser.isRetina() ? ' bx-retina' : ' bx-no-retina');\n\n\t\tlet ieVersion = -1;\n\n\t\tif (/AppleWebKit/.test(navigator.userAgent))\n\t\t{\n\t\t\tglobalClass += ' bx-chrome';\n\t\t}\n\t\telse if (Browser.detectIEVersion() > 0)\n\t\t{\n\t\t\tieVersion = Browser.detectIEVersion();\n\t\t\tglobalClass += ` bx-ie bx-ie${ieVersion}`;\n\n\t\t\tif (ieVersion > 7 && ieVersion < 10 && !Browser.isDoctype())\n\t\t\t{\n\t\t\t\tglobalClass += ' bx-quirks';\n\t\t\t}\n\t\t}\n\t\telse if (/Opera/.test(navigator.userAgent))\n\t\t{\n\t\t\tglobalClass += ' bx-opera';\n\t\t}\n\t\telse if (/Gecko/.test(navigator.userAgent))\n\t\t{\n\t\t\tglobalClass += ' bx-firefox';\n\t\t}\n\n\t\tDom.addClass(document.documentElement, globalClass);\n\t}\n\n\tstatic detectAndroidVersion()\n\t{\n\t\tconst re = new RegExp('Android ([0-9]+[.0-9]*)');\n\n\t\tif (re.exec(navigator.userAgent) != null)\n\t\t{\n\t\t\tconst res = navigator.userAgent.match(re);\n\n\t\t\tif (Type.isArrayLike(res) && res.length > 0)\n\t\t\t{\n\t\t\t\treturn parseFloat(res[1]);\n\t\t\t}\n\t\t}\n\n\t\treturn 0;\n\t}\n\n\tstatic isPropertySupported(jsProperty: any, returnCSSName: any)\n\t{\n\t\tif (jsProperty === '')\n\t\t{\n\t\t\treturn false;\n\t\t}\n\n\t\tfunction getCssName(propertyName)\n\t\t{\n\t\t\treturn propertyName.replace(/([A-Z])/g, (...args) => `-${args[1].toLowerCase()}`);\n\t\t}\n\n\t\tfunction getJsName(cssName)\n\t\t{\n\t\t\tconst reg = /(\\\\-([a-z]))/g;\n\n\t\t\tif (reg.test(cssName))\n\t\t\t{\n\t\t\t\treturn cssName.replace(reg, (...args) => args[2].toUpperCase());\n\t\t\t}\n\n\t\t\treturn cssName;\n\t\t}\n\n\t\tconst property = jsProperty.includes('-') ? getJsName(jsProperty) : jsProperty;\n\t\tconst bReturnCSSName = !!returnCSSName;\n\t\tconst ucProperty = property.charAt(0).toUpperCase() + property.slice(1);\n\t\tconst props = ['Webkit', 'Moz', 'O', 'ms'].join(`${ucProperty} `);\n\t\tconst properties = `${property} ${props} ${ucProperty}`.split(' ');\n\n\t\tconst obj = document.body || document.documentElement;\n\n\t\tfor (let i = 0; i < properties.length; i += 1)\n\t\t{\n\t\t\tconst prop = properties[i];\n\n\t\t\tif (obj && 'style' in obj && prop in obj.style)\n\t\t\t{\n\t\t\t\tconst lowerProp = prop.substr(0, prop.length - property.length).toLowerCase();\n\t\t\t\tconst prefix = prop === property ? '' : `-${lowerProp}-`;\n\t\t\t\treturn bReturnCSSName ? prefix + getCssName(property) : prop;\n\t\t\t}\n\t\t}\n\n\t\treturn false;\n\t}\n\n\tstatic addGlobalFeatures(features: any)\n\t{\n\t\tif (!Type.isArray(features))\n\t\t{\n\t\t\treturn;\n\t\t}\n\n\t\tconst classNames = [];\n\n\t\tfor (let i = 0; i < features.length; i += 1)\n\t\t{\n\t\t\tconst support = !!Browser.isPropertySupported(features[i]);\n\t\t\tclassNames.push(`bx-${(support ? '' : 'no-')}${features[i].toLowerCase()}`);\n\t\t}\n\n\t\tDom.addClass(document.documentElement, classNames.join(' '));\n\t}\n}","import Type from '../type';\n\nexport default class Cookie\n{\n\t/**\n\t * Gets cookies list for current domain\n\t * @return {object}\n\t */\n\tstatic getList(): {[key: string]: string}\n\t{\n\t\treturn document.cookie\n\t\t\t.split(';')\n\t\t\t.map(item => item.split('='))\n\t\t\t.map(item => item.map(subItem => subItem.trim()))\n\t\t\t.reduce((acc, item) => {\n\t\t\t\tconst [key, value] = item;\n\t\t\t\tacc[decodeURIComponent(key)] = (\n\t\t\t\t\tdecodeURIComponent(value)\n\t\t\t\t);\n\t\t\t\treturn acc;\n\t\t\t}, {});\n\t}\n\n\t/**\n\t * Gets cookie value\n\t * @param {string} name\n\t * @return {*}\n\t */\n\tstatic get(name)\n\t{\n\t\tconst cookiesList = Cookie.getList();\n\n\t\tif (name in cookiesList)\n\t\t{\n\t\t\treturn cookiesList[name];\n\t\t}\n\n\t\treturn undefined;\n\t}\n\n\t/**\n\t * Sets cookie\n\t * @param {string} name\n\t * @param {*} value\n\t * @param {object} [options]\n\t */\n\tstatic set(name, value, options = {})\n\t{\n\t\tconst attributes = {\n\t\t\texpires: '',\n\t\t\t...options,\n\t\t};\n\n\t\tif (Type.isNumber(attributes.expires))\n\t\t{\n\t\t\tconst now = (+new Date());\n\t\t\tconst days = attributes.expires;\n\t\t\tconst dayInMs = 864e+5;\n\t\t\tattributes.expires = new Date(now + days * dayInMs);\n\t\t}\n\n\t\tif (Type.isDate(attributes.expires))\n\t\t{\n\t\t\tattributes.expires = attributes.expires.toUTCString();\n\t\t}\n\n\t\tconst safeName = decodeURIComponent(String(name))\n\t\t\t.replace(/%(23|24|26|2B|5E|60|7C)/g, decodeURIComponent)\n\t\t\t.replace(/[()]/g, escape);\n\n\t\tconst safeValue = encodeURIComponent(String(value))\n\t\t\t.replace(/%(23|24|26|2B|3A|3C|3E|3D|2F|3F|40|5B|5D|5E|60|7B|7D|7C)/g, decodeURIComponent);\n\n\t\tconst stringifiedAttributes = Object.keys(attributes)\n\t\t\t.reduce((acc, key) => {\n\t\t\t\tconst attributeValue = attributes[key];\n\n\t\t\t\tif (!attributeValue)\n\t\t\t\t{\n\t\t\t\t\treturn acc;\n\t\t\t\t}\n\n\t\t\t\tif (attributeValue === true)\n\t\t\t\t{\n\t\t\t\t\treturn `${acc}; ${key}`;\n\t\t\t\t}\n\n\t\t\t\t/**\n\t\t\t\t * Considers RFC 6265 section 5.2:\n\t\t\t\t * ...\n\t\t\t\t * 3. If the remaining unparsed-attributes contains a %x3B (';')\n\t\t\t\t * character:\n\t\t\t\t * Consume the characters of the unparsed-attributes up to,\n\t\t\t\t * not including, the first %x3B (';') character.\n\t\t\t\t */\n\t\t\t\treturn `${acc}; ${key}=${attributeValue.split(';')[0]}`;\n\t\t\t}, '');\n\n\t\tdocument.cookie = `${safeName}=${safeValue}${stringifiedAttributes}`;\n\t}\n\n\t/**\n\t * Removes cookie\n\t * @param {string} name\n\t * @param {object} [options]\n\t */\n\tstatic remove(name, options = {})\n\t{\n\t\tCookie.set(name, '', {...options, expires: -1});\n\t}\n}","import Type from '../../type';\n\nexport default function objectToFormData(\n\tsource: {[key: string]: any},\n\tformData: FormData = new FormData(),\n\tpre = null,\n)\n{\n\tif (Type.isUndefined(source))\n\t{\n\t\treturn formData;\n\t}\n\n\tif (Type.isNull(source))\n\t{\n\t\tformData.append(pre, '');\n\t}\n\telse if (Type.isArray(source))\n\t{\n\t\tif (!source.length)\n\t\t{\n\t\t\tconst key = `${pre}[]`;\n\t\t\tformData.append(key, '');\n\t\t}\n\t\telse\n\t\t{\n\t\t\tsource.forEach((value, index) => {\n\t\t\t\tconst key = `${pre}[${index}]`;\n\t\t\t\tobjectToFormData(value, formData, key);\n\t\t\t});\n\t\t}\n\t}\n\telse if (Type.isDate(source))\n\t{\n\t\tformData.append(pre, source.toISOString());\n\t}\n\telse if (Type.isObject(source) && !Type.isFile(source) && !Type.isBlob(source))\n\t{\n\t\tObject.keys(source).forEach((property) => {\n\t\t\tconst value = source[property];\n\t\t\tlet preparedProperty = property;\n\n\t\t\tif (Type.isArray(value))\n\t\t\t{\n\t\t\t\twhile (property.length > 2 && property.lastIndexOf('[]') === property.length - 2)\n\t\t\t\t{\n\t\t\t\t\tpreparedProperty = property.substring(0, property.length - 2);\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tconst key = pre ? `${pre}[${preparedProperty}]` : preparedProperty;\n\t\t\tobjectToFormData(value, formData, key);\n\t\t});\n\t}\n\telse\n\t{\n\t\tformData.append(pre, source);\n\t}\n\n\treturn formData;\n}","import objectToFormData from './internal/convert-object-to-form-data';\n\nexport default class Data\n{\n\t/**\n\t * Converts object to FormData\n\t * @param source\n\t * @return {FormData}\n\t */\n\tstatic convertObjectToFormData(source: {[key: string]: any}): FormData\n\t{\n\t\treturn objectToFormData(source);\n\t}\n}","import Cookie from './http/cookie';\nimport Data from './http/data';\n\n/**\n * @memberOf BX\n */\nexport default class Http\n{\n\tstatic Cookie = Cookie;\n\tstatic Data = Data;\n}","import Type from '../type';\nimport Runtime from '../runtime';\nimport EventEmitter from '../event/event-emitter';\nimport BaseEvent from '../event/base-event';\n\ntype messageParam = string | {[key: string]: string | number};\n\nexport default function message(value: messageParam): string | boolean | void\n{\n\tif (Type.isString(value))\n\t{\n\t\tif (Type.isNil(message[value]))\n\t\t{\n\t\t\t// eslint-disable-next-line\n\t\t\tEventEmitter.emit('onBXMessageNotFound', new BaseEvent({ compatData: [value] }));\n\n\t\t\tif (Type.isNil(message[value]))\n\t\t\t{\n\t\t\t\tRuntime.debug(`message undefined: ${value}`);\n\t\t\t\tmessage[value] = '';\n\t\t\t}\n\t\t}\n\t}\n\n\tif (Type.isPlainObject(value))\n\t{\n\t\tObject.keys(value).forEach((key) => {\n\t\t\tmessage[key] = value[key];\n\t\t});\n\t}\n\n\treturn message[value];\n}\n\nif (\n\t!Type.isNil(window.BX)\n\t&& Type.isFunction(window.BX.message)\n)\n{\n\tObject.keys(window.BX.message).forEach((key) => {\n\t\tmessage({[key]: window.BX.message[key]});\n\t});\n}","import Type from './type';\nimport message from './loc/message';\n\n/**\n * Implements interface for works with language messages\n * @memberOf BX\n */\nexport default class Loc\n{\n\t/**\n\t * Gets message by id\n\t * @param {string} messageId\n\t * @param {object} replacements\n\t * @return {?string}\n\t */\n\tstatic getMessage(messageId: string, replacements:? {[key: string]: string} = null): ?string\n\t{\n\t\tlet mess = message(messageId);\n\t\tif (Type.isString(mess) && Type.isPlainObject(replacements))\n\t\t{\n\t\t\tObject.keys(replacements).forEach((replacement: string) => {\n\t\t\t\tconst globalRegexp = new RegExp(replacement, 'gi');\n\t\t\t\tmess = mess.replace(\n\t\t\t\t\tglobalRegexp,\n\t\t\t\t\t() => {\n\t\t\t\t\t\treturn Type.isNil(replacements[replacement]) ? '' : String(replacements[replacement]);\n\t\t\t\t\t}\n\t\t\t\t);\n\t\t\t});\n\t\t}\n\n\t\treturn mess;\n\t}\n\n\tstatic hasMessage(messageId: string): boolean\n\t{\n\t\treturn Type.isString(messageId) && !Type.isNil(message[messageId]);\n\t}\n\n\t/**\n\t * Sets message or messages\n\t * @param {string | Object<string, string>} id\n\t * @param {string} [value]\n\t */\n\tstatic setMessage(id: string | {[key: string]: string}, value?: string)\n\t{\n\t\tif (Type.isString(id) && Type.isString(value))\n\t\t{\n\t\t\tmessage({[id]: value});\n\t\t}\n\n\t\tif (Type.isObject(id))\n\t\t{\n\t\t\tmessage(id);\n\t\t}\n\t}\n\n\t/**\n\t * Gets plural message by id and number\n\t * @param {string} messageId\n\t * @param {number} value\n\t * @param {object} [replacements]\n\t * @return {?string}\n\t */\n\tstatic getMessagePlural(messageId: string, value: number, replacements:? {[key: string]: string} = null)\n\t{\n\t\tlet result = '';\n\n\t\tif (Type.isNumber(value))\n\t\t{\n\t\t\tif (this.hasMessage(`${messageId}_PLURAL_${this.getPluralForm(value)}`))\n\t\t\t{\n\t\t\t\tresult = this.getMessage(`${messageId}_PLURAL_${this.getPluralForm(value)}`, replacements);\n\t\t\t}\n\t\t\telse\n\t\t\t{\n\t\t\t\tresult = this.getMessage(`${messageId}_PLURAL_1`, replacements);\n\t\t\t}\n\t\t}\n\t\telse\n\t\t{\n\t\t\tresult = this.getMessage(messageId, replacements);\n\t\t}\n\n\t\treturn result;\n\t}\n\n\t/**\n\t * Gets language plural form id by number\n\t * see http://docs.translatehouse.org/projects/localization-guide/en/latest/l10n/pluralforms.html\n\t * @param {number} value\n\t * @param {string} [languageId]\n\t * @return {?number}\n\t */\n\tstatic getPluralForm(value: number, languageId?: string)\n\t{\n\t\tlet pluralForm;\n\n\t\tif (!Type.isStringFilled(languageId))\n\t\t{\n\t\t\tlanguageId = message('LANGUAGE_ID');\n\t\t}\n\n\t\tif (value < 0)\n\t\t{\n\t\t\tvalue = (-1) * value;\n\t\t}\n\n\t\tswitch (languageId)\n\t\t{\n\t\t\tcase 'ar':\n\t\t\t\tpluralForm = ((value !== 1) ? 1 : 0);\n/*\n\t\t\t\tif (value === 0)\n\t\t\t\t{\n\t\t\t\t\tpluralForm = 0;\n\t\t\t\t}\n\t\t\t\telse if (value === 1)\n\t\t\t\t{\n\t\t\t\t\tpluralForm = 1;\n\t\t\t\t}\n\t\t\t\telse if (value === 2)\n\t\t\t\t{\n\t\t\t\t\tpluralForm = 2;\n\t\t\t\t}\n\t\t\t\telse if (\n\t\t\t\t\tvalue % 100 >= 3\n\t\t\t\t\t&& value % 100 <= 10\n\t\t\t\t)\n\t\t\t\t{\n\t\t\t\t\tpluralForm = 3;\n\t\t\t\t}\n\t\t\t\telse if (value % 100 >= 11)\n\t\t\t\t{\n\t\t\t\t\tpluralForm = 4;\n\t\t\t\t}\n\t\t\t\telse\n\t\t\t\t{\n\t\t\t\t\tpluralForm = 5;\n\t\t\t\t}\n */\n\t\t\t\tbreak;\n\n\t\t\tcase 'br':\n\t\t\tcase 'fr':\n\t\t\tcase 'tr':\n\t\t\t\tpluralForm = ((value > 1) ? 1 : 0);\n\t\t\t\tbreak;\n\n\t\t\tcase 'de':\n\t\t\tcase 'en':\n\t\t\tcase 'hi':\n\t\t\tcase 'it':\n\t\t\tcase 'la':\n\t\t\t\tpluralForm = ((value !== 1) ? 1 : 0);\n\t\t\t\tbreak;\n\n\t\t\tcase 'ru':\n\t\t\tcase 'ua':\n\t\t\t\tif (\n\t\t\t\t\t(value % 10 === 1)\n\t\t\t\t\t&& (value % 100 !== 11)\n\t\t\t\t)\n\t\t\t\t{\n\t\t\t\t\tpluralForm = 0;\n\t\t\t\t}\n\t\t\t\telse if (\n\t\t\t\t\t(value % 10 >= 2)\n\t\t\t\t\t&& (value % 10 <= 4)\n\t\t\t\t\t&& (\n\t\t\t\t\t\t(value % 100 < 10)\n\t\t\t\t\t\t|| (value % 100 >= 20)\n\t\t\t\t\t)\n\t\t\t\t)\n\t\t\t\t{\n\t\t\t\t\tpluralForm = 1;\n\t\t\t\t}\n\t\t\t\telse\n\t\t\t\t{\n\t\t\t\t\tpluralForm = 2;\n\t\t\t\t}\n\t\t\t\tbreak;\n\n\t\t\tcase 'pl':\n\t\t\t\tif (value === 1)\n\t\t\t\t{\n\t\t\t\t\tpluralForm = 0;\n\t\t\t\t}\n\t\t\t\telse if (\n\t\t\t\t\tvalue % 10 >= 2\n\t\t\t\t\t&& value % 10 <= 4\n\t\t\t\t\t&& (\n\t\t\t\t\t\tvalue % 100 < 10\n\t\t\t\t\t\t|| value % 100 >= 20\n\t\t\t\t\t)\n\t\t\t\t)\n\t\t\t\t{\n\t\t\t\t\tpluralForm = 1;\n\t\t\t\t}\n\t\t\t\telse\n\t\t\t\t{\n\t\t\t\t\tpluralForm = 2;\n\t\t\t\t}\n\t\t\t\tbreak;\n\n\t\t\tcase 'id':\n\t\t\tcase 'ja':\n\t\t\tcase 'ms':\n\t\t\tcase 'sc':\n\t\t\tcase 'tc':\n\t\t\tcase 'th':\n\t\t\tcase 'vn':\n\t\t\t\tpluralForm = 0;\n\t\t\t\tbreak;\n\n\t\t\tdefault:\n\t\t\t\tpluralForm = 1;\n\t\t\t\tbreak;\n\t\t}\n\n\t\treturn pluralForm;\n\t}\n\n}","import Type from '../type';\nimport Dom from '../dom';\nimport Event from '../event';\n\ntype renderResult = HTMLDocument | HTMLElement | Element;\n\nconst handlers = new Map();\nconst children = new Map();\nconst getUid = (() => {\n\tlet incremental = 0;\n\treturn () => {\n\t\tincremental += 1;\n\t\treturn incremental;\n\t};\n})();\n\nfunction bindAll(element, handlersMap: Map)\n{\n\thandlersMap.forEach((handler, key) => {\n\t\tconst currentElement = element.querySelector(`[${key}]`);\n\n\t\tif (currentElement)\n\t\t{\n\t\t\tcurrentElement.removeAttribute(key);\n\t\t\tconst event = key.replace(/-(.*)/, '');\n\t\t\tEvent.bind(currentElement, event, handler);\n\t\t\thandlers.delete(key);\n\t\t}\n\t});\n}\n\nfunction replaceChild(element, childrenMap: Map)\n{\n\tchildrenMap.forEach((item, id) => {\n\t\tconst currentElement = element.getElementById(id);\n\n\t\tif (currentElement)\n\t\t{\n\t\t\tDom.replace(currentElement, item);\n\t\t\tchildren.delete(id);\n\t\t}\n\t});\n}\n\nexport default function render(sections: string[], ...substitutions: string[]): renderResult\n{\n\tconst eventAttrRe = /[ |\\t]on(\\w+)=\"$/;\n\tconst uselessSymbolsRe = /[\\r\\n\\t]/g;\n\n\tconst html = substitutions\n\t\t.reduce((acc, item, index) => {\n\t\t\tlet preparedAcc = acc;\n\n\t\t\t// Process event handlers\n\t\t\tconst matches = acc.match(eventAttrRe);\n\n\t\t\tif (matches && Type.isFunction(item))\n\t\t\t{\n\t\t\t\tconst eventName = matches[1].replace(/=['|\"]/, '');\n\t\t\t\tconst attrName = `${eventName}-${getUid()}`;\n\t\t\t\tconst attribute = `${attrName}=\"`;\n\t\t\t\tpreparedAcc = preparedAcc.replace(eventAttrRe, ` ${attribute}`);\n\t\t\t\thandlers.set(attrName, item);\n\t\t\t\tpreparedAcc += (\n\t\t\t\t\tsections[index + 1]\n\t\t\t\t\t\t.replace(uselessSymbolsRe, ' ')\n\t\t\t\t\t\t.replace(/ +/g, ' ')\n\t\t\t\t);\n\t\t\t\treturn preparedAcc;\n\t\t\t}\n\n\t\t\t// Process element\n\t\t\tif (Type.isDomNode(item))\n\t\t\t{\n\t\t\t\tconst childKey = `tmp___${getUid()}`;\n\t\t\t\tchildren.set(childKey, item);\n\t\t\t\tpreparedAcc += `<span id=\"${childKey}\"> </span>`;\n\t\t\t\tpreparedAcc += sections[index + 1];\n\t\t\t\treturn preparedAcc;\n\t\t\t}\n\n\t\t\t// Process array\n\t\t\tif (Type.isArray(item))\n\t\t\t{\n\t\t\t\t[...item].forEach((currentElement) => {\n\t\t\t\t\tif (Type.isDomNode(currentElement))\n\t\t\t\t\t{\n\t\t\t\t\t\tconst childKey = `tmp___${getUid()}`;\n\t\t\t\t\t\tchildren.set(childKey, currentElement);\n\t\t\t\t\t\tpreparedAcc += `<span id=\"${childKey}\"> </span>`;\n\t\t\t\t\t}\n\t\t\t\t});\n\n\t\t\t\tpreparedAcc += sections[index + 1];\n\n\t\t\t\treturn preparedAcc;\n\t\t\t}\n\n\t\t\treturn preparedAcc + item + sections[index + 1];\n\t\t}, sections[0]);\n\n\tconst lowercaseHtml = html.trim().toLowerCase();\n\tif (\n\t\tlowercaseHtml.startsWith('<!doctype')\n\t\t|| lowercaseHtml.startsWith('<html')\n\t)\n\t{\n\t\tconst doc = document.implementation.createHTMLDocument('');\n\t\tdoc.documentElement.innerHTML = html;\n\t\treplaceChild(doc, children);\n\t\tbindAll(doc, handlers);\n\t\thandlers.clear();\n\t\treturn doc;\n\t}\n\n\tconst parser = new DOMParser();\n\tconst parsedDocument = parser.parseFromString(html, 'text/html');\n\n\treplaceChild(parsedDocument, children);\n\tbindAll(parsedDocument, handlers);\n\n\tif (\n\t\tparsedDocument.head.children.length\n\t\t&& parsedDocument.body.children.length\n\t)\n\t{\n\t\treturn parsedDocument;\n\t}\n\n\tif (parsedDocument.body.children.length === 1)\n\t{\n\t\tconst [el] = parsedDocument.body.children;\n\t\tDom.remove(el);\n\t\treturn el;\n\t}\n\n\tif (parsedDocument.body.children.length > 1)\n\t{\n\t\treturn [...parsedDocument.body.children].map((item) => {\n\t\t\tDom.remove(item);\n\t\t\treturn item;\n\t\t});\n\t}\n\n\tif (parsedDocument.body.children.length === 0)\n\t{\n\t\tif (parsedDocument.head.children.length === 1)\n\t\t{\n\t\t\tconst [el] = parsedDocument.head.children;\n\t\t\tDom.remove(el);\n\t\t\treturn el;\n\t\t}\n\n\t\tif (parsedDocument.head.children.length > 1)\n\t\t{\n\t\t\treturn [...parsedDocument.head.children].map((item) => {\n\t\t\t\tDom.remove(item);\n\t\t\t\treturn item;\n\t\t\t});\n\t\t}\n\t}\n\n\treturn false;\n}","import Type from './type';\nimport Dom from './dom';\nimport Loc from './loc';\nimport Text from './text';\nimport render from './tag/render';\n\nfunction parseProps(sections: string[], ...substitutions: string[]): {[key: string]: string}\n{\n\treturn substitutions\n\t\t.reduce((acc, item, index) => {\n\t\t\tconst nextSectionIndex = index + 1;\n\n\t\t\tif (!Type.isPlainObject(item) && !Type.isArray(item))\n\t\t\t{\n\t\t\t\treturn acc + item + sections[nextSectionIndex];\n\t\t\t}\n\n\t\t\treturn `${acc}__s${index}${sections[nextSectionIndex]}`;\n\t\t}, sections[0])\n\t\t.replace(/[\\r\\t]/gm, '')\n\t\t.split(';\\n')\n\t\t.map(item => item.replace(/\\n/, ''))\n\t\t.reduce((acc, item) => {\n\t\t\tif (item !== '')\n\t\t\t{\n\t\t\t\tconst matches = item.match(/^[\\w-. ]+:/);\n\t\t\t\tconst splitted = item.split(/^[\\w-. ]+:/);\n\t\t\t\tconst key = matches[0].replace(':', '').trim();\n\t\t\t\tconst value = splitted[1].trim();\n\t\t\t\tconst substitutionPlaceholderExp = /^__s\\d+/;\n\n\t\t\t\tif (substitutionPlaceholderExp.test(value))\n\t\t\t\t{\n\t\t\t\t\tacc[key] = substitutions[value.replace('__s', '')];\n\t\t\t\t\treturn acc;\n\t\t\t\t}\n\n\t\t\t\tacc[key] = value;\n\t\t\t}\n\n\t\t\treturn acc;\n\t\t}, {});\n}\n\n/**\n * @memberOf BX\n */\nexport default class Tag\n{\n\t/**\n\t * Encodes all substitutions\n\t * @param sections\n\t * @param substitutions\n\t * @return {string}\n\t */\n\tstatic safe(sections: string[], ...substitutions: string[])\n\t{\n\t\treturn substitutions.reduce((acc, item, index) => (\n\t\t\tacc + Text.encode(item) + sections[index + 1]\n\t\t), sections[0]);\n\t}\n\n\t/**\n\t * Decodes all substitutions\n\t * @param sections\n\t * @param substitutions\n\t * @return {string}\n\t */\n\tstatic unsafe(sections, ...substitutions)\n\t{\n\t\treturn substitutions.reduce((acc, item, index) => (\n\t\t\tacc + Text.decode(item) + sections[index + 1]\n\t\t), sections[0]);\n\t}\n\n\t/**\n\t * Adds styles to specified element\n\t * @param {HTMLElement} element\n\t * @return {Function}\n\t */\n\tstatic style(element: HTMLElement): Function\n\t{\n\t\tif (!Type.isDomNode(element))\n\t\t{\n\t\t\tthrow new Error('element is not HTMLElement');\n\t\t}\n\n\t\treturn function styleTagHandler(...args) {\n\t\t\tDom.style(element, parseProps(...args));\n\t\t};\n\t}\n\n\t/**\n\t * Replace all messages identifiers to real messages\n\t * @param sections\n\t * @param substitutions\n\t * @return {string}\n\t */\n\tstatic message(sections: string[], ...substitutions: string[]): string\n\t{\n\t\treturn substitutions.reduce((acc, item, index) => (\n\t\t\tacc + Loc.getMessage(item) + sections[index + 1]\n\t\t), sections[0]);\n\t}\n\n\tstatic render = render;\n\n\t/**\n\t * Adds attributes to specified element\n\t * @param element\n\t * @return {Function}\n\t */\n\tstatic attrs(element: HTMLElement)\n\t{\n\t\tif (!Type.isDomNode(element))\n\t\t{\n\t\t\tthrow new Error('element is not HTMLElement');\n\t\t}\n\n\t\treturn function attrsTagHandler(...args): string {\n\t\t\tDom.attr(element, parseProps(...args));\n\t\t};\n\t}\n\n\tstatic attr = Tag.attrs;\n}","import Type from '../type';\n\nfunction getParser(format)\n{\n\tswitch (format)\n\t{\n\t\tcase 'index':\n\t\t\treturn (sourceKey, value, accumulator) => {\n\t\t\t\tconst result = /\\[(\\w*)\\]$/.exec(sourceKey);\n\t\t\t\tconst key = sourceKey.replace(/\\[\\w*\\]$/, '');\n\n\t\t\t\tif (Type.isNil(result))\n\t\t\t\t{\n\t\t\t\t\taccumulator[key] = value;\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\tif (Type.isUndefined(accumulator[key]))\n\t\t\t\t{\n\t\t\t\t\taccumulator[key] = {};\n\t\t\t\t}\n\n\t\t\t\taccumulator[key][result[1]] = value;\n\t\t\t};\n\t\tcase 'bracket':\n\t\t\treturn (sourceKey, value, accumulator) => {\n\t\t\t\tconst result = /(\\[\\])$/.exec(sourceKey);\n\t\t\t\tconst key = sourceKey.replace(/\\[\\]$/, '');\n\n\t\t\t\tif (Type.isNil(result))\n\t\t\t\t{\n\t\t\t\t\taccumulator[key] = value;\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\tif (Type.isUndefined(accumulator[key]))\n\t\t\t\t{\n\t\t\t\t\taccumulator[key] = [value];\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\taccumulator[key] = [].concat(accumulator[key], value);\n\t\t\t};\n\t\tdefault:\n\t\t\treturn (sourceKey, value, accumulator) => {\n\t\t\t\tconst key = sourceKey.replace(/\\[\\]$/, '');\n\t\t\t\taccumulator[key] = value;\n\t\t\t};\n\t}\n}\n\nfunction getKeyFormat(key)\n{\n\tif (/^\\w+\\[([\\w]+)\\]$/.test(key))\n\t{\n\t\treturn 'index';\n\t}\n\n\tif (/^\\w+\\[\\]$/.test(key))\n\t{\n\t\treturn 'bracket';\n\t}\n\n\treturn 'default';\n}\n\nfunction parseQuery(input)\n{\n\tif (!Type.isString(input))\n\t{\n\t\treturn {};\n\t}\n\n\tconst url = input.trim().replace(/^[?#&]/, '');\n\n\tif (!url)\n\t{\n\t\treturn {};\n\t}\n\n\treturn url.split('&')\n\t\t.reduce((acc, param) => {\n\t\t\tconst [key, value] = param.replace(/\\+/g, ' ').split('=');\n\t\t\tconst keyFormat = getKeyFormat(key);\n\t\t\tconst formatter = getParser(keyFormat);\n\t\t\tformatter(key, value, acc);\n\t\t\treturn acc;\n\t\t}, {});\n}\n\nconst urlExp = /^((\\w+):)?(\\/\\/((\\w+)?(:(\\w+))?@)?([^\\/\\?:]+)(:(\\d+))?)?(\\/?([^\\/\\?#][^\\?#]*)?)?(\\?([^#]+))?(#(\\w*))?/;\n\nexport default function parseUrl(url)\n{\n\tconst result = url.match(urlExp);\n\n\tif (Type.isArray(result))\n\t{\n\t\tconst queryParams = parseQuery(result[14]);\n\n\t\treturn {\n\t\t\tuseShort: /^\\/\\//.test(url),\n\t\t\thref: result[0] || '',\n\t\t\tschema: result[2] || '',\n\t\t\thost: result[8] || '',\n\t\t\tport: result[10] || '',\n\t\t\tpath: result[11] || '',\n\t\t\tquery: result[14] || '',\n\t\t\tqueryParams,\n\t\t\thash: result[16] || '',\n\t\t\tusername: result[5] || '',\n\t\t\tpassword: result[7] || '',\n\t\t\torigin: result[8] || '',\n\t\t};\n\t}\n\n\treturn {};\n}","import Type from '../type';\n\nexport default function buildQueryString(params = {})\n{\n\tconst queryString = Object.keys(params)\n\t\t.reduce((acc, key) => {\n\t\t\tif (Type.isArray(params[key]))\n\t\t\t{\n\t\t\t\tparams[key].forEach((paramValue) => {\n\t\t\t\t\tacc.push(`${key}[]=${paramValue}`);\n\t\t\t\t}, '');\n\t\t\t}\n\n\t\t\tif (Type.isPlainObject(params[key]))\n\t\t\t{\n\t\t\t\tObject.keys(params[key]).forEach((paramIndex) => {\n\t\t\t\t\tacc.push(`${key}[${paramIndex}]=${params[key][paramIndex]}`);\n\t\t\t\t}, '');\n\t\t\t}\n\n\t\t\tif (!Type.isObject(params[key]) && !Type.isArray(params[key]))\n\t\t\t{\n\t\t\t\tacc.push(`${key}=${params[key]}`);\n\t\t\t}\n\n\t\t\treturn acc;\n\t\t}, []).join('&');\n\n\tif (queryString.length > 0)\n\t{\n\t\treturn `?${queryString}`;\n\t}\n\n\treturn queryString;\n}","import Type from '../type';\n\nexport default function prepareParamValue(value)\n{\n\tif (Type.isArray(value))\n\t{\n\t\treturn value.map(item => String(item));\n\t}\n\n\tif (Type.isPlainObject(value))\n\t{\n\t\treturn {...value};\n\t}\n\n\treturn String(value);\n}","import parseUrl from './uri/parse-url';\nimport buildQueryString from './uri/build-query-string';\nimport prepareParamValue from './uri/prepare-param-value';\nimport Type from './type';\n\nconst map = new WeakMap();\n\n/**\n * Implements interface for works with URI\n * @memberOf BX\n */\nexport default class Uri\n{\n\tstatic addParam(url: string, params = {}): string\n\t{\n\t\treturn (new Uri(url)).setQueryParams(params).toString();\n\t}\n\n\tstatic removeParam(url: string, params: Array<string> | string): string\n\t{\n\t\tconst removableParams = Type.isArray(params) ? params : [params];\n\t\treturn (new Uri(url)).removeQueryParam(...removableParams).toString();\n\t}\n\n\tconstructor(url = '')\n\t{\n\t\tmap.set(this, parseUrl(url));\n\t}\n\n\t/**\n\t * Gets schema\n\t * @return {?string}\n\t */\n\tgetSchema()\n\t{\n\t\treturn map.get(this).schema;\n\t}\n\n\t/**\n\t * Sets schema\n\t * @param {string} schema\n\t * @return {Uri}\n\t */\n\tsetSchema(schema)\n\t{\n\t\tmap.get(this).schema = String(schema);\n\t\treturn this;\n\t}\n\n\t/**\n\t * Gets host\n\t * @return {?string}\n\t */\n\tgetHost()\n\t{\n\t\treturn map.get(this).host;\n\t}\n\n\t/**\n\t * Sets host\n\t * @param {string} host\n\t * @return {Uri}\n\t */\n\tsetHost(host)\n\t{\n\t\tmap.get(this).host = String(host);\n\t\treturn this;\n\t}\n\n\t/**\n\t * Gets port\n\t * @return {?string}\n\t */\n\tgetPort()\n\t{\n\t\treturn map.get(this).port;\n\t}\n\n\t/**\n\t * Sets port\n\t * @param {String | Number} port\n\t * @return {Uri}\n\t */\n\tsetPort(port)\n\t{\n\t\tmap.get(this).port = String(port);\n\t\treturn this;\n\t}\n\n\t/**\n\t * Gets path\n\t * @return {?string}\n\t */\n\tgetPath()\n\t{\n\t\treturn map.get(this).path;\n\t}\n\n\t/**\n\t * Sets path\n\t * @param {string} path\n\t * @return {Uri}\n\t */\n\tsetPath(path)\n\t{\n\t\tif (!/^\\//.test(path))\n\t\t{\n\t\t\tmap.get(this).path = `/${String(path)}`;\n\t\t\treturn this;\n\t\t}\n\n\t\tmap.get(this).path = String(path);\n\t\treturn this;\n\t}\n\n\t/**\n\t * Gets query\n\t * @return {?string}\n\t */\n\tgetQuery()\n\t{\n\t\treturn buildQueryString(map.get(this).queryParams);\n\t}\n\n\t/**\n\t * Gets query param value by name\n\t * @param {string} key\n\t * @return {?string}\n\t */\n\tgetQueryParam(key)\n\t{\n\t\tconst params = this.getQueryParams();\n\n\t\tif (key in params)\n\t\t{\n\t\t\treturn params[key];\n\t\t}\n\n\t\treturn null;\n\t}\n\n\t/**\n\t * Sets query param\n\t * @param {string} key\n\t * @param [value]\n\t * @return {Uri}\n\t */\n\tsetQueryParam(key, value = '')\n\t{\n\t\tmap.get(this).queryParams[key] = prepareParamValue(value);\n\t\treturn this;\n\t}\n\n\t/**\n\t * Gets query params\n\t * @return {Object<string, any>}\n\t */\n\tgetQueryParams()\n\t{\n\t\treturn {...map.get(this).queryParams};\n\t}\n\n\t/**\n\t * Sets query params\n\t * @param {Object<string, any>} params\n\t * @return {Uri}\n\t */\n\tsetQueryParams(params = {})\n\t{\n\t\tconst currentParams = this.getQueryParams();\n\t\tconst newParams = {...currentParams, ...params};\n\n\t\tObject.keys(newParams).forEach((key) => {\n\t\t\tnewParams[key] = prepareParamValue(newParams[key]);\n\t\t});\n\n\t\tmap.get(this).queryParams = newParams;\n\t\treturn this;\n\t}\n\n\t/**\n\t * Removes query params by name\n\t * @param keys\n\t * @return {Uri}\n\t */\n\tremoveQueryParam(...keys)\n\t{\n\t\tconst currentParams = {...map.get(this).queryParams};\n\n\t\tkeys.forEach((key) => {\n\t\t\tif (key in currentParams)\n\t\t\t{\n\t\t\t\tdelete currentParams[key];\n\t\t\t}\n\t\t});\n\n\t\tmap.get(this).queryParams = currentParams;\n\t\treturn this;\n\t}\n\n\t/**\n\t * Gets fragment\n\t * @return {?string}\n\t */\n\tgetFragment()\n\t{\n\t\treturn map.get(this).hash;\n\t}\n\n\t/**\n\t * Sets fragment\n\t * @param {string} hash\n\t * @return {Uri}\n\t */\n\tsetFragment(hash)\n\t{\n\t\tmap.get(this).hash = String(hash);\n\t\treturn this;\n\t}\n\n\t/**\n\t * Serializes URI\n\t * @return {Object}\n\t */\n\tserialize()\n\t{\n\t\tconst serialized = {...map.get(this)};\n\t\tserialized.href = this.toString();\n\t\treturn serialized;\n\t}\n\n\t/**\n\t * Gets URI string\n\t * @return {string}\n\t */\n\ttoString()\n\t{\n\t\tconst data = {...map.get(this)};\n\n\t\tlet protocol = data.schema ? `${data.schema}://` : '';\n\n\t\tif (data.useShort)\n\t\t{\n\t\t\tprotocol = '//';\n\t\t}\n\n\t\tconst port = (() => {\n\t\t\tif (Type.isString(data.port) && !['', '80'].includes(data.port))\n\t\t\t{\n\t\t\t\treturn `:${data.port}`;\n\t\t\t}\n\n\t\t\treturn '';\n\t\t})();\n\n\t\tconst host = this.getHost();\n\t\tconst path = this.getPath();\n\t\tconst query = buildQueryString(data.queryParams);\n\t\tconst hash = data.hash ? `#${data.hash}` : '';\n\n\t\treturn `${host ? protocol : ''}${host}${host ? port : ''}${path}${query}${hash}`;\n\t}\n}\n","/**\n * @memberOf BX\n */\nexport default class Validation\n{\n\t/**\n\t * Checks that value is valid email\n\t * @param value\n\t * @return {boolean}\n\t */\n\tstatic isEmail(value)\n\t{\n\t\tconst exp = /^[a-zA-Z0-9.!#$%&'*+/=?^_`{|}~-]+@[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)*$/;\n\t\treturn exp.test(String(value).toLowerCase());\n\t}\n}","import Type from '../type';\n\nexport default class BaseCache\n{\n\t/**\n\t * @private\n\t */\n\tstorage: Map<string, any> = new Map();\n\n\t/**\n\t * Gets cached value or default value\n\t */\n\tget(key: string, defaultValue?: T | () => T): T\n\t{\n\t\tif (!this.storage.has(key))\n\t\t{\n\t\t\tif (Type.isFunction(defaultValue))\n\t\t\t{\n\t\t\t\treturn defaultValue();\n\t\t\t}\n\n\t\t\tif (!Type.isUndefined(defaultValue))\n\t\t\t{\n\t\t\t\treturn defaultValue;\n\t\t\t}\n\t\t}\n\n\t\treturn this.storage.get(key);\n\t}\n\n\t/**\n\t * Sets cache entry\n\t */\n\tset(key: string, value: any)\n\t{\n\t\tthis.storage.set(key, value);\n\t}\n\n\t/**\n\t * Deletes cache entry\n\t */\n\tdelete(key: string)\n\t{\n\t\tthis.storage.delete(key);\n\t}\n\n\t/**\n\t * Checks that storage contains entry with specified key\n\t */\n\thas(key: string): boolean\n\t{\n\t\treturn this.storage.has(key);\n\t}\n\n\t/**\n\t * Gets cached value if exists,\n\t */\n\tremember(key: string, defaultValue?: T | () => T): T\n\t{\n\t\tif (!this.storage.has(key))\n\t\t{\n\t\t\tif (Type.isFunction(defaultValue))\n\t\t\t{\n\t\t\t\tthis.storage.set(key, defaultValue());\n\t\t\t}\n\t\t\telse if (!Type.isUndefined(defaultValue))\n\t\t\t{\n\t\t\t\tthis.storage.set(key, defaultValue);\n\t\t\t}\n\t\t}\n\n\t\treturn this.storage.get(key);\n\t}\n\n\t/**\n\t * Gets storage size\n\t */\n\tsize(): number\n\t{\n\t\treturn this.storage.size;\n\t}\n\n\t/**\n\t * Gets storage keys\n\t */\n\tkeys(): Array<string>\n\t{\n\t\treturn [...this.storage.keys()];\n\t}\n\n\t/**\n\t * Gets storage values\n\t */\n\tvalues(): Array<any>\n\t{\n\t\treturn [...this.storage.values()];\n\t}\n}","import BaseCache from './base-cache';\nimport MemoryStorage from './storage/memory';\n\nexport default class MemoryCache extends BaseCache\n{\n\t/**\n\t * @private\n\t */\n\tstorage: MemoryStorage = new MemoryStorage();\n}","import type {ICacheStorage} from './i-cache-storage';\nimport Type from '../../type';\n\nexport default class LsStorage implements ICacheStorage\n{\n\tstackKey = 'BX.Cache.Storage.LsStorage.stack';\n\tstack = null;\n\n\t/**\n\t * @private\n\t */\n\tgetStack(): {[key: string]: any}\n\t{\n\t\tif (Type.isPlainObject(this.stack))\n\t\t{\n\t\t\treturn this.stack;\n\t\t}\n\n\t\tconst stack = localStorage.getItem(this.stackKey);\n\n\t\tif (Type.isString(stack) && stack !== '')\n\t\t{\n\t\t\tconst parsedStack = JSON.parse(stack);\n\n\t\t\tif (Type.isPlainObject(parsedStack))\n\t\t\t{\n\t\t\t\tthis.stack = parsedStack;\n\t\t\t\treturn this.stack;\n\t\t\t}\n\t\t}\n\n\t\tthis.stack = {};\n\t\treturn this.stack;\n\t}\n\n\t/**\n\t * @private\n\t */\n\tsaveStack()\n\t{\n\t\tif (Type.isPlainObject(this.stack))\n\t\t{\n\t\t\tconst preparedStack = JSON.stringify(this.stack);\n\t\t\tlocalStorage.setItem(this.stackKey, preparedStack);\n\t\t}\n\t}\n\n\tget(key: string)\n\t{\n\t\tconst stack = this.getStack();\n\t\treturn stack[key];\n\t}\n\n\tset(key: string, value: any)\n\t{\n\t\tconst stack = this.getStack();\n\t\tstack[key] = value;\n\t\tthis.saveStack();\n\t}\n\n\tdelete(key: string)\n\t{\n\t\tconst stack = this.getStack();\n\n\t\tif (key in stack)\n\t\t{\n\t\t\tdelete stack[key];\n\t\t}\n\t}\n\n\thas(key: string): boolean\n\t{\n\t\tconst stack = this.getStack();\n\t\treturn key in stack;\n\t}\n\n\tget size(): number\n\t{\n\t\tconst stack = this.getStack();\n\t\treturn Object.keys(stack).length;\n\t}\n\n\tkeys(): Array<string>\n\t{\n\t\tconst stack = this.getStack();\n\t\treturn Object.keys(stack);\n\t}\n\n\tvalues(): Array<any>\n\t{\n\t\tconst stack = this.getStack();\n\t\treturn Object.values(stack);\n\t}\n}","import BaseCache from './base-cache';\nimport LsCacheStorage from './storage/ls-storage';\n\nexport default class LocalStorageCache extends BaseCache\n{\n\t/**\n\t * @private\n\t */\n\tstorage: LsCacheStorage = new LsCacheStorage();\n}","import MemoryCache from './cache/memory-cache';\nimport LocalStorageCache from './cache/local-storage-cache';\n\n/**\n * @memberOf BX\n */\nexport default class Cache\n{\n\tstatic MemoryCache: MemoryCache = MemoryCache;\n\tstatic LocalStorageCache: LocalStorageCache = LocalStorageCache;\n}","import Type from '../type';\n\nexport default class OrderedArray<T>\n{\n\tcomparator: Function = null;\n\titems: Array<T> = [];\n\n\tconstructor(comparator: Function = null)\n\t{\n\t\tthis.comparator = Type.isFunction(comparator) ? comparator : null;\n\t}\n\n\tadd(item: T): number\n\t{\n\t\tlet index = -1;\n\t\tif (this.comparator)\n\t\t{\n\t\t\tindex = this.#searchIndexToInsert(item);\n\t\t\tthis.items.splice(index, 0, item);\n\t\t}\n\t\telse\n\t\t{\n\t\t\tthis.items.push(item);\n\t\t}\n\n\t\treturn index;\n\t}\n\n\thas(item: T): boolean\n\t{\n\t\treturn this.items.includes(item);\n\t}\n\n\tgetIndex(item: T): number\n\t{\n\t\treturn this.items.indexOf(item);\n\t}\n\n\tgetByIndex(index: number): ?T\n\t{\n\t\tif (Type.isNumber(index) && index >= 0)\n\t\t{\n\t\t\tconst item = this.items[index];\n\t\t\treturn Type.isUndefined(item) ? null : item;\n\t\t}\n\n\t\treturn null;\n\t}\n\n\tgetFirst(): ?T\n\t{\n\t\tconst first = this.items[0];\n\n\t\treturn Type.isUndefined(first) ? null : first;\n\t}\n\n\tgetLast(): ?T\n\t{\n\t\tconst last = this.items[this.count() - 1];\n\n\t\treturn Type.isUndefined(last) ? null : last;\n\t}\n\n\tcount(): number\n\t{\n\t\treturn this.items.length;\n\t}\n\n\tdelete(item: T): boolean\n\t{\n\t\tconst index = this.getIndex(item);\n\t\tif (index !== -1)\n\t\t{\n\t\t\tthis.items.splice(index, 1);\n\n\t\t\treturn true;\n\t\t}\n\n\t\treturn false;\n\t}\n\n\tclear(): void\n\t{\n\t\tthis.items = [];\n\t}\n\n\t[Symbol.iterator]()\n\t{\n\t\treturn this.items[Symbol.iterator]();\n\t}\n\n\tforEach(callbackfn: (value: T, index: number, array: T[]) => void, thisArg?: any): void\n\t{\n\t\treturn this.items.forEach(callbackfn, thisArg);\n\t}\n\n\tgetAll(): Array<T>\n\t{\n\t\treturn this.items;\n\t}\n\n\tgetComparator(): ?Function\n\t{\n\t\treturn this.comparator;\n\t}\n\n\tsort(): void\n\t{\n\t\tconst comparator = this.getComparator();\n\t\tif (comparator === null)\n\t\t{\n\t\t\treturn;\n\t\t}\n\n\t\t/*\n\t\tSimple implementation\n\t\tthis.items.sort((item1, item2) => {\n\t\t\treturn comparator(item1, item2);\n\t\t});\n\t\t*/\n\n\t\t// For stable sorting https://v8.dev/features/stable-sort\n\t\tconst length = this.items.length;\n\t\tconst indexes = new Array(length);\n\t\tfor (let i = 0; i < length; i++)\n\t\t{\n\t\t\tindexes[i] = i;\n\t\t}\n\n\t\t// If the comparator returns zero, use the original indexes\n\t\tindexes.sort((index1, index2) => {\n\t\t\treturn comparator(this.items[index1], this.items[index2]) || (index1 - index2);\n\t\t});\n\n\t\tfor (let i = 0; i < length; i++)\n\t\t{\n\t\t\tindexes[i] = this.items[indexes[i]];\n\t\t}\n\n\t\tfor (let i = 0; i < length; i++)\n\t\t{\n\t\t\tthis.items[i] = indexes[i];\n\t\t}\n\t}\n\n\t#searchIndexToInsert(value: T): number\n\t{\n\t\tlet low = 0;\n\t\tlet high = this.items.length;\n\t\twhile (low < high)\n\t\t{\n\t\t\tconst mid = Math.floor((low + high) / 2);\n\t\t\tif (this.comparator(this.items[mid], value) >= 0)\n\t\t\t{\n\t\t\t\thigh = mid;\n\t\t\t}\n\t\t\telse\n\t\t\t{\n\t\t\t\tlow = mid + 1;\n\t\t\t}\n\t\t}\n\n\t\treturn low;\n\t}\n}","import Type from '../type';\nimport EventEmitter from '../event/event-emitter';\n\nimport type ZIndexStack from './z-index-stack';\nimport type { ZIndexComponentOptions } from './z-index-component-options';\n\nexport default class ZIndexComponent extends EventEmitter\n{\n\tsort: number = 0;\n\talwaysOnTop: boolean | number = false;\n\tzIndex: number = 0;\n\telement: HTMLElement = null;\n\toverlay: HTMLElement = null;\n\toverlayGap: number = -5;\n\tstack: ZIndexStack = null;\n\n\tconstructor(element: HTMLElement, componentOptions: ZIndexComponentOptions = {})\n\t{\n\t\tsuper();\n\t\tthis.setEventNamespace('BX.Main.ZIndexManager.Component');\n\n\t\tif (!Type.isElementNode(element))\n\t\t{\n\t\t\tthrow new Error('ZIndexManager.Component: The argument \\'element\\' must be a DOM element.');\n\t\t}\n\n\t\tthis.element = element;\n\n\t\tconst options = Type.isPlainObject(componentOptions) ? componentOptions : {};\n\n\t\tthis.setAlwaysOnTop(options.alwaysOnTop);\n\t\tthis.setOverlay(options.overlay);\n\t\tthis.setOverlayGap(options.overlayGap);\n\n\t\tthis.subscribeFromOptions(options.events);\n\t}\n\n\tgetSort(): number\n\t{\n\t\treturn this.sort;\n\t}\n\n\t/**\n\t * @internal\n\t * @param sort\n\t */\n\tsetSort(sort: number): void\n\t{\n\t\tif (Type.isNumber(sort))\n\t\t{\n\t\t\tthis.sort = sort;\n\t\t}\n\t}\n\n\t/**\n\t * @internal\n\t * @param stack\n\t */\n\tsetStack(stack: ZIndexStack): void\n\t{\n\t\tthis.stack = stack;\n\t}\n\n\tgetStack(): ?ZIndexStack\n\t{\n\t\treturn this.stack;\n\t}\n\n\tgetZIndex(): number\n\t{\n\t\treturn this.zIndex;\n\t}\n\n\t/**\n\t * @internal\n\t */\n\tsetZIndex(zIndex: number): void\n\t{\n\t\tconst changed = this.getZIndex() !== zIndex;\n\n\t\tthis.getElement().style.setProperty('z-index', zIndex, 'important');\n\t\tthis.zIndex = zIndex;\n\n\t\tif (this.getOverlay() !== null)\n\t\t{\n\t\t\tthis.getOverlay().style.setProperty('z-index', zIndex + this.getOverlayGap(), 'important');\n\t\t}\n\n\t\tif (changed)\n\t\t{\n\t\t\tthis.emit('onZIndexChange', { component: this });\n\t\t}\n\t}\n\n\tgetAlwaysOnTop(): boolean | number\n\t{\n\t\treturn this.alwaysOnTop;\n\t}\n\n\tsetAlwaysOnTop(value: boolean | number): void\n\t{\n\t\tif (Type.isNumber(value) || Type.isBoolean(value))\n\t\t{\n\t\t\tthis.alwaysOnTop = value;\n\t\t}\n\t}\n\n\tgetElement(): HTMLElement\n\t{\n\t\treturn this.element;\n\t}\n\n\tsetOverlay(overlay: HTMLElement, gap?: number): void\n\t{\n\t\tif (Type.isElementNode(overlay) || overlay === null)\n\t\t{\n\t\t\tthis.overlay = overlay;\n\t\t\tthis.setOverlayGap(gap);\n\n\t\t\tif (this.getStack())\n\t\t\t{\n\t\t\t\tthis.getStack().sort();\n\t\t\t}\n\t\t}\n\t}\n\n\tgetOverlay(): ?HTMLElement\n\t{\n\t\treturn this.overlay;\n\t}\n\n\tsetOverlayGap(gap: number): void\n\t{\n\t\tif (Type.isNumber(gap))\n\t\t{\n\t\t\tthis.overlayGap = gap;\n\t\t}\n\t}\n\n\tgetOverlayGap(): number\n\t{\n\t\treturn this.overlayGap;\n\t}\n}","import Type from '../type';\nimport OrderedArray from '../collections/ordered-array';\nimport ZIndexComponent from './z-index-component';\nimport type { ZIndexComponentOptions } from './z-index-component-options';\n\nexport default class ZIndexStack\n{\n\tcontainer: HTMLElement = null;\n\tcomponents: OrderedArray<ZIndexComponent> = null;\n\telements: WeakMap<HTMLElement, ZIndexComponent> = new WeakMap();\n\n\tbaseIndex: number = 1000;\n\tbaseStep: number = 50;\n\tsortCount: number = 0;\n\n\tconstructor(container: HTMLElement)\n\t{\n\t\tif (!Type.isDomNode(container))\n\t\t{\n\t\t\tthrow new Error('ZIndexManager.Stack: The \\'container\\' argument must be a DOM element.');\n\t\t}\n\n\t\tthis.container = container;\n\n\t\tconst comparator = (componentA: ZIndexComponent, componentB: ZIndexComponent) => {\n\t\t\tlet result = (componentA.getAlwaysOnTop() || 0) - (componentB.getAlwaysOnTop() || 0);\n\t\t\tif (!result)\n\t\t\t{\n\t\t\t\tresult = componentA.getSort() - componentB.getSort();\n\t\t\t}\n\n\t\t\treturn result;\n\t\t};\n\n\t\tthis.components = new OrderedArray(comparator);\n\t}\n\n\tgetBaseIndex(): number\n\t{\n\t\treturn this.baseIndex;\n\t}\n\n\tsetBaseIndex(index: number): void\n\t{\n\t\tif (Type.isNumber(index) && index >= 0)\n\t\t{\n\t\t\tthis.baseIndex = index;\n\t\t\tthis.sort();\n\t\t}\n\t}\n\n\tsetBaseStep(step: number): void\n\t{\n\t\tif (Type.isNumber(step) && step > 0)\n\t\t{\n\t\t\tthis.baseStep = step;\n\t\t\tthis.sort();\n\t\t}\n\t}\n\n\tgetBaseStep(): number\n\t{\n\t\treturn this.baseStep;\n\t}\n\n\tregister(element: HTMLElement, options: ZIndexComponentOptions = {}): ZIndexComponent\n\t{\n\t\tif (this.getComponent(element))\n\t\t{\n\t\t\tconsole.warn('ZIndexManager: You cannot register the element twice.', element);\n\n\t\t\treturn this.getComponent(element);\n\t\t}\n\n\t\tconst component = new ZIndexComponent(element, options);\n\t\tcomponent.setStack(this);\n\t\tcomponent.setSort(++this.sortCount);\n\n\t\tthis.elements.set(element, component);\n\t\tthis.components.add(component);\n\n\t\tthis.sort();\n\n\t\treturn component;\n\t}\n\n\tunregister(element: HTMLElement): void\n\t{\n\t\tconst component = this.elements.get(element);\n\n\t\tthis.components.delete(component);\n\t\tthis.elements.delete(element);\n\n\t\tthis.sort();\n\t}\n\n\tgetComponent(element: HTMLElement): ?ZIndexComponent\n\t{\n\t\treturn this.elements.get(element) || null;\n\t}\n\n\tgetComponents(): ZIndexComponent[]\n\t{\n\t\treturn this.components.getAll();\n\t}\n\n\tgetMaxZIndex(): number\n\t{\n\t\tconst last = this.components.getLast();\n\n\t\treturn last ? last.getZIndex() : this.baseIndex;\n\t}\n\n\tsort(): void\n\t{\n\t\tthis.components.sort();\n\n\t\tlet zIndex = this.baseIndex;\n\t\tthis.components.forEach((component: ZIndexComponent) => {\n\t\t\tcomponent.setZIndex(zIndex);\n\t\t\tzIndex += this.baseStep;\n\t\t});\n\t}\n\n\tbringToFront(element: HTMLElement): ?ZIndexComponent\n\t{\n\t\tconst component = this.getComponent(element);\n\t\tif (!component)\n\t\t{\n\t\t\tconsole.error('ZIndexManager: element was not found in the stack.', element);\n\t\t\treturn null;\n\t\t}\n\n\t\tcomponent.setSort(++this.sortCount);\n\n\t\tthis.sort();\n\n\t\treturn component;\n\t}\n}","import Type from '../type';\nimport ZIndexStack from './z-index-stack';\nimport type ZIndexComponent from './z-index-component';\nimport type { ZIndexComponentOptions } from './z-index-component-options';\n\n/**\n * @memberof BX\n */\nexport default class ZIndexManager\n{\n\tstatic stacks: WeakMap<HTMLElement, ZIndexStack> = new WeakMap();\n\n\tstatic register(element: HTMLElement, options: ZIndexComponentOptions = {}): ?ZIndexComponent\n\t{\n\t\tconst parentNode = this.#getParentNode(element);\n\t\tif (!parentNode)\n\t\t{\n\t\t\treturn null;\n\t\t}\n\n\t\tconst stack = this.getOrAddStack(parentNode);\n\n\t\treturn stack.register(element, options);\n\t}\n\n\tstatic unregister(element: HTMLElement)\n\t{\n\t\tconst parentNode = this.#getParentNode(element);\n\t\tconst stack = this.getStack(parentNode);\n\t\tif (stack)\n\t\t{\n\t\t\tstack.unregister(element);\n\t\t}\n\t}\n\n\tstatic addStack(container: HTMLElement): ZIndexStack\n\t{\n\t\tconst stack = new ZIndexStack(container);\n\t\tthis.stacks.set(container, stack);\n\n\t\treturn stack;\n\t}\n\n\tstatic getStack(container: HTMLElement): ?ZIndexStack\n\t{\n\t\treturn this.stacks.get(container) || null;\n\t}\n\n\tstatic getOrAddStack(container: HTMLElement): ?ZIndexStack\n\t{\n\t\treturn this.getStack(container) || this.addStack(container);\n\t}\n\n\tstatic getComponent(element: HTMLElement): ?ZIndexComponent\n\t{\n\t\tconst parentNode = this.#getParentNode(element, true);\n\t\tif (!parentNode)\n\t\t{\n\t\t\treturn null;\n\t\t}\n\n\t\tconst stack = this.getStack(parentNode);\n\n\t\treturn stack ? stack.getComponent(element) : null;\n\t}\n\n\tstatic bringToFront(element: HTMLElement): ?ZIndexComponent\n\t{\n\t\tconst parentNode = this.#getParentNode(element);\n\t\tconst stack = this.getStack(parentNode);\n\n\t\tif (stack)\n\t\t{\n\t\t\treturn stack.bringToFront(element);\n\t\t}\n\n\t\treturn null;\n\t}\n\n\tstatic #getParentNode(element: HTMLElement, suppressWarnings: boolean = false): ?HTMLElement\n\t{\n\t\tif (!Type.isElementNode(element))\n\t\t{\n\t\t\tif (!suppressWarnings)\n\t\t\t{\n\t\t\t\tconsole.error('ZIndexManager: The argument \\'element\\' must be a DOM element.', element);\n\t\t\t}\n\n\t\t\treturn null;\n\t\t}\n\t\telse if (!Type.isElementNode(element.parentNode))\n\t\t{\n\t\t\tif (!suppressWarnings)\n\t\t\t{\n\t\t\t\tconsole.error('ZIndexManager: The \\'element\\' doesn\\'t have a parent node.', element);\n\t\t\t}\n\n\t\t\treturn null;\n\t\t}\n\n\t\treturn element.parentNode;\n\t}\n}","import Type from '../../type';\n\nexport default function convertPath(path: string): Array<string>\n{\n\tif (Type.isStringFilled(path))\n\t{\n\t\treturn path\n\t\t\t.split('.')\n\t\t\t.reduce((acc, item) => {\n\t\t\t\titem\n\t\t\t\t\t.split(/\\[['\"]?(.+?)['\"]?\\]/g)\n\t\t\t\t\t.forEach((key) => {\n\t\t\t\t\t\tif (Type.isStringFilled(key))\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tacc.push(key);\n\t\t\t\t\t\t}\n\t\t\t\t\t});\n\n\t\t\t\treturn acc;\n\t\t\t}, []);\n\t}\n\n\treturn [];\n}","import Type from '../../type';\nimport convertPath from './convert-path';\n\nexport default class SettingsCollection\n{\n\tconstructor(options: {[key: string]: any} = {})\n\t{\n\t\tif (Type.isPlainObject(options))\n\t\t{\n\t\t\tObject.assign(this, options);\n\t\t}\n\t}\n\n\tget(path: string, defaultValue: any = null)\n\t{\n\t\tconst convertedPath = convertPath(path);\n\n\t\treturn convertedPath.reduce((acc, key) => {\n\t\t\tif (!Type.isNil(acc) && acc !== defaultValue)\n\t\t\t{\n\t\t\t\tif (!Type.isUndefined(acc[key]))\n\t\t\t\t{\n\t\t\t\t\treturn acc[key];\n\t\t\t\t}\n\n\t\t\t\treturn defaultValue;\n\t\t\t}\n\n\t\t\treturn acc;\n\t\t}, this);\n\t}\n}","import Type from '../../type';\n\nexport default function deepFreeze(target: {[key: string]: any})\n{\n\tif (Type.isObject(target))\n\t{\n\t\tObject.values(target).forEach((value) => {\n\t\t\tdeepFreeze(value);\n\t\t});\n\n\t\treturn Object.freeze(target);\n\t}\n\n\treturn target;\n}","import Type from '../type';\nimport SettingsCollection from './internal/settings-collection';\nimport deepFreeze from './internal/deep-freeze';\n\nconst settingsStorage = new Map();\n\nexport default class Extension\n{\n\tstatic getSettings(extensionName: string)\n\t{\n\t\tif (Type.isStringFilled(extensionName))\n\t\t{\n\t\t\tif (settingsStorage.has(extensionName))\n\t\t\t{\n\t\t\t\treturn settingsStorage.get(extensionName);\n\t\t\t}\n\n\t\t\tconst settingsScriptNode = document.querySelector(\n\t\t\t\t`script[data-extension=\"${extensionName}\"]`,\n\t\t\t);\n\t\t\tif (Type.isDomNode(settingsScriptNode))\n\t\t\t{\n\t\t\t\tconst decodedSettings = (() => {\n\t\t\t\t\ttry\n\t\t\t\t\t{\n\t\t\t\t\t\treturn new SettingsCollection(\n\t\t\t\t\t\t\tJSON.parse(settingsScriptNode.innerHTML),\n\t\t\t\t\t\t);\n\t\t\t\t\t}\n\t\t\t\t\tcatch (error)\n\t\t\t\t\t{\n\t\t\t\t\t\treturn new SettingsCollection();\n\t\t\t\t\t}\n\t\t\t\t})();\n\n\t\t\t\tconst frozenSettings = deepFreeze(decodedSettings);\n\t\t\t\tsettingsStorage.set(extensionName, frozenSettings);\n\n\t\t\t\treturn frozenSettings;\n\t\t\t}\n\t\t}\n\n\t\treturn deepFreeze(new SettingsCollection());\n\t}\n}","import Type from '../lib/type';\n\nexport default function getElement(element: string | HTMLElement)\n{\n\tif (Type.isString(element))\n\t{\n\t\treturn document.getElementById(element);\n\t}\n\n\treturn element;\n}","import Type from '../lib/type';\n\nexport default function getWindow(element)\n{\n\tif (Type.isElementNode(element))\n\t{\n\t\treturn (\n\t\t\telement.ownerDocument.parentWindow\n\t\t\t|| element.ownerDocument.defaultView\n\t\t\t|| window\n\t\t);\n\t}\n\n\tif (Type.isDomNode(element))\n\t{\n\t\treturn (\n\t\t\telement.parentWindow\n\t\t\t|| element.defaultView\n\t\t\t|| window\n\t\t);\n\t}\n\n\treturn window;\n}","/* eslint-disable prefer-rest-params */\n\nimport Type from './lib/type';\nimport Reflection from './lib/reflection';\nimport Dom from './lib/dom';\nimport Browser from './lib/browser';\nimport Event from './lib/event';\nimport Http from './lib/http';\nimport Runtime from './lib/runtime';\nimport Text from './lib/text';\nimport messageFunction from './lib/loc/message';\nimport * as debugNs from './lib/runtime/debug';\nimport {isReady} from './lib/event/ready';\nimport getElement from './internal/get-element';\nimport getWindow from './internal/get-window';\nimport EventEmitter from './lib/event/event-emitter';\nimport BaseEvent from './lib/event/base-event';\n\n// BX.*\nexport const {getClass, namespace} = Reflection;\nexport const message = messageFunction;\n\n/**\n * @memberOf BX\n */\nexport const {\n\treplace,\n\tremove,\n\tclean,\n\tinsertBefore,\n\tinsertAfter,\n\tappend,\n\tprepend,\n\tstyle,\n\tadjust,\n\tcreate,\n\tisShown,\n} = Dom;\n\nexport const addClass = function addClass() {\n\tDom.addClass(...Runtime.merge([], Array.from(arguments), [getElement(arguments[0])]));\n};\n\nexport const removeClass = function removeClass() {\n\tDom.removeClass(...Runtime.merge(Array.from(arguments), [getElement(arguments[0])]));\n};\n\nexport const hasClass = function hasClass() {\n\treturn Dom.hasClass(...Runtime.merge(Array.from(arguments), [getElement(arguments[0])]));\n};\n\nexport const toggleClass = function toggleClass() {\n\tDom.toggleClass(...Runtime.merge(Array.from(arguments), [getElement(arguments[0])]));\n};\n\nexport const cleanNode = (element, removeElement = false) => {\n\tconst currentElement = getElement(element);\n\n\tif (Type.isDomNode(currentElement))\n\t{\n\t\tDom.clean(currentElement);\n\n\t\tif (removeElement)\n\t\t{\n\t\t\tDom.remove(currentElement);\n\t\t\treturn currentElement;\n\t\t}\n\t}\n\n\treturn currentElement;\n};\n\nexport const getCookie = Http.Cookie.get;\nexport const setCookie = (name, value, options = {}) => {\n\tconst attributes = {...options};\n\n\tif (Type.isNumber(attributes.expires))\n\t{\n\t\tattributes.expires /= (3600 * 24);\n\t}\n\n\tHttp.Cookie.set(name, value, attributes);\n};\n\nexport const {\n\tbind,\n\tunbind,\n\tunbindAll,\n\tbindOnce,\n\tready,\n} = Event;\n\nexport {isReady};\nexport const {\n\tdebugState: debugEnableFlag,\n\tisDebugEnabled: debugStatus,\n\tdefault: debug,\n} = debugNs;\n\nexport const debugEnable = (value) => {\n\tif (value)\n\t{\n\t\tdebugNs.enableDebug();\n\t}\n\telse\n\t{\n\t\tdebugNs.disableDebug();\n\t}\n};\n\nexport const {\n\tclone,\n\tloadExtension: loadExt,\n\tdebounce,\n\tthrottle,\n\thtml,\n} = Runtime;\n\n// BX.type\nexport const type = {\n\t...Object.getOwnPropertyNames(Type)\n\t\t.filter(key => !['name', 'length', 'prototype', 'caller', 'arguments'].includes(key))\n\t\t.reduce((acc, key) => {\n\t\t\tacc[key] = Type[key];\n\t\t\treturn acc;\n\t\t}, {}),\n\tisNotEmptyString: value => Type.isString(value) && value !== '',\n\tisNotEmptyObject: value => Type.isObjectLike(value) && Object.keys(value).length > 0,\n\tisMapKey: Type.isObject,\n\tstringToInt: (value) => {\n\t\tconst parsed = parseInt(value);\n\t\treturn !Number.isNaN(parsed) ? parsed : 0;\n\t},\n};\n\n// BX.browser\nexport const browser = {\n\tIsOpera: Browser.isOpera,\n\tIsIE: Browser.isIE,\n\tIsIE6: Browser.isIE6,\n\tIsIE7: Browser.isIE7,\n\tIsIE8: Browser.isIE8,\n\tIsIE9: Browser.isIE9,\n\tIsIE10: Browser.isIE10,\n\tIsIE11: Browser.isIE11,\n\tIsSafari: Browser.isSafari,\n\tIsFirefox: Browser.isFirefox,\n\tIsChrome: Browser.isChrome,\n\tDetectIeVersion: Browser.detectIEVersion,\n\tIsMac: Browser.isMac,\n\tIsAndroid: Browser.isAndroid,\n\tisIPad: Browser.isIPad,\n\tisIPhone: Browser.isIPhone,\n\tIsIOS: Browser.isIOS,\n\tIsMobile: Browser.isMobile,\n\tisRetina: Browser.isRetina,\n\tIsDoctype: Browser.isDoctype,\n\tSupportLocalStorage: Browser.isLocalStorageSupported,\n\taddGlobalClass: Browser.addGlobalClass,\n\tDetectAndroidVersion: Browser.detectAndroidVersion,\n\tisPropertySupported: Browser.isPropertySupported,\n\taddGlobalFeatures: Browser.addGlobalFeatures,\n};\n\n// eslint-disable-next-line\nconst ajax = window.BX ? window.BX.ajax : () => {};\nexport {ajax};\n\nexport function GetWindowScrollSize(doc = document)\n{\n\treturn {\n\t\tscrollWidth: doc.documentElement.scrollWidth,\n\t\tscrollHeight: doc.documentElement.scrollHeight,\n\t};\n}\n\nexport function GetWindowScrollPos(doc = document)\n{\n\tconst win = getWindow(doc);\n\n\treturn {\n\t\tscrollLeft: win.pageXOffset,\n\t\tscrollTop: win.pageYOffset,\n\t};\n}\n\nexport function GetWindowInnerSize(doc = document)\n{\n\tconst win = getWindow(doc);\n\treturn {innerWidth: win.innerWidth, innerHeight: win.innerHeight};\n}\n\nexport function GetWindowSize(doc = document)\n{\n\treturn {\n\t\t...GetWindowInnerSize(doc),\n\t\t...GetWindowScrollPos(doc),\n\t\t...GetWindowScrollSize(doc),\n\t};\n}\n\nexport function GetContext(node)\n{\n\treturn getWindow(node);\n}\n\nexport function pos(element, relative = false)\n{\n\tif (!element)\n\t{\n\t\treturn (new DOMRect()).toJSON();\n\t}\n\n\tif (element.ownerDocument === document && !relative)\n\t{\n\t\tconst clientRect = element.getBoundingClientRect();\n\t\tconst root = document.documentElement;\n\t\tconst {body} = document;\n\n\t\treturn {\n\t\t\ttop: Math.round(clientRect.top + (root.scrollTop || body.scrollTop)),\n\t\t\tleft: Math.round(clientRect.left + (root.scrollLeft || body.scrollLeft)),\n\t\t\twidth: Math.round(clientRect.right - clientRect.left),\n\t\t\theight: Math.round(clientRect.bottom - clientRect.top),\n\t\t\tright: Math.round(clientRect.right + (root.scrollLeft || body.scrollLeft)),\n\t\t\tbottom: Math.round(clientRect.bottom + (root.scrollTop || body.scrollTop)),\n\t\t};\n\t}\n\n\tlet x = 0;\n\tlet y = 0;\n\tconst w = element.offsetWidth;\n\tconst h = element.offsetHeight;\n\tlet first = true;\n\n\t// eslint-disable-next-line no-param-reassign\n\tfor (; element != null; element = element.offsetParent)\n\t{\n\t\tif (!first && relative && BX.is_relative(element))\n\t\t{\n\t\t\tbreak;\n\t\t}\n\n\t\tx += element.offsetLeft;\n\t\ty += element.offsetTop;\n\n\t\tif (first)\n\t\t{\n\t\t\tfirst = false;\n\t\t\t// eslint-disable-next-line no-continue\n\t\t\tcontinue;\n\t\t}\n\n\t\tx += Text.toNumber(Dom.style(element, 'border-left-width'));\n\t\ty += Text.toNumber(Dom.style(element, 'border-top-width'));\n\t}\n\n\treturn (new DOMRect(x, y, w, h)).toJSON();\n}\n\nexport function addCustomEvent(eventObject, eventName, eventHandler)\n{\n\tif (Type.isString(eventObject))\n\t{\n\t\teventHandler = eventName;\n\t\teventName = eventObject;\n\t\teventObject = EventEmitter.GLOBAL_TARGET;\n\t}\n\n\tif (eventObject === window)\n\t{\n\t\teventObject = EventEmitter.GLOBAL_TARGET;\n\t}\n\n\tif (!Type.isObject(eventObject))\n\t{\n\t\tconsole.error('The \"eventObject\" argument must be an object. Received type '+ typeof(eventObject) + '.');\n\t\treturn;\n\t}\n\n\tif (!Type.isStringFilled(eventName))\n\t{\n\t\tconsole.error('The \"eventName\" argument must be a string.');\n\t\treturn;\n\t}\n\n\tif (!Type.isFunction(eventHandler))\n\t{\n\t\tconsole.error('The \"eventHandler\" argument must be a function. Received type '+ typeof(eventHandler) + '.');\n\t\treturn;\n\t}\n\n\teventName = eventName.toLowerCase();\n\n\tEventEmitter.subscribe(eventObject, eventName, eventHandler, { compatMode: true, useGlobalNaming: true });\n}\n\nexport function onCustomEvent(eventObject, eventName, eventParams, secureParams)\n{\n\tif (Type.isString(eventObject))\n\t{\n\t\tsecureParams = eventParams;\n\t\teventParams = eventName;\n\t\teventName = eventObject;\n\t\teventObject = EventEmitter.GLOBAL_TARGET;\n\t}\n\n\tif (!Type.isObject(eventObject) || eventObject === window)\n\t{\n\t\teventObject = EventEmitter.GLOBAL_TARGET;\n\t}\n\n\tif (!eventParams)\n\t{\n\t\teventParams = [];\n\t}\n\n\teventName = eventName.toLowerCase();\n\n\tconst event = new BaseEvent();\n\tevent.setData(eventParams);\n\tevent.setCompatData(eventParams);\n\n\tEventEmitter.emit(eventObject, eventName, event, { cloneData: secureParams === true, useGlobalNaming: true });\n}\n\nexport function removeCustomEvent(eventObject, eventName, eventHandler)\n{\n\tif (Type.isString(eventObject))\n\t{\n\t\teventHandler = eventName;\n\t\teventName = eventObject;\n\t\teventObject = EventEmitter.GLOBAL_TARGET;\n\t}\n\n\tif (!Type.isFunction(eventHandler))\n\t{\n\t\tconsole.error('The \"eventHandler\" argument must be a function. Received type '+ typeof(eventHandler) + '.');\n\t\treturn;\n\t}\n\n\tif (eventObject === window)\n\t{\n\t\teventObject = EventEmitter.GLOBAL_TARGET;\n\t}\n\n\teventName = eventName.toLowerCase();\n\n\tEventEmitter.unsubscribe(eventObject, eventName, eventHandler, { useGlobalNaming: true });\n}\n\nexport function removeAllCustomEvents(eventObject, eventName)\n{\n\tif (Type.isString(eventObject))\n\t{\n\t\teventName = eventObject;\n\t\teventObject = EventEmitter.GLOBAL_TARGET;\n\t}\n\n\tif (eventObject === window)\n\t{\n\t\teventObject = EventEmitter.GLOBAL_TARGET;\n\t}\n\n\teventName = eventName.toLowerCase();\n\n\tEventEmitter.unsubscribeAll(eventObject, eventName, { useGlobalNaming: true });\n}","//import './internal/bx';\n\nimport Type from '../../src/lib/type';\nimport Reflection from '../../src/lib/reflection';\nimport Text from '../../src/lib/text';\nimport Dom from '../../src/lib/dom';\nimport Browser from '../../src/lib/browser';\nimport Event from '../../src/lib/event';\nimport Http from '../../src/lib/http';\nimport Runtime from '../../src/lib/runtime';\nimport Loc from '../../src/lib/loc';\nimport Tag from '../../src/lib/tag';\nimport Uri from '../../src/lib/uri';\nimport Validation from '../../src/lib/validation';\nimport Cache from '../../src/lib/cache';\nimport BaseError from '../../src/lib/base-error';\nimport ZIndexManager from '../../src/lib/z-index/z-index-manager';\nimport Extension from '../../src/lib/extension/extension';\n\nexport {\n\tType,\n\tReflection,\n\tText,\n\tDom,\n\tBrowser,\n\tEvent,\n\tHttp,\n\tRuntime,\n\tLoc,\n\tTag,\n\tUri,\n\tValidation,\n\tCache,\n\tBaseError,\n\tZIndexManager,\n\tExtension,\n};\n\nexport * from '../../src/core-compatibility';",null]}
| ver. 1.4 |
Github
|
.
| PHP 7.4.33 | Generation time: 0.27 |
proxy
|
phpinfo
|
Settings