@wangeditor-next/yjs 0.1.1 → 0.1.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["../../../node_modules/core-js/internals/global.js","../../../node_modules/core-js/internals/engine-v8-version.js","../../../node_modules/core-js/internals/fails.js","../../../node_modules/core-js/internals/descriptors.js","../../../node_modules/core-js/internals/function-call.js","../../../node_modules/core-js/internals/object-property-is-enumerable.js","../../../node_modules/core-js/internals/create-property-descriptor.js","../../../node_modules/core-js/internals/function-uncurry-this.js","../../../node_modules/core-js/internals/classof-raw.js","../../../node_modules/core-js/internals/indexed-object.js","../../../node_modules/core-js/internals/require-object-coercible.js","../../../node_modules/core-js/internals/to-indexed-object.js","../../../node_modules/core-js/internals/is-callable.js","../../../node_modules/core-js/internals/is-object.js","../../../node_modules/core-js/internals/get-built-in.js","../../../node_modules/core-js/internals/object-is-prototype-of.js","../../../node_modules/core-js/internals/engine-user-agent.js","../../../node_modules/core-js/internals/native-symbol.js","../../../node_modules/core-js/internals/use-symbol-as-uid.js","../../../node_modules/core-js/internals/is-symbol.js","../../../node_modules/core-js/internals/try-to-string.js","../../../node_modules/core-js/internals/a-callable.js","../../../node_modules/core-js/internals/get-method.js","../../../node_modules/core-js/internals/ordinary-to-primitive.js","../../../node_modules/core-js/internals/set-global.js","../../../node_modules/core-js/internals/shared-store.js","../../../node_modules/core-js/internals/shared.js","../../../node_modules/core-js/internals/to-object.js","../../../node_modules/core-js/internals/has-own-property.js","../../../node_modules/core-js/internals/uid.js","../../../node_modules/core-js/internals/well-known-symbol.js","../../../node_modules/core-js/internals/to-primitive.js","../../../node_modules/core-js/internals/to-property-key.js","../../../node_modules/core-js/internals/document-create-element.js","../../../node_modules/core-js/internals/ie8-dom-define.js","../../../node_modules/core-js/internals/object-get-own-property-descriptor.js","../../../node_modules/core-js/internals/an-object.js","../../../node_modules/core-js/internals/object-define-property.js","../../../node_modules/core-js/internals/create-non-enumerable-property.js","../../../node_modules/core-js/internals/inspect-source.js","../../../node_modules/core-js/internals/internal-state.js","../../../node_modules/core-js/internals/native-weak-map.js","../../../node_modules/core-js/internals/shared-key.js","../../../node_modules/core-js/internals/hidden-keys.js","../../../node_modules/core-js/internals/function-name.js","../../../node_modules/core-js/internals/redefine.js","../../../node_modules/core-js/internals/to-integer-or-infinity.js","../../../node_modules/core-js/internals/to-absolute-index.js","../../../node_modules/core-js/internals/to-length.js","../../../node_modules/core-js/internals/length-of-array-like.js","../../../node_modules/core-js/internals/array-includes.js","../../../node_modules/core-js/internals/object-keys-internal.js","../../../node_modules/core-js/internals/enum-bug-keys.js","../../../node_modules/core-js/internals/object-get-own-property-names.js","../../../node_modules/core-js/internals/object-get-own-property-symbols.js","../../../node_modules/core-js/internals/own-keys.js","../../../node_modules/core-js/internals/copy-constructor-properties.js","../../../node_modules/core-js/internals/is-forced.js","../../../node_modules/core-js/internals/export.js","../../../node_modules/core-js/internals/function-apply.js","../../../node_modules/core-js/internals/is-array.js","../../../node_modules/core-js/internals/to-string-tag-support.js","../../../node_modules/core-js/internals/object-create.js","../../../node_modules/core-js/internals/classof.js","../../../node_modules/core-js/internals/to-string.js","../../../node_modules/core-js/internals/object-keys.js","../../../node_modules/core-js/internals/object-define-properties.js","../../../node_modules/core-js/internals/html.js","../../../node_modules/core-js/internals/create-property.js","../../../node_modules/core-js/internals/array-slice-simple.js","../../../node_modules/core-js/internals/object-get-own-property-names-external.js","../../../node_modules/core-js/internals/array-slice.js","../../../node_modules/core-js/internals/well-known-symbol-wrapped.js","../../../node_modules/core-js/internals/path.js","../../../node_modules/core-js/internals/define-well-known-symbol.js","../../../node_modules/core-js/internals/set-to-string-tag.js","../../../node_modules/core-js/internals/function-bind-context.js","../../../node_modules/core-js/internals/is-constructor.js","../../../node_modules/core-js/internals/array-species-constructor.js","../../../node_modules/core-js/internals/array-species-create.js","../../../node_modules/core-js/internals/array-iteration.js","../../../node_modules/core-js/modules/es.symbol.js","../../../node_modules/core-js/modules/es.symbol.description.js","../../../node_modules/core-js/internals/add-to-unscopables.js","../../../node_modules/core-js/internals/iterators-core.js","../../../node_modules/core-js/internals/iterators.js","../../../node_modules/core-js/internals/correct-prototype-getter.js","../../../node_modules/core-js/internals/object-get-prototype-of.js","../../../node_modules/core-js/internals/create-iterator-constructor.js","../../../node_modules/core-js/internals/a-possible-prototype.js","../../../node_modules/core-js/internals/object-set-prototype-of.js","../../../node_modules/core-js/internals/define-iterator.js","../../../node_modules/core-js/modules/es.array.iterator.js","../../../node_modules/core-js/internals/object-to-string.js","../../../node_modules/core-js/modules/es.object.to-string.js","../../../node_modules/core-js/internals/string-multibyte.js","../../../node_modules/core-js/modules/es.string.iterator.js","../../../node_modules/core-js/internals/redefine-all.js","../../../node_modules/core-js/internals/array-buffer-non-extensible.js","../../../node_modules/core-js/internals/object-is-extensible.js","../../../node_modules/core-js/internals/freezing.js","../../../node_modules/core-js/internals/internal-metadata.js","../../../node_modules/core-js/internals/is-array-iterator-method.js","../../../node_modules/core-js/internals/get-iterator-method.js","../../../node_modules/core-js/internals/get-iterator.js","../../../node_modules/core-js/internals/iterator-close.js","../../../node_modules/core-js/internals/iterate.js","../../../node_modules/core-js/internals/an-instance.js","../../../node_modules/core-js/internals/check-correctness-of-iteration.js","../../../node_modules/core-js/internals/collection.js","../../../node_modules/core-js/internals/inherit-if-required.js","../../../node_modules/core-js/internals/collection-weak.js","../../../node_modules/core-js/modules/es.weak-map.js","../../../node_modules/core-js/modules/es.weak-set.js","../../../node_modules/core-js/internals/dom-iterables.js","../../../node_modules/core-js/internals/array-method-is-strict.js","../../../node_modules/core-js/internals/dom-token-list-prototype.js","../../../node_modules/core-js/internals/array-for-each.js","../../../node_modules/core-js/modules/web.dom-collections.for-each.js","../../../node_modules/core-js/modules/web.dom-collections.iterator.js","../../../node_modules/core-js/internals/call-with-safe-iteration-closing.js","../../../node_modules/core-js/internals/array-from.js","../../../node_modules/core-js/modules/es.array.from.js","../../../node_modules/core-js/internals/array-method-has-species-support.js","../../../node_modules/core-js/modules/es.array.map.js","../../../node_modules/core-js/modules/es.array.slice.js","../../../node_modules/core-js/modules/es.object.from-entries.js","../../../node_modules/core-js/modules/es.object.keys.js","../../../node_modules/core-js/internals/object-to-array.js","../../../node_modules/core-js/modules/es.object.entries.js","../../../node_modules/core-js/modules/es.array.filter.js","../../../node_modules/core-js/modules/es.array.includes.js","../../../node_modules/core-js/internals/regexp-flags.js","../../../node_modules/core-js/modules/es.regexp.to-string.js","../src/utils/object.ts","../src/utils/delta.ts","../src/utils/slate.ts","../src/utils/convert.ts","../../../node_modules/core-js/modules/es.array.concat.js","../src/utils/location.ts","../src/applyToSlate/textEvent.ts","../src/applyToSlate/index.ts","../src/utils/clone.ts","../../../node_modules/core-js/internals/object-assign.js","../../../node_modules/core-js/modules/es.object.assign.js","../../../node_modules/core-js/internals/is-regexp.js","../../../node_modules/core-js/modules/es.string.starts-with.js","../../../node_modules/core-js/internals/not-a-regexp.js","../../../node_modules/core-js/internals/correct-is-regexp-logic.js","../../../node_modules/core-js/internals/create-html.js","../src/utils/yjs.ts","../../../node_modules/core-js/modules/es.string.anchor.js","../../../node_modules/core-js/internals/string-html-forced.js","../src/utils/position.ts","../src/applyToYjs/node/index.ts","../src/applyToYjs/node/insertNode.ts","../src/applyToYjs/node/removeNode.ts","../src/applyToYjs/node/setNode.ts","../src/applyToYjs/node/mergeNode.ts","../src/applyToYjs/node/moveNode.ts","../src/applyToYjs/node/splitNode.ts","../src/applyToYjs/text/index.ts","../src/applyToYjs/index.ts","../src/applyToYjs/text/insertText.ts","../src/applyToYjs/text/removeText.ts","../src/plugins/withYjs.ts","../../../node_modules/core-js/internals/set-species.js","../../../node_modules/core-js/internals/collection-strong.js","../../../node_modules/core-js/modules/es.set.js","../src/plugins/withYHistory.ts","../src/plugins/withCursors.ts"],"sourcesContent":["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","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","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 uncurryThis = require('../internals/function-uncurry-this');\n\nmodule.exports = uncurryThis({}.isPrototypeOf);\n","var getBuiltIn = require('../internals/get-built-in');\n\nmodule.exports = getBuiltIn('navigator', 'userAgent') || '';\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","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 return store[key] || (store[key] = value !== undefined ? value : {});\n})('versions', []).push({\n version: '3.19.3',\n mode: IS_PURE ? 'pure' : 'global',\n copyright: '© 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 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 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 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 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 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","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","/* 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 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 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 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","var getBuiltIn = require('../internals/get-built-in');\n\nmodule.exports = getBuiltIn('document', 'documentElement');\n","'use strict';\nvar toPropertyKey = require('../internals/to-property-key');\nvar definePropertyModule = require('../internals/object-define-property');\nvar createPropertyDescriptor = require('../internals/create-property-descriptor');\n\nmodule.exports = function (object, key, value) {\n var propertyKey = toPropertyKey(key);\n if (propertyKey in object) definePropertyModule.f(object, propertyKey, createPropertyDescriptor(0, value));\n else object[propertyKey] = value;\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","/* eslint-disable es/no-object-getownpropertynames -- safe */\nvar classof = require('../internals/classof-raw');\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar $getOwnPropertyNames = require('../internals/object-get-own-property-names').f;\nvar arraySlice = require('../internals/array-slice-simple');\n\nvar windowNames = typeof window == 'object' && window && Object.getOwnPropertyNames\n ? Object.getOwnPropertyNames(window) : [];\n\nvar getWindowNames = function (it) {\n try {\n return $getOwnPropertyNames(it);\n } catch (error) {\n return arraySlice(windowNames);\n }\n};\n\n// fallback for IE11 buggy Object.getOwnPropertyNames with iframe and window\nmodule.exports.f = function getOwnPropertyNames(it) {\n return windowNames && classof(it) == 'Window'\n ? getWindowNames(it)\n : $getOwnPropertyNames(toIndexedObject(it));\n};\n","var uncurryThis = require('../internals/function-uncurry-this');\n\nmodule.exports = uncurryThis([].slice);\n","var wellKnownSymbol = require('../internals/well-known-symbol');\n\nexports.f = wellKnownSymbol;\n","var global = require('../internals/global');\n\nmodule.exports = global;\n","var path = require('../internals/path');\nvar hasOwn = require('../internals/has-own-property');\nvar wrappedWellKnownSymbolModule = require('../internals/well-known-symbol-wrapped');\nvar defineProperty = require('../internals/object-define-property').f;\n\nmodule.exports = function (NAME) {\n var Symbol = path.Symbol || (path.Symbol = {});\n if (!hasOwn(Symbol, NAME)) defineProperty(Symbol, NAME, {\n value: wrappedWellKnownSymbolModule.f(NAME)\n });\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","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","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 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 $ = require('../internals/export');\nvar global = require('../internals/global');\nvar getBuiltIn = require('../internals/get-built-in');\nvar apply = require('../internals/function-apply');\nvar call = require('../internals/function-call');\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar IS_PURE = require('../internals/is-pure');\nvar DESCRIPTORS = require('../internals/descriptors');\nvar NATIVE_SYMBOL = require('../internals/native-symbol');\nvar fails = require('../internals/fails');\nvar hasOwn = require('../internals/has-own-property');\nvar isArray = require('../internals/is-array');\nvar isCallable = require('../internals/is-callable');\nvar isObject = require('../internals/is-object');\nvar isPrototypeOf = require('../internals/object-is-prototype-of');\nvar isSymbol = require('../internals/is-symbol');\nvar anObject = require('../internals/an-object');\nvar toObject = require('../internals/to-object');\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar toPropertyKey = require('../internals/to-property-key');\nvar $toString = require('../internals/to-string');\nvar createPropertyDescriptor = require('../internals/create-property-descriptor');\nvar nativeObjectCreate = require('../internals/object-create');\nvar objectKeys = require('../internals/object-keys');\nvar getOwnPropertyNamesModule = require('../internals/object-get-own-property-names');\nvar getOwnPropertyNamesExternal = require('../internals/object-get-own-property-names-external');\nvar getOwnPropertySymbolsModule = require('../internals/object-get-own-property-symbols');\nvar getOwnPropertyDescriptorModule = require('../internals/object-get-own-property-descriptor');\nvar definePropertyModule = require('../internals/object-define-property');\nvar propertyIsEnumerableModule = require('../internals/object-property-is-enumerable');\nvar arraySlice = require('../internals/array-slice');\nvar redefine = require('../internals/redefine');\nvar shared = require('../internals/shared');\nvar sharedKey = require('../internals/shared-key');\nvar hiddenKeys = require('../internals/hidden-keys');\nvar uid = require('../internals/uid');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\nvar wrappedWellKnownSymbolModule = require('../internals/well-known-symbol-wrapped');\nvar defineWellKnownSymbol = require('../internals/define-well-known-symbol');\nvar setToStringTag = require('../internals/set-to-string-tag');\nvar InternalStateModule = require('../internals/internal-state');\nvar $forEach = require('../internals/array-iteration').forEach;\n\nvar HIDDEN = sharedKey('hidden');\nvar SYMBOL = 'Symbol';\nvar PROTOTYPE = 'prototype';\nvar TO_PRIMITIVE = wellKnownSymbol('toPrimitive');\n\nvar setInternalState = InternalStateModule.set;\nvar getInternalState = InternalStateModule.getterFor(SYMBOL);\n\nvar ObjectPrototype = Object[PROTOTYPE];\nvar $Symbol = global.Symbol;\nvar SymbolPrototype = $Symbol && $Symbol[PROTOTYPE];\nvar TypeError = global.TypeError;\nvar QObject = global.QObject;\nvar $stringify = getBuiltIn('JSON', 'stringify');\nvar nativeGetOwnPropertyDescriptor = getOwnPropertyDescriptorModule.f;\nvar nativeDefineProperty = definePropertyModule.f;\nvar nativeGetOwnPropertyNames = getOwnPropertyNamesExternal.f;\nvar nativePropertyIsEnumerable = propertyIsEnumerableModule.f;\nvar push = uncurryThis([].push);\n\nvar AllSymbols = shared('symbols');\nvar ObjectPrototypeSymbols = shared('op-symbols');\nvar StringToSymbolRegistry = shared('string-to-symbol-registry');\nvar SymbolToStringRegistry = shared('symbol-to-string-registry');\nvar WellKnownSymbolsStore = shared('wks');\n\n// Don't use setters in Qt Script, https://github.com/zloirock/core-js/issues/173\nvar USE_SETTER = !QObject || !QObject[PROTOTYPE] || !QObject[PROTOTYPE].findChild;\n\n// fallback for old Android, https://code.google.com/p/v8/issues/detail?id=687\nvar setSymbolDescriptor = DESCRIPTORS && fails(function () {\n return nativeObjectCreate(nativeDefineProperty({}, 'a', {\n get: function () { return nativeDefineProperty(this, 'a', { value: 7 }).a; }\n })).a != 7;\n}) ? function (O, P, Attributes) {\n var ObjectPrototypeDescriptor = nativeGetOwnPropertyDescriptor(ObjectPrototype, P);\n if (ObjectPrototypeDescriptor) delete ObjectPrototype[P];\n nativeDefineProperty(O, P, Attributes);\n if (ObjectPrototypeDescriptor && O !== ObjectPrototype) {\n nativeDefineProperty(ObjectPrototype, P, ObjectPrototypeDescriptor);\n }\n} : nativeDefineProperty;\n\nvar wrap = function (tag, description) {\n var symbol = AllSymbols[tag] = nativeObjectCreate(SymbolPrototype);\n setInternalState(symbol, {\n type: SYMBOL,\n tag: tag,\n description: description\n });\n if (!DESCRIPTORS) symbol.description = description;\n return symbol;\n};\n\nvar $defineProperty = function defineProperty(O, P, Attributes) {\n if (O === ObjectPrototype) $defineProperty(ObjectPrototypeSymbols, P, Attributes);\n anObject(O);\n var key = toPropertyKey(P);\n anObject(Attributes);\n if (hasOwn(AllSymbols, key)) {\n if (!Attributes.enumerable) {\n if (!hasOwn(O, HIDDEN)) nativeDefineProperty(O, HIDDEN, createPropertyDescriptor(1, {}));\n O[HIDDEN][key] = true;\n } else {\n if (hasOwn(O, HIDDEN) && O[HIDDEN][key]) O[HIDDEN][key] = false;\n Attributes = nativeObjectCreate(Attributes, { enumerable: createPropertyDescriptor(0, false) });\n } return setSymbolDescriptor(O, key, Attributes);\n } return nativeDefineProperty(O, key, Attributes);\n};\n\nvar $defineProperties = function defineProperties(O, Properties) {\n anObject(O);\n var properties = toIndexedObject(Properties);\n var keys = objectKeys(properties).concat($getOwnPropertySymbols(properties));\n $forEach(keys, function (key) {\n if (!DESCRIPTORS || call($propertyIsEnumerable, properties, key)) $defineProperty(O, key, properties[key]);\n });\n return O;\n};\n\nvar $create = function create(O, Properties) {\n return Properties === undefined ? nativeObjectCreate(O) : $defineProperties(nativeObjectCreate(O), Properties);\n};\n\nvar $propertyIsEnumerable = function propertyIsEnumerable(V) {\n var P = toPropertyKey(V);\n var enumerable = call(nativePropertyIsEnumerable, this, P);\n if (this === ObjectPrototype && hasOwn(AllSymbols, P) && !hasOwn(ObjectPrototypeSymbols, P)) return false;\n return enumerable || !hasOwn(this, P) || !hasOwn(AllSymbols, P) || hasOwn(this, HIDDEN) && this[HIDDEN][P]\n ? enumerable : true;\n};\n\nvar $getOwnPropertyDescriptor = function getOwnPropertyDescriptor(O, P) {\n var it = toIndexedObject(O);\n var key = toPropertyKey(P);\n if (it === ObjectPrototype && hasOwn(AllSymbols, key) && !hasOwn(ObjectPrototypeSymbols, key)) return;\n var descriptor = nativeGetOwnPropertyDescriptor(it, key);\n if (descriptor && hasOwn(AllSymbols, key) && !(hasOwn(it, HIDDEN) && it[HIDDEN][key])) {\n descriptor.enumerable = true;\n }\n return descriptor;\n};\n\nvar $getOwnPropertyNames = function getOwnPropertyNames(O) {\n var names = nativeGetOwnPropertyNames(toIndexedObject(O));\n var result = [];\n $forEach(names, function (key) {\n if (!hasOwn(AllSymbols, key) && !hasOwn(hiddenKeys, key)) push(result, key);\n });\n return result;\n};\n\nvar $getOwnPropertySymbols = function getOwnPropertySymbols(O) {\n var IS_OBJECT_PROTOTYPE = O === ObjectPrototype;\n var names = nativeGetOwnPropertyNames(IS_OBJECT_PROTOTYPE ? ObjectPrototypeSymbols : toIndexedObject(O));\n var result = [];\n $forEach(names, function (key) {\n if (hasOwn(AllSymbols, key) && (!IS_OBJECT_PROTOTYPE || hasOwn(ObjectPrototype, key))) {\n push(result, AllSymbols[key]);\n }\n });\n return result;\n};\n\n// `Symbol` constructor\n// https://tc39.es/ecma262/#sec-symbol-constructor\nif (!NATIVE_SYMBOL) {\n $Symbol = function Symbol() {\n if (isPrototypeOf(SymbolPrototype, this)) throw TypeError('Symbol is not a constructor');\n var description = !arguments.length || arguments[0] === undefined ? undefined : $toString(arguments[0]);\n var tag = uid(description);\n var setter = function (value) {\n if (this === ObjectPrototype) call(setter, ObjectPrototypeSymbols, value);\n if (hasOwn(this, HIDDEN) && hasOwn(this[HIDDEN], tag)) this[HIDDEN][tag] = false;\n setSymbolDescriptor(this, tag, createPropertyDescriptor(1, value));\n };\n if (DESCRIPTORS && USE_SETTER) setSymbolDescriptor(ObjectPrototype, tag, { configurable: true, set: setter });\n return wrap(tag, description);\n };\n\n SymbolPrototype = $Symbol[PROTOTYPE];\n\n redefine(SymbolPrototype, 'toString', function toString() {\n return getInternalState(this).tag;\n });\n\n redefine($Symbol, 'withoutSetter', function (description) {\n return wrap(uid(description), description);\n });\n\n propertyIsEnumerableModule.f = $propertyIsEnumerable;\n definePropertyModule.f = $defineProperty;\n getOwnPropertyDescriptorModule.f = $getOwnPropertyDescriptor;\n getOwnPropertyNamesModule.f = getOwnPropertyNamesExternal.f = $getOwnPropertyNames;\n getOwnPropertySymbolsModule.f = $getOwnPropertySymbols;\n\n wrappedWellKnownSymbolModule.f = function (name) {\n return wrap(wellKnownSymbol(name), name);\n };\n\n if (DESCRIPTORS) {\n // https://github.com/tc39/proposal-Symbol-description\n nativeDefineProperty(SymbolPrototype, 'description', {\n configurable: true,\n get: function description() {\n return getInternalState(this).description;\n }\n });\n if (!IS_PURE) {\n redefine(ObjectPrototype, 'propertyIsEnumerable', $propertyIsEnumerable, { unsafe: true });\n }\n }\n}\n\n$({ global: true, wrap: true, forced: !NATIVE_SYMBOL, sham: !NATIVE_SYMBOL }, {\n Symbol: $Symbol\n});\n\n$forEach(objectKeys(WellKnownSymbolsStore), function (name) {\n defineWellKnownSymbol(name);\n});\n\n$({ target: SYMBOL, stat: true, forced: !NATIVE_SYMBOL }, {\n // `Symbol.for` method\n // https://tc39.es/ecma262/#sec-symbol.for\n 'for': function (key) {\n var string = $toString(key);\n if (hasOwn(StringToSymbolRegistry, string)) return StringToSymbolRegistry[string];\n var symbol = $Symbol(string);\n StringToSymbolRegistry[string] = symbol;\n SymbolToStringRegistry[symbol] = string;\n return symbol;\n },\n // `Symbol.keyFor` method\n // https://tc39.es/ecma262/#sec-symbol.keyfor\n keyFor: function keyFor(sym) {\n if (!isSymbol(sym)) throw TypeError(sym + ' is not a symbol');\n if (hasOwn(SymbolToStringRegistry, sym)) return SymbolToStringRegistry[sym];\n },\n useSetter: function () { USE_SETTER = true; },\n useSimple: function () { USE_SETTER = false; }\n});\n\n$({ target: 'Object', stat: true, forced: !NATIVE_SYMBOL, sham: !DESCRIPTORS }, {\n // `Object.create` method\n // https://tc39.es/ecma262/#sec-object.create\n create: $create,\n // `Object.defineProperty` method\n // https://tc39.es/ecma262/#sec-object.defineproperty\n defineProperty: $defineProperty,\n // `Object.defineProperties` method\n // https://tc39.es/ecma262/#sec-object.defineproperties\n defineProperties: $defineProperties,\n // `Object.getOwnPropertyDescriptor` method\n // https://tc39.es/ecma262/#sec-object.getownpropertydescriptors\n getOwnPropertyDescriptor: $getOwnPropertyDescriptor\n});\n\n$({ target: 'Object', stat: true, forced: !NATIVE_SYMBOL }, {\n // `Object.getOwnPropertyNames` method\n // https://tc39.es/ecma262/#sec-object.getownpropertynames\n getOwnPropertyNames: $getOwnPropertyNames,\n // `Object.getOwnPropertySymbols` method\n // https://tc39.es/ecma262/#sec-object.getownpropertysymbols\n getOwnPropertySymbols: $getOwnPropertySymbols\n});\n\n// Chrome 38 and 39 `Object.getOwnPropertySymbols` fails on primitives\n// https://bugs.chromium.org/p/v8/issues/detail?id=3443\n$({ target: 'Object', stat: true, forced: fails(function () { getOwnPropertySymbolsModule.f(1); }) }, {\n getOwnPropertySymbols: function getOwnPropertySymbols(it) {\n return getOwnPropertySymbolsModule.f(toObject(it));\n }\n});\n\n// `JSON.stringify` method behavior with symbols\n// https://tc39.es/ecma262/#sec-json.stringify\nif ($stringify) {\n var FORCED_JSON_STRINGIFY = !NATIVE_SYMBOL || fails(function () {\n var symbol = $Symbol();\n // MS Edge converts symbol values to JSON as {}\n return $stringify([symbol]) != '[null]'\n // WebKit converts symbol values to JSON as null\n || $stringify({ a: symbol }) != '{}'\n // V8 throws on boxed symbols\n || $stringify(Object(symbol)) != '{}';\n });\n\n $({ target: 'JSON', stat: true, forced: FORCED_JSON_STRINGIFY }, {\n // eslint-disable-next-line no-unused-vars -- required for `.length`\n stringify: function stringify(it, replacer, space) {\n var args = arraySlice(arguments);\n var $replacer = replacer;\n if (!isObject(replacer) && it === undefined || isSymbol(it)) return; // IE8 returns string on undefined\n if (!isArray(replacer)) replacer = function (key, value) {\n if (isCallable($replacer)) value = call($replacer, this, key, value);\n if (!isSymbol(value)) return value;\n };\n args[1] = replacer;\n return apply($stringify, null, args);\n }\n });\n}\n\n// `Symbol.prototype[@@toPrimitive]` method\n// https://tc39.es/ecma262/#sec-symbol.prototype-@@toprimitive\nif (!SymbolPrototype[TO_PRIMITIVE]) {\n var valueOf = SymbolPrototype.valueOf;\n // eslint-disable-next-line no-unused-vars -- required for .length\n redefine(SymbolPrototype, TO_PRIMITIVE, function (hint) {\n // TODO: improve hint logic\n return call(valueOf, this);\n });\n}\n// `Symbol.prototype[@@toStringTag]` property\n// https://tc39.es/ecma262/#sec-symbol.prototype-@@tostringtag\nsetToStringTag($Symbol, SYMBOL);\n\nhiddenKeys[HIDDEN] = true;\n","// `Symbol.prototype.description` getter\n// https://tc39.es/ecma262/#sec-symbol.prototype.description\n'use strict';\nvar $ = require('../internals/export');\nvar DESCRIPTORS = require('../internals/descriptors');\nvar global = require('../internals/global');\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar hasOwn = require('../internals/has-own-property');\nvar isCallable = require('../internals/is-callable');\nvar isPrototypeOf = require('../internals/object-is-prototype-of');\nvar toString = require('../internals/to-string');\nvar defineProperty = require('../internals/object-define-property').f;\nvar copyConstructorProperties = require('../internals/copy-constructor-properties');\n\nvar NativeSymbol = global.Symbol;\nvar SymbolPrototype = NativeSymbol && NativeSymbol.prototype;\n\nif (DESCRIPTORS && isCallable(NativeSymbol) && (!('description' in SymbolPrototype) ||\n // Safari 12 bug\n NativeSymbol().description !== undefined\n)) {\n var EmptyStringDescriptionStore = {};\n // wrap Symbol constructor for correct work with undefined description\n var SymbolWrapper = function Symbol() {\n var description = arguments.length < 1 || arguments[0] === undefined ? undefined : toString(arguments[0]);\n var result = isPrototypeOf(SymbolPrototype, this)\n ? new NativeSymbol(description)\n // in Edge 13, String(Symbol(undefined)) === 'Symbol(undefined)'\n : description === undefined ? NativeSymbol() : NativeSymbol(description);\n if (description === '') EmptyStringDescriptionStore[result] = true;\n return result;\n };\n\n copyConstructorProperties(SymbolWrapper, NativeSymbol);\n SymbolWrapper.prototype = SymbolPrototype;\n SymbolPrototype.constructor = SymbolWrapper;\n\n var NATIVE_SYMBOL = String(NativeSymbol('test')) == 'Symbol(test)';\n var symbolToString = uncurryThis(SymbolPrototype.toString);\n var symbolValueOf = uncurryThis(SymbolPrototype.valueOf);\n var regexp = /^Symbol\\((.*)\\)[^)]+$/;\n var replace = uncurryThis(''.replace);\n var stringSlice = uncurryThis(''.slice);\n\n defineProperty(SymbolPrototype, 'description', {\n configurable: true,\n get: function description() {\n var symbol = symbolValueOf(this);\n var string = symbolToString(symbol);\n if (hasOwn(EmptyStringDescriptionStore, symbol)) return '';\n var desc = NATIVE_SYMBOL ? stringSlice(string, 7, -1) : replace(string, regexp, '$1');\n return desc === '' ? undefined : desc;\n }\n });\n\n $({ global: true, forced: true }, {\n Symbol: SymbolWrapper\n });\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 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","module.exports = {};\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","'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, ENUMERABLE_NEXT) {\n var TO_STRING_TAG = NAME + ' Iterator';\n IteratorConstructor.prototype = create(IteratorPrototype, { next: createPropertyDescriptor(+!ENUMERABLE_NEXT, next) });\n setToStringTag(IteratorConstructor, TO_STRING_TAG, false, true);\n Iterators[TO_STRING_TAG] = returnThis;\n return IteratorConstructor;\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","'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","'use strict';\nvar TO_STRING_TAG_SUPPORT = require('../internals/to-string-tag-support');\nvar classof = require('../internals/classof');\n\n// `Object.prototype.toString` method implementation\n// https://tc39.es/ecma262/#sec-object.prototype.tostring\nmodule.exports = TO_STRING_TAG_SUPPORT ? {}.toString : function toString() {\n return '[object ' + classof(this) + ']';\n};\n","var TO_STRING_TAG_SUPPORT = require('../internals/to-string-tag-support');\nvar redefine = require('../internals/redefine');\nvar toString = require('../internals/object-to-string');\n\n// `Object.prototype.toString` method\n// https://tc39.es/ecma262/#sec-object.prototype.tostring\nif (!TO_STRING_TAG_SUPPORT) {\n redefine(Object.prototype, 'toString', toString, { unsafe: true });\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;\nvar toString = require('../internals/to-string');\nvar InternalStateModule = require('../internals/internal-state');\nvar defineIterator = require('../internals/define-iterator');\n\nvar STRING_ITERATOR = 'String Iterator';\nvar setInternalState = InternalStateModule.set;\nvar getInternalState = InternalStateModule.getterFor(STRING_ITERATOR);\n\n// `String.prototype[@@iterator]` method\n// https://tc39.es/ecma262/#sec-string.prototype-@@iterator\ndefineIterator(String, 'String', function (iterated) {\n setInternalState(this, {\n type: STRING_ITERATOR,\n string: toString(iterated),\n index: 0\n });\n// `%StringIteratorPrototype%.next` method\n// https://tc39.es/ecma262/#sec-%stringiteratorprototype%.next\n}, function next() {\n var state = getInternalState(this);\n var string = state.string;\n var index = state.index;\n var point;\n if (index >= string.length) return { value: undefined, done: true };\n point = charAt(string, index);\n state.index += point.length;\n return { value: point, done: false };\n});\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","// FF26- bug: ArrayBuffers are non-extensible, but Object.isExtensible does not report it\nvar fails = require('../internals/fails');\n\nmodule.exports = fails(function () {\n if (typeof ArrayBuffer == 'function') {\n var buffer = new ArrayBuffer(8);\n // eslint-disable-next-line es/no-object-isextensible, es/no-object-defineproperty -- safe\n if (Object.isExtensible(buffer)) Object.defineProperty(buffer, 'a', { value: 8 });\n }\n});\n","var fails = require('../internals/fails');\nvar isObject = require('../internals/is-object');\nvar classof = require('../internals/classof-raw');\nvar ARRAY_BUFFER_NON_EXTENSIBLE = require('../internals/array-buffer-non-extensible');\n\n// eslint-disable-next-line es/no-object-isextensible -- safe\nvar $isExtensible = Object.isExtensible;\nvar FAILS_ON_PRIMITIVES = fails(function () { $isExtensible(1); });\n\n// `Object.isExtensible` method\n// https://tc39.es/ecma262/#sec-object.isextensible\nmodule.exports = (FAILS_ON_PRIMITIVES || ARRAY_BUFFER_NON_EXTENSIBLE) ? function isExtensible(it) {\n if (!isObject(it)) return false;\n if (ARRAY_BUFFER_NON_EXTENSIBLE && classof(it) == 'ArrayBuffer') return false;\n return $isExtensible ? $isExtensible(it) : true;\n} : $isExtensible;\n","var fails = require('../internals/fails');\n\nmodule.exports = !fails(function () {\n // eslint-disable-next-line es/no-object-isextensible, es/no-object-preventextensions -- required for testing\n return Object.isExtensible(Object.preventExtensions({}));\n});\n","var $ = require('../internals/export');\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar hiddenKeys = require('../internals/hidden-keys');\nvar isObject = require('../internals/is-object');\nvar hasOwn = require('../internals/has-own-property');\nvar defineProperty = require('../internals/object-define-property').f;\nvar getOwnPropertyNamesModule = require('../internals/object-get-own-property-names');\nvar getOwnPropertyNamesExternalModule = require('../internals/object-get-own-property-names-external');\nvar isExtensible = require('../internals/object-is-extensible');\nvar uid = require('../internals/uid');\nvar FREEZING = require('../internals/freezing');\n\nvar REQUIRED = false;\nvar METADATA = uid('meta');\nvar id = 0;\n\nvar setMetadata = function (it) {\n defineProperty(it, METADATA, { value: {\n objectID: 'O' + id++, // object ID\n weakData: {} // weak collections IDs\n } });\n};\n\nvar fastKey = function (it, create) {\n // return a primitive with prefix\n if (!isObject(it)) return typeof it == 'symbol' ? it : (typeof it == 'string' ? 'S' : 'P') + it;\n if (!hasOwn(it, METADATA)) {\n // can't set metadata to uncaught frozen object\n if (!isExtensible(it)) return 'F';\n // not necessary to add metadata\n if (!create) return 'E';\n // add missing metadata\n setMetadata(it);\n // return object ID\n } return it[METADATA].objectID;\n};\n\nvar getWeakData = function (it, create) {\n if (!hasOwn(it, METADATA)) {\n // can't set metadata to uncaught frozen object\n if (!isExtensible(it)) return true;\n // not necessary to add metadata\n if (!create) return false;\n // add missing metadata\n setMetadata(it);\n // return the store of weak collections IDs\n } return it[METADATA].weakData;\n};\n\n// add metadata on freeze-family methods calling\nvar onFreeze = function (it) {\n if (FREEZING && REQUIRED && isExtensible(it) && !hasOwn(it, METADATA)) setMetadata(it);\n return it;\n};\n\nvar enable = function () {\n meta.enable = function () { /* empty */ };\n REQUIRED = true;\n var getOwnPropertyNames = getOwnPropertyNamesModule.f;\n var splice = uncurryThis([].splice);\n var test = {};\n test[METADATA] = 1;\n\n // prevent exposing of metadata key\n if (getOwnPropertyNames(test).length) {\n getOwnPropertyNamesModule.f = function (it) {\n var result = getOwnPropertyNames(it);\n for (var i = 0, length = result.length; i < length; i++) {\n if (result[i] === METADATA) {\n splice(result, i, 1);\n break;\n }\n } return result;\n };\n\n $({ target: 'Object', stat: true, forced: true }, {\n getOwnPropertyNames: getOwnPropertyNamesExternalModule.f\n });\n }\n};\n\nvar meta = module.exports = {\n enable: enable,\n fastKey: fastKey,\n getWeakData: getWeakData,\n onFreeze: onFreeze\n};\n\nhiddenKeys[METADATA] = true;\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 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 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 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 $ = require('../internals/export');\nvar global = require('../internals/global');\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar isForced = require('../internals/is-forced');\nvar redefine = require('../internals/redefine');\nvar InternalMetadataModule = require('../internals/internal-metadata');\nvar iterate = require('../internals/iterate');\nvar anInstance = require('../internals/an-instance');\nvar isCallable = require('../internals/is-callable');\nvar isObject = require('../internals/is-object');\nvar fails = require('../internals/fails');\nvar checkCorrectnessOfIteration = require('../internals/check-correctness-of-iteration');\nvar setToStringTag = require('../internals/set-to-string-tag');\nvar inheritIfRequired = require('../internals/inherit-if-required');\n\nmodule.exports = function (CONSTRUCTOR_NAME, wrapper, common) {\n var IS_MAP = CONSTRUCTOR_NAME.indexOf('Map') !== -1;\n var IS_WEAK = CONSTRUCTOR_NAME.indexOf('Weak') !== -1;\n var ADDER = IS_MAP ? 'set' : 'add';\n var NativeConstructor = global[CONSTRUCTOR_NAME];\n var NativePrototype = NativeConstructor && NativeConstructor.prototype;\n var Constructor = NativeConstructor;\n var exported = {};\n\n var fixMethod = function (KEY) {\n var uncurriedNativeMethod = uncurryThis(NativePrototype[KEY]);\n redefine(NativePrototype, KEY,\n KEY == 'add' ? function add(value) {\n uncurriedNativeMethod(this, value === 0 ? 0 : value);\n return this;\n } : KEY == 'delete' ? function (key) {\n return IS_WEAK && !isObject(key) ? false : uncurriedNativeMethod(this, key === 0 ? 0 : key);\n } : KEY == 'get' ? function get(key) {\n return IS_WEAK && !isObject(key) ? undefined : uncurriedNativeMethod(this, key === 0 ? 0 : key);\n } : KEY == 'has' ? function has(key) {\n return IS_WEAK && !isObject(key) ? false : uncurriedNativeMethod(this, key === 0 ? 0 : key);\n } : function set(key, value) {\n uncurriedNativeMethod(this, key === 0 ? 0 : key, value);\n return this;\n }\n );\n };\n\n var REPLACE = isForced(\n CONSTRUCTOR_NAME,\n !isCallable(NativeConstructor) || !(IS_WEAK || NativePrototype.forEach && !fails(function () {\n new NativeConstructor().entries().next();\n }))\n );\n\n if (REPLACE) {\n // create collection constructor\n Constructor = common.getConstructor(wrapper, CONSTRUCTOR_NAME, IS_MAP, ADDER);\n InternalMetadataModule.enable();\n } else if (isForced(CONSTRUCTOR_NAME, true)) {\n var instance = new Constructor();\n // early implementations not supports chaining\n var HASNT_CHAINING = instance[ADDER](IS_WEAK ? {} : -0, 1) != instance;\n // V8 ~ Chromium 40- weak-collections throws on primitives, but should return false\n var THROWS_ON_PRIMITIVES = fails(function () { instance.has(1); });\n // most early implementations doesn't supports iterables, most modern - not close it correctly\n // eslint-disable-next-line no-new -- required for testing\n var ACCEPT_ITERABLES = checkCorrectnessOfIteration(function (iterable) { new NativeConstructor(iterable); });\n // for early implementations -0 and +0 not the same\n var BUGGY_ZERO = !IS_WEAK && fails(function () {\n // V8 ~ Chromium 42- fails only with 5+ elements\n var $instance = new NativeConstructor();\n var index = 5;\n while (index--) $instance[ADDER](index, index);\n return !$instance.has(-0);\n });\n\n if (!ACCEPT_ITERABLES) {\n Constructor = wrapper(function (dummy, iterable) {\n anInstance(dummy, NativePrototype);\n var that = inheritIfRequired(new NativeConstructor(), dummy, Constructor);\n if (iterable != undefined) iterate(iterable, that[ADDER], { that: that, AS_ENTRIES: IS_MAP });\n return that;\n });\n Constructor.prototype = NativePrototype;\n NativePrototype.constructor = Constructor;\n }\n\n if (THROWS_ON_PRIMITIVES || BUGGY_ZERO) {\n fixMethod('delete');\n fixMethod('has');\n IS_MAP && fixMethod('get');\n }\n\n if (BUGGY_ZERO || HASNT_CHAINING) fixMethod(ADDER);\n\n // weak collections should not contains .clear method\n if (IS_WEAK && NativePrototype.clear) delete NativePrototype.clear;\n }\n\n exported[CONSTRUCTOR_NAME] = Constructor;\n $({ global: true, forced: Constructor != NativeConstructor }, exported);\n\n setToStringTag(Constructor, CONSTRUCTOR_NAME);\n\n if (!IS_WEAK) common.setStrong(Constructor, CONSTRUCTOR_NAME, IS_MAP);\n\n return Constructor;\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 uncurryThis = require('../internals/function-uncurry-this');\nvar redefineAll = require('../internals/redefine-all');\nvar getWeakData = require('../internals/internal-metadata').getWeakData;\nvar anObject = require('../internals/an-object');\nvar isObject = require('../internals/is-object');\nvar anInstance = require('../internals/an-instance');\nvar iterate = require('../internals/iterate');\nvar ArrayIterationModule = require('../internals/array-iteration');\nvar hasOwn = require('../internals/has-own-property');\nvar InternalStateModule = require('../internals/internal-state');\n\nvar setInternalState = InternalStateModule.set;\nvar internalStateGetterFor = InternalStateModule.getterFor;\nvar find = ArrayIterationModule.find;\nvar findIndex = ArrayIterationModule.findIndex;\nvar splice = uncurryThis([].splice);\nvar id = 0;\n\n// fallback for uncaught frozen keys\nvar uncaughtFrozenStore = function (store) {\n return store.frozen || (store.frozen = new UncaughtFrozenStore());\n};\n\nvar UncaughtFrozenStore = function () {\n this.entries = [];\n};\n\nvar findUncaughtFrozen = function (store, key) {\n return find(store.entries, function (it) {\n return it[0] === key;\n });\n};\n\nUncaughtFrozenStore.prototype = {\n get: function (key) {\n var entry = findUncaughtFrozen(this, key);\n if (entry) return entry[1];\n },\n has: function (key) {\n return !!findUncaughtFrozen(this, key);\n },\n set: function (key, value) {\n var entry = findUncaughtFrozen(this, key);\n if (entry) entry[1] = value;\n else this.entries.push([key, value]);\n },\n 'delete': function (key) {\n var index = findIndex(this.entries, function (it) {\n return it[0] === key;\n });\n if (~index) splice(this.entries, index, 1);\n return !!~index;\n }\n};\n\nmodule.exports = {\n getConstructor: function (wrapper, CONSTRUCTOR_NAME, IS_MAP, ADDER) {\n var Constructor = wrapper(function (that, iterable) {\n anInstance(that, Prototype);\n setInternalState(that, {\n type: CONSTRUCTOR_NAME,\n id: id++,\n frozen: undefined\n });\n if (iterable != undefined) iterate(iterable, that[ADDER], { that: that, AS_ENTRIES: IS_MAP });\n });\n\n var Prototype = Constructor.prototype;\n\n var getInternalState = internalStateGetterFor(CONSTRUCTOR_NAME);\n\n var define = function (that, key, value) {\n var state = getInternalState(that);\n var data = getWeakData(anObject(key), true);\n if (data === true) uncaughtFrozenStore(state).set(key, value);\n else data[state.id] = value;\n return that;\n };\n\n redefineAll(Prototype, {\n // `{ WeakMap, WeakSet }.prototype.delete(key)` methods\n // https://tc39.es/ecma262/#sec-weakmap.prototype.delete\n // https://tc39.es/ecma262/#sec-weakset.prototype.delete\n 'delete': function (key) {\n var state = getInternalState(this);\n if (!isObject(key)) return false;\n var data = getWeakData(key);\n if (data === true) return uncaughtFrozenStore(state)['delete'](key);\n return data && hasOwn(data, state.id) && delete data[state.id];\n },\n // `{ WeakMap, WeakSet }.prototype.has(key)` methods\n // https://tc39.es/ecma262/#sec-weakmap.prototype.has\n // https://tc39.es/ecma262/#sec-weakset.prototype.has\n has: function has(key) {\n var state = getInternalState(this);\n if (!isObject(key)) return false;\n var data = getWeakData(key);\n if (data === true) return uncaughtFrozenStore(state).has(key);\n return data && hasOwn(data, state.id);\n }\n });\n\n redefineAll(Prototype, IS_MAP ? {\n // `WeakMap.prototype.get(key)` method\n // https://tc39.es/ecma262/#sec-weakmap.prototype.get\n get: function get(key) {\n var state = getInternalState(this);\n if (isObject(key)) {\n var data = getWeakData(key);\n if (data === true) return uncaughtFrozenStore(state).get(key);\n return data ? data[state.id] : undefined;\n }\n },\n // `WeakMap.prototype.set(key, value)` method\n // https://tc39.es/ecma262/#sec-weakmap.prototype.set\n set: function set(key, value) {\n return define(this, key, value);\n }\n } : {\n // `WeakSet.prototype.add(value)` method\n // https://tc39.es/ecma262/#sec-weakset.prototype.add\n add: function add(value) {\n return define(this, value, true);\n }\n });\n\n return Constructor;\n }\n};\n","'use strict';\nvar global = require('../internals/global');\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar redefineAll = require('../internals/redefine-all');\nvar InternalMetadataModule = require('../internals/internal-metadata');\nvar collection = require('../internals/collection');\nvar collectionWeak = require('../internals/collection-weak');\nvar isObject = require('../internals/is-object');\nvar isExtensible = require('../internals/object-is-extensible');\nvar enforceIternalState = require('../internals/internal-state').enforce;\nvar NATIVE_WEAK_MAP = require('../internals/native-weak-map');\n\nvar IS_IE11 = !global.ActiveXObject && 'ActiveXObject' in global;\nvar InternalWeakMap;\n\nvar wrapper = function (init) {\n return function WeakMap() {\n return init(this, arguments.length ? arguments[0] : undefined);\n };\n};\n\n// `WeakMap` constructor\n// https://tc39.es/ecma262/#sec-weakmap-constructor\nvar $WeakMap = collection('WeakMap', wrapper, collectionWeak);\n\n// IE11 WeakMap frozen keys fix\n// We can't use feature detection because it crash some old IE builds\n// https://github.com/zloirock/core-js/issues/485\nif (NATIVE_WEAK_MAP && IS_IE11) {\n InternalWeakMap = collectionWeak.getConstructor(wrapper, 'WeakMap', true);\n InternalMetadataModule.enable();\n var WeakMapPrototype = $WeakMap.prototype;\n var nativeDelete = uncurryThis(WeakMapPrototype['delete']);\n var nativeHas = uncurryThis(WeakMapPrototype.has);\n var nativeGet = uncurryThis(WeakMapPrototype.get);\n var nativeSet = uncurryThis(WeakMapPrototype.set);\n redefineAll(WeakMapPrototype, {\n 'delete': function (key) {\n if (isObject(key) && !isExtensible(key)) {\n var state = enforceIternalState(this);\n if (!state.frozen) state.frozen = new InternalWeakMap();\n return nativeDelete(this, key) || state.frozen['delete'](key);\n } return nativeDelete(this, key);\n },\n has: function has(key) {\n if (isObject(key) && !isExtensible(key)) {\n var state = enforceIternalState(this);\n if (!state.frozen) state.frozen = new InternalWeakMap();\n return nativeHas(this, key) || state.frozen.has(key);\n } return nativeHas(this, key);\n },\n get: function get(key) {\n if (isObject(key) && !isExtensible(key)) {\n var state = enforceIternalState(this);\n if (!state.frozen) state.frozen = new InternalWeakMap();\n return nativeHas(this, key) ? nativeGet(this, key) : state.frozen.get(key);\n } return nativeGet(this, key);\n },\n set: function set(key, value) {\n if (isObject(key) && !isExtensible(key)) {\n var state = enforceIternalState(this);\n if (!state.frozen) state.frozen = new InternalWeakMap();\n nativeHas(this, key) ? nativeSet(this, key, value) : state.frozen.set(key, value);\n } else nativeSet(this, key, value);\n return this;\n }\n });\n}\n","'use strict';\nvar collection = require('../internals/collection');\nvar collectionWeak = require('../internals/collection-weak');\n\n// `WeakSet` constructor\n// https://tc39.es/ecma262/#sec-weakset-constructor\ncollection('WeakSet', function (init) {\n return function WeakSet() { return init(this, arguments.length ? arguments[0] : undefined); };\n}, collectionWeak);\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","'use strict';\nvar fails = require('../internals/fails');\n\nmodule.exports = function (METHOD_NAME, argument) {\n var method = [][METHOD_NAME];\n return !!method && fails(function () {\n // eslint-disable-next-line no-useless-call,no-throw-literal -- required for testing\n method.call(null, argument || function () { throw 1; }, 1);\n });\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 $forEach = require('../internals/array-iteration').forEach;\nvar arrayMethodIsStrict = require('../internals/array-method-is-strict');\n\nvar STRICT_METHOD = arrayMethodIsStrict('forEach');\n\n// `Array.prototype.forEach` method implementation\n// https://tc39.es/ecma262/#sec-array.prototype.foreach\nmodule.exports = !STRICT_METHOD ? function forEach(callbackfn /* , thisArg */) {\n return $forEach(this, callbackfn, arguments.length > 1 ? arguments[1] : undefined);\n// eslint-disable-next-line es/no-array-prototype-foreach -- safe\n} : [].forEach;\n","var global = require('../internals/global');\nvar DOMIterables = require('../internals/dom-iterables');\nvar DOMTokenListPrototype = require('../internals/dom-token-list-prototype');\nvar forEach = require('../internals/array-for-each');\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\n\nvar handlePrototype = function (CollectionPrototype) {\n // some Chrome versions have non-configurable methods on DOMTokenList\n if (CollectionPrototype && CollectionPrototype.forEach !== forEach) try {\n createNonEnumerableProperty(CollectionPrototype, 'forEach', forEach);\n } catch (error) {\n CollectionPrototype.forEach = forEach;\n }\n};\n\nfor (var COLLECTION_NAME in DOMIterables) {\n if (DOMIterables[COLLECTION_NAME]) {\n handlePrototype(global[COLLECTION_NAME] && global[COLLECTION_NAME].prototype);\n }\n}\n\nhandlePrototype(DOMTokenListPrototype);\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 anObject = require('../internals/an-object');\nvar iteratorClose = require('../internals/iterator-close');\n\n// call something on iterator step with safe closing on error\nmodule.exports = function (iterator, fn, value, ENTRIES) {\n try {\n return ENTRIES ? fn(anObject(value)[0], value[1]) : fn(value);\n } catch (error) {\n iteratorClose(iterator, 'throw', error);\n }\n};\n","'use strict';\nvar global = require('../internals/global');\nvar bind = require('../internals/function-bind-context');\nvar call = require('../internals/function-call');\nvar toObject = require('../internals/to-object');\nvar callWithSafeIterationClosing = require('../internals/call-with-safe-iteration-closing');\nvar isArrayIteratorMethod = require('../internals/is-array-iterator-method');\nvar isConstructor = require('../internals/is-constructor');\nvar lengthOfArrayLike = require('../internals/length-of-array-like');\nvar createProperty = require('../internals/create-property');\nvar getIterator = require('../internals/get-iterator');\nvar getIteratorMethod = require('../internals/get-iterator-method');\n\nvar Array = global.Array;\n\n// `Array.from` method implementation\n// https://tc39.es/ecma262/#sec-array.from\nmodule.exports = function from(arrayLike /* , mapfn = undefined, thisArg = undefined */) {\n var O = toObject(arrayLike);\n var IS_CONSTRUCTOR = isConstructor(this);\n var argumentsLength = arguments.length;\n var mapfn = argumentsLength > 1 ? arguments[1] : undefined;\n var mapping = mapfn !== undefined;\n if (mapping) mapfn = bind(mapfn, argumentsLength > 2 ? arguments[2] : undefined);\n var iteratorMethod = getIteratorMethod(O);\n var index = 0;\n var length, result, step, iterator, next, value;\n // if the target is not iterable or it's an array with the default iterator - use a simple case\n if (iteratorMethod && !(this == Array && isArrayIteratorMethod(iteratorMethod))) {\n iterator = getIterator(O, iteratorMethod);\n next = iterator.next;\n result = IS_CONSTRUCTOR ? new this() : [];\n for (;!(step = call(next, iterator)).done; index++) {\n value = mapping ? callWithSafeIterationClosing(iterator, mapfn, [step.value, index], true) : step.value;\n createProperty(result, index, value);\n }\n } else {\n length = lengthOfArrayLike(O);\n result = IS_CONSTRUCTOR ? new this(length) : Array(length);\n for (;length > index; index++) {\n value = mapping ? mapfn(O[index], index) : O[index];\n createProperty(result, index, value);\n }\n }\n result.length = index;\n return result;\n};\n","var $ = require('../internals/export');\nvar from = require('../internals/array-from');\nvar checkCorrectnessOfIteration = require('../internals/check-correctness-of-iteration');\n\nvar INCORRECT_ITERATION = !checkCorrectnessOfIteration(function (iterable) {\n // eslint-disable-next-line es/no-array-from -- required for testing\n Array.from(iterable);\n});\n\n// `Array.from` method\n// https://tc39.es/ecma262/#sec-array.from\n$({ target: 'Array', stat: true, forced: INCORRECT_ITERATION }, {\n from: from\n});\n","var fails = require('../internals/fails');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\nvar V8_VERSION = require('../internals/engine-v8-version');\n\nvar SPECIES = wellKnownSymbol('species');\n\nmodule.exports = function (METHOD_NAME) {\n // We can't use this feature detection in V8 since it causes\n // deoptimization and serious performance degradation\n // https://github.com/zloirock/core-js/issues/677\n return V8_VERSION >= 51 || !fails(function () {\n var array = [];\n var constructor = array.constructor = {};\n constructor[SPECIES] = function () {\n return { foo: 1 };\n };\n return array[METHOD_NAME](Boolean).foo !== 1;\n });\n};\n","'use strict';\nvar $ = require('../internals/export');\nvar $map = require('../internals/array-iteration').map;\nvar arrayMethodHasSpeciesSupport = require('../internals/array-method-has-species-support');\n\nvar HAS_SPECIES_SUPPORT = arrayMethodHasSpeciesSupport('map');\n\n// `Array.prototype.map` method\n// https://tc39.es/ecma262/#sec-array.prototype.map\n// with adding support of @@species\n$({ target: 'Array', proto: true, forced: !HAS_SPECIES_SUPPORT }, {\n map: function map(callbackfn /* , thisArg */) {\n return $map(this, callbackfn, arguments.length > 1 ? arguments[1] : undefined);\n }\n});\n","'use strict';\nvar $ = require('../internals/export');\nvar global = require('../internals/global');\nvar isArray = require('../internals/is-array');\nvar isConstructor = require('../internals/is-constructor');\nvar isObject = require('../internals/is-object');\nvar toAbsoluteIndex = require('../internals/to-absolute-index');\nvar lengthOfArrayLike = require('../internals/length-of-array-like');\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar createProperty = require('../internals/create-property');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\nvar arrayMethodHasSpeciesSupport = require('../internals/array-method-has-species-support');\nvar un$Slice = require('../internals/array-slice');\n\nvar HAS_SPECIES_SUPPORT = arrayMethodHasSpeciesSupport('slice');\n\nvar SPECIES = wellKnownSymbol('species');\nvar Array = global.Array;\nvar max = Math.max;\n\n// `Array.prototype.slice` method\n// https://tc39.es/ecma262/#sec-array.prototype.slice\n// fallback for not array-like ES3 strings and DOM objects\n$({ target: 'Array', proto: true, forced: !HAS_SPECIES_SUPPORT }, {\n slice: function slice(start, end) {\n var O = toIndexedObject(this);\n var length = lengthOfArrayLike(O);\n var k = toAbsoluteIndex(start, length);\n var fin = toAbsoluteIndex(end === undefined ? length : end, length);\n // inline `ArraySpeciesCreate` for usage native `Array#slice` where it's possible\n var Constructor, result, n;\n if (isArray(O)) {\n Constructor = O.constructor;\n // cross-realm fallback\n if (isConstructor(Constructor) && (Constructor === Array || isArray(Constructor.prototype))) {\n Constructor = undefined;\n } else if (isObject(Constructor)) {\n Constructor = Constructor[SPECIES];\n if (Constructor === null) Constructor = undefined;\n }\n if (Constructor === Array || Constructor === undefined) {\n return un$Slice(O, k, fin);\n }\n }\n result = new (Constructor === undefined ? Array : Constructor)(max(fin - k, 0));\n for (n = 0; k < fin; k++, n++) if (k in O) createProperty(result, n, O[k]);\n result.length = n;\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 toObject = require('../internals/to-object');\nvar nativeKeys = require('../internals/object-keys');\nvar fails = require('../internals/fails');\n\nvar FAILS_ON_PRIMITIVES = fails(function () { nativeKeys(1); });\n\n// `Object.keys` method\n// https://tc39.es/ecma262/#sec-object.keys\n$({ target: 'Object', stat: true, forced: FAILS_ON_PRIMITIVES }, {\n keys: function keys(it) {\n return nativeKeys(toObject(it));\n }\n});\n","var DESCRIPTORS = require('../internals/descriptors');\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar objectKeys = require('../internals/object-keys');\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar $propertyIsEnumerable = require('../internals/object-property-is-enumerable').f;\n\nvar propertyIsEnumerable = uncurryThis($propertyIsEnumerable);\nvar push = uncurryThis([].push);\n\n// `Object.{ entries, values }` methods implementation\nvar createMethod = function (TO_ENTRIES) {\n return function (it) {\n var O = toIndexedObject(it);\n var keys = objectKeys(O);\n var length = keys.length;\n var i = 0;\n var result = [];\n var key;\n while (length > i) {\n key = keys[i++];\n if (!DESCRIPTORS || propertyIsEnumerable(O, key)) {\n push(result, TO_ENTRIES ? [key, O[key]] : O[key]);\n }\n }\n return result;\n };\n};\n\nmodule.exports = {\n // `Object.entries` method\n // https://tc39.es/ecma262/#sec-object.entries\n entries: createMethod(true),\n // `Object.values` method\n // https://tc39.es/ecma262/#sec-object.values\n values: createMethod(false)\n};\n","var $ = require('../internals/export');\nvar $entries = require('../internals/object-to-array').entries;\n\n// `Object.entries` method\n// https://tc39.es/ecma262/#sec-object.entries\n$({ target: 'Object', stat: true }, {\n entries: function entries(O) {\n return $entries(O);\n }\n});\n","'use strict';\nvar $ = require('../internals/export');\nvar $filter = require('../internals/array-iteration').filter;\nvar arrayMethodHasSpeciesSupport = require('../internals/array-method-has-species-support');\n\nvar HAS_SPECIES_SUPPORT = arrayMethodHasSpeciesSupport('filter');\n\n// `Array.prototype.filter` method\n// https://tc39.es/ecma262/#sec-array.prototype.filter\n// with adding support of @@species\n$({ target: 'Array', proto: true, forced: !HAS_SPECIES_SUPPORT }, {\n filter: function filter(callbackfn /* , thisArg */) {\n return $filter(this, callbackfn, arguments.length > 1 ? arguments[1] : undefined);\n }\n});\n","'use strict';\nvar $ = require('../internals/export');\nvar $includes = require('../internals/array-includes').includes;\nvar addToUnscopables = require('../internals/add-to-unscopables');\n\n// `Array.prototype.includes` method\n// https://tc39.es/ecma262/#sec-array.prototype.includes\n$({ target: 'Array', proto: true }, {\n includes: function includes(el /* , fromIndex = 0 */) {\n return $includes(this, el, arguments.length > 1 ? arguments[1] : undefined);\n }\n});\n\n// https://tc39.es/ecma262/#sec-array.prototype-@@unscopables\naddToUnscopables('includes');\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","'use strict';\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar PROPER_FUNCTION_NAME = require('../internals/function-name').PROPER;\nvar redefine = require('../internals/redefine');\nvar anObject = require('../internals/an-object');\nvar isPrototypeOf = require('../internals/object-is-prototype-of');\nvar $toString = require('../internals/to-string');\nvar fails = require('../internals/fails');\nvar regExpFlags = require('../internals/regexp-flags');\n\nvar TO_STRING = 'toString';\nvar RegExpPrototype = RegExp.prototype;\nvar n$ToString = RegExpPrototype[TO_STRING];\nvar getFlags = uncurryThis(regExpFlags);\n\nvar NOT_GENERIC = fails(function () { return n$ToString.call({ source: 'a', flags: 'b' }) != '/a/b'; });\n// FF44- RegExp#toString has a wrong name\nvar INCORRECT_NAME = PROPER_FUNCTION_NAME && n$ToString.name != TO_STRING;\n\n// `RegExp.prototype.toString` method\n// https://tc39.es/ecma262/#sec-regexp.prototype.tostring\nif (NOT_GENERIC || INCORRECT_NAME) {\n redefine(RegExp.prototype, TO_STRING, function toString() {\n var R = anObject(this);\n var p = $toString(R.source);\n var rf = R.flags;\n var f = $toString(rf === undefined && isPrototypeOf(RegExpPrototype, R) && !('flags' in RegExpPrototype) ? getFlags(R) : rf);\n return '/' + p + '/' + f;\n }, { unsafe: true });\n}\n","type InspectableObject = Record<string | number | symbol, unknown>\n\nfunction isObject(o: unknown): o is InspectableObject {\n return Object.prototype.toString.call(o) === '[object Object]'\n}\n\nexport function isPlainObject(o: unknown): o is InspectableObject {\n if (!isObject(o)) {\n return false\n }\n\n // If has modified constructor\n const ctor = o.constructor\n if (ctor === undefined) {\n return true\n }\n\n // If has modified prototype\n const prot = ctor.prototype\n if (isObject(prot) === false) {\n return false\n }\n\n // If constructor does not have an Object-specific method\n\n if (Object.prototype.hasOwnProperty.call(prot, 'isPrototypeOfOf')) {\n return false\n }\n\n // Most likely a plain Object\n return true\n}\n\n// Slates deep equality function: https://github.com/ianstormtaylor/slate/blob/68aff89e892fe15a16314398ff052ade6068900b/packages/slate/src/utils/deep-equal.ts#L13\n// We have to match slates deepEquals behavior to merge insert deltas in the same way slate does.\nexport function deepEquals(node: InspectableObject, another: InspectableObject): boolean {\n // eslint-disable-next-line guard-for-in\n for (const key in node) {\n const a = node[key]\n const b = another[key]\n\n if (isPlainObject(a) && isPlainObject(b)) {\n if (!deepEquals(a, b)) {\n return false\n }\n } else if (Array.isArray(a) && Array.isArray(b)) {\n if (a.length !== b.length) return false\n for (let i = 0; i < a.length; i++) {\n if (a[i] !== b[i]) {\n return false\n }\n }\n } else if (a !== b) {\n return false\n }\n }\n\n for (const key in another) {\n if (node[key] === undefined && another[key] !== undefined) {\n return false\n }\n }\n\n return true\n}\n\nexport function pick<TObj, TKeys extends keyof TObj>(\n obj: TObj,\n ...keys: TKeys[]\n): Pick<TObj, TKeys> {\n return Object.fromEntries(\n Object.entries(obj).filter(([key]) => keys.includes(key as TKeys))\n ) as Pick<TObj, TKeys>\n}\n\nexport function omit<TObj, TKeys extends keyof TObj>(\n obj: TObj,\n ...keys: TKeys[]\n): Omit<TObj, TKeys> {\n return Object.fromEntries(\n Object.entries(obj).filter(([key]) => !keys.includes(key as TKeys))\n ) as Omit<TObj, TKeys>\n}\n\nexport function omitNullEntries<TObj>(obj: TObj): {\n [K in keyof TObj]: TObj[K] extends null ? never : K\n} {\n return Object.fromEntries(Object.entries(obj).filter(([, value]) => value !== null)) as {\n [K in keyof TObj]: TObj[K] extends null ? never : K\n }\n}\n","import * as Y from 'yjs'\nimport { DeltaInsert, InsertDelta } from '../module/custom-types'\nimport { deepEquals } from './object'\n\nexport function normalizeInsertDelta(delta: InsertDelta): InsertDelta {\n const normalized: InsertDelta = []\n\n for (const element of delta) {\n if (typeof element.insert === 'string' && element.insert.length === 0) {\n continue\n }\n\n const prev = normalized[normalized.length - 1]\n if (!prev || typeof prev.insert !== 'string' || typeof element.insert !== 'string') {\n normalized.push(element)\n continue\n }\n\n const merge =\n prev.attributes === element.attributes ||\n (!prev.attributes === !element.attributes &&\n deepEquals(prev.attributes ?? {}, element.attributes ?? {}))\n\n if (merge) {\n prev.insert += element.insert\n continue\n }\n\n normalized.push(element)\n }\n\n return normalized\n}\n\nexport function yTextToInsertDelta(yText: Y.XmlText): InsertDelta {\n return normalizeInsertDelta(yText.toDelta())\n}\n\nexport function getInsertLength({ insert }: DeltaInsert): number {\n return typeof insert === 'string' ? insert.length : 1\n}\n\nexport function getInsertDeltaLength(delta: InsertDelta): number {\n return delta.reduce((curr, element) => curr + getInsertLength(element), 0)\n}\n\nexport function sliceInsertDelta(delta: InsertDelta, start: number, length: number): InsertDelta {\n if (length < 1) {\n return []\n }\n\n let currentOffset = 0\n const sliced: InsertDelta = []\n const end = start + length\n\n for (let i = 0; i < delta.length; i++) {\n if (currentOffset >= end) {\n break\n }\n\n const element = delta[i]\n const elementLength = getInsertLength(element)\n\n if (currentOffset + elementLength <= start) {\n currentOffset += elementLength\n continue\n }\n\n if (typeof element.insert !== 'string') {\n currentOffset += elementLength\n sliced.push(element)\n continue\n }\n\n const startOffset = Math.max(0, start - currentOffset)\n const endOffset = Math.min(elementLength, elementLength - (currentOffset + elementLength - end))\n\n sliced.push({\n ...element,\n insert: element.insert.slice(startOffset, endOffset),\n })\n currentOffset += elementLength\n }\n\n return sliced\n}\n","import { BaseText, Descendant, Text } from 'slate'\nimport { omit } from './object'\n\nexport function getProperties<TNode extends Descendant>(\n node: TNode\n): Omit<TNode, TNode extends BaseText ? 'text' : 'children'> {\n return omit(node, (Text.isText(node) ? 'text' : 'children') as keyof TNode) as Omit<\n TNode,\n TNode extends BaseText ? 'text' : 'children'\n >\n}\n","import { Element, Node, Text } from 'slate'\nimport * as Y from 'yjs'\nimport { DeltaInsert, InsertDelta } from '../module/custom-types'\nimport { yTextToInsertDelta } from './delta'\nimport { getProperties } from './slate'\n\nexport function yTextToSlateElement(yText: Y.XmlText): Element {\n const delta = yTextToInsertDelta(yText)\n\n const children = delta.length > 0 ? delta.map(deltaInsertToSlateNode) : [{ text: '' }]\n\n return { ...yText.getAttributes(), children }\n}\n\nexport function deltaInsertToSlateNode(insert: DeltaInsert): Node {\n if (typeof insert.insert === 'string') {\n return { ...insert.attributes, text: insert.insert }\n }\n\n return yTextToSlateElement(insert.insert)\n}\n\nexport function slateNodesToInsertDelta(nodes: Node[]): InsertDelta {\n return nodes.map(node => {\n if (Text.isText(node)) {\n return { insert: node.text, attributes: getProperties(node) }\n }\n\n // eslint-disable-next-line @typescript-eslint/no-use-before-define\n return { insert: slateElementToYText(node) }\n })\n}\n\nexport function slateElementToYText({ children, ...attributes }: Element): Y.XmlText {\n const yElement = new Y.XmlText()\n\n Object.entries(attributes).forEach(([key, value]) => {\n yElement.setAttribute(key, value)\n })\n\n yElement.applyDelta(slateNodesToInsertDelta(children), { sanitize: false })\n return yElement\n}\n","'use strict';\nvar $ = require('../internals/export');\nvar global = require('../internals/global');\nvar fails = require('../internals/fails');\nvar isArray = require('../internals/is-array');\nvar isObject = require('../internals/is-object');\nvar toObject = require('../internals/to-object');\nvar lengthOfArrayLike = require('../internals/length-of-array-like');\nvar createProperty = require('../internals/create-property');\nvar arraySpeciesCreate = require('../internals/array-species-create');\nvar arrayMethodHasSpeciesSupport = require('../internals/array-method-has-species-support');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\nvar V8_VERSION = require('../internals/engine-v8-version');\n\nvar IS_CONCAT_SPREADABLE = wellKnownSymbol('isConcatSpreadable');\nvar MAX_SAFE_INTEGER = 0x1FFFFFFFFFFFFF;\nvar MAXIMUM_ALLOWED_INDEX_EXCEEDED = 'Maximum allowed index exceeded';\nvar TypeError = global.TypeError;\n\n// We can't use this feature detection in V8 since it causes\n// deoptimization and serious performance degradation\n// https://github.com/zloirock/core-js/issues/679\nvar IS_CONCAT_SPREADABLE_SUPPORT = V8_VERSION >= 51 || !fails(function () {\n var array = [];\n array[IS_CONCAT_SPREADABLE] = false;\n return array.concat()[0] !== array;\n});\n\nvar SPECIES_SUPPORT = arrayMethodHasSpeciesSupport('concat');\n\nvar isConcatSpreadable = function (O) {\n if (!isObject(O)) return false;\n var spreadable = O[IS_CONCAT_SPREADABLE];\n return spreadable !== undefined ? !!spreadable : isArray(O);\n};\n\nvar FORCED = !IS_CONCAT_SPREADABLE_SUPPORT || !SPECIES_SUPPORT;\n\n// `Array.prototype.concat` method\n// https://tc39.es/ecma262/#sec-array.prototype.concat\n// with adding support of @@isConcatSpreadable and @@species\n$({ target: 'Array', proto: true, forced: FORCED }, {\n // eslint-disable-next-line no-unused-vars -- required for `.length`\n concat: function concat(arg) {\n var O = toObject(this);\n var A = arraySpeciesCreate(O, 0);\n var n = 0;\n var i, k, length, len, E;\n for (i = -1, length = arguments.length; i < length; i++) {\n E = i === -1 ? O : arguments[i];\n if (isConcatSpreadable(E)) {\n len = lengthOfArrayLike(E);\n if (n + len > MAX_SAFE_INTEGER) throw TypeError(MAXIMUM_ALLOWED_INDEX_EXCEEDED);\n for (k = 0; k < len; k++, n++) if (k in E) createProperty(A, n, E[k]);\n } else {\n if (n >= MAX_SAFE_INTEGER) throw TypeError(MAXIMUM_ALLOWED_INDEX_EXCEEDED);\n createProperty(A, n++, E);\n }\n }\n A.length = n;\n return A;\n }\n});\n","import { Element, Node, Path, Text } from 'slate'\nimport * as Y from 'yjs'\nimport { YTarget } from '../module/custom-types'\nimport { sliceInsertDelta, yTextToInsertDelta } from './delta'\n\nexport function getSlateNodeYLength(node: Node | undefined): number {\n if (!node) {\n return 0\n }\n\n return Text.isText(node) ? node.text.length : 1\n}\n\nexport function slatePathOffsetToYOffset(element: Element, pathOffset: number) {\n return element.children\n .slice(0, pathOffset)\n .reduce((yOffset, node) => yOffset + getSlateNodeYLength(node), 0)\n}\n\nexport function getYTarget(yRoot: Y.XmlText, slateRoot: Node, path: Path): YTarget {\n if (path.length === 0) {\n throw new Error('Path has to a have a length >= 1')\n }\n\n if (Text.isText(slateRoot)) {\n throw new Error('Cannot descent into slate text')\n }\n\n const [pathOffset, ...childPath] = path\n\n const yOffset = slatePathOffsetToYOffset(slateRoot, pathOffset)\n const targetNode = slateRoot.children[pathOffset]\n\n const delta = yTextToInsertDelta(yRoot)\n const targetLength = getSlateNodeYLength(targetNode)\n\n const targetDelta = sliceInsertDelta(delta, yOffset, targetLength)\n if (targetDelta.length > 1) {\n throw new Error(\"Path doesn't match yText, yTarget spans multiple nodes\")\n }\n\n const yTarget = targetDelta[0]?.insert\n if (childPath.length > 0) {\n if (!(yTarget instanceof Y.XmlText)) {\n throw new Error(\"Path doesn't match yText, cannot descent into non-yText\")\n }\n\n return getYTarget(yTarget, targetNode, childPath)\n }\n\n return {\n yParent: yRoot,\n textRange: { start: yOffset, end: yOffset + targetLength },\n yTarget: yTarget instanceof Y.XmlText ? yTarget : undefined,\n slateParent: slateRoot,\n slateTarget: targetNode,\n targetDelta,\n }\n}\n\nexport function yOffsetToSlateOffsets(\n parent: Element,\n yOffset: number,\n opts: { assoc?: number; insert?: boolean } = {}\n): [number, number] {\n const { assoc = 0, insert = false } = opts\n\n let currentOffset = 0\n let lastNonEmptyPathOffset = 0\n for (let pathOffset = 0; pathOffset < parent.children.length; pathOffset++) {\n const child = parent.children[pathOffset]\n const nodeLength = Text.isText(child) ? child.text.length : 1\n\n if (nodeLength > 0) {\n lastNonEmptyPathOffset = pathOffset\n }\n\n const endOffset = currentOffset + nodeLength\n if (nodeLength > 0 && (assoc >= 0 ? endOffset > yOffset : endOffset >= yOffset)) {\n return [pathOffset, yOffset - currentOffset]\n }\n\n currentOffset += nodeLength\n }\n\n if (yOffset > currentOffset + (insert ? 1 : 0)) {\n throw new Error('yOffset out of bounds')\n }\n\n if (insert) {\n return [parent.children.length, 0]\n }\n\n const child = parent.children[lastNonEmptyPathOffset]\n const textOffset = Text.isText(child) ? child.text.length : 1\n return [lastNonEmptyPathOffset, textOffset]\n}\n\nexport function getSlatePath(sharedRoot: Y.XmlText, slateRoot: Node, yText: Y.XmlText): Path {\n const yNodePath = [yText]\n while (yNodePath[0] !== sharedRoot) {\n const { parent: yParent } = yNodePath[0]\n\n if (!yParent) {\n throw new Error(\"yText isn't a descendant of root element\")\n }\n\n if (!(yParent instanceof Y.XmlText)) {\n throw new Error('Unexpected y parent type')\n }\n\n yNodePath.unshift(yParent)\n }\n\n if (yNodePath.length < 2) {\n return []\n }\n\n let slateParent = slateRoot\n return yNodePath.reduce<Path>((path, yParent, idx) => {\n const yChild = yNodePath[idx + 1]\n if (!yChild) {\n return path\n }\n\n let yOffset = 0\n const currentDelta = yTextToInsertDelta(yParent)\n for (const element of currentDelta) {\n if (element.insert === yChild) {\n break\n }\n\n yOffset += typeof element.insert === 'string' ? element.insert.length : 1\n }\n\n if (Text.isText(slateParent)) {\n throw new Error('Cannot descent into slate text')\n }\n\n const [pathOffset] = yOffsetToSlateOffsets(slateParent, yOffset)\n slateParent = slateParent.children[pathOffset]\n return path.concat(pathOffset)\n }, [])\n}\n","import { BaseElement, Editor, Element, Node, Operation, Path, Text } from 'slate'\nimport * as Y from 'yjs'\nimport { Delta } from '../module/custom-types'\nimport { deltaInsertToSlateNode } from '../utils/convert'\nimport { getSlateNodeYLength, getSlatePath, yOffsetToSlateOffsets } from '../utils/location'\nimport { deepEquals, omitNullEntries, pick } from '../utils/object'\nimport { getProperties } from '../utils/slate'\n\nfunction applyDelta(node: Element, slatePath: Path, delta: Delta): Operation[] {\n const ops: Operation[] = []\n\n let yOffset = delta.reduce((length, change) => {\n if ('retain' in change) {\n return length + change.retain\n }\n\n if ('delete' in change) {\n return length + change.delete\n }\n\n return length\n }, 0)\n\n // Apply changes in reverse order to avoid path changes.\n delta.reverse().forEach(change => {\n if ('attributes' in change && 'retain' in change) {\n const [startPathOffset, startTextOffset] = yOffsetToSlateOffsets(\n node,\n yOffset - change.retain\n )\n const [endPathOffset, endTextOffset] = yOffsetToSlateOffsets(node, yOffset, { assoc: -1 })\n\n for (let pathOffset = endPathOffset; pathOffset >= startPathOffset; pathOffset--) {\n const child = node.children[pathOffset]\n const childPath = [...slatePath, pathOffset]\n\n if (!Text.isText(child)) {\n // Ignore attribute updates on non-text nodes (which are backed by Y.XmlText)\n // to be consistent with deltaInsertToSlateNode. Y.XmlText attributes don't show\n // up in deltas but in key changes (YEvent.changes.keys).\n continue\n }\n\n const newProperties = change.attributes\n const properties = pick(node, ...(Object.keys(change.attributes) as Array<keyof Element>))\n\n if (pathOffset === startPathOffset || pathOffset === endPathOffset) {\n const start = pathOffset === startPathOffset ? startTextOffset : 0\n const end = pathOffset === endPathOffset ? endTextOffset : child.text.length\n\n if (end !== child.text.length) {\n ops.push({\n type: 'split_node',\n path: childPath,\n position: end,\n properties: getProperties(child),\n })\n }\n\n if (start !== 0) {\n ops.push({\n type: 'split_node',\n path: childPath,\n position: start,\n properties: omitNullEntries({\n ...getProperties(child),\n ...newProperties,\n }),\n })\n\n continue\n }\n }\n\n ops.push({\n type: 'set_node',\n newProperties,\n path: childPath,\n properties,\n })\n }\n }\n\n if ('retain' in change) {\n yOffset -= change.retain\n }\n\n if ('delete' in change) {\n const [startPathOffset, startTextOffset] = yOffsetToSlateOffsets(\n node,\n yOffset - change.delete\n )\n const [endPathOffset, endTextOffset] = yOffsetToSlateOffsets(node, yOffset, { assoc: -1 })\n\n for (\n let pathOffset = endTextOffset === 0 ? endPathOffset - 1 : endPathOffset;\n pathOffset >= startPathOffset;\n pathOffset--\n ) {\n const child = node.children[pathOffset]\n const childPath = [...slatePath, pathOffset]\n\n if (\n Text.isText(child) &&\n (pathOffset === startPathOffset || pathOffset === endPathOffset)\n ) {\n const start = pathOffset === startPathOffset ? startTextOffset : 0\n const end = pathOffset === endPathOffset ? endTextOffset : child.text.length\n\n ops.push({\n type: 'remove_text',\n offset: start,\n text: child.text.slice(start, end),\n path: childPath,\n })\n\n yOffset -= end - start\n continue\n }\n\n ops.push({\n type: 'remove_node',\n node: child,\n path: childPath,\n })\n yOffset -= getSlateNodeYLength(child)\n }\n\n return\n }\n\n if ('insert' in change) {\n const [pathOffset, textOffset] = yOffsetToSlateOffsets(node, yOffset, {\n insert: true,\n })\n const child = node.children[pathOffset]\n const childPath = [...slatePath, pathOffset]\n\n if (Text.isText(child)) {\n const lastOp = ops[ops.length - 1]\n\n /**\n * The props that exist at the current path\n * Since we're not actually using slate to update the node\n * this is a simulation\n */\n const currentProps =\n lastOp != null && lastOp.type === 'insert_node' ? lastOp.node : getProperties(child)\n\n let lastPath: Path = []\n\n if (\n lastOp != null &&\n (lastOp.type === 'insert_node' ||\n lastOp.type === 'insert_text' ||\n lastOp.type === 'split_node' ||\n lastOp.type === 'set_node')\n ) {\n lastPath = lastOp.path\n }\n\n /**\n * If the insert is a string and the attributes are the same as the\n * props at the current path, we can just insert a text node\n */\n if (\n typeof change.insert === 'string' &&\n deepEquals(change.attributes ?? {}, currentProps) &&\n Path.equals(childPath, lastPath)\n ) {\n return ops.push({\n type: 'insert_text',\n offset: textOffset,\n text: change.insert,\n path: childPath,\n })\n }\n\n const toInsert = deltaInsertToSlateNode(change)\n if (textOffset === 0) {\n return ops.push({\n type: 'insert_node',\n path: childPath,\n node: toInsert,\n })\n }\n\n if (textOffset < child.text.length) {\n ops.push({\n type: 'split_node',\n path: childPath,\n position: textOffset,\n properties: getProperties(child),\n })\n }\n\n return ops.push({\n type: 'insert_node',\n path: Path.next(childPath),\n node: toInsert,\n })\n }\n\n return ops.push({\n type: 'insert_node',\n path: childPath,\n node: deltaInsertToSlateNode(change),\n })\n }\n })\n\n return ops\n}\n\nexport function translateYTextEvent(\n sharedRoot: Y.XmlText,\n editor: Editor,\n event: Y.YTextEvent\n): Operation[] {\n const { target, changes } = event\n const delta = event.delta as Delta\n\n if (!(target instanceof Y.XmlText)) {\n throw new Error('Unexpected target node type')\n }\n\n const ops: Operation[] = []\n const slatePath = getSlatePath(sharedRoot, editor, target)\n const targetElement = Node.get(editor, slatePath)\n\n if (Text.isText(targetElement)) {\n throw new Error('Cannot apply yTextEvent to text node')\n }\n\n const keyChanges = Array.from(changes.keys.entries())\n if (slatePath.length > 0 && keyChanges.length > 0) {\n const newProperties = Object.fromEntries(\n keyChanges.map(([key, info]) => [\n key,\n info.action === 'delete' ? null : target.getAttribute(key),\n ])\n )\n\n const properties = Object.fromEntries(keyChanges.map(([key]) => [key, targetElement[key]]))\n\n ops.push({ type: 'set_node', newProperties, properties, path: slatePath })\n }\n\n if (delta.length > 0) {\n ops.push(...applyDelta(targetElement, slatePath, delta))\n }\n\n return ops\n}\n","import { Editor, Operation } from 'slate'\nimport * as Y from 'yjs'\nimport { translateYTextEvent } from './textEvent'\n\n/**\n * Translate a yjs event into slate operations. The editor state has to match the\n * yText state before the event occurred.\n *\n * @param sharedType\n * @param op\n */\nexport function translateYjsEvent(\n sharedRoot: Y.XmlText,\n editor: Editor,\n event: Y.YEvent<Y.XmlText>\n): Operation[] {\n if (event instanceof Y.YTextEvent) {\n return translateYTextEvent(sharedRoot, editor, event)\n }\n\n throw new Error('Unexpected Y event type')\n}\n\n/**\n * Translates yjs events into slate operations and applies them to the editor. The\n * editor state has to match the yText state before the events occurred.\n *\n * @param sharedRoot\n * @param editor\n * @param events\n */\nexport function applyYjsEvents(\n sharedRoot: Y.XmlText,\n editor: Editor,\n events: Y.YEvent<Y.XmlText>[]\n) {\n Editor.withoutNormalizing(editor, () => {\n events.forEach(event => {\n translateYjsEvent(sharedRoot, editor, event).forEach(op => {\n editor.apply(op)\n })\n })\n })\n}\n","import * as Y from 'yjs'\nimport { InsertDelta } from '../module/custom-types'\nimport { yTextToInsertDelta } from './delta'\n\nexport function cloneInsertDeltaDeep(delta: InsertDelta): InsertDelta {\n return delta.map(element => {\n if (typeof element.insert === 'string') {\n return element\n }\n\n // eslint-disable-next-line @typescript-eslint/no-use-before-define\n return { ...element, insert: cloneDeep(element.insert) }\n })\n}\n\nexport function cloneDeep(yText: Y.XmlText): Y.XmlText {\n const clone = new Y.XmlText()\n\n const attributes = yText.getAttributes()\n Object.entries(attributes).forEach(([key, value]) => {\n clone.setAttribute(key, value)\n })\n\n clone.applyDelta(cloneInsertDeltaDeep(yTextToInsertDelta(yText)), {\n sanitize: false,\n })\n\n return clone\n}\n","'use strict';\nvar DESCRIPTORS = require('../internals/descriptors');\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar call = require('../internals/function-call');\nvar fails = require('../internals/fails');\nvar objectKeys = require('../internals/object-keys');\nvar getOwnPropertySymbolsModule = require('../internals/object-get-own-property-symbols');\nvar propertyIsEnumerableModule = require('../internals/object-property-is-enumerable');\nvar toObject = require('../internals/to-object');\nvar IndexedObject = require('../internals/indexed-object');\n\n// eslint-disable-next-line es/no-object-assign -- safe\nvar $assign = Object.assign;\n// eslint-disable-next-line es/no-object-defineproperty -- required for testing\nvar defineProperty = Object.defineProperty;\nvar concat = uncurryThis([].concat);\n\n// `Object.assign` method\n// https://tc39.es/ecma262/#sec-object.assign\nmodule.exports = !$assign || fails(function () {\n // should have correct order of operations (Edge bug)\n if (DESCRIPTORS && $assign({ b: 1 }, $assign(defineProperty({}, 'a', {\n enumerable: true,\n get: function () {\n defineProperty(this, 'b', {\n value: 3,\n enumerable: false\n });\n }\n }), { b: 2 })).b !== 1) return true;\n // should work with symbols and should have deterministic property order (V8 bug)\n var A = {};\n var B = {};\n // eslint-disable-next-line es/no-symbol -- safe\n var symbol = Symbol();\n var alphabet = 'abcdefghijklmnopqrst';\n A[symbol] = 7;\n alphabet.split('').forEach(function (chr) { B[chr] = chr; });\n return $assign({}, A)[symbol] != 7 || objectKeys($assign({}, B)).join('') != alphabet;\n}) ? function assign(target, source) { // eslint-disable-line no-unused-vars -- required for `.length`\n var T = toObject(target);\n var argumentsLength = arguments.length;\n var index = 1;\n var getOwnPropertySymbols = getOwnPropertySymbolsModule.f;\n var propertyIsEnumerable = propertyIsEnumerableModule.f;\n while (argumentsLength > index) {\n var S = IndexedObject(arguments[index++]);\n var keys = getOwnPropertySymbols ? concat(objectKeys(S), getOwnPropertySymbols(S)) : objectKeys(S);\n var length = keys.length;\n var j = 0;\n var key;\n while (length > j) {\n key = keys[j++];\n if (!DESCRIPTORS || call(propertyIsEnumerable, S, key)) T[key] = S[key];\n }\n } return T;\n} : $assign;\n","var $ = require('../internals/export');\nvar assign = require('../internals/object-assign');\n\n// `Object.assign` method\n// https://tc39.es/ecma262/#sec-object.assign\n// eslint-disable-next-line es/no-object-assign -- required for testing\n$({ target: 'Object', stat: true, forced: Object.assign !== assign }, {\n assign: assign\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 $ = require('../internals/export');\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar getOwnPropertyDescriptor = require('../internals/object-get-own-property-descriptor').f;\nvar toLength = require('../internals/to-length');\nvar toString = require('../internals/to-string');\nvar notARegExp = require('../internals/not-a-regexp');\nvar requireObjectCoercible = require('../internals/require-object-coercible');\nvar correctIsRegExpLogic = require('../internals/correct-is-regexp-logic');\nvar IS_PURE = require('../internals/is-pure');\n\n// eslint-disable-next-line es/no-string-prototype-startswith -- safe\nvar un$StartsWith = uncurryThis(''.startsWith);\nvar stringSlice = uncurryThis(''.slice);\nvar min = Math.min;\n\nvar CORRECT_IS_REGEXP_LOGIC = correctIsRegExpLogic('startsWith');\n// https://github.com/zloirock/core-js/pull/702\nvar MDN_POLYFILL_BUG = !IS_PURE && !CORRECT_IS_REGEXP_LOGIC && !!function () {\n var descriptor = getOwnPropertyDescriptor(String.prototype, 'startsWith');\n return descriptor && !descriptor.writable;\n}();\n\n// `String.prototype.startsWith` method\n// https://tc39.es/ecma262/#sec-string.prototype.startswith\n$({ target: 'String', proto: true, forced: !MDN_POLYFILL_BUG && !CORRECT_IS_REGEXP_LOGIC }, {\n startsWith: function startsWith(searchString /* , position = 0 */) {\n var that = toString(requireObjectCoercible(this));\n notARegExp(searchString);\n var index = toLength(min(arguments.length > 1 ? arguments[1] : undefined, that.length));\n var search = toString(searchString);\n return un$StartsWith\n ? un$StartsWith(that, search, index)\n : stringSlice(that, index, index + search.length) === search;\n }\n});\n","var global = require('../internals/global');\nvar isRegExp = require('../internals/is-regexp');\n\nvar TypeError = global.TypeError;\n\nmodule.exports = function (it) {\n if (isRegExp(it)) {\n throw TypeError(\"The method doesn't accept regular expressions\");\n } return it;\n};\n","var wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar MATCH = wellKnownSymbol('match');\n\nmodule.exports = function (METHOD_NAME) {\n var regexp = /./;\n try {\n '/./'[METHOD_NAME](regexp);\n } catch (error1) {\n try {\n regexp[MATCH] = false;\n return '/./'[METHOD_NAME](regexp);\n } catch (error2) { /* empty */ }\n } return false;\n};\n","var uncurryThis = require('../internals/function-uncurry-this');\nvar requireObjectCoercible = require('../internals/require-object-coercible');\nvar toString = require('../internals/to-string');\n\nvar quot = /\"/g;\nvar replace = uncurryThis(''.replace);\n\n// `CreateHTML` abstract operation\n// https://tc39.es/ecma262/#sec-createhtml\nmodule.exports = function (string, tag, attribute, value) {\n var S = toString(requireObjectCoercible(string));\n var p1 = '<' + tag;\n if (attribute !== '') p1 += ' ' + attribute + '=\"' + replace(toString(value), quot, '&quot;') + '\"';\n return p1 + '>' + S + '</' + tag + '>';\n};\n","import * as Y from 'yjs'\n\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nexport function assertDocumentAttachment<T extends Y.AbstractType<any>>(\n sharedType: T\n): asserts sharedType is T & { doc: NonNullable<T['doc']> } {\n if (!sharedType.doc) {\n throw new Error(\"shared type isn't attached to a document\")\n }\n}\n","'use strict';\nvar $ = require('../internals/export');\nvar createHTML = require('../internals/create-html');\nvar forcedStringHTMLMethod = require('../internals/string-html-forced');\n\n// `String.prototype.anchor` method\n// https://tc39.es/ecma262/#sec-string.prototype.anchor\n$({ target: 'String', proto: true, forced: forcedStringHTMLMethod('anchor') }, {\n anchor: function anchor(name) {\n return createHTML(this, 'a', 'name', name);\n }\n});\n","var fails = require('../internals/fails');\n\n// check the existence of a method, lowercase\n// of a tag and escaping quotes in arguments\nmodule.exports = function (METHOD_NAME) {\n return fails(function () {\n var test = ''[METHOD_NAME]('\"');\n return test !== test.toLowerCase() || test.split('\"').length > 3;\n });\n};\n","import { BasePoint, BaseRange, Node, Text } from 'slate'\nimport * as Y from 'yjs'\nimport { InsertDelta, RelativeRange, TextRange } from '../module/custom-types'\nimport { getInsertDeltaLength, yTextToInsertDelta } from './delta'\nimport { getSlatePath, getYTarget, yOffsetToSlateOffsets } from './location'\nimport { assertDocumentAttachment } from './yjs'\n\nexport const STORED_POSITION_PREFIX = '__slateYjsStoredPosition_'\n\nexport function slatePointToRelativePosition(\n sharedRoot: Y.XmlText,\n slateRoot: Node,\n point: BasePoint\n): Y.RelativePosition {\n const { yTarget, yParent, textRange } = getYTarget(sharedRoot, slateRoot, point.path)\n\n if (yTarget) {\n throw new Error('Slate point points to a non-text element inside sharedRoot')\n }\n\n const index = textRange.start + point.offset\n return Y.createRelativePositionFromTypeIndex(yParent, index, index === textRange.end ? -1 : 0)\n}\n\nexport function absolutePositionToSlatePoint(\n sharedRoot: Y.XmlText,\n slateRoot: Node,\n { type, index, assoc }: Y.AbsolutePosition\n): BasePoint | null {\n if (!(type instanceof Y.XmlText)) {\n throw new Error('Absolute position points to a non-XMLText')\n }\n\n const parentPath = getSlatePath(sharedRoot, slateRoot, type)\n const parent = Node.get(slateRoot, parentPath)\n\n if (Text.isText(parent)) {\n throw new Error(\"Absolute position doesn't match slateRoot, cannot descent into text\")\n }\n\n const [pathOffset, textOffset] = yOffsetToSlateOffsets(parent, index, {\n assoc,\n })\n\n const target = parent.children[pathOffset]\n if (!Text.isText(target)) {\n return null\n }\n\n return { path: [...parentPath, pathOffset], offset: textOffset }\n}\n\nexport function relativePositionToSlatePoint(\n sharedRoot: Y.XmlText,\n slateRoot: Node,\n pos: Y.RelativePosition\n): BasePoint | null {\n if (!sharedRoot.doc) {\n throw new Error(\"sharedRoot isn't attach to a yDoc\")\n }\n\n const absPos = Y.createAbsolutePositionFromRelativePosition(pos, sharedRoot.doc)\n\n return absPos && absolutePositionToSlatePoint(sharedRoot, slateRoot, absPos)\n}\n\nexport function getStoredPosition(sharedRoot: Y.XmlText, key: string): Y.RelativePosition | null {\n const rawPosition = sharedRoot.getAttribute(STORED_POSITION_PREFIX + key)\n if (!rawPosition) {\n return null\n }\n\n return Y.decodeRelativePosition(rawPosition)\n}\n\nexport function getStoredPositions(sharedRoot: Y.XmlText): Record<string, Y.RelativePosition> {\n return Object.fromEntries(\n Object.entries(sharedRoot.getAttributes())\n .filter(([key]) => key.startsWith(STORED_POSITION_PREFIX))\n .map(([key, position]) => [\n key.slice(STORED_POSITION_PREFIX.length),\n Y.createRelativePositionFromJSON(position),\n ])\n )\n}\n\nfunction getStoredPositionsAbsolute(sharedRoot: Y.XmlText) {\n assertDocumentAttachment(sharedRoot)\n\n return Object.fromEntries(\n Object.entries(sharedRoot.getAttributes())\n .filter(([key]) => key.startsWith(STORED_POSITION_PREFIX))\n .map(\n ([key, position]) =>\n [\n key.slice(STORED_POSITION_PREFIX.length),\n Y.createAbsolutePositionFromRelativePosition(\n Y.decodeRelativePosition(position),\n sharedRoot.doc\n ),\n ] as const\n )\n .filter(([, position]) => position)\n ) as Record<string, Y.AbsolutePosition>\n}\n\nexport function removeStoredPosition(sharedRoot: Y.XmlText, key: string) {\n sharedRoot.removeAttribute(STORED_POSITION_PREFIX + key)\n}\n\nexport function setStoredPosition(\n sharedRoot: Y.XmlText,\n key: string,\n position: Y.RelativePosition\n) {\n sharedRoot.setAttribute(STORED_POSITION_PREFIX + key, Y.encodeRelativePosition(position))\n}\n\nfunction getAbsolutePositionsInTextRange(\n absolutePositions: Record<string, Y.AbsolutePosition>,\n yTarget: Y.XmlText,\n textRange?: TextRange\n) {\n return Object.fromEntries(\n Object.entries(absolutePositions).filter(([, position]) => {\n if (position.type !== yTarget) {\n return false\n }\n\n if (!textRange) {\n return true\n }\n\n return position.assoc >= 0\n ? position.index >= textRange.start && position.index < textRange.end\n : position.index > textRange.start && position.index >= textRange.end\n })\n )\n}\n\nfunction getAbsolutePositionsInYText(\n absolutePositions: Record<string, Y.AbsolutePosition>,\n yText: Y.XmlText,\n parentPath = ''\n): Record<string, Record<string, Y.AbsolutePosition>> {\n const positions = {\n [parentPath]: getAbsolutePositionsInTextRange(absolutePositions, yText),\n }\n\n const insertDelta = yTextToInsertDelta(yText)\n insertDelta.forEach(({ insert }, i) => {\n if (insert instanceof Y.XmlText) {\n Object.assign(\n positions,\n getAbsolutePositionsInYText(\n absolutePositions,\n insert,\n parentPath ? `${parentPath}.${i}` : i.toString()\n )\n )\n }\n })\n\n return positions\n}\n\nexport function getStoredPositionsInDeltaAbsolute(\n sharedRoot: Y.XmlText,\n yText: Y.XmlText,\n delta: InsertDelta,\n deltaOffset = 0\n) {\n const absolutePositions = getStoredPositionsAbsolute(sharedRoot)\n\n const positions = {\n '': getAbsolutePositionsInTextRange(absolutePositions, yText, {\n start: deltaOffset,\n end: deltaOffset + getInsertDeltaLength(delta),\n }),\n }\n\n delta.forEach(({ insert }, i) => {\n if (insert instanceof Y.XmlText) {\n Object.assign(positions, getAbsolutePositionsInYText(absolutePositions, insert, i.toString()))\n }\n })\n\n return positions\n}\n\nexport function restoreStoredPositionsWithDeltaAbsolute(\n sharedRoot: Y.XmlText,\n yText: Y.XmlText,\n absolutePositions: Record<string, Record<string, Y.AbsolutePosition>>,\n delta: InsertDelta,\n newDeltaOffset = 0,\n previousDeltaOffset = 0,\n path = ''\n) {\n const toRestore = absolutePositions[path]\n\n if (toRestore) {\n Object.entries(toRestore).forEach(([key, position]) => {\n setStoredPosition(\n sharedRoot,\n key,\n Y.createRelativePositionFromTypeIndex(\n yText,\n position.index - previousDeltaOffset + newDeltaOffset,\n position.assoc\n )\n )\n })\n }\n\n delta.forEach(({ insert }, i) => {\n if (insert instanceof Y.XmlText) {\n restoreStoredPositionsWithDeltaAbsolute(\n sharedRoot,\n insert,\n absolutePositions,\n yTextToInsertDelta(insert),\n 0,\n 0,\n path ? `${path}.${i}` : i.toString()\n )\n }\n })\n}\n\nexport function slateRangeToRelativeRange(\n sharedRoot: Y.XmlText,\n slateRoot: Node,\n range: BaseRange\n): RelativeRange {\n return {\n anchor: slatePointToRelativePosition(sharedRoot, slateRoot, range.anchor),\n focus: slatePointToRelativePosition(sharedRoot, slateRoot, range.focus),\n }\n}\n\nexport function relativeRangeToSlateRange(\n sharedRoot: Y.XmlText,\n slateRoot: Node,\n range: RelativeRange\n): BaseRange | null {\n const anchor = relativePositionToSlatePoint(sharedRoot, slateRoot, range.anchor)\n\n if (!anchor) {\n return null\n }\n\n const focus = relativePositionToSlatePoint(sharedRoot, slateRoot, range.focus)\n\n if (!focus) {\n return null\n }\n\n return { anchor, focus }\n}\n","import { NodeOperation } from 'slate'\nimport { OpMapper } from '../types'\nimport { insertNode } from './insertNode'\nimport { mergeNode } from './mergeNode'\nimport { moveNode } from './moveNode'\nimport { removeNode } from './removeNode'\nimport { setNode } from './setNode'\nimport { splitNode } from './splitNode'\n\nexport const NODE_MAPPER: OpMapper<NodeOperation> = {\n insert_node: insertNode,\n remove_node: removeNode,\n set_node: setNode,\n merge_node: mergeNode,\n move_node: moveNode,\n split_node: splitNode,\n}\n","import { InsertNodeOperation, Node, Text } from 'slate'\nimport * as Y from 'yjs'\nimport { slateElementToYText } from '../../utils/convert'\nimport { getYTarget } from '../../utils/location'\nimport { getProperties } from '../../utils/slate'\n\nexport function insertNode(sharedRoot: Y.XmlText, slateRoot: Node, op: InsertNodeOperation): void {\n const { yParent, textRange } = getYTarget(sharedRoot, slateRoot, op.path)\n\n if (Text.isText(op.node)) {\n return yParent.insert(textRange.start, op.node.text, getProperties(op.node))\n }\n\n yParent.insertEmbed(textRange.start, slateElementToYText(op.node))\n}\n","import { Node, RemoveNodeOperation } from 'slate'\nimport * as Y from 'yjs'\nimport { getYTarget } from '../../utils/location'\n\nexport function removeNode(sharedRoot: Y.XmlText, slateRoot: Node, op: RemoveNodeOperation): void {\n const { yParent: parent, textRange } = getYTarget(sharedRoot, slateRoot, op.path)\n parent.delete(textRange.start, textRange.end - textRange.start)\n}\n","import { Node, SetNodeOperation } from 'slate'\nimport * as Y from 'yjs'\nimport { getYTarget } from '../../utils/location'\n\nexport function setNode(sharedRoot: Y.XmlText, slateRoot: Node, op: SetNodeOperation): void {\n const { yTarget, textRange, yParent } = getYTarget(sharedRoot, slateRoot, op.path)\n\n if (yTarget) {\n Object.entries(op.newProperties).forEach(([key, value]) => {\n if (value === null) {\n return yTarget.removeAttribute(key)\n }\n\n yTarget.setAttribute(key, value)\n })\n\n return Object.entries(op.properties).forEach(([key]) => {\n if (!Object.prototype.hasOwnProperty.call(op.newProperties, key)) {\n yTarget.removeAttribute(key)\n }\n })\n }\n\n const unset = Object.fromEntries(Object.keys(op.properties).map(key => [key, null]))\n const newProperties = { ...unset, ...op.newProperties }\n\n yParent.format(textRange.start, textRange.end - textRange.start, newProperties)\n}\n","import { MergeNodeOperation, Node, Path, Text } from 'slate'\nimport * as Y from 'yjs'\nimport { Delta } from '../../module/custom-types'\nimport { cloneInsertDeltaDeep } from '../../utils/clone'\nimport { yTextToInsertDelta } from '../../utils/delta'\nimport { getYTarget } from '../../utils/location'\nimport {\n getStoredPositionsInDeltaAbsolute,\n restoreStoredPositionsWithDeltaAbsolute,\n} from '../../utils/position'\nimport { getProperties } from '../../utils/slate'\n\nexport function mergeNode(sharedRoot: Y.XmlText, slateRoot: Node, op: MergeNodeOperation): void {\n const target = getYTarget(sharedRoot, slateRoot, op.path)\n const prev = getYTarget(target.yParent, target.slateParent, Path.previous(op.path.slice(-1)))\n\n if (!target.yTarget !== !prev.yTarget) {\n throw new Error('Cannot merge y text with y element')\n }\n\n if (!prev.yTarget || !target.yTarget) {\n const { yParent: parent, textRange, slateTarget } = target\n if (!slateTarget) {\n throw new Error('Expected Slate target node for merge op.')\n }\n\n const prevSibling = Node.get(slateRoot, Path.previous(op.path))\n if (!Text.isText(prevSibling)) {\n throw new Error('Path points to Y.Text but not a Slate text node.')\n }\n\n const targetProps = getProperties(slateTarget)\n const prevSiblingProps = getProperties(prevSibling)\n const unsetProps = Object.keys(targetProps).reduce((acc, key) => {\n const prevSiblingHasProp = key in prevSiblingProps\n return prevSiblingHasProp ? acc : { ...acc, [key]: null }\n }, {})\n\n return parent.format(textRange.start, textRange.end - textRange.start, {\n ...unsetProps,\n ...prevSiblingProps,\n })\n }\n\n const deltaApplyYOffset = prev.yTarget.length\n const targetDelta = yTextToInsertDelta(target.yTarget)\n const clonedDelta = cloneInsertDeltaDeep(targetDelta)\n\n const storedPositions = getStoredPositionsInDeltaAbsolute(\n sharedRoot,\n target.yTarget,\n targetDelta,\n deltaApplyYOffset\n )\n\n const applyDelta: Delta = [{ retain: deltaApplyYOffset }, ...clonedDelta]\n\n prev.yTarget.applyDelta(applyDelta, {\n sanitize: false,\n })\n\n target.yParent.delete(target.textRange.start, target.textRange.end - target.textRange.start)\n\n restoreStoredPositionsWithDeltaAbsolute(\n sharedRoot,\n prev.yTarget,\n storedPositions,\n clonedDelta,\n deltaApplyYOffset\n )\n}\n","import { MoveNodeOperation, Node, Path, Text } from 'slate'\nimport * as Y from 'yjs'\nimport { Delta } from '../../module/custom-types'\nimport { cloneInsertDeltaDeep } from '../../utils/clone'\nimport { getInsertDeltaLength, yTextToInsertDelta } from '../../utils/delta'\nimport { getYTarget } from '../../utils/location'\nimport {\n getStoredPositionsInDeltaAbsolute,\n restoreStoredPositionsWithDeltaAbsolute,\n} from '../../utils/position'\n\nexport function moveNode(sharedRoot: Y.XmlText, slateRoot: Node, op: MoveNodeOperation): void {\n const newParentPath = Path.parent(op.newPath)\n const newPathOffset = op.newPath[op.newPath.length - 1]\n const parent = Node.get(slateRoot, newParentPath)\n if (Text.isText(parent)) {\n throw new Error('Cannot move slate node into text element')\n }\n const normalizedNewPath = [...newParentPath, Math.min(newPathOffset, parent.children.length)]\n\n const origin = getYTarget(sharedRoot, slateRoot, op.path)\n const target = getYTarget(sharedRoot, slateRoot, normalizedNewPath)\n const insertDelta = cloneInsertDeltaDeep(origin.targetDelta)\n\n const storedPositions = getStoredPositionsInDeltaAbsolute(\n sharedRoot,\n origin.yParent,\n origin.targetDelta\n )\n\n origin.yParent.delete(origin.textRange.start, origin.textRange.end - origin.textRange.start)\n\n const targetLength = getInsertDeltaLength(yTextToInsertDelta(target.yParent))\n const deltaApplyYOffset = Math.min(target.textRange.start, targetLength)\n const applyDelta: Delta = [{ retain: deltaApplyYOffset }, ...insertDelta]\n\n target.yParent.applyDelta(applyDelta, { sanitize: false })\n\n restoreStoredPositionsWithDeltaAbsolute(\n sharedRoot,\n target.yParent,\n storedPositions,\n insertDelta,\n deltaApplyYOffset,\n origin.textRange.start\n )\n}\n","import { Node, SplitNodeOperation, Text } from 'slate'\nimport * as Y from 'yjs'\nimport { cloneInsertDeltaDeep } from '../../utils/clone'\nimport { sliceInsertDelta, yTextToInsertDelta } from '../../utils/delta'\nimport { getSlateNodeYLength, getYTarget } from '../../utils/location'\nimport {\n getStoredPositionsInDeltaAbsolute,\n restoreStoredPositionsWithDeltaAbsolute,\n} from '../../utils/position'\n\nexport function splitNode(sharedRoot: Y.XmlText, slateRoot: Node, op: SplitNodeOperation): void {\n const target = getYTarget(sharedRoot, slateRoot, op.path)\n\n if (!target.slateTarget) {\n throw new Error('Y target without corresponding slate node')\n }\n\n if (!target.yTarget) {\n if (!Text.isText(target.slateTarget)) {\n throw new Error('Mismatch node type between y target and slate node')\n }\n\n const unset: Record<string, null> = {}\n target.targetDelta.forEach(element => {\n if (element.attributes) {\n Object.keys(element.attributes).forEach(key => {\n unset[key] = null\n })\n }\n })\n\n return target.yParent.format(\n target.textRange.start,\n target.textRange.end - target.textRange.start,\n { ...unset, ...op.properties }\n )\n }\n\n if (Text.isText(target.slateTarget)) {\n throw new Error('Mismatch node type between y target and slate node')\n }\n\n const splitTarget = getYTarget(target.yTarget, target.slateTarget, [op.position])\n\n const ySplitOffset = target.slateTarget.children\n .slice(0, op.position)\n .reduce((length, child) => length + getSlateNodeYLength(child), 0)\n\n const length = target.slateTarget.children.reduce(\n (current, child) => current + getSlateNodeYLength(child),\n 0\n )\n\n const splitDelta = sliceInsertDelta(\n yTextToInsertDelta(target.yTarget),\n ySplitOffset,\n length - ySplitOffset\n )\n const clonedDelta = cloneInsertDeltaDeep(splitDelta)\n\n const storedPositions = getStoredPositionsInDeltaAbsolute(\n sharedRoot,\n target.yTarget,\n splitDelta,\n ySplitOffset\n )\n\n const toInsert = new Y.XmlText()\n toInsert.applyDelta(clonedDelta, {\n sanitize: false,\n })\n\n Object.entries(op.properties).forEach(([key, value]) => {\n toInsert.setAttribute(key, value)\n })\n\n target.yTarget.delete(\n splitTarget.textRange.start,\n target.yTarget.length - splitTarget.textRange.start\n )\n\n target.yParent.insertEmbed(target.textRange.end, toInsert)\n\n restoreStoredPositionsWithDeltaAbsolute(\n sharedRoot,\n toInsert,\n storedPositions,\n clonedDelta,\n 0,\n ySplitOffset\n )\n}\n","import { TextOperation } from 'slate'\nimport { OpMapper } from '../types'\nimport { insertText } from './insertText'\nimport { removeText } from './removeText'\n\nexport const TEXT_MAPPER: OpMapper<TextOperation> = {\n insert_text: insertText,\n remove_text: removeText,\n}\n","import { Node, Operation } from 'slate'\nimport * as Y from 'yjs'\nimport { NODE_MAPPER } from './node'\nimport { TEXT_MAPPER } from './text'\nimport { ApplyFunc, OpMapper } from './types'\n\n// eslint-disable-next-line @typescript-eslint/no-empty-function\nconst NOOP = () => {}\n\nconst opMappers: OpMapper = {\n ...TEXT_MAPPER,\n ...NODE_MAPPER,\n\n set_selection: NOOP,\n}\n\nexport function applySlateOp(sharedRoot: Y.XmlText, slateRoot: Node, op: Operation): void {\n const apply = opMappers[op.type] as ApplyFunc<typeof op>\n if (!apply) {\n throw new Error(`Unknown operation: ${op.type}`)\n }\n\n apply(sharedRoot, slateRoot, op)\n}\n","import { InsertTextOperation, Node, Text } from 'slate'\nimport type Y from 'yjs'\nimport { getYTarget } from '../../utils/location'\nimport { getProperties } from '../../utils/slate'\n\nexport function insertText(sharedRoot: Y.XmlText, slateRoot: Node, op: InsertTextOperation): void {\n const { yParent: target, textRange } = getYTarget(sharedRoot, slateRoot, op.path)\n\n const targetNode = Node.get(slateRoot, op.path)\n if (!Text.isText(targetNode)) {\n throw new Error('Cannot insert text into non-text node')\n }\n\n target.insert(textRange.start + op.offset, op.text, getProperties(targetNode))\n}\n","import { Node, RemoveTextOperation } from 'slate'\nimport type Y from 'yjs'\nimport { getYTarget } from '../../utils/location'\n\nexport function removeText(sharedRoot: Y.XmlText, slateRoot: Node, op: RemoveTextOperation): void {\n const { yParent: target, textRange } = getYTarget(sharedRoot, slateRoot, op.path)\n target.delete(textRange.start + op.offset, op.text.length)\n}\n","import { BaseEditor, Descendant, Editor, Operation, Point } from 'slate'\nimport * as Y from 'yjs'\nimport { applyYjsEvents } from '../applyToSlate'\nimport { applySlateOp } from '../applyToYjs'\nimport { yTextToSlateElement } from '../utils/convert'\nimport {\n getStoredPosition,\n getStoredPositions,\n relativePositionToSlatePoint,\n removeStoredPosition,\n setStoredPosition,\n slatePointToRelativePosition,\n} from '../utils/position'\nimport { assertDocumentAttachment } from '../utils/yjs'\n\ntype LocalChange = {\n op: Operation\n doc: Descendant[]\n origin: unknown\n}\n\nconst DEFAULT_LOCAL_ORIGIN = Symbol('slate-yjs-operation')\nconst DEFAULT_POSITION_STORAGE_ORIGIN = Symbol('slate-yjs-position-storage')\n\nconst ORIGIN: WeakMap<Editor, unknown> = new WeakMap()\nconst LOCAL_CHANGES: WeakMap<Editor, LocalChange[]> = new WeakMap()\nconst CONNECTED: WeakSet<Editor> = new WeakSet()\n\nexport type YjsEditor = BaseEditor & {\n sharedRoot: Y.XmlText\n\n localOrigin: unknown\n positionStorageOrigin: unknown\n\n applyRemoteEvents: (events: Y.YEvent<Y.XmlText>[], origin: unknown) => void\n\n storeLocalChange: (op: Operation) => void\n flushLocalChanges: () => void\n\n isLocalOrigin: (origin: unknown) => boolean\n\n connect: () => void\n disconnect: () => void\n}\n\nexport const YjsEditor = {\n isYjsEditor(value: unknown): value is YjsEditor {\n return (\n Editor.isEditor(value) &&\n (value as YjsEditor).sharedRoot instanceof Y.XmlText &&\n 'localOrigin' in value &&\n 'positionStorageOrigin' in value &&\n typeof (value as YjsEditor).applyRemoteEvents === 'function' &&\n typeof (value as YjsEditor).storeLocalChange === 'function' &&\n typeof (value as YjsEditor).flushLocalChanges === 'function' &&\n typeof (value as YjsEditor).isLocalOrigin === 'function' &&\n typeof (value as YjsEditor).connect === 'function' &&\n typeof (value as YjsEditor).disconnect === 'function'\n )\n },\n\n localChanges(editor: YjsEditor): LocalChange[] {\n return LOCAL_CHANGES.get(editor) ?? []\n },\n\n applyRemoteEvents(editor: YjsEditor, events: Y.YEvent<Y.XmlText>[], origin: unknown): void {\n editor.applyRemoteEvents(events, origin)\n },\n\n storeLocalChange(editor: YjsEditor, op: Operation): void {\n editor.storeLocalChange(op)\n },\n\n flushLocalChanges(editor: YjsEditor): void {\n editor.flushLocalChanges()\n },\n\n connected(editor: YjsEditor): boolean {\n return CONNECTED.has(editor)\n },\n\n connect(editor: YjsEditor): void {\n editor.connect()\n },\n\n disconnect(editor: YjsEditor): void {\n editor.disconnect()\n },\n\n isLocal(editor: YjsEditor): boolean {\n return editor.isLocalOrigin(YjsEditor.origin(editor))\n },\n\n origin(editor: YjsEditor): unknown {\n const origin = ORIGIN.get(editor)\n return origin !== undefined ? origin : editor.localOrigin\n },\n\n withOrigin(editor: YjsEditor, origin: unknown, fn: () => void): void {\n const prev = YjsEditor.origin(editor)\n ORIGIN.set(editor, origin)\n fn()\n ORIGIN.set(editor, prev)\n },\n\n storePosition(editor: YjsEditor, key: string, point: Point): void {\n const { sharedRoot, positionStorageOrigin: locationStorageOrigin } = editor\n assertDocumentAttachment(sharedRoot)\n\n const position = slatePointToRelativePosition(sharedRoot, editor, point)\n\n sharedRoot.doc.transact(() => {\n setStoredPosition(sharedRoot, key, position)\n }, locationStorageOrigin)\n },\n\n removeStoredPosition(editor: YjsEditor, key: string): void {\n const { sharedRoot, positionStorageOrigin: locationStorageOrigin } = editor\n assertDocumentAttachment(sharedRoot)\n\n sharedRoot.doc.transact(() => {\n removeStoredPosition(sharedRoot, key)\n }, locationStorageOrigin)\n },\n\n position(editor: YjsEditor, key: string): Point | null | undefined {\n const position = getStoredPosition(editor.sharedRoot, key)\n if (!position) {\n return undefined\n }\n\n return relativePositionToSlatePoint(editor.sharedRoot, editor, position)\n },\n\n storedPositionsRelative(editor: YjsEditor): Record<string, Y.RelativePosition> {\n return getStoredPositions(editor.sharedRoot)\n },\n}\n\nexport type WithYjsOptions = {\n autoConnect?: boolean\n\n // Origin used when applying local slate operations to yjs\n localOrigin?: unknown\n\n // Origin used when storing positions\n positionStorageOrigin?: unknown\n}\n\nexport function withYjs(sharedRoot: Y.XmlText, options: WithYjsOptions = {}) {\n return function <T extends Editor>(editor: T): T & YjsEditor {\n const e = editor as T & YjsEditor\n\n e.sharedRoot = sharedRoot\n\n e.localOrigin = options.localOrigin ?? DEFAULT_LOCAL_ORIGIN\n e.positionStorageOrigin = options.positionStorageOrigin ?? DEFAULT_POSITION_STORAGE_ORIGIN\n\n e.applyRemoteEvents = (events, origin) => {\n YjsEditor.flushLocalChanges(e)\n\n Editor.withoutNormalizing(e, () => {\n YjsEditor.withOrigin(e, origin, () => {\n applyYjsEvents(e.sharedRoot, e, events)\n })\n })\n }\n\n e.isLocalOrigin = origin => origin === e.localOrigin\n\n const handleYEvents = (events: Y.YEvent<Y.XmlText>[], transaction: Y.Transaction) => {\n if (e.isLocalOrigin(transaction.origin)) {\n return\n }\n\n YjsEditor.applyRemoteEvents(e, events, transaction.origin)\n }\n\n let autoConnectTimeoutId: ReturnType<typeof setTimeout> | null = null\n if (options.autoConnect) {\n autoConnectTimeoutId = setTimeout(() => {\n autoConnectTimeoutId = null\n YjsEditor.connect(e)\n })\n }\n\n e.connect = () => {\n if (YjsEditor.connected(e)) {\n throw new Error('already connected')\n }\n\n e.sharedRoot.observeDeep(handleYEvents)\n const content = yTextToSlateElement(e.sharedRoot)\n e.children = content.children\n CONNECTED.add(e)\n\n Editor.normalize(editor, { force: true })\n if (!editor.operations.length) {\n editor.onChange()\n }\n }\n\n e.disconnect = () => {\n if (autoConnectTimeoutId) {\n clearTimeout(autoConnectTimeoutId)\n }\n\n YjsEditor.flushLocalChanges(e)\n e.sharedRoot.unobserveDeep(handleYEvents)\n CONNECTED.delete(e)\n }\n\n e.storeLocalChange = op => {\n LOCAL_CHANGES.set(e, [\n ...YjsEditor.localChanges(e),\n { op, doc: editor.children, origin: YjsEditor.origin(e) },\n ])\n }\n\n e.flushLocalChanges = () => {\n assertDocumentAttachment(e.sharedRoot)\n const localChanges = YjsEditor.localChanges(e)\n LOCAL_CHANGES.delete(e)\n\n const txGroups: LocalChange[][] = []\n localChanges.forEach(change => {\n const currentGroup = txGroups[txGroups.length - 1]\n if (currentGroup && currentGroup[0].origin === change.origin) {\n return currentGroup.push(change)\n }\n\n txGroups.push([change])\n })\n\n txGroups.forEach(txGroup => {\n assertDocumentAttachment(e.sharedRoot)\n\n e.sharedRoot.doc.transact(() => {\n txGroup.forEach(change => {\n assertDocumentAttachment(e.sharedRoot)\n applySlateOp(e.sharedRoot, { children: change.doc }, change.op)\n })\n }, txGroup[0].origin)\n })\n }\n\n const { apply, onChange } = e\n e.apply = op => {\n if (YjsEditor.connected(e) && YjsEditor.isLocal(e)) {\n YjsEditor.storeLocalChange(e, op)\n }\n\n apply(op)\n }\n\n e.onChange = () => {\n if (YjsEditor.connected(e)) {\n YjsEditor.flushLocalChanges(e)\n }\n\n onChange()\n }\n\n return e\n }\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","'use strict';\nvar defineProperty = require('../internals/object-define-property').f;\nvar create = require('../internals/object-create');\nvar redefineAll = require('../internals/redefine-all');\nvar bind = require('../internals/function-bind-context');\nvar anInstance = require('../internals/an-instance');\nvar iterate = require('../internals/iterate');\nvar defineIterator = require('../internals/define-iterator');\nvar setSpecies = require('../internals/set-species');\nvar DESCRIPTORS = require('../internals/descriptors');\nvar fastKey = require('../internals/internal-metadata').fastKey;\nvar InternalStateModule = require('../internals/internal-state');\n\nvar setInternalState = InternalStateModule.set;\nvar internalStateGetterFor = InternalStateModule.getterFor;\n\nmodule.exports = {\n getConstructor: function (wrapper, CONSTRUCTOR_NAME, IS_MAP, ADDER) {\n var Constructor = wrapper(function (that, iterable) {\n anInstance(that, Prototype);\n setInternalState(that, {\n type: CONSTRUCTOR_NAME,\n index: create(null),\n first: undefined,\n last: undefined,\n size: 0\n });\n if (!DESCRIPTORS) that.size = 0;\n if (iterable != undefined) iterate(iterable, that[ADDER], { that: that, AS_ENTRIES: IS_MAP });\n });\n\n var Prototype = Constructor.prototype;\n\n var getInternalState = internalStateGetterFor(CONSTRUCTOR_NAME);\n\n var define = function (that, key, value) {\n var state = getInternalState(that);\n var entry = getEntry(that, key);\n var previous, index;\n // change existing entry\n if (entry) {\n entry.value = value;\n // create new entry\n } else {\n state.last = entry = {\n index: index = fastKey(key, true),\n key: key,\n value: value,\n previous: previous = state.last,\n next: undefined,\n removed: false\n };\n if (!state.first) state.first = entry;\n if (previous) previous.next = entry;\n if (DESCRIPTORS) state.size++;\n else that.size++;\n // add to index\n if (index !== 'F') state.index[index] = entry;\n } return that;\n };\n\n var getEntry = function (that, key) {\n var state = getInternalState(that);\n // fast case\n var index = fastKey(key);\n var entry;\n if (index !== 'F') return state.index[index];\n // frozen object case\n for (entry = state.first; entry; entry = entry.next) {\n if (entry.key == key) return entry;\n }\n };\n\n redefineAll(Prototype, {\n // `{ Map, Set }.prototype.clear()` methods\n // https://tc39.es/ecma262/#sec-map.prototype.clear\n // https://tc39.es/ecma262/#sec-set.prototype.clear\n clear: function clear() {\n var that = this;\n var state = getInternalState(that);\n var data = state.index;\n var entry = state.first;\n while (entry) {\n entry.removed = true;\n if (entry.previous) entry.previous = entry.previous.next = undefined;\n delete data[entry.index];\n entry = entry.next;\n }\n state.first = state.last = undefined;\n if (DESCRIPTORS) state.size = 0;\n else that.size = 0;\n },\n // `{ Map, Set }.prototype.delete(key)` methods\n // https://tc39.es/ecma262/#sec-map.prototype.delete\n // https://tc39.es/ecma262/#sec-set.prototype.delete\n 'delete': function (key) {\n var that = this;\n var state = getInternalState(that);\n var entry = getEntry(that, key);\n if (entry) {\n var next = entry.next;\n var prev = entry.previous;\n delete state.index[entry.index];\n entry.removed = true;\n if (prev) prev.next = next;\n if (next) next.previous = prev;\n if (state.first == entry) state.first = next;\n if (state.last == entry) state.last = prev;\n if (DESCRIPTORS) state.size--;\n else that.size--;\n } return !!entry;\n },\n // `{ Map, Set }.prototype.forEach(callbackfn, thisArg = undefined)` methods\n // https://tc39.es/ecma262/#sec-map.prototype.foreach\n // https://tc39.es/ecma262/#sec-set.prototype.foreach\n forEach: function forEach(callbackfn /* , that = undefined */) {\n var state = getInternalState(this);\n var boundFunction = bind(callbackfn, arguments.length > 1 ? arguments[1] : undefined);\n var entry;\n while (entry = entry ? entry.next : state.first) {\n boundFunction(entry.value, entry.key, this);\n // revert to the last existing entry\n while (entry && entry.removed) entry = entry.previous;\n }\n },\n // `{ Map, Set}.prototype.has(key)` methods\n // https://tc39.es/ecma262/#sec-map.prototype.has\n // https://tc39.es/ecma262/#sec-set.prototype.has\n has: function has(key) {\n return !!getEntry(this, key);\n }\n });\n\n redefineAll(Prototype, IS_MAP ? {\n // `Map.prototype.get(key)` method\n // https://tc39.es/ecma262/#sec-map.prototype.get\n get: function get(key) {\n var entry = getEntry(this, key);\n return entry && entry.value;\n },\n // `Map.prototype.set(key, value)` method\n // https://tc39.es/ecma262/#sec-map.prototype.set\n set: function set(key, value) {\n return define(this, key === 0 ? 0 : key, value);\n }\n } : {\n // `Set.prototype.add(value)` method\n // https://tc39.es/ecma262/#sec-set.prototype.add\n add: function add(value) {\n return define(this, value = value === 0 ? 0 : value, value);\n }\n });\n if (DESCRIPTORS) defineProperty(Prototype, 'size', {\n get: function () {\n return getInternalState(this).size;\n }\n });\n return Constructor;\n },\n setStrong: function (Constructor, CONSTRUCTOR_NAME, IS_MAP) {\n var ITERATOR_NAME = CONSTRUCTOR_NAME + ' Iterator';\n var getInternalCollectionState = internalStateGetterFor(CONSTRUCTOR_NAME);\n var getInternalIteratorState = internalStateGetterFor(ITERATOR_NAME);\n // `{ Map, Set }.prototype.{ keys, values, entries, @@iterator }()` methods\n // https://tc39.es/ecma262/#sec-map.prototype.entries\n // https://tc39.es/ecma262/#sec-map.prototype.keys\n // https://tc39.es/ecma262/#sec-map.prototype.values\n // https://tc39.es/ecma262/#sec-map.prototype-@@iterator\n // https://tc39.es/ecma262/#sec-set.prototype.entries\n // https://tc39.es/ecma262/#sec-set.prototype.keys\n // https://tc39.es/ecma262/#sec-set.prototype.values\n // https://tc39.es/ecma262/#sec-set.prototype-@@iterator\n defineIterator(Constructor, CONSTRUCTOR_NAME, function (iterated, kind) {\n setInternalState(this, {\n type: ITERATOR_NAME,\n target: iterated,\n state: getInternalCollectionState(iterated),\n kind: kind,\n last: undefined\n });\n }, function () {\n var state = getInternalIteratorState(this);\n var kind = state.kind;\n var entry = state.last;\n // revert to the last existing entry\n while (entry && entry.removed) entry = entry.previous;\n // get next entry\n if (!state.target || !(state.last = entry = entry ? entry.next : state.state.first)) {\n // or finish the iteration\n state.target = undefined;\n return { value: undefined, done: true };\n }\n // return step by kind\n if (kind == 'keys') return { value: entry.key, done: false };\n if (kind == 'values') return { value: entry.value, done: false };\n return { value: [entry.key, entry.value], done: false };\n }, IS_MAP ? 'entries' : 'values', !IS_MAP, true);\n\n // `{ Map, Set }.prototype[@@species]` accessors\n // https://tc39.es/ecma262/#sec-get-map-@@species\n // https://tc39.es/ecma262/#sec-get-set-@@species\n setSpecies(CONSTRUCTOR_NAME);\n }\n};\n","'use strict';\nvar collection = require('../internals/collection');\nvar collectionStrong = require('../internals/collection-strong');\n\n// `Set` constructor\n// https://tc39.es/ecma262/#sec-set-objects\ncollection('Set', function (init) {\n return function Set() { return init(this, arguments.length ? arguments[0] : undefined); };\n}, collectionStrong);\n","import { Editor, Transforms } from 'slate'\nimport * as Y from 'yjs'\nimport { HistoryStackItem, RelativeRange } from '../module/custom-types'\nimport { relativeRangeToSlateRange, slateRangeToRelativeRange } from '../utils/position'\nimport { YjsEditor } from './withYjs'\n\nconst LAST_SELECTION: WeakMap<Editor, RelativeRange | null> = new WeakMap()\nconst DEFAULT_WITHOUT_SAVING_ORIGIN = Symbol('slate-yjs-history-without-saving')\n\nexport type YHistoryEditor = YjsEditor & {\n undoManager: Y.UndoManager\n\n withoutSavingOrigin: unknown\n\n undo: () => void\n redo: () => void\n}\n\nexport const YHistoryEditor = {\n isYHistoryEditor(value: unknown): value is YHistoryEditor {\n return (\n YjsEditor.isYjsEditor(value) &&\n (value as YHistoryEditor).undoManager instanceof Y.UndoManager &&\n typeof (value as YHistoryEditor).undo === 'function' &&\n typeof (value as YHistoryEditor).redo === 'function' &&\n 'withoutSavingOrigin' in value\n )\n },\n\n canUndo(editor: YHistoryEditor) {\n return editor.undoManager.undoStack.length > 0\n },\n\n canRedo(editor: YHistoryEditor) {\n return editor.undoManager.redoStack.length > 0\n },\n\n isSaving(editor: YHistoryEditor): boolean {\n return editor.undoManager.trackedOrigins.has(YjsEditor.origin(editor))\n },\n\n withoutSaving(editor: YHistoryEditor, fn: () => void) {\n YjsEditor.withOrigin(editor, editor.withoutSavingOrigin, fn)\n },\n}\n\nexport type WithYHistoryOptions = NonNullable<ConstructorParameters<typeof Y.UndoManager>[1]> & {\n withoutSavingOrigin?: unknown\n}\n\nexport function withYHistory(options: WithYHistoryOptions = {}) {\n return function <T extends YjsEditor>(editor: T): T & YHistoryEditor {\n const e = editor as T & YHistoryEditor\n\n // 将 trackedOrigins 的初始化放到 editor 被传入之后\n const {\n withoutSavingOrigin = DEFAULT_WITHOUT_SAVING_ORIGIN,\n trackedOrigins = new Set([e.localOrigin]),\n ...restOptions\n } = options\n\n const undoManager = new Y.UndoManager(e.sharedRoot, {\n trackedOrigins,\n ...restOptions,\n })\n\n e.undoManager = undoManager\n e.withoutSavingOrigin = withoutSavingOrigin\n\n const { onChange, isLocalOrigin } = e\n e.onChange = () => {\n onChange()\n\n LAST_SELECTION.set(e, e.selection && slateRangeToRelativeRange(e.sharedRoot, e, e.selection))\n }\n\n e.isLocalOrigin = origin => origin === e.withoutSavingOrigin || isLocalOrigin(origin)\n\n const handleStackItemAdded = ({\n stackItem,\n }: {\n stackItem: HistoryStackItem\n type: 'redo' | 'undo'\n }) => {\n stackItem.meta.set(\n 'selection',\n e.selection && slateRangeToRelativeRange(e.sharedRoot, e, e.selection)\n )\n stackItem.meta.set('selectionBefore', LAST_SELECTION.get(e))\n }\n\n const handleStackItemUpdated = ({\n stackItem,\n }: {\n stackItem: HistoryStackItem\n type: 'redo' | 'undo'\n }) => {\n stackItem.meta.set(\n 'selection',\n e.selection && slateRangeToRelativeRange(e.sharedRoot, e, e.selection)\n )\n }\n\n const handleStackItemPopped = ({\n stackItem,\n type,\n }: {\n stackItem: HistoryStackItem\n type: 'redo' | 'undo'\n }) => {\n // TODO: Change once https://github.com/yjs/yjs/issues/353 is resolved\n const inverseStack = type === 'undo' ? e.undoManager.redoStack : e.undoManager.undoStack\n const inverseItem = inverseStack[inverseStack.length - 1]\n if (inverseItem) {\n inverseItem.meta.set('selection', stackItem.meta.get('selectionBefore'))\n inverseItem.meta.set('selectionBefore', stackItem.meta.get('selection'))\n }\n\n const relativeSelection = stackItem.meta.get('selectionBefore') as RelativeRange | null\n\n if (!relativeSelection) {\n return\n }\n\n const selection = relativeRangeToSlateRange(e.sharedRoot, e, relativeSelection)\n\n if (!selection) {\n return\n }\n\n Transforms.select(e, selection)\n }\n\n const { connect, disconnect } = e\n e.connect = () => {\n connect()\n\n e.undoManager.on('stack-item-added', handleStackItemAdded)\n e.undoManager.on('stack-item-popped', handleStackItemPopped)\n e.undoManager.on('stack-item-updated', handleStackItemUpdated)\n }\n\n e.disconnect = () => {\n e.undoManager.off('stack-item-added', handleStackItemAdded)\n e.undoManager.off('stack-item-popped', handleStackItemPopped)\n e.undoManager.off('stack-item-updated', handleStackItemUpdated)\n\n disconnect()\n }\n\n e.undo = () => {\n if (YjsEditor.connected(e)) {\n YjsEditor.flushLocalChanges(e)\n e.undoManager.undo()\n }\n }\n\n e.redo = () => {\n if (YjsEditor.connected(e)) {\n YjsEditor.flushLocalChanges(e)\n e.undoManager.redo()\n }\n }\n\n return e\n }\n}\n","import { Editor, Range } from 'slate'\nimport { Awareness } from 'y-protocols/awareness'\nimport * as Y from 'yjs'\nimport { RelativeRange } from '../module/custom-types'\nimport { slateRangeToRelativeRange } from '../utils/position'\nimport { YjsEditor } from './withYjs'\n\nexport type CursorStateChangeEvent = {\n added: number[]\n updated: number[]\n removed: number[]\n}\n\nexport type RemoteCursorChangeEventListener = (event: CursorStateChangeEvent) => void\n\nconst CURSOR_CHANGE_EVENT_LISTENERS: WeakMap<\n Editor,\n Set<RemoteCursorChangeEventListener>\n> = new WeakMap()\n\nexport type CursorState<TCursorData extends Record<string, unknown> = Record<string, unknown>> = {\n relativeSelection: RelativeRange | null\n data?: TCursorData\n clientId: number\n}\n\nexport type CursorEditor<TCursorData extends Record<string, unknown> = Record<string, unknown>> =\n YjsEditor & {\n awareness: Awareness\n\n cursorDataField: string\n selectionStateField: string\n\n sendCursorPosition: (range: Range | null) => void\n sendCursorData: (data: TCursorData) => void\n }\n\nexport const CursorEditor = {\n isCursorEditor(value: unknown): value is CursorEditor {\n return (\n YjsEditor.isYjsEditor(value) &&\n (value as CursorEditor).awareness &&\n typeof (value as CursorEditor).cursorDataField === 'string' &&\n typeof (value as CursorEditor).selectionStateField === 'string' &&\n typeof (value as CursorEditor).sendCursorPosition === 'function' &&\n typeof (value as CursorEditor).sendCursorData === 'function'\n )\n },\n\n sendCursorPosition<TCursorData extends Record<string, unknown>>(\n editor: CursorEditor<TCursorData>,\n range: Range | null = editor.selection\n ) {\n editor.sendCursorPosition(range)\n },\n\n sendCursorData<TCursorData extends Record<string, unknown>>(\n editor: CursorEditor<TCursorData>,\n data: TCursorData\n ) {\n editor.sendCursorData(data)\n },\n\n on<TCursorData extends Record<string, unknown>>(\n editor: CursorEditor<TCursorData>,\n event: 'change',\n handler: RemoteCursorChangeEventListener\n ) {\n if (event !== 'change') {\n return\n }\n\n const listeners = CURSOR_CHANGE_EVENT_LISTENERS.get(editor) ?? new Set()\n listeners.add(handler)\n if (editor) CURSOR_CHANGE_EVENT_LISTENERS.set(editor, listeners)\n },\n\n off<TCursorData extends Record<string, unknown>>(\n editor: CursorEditor<TCursorData>,\n event: 'change',\n listener: RemoteCursorChangeEventListener\n ) {\n if (event !== 'change') {\n return\n }\n\n const listeners = CURSOR_CHANGE_EVENT_LISTENERS.get(editor)\n if (listeners) {\n listeners.delete(listener)\n }\n },\n\n cursorState<TCursorData extends Record<string, unknown>>(\n editor: CursorEditor<TCursorData>,\n clientId: number\n ): CursorState<TCursorData> | null {\n if (clientId === editor.awareness.clientID || !YjsEditor.connected(editor)) {\n return null\n }\n\n const state = editor.awareness.getStates().get(clientId)\n if (!state) {\n return null\n }\n\n return {\n relativeSelection: state[editor.selectionStateField] ?? null,\n data: state[editor.cursorDataField],\n clientId,\n }\n },\n\n cursorStates<TCursorData extends Record<string, unknown>>(\n editor: CursorEditor<TCursorData>\n ): Record<string, CursorState<TCursorData>> {\n if (!YjsEditor.connected(editor)) {\n return {}\n }\n\n return Object.fromEntries(\n Array.from(editor.awareness.getStates().entries(), ([id, state]) => {\n // Ignore own state\n if (id === editor.awareness.clientID || !state) {\n return null\n }\n\n return [\n id,\n {\n relativeSelection: state[editor.selectionStateField],\n data: state[editor.cursorDataField],\n },\n ]\n }).filter(Array.isArray)\n )\n },\n}\n\nexport type WithCursorsOptions<\n TCursorData extends Record<string, unknown> = Record<string, unknown>\n> = {\n // Local state field used to store the user selection\n cursorStateField?: string\n\n // Local state field used to store data attached to the local client\n cursorDataField?: string\n\n data?: TCursorData\n autoSend?: boolean\n}\n\nexport function withCursors<TCursorData extends Record<string, unknown>>(\n awareness: Awareness,\n options: WithCursorsOptions<TCursorData> = {}\n) {\n return function <T extends YjsEditor>(editor: T): T & CursorEditor<TCursorData> {\n const {\n cursorStateField: selectionStateField = 'selection',\n cursorDataField = 'data',\n autoSend = true,\n data,\n } = options\n const e = editor as T & CursorEditor<TCursorData>\n\n e.awareness = awareness\n e.cursorDataField = cursorDataField\n e.selectionStateField = selectionStateField\n\n e.sendCursorData = (cursorData: TCursorData) => {\n e.awareness.setLocalStateField(e.cursorDataField, cursorData)\n }\n\n e.sendCursorPosition = range => {\n const localState = e.awareness.getLocalState()\n const currentRange = localState?.[selectionStateField]\n\n if (!range) {\n if (currentRange) {\n e.awareness.setLocalStateField(e.selectionStateField, null)\n }\n\n return\n }\n\n const { anchor, focus } = slateRangeToRelativeRange(e.sharedRoot, e, range)\n\n if (\n !currentRange ||\n !Y.compareRelativePositions(anchor, currentRange) ||\n !Y.compareRelativePositions(focus, currentRange)\n ) {\n e.awareness.setLocalStateField(e.selectionStateField, { anchor, focus })\n }\n }\n\n const awarenessChangeListener: RemoteCursorChangeEventListener = yEvent => {\n const listeners = CURSOR_CHANGE_EVENT_LISTENERS.get(e)\n if (!listeners) {\n return\n }\n\n const localId = e.awareness.clientID\n const event = {\n added: yEvent.added.filter(id => id !== localId),\n removed: yEvent.removed.filter(id => id !== localId),\n updated: yEvent.updated.filter(id => id !== localId),\n }\n\n if (event.added.length > 0 || event.removed.length > 0 || event.updated.length > 0) {\n listeners.forEach(listener => listener(event))\n }\n }\n\n const { connect, disconnect } = e\n e.connect = () => {\n connect()\n\n e.awareness.on('change', awarenessChangeListener)\n\n awarenessChangeListener({\n removed: [],\n added: Array.from(e.awareness.getStates().keys()),\n updated: [],\n })\n\n if (autoSend) {\n if (data) {\n CursorEditor.sendCursorData(e, data)\n }\n\n const { onChange } = e\n e.onChange = () => {\n onChange()\n\n if (YjsEditor.connected(e)) {\n CursorEditor.sendCursorPosition(e)\n }\n }\n }\n }\n\n e.disconnect = () => {\n e.awareness.off('change', awarenessChangeListener)\n\n awarenessChangeListener({\n removed: Array.from(e.awareness.getStates().keys()),\n added: [],\n updated: [],\n })\n\n disconnect()\n }\n\n return e\n }\n}\n"],"names":["match","version","check","it","Math","global","globalThis","window","self","this","Function","fails","exec","error","descriptors","Object","defineProperty","get","call","prototype","functionCall","bind","apply","arguments","$propertyIsEnumerable","propertyIsEnumerable","getOwnPropertyDescriptor","f","V","descriptor","enumerable","createPropertyDescriptor","bitmap","value","configurable","writable","FunctionPrototype","callBind","functionUncurryThis","fn","toString","uncurryThis","stringSlice","slice","classofRaw","split","indexedObject","classof","TypeError","requireObjectCoercible","undefined","toIndexedObject","IndexedObject","isCallable","argument","isObject","getBuiltIn","namespace","method","length","objectIsPrototypeOf","isPrototypeOf","engineUserAgent","process","Deno","versions","v8","userAgent","engineV8Version","nativeSymbol","getOwnPropertySymbols","symbol","Symbol","String","sham","V8_VERSION","useSymbolAsUid","NATIVE_SYMBOL","iterator","isSymbol","USE_SYMBOL_AS_UID","$Symbol","tryToString","aCallable","getMethod","P","func","setGlobal","key","SHARED","sharedStore","module","exports","store","push","mode","copyright","toObject","hasOwnProperty","hasOwnProperty_1","hasOwn","id","postfix","random","uid","WellKnownSymbolsStore","shared","symbolFor","createWellKnownSymbol","withoutSetter","wellKnownSymbol","name","description","TO_PRIMITIVE","toPrimitive","input","pref","result","exoticToPrim","val","valueOf","ordinaryToPrimitive","toPropertyKey","document","EXISTS","createElement","documentCreateElement","ie8DomDefine","DESCRIPTORS","a","$getOwnPropertyDescriptor","O","IE8_DOM_DEFINE","propertyIsEnumerableModule","anObject","$defineProperty","Attributes","createNonEnumerableProperty","object","definePropertyModule","functionToString","inspectSource","set","has","WeakMap","nativeWeakMap","test","keys","sharedKey","hiddenKeys","OBJECT_ALREADY_INITIALIZED","NATIVE_WEAK_MAP","state","wmget","wmhas","wmset","metadata","facade","STATE","internalState","enforce","getterFor","TYPE","type","getDescriptor","functionName","PROPER","CONFIGURABLE","CONFIGURABLE_FUNCTION_NAME","require$$0","getInternalState","InternalStateModule","enforceInternalState","TEMPLATE","options","unsafe","simple","noTargetGet","replace","source","join","ceil","floor","toIntegerOrInfinity","number","max","min","toAbsoluteIndex","index","integer","toLength","lengthOfArrayLike","obj","createMethod","IS_INCLUDES","$this","el","fromIndex","arrayIncludes","includes","indexOf","objectKeysInternal","names","i","enumBugKeys","concat","getOwnPropertyNames","internalObjectKeys","ownKeys","getOwnPropertyNamesModule","getOwnPropertySymbolsModule","copyConstructorProperties","target","getOwnPropertyDescriptorModule","replacement","isForced","feature","detection","data","normalize","POLYFILL","NATIVE","string","toLowerCase","isForced_1","_export","targetProperty","sourceProperty","TARGET","GLOBAL","STATIC","stat","forced","redefine","functionApply","Reflect","isArray","Array","activeXDocument","toStringTagSupport","TO_STRING_TAG","CORRECT_ARGUMENTS","TO_STRING_TAG_SUPPORT","tag","tryGet","callee","objectKeys","objectDefineProperties","defineProperties","Properties","props","html","PROTOTYPE","SCRIPT","IE_PROTO","EmptyConstructor","scriptTag","content","LT","NullProtoObjectViaActiveX","write","close","temp","parentWindow","NullProtoObject","ActiveXObject","iframeDocument","iframe","JS","domain","style","display","appendChild","src","contentWindow","open","F","objectCreate","create","createProperty","propertyKey","$getOwnPropertyNames","windowNames","getWindowNames","start","end","k","fin","n","arraySlice","path","setToStringTag","TAG","functionBindContext","that","noop","empty","construct","constructorRegExp","INCORRECT_TO_STRING","isConstructorModern","isConstructor","called","SPECIES","arraySpeciesCreate","originalArray","C","constructor","IS_MAP","IS_FILTER","IS_SOME","IS_EVERY","IS_FIND_INDEX","IS_FILTER_REJECT","NO_HOLES","callbackfn","specificCreate","boundFunction","arrayIteration","forEach","map","filter","some","every","find","findIndex","filterReject","$forEach","HIDDEN","SYMBOL","setInternalState","ObjectPrototype","SymbolPrototype","QObject","$stringify","nativeGetOwnPropertyDescriptor","nativeDefineProperty","nativeGetOwnPropertyNames","getOwnPropertyNamesExternal","nativePropertyIsEnumerable","AllSymbols","ObjectPrototypeSymbols","StringToSymbolRegistry","SymbolToStringRegistry","USE_SETTER","findChild","setSymbolDescriptor","nativeObjectCreate","ObjectPrototypeDescriptor","wrap","$defineProperties","properties","$getOwnPropertySymbols","IS_OBJECT_PROTOTYPE","$toString","setter","wrappedWellKnownSymbolModule","$forEach$1","NAME","defineWellKnownSymbol","$","for","keyFor","sym","useSetter","useSimple","FORCED_JSON_STRINGIFY","stringify","replacer","space","args","$replacer","hint","NativeSymbol","EmptyStringDescriptionStore","SymbolWrapper","symbolToString","symbolValueOf","regexp","desc","UNSCOPABLES","ArrayPrototype","IteratorPrototype","PrototypeOfArrayIteratorPrototype","arrayIterator","addToUnscopables","iterators","correctPrototypeGetter","getPrototypeOf","objectGetPrototypeOf","CORRECT_PROTOTYPE_GETTER","ITERATOR","BUGGY_SAFARI_ITERATORS","NEW_ITERATOR_PROTOTYPE","iteratorsCore","returnThis","objectSetPrototypeOf","setPrototypeOf","CORRECT_SETTER","proto","aPossiblePrototype","__proto__","PROPER_FUNCTION_NAME","FunctionName","IteratorsCore","KEYS","VALUES","ENTRIES","defineIterator","Iterable","IteratorConstructor","next","DEFAULT","IS_SET","FORCED","ENUMERABLE_NEXT","Iterators","createIteratorConstructor","CurrentIteratorPrototype","methods","KEY","getIterationMethod","KIND","defaultIterator","IterablePrototype","INCORRECT_VALUES_NAME","nativeIterator","anyNativeIterator","entries","values","ARRAY_ITERATOR","es_array_iterator","iterated","kind","done","Arguments","objectToString","charAt","charCodeAt","CONVERT_TO_STRING","pos","first","second","S","position","size","codeAt","STRING_ITERATOR","point","redefineAll","arrayBufferNonExtensible","ArrayBuffer","buffer","isExtensible","$isExtensible","objectIsExtensible","ARRAY_BUFFER_NON_EXTENSIBLE","freezing","preventExtensions","REQUIRED","METADATA","setMetadata","objectID","weakData","meta","enable","splice","getOwnPropertyNamesExternalModule","fastKey","getWeakData","onFreeze","FREEZING","isArrayIteratorMethod","getIteratorMethod","getIterator","usingIterator","iteratorMethod","iteratorClose","innerResult","innerError","Result","stopped","ResultPrototype","iterate","iterable","unboundFunction","iterFn","step","AS_ENTRIES","IS_ITERATOR","INTERRUPTED","stop","condition","callFn","anInstance","Prototype","SAFE_CLOSING","iteratorWithReturn","return","from","checkCorrectnessOfIteration","SKIP_CLOSING","ITERATION_SUPPORT","collection","CONSTRUCTOR_NAME","wrapper","common","IS_WEAK","ADDER","NativeConstructor","NativePrototype","Constructor","exported","fixMethod","uncurriedNativeMethod","getConstructor","InternalMetadataModule","instance","HASNT_CHAINING","THROWS_ON_PRIMITIVES","ACCEPT_ITERABLES","BUGGY_ZERO","$instance","dummy","Wrapper","NewTarget","NewTargetPrototype","inheritIfRequired","clear","setStrong","internalStateGetterFor","ArrayIterationModule","uncaughtFrozenStore","frozen","UncaughtFrozenStore","findUncaughtFrozen","entry","delete","InternalWeakMap","collectionWeak","define","add","enforceIternalState","IS_IE11","init","$WeakMap","WeakMapPrototype","nativeDelete","nativeHas","nativeGet","nativeSet","domIterables","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","classList","DOMTokenListPrototype","domTokenListPrototype","arrayForEach","handlePrototype","CollectionPrototype","COLLECTION_NAME","DOMIterables","handlePrototype$1","ArrayValues","ArrayIteratorMethods","METHOD_NAME","callWithSafeIterationClosing","INCORRECT_ITERATION","arrayLike","IS_CONSTRUCTOR","argumentsLength","mapfn","mapping","arrayMethodHasSpeciesSupport","array","foo","Boolean","$map","HAS_SPECIES_SUPPORT","un$Slice","fromEntries","v","FAILS_ON_PRIMITIVES","nativeKeys","TO_ENTRIES","$entries","$filter","$includes","TO_STRING","RegExpPrototype","RegExp","n$ToString","getFlags","ignoreCase","multiline","dotAll","unicode","sticky","NOT_GENERIC","flags","INCORRECT_NAME","o","isPlainObject","ctor","prot","deepEquals","node","another","b","pick","_i","_a","__read","yTextToInsertDelta","yText","delta","normalized","delta_1","__values","delta_1_1","element","insert","prev","attributes","_b","_c","normalizeInsertDelta","toDelta","getInsertLength","getInsertDeltaLength","reduce","curr","sliceInsertDelta","currentOffset","sliced","elementLength","startOffset","endOffset","__assign","getProperties","omit","Text","isText","yTextToSlateElement","children","deltaInsertToSlateNode","text","getAttributes","slateNodesToInsertDelta","nodes","slateElementToYText","__rest","yElement","Y","XmlText","setAttribute","applyDelta","sanitize","R","p","rf","IS_CONCAT_SPREADABLE","MAX_SAFE_INTEGER","MAXIMUM_ALLOWED_INDEX_EXCEEDED","IS_CONCAT_SPREADABLE_SUPPORT","SPECIES_SUPPORT","isConcatSpreadable","spreadable","getSlateNodeYLength","getYTarget","yRoot","slateRoot","Error","pathOffset","childPath","yOffset","slatePathOffsetToYOffset","targetNode","targetLength","targetDelta","yTarget","yParent","textRange","slateParent","slateTarget","yOffsetToSlateOffsets","parent","opts","assoc","lastNonEmptyPathOffset","child_1","nodeLength","child","getSlatePath","sharedRoot","yNodePath","unshift","idx","yChild","currentDelta","currentDelta_1","currentDelta_1_1","translateYTextEvent","editor","event","changes","ops","slatePath","targetElement","Node","keyChanges","newProperties","action","getAttribute","__spreadArray","change","retain","reverse","startPathOffset","startTextOffset","endPathOffset","endTextOffset","_d","_e","offset","_f","textOffset","lastOp","currentProps","lastPath","Path","equals","toInsert","applyYjsEvents","events","Editor","withoutNormalizing","YTextEvent","translateYjsEvent","op","cloneInsertDeltaDeep","cloneDeep","clone","arg","len","E","A","$assign","assign","objectAssign","B","alphabet","chr","T","j","MATCH","notARegexp","isRegExp","un$StartsWith","startsWith","CORRECT_IS_REGEXP_LOGIC","error1","error2","correctIsRegExpLogic","MDN_POLYFILL_BUG","searchString","notARegExp","search","quot","assertDocumentAttachment","sharedType","doc","forcedStringHTMLMethod","anchor","attribute","p1","STORED_POSITION_PREFIX","slatePointToRelativePosition","createRelativePositionFromTypeIndex","relativePositionToSlatePoint","absPos","createAbsolutePositionFromRelativePosition","parentPath","absolutePositionToSlatePoint","setStoredPosition","encodeRelativePosition","getAbsolutePositionsInTextRange","absolutePositions","getAbsolutePositionsInYText","positions","getStoredPositionsInDeltaAbsolute","deltaOffset","decodeRelativePosition","getStoredPositionsAbsolute","restoreStoredPositionsWithDeltaAbsolute","newDeltaOffset","previousDeltaOffset","toRestore","slateRangeToRelativeRange","range","focus","relativeRangeToSlateRange","NODE_MAPPER","insert_node","insertEmbed","remove_node","set_node","removeAttribute","unset","format","merge_node","previous","parent_1","prevSibling","targetProps","prevSiblingProps_1","unsetProps","acc","deltaApplyYOffset","clonedDelta","storedPositions","move_node","newParentPath","newPath","newPathOffset","normalizedNewPath","origin","insertDelta","split_node","unset_1","splitTarget","ySplitOffset","current","splitDelta","opMappers","insert_text","remove_text","set_selection","DEFAULT_LOCAL_ORIGIN","DEFAULT_POSITION_STORAGE_ORIGIN","ORIGIN","LOCAL_CHANGES","CONNECTED","WeakSet","YjsEditor","isYjsEditor","isEditor","applyRemoteEvents","storeLocalChange","flushLocalChanges","isLocalOrigin","connect","disconnect","localChanges","connected","isLocal","localOrigin","withOrigin","storePosition","locationStorageOrigin","positionStorageOrigin","transact","removeStoredPosition","rawPosition","getStoredPosition","storedPositionsRelative","createRelativePositionFromJSON","require$$1","collectionStrong","last","getEntry","removed","ITERATOR_NAME","getInternalCollectionState","getInternalIteratorState","setSpecies","LAST_SELECTION","DEFAULT_WITHOUT_SAVING_ORIGIN","YHistoryEditor","isYHistoryEditor","undoManager","UndoManager","undo","redo","canUndo","undoStack","canRedo","redoStack","isSaving","trackedOrigins","withoutSaving","withoutSavingOrigin","CURSOR_CHANGE_EVENT_LISTENERS","CursorEditor","isCursorEditor","awareness","cursorDataField","selectionStateField","sendCursorPosition","sendCursorData","selection","on","handler","listeners","Set","off","listener","cursorState","clientId","clientID","getStates","relativeSelection","cursorStates","cursorStateField","autoSend","e","cursorData","setLocalStateField","localState","getLocalState","currentRange","compareRelativePositions","awarenessChangeListener","yEvent","localId","added","updated","onChange_1","onChange","restOptions","handleStackItemAdded","stackItem","handleStackItemUpdated","handleStackItemPopped","inverseStack","inverseItem","Transforms","select","handleYEvents","transaction","autoConnectTimeoutId","autoConnect","setTimeout","observeDeep","force","operations","clearTimeout","unobserveDeep","txGroups","currentGroup","txGroup","applySlateOp"],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sources":["../../../node_modules/core-js/internals/global.js","../../../node_modules/core-js/internals/engine-v8-version.js","../../../node_modules/core-js/internals/fails.js","../../../node_modules/core-js/internals/descriptors.js","../../../node_modules/core-js/internals/function-call.js","../../../node_modules/core-js/internals/object-property-is-enumerable.js","../../../node_modules/core-js/internals/create-property-descriptor.js","../../../node_modules/core-js/internals/function-uncurry-this.js","../../../node_modules/core-js/internals/classof-raw.js","../../../node_modules/core-js/internals/indexed-object.js","../../../node_modules/core-js/internals/require-object-coercible.js","../../../node_modules/core-js/internals/to-indexed-object.js","../../../node_modules/core-js/internals/is-callable.js","../../../node_modules/core-js/internals/is-object.js","../../../node_modules/core-js/internals/get-built-in.js","../../../node_modules/core-js/internals/object-is-prototype-of.js","../../../node_modules/core-js/internals/engine-user-agent.js","../../../node_modules/core-js/internals/native-symbol.js","../../../node_modules/core-js/internals/use-symbol-as-uid.js","../../../node_modules/core-js/internals/is-symbol.js","../../../node_modules/core-js/internals/try-to-string.js","../../../node_modules/core-js/internals/a-callable.js","../../../node_modules/core-js/internals/get-method.js","../../../node_modules/core-js/internals/ordinary-to-primitive.js","../../../node_modules/core-js/internals/set-global.js","../../../node_modules/core-js/internals/shared-store.js","../../../node_modules/core-js/internals/shared.js","../../../node_modules/core-js/internals/to-object.js","../../../node_modules/core-js/internals/has-own-property.js","../../../node_modules/core-js/internals/uid.js","../../../node_modules/core-js/internals/well-known-symbol.js","../../../node_modules/core-js/internals/to-primitive.js","../../../node_modules/core-js/internals/to-property-key.js","../../../node_modules/core-js/internals/document-create-element.js","../../../node_modules/core-js/internals/ie8-dom-define.js","../../../node_modules/core-js/internals/object-get-own-property-descriptor.js","../../../node_modules/core-js/internals/an-object.js","../../../node_modules/core-js/internals/object-define-property.js","../../../node_modules/core-js/internals/create-non-enumerable-property.js","../../../node_modules/core-js/internals/inspect-source.js","../../../node_modules/core-js/internals/internal-state.js","../../../node_modules/core-js/internals/native-weak-map.js","../../../node_modules/core-js/internals/shared-key.js","../../../node_modules/core-js/internals/hidden-keys.js","../../../node_modules/core-js/internals/function-name.js","../../../node_modules/core-js/internals/redefine.js","../../../node_modules/core-js/internals/to-integer-or-infinity.js","../../../node_modules/core-js/internals/to-absolute-index.js","../../../node_modules/core-js/internals/to-length.js","../../../node_modules/core-js/internals/length-of-array-like.js","../../../node_modules/core-js/internals/array-includes.js","../../../node_modules/core-js/internals/object-keys-internal.js","../../../node_modules/core-js/internals/enum-bug-keys.js","../../../node_modules/core-js/internals/object-get-own-property-names.js","../../../node_modules/core-js/internals/object-get-own-property-symbols.js","../../../node_modules/core-js/internals/own-keys.js","../../../node_modules/core-js/internals/copy-constructor-properties.js","../../../node_modules/core-js/internals/is-forced.js","../../../node_modules/core-js/internals/export.js","../../../node_modules/core-js/internals/function-apply.js","../../../node_modules/core-js/internals/is-array.js","../../../node_modules/core-js/internals/to-string-tag-support.js","../../../node_modules/core-js/internals/object-create.js","../../../node_modules/core-js/internals/classof.js","../../../node_modules/core-js/internals/to-string.js","../../../node_modules/core-js/internals/object-keys.js","../../../node_modules/core-js/internals/object-define-properties.js","../../../node_modules/core-js/internals/html.js","../../../node_modules/core-js/internals/create-property.js","../../../node_modules/core-js/internals/array-slice-simple.js","../../../node_modules/core-js/internals/object-get-own-property-names-external.js","../../../node_modules/core-js/internals/array-slice.js","../../../node_modules/core-js/internals/well-known-symbol-wrapped.js","../../../node_modules/core-js/internals/path.js","../../../node_modules/core-js/internals/define-well-known-symbol.js","../../../node_modules/core-js/internals/set-to-string-tag.js","../../../node_modules/core-js/internals/function-bind-context.js","../../../node_modules/core-js/internals/is-constructor.js","../../../node_modules/core-js/internals/array-species-constructor.js","../../../node_modules/core-js/internals/array-species-create.js","../../../node_modules/core-js/internals/array-iteration.js","../../../node_modules/core-js/modules/es.symbol.js","../../../node_modules/core-js/modules/es.symbol.description.js","../../../node_modules/core-js/internals/add-to-unscopables.js","../../../node_modules/core-js/internals/iterators-core.js","../../../node_modules/core-js/internals/iterators.js","../../../node_modules/core-js/internals/correct-prototype-getter.js","../../../node_modules/core-js/internals/object-get-prototype-of.js","../../../node_modules/core-js/internals/create-iterator-constructor.js","../../../node_modules/core-js/internals/a-possible-prototype.js","../../../node_modules/core-js/internals/object-set-prototype-of.js","../../../node_modules/core-js/internals/define-iterator.js","../../../node_modules/core-js/modules/es.array.iterator.js","../../../node_modules/core-js/internals/object-to-string.js","../../../node_modules/core-js/modules/es.object.to-string.js","../../../node_modules/core-js/internals/string-multibyte.js","../../../node_modules/core-js/modules/es.string.iterator.js","../../../node_modules/core-js/internals/redefine-all.js","../../../node_modules/core-js/internals/array-buffer-non-extensible.js","../../../node_modules/core-js/internals/object-is-extensible.js","../../../node_modules/core-js/internals/freezing.js","../../../node_modules/core-js/internals/internal-metadata.js","../../../node_modules/core-js/internals/is-array-iterator-method.js","../../../node_modules/core-js/internals/get-iterator-method.js","../../../node_modules/core-js/internals/get-iterator.js","../../../node_modules/core-js/internals/iterator-close.js","../../../node_modules/core-js/internals/iterate.js","../../../node_modules/core-js/internals/an-instance.js","../../../node_modules/core-js/internals/check-correctness-of-iteration.js","../../../node_modules/core-js/internals/collection.js","../../../node_modules/core-js/internals/inherit-if-required.js","../../../node_modules/core-js/internals/collection-weak.js","../../../node_modules/core-js/modules/es.weak-map.js","../../../node_modules/core-js/modules/es.weak-set.js","../../../node_modules/core-js/internals/dom-iterables.js","../../../node_modules/core-js/internals/array-method-is-strict.js","../../../node_modules/core-js/internals/dom-token-list-prototype.js","../../../node_modules/core-js/internals/array-for-each.js","../../../node_modules/core-js/modules/web.dom-collections.for-each.js","../../../node_modules/core-js/modules/web.dom-collections.iterator.js","../../../node_modules/core-js/internals/call-with-safe-iteration-closing.js","../../../node_modules/core-js/internals/array-from.js","../../../node_modules/core-js/modules/es.array.from.js","../../../node_modules/core-js/internals/array-method-has-species-support.js","../../../node_modules/core-js/modules/es.array.map.js","../../../node_modules/core-js/modules/es.array.slice.js","../../../node_modules/core-js/modules/es.object.from-entries.js","../../../node_modules/core-js/modules/es.object.keys.js","../../../node_modules/core-js/internals/object-to-array.js","../../../node_modules/core-js/modules/es.object.entries.js","../../../node_modules/core-js/modules/es.array.filter.js","../../../node_modules/core-js/modules/es.array.includes.js","../../../node_modules/core-js/internals/regexp-flags.js","../../../node_modules/core-js/modules/es.regexp.to-string.js","../src/utils/object.ts","../src/utils/delta.ts","../src/utils/slate.ts","../src/utils/convert.ts","../../../node_modules/core-js/modules/es.array.concat.js","../src/utils/location.ts","../src/applyToSlate/textEvent.ts","../src/applyToSlate/index.ts","../src/utils/clone.ts","../../../node_modules/core-js/internals/object-assign.js","../../../node_modules/core-js/modules/es.object.assign.js","../../../node_modules/core-js/internals/is-regexp.js","../../../node_modules/core-js/modules/es.string.starts-with.js","../../../node_modules/core-js/internals/not-a-regexp.js","../../../node_modules/core-js/internals/correct-is-regexp-logic.js","../../../node_modules/core-js/internals/create-html.js","../src/utils/yjs.ts","../../../node_modules/core-js/modules/es.string.anchor.js","../../../node_modules/core-js/internals/string-html-forced.js","../src/utils/position.ts","../src/applyToYjs/node/index.ts","../src/applyToYjs/node/insertNode.ts","../src/applyToYjs/node/removeNode.ts","../src/applyToYjs/node/setNode.ts","../src/applyToYjs/node/mergeNode.ts","../src/applyToYjs/node/moveNode.ts","../src/applyToYjs/node/splitNode.ts","../src/applyToYjs/text/index.ts","../src/applyToYjs/index.ts","../src/applyToYjs/text/insertText.ts","../src/applyToYjs/text/removeText.ts","../src/plugins/withYjs.ts","../../../node_modules/core-js/internals/set-species.js","../../../node_modules/core-js/internals/collection-strong.js","../../../node_modules/core-js/modules/es.set.js","../src/plugins/withYHistory.ts","../src/plugins/withCursors.ts"],"sourcesContent":["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","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","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 uncurryThis = require('../internals/function-uncurry-this');\n\nmodule.exports = uncurryThis({}.isPrototypeOf);\n","var getBuiltIn = require('../internals/get-built-in');\n\nmodule.exports = getBuiltIn('navigator', 'userAgent') || '';\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","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 return store[key] || (store[key] = value !== undefined ? value : {});\n})('versions', []).push({\n version: '3.19.3',\n mode: IS_PURE ? 'pure' : 'global',\n copyright: '© 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 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 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 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 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 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","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","/* 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 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 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 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","var getBuiltIn = require('../internals/get-built-in');\n\nmodule.exports = getBuiltIn('document', 'documentElement');\n","'use strict';\nvar toPropertyKey = require('../internals/to-property-key');\nvar definePropertyModule = require('../internals/object-define-property');\nvar createPropertyDescriptor = require('../internals/create-property-descriptor');\n\nmodule.exports = function (object, key, value) {\n var propertyKey = toPropertyKey(key);\n if (propertyKey in object) definePropertyModule.f(object, propertyKey, createPropertyDescriptor(0, value));\n else object[propertyKey] = value;\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","/* eslint-disable es/no-object-getownpropertynames -- safe */\nvar classof = require('../internals/classof-raw');\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar $getOwnPropertyNames = require('../internals/object-get-own-property-names').f;\nvar arraySlice = require('../internals/array-slice-simple');\n\nvar windowNames = typeof window == 'object' && window && Object.getOwnPropertyNames\n ? Object.getOwnPropertyNames(window) : [];\n\nvar getWindowNames = function (it) {\n try {\n return $getOwnPropertyNames(it);\n } catch (error) {\n return arraySlice(windowNames);\n }\n};\n\n// fallback for IE11 buggy Object.getOwnPropertyNames with iframe and window\nmodule.exports.f = function getOwnPropertyNames(it) {\n return windowNames && classof(it) == 'Window'\n ? getWindowNames(it)\n : $getOwnPropertyNames(toIndexedObject(it));\n};\n","var uncurryThis = require('../internals/function-uncurry-this');\n\nmodule.exports = uncurryThis([].slice);\n","var wellKnownSymbol = require('../internals/well-known-symbol');\n\nexports.f = wellKnownSymbol;\n","var global = require('../internals/global');\n\nmodule.exports = global;\n","var path = require('../internals/path');\nvar hasOwn = require('../internals/has-own-property');\nvar wrappedWellKnownSymbolModule = require('../internals/well-known-symbol-wrapped');\nvar defineProperty = require('../internals/object-define-property').f;\n\nmodule.exports = function (NAME) {\n var Symbol = path.Symbol || (path.Symbol = {});\n if (!hasOwn(Symbol, NAME)) defineProperty(Symbol, NAME, {\n value: wrappedWellKnownSymbolModule.f(NAME)\n });\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","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","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 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 $ = require('../internals/export');\nvar global = require('../internals/global');\nvar getBuiltIn = require('../internals/get-built-in');\nvar apply = require('../internals/function-apply');\nvar call = require('../internals/function-call');\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar IS_PURE = require('../internals/is-pure');\nvar DESCRIPTORS = require('../internals/descriptors');\nvar NATIVE_SYMBOL = require('../internals/native-symbol');\nvar fails = require('../internals/fails');\nvar hasOwn = require('../internals/has-own-property');\nvar isArray = require('../internals/is-array');\nvar isCallable = require('../internals/is-callable');\nvar isObject = require('../internals/is-object');\nvar isPrototypeOf = require('../internals/object-is-prototype-of');\nvar isSymbol = require('../internals/is-symbol');\nvar anObject = require('../internals/an-object');\nvar toObject = require('../internals/to-object');\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar toPropertyKey = require('../internals/to-property-key');\nvar $toString = require('../internals/to-string');\nvar createPropertyDescriptor = require('../internals/create-property-descriptor');\nvar nativeObjectCreate = require('../internals/object-create');\nvar objectKeys = require('../internals/object-keys');\nvar getOwnPropertyNamesModule = require('../internals/object-get-own-property-names');\nvar getOwnPropertyNamesExternal = require('../internals/object-get-own-property-names-external');\nvar getOwnPropertySymbolsModule = require('../internals/object-get-own-property-symbols');\nvar getOwnPropertyDescriptorModule = require('../internals/object-get-own-property-descriptor');\nvar definePropertyModule = require('../internals/object-define-property');\nvar propertyIsEnumerableModule = require('../internals/object-property-is-enumerable');\nvar arraySlice = require('../internals/array-slice');\nvar redefine = require('../internals/redefine');\nvar shared = require('../internals/shared');\nvar sharedKey = require('../internals/shared-key');\nvar hiddenKeys = require('../internals/hidden-keys');\nvar uid = require('../internals/uid');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\nvar wrappedWellKnownSymbolModule = require('../internals/well-known-symbol-wrapped');\nvar defineWellKnownSymbol = require('../internals/define-well-known-symbol');\nvar setToStringTag = require('../internals/set-to-string-tag');\nvar InternalStateModule = require('../internals/internal-state');\nvar $forEach = require('../internals/array-iteration').forEach;\n\nvar HIDDEN = sharedKey('hidden');\nvar SYMBOL = 'Symbol';\nvar PROTOTYPE = 'prototype';\nvar TO_PRIMITIVE = wellKnownSymbol('toPrimitive');\n\nvar setInternalState = InternalStateModule.set;\nvar getInternalState = InternalStateModule.getterFor(SYMBOL);\n\nvar ObjectPrototype = Object[PROTOTYPE];\nvar $Symbol = global.Symbol;\nvar SymbolPrototype = $Symbol && $Symbol[PROTOTYPE];\nvar TypeError = global.TypeError;\nvar QObject = global.QObject;\nvar $stringify = getBuiltIn('JSON', 'stringify');\nvar nativeGetOwnPropertyDescriptor = getOwnPropertyDescriptorModule.f;\nvar nativeDefineProperty = definePropertyModule.f;\nvar nativeGetOwnPropertyNames = getOwnPropertyNamesExternal.f;\nvar nativePropertyIsEnumerable = propertyIsEnumerableModule.f;\nvar push = uncurryThis([].push);\n\nvar AllSymbols = shared('symbols');\nvar ObjectPrototypeSymbols = shared('op-symbols');\nvar StringToSymbolRegistry = shared('string-to-symbol-registry');\nvar SymbolToStringRegistry = shared('symbol-to-string-registry');\nvar WellKnownSymbolsStore = shared('wks');\n\n// Don't use setters in Qt Script, https://github.com/zloirock/core-js/issues/173\nvar USE_SETTER = !QObject || !QObject[PROTOTYPE] || !QObject[PROTOTYPE].findChild;\n\n// fallback for old Android, https://code.google.com/p/v8/issues/detail?id=687\nvar setSymbolDescriptor = DESCRIPTORS && fails(function () {\n return nativeObjectCreate(nativeDefineProperty({}, 'a', {\n get: function () { return nativeDefineProperty(this, 'a', { value: 7 }).a; }\n })).a != 7;\n}) ? function (O, P, Attributes) {\n var ObjectPrototypeDescriptor = nativeGetOwnPropertyDescriptor(ObjectPrototype, P);\n if (ObjectPrototypeDescriptor) delete ObjectPrototype[P];\n nativeDefineProperty(O, P, Attributes);\n if (ObjectPrototypeDescriptor && O !== ObjectPrototype) {\n nativeDefineProperty(ObjectPrototype, P, ObjectPrototypeDescriptor);\n }\n} : nativeDefineProperty;\n\nvar wrap = function (tag, description) {\n var symbol = AllSymbols[tag] = nativeObjectCreate(SymbolPrototype);\n setInternalState(symbol, {\n type: SYMBOL,\n tag: tag,\n description: description\n });\n if (!DESCRIPTORS) symbol.description = description;\n return symbol;\n};\n\nvar $defineProperty = function defineProperty(O, P, Attributes) {\n if (O === ObjectPrototype) $defineProperty(ObjectPrototypeSymbols, P, Attributes);\n anObject(O);\n var key = toPropertyKey(P);\n anObject(Attributes);\n if (hasOwn(AllSymbols, key)) {\n if (!Attributes.enumerable) {\n if (!hasOwn(O, HIDDEN)) nativeDefineProperty(O, HIDDEN, createPropertyDescriptor(1, {}));\n O[HIDDEN][key] = true;\n } else {\n if (hasOwn(O, HIDDEN) && O[HIDDEN][key]) O[HIDDEN][key] = false;\n Attributes = nativeObjectCreate(Attributes, { enumerable: createPropertyDescriptor(0, false) });\n } return setSymbolDescriptor(O, key, Attributes);\n } return nativeDefineProperty(O, key, Attributes);\n};\n\nvar $defineProperties = function defineProperties(O, Properties) {\n anObject(O);\n var properties = toIndexedObject(Properties);\n var keys = objectKeys(properties).concat($getOwnPropertySymbols(properties));\n $forEach(keys, function (key) {\n if (!DESCRIPTORS || call($propertyIsEnumerable, properties, key)) $defineProperty(O, key, properties[key]);\n });\n return O;\n};\n\nvar $create = function create(O, Properties) {\n return Properties === undefined ? nativeObjectCreate(O) : $defineProperties(nativeObjectCreate(O), Properties);\n};\n\nvar $propertyIsEnumerable = function propertyIsEnumerable(V) {\n var P = toPropertyKey(V);\n var enumerable = call(nativePropertyIsEnumerable, this, P);\n if (this === ObjectPrototype && hasOwn(AllSymbols, P) && !hasOwn(ObjectPrototypeSymbols, P)) return false;\n return enumerable || !hasOwn(this, P) || !hasOwn(AllSymbols, P) || hasOwn(this, HIDDEN) && this[HIDDEN][P]\n ? enumerable : true;\n};\n\nvar $getOwnPropertyDescriptor = function getOwnPropertyDescriptor(O, P) {\n var it = toIndexedObject(O);\n var key = toPropertyKey(P);\n if (it === ObjectPrototype && hasOwn(AllSymbols, key) && !hasOwn(ObjectPrototypeSymbols, key)) return;\n var descriptor = nativeGetOwnPropertyDescriptor(it, key);\n if (descriptor && hasOwn(AllSymbols, key) && !(hasOwn(it, HIDDEN) && it[HIDDEN][key])) {\n descriptor.enumerable = true;\n }\n return descriptor;\n};\n\nvar $getOwnPropertyNames = function getOwnPropertyNames(O) {\n var names = nativeGetOwnPropertyNames(toIndexedObject(O));\n var result = [];\n $forEach(names, function (key) {\n if (!hasOwn(AllSymbols, key) && !hasOwn(hiddenKeys, key)) push(result, key);\n });\n return result;\n};\n\nvar $getOwnPropertySymbols = function getOwnPropertySymbols(O) {\n var IS_OBJECT_PROTOTYPE = O === ObjectPrototype;\n var names = nativeGetOwnPropertyNames(IS_OBJECT_PROTOTYPE ? ObjectPrototypeSymbols : toIndexedObject(O));\n var result = [];\n $forEach(names, function (key) {\n if (hasOwn(AllSymbols, key) && (!IS_OBJECT_PROTOTYPE || hasOwn(ObjectPrototype, key))) {\n push(result, AllSymbols[key]);\n }\n });\n return result;\n};\n\n// `Symbol` constructor\n// https://tc39.es/ecma262/#sec-symbol-constructor\nif (!NATIVE_SYMBOL) {\n $Symbol = function Symbol() {\n if (isPrototypeOf(SymbolPrototype, this)) throw TypeError('Symbol is not a constructor');\n var description = !arguments.length || arguments[0] === undefined ? undefined : $toString(arguments[0]);\n var tag = uid(description);\n var setter = function (value) {\n if (this === ObjectPrototype) call(setter, ObjectPrototypeSymbols, value);\n if (hasOwn(this, HIDDEN) && hasOwn(this[HIDDEN], tag)) this[HIDDEN][tag] = false;\n setSymbolDescriptor(this, tag, createPropertyDescriptor(1, value));\n };\n if (DESCRIPTORS && USE_SETTER) setSymbolDescriptor(ObjectPrototype, tag, { configurable: true, set: setter });\n return wrap(tag, description);\n };\n\n SymbolPrototype = $Symbol[PROTOTYPE];\n\n redefine(SymbolPrototype, 'toString', function toString() {\n return getInternalState(this).tag;\n });\n\n redefine($Symbol, 'withoutSetter', function (description) {\n return wrap(uid(description), description);\n });\n\n propertyIsEnumerableModule.f = $propertyIsEnumerable;\n definePropertyModule.f = $defineProperty;\n getOwnPropertyDescriptorModule.f = $getOwnPropertyDescriptor;\n getOwnPropertyNamesModule.f = getOwnPropertyNamesExternal.f = $getOwnPropertyNames;\n getOwnPropertySymbolsModule.f = $getOwnPropertySymbols;\n\n wrappedWellKnownSymbolModule.f = function (name) {\n return wrap(wellKnownSymbol(name), name);\n };\n\n if (DESCRIPTORS) {\n // https://github.com/tc39/proposal-Symbol-description\n nativeDefineProperty(SymbolPrototype, 'description', {\n configurable: true,\n get: function description() {\n return getInternalState(this).description;\n }\n });\n if (!IS_PURE) {\n redefine(ObjectPrototype, 'propertyIsEnumerable', $propertyIsEnumerable, { unsafe: true });\n }\n }\n}\n\n$({ global: true, wrap: true, forced: !NATIVE_SYMBOL, sham: !NATIVE_SYMBOL }, {\n Symbol: $Symbol\n});\n\n$forEach(objectKeys(WellKnownSymbolsStore), function (name) {\n defineWellKnownSymbol(name);\n});\n\n$({ target: SYMBOL, stat: true, forced: !NATIVE_SYMBOL }, {\n // `Symbol.for` method\n // https://tc39.es/ecma262/#sec-symbol.for\n 'for': function (key) {\n var string = $toString(key);\n if (hasOwn(StringToSymbolRegistry, string)) return StringToSymbolRegistry[string];\n var symbol = $Symbol(string);\n StringToSymbolRegistry[string] = symbol;\n SymbolToStringRegistry[symbol] = string;\n return symbol;\n },\n // `Symbol.keyFor` method\n // https://tc39.es/ecma262/#sec-symbol.keyfor\n keyFor: function keyFor(sym) {\n if (!isSymbol(sym)) throw TypeError(sym + ' is not a symbol');\n if (hasOwn(SymbolToStringRegistry, sym)) return SymbolToStringRegistry[sym];\n },\n useSetter: function () { USE_SETTER = true; },\n useSimple: function () { USE_SETTER = false; }\n});\n\n$({ target: 'Object', stat: true, forced: !NATIVE_SYMBOL, sham: !DESCRIPTORS }, {\n // `Object.create` method\n // https://tc39.es/ecma262/#sec-object.create\n create: $create,\n // `Object.defineProperty` method\n // https://tc39.es/ecma262/#sec-object.defineproperty\n defineProperty: $defineProperty,\n // `Object.defineProperties` method\n // https://tc39.es/ecma262/#sec-object.defineproperties\n defineProperties: $defineProperties,\n // `Object.getOwnPropertyDescriptor` method\n // https://tc39.es/ecma262/#sec-object.getownpropertydescriptors\n getOwnPropertyDescriptor: $getOwnPropertyDescriptor\n});\n\n$({ target: 'Object', stat: true, forced: !NATIVE_SYMBOL }, {\n // `Object.getOwnPropertyNames` method\n // https://tc39.es/ecma262/#sec-object.getownpropertynames\n getOwnPropertyNames: $getOwnPropertyNames,\n // `Object.getOwnPropertySymbols` method\n // https://tc39.es/ecma262/#sec-object.getownpropertysymbols\n getOwnPropertySymbols: $getOwnPropertySymbols\n});\n\n// Chrome 38 and 39 `Object.getOwnPropertySymbols` fails on primitives\n// https://bugs.chromium.org/p/v8/issues/detail?id=3443\n$({ target: 'Object', stat: true, forced: fails(function () { getOwnPropertySymbolsModule.f(1); }) }, {\n getOwnPropertySymbols: function getOwnPropertySymbols(it) {\n return getOwnPropertySymbolsModule.f(toObject(it));\n }\n});\n\n// `JSON.stringify` method behavior with symbols\n// https://tc39.es/ecma262/#sec-json.stringify\nif ($stringify) {\n var FORCED_JSON_STRINGIFY = !NATIVE_SYMBOL || fails(function () {\n var symbol = $Symbol();\n // MS Edge converts symbol values to JSON as {}\n return $stringify([symbol]) != '[null]'\n // WebKit converts symbol values to JSON as null\n || $stringify({ a: symbol }) != '{}'\n // V8 throws on boxed symbols\n || $stringify(Object(symbol)) != '{}';\n });\n\n $({ target: 'JSON', stat: true, forced: FORCED_JSON_STRINGIFY }, {\n // eslint-disable-next-line no-unused-vars -- required for `.length`\n stringify: function stringify(it, replacer, space) {\n var args = arraySlice(arguments);\n var $replacer = replacer;\n if (!isObject(replacer) && it === undefined || isSymbol(it)) return; // IE8 returns string on undefined\n if (!isArray(replacer)) replacer = function (key, value) {\n if (isCallable($replacer)) value = call($replacer, this, key, value);\n if (!isSymbol(value)) return value;\n };\n args[1] = replacer;\n return apply($stringify, null, args);\n }\n });\n}\n\n// `Symbol.prototype[@@toPrimitive]` method\n// https://tc39.es/ecma262/#sec-symbol.prototype-@@toprimitive\nif (!SymbolPrototype[TO_PRIMITIVE]) {\n var valueOf = SymbolPrototype.valueOf;\n // eslint-disable-next-line no-unused-vars -- required for .length\n redefine(SymbolPrototype, TO_PRIMITIVE, function (hint) {\n // TODO: improve hint logic\n return call(valueOf, this);\n });\n}\n// `Symbol.prototype[@@toStringTag]` property\n// https://tc39.es/ecma262/#sec-symbol.prototype-@@tostringtag\nsetToStringTag($Symbol, SYMBOL);\n\nhiddenKeys[HIDDEN] = true;\n","// `Symbol.prototype.description` getter\n// https://tc39.es/ecma262/#sec-symbol.prototype.description\n'use strict';\nvar $ = require('../internals/export');\nvar DESCRIPTORS = require('../internals/descriptors');\nvar global = require('../internals/global');\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar hasOwn = require('../internals/has-own-property');\nvar isCallable = require('../internals/is-callable');\nvar isPrototypeOf = require('../internals/object-is-prototype-of');\nvar toString = require('../internals/to-string');\nvar defineProperty = require('../internals/object-define-property').f;\nvar copyConstructorProperties = require('../internals/copy-constructor-properties');\n\nvar NativeSymbol = global.Symbol;\nvar SymbolPrototype = NativeSymbol && NativeSymbol.prototype;\n\nif (DESCRIPTORS && isCallable(NativeSymbol) && (!('description' in SymbolPrototype) ||\n // Safari 12 bug\n NativeSymbol().description !== undefined\n)) {\n var EmptyStringDescriptionStore = {};\n // wrap Symbol constructor for correct work with undefined description\n var SymbolWrapper = function Symbol() {\n var description = arguments.length < 1 || arguments[0] === undefined ? undefined : toString(arguments[0]);\n var result = isPrototypeOf(SymbolPrototype, this)\n ? new NativeSymbol(description)\n // in Edge 13, String(Symbol(undefined)) === 'Symbol(undefined)'\n : description === undefined ? NativeSymbol() : NativeSymbol(description);\n if (description === '') EmptyStringDescriptionStore[result] = true;\n return result;\n };\n\n copyConstructorProperties(SymbolWrapper, NativeSymbol);\n SymbolWrapper.prototype = SymbolPrototype;\n SymbolPrototype.constructor = SymbolWrapper;\n\n var NATIVE_SYMBOL = String(NativeSymbol('test')) == 'Symbol(test)';\n var symbolToString = uncurryThis(SymbolPrototype.toString);\n var symbolValueOf = uncurryThis(SymbolPrototype.valueOf);\n var regexp = /^Symbol\\((.*)\\)[^)]+$/;\n var replace = uncurryThis(''.replace);\n var stringSlice = uncurryThis(''.slice);\n\n defineProperty(SymbolPrototype, 'description', {\n configurable: true,\n get: function description() {\n var symbol = symbolValueOf(this);\n var string = symbolToString(symbol);\n if (hasOwn(EmptyStringDescriptionStore, symbol)) return '';\n var desc = NATIVE_SYMBOL ? stringSlice(string, 7, -1) : replace(string, regexp, '$1');\n return desc === '' ? undefined : desc;\n }\n });\n\n $({ global: true, forced: true }, {\n Symbol: SymbolWrapper\n });\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 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","module.exports = {};\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","'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, ENUMERABLE_NEXT) {\n var TO_STRING_TAG = NAME + ' Iterator';\n IteratorConstructor.prototype = create(IteratorPrototype, { next: createPropertyDescriptor(+!ENUMERABLE_NEXT, next) });\n setToStringTag(IteratorConstructor, TO_STRING_TAG, false, true);\n Iterators[TO_STRING_TAG] = returnThis;\n return IteratorConstructor;\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","'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","'use strict';\nvar TO_STRING_TAG_SUPPORT = require('../internals/to-string-tag-support');\nvar classof = require('../internals/classof');\n\n// `Object.prototype.toString` method implementation\n// https://tc39.es/ecma262/#sec-object.prototype.tostring\nmodule.exports = TO_STRING_TAG_SUPPORT ? {}.toString : function toString() {\n return '[object ' + classof(this) + ']';\n};\n","var TO_STRING_TAG_SUPPORT = require('../internals/to-string-tag-support');\nvar redefine = require('../internals/redefine');\nvar toString = require('../internals/object-to-string');\n\n// `Object.prototype.toString` method\n// https://tc39.es/ecma262/#sec-object.prototype.tostring\nif (!TO_STRING_TAG_SUPPORT) {\n redefine(Object.prototype, 'toString', toString, { unsafe: true });\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;\nvar toString = require('../internals/to-string');\nvar InternalStateModule = require('../internals/internal-state');\nvar defineIterator = require('../internals/define-iterator');\n\nvar STRING_ITERATOR = 'String Iterator';\nvar setInternalState = InternalStateModule.set;\nvar getInternalState = InternalStateModule.getterFor(STRING_ITERATOR);\n\n// `String.prototype[@@iterator]` method\n// https://tc39.es/ecma262/#sec-string.prototype-@@iterator\ndefineIterator(String, 'String', function (iterated) {\n setInternalState(this, {\n type: STRING_ITERATOR,\n string: toString(iterated),\n index: 0\n });\n// `%StringIteratorPrototype%.next` method\n// https://tc39.es/ecma262/#sec-%stringiteratorprototype%.next\n}, function next() {\n var state = getInternalState(this);\n var string = state.string;\n var index = state.index;\n var point;\n if (index >= string.length) return { value: undefined, done: true };\n point = charAt(string, index);\n state.index += point.length;\n return { value: point, done: false };\n});\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","// FF26- bug: ArrayBuffers are non-extensible, but Object.isExtensible does not report it\nvar fails = require('../internals/fails');\n\nmodule.exports = fails(function () {\n if (typeof ArrayBuffer == 'function') {\n var buffer = new ArrayBuffer(8);\n // eslint-disable-next-line es/no-object-isextensible, es/no-object-defineproperty -- safe\n if (Object.isExtensible(buffer)) Object.defineProperty(buffer, 'a', { value: 8 });\n }\n});\n","var fails = require('../internals/fails');\nvar isObject = require('../internals/is-object');\nvar classof = require('../internals/classof-raw');\nvar ARRAY_BUFFER_NON_EXTENSIBLE = require('../internals/array-buffer-non-extensible');\n\n// eslint-disable-next-line es/no-object-isextensible -- safe\nvar $isExtensible = Object.isExtensible;\nvar FAILS_ON_PRIMITIVES = fails(function () { $isExtensible(1); });\n\n// `Object.isExtensible` method\n// https://tc39.es/ecma262/#sec-object.isextensible\nmodule.exports = (FAILS_ON_PRIMITIVES || ARRAY_BUFFER_NON_EXTENSIBLE) ? function isExtensible(it) {\n if (!isObject(it)) return false;\n if (ARRAY_BUFFER_NON_EXTENSIBLE && classof(it) == 'ArrayBuffer') return false;\n return $isExtensible ? $isExtensible(it) : true;\n} : $isExtensible;\n","var fails = require('../internals/fails');\n\nmodule.exports = !fails(function () {\n // eslint-disable-next-line es/no-object-isextensible, es/no-object-preventextensions -- required for testing\n return Object.isExtensible(Object.preventExtensions({}));\n});\n","var $ = require('../internals/export');\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar hiddenKeys = require('../internals/hidden-keys');\nvar isObject = require('../internals/is-object');\nvar hasOwn = require('../internals/has-own-property');\nvar defineProperty = require('../internals/object-define-property').f;\nvar getOwnPropertyNamesModule = require('../internals/object-get-own-property-names');\nvar getOwnPropertyNamesExternalModule = require('../internals/object-get-own-property-names-external');\nvar isExtensible = require('../internals/object-is-extensible');\nvar uid = require('../internals/uid');\nvar FREEZING = require('../internals/freezing');\n\nvar REQUIRED = false;\nvar METADATA = uid('meta');\nvar id = 0;\n\nvar setMetadata = function (it) {\n defineProperty(it, METADATA, { value: {\n objectID: 'O' + id++, // object ID\n weakData: {} // weak collections IDs\n } });\n};\n\nvar fastKey = function (it, create) {\n // return a primitive with prefix\n if (!isObject(it)) return typeof it == 'symbol' ? it : (typeof it == 'string' ? 'S' : 'P') + it;\n if (!hasOwn(it, METADATA)) {\n // can't set metadata to uncaught frozen object\n if (!isExtensible(it)) return 'F';\n // not necessary to add metadata\n if (!create) return 'E';\n // add missing metadata\n setMetadata(it);\n // return object ID\n } return it[METADATA].objectID;\n};\n\nvar getWeakData = function (it, create) {\n if (!hasOwn(it, METADATA)) {\n // can't set metadata to uncaught frozen object\n if (!isExtensible(it)) return true;\n // not necessary to add metadata\n if (!create) return false;\n // add missing metadata\n setMetadata(it);\n // return the store of weak collections IDs\n } return it[METADATA].weakData;\n};\n\n// add metadata on freeze-family methods calling\nvar onFreeze = function (it) {\n if (FREEZING && REQUIRED && isExtensible(it) && !hasOwn(it, METADATA)) setMetadata(it);\n return it;\n};\n\nvar enable = function () {\n meta.enable = function () { /* empty */ };\n REQUIRED = true;\n var getOwnPropertyNames = getOwnPropertyNamesModule.f;\n var splice = uncurryThis([].splice);\n var test = {};\n test[METADATA] = 1;\n\n // prevent exposing of metadata key\n if (getOwnPropertyNames(test).length) {\n getOwnPropertyNamesModule.f = function (it) {\n var result = getOwnPropertyNames(it);\n for (var i = 0, length = result.length; i < length; i++) {\n if (result[i] === METADATA) {\n splice(result, i, 1);\n break;\n }\n } return result;\n };\n\n $({ target: 'Object', stat: true, forced: true }, {\n getOwnPropertyNames: getOwnPropertyNamesExternalModule.f\n });\n }\n};\n\nvar meta = module.exports = {\n enable: enable,\n fastKey: fastKey,\n getWeakData: getWeakData,\n onFreeze: onFreeze\n};\n\nhiddenKeys[METADATA] = true;\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 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 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 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 $ = require('../internals/export');\nvar global = require('../internals/global');\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar isForced = require('../internals/is-forced');\nvar redefine = require('../internals/redefine');\nvar InternalMetadataModule = require('../internals/internal-metadata');\nvar iterate = require('../internals/iterate');\nvar anInstance = require('../internals/an-instance');\nvar isCallable = require('../internals/is-callable');\nvar isObject = require('../internals/is-object');\nvar fails = require('../internals/fails');\nvar checkCorrectnessOfIteration = require('../internals/check-correctness-of-iteration');\nvar setToStringTag = require('../internals/set-to-string-tag');\nvar inheritIfRequired = require('../internals/inherit-if-required');\n\nmodule.exports = function (CONSTRUCTOR_NAME, wrapper, common) {\n var IS_MAP = CONSTRUCTOR_NAME.indexOf('Map') !== -1;\n var IS_WEAK = CONSTRUCTOR_NAME.indexOf('Weak') !== -1;\n var ADDER = IS_MAP ? 'set' : 'add';\n var NativeConstructor = global[CONSTRUCTOR_NAME];\n var NativePrototype = NativeConstructor && NativeConstructor.prototype;\n var Constructor = NativeConstructor;\n var exported = {};\n\n var fixMethod = function (KEY) {\n var uncurriedNativeMethod = uncurryThis(NativePrototype[KEY]);\n redefine(NativePrototype, KEY,\n KEY == 'add' ? function add(value) {\n uncurriedNativeMethod(this, value === 0 ? 0 : value);\n return this;\n } : KEY == 'delete' ? function (key) {\n return IS_WEAK && !isObject(key) ? false : uncurriedNativeMethod(this, key === 0 ? 0 : key);\n } : KEY == 'get' ? function get(key) {\n return IS_WEAK && !isObject(key) ? undefined : uncurriedNativeMethod(this, key === 0 ? 0 : key);\n } : KEY == 'has' ? function has(key) {\n return IS_WEAK && !isObject(key) ? false : uncurriedNativeMethod(this, key === 0 ? 0 : key);\n } : function set(key, value) {\n uncurriedNativeMethod(this, key === 0 ? 0 : key, value);\n return this;\n }\n );\n };\n\n var REPLACE = isForced(\n CONSTRUCTOR_NAME,\n !isCallable(NativeConstructor) || !(IS_WEAK || NativePrototype.forEach && !fails(function () {\n new NativeConstructor().entries().next();\n }))\n );\n\n if (REPLACE) {\n // create collection constructor\n Constructor = common.getConstructor(wrapper, CONSTRUCTOR_NAME, IS_MAP, ADDER);\n InternalMetadataModule.enable();\n } else if (isForced(CONSTRUCTOR_NAME, true)) {\n var instance = new Constructor();\n // early implementations not supports chaining\n var HASNT_CHAINING = instance[ADDER](IS_WEAK ? {} : -0, 1) != instance;\n // V8 ~ Chromium 40- weak-collections throws on primitives, but should return false\n var THROWS_ON_PRIMITIVES = fails(function () { instance.has(1); });\n // most early implementations doesn't supports iterables, most modern - not close it correctly\n // eslint-disable-next-line no-new -- required for testing\n var ACCEPT_ITERABLES = checkCorrectnessOfIteration(function (iterable) { new NativeConstructor(iterable); });\n // for early implementations -0 and +0 not the same\n var BUGGY_ZERO = !IS_WEAK && fails(function () {\n // V8 ~ Chromium 42- fails only with 5+ elements\n var $instance = new NativeConstructor();\n var index = 5;\n while (index--) $instance[ADDER](index, index);\n return !$instance.has(-0);\n });\n\n if (!ACCEPT_ITERABLES) {\n Constructor = wrapper(function (dummy, iterable) {\n anInstance(dummy, NativePrototype);\n var that = inheritIfRequired(new NativeConstructor(), dummy, Constructor);\n if (iterable != undefined) iterate(iterable, that[ADDER], { that: that, AS_ENTRIES: IS_MAP });\n return that;\n });\n Constructor.prototype = NativePrototype;\n NativePrototype.constructor = Constructor;\n }\n\n if (THROWS_ON_PRIMITIVES || BUGGY_ZERO) {\n fixMethod('delete');\n fixMethod('has');\n IS_MAP && fixMethod('get');\n }\n\n if (BUGGY_ZERO || HASNT_CHAINING) fixMethod(ADDER);\n\n // weak collections should not contains .clear method\n if (IS_WEAK && NativePrototype.clear) delete NativePrototype.clear;\n }\n\n exported[CONSTRUCTOR_NAME] = Constructor;\n $({ global: true, forced: Constructor != NativeConstructor }, exported);\n\n setToStringTag(Constructor, CONSTRUCTOR_NAME);\n\n if (!IS_WEAK) common.setStrong(Constructor, CONSTRUCTOR_NAME, IS_MAP);\n\n return Constructor;\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 uncurryThis = require('../internals/function-uncurry-this');\nvar redefineAll = require('../internals/redefine-all');\nvar getWeakData = require('../internals/internal-metadata').getWeakData;\nvar anObject = require('../internals/an-object');\nvar isObject = require('../internals/is-object');\nvar anInstance = require('../internals/an-instance');\nvar iterate = require('../internals/iterate');\nvar ArrayIterationModule = require('../internals/array-iteration');\nvar hasOwn = require('../internals/has-own-property');\nvar InternalStateModule = require('../internals/internal-state');\n\nvar setInternalState = InternalStateModule.set;\nvar internalStateGetterFor = InternalStateModule.getterFor;\nvar find = ArrayIterationModule.find;\nvar findIndex = ArrayIterationModule.findIndex;\nvar splice = uncurryThis([].splice);\nvar id = 0;\n\n// fallback for uncaught frozen keys\nvar uncaughtFrozenStore = function (store) {\n return store.frozen || (store.frozen = new UncaughtFrozenStore());\n};\n\nvar UncaughtFrozenStore = function () {\n this.entries = [];\n};\n\nvar findUncaughtFrozen = function (store, key) {\n return find(store.entries, function (it) {\n return it[0] === key;\n });\n};\n\nUncaughtFrozenStore.prototype = {\n get: function (key) {\n var entry = findUncaughtFrozen(this, key);\n if (entry) return entry[1];\n },\n has: function (key) {\n return !!findUncaughtFrozen(this, key);\n },\n set: function (key, value) {\n var entry = findUncaughtFrozen(this, key);\n if (entry) entry[1] = value;\n else this.entries.push([key, value]);\n },\n 'delete': function (key) {\n var index = findIndex(this.entries, function (it) {\n return it[0] === key;\n });\n if (~index) splice(this.entries, index, 1);\n return !!~index;\n }\n};\n\nmodule.exports = {\n getConstructor: function (wrapper, CONSTRUCTOR_NAME, IS_MAP, ADDER) {\n var Constructor = wrapper(function (that, iterable) {\n anInstance(that, Prototype);\n setInternalState(that, {\n type: CONSTRUCTOR_NAME,\n id: id++,\n frozen: undefined\n });\n if (iterable != undefined) iterate(iterable, that[ADDER], { that: that, AS_ENTRIES: IS_MAP });\n });\n\n var Prototype = Constructor.prototype;\n\n var getInternalState = internalStateGetterFor(CONSTRUCTOR_NAME);\n\n var define = function (that, key, value) {\n var state = getInternalState(that);\n var data = getWeakData(anObject(key), true);\n if (data === true) uncaughtFrozenStore(state).set(key, value);\n else data[state.id] = value;\n return that;\n };\n\n redefineAll(Prototype, {\n // `{ WeakMap, WeakSet }.prototype.delete(key)` methods\n // https://tc39.es/ecma262/#sec-weakmap.prototype.delete\n // https://tc39.es/ecma262/#sec-weakset.prototype.delete\n 'delete': function (key) {\n var state = getInternalState(this);\n if (!isObject(key)) return false;\n var data = getWeakData(key);\n if (data === true) return uncaughtFrozenStore(state)['delete'](key);\n return data && hasOwn(data, state.id) && delete data[state.id];\n },\n // `{ WeakMap, WeakSet }.prototype.has(key)` methods\n // https://tc39.es/ecma262/#sec-weakmap.prototype.has\n // https://tc39.es/ecma262/#sec-weakset.prototype.has\n has: function has(key) {\n var state = getInternalState(this);\n if (!isObject(key)) return false;\n var data = getWeakData(key);\n if (data === true) return uncaughtFrozenStore(state).has(key);\n return data && hasOwn(data, state.id);\n }\n });\n\n redefineAll(Prototype, IS_MAP ? {\n // `WeakMap.prototype.get(key)` method\n // https://tc39.es/ecma262/#sec-weakmap.prototype.get\n get: function get(key) {\n var state = getInternalState(this);\n if (isObject(key)) {\n var data = getWeakData(key);\n if (data === true) return uncaughtFrozenStore(state).get(key);\n return data ? data[state.id] : undefined;\n }\n },\n // `WeakMap.prototype.set(key, value)` method\n // https://tc39.es/ecma262/#sec-weakmap.prototype.set\n set: function set(key, value) {\n return define(this, key, value);\n }\n } : {\n // `WeakSet.prototype.add(value)` method\n // https://tc39.es/ecma262/#sec-weakset.prototype.add\n add: function add(value) {\n return define(this, value, true);\n }\n });\n\n return Constructor;\n }\n};\n","'use strict';\nvar global = require('../internals/global');\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar redefineAll = require('../internals/redefine-all');\nvar InternalMetadataModule = require('../internals/internal-metadata');\nvar collection = require('../internals/collection');\nvar collectionWeak = require('../internals/collection-weak');\nvar isObject = require('../internals/is-object');\nvar isExtensible = require('../internals/object-is-extensible');\nvar enforceIternalState = require('../internals/internal-state').enforce;\nvar NATIVE_WEAK_MAP = require('../internals/native-weak-map');\n\nvar IS_IE11 = !global.ActiveXObject && 'ActiveXObject' in global;\nvar InternalWeakMap;\n\nvar wrapper = function (init) {\n return function WeakMap() {\n return init(this, arguments.length ? arguments[0] : undefined);\n };\n};\n\n// `WeakMap` constructor\n// https://tc39.es/ecma262/#sec-weakmap-constructor\nvar $WeakMap = collection('WeakMap', wrapper, collectionWeak);\n\n// IE11 WeakMap frozen keys fix\n// We can't use feature detection because it crash some old IE builds\n// https://github.com/zloirock/core-js/issues/485\nif (NATIVE_WEAK_MAP && IS_IE11) {\n InternalWeakMap = collectionWeak.getConstructor(wrapper, 'WeakMap', true);\n InternalMetadataModule.enable();\n var WeakMapPrototype = $WeakMap.prototype;\n var nativeDelete = uncurryThis(WeakMapPrototype['delete']);\n var nativeHas = uncurryThis(WeakMapPrototype.has);\n var nativeGet = uncurryThis(WeakMapPrototype.get);\n var nativeSet = uncurryThis(WeakMapPrototype.set);\n redefineAll(WeakMapPrototype, {\n 'delete': function (key) {\n if (isObject(key) && !isExtensible(key)) {\n var state = enforceIternalState(this);\n if (!state.frozen) state.frozen = new InternalWeakMap();\n return nativeDelete(this, key) || state.frozen['delete'](key);\n } return nativeDelete(this, key);\n },\n has: function has(key) {\n if (isObject(key) && !isExtensible(key)) {\n var state = enforceIternalState(this);\n if (!state.frozen) state.frozen = new InternalWeakMap();\n return nativeHas(this, key) || state.frozen.has(key);\n } return nativeHas(this, key);\n },\n get: function get(key) {\n if (isObject(key) && !isExtensible(key)) {\n var state = enforceIternalState(this);\n if (!state.frozen) state.frozen = new InternalWeakMap();\n return nativeHas(this, key) ? nativeGet(this, key) : state.frozen.get(key);\n } return nativeGet(this, key);\n },\n set: function set(key, value) {\n if (isObject(key) && !isExtensible(key)) {\n var state = enforceIternalState(this);\n if (!state.frozen) state.frozen = new InternalWeakMap();\n nativeHas(this, key) ? nativeSet(this, key, value) : state.frozen.set(key, value);\n } else nativeSet(this, key, value);\n return this;\n }\n });\n}\n","'use strict';\nvar collection = require('../internals/collection');\nvar collectionWeak = require('../internals/collection-weak');\n\n// `WeakSet` constructor\n// https://tc39.es/ecma262/#sec-weakset-constructor\ncollection('WeakSet', function (init) {\n return function WeakSet() { return init(this, arguments.length ? arguments[0] : undefined); };\n}, collectionWeak);\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","'use strict';\nvar fails = require('../internals/fails');\n\nmodule.exports = function (METHOD_NAME, argument) {\n var method = [][METHOD_NAME];\n return !!method && fails(function () {\n // eslint-disable-next-line no-useless-call,no-throw-literal -- required for testing\n method.call(null, argument || function () { throw 1; }, 1);\n });\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 $forEach = require('../internals/array-iteration').forEach;\nvar arrayMethodIsStrict = require('../internals/array-method-is-strict');\n\nvar STRICT_METHOD = arrayMethodIsStrict('forEach');\n\n// `Array.prototype.forEach` method implementation\n// https://tc39.es/ecma262/#sec-array.prototype.foreach\nmodule.exports = !STRICT_METHOD ? function forEach(callbackfn /* , thisArg */) {\n return $forEach(this, callbackfn, arguments.length > 1 ? arguments[1] : undefined);\n// eslint-disable-next-line es/no-array-prototype-foreach -- safe\n} : [].forEach;\n","var global = require('../internals/global');\nvar DOMIterables = require('../internals/dom-iterables');\nvar DOMTokenListPrototype = require('../internals/dom-token-list-prototype');\nvar forEach = require('../internals/array-for-each');\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\n\nvar handlePrototype = function (CollectionPrototype) {\n // some Chrome versions have non-configurable methods on DOMTokenList\n if (CollectionPrototype && CollectionPrototype.forEach !== forEach) try {\n createNonEnumerableProperty(CollectionPrototype, 'forEach', forEach);\n } catch (error) {\n CollectionPrototype.forEach = forEach;\n }\n};\n\nfor (var COLLECTION_NAME in DOMIterables) {\n if (DOMIterables[COLLECTION_NAME]) {\n handlePrototype(global[COLLECTION_NAME] && global[COLLECTION_NAME].prototype);\n }\n}\n\nhandlePrototype(DOMTokenListPrototype);\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 anObject = require('../internals/an-object');\nvar iteratorClose = require('../internals/iterator-close');\n\n// call something on iterator step with safe closing on error\nmodule.exports = function (iterator, fn, value, ENTRIES) {\n try {\n return ENTRIES ? fn(anObject(value)[0], value[1]) : fn(value);\n } catch (error) {\n iteratorClose(iterator, 'throw', error);\n }\n};\n","'use strict';\nvar global = require('../internals/global');\nvar bind = require('../internals/function-bind-context');\nvar call = require('../internals/function-call');\nvar toObject = require('../internals/to-object');\nvar callWithSafeIterationClosing = require('../internals/call-with-safe-iteration-closing');\nvar isArrayIteratorMethod = require('../internals/is-array-iterator-method');\nvar isConstructor = require('../internals/is-constructor');\nvar lengthOfArrayLike = require('../internals/length-of-array-like');\nvar createProperty = require('../internals/create-property');\nvar getIterator = require('../internals/get-iterator');\nvar getIteratorMethod = require('../internals/get-iterator-method');\n\nvar Array = global.Array;\n\n// `Array.from` method implementation\n// https://tc39.es/ecma262/#sec-array.from\nmodule.exports = function from(arrayLike /* , mapfn = undefined, thisArg = undefined */) {\n var O = toObject(arrayLike);\n var IS_CONSTRUCTOR = isConstructor(this);\n var argumentsLength = arguments.length;\n var mapfn = argumentsLength > 1 ? arguments[1] : undefined;\n var mapping = mapfn !== undefined;\n if (mapping) mapfn = bind(mapfn, argumentsLength > 2 ? arguments[2] : undefined);\n var iteratorMethod = getIteratorMethod(O);\n var index = 0;\n var length, result, step, iterator, next, value;\n // if the target is not iterable or it's an array with the default iterator - use a simple case\n if (iteratorMethod && !(this == Array && isArrayIteratorMethod(iteratorMethod))) {\n iterator = getIterator(O, iteratorMethod);\n next = iterator.next;\n result = IS_CONSTRUCTOR ? new this() : [];\n for (;!(step = call(next, iterator)).done; index++) {\n value = mapping ? callWithSafeIterationClosing(iterator, mapfn, [step.value, index], true) : step.value;\n createProperty(result, index, value);\n }\n } else {\n length = lengthOfArrayLike(O);\n result = IS_CONSTRUCTOR ? new this(length) : Array(length);\n for (;length > index; index++) {\n value = mapping ? mapfn(O[index], index) : O[index];\n createProperty(result, index, value);\n }\n }\n result.length = index;\n return result;\n};\n","var $ = require('../internals/export');\nvar from = require('../internals/array-from');\nvar checkCorrectnessOfIteration = require('../internals/check-correctness-of-iteration');\n\nvar INCORRECT_ITERATION = !checkCorrectnessOfIteration(function (iterable) {\n // eslint-disable-next-line es/no-array-from -- required for testing\n Array.from(iterable);\n});\n\n// `Array.from` method\n// https://tc39.es/ecma262/#sec-array.from\n$({ target: 'Array', stat: true, forced: INCORRECT_ITERATION }, {\n from: from\n});\n","var fails = require('../internals/fails');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\nvar V8_VERSION = require('../internals/engine-v8-version');\n\nvar SPECIES = wellKnownSymbol('species');\n\nmodule.exports = function (METHOD_NAME) {\n // We can't use this feature detection in V8 since it causes\n // deoptimization and serious performance degradation\n // https://github.com/zloirock/core-js/issues/677\n return V8_VERSION >= 51 || !fails(function () {\n var array = [];\n var constructor = array.constructor = {};\n constructor[SPECIES] = function () {\n return { foo: 1 };\n };\n return array[METHOD_NAME](Boolean).foo !== 1;\n });\n};\n","'use strict';\nvar $ = require('../internals/export');\nvar $map = require('../internals/array-iteration').map;\nvar arrayMethodHasSpeciesSupport = require('../internals/array-method-has-species-support');\n\nvar HAS_SPECIES_SUPPORT = arrayMethodHasSpeciesSupport('map');\n\n// `Array.prototype.map` method\n// https://tc39.es/ecma262/#sec-array.prototype.map\n// with adding support of @@species\n$({ target: 'Array', proto: true, forced: !HAS_SPECIES_SUPPORT }, {\n map: function map(callbackfn /* , thisArg */) {\n return $map(this, callbackfn, arguments.length > 1 ? arguments[1] : undefined);\n }\n});\n","'use strict';\nvar $ = require('../internals/export');\nvar global = require('../internals/global');\nvar isArray = require('../internals/is-array');\nvar isConstructor = require('../internals/is-constructor');\nvar isObject = require('../internals/is-object');\nvar toAbsoluteIndex = require('../internals/to-absolute-index');\nvar lengthOfArrayLike = require('../internals/length-of-array-like');\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar createProperty = require('../internals/create-property');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\nvar arrayMethodHasSpeciesSupport = require('../internals/array-method-has-species-support');\nvar un$Slice = require('../internals/array-slice');\n\nvar HAS_SPECIES_SUPPORT = arrayMethodHasSpeciesSupport('slice');\n\nvar SPECIES = wellKnownSymbol('species');\nvar Array = global.Array;\nvar max = Math.max;\n\n// `Array.prototype.slice` method\n// https://tc39.es/ecma262/#sec-array.prototype.slice\n// fallback for not array-like ES3 strings and DOM objects\n$({ target: 'Array', proto: true, forced: !HAS_SPECIES_SUPPORT }, {\n slice: function slice(start, end) {\n var O = toIndexedObject(this);\n var length = lengthOfArrayLike(O);\n var k = toAbsoluteIndex(start, length);\n var fin = toAbsoluteIndex(end === undefined ? length : end, length);\n // inline `ArraySpeciesCreate` for usage native `Array#slice` where it's possible\n var Constructor, result, n;\n if (isArray(O)) {\n Constructor = O.constructor;\n // cross-realm fallback\n if (isConstructor(Constructor) && (Constructor === Array || isArray(Constructor.prototype))) {\n Constructor = undefined;\n } else if (isObject(Constructor)) {\n Constructor = Constructor[SPECIES];\n if (Constructor === null) Constructor = undefined;\n }\n if (Constructor === Array || Constructor === undefined) {\n return un$Slice(O, k, fin);\n }\n }\n result = new (Constructor === undefined ? Array : Constructor)(max(fin - k, 0));\n for (n = 0; k < fin; k++, n++) if (k in O) createProperty(result, n, O[k]);\n result.length = n;\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 toObject = require('../internals/to-object');\nvar nativeKeys = require('../internals/object-keys');\nvar fails = require('../internals/fails');\n\nvar FAILS_ON_PRIMITIVES = fails(function () { nativeKeys(1); });\n\n// `Object.keys` method\n// https://tc39.es/ecma262/#sec-object.keys\n$({ target: 'Object', stat: true, forced: FAILS_ON_PRIMITIVES }, {\n keys: function keys(it) {\n return nativeKeys(toObject(it));\n }\n});\n","var DESCRIPTORS = require('../internals/descriptors');\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar objectKeys = require('../internals/object-keys');\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar $propertyIsEnumerable = require('../internals/object-property-is-enumerable').f;\n\nvar propertyIsEnumerable = uncurryThis($propertyIsEnumerable);\nvar push = uncurryThis([].push);\n\n// `Object.{ entries, values }` methods implementation\nvar createMethod = function (TO_ENTRIES) {\n return function (it) {\n var O = toIndexedObject(it);\n var keys = objectKeys(O);\n var length = keys.length;\n var i = 0;\n var result = [];\n var key;\n while (length > i) {\n key = keys[i++];\n if (!DESCRIPTORS || propertyIsEnumerable(O, key)) {\n push(result, TO_ENTRIES ? [key, O[key]] : O[key]);\n }\n }\n return result;\n };\n};\n\nmodule.exports = {\n // `Object.entries` method\n // https://tc39.es/ecma262/#sec-object.entries\n entries: createMethod(true),\n // `Object.values` method\n // https://tc39.es/ecma262/#sec-object.values\n values: createMethod(false)\n};\n","var $ = require('../internals/export');\nvar $entries = require('../internals/object-to-array').entries;\n\n// `Object.entries` method\n// https://tc39.es/ecma262/#sec-object.entries\n$({ target: 'Object', stat: true }, {\n entries: function entries(O) {\n return $entries(O);\n }\n});\n","'use strict';\nvar $ = require('../internals/export');\nvar $filter = require('../internals/array-iteration').filter;\nvar arrayMethodHasSpeciesSupport = require('../internals/array-method-has-species-support');\n\nvar HAS_SPECIES_SUPPORT = arrayMethodHasSpeciesSupport('filter');\n\n// `Array.prototype.filter` method\n// https://tc39.es/ecma262/#sec-array.prototype.filter\n// with adding support of @@species\n$({ target: 'Array', proto: true, forced: !HAS_SPECIES_SUPPORT }, {\n filter: function filter(callbackfn /* , thisArg */) {\n return $filter(this, callbackfn, arguments.length > 1 ? arguments[1] : undefined);\n }\n});\n","'use strict';\nvar $ = require('../internals/export');\nvar $includes = require('../internals/array-includes').includes;\nvar addToUnscopables = require('../internals/add-to-unscopables');\n\n// `Array.prototype.includes` method\n// https://tc39.es/ecma262/#sec-array.prototype.includes\n$({ target: 'Array', proto: true }, {\n includes: function includes(el /* , fromIndex = 0 */) {\n return $includes(this, el, arguments.length > 1 ? arguments[1] : undefined);\n }\n});\n\n// https://tc39.es/ecma262/#sec-array.prototype-@@unscopables\naddToUnscopables('includes');\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","'use strict';\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar PROPER_FUNCTION_NAME = require('../internals/function-name').PROPER;\nvar redefine = require('../internals/redefine');\nvar anObject = require('../internals/an-object');\nvar isPrototypeOf = require('../internals/object-is-prototype-of');\nvar $toString = require('../internals/to-string');\nvar fails = require('../internals/fails');\nvar regExpFlags = require('../internals/regexp-flags');\n\nvar TO_STRING = 'toString';\nvar RegExpPrototype = RegExp.prototype;\nvar n$ToString = RegExpPrototype[TO_STRING];\nvar getFlags = uncurryThis(regExpFlags);\n\nvar NOT_GENERIC = fails(function () { return n$ToString.call({ source: 'a', flags: 'b' }) != '/a/b'; });\n// FF44- RegExp#toString has a wrong name\nvar INCORRECT_NAME = PROPER_FUNCTION_NAME && n$ToString.name != TO_STRING;\n\n// `RegExp.prototype.toString` method\n// https://tc39.es/ecma262/#sec-regexp.prototype.tostring\nif (NOT_GENERIC || INCORRECT_NAME) {\n redefine(RegExp.prototype, TO_STRING, function toString() {\n var R = anObject(this);\n var p = $toString(R.source);\n var rf = R.flags;\n var f = $toString(rf === undefined && isPrototypeOf(RegExpPrototype, R) && !('flags' in RegExpPrototype) ? getFlags(R) : rf);\n return '/' + p + '/' + f;\n }, { unsafe: true });\n}\n","type InspectableObject = Record<string | number | symbol, unknown>\n\nfunction isObject(o: unknown): o is InspectableObject {\n return Object.prototype.toString.call(o) === '[object Object]'\n}\n\nexport function isPlainObject(o: unknown): o is InspectableObject {\n if (!isObject(o)) {\n return false\n }\n\n // If has modified constructor\n const ctor = o.constructor\n if (ctor === undefined) {\n return true\n }\n\n // If has modified prototype\n const prot = ctor.prototype\n if (isObject(prot) === false) {\n return false\n }\n\n // If constructor does not have an Object-specific method\n\n if (Object.prototype.hasOwnProperty.call(prot, 'isPrototypeOfOf')) {\n return false\n }\n\n // Most likely a plain Object\n return true\n}\n\n// Slates deep equality function: https://github.com/ianstormtaylor/slate/blob/68aff89e892fe15a16314398ff052ade6068900b/packages/slate/src/utils/deep-equal.ts#L13\n// We have to match slates deepEquals behavior to merge insert deltas in the same way slate does.\nexport function deepEquals(node: InspectableObject, another: InspectableObject): boolean {\n // eslint-disable-next-line guard-for-in\n for (const key in node) {\n const a = node[key]\n const b = another[key]\n\n if (isPlainObject(a) && isPlainObject(b)) {\n if (!deepEquals(a, b)) {\n return false\n }\n } else if (Array.isArray(a) && Array.isArray(b)) {\n if (a.length !== b.length) return false\n for (let i = 0; i < a.length; i++) {\n if (a[i] !== b[i]) {\n return false\n }\n }\n } else if (a !== b) {\n return false\n }\n }\n\n for (const key in another) {\n if (node[key] === undefined && another[key] !== undefined) {\n return false\n }\n }\n\n return true\n}\n\nexport function pick<TObj, TKeys extends keyof TObj>(\n obj: TObj,\n ...keys: TKeys[]\n): Pick<TObj, TKeys> {\n return Object.fromEntries(\n Object.entries(obj).filter(([key]) => keys.includes(key as TKeys))\n ) as Pick<TObj, TKeys>\n}\n\nexport function omit<TObj, TKeys extends keyof TObj>(\n obj: TObj,\n ...keys: TKeys[]\n): Omit<TObj, TKeys> {\n return Object.fromEntries(\n Object.entries(obj).filter(([key]) => !keys.includes(key as TKeys))\n ) as Omit<TObj, TKeys>\n}\n\nexport function omitNullEntries<TObj>(obj: TObj): {\n [K in keyof TObj]: TObj[K] extends null ? never : K\n} {\n return Object.fromEntries(Object.entries(obj).filter(([, value]) => value !== null)) as {\n [K in keyof TObj]: TObj[K] extends null ? never : K\n }\n}\n","import * as Y from 'yjs'\nimport { DeltaInsert, InsertDelta } from '../module/custom-types'\nimport { deepEquals } from './object'\n\nexport function normalizeInsertDelta(delta: InsertDelta): InsertDelta {\n const normalized: InsertDelta = []\n\n for (const element of delta) {\n if (typeof element.insert === 'string' && element.insert.length === 0) {\n continue\n }\n\n const prev = normalized[normalized.length - 1]\n if (!prev || typeof prev.insert !== 'string' || typeof element.insert !== 'string') {\n normalized.push(element)\n continue\n }\n\n const merge =\n prev.attributes === element.attributes ||\n (!prev.attributes === !element.attributes &&\n deepEquals(prev.attributes ?? {}, element.attributes ?? {}))\n\n if (merge) {\n prev.insert += element.insert\n continue\n }\n\n normalized.push(element)\n }\n\n return normalized\n}\n\nexport function yTextToInsertDelta(yText: Y.XmlText): InsertDelta {\n return normalizeInsertDelta(yText.toDelta())\n}\n\nexport function getInsertLength({ insert }: DeltaInsert): number {\n return typeof insert === 'string' ? insert.length : 1\n}\n\nexport function getInsertDeltaLength(delta: InsertDelta): number {\n return delta.reduce((curr, element) => curr + getInsertLength(element), 0)\n}\n\nexport function sliceInsertDelta(delta: InsertDelta, start: number, length: number): InsertDelta {\n if (length < 1) {\n return []\n }\n\n let currentOffset = 0\n const sliced: InsertDelta = []\n const end = start + length\n\n for (let i = 0; i < delta.length; i++) {\n if (currentOffset >= end) {\n break\n }\n\n const element = delta[i]\n const elementLength = getInsertLength(element)\n\n if (currentOffset + elementLength <= start) {\n currentOffset += elementLength\n continue\n }\n\n if (typeof element.insert !== 'string') {\n currentOffset += elementLength\n sliced.push(element)\n continue\n }\n\n const startOffset = Math.max(0, start - currentOffset)\n const endOffset = Math.min(elementLength, elementLength - (currentOffset + elementLength - end))\n\n sliced.push({\n ...element,\n insert: element.insert.slice(startOffset, endOffset),\n })\n currentOffset += elementLength\n }\n\n return sliced\n}\n","import { BaseText, Descendant, Text } from 'slate'\nimport { omit } from './object'\n\nexport function getProperties<TNode extends Descendant>(\n node: TNode\n): Omit<TNode, TNode extends BaseText ? 'text' : 'children'> {\n return omit(node, (Text.isText(node) ? 'text' : 'children') as keyof TNode) as Omit<\n TNode,\n TNode extends BaseText ? 'text' : 'children'\n >\n}\n","import { Element, Node, Text } from 'slate'\nimport * as Y from 'yjs'\nimport { DeltaInsert, InsertDelta } from '../module/custom-types'\nimport { yTextToInsertDelta } from './delta'\nimport { getProperties } from './slate'\n\nexport function yTextToSlateElement(yText: Y.XmlText): Element {\n const delta = yTextToInsertDelta(yText)\n\n const children = delta.length > 0 ? delta.map(deltaInsertToSlateNode) : [{ text: '' }]\n\n return { ...yText.getAttributes(), children }\n}\n\nexport function deltaInsertToSlateNode(insert: DeltaInsert): Node {\n if (typeof insert.insert === 'string') {\n return { ...insert.attributes, text: insert.insert }\n }\n\n return yTextToSlateElement(insert.insert)\n}\n\nexport function slateNodesToInsertDelta(nodes: Node[]): InsertDelta {\n return nodes.map(node => {\n if (Text.isText(node)) {\n return { insert: node.text, attributes: getProperties(node) }\n }\n\n // eslint-disable-next-line @typescript-eslint/no-use-before-define\n return { insert: slateElementToYText(node) }\n })\n}\n\nexport function slateElementToYText({ children, ...attributes }: Element): Y.XmlText {\n const yElement = new Y.XmlText()\n\n Object.entries(attributes).forEach(([key, value]) => {\n yElement.setAttribute(key, value)\n })\n\n yElement.applyDelta(slateNodesToInsertDelta(children), { sanitize: false })\n return yElement\n}\n","'use strict';\nvar $ = require('../internals/export');\nvar global = require('../internals/global');\nvar fails = require('../internals/fails');\nvar isArray = require('../internals/is-array');\nvar isObject = require('../internals/is-object');\nvar toObject = require('../internals/to-object');\nvar lengthOfArrayLike = require('../internals/length-of-array-like');\nvar createProperty = require('../internals/create-property');\nvar arraySpeciesCreate = require('../internals/array-species-create');\nvar arrayMethodHasSpeciesSupport = require('../internals/array-method-has-species-support');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\nvar V8_VERSION = require('../internals/engine-v8-version');\n\nvar IS_CONCAT_SPREADABLE = wellKnownSymbol('isConcatSpreadable');\nvar MAX_SAFE_INTEGER = 0x1FFFFFFFFFFFFF;\nvar MAXIMUM_ALLOWED_INDEX_EXCEEDED = 'Maximum allowed index exceeded';\nvar TypeError = global.TypeError;\n\n// We can't use this feature detection in V8 since it causes\n// deoptimization and serious performance degradation\n// https://github.com/zloirock/core-js/issues/679\nvar IS_CONCAT_SPREADABLE_SUPPORT = V8_VERSION >= 51 || !fails(function () {\n var array = [];\n array[IS_CONCAT_SPREADABLE] = false;\n return array.concat()[0] !== array;\n});\n\nvar SPECIES_SUPPORT = arrayMethodHasSpeciesSupport('concat');\n\nvar isConcatSpreadable = function (O) {\n if (!isObject(O)) return false;\n var spreadable = O[IS_CONCAT_SPREADABLE];\n return spreadable !== undefined ? !!spreadable : isArray(O);\n};\n\nvar FORCED = !IS_CONCAT_SPREADABLE_SUPPORT || !SPECIES_SUPPORT;\n\n// `Array.prototype.concat` method\n// https://tc39.es/ecma262/#sec-array.prototype.concat\n// with adding support of @@isConcatSpreadable and @@species\n$({ target: 'Array', proto: true, forced: FORCED }, {\n // eslint-disable-next-line no-unused-vars -- required for `.length`\n concat: function concat(arg) {\n var O = toObject(this);\n var A = arraySpeciesCreate(O, 0);\n var n = 0;\n var i, k, length, len, E;\n for (i = -1, length = arguments.length; i < length; i++) {\n E = i === -1 ? O : arguments[i];\n if (isConcatSpreadable(E)) {\n len = lengthOfArrayLike(E);\n if (n + len > MAX_SAFE_INTEGER) throw TypeError(MAXIMUM_ALLOWED_INDEX_EXCEEDED);\n for (k = 0; k < len; k++, n++) if (k in E) createProperty(A, n, E[k]);\n } else {\n if (n >= MAX_SAFE_INTEGER) throw TypeError(MAXIMUM_ALLOWED_INDEX_EXCEEDED);\n createProperty(A, n++, E);\n }\n }\n A.length = n;\n return A;\n }\n});\n","import { Element, Node, Path, Text } from 'slate'\nimport * as Y from 'yjs'\nimport { YTarget } from '../module/custom-types'\nimport { sliceInsertDelta, yTextToInsertDelta } from './delta'\n\nexport function getSlateNodeYLength(node: Node | undefined): number {\n if (!node) {\n return 0\n }\n\n return Text.isText(node) ? node.text.length : 1\n}\n\nexport function slatePathOffsetToYOffset(element: Element, pathOffset: number) {\n return element.children\n .slice(0, pathOffset)\n .reduce((yOffset, node) => yOffset + getSlateNodeYLength(node), 0)\n}\n\nexport function getYTarget(yRoot: Y.XmlText, slateRoot: Node, path: Path): YTarget {\n if (path.length === 0) {\n throw new Error('Path has to a have a length >= 1')\n }\n\n if (Text.isText(slateRoot)) {\n throw new Error('Cannot descent into slate text')\n }\n\n const [pathOffset, ...childPath] = path\n\n const yOffset = slatePathOffsetToYOffset(slateRoot, pathOffset)\n const targetNode = slateRoot.children[pathOffset]\n\n const delta = yTextToInsertDelta(yRoot)\n const targetLength = getSlateNodeYLength(targetNode)\n\n const targetDelta = sliceInsertDelta(delta, yOffset, targetLength)\n if (targetDelta.length > 1) {\n throw new Error(\"Path doesn't match yText, yTarget spans multiple nodes\")\n }\n\n const yTarget = targetDelta[0]?.insert\n if (childPath.length > 0) {\n if (!(yTarget instanceof Y.XmlText)) {\n throw new Error(\"Path doesn't match yText, cannot descent into non-yText\")\n }\n\n return getYTarget(yTarget, targetNode, childPath)\n }\n\n return {\n yParent: yRoot,\n textRange: { start: yOffset, end: yOffset + targetLength },\n yTarget: yTarget instanceof Y.XmlText ? yTarget : undefined,\n slateParent: slateRoot,\n slateTarget: targetNode,\n targetDelta,\n }\n}\n\nexport function yOffsetToSlateOffsets(\n parent: Element,\n yOffset: number,\n opts: { assoc?: number; insert?: boolean } = {}\n): [number, number] {\n const { assoc = 0, insert = false } = opts\n\n let currentOffset = 0\n let lastNonEmptyPathOffset = 0\n for (let pathOffset = 0; pathOffset < parent.children.length; pathOffset++) {\n const child = parent.children[pathOffset]\n const nodeLength = Text.isText(child) ? child.text.length : 1\n\n if (nodeLength > 0) {\n lastNonEmptyPathOffset = pathOffset\n }\n\n const endOffset = currentOffset + nodeLength\n if (nodeLength > 0 && (assoc >= 0 ? endOffset > yOffset : endOffset >= yOffset)) {\n return [pathOffset, yOffset - currentOffset]\n }\n\n currentOffset += nodeLength\n }\n\n if (yOffset > currentOffset + (insert ? 1 : 0)) {\n throw new Error('yOffset out of bounds')\n }\n\n if (insert) {\n return [parent.children.length, 0]\n }\n\n const child = parent.children[lastNonEmptyPathOffset]\n const textOffset = Text.isText(child) ? child.text.length : 1\n return [lastNonEmptyPathOffset, textOffset]\n}\n\nexport function getSlatePath(sharedRoot: Y.XmlText, slateRoot: Node, yText: Y.XmlText): Path {\n const yNodePath = [yText]\n while (yNodePath[0] !== sharedRoot) {\n const { parent: yParent } = yNodePath[0]\n\n if (!yParent) {\n throw new Error(\"yText isn't a descendant of root element\")\n }\n\n if (!(yParent instanceof Y.XmlText)) {\n throw new Error('Unexpected y parent type')\n }\n\n yNodePath.unshift(yParent)\n }\n\n if (yNodePath.length < 2) {\n return []\n }\n\n let slateParent = slateRoot\n return yNodePath.reduce<Path>((path, yParent, idx) => {\n const yChild = yNodePath[idx + 1]\n if (!yChild) {\n return path\n }\n\n let yOffset = 0\n const currentDelta = yTextToInsertDelta(yParent)\n for (const element of currentDelta) {\n if (element.insert === yChild) {\n break\n }\n\n yOffset += typeof element.insert === 'string' ? element.insert.length : 1\n }\n\n if (Text.isText(slateParent)) {\n throw new Error('Cannot descent into slate text')\n }\n\n const [pathOffset] = yOffsetToSlateOffsets(slateParent, yOffset)\n slateParent = slateParent.children[pathOffset]\n return path.concat(pathOffset)\n }, [])\n}\n","import { BaseElement, Editor, Element, Node, Operation, Path, Text } from 'slate'\nimport * as Y from 'yjs'\nimport { Delta } from '../module/custom-types'\nimport { deltaInsertToSlateNode } from '../utils/convert'\nimport { getSlateNodeYLength, getSlatePath, yOffsetToSlateOffsets } from '../utils/location'\nimport { deepEquals, omitNullEntries, pick } from '../utils/object'\nimport { getProperties } from '../utils/slate'\n\nfunction applyDelta(node: Element, slatePath: Path, delta: Delta): Operation[] {\n const ops: Operation[] = []\n\n let yOffset = delta.reduce((length, change) => {\n if ('retain' in change) {\n return length + change.retain\n }\n\n if ('delete' in change) {\n return length + change.delete\n }\n\n return length\n }, 0)\n\n // Apply changes in reverse order to avoid path changes.\n delta.reverse().forEach(change => {\n if ('attributes' in change && 'retain' in change) {\n const [startPathOffset, startTextOffset] = yOffsetToSlateOffsets(\n node,\n yOffset - change.retain\n )\n const [endPathOffset, endTextOffset] = yOffsetToSlateOffsets(node, yOffset, { assoc: -1 })\n\n for (let pathOffset = endPathOffset; pathOffset >= startPathOffset; pathOffset--) {\n const child = node.children[pathOffset]\n const childPath = [...slatePath, pathOffset]\n\n if (!Text.isText(child)) {\n // Ignore attribute updates on non-text nodes (which are backed by Y.XmlText)\n // to be consistent with deltaInsertToSlateNode. Y.XmlText attributes don't show\n // up in deltas but in key changes (YEvent.changes.keys).\n continue\n }\n\n const newProperties = change.attributes\n const properties = pick(node, ...(Object.keys(change.attributes) as Array<keyof Element>))\n\n if (pathOffset === startPathOffset || pathOffset === endPathOffset) {\n const start = pathOffset === startPathOffset ? startTextOffset : 0\n const end = pathOffset === endPathOffset ? endTextOffset : child.text.length\n\n if (end !== child.text.length) {\n ops.push({\n type: 'split_node',\n path: childPath,\n position: end,\n properties: getProperties(child),\n })\n }\n\n if (start !== 0) {\n ops.push({\n type: 'split_node',\n path: childPath,\n position: start,\n properties: omitNullEntries({\n ...getProperties(child),\n ...newProperties,\n }),\n })\n\n continue\n }\n }\n\n ops.push({\n type: 'set_node',\n newProperties,\n path: childPath,\n properties,\n })\n }\n }\n\n if ('retain' in change) {\n yOffset -= change.retain\n }\n\n if ('delete' in change) {\n const [startPathOffset, startTextOffset] = yOffsetToSlateOffsets(\n node,\n yOffset - change.delete\n )\n const [endPathOffset, endTextOffset] = yOffsetToSlateOffsets(node, yOffset, { assoc: -1 })\n\n for (\n let pathOffset = endTextOffset === 0 ? endPathOffset - 1 : endPathOffset;\n pathOffset >= startPathOffset;\n pathOffset--\n ) {\n const child = node.children[pathOffset]\n const childPath = [...slatePath, pathOffset]\n\n if (\n Text.isText(child) &&\n (pathOffset === startPathOffset || pathOffset === endPathOffset)\n ) {\n const start = pathOffset === startPathOffset ? startTextOffset : 0\n const end = pathOffset === endPathOffset ? endTextOffset : child.text.length\n\n ops.push({\n type: 'remove_text',\n offset: start,\n text: child.text.slice(start, end),\n path: childPath,\n })\n\n yOffset -= end - start\n continue\n }\n\n ops.push({\n type: 'remove_node',\n node: child,\n path: childPath,\n })\n yOffset -= getSlateNodeYLength(child)\n }\n\n return\n }\n\n if ('insert' in change) {\n const [pathOffset, textOffset] = yOffsetToSlateOffsets(node, yOffset, {\n insert: true,\n })\n const child = node.children[pathOffset]\n const childPath = [...slatePath, pathOffset]\n\n if (Text.isText(child)) {\n const lastOp = ops[ops.length - 1]\n\n /**\n * The props that exist at the current path\n * Since we're not actually using slate to update the node\n * this is a simulation\n */\n const currentProps =\n lastOp != null && lastOp.type === 'insert_node' ? lastOp.node : getProperties(child)\n\n let lastPath: Path = []\n\n if (\n lastOp != null &&\n (lastOp.type === 'insert_node' ||\n lastOp.type === 'insert_text' ||\n lastOp.type === 'split_node' ||\n lastOp.type === 'set_node')\n ) {\n lastPath = lastOp.path\n }\n\n /**\n * If the insert is a string and the attributes are the same as the\n * props at the current path, we can just insert a text node\n */\n if (\n typeof change.insert === 'string' &&\n deepEquals(change.attributes ?? {}, currentProps) &&\n Path.equals(childPath, lastPath)\n ) {\n return ops.push({\n type: 'insert_text',\n offset: textOffset,\n text: change.insert,\n path: childPath,\n })\n }\n\n const toInsert = deltaInsertToSlateNode(change)\n if (textOffset === 0) {\n return ops.push({\n type: 'insert_node',\n path: childPath,\n node: toInsert,\n })\n }\n\n if (textOffset < child.text.length) {\n ops.push({\n type: 'split_node',\n path: childPath,\n position: textOffset,\n properties: getProperties(child),\n })\n }\n\n return ops.push({\n type: 'insert_node',\n path: Path.next(childPath),\n node: toInsert,\n })\n }\n\n return ops.push({\n type: 'insert_node',\n path: childPath,\n node: deltaInsertToSlateNode(change),\n })\n }\n })\n\n return ops\n}\n\nexport function translateYTextEvent(\n sharedRoot: Y.XmlText,\n editor: Editor,\n event: Y.YTextEvent\n): Operation[] {\n const { target, changes } = event\n const delta = event.delta as Delta\n\n if (!(target instanceof Y.XmlText)) {\n throw new Error('Unexpected target node type')\n }\n\n const ops: Operation[] = []\n const slatePath = getSlatePath(sharedRoot, editor, target)\n const targetElement = Node.get(editor, slatePath)\n\n if (Text.isText(targetElement)) {\n throw new Error('Cannot apply yTextEvent to text node')\n }\n\n const keyChanges = Array.from(changes.keys.entries())\n if (slatePath.length > 0 && keyChanges.length > 0) {\n const newProperties = Object.fromEntries(\n keyChanges.map(([key, info]) => [\n key,\n info.action === 'delete' ? null : target.getAttribute(key),\n ])\n )\n\n const properties = Object.fromEntries(keyChanges.map(([key]) => [key, targetElement[key]]))\n\n ops.push({ type: 'set_node', newProperties, properties, path: slatePath })\n }\n\n if (delta.length > 0) {\n ops.push(...applyDelta(targetElement, slatePath, delta))\n }\n\n return ops\n}\n","import { Editor, Operation } from 'slate'\nimport * as Y from 'yjs'\nimport { translateYTextEvent } from './textEvent'\n\n/**\n * Translate a yjs event into slate operations. The editor state has to match the\n * yText state before the event occurred.\n *\n * @param sharedType\n * @param op\n */\nexport function translateYjsEvent(\n sharedRoot: Y.XmlText,\n editor: Editor,\n event: Y.YEvent<Y.XmlText>\n): Operation[] {\n if (event instanceof Y.YTextEvent) {\n return translateYTextEvent(sharedRoot, editor, event)\n }\n\n throw new Error('Unexpected Y event type')\n}\n\n/**\n * Translates yjs events into slate operations and applies them to the editor. The\n * editor state has to match the yText state before the events occurred.\n *\n * @param sharedRoot\n * @param editor\n * @param events\n */\nexport function applyYjsEvents(\n sharedRoot: Y.XmlText,\n editor: Editor,\n events: Y.YEvent<Y.XmlText>[]\n) {\n Editor.withoutNormalizing(editor, () => {\n events.forEach(event => {\n translateYjsEvent(sharedRoot, editor, event).forEach(op => {\n editor.apply(op)\n })\n })\n })\n}\n","import * as Y from 'yjs'\nimport { InsertDelta } from '../module/custom-types'\nimport { yTextToInsertDelta } from './delta'\n\nexport function cloneInsertDeltaDeep(delta: InsertDelta): InsertDelta {\n return delta.map(element => {\n if (typeof element.insert === 'string') {\n return element\n }\n\n // eslint-disable-next-line @typescript-eslint/no-use-before-define\n return { ...element, insert: cloneDeep(element.insert) }\n })\n}\n\nexport function cloneDeep(yText: Y.XmlText): Y.XmlText {\n const clone = new Y.XmlText()\n\n const attributes = yText.getAttributes()\n Object.entries(attributes).forEach(([key, value]) => {\n clone.setAttribute(key, value)\n })\n\n clone.applyDelta(cloneInsertDeltaDeep(yTextToInsertDelta(yText)), {\n sanitize: false,\n })\n\n return clone\n}\n","'use strict';\nvar DESCRIPTORS = require('../internals/descriptors');\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar call = require('../internals/function-call');\nvar fails = require('../internals/fails');\nvar objectKeys = require('../internals/object-keys');\nvar getOwnPropertySymbolsModule = require('../internals/object-get-own-property-symbols');\nvar propertyIsEnumerableModule = require('../internals/object-property-is-enumerable');\nvar toObject = require('../internals/to-object');\nvar IndexedObject = require('../internals/indexed-object');\n\n// eslint-disable-next-line es/no-object-assign -- safe\nvar $assign = Object.assign;\n// eslint-disable-next-line es/no-object-defineproperty -- required for testing\nvar defineProperty = Object.defineProperty;\nvar concat = uncurryThis([].concat);\n\n// `Object.assign` method\n// https://tc39.es/ecma262/#sec-object.assign\nmodule.exports = !$assign || fails(function () {\n // should have correct order of operations (Edge bug)\n if (DESCRIPTORS && $assign({ b: 1 }, $assign(defineProperty({}, 'a', {\n enumerable: true,\n get: function () {\n defineProperty(this, 'b', {\n value: 3,\n enumerable: false\n });\n }\n }), { b: 2 })).b !== 1) return true;\n // should work with symbols and should have deterministic property order (V8 bug)\n var A = {};\n var B = {};\n // eslint-disable-next-line es/no-symbol -- safe\n var symbol = Symbol();\n var alphabet = 'abcdefghijklmnopqrst';\n A[symbol] = 7;\n alphabet.split('').forEach(function (chr) { B[chr] = chr; });\n return $assign({}, A)[symbol] != 7 || objectKeys($assign({}, B)).join('') != alphabet;\n}) ? function assign(target, source) { // eslint-disable-line no-unused-vars -- required for `.length`\n var T = toObject(target);\n var argumentsLength = arguments.length;\n var index = 1;\n var getOwnPropertySymbols = getOwnPropertySymbolsModule.f;\n var propertyIsEnumerable = propertyIsEnumerableModule.f;\n while (argumentsLength > index) {\n var S = IndexedObject(arguments[index++]);\n var keys = getOwnPropertySymbols ? concat(objectKeys(S), getOwnPropertySymbols(S)) : objectKeys(S);\n var length = keys.length;\n var j = 0;\n var key;\n while (length > j) {\n key = keys[j++];\n if (!DESCRIPTORS || call(propertyIsEnumerable, S, key)) T[key] = S[key];\n }\n } return T;\n} : $assign;\n","var $ = require('../internals/export');\nvar assign = require('../internals/object-assign');\n\n// `Object.assign` method\n// https://tc39.es/ecma262/#sec-object.assign\n// eslint-disable-next-line es/no-object-assign -- required for testing\n$({ target: 'Object', stat: true, forced: Object.assign !== assign }, {\n assign: assign\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 $ = require('../internals/export');\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar getOwnPropertyDescriptor = require('../internals/object-get-own-property-descriptor').f;\nvar toLength = require('../internals/to-length');\nvar toString = require('../internals/to-string');\nvar notARegExp = require('../internals/not-a-regexp');\nvar requireObjectCoercible = require('../internals/require-object-coercible');\nvar correctIsRegExpLogic = require('../internals/correct-is-regexp-logic');\nvar IS_PURE = require('../internals/is-pure');\n\n// eslint-disable-next-line es/no-string-prototype-startswith -- safe\nvar un$StartsWith = uncurryThis(''.startsWith);\nvar stringSlice = uncurryThis(''.slice);\nvar min = Math.min;\n\nvar CORRECT_IS_REGEXP_LOGIC = correctIsRegExpLogic('startsWith');\n// https://github.com/zloirock/core-js/pull/702\nvar MDN_POLYFILL_BUG = !IS_PURE && !CORRECT_IS_REGEXP_LOGIC && !!function () {\n var descriptor = getOwnPropertyDescriptor(String.prototype, 'startsWith');\n return descriptor && !descriptor.writable;\n}();\n\n// `String.prototype.startsWith` method\n// https://tc39.es/ecma262/#sec-string.prototype.startswith\n$({ target: 'String', proto: true, forced: !MDN_POLYFILL_BUG && !CORRECT_IS_REGEXP_LOGIC }, {\n startsWith: function startsWith(searchString /* , position = 0 */) {\n var that = toString(requireObjectCoercible(this));\n notARegExp(searchString);\n var index = toLength(min(arguments.length > 1 ? arguments[1] : undefined, that.length));\n var search = toString(searchString);\n return un$StartsWith\n ? un$StartsWith(that, search, index)\n : stringSlice(that, index, index + search.length) === search;\n }\n});\n","var global = require('../internals/global');\nvar isRegExp = require('../internals/is-regexp');\n\nvar TypeError = global.TypeError;\n\nmodule.exports = function (it) {\n if (isRegExp(it)) {\n throw TypeError(\"The method doesn't accept regular expressions\");\n } return it;\n};\n","var wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar MATCH = wellKnownSymbol('match');\n\nmodule.exports = function (METHOD_NAME) {\n var regexp = /./;\n try {\n '/./'[METHOD_NAME](regexp);\n } catch (error1) {\n try {\n regexp[MATCH] = false;\n return '/./'[METHOD_NAME](regexp);\n } catch (error2) { /* empty */ }\n } return false;\n};\n","var uncurryThis = require('../internals/function-uncurry-this');\nvar requireObjectCoercible = require('../internals/require-object-coercible');\nvar toString = require('../internals/to-string');\n\nvar quot = /\"/g;\nvar replace = uncurryThis(''.replace);\n\n// `CreateHTML` abstract operation\n// https://tc39.es/ecma262/#sec-createhtml\nmodule.exports = function (string, tag, attribute, value) {\n var S = toString(requireObjectCoercible(string));\n var p1 = '<' + tag;\n if (attribute !== '') p1 += ' ' + attribute + '=\"' + replace(toString(value), quot, '&quot;') + '\"';\n return p1 + '>' + S + '</' + tag + '>';\n};\n","import * as Y from 'yjs'\n\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nexport function assertDocumentAttachment<T extends Y.AbstractType<any>>(\n sharedType: T\n): asserts sharedType is T & { doc: NonNullable<T['doc']> } {\n if (!sharedType.doc) {\n throw new Error(\"shared type isn't attached to a document\")\n }\n}\n","'use strict';\nvar $ = require('../internals/export');\nvar createHTML = require('../internals/create-html');\nvar forcedStringHTMLMethod = require('../internals/string-html-forced');\n\n// `String.prototype.anchor` method\n// https://tc39.es/ecma262/#sec-string.prototype.anchor\n$({ target: 'String', proto: true, forced: forcedStringHTMLMethod('anchor') }, {\n anchor: function anchor(name) {\n return createHTML(this, 'a', 'name', name);\n }\n});\n","var fails = require('../internals/fails');\n\n// check the existence of a method, lowercase\n// of a tag and escaping quotes in arguments\nmodule.exports = function (METHOD_NAME) {\n return fails(function () {\n var test = ''[METHOD_NAME]('\"');\n return test !== test.toLowerCase() || test.split('\"').length > 3;\n });\n};\n","import { BasePoint, BaseRange, Node, Text } from 'slate'\nimport * as Y from 'yjs'\nimport { InsertDelta, RelativeRange, TextRange } from '../module/custom-types'\nimport { getInsertDeltaLength, yTextToInsertDelta } from './delta'\nimport { getSlatePath, getYTarget, yOffsetToSlateOffsets } from './location'\nimport { assertDocumentAttachment } from './yjs'\n\nexport const STORED_POSITION_PREFIX = '__slateYjsStoredPosition_'\n\nexport function slatePointToRelativePosition(\n sharedRoot: Y.XmlText,\n slateRoot: Node,\n point: BasePoint\n): Y.RelativePosition {\n const { yTarget, yParent, textRange } = getYTarget(sharedRoot, slateRoot, point.path)\n\n if (yTarget) {\n throw new Error('Slate point points to a non-text element inside sharedRoot')\n }\n\n const index = textRange.start + point.offset\n return Y.createRelativePositionFromTypeIndex(yParent, index, index === textRange.end ? -1 : 0)\n}\n\nexport function absolutePositionToSlatePoint(\n sharedRoot: Y.XmlText,\n slateRoot: Node,\n { type, index, assoc }: Y.AbsolutePosition\n): BasePoint | null {\n if (!(type instanceof Y.XmlText)) {\n throw new Error('Absolute position points to a non-XMLText')\n }\n\n const parentPath = getSlatePath(sharedRoot, slateRoot, type)\n const parent = Node.get(slateRoot, parentPath)\n\n if (Text.isText(parent)) {\n throw new Error(\"Absolute position doesn't match slateRoot, cannot descent into text\")\n }\n\n const [pathOffset, textOffset] = yOffsetToSlateOffsets(parent, index, {\n assoc,\n })\n\n const target = parent.children[pathOffset]\n if (!Text.isText(target)) {\n return null\n }\n\n return { path: [...parentPath, pathOffset], offset: textOffset }\n}\n\nexport function relativePositionToSlatePoint(\n sharedRoot: Y.XmlText,\n slateRoot: Node,\n pos: Y.RelativePosition\n): BasePoint | null {\n if (!sharedRoot.doc) {\n throw new Error(\"sharedRoot isn't attach to a yDoc\")\n }\n\n const absPos = Y.createAbsolutePositionFromRelativePosition(pos, sharedRoot.doc)\n\n return absPos && absolutePositionToSlatePoint(sharedRoot, slateRoot, absPos)\n}\n\nexport function getStoredPosition(sharedRoot: Y.XmlText, key: string): Y.RelativePosition | null {\n const rawPosition = sharedRoot.getAttribute(STORED_POSITION_PREFIX + key)\n if (!rawPosition) {\n return null\n }\n\n return Y.decodeRelativePosition(rawPosition)\n}\n\nexport function getStoredPositions(sharedRoot: Y.XmlText): Record<string, Y.RelativePosition> {\n return Object.fromEntries(\n Object.entries(sharedRoot.getAttributes())\n .filter(([key]) => key.startsWith(STORED_POSITION_PREFIX))\n .map(([key, position]) => [\n key.slice(STORED_POSITION_PREFIX.length),\n Y.createRelativePositionFromJSON(position),\n ])\n )\n}\n\nfunction getStoredPositionsAbsolute(sharedRoot: Y.XmlText) {\n assertDocumentAttachment(sharedRoot)\n\n return Object.fromEntries(\n Object.entries(sharedRoot.getAttributes())\n .filter(([key]) => key.startsWith(STORED_POSITION_PREFIX))\n .map(\n ([key, position]) =>\n [\n key.slice(STORED_POSITION_PREFIX.length),\n Y.createAbsolutePositionFromRelativePosition(\n Y.decodeRelativePosition(position),\n sharedRoot.doc\n ),\n ] as const\n )\n .filter(([, position]) => position)\n ) as Record<string, Y.AbsolutePosition>\n}\n\nexport function removeStoredPosition(sharedRoot: Y.XmlText, key: string) {\n sharedRoot.removeAttribute(STORED_POSITION_PREFIX + key)\n}\n\nexport function setStoredPosition(\n sharedRoot: Y.XmlText,\n key: string,\n position: Y.RelativePosition\n) {\n sharedRoot.setAttribute(STORED_POSITION_PREFIX + key, Y.encodeRelativePosition(position))\n}\n\nfunction getAbsolutePositionsInTextRange(\n absolutePositions: Record<string, Y.AbsolutePosition>,\n yTarget: Y.XmlText,\n textRange?: TextRange\n) {\n return Object.fromEntries(\n Object.entries(absolutePositions).filter(([, position]) => {\n if (position.type !== yTarget) {\n return false\n }\n\n if (!textRange) {\n return true\n }\n\n return position.assoc >= 0\n ? position.index >= textRange.start && position.index < textRange.end\n : position.index > textRange.start && position.index >= textRange.end\n })\n )\n}\n\nfunction getAbsolutePositionsInYText(\n absolutePositions: Record<string, Y.AbsolutePosition>,\n yText: Y.XmlText,\n parentPath = ''\n): Record<string, Record<string, Y.AbsolutePosition>> {\n const positions = {\n [parentPath]: getAbsolutePositionsInTextRange(absolutePositions, yText),\n }\n\n const insertDelta = yTextToInsertDelta(yText)\n insertDelta.forEach(({ insert }, i) => {\n if (insert instanceof Y.XmlText) {\n Object.assign(\n positions,\n getAbsolutePositionsInYText(\n absolutePositions,\n insert,\n parentPath ? `${parentPath}.${i}` : i.toString()\n )\n )\n }\n })\n\n return positions\n}\n\nexport function getStoredPositionsInDeltaAbsolute(\n sharedRoot: Y.XmlText,\n yText: Y.XmlText,\n delta: InsertDelta,\n deltaOffset = 0\n) {\n const absolutePositions = getStoredPositionsAbsolute(sharedRoot)\n\n const positions = {\n '': getAbsolutePositionsInTextRange(absolutePositions, yText, {\n start: deltaOffset,\n end: deltaOffset + getInsertDeltaLength(delta),\n }),\n }\n\n delta.forEach(({ insert }, i) => {\n if (insert instanceof Y.XmlText) {\n Object.assign(positions, getAbsolutePositionsInYText(absolutePositions, insert, i.toString()))\n }\n })\n\n return positions\n}\n\nexport function restoreStoredPositionsWithDeltaAbsolute(\n sharedRoot: Y.XmlText,\n yText: Y.XmlText,\n absolutePositions: Record<string, Record<string, Y.AbsolutePosition>>,\n delta: InsertDelta,\n newDeltaOffset = 0,\n previousDeltaOffset = 0,\n path = ''\n) {\n const toRestore = absolutePositions[path]\n\n if (toRestore) {\n Object.entries(toRestore).forEach(([key, position]) => {\n setStoredPosition(\n sharedRoot,\n key,\n Y.createRelativePositionFromTypeIndex(\n yText,\n position.index - previousDeltaOffset + newDeltaOffset,\n position.assoc\n )\n )\n })\n }\n\n delta.forEach(({ insert }, i) => {\n if (insert instanceof Y.XmlText) {\n restoreStoredPositionsWithDeltaAbsolute(\n sharedRoot,\n insert,\n absolutePositions,\n yTextToInsertDelta(insert),\n 0,\n 0,\n path ? `${path}.${i}` : i.toString()\n )\n }\n })\n}\n\nexport function slateRangeToRelativeRange(\n sharedRoot: Y.XmlText,\n slateRoot: Node,\n range: BaseRange\n): RelativeRange {\n return {\n anchor: slatePointToRelativePosition(sharedRoot, slateRoot, range.anchor),\n focus: slatePointToRelativePosition(sharedRoot, slateRoot, range.focus),\n }\n}\n\nexport function relativeRangeToSlateRange(\n sharedRoot: Y.XmlText,\n slateRoot: Node,\n range: RelativeRange\n): BaseRange | null {\n const anchor = relativePositionToSlatePoint(sharedRoot, slateRoot, range.anchor)\n\n if (!anchor) {\n return null\n }\n\n const focus = relativePositionToSlatePoint(sharedRoot, slateRoot, range.focus)\n\n if (!focus) {\n return null\n }\n\n return { anchor, focus }\n}\n","import { NodeOperation } from 'slate'\nimport { OpMapper } from '../types'\nimport { insertNode } from './insertNode'\nimport { mergeNode } from './mergeNode'\nimport { moveNode } from './moveNode'\nimport { removeNode } from './removeNode'\nimport { setNode } from './setNode'\nimport { splitNode } from './splitNode'\n\nexport const NODE_MAPPER: OpMapper<NodeOperation> = {\n insert_node: insertNode,\n remove_node: removeNode,\n set_node: setNode,\n merge_node: mergeNode,\n move_node: moveNode,\n split_node: splitNode,\n}\n","import { InsertNodeOperation, Node, Text } from 'slate'\nimport * as Y from 'yjs'\nimport { slateElementToYText } from '../../utils/convert'\nimport { getYTarget } from '../../utils/location'\nimport { getProperties } from '../../utils/slate'\n\nexport function insertNode(sharedRoot: Y.XmlText, slateRoot: Node, op: InsertNodeOperation): void {\n const { yParent, textRange } = getYTarget(sharedRoot, slateRoot, op.path)\n\n if (Text.isText(op.node)) {\n return yParent.insert(textRange.start, op.node.text, getProperties(op.node))\n }\n\n yParent.insertEmbed(textRange.start, slateElementToYText(op.node))\n}\n","import { Node, RemoveNodeOperation } from 'slate'\nimport * as Y from 'yjs'\nimport { getYTarget } from '../../utils/location'\n\nexport function removeNode(sharedRoot: Y.XmlText, slateRoot: Node, op: RemoveNodeOperation): void {\n const { yParent: parent, textRange } = getYTarget(sharedRoot, slateRoot, op.path)\n parent.delete(textRange.start, textRange.end - textRange.start)\n}\n","import { Node, SetNodeOperation } from 'slate'\nimport * as Y from 'yjs'\nimport { getYTarget } from '../../utils/location'\n\nexport function setNode(sharedRoot: Y.XmlText, slateRoot: Node, op: SetNodeOperation): void {\n const { yTarget, textRange, yParent } = getYTarget(sharedRoot, slateRoot, op.path)\n\n if (yTarget) {\n Object.entries(op.newProperties).forEach(([key, value]) => {\n if (value === null) {\n return yTarget.removeAttribute(key)\n }\n\n yTarget.setAttribute(key, value)\n })\n\n return Object.entries(op.properties).forEach(([key]) => {\n if (!Object.prototype.hasOwnProperty.call(op.newProperties, key)) {\n yTarget.removeAttribute(key)\n }\n })\n }\n\n const unset = Object.fromEntries(Object.keys(op.properties).map(key => [key, null]))\n const newProperties = { ...unset, ...op.newProperties }\n\n yParent.format(textRange.start, textRange.end - textRange.start, newProperties)\n}\n","import { MergeNodeOperation, Node, Path, Text } from 'slate'\nimport * as Y from 'yjs'\nimport { Delta } from '../../module/custom-types'\nimport { cloneInsertDeltaDeep } from '../../utils/clone'\nimport { yTextToInsertDelta } from '../../utils/delta'\nimport { getYTarget } from '../../utils/location'\nimport {\n getStoredPositionsInDeltaAbsolute,\n restoreStoredPositionsWithDeltaAbsolute,\n} from '../../utils/position'\nimport { getProperties } from '../../utils/slate'\n\nexport function mergeNode(sharedRoot: Y.XmlText, slateRoot: Node, op: MergeNodeOperation): void {\n const target = getYTarget(sharedRoot, slateRoot, op.path)\n const prev = getYTarget(target.yParent, target.slateParent, Path.previous(op.path.slice(-1)))\n\n if (!target.yTarget !== !prev.yTarget) {\n throw new Error('Cannot merge y text with y element')\n }\n\n if (!prev.yTarget || !target.yTarget) {\n const { yParent: parent, textRange, slateTarget } = target\n if (!slateTarget) {\n throw new Error('Expected Slate target node for merge op.')\n }\n\n const prevSibling = Node.get(slateRoot, Path.previous(op.path))\n if (!Text.isText(prevSibling)) {\n throw new Error('Path points to Y.Text but not a Slate text node.')\n }\n\n const targetProps = getProperties(slateTarget)\n const prevSiblingProps = getProperties(prevSibling)\n const unsetProps = Object.keys(targetProps).reduce((acc, key) => {\n const prevSiblingHasProp = key in prevSiblingProps\n return prevSiblingHasProp ? acc : { ...acc, [key]: null }\n }, {})\n\n return parent.format(textRange.start, textRange.end - textRange.start, {\n ...unsetProps,\n ...prevSiblingProps,\n })\n }\n\n const deltaApplyYOffset = prev.yTarget.length\n const targetDelta = yTextToInsertDelta(target.yTarget)\n const clonedDelta = cloneInsertDeltaDeep(targetDelta)\n\n const storedPositions = getStoredPositionsInDeltaAbsolute(\n sharedRoot,\n target.yTarget,\n targetDelta,\n deltaApplyYOffset\n )\n\n const applyDelta: Delta = [{ retain: deltaApplyYOffset }, ...clonedDelta]\n\n prev.yTarget.applyDelta(applyDelta, {\n sanitize: false,\n })\n\n target.yParent.delete(target.textRange.start, target.textRange.end - target.textRange.start)\n\n restoreStoredPositionsWithDeltaAbsolute(\n sharedRoot,\n prev.yTarget,\n storedPositions,\n clonedDelta,\n deltaApplyYOffset\n )\n}\n","import { MoveNodeOperation, Node, Path, Text } from 'slate'\nimport * as Y from 'yjs'\nimport { Delta } from '../../module/custom-types'\nimport { cloneInsertDeltaDeep } from '../../utils/clone'\nimport { getInsertDeltaLength, yTextToInsertDelta } from '../../utils/delta'\nimport { getYTarget } from '../../utils/location'\nimport {\n getStoredPositionsInDeltaAbsolute,\n restoreStoredPositionsWithDeltaAbsolute,\n} from '../../utils/position'\n\nexport function moveNode(sharedRoot: Y.XmlText, slateRoot: Node, op: MoveNodeOperation): void {\n const newParentPath = Path.parent(op.newPath)\n const newPathOffset = op.newPath[op.newPath.length - 1]\n const parent = Node.get(slateRoot, newParentPath)\n if (Text.isText(parent)) {\n throw new Error('Cannot move slate node into text element')\n }\n const normalizedNewPath = [...newParentPath, Math.min(newPathOffset, parent.children.length)]\n\n const origin = getYTarget(sharedRoot, slateRoot, op.path)\n const target = getYTarget(sharedRoot, slateRoot, normalizedNewPath)\n const insertDelta = cloneInsertDeltaDeep(origin.targetDelta)\n\n const storedPositions = getStoredPositionsInDeltaAbsolute(\n sharedRoot,\n origin.yParent,\n origin.targetDelta\n )\n\n origin.yParent.delete(origin.textRange.start, origin.textRange.end - origin.textRange.start)\n\n const targetLength = getInsertDeltaLength(yTextToInsertDelta(target.yParent))\n const deltaApplyYOffset = Math.min(target.textRange.start, targetLength)\n const applyDelta: Delta = [{ retain: deltaApplyYOffset }, ...insertDelta]\n\n target.yParent.applyDelta(applyDelta, { sanitize: false })\n\n restoreStoredPositionsWithDeltaAbsolute(\n sharedRoot,\n target.yParent,\n storedPositions,\n insertDelta,\n deltaApplyYOffset,\n origin.textRange.start\n )\n}\n","import { Node, SplitNodeOperation, Text } from 'slate'\nimport * as Y from 'yjs'\nimport { cloneInsertDeltaDeep } from '../../utils/clone'\nimport { sliceInsertDelta, yTextToInsertDelta } from '../../utils/delta'\nimport { getSlateNodeYLength, getYTarget } from '../../utils/location'\nimport {\n getStoredPositionsInDeltaAbsolute,\n restoreStoredPositionsWithDeltaAbsolute,\n} from '../../utils/position'\n\nexport function splitNode(sharedRoot: Y.XmlText, slateRoot: Node, op: SplitNodeOperation): void {\n const target = getYTarget(sharedRoot, slateRoot, op.path)\n\n if (!target.slateTarget) {\n throw new Error('Y target without corresponding slate node')\n }\n\n if (!target.yTarget) {\n if (!Text.isText(target.slateTarget)) {\n throw new Error('Mismatch node type between y target and slate node')\n }\n\n const unset: Record<string, null> = {}\n target.targetDelta.forEach(element => {\n if (element.attributes) {\n Object.keys(element.attributes).forEach(key => {\n unset[key] = null\n })\n }\n })\n\n return target.yParent.format(\n target.textRange.start,\n target.textRange.end - target.textRange.start,\n { ...unset, ...op.properties }\n )\n }\n\n if (Text.isText(target.slateTarget)) {\n throw new Error('Mismatch node type between y target and slate node')\n }\n\n const splitTarget = getYTarget(target.yTarget, target.slateTarget, [op.position])\n\n const ySplitOffset = target.slateTarget.children\n .slice(0, op.position)\n .reduce((length, child) => length + getSlateNodeYLength(child), 0)\n\n const length = target.slateTarget.children.reduce(\n (current, child) => current + getSlateNodeYLength(child),\n 0\n )\n\n const splitDelta = sliceInsertDelta(\n yTextToInsertDelta(target.yTarget),\n ySplitOffset,\n length - ySplitOffset\n )\n const clonedDelta = cloneInsertDeltaDeep(splitDelta)\n\n const storedPositions = getStoredPositionsInDeltaAbsolute(\n sharedRoot,\n target.yTarget,\n splitDelta,\n ySplitOffset\n )\n\n const toInsert = new Y.XmlText()\n toInsert.applyDelta(clonedDelta, {\n sanitize: false,\n })\n\n Object.entries(op.properties).forEach(([key, value]) => {\n toInsert.setAttribute(key, value)\n })\n\n target.yTarget.delete(\n splitTarget.textRange.start,\n target.yTarget.length - splitTarget.textRange.start\n )\n\n target.yParent.insertEmbed(target.textRange.end, toInsert)\n\n restoreStoredPositionsWithDeltaAbsolute(\n sharedRoot,\n toInsert,\n storedPositions,\n clonedDelta,\n 0,\n ySplitOffset\n )\n}\n","import { TextOperation } from 'slate'\nimport { OpMapper } from '../types'\nimport { insertText } from './insertText'\nimport { removeText } from './removeText'\n\nexport const TEXT_MAPPER: OpMapper<TextOperation> = {\n insert_text: insertText,\n remove_text: removeText,\n}\n","import { Node, Operation } from 'slate'\nimport * as Y from 'yjs'\nimport { NODE_MAPPER } from './node'\nimport { TEXT_MAPPER } from './text'\nimport { ApplyFunc, OpMapper } from './types'\n\n// eslint-disable-next-line @typescript-eslint/no-empty-function\nconst NOOP = () => {}\n\nconst opMappers: OpMapper = {\n ...TEXT_MAPPER,\n ...NODE_MAPPER,\n\n set_selection: NOOP,\n}\n\nexport function applySlateOp(sharedRoot: Y.XmlText, slateRoot: Node, op: Operation): void {\n const apply = opMappers[op.type] as ApplyFunc<typeof op>\n if (!apply) {\n throw new Error(`Unknown operation: ${op.type}`)\n }\n\n apply(sharedRoot, slateRoot, op)\n}\n","import { InsertTextOperation, Node, Text } from 'slate'\nimport type Y from 'yjs'\nimport { getYTarget } from '../../utils/location'\nimport { getProperties } from '../../utils/slate'\n\nexport function insertText(sharedRoot: Y.XmlText, slateRoot: Node, op: InsertTextOperation): void {\n const { yParent: target, textRange } = getYTarget(sharedRoot, slateRoot, op.path)\n\n const targetNode = Node.get(slateRoot, op.path)\n if (!Text.isText(targetNode)) {\n throw new Error('Cannot insert text into non-text node')\n }\n\n target.insert(textRange.start + op.offset, op.text, getProperties(targetNode))\n}\n","import { Node, RemoveTextOperation } from 'slate'\nimport type Y from 'yjs'\nimport { getYTarget } from '../../utils/location'\n\nexport function removeText(sharedRoot: Y.XmlText, slateRoot: Node, op: RemoveTextOperation): void {\n const { yParent: target, textRange } = getYTarget(sharedRoot, slateRoot, op.path)\n target.delete(textRange.start + op.offset, op.text.length)\n}\n","import { BaseEditor, Descendant, Editor, Operation, Point } from 'slate'\nimport * as Y from 'yjs'\nimport { applyYjsEvents } from '../applyToSlate'\nimport { applySlateOp } from '../applyToYjs'\nimport { yTextToSlateElement } from '../utils/convert'\nimport {\n getStoredPosition,\n getStoredPositions,\n relativePositionToSlatePoint,\n removeStoredPosition,\n setStoredPosition,\n slatePointToRelativePosition,\n} from '../utils/position'\nimport { assertDocumentAttachment } from '../utils/yjs'\n\ntype LocalChange = {\n op: Operation\n doc: Descendant[]\n origin: unknown\n}\n\nconst DEFAULT_LOCAL_ORIGIN = Symbol('slate-yjs-operation')\nconst DEFAULT_POSITION_STORAGE_ORIGIN = Symbol('slate-yjs-position-storage')\n\nconst ORIGIN: WeakMap<Editor, unknown> = new WeakMap()\nconst LOCAL_CHANGES: WeakMap<Editor, LocalChange[]> = new WeakMap()\nconst CONNECTED: WeakSet<Editor> = new WeakSet()\n\nexport type YjsEditor = BaseEditor & {\n sharedRoot: Y.XmlText\n\n localOrigin: unknown\n positionStorageOrigin: unknown\n\n applyRemoteEvents: (events: Y.YEvent<Y.XmlText>[], origin: unknown) => void\n\n storeLocalChange: (op: Operation) => void\n flushLocalChanges: () => void\n\n isLocalOrigin: (origin: unknown) => boolean\n\n connect: () => void\n disconnect: () => void\n}\n\nexport const YjsEditor = {\n isYjsEditor(value: unknown): value is YjsEditor {\n return (\n Editor.isEditor(value) &&\n (value as YjsEditor).sharedRoot instanceof Y.XmlText &&\n 'localOrigin' in value &&\n 'positionStorageOrigin' in value &&\n typeof (value as YjsEditor).applyRemoteEvents === 'function' &&\n typeof (value as YjsEditor).storeLocalChange === 'function' &&\n typeof (value as YjsEditor).flushLocalChanges === 'function' &&\n typeof (value as YjsEditor).isLocalOrigin === 'function' &&\n typeof (value as YjsEditor).connect === 'function' &&\n typeof (value as YjsEditor).disconnect === 'function'\n )\n },\n\n localChanges(editor: YjsEditor): LocalChange[] {\n return LOCAL_CHANGES.get(editor) ?? []\n },\n\n applyRemoteEvents(editor: YjsEditor, events: Y.YEvent<Y.XmlText>[], origin: unknown): void {\n editor.applyRemoteEvents(events, origin)\n },\n\n storeLocalChange(editor: YjsEditor, op: Operation): void {\n editor.storeLocalChange(op)\n },\n\n flushLocalChanges(editor: YjsEditor): void {\n editor.flushLocalChanges()\n },\n\n connected(editor: YjsEditor): boolean {\n return CONNECTED.has(editor)\n },\n\n connect(editor: YjsEditor): void {\n editor.connect()\n },\n\n disconnect(editor: YjsEditor): void {\n editor.disconnect()\n },\n\n isLocal(editor: YjsEditor): boolean {\n return editor.isLocalOrigin(YjsEditor.origin(editor))\n },\n\n origin(editor: YjsEditor): unknown {\n const origin = ORIGIN.get(editor)\n return origin !== undefined ? origin : editor.localOrigin\n },\n\n withOrigin(editor: YjsEditor, origin: unknown, fn: () => void): void {\n const prev = YjsEditor.origin(editor)\n ORIGIN.set(editor, origin)\n fn()\n ORIGIN.set(editor, prev)\n },\n\n storePosition(editor: YjsEditor, key: string, point: Point): void {\n const { sharedRoot, positionStorageOrigin: locationStorageOrigin } = editor\n assertDocumentAttachment(sharedRoot)\n\n const position = slatePointToRelativePosition(sharedRoot, editor, point)\n\n sharedRoot.doc.transact(() => {\n setStoredPosition(sharedRoot, key, position)\n }, locationStorageOrigin)\n },\n\n removeStoredPosition(editor: YjsEditor, key: string): void {\n const { sharedRoot, positionStorageOrigin: locationStorageOrigin } = editor\n assertDocumentAttachment(sharedRoot)\n\n sharedRoot.doc.transact(() => {\n removeStoredPosition(sharedRoot, key)\n }, locationStorageOrigin)\n },\n\n position(editor: YjsEditor, key: string): Point | null | undefined {\n const position = getStoredPosition(editor.sharedRoot, key)\n if (!position) {\n return undefined\n }\n\n return relativePositionToSlatePoint(editor.sharedRoot, editor, position)\n },\n\n storedPositionsRelative(editor: YjsEditor): Record<string, Y.RelativePosition> {\n return getStoredPositions(editor.sharedRoot)\n },\n}\n\nexport type WithYjsOptions = {\n autoConnect?: boolean\n\n // Origin used when applying local slate operations to yjs\n localOrigin?: unknown\n\n // Origin used when storing positions\n positionStorageOrigin?: unknown\n}\n\nexport function withYjs(sharedRoot: Y.XmlText, options: WithYjsOptions = {}) {\n return function <T extends Editor>(editor: T): T & YjsEditor {\n const e = editor as T & YjsEditor\n\n e.sharedRoot = sharedRoot\n\n e.localOrigin = options.localOrigin ?? DEFAULT_LOCAL_ORIGIN\n e.positionStorageOrigin = options.positionStorageOrigin ?? DEFAULT_POSITION_STORAGE_ORIGIN\n\n e.applyRemoteEvents = (events, origin) => {\n YjsEditor.flushLocalChanges(e)\n\n Editor.withoutNormalizing(e, () => {\n YjsEditor.withOrigin(e, origin, () => {\n applyYjsEvents(e.sharedRoot, e, events)\n })\n })\n }\n\n e.isLocalOrigin = origin => origin === e.localOrigin\n\n const handleYEvents = (events: Y.YEvent<Y.XmlText>[], transaction: Y.Transaction) => {\n if (e.isLocalOrigin(transaction.origin)) {\n return\n }\n\n YjsEditor.applyRemoteEvents(e, events, transaction.origin)\n }\n\n let autoConnectTimeoutId: ReturnType<typeof setTimeout> | null = null\n if (options.autoConnect) {\n autoConnectTimeoutId = setTimeout(() => {\n autoConnectTimeoutId = null\n YjsEditor.connect(e)\n })\n }\n\n e.connect = () => {\n if (YjsEditor.connected(e)) {\n throw new Error('already connected')\n }\n\n e.sharedRoot.observeDeep(handleYEvents)\n const content = yTextToSlateElement(e.sharedRoot)\n e.children = content.children\n CONNECTED.add(e)\n\n Editor.normalize(editor, { force: true })\n if (!editor.operations.length) {\n editor.onChange()\n }\n }\n\n e.disconnect = () => {\n if (autoConnectTimeoutId) {\n clearTimeout(autoConnectTimeoutId)\n }\n\n YjsEditor.flushLocalChanges(e)\n e.sharedRoot.unobserveDeep(handleYEvents)\n CONNECTED.delete(e)\n }\n\n e.storeLocalChange = op => {\n LOCAL_CHANGES.set(e, [\n ...YjsEditor.localChanges(e),\n { op, doc: editor.children, origin: YjsEditor.origin(e) },\n ])\n }\n\n e.flushLocalChanges = () => {\n assertDocumentAttachment(e.sharedRoot)\n const localChanges = YjsEditor.localChanges(e)\n LOCAL_CHANGES.delete(e)\n\n const txGroups: LocalChange[][] = []\n localChanges.forEach(change => {\n const currentGroup = txGroups[txGroups.length - 1]\n if (currentGroup && currentGroup[0].origin === change.origin) {\n return currentGroup.push(change)\n }\n\n txGroups.push([change])\n })\n\n txGroups.forEach(txGroup => {\n assertDocumentAttachment(e.sharedRoot)\n\n e.sharedRoot.doc.transact(() => {\n txGroup.forEach(change => {\n assertDocumentAttachment(e.sharedRoot)\n applySlateOp(e.sharedRoot, { children: change.doc }, change.op)\n })\n }, txGroup[0].origin)\n })\n }\n\n const { apply, onChange } = e\n e.apply = op => {\n if (YjsEditor.connected(e) && YjsEditor.isLocal(e)) {\n YjsEditor.storeLocalChange(e, op)\n }\n\n apply(op)\n }\n\n e.onChange = () => {\n if (YjsEditor.connected(e)) {\n YjsEditor.flushLocalChanges(e)\n }\n\n onChange()\n }\n\n return e\n }\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","'use strict';\nvar defineProperty = require('../internals/object-define-property').f;\nvar create = require('../internals/object-create');\nvar redefineAll = require('../internals/redefine-all');\nvar bind = require('../internals/function-bind-context');\nvar anInstance = require('../internals/an-instance');\nvar iterate = require('../internals/iterate');\nvar defineIterator = require('../internals/define-iterator');\nvar setSpecies = require('../internals/set-species');\nvar DESCRIPTORS = require('../internals/descriptors');\nvar fastKey = require('../internals/internal-metadata').fastKey;\nvar InternalStateModule = require('../internals/internal-state');\n\nvar setInternalState = InternalStateModule.set;\nvar internalStateGetterFor = InternalStateModule.getterFor;\n\nmodule.exports = {\n getConstructor: function (wrapper, CONSTRUCTOR_NAME, IS_MAP, ADDER) {\n var Constructor = wrapper(function (that, iterable) {\n anInstance(that, Prototype);\n setInternalState(that, {\n type: CONSTRUCTOR_NAME,\n index: create(null),\n first: undefined,\n last: undefined,\n size: 0\n });\n if (!DESCRIPTORS) that.size = 0;\n if (iterable != undefined) iterate(iterable, that[ADDER], { that: that, AS_ENTRIES: IS_MAP });\n });\n\n var Prototype = Constructor.prototype;\n\n var getInternalState = internalStateGetterFor(CONSTRUCTOR_NAME);\n\n var define = function (that, key, value) {\n var state = getInternalState(that);\n var entry = getEntry(that, key);\n var previous, index;\n // change existing entry\n if (entry) {\n entry.value = value;\n // create new entry\n } else {\n state.last = entry = {\n index: index = fastKey(key, true),\n key: key,\n value: value,\n previous: previous = state.last,\n next: undefined,\n removed: false\n };\n if (!state.first) state.first = entry;\n if (previous) previous.next = entry;\n if (DESCRIPTORS) state.size++;\n else that.size++;\n // add to index\n if (index !== 'F') state.index[index] = entry;\n } return that;\n };\n\n var getEntry = function (that, key) {\n var state = getInternalState(that);\n // fast case\n var index = fastKey(key);\n var entry;\n if (index !== 'F') return state.index[index];\n // frozen object case\n for (entry = state.first; entry; entry = entry.next) {\n if (entry.key == key) return entry;\n }\n };\n\n redefineAll(Prototype, {\n // `{ Map, Set }.prototype.clear()` methods\n // https://tc39.es/ecma262/#sec-map.prototype.clear\n // https://tc39.es/ecma262/#sec-set.prototype.clear\n clear: function clear() {\n var that = this;\n var state = getInternalState(that);\n var data = state.index;\n var entry = state.first;\n while (entry) {\n entry.removed = true;\n if (entry.previous) entry.previous = entry.previous.next = undefined;\n delete data[entry.index];\n entry = entry.next;\n }\n state.first = state.last = undefined;\n if (DESCRIPTORS) state.size = 0;\n else that.size = 0;\n },\n // `{ Map, Set }.prototype.delete(key)` methods\n // https://tc39.es/ecma262/#sec-map.prototype.delete\n // https://tc39.es/ecma262/#sec-set.prototype.delete\n 'delete': function (key) {\n var that = this;\n var state = getInternalState(that);\n var entry = getEntry(that, key);\n if (entry) {\n var next = entry.next;\n var prev = entry.previous;\n delete state.index[entry.index];\n entry.removed = true;\n if (prev) prev.next = next;\n if (next) next.previous = prev;\n if (state.first == entry) state.first = next;\n if (state.last == entry) state.last = prev;\n if (DESCRIPTORS) state.size--;\n else that.size--;\n } return !!entry;\n },\n // `{ Map, Set }.prototype.forEach(callbackfn, thisArg = undefined)` methods\n // https://tc39.es/ecma262/#sec-map.prototype.foreach\n // https://tc39.es/ecma262/#sec-set.prototype.foreach\n forEach: function forEach(callbackfn /* , that = undefined */) {\n var state = getInternalState(this);\n var boundFunction = bind(callbackfn, arguments.length > 1 ? arguments[1] : undefined);\n var entry;\n while (entry = entry ? entry.next : state.first) {\n boundFunction(entry.value, entry.key, this);\n // revert to the last existing entry\n while (entry && entry.removed) entry = entry.previous;\n }\n },\n // `{ Map, Set}.prototype.has(key)` methods\n // https://tc39.es/ecma262/#sec-map.prototype.has\n // https://tc39.es/ecma262/#sec-set.prototype.has\n has: function has(key) {\n return !!getEntry(this, key);\n }\n });\n\n redefineAll(Prototype, IS_MAP ? {\n // `Map.prototype.get(key)` method\n // https://tc39.es/ecma262/#sec-map.prototype.get\n get: function get(key) {\n var entry = getEntry(this, key);\n return entry && entry.value;\n },\n // `Map.prototype.set(key, value)` method\n // https://tc39.es/ecma262/#sec-map.prototype.set\n set: function set(key, value) {\n return define(this, key === 0 ? 0 : key, value);\n }\n } : {\n // `Set.prototype.add(value)` method\n // https://tc39.es/ecma262/#sec-set.prototype.add\n add: function add(value) {\n return define(this, value = value === 0 ? 0 : value, value);\n }\n });\n if (DESCRIPTORS) defineProperty(Prototype, 'size', {\n get: function () {\n return getInternalState(this).size;\n }\n });\n return Constructor;\n },\n setStrong: function (Constructor, CONSTRUCTOR_NAME, IS_MAP) {\n var ITERATOR_NAME = CONSTRUCTOR_NAME + ' Iterator';\n var getInternalCollectionState = internalStateGetterFor(CONSTRUCTOR_NAME);\n var getInternalIteratorState = internalStateGetterFor(ITERATOR_NAME);\n // `{ Map, Set }.prototype.{ keys, values, entries, @@iterator }()` methods\n // https://tc39.es/ecma262/#sec-map.prototype.entries\n // https://tc39.es/ecma262/#sec-map.prototype.keys\n // https://tc39.es/ecma262/#sec-map.prototype.values\n // https://tc39.es/ecma262/#sec-map.prototype-@@iterator\n // https://tc39.es/ecma262/#sec-set.prototype.entries\n // https://tc39.es/ecma262/#sec-set.prototype.keys\n // https://tc39.es/ecma262/#sec-set.prototype.values\n // https://tc39.es/ecma262/#sec-set.prototype-@@iterator\n defineIterator(Constructor, CONSTRUCTOR_NAME, function (iterated, kind) {\n setInternalState(this, {\n type: ITERATOR_NAME,\n target: iterated,\n state: getInternalCollectionState(iterated),\n kind: kind,\n last: undefined\n });\n }, function () {\n var state = getInternalIteratorState(this);\n var kind = state.kind;\n var entry = state.last;\n // revert to the last existing entry\n while (entry && entry.removed) entry = entry.previous;\n // get next entry\n if (!state.target || !(state.last = entry = entry ? entry.next : state.state.first)) {\n // or finish the iteration\n state.target = undefined;\n return { value: undefined, done: true };\n }\n // return step by kind\n if (kind == 'keys') return { value: entry.key, done: false };\n if (kind == 'values') return { value: entry.value, done: false };\n return { value: [entry.key, entry.value], done: false };\n }, IS_MAP ? 'entries' : 'values', !IS_MAP, true);\n\n // `{ Map, Set }.prototype[@@species]` accessors\n // https://tc39.es/ecma262/#sec-get-map-@@species\n // https://tc39.es/ecma262/#sec-get-set-@@species\n setSpecies(CONSTRUCTOR_NAME);\n }\n};\n","'use strict';\nvar collection = require('../internals/collection');\nvar collectionStrong = require('../internals/collection-strong');\n\n// `Set` constructor\n// https://tc39.es/ecma262/#sec-set-objects\ncollection('Set', function (init) {\n return function Set() { return init(this, arguments.length ? arguments[0] : undefined); };\n}, collectionStrong);\n","import { Editor, Transforms } from 'slate'\nimport * as Y from 'yjs'\nimport { HistoryStackItem, RelativeRange } from '../module/custom-types'\nimport { relativeRangeToSlateRange, slateRangeToRelativeRange } from '../utils/position'\nimport { YjsEditor } from './withYjs'\n\nconst LAST_SELECTION: WeakMap<Editor, RelativeRange | null> = new WeakMap()\nconst DEFAULT_WITHOUT_SAVING_ORIGIN = Symbol('slate-yjs-history-without-saving')\n\nexport type YHistoryEditor = YjsEditor & {\n undoManager: Y.UndoManager\n\n withoutSavingOrigin: unknown\n\n undo: () => void\n redo: () => void\n}\n\nexport const YHistoryEditor = {\n isYHistoryEditor(value: unknown): value is YHistoryEditor {\n return (\n YjsEditor.isYjsEditor(value) &&\n (value as YHistoryEditor).undoManager instanceof Y.UndoManager &&\n typeof (value as YHistoryEditor).undo === 'function' &&\n typeof (value as YHistoryEditor).redo === 'function' &&\n 'withoutSavingOrigin' in value\n )\n },\n\n canUndo(editor: YHistoryEditor) {\n return editor.undoManager.undoStack.length > 0\n },\n\n canRedo(editor: YHistoryEditor) {\n return editor.undoManager.redoStack.length > 0\n },\n\n isSaving(editor: YHistoryEditor): boolean {\n return editor.undoManager.trackedOrigins.has(YjsEditor.origin(editor))\n },\n\n withoutSaving(editor: YHistoryEditor, fn: () => void) {\n YjsEditor.withOrigin(editor, editor.withoutSavingOrigin, fn)\n },\n}\n\nexport type WithYHistoryOptions = NonNullable<ConstructorParameters<typeof Y.UndoManager>[1]> & {\n withoutSavingOrigin?: unknown\n}\n\nexport function withYHistory(options: WithYHistoryOptions = {}) {\n return function <T extends YjsEditor>(editor: T): T & YHistoryEditor {\n const e = editor as T & YHistoryEditor\n\n // 将 trackedOrigins 的初始化放到 editor 被传入之后\n const {\n withoutSavingOrigin = DEFAULT_WITHOUT_SAVING_ORIGIN,\n trackedOrigins = new Set([e.localOrigin]),\n ...restOptions\n } = options\n\n const undoManager = new Y.UndoManager(e.sharedRoot, {\n trackedOrigins,\n ...restOptions,\n })\n\n e.undoManager = undoManager\n e.withoutSavingOrigin = withoutSavingOrigin\n\n const { onChange, isLocalOrigin } = e\n e.onChange = () => {\n onChange()\n\n LAST_SELECTION.set(e, e.selection && slateRangeToRelativeRange(e.sharedRoot, e, e.selection))\n }\n\n e.isLocalOrigin = origin => origin === e.withoutSavingOrigin || isLocalOrigin(origin)\n\n const handleStackItemAdded = ({\n stackItem,\n }: {\n stackItem: HistoryStackItem\n type: 'redo' | 'undo'\n }) => {\n stackItem.meta.set(\n 'selection',\n e.selection && slateRangeToRelativeRange(e.sharedRoot, e, e.selection)\n )\n stackItem.meta.set('selectionBefore', LAST_SELECTION.get(e))\n }\n\n const handleStackItemUpdated = ({\n stackItem,\n }: {\n stackItem: HistoryStackItem\n type: 'redo' | 'undo'\n }) => {\n stackItem.meta.set(\n 'selection',\n e.selection && slateRangeToRelativeRange(e.sharedRoot, e, e.selection)\n )\n }\n\n const handleStackItemPopped = ({\n stackItem,\n type,\n }: {\n stackItem: HistoryStackItem\n type: 'redo' | 'undo'\n }) => {\n // TODO: Change once https://github.com/yjs/yjs/issues/353 is resolved\n const inverseStack = type === 'undo' ? e.undoManager.redoStack : e.undoManager.undoStack\n const inverseItem = inverseStack[inverseStack.length - 1]\n if (inverseItem) {\n inverseItem.meta.set('selection', stackItem.meta.get('selectionBefore'))\n inverseItem.meta.set('selectionBefore', stackItem.meta.get('selection'))\n }\n\n const relativeSelection = stackItem.meta.get('selectionBefore') as RelativeRange | null\n\n if (!relativeSelection) {\n return\n }\n\n const selection = relativeRangeToSlateRange(e.sharedRoot, e, relativeSelection)\n\n if (!selection) {\n return\n }\n\n Transforms.select(e, selection)\n }\n\n const { connect, disconnect } = e\n e.connect = () => {\n connect()\n\n e.undoManager.on('stack-item-added', handleStackItemAdded)\n e.undoManager.on('stack-item-popped', handleStackItemPopped)\n e.undoManager.on('stack-item-updated', handleStackItemUpdated)\n }\n\n e.disconnect = () => {\n e.undoManager.off('stack-item-added', handleStackItemAdded)\n e.undoManager.off('stack-item-popped', handleStackItemPopped)\n e.undoManager.off('stack-item-updated', handleStackItemUpdated)\n\n disconnect()\n }\n\n e.undo = () => {\n if (YjsEditor.connected(e)) {\n YjsEditor.flushLocalChanges(e)\n e.undoManager.undo()\n }\n }\n\n e.redo = () => {\n if (YjsEditor.connected(e)) {\n YjsEditor.flushLocalChanges(e)\n e.undoManager.redo()\n }\n }\n\n return e\n }\n}\n","import { Editor, Range } from 'slate'\nimport { Awareness } from 'y-protocols/awareness'\nimport * as Y from 'yjs'\nimport { RelativeRange } from '../module/custom-types'\nimport { slateRangeToRelativeRange } from '../utils/position'\nimport { YjsEditor } from './withYjs'\n\nexport type CursorStateChangeEvent = {\n added: number[]\n updated: number[]\n removed: number[]\n}\n\nexport type RemoteCursorChangeEventListener = (event: CursorStateChangeEvent) => void\n\nconst CURSOR_CHANGE_EVENT_LISTENERS: WeakMap<\n Editor,\n Set<RemoteCursorChangeEventListener>\n> = new WeakMap()\n\nexport type CursorState<TCursorData extends Record<string, unknown> = Record<string, unknown>> = {\n relativeSelection: RelativeRange | null\n data?: TCursorData\n clientId: number\n}\n\nexport type CursorEditor<TCursorData extends Record<string, unknown> = Record<string, unknown>> =\n YjsEditor & {\n awareness: Awareness\n\n cursorDataField: string\n selectionStateField: string\n\n sendCursorPosition: (range: Range | null) => void\n sendCursorData: (data: TCursorData) => void\n }\n\nexport const CursorEditor = {\n isCursorEditor(value: unknown): value is CursorEditor {\n return (\n YjsEditor.isYjsEditor(value) &&\n (value as CursorEditor).awareness &&\n typeof (value as CursorEditor).cursorDataField === 'string' &&\n typeof (value as CursorEditor).selectionStateField === 'string' &&\n typeof (value as CursorEditor).sendCursorPosition === 'function' &&\n typeof (value as CursorEditor).sendCursorData === 'function'\n )\n },\n\n sendCursorPosition<TCursorData extends Record<string, unknown>>(\n editor: CursorEditor<TCursorData>,\n range: Range | null = editor.selection\n ) {\n editor.sendCursorPosition(range)\n },\n\n sendCursorData<TCursorData extends Record<string, unknown>>(\n editor: CursorEditor<TCursorData>,\n data: TCursorData\n ) {\n editor.sendCursorData(data)\n },\n\n on<TCursorData extends Record<string, unknown>>(\n editor: CursorEditor<TCursorData> | null,\n event: 'change',\n handler: RemoteCursorChangeEventListener\n ) {\n if (event !== 'change') {\n return\n }\n\n if (!editor) return\n const listeners = CURSOR_CHANGE_EVENT_LISTENERS.get(editor) ?? new Set()\n listeners.add(handler)\n CURSOR_CHANGE_EVENT_LISTENERS.set(editor, listeners)\n },\n\n off<TCursorData extends Record<string, unknown>>(\n editor: CursorEditor<TCursorData>,\n event: 'change',\n listener: RemoteCursorChangeEventListener\n ) {\n if (event !== 'change') {\n return\n }\n\n const listeners = CURSOR_CHANGE_EVENT_LISTENERS.get(editor)\n if (listeners) {\n listeners.delete(listener)\n }\n },\n\n cursorState<TCursorData extends Record<string, unknown>>(\n editor: CursorEditor<TCursorData>,\n clientId: number\n ): CursorState<TCursorData> | null {\n if (clientId === editor.awareness.clientID || !YjsEditor.connected(editor)) {\n return null\n }\n\n const state = editor.awareness.getStates().get(clientId)\n if (!state) {\n return null\n }\n\n return {\n relativeSelection: state[editor.selectionStateField] ?? null,\n data: state[editor.cursorDataField],\n clientId,\n }\n },\n\n cursorStates<TCursorData extends Record<string, unknown>>(\n editor: CursorEditor<TCursorData>\n ): Record<string, CursorState<TCursorData>> {\n if (!YjsEditor.connected(editor)) {\n return {}\n }\n\n return Object.fromEntries(\n Array.from(editor.awareness.getStates().entries(), ([id, state]) => {\n // Ignore own state\n if (id === editor.awareness.clientID || !state) {\n return null\n }\n\n return [\n id,\n {\n relativeSelection: state[editor.selectionStateField],\n data: state[editor.cursorDataField],\n },\n ]\n }).filter(Array.isArray)\n )\n },\n}\n\nexport type WithCursorsOptions<\n TCursorData extends Record<string, unknown> = Record<string, unknown>\n> = {\n // Local state field used to store the user selection\n cursorStateField?: string\n\n // Local state field used to store data attached to the local client\n cursorDataField?: string\n\n data?: TCursorData\n autoSend?: boolean\n}\n\nexport function withCursors<TCursorData extends Record<string, unknown>>(\n awareness: Awareness,\n options: WithCursorsOptions<TCursorData> = {}\n) {\n return function <T extends YjsEditor>(editor: T): T & CursorEditor<TCursorData> {\n const {\n cursorStateField: selectionStateField = 'selection',\n cursorDataField = 'data',\n autoSend = true,\n data,\n } = options\n const e = editor as T & CursorEditor<TCursorData>\n\n e.awareness = awareness\n e.cursorDataField = cursorDataField\n e.selectionStateField = selectionStateField\n\n e.sendCursorData = (cursorData: TCursorData) => {\n e.awareness.setLocalStateField(e.cursorDataField, cursorData)\n }\n\n e.sendCursorPosition = range => {\n const localState = e.awareness.getLocalState()\n const currentRange = localState?.[selectionStateField]\n\n if (!range) {\n if (currentRange) {\n e.awareness.setLocalStateField(e.selectionStateField, null)\n }\n\n return\n }\n\n const { anchor, focus } = slateRangeToRelativeRange(e.sharedRoot, e, range)\n\n if (\n !currentRange ||\n !Y.compareRelativePositions(anchor, currentRange) ||\n !Y.compareRelativePositions(focus, currentRange)\n ) {\n e.awareness.setLocalStateField(e.selectionStateField, { anchor, focus })\n }\n }\n\n const awarenessChangeListener: RemoteCursorChangeEventListener = yEvent => {\n const listeners = CURSOR_CHANGE_EVENT_LISTENERS.get(e)\n if (!listeners) {\n return\n }\n\n const localId = e.awareness.clientID\n const event = {\n added: yEvent.added.filter(id => id !== localId),\n removed: yEvent.removed.filter(id => id !== localId),\n updated: yEvent.updated.filter(id => id !== localId),\n }\n\n if (event.added.length > 0 || event.removed.length > 0 || event.updated.length > 0) {\n listeners.forEach(listener => listener(event))\n }\n }\n\n const { connect, disconnect } = e\n e.connect = () => {\n connect()\n\n e.awareness.on('change', awarenessChangeListener)\n\n awarenessChangeListener({\n removed: [],\n added: Array.from(e.awareness.getStates().keys()),\n updated: [],\n })\n\n if (autoSend) {\n if (data) {\n CursorEditor.sendCursorData(e, data)\n }\n\n const { onChange } = e\n e.onChange = () => {\n onChange()\n\n if (YjsEditor.connected(e)) {\n CursorEditor.sendCursorPosition(e)\n }\n }\n }\n }\n\n e.disconnect = () => {\n e.awareness.off('change', awarenessChangeListener)\n\n awarenessChangeListener({\n removed: Array.from(e.awareness.getStates().keys()),\n added: [],\n updated: [],\n })\n\n disconnect()\n }\n\n return e\n }\n}\n"],"names":["match","version","check","it","Math","global","globalThis","window","self","this","Function","fails","exec","error","descriptors","Object","defineProperty","get","call","prototype","functionCall","bind","apply","arguments","$propertyIsEnumerable","propertyIsEnumerable","getOwnPropertyDescriptor","f","V","descriptor","enumerable","createPropertyDescriptor","bitmap","value","configurable","writable","FunctionPrototype","callBind","functionUncurryThis","fn","toString","uncurryThis","stringSlice","slice","classofRaw","split","indexedObject","classof","TypeError","requireObjectCoercible","undefined","toIndexedObject","IndexedObject","isCallable","argument","isObject","getBuiltIn","namespace","method","length","objectIsPrototypeOf","isPrototypeOf","engineUserAgent","process","Deno","versions","v8","userAgent","engineV8Version","nativeSymbol","getOwnPropertySymbols","symbol","Symbol","String","sham","V8_VERSION","useSymbolAsUid","NATIVE_SYMBOL","iterator","isSymbol","USE_SYMBOL_AS_UID","$Symbol","tryToString","aCallable","getMethod","P","func","setGlobal","key","SHARED","sharedStore","module","exports","store","push","mode","copyright","toObject","hasOwnProperty","hasOwnProperty_1","hasOwn","id","postfix","random","uid","WellKnownSymbolsStore","shared","symbolFor","createWellKnownSymbol","withoutSetter","wellKnownSymbol","name","description","TO_PRIMITIVE","toPrimitive","input","pref","result","exoticToPrim","val","valueOf","ordinaryToPrimitive","toPropertyKey","document","EXISTS","createElement","documentCreateElement","ie8DomDefine","DESCRIPTORS","a","$getOwnPropertyDescriptor","O","IE8_DOM_DEFINE","propertyIsEnumerableModule","anObject","$defineProperty","Attributes","createNonEnumerableProperty","object","definePropertyModule","functionToString","inspectSource","set","has","WeakMap","nativeWeakMap","test","keys","sharedKey","hiddenKeys","OBJECT_ALREADY_INITIALIZED","NATIVE_WEAK_MAP","state","wmget","wmhas","wmset","metadata","facade","STATE","internalState","enforce","getterFor","TYPE","type","getDescriptor","functionName","PROPER","CONFIGURABLE","CONFIGURABLE_FUNCTION_NAME","require$$0","getInternalState","InternalStateModule","enforceInternalState","TEMPLATE","options","unsafe","simple","noTargetGet","replace","source","join","ceil","floor","toIntegerOrInfinity","number","max","min","toAbsoluteIndex","index","integer","toLength","lengthOfArrayLike","obj","createMethod","IS_INCLUDES","$this","el","fromIndex","arrayIncludes","includes","indexOf","objectKeysInternal","names","i","enumBugKeys","concat","getOwnPropertyNames","internalObjectKeys","ownKeys","getOwnPropertyNamesModule","getOwnPropertySymbolsModule","copyConstructorProperties","target","getOwnPropertyDescriptorModule","replacement","isForced","feature","detection","data","normalize","POLYFILL","NATIVE","string","toLowerCase","isForced_1","_export","targetProperty","sourceProperty","TARGET","GLOBAL","STATIC","stat","forced","redefine","functionApply","Reflect","isArray","Array","activeXDocument","toStringTagSupport","TO_STRING_TAG","CORRECT_ARGUMENTS","TO_STRING_TAG_SUPPORT","tag","tryGet","callee","objectKeys","objectDefineProperties","defineProperties","Properties","props","html","PROTOTYPE","SCRIPT","IE_PROTO","EmptyConstructor","scriptTag","content","LT","NullProtoObjectViaActiveX","write","close","temp","parentWindow","NullProtoObject","ActiveXObject","iframeDocument","iframe","JS","domain","style","display","appendChild","src","contentWindow","open","F","objectCreate","create","createProperty","propertyKey","$getOwnPropertyNames","windowNames","getWindowNames","start","end","k","fin","n","arraySlice","path","setToStringTag","TAG","functionBindContext","that","noop","empty","construct","constructorRegExp","INCORRECT_TO_STRING","isConstructorModern","isConstructor","called","SPECIES","arraySpeciesCreate","originalArray","C","constructor","IS_MAP","IS_FILTER","IS_SOME","IS_EVERY","IS_FIND_INDEX","IS_FILTER_REJECT","NO_HOLES","callbackfn","specificCreate","boundFunction","arrayIteration","forEach","map","filter","some","every","find","findIndex","filterReject","$forEach","HIDDEN","SYMBOL","setInternalState","ObjectPrototype","SymbolPrototype","QObject","$stringify","nativeGetOwnPropertyDescriptor","nativeDefineProperty","nativeGetOwnPropertyNames","getOwnPropertyNamesExternal","nativePropertyIsEnumerable","AllSymbols","ObjectPrototypeSymbols","StringToSymbolRegistry","SymbolToStringRegistry","USE_SETTER","findChild","setSymbolDescriptor","nativeObjectCreate","ObjectPrototypeDescriptor","wrap","$defineProperties","properties","$getOwnPropertySymbols","IS_OBJECT_PROTOTYPE","$toString","setter","wrappedWellKnownSymbolModule","$forEach$1","NAME","defineWellKnownSymbol","$","for","keyFor","sym","useSetter","useSimple","FORCED_JSON_STRINGIFY","stringify","replacer","space","args","$replacer","hint","NativeSymbol","EmptyStringDescriptionStore","SymbolWrapper","symbolToString","symbolValueOf","regexp","desc","UNSCOPABLES","ArrayPrototype","IteratorPrototype","PrototypeOfArrayIteratorPrototype","arrayIterator","addToUnscopables","iterators","correctPrototypeGetter","getPrototypeOf","objectGetPrototypeOf","CORRECT_PROTOTYPE_GETTER","ITERATOR","BUGGY_SAFARI_ITERATORS","NEW_ITERATOR_PROTOTYPE","iteratorsCore","returnThis","objectSetPrototypeOf","setPrototypeOf","CORRECT_SETTER","proto","aPossiblePrototype","__proto__","PROPER_FUNCTION_NAME","FunctionName","IteratorsCore","KEYS","VALUES","ENTRIES","defineIterator","Iterable","IteratorConstructor","next","DEFAULT","IS_SET","FORCED","ENUMERABLE_NEXT","Iterators","createIteratorConstructor","CurrentIteratorPrototype","methods","KEY","getIterationMethod","KIND","defaultIterator","IterablePrototype","INCORRECT_VALUES_NAME","nativeIterator","anyNativeIterator","entries","values","ARRAY_ITERATOR","es_array_iterator","iterated","kind","done","Arguments","objectToString","charAt","charCodeAt","CONVERT_TO_STRING","pos","first","second","S","position","size","codeAt","STRING_ITERATOR","point","redefineAll","arrayBufferNonExtensible","ArrayBuffer","buffer","isExtensible","$isExtensible","objectIsExtensible","ARRAY_BUFFER_NON_EXTENSIBLE","freezing","preventExtensions","REQUIRED","METADATA","setMetadata","objectID","weakData","meta","enable","splice","getOwnPropertyNamesExternalModule","fastKey","getWeakData","onFreeze","FREEZING","isArrayIteratorMethod","getIteratorMethod","getIterator","usingIterator","iteratorMethod","iteratorClose","innerResult","innerError","Result","stopped","ResultPrototype","iterate","iterable","unboundFunction","iterFn","step","AS_ENTRIES","IS_ITERATOR","INTERRUPTED","stop","condition","callFn","anInstance","Prototype","SAFE_CLOSING","iteratorWithReturn","return","from","checkCorrectnessOfIteration","SKIP_CLOSING","ITERATION_SUPPORT","collection","CONSTRUCTOR_NAME","wrapper","common","IS_WEAK","ADDER","NativeConstructor","NativePrototype","Constructor","exported","fixMethod","uncurriedNativeMethod","getConstructor","InternalMetadataModule","instance","HASNT_CHAINING","THROWS_ON_PRIMITIVES","ACCEPT_ITERABLES","BUGGY_ZERO","$instance","dummy","Wrapper","NewTarget","NewTargetPrototype","inheritIfRequired","clear","setStrong","internalStateGetterFor","ArrayIterationModule","uncaughtFrozenStore","frozen","UncaughtFrozenStore","findUncaughtFrozen","entry","delete","InternalWeakMap","collectionWeak","define","add","enforceIternalState","IS_IE11","init","$WeakMap","WeakMapPrototype","nativeDelete","nativeHas","nativeGet","nativeSet","domIterables","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","classList","DOMTokenListPrototype","domTokenListPrototype","arrayForEach","handlePrototype","CollectionPrototype","COLLECTION_NAME","DOMIterables","handlePrototype$1","ArrayValues","ArrayIteratorMethods","METHOD_NAME","callWithSafeIterationClosing","INCORRECT_ITERATION","arrayLike","IS_CONSTRUCTOR","argumentsLength","mapfn","mapping","arrayMethodHasSpeciesSupport","array","foo","Boolean","$map","HAS_SPECIES_SUPPORT","un$Slice","fromEntries","v","FAILS_ON_PRIMITIVES","nativeKeys","TO_ENTRIES","$entries","$filter","$includes","TO_STRING","RegExpPrototype","RegExp","n$ToString","getFlags","ignoreCase","multiline","dotAll","unicode","sticky","NOT_GENERIC","flags","INCORRECT_NAME","o","isPlainObject","ctor","prot","deepEquals","node","another","b","pick","_i","_a","__read","yTextToInsertDelta","yText","delta","normalized","delta_1","__values","delta_1_1","element","insert","prev","attributes","_b","_c","normalizeInsertDelta","toDelta","getInsertLength","getInsertDeltaLength","reduce","curr","sliceInsertDelta","currentOffset","sliced","elementLength","startOffset","endOffset","__assign","getProperties","omit","Text","isText","yTextToSlateElement","children","deltaInsertToSlateNode","text","getAttributes","slateNodesToInsertDelta","nodes","slateElementToYText","__rest","yElement","Y","XmlText","setAttribute","applyDelta","sanitize","R","p","rf","IS_CONCAT_SPREADABLE","MAX_SAFE_INTEGER","MAXIMUM_ALLOWED_INDEX_EXCEEDED","IS_CONCAT_SPREADABLE_SUPPORT","SPECIES_SUPPORT","isConcatSpreadable","spreadable","getSlateNodeYLength","getYTarget","yRoot","slateRoot","Error","pathOffset","childPath","yOffset","slatePathOffsetToYOffset","targetNode","targetLength","targetDelta","yTarget","yParent","textRange","slateParent","slateTarget","yOffsetToSlateOffsets","parent","opts","assoc","lastNonEmptyPathOffset","child_1","nodeLength","child","getSlatePath","sharedRoot","yNodePath","unshift","idx","yChild","currentDelta","currentDelta_1","currentDelta_1_1","translateYTextEvent","editor","event","changes","ops","slatePath","targetElement","Node","keyChanges","newProperties","action","getAttribute","__spreadArray","change","retain","reverse","startPathOffset","startTextOffset","endPathOffset","endTextOffset","_d","_e","offset","_f","textOffset","lastOp","currentProps","lastPath","Path","equals","toInsert","applyYjsEvents","events","Editor","withoutNormalizing","YTextEvent","translateYjsEvent","op","cloneInsertDeltaDeep","cloneDeep","clone","arg","len","E","A","$assign","assign","objectAssign","B","alphabet","chr","T","j","MATCH","notARegexp","isRegExp","un$StartsWith","startsWith","CORRECT_IS_REGEXP_LOGIC","error1","error2","correctIsRegExpLogic","MDN_POLYFILL_BUG","searchString","notARegExp","search","quot","assertDocumentAttachment","sharedType","doc","forcedStringHTMLMethod","anchor","attribute","p1","STORED_POSITION_PREFIX","slatePointToRelativePosition","createRelativePositionFromTypeIndex","relativePositionToSlatePoint","absPos","createAbsolutePositionFromRelativePosition","parentPath","absolutePositionToSlatePoint","setStoredPosition","encodeRelativePosition","getAbsolutePositionsInTextRange","absolutePositions","getAbsolutePositionsInYText","positions","getStoredPositionsInDeltaAbsolute","deltaOffset","decodeRelativePosition","getStoredPositionsAbsolute","restoreStoredPositionsWithDeltaAbsolute","newDeltaOffset","previousDeltaOffset","toRestore","slateRangeToRelativeRange","range","focus","relativeRangeToSlateRange","NODE_MAPPER","insert_node","insertEmbed","remove_node","set_node","removeAttribute","unset","format","merge_node","previous","parent_1","prevSibling","targetProps","prevSiblingProps_1","unsetProps","acc","deltaApplyYOffset","clonedDelta","storedPositions","move_node","newParentPath","newPath","newPathOffset","normalizedNewPath","origin","insertDelta","split_node","unset_1","splitTarget","ySplitOffset","current","splitDelta","opMappers","insert_text","remove_text","set_selection","DEFAULT_LOCAL_ORIGIN","DEFAULT_POSITION_STORAGE_ORIGIN","ORIGIN","LOCAL_CHANGES","CONNECTED","WeakSet","YjsEditor","isYjsEditor","isEditor","applyRemoteEvents","storeLocalChange","flushLocalChanges","isLocalOrigin","connect","disconnect","localChanges","connected","isLocal","localOrigin","withOrigin","storePosition","locationStorageOrigin","positionStorageOrigin","transact","removeStoredPosition","rawPosition","getStoredPosition","storedPositionsRelative","createRelativePositionFromJSON","require$$1","collectionStrong","last","getEntry","removed","ITERATOR_NAME","getInternalCollectionState","getInternalIteratorState","setSpecies","LAST_SELECTION","DEFAULT_WITHOUT_SAVING_ORIGIN","YHistoryEditor","isYHistoryEditor","undoManager","UndoManager","undo","redo","canUndo","undoStack","canRedo","redoStack","isSaving","trackedOrigins","withoutSaving","withoutSavingOrigin","CURSOR_CHANGE_EVENT_LISTENERS","CursorEditor","isCursorEditor","awareness","cursorDataField","selectionStateField","sendCursorPosition","sendCursorData","selection","on","handler","listeners","Set","off","listener","cursorState","clientId","clientID","getStates","relativeSelection","cursorStates","cursorStateField","autoSend","e","cursorData","setLocalStateField","localState","getLocalState","currentRange","compareRelativePositions","awarenessChangeListener","yEvent","localId","added","updated","onChange_1","onChange","restOptions","handleStackItemAdded","stackItem","handleStackItemUpdated","handleStackItemPopped","inverseStack","inverseItem","Transforms","select","handleYEvents","transaction","autoConnectTimeoutId","autoConnect","setTimeout","observeDeep","force","operations","clearTimeout","unobserveDeep","txGroups","currentGroup","txGroup","applySlateOp"],"mappings":"qzBAAA,ICOIA,EAAOC,EDPPC,EAAQ,SAAUC,GACpB,OAAOA,GAAMA,EAAGC,MAAQA,MAAQD,CAClC,EAGcE,EAEZH,EAA2B,iBAAdI,YAA0BA,aACvCJ,EAAuB,iBAAVK,QAAsBA,SAEnCL,EAAqB,iBAARM,MAAoBA,OACjCN,EAAuB,iBAAVG,GAAsBA,IAEnC,WAAe,OAAOI,IAAO,CAA7B,IAAoCC,SAAS,cAATA,GEbxBC,EAAG,SAAUC,GACzB,IACE,QAASA,GACV,CAAC,MAAOC,GACP,OAAO,CACR,CACH,ECHAC,GAAkBH,GAAM,WAEtB,OAA8E,GAAvEI,OAAOC,eAAe,GAAI,EAAG,CAAEC,IAAK,WAAc,OAAO,CAAI,IAAI,EAC1E,ICNIC,EAAOR,SAASS,UAAUD,KAE9BE,EAAiBF,EAAKG,KAAOH,EAAKG,KAAKH,GAAQ,WAC7C,OAAOA,EAAKI,MAAMJ,EAAMK,UAC1B,ECHIC,EAAwB,CAAE,EAACC,qBAE3BC,EAA2BX,OAAOW,yBAOtCC,EAJkBD,IAA6BF,EAAsBN,KAAK,CAAE,EAAG,GAAK,GAI1D,SAA8BU,GACtD,IAAIC,EAAaH,EAAyBjB,KAAMmB,GAChD,QAASC,GAAcA,EAAWC,UACpC,EAAIN,UCbJO,EAAiB,SAAUC,EAAQC,GACjC,MAAO,CACLH,aAAuB,EAATE,GACdE,eAAyB,EAATF,GAChBG,WAAqB,EAATH,GACZC,MAAOA,EAEX,ECPIG,EAAoB1B,SAASS,UAC7BE,EAAOe,EAAkBf,KACzBH,EAAOkB,EAAkBlB,KACzBmB,EAAWhB,GAAQA,EAAKA,KAAKH,GAEjCoB,EAAiBjB,EAAO,SAAUkB,GAChC,OAAOA,GAAMF,EAASnB,EAAMqB,EAC9B,EAAI,SAAUA,GACZ,OAAOA,GAAM,WACX,OAAOrB,EAAKI,MAAMiB,EAAIhB,UAC1B,CACA,ECTIiB,EAAWC,EAAY,GAAGD,UAC1BE,EAAcD,EAAY,GAAGE,OAEnBC,EAAG,SAAUzC,GACzB,OAAOuC,EAAYF,EAASrC,GAAK,GAAI,EACvC,ECFIY,EAASV,EAAOU,OAChB8B,EAAQJ,EAAY,GAAGI,OAGbC,EAAGnC,GAAM,WAGrB,OAAQI,EAAO,KAAKU,qBAAqB,EAC3C,IAAK,SAAUtB,GACb,MAAsB,UAAf4C,EAAQ5C,GAAkB0C,EAAM1C,EAAI,IAAMY,EAAOZ,EAC1D,EAAIY,ECbAiC,EAAY3C,EAAO2C,UAITC,EAAG,SAAU9C,GACzB,GAAU+C,MAAN/C,EAAiB,MAAM6C,EAAU,wBAA0B7C,GAC/D,OAAOA,CACT,ECLcgD,EAAG,SAAUhD,GACzB,OAAOiD,EAAcH,EAAuB9C,GAC9C,ECJckD,EAAG,SAAUC,GACzB,MAA0B,mBAAZA,CAChB,ECFcC,EAAG,SAAUpD,GACzB,MAAoB,iBAANA,EAAwB,OAAPA,EAAckD,EAAWlD,EAC1D,ECGAqD,EAAiB,SAAUC,EAAWC,GACpC,OAAOnC,UAAUoC,OAAS,GALFL,EAKgBjD,EAAOoD,GAJxCJ,EAAWC,GAAYA,OAAWJ,GAIoB7C,EAAOoD,IAAcpD,EAAOoD,GAAWC,GALtF,IAAUJ,CAM1B,ECPAM,EAAiBnB,EAAY,CAAE,EAACoB,eCAlBC,EAAGN,EAAW,YAAa,cAAgB,GfCrDO,EAAU1D,EAAO0D,QACjBC,EAAO3D,EAAO2D,KACdC,EAAWF,GAAWA,EAAQE,UAAYD,GAAQA,EAAK/D,QACvDiE,EAAKD,GAAYA,EAASC,GAG1BA,IAIFjE,GAHAD,EAAQkE,EAAGrB,MAAM,MAGD,GAAK,GAAK7C,EAAM,GAAK,EAAI,IAAMA,EAAM,GAAKA,EAAM,MAK7DC,GAAWkE,MACdnE,EAAQmE,EAAUnE,MAAM,iBACVA,EAAM,IAAM,MACxBA,EAAQmE,EAAUnE,MAAM,oBACbC,GAAWD,EAAM,IAIhC,IAAAoE,EAAiBnE,EgBrBHoE,IAAKtD,OAAOuD,wBAA0B3D,GAAM,WACxD,IAAI4D,EAASC,SAGb,OAAQC,OAAOF,MAAaxD,OAAOwD,aAAmBC,UAEnDA,OAAOE,MAAQC,GAAcA,EAAa,EAC/C,ICTAC,EAAiBC,IACXL,OAAOE,MACkB,iBAAnBF,OAAOM,SCCf/D,EAASV,EAAOU,OAEpBgE,EAAiBC,EAAoB,SAAU7E,GAC7C,MAAoB,iBAANA,CAChB,EAAI,SAAUA,GACZ,IAAI8E,EAAUzB,EAAW,UACzB,OAAOH,EAAW4B,IAAYpB,EAAcoB,EAAQ9D,UAAWJ,EAAOZ,GACxE,ECXIsE,EAASpE,EAAOoE,OAENS,EAAG,SAAU5B,GACzB,IACE,OAAOmB,EAAOnB,EACf,CAAC,MAAOzC,GACP,MAAO,QACR,CACH,ECNImC,EAAY3C,EAAO2C,UAGTmC,EAAG,SAAU7B,GACzB,GAAID,EAAWC,GAAW,OAAOA,EACjC,MAAMN,EAAUkC,EAAY5B,GAAY,qBAC1C,ECNA8B,EAAiB,SAAUxD,EAAGyD,GAC5B,IAAIC,EAAO1D,EAAEyD,GACb,OAAe,MAARC,OAAepC,EAAYiC,EAAUG,EAC9C,ECFItC,EAAY3C,EAAO2C,UCFnBhC,GAAiBD,OAAOC,eAE5BuE,GAAiB,SAAUC,EAAKvD,GAC9B,IACEjB,GAAeX,EAAQmF,EAAK,CAAEvD,MAAOA,EAAOC,cAAc,EAAMC,UAAU,GAC3E,CAAC,MAAOtB,GACPR,EAAOmF,GAAOvD,CACf,CAAC,OAAOA,CACX,ECRIwD,GAAS,qBAGbC,GAFYrF,EAAOoF,KAAWF,GAAUE,GAAQ,CAAA,sBCD/CE,EAAiBC,QAAA,SAAUJ,EAAKvD,GAC/B,OAAO4D,GAAML,KAASK,GAAML,QAAiBtC,IAAVjB,EAAsBA,EAAQ,CAAA,EACnE,GAAG,WAAY,IAAI6D,KAAK,CACtB7F,QAAS,SACT8F,KAAyB,SACzBC,UAAW,4CCLTjF,GAASV,EAAOU,OAINkF,GAAG,SAAU3C,GACzB,OAAOvC,GAAOkC,EAAuBK,GACvC,ECNI4C,GAAiBzD,EAAY,GAAGyD,gBAItBC,GAAGpF,OAAOqF,QAAU,SAAgBjG,EAAIqF,GACpD,OAAOU,GAAeD,GAAS9F,GAAKqF,EACtC,ECPIa,GAAK,EACLC,GAAUlG,KAAKmG,SACf/D,GAAWC,EAAY,GAAID,UAEjBgE,GAAG,SAAUhB,GACzB,MAAO,gBAAqBtC,IAARsC,EAAoB,GAAKA,GAAO,KAAOhD,KAAW6D,GAAKC,GAAS,GACtF,ECDIG,GAAwBC,GAAO,OAC/BlC,GAASnE,EAAOmE,OAChBmC,GAAYnC,IAAUA,GAAY,IAClCoC,GAAwB5B,EAAoBR,GAASA,IAAUA,GAAOqC,eAAiBL,GAE7EM,GAAG,SAAUC,GACzB,IAAKX,GAAOK,GAAuBM,KAAWlC,GAAuD,iBAA/B4B,GAAsBM,GAAoB,CAC9G,IAAIC,EAAc,UAAYD,EAC1BlC,GAAiBuB,GAAO5B,GAAQuC,GAClCN,GAAsBM,GAAQvC,GAAOuC,GAErCN,GAAsBM,GADb/B,GAAqB2B,GACAA,GAAUK,GAEVJ,GAAsBI,EAE1D,CAAI,OAAOP,GAAsBM,EACjC,ECfI/D,GAAY3C,EAAO2C,UACnBiE,GAAeH,GAAgB,eAInCI,GAAiB,SAAUC,EAAOC,GAChC,IAAK7D,EAAS4D,IAAUpC,EAASoC,GAAQ,OAAOA,EAChD,IACIE,EADAC,EAAelC,EAAU+B,EAAOF,IAEpC,GAAIK,EAAc,CAGhB,QAFapE,IAATkE,IAAoBA,EAAO,WAC/BC,EAASnG,EAAKoG,EAAcH,EAAOC,IAC9B7D,EAAS8D,IAAWtC,EAASsC,GAAS,OAAOA,EAClD,MAAMrE,GAAU,0CACjB,CAED,YADaE,IAATkE,IAAoBA,EAAO,URdhB,SAAUD,EAAOC,GAChC,IAAI7E,EAAIgF,EACR,GAAa,WAATH,GAAqB/D,EAAWd,EAAK4E,EAAM3E,YAAce,EAASgE,EAAMrG,EAAKqB,EAAI4E,IAAS,OAAOI,EACrG,GAAIlE,EAAWd,EAAK4E,EAAMK,WAAajE,EAASgE,EAAMrG,EAAKqB,EAAI4E,IAAS,OAAOI,EAC/E,GAAa,WAATH,GAAqB/D,EAAWd,EAAK4E,EAAM3E,YAAce,EAASgE,EAAMrG,EAAKqB,EAAI4E,IAAS,OAAOI,EACrG,MAAMvE,EAAU,0CAClB,CQSSyE,CAAoBN,EAAOC,EACpC,ECpBcM,GAAG,SAAUpE,GACzB,IAAIkC,EAAM0B,GAAY5D,EAAU,UAChC,OAAOyB,EAASS,GAAOA,EAAMA,EAAM,EACrC,ECLImC,GAAWtH,EAAOsH,SAElBC,GAASrE,EAASoE,KAAapE,EAASoE,GAASE,eAEvCC,GAAG,SAAU3H,GACzB,OAAOyH,GAASD,GAASE,cAAc1H,GAAM,CAAA,CAC/C,ECJA4H,IAAkBC,IAAgBrH,GAAM,WAEtC,OAEQ,GAFDI,OAAOC,eAAe6G,GAAc,OAAQ,IAAK,CACtD5G,IAAK,WAAc,OAAO,CAAI,IAC7BgH,CACL,ICAIC,GAA4BnH,OAAOW,+BAI3BsG,EAAcE,GAA4B,SAAkCC,EAAG9C,GAGzF,GAFA8C,EAAIhF,EAAgBgF,GACpB9C,EAAIqC,GAAcrC,GACd+C,GAAgB,IAClB,OAAOF,GAA0BC,EAAG9C,EACxC,CAAI,MAAOxE,GAAsB,CAC/B,GAAIuF,GAAO+B,EAAG9C,GAAI,OAAOtD,GAA0Bb,EAAKmH,EAA2B1G,EAAGwG,EAAG9C,GAAI8C,EAAE9C,GACjG,GClBIZ,GAASpE,EAAOoE,OAChBzB,GAAY3C,EAAO2C,UAGTsF,GAAG,SAAUhF,GACzB,GAAIC,EAASD,GAAW,OAAOA,EAC/B,MAAMN,GAAUyB,GAAOnB,GAAY,oBACrC,ECJIN,GAAY3C,EAAO2C,UAEnBuF,GAAkBxH,OAAOC,qBAIjBgH,EAAcO,GAAkB,SAAwBJ,EAAG9C,EAAGmD,GAIxE,GAHAF,GAASH,GACT9C,EAAIqC,GAAcrC,GAClBiD,GAASE,GACLJ,GAAgB,IAClB,OAAOG,GAAgBJ,EAAG9C,EAAGmD,EACjC,CAAI,MAAO3H,GAAsB,CAC/B,GAAI,QAAS2H,GAAc,QAASA,EAAY,MAAMxF,GAAU,2BAEhE,MADI,UAAWwF,IAAYL,EAAE9C,GAAKmD,EAAWvG,OACtCkG,CACT,GClBcM,GAAGT,EAAc,SAAUU,EAAQlD,EAAKvD,GACpD,OAAO0G,GAAqBhH,EAAE+G,EAAQlD,EAAKzD,EAAyB,EAAGE,GACzE,EAAI,SAAUyG,EAAQlD,EAAKvD,GAEzB,OADAyG,EAAOlD,GAAOvD,EACPyG,CACT,ECLIE,GAAmBnG,EAAY/B,SAAS8B,UAGvCa,EAAWwC,GAAMgD,iBACpBhD,GAAMgD,cAAgB,SAAU1I,GAC9B,OAAOyI,GAAiBzI,EAC5B,GAGA,ICAI2I,GAAK7H,GAAK8H,GDAAF,GAAGhD,GAAMgD,cETnBG,GAAU3I,EAAO2I,QAErBC,GAAiB5F,EAAW2F,KAAY,cAAcE,KAAKL,GAAcG,KCHrEG,GAAOzC,GAAO,QAEJ0C,GAAG,SAAU5D,GACzB,OAAO2D,GAAK3D,KAAS2D,GAAK3D,GAAOgB,GAAIhB,GACvC,ECPA6D,GAAiB,CAAE,EHUfC,GAA6B,6BAC7BtG,GAAY3C,EAAO2C,UACnBgG,GAAU3I,EAAO2I,QAgBrB,GAAIO,IAAmB7C,GAAO8C,MAAO,CACnC,IAAI3D,GAAQa,GAAO8C,QAAU9C,GAAO8C,MAAQ,IAAIR,IAC5CS,GAAQhH,EAAYoD,GAAM5E,KAC1ByI,GAAQjH,EAAYoD,GAAMkD,KAC1BY,GAAQlH,EAAYoD,GAAMiD,KAC9BA,GAAM,SAAU3I,EAAIyJ,GAClB,GAAIF,GAAM7D,GAAO1F,GAAK,MAAM,IAAI6C,GAAUsG,IAG1C,OAFAM,EAASC,OAAS1J,EAClBwJ,GAAM9D,GAAO1F,EAAIyJ,GACVA,CACX,EACE3I,GAAM,SAAUd,GACd,OAAOsJ,GAAM5D,GAAO1F,IAAO,CAAA,CAC/B,EACE4I,GAAM,SAAU5I,GACd,OAAOuJ,GAAM7D,GAAO1F,EACxB,CACA,KAAO,CACL,IAAI2J,GAAQV,GAAU,SACtBC,GAAWS,KAAS,EACpBhB,GAAM,SAAU3I,EAAIyJ,GAClB,GAAIxD,GAAOjG,EAAI2J,IAAQ,MAAM,IAAI9G,GAAUsG,IAG3C,OAFAM,EAASC,OAAS1J,EAClBsI,GAA4BtI,EAAI2J,GAAOF,GAChCA,CACX,EACE3I,GAAM,SAAUd,GACd,OAAOiG,GAAOjG,EAAI2J,IAAS3J,EAAG2J,IAAS,EAC3C,EACEf,GAAM,SAAU5I,GACd,OAAOiG,GAAOjG,EAAI2J,GACtB,CACA,CAEA,IAAAC,GAAiB,CACfjB,IAAKA,GACL7H,IAAKA,GACL8H,IAAKA,GACLiB,QAnDY,SAAU7J,GACtB,OAAO4I,GAAI5I,GAAMc,GAAId,GAAM2I,GAAI3I,EAAI,CAAA,EACrC,EAkDE8J,UAhDc,SAAUC,GACxB,OAAO,SAAU/J,GACf,IAAIqJ,EACJ,IAAKjG,EAASpD,KAAQqJ,EAAQvI,GAAId,IAAKgK,OAASD,EAC9C,MAAMlH,GAAU,0BAA4BkH,EAAO,aACnD,OAAOV,CACb,CACA,GIvBIpH,GAAoB1B,SAASS,UAE7BiJ,GAAgBpC,GAAejH,OAAOW,yBAEtCkG,GAASxB,GAAOhE,GAAmB,QAKvCiI,GAAiB,CACfzC,OAAQA,GACR0C,OALW1C,IAA0D,cAAhD,WAAqC,EAAEb,KAM5DwD,aALiB3C,MAAYI,GAAgBA,GAAeoC,GAAchI,GAAmB,QAAQF,iCCHvG,IAAIsI,EAA6BC,GAAsCF,aAEnEG,EAAmBC,GAAoB1J,IACvC2J,EAAuBD,GAAoBX,QAC3Ca,EAAWpG,OAAOA,QAAQ5B,MAAM,WAEnC8C,EAAAC,QAAiB,SAAUuC,EAAG3C,EAAKvD,EAAO6I,GACzC,IAIItB,EAJAuB,IAASD,KAAYA,EAAQC,OAC7BC,IAASF,KAAYA,EAAQhJ,WAC7BmJ,IAAcH,KAAYA,EAAQG,YAClClE,EAAO+D,QAA4B5H,IAAjB4H,EAAQ/D,KAAqB+D,EAAQ/D,KAAOvB,EAE9DnC,EAAWpB,KACoB,YAA7BwC,OAAOsC,GAAMpE,MAAM,EAAG,KACxBoE,EAAO,IAAMtC,OAAOsC,GAAMmE,QAAQ,qBAAsB,MAAQ,OAE7D9E,GAAOnE,EAAO,SAAYuI,GAA8BvI,EAAM8E,OAASA,IAC1E0B,GAA4BxG,EAAO,OAAQ8E,IAE7CyC,EAAQoB,EAAqB3I,IAClBkJ,SACT3B,EAAM2B,OAASN,EAASO,KAAoB,iBAARrE,EAAmBA,EAAO,MAG9DoB,IAAM9H,GAIE0K,GAEAE,GAAe9C,EAAE3C,KAC3BwF,GAAS,UAFF7C,EAAE3C,GAIPwF,EAAQ7C,EAAE3C,GAAOvD,EAChBwG,GAA4BN,EAAG3C,EAAKvD,IATnC+I,EAAQ7C,EAAE3C,GAAOvD,EAChBsD,GAAUC,EAAKvD,EAUxB,GAAGvB,SAASS,UAAW,YAAY,WACjC,OAAOkC,EAAW5C,OAASiK,EAAiBjK,MAAM0K,QAAUtC,GAAcpI,KAC5E,OC7CI4K,GAAOjL,KAAKiL,KACZC,GAAQlL,KAAKkL,MAIHC,GAAG,SAAUjI,GACzB,IAAIkI,GAAUlI,EAEd,OAAOkI,GAAWA,GAAqB,IAAXA,EAAe,GAAKA,EAAS,EAAIF,GAAQD,IAAMG,EAC7E,ECPIC,GAAMrL,KAAKqL,IACXC,GAAMtL,KAAKsL,IAKfC,GAAiB,SAAUC,EAAOjI,GAChC,IAAIkI,EAAUN,GAAoBK,GAClC,OAAOC,EAAU,EAAIJ,GAAII,EAAUlI,EAAQ,GAAK+H,GAAIG,EAASlI,EAC/D,ECTI+H,GAAMtL,KAAKsL,IAIDI,GAAG,SAAUxI,GACzB,OAAOA,EAAW,EAAIoI,GAAIH,GAAoBjI,GAAW,kBAAoB,CAC/E,ECJcyI,GAAG,SAAUC,GACzB,OAAOF,GAASE,EAAIrI,OACtB,ECDIsI,GAAe,SAAUC,GAC3B,OAAO,SAAUC,EAAOC,EAAIC,GAC1B,IAGIpK,EAHAkG,EAAIhF,EAAgBgJ,GACpBxI,EAASoI,GAAkB5D,GAC3ByD,EAAQD,GAAgBU,EAAW1I,GAIvC,GAAIuI,GAAeE,GAAMA,GAAI,KAAOzI,EAASiI,GAG3C,IAFA3J,EAAQkG,EAAEyD,OAEG3J,EAAO,OAAO,OAEtB,KAAM0B,EAASiI,EAAOA,IAC3B,IAAKM,GAAeN,KAASzD,IAAMA,EAAEyD,KAAWQ,EAAI,OAAOF,GAAeN,GAAS,EACnF,OAAQM,IAAgB,CAC9B,CACA,EAEAI,GAAiB,CAGfC,SAAUN,IAAa,GAGvBO,QAASP,IAAa,IC3BpBO,GAAU/B,GAAuC+B,QAGjD1G,GAAOrD,EAAY,GAAGqD,MAE1B2G,GAAiB,SAAU/D,EAAQgE,GACjC,IAGIlH,EAHA2C,EAAIhF,EAAgBuF,GACpBiE,EAAI,EACJtF,EAAS,GAEb,IAAK7B,KAAO2C,GAAI/B,GAAOiD,GAAY7D,IAAQY,GAAO+B,EAAG3C,IAAQM,GAAKuB,EAAQ7B,GAE1E,KAAOkH,EAAM/I,OAASgJ,GAAOvG,GAAO+B,EAAG3C,EAAMkH,EAAMC,SAChDH,GAAQnF,EAAQ7B,IAAQM,GAAKuB,EAAQ7B,IAExC,OAAO6B,CACT,EClBAuF,GAAiB,CACf,cACA,iBACA,gBACA,uBACA,iBACA,WACA,WCLEvD,GAAauD,GAAYC,OAAO,SAAU,mBAKlC9L,OAAO+L,qBAAuB,SAA6B3E,GACrE,OAAO4E,GAAmB5E,EAAGkB,GAC/B,SCTYtI,OAAOuD,uBCKfuI,GAASpK,EAAY,GAAGoK,QAG5BG,GAAiBxJ,EAAW,UAAW,YAAc,SAAiBrD,GACpE,IAAIgJ,EAAO8D,GAA0BtL,EAAE2G,GAASnI,IAC5CmE,EAAwB4I,GAA4BvL,EACxD,OAAO2C,EAAwBuI,GAAO1D,EAAM7E,EAAsBnE,IAAOgJ,CAC3E,ECRAgE,GAAiB,SAAUC,EAAQjC,GAIjC,IAHA,IAAIhC,EAAO6D,GAAQ7B,GACfnK,EAAiB2H,GAAqBhH,EACtCD,EAA2B2L,GAA+B1L,EACrDgL,EAAI,EAAGA,EAAIxD,EAAKxF,OAAQgJ,IAAK,CACpC,IAAInH,EAAM2D,EAAKwD,GACVvG,GAAOgH,EAAQ5H,IAAMxE,EAAeoM,EAAQ5H,EAAK9D,EAAyByJ,EAAQ3F,GACxF,CACH,ECVI8H,GAAc,kBAEdC,GAAW,SAAUC,EAASC,GAChC,IAAIxL,EAAQyL,GAAKC,GAAUH,IAC3B,OAAOvL,GAAS2L,IACZ3L,GAAS4L,KACTxK,EAAWoK,GAAa9M,EAAM8M,KAC5BA,EACR,EAEIE,GAAYJ,GAASI,UAAY,SAAUG,GAC7C,OAAOrJ,OAAOqJ,GAAQ5C,QAAQoC,GAAa,KAAKS,aAClD,EAEIL,GAAOH,GAASG,KAAO,GACvBG,GAASN,GAASM,OAAS,IAC3BD,GAAWL,GAASK,SAAW,IAEnCI,GAAiBT,GCpBb7L,GAA2B+I,GAA2D9I,EAsB1FsM,GAAiB,SAAUnD,EAASK,GAClC,IAGYiC,EAAQ5H,EAAK0I,EAAgBC,EAAgBtM,EAHrDuM,EAAStD,EAAQsC,OACjBiB,EAASvD,EAAQzK,OACjBiO,EAASxD,EAAQyD,KASrB,GANEnB,EADEiB,EACOhO,EACAiO,EACAjO,EAAO+N,IAAW7I,GAAU6I,EAAQ,CAAA,IAEnC/N,EAAO+N,IAAW,CAAA,GAAIjN,UAEtB,IAAKqE,KAAO2F,EAAQ,CAQ9B,GAPAgD,EAAiBhD,EAAO3F,GAGtB0I,EAFEpD,EAAQG,aACVpJ,EAAaH,GAAyB0L,EAAQ5H,KACf3D,EAAWI,MACpBmL,EAAO5H,IACtB+H,GAASc,EAAS7I,EAAM4I,GAAUE,EAAS,IAAM,KAAO9I,EAAKsF,EAAQ0D,cAE5CtL,IAAnBgL,EAA8B,CAC3C,UAAWC,UAAyBD,EAAgB,SACpDf,GAA0BgB,EAAgBD,EAC3C,EAEGpD,EAAQpG,MAASwJ,GAAkBA,EAAexJ,OACpD+D,GAA4B0F,EAAgB,QAAQ,GAGtDM,GAASrB,EAAQ5H,EAAK2I,EAAgBrD,EACvC,CACH,ECtDI1I,GAAoB1B,SAASS,UAC7BG,GAAQc,GAAkBd,MAC1BD,GAAOe,GAAkBf,KACzBH,GAAOkB,GAAkBlB,KAG7BwN,GAAmC,iBAAXC,SAAuBA,QAAQrN,QAAUD,GAAOH,GAAKG,KAAKC,IAAS,WACzF,OAAOJ,GAAKI,MAAMA,GAAOC,UAC3B,GCHcqN,GAAGC,MAAMD,SAAW,SAAiBtL,GACjD,MAA4B,SAArBP,EAAQO,EACjB,ECJI4F,GAAO,CAAA,EAEXA,GAHoBpC,GAAgB,gBAGd,IAEtB,IC6CIgI,GD7CJC,GAAkC,eAAjBtK,OAAOyE,IEDpB8F,GAAgBlI,GAAgB,eAChC/F,GAASV,EAAOU,OAGhBkO,GAAuE,aAAnDrM,EAAW,WAAc,OAAOrB,SAAY,CAAjC,IAUnCwB,GAAiBmM,GAAwBtM,EAAa,SAAUzC,GAC9D,IAAIgI,EAAGgH,EAAK9H,EACZ,YAAcnE,IAAP/C,EAAmB,YAAqB,OAAPA,EAAc,OAEM,iBAAhDgP,EAXD,SAAUhP,EAAIqF,GACzB,IACE,OAAOrF,EAAGqF,EACd,CAAI,MAAO3E,GAAsB,CACjC,CAOoBuO,CAAOjH,EAAIpH,GAAOZ,GAAK6O,KAA8BG,EAEnEF,GAAoBrM,EAAWuF,GAEH,WAA3Bd,EAASzE,EAAWuF,KAAmB9E,EAAW8E,EAAEkH,QAAU,YAAchI,CACnF,EC1BI5C,GAASpE,EAAOoE,OAENjC,GAAG,SAAUc,GACzB,GAA0B,WAAtBP,GAAQO,GAAwB,MAAMN,UAAU,6CACpD,OAAOyB,GAAOnB,EAChB,ECFcgM,GAAGvO,OAAOoI,MAAQ,SAAchB,GAC5C,OAAO4E,GAAmB5E,EAAGyE,GAC/B,ECCA2C,GAAiBvH,EAAcjH,OAAOyO,iBAAmB,SAA0BrH,EAAGsH,GACpFnH,GAASH,GAMT,IALA,IAII3C,EAJAkK,EAAQvM,EAAgBsM,GACxBtG,EAAOmG,GAAWG,GAClB9L,EAASwF,EAAKxF,OACdiI,EAAQ,EAELjI,EAASiI,GAAOjD,GAAqBhH,EAAEwG,EAAG3C,EAAM2D,EAAKyC,KAAU8D,EAAMlK,IAC5E,OAAO2C,CACT,EChBAwH,GAAiBnM,EAAW,WAAY,mBLSpCoM,GAAY,YACZC,GAAS,SACTC,GAAW1G,GAAU,YAErB2G,GAAmB,WAAY,EAE/BC,GAAY,SAAUC,GACxB,MARO,IAQKJ,GATL,IASmBI,EAAnBC,KAAwCL,GATxC,GAUT,EAGIM,GAA4B,SAAUrB,GACxCA,EAAgBsB,MAAMJ,GAAU,KAChClB,EAAgBuB,QAChB,IAAIC,EAAOxB,EAAgByB,aAAaxP,OAExC,OADA+N,EAAkB,KACXwB,CACT,EAyBIE,GAAkB,WACpB,IACE1B,GAAkB,IAAI2B,cAAc,WACxC,CAAI,MAAO5P,GAAuB,CAzBH,IAIzB6P,EAFAC,EACAC,EAuBJJ,GAAqC,oBAAZ7I,SACrBA,SAASkJ,QAAU/B,GACjBqB,GAA0BrB,KA1B5B6B,EAAS7I,GAAsB,UAC/B8I,EAAK,OAASf,GAAS,IAE3Bc,EAAOG,MAAMC,QAAU,OACvBpB,GAAKqB,YAAYL,GAEjBA,EAAOM,IAAMxM,OAAOmM,IACpBF,EAAiBC,EAAOO,cAAcvJ,UACvBwJ,OACfT,EAAeN,MAAMJ,GAAU,sBAC/BU,EAAeL,QACRK,EAAeU,GAiBlBjB,GAA0BrB,IAE9B,IADA,IAAInL,EAASiJ,GAAYjJ,OAClBA,YAAiB6M,GAAgBZ,IAAWhD,GAAYjJ,IAC/D,OAAO6M,IACT,EAEAnH,GAAWyG,KAAY,EAIvB,IAAcuB,GAAGtQ,OAAOuQ,QAAU,SAAgBnJ,EAAGsH,GACnD,IAAIpI,EAQJ,OAPU,OAANc,GACF4H,GAAiBH,IAAatH,GAASH,GACvCd,EAAS,IAAI0I,GACbA,GAAiBH,IAAa,KAE9BvI,EAAOyI,IAAY3H,GACdd,EAASmJ,UACMtN,IAAfuM,EAA2BpI,EAASmI,GAAiBnI,EAAQoI,EACtE,EM5EA8B,GAAiB,SAAU7I,EAAQlD,EAAKvD,GACtC,IAAIuP,EAAc9J,GAAclC,GAC5BgM,KAAe9I,EAAQC,GAAqBhH,EAAE+G,EAAQ8I,EAAazP,EAAyB,EAAGE,IAC9FyG,EAAO8I,GAAevP,CAC7B,ECJI4M,GAAQxO,EAAOwO,MACfpD,GAAMrL,KAAKqL,ICHXgG,GAAuBhH,GAAsD9I,EAG7E+P,GAA+B,iBAAVnR,QAAsBA,QAAUQ,OAAO+L,oBAC5D/L,OAAO+L,oBAAoBvM,QAAU,GAErCoR,GAAiB,SAAUxR,GAC7B,IACE,OAAOsR,GAAqBtR,EAC7B,CAAC,MAAOU,GACP,ODLa,SAAUsH,EAAGyJ,EAAOC,GAKnC,IAJA,IAAIlO,EAASoI,GAAkB5D,GAC3B2J,EAAInG,GAAgBiG,EAAOjO,GAC3BoO,EAAMpG,QAAwBzI,IAAR2O,EAAoBlO,EAASkO,EAAKlO,GACxD0D,EAASwH,GAAMpD,GAAIsG,EAAMD,EAAG,IACvBE,EAAI,EAAGF,EAAIC,EAAKD,IAAKE,IAAKT,GAAelK,EAAQ2K,EAAG7J,EAAE2J,IAE/D,OADAzK,EAAO1D,OAASqO,EACT3K,CACT,CCHW4K,CAAWP,GACnB,CACH,QAGmB,SAA6BvR,GAC9C,OAAOuR,IAA8B,UAAf3O,EAAQ5C,GAC1BwR,GAAexR,GACfsR,GAAqBtO,EAAgBhD,GAC3C,GCpBA8R,GAAiBxP,EAAY,GAAGE,aCApBmE,ICAZoL,GAAiB7R,ECCbW,GAAiByJ,GAA+C9I,ECHhEX,GAAiByJ,GAA+C9I,EAIhEqN,GAAgBlI,GAAgB,eAEpCqL,GAAiB,SAAUhS,EAAIiS,EAAK9D,GAC9BnO,IAAOiG,GAAOjG,EAAKmO,EAASnO,EAAKA,EAAGgB,UAAW6N,KACjDhO,GAAeb,EAAI6O,GAAe,CAAE9M,cAAc,EAAMD,MAAOmQ,GAEnE,ECPI/Q,GAAOoB,EAAYA,EAAYpB,MAGnCgR,GAAiB,SAAU9P,EAAI+P,GAE7B,OADAnN,EAAU5C,QACMW,IAAToP,EAAqB/P,EAAKlB,GAAOA,GAAKkB,EAAI+P,GAAQ,WACvD,OAAO/P,EAAGjB,MAAMgR,EAAM/Q,UAC1B,CACA,ECJIgR,GAAO,WAAY,EACnBC,GAAQ,GACRC,GAAYjP,EAAW,UAAW,aAClCkP,GAAoB,2BACpB9R,GAAO6B,EAAYiQ,GAAkB9R,MACrC+R,IAAuBD,GAAkB9R,KAAK2R,IAE9CK,GAAsB,SAAUtP,GAClC,IAAKD,EAAWC,GAAW,OAAO,EAClC,IAEE,OADAmP,GAAUF,GAAMC,GAAOlP,IAChB,CACR,CAAC,MAAOzC,GACP,OAAO,CACR,CACH,EAcAgS,IAAkBJ,IAAa9R,GAAM,WACnC,IAAImS,EACJ,OAAOF,GAAoBA,GAAoB1R,QACzC0R,GAAoB7R,UACpB6R,IAAoB,WAAcE,GAAS,CAAK,KACjDA,CACP,IAlB0B,SAAUxP,GAClC,IAAKD,EAAWC,GAAW,OAAO,EAClC,OAAQP,GAAQO,IACd,IAAK,gBACL,IAAK,oBACL,IAAK,yBAA0B,OAAO,EAEtC,OAAOqP,MAAyB/R,GAAK8R,GAAmB7J,GAAcvF,GAC1E,EAU2BsP,GCpCvBG,GAAUjM,GAAgB,WAC1B+H,GAAQxO,EAAOwO,MCHnBmE,GAAiB,SAAUC,EAAetP,GACxC,OAAO,IDMQ,SAAUsP,GACzB,IAAIC,EASF,OAREtE,GAAQqE,KACVC,EAAID,EAAcE,aAEdN,GAAcK,KAAOA,IAAMrE,IAASD,GAAQsE,EAAE/R,aACzCoC,EAAS2P,IAEN,QADVA,EAAIA,EAAEH,QAFuDG,OAAIhQ,SAKtDA,IAANgQ,EAAkBrE,GAAQqE,CACrC,CCjBS,CAA6BD,GAA7B,CAAwD,IAAXtP,EAAe,EAAIA,EACzE,ECCImC,GAAOrD,EAAY,GAAGqD,MAGtBmG,GAAe,SAAU/B,GAC3B,IAAIkJ,EAAiB,GAARlJ,EACTmJ,EAAoB,GAARnJ,EACZoJ,EAAkB,GAARpJ,EACVqJ,EAAmB,GAARrJ,EACXsJ,EAAwB,GAARtJ,EAChBuJ,EAA2B,GAARvJ,EACnBwJ,EAAmB,GAARxJ,GAAasJ,EAC5B,OAAO,SAAUrH,EAAOwH,EAAYrB,EAAMsB,GASxC,IARA,IAOI3R,EAAOoF,EAPPc,EAAIlC,GAASkG,GACb3L,EAAO4C,EAAc+E,GACrB0L,EAAgBxS,GAAKsS,EAAYrB,GACjC3O,EAASoI,GAAkBvL,GAC3BoL,EAAQ,EACR0F,EAASsC,GAAkBZ,GAC3B5F,EAASgG,EAAS9B,EAAOnF,EAAOxI,GAAU0P,GAAaI,EAAmBnC,EAAOnF,EAAO,QAAKjJ,EAE3FS,EAASiI,EAAOA,IAAS,IAAI8H,GAAY9H,KAASpL,KAEtD6G,EAASwM,EADT5R,EAAQzB,EAAKoL,GACiBA,EAAOzD,GACjC+B,GACF,GAAIkJ,EAAQhG,EAAOxB,GAASvE,OACvB,GAAIA,EAAQ,OAAQ6C,GACvB,KAAK,EAAG,OAAO,EACf,KAAK,EAAG,OAAOjI,EACf,KAAK,EAAG,OAAO2J,EACf,KAAK,EAAG9F,GAAKsH,EAAQnL,QAChB,OAAQiI,GACb,KAAK,EAAG,OAAO,EACf,KAAK,EAAGpE,GAAKsH,EAAQnL,GAI3B,OAAOuR,GAAiB,EAAIF,GAAWC,EAAWA,EAAWnG,CACjE,CACA,EAEA0G,GAAiB,CAGfC,QAAS9H,GAAa,GAGtB+H,IAAK/H,GAAa,GAGlBgI,OAAQhI,GAAa,GAGrBiI,KAAMjI,GAAa,GAGnBkI,MAAOlI,GAAa,GAGpBmI,KAAMnI,GAAa,GAGnBoI,UAAWpI,GAAa,GAGxBqI,aAAcrI,GAAa,IC7BzBsI,GAAW9J,GAAwCsJ,QAEnDS,GAASpL,GAAU,UACnBqL,GAAS,SACT7E,GAAY,YACZ3I,GAAeH,GAAgB,eAE/B4N,GAAmB/J,GAAoB7B,IACvC4B,GAAmBC,GAAoBV,UAAUwK,IAEjDE,GAAkB5T,OAAO6O,IACzB3K,GAAU5E,EAAOmE,OACjBoQ,GAAkB3P,IAAWA,GAAQ2K,IACrC5M,GAAY3C,EAAO2C,UACnB6R,GAAUxU,EAAOwU,QACjBC,GAAatR,EAAW,OAAQ,aAChCuR,GAAiC1H,GAA+B1L,EAChEqT,GAAuBrM,GAAqBhH,EAC5CsT,GAA4BC,GAA4BvT,EACxDwT,GAA6B9M,EAA2B1G,EACxDmE,GAAOrD,EAAY,GAAGqD,MAEtBsP,GAAa1O,GAAO,WACpB2O,GAAyB3O,GAAO,cAChC4O,GAAyB5O,GAAO,6BAChC6O,GAAyB7O,GAAO,6BAChCD,GAAwBC,GAAO,OAG/B8O,IAAcX,KAAYA,GAAQjF,MAAeiF,GAAQjF,IAAW6F,UAGpEC,GAAsB1N,GAAerH,GAAM,WAC7C,OAES,GAFFgV,GAAmBX,GAAqB,CAAE,EAAE,IAAK,CACtD/T,IAAK,WAAc,OAAO+T,GAAqBvU,KAAM,IAAK,CAAEwB,MAAO,IAAKgG,CAAI,KAC1EA,CACN,IAAK,SAAUE,EAAG9C,EAAGmD,GACnB,IAAIoN,EAA4Bb,GAA+BJ,GAAiBtP,GAC5EuQ,UAAkCjB,GAAgBtP,GACtD2P,GAAqB7M,EAAG9C,EAAGmD,GACvBoN,GAA6BzN,IAAMwM,IACrCK,GAAqBL,GAAiBtP,EAAGuQ,EAE7C,EAAIZ,GAEAa,GAAO,SAAU1G,EAAKnI,GACxB,IAAIzC,EAAS6Q,GAAWjG,GAAOwG,GAAmBf,IAOlD,OANAF,GAAiBnQ,EAAQ,CACvB4F,KAAMsK,GACNtF,IAAKA,EACLnI,YAAaA,IAEVgB,IAAazD,EAAOyC,YAAcA,GAChCzC,CACT,EAEIgE,GAAkB,SAAwBJ,EAAG9C,EAAGmD,GAC9CL,IAAMwM,IAAiBpM,GAAgB8M,GAAwBhQ,EAAGmD,GACtEF,GAASH,GACT,IAAI3C,EAAMkC,GAAcrC,GAExB,OADAiD,GAASE,GACLpC,GAAOgP,GAAY5P,IAChBgD,EAAW1G,YAIVsE,GAAO+B,EAAGqM,KAAWrM,EAAEqM,IAAQhP,KAAM2C,EAAEqM,IAAQhP,IAAO,GAC1DgD,EAAamN,GAAmBnN,EAAY,CAAE1G,WAAYC,EAAyB,GAAG,OAJjFqE,GAAO+B,EAAGqM,KAASQ,GAAqB7M,EAAGqM,GAAQzS,EAAyB,EAAG,CAAA,IACpFoG,EAAEqM,IAAQhP,IAAO,GAIVkQ,GAAoBvN,EAAG3C,EAAKgD,IAC9BwM,GAAqB7M,EAAG3C,EAAKgD,EACxC,EAEIsN,GAAoB,SAA0B3N,EAAGsH,GACnDnH,GAASH,GACT,IAAI4N,EAAa5S,EAAgBsM,GAC7BtG,EAAOmG,GAAWyG,GAAYlJ,OAAOmJ,GAAuBD,IAIhE,OAHAxB,GAASpL,GAAM,SAAU3D,GAClBwC,IAAe9G,EAAKM,GAAuBuU,EAAYvQ,IAAM+C,GAAgBJ,EAAG3C,EAAKuQ,EAAWvQ,GACzG,IACS2C,CACT,EAMI3G,GAAwB,SAA8BI,GACxD,IAAIyD,EAAIqC,GAAc9F,GAClBE,EAAaZ,EAAKiU,GAA4B1U,KAAM4E,GACxD,QAAI5E,OAASkU,IAAmBvO,GAAOgP,GAAY/P,KAAOe,GAAOiP,GAAwBhQ,QAClFvD,IAAesE,GAAO3F,KAAM4E,KAAOe,GAAOgP,GAAY/P,IAAMe,GAAO3F,KAAM+T,KAAW/T,KAAK+T,IAAQnP,KACpGvD,EACN,EAEIoG,GAA4B,SAAkCC,EAAG9C,GACnE,IAAIlF,EAAKgD,EAAgBgF,GACrB3C,EAAMkC,GAAcrC,GACxB,GAAIlF,IAAOwU,KAAmBvO,GAAOgP,GAAY5P,IAASY,GAAOiP,GAAwB7P,GAAzF,CACA,IAAI3D,EAAakT,GAA+B5U,EAAIqF,GAIpD,OAHI3D,IAAcuE,GAAOgP,GAAY5P,IAAUY,GAAOjG,EAAIqU,KAAWrU,EAAGqU,IAAQhP,KAC9E3D,EAAWC,YAAa,GAEnBD,CAL+F,CAMxG,EAEI4P,GAAuB,SAA6BtJ,GACtD,IAAIuE,EAAQuI,GAA0B9R,EAAgBgF,IAClDd,EAAS,GAIb,OAHAkN,GAAS7H,GAAO,SAAUlH,GACnBY,GAAOgP,GAAY5P,IAASY,GAAOiD,GAAY7D,IAAMM,GAAKuB,EAAQ7B,EAC3E,IACS6B,CACT,EAEI2O,GAAyB,SAA+B7N,GAC1D,IAAI8N,EAAsB9N,IAAMwM,GAC5BjI,EAAQuI,GAA0BgB,EAAsBZ,GAAyBlS,EAAgBgF,IACjGd,EAAS,GAMb,OALAkN,GAAS7H,GAAO,SAAUlH,IACpBY,GAAOgP,GAAY5P,IAAUyQ,IAAuB7P,GAAOuO,GAAiBnP,IAC9EM,GAAKuB,EAAQ+N,GAAW5P,GAE9B,IACS6B,CACT,EAmHA,GA/GKxC,IACHI,GAAU,WACR,GAAIpB,EAAc+Q,GAAiBnU,MAAO,MAAMuC,GAAU,+BAC1D,IAAIgE,EAAezF,UAAUoC,aAA2BT,IAAjB3B,UAAU,GAA+B2U,GAAU3U,UAAU,SAAhC2B,EAChEiM,EAAM3I,GAAIQ,GACVmP,EAAS,SAAUlU,GACjBxB,OAASkU,IAAiBzT,EAAKiV,EAAQd,GAAwBpT,GAC/DmE,GAAO3F,KAAM+T,KAAWpO,GAAO3F,KAAK+T,IAASrF,KAAM1O,KAAK+T,IAAQrF,IAAO,GAC3EuG,GAAoBjV,KAAM0O,EAAKpN,EAAyB,EAAGE,GACjE,EAEI,OADI+F,GAAewN,IAAYE,GAAoBf,GAAiBxF,EAAK,CAAEjN,cAAc,EAAM4G,IAAKqN,IAC7FN,GAAK1G,EAAKnI,EACrB,EAEE4N,GAAkB3P,GAAQ2K,IAE1BnB,GAASmG,GAAiB,YAAY,WACpC,OAAOlK,GAAiBjK,MAAM0O,GAClC,IAEEV,GAASxJ,GAAS,iBAAiB,SAAU+B,GAC3C,OAAO6O,GAAKrP,GAAIQ,GAAcA,EAClC,IAEEqB,EAA2B1G,EAAIH,GAC/BmH,GAAqBhH,EAAI4G,GACzB8E,GAA+B1L,EAAIuG,GACnC+E,GAA0BtL,EAAIuT,GAA4BvT,EAAI8P,GAC9DvE,GAA4BvL,EAAIqU,GAEhCI,GAA6BzU,EAAI,SAAUoF,GACzC,OAAO8O,GAAK/O,GAAgBC,GAAOA,EACvC,EAEMiB,IAEFgN,GAAqBJ,GAAiB,cAAe,CACnD1S,cAAc,EACdjB,IAAK,WACH,OAAOyJ,GAAiBjK,MAAMuG,WAC/B,IAGDyH,GAASkG,GAAiB,uBAAwBnT,GAAuB,CAAEuJ,QAAQ,MAKxFkD,GAAC,CAAE5N,QAAQ,EAAMwV,MAAM,EAAMrH,QAAS3J,EAAeH,MAAOG,GAAiB,CAC5EL,OAAQS,KAGFoR,GAAC/G,GAAW7I,KAAwB,SAAUM,IPzNrC,SAAUuP,GACzB,IAAI9R,EAAS0N,GAAK1N,SAAW0N,GAAK1N,OAAS,CAAA,GACtC4B,GAAO5B,EAAQ8R,IAAOtV,GAAewD,EAAQ8R,EAAM,CACtDrU,MAAOmU,GAA6BzU,EAAE2U,IAE1C,COqNEC,CAAsBxP,EACxB,IAEAyP,GAAE,CAAEpJ,OAAQqH,GAAQlG,MAAM,EAAMC,QAAS3J,GAAiB,CAGxD4R,IAAO,SAAUjR,GACf,IAAIsI,EAASoI,GAAU1Q,GACvB,GAAIY,GAAOkP,GAAwBxH,GAAS,OAAOwH,GAAuBxH,GAC1E,IAAIvJ,EAASU,GAAQ6I,GAGrB,OAFAwH,GAAuBxH,GAAUvJ,EACjCgR,GAAuBhR,GAAUuJ,EAC1BvJ,CACR,EAGDmS,OAAQ,SAAgBC,GACtB,IAAK5R,EAAS4R,GAAM,MAAM3T,GAAU2T,EAAM,oBAC1C,GAAIvQ,GAAOmP,GAAwBoB,GAAM,OAAOpB,GAAuBoB,EACxE,EACDC,UAAW,WAAcpB,IAAa,CAAO,EAC7CqB,UAAW,WAAcrB,IAAa,CAAQ,IAG/CvH,GAAC,CAAEb,OAAQ,SAAUmB,MAAM,EAAMC,QAAS3J,EAAeH,MAAOsD,GAAe,CAG9EsJ,OA9HY,SAAgBnJ,EAAGsH,GAC/B,YAAsBvM,IAAfuM,EAA2BkG,GAAmBxN,GAAK2N,GAAkBH,GAAmBxN,GAAIsH,EACrG,EA+HEzO,eAAgBuH,GAGhBiH,iBAAkBsG,GAGlBpU,yBAA0BwG,KAG5BsO,GAAE,CAAEpJ,OAAQ,SAAUmB,MAAM,EAAMC,QAAS3J,GAAiB,CAG1DiI,oBAAqB2E,GAGrBnN,sBAAuB0R,KAKxB/H,GAAC,CAAEb,OAAQ,SAAUmB,MAAM,EAAMC,OAAQ7N,GAAM,WAAcuM,GAA4BvL,EAAE,EAAG,KAAO,CACpG2C,sBAAuB,SAA+BnE,GACpD,OAAO+M,GAA4BvL,EAAEsE,GAAS9F,GAC/C,IAKC2U,GAAY,CACd,IAAIgC,IAAyBjS,GAAiBlE,GAAM,WAClD,IAAI4D,EAASU,KAEb,MAA+B,UAAxB6P,GAAW,CAACvQ,KAEe,MAA7BuQ,GAAW,CAAE7M,EAAG1D,KAEc,MAA9BuQ,GAAW/T,OAAOwD,GAC3B,IAEEiS,GAAE,CAAEpJ,OAAQ,OAAQmB,MAAM,EAAMC,OAAQsI,IAAyB,CAE/DC,UAAW,SAAmB5W,EAAI6W,EAAUC,GAC1C,IAAIC,EAAOjF,GAAW1Q,WAClB4V,EAAYH,EAChB,IAAKzT,EAASyT,SAAoB9T,IAAP/C,KAAoB4E,EAAS5E,GAMxD,OALKyO,GAAQoI,KAAWA,EAAW,SAAUxR,EAAKvD,GAEhD,GADIoB,EAAW8T,KAAYlV,EAAQf,EAAKiW,EAAW1W,KAAM+E,EAAKvD,KACzD8C,EAAS9C,GAAQ,OAAOA,CACrC,GACMiV,EAAK,GAAKF,EACH1V,GAAMwT,GAAY,KAAMoC,EAChC,GAEL,CAIA,IAAKtC,GAAgB3N,IAAe,CAClC,IAAIO,GAAUoN,GAAgBpN,QAE9BiH,GAASmG,GAAiB3N,IAAc,SAAUmQ,GAEhD,OAAOlW,EAAKsG,GAAS/G,KACzB,GACA,CAGA0R,GAAelN,GAASwP,IAExBpL,GAAWmL,KAAU,ECvTrB,IAAIxT,GAAiByJ,GAA+C9I,EAGhE0V,GAAehX,EAAOmE,OACtBoQ,GAAkByC,IAAgBA,GAAalW,UAEnD,GAAI6G,GAAe3E,EAAWgU,QAAoB,gBAAiBzC,UAElC1R,IAA/BmU,KAAerQ,aACd,CACD,IAAIsQ,GAA8B,CAAA,EAE9BC,GAAgB,WAClB,IAAIvQ,EAAczF,UAAUoC,OAAS,QAAsBT,IAAjB3B,UAAU,QAAmB2B,EAAYV,GAASjB,UAAU,IAClG8F,EAASxD,EAAc+Q,GAAiBnU,MACxC,IAAI4W,GAAarQ,QAED9D,IAAhB8D,EAA4BqQ,KAAiBA,GAAarQ,GAE9D,MADoB,KAAhBA,IAAoBsQ,GAA4BjQ,IAAU,GACvDA,CACX,EAEE8F,GAA0BoK,GAAeF,IACzCE,GAAcpW,UAAYyT,GAC1BA,GAAgBzB,YAAcoE,GAE9B,IAAI1S,GAAgD,gBAAhCJ,OAAO4S,GAAa,SACpCG,GAAiB/U,EAAYmS,GAAgBpS,UAC7CiV,GAAgBhV,EAAYmS,GAAgBpN,SAC5CkQ,GAAS,wBACTxM,GAAUzI,EAAY,GAAGyI,SACzBxI,GAAcD,EAAY,GAAGE,OAEjC3B,GAAe4T,GAAiB,cAAe,CAC7C1S,cAAc,EACdjB,IAAK,WACH,IAAIsD,EAASkT,GAAchX,MACvBqN,EAAS0J,GAAejT,GAC5B,GAAI6B,GAAOkR,GAA6B/S,GAAS,MAAO,GACxD,IAAIoT,EAAO9S,GAAgBnC,GAAYoL,EAAQ,GAAI,GAAK5C,GAAQ4C,EAAQ4J,GAAQ,MAChF,MAAgB,KAATC,OAAczU,EAAYyU,CAClC,IAGHnB,GAAE,CAAEnW,QAAQ,EAAMmO,QAAQ,GAAQ,CAChChK,OAAQ+S,IAEZ,CCtDA,IAAIK,GAAc9Q,GAAgB,eAC9B+Q,GAAiBhJ,MAAM1N,UAIQ+B,MAA/B2U,GAAeD,KACjBjP,GAAqBhH,EAAEkW,GAAgBD,GAAa,CAClD1V,cAAc,EACdD,MAAOqP,GAAO,QAKlB,ICHIwG,GAAmBC,GAAmCC,GDG5CC,GAAG,SAAUzS,GACzBqS,GAAeD,IAAapS,IAAO,CACrC,EEnBA0S,GAAiB,CAAE,ECEnBC,IAAkBxX,GAAM,WACtB,SAASyQ,IAAmB,CAG5B,OAFAA,EAAEjQ,UAAUgS,YAAc,KAEnBpS,OAAOqX,eAAe,IAAIhH,KAASA,EAAEjQ,SAC9C,ICAI2O,GAAW1G,GAAU,YACrBrI,GAASV,EAAOU,OAChB4T,GAAkB5T,GAAOI,UAIfkX,GAAGC,GAA2BvX,GAAOqX,eAAiB,SAAUjQ,GAC5E,IAAIO,EAASzC,GAASkC,GACtB,GAAI/B,GAAOsC,EAAQoH,IAAW,OAAOpH,EAAOoH,IAC5C,IAAIqD,EAAczK,EAAOyK,YACzB,OAAI9P,EAAW8P,IAAgBzK,aAAkByK,EACxCA,EAAYhS,UACZuH,aAAkB3H,GAAS4T,GAAkB,IACxD,EHXI4D,GAAWzR,GAAgB,YAC3B0R,IAAyB,EAOzB,GAAGrP,OAGC,SAFN6O,GAAgB,GAAG7O,SAIjB4O,GAAoCK,GAAeA,GAAeJ,QACxBjX,OAAOI,YAAW2W,GAAoBC,IAHlDS,IAAyB,GAO3D,IAAIC,GAA8CvV,MAArB4U,IAAkCnX,GAAM,WACnE,IAAIuI,EAAO,CAAA,EAEX,OAAO4O,GAAkBS,IAAUrX,KAAKgI,KAAUA,CACpD,IAEIuP,KAAwBX,GAAoB,IAK3CzU,EAAWyU,GAAkBS,MAChC9J,GAASqJ,GAAmBS,IAAU,WACpC,OAAO9X,IACX,IAGA,IAAAiY,GAAiB,CACfZ,kBAAmBA,GACnBU,uBAAwBA,II7CtBV,GAAoBrN,GAAuCqN,kBAM3Da,GAAa,WAAc,OAAOlY,MCJlCgE,GAASpE,EAAOoE,OAChBzB,GAAY3C,EAAO2C,UCKT4V,GAAG7X,OAAO8X,iBAAmB,aAAe,CAAE,EAAG,WAC7D,IAEI1C,EAFA2C,GAAiB,EACjB5P,EAAO,CAAA,EAEX,KAEEiN,EAAS1T,EAAY1B,OAAOW,yBAAyBX,OAAOI,UAAW,aAAa2H,MAC7EI,EAAM,IACb4P,EAAiB5P,aAAgB2F,KACrC,CAAI,MAAOhO,GAAsB,CAC/B,OAAO,SAAwBsH,EAAG4Q,GAKhC,OAJAzQ,GAASH,GDdI,SAAU7E,GACzB,GAAuB,iBAAZA,GAAwBD,EAAWC,GAAW,OAAOA,EAChE,MAAMN,GAAU,aAAeyB,GAAOnB,GAAY,kBACpD,CCYI0V,CAAmBD,GACfD,EAAgB3C,EAAOhO,EAAG4Q,GACzB5Q,EAAE8Q,UAAYF,EACZ5Q,CACX,CACA,CAjB+D,QAiBzDjF,GCVFgW,GAAuBC,GAAa7O,OACpCE,GAA6B2O,GAAa5O,aAC1CuN,GAAoBsB,GAActB,kBAClCU,GAAyBY,GAAcZ,uBACvCD,GAAWzR,GAAgB,YAC3BuS,GAAO,OACPC,GAAS,SACTC,GAAU,UAEVZ,GAAa,WAAc,OAAOlY,MAEtC+Y,GAAiB,SAAUC,EAAUnD,EAAMoD,EAAqBC,EAAMC,EAASC,EAAQC,IHlBtE,SAAUJ,EAAqBpD,EAAMqD,EAAMI,GAC1D,IAAI/K,EAAgBsH,EAAO,YAC3BoD,EAAoBvY,UAAYmQ,GAAOwG,GAAmB,CAAE6B,KAAM5X,IAA2BgY,EAAiBJ,KAC9GxH,GAAeuH,EAAqB1K,GAAe,GACnDgL,GAAUhL,GAAiB2J,EAE7B,CGaEsB,CAA0BP,EAAqBpD,EAAMqD,GAErD,IAkBIO,EAA0BC,EAASC,EAlBnCC,EAAqB,SAAUC,GACjC,GAAIA,IAASV,GAAWW,EAAiB,OAAOA,EAChD,IAAK/B,IAA0B8B,KAAQE,EAAmB,OAAOA,EAAkBF,GACnF,OAAQA,GACN,KAAKjB,GACL,KAAKC,GACL,KAAKC,GAAS,OAAO,WAAqB,OAAO,IAAIG,EAAoBjZ,KAAM6Z,IAC/E,OAAO,WAAc,OAAO,IAAIZ,EAAoBjZ,KAAM,CAChE,EAEMuO,EAAgBsH,EAAO,YACvBmE,GAAwB,EACxBD,EAAoBf,EAAStY,UAC7BuZ,EAAiBF,EAAkBjC,KAClCiC,EAAkB,eAClBZ,GAAWY,EAAkBZ,GAC9BW,GAAmB/B,IAA0BkC,GAAkBL,EAAmBT,GAClFe,EAA4B,SAARrE,GAAkBkE,EAAkBI,SAA4BF,EA+BxF,GA3BIC,IACFT,EAA2B9B,GAAeuC,EAAkBzZ,KAAK,IAAIuY,OACpC1Y,OAAOI,WAAa+Y,EAAyBP,OAC5DvB,GAAe8B,KAA8BpC,KACvDe,GACFA,GAAeqB,EAA0BpC,IAC/BzU,EAAW6W,EAAyB3B,MAC9C9J,GAASyL,EAA0B3B,GAAUI,KAIjDxG,GAAe+H,EAA0BlL,GAAe,IAMxDkK,IAAwBU,GAAWN,IAAUoB,GAAkBA,EAAe3T,OAASuS,KACzE9O,GACd/B,GAA4B+R,EAAmB,OAAQlB,KAEvDmB,GAAwB,EACxBF,EAAkB,WAAoB,OAAOrZ,EAAKwZ,EAAgBja,SAKlEmZ,EAMF,GALAO,EAAU,CACRU,OAAQR,EAAmBf,IAC3BnQ,KAAM0Q,EAASU,EAAkBF,EAAmBhB,IACpDuB,QAASP,EAAmBd,KAE1BO,EAAQ,IAAKM,KAAOD,GAClB3B,IAA0BiC,KAA2BL,KAAOI,KAC9D/L,GAAS+L,EAAmBJ,EAAKD,EAAQC,SAEtC5D,GAAE,CAAEpJ,OAAQkJ,EAAMyC,OAAO,EAAMvK,OAAQgK,IAA0BiC,GAAyBN,GASnG,OAL4BK,EAAkBjC,MAAcgC,GAC1D9L,GAAS+L,EAAmBjC,GAAUgC,EAAiB,CAAExT,KAAM6S,IAEjEI,GAAU1D,GAAQiE,EAEXJ,CACT,EC3FIW,GAAiB,iBACjBpG,GAAmB/J,GAAoB7B,IACvC4B,GAAmBC,GAAoBV,UAAU6Q,IAYvCC,GAAGvB,GAAe3K,MAAO,SAAS,SAAUmM,EAAUC,GAClEvG,GAAiBjU,KAAM,CACrB0J,KAAM2Q,GACN1N,OAAQjK,EAAgB6X,GACxBpP,MAAO,EACPqP,KAAMA,GAIV,IAAG,WACD,IAAIzR,EAAQkB,GAAiBjK,MACzB2M,EAAS5D,EAAM4D,OACf6N,EAAOzR,EAAMyR,KACbrP,EAAQpC,EAAMoC,QAClB,OAAKwB,GAAUxB,GAASwB,EAAOzJ,QAC7B6F,EAAM4D,YAASlK,EACR,CAAEjB,WAAOiB,EAAWgY,MAAM,IAEvB,QAARD,EAAuB,CAAEhZ,MAAO2J,EAAOsP,MAAM,GACrC,UAARD,EAAyB,CAAEhZ,MAAOmL,EAAOxB,GAAQsP,MAAM,GACpD,CAAEjZ,MAAO,CAAC2J,EAAOwB,EAAOxB,IAASsP,MAAM,EAChD,GAAG,UAKHlB,GAAUmB,UAAYnB,GAAUnL,MAGhCoJ,GAAiB,QACjBA,GAAiB,UACjBA,GAAiB,WC9CjB,IAAcmD,GAAGlM,GAAwB,CAAA,EAAG1M,SAAW,WACrD,MAAO,WAAaO,GAAQtC,MAAQ,GACtC,ECFKyO,IACHT,GAAS1N,OAAOI,UAAW,WAAYqB,GAAU,CAAEuI,QAAQ,ICF7D,IAAIsQ,GAAS5Y,EAAY,GAAG4Y,QACxBC,GAAa7Y,EAAY,GAAG6Y,YAC5B5Y,GAAcD,EAAY,GAAGE,OAE7BsJ,GAAe,SAAUsP,GAC3B,OAAO,SAAUpP,EAAOqP,GACtB,IAGIC,EAAOC,EAHPC,EAAInZ,GAASS,EAAuBkJ,IACpCyP,EAAWrQ,GAAoBiQ,GAC/BK,EAAOF,EAAEhY,OAEb,OAAIiY,EAAW,GAAKA,GAAYC,EAAaN,EAAoB,QAAKrY,GACtEuY,EAAQH,GAAWK,EAAGC,IACP,OAAUH,EAAQ,OAAUG,EAAW,IAAMC,IACtDH,EAASJ,GAAWK,EAAGC,EAAW,IAAM,OAAUF,EAAS,MAC3DH,EACEF,GAAOM,EAAGC,GACVH,EACFF,EACE7Y,GAAYiZ,EAAGC,EAAUA,EAAW,GACVF,EAAS,OAAlCD,EAAQ,OAAU,IAA0B,KACzD,CACA,ECzBIJ,GD2Ba,CAGfS,OAAQ7P,IAAa,GAGrBoP,OAAQpP,IAAa,ICjC+BoP,OAKlDU,GAAkB,kBAClBrH,GAAmB/J,GAAoB7B,IACvC4B,GAAmBC,GAAoBV,UAAU8R,IAIrDvC,GAAe/U,OAAQ,UAAU,SAAUuW,GACzCtG,GAAiBjU,KAAM,CACrB0J,KAAM4R,GACNjO,OAAQtL,GAASwY,GACjBpP,MAAO,GAIX,IAAG,WACD,IAGIoQ,EAHAxS,EAAQkB,GAAiBjK,MACzBqN,EAAStE,EAAMsE,OACflC,EAAQpC,EAAMoC,MAElB,OAAIA,GAASkC,EAAOnK,OAAe,CAAE1B,WAAOiB,EAAWgY,MAAM,IAC7Dc,EAAQX,GAAOvN,EAAQlC,GACvBpC,EAAMoC,OAASoQ,EAAMrY,OACd,CAAE1B,MAAO+Z,EAAOd,MAAM,GAC/B,IC3BA,IAAAe,GAAiB,SAAU7O,EAAQ6D,EAAKnG,GACtC,IAAK,IAAItF,KAAOyL,EAAKxC,GAASrB,EAAQ5H,EAAKyL,EAAIzL,GAAMsF,GACrD,OAAOsC,CACT,ECFc8O,GAAGvb,GAAM,WACrB,GAA0B,mBAAfwb,YAA2B,CACpC,IAAIC,EAAS,IAAID,YAAY,GAEzBpb,OAAOsb,aAAaD,IAASrb,OAAOC,eAAeob,EAAQ,IAAK,CAAEna,MAAO,GAC9E,CACH,ICHIqa,GAAgBvb,OAAOsb,aAKbE,GAJY5b,GAAM,WAAc2b,GAAc,EAAG,KAItBE,GAA+B,SAAsBrc,GAC5F,QAAKoD,EAASpD,OACVqc,IAA8C,eAAfzZ,EAAQ5C,OACpCmc,IAAgBA,GAAcnc,IACvC,EAAImc,GCbJG,IAAkB9b,GAAM,WAEtB,OAAOI,OAAOsb,aAAatb,OAAO2b,kBAAkB,CAAA,GACtD,sBCAA,IAAI1b,EAAiByJ,GAA+C9I,EAOhEgb,GAAW,EACXC,EAAWpW,GAAI,QACfH,EAAK,EAELwW,EAAc,SAAU1c,GAC1Ba,EAAeb,EAAIyc,EAAU,CAAE3a,MAAO,CACpC6a,SAAU,IAAMzW,IAChB0W,SAAU,CAAE,IAEhB,EA4DIC,EAAOrX,EAAiBC,QAAA,CAC1BqX,OA3BW,WACXD,EAAKC,OAAS,aACdN,GAAW,EACX,IAAI7P,EAAsBG,GAA0BtL,EAChDub,EAASza,EAAY,GAAGya,QACxBhU,EAAO,CAAA,EACXA,EAAK0T,GAAY,EAGb9P,EAAoB5D,GAAMvF,SAC5BsJ,GAA0BtL,EAAI,SAAUxB,GAEtC,IADA,IAAIkH,EAASyF,EAAoB3M,GACxBwM,EAAI,EAAGhJ,EAAS0D,EAAO1D,OAAQgJ,EAAIhJ,EAAQgJ,IAClD,GAAItF,EAAOsF,KAAOiQ,EAAU,CAC1BM,EAAO7V,EAAQsF,EAAG,GAClB,KACD,CACD,OAAOtF,CACf,EAEImP,GAAE,CAAEpJ,OAAQ,SAAUmB,MAAM,EAAMC,QAAQ,GAAQ,CAChD1B,oBAAqBqQ,GAAkCxb,IAG7D,EAIEyb,QA5DY,SAAUjd,EAAImR,GAE1B,IAAK/N,EAASpD,GAAK,MAAoB,iBAANA,EAAiBA,GAAmB,iBAANA,EAAiB,IAAM,KAAOA,EAC7F,IAAKiG,GAAOjG,EAAIyc,GAAW,CAEzB,IAAKP,GAAalc,GAAK,MAAO,IAE9B,IAAKmR,EAAQ,MAAO,IAEpBuL,EAAY1c,EAEb,CAAC,OAAOA,EAAGyc,GAAUE,QACxB,EAiDEO,YA/CgB,SAAUld,EAAImR,GAC9B,IAAKlL,GAAOjG,EAAIyc,GAAW,CAEzB,IAAKP,GAAalc,GAAK,OAAO,EAE9B,IAAKmR,EAAQ,OAAO,EAEpBuL,EAAY1c,EAEb,CAAC,OAAOA,EAAGyc,GAAUG,QACxB,EAsCEO,SAnCa,SAAUnd,GAEvB,OADIod,IAAYZ,GAAYN,GAAalc,KAAQiG,GAAOjG,EAAIyc,IAAWC,EAAY1c,GAC5EA,CACT,GAmCAkJ,GAAWuT,IAAY,KCrFnBrE,GAAWzR,GAAgB,YAC3B+Q,GAAiBhJ,MAAM1N,UAGbqc,GAAG,SAAUrd,GACzB,YAAc+C,IAAP/C,IAAqB6Z,GAAUnL,QAAU1O,GAAM0X,GAAeU,MAAcpY,EACrF,ECJIoY,GAAWzR,GAAgB,YAEjB2W,GAAG,SAAUtd,GACzB,GAAU+C,MAAN/C,EAAiB,OAAOiF,EAAUjF,EAAIoY,KACrCnT,EAAUjF,EAAI,eACd6Z,GAAUjX,GAAQ5C,GACzB,ECJI6C,GAAY3C,EAAO2C,UAEvB0a,GAAiB,SAAUpa,EAAUqa,GACnC,IAAIC,EAAiBrc,UAAUoC,OAAS,EAAI8Z,GAAkBna,GAAYqa,EAC1E,GAAIxY,EAAUyY,GAAiB,OAAOtV,GAASpH,EAAK0c,EAAgBta,IACpE,MAAMN,GAAUkC,EAAY5B,GAAY,mBAC1C,ECTAua,GAAiB,SAAU/Y,EAAUmW,EAAMhZ,GACzC,IAAI6b,EAAaC,EACjBzV,GAASxD,GACT,IAEE,KADAgZ,EAAc1Y,EAAUN,EAAU,WAChB,CAChB,GAAa,UAATmW,EAAkB,MAAMhZ,EAC5B,OAAOA,CACR,CACD6b,EAAc5c,EAAK4c,EAAahZ,EACjC,CAAC,MAAOjE,GACPkd,GAAa,EACbD,EAAcjd,CACf,CACD,GAAa,UAAToa,EAAkB,MAAMhZ,EAC5B,GAAI8b,EAAY,MAAMD,EAEtB,OADAxV,GAASwV,GACF7b,CACT,ECVIe,GAAY3C,EAAO2C,UAEnBgb,GAAS,SAAUC,EAAS5W,GAC9B5G,KAAKwd,QAAUA,EACfxd,KAAK4G,OAASA,CAChB,EAEI6W,GAAkBF,GAAO7c,UAE7Bgd,GAAiB,SAAUC,EAAUC,EAAiBvT,GACpD,IAKIhG,EAAUwZ,EAAQ1S,EAAOjI,EAAQ0D,EAAQsS,EAAM4E,EAL/CjM,EAAOxH,GAAWA,EAAQwH,KAC1BkM,KAAgB1T,IAAWA,EAAQ0T,YACnCC,KAAiB3T,IAAWA,EAAQ2T,aACpCC,KAAiB5T,IAAWA,EAAQ4T,aACpCnc,EAAKlB,GAAKgd,EAAiB/L,GAG3BqM,EAAO,SAAUC,GAEnB,OADI9Z,GAAU+Y,GAAc/Y,EAAU,SAAU8Z,GACzC,IAAIZ,IAAO,EAAMY,EAC5B,EAEMC,EAAS,SAAU5c,GACrB,OAAIuc,GACFlW,GAASrG,GACFyc,EAAcnc,EAAGN,EAAM,GAAIA,EAAM,GAAI0c,GAAQpc,EAAGN,EAAM,GAAIA,EAAM,KAChEyc,EAAcnc,EAAGN,EAAO0c,GAAQpc,EAAGN,EAChD,EAEE,GAAIwc,EACF3Z,EAAWsZ,MACN,CAEL,KADAE,EAASb,GAAkBW,IACd,MAAMpb,GAAUkC,EAAYkZ,GAAY,oBAErD,GAAIZ,GAAsBc,GAAS,CACjC,IAAK1S,EAAQ,EAAGjI,EAASoI,GAAkBqS,GAAWza,EAASiI,EAAOA,IAEpE,IADAvE,EAASwX,EAAOT,EAASxS,MACX/H,EAAcqa,GAAiB7W,GAAS,OAAOA,EAC7D,OAAO,IAAI2W,IAAO,EACrB,CACDlZ,EAAW4Y,GAAYU,EAAUE,EAClC,CAGD,IADA3E,EAAO7U,EAAS6U,OACP4E,EAAOrd,EAAKyY,EAAM7U,IAAWoW,MAAM,CAC1C,IACE7T,EAASwX,EAAON,EAAKtc,MACtB,CAAC,MAAOpB,GACPgd,GAAc/Y,EAAU,QAASjE,EAClC,CACD,GAAqB,iBAAVwG,GAAsBA,GAAUxD,EAAcqa,GAAiB7W,GAAS,OAAOA,CAC9F,CAAI,OAAO,IAAI2W,IAAO,EACtB,EC9DIhb,GAAY3C,EAAO2C,UAEvB8b,GAAiB,SAAU3e,EAAI4e,GAC7B,GAAIlb,EAAckb,EAAW5e,GAAK,OAAOA,EACzC,MAAM6C,GAAU,uBAClB,ECNIuV,GAAWzR,GAAgB,YAC3BkY,IAAe,EAEnB,IACE,IAAIlM,GAAS,EACTmM,GAAqB,CACvBtF,KAAM,WACJ,MAAO,CAAEuB,OAAQpI,KAClB,EACDoM,OAAU,WACRF,IAAe,CAChB,GAEHC,GAAmB1G,IAAY,WAC7B,OAAO9X,IACX,EAEEoO,MAAMsQ,KAAKF,IAAoB,WAAc,MAAM,CAAE,GACvD,CAAE,MAAOpe,GAAsB,CAE/B,IAAAue,GAAiB,SAAUxe,EAAMye,GAC/B,IAAKA,IAAiBL,GAAc,OAAO,EAC3C,IAAIM,GAAoB,EACxB,IACE,IAAI5W,EAAS,CAAA,EACbA,EAAO6P,IAAY,WACjB,MAAO,CACLoB,KAAM,WACJ,MAAO,CAAEuB,KAAMoE,GAAoB,EACpC,EAET,EACI1e,EAAK8H,EACT,CAAI,MAAO7H,GAAsB,CAC/B,OAAOye,CACT,ECrBAC,GAAiB,SAAUC,EAAkBC,EAASC,GACpD,IAAItM,GAA8C,IAArCoM,EAAiBhT,QAAQ,OAClCmT,GAAgD,IAAtCH,EAAiBhT,QAAQ,QACnCoT,EAAQxM,EAAS,MAAQ,MACzByM,EAAoBxf,EAAOmf,GAC3BM,EAAkBD,GAAqBA,EAAkB1e,UACzD4e,EAAcF,EACdG,EAAW,CAAA,EAEXC,EAAY,SAAU7F,GACxB,IAAI8F,EAAwBzd,EAAYqd,EAAgB1F,IACxD3L,GAASqR,EAAiB1F,EACjB,OAAPA,EAAe,SAAanY,GAE1B,OADAie,EAAsBzf,KAAgB,IAAVwB,EAAc,EAAIA,GACvCxB,IACf,EAAiB,UAAP2Z,EAAkB,SAAU5U,GAC9B,QAAOma,IAAYpc,EAASiC,KAAe0a,EAAsBzf,KAAc,IAAR+E,EAAY,EAAIA,EACxF,EAAU,OAAP4U,EAAe,SAAa5U,GAC9B,OAAOma,IAAYpc,EAASiC,QAAOtC,EAAYgd,EAAsBzf,KAAc,IAAR+E,EAAY,EAAIA,EAC5F,EAAU,OAAP4U,EAAe,SAAa5U,GAC9B,QAAOma,IAAYpc,EAASiC,KAAe0a,EAAsBzf,KAAc,IAAR+E,EAAY,EAAIA,EAC/F,EAAU,SAAaA,EAAKvD,GAEpB,OADAie,EAAsBzf,KAAc,IAAR+E,EAAY,EAAIA,EAAKvD,GAC1CxB,IACR,EAEP,EASE,GAPc8M,GACZiS,GACCnc,EAAWwc,MAAwBF,GAAWG,EAAgB/L,UAAYpT,GAAM,YAC/E,IAAIkf,GAAoBjF,UAAUjB,MACxC,MAKIoG,EAAcL,EAAOS,eAAeV,EAASD,EAAkBpM,EAAQwM,GACvEQ,GAAuBnD,cAClB,GAAI1P,GAASiS,GAAkB,GAAO,CAC3C,IAAIa,EAAW,IAAIN,EAEfO,EAAiBD,EAAST,GAAOD,EAAU,CAAE,GAAI,EAAG,IAAMU,EAE1DE,EAAuB5f,GAAM,WAAc0f,EAAStX,IAAI,EAAG,IAG3DyX,EAAmBpB,IAA4B,SAAUhB,GAAY,IAAIyB,EAAkBzB,EAAU,IAErGqC,GAAcd,GAAWhf,GAAM,WAIjC,IAFA,IAAI+f,EAAY,IAAIb,EAChBjU,EAAQ,EACLA,KAAS8U,EAAUd,GAAOhU,EAAOA,GACxC,OAAQ8U,EAAU3X,KAAK,EAC7B,IAESyX,KACHT,EAAcN,GAAQ,SAAUkB,EAAOvC,GACrCU,GAAW6B,EAAOb,GAClB,IAAIxN,ECvEK,SAAUnG,EAAOwU,EAAOC,GACvC,IAAIC,EAAWC,EAUf,OAPEjI,IAEAxV,EAAWwd,EAAYF,EAAMxN,cAC7B0N,IAAcD,GACdrd,EAASud,EAAqBD,EAAU1f,YACxC2f,IAAuBF,EAAQzf,WAC/B0X,GAAe1M,EAAO2U,GACjB3U,CACT,CD2DmB4U,CAAkB,IAAIlB,EAAqBc,EAAOZ,GAE7D,OADgB7c,MAAZkb,GAAuBD,GAAQC,EAAU9L,EAAKsN,GAAQ,CAAEtN,KAAMA,EAAMkM,WAAYpL,IAC7Ed,CACf,KACkBnR,UAAY2e,EACxBA,EAAgB3M,YAAc4M,IAG5BQ,GAAwBE,KAC1BR,EAAU,UACVA,EAAU,OACV7M,GAAU6M,EAAU,SAGlBQ,GAAcH,IAAgBL,EAAUL,GAGxCD,GAAWG,EAAgBkB,cAAclB,EAAgBkB,KAC9D,CASD,OAPAhB,EAASR,GAAoBO,EAC7BvJ,GAAE,CAAEnW,QAAQ,EAAMmO,OAAQuR,GAAeF,GAAqBG,GAE9D7N,GAAe4N,EAAaP,GAEvBG,GAASD,EAAOuB,UAAUlB,EAAaP,EAAkBpM,GAEvD2M,CACT,EErGI1C,GAAc5S,GAA0C4S,YASxD3I,GAAmB/J,GAAoB7B,IACvCoY,GAAyBvW,GAAoBV,UAC7CmK,GAAO+M,GAAqB/M,KAC5BC,GAAY8M,GAAqB9M,UACjC6I,GAASza,EAAY,GAAGya,QACxB7W,GAAK,EAGL+a,GAAsB,SAAUvb,GAClC,OAAOA,EAAMwb,SAAWxb,EAAMwb,OAAS,IAAIC,GAC7C,EAEIA,GAAsB,WACxB7gB,KAAKma,QAAU,EACjB,EAEI2G,GAAqB,SAAU1b,EAAOL,GACxC,OAAO4O,GAAKvO,EAAM+U,SAAS,SAAUza,GACnC,OAAOA,EAAG,KAAOqF,CACrB,GACA,EAEA8b,GAAoBngB,UAAY,CAC9BF,IAAK,SAAUuE,GACb,IAAIgc,EAAQD,GAAmB9gB,KAAM+E,GACrC,GAAIgc,EAAO,OAAOA,EAAM,EACzB,EACDzY,IAAK,SAAUvD,GACb,QAAS+b,GAAmB9gB,KAAM+E,EACnC,EACDsD,IAAK,SAAUtD,EAAKvD,GAClB,IAAIuf,EAAQD,GAAmB9gB,KAAM+E,GACjCgc,EAAOA,EAAM,GAAKvf,EACjBxB,KAAKma,QAAQ9U,KAAK,CAACN,EAAKvD,GAC9B,EACDwf,OAAU,SAAUjc,GAClB,IAAIoG,EAAQyI,GAAU5T,KAAKma,SAAS,SAAUza,GAC5C,OAAOA,EAAG,KAAOqF,CACvB,IAEI,OADKoG,GAAOsR,GAAOzc,KAAKma,QAAShP,EAAO,MAC9BA,CACX,GAGH,IC3CI8V,GD2CJC,GAAiB,CACfxB,eAAgB,SAAUV,EAASD,EAAkBpM,EAAQwM,GAC3D,IAAIG,EAAcN,GAAQ,SAAUnN,EAAM8L,GACxCU,GAAWxM,EAAMyM,GACjBrK,GAAiBpC,EAAM,CACrBnI,KAAMqV,EACNnZ,GAAIA,KACJgb,YAAQne,IAEMA,MAAZkb,GAAuBD,GAAQC,EAAU9L,EAAKsN,GAAQ,CAAEtN,KAAMA,EAAMkM,WAAYpL,GAC1F,IAEQ2L,EAAYgB,EAAY5e,UAExBuJ,EAAmBwW,GAAuB1B,GAE1CoC,EAAS,SAAUtP,EAAM9M,EAAKvD,GAChC,IAAIuH,EAAQkB,EAAiB4H,GACzB5E,EAAO2P,GAAY/U,GAAS9C,IAAM,GAGtC,OAFa,IAATkI,EAAe0T,GAAoB5X,GAAOV,IAAItD,EAAKvD,GAClDyL,EAAKlE,EAAMnD,IAAMpE,EACfqQ,CACb,EAiDI,OA/CA2J,GAAY8C,EAAW,CAIrB0C,OAAU,SAAUjc,GAClB,IAAIgE,EAAQkB,EAAiBjK,MAC7B,IAAK8C,EAASiC,GAAM,OAAO,EAC3B,IAAIkI,EAAO2P,GAAY7X,GACvB,OAAa,IAATkI,EAAsB0T,GAAoB5X,GAAe,OAAEhE,GACxDkI,GAAQtH,GAAOsH,EAAMlE,EAAMnD,YAAcqH,EAAKlE,EAAMnD,GAC5D,EAID0C,IAAK,SAAavD,GAChB,IAAIgE,EAAQkB,EAAiBjK,MAC7B,IAAK8C,EAASiC,GAAM,OAAO,EAC3B,IAAIkI,EAAO2P,GAAY7X,GACvB,OAAa,IAATkI,EAAsB0T,GAAoB5X,GAAOT,IAAIvD,GAClDkI,GAAQtH,GAAOsH,EAAMlE,EAAMnD,GACnC,IAGH4V,GAAY8C,EAAW3L,EAAS,CAG9BnS,IAAK,SAAauE,GAChB,IAAIgE,EAAQkB,EAAiBjK,MAC7B,GAAI8C,EAASiC,GAAM,CACjB,IAAIkI,EAAO2P,GAAY7X,GACvB,OAAa,IAATkI,EAAsB0T,GAAoB5X,GAAOvI,IAAIuE,GAClDkI,EAAOA,EAAKlE,EAAMnD,SAAMnD,CAChC,CACF,EAGD4F,IAAK,SAAatD,EAAKvD,GACrB,OAAO2f,EAAOnhB,KAAM+E,EAAKvD,EAC1B,GACC,CAGF4f,IAAK,SAAa5f,GAChB,OAAO2f,EAAOnhB,KAAMwB,GAAO,EAC5B,IAGI8d,CACR,GCvHC+B,GAAsBrX,GAAuCT,QAG7D+X,IAAW1hB,EAAOoQ,eAAiB,kBAAmBpQ,EAGtDof,GAAU,SAAUuC,GACtB,OAAO,WACL,OAAOA,EAAKvhB,KAAMc,UAAUoC,OAASpC,UAAU,QAAK2B,EACxD,CACA,EAII+e,GAAW1C,GAAW,UAAWE,GAASkC,IAK9C,GAAIpY,IAAmBwY,GAAS,CAC9BL,GAAkBC,GAAexB,eAAeV,GAAS,WAAW,GACpEW,GAAuBnD,SACvB,IAAIiF,GAAmBD,GAAS9gB,UAC5BghB,GAAe1f,EAAYyf,GAAyB,QACpDE,GAAY3f,EAAYyf,GAAiBnZ,KACzCsZ,GAAY5f,EAAYyf,GAAiBjhB,KACzCqhB,GAAY7f,EAAYyf,GAAiBpZ,KAC7CmT,GAAYiG,GAAkB,CAC5BT,OAAU,SAAUjc,GAClB,GAAIjC,EAASiC,KAAS6W,GAAa7W,GAAM,CACvC,IAAIgE,EAAQsY,GAAoBrhB,MAEhC,OADK+I,EAAM6X,SAAQ7X,EAAM6X,OAAS,IAAIK,IAC/BS,GAAa1hB,KAAM+E,IAAQgE,EAAM6X,OAAe,OAAE7b,EAC1D,CAAC,OAAO2c,GAAa1hB,KAAM+E,EAC7B,EACDuD,IAAK,SAAavD,GAChB,GAAIjC,EAASiC,KAAS6W,GAAa7W,GAAM,CACvC,IAAIgE,EAAQsY,GAAoBrhB,MAEhC,OADK+I,EAAM6X,SAAQ7X,EAAM6X,OAAS,IAAIK,IAC/BU,GAAU3hB,KAAM+E,IAAQgE,EAAM6X,OAAOtY,IAAIvD,EACjD,CAAC,OAAO4c,GAAU3hB,KAAM+E,EAC1B,EACDvE,IAAK,SAAauE,GAChB,GAAIjC,EAASiC,KAAS6W,GAAa7W,GAAM,CACvC,IAAIgE,EAAQsY,GAAoBrhB,MAEhC,OADK+I,EAAM6X,SAAQ7X,EAAM6X,OAAS,IAAIK,IAC/BU,GAAU3hB,KAAM+E,GAAO6c,GAAU5hB,KAAM+E,GAAOgE,EAAM6X,OAAOpgB,IAAIuE,EACvE,CAAC,OAAO6c,GAAU5hB,KAAM+E,EAC1B,EACDsD,IAAK,SAAatD,EAAKvD,GACrB,GAAIsB,EAASiC,KAAS6W,GAAa7W,GAAM,CACvC,IAAIgE,EAAQsY,GAAoBrhB,MAC3B+I,EAAM6X,SAAQ7X,EAAM6X,OAAS,IAAIK,IACtCU,GAAU3hB,KAAM+E,GAAO8c,GAAU7hB,KAAM+E,EAAKvD,GAASuH,EAAM6X,OAAOvY,IAAItD,EAAKvD,EAC5E,MAAMqgB,GAAU7hB,KAAM+E,EAAKvD,GAC5B,OAAOxB,IACR,GAEL,CC7DA8e,GAAW,WAAW,SAAUyC,GAC9B,OAAO,WAAqB,OAAOA,EAAKvhB,KAAMc,UAAUoC,OAASpC,UAAU,QAAK2B,EAAW,CAC7F,GAAGye,ICNH,ICCwCre,GAClCI,GDFN6e,GAAiB,CACfC,YAAa,EACbC,oBAAqB,EACrBC,aAAc,EACdC,eAAgB,EAChBC,YAAa,EACbC,cAAe,EACfC,aAAc,EACdC,qBAAsB,EACtBC,SAAU,EACVC,kBAAmB,EACnBC,eAAgB,EAChBC,gBAAiB,EACjBC,kBAAmB,EACnBC,UAAW,EACXC,cAAe,EACfC,aAAc,EACdC,SAAU,EACVC,iBAAkB,EAClBC,OAAQ,EACRC,YAAa,EACbC,cAAe,EACfC,cAAe,EACfC,eAAgB,EAChBC,aAAc,EACdC,cAAe,EACfC,iBAAkB,EAClBC,iBAAkB,EAClBC,eAAgB,EAChBC,iBAAkB,EAClBC,cAAe,EACfC,UAAW,GE9BTC,GAAYzc,GAAsB,QAAQyc,UAC1CC,GAAwBD,IAAaA,GAAUpR,aAAeoR,GAAUpR,YAAYhS,UAE1EsjB,GAAGD,KAA0BzjB,OAAOI,eAAY+B,EAAYshB,GCLtEjQ,GAAW9J,GAAwCsJ,QAOzC2Q,MFJRhhB,GAAS,GEAyB,aFCnB/C,GAAM,WAEvB+C,GAAOxC,KAAK,KAAMoC,IAAY,WAAc,MAAM,GAAM,EAC5D,IEGI,GAAGyQ,QAH2B,SAAiBJ,GACjD,OAAOY,GAAS9T,KAAMkT,EAAYpS,UAAUoC,OAAS,EAAIpC,UAAU,QAAK2B,EAE1E,ECLIyhB,GAAkB,SAAUC,GAE9B,GAAIA,GAAuBA,EAAoB7Q,UAAYA,GAAS,IAClEtL,GAA4Bmc,EAAqB,UAAW7Q,GAC7D,CAAC,MAAOlT,GACP+jB,EAAoB7Q,QAAUA,EAC/B,CACH,EAEA,IAAK,IAAI8Q,MAAmBC,GACtBA,GAAaD,KACfF,GAAgBtkB,EAAOwkB,KAAoBxkB,EAAOwkB,IAAiB1jB,WAIxD4jB,GAACP,ICdhB,IAAIjM,GAAWzR,GAAgB,YAC3BkI,GAAgBlI,GAAgB,eAChCke,GAAcC,GAAqBpK,OAEnC8J,GAAkB,SAAUC,EAAqBC,GACnD,GAAID,EAAqB,CAEvB,GAAIA,EAAoBrM,MAAcyM,GAAa,IACjDvc,GAA4Bmc,EAAqBrM,GAAUyM,GAC5D,CAAC,MAAOnkB,GACP+jB,EAAoBrM,IAAYyM,EACjC,CAID,GAHKJ,EAAoB5V,KACvBvG,GAA4Bmc,EAAqB5V,GAAe6V,GAE9DC,GAAaD,GAAkB,IAAK,IAAIK,KAAeD,GAEzD,GAAIL,EAAoBM,KAAiBD,GAAqBC,GAAc,IAC1Ezc,GAA4Bmc,EAAqBM,EAAaD,GAAqBC,GACpF,CAAC,MAAOrkB,GACP+jB,EAAoBM,GAAeD,GAAqBC,EACzD,CAEJ,CACH,EAEA,IAAK,IAAIL,MAAmBC,GAC1BH,GAAgBtkB,EAAOwkB,KAAoBxkB,EAAOwkB,IAAiB1jB,UAAW0jB,IAGhFF,GAAgBH,GAAuB,+2CCjCvC,IAAcW,GAAG,SAAUrgB,EAAUvC,EAAIN,EAAOsX,GAC9C,IACE,OAAOA,EAAUhX,EAAG+F,GAASrG,GAAO,GAAIA,EAAM,IAAMM,EAAGN,EACxD,CAAC,MAAOpB,GACPgd,GAAc/Y,EAAU,QAASjE,EAClC,CACH,ECGIgO,GAAQxO,EAAOwO,MCTfuW,IAAuBhG,IAA4B,SAAUhB,GAE/DvP,MAAMsQ,KAAKf,EACb,IAIA5H,GAAE,CAAEpJ,OAAQ,QAASmB,MAAM,EAAMC,OAAQ4W,IAAuB,CAC9DjG,KDKe,SAAckG,GAC7B,IAAIld,EAAIlC,GAASof,GACbC,EAAiBzS,GAAcpS,MAC/B8kB,EAAkBhkB,UAAUoC,OAC5B6hB,EAAQD,EAAkB,EAAIhkB,UAAU,QAAK2B,EAC7CuiB,OAAoBviB,IAAVsiB,EACVC,IAASD,EAAQnkB,GAAKmkB,EAAOD,EAAkB,EAAIhkB,UAAU,QAAK2B,IACtE,IAEIS,EAAQ0D,EAAQkX,EAAMzZ,EAAU6U,EAAM1X,EAFtC2b,EAAiBH,GAAkBtV,GACnCyD,EAAQ,EAGZ,IAAIgS,GAAoBnd,MAAQoO,IAAS2O,GAAsBI,GAW7D,IAFAja,EAASoI,GAAkB5D,GAC3Bd,EAASie,EAAiB,IAAI7kB,KAAKkD,GAAUkL,GAAMlL,GAC7CA,EAASiI,EAAOA,IACpB3J,EAAQwjB,EAAUD,EAAMrd,EAAEyD,GAAQA,GAASzD,EAAEyD,GAC7C2F,GAAelK,EAAQuE,EAAO3J,QAThC,IAFA0X,GADA7U,EAAW4Y,GAAYvV,EAAGyV,IACVjE,KAChBtS,EAASie,EAAiB,IAAI7kB,KAAS,KAC/B8d,EAAOrd,EAAKyY,EAAM7U,IAAWoW,KAAMtP,IACzC3J,EAAQwjB,EAAUN,GAA6BrgB,EAAU0gB,EAAO,CAACjH,EAAKtc,MAAO2J,IAAQ,GAAQ2S,EAAKtc,MAClGsP,GAAelK,EAAQuE,EAAO3J,GAWlC,OADAoF,EAAO1D,OAASiI,EACTvE,CACT,IE1CA,IAAI0L,GAAUjM,GAAgB,WAEhB4e,GAAG,SAAUR,GAIzB,OAAOvgB,GAAc,KAAOhE,GAAM,WAChC,IAAIglB,EAAQ,GAKZ,OAJkBA,EAAMxS,YAAc,IAC1BJ,IAAW,WACrB,MAAO,CAAE6S,IAAK,EACpB,EAC+C,IAApCD,EAAMT,GAAaW,SAASD,GACvC,GACA,EChBIE,GAAOrb,GAAwCuJ,IAG/C+R,GAAsBL,GAA6B,OAKvDlP,GAAE,CAAEpJ,OAAQ,QAAS2L,OAAO,EAAMvK,QAASuX,IAAuB,CAChE/R,IAAK,SAAaL,GAChB,OAAOmS,GAAKrlB,KAAMkT,EAAYpS,UAAUoC,OAAS,EAAIpC,UAAU,QAAK2B,EACrE,ICCH,IAAI6iB,GAAsBL,GAA6B,SAEnD3S,GAAUjM,GAAgB,WAC1B+H,GAAQxO,EAAOwO,MACfpD,GAAMrL,KAAKqL,IAKf+K,GAAE,CAAEpJ,OAAQ,QAAS2L,OAAO,EAAMvK,QAASuX,IAAuB,CAChEpjB,MAAO,SAAeiP,EAAOC,GAC3B,IAKIkO,EAAa1Y,EAAQ2K,EALrB7J,EAAIhF,EAAgB1C,MACpBkD,EAASoI,GAAkB5D,GAC3B2J,EAAInG,GAAgBiG,EAAOjO,GAC3BoO,EAAMpG,QAAwBzI,IAAR2O,EAAoBlO,EAASkO,EAAKlO,GAG5D,GAAIiL,GAAQzG,KACV4X,EAAc5X,EAAEgL,aAEZN,GAAckN,KAAiBA,IAAgBlR,IAASD,GAAQmR,EAAY5e,aAErEoC,EAASwc,IAEE,QADpBA,EAAcA,EAAYhN,QAF1BgN,OAAc7c,GAKZ6c,IAAgBlR,SAAyB3L,IAAhB6c,GAC3B,OAAOiG,GAAS7d,EAAG2J,EAAGC,GAI1B,IADA1K,EAAS,SAAqBnE,IAAhB6c,EAA4BlR,GAAQkR,GAAatU,GAAIsG,EAAMD,EAAG,IACvEE,EAAI,EAAGF,EAAIC,EAAKD,IAAKE,IAASF,KAAK3J,GAAGoJ,GAAelK,EAAQ2K,EAAG7J,EAAE2J,IAEvE,OADAzK,EAAO1D,OAASqO,EACT3K,CACR,IC1CF4G,GAAC,CAAEb,OAAQ,SAAUmB,MAAM,GAAQ,CAClC0X,YAAa,SAAqB7H,GAChC,IAAIpS,EAAM,CAAA,EAIV,OAHAmS,GAAQC,GAAU,SAAUtM,EAAGoU,GAC7B3U,GAAevF,EAAK8F,EAAGoU,EAC7B,GAAO,CAAE1H,YAAY,IACVxS,CACR,ICRH,IAAIma,GAAsBxlB,GAAM,WAAcylB,GAAW,EAAG,IAI5D5P,GAAE,CAAEpJ,OAAQ,SAAUmB,MAAM,EAAMC,OAAQ2X,IAAuB,CAC/Dhd,KAAM,SAAchJ,GAClB,OAAOimB,GAAWngB,GAAS9F,GAC5B,ICRH,IAAIqB,GAAwBiJ,EAAsD9I,EAE9EF,GAAuBgB,EAAYjB,IACnCsE,GAAOrD,EAAY,GAAGqD,MAGtBmG,GAAe,SAAUoa,GAC3B,OAAO,SAAUlmB,GAOf,IANA,IAKIqF,EALA2C,EAAIhF,EAAgBhD,GACpBgJ,EAAOmG,GAAWnH,GAClBxE,EAASwF,EAAKxF,OACdgJ,EAAI,EACJtF,EAAS,GAEN1D,EAASgJ,GACdnH,EAAM2D,EAAKwD,KACN3E,IAAevG,GAAqB0G,EAAG3C,IAC1CM,GAAKuB,EAAQgf,EAAa,CAAC7gB,EAAK2C,EAAE3C,IAAQ2C,EAAE3C,IAGhD,OAAO6B,CACX,CACA,ECzBIif,GD2Ba,CAGf1L,QAAS3O,IAAa,GAGtB4O,OAAQ5O,IAAa,ICjCgC2O,QAItD3M,GAAC,CAAEb,OAAQ,SAAUmB,MAAM,GAAQ,CAClCqM,QAAS,SAAiBzS,GACxB,OAAOme,GAASne,EACjB,ICNH,IAAIoe,GAAU9b,GAAwCwJ,OAGlD8R,GAAsBL,GAA6B,UAKvDlP,GAAE,CAAEpJ,OAAQ,QAAS2L,OAAO,EAAMvK,QAASuX,IAAuB,CAChE9R,OAAQ,SAAgBN,GACtB,OAAO4S,GAAQ9lB,KAAMkT,EAAYpS,UAAUoC,OAAS,EAAIpC,UAAU,QAAK2B,EACxE,ICXH,IAAIsjB,GAAY/b,GAAuC8B,SAKtD0B,GAAC,CAAEb,OAAQ,QAAS2L,OAAO,GAAQ,CAClCxM,SAAU,SAAkBH,GAC1B,OAAOoa,GAAU/lB,KAAM2L,EAAI7K,UAAUoC,OAAS,EAAIpC,UAAU,QAAK2B,EAClE,IAIH+U,GAAiB,YCTjB,ICHIiB,GAAuBzO,GAAsCH,OAQ7Dmc,GAAY,WACZC,GAAkBC,OAAOxlB,UACzBylB,GAAaF,GAAgBD,IAC7BI,GAAWpkB,GDRE,WACf,IAAI6P,EAAOhK,GAAS7H,MAChB4G,EAAS,GAOb,OANIiL,EAAKjS,SAAQgH,GAAU,KACvBiL,EAAKwU,aAAYzf,GAAU,KAC3BiL,EAAKyU,YAAW1f,GAAU,KAC1BiL,EAAK0U,SAAQ3f,GAAU,KACvBiL,EAAK2U,UAAS5f,GAAU,KACxBiL,EAAK4U,SAAQ7f,GAAU,KACpBA,CACT,ICAI8f,GAAcxmB,GAAM,WAAc,MAAuD,QAAhDimB,GAAW1lB,KAAK,CAAEiK,OAAQ,IAAKic,MAAO,KAAmB,IAElGC,GAAiBnO,IAAwB0N,GAAW7f,MAAQ0f,GCfhE,SAASljB,GAAS+jB,GAChB,MAA6C,oBAAtCvmB,OAAOI,UAAUqB,SAAStB,KAAKomB,EACxC,CAEM,SAAUC,GAAcD,GAC5B,IAAK/jB,GAAS+jB,GACZ,OAAO,EAIT,IAAME,EAAOF,EAAEnU,YACf,QAAajQ,IAATskB,EACF,OAAO,EAIT,IAAMC,EAAOD,EAAKrmB,UAClB,OAAuB,IAAnBoC,GAASkkB,KAMT1mB,OAAOI,UAAU+E,eAAehF,KAAKumB,EAAM,kBAMjD,CAIgB,SAAAC,GAAWC,EAAyBC,GAElD,IAAK,IAAMpiB,KAAOmiB,EAAM,CACtB,IAAM1f,EAAI0f,EAAKniB,GACTqiB,EAAID,EAAQpiB,GAElB,GAAI+hB,GAActf,IAAMsf,GAAcM,IACpC,IAAKH,GAAWzf,EAAG4f,GACjB,OAAO,OAEJ,GAAIhZ,MAAMD,QAAQ3G,IAAM4G,MAAMD,QAAQiZ,GAAI,CAC/C,GAAI5f,EAAEtE,SAAWkkB,EAAElkB,OAAQ,OAAO,EAClC,IAAK,IAAIgJ,EAAI,EAAGA,EAAI1E,EAAEtE,OAAQgJ,IAC5B,GAAI1E,EAAE0E,KAAOkb,EAAElb,GACb,OAAO,CAGZ,MAAM,GAAI1E,IAAM4f,EACf,OAAO,CAEV,CAED,IAAK,IAAMriB,KAAOoiB,EAChB,QAAkB1kB,IAAdykB,EAAKniB,SAAuCtC,IAAjB0kB,EAAQpiB,GACrC,OAAO,EAIX,OAAO,CACT,CAEM,SAAUsiB,GACd9b,OACA,IAAgB7C,EAAA,GAAA4e,EAAA,EAAhBA,EAAgBxmB,UAAAoC,OAAhBokB,IAAA5e,EAAgB4e,EAAA,GAAAxmB,UAAAwmB,GAEhB,OAAOhnB,OAAOklB,YACZllB,OAAO6Z,QAAQ5O,GAAKiI,QAAO,SAAC+T,OAACxiB,EAADyiB,GAAAD,EAAA,GAAI,GAAM,OAAA7e,EAAKoD,SAAS/G,EAAa,IAErE,CCvCM,SAAU0iB,GAAmBC,GACjC,OA/BI,SAA+BC,eAC7BC,EAA0B,OAEhC,IAAsB,IAAAC,EAAAC,GAAAH,eAAOI,EAAAtN,KAAAsN,EAAAF,EAAA3O,OAAA,CAAxB,IAAM8O,EAAOD,EAAAvmB,MAChB,GAA8B,iBAAnBwmB,EAAQC,QAAiD,IAA1BD,EAAQC,OAAO/kB,OAAzD,CAIA,IAAMglB,EAAON,EAAWA,EAAW1kB,OAAS,GACvCglB,GAA+B,iBAAhBA,EAAKD,QAAiD,iBAAnBD,EAAQC,SAM7DC,EAAKC,aAAeH,EAAQG,aAC1BD,EAAKC,aAAgBH,EAAQG,YAC7BlB,WAAWmB,EAAAF,EAAKC,0BAAc,CAAE,EAAoB,QAAlBE,EAAAL,EAAQG,kBAAU,IAAAE,EAAAA,EAAI,CAAE,IAG5DH,EAAKD,QAAUD,EAAQC,OAVvBL,EAAWviB,KAAK2iB,EAJjB,CAmBF,mGAED,OAAOJ,CACT,CAGSU,CAAqBZ,EAAMa,UACpC,CAEM,SAAUC,GAAgBjB,GAAE,IAAAU,EAAMV,EAAAU,OACtC,MAAyB,iBAAXA,EAAsBA,EAAO/kB,OAAS,CACtD,CAEM,SAAUulB,GAAqBd,GACnC,OAAOA,EAAMe,QAAO,SAACC,EAAMX,GAAY,OAAAW,EAAOH,GAAgBR,EAAQ,GAAE,EAC1E,UAEgBY,GAAiBjB,EAAoBxW,EAAejO,GAClE,GAAIA,EAAS,EACX,MAAO,GAOT,IAJA,IAAI2lB,EAAgB,EACdC,EAAsB,GACtB1X,EAAMD,EAAQjO,EAEXgJ,EAAI,EAAGA,EAAIyb,EAAMzkB,UACpB2lB,GAAiBzX,GADWlF,IAAK,CAKrC,IAAM8b,EAAUL,EAAMzb,GAChB6c,EAAgBP,GAAgBR,GAEtC,GAAIa,EAAgBE,GAAiB5X,EACnC0X,GAAiBE,OAInB,GAA8B,iBAAnBf,EAAQC,OAAnB,CAMA,IAAMe,EAAcrpB,KAAKqL,IAAI,EAAGmG,EAAQ0X,GAClCI,EAAYtpB,KAAKsL,IAAI8d,EAAeA,GAAiBF,EAAgBE,EAAgB3X,IAE3F0X,EAAOzjB,KAAI6jB,GAAAA,GAAA,CAAA,EACNlB,GACH,CAAAC,OAAQD,EAAQC,OAAO/lB,MAAM8mB,EAAaC,MAE5CJ,GAAiBE,CAThB,MAHCF,GAAiBE,EACjBD,EAAOzjB,KAAK2iB,EAYf,CAED,OAAOc,CACT,CClFM,SAAUK,GACdjC,GAEA,OFqEI,SACJ3b,OACA,IAAgB7C,EAAA,GAAA4e,EAAA,EAAhBA,EAAgBxmB,UAAAoC,OAAhBokB,IAAA5e,EAAgB4e,EAAA,GAAAxmB,UAAAwmB,GAEhB,OAAOhnB,OAAOklB,YACZllB,OAAO6Z,QAAQ5O,GAAKiI,QAAO,SAAC+T,OAACxiB,EAADyiB,GAAAD,EAAA,GAAI,GAAM,OAAC7e,EAAKoD,SAAS/G,EAAa,IAEtE,CE5ESqkB,CAAKlC,EAAOmC,OAAKC,OAAOpC,GAAQ,OAAS,WAIlD,CCJM,SAAUqC,GAAoB7B,GAClC,IAAMC,EAAQF,GAAmBC,GAE3B8B,EAAW7B,EAAMzkB,OAAS,EAAIykB,EAAMpU,IAAIkW,IAA0B,CAAC,CAAEC,KAAM,KAEjF,OAAAR,GAAAA,GAAA,CAAA,EAAYxB,EAAMiC,iBAAiB,CAAAH,YACrC,CAEM,SAAUC,GAAuBxB,GACrC,MAA6B,iBAAlBA,EAAOA,OACJiB,GAAAA,GAAA,CAAA,EAAAjB,EAAOE,YAAU,CAAEuB,KAAMzB,EAAOA,SAGvCsB,GAAoBtB,EAAOA,OACpC,CAEM,SAAU2B,GAAwBC,GACtC,OAAOA,EAAMtW,KAAI,SAAA2T,GACf,OAAImC,EAAIA,KAACC,OAAOpC,GACP,CAAEe,OAAQf,EAAKwC,KAAMvB,WAAYgB,GAAcjC,IAIjD,CAAEe,OAAQ6B,GAAoB5C,GACvC,GACF,CAEM,SAAU4C,GAAoBvC,GAAE,IAAAiC,EAAQjC,EAAAiC,SAAKrB,EAAU4B,GAAAxC,EAAzB,cAC5ByC,EAAW,IAAIC,EAAEC,QAOvB,OALA5pB,OAAO6Z,QAAQgO,GAAY7U,SAAQ,SAACiU,GAAA,IAAAa,EAAAZ,QAACziB,EAAGqjB,EAAA,GAAE5mB,EAAK4mB,EAAA,GAC7C4B,EAASG,aAAaplB,EAAKvD,EAC7B,IAEAwoB,EAASI,WAAWR,GAAwBJ,GAAW,CAAEa,UAAU,IAC5DL,CACT,EJrBItD,IAAeE,KACjB5Y,GAASkY,OAAOxlB,UAAWslB,IAAW,WACpC,IAAIsE,EAAIziB,GAAS7H,MACbuqB,EAAI9U,GAAU6U,EAAE5f,QAChB8f,EAAKF,EAAE3D,MAEX,MAAO,IAAM4D,EAAI,IADT9U,QAAiBhT,IAAP+nB,GAAoBpnB,EAAc6iB,GAAiBqE,MAAQ,UAAWrE,IAAmBG,GAASkE,GAAKE,EAE7H,GAAK,CAAElgB,QAAQ,IKdf,IAAImgB,GAAuBpkB,GAAgB,sBACvCqkB,GAAmB,iBACnBC,GAAiC,iCACjCpoB,GAAY3C,EAAO2C,UAKnBqoB,GAA+B1mB,GAAc,KAAOhE,GAAM,WAC5D,IAAIglB,EAAQ,GAEZ,OADAA,EAAMuF,KAAwB,EACvBvF,EAAM9Y,SAAS,KAAO8Y,CAC/B,IAEI2F,GAAkB5F,GAA6B,UAE/C6F,GAAqB,SAAUpjB,GACjC,IAAK5E,EAAS4E,GAAI,OAAO,EACzB,IAAIqjB,EAAarjB,EAAE+iB,IACnB,YAAsBhoB,IAAfsoB,IAA6BA,EAAa5c,GAAQzG,EAC3D,EC7BM,SAAUsjB,GAAoB9D,GAClC,OAAKA,EAIEmC,EAAAA,KAAKC,OAAOpC,GAAQA,EAAKwC,KAAKxmB,OAAS,EAHrC,CAIX,UAQgB+nB,GAAWC,EAAkBC,EAAiB1Z,SAC5D,GAAoB,IAAhBA,EAAKvO,OACP,MAAM,IAAIkoB,MAAM,oCAGlB,GAAI/B,EAAIA,KAACC,OAAO6B,GACd,MAAM,IAAIC,MAAM,kCAGZ,IAAAhD,EAAAZ,GAA6B/V,GAA5B4Z,EAAUjD,EAAA,GAAKkD,EAASlD,EAAAlmB,MAAA,GAEzBqpB,EAjBQ,SAAyBvD,EAAkBqD,GACzD,OAAOrD,EAAQwB,SACZtnB,MAAM,EAAGmpB,GACT3C,QAAO,SAAC6C,EAASrE,GAAS,OAAAqE,EAAUP,GAAoB9D,EAAK,GAAE,EACpE,CAakBsE,CAAyBL,EAAWE,GAC9CI,EAAaN,EAAU3B,SAAS6B,GAEhC1D,EAAQF,GAAmByD,GAC3BQ,EAAeV,GAAoBS,GAEnCE,EAAc/C,GAAiBjB,EAAO4D,EAASG,GACrD,GAAIC,EAAYzoB,OAAS,EACvB,MAAM,IAAIkoB,MAAM,0DAGlB,IAAMQ,EAA0B,QAAhBrE,EAAAoE,EAAY,UAAI,IAAApE,OAAA,EAAAA,EAAAU,OAChC,GAAIqD,EAAUpoB,OAAS,EAAG,CACxB,KAAM0oB,aAAmB3B,EAAEC,SACzB,MAAM,IAAIkB,MAAM,2DAGlB,OAAOH,GAAWW,EAASH,EAAYH,EACxC,CAED,MAAO,CACLO,QAASX,EACTY,UAAW,CAAE3a,MAAOoa,EAASna,IAAKma,EAAUG,GAC5CE,QAASA,aAAmB3B,EAAEC,QAAU0B,OAAUnpB,EAClDspB,YAAaZ,EACba,YAAaP,EACbE,YAAWA,EAEf,UAEgBM,GACdC,EACAX,EACAY,QAAA,IAAAA,IAAAA,EAA+C,CAAA,GAM/C,IAJQ,IAAA5E,EAA8B4E,EAAIC,MAAlCA,aAAQ,EAAC7E,EAAEa,EAAmB+D,EAALlE,OAAdA,OAAS,IAAAG,KAExBS,EAAgB,EAChBwD,EAAyB,EACpBhB,EAAa,EAAGA,EAAaa,EAAO1C,SAAStmB,OAAQmoB,IAAc,CAC1E,IAAMiB,EAAQJ,EAAO1C,SAAS6B,GACxBkB,EAAalD,EAAIA,KAACC,OAAOgD,GAASA,EAAM5C,KAAKxmB,OAAS,EAExDqpB,EAAa,IACfF,EAAyBhB,GAG3B,IAAMpC,EAAYJ,EAAgB0D,EAClC,GAAIA,EAAa,IAAMH,GAAS,EAAInD,EAAYsC,EAAUtC,GAAasC,GACrE,MAAO,CAACF,EAAYE,EAAU1C,GAGhCA,GAAiB0D,CAClB,CAED,GAAIhB,EAAU1C,GAAiBZ,EAAS,EAAI,GAC1C,MAAM,IAAImD,MAAM,yBAGlB,GAAInD,EACF,MAAO,CAACiE,EAAO1C,SAAStmB,OAAQ,GAGlC,IAAMspB,EAAQN,EAAO1C,SAAS6C,GAE9B,MAAO,CAACA,EADWhD,EAAIA,KAACC,OAAOkD,GAASA,EAAM9C,KAAKxmB,OAAS,EAE9D,UAEgBupB,GAAaC,EAAuBvB,EAAiBzD,GAEnE,IADA,IAAMiF,EAAY,CAACjF,GACZiF,EAAU,KAAOD,GAAY,CAC1B,IAAQb,EAAYc,EAAU,UAEtC,IAAKd,EACH,MAAM,IAAIT,MAAM,4CAGlB,KAAMS,aAAmB5B,EAAEC,SACzB,MAAM,IAAIkB,MAAM,4BAGlBuB,EAAUC,QAAQf,EACnB,CAED,GAAIc,EAAUzpB,OAAS,EACrB,MAAO,GAGT,IAAI6oB,EAAcZ,EAClB,OAAOwB,EAAUjE,QAAa,SAACjX,EAAMoa,EAASgB,WACtCC,EAASH,EAAUE,EAAM,GAC/B,IAAKC,EACH,OAAOrb,EAGT,IAAI8Z,EAAU,EACRwB,EAAetF,GAAmBoE,OACxC,IAAsB,IAAAmB,EAAAlF,GAAAiF,eAAcE,EAAAxS,KAAAwS,EAAAD,EAAA9T,OAAA,CAA/B,IAAM8O,EAAOiF,EAAAzrB,MAChB,GAAIwmB,EAAQC,SAAW6E,EACrB,MAGFvB,GAAqC,iBAAnBvD,EAAQC,OAAsBD,EAAQC,OAAO/kB,OAAS,CACzE,mGAED,GAAImmB,EAAIA,KAACC,OAAOyC,GACd,MAAM,IAAIX,MAAM,kCAGZ,IAACC,EAAD7D,GAAeyE,GAAsBF,EAAaR,GAAQ,GAA/C,GAEjB,OADAQ,EAAcA,EAAYvC,SAAS6B,GAC5B5Z,EAAKrF,OAAOif,EACpB,GAAE,GACL,UCuEgB6B,GACdR,EACAS,EACAC,GAEQ,IAAAzgB,EAAoBygB,EAAKzgB,OAAjB0gB,EAAYD,EAAKC,QAC3B1F,EAAQyF,EAAMzF,MAEpB,KAAMhb,aAAkBsd,EAAEC,SACxB,MAAM,IAAIkB,MAAM,+BAGlB,IAAMkC,EAAmB,GACnBC,EAAYd,GAAaC,EAAYS,EAAQxgB,GAC7C6gB,EAAgBC,EAAIA,KAACjtB,IAAI2sB,EAAQI,GAEvC,GAAIlE,EAAIA,KAACC,OAAOkE,GACd,MAAM,IAAIpC,MAAM,wCAGlB,IAAMsC,EAAatf,MAAMsQ,KAAK2O,EAAQ3kB,KAAKyR,WAC3C,GAAIoT,EAAUrqB,OAAS,GAAKwqB,EAAWxqB,OAAS,EAAG,CACjD,IAAMyqB,EAAgBrtB,OAAOklB,YAC3BkI,EAAWna,KAAI,SAACgU,GAAA,IAAAa,EAAAZ,QAACziB,EAAGqjB,EAAA,GAAY,MAAA,CAC9BrjB,EACgB,WAFQqjB,EAAA,GAEnBwF,OAAsB,KAAOjhB,EAAOkhB,aAAa9oB,GACvD,KAGGuQ,EAAahV,OAAOklB,YAAYkI,EAAWna,KAAI,SAACgU,OAACxiB,EAADyiB,GAAAD,EAAA,GAAI,GAAM,MAAA,CAACxiB,EAAKyoB,EAAczoB,GAAK,KAEzFuoB,EAAIjoB,KAAK,CAAEqE,KAAM,WAAYikB,gBAAerY,aAAY7D,KAAM8b,GAC/D,CAMD,OAJI5F,EAAMzkB,OAAS,GACjBoqB,EAAIjoB,KAAJxE,MAAAysB,EAAYQ,GAAA,GAAAtG,GAjPhB,SAAoBN,EAAeqG,EAAiB5F,GAClD,IAAM2F,EAAmB,GAErB/B,EAAU5D,EAAMe,QAAO,SAACxlB,EAAQ6qB,GAClC,MAAI,WAAYA,EACP7qB,EAAS6qB,EAAOC,OAGrB,WAAYD,EACP7qB,EAAS6qB,EAAO/M,OAGlB9d,CACR,GAAE,GA8LH,OA3LAykB,EAAMsG,UAAU3a,SAAQ,SAAAya,SN4DYxiB,EM3DlC,GAAI,eAAgBwiB,GAAU,WAAYA,EAOxC,IANM,IAAA3F,EAAAZ,GAAqCyE,GACzC/E,EACAqE,EAAUwC,EAAOC,WAFZE,OAAiBC,OAIlB9F,EAAAb,GAAiCyE,GAAsB/E,EAAMqE,EAAS,CAAEa,OAAQ,IAAI,GAAnFgC,EAAa/F,EAAA,GAAEgG,EAAahG,EAAA,GAE1BgD,EAAa+C,EAAe/C,GAAc6C,EAAiB7C,IAAc,CAChF,IAAMmB,EAAQtF,EAAKsC,SAAS6B,GACtBC,EAAgBwC,GAAAA,GAAA,GAAAtG,GAAA+F,IAAW,CAAAlC,IAEjC,GAAKhC,EAAIA,KAACC,OAAOkD,GAAjB,CAOA,IAAMmB,EAAgBI,EAAO5F,WACvB7S,EAAa+R,GAAIxmB,WAAA,EAAAitB,GAAA,CAAC5G,GAAUM,GAAAlnB,OAAOoI,KAAKqlB,EAAO5F,eAErD,GAAIkD,IAAe6C,GAAmB7C,IAAe+C,EAAe,CAClE,IAAMjd,EAAQka,IAAe6C,EAAkBC,EAAkB,EAYjE,IAXM/c,EAAMia,IAAe+C,EAAgBC,EAAgB7B,EAAM9C,KAAKxmB,UAE1DspB,EAAM9C,KAAKxmB,QACrBoqB,EAAIjoB,KAAK,CACPqE,KAAM,aACN+H,KAAM6Z,EACNnQ,SAAU/J,EACVkE,WAAY6T,GAAcqD,KAIhB,IAAVrb,EAAa,CACfmc,EAAIjoB,KAAK,CACPqE,KAAM,aACN+H,KAAM6Z,EACNnQ,SAAUhK,EACVmE,YNoBwB/J,EMnBnB2d,GAAAA,GAAA,CAAA,EAAAC,GAAcqD,IACdmB,GNqBVrtB,OAAOklB,YAAYllB,OAAO6Z,QAAQ5O,GAAKiI,QAAO,SAAC+T,GAAc,OAAU,OAAxBC,GAAAD,EAAA,GAAQ,EAAoB,QMjBxE,QACD,CACF,CAED+F,EAAIjoB,KAAK,CACPqE,KAAM,WACNikB,cAAaA,EACblc,KAAM6Z,EACNhW,WAAUA,GArCX,CAuCF,CAOH,GAJI,WAAYyY,IACdxC,GAAWwC,EAAOC,QAGhB,WAAYD,EACR,KAAAO,EAAA9G,GAAqCyE,GACzC/E,EACAqE,EAAUwC,EAAO/M,WAEbuN,GAJCL,OAAiBC,OAIlB3G,GAAiCyE,GAAsB/E,EAAMqE,EAAS,CAAEa,OAAQ,IAAI,IAE1F,IAFOgC,EAAaG,EAAA,GAGdlD,EAA+B,KAHfgD,EAAaE,EAAA,IAGMH,EAAgB,EAAIA,EAC3D/C,GAAc6C,EACd7C,IAKA,GAHMmB,EAAQtF,EAAKsC,SAAS6B,GACtBC,EAAgBwC,GAAAA,GAAA,GAAAtG,GAAA+F,IAAW,CAAAlC,KAG/BhC,EAAIA,KAACC,OAAOkD,IACXnB,IAAe6C,GAAmB7C,IAAe+C,EAgBpDd,EAAIjoB,KAAK,CACPqE,KAAM,cACNwd,KAAMsF,EACN/a,KAAM6Z,IAERC,GAAWP,GAAoBwB,OAvB/B,CAIQrb,EAAQka,IAAe6C,EAAkBC,EAAkB,EAAjE,IACM/c,EAAMia,IAAe+C,EAAgBC,EAAgB7B,EAAM9C,KAAKxmB,OAEtEoqB,EAAIjoB,KAAK,CACPqE,KAAM,cACN8kB,OAAQrd,EACRuY,KAAM8C,EAAM9C,KAAKxnB,MAAMiP,EAAOC,GAC9BK,KAAM6Z,IAGRC,GAAWna,EAAMD,CAElB,CA3BF,MAwCH,GAAI,WAAY4c,EAAQ,CAChB,IAAAU,EAAAjH,GAA2ByE,GAAsB/E,EAAMqE,EAAS,CACpEtD,QAAQ,OADSyG,GAAZrD,aAMP,GAHMmB,EAAQtF,EAAKsC,SAAS6B,GACtBC,EAAgBwC,GAAAA,GAAA,GAAAtG,GAAA+F,IAAW,CAAAlC,IAE7BhC,EAAIA,KAACC,OAAOkD,GAAQ,CACtB,IAAMmC,EAASrB,EAAIA,EAAIpqB,OAAS,GAO1B0rB,EACM,MAAVD,GAAkC,gBAAhBA,EAAOjlB,KAAyBilB,EAAOzH,KAAOiC,GAAcqD,GAE5EqC,EAAiB,GAgBrB,GAbY,MAAVF,GACiB,gBAAhBA,EAAOjlB,MACU,gBAAhBilB,EAAOjlB,MACS,eAAhBilB,EAAOjlB,MACS,aAAhBilB,EAAOjlB,OAETmlB,EAAWF,EAAOld,MAQO,iBAAlBsc,EAAO9F,QACdhB,GAAgC,UAArB8G,EAAO5F,kBAAc,IAAAZ,EAAAA,EAAA,CAAA,EAAIqH,IACpCE,EAAAA,KAAKC,OAAOzD,EAAWuD,GAEvB,OAAOvB,EAAIjoB,KAAK,CACdqE,KAAM,cACN8kB,OAAQE,EACRhF,KAAMqE,EAAO9F,OACbxW,KAAM6Z,IAIV,IAAM0D,EAAWvF,GAAuBsE,GACxC,OAAmB,IAAfW,EACKpB,EAAIjoB,KAAK,CACdqE,KAAM,cACN+H,KAAM6Z,EACNpE,KAAM8H,KAINN,EAAalC,EAAM9C,KAAKxmB,QAC1BoqB,EAAIjoB,KAAK,CACPqE,KAAM,aACN+H,KAAM6Z,EACNnQ,SAAUuT,EACVpZ,WAAY6T,GAAcqD,KAIvBc,EAAIjoB,KAAK,CACdqE,KAAM,cACN+H,KAAMqd,EAAAA,KAAK5V,KAAKoS,GAChBpE,KAAM8H,IAET,CAED,OAAO1B,EAAIjoB,KAAK,CACdqE,KAAM,cACN+H,KAAM6Z,EACNpE,KAAMuC,GAAuBsE,IAEhC,CACH,IAEOT,CACT,CAqCgBlD,CAAWoD,EAAeD,EAAW5F,MAG5C2F,CACT,UC9NgB2B,GACdvC,EACAS,EACA+B,GAEAC,SAAOC,mBAAmBjC,GAAQ,WAChC+B,EAAO5b,SAAQ,SAAA8Z,aAzBjBV,EACAS,EACAC,GAEA,GAAIA,aAAiBnD,EAAEoF,WACrB,OAAOnC,GAAoBR,EAAYS,EAAQC,GAGjD,MAAM,IAAIhC,MAAM,0BAClB,EAiBMkE,CAAkB5C,EAAYS,EAAQC,GAAO9Z,SAAQ,SAAAic,GACnDpC,EAAOtsB,MAAM0uB,EACf,GACF,GACF,GACF,CCvCM,SAAUC,GAAqB7H,GACnC,OAAOA,EAAMpU,KAAI,SAAAyU,GACf,MAA8B,iBAAnBA,EAAQC,OACVD,EAIGkB,GAAAA,GAAA,CAAA,EAAAlB,GAAS,CAAAC,OAAQwH,GAAUzH,EAAQC,SACjD,GACF,CAEM,SAAUwH,GAAU/H,GACxB,IAAMgI,EAAQ,IAAIzF,EAAEC,QAEd/B,EAAaT,EAAMiC,gBASzB,OARArpB,OAAO6Z,QAAQgO,GAAY7U,SAAQ,SAACiU,GAAA,IAAAa,EAAAZ,QAACziB,EAAGqjB,EAAA,GAAE5mB,EAAK4mB,EAAA,GAC7CsH,EAAMvF,aAAaplB,EAAKvD,EAC1B,IAEAkuB,EAAMtF,WAAWoF,GAAqB/H,GAAmBC,IAAS,CAChE2C,UAAU,IAGLqF,CACT,CJaA3Z,GAAE,CAAEpJ,OAAQ,QAAS2L,OAAO,EAAMvK,QALpB6c,KAAiCC,IAKK,CAElDze,OAAQ,SAAgBujB,GACtB,IAGIzjB,EAAGmF,EAAGnO,EAAQ0sB,EAAKC,EAHnBnoB,EAAIlC,GAASxF,MACb8vB,EAAIvd,GAAmB7K,EAAG,GAC1B6J,EAAI,EAER,IAAKrF,GAAK,EAAGhJ,EAASpC,UAAUoC,OAAQgJ,EAAIhJ,EAAQgJ,IAElD,GAAI4e,GADJ+E,GAAW,IAAP3jB,EAAWxE,EAAI5G,UAAUoL,IACF,CAEzB,GAAIqF,GADJqe,EAAMtkB,GAAkBukB,IACVnF,GAAkB,MAAMnoB,GAAUooB,IAChD,IAAKtZ,EAAI,EAAGA,EAAIue,EAAKve,IAAKE,IAASF,KAAKwe,GAAG/e,GAAegf,EAAGve,EAAGse,EAAExe,GAC1E,KAAa,CACL,GAAIE,GAAKmZ,GAAkB,MAAMnoB,GAAUooB,IAC3C7Z,GAAegf,EAAGve,IAAKse,EACxB,CAGH,OADAC,EAAE5sB,OAASqO,EACJue,CACR,IKjDH,IAAIC,GAAUzvB,OAAO0vB,OAEjBzvB,GAAiBD,OAAOC,eACxB6L,GAASpK,EAAY,GAAGoK,QAI5B6jB,IAAkBF,IAAW7vB,GAAM,WAEjC,GAAIqH,GAQiB,IARFwoB,GAAQ,CAAE3I,EAAG,GAAK2I,GAAQxvB,GAAe,CAAE,EAAE,IAAK,CACnEc,YAAY,EACZb,IAAK,WACHD,GAAeP,KAAM,IAAK,CACxBwB,MAAO,EACPH,YAAY,GAEf,IACC,CAAE+lB,EAAG,KAAMA,EAAS,OAAO,EAE/B,IAAI0I,EAAI,CAAA,EACJI,EAAI,CAAA,EAEJpsB,EAASC,SACTosB,EAAW,uBAGf,OAFAL,EAAEhsB,GAAU,EACZqsB,EAAS/tB,MAAM,IAAIkR,SAAQ,SAAU8c,GAAOF,EAAEE,GAAOA,CAAM,IAC1B,GAA1BL,GAAQ,CAAA,EAAID,GAAGhsB,IAAgB+K,GAAWkhB,GAAQ,CAAA,EAAIG,IAAIvlB,KAAK,KAAOwlB,CAC/E,IAAK,SAAgBxjB,EAAQjC,GAM3B,IALA,IAAI2lB,EAAI7qB,GAASmH,GACbmY,EAAkBhkB,UAAUoC,OAC5BiI,EAAQ,EACRtH,EAAwB4I,GAA4BvL,EACpDF,EAAuB4G,EAA2B1G,EAC/C4jB,EAAkB3Z,GAMvB,IALA,IAIIpG,EAJAmW,EAAIvY,EAAc7B,UAAUqK,MAC5BzC,EAAO7E,EAAwBuI,GAAOyC,GAAWqM,GAAIrX,EAAsBqX,IAAMrM,GAAWqM,GAC5FhY,EAASwF,EAAKxF,OACdotB,EAAI,EAEDptB,EAASotB,GACdvrB,EAAM2D,EAAK4nB,KACN/oB,IAAe9G,EAAKO,EAAsBka,EAAGnW,KAAMsrB,EAAEtrB,GAAOmW,EAAEnW,IAErE,OAAOsrB,CACX,EAAIN,GClDJha,GAAE,CAAEpJ,OAAQ,SAAUmB,MAAM,EAAMC,OAAQzN,OAAO0vB,SAAWA,IAAU,CACpEA,OAAQA,KCHV,ICeM5uB,GDfFmvB,GAAQlqB,GAAgB,SEDxB9D,GAAY3C,EAAO2C,UAETiuB,GAAG,SAAU9wB,GACzB,GFEe,SAAUA,GACzB,IAAI+wB,EACJ,OAAO3tB,EAASpD,UAAmC+C,KAA1BguB,EAAW/wB,EAAG6wB,OAA0BE,EAA0B,UAAfnuB,EAAQ5C,GACtF,CELM+wB,CAAS/wB,GACX,MAAM6C,GAAU,iDAChB,OAAO7C,CACX,ECPI6wB,GAAQlqB,GAAgB,SFCxBpF,GAA2B+I,GAA2D9I,EAStFwvB,GAAgB1uB,EAAY,GAAG2uB,YAC/B1uB,GAAcD,EAAY,GAAGE,OAC7B+I,GAAMtL,KAAKsL,IAEX2lB,GEZa,SAAUnM,GACzB,IAAIxN,EAAS,IACb,IACE,MAAMwN,GAAaxN,EACpB,CAAC,MAAO4Z,GACP,IAEE,OADA5Z,EAAOsZ,KAAS,EACT,MAAM9L,GAAaxN,EAChC,CAAM,MAAO6Z,GAAuB,CACjC,CAAC,OAAO,CACX,CFE8BC,CAAqB,cAE/CC,KAAgCJ,KAC9BxvB,GAAaH,GAAyB+C,OAAOtD,UAAW,eACrDU,IAAeA,GAAWM,WAKnCqU,GAAE,CAAEpJ,OAAQ,SAAU2L,OAAO,EAAMvK,QAASijB,KAAqBJ,IAA2B,CAC1FD,WAAY,SAAoBM,GAC9B,IAAIpf,EAAO9P,GAASS,EAAuBxC,OAC3CkxB,GAAWD,GACX,IAAI9lB,EAAQE,GAASJ,GAAInK,UAAUoC,OAAS,EAAIpC,UAAU,QAAK2B,EAAWoP,EAAK3O,SAC3EiuB,EAASpvB,GAASkvB,GACtB,OAAOP,GACHA,GAAc7e,EAAMsf,EAAQhmB,GAC5BlJ,GAAY4P,EAAM1G,EAAOA,EAAQgmB,EAAOjuB,UAAYiuB,CACzD,IG9BH,IAAIC,GAAO,KACP3mB,GAAUzI,EAAY,GAAGyI,SCFvB,SAAU4mB,GACdC,GAEA,IAAKA,EAAWC,IACd,MAAM,IAAInG,MAAM,2CAEpB,CCFArV,GAAE,CAAEpJ,OAAQ,SAAU2L,OAAO,EAAMvK,OCHlB,SAAU0W,GACzB,OAAOvkB,GAAM,WACX,IAAIuI,EAAO,GAAGgc,GAAa,KAC3B,OAAOhc,IAASA,EAAK6E,eAAiB7E,EAAKrG,MAAM,KAAKc,OAAS,CACnE,GACA,CDF2CsuB,CAAuB,WAAa,CAC7EC,OAAQ,SAAgBnrB,GACtB,OFA+BoI,EEAP,IFAYgjB,EEAP,OFAkBlwB,EEAV8E,EFCnC4U,EAAInZ,GAASS,EEDGxC,OFEhB2xB,EAAK,IAAMjjB,EACG,KAAdgjB,IAAkBC,GAAM,IAAMD,EAAY,KAAOjnB,GAAQ1I,GAASP,GAAQ4vB,GAAM,UAAY,KACzFO,EAAK,IAAMzW,EAAI,KAAOxM,EAAM,IAJpB,IAAkBA,EAAKgjB,EAAWlwB,EAC7C0Z,EACAyW,CEDH,IEHI,IAAMC,GAAyB,qCAEtBC,GACdnF,EACAvB,EACA5P,GAEM,IAAAgM,EAAkC0D,GAAWyB,EAAYvB,EAAW5P,EAAM9J,MAAxEma,YAASC,YAASC,cAE1B,GAAIF,EACF,MAAM,IAAIR,MAAM,8DAGlB,IAAMjgB,EAAQ2gB,EAAU3a,MAAQoK,EAAMiT,OACtC,OAAOvE,EAAE6H,oCAAoCjG,EAAS1gB,EAAOA,IAAU2gB,EAAU1a,KAAO,EAAI,EAC9F,UA8BgB2gB,GACdrF,EACAvB,EACApQ,GAEA,IAAK2R,EAAW6E,IACd,MAAM,IAAInG,MAAM,qCAGlB,IAAM4G,EAAS/H,EAAEgI,2CAA2ClX,EAAK2R,EAAW6E,KAE5E,OAAOS,YAtCPtF,EACAvB,EACA5D,GAAE,IAAA7d,SAAMyB,EAAKoc,EAAApc,MAAEihB,EAAK7E,EAAA6E,MAEpB,KAAM1iB,aAAgBugB,EAAEC,SACtB,MAAM,IAAIkB,MAAM,6CAGlB,IAAM8G,EAAazF,GAAaC,EAAYvB,EAAWzhB,GACjDwiB,EAASuB,EAAIA,KAACjtB,IAAI2qB,EAAW+G,GAEnC,GAAI7I,EAAIA,KAACC,OAAO4C,GACd,MAAM,IAAId,MAAM,uEAGZ,IAAAhD,EAAAZ,GAA2ByE,GAAsBC,EAAQ/gB,EAAO,CACpEihB,MAAKA,OADAf,OAAYqD,OAIb/hB,EAASuf,EAAO1C,SAAS6B,GAC/B,OAAKhC,EAAIA,KAACC,OAAO3c,GAIV,CAAE8E,KAAUqc,GAAAA,GAAA,GAAAtG,GAAA0K,IAAY,CAAA7G,IAAamD,OAAQE,GAH3C,IAIX,CAamByD,CAA6BzF,EAAYvB,EAAW6G,EACvE,UA8CgBI,GACd1F,EACA3nB,EACAoW,GAEAuR,EAAWvC,aAAayH,GAAyB7sB,EAAKklB,EAAEoI,uBAAuBlX,GACjF,CAEA,SAASmX,GACPC,EACA3G,EACAE,GAEA,OAAOxrB,OAAOklB,YACZllB,OAAO6Z,QAAQoY,GAAmB/e,QAAO,SAAC+T,OAAGpM,EAAHqM,GAAAD,EAAA,GAAW,GACnD,OAAIpM,EAASzR,OAASkiB,KAIjBE,IAIE3Q,EAASiR,OAAS,EACrBjR,EAAShQ,OAAS2gB,EAAU3a,OAASgK,EAAShQ,MAAQ2gB,EAAU1a,IAChE+J,EAAShQ,MAAQ2gB,EAAU3a,OAASgK,EAAShQ,OAAS2gB,EAAU1a,KACrE,IAEL,CAEA,SAASohB,GACPD,EACA7K,EACAwK,cAAA,IAAAA,IAAAA,EAAe,IAEf,IAAMO,IAASlL,EAAA,CAAA,GACZ2K,GAAaI,GAAgCC,EAAmB7K,MAiBnE,OAdoBD,GAAmBC,GAC3BpU,SAAQ,SAACiU,EAAYrb,GAAV,IAAA+b,EAAMV,EAAAU,OACvBA,aAAkBgC,EAAEC,SACtB5pB,OAAO0vB,OACLyC,EACAD,GACED,EACAtK,EACAiK,EAAgBA,EAAU,IAAIhmB,EAAMA,EAAEnK,YAI9C,IAEO0wB,CACT,CAEM,SAAUC,GACdhG,EACAhF,EACAC,EACAgL,QAAA,IAAAA,IAAAA,EAAe,GAEf,IAAMJ,EAtFR,SAAoC7F,GAGlC,OAFA2E,GAAyB3E,GAElBpsB,OAAOklB,YACZllB,OAAO6Z,QAAQuS,EAAW/C,iBACvBnW,QAAO,SAAC+T,GAAU,OAAVC,GAAAD,EAAA,GAAI,GAAUoJ,WAAWiB,GAAf,IAClBre,KACC,SAACgU,GAAA,IAAAa,EAAAZ,QAACziB,EAAGqjB,EAAA,GAAEjN,EAAQiN,EAAA,GACb,MAAA,CACErjB,EAAI7C,MAAM0vB,GAAuB1uB,QACjC+mB,EAAEgI,2CACAhI,EAAE2I,uBAAuBzX,GACzBuR,EAAW6E,KAJf,IAQH/d,QAAO,SAAC+T,GAAiB,OAAjBC,GAAAD,EAAA,GAAW,EAAc,IAExC,CAoE4BsL,CAA2BnG,GAE/C+F,EAAY,CAChB,GAAIH,GAAgCC,EAAmB7K,EAAO,CAC5DvW,MAAOwhB,EACPvhB,IAAKuhB,EAAclK,GAAqBd,MAU5C,OANAA,EAAMrU,SAAQ,SAACiU,EAAYrb,GAAV,IAAA+b,EAAMV,EAAAU,OACjBA,aAAkBgC,EAAEC,SACtB5pB,OAAO0vB,OAAOyC,EAAWD,GAA4BD,EAAmBtK,EAAQ/b,EAAEnK,YAEtF,IAEO0wB,CACT,CAEgB,SAAAK,GACdpG,EACAhF,EACA6K,EACA5K,EACAoL,EACAC,EACAvhB,QAFA,IAAAshB,IAAAA,EAAkB,QAClB,IAAAC,IAAAA,EAAuB,QACvB,IAAAvhB,IAAAA,EAAS,IAET,IAAMwhB,EAAYV,EAAkB9gB,GAEhCwhB,GACF3yB,OAAO6Z,QAAQ8Y,GAAW3f,SAAQ,SAACiU,GAAA,IAAAa,EAAAZ,QAACziB,EAAGqjB,EAAA,GAAEjN,EAAQiN,EAAA,GAC/CgK,GACE1F,EACA3nB,EACAklB,EAAE6H,oCACApK,EACAvM,EAAShQ,MAAQ6nB,EAAsBD,EACvC5X,EAASiR,OAGf,IAGFzE,EAAMrU,SAAQ,SAACiU,EAAYrb,GAAV,IAAA+b,EAAMV,EAAAU,OACjBA,aAAkBgC,EAAEC,SACtB4I,GACEpG,EACAzE,EACAsK,EACA9K,GAAmBQ,GACnB,EACA,EACAxW,EAAUA,MAAQvF,EAAMA,EAAEnK,WAGhC,GACF,UAEgBmxB,GACdxG,EACAvB,EACAgI,GAEA,MAAO,CACL1B,OAAQI,GAA6BnF,EAAYvB,EAAWgI,EAAM1B,QAClE2B,MAAOvB,GAA6BnF,EAAYvB,EAAWgI,EAAMC,OAErE,UAEgBC,GACd3G,EACAvB,EACAgI,GAEA,IAAM1B,EAASM,GAA6BrF,EAAYvB,EAAWgI,EAAM1B,QAEzE,IAAKA,EACH,OAAO,KAGT,IAAM2B,EAAQrB,GAA6BrF,EAAYvB,EAAWgI,EAAMC,OAExE,OAAKA,EAIE,CAAE3B,OAAMA,EAAE2B,MAAKA,GAHb,IAIX,CC1PO,IAAME,GAAuC,CAClDC,qBCJyB7G,EAAuBvB,EAAiBoE,GAC3D,IAAAhI,EAAyB0D,GAAWyB,EAAYvB,EAAWoE,EAAG9d,MAA5Doa,YAASC,cAEjB,GAAIzC,OAAKC,OAAOiG,EAAGrI,MACjB,OAAO2E,EAAQ5D,OAAO6D,EAAU3a,MAAOoe,EAAGrI,KAAKwC,KAAMP,GAAcoG,EAAGrI,OAGxE2E,EAAQ2H,YAAY1H,EAAU3a,MAAO2Y,GAAoByF,EAAGrI,MAC9D,EDHEuM,qBEPyB/G,EAAuBvB,EAAiBoE,GAC3D,IAAAhI,EAAiC0D,GAAWyB,EAAYvB,EAAWoE,EAAG9d,MAA3Dya,YAAQJ,cACzBI,EAAOlL,OAAO8K,EAAU3a,MAAO2a,EAAU1a,IAAM0a,EAAU3a,MAC3D,EFKEuiB,kBGRsBhH,EAAuBvB,EAAiBoE,GACxD,IAAAhI,EAAkC0D,GAAWyB,EAAYvB,EAAWoE,EAAG9d,MAArEma,YAASE,cAAWD,YAE5B,GAAID,EASF,OARAtrB,OAAO6Z,QAAQoV,EAAG5B,eAAera,SAAQ,SAACiU,GAAA,IAAAa,EAAAZ,QAACziB,EAAGqjB,EAAA,GAAE5mB,EAAK4mB,EAAA,GACnD,GAAc,OAAV5mB,EACF,OAAOoqB,EAAQ+H,gBAAgB5uB,GAGjC6mB,EAAQzB,aAAaplB,EAAKvD,EAC5B,IAEOlB,OAAO6Z,QAAQoV,EAAGja,YAAYhC,SAAQ,SAACiU,OAACxiB,EAADyiB,GAAAD,EAAA,GAAI,GAC3CjnB,OAAOI,UAAU+E,eAAehF,KAAK8uB,EAAG5B,cAAe5oB,IAC1D6mB,EAAQ+H,gBAAgB5uB,EAE5B,IAGF,IAAM6uB,EAAQtzB,OAAOklB,YAAYllB,OAAOoI,KAAK6mB,EAAGja,YAAY/B,KAAI,SAAAxO,GAAO,MAAA,CAACA,EAAK,KAAK,KAC5E4oB,WAAqBiG,GAAUrE,EAAG5B,eAExC9B,EAAQgI,OAAO/H,EAAU3a,MAAO2a,EAAU1a,IAAM0a,EAAU3a,MAAOwc,EACnE,EHdEmG,oBIDwBpH,EAAuBvB,EAAiBoE,GAChE,IAAM5iB,EAASse,GAAWyB,EAAYvB,EAAWoE,EAAG9d,MAC9CyW,EAAO+C,GAAWte,EAAOkf,QAASlf,EAAOof,YAAa+C,EAAAA,KAAKiF,SAASxE,EAAG9d,KAAKvP,OAAO,KAEzF,IAAKyK,EAAOif,UAAa1D,EAAK0D,QAC5B,MAAM,IAAIR,MAAM,sCAGlB,IAAKlD,EAAK0D,UAAYjf,EAAOif,QAAS,CAC5B,IAASoI,EAAmCrnB,EAAMkf,QAAjCC,EAA2Bnf,EAAMmf,UAAtBE,EAAgBrf,cACpD,IAAKqf,EACH,MAAM,IAAIZ,MAAM,4CAGlB,IAAM6I,EAAcxG,OAAKjtB,IAAI2qB,EAAW2D,EAAIA,KAACiF,SAASxE,EAAG9d,OACzD,IAAK4X,EAAIA,KAACC,OAAO2K,GACf,MAAM,IAAI7I,MAAM,oDAGlB,IAAM8I,EAAc/K,GAAc6C,GAC5BmI,EAAmBhL,GAAc8K,GACjCG,EAAa9zB,OAAOoI,KAAKwrB,GAAaxL,QAAO,SAAC2L,EAAKtvB,SAEvD,OAD2BA,KAAOovB,EACNE,EAAWnL,GAAAA,GAAA,CAAA,EAAAmL,KAAM9M,EAAA,CAAA,GAAAxiB,GAAM,QACpD,GAAE,CAAE,GAEL,OAAOivB,EAAOH,OAAO/H,EAAU3a,MAAO2a,EAAU1a,IAAM0a,EAAU3a,MAAK+X,GAAAA,GAAA,CAAA,EAChEkL,GACAD,GAEN,CAED,IAAMG,EAAoBpM,EAAK0D,QAAQ1oB,OACjCyoB,EAAclE,GAAmB9a,EAAOif,SACxC2I,EAAc/E,GAAqB7D,GAEnC6I,EAAkB9B,GACtBhG,EACA/f,EAAOif,QACPD,EACA2I,GAGIlK,EAAqB0D,GAAA,CAAA,CAAEE,OAAQsG,IAAmB9M,GAAK+M,IAE7DrM,EAAK0D,QAAQxB,WAAWA,EAAY,CAClCC,UAAU,IAGZ1d,EAAOkf,QAAQ7K,OAAOrU,EAAOmf,UAAU3a,MAAOxE,EAAOmf,UAAU1a,IAAMzE,EAAOmf,UAAU3a,OAEtF2hB,GACEpG,EACAxE,EAAK0D,QACL4I,EACAD,EACAD,EAEJ,EJxDEG,mBKHuB/H,EAAuBvB,EAAiBoE,GAC/D,IAAMmF,EAAgB5F,EAAIA,KAAC5C,OAAOqD,EAAGoF,SAC/BC,EAAgBrF,EAAGoF,QAAQpF,EAAGoF,QAAQzxB,OAAS,GAC/CgpB,EAASuB,EAAIA,KAACjtB,IAAI2qB,EAAWuJ,GACnC,GAAIrL,EAAIA,KAACC,OAAO4C,GACd,MAAM,IAAId,MAAM,4CAElB,IAAMyJ,EAAwB/G,GAAAA,GAAA,GAAAtG,GAAAkN,IAAe,CAAA/0B,KAAKsL,IAAI2pB,EAAe1I,EAAO1C,SAAStmB,UAE/E4xB,EAAS7J,GAAWyB,EAAYvB,EAAWoE,EAAG9d,MAC9C9E,EAASse,GAAWyB,EAAYvB,EAAW0J,GAC3CE,EAAcvF,GAAqBsF,EAAOnJ,aAE1C6I,EAAkB9B,GACtBhG,EACAoI,EAAOjJ,QACPiJ,EAAOnJ,aAGTmJ,EAAOjJ,QAAQ7K,OAAO8T,EAAOhJ,UAAU3a,MAAO2jB,EAAOhJ,UAAU1a,IAAM0jB,EAAOhJ,UAAU3a,OAEtF,IAAMua,EAAejD,GAAqBhB,GAAmB9a,EAAOkf,UAC9DyI,EAAoB30B,KAAKsL,IAAI0B,EAAOmf,UAAU3a,MAAOua,GACrDtB,EAAqB0D,GAAA,CAAA,CAAEE,OAAQsG,IAAmB9M,GAAKuN,IAE7DpoB,EAAOkf,QAAQzB,WAAWA,EAAY,CAAEC,UAAU,IAElDyI,GACEpG,EACA/f,EAAOkf,QACP2I,EACAO,EACAT,EACAQ,EAAOhJ,UAAU3a,MAErB,EL/BE6jB,oBMLwBtI,EAAuBvB,EAAiBoE,GAChE,IAAM5iB,EAASse,GAAWyB,EAAYvB,EAAWoE,EAAG9d,MAEpD,IAAK9E,EAAOqf,YACV,MAAM,IAAIZ,MAAM,6CAGlB,IAAKze,EAAOif,QAAS,CACnB,IAAKvC,EAAAA,KAAKC,OAAO3c,EAAOqf,aACtB,MAAM,IAAIZ,MAAM,sDAGlB,IAAM6J,EAA8B,CAAA,EASpC,OARAtoB,EAAOgf,YAAYrY,SAAQ,SAAA0U,GACrBA,EAAQG,YACV7nB,OAAOoI,KAAKsf,EAAQG,YAAY7U,SAAQ,SAAAvO,GACtCkwB,EAAMlwB,GAAO,IACf,GAEJ,IAEO4H,EAAOkf,QAAQgI,OACpBlnB,EAAOmf,UAAU3a,MACjBxE,EAAOmf,UAAU1a,IAAMzE,EAAOmf,UAAU3a,MACnC+X,GAAAA,GAAA,CAAA,EAAA+L,GAAU1F,EAAGja,YAErB,CAED,GAAI+T,OAAKC,OAAO3c,EAAOqf,aACrB,MAAM,IAAIZ,MAAM,sDAGlB,IAAM8J,EAAcjK,GAAWte,EAAOif,QAASjf,EAAOqf,YAAa,CAACuD,EAAGpU,WAEjEga,EAAexoB,EAAOqf,YAAYxC,SACrCtnB,MAAM,EAAGqtB,EAAGpU,UACZuN,QAAO,SAACxlB,EAAQspB,GAAU,OAAAtpB,EAAS8nB,GAAoBwB,EAAM,GAAE,GAE5DtpB,EAASyJ,EAAOqf,YAAYxC,SAASd,QACzC,SAAC0M,EAAS5I,GAAU,OAAA4I,EAAUpK,GAAoBwB,EAAM,GACxD,GAGI6I,EAAazM,GACjBnB,GAAmB9a,EAAOif,SAC1BuJ,EACAjyB,EAASiyB,GAELZ,EAAc/E,GAAqB6F,GAEnCb,EAAkB9B,GACtBhG,EACA/f,EAAOif,QACPyJ,EACAF,GAGInG,EAAW,IAAI/E,EAAEC,QACvB8E,EAAS5E,WAAWmK,EAAa,CAC/BlK,UAAU,IAGZ/pB,OAAO6Z,QAAQoV,EAAGja,YAAYhC,SAAQ,SAACiU,GAAA,IAAAa,EAAAZ,QAACziB,EAAGqjB,EAAA,GAAE5mB,EAAK4mB,EAAA,GAChD4G,EAAS7E,aAAaplB,EAAKvD,EAC7B,IAEAmL,EAAOif,QAAQ5K,OACbkU,EAAYpJ,UAAU3a,MACtBxE,EAAOif,QAAQ1oB,OAASgyB,EAAYpJ,UAAU3a,OAGhDxE,EAAOkf,QAAQ2H,YAAY7mB,EAAOmf,UAAU1a,IAAK4d,GAEjD8D,GACEpG,EACAsC,EACAwF,EACAD,EACA,EACAY,EAEJ,GCtFO,ICIDG,GACDpM,GAAAA,GAAAA,GAAA,CAAA,EDL+C,CAClDqM,qBEDyB7I,EAAuBvB,EAAiBoE,GAC3D,IAAAhI,EAAiC0D,GAAWyB,EAAYvB,EAAWoE,EAAG9d,MAA3D9E,YAAQmf,cAEnBL,EAAagC,EAAAA,KAAKjtB,IAAI2qB,EAAWoE,EAAG9d,MAC1C,IAAK4X,EAAIA,KAACC,OAAOmC,GACf,MAAM,IAAIL,MAAM,yCAGlBze,EAAOsb,OAAO6D,EAAU3a,MAAQoe,EAAGf,OAAQe,EAAG7F,KAAMP,GAAcsC,GACpE,EFPE+J,qBGHyB9I,EAAuBvB,EAAiBoE,GAC3D,IAAAhI,EAAiC0D,GAAWyB,EAAYvB,EAAWoE,EAAG9d,MAA3D9E,YAAQmf,cACzBnf,EAAOqU,OAAO8K,EAAU3a,MAAQoe,EAAGf,OAAQe,EAAG7F,KAAKxmB,OACrD,IFIKowB,KAEHmC,cANW,eGcb,IAAMC,GAAuB3xB,OAAO,uBAC9B4xB,GAAkC5xB,OAAO,8BAEzC6xB,GAAmC,IAAIrtB,QACvCstB,GAAgD,IAAIttB,QACpDutB,GAA6B,IAAIC,QAmB1BC,GAAY,CACvBC,YAAA,SAAYz0B,GACV,OACE2tB,EAAAA,OAAO+G,SAAS10B,IACfA,EAAoBkrB,sBAAsBzC,EAAEC,SAC7C,gBAAiB1oB,GACjB,0BAA2BA,GACuB,mBAA1CA,EAAoB20B,mBACqB,mBAAzC30B,EAAoB40B,kBACsB,mBAA1C50B,EAAoB60B,mBACkB,mBAAtC70B,EAAoB80B,eACY,mBAAhC90B,EAAoB+0B,SACe,mBAAnC/0B,EAAoBg1B,UAE/B,EAEDC,aAAA,SAAatJ,SACX,OAAoC,QAA7B5F,EAAAsO,GAAcr1B,IAAI2sB,UAAW,IAAA5F,EAAAA,EAAA,EACrC,EAED4O,kBAAA,SAAkBhJ,EAAmB+B,EAA+B4F,GAClE3H,EAAOgJ,kBAAkBjH,EAAQ4F,EAClC,EAEDsB,iBAAA,SAAiBjJ,EAAmBoC,GAClCpC,EAAOiJ,iBAAiB7G,EACzB,EAED8G,kBAAA,SAAkBlJ,GAChBA,EAAOkJ,mBACR,EAEDK,UAAA,SAAUvJ,GACR,OAAO2I,GAAUxtB,IAAI6kB,EACtB,EAEDoJ,QAAA,SAAQpJ,GACNA,EAAOoJ,SACR,EAEDC,WAAA,SAAWrJ,GACTA,EAAOqJ,YACR,EAEDG,QAAA,SAAQxJ,GACN,OAAOA,EAAOmJ,cAAcN,GAAUlB,OAAO3H,GAC9C,EAED2H,OAAA,SAAO3H,GACL,IAAM2H,EAASc,GAAOp1B,IAAI2sB,GAC1B,YAAkB1qB,IAAXqyB,EAAuBA,EAAS3H,EAAOyJ,WAC/C,EAEDC,WAAA,SAAW1J,EAAmB2H,EAAiBhzB,GAC7C,IAAMomB,EAAO8N,GAAUlB,OAAO3H,GAC9ByI,GAAOvtB,IAAI8kB,EAAQ2H,GACnBhzB,IACA8zB,GAAOvtB,IAAI8kB,EAAQjF,EACpB,EAED4O,cAAA,SAAc3J,EAAmBpoB,EAAawW,GACpC,IAAAmR,EAA6DS,EAAMT,WAAhCqK,EAA0B5J,EAAM6J,sBAC3E3F,GAAyB3E,GAEzB,IAAMvR,EAAW0W,GAA6BnF,EAAYS,EAAQ5R,GAElEmR,EAAW6E,IAAI0F,UAAS,WACtB7E,GAAkB1F,EAAY3nB,EAAKoW,EACpC,GAAE4b,EACJ,EAEDG,qBAAA,SAAqB/J,EAAmBpoB,GAC9B,IAAA2nB,EAA6DS,EAAMT,WAAhCqK,EAA0B5J,EAAM6J,sBAC3E3F,GAAyB3E,GAEzBA,EAAW6E,IAAI0F,UAAS,YZdZ,SAAqBvK,EAAuB3nB,GAC1D2nB,EAAWiH,gBAAgB/B,GAAyB7sB,EACtD,CYaMmyB,CAAqBxK,EAAY3nB,EAClC,GAAEgyB,EACJ,EAED5b,SAAA,SAASgS,EAAmBpoB,GAC1B,IAAMoW,EZ5DM,SAAkBuR,EAAuB3nB,GACvD,IAAMoyB,EAAczK,EAAWmB,aAAa+D,GAAyB7sB,GACrE,OAAKoyB,EAIElN,EAAE2I,uBAAuBuE,GAHvB,IAIX,CYqDqBC,CAAkBjK,EAAOT,WAAY3nB,GACtD,GAAKoW,EAIL,OAAO4W,GAA6B5E,EAAOT,WAAYS,EAAQhS,EAChE,EAEDkc,wBAAA,SAAwBlK,GACtB,OZ5D+BT,EY4DLS,EAAOT,WZ3D5BpsB,OAAOklB,YACZllB,OAAO6Z,QAAQuS,EAAW/C,iBACvBnW,QAAO,SAAC+T,GAAU,OAAVC,GAAAD,EAAA,GAAI,GAAUoJ,WAAWiB,GAAf,IAClBre,KAAI,SAACgU,GAAA,IAAAa,EAAAZ,QAACziB,EAAGqjB,EAAA,GAAEjN,EAAQiN,EAAA,GAAM,MAAA,CACxBrjB,EAAI7C,MAAM0vB,GAAuB1uB,QACjC+mB,EAAEqN,+BAA+Bnc,GAClC,KAPD,IAA6BuR,CY6DjC,GClIF,IAAIpa,GAAUjM,GAAgB,WCL1B9F,GAAiByJ,GAA+C9I,EAShEyb,GAAU4a,GAA0C5a,QAGpD1I,GAAmB/J,GAAoB7B,IACvCoY,GAAyBvW,GAAoBV,UAEjDguB,GAAiB,CACf9X,eAAgB,SAAUV,EAASD,EAAkBpM,EAAQwM,GAC3D,IAAIG,EAAcN,GAAQ,SAAUnN,EAAM8L,GACxCU,GAAWxM,EAAMyM,GACjBrK,GAAiBpC,EAAM,CACrBnI,KAAMqV,EACN5T,MAAO0F,GAAO,MACdmK,WAAOvY,EACPg1B,UAAMh1B,EACN2Y,KAAM,IAEH7T,IAAasK,EAAKuJ,KAAO,GACd3Y,MAAZkb,GAAuBD,GAAQC,EAAU9L,EAAKsN,GAAQ,CAAEtN,KAAMA,EAAMkM,WAAYpL,GAC1F,IAEQ2L,EAAYgB,EAAY5e,UAExBuJ,EAAmBwW,GAAuB1B,GAE1CoC,EAAS,SAAUtP,EAAM9M,EAAKvD,GAChC,IAEIuyB,EAAU5oB,EAFVpC,EAAQkB,EAAiB4H,GACzBkP,EAAQ2W,EAAS7lB,EAAM9M,GAqBzB,OAlBEgc,EACFA,EAAMvf,MAAQA,GAGduH,EAAM0uB,KAAO1W,EAAQ,CACnB5V,MAAOA,EAAQwR,GAAQ5X,GAAK,GAC5BA,IAAKA,EACLvD,MAAOA,EACPuyB,SAAUA,EAAWhrB,EAAM0uB,KAC3Bve,UAAMzW,EACNk1B,SAAS,GAEN5uB,EAAMiS,QAAOjS,EAAMiS,MAAQ+F,GAC5BgT,IAAUA,EAAS7a,KAAO6H,GAC1BxZ,EAAawB,EAAMqS,OAClBvJ,EAAKuJ,OAEI,MAAVjQ,IAAepC,EAAMoC,MAAMA,GAAS4V,IACjClP,CACf,EAEQ6lB,EAAW,SAAU7lB,EAAM9M,GAC7B,IAGIgc,EAHAhY,EAAQkB,EAAiB4H,GAEzB1G,EAAQwR,GAAQ5X,GAEpB,GAAc,MAAVoG,EAAe,OAAOpC,EAAMoC,MAAMA,GAEtC,IAAK4V,EAAQhY,EAAMiS,MAAO+F,EAAOA,EAAQA,EAAM7H,KAC7C,GAAI6H,EAAMhc,KAAOA,EAAK,OAAOgc,CAErC,EAsFI,OApFAvF,GAAY8C,EAAW,CAIrBiC,MAAO,WAKL,IAJA,IACIxX,EAAQkB,EADDjK,MAEPiN,EAAOlE,EAAMoC,MACb4V,EAAQhY,EAAMiS,MACX+F,GACLA,EAAM4W,SAAU,EACZ5W,EAAMgT,WAAUhT,EAAMgT,SAAWhT,EAAMgT,SAAS7a,UAAOzW,UACpDwK,EAAK8T,EAAM5V,OAClB4V,EAAQA,EAAM7H,KAEhBnQ,EAAMiS,MAAQjS,EAAM0uB,UAAOh1B,EACvB8E,EAAawB,EAAMqS,KAAO,EAXnBpb,KAYDob,KAAO,CAClB,EAID4F,OAAU,SAAUjc,GAClB,IAAI8M,EAAO7R,KACP+I,EAAQkB,EAAiB4H,GACzBkP,EAAQ2W,EAAS7lB,EAAM9M,GAC3B,GAAIgc,EAAO,CACT,IAAI7H,EAAO6H,EAAM7H,KACbgP,EAAOnH,EAAMgT,gBACVhrB,EAAMoC,MAAM4V,EAAM5V,OACzB4V,EAAM4W,SAAU,EACZzP,IAAMA,EAAKhP,KAAOA,GAClBA,IAAMA,EAAK6a,SAAW7L,GACtBnf,EAAMiS,OAAS+F,IAAOhY,EAAMiS,MAAQ9B,GACpCnQ,EAAM0uB,MAAQ1W,IAAOhY,EAAM0uB,KAAOvP,GAClC3gB,EAAawB,EAAMqS,OAClBvJ,EAAKuJ,MACpB,CAAU,QAAS2F,CACZ,EAIDzN,QAAS,SAAiBJ,GAIxB,IAHA,IAEI6N,EAFAhY,EAAQkB,EAAiBjK,MACzBoT,EAAgBxS,GAAKsS,EAAYpS,UAAUoC,OAAS,EAAIpC,UAAU,QAAK2B,GAEpEse,EAAQA,EAAQA,EAAM7H,KAAOnQ,EAAMiS,OAGxC,IAFA5H,EAAc2N,EAAMvf,MAAOuf,EAAMhc,IAAK/E,MAE/B+gB,GAASA,EAAM4W,SAAS5W,EAAQA,EAAMgT,QAEhD,EAIDzrB,IAAK,SAAavD,GAChB,QAAS2yB,EAAS13B,KAAM+E,EACzB,IAGHyW,GAAY8C,EAAW3L,EAAS,CAG9BnS,IAAK,SAAauE,GAChB,IAAIgc,EAAQ2W,EAAS13B,KAAM+E,GAC3B,OAAOgc,GAASA,EAAMvf,KACvB,EAGD6G,IAAK,SAAatD,EAAKvD,GACrB,OAAO2f,EAAOnhB,KAAc,IAAR+E,EAAY,EAAIA,EAAKvD,EAC1C,GACC,CAGF4f,IAAK,SAAa5f,GAChB,OAAO2f,EAAOnhB,KAAMwB,EAAkB,IAAVA,EAAc,EAAIA,EAAOA,EACtD,IAEC+F,GAAahH,GAAe+d,EAAW,OAAQ,CACjD9d,IAAK,WACH,OAAOyJ,EAAiBjK,MAAMob,IAC/B,IAEIkE,CACR,EACDkB,UAAW,SAAUlB,EAAaP,EAAkBpM,GAClD,IAAIilB,EAAgB7Y,EAAmB,YACnC8Y,EAA6BpX,GAAuB1B,GACpD+Y,EAA2BrX,GAAuBmX,GAUtD7e,GAAeuG,EAAaP,GAAkB,SAAUxE,EAAUC,GAChEvG,GAAiBjU,KAAM,CACrB0J,KAAMkuB,EACNjrB,OAAQ4N,EACRxR,MAAO8uB,EAA2Btd,GAClCC,KAAMA,EACNid,UAAMh1B,GAEd,IAAO,WAKD,IAJA,IAAIsG,EAAQ+uB,EAAyB93B,MACjCwa,EAAOzR,EAAMyR,KACbuG,EAAQhY,EAAM0uB,KAEX1W,GAASA,EAAM4W,SAAS5W,EAAQA,EAAMgT,SAE7C,OAAKhrB,EAAM4D,SAAY5D,EAAM0uB,KAAO1W,EAAQA,EAAQA,EAAM7H,KAAOnQ,EAAMA,MAAMiS,OAMjE,QAARR,EAAuB,CAAEhZ,MAAOuf,EAAMhc,IAAK0V,MAAM,GACzC,UAARD,EAAyB,CAAEhZ,MAAOuf,EAAMvf,MAAOiZ,MAAM,GAClD,CAAEjZ,MAAO,CAACuf,EAAMhc,IAAKgc,EAAMvf,OAAQiZ,MAAM,IAN9C1R,EAAM4D,YAASlK,EACR,CAAEjB,WAAOiB,EAAWgY,MAAM,GAMzC,GAAO9H,EAAS,UAAY,UAAWA,GAAQ,GD5L9B,SAAUoM,GACzB,IAAIO,EAAcvc,EAAWgc,GACzBxe,EAAiB2H,GAAqBhH,EAEtCqG,GAAe+X,IAAgBA,EAAYhN,KAC7C/R,EAAe+e,EAAahN,GAAS,CACnC7Q,cAAc,EACdjB,IAAK,WAAc,OAAOR,IAAO,GAGvC,CCuLI+3B,CAAWhZ,EACZ,GCpMHD,GAAW,OAAO,SAAUyC,GAC1B,OAAO,WAAiB,OAAOA,EAAKvhB,KAAMc,UAAUoC,OAASpC,UAAU,QAAK2B,EAAW,CACzF,GAAG+0B,ICFH,IAAMQ,GAAwD,IAAIzvB,QAC5D0vB,GAAgCl0B,OAAO,oCAWhCm0B,GAAiB,CAC5BC,iBAAA,SAAiB32B,GACf,OACEw0B,GAAUC,YAAYz0B,IACrBA,EAAyB42B,uBAAuBnO,EAAEoO,aACT,mBAAlC72B,EAAyB82B,MACS,mBAAlC92B,EAAyB+2B,MACjC,wBAAyB/2B,CAE5B,EAEDg3B,QAAA,SAAQrL,GACN,OAAOA,EAAOiL,YAAYK,UAAUv1B,OAAS,CAC9C,EAEDw1B,QAAA,SAAQvL,GACN,OAAOA,EAAOiL,YAAYO,UAAUz1B,OAAS,CAC9C,EAED01B,SAAA,SAASzL,GACP,OAAOA,EAAOiL,YAAYS,eAAevwB,IAAI0tB,GAAUlB,OAAO3H,GAC/D,EAED2L,cAAA,SAAc3L,EAAwBrrB,GACpCk0B,GAAUa,WAAW1J,EAAQA,EAAO4L,oBAAqBj3B,EAC3D,GC5BF,IAAMk3B,GAGF,IAAIzwB,QAmBK0wB,GAAe,CAC1BC,eAAA,SAAe13B,GACb,OACEw0B,GAAUC,YAAYz0B,IACrBA,EAAuB23B,WAC2B,iBAA3C33B,EAAuB43B,iBACwB,iBAA/C53B,EAAuB63B,qBACuB,mBAA9C73B,EAAuB83B,oBACmB,mBAA1C93B,EAAuB+3B,cAElC,EAEDD,mBAAA,SACEnM,EACAgG,QAAA,IAAAA,IAAAA,EAAsBhG,EAAOqM,WAE7BrM,EAAOmM,mBAAmBnG,EAC3B,EAEDoG,eAAA,SACEpM,EACAlgB,GAEAkgB,EAAOoM,eAAetsB,EACvB,EAEDwsB,GAAA,SACEtM,EACAC,EACAsM,SAEA,GAAc,WAAVtM,GAICD,EAAL,CACA,IAAMwM,EAAqD,QAAzCpS,EAAAyR,GAA8Bx4B,IAAI2sB,UAAO,IAAA5F,EAAAA,EAAI,IAAIqS,IACnED,EAAUvY,IAAIsY,GACdV,GAA8B3wB,IAAI8kB,EAAQwM,EAH7B,CAId,EAEDE,IAAA,SACE1M,EACAC,EACA0M,GAEA,GAAc,WAAV1M,EAAJ,CAIA,IAAMuM,EAAYX,GAA8Bx4B,IAAI2sB,GAChDwM,GACFA,EAAU3Y,OAAO8Y,EAJlB,CAMF,EAEDC,YAAA,SACE5M,EACA6M,SAEA,GAAIA,IAAa7M,EAAOgM,UAAUc,WAAajE,GAAUU,UAAUvJ,GACjE,OAAO,KAGT,IAAMpkB,EAAQokB,EAAOgM,UAAUe,YAAY15B,IAAIw5B,GAC/C,OAAKjxB,EAIE,CACLoxB,kBAAoD,UAAjCpxB,EAAMokB,EAAOkM,4BAAoB,IAAA9R,EAAAA,EAAI,KACxDta,KAAMlE,EAAMokB,EAAOiM,iBACnBY,SAAQA,GAND,IAQV,EAEDI,aAAA,SACEjN,GAEA,OAAK6I,GAAUU,UAAUvJ,GAIlB7sB,OAAOklB,YACZpX,MAAMsQ,KAAKyO,EAAOgM,UAAUe,YAAY/f,WAAW,SAACoN,GAAA,IAAAa,EAAAZ,QAAC5hB,EAAEwiB,EAAA,GAAErf,EAAKqf,EAAA,GAE5D,OAAIxiB,IAAOunB,EAAOgM,UAAUc,UAAalxB,EAIlC,CACLnD,EACA,CACEu0B,kBAAmBpxB,EAAMokB,EAAOkM,qBAChCpsB,KAAMlE,EAAMokB,EAAOiM,mBAPd,IAUV,IAAE5lB,OAAOpF,MAAMD,UAjBT,EAmBX,qOAgBc,SACdgrB,EACA9uB,GAEA,YAFA,IAAAA,IAAAA,EAA6C,CAAA,GAEtC,SAA+B8iB,GAElC,IAAA5F,EAIEld,EAJiDgwB,iBAAjChB,OAAmB,IAAA9R,EAAG,YAAWA,EACnDa,EAGE/d,EAAO+uB,gBAHTA,OAAe,IAAAhR,EAAG,OAAMA,EACxBC,EAEEhe,EAAOiwB,SAFTA,OAAQ,IAAAjS,GAAOA,EACfpb,EACE5C,OACEkwB,EAAIpN,EAEVoN,EAAEpB,UAAYA,EACdoB,EAAEnB,gBAAkBA,EACpBmB,EAAElB,oBAAsBA,EAExBkB,EAAEhB,eAAiB,SAACiB,GAClBD,EAAEpB,UAAUsB,mBAAmBF,EAAEnB,gBAAiBoB,IAGpDD,EAAEjB,mBAAqB,SAAAnG,GACrB,IAAMuH,EAAaH,EAAEpB,UAAUwB,gBACzBC,EAAeF,eAAAA,EAAarB,GAElC,GAAKlG,EAAL,CAQM,IAAA5L,EAAoB2L,GAA0BqH,EAAE7N,WAAY6N,EAAGpH,GAA7D1B,WAAQ2B,UAGbwH,GACA3Q,EAAE4Q,yBAAyBpJ,EAAQmJ,IACnC3Q,EAAE4Q,yBAAyBzH,EAAOwH,IAEnCL,EAAEpB,UAAUsB,mBAAmBF,EAAElB,oBAAqB,CAAE5H,OAAMA,EAAE2B,MAAKA,GATtE,MALKwH,GACFL,EAAEpB,UAAUsB,mBAAmBF,EAAElB,oBAAqB,OAiB5D,IAAMyB,EAA2D,SAAAC,GAC/D,IAAMpB,EAAYX,GAA8Bx4B,IAAI+5B,GACpD,GAAKZ,EAAL,CAIA,IAAMqB,EAAUT,EAAEpB,UAAUc,SACtB7M,EAAQ,CACZ6N,MAAOF,EAAOE,MAAMznB,QAAO,SAAA5N,GAAM,OAAAA,IAAOo1B,CAAP,IACjCrD,QAASoD,EAAOpD,QAAQnkB,QAAO,SAAA5N,GAAM,OAAAA,IAAOo1B,CAAP,IACrCE,QAASH,EAAOG,QAAQ1nB,QAAO,SAAA5N,GAAM,OAAAA,IAAOo1B,OAG1C5N,EAAM6N,MAAM/3B,OAAS,GAAKkqB,EAAMuK,QAAQz0B,OAAS,GAAKkqB,EAAM8N,QAAQh4B,OAAS,IAC/Ey2B,EAAUrmB,SAAQ,SAAAwmB,GAAY,OAAAA,EAAS1M,EAAT,GAV/B,GAcKmJ,EAAwBgE,EAAChE,QAAhBC,EAAe+D,EAAC/D,WAwCjC,OAvCA+D,EAAEhE,QAAU,WAWV,GAVAA,IAEAgE,EAAEpB,UAAUM,GAAG,SAAUqB,GAEzBA,EAAwB,CACtBnD,QAAS,GACTsD,MAAO7sB,MAAMsQ,KAAK6b,EAAEpB,UAAUe,YAAYxxB,QAC1CwyB,QAAS,KAGPZ,EAAU,CACRrtB,GACFgsB,GAAaM,eAAegB,EAAGttB,GAGzB,IAAAkuB,EAAaZ,EAACa,SACtBb,EAAEa,SAAW,WACXD,IAEInF,GAAUU,UAAU6D,IACtBtB,GAAaK,mBAAmBiB,GAGrC,GAGHA,EAAE/D,WAAa,WACb+D,EAAEpB,UAAUU,IAAI,SAAUiB,GAE1BA,EAAwB,CACtBnD,QAASvpB,MAAMsQ,KAAK6b,EAAEpB,UAAUe,YAAYxxB,QAC5CuyB,MAAO,GACPC,QAAS,KAGX1E,KAGK+D,EAEX,iBD9MM,SAAuBlwB,GAC3B,YAD2B,IAAAA,IAAAA,EAAiC,CAAA,GACrD,SAA+B8iB,GACpC,IAAMoN,EAAIpN,EAIR5F,EAGEld,EAHiD0uB,oBAAnDA,OAAsB,IAAAxR,EAAA0Q,GAA6B1Q,EACnDa,EAEE/d,EAFuCwuB,eAAzCA,OAAiB,IAAAzQ,EAAA,IAAIwR,IAAI,CAACW,EAAE3D,cAAaxO,EACtCiT,EACDtR,GAAA1f,EAJE,CAAA,sBAAA,mBAMA+tB,EAAc,IAAInO,EAAEoO,YAAYkC,EAAE7N,eACtCmM,eAAcA,GACXwC,IAGLd,EAAEnC,YAAcA,EAChBmC,EAAExB,oBAAsBA,EAEhB,IAAAqC,EAA4Bb,EAACa,SAAnB9E,EAAkBiE,EAACjE,cACrCiE,EAAEa,SAAW,WACXA,IAEApD,GAAe3vB,IAAIkyB,EAAGA,EAAEf,WAAatG,GAA0BqH,EAAE7N,WAAY6N,EAAGA,EAAEf,aAGpFe,EAAEjE,cAAgB,SAAAxB,GAAU,OAAAA,IAAWyF,EAAExB,qBAAuBzC,EAAcxB,IAE9E,IAAMwG,EAAuB,SAAC/T,GAC5B,IAAAgU,EAAShU,EAAAgU,UAKTA,EAAUhf,KAAKlU,IACb,YACAkyB,EAAEf,WAAatG,GAA0BqH,EAAE7N,WAAY6N,EAAGA,EAAEf,YAE9D+B,EAAUhf,KAAKlU,IAAI,kBAAmB2vB,GAAex3B,IAAI+5B,KAGrDiB,EAAyB,SAACjU,GACrBA,EAAAgU,UAKChf,KAAKlU,IACb,YACAkyB,EAAEf,WAAatG,GAA0BqH,EAAE7N,WAAY6N,EAAGA,EAAEf,aAI1DiC,EAAwB,SAAClU,OAC7BgU,EAAShU,EAAAgU,UAOHG,EAAwB,SAN1BnU,EAAA7d,KAMmC6wB,EAAEnC,YAAYO,UAAY4B,EAAEnC,YAAYK,UACzEkD,EAAcD,EAAaA,EAAax4B,OAAS,GACnDy4B,IACFA,EAAYpf,KAAKlU,IAAI,YAAakzB,EAAUhf,KAAK/b,IAAI,oBACrDm7B,EAAYpf,KAAKlU,IAAI,kBAAmBkzB,EAAUhf,KAAK/b,IAAI,eAG7D,IAAM25B,EAAoBoB,EAAUhf,KAAK/b,IAAI,mBAE7C,GAAK25B,EAAL,CAIA,IAAMX,EAAYnG,GAA0BkH,EAAE7N,WAAY6N,EAAGJ,GAExDX,GAILoC,EAAAA,WAAWC,OAAOtB,EAAGf,EARpB,GAWKjD,EAAwBgE,EAAChE,QAAhBC,EAAe+D,EAAC/D,WA+BjC,OA9BA+D,EAAEhE,QAAU,WACVA,IAEAgE,EAAEnC,YAAYqB,GAAG,mBAAoB6B,GACrCf,EAAEnC,YAAYqB,GAAG,oBAAqBgC,GACtClB,EAAEnC,YAAYqB,GAAG,qBAAsB+B,IAGzCjB,EAAE/D,WAAa,WACb+D,EAAEnC,YAAYyB,IAAI,mBAAoByB,GACtCf,EAAEnC,YAAYyB,IAAI,oBAAqB4B,GACvClB,EAAEnC,YAAYyB,IAAI,qBAAsB2B,GAExChF,KAGF+D,EAAEjC,KAAO,WACHtC,GAAUU,UAAU6D,KACtBvE,GAAUK,kBAAkBkE,GAC5BA,EAAEnC,YAAYE,SAIlBiC,EAAEhC,KAAO,WACHvC,GAAUU,UAAU6D,KACtBvE,GAAUK,kBAAkBkE,GAC5BA,EAAEnC,YAAYG,SAIXgC,EAEX,YJjBgB,SAAQ7N,EAAuBriB,GAC7C,YAD6C,IAAAA,IAAAA,EAA4B,CAAA,GAClE,SAA4B8iB,WAC3BoN,EAAIpN,EAEVoN,EAAE7N,WAAaA,EAEf6N,EAAE3D,YAAqC,QAAvBrP,EAAAld,EAAQusB,mBAAe,IAAArP,EAAAA,EAAAmO,GACvC6E,EAAEvD,sBAAyD,QAAjC5O,EAAA/d,EAAQ2sB,6BAAyB,IAAA5O,EAAAA,EAAAuN,GAE3D4E,EAAEpE,kBAAoB,SAACjH,EAAQ4F,GAC7BkB,GAAUK,kBAAkBkE,GAE5BpL,SAAOC,mBAAmBmL,GAAG,WAC3BvE,GAAUa,WAAW0D,EAAGzF,GAAQ,WAC9B7F,GAAesL,EAAE7N,WAAY6N,EAAGrL,EAClC,GACF,KAGFqL,EAAEjE,cAAgB,SAAAxB,GAAU,OAAAA,IAAWyF,EAAE3D,aAEzC,IAAMkF,EAAgB,SAAC5M,EAA+B6M,GAChDxB,EAAEjE,cAAcyF,EAAYjH,SAIhCkB,GAAUG,kBAAkBoE,EAAGrL,EAAQ6M,EAAYjH,SAGjDkH,EAA6D,KAC7D3xB,EAAQ4xB,cACVD,EAAuBE,YAAW,WAChCF,EAAuB,KACvBhG,GAAUO,QAAQgE,EACpB,KAGFA,EAAEhE,QAAU,WACV,GAAIP,GAAUU,UAAU6D,GACtB,MAAM,IAAInP,MAAM,qBAGlBmP,EAAE7N,WAAWyP,YAAYL,GACzB,IAAMtsB,EAAU+Z,GAAoBgR,EAAE7N,YACtC6N,EAAE/Q,SAAWha,EAAQga,SACrBsM,GAAU1U,IAAImZ,GAEdpL,EAAMA,OAACjiB,UAAUigB,EAAQ,CAAEiP,OAAO,IAC7BjP,EAAOkP,WAAWn5B,QACrBiqB,EAAOiO,YAIXb,EAAE/D,WAAa,WACTwF,GACFM,aAAaN,GAGfhG,GAAUK,kBAAkBkE,GAC5BA,EAAE7N,WAAW6P,cAAcT,GAC3BhG,GAAU9U,OAAOuZ,IAGnBA,EAAEnE,iBAAmB,SAAA7G,GACnBsG,GAAcxtB,IAAIkyB,EAACzM,GAAAA,GAAA,GAAAtG,GACdwO,GAAUS,aAAa8D,KAAE,CAC5B,CAAEhL,GAAEA,EAAEgC,IAAKpE,EAAO3D,SAAUsL,OAAQkB,GAAUlB,OAAOyF,QAIzDA,EAAElE,kBAAoB,WACpBhF,GAAyBkJ,EAAE7N,YAC3B,IAAM+J,EAAeT,GAAUS,aAAa8D,GAC5C1E,GAAc7U,OAAOuZ,GAErB,IAAMiC,EAA4B,GAClC/F,EAAanjB,SAAQ,SAAAya,GACnB,IAAM0O,EAAeD,EAASA,EAASt5B,OAAS,GAChD,GAAIu5B,GAAgBA,EAAa,GAAG3H,SAAW/G,EAAO+G,OACpD,OAAO2H,EAAap3B,KAAK0oB,GAG3ByO,EAASn3B,KAAK,CAAC0oB,GACjB,IAEAyO,EAASlpB,SAAQ,SAAAopB,GACfrL,GAAyBkJ,EAAE7N,YAE3B6N,EAAE7N,WAAW6E,IAAI0F,UAAS,WACxByF,EAAQppB,SAAQ,SAAAya,GACdsD,GAAyBkJ,EAAE7N,qBH/NVA,EAAuBvB,EAAiBoE,GACnE,IAAM1uB,EAAQy0B,GAAU/F,EAAG7lB,MAC3B,IAAK7I,EACH,MAAM,IAAIuqB,MAAM,sBAAsBmE,EAAG7lB,MAG3C7I,EAAM6rB,EAAYvB,EAAWoE,EAC/B,CGyNYoN,CAAapC,EAAE7N,WAAY,CAAElD,SAAUuE,EAAOwD,KAAOxD,EAAOwB,GAC9D,GACD,GAAEmN,EAAQ,GAAG5H,OAChB,KAGM,IAAAj0B,EAAoB05B,EAAC15B,MAAdu6B,EAAab,EAACa,SAiB7B,OAhBAb,EAAE15B,MAAQ,SAAA0uB,GACJyG,GAAUU,UAAU6D,IAAMvE,GAAUW,QAAQ4D,IAC9CvE,GAAUI,iBAAiBmE,EAAGhL,GAGhC1uB,EAAM0uB,IAGRgL,EAAEa,SAAW,WACPpF,GAAUU,UAAU6D,IACtBvE,GAAUK,kBAAkBkE,GAG9Ba,KAGKb,EAEX"}